diff --git a/sources2010m_7_1/LICENCE b/sources2010m_7_1/LICENCE
new file mode 100644
index 0000000000000000000000000000000000000000..0e5d105a724ee12923254ddfcb29e543f2f54ead
--- /dev/null
+++ b/sources2010m_7_1/LICENCE
@@ -0,0 +1,550 @@
+
+  CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL
+
+Version 2.1 du 2013-06-21
+
+
+    Avertissement
+
+Ce contrat est une licence de logiciel libre issue d'une concertation
+entre ses auteurs afin que le respect de deux grands principes préside à
+sa rédaction:
+
+  * d'une part, le respect des principes de diffusion des logiciels
+    libres: accès au code source, droits étendus conférés aux utilisateurs,
+  * d'autre part, la désignation d'un droit applicable, le droit
+    français, auquel elle est conforme, tant au regard du droit de la
+    responsabilité civile que du droit de la propriété intellectuelle et
+    de la protection qu'il offre aux auteurs et titulaires des droits
+    patrimoniaux sur un logiciel.
+
+Les auteurs de la licence CeCILL (Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre])
+sont:
+
+Commissariat à l'énergie atomique et aux énergies alternatives - CEA,
+établissement public de recherche à caractère scientifique, technique et
+industriel, dont le siège est situé 25 rue Leblanc, immeuble Le Ponant
+D, 75015 Paris.
+
+Centre National de la Recherche Scientifique - CNRS, établissement
+public à caractère scientifique et technologique, dont le siège est
+situé 3 rue Michel-Ange, 75794 Paris cedex 16.
+
+Institut National de Recherche en Informatique et en Automatique -
+Inria, établissement public à caractère scientifique et technologique,
+dont le siège est situé Domaine de Voluceau, Rocquencourt, BP 105, 78153
+Le Chesnay cedex.
+
+
+    Préambule
+
+Ce contrat est une licence de logiciel libre dont l'objectif est de
+conférer aux utilisateurs la liberté de modification et de
+redistribution du logiciel régi par cette licence dans le cadre d'un
+modèle de diffusion en logiciel libre.
+
+L'exercice de ces libertés est assorti de certains devoirs à la charge
+des utilisateurs afin de préserver ce statut au cours des
+redistributions ultérieures.
+
+L'accessibilité au code source et les droits de copie, de modification
+et de redistribution qui en découlent ont pour contrepartie de n'offrir
+aux utilisateurs qu'une garantie limitée et de ne faire peser sur
+l'auteur du logiciel, le titulaire des droits patrimoniaux et les
+concédants successifs qu'une responsabilité restreinte.
+
+A cet égard l'attention de l'utilisateur est attirée sur les risques
+associés au chargement, à l'utilisation, à la modification et/ou au
+développement et à la reproduction du logiciel par l'utilisateur étant
+donné sa spécificité de logiciel libre, qui peut le rendre complexe à
+manipuler et qui le réserve donc à des développeurs ou des
+professionnels avertis possédant des connaissances informatiques
+approfondies. Les utilisateurs sont donc invités à charger et tester
+l'adéquation du logiciel à leurs besoins dans des conditions permettant
+d'assurer la sécurité de leurs systèmes et/ou de leurs données et, plus
+généralement, à l'utiliser et l'exploiter dans les mêmes conditions de
+sécurité. Ce contrat peut être reproduit et diffusé librement, sous
+réserve de le conserver en l'état, sans ajout ni suppression de clauses.
+
+Ce contrat est susceptible de s'appliquer à tout logiciel dont le
+titulaire des droits patrimoniaux décide de soumettre l'exploitation aux
+dispositions qu'il contient.
+
+Une liste de questions fréquemment posées se trouve sur le site web
+officiel de la famille des licences CeCILL 
+(http://www.cecill.info/index.fr.html) pour toute clarification qui
+serait nécessaire.
+
+
+    Article 1 - DEFINITIONS
+
+Dans ce contrat, les termes suivants, lorsqu'ils seront écrits avec une
+lettre capitale, auront la signification suivante:
+
+Contrat: désigne le présent contrat de licence, ses éventuelles versions
+postérieures et annexes.
+
+Logiciel: désigne le logiciel sous sa forme de Code Objet et/ou de Code
+Source et le cas échéant sa documentation, dans leur état au moment de
+l'acceptation du Contrat par le Licencié.
+
+Logiciel Initial: désigne le Logiciel sous sa forme de Code Source et
+éventuellement de Code Objet et le cas échéant sa documentation, dans
+leur état au moment de leur première diffusion sous les termes du Contrat.
+
+Logiciel Modifié: désigne le Logiciel modifié par au moins une
+Contribution.
+
+Code Source: désigne l'ensemble des instructions et des lignes de
+programme du Logiciel et auquel l'accès est nécessaire en vue de
+modifier le Logiciel.
+
+Code Objet: désigne les fichiers binaires issus de la compilation du
+Code Source.
+
+Titulaire: désigne le ou les détenteurs des droits patrimoniaux d'auteur
+sur le Logiciel Initial.
+
+Licencié: désigne le ou les utilisateurs du Logiciel ayant accepté le
+Contrat.
+
+Contributeur: désigne le Licencié auteur d'au moins une Contribution.
+
+Concédant: désigne le Titulaire ou toute personne physique ou morale
+distribuant le Logiciel sous le Contrat.
+
+Contribution: désigne l'ensemble des modifications, corrections,
+traductions, adaptations et/ou nouvelles fonctionnalités intégrées dans
+le Logiciel par tout Contributeur, ainsi que tout Module Interne.
+
+Module: désigne un ensemble de fichiers sources y compris leur
+documentation qui permet de réaliser des fonctionnalités ou services
+supplémentaires à ceux fournis par le Logiciel.
+
+Module Externe: désigne tout Module, non dérivé du Logiciel, tel que ce
+Module et le Logiciel s'exécutent dans des espaces d'adressage
+différents, l'un appelant l'autre au moment de leur exécution.
+
+Module Interne: désigne tout Module lié au Logiciel de telle sorte
+qu'ils s'exécutent dans le même espace d'adressage.
+
+GNU GPL: désigne la GNU General Public License dans sa version 2 ou
+toute version ultérieure, telle que publiée par Free Software Foundation
+Inc.
+
+GNU Affero GPL: désigne la GNU Affero General Public License dans sa
+version 3 ou toute version ultérieure, telle que publiée par Free
+Software Foundation Inc.
+
+EUPL: désigne la Licence Publique de l'Union européenne dans sa version
+1.1 ou toute version ultérieure, telle que publiée par la Commission
+Européenne.
+
+Parties: désigne collectivement le Licencié et le Concédant.
+
+Ces termes s'entendent au singulier comme au pluriel.
+
+
+    Article 2 - OBJET
+
+Le Contrat a pour objet la concession par le Concédant au Licencié d'une
+licence non exclusive, cessible et mondiale du Logiciel telle que
+définie ci-après à l'article 5 <#etendue> pour toute la durée de
+protection des droits portant sur ce Logiciel.
+
+
+    Article 3 - ACCEPTATION
+
+3.1 L'acceptation par le Licencié des termes du Contrat est réputée
+acquise du fait du premier des faits suivants:
+
+  * (i) le chargement du Logiciel par tout moyen notamment par
+    téléchargement à partir d'un serveur distant ou par chargement à
+    partir d'un support physique;
+  * (ii) le premier exercice par le Licencié de l'un quelconque des
+    droits concédés par le Contrat.
+
+3.2 Un exemplaire du Contrat, contenant notamment un avertissement
+relatif aux spécificités du Logiciel, à la restriction de garantie et à
+la limitation à un usage par des utilisateurs expérimentés a été mis à
+disposition du Licencié préalablement à son acceptation telle que
+définie à l'article 3.1 <#acceptation-acquise> ci dessus et le Licencié
+reconnaît en avoir pris connaissance.
+
+
+    Article 4 - ENTREE EN VIGUEUR ET DUREE
+
+
+      4.1 ENTREE EN VIGUEUR
+
+Le Contrat entre en vigueur à la date de son acceptation par le Licencié
+telle que définie en 3.1 <#acceptation-acquise>.
+
+
+      4.2 DUREE
+
+Le Contrat produira ses effets pendant toute la durée légale de
+protection des droits patrimoniaux portant sur le Logiciel.
+
+
+    Article 5 - ETENDUE DES DROITS CONCEDES
+
+Le Concédant concède au Licencié, qui accepte, les droits suivants sur
+le Logiciel pour toutes destinations et pour la durée du Contrat dans
+les conditions ci-après détaillées.
+
+Par ailleurs, si le Concédant détient ou venait à détenir un ou
+plusieurs brevets d'invention protégeant tout ou partie des
+fonctionnalités du Logiciel ou de ses composants, il s'engage à ne pas
+opposer les éventuels droits conférés par ces brevets aux Licenciés
+successifs qui utiliseraient, exploiteraient ou modifieraient le
+Logiciel. En cas de cession de ces brevets, le Concédant s'engage à
+faire reprendre les obligations du présent alinéa aux cessionnaires.
+
+
+      5.1 DROIT D'UTILISATION
+
+Le Licencié est autorisé à utiliser le Logiciel, sans restriction quant
+aux domaines d'application, étant ci-après précisé que cela comporte:
+
+ 1.
+
+    la reproduction permanente ou provisoire du Logiciel en tout ou
+    partie par tout moyen et sous toute forme.
+
+ 2.
+
+    le chargement, l'affichage, l'exécution, ou le stockage du Logiciel
+    sur tout support.
+
+ 3.
+
+    la possibilité d'en observer, d'en étudier, ou d'en tester le
+    fonctionnement afin de déterminer les idées et principes qui sont à
+    la base de n'importe quel élément de ce Logiciel; et ceci, lorsque
+    le Licencié effectue toute opération de chargement, d'affichage,
+    d'exécution, de transmission ou de stockage du Logiciel qu'il est en
+    droit d'effectuer en vertu du Contrat.
+
+
+      5.2 DROIT D'APPORTER DES CONTRIBUTIONS
+
+Le droit d'apporter des Contributions comporte le droit de traduire,
+d'adapter, d'arranger ou d'apporter toute autre modification au Logiciel
+et le droit de reproduire le logiciel en résultant.
+
+Le Licencié est autorisé à apporter toute Contribution au Logiciel sous
+réserve de mentionner, de façon explicite, son nom en tant qu'auteur de
+cette Contribution et la date de création de celle-ci.
+
+
+      5.3 DROIT DE DISTRIBUTION
+
+Le droit de distribution comporte notamment le droit de diffuser, de
+transmettre et de communiquer le Logiciel au public sur tout support et
+par tout moyen ainsi que le droit de mettre sur le marché à titre
+onéreux ou gratuit, un ou des exemplaires du Logiciel par tout procédé.
+
+Le Licencié est autorisé à distribuer des copies du Logiciel, modifié ou
+non, à des tiers dans les conditions ci-après détaillées.
+
+
+        5.3.1 DISTRIBUTION DU LOGICIEL SANS MODIFICATION
+
+Le Licencié est autorisé à distribuer des copies conformes du Logiciel,
+sous forme de Code Source ou de Code Objet, à condition que cette
+distribution respecte les dispositions du Contrat dans leur totalité et
+soit accompagnée:
+
+ 1.
+
+    d'un exemplaire du Contrat,
+
+ 2.
+
+    d'un avertissement relatif à la restriction de garantie et de
+    responsabilité du Concédant telle que prévue aux articles 8
+    <#responsabilite> et 9 <#garantie>,
+
+et que, dans le cas où seul le Code Objet du Logiciel est redistribué,
+le Licencié permette un accès effectif au Code Source complet du
+Logiciel pour une durée d'au moins 3 ans à compter de la distribution du
+logiciel, étant entendu que le coût additionnel d'acquisition du Code
+Source ne devra pas excéder le simple coût de transfert des données.
+
+
+        5.3.2 DISTRIBUTION DU LOGICIEL MODIFIE
+
+Lorsque le Licencié apporte une Contribution au Logiciel, les conditions
+de distribution du Logiciel Modifié en résultant sont alors soumises à
+l'intégralité des dispositions du Contrat.
+
+Le Licencié est autorisé à distribuer le Logiciel Modifié, sous forme de
+code source ou de code objet, à condition que cette distribution
+respecte les dispositions du Contrat dans leur totalité et soit
+accompagnée:
+
+ 1.
+
+    d'un exemplaire du Contrat,
+
+ 2.
+
+    d'un avertissement relatif à la restriction de garantie et de
+    responsabilité du Concédant telle que prévue aux articles 8
+    <#responsabilite> et 9 <#garantie>,
+
+et, dans le cas où seul le code objet du Logiciel Modifié est redistribué,
+
+ 3.
+
+    d'une note précisant les conditions d'accès effectif au code source
+    complet du Logiciel Modifié, pendant une période d'au moins 3 ans à
+    compter de la distribution du Logiciel Modifié, étant entendu que le
+    coût additionnel d'acquisition du code source ne devra pas excéder
+    le simple coût de transfert des données.
+
+
+        5.3.3 DISTRIBUTION DES MODULES EXTERNES
+
+Lorsque le Licencié a développé un Module Externe les conditions du
+Contrat ne s'appliquent pas à ce Module Externe, qui peut être distribué
+sous un contrat de licence différent.
+
+
+        5.3.4 COMPATIBILITE AVEC D'AUTRES LICENCES
+
+Le Licencié peut inclure un code soumis aux dispositions d'une des
+versions de la licence GNU GPL, GNU Affero GPL et/ou EUPL dans le
+Logiciel modifié ou non et distribuer l'ensemble sous les conditions de
+la même version de la licence GNU GPL, GNU Affero GPL et/ou EUPL.
+
+Le Licencié peut inclure le Logiciel modifié ou non dans un code soumis
+aux dispositions d'une des versions de la licence GNU GPL, GNU Affero
+GPL et/ou EUPL et distribuer l'ensemble sous les conditions de la même
+version de la licence GNU GPL, GNU Affero GPL et/ou EUPL.
+
+
+    Article 6 - PROPRIETE INTELLECTUELLE
+
+
+      6.1 SUR LE LOGICIEL INITIAL
+
+Le Titulaire est détenteur des droits patrimoniaux sur le Logiciel
+Initial. Toute utilisation du Logiciel Initial est soumise au respect
+des conditions dans lesquelles le Titulaire a choisi de diffuser son
+oeuvre et nul autre n'a la faculté de modifier les conditions de
+diffusion de ce Logiciel Initial.
+
+Le Titulaire s'engage à ce que le Logiciel Initial reste au moins régi
+par le Contrat et ce, pour la durée visée à l'article 4.2 <#duree>.
+
+
+      6.2 SUR LES CONTRIBUTIONS
+
+Le Licencié qui a développé une Contribution est titulaire sur celle-ci
+des droits de propriété intellectuelle dans les conditions définies par
+la législation applicable.
+
+
+      6.3 SUR LES MODULES EXTERNES
+
+Le Licencié qui a développé un Module Externe est titulaire sur celui-ci
+des droits de propriété intellectuelle dans les conditions définies par
+la législation applicable et reste libre du choix du contrat régissant
+sa diffusion.
+
+
+      6.4 DISPOSITIONS COMMUNES
+
+Le Licencié s'engage expressément:
+
+ 1.
+
+    à ne pas supprimer ou modifier de quelque manière que ce soit les
+    mentions de propriété intellectuelle apposées sur le Logiciel;
+
+ 2.
+
+    à reproduire à l'identique lesdites mentions de propriété
+    intellectuelle sur les copies du Logiciel modifié ou non.
+
+Le Licencié s'engage à ne pas porter atteinte, directement ou
+indirectement, aux droits de propriété intellectuelle du Titulaire et/ou
+des Contributeurs sur le Logiciel et à prendre, le cas échéant, à
+l'égard de son personnel toutes les mesures nécessaires pour assurer le
+respect des dits droits de propriété intellectuelle du Titulaire et/ou
+des Contributeurs.
+
+
+    Article 7 - SERVICES ASSOCIES
+
+7.1 Le Contrat n'oblige en aucun cas le Concédant à la réalisation de
+prestations d'assistance technique ou de maintenance du Logiciel.
+
+Cependant le Concédant reste libre de proposer ce type de services. Les
+termes et conditions d'une telle assistance technique et/ou d'une telle
+maintenance seront alors déterminés dans un acte séparé. Ces actes de
+maintenance et/ou assistance technique n'engageront que la seule
+responsabilité du Concédant qui les propose.
+
+7.2 De même, tout Concédant est libre de proposer, sous sa seule
+responsabilité, à ses licenciés une garantie, qui n'engagera que lui,
+lors de la redistribution du Logiciel et/ou du Logiciel Modifié et ce,
+dans les conditions qu'il souhaite. Cette garantie et les modalités
+financières de son application feront l'objet d'un acte séparé entre le
+Concédant et le Licencié.
+
+
+    Article 8 - RESPONSABILITE
+
+8.1 Sous réserve des dispositions de l'article 8.2
+<#limite-responsabilite>, le Licencié a la faculté, sous réserve de
+prouver la faute du Concédant concerné, de solliciter la réparation du
+préjudice direct qu'il subirait du fait du Logiciel et dont il apportera
+la preuve.
+
+8.2 La responsabilité du Concédant est limitée aux engagements pris en
+application du Contrat et ne saurait être engagée en raison notamment:
+(i) des dommages dus à l'inexécution, totale ou partielle, de ses
+obligations par le Licencié, (ii) des dommages directs ou indirects
+découlant de l'utilisation ou des performances du Logiciel subis par le
+Licencié et (iii) plus généralement d'un quelconque dommage indirect. En
+particulier, les Parties conviennent expressément que tout préjudice
+financier ou commercial (par exemple perte de données, perte de
+bénéfices, perte d'exploitation, perte de clientèle ou de commandes,
+manque à gagner, trouble commercial quelconque) ou toute action dirigée
+contre le Licencié par un tiers, constitue un dommage indirect et
+n'ouvre pas droit à réparation par le Concédant.
+
+
+    Article 9 - GARANTIE
+
+9.1 Le Licencié reconnaît que l'état actuel des connaissances
+scientifiques et techniques au moment de la mise en circulation du
+Logiciel ne permet pas d'en tester et d'en vérifier toutes les
+utilisations ni de détecter l'existence d'éventuels défauts. L'attention
+du Licencié a été attirée sur ce point sur les risques associés au
+chargement, à l'utilisation, la modification et/ou au développement et à
+la reproduction du Logiciel qui sont réservés à des utilisateurs avertis.
+
+Il relève de la responsabilité du Licencié de contrôler, par tous
+moyens, l'adéquation du produit à ses besoins, son bon fonctionnement et
+de s'assurer qu'il ne causera pas de dommages aux personnes et aux biens.
+
+9.2 Le Concédant déclare de bonne foi être en droit de concéder
+l'ensemble des droits attachés au Logiciel (comprenant notamment les
+droits visés à l'article 5 <#etendue>).
+
+9.3 Le Licencié reconnaît que le Logiciel est fourni "en l'état" par le
+Concédant sans autre garantie, expresse ou tacite, que celle prévue à
+l'article 9.2 <#bonne-foi> et notamment sans aucune garantie sur sa
+valeur commerciale, son caractère sécurisé, innovant ou pertinent.
+
+En particulier, le Concédant ne garantit pas que le Logiciel est exempt
+d'erreur, qu'il fonctionnera sans interruption, qu'il sera compatible
+avec l'équipement du Licencié et sa configuration logicielle ni qu'il
+remplira les besoins du Licencié.
+
+9.4 Le Concédant ne garantit pas, de manière expresse ou tacite, que le
+Logiciel ne porte pas atteinte à un quelconque droit de propriété
+intellectuelle d'un tiers portant sur un brevet, un logiciel ou sur tout
+autre droit de propriété. Ainsi, le Concédant exclut toute garantie au
+profit du Licencié contre les actions en contrefaçon qui pourraient être
+diligentées au titre de l'utilisation, de la modification, et de la
+redistribution du Logiciel. Néanmoins, si de telles actions sont
+exercées contre le Licencié, le Concédant lui apportera son expertise
+technique et juridique pour sa défense. Cette expertise technique et
+juridique est déterminée au cas par cas entre le Concédant concerné et
+le Licencié dans le cadre d'un protocole d'accord. Le Concédant dégage
+toute responsabilité quant à l'utilisation de la dénomination du
+Logiciel par le Licencié. Aucune garantie n'est apportée quant à
+l'existence de droits antérieurs sur le nom du Logiciel et sur
+l'existence d'une marque.
+
+
+    Article 10 - RESILIATION
+
+10.1 En cas de manquement par le Licencié aux obligations mises à sa
+charge par le Contrat, le Concédant pourra résilier de plein droit le
+Contrat trente (30) jours après notification adressée au Licencié et
+restée sans effet.
+
+10.2 Le Licencié dont le Contrat est résilié n'est plus autorisé à
+utiliser, modifier ou distribuer le Logiciel. Cependant, toutes les
+licences qu'il aura concédées antérieurement à la résiliation du Contrat
+resteront valides sous réserve qu'elles aient été effectuées en
+conformité avec le Contrat.
+
+
+    Article 11 - DISPOSITIONS DIVERSES
+
+
+      11.1 CAUSE EXTERIEURE
+
+Aucune des Parties ne sera responsable d'un retard ou d'une défaillance
+d'exécution du Contrat qui serait dû à un cas de force majeure, un cas
+fortuit ou une cause extérieure, telle que, notamment, le mauvais
+fonctionnement ou les interruptions du réseau électrique ou de
+télécommunication, la paralysie du réseau liée à une attaque
+informatique, l'intervention des autorités gouvernementales, les
+catastrophes naturelles, les dégâts des eaux, les tremblements de terre,
+le feu, les explosions, les grèves et les conflits sociaux, l'état de
+guerre...
+
+11.2 Le fait, par l'une ou l'autre des Parties, d'omettre en une ou
+plusieurs occasions de se prévaloir d'une ou plusieurs dispositions du
+Contrat, ne pourra en aucun cas impliquer renonciation par la Partie
+intéressée à s'en prévaloir ultérieurement.
+
+11.3 Le Contrat annule et remplace toute convention antérieure, écrite
+ou orale, entre les Parties sur le même objet et constitue l'accord
+entier entre les Parties sur cet objet. Aucune addition ou modification
+aux termes du Contrat n'aura d'effet à l'égard des Parties à moins
+d'être faite par écrit et signée par leurs représentants dûment habilités.
+
+11.4 Dans l'hypothèse où une ou plusieurs des dispositions du Contrat
+s'avèrerait contraire à une loi ou à un texte applicable, existants ou
+futurs, cette loi ou ce texte prévaudrait, et les Parties feraient les
+amendements nécessaires pour se conformer à cette loi ou à ce texte.
+Toutes les autres dispositions resteront en vigueur. De même, la
+nullité, pour quelque raison que ce soit, d'une des dispositions du
+Contrat ne saurait entraîner la nullité de l'ensemble du Contrat.
+
+
+      11.5 LANGUE
+
+Le Contrat est rédigé en langue française et en langue anglaise, ces
+deux versions faisant également foi.
+
+
+    Article 12 - NOUVELLES VERSIONS DU CONTRAT
+
+12.1 Toute personne est autorisée à copier et distribuer des copies de
+ce Contrat.
+
+12.2 Afin d'en préserver la cohérence, le texte du Contrat est protégé
+et ne peut être modifié que par les auteurs de la licence, lesquels se
+réservent le droit de publier périodiquement des mises à jour ou de
+nouvelles versions du Contrat, qui posséderont chacune un numéro
+distinct. Ces versions ultérieures seront susceptibles de prendre en
+compte de nouvelles problématiques rencontrées par les logiciels libres.
+
+12.3 Tout Logiciel diffusé sous une version donnée du Contrat ne pourra
+faire l'objet d'une diffusion ultérieure que sous la même version du
+Contrat ou une version postérieure, sous réserve des dispositions de
+l'article 5.3.4 <#compatibilite>.
+
+
+    Article 13 - LOI APPLICABLE ET COMPETENCE TERRITORIALE
+
+13.1 Le Contrat est régi par la loi française. Les Parties conviennent
+de tenter de régler à l'amiable les différends ou litiges qui
+viendraient à se produire par suite ou à l'occasion du Contrat.
+
+13.2 A défaut d'accord amiable dans un délai de deux (2) mois à compter
+de leur survenance et sauf situation relevant d'une procédure d'urgence,
+les différends ou litiges seront portés par la Partie la plus diligente
+devant les Tribunaux compétents de Paris.
+
+
diff --git a/sources2010m_7_1/chap-1.m b/sources2010m_7_1/chap-1.m
new file mode 100644
index 0000000000000000000000000000000000000000..2ec08a132b452a17c9ebade03adce85633de5eae
--- /dev/null
+++ b/sources2010m_7_1/chap-1.m
@@ -0,0 +1,397 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+                                                                           #
+  ####   #    #    ##    #####      #     #####  #####   ######           ##
+ #    #  #    #   #  #   #    #     #       #    #    #  #               # #
+ #       ######  #    #  #    #     #       #    #    #  #####             #
+ #       #    #  ######  #####      #       #    #####   #                 #
+ #    #  #    #  #    #  #          #       #    #   #   #                 #
+  ####   #    #  #    #  #          #       #    #    #  ###### #######  #####
+ #
+ #
+ #
+ #
+ #
+ #                         CALCUL DU NET A PAYER
+ #
+ #
+ #
+ #
+ #
+ #
+regle 101:
+application : oceans , bareme  ;
+RC1 = positif( NAPI + 1 - SEUIL_REC_CP ) +0 ;
+regle 1010:
+application : pro, batch , iliad,oceans ;
+
+NAPT = ( NAPTOT - NAPTOTA - IRANT)* 
+      positif_ou_nul (NAPTOT - NAPTOTA - IRANT - SEUIL_REC_CP)
+      - IREST * positif(SEUIL_REMBCP-IREST)
+      + min (0,NAPTOT - NAPTOTA - IRANT);
+regle 10111:
+application : iliad ;
+RC1 = si ( NAPINI - V_ANTIR + RECUMBIS >= SEUIL_REC_CP )
+      alors (1)
+      sinon (0)
+      finsi;
+regle 10112:
+application : batch ;
+RC1 = si ( NAPINI - IRCUM_A + RECUMBIS >= SEUIL_REC_CP )
+      alors (1)
+      sinon (0)
+      finsi;
+regle 1013 :
+application : pro , oceans , iliad , batch  ;
+AME = AME2;
+PIRAME = PIR + AME;
+IAVIMBIS = IRB + PIR + AME ;
+IAVIMO = (max(0,max(ID11-ADO1,IMI)-RED) + ITP + REI + PIR + AME)
+                 * V_CR2;
+regle 1012:
+application : pro , bareme , oceans , iliad , batch  ;
+NAPI = ( IRD + PIRD + AMED - IRANT ) * (1 - INDTXMIN) * (1 - INDTXMOY)
+         + min(0, IRD + PIRD + AMED - IRANT ) * (INDTXMIN + INDTXMOY) 
+         + max(0, IRD + PIRD + AMED - IRANT ) * 
+                           (INDTXMIN * positif(IAVIMBIS-SEUIL_TXMIN)
+                          + INDTXMOY * positif(IAVIMO- SEUIL_TXMIN))
+       + TAXASSUR
+       + RASAR * V_CR2 ;
+regle 104114:
+application : pro , oceans, iliad , batch  ;
+INTMS = inf( MOISAN / 10000 );
+INTAN = (( MOISAN/10000 - INTMS )*10000)  * present(MOISAN) ;
+TXINT = (positif(2006-arr(INTAN))*max(0, (INTAN - (V_ANREV+1) )* 12 + INTMS - 6 ) * TXMOISRETARD 
+         + positif_ou_nul(V_ANREV-2006)*max(0, (INTAN - (V_ANREV+1) )* 12 + INTMS - 6 ) * TXMOISRETARD2 
+         + (1-positif(2006-arr(INTAN)))*(1-positif_ou_nul(V_ANREV-2006))
+	   * (((2006 - (V_ANREV+1))*12 - 6) * (TXMOISRETARD * positif(2006 - (V_ANREV+1)) + TXMOISRETARD2 * null(2006-(V_ANREV+1)))
+	      + ((INTAN - 2006)*12 + INTMS) * TXMOISRETARD2)
+          ) 
+            * present(MOISAN);
+COPETO = si (CMAJ = 7 ou CMAJ = 10 ou CMAJ = 17 ou CMAJ = 18)
+         alors (10)
+         sinon
+              ( si (CMAJ = 8 ou CMAJ = 11)
+                alors (40)
+                sinon (80)
+                finsi )
+         finsi;
+regle 1041140:
+application : pro , iliad , batch , oceans ;
+PTOIR = arr(BTO * COPETO / 100)                
+	 + arr(BTO * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr((BTOINR) * TXINT / 100) ;
+PTOPRS =( arr((PRS-PRSPROV) * COPETO / 100)                
+         + arr((PRS-PRSPROV) * TXINT / 100) )* (1 - V_CNR) ;
+PTOCSG =( arr((CSG-CSGIM) * COPETO / 100)                
+         + arr((CSG-CSGIM) * TXINT / 100) )* (1 - V_CNR) ;
+PTORDS =( arr((RDSN-CRDSIM) * COPETO / 100)                
+         + arr((RDSN-CRDSIM) * TXINT / 100) )* (1 - V_CNR) ;
+PTOTAXA= arr(max(0,TAXASSUR+min(0,IRN - IRANT)) * COPETO / 100)
+	 + arr(max(0,TAXASSUR+min(0,IRN - IRANT)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,TAXASSUR+min(0,IRN - IRANT)) * TXINT / 100) ;
+PTOCSAL =( arr((CSAL - CSALPROV) * COPETO / 100)                
+         + arr((CSAL - CSALPROV) * TXINT / 100) ) ;
+
+PTOCDIS = (arr(CDIS * COPETO / 100) + arr(CDISC * TXINT / 100)) * (1 - V_CNR) ;
+
+regle 1041141:
+application : pro , oceans , iliad , batch  ;
+BTO = max( 0 , IRN - IRANT )
+           * positif( IAMD1 + RPPEACO + 1 - SEUIL_PERCEP );
+BTOINR = max( 0 , IRN - ACODELAISINR - IRANT )
+           * positif( IAMD1 + RPPEACO + 1 - SEUIL_PERCEP );
+regle 1021:
+application : pro ,  bareme ;
+IRD = IRN ;
+regle 10210:
+application : pro ;
+PRSD = PRS ;
+CSGD = CSG ;
+RDSD = RDSN ;
+CSALD = CSAL ;
+CDISD = CDIS ;
+regle 10211:
+application : batch,  oceans, iliad ;
+IRD = IRN * (positif(5 - V_IND_TRAIT)
+              +
+              (1-positif(5-V_IND_TRAIT)) * (
+              positif_ou_nul(IRN+PIR+AME-SEUIL_REC_CP) 
+             + (1 - positif(IRN + PIR + AME))
+             ));
+regle 102112:
+application : oceans ;
+PIRD = positif_ou_nul(IRN+PIR+AME-SEUIL_REC_CP) * PIR -
+       PIR_A * ( positif_ou_nul(PIR_A+AME_A-SEUIL_REC_CP));
+PTAXAD = positif_ou_nul(IRN+PIR+AME+TAXANET+PTAXA-SEUIL_REC_CP) * PTAXA -
+       PTAXA_A * ( positif_ou_nul(PIR_A+AME_A+TAXANET+PTAXA-SEUIL_REC_CP));
+PPRSD = PPRS * CSREC ;
+PCSGD = PCSG* CSREC  ;
+PRDSD = PRDS * CSREC ;
+PCSALD = PCSAL * CSREC ;
+PCDISD = PCDIS * CSREC ;
+PTOTD = PIRD  ;
+regle 10212:
+application : batch;
+PRSD = PRS * CSREC ;
+CSGD = CSG * CSREC ;
+RDSD = RDSN * CSREC ;
+CSALD = CSAL * CSREC ;
+CDISD = CDIS * CSREC ;
+regle 10213:
+application : iliad ;
+PRSD = NAPPS - V_PSANT ;
+CSGD = NAPCS - V_CSANT ;
+RDSD = NAPRD - V_RDANT ;
+CSALD = NAPCSAL - V_CSALANT ;
+CDISD = NAPCDIS - V_CDISANT ;
+regle 102131:
+application : oceans ;
+PRSD =  PRS * CSREC ;
+
+CSGD =  CSG * CSREC ;
+RDSD =  RDSN * CSREC ;
+CSALD =  CSAL * CSREC ;
+CDISD =  CDIS * CSREC ;
+regle 102136:
+application : iliad , oceans;
+PRSD2 = PRS * CSREC;
+CSGD2 = CSG * CSREC;
+RDSD2 = RDSN * CSREC;
+CSALD2 = CSAL * CSREC;
+CDISD2 = CDIS * CSREC;
+regle 10214:
+application : pro, oceans , iliad ;
+CSNET = (CSGC + PCSG - CICSG - CSGIM) - V_CSANT ;
+RDNET = (RDSC + PRDS - CIRDS - CRDSIM) - V_RDANT ;
+PRSNET = (PRSC + PPRS - CIPRS - PRSPROV) - V_PSANT ;
+CSALNET = (CSALC + PCSAL - CSALPROV) - V_CSALANT ;
+CDISNET = (CDISC + PCDIS) - V_CDISANT ;
+regle 102141:
+application : batch ;
+CSNET = (CSGC + PCSG - CICSG - CSGIM) * (1 - positif(4-V_IND_TRAIT));
+RDNET = (RDSC + PRDS - CIRDS - CRDSIM) * (1 - positif(4-V_IND_TRAIT));
+PRSNET = (PRSC + PPRS - CIPRS - PRSPROV) * (1 - positif(4-V_IND_TRAIT));
+CSALNET = (CSALC + PCSAL - CSALPROV) * (1 - positif(4-V_IND_TRAIT));
+CDISNET = (CDISC + PCDIS) * (1 - positif(4-V_IND_TRAIT)) ;
+regle 1020:
+application : oceans, batch, iliad ;
+AMED = AME - AME_A ;
+regle 10201:
+application : batch, iliad ;
+IARD = IAR - IAR_A ;
+regle 10202:
+application : pro , bareme ;
+AMED = AME  ;
+regle 10203:
+application : pro ;
+IARD = IAR ;
+regle 1041:
+application :  iliad, batch ;
+PIRD = PIR * (positif(5 - V_IND_TRAIT)
+              +
+              (1-positif(5-V_IND_TRAIT)) * (
+              positif_ou_nul(IRN+PIR+AME-SEUIL_REC_CP) 
+              + 
+              (1-positif(IRN+PIR+AME)) 
+             ))
+    - 
+              PIR_A * ( positif_ou_nul(PIR_A+AME_A-SEUIL_REC_CP) 
+               + 
+              (1-positif(PIR_A+AME_A))  
+              );
+PPRSD = PPRS * CSREC - PPRS_A * CSRECA ;
+PCSGD = PCSG* CSREC - PCSG_A * CSRECA ;
+PRDSD = PRDS * CSREC - PRDS_A * CSRECA;
+PCSALD = PCSAL * CSREC - PCSAL_A * CSRECA;
+PTOTD = PIRD  ;
+regle 1044:
+application : pro ;
+PIRD = PIR ;
+PPRSD = PPRS ;
+PCSGD = PCSG ;
+PRDSD = PRDS ;
+PCSALD = PCSAL ;
+PTOTD = PTOT ;
+regle 1041133:
+application : pro , oceans , iliad , batch  ;
+PTP = BTP2 + BTP3A + BPVCESDOM * positif(V_EAG+V_EAD) + BTP3N + BTP3G + BPTP4 + BTP40+BTP18;
+regle 114:
+application : pro , oceans , iliad , batch  ;
+BPRS1 = (arr (RDRF + RDRV + RDRCM + RDNP + RDPTP + ESFP + R1649) * (1 - present(RE168)) + RE168) * (1-V_CNR);
+
+BPRS2 = REVSUIS * (1 - present(RE168)) * (1 - V_CNR) ;
+
+BPRS = BPRS1 + BPRS2 ;
+regle 113:
+application : pro  , oceans , iliad , batch  ;
+PRSC1 = arr( BPRS1 * T_PREL_SOC /100 ) * (1 - positif(ANNUL2042)) ;
+
+PRSC2 = arr( BPRS2 * T_PREL_SUI /100 ) * (1 - positif(ANNUL2042)) ;
+
+PRSC = (arr( BPRS1 * T_PREL_SOC /100 ) + arr( BPRS2 * T_PREL_SUI /100 )) 
+        * (1 - positif(ANNUL2042)) ;
+regle 103103 :
+application : pro , oceans , iliad , batch  ;
+PRS = PRSC - CIPRS;
+regle 1031 :
+application : pro , oceans , iliad , batch  ;
+
+CSGC1 = arr( BCSG1 * T_CSG / 100) * (1 - positif(ANNUL2042)) ;
+
+CSGC2 = arr( BCSG2 * T_CSG / 100) * (1 - positif(ANNUL2042)) ;
+
+CSGC = (arr( BCSG1 * T_CSG / 100) + arr( BCSG2 * T_CSG / 100)) * (1 - positif(ANNUL2042)) ;
+
+regle 103101 :
+application : pro , oceans , iliad , batch  ;
+CSG = CSGC - CICSG;
+regle 10311:
+application : pro , oceans , iliad , batch  ;
+RDRF = max(0 , RFCF + RFMIC - MICFR - RFDANT);
+RDRV = RVBCSG ;
+RDNP = 
+   RCSV  
+ + RCSC  
+ + RCSP
+   ;
+
+RDNCP = (BPCOSAC + BPCOSAV) * (1 - positif(IPVLOC)) ;
+
+RDPTP = BAF1AV + BAF1AC + BAF1AP
+       + BA1AV + BA1AC + BA1AP
+       + max(0,MIB1AV - MIBDEV) + max(0,MIB1AC - MIBDEC) + max(0,MIB1AP - MIBDEP)
+       + BI1AV + BI1AC + BI1AP
+       + max(0,MIBNP1AV - MIBNPDEV) + max(0,MIBNP1AC - MIBNPDEC) + max(0,MIBNP1AP - MIBNPDEP)
+       + BI2AV + BI2AC + BI2AP
+       + max(0,BNCPRO1AV - BNCPRODEV) + max(0,BNCPRO1AC - BNCPRODEC) + max(0,BNCPRO1AP - BNCPRODEP)
+       + BN1AV + BN1AC + BN1AP
+       + max(0,BNCNP1AV - BNCNPDEV) + max(0,BNCNP1AC - BNCNPDEC) + max(0,BNCNP1AP - BNCNPDEP)
+       + PVINVE + PVINCE + PVINPE
+       + CESSASSV + CESSASSC
+       + PVSOCV + PVSOCC
+       + PVSOCG
+       ;
+
+BCSG1 = (arr(RDRF + RDRV + RDRCM + RDNP + RDPTP + ESFP + R1649 + PREREV) * (1 - positif(present(RE168) + present(TAX1649))) + RE168 + TAX1649) * (1-V_CNR);
+
+BCSG2 = REVSUIS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BCSG = BCSG1 + BCSG2 ;
+regle 103111:
+application : pro , oceans , iliad , batch ;
+BDCSG = min (arr(RDRF+RDRV+RDRCM+RDNP+RDPTP+REVSUIS+ESFP) * (1-V_CNR), 
+              max( 0, arr (RDRF + RDRV + RDRCM + RDNP + REVSUIS
+                           - IPPNCS) ) * (1-V_CNR) )  * (1 - positif(present(RE168)+present(TAX1649)));
+regle 103112 :
+application : pro ;
+DCSGD = CSREC * (arr(BDCSG * T_IDCSG / 100) - DCSGIM);
+IDCSG = min ( CSG - CSGIM , 
+        (arr( BDCSG * T_IDCSG / 100 ) - DCSGIM) * positif(NAPCR) );
+regle 1031121 :
+application : batch ;
+IDCSG = si (V_IND_TRAIT = 4) 
+        alors ((arr(BDCSG * T_IDCSG / 100)-DCSGIM) * positif(NAPCR))
+        sinon (arr( BDCSG * T_IDCSG / 100)-DCSGIM)
+        finsi ;
+regle 1031122 :
+application : oceans ;
+IDCSG = si (CRDEG < SEUIL_REMBCP et NAPCR = 0)
+        alors (CSREC * IDCSG_A)
+        sinon (CSREC * (arr(BDCSG * T_IDCSG / 100)-DCSGIM + DCSGIM_A))
+        finsi ;
+regle 1031123 :
+application : iliad ;
+DCSGD =   positif(CSREC+V_IDANT)
+        * (arr(BDCSG * T_IDCSG / 100) - DCSGIM + DCSGIM_A);
+IDCSG = si (CRDEG = 0 et NAPCR = 0)
+        alors (0)
+        sinon (abs(DCSGD - V_IDANT ))
+        finsi ;
+regle 103113:
+application : pro , oceans, iliad , batch ;
+RDRCM = max( 0 , 
+		TRCMABD + DRTNC + RAVC + RCMNAB + RTCAR + RCMPRIVM
+		+ RCMIMPAT
+		- RCMSOC
+		- REVSUIS
+                  -  positif(RCMRDS)
+		       * min(RCMRDS ,  
+			 RCMABD 
+                       + RCMAV 
+                       + RCMHAD 
+                       + RCMHAB ))
+		       ;
+regle 10312 :
+application : pro , oceans , iliad , batch  ;
+BRDS1 = (arr ( RDRF + RDRV + RDRCM + RDNP + RDPTP + ESFP
+           + IPECO + R1649 + PREREV) * (1 - positif(present(RE168) + present(TAX1649))) + RE168 + TAX1649) * (1-V_CNR) ;
+
+BRDS2 = REVSUIS * (1 - positif(present(RE168)+present(TAX1649))) * (1-V_CNR) ;
+
+BRDS = BRDS1 + BRDS2 ;
+regle 10313 :
+application : pro  , oceans , iliad , batch  ;
+RDSC1 = arr( BRDS1 * T_RDS / 100 ) * (1 - positif(ANNUL2042));
+
+RDSC2 = arr( BRDS2 * T_RDS / 100 ) * (1 - positif(ANNUL2042));
+
+RDSC = (arr( BRDS1 * T_RDS / 100 ) + arr( BRDS2 * T_RDS / 100 )) * (1 - positif(ANNUL2042));
+regle 103102 :
+application : pro , oceans , iliad , batch  ;
+RDSN = RDSC - CIRDS;
+regle 117180:                                                             
+application : pro  , oceans, iliad , batch;                               
+                                                                          
+CSRTF = (RDPTP + PVINVE+PVINCE+PVINPE 
+         + somme(i=V,C,P:BN1Ai + BI1Ai                          
+         + BI2Ai + BA1Ai )) * (1 - positif(IPVLOC)); 
+RDRTF = CSRTF  ;                                                          
+PSRTF = CSRTF  ;                                                          
+regle 119:
+application : pro, iliad, batch, oceans;
+BASSURV3 = max(0,CESSASSV - LIM_ASSUR3);
+BASSURV2 = max(0,CESSASSV - BASSURV3 - LIM_ASSUR2);
+BASSURV1 = max(0,CESSASSV - BASSURV3 - BASSURV2 - LIM_ASSUR1);
+BASSURC3 = max(0,CESSASSC - LIM_ASSUR3);
+BASSURC2 = max(0,(CESSASSC -BASSURC3) - LIM_ASSUR2);
+BASSURC1 = max(0,(CESSASSC - BASSURC3 -BASSURC2) - LIM_ASSUR1);
+BASSURV = CESSASSV;
+BASSURC = CESSASSC;
+TAXASSURV = arr(BASSURV1 * TX_ASSUR1/100 + BASSURV2 * TX_ASSUR2/100 + BASSURV3 * TX_ASSUR3/100);
+TAXASSURC = arr(BASSURC1 * TX_ASSUR1/100 + BASSURC2 * TX_ASSUR2/100 + BASSURC3 * TX_ASSUR3/100);
+TAXASSUR = TAXASSURV + TAXASSURC;
+regle 1120 :
+application : pro , oceans , iliad , batch ;
+BCSAL = BPVOPTCS ;
+CSALC = arr( BCSAL * T_CSAL / 100 ) * (1 - positif(ANNUL2042));
+regle 1121 :
+application : pro , oceans , iliad , batch ;
+CSAL = CSALC ;
+regle 1125 :
+application : pro , oceans , iliad , batch ;
+
+BCDIS = (GSALV + GSALC) * (1 - V_CNR) ;
+
+CDISC = arr(BCDIS * TCDIS / 100) * (1 - positif(ANNUL2042)) ;
+
+CDIS = CDISC ;
diff --git a/sources2010m_7_1/chap-2.m b/sources2010m_7_1/chap-2.m
new file mode 100644
index 0000000000000000000000000000000000000000..fe6facc43657ef15dd7359384d88b707585f2b9a
--- /dev/null
+++ b/sources2010m_7_1/chap-2.m
@@ -0,0 +1,156 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #     CHAPITRE 2. CALCUL DU NET A PAYER
+ #
+ #
+ #
+regle 20100:
+application : batch , oceans, iliad ;
+NAPINI = ( IRN + PIR + AME - IRANT )* (1 - INDTXMIN) *(1 - INDTXMOY)
+       + min(0, IRN + PIR + AME - IRANT) * (INDTXMIN + INDTXMOY)
+       + max(0, IRN + PIR + AME - IRANT) * 
+                                (INDTXMIN*positif(IAVIMBIS-SEUIL_TXMIN )
+                               + INDTXMOY* positif(IAVIMO-SEUIL_TXMIN))
+                      + RASAR * V_CR2;
+RC1INI = positif( NAPINI + 1 - SEUIL_REC_CP ) ;
+regle 20101:
+application : batch, iliad , pro,oceans ;
+NAPTOT = IRCUM + TAXACUM - RECUM;
+regle 20102:
+application : batch ;
+NAPTOTA = IRCUM_A + TAXACUM_A - RECUM_A;
+regle 20103:
+application : iliad ,oceans;
+NAPTOTA = V_ANTIR + V_TAXANT - RECUMBIS ;
+TOTCRA = V_ANTCR ;
+regle 20104:
+application : oceans ;
+OCEDIMP = IRNIN + AME ;
+regle 20105:
+application : oceans , batch, iliad ;
+IRNIN = (IRN+RPPEACO -IRANT) * positif(IRN+RPPEACO-IRANT) ;
+regle 201051:
+application : oceans , batch, iliad;
+IRNIN_INR = (IRN - IRANT - ACODELAISINR) * positif(IRN - IRANT) ;
+CSBASE = (CSG - CSGIM);
+RDBASE = (RDSN - CRDSIM);
+PSBASE = (PRS - PRSPROV);
+CSALBASE = (CSAL - CSALPROV) ;
+CDISBASE = CDIS ;
+TAXABASE = arr(max(TAXASSUR + min(0,IRN - IRANT),0)) * positif(IAMD1 + 1 - SEUIL_PERCEP);
+IRNN = IRNIN;
+regle 20106:
+application : oceans, iliad;
+PIR = (
+       INCIR_NET
+       + NMAJ1 + NMAJ3 + NMAJ4 
+       + arr((BTOINR) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT)))
+       ;
+PPRS = (
+       INCPS_NET
+       + NMAJP1 + NMAJP4
+       + arr((PRS-PRSPROV) * TXINT / 100)* (1 - V_CNR)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PCSG = (
+       INCCS_NET
+       + NMAJC1 + NMAJC4
+         + arr((CSG-CSGIM) * TXINT / 100) * (1 - V_CNR)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PRDS = (
+       INCRD_NET
+       + NMAJR1 + NMAJR4
+         + arr((RDSN-CRDSIM) * TXINT / 100) * (1 - V_CNR)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PTAXA = (
+       INCTAXA_NET
+       + NMAJTAXA1 + NMAJTAXA3 + NMAJTAXA4
+         + arr(max(0,TAXASSUR+min(0,IRN - IRANT)) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PCSAL = (
+       INCCSAL_NET
+       + NMAJCSAL1 + NMAJCSAL4
+         + arr((CSAL - CSALPROV) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PCDIS = (
+       INCCDIS_NET
+       + NMAJCDIS1 + NMAJCDIS4
+         + arr(CDIS * TXINT / 100) * (1 - V_CNR)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+
+PDEG = max(0,PIR_A + PTAXA_A - PIR - PTAXA);
+regle 20107:
+application : pro,batch  ;
+PIR = PTOIR * positif_ou_nul(IAMD1 + RPPEACO - SEUIL_PERCEP) ;
+PPRS = PTOPRS ;
+PCSG = PTOCSG ;
+PRDS = PTORDS ;
+PTAXA = PTOTAXA ;
+PCSAL = PTOCSAL ;
+PCDIS = PTOCDIS ;
+regle 20109:
+application : pro , oceans , iliad , batch ;
+PTOT = PIR ;
+regle 20110:
+application : iliad ,oceans ;
+ILI_SYNT_TAXA = positif(RECUM) * 0
+		+ (1 - positif(RECUM)) * max(0, TAXACUM - PTAXA);
+NOTRAIT2 = inf(V_NOTRAIT/10)*10;
+NOTRAIT3 = V_NOTRAIT - NOTRAIT2;
+ILI_SYNT_IR = positif(RECUM) * (
+                     -1 * (RECUM + PIR + AME + PTAXA)*(1-positif(positif(SEUIL_REMBCP-(IDEGR-IREST)) * positif(SEUIL_REMBCP-RECUM) * null(NOTRAIT3 - 3)))
+                     + positif(SEUIL_REMBCP-(IDEGR-IREST)) * positif(SEUIL_REMBCP-RECUM) * null(NOTRAIT3 - 3) * (max(V_ANTIR - PIR_A - AME_A,0) - V_ANTRE) 
+                               )
+                     + (1 - positif(RECUM)) * (
+                     (IRCUM - PIR - AME + min(0,TAXACUM - PTAXA))* (1-positif( positif(SEUIL_REC_CP-abs(NAPT)) * null(NOTRAIT3 - 6)))
+                     + positif(SEUIL_REC_CP-abs(NAPT)) * null(NOTRAIT3 - 6) * (max(V_ANTIR - positif_ou_nul(IINET)*PIR_A - AME_A,0) - V_ANTRE) 
+                                              );
+regle 20111:
+application : oceans ;
+DEC_CGA_AGA = BAFV + BAFC + BAFP
+            + BAHREV - BAHDEV
+            + BAHREC - BAHDEC
+            + BAHREP - BAHDEP
+            + BIHNOV - BIHDNV 
+            + BIHNOC - BIHDNC 
+            + BIHNOP - BIHDNP 
+            + BICHREV - BICHDEV 
+            + BICHREC - BICHDEC 
+            + BICHREP - BICHDEP 
+            + BNHREV - BNHDEV
+            + BNHREC - BNHDEC
+            + BNHREP - BNHDEP
+            + ANOCEP - DNOCEP
+            + ANOVEP - DNOCEPC
+            + ANOPEP - DNOCEPP
+	    ;
+MAJ_CGA_AGA =  arr(SUPREV * (BAFV + BAFC + BAFP))
+	    + arr(SUPREV * max(0,BAHREV - BAHDEV))
+            + arr(SUPREV * max(0,BAHREC - BAHDEC))
+            + arr(SUPREV * max(0,BAHREP - BAHDEP))
+            + arr(SUPREV * max(0,BIHNOV - BIHDNV ))
+            + arr(SUPREV * max(0,BIHNOC - BIHDNC ))
+            + arr(SUPREV * max(0,BIHNOP - BIHDNP ))
+            + arr(SUPREV * max(0,BICHREV - BICHDEV ))
+            + arr(SUPREV * max(0,BICHREC - BICHDEC ))
+            + arr(SUPREV * max(0,BICHREP - BICHDEP ))
+            + arr(SUPREV * max(0,BNHREV - BNHDEV))
+            + arr(SUPREV * max(0,BNHREC - BNHDEC))
+            + arr(SUPREV * max(0,BNHREP - BNHDEP))
+            + arr(SUPREV * max(0,ANOCEP - DNOCEP))
+            + arr(SUPREV * max(0,ANOVEP - DNOCEPC))
+            + arr(SUPREV * max(0,ANOPEP - DNOCEPP))
+	    ;
+TOT_CGA_AGA = DEC_CGA_AGA + MAJ_CGA_AGA;
diff --git a/sources2010m_7_1/chap-3.m b/sources2010m_7_1/chap-3.m
new file mode 100644
index 0000000000000000000000000000000000000000..1b67a4cb1f90ef55afec542fa94c2b3ce11e7dc9
--- /dev/null
+++ b/sources2010m_7_1/chap-3.m
@@ -0,0 +1,941 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+                                                                         #####
+  ####   #    #    ##    #####      #     #####  #####   ######         #     #
+ #    #  #    #   #  #   #    #     #       #    #    #  #                    #
+ #       ######  #    #  #    #     #       #    #    #  #####           #####
+ #       #    #  ######  #####      #       #    #####   #                    #
+ #    #  #    #  #    #  #          #       #    #   #   #              #     #
+  ####   #    #  #    #  #          #       #    #    #  ###### #######  #####
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                       CALCUL DE L'IMPOT NET
+ #
+ #
+ #
+ #
+ #
+ #
+regle 3009:
+application : pro , bareme , oceans , iliad , batch  ;
+BCIGA = CRIGA;
+regle 301:
+application : pro , oceans , bareme , iliad , batch  ;
+
+IRN = min( 0, IAN + AVFISCOPTER - IRE ) + max( 0, IAN + AVFISCOPTER - IRE ) * positif( IAMD1 + 1 - SEUIL_PERCEP) ;
+
+
+regle 3010:
+application : pro , bareme , oceans , iliad , batch  ;
+
+IAR = min( 0, IAN + AVFISCOPTER - IRE ) + max( 0, IAN + AVFISCOPTER - IRE ) ;
+
+regle 302:
+application : pro , oceans , iliad , batch  ;
+CREREVET =  arr(CIIMPPRO * TX_CREREVET / 100 )
+	  + arr(CIIMPPRO2 * TXGAIN1 / 100 );
+
+CIIMPPROTOT = CIIMPPRO + CIIMPPRO2 ;
+regle 3025:
+application : pro , oceans , iliad , batch  ;
+
+ICREREVET = max(0,min(IAD11 + ITP - CIRCMAVFT - IRETS - min(IAD11 , CRCFA), min(ITP,CREREVET)));
+
+regle 3026:
+application : pro , oceans , iliad , batch , bareme ;
+
+INE = (IRETS + min(IAD11 , CRCFA) + ICREREVET + CICULTUR + CIGPA + CIDONENTR + CICORSE + CIRECH + CIRCMAVFT)
+            * (1-positif(RE168+TAX1649));
+
+IAN = max( 0, (IRB - AVFISCOPTER + ((- IRETS
+                                     - min(IAD11 , CRCFA) 
+                                     - ICREREVET
+                                     - CICULTUR
+                                     - CIGPA
+                                     - CIDONENTR
+                                     - CICORSE
+				     - CIRECH
+			             - CIRCMAVFT )
+                                   * (1 - positif(RE168+TAX1649)))
+                + min(TAXASSUR+0,max(0,INE-IRB+REI+AVFISCOPTER)) 
+                + min(RPPEACO+0,max(0,INE-IRB+REI+AVFISCOPTER-min(TAXASSUR+0,max(0,INE-IRB+REI+AVFISCOPTER)))) 
+	      )
+	  )
+ ;
+
+regle 3021:
+application : pro , oceans , iliad , batch  ;
+IRE = si ( positif(RE168+TAX1649+0) = 0) 
+      alors
+       (si    ( V_REGCO = 2 )
+        alors ( EPAV + CRICH 
+             + CICA + CIGE  + IPELUS + CREFAM + CREAPP 
+	     + CIDEVDUR + CIDEDUBAIL + CIPRETUD + CILOYIMP + CIGARD
+	     + CREAGRIBIO + CREPROSP + CREFORMCHENT + CREARTS + CICONGAGRI 
+	     + CRERESTAU + CIHABPRIN + CIADCRE + CIDEBITTABAC + CREINTERESSE
+	     + AUTOVERSLIB + CIPERT + CITEC
+	      )
+
+        sinon ( EPAV + CRICH
+             + CICA +  CIGE  + IPELUS + CREFAM + CREAPP + PPETOT - PPERSA
+	     + DIREPARGNE + CIDEVDUR + CIDEDUBAIL + CIPRETUD + CILOYIMP + CIGARD
+	     + CREAGRIBIO + CREPROSP + CREFORMCHENT + CREARTS + CICONGAGRI 
+	     + CRERESTAU + CIHABPRIN + CIADCRE + CIDEBITTABAC + CREINTERESSE 
+	     + AUTOVERSLIB + CIPERT + CITEC
+	      )
+	     
+        finsi)
+       finsi;
+IRE2 = IRE + (BCIGA * (1 - positif(RE168+TAX1649))); 
+regle 3022:
+application : pro , oceans , iliad , batch  ;
+
+CRICH =  IPRECH * (1 - positif(RE168+TAX1649));
+regle 30221:
+application : pro , oceans , iliad , batch  ;
+CIRCMAVFT = max(0,min(IRB + TAXASSUR + RPPEACO - AVFISCOPTER , RCMAVFT * (1 - null(2 - V_REGCO))));
+regle 30222:
+application : pro , oceans , iliad , batch  ;
+CIDIREPARGNE = DIREPARGNE * (1 - null(2 - V_REGCO));
+regle 30226:
+application : pro , batch, oceans, iliad;
+CICA =  arr(BAILOC98 * TX_BAIL / 100);
+regle 3023:
+application : pro , oceans , iliad , batch  ;
+CRCFA = (arr(IPQ1 * REGCI / (RB01 + TONEQUO + CHTOT + RDCSG + ABMAR + ABVIE)) * (1 - positif(RE168+TAX1649)));
+regle 30231:
+application : pro , oceans , iliad , batch ;
+CICSG = min( CSGC , arr( IPPNCS * T_CSG/100 ));
+CIRDS = min( RDSC , arr( IPPNCS * T_RDS/100 ));
+CIPRS = min( PRSC , arr( IPPNCS * T_PREL_SOC/100 ));
+
+
+regle 30400:
+application : pro , oceans ,  iliad , batch  ;
+PPE_DATE_DEB = positif(BOOL_0AM)*positif(V_0AX+0) * (V_0AX+0)
+             + positif(V_0AD+0)*positif(V_0AY+0) * (V_0AY+0)
+             + positif(V_0AC+0)*positif(V_0AY+0) * (V_0AY+0)
+             + positif(V_0AV+0)*positif(V_0AY+0) * (V_0AY+0)
+             + positif(V_0AV+0)*positif(V_0AZ+0) * (V_0AZ+0)
+             + positif(DATRETETR+0)*(DATRETETR+0)
+                   *null(V_0AX+0)*null(V_0AY+0)*null(V_0AZ+0);
+PPE_DATE_FIN = positif(BOOL_0AM)*positif(V_0AY+0) * (V_0AY+0)
+             + positif(BOOL_0AM)*positif(V_0AZ+0) * (V_0AZ+0)
+             + positif(V_0AC+0)*positif(V_0AX+0) * (V_0AX+0)
+             + positif(V_0AD+0)*positif(V_0AX+0) * (V_0AX+0)
+             + positif(V_0AV+0)*positif(V_0AX+0) * (V_0AX+0)
+             + positif(DATDEPETR+0)*(DATDEPETR+0)
+                   *null(V_0AX+0)*null(V_0AY+0)*null(V_0AZ+0);
+regle 30500:
+application : pro , oceans ,  iliad , batch  ;
+PPE_DEBJJMMMM =  PPE_DATE_DEB + (01010000+V_ANREV) * null(PPE_DATE_DEB+0);
+PPE_DEBJJMM = arr( (PPE_DEBJJMMMM - V_ANREV)/10000);
+PPE_DEBJJ =  inf(PPE_DEBJJMM/100);
+PPE_DEBMM =  PPE_DEBJJMM -  (PPE_DEBJJ*100);
+PPE_DEBRANG= PPE_DEBJJ 
+             + (PPE_DEBMM - 1 ) * 30;
+regle 30501:
+application : pro , oceans ,  iliad , batch  ;
+PPE_FINJJMMMM =  PPE_DATE_FIN + (30120000+V_ANREV) * null(PPE_DATE_FIN+0);
+PPE_FINJJMM = arr( (PPE_FINJJMMMM - V_ANREV)/10000);
+PPE_FINJJ =  inf(PPE_FINJJMM/100);
+PPE_FINMM =  PPE_FINJJMM -  (PPE_FINJJ*100);
+PPE_FINRANG= PPE_FINJJ 
+             + (PPE_FINMM - 1 ) * 30
+             - 1 * positif (PPE_DATE_FIN);
+regle 30503:
+application : pro , oceans ,  iliad , batch  ;
+PPE_DEBUT = PPE_DEBRANG ;
+PPE_FIN   = PPE_FINRANG ;
+PPENBJ = max(1, arr(min(PPENBJAN , PPE_FIN - PPE_DEBUT + 1))) ;
+regle 30508:
+application : pro , oceans ,  iliad , batch  ;
+PPETX1 = PPE_TX1 ;
+PPETX2 = PPE_TX2 ;
+PPETX3 = PPE_TX3 ;
+regle 30510:
+application : pro , oceans ,  iliad , batch  ;
+PPE_BOOL_ACT_COND = positif(
+
+
+   positif ( TSHALLOV ) 
+ + positif ( TSHALLOC ) 
+ + positif ( TSHALLO1 ) 
+ + positif ( TSHALLO2 ) 
+ + positif ( TSHALLO3 ) 
+ + positif ( TSHALLO4 ) 
+ + positif ( GLD1V ) 
+ + positif ( GLD2V ) 
+ + positif ( GLD3V ) 
+ + positif ( GLD1C ) 
+ + positif ( GLD2C ) 
+ + positif ( GLD3C ) 
+ + positif ( BPCOSAV ) 
+ + positif ( BPCOSAC ) 
+ + positif ( TSASSUV ) 
+ + positif ( TSASSUC ) 
+ + positif( CARTSV ) * positif( CARTSNBAV )
+ + positif( CARTSC ) * positif( CARTSNBAC )
+ + positif( CARTSP1 ) * positif( CARTSNBAP1 )
+ + positif( CARTSP2 ) * positif( CARTSNBAP2 )
+ + positif( CARTSP3 ) * positif( CARTSNBAP3 )
+ + positif( CARTSP4 ) * positif( CARTSNBAP4 )
+ + positif( TSELUPPEV )
+ + positif( TSELUPPEC )
+ + positif( HEURESUPV )
+ + positif( HEURESUPC )
+ + positif( HEURESUPP1 )
+ + positif( HEURESUPP2 )
+ + positif( HEURESUPP3 )
+ + positif( HEURESUPP4 )
+ + positif ( FEXV ) 
+ + positif ( BAFV ) 
+ + positif ( BAFPVV ) 
+ + positif ( BAEXV ) 
+ + positif ( BACREV ) + positif ( 4BACREV )
+ + positif ( BACDEV ) 
+ + positif ( BAHEXV ) 
+ + positif ( BAHREV ) + positif ( 4BAHREV )
+ + positif ( BAHDEV ) 
+ + positif ( MIBEXV ) 
+ + positif ( MIBVENV ) 
+ + positif ( MIBPRESV ) 
+ + positif ( MIBPVV ) 
+ + positif ( BICEXV ) 
+ + positif ( BICNOV ) 
+ + positif ( BICDNV ) 
+ + positif ( BIHEXV ) 
+ + positif ( BIHNOV ) 
+ + positif ( BIHDNV ) 
+ + positif ( FEXC ) 
+ + positif ( BAFC ) 
+ + positif ( BAFPVC ) 
+ + positif ( BAEXC ) 
+ + positif ( BACREC ) + positif ( 4BACREC )
+ + positif ( BACDEC ) 
+ + positif ( BAHEXC ) 
+ + positif ( BAHREC ) + positif ( 4BAHREC )
+ + positif ( BAHDEC ) 
+ + positif ( MIBEXC ) 
+ + positif ( MIBVENC ) 
+ + positif ( MIBPRESC ) 
+ + positif ( MIBPVC ) 
+ + positif ( BICEXC ) 
+ + positif ( BICNOC ) 
+ + positif ( BICDNC ) 
+ + positif ( BIHEXC ) 
+ + positif ( BIHNOC ) 
+ + positif ( BIHDNC ) 
+ + positif ( FEXP ) 
+ + positif ( BAFP ) 
+ + positif ( BAFPVP ) 
+ + positif ( BAEXP ) 
+ + positif ( BACREP ) + positif ( 4BACREP )
+ + positif ( BACDEP ) 
+ + positif ( BAHEXP ) 
+ + positif ( BAHREP ) + positif ( 4BAHREP )
+ + positif ( BAHDEP ) 
+ + positif ( MIBEXP ) 
+ + positif ( MIBVENP ) 
+ + positif ( MIBPRESP ) 
+ + positif ( BICEXP ) 
+ + positif ( MIBPVP ) 
+ + positif ( BICNOP ) 
+ + positif ( BICDNP ) 
+ + positif ( BIHEXP ) 
+ + positif ( BIHNOP ) 
+ + positif ( BIHDNP ) 
+ + positif ( BNCPROEXV ) 
+ + positif ( BNCPROV ) 
+ + positif ( BNCPROPVV ) 
+ + positif ( BNCEXV ) 
+ + positif ( BNCREV ) 
+ + positif ( BNCDEV ) 
+ + positif ( BNHEXV ) 
+ + positif ( BNHREV ) 
+ + positif ( BNHDEV ) 
+ + positif ( BNCCRV ) 
+ + positif ( BNCPROEXC ) 
+ + positif ( BNCPROC ) 
+ + positif ( BNCPROPVC ) 
+ + positif ( BNCEXC ) 
+ + positif ( BNCREC ) 
+ + positif ( BNCDEC ) 
+ + positif ( BNHEXC ) 
+ + positif ( BNHREC ) 
+ + positif ( BNHDEC ) 
+ + positif ( BNCCRC ) 
+ + positif ( BNCPROEXP ) 
+ + positif ( BNCPROP ) 
+ + positif ( BNCPROPVP ) 
+ + positif ( BNCEXP ) 
+ + positif ( BNCREP ) 
+ + positif ( BNCDEP ) 
+ + positif ( BNHEXP ) 
+ + positif ( BNHREP ) 
+ + positif ( BNHDEP )
+ + positif ( BNCCRP ) 
+ + positif ( BIPERPV )
+ + positif ( BIPERPC )
+ + positif ( BIPERPP )
+ + positif ( BAFORESTV )
+ + positif ( BAFORESTC )
+ + positif ( BAFORESTP )
+ + positif ( AUTOBICVV ) + positif ( AUTOBICPV ) + positif ( AUTOBNCV ) 
+ + positif ( AUTOBICVC ) + positif ( AUTOBICPC ) + positif ( AUTOBNCC )
+ + positif ( AUTOBICVP ) + positif ( AUTOBICPP ) + positif ( AUTOBNCP )
+ + positif ( LOCPROCGAV ) + positif ( LOCPROV ) + positif ( LOCDEFPROCGAV )
+ + positif ( LOCDEFPROV ) + positif ( LOCPROCGAC ) + positif ( LOCPROC )
+ + positif ( LOCDEFPROCGAC ) + positif ( LOCDEFPROC ) + positif ( LOCPROCGAP ) 
+ + positif ( LOCPROP ) + positif ( LOCDEFPROCGAP ) + positif ( LOCDEFPROP )
+ + positif ( XHONOAAV ) + positif ( XHONOAAC ) + positif ( XHONOAAP )
+ + positif ( XHONOV ) + positif ( XHONOC ) + positif ( XHONOP )
+);
+regle 30520:
+application : pro , oceans ,  iliad , batch  ;
+PPE_BOOL_SIFC 	= (1 - BOOL_0AM)*(1 - positif (V_0AV)*positif(V_0AZ)) ;
+
+
+PPE_BOOL_SIFM	= BOOL_0AM  + positif (V_0AV)*positif(V_0AZ) ;
+
+PPESEUILKIR   = PPE_BOOL_SIFC * PPELIMC  
+                + PPE_BOOL_SIFM * PPELIMM
+                + (NBPT - 1 - PPE_BOOL_SIFM - NBQAR) * 2 * PPELIMPAC
+                + NBQAR * PPELIMPAC * 2 ;
+
+
+PPE_KIRE =  REVKIRE * PPENBJAN / PPENBJ;
+
+PPE_BOOL_KIR_COND =   (1 - null (IND_TDR)) * positif_ou_nul ( PPESEUILKIR - PPE_KIRE);
+
+regle 30525:
+application : pro , oceans ,  iliad , batch  ;
+pour i=V,C:
+PPE_BOOL_NADAi = positif (TSHALLOi+HEURESUPi+0 ) * null ( PPETPi+0  ) * null (PPENHi+0);
+pour i=1,2,3,4:
+PPE_BOOL_NADAi = positif (TSHALLOi+HEURESUPPi+0 ) * null ( PPETPPi+0 ) * null (PPENHPi+0);
+
+PPE_BOOL_NADAU = positif(TSHALLO1 + TSHALLO2 + TSHALLO3 + TSHALLO4 
+			  + HEURESUPP1 + HEURESUPP2 + HEURESUPP3 + HEURESUPP4 + 0)
+                 * null ( PPETPP1 + PPETPP2 + PPETPP3 + PPETPP4     +0)
+                 * null ( PPENHP1 + PPENHP2 + PPENHP3 + PPENHP4     +0);  
+
+PPE_BOOL_NADAN=0;
+
+regle 30530:
+application : pro , oceans ,  iliad , batch  ;
+pour i=V,C:
+PPE_SALAVDEFi =
+   TSHALLOi
+ + HEURESUPi
+ +  BPCOSAi  
+ + GLD1i  
+ + GLD2i  
+ + GLD3i  
+ + TSASSUi  
+ + TSELUPPEi
+ + CARTSi * positif(CARTSNBAi)
+  ;
+pour i =1..4:
+PPE_SALAVDEFi= TSHALLOi + HEURESUPPi + CARTSPi * positif(CARTSNBAPi) ;
+
+regle 30540:
+application : pro , oceans ,  iliad , batch  ;
+pour i = V,C,P:
+PPE_RPRO1i =   
+(
+   FEXi  
+ + BAFi  
+ + BAEXi  
+ + BACREi + 4BACREi
+ - BACDEi  
+ + BAHEXi  
+ + BAHREi + 4BAHREi 
+ - BAHDEi  
+ + BICEXi  
+ + BICNOi  
+ - BICDNi  
+ + BIHEXi  
+ + BIHNOi  
+ - BIHDNi  
+ + BNCEXi  
+ + BNCREi  
+ - BNCDEi  
+ + BNHEXi  
+ + BNHREi  
+ - BNHDEi  
+ + MIBEXi  
+ + BNCPROEXi  
+ + TMIB_NETVi  
+ + TMIB_NETPi
+ + TSPENETPi  
+ + BAFPVi  
+ + MIBPVi  
+ + BNCPROPVi  
+ + BAFORESTi
+ + LOCPROi + LOCPROCGAi - LOCDEFPROCGAi - LOCDEFPROi
+ + XHONOAAi + XHONOi
+
+) ;
+
+pour i = V,C,P:
+PPE_AVRPRO1i = 
+(
+   FEXi  
+ + BAFi  
+ + BAEXi  
+ + BACREi + 4BACREi 
+ - BACDEi  
+ + BAHEXi  
+ + BAHREi + 4BAHREi 
+ - BAHDEi  
+ + BICEXi  
+ + BICNOi  
+ - BICDNi  
+ + BIHEXi   
+ + BIHNOi  
+ - BIHDNi  
+ + BNCEXi  
+ + BNCREi  
+ - BNCDEi  
+ + BNHEXi  
+ + BNHREi  
+ - BNHDEi  
+ + MIBEXi  
+ + BNCPROEXi  
+ + MIBVENi  
+ + MIBPRESi
+ + BNCPROi  
+ + BAFPVi  
+ + MIBPVi  
+ + BNCPROPVi  
+ + BAFORESTi
+ + AUTOBICVi + AUTOBICPi + AUTOBNCi 
+ + LOCPROi + LOCPROCGAi + LOCDEFPROCGAi + LOCDEFPROi
+ + XHONOAAi + XHONOi
+) ;
+
+pour i=V,C,P:
+SOMMEAVRPROi = present(FEXi) + present(BAFi) + present(BAEXi) 
+	      + present(BACREi) + present(4BACREi) + present(BACDEi) + present(BAHEXi) 
+	      + present(BAHREi) + present(4BAHREi) + present(BAHDEi) + present(BICEXi) + present(BICNOi) 
+	      + present(BICDNi) + present(BIHEXi) + present(BIHNOi) 
+	      + present(BIHDNi) + present(BNCEXi) + present(BNCREi) 
+              + present(BNCDEi) + present(BNHEXi) + present(BNHREi) + present(BNHDEi) + present(MIBEXi) 
+              + present(BNCPROEXi) + present(MIBVENi) + present(MIBPRESi) + present(BNCPROi) 
+	      + present(BAFPVi) + present(MIBPVi) + present(BNCPROPVi) + present(BAFORESTi)
+	      + present(AUTOBICVi) + present(AUTOBICPi) + present(AUTOBNCi) + present(LOCPROi) + present(LOCPROCGAi)
+	      + present(LOCDEFPROCGAi) + present(LOCDEFPROi) + present(XHONOAAi) + present(XHONOi)
+;
+
+pour i=V,C,P:
+PPE_RPROi = positif(PPE_RPRO1i) * arr((1+ PPETXRPRO/100) * PPE_RPRO1i )
+           +(1-positif(PPE_RPRO1i)) * arr(PPE_RPRO1i * (1- PPETXRPRO/100));
+regle 30550:
+application : pro , oceans ,  iliad , batch  ;
+
+
+PPE_BOOL_SEULPAC = null(V_0CF + V_0CR + V_0DJ + V_0DN + V_0CH + V_0DP -1);
+
+PPE_SALAVDEFU = (somme(i=1,2,3,4: PPE_SALAVDEFi))* PPE_BOOL_SEULPAC;
+PPE_KIKEKU = 1 * positif(PPE_SALAVDEF1 )
+           + 2 * positif(PPE_SALAVDEF2 )
+           + 3 * positif(PPE_SALAVDEF3 )
+           + 4 * positif(PPE_SALAVDEF4 );
+
+
+pour i=V,C:
+PPESALi = PPE_SALAVDEFi + PPE_RPROi*(1 - positif(PPE_RPROi)) ;
+ 
+PPESALU = (PPE_SALAVDEFU + PPE_RPROP*(1 - positif(PPE_RPROP)))
+          * PPE_BOOL_SEULPAC;
+
+
+pour i = 1..4:
+PPESALi =  PPE_SALAVDEFi * (1 - PPE_BOOL_SEULPAC) ;
+
+regle 30560:
+application : pro , oceans ,  iliad , batch  ;
+
+pour i=V,C:
+PPE_RTAi = max(0,PPESALi +  PPE_RPROi * positif(PPE_RPROi));
+
+
+pour i =1..4:
+PPE_RTAi = PPESALi;
+
+PPE_RTAU = max(0,PPESALU + PPE_RPROP * positif(PPE_RPROP)) * PPE_BOOL_SEULPAC;
+PPE_RTAN = max(0, PPE_RPROP ) * (1 - PPE_BOOL_SEULPAC);
+regle 30570:
+application : pro , oceans ,  iliad , batch  ;
+pour i=V,C:
+PPE_BOOL_TPi = positif
+             (
+                 positif ( PPETPi+0) * positif(PPE_SALAVDEFi+0)
+               + null (PPENHi+0) * null(PPETPi+0)* positif(PPE_SALAVDEFi)
+               + positif ( 360 / PPENBJ * ( PPENHi*positif(PPE_SALAVDEFi+0) /1820 
+                                            + PPENJi*(present(PPE_AVRPRO1i)-(null(PPE_AVRPRO1i)*null(SOMMEAVRPROi-1)*present(BAFi))) /360 ) - 1 )
+               + positif_ou_nul (PPENHi*positif(PPE_SALAVDEFi+0) - 1820 )
+               + positif_ou_nul (PPENJi*(present(PPE_AVRPRO1i)-(null(PPE_AVRPRO1i)*null(SOMMEAVRPROi-1)*present(BAFi))) - 360 )
+               + positif(PPEACi*(present(PPE_AVRPRO1i)-(null(PPE_AVRPRO1i)*null(SOMMEAVRPROi-1)*present(BAFi)))+0)  
+               + (1 - positif(PPENJi*(present(PPE_AVRPRO1i)-(null(PPE_AVRPRO1i)*null(SOMMEAVRPROi-1)*present(BAFi)))))
+				    *(present(PPE_AVRPRO1i)-(null(PPE_AVRPRO1i)*null(SOMMEAVRPROi-1)*present(BAFi)))
+             ) ;
+
+PPE_BOOL_TPU = positif
+             (
+               (  positif ( PPETPP1 + PPETPP2 + PPETPP3 + PPETPP4) * positif(PPE_SALAVDEF1+PPE_SALAVDEF2+PPE_SALAVDEF3+PPE_SALAVDEF4)
+               + null (PPENHP1+PPENHP2+PPENHP3+PPENHP4+0)
+                 * null(PPETPP1+PPETPP2+PPETPP3+PPETPP4+0)
+                 * positif(PPE_SALAVDEF1+PPE_SALAVDEF2
+                          +PPE_SALAVDEF3+PPE_SALAVDEF4)  
+               + positif( ( 360 / PPENBJ * ((PPENHP1+PPENHP2+PPENHP3+PPENHP4)*positif(PPE_SALAVDEF1+PPE_SALAVDEF2+PPE_SALAVDEF3+PPE_SALAVDEF4))/1820 + PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))) /360 ) - 1 )
+               + positif_ou_nul (((PPENHP1+PPENHP2+PPENHP3+PPENHP4)*positif(PPE_SALAVDEF1+PPE_SALAVDEF2+PPE_SALAVDEF3+PPE_SALAVDEF4))-1820)
+               + positif_ou_nul ( PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))) - 360 )
+               + positif(PPEACP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))))  
+               + (1 - positif(PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP)))))
+			  *(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP)))) 
+          * PPE_BOOL_SEULPAC
+              );
+
+
+pour i =1,2,3,4:
+PPE_BOOL_TPi = positif  
+             (   positif ( PPETPPi) * positif(PPE_SALAVDEFi+0)
+              + null (PPENHPi+0) * null(PPETPPi+0)* positif(PPE_SALAVDEFi)  
+              + positif_ou_nul ( 360 / PPENBJ * PPENHPi*positif(PPE_SALAVDEFi+0) - 1820 )
+             );
+
+PPE_BOOL_TPN= positif 
+             (
+                positif_ou_nul ( 360 / PPENBJ * PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))) - 360 )
+              + positif(PPEACP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))))  
+              + (1 - positif(PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP)))))
+		   *(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP)))
+             ) ;
+
+regle 30580:
+application : pro , oceans ,  iliad , batch  ;
+
+
+pour i =V,C:
+PPE_COEFFi =  PPE_BOOL_TPi * 360/  PPENBJ
+             +  ( 1 -  PPE_BOOL_TPi)  / (PPENHi*positif(PPE_SALAVDEFi+0) /1820 + PPENJi*(present(PPE_AVRPRO1i)-(null(PPE_AVRPRO1i)*null(SOMMEAVRPROi-1)*present(BAFi))) /360);
+
+PPE_COEFFU =       PPE_BOOL_TPU * 360/  PPENBJ
+       	     +  ( 1 -  PPE_BOOL_TPU)  / 
+               ((PPENHP1+PPENHP2+PPENHP3+PPENHP4)/1820 + PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))) /360)
+          * PPE_BOOL_SEULPAC;
+
+
+pour i =1..4:
+PPE_COEFFi =       PPE_BOOL_TPi * 360/  PPENBJ
+       	     +  ( 1 -  PPE_BOOL_TPi)  / (PPENHPi*positif(PPE_SALAVDEFi+0) /1820 );
+
+
+PPE_COEFFN =       PPE_BOOL_TPN * 360/  PPENBJ
+     	     +  ( 1 -  PPE_BOOL_TPN)  / (PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))) /360);
+
+
+ 
+pour i= V,C,1,2,3,4,U,N:
+PPE_RCONTPi = arr (  PPE_RTAi * PPE_COEFFi ) ;
+
+
+regle 30590:
+application : pro , oceans ,  iliad , batch  ;
+
+pour i=V,C,U,N,1,2,3,4:
+PPE_BOOL_MINi = positif_ou_nul (PPE_RTAi- PPELIMRPB) * (1 - PPE_BOOL_NADAi);
+
+regle 30600:
+application : pro , oceans ,  iliad , batch  ;
+
+INDMONO =  BOOL_0AM 
+            * (
+                   positif_ou_nul(PPE_RTAV  - PPELIMRPB)
+                 * positif(PPELIMRPB - PPE_RTAC)
+               +
+                   positif_ou_nul(PPE_RTAC - PPELIMRPB )
+                   *positif(PPELIMRPB - PPE_RTAV)
+               );
+
+regle 30605:
+application : pro , oceans ,  iliad , batch  ;
+PPE_HAUTE = PPELIMRPH * (1 - BOOL_0AM)
+          + PPELIMRPH * BOOL_0AM * null(INDMONO)
+                      * positif_ou_nul(PPE_RCONTPV - PPELIMRPB)
+                      * positif_ou_nul(PPE_RCONTPC - PPELIMRPB)
+          + PPELIMRPH2 * INDMONO;
+
+regle 30610:
+application : pro , oceans ,  iliad , batch  ;
+
+pour i=V,C:
+PPE_BOOL_MAXi = positif_ou_nul(PPE_HAUTE - PPE_RCONTPi);
+
+pour i=U,N,1,2,3,4:
+PPE_BOOL_MAXi = positif_ou_nul(PPELIMRPH - PPE_RCONTPi);
+
+regle 30615:
+application : pro , oceans ,  iliad , batch  ;
+
+pour i = V,C,U,N,1,2,3,4:
+PPE_FORMULEi =  PPE_BOOL_KIR_COND
+               *PPE_BOOL_ACT_COND
+               *PPE_BOOL_MINi
+               *PPE_BOOL_MAXi
+               *arr(positif_ou_nul(PPELIMSMIC - PPE_RCONTPi)
+                     * arr(PPE_RCONTPi * PPETX1/100)/PPE_COEFFi
+                    +
+                        positif(PPE_RCONTPi - PPELIMSMIC)
+                      * positif_ou_nul(PPELIMRPH - PPE_RCONTPi )
+                      * arr(arr((PPELIMRPH  - PPE_RCONTPi ) * PPETX2 /100)/PPE_COEFFi)
+                    +
+                      positif(PPE_RCONTPi - PPELIMRPHI)
+                      * positif_ou_nul(PPE_HAUTE - PPE_RCONTPi )
+                      * arr(arr((PPELIMRPH2 - PPE_RCONTPi ) * PPETX3 /100)/PPE_COEFFi)
+                   );
+
+
+regle 30620:
+application : pro , oceans ,  iliad , batch  ;
+
+
+pour i =V,C:
+
+PPE_COEFFCONDi = (1 - PPE_BOOL_TPi)
+               * (   null(PPENBJ - 360) * PPE_COEFFi
+                  +
+                    (1 - null(PPENBJ - 360)) 
+                          * (    PPENBJ * 1820/360 
+                                      /
+                                (PPENHi*positif(PPE_SALAVDEFi+0) + PPENJi*(present(PPE_AVRPRO1i)-(null(PPE_AVRPRO1i)*null(SOMMEAVRPROi-1)*present(BAFi))) * 1820/360)
+                            )
+                 );
+
+pour i =U,N:
+PPE_COEFFCONDi = (1 - PPE_BOOL_TPi)
+               * (   null(PPENBJ - 360) * PPE_COEFFi
+                  +
+                    (1 - null(PPENBJ - 360)) 
+                       * ( PPENBJ * 1820/360
+                                        /
+                          ((PPENHP1+PPENHP2+PPENHP3+PPENHP4) + PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))) * 1820/360))
+                 );
+pour i =1,2,3,4:
+PPE_COEFFCONDi = (1 - PPE_BOOL_TPi)
+               * (  null(PPENBJ - 360) * PPE_COEFFi
+                  + (1 - null(PPENBJ - 360)) 
+                          * (    PPENBJ * 1820/360 
+                                      /
+                                (PPENHPi*positif(PPE_SALAVDEFi+0) + PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))) * 1820/360)
+                            )
+                 );
+
+pour i =V,C,U,1,2,3,4,N:
+PPENARPRIMEi =   PPE_FORMULEi * ( 1 + PPETXMAJ2)
+               * positif_ou_nul(PPE_COEFFCONDi - 2)
+               * (1 - PPE_BOOL_TPi)
+
+              +  (arr(PPE_FORMULEi * PPETXMAJ1) + arr(PPE_FORMULEi * (PPE_COEFFi * PPETXMAJ2 )))
+               * positif (2 - PPE_COEFFCONDi)
+               * positif (PPE_COEFFCONDi  -1 )
+               * (1 - PPE_BOOL_TPi)
+
+              + PPE_FORMULEi  * positif(PPE_BOOL_TPi + positif_ou_nul (1 - PPE_COEFFCONDi))  ; 
+
+
+regle 30625:
+application : pro , oceans ,  iliad , batch  ;
+pour i =V,C,U,1,2,3,4,N:
+PPEPRIMEi =arr( PPENARPRIMEi) ;
+
+PPEPRIMEPAC = PPEPRIMEU + PPEPRIME1 + PPEPRIME2 + PPEPRIME3 + PPEPRIME4 + PPEPRIMEN ;
+
+
+PPEPRIMETTEV = PPE_BOOL_KIR_COND *  PPE_BOOL_ACT_COND 
+               *(
+                    ( PPE_PRIMETTE
+                      * BOOL_0AM
+                      * INDMONO
+                      *  positif_ou_nul (PPE_RTAV - PPELIMRPB)
+                      *  positif_ou_nul(PPELIMRPHI - PPE_RCONTPV)
+                      *  (1 - positif(PPE_BOOL_NADAV))
+                     )
+                   ) 
+               * ( 1 - positif(V_PPEISF + PPEISFPIR+PPEREVPRO))    
+               * ( 1 -  V_CNR);
+                     
+PPEPRIMETTEC =  PPE_BOOL_KIR_COND *  PPE_BOOL_ACT_COND 
+                *(
+                     ( PPE_PRIMETTE
+                      * BOOL_0AM
+                      * INDMONO
+                      *  positif_ou_nul(PPELIMRPHI - PPE_RCONTPC)
+                      *  positif_ou_nul (PPE_RTAC - PPELIMRPB)
+                      *  (1 - positif(PPE_BOOL_NADAC))
+                      )
+                    )
+               * ( 1 - positif(V_PPEISF + PPEISFPIR+PPEREVPRO))    
+               * ( 1 -  V_CNR);
+PPEPRIMETTE = PPEPRIMETTEV + PPEPRIMETTEC ;
+
+
+
+
+regle 30800:
+application : pro , oceans ,  iliad , batch  ;
+
+BOOLENF = positif(V_0CF + V_0CH + V_0DJ + V_0CR + 0) ;
+
+PPE_NB_PAC= V_0CF + V_0CR + V_0DJ + V_0DN  ;
+PPE_NB_PAC_QAR =  V_0CH + V_0DP ;
+TOTPAC = PPE_NB_PAC + PPE_NB_PAC_QAR;
+
+
+
+PPE_NBNONELI = ( 
+                        somme(i=1,2,3,4,U,N: positif(PPEPRIMEi))
+                      + somme(i=1,2,3,4,U,N: positif_ou_nul(PPE_RTAi - PPELIMRPB) 
+                                           * positif(PPE_RCONTPi - PPELIMRPH)
+                              )
+                  );
+  
+
+
+
+PPE_NBELIGI = PPE_NB_PAC + PPE_NB_PAC_QAR - PPE_NBNONELI;
+
+
+PPE_BOOL_BT = V_0BT * positif(2 - V_0AV - BOOLENF) ;
+
+PPE_BOOL_MAJO = (1 - PPE_BOOL_BT)
+               * positif (  positif_ou_nul (PPELIMRPH - PPE_RCONTPV)
+                           *positif_ou_nul (PPE_RTAV - PPELIMRPB)
+                           *(1 - positif(PPE_BOOL_NADAV))
+                          +
+                            positif_ou_nul (PPELIMRPH - PPE_RCONTPC)
+                           *positif_ou_nul (PPE_RTAC - PPELIMRPB)
+                           *(1 - positif(PPE_BOOL_NADAC))
+                          )
+                        ;
+PPE_NBMAJO =    positif_ou_nul (PPE_NB_PAC - PPE_NBELIGI)
+                 *PPE_NBELIGI
+               + (1 - positif_ou_nul (PPE_NB_PAC - PPE_NBELIGI))
+               *  PPE_NB_PAC ;
+PPE_NBMAJOQAR =    positif_ou_nul (PPE_NB_PAC - PPE_NBELIGI)
+                 * 0
+               + (1 - positif_ou_nul (PPE_NB_PAC - PPE_NBELIGI))
+                 * ( PPE_NBELIGI - PPE_NB_PAC ) ;
+
+
+
+
+PPE_MAJO =   PPE_BOOL_MAJO 
+           * positif( PPE_NBELIGI )
+           * ( PPE_NBMAJO * PPEMONMAJO
+             + PPE_NBMAJOQAR * PPEMONMAJO / 2
+             );
+
+regle 30810:
+application : pro , oceans ,  iliad , batch  ;
+
+
+PPE_BOOL_MONO =  (1 - PPE_BOOL_MAJO )
+                *  (1 - PPE_BOOL_MAJOBT)
+                * positif( PPE_NB_PAC + PPE_NB_PAC_QAR - PPE_NBNONELI)
+                * INDMONO
+                *( ( positif( PPE_BOOL_BT + BOOL_0AM )
+                    *  positif_ou_nul (PPE_RTAV - PPELIMRPB)
+                    *  positif_ou_nul (PPELIMRPH2 - PPE_RCONTPV)
+                    *  (1 - positif(PPE_BOOL_NADAV))
+                   )
+                 + (  positif(  BOOL_0AM )
+                    *  positif_ou_nul (PPE_RTAC - PPELIMRPB)
+                    *  positif_ou_nul (PPELIMRPH2 - PPE_RCONTPC)
+                    *  (1 - positif(PPE_BOOL_NADAC))
+                  )
+                 );
+PPE_MONO = PPE_BOOL_MONO * ( 1 + PPE_BOOL_BT)
+          *( positif( PPE_NBMAJO) * PPEMONMAJO 
+            + 
+             null( PPE_NBMAJO)*positif(PPE_NBMAJOQAR) * PPEMONMAJO / 2
+           )
+           ;
+
+
+regle 30820:
+application : pro , oceans ,  iliad , batch  ;
+
+
+PPE_BOOL_MAJOBT = positif (  positif_ou_nul (PPELIMRPH - PPE_RCONTPV)
+                            *positif_ou_nul (PPE_RTAV - PPELIMRPB)
+                            *(1 - positif(PPE_BOOL_NADAV))
+                          )
+                * PPE_BOOL_BT;
+
+PPE_MABT =   PPE_BOOL_MAJOBT
+           * positif( PPE_NBMAJO)
+           * (( PPE_NBMAJO + 1) * PPEMONMAJO
+             + PPE_NBMAJOQAR * PPEMONMAJO / 2
+             )
+         +   PPE_BOOL_MAJOBT
+           * null( PPE_NBMAJO + 0)*positif(PPE_NBMAJOQAR)
+           * (  positif(PPE_NBMAJOQAR-1) *  PPE_NBMAJOQAR * PPEMONMAJO / 2
+                + PPEMONMAJO 
+             )
+          +  positif_ou_nul (PPELIMRPH2 - PPE_RCONTPV)
+           * positif_ou_nul (PPE_RTAV - PPELIMRPB)
+           * (1 - PPE_BOOL_MAJOBT)
+           * (1 - positif(PPE_BOOL_NADAV))
+           * PPE_BOOL_BT
+           * ( positif( PPE_NB_PAC) * 2 * PPEMONMAJO
+             + positif( PPE_NB_PAC_QAR ) * null ( PPE_NB_PAC + 0 ) * PPEMONMAJO
+             )
+            ;
+
+                 
+regle 30830:
+application : pro , oceans ,  iliad , batch  ;
+PPEMAJORETTE =   PPE_BOOL_KIR_COND
+               * PPE_BOOL_ACT_COND
+               * arr ( PPE_MONO + PPE_MAJO + PPE_MABT )
+               * ( 1 - positif(V_PPEISF + PPEISFPIR+PPEREVPRO))    
+               * ( 1 -  V_CNR);
+
+regle 30900:
+application : pro , oceans ,  iliad , batch  ;
+
+PPETOT = positif ( somme(i=V,C,U,1,2,3,4,N:PPENARPRIMEi)
+                   +PPEPRIMETTE
+                   +PPEMAJORETTE +0
+
+ 
+                   +somme(i=V,C,U,1,2,3,4,N :( 1 - positif(PPELIMRPH - PPE_RCONTPi - 10))
+                     *  PPE_BOOL_KIR_COND
+                     *  PPE_BOOL_ACT_COND
+                     *  PPE_BOOL_MINi
+                     *  PPE_BOOL_MAXi)
+                   +somme(i=V,C,U,1,2,3,4,N :( 1 - positif(PPELIMRPH2 - PPE_RCONTPi - 10))
+                     *  PPE_BOOL_KIR_COND
+                     *  PPE_BOOL_ACT_COND
+                     *  PPE_BOOL_MINi
+                     *  PPE_BOOL_MAXi)
+
+           )
+        
+           * max(0,arr( (somme(i=V,C,U,1,2,3,4,N :PPEPRIMEi)
+                                +PPEPRIMETTE
+                                +PPEMAJORETTE
+                        ) 
+                      )
+                 )
+           * positif_ou_nul(arr( (somme(i=V,C,U,1,2,3,4,N :PPEPRIMEi)
+                                +PPEPRIMETTE
+                                +PPEMAJORETTE
+				- PPELIMTOT                  )) 
+                           )
+       * ( 1 - positif(V_PPEISF + PPEISFPIR+PPEREVPRO))    
+       * ( 1 -  V_CNR);
+
+regle 30910:
+application : iliad , batch ;
+PPENATREST = positif(IRE) * positif(IREST) * 
+           (
+            (1 - null(2 - V_REGCO))  *
+            (
+             ( null(IRE - PPETOT + PPERSA) * 1                                              * 1
+             + (1 - positif(PPETOT-PPERSA))                                                 * 2 
+             + null(IRE) * (1 - positif(PPETOT-PPERSA))                                     * 3 
+	     + positif(PPETOT-PPERSA) * positif(IRE-PPETOT+PPERSA)                          * 4
+             )
+	    )
+           + 2 * null(2 - V_REGCO) 
+           )
+            ;
+
+PPERESTA = positif(PPENATREST) * max(0,min(IREST , PPETOT-PPERSA)) ;
+
+PPENATIMPA = positif(PPETOT-PPERSA) * (positif(IINET - PPETOT + PPERSA - ICREREVET) + positif( PPETOT - PPERSA - PPERESTA));
+
+PPEIMPA = positif(PPENATIMPA) * positif_ou_nul(PPERESTA) * (PPETOT - PPERSA - PPERESTA) ;
+
+PPENATREST2 = (positif(IREST - V_ANTRE + V_ANTIR) + positif(V_ANTRE - IINET)) * positif(IRE) *
+             (
+              (1 - null(2 - V_REGCO))  *
+               (
+                ( null(IRE - PPETOT + PPERSA) * 1                                              * 1
+                + (1 - positif(PPETOT-PPERSA))                                                 * 2 
+                + null(IRE) * (1 - positif(PPETOT-PPERSA))                                     * 3 
+	        + positif(PPETOT-PPERSA) * positif(IRE-PPETOT+PPERSA)                          * 4
+                )
+	       )
+              + 2 * null(2 - V_REGCO) 
+             )
+            ;
+
+PPEREST2A = positif(PPENATREST2) * (max(0,min(IREST - V_ANTRE + V_ANTIR , PPETOT-PPERSA)) + max(0,min(V_ANTRE - IINET , PPETOT-PPERSA))) ; 
+
+PPEIMP2A = positif_ou_nul(PPEREST2A) * (PPETOT - PPERSA - PPEREST2A) ;
+
+regle 30912:
+application : iliad , batch,pro  ;
+
+pour i=V,C,1,2,3,4,N,U:
+PPETEMPSi = arr(1 / PPE_COEFFi * 100) ;
+
+
+
+
+pour i=V,C,1,2,3,4,N,U:
+PPECOEFFi= arr(PPE_COEFFCONDi * 100 );
+regle 990:
+application : iliad, batch, pro, oceans ;
+
+REST = positif(IRE) * positif(IREST) ;
+
+LIBREST = positif(REST) * max(0,min(AUTOVERSLIB , IREST-(PPETOT-PPERSA))) ;
+
+LIBIMP = positif_ou_nul(LIBREST) * (AUTOVERSLIB - LIBREST) ;
+
+LOIREST = positif(REST) * max(0,min(CILOYIMP , IREST-(PPETOT-PPERSA)-AUTOVERSLIB)) ;
+
+LOIIMP = positif_ou_nul(LOIREST) * (CILOYIMP - LOIREST) ;
+
+TABREST = positif(REST) * max(0,min(CIDEBITTABAC , IREST-(PPETOT-PPERSA)-AUTOVERSLIB-CILOYIMP)) ;
+
+TABIMP = positif_ou_nul(TABREST) * (CIDEBITTABAC - TABREST) ;
+
+TAUREST = positif(REST) * max(0,min(CRERESTAU , IREST-(PPETOT-PPERSA)-AUTOVERSLIB-CILOYIMP-CIDEBITTABAC)) ;
+
+TAUIMP = positif_ou_nul(TAUREST) * (CRERESTAU - TAUREST) ;
+
+AGRREST = positif(REST) * max(0,min(CICONGAGRI , IREST-(PPETOT-PPERSA)-AUTOVERSLIB-CILOYIMP-CIDEBITTABAC-CRERESTAU)) ;
+
+AGRIMP = positif_ou_nul(AGRREST) * (CICONGAGRI - AGRREST) ;
+
+ARTREST = positif(REST) * max(0,min(CREARTS , IREST-(PPETOT-PPERSA)-AUTOVERSLIB-CILOYIMP-CIDEBITTA
\ No newline at end of file
diff --git a/sources2010m_7_1/chap-4.m b/sources2010m_7_1/chap-4.m
new file mode 100644
index 0000000000000000000000000000000000000000..666fffd14e640ec7cdbdc87e5a52e0bb8dbfe0c6
--- /dev/null
+++ b/sources2010m_7_1/chap-4.m
@@ -0,0 +1,875 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+ #
+                                                                
+  ####   #    #    ##    #####      #     #####  #####   ######      #    
+ #    #  #    #   #  #   #    #     #       #    #    #  #           #    #
+ #       ######  #    #  #    #     #       #    #    #  #####       #    #
+ #       #    #  ######  #####      #       #    #####   #           ######
+ #    #  #    #  #    #  #          #       #    #   #   #                #
+  ####   #    #  #    #  #          #       #    #    #  ######           #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                      CALCUL DE L'IMPOT BRUT
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+regle 401:
+application : pro , oceans , bareme, iliad , batch  ;
+IRB = IAMD2; 
+IRB2 = IAMD2 + TAXASSUR;
+regle 40101:
+application : pro , oceans , iliad , batch  ;
+KIR =   IAMD3 ;
+regle 4011:
+application : pro , oceans , bareme , iliad , batch  ;
+IAMD1 = IBM13 ;
+IAMD2 = IBM23 ;
+IAMD2TH = positif_ou_nul(IBM23 - SEUIL_PERCEP)*IBM23;
+regle 40110:
+application : pro , oceans , bareme , iliad , batch  ;
+IAMD3 = IBM33 - min(ACP3, IMPIM3);
+regle 402112:
+application : pro , oceans , iliad , batch  ;
+ANG3 = IAD32 - IAD31;
+regle 40220:
+application : pro , oceans , iliad , batch  ;
+ACP3 = max (0 ,
+ somme (a=1..4: min(arr(CHENFa * TX_DPAEAV/100) , SEUIL_AVMAXETU)) - ANG3)
+        * (1 - positif(V_CR2 + IPVLOC)) * positif(ANG3) * positif(IMPIM3);
+regle 403:
+application : pro , oceans , bareme ,iliad , batch  ;
+IBM13 = IAD11 + ITP + REI + TAXASSUR + AVFISCOPTER ;
+IBM23 = IAD11 + ITP + REI + AVFISCOPTER ;
+regle 404:
+application : pro , oceans , bareme , iliad , batch  ;
+IBM33 = IAD31 + ITP + REI;
+regle 4041:
+application : pro , oceans , iliad , batch  ;
+TX_RED0 =  inf ( (100 - ((TX_RABGUY * V_EAG) + (TX_RABDOM * V_EAD))
+	     ) * TXGAIN0  / 100 * positif(V_EAD + V_EAG)
+	   );
+TX_RED1 =  inf ( (100 - ((TX_RABGUY * V_EAG) + (TX_RABDOM * V_EAD))
+	     ) * TXGAIN1 / 100 * positif(V_EAD + V_EAG)
+	   );
+DOMAVTO = arr(BN1 + SPEPV + BI12F + BA1) * ((TXGAIN0 - TX_RED0)/100) * positif(V_EAD)
+          + arr(BN1 + SPEPV + BI12F + BA1) * ((TXGAIN0 - TX_RED0)/100) * positif(V_EAG);
+DOMABDB = max(PLAF_RABDOM - ABADO , 0) * positif(V_EAD)
+          + max(PLAF_RABGUY - ABAGU , 0) * positif(V_EAG);
+DOMDOM = max(DOMAVTO - DOMABDB , 0) * positif(V_EAD + V_EAG);
+
+ITP = arr((BTP2 * TXGAIN2/100) + (BPTP4 * TXGAIN3/100) 
+       + ((BN1 + SPEPV + BI12F + BA1) * positif(V_EAG+V_EAD) * TX_RED0/100) 
+       + (BPVCESDOM * positif(V_EAG+V_EAD) * TX_RED1/100) 
+       + (BTP40 * TXGAIN4/100)
+       + DOMDOM * positif(V_EAD + V_EAG)
+       + (BPV18 * TXGAIN1/100)
+       + (BTP3G * TXGAIN1/100)
+       + (BTP3N * TXGAIN1/100)
+       + ((BN1 + SPEPV + BI12F + BA1) * (1-positif(V_EAG + V_EAD)) * TXGAIN0/100) 
+       + (BPVCESDOM * (1-positif(V_EAG + V_EAD)) * TXGAIN1/100))
+       * (1-positif(IPVLOC)); 
+
+regle 40413:
+application : pro , oceans , iliad , batch  ;
+BTP3A = (BN1 + SPEPV + BI12F + BA1) * (1 - positif( IPVLOC )); 
+BTP3N = (BPVKRI) * (1 - positif( IPVLOC )); 
+BTP3G = (BPVRCM) * (1 - positif( IPVLOC )); 
+BTP2 = PEA * (1 - positif( IPVLOC )); 
+BTP40 = BPV40 * (1 - positif( IPVLOC )); 
+BTP18 = BPV18 * (1 - positif( IPVLOC )); 
+
+REVTP1 = max(0,BPVRCM + ABDETPLUS + ABIMPPV - DPVRCM - ABDETMOINS - ABIMPMV) + BPVCESDOM + BPV18 + BPV40 + BPCOPT + BPVKRI + PEA + PVSOCG ;
+
+regle 4042:
+application : pro , oceans , iliad , batch  ;
+
+
+REI = IPREP+IPPRICORSE;
+
+regle 40421:
+application : pro , oceans , iliad , batch  ;
+
+
+RPPEACOMENS = positif(ACPTMENSPPE) * ACPTMENSPPE ;
+
+PPERSATOT = RSAFOYER + RSAPAC1 + RSAPAC2 ;
+
+PPERSA = min(PPETOT,PPERSATOT) * (1 - V_CNR) ;
+
+PPEFINAL = PPETOT - PPERSA ;
+
+RPPEACO = RPPEACOMENS * (1-V_ANC_BAR)
+		* (1 - V_CNR);
+
+regle 405:
+application : pro , oceans , bareme , iliad , batch  ;
+
+
+IAD11 = ( max(0,IDOM11-DEC11-RED) *(1-positif(V_CR2+IPVLOC))
+        + positif(V_CR2+IPVLOC) *max(0 , IDOM11 - RED) )
+                                * (1-positif(RE168+TAX1649))
+        + positif(RE168+TAX1649) * IDOM16;
+
+regle 406:
+application : pro , oceans , bareme , iliad , batch  ;
+IAD31 = ((IDOM31-DEC31)*(1-positif(V_CR2+IPVLOC)))
+        +(positif(V_CR2+IPVLOC)*IDOM31);
+IAD32 = ((IDOM32-DEC32)*(1-positif(V_CR2+IPVLOC)))
+        +(positif(V_CR2+IPVLOC)*IDOM32);
+
+regle 4052:
+application : pro , oceans , bareme , iliad , batch  ;
+
+IMPIM3 =  IAD31 ;
+
+regle 4061:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z = 1,2:
+DEC1z = min (max( arr(SEUIL_DECOTE/2 - (IDOM1z/2)),0),IDOM1z) * (1 - V_CNR);
+
+pour z = 1,2:
+DEC3z = min (max( arr(SEUIL_DECOTE/2 - (IDOM3z/2)),0),IDOM3z) * (1 - V_CNR);
+
+DEC6 = min (max( arr(SEUIL_DECOTE/2 - (IDOM16/2)),0),IDOM16) * (1 - V_CNR);
+regle 407:
+application : pro ,   oceans , iliad   , batch ;
+
+RED =  RSURV + RCOMP + RHEBE + RREPA + RDIFAGRI + RDONS
+       + RCELDO + RCELDOP + RCELREPDOP9
+       + RCELMET + RCELNP + RCELREPNP9 + RCELRRED09
+       + RSYND + RRESTIMO + RPECHE 
+       + RFIPC + RAIDE + RNOUV 
+       + RTOURNEUF + RTOURTRA + RTOURREP + RTOURHOT
+       + RTOUREPA + RTOURES + RTOUHOTR  
+       + RLOGDOM + RMEUBLE + RREDMEUB 
+       + RLOGSOC + RDOMSOC1 + RLOCENT + RCOLENT
+       + RRETU + RINNO + RRPRESCOMP + RFOR 
+       + RSOUFIP + RRIRENOV + RSOCREPR + RRESINEUV + RRESIVIEU
+       + RIDOMPROE1 + RIDOMPROE2 + RIDOMPROE3 + RIDOMPROE4 + RIDOMPROE5
+       + RPATNAT
+       + RFORET + RTITPRISE + RCREAT + RCINE 
+       - (V_INDTEO) * (RLOG4 + RLOG5 + RLOG6);	
+regle 4070:
+application : bareme ;
+RED = V_9UY;
+regle 4025:
+application : pro ,   oceans , iliad , batch  ;
+
+ 
+
+PLAFDOMPRO1 = max(0,IDOM11-DEC11-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET-RTITPRISE-RCINE-RSOCREPR
+			  -RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE-RSURV-RLOGDOM-RTOURNEUF-RTOURHOT-RTOURTRA-RTOURES-RTOURREP
+			  -RTOUHOTR-RTOUREPA-RCOMP-RCREAT-RRETU-RDONS-RLOGSOC-RDOMSOC1-RCELDO-RCELDOP-RCELREPDOP9
+			  -RCELMET-RCELNP-RCELREPNP9-RCELRRED09-RRESINEUV-RRESIVIEU-RMEUBLE-RREDMEUB-RNOUV-RPATNAT
+			  );
+RIDOMPROE5 =  min(REPINVDOMPRO1,PLAFDOMPRO1) * (1 - V_CNR);
+
+REPDOMENTR5 = positif (REPINVDOMPRO1- PLAFDOMPRO1)* (REPINVDOMPRO1 - PLAFDOMPRO1)* (1 -V_CNR);
+
+
+PLAFDOMPRO2 = positif(PLAFDOMPRO1 - REPINVDOMPRO1)* (PLAFDOMPRO1 - REPINVDOMPRO1)* (1 -V_CNR); 
+RIDOMPROE4 = min(REPINVDOMPRO2,PLAFDOMPRO2) * (1 - V_CNR);
+REPDOMENTR4 = positif (REPINVDOMPRO2 - PLAFDOMPRO2)* (REPINVDOMPRO2 - PLAFDOMPRO2)* (1 -V_CNR);
+
+
+PLAFDOMPRO3 = positif(PLAFDOMPRO2 - REPINVDOMPRO2)* (PLAFDOMPRO2 - REPINVDOMPRO2)* (1 -V_CNR); 
+RIDOMPROE3 = min(REPINVDOMPRO3,PLAFDOMPRO3) * (1 - V_CNR);
+REPDOMENTR3 = positif (REPINVDOMPRO3 - PLAFDOMPRO3)* (REPINVDOMPRO3 - PLAFDOMPRO3)* (1 -V_CNR);
+
+
+PLAFDOMPRO4 = positif(PLAFDOMPRO3 - REPINVDOMPRO3)* (PLAFDOMPRO3 - REPINVDOMPRO3)* (1 -V_CNR); 
+RIDOMPROE2 = min(REPINVDOMPRO4,PLAFDOMPRO4) * (1 - V_CNR);
+REPDOMENTR2 = positif (REPINVDOMPRO4 - PLAFDOMPRO4)* (REPINVDOMPRO4 - PLAFDOMPRO4)* (1 -V_CNR);
+
+PLAFDOMPRO5 = positif(PLAFDOMPRO4 - REPINVDOMPRO4)* (PLAFDOMPRO4 - REPINVDOMPRO4)* (1 -V_CNR); 
+
+RIDOMPROTOT = RIDOMPROE1 + RIDOMPROE2 + RIDOMPROE3 + RIDOMPROE4 + RIDOMPROE5;
+
+RINVEST = RIDOMPROE1 + RIDOMPROE2 + RIDOMPROE3  + RIDOMPROE4 + RIDOMPROE5 ;
+RIDOMPRO = REPINVDOMPRO1 + REPINVDOMPRO2 + REPINVDOMPRO3 + REPINVDOMPRO4 ;
+
+DIDOMPRO = RIDOMPRO * (1 - V_CNR) ;
+regle 40742:
+application : pro ,   oceans , iliad , batch  ;
+BTANTGECUM = (V_BTGECUM * (1 - present(DEPMOBIL)) + DEPMOBIL);
+
+
+
+
+P2GE = max( (   PLAF_GE2 * (1 + BOOL_0AM)
+
+             + PLAF_GE2_PACQAR * (V_0CH + V_0DP)
+
+             + PLAF_GE2_PAC * (V_0CR + V_0CF + V_0DJ + V_0DN)  
+
+            ) - BTANTGECUM
+
+             , 0
+
+          ) ;
+
+BGEDECL = RDTECH + RDEQPAHA + RDGEQ ;
+BGERET = min(RDTECH + RDEQPAHA + RDGEQ , P2GE) * (1 - V_CNR);
+
+BGTECH = min(RDTECH , P2GE) * (1 - V_CNR) ;
+BGEPAHA = min(RDEQPAHA , max(P2GE - BGTECH,0)) * (1 - V_CNR) ;
+BGEAUTRE = min(RDGEQ , max(P2GE - BGTECH - BGEPAHA,0)) * (1 - V_CNR) ;
+
+TOTBGE = BGTECH + BGEPAHA + BGEAUTRE ;
+
+RGTECH = (BGTECH * TX_RGTECH / 100 ) * (1 - V_CNR) ;
+RGEPAHA =  (BGEPAHA * TX_RGEPAHA / 100 ) * (1 - V_CNR) ;
+RGEAUTRE = (BGEAUTRE * TX_RGEAUTRE / 100 ) * (1 - V_CNR) ;
+
+CIGE = arr (RGTECH + RGEPAHA + RGEAUTRE) * (1 - V_CNR) ;
+
+
+GECUM = BGTECH + BGEPAHA + BGEAUTRE + BTANTGECUM ;
+regle 40743:
+application : pro, oceans, iliad, batch ; 
+DLOYIMP = LOYIMP ;
+
+ALOYIMP = DLOYIMP;
+
+CILOYIMP = arr(ALOYIMP*TX_LOYIMP/100);
+
+regle 40744:
+application : pro, oceans, iliad, batch ; 
+DDEVDUR = CRENRJRNOUV + CRECHOBOI + CRECHOCON2 + CRECHOBAS ;
+PDEVDUR = max( (   PLAF_DEVDUR * (1 + BOOL_0AM)
+
+
+                  + PLAF_GE2_PACQAR * (V_0CH+V_0DP)
+
+	          + PLAF_GE2_PAC * (V_0CR+V_0CF+V_0DJ+V_0DN) 
+
+		 ) - (V_BTDEVDUR*(1-present(DEPCHOBAS))+DEPCHOBAS) , 0 );
+		 
+
+ADEVDUR = max (0 , min (DDEVDUR,PDEVDUR)) * (1 - V_CNR);
+R1DEVDUR = min (ADEVDUR,CRENRJRNOUV) ;
+R2DEVDUR = min (max(0,ADEVDUR-R1DEVDUR),CRECHOBOI) ;
+R4DEVDUR = min (max(0,ADEVDUR-R1DEVDUR-R2DEVDUR),CRECHOCON2) ;
+R5DEVDUR = min (max(0,ADEVDUR-R1DEVDUR-R2DEVDUR-R4DEVDUR),CRECHOBAS) ;
+CIDEVDUR = arr (R1DEVDUR * TX50/100 + R2DEVDUR * TX40/100  
+		 + R4DEVDUR * TX25/100 + R5DEVDUR * TX15/100) * (1 - V_CNR);  
+
+DEVDURCUM = ADEVDUR + (V_BTDEVDUR*(1-present(DEPCHOBAS))+DEPCHOBAS);
+
+regle 407441:
+
+application : pro, oceans, iliad, batch ; 
+
+DEVDURBAIL = CINRJBAIL + CIBOIBAIL + CICHO2BAIL + CIDEP15;
+
+
+ADEVDUBAIL = DEVDURBAIL * ((V_REGCO+0) dans (1,3,5,6));
+
+
+R1DEDUBAIL = CINRJBAIL ;
+R2DEDUBAIL = CIBOIBAIL ;
+R4DEDUBAIL = CICHO2BAIL ;
+R5DEDUBAIL = CIDEP15 ;
+
+CIDEDUBAIL = arr (R1DEDUBAIL * TX50/100 + R2DEDUBAIL * TX40/100
+		 + R4DEDUBAIL * TX25/100 + R5DEDUBAIL * TX15/100)
+		  * ((V_REGCO+0) dans (1,3,5,6));
+DEVCUMBAIL = ADEVDUBAIL;
+regle 452:
+application : pro, oceans, iliad, batch ; 
+
+DTEC = RISKTEC;
+
+ATEC = positif(DTEC) * DTEC;
+
+CITEC = arr (ATEC * TX30/100);
+regle 40745:
+application : pro ,   oceans , iliad , batch  ;
+
+DPRETUD = PRETUD + PRETUDANT ;
+
+APRETUD = max(min(PRETUD,LIM_PRETUD) + min(PRETUDANT,LIM_PRETUD*CASEPRETUD),0) * (1-V_CNR) ;
+
+CIPRETUD = arr(APRETUD*TX_PRETUD/100) * (1-V_CNR) ;
+
+regle 40747:
+application : pro ,   oceans , iliad , batch  ;
+
+DPERT = PERCRE ;
+
+CIPERT = arr(DPERT * TXPERT / 100) * (1 - V_CNR) ;
+
+regle 40749:
+application : pro ,   oceans , iliad , batch  ;
+
+DFORET = FORET ;
+
+AFORET = max(min(DFORET,LIM_FORET),0) * (1-V_CNR) ;
+
+RAFORET = arr(AFORET*TX_FORET/100) * (1-V_CNR) ;
+
+RFORET =  max( min( RAFORET , IDOM11-DEC11-RREPA-RSYND-RFIPC-RAIDE-RDIFAGRI) , 0 ) ;
+
+regle 4075:
+application : pro , oceans , iliad , batch ;
+
+DFIPC = FIPCORSE ;
+
+AFIPC = max(min(DFIPC,LIM_FIPCORSE*(1+BOOL_0AM)),0) * (1-V_CNR);
+
+RFIPCORSE = arr(AFIPC*TX_FIPCORSE/100) * (1-V_CNR);
+
+RFIPC = max( min( RFIPCORSE , IDOM11-DEC11-RREPA-RSYND) , 0);
+
+regle 4076:
+application : pro ,   oceans , iliad , batch  ;
+BSURV = min( RDRESU , PLAF_RSURV + PLAF_COMPSURV * (EAC + V_0DN) + PLAF_COMPSURVQAR * (V_0CH + V_0DP) );
+RRS = arr( BSURV * TX_REDSURV / 100 ) * (1 - V_CNR);
+DSURV = RDRESU;
+ASURV = BSURV * (1-V_CNR) ;
+RSURV = max( min( RRS , IDOM11-DEC11-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET-RTITPRISE
+			      -RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE ) , 0 );
+
+regle 4100:
+application : pro , oceans , iliad , batch ;
+
+RRCN = arr(  min( CINE1 , min( max(SOFIRNG,RNG) * TX_CINE3/100 , PLAF_CINE )) * TX_CINE1/100
+        + min( CINE2 , max( min( max(SOFIRNG,RNG) * TX_CINE3/100 , PLAF_CINE ) - CINE1 , 0)) * TX_CINE2/100 
+       ) * (1 - V_CNR) ;
+
+DCINE = CINE1 + CINE2 ;
+
+ACINE = max(0,min( CINE1 + CINE2 , min( arr(SOFIRNG * TX_CINE3/100) , PLAF_CINE ))) * (1 - V_CNR);
+
+RCINE = max( min( RRCN , IDOM11-DEC11-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET ) , 0 ) ;
+regle 4176:
+application : pro ,   oceans , iliad , batch  ;
+BSOUFIP = min( FFIP , LIM_SOUFIP * (1 + BOOL_0AM));
+RFIP = arr( BSOUFIP * TX_REDFIP / 100 ) * (1 - V_CNR);
+DSOUFIP = FFIP;
+ASOUFIP = BSOUFIP * (1-V_CNR) ;
+RSOUFIP = max( min( RFIP , IDOM11-DEC11
+           -RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET-RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO) , 0 );
+
+regle 4200:
+application : pro ,   oceans , iliad , batch  ;
+
+BRENOV = min(RIRENOV,PLAF_RENOV) ;
+RENOV = arr( BRENOV * TX_RENOV / 100 ) * (1 - V_CNR) ;
+
+DRIRENOV = RIRENOV ;
+ARIRENOV = BRENOV * (1 - V_CNR) ;
+RRIRENOV = max( min( RENOV , IDOM11-DEC11-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC
+			       -RAIDE-RDIFAGRI-RFORET-RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP) , 0 );
+
+regle 40771:
+application : pro ,   oceans , iliad , batch  ;
+RFC = min(RDCOM,PLAF_FRCOMPTA * max(1,NBACT)) * present(RDCOM)*(1-V_CNR);
+NCOMP = max(1,NBACT)* present(RDCOM) * (1-V_CNR);
+DCOMP = RDCOM;
+ACOMP = RFC;
+regle 10040771:
+application : pro ,   oceans , iliad , batch  ;
+RCOMP = max( min( RFC , IDOM11-DEC11-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET-RTITPRISE
+		       -RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE-RSURV-RLOGDOM-RTOURNEUF-RTOURHOT
+		       -RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA-RCREAT ) , 0 );
+
+regle 4078:
+application : pro ,   oceans , iliad , batch  ;
+BCELLIERM = arr ( min ((CELLIERM + CELLIERM1 + 0 ), LIMCELLIERM ) /9 );
+BCELLIERM2 = arr ( min ((CELLIERM2 + 0 ), LIMCELLIERM ) /9 );
+	   
+
+BCELLIERD = arr ( min ((CELLIERD + CELLIERD1 + 0 ), LIMCELLIERD ) /9 );
+BCELLIERD2 = arr ( min ((CELLIERD2 + 0 ), LIMCELLIERD ) /9 );
+
+
+
+DCELDO = CELLIERD + CELLIERD1 ;
+ACELDO = (positif_ou_nul( CELLIERD + CELLIERD1 ) * BCELLIERD) * (1-V_CNR);
+
+
+DCELDOP = CELLIERD2 ; 
+ACELDOP = (positif_ou_nul( CELLIERD2) * BCELLIERD2) * (1-V_CNR); 
+
+
+DCELREPDOP9 = CELREPD09; 
+ACELREPDOP9 = DCELREPDOP9 * (1 - V_CNR); 
+
+
+DCELMET = CELLIERM + CELLIERM1 ;
+ACELMET = (positif_ou_nul( CELLIERM + CELLIERM1 ) * BCELLIERM) * (1-V_CNR) ;
+
+
+DCELNP = CELLIERM2 ;    
+ACELNP = (positif_ou_nul( CELLIERM2) * BCELLIERM2) * (1-V_CNR); 
+
+
+DCELREPNP9 = CELREPM09 ;    
+ACELREPNP9 = DCELREPNP9 * (1 - V_CNR);
+
+
+DCELRRED09 = CELRRED09;
+ACELRRED09 = CELRRED09 * (1 - V_CNR);
+
+
+RCELDOM = (positif(CELLIERD + CELLIERD1) * arr (ACELDO * (TX40/100))) 
+             * (1 - V_CNR);                           
+
+RCEL = (positif( CELLIERM + CELLIERM1 ) * arr (ACELMET * (TX25/100)))
+             * (1 - V_CNR);                           
+
+
+RCELD2 = positif(CELLIERD2) * arr (ACELDOP * (TX40/100)) 
+             * (1 - V_CNR);                           
+
+RCELM2 = positif( CELLIERM2 ) * arr (ACELNP * (TX25/100))
+             * (1 - V_CNR);                           
+
+REPCELD09 = positif(CELREPD09) * arr (CELREPD09 * (TX40/100))
+	     * (1 - V_CNR);
+
+REPCELM09 = positif( CELREPM09 ) * arr (CELREPM09 * (TX25/100))
+	     * (1 - V_CNR);
+
+regle 2004078:
+application : pro ,   oceans , iliad , batch  ;
+
+RCELDO = (max( min( RCELDOM, IDOM11-DEC11
+	  -RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET
+          -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+          -RSURV-RLOGDOM-RTOURNEUF-RTOURHOT-RTOURTRA-RTOURES-RTOURREP
+	  -RTOUHOTR-RTOUREPA-RCOMP-RCREAT-RRETU-RDONS-RLOGSOC-RDOMSOC1) , 0 ))
+	   * (1 - V_CNR);
+
+RCELDOP = (max( min( RCELD2, IDOM11-DEC11
+	  -RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAD-RDIFAGRI-RFORET
+          -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+          -RSURV-RLOGDOM-RTOURNEUF-RTOURHOT-RTOURTRA-RTOURES-RTOURREP
+	  -RTOUHOTR-RTOUREPA-RCOMP-RCREAT-RRETU-RON-RLOGSOC-RDOMSOC1
+	  -RCELDO) , 0 ))
+	   * (1 - V_CNR);
+
+RCELREPDOP9 = (max( min( REPCELD09 , IDOM11-DEC11
+	    -RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAD-RDIFAGRI-RFORET
+	    -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+            -RSURV-RLOGDOM-RTOURNEUF-RTOURHOT-RTOURTRA-RTOURES-RTOURREP
+            -RTOUHOTR-RTOUREPA-RCOMP-RCREAT-RRETU-RON-RLOGSOC-RDOMSOC1
+	    -RCELDO-RCELDOP) , 0))
+	    * (1 - V_CNR);
+
+RCELMET = (max( min( RCEL , IDOM11-DEC11
+	  -RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET
+          -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+          -RSURV-RLOGDOM-RTOURNEUF-RTOURHOT-RTOURTRA-RTOURES-RTOURREP
+	  -RTOUHOTR-RTOUREPA-RCOMP-RCREAT-RRETU-RON-RLOGSOC-RDOMSOC1
+	  -RCELDO-RCELDOP-RCELREPDOP9) , 0 ))
+	   * (1 - V_CNR);
+
+RCELNP = (max( min( RCELM2 , IDOM11-DEC11
+	  -RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAD-RDIFAGRI-RFORET
+          -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+          -RSURV-RLOGDOM-RTOURNEUF-RTOURHOT-RTOURTRA-RTOURES-RTOURREP
+	  -RTOUHOTR-RTOUREPA-RCOMP-RCREAT-RRETU-RON-RLOGSOC-RDOMSOC1
+	  -RCELDO-RCELDOP-RCELREPDOP9-RCELMET) , 0 ))
+	   * (1 - V_CNR);
+
+RCELREPNP9 = (max( min( REPCELM09 , IDOM11-DEC11
+	    -RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET
+	    -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+            -RSURV-RLOGDOM-RTOURNEUF-RTOURHOT-RTOURTRA-RTOURES-RTOURREP
+            -RTOUHOTR-RTOUREPA-RCOMP-RCREAT-RRETU-RON-RLOGSOC-RDOMSOC1
+	    -RCELDO-RCELDOP-RCELREPDOP9-RCELMET-RCELNP ) , 0 ))
+	    * (1 - V_CNR);
+
+RCELRRED09 = (max( min( CELRRED09 , IDOM11-DEC11
+           -RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET
+	   -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+	   -RSURV-RLOGDOM-RTOURNEUF-RTOURHOT-RTOURTRA-RTOURES-RTOURREP
+	   -RTOUHOTR-RTOUREPA-RCOMP-RCREAT-RRETU-RON-RLOGSOC-RDOMSOC1
+	   -RCELDO-RCELDOP-RCELREPDOP9-RCELMET-RCELNP-RCELREPNP9 ) , 0 ))
+	    * (1 - V_CNR);
+
+RIVCELDO1 = ACELDO * positif(CELLIERD) ; 
+
+RIVCELDO2 = RIVCELDO1;
+
+RIVCELDO3 = RIVCELDO1;
+
+RIVCELDO4 = RIVCELDO1;
+
+RIVCELDO5 = RIVCELDO1;
+
+RIVCELDO6 = RIVCELDO1;
+
+RIVCELDO7 = RIVCELDO1;
+
+RIVCELDO8 = (min ((CELLIERD + 0 ), LIMCELLIERD ) - ( 8 * RIVCELDO1))
+	     * (1 - V_CNR);
+
+
+RIVCELMET1 = ACELMET * positif(CELLIERM); 
+RIVCELMET2 = RIVCELMET1; 
+RIVCELMET3 = RIVCELMET1; 
+RIVCELMET4 = RIVCELMET1; 
+RIVCELMET5 = RIVCELMET1; 
+RIVCELMET6 = RIVCELMET1; 
+RIVCELMET7 = RIVCELMET1; 
+
+RIVCELMET8 = (min((CELLIERM + 0) , LIMCELLIERM) - (8 * RIVCELMET1))
+	      * (1 - V_CNR);
+
+RIVCELDPA1 = ACELDO * positif(CELLIERD1) ; 
+RIVCELDPA2 = RIVCELDPA1; 
+RIVCELDPA3 = RIVCELDPA1; 
+RIVCELDPA4 = RIVCELDPA1; 
+RIVCELDPA5 = RIVCELDPA1; 
+RIVCELDPA6 = RIVCELDPA1; 
+RIVCELDPA7 = RIVCELDPA1; 
+
+RIVCELDPA8 = (min ((CELLIERD1 + 0 ), LIMCELLIERD ) - (8 * RIVCELDPA1))
+	      * (1 - V_CNR);
+
+
+RIVCELMPA1 = ACELMET * positif(CELLIERM1) ; 
+RIVCELMPA2 = RIVCELMPA1; 
+RIVCELMPA3 = RIVCELMPA1; 
+RIVCELMPA4 = RIVCELMPA1; 
+RIVCELMPA5 = RIVCELMPA1; 
+RIVCELMPA6 = RIVCELMPA1; 
+RIVCELMPA7 = RIVCELMPA1; 
+
+RIVCELMPA8 = (min ((CELLIERM1 + 0 ), LIMCELLIERM ) - (8 * RIVCELMPA1))
+	  * positif(CELLIERM1) * (1 - V_CNR);
+
+
+RIVCELDOP1 = ACELDOP * positif(CELLIERD2) ; 
+RIVCELDOP2 = RIVCELDOP1;
+RIVCELDOP3 = RIVCELDOP1;
+RIVCELDOP4 = RIVCELDOP1;
+RIVCELDOP5 = RIVCELDOP1;
+RIVCELDOP6 = RIVCELDOP1;
+RIVCELDOP7 = RIVCELDOP1;
+
+RIVCELDOP8 = (min ((CELLIERD2 + 0 ), LIMCELLIERD) - (8 * RIVCELDOP1))
+	       * (1 - V_CNR);
+
+
+RIVCELNP1 = ACELNP * positif(CELLIERM2) ; 
+RIVCELNP2 = RIVCELNP1;
+RIVCELNP3 = RIVCELNP1;
+RIVCELNP4 = RIVCELNP1;
+RIVCELNP5 = RIVCELNP1;
+RIVCELNP6 = RIVCELNP1;
+RIVCELNP7 = RIVCELNP1;
+
+RIVCELNP8 = (min ((CELLIERM2 + 0 ), LIMCELLIERD )
+	     - ( 8 * RIVCELNP1))
+	       * (1 - V_CNR);
+
+
+
+RCELRED09 = (max(0, CELRRED09 - RCELRRED09)) 
+	    * positif(CELRRED09) * (1 - V_CNR);
+
+
+RCELRED = (max( 0, RCEL + RCELDOM - RCELMET - RCELDO)) * positif(CELLIERM + CELLIERD) 
+				     * (1-positif(CELLIERM1 + CELLIERD1))
+				     * (1 - V_CNR);
+
+
+RCELREP = RCELRED09 + RCELRED;
+
+
+RCELREPA = (max( 0, (RCEL - RCELMET + RCELDOM - RCELDO) * positif(CELLIERM1 + CELLIERD1) * (1-positif(CELLIERM+ CELLIERD))  
+		   + RCELD2 - RCELDOP
+		   + RCELM2 - RCELNP 	
+		   + REPCELD09 + REPCELM09 - RCELREPNP9 - RCELREPDOP9)) 
+	  * positif(CELLIERM1 + CELLIERD1 + CELLIERM2 + CELLIERD2 + CELREPM09 + CELREPD09)
+	  * (1-V_CNR) ;
+	 
+
+
+
+REPCELDO = somme(i=1,2,3,4,5,6,7 : RIVCELDOi) + RIVCELDO8;  
+REPCELMET = somme(i=1,2,3,4,5,6,7 : RIVCELMETi) + RIVCELMET8;  
+REPCELDPA = somme(i=1,2,3,4,5,6,7 : RIVCELDPAi) + RIVCELDPA8;  
+REPCELMPA = somme(i=1,2,3,4,5,6,7 : RIVCELMPAi) + RIVCELMPA8;  
+REPCELDOP = somme(i=1,2,3,4,5,6,7 : RIVCELDOPi) + RIVCELDOP8;  
+REPCELNP = somme(i=1,2,3,4,5,6,7 : RIVCELNPi) + RIVCELNP8;  
+
+
+regle 4079:
+application : pro ,   oceans , iliad , batch  ;
+
+BILNEUF= min (INVLOCNEUF , arr( LIMLOC * (1+BOOL_0AM) /6) ) ;
+BILHOT= min (INVLOCHOT , arr( LIMLOC * (1+BOOL_0AM) /6) ) * (1-positif(null(2-V_REGCO)+null(4-V_REGCO)));
+BILLOCT1= min (INVLOCT1 , LIMLOC * (1+BOOL_0AM)  ) * (1-positif(null(2-V_REGCO)+null(4-V_REGCO)));
+BILLOCT2= min (INVLOCT2 , max(( LIMLOC * (1+BOOL_0AM) - BILLOCT1 ),0)) * (1-positif(null(2-V_REGCO)+null(4-V_REGCO))) ;
+BILRES= min (INVLOCRES , arr( LIMLOC * (1+BOOL_0AM) /6) ) ;
+
+regle 40791 :
+application : pro ,   oceans , iliad , batch  ;
+RILNEUF = arr(BILNEUF * TX_REDIL25 / 100);
+RILHOT  = arr(BILHOT * TX_REDIL25 / 100);
+RILLOCT1 = (BILLOCT1 * TX_REDIL40 / 100);
+RILLOCT2 = (BILLOCT2 * TX_REDIL20 / 100);
+RILTRA = arr(RILLOCT1 + RILLOCT2);
+RILRES = arr(BILRES * TX_REDIL20 / 100);
+RITOUR = RILNEUF 
+        + RILHOT
+        + RILTRA
+	+ RILRES
+        + arr((REPINVLOCINV + RINVLOCINV) * TX_REDIL25 / 100)
+        + arr((REPINVLOCREA + RINVLOCREA)* TX_REDIL20 / 100) ;
+RIHOTR = arr((INVLOCHOTR1 + INVLOCHOTR) * TX_REDIL25 / 100) * (1-positif(null(2-V_REGCO)+null(4-V_REGCO)));
+
+
+RIVL1 = (min( arr( max( 0 , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6) 
+            , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)))
+        + min(arr ( max ( 0 , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6) 
+            , min(INVLOCRES,LIMLOC*(1+BOOL_0AM))))
+     * positif(INDLOCNEUF + INDLOCRES) ;
+
+RIVL1RES = (min ( max ( 0 , INVLOCNEUF - arr(LIMLOC*(1+BOOL_0AM)/6)),
+                        arr(LIMLOC * (1+BOOL_0AM) / 6 )) 
+          + min ( max ( 0, INVLOCRES - arr(LIMLOC*(1+BOOL_0AM)/6)),
+       	                arr(LIMLOC * (1+BOOL_0AM) / 6 )))
+                * (1 - positif(INDLOCNEUF + INDLOCRES));
+
+RIVL2 = (max(min( arr( max( 0 , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6)
+              , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - RIVL1), 0)
+        + max(min(arr ( max ( 0 , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6) 
+            , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - RIVL1), 0))
+     * positif(INDLOCNEUF + INDLOCRES);
+
+RIVL2RES = (min ( max ( 0, INVLOCNEUF - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVL1RES),
+		       arr(LIMLOC * (1+BOOL_0AM) / 6 ))
+           + min ( max ( 0, INVLOCRES - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVL1RES),
+		       arr(LIMLOC * (1+BOOL_0AM) / 6 )))
+                * (1 - positif(INDLOCNEUF + INDLOCRES));
+
+RIVL3 = (max(min(arr ( max ( 0 , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6)
+              , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - RIVL1 - RIVL2), 0)
+        + max(min(arr ( max ( 0 , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6) 
+            , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - RIVL1 - RIVL2), 0))
+     * positif(INDLOCNEUF + INDLOCRES);
+
+RIVL3RES = (min ( max ( 0, INVLOCNEUF - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVL1RES - RIVL2RES),
+		       arr(LIMLOC * (1+BOOL_0AM) / 6 ))
+           + min ( max ( 0, INVLOCRES - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVL1RES - RIVL2RES),
+		       arr(LIMLOC * (1+BOOL_0AM) / 6 )))
+                * (1 - positif(INDLOCNEUF + INDLOCRES));
+
+RIVL4 = (max(min(arr ( max ( 0 , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6)
+              , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - RIVL1 - RIVL2 - RIVL3), 0)
+        + max(min(arr ( max ( 0 , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6) 
+            , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - RIVL1 - RIVL2 - RIVL3), 0))
+     * positif(INDLOCNEUF + INDLOCRES);
+
+RIVL4RES = (min ( max ( 0, INVLOCNEUF - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVL1RES - RIVL2RES - RIVL3RES),
+		       arr(LIMLOC * (1+BOOL_0AM) / 6 ))
+           + min ( max ( 0, INVLOCRES - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVL1RES - RIVL2RES - RIVL3RES),
+		       arr(LIMLOC * (1+BOOL_0AM) / 6 )))
+                * (1 - positif(INDLOCNEUF + INDLOCRES));
+
+RIVL5 = (max(min(arr ( max ( 0 , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6)
+              , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - RIVL1 - RIVL2 - RIVL3 - RIVL4), 0)
+        + max(min(arr ( max ( 0 , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6) 
+            , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - RIVL1 - RIVL2 - RIVL3 - RIVL4), 0))
+     * positif(INDLOCNEUF + INDLOCRES);
+
+RIVL5RES = (min ( max ( 0, INVLOCNEUF - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVL1RES - RIVL2RES  - RIVL3RES - RIVL4RES),
+		       LIMLOC*(1+BOOL_0AM)-arr(LIMLOC * (1+BOOL_0AM) / 6 ) - RIVL1RES - RIVL2RES - RIVL3RES - RIVL4RES)
+           + min ( max ( 0, INVLOCRES - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVL1RES - RIVL2RES  - RIVL3RES - RIVL4RES),
+		       LIMLOC*(1+BOOL_0AM)-arr(LIMLOC * (1+BOOL_0AM) / 6 ) - RIVL1RES - RIVL2RES - RIVL3RES - RIVL4RES))
+                * (1 - positif(INDLOCNEUF + INDLOCRES));
+
+RIVL6 = (max(min ( max ( 0, INVLOCNEUF - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVL1 - RIVL2 - RIVL3 - RIVL4 - RIVL5 ),
+		     LIMLOC*(1+BOOL_0AM)-arr(LIMLOC * (1+BOOL_0AM) / 6 )-RIVL1-RIVL2-RIVL3-RIVL4 - RIVL5 ), 0)
+        + max( min ( max ( 0, INVLOCRES - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVL1 - RIVL2 - RIVL3 - RIVL4 - RIVL5),
+		       LIMLOC*(1+BOOL_0AM)-arr(LIMLOC * (1+BOOL_0AM) / 6 ) - RIVL1 - RIVL2 - RIVL3 - RIVL4 - RIVL5), 0))
+     * positif(INDLOCNEUF + INDLOCRES);
+
+BREPNEUF = min (INVLOCNEUF , arr( LIMLOC * (1+BOOL_0AM)) ) * positif(INDLOCRES + INDLOCNEUF);
+BRNEUF = max(0,BREPNEUF - BILNEUF)* positif(INDLOCRES + INDLOCNEUF);
+REPNEUF = arr(BRNEUF /6) * positif(INDLOCNEUF + INDLOCRES);
+BREPRES = min (INVLOCRES , arr( LIMLOC * (1+BOOL_0AM) ) ) * positif(INDLOCRES + INDLOCNEUF);
+BRRES = max(0,BREPRES - BILRES)* positif(INDLOCRES + INDLOCNEUF);
+REPRES = arr(BRRES /6) * positif(INDLOCNEUF + INDLOCRES);
+
+RIVLHOT1 = min ( max ( 0 , INVLOCHOT 
+				 - arr(LIMLOC*(1+BOOL_0AM)/6)),
+              arr(LIMLOC * (1+BOOL_0AM) / 6 )); 
+RIVLHOT2 = min ( max ( 0 , INVLOCHOT 
+				 - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVLHOT1),
+              arr(LIMLOC * (1+BOOL_0AM) / 6 )); 
+RIVLHOT3 = min ( max ( 0 , INVLOCHOT 
+				 -arr( LIMLOC*(1+BOOL_0AM)/6) - RIVLHOT1 - RIVLHOT2),
+              arr(LIMLOC * (1+BOOL_0AM) / 6 ));
+RIVLHOT4 =  min ( max ( 0, INVLOCHOT 
+				- arr(LIMLOC*(1+BOOL_0AM)/6) - RIVLHOT1 - RIVLHOT2 - RIVLHOT3 ),
+		arr(LIMLOC * (1+BOOL_0AM) / 6) );
+RIVLHOT5 =  min ( max ( 0, INVLOCHOT 
+				- arr(LIMLOC*(1+BOOL_0AM)/6) - RIVLHOT1 - RIVLHOT2 - RIVLHOT3 - RIVLHOT4),
+		LIMLOC*(1+BOOL_0AM)-arr(LIMLOC * (1+BOOL_0AM) / 6)- RIVLHOT1 - RIVLHOT2 - RIVLHOT3 - RIVLHOT4 );
+
+
+DTOURNEUF = INVLOCNEUF ;
+ATOURNEUF = BILNEUF  ;
+
+DTOURHOT = INVLOCHOT;
+ATOURHOT = BILHOT ;
+
+DTOURTRA = INVLOCT1 + INVLOCT2;
+ATOURTRA = (BILLOCT1 + BILLOCT2) ;
+
+DTOURES = INVLOCRES;
+ATOURES = BILRES ;
+
+DTOURREP = REPINVLOCINV + RINVLOCINV ;
+ATOURREP = REPINVLOCINV + RINVLOCINV ;
+
+DTOUHOTR = INVLOCHOTR1 + INVLOCHOTR ;
+ATOUHOTR = (INVLOCHOTR1 + INVLOCHOTR) * (1-positif(null(2-V_REGCO)+null(4-V_REGCO)));
+
+DTOUREPA = REPINVLOCREA + RINVLOCREA ;
+ATOUREPA = REPINVLOCREA + RINVLOCREA ;
+
+regle 10040791 :
+application : pro ,   oceans , iliad , batch  ;
+
+RTOURNEUF = max( min( RILNEUF , IDOM11-DEC11-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC
+		-RAIDE-RDIFAGRI-RFORET-RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO
+		-RSOUFIP-RRIRENOV-RFOR-RHEBE-RSURV-RLOGDOM ) , 0 );
+
+RTOURHOT = max( min( RILHOT , IDOM11-DEC11-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC
+	 -RAIDE-RDIFAGRI-RFORET-RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP
+	 -RRIRENOV-RFOR-RHEBE-RSURV-RLOGDOM-RTOURNEUF ) , 0 );
+
+RTOURTRA = max( min( RILTRA, IDOM11-DEC11-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC
+	 -RAIDE-RDIFAGRI-RFORET-RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP
+	 -RRIRENOV-RFOR-RHEBE-RSURV-RLOGDOM-RTOURNEUF-RTOURHOT ) , 0 );
+
+RTOURES = max( min( RILRES , IDOM11-DEC11-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC
+	 -RAIDE-RDIFAGRI-RFORET-RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP
+	 -RRIRENOV-RFOR-RHEBE-RSURV-RLOGDOM-RTOURNEUF-RTOURHOT-RTOURTRA ) , 0 );
+
+RTOURREP = max( min( arr(ATOURREP * TX_REDIL25 / 100) , IDOM11-DEC11
+         -RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET
+	 -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR
+	 -RHEBE-RSURV-RLOGDOM-RTOURNEUF-RTOURHOT-RTOURTRA-RTOURES) , 0 );
+
+RTOUHOTR = max( min( RIHOTR , IDOM11-DEC11-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC
+	 -RAIDE-RDIFAGRI-RFORET-RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP
+	 -RRIRENOV-RFOR-RHEBE-RSURV-RLOGDOM-RTOURNEUF-RTOURHOT-RTOURTRA-RTOURES-RTOURREP ) , 0 )
+	 * (1-positif(null(2-V_REGCO)+null(4-V_REGCO)));
+
+RTOUREPA = max( min( arr(ATOUREPA * TX_REDIL20 / 100) , IDOM11-DEC11
+         -RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET
+	 -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR
+	 -RHEBE-RSURV-RLOGDOM-RTOURNEUF-RTOURHOT-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR) , 0 );
+
+RTOUR = RTOURNEUF + RTOURREP ;
+
+regle 407011 :
+application : pro ,   oceans , iliad , batch  ;
+BADCRE = min (CREAIDE, min((LIM_AIDOMI * (1 - positif(PREMAIDE)) + LIM_PREMAIDE * positif(PREMAIDE) 
+		           + MAJSALDOM * ( positif_ou_nul(V_ANREV-V_0DA-65)
+				         + positif_ou_nul(V_ANREV-V_0DB-65)
+						     * BOOL_0AM
+				         + V_0CF + V_0DJ + V_0DN 
+				         + (V_0CH + V_0DP)/2
+				         ) 
+		           ),LIM_AIDOMI3 * (1 - positif(PREMAIDE)) + LIM_PREMAIDE2 * positif(PREMAIDE) ) * (1-positif(INAIDE + 0))
+                    +  LIM_AIDOMI2 * positif(INAIDE + 0));
+BADPLAF = min((LIM_AIDOMI * (1 - positif(PREMAIDE)) + LIM_PREMAIDE * positif(PREMAIDE) 
+		           + MAJSALDOM * ( positif_ou_nul(V_ANREV-V_0DA-65)
+				         + positif_ou_nul(V_ANREV-V_0DB-65)
+						     * BOOL_0AM
+				         + ASCAPA 
+				         + V_0CF + V_0DJ + V_0DN 
+				         + (V_0CH + V_0DP)/2
+				         ) 
+		          ),LIM_AIDOMI3 * (1 - positif(PREMAIDE)) + LIM_PREMAIDE2 * positif(PREMAIDE) ) * (1-positif(INAIDE + 0))
+                    +  LIM_AIDOMI2 * positif(INAIDE + 0);
+BADPLAFIMPUT =  max(0,BADPLAF-BADCRE);
+BAD =  min (RVAIDE, BADPLAFIMPUT);
+
+RAD = arr (BAD * TX_AIDOMI /100) * (1 - V_CNR) ;
+
+DAIDE = RVAIDE;
+AAIDE = BAD * (1-V_CNR) ;
+RAIDE = max( min( RAD , IDOM11-DEC11-RREPA-RSYND-RFIPC) , 0 );
+DAIDC = CREAIDE;
+AAIDC = BADCRE * (1-V_CNR) ;
+CIADCRE = arr (BADCRE * TX_AIDOMI /100) * (1 - V_CNR) ;
+
+regle 4071 :
+application : pro ,   oceans , iliad , batch  ;
+BPATNAT = (min(PATNAT,LIM_PATNAT)) * (1 - V_CNR);
+RAPATNAT = arr (BPATNAT * TX_PATNAT/100) ;
+DPATNAT = PATNAT;
+APATNAT = BPATNAT;
+regle 20004071 :
+application : pro ,   oceans , iliad , batch  ;
+RPATNAT = max( min( RAPATNAT , IDOM11-DEC11
+           -RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET-RTITPRISE
+	   -RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE-RSURV-RLOGDOM-RTOURNEUF-RTOURHOT
+	   -RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA-RCOMP-RCREAT-RRETU-RDONS-RLOGSOC-RDOMSOC1
+	   -RCELDO-RCELDOP-RCELREPDOP9-RCELMET-RCELNP-RCELREPNP9-RCELRRED09-RRESINEUV-RRESIVIEU
+	   -RMEUBLE-RREDMEUB-RNOUV) , 0 );
+
+REPNATR6 = max(RAPATNAT - RPATNAT,0)*(1-V_CNR); 
+
+PROTPAT = RPATNAT ;
+REPPROTPAT = REPNATR6 ; 
+
+regle 40704 :
+application : pro ,   oceans , iliad , batch  ;
+
+RRI1 = IDOM11-DEC11-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET
+       -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE-RSURV ;
+
+regle 40705 :
+application : pro ,   oceans , iliad , batch  ;
+
+NRTOURNEUF = max( min( RILNEUF , RRI1-NRLOGDOM ) , 0 );
+
+NRTOURHOT = max( min( RILHOT , RRI1-NRLOGDOM-NRTOURNEUF ) , 0 );
+
+NRTOURTRA = max( min( RILTRA, RRI1-NRLOGDOM-NRTOURNEUF-NRTOURHOT ) , 0 );
+
+NRTOURES = max( min( RILRES , RRI1-NRLOGDOM-NRTOURNEUF-NRTOURHOT-NRTOURTRA ) , 0 );
+
+NRTOURREP = max( min( arr(ATOURREP * TX_REDIL25 / 100) , RRI1-NRLOGDOM-NRTOURNEUF-NRTOURHOT-NRTOURTRA-NRTOURES) , 0 );
+
+NRTOUHOTR = max( min( RIHOTR , RRI1-NRLOGDOM-NRTOURNEUF-NRTOURHOT-NRTOURTR
\ No newline at end of file
diff --git a/sources2010m_7_1/chap-51.m b/sources2010m_7_1/chap-51.m
new file mode 100644
index 0000000000000000000000000000000000000000..7def8fa07d0fbbb8fccc3e779b844d560a4890b6
--- /dev/null
+++ b/sources2010m_7_1/chap-51.m
@@ -0,0 +1,488 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+  ####   #    #    ##    #####         #####      #
+ #    #  #    #   #  #   #    #        #          #
+ #       ######  #    #  #    #        #          #
+ #       #    #  ######  #####         #####      #
+ #    #  #    #  #    #  #                 #      #
+  ####   #    #  #    #  #     #####   #####      #
+ #
+ #
+ #
+ #
+ #
+ #
+ #           CALCUL DES DROITS SIMPLES RESULTANT DU TAUX PROGRESSIF
+ #
+ #
+ #
+ #
+ #
+ #
+regle 5010:
+application : pro , bareme , oceans , iliad , batch  ;
+IMT11 = max(ID11-ADO1 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IMT12 = max(ID11 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IMTANT11 = max(IDANT11-ADO1 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IMTANT12 = max(IDANT11 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IPHQ = arr(IMT11 * (IMPFHQ1 / ID11)) ;
+IPHQ2 = arr(IMT12 * (IMPFHQ1 / ID11)) ;
+IPHQANT2 = arr(IMTANT12 * (IMPFHQANT1 / IDANT11)) ;
+IPQT = IMT11 - IPHQ;
+IPQT2 = IMT12 - IPHQ2;
+regle 502:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z = 1,2:
+ID1z =  arr( IPQz * arr(RIz+REVQUO) / arr(RB0z+TONEQUO) );
+IDANT11 =  arr( IPQANT1 * arr(RI1+REVQUO) / arr(RB01+TONEQUO) );
+ID14 = IN04;
+ID16 = IN06;
+IMPFHQ1 = (1-positif(IPTEFN)) * EXO1 * arr(ID11 * IPQ01 / IPQ1);
+IMPFHQANT1 = (1-positif(IPTEFN)) * EXO1 
+             * arr(IDANT11 * IPQANT01 / IPQANT1);
+regle 50202:
+application : pro , iliad , batch;
+IPVCT = max( 0 ,IN01 - IN03 );
+regle 5021:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+IPQz = IPQ0z*EXO1 + IPQ100z;
+IPQANT1 = IPQANT01*EXO1 + IPQANT1001;
+IPQ5 = IPQ05 + IPQ1005;
+regle 50201:
+application : pro , oceans , iliad , batch  ;
+pour z = 1,2:
+IDOM3z = (positif(IND_TDR) * IDOM14)
+         +
+     ((1-positif(IND_TDR)) * ((V_CR2 * IDOM1z) + ((1-V_CR2) * (IPQz - ADO3z))));
+regle 50211:
+application : pro , oceans ,iliad , batch  ;
+SEUILEXO = SEUIL_EXO1 + (SEUIL_EXO2 - SEUIL_EXO1)
+           * positif_ou_nul( max(AGV,AGC) - LIM_AGE_EXO );
+EXO1 =    (1-min(abs(IPTEFN) + IPTEFP , 1)) * 
+                                  positif(R1649+PREREV + RG + TOTALQUO +(AB
+                                          *(1-present(IPVLOC)))-SEUILEXO)   
+            + 
+            (min(abs(IPTEFN) + IPTEFP , 1)) 
+        ; 
+regle 502110:
+application :  bareme  ;
+EXO1 =   present(V_9ZZ);
+
+regle 5022:
+application : pro , oceans , iliad , batch  ;
+IMI = arr (BMI * TX_MIN_MET / 100 
+              + arr(PRODOM + PROGUY) * TX_MIN_DOM / 100) 
+          * V_CR2;
+IMO = arr (BMI * TMOY / 100
+              + arr(PRODOM + PROGUY) * TX_MIN_DOM / 100) 
+          * V_CR2;
+RASAR = arr (BRAS * TX_RASAR / 100) ;
+regle 50221:
+application : pro , oceans , bareme , iliad , batch  ;
+BMI = arr( RI1 + REVQUO - PRODOM - PROGUY ) ;
+regle 50222:
+application : pro , oceans , iliad , batch  ;
+TMOY = inf(IPQ5/(max(0,RB05 + TONEQUOM)) * 10000) / 100 * V_CR2;
+regle 503:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2,5,7:
+IQUOTOTz = IN5z - IN0z;
+IQUOTOTANT1 = INANT51 - INANT01;
+regle 50299:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQ1z = positif(somme(i=2..4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTz * RPQ1 / TONEQUO1)
+         + (1 - positif(somme(i=2..4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * IQUOTOTz ;
+ZIPQANT11 = positif(somme(i=2..4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTANT1 * RPQ1 / TONEQUO1)
+         + (1 - positif(somme(i=2..4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * IQUOTOTANT1 ;
+ZIPQ15 = positif(somme(i=2..4:GLiM)+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+          * arr(IQUOTOT5 * RPQ1M / TONEQUOM1)
+         + (1 - positif(somme(i=2..4:GLiM)+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * IQUOTOT7 ;
+pour z=1,2:
+ZIPQ2z = positif(somme(i=3,4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTz * RPQ2 / TONEQUO1)
+         + (1 - positif(somme(i=3,4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTz-ZIPQ1z) ;
+ZIPQANT21 = positif(somme(i=3,4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTANT1 * RPQ2 / TONEQUO1)
+         + (1 - positif(somme(i=3,4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTANT1 -ZIPQANT11);
+ZIPQ25 = positif(somme(i=3,4:GLiM)+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+          * arr(IQUOTOT5 * RPQ2M / TONEQUOM1)
+         + (1 - positif(somme(i=3,4:GLiM)+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * (IQUOTOT7 -ZIPQ15);
+pour z=1,2:
+ZIPQ3z = positif(GL4+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTz * RPQ3 / TONEQUO1)
+         + (1 - positif(GL4+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTz -somme(x=1,2:ZIPQxz));
+ZIPQANT31 = positif(GL4+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTANT1 * RPQ3 / TONEQUO1)
+         + (1 - positif(GL4+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTANT1 -somme(x=1,2:ZIPQANTx1));
+ZIPQ35 = positif(GL4M+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+          * arr(IQUOTOT5 * RPQ3M / TONEQUOM1)
+         + (1 - positif(GL4M+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * (IQUOTOT7 -somme(x=1,2:ZIPQx5));
+pour z=1,2:
+ZIPQ4z = positif(GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTz * RPQ4 / TONEQUO1)
+         + (1 - positif(GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTz -somme(x=1..3:ZIPQxz));
+ZIPQANT41 = positif(GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTANT1 * RPQ4 / TONEQUO1)
+         + (1 - positif(GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTANT1 -somme(x=1..3:ZIPQANTx1));
+ZIPQ45 = positif(GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+          * arr(IQUOTOT5 * RPQ4M / TONEQUOM1)
+         + (1 - positif(GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * (IQUOTOT7 -somme(x=1..3:ZIPQx5));
+regle 50341:
+application : pro , oceans , bareme , iliad , batch  ;
+ZIPQ1TOT= somme(i=1..4 : ZIPQi1);
+ZIPQ2TOT= somme(i=1..4 : ZIPQi2);
+ZIPQ5TOT= somme(i=1..4 : ZIPQi5);
+ZIPQANT1TOT= somme(i=1..4 : ZIPQANTi1);
+regle 5034:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQFVz = positif(somme(i=C,1..4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQFV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT);
+ZIPQFANTV1 = positif(somme(i=C,1..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQFV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT) ;
+ZIPQFV5 = positif(somme(i=C,1..4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQFVM/TONEQUOM1)
+         + (1 - positif(somme(i=C,1..4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT);
+pour z=1,2:
+ZIPQFCz = positif(somme(i=1..4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQFC/TONEQUO1)
+         + (1 - positif(somme(i=1..4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-ZIPQFVz);
+ZIPQFANTC1 = positif(somme(i=1..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQFC/TONEQUO1)
+         + (1 - positif(somme(i=1..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANTV1) ;
+ZIPQFC5 = positif(somme(i=1..4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQFCM/TONEQUOM1)
+         + (1 - positif(somme(i=C,1..4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-ZIPQFV5);
+pour z=1,2:
+ZIPQF1z = positif(somme(i=2,3,4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQF1/TONEQUO1)
+         + (1 - positif(somme(i=2..4:GLFiM)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C:ZIPQFxz));
+ZIPQFANT11 = positif(somme(i=2..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQF1/TONEQUO1)
+         + (1 - positif(somme(i=2..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C:ZIPQFANTx1)) ;
+ZIPQF15 = positif(somme(i=2,3,4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQF1M/TONEQUOM1)
+         + (1 - positif(somme(i=2..4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C:ZIPQFx5));
+pour z=1,2:
+ZIPQF2z = positif(somme(i=3,4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQF2/TONEQUO1)
+         + (1 - positif(somme(i=3,4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C,1:ZIPQFxz));
+ZIPQFANT21 = positif(somme(i=3,4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQF2/TONEQUO1)
+         + (1 - positif(somme(i=3,4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C,1:ZIPQFANTx1)) ;
+ZIPQF25 = positif(somme(i=3,4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQF2M/TONEQUOM1)
+         + (1 - positif(somme(i=3,4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C,1:ZIPQFx5));
+pour z=1,2:
+ZIPQF3z = positif(GLF4+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQF3/TONEQUO1)
+         + (1 - positif(GLF4+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C,1,2:ZIPQFxz));
+ZIPQFANT31 = positif(GLF4 +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQF3/TONEQUO1)
+         + (1 - positif(GLF4 +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C,1,2:ZIPQFANTx1)) ;
+ZIPQF35 = positif(GLF4M +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQF3M/TONEQUOM1)
+         + (1 - positif(GLF4M +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C,1,2:ZIPQFx5));
+pour z=1,2:
+ZIPQF4z = positif(GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQF4/TONEQUO1)
+         + (1 - positif(GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C,1..3:ZIPQFxz));
+ZIPQFANT41 = positif(GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQF4/TONEQUO1)
+         + (1 - positif(GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C,1..3:ZIPQFANTx1)) ;
+ZIPQF45 = positif(GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQF4M/TONEQUOM1)
+         + (1 - positif(GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C,1..3:ZIPQFx5));
+ZIPQF1TOT= somme(i=V,C,1..4 : ZIPQFi1);
+ZIPQF2TOT= somme(i=V,C,1..4 : ZIPQFi2);
+ZIPQF5TOT= somme(i=V,C,1..4 : ZIPQFi5);
+ZIPQFANT1TOT= somme(i=V,C,1..4 : ZIPQFANTi1);
+regle 50396:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQPALIMVz = positif(somme(i=C,1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIMV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT);
+ZIPQPALIMANTV1 = positif(somme(i=C,1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIMV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT
+        );
+ZIPQPALIMV5 = positif(somme(i=C,1..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIMVM/TONEQUOM1)
+         + (1 - positif(somme(i=C,1..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT );
+pour z=1,2:
+ZIPQPALIMCz = positif(somme(i=1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIMC/TONEQUO1)
+         + (1 - positif(somme(i=1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMVz);
+ZIPQPALIMANTC1 = positif(somme(i=1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIMC/TONEQUO1)
+         + (1 - positif(somme(i=1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANTV1
+        );
+ZIPQPALIMC5 = positif(somme(i=1..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIMCM/TONEQUOM1)
+         + (1 - positif(somme(i=1..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIMV5 );
+pour z=1,2:
+ZIPQPALIM1z = positif(somme(i=2..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIM1/TONEQUO1)
+         + (1 - positif(somme(i=2..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C:ZIPQPALIMiz));
+ZIPQPALIMANT11 = positif(somme(i=2..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIM1/TONEQUO1)
+         + (1 - positif(somme(i=2..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM15 = positif(somme(i=2..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIM1M/TONEQUOM1)
+         + (1 - positif(somme(i=2..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C:ZIPQPALIMi5));
+pour z=1,2:
+ZIPQPALIM2z = positif(somme(i=3,4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIM2/TONEQUO1)
+         + (1 - positif(somme(i=3,4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C,1:ZIPQPALIMiz));
+ZIPQPALIMANT21 = positif(somme(i=3,4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIM2/TONEQUO1)
+         + (1 - positif(somme(i=3,4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C,1:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM25 = positif(somme(i=3,4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIM2M/TONEQUOM1)
+         + (1 - positif(somme(i=3,4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C,1:ZIPQPALIMi5));
+pour z=1,2:
+ZIPQPALIM3z = positif(GLPALIM4+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIM3/TONEQUO1)
+         + (1 - positif(GLPALIM4+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C,1..2:ZIPQPALIMiz));
+ZIPQPALIMANT31 = positif(GLPALIM4+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIM3/TONEQUO1)
+         + (1 - positif(GLPALIM4+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C,1..2:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM35 = positif(GLPALIM4M+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIM3M/TONEQUOM1)
+         + (1 - positif(GLPALIM4M+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C,1..2:ZIPQPALIMi5));
+pour z=1,2:
+ZIPQPALIM4z = positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIM4/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C,1..3:ZIPQPALIMiz));
+ZIPQPALIMANT41 = positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIM4/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C,1..3:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM45 = positif(GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIM4M/TONEQUOM1)
+         + (1 - positif(GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C,1..3:ZIPQPALIMi5));
+ZIPQPALIM1TOT= somme(i=V,C,1..4 : ZIPQPALIMi1);
+ZIPQPALIM2TOT= somme(i=V,C,1..4 : ZIPQPALIMi2);
+ZIPQPALIM5TOT= somme(i=V,C,1..4 : ZIPQPALIMi5);
+ZIPQPALIMANT1TOT= somme(i=V,C,1..4 : ZIPQPALIMANTi1);
+regle 50397:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMDCz = positif(GLRCMFU+GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMDC/TONEQUO1)
+         + (1 - positif(GLRCMFU+GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT);
+ZIPQRCMDCANT1 = positif(GLRCMFU+GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMDC/TONEQUO1)
+         + (1 - positif(GLRCMFU+GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT
+        );
+ZIPQRCMDC5 = positif(GLRCMFUM+GLRCMCHM+GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMDCM/TONEQUOM1)
+         + (1 - positif(GLRCMFUM+GLRCMCHM+GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT);
+regle 50398:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMFUz = positif(GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMFU/TONEQUO1)
+         + (1 - positif(GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz);
+ZIPQRCMFUANT1 = positif(GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMFU/TONEQUO1)
+         + (1 - positif(GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1
+        );
+ZIPQRCMFU5 = positif(GLRCMCHM+GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMFUM/TONEQUOM1)
+         + (1 - positif(GLRCMCHM+GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5);
+regle 50401:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMCHz = positif(GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMCH/TONEQUO1)
+         + (1 - positif(GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz);
+ZIPQRCMCHANT1 = positif(GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMCH/TONEQUO1)
+         + (1 - positif(GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1
+        );
+ZIPQRCMCH5 = positif(GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMCHM/TONEQUOM1)
+         + (1 - positif(GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5);
+regle 50402:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMTRz = positif(GLRCMGO+GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMTR/TONEQUO1)
+         + (1 - positif(GLRCMGO+GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz-ZIPQRCMCHz);
+ZIPQRCMTRANT1 = positif(GLRCMGO+GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMTR/TONEQUO1)
+         + (1 - positif(GLRCMGO+GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1-ZIPQRCMCHANT1
+        );
+ZIPQRCMTR5 = positif(GLRCMGOM+GLRCMTSM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMTRM/TONEQUOM1)
+         + (1 - positif(GLRCMGOM+GLRCMTSM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5-ZIPQRCMCH5);
+regle 50403:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMGOz = positif(GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMGO/TONEQUO1)
+         + (1 - positif(GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz-ZIPQRCMCHz-ZIPQRCMTRz);
+ZIPQRCMGOANT1 = positif(GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMGO/TONEQUO1)
+         + (1 - positif(GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1-ZIPQRCMCHANT1-ZIPQRCMTRANT1
+        );
+ZIPQRCMGO5 = positif(GLRCMTSM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMGOM/TONEQUOM1)
+         + (1 - positif(GLRCMTSM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5-ZIPQRCMCH5-ZIPQRCMTR5);
+regle 50404:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMTSz = positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMTS/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz-ZIPQRCMCHz-ZIPQRCMTRz-ZIPQRCMGOz);
+ZIPQRCMTSANT1 = positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMTS/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1-ZIPQRCMCHANT1-ZIPQRCMTRANT1-ZIPQRCMGOANT1
+        );
+ZIPQRCMTS5 = positif(GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMTSM/TONEQUOM1)
+         + (1 - positif(GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5-ZIPQRCMCH5-ZIPQRCMTR5-ZIPQRCMGO5);
+ZIPQRCM1TOT= ZIPQRCMDC1 + ZIPQRCMFU1 + ZIPQRCMCH1 + ZIPQRCMTS1 + ZIPQRCMGO1 + ZIPQRCMTR1;
+ZIPQRCM2TOT= ZIPQRCMDC2 + ZIPQRCMFU2 + ZIPQRCMCH2 + ZIPQRCMTS2 + ZIPQRCMGO2 + ZIPQRCMTR2;
+ZIPQRCM5TOT= ZIPQRCMDC5 + ZIPQRCMFU5 + ZIPQRCMCH5 + ZIPQRCMTS5 + ZIPQRCMGO5 + ZIPQRCMTR5;
+ZIPQRCMANT1TOT= ZIPQRCMDCANT1 + ZIPQRCMFUANT1 + ZIPQRCMCHANT1 + ZIPQRCMTSANT1 + ZIPQRCMGOANT1 + ZIPQRCMTRANT1;
+regle 50410:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQPRRVz = positif(somme(i=C,1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRRV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT);
+ZIPQPRRANTV1 = positif(somme(i=C,1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRRV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT
+        );
+ZIPQPRRV5 = positif(somme(i=C,1..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRRVM/TONEQUOM1)
+         + (1 - positif(somme(i=C,1..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT);
+pour z=1,2:
+ZIPQPRRCz = positif(somme(i=1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRRC/TONEQUO1)
+         + (1 - positif(somme(i=1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz);
+ZIPQPRRANTC1 = positif(somme(i=1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRRC/TONEQUO1)
+         + (1 - positif(somme(i=1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1
+        );
+ZIPQPRRC5 = positif(somme(i=1..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRRCM/TONEQUOM1)
+         + (1 - positif(somme(i=1..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5);
+pour z=1,2:
+ZIPQPRR1z = positif(somme(i=2..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRR1/TONEQUO1)
+         + (1 - positif(somme(i=2..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz-ZIPQPRRCz);
+ZIPQPRRANT11 = positif(somme(i=2..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRR1/TONEQUO1)
+         + (1 - positif(somme(i=2..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1-ZIPQPRRANTC1
+        );
+ZIPQPRR15 = positif(somme(i=2..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRR1M/TONEQUOM1)
+         + (1 - positif(somme(i=2..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5-ZIPQPRRC5);
+pour z=1,2:
+ZIPQPRR2z = positif(somme(i=3,4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRR2/TONEQUO1)
+         + (1 - positif(somme(i=3,4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz-ZIPQPRRCz-ZIPQPRR1z);
+ZIPQPRRANT21 = positif(somme(i=3,4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRR2/TONEQUO1)
+         + (1 - positif(somme(i=3,4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1-ZIPQPRRANTC1-ZIPQPRRANT11
+        );
+ZIPQPRR25 = positif(somme(i=3,4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRR2M/TONEQUOM1)
+         + (1 - positif(somme(i=3,4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5-ZIPQPRRC5-ZIPQPRR15);
+pour z=1,2:
+ZIPQPRR3z = positif(GLPRR4+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRR3/TONEQUO1)
+         + (1 - positif(GLPRR4+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz-ZIPQPRRCz-ZIPQPRR1z-ZIPQPRR2z);
+ZIPQPRRANT31 = positif(GLPRR4+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRR3/TONEQUO1)
+         + (1 - positif(GLPRR4+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1-ZIPQPRRANTC1-ZIPQPRRANT11-ZIPQPRRANT21
+        );
+ZIPQPRR35 = positif(GLPRR4M+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRR3M/TONEQUOM1)
+         + (1 - positif(GLPRR4M+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5-ZIPQPRRC5-ZIPQPRR15-ZIPQPRR25);
+pour z=1,2:
+ZIPQPRR4z = positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRR4/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz-ZIPQPRRCz-ZIPQPRR1z-ZIPQPRR2z-ZIPQPRR3z);
+ZIPQPRRANT41 = positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRR4/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1-ZIPQPRRANTC1-ZIPQPRRANT11-ZIPQPRRANT21-ZIPQPRRANT31
+        );
+ZIPQPRR45 = positif(GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRR4M/TONEQUOM1)
+         + (1 - positif(GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5-ZIPQPRRC5-ZIPQPRR15-ZIPQPRR25-ZIPQPRR35);
+ZIPQPRR1TOT= somme(i=V,C,1..4 : ZIPQPRRi1);
+ZIPQPRR2TOT= somme(i=V,C,1..4 : ZIPQPRRi2);
+ZIPQPRR5TOT= somme(i=V,C,1..4 : ZIPQPRRi5);
+ZIPQPRRANT1TOT= somme(i=V,C,1..4 : ZIPQPRRANTi1);
+regle 50415:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRF1z = positif(GLRF2+GLTSTOT+GLTSREMPTOT+GLRVOTOT) * arr(IQUOTOTz*RPQRF1/TONEQUO1)
+         + (1 - positif(GLRF2+GLTSTOT+GLTSREMPTOT+GLRVOTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRzTOT);
+ZIPQRFANT11 = positif(GLRF2+GLTSTOT+GLTSREMPTOT+GLRVOTOT) * arr(IQUOTOTANT1*RPQRF1/TONEQUO1)
+         + (1 - positif(GLRF2+GLTSTOT+GLTSREMPTOT+GLRVOTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANT1TOT
+        );
+ZIPQRF15 = positif(GLRF2M+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM) *arr(IQUOTOT5*RPQRF1M/TONEQUOM1)
+         + (1 - positif(GLRF2M+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRR5TOT);
+pour z=1,2:
+ZIPQRF2z = positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT) * arr(IQUOTOTz*RPQRF2/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GL
\ No newline at end of file
diff --git a/sources2010m_7_1/chap-52.m b/sources2010m_7_1/chap-52.m
new file mode 100644
index 0000000000000000000000000000000000000000..b8143eac8e4b727d849a2aa6983b3b6ff11ae58c
--- /dev/null
+++ b/sources2010m_7_1/chap-52.m
@@ -0,0 +1,98 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 507:
+application : pro , oceans , bareme , iliad , batch  ;
+
+TAUX1 =   (TX_BAR1  - TX_BAR0 ) ;
+TAUX2 =   (TX_BAR2  - TX_BAR1 ) ;
+TAUX3 =   (TX_BAR3  - TX_BAR2 ) ;
+TAUX4 =   (TX_BAR4  - TX_BAR3 ) ;
+regle 50700:
+application : pro , oceans , bareme , iliad , batch  ;
+pour x=0,5;y=1,2;z=1,2:
+DSxyz = max( QFxyz - LIM_BAR1  , 0 ) * (TAUX1   / 100)
+      + max( QFxyz - LIM_BAR2  , 0 ) * (TAUX2   / 100)
+      + max( QFxyz - LIM_BAR3  , 0 ) * (TAUX3   / 100)
+      + max( QFxyz - LIM_BAR4  , 0 ) * (TAUX4   / 100);
+regle 50702:
+application : pro , oceans  , iliad , batch  ;
+WTXMARJ = (RB51) / ( NB1 * null(PLAFQF) + NB2 *null(1-PLAFQF)) ;
+TXMARJ = max ( positif (WTXMARJ - LIM_BAR1) * TX_BAR1 , 
+                max ( positif (WTXMARJ - LIM_BAR2) * TX_BAR2 , 
+                      max ( positif (WTXMARJ - LIM_BAR3) * TX_BAR3 , 
+                             max ( positif (WTXMARJ - LIM_BAR4) * TX_BAR4 ,0
+                                 )
+                          )
+                     )
+              )
+
+          * ( 1 - positif ( 
+                              present ( NRBASE ) 
+                            + present ( NRINET ) 
+                            + present ( IPTEFP ) 
+                            + present ( IPTEFN ) 
+                            + present ( PRODOM ) 
+                            + present ( PROGUY ) 
+                          )              
+             )
+          * (1- null(2 - V_REGCO))
+  * positif(IDRS2+IPQ1);
+
+
+
+regle 5071:
+application : pro , oceans , bareme , iliad , batch  ;
+pour y=1,2:
+DS0y3 = max( QF0y3 - LIM_BAR1  , 0 ) * (TAUX1 /100)
+      + max( QF0y3 - LIM_BAR2  , 0 ) * (TAUX2 /100)
+      + max( QF0y3 - LIM_BAR3  , 0 ) * (TAUX3 /100)
+      + max( QF0y3 - LIM_BAR4  , 0 ) * (TAUX4 /100);
+pour y=1,2:
+DS0y4 = max( QF0y4 - LIM_BAR1  , 0 ) * (TAUX1 /100)
+      + max( QF0y4 - LIM_BAR2  , 0 ) * (TAUX2 /100)
+      + max( QF0y4 - LIM_BAR3  , 0 ) * (TAUX3 /100)
+      + max( QF0y4 - LIM_BAR4  , 0 ) * (TAUX4 /100);
+pour x=0,5:
+DSx15 = max( QFx15 - LIM_BAR1  , 0 ) * (TAUX1 /100)
+      + max( QFx15 - LIM_BAR2  , 0 ) * (TAUX2 /100)
+      + max( QFx15 - LIM_BAR3  , 0 ) * (TAUX3 /100)
+      + max( QFx15 - LIM_BAR4  , 0 ) * (TAUX4 /100);
+pour y=1,2:
+DS0y6 = max( QF0y6 - LIM_BAR1  , 0 ) * (TAUX1 /100)
+      + max( QF0y6 - LIM_BAR2  , 0 ) * (TAUX2 /100)
+      + max( QF0y6 - LIM_BAR3  , 0 ) * (TAUX3 /100)
+      + max( QF0y6 - LIM_BAR4  , 0 ) * (TAUX4 /100);
+regle 508:
+application : pro , oceans , bareme , iliad , batch  ;
+NB1 = NBPT ;
+NB2 = 1 + BOOL_0AM + BOOL_0AZ * V_0AV ;
+regle 5080:
+application : pro , oceans , bareme , iliad , batch  ;
+pour y=1,2;z=1,2,3:
+QF0yz = arr(RB0z) / NBy;
+pour y=1,2;z=1,2:
+QF5yz = arr(RB5z) / NBy;
+pour y=1,2:
+QF0y4 = arr(RB04) / NBy;
+pour x=0,5:
+QFx15 = arr(RBx5) / NB1;
+pour y=1,2:
+QF0y6 = arr(RB06) / NBy;
diff --git a/sources2010m_7_1/chap-6.m b/sources2010m_7_1/chap-6.m
new file mode 100644
index 0000000000000000000000000000000000000000..78b3d9a42a0990a3f4045ba766cf006ee7c847e8
--- /dev/null
+++ b/sources2010m_7_1/chap-6.m
@@ -0,0 +1,122 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #  
+                                                                        
+  ####   #    #    ##    #####      #     #####  #####   ######          #####
+ #    #  #    #   #  #   #    #     #       #    #    #  #              #
+ #       ######  #    #  #    #     #       #    #    #  #####          # ####
+ #       #    #  ######  #####      #       #    #####   #              #     #
+ #    #  #    #  #    #  #          #       #    #   #   #              #     #
+  ####   #    #  #    #  #          #       #    #    #  ######   ####   #####
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                      CALCUL DU NOMBRE DE PARTS
+ #
+ #
+ #
+ #
+ #
+regle 601:
+application : pro , batch , oceans , iliad   ;
+NBPT =  ((NSM + NPA + NIN + NSP + NBQAR)* 10)/10 ;
+regle 6010:
+application : bareme ;
+NBPT =  (1 - present(V_9VV)) * ((NSM + NPA + NIN + NSP + NBQAR)* 10)/10 
+      + V_9VV ;
+regle 6011:
+application : pro , oceans , bareme , iliad , batch  ;
+NSM = 1 + BOOL_0AM + V_0AV * min(BOOL_0AZ + EAC + V_0CH + V_0CR, 1 ) +
+    ( V_0AV * BOOL_0AZ * V_0AW * (1 - V_0AP) * (1 - V_0AF) / 2 ) ;
+regle 6012:
+application : pro , oceans , bareme , iliad , batch  ;
+NPA = PAC - 0.5 * min( PAC, 2 ) ;
+regle 60121:
+application : pro , oceans , bareme , iliad , batch  ;
+PAC = EAC + V_0CR;
+regle 60122:
+application : bareme ;
+EAC = ((V_0CF + V_0DJ) * (1 - present(V_9XX)))  + V_9XX ;
+regle 601220:
+application : batch , pro , oceans , iliad ;
+EAC = (V_0CF + V_0DJ) ;
+regle 6013:
+application : pro , oceans , bareme , iliad , batch  ;
+NIN =  ( V_0AP + V_0AF + V_0CG + V_0CR ) * 0.5;
+regle 6014:
+application : pro , oceans , bareme , iliad , batch  ;
+NSP = NPS + NSA + NCC;
+regle 60141:
+application : pro , oceans , bareme , iliad , batch  ;
+NCC = V_0AS * BOOL_0AM * (1 - positif(V_0AP + V_0AF)) * 0.5 *
+      positif(max( AGV + 1 - LIM_AGE_LET_S, AGC + 1 - LIM_AGE_LET_S ));
+regle 60142:
+application : pro , oceans , bareme , iliad , batch  ;
+NPS = positif(PAC) * V_0BT * positif( 2 - NSM ) * 0.5 ;
+regle 60143:
+application : pro , oceans , bareme , iliad , batch  ;
+NSA = (1 - positif(PAC+V_0CH)) 
+          * min( V_0AE * positif(positif(ZONEANTEK + V_BT0AE +V_BT0AK )*(1-positif(V_0AL)) +positif(V_0AL)
+		 * ( 1 - positif(positif(V_0AW)*positif_ou_nul(AGV-LIM_AGE_LET_S)))) * (1 - positif(V_0DN))  * (1 - positif(V_0AN)) 
+
+
+	       + V_0AG
+	       + (V_0AL * (1-positif(V_0AE)) * (1 - positif (V_0AN))) * ( 1 - positif(positif(V_0AW)*positif_ou_nul(AGV-LIM_AGE_LET_S)))	
+               + V_0AW * positif(max(AGV + 1 - LIM_AGE_LET_S, AGC + 1 - LIM_AGE_LET_S)) 
+      , 1 )
+      * ( 1 - V_0AP ) * positif(2 - NSM) * 0.5;
+ 
+NSA2 = min( (1 - positif(PAC+V_0CH))
+              *
+       (null(SFUTILE - 14)
+        + null (SFUTILE - 7)
+        + null (SFUTILE - 15) * (1-positif(NIN))    
+       )
+        +
+           null(SFUTILE -7) * BOOL_0AZ * V_0AV
+       , 1)
+* 0.5;
+regle 60200:
+application : pro , oceans , bareme , iliad , batch  ;
+
+
+BOOL_0BT = positif ( V_0BT+0 ) * positif ( V_0AC + V_0AD + 0);
+
+NBQAR1 =   null (V_0CF+V_0CR+V_0DJ+0)    * (  1/2 * (V_0CH-2) * positif (V_0CH- 2) 
+                                + 1/4 * positif (V_0CH+0) 
+                                + 1/4 * positif(V_0CH-1)
+                               );
+NBQAR2 =   null(V_0CF+V_0CR+V_0DJ-1) * (1/2 * (V_0CH -1 ) * positif(V_0CH -1) 
+                               + 1/4 * positif (V_0CH+0) 
+                           );
+NBQAR3 =   positif_ou_nul(V_0CF+V_0CR+V_0DJ-2) * 1/2 * V_0CH ;
+
+NBQAR4 =  1/4 * V_0CI ;
+
+NBQART =  BOOL_0BT * null(V_0CF+V_0CR+V_0DJ+0) 
+                     * (1/4 * null (V_0CH  -1) + 1/2 *  positif_ou_nul (V_0CH  - 2)) ;
+
+NBQAR = NBQAR1 + NBQAR2 + NBQAR3 + NBQAR4 + NBQART;
diff --git a/sources2010m_7_1/chap-7.m b/sources2010m_7_1/chap-7.m
new file mode 100644
index 0000000000000000000000000000000000000000..d8926198df1f44d0d5f727d2ba37c4f89004d129
--- /dev/null
+++ b/sources2010m_7_1/chap-7.m
@@ -0,0 +1,484 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+ #
+                                                                        #######
+  ####   #    #    ##    #####      #     #####  #####   ######         #    #
+ #    #  #    #   #  #   #    #     #       #    #    #  #                  #
+ #       ######  #    #  #    #     #       #    #    #  #####             #
+ #       #    #  ######  #####      #       #    #####   #                #
+ #    #  #    #  #    #  #          #       #    #   #   #                #
+  ####   #    #  #    #  #          #       #    #    #  ###### #######   #
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                           REVENU IMPOSABLE
+ #
+ #                           ET       CHARGES
+ #
+ #
+ #
+ #
+regle 700:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+RB5z = max( 0, RB0z + TONEQUO1) ;
+RB55 = max( 0, RB05 + TONEQUOM1) ;
+regle 701:
+application : pro , oceans , bareme , iliad , batch  ;
+RB01 = (RI1 * (1 - positif(IPTEFP + IPTEFN +INDTEFF))) 
+	+ (IPTEFP + RFROBOR * V_INDTEO * present(IPTEFP))
+	+TEFFREVTOT*(1-positif(IPTEFP))*INDTEFF;
+RB02 = (RI2 * (1 - positif(IPTEFP + IPTEFN+ INDTEFF))) 
+	+ positif(IPTEFP)*(IPTEFP +RFROBOR * V_INDTEO * present(IPTEFP)+ DPAE) 
+	+ TEFFREVTOT*(1-positif(IPTEFP))*INDTEFF;
+RB03 = (RI3 * (1 - positif(IPTEFP + IPTEFN+ INDTEFF))) 
+	+ max( 0 , IPTEFP+RFROBOR * V_INDTEO * present(IPTEFP))
+	+min(TEFFREVTOT,0) * (1-positif(IPTEFP)) * INDTEFF;
+RB04 = IND_TDR;
+regle 70105:
+application : pro , oceans , iliad , bareme , batch ;
+RB05 = RMOND ;
+RB06 = RE168+TAX1649;
+regle 7011:
+application : pro , oceans , iliad , batch  ;
+TONEQUO1 = somme(x=1..4:RPQx) + somme(x=V,C,1..4: RPQFx) + somme(x=V,C,1..4: RPQPALIMx) + somme(x=1,2 : RPQRFx)
+	 + RPQRCMDC + RPQRCMFU  + RPQRCMCH  + RPQRCMTR  + RPQRCMTS + RPQRCMGO +somme(x=V,C,1..4 : RPQPRRx) + RPQRVO  + RPQRVO5  + RPQRVO6  + RPQRVO7
+	 + somme(x=V,C,1..4 : RPQTSx) + somme(x=V,C,1..4 : RPQTSREMPx);
+TONEQUOM1 = somme(x=1..4:RPQxM) + somme(x=V,C,1..4: RPQFxM) + somme(x=V,C,1..4: RPQPALIMxM) + somme(x=1,2 : RPQRFxM)
+	 + RPQRCMDCM + RPQRCMFUM  + RPQRCMCHM  + RPQRCMTRM  + RPQRCMTSM + RPQRCMGOM +somme(x=V,C,1..4 : RPQPRRxM) + RPQRVOM  + RPQRVO5M  + RPQRVO6M  + RPQRVO7M
+	 + somme(x=V,C,1..4 : RPQTSxM) + somme(x=V,C,1..4 : RPQTSREMPxM);
+regle 70111  :
+application : pro , oceans , iliad , batch  ;
+REV1 = GLN1;
+REV2 = GLN2;   
+REV3 = GLN3;
+REV4 = 4BAQTOTNET;
+REVF = somme(i=V,C,1..4: PENFi);
+REVALIM = somme (i=V,C,1..4: PENALIMi);
+REVTS = somme (i=V,C,1..4:TSNN2i);
+REVTSREMP = somme (i=V,C,1..4:TSNN2REMPi);
+REVPRR = somme (i=V,C,1..4:PRR2i);
+REVRVO = T2RV;
+REVRCM = 2RCM + 3RCM + 4RCM + 5RCM + 6RCM + 7RCM;
+REVRF = 2REVF+3REVF;
+REVQTOT = somme(i=1..4 : REVi) + REVALIM + REVF+REVTS+REVPRR+REVRVO+REVRCM+REVRF;
+regle 70112  :
+application : pro , oceans , iliad , batch  ;
+GL1 = positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * REV1 / TOTALQUO) +
+     (1 - positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * TONEQUO;
+GL2 = positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * REV2 / TOTALQUO) +
+     (1 - positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GL1);
+GL3 = positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * REV3 / TOTALQUO) +
+     (1 - positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO - GL1 - GL2);
+GL4 = positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * REV4 / TOTALQUO) +
+     (1 - positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO - GL1 - GL2 - GL3);
+GLTOT = somme(i=1..4:GLi);
+GLFV = positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENFV / TOTALQUO) +
+      (1 - positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT);
+GLFC = positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENFC / TOTALQUO) +
+      (1 - positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFV);
+GLF1 = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF1 / TOTALQUO) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFV-GLFC);
+GLF2 = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF2 / TOTALQUO) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFV-GLFC-GLF1);
+GLF3 = positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF3 / TOTALQUO) +
+      (1 - positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFV-GLFC-GLF1-GLF2);
+GLF4 = positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF4 / TOTALQUO) +
+      (1 - positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFV-GLFC-GLF1-GLF2-GLF3);
+GLFTOT = somme(i=V,C,1..4:GLFi);
+GLPALIMV = positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIMV / TOTALQUO) +
+      (1 - positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT);
+GLPALIMC = positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIMC / TOTALQUO) +
+      (1 - positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMV);
+GLPALIM1 = positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIM1 / TOTALQUO) +
+      (1 - positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMV-GLPALIMC);
+GLPALIM2 = positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIM2 / TOTALQUO) +
+      (1 - positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMV-GLPALIMC-GLPALIM1);
+GLPALIM3 = positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIM3 / TOTALQUO) +
+      (1 - positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMV-GLPALIMC-GLPALIM1-GLPALIM2);
+GLPALIM4 = positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIM4 / TOTALQUO) +
+      (1 - positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMV-GLPALIMC-GLPALIM1-GLPALIM2-GLPALIM3);
+GLPALIMTOT = somme(i=V,C,1..4:GLPALIMi);
+GLTSV = positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TSV / TOTALQUO) +
+      (1 - positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT);
+GLTSC = positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TSC / TOTALQUO) +
+      (1 - positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSV);
+GLTS1 = positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TS1 / TOTALQUO) +
+      (1 - positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC);
+GLTS2 = positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TS2 / TOTALQUO) +
+      (1 - positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC-GLTS1);
+GLTS3 = positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TS3 / TOTALQUO) +
+      (1 - positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC-GLTS1-GLTS2);
+GLTS4 = positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TS4 / TOTALQUO) +
+      (1 - positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC-GLTS1-GLTS2-GLTS3);
+GLTSTOT = somme(i=V,C,1..4:GLTSi);
+GLTSREMPV = positif(TSNN2REMPC+TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMPV / TOTALQUO) +
+      (1 - positif(TSNN2REMPC+TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLTSTOT-GLPALIMTOT);
+GLTSREMPC = positif(TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMPC / TOTALQUO) +
+      (1 - positif(TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV);
+GLTSREMP1 = positif(TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMP1 / TOTALQUO) +
+      (1 - positif(TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC);
+GLTSREMP2 = positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMP2 / TOTALQUO) +
+      (1 - positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC-GLTSREMP1);
+GLTSREMP3 = positif(TSNN2REMP4+TSNN2REMPC+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMP3 / TOTALQUO) +
+      (1 - positif(TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC-GLTSREMP1-GLTSREMP2);
+GLTSREMP4 = positif(REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMP4 / TOTALQUO) +
+      (1 - positif(REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC-GLTSREMP1-GLTSREMP2-GLTSREMP3);
+GLTSREMPTOT = somme(i=V,C,1..4:GLTSREMPi);
+GLPRRV = positif(PRR2C+PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR2V / TOTALQUO) +
+      (1 - positif(PRR2C+PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT);
+GLPRRC = positif(PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR2C / TOTALQUO) +
+      (1 - positif(PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV);
+GLPRR1 = positif(PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR21 / TOTALQUO) +
+      (1 - positif(PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC);
+GLPRR2 = positif(PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR22 / TOTALQUO) +
+      (1 - positif(PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1);
+GLPRR3 = positif(PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR23 / TOTALQUO) +
+      (1 - positif(PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2);
+GLPRR4 = positif(REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR24 / TOTALQUO) +
+      (1 - positif(REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2-GLPRR3);
+GLPRRTOT = somme(i=V,C,1..4:GLPRRi);
+GLRVO = positif(2RV2 + 2RV3 + 2RV4 +REVRCM+REVRF)*arr(TONEQUO * 2RV1 / TOTALQUO) +
+      (1 - positif(2RV2 + 2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT);
+GLRVO5 = positif(2RV3 + 2RV4+REVRCM+REVRF)*arr(TONEQUO * 2RV2 / TOTALQUO) +
+      (1 - positif(2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVO);
+GLRVO6 = positif(2RV4+REVRCM+REVRF)*arr(TONEQUO * 2RV3 / TOTALQUO) +
+      (1 - positif(2RV4+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLPRRTOT-GLTSREMPTOT-GLRVO-GLRVO5);
+GLRVO7 = positif(REVRCM+REVRF)*arr(TONEQUO * 2RV4 / TOTALQUO) +
+      (1 - positif(REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVO-GLRVO5-GLRVO6);
+GLRVOTOT = GLRVO + GLRVO5 + GLRVO6 + GLRVO7;
+GLRCMDC  = positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUO * 2RCM / TOTALQUO) +
+      (1 - positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT);
+GLRCMFU  = positif(4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUO * 3RCM / TOTALQUO) +
+      (1 - positif(4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC);
+GLRCMCH  = positif(5RCM+6RCM+7RCM+REVRF)*arr(TONEQUO * 4RCM / TOTALQUO) +
+      (1 - positif(5RCM+6RCM+7RCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU);
+GLRCMTS  = positif(6RCM+7RCM+REVRF)*arr(TONEQUO * 5RCM / TOTALQUO) +
+      (1 - positif(6RCM+7RCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU - GLRCMCH);
+GLRCMGO = positif(7RCM+REVRF)*arr(TONEQUO * 6RCM / TOTALQUO) +
+      (1 - positif(7RCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU - GLRCMCH - GLRCMTS);
+GLRCMTR  = positif(REVRF)*arr(TONEQUO * 7RCM / TOTALQUO) +
+      (1 - positif(REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU - GLRCMCH - GLRCMGO - GLRCMTS);
+GLRCMTOT = GLRCMDC + GLRCMFU + GLRCMCH + GLRCMGO + GLRCMTR + GLRCMTS;
+GLRF1  = positif(3REVF)*arr(TONEQUO * 2REVF / TOTALQUO) +
+      (1 - positif(3REVF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT-GLRCMTOT);
+GLRF2  = (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT-GLRCMTOT-GLRF1);
+GLRFTOT = GLRF1 + GLRF2;
+regle 701125  :
+application : pro , oceans , iliad , batch  ;
+GL1M = positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * REV1 / TOTALQUO) +
+     (1 - positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * TONEQUOM;
+GL2M = positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * REV2 / TOTALQUO) +
+     (1 - positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GL1M);
+GL3M = positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * REV3 / TOTALQUO) +
+     (1 - positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM - GL1M - GL2M);
+GL4M = positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * REV4 / TOTALQUO) +
+     (1 - positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM - GL1M - GL2M - GL3M);
+GLTOTM = somme(i=1..4:GLiM);
+GLFVM = positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENFV / TOTALQUO) +
+      (1 - positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM);
+GLFCM = positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENFC / TOTALQUO) +
+      (1 - positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFVM);
+GLF1M = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENF1 / TOTALQUO) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFVM-GLFCM);
+GLF2M = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENF2 / TOTALQUO) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFVM-GLFCM-GLF1M);
+GLF3M = positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENF3 / TOTALQUO) +
+      (1 - positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFVM-GLFCM-GLF1M-GLF2M);
+GLF4M = positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENF4 / TOTALQUO) +
+      (1 - positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOT-GLFVM-GLFCM-GLF1M-GLF2M-GLF3M);
+GLFTOTM = somme(i=V,C,1..4:GLFiM);
+GLPALIMVM = positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIMV / TOTALQUO) +
+      (1 - positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM);
+GLPALIMCM = positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIMC / TOTALQUO) +
+      (1 - positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMVM);
+GLPALIM1M = positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIM1 / TOTALQUO) +
+      (1 - positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMVM-GLPALIMCM);
+GLPALIM2M = positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIM2 / TOTALQUO) +
+      (1 - positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMVM-GLPALIMCM-GLPALIM1M);
+GLPALIM3M = positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIM3 / TOTALQUO) +
+      (1 - positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMVM-GLPALIMCM-GLPALIM1M-GLPALIM2M);
+GLPALIM4M = positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIM4 / TOTALQUO) +
+      (1 - positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMVM-GLPALIMCM-GLPALIM1M-GLPALIM2M-GLPALIM3M);
+GLPALIMTOTM = somme(i=V,C,1..4:GLPALIMiM);
+GLTSVM = positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TSV / TOTALQUO) +
+      (1 - positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM);
+GLTSCM = positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TSC / TOTALQUO) +
+      (1 - positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSVM);
+GLTS1M = positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TS1 / TOTALQUO) +
+      (1 - positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSVM-GLTSCM);
+GLTS2M = positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TS2 / TOTALQUO) +
+      (1 - positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSVM-GLTSCM-GLTS1M);
+GLTS3M = positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TS3 / TOTALQUO) +
+      (1 - positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSVM-GLTSCM-GLTS1M-GLTS2M);
+GLTS4M = positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TS4 / TOTALQUO) +
+      (1 - positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSVM-GLTSCM-GLTS1M-GLTS2M-GLTS3M);
+GLTSTOTM = somme(i=V,C,1..4:GLTSiM);
+GLTSREMPVM = positif(TSNN2REMPC+TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2REMPV / TOTALQUO) +
+      (1 - positif(TSNN2REMPC+TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM);
+GLTSREMPCM = positif(TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2REMPC / TOTALQUO) +
+      (1 - positif(TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPVM);
+GLTSREMP1M = positif(TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2REMP1 / TOTALQUO) +
+      (1 - positif(TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPVM-GLTSREMPCM);
+GLTSREMP2M = positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2REMP2 / TOTALQUO) +
+      (1 - positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPVM-GLTSREMPCM-GLTSREMP1M);
+GLTSREMP3M = positif(TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2REMP3 / TOTALQUO) +
+      (1 - positif(TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPVM-GLTSREMPCM-GLTSREMP1M-GLTSREMP2M);
+GLTSREMP4M = positif(REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN24 / TOTALQUO) +
+      (1 - positif(REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPVM-GLTSREMPCM-GLTSREMP1M-GLTSREMP2M-GLTSREMP3M);
+GLTSREMPTOTM = somme(i=V,C,1..4:GLTSREMPiM);
+GLPRRVM = positif(PRR2C+PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR2V / TOTALQUO) +
+      (1 - positif(PRR2C+PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM);
+GLPRRCM = positif(PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR2C / TOTALQUO) +
+      (1 - positif(PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRVM);
+GLPRR1M = positif(PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR21 / TOTALQUO) +
+      (1 - positif(PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRVM-GLPRRCM);
+GLPRR2M = positif(PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR22 / TOTALQUO) +
+      (1 - positif(PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRVM-GLPRRCM-GLPRR1M);
+GLPRR3M = positif(PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR23 / TOTALQUO) +
+      (1 - positif(PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRVM-GLPRRCM-GLPRR1M-GLPRR2M);
+GLPRR4M = positif(REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR24 / TOTALQUO) +
+      (1 - positif(REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRVM-GLPRRCM-GLPRR1M-GLPRR2M-GLPRR3M);
+GLPRRTOTM = somme(i=V,C,1..4:GLPRRiM);
+GLRVOM = positif(2RV2 + 2RV3 + 2RV4 +REVRCM+REVRF)*arr(TONEQUOM * 2RV1 / TOTALQUO) +
+      (1 - positif(2RV2 + 2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM);
+GLRVO5M = positif(2RV3 + 2RV4+REVRCM+REVRF)*arr(TONEQUOM * 2RV2 / TOTALQUO) +
+      (1 - positif(2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOM);
+GLRVO6M = positif(2RV4+REVRCM+REVRF)*arr(TONEQUOM * 2RV3 / TOTALQUO) +
+      (1 - positif(2RV4+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOM-GLRVO5M);
+GLRVO7M = positif(REVRCM+REVRF)*arr(TONEQUOM * 2RV4 / TOTALQUO) +
+      (1 - positif(REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOM-GLRVO5M-GLRVO6M);
+GLRVOTOTM = GLRVOM + GLRVO5M + GLRVO6M + GLRVO7M;
+GLRCMDCM = positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUOM * 2RCM / TOTALQUO) +
+      (1 - positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM);
+GLRCMFUM = positif(4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUOM * 3RCM / TOTALQUO) +
+      (1 - positif(4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM - GLRCMDCM);
+GLRCMCHM = positif(5RCM+6RCM+7RCM+REVRF)*arr(TONEQUOM * 4RCM / TOTALQUO) +
+      (1 - positif(5RCM+6RCM+7RCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM - GLRCMDCM - GLRCMFUM);
+GLRCMTSM = positif(6RCM+7RCM+REVRF)*arr(TONEQUOM * 5RCM / TOTALQUO) +
+      (1 - positif(6RCM+7RCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM - GLRCMDCM - GLRCMFUM - GLRCMCHM);
+GLRCMGOM = positif(7RCM+REVRF)*arr(TONEQUOM * 6RCM / TOTALQUO) +
+      (1 - positif(7RCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM - GLRCMDCM - GLRCMFUM - GLRCMCHM - GLRCMTSM);
+GLRCMTRM = positif(REVRF)*arr(TONEQUOM * 7RCM / TOTALQUO) +
+      (1 - positif(REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM  - GLRCMDCM - GLRCMFUM - GLRCMCHM - GLRCMGOM - GLRCMTSM);
+GLRCMTOTM = GLRCMDCM + GLRCMFUM + GLRCMCHM + GLRCMGOM + GLRCMTRM + GLRCMTSM;
+GLRF1M  = positif(3REVF)*arr(TONEQUOM * 2REVF / TOTALQUO) +
+      (1 - positif(3REVF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM-GLRCMTOTM);
+GLRF2M  = (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM-GLRCMTOTM-GLRF1M);
+GLRFTOTM = GLRF1M + GLRF2M;
+regle 7012:
+application : pro , oceans , iliad , batch  ;
+RPQ1 = inf(GL1 / DIVGL1)+0;
+RPQ2 = inf(GL2 / DIVGL2)+0;
+RPQ3 = inf(GL3 / DIVGL3)+0;
+RPQ4 = inf(GL4 / DIVGL4)+0;
+pour x=V,C,1..4:
+RPQFx = inf(GLFx/COTFx);
+pour x=V,C:
+RPQPALIMx = inf(GLPALIMx/PENSALNBx);
+pour x=1..4:
+RPQPALIMx = inf(GLPALIMx/PENSALNBPx);
+RPQRF1 = inf(GLRF1/FONCINB);
+RPQRF2 = inf(GLRF2/REAMORNB);
+RPQRCMDC = inf(GLRCMDC/REVACTNB);
+RPQRCMFU = inf(GLRCMFU/REVPEANB);
+RPQRCMCH = inf(GLRCMCH/PROVIENB);
+RPQRCMTS = inf(GLRCMTS/DISQUONB);
+RPQRCMGO = inf(GLRCMGO/RESTUCNB);
+RPQRCMTR = inf(GLRCMTR/INTERENB);
+pour i=V,C:
+RPQPRRi = inf(GLPRRi/CARPENBAi);
+pour i=1..4:
+RPQPRRi = inf(GLPRRi/CARPENBAPi);
+RPQRVO = inf(GLRVO/RENTAXNB);
+RPQRVO5 = inf(GLRVO5/RENTAXNB5);
+RPQRVO6 = inf(GLRVO6/RENTAXNB6);
+RPQRVO7 = inf(GLRVO7/RENTAXNB7);
+pour i=V,C:
+RPQTSi = inf(GLTSi/CARTSNBAi);
+pour i=1..4:
+RPQTSi = inf(GLTSi/CARTSNBAPi);
+pour i=V,C :
+RPQTSREMPi = inf(GLTSREMPi/REMPLANBi);
+pour i=1..4 :
+RPQTSREMPi = inf(GLTSREMPi/REMPLANBPi);
+regle 70125:
+application : pro , oceans , iliad , batch  ;
+pour i=1..4:
+RPQiM = inf(GLiM / DIVGLi);
+pour i=V,C,1..4:
+RPQFiM = inf(GLFiM/COTFi);
+pour i=V,C:
+RPQPALIMiM = inf(GLPALIMiM/CARPENBAi);
+pour i=1..4:
+RPQPALIMiM = inf(GLPALIMiM/CARPENBAPi);
+RPQRF1M = inf(GLRF1M/FONCINB);
+RPQRF2M = inf(GLRF2M/REAMORNB);
+RPQRCMDCM = inf(GLRCMDCM/REVACTNB);
+RPQRCMFUM = inf(GLRCMFUM/REVPEANB);
+RPQRCMCHM = inf(GLRCMCHM/PROVIENB);
+RPQRCMTSM= inf(GLRCMTSM/DISQUONB);
+RPQRCMGOM = inf(GLRCMGOM/RESTUCNB);
+RPQRCMTRM = inf(GLRCMTRM/INTERENB);
+pour i=V,C:
+RPQPRRiM = inf(GLPRRiM/PENSALNBi);
+pour i=1..4:
+RPQPRRiM = inf(GLPRRiM/PENSALNBPi);
+RPQRVOM = inf(GLRVOM/RENTAXNB);
+RPQRVO5M = inf(GLRVO5M/RENTAXNB5);
+RPQRVO6M = inf(GLRVO6M/RENTAXNB6);
+RPQRVO7M = inf(GLRVO7M/RENTAXNB7);
+pour i=V,C:
+RPQTSiM = inf(GLTSiM/CARTSNBAi);
+pour i=1..4:
+RPQTSiM = inf(GLTSiM/CARTSNBAPi);
+pour i=V,C :
+RPQTSREMPiM = inf(GLTSREMPiM/REMPLANBi);
+pour i=1..4 :
+RPQTSREMPiM = inf(GLTSREMPiM/REMPLANBPi);
+
+regle 701211:
+application : pro , oceans , iliad , batch  ;
+pour x = 1..3 :
+GLNx = GLNxV + GLNxC;
+regle 7013:
+application : pro , oceans , bareme , iliad , batch  ;
+RI2 = RI1 + DPAE;
+RI3 = max( RI1 , 0 );
+regle 70130:
+application : pro , oceans , iliad , batch  ;
+LIMDPAE = LIM_PENSALENF ;
+regle 70131:
+application : pro , oceans , iliad , batch  ;
+DPAE = somme (a=1..4 : min( CHENFa, LIMDPAE)) * ( 1 - V_CNR ) ;
+regle 702:
+application : pro , oceans , bareme , iliad , batch  ;
+RI1 =   max( RNG - (( 1 - min ( 1 ,IPVLOC )) * ABTPA ) - ABTMA, 0 );
+regle 703:
+application : pro , oceans , bareme , iliad , batch  ;
+RNG = (     null(V_REGCO - 4)
+          * null(V_CNR   - 1)
+          * null(V_CNR2  - 1)
+          * null(V_CR2   - 1)
+          * IPVLOC
+      )
+     +
+     (1 -   null(V_REGCO - 4)
+          * null(V_CNR   - 1)
+          * null(V_CNR2  - 1)
+          * null(V_CR2   - 1)
+      )
+      * RBL ; 
+regle 7033 :
+application : pro , oceans , bareme , iliad , batch  ;
+REVQUO = max(0, TOTALQUO - SDD - SDC - SDV - SDM);
+TONEQUO = max(0, TOTALQUO 
+               - (SDD + SDC + SDV + SDM) * (1- positif(IPTEFP + IPTEFN + TEFFREVTOT*INDTEFF))
+                 - IPTEFN);
+TONEQUOM = max(0, TOTALQUO - DMOND) ;
+regle 7031:
+application : pro , oceans  , iliad , batch  ;
+NAB =   min( max( LIM_ABTRNGDBL + 1  - (RNG+ TOTALQUO- SDD- SDC), 0 ), 1 )
+      + min( max( LIM_ABTRNGSIMP + 1 - (RNG+ TOTALQUO- SDD- SDC), 0 ), 1 );
+ABSPRNG = RNG + TOTALQUO - SDD - SDC;
+ABTPA = NDA * NAB * ABAT_UNVIEUX * (1-V_CNR) ;
+regle 703110 :
+application : pro , oceans , bareme , iliad , batch  ;
+NDA =   min( max( AGV + 1 - LIM_AGE_ABVIEUX, V_0AP ), 1 )
+      + min( max( AGC*BOOL_0AM + 1 - LIM_AGE_ABVIEUX, V_0AF*BOOL_0AM ), 1 )  ;
+regle 70311 :
+application : pro , oceans , bareme , iliad , batch  ;
+AGV = (V_ANREV - V_0DA) * min( 1 , V_0DA) ;
+AGC = (V_ANREV - V_0DB) * min( 1 , V_0DB) ;
+regle 7032:
+application : pro , oceans  , iliad , batch  ;
+ABTMA = V_0DN * ABAT_ENF_MARIES + arr(V_0DP * (ABAT_ENF_MARIES)/2);
+regle 704:
+application : pro , oceans , bareme , iliad , batch  ;
+RBG2 = RBG - min(RBG , DDCSG);
+RBL =  ( RBG2 - min( RBG2 , ( DPA + DFA + DEDIV + APERPV + APERPC + APERPP + NUREPAR )) * ( 1 - V_CNR ) 
+              - min( RBG2 , V_8ZT) * V_CR2 
+       ) * (1 - positif(RE168+TAX1649));
+regle 7041 :
+application : pro , oceans , bareme , iliad , batch  ;
+SDD = max(0, DAR - RG);
+regle 704100 :
+application : pro , oceans , bareme  , iliad , batch  ;
+SDC1 = max(0, DDCSG + DPA + DFA + DEDIV - APERPV - APERPC - APERPP - max(0,RBG)) 
+          * (1 - V_CNR)
+          + max (0, V_8ZT - max(0,RBG)) * V_CR2;
+regle 70411 :
+application : pro , oceans , bareme , iliad , batch  ;
+SDC = max(0, DDCSG + DPA + DFA + DEDIV + APERPV + APERPC + APERPP + NUREPAR - max(0,RBG)) 
+         * (1 - V_CNR)
+         + max(0, V_8ZT - max(0,RBG)) *  V_CR2;
+regle 70412 :
+application : pro , oceans , bareme , iliad , batch  ;
+SDV = max(0, ABTPA - RNG);
+SDM = max(0, ABTMA - max(0,RNG - ABTPA) );
+regle 70432:
+application : pro , oceans , iliad , batch ;
+
+SOFIRNG = RBL + TOTALQUO - SDD - SDC1;
+
+regle 705:
+application : pro , oceans , bareme , iliad , batch  ;
+RBG = (1 - positif(RG  + R1649 +PREREV- DAR)) * min( 0 , RG  + R1649 +PREREV- DAR + TOTALQUO )
+    + positif(RG  + R1649+PREREV - DAR) * (RG  + R1649+PREREV - DAR);
+regle 7051:
+application : pro , oceans , iliad , batch  ;
+TOTPA =arr(PAAV*MAJREV) + PAAP;
+DPA = (somme(i=1..4:min(NCHENFi,LIMDPAE)+min(arr(CHENFi*MAJREV),LIMDPAE))
+                  + TOTPA) * (1 - V_CNR)
+                             * (1 - positif(RE168+TAX1649)) ;
+regle 7053:
+application : pro , oceans , iliad , batch  ;
+RPREC =  positif(CHRFAC) * max(1,CHNFAC)
+         +
+	 null(CHRFAC) * max(0,CHNFAC)
+         ;
+DFA = min( CHRFAC, RPREC * LIM_FRACC ) * (1 - V_CNR)
+                             * (1 - positif(RE168+TAX1649)) ;
+regle 706 :
+application : pro , oceans , bareme , iliad , batch  ;
+RG = (1 - positif(IPVLOC)) * (
+        ( SHBA +  max( BANOR, 0 ) + REB +
+        min(BANOR,0) *
+        positif(SEUIL_IMPDEFBA + 1 - SHBA - (REVTP-BA1)
+        - REV1 - REV2 - REV3 - REV4 - REVRF) 
+       ) ) 
+     +
+     positif( IPVLOC ) * IPVLOC;
+regle 70611 :
+application : pro , oceans , bareme , iliad , batch  ;
+TOTALQUO = (1-positif(IPVLOC)) * REVQTOT;
+regle 7061:
+application : pro , oceans , iliad , batch  ;
+DAR = (DEFAA5 + DEFAA4 + DEFAA3 + DEFAA2 + DEFAA1 + DEFAA0) * (1 - positif(IPVLOC));
+regle 707:
+application : pro , oceans , iliad , batch  ;
+SHBA = ESFP + TSPR + RCM + BIN + BNN + PLOCNETF + NPLOCNETF
+       + (RRFI + 0) * ( 1- V_INDTEO) + (RRFTEO + 0) * 
\ No newline at end of file
diff --git a/sources2010m_7_1/chap-81.m b/sources2010m_7_1/chap-81.m
new file mode 100644
index 0000000000000000000000000000000000000000..55b1e7c7b2fc3316949cae85309bd60c563cee66
--- /dev/null
+++ b/sources2010m_7_1/chap-81.m
@@ -0,0 +1,185 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #                         REVENUS CATEGORIELS NETS
+ #
+ #
+regle 811:
+application : pro , oceans , iliad , batch  ;
+pour i=V,C,1,2,3,4:
+TSBNi = TSHALLOi + ALLOi;
+TSHALLOP=TSHALLO1+TSHALLO2+TSHALLO3+TSHALLO4;
+ALLOP=ALLO1+ALLO2+ALLO3+ALLO4;
+TSBNP=TSHALLOP+ALLOP;
+
+pour i=V,C:
+2TSNi = CARTSi + REMPLAi;
+pour i=1,2,3,4:
+2TSNi = CARTSPi + REMPLAPi;
+pour i=V,C:
+EXTSi = TSBNi + BPCOSAi + 2TSNi;
+pour i=1..4:
+EXTSi = TSBNi + 2TSNi;
+pour i=V,C:
+TSBi = EXTSi + somme(x=1..3:GLDxi);
+pour i=1,2,3,4:
+TSBi = EXTSi;
+TSBP = somme(i=1..4:TSBi);
+pour i=V,C,1..4:
+PRBi = PRBRi + PALIi;
+
+pour i=V,C:
+2PRBi = CARPEi + PENSALi ;
+pour i=1..4:
+2PRBi = CARPEPi + PENSALPi ;
+pour i=V,C:
+EXPRi = PRBi + 2PRBi + PEBFi;
+pour i=1..4:
+EXPRi = PRBi + 2PRBi + PEBFi;
+pour i = V,C,1..4:
+EXSPBi = EXTSi + EXPRi ;
+regle 812:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1..4:
+TPS10i = arr (TSBi * TX_DEDFORFTS /100);
+pour i = V,C,P:
+PTPS10i = arr (PERPSALi * TX_DEDFORFTS /100);
+pour i = V,C,1..4:
+DFNi =  min( PLAF_DEDFORFTS , TPS10i );
+pour i = V,C,P:
+PDFNi =  min( PLAF_DEDFORFTS , PTPS10i );
+regle 813:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1..4:
+DEDMINi = positif(DETSi)* MIN_DEMEMPLOI + (1- positif(DETSi))* MIN_DEDSFORFTS;
+pour i = V,C:
+PDEDMINi = DEDMINi;
+PDEDMINP = positif(DETS1)* MIN_DEMEMPLOI 
+	   + (1- positif(DETS1))* MIN_DEDSFORFTS;
+
+pour i = V,C,1..4:
+10MINSi= max( min(TSBi,DEDMINi) , DFNi );
+pour i = V,C,P:
+P10MINSi= max( min(PERPSALi,PDEDMINi) , PDFNi );
+pour i = V,C,1..4:
+IND_10MIN_0i = positif(DEDMINi - DFNi ) * positif (TSBi );
+pour i = V,C,P:
+PIND_10MIN_0i = positif(PDEDMINi - PDFNi ) * positif (PERPSALi );
+pour i = V,C,1..4 :
+IND_MINi = 1 - positif( IND_10MIN_0i );
+pour i = V,C,P :
+PIND_MINi = 1 - positif( PIND_10MIN_0i );
+regle 814:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1..4:
+FRDi = FRNi * positif (FRNi - 10MINSi); 
+pour i = V,C:
+PFRDi = FRNi * positif (FRNi - P10MINSi); 
+PFRDP = FRN1 * positif (FRN1 - P10MINSP); 
+pour i = V,C,1..4:
+IND_10i = positif_ou_nul( 10MINSi - FRNi ) ;
+pour i = V,C:
+PIND_10i = positif_ou_nul( P10MINSi - FRNi) ;
+PIND_10P = positif_ou_nul( P10MINSP - FRN1) ;
+pour i = V,C,1..4:
+FPTi = max(FRDi, 10MINSi);
+pour i = V,C,P:
+PFPTi = max(PFRDi, P10MINSi);
+pour i = V,C:
+D10Mi = IND_MINi *DFNi 
+        + (1 - IND_MINi)* 10MINSi ; 
+pour i = V,C,P:
+PD10Mi = PIND_MINi *PDFNi 
+        + (1 - PIND_MINi)* P10MINSi ; 
+pour i = V,C:
+REP10i =  IND_10i * D10Mi + (1-IND_10i) * FPTi ;
+pour i = V,C,P:
+PREP10i =  PIND_10i * PD10Mi + (1-PIND_10i) * PFPTi ;
+pour i = V,C:
+ABTSi=arr(REP10i*(EXTSi)/TSBi);
+regle 816:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C:
+ABGL1i = positif(GLD1i) * 
+	   (positif(GLD2i+GLD3i) * arr(REP10i*GLD1i/TSBi)
+	   + (1-positif(GLD2i+GLD3i)) * (REP10i-ABTSi));
+pour i = V,C:
+ABGL2i = positif(GLD2i) * 
+	   (positif(GLD3i) * arr(REP10i*GLD2i/TSBi)
+	   + (1-positif(GLD3i)) * (REP10i-ABTSi-ABGL1i));
+pour i = V,C:
+ABGL3i = positif(GLD3i) * (REP10i-ABTSi-ABGL1i-ABGL2i);
+regle 817:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C:
+ABGLTi = somme (x=1..3: ABGLxi);
+regle 818:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1,2,3,4:
+PLRi = min ( MIN_DEDPR , EXPRi );
+pour i = V,C,1,2,3,4:
+APBi = max( PLRi , (EXPRi*TX_DEDPER/100));
+pour i = V,C,1,2,3,4:
+IND_APBi = positif_ou_nul(PLRi- (EXPRi * TX_DEDPER/100));
+PL_PB = arr(PLAF_DEDPRFOYER -somme (i=V,C,1..4: APBi * IND_APBi));
+regle 819:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1,2,3,4:
+ABPRi = arr ( (1 - IND_APBi) * 
+ min(APBi,(PL_PB * APBi / somme(x=V,C,1..4:APBx * (1 - IND_APBx))))
+ + IND_APBi * APBi );
+regle 8110:
+application : pro , oceans , iliad , batch  ;
+APRV  =  IND_APBV * ABPRV 
+       + (1-IND_APBV)* min ( ABPRV , PL_PB); 
+APRC  =  IND_APBC * ABPRC 
+       + (1-IND_APBC)* min ( ABPRC , PL_PB - (1-IND_APBV)*APRV ); 
+APR1  =  IND_APB1 * ABPR1 
+       + (1-IND_APB1)* min ( ABPR1 , PL_PB - (1-IND_APBV)*APRV 
+			- (1-IND_APBC)*APRC);
+APR2  =  IND_APB2 * ABPR2
+       + (1-IND_APB2)* min ( ABPR2 , PL_PB - (1-IND_APBV)*APRV 
+                       - (1-IND_APBC)*APRC - (1-IND_APB1)*APR1 ); 
+APR3  =  IND_APB3 * ABPR3
+       + (1-IND_APB3)* min ( ABPR3 , PL_PB - (1-IND_APBV)*APRV 
+                       - (1-IND_APBC)*APRC - (1-IND_APB1)*APR1  
+                       - (1-IND_APB2)*APR2 ); 
+APR4  =  IND_APB4 * ABPR4 
+       + (1-IND_APB4)* min ( ABPR4 , PL_PB - (1-IND_APBV)*APRV 
+                       - (1-IND_APBC)*APRC - (1-IND_APB1)*APR1  
+                       - (1-IND_APB2)*APR2 - (1-IND_APB3)*APR3 ); 
+regle 8111:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1,2,3,4:
+PRNNi = EXPRi - APRi;
+regle 8112:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1..4:
+TSNTi =  TSBi - FPTi;
+regle 8113:
+application : pro , oceans , iliad , batch  ;
+pour i =V,C,1,2,3,4:
+TSNi = positif (-TSNTi) * min (0 , TSNTi + PRNNi)
+     + positif_ou_nul (TSNTi) * TSNTi;
+pour i =V,C,1,2,3,4:
+PRNi = positif (-TSNTi) * positif (TSNTi + PRNNi) * (TSNTi + PRNNi)
+       + positif_ou_nul (TSNTi) * PRNNi;
+
diff --git a/sources2010m_7_1/chap-82.m b/sources2010m_7_1/chap-82.m
new file mode 100644
index 0000000000000000000000000000000000000000..94128fa64aa033d479657055f78efa8b9853d0e7
--- /dev/null
+++ b/sources2010m_7_1/chap-82.m
@@ -0,0 +1,287 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 82000:
+application : pro , oceans , iliad , batch  ;
+RCMRABD = arr(RCMABD * 40/100) * (1-positif(RCMLIBDIV));
+	  
+
+2RCMRABD = arr(REVACT * 40/100) * (1-positif(RCMLIBDIV));
+
+TRCMRABD = RCMRABD + 2RCMRABD;
+RCMRTNC = arr(RCMTNC * 40/100);
+
+2RCMRTNC = arr(REVPEA * 40/100);
+
+TRCMRTNC = RCMRTNC + 2RCMRTNC;
+RCMRNABD = RCMABD - RCMRABD;
+
+2RCMRNABD = REVACT - 2RCMRABD;
+RCMRNTNC = RCMTNC - RCMRTNC ;
+
+2RCMRNTNC = REVPEA - 2RCMRTNC ;
+REGPRIVM = arr(REGPRIV * MAJREV);
+
+2REGPRIVM = arr(RESTUC * MAJREV);
+TRCMABD = RCMABD + REVACT;
+RCMAB = RCMRNABD + 2RCMRNABD ;
+DRTNC = RCMTNC + REVPEA;
+RTNC = RCMRNTNC + 2RCMRNTNC ;
+RAVC = RCMAV + PROVIE;
+RCMNAB = RCMHAD + DISQUO ;
+RTCAR = RCMHAB + INTERE;
+RCMPRIV = REGPRIV + RESTUC;
+RCMPRIVM = REGPRIVM + 2REGPRIVM ;
+regle 82001:
+application : pro , oceans , iliad , batch ;
+FRAN = positif(RCMABD) *
+	(positif(REVACT+RCMNAB) * arr(RCMFR * RCMABD / max (1,TRCMABD + RCMNAB))
+	+ (1 - positif(REVACT+RCMNAB)) * RCMFR) ;
+2FRAN = positif(REVACT) * (
+          positif(RCMNAB)* arr(RCMFR * REVACT/ max (1,TRCMABD + RCMNAB) ) + 
+          ((1 - positif(RCMNAB)) * (RCMFR - FRAN)));
+FRAU = positif(RCMHAD) * (
+      positif(DISQUO) * arr(RCMFR * RCMHAD / max (1,RCMAB + RCMNAB) ) + 
+      ((1 - positif(DISQUO)) 
+	   * (RCMFR - FRAN - 2FRAN )));
+2FRAU = ( RCMFR - FRAN - 2FRAN - FRAU ) * positif(DISQUO);
+regle 82002:
+application : pro , oceans , iliad , batch ;
+RAN = (1 - positif(EXFR)) * (RCMRNABD - FRAN)
+	+ positif(EXFR) * 0;
+2RAN = (1 - positif(EXFR)) * (2RCMRNABD - 2FRAN)
+	+ positif(EXFR) * 0;
+TRAN = RAN + 2RAN ;
+1RAU = (1 - positif(EXFR)) * (RCMHAD - FRAU)
+	+ positif(EXFR) * 0;
+2RAU = (1 - positif(EXFR)) * (DISQUO - 2FRAU) + positif(EXFR) * 0;
+TRAU = 1RAU + 2RAU ;
+regle 82003:
+application : pro , oceans , iliad , batch ;
+ABRCM1 = min( ABTGE , TRAN+RTNC);
+ABRCM2 = min( ABTAV , RAVC);
+regle 82004:
+application : pro , oceans , iliad , batch ;
+ABRAN = positif(RAN) * (1-positif(RCMLIBDIV)) * arr( ABRCM1 * RAN / (TRAN+RTNC) );
+2ABRAN = positif(2RAN) * (1-positif(RCMLIBDIV)) *
+	 min(arr( ABRCM1 * 2RAN / (TRAN+RTNC) ),ABRCM1 - ABRAN);
+TABRAN = ABRAN + 2ABRAN ;
+regle 82005:
+application : pro , oceans , iliad , batch ;
+ABTNC = positif(RCMRNTNC) *   ( 
+             positif(2RCMRNTNC) * (
+	       min(arr( ABRCM1 * RCMRNTNC / (TRAN+RTNC)),ABRCM1 - TABRAN) * (1-positif(RCMLIBDIV))
+	       +
+	       min(arr( ABRCM1 * RCMRNTNC / RTNC),ABRCM1) * positif(RCMLIBDIV)
+	                         )
+             +
+             (1-positif(2RCMRNTNC)) * (
+	                  (ABRCM1 - TABRAN) * (1-positif(RCMLIBDIV))
+	       +
+	                  ABRCM1 * positif(RCMLIBDIV)
+				      )
+			    );
+2ABTNC = positif(2RCMRNTNC) * (  
+	        (ABRCM1 - TABRAN - ABTNC) * (1-positif(RCMLIBDIV))
+	 + 
+	        (ABRCM1 - ABTNC) * positif(RCMLIBDIV)
+			       );
+TABTNC = ABTNC + 2ABTNC;
+regle 82007:
+application : pro , oceans , iliad , batch ;
+ABAVC = positif(RCMAV) * arr( ABRCM2 * RCMAV / RAVC );
+2ABAVC = positif(PROVIE) * min(arr( ABRCM2 * PROVIE / RAVC ) , ABRCM2 - ABAVC);
+TABAVC = ABAVC + 2ABAVC ;
+regle 82008:
+application : pro , oceans , iliad , batch ;
+RNTNC = RTNC - TABTNC ;
+RNAVC = RAVC - TABAVC;
+regle 82009:
+application : pro , oceans , iliad , batch ;
+EXFR =  max( 0, RCMFR - RCMAB - RCMNAB);
+regle 82010:
+application : pro , oceans , iliad , batch ;
+RIA = RAN - ABRAN;
+2RIA = 2RAN - 2ABRAN;
+RNC = max ( 0 , RCMRNTNC - ABTNC) ;
+2RNC = max ( 0 , 2RCMRNTNC - 2ABTNC) ;
+RCAV = max ( 0 , RCMAV-ABAVC) ;
+2RCAV = max ( 0 , PROVIE-2ABAVC) ;
+RAR = max( 0 , RCMHAB);
+2RAR = max( 0 , INTERE);
+1RAO = max( 0 , REGPRIVM);
+2RAO = max( 0 , 2REGPRIVM);
+TR1 = RNC + RCAV + 1RAO + RAR;
+TR = TR1 + 2RNC + 2RCAV + 2RAR + 2RAO ;
+regle 82011:
+application : pro , oceans , iliad , batch ;
+FRG1 = positif(EXFR) * arr( (EXFR * TR1)/ TR)
+	+ (1 - positif(EXFR)) * 0 ;
+FRG2 = positif(EXFR) * min(arr(EXFR * 2RNC/ TR), EXFR - FRG1)
+        + (1 - positif(EXFR)) * 0 ;
+FRG3 = positif(EXFR) * min(arr(EXFR * 2RCAV/ TR), EXFR - FRG1 - FRG2)
+        + (1 - positif(EXFR)) * 0 ;
+FRG4 = positif(EXFR) * min(arr(EXFR * 2RAR/ TR), EXFR - FRG1 - FRG2 - FRG3)
+        + (1 - positif(EXFR)) * 0 ;
+FRG5 = positif(EXFR) * max(0,EXFR - FRG1 -FRG2 - FRG3 - FRG4)
+        + (1 - positif(EXFR)) * 0 ;
+regle 82012:
+application : pro , oceans , iliad , batch ;
+DFRCMN = positif(RCMAB + RCMNAB)
+	* (1 - positif(RTNC+RAVC+RTCAR+RCMPRIVM))
+	* max(0, RCMFR 
+			- RCMAB 
+			- RCMNAB)
+
++ (1 - positif(RCMAB + RCMNAB))
+	* positif(RTNC+RAVC+RTCAR+RCMPRIVM)
+	* max(0, RCMFR 
+			- (RTNC - TABTNC)
+			- (RAVC - TABAVC)
+			- RTCAR 
+			- RCMPRIVM) 
++ positif(RCMAB + RCMNAB)
+   * positif(RTNC+RAVC+RTCAR+RCMPRIVM)
+   * max(0, RCMFR 
+			- RCMAB 
+			- RCMNAB
+			- (RTNC - TABTNC)
+			- (RAVC - TABAVC)
+			- RTCAR 
+			- RCMPRIVM) 
++ (1 - positif(RCMAB + RCMNAB))
+	* (1 - positif(RTNC+RAVC+RTCAR+RCMPRIVM))
+	* max(0, RCMFR)
+			;
+regle 82013:
+application : pro , oceans , iliad , batch ;
+1RCM_I = si( (V_REGCO + 0) dans (1,3,5,6) )
+alors  ((1-positif(DFRCMN)) * (RIA+RNC+1RAU+RAR+1RAO+RCAV-FRG1) -positif(DFRCMN)*0 )
+sinon (0)
+finsi;
+
+2RCM_I =  si( (V_REGCO + 0)  dans (1,3,5,6))
+              alors ((1- positif(DFRCMN)) * 2RIA)
+              sinon (0)
+          finsi;
+3RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6))
+             alors  ((1- positif(DFRCMN)) * (2RNC-FRG2))
+             sinon (0)
+         finsi;
+4RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6))
+             alors  ((1- positif(DFRCMN)) * (2RCAV-FRG3))
+             sinon (0)
+         finsi;
+5RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6))
+             alors ((1- positif(DFRCMN)) * 2RAU)
+             sinon (0)
+         finsi;
+6RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6))
+             alors  ((1- positif(DFRCMN)) * (2RAO-FRG5))
+             sinon (0)
+         finsi;
+7RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6))
+             alors  ((1- positif(DFRCMN)) * (2RAR-FRG4))
+             sinon (0)
+         finsi;
+RCM_I = 1RCM_I + 2RCM_I + 3RCM_I + 4RCM_I + 5RCM_I + 6RCM_I + 7RCM_I;
+regle 82014:
+application : pro , oceans , iliad , batch ;
+REPRCM = DEFRCM + DEFRCM2 + DEFRCM3+DEFRCM4;
+REPRCM1 = positif(REPRCM) * arr( (REPRCM * 1RCM_I)/ RCM_I)
+	+ (1 - positif(REPRCM)) * 0 ;
+REPRCM2 = positif(REPRCM) * min(arr((REPRCM * 2RCM_I)/ RCM_I), REPRCM - REPRCM1)
+        + (1 - positif(REPRCM)) * 0 ;
+REPRCM3 = positif(REPRCM) * min(arr((REPRCM * 3RCM_I)/ RCM_I), REPRCM - REPRCM1 - REPRCM2)
+        + (1 - positif(REPRCM)) * 0 ;
+REPRCM4 = positif(REPRCM) * min(arr((REPRCM * 4RCM_I)/ RCM_I), REPRCM - REPRCM1 - REPRCM2 - REPRCM3)
+        + (1 - positif(REPRCM)) * 0 ;
+REPRCM5 = positif(REPRCM) * min(arr((REPRCM * 5RCM_I)/ RCM_I), REPRCM - REPRCM1 - REPRCM2 - REPRCM3 - REPRCM4)
+        + (1 - positif(REPRCM)) * 0 ;
+REPRCM6 = positif(REPRCM) * min(arr((REPRCM * 6RCM_I)/ RCM_I), REPRCM - REPRCM1 - REPRCM2 - REPRCM3 - REPRCM4 - REPRCM5)
+        + (1 - positif(REPRCM)) * 0 ;
+REPRCM7 = positif(REPRCM) * max(0,REPRCM - REPRCM1 -REPRCM2 - REPRCM3 - REPRCM4 - REPRCM5  - REPRCM6 )
+        + (1 - positif(REPRCM)) * 0 ;
+regle 82015:
+application : pro , oceans , iliad , batch ;
+DFRCM1 =  DEFRCM * positif(DFRCMN) 
+	 + max( 0, DEFRCM - RCM_I) * positif_ou_nul(RCM_I) * (1-positif(DFRCMN));
+DFRCM2 =  DEFRCM2 * positif(DFRCMN)
+         + DEFRCM2 * positif(DEFRCM - RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM2 - (RCM_I - DEFRCM)) * positif_ou_nul(RCM_I - DEFRCM) * (1-positif(DFRCMN));
+DFRCM3 =  DEFRCM3 * positif(DFRCMN)
+         + DEFRCM3 * positif(DEFRCM + DEFRCM2- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM3 - (RCM_I - DEFRCM- DEFRCM2)) * positif_ou_nul(RCM_I - DEFRCM-DEFRCM2) * (1-positif(DFRCMN));
+DFRCM4 =  DEFRCM4 * positif(DFRCMN)
+         + DEFRCM4 * positif(DEFRCM + DEFRCM2+DEFRCM3- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM4 - (RCM_I - DEFRCM- DEFRCM2-DEFRCM3)) * positif_ou_nul(RCM_I - DEFRCM-DEFRCM2-DEFRCM3) * (1-positif(DFRCMN));
+regle 82016:
+application : pro , oceans , iliad , batch ;
+RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1-positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4)) * max(0,(1RCM_I-REPRCM1))
+         -positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4)*0 
+      )
+sinon (0)
+finsi;
+2RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4)) * max(0,(2RCM_I-REPRCM2))
+      )
+sinon (0)
+finsi;
+3RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4)) * max(0,(3RCM_I-REPRCM3))
+      )
+sinon (0)
+finsi;
+4RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4)) * max(0,(4RCM_I-REPRCM4))
+      )
+sinon (0)
+finsi;
+5RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4)) * max(0,(5RCM_I-REPRCM5))
+      )
+sinon (0)
+finsi;
+6RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4)) * max(0,(6RCM_I-REPRCM6))
+      )
+sinon (0)
+finsi;
+7RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4)) * max(0,(7RCM_I-REPRCM7))
+      )
+sinon (0)
+finsi;
+DFRCM = DFRCMN + DFRCM1+DFRCM2+DFRCM3+DFRCM4;
+regle 82100:
+application : pro , oceans , iliad , batch ;
+ABTGE= (PLAF_RCMGE1 + BOOL_0AM * (PLAF_RCMGE2 - PLAF_RCMGE1));
+ABTAV= (PLAF_RCMAV1 + BOOL_0AM * (PLAF_RCMAV2 - PLAF_RCMAV1));
+regle 82105:
+application : pro , oceans , iliad , batch ;
+BPLIB = (min( RCMLIB, max(0 , ABTAV - RAVC) ) * (1 - V_CNR));
+regle 82110:
+application : pro , oceans , iliad , batch ;
+EPAV = arr(BPLIB * TX_PREVLIB/100);
+regle 82130:
+application : pro , oceans , iliad , batch ;
+ABRCMNU = max(0,ABTGE - (TRAN * (1-positif(RCMLIBDIV))+ RTNC));
+RCMEXCREF = max(0,(TRCMRABD + TRCMRTNC) - ABRCMNU);
diff --git a/sources2010m_7_1/chap-83.m b/sources2010m_7_1/chap-83.m
new file mode 100644
index 0000000000000000000000000000000000000000..20d8d5bf1f22a0aa05ec5fa6a54c018692368869
--- /dev/null
+++ b/sources2010m_7_1/chap-83.m
@@ -0,0 +1,48 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 831:
+application : pro , oceans , iliad , batch  ;
+RRFI = RFON + DRCF + max(0,RFMIC - MICFR - RFDANT) ;
+regle 8311:
+application : pro , oceans , iliad , batch  ;
+MICFR = present(RFMIC) * arr(RFMIC * TX_MICFON/100);
+regle 8316:
+application : pro , iliad , batch  ;
+RMF = max(0,RFMIC - MICFR);
+RMFN = max(0,RFMIC - MICFR - RFDANT);
+regle 832:
+application : pro , oceans , iliad , batch  ;
+RFCD = RFORDI + FONCI + REAMOR;
+regle 833:
+application : pro , oceans , iliad , batch  ;
+RFCE = max(0,RFCD-RFDORD);
+DFCE = min(0,RFCD-RFDORD);
+RFCF = max(0,RFCE-RFDHIS);
+DRCF  = min(0,RFCE-RFDHIS);
+RFCG = max(0,RFCF-RFDANT);
+DFCG = min(0,RFCF-RFDANT);
+regle 834:
+application : pro , oceans , iliad , batch  ;
+RFON = arr(RFCG*RFORDI/RFCD);
+2REVF = min( arr (RFCG*(FONCI)/RFCD) , RFCG-RFON);
+3REVF = min( arr (RFCG*(REAMOR)/RFCD) , RFCG-RFON-2REVF);
+RFQ = FONCI + REAMOR;
+ 
diff --git a/sources2010m_7_1/chap-84.m b/sources2010m_7_1/chap-84.m
new file mode 100644
index 0000000000000000000000000000000000000000..035988c24dc13ac1addfe95abac8495b83c692c0
--- /dev/null
+++ b/sources2010m_7_1/chap-84.m
@@ -0,0 +1,158 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 801 :
+application :pro , oceans , iliad , batch  ;
+BA1AF =  BAF1AP  + BAF1AC  + BAF1AV  ;
+regle 840 :
+application : pro , oceans , iliad , batch  ;
+BARSV = BAHREV + 4BAHREV - BAHDEV;
+BARSREVV = BAHREV +4BAHREV;
+BARSC = BAHREC + 4BAHREC - BAHDEC;
+BARSREVC = BAHREC +4BAHREC;
+BARSP = BAHREP + 4BAHREP - BAHDEP;
+BARSREVP = BAHREP +4BAHREP;
+BARAV = (BACREV + 4BACREV - BACDEV) ;
+BARREVAV = BACREV + 4BACREV;
+BARAC = (BACREC  + 4BACREC - BACDEC) ;
+BARREVAC = BACREC + 4BACREC;
+BARAP = (BACREP + 4BACREP - BACDEP) ;
+BARREVAP = BACREP + 4BACREP;
+regle 8421:
+application : pro , oceans , iliad , batch  ;
+pour i =V,C,P:
+DEFBACREi = positif(4BACREi) * arr((BACDEi * BACREi) / BARREVAi) + (1 - positif(4BACREi)) * BACDEi ;
+pour i =V,C,P:
+4DEFBACREi = positif(4BACREi) * (BACDEi - DEFBACREi);
+regle 84211:
+application : pro , oceans , iliad , batch  ;
+BANV = (BACREV - DEFBACREV) * positif_ou_nul(BARAV) + BARAV * (1-positif(BARAV));
+BANC = (BACREC - DEFBACREC) * positif_ou_nul(BARAC) + BARAC * (1-positif(BARAC));
+BANP = (BACREP - DEFBACREP) * positif_ou_nul(BARAP) + BARAP * (1-positif(BARAP));
+BAEV = (4BACREV - 4DEFBACREV) * positif_ou_nul(BARAV) + 0;
+BAEC = (4BACREC - 4DEFBACREC) * positif_ou_nul(BARAC) + 0;
+BAEP = (4BACREP - 4DEFBACREP) * positif_ou_nul(BARAP) + 0;
+regle 842111:
+application : pro , oceans , iliad , batch  ;
+pour i =V,C,P:
+DEFBAHREi = positif(4BAHREi) * arr((BAHDEi * BAHREi) / BARSREVi) + (1 - positif(4BAHREi)) * BAHDEi ;
+pour i =V,C,P:
+4DEFBAHREi = positif(4BAHREi) * (BAHDEi - DEFBAHREi) ;
+regle 843:
+application : pro , oceans , iliad , batch  ;
+BAMV = arr((BAHREV - DEFBAHREV) * MAJREV) * positif_ou_nul(BARSV) + BARSV * (1-positif(BARSV));
+BAMC = arr((BAHREC - DEFBAHREC) * MAJREV) * positif_ou_nul(BARSC) + BARSC * (1-positif(BARSC));
+BAMP = arr((BAHREP - DEFBAHREP) * MAJREV) * positif_ou_nul(BARSP) + BARSP * (1-positif(BARSP));
+BAEMV = (arr((4BAHREV - 4DEFBAHREV)* MAJREV)) * positif_ou_nul(BARSV) + 0;
+BAEMC = (arr((4BAHREC - 4DEFBAHREC)* MAJREV)) * positif_ou_nul(BARSC) + 0;
+BAEMP = (arr((4BAHREP - 4DEFBAHREP)* MAJREV)) * positif_ou_nul(BARSP) + 0;
+regle 8431:
+application : pro , oceans , iliad , batch  ;
+BAFORV = arr(BAFV*MAJREV)+BAFORESTV+BAFPVV;
+BAFORC = arr(BAFC*MAJREV)+BAFORESTC+BAFPVC;
+BAFORP = arr(BAFP*MAJREV)+BAFORESTP+BAFPVP;
+regle 84311:
+application : pro , oceans , iliad , batch  ;
+BAHQV = BANV + BAMV + BAFORV;
+BAHQC = BANC + BAMC + BAFORC;
+BAHQP = BANP + BAMP + BAFORP;
+regle 845:
+application : pro , oceans , iliad , batch  ;
+4BAQV = max(0,(4BACREV - 4DEFBACREV))*positif_ou_nul(BARAV)+arr(max(0,(4BAHREV - 4DEFBAHREV))*MAJREV) * positif_ou_nul(BARSV);
+4BAQC = max(0,(4BACREC - 4DEFBACREC))*positif_ou_nul(BARAC)+arr(max(0,(4BAHREC - 4DEFBAHREC))*MAJREV) * positif_ou_nul(BARSC);
+4BAQP = max(0,(4BACREP - 4DEFBACREP))*positif_ou_nul(BARAP)+arr(max(0,(4BAHREP - 4DEFBAHREP))*MAJREV) * positif_ou_nul(BARSP);
+regle 8451:
+application : pro , oceans , iliad , batch  ;
+BAQV = BAEV + BAEMV;
+BAQC = BAEC + BAEMC;
+BAQP = BAEP + BAEMP;
+regle 84511:
+application : pro , oceans , iliad , batch  ;
+BA1V = BA1AV + BAF1AV ;
+BA1C = BA1AC + BAF1AC ;
+BA1P = BA1AP + BAF1AP ;
+regle 84512:
+application : pro , oceans , iliad , batch  ;
+BAHQT=BAHQV+BAHQC+BAHQP;
+BAHQTOT=BAHQV+BAHQC+BAHQP-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2-DAGRI1;
+BAHQTOTMAXP=positif_ou_nul(BAHQT) * max(0,BAHQV+BAHQC+BAHQP-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2-DAGRI1);
+BAHQTOTMAXN=positif_ou_nul(BAHQT) * min(0,BAHQV+BAHQC+BAHQP-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2-DAGRI1);
+BAHQTOTMIN=positif(-BAHQT) * BAHQT;
+regle 84513:
+application : pro , oceans , iliad , batch  ;
+BAQT = BAQV + BAQC + BAQP;
+BAQTOT = max(0,BAQV + BAQC + BAQP + BAHQTOTMAXN);
+BAQTOTN = min(0,BAQV + BAQC + BAQP + BAHQTOTMAXN);
+BAQTOTMIN = min(0,BAQV + BAQC + BAQP + BAHQTOTMIN);
+BAQTOTAV = positif_ou_nul(BAQT + BAHQT) * BAQTOT + (1 - positif(BAQT + BAHQT)) * 0;
+4BAQTOT = somme(x=V,C,P: 4BAQx) ;
+4BAQTOTNET = positif(4BAQTOT) * max(0, 4BAQTOT + (BAHQTOTMIN + BAHQTOTMAXN) );
+regle 845111:
+application : pro , oceans , iliad , batch  ;
+BA1 = BA1V + BA1C + BA1P; 
+regle 846:
+application : pro , oceans , iliad , batch  ;
+BANOR = BAHQTOTMAXP + BAQTOTMIN;
+
+regle 847:
+application : pro , oceans , iliad , batch  ;
+DEFBA6 = (1-positif(BAHQT+BAQT)) * (DAGRI5) 
+	    + positif(BAHQT+BAQT) * 
+	    abs(min(max(BAHQT+BAQT-DAGRI6,0)-DAGRI5,DAGRI5))
+            * positif_ou_nul(DAGRI5-max(BAHQT+BAQT-DAGRI6,0))
+		    * (1 - positif(IPVLOC)) ;
+DEFBA5 = (1-positif(BAHQT+BAQT)) * (DAGRI4) 
+	    + positif(BAHQT+BAQT) * 
+	     abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5,0)-DAGRI4,DAGRI4))
+            * positif_ou_nul(DAGRI4-max(BAHQT+BAQT-DAGRI6-DAGRI5,0))
+		    * (1 - positif(IPVLOC)) ;
+DEFBA4 = (1-positif(BAHQT+BAQT)) * (DAGRI3) 
+	    + positif(BAHQT+BAQT) * 
+	     abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4,0)-DAGRI3,DAGRI3))
+            * positif_ou_nul(DAGRI3-max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4,0))
+		    * (1 - positif(IPVLOC)) ;
+DEFBA3 = (1-positif(BAHQT+BAQT)) * (DAGRI2) 
+	    + positif(BAHQT+BAQT) * 
+	     abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3,0)-DAGRI2,DAGRI2))
+            * positif_ou_nul(DAGRI2-max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3,0))
+		    * (1 - positif(IPVLOC)) ;
+DEFBA2 = (1-positif(BAHQT+BAQT)) * (DAGRI1) 
+	    + positif(BAHQT+BAQT) * 
+	     abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2,0)-DAGRI1,DAGRI1))
+            * positif_ou_nul(DAGRI1-max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2,0))
+		    * (1 - positif(IPVLOC)) ;
+DEFBA1 = (1-positif(BAHQT+BAQT)) * (abs(BAHQT+BAQT)-abs(DEFIBA))
+	    + positif(BAHQT+BAQT) * 
+	     positif_ou_nul(DAGRI5+DAGRI4+DAGRI3+DAGRI2+DAGRI1-BAHQT-BAQT)
+	    * (DAGRI5+DAGRI4+DAGRI3+DAGRI2+DAGRI1-BAHQT-BAQT)
+	    * null(DEFBA2+DEFBA3+DEFBA4+DEFBA5+DEFBA6)
+		    * (1 - positif(IPVLOC)) ;
+regle 848:
+application : pro , oceans , iliad , batch  ;
+DEFIBAANT = positif_ou_nul(BAQT+BAHQTOT-DAGRI1-DAGRI2-DAGRI3-DAGRI4-DAGRI5-DAGRI6)
+            * (DAGRI1-DAGRI2-DAGRI3-DAGRI4-DAGRI5-DAGRI6)
+            + positif_ou_nul(DAGRI1+DAGRI2+DAGRI3+DAGRI4+DAGRI5+DAGRI6-BAQT-BAHQTOT)
+            * (BAQT+BAHQTOT);
+regle 849:
+application : pro , oceans , iliad , batch  ;
+DAGRI = DAGRI1+DAGRI2+DAGRI3+DAGRI4+DAGRI5+DAGRI6;
+regle 850:
+application : pro , oceans , iliad , batch  ;
+BAQTOTAVIS = 4BAQTOTNET;
diff --git a/sources2010m_7_1/chap-85.m b/sources2010m_7_1/chap-85.m
new file mode 100644
index 0000000000000000000000000000000000000000..9747a5f419d638f2a3fc7c0cd74a6e94ae1f82d5
--- /dev/null
+++ b/sources2010m_7_1/chap-85.m
@@ -0,0 +1,295 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 8501 :
+application : pro ,  oceans , iliad , batch  ;
+ pour i= V,C,P:                                           
+BIPTAi = (BICNOi - BICDNi );           
+pour i= V,C,P:                                           
+BIPTTAi = (BIPTAi + BI1Ai);              
+regle 8503 :
+application : pro ,  oceans , iliad , batch  ;
+pour i= V,C,P:                                           
+BINTAi = (BICREi - BICDEi );        
+                                                         
+pour i= V,C,P:                                           
+BINTTAi = (BINTAi + BI2Ai);           
+                                                         
+                                                         
+regle 8506 :
+application : pro ,  oceans , iliad , batch  ;
+ 
+pour i= V,C,P:                                           
+BI12Ai = BI1Ai +  BI2Ai;
+
+regle 8508 :
+application : pro , oceans , iliad , batch  ;
+
+pour i= V,C,P:                                           
+BITAi = BIPTAi + BINTAi;
+
+pour i= V,C,P:                                           
+BITTAi = BITAi + BI12Ai;
+
+regle 857:
+application : pro , oceans , iliad , batch  ;
+BI1 = somme(i=V,C,P:BI1i);
+BI2 = somme(i=V,C,P:BI2i);
+regle 8571:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,P:
+BI1i = BI1Ai;
+pour i = V,C,P:
+BI2i = BI2Ai;
+regle 8580:
+application : pro , oceans , iliad , batch ;
+pour i = V,P,C:
+BIHTAi = max(0,arr((BIHNOi - BIHDNi) * MAJREV))
+         + min(0,(BIHNOi - BIHDNi) );
+
+pour i = V,P,C:
+BINHTAi = max(0,arr((BICHREi - BICHDEi)*MAJREV))
+          + min(0,(BICHREi - BICHDEi) ) ;
+regle 85200:
+application : pro ,  oceans , iliad , batch ;
+
+pour i = V,C,P:
+MIB_TVENi = MIBVENi + MIBNPVENi;
+
+pour i = V,C,P:
+MIB_TPRESi = MIBPRESi + MIBNPPRESi;
+
+pour i = V,C,P:
+MIB_TTi = MIB_TVENi + MIB_TPRESi;
+
+
+regle 85240:
+application : pro ,  oceans , iliad , batch ;
+
+pour i = V,C,P:
+MIB_AVi = min ( MIB_TVENi,
+                         (max(MIN_MBIC,
+                              arr( MIB_TVENi*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+PMIB_AVi = min ( MIBVENi,
+                         (max(MIN_MBIC,
+                              arr( MIBVENi*TX_MIBVEN/100))
+                         )
+              );
+
+
+pour i = V,C,P:
+MIB_APi = min ( MIB_TPRESi,
+                         (max(MIN_MBIC,
+                              arr(MIB_TPRESi*TX_MIBPRES/100))
+                         )
+               );
+pour i = V,C,P:
+PMIB_APi = min ( MIBPRESi,
+                         (max(MIN_MBIC,
+                              arr(MIBPRESi*TX_MIBPRES/100))
+                         )
+               );
+
+
+
+regle 85250:
+application : pro ,  oceans , iliad , batch ;
+
+pour i = V,C,P:
+MIB_ABVi = max(0,arr(MIB_AVi * MIBVENi / MIB_TVENi));
+pour i = V,C,P:
+MIB_ABNPVi = MIB_AVi - MIB_ABVi;
+
+pour i = V,C,P:
+MIB_ABPi = max(0,arr(MIB_APi * MIBPRESi / MIB_TPRESi));
+pour i = V,C,P:
+MIB_ABNPPi = MIB_APi - MIB_ABPi;
+
+
+regle 85260:
+application : pro ,  oceans , iliad , batch ;
+
+pour i = V,C,P:
+MIB_NETVi = MIBVENi - MIB_ABVi;
+MIBNETVF = somme(i=V,C,P:MIB_NETVi) ;
+pour i = V,C,P:
+MIB_NETNPVi = MIBNPVENi - MIB_ABNPVi;
+MIBNETNPVF = somme(i=V,C,P:MIB_NETNPVi);
+
+pour i = V,C,P:
+MIB_NETPi = MIBPRESi - MIB_ABPi;
+MIBNETPF = somme(i=V,C,P:MIB_NETPi) ;
+pour i = V,C,P:
+MIB_NETNPPi = MIBNPPRESi - MIB_ABNPPi;
+MIBNETNPPF = somme(i=V,C,P:MIB_NETNPPi);
+
+pour i = V,C,P:
+PMIB_NETVi = MIBVENi - PMIB_AVi;
+pour i = V,C,P:
+PMIB_NETPi = MIBPRESi - PMIB_APi;
+
+
+
+regle 85265:
+application : pro ,  oceans , iliad , batch ;
+MIB_NETCT = MIBPVV + MIBPVC + MIBPVP - MIBDCT ;
+
+MIB_NETNPCT = MIBNPPVV + MIBNPPVC + MIBNPPVP - MIBNPDCT ;
+
+
+regle 85270:
+application : pro ,  oceans , iliad , batch ;
+
+pour i=V,C,P:
+MIB_P1Ai = MIB1Ai - MIBDEi ;
+pour i=V,C,P:
+MIB_NP1Ai = MIBNP1Ai - MIBNPDEi ;
+pour i=V,C,P:
+MIB_1Ai = max(0,MIB_P1Ai + MIB_NP1Ai);
+MIB_1AF = max (0,
+                somme(i=V,C,P:MIB_1Ai));
+regle 85390:
+application : pro , oceans , iliad , batch ;
+pour i = V,C,P:
+REVIBI12i = BIH1i + BIH2i + BI1Ai + BI2Ai;
+regle 85700:
+application : pro , oceans , iliad , batch ;
+BICPF = somme(i=V,C,P:BIPTAi+BIHTAi+MIB_NETVi+MIB_NETPi) + MIB_NETCT  ; 
+regle 85730:
+application : pro , oceans , iliad , batch ;
+DEFNP  = somme (i=1,2,3,4,5,6:DEFBICi);
+pour i = V,C,P:
+BICNPi = BINTAi+BINHTAi+  MIB_NETNPVi + MIB_NETNPPi ;
+BICNPF = max(0,somme(i=V,C,P:BICNPi)+MIB_NETNPCT - DEFNP)  ; 
+DEFNPI = abs(min( DEFNP , somme(i=V,C,P:BICNPi*positif(BICNPi))));
+
+regle 85740:
+application : pro , oceans , iliad , batch ;
+BICNPR = somme(i=V,C,P:BINTAi);
+regle 85750:
+application : pro , oceans , iliad , batch ;
+BI12F = somme(i=V,C,P:REVIBI12i) + MIB_1AF  ; 
+regle 85900:
+application : pro , oceans , iliad , batch  ;                   
+pour i=V,C,P:                                       
+BICIMPi = BIHTAi +  BIPTAi + MIB_NETVi + MIB_NETPi;
+BIN = BICPF + BICNPF ;
+regle 85960:
+application : batch, iliad ;
+
+
+
+DCTMIB = MIBDCT * positif_ou_nul(BIPN+MIB_NETCT)
+	 + (1-positif_ou_nul(BIPN+MIB_NETCT)) * (MIBDCT - abs(BIPN+MIB_NETCT))
+	 + (1-positif_ou_nul(BIPN+MIB_NETCT)) * null(MIBDCT - abs(BIPN+MIB_NETCT)) * MIBDCT
+	 ;
+DCTMIBNP = MIBNPDCT * positif_ou_nul(BINNV+BINNC+BINNP+MIB_NETNPCT)
+	 + (1-positif_ou_nul(BINNV+BINNC+BINNP+MIB_NETNPCT)) * (MIBNPDCT - abs(BINNV+BINNC+BINNP+MIB_NETNPCT))
+	 + (1-positif_ou_nul(BINNV+BINNC+BINNP+MIB_NETNPCT)) * null(MIBNPDCT - abs(BINNV+BINNC+BINNP+MIB_NETNPCT))*MIBNPDCT
+	 ;
+regle 90000:
+application : pro , oceans , iliad , batch  ;                   
+
+DEPLOCV = (LOCPROCGAV - LOCDEFPROCGAV) + (LOCPROV - LOCDEFPROV) ;
+DEPLOCC = (LOCPROCGAC - LOCDEFPROCGAC) + (LOCPROC - LOCDEFPROC) ;
+DEPLOCP = (LOCPROCGAP - LOCDEFPROCGAP) + (LOCPROP - LOCDEFPROP) ;
+
+DENPLOCV = (LOCNPCGAV - LOCDEFNPCGAV) + (LOCNPV - LOCDEFNPV) ;
+DENPLOCC = (LOCNPCGAC - LOCDEFNPCGAC) + (LOCNPC - LOCDEFNPC) ;
+DENPLOCP = (LOCNPCGAPAC - LOCDEFNPCGAPAC) + (LOCNPPAC - LOCDEFNPPAC) ;
+
+PLOCCGAV = LOCPROCGAV - LOCDEFPROCGAV;
+PLOCCGAC = LOCPROCGAC - LOCDEFPROCGAC;
+PLOCCGAPAC = LOCPROCGAP - LOCDEFPROCGAP;
+NPLOCCGAV = LOCNPCGAV - LOCDEFNPCGAV;
+NPLOCCGAC = LOCNPCGAC - LOCDEFNPCGAC;
+NPLOCCGAPAC = LOCNPCGAPAC - LOCDEFNPCGAPAC;
+PLOCV = min(0,LOCPROV - LOCDEFPROV) * positif_ou_nul(LOCDEFPROV - LOCPROV) 
+	       + arr(max(0, LOCPROV - LOCDEFPROV) * MAJREV) * positif(LOCPROV - LOCDEFPROV);
+PLOCC = min(0,LOCPROC - LOCDEFPROC) * positif_ou_nul(LOCDEFPROC - LOCPROC) 
+	       + arr(max(0, LOCPROC - LOCDEFPROC) * MAJREV) * positif(LOCPROC - LOCDEFPROC);
+PLOCPAC = min(0,LOCPROP - LOCDEFPROP) * positif_ou_nul(LOCDEFPROP - LOCPROP) 
+	       + arr(max(0, LOCPROP - LOCDEFPROP) * MAJREV) * positif(LOCPROP - LOCDEFPROP);
+NPLOCV = min(0,LOCNPV - LOCDEFNPV) * positif_ou_nul(LOCDEFNPV - LOCNPV) 
+	       + arr(max(0, LOCNPV - LOCDEFNPV) * MAJREV) * positif(LOCNPV - LOCDEFNPV);
+NPLOCC = min(0,LOCNPC - LOCDEFNPC) * positif_ou_nul(LOCDEFNPC - LOCNPC) 
+	       + arr(max(0, LOCNPC - LOCDEFNPC) * MAJREV) * positif(LOCNPC - LOCDEFNPC);
+NPLOCPAC = min(0,LOCNPPAC - LOCDEFNPPAC) * positif_ou_nul(LOCDEFNPPAC - LOCNPPAC) 
+	       + arr(max(0, LOCNPPAC - LOCDEFNPPAC) * MAJREV) * positif(LOCNPPAC - LOCDEFNPPAC);
+regle 90010:
+application : pro , oceans , iliad , batch  ;                   
+PLOCNETV = PLOCCGAV + PLOCV;
+PLOCNETC = PLOCCGAC + PLOCC;
+PLOCNETPAC = PLOCCGAPAC + PLOCPAC;
+NPLOCNETV = NPLOCCGAV + NPLOCV;
+NPLOCNETC = NPLOCCGAC + NPLOCC;
+NPLOCNETPAC = NPLOCCGAPAC + NPLOCPAC;
+regle 90020:
+application : pro , oceans , iliad , batch  ;                   
+PLOCNETF = PLOCNETV + PLOCNETC + PLOCNETPAC;
+TOTDEFLOCNP = LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 +  LNPRODEF5 + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1;
+NPLOCNETF10 = NPLOCNETV + NPLOCNETC + NPLOCNETPAC-(LNPRODEF10 +  LNPRODEF9);
+NPLOCNETF9 = NPLOCNETV + NPLOCNETC + NPLOCNETPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8);
+NPLOCNETF8 = NPLOCNETV + NPLOCNETC + NPLOCNETPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7);
+NPLOCNETF7 = NPLOCNETV + NPLOCNETC + NPLOCNETPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6);
+NPLOCNETF6 = NPLOCNETV + NPLOCNETC + NPLOCNETPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5);
+NPLOCNETF5 = NPLOCNETV + NPLOCNETC + NPLOCNETPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5 + LNPRODEF4);
+NPLOCNETF4 = NPLOCNETV + NPLOCNETC + NPLOCNETPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5 + LNPRODEF4 + LNPRODEF3);
+NPLOCNETF3 = NPLOCNETV + NPLOCNETC + NPLOCNETPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5 + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 );
+NPLOCNETF2 = NPLOCNETV + NPLOCNETC + NPLOCNETPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5 + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1);
+NPLOCNETF = max(0,NPLOCNETV + NPLOCNETC + NPLOCNETPAC-TOTDEFLOCNP);
+DNPLOCIMPU = max(0,min(TOTDEFLOCNP,NPLOCNETV + NPLOCNETC + NPLOCNETPAC));
+NPLOCNETFHDEFANT = max(0,NPLOCNETV + NPLOCNETC + NPLOCNETPAC);
+DEFNPLOCF = min(0,NPLOCNETV + NPLOCNETC + NPLOCNETPAC-(TOTDEFLOCNP-LNPRODEF10));
+DEFNONPLOC = abs(DEFNPLOCF) ;
+regle 90030:
+application : pro , oceans , iliad , batch  ;
+DEFLOC10 = (1- positif_ou_nul(NPLOCNETF10))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10,0)-LNPRODEF9,LNPRODEF9))
+            * positif_ou_nul(LNPRODEF9-max(NPLOCNETFHDEFANT-LNPRODEF10,0));
+DEFLOC9 = (1- positif_ou_nul(NPLOCNETF9))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9,0)-LNPRODEF8,LNPRODEF8))
+            * positif_ou_nul(LNPRODEF8-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9,0));
+DEFLOC8 = (1- positif_ou_nul(NPLOCNETF8))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8,0)-LNPRODEF7,LNPRODEF7))
+            * positif_ou_nul(LNPRODEF7-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF6-LNPRODEF8,0));
+DEFLOC7 = (1- positif_ou_nul(NPLOCNETF7))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7,0)-LNPRODEF6,LNPRODEF6))
+            * positif_ou_nul(LNPRODEF6-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7,0));
+DEFLOC6 = (1- positif_ou_nul(NPLOCNETF6))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6,0)-LNPRODEF5,LNPRODEF5))
+            * positif_ou_nul(LNPRODEF5-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6,0));
+DEFLOC5 = (1- positif_ou_nul(NPLOCNETF5))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6 -LNPRODEF5,0)-LNPRODEF4,LNPRODEF4))
+            * positif_ou_nul(LNPRODEF4-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5,0));
+DEFLOC4 =(1- positif_ou_nul(NPLOCNETF4))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4,0)-LNPRODEF3,LNPRODEF3))
+            * positif_ou_nul(LNPRODEF3-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4,0));
+DEFLOC3 =(1- positif_ou_nul(NPLOCNETF3))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4-LNPRODEF3,0)-LNPRODEF2,LNPRODEF2))
+            * positif_ou_nul(LNPRODEF2-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4-LNPRODEF3,0));
+DEFLOC2 = (1-positif_ou_nul(NPLOCNETF2))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4-LNPRODEF3-LNPRODEF2,0)-LNPRODEF1,LNPRODEF1))
+            * positif_ou_nul(LNPRODEF1-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4-LNPRODEF3-LNPRODEF2,0));
+DEFNPLOCFAV = max(0,abs(DEFNPLOCF) - DEFLOC2 - DEFLOC3 - DEFLOC4 - DEFLOC5 - DEFLOC6 - DEFLOC7 - DEFLOC8 - DEFLOC9 - DEFLOC10);
+DEFLOC1 = positif(DEFNONPLOC) * DEFNPLOCFAV;
diff --git a/sources2010m_7_1/chap-86.m b/sources2010m_7_1/chap-86.m
new file mode 100644
index 0000000000000000000000000000000000000000..067903c911568b605eee4b4da3269405ffc710e4
--- /dev/null
+++ b/sources2010m_7_1/chap-86.m
@@ -0,0 +1,165 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+regle 8610 :
+application : pro , oceans , iliad , batch  ;
+BNNSV = positif(BNHREV - BNHDEV)* arr((BNHREV-BNHDEV)*MAJREV) + (1-positif_ou_nul(BNHREV-BNHDEV))*(BNHREV-BNHDEV);
+
+BNNSC = positif(BNHREC - BNHDEC)* arr((BNHREC-BNHDEC)*MAJREV) + (1-positif_ou_nul(BNHREC-BNHDEC))*(BNHREC-BNHDEC);
+
+BNNSP = positif(BNHREP - BNHDEP)* arr((BNHREP-BNHDEP)*MAJREV) + (1-positif_ou_nul(BNHREP-BNHDEP))*(BNHREP-BNHDEP);
+
+BNNAV = (BNCREV - BNCDEV) ;
+BNNAC = (BNCREC - BNCDEC) ;
+BNNAP = (BNCREP - BNCDEP) ;
+BNNAAV = (BNCAABV - BNCAADV) ;
+BNNAAC = (BNCAABC - BNCAADC) ;
+BNNAAP = (BNCAABP - BNCAADP) ;
+regle 862:
+application : pro , oceans , iliad , batch  ;
+
+NOCEPV = ANOCEP - DNOCEP + BNNAAV; 
+
+NOCEPC = ANOVEP - DNOCEPC + BNNAAC; 
+
+NOCEPP = ANOPEP - DNOCEPP + BNNAAP; 
+
+NOCEPIMPV = positif(ANOCEP - DNOCEP)*arr((ANOCEP-DNOCEP)*MAJREV) 
+	   + positif_ou_nul(DNOCEP-ANOCEP)*(ANOCEP-DNOCEP)+BNNAAV;
+
+NOCEPIMPC = positif(ANOVEP - DNOCEPC)*arr((ANOVEP-DNOCEPC)*MAJREV) 
+	   + positif_ou_nul(DNOCEPC-ANOVEP)*(ANOVEP-DNOCEPC)+BNNAAC;
+
+NOCEPIMPP = positif(ANOPEP - DNOCEPP)*arr((ANOPEP-DNOCEPP)*MAJREV) 
+	   + positif_ou_nul(DNOCEPP-ANOPEP)*(ANOPEP-DNOCEPP)+BNNAAP;
+
+NOCEPIMP = NOCEPIMPV+NOCEPIMPC+NOCEPIMPP;
+
+BNN = somme(i=V,C,P:BNRi) + SPENETPF + max(0,SPENETNPF + NOCEPIMP-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2-DABNCNP1) ;
+regle 8621:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,P:
+BNNi =  BNRi + SPENETi;
+regle 86211:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,P:
+BNRi = BNNSi + BNNAi;
+BNRTOT = BNRV + BNRC + BNRP;
+regle 863:
+application : pro , oceans , iliad , batch  ;
+BN1 = somme(i=V,C,P:BN1i);
+regle 8631:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,P:
+BN1i = BN1Ai + PVINiE;
+regle 864:                                                                    
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPETOTi = BNCPROi + BNCNPi;
+regle 8641:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPEBASABi=SPETOTi;
+pour i = V,C,P:                                                                 
+SPEABi = arr((max(MIN_SPEBNC,(SPEBASABi * SPETXAB/100))) * 
+                       positif_ou_nul(SPETOTi - MIN_SPEBNC)) +
+          arr((min(MIN_SPEBNC,SPEBASABi )) * 
+                       positif(MIN_SPEBNC - SPETOTi)); 
+regle 86411:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPEABPi = arr((SPEABi * BNCPROi)/SPETOTi);                                  
+pour i = V,C,P:                                                                 
+SPEABNPi = SPEABi - SPEABPi;                                  
+regle 8642:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPENETPi = max (0,(BNCPROi - SPEABPi));                                    
+pour i = V,C,P:                                                                 
+SPENETNPi = max (0,(BNCNPi - SPEABNPi));
+pour i = V,C,P:                                                                 
+SPENETi = SPENETPi + SPENETNPi;
+SPENET = somme(i=V,C,P:(SPENETi));
+regle 8650:
+application : pro , oceans , iliad , batch  ;                          
+SPENETCT = BNCPROPVV + BNCPROPVC + BNCPROPVP - BNCPRODCT;
+SPENETNPCT = BNCNPPVV + BNCNPPVC + BNCNPPVP - BNCNPDCT;
+regle 8660:
+application : pro , oceans , iliad , batch  ;                          
+SPENETPF = somme(i=V,C,P:SPENETPi) + SPENETCT;
+SPENETNPF = somme(i=V,C,P:SPENETNPi) + SPENETNPCT;                                    
+BNCNPTOT = SPENETPF + SPENETNPF;
+regle 8680:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPEPVPi = BNCPRO1Ai - BNCPRODEi;
+pour i = V,C,P:                                                                 
+SPEPVNPi = BNCNP1Ai - BNCNPDEi;
+SPEPV = somme(i=V,C,P:max(0,SPEPVPi + SPEPVNPi));
+
+regle 8690:
+application :  oceans , iliad , batch  ;                          
+
+DCTSPE = positif_ou_nul(BNRTOT+SPENETPF) * BNCPRODCT
+        + ( 1 - positif_ou_nul(BNRTOT+SPENETPF)) * (BNCPRODCT-abs(BNRTOT+SPENETPF))
+        + ( 1 - positif_ou_nul(BNRTOT+SPENETPF)) * null(BNCPRODCT-abs(BNRTOT+SPENETPF))* BNCPRODCT
+	;
+DCTSPENP = positif_ou_nul(NOCEPIMP+SPENETNPF) * BNCNPDCT
+        + ( 1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (BNCNPDCT-abs(NOCEPIMP+SPENETNPF))
+        + ( 1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * null(BNCNPDCT-abs(NOCEPIMP+SPENETNPF)) * BNCNPDCT
+	;
+regle 8691:
+application : pro , oceans , iliad , batch  ;
+
+BNCDF6 = (1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP5)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF) 
+	    * min(max(NOCEPIMP+SPENETNPF-DABNCNP6,0)-DABNCNP5,DABNCNP5)*(-1)
+            * positif_ou_nul(DABNCNP5-max(NOCEPIMP+SPENETNPF-DABNCNP6,0));
+
+BNCDF5 = (1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP4)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF) 
+	    * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5,0)-DABNCNP4,DABNCNP4)*(-1)
+            * positif_ou_nul(DABNCNP4-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5,0));
+
+BNCDF4 = (1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP3)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF) 
+	    * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4,0)-DABNCNP3,DABNCNP3)*(-1)
+            * positif_ou_nul(DABNCNP3-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4,0));
+
+BNCDF3 = (1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP2)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF)  
+            * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3,0)-DABNCNP2,DABNCNP2)*(-1)
+            * positif_ou_nul(DABNCNP2-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3,0));
+
+BNCDF2 = (1-positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP1)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF)  
+            * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2,0)-DABNCNP1,DABNCNP1)*(-1)
+            * positif_ou_nul(DABNCNP1-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2,0));
+
+BNCDF1 = (1-positif_ou_nul(NOCEPIMP+SPENETNPF)) * abs(NOCEPIMP+SPENETNPF)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF)  
+            * positif_ou_nul(DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1-NOCEPIMP-SPENETNPF)
+            * (DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1-NOCEPIMP-SPENETNPF)
+	    * null(BNCDF6+BNCDF5+BNCDF4+BNCDF3+BNCDF2) ;
+
+regle 8692:
+application : pro , oceans , iliad , batch  ;                          
+DABNCNP = DABNCNP1 + DABNCNP2 + DABNCNP3 + DABNCNP4 + DABNCNP5 + DABNCNP6;
diff --git a/sources2010m_7_1/chap-87.m b/sources2010m_7_1/chap-87.m
new file mode 100644
index 0000000000000000000000000000000000000000..842bfbc432745705e10dadd5953ac4eb69c1b30c
--- /dev/null
+++ b/sources2010m_7_1/chap-87.m
@@ -0,0 +1,203 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 8740:
+application : pro , oceans , iliad , batch ;
+XFORFAIT  = somme(i=V,C,P: FEXi);
+regle 8741:
+application : pro , oceans , iliad , batch ;
+XACCESS  = somme(i=V,C,P: XACCESSi);
+regle 8745:
+application : pro , oceans , iliad , batch ;
+pour i = V,P,C:
+XBAi = BAHEXi + BAEXi ;
+pour i = V,P,C:
+XBIPi = BIHEXi + BICEXi;
+pour i = V,P,C:
+XBINPi = BICNPHEXi + BICNPEXi;
+pour i = V,P,C:
+XBNi = BNHEXi + BNCEXi ;
+pour i = V,P,C:
+XBNNPi = BNCNPREXi+BNCNPREXAAi ;
+regle 872:
+application : pro , oceans , iliad , batch ;
+pour i=V,C,P:
+XBICHDi = (BICEXi + BICNOi)  ;
+pour i=V,C,P:
+XBICNETi = XBICHDi - ( BICDNi )  ;
+pour i=V,C,P:
+XBICSi =  XBICNETi + BA1Ai ;
+pour i=V,C,P:
+XBICNPHDi = BICNPEXi + BICREi ;
+pour i=V,C,P:
+XBICNPNETi = XBICNPHDi - BICDEi ;
+pour i=V,C,P:
+XBICNPSi =  XBICNPNETi + BI2Ai ;
+pour  i = V,C,P:
+XBITi = max (0 , XBICNETi + max (0,XBICNPNETi )); 
+pour  i = V,C,P:
+XBISi = positif(max(0,XBICNETi + max(0,XBICNPNETi)))
+        * ( BI2Ai  + BI1Ai  );
+
+pour i=V,C,P:
+XBICIMPi =  XBICHDi + XBICNPHDi ;
+regle 8728:
+application : pro , oceans , iliad , batch ;
+pour i=V,C:
+XTSBi =  somme(x=1..3:GLDxi) + TSBNi + BPCOSAi + TSASSUi + XETRANi + HEURESUPi + EXOCETi ;
+
+pour i=1,2,3,4:
+XTSBi =  TSBNi + HEURESUPPi ;
+pour i=V,C:
+XEXTSi = XTSBi + CARPEi;
+pour i=1,2,3,4:
+XEXTSi = XTSBi;
+regle 8731:
+application : pro , oceans , iliad , batch ;
+pour i = V,C,1,2,3,4:
+XTPS10i = arr (XTSBi * TX_DEDFORFTS /100);
+pour i = V,C,1,2,3,4:
+XDFNi =  min( PLAF_DEDFORFTS , XTPS10i );
+regle 8729:
+application : pro , oceans , iliad , batch ;
+pour i = V,C,1,2,3,4:
+X10MINSi= max( min(XTSBi,DEDMINi) , XDFNi );
+pour i = V,C,1,2,3,4:
+XIND_10i= positif_ou_nul(X10MINSi-FRNi);
+pour i = V,C,1,2,3,4:
+XDFi = X10MINSi  ;
+pour i = V,C,1,2,3,4:
+XFPTi = XDFi * XIND_10i + FRDi * (1 - XIND_10i);
+pour i = V,C,1,2,3,4:
+XTSNTi =  XEXTSi - XFPTi;
+regle 8734:
+application : pro , oceans , iliad , batch ;
+pour i = V,C,1,2,3,4:
+XTSNi = positif (-XTSNTi) * min (0 , XTSNTi)
+     + positif_ou_nul (XTSNTi) * XTSNTi;
+regle 8735:
+application : pro , oceans , iliad , batch ;
+pour i = V,C:
+XTSi = XTSNi -  somme(x=1..3: max(0,GLDxi - ABGLxi));
+pour i = V,C:
+XHSUPTSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (HEURESUPi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * HEURESUPi;
+pour i = 1,2,3,4:
+XHSUPTSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (HEURESUPPi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * HEURESUPPi;
+HEURESUPTOT = somme(i=1..4: HEURESUPPi);
+XHSUPTSTOT = somme(i=1..4: XHSUPTSNNi);
+HEURSUP = XHSUPTSNNV +  XHSUPTSNNC +  XHSUPTSNN1 +  XHSUPTSNN2 +  XHSUPTSNN3 +  XHSUPTSNN4;  
+pour i = V,C:
+XTSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (TSASSUi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * TSASSUi;
+pour i = V,C:
+XETSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (XETRANi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * XETRANi;
+pour i = V,C:
+XEXOCETi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (EXOCETi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * EXOCETi;
+XEXOCET = somme(i=V,C:XEXOCETi);
+pour i = V,C:
+DTSELUPPEi = TSELUPPEi * (1 - V_CNR);
+pour i = V,C:
+XLUXTSNNi = arr( positif(XTSNi) * XTSNi  
+         * (DTSELUPPEi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * DTSELUPPEi;
+regle 876:
+application : pro , oceans , iliad , batch ;
+XELU = ELURASC + ELURASV ;
+regle 875:
+application : pro , oceans , iliad , batch ;
+GLN2NET = arr(GLN2 * GL2 / REV2);
+GLN3NET = arr(GLN3 * GL3 / REV3);
+QUOKIRE =   GL1 + GL2 + GL3 + RPQ4
+             + somme (x=V,C,1..4 : RPQPRRx+ GLFx+ RPQTSx+ RPQTSREMPx+RPQPALIMx)
+             + RPQRF1 + GLRF2 + RPQRCMDC + RPQRCMFU + RPQRCMCH
+             + RPQRCMTS + RPQRCMGO + RPQRCMTR + RPQRVO + RPQRVO5 + RPQRVO6 + RPQRVO7;
+
+regle 8727:
+application : pro , oceans , iliad , batch ;
+
+
+
+REVKIRE = (1-null(IND_TDR)) *
+ arr (
+       max ( 0, ( 
+                  (1-positif(IPTEFP+IPTEFN+INDTEFF)) * (RI1)  
+                  + positif(IPTEFP+IPTEFN+INDTEFF) * IPTEFP
+                  + positif(IPTEFP+IPTEFN+INDTEFF) 
+                  * positif(- TEFFN - DRBG - RNIDF + APERPV + APERPC + APERPP + QUOKIRE)*
+		   ( APERPV + APERPC + APERPP 
+		   + QUOKIRE
+                   ) 
+                  + max(0,TEFFREVTOT*INDTEFF) * (1-positif(IPTEFP))
+
+                )
+                * (1-present(IND_TDR))
+                + 
+                   IND_TDR
+		   + (1-positif(IPTEFP+IPTEFN+INDTEFF)) * 
+		     (QUOKIRE + APERPV + APERPC + APERPP) 
+                   + somme( i=V,C,P: XBAi+XBIPi+XBINPi+XBNi+XBNNPi)
+                   + somme (i=V,C,P: MIBEXi + MIBNPEXi + BNCPROEXi + XSPENPi)
+		   + somme (i=V,C,P: BNCCRi)
+		   + somme (i=V,C,P: BNCCRFi)
+                   + somme (i=V,C: XETSNNi)
+                   + somme (i=V,C: XEXOCETi)
+                   + somme (i=V,C: XTSNNi)
+                   + somme (i=V,C,1,2,3,4: XHSUPTSNNi)
+                   + XFORFAIT + XACCESS 
+                   + RCMLIB + PPLIB + RCMLIBDIV
+		   + GAINABDET
+		   + PVJEUNENT
+		   + RCMEXCREF
+                   + XELU 
+		   + RCMIMPAT
+                  )
+                    + (max(0,BPVRCM + ABDETPLUS + ABIMPPV - DPVRCM - ABDETMOINS - ABIMPMV) 
+		       + BPVCESDOM + BPV18 + BPV40 + BPCOPT + BPVKRI + PEA)
+                            * positif(ABDETPLUS+ABDETMOINS+ABIMPPV + ABIMPMV)
+	    + BTP3A
+	    + (BTP2 + BTP3N + BTP3G + BPTP4 + BTP40+BTP18 + BPVCESDOM * positif(V_EAD+V_EAG))
+	                     * (1-positif(ABDETPLUS + ABDETMOINS + ABIMPPV + ABIMPMV))
+       ) 
+       ;
+
+pour i=V,C,P:
+BNCCREAi = BNCCRi + BNCCRFi ;
+
+regle 410 :
+application : batch, iliad, pro, oceans;
+CDEVDUR_NBJ = PPENBJ;
+CKIREDUR = arr(REVKIRE * 360/CDEVDUR_NBJ);
+REVKIREDUR2 = CKIREDUR ;
+
+
diff --git a/sources2010m_7_1/chap-88.m b/sources2010m_7_1/chap-88.m
new file mode 100644
index 0000000000000000000000000000000000000000..26014b2e11f3c8920ea4bc8bcbc70365dbeaf285
--- /dev/null
+++ b/sources2010m_7_1/chap-88.m
@@ -0,0 +1,140 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 881:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C;x=1..3:
+GLNxi = max (GLDxi - ABGLxi,0);
+regle 882:
+application : pro , oceans , iliad , batch  ;
+pour i=V,C:
+TSi = TSNi - somme(x=1..3: max(0,GLDxi - ABGLxi));
+pour i=1..4:
+TSi = TSNi;
+pour i=V,C:
+TPRi = TSNi + PRNi - somme(x=1..3: GLNxi);
+pour i=1..4:
+TPRi = TSNi + PRNi;
+pour i = V,C :
+TSNNi =  positif(TSi) *arr(TSi *(TSBNi + BPCOSAi)/EXTSi )
+          + (1 -positif(TSi)) * TSi ;
+pour i = 1..4 :
+TSNNi = (positif(TSi) * arr(TSi * TSBNi /EXTSi )
+            + (1 -positif(TSi)) * TSi)  ;
+pour i = V,C :
+TSNN2i = ( positif(TSi)
+                * ( positif(CARTSi+REMPLAi) 
+                          * arr(TSi * 2TSNi / EXTSi )
+                    + (1 -positif(CARTSi+REMPLAi)) 
+                          * (TSi - TSNNi))) ;
+pour i = 1..4 :
+TSNN2i = ( positif(TSi)
+               * ( positif(CARTSPi+REMPLAPi) 
+                          * arr(TSi * 2TSNi /EXTSi )
+                    + (1 -positif(CARTSPi+REMPLAPi)) 
+                          * (TSi - TSNNi))) ;
+pour i = V,C :
+TSNN2TSi = ( positif(TSi)
+                * ( positif(REMPLAi) 
+                          * arr(TSi * CARTSi / EXTSi )
+                    + (1 -positif(REMPLAi)) 
+                          * (TSi - TSNNi))) ;
+pour i = 1..4 :
+TSNN2TSi = ( positif(TSi)
+               * ( positif(REMPLAPi) 
+                          * arr(TSi * CARTSPi /EXTSi )
+                    + (1 -positif(REMPLAPi)) 
+                          * (TSi - TSNNi))) ;
+pour i = V,C :
+TSNN2REMPi = (positif(TSi) * (TSi - TSNNi-TSNN2TSi)) ;
+pour i = 1..4 :
+TSNN2REMPi = (positif(TSi) * (TSi - TSNNi-TSNN2TSi)) ;
+
+regle 883:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1..4:
+PRRi = arr(PRNi * PRBi / EXPRi);
+pour i = V,C:
+PRR2i = positif(PEBFi+PENSALi) * arr(PRNi * CARPEi / EXPRi)
+           +  (1 -positif(PEBFi+PENSALi)) * (PRNi -PRRi)   ;
+pour i = 1..4:
+PRR2i = positif(PEBFi+PENSALPi) * arr(PRNi * CARPEPi / EXPRi )
+           +  (1 -positif(PEBFi+PENSALPi)) * (PRNi -PRRi);
+pour i = V,C:
+PENFi =  positif(PENSALi) * arr(PRNi * PEBFi / EXPRi)
+       + (1 - positif(PENSALi)) * max(0,(PRNi -PRRi -PRR2i));
+pour i = 1..4:
+PENFi =  positif(PENSALPi) * arr(PRNi * PEBFi / EXPRi)
+        + (1- positif(PENSALPi)) * (PRNi -PRRi -PRR2i);
+pour i = V,C:
+PENALIMi = positif(EXPRi) * (PRNi -PRRi -PRR2i - PENFi) ;
+pour i = 1..4:
+PENALIMi = positif(EXPRi) * (PRNi -PRRi -PRR2i - PENFi) ;
+regle 884:
+application : pro , oceans , iliad , batch  ;
+pour i = 1,2,3,4:
+RVi = arr(RVBi * TXRVTi / 100);
+RVTOT = RV1 + RV2 + RV3 + RV4;
+regle 885:
+application : pro , oceans , iliad , batch  ;
+2RV1 = arr(RENTAX * TXRVT1 / 100);
+2RV2 = arr(RENTAX5 * TXRVT2 / 100);
+2RV3 = arr(RENTAX6 * TXRVT3 / 100);
+2RV4 = arr(RENTAX7 * TXRVT4 / 100);
+T2RV = 2RV1 + 2RV2 + 2RV3 + 2RV4;
+regle 886:
+application : pro , oceans , iliad , batch  ;
+RVBCSG = arr((RVB1 + RENTAX) * TXRVT1 / 100) 
+       + arr((RVB2 + RENTAX5) * TXRVT2 / 100) 
+       + arr((RVB3 + RENTAX6) * TXRVT3 / 100) 
+       + arr((RVB4 + RENTAX7) * TXRVT4 / 100) ;
+
+regle 887:
+application : pro , oceans , iliad , batch  ;
+TSPR = TSPRT + RVTOT ;
+regle 888:
+application : pro , oceans , iliad , batch  ;
+pour i=V,C,1..4:
+TSPRi = TSNNi + PRRi ;
+TSPRP = somme(i=1..4:TSPRi) ;
+regle 8810:
+application : pro , oceans , iliad , batch  ;
+TSNN2P = somme(i=1..4: TSNN2i);
+PRR2P =somme(i=1..4: PRR2i);
+PENFP = PENF1 + PENF2 + PENF3 + PENF4 ;
+PENALIMP = PENALIM1 + PENALIM2 + PENALIM3 + PENALIM4;
+
+regle 8811:
+application : pro , oceans , iliad , batch ;
+TSQVO = 2TSNV;
+TSQCJ = 2TSNC;
+TSQPC = somme(i=1..4: 2TSNi ) ;
+PRQVO =  CARPEV + PEBFV;
+PRQCJ =  CARPEC + PEBFC; 
+PRQPC = somme(i=1..4:  CARPEPi+PEBFi) ;
+PENSALP = PENSALP1 + PENSALP2 + PENSALP3 + PENSALP4;
+regle 8812:
+application : oceans , iliad , pro , batch ;
+PRQNV = 2PRBV;
+PRQNC = 2PRBC; 
+PRQNP = somme(i=1..4: 2PRBi) ;
+PENSTOTV = PRR2V + PENALIMV;
+PENSTOTC = PRR2C + PENALIMC;
+PENSTOTP = PRR2P + PENALIMP;
diff --git a/sources2010m_7_1/chap-aff.m b/sources2010m_7_1/chap-aff.m
new file mode 100644
index 0000000000000000000000000000000000000000..97828fc3a7a5cc059a6c4c551c29157c8a79da43
--- /dev/null
+++ b/sources2010m_7_1/chap-aff.m
@@ -0,0 +1,833 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 111011:
+application :  iliad;
+CONST0 = 0;
+CONST1 = 1;
+CONST2 = 2;
+CONST3 = 3;
+CONST4 = 4;
+CONST10 = 10;
+CONST20 = 20;
+CONST40 = 40;
+regle 1110:
+application : batch, pro  , oceans, iliad;
+LIG0 = (1 - positif(IPVLOC)) * (1 - positif(RE168+TAX1649)) * IND_REV;
+LIG1 = (1-positif(RE168+TAX1649)) ;
+regle 1110010:
+application : pro , oceans, iliad;
+LIG0010 = ( INDV * INDC * INDP ) * LIG0
+           * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 1110020:
+application : pro , oceans, iliad;
+LIG0020 = ( INDV * (1 - INDC) * (1 - INDP) ) * LIG0
+           * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 1110030:
+application : pro , oceans, iliad;
+LIG0030 = ( INDC * (1 - INDV) * (1 - INDP) ) * LIG0
+           * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 1110040:
+application : pro , oceans, iliad;
+LIG0040 = ( INDP * (1 - INDV) * (1 - INDC) ) * LIG0
+           * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 1110050:
+application : pro , oceans, iliad;
+LIG0050 = ( INDV * INDC * (1 - INDP) ) * LIG0
+           * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 1110060:
+application : pro , oceans, iliad;
+LIG0060 = ( INDV * INDP * (1 - INDC) ) * LIG0
+           * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 1110070:
+application : pro , oceans, iliad;
+LIG0070 = ( INDC * INDP * (1 - INDV) ) * LIG0
+           * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 11110:
+application : pro  , oceans, iliad;
+LIG10V = positif_ou_nul(TSBNV + PRBV + BPCOSAV + positif(F10AV*null(TSBNV+PRBV+BPCOSAV)));
+LIG10C = positif_ou_nul(TSBNC + PRBC + BPCOSAC + positif(F10AC*null(TSBNC+PRBC+BPCOSAC)));
+LIG10P = positif_ou_nul(somme(i=1..4:TSBNi + PRBi) + positif(F10AP*null(somme(i=1..4:TSBNi+PRBi))));
+LIG10 = positif(LIG10V + LIG10C + LIG10P)*TYPE1 ;
+regle 11000:
+application : pro, oceans, iliad ;
+
+LIG1100 = positif(positif(T2RV) * (1 - positif(IPVLOC)) * TYPE4) ;
+
+LIG900 = positif((RVTOT + LIG1100 + LIG910 + BRCMQ + RCMFR + REPRCM + LIGRCMABT + LIG2RCMABT + LIG3RCMABT + LIG4RCMABT
+		  + RCMLIB + LIG29 + LIG30 + RFQ + 2REVF + 3REVF + LIG1130 + VLHAB + DFANT + ESFP + RE168 +TAX1649+ R1649+PREREV)
+                 * TYPE4 ) ;
+
+regle 111440:
+application : pro , oceans, iliad;
+LIG4401 =  positif(V_FORVA) * (1 - positif_ou_nul(BAFV))
+    	  * LIG0 ;
+LIG4402 =  positif(V_FORCA) * (1 - positif_ou_nul(BAFC))
+    	  * LIG0 ;
+LIG4403 =  positif(V_FORPA) * (1 - positif_ou_nul(BAFP)) 
+    	  * LIG0 ;
+regle 11113:
+application : pro  , oceans, iliad,batch;
+LIG13 =  positif(present(BACDEV)+ present(BACREV)
+               + present(BAHDEV) +present(BAHREV)
+               + present(BACDEC) +present(BACREC)
+               + present(BAHDEC)+ present(BAHREC)
+               + present(BACDEP)+ present(BACREP)
+               + present(BAHDEP)+ present(BAHREP)
+               + present(4BAHREV) + present(4BAHREC) + present(4BAHREP)
+               + present(4BACREV) + present(4BACREC) + present(4BACREP)
+               + present(BAFV) + present(BAFC) + present(BAFP)
+	       + present(BAFORESTV) + present(BAFORESTC) 
+	       + present(BAFORESTP)
+               + present(BAFPVV) + present(BAFPVC) + present(BAFPVP))
+	* (1 - positif(IPVLOC)) * LIG1 *TYPE1 ;
+
+regle 111135:
+application : pro  , oceans, iliad;
+4BAQLV = positif(4BACREV + 4BAHREV);
+4BAQLC = positif(4BACREC + 4BAHREC);
+4BAQLP = positif(4BACREP + 4BAHREP);
+regle 111134:
+application : pro  , oceans, iliad,batch;
+LIG134V = positif(present(BAFV) + present(BAHREV) + present(BAHDEV) + present(BACREV) + present(BACDEV)+ present(BAFPVV)+present(BAFORESTV));
+LIG134C = positif(present(BAFC) + present(BAHREC) + present(BAHDEC) + present(BACREC) + present(BACDEC)+ present(BAFPVC)+present(BAFORESTC));
+LIG134P = positif(present(BAFP) + present(BAHREP) + present(BAHDEP) + present(BACREP) + present(BACDEP)+ present(BAFPVP)+present(BAFORESTP));
+LIG134 = positif(LIG134V + LIG134C + LIG134P+present(DAGRI6)+present(DAGRI5)+present(DAGRI4)+present(DAGRI3)+present(DAGRI2)+present(DAGRI1)) 
+		* (1 - positif(IPVLOC)) * (1-positif(abs(DEFIBA)))*TYPE1 ;
+LIGDBAIP = positif_ou_nul(DBAIP) * positif(DAGRI1+DAGRI2+DAGRI3+DAGRI4+DAGRI5+DAGRI6) * (1-positif(IPVLOC))*TYPE1
+                          * positif(abs(abs(BAHQTOT)+abs(BAQTOT)-(DAGRI6+DAGRI5+DAGRI4+DAGRI3+DAGRI2+DAGRI1)));
+regle 111136:
+application : pro  , oceans, iliad ,batch;
+LIG136 = positif(4BAQV + 4BAQC + 4BAQP)
+		* (1 - positif(IPVLOC)) * LIG1 *TYPE1 ;
+
+regle 111590:
+application : pro, oceans, iliad, batch ;
+pour i = V,C,P:
+LIG_BICPi =        (
+  present ( BICNOi )                          
+ + present (BICDNi )                          
+ + present (BIHNOi )                          
+ + present (BIHDNi )                          
+                  ) * LIG0 ;
+LIG_BICP = LIG_BICPV + LIG_BICPC + LIG_BICPP ;
+LIG_DEFNPI = positif(
+   present ( DEFBIC6 ) 
+ + present ( DEFBIC5 ) 
+ + present ( DEFBIC4 ) 
+ + present ( DEFBIC3 ) 
+ + present ( DEFBIC2 )
+ + present ( DEFBIC1 )
+            )
+  * LIG0  * (1-positif(ANNUL2042)) * TYPE1 ;
+
+LIGPLOC = positif(LOCPROCGAV + LOCPROCGAC + LOCPROCGAP + LOCDEFPROCGAV + LOCDEFPROCGAC + LOCDEFPROCGAP
+		   + LOCPROV + LOCPROC + LOCPROP + LOCDEFPROV + LOCDEFPROC + LOCDEFPROP) 
+		   * (1 - null(4 - V_REGCO)) ;
+
+LIGNPLOC = positif(LOCNPCGAV + LOCNPCGAC + LOCNPCGAPAC + LOCDEFNPCGAV + LOCDEFNPCGAC + LOCDEFNPCGAPAC
+		   + LOCNPV + LOCNPC + LOCNPPAC + LOCDEFNPV + LOCDEFNPC + LOCDEFNPPAC 
+		   )
+		   *  (1-null(4 - V_REGCO)) ;
+
+LIGNPLOCF = positif(LOCNPCGAV + LOCNPCGAC + LOCNPCGAPAC + LOCDEFNPCGAV + LOCDEFNPCGAC + LOCDEFNPCGAPAC
+		   + LOCNPV + LOCNPC + LOCNPPAC + LOCDEFNPV + LOCDEFNPC + LOCDEFNPPAC 
+                   + LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF6 + LNPRODEF5
+                   + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1
+		   )
+		   *  (1-null(4 - V_REGCO)) ;
+
+LIGDEFNPLOC = positif(TOTDEFLOCNP) *  (1-null(4 - V_REGCO)) ;
+
+regle 1115901:
+application : pro  , oceans, iliad,batch;
+
+LIG_BICNPF = 
+       positif(
+   present (BICDEC)
+ + present (BICDEP)
+ + present (BICDEV)
+ + present (BICHDEC)
+ + present (BICHDEP)
+ + present (BICHDEV)
+ + present (BICHREC)
+ + present (BICHREP)
+ + present (BICHREV)
+ + present (BICREC)
+ + present (BICREP)
+ + present (BICREV)
+ + present ( DEFBIC6 ) 
+ + present ( DEFBIC5 ) 
+ + present ( DEFBIC4 ) 
+ + present ( DEFBIC3 ) 
+ + present ( DEFBIC2 )
+ + present ( DEFBIC1 )
+)
+                   * LIG0
+                     * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 11117:
+application : pro  , oceans, iliad,batch;
+LIG_BNCNF = positif (present(BNCV) + present(BNCC) + present(BNCP))*TYPE1 ;
+
+LIGNOCEP = ( present ( NOCEPV ) + present ( NOCEPC ) + present( NOCEPP ))     
+            * LIG0  * (1-positif(ANNUL2042)) * TYPE1 ;
+LIGNOCEPIMP = ( present ( NOCEPIMPV ) + present ( NOCEPIMPC ) + present( NOCEPIMPP ))     
+            * LIG0  * (1-positif(ANNUL2042)) * TYPE1 ;
+LIGDAB = positif(present(DABNCNP6)+present(DABNCNP5)+present(DABNCNP4)
+		+present(DABNCNP3)+present(DABNCNP2)+present(DABNCNP1)) 
+		* LIG0  * (1-positif(ANNUL2042)) * TYPE1 ;
+LIGDIDAB = present(DIDABNCNP) * LIG0  * (1-positif(ANNUL2042)) * TYPE1 ;
+
+LIGBNCIF = ( positif (LIGNOCEP) * (1 - positif(LIG3250) + null(BNCIF)) 
+             + (null(BNCIF) * positif(LIGBNCDF)) 
+	     + null(BNCIF)*(1-positif_ou_nul(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2-DABNCNP1)))
+	    * (1-positif(ANNUL2042))  * (1-positif(LIGSPENPNEG+LIGSPENPPOS))* LIG0 * TYPE1;
+regle 125:
+application : pro  , oceans, iliad;
+LIG910 = positif(
+           present(RCMABD) + present(RCMTNC) +
+           present(RCMAV) + present(RCMHAD) + present(RCMHAB) + 
+           present(REGPRIV) + 
+      (1-present(BRCMQ)) *(present(RCMFR))
+                ) * LIG0  * (1-positif(ANNUL2042)) * TYPE1;
+regle 111266:
+application : pro  , oceans, iliad, batch;
+LIGBPLIB= present(RCMLIB) * LIG0  * (1-null(4-V_REGCO))* (1-positif(ANNUL2042)) * TYPE1;
+regle 1111130: 
+application : pro  , oceans, iliad;
+LIG1130 = positif(present(REPSOF)) * LIG0  * (1-positif(ANNUL2042)) * TYPE1;
+regle 1111950:
+application : pro  , oceans, iliad, batch;
+LIG1950 =  ( INDREV1A8 *  positif_ou_nul(REVKIRE) 
+                   * (1 - positif(positif_ou_nul(IND_TDR) * (1-(positif_ou_nul(TSELUPPEV + TSELUPPEC))))) 
+                   * (1 - positif(null(2-V_REGCO)+null(4-V_REGCO)+positif(present(NRINET)+present(NRBASE))))*  TYPE1 ) ;
+regle 11129:
+application : pro  , oceans, iliad;
+LIG29 = positif(present(RFORDI) + present(RFDHIS) + present(RFDANT) +
+                present(RFDORD)) * (1 - positif(IPVLOC))
+                *(1-positif(LIG30)) * LIG1  * (1-positif(ANNUL2042)) * TYPE1 * IND_REV ;
+regle 11130:
+application : pro, oceans, iliad, batch ;
+LIG30 = present(RFMIC) * (1 - positif(IPVLOC)) * (1-positif(ANNUL2042))*TYPE1 ;
+LIGREVRF = positif(present(FONCI) + present(REAMOR)) *(1 - positif(IPVLOC)) * (1-positif(ANNUL2042))*TYPE1 ;
+regle 11149:
+application : pro  , oceans, iliad;
+LIG49 =  INDREV1A8 * positif_ou_nul(DRBG)  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 11152:
+application : pro  , oceans, iliad, batch;
+LIG52 = positif(present(CHENF1) + present(CHENF2) + present(CHENF3) + present(CHENF4) 
+                 + present(NCHENF1) + present(NCHENF2) + present(NCHENF3) + present(NCHENF4)) 
+	     * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 11158:
+application : pro  , oceans, iliad, batch;
+LIG58 = (present(PAAV) + present(PAAP)) 
+	* positif(LIG52)  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 111585:
+application : pro  , oceans, iliad, batch;
+LIG585 = (present(PAAP) + present(PAAV)) 
+	* (1-positif(LIG58))  * (1-positif(ANNUL2042)) * TYPE1 ;
+LIG65 = positif(LIG52 + LIG58 + LIG585 
+                + present(CHRFAC) + present(CHNFAC) + present(CHRDED)
+		+ present(DPERPV) + present(DPERPC) + present(DPERPP)
+                + LIGREPAR)  
+       * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 111555:
+application : pro  , oceans, iliad, batch;
+LIGDPREC = present(CHRFAC) * LIG1;
+
+LIGDFACC = (positif(20-V_NOTRAIT+0) * positif(DFACC)
+           + (1-positif(20-V_NOTRAIT+0)) * present(DFACC)) * LIG1;
+regle 1111390:
+application : pro  , oceans, iliad;
+LIG1390 = positif(positif(ABMAR) + (1-positif(RI1)) * positif(V_0DN))  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 11168:
+application : pro  , oceans, iliad;
+LIG68 = INDREV1A8 * (1-positif(abs(RNIDF)))  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 111681:
+application : pro  , oceans, iliad, batch;
+LIGRNIDF = positif(abs(RNIDF))  * (1-positif(ANNUL2042)) * (1-null(4-V_REGCO)) * TYPE1 ;
+LIGRNIDF0 = positif(abs(RNIDF0)) * positif(abs(RNIDF))  * (1-null(4-V_REGCO)) * (1-positif(ANNUL2042)) * TYPE1 ;
+LIGRNIDF1 = positif(abs(RNIDF1)) * positif(abs(RNIDF))  * (1-null(4-V_REGCO)) * (1-positif(ANNUL2042)) * TYPE1 ;
+LIGRNIDF2 = positif(abs(RNIDF2)) * positif(abs(RNIDF))  * (1-null(4-V_REGCO)) * (1-positif(ANNUL2042)) * TYPE1 ;
+LIGRNIDF3 = positif(abs(RNIDF3)) * positif(abs(RNIDF))  * (1-null(4-V_REGCO)) * (1-positif(ANNUL2042)) * TYPE1 ;
+LIGRNIDF4 = positif(abs(RNIDF4)) * positif(abs(RNIDF))  * (1-null(4-V_REGCO)) * (1-positif(ANNUL2042)) * TYPE1 ;
+LIGRNIDF5 = positif(abs(RNIDF5)) * positif(abs(RNIDF))  * (1-null(4-V_REGCO)) * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 1111420:
+application : pro  , oceans, iliad,batch;
+LIGTTPVQ = positif(
+              positif(CARTSV) + positif(CARTSC) + positif(CARTSP1) + positif(CARTSP2)+ positif(CARTSP3)+ positif(CARTSP4)
+           +  positif(REMPLAV) + positif(REMPLAC) + positif(REMPLAP1) + positif(REMPLAP2)+ positif(REMPLAP3)+ positif(REMPLAP4)
+           +  positif(PEBFV) + positif(PEBFC) + positif(PEBF1) + positif(PEBF2)+ positif(PEBF3)+ positif(PEBF4)
+           +  positif(CARPEV) + positif(CARPEC) + positif(CARPEP1) + positif(CARPEP2)+ positif(CARPEP3)+ positif(CARPEP4)
+           +  positif(PENSALV) + positif(PENSALC) + positif(PENSALP1) + positif(PENSALP2)+ positif(PENSALP3)+ positif(PENSALP4)
+           +  positif(RENTAX) + positif(RENTAX5) + positif(RENTAX6) + positif(RENTAX7)
+           +  positif(REVACT) + positif(REVPEA) + positif(PROVIE) + positif(DISQUO) + positif(RESTUC) + positif(INTERE)
+           +  positif(FONCI) + positif(REAMOR)
+           +  positif(4BACREV) + positif(4BACREC)+positif(4BACREP)+positif(4BAHREV)+positif(4BAHREC)+positif(4BAHREP)
+           +  positif(GLD1V) + positif(GLD1C)+positif(GLD2V)+positif(GLD2V)+positif(GLD3V)+positif(GLD3V)
+                  ) * LIG1  * (1-positif(ANNUL2042)) *(1-null(4-V_REGCO))* TYPE1 ;
+
+regle 111721:
+application : pro  , oceans, iliad;
+LIG1430 =  positif(BPTP3) * LIG0  * (1-positif(ANNUL2042)) * TYPE2 ;
+
+LIG1431 =  positif(BPTP18) * LIG0  * (1-positif(ANNUL2042)) * TYPE2 ;
+regle 111722:
+application : pro  , oceans, iliad;
+LIG815 = V_EAD * positif(BPTPD) * LIG0  * (1-positif(ANNUL2042)) * TYPE2;
+LIG816 = V_EAG * positif(BPTPG) * LIG0  * (1-positif(ANNUL2042)) * TYPE2;
+LIGTXF225 = positif(PEA+0) * LIG0  * (1-positif(ANNUL2042)) * TYPE2;
+LIGTXF30 = positif_ou_nul(BPCOPT) * LIG0  * (1-positif(ANNUL2042)) * TYPE2;
+LIGTXF40 = positif(BPV40+0) * LIG0  * (1-positif(ANNUL2042)) * TYPE2;
+
+regle 111723:
+application : pro, batch, oceans, iliad ;
+
+LIGCESDOM = positif( positif(BPVCESDOM) * positif(V_EAD + 0) * LIG0  * (1-positif(ANNUL2042)) * TYPE2 ) ;
+LIGCESDOMG = positif( positif(BPVCESDOM) * positif(V_EAG + 0) * LIG0  * (1-positif(ANNUL2042)) * TYPE2 ) ;
+
+regle 11181:
+application : pro  , oceans, iliad;
+LIG81 = positif(present(RDDOUP) + present(RDFDOU) + present(REPDON03) + present(REPDON04) 
+		+ present(REPDON05) + present(REPDON06) + present(REPDON07)) 
+               * LIG1 * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 1111500:
+application : pro  , oceans, iliad, batch ;
+
+LIG1500 = positif((positif(IPMOND) * present(IPTEFP)) + positif(INDTEFF) * positif(TEFFREVTOT)) 
+	      * ((V_REGCO+0) dans (1,3,5,6)) * (1-positif(ANNUL2042)) * TYPE1;
+
+LIG1510 = positif((positif(IPMOND) * present(IPTEFN)) + positif(INDTEFF) * (1-positif(TEFFREVTOT))) 
+	      * ((V_REGCO+0) dans (1,3,5,6)) * (1-positif(ANNUL2042)) * TYPE1;
+
+regle 1111522:
+application : pro, oceans, iliad, batch ;
+LIG1522 = (1-present(IND_TDR))* (1 - INDTXMIN)*(1 - INDTXMOY) * V_CR2  * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 1111523:
+application : pro  , oceans, iliad;
+LIG1523 = (1-present(IND_TDR)) * null(V_REGCO - 4) * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 11175:
+application : pro, oceans, iliad, batch ;
+LIG75 = (1 - INDTXMIN) * (1 - INDTXMOY) * (1-LIG1500)*(1-LIG1510) 
+        * INDREV1A8  * (1-positif(ANNUL2042)) * TYPE3;
+LIG1545 = (1-present(IND_TDR))*INDTXMIN  * positif(IND_REV) * (1-positif(ANNUL2042)) * TYPE3;
+LIG1760 = (1-present(IND_TDR))*INDTXMOY  * (1-positif(ANNUL2042)) * TYPE3;
+LIG1546 = positif(PRODOM + PROGUY) * (1-positif(V_EAD + V_EAG)) * (1-positif(ANNUL2042)) * TYPE4;
+LIG1550 = (1-present(IND_TDR))*INDTXMOY  * (1-positif(ANNUL2042)) * TYPE3;
+LIG74 = (1-present(IND_TDR))*(1 - INDTXMIN) * positif(LIG1500+LIG1510) 
+         * (1-positif(ANNUL2042)) * TYPE3;
+regle 11180:
+application : pro, oceans, iliad ;
+LIG80 = positif(present(RDREP) + present(RDFREP)) 
+        * LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 11182:
+application : pro  , oceans, iliad;
+LIG82 = positif(present(RDSYVO) + present(RDSYCJ) + present(RDSYPP) +
+	    present(COSBV) + present(COSBC) + present(COSBP))
+	* LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 11188:
+application : pro  , oceans, iliad, batch;
+LIGRSOCREPR = positif( present(RSOCREPRISE))
+        * LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 1111740:
+application : pro  , oceans, iliad;
+LIG1740 = positif(RECOMP)
+         * (1-positif(ANNUL2042)) * TYPE2 ;
+regle 1111780:
+application : pro  , oceans, iliad;
+LIG1780 = positif(RDCOM + NBACT) * LIG1  * (1-positif(ANNUL2042)) * TYPE1;
+regle 111981:
+application : pro  , oceans, iliad;
+LIG98B = positif(LIG80 + LIG82 + LIGFIPC + present(DAIDE)
+                 + LIGREDAGRI + LIGFORET + LIGRESTIMO + LIGPECHE 
+	         + LIGCINE + LIGTITPRISE + LIGRSOCREPR 
+	         + present(PRESCOMP2000) + present(RDPRESREPORT) + present(FCPI) 
+		 + present(DSOUFIP) + LIGRIRENOV + present(DFOREST) 
+		 + present(DHEBE) + present(DPATNAT) + present(DSURV)
+	         + LIGLOGDOM + LIGACHTOUR + LIGTOURHOT 
+	         + LIGTRATOUR + LIGLOGRES + LIGREPTOUR + LIGLOCHOTR
+	         + LIGREPHA + LIGCREAT + LIG1780 + LIG2040 + LIG81 + LIGLOGSOC
+	         + LIGDOMSOC1 
+		 + LIGCELDO + LIGCELDOP + LIGCELREDOP + LIGCELMET + LIGCELNP 
+		 + LIGCELRENP + LIGCELRRED 
+	         + LIGRESINEUV + LIGRESIVIEU + LIGMEUBLE + LIGREDMEUB 
+		 + present(DNOUV) + LIGLOCENT + LIGCOLENT + LIGRIDOMPRO) 
+           * LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 1111820:
+application : pro  , oceans, iliad;
+LIG1820 = positif(ABADO + ABAGU + RECOMP)  * (1-positif(ANNUL2042)) * TYPE2 ;
+regle 111106:
+application : oceans , iliad , pro , batch ;
+LIG106 = TYPE2 * positif(RETIR);
+LIGINRTAX = TYPE2 * positif(RETTAXA);
+LIG10622 = TYPE2 * positif(RETIR22);
+LIGINRTAX22 = TYPE2 * positif(RETTAXA22);
+ZIG_INT22 = TYPE2 * positif(RETCS22+RETPS22+RETRD22+RETCSAL22);
+
+ZIGINT22 = positif(RETCDIS22) * TYPE2 ;
+
+regle 111107:
+application : oceans, iliad, pro,batch;
+LIG_172810    =TYPE2 * null(MAJTX1 - 10)
+                     * positif(NMAJ1);
+LIG_1728      =TYPE2 * (1-null(MAJTX1 - 10)) 
+                     * positif(NMAJ1);
+LIGTAXA17281    =TYPE2 * null(MAJTX1 - 10)
+                       * positif(NMAJTAXA1);
+LIGTAXA1728      =TYPE2 * (1-null(MAJTX1 - 10))
+                       * positif(NMAJTAXA1);
+LIG_NMAJ1 = TYPE2 * positif(NMAJ1);
+LIG_NMAJ3 = TYPE2 * positif(NMAJ3);
+LIG_NMAJ4 = TYPE2 * positif(NMAJ4);
+LIGNMAJTAXA1 = TYPE2 * positif(NMAJTAXA1);
+LIGNMAJTAXA3 = TYPE2 * positif(NMAJTAXA3);
+LIGNMAJTAXA4 = TYPE2 * positif(NMAJTAXA4);
+regle 111109:
+application : pro  , oceans, iliad;
+LIG109 = positif(IPSOUR + REGCI + LIGPVETR + LIGCULTURE + LIGMECENAT 
+		  + LIGCORSE + LIG2305 
+		  + LIGBPLIB + LIGCIGE + LIGDEVDUR + LIGDDUBAIL
+                  + LIGVEHICULE + LIGVEACQ + LIGVEDESTR + LIGCICA + LIGCIGARD
+		  + LIGPRETUD + LIGSALDOM + LIGHABPRIN
+		  + LIGCREFAM + LIGCREAPP + LIGCREBIO + LIGCREPROSP + LIGINTER
+		  + LIGCRETECH + LIGRESTAU + LIGRESERV + LIGCONGA + LIGMETART 
+		  + LIGCREFORM + LIGLOYIMP + LIGMOBIL + LIGJEUNE
+		  + LIGPPEVCP + LIGPPEV + LIGPPEC + LIGPPEP
+		  + LIGPPEVC + LIGPPEVP + LIGPPECP + LIGPERT
+		  + LIGRSA + LIGVERSLIB + LIGCITEC 
+		   ) 
+               * LIG1
+               * (1-positif(ANNUL2042)) * TYPE3;
+regle 1112030:
+application : pro, oceans, iliad ;
+LIGNRBASE = positif(present(NRINET) + present(NRBASE)) * LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+LIGBASRET = positif(present(IMPRET) + present(BASRET)) * LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 1112332:
+application : pro, oceans, iliad, batch ;
+LIGAVFISC = positif(AVFISCOPTER) * LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 1112040:
+application : pro  , oceans, iliad;
+LIG2040 = positif(DNBE + RNBE + RRETU) * LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 1112041:
+application : pro, oceans, iliad, batch ;
+LIGRDCSG = positif(positif(V_BTCSGDED)+present(DCSG)+present(RCMSOC)) * LIG1 *(1-positif(ANNUL2042)) * TYPE1  ;
+regle 111973:
+application : pro  , oceans, iliad, batch;
+LIG2305 = positif(DIAVF2)  * (1-positif(ANNUL2042)) * TYPE1 ;
+LIGCIGE = positif(RDTECH + RDGEQ + RDEQPAHA) * LIG1  * (1-positif(ANNUL2042)) * TYPE1;
+regle 111117:
+application : pro  , oceans, iliad;
+LIG_IRNET = TYPE1*(1-positif(V_NOTRAIT-20)) + positif(V_NOTRAIT-20)*positif(present(CESSASSV) + present(CESSASSC));
+regle 1112135:
+application : pro  , oceans, iliad;
+LIGANNUL = positif(ANNUL2042)  * TYPE1;
+regle 1112050:
+application : iliad , oceans;
+LIG2053 = positif(V_NOTRAIT-20) * positif(IDEGR)*
+          positif(IREST-SEUIL_REMBCP) *TYPE2 ;
+LIG2051 = (1 - positif(20 - V_NOTRAIT))
+          * positif (RECUMBIS)
+          *TYPE1 ;
+LIG2052 = (APPLI_ILIAD 
+                 * (1 - positif(20 - V_NOTRAIT)) * positif (V_ANTIR)
+          +
+           APPLI_OCEANS * positif (ANTIRAFF)
+          )
+       	  * (1 - positif(LIG2080))   *  TYPE2 ;
+LIGTAXANT =(APPLI_ILIAD
+               * (1 - positif(20 - V_NOTRAIT)) * positif (V_TAXANT)
+            +
+             APPLI_OCEANS * positif (TAXANTAFF)
+            )
+       	      * (1 - positif(LIGTAXADEG))   * TYPE2 ;
+regle 1112080:
+application : pro  , oceans, iliad;
+LIG2080 = positif(NATIMP - 71)  * (1-positif(ANNUL2042)) * TYPE1;
+regle 1112081:
+application : pro  , oceans, iliad;
+LIGTAXADEG = positif(NATIMP - 71) * positif(TAXADEG)  * (1-positif(ANNUL2042)) * TYPE1;
+regle 1112140:
+application : pro , oceans, iliad,batch;
+INDCTX = si (  (V_NOTRAIT+0 = 23) ou (V_NOTRAIT+0 = 25) 
+            ou (V_NOTRAIT+0 = 33) ou (V_NOTRAIT+0 = 35)  
+            ou (V_NOTRAIT+0 = 43) ou (V_NOTRAIT+0 = 45)  
+            ou (V_NOTRAIT+0 = 53) ou (V_NOTRAIT+0 = 55)  
+            ou (V_NOTRAIT+0 = 63) ou (V_NOTRAIT+0 = 65)  
+            )
+         alors (1)
+         sinon (0)
+         finsi;
+LIG2140 = si (( ((V_CR2+0=0) et NATIMP=1 et ( IRNET+TAXANET + NRINET -NAPTOTA  = 0
+                ou  IRNET + TAXANET + NRINET -NAPTOTA  >=SEUIL_REC_CP)) 
+		ou ((V_CR2+0=1) et (NATIMP=1 ou  NATIMP=0)))
+		et LIG2141 + 0 = 0
+		)
+          alors ((((1 - INDCTX) * INDREV1A8 * (1 - (positif(IRANT)*null(NAPT)) ) * (1-positif(ANNUL2042)) * TYPE3)
+                + null(IINET + NAPTOTA) * null(INDREV1A8)) * positif(IND_REV))
+          finsi;
+regle 112141:
+application : batch, pro , oceans, iliad;
+
+LIG2141 = positif(null(IAN + RPEN - IAVT + RPPEACO + TAXASSUR - IRANT) 
+                  * positif(IRANT)
+                  * (1 - positif(LIG2501))
+		  * null(V_IND_TRAIT - 4)
+		  * (1 - positif(NRINET + 0)) * TYPE4) ;
+
+regle 112145:
+application : batch, pro , oceans, iliad;
+LIGNETAREC = positif (IINET)  * positif(ANNUL2042) * TYPE2 ;
+regle 1112150:
+application : pro , oceans , iliad , batch ;
+
+LIG2150 = (1 - INDCTX) 
+	 * positif(IREST)
+         * (1 - positif(LIG2140))
+         * (1 - positif(IND_REST50))
+         * (1-positif(ANNUL2042)) * TYPE2 ;
+
+regle 1112160:
+application : pro , oceans , iliad ;
+
+LIG2161 =  INDCTX 
+	  * positif(IREST) 
+          * positif_ou_nul(IREST - SEUIL_REMBCP) 
+	  * (1 - positif(IND_REST50)) ;
+
+
+LIG2368 = INDCTX 
+	 * positif(IREST)
+         * positif ( positif(IND_REST50)
+                     + positif(IDEGR) )
+           ;
+
+regle 1112171:
+application : batch , pro , oceans , iliad ;
+
+LIG2171 = (1 - INDCTX) 
+	 * positif(IREST)
+	 * (1 - positif(LIG2140))
+         * positif(IND_REST50)  
+	 * (1-positif(ANNUL2042)) * TYPE4 ;
+
+regle 11121710:
+application : pro , iliad ;
+
+LIGTROP = positif(V_ANTRE) * null(IINET)* positif_ou_nul(abs(NAPTOTA)
+             - IRESTIT - IRANT) * (1 - positif_ou_nul(abs(NAPTOTA) - IRESTIT
+             - IRANT - SEUIL_REC_CP))
+               * null(IDRS2 - IDEC + IREP)
+               * (1 - INDCTX);
+
+LIGTROPREST =  positif(V_ANTRE) * null(IINET)* positif_ou_nul(abs(NAPTOTA) 
+               - IRESTIT - IRANT) * (1 - positif_ou_nul(abs(NAPTOTA) - IRESTIT
+               - IRANT - SEUIL_REC_CP))
+		 * (1 - positif(LIGTROP))
+                 * (1 - INDCTX);
+
+regle 1113210:
+application : pro , oceans , iliad ;
+
+LIGRESINF50 = positif (
+              positif(IND_REST50) * positif(IREST) 
+              + ( positif(IDEGR) 
+                 * (1 - positif_ou_nul(IDEGR - SEUIL_REMBCP)) )
+                      )  *  TYPE4 ;
+regle 1112200:
+application : pro , oceans , iliad ;
+LIG2200 = (positif(IDEGR) 
+         * positif_ou_nul(IDEGR - SEUIL_REMBCP)  * TYPE2);
+
+regle 1112205:
+application : pro , oceans, iliad;
+LIG2205 = positif(IDEGR) 
+         * (1 - positif_ou_nul(IDEGR - SEUIL_REMBCP))  * (1-positif(ANNUL2042)) * TYPE2 ;
+
+regle 1112301:
+application : batch, pro , oceans, iliad;
+IND_NIRED = si ((CODINI=3 ou CODINI=5 ou CODINI=13)
+               et (IAVIM-TAXASSUR) = 0 
+                   et  V_CR2 = 0)
+          alors (1 - INDCTX) 
+          finsi;
+regle 1112905:
+application : batch, pro , oceans, iliad;
+IND_IRNMR = si (CODINI=8 et NATIMP=0 et V_CR2 = 0)
+          alors (1 - INDCTX)  
+          finsi;
+regle 1112310:
+application : batch, pro , oceans, iliad;
+
+ 
+IND_IRINF80 = si ( ((CODINI+0=9 et NATIMP+0=0) ou (CODINI +0= 99))
+                  et V_CR2=0 
+                  et  (IRNET+TAXASSUR < SEUIL_REC_CP)
+                  et  (IAVIM >= SEUIL_PERCEP))
+              alors ((1 - positif(INDCTX)) * (1 - positif(IREST))) 
+              finsi;
+
+
+regle 11123101:
+application : batch, pro , oceans,iliad;
+
+LIGNIIR = positif(
+	   positif ( positif(NIAMENDE) 
+                      * positif(IINET - LIM_AMENDE + 1)
+                      * INDREV1A8* (1 - V_CR2)
+
+                     + null(IRNETBIS)
+                      * null(NRINET + 0)
+                    )
+           *  null(NATIMP +0)
+           * null(TAXANET + 0)
+           * (1 - positif(IREP))
+           * (1 - positif(IPROP))
+           * (1 - positif(IRESTIT))
+           * (1 - positif(RPPEACO))
+           * (1 - positif(IDEGR))
+           * (1 - positif(LIGIDB))
+           * (1 - positif(LIGNIRI))
+           * (1 - positif(LIG80F))
+           * (1 - positif(LIG400RI))
+           * (1 - positif(LIG400F))
+           * (1 - positif(LIGAUCUN))
+           * (1 - positif(LIG2141))
+           * (1 - positif(LIG2501))
+           * (1 - positif(LIG8FV))
+           * (1 - positif(LIGAME))
+           * (1 - positif(LIGAMEND))
+           * (1 - positif(LIGNIDB))
+           * (1 - null(V_REGCO-2 +0))
+	   * (1 - positif(LIGTROP))
+	   * (1 - positif(LIGTROPREST))
+	   * (1 - positif(IMPRET))
+	   * positif(20 - V_NOTRAIT)
+           * (1-positif(ANNUL2042)) * TYPE4 );
+
+LIGNIIRA = positif(
+	    positif ( positif(NIAMENDE) 
+                       * positif(IINET - LIM_AMENDE + 1)
+                       * INDREV1A8 * (1 - V_CR2)
+
+                     + null(IRNETBIS)
+                      * null(NRINET + 0)
+	   + positif (RPPEACO)
+                   )
+           *  null(NATIMP +0)
+           * null(TAXANET + 0)
+           * (1 - positif(IREP))
+           * (1 - positif(IPROP))
+           * (1 - positif(IRESTIT))
+           * (1- positif_ou_nul(IRB-IRE-INE+RPPEACO-SEUIL_REC_CP))
+	   * positif (RPPEACO)
+           * (1 - positif(IDEGR))
+           * (1 - positif(NRINET)*positif(RPPEACO))
+           * (1 - positif(LIGIDB))
+           * (1 - positif(LIGNIRI))
+           * (1 - positif(LIG80F))
+           * (1 - positif(LIG400RI))
+           * (1 - positif(LIG400F))
+           * (1 - positif(LIGAUCUN))
+           * (1 - positif(LIG2141))
+           * (1 - positif(LIG2501))
+           * (1 - positif(LIG8FV))
+           * (1 - positif(LIGAME))
+           * (1 - positif(LIGAMEND))
+           * (1 - positif(LIGNIDB))
+           * (1 - null(V_REGCO-2 +0))
+	   * (1 - positif(LIGTROP))
+	   * (1 - positif(LIGTROPREST))
+	   * (1 - positif(IMPRET))
+	   * positif(20 - V_NOTRAIT)
+           * (1-positif(ANNUL2042)) * TYPE4 );
+
+LIGNIIRDEG = positif( 
+           null(IDRS3 - IDEC)
+	   * null(IBM23)
+           * (1 - V_CR2)
+           * null(TAXASSUR)
+           * (1 - null(V_REGCO-2))
+	   * (1 - positif(LIGTROP))
+	   * (1 - positif(LIGTROPREST))
+	   * (1 - positif(IMPRET - SEUIL_REC_CP))
+	   * positif(V_NOTRAIT - 20)
+	   * (1 - positif(INDCTX))
+           * (1-positif(ANNUL2042)) * TYPE4 ) ;
+
+
+regle 11123102:
+application : batch, pro , oceans,iliad;
+
+
+LIGCBAIL = positif(
+	     positif(TAXANET)
+           * positif(NAPT)
+           * null(INDNIRI) * (1 - positif(IBM23))
+	   * ((1-positif (RPPEACO)) + null(IRNET)*positif(RPPEACO))
+           * positif_ou_nul(IINET-SEUIL_REC_CP)
+	   * (1 - positif(LIGNIDB))
+           * positif(1 - null(2-V_REGCO)) * INDREV1A8
+           * (1 - null(V_REGCO-2))
+	   * (1 - positif(LIGTROP))
+	   * (1 - positif(LIGTROPREST))
+	   * (1 - positif(IMPRET))
+	   * positif(20 - V_NOTRAIT)
+           * (1-positif(ANNUL2042)) * TYPE4 );
+                       
+LIGNITSUP = positif(
+	     positif_ou_nul(TAXASSUR - SEUIL_PERCEP)
+           * null(IDRS2-IDEC+IREP)
+           * positif_ou_nul(TAXANET - SEUIL_REC_CP)
+	   * (1 - positif (RPPEACO))
+	   * (1 - positif(LIG0TSUP))
+           * (1 - null(V_REGCO-2))
+	   * (1 - positif(LIGTROP))
+	   * (1 - positif(LIGTROPREST))
+	   * positif(V_NOTRAIT - 20)
+	   * (1 - positif(INDCTX))
+           * (1-positif(ANNUL2042)) * TYPE4 );
+                       
+LIGNITDEG = positif(
+	     positif(TAXANET)
+           * positif(IRB2 - SEUIL_PERCEP)
+           * positif_ou_nul(TAXANET - SEUIL_REC_CP)
+           * null(INDNIRI) * (1 - positif(IBM23))
+	   * ((1-positif (RPPEACO)) + null(IRNET)*positif(RPPEACO))
+           * positif(1 - null(2-V_REGCO)) * INDREV1A8
+           * (1 - null(V_REGCO-2))
+	   * (1 - positif(LIGTROP))
+	   * (1 - positif(LIGTROPREST))
+	   * (1 - positif(IMPRET))
+	   * positif(INDCTX)
+           * (1-positif(ANNUL2042)) * TYPE4 );
+                       
+regle 11123103:
+application : batch, pro , oceans,iliad;
+
+
+
+
+LIGNIDB = positif(
+	 (null( IDOM11 - DEC11)
+        * null((NAPT)*(1-positif(RPPEACO)))
+        * positif (TAXASSUR)
+        * positif(SEUIL_PERCEP - TAXASSUR)
+        * null((IRNETBIS)*(1-positif(RPPEACO)))
+	* ((1 - positif(RPPEACO))+positif(SEUIL_REC_CP-IRNET)
+	      *positif(IRNET)*positif(RPPEACO))
+	* null(IRB)
+        * (1 - null(V_REGCO-2))
+        * (1 - positif(LIG80F))
+        * (1 - positif(LIG400RI))
+	* (1 - positif(LIGTROP))
+	* (1 - positif(LIGTROPREST))
+	* (1 - positif(IMPRET))
+	* positif(20 - V_NOTRAIT)
+        + 0)
+ * (1-positif(ANNUL2042)) * TYPE4) ;  
+
+LIGNI61SUP = positif(
+	 null( IDOM11 - DEC11)
+        * positif (TAXASSUR)
+        * positif(SEUIL_PERCEP - TAXASSUR)
+        * null((IRNETBIS)*(1-positif(RPPEACO)))
+	* ((1 - positif(RPPEACO))+positif(SEUIL_REC_CP-IRNET)
+	      *positif(IRNET)*positif(RPPEACO))
+	* null(IRB)
+        * (1 - null(V_REGCO-2))
+	* (1 - positif(LIGTROP))
+	* (1 - positif(LIGTROPREST))
+	* (1 - positif(IMPRET))
+	* positif(V_NOTRAIT - 20)
+	* (1 - positif(INDCTX))
+ * (1-positif(ANNUL2042)) * TYPE4) ;  
+
+LIGNI61DEG = positif(
+	 null(IDRS2 - IDEC + IREP)
+        * positif(SEUIL_PERCEP - TAXASSUR)
+        * positif(TAXANET)
+	* (1 - positif(RPPEACO))
+        * (1 - null(V_REGCO-2))
+	* (1 - positif(LIGTROP))
+	* (1 - positif(LIGTROPREST))
+	* (1 - positif(IMPRET))
+	* positif(INDCTX)
+        * (1-positif(ANNUL2042)) * TYPE4) ;  
+
+regle 11123104:
+application : batch, pro , oceans,iliad;
+	
+
+
+LIGNIRI = positif(
+	   INDNIRI
+           * null(IRNETBIS)
+           * null(NATIMP)
+           * (1 - positif (LIGIDB))
+	   * (1 - positif (RPPEACO))
+           * (1 - positif(IREP))
+           * (1 - positif(IPROP))
+           * (1 - null(V_REGCO-2))
+           * (1 - positif(TAXANET))
+	   * (1 - positif(LIGTROP))
+	   * (1 - positif(LIGTROPREST))
+	   * (1 - positif(IMPRET))
+	   * positif(20 - V_NOTRAIT)
+           * (1-positif(ANNUL2042)) * TYPE4 ) ;
+
+regle 11123105:
+application : batch, pro , oceans,iliad;
+	
+
+
+LIGIDB = positif( INDNIRI
+                 * null(NAPT*(1-positif(RPPEACO)))
+                 * null(IRNETBIS*(1-positif(RPPEACO)))
+                 * positif (TAXASSUR)
+	         * positif(TAXANET+IRNET)
+                 * positif(SEUIL_PERCEP - TAXASSUR)
+                 * (1 - positif(REI))
+	         * (1 - positif( BPTP2 + BPTP3 + BPTP4 + BPTP40 + BPTP18+ BPTPD + BPTPG))
+                 * (1 - positif(IPROP))
+	         * ((1 - positif(RPPEACO))+positif(SEUIL_REC_CP-IRNET)*positif(RPPEACO))
+                 * (1 - null(V_REGCO-2))
+		 * (1 - positif(LIGTROP))
+		 * (1 - positif(LIGTROPREST))
+	         * (1 - positif(IMPRET))
+	         * positif(20 - V_NOTRAIT) )
+                 * (1-positif(ANNUL2042)) * TYPE4;
+
+regle 11123106:
+application : batch, pro, oceans, iliad ;
+
+
+
+LIGRIDB = positif(
+	   INDNIRI
+           * null(IRNETBIS)
+           * positif(NAPT)
+           * positif (TAXASSUR)
+           * (1 - positif(SEUIL_PERCEP - TAXASSUR))
+           * (1 - positif(IREP))
+           * ((1 - positif(RPPEACO))+null(IRNET)*positif(RPPEACO)) 
+           * (1 - positif(IPROP))
+           * (1 - null(V_REGCO-2))
+	   * (1 - positif(LIGTROP))
+	 
\ No newline at end of file
diff --git a/sources2010m_7_1/chap-cinr.m b/sources2010m_7_1/chap-cinr.m
new file mode 100644
index 0000000000000000000000000000000000000000..5474abf1f91d82522e5f21caee19f78b0c047301
--- /dev/null
+++ b/sources2010m_7_1/chap-cinr.m
@@ -0,0 +1,377 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle corrective base_HR 1311:
+application :  oceans, iliad ;
+IRNIN_R99R = max(0,max(IRNIN_INR,IRNIN_PA-ACODELAISINR))*positif(IND_PASSAGE-1);
+CSG_R99R = max(0,max(CSG*CSREC,CSG_PA))*positif(IND_PASSAGE-1);
+RDS_R99R = max(0,max(RDSN*CSREC,CRDS_PA))*positif(IND_PASSAGE-1);
+PRS_R99R = max(0,max(PRS*CSREC,PRS_PA))*positif(IND_PASSAGE-1);
+CSAL_R99R = max(0,max(CSAL*CSREC,CSAL_PA))*positif(IND_PASSAGE-1);
+CDIS_R99R = max(0,max(CDIS*CSREC,CDIS_PA))*positif(IND_PASSAGE-1);
+TAXA_R99R = max(0,max(TAXABASE,TAXA_PA))*positif(IND_PASSAGE-1);
+regle corrective base_inr_r9901 1313:
+application :  oceans, iliad ;
+IRNIN_R9901 = max(0,IRNIN_INR)*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,IRNIN_INR)*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             + IRNIN_R9901_A;
+CSG_R9901 = max(0,max(CSG*CSREC,CSG_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CSG*CSREC,CSG_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CSG_R9901_A;
+RDS_R9901 = max(0,max(RDSN*CSREC,RDS_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RDSN*CSREC,CRDS_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RDS_R9901_A;
+PRS_R9901 = max(0,max(PRS*CSREC,PRS_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(PRS*CSREC,PRS_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +PRS_R9901_A;
+CSAL_R9901 = max(0,max(CSALBASE*CSREC,CSAL_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CSALBASE*CSREC,CSAL_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CSAL_R9901_A;
+CDIS_R9901 = max(0,max(CDISBASE*CSREC,CDIS_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CDISBASE*CSREC,CDIS_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CSAL_R9901_A;
+TAXA_R9901 = max(0,max(TAXABASE,TAXA_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(TAXABASE,TAXA_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +TAXA_R9901_A;
+regle corrective base_inr_pri 1312:
+application :  oceans, iliad ;
+IRNIN_PRECT = max(0,IRNIN_INR);
+CSG_PRECT = max(0,CSG*CSREC);
+RDS_PRECT = max(0,RDSN*CSREC);
+PRS_PRECT = max(0,PRS*CSREC);
+CSAL_PRECT = max(0,CSALBASE*CSREC);
+CDIS_PRECT = max(0,CDISBASE*CSREC);
+TAXA_PRECT = max(0,TAXABASE);
+regle corrective base_inr_ref 1300:
+application :  oceans, iliad ;
+IRNIN_REFP = max(0,max(IRNIN_INR,(IRNIN_P*(1-FLAG_PRIM*FLAG_9YT)+(IRNIN_PA-ACODELAISINR))));
+CSG_REFP = max(0,max(CSG*CSRECINR,(CSG_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CSG_PA)));
+RDS_REFP = max(0,max(RDSN*CSRECINR,(RDS_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CRDS_PA)));
+PRS_REFP = max(0,max(PRS*CSRECINR,(PRS_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+PRS_PA)));
+CSAL_REFP = max(0,max(CSALBASE*CSRECINR,(CSAL_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CSAL_PA)));
+CDIS_REFP = max(0,max(CDISBASE*CSRECINR,(CDIS_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CDIS_PA)));
+TAXA_REFP = max(0,max(TAXABASE,TAXA_P*(1-FLAG_PRIM*FLAG_9YT)+TAXA_PA));
+IRNIN_REF= max(IRNIN_REFP,max(IRNIN_REF_A-ACODELAISINR,IRNIN_INR_A-ACODELAISINR));
+CSG_REF= max(CSG_REFP,max(CSG_REF_A*CSRECA,CSG_A*CSRECA));
+RDS_REF= max(RDS_REFP,max(RDS_REF_A*CSRECA,RDS_A*CSRECA));
+PRS_REF= max(PRS_REFP,max(PRS_REF_A*CSRECA,PRS_A*CSRECA));
+CSAL_REF= max(CSAL_REFP,max(CSAL_REF_A*CSRECA,CSAL_A*CSRECA));
+CDIS_REF= max(CDIS_REFP,max(CDIS_REF_A*CSRECA,CDIS_A*CSRECA));
+TAXA_REF= max(TAXA_REFP,max(TAXA_REF_A,TAXABASE_A));
+IRNIN_RECT=IRNIN_INR;
+IRNIN_R = IRNIN_REF_A;
+INDFLAGCIR = positif(FLAG_C02+FLAG_C22) * positif(IRNIN_REF_A);
+INDFLAGCCSG = positif(FLAG_C02+FLAG_C22) * positif(CSG_REF_A);
+RDS_R = RDS_REF_A;
+INDFLAGCRDS = positif(FLAG_C02+FLAG_C22) * positif(RDS_REF_A);
+PRS_R = PRS_REF_A;
+INDFLAGCPRS = positif(FLAG_C02+FLAG_C22) * positif(PRS_REF_A);
+CSAL_R = CSAL_REF_A;
+INDFLAGCCSAL = positif(FLAG_C02+FLAG_C22) * positif(CSAL_REF_A);
+CDIS_R = CDIS_REF_A;
+INDFLAGCCDIS = positif(FLAG_C02+FLAG_C22) * positif(CDIS_REF_A);
+TAXA_R = TAXA_REF_A;
+INDFLAGCTAXA = positif(FLAG_C02+FLAG_C22) * positif(TAXA_REF_A);
+regle corrective base_inr_ntl 1301:
+application :  oceans, iliad ;
+IRNIN_NTLDEC = IRNIN_INR;
+INRIR_NTLDEC = INRIR_NTL+INR_IR_TARDIF * null(1-IND_PASSAGE);
+INRIR_NTLADEC = INRIR_NTL_A;
+INR_IR_NTL=max(0,INRIR_NTL+INR_IR_TARDIF * null(1-IND_PASSAGE));
+CSG_NTLDEC = CSBASE;
+INRCSG_NTLDEC = INRCSG_NTL+INR_CSG_TARDIF * null(1-IND_PASSAGE);
+INRCSG_NTLADEC = INRCSG_NTL_A;
+INR_CSG_NTL=INRCSG_NTL+INR_CSG_TARDIF * null(1-IND_PASSAGE);
+PRS_NTLDEC = PSBASE;
+INRPRS_NTLDEC = INRPRS_NTL+INR_PS_TARDIF * null(1-IND_PASSAGE);
+INRPS_NTLADEC = INRPRS_NTL_A;
+INR_PS_NTL=INRPRS_NTL+INR_PS_TARDIF * null(1-IND_PASSAGE);
+CRDS_NTLDEC = RDBASE;
+INRCRDS_NTLDEC = INRCRDS_NTL+INR_CRDS_TARDIF * null(1-IND_PASSAGE);
+INRCRDS_NTLADEC = INRCRDS_NTL_A;
+INR_CRDS_NTL=INRCRDS_NTL+INR_CRDS_TARDIF * null(1-IND_PASSAGE);
+CSAL_NTLDEC = CSALBASE;
+INRCSAL_NTLDEC = INRCSAL_NTL+INR_CSAL_TARDIF * null(1-IND_PASSAGE);
+INRCSAL_NTLADEC = INRCSAL_NTL_A;
+INR_CSAL_NTL=INRCSAL_NTL+INR_CSAL_TARDIF * null(1-IND_PASSAGE);
+CDIS_NTLDEC = CDISBASE;
+INRCDIS_NTLDEC = INRCDIS_NTL+INR_CDIS_TARDIF * null(1-IND_PASSAGE);
+INRCDIS_NTLADEC = INRCDIS_NTL_A;
+INR_CDIS_NTL=INRCDIS_NTL+INR_CDIS_TARDIF * null(1-IND_PASSAGE);
+TAXA_NTLDEC = TAXABASE;
+INRTAXA_NTLDEC = INRTAXA_NTL+INR_TAXAGA_TARDIF * null(1-IND_PASSAGE);
+INRTAXA_NTLADEC = INRTAXA_NTL_A;
+INR_TAXAGA_NTL=INRTAXA_NTL+INR_TAXAGA_TARDIF * null(1-IND_PASSAGE);
+
+regle corrective base_inr_ntl22 13011:
+application :  oceans, iliad ;
+IRNIN_NTLDEC_1 = IRNIN_INR;
+INRIR_NTLDEC_1 = INRIR_NTL_1;
+INRIR_NTLADEC_1 = INRIR_NTL_1_A;
+INR_IR_NTL_1=INRIR_NTL_1;
+CSG_NTLDEC_1 = CSBASE;
+INRCSG_NTLDEC_1 = INRCSG_NTL_1;
+INRCSG_NTLADEC_1 = INRCSG_NTL_1_A;
+INR_CSG_NTL_1=INRCSG_NTL_1;
+PRS_NTLDEC_1 = PSBASE;
+INRPRS_NTLDEC_1 = INRPRS_NTL_1;
+INRPS_NTLADEC_1 = INRPRS_NTL_1_A;
+INR_PS_NTL_1=INRPRS_NTL_1;
+CRDS_NTLDEC_1 = RDBASE;
+INRCRDS_NTLDEC_1 = INRCRDS_NTL_1;
+INRCRDS_NTLADEC_1 = INRCRDS_NTL_1_A;
+INR_CRDS_NTL_1=INRCRDS_NTL_1;
+CSAL_NTLDEC_1 = CSALBASE;
+INRCSAL_NTLDEC_1 = INRCSAL_NTL_1;
+INRCSAL_NTLADEC_1 = INRCSAL_NTL_1_A;
+INR_CSAL_NTL_1=INRCSAL_NTL_1;
+CDIS_NTLDEC_1 = CDISBASE;
+INRCDIS_NTLDEC_1 = INRCDIS_NTL_1;
+INRCDIS_NTLADEC_1 = INRCDIS_NTL_1_A;
+INR_CDIS_NTL_1=INRCDIS_NTL_1;
+TAXA_NTLDEC_1 = TAXABASE;
+INRTAXA_NTLDEC_1 = INRTAXA_NTL_1;
+INRTAXA_NTLADEC_1 = INRTAXA_NTL_1_A;
+INR_TAXAGA_NTL_1=INRTAXA_NTL_1;
+regle corrective base_inr_tl 1302:
+application :  oceans, iliad ;
+IRNIN_TLDEC=IRNIN_INR;
+INRIR_TLADEC = INRIR_TLACQ;
+INRIR_TL_AD=INRIR_TL_A;
+INRIR_TLDEC = INRIR_TLA+INRIR_RETDEF*null(INRIR_RETDEF_A);
+INR_IR_TL=INRIR_TLACQ* (1-IND_RJLJ);
+CSG_TLDEC=CSG;
+INRCSG_TLADEC = INRCSG_TLACQ;
+INRCSG_TL_AD = INRCSG_TL_A;
+INRCSG_TLDEC = INRCSG_TLA + INRCSG_RETDEF * null(INRCSG_RETDEF_A);
+INR_CSG_TL=INRCSG_TLACQ* (1-IND_RJLJ);
+PRS_TLDEC=PRS;
+INRPRS_TLADEC = INRPRS_TLACQ;
+INRPRS_TL_AD = INRPRS_TL_A;
+INRPRS_TLDEC = INRPRS_TLA + INRPRS_RETDEF * null(INRPRS_RETDEF_A);
+INR_PS_TL=INRPRS_TLACQ* (1-IND_RJLJ);
+RDS_TLDEC=RDSN;
+INRCRDS_TLADEC = INRCRDS_TLACQ;
+INRCRDS_TL_AD = INRCRDS_TL_A;
+INRCRDS_TLDEC = INRCRDS_TLA + INRCRDS_RETDEF * null(INRCRDS_RETDEF_A);
+INR_CRDS_TL=INRCRDS_TLACQ* (1-IND_RJLJ);
+CSAL_TLDEC=CSALBASE;
+INRCSAL_TLADEC = INRCSAL_TLACQ;
+INRCSAL_TL_AD = INRCSAL_TL_A;
+INRCSAL_TLDEC = INRCSAL_TLA + INRCSAL_RETDEF * null(INRCSAL_RETDEF_A);
+INR_CSAL_TL=INRCSAL_TLACQ* (1-IND_RJLJ);
+CDIS_TLDEC=CDISBASE;
+INRCDIS_TLADEC = INRCDIS_TLACQ;
+INRCDIS_TL_AD = INRCDIS_TL_A;
+INRCDIS_TLDEC = INRCDIS_TLA + INRCDIS_RETDEF * null(INRCDIS_RETDEF_A);
+INR_CDIS_TL=INRCDIS_TLACQ* (1-IND_RJLJ);
+TAXA_TLDEC=TAXABASE;
+INRTAXA_TLADEC = INRTAXA_TLACQ;
+INRTAXA_TL_AD = INRTAXA_TL_A;
+INRTAXA_TLDEC = INRTAXA_TLA + INRTAXA_RETDEF * null(INRTAXA_RETDEF_A);
+INR_TAXAGA_TL=INRTAXA_TLACQ * (1-IND_RJLJ);
+regle corrective base_inr_tl22 13022:
+application :  oceans, iliad ;
+INRIR_TLADEC_12 = INRIR_TLADEC_1;
+INR_IR_TL_1=INRIR_TLACQ_1* (1-IND_RJLJ);
+INRCSG_TLADEC_12 = INRCSG_TLADEC_1;
+INR_CSG_TL_1=INRCSG_TLACQ_1* (1-IND_RJLJ);
+INRPRS_TLADEC_12 = INRPRS_TLADEC_1;
+INR_PS_TL_1=INRPRS_TLACQ_1* (1-IND_RJLJ);
+INRCRDS_TLADEC_12 = INRCRDS_TLADEC_1;
+INR_CRDS_TL_1=INRCRDS_TLACQ_1* (1-IND_RJLJ);
+INRCSAL_TLADEC_12 = INRCSAL_TLADEC_1;
+INR_CSAL_TL_1=INRCSAL_TLACQ_1* (1-IND_RJLJ);
+INRCDIS_TLADEC_12 = INRCDIS_TLADEC_1;
+INR_CDIS_TL_1=INRCDIS_TLACQ_1* (1-IND_RJLJ);
+INRTAXA_TLADEC_12 = INRTAXA_TLADEC_1;
+INR_TAXAGA_TL_1=INRTAXA_TLACQ_1 * (1-IND_RJLJ);
+RETIR2 = INCIR_NET2;
+RETPS2 = INCPS_NET2;
+RETCS2 = INCCS_NET2;
+RETCSAL2 = INCCSAL_NET2;
+RETCDIS2 = INCCDIS_NET2;
+RETRD2 = INCRD_NET2;
+RETTAXA2 = INCTAXA_NET2;
+RETIR22 = (INRIR_NTLDEC_1+INRIR_TLDEC_1+ INRIR_NTL_1_A+INRIR_TL_1_A) * positif(RETIR2);
+RETCS22 = (INRCSG_NTLDEC_1+INRCSG_TLDEC_1+ INRCSG_NTL_1_A+INRCSG_TL_1_A) * positif(RETCS2);
+RETRD22 = (INRCRDS_NTLDEC_1+INRCRDS_TLDEC_1+ INRCRDS_NTL_1_A+INRCRDS_TL_1_A) * positif(RETRD2);
+RETPS22 = (INRPRS_NTLDEC_1+INRPRS_TLDEC_1+ INRPRS_NTL_1_A+INRPRS_TL_1_A) * positif(RETPS2);
+RETCSAL22 = (INRCSAL_NTLDEC_1+INRCSAL_TLDEC_1+ INRCSAL_NTL_1_A+INRCSAL_TL_1_A) * positif(RETCSAL2);
+RETCDIS22 = (INRCDIS_NTLDEC_1+INRCDIS_TLDEC_1+ INRCDIS_NTL_1_A+INRCDIS_TL_1_A) * positif(RETCDIS2);
+RETTAXA22 = (INRTAXA_NTLDEC_1+INRTAXA_TLDEC_1+ INRTAXA_NTL_1_A+INRTAXA_TL_1_A) * positif(RETTAXA2);
+INR_NTL_GLOB_IR = INR_NTL_GLOB_IR2;
+INR_TL_GLOB_IR = INR_TL_GLOB_IR2;
+INR_TOT_GLOB_IR = INR_TOT_GLOB_IR2;
+DO_INR_IR = DO_INR_IR2;
+DO_IR = DO_IR2;
+SUP_IR_MAX = SUP_IR_MAX2;
+INCIR_TL = INCIR_TL2;
+INCIR_TL_1 = INCIR_TL_12;
+INRIR_NET = INRIR_NET2;
+INRIR_NET_1 = INRIR_NET_12;
+INIR_TL = INIR_TL2;
+INIR_TL_1 = INIR_TL_12;
+INCIR_NET = INCIR_NET2;
+IR_PRI= IR_PRI2;
+IR_ANT= IR_ANT2;
+IR_NTL= IR_NTL2;
+IR_TL=IR_TL2;
+IR_NTL_1=IR_NTL_12;
+IR_TL_1=IR_TL_12;
+IR_REF_INR=IRNIN_REF;
+INR_NTL_GLOB_CSG = INR_NTL_GLOB_CSG2;
+INR_TL_GLOB_CSG = INR_TL_GLOB_CSG2;
+INR_TOT_GLOB_CSG = INR_TOT_GLOB_CSG2;
+DO_INR_CSG = DO_INR_CSG2;
+DO_CSG = DO_CSG2;
+SUP_CSG_MAX = SUP_CSG_MAX2;
+INRCSG_NET = INRCSG_NET2;
+INRCSG_NET_1 = INRCSG_NET_12;
+INCCS_NET = INCCS_NET2;
+INCS_TL = INCS_TL2;
+INCS_TL_1 = INCS_TL_12;
+INCCS_TL = INCCS_TL2;
+INCCS_TL_1 = INCCS_TL_12;
+CSG_PRI=CSG_PRI2;
+CSG_ANT=CSG_ANT2;
+CSG_NTL=CSG_NTL2;
+CSG_NTL_1=CSG_NTL_12;
+CSG_TL=CSG_TL2;
+CSG_TL_1=CSG_TL_12;
+CSG_REF_INR=CSG_REF;
+INR_NTL_GLOB_CRDS = INR_NTL_GLOB_CRDS2;
+INR_TL_GLOB_CRDS = INR_TL_GLOB_CRDS2;
+INR_TOT_GLOB_CRDS = INR_TOT_GLOB_CRDS2;
+DO_INR_CRDS = DO_INR_CRDS2;
+DO_CRDS = DO_CRDS2;
+SUP_CRDS_MAX = SUP_CRDS_MAX2;
+INCRD_TL = INCRD_TL2;
+INCRD_TL_1 = INCRD_TL_12;
+INRRDS_NET = INRRDS_NET2;
+INRRDS_NET_1 = INRRDS_NET_12;
+INRD_TL = INRD_TL2;
+INRD_TL_1 = INRD_TL_12;
+INCRD_NET = INCRD_NET2;
+CRDS_PRI=CRDS_PRI2;
+CRDS_ANT=CRDS_ANT2;
+CRDS_NTL=CRDS_NTL2;
+CRDS_NTL_1=CRDS_NTL_12;
+CRDS_TL=CRDS_TL2;
+CRDS_TL_1=CRDS_TL_12;
+CRDS_REF_INR=RDS_REF;
+INR_NTL_GLOB_PS = INR_NTL_GLOB_PS2;
+INR_TL_GLOB_PS = INR_TL_GLOB_PS2;
+INR_TOT_GLOB_PS = INR_TOT_GLOB_PS2;
+DO_INR_PS = DO_INR_PS2;
+DO_PS = DO_PS2;
+SUP_PS_MAX = SUP_PS_MAX2;
+INCPS_TL = INCPS_TL2;
+INCPS_TL_1 = INCPS_TL_12;
+INRPRS_NET = INRPRS_NET2; 
+INRPRS_NET_1 = INRPRS_NET_12; 
+INPS_TL = INPS_TL2;
+INPS_TL_1 = INPS_TL_12;
+INCPS_NET = INCPS_NET2;
+PS_PRI= PS_PRI2;
+PS_ANT=PS_ANT2;
+PS_NTL=PS_NTL2;
+PS_NTL_1=PS_NTL_12;
+PS_TL=PS_TL2;
+PS_TL_1=PS_TL_12;
+PS_REF_INR=PRS_REF;
+INR_NTL_GLOB_CSAL = INR_NTL_GLOB_CSAL2;
+INR_TL_GLOB_CSAL = INR_TL_GLOB_CSAL2;
+INR_TOT_GLOB_CSAL = INR_TOT_GLOB_CSAL2;
+DO_INR_CSAL = DO_INR_CSAL2;
+DO_CSAL = DO_CSAL2;
+SUP_CSAL_MAX = SUP_CSAL_MAX2;
+INCCSAL_TL = INCCSAL_TL2;
+INCCSAL_TL_1 = INCCSAL_TL_12;
+INRCSAL_NET = INRCSAL_NET2; 
+INRCSAL_NET_1 = INRCSAL_NET_12; 
+INCSAL_TL = INCSAL_TL2;
+INCSAL_TL_1 = INCSAL_TL_12;
+INCCSAL_NET = INCCSAL_NET2;
+CSAL_PRI= CSAL_PRI2;
+CSAL_ANT=CSAL_ANT2;
+CSAL_NTL=CSAL_NTL2;
+CSAL_NTL_1=CSAL_NTL_12;
+CSAL_TL=CSAL_TL2;
+CSAL_TL_1=CSAL_TL_12;
+CSAL_REF_INR=CSAL_REF;
+INR_NTL_GLOB_CDIS = INR_NTL_GLOB_CDIS2;
+INR_TL_GLOB_CDIS = INR_TL_GLOB_CDIS2;
+INR_TOT_GLOB_CDIS = INR_TOT_GLOB_CDIS2;
+DO_INR_CDIS = DO_INR_CDIS2;
+DO_CDIS = DO_CDIS2;
+SUP_CDIS_MAX = SUP_CDIS_MAX2;
+INCCDIS_TL = INCCDIS_TL2;
+INCCDIS_TL_1 = INCCDIS_TL_12;
+INRCDIS_NET = INRCDIS_NET2; 
+INRCDIS_NET_1 = INRCDIS_NET_12; 
+INCDIS_TL = INCDIS_TL2;
+INCDIS_TL_1 = INCDIS_TL_12;
+INCCDIS_NET = INCCDIS_NET2;
+CDIS_PRI= CDIS_PRI2;
+CDIS_ANT=CDIS_ANT2;
+CDIS_NTL=CDIS_NTL2;
+CDIS_NTL_1=CDIS_NTL_12;
+CDIS_TL=CDIS_TL2;
+CDIS_TL_1=CDIS_TL_12;
+CDIS_REF_INR=CDIS_REF;
+INR_NTL_GLOB_TAXA = INR_NTL_GLOB_TAXA2;
+INR_TL_GLOB_TAXA = INR_TL_GLOB_TAXA2;
+INR_TOT_GLOB_TAXA = INR_TOT_GLOB_TAXA2;
+DO_INR_TAXAGA = DO_INR_TAXA2;
+DO_TAXA = DO_TAXA2;
+SUP_TAXA_MAX = SUP_TAXA_MAX2;
+INCTAXA_TL = INCTAXA_TL2;
+INCTAXA_TL_1 = INCTAXA_TL_12;
+INTAXA_TL = INTAXA_TL2;
+INTAXA_TL_1 = INTAXA_TL_12;
+INRTAXA_NET = INRTAXA_NET2;
+INRTAXA_NET_1 = INRTAXA_NET_12;
+INCTAXA_NET = INCTAXA_NET2;
+TAXAGA_PRI=TAXAGA_PRI2;
+TAXAGA_ANT=TAXAGA_ANT2;
+TAXAGA_NTL=TAXAGA_NTL2;
+TAXAGA_NTL_1=TAXAGA_NTL_12;
+TAXAGA_TL=TAXAGA_TL2;
+TAXAGA_TL_1=TAXAGA_TL_12;
+TAXA_REF_INR=TAXA_REF;
+TINR = TINR2;
+TINR_1=TINR_12;
+NBREMOIS2=NBREMOIS222;
+NBREMOISCS2=NBREMOISCS222;
+DO_INR_IR_TL = arr(INRIR_TL_A * DO_INR_IR/(INR_TOT_GLOB_IR-INR_IR_TARDIF));
+DO_INR_IR_NTL = arr(INRIR_NTL_A * DO_INR_IR/(INR_TOT_GLOB_IR-INR_IR_TARDIF));
+DO_INR_CSG_TL = arr(INRCSG_TL_A * DO_INR_CSG/(INR_TOT_GLOB_CSG-INR_CSG_TARDIF));
+DO_INR_CSG_NTL = arr(INRCSG_NTL_A * DO_INR_CSG/(INR_TOT_GLOB_CSG-INR_CSG_TARDIF));
+DO_INR_CRDS_TL = arr(INRCRDS_TL_A * DO_INR_CRDS/(INR_TOT_GLOB_CRDS-INR_CRDS_TARDIF));
+DO_INR_CRDS_NTL = arr(INRCRDS_NTL_A * DO_INR_CRDS/(INR_TOT_GLOB_CRDS-INR_CRDS_TARDIF));
+DO_INR_PS_TL = arr(INRPRS_TL_A * DO_INR_PS/(INR_TOT_GLOB_PS-INR_PS_TARDIF));
+DO_INR_PS_NTL = arr(INRPRS_NTL_A * DO_INR_PS/(INR_TOT_GLOB_PS-INR_PS_TARDIF));
+DO_INR_CSAL_TL = arr(INRCSAL_TL_A * DO_INR_CSAL/(INR_TOT_GLOB_CSAL-INR_CSAL_TARDIF));
+DO_INR_CSAL_NTL = arr(INRCSAL_NTL_A * DO_INR_CSAL/(INR_TOT_GLOB_CSAL-INR_CSAL_TARDIF));
+DO_INR_CDIS_TL = arr(INRCDIS_TL_A * DO_INR_CDIS/(INR_TOT_GLOB_CDIS-INR_CDIS_TARDIF));
+DO_INR_CDIS_NTL = arr(INRCDIS_NTL_A * DO_INR_CDIS/(INR_TOT_GLOB_CDIS-INR_CDIS_TARDIF));
+DO_INR_TAXA_TL = arr(INRTAXA_TL_A * DO_INR_TAXAGA/(INR_TOT_GLOB_TAXA-INR_TAXAGA_TARDIF));
+DO_INR_TAXA_NTL = arr(INRTAXA_NTL_A * DO_INR_TAXAGA/(INR_TOT_GLOB_TAXA-INR_TAXAGA_TARDIF));
diff --git a/sources2010m_7_1/chap-cmajo.m b/sources2010m_7_1/chap-cmajo.m
new file mode 100644
index 0000000000000000000000000000000000000000..888fb2a980f9fdbbc90047b88bbeacfd87bb18a4
--- /dev/null
+++ b/sources2010m_7_1/chap-cmajo.m
@@ -0,0 +1,768 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle corrective base_stratemajo 120:
+application :  oceans, iliad ;
+MAJOIR07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR07TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR07TARDIF_P) ;
+MAJOIR08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR08TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR08TARDIF_P) ;
+MAJOIR17_1TARD_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR17_1TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR17_1TARDIF_P) ;
+MAJOIR17_2TARD_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR17_2TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR17_2TARDIF_P) ;
+MAJOIRTARDIF_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) 
+			* (somme(x = 07,08 : MAJOIR0xTARDIF_DEF)
+		    + MAJOIR17_1TARD_DEF + MAJOIR17_2TARD_DEF)
+		    + (1 - positif(FLAG_TRTARDIF) * positif(FLAG_RETARD))
+		    * MAJOIRTARDIF_REF ;
+MAJOCS07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPCS_A)) * MAJOCS07TARDIF_D 
+		  + positif(PROPCS_A) * MAJOCS07TARDIF_P) ;
+MAJOCS08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPCS_A)) * MAJOCS08TARDIF_D 
+		  + positif(PROPCS_A) * MAJOCS08TARDIF_P) ;
+MAJOCS17TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPCS_A)) * MAJOCS17TARDIF_D 
+		  + positif(PROPCS_A) * MAJOCS17TARDIF_P) ;
+MAJOCSTARDIF_DEF = somme(x = 07,08,17 : MAJOCSxTARDIF_DEF);
+MAJOPS07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPPS_A)) * MAJOPS07TARDIF_D 
+		  + positif(PROPPS_A) * MAJOPS07TARDIF_P) ;
+MAJOPS08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPPS_A)) * MAJOPS08TARDIF_D 
+		  + positif(PROPPS_A) * MAJOPS08TARDIF_P) ;
+MAJOPS17TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPPS_A)) * MAJOPS17TARDIF_D 
+		  + positif(PROPPS_A) * MAJOPS17TARDIF_P) ;
+MAJOPSTARDIF_DEF = somme(x = 07,08,17 : MAJOPSxTARDIF_DEF);
+MAJORD07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPRD_A)) * MAJORD07TARDIF_D 
+		  + positif(PROPRD_A) * MAJORD07TARDIF_P) ;
+MAJORD08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPRD_A)) * MAJORD08TARDIF_D 
+		  + positif(PROPRD_A) * MAJORD08TARDIF_P) ;
+MAJORD17TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPRD_A)) * MAJORD17TARDIF_D 
+		  + positif(PROPRD_A) * MAJORD17TARDIF_P) ;
+MAJORDTARDIF_DEF = somme(x = 07,08,17 : MAJORDxTARDIF_DEF);
+MAJOSA07TARDIF_DEF = FLAG_RETARD * MAJOCSAL07TARDIF_D;
+
+MAJOSA08TARDIF_DEF = FLAG_RETARD * MAJOCSAL08TARDIF_D;
+MAJOSA17TARDIF_DEF = FLAG_RETARD * MAJOCSAL17TARDIF_D;
+MAJOSATARDIF_DEF = somme(x = 07,08,17 : MAJOSAxTARDIF_DEF);
+MAJOCDIS07TARD_DEF = FLAG_RETARD * MAJOCDIS07TARDIF_D;
+
+MAJOCDIS08TARD_DEF = FLAG_RETARD * MAJOCDIS08TARDIF_D;
+MAJOCDIS17TARD_DEF = FLAG_RETARD * MAJOCDIS17TARDIF_D;
+MAJOCDISTARDIF_DEF = somme(x = 07,08,17 : MAJOCDISxTARD_DEF);
+MAJOTA07TARDIF_DEF = FLAG_RETARD * MAJOTAXA07TARDIF_D;
+MAJOTA08TARDIF_DEF = FLAG_RETARD * MAJOTAXA08TARDIF_D;
+MAJOTA17_1TARD_DEF = FLAG_RETARD * MAJOTA17_1TARDIF_D; 
+MAJOTA17_2TARD_DEF = FLAG_RETARD * MAJOTA17_2TARDIF_D; 
+MAJOTAXATARDIF_DEF = somme(x = 07,08 : MAJOTA0xTARDIF_DEF)
+		+ MAJOTA17_1TARD_DEF + MAJOTA17_2TARD_DEF;
+PROPIR_DEF = PROPIR;
+PROPCS_DEF = PROPCS;
+PROPPS_DEF = PROPPS;
+PROPRD_DEF = PROPRD;
+IRBASE_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) * IRBASE
+		+ (1 - positif(FLAG_TRTARDIF)) * IRBASE_REF;
+IRNINTARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * IRBASE
+		  + FLAG_TRTARDIF_R * SUPIR[00]
+                  + FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRBASE) 
+		    * (positif(FLAG_RECTIF) * min(SUPIR[2],IRBASE)
+		      + (1 - positif(FLAG_RECTIF)) * min(IRBASE,IRBASE_REF))
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRBASE))
+		      * (positif(FLAG_RECTIF) * min(SUPIR[00],IRBASE)
+                     + (1 - positif(FLAG_RECTIF)) * IRBASE_REF)
+		      )
+                  + (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+                            * (positif(FLAG_RECTIF) * SUPIR[00]
+                               + (1 - positif(FLAG_RECTIF)) * IRNINTARDIF_A)
+		  ));
+CSGTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * CSBASE
+		+ FLAG_TRTARDIF_R * SUPCS[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPCS[2],CSG)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCS[00],CSG)
+		   + (1 - positif(FLAG_RECTIF)) * CSGTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+		          * (positif(FLAG_RECTIF) * SUPCS[00]
+		            + (1 - positif(FLAG_RECTIF)) * CSGTARDIF_A)
+		    ));
+PRSTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * PSBASE
+		+ FLAG_TRTARDIF_R * SUPPS[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPPS[2],PRS)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPPS[00],PRS)
+		    + (1 - positif(FLAG_RECTIF)) * PRSTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPPS[00]
+			  + (1 - positif(FLAG_RECTIF)) * PRSTARDIF_A)
+		));
+RDSTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RDBASE
+		+ FLAG_TRTARDIF_R * SUPRD[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRD[2],RDSN)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRD[00],RDSN)
+		     + (1 - positif(FLAG_RECTIF)) * RDSTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRD[00]
+			  + (1 - positif(FLAG_RECTIF)) * RDSTARDIF_A)
+		));
+CSALTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * CSALBASE
+		+ FLAG_TRTARDIF_R * SUPCSAL[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPCSAL[2],CSAL)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCSAL[00],CSAL)
+		     + (1 - positif(FLAG_RECTIF)) * CSALTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPCSAL[00]
+			  + (1 - positif(FLAG_RECTIF)) * CSALTARDIF_A)
+		));
+CDISTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * CDISBASE
+		+ FLAG_TRTARDIF_R * SUPCDIS[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPCDIS[2],CDIS)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCDIS[00],CDIS)
+		     + (1 - positif(FLAG_RECTIF)) * CDISTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPCDIS[00]
+			  + (1 - positif(FLAG_RECTIF)) * CDISTARDIF_A)
+		));
+TAXATARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * TAXABASE_MAJO
+		+ FLAG_TRTARDIF_R * SUPTAXA[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(TAXATARDIF_A - TAXABASE_MAJO) * min(SUPTAXA[2],TAXASSUR)
+		    + (1 - positif(TARDIFEVT2) * positif(TAXATARDIF_A - TAXABASE_MAJO)) 
+		      * (positif(FLAG_RECTIF) * min(SUPTAXA[00],TAXASSUR)
+		    + (1 - positif(FLAG_RECTIF)) * TAXATARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPTAXA[00]
+			  + (1 - positif(FLAG_RECTIF)) * TAXATARDIF_A)
+		  ));
+IRNINMAJOP_DEF = max(IRNIN_MAJOP,IRNINMAJOP_A);
+CSGMAJOP_DEF = max(CSG_MAJOP,CSGMAJOP_A);
+RDSMAJOP_DEF =  max(RDS_MAJOP,RDSMAJOP_A);
+PRSMAJOP_DEF =  max(PRS_MAJOP,PRSMAJOP_A);
+regle corrective base_stratemajo 121:
+application :  oceans, iliad ;
+pour x = 07,08,11,31:
+MAJOPIRx_DEF = max(MAJOIR_Px,MAJOPIRx_A);
+MAJOPIR10_1DEF = max(MAJOIR_P10_1,MAJOPIR10_1A);
+MAJOPIR10_2DEF = max(MAJOIR_P10_2,MAJOPIR10_2A);
+MAJOPIR17_1DEF = max(MAJOIR_P17_1,MAJOPIR17_1A);
+MAJOPIR17_2DEF = max(MAJOIR_P17_2,MAJOPIR17_2A);
+MAJOPIR_DEF = max(MAJOPIR_TOT,MAJOPIR_A);
+pour x = 07,08,10,11,17,31:
+MAJOPCSx_DEF = max(MAJOCS_Px,MAJOPCSx_A);
+MAJOPCS_DEF = max(MAJOPCS_TOT,MAJOPCS_A);
+pour x = 07,08,10,11,17,31:
+MAJOPRDx_DEF = max(MAJORD_Px,MAJOPRDx_A);
+MAJOPRD_DEF = max(MAJOPRD_TOT,MAJOPRD_A);
+pour x = 07,08,10,11,17,31:
+MAJOPPSx_DEF = max(MAJOPS_Px,MAJOPPSx_A);
+MAJOPPS_DEF = max(MAJOPPS_TOT,MAJOPPS_A);
+regle corrective base_stratemajo 122:
+application :  oceans, iliad ;
+MAJOIRST_DEF = MAJOIR_ST ;
+MAJOCSST_DEF = MAJOCS_ST;
+MAJORDST_DEF = MAJORD_ST;
+MAJOPSST_DEF = MAJOPS_ST;
+MAJOCSALST_DEF = MAJOCSAL_ST;
+MAJOCDISST_DEF = MAJOCDIS_ST;
+MAJOTAXAST_DEF = MAJOTAXA_ST;
+TNAPCR[X] = NAPCRINR;
+
+TIRBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(IRBASE,TIRBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(IRBASE,IRNIN_P))
+            + (1 - null(X)) * max(IRBASE,TIRBASE[FLAG_DERSTTR]);
+TIRBASEDEF[X] = IRBASE;
+TCSBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CSBASE,TCSBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CSBASE,CSG_P))
+           + (1 - null(X)) * max(CSBASE,TCSBASE[FLAG_DERSTTR]);
+TRDBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RDBASE,TRDBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RDBASE,RDS_P))
+           + (1 - null(X)) * max(RDBASE,TRDBASE[FLAG_DERSTTR]);
+TPSBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(PSBASE,TPSBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(PSBASE,PRS_P))
+           + (1 - null(X)) * max(PSBASE,TPSBASE[FLAG_DERSTTR]);
+TCSALBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CSALBASE,TCSALBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CSALBASE,CSAL_P))
+           + (1 - null(X)) * max(CSALBASE,TCSALBASE[FLAG_DERSTTR]);
+TCDISBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CDISBASE,TCDISBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CDISBASE,CDIS_P))
+           + (1 - null(X)) * max(CDISBASE,TCDISBASE[FLAG_DERSTTR]);
+TTAXABASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(TAXABASE_MAJO,TTAXABASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(TAXABASE_MAJO,TAXA_P))
+           + (1 - null(X)) * max(TAXABASE_MAJO,TTAXABASE[FLAG_DERSTTR]);
+TTAXABASEDEF[X] = TAXABASE_MAJO;
+MAJOIR01 = TMAJOIR[22] * STR_TR22
+	   + TMAJOIR[01] * null(CSTRATE1 - 1);
+MAJOIR02_1 = TMAJOIR[20] * STR_TR20 
+	   + TMAJOIR[01] * null(CSTRATE1 - 2);
+MAJOIR02_1_NTL = T2MAJOIR[17] * STR_TR17
+	   + T2MAJOIR[01] * null(CSTRATE1 - 2);
+MAJOIR02_2_NTL = T2MAJOIR[18] * STR_TR18 * (1 - positif(TIRBASE[18]-TIRBASE[20]) * positif(TIRBASE[20])) * (1 - IND_RJLJ)
+               + positif(TIRBASE[18] - TIRBASE[20]) * (1 - IND_RJLJ) * positif(TIRBASE[20])
+                * arr(max(0,(TIRBASE[18] - TIRBASE[0] - (TIRBASE[18] - TIRBASEDEF[20]))) * TX1758A/100) * STR_TR18
+               + T2MAJOIR[01] * null(CSTRATE1 - 2);
+MAJOIR02_1_TL = T2MAJOIR[19] * STR_TR19;
+MAJOIR02_2_TL = T2MAJOIR[20] * STR_TR20;
+MAJOIR02_2 = MAJOIR02_2_TL + MAJOIR02_2_NTL;
+MAJOIR03 = TMAJOIR[12] * STR_TR12 
+	   + TMAJOIR[01] * null(CSTRATE1 - 3);
+MAJOIR04 = TMAJOIR[08] * STR_TR08 
+	   + TMAJOIR[01] * null(CSTRATE1 - 4);
+MAJOIR05 = TMAJOIR[07] * STR_TR07 
+	   + TMAJOIR[01] * null(CSTRATE1 - 5);
+MAJOIR06 = TMAJOIR[03] * STR_TR03
+	   + TMAJOIR[01] * null(CSTRATE1 - 6);
+MAJOIR07 = TMAJOIR[16] * STR_TR16 
+	   + TMAJOIR[01] * null(CSTRATE1 - 7)
+	   + max(0,MAJOIR07TARDIF_DEF) ;
+MAJOIR08 = TMAJOIR[10] * STR_TR10 
+	   + TMAJOIR[01] * null(CSTRATE1 - 8)
+	   + max(0,MAJOIR08TARDIF_DEF) ;
+MAJOIR10_1 = TMAJOIR[14] * STR_TR14 
+	   + TMAJOIR[01] * null(CSTRATE1 - 10);
+MAJOIR10_2 = T2MAJOIR[14] * STR_TR14
+	   + T2MAJOIR[01] * null(CSTRATE1 - 10);
+MAJOIR11 = TMAJOIR[9] * STR_TR09 
+	   + TMAJOIR[01] * null(CSTRATE1 - 11);
+MAJOIR17_1 = TMAJOIR[15] * STR_TR15  
+	   + TMAJOIR[01] * null(CSTRATE1 - 17)
+	   + max(0,MAJOIR17_1TARD_DEF);
+MAJOIR17_2 = T2MAJOIR[15] * STR_TR15
+	   + T2MAJOIR[01] * null(CSTRATE1 - 17)
+	   + max(0,MAJOIR17_2TARD_DEF);
+MAJOIR22 = TMAJOIR[21] * STR_TR21 
+	   + TMAJOIR[01] * null(CSTRATE1 - 22);
+MAJOIR30 = TMAJOIR[13] * STR_TR13 
+	   + TMAJOIR[01] * null(CSTRATE1 - 30);
+MAJOIR31 = TMAJOIR[06] * STR_TR06 
+	   + TMAJOIR[01] * null(CSTRATE1 - 31);
+MAJOIR32 = TMAJOIR[05] * STR_TR05 
+	   + TMAJOIR[01] * null(CSTRATE1 - 32);
+MAJOIR55 = TMAJOIR[11] * STR_TR11
+	   + TMAJOIR[01] * null(CSTRATE1 - 55);
+MAJOIR99 = (TMAJOIR[00] * STR_TR00 
+	   + TMAJOIR[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99)) ;
+MAJOPS01 = TMAJOPS[22] * STR_TR22 
+	   + TMAJOPS[01] * null(CSTRATE1 - 1);
+MAJOPS02 = TMAJOPS[20] * STR_TR20 
+	   + TMAJOPS[01] * null(CSTRATE1 - 2);
+MAJOPS03 = TMAJOPS[12] * STR_TR12 
+	   + TMAJOPS[01] * null(CSTRATE1 - 3);
+MAJOPS04 = TMAJOPS[08] * STR_TR08 
+	   + TMAJOPS[01] * null(CSTRATE1 - 4);
+MAJOPS05 = TMAJOPS[07] * STR_TR07 
+	   + TMAJOPS[01] * null(CSTRATE1 - 5);
+MAJOPS06 = TMAJOPS[03] * STR_TR03
+	   + TMAJOPS[01] * null(CSTRATE1 - 6);
+MAJOPS07 = TMAJOPS[16] * STR_TR16 
+	   + TMAJOPS[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOPS07TARDIF_DEF) ;
+MAJOPS08 = TMAJOPS[10] * STR_TR10 
+	   + TMAJOPS[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOPS08TARDIF_DEF) ;
+MAJOPS10 = TMAJOPS[14] * STR_TR14 
+	   + TMAJOPS[01] * null(CSTRATE1 - 10);
+MAJOPS11 = TMAJOPS[9] * STR_TR09 
+	   + TMAJOPS[01] * null(CSTRATE1 - 11);
+MAJOPS17 = TMAJOPS[15] * STR_TR15 
+	   + TMAJOPS[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOPS17TARDIF_DEF) ;
+MAJOPS22 = TMAJOPS[21] * STR_TR21 
+	   + TMAJOPS[01] * null(CSTRATE1 - 22);
+MAJOPS30 = TMAJOPS[13] * STR_TR13 
+	   + TMAJOPS[01] * null(CSTRATE1 - 30);
+MAJOPS31 = TMAJOPS[06] * STR_TR06 
+	   + TMAJOPS[01] * null(CSTRATE1 - 31);
+MAJOPS55 = TMAJOPS[11] * STR_TR11 
+	   + TMAJOPS[01] * null(CSTRATE1 - 55);
+MAJOPS99 = (TMAJOPS[00] * STR_TR00 
+	   + TMAJOPS[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJOCS01 = TMAJOCS[22] * STR_TR22 
+	   + TMAJOCS[01] * null(CSTRATE1 - 1);
+MAJOCS02 = TMAJOCS[20] * STR_TR20 
+	   + TMAJOCS[01] * null(CSTRATE1 - 2);
+MAJOCS03 = TMAJOCS[12] * STR_TR12 
+	   + TMAJOCS[01] * null(CSTRATE1 - 3);
+MAJOCS04 = TMAJOCS[08] * STR_TR08 
+	   + TMAJOCS[01] * null(CSTRATE1 - 4);
+MAJOCS05 = TMAJOCS[07] * STR_TR07 
+	   + TMAJOCS[01] * null(CSTRATE1 - 5);
+MAJOCS06 = TMAJOCS[03] * STR_TR03
+	   + TMAJOCS[01] * null(CSTRATE1 - 6);
+MAJOCS07 = TMAJOCS[16] * STR_TR16 
+	   + TMAJOCS[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOCS07TARDIF_DEF) ;
+MAJOCS08 = TMAJOCS[10] * STR_TR10 
+	   + TMAJOCS[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOCS08TARDIF_DEF) ;
+MAJOCS10 = TMAJOCS[14] * STR_TR14 
+	   + TMAJOCS[01] * null(CSTRATE1 - 10);
+MAJOCS11 = TMAJOCS[9] * STR_TR09 
+	   + TMAJOCS[01] * null(CSTRATE1 - 11);
+MAJOCS17 = TMAJOCS[15] * STR_TR15 
+	   + TMAJOCS[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOCS17TARDIF_DEF) ;
+MAJOCS22 = TMAJOCS[21] * STR_TR21 
+	   + TMAJOCS[01] * null(CSTRATE1 - 22);
+MAJOCS30 = TMAJOCS[13] * STR_TR13 
+	   + TMAJOCS[01] * null(CSTRATE1 - 30);
+MAJOCS31 = TMAJOCS[06] * STR_TR06 
+	   + TMAJOCS[01] * null(CSTRATE1 - 31);
+MAJOCS32 = TMAJOCS[05] * STR_TR05 
+	   + TMAJOCS[01] * null(CSTRATE1 - 32);
+MAJOCS55 = TMAJOCS[11] * STR_TR11 
+	   + TMAJOCS[01] * null(CSTRATE1 - 55);
+MAJOCS99 = (TMAJOCS[00] * STR_TR00 
+	   + TMAJOCS[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJORD01 = TMAJORD[22] * STR_TR22 
+	   + TMAJORD[01] * null(CSTRATE1 - 1);
+MAJORD02 = TMAJORD[20] * STR_TR20 
+	   + TMAJORD[01] * null(CSTRATE1 - 2);
+MAJORD03 = TMAJORD[12] * STR_TR12 
+	   + TMAJORD[01] * null(CSTRATE1 - 3);
+MAJORD04 = TMAJORD[08] * STR_TR08 
+	   + TMAJORD[01] * null(CSTRATE1 - 4);
+MAJORD05 = TMAJORD[07] * STR_TR07 
+	   + TMAJORD[01] * null(CSTRATE1 - 5);
+MAJORD06 = TMAJORD[03] * STR_TR03
+	   + TMAJORD[01] * null(CSTRATE1 - 6);
+MAJORD07 = TMAJORD[16] * STR_TR16 
+	   + TMAJORD[01] * null(CSTRATE1 - 7)
+           + max(0,MAJORD07TARDIF_DEF) ;
+MAJORD08 = TMAJORD[10] * STR_TR10 
+	   + TMAJORD[01] * null(CSTRATE1 - 8)
+           + max(0,MAJORD08TARDIF_DEF) ;
+MAJORD10 = TMAJORD[14] * STR_TR14 
+	   + TMAJORD[01] * null(CSTRATE1 - 10);
+MAJORD11 = TMAJORD[9] * STR_TR09 
+	   + TMAJORD[01] * null(CSTRATE1 - 11);
+MAJORD17 = TMAJORD[15] * STR_TR15 
+	   + TMAJORD[01] * null(CSTRATE1 - 17)
+           + max(0,MAJORD17TARDIF_DEF) ;
+MAJORD22 = TMAJORD[21] * STR_TR21 
+	   + TMAJORD[01] * null(CSTRATE1 - 22);
+MAJORD30 = TMAJORD[13] * STR_TR13 
+	   + TMAJORD[01] * null(CSTRATE1 - 30);
+MAJORD31 = TMAJORD[06] * STR_TR06 
+	   + TMAJORD[01] * null(CSTRATE1 - 31);
+MAJORD32 = TMAJORD[05] * STR_TR05 
+	   + TMAJORD[01] * null(CSTRATE1 - 32);
+MAJORD55 = TMAJORD[11] * STR_TR11 
+	   + TMAJORD[01] * null(CSTRATE1 - 55);
+MAJORD99 = (TMAJORD[00] * STR_TR00 
+	   + TMAJORD[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJOCSAL01 = TMAJOCSAL[22] * STR_TR22 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 1);
+MAJOCSAL02 = TMAJOCSAL[20] * STR_TR20 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 2);
+MAJOCSAL03 = TMAJOCSAL[12] * STR_TR12 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 3);
+MAJOCSAL04 = TMAJOCSAL[08] * STR_TR08 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 4);
+MAJOCSAL05 = TMAJOCSAL[07] * STR_TR07 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 5);
+MAJOCSAL06 = TMAJOCSAL[03] * STR_TR03
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 6);
+MAJOCSAL07 = TMAJOCSAL[16] * STR_TR16 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOSA07TARDIF_DEF) ;
+MAJOCSAL08 = TMAJOCSAL[10] * STR_TR10 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOSA08TARDIF_DEF) ;
+MAJOCSAL10 = TMAJOCSAL[14] * STR_TR14 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 10);
+MAJOCSAL11 = TMAJOCSAL[9] * STR_TR09 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 11);
+MAJOCSAL17 = TMAJOCSAL[15] * STR_TR15 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOSA17TARDIF_DEF) ;
+MAJOCSAL22 = TMAJOCSAL[21] * STR_TR21 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 22);
+MAJOCSAL30 = TMAJOCSAL[13] * STR_TR13 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 30);
+MAJOCSAL31 = TMAJOCSAL[06] * STR_TR06 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 31);
+MAJOCSAL55 = TMAJOCSAL[11] * STR_TR11 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 55);
+MAJOCSAL99 = (TMAJOCSAL[00] * STR_TR00 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJOCDIS01 = TMAJOCDIS[22] * STR_TR22 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 1);
+MAJOCDIS02 = TMAJOCDIS[20] * STR_TR20 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 2);
+MAJOCDIS03 = TMAJOCDIS[12] * STR_TR12 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 3);
+MAJOCDIS04 = TMAJOCDIS[08] * STR_TR08 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 4);
+MAJOCDIS05 = TMAJOCDIS[07] * STR_TR07 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 5);
+MAJOCDIS06 = TMAJOCDIS[03] * STR_TR03
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 6);
+MAJOCDIS07 = TMAJOCDIS[16] * STR_TR16 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOCDIS07TARD_DEF) ;
+MAJOCDIS08 = TMAJOCDIS[10] * STR_TR10 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOCDIS08TARD_DEF) ;
+MAJOCDIS10 = TMAJOCDIS[14] * STR_TR14 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 10);
+MAJOCDIS11 = TMAJOCDIS[9] * STR_TR09 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 11);
+MAJOCDIS17 = TMAJOCDIS[15] * STR_TR15 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOCDIS17TARD_DEF) ;
+MAJOCDIS22 = TMAJOCDIS[21] * STR_TR21 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 22);
+MAJOCDIS30 = TMAJOCDIS[13] * STR_TR13 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 30);
+MAJOCDIS31 = TMAJOCDIS[06] * STR_TR06 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 31);
+MAJOCDIS55 = TMAJOCDIS[11] * STR_TR11 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 55);
+MAJOCDIS99 = (TMAJOCDIS[00] * STR_TR00 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJOTAXA01 = TMAJOTAXA[22] * STR_TR22
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 1);
+MAJOTAXA02_1 = TMAJOTAXA[20] * STR_TR20 
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 2);
+MAJOTAXA02_1_NTL = T2MAJOTAXA[17] * STR_TR17
+	     + T2MAJOTAXA[01] * null(CSTRATE1 - 2);
+MAJOTAXA02_2_NTL = T2MAJOTAXA[18] * STR_TR18 * (1 - positif_ou_nul(TTAXABASE[18] - TTAXABASE[20]) * positif(TTAXABASE[20])) * (1 - IND_RJLJ)
+               + positif_ou_nul(TTAXABASE[18] - TTAXABASE[20]) * (1 - IND_RJLJ) * positif(TTAXABASE[20])
+               * arr(max(0,(TTAXABASE[18] - TTAXABASE[0] - (TTAXABASE[18] - TTAXABASEDEF[20]))) * TX1758A/100) * STR_TR18
+               + T2MAJOTAXA[01] * null(CSTRATE1 - 2);
+MAJOTAXA02_1_TL = T2MAJOTAXA[19] * STR_TR19
+	     + T2MAJOTAXA[01] * null(CSTRATE1 - 2);
+MAJOTAXA02_2_TL = T2MAJOTAXA[20] * STR_TR20
+	     + T2MAJOTAXA[01] * null(CSTRATE1 - 2);
+MAJOTAXA03 = TMAJOTAXA[12] * STR_TR12 
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 3);
+MAJOTAXA04 = TMAJOTAXA[08] * STR_TR08 
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 4);
+MAJOTAXA05 = TMAJOTAXA[07] * STR_TR07 
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 5);
+MAJOTAXA06 = TMAJOTAXA[03] * STR_TR03
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 6);
+MAJOTAXA07 = TMAJOTAXA[16] * STR_TR16
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOTA07TARDIF_DEF) ;
+MAJOTAXA08 = TMAJOTAXA[10] * STR_TR10 
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOTA08TARDIF_DEF) ;
+MAJOTAXA10_1 = TMAJOTAXA[14] * STR_TR14 
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 10);
+MAJOTAXA10_2 = T2MAJOTAXA[14] * STR_TR14
+	   + T2MAJOTAXA[01] * null(CSTRATE1 - 10);
+MAJOTAXA11 = TMAJOTAXA[9] * STR_TR09 
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 11);
+MAJOTAXA17_1 = TMAJOTAXA[15] * STR_TR15
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOTA17_1TARD_DEF) ;
+MAJOTAXA17_2 = T2MAJOTAXA[15] * STR_TR15
+	   + T2MAJOTAXA[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOTA17_2TARD_DEF) ;
+MAJOTAXA22 = TMAJOTAXA[21] * STR_TR21 
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 22);
+MAJOTAXA30 = TMAJOTAXA[13] * STR_TR13 
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 30);
+MAJOTAXA31 = TMAJOTAXA[06] * STR_TR06 
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 31);
+MAJOTAXA55 = TMAJOTAXA[11] * STR_TR11 
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 55);
+MAJOTAXA99 = (TMAJOTAXA[00] * STR_TR00 
+	   + TMAJOTAXA[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJO1728IR = somme (x = 07,08,11,31 : MAJOIRx)
+	     + MAJOIR10_1 + MAJOIR17_1
+	     + somme (x = 07,08,11,31 : MAJOPIRx)
+	     + MAJOPIR10_1 + MAJOPIR17_1;
+MAJO1728TAXA = somme (x = 07,08,11,31 : MAJOTAXAx)
+	     + MAJOTAXA10_1 + MAJOTAXA17_1;
+MAJO1728RD = somme (x = 07,08,10,11,17,31 : MAJORDx)
+	     + somme(x = 07,08,10,11,31 : MAJOPRDx);
+MAJO1728CS = somme (x = 07,08,10,11,17,31 : MAJOCSx)
+	     + somme(x = 07,08,10,11,31 : MAJOPCSx);
+MAJO1728PS = somme (x = 07,08,10,11,17,31 : MAJOPSx)
+	     + somme(x = 07,08,10,11,31 : MAJOPPSx);
+MAJO1728CSAL = somme (x = 07,08,10,11,17,31 : MAJOCSALx);
+MAJO1728CDIS = somme (x = 07,08,10,11,17,31 : MAJOCDISx);
+MAJO1729IR = somme (x = 03..05,22,55 : MAJOIRx)
+	     + MAJOIR02_1;
+MAJO1729TAXA = somme (x = 03..05,22,55 : MAJOTAXAx)
+		+ MAJOTAXA02_1;
+MAJO1729RD = somme (x = 03..05,22,55 : MAJORDx);
+MAJO1729CS = somme (x = 03..05,22,55 : MAJOCSx);
+MAJO1729PS = somme (x = 03..05,22,55 : MAJOPSx);
+MAJO1729CSAL = somme (x = 03..05,22,55 : MAJOCSALx);
+MAJO1729CDIS = somme (x = 03..05,22,55 : MAJOCDISx);
+MAJO1732IR = MAJOIR06;
+MAJO1732RD = MAJORD06;
+MAJO1732CS = MAJOCS06;
+MAJO1732PS = MAJOPS06;
+MAJO1732CSAL = MAJOCSAL06;
+MAJO1732CDIS = MAJOCDIS06;
+MAJO1732TAXA = MAJOTAXA06;
+MAJO1758IR = MAJOIR30 + MAJOIR32;
+MAJO1758RD = MAJORD30 + MAJORD32;
+MAJO1758CS = MAJOCS30 + MAJOCS32;
+MAJO1758PS = MAJOPS30;
+MAJO1758CSAL = MAJOCSAL30;
+MAJO1758CDIS = MAJOCDIS30;
+MAJO1758TAXA = MAJOTAXA30;
+
+MAJO1758AIR = MAJOIR10_2 + MAJOIR17_2 + MAJOIR02_2_NTL + MAJOIR02_2_TL
+		+ MAJOPIR10_2 + MAJOPIR17_2;
+MAJO1758ATAXA = MAJOTAXA10_2 + MAJOTAXA17_2 
+		+ MAJOTAXA02_2_NTL + MAJOTAXA02_2_TL ;
+
+
+regle corrective base_MAJO 123:
+application : oceans, iliad ;
+PROPIR_A = PROPIR_DEF;
+PROPCS_A = PROPCS_DEF;
+PROPPS_A = PROPPS_DEF;
+PROPRD_A = PROPRD_DEF;
+IRNINMAJOP_A = IRNINMAJOP_DEF;
+CSGMAJOP_A = CSGMAJOP_DEF;
+RDSMAJOP_A = RDSMAJOP_DEF;
+PRSMAJOP_A = PRSMAJOP_DEF;
+pour x = 07,08,11,31:
+MAJOPIRx_A = MAJOPIRx_DEF;
+MAJOPIR10_1A = MAJOPIR10_1DEF;
+MAJOPIR10_2A = MAJOPIR10_2DEF;
+MAJOPIR17_1A = MAJOPIR17_1DEF;
+MAJOPIR17_2A = MAJOPIR17_2DEF;
+pour x = 07,08,10,11,17,31:
+MAJOPCSx_A = MAJOPCSx_DEF;
+pour x = 07,08,10,11,17,31:
+MAJOPPSx_A = MAJOPPSx_DEF;
+pour x = 07,08,10,11,17,31:
+MAJOPRDx_A = MAJOPRDx_DEF;
+MAJOPIR_A = MAJOPIR_DEF;
+MAJOPCS_A = MAJOPCS_DEF;
+MAJOPRD_A = MAJOPRD_DEF;
+MAJOPPS_A = MAJOPPS_DEF;
+MAJOPIR07 = MAJOPIR07_A;
+MAJOPIR08 = MAJOPIR08_A;
+MAJOPIR10_1 = MAJOPIR10_1A;
+MAJOPIR10_2 = MAJOPIR10_2A;
+MAJOPIR11 = MAJOPIR11_A;
+MAJOPIR17_1 = MAJOPIR17_1A;
+MAJOPIR17_2 = MAJOPIR17_2A;
+MAJOPIR31 = MAJOPIR31_A;
+MAJOPCS07 = MAJOPCS07_A;
+MAJOPCS08 = MAJOPCS08_A;
+MAJOPCS10 = MAJOPCS10_A;
+MAJOPCS11 = MAJOPCS11_A;
+MAJOPCS17 = MAJOPCS17_A;
+MAJOPCS31 = MAJOPCS31_A;
+MAJOPPS07 = MAJOPPS07_A;
+MAJOPPS08 = MAJOPPS08_A;
+MAJOPPS10 = MAJOPPS10_A;
+MAJOPPS11 = MAJOPPS11_A;
+MAJOPPS17 = MAJOPPS17_A;
+MAJOPPS31 = MAJOPPS31_A;
+MAJOPRD07 = MAJOPRD07_A;
+MAJOPRD08 = MAJOPRD08_A;
+MAJOPRD10 = MAJOPRD10_A;
+MAJOPRD11 = MAJOPRD11_A;
+MAJOPRD17 = MAJOPRD17_A;
+MAJOPRD31 = MAJOPRD31_A;
+MAJOPIR_TOT = somme (x = 07,08,11,31 : MAJOPIRx)
+		+ MAJOPIR10_1 + MAJOPIR10_2
+		+ MAJOPIR17_1 + MAJOPIR17_2;
+MAJOPCS_TOT = somme (x = 07,08,10,11,17,31 : MAJOPCSx);
+MAJOPPS_TOT = somme (x = 07,08,10,11,17,31 : MAJOPPSx);
+MAJOPRD_TOT = somme (x = 07,08,10,11,17,31 : MAJOPRDx);
+regle corrective base_anterieure 124:
+application : oceans, iliad ;
+MAJOIR07TARDIF_A = MAJOIR07TARDIF_DEF;
+MAJOIR08TARDIF_A = MAJOIR08TARDIF_DEF;
+MAJOIR17_1TARDIF_A = MAJOIR17_1TARD_DEF;
+MAJOIR17_2TARDIF_A = MAJOIR17_2TARD_DEF;
+MAJOIRTARDIF_A = somme(x = 07,08 : MAJOIR0xTARDIF_A)
+		+ MAJOIR17_1TARDIF_A + MAJOIR17_2TARDIF_A;
+MAJOPS07TARDIF_A = MAJOPS07TARDIF_DEF;
+MAJOPS08TARDIF_A = MAJOPS08TARDIF_DEF;
+MAJOPS17TARDIF_A = MAJOPS17TARDIF_DEF;
+MAJOPSTARDIF_A = somme(x = 07,08,17 : MAJOPSxTARDIF_A);
+MAJOCS07TARDIF_A = MAJOCS07TARDIF_DEF;
+MAJOCS08TARDIF_A = MAJOCS08TARDIF_DEF;
+MAJOCS17TARDIF_A = MAJOCS17TARDIF_DEF;
+MAJOCSTARDIF_A = somme(x = 07,08,17 : MAJOCSxTARDIF_A);
+MAJORD07TARDIF_A = MAJORD07TARDIF_DEF;
+MAJORD08TARDIF_A = MAJORD08TARDIF_DEF;
+MAJORD17TARDIF_A = MAJORD17TARDIF_DEF;
+MAJORDTARDIF_A = somme(x = 07,08,17 : MAJORDxTARDIF_A);
+MAJOCSAL07TARDIF_A = MAJOSA07TARDIF_DEF;
+MAJOCSAL08TARDIF_A = MAJOSA08TARDIF_DEF;
+MAJOCSAL17TARDIF_A = MAJOSA17TARDIF_DEF;
+MAJOCSALTARDIF_A = somme(x = 07,08,17 : MAJOCSALxTARDIF_A);
+MAJOCDIS07TARDIF_A = MAJOCDIS07TARD_DEF;
+MAJOCDIS08TARDIF_A = MAJOCDIS08TARD_DEF;
+MAJOCDIS17TARDIF_A = MAJOCDIS17TARD_DEF;
+MAJOCDISTARDIF_A = somme(x = 07,08,17 : MAJOCDISxTARDIF_A);
+MAJOTAXA07TARDIF_A = MAJOTA07TARDIF_DEF;
+MAJOTAXA08TARDIF_A = MAJOTA08TARDIF_DEF;
+MAJOTA17_1TARDIF_A = MAJOTA17_1TARD_DEF;
+MAJOTA17_2TARDIF_A = MAJOTA17_2TARD_DEF;
+MAJOTAXATARDIF_A = somme(x = 07,08 : MAJOTAXA0xTARDIF_A)
+		+ MAJOTA17_1TARD_DEF + MAJOTA17_2TARD_DEF;
+IRBASE_REF = IRBASE_DEF;
+MAJOIRTARDIF_REF = MAJOIRTARDIF_DEF;
+IRNINTARDIF_A = IRNINTARDIF_DEF;
+NAPCRTARDIF_A = NAPCRINR;
+CSGTARDIF_A = CSGTARDIF_DEF;
+RDSTARDIF_A = RDSTARDIF_DEF;
+PRSTARDIF_A = PRSTARDIF_DEF;
+CSALTARDIF_A = CSALTARDIF_DEF;
+CDISTARDIF_A = CDISTARDIF_DEF;
+TAXATARDIF_A = TAXATARDIF_DEF;
+MAJO1728_TOT = MAJO1728IR + 
+	       MAJO1728CS + 
+               MAJO1728RD + 
+               MAJO1728PS + 
+               MAJO1728CSAL + 
+               MAJO1728CDIS + 
+	       MAJO1728TAXA;
+MAJO1729_TOT = MAJO1729IR + 
+	       MAJO1729CS + 
+               MAJO1729RD + 
+               MAJO1729PS + 
+               MAJO1729CSAL + 
+               MAJO1729CDIS + 
+	       MAJO1729TAXA;
+MAJO1732_TOT = MAJO1732IR +
+	       MAJO1732CS +
+               MAJO1732RD +
+	       MAJO1732PS +
+	       MAJO1732CSAL +
+	       MAJO1732CDIS +
+	       MAJO1732TAXA;
+MAJO1758_TOT = MAJO1758IR +
+	       MAJO1758CS +
+	       MAJO1758RD +
+	       MAJO1758PS +
+	       MAJO1758CSAL +
+	       MAJO1758CDIS +
+	       MAJO1758TAXA;
+
+MAJO1758A_TOT = MAJO1758AIR +
+	       MAJO1758ATAXA;
+MAJOIR_TOT = MAJO1728IR + MAJO1729IR + MAJO1732IR + MAJO1758IR + MAJO1758AIR;
+MAJOCS_TOT = MAJO1728CS + MAJO1729CS + MAJO1732CS + MAJO1758CS;
+MAJOPS_TOT = MAJO1728PS + MAJO1729PS + MAJO1732PS + MAJO1758PS;
+MAJORD_TOT = MAJO1728RD + MAJO1729RD + MAJO1732RD + MAJO1758RD;
+MAJOCSAL_TOT = MAJO1728CSAL + MAJO1729CSAL + MAJO1732CSAL + MAJO1758CSAL;
+MAJOCDIS_TOT = MAJO1728CDIS + MAJO1729CDIS + MAJO1732CDIS + MAJO1758CDIS;
+MAJOTAXA_TOT = MAJO1728TAXA + MAJO1729TAXA + MAJO1732TAXA + MAJO1758TAXA 
+			  + MAJO1758ATAXA;
+MAJO_TOT = MAJOIR_TOT + MAJOCS_TOT + MAJOPS_TOT + MAJORD_TOT 
+	   + MAJOCSAL_TOT + MAJOCDIS_TOT + MAJOTAXA_TOT;
+STRATIR01 = SUPIR[22] + null(CSTRATE1-1) * SUPIR[01] + null(CSTRATE1 - 1) * SUP2IR[01] ;
+STRATIR02_1 = SUPIR[20] + null(CSTRATE1-2) * SUPIR[01] + null(CSTRATE1 - 2) * SUP2IR[01] ;
+STRATIR02_1_NTL = SUP2IR[17] + null(CSTRATE1 - 2) * SUP2IR[01] ;
+STRATIR02_2_NTL = SUP2IR[17] +
+                 (SUP2IR[18] * STR_TR18 * (1 - positif_ou_nul(TIRBASE[18]-TIRBASE[20]) * positif(TIRBASE[20])) * (1 - IND_RJLJ)
+                + positif_ou_nul(TIRBASE[18] - TIRBASE[20]) * (1 - IND_RJLJ) * positif(TIRBASE[20])
+                     * max(0,(TIRBASE[18] - TIRBASE[0] - (TIRBASE[18] - TIRBASEDEF[20]))) * STR_TR18)
+		     + null(CSTRATE1 - 2) * SUP2IR[01];
+STRATIR02_1_TL = SUP2IR[19] + null(CSTRATE1 - 2) * SUP2IR[01];
+STRATIR02_2_TL = SUP2IR[19]+SUP2IR[20] + null(CSTRATE1 - 2) * SUP2IR[01];
+STRATIR03 = SUPIR[12] + null(CSTRATE1 - 3) * SUPIR[01];
+STRATIR04 = SUPIR[08] + null(CSTRATE1 - 4) * SUPIR[01];
+STRATIR05 = SUPIR[07] + null(CSTRATE1 - 5) * SUPIR[01];
+STRATIR06 = SUPIR[03] + null(CSTRATE1 - 6) * SUPIR[01];
+STRATIR07 = SUPIR[16] + null(CODE_2042 - 7) * 
+		    (positif(FLAG_RECTIF) *  min(SUPIR[0],IRNIN)
+		     + (1 - positif(FLAG_RECTIF)) * min(IRNINTARDIF_A, IRNIN))
+		     + null(CSTRATE1 - 7) * SUPIR[1];
+STRATIR08 = SUPIR[10] + null(CODE_2042 - 8) *
+		    (positif(FLAG_RECTIF) *  min(SUPIR[0],IRNIN)
+		     + (1 - positif(FLAG_RECTIF)) * min(IRNINTARDIF_A, IRNIN));
+STRATIR10_1 = SUPIR[14] + null(CSTRATE1-10) * SUPIR[01] + null(CSTRATE1 - 10) * SUP2IR[01] ;
+STRATIR10_2 = SUP2IR[14] + null(CSTRATE1 - 10) * SUP2IR[01] ;
+STRATIR11 = SUPIR[9] + null(CSTRATE1 - 11) * SUPIR[01];
+STRATIR17_1 = SUPIR[15]  + null(CODE_2042 - 17) * 
+		    (positif(FLAG_RECTIF) *  min(SUPIR[0],IRNIN)
+		     + (1 - positif(FLAG_RECTIF)) * min(IRNINTARDIF_A, IRNIN))
+		     + null(CSTRATE1-17) * SUPIR[01] + null(CSTRATE1 - 17) * SUP2IR[01] ;
+STRATIR17_2 = SUP2IR[15]  + null(CODE_2042 - 17) * 
+		    (positif(FLAG_RECTIF) *  min(SUPIR[0],IRNIN)
+		     + (1 - positif(FLAG_RECTIF)) * min(IRNINTARDIF_A, IRNIN))
+		     + null(CSTRATE1 - 17) * SUP2IR[01];
+STRATIR22 = SUPIR[21] + null(CSTRATE1 - 22) * SUPIR[01] ;
+STRATIR30 = SUPIR[13] + null(CSTRATE1 - 30) * SUPIR[01] + null(CSTRATE1 - 30) * SUP2IR[01] ;
+STRATIR31 = SUPIR[06] + null(CSTRATE1 - 31) * SUPIR[01] ;
+STRATIR32 = SUPIR[05] + null(CSTRATE1 - 32) * SUPIR[01] + null(CSTRATE1 - 32) * SUP2IR[01];
+STRATIR55 = SUPIR[11] + null(CSTRATE1 - 55) * SUPIR[01] ;
+STRATIR99 = SUPIR[00] + null(CSTRATE1 - 99) * SUPIR[01] ;
+STRATCS01 = SUPCS[22] ;
+STRATCS02 = SUPCS[20] ;
+STRATCS03 = SUPCS[12] ;
+STRATCS04 = SUPCS[08] ;
+STRATCS05 = SUPCS[07] ;
+STRATCS06 = SUPCS[03] ;
+STRATCS07 = SUPCS[16] + null(CODE_2042 - 7) * 
+		    (positif(FLAG_RECTIF) *  min(SUPCS[0],CSBASE)
+		     + (1 - positif(FLAG_RECTIF)) * min(CSGTARDIF_A, CSBASE));
+STRATCS08 = SUPCS[10] + null(CODE_2042 - 8) *
+		    (positif(FLAG_RECTIF) *  min(SUPCS[0],CSBASE)
+		     + (1 - positif(FLAG_RECTIF)) * min(CSGTARDIF_A, CSBASE));
+STRATCS10 = SUPCS[14] ;
+STRATCS11 = SUPCS[9]  ;
+STRATCS17 = SUPCS[15] + null(CODE_2042 - 17) * 
+		    (positif(FLAG_RECTIF) 
\ No newline at end of file
diff --git a/sources2010m_7_1/chap-cor.m b/sources2010m_7_1/chap-cor.m
new file mode 100644
index 0000000000000000000000000000000000000000..a0313bb353413700d89bc79ea35be44652bdaa37
--- /dev/null
+++ b/sources2010m_7_1/chap-cor.m
@@ -0,0 +1,217 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+regle  corrective base_INITIAL 1080:
+application :  oceans, iliad ;
+PRS_P = PRS;
+CSG_P = CSG;
+RDS_P = RDSN;
+IRNIN_P = IRN ;
+IRNIN_INR_P = IRNIN_INR;
+CSREC_P = CSREC;
+NAPCR_P = NAPCR;
+TAXA_P = TAXABASE ;
+CSAL_P = CSALBASE ;
+CDIS_P = CDISBASE ;
+regle corrective base_anterieure_cor 11:
+application :  oceans, iliad ;
+ANTPPETOT = PPETOT ;
+ANTPPEREST2A = PPERESTA ;
+ANTPPEIMP2A = PPEIMPA ;
+
+NATIMP_A = NATIMP ; 
+PCSG_A = PCSG;
+PRDS_A = PRDS;
+PIR_A = PIR;
+PTAXA_A=PTAXA;
+PCSAL_A=PCSAL;
+PCDIS_A=PCDIS;
+PTOT_A = PTOT;
+PPRS_A = PPRS;
+RNI_A = RNI;
+IREST_A = IREST;
+IDEGR_A = IRDEG;
+AME_A = AME;
+IRN_A = IRN;
+TAXANET_A = TAXANET;
+IDCSG_A = IDCSG;
+DCSGIM_A = DCSGIM;
+IRANT_A = IRANT;
+IRNIN_A = IRNIN;
+IRNIN_INR_A = IRNIN_INR;
+CSG_A = CSG*positif(CSG+PRS+RDSN+CSAL-SEUIL_REC_CP2);
+RDS_A = RDSN*positif(CSG+PRS+RDSN+CSAL-SEUIL_REC_CP2);
+PRS_A = PRS*positif(CSG+PRS+RDSN+CSAL-SEUIL_REC_CP2);
+CSAL_A = CSAL*positif(CSG+PRS+RDSN+CSAL-SEUIL_REC_CP2);
+CDIS_A = CDIS*positif(CSG+PRS+RDSN+CSAL+CDIS-SEUIL_REC_CP2);
+CICA_A = CICA;
+TAXABASE_A = TAXABASE;
+CSALBASE_A = CSALBASE;
+CDISBASE_A = CDISBASE;
+IRNIN_R99R_A = IRNIN_R99R+(IRNIN_PA)*null(1-IND_PASSAGE);
+IRNIN_R9901_A = IRNIN_R9901;
+CSG_R9901_A = CSG_R9901;
+RDS_R9901_A = RDS_R9901;
+PRS_R9901_A = PRS_R9901;
+CSAL_R9901_A = CSAL_R9901;
+CDIS_R9901_A = CDIS_R9901;
+TAXA_R9901_A = TAXA_R9901;
+CSG_R99R_A = CSG_R99R+CSG_PA*null(1-IND_PASSAGE);
+RDS_R99R_A = RDS_R99R+CRDS_PA*null(1-IND_PASSAGE);
+PRS_R99R_A = PRS_R99R+PRS_PA*null(1-IND_PASSAGE);
+CSAL_R99R_A = CSAL_R99R+CSAL_PA*null(1-IND_PASSAGE);
+CDIS_R99R_A = CDIS_R99R+CDIS_PA*null(1-IND_PASSAGE);
+TAXA_R99R_A = TAXA_R99R+TAXA_PA*null(1-IND_PASSAGE);
+INRIR_R99R_A = INRIR_R99R+INRIR_R99RA;
+INRCSG_R99R_A = INRCSG_R99R+INRCSG_R99RA;
+INRCRDS_R99R_A = INRCRDS_R99R+INRCRDS_R99RA;
+INRPRS_R99R_A = INRPRS_R99R+INRPRS_R99RA;
+INRCSAL_R99R_A = INRCSAL_R99R+INRCSAL_R99RA;
+INRCDIS_R99R_A = INRCDIS_R99R+INRCDIS_R99RA;
+INRTAXA_R99R_A = INRTAXA_R99R+INRTAXA_R99RA;
+INRIR_R9901_A = INRIR_R9901+INRIR_R9901A;
+INRCSG_R9901_A = INRCSG_R9901+INRCSG_R9901A;
+INRCRDS_R9901_A = INRCRDS_R9901+INRCRDS_R9901A;
+INRPRS_R9901_A = INRPRS_R9901+INRPRS_R9901A;
+INRCSAL_R9901_A = INRCSAL_R9901+INRCSAL_R9901A;
+INRCDIS_R9901_A = INRCDIS_R9901+INRCDIS_R9901A;
+INRTAXA_R9901_A = INRTAXA_R9901+INRTAXA_R9901A;
+IAR_A = IAR;
+NAPIR_A=NAPIR;
+
+IND_PASSAGE_A = IND_PASSAGE;
+IND_PASSR9901_A = IND_PASSR9901;
+IRNIN_RECT_A = IRNIN_RECT;
+INRIR_RECT_A = INRIR_RECT;
+
+IRNIN_REF_A = max(IRNIN_INR,IRNIN_P+IRNIN_PA)*positif(DO_INR_IR2)
+	     + (IRNIN_REF * (1-positif(INDFLAGCIR)) + IRNIN_R * positif(INDFLAGCIR))
+            * (1-positif(DO_INR_IR2));
+CSG_REF_A = max(CSG,CSG_P+CSG_PA)*positif(DO_INR_CSG2)
+	   + CSG_REF * (1-positif(INDFLAGCCSG)) + CSG_R * positif(INDFLAGCCSG);
+RDS_REF_A = max(RDSN,RDS_P+CRDS_PA)*positif(DO_INR_CRDS2)
+            + RDS_REF * (1-positif(INDFLAGCRDS)) + RDS_R * positif(INDFLAGCRDS);
+PRS_REF_A = max(PRS,PRS_P+PRS_PA)*positif(DO_INR_PS2)
+            + PRS_REF * (1-positif(INDFLAGCPRS)) + PRS_R * positif(INDFLAGCPRS);
+CSAL_REF_A = max(CSAL,CSAL_P+CSAL_PA)*positif(DO_INR_CSAL2)
+            + CSAL_REF * (1-positif(INDFLAGCCSAL)) + CSAL_R * positif(INDFLAGCCSAL);
+CDIS_REF_A = max(CDIS,CDIS_P+CDIS_PA)*positif(DO_INR_CDIS2)
+            + CDIS_REF * (1-positif(INDFLAGCCDIS)) + CDIS_R * positif(INDFLAGCCDIS);
+TAXA_REF_A = max(TAXABASE,TAXA_P+TAXA_PA)*positif(DO_INR_TAXA2)
+            + TAXA_REF * (1-positif(INDFLAGCTAXA)) + TAXA_R * positif(INDFLAGCTAXA);
+
+IRNIN_PA_A = IRNIN_PA;
+CSG_PA_A = CSG_PA;
+CRDS_PA_A = CRDS_PA;
+PRS_PA_A = PRS_PA;
+CSAL_PA_A = CSAL_PA;
+CDIS_PA_A = CDIS_PA;
+TAXA_PA_A = TAXA_PA;
+
+
+DO_INR_IR_A = DO_INR_IR + DO_INR_IRC;
+DO_IR_A = DO_IR;
+DO_INR_CSG_A = DO_INR_CSG+ DO_INR_CSGC;
+DO_CSG_A = DO_CSG;
+DO_INR_CRDS_A = DO_INR_CRDS+ DO_INR_CRDSC;
+DO_CRDS_A = DO_CRDS;
+DO_INR_PS_A = DO_INR_PS+ DO_INR_PSC;
+DO_PS_A = DO_PS;
+DO_INR_CSAL_A = DO_INR_CSAL+ DO_INR_CSALC;
+DO_CSAL_A = DO_CSAL;
+DO_INR_CDIS_A = DO_INR_CDIS+ DO_INR_CDISC;
+DO_CDIS_A = DO_CDIS;
+DO_INR_TAXA_A = DO_INR_TAXAGA+ DO_INR_TAXAC;
+DO_TAXA_A = DO_TAXA;
+
+INRIR_NTL_A= INRIR_NTLDEC+INRIR_NTLADEC;
+INRCSG_NTL_A=INRCSG_NTLDEC+INRCSG_NTLADEC;
+INRCRDS_NTL_A=INRCRDS_NTLDEC+INRCRDS_NTLADEC;
+INRPRS_NTL_A=INRPRS_NTLDEC+INRPS_NTLADEC;
+INRCSAL_NTL_A=INRCSAL_NTLDEC+INRCSAL_NTLADEC;
+INRCDIS_NTL_A=INRCDIS_NTLDEC+INRCDIS_NTLADEC;
+INRTAXA_NTL_A=INRTAXA_NTLDEC+INRTAXA_NTLADEC;
+INRIR_NTL_1_A= INRIR_NTLDEC_1+INRIR_NTLADEC_1;
+INRCSG_NTL_1_A=INRCSG_NTLDEC_1+INRCSG_NTLADEC_1;
+INRCRDS_NTL_1_A=INRCRDS_NTLDEC_1+INRCRDS_NTLADEC_1;
+INRPRS_NTL_1_A=INRPRS_NTLDEC_1+INRPS_NTLADEC_1;
+INRCSAL_NTL_1_A=INRCSAL_NTLDEC_1+INRCSAL_NTLADEC_1;
+INRCDIS_NTL_1_A=INRCDIS_NTLDEC_1+INRCDIS_NTLADEC_1;
+INRTAXA_NTL_1_A=INRTAXA_NTLDEC_1+INRTAXA_NTLADEC_1;
+
+INRIR_TL_1_A=INRIR_TLADEC_12+max(0,INRIR_TL_1_AD-arr(DO_INR_IR*INRIR_TL_1_AD/(INRIR_TL_1_AD+INRIR_TL_AD)));
+INRCSG_TL_1_A=INRCSG_TLADEC_12+max(0,INRCSG_TL_1_AD-arr(DO_INR_CSG*INRCSG_TL_1_AD/(INRCSG_TL_AD+INRCSG_TL_1_AD)));
+INRPRS_TL_1_A=INRPRS_TLADEC_12+max(0,INRPRS_TL_1_AD-arr(DO_INR_PS*INRPRS_TL_1_AD/(INRPRS_TL_AD+INRPRS_TL_1_AD)));
+INRCRDS_TL_1_A=INRCRDS_TLADEC_12+max(0,INRCRDS_TL_1_AD-arr(DO_INR_CRDS*INRCRDS_TL_1_AD/(INRCRDS_TL_AD+INRCRDS_TL_1_AD)));
+INRCSAL_TL_1_A=INRCSAL_TLADEC_12+max(0,INRCSAL_TL_1_AD-arr(DO_INR_CSAL*INRCSAL_TL_1_AD/(INRCSAL_TL_AD+INRCSAL_TL_1_AD)));
+INRCDIS_TL_1_A=INRCDIS_TLADEC_12+max(0,INRCDIS_TL_1_AD-arr(DO_INR_CDIS*INRCDIS_TL_1_AD/(INRCDIS_TL_AD+INRCDIS_TL_1_AD)));
+INRTAXA_TL_1_A=INRTAXA_TLADEC_12+max(0,INRTAXA_TL_1_AD -arr(DO_INR_TAXAGA*INRTAXA_TL_1_AD/(INRTAXA_TL_AD+INRTAXA_TL_1_AD)));
+
+INRIR_TL_A=INRIR_TLADEC+max(0,INRIR_TL_AD-arr(DO_INR_IR*INRIR_TL_AD/(INRIR_TL_AD+INRIR_TL_1_AD)));
+INRCSG_TL_A=INRCSG_TLADEC+max(0,INRCSG_TL_AD -arr(DO_INR_CSG*INRCSG_TL_AD/(INRCSG_TL_AD+INRCSG_TL_1_AD)));
+INRPRS_TL_A=INRPRS_TLADEC+max(0,INRPRS_TL_AD -arr(DO_INR_PS*INRPRS_TL_AD/(INRPRS_TL_AD+INRPRS_TL_1_AD)));
+INRCRDS_TL_A=INRCRDS_TLADEC+max(0,INRCRDS_TL_AD -arr(DO_INR_CRDS*INRCRDS_TL_AD/(INRCRDS_TL_AD+INRCRDS_TL_1_AD)));
+INRCSAL_TL_A=INRCSAL_TLADEC+max(0,INRCSAL_TL_AD -arr(DO_INR_CSAL*INRCSAL_TL_AD/(INRCSAL_TL_AD+INRCSAL_TL_1_AD)));
+INRCDIS_TL_A=INRCDIS_TLADEC+max(0,INRCDIS_TL_AD -arr(DO_INR_CDIS*INRCDIS_TL_AD/(INRCDIS_TL_AD+INRCDIS_TL_1_AD)));
+INRTAXA_TL_A=INRTAXA_TLADEC+max(0,INRTAXA_TL_AD-arr(DO_INR_TAXAGA*INRTAXA_TL_AD/(INRTAXA_TL_AD+INRTAXA_TL_1_AD)));
+TL_IR_A=TL_IR;
+TL_CS_A=TL_CS;
+TL_TAXAGA_A=TL_TAXAGA;
+TL_CSAL_A=TL_CSAL;
+TL_CDIS_A=TL_CDIS;
+
+INRIR_RETDEF_A = INRIR_RETDEF;
+INRCSG_RETDEF_A = INRCSG_RETDEF;
+INRCRDS_RETDEF_A = INRCRDS_RETDEF;
+INRPRS_RETDEF_A = INRPRS_RETDEF;
+INRCSAL_RETDEF_A = INRCSAL_RETDEF;
+INRCDIS_RETDEF_A = INRCDIS_RETDEF;
+INRTAXA_RETDEF_A = INRTAXA_RETDEF;
+
+
+INR_IR_TARDIF_A=INR_IR_TARDIF;
+INR_CSG_TARDIF_A=INR_CSG_TARDIF;
+INR_CRDS_TARDIF_A=INR_CRDS_TARDIF;
+INR_CSAL_TARDIF_A=INR_CSAL_TARDIF;
+INR_CDIS_TARDIF_A=INR_CDIS_TARDIF;
+INR_PS_TARDIF_A=INR_PS_TARDIF;
+INR_TAXA_TARDIF_A=INR_TAXAGA_TARDIF;
+INCIR_NET_A=INCIR_NET;
+INCCS_NET_A=INCCS_NET;
+INCPS_NET_A=INCPS_NET;
+INCCSAL_NET_A=INCCSAL_NET;
+INCCDIS_NET_A=INCCDIS_NET;
+INCRD_NET_A=INCRD_NET;
+INCTAXA_NET_A=INCTAXA_NET;
+
+TXINR_A=TXINR;
+TXINR_PA_A = TXINR_PA;
+TINR_A=TINR;
+RETX_A=RETX;
+TINR_1_A=TINR_1;
+NBREMOISCS2_A=NBREMOISCS2;
+NBREMOISCS222_A=NBREMOISCS222;
+NBREMOIS2_A=NBREMOIS2;
+NBREMOIS222_A=NBREMOIS222;
+INDACOINR_A=present(ACODELAISINR);
+regle corrective base_INITIAL 12:
+application :  oceans;
+MAJ_CGA_AGA_P = MAJ_CGA_AGA;
diff --git a/sources2010m_7_1/chap-ctl.m b/sources2010m_7_1/chap-ctl.m
new file mode 100644
index 0000000000000000000000000000000000000000..d0a491700960b3c3b3dba9924e8a03b754ef8663
--- /dev/null
+++ b/sources2010m_7_1/chap-ctl.m
@@ -0,0 +1,78 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle corrective base_tl_init 1202:
+application :  oceans, iliad ;
+
+
+TL_MF = IND_TL_MF;
+RNI_INIT = RNI ;
+ETR_INIT = IPMOND + IPTXMO ;
+PVQ_INIT = TTPVQ ;
+PV_INIT  = BPTP3 + BPTP2 + BPTP4 + BPTP40 + BPTP18 + BPTPD + BPTPG + BPVCESDOM * positif(V_EAD+V_EAG);
+RI_INIT  = ( BSURV + RFC + BDOM + BSOUFIP + BILNEUF + BILRES
+                 + BAD + BAH + BRFG + BAA + BSN + BSOCREP + BCOS + BON + RETUD + BFCPI
+		 + BPRESCOMP + DFOREST + BDOMINT ) 
+	     * (1-V_CNR) ;
+
+CRDS_INIT = RDSN;
+TAXAGA_INIT = BASSURV + BASSURC ;
+CSAL_INIT = BPVOPTCS ;
+CDIS_INIT = GSALV + GSALC;
+
+regle corrective  base_tl 1204:
+application :  oceans, iliad ;
+
+
+RNI_TL = RNI ;
+ETR_TL = IPMOND + IPTXMO ;
+PVQ_TL = TTPVQ ;
+PV_TL  = BPTP3 + BPTP2 + BPTP4 + BPTP40 + BPTP18 + BPTPD + BPTPG + BPVCESDOM * positif(V_EAD+V_EAG);
+RI_TL  = ( BSURV + RFC + BDOM + BSOUFIP + BILNEUF + BILRES
+	      + BAD + BAH + BRFG + BAA + BSN + BSOCREP + BCOS + BON + RETUD + BFCPI
+	      + BPRESCOMP + DFOREST + BDOMINT )
+	   * (1-V_CNR) ;
+
+RDS_TL  = RDSN ;
+TAXAGA_TL = BASSURV + BASSURC ;
+CSALA_TL = BPVOPTCS ;
+CDISA_TL = GSALV + GSALC;
+
+regle corrective base_tl_rect 1206:
+application :  oceans, iliad ;
+
+
+RNI_RECT = RNI ;
+ETR_RECT = IPMOND + IPTXMO ;
+PVQ_RECT = TTPVQ ;
+PV_RECT  = BPTP3 + BPTP2 + BPTP4 + BPTP40 + BPTP18 + BPTPD + BPTPG + BPVCESDOM * positif(V_EAD+V_EAG);
+RI_RECT  = RI_INIT - (BSURV + RFC + BDOM + BSOUFIP + BILNEUF + BILRES
+		       + BAD + BAH + BRFG + BAA + BSN + BSOCREP + BCOS + BON + RETUD + BFCPI
+		       + BPRESCOMP + DFOREST + BDOMINT )
+		     * (1-V_CNR) ;
+
+CRDS_RECT = RDSN ;
+TAXAGA_RECT = BASSURV + BASSURC ;
+CSAL_RECT = BPVOPTCS ;
+CDIS_RECT = GSALV + GSALC ;
+
+CSG_RECT = CSG ;
+PS_RECT  = PRS ;
+
diff --git a/sources2010m_7_1/chap-ini.m b/sources2010m_7_1/chap-ini.m
new file mode 100644
index 0000000000000000000000000000000000000000..4ecad5d8f447307352a9a8ca44477dc078b53e63
--- /dev/null
+++ b/sources2010m_7_1/chap-ini.m
@@ -0,0 +1,781 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 1000100:
+application : pro;
+APPLI_PRO   = 1;
+APPLI_GP    = 0;
+APPLI_OCEANS= 0;
+APPLI_ILIAD = 0;
+APPLI_BATCH = 0;
+regle 1000130:
+application :  oceans;
+APPLI_PRO   = 0;
+APPLI_GP    = 0;
+APPLI_OCEANS= 1;
+APPLI_ILIAD = 0;
+APPLI_BATCH = 0;
+regle 1000140:
+application :  iliad;
+APPLI_PRO   = 0;
+APPLI_GP    = 0;
+APPLI_OCEANS= 0;
+APPLI_ILIAD = 1;
+APPLI_BATCH = 0;
+regle 1000150:
+application :  batch;
+APPLI_PRO   = 0;
+APPLI_GP    = 0;
+APPLI_OCEANS= 0;
+APPLI_ILIAD = 0;
+APPLI_BATCH = 1;
+regle 1000718:
+application : pro ,  oceans , batch, iliad ;
+SOMMEA718 = (
+   present( BAFV ) 
+ + (1 - null( V_FORVA+0 ))
+ + present( BAFPVV ) 
+ + present( BAF1AV ) 
+ + present( BAFC ) 
+ + (1 - null( V_FORCA+0 ))
+ + present( BAFPVC ) 
+ + present( BAF1AC ) 
+ + present( BAFP ) 
+ + (1 - null( V_FORPA+0 ))
+ + present( BAFPVP ) 
+ + present( BAF1AP ) 
+ + present( BACREV ) 
+ + present( 4BACREV )
+ + present( BA1AV ) 
+ + present( BACDEV ) 
+ + present( BACREC ) 
+ + present( 4BACREC )
+ + present( BA1AC ) 
+ + present( BACDEC ) 
+ + present( BACREP ) 
+ + present( 4BACREP )
+ + present( BA1AP ) 
+ + present( BACDEP ) 
+ + present( BAHREV ) 
+ + present( 4BAHREV )
+ + present( BAHDEV ) 
+ + present( BAHREC ) 
+ + present( 4BAHREC )
+ + present( BAHDEC ) 
+ + present( BAHREP ) 
+ + present( 4BAHREP )
+ + present( BAHDEP ) 
+ + present( MIBVENV ) 
+ + present( MIBPRESV ) 
+ + present( MIBPVV ) 
+ + present( MIB1AV ) 
+ + present( MIBDEV ) 
+ + present( MIBVENC ) 
+ + present( MIBPRESC ) 
+ + present( MIBPVC ) 
+ + present( MIB1AC ) 
+ + present( MIBDEC ) 
+ + present( MIBVENP ) 
+ + present( MIBPRESP ) 
+ + present( MIBPVP ) 
+ + present( MIB1AP ) 
+ + present( MIBDEP ) 
+ + present( MIBDCT ) 
+ + present( BICNOV ) 
+ + present( BI1AV ) 
+ + present( BICDNV ) 
+ + present( BICNOC ) 
+ + present( BI1AC ) 
+ + present( BICDNC ) 
+ + present( BICNOP ) 
+ + present( BI1AP ) 
+ + present( BICDNP ) 
+ + present( BIHNOV ) 
+ + present( BIHDNV ) 
+ + present( BIHNOC ) 
+ + present( BIHDNC ) 
+ + present( BIHNOP ) 
+ + present( BIHDNP ) 
+ + present( MIBNPVENV ) 
+ + present( MIBNPPRESV ) 
+ + present( MIBNPPVV ) 
+ + present( MIBNP1AV ) 
+ + present( MIBNPDEV ) 
+ + present( MIBNPVENC ) 
+ + present( MIBNPPRESC ) 
+ + present( MIBNPPVC ) 
+ + present( MIBNP1AC ) 
+ + present( MIBNPDEC ) 
+ + present( MIBNPVENP ) 
+ + present( MIBNPPRESP ) 
+ + present( MIBNPPVP ) 
+ + present( MIBNP1AP ) 
+ + present( MIBNPDEP ) 
+ + present( MIBNPDCT ) 
+ + present( BICREV ) 
+ + present( BI2AV ) 
+ + present( BICDEV ) 
+ + present( BICREC ) 
+ + present( BI2AC ) 
+ + present( BICDEC ) 
+ + present( BICREP ) 
+ + present( BI2AP ) 
+ + present( BICDEP ) 
+ + present( BICHREV ) 
+ + present( BICHDEV ) 
+ + present( BICHREC ) 
+ + present( BICHDEC ) 
+ + present( BICHREP ) 
+ + present( BICHDEP ) 
+ + present( BNCPROV ) 
+ + present( BNCPROPVV ) 
+ + present( BNCPRO1AV ) 
+ + present( BNCPRODEV ) 
+ + present( BNCPROC ) 
+ + present( BNCPROPVC ) 
+ + present( BNCPRO1AC ) 
+ + present( BNCPRODEC ) 
+ + present( BNCPROP ) 
+ + present( BNCPROPVP ) 
+ + present( BNCPRO1AP ) 
+ + present( BNCPRODEP ) 
+ + present( BNCPRODCT ) 
+ + present( BNCREV ) 
+ + present( BN1AV ) 
+ + present( BNCDEV ) 
+ + present( BNCREC ) 
+ + present( BN1AC ) 
+ + present( BNCDEC ) 
+ + present( BNCREP ) 
+ + present( BN1AP ) 
+ + present( BNCDEP ) 
+ + present( BNHREV ) 
+ + present( BNHDEV ) 
+ + present( BNHREC ) 
+ + present( BNHDEC ) 
+ + present( BNHREP ) 
+ + present( BNHDEP ) 
+ + present( BNCNPV ) 
+ + present( BNCNPPVV ) 
+ + present( BNCNP1AV ) 
+ + present( BNCNPDEV ) 
+ + present( BNCNPC ) 
+ + present( BNCNPPVC ) 
+ + present( BNCNP1AC ) 
+ + present( BNCNPDEC ) 
+ + present( BNCNPP ) 
+ + present( BNCNPPVP ) 
+ + present( BNCNP1AP ) 
+ + present( BNCNPDEP ) 
+ + present( BNCNPDCT ) 
+ + present( ANOCEP ) 
+ + present( PVINVE ) 
+ + present( DNOCEP ) 
+ + present( ANOVEP ) 
+ + present( PVINCE ) 
+ + present( DNOCEPC )
+ + present( ANOPEP ) 
+ + present( PVINPE ) 
+ + present( DNOCEPP )
+ + present ( BNCAABV ) + present ( BNCAABC ) + present ( BNCAABP ) 
+ + present ( BNCAADV ) + present ( BNCAADC ) + present ( BNCAADP ) 
+ + present( BAFORESTV )
+ + present( BAFORESTC )
+ + present( BAFORESTP )
+ + present( LOCPROCGAV ) + present( LOCDEFPROCGAV ) + present( LOCPROCGAC )
+ + present( LOCDEFPROCGAC ) + present( LOCPROCGAP ) + present( LOCDEFPROCGAP )
+ + present( LOCPROV ) + present( LOCDEFPROV ) + present( LOCPROC )
+ + present( LOCDEFPROC ) + present( LOCPROP ) + present( LOCDEFPROP )
+ + present( LOCNPCGAV ) + present( LOCDEFNPCGAV ) + present( LOCNPCGAC )
+ + present( LOCDEFNPCGAC ) + present( LOCNPCGAPAC ) + present( LOCDEFNPCGAPAC )
+ + present( LOCNPV ) + present( LOCDEFNPV ) + present( LOCNPC )
+ + present( LOCDEFNPC ) + present( LOCNPPAC ) + present( LOCDEFNPPAC )
+ + 0
+               );
+regle 1000719:
+application : pro ,  oceans , batch, iliad ;
+
+SOMMEA719=      (
+   present ( BACREV ) 
+ + present( 4BACREV )
+ + present ( BA1AV ) 
+ + present ( BACDEV ) 
+ + present ( BACREC ) 
+ + present( 4BACREC )
+ + present ( BA1AC ) 
+ + present ( BACDEC ) 
+ + present ( BACREP ) 
+ + present( 4BACREP )
+ + present ( BA1AP ) 
+ + present ( BACDEP ) 
+ + present ( BAHREV ) 
+ + present( 4BAHREV )
+ + present ( BAHDEV ) 
+ + present ( BAHREC ) 
+ + present( 4BAHREC )
+ + present ( BAHDEC ) 
+ + present ( BAHREP ) 
+ + present( 4BAHREP )
+ + present ( BAHDEP ) 
+ + present ( BICNOV ) 
+ + present ( BI1AV ) 
+ + present ( BICDNV ) 
+ + present ( BICNOC ) 
+ + present ( BI1AC ) 
+ + present ( BICDNC ) 
+ + present ( BICNOP ) 
+ + present ( BI1AP ) 
+ + present ( BICDNP ) 
+ + present ( BIHNOV ) 
+ + present ( BIHDNV ) 
+ + present ( BIHNOC ) 
+ + present ( BIHDNC ) 
+ + present ( BIHNOP ) 
+ + present ( BIHDNP ) 
+ + present ( BICREV ) 
+ + present ( BI2AV ) 
+ + present ( BICDEV ) 
+ + present ( BICREC ) 
+ + present ( BI2AC ) 
+ + present ( BICDEC ) 
+ + present ( BICREP ) 
+ + present ( BI2AP ) 
+ + present ( BICDEP ) 
+ + present ( BICHREV ) 
+ + present ( BICHDEV ) 
+ + present ( BICHREC ) 
+ + present ( BICHDEC ) 
+ + present ( BICHREP ) 
+ + present ( BICHDEP ) 
+ + present ( BNCREV ) 
+ + present ( BN1AV ) 
+ + present ( BNCDEV ) 
+ + present ( BNCREC ) 
+ + present ( BN1AC ) 
+ + present ( BNCDEC ) 
+ + present ( BNCREP ) 
+ + present ( BN1AP ) 
+ + present ( BNCDEP ) 
+ + present ( BNHREV ) 
+ + present ( BNHDEV ) 
+ + present ( BNHREC ) 
+ + present ( BNHDEC ) 
+ + present ( BNHREP ) 
+ + present ( BNHDEP ) 
+ + present ( ANOCEP ) 
+ + present ( PVINVE ) 
+ + present ( DNOCEP )
+ + present( BAEXV ) 
+ + present( BAEXC ) 
+ + present( BAEXP ) 
+ + present( BAHEXV ) 
+ + present( BAHEXC ) 
+ + present( BAHEXP ) 
+ + present( BICEXV ) 
+ + present( BICEXC ) 
+ + present( BICEXP ) 
+ + present( BIHEXV ) 
+ + present( BIHEXC ) 
+ + present( BIHEXP ) 
+ + present( BICNPEXV ) 
+ + present( BICNPEXC ) 
+ + present( BICNPEXP ) 
+ + present( BICNPHEXV ) 
+ + present( BICNPHEXC ) 
+ + present( BICNPHEXP ) 
+ + present( BNCEXV ) 
+ + present( BNCEXC ) 
+ + present( BNCEXP ) 
+ + present( BNHEXV ) 
+ + present( BNHEXC ) 
+ + present( BNHEXP ) 
+ + present( ANOVEP ) 
+ + present( PVINCE ) 
+ + present( DNOCEPC )
+ + present( ANOPEP ) 
+ + present( PVINPE ) 
+ + present( DNOCEPP )
+ + present ( BNCAABV ) + present ( BNCAABC ) + present ( BNCAABP ) 
+ + present ( BNCAADV ) + present ( BNCAADC ) + present ( BNCAADP )
+ + present ( BNCNPREXAAV ) + present ( BNCNPREXV ) + present ( BNCNPREXAAC )
+ + present ( BNCNPREXC ) + present ( BNCNPREXAAP ) + present ( BNCNPREXP )
+ + present( LOCPROCGAV ) + present( LOCDEFPROCGAV ) + present( LOCPROCGAC )
+ + present( LOCDEFPROCGAC ) + present( LOCPROCGAP ) + present( LOCDEFPROCGAP )
+ + present( LOCPROV ) + present( LOCDEFPROV ) + present( LOCPROC )
+ + present( LOCDEFPROC ) + present( LOCPROP ) + present( LOCDEFPROP )
+ + present( LOCNPCGAV ) + present( LOCDEFNPCGAV ) + present( LOCNPCGAC )
+ + present( LOCDEFNPCGAC ) + present( LOCNPCGAPAC ) + present( LOCDEFNPCGAPAC )
+ + present( LOCNPV ) + present( LOCDEFNPV ) + present( LOCNPC )
+ + present( LOCDEFNPC ) + present( LOCNPPAC ) + present( LOCDEFNPPAC )
+ + present( XHONOAAV ) + present( XHONOV ) + present( XHONOAAC ) 
+ + present( XHONOC ) + present( XHONOAAP ) + present( XHONOP )
+ + 0
+        );
+regle 1000530:
+application : pro ,  oceans , batch, iliad;
+
+SOMMEA030 =     
+                somme(i=1..4: positif(TSHALLOi) + positif(ALLOi)
+		+ positif(CARTSPi) + positif(REMPLAPi)
+		+ positif(CARTSNBAPi) + positif(REMPLANBPi)
+		+ positif(HEURESUPPi)
+                + positif(PRBRi)
+		+ positif(CARPEPi) + positif(CARPENBAPi)
+                + positif(PALIi) + positif(FRNi) + positif(PPETPPi) + positif(PPENHPi)
+		+ positif(PENSALPi) + positif(PENSALNBPi)
+		)
+ + positif(RSAPAC1) + positif(RSAPAC2)
+ + positif(FEXP)  + positif(BAFP)  + positif(BAFORESTP) + positif(BAFPVP)  + positif(BAF1AP)
+ + positif(BAEXP)  + positif(BACREP) + positif(4BACREP)  
+ + positif(BA1AP)  + positif(BACDEP)
+ + positif(BAHEXP)  + positif(BAHREP) + positif(4BAHREP) 
+ + positif(BAHDEP)
+ + positif(MIBEXP) + positif(MIBVENP) + positif(MIBPRESP)  + positif(MIBPVP)  + positif(MIB1AP)  + positif(MIBDEP)
+ + positif(BICEXP) + positif(BICNOP) + positif(BI1AP)  + positif(BICDNP) 
+ + positif(BIHEXP) + positif(BIHNOP) + positif(BIHDNP)  
+ + positif(MIBNPEXP)  + positif(MIBNPVENP)  + positif(MIBNPPRESP)  + positif(MIBNPPVP)  + positif(MIBNP1AP)  + positif(MIBNPDEP)
+ + positif(BICNPEXP)  + positif(BICREP) + positif(BI2AP)  + positif(BICDEP)  
+ + positif(BICNPHEXP) + positif(BICHREP) + positif(BICHDEP) 
+ + positif(BNCPROEXP)  + positif(BNCPROP)  + positif(BNCPROPVP)  + positif(BNCPRO1AP)  + positif(BNCPRODEP)
+ + positif(BNCEXP)  + positif(BNCREP) + positif(BN1AP) + positif(BNCDEP)
+ + positif(BNHEXP)  + positif(BNHREP)  + positif(BNHDEP) + positif(BNCCRP)
+ + positif(BNCNPP)  + positif(BNCNPPVP)  + positif(BNCNP1AP)  + positif(BNCNPDEP)
+ + positif(ANOPEP) + positif(PVINPE) + positif(DNOCEPP) + positif(BNCCRFP)
+ + positif(BNCAABP) + positif(BNCAADP)
+ + positif(RCSP) + positif(PPEACP) + positif(PPENJP)
+ + positif(BAPERPP) + positif(BIPERPP) 
+ + positif(PERPP) + positif(PERP_COTP) + positif(RACCOTP) + positif(PLAF_PERPP)
+ + somme(i=1..4: positif(PEBFi))
+ + positif( COTF1 ) + positif( COTF2 ) + positif( COTF3 ) + positif( COTF4 )
+ + positif ( BNCNPREXAAP ) + positif ( BNCNPREXP )
+ + positif(AUTOBICVP) + positif(AUTOBICPP) 
+ + positif(AUTOBNCP) + positif(LOCPROCGAP) + positif(LOCDEFPROCGAP)
+ + positif(LOCPROP) + positif(LOCDEFPROP) + positif(LOCNPCGAPAC) + positif(LOCDEFNPCGAPAC)
+ + positif(LOCNPPAC) + positif(LOCDEFNPPAC) + positif(XHONOAAP) + positif(XHONOP) + positif(XSPENPP)
+ ;
+
+regle 1000531:
+application : pro ,  oceans , batch, iliad;
+
+SOMMEA031 =      (
+
+  positif ( TSHALLOC ) 
+ + positif ( ALLOC ) 
+ + positif ( HEURESUPC ) 
+ + positif ( PRBRC ) 
+ + positif ( PALIC ) 
+ + positif ( TSASSUC ) 
+ + positif ( XETRANC ) 
+ + positif ( TSELUPPEC ) 
+ + positif ( FRNC ) 
+ + positif ( PPETPC ) 
+ + positif ( PPENHC ) 
+ + positif ( GSALC ) 
+ + positif ( GLD1C ) 
+ + positif ( GLD2C ) 
+ + positif ( GLD3C ) 
+ + positif (BPCOSAC)
+ + positif ( FEXC ) 
+ + positif ( BAFC ) 
+ + positif ( BAFORESTC )
+ + positif ( BAFPVC ) 
+ + positif ( BAF1AC ) 
+ + positif ( BAEXC ) 
+ + positif ( BACREC ) 
+ + positif ( 4BACREC )
+ + positif ( BA1AC ) 
+ + positif ( BACDEC ) 
+ + positif ( BAHEXC ) 
+ + positif ( BAHREC ) 
+ + positif ( 4BAHREC )
+ + positif ( BAHDEC ) 
+ + positif ( BAPERPC ) 
+ + positif ( MIBEXC ) 
+ + positif ( MIBVENC ) 
+ + positif ( MIBPRESC ) 
+ + positif ( MIBPVC ) 
+ + positif ( MIB1AC ) 
+ + positif ( MIBDEC ) 
+ + positif ( BICEXC ) 
+ + positif ( BICNOC ) 
+ + positif ( BI1AC ) 
+ + positif ( BICDNC ) 
+ + positif ( BIHEXC ) 
+ + positif ( BIHNOC ) 
+ + positif ( BIHDNC ) 
+ + positif ( BIPERPC ) 
+ + positif ( MIBNPEXC ) 
+ + positif ( MIBNPVENC ) 
+ + positif ( MIBNPPRESC ) 
+ + positif ( MIBNPPVC ) 
+ + positif ( MIBNP1AC ) 
+ + positif ( MIBNPDEC ) 
+ + positif ( BICNPEXC ) 
+ + positif ( BICREC ) 
+ + positif ( BI2AC ) 
+ + positif ( BICDEC ) 
+ + positif ( BICNPHEXC ) 
+ + positif ( BICHREC ) 
+ + positif ( BICHDEC ) 
+ + positif ( BNCPROEXC ) 
+ + positif ( BNCPROC ) 
+ + positif ( BNCPROPVC ) 
+ + positif ( BNCPRO1AC ) 
+ + positif ( BNCPRODEC ) 
+ + positif ( BNCEXC ) 
+ + positif ( BNCREC ) 
+ + positif ( BN1AC ) 
+ + positif ( BNCDEC ) 
+ + positif ( BNHEXC ) 
+ + positif ( BNHREC ) 
+ + positif ( BNHDEC ) 
+ + positif ( BNCCRC )
+ + positif ( CESSASSC )
+ + positif ( BNCNPC ) 
+ + positif ( BNCNPPVC ) 
+ + positif ( BNCNP1AC ) 
+ + positif ( BNCNPDEC ) 
+ + positif ( ANOVEP )
+ + positif ( PVINCE )
+ + positif ( DNOCEPC )
+ + positif ( BNCCRFC )
+ + positif ( BNCAABC )
+ + positif ( BNCAADC )
+ + positif ( RCSC ) 
+ + positif ( PVSOCC )
+ + positif ( PPEACC ) 
+ + positif ( PPENJC ) 
+ + positif ( PEBFC ) 
+ + positif ( CARTSC ) 
+ + positif (PENSALC )
+ + positif (REMPLAC )
+ + positif ( CARPEC ) 
+ + positif ( PERPC ) 
+ + positif ( PERP_COTC )
+ + positif ( RACCOTC )
+ + positif ( PLAF_PERPC )
+ + positif ( PERPPLAFCC)
+ + positif ( PERPPLAFNUC1 )
+ + positif ( PERPPLAFNUC2 ) 
+ + positif ( PERPPLAFNUC3 )
+ + positif( COTFC ) 
+ + positif ( ELURASC )
+ + positif ( BNCNPREXAAC ) + positif ( BNCNPREXC ) + positif ( EXOCETC )
+ + positif(AUTOBICVC) + positif(AUTOBICPC) 
+ + positif(AUTOBNCC) + positif(LOCPROCGAC) + positif(LOCDEFPROCGAC)
+ + positif(LOCPROC) + positif(LOCDEFPROC) + positif(LOCNPCGAC) + positif(LOCDEFNPCGAC)
+ + positif(LOCNPC) + positif(LOCDEFNPC) + positif(XHONOAAC) + positif(XHONOC) + positif(XSPENPC)
+   );
+regle 1000804:
+application :pro , oceans ,  iliad , batch;  
+
+
+SOMMEA804 = SOMMEANOEXP 
+	    + positif ( GLD1V ) + positif ( GLD2V ) + positif ( GLD3V ) 
+            + positif ( GLD1C ) + positif ( GLD2C ) + positif ( GLD3C ) 
+           ;
+
+SOMMEA805 = SOMMEANOEXP ;
+
+regle 1000993:
+application : iliad ;  
+
+
+
+INDAUTREQUE9YA = positif (positif( 4BACREC ) + positif( 4BACREP ) + positif( 4BACREV )
+ + positif( 4BAHREC ) + positif( 4BAHREP ) + positif( 4BAHREV )
+ + positif( ABDETMOINS ) + positif( ABDETPLUS ) + positif( ABIMPMV )
+ + positif( ABIMPPV ) + positif( ACODELAISINR ) + positif( ACPTMENSPPE )
+ + positif( ALLO1 ) + positif( ALLO2 ) + positif( ALLO3 )
+ + positif( ALLO4 ) + positif( ALLOC ) + positif( ALLOV )
+ + positif( AME2 ) + positif( ANOCEP ) + positif( ANOPEP )
+ + positif( ANOVEP ) + positif( ASCAPA ) + positif( AUTOBICPC )
+ + positif( AUTOBICPP ) + positif( AUTOBICPV ) + positif( AUTOBICVC )
+ + positif( AUTOBICVP ) + positif( AUTOBICVV ) + positif( AUTOBNCC )
+ + positif( AUTOBNCP ) + positif( AUTOBNCV ) + positif( AUTOVERSLIB )
+ + positif( AUTRENT ) + positif( AVETRAN ) + positif( BA1AC )
+ + positif( BA1AP ) + positif( BA1AV ) + positif( BACDEC )
+ + positif( BACDEP ) + positif( BACDEV ) + positif( BACREC )
+ + positif( BACREP ) + positif( BACREV ) + positif( BAEXC )
+ + positif( BAEXP ) + positif( BAEXV ) + positif( BAF1AC )
+ + positif( BAF1AP ) + positif( BAF1AV ) + positif( BAFC )
+ + positif( BAFORESTC ) + positif( BAFORESTP ) + positif( BAFORESTV )
+ + positif( BAFP ) + positif( BAFPVC ) + positif( BAFPVP )
+ + positif( BAFPVV ) + positif( BAFV ) + positif( BAHDEC )
+ + positif( BAHDEP ) + positif( BAHDEV ) + positif( BAHEXC )
+ + positif( BAHEXP ) + positif( BAHEXV ) + positif( BAHREC )
+ + positif( BAHREP ) + positif( BAHREV ) + positif( BAILOC98 )
+ + positif( BAPERPC ) + positif( BAPERPP ) + positif( BAPERPV )
+ + positif( BASRET ) + positif( BI1AC ) + positif( BI1AP )
+ + positif( BI1AV ) + positif( BI2AC ) + positif( BI2AP )
+ + positif( BI2AV ) + positif( BICDEC ) + positif( BICDEP )
+ + positif( BICDEV ) + positif( BICDNC ) + positif( BICDNP )
+ + positif( BICDNV ) + positif( BICEXC ) + positif( BICEXP )
+ + positif( BICEXV ) + positif( BICHDEC ) + positif( BICHDEP )
+ + positif( BICHDEV ) + positif( BICHREC ) + positif( BICHREP )
+ + positif( BICHREV ) + positif( BICNOC ) + positif( BICNOP )
+ + positif( BICNOV ) + positif( BICNPEXC ) + positif( BICNPEXP )
+ + positif( BICNPEXV ) + positif( BICNPHEXC ) + positif( BICNPHEXP )
+ + positif( BICNPHEXV ) + positif( BICREC ) + positif( BICREP )
+ + positif( BICREV ) + positif( BIGREST ) + positif( BIHDNC )
+ + positif( BIHDNP ) + positif( BIHDNV ) + positif( BIHEXC )
+ + positif( BIHEXP ) + positif( BIHEXV ) + positif( BIHNOC )
+ + positif( BIHNOP ) + positif( BIHNOV ) + positif( BIPERPC )
+ + positif( BIPERPP ) + positif( BIPERPV ) + positif( BN1AC )
+ + positif( BN1AP ) + positif( BN1AV ) + positif( BNCAABC )
+ + positif( BNCAABP ) + positif( BNCAABV ) + positif( BNCAADC )
+ + positif( BNCAADP ) + positif( BNCAADV ) + positif( BNCCRC )
+ + positif( BNCCRFC ) + positif( BNCCRFP ) + positif( BNCCRFV )
+ + positif( BNCCRP ) + positif( BNCCRV ) + positif( BNCDEC )
+ + positif( BNCDEP ) + positif( BNCDEV ) + positif( BNCEXC )
+ + positif( BNCEXP ) + positif( BNCEXV ) + positif( BNCNP1AC )
+ + positif( BNCNP1AP ) + positif( BNCNP1AV ) + positif( BNCNPC )
+ + positif( BNCNPDCT ) + positif( BNCNPDEC ) + positif( BNCNPDEP )
+ + positif( BNCNPDEV ) + positif( BNCNPP ) + positif( BNCNPPVC )
+ + positif( BNCNPPVP ) + positif( BNCNPPVV ) + positif( BNCNPREXAAC )
+ + positif( BNCNPREXAAP ) + positif( BNCNPREXAAV ) + positif( BNCNPREXC )
+ + positif( BNCNPREXP ) + positif( BNCNPREXV ) + positif( BNCNPV )
+ + positif( BNCPRO1AC ) + positif( BNCPRO1AP ) + positif( BNCPRO1AV )
+ + positif( BNCPROC ) + positif( BNCPRODCT ) + positif( BNCPRODEC )
+ + positif( BNCPRODEP ) + positif( BNCPRODEV ) + positif( BNCPROEXC )
+ + positif( BNCPROEXP ) + positif( BNCPROEXV ) + positif( BNCPROP )
+ + positif( BNCPROPVC ) + positif( BNCPROPVP ) + positif( BNCPROPVV )
+ + positif( BNCPROV ) + positif( BNCREC ) + positif( BNCREP )
+ + positif( BNCREV ) + positif( BNHDEC ) + positif( BNHDEP )
+ + positif( BNHDEV ) + positif( BNHEXC ) + positif( BNHEXP )
+ + positif( BNHEXV ) + positif( BNHREC ) + positif( BNHREP )
+ + positif( BNHREV ) + positif( BPCOPT ) + positif( BPCOSAC )
+ + positif( BPCOSAV ) + positif( BPTIMM8 ) + positif( BPTIMMED )
+ + positif( BPV18 ) + positif( BPV40 ) + positif( BPVCESDOM )
+ + positif( BPVKRI ) + positif( BPVOPTCS ) + positif( BPVRCM )
+ + positif( BRAS ) + positif( BULLRET ) + positif( CARPEC )
+ + positif( CARPENBAC ) + positif( CARPENBAP1 ) + positif( CARPENBAP2 )
+ + positif( CARPENBAP3 ) + positif( CARPENBAP4 ) + positif( CARPENBAV )
+ + positif( CARPEP1 ) + positif( CARPEP2 ) + positif( CARPEP3 )
+ + positif( CARPEP4 ) + positif( CARPEV ) + positif( CARTSC )
+ + positif( CARTSNBAC ) + positif( CARTSNBAP1 ) + positif( CARTSNBAP2 )
+ + positif( CARTSNBAP3 ) + positif( CARTSNBAP4 ) + positif( CARTSNBAV )
+ + positif( CARTSP1 ) + positif( CARTSP2 ) + positif( CARTSP3 )
+ + positif( CARTSP4 ) + positif( CARTSV ) + positif( CASEPRETUD )
+ + positif( CBETRAN ) + positif( CELLIERD ) + positif( CELLIERD1 )
+ + positif( CELLIERD2 ) + positif( CELLIERM ) + positif( CELLIERM1 )
+ + positif( CELLIERM2 ) + positif( CELREPD09 ) + positif( CELREPM09 )
+ + positif( CELRRED09 ) + positif( CESSASSC ) + positif( CESSASSV )
+ + positif( CHENF1 ) + positif( CHENF2 ) + positif( CHENF3 )
+ + positif( CHENF4 ) + positif( CHNFAC ) + positif( CHRDED )
+ + positif( CHRFAC ) + positif( CIAQCUL ) + positif( CIBOIBAIL )
+ + positif( CICHO2BAIL ) + positif( CIDEBITTABAC ) + positif( CIDEP15 )
+ + positif( CIIMPPRO ) + positif( CIIMPPRO2 ) + positif( CIINVCORSE )
+ + positif( CINE1 ) + positif( CINE2 ) + positif( CINRJBAIL )
+ + positif( CMAJ ) + positif( CO2044P ) + positif( CO2047 )
+ + positif( CO2102 ) + positif( CO35 ) + positif( CODCHA )
+ + positif( CODSIR ) + positif( CONVCREA ) + positif( CONVHAND )
+ + positif( COSBC ) + positif( COSBP ) + positif( COSBV )
+ + positif( COTF1 ) + positif( COTF2 ) + positif( COTF3 )
+ + positif( COTF4 ) + positif( COTFC ) + positif( COTFV )
+ + positif( COTOBLIC ) + positif( COTOBLIV ) + positif( CREAGRIBIO )
+ + positif( CREAIDE ) + positif( CREAPP ) + positif( CREARTS )
+ + positif( CRECHOBAS ) + positif( CRECHOBOI ) + positif( CRECHOCON2 )
+ + positif( CRECONGAGRI ) + positif( CREDPVREP ) + positif( CREFAM )
+ + positif( CREFORMCHENT ) + positif( CREINTERESSE ) + positif( CRENRJRNOUV )
+ + positif( CREPROSP ) + positif( CRERESTAU ) + positif( CRIGA )
+ + positif( DABNCNP1 ) + positif( DABNCNP2 ) + positif( DABNCNP3 )
+ + positif( DABNCNP4 ) + positif( DABNCNP5 ) + positif( DABNCNP6 )
+ + positif( DAGRI1 ) + positif( DAGRI2 ) + positif( DAGRI3 )
+ + positif( DAGRI4 ) + positif( DAGRI5 ) + positif( DAGRI6 )
+ + positif( DATDEPETR ) + positif( DATOCEANS ) + positif( DATRETETR )
+ + positif( DCSG ) + positif( DEFAA0 ) + positif( DEFAA1 )
+ + positif( DEFAA2 ) + positif( DEFAA3 ) + positif( DEFAA4 )
+ + positif( DEFAA5 ) + positif( DEFBIC1 ) + positif( DEFBIC2 )
+ + positif( DEFBIC3 ) + positif( DEFBIC4 ) + positif( DEFBIC5 )
+ + positif( DEFBIC6 ) + positif( DEFRCM ) + positif( DEFRCM2 )
+ + positif( DEFRCM3 ) + positif( DEFRCM4 ) + positif( DEPCHOBAS )
+ + positif( DEPMOBIL ) + positif( DETS1 ) + positif( DETS2 )
+ + positif( DETS3 ) + positif( DETS4 ) + positif( DETSC )
+ + positif( DETSV ) + positif( DIREPARGNE ) + positif( DISQUO )
+ + positif( DISQUONB ) + positif( DMOND ) + positif( DNOCEP )
+ + positif( DNOCEPC ) + positif( DNOCEPP ) + positif( DPVRCM )
+ + positif( ELDEDUC ) + positif( ELDEDUV ) + positif( ELREINC )
+ + positif( ELREINV ) + positif( ELURASC ) + positif( ELURASV )
+ + positif( ESFP ) + positif( EXOCETC ) + positif( EXOCETV )
+ + positif( FCPI ) + positif( FEXC ) + positif( FEXP )
+ + positif( FEXV ) + positif( FFIP ) + positif( FIPCORSE )
+ + positif( FONCI ) + positif( FONCINB ) + positif( FORET )
+ + positif( FRN1 ) + positif( FRN2 ) + positif( FRN3 )
+ + positif( FRN4 ) + positif( FRNC ) + positif( FRNV )
+ + positif( GAINABDET ) + positif( GLD1C ) + positif( GLD1V )
+ + positif( GLD2C ) + positif( GLD2V ) + positif( GLD3C )
+ + positif( GLD3V ) + positif( GSALC ) + positif( GSALV )
+ + positif( HEURESUPC ) + positif( HEURESUPP1 ) + positif( HEURESUPP2 )
+ + positif( HEURESUPP3 ) + positif( HEURESUPP4 ) + positif( HEURESUPV )
+ + positif( IMPRET ) + positif( INAIDE ) + positif( INDJNONIMPC )
+ + positif( INDJNONIMPV ) + positif( INDLOCNEUF ) + positif( INDLOCRES )
+ + positif( IND_TDR ) + positif( INTDIFAGRI ) + positif( INTERE )
+ + positif( INTERENB ) + positif( INVAUTEN2009 ) + positif( INVAUTRE )
+ + positif( INVDIR2009 ) + positif( INVDIRENT ) + positif( INVDOMRET50 )
+ + positif( INVDOMRET60 ) + positif( INVENDEB2009 ) + positif( INVENDI )
+ + positif( INVIMP ) + positif( INVINIT ) + positif( INVLGAUTRE )
+ + positif( INVLGDEB ) + positif( INVLGDEB2009 ) + positif( INVLGDEB2010 )
+ + positif( INVLOCHOT ) + positif( INVLOCHOTR ) + positif( INVLOCHOTR1 )
+ + positif( INVLOCNEUF ) + positif( INVLOCRES ) + positif( INVLOCT1 )
+ + positif( INVLOCT2 ) + positif( INVLOG2008 ) + positif( INVLOG2009 )
+ + positif( INVLOGSOC ) + positif( INVOMREP ) + positif( INVRETRO1 )
+ + positif( INVRETRO2 ) + positif( INVSOC2010 ) + positif( INVSOCNRET )
+ + positif( IPBOCH ) + positif( IPCHER ) + positif( IPECO )
+ + positif( IPELUS ) + positif( IPMOND ) + positif( IPPNCS )
+ + positif( IPPRICORSE ) + positif( IPRECH ) + positif( IPREP )
+ + positif( IPREPCORSE ) + positif( IPSOUR ) + positif( IPSURSI )
+ + positif( IPTEFN ) + positif( IPTEFP ) + positif( IPTXMO )
+ + positif( IPVLOC ) + positif( LNPRODEF1 ) + positif( LNPRODEF10 )
+ + positif( LNPRODEF2 ) + positif( LNPRODEF3 ) + positif( LNPRODEF4 )
+ + positif( LNPRODEF5 ) + positif( LNPRODEF6 ) + positif( LNPRODEF7 )
+ + positif( LNPRODEF8 ) + positif( LNPRODEF9 ) + positif( LOCDEFNPC )
+ + positif( LOCDEFNPCGAC ) + positif( LOCDEFNPCGAPAC ) + positif( LOCDEFNPCGAV )
+ + positif( LOCDEFNPPAC ) + positif( LOCDEFNPV ) + positif( LOCDEFPROC )
+ + positif( LOCDEFPROCGAC ) + positif( LOCDEFPROCGAP ) + positif( LOCDEFPROCGAV )
+ + positif( LOCDEFPROP ) + positif( LOCDEFPROV ) + positif( LOCNPC )
+ + positif( LOCNPCGAC ) + positif( LOCNPCGAPAC ) + positif( LOCNPCGAV )
+ + positif( LOCNPPAC ) + positif( LOCNPV ) + positif( LOCPROC )
+ + positif( LOCPROCGAC ) + positif( LOCPROCGAP ) + positif( LOCPROCGAV )
+ + positif( LOCPROP ) + positif( LOCPROV ) + positif( LOCRESINEUV )
+ + positif( LOYIMP ) + positif( MEUBLENP ) + positif( MIB1AC )
+ + positif( MIB1AP ) + positif( MIB1AV ) + positif( MIBDCT )
+ + positif( MIBDEC ) + positif( MIBDEP ) + positif( MIBDEV )
+ + positif( MIBEXC ) + positif( MIBEXP ) + positif( MIBEXV )
+ + positif( MIBNP1AC ) + positif( MIBNP1AP ) + positif( MIBNP1AV )
+ + positif( MIBNPDCT ) + positif( MIBNPDEC ) + positif( MIBNPDEP )
+ + positif( MIBNPDEV ) + positif( MIBNPEXC ) + positif( MIBNPEXP )
+ + positif( MIBNPEXV ) + positif( MIBNPPRESC ) + positif( MIBNPPRESP )
+ + positif( MIBNPPRESV ) + positif( MIBNPPVC ) + positif( MIBNPPVP )
+ + positif( MIBNPPVV ) + positif( MIBNPVENC ) + positif( MIBNPVENP )
+ + positif( MIBNPVENV ) + positif( MIBPRESC ) + positif( MIBPRESP )
+ + positif( MIBPRESV ) + positif( MIBPVC ) + positif( MIBPVP )
+ + positif( MIBPVV ) + positif( MIBVENC ) + positif( MIBVENP )
+ + positif( MIBVENV ) + positif( MOISAN ) + positif( NBACT )
+ + positif( NBCREAT ) + positif( NBCREAT1 ) + positif( NBCREAT2 )
+ + positif( NBCREATHANDI ) + positif( NBCREATHANDI1 ) + positif( NBCREATHANDI2 )
+ + positif( NCHENF1 ) + positif( NCHENF2 ) + positif( NCHENF3 )
+ + positif( NCHENF4 ) + positif( NRBASE ) + positif( NRETROC40 )
+ + positif( NRETROC50 ) + positif( NRINET ) + positif( NUPROP )
+ + positif( OPTPLAF15 ) + positif( PAAP ) + positif( PAAV )
+ + positif( PALI1 ) + positif( PALI2 ) + positif( PALI3 )
+ + positif( PALI4 ) + positif( PALIC ) + positif( PALIV )
+ + positif( PATNAT ) + positif( PEA ) + positif( PEBF1 )
+ + positif( PEBF2 ) + positif( PEBF3 ) + positif( PEBF4 )
+ + positif( PEBFC ) + positif( PEBFV ) + positif( PENSALC )
+ + positif( PENSALNBC ) + positif( PENSALNBP1 ) + positif( PENSALNBP2 )
+ + positif( PENSALNBP3 ) + positif( PENSALNBP4 ) + positif( PENSALNBV )
+ + positif( PENSALP1 ) + positif( PENSALP2 ) + positif( PENSALP3 )
+ + positif( PENSALP4 ) + positif( PENSALV ) + positif( PERCRE )
+ + positif( PERPC ) + positif( PERPIMPATRIE ) + positif( PERPMUTU )
+ + positif( PERPP ) + positif( PERPPLAFCC ) + positif( PERPPLAFCP )
+ + positif( PERPPLAFCV ) + positif( PERPPLAFNUC1 ) + positif( PERPPLAFNUC2 )
+ + positif( PERPPLAFNUC3 ) + positif( PERPPLAFNUP1 ) + positif( PERPPLAFNUP2 )
+ + positif( PERPPLAFNUP3 ) + positif( PERPPLAFNUV1 ) + positif( PERPPLAFNUV2 )
+ + positif( PERPPLAFNUV3 ) + positif( PERPV ) + positif( PERP_COTC )
+ + positif( PERP_COTP ) + positif( PERP_COTV ) + positif( PETIPRISE )
+ + positif( PLAF_PERPC ) + positif( PLAF_PERPP ) + positif( PLAF_PERPV )
+ + positif( PPEACC ) + positif( PPEACP ) + positif( PPEACV )
+ + positif( PPEISFPIR ) + positif(PPEREVPRO) + positif( PPENHC ) + positif( PPENHP1 )
+ + positif( PPENHP2 ) + positif( PPENHP3 ) + positif( PPENHP4 )
+ + positif( PPENHV ) + positif( PPENJC ) + positif( PPENJP )
+ + positif( PPENJV ) + positif( PPEREVPRO ) + positif( PPETPC )
+ + positif( PPETPP1 ) + positif( PPETPP2 ) + positif( PPETPP3 )
+ + positif( PPETPP4 ) + positif( PPETPV ) + positif( PPLIB )
+ + positif( PRBR1 ) + positif( PRBR2 ) + positif( PRBR3 )
+ + positif( PRBR4 ) + positif( PRBRC ) + positif( PRBRV )
+ + positif( PREHABT ) + positif( PREHABT1 ) + positif( PREHABT2 )
+ + positif( PREHABTN ) + positif( PREMAIDE ) + positif( PREREV )
+ + positif( PRESCOMP2000 ) + positif( PRESCOMPJUGE ) + positif( PRETUD )
+ + positif( PRETUDANT ) + positif( PRODOM ) + positif( PROGUY )
+ + positif( PROVIE ) + positif( PROVIENB ) + positif( PTZDEVDUR )
+ + positif( PVINCE ) + positif( PVINPE ) + positif( PVINVE )
+ + positif( PVJEUNENT ) + positif( PVREP8 ) + positif( PVSOCC )
+ + positif( PVSOCG ) + positif( PVSOCP ) + positif( PVSOCV )
+ + positif( R1649 ) + positif( PREREV ) + positif( RACCOTC ) + positif( RACCOTP )
+ + positif( RACCOTV ) + positif( RCCURE ) + positif( RCMABD )
+ + positif( RCMAV ) + positif( RCMAVFT ) + positif( RCMFR )
+ + positif( RCMHAB ) + positif( RCMHAD ) + positif( RCMIMPAT )
+ + positif( RCMLIB ) + positif( RCMLIBDIV ) + positif( RCMRDS )
+ + positif( RCMSOC ) + positif( RCMTNC ) + positif( RCSC )
+ + positif( RCSP ) + positif( RCSV ) + positif( RDCOM )
+ + positif( RDDOUP ) + positif( RDENL ) + positif( RDENLQAR )
+ + positif( RDENS ) + positif( RDENSQAR ) + positif( RDENU )
+ + positif( RDENUQAR ) + positif( RDEQPAHA ) + positif( RDFDOU )
+ + positif( RDFOREST ) + positif( RDFORESTGES ) + positif( RDFORESTRA )
+ + positif( RDFREP ) + positif( RDGARD1 ) + positif( RDGARD1QAR )
+ + positif( RDGARD2 ) + positif( RDGARD2QAR ) + positif( RDGARD3 )
+ + positif( RDGARD3QAR ) + positif( RDGARD4 ) + positif( RDGARD4QAR )
+ + positif( RDGEQ ) + positif( RDMECENAT ) + positif( RDPRESREPORT )
+ + positif( RDREP ) + positif( RDRESU ) + positif( RDSNO )
+ + positif( RDSYCJ ) + positif( RDSYPP ) + positif( RDSYVO )
+ + positif( RDTECH ) + positif( TAX1649 ) + positif( RE168 )
+ + positif( REAMOR ) + positif( REAMORNB ) + positif( REDMEUBLE )
+ + positif( REGCI ) + positif( REGPRIV ) + positif( REMPLAC )
+ + positif( REMPLANBC ) + positif( REMPLANBP1 ) + positif( REMPLANBP2 )
+ + positif( REMPLANBP3 ) + positif( REMPLANBP4 ) + positif( REMPLANBV )
+ + positif( REMPLAP1 ) + positif( REMPLAP2 ) + positif( REMPLAP3 )
+ + positif( REMPLAP4 ) + positif( REMPLAV ) + positif( RENTAX )
+ + positif( RENTAX5 ) + positif( RENTAX6 ) + positif( RENTAX7 )
+ + positif( RENTAXNB ) + positif( RENTAXNB5 ) + positif( RENTAXNB6 )
+ + positif( RENTAXNB7 ) + positif( REPDON03 ) + positif( REPDON04 )
+ + positif( REPDON05 ) + positif( REPDON06 ) + positif( REPDON07 )
+ + positif( REPFOR ) + positif( REPGROREP ) + positif( REPINVDOMPRO1 )
+ + positif( REPINVDOMPRO2 ) + positif( REPINVDOMPRO3 ) + positif( REPINVDOMPRO4 )
+ + positif( REPINVLOCINV ) + positif( REPINVLOCREA ) + positif( REPMEUBLE )
+ + positif( REPSINFOR ) + positif( REPSNO1 ) + positif( REPSNO2 )
+ + positif( REPSNO3 ) + positif( REPSOF ) + positif( RESIVIEU )
+ + positif( RESTIMOPPAU ) + positif( RESTIMOSAUV ) + positif( RESTUC )
+ + positif( RESTUCNB ) + positif( REVACT ) + positif( REVACTNB )
+ + positif( REVFONC ) + positif( REVMAR1 ) + positif( REVMAR2 )
+ + positif( REVMAR3 ) + positif( REVPEA ) + positif( REVPEANB )
+ + positif( REVSUIS ) + positif( RFDANT ) + positif( RFDHIS )
+ + positif( RFDORD ) + positif( RFMIC ) + positif( RFORDI )
+ + positif( RFROBOR ) + positif( RINVLOCINV ) + positif( RINVLOCREA )
+ + positif( RIRENOV ) + positif( RISKTEC ) + positif( RMOND )
+ + positif( RNBRLOG ) + positif( RSAFOYER ) + positif( RSAPAC1 )
+ + positif( RSAPAC2 ) + positif( RSOCREPRISE ) + positif( RVAIDE )
+ + positif( RVB1 ) + positif( RVB2 ) + positif( RVB3 )
+ + positif( RVB4 ) + positif( RVCURE ) + positif( SALASSIMC )
+ + positif( SALASSIMV ) + positif( SINISFORET ) + positif( SOFIPECHE )
+ + positif( SUBSTITRENTE ) + positif( TSASSUC ) + positif( TSASSUV )
+ + positif( TSELUPPEC ) + positif( TSELUPPEV ) + positif( TSHALLO1 )
+ + positif( TSHALLO2 ) + positif( TSHALLO3 ) + positif( TSHALLO4 )
+ + positif( TSHALLOC ) + positif( TSHALLOV ) + positif( XETRANC )
+ + positif( XETRANV ) + positif( XHONOAAC ) + positif( XHONOAAP )
+ + positif( XHONOAAV ) + positif( XHONOC ) + positif( XHONOP )
+ + positif( XHONOV ) + positif( XSPENPC ) + positif( XSPENPP )
+ + positif( XSPENPV ) + positif( ZONEANTEK ) );
+regle 10009931:
+application : iliad , oceans, pro, batch;  
+
+SOMMEA899 =  present( BICEXV ) + present( BICNOV ) + present( BI1AV ) + present( BICDNV )
+           + present( BICEXC ) + present( BICNOC ) + present( BI1AC ) + present( BICDNC )
+	   + present( BICEXP ) + present( BICNOP ) + present( BI1AP ) + present( BICDNP )
+	   + present( BIHEXV ) + present( BIHNOV ) + present( BIHDNV )
+	   + present( BIHEXC ) + present( BIHNOC ) + present( BIHDNC )
+	   + present( BIHEXP ) + present( BIHNOP ) + present( BIHDNP )
+	    ;
+
+SOMMEA860 =  present( BICEXV ) + present( BICNOV ) + present( BI1AV ) + present( BICDNV )
+           + present( BICEXC ) + present( BICNOC ) + present( BI1AC ) + present( BICDNC )
+	   + present( BICEXP ) + present( BICNOP ) + present( BI1AP ) + present( BICDNP )
+	   + present( BIHEXV ) + present( BIHNOV ) + present( BIHDNV )
+	   +
\ No newline at end of file
diff --git a/sources2010m_7_1/chap-inr.m b/sources2010m_7_1/chap-inr.m
new file mode 100644
index 0000000000000000000000000000000000000000..5eb95077a87ae63c9740ad87572a48a85d9c53c5
--- /dev/null
+++ b/sources2010m_7_1/chap-inr.m
@@ -0,0 +1,565 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #     CHAPITRE 2. CALCUL DU NET A PAYER
+ #
+ #
+ #
+regle corrective 10801:
+application : oceans, iliad;
+
+TXINR = max(0,(NBMOIS * TXMOISRETARD2) + max(0,(NBMOIS2 * TXMOISRETARD2)));
+
+TXINRRED = max(0,(NBMOIS * TXMOISRETARD2*TXMOISRED*2) + max(0,(NBMOIS2 * TXMOISRETARD2 * TXMOISRED * 2)));
+
+regle corrective 1081:
+application : oceans, iliad ;
+IND_PASSAGE = positif(FLAG_DEFAUT + FLAG_RETARD) + IND_PASSAGE_A;
+IND_PASSR9901 = 1 + IND_PASSR9901_A;
+IRNIN_PA = IRNIN_INR * null(1 - IND_PASSAGE) + IRNIN_PA_A;
+TXINR_PA = TXINR * null(1 - IND_PASSAGE) + TXINR_PA_A;
+INRIR_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * ( 
+             arr(IRNIN_INR * TXINR / 100) * positif(IRNIN_INR) * null(1 - IND_PASSAGE) 
+             + INRIR_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,IRNIN_PA - ACODELAISINR) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                                );
+INR_IR_TARDIF = ((arr(IRNIN_INR * TXINR/100) * positif(IRNIN_INR) * null(1-IND_PASSAGE)+ INR_IR_TARDIF_A*(1-positif(ACODELAISINR)))
+		  + arr(max(0,IRNIN_PA - ACODELAISINR) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)) * FLAG_RETARD * (1-IND_RJLJ);
+CSG_PA = CSG * null(1 - IND_PASSAGE) + CSG_PA_A;
+INRCSG_RETDEF = (1 - IND_RJLJ) * (
+                arr((CSG-CSGIM) * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCSG_RETDEF_A;
+INR_CSG_TARDIF = (arr((CSG-CSGIM) * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CSG_TARDIF_A) * (1-IND_RJLJ);
+PRS_PA = PRS * null(1 - IND_PASSAGE) + PRS_PA_A;
+INRPRS_RETDEF = (1 - IND_RJLJ) * (
+             arr((PRS-PRSPROV) * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRPRS_RETDEF_A;
+INR_PS_TARDIF = (arr((PRS-PRSPROV) * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_PS_TARDIF_A) * (1-IND_RJLJ);
+CRDS_PA = RDSN * null(1 - IND_PASSAGE) + CRDS_PA_A;
+INRCRDS_RETDEF = (1 - IND_RJLJ) * (
+             arr((RDSN-CRDSIM) * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCRDS_RETDEF_A;
+INR_CRDS_TARDIF = (arr((RDSN-CRDSIM) * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CRDS_TARDIF_A) * (1-IND_RJLJ);
+TAXA_PA = TAXABASE * null(1 - IND_PASSAGE) + TAXA_PA_A;
+INRTAXA_RETDEF = (1 - IND_RJLJ) * (
+               arr(TAXABASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRTAXA_RETDEF_A;
+INR_TAXAGA_TARDIF = (arr(TAXABASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_TAXA_TARDIF_A) * (1-IND_RJLJ);
+CSAL_PA = CSALBASE * null(1 - IND_PASSAGE) + CSAL_PA_A;
+INRCSAL_RETDEF = (1 - IND_RJLJ) * (
+               arr(CSALBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCSAL_RETDEF_A;
+INR_CSAL_TARDIF = (arr(CSALBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CSAL_TARDIF_A) * (1-IND_RJLJ);
+CDIS_PA = CDISBASE * null(1 - IND_PASSAGE) + CDIS_PA_A;
+INRCDIS_RETDEF = (1 - IND_RJLJ) * (
+               arr(CDISBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCDIS_RETDEF_A;
+INR_CDIS_TARDIF = (arr(CDISBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CDIS_TARDIF_A) * (1-IND_RJLJ);
+regle corrective 10811:
+application : oceans, iliad ;
+IRNIN_TLDEC_1=IRNIN_INR;
+CSG_TLDEC_1=CSG;
+PRS_TLDEC_1=PRS;
+RDS_TLDEC_1=RDSN;
+TAXA_TLDEC_1=TAXASSUR;
+CSAL_TLDEC_1=CSAL;
+CDIS_TLDEC_1=CDIS;
+INRIR_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			 null(2-FLAG_INR) * (positif(IRNIN_INR - IRNIN_R99R)
+                       * (
+            (positif(IRNIN_INR - IRNIN_REF+0)
+            * arr((IRNIN_INR - IRNIN_REF) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR - IRNIN_REF+0)
+            * positif(IRNIN_INR-IRNIN_RECT)
+            * arr((IRNIN_INR - IRNIN_REF) * (TXINR / 100))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+            + INRIR_RETDEF * null(IND_PASSAGE - 1)
+                            )
+            + null(3 - FLAG_INR) * (positif(IRNIN_INR - IRNIN_REF)
+                       * (
+            (arr((min(IRNIN_INR,IRNIN_TLDEC_1) - IRNIN_REF) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR-IRNIN_RECT)
+            * arr((min(IRNIN_INR,IRNIN_TLDEC_1) - IRNIN_REF) * (TXINR / 100))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+            + INRIR_RETDEF * null(IND_PASSAGE - 1)
+                         )   )
+             ;
+INRCSG_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		      null(2-FLAG_INR) * (positif(CSG-CSG_R99R) * (
+            (positif(CSG * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - CSG_REF+0) 
+            * arr((CSG - CSG_REF-CSGIM) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)  - CSG_REF+0)
+            * arr((CSG - CSG_REF-CSGIM) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                              )
+            + INRCSG_RETDEF * null(IND_PASSAGE - 1)
+                            )
+            + null(3 - FLAG_INR) * (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - CSG_REF)
+                       * (
+            (arr((min(CSG* positif(CSG+PRS+RDSN-SEUIL_REC_CP2),CSG_TLDEC_1) - CSG_REF) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)-CSG_RECT)
+            * arr((min(CSG* positif(CSG+PRS+RDSN-SEUIL_REC_CP2),CSG_TLDEC_1) - CSG_REF) * (TXINR / 100))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+            + INRCSG_RETDEF * null(IND_PASSAGE - 1)
+                         )   )
+             ;
+INRPRS_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		      null(2-FLAG_INR) * (positif(PRS-PRS_R99R) * (
+            (positif(PRS * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - PRS_REF+0)
+            * arr((PRS - PRS_REF-PRSPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)  - PRS_REF+0) * null(2 - FLAG_INR)
+            * arr((PRS - PRS_REF-PRSPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                              )
+            + INRPRS_RETDEF * null(IND_PASSAGE - 1)
+                            )
+            + null(3 - FLAG_INR) * (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - PRS_REF)
+                       * (
+            (arr((min(PRS* positif(CSG+PRS+RDSN-SEUIL_REC_CP2),PRS_TLDEC_1) - PRS_REF) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)-PS_RECT)
+            * arr((min(PRS* positif(CSG+PRS+RDSN-SEUIL_REC_CP2),PRS_TLDEC_1) - PRS_REF) * (TXINR / 100))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+            + INRPRS_RETDEF * null(IND_PASSAGE - 1)
+                         )   )
+             ;
+
+INRCRDS_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		      null(2-FLAG_INR) * (positif(RDSN-RDS_R99R) * (
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - RDS_REF+0)
+            * arr((RDSN - RDS_REF-CRDSIM) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RDSN* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)  - RDS_REF+0)
+            * arr((RDSN - RDS_REF-CRDSIM) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                              )
+            + INRCRDS_RETDEF * null(IND_PASSAGE - 1)
+                            )
+            + null(3 - FLAG_INR) * (positif(RDSN* positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - RDS_REF)
+                       * (
+            (arr((min(RDSN* positif(CSG+PRS+RDSN-SEUIL_REC_CP2),RDS_TLDEC_1) - RDS_REF) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RDSN* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)-CRDS_RECT)
+            * arr((min(RDSN* positif(CSG+PRS+RDSN-SEUIL_REC_CP2),RDS_TLDEC_1) - RDS_REF) * (TXINR / 100))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+            + INRCRDS_RETDEF * null(IND_PASSAGE - 1)
+                         )   )
+             ;
+INRTAXA_NTL = (1 - IND_RJLJ)  * (1-FLAG_NINR)* 
+	           ( 
+		   null(2-FLAG_INR) * (positif(TAXABASE - TAXA_R99R) 
+		 * (
+             (positif(TAXABASE - TAXA_REF+0) * null(2 - FLAG_INR)
+            * arr((TAXABASE - TAXA_REF) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(TAXABASE - TAXA_REF+0) * null(2 - FLAG_INR)
+            * arr((TAXABASE - TAXA_REF) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRTAXA_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	    +        null(3-FLAG_INR) * (positif(TAXABASE - TAXA_R99R) 
+		 * (
+             (positif(TAXABASE - TAXA_REF+0) * null(2 - FLAG_INR)
+            * arr((min(TAXABASE,TAXA_TLDEC) - TAXA_REF) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(TAXABASE - TAXA_REF+0) * null(2 - FLAG_INR)
+            * arr((min(TAXABASE,TAXA_TLDEC) - TAXA_REF) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+            + INRTAXA_RETDEF * null(IND_PASSAGE - 1)
+                            )
+			    )
+             ;
+INRCSAL_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		      null(2-FLAG_INR) * (positif(CSAL-CSAL_R99R) * (
+            (positif(CSAL - CSAL_REF-CSALPROV+0)
+            * arr((CSAL - CSAL_REF-CSALPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSAL - CSAL_REF-CSALPROV+0)
+            * arr((CSAL - CSAL_REF-CSALPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                              )
+            + INRCSAL_RETDEF * null(IND_PASSAGE - 1)
+                            )
+            + null(3 - FLAG_INR) * (positif(CSAL - CSAL_REF)
+                       * (
+            (arr((min(CSAL,CSAL_TLDEC_1) - CSAL_REF) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSAL-CSAL_RECT)
+            * arr((min(CSAL,CSAL_TLDEC_1) - CSAL_REF) * (TXINR / 100))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+            + INRCSAL_RETDEF * null(IND_PASSAGE - 1)
+                         )   )
+             ;
+INRCDIS_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		      null(2-FLAG_INR) * (positif(CDIS-CDIS_R99R) * (
+            (positif(CDIS - CDIS_REF+0)
+            * arr((CDIS - CDIS_REF) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CDIS - CDIS_REF-CSALPROV+0)
+            * arr((CDIS - CDIS_REF) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                              )
+            + INRCDIS_RETDEF * null(IND_PASSAGE - 1)
+                            )
+            + null(3 - FLAG_INR) * (positif(CDIS - CDIS_REF)
+                       * (
+            (arr((min(CDIS,CDIS_TLDEC_1) - CDIS_REF) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CDIS-CDIS_RECT)
+            * arr((min(CDIS,CDIS_TLDEC_1) - CDIS_REF) * (TXINR / 100))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+            + INRCDIS_RETDEF * null(IND_PASSAGE - 1)
+                         )   )
+             ;
+regle corrective 108111:
+application : oceans, iliad ;
+INRIR_NTL_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			 null(2-FLAG_INR) * positif(IRNIN_INR - IRNIN_R99R)
+                       * (
+            (positif(IRNIN_INR - max(IRNIN_REF+0,IRNIN_NTLDEC)) 
+            * arr((IRNIN_INR - max(IRNIN_REF,IRNIN_NTLDEC)) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR - max(IRNIN_NTLDEC,IRNIN_REF+0))
+            * positif(IRNIN_INR-max(IRNIN_NTLDEC,IRNIN_RECT))
+            * arr((IRNIN_INR - max(IRNIN_NTLDEC,IRNIN_REF)) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+                   +  null(3-FLAG_INR) * positif(IRNIN_INR - IRNIN_REF)
+                       * (
+            (positif(IRNIN_INR - max(IRNIN_REF+0,IRNIN_NTLDEC)) 
+            * arr((min(IRNIN_INR,IRNIN_TLDEC_1) - max(IRNIN_REF,IRNIN_NTLDEC)) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR - max(IRNIN_NTLDEC,IRNIN_REF+0))
+            * positif(IRNIN_INR-max(IRNIN_NTLDEC,IRNIN_RECT))
+            * arr((min(IRNIN_INR,IRNIN_TLDEC_1) - max(IRNIN_NTLDEC,IRNIN_REF)) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+                                                )
+                                               ;
+INRCSG_NTL_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			 null(2 - FLAG_INR) * positif(CSG-CSG_R99R) 
+			* (
+            (positif(CSG * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(CSG_NTLDEC,CSG_REF+0))
+            * arr((CSG - max(CSG_NTLDEC,CSG_REF-CSGIM)) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)  - max(CSG_NTLDEC,CSG_REF+0))
+            * arr((CSG - max(CSG_NTLDEC,CSG_REF)-CSGIM) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                              )
+                      + null(3 - FLAG_INR) * positif(CSG-CSG_REF) 
+			* (
+            (positif(CSG * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(CSG_NTLDEC,CSG_REF+0))
+            * arr((min(CSG,CSG_TLDEC_1) - max(CSG_NTLDEC,CSG_REF-CSGIM)) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)  - max(CSG_NTLDEC,CSG_REF+0))
+            * arr((min(CSG,CSG_TLDEC_1) - max(CSG_NTLDEC,CSG_REF)-CSGIM) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                              )
+                            )
+             ;
+INRPRS_NTL_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			   null(2 - FLAG_INR) * positif(PRS-PRS_R99R) 
+			   * (
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)  - max(PRS_NTLDEC,PRS_REF+0)) 
+            * arr((PRS  - max(PRS_NTLDEC,PRS_REF-PRSPROV)) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PRS * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(PRS_NTLDEC,PRS_REF+0))
+            * arr((PRS - max(PRS_NTLDEC,PRS_REF)-PRSPROV) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                        )
+                        + null(3 - FLAG_INR) * positif(PRS-PRS_REF) 
+			   * (
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)  - max(PRS_NTLDEC,PRS_REF+0)) 
+            * arr((min(PRS,PRS_TLDEC_1)  - max(PRS_NTLDEC,PRS_REF-PRSPROV)) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PRS * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(PRS_NTLDEC,PRS_REF+0))
+            * arr((min(PRS,PRS_TLDEC_1) - max(PRS_NTLDEC,PRS_REF)-PRSPROV) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                        )
+                            )
+             ;
+INRCRDS_NTL_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RDSN - RDS_R99R) 
+		      * (
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(CRDS_NTLDEC,RDS_REF+0))
+            * arr((RDSN - max(CRDS_NTLDEC,RDS_REF)-CRDSIM) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(CRDS_NTLDEC,RDS_REF+0))
+            * arr((RDSN -max(CRDS_NTLDEC,RDS_REF)-CRDSIM) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                         )
+                    +  null(3 - FLAG_INR) * positif(RDSN - RDS_REF) 
+		      * (
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(CRDS_NTLDEC,RDS_REF+0))
+            * arr((min(RDSN,RDS_TLDEC_1) - max(CRDS_NTLDEC,RDS_REF)-CRDSIM) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(CRDS_NTLDEC,RDS_REF+0))
+            * arr((min(RDSN,RDS_TLDEC_1) -max(CRDS_NTLDEC,RDS_REF)-CRDSIM) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                         )
+                            )
+             ;
+INRTAXA_NTL_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		     null(2 - FLAG_INR) * positif(TAXABASE - TAXA_R99R) 
+		     * (
+             (positif(TAXABASE - max(TAXA_NTLDEC,TAXA_REF+0))
+            * arr((TAXABASE - max(TAXA_NTLDEC,TAXA_REF)) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(TAXABASE - max(TAXA_NTLDEC,TAXA_REF+0))
+            * arr((TAXABASE - max(TAXA_NTLDEC,TAXA_REF)) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		     + null(3 - FLAG_INR) * positif(TAXABASE - TAXA_REF) 
+		     * (
+             (positif(TAXABASE - max(TAXA_NTLDEC,TAXA_REF+0))
+            * arr((min(TAXABASE,TAXA_TLDEC_1) - max(TAXA_NTLDEC,TAXA_REF)) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(TAXABASE - max(TAXA_NTLDEC,TAXA_REF+0))
+            * arr((min(TAXABASE,TAXA_TLDEC_1) - max(TAXA_NTLDEC,TAXA_REF)) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+                            )
+	     ; 
+INRCSAL_NTL_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(CSALBASE - CSAL_R99R) 
+		       * (
+             (positif(CSALBASE - max(CSAL_NTLDEC,CSAL_REF+0))
+            * arr((CSALBASE - max(CSAL_NTLDEC,CSAL_REF)-CSALPROV) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSALBASE - max(CSAL_NTLDEC,CSAL_REF+0)) 
+            * arr((CSALBASE - max(CSAL_NTLDEC,CSAL_REF)-CSALPROV) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(CSALBASE - CSAL_REF) 
+		       * (
+             (positif(CSALBASE - max(CSAL_NTLDEC,CSAL_REF+0)-CSALPROV)
+            * arr((min(CSALBASE,CSAL_TLDEC_1) - max(CSAL_NTLDEC,CSAL_REF)-CSALPROV) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSALBASE - max(CSAL_NTLDEC,CSAL_REF-CSALPROV+0))
+            * arr((min(CSALBASE,CSAL_TLDEC_1) - max(CSAL_NTLDEC,CSAL_REF)-CSALPROV) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+                            )
+	     ; 
+INRCDIS_NTL_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(CDISBASE - CDIS_R99R) 
+		       * (
+             (positif(CDISBASE - max(CDIS_NTLDEC,CDIS_REF+0))
+            * arr((CDISBASE - max(CDIS_NTLDEC,CDIS_REF)) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CDISBASE - max(CDIS_NTLDEC,CDIS_REF+0)) 
+            * arr((CDISBASE - max(CDIS_NTLDEC,CDIS_REF)) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(CDISBASE - CDIS_REF) 
+		       * (
+             (positif(CDISBASE - max(CDIS_NTLDEC,CDIS_REF+0))
+            * arr((min(CDISBASE,CDIS_TLDEC_1) - max(CDIS_NTLDEC,CDIS_REF)) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CDISBASE - max(CDIS_NTLDEC,CDIS_REF+0))
+            * arr((min(CDISBASE,CDIS_TLDEC_1) - max(CDIS_NTLDEC,CDIS_REF)) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+                            )
+	     ; 
+regle corrective 1082:
+application : oceans, iliad ;
+INRIR_TLACQ = positif(IRNIN_INR - max(max(IRNIN_REF,IRNIN_RECT),IRNIN_NTLDEC_1+0)) * null(3-FLAG_INR)
+            * arr((IRNIN_INR - max(max(IRNIN_REF,IRNIN_RECT),IRNIN_NTLDEC_1)) * (TXINR / 100));
+INRIR_TLA = (1 - IND_RJLJ) * (1-FLAG_NINR) * INRIR_TLACQ;
+INRCSG_TLACQ = positif(CSG - max(CSG_REF,CSG_NTLDEC_1+0)) * null(3 - FLAG_INR)
+            * arr((CSG - max(CSG_REF,CSG_NTLDEC_1)-CSGIM*(1-positif(CSG_A))) * (TXINR / 100));
+INRCSG_TLA = (1 - IND_RJLJ) * (1-FLAG_NINR) * INRCSG_TLACQ;
+INRPRS_TLACQ = positif(PRS - max(PRS_REF,PRS_NTLDEC_1+0)) * null(3 - FLAG_INR)
+            * arr((PRS - max(PRS_REF,PRS_NTLDEC_1)-PRSPROV*(1-positif(PRS_A))) * (TXINR / 100))  ;
+INRPRS_TLA = (1 - IND_RJLJ) * (1-FLAG_NINR) * INRPRS_TLACQ;
+INRCRDS_TLACQ = positif(RDSN - max(RDS_REF,CRDS_NTLDEC_1+0)) * null(3 - FLAG_INR)
+            * arr((RDSN - max(RDS_REF,CRDS_NTLDEC_1)-CRDSIM*(1-positif(RDS_A))) * (TXINR / 100))  ;
+INRCRDS_TLA = (1 - IND_RJLJ) * (1-FLAG_NINR) * INRCRDS_TLACQ;
+INRTAXA_TLACQ = positif(TAXABASE - max(TAXA_REF,TAXA_NTLDEC_1+0))*null(3- FLAG_INR)
+            * arr((TAXABASE - max(TAXA_REF,TAXA_NTLDEC_1)) * (TXINR / 100))  ;
+INRTAXA_TLA = (1 - IND_RJLJ) * (1-FLAG_NINR) * INRTAXA_TLACQ;
+INRCSAL_TLACQ = positif(CSALBASE - max(CSAL_REF,CSAL_NTLDEC_1+0))*null(3- FLAG_INR)
+            * arr((CSALBASE - max(CSAL_REF,CSAL_NTLDEC_1)-CSALPROV*(1-positif(CSAL_A))) * (TXINR / 100))  ;
+INRCSAL_TLA = (1 - IND_RJLJ) * (1-FLAG_NINR) * INRCSAL_TLACQ;
+INRCDIS_TLACQ = positif(CDISBASE - max(CDIS_REF,CDIS_NTLDEC_1+0))*null(3- FLAG_INR)
+            * arr((CDISBASE - max(CDIS_REF,CDIS_NTLDEC_1)) * (TXINR / 100))  ;
+INRCDIS_TLA = (1 - IND_RJLJ) * (1-FLAG_NINR) * INRCDIS_TLACQ;
+regle corrective 10821:
+application : oceans, iliad ;
+INRIR_TLACQ_1 = positif(IRNIN_INR - max(max(IRNIN_REF,IRNIN_RECT),IRNIN_TLDEC+0)) * null(3-FLAG_INR)
+            * arr((IRNIN_INR - max(max(IRNIN_REF,IRNIN_RECT),IRNIN_TLDEC)) * (TXINRRED / 200)) * (1-positif(FLAG_C22+FLAG_C02))
+	    +
+               positif(IRNIN_INR - IRNIN_TLDEC) * null(3-FLAG_INR)
+            * arr((IRNIN_INR - IRNIN_TLDEC) * (TXINRRED / 200)) * positif(FLAG_C22+FLAG_C02);
+INRIR_TLA_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * INRIR_TLACQ_1;
+INRCSG_TLACQ_1 = positif(CSG - max(CSG_REF,CSG_TLDEC+0)) * null(3 - FLAG_INR)
+            * arr((CSG - max(CSG_REF,CSG_TLDEC)-CSGIM*(1-positif(CSG_A))) * (TXINRRED / 200)) * (1 - positif(FLAG_C22+FLAG_C02))
+	    +
+               positif(CSG - CSG_TLDEC) * null(3-FLAG_INR)
+            * arr((CSG - CSG_TLDEC) * (TXINRRED / 200)) * positif(FLAG_C22+FLAG_C02);
+INRCSG_TLA_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * INRCSG_TLACQ_1;
+INRPRS_TLACQ_1 = positif(PRS - max(PRS_REF,PRS_TLDEC+0)) * null(3 - FLAG_INR)
+            * arr((PRS - max(PRS_REF,PRS_TLDEC)-PRSPROV*(1-positif(PRS_A))) * (TXINRRED / 200))*(1-positif(FLAG_C22+FLAG_C02))
+	    +
+               positif(PRS - PRS_TLDEC) * null(3-FLAG_INR)
+            * arr((PRS - PRS_TLDEC) * (TXINRRED / 200)) * positif(FLAG_C22+FLAG_C02);
+INRPRS_TLA_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * INRPRS_TLACQ_1;
+INRCRDS_TLACQ_1 = positif(RDSN - max(RDS_REF,RDS_TLDEC+0)) * null(3 - FLAG_INR)
+            * arr((RDSN - max(RDS_REF,RDS_TLDEC)-CRDSIM*(1-positif(RDS_A))) * (TXINRRED / 200))* (1-positif(FLAG_C22+FLAG_C02))
+	    +
+               positif(RDSN - RDS_TLDEC) * null(3-FLAG_INR)
+            * arr((RDSN - RDS_TLDEC) * (TXINRRED / 200)) * positif(FLAG_C22+FLAG_C02);
+INRCRDS_TLA_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * INRCRDS_TLACQ_1;
+INRTAXA_TLACQ_1 = positif(TAXABASE - max(TAXA_REF*null(TAXABASE-TAXABASE_A),TAXA_TLDEC+0))*null(3- FLAG_INR)
+            * arr((TAXABASE - max(TAXA_REF*null(TAXABASE-TAXABASE_A),TAXA_TLDEC)) * (TXINRRED / 200))
+	    +
+               positif(TAXABASE - TAXA_TLDEC) * null(3-FLAG_INR)
+            * arr((TAXABASE - TAXA_TLDEC) * (TXINRRED / 200)) * positif(FLAG_C22+FLAG_C02);
+INRTAXA_TLA_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * INRTAXA_TLACQ_1;
+INRCSAL_TLACQ_1 = positif(CSALBASE - max(CSAL_REF*null(CSALBASE-CSALBASE_A),CSAL_TLDEC+0))*null(3- FLAG_INR)
+            * arr((CSALBASE - max(CSAL_REF*null(CSALBASE-CSALBASE_A),CSAL_TLDEC)-CSALPROV*(1-positif(CSAL_A))) * (TXINRRED / 200))
+	    +
+               positif(CSALBASE - CSAL_TLDEC) * null(3-FLAG_INR)
+            * arr((CSALBASE - CSAL_TLDEC) * (TXINRRED / 200)) * positif(FLAG_C22+FLAG_C02);
+INRCSAL_TLA_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * INRCSAL_TLACQ_1;
+INRCDIS_TLACQ_1 = positif(CDISBASE - max(CDIS_REF*null(CDISBASE-CDISBASE_A),CDIS_TLDEC+0))*null(3- FLAG_INR)
+            * arr((CDISBASE - max(CDIS_REF*null(CDISBASE-CDISBASE_A),CDIS_TLDEC)) * (TXINRRED / 200))
+	    +
+               positif(CDISBASE - CDIS_TLDEC) * null(3-FLAG_INR)
+            * arr((CDISBASE - CDIS_TLDEC) * (TXINRRED / 200)) * positif(FLAG_C22+FLAG_C02);
+INRCDIS_TLA_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * INRCDIS_TLACQ_1;
+regle corrective 1083:
+application : oceans, iliad ;
+INRIR_TLADEC_1 = INRIR_TLACQ_1;
+INRIR_TL_1_AD=INRIR_TL_1_A;
+INRCSG_TLADEC_1 = INRCSG_TLACQ_1;
+INRCSG_TL_1_AD = INRCSG_TL_1_A;
+INRPRS_TLADEC_1 = INRPRS_TLACQ_1;
+INRPRS_TL_1_AD = INRPRS_TL_1_A;
+INRCRDS_TLADEC_1 = INRCRDS_TLACQ_1;
+INRCRDS_TL_1_AD = INRCRDS_TL_1_A;
+INRTAXA_TLADEC_1 = INRTAXA_TLACQ_1;
+INRTAXA_TL_1_AD = INRTAXA_TL_1_A;
+INRCSAL_TLADEC_1 = INRCSAL_TLACQ_1;
+INRCSAL_TL_1_AD = INRCSAL_TL_1_A;
+INRCDIS_TLADEC_1 = INRCDIS_TLACQ_1;
+INRCDIS_TL_1_AD = INRCDIS_TL_1_A;
+INRIR_TLDEC_1 = INRIR_TLA_1+INRIR_RETDEF*null(INRIR_RETDEF_A);
+INRCSG_TLDEC_1 = INRCSG_TLA_1 + INRCSG_RETDEF * null(INRCSG_RETDEF_A);
+INRPRS_TLDEC_1 = INRPRS_TLA_1 + INRPRS_RETDEF * null(INRPRS_RETDEF_A);
+INRCRDS_TLDEC_1 = INRCRDS_TLA_1 + INRCRDS_RETDEF * null(INRCRDS_RETDEF_A);
+INRTAXA_TLDEC_1 = INRTAXA_TLA_1 + INRTAXA_RETDEF * null(INRTAXA_RETDEF_A);
+INRCSAL_TLDEC_1 = INRCSAL_TLA_1 + INRCSAL_RETDEF * null(INRCSAL_RETDEF_A);
+INRCDIS_TLDEC_1 = INRCDIS_TLA_1 + INRCDIS_RETDEF * null(INRCDIS_RETDEF_A);
+INRIR_NTLDECD = INRIR_NTLDEC * positif_ou_nul(IRNIN_TLDEC_1 - IRNIN_NTLDEC) + INRIR_NTL *positif(IRNIN_NTLDEC-IRNIN_TLDEC_1);
+INRCSG_NTLDECD = INRCSG_NTLDEC * positif_ou_nul(CSG_TLDEC_1 - CSG_NTLDEC) + INRCSG_NTL *positif(CSG_NTLDEC-CSG_TLDEC_1);
+INRCRDS_NTLDECD = INRCRDS_NTLDEC * positif_ou_nul(RDS_TLDEC_1 - CRDS_NTLDEC) + INRCRDS_NTL *positif(CRDS_NTLDEC-RDS_TLDEC_1);
+INRPRS_NTLDECD = INRPRS_NTLDEC * positif_ou_nul(PRS_TLDEC_1 - PRS_NTLDEC) + INRPRS_NTL *positif(PRS_NTLDEC-PRS_TLDEC_1);
+INRCSAL_NTLDECD = INRCSAL_NTLDEC * positif_ou_nul(CSAL_TLDEC_1 - CSAL_NTLDEC) + INRCSAL_NTL *positif(CSAL_NTLDEC-CSAL_TLDEC_1);
+INRCDIS_NTLDECD = INRCDIS_NTLDEC * positif_ou_nul(CDIS_TLDEC_1 - CDIS_NTLDEC) + INRCDIS_NTL *positif(CDIS_NTLDEC-CDIS_TLDEC_1);
+INRTAXA_NTLDECD = INRTAXA_NTLDEC * positif_ou_nul(TAXA_TLDEC_1 - TAXA_NTLDEC) + INRTAXA_NTL *positif(TAXA_NTLDEC-TAXA_TLDEC_1);
+INRIR_NTLDECD_1 = INRIR_NTLDEC_1 * positif_ou_nul(IRNIN_TLDEC_1 - IRNIN_NTLDEC_1) + INRIR_NTL_1 *positif(IRNIN_NTLDEC_1-IRNIN_TLDEC_1);
+INRCSG_NTLDECD_1 = INRCSG_NTLDEC_1 * positif_ou_nul(CSG_TLDEC_1 - CSG_NTLDEC_1) + INRCSG_NTL_1 *positif(CSG_NTLDEC_1-CSG_TLDEC_1);
+INRCRDS_NTLDECD_1 = INRCRDS_NTLDEC_1 * positif_ou_nul(RDS_TLDEC_1 - CRDS_NTLDEC_1) + INRCRDS_NTL_1 *positif(CRDS_NTLDEC_1-RDS_TLDEC_1);
+INRPRS_NTLDECD_1 = INRPRS_NTLDEC_1 * positif_ou_nul(PRS_TLDEC_1 - PRS_NTLDEC_1) + INRPRS_NTL_1 *positif(PRS_NTLDEC_1-PRS_TLDEC_1);
+INRCSAL_NTLDECD_1 = INRCSAL_NTLDEC_1 * positif_ou_nul(CSAL_TLDEC_1 - CSAL_NTLDEC_1) + INRCSAL_NTL_1 *positif(CSAL_NTLDEC_1-CSAL_TLDEC_1);
+INRCDIS_NTLDECD_1 = INRCDIS_NTLDEC_1 * positif_ou_nul(CDIS_TLDEC_1 - CDIS_NTLDEC_1) + INRCDIS_NTL_1 *positif(CDIS_NTLDEC_1-CDIS_TLDEC_1);
+INRTAXA_NTLDECD_1 = INRTAXA_NTLDEC_1 * positif_ou_nul(TAXA_TLDEC_1 - TAXA_NTLDEC_1) + INRTAXA_NTL_1 *positif(TAXA_NTLDEC_1-TAXA_TLDEC_1);
+INRIR_TLDECD = INRIR_TLDEC * positif_ou_nul(IRNIN_TLDEC_1 - IRNIN_TLDEC) + INRIR_TLA *positif(IRNIN_TLDEC-IRNIN_TLDEC_1);
+INRCSG_TLDECD = INRCSG_TLDEC * positif_ou_nul(CSG_TLDEC_1 - CSG_TLDEC) + INRCSG_TLA *positif(CSG_TLDEC-CSG_TLDEC_1);
+INRCRDS_TLDECD = INRCRDS_TLDEC * positif_ou_nul(RDS_TLDEC_1 - RDS_TLDEC) + INRCRDS_TLA *positif(RDS_TLDEC-RDS_TLDEC_1);
+INRPRS_TLDECD = INRPRS_TLDEC * positif_ou_nul(PRS_TLDEC_1 - PRS_TLDEC) + INRPRS_TLA *positif(PRS_TLDEC-PRS_TLDEC_1);
+INRCSAL_TLDECD = INRCSAL_TLDEC * positif_ou_nul(CSAL_TLDEC_1 - CSAL_TLDEC) + INRCSAL_TLA *positif(CSAL_TLDEC-CSAL_TLDEC_1);
+INRCDIS_TLDECD = INRCDIS_TLDEC * positif_ou_nul(CDIS_TLDEC_1 - CDIS_TLDEC) + INRCDIS_TLA *positif(CDIS_TLDEC-CDIS_TLDEC_1);
+INRTAXA_TLDECD = INRTAXA_TLDEC * positif_ou_nul(TAXA_TLDEC_1 - TAXA_TLDEC) + INRTAXA_TLA *positif(TAXA_TLDEC-TAXA_TLDEC_1);
+
+INRIR_R99RA = INRIR_R99R_A;
+INRIR_R99R = arr(IRNIN_R99R * (TXINR_PA/100)-INCIR_NET_A) * positif(IRNIN_R99R- IRNIN_R99R_A)
+             * positif(IND_PASSAGE-1) * positif(IRNIN_TLDEC-IRNIN_PA-ACODELAISINR);
+INRIR_R9901A = INRIR_R9901_A;
+INRIR_R9901 = arr(IRNIN_R9901 * (TXINR_PA/100)-INCIR_NET_A) * positif(IRNIN_R9901- IRNIN_R9901_A)
+              * positif(IND_PASSAGE-1) * positif(IRNIN_TLDEC-IRNIN_R9901) * positif(IRNIN_R9901_A)
+             + (arr(IRNIN_R9901 * (TXINR_PA/100))-INCIR_NET_A) * positif(IRNIN_R9901- IRNIN_INR_A)
+              * positif(IND_PASSAGE-1) * positif(IRNIN_TLDEC-IRNIN_R9901) * (1-positif(IRNIN_R9901_A))
+             + (INCIR_NET_A - arr(IRNIN_R9901 * (TXINR_PA/100))) * positif(IRNIN_INR_A- IRNIN_R9901)
+              * positif(IND_PASSAGE-1) * positif(IRNIN_TLDEC-IRNIN_R9901) * (1-positif(IRNIN_R9901_A)) * positif(IRNIN_R9901)
+	     ;
+DO_INR_IRC=DO_INR_IR_A;
+INR_NTL_GLOB_IR2 = INRIR_NTLDECD+ INRIR_NTL_A+ INRIR_NTLDECD_1 + INRIR_NTL_1_A ;
+INR_TL_GLOB_IR2 = INRIR_TLDECD + INRIR_TL_A + INRIR_TLDEC_1 + INRIR_TL_1_A;
+INR_TOT_GLOB_IR2 = (INR_NTL_GLOB_IR2 + INR_TL_GLOB_IR2*TL_IR+INRIR_R99R+INRIR_R99R_A) * (1-IND_RJLJ) ;
+INR_TOT_GLOB_IRC = (INRIR_NTLDECD+ INRIR_NTL_A+ (INRIR_TLDECD + INRIR_TL_A)*TL_IR +INRIR_R99R+INRIR_R99R_A) * (1-IND_RJLJ) ;
+DO_INR_IR2 = max(0,
+          arr(((INRIR_TL_A+INRIR_TL_1_A)*TL_IR_A *TL_IR+ INRIR_NTL_A+INRIR_NTL_1_A) 
+            * min(1,((IRNIN_REF - IRNIN_TLDEC_1)/(IRNIN_REF-max(0,IRNIN_R9901))))) * (1-positif(FLAG_RETARD + FLAG_DEFAUT))
+            *positif(IRNIN_REF - IRNIN_TLDEC_1) * (1 - positif(FLAG_C02+FLAG_C22))
+            *(1-positif_ou_nul(IRNIN_TLDEC_1 - IRNIN_INR_A))
+        + arr(((INRIR_TL_A+INRIR_TL_1_A)*TL_IR_A *TL_IR) 
+            * min(1,((IRNIN_REF - IRNIN_TLDEC_1)/(IRNIN_REF-max(0,IRNIN_R9901))))) * (1-positif(FLAG_RE
\ No newline at end of file
diff --git a/sources2010m_7_1/chap-majo.m b/sources2010m_7_1/chap-majo.m
new file mode 100644
index 0000000000000000000000000000000000000000..adfd57c688bdbd6fe6a81fd26adc728edd46beff
--- /dev/null
+++ b/sources2010m_7_1/chap-majo.m
@@ -0,0 +1,634 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 23111:
+application :  oceans, iliad ;
+IRBASE = IRN - IRANT;
+CSBASE_MAJO = (CSG - CSGIM) * positif(CSG + RDSN + PRS + CSAL - SEUIL_REC_CP2);
+RDBASE_MAJO = (RDSN - CRDSIM) * positif(CSG + RDSN + PRS + CSAL - SEUIL_REC_CP2);
+PSBASE_MAJO = (PRS - PRSPROV) * positif(CSG + RDSN + PRS + CSAL - SEUIL_REC_CP2);
+CSALBASE_MAJO = (CSAL - CSALPROV) * positif(CSG + RDSN + PRS + CSAL - SEUIL_REC_CP2);
+CDISBASE_MAJO = CDIS * positif(CDIS + CSG + RDSN + PRS + CSAL - SEUIL_REC_CP2);
+TAXABASE_MAJO = TAXASSUR * positif(IAMD1 + 1 - SEUIL_PERCEP);
+regle corrective 23112:
+application :  oceans, iliad ;
+SUPIR[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+		   * max(IRBASE,0)
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-11)+null(X-12))
+		  * max(0,IRBASE - TIRBASE[FLAG_DERSTTR])
+	     +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	     * (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-11)+null(X-12))))
+	     * positif(IRNIN) * positif(IRBASE) 
+	     * ( (1 - positif(TARDIFEVT2)*null(X-2))
+		* max(0,IRBASE - max(0,TIRBASE[FLAG_DERSTTR]))
+               + positif(TARDIFEVT2)*null(X-2) * TIRBASE[FLAG_DERSTTR])
+	       * (1 - positif(null(X-1)))
+
+           + null(X-1)*positif( null(CSTRATE1 - 1)
+			       +null(CSTRATE1 - 7)
+		               +null(CSTRATE1 - 8)
+			       +null(CSTRATE1 - 10)
+		               +null(CSTRATE1 - 11)
+	                       +null(CSTRATE1 - 17)
+                               +null(CSTRATE1 - 18)) * max(0,IRBASE -  max(0, TIRBASE[FLAG_DERSTTR]))
+
+           + null(X-1)*positif( null(CSTRATE1 - 3)
+	                       +null(CSTRATE1 - 4)
+			       +null(CSTRATE1 - 5)
+			       +null(CSTRATE1 - 6)
+		               +null(CSTRATE1 - 55)) * (1-positif((1-positif(IRBASE))
+								  *(1-positif(TIRBASE[FLAG_DERSTTR]))))
+						     * max(0, max(0, IRBASE) - TIRBASE[FLAG_DERSTTR])
+			       
+
+           + null(X-1)*positif( null(CSTRATE1 - 3)
+	                       +null(CSTRATE1 - 4)
+			       +null(CSTRATE1 - 5)
+			       +null(CSTRATE1 - 6)
+		               +null(CSTRATE1 - 55))*(1-positif(IRBASE))
+						    *(1-positif(TIRBASE[FLAG_DERSTTR]))
+						    *(IRBASE - TIRBASE[FLAG_DERSTTR])
+			       ;
+SUP2IR[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) 
+	       * positif(FLAG_RECTIF) * max(IRBASE,0)
+	      + ((positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))
+		  * max(0,IRBASE - TIRBASE[FLAG_DERSTTR])
+	     )
+	     + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20)))* 0)
+                 * (1 - positif(null(X-1)))
+
+           + null(X-1)*positif( null(CSTRATE1 - 1)
+                               +null(CSTRATE1 - 17)
+	                       +null(CSTRATE1 - 2)
+			       +null(CSTRATE1 - 10)
+		               +null(CSTRATE1 - 30)) * max(0, IRBASE - TIRBASE[FLAG_DERSTTR]);
+SUPCS[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,CSBASE_MAJO - (TCSBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(CSBASE_MAJO - TCSBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(CSBASE_MAJO,0); 
+SUPPS[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,PSBASE_MAJO - (TPSBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(PSBASE_MAJO - TPSBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(PSBASE_MAJO,0); 
+SUPRD[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,RDBASE_MAJO - (TRDBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RDBASE_MAJO - TRDBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RDBASE_MAJO,0); 
+SUPCSAL[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,CSALBASE_MAJO - (TCSALBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(CSALBASE_MAJO - TCSALBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(CSALBASE_MAJO,0); 
+SUPCDIS[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,CDISBASE_MAJO - (TCDISBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(CDISBASE_MAJO - TCDISBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(CDISBASE_MAJO,0); 
+SUPTAXA[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+		   * max(TAXABASE_MAJO,0)
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-11)+null(X-12))
+	         * max(0,TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR])
+     +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		* (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-11)+null(X-12))))
+		* positif(IRNIN+TAXABASE_MAJO) *
+	       (
+	        positif(IRBASE) * max(0,TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR])
+	       +(1 - positif(IRBASE)) * positif(TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR]) *
+		      (
+		       positif(TIRBASE[FLAG_DERSTTR]+TTAXABASE[FLAG_DERSTTR])
+		       * max(0,TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR])
+		       +
+		       (1 - positif(TIRBASE[FLAG_DERSTTR] + TTAXABASE[FLAG_DERSTTR]))
+		       * max(0,TAXABASE_MAJO + IRBASE - TTAXABASE[FLAG_DERSTTR])
+		      )
+		)
+	     ;
+SUP2TAXA[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) 
+	       * positif(FLAG_RECTIF) * max(TAXABASE_MAJO,0)
+	      + (positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))
+		  * max(0,TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR])
+	     )
+	     + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))) * 0
+	     ;
+regle corrective 23113:
+application : oceans, iliad;
+TMAJOIR[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPIR[X] * TAUX_STRATE/100 ));
+T2MAJOIR[X] = (1 - null(1 - IND_RJLJ))
+	     * (
+	     (positif(null(X - 0) * null(CODE_2042 - 17) 
+		 +null(X-14)+null(X-15)+null(X-18)+null(X-20))
+		*(null(X-20)*TL_IR*arr(SUP2IR[X] * TX1758A/100)
+		  +(1-null(X-20)) * arr(SUP2IR[X] * TX1758A/100)))
+
+	      + null(X-1) 
+	                  * positif(null(X - 1) * null(CSTRATE1 - 17)
+                               +null(CSTRATE1 - 1)
+	                       +null(CSTRATE1 - 2)
+			       +null(CSTRATE1 - 10)
+		               +null(CSTRATE1 - 30)) * arr(SUP2IR[X] * TX1758A/100)
+
+                 ); 
+
+MAJOIR_ST = MAJOIRST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOIR[X] + T2MAJOIR[X];
+TMAJOCS[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCS[X] * TAUX_STRATE/100 ));
+MAJOCS_ST = MAJOCSST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCS[X] ;
+TMAJOPS[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPPS[X] * TAUX_STRATE/100 ));
+MAJOPS_ST = MAJOPSST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOPS[X] ;
+TMAJORD[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRD[X] * TAUX_STRATE/100 ));
+MAJORD_ST = MAJORDST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORD[X] ;
+TMAJOCSAL[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCSAL[X] * TAUX_STRATE/100 ));
+MAJOCSAL_ST = MAJOCSALST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCSAL[X] ;
+TMAJOCDIS[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCDIS[X] * TAUX_STRATE/100 ));
+MAJOCDIS_ST = MAJOCDISST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCDIS[X] ;
+TMAJOTAXA[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPTAXA[X] * TAUX_STRATE/100 ));
+T2MAJOTAXA[X] = (1 - null(1 - IND_RJLJ))
+	     * (positif(null(X - 0) * null(CODE_2042 - 17) 
+	        + null(X-14)+null(X-15)+null(X-18)+null(X-20))
+		*(null(X-20)*TL_TAXAGA*arr(SUP2TAXA[X] * TX1758A/100)
+		  +(1-null(X-20)) * arr(SUP2TAXA[X] * TX1758A/100)));
+MAJOTAXA_ST = MAJOTAXAST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOTAXA[X] + T2MAJOTAXA[X];
+regle corrective 23114:
+application : oceans, iliad;
+MAJOIR07_TARDIF = max(0,arr(FLAG_TRTARDIF * IRBASE * TAUX_2042/100)
+			* STR_TR16 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	); 
+MAJOIR08_TARDIF = max(0,arr(FLAG_TRTARDIF * IRBASE * TAUX_2042/100)
+			* STR_TR10 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	); 
+MAJOIR17_1TARDIF = max(0,arr(FLAG_TRTARDIF * IRBASE * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	); 
+MAJOIR17_2TARDIF = max(0,arr(FLAG_TRTARDIF * IRBASE * TX1758A/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	); 
+MAJOIR_TARDIF = somme(x = 07,08: MAJOIR0x_TARDIF) 
+		+ MAJOIR17_1TARDIF + MAJOIR17_2TARDIF;
+MAJOCS07_TARDIF = max(0,arr(FLAG_TRTARDIF * CSBASE_MAJO * TAUX_2042/100)
+			* STR_TR16 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCS08_TARDIF = max(0,arr(FLAG_TRTARDIF * CSBASE_MAJO * TAUX_2042/100)
+			* STR_TR10 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCS17_TARDIF = max(0,arr(FLAG_TRTARDIF * CSBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCS_TARDIF = somme(x = 07,08,17 : MAJOCSx_TARDIF);
+MAJOPS07_TARDIF = max(0,arr(FLAG_TRTARDIF * PSBASE_MAJO * TAUX_2042/100)
+			* STR_TR16 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOPS08_TARDIF = max(0,arr(FLAG_TRTARDIF * PSBASE_MAJO * TAUX_2042/100)
+			* STR_TR10 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOPS17_TARDIF = max(0,arr(FLAG_TRTARDIF * PSBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOPS_TARDIF = somme(x = 07,08,17 : MAJOPSx_TARDIF);
+MAJORD07_TARDIF = max(0,arr(FLAG_TRTARDIF * RDBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJORD08_TARDIF = max(0,arr(FLAG_TRTARDIF * RDBASE_MAJO * TAUX_2042/100)
+			* STR_TR10 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJORD17_TARDIF = max(0,arr(FLAG_TRTARDIF * RDBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJORD_TARDIF = somme(x = 07,08,17 : MAJORDx_TARDIF);
+MAJOCSAL07_TARDIF = max(0,arr(FLAG_TRTARDIF * CSALBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCSAL08_TARDIF = max(0,arr(FLAG_TRTARDIF * CSALBASE_MAJO * TAUX_2042/100)
+			* STR_TR10 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCSAL17_TARDIF = max(0,arr(FLAG_TRTARDIF * CSALBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCSAL_TARDIF = somme(x = 07,08,17 : MAJOCSALx_TARDIF);
+MAJOCDIS07_TARDIF = max(0,arr(FLAG_TRTARDIF * CDISBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCDIS08_TARDIF = max(0,arr(FLAG_TRTARDIF * CDISBASE_MAJO * TAUX_2042/100)
+			* STR_TR10 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCDIS17_TARDIF = max(0,arr(FLAG_TRTARDIF * CDISBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCDIS_TARDIF = somme(x = 07,08,17 : MAJOCDISx_TARDIF);
+MAJOTAXA07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAXABASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOTAXA08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAXABASE_MAJO * TAUX_2042/100)
+			* STR_TR10 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOTA17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAXABASE_MAJO * TAUX_2042/100)
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOTA17_2TARDIF = max(0,arr(FLAG_TRTARDIF * TAXABASE_MAJO * TX1758A/100)
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOTAXA_TARDIF = somme(x = 07,08 : MAJOTAXA0x_TARDIF) 
+		+ MAJOTA17_1TARDIF + MAJOTA17_2TARDIF;
+IRNIN_TARDIF = IRBASE * FLAG_TRTARDIF ;
+CSG_TARDIF = CSBASE_MAJO * FLAG_TRTARDIF ;
+RDS_TARDIF = RDBASE_MAJO* FLAG_TRTARDIF;
+PRS_TARDIF = PSBASE_MAJO * FLAG_TRTARDIF;
+CSAL_TARDIF = CSALBASE_MAJO * FLAG_TRTARDIF;
+CDIS_TARDIF = CDISBASE_MAJO * FLAG_TRTARDIF;
+TAXA_TARDIF = TAXABASE_MAJO * FLAG_TRTARDIF;
+regle corrective 231141:
+application : oceans, iliad;
+FLAG_TRTARDIF_R = FLAG_RETARD * FLAG_RECTIF * FLAG_1STRATE 
+		 * (null(CSTRATE99 - 7) + null(CSTRATE99 - 8) + null(CSTRATE99 - 17) );
+MAJOIR07TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-7) * TMAJOIR[00];
+MAJOIR08TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-8) * TMAJOIR[00];
+MAJOIR17_1TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-17) * TMAJOIR[00];
+MAJOIR17_2TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-17) * TMAJOIR[00];
+MAJOIRTARDIF_R = somme(x = 07,08: MAJOIR0xTARDIF_R) 
+		+ MAJOIR17_1TARDIF_R + MAJOIR17_2TARDIF_R;
+MAJOCS07TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-7) * TMAJOCS[00];
+MAJOCS08TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-8) * TMAJOCS[00];
+MAJOCS17TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-17) * TMAJOCS[00];
+MAJOCSTARDIF_R = somme(x = 07,08,17: MAJOCSxTARDIF_R);
+MAJOPS07TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-7) * TMAJOPS[00];
+MAJOPS08TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-8) * TMAJOPS[00];
+MAJOPS17TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-17) * TMAJOPS[00];
+MAJOPSTARDIF_R = somme(x = 07,08,17: MAJOPSxTARDIF_R);
+MAJORD07TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-7) * TMAJORD[00];
+MAJORD08TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-8) * TMAJORD[00];
+MAJORD17TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-17) * TMAJORD[00];
+MAJORDTARDIF_R = somme(x = 07,08,17: MAJORDxTARDIF_R);
+MAJOCSAL07TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-7) * TMAJOCSAL[00];
+MAJOCSAL08TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-8) * TMAJOCSAL[00];
+MAJOCSAL17TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-17) * TMAJOCSAL[00];
+MAJOCSALTARDIF_R = somme(x = 07,08,17: MAJOCSALxTARDIF_R);
+MAJOCDIS07TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-7) * TMAJOCDIS[00];
+MAJOCDIS08TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-8) * TMAJOCDIS[00];
+MAJOCDIS17TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-17) * TMAJOCDIS[00];
+MAJOCDISTARDIF_R = somme(x = 07,08,17: MAJOCDISxTARDIF_R);
+MAJOTAXA07TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-7) * TMAJOTAXA[00];
+MAJOTAXA08TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-8) * TMAJOTAXA[00];
+MAJOTA17_1TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-17) * TMAJOTAXA[00];
+MAJOTA17_2TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-17) * TMAJOTAXA[00];
+MAJOTAXATARDIF_R = somme(x = 07,08: MAJOTAXA0xTARDIF_R) 
+		+ MAJOTA17_1TARDIF_R + MAJOTA17_2TARDIF_R;
+regle corrective 231142:
+application : oceans, iliad;
+FLAG_TRTARDIF_F = FLAG_RETARD * positif(FLAG_TRDEGTR);
+MAJOIR07TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 7) * arr(IRNIN * TAUX_2042/100);
+MAJOIR08TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 8) * arr(IRNIN * TAUX_2042/100);
+MAJOIR17_1TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 17) * arr(IRNIN * TAUX_2042/100);
+MAJOIR17_2TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 17) * arr(IRNIN * TX1758A/100);
+MAJOIRTARDIF_F = somme(x = 07,08: MAJOIR0xTARDIF_F) 
+		+ MAJOIR17_1TARDIF_F + MAJOIR17_2TARDIF_F;
+MAJOCS07TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 7) * arr(CSBASE_MAJO * TAUX_2042/100);
+MAJOCS08TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 8) * arr(CSBASE_MAJO * TAUX_2042/100);
+MAJOCS17TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 17) * arr(CSBASE_MAJO * TAUX_2042/100);
+MAJOCSTARDIF_F = somme(x = 07,08,17: MAJOCSxTARDIF_F);
+MAJOPS07TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 7) * arr(PSBASE_MAJO * TAUX_2042/100);
+MAJOPS08TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 8) * arr(PSBASE_MAJO * TAUX_2042/100);
+MAJOPS17TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 17) * arr(PSBASE_MAJO * TAUX_2042/100);
+MAJOPSTARDIF_F = somme(x = 07,08,17: MAJOPSxTARDIF_F);
+MAJORD07TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 7) * arr(RDBASE_MAJO * TAUX_2042/100);
+MAJORD08TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 8) * arr(RDBASE_MAJO * TAUX_2042/100);
+MAJORD17TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 17) * arr(RDBASE_MAJO * TAUX_2042/100);
+MAJORDTARDIF_F = somme(x = 07,08,17: MAJORDxTARDIF_F);
+MAJOCSAL07TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 7) * arr(CSALBASE_MAJO * TAUX_2042/100);
+MAJOCSAL08TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 8) * arr(CSALBASE_MAJO * TAUX_2042/100);
+MAJOCSAL17TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 17) * arr(CSALBASE_MAJO * TAUX_2042/100);
+MAJOCSALTARDIF_F = somme(x = 07,08,17: MAJOCSALxTARDIF_F);
+MAJOCDIS07TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 7) * arr(CDISBASE_MAJO * TAUX_2042/100);
+MAJOCDIS08TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 8) * arr(CDISBASE_MAJO * TAUX_2042/100);
+MAJOCDIS17TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 17) * arr(CDISBASE_MAJO * TAUX_2042/100);
+MAJOCDISTARDIF_F = somme(x = 07,08,17: MAJOCDISxTARDIF_F);
+MAJOTAXA07TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 7) * arr(TAXABASE_MAJO * TAUX_2042/100);
+MAJOTAXA08TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 8) * arr(TAXABASE_MAJO * TAUX_2042/100);
+MAJOTA17_1TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 17) * arr(TAXABASE_MAJO * TAUX_2042/100);
+MAJOTA17_2TARDIF_F = FLAG_RETARD * null(FLAG_TRDEGTR - 17) * arr(TAXABASE_MAJO * TX1758A/100);
+MAJOTAXATARDIF_F = somme(x = 07,08: MAJOTAXA0xTARDIF_F) 
+		+ MAJOTA17_1TARDIF_F + MAJOTA17_2TARDIF_F;
+regle corrective 231143:
+application : oceans, iliad;
+MAJOIR07TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOIR07_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOIR07TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOIR07TARDIF_R,MAJOIR07TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOIRTARDIF_REF, MAJOIR07TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOIR07TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOIR07TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJOIR07TARDIF_A)
+		   ) ;
+MAJOIR08TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOIR08_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOIR08TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOIR08TARDIF_R,MAJOIR08TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOIRTARDIF_REF, MAJOIR08TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOIR08TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOIR08TARDIF_R
+			 + (1 - positif(FLAG_RECTIF)) * MAJOIR08TARDIF_A)
+		   ) ;
+MAJOIR17_1TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOIR17_1TARDIF
+		    + FLAG_TRTARDIF_R * MAJOIR17_1TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOIR17_1TARDIF_R,MAJOIR17_1TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOIRTARDIF_REF/2, MAJOIR17_1TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOIR17_1TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOIR17_1TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJOIR17_1TARDIF_A)
+		   ) ;
+MAJOIR17_2TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOIR17_2TARDIF
+		    + FLAG_TRTARDIF_R * MAJOIR17_2TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOIR17_2TARDIF_R,MAJOIR17_2TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOIRTARDIF_REF/2, MAJOIR17_2TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOIR17_2TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOIR17_2TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJOIR17_2TARDIF_A)
+		   ) ;
+MAJOIRTARDIF_D = somme(x = 07..08: MAJOIR0xTARDIF_D) 
+		+ MAJOIR17_1TARDIF_D + MAJOIR17_2TARDIF_D;
+MAJOCS07TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOCS07_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOCS07TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOCS07TARDIF_R,MAJOCS07TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOCS07TARDIF_A, MAJOCS07TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOCS07TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOCS07TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJOCS07TARDIF_A)
+		   ) ;
+MAJOCS08TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOCS08_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOCS08TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOCS08TARDIF_R,MAJOCS08TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOCS08TARDIF_A, MAJOCS08TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOCS08TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOCS08TARDIF_R
+			 + (1 - positif(FLAG_RECTIF)) * MAJOCS08TARDIF_A)
+		   ) ;
+MAJOCS17TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOCS17_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOCS17TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOCS17TARDIF_R,MAJOCS17TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOCS17TARDIF_A, MAJOCS17TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOCS17TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOCS17TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJOCS17TARDIF_A)
+		   ) ;
+MAJOCSTARDIF_D = somme(x = 07,08,17: MAJOCSxTARDIF_D);
+MAJOPS07TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOPS07_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOPS07TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOPS07TARDIF_R,MAJOPS07TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOPS07TARDIF_A, MAJOPS07TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOPS07TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOPS07TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJOPS07TARDIF_A)
+		   ) ;
+MAJOPS08TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOPS08_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOPS08TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOPS08TARDIF_R,MAJOPS08TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOPS08TARDIF_A, MAJOPS08TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOPS08TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOPS08TARDIF_R
+			 + (1 - positif(FLAG_RECTIF)) * MAJOPS08TARDIF_A)
+		   ) ;
+MAJOPS17TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOPS17_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOPS17TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOPS17TARDIF_R,MAJOPS17TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOPS17TARDIF_A, MAJOPS17TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOPS17TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOPS17TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJOPS17TARDIF_A)
+		   ) ;
+MAJOPSTARDIF_D = somme(x = 07,08,17: MAJOPSxTARDIF_D);
+MAJORD07TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJORD07_TARDIF
+		    + FLAG_TRTARDIF_R * MAJORD07TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJORD07TARDIF_R,MAJORD07TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJORD07TARDIF_A, MAJORD07TARDIF_F))
+		    + FLAG_TRMAJOP * MAJORD07TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJORD07TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJORD07TARDIF_A)
+		   ) ;
+MAJORD08TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJORD08_TARDIF
+		    + FLAG_TRTARDIF_R * MAJORD08TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJORD08TARDIF_R,MAJORD08TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJORD08TARDIF_A, MAJORD08TARDIF_F))
+		    + FLAG_TRMAJOP * MAJORD08TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJORD08TARDIF_R
+			 + (1 - positif(FLAG_RECTIF)) * MAJORD08TARDIF_A)
+		   ) ;
+MAJORD17TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJORD17_TARDIF
+		    + FLAG_TRTARDIF_R * MAJORD17TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJORD17TARDIF_R,MAJORD17TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJORD17TARDIF_A, MAJORD17TARDIF_F))
+		    + FLAG_TRMAJOP * MAJORD17TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJORD17TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJORD17TARDIF_A)
+		   ) ;
+MAJORDTARDIF_D = somme(x = 07,08,17: MAJORDxTARDIF_D);
+MAJOCSAL07TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOCSAL07_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOCSAL07TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOCSAL07TARDIF_R,MAJOCSAL07TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOCSAL07TARDIF_A, MAJOCSAL07TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOCSAL07TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOCSAL07TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJOCSAL07TARDIF_A)
+		   ) ;
+MAJOCSAL08TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOCSAL08_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOCSAL08TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOCSAL08TARDIF_R,MAJOCSAL08TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOCSAL08TARDIF_A, MAJOCSAL08TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOCSAL08TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOCSAL08TARDIF_R
+			 + (1 - positif(FLAG_RECTIF)) * MAJOCSAL08TARDIF_A)
+		   ) ;
+MAJOCSAL17TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOCSAL17_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOCSAL17TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOCSAL17TARDIF_R,MAJOCSAL17TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOCSAL17TARDIF_A, MAJOCSAL17TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOCSAL17TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOCSAL17TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJOCSAL17TARDIF_A)
+		   ) ;
+MAJOCSALTARDIF_D = somme(x = 07,08,17: MAJOCSALxTARDIF_D);
+MAJOCDIS07TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOCDIS07_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOCDIS07TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOCDIS07TARDIF_R,MAJOCDIS07TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOCDIS07TARDIF_A, MAJOCDIS07TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOCDIS07TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOCDIS07TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJOCDIS07TARDIF_A)
+		   ) ;
+MAJOCDIS08TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOCDIS08_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOCDIS08TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOCDIS08TARDIF_R,MAJOCDIS08TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOCDIS08TARDIF_A, MAJOCDIS08TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOCDIS08TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOCDIS08TARDIF_R
+			 + (1 - positif(FLAG_RECTIF)) * MAJOCDIS08TARDIF_A)
+		   ) ;
+MAJOCDIS17TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOCDIS17_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOCDIS17TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOCDIS17TARDIF_R,MAJOCDIS17TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOCDIS17TARDIF_A, MAJOCDIS17TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOCDIS17TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOCDIS17TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJOCDIS17TARDIF_A)
+		   ) ;
+MAJOCDISTARDIF_D = somme(x = 07,08,17: MAJOCDISxTARDIF_D);
+MAJOTAXA07TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOTAXA07_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOTAXA07TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOTAXA07TARDIF_R,MAJOTAXA07TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOTAXA07TARDIF_A, MAJOTAXA07TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOTAXA07TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOTAXA07TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJOTAXA07TARDIF_A)
+		   ) ;
+MAJOTAXA08TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOTAXA08_TARDIF
+		    + FLAG_TRTARDIF_R * MAJOTAXA08TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOTAXA08TARDIF_R,MAJOTAXA08TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOTAXA08TARDIF_A, MAJOTAXA08TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOTAXA08TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOTAXA08TARDIF_R
+			 + (1 - positif(FLAG_RECTIF)) * MAJOTAXA08TARDIF_A)
+		   ) ;
+MAJOTA17_1TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOTA17_1TARDIF
+		    + FLAG_TRTARDIF_R * MAJOTA17_1TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOTA17_1TARDIF_R,MAJOTA17_1TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOTA17_1TARDIF_A, MAJOTA17_1TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOTA17_1TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOTA17_1TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJOTA17_1TARDIF_A)
+		   ) ;
+MAJOTA17_2TARDIF_D = FLAG_RETARD *
+		    (FLAG_TRTARDIF * MAJOTA17_2TARDIF
+		    + FLAG_TRTARDIF_R * MAJOTA17_2TARDIF_R
+		    + FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * min(MAJOTA17_2TARDIF_R,MAJOTA17_2TARDIF_F)
+					 + (1 - positif(FLAG_RECTIF)) * min(MAJOTA17_2TARDIF_A, MAJOTA17_2TARDIF_F))
+		    + FLAG_TRMAJOP * MAJOTA17_2TARDIF_A
+		    + (1 - positif(FLAG_TRTARDIF + FLAG_TRTARDIF_R + FLAG_TRTARDIF_F + FLAG_TRMAJOP)) 
+			  * (positif(FLAG_RECTIF) * MAJOTA17_2TARDIF_R
+			    + (1 - positif(FLAG_RECTIF)) * MAJOTA17_2TARDIF_A)
+		   ) ;
+MAJOTAXATARDIF_D = somme(x = 07,08: MAJOTAXA0xTARDIF_D) 
+		+ MAJOTA17_1TARDIF_D + MAJOTA17_2TARDIF_D;
+regle corrective 10941:
+application : oceans, iliad;
+TIRBASE[0] =   positif(FLAG_RETARD) *
+                   (IRBASE_REF * (1 - positif(FLAG_NBSTRTR))
+                   + TIRBASE[0] * positif(FLAG_NBSTRTR))
+              + (1 - positif(FLAG_RETARD)) * TIRBASE[0]  + 0 
+                ;
+TNAPCR[0] =   positif(FLAG_RETARD) *
+                   (NAPCRTARDIF_A * (1 - positif(FLAG_NBSTRTR))
+                   + TNAPCR[0] * positif(FLAG_NBSTRTR))
+              + (1 - positif(FLAG_RETARD)) * TNAPCR[0] + 0 
+                ;
+TCSBASE[0] =   positif(FLAG_RETARD) *
+                   (CSGTARDIF_A * (1 - positif(FLAG_NBSTRTR))
+                   + TCSBASE[0] * positif(FLAG_NBSTRTR))
+              + (1 - positif(FLAG_RETARD)) * TCSBASE[0] + 0 
+                ;
+TPSBASE[0] =   positif(FLAG_RETARD) *
+                   (PRSTARDIF_A * (1 - positif(FLAG_NBSTRTR))
+                   + TPSBASE[0] * positif(FLAG_NBSTRTR))
+              + (1 - positif(FLAG_RETARD)) * TPSBASE[0] + 0 
+                ;
+TRDBASE[0] =   positif(FLAG_RETARD) *
+                   (RDSTARDIF_A * (1 - positif(FLAG_NBSTRTR))
+                   + TRDBASE[0] * positif(FLAG_NBSTRTR))
+              + (1 - positif(FLAG_RETARD)) * TRDBASE[0] + 0 
+                ;
+TCSALBASE[0] =   positif(FLAG_RETARD) *
+                   (CSALTARDIF_A * (1 - positif(FLAG_NBSTRTR))
+                   + TCSALBASE[0] * positif(FLAG_NBSTRTR))
+              + (1 - positif(FLAG_RETARD)) * TCSALBASE[0] + 0 
+                
\ No newline at end of file
diff --git a/sources2010m_7_1/chap-perp.m b/sources2010m_7_1/chap-perp.m
new file mode 100644
index 0000000000000000000000000000000000000000..490a3744aa97264946c4e9c9569f04c3156f7e8d
--- /dev/null
+++ b/sources2010m_7_1/chap-perp.m
@@ -0,0 +1,698 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+                                                                       
+  ####   #    #    ##    #####      #     #####  #####   ######         
+ #    #  #    #   #  #   #    #     #       #    #    #  #          
+ #       ######  #    #  #    #     #       #    #    #  #####      
+ #       #    #  ######  #####      #       #    #####   #             
+ #    #  #    #  #    #  #          #       #    #   #   #              
+  ####   #    #  #    #  #          #       #    #    #  ######  
+regle 31000:
+application : pro , oceans ,  iliad , batch  ;
+PERP_BOOL = positif(null(1-(V_0CF+V_0CH+V_0CR+V_0DJ+V_0DN+V_0DP)) *
+          null(
+   present( TSHALLO2 ) 
+ + present( ALLO2 ) 
+ + present( TSHALLO3 ) 
+ + present( ALLO3 ) 
+ + present( TSHALLO4 ) 
+ + present( ALLO4 ) 
+ + present( FRN2 ) 
+ + present( FRN3 ) 
+ + present(FRN4)
+ + present(HEURESUPP2)
+ + present(HEURESUPP3)
+ + present(HEURESUPP4)
+ + present(CARTSP2)
+ + present(CARTSP3)
+ + present(CARTSP4)
+ + present(REMPLAP2)
+ + present(REMPLAP3)
+ + present(REMPLAP4)
+ )); 
+regle 31002:
+application : pro , oceans ,  iliad , batch  ;
+PERPSALV = 
+  TSHALLOV  
+ + ALLOV  
+ + GLD1V  
+ + GLD2V  
+ + GLD3V  
+ + BPCOSAV  
+ + TSASSUV  
+ + CARTSV  
+ + TSELUPPEV  
+ + HEURESUPV
+ + REMPLAV
+ ;
+PERPSALC = 
+   TSHALLOC  
+ + ALLOC  
+ + GLD1C  
+ + GLD2C  
+ + GLD3C  
+ + BPCOSAC  
+ + TSASSUC  
+ + CARTSC  
+ + TSELUPPEC  
+ + HEURESUPC
+ + REMPLAC
+ ;
+PERPSALP = PERP_BOOL * (
+   TSHALLO1  
+ + ALLO1  
+ + CARTSP1
+ + REMPLAP1
+ )
+ + HEURESUPP1
+ ;
+regle 31003:
+application : pro , oceans ,  iliad , batch  ;
+PERPSALDV = PREP10V;
+PERPSALDC = PREP10C;
+PERPSALDP = PREP10P * PERP_BOOL;
+regle 31004:
+application : pro , oceans ,  iliad , batch  ;
+PERPSALNV = PERPSALV - PERPSALDV + ELURASV;
+PERPSALNC = PERPSALC - PERPSALDC + ELURASC;
+PERPSALNP = PERPSALP -PERPSALDP ;
+regle 31005:
+application : pro , oceans ,  iliad , batch  ;
+PERPBANV = 
+   FEXV  
+ + BAFV  
+ + BAFPVV  
+ + BAEXV  
+ + BACREV  
+ - BACDEV  
+ + BAHEXV  
+ + BAHREV  
+ - BAHDEV  
+ + BAPERPV
+ + 4BACREV  
+ + 4BAHREV 
+ + BAFORESTV
+ ;
+PERPBANC = 
+   FEXC  
+ + BAFC  
+ + BAFPVC  
+ + BAEXC  
+ + BACREC  
+ - BACDEC  
+ + BAHEXC  
+ + BAHREC  
+ - BAHDEC  
+ + BAPERPC 
+ + 4BACREC  
+ + 4BAHREC 
+ + BAFORESTC
+ ;
+PERPBANP = PERP_BOOL * (
+   FEXP  
+ + BAFP  
+ + BAFPVP  
+ + BAEXP  
+ + BACREP  
+ - BACDEP  
+ + BAHEXP  
+ + BAHREP  
+ - BAHDEP  
+ + BAPERPP
+ + 4BACREP  
+ + 4BAHREP ) 
+ + BAFORESTP
+ ;
+regle 31006:
+application : pro , oceans ,  iliad , batch  ;
+PERPBICMNV =TPMIB_NETPV+TPMIB_NETVV+MIBEXV+MIBPVV;
+PERPBICMNC =TPMIB_NETPC+TPMIB_NETVC+MIBEXC+MIBPVC;
+PERPBICMNP =(TPMIB_NETPP+TPMIB_NETVP+MIBEXP+MIBPVP) * PERP_BOOL;
+regle 31007:
+application : pro , oceans ,  iliad , batch  ;
+PERPBICPNV =
+   BICEXV  
+ + BICNOV  
+ - BICDNV  
+ + BIHEXV  
+ + BIHNOV  
+ - BIHDNV  
+ + BIPERPV 
+ + LOCPROCGAV
+ - LOCDEFPROCGAV
+ + LOCPROV
+ - LOCDEFPROV
+ ;
+PERPBICPNC =
+   BICEXC  
+ + BICNOC  
+ - BICDNC  
+ + BIHEXC  
+ + BIHNOC  
+ - BIHDNC  
+ + BIPERPC  
+ + LOCPROCGAC
+ - LOCDEFPROCGAC
+ + LOCPROC
+ - LOCDEFPROC
+;
+PERPBICPNP = PERP_BOOL * (
+   BICEXP  
+ + BICNOP  
+ - BICDNP  
+ + BIHEXP  
+ + BIHNOP  
+ - BIHDNP  
+ + BIPERPP 
+ + LOCPROCGAP
+ - LOCDEFPROCGAP
+ + LOCPROP
+ - LOCDEFPROP );
+regle 31008:
+application : pro , oceans ,  iliad , batch  ;
+PERPBNCMNV =  BNCPROEXV + max(0,(BNCPROV+AUTOBNCV) - max(arr((BNCPROV+AUTOBNCV) * SPETXAB/100),MIN_SPEBNC))
+                     + BNCPROPVV;
+PERPBNCMNC =  BNCPROEXC + max(0,(BNCPROC+AUTOBNCC) - max(arr((BNCPROC+AUTOBNCC) * SPETXAB/100),MIN_SPEBNC))
+                     + BNCPROPVC;
+PERPBNCMNP =  PERP_BOOL * (
+              BNCPROEXP + max(0,(BNCPROP+AUTOBNCP) - max(arr((BNCPROP+AUTOBNCP) * SPETXAB/100),MIN_SPEBNC))
+                     + BNCPROPVP);
+regle 31009:
+application : pro , oceans ,  iliad , batch  ;
+PERPBNCPNV =  
+   BNCEXV  
+ + BNCREV  
+ - BNCDEV  
+ + BNHEXV  
+ + BNHREV  
+ - BNHDEV 
+ + BNCCRV
+ + XHONOAAV
+ + XHONOV
+ ;
+PERPBNCPNC =  
+   BNCEXC  
+ + BNCREC  
+ - BNCDEC  
+ + BNHEXC  
+ + BNHREC  
+ - BNHDEC
+ + BNCCRC
+ + XHONOAAC
+ + XHONOC
+ ;
+PERPBNCPNP =  PERP_BOOL * (
+   BNCEXP  
+ + BNCREP  
+ - BNCDEP  
+ + BNHEXP  
+ + BNHREP  
+ - BNHDEP 
+ + BNCCRP
+ + XHONOAAP
+ + XHONOP
+ ); 
+regle 31010:
+application : pro , oceans ,  iliad , batch  ;
+PERPNONSALV = PERPBANV + PERPBICMNV + PERPBICPNV + PERPBNCMNV + PERPBNCPNV;
+PERPNONSALC = PERPBANC + PERPBICMNC + PERPBICPNC + PERPBNCMNC + PERPBNCPNC;
+PERPNONSALP = PERPBANP + PERPBICMNP + PERPBICPNP + PERPBNCMNP + PERPBNCPNP;
+regle 31011:
+application : pro , oceans ,  iliad , batch  ;
+PERPREVTOTV = max(0,PERPSALNV + PERPNONSALV) ;
+PERPREVTOTC = max(0,PERPSALNC + PERPNONSALC) ;
+PERPREVTOTP = max(0,PERPSALNP + PERPNONSALP) ;
+regle 31012:
+application : pro , oceans ,  iliad , batch  ;
+
+pour i =V,C:
+PERP_INDi = positif( 0 +
+  positif(TSHALLOi)  
+ + positif(ALLOi)    
+ + positif(GLD1i)  + positif(GLD2i)  + positif(GLD3i) 
+ + positif(BPCOSAi)  + positif(TSASSUi)  + positif(CARTSi)  + positif(TSELUPPEi)
++ positif(FEXi)  + positif(BAFi)  + positif(BAFPVi)  + positif(BAEXi)  
++ positif(BACREi) + positif(4BACREi) 
++ positif(BACDEi)  + positif(BAHEXi)  
++ positif(BAHREi) + positif(4BAHREi) 
++ positif(BAHDEi)  + positif(BAPERPi) 
++ positif(MIBEXi) + positif(MIBVENi) + positif(MIBPRESi) + positif(MIBPVi)
++ positif(AUTOBICVi) + positif(AUTOBICPi)
+ + positif(BICEXi) + positif(BICNOi) + positif(BICDNi)  
+ + positif(BIHEXi) + positif(BIHNOi)  
+ + positif(BIHDNi) + positif(BIPERPi) 
+ + positif(LOCPROCGAi) - positif(LOCDEFPROCGAi) + positif(LOCPROi) -  positif(LOCDEFPROi)   
++ positif(BNCPROEXi) + positif(BNCPROi) + positif(BNCPROPVi)
++ positif(AUTOBNCi) 
++ positif(BNCEXi) + positif(BNCREi) + positif(BNCDEi) + positif(BNHEXi)  
++ positif(BNHREi) + positif(BNHDEi) + positif(BNCCRi) );
+
+PERP_INDP = positif( 0+
+  positif(TSHALLO1)    
+ + positif(ALLO1)    
++ positif(FEXP)  + positif(BAFP)  + positif(BAFPVP)  + positif(BAEXP)  
++ positif(BACREP) + positif(4BACREP) 
++ positif(BACDEP)  + positif(BAHEXP)  
++ positif(BAHREP) + positif(4BAHREP) 
++ positif(BAHDEP)  + positif(BAPERPP) 
++ positif(MIBEXP) + positif(MIBVENP) + positif(MIBPRESP) + positif(MIBPVP)
++ positif(AUTOBICVP) + positif(AUTOBICPP)
+ + positif(BICEXP) + positif(BICNOP) + positif(BICDNP)  
+ + positif(BIHEXP) + positif(BIHNOP)  
+ + positif(BIHDNP) + positif(BIPERPP) 
+ + positif(LOCPROCGAP) - positif(LOCDEFPROCGAP) + positif(LOCPROP) -  positif(LOCDEFPROP)   
++ positif(BNCPROEXP) + positif(BNCPROP) + positif(BNCPROPVP)
++ positif(AUTOBNCP)
++ positif(BNCEXP) + positif(BNCREP) + positif(BNCDEP) + positif(BNHEXP)  
++ positif(BNHREP) + positif(BNHDEP) + positif(BNCCRP) );
+
+regle 31013:
+application : pro ,  oceans , iliad , batch  ;
+
+PERPINDV = positif(
+	    (positif(positif(PERP_INDV)
+	      + (1 - positif(PERP_INDV))
+		 * (1 - positif(PRBRV+PALIV)))
+	    * positif(INDREV1A8))
+	    + (1 - positif(PERP_INDV)) * positif(PRBRV+PALIV) 
+			* positif(PERP_COTV) 
+	    +PERPMUTU * (1 - positif(PERP_INDV+PERP_COTV)))
+	    * (1 - PERP_NONV)
+	    * (1 -V_CNR) ;
+PERPINDC = positif(
+	    (positif(positif(PERP_INDC)
+	      + (1 - positif(PERP_INDC))
+		 * (1 - positif(PRBRC+PALIC)))
+	    * positif(INDREV1A8))
+	    + (1 - positif(PERP_INDC)) * positif(PRBRC+PALIC)
+			* positif(PERP_COTC) 
+	    +PERPMUTU * (1 - positif(PERP_INDC+PERP_COTC)))		
+	    * (1 - PERP_NONC)
+	    * BOOL_0AM
+	    * (1 -V_CNR) ;
+PERPINDP = positif(
+	    (positif(positif(PERP_INDP)
+	      + (1 - positif(PERP_INDP))
+		 * (1 - positif(PRBR1) + positif(PALIP)))
+	    * positif(INDREV1A8))
+	    + (1 - positif(PERP_INDP)) * positif(PRBR1+PALIP)
+			* positif(PERP_COTP) 
+	    )
+	    * PERP_BOOL
+	    * (1 -V_CNR) ;
+
+regle 31014:
+application : pro ,  oceans , iliad , batch  ;
+PERPINDCV = positif(V_BTPERPTOTV + PERPPLAFCV 
+		+ PERPPLAFNUV1 + PERPPLAFNUV2 +PERPPLAFNUNV
+		+ PERP_COTV + RACCOTV) 
+	    * PERPINDV
+	    * (1 -V_CNR);
+PERPINDCC = BOOL_0AM 
+	    * positif(V_BTPERPTOTC + PERPPLAFCC 
+		+ PERPPLAFNUC1 + PERPPLAFNUC2 +PERPPLAFNUNC
+		+ PERP_COTC + RACCOTC) 
+	    * PERPINDC
+            * (1 -V_CNR);
+PERPINDCP = PERP_BOOL 
+	  * positif(V_BTPERPTOTP + PERPPLAFCP 
+		+ PERPPLAFNUP1 + PERPPLAFNUP2 +PERPPLAFNUNP
+		+ PERP_COTP + RACCOTP) 
+	+0
+	   * (1 -V_CNR);
+regle 31015:
+application : pro ,  oceans , iliad , batch  ;
+PERPPLAFV = positif(PERPINDV) *
+	      max(0,positif(PERPREVTOTV) 
+	      * (max(min(arr(PERPREVTOTV * TX_PERPPLAF/100),LIM_PERPMAX),LIM_PERPMIN)-PERPV)
+            + (1 - positif(PERPREVTOTV)) * (LIM_PERPMIN - PERPV) 
+               )
+ 	   * (1 -V_CNR);
+PERPPLAFC = positif(PERPINDC) * BOOL_0AM * 
+		max(0,positif(PERPREVTOTC) 
+		* (max(min(arr(PERPREVTOTC * TX_PERPPLAF/100),LIM_PERPMAX),LIM_PERPMIN)-PERPC)
+                + (1 - positif(PERPREVTOTC)) * (LIM_PERPMIN - PERPC)
+                   ) 
+ 	   * (1 -V_CNR);
+PERPPLAFP = positif(PERPINDP) *
+	      max(0,positif(PERPREVTOTP) 
+	      * (max(min(arr(PERPREVTOTP * TX_PERPPLAF/100),LIM_PERPMAX),LIM_PERPMIN)-PERPP)
+            + (1 - positif(PERPREVTOTP)) * (LIM_PERPMIN - PERPP) 
+               )
+ 	   * (1 -V_CNR);
+regle 31016:
+application : pro ,  oceans , iliad , batch  ;
+pour i =V,C,P:
+PERPPLAFTi = PERPINDi 
+	     * max(0,PERPPLAFi + PERPPLAFNUNi + PERPPLAFNU1i + PERPPLAFNU2i) 
+	     * (1 - V_CNR);
+regle 31017:
+application : pro ,  oceans , iliad , batch  ;
+pour i =V,C,P:
+PERPPLATiANT = (1 - positif(present(PERPPLAFCi) + present(PERPPLAFNUi1)
+		+ present(PERPPLAFNUi2) + present(PERPPLAFNUi3)))
+		* V_BTPERPTOTi
+		+ positif(present(PERPPLAFCi) + present(PERPPLAFNUi1)
+		+ present(PERPPLAFNUi2) + present(PERPPLAFNUi3))
+		 *(PERPPLAFCi + PERPPLAFNUi1 + PERPPLAFNUi2 + PERPPLAFNUi3);
+pour i =V,C,P:
+PERPPLAFiANT = present(PERPPLAFCi) * PERPPLAFCi
+	      + (1 - present(PERPPLAFCi)) * V_BTPERPi;
+pour i =V,C,P:
+PERPPLAFNUi2ANT = present(PERPPLAFNUi2) * PERPPLAFNUi2
+ 		+(1 - present(PERPPLAFNUi2)) * V_BTPERPNUi2 ;
+pour i =V,C,P:
+PERPPLAFNUi3ANT = present(PERPPLAFNUi3) * PERPPLAFNUi3
+ 		+(1 - present(PERPPLAFNUi3)) * V_BTPERPNUi3 ;
+regle 31018:
+application : pro ,  oceans , iliad , batch  ;
+PERPPLAFNUTV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* max(PERPPLATVANT - RPERPV,0)
+		+ positif(PERP_COND1) * 0
+		+ positif(PERP_COND2) * max(0,PERPPLATVANT - RPERPV - RPERPMUTC - RACCOTC)
+		;
+PERPPLAFNUTC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* max(PERPPLATCANT - RPERPC,0)
+		+ positif(PERP_COND1) * max(0,PERPPLATCANT - RPERPC - RPERPMUTV - RACCOTV)
+		+ positif(PERP_COND2) * 0
+		;
+PERPPLAFNUTP = max(PERPPLATPANT - RPERPP,0) ;
+PERPPLAFNUV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) * max(0,PERPPLAFVANT - RPERPV)
+	         + positif(PERPIMPATRIE+0) * max(0,PERPPLAFV - RPERPV))
+	       + positif(PERP_COND1) * 0
+	       + positif(PERP_COND2) 
+	       * ((1 - positif(PERPIMPATRIE))
+		 * max(0,PERPPLAFVANT - RPERPV - RPERPMUTC - RACCOTC)
+		 + positif(PERPIMPATRIE)
+		 * max(0,PERPPLAFV - RPERPV - RPERPMUTC - RACCOTC))
+	       ;
+PERPPLAFNUC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) * max(0,PERPPLAFCANT - RPERPC)
+	         + positif(PERPIMPATRIE+0) * max(0,PERPPLAFC - RPERPC))
+	       + positif(PERP_COND1) 
+	       * ((1 - positif(PERPIMPATRIE))
+	       * max(0,PERPPLAFCANT - RPERPC - RPERPMUTV - RACCOTV)
+		 + positif(PERPIMPATRIE)
+	       * max(0,PERPPLAFC - RPERPC - RPERPMUTV - RACCOTV))
+	       + positif(PERP_COND2) * 0
+	       ;
+PERPPLAFNUP = (1 - positif(PERPIMPATRIE+0)) * max(0,PERPPLAFPANT - RPERPP)
+	       + positif(PERPIMPATRIE+0) * max(0,PERPPLAFP - RPERPP)
+	       ;
+pour i =V,C,P:
+PERPPLAFNUNi = max(0,PERPPLAFNUi);
+PERPPLAFNU3V = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFNUV) * PERPPLAFNUV3ANT
+	             + (1 - positif(PERPPLAFNUV)) 
+		    * max(0,PERPPLAFNUV3ANT - (RPERPV - PERPPLAFVANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) * 0
+   		+ positif(PERP_COND2) * (positif(PERPPLAFNUV) * PERPPLAFNUV3ANT
+			+ (1 - positif(PERPPLAFNUV)) *max(0,PERPPLAFNUV3ANT - (RPERPV + RPERPMUTC  + RACCOTC- PERPPLAFVANT)))
+		    ;
+PERPPLAFNU3C = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFNUC) * PERPPLAFNUC3ANT
+	             + (1 - positif(PERPPLAFNUC)) 
+		    * max(0,PERPPLAFNUC3ANT - (RPERPC - PERPPLAFCANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) * (positif(PERPPLAFNUC) * PERPPLAFNUC3ANT
+			+ (1 - positif(PERPPLAFNUC)) *max(0,PERPPLAFNUC3ANT - (RPERPC + RPERPMUTV  + RACCOTV- PERPPLAFCANT)))
+   		+ positif(PERP_COND2) * 0
+		    ;
+PERPPLAFNU3P = (1 - positif(PERPIMPATRIE+0)) 
+		* (
+		  max(0,positif(PERPPLAFNUP) * PERPPLAFNUP3ANT
+	             + (1 - positif(PERPPLAFNUP+0)) 
+		    * (PERPPLAFNUP3ANT - (RPERPP - PERPPLAFPANT)))
+		    )
+		 + positif(PERPIMPATRIE+0) * 0 ;
+PERPPLAFNU2V = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV) 
+				* PERPPLAFNUV2ANT
+	          + (1 - positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV)) 
+		    * max(0,PERPPLAFNUV2ANT - (RPERPV - PERPPLAFVANT - PERPPLAFNUV3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) * 0
+   		+ positif(PERP_COND2) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV - RPERPMUTC- RACCOTC) 
+				* PERPPLAFNUV2ANT
+	          + (1 - positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV - RPERPMUTC - RACCOTC)) 
+		    * max(0,PERPPLAFNUV2ANT - (RPERPV + RPERPMUTC + RACCOTC) - (PERPPLAFVANT + PERPPLAFNUV3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+		;
+PERPPLAFNU2C = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC) 
+				* PERPPLAFNUC2ANT
+	          + (1 - positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC)) 
+		    * max(0,PERPPLAFNUC2ANT - (RPERPC - PERPPLAFCANT - PERPPLAFNUC3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		    * (positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC - RPERPMUTV - RACCOTV) 
+				* PERPPLAFNUC2ANT
+	          + (1 - positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC - RPERPMUTV - RACCOTV )) 
+		    * max(0,PERPPLAFNUC2ANT - (RPERPC + RPERPMUTV  + RACCOTV) - (PERPPLAFCANT + PERPPLAFNUC3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND2) * 0
+		;
+PERPPLAFNU2P = (1 - positif(PERPIMPATRIE+0)) 
+             * (
+             max(0,positif(PERPPLAFPANT + PERPPLAFNUP3ANT - RPERPP) 
+             * PERPPLAFNUP2ANT
+             + (1 - positif(PERPPLAFPANT + PERPPLAFNUP3ANT - RPERPP)) 
+             * max(0,PERPPLAFNUP2ANT - (RPERPP - PERPPLAFPANT - PERPPLAFNUP3ANT)))
+             )
+             + positif(PERPIMPATRIE+0) * 0 ;
+PERPPLAFNU1V = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTV - PERPPLAFNUNV - PERPPLAFNU3V - PERPPLAFNU2V,0)
+	       	+ positif(PERPIMPATRIE+0) * 0 )
+		+ positif(PERP_COND1) * 0
+		+ positif(PERP_COND2) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTV - PERPPLAFNUNV - PERPPLAFNU3V - PERPPLAFNU2V,0)
+   		+ positif(PERP_COND2) * 0)
+	       ;
+PERPPLAFNU1C = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTC - PERPPLAFNUNC - PERPPLAFNU3C - PERPPLAFNU2C,0)
+	       	+ positif(PERPIMPATRIE+0) * 0 )
+		+ positif(PERP_COND1) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTC - PERPPLAFNUNC - PERPPLAFNU3C - PERPPLAFNU2C,0)
+		    + positif(PERPIMPATRIE+0) * 0) 
+		+ positif(PERP_COND2) * 0
+	       ;
+PERPPLAFNU1P = (1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTP - PERPPLAFNUNP - PERPPLAFNU3P - PERPPLAFNU2P,0)
+	       + positif(PERPIMPATRIE+0) * 0 ;
+regle 31019:
+application : pro ,  oceans , iliad , batch  ;
+PERP_NONV = positif(
+		(1 - positif(PERP_INDV)) * (1 - positif(PRBRV+PALIV))
+		* (1 - positif(PERP_COTV))
+		* (1 - positif(PERP_INDC)) * positif(PRBRC+PALIC)
+	  ) ;
+PERP_NONC = BOOL_0AM * positif(
+		(1 - positif(PERP_INDC)) * (1 - positif(PRBRC+PALIC))
+		* (1 - positif(PERP_COTC))
+		* (1 - positif(PERP_INDV)) * positif(PRBRV+PALIV)
+	  ) ;
+PERP_NONP = PERP_BOOL * positif(PERP_NONC + PERP_NONV) ;
+regle 31020:
+application : pro ,  oceans , iliad , batch  ;
+pour i=V,C,P:
+PERPPLAFCOMi = positif(PERPIMPATRIE) * PERPPLAFi *3
+	      + (1 - positif(PERPIMPATRIE)) * 0;
+pour i=V,C,P:
+PERPPLAFIMPi = positif(PERPIMPATRIE) * (PERPPLAFCOMi + PERPPLAFi)
+	      + (1 - positif(PERPIMPATRIE)) * 0;
+regle 31021:
+application : pro ,  oceans , iliad , batch  ;
+PERP_MUT = positif(PERPMUTU)
+	   * positif(V_0AM+V_0AO)
+	   * (1 - positif(V_0AC+V_0AD+V_0AV))
+	   ;
+PERP_COND1 =  positif(PERP_MUT)
+	      *((1 - positif(PERPIMPATRIE))
+	      * positif(PERP_COTV  - PERPPLATVANT)
+	      * positif(PERPPLATCANT - PERP_COTC)
+	      + positif(PERPIMPATRIE)
+	      * positif(PERP_COTV  - PERPPLAFIMPV)
+	      * positif(PERPPLAFIMPC - PERP_COTC)
+	      );
+PERP_COND2 =  positif(PERP_MUT) 
+	      *((1 - positif(PERPIMPATRIE))
+	      * positif(PERP_COTC  - PERPPLATCANT)
+	      * positif(PERPPLATVANT - PERP_COTV)
+	      + positif(PERPIMPATRIE)
+	      * positif(PERP_COTC  - PERPPLAFIMPC)
+	      * positif(PERPPLAFIMPV - PERP_COTV)
+	      );
+PERPPLAFMUTV = positif(PERP_COND1)
+	      *((1 - positif(PERPIMPATRIE))
+	       * (PERPPLATVANT + max(0,PERPPLATCANT - PERP_COTC))
+	      + positif(PERPIMPATRIE)
+	       * (PERPPLAFIMPV + max(0,PERPPLAFIMPC - PERP_COTC))
+	      );
+PERPPLAFMUTC = positif(PERP_COND2)
+	      *((1 - positif(PERPIMPATRIE))
+	       * (PERPPLATCANT + max(0,PERPPLATVANT - PERP_COTV))
+	      + positif(PERPIMPATRIE)
+	       * (PERPPLAFIMPC + max(0,PERPPLAFIMPV - PERP_COTV))
+	      );
+regle 310211:
+application : pro ,  oceans , iliad , batch  ;
+PERPPLAFMU1V = positif(PERP_COND1) 
+	      *((1 - positif(PERPIMPATRIE)) * (PERPPLATVANT + RPERPMUTV)
+	      + positif(PERPIMPATRIE) * (PERPPLAFIMPV + RPERPMUTV))
+		+ positif(PERP_COND2) 
+	      *((1 - positif(PERPIMPATRIE)) * (PERPPLATVANT - RPERPMUTC)
+	      + positif(PERPIMPATRIE) * (PERPPLAFIMPV - RPERPMUTC));
+PERPPLAFMU1C = positif(PERP_COND1) 
+	      *((1 - positif(PERPIMPATRIE)) * (PERPPLATCANT - RPERPMUTV)
+	      + positif(PERPIMPATRIE) * (PERPPLAFIMPC - RPERPMUTV))
+		+ positif(PERP_COND2) 
+      		*((1 - positif(PERPIMPATRIE)) * (PERPPLATCANT + RPERPMUTC)
+      		+positif(PERPIMPATRIE) *(PERPPLAFIMPC + RPERPMUTC));
+regle 31022:
+application : pro ,  oceans , iliad , batch  ;
+pour i =V,C,P:
+DPERPi = PERP_COTi + RACCOTi;
+RPERPV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTV,PERPPLATVANT) + RACCOTV)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTV,PERPPLAFIMPV) + RACCOTV))
+	 + positif(PERP_COND1) 
+		* (min(PERP_COTV,PERPPLAFMUTV) + RACCOTV)
+	 + positif(PERP_COND2) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTV,PERPPLATVANT) + RACCOTV)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTV,PERPPLAFIMPV) + RACCOTV))
+	 ;
+RPERPC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTC,PERPPLATCANT) + RACCOTC)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTC,PERPPLAFIMPC) + RACCOTC))
+	 + positif(PERP_COND1) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTC,PERPPLATCANT) + RACCOTC)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTC,PERPPLAFIMPC) + RACCOTC))
+	 + positif(PERP_COND2) * (min(PERP_COTC,PERPPLAFMUTC) + RACCOTC)
+	 ;
+RPERPP = ( (1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTP,PERPPLATPANT) + RACCOTP)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTP,PERPPLAFIMPP) + RACCOTP)
+	  );	
+APERPV = (1 - V_CNR) * max(min(RPERPV,RBG - RPALE - RPALP - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD), 0);
+APERPC = (1 - V_CNR) * max(min(RPERPC,RBG - RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV), 0);
+APERPP = (1 - V_CNR) * max(min(RPERPP,RBG - RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV - APERPC), 0);
+TAPERPV = (1 - V_CNR) * max(min(RPERPV,RBG*(1-INDTEFF)+ TEFFREVTOT3 - RPALE - RPALP - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD), 0);
+TAPERPC = (1 - V_CNR) * max(min(RPERPC,RBG *(1-INDTEFF)+ TEFFREVTOT3- RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV), 0);
+TAPERPP = (1 - V_CNR) * max(min(RPERPP,RBG *(1-INDTEFF)+ TEFFREVTOT3- RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV - APERPC), 0);
+regle 310225:
+application : pro ,  oceans , iliad , batch  ;
+PERPDCOTV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTV,PERPPLATVANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTV,PERPPLAFIMPV))
+	 + positif(PERP_COND1) 
+		* min(PERP_COTV,PERPPLAFMU1V)
+	 + positif(PERP_COND2) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTV,PERPPLATVANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTV,PERPPLAFIMPV))
+	 ;
+PERPDCOTC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTC,PERPPLATCANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTC,PERPPLAFIMPC))
+	 + positif(PERP_COND1) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTC,PERPPLATCANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTC,PERPPLAFIMPC))
+	 + positif(PERP_COND2) * min(PERP_COTC,PERPPLAFMU1C)
+	 ;
+PERPDCOTP = ( (1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTP,PERPPLATPANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTP,PERPPLAFIMPP)
+	  );	
+regle 31023:
+application : pro ,  oceans , iliad , batch  ;
+RPERPMUTV = positif(PERP_COND1) 
+	      *((1 - positif(PERPIMPATRIE))
+		* max(0,min(PERP_COTV - PERPPLATVANT,PERPPLATCANT - PERP_COTC))
+	      + positif(PERPIMPATRIE)
+		* max(0,min(PERP_COTV - PERPPLAFIMPV,PERPPLAFIMPC - PERP_COTC))
+		);
+RPERPMUTC = positif(PERP_COND2) 
+	      *((1 - positif(PERPIMPATRIE))
+		* max(0,min(PERP_COTC - PERPPLATCANT,PERPPLATVANT - PERP_COTV))
+	      + positif(PERPIMPATRIE)
+		* max(0,min(PERP_COTC - PERPPLAFIMPC,PERPPLAFIMPV - PERP_COTV))
+		);
+regle 31024:
+application : pro ,  oceans , iliad , batch  ;
+IND_BTANC = null(V_IND_TRAIT -4)
+           * (positif(APPLI_PRO) * 1
+            + positif(APPLI_OCEANS) * 1
+	    + positif(APPLI_BATCH) * V_BTANC
+	    + positif(APPLI_ILIAD) * ( positif(V_CALCULIR) * 1
+				     + (1 - positif(V_CALCULIR)) * V_BTANC)
+	     )
+	     + null(V_IND_TRAIT - 5) * 1;
+pour i = V,C,P :
+PERPINDAFFi = positif(PERPINDi 
+		* (1 - V_CNR) * (1 - positif(ANNUL2042))
+		* ((null(IND_BTANC - 1)
+		* (positif(PERPIMPATRIE+0)
+		* positif(PERPPLAFNUNi+PERPPLAFi)
+		+ (1 - positif(PERPIMPATRIE+0))
+		* (present(PERPPLAFCi) + present(V_BTPERPi)) 
+		* (present(PERPPLAFNUi1) + present(V_BTPERPNUi1))
+	        * (present(PERPPLAFNUi2) + present(V_BTPERPNUi2))
+		* (present(PERPPLAFNUi3)+ present(V_BTPERPNUi3))
+	        ))
+		+((null(IND_BTANC - 2)
+		* positif(V_BTPERPi + V_BTPERPNUi1 + V_BTPERPNUi2 + V_BTPERPNUi3
+		     + PERPPLAFCi + PERPPLAFNUi1 + PERPPLAFNUi2 + PERPPLAFNUi3)))));
diff --git a/sources2010m_7_1/chap-plaf.m b/sources2010m_7_1/chap-plaf.m
new file mode 100644
index 0000000000000000000000000000000000000000..5d552719e7efda0ead6c16f7aec9fb729c9a59a9
--- /dev/null
+++ b/sources2010m_7_1/chap-plaf.m
@@ -0,0 +1,104 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+regle 8200:
+application : pro , oceans , iliad , batch  ;
+LIMIT10 = LIMPLAF + max(0, arr( max(0, RI1 + TONEQUO1) * (TXPLAF/100))) * (1 - positif( RMOND ))
+	             + max(0, arr( max(0, RMOND + TONEQUOM1) * (TXPLAF/100))) * positif( RMOND );
+LIMIT9 = (LIM25000 + max(0, arr( max(0, RI1 + TONEQUO1) * (10/100))) * (1 - positif( RMOND ))
+                     + max(0, arr( max(0, RMOND + TONEQUOM1) * (10/100))) * positif( RMOND ));
+		     
+regle 8201:
+application : pro , oceans , iliad , batch  ;
+NAPSANSPENA = NAPT - (PIRAME + PTAXA) * positif(abs(NAPT)) ; 
+AVFISCO = V_NAPTEO * (1 - 2 * V_NEGTEO) - (NAPT - (PIRAME + PTAXA) * positif(abs(NAPT))) ;
+regle 8202:
+application : pro , oceans , iliad , batch  ;
+AVFISCOPTER = AVPLAF9 + AVPLAF10 ;
+regle 8246:
+application : pro , oceans , iliad , batch  ;
+
+A10RSOCQK = max(0, arr( RSOC2 + RSOC4 - ((RSOC2 + RSOC4)*(TX65/100))))
+	    * (1 - V_CNR);
+regle 8247:
+application : pro , oceans , iliad , batch  ;
+
+A10RENT = (RENT7 + RENT9 + max(0 , RENT4 + RENT13 + RENT2 + RENT11 - (arr((RENT4+RENT13)*(TX50/100)) + arr((RENT2+RENT11)*(TX60/100)))))
+	    * (1 - V_CNR);
+regle 8248:
+application : pro , oceans , iliad , batch  ;
+
+BA10RNOUV  = arr(max(0 , (min ( RDSNO +REPSNO1+REPSNO2+REPSNO3, LIM_SOCNOUV2 * (1+BOOL_0AM)) - (REPSNO1+REPSNO2+REPSNO3)))
+	    * (TX25/100)) * (1 - V_CNR);
+
+A10RNOUV = max( min( BA10RNOUV , IDOM11-DEC11-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET-RTITPRISE
+                              -RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE-RSURV-RLOGDOM-RTOURNEUF-RTOURHOT
+			      -RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA-RCOMP-RCREAT-RRETU-RDONS-RLOGSOC-RDOMSOC1
+			      -RCELDO-RCELDOP-RCELREPDOP9-RCELMET-RCELNP-RCELREPNP9-RCELRRED09-RRESINEUV-RRESIVIEU-RMEUBLE-RREDMEUB) , 0 );
+
+regle 8249:
+application : pro , oceans , iliad , batch  ;
+
+BASE7UN = (min (RDFOREST, PLAF_FOREST * (1 + BOOL_0AM))) * (1 - V_CNR) ;
+BASE7UP = (max(0, min (FORTRA, PLAF_FOREST1 * (1 + BOOL_0AM)) - (REPFOR + REPSINFOR))) * (1 - V_CNR) ;
+BASE7UQ = (min (RDFORESTGES, PLAF_FOREST2 * (1 + BOOL_0AM)) ) * (1 - V_CNR) ; 
+BA10RFOR  = arr((BASE7UN + BASE7UP + BASE7UQ) * TX_FOREST / 100 ) ;
+
+A10RFOR = max( min( BA10RFOR , IDOM11-DEC11-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI
+			    -RFORET-RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV ) , 0 );
+
+regle 8250:
+application : pro , oceans , iliad , batch  ;
+AUBAINE10 = RFIPC + RAIDE + RRESTIMO + RPECHE + RCINE
+           + RTITPRISE + RINNO + RSOUFIP + RRIRENOV + A10RFOR + RPATNAT  
+           + RTOURNEUF + RTOURHOT+ RTOURTRA + RTOURES
+	   + RLOG6
+	   + RCELDO*(1-positif(CELLIERD1))
+	   + RCELMET*(1-positif(CELLIERM1))
+	   + RRESINEUV*positif(LOCRESINEUV)*(1-positif(MEUBLENP))
+	   + A10RNOUV
+	   + A10RENT
+           + A10RSOCQK
+           + CIDEVDUR + CIDEDUBAIL + CIGARD + CIADCRE + CIHABPRIN
+	   + CILOYIMP + CIPERT;
+AUBAINE9 = max(0, V_DIFTEOREEL - AUBAINE10);
+regle 8260:
+application : pro , oceans , iliad , batch  ;
+AVPLAF9 = (( V_DIFTEOREEL - LIMIT9) * positif( V_DIFTEOREEL - LIMIT9)
+                                   * ( 1-positif( AUBAINE10 - LIMIT10 ))
+          + ( LIMIT10 + AUBAINE9 - LIMIT9) * positif ( LIMIT10 + AUBAINE9 - LIMIT9)
+	                                   * positif( AUBAINE10 - LIMIT10))
+          * positif(V_DIFTEOREEL) ;
+AVPLAF10 = ( AUBAINE10 - LIMIT10) * positif( AUBAINE10 - LIMIT10) * positif(V_DIFTEOREEL);
+
+regle 8321:
+application : pro , oceans , iliad , batch  ;
+RFTEO = RFORDI + RFROBOR; 
+regle 8331:
+application : pro , oceans , iliad , batch  ;
+RFNTEO = (max( 0, RFTEO - (RFDORD + RFDANT)) - RFDHIS) * present(RFROBOR) + RRFI * (1-present(RFROBOR));
+regle 8341:
+application : pro , oceans , iliad , batch  ;
+RRFTEO = RFNTEO;
+ 
+
+
+
diff --git a/sources2010m_7_1/chap-teff.m b/sources2010m_7_1/chap-teff.m
new file mode 100644
index 0000000000000000000000000000000000000000..f3ed011a7bd184a470ebbe860e59baf520d902dd
--- /dev/null
+++ b/sources2010m_7_1/chap-teff.m
@@ -0,0 +1,234 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 99991000:
+application : pro ,  oceans , iliad , batch ;
+
+pour i = V,C,P:
+TMIB_TVENi = MIBVENi + AUTOBICVi + MIBNPVENi ;
+
+pour i = V,C,P:
+TMIB_TPRESi = MIBPRESi + AUTOBICPi + MIBNPPRESi ;
+
+pour i = V,C,P:
+TMIB_TTi = TMIB_TVENi + TMIB_TPRESi;
+regle 99991004:
+application : pro ,  oceans , iliad , batch ;
+
+
+pour i = V,C,P:
+TMIB_AVi = min ( TMIB_TVENi,
+                         (max(MIN_MBIC,
+                              arr( TMIB_TVENi*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+TMIB_VENTAi = min ( (MIBVENi + MIBNPVENi),
+                         (max(MIN_MBIC,
+                              arr( (MIBVENi + MIBNPVENi)*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+TMIB_AUTOAVi= TMIB_AVi - TMIB_VENTAi; 
+
+pour i = V,C,P:
+TPMIB_AVi = min ( (MIBVENi + AUTOBICVi),
+                         (max(MIN_MBIC,
+                              arr( (MIBVENi+ AUTOBICVi)*TX_MIBVEN/100))
+                         )
+              );
+
+
+pour i = V,C,P:
+TMIB_APi = min ( TMIB_TPRESi,
+                         (max(MIN_MBIC,
+                              arr( TMIB_TPRESi*TX_MIBPRES/100))
+                         )
+               );
+pour i = V,C,P:
+TMIB_PRESAi = min ( (MIBPRESi + MIBNPPRESi),
+                         (max(MIN_MBIC,
+                              arr( (MIBPRESi + MIBNPPRESi)*TX_MIBPRES/100))
+                         )
+               );
+pour i = V,C,P:
+TMIB_AUTOAPi= TMIB_APi - TMIB_PRESAi; 
+pour i = V,C,P:
+TPMIB_APi = min ( (MIBPRESi+ AUTOBICPi),
+                         (max(MIN_MBIC,
+                              arr( (MIBPRESi+ AUTOBICPi)*TX_MIBPRES/100))
+                         )
+               );
+
+
+
+regle 99991005:
+application : pro ,  oceans , iliad , batch ;
+
+pour i = V,C,P:
+TMIB_ABVi = max(0,arr(TMIB_AVi * (MIBVENi + AUTOBICVi)/ TMIB_TVENi));
+pour i = V,C,P:
+TMIB_ABNPVi = TMIB_AVi - TMIB_ABVi;
+
+pour i = V,C,P:
+TMIB_ABPi = max(0,arr(TMIB_APi * (MIBPRESi + AUTOBICPi)/ TMIB_TPRESi));
+pour i = V,C,P:
+TMIB_ABNPPi = TMIB_APi - TMIB_ABPi;
+
+
+regle 99991006:
+application : pro ,  oceans , iliad , batch ;
+pour i = V,C,P:
+TPMIB_NETVi = MIBVENi + AUTOBICVi - TPMIB_AVi;
+pour i = V,C,P:
+TPMIB_NETPi = MIBPRESi + AUTOBICPi - TPMIB_APi;
+
+pour i = V,C,P:
+TMIB_NETVi = MIBVENi + AUTOBICVi - TMIB_ABVi;
+TMIBNETVF = somme(i=V,C,P:TMIB_NETVi) ;
+pour i = V,C,P:
+TMIB_NETNPVi = MIBNPVENi - TMIB_ABNPVi;
+TMIBNETNPVF = somme(i=V,C,P:TMIB_NETNPVi);
+
+pour i = V,C,P:
+TMIB_NETPi = MIBPRESi + AUTOBICPi - TMIB_ABPi;
+TMIBNETPF = somme(i=V,C,P:TMIB_NETPi) ;
+pour i = V,C,P:
+TMIB_NETNPPi = MIBNPPRESi - TMIB_ABNPPi;
+TMIBNETNPPF = somme(i=V,C,P:TMIB_NETNPPi);
+
+TBICPABV =   arr((TMIB_ABVV * AUTOBICVV/(MIBVENV+AUTOBICVV))
+          + (TMIB_ABPV * AUTOBICPV/(MIBPRESV+AUTOBICPV)));
+
+TBICPROVC = max(0,arr((TMIB_ABVC * AUTOBICVC/(MIBVENC+AUTOBICVC)) + (TMIB_ABPC * AUTOBICPC/(MIBPRESC+AUTOBICPC))));
+
+TBICPABC =  min(TBICPROVC,arr((TMIB_ABVC * AUTOBICVC/(MIBVENC+AUTOBICVC))
+          + (TMIB_ABPC * AUTOBICPC/(MIBPRESC+AUTOBICPC))));
+
+TBICPROVP = max(0,arr((TMIB_ABVP * AUTOBICVP/(MIBVENP+AUTOBICVP)) + (TMIB_ABPP * AUTOBICPP/(MIBPRESP+AUTOBICPP))));
+
+TBICPABP =  min(TBICPROVP,arr((TMIB_ABVP * AUTOBICVP/(MIBVENP+AUTOBICVP))
+          + (TMIB_ABPP* AUTOBICPP/(MIBPRESP+AUTOBICPP))));
+
+TBICNPABV = arr((TMIB_ABNPVV /(MIBNPVENV))
+          + (TMIB_ABNPPV /(MIBNPPRESV)));
+TBICNPPROVC = max(0,arr((TMIB_ABNPVC /(MIBNPVENC)) + (TMIB_ABNPPC /(MIBNPPRESC))));
+TBICNPABC = min(TBICNPPROVC,arr((TMIB_ABNPVC /(MIBNPVENC))
+          + (TMIB_ABNPPC /(MIBNPPRESC))));
+TBICNPPROVP = max(0,arr((TMIB_ABNPVP /(MIBNPVENP)) + (TMIB_ABNPPP /(MIBNPPRESP))));
+TBICNPABP = min(TBICNPPROVP,arr((TMIB_ABNPVP /(MIBNPVENP))
+          + (TMIB_ABNPPP /(MIBNPPRESP))));
+ABICPDECV = AUTOBICVV + AUTOBICPV;
+ABICPDECC = AUTOBICVC + AUTOBICPC;
+ABICPDECP = AUTOBICVP + AUTOBICPP;
+ABICPNETV =  AUTOBICVV + AUTOBICPV - TMIB_AUTOAVV - TMIB_AUTOAPV;
+ABICPNETC =  AUTOBICVC + AUTOBICPC - TMIB_AUTOAVC -TMIB_AUTOAPC;
+ABICPNETP =  AUTOBICVP + AUTOBICPP - TMIB_AUTOAVP -TMIB_AUTOAPP;
+
+
+
+AUTOBICPNET = ABICPNETV + ABICPNETC + ABICPNETP;
+regle 99991009:                                                                    
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPETOTi = BNCPROi + AUTOBNCi + BNCNPi ;
+regle 99991010:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPEBASABi=TSPETOTi;
+pour i = V,C,P:                                                                 
+TSPEABi = arr((max(MIN_SPEBNC,(TSPEBASABi * SPETXAB/100))) * 
+                       positif_ou_nul(TSPETOTi - MIN_SPEBNC)) +
+          arr((min(MIN_SPEBNC,TSPEBASABi )) * 
+                       positif(MIN_SPEBNC - TSPETOTi)); 
+regle 99991011:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPEABPi = arr((TSPEABi * (BNCPROi + AUTOBNCi))/TSPETOTi);                                  
+pour i = V,C,P:                                                                 
+TBNCPABi = arr(TSPEABPi * AUTOBNCi/(BNCPROi+AUTOBNCi)); 
+pour i = V,C,P:                                                                 
+TBNCTOTABi = arr(TSPEABi * (AUTOBNCi)/(TSPETOTi)); 
+
+pour i = V,C,P:                                                                 
+TSPEABNPi = TSPEABi - TSPEABPi;                                  
+pour i = V,C,P:                                                                 
+TBNCNPABi = (TBNCTOTABi - TBNCPABi) ;
+
+pour i = V,C,P:                                                                 
+ABNCPDECi =  AUTOBNCi; 
+pour i = V,C,P:                                                                 
+ABNCPNETi =  AUTOBNCi - TBNCPABi; 
+pour i = V,C,P:                                                                 
+HONODECi = XHONOi + XHONOAAi;
+pour i = V,C,P:                                                                 
+HONONETi = arr(XHONOi * MAJREV) + XHONOAAi ;
+AUTOBNCPNET = ABNCPNETV + ABNCPNETC + ABNCPNETP;
+HONONET = HONONETV + HONONETC + HONONETP;
+regle 99991012:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPENETPi = max (0,(BNCPROi  + AUTOBNCi - TSPEABPi));
+pour i = V,C,P:                                                                 
+TSPENETNPi = max (0,(BNCNPi - TSPEABNPi));
+pour i = V,C,P:                                                                 
+TSPENETi = TSPENETPi + TSPENETNPi;
+TSPENET = somme(i=V,C,P:(TSPENETi));
+regle 99991020:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TXSPEAAi = BNCREi + XHONOAAi - BNCDEi;
+regle 99991022:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TXSPEHi = max(0,arr((BNHREi + XHONOi - BNHDEi)*MAJREV))
+	 + min(0,(BNHREi + XHONOi - BNHDEi));
+regle 99991024:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TXSPENETi = TXSPEAAi + TXSPEHi;
+regle 99991026:
+application : pro , oceans , iliad , batch  ;                          
+TXSPENET = somme(i=V,C,P:(TXSPENETi));
+regle 99991030:
+application : pro , oceans , iliad , batch  ;                          
+TEFFBENEFTOT =  TSPENET + TXSPENET + TMIBNETVF + TMIBNETNPVF + TMIBNETPF + TMIBNETNPPF * (1 - positif(IPTEFP + IPTEFN + IPMOND));
+regle 99991040:
+application : pro , oceans , iliad , batch  ;
+TBICPF = TMIBNETVF + TMIBNETPF + MIB_NETCT  ;
+TBICNPF =max(0,somme(i=V,C,P:BINTAi+BINHTAi)+TMIBNETNPVF + TMIBNETNPPF +MIB_NETNPCT - DEFNP);
+TBNN =  somme(i=V,C,P:TSPENETPi) + TXSPENET + max(0,somme(i=V,C,P:TSPENETNPi) 
+				 + NOCEPIMP-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2-DABNCNP1) + SPENETCT + SPENETNPCT ;
+regle 99991055:
+application : pro , oceans , iliad , batch  ;                          
+TEFFREVTOT =    INDTEFF *
+                (
+		(TBICPF + TBICNPF + TBNN 
+		+ BIHTAV + BIHTAC + BIHTAP
+		+ BIPTAV + BIPTAC + BIPTAP + RFROBOR * V_INDTEO
+	        + ESFP + TSPR + RCM + RRFI +PLOCNETF + NPLOCNETF
+		+ max(BANOR,0) + REB +
+		 min(BANOR,0) *
+                 positif(SEUIL_IMPDEFBA + 1 
+		 - (REVTP-BA1)
+                 - REVQTOT))
+		+ R1649 - DAR - DPA - DFA - DEDIV - APERPV - APERPC - APERPP - NUREPAR - ABTPA - ABTMA-DDCSG
+		)
+		;
diff --git a/sources2010m_7_1/chap-tl.m b/sources2010m_7_1/chap-tl.m
new file mode 100644
index 0000000000000000000000000000000000000000..6334afb48916ddf3de85c243ac3b2e0b6a648331
--- /dev/null
+++ b/sources2010m_7_1/chap-tl.m
@@ -0,0 +1,97 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 21700:
+application : oceans , iliad ;
+
+
+RAP_RNI    = RNI_TL - RNI_INIT ;
+RAP_ETR    = ETR_TL - ETR_INIT ;
+RAP_PVQ    = PVQ_TL - PVQ_INIT ;
+RAP_PV     = PV_TL - PV_INIT ;
+RAP_RI     = - RI_TL + RI_INIT ;
+RAP_CI     = RAPCI_TL ;
+RAP_CRDS   = RDS_TL - CRDS_INIT ;
+RAP_TAXAGA = TAXAGA_TL - TAXAGA_INIT ;
+RAP_CSAL   = CSALA_TL - CSAL_INIT ;
+RAP_CDIS   = CDISA_TL - CDIS_INIT ;
+
+
+NUM_IR_TL     = RAP_RNI
+               + RAP_ETR
+               + RAP_PVQ
+               + RAP_PV
+               + RAP_RI 
+               + RAP_CI ;
+
+NUM_CS_TL     = RAP_CRDS ;
+
+NUM_TAXAGA_TL = RAP_TAXAGA ; 
+
+NUM_CSAL_TL   = RAP_CSAL ;
+NUM_CDIS_TL   = RAP_CDIS ;
+
+regle 21710 :
+application : oceans , iliad ;
+
+
+DEN_IR_TL     = RNI_RECT
+               + ETR_RECT
+               + PVQ_RECT
+               + PV_RECT
+               + RI_RECT
+               + CI_RECT 
+	        ;
+
+DEN_CS_TL     = CRDS_RECT ;
+
+DEN_TAXAGA_TL = TAXAGA_RECT ;
+
+DEN_CSAL_TL   = CSAL_RECT ;
+DEN_CDIS_TL   = CDIS_RECT ;
+
+regle 21720 :
+application : oceans , iliad ;
+enchaineur : ENCH_TL ;
+
+
+TL_IR = (1 - positif(TL_MF*positif(MFIR+0)+FLAG_RETARD+FLAG_DEFAUT+PASS_TLIR))
+            *( positif(   positif (NUM_IR_TL+0)
+                          * positif (DEN_IR_TL+0)
+                          * positif (NUM_IR_TL / DEN_IR_TL  - 0.05 )
+                     )
+            )
+           + positif(TL_MF*positif(MFIR+0)+FLAG_RETARD+FLAG_DEFAUT+PASS_TLIR) ;
+
+TL_CS = (1 - positif(TL_MF*positif(MFCS)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF*positif(MFCS) + positif (NUM_CS_TL / DEN_CS_TL  - 0.05 )) )
+         + positif(TL_MF*positif(MFCS)+FLAG_RETARD+FLAG_DEFAUT);
+
+
+TL_TAXAGA = ( 1 - positif( TL_MF * positif(MFTAXAGA)+FLAG_RETARD+FLAG_DEFAUT + PASS_TLTAXAGA ))
+		 * ( positif(TL_MF*positif(MFTAXAGA) + positif(NUM_TAXAGA_TL / DEN_TAXAGA_TL - 0.05 )
+		    + TL_IR * null(NUM_TAXAGA_TL) * positif(DEN_TAXAGA_TL) ))
+            + positif( TL_MF * positif(MFTAXAGA)+FLAG_RETARD+FLAG_DEFAUT + PASS_TLTAXAGA ) ;
+
+TL_CSAL = (1 - positif(TL_MF * positif(MFCSAL)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFCSAL) + positif (NUM_CSAL_TL / DEN_CSAL_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFCSAL)+FLAG_RETARD+FLAG_DEFAUT);
+
+TL_CDIS = (1 - positif(TL_MF * positif(MFCDIS)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFCDIS) + positif (NUM_CDIS_TL / DEN_CDIS_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFCDIS)+FLAG_RETARD+FLAG_DEFAUT);
+
diff --git a/sources2010m_7_1/coc1.m b/sources2010m_7_1/coc1.m
new file mode 100644
index 0000000000000000000000000000000000000000..1698b1e5c5b9c8e49c8021198ded28b058506037
--- /dev/null
+++ b/sources2010m_7_1/coc1.m
@@ -0,0 +1,269 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 1507:
+application : pro , oceans ,  iliad  , batch;
+si
+    (
+ ( FRNV > 0 et (present(TSHALLOV) + present(ALLOV)) = 0 )
+     ou
+ ( FRNC > 0 et (present(TSHALLOC) + present(ALLOC)) = 0 )
+     ou
+ ( FRN1 > 0 et (present(TSHALLO1) + present(ALLO1)) = 0 )
+     ou
+ ( FRN2 > 0 et (present(TSHALLO2) + present(ALLO2)) = 0 )
+     ou
+ ( FRN3 > 0 et (present(TSHALLO3) + present(ALLO3)) = 0 )
+     ou
+ ( FRN4 > 0 et (present(TSHALLO4) + present(ALLO4)) = 0 )
+    )
+alors erreur A143;
+verif 1508:
+application : pro , oceans ,  iliad  , batch;
+si ( 
+   (TSHALLOV +0) < (GSALV + 0)
+   et
+   (GSALV + 0) > 0
+   )
+alors erreur A14401;
+verif 1509:
+application : pro , oceans ,  iliad  , batch;
+si ( 
+   (TSHALLOC +0) < (GSALC + 0)
+   et
+   (GSALC + 0) > 0
+   )
+alors erreur A14402;
+verif 153:
+application : pro , oceans,iliad , batch ;
+si
+   (
+       (positif(PPETPV)=1 et positif(PPENHV)=1)
+    ou (positif(PPETPC)=1 et positif(PPENHC)=1)
+    ou (positif(PPETPP1)=1 et positif(PPENHP1)=1)
+    ou (positif(PPETPP2)=1 et positif(PPENHP2)=1)
+    ou (positif(PPETPP3)=1 et positif(PPENHP3)=1)
+    ou (positif(PPETPP4)=1 et positif(PPENHP4)=1)
+   )
+alors erreur A153;
+verif 148:
+application : pro , iliad , batch ;
+si
+   (
+     V_NOTRAIT + 0 < 20
+     et
+     positif ( present ( IPTEFP ) + present ( IPTEFN ) + 0 ) = 0 
+     et
+     positif ( positif ( TSELUPPEV + 0 ) + positif ( TSELUPPEC + 0 )) = 1 
+     et
+     positif ( IND_TDR + 0 ) = 0
+   )
+   ou
+   (
+     V_NOTRAIT + 0 >= 20
+     et
+     positif ( present ( IPTEFP ) + present ( IPTEFN ) + 0 ) = 0 
+     et
+     positif ( positif ( TSELUPPEV + 0 ) + positif ( TSELUPPEC + 0 )) = 1 
+     et
+     positif_ou_nul ( IND_TDR ) = 0
+   )
+alors erreur A148;
+verif non_auto_cc 1513:
+application : pro , oceans ,  iliad , batch ;
+si (
+     ( DETSV=1 et
+       positif(present(TSHALLOV) + present(ALLOV) + present(CARTSV) + present(CARTSNBAV) + present(REMPLAV) + present(REMPLANBV)) = 0 )
+ ou
+     ( DETSC=1 et 
+       positif(present(TSHALLOC) + present(ALLOC) + present(CARTSC) + present(CARTSNBAC) + present(REMPLAC) + present(REMPLANBC))=0 )
+ ou
+     ( DETS1=1 et 
+       positif(present(TSHALLO1) + present(ALLO1) + present(CARTSP1) + present(CARTSNBAP1) + present(REMPLAP1) + present(REMPLANBP1))=0 )
+ ou
+     ( DETS2=1 et 
+       positif(present(TSHALLO2) + present(ALLO2) + present(CARTSP2) + present(CARTSNBAP2) + present(REMPLAP2) + present(REMPLANBP2))=0 )
+ ou
+     ( DETS3=1 et
+       positif(present(TSHALLO3) + present(ALLO3) + present(CARTSP3) + present(CARTSNBAP3) + present(REMPLAP3) + present(REMPLANBP3))=0 )
+ ou
+     ( DETS4=1 et
+       positif(present(TSHALLO4) + present(ALLO4) + present(CARTSP4) + present(CARTSNBAP4) + present(REMPLAP4) + present(REMPLANBP4))=0 )
+	)
+alors erreur A146;
+verif 1600:
+application : pro , oceans ,  iliad , batch ;
+si
+
+( DPVRCM > 0 et ((BPVRCM + BPVCESDOM + PEA) > 0 ))
+
+alors erreur A320;
+verif 1601:
+application : pro , oceans ,  iliad , batch ;
+si
+
+   positif(ABDETPLUS) + positif(ABDETMOINS) = 2 
+
+alors erreur A321;
+verif 1602:
+application : pro , oceans ,  iliad , batch ;
+si
+   BPVCESDOM + 0 > 0  
+   et 
+   V_EAD + V_EAG + 0 = 0
+
+alors erreur A322 ;
+verif 1608:
+application : pro , oceans , iliad , batch ;
+si
+   positif(ABIMPPV + 0) = 1 
+   et 
+   positif(ABIMPMV + 0) = 1 
+
+alors erreur A323 ;
+verif 1611:
+application : pro , oceans , iliad , batch ;
+
+si
+   positif(BPVOPTCS + 0) = 1
+   et
+   positif(BPV18 + BPCOPT + BPV40 + BPCOSAV + BPCOSAC + 0) = 0
+
+alors erreur A324 ;
+verif 1616:
+application : pro , iliad , batch ;
+si
+          (
+                ( RDPRESREPORT +0  > V_BTPRESCOMP  +  LIM_REPORT )
+           ou 
+                ( PRESCOMP2000 + PRESCOMPJUGE  +0 > LIM_REPORT  et
+                   V_BTPRESCOMP  + 0> 0 )
+           ou
+                ( RDPRESREPORT +0  > LIM_REPORT et V_BTPRESCOMP+0 = 0 )
+          )
+          et
+          (
+              1 - V_CNR > 0
+          )
+          et
+          (
+              RPRESCOMP > 0
+          )
+         et
+          ((APPLI_ILIAD = 1 et V_NOTRAIT+0 < 16)
+             ou APPLI_PRO = 1
+             ou ((V_BTNI1+0) non dans (50,92) et APPLI_BATCH = 1))
+alors erreur DD15;
+verif 1606:
+application : pro , iliad , batch ;
+si
+(   (1 - V_CNR > 0) et 
+(RCMRDS > (LIM_CONTROLE + RCMABD 
+                        + RCMAV 
+                        + RCMHAD 
+                        + RCMHAB  
+			+ REVACT
+			+ PROVIE
+			+ DISQUO 
+			+ INTERE  ))
+)
+alors erreur DD14;
+verif 1603:
+application : batch , iliad, pro, oceans ;
+si (
+   RFMIC > 0 et ( RFORDI > 0 ou RFDORD > 0 ou RFDHIS > 0 ou FONCI > 0 ou REAMOR > 0 et FONCINB > 0 ou REAMORNB > 0)
+   )
+alors erreur A420;
+verif 1604:
+application : batch , iliad , pro , oceans ;
+si ( V_IND_TRAIT > 0)
+   et
+   (
+   RFMIC >  LIM_MICFON
+   )
+alors erreur A421;
+verif 422:
+application : batch , iliad , pro , oceans ;
+si 
+  (
+   LOYIMP > 0 et ( present(RFORDI) = 0
+		et 
+		   present(FONCI) = 0
+		et 
+		   present(FONCINB) = 0
+		et 
+		   present(REAMOR) = 0
+		et 
+		   present(REAMORNB) = 0
+		et 
+		   present(RFDORD) = 0
+                et 
+		   present(RFDHIS) = 0
+		et 
+		   present(RFMIC) = 0)
+  )
+alors erreur A422;
+verif 1609:
+application : batch , iliad, pro, oceans ;
+
+ si (
+    (RFROBOR > 0 et RFDANT > 0) et (present(RFORDI)=0
+		                   et present(RFDORD)=0
+                                   et present(RFDHIS)=0
+                                    )
+    )
+alors erreur A423;
+verif 1610:
+application : batch , iliad, pro, oceans ;
+
+si 
+   RFROBOR > 0 et (FONCI > 0 ou REAMOR > 0)
+
+alors erreur A424 ;
+verif 1605:
+application : batch, iliad, pro ;
+si
+	(
+	RFMIC > 0 et RFDANT > 0
+
+	)
+alors erreur DD11;
+verif 1607:
+application : batch ,iliad;
+si
+	(
+	BAILOC98 > V_BTBAILOC98        
+	ou
+	( present(BAILOC98) = 1 et present(V_BTBAILOC98) = 0)
+	)
+alors erreur DD24;
+verif 1538:                                                                    
+application : pro , oceans ,  iliad , batch ;                                 
+si ( 
+( RCSV > 0 et SOMMEA538VB = 0 )
+
+ou
+( RCSC > 0 et SOMMEA538CB = 0 )
+
+ou
+( RCSP > 0 et SOMMEA538PB = 0 )
+
+)
+alors erreur A538;
diff --git a/sources2010m_7_1/coc2.m b/sources2010m_7_1/coc2.m
new file mode 100644
index 0000000000000000000000000000000000000000..1fbbd2587b4fe891c676531032b85f8322f79b09
--- /dev/null
+++ b/sources2010m_7_1/coc2.m
@@ -0,0 +1,1044 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 2500:
+application : pro , iliad , batch;
+si
+  (
+   FRNV > (TSHALLOV + ALLOV) * 0.10
+  et
+   COSBV > 0 
+  et 
+   PRBRV + PALIV + 0 = 0
+  )
+alors erreur I00101;
+verif 2501:
+application : pro , iliad , batch;
+si
+(
+(FRNC > (TSHALLOC+ ALLOC) *0.10)
+et
+COSBC > 0 et (PRBRC + PALIC + 0 = 0)
+)
+alors erreur I00102;
+verif 2502:
+application : pro , iliad, batch;
+si
+(
+  (
+   (
+    ( FRN1 > (TSHALLO1 + ALLO1) *0.10)
+          et (PRBR1 + PALI1 + 0 = 0)
+   )
+   ou
+   (
+     ( FRN2 > (TSHALLO2 + ALLO2) *0.10)
+          et (PRBR2 + PALI2 + 0 = 0)
+   )
+   ou
+   (
+     ( FRN3 > (TSHALLO3 + ALLO3) *0.10)
+          et (PRBR3 + PALI3 + 0 = 0)
+   )
+   ou
+   (
+     ( FRN4 > (TSHALLO4 + ALLO4) *0.10)
+          et (PRBR4 + PALI4 + 0 = 0)
+   )
+  ) et COSBP > 0
+)
+alors erreur I00103;
+verif 2503:
+application : pro , iliad ;
+si (
+		((RDSYVO > 0) et (positif(COSBV+0) = 0))
+	ou
+		((RDSYCJ > 0) et (positif(COSBC+0) = 0))
+	ou
+		((RDSYPP > 0) et (positif(COSBP+0) = 0))
+	)
+alors erreur IM07;
+verif 2504:
+application : pro , iliad ;
+si
+  (
+  V_IND_TRAIT > 0
+  et
+  CREPROSP > LIM_PROSP
+  )
+alors erreur IM08;
+verif 2511:
+application : pro , iliad ;
+si
+(
+((RDREP > 0) et (present(RDFREP) = 0))
+ou
+((RDDOUP > 0) et (present(RDFDOU) = 0))
+)
+alors erreur IM06;
+verif 2540:
+application : batch , iliad ;
+si 
+  (
+  (
+   RFORDI + FONCI + REAMOR 
+ + RFDORD  
+ + RFDHIS  
+ + RFDANT  
+   > LIM_BTREVFONC) et (V_BTANC = 1) et (V_BTIRF = 0)
+  )
+alors erreur DD26;
+verif 5108:
+application : batch , iliad,pro ;
+si 
+ (
+   V_IND_TRAIT+0 = 4 et 
+   (1 - V_CNR > 0) et
+   ((REPSNO3 > LIM_CONTROLE + V_BTPME3)
+   ou
+   (REPSNO2 > LIM_CONTROLE + V_BTPME2)
+   ou
+   (REPSNO1 > LIM_CONTROLE + V_BTPME1))
+   et (positif(NATIMP)=1)
+ )
+alors erreur DD27;
+verif 51091:
+application : batch , iliad,pro ;
+si 
+ (
+  (CREPROSP > 0) et (positif(V_BTCREPROSP)=1)
+ )
+alors erreur DD28;
+verif 5110:
+application : batch , iliad,pro ;
+si 
+ (
+  ((REPDON03 > LIM_CONTROLE + V_BTDONS5)
+   ou
+   (REPDON04 > LIM_CONTROLE + V_BTDONS4)
+   ou
+   (REPDON05 > LIM_CONTROLE + V_BTDONS3)
+   ou
+   (REPDON06 > LIM_CONTROLE + V_BTDONS2)
+   ou
+   (REPDON07 > LIM_CONTROLE + V_BTDONS1))
+   et (positif(NATIMP)=1)
+   et (V_CNR +0 = 0)
+ )
+alors erreur DD29;
+verif 3900:
+application : batch , iliad , pro ;
+si
+
+ positif(PERPIMPATRIE + 0) = 1
+ et
+ positif(V_BTPERPIMP + 0) = 1
+
+alors erreur DD35 ;
+verif 3910:
+application : batch , iliad , pro ;
+si
+
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  PTZDEVDUR > 0	
+  et
+  V_BTRFRN2 + 0 > PLAF_RFRN2  
+
+alors erreur DD3601;
+verif 3911:
+application : batch , iliad , pro ;
+si
+
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  PTZDEVDUR > 0	
+  et
+  positif(V_BTRFRN2 + 0) = 0  
+
+alors erreur DD3602;
+verif 3920:
+application : batch , iliad , pro ;
+si
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  positif(V_BTRFRN2 + 0) = 1
+  et
+ ( pour un i dans V,C,P:
+   ( AUTOBICVi > LIM_MIBVEN )
+   ou
+   ( AUTOBICPi > LIM_MIBPRES )
+   ou
+   ( AUTOBICVi + AUTOBICPi > LIM_MIBVEN ) 
+   ou
+   ( AUTOBNCi > LIM_SPEBNC )
+ )
+alors erreur DD37;
+verif 3930:
+application : batch , iliad , pro ;
+si
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  V_BTRFRN2 + 0 > arr(LIM_BARN2 * V_BTNBP2)
+  et
+ ( pour un i dans V,C,P:
+     positif(AUTOBICVi + AUTOBICPi + AUTOBNCi ) = 1 )
+alors erreur DD3801;
+verif 3940:
+application : batch , iliad , pro ;
+si
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  positif(V_BTRFRN2 + 0) = 0
+  et
+ ( pour un i dans V,C,P:
+     positif(AUTOBICVi + AUTOBICPi + AUTOBNCi ) = 1 )
+
+alors erreur DD3802;
+verif 2560:
+application : pro , oceans , iliad  ;
+si
+        (V_IND_TRAIT > 0)
+       et
+	(
+	RDENS > 9 
+        ou
+	RDENL > 9 
+        ou
+	RDENU > 9 
+        ou
+	RDENSQAR > 9 
+        ou
+	RDENLQAR > 9 
+        ou
+	RDENUQAR > 9 
+	)
+alors erreur A00103;
+verif 2559:
+application : pro , oceans , iliad  ;
+si
+	(V_IND_TRAIT > 0)
+	et
+	(
+	NBACT > 9
+	)
+alors erreur A00102;
+verif 2558:
+application : pro , batch , oceans , iliad  ;
+si
+	(V_IND_TRAIT > 0)
+	et
+	(
+	RNBRLOG > 3 
+	)
+alors erreur A732;
+verif 2554:
+application : pro , batch , oceans , iliad  ;
+si
+
+   RNBRLOG = 1 
+   et
+   CICHO2BAIL + CIBOIBAIL + CINRJBAIL + CIDEP15 > PLAF_DEVDUR
+
+alors erreur A73301;
+verif 2555:
+application : pro , batch, oceans , iliad  ;
+si
+
+   RNBRLOG = 2 
+   et
+   CICHO2BAIL + CIBOIBAIL + CINRJBAIL + CIDEP15 > PLAF_DEVDUR * 2
+
+alors erreur A73302;
+verif 2556:
+application : pro , batch , oceans , iliad  ;
+si
+
+   RNBRLOG = 3 
+   et
+   CICHO2BAIL + CIBOIBAIL + CINRJBAIL + CIDEP15 > PLAF_DEVDUR * 3
+
+alors erreur A73303;
+verif 250:
+application : pro , batch , oceans , iliad  ;
+si
+
+  positif(RNBRLOG + 0) = 0
+  et
+  positif(CICHO2BAIL + CIBOIBAIL + CINRJBAIL + CIDEP15 + 0) = 1
+
+alors erreur A73401;
+verif 251:
+application : pro , batch , oceans , iliad  ;
+si
+
+  positif(RNBRLOG + 0) = 1
+  et
+  positif(CICHO2BAIL + CIBOIBAIL + CINRJBAIL + CIDEP15 + 0) = 0
+
+alors erreur A73402;
+verif 252:
+application : pro , batch , oceans , iliad  ;
+si
+
+  positif(PTZDEVDUR + 0) = 1
+  et
+  positif(CRECHOCON2 + CRECHOBOI + CRENRJRNOUV + CRECHOBAS + 0) = 0
+
+alors erreur A735;
+verif 253:
+application : pro , batch , oceans , iliad  ;
+si
+
+   positif(INDLOCNEUF + 0) = 1
+   et
+   positif(INVLOCNEUF + 0) = 0
+
+alors erreur A73701;
+verif 254:
+application : pro , batch , oceans , iliad  ;
+si
+
+   positif(INDLOCRES + 0) = 1
+   et
+   positif(INVLOCRES + 0) = 0
+
+alors erreur A73702;
+verif 260:
+application : pro , batch , oceans , iliad  ;
+si
+
+   positif(SINISFORET + 0) = 1
+   et
+   positif(RDFORESTRA + 0) = 0
+
+alors erreur A738;
+verif 261:
+application : pro , batch , oceans , iliad  ;
+si
+   positif(OPTPLAF15 + 0) = 1
+   et
+   positif(INVLGAUTRE
+            + INVLGDEB2010 + INVLOG2009
+            + INVSOC2010 + INVLOGSOC + INVSOCNRET
+            + INVRETRO1 + INVRETRO2
+	    + INVIMP + INVAUTRE + INVDOMRET50
+	    + INVDOMRET60 + NRETROC50 
+	    + NRETROC40 + INVDIR2009
+	    + INVAUTEN2009 + INVENDI + AUTRENT + 0) = 0
+alors erreur A739;
+verif 262:
+application : pro , batch , oceans , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   (INVDIR2009 +INVIMP+ 0) > PLAF_INVDOM2 
+
+alors erreur A74001;
+verif 263:
+application : pro , batch , oceans , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   INVDIR2009 + 0 > INVDIRENT + 0
+
+alors erreur A74002;
+verif 264:
+application : pro , batch , oceans , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   INVIMP + 0 > INVINIT + 0
+
+alors erreur A74003;
+verif 265:
+application : pro , batch , oceans , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   REPMEUBLE + 0 > PLAF_99999
+
+alors erreur A743;
+verif 266:
+application : pro , batch , oceans , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   RISKTEC + 0 > PLAF_TEC
+
+alors erreur A744;
+verif 2561:
+application : pro , oceans , iliad ,batch ;
+si
+(
+	RDCOM > 0 et
+
+	SOMMEA700 = 0
+)
+alors erreur A700;
+verif 2562:
+application :  pro , iliad , batch ;
+si
+  (
+    NBACT > SOMMEA700
+
+    et
+    (V_REGCO+0) dans (1,3,5,6)
+  )
+alors erreur DD19;
+verif 2565:
+application : batch , iliad ;
+si
+(
+RDCOM > 0 et NBACT + 0  = 0
+  et ( positif(NATIMP)=1 )
+)
+alors erreur I009;
+verif 2566:
+application : batch , iliad ;
+si
+(
+CHRFAC > 0 et CHNFAC + 0  = 0
+  et ( positif(NATIMP)=1 )
+  et V_CNR = 0
+)
+alors erreur I008;
+verif 2572:
+application : batch , iliad, pro ;
+si
+(
+ positif(RNOUV) = 1 
+ et 
+ positif(RDSNO) = 1 
+ et 
+ positif(CINE1 + CINE2 ) = 1
+)
+alors erreur DD02;
+verif 2575:
+application : batch , iliad , pro;
+si
+(
+  (1 - V_CNR > 0 )
+ et
+  (( RVAIDE + CREAIDE + 0) > (LIM_AIDOMI3 * (1 - positif(PREMAIDE)) + LIM_PREMAIDE2 * positif(PREMAIDE))
+  et  
+     INAIDE = 1 )
+  et
+  (    positif(V_0AP+0)=0 
+    et positif(V_0AF+0)=0
+    et positif(V_0CG+0)=0
+    et positif(V_0CI+0)=0
+    et positif(V_0CR+0)=0 
+  ) 
+)
+alors erreur DD21;
+verif 2610:
+application : pro , oceans , batch , iliad ;
+
+si
+(
+RDENS + RDENL + RDENU > V_0CF + V_0DJ + V_0DN + 0 
+)
+alors erreur A70701 ;
+verif 2615:
+application : pro , oceans , batch , iliad ;
+
+si
+(
+RDENSQAR + RDENLQAR + RDENUQAR > V_0CH + V_0DP + 0 
+)
+alors erreur A70702 ;
+verif 2651:
+application : pro , oceans , batch , iliad  ;
+
+si
+(
+ SOMMEA70901 > 1
+)
+alors erreur A70901;
+verif 2652:
+application : pro , oceans , batch , iliad  ;
+si
+(
+ positif(INVLOCHOT+0) = 1
+ et
+ positif(SOMMEA70902) = 1
+)
+alors erreur A70902;
+verif 2642:
+application : pro , oceans ,  iliad , batch;
+si
+ 
+  V_IND_TRAIT > 0 
+  et 
+  (
+   REPINVLOCINV + 0 > LIMLOC2
+   ou
+   RINVLOCINV + 0 > LIMLOC2
+   ou
+   REPINVLOCREA + 0 > LIMLOC2
+   ou
+   RINVLOCREA + 0 > LIMLOC2
+   ou
+   INVLOCHOTR1 + 0 > LIMLOC2
+   ou 
+   INVLOCHOTR + 0 > LIMLOC2
+  )
+
+alors erreur A708;
+verif 2644:
+application :  iliad, pro ,batch;
+si
+          (
+                ( REPINVDOMPRO1 +0  > V_BTR5DOMPRO + LIM_REPORT )
+           ou
+                ( REPINVDOMPRO2 +0  > V_BTR4DOMPRO + LIM_REPORT  )
+           ou
+                ( REPINVDOMPRO3 +0  > V_BTR3DOMPRO + LIM_REPORT  )
+           ou
+                ( REPINVDOMPRO4 +0  > V_BTR2DOMPRO + LIM_REPORT  )
+           ou
+                ( REPINVDOMPRO1 +0  > LIM_REPORT et V_BTR5DOMPRO+0 = 0 )
+           ou
+                ( REPINVDOMPRO2 +0  > LIM_REPORT et V_BTR4DOMPRO+0 = 0 )
+           ou
+                ( REPINVDOMPRO3 +0  > LIM_REPORT et V_BTR3DOMPRO+0 = 0 )
+           ou
+                ( REPINVDOMPRO4 +0  > LIM_REPORT et V_BTR2DOMPRO+0 = 0 )
+          )
+          et
+          (
+              1 - V_CNR > 0
+          )
+          et
+          (
+                  RIDOMPRO > 0
+          )
+         et
+          ((APPLI_ILIAD = 1 et V_NOTRAIT+0 < 16)
+             ou APPLI_PRO = 1
+             ou ((V_BTNI1+0) non dans (50,92) et APPLI_BATCH = 1))
+
+alors erreur DD07;
+verif 3645:
+application : batch, iliad, pro ;
+si
+   (
+    ( REPINVLOCINV + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( RINVLOCINV + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( REPINVLOCREA + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( RINVLOCREA + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOCHOTR1 + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOCHOTR + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) ) )
+ et 
+     (RTOURREP + RTOUHOTR + RTOUREPA + 0 > 0)
+alors erreur DD06;
+verif 3647:
+application : batch, iliad, pro ;
+si
+
+  V_REGCO != 2
+  et
+  V_REGCO != 4
+  et
+  positif(PRETUDANT + 0) = 1
+  et
+  positif(V_BTPRETUD + 0) = 1
+
+alors erreur DD09;
+verif 710:
+application : batch, iliad, pro, oceans ;
+si
+  ( 
+    positif(CREAIDE+0) * positif(RVAIDE+0) = 1
+   et
+    positif(ASCAPA+0) = 0
+  )
+alors erreur A710;
+verif 2649:
+application : batch, iliad, pro, oceans ;
+si 
+   (
+    INAIDE > 0 
+   et 
+    positif(RVAIDE+CREAIDE+0) = 0 
+   ) 
+   ou
+   (
+    ASCAPA > 0  
+   et 
+    positif(RVAIDE+0) = 0
+   )
+   ou
+   ( 
+    PREMAIDE > 0   
+   et 
+    positif(RVAIDE+CREAIDE+0) = 0
+   )
+alors erreur A711;
+verif 2690:
+application : batch, iliad, pro, oceans ;
+si
+	( 
+         ((PRESCOMP2000 + 0 > PRESCOMPJUGE ) et (positif(PRESCOMPJUGE)=1))
+	)
+alors erreur A712;
+verif non_auto_cc 2698:
+application : batch, iliad, pro, oceans ;
+si
+          (  PRESCOMPJUGE+0 > 0 et PRESCOMP2000+0 =0 )
+        ou
+          (  PRESCOMPJUGE+0 =0 et PRESCOMP2000+0 > 0)
+alors erreur A713;
+verif 2700:
+application : batch, iliad, pro, oceans ;
+si
+(RDPRESREPORT+0 > 0) et
+          (  PRESCOMPJUGE + PRESCOMP2000 + 0 >0 )
+alors erreur A714;
+verif 2736:
+application : batch, iliad, pro, oceans ;
+si
+    (LOCRESINEUV + 0 > 0) et ( MEUBLENP + 0 > 0 )
+
+alors erreur A736 ;
+verif 2730:
+application : batch, iliad, pro, oceans ;
+si
+( REPFOR +0 > 0) et ( REPSINFOR + 0 >0 )
+alors erreur A730;
+verif 27001:
+application : batch, iliad, pro, oceans ;
+si
+( CELLIERM +0 > 0) et ( CELLIERD + 0 >0 )
+alors erreur A71701;
+verif 27002:
+application : batch, iliad, pro, oceans ;
+si
+( CELLIERM2 +0 > 0) et ( CELLIERD2 + 0 >0 )
+alors erreur A71702;
+verif 27003:
+application : batch, iliad, pro, oceans ;
+si
+( CELLIERM1 +0 > 0) et ( CELLIERD1 + 0 >0 )
+alors erreur A71703;
+verif 27004:
+application : batch, iliad, pro, oceans ;
+si
+(
+   ( CELREPM09 +0 > 0) et ( CELREPD09 + 0 >0 )
+)
+alors erreur A71704;
+verif 27005:
+application : batch, iliad, pro, oceans ;
+si
+(
+ V_IND_TRAIT > 0 
+ et
+ ((CELREPM09 + 0 > PLAF_99999)
+ ou
+ (CELREPD09 + 0 > PLAF_99999)) 
+)
+alors erreur A741;
+verif 27007:
+application : batch, iliad, pro, oceans ;
+si
+( CELLIERM +0 > 0) et ( CELLIERM1 + CELLIERD1 + 0 > 0 )
+alors erreur A74201;
+verif 27008:
+application : batch, iliad, pro, oceans ;
+si
+( CELLIERD +0 > 0) et ( CELLIERM1 + CELLIERD1 + 0 > 0 )
+alors erreur A74202;
+verif 2701:
+application : batch, iliad, pro, oceans ;
+si
+(V_IND_TRAIT > 0) et 
+(RDPRESREPORT+0 > LIM_REPCOMPENS)
+alors erreur A715;
+verif 27011:
+application : batch, iliad, pro, oceans ;
+si
+(V_IND_TRAIT > 0) et 
+(
+(SUBSTITRENTE < PRESCOMP2000+0)
+ou
+(SUBSTITRENTE > 0 et present(PRESCOMP2000)=0)
+)
+alors erreur A716;
+verif 2510:
+application : pro , oceans , batch ,  iliad ;
+si
+	(V_IND_TRAIT > 0)
+        et
+        (
+        RDFREP > PLAF_REDREPAS
+        )
+alors erreur A701;
+verif 2520:
+application : pro , oceans , batch ,  iliad ;
+si
+  (
+  ((V_REGCO+0) dans (1,3,5,6))
+  et
+  INTDIFAGRI > 0
+  et
+  RCMHAB + 0 < INTDIFAGRI
+  )
+alors erreur A702;
+verif 703:
+application : pro , oceans , batch ,  iliad ;
+si
+ (
+  ( (positif(PRETUD+0) = 1 ou positif(PRETUDANT+0) = 1)
+   et
+    V_0DA < V_ANREV - 30
+   et
+    positif(BOOL_0AM+0) = 0 ) 
+  ou
+  ( (positif(PRETUD+0) = 1 ou positif(PRETUDANT+0) = 1)
+   et 
+   positif(BOOL_0AM+0) = 1
+   et
+   V_0DA < V_ANREV - 30
+   et
+   V_0DB < V_ANREV - 30 )
+  )
+alors erreur A703;
+verif 704:
+application : pro , oceans , batch ,  iliad ;
+si
+  (
+   (positif( CASEPRETUD + 0 ) = 1 et positif( PRETUDANT + 0 ) = 0)
+    ou
+   (positif( CASEPRETUD + 0 ) = 0 et positif( PRETUDANT + 0 ) = 1)
+  )
+alors erreur A704;
+verif 7501:
+application : pro , oceans , batch ,  iliad ;
+
+si
+  CONVCREA  + 0 > 15 
+  et 
+  V_IND_TRAIT > 0
+
+alors erreur A70503;
+verif 75011:
+application : pro , oceans , batch ,  iliad ;
+
+si
+  NBCREAT  + 0 > 6
+  et 
+  V_IND_TRAIT > 0
+
+alors erreur A70504;
+verif 7502:
+application : pro , oceans , batch ,  iliad ;
+
+si
+   NBCREAT1 + 0 > 9
+  et 
+   V_IND_TRAIT > 0
+
+alors erreur A70501;
+verif 7503:
+application : pro , oceans , batch ,  iliad ;
+
+si
+   NBCREAT2 + 0 > 15
+  et 
+   V_IND_TRAIT > 0
+
+alors erreur A70502;
+verif 76011:
+application : pro , oceans , batch ,  iliad ;
+
+si
+   NBCREATHANDI + 0 > NBCREAT + 0
+  et 
+   V_IND_TRAIT > 0
+
+alors erreur A70604;
+verif 7601:
+application : pro , oceans , batch ,  iliad ;
+
+si
+   CONVHAND + 0 > CONVCREA + 0
+  et 
+   V_IND_TRAIT > 0
+
+alors erreur A70603;
+verif 7602:
+application : pro , oceans , batch ,  iliad ;
+
+si
+   NBCREATHANDI1 + 0 > NBCREAT1 + 0
+  et 
+   V_IND_TRAIT > 0
+
+alors erreur A70601;
+verif 7603:
+application : pro , oceans , batch ,  iliad ;
+
+si
+   NBCREATHANDI2 + 0 > NBCREAT2 + 0
+  et 
+   V_IND_TRAIT > 0
+
+alors erreur A70602;
+verif 731:
+application : pro , oceans , batch ,  iliad ;
+si
+   V_IND_TRAIT > 0
+   et
+   CASEPRETUD + 0 > 5
+alors erreur A731;
+verif 2097:
+application : batch, iliad, oceans, pro ;
+si
+  (
+    present(PERPIMPATRIE) = 1
+    et
+    V_CNR = 1
+    et 
+    (V_REGCO = 2
+    ou
+    V_REGCO = 4)
+  )
+alors erreur A097;
+verif 3400:
+application : batch, iliad, pro ;
+
+si
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  positif(FIPCORSE+0) = 1
+  et
+  positif(FFIP + FCPI) = 1
+
+alors erreur DD34;
+verif 3410:
+application : batch, iliad, pro ;
+
+si
+
+   V_IND_TRAIT > 0
+   et
+   V_REGCO + 0 = 1
+   et
+   REPGROREP > LIM_CONTROLE + V_BTNUREPAR
+
+alors erreur DD39 ;
+verif 3420:
+application : batch, iliad, pro ;
+
+si
+
+   V_IND_TRAIT > 0
+   et
+   V_REGCO + 0 = 1
+   et
+   CELRRED09 > LIM_CONTROLE + V_BTREPCEL
+
+alors erreur DD40 ;
+verif 3430:
+application : batch, iliad, pro ;
+
+si
+
+   V_IND_TRAIT > 0
+   et
+   V_REGCO + 0 = 1
+   et
+   REDMEUBLE > LIM_CONTROLE + V_BTRESINEUV
+
+alors erreur DD41 ;
+verif 3440:
+application : batch, iliad, pro ;
+
+si
+
+   V_IND_TRAIT > 0
+   et
+   V_REGCO + 0 = 1
+   et
+   REPFOR + REPSINFOR > LIM_CONTROLE + V_BTSINFOR + V_BTFOREST
+
+alors erreur DD42 ;
+verif 3470:
+application : batch, iliad, pro ;
+
+si
+
+   V_IND_TRAIT > 0
+   et
+   V_REGCO + 0 = 1
+   et
+   CELREPM09 + CELREPD09 > LIMLOC2 
+
+alors erreur DD45 ;
+verif 3480:
+application : batch, iliad, pro ;
+
+si
+
+   V_IND_TRAIT > 0
+   et
+   V_REGCO + 0 = 1
+   et
+   REPMEUBLE > LIMLOC2 
+
+alors erreur DD46 ;
+verif 3490:
+application : batch, iliad, pro ;
+
+si
+
+   V_IND_TRAIT > 0
+   et
+   BPVRCM + 0 > PVSOCG + 0
+   et
+   positif(BPVRCM + 0) = 1
+
+alors erreur DD47 ;
+verif 321:
+application : batch, iliad, pro ;
+si
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  positif(CREAIDE+0) > 0
+  et
+  (
+  (1 - BOOL_0AM) *
+   (present(TSHALLOV) + present(ALLOV) + present(GLD1V) + present(GLD2V) + present(GLD3V)
+   + present(BPCOSAV) + present(TSASSUV) + present(XETRANV) 
+   + present(TSELUPPEV) + present(CARTSV) + present(REMPLAV) + present(HEURESUPV)
+   + present(FEXV) + present(BAFV) + positif(V_FORVA) + present(BAFORESTV)
+   + present(BAFPVV) + present(BAF1AV) + present(BAEXV) + present(BACREV)
+   + present(BACDEV) + present(BAHEXV) + present(BAHREV) + present(BAHDEV)
+   + present(BA1AV) + present(BAPERPV)
+   + present(MIBEXV) + present(MIBVENV) + present(MIBPRESV) + present(MIBPVV)
+   + present(MIB1AV) + present(MIBDEV) + present(MIBDCT) + present(BICEXV)
+   + present(BICNOV) + present(BICDNV) 
+   + present(BIHEXV) + present(BIHNOV) + present(BIHDNV)
+   + present(BI1AV) + present(BIPERPV)
+   + present(BNCPROEXV) + present(BNCPROV) + present(BNCPROPVV) + present(BNCPRO1AV)
+   + present(BNCPRODEV) + present(BNCPRODCT) + present(BNCEXV) + present(BNCREV)
+   + present(BNCDEV) + present(BNHEXV) + present(BNHREV) + present(BNHDEV)
+   + present(BN1AV) + present(BNCCRV) + present(CESSASSV))
+   + present(AUTOBICVV) + present(AUTOBICPV) + present(LOCPROCGAV)
+   + present(LOCDEFPROCGAV) + present(LOCPROV) + present(LOCDEFPROV)
+   + present(AUTOBNCV) + present(XHONOAAV) + present(XHONOV)
+
+  + (1 - positif(V_0AP+V_0AF)) * BOOL_0AM *
+   (present(TSHALLOV) + present(ALLOV) + present(GLD1V) + present(GLD2V) + present(GLD3V)
+   + present(BPCOSAV) + present(TSASSUV) + present(XETRANV) 
+   + present(TSELUPPEV) + present(CARTSV) + present(REMPLAV) + present(HEURESUPV)
+   + present(FEXV) + present(BAFV) + positif(V_FORVA) + present(BAFORESTV)
+   + present(BAFPVV) + present(BAF1AV) + present(BAEXV) + present(BACREV)
+   + present(BACDEV) + present(BAHEXV) + present(BAHREV) + present(BAHDEV)
+   + present(BA1AV) + present(BAPERPV)
+   + present(MIBEXV) + present(MIBVENV) + present(MIBPRESV) + present(MIBPVV)
+   + present(MIB1AV) + present(MIBDEV) + present(MIBDCT) + present(BICEXV)
+   + present(BICNOV) + present(BICDNV) 
+   + present(BIHEXV) + present(BIHNOV) + present(BIHDNV)
+   + present(BI1AV) + present(BIPERPV)
+   + present(BNCPROEXV) + present(BNCPROV) + present(BNCPROPVV) + present(BNCPRO1AV)
+   + present(BNCPRODEV) + present(BNCPRODCT) + present(BNCEXV) + present(BNCREV)
+   + present(BNCDEV) + present(BNHEXV) + present(BNHREV) + present(BNHDEV)
+   + present(BN1AV) + present(BNCCRV) + present(CESSASSV)) *
+   ( present(TSHALLOC) + present(ALLOC) + present(GLD1C) + present(GLD2C) + present(GLD3C)
+   + present(BPCOSAC) + present(TSASSUC) + present(XETRANC) 
+   + present(TSELUPPEC) + present(CARTSC) + present(REMPLAC) + present(HEURESUPC)
+   + present(FEXC) + present(BAFC) + positif(V_FORCA) + present(BAFORESTC)
+   + present(BAFPVC) + present(BAF1AC) + present(BAEXC) + present(BACREC)
+   + present(BACDEC) + present(BAHEXC) + present(BAHREC) + present(BAHDEC)
+   + present(BA1AC) + present(BAPERPC)
+   + present(MIBEXC) + present(MIBVENC) + present(MIBPRESC) + present(MIBPVC)
+   + present(MIB1AC) + present(MIBDEC) + present(BICEXC)
+   + present(BICNOC) + present(BICDNC) 
+   + present(BIHEXC) + present(BIHNOC) + present(BIHDNC)
+   + present(BI1AC) + present(BIPERPC)
+   + present(BNCPROEXC) + present(BNCPROC) + present(BNCPROPVC) + present(BNCPRO1AC)
+   + present(BNCPRODEC) + present(BNCEXC) + present(BNCREC)
+   + present(BNCDEC) + present(BNHEXC) + present(BNHREC) + present(BNHDEC)
+   + present(BN1AC) + present(BNCCRC) + present(CESSASSC))
+   + present(AUTOBICVV) + present(AUTOBICPV) + present(LOCPROCGAV)
+   + present(LOCDEFPROCGAV) + present(LOCPROV) + present(LOCDEFPROV)
+   + present(AUTOBNCV) + present(XHONOAAV) + present(XHONOV)
+   + present(AUTOBICVC) + present(AUTOBICVC) + present(LOCPROCGAC)
+   + present(LOCDEFPROCGAC) + present(LOCPROC) + present(LOCDEFPROC)
+   + present(AUTOBNCC) + present(XHONOAAC) + present(XHONOC)
+
+  + BOOL_0AM * positif(V_0AF) *
+   (present(TSHALLOV) + present(ALLOV) + present(GLD1V) + present(GLD2V) + present(GLD3V)
+   + present(BPCOSAV) + present(TSASSUV) + present(XETRANV) 
+   + present(TSELUPPEV) + present(CARTSV) + present(REMPLAV) + present(HEURESUPV)
+   + present(FEXV) + present(BAFV) + positif(V_FORVA) + present(BAFORESTV)
+   + present(BAFPVV) + present(BAF1AV) + present(BAEXV) + present(BACREV)
+   + present(BACDEV) + present(BAHEXV) + present(BAHREV) + present(BAHDEV)
+   + present(BA1AV) + present(BAPERPV)
+   + present(MIBEXV) + present(MIBVENV) + present(MIBPRESV) + present(MIBPVV)
+   + present(MIB1AV) + present(MIBDEV) + present(MIBDCT) + present(BICEXV)
+   + present(BICNOV) + present(BICDNV) 
+   + present(BIHEXV) + present(BIHNOV) + present(BIHDNV)
+   + present(BI1AV) + present(BIPERPV)
+   + present(BNCPROEXV) + present(BNCPROV) + present(BNCPROPVV) + present(BNCPRO1AV)
+   + present(BNCPRODEV) + present(BNCPRODCT) + present(BNCEXV) + present(BNCREV)
+   + present(BNCDEV) + present(BNHEXV) + present(BNHREV) + present(BNHDEV)
+   + present(BN1AV) + present(BNCCRV) + present(CESSASSV))
+   + present(AUTOBICVV) + present(AUTOBICPV) + present(LOCPROCGAV)
+   + present(LOCDEFPROCGAV) + present(LOCPROV) + present(LOCDEFPROV)
+   + present(AUTOBNCV) + present(XHONOAAV) + present(XHONOV)
+  
+  + BOOL_0AM * positif(V_0AP) *
+   (present(TSHALLOC) + present(ALLOC) + present(GLD1C) + present(GLD2C) + present(GLD3C)
+   + present(BPCOSAC) + present(TSASSUC) + present(XETRANC) 
+   + present(TSELUPPEC) + present(CARTSC) + present(REMPLAC) + present(HEURESUPC)
+   + present(FEXC) + present(BAFC) + positif(V_FORCA) + present(BAFORESTC)
+   + present(BAFPVC) + present(BAF1AC) + present(BAEXC) + present(BACREC)
+   + present(BACDEC) + present(BAHEXC) + present(BAHREC) + present(BAHDEC)
+   + present(BA1AC) + present(BAPERPC)
+   + present(MIBEXC) + present(MIBVENC) + present(MIBPRESC) + present(MIBPVC)
+   + present(MIB1AC) + present(MIBDEC) + present(BICEXC)
+   + present(BICNOC) + present(BICDNC) 
+   + present(BIHEXC) + present(BIHNOC) + present(BIHDNC)
+   + present(BI1AC) + present(BIPERPC)
+   + present(BNCPROEXC) + present(BNCPROC) + present(BNCPROPVC) + present(BNCPRO1AC)
+   + present(BNCPRODEC) + present(BNCEXC) + present(BNCREC)
+   + present(BNCDEC) + present(BNHEXC) + present(BNHREC) + present(BNHDEC)
+   + present(BN1AC) + present(BNCCRC) + present(CESSASSC))
+   + present(AUTOBICVC) + present(AUTOBICVC) + present(LOCPROCGAC)
+   + present(LOCDEFPROCGAC) + present(LOCPROC) + present(LOCDEFPROC)
+   + present(AUTOBNCC) + present(XHONOAAC) + present(XHONOC)
+
+   = 0
+   )
+alors erreur DD32;
diff --git a/sources2010m_7_1/coc3.m b/sources2010m_7_1/coc3.m
new file mode 100644
index 0000000000000000000000000000000000000000..6615cfb66cdf3c3f388e6e1388d5f4c6cf84ca54
--- /dev/null
+++ b/sources2010m_7_1/coc3.m
@@ -0,0 +1,532 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 3003:
+application : pro , oceans , iliad  , batch;
+si
+   (
+      V_0AM + 0 = 1  et  V_0AE + V_0AG + V_0AL + V_0AN + V_0AW + V_0AU +0> 0 
+   )
+alors erreur A01001;
+verif 3004:
+application : pro , oceans , iliad  , batch;
+si
+   (
+       V_0AC + 0 = 1  et  V_0AF + V_0AS + V_0AU + 0 > 0  
+   )
+alors erreur A01004;
+verif 3005:
+application : pro , oceans , iliad  , batch;
+si
+   (
+       V_0AD + 0 = 1  et  V_0AF + V_0AS + V_0AU + 0 > 0  
+   )
+alors erreur A01005;
+verif 3006:
+application : pro , oceans , iliad  , batch;
+si
+   (
+      V_0AV + 0 = 1  et  ( (BOOL_0AZ != 1 et V_0AF  > 0) ou V_0AS > 0 ou V_0AU > 0)
+   )
+alors erreur A01003;
+verif 3007:
+application : pro , oceans , iliad  , batch;
+si
+   (
+     (V_0AM + 0 = 1) et V_0BT+0 = 1
+   )
+alors erreur A01009;
+verif 3009:
+application : pro, oceans, iliad, batch;
+si (
+   ( V_0AP+V_0AF+V_0AS+V_0AE+V_0AW+V_0AL+V_0AN+V_0AG+V_0AU+V_0BT+0) > 0
+   et
+   positif(V_0AM + V_0AO + V_0AC + V_0AD + V_0AV + 0) != 1
+   )
+alors erreur A01011;
+verif 3010:
+application : pro, oceans, iliad, batch;
+si ( 
+	V_0AC = 1 et V_0AG =1
+   )
+alors erreur A01006;
+verif 3011:
+application : pro, oceans, iliad, batch;
+si ( 
+	V_0AD = 1 et V_0AG =1
+   )
+alors erreur A01007;
+verif 3012:
+application : pro, oceans, iliad, batch;
+si ( 
+	( V_0AV = 1 et V_INDG = 1 et V_0AG =1 )
+	ou
+	( present(V_0AZ)=1 et V_0AV=1 et BOOL_0AZ!=1 et V_INDG=1 et V_0AG=1 )
+   )
+alors erreur A01008;
+verif 3513:
+application : pro , oceans , iliad  , batch;
+si
+   (
+       V_0AO + 0 = 1  et  V_0AE + V_0AG + V_0AL + V_0AN + V_0AW + 0 > 0  
+   )
+alors erreur A01002;
+verif 3514:
+application : pro , oceans , iliad  , batch;
+si
+   (
+     (V_0AO + 0 = 1) et V_0BT+0 = 1
+   )
+alors erreur A01010;
+verif 3013:
+application : pro , oceans, iliad, batch;
+si ( 
+    (V_IND_TRAIT+0 = 4)
+    et
+    (
+    V_0DA < (V_ANREV - 120) ou V_0DA > V_ANREV ou V_0DB < (V_ANREV - 120) ou V_0DB > V_ANREV
+    )
+   ) alors erreur A013;
+verif  3014:
+application : pro , oceans , iliad  , batch;
+si
+   (
+    (V_IND_TRAIT = 5)
+    et
+    (
+      ( positif(V_0DB) = 1 et ( V_0DB < (V_ANREV - 120) ou V_0DB > V_ANREV ) )
+    ou
+      ( V_0DA < (V_ANREV - 120) ou V_0DA > V_ANREV ) 
+    )
+   )
+alors erreur A013;
+verif 3020:
+application : iliad , batch;
+si
+   (
+	V_ZDC = 1 et somme(i=X,Y,Z: positif(V_0Ai)) > 1
+   )
+alors erreur A01701;
+verif 3021:
+application : iliad , batch ;
+si
+  (
+    V_ZDC = 4
+	et 
+    (  
+       positif(V_0AZ+0) = 0 
+    ou 
+       (V_0AM + V_0AO + 0 = 0)
+    )
+   )
+alors erreur A01702;
+verif 3022:
+application : iliad , batch;
+si
+   (
+    V_ZDC = 3
+	et 
+    ( 
+      positif(V_0AY+0) = 0 
+    ou 
+      (V_0AM + V_0AO + 0 = 0)
+    )
+   )
+alors erreur A01703;
+verif 3023:
+application : iliad , batch;
+si
+   (
+    V_ZDC = 2
+    et
+    (positif(V_0AX+0) = 0 ou (V_0AC + V_0AD + V_0AV + 0 = 0))
+   )
+alors erreur A01704;
+verif 3024:
+application : iliad , batch ;
+si
+   (
+    V_ZDC = 1 
+	et 
+    (positif(V_0AX) = 1 et (V_0AM + V_0AO + 0 = 0))
+   )
+alors erreur A01705;
+verif 3025:
+application : iliad , batch;
+si
+   (
+    V_ZDC = 1 
+	et 
+    (positif(V_0AY) = 1 et (V_0AC + V_0AV + V_0AD + 0 = 0))
+   )
+alors erreur A01706;
+verif 3026:
+application : batch, iliad;
+si
+   (
+    V_ZDC = 1 
+	et 
+    (positif(V_0AZ) = 1 et (V_0AV + V_0AM + 0 = 0)) 
+   )
+alors erreur A01707;
+verif 3031:
+application : batch ;
+si
+   (
+    null(10 - V_NOTRAIT) = 1
+        et
+    V_ZDC + 0 = 0 
+	et 
+    ((positif (V_0AX) = 1 et V_0AM + 0 = 0 et V_0AO + 0 = 0)
+        ou
+    (positif(V_0AZ) = 1 et V_0AV + 0 = 0)
+        ou
+    (positif(V_0AY) = 1 et V_0AD + 0 = 0 et V_0AC + 0 = 0 et V_0AV + 0 = 0))
+   )
+alors erreur A018;
+verif 3041:
+application : pro , iliad  , oceans ;
+si
+   (
+    V_0AC = 1 et V_0AZ + 0 > 0 
+   )
+alors erreur AS0101;
+verif 3042:
+application : pro , iliad  , oceans ;
+si
+   (
+    V_0AM = 1 et V_0AY + 0 > 0 et V_0AZ + 0 > 0 
+   )
+alors erreur AS0102;
+verif 3044:
+application : pro , iliad  , oceans ;
+si
+   (
+     V_0AD = 1 et V_0AZ + 0 > 0
+   )
+alors erreur AS0103;
+verif 3045:
+application : pro ;
+si
+  positif(V_IND_TRAIT + 0) = 1 
+  et
+  (V_NOTRAIT + 0 < 14)
+  et
+  present(V_ANTIR) = 0
+  et
+  positif(V_0DA + 0) = 0
+
+alors erreur AS11;
+verif 3100:
+application : pro , oceans , iliad  , batch;
+si
+   (
+     (  V_0CF + 0 < V_0CG )
+   )
+alors erreur A01201;
+verif 3101:
+application : pro , oceans , iliad  , batch;
+si
+   (
+     (  V_0CI + 0 > V_0CH +0 ) 
+   )
+alors erreur A01202;
+verif 3110:
+application : iliad ;
+si
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0CF != somme (i = 0..7: positif(V_0Fi+0))
+   )
+alors erreur IM1101;
+verif 3111:
+application : iliad ;
+si
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0CG != somme (i = 0, 1, 2, 3: positif(V_0Gi+0))
+   )
+alors erreur IM1102;
+verif 3112:
+application : iliad ;
+si
+   (
+     present(V_CALCULIR) = 0 
+	et 
+     V_0CR != somme (i = 0, 1, 2, 3: positif(V_0Ri+0))
+   )
+alors erreur IM1105;
+verif 3113:
+application : iliad ;
+si
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0DJ != somme (i = 0, 1, 2, 3: positif(V_0Ji+0))
+   )
+alors erreur IM1106;
+verif 3114:
+application : iliad ;
+si
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0DN != somme (i = 0, 1, 2, 3: positif(V_0Ni+0))
+   )
+alors erreur IM1107;
+verif 3118:
+application : iliad ;
+si
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0CH != somme (i = 0,1,2,3,4,5: positif(V_0Hi+0))
+   )
+alors erreur IM1103;
+verif 3116:
+application : iliad ;
+si
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0CI != somme (i = 0, 1, 2, 3: positif(V_0Ii+0))
+   )
+alors erreur IM1104;
+verif 3117:
+application : iliad ;
+si
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0DP !=  positif(V_0P0+0)
+   )
+alors erreur IM1108;
+verif 3200:
+application : bareme ;
+si (
+   ( V_9VV < 2 et (V_0AM + V_0AO + 0 = 1) )
+   )
+alors erreur A063;
+verif 3201:
+application : bareme ;
+si (
+   ( V_9VV < 1.25 et ( (V_0AC = 1 ou V_0AD = 1) et V_9XX = 1 ))
+   )
+alors erreur A064;
+verif 3202:
+application : bareme ;
+si (
+   ( V_9VV < 2.25 et ( (BOOL_0AM = 1 ou V_0AV = 1) et V_9XX = 1 ))
+   )
+alors erreur A064;
+verif 32021:
+application : bareme ;
+si (
+    V_9VV = 1.25 et  V_0BT=1 et V_9XX=1 
+   )
+alors erreur A064;
+verif 3203:
+application : bareme ;
+si (
+    V_9VV < 2 et  (V_0AV +V_0AZ = 2)
+   )
+alors erreur A066;
+verif 3210:
+application : iliad , pro , batch;
+si (
+    (V_0AM + V_0AO + 0 = 1) et V_0AS = 1 et V_0AP+0 = 0 et V_0AF+0 = 0
+	  et 
+   V_ANREV - V_0DA < 75 et V_ANREV - V_0DB < 75
+   )
+alors erreur I011;
+verif 3213:
+application : iliad , batch;
+si 
+   positif(V_0AN+0) != 1 et
+   (
+   ((V_0AC + V_BT0AC +0 =2) et V_BTNBP+0 > (1 + 99 * APPLI_BATCH) et NBPT = 1)
+    ou
+   ((V_0AD + V_BT0AD +0 =2) et V_BTNBP+0 > (1 + 99 * APPLI_BATCH) et NBPT = 1)
+    ou
+   ((V_0AV + V_BT0AV +0 =2) et V_BTNBP+0 > (1 + 99 * APPLI_BATCH) et NBPT = 1)
+   )
+alors erreur I013;
+verif 3221:
+application : batch , iliad , pro;
+si (
+    (V_0AM + V_0AO + 0 = 0 )
+	  et 
+    V_0AZ + 0 = 0
+          et
+    V_0AP + 0 = 0
+          et
+    (V_0AE + 0 = 0 ou (V_0AE + 0 = 1 et (V_0DJ + 0 > 0 ou V_0DN + 0 > 0)))
+          et
+    V_0AW = 1
+	  et 
+    V_ANREV - V_0DA < 75
+   )
+alors erreur I012;
+verif 3216:
+application : batch , iliad , pro , oceans ;
+si 
+    V_IND_TRAIT > 0
+    et
+    V_REGCO != 2
+    et
+    V_REGCO != 4
+    et
+   (
+    DEFRCM4 + 0 > V_BTDFRCM1 + PLAF_PRECONS * (1 - positif(V_BTDFRCM1))
+    ou
+    DEFRCM3 + 0 > V_BTDFRCM2 + PLAF_PRECONS * (1 - positif(V_BTDFRCM2))
+    ou
+    DEFRCM2 + 0 > V_BTDFRCM3 + PLAF_PRECONS * (1 - positif(V_BTDFRCM3))
+    ou
+    DEFRCM + 0 > V_BTDFRCM4 + PLAF_PRECONS * (1 - positif(V_BTDFRCM4)))
+
+alors erreur I015;
+
+verif 3301:
+application : iliad,pro,batch ;
+si
+  ( 
+ 	V_0AV  = 1     
+	et
+       (
+       (
+        positif(XETRANC) + positif(TSELUPPEC) + positif(EXOCETC) + positif(FRNC)
+	+ positif(TSHALLOC) + positif(ALLOC) 
+	+ positif(HEURESUPC)
+	+ positif(PRBC) + somme(i=2..4:positif(iPRBC)) + positif(PEBFC) 
+	+ positif(CARTSC) + positif(REMPLAC) + positif(CARPEC) + positif(PENSALC)
+	+ somme (i=1..3: positif (GLDiC)) + somme (i=A: positif(BiFC) + somme(j=A: positif(Bi1jC)))
+	+ somme (i=H,C: 
+       			somme(j= A,N: somme(k=R,D: positif(BjikEC))) + 
+       			somme(j=N: positif(BIiDjC)) + positif(BIiNOC)  
+          )
+	+ positif(BICREC) + positif(BI2AC) + positif(BICDEC)
+        + positif(TSASSUC)
+	+ positif(PPETPC) + positif(PPENHC)
+	+ positif(GSALC)
+
+ + positif( FEXC ) 
+ + positif( BAFC ) 
+ + positif( BAFORESTC )
+ + positif( BAFPVC ) 
+ + positif( BAF1AC ) 
+ + positif( BAEXC ) 
+ + positif( BACREC ) 
+ + positif( 4BACREC )
+ + positif( BA1AC ) 
+ + positif( BACDEC ) 
+ + positif( BAHEXC ) 
+ + positif( BAHREC ) 
+ + positif( 4BAHREC )
+ + positif( BAHDEC ) 
+ + positif( BAPERPC ) 
+ + positif( MIBEXC ) 
+ + positif( MIBVENC ) 
+ + positif( MIBPRESC ) 
+ + positif( MIBPVC ) 
+ + positif( MIB1AC ) 
+ + positif( MIBDEC ) 
+ + positif( BICEXC ) 
+ + positif( BICNOC ) 
+ + positif( BI1AC ) 
+ + positif( BICDNC ) 
+ + positif( BIHEXC ) 
+ + positif( BIHNOC ) 
+ + positif( BIHDNC ) 
+ + positif( BIPERPC ) 
+ + positif( MIBNPEXC ) 
+ + positif( MIBNPVENC ) 
+ + positif( MIBNPPRESC ) 
+ + positif( MIBNPPVC ) 
+ + positif( MIBNP1AC ) 
+ + positif( MIBNPDEC ) 
+ + positif( BICNPEXC ) 
+ + positif( BICREC ) 
+ + positif( BI2AC ) 
+ + positif( BICDEC ) 
+ + positif( BICNPHEXC ) 
+ + positif( BICHREC ) 
+ + positif( BICHDEC ) 
+ + positif( BNCPROEXC ) 
+ + positif( BNCPROC ) 
+ + positif( BNCPROPVC ) 
+ + positif( BNCPRO1AC ) 
+ + positif( BNCPRODEC ) 
+ + positif( BNCEXC ) 
+ + positif( BNCREC ) 
+ + positif( BN1AC ) 
+ + positif( BNCDEC ) 
+ + positif( BNHEXC ) 
+ + positif( BNHREC ) 
+ + positif( BNHDEC ) 
+ + positif ( BNCCRC )
+ + positif ( CESSASSC )
+ + positif( BNCNPC ) 
+ + positif( BNCNPPVC ) 
+ + positif( BNCNP1AC ) 
+ + positif( BNCNPDEC ) 
+ + positif( ANOVEP )
+ + positif( PVINCE )
+ + positif( DNOCEPC )
+ + positif( BNCCRFC )
+ + positif( PVSOCC )
+ + positif( PPEACC ) 
+ + positif( PPENJC ) 
+ + positif( RCSC ) 
+ + positif( BNCAABC )
+ + positif( BNCAADC )
+ + positif( PERPC ) 
+ + positif( PERP_COTC ) 
+ + positif( RACCOTC ) 
+ + positif( PLAF_PERPC ) 
+ + positif ( PERPPLAFCC )
+ + positif ( PERPPLAFNUC1 )
+ + positif ( PERPPLAFNUC2 )
+ + positif ( PERPPLAFNUC3 )
+ + positif( ELURASC ) 
+ + positif( BNCNPREXAAC ) + positif( BNCNPREXC )
+ + positif( AUTOBICVC ) + positif( AUTOBICPC ) + positif( LOCPROCGAC ) + positif( LOCDEFPROCGAC )
+ + positif( LOCPROC ) + positif( LOCDEFPROC ) 
+ + positif( LOCNPCGAC ) + positif( LOCDEFNPCGAC ) + positif( LOCNPC ) + positif( LOCDEFNPC )
+ + positif( AUTOBNCC ) + positif( XHONOAAC ) + positif( XHONOC )
+ + positif( XSPENPC )
+     )
+	> 0 
+     )
+   )
+alors erreur I010;
+verif 3415:
+application : pro , iliad , batch;
+si
+   (
+       positif(V_0AO + 0) * positif(V_BT0AO + 0) = 1
+       et
+       V_BT0AX + 0 = V_ANREV - 1
+       et
+       V_0AY >= 1010000 + V_ANREV 
+   )
+alors erreur A003;
diff --git a/sources2010m_7_1/coc4.m b/sources2010m_7_1/coc4.m
new file mode 100644
index 0000000000000000000000000000000000000000..1736233971c2fec0b82743618a95a285689a7fdc
--- /dev/null
+++ b/sources2010m_7_1/coc4.m
@@ -0,0 +1,309 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 4010:
+application : pro , oceans ,  batch ;
+si
+      (
+      V_8ZT >= 0 et V_REGCO+0 != 2
+      )
+alors erreur A089;
+verif 4012:
+application : oceans ,  iliad ;
+si
+(
+positif(present(RE168)+present(TAX1649)) =1 et present(IPVLOC) = 1
+)
+alors erreur A990;
+verif 4015:
+application : iliad ;
+si 
+      ( V_8ZT >= 0 et V_CR2+0 != 1 et V_NOTRAIT + 0 < 20) 
+      ou
+      ( V_8ZT > 0 et V_CR2+0 != 1 et V_NOTRAIT >= 20)
+   
+alors erreur A089;
+verif 4020:
+application : pro , oceans ,  iliad , batch;
+si
+      (
+       V_IND_TRAIT + 0 > 0
+       et
+       (V_REGCO+0) dans (1,2,3,5,6) 
+       et 
+       positif(IPVLOC + 0) = 1 
+      )
+
+alors erreur A094;
+verif 4030:
+application : pro , iliad , oceans , batch ;
+si
+       (
+       V_IND_TRAIT + 0 > 0
+       et
+       V_REGCO + 0 = 4 
+       et 
+       positif(IPVLOC + 0) = 0 
+       )
+
+alors erreur A095;
+verif 4032:
+application : batch , pro , iliad , oceans ;
+
+si
+     (V_REGCO = 2 ou V_REGCO = 3 ou V_REGCO = 4)
+     et
+     (V_NOTRAIT < 20 et BASRET >= 0 et IMPRET >= 0
+     ou
+     V_NOTRAIT >= 20 et BASRET > 0 et IMPRET > 0)
+
+alors erreur A096 ;
+verif 4050:
+application : batch , pro , iliad ;
+si
+  (
+  V_IND_TRAIT > 0
+  et
+  VALREGCO non dans (1,2,4) 
+  )
+alors erreur A082;
+verif 4060:
+application : batch , pro, iliad;
+si
+  (
+  V_NOTRAIT+0 = 10
+  et
+   (VALREGCO = 2 ou VALREGCO = 4) et V_CNR2+0!=1 
+  )
+alors erreur A083;
+verif 4070:
+application : batch , pro , iliad , oceans ;
+si
+  (
+   positif(BRAS) = 1 et V_CNR2 +0 != 1
+  )
+alors erreur A079;
+verif 4080:
+application : batch , pro , iliad  , oceans ;
+si
+   (
+    V_NOTRAIT + 0 < 20 
+   et
+    present(BRAS) = 1 et V_REGCO+0 != 2 et V_CNR2+0 = 1
+   )
+  ou
+   (
+    V_NOTRAIT >= 20 
+   et
+    positif(BRAS) = 1 et V_REGCO+0 != 2 et V_CNR2+0 = 1
+   )
+alors erreur A080;
+verif 4100:
+application : pro , oceans ,  iliad , batch ;
+si
+   (
+   (IPTEFP + IPTEFN + PRODOM + PROGUY > 0)
+   et
+   (V_CNR + 0 = 1)
+   )
+alors erreur A088;
+verif 4110:
+application : pro , oceans , iliad , batch;
+si
+     
+  IPECO > 0 et SOMMEA801 = 0
+
+alors erreur A801;
+verif 4120:
+application : iliad, oceans, pro,batch;
+si
+    V_IND_TRAIT + 0 > 0
+    et
+    V_8ZT > ( somme(i=V,C,1..4: TPRi)
+	      + somme (i=1..3: GLNiV)
+	      + somme (i=1..3: GLNiC)
+	      + RVTOT + T2RV 
+	      + 2 ) 
+
+alors erreur A090;
+verif 4130:
+application : pro , oceans ,  iliad , batch;
+si 
+    ( V_NOTRAIT + 0 < 20
+      et
+     ( present(RMOND) = 1 ou present(DMOND) = 1 ) 
+      et V_REGCO+0 !=2 )
+    ou
+    ( V_NOTRAIT >= 20
+      et
+     ( positif(RMOND) = 1 ou positif(DMOND) = 1 ) 
+      et V_REGCO+0 !=2 )
+	
+alors erreur A091;
+verif 4140:
+application : pro , oceans ,  iliad , batch;
+si (
+    V_NOTRAIT + 0 < 20
+    et
+      (
+       ( positif(IPTXMO)=1 et present(DMOND)!=1 et present(RMOND)!=1 )
+       ou
+       ( (present(RMOND)=1 ou present(DMOND)=1) et positif(IPTXMO+0) !=1 )
+      )
+   )
+   ou
+   (
+    V_NOTRAIT >= 20
+    et
+      (
+       ( positif(IPTXMO)=1 et positif(DMOND)!=1 et positif(RMOND)!=1 )
+       ou
+       ( (positif(RMOND)=1 ou positif(DMOND)=1) et positif(IPTXMO+0) !=1 )
+      )
+   )
+alors erreur A092;
+verif 4150:
+application : pro , oceans ,  iliad , batch;
+si  (
+     V_NOTRAIT + 0 < 20
+     et
+     present(RMOND) = 1 et present(DMOND) = 1
+    )
+  ou
+    (
+     V_NOTRAIT >= 20
+     et
+     positif(RMOND) = 1 et positif(DMOND) = 1
+    )
+alors erreur A093;
+verif 4200:
+application : pro , oceans ,  iliad  , batch;
+si ( 
+    ( (V_NOTRAIT >= 20)  et (IPTEFP > 0)  et ( IPTEFN > 0) )
+    ou  
+    ( ((V_NOTRAIT+0) < 20)  et (IPTEFP >= 0)  et (IPTEFN >= 0)  et  (V_ROLCSG+0 < 40)) 
+   )
+alors erreur A80201;
+verif 4201:
+application : pro , oceans ,  iliad  , batch;
+si
+       (
+       V_NOTRAIT + 0 < 20
+       et
+       (IPTEFP + IPTEFN >= 0)
+       et
+       (PRODOM + PROGUY >= 0)
+       )
+     ou
+       (
+       V_NOTRAIT >= 20
+       et
+       (IPTEFP + IPTEFN > 0)
+       et
+       (PRODOM + PROGUY > 0)
+       )
+alors erreur A80202;
+verif 4202:
+application : pro , oceans ,  iliad  , batch;
+si
+       (
+       V_NOTRAIT + 0 < 20
+       et
+       SOMMEA802 > 0
+       et
+       PRODOM + PROGUY >= 0
+       )
+     ou
+       (
+       V_NOTRAIT >= 20
+       et
+       SOMMEA802 > 0
+       et
+       PRODOM + PROGUY > 0
+       )
+alors erreur A80203 ;
+verif 4210:
+application : pro , oceans ,  iliad , batch;
+si
+    (
+      (PROGUY + PRODOM +0 > 0)
+       et
+      (SOMMEA804 > 0 )
+    )
+alors erreur A804;
+verif 4220:
+application : pro , oceans ,  iliad  , batch;
+si
+	(
+	(IPMOND > 0)
+	et
+	(present(IPTEFP) = 0 ) et ( present(IPTEFN) = 0)
+	)
+alors erreur A882;
+verif 4221:
+application : pro , oceans ,  iliad  , batch;
+si
+	(
+	((present(IPTEFP)=1) ou (present(IPTEFN)=1))
+	et
+	(present(IPMOND) = 0)
+	)
+alors erreur A882;
+verif 42885:
+application : pro ,oceans , iliad  , batch;
+si
+	
+ (
+ (positif(CIIMPPRO2 + 0) = 1 et (1 - positif_ou_nul(BPVRCM)) = 1)
+ ou
+ (CIIMPPRO > 0 et SOMMEA885 = 0)
+ )
+        
+alors erreur A885;
+verif 4230:
+application : pro , oceans , iliad  , batch;
+si
+	(
+	IPBOCH  > 0 et (CIIMPPRO + CIIMPPRO2 + REGCI + 0) = 0
+	)
+alors erreur A883;
+verif 4240:
+application : pro , oceans , iliad , batch;
+si
+     
+  REGCI > 0 et SOMMEA884 = 0
+     
+alors erreur A884;
+verif 4250:
+application : pro , oceans , iliad , batch;
+si
+     (
+       IPPNCS > 0 et positif(REGCI + CIIMPPRO + CIIMPPRO2 + 0) != 1 
+     )
+alors erreur A886;
+verif 4260:
+application : pro , oceans , iliad , batch;
+si
+     (
+       positif(present( NRBASE ) + present( NRINET )) = 1 
+       et
+       present( NRBASE ) + present( NRINET ) < 2
+     )
+alors erreur A086;
diff --git a/sources2010m_7_1/coc5.m b/sources2010m_7_1/coc5.m
new file mode 100644
index 0000000000000000000000000000000000000000..2c92c7c5883f2f3c2b956bf019a88205454fd68d
--- /dev/null
+++ b/sources2010m_7_1/coc5.m
@@ -0,0 +1,278 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 5000:
+application : iliad, batch ;
+si (
+    ( NBPT > (V_BTNBP + 4 * APPLI_ILIAD + 400 * APPLI_BATCH) )
+ et
+    ( V_BTNBP + 0 > 0     )
+ et
+   	V_IND_TRAIT+0=4 et V_BTANC =1 et ((V_BTNI1+0) non dans (50,92)) 
+ et     
+        V_BTMUL !=1 et V_CODILIAD=1
+ et
+    (V_BT0AC=V_0AC ou V_BT0AM=V_0AM ou V_BT0AO=V_0AO ou V_BT0AD=V_0AD ou V_BT0AV=V_0AV)
+    )
+ alors erreur DD17;
+verif 5001:
+application : pro , iliad , batch , oceans ;
+si
+   (
+   NBPT > 20
+   )
+alors erreur A015;
+verif 5050:
+application : batch , iliad ;
+si (
+   V_ZDC+0 = 0 et V_BTMUL = 0
+   et V_0AX+0 = 0 et V_0AY+0 = 0 et V_0AZ+0= 0
+   et V_BTRNI > LIM_BTRNI10
+   et RNI < V_BTRNI/5
+   et V_BTANC+0 = 1  et ((V_BTNI1+0 )non dans (50,92)) 
+   )
+alors erreur DD05;
+verif 5060:
+application : iliad;
+si (
+	   V_ZDC+0 = 0 et V_BTMUL+0 = 0
+   et V_0AX+0 = 0 et V_0AY+0 = 0 et V_0AZ+0 = 0 et V_0AO+0 = 0
+   et V_BTRNI > LIM_BTRNI
+   et
+      (RNI > V_BTRNI*9
+	et
+	RNI < 100000)
+   )
+alors erreur IM1601;
+verif 5061:
+application : iliad;
+
+si (
+	   V_ZDC+0 = 0 et V_BTMUL+0 = 0
+   et V_0AX+0 = 0 et V_0AY+0 = 0 et V_0AZ+0 = 0 et V_0AO+0 = 0
+   et V_BTRNI > LIM_BTRNI
+   et
+       (RNI > V_BTRNI*5
+	et
+	RNI >= 100000)
+   )
+alors erreur IM1602;
+verif 5100:
+application : iliad;
+si 
+  (V_NOTRAIT+0  != 14) et
+(
+V_BTANC+0 = 1  et ((V_BTNI1+0 )non dans (50,92)) 
+ et V_BTIMP+0 <= 0 et IINET > (LIM_BTIMP*2) et V_ZDC+0 = 0
+)
+alors erreur IM20;
+verif 5101:
+application : iliad;
+si (
+V_BTIMP > LIM_BTIMP et IINET >= V_BTIMP * 2 et V_ZDC+0 = 0
+)
+alors erreur IM17;
+verif 5102:
+application : iliad;
+si (
+   V_BTIMP > LIM_BTIMP et IINET <= V_BTIMP / 2 et V_ZDC+0 = 0
+   )
+alors erreur IM18;
+verif 5103:
+application : batch,iliad;
+si (
+   DAR > LIM_CONTROLE et V_BTRNI > 0 et ((V_BTNI1+0) non dans (50,92))
+   )
+alors erreur DD18;
+verif 5104:
+application : batch , iliad ;
+
+
+si (
+   V_BTANC = 1 et 
+   (DAGRI1 + DAGRI2 + DAGRI3 + DAGRI4 + DAGRI5 + DAGRI6 > LIM_CONTROLE + V_BTDBA) 
+   )
+alors erreur DD20;
+verif 5203:
+application : pro , iliad,batch ;
+
+si 
+   positif(
+   present ( BAFV ) 
+ + present ( BAFC ) 
+          ) = 1 
+et
+   positif(
+
+   present ( BICEXV ) + present ( BICEXC ) + present ( BICNOV ) 
+ + present ( BICNOC )  
+ + present ( BI1AV ) + present ( BI1AC ) + present ( BICDNV ) 
+ + present ( BICDNC )  
+ + present ( BIHEXV ) + present ( BIHEXC ) + present ( BIHNOV ) 
+ + present ( BIHNOC )  
+ + present ( BIHDNV ) + present ( BIHDNC ) 
+ + present ( BNCEXV ) + present ( BNCEXC ) 
+ + present ( BNCREV ) + present ( BNCREC ) + present ( BN1AV ) 
+ + present ( BN1AC ) + present ( BNCDEV ) + present ( BNCDEC ) 
+ + present ( BNHEXV ) + present ( BNHEXC ) + present ( BNHREV ) 
+ + present ( BNHREC ) + present ( BNHDEV ) + present ( BNHDEC ) 
+ + present ( LOCPROCGAV ) + present ( LOCPROCGAC ) + present ( LOCDEFPROCGAV )
+ + present ( LOCDEFPROCGAC ) + present ( LOCPROV ) + present ( LOCPROC )
+ + present ( LOCDEFPROV ) + present ( LOCDEFPROC )
+
+    ) = 1
+alors erreur DD13;
+verif 5205:
+application : pro, batch , iliad  ;
+si
+( 
+  ( (CIGARD > 0) et ( 1 - V_CNR > 0) et 
+   (positif(RDGARD1) + positif(RDGARD2) + positif(RDGARD3) 
+   + positif(RDGARD4) > ( EM7 + 0)))
+ ou
+  ( (CIGARD > 0) et ( 1 - V_CNR > 0) et 
+   (positif(RDGARD1QAR) + positif(RDGARD2QAR) + positif(RDGARD3QAR) 
+   + positif(RDGARD4QAR) > ( EM7QAR + 0)))
+)
+alors erreur DD10;
+verif 5500:
+application : pro , oceans , iliad , batch;
+si
+(
+     (  (V_NOTRAIT+0 < 20)
+	et
+	((NRBASE  >= 0 ou NRINET  >= 0)
+        et 
+        ( V_REGCO !=3)))
+   ou
+      ( (V_NOTRAIT+0 > 20)
+        et
+	((NRBASE  > 0 ou NRINET  > 0)
+        et
+        ( V_REGCO !=3)))
+
+)
+alors erreur A085;
+verif 5502:
+application : pro , iliad   , batch , oceans;
+si
+(
+((V_NOTRAIT+0 < 20)
+et
+(V_CNR + 0 = 1 et IND_TDR >= 0) 
+)
+ou
+( (V_NOTRAIT+0 > 20)
+et
+(V_CNR + 0 = 1 et IND_TDR > 0))
+)
+alors erreur A087;
+verif 5510:
+application : pro , oceans , iliad , batch  ;
+si
+(
+RG + 2 < PRODOM + PROGUY
+)
+alors erreur A800;
+verif 5600:
+application : pro , iliad , batch , oceans ;
+si
+(
+max(0 , IRB + TAXASSUR + RPPEACO + PTOTD + AME 
+	    - IAVT - RCMAVFT - CICA - I2DH - CICORSE - CIRECH - CICULTUR 
+	    - CREREVET - CIDONENTR ) < IRANT
+)
+alors erreur A875;
+verif 5700:
+application : pro , iliad , batch  ;
+si
+     (
+       CSGIM > CSG 
+     )
+alors erreur A873;
+verif corrective 5701:
+application :  iliad ;
+si
+    (
+      present (CSGIM) = 1 et (V_NOTRAIT > 20)
+    )
+alors erreur A852;
+verif 5710:
+application : pro , oceans , iliad , batch  ;
+si
+( 
+  V_IND_TRAIT + 0 > 0
+  et
+  PRSPROV > PRS
+)
+alors erreur A872;
+verif corrective 57101:
+application :  iliad ;
+si
+    (
+      present (PRSPROV) = 1 et (V_NOTRAIT > 20)
+    )
+alors erreur A853;
+verif corrective 5711:
+application :  iliad ;
+si
+    (
+      present (CSALPROV) = 1 et (V_NOTRAIT > 20)
+    )
+alors erreur A854;
+verif 5712:
+application :  batch , iliad, pro, oceans ;
+si
+    (
+     CRDSIM > RDSN 
+    )
+alors erreur A871;
+verif 57121:
+application :  batch , iliad, pro, oceans ;
+si
+    V_IND_TRAIT + 0 > 0
+    et
+    (
+     CSALPROV + 0 > CSAL + 0
+     ou
+     positif(CSALPROV + 0) = 1 et present(BPVOPTCS) = 0
+    )
+alors erreur A869;
+verif corrective 5713:
+application :  iliad ;
+si
+    (
+     (V_NOTRAIT > 20) et positif(CRDSIM)=1
+    )
+alors erreur A851;
+verif corrective 57131:
+application :  iliad ;
+si
+    (
+     (V_NOTRAIT > 20) et positif(IRANT)=1
+    )
+alors erreur A850;
+verif 5714:
+application :  batch , oceans , iliad, pro ;
+si
+    (
+	positif(DCSGIM)=1 et positif(CSGIM+0)!=1
+    )
+alors erreur A870;
diff --git a/sources2010m_7_1/coc7.m b/sources2010m_7_1/coc7.m
new file mode 100644
index 0000000000000000000000000000000000000000..c0737ff03393ed4cb4f2ba8d02f4bfe269f914dd
--- /dev/null
+++ b/sources2010m_7_1/coc7.m
@@ -0,0 +1,331 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 7310:
+application : pro , oceans , iliad , batch  ;
+si
+	  ( present(CMAJ)=1 et present(MOISAN)=0 )
+	  ou
+	  ( present(CMAJ2)=1 et present(MOISAN2)=0 )
+          
+alors erreur A96201;
+verif 7311:
+application : pro , oceans , iliad , batch  ;
+si
+	  (  present(CMAJ)=0 et present(MOISAN)=1)
+	  ou
+	  (  present(CMAJ2)=0 et present(MOISAN2)=1)
+          
+alors erreur A96202;
+verif 7314:
+application : oceans , iliad , batch ;
+si
+	( 
+	CMAJ != 7 et ( APPLI_BATCH  = 1
+                    ou APPLI_OCEANS = 1
+                    ou (APPLI_ILIAD = 1 et
+                          non ( V_CALCULIR+0=1
+                               ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56)
+                              )
+                        )
+	             )
+	)
+	ou
+	( 
+	CMAJ2 != 7 et CMAJ2 != 0 et ( APPLI_BATCH  = 1
+                    ou APPLI_OCEANS = 1
+                    ou (APPLI_ILIAD = 1 et
+                          non ( V_CALCULIR+0=1
+                               ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56)
+                              )
+                        )
+	             )
+	)
+alors erreur A96101;
+verif 73141:
+application : pro , oceans , iliad ;
+si
+       (
+       CMAJ non dans ( 7..8 ) et CMAJ non dans (10..11) et CMAJ non dans (17..18)  
+     et (  (APPLI_ILIAD=1 et
+                   ( V_CALCULIR+0=1 ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56))
+           )
+           ou APPLI_PRO  =1)
+       )
+       ou
+       (
+       CMAJ2 non dans ( 7..8 ) et CMAJ2 non dans (10..11) et CMAJ2 non dans (17..18) et CMAJ2 != 0
+     et (  (APPLI_ILIAD=1 et
+                   ( V_CALCULIR+0=1 ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56))
+           )
+           ou APPLI_PRO  =1)
+       )
+alors erreur A96102;
+verif 73641:
+application : pro , oceans , iliad , batch  ;
+si
+	(
+       ((inf( DATDEPETR/1000000 ) non dans (01..31)) et V_IND_TRAIT+0 = 4)
+ou
+       ((inf( DATDEPETR/1000000 ) non dans (01..31)) et V_IND_TRAIT = 5 et DATDEPETR != 0)
+	) 
+alors erreur A96401;
+verif 73642:
+application : pro , oceans , iliad , batch  ;
+si
+	(
+       ((inf( (DATDEPETR/1000000 - inf(DATDEPETR/1000000))*100 ) non dans (01..12)) et (V_IND_TRAIT+0= 4))
+ou
+       ((inf( (DATDEPETR/1000000 - inf(DATDEPETR/1000000))*100 ) non dans (01..12)) 
+		et V_IND_TRAIT = 5 et DATDEPETR != 0)
+	) 
+alors erreur A96402;
+verif 736431:
+application : pro, oceans , iliad , batch ;
+si (
+ ((arr( (DATDEPETR/10000 - inf(DATDEPETR/10000))*10000 ) != V_ANREV) et V_IND_TRAIT+0 = 4)
+ou
+ ((arr( (DATDEPETR/10000 - inf(DATDEPETR/10000))*10000 ) != V_ANREV) 
+		et V_IND_TRAIT = 5 et DATDEPETR != 0)
+   ) 
+alors erreur A96403;
+verif 73651:
+application : pro , oceans , iliad , batch  ;
+si
+	(
+       ((inf( DATRETETR/1000000) non dans (01..31)) et V_IND_TRAIT+0 = 4)
+	ou
+       ((inf( DATRETETR/1000000) non dans (01..31)) et V_IND_TRAIT = 5 et DATRETETR != 0)
+	) 
+alors erreur A96501;
+verif 73652:
+application : pro , oceans , iliad , batch  ;
+si
+	(
+       ((inf( (DATRETETR/1000000 - inf(DATRETETR/1000000))*100 ) non dans (01..12)) et V_IND_TRAIT+0 = 4)
+	ou
+       ((inf( (DATRETETR/1000000 - inf(DATRETETR/1000000))*100 ) non dans (01..12)) 
+	et V_IND_TRAIT = 5 et DATRETETR != 0)
+	) 
+alors erreur A96502;
+verif 736531:
+application : pro, oceans , iliad , batch ;
+si (
+ ((arr( (DATRETETR/10000 - inf(DATRETETR/10000))*10000 ) != V_ANREV) et V_IND_TRAIT+0 = 4)
+ou
+ ((arr( (DATRETETR/10000 - inf(DATRETETR/10000))*10000 ) != V_ANREV) 
+            et V_IND_TRAIT = 5 et DATRETETR != 0)
+   ) 
+alors erreur A96503;
+verif 7366:
+application : pro , oceans , iliad , batch  ;
+si
+	(
+       DATDEPETR > 0 et DATRETETR > 0
+	) 
+alors erreur A966;
+verif 7315:
+application : pro , oceans , iliad , batch  ;
+si
+        (V_IND_TRAIT > 0 )
+       et
+	(
+	inf(MOISAN/10000) non dans (01..12)
+	ou
+	inf(MOISAN2/10000) non dans (00..12)
+	) 
+alors erreur A96301;
+verif 7316:
+application : oceans , iliad , batch ;
+si (
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+3
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+4
+   ) 
+   ou
+   (
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+3
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+4
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != 0
+   ) 
+alors erreur A96302;
+verif 7317:
+application : pro ;
+si (
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+3
+   ) 
+alors erreur A96302;
+verif 7330:
+application : pro , oceans , iliad , batch  ;
+si (
+      ( 
+       V_IND_TRAIT < 5 et AME2 < LIM_AMENDE+3
+       )
+   ou ( 
+       V_IND_TRAIT = 5 et 
+           (AME2 !=0 et AME2 < LIM_AMENDE+3)
+       )
+   )
+ alors erreur A960;
+verif 7331:
+application : pro , oceans , iliad  ;
+si
+  (
+  V_IND_TRAIT > 0
+  et
+  AME2 > 99999
+  )
+alors erreur A00106;
+verif 7332:
+application : pro , oceans , iliad  ;
+si
+  (
+  V_IND_TRAIT > 0
+  et
+  LOYIMP > 99999
+  )
+alors erreur A00107;
+verif 7441:
+application :  iliad ;
+
+si 
+   (
+   positif ( ANNUL2042 ) + INDAUTREQUE9YA > 1
+   )
+alors erreur A99301;
+verif 600:
+application :  iliad, batch, pro ;
+
+si 
+   positif(PERPIMPATRIE+0) != 1 et
+   V_REGCO+0 != 2 et V_REGCO+0 != 4 et V_CNR+0 != 1 et
+   (
+   (positif(PERP_COTV+0) > 0 et 
+    present(PERPPLAFCV)*present(PERPPLAFNUV1)*present(PERPPLAFNUV2)*present(PERPPLAFNUV3) = 0)
+    ou
+   (positif(PERP_COTC+0) > 0 et 
+    present(PERPPLAFCC)*present(PERPPLAFNUC1)*present(PERPPLAFNUC2)*present(PERPPLAFNUC3) = 0)
+    ou
+   (positif(PERP_COTP+0) > 0 et 
+    present(PERPPLAFCP)*present(PERPPLAFNUP1)*present(PERPPLAFNUP2)*present(PERPPLAFNUP3) = 0)
+   )
+alors erreur A600;
+verif 601:
+application :  iliad, batch, pro ;
+
+si (V_IND_TRAIT > 0) et positif(PERPIMPATRIE+0) != 1 
+   et
+   (
+   PERPPLAFCV > LIM_PERPMAXBT ou PERPPLAFCC > LIM_PERPMAXBT
+   )
+alors erreur A601;
+verif 602:
+application :  iliad, batch, pro ;
+
+si 
+   (
+    (positif(RACCOTV+0) > 0 et positif(PERP_COTV+0) = 0)
+    ou
+    (positif(RACCOTC+0) > 0 et positif(PERP_COTC+0) = 0)
+    ou
+    (positif(RACCOTP+0) > 0 et positif(PERP_COTP+0) = 0)
+   )
+alors erreur A602;
+verif 603:
+application :  iliad, batch ;
+
+si
+   positif(PERPIMPATRIE+0) != 1 et positif(V_CALCULIR+0)=0
+   et
+  (
+  (positif(PLAF_PERPV+0) = 1 et  
+	    (present(PERPPLAFCV) = 0 et present(PERPPLAFNUV1) = 0
+	     et present(PERPPLAFNUV2) = 0 et present(PERPPLAFNUV3) = 0 ))
+  ou
+  (positif(PLAF_PERPC+0) = 1 et  
+	    (present(PERPPLAFCC) = 0 et present(PERPPLAFNUC1) = 0
+	     et present(PERPPLAFNUC2) = 0 et present(PERPPLAFNUC3) = 0 ))
+  ou
+  (positif(PLAF_PERPP+0) = 1 et  
+	    (present(PERPPLAFCP) = 0 et present(PERPPLAFNUP1) = 0
+	     et present(PERPPLAFNUP2) = 0 et present(PERPPLAFNUP3) = 0 ))
+  ou
+  (positif(PLAF_PERPV+0) = 1 
+		 et (PERPPLAFCV+PERPPLAFNUV1+PERPPLAFNUV2+PERPPLAFNUV3 = 
+		      V_BTPERPV+V_BTPERPNUV1+V_BTPERPNUV2+V_BTPERPNUV3) )
+  ou
+  (positif(PLAF_PERPC+0) = 1 
+		 et (PERPPLAFCC+PERPPLAFNUC1+PERPPLAFNUC2+PERPPLAFNUC3 = 
+		      V_BTPERPC+V_BTPERPNUC1+V_BTPERPNUC2+V_BTPERPNUC3) )
+  ou
+  (positif(PLAF_PERPP+0) = 1 
+		 et (PERPPLAFCP+PERPPLAFNUP1+PERPPLAFNUP2+PERPPLAFNUP3 = 
+		      V_BTPERPP+V_BTPERPNUP1+V_BTPERPNUP2+V_BTPERPNUP3) )
+  )
+alors erreur A603;
+verif 604:
+application :  iliad, batch, pro ;
+
+si positif(PERPMUTU) = 1 et (V_0AM + V_0AO = 1) et ((V_REGCO+0) dans (1,3,5,6))
+	et positif(PERPIMPATRIE+0) = 0
+	et (present(PERPPLAFCV) = 0 ou present(PERPPLAFNUV1) = 0
+	ou present(PERPPLAFNUV2) = 0 ou present(PERPPLAFNUV3) = 0
+	ou present(PERPPLAFCC) = 0 ou present(PERPPLAFNUC1) = 0
+	ou present(PERPPLAFNUC2) = 0 ou present(PERPPLAFNUC3) =0)
+
+alors erreur A604;
+verif 6051:
+application :  iliad, batch, pro ;
+
+si
+
+   V_IND_TRAIT > 0
+   et
+   PERPV + 0 < EXOCETV + 0
+   et 
+   positif(EXOCETV + 0) = 1
+
+alors erreur A60501 ;
+verif 6052:
+application :  iliad, batch, pro ;
+
+si
+
+   V_IND_TRAIT > 0
+   et
+   PERPC + 0 < EXOCETC + 0
+   et
+   positif(EXOCETC + 0) = 1
+
+alors erreur A60502 ;
diff --git a/sources2010m_7_1/coi1.m b/sources2010m_7_1/coi1.m
new file mode 100644
index 0000000000000000000000000000000000000000..7129b0f6c37165da3705ddd03ca25672445ea636
--- /dev/null
+++ b/sources2010m_7_1/coi1.m
@@ -0,0 +1,722 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 1005:
+application : batch, pro , iliad  ;
+si (
+    V_IND_TRAIT > 0 et
+     (
+    (RBG > 99999999)
+    ou
+    (BCSG > 99999999)
+    ou
+    (BRDS > 99999999)
+    ou
+    (BPRS > 99999999)
+    ou
+    (BPVOPTCS > 99999999)
+    ou
+    (GSALV > 99999999)
+    ou
+    (GSALC > 99999999)
+    )
+   )
+alors erreur A00105;
+verif non_auto_cc 1101:
+application : pro , oceans ,  iliad , batch ;
+si
+(
+  RCMAVFT > PLAF_AF 
+  et
+  positif(RCMABD + REVACT + REVACTNB + RCMHAD + DISQUO + DISQUONB + RCMHAB + INTERE + INTERENB + 0) = 0
+)
+alors erreur A21801 ;
+verif non_auto_cc 1102:
+application : pro , oceans ,  iliad , batch ;
+si
+(
+  DIREPARGNE > PLAF_AF
+  et
+  (PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + DISQUONB + INTERE + INTERENB + 0 = 0)
+)
+alors erreur A21802;
+verif 1103:
+application :  pro , iliad , batch;
+si
+( (1 - V_CNR > 0) et V_REGCO+0 != 2 et V_REGCO+0 != 4 et 
+(
+   (
+    RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE + 0 > 0
+    et 
+    RCMAVFT > ((1/3) * (RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE)) +  PLAF_AF
+   )
+ ou
+   (
+     DIREPARGNE > ((PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE) * (18/100)) + PLAF_AF
+     et
+     PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE + 0 > 0
+   )
+)
+)
+alors erreur DD04;
+verif 1104:
+application : pro , iliad , batch ;
+si
+(
+  (1 - V_CNR + 0 > 0) et  
+  (
+  RCMFR > LIM_CONTROLE  et 
+   (
+    (RCMFR > 0.30 * ( RCMABD + RCMHAD + REVACT + DISQUO + 0 ))
+    ou
+    ((RCMABD + RCMHAD + REVACT + DISQUO + 0 = 0) et
+     (RCMTNC + RCMAV + RCMHAB + REGPRIV + REVPEA + PROVIE + RESTUC + INTERE + 0 > 0))
+   )
+  )
+)
+alors erreur DD03;
+verif  1106:
+application : batch, iliad, pro, oceans ;
+si
+   (
+   RCMSOC > RCMAV + PROVIE 
+          + RCMHAD + DISQUO 
+          + RCMHAB + INTERE  
+          + RCMABD + REVACT 
+	  + 1
+
+   )
+alors erreur A222;
+verif  1107:
+application : batch, iliad, pro, oceans ;
+
+si
+    V_IND_TRAIT + 0 > 0
+    et
+    REVSUIS + 0 > RCMABD + REVACT + 0
+
+alors erreur A224 ;
+verif 1108:
+application : iliad ;
+si
+(
+        (V_IND_TRAIT+0=4 et V_NOTRAIT+0<14) 
+         et
+	 (
+	(RCMAVFT > PLAF_AF
+             et 
+	( RCMABD+RCMHAD+RCMHAB > 0)
+             et
+	RCMAVFT > ( arr ( 40 * ( RCMABD+RCMHAD+RCMHAB
+	) / 100))
+        )
+	ou
+	(DIREPARGNE > PLAF_AF
+	et
+	( PPLIB + RCMLIB + RCMHAD + RCMHAB > 0)
+	et
+	DIREPARGNE > ( arr ( 20 * (PPLIB + RCMLIB + RCMHAD + RCMHAB 
+					 )/100))
+	)
+)
+)
+alors erreur IM1501;
+verif 1109:
+application : iliad ;
+si
+(
+       (V_NOTRAIT+0 >=14) et
+       (
+	(RCMAVFT > PLAF_AF et RCMAVFT <= PLAF_AF2
+             et 
+	( RCMABD+RCMHAD+RCMHAB > 0)
+             et
+	RCMAVFT > ( arr ( 40 * ( RCMABD+RCMHAD+RCMHAB
+	) / 100))
+        )
+	ou
+	(DIREPARGNE > PLAF_AF et DIREPARGNE <= PLAF_AF2
+	et
+	( PPLIB + RCMLIB + RCMHAD + RCMHAB > 0)
+	et
+         DIREPARGNE > (arr (20*(PPLIB + RCMLIB + RCMHAD + RCMHAB 
+				      )/100))
+	)
+)
+)
+alors erreur IM1502;
+verif 11220:
+application : batch ;
+si
+(
+       (V_NOTRAIT+0=10)
+       et
+       (
+	(RCMAVFT > PLAF_AF2
+             et 
+	( RCMABD+RCMHAD+RCMHAB+REVACT+DISQUO+INTERE > 0)
+             et
+	RCMAVFT > ( arr ( 40 * ( RCMABD+RCMHAD+RCMHAB+REVACT+DISQUO+INTERE ) / 100)))
+	ou
+	( DIREPARGNE > PLAF_AF2
+	  et
+	  RCMHAD > 0
+	  et
+	  DIREPARGNE > ( arr( 20*(PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE )/100 ))
+	)
+      )
+)
+alors erreur A220;
+verif 11221:
+application : iliad ;
+si
+(
+        ((V_IND_TRAIT+0=5 et V_NOTRAIT+0>14) ou V_NOTRAIT+0=14)
+	et
+	(
+	(RCMAVFT > PLAF_AF2
+             et 
+	( RCMABD+RCMHAD+RCMHAB+REVACT+DISQUO+INTERE > 0)
+             et
+	RCMAVFT > ( arr ( 40 * ( RCMABD+RCMHAD+RCMHAB+REVACT+DISQUO+INTERE ) / 100)))
+	ou
+	( DIREPARGNE > PLAF_AF2
+	  et
+	  PPLIB + RCMLIB + RCMHAD > 0
+	  et
+	  DIREPARGNE > ( arr( 20*(PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE )/100 ))
+	)
+)
+)
+alors erreur A220;
+verif 1200:
+application : pro ,  oceans , batch ,iliad;
+si
+    (
+        (  V_0CF + V_0CR + V_0CH + V_0CI + V_0DJ + V_0DN +V_0DP +0  = 0 )
+      et 
+        (SOMMEA030 > 0)
+      )
+alors erreur A030;
+verif 12718:
+application : pro , oceans , batch , iliad ;
+si
+    (
+       ( CIAQCUL > 0 )
+      et 
+       ( SOMMEA718 =0 )
+    )
+alors erreur A718;
+verif 12719:
+application : pro , oceans , batch , iliad ;
+si
+    (
+       ( RDMECENAT > 0 )
+      et 
+       ( SOMMEA719 =0 )
+    )
+alors erreur A719;
+verif 1202:
+application : pro , oceans , batch , iliad ;
+si
+    (
+       ( V_0AC + V_0AD + 0 > 0 )
+      et 
+      ( SOMMEA031 >0 )
+    )
+alors erreur A031;
+verif 1210:
+application : pro , oceans , iliad , batch;
+si
+  (
+      V_IND_TRAIT > 0
+      et
+      positif(TREVEX) = 1
+      et 
+      SOMMEA805 = 0
+  )
+alors erreur A805;
+verif 1215:
+application : pro , oceans , iliad , batch ;
+
+si
+   (V_IND_TRAIT > 0 )
+   et
+   present(BASRET) + present(IMPRET) = 1
+
+alors erreur A821 ;
+verif 12220:
+application : pro , oceans , iliad , batch ;
+
+si 
+   (V_IND_TRAIT > 0 )
+   et
+   (
+    REVACTNB < 2 ou REVACTNB > 20
+    ou
+    REVPEANB < 2 ou REVPEANB > 20
+    ou
+    PROVIENB < 2 ou PROVIENB > 20
+    ou
+    DISQUONB < 2 ou DISQUONB > 20
+    ou
+    RESTUCNB < 2 ou RESTUCNB > 20
+    ou
+    INTERENB < 2 ou INTERENB > 20
+   )
+alors erreur A22301 ;
+verif 12221:
+application : pro , oceans , iliad , batch ;
+
+si 
+   (V_IND_TRAIT > 0 )
+   et
+   (
+    present(REVACT) + present(REVACTNB) = 1
+    ou
+    present(REVPEA) + present(REVPEANB) = 1
+    ou
+    present(PROVIE) + present(PROVIENB) = 1
+    ou
+    present(DISQUO) + present(DISQUONB) = 1
+    ou 
+    present(RESTUC) + present(RESTUCNB) = 1
+    ou
+    present(INTERE) + present(INTERENB) = 1
+   )
+alors erreur A22302 ;
+verif 12222:
+application : pro , oceans , iliad , batch ;
+
+si 
+   (V_IND_TRAIT > 0 )
+   et
+   (FONCINB < 2 ou FONCINB > 30)
+
+alors erreur A42501 ;
+verif 12223:
+application : pro , oceans , iliad , batch ;
+
+si 
+   (V_IND_TRAIT > 0 )
+   et
+   present(FONCI) + present(FONCINB) = 1
+
+alors erreur A42502 ;
+verif 12224:
+application : pro , oceans , iliad , batch ;
+
+si 
+   (V_IND_TRAIT > 0 )
+   et
+   (REAMORNB < 2 ou REAMORNB > 14)
+
+alors erreur A42601 ;
+verif 12225:
+application : pro , oceans , iliad , batch ;
+
+si 
+   (V_IND_TRAIT > 0 )
+   et
+   present(REAMOR) + present(REAMORNB) = 1
+
+alors erreur A42602 ;
+verif 1222:
+application : pro , oceans , iliad  , batch;
+si
+        (V_IND_TRAIT > 0 )
+       et
+    (
+     CARTSNBAV < 2 ou CARTSNBAV > 45
+     ou
+     CARTSNBAC < 2 ou CARTSNBAC > 45
+     ou 
+     CARTSNBAP1 < 2 ou CARTSNBAP1 > 45
+     ou
+     CARTSNBAP2 < 2 ou CARTSNBAP2 > 45
+     ou
+     CARTSNBAP3 < 2 ou CARTSNBAP3 > 45
+     ou
+     CARTSNBAP4 < 2 ou CARTSNBAP4 > 45
+     ou
+     REMPLANBV < 2 ou REMPLANBV > 45
+     ou
+     REMPLANBC < 2 ou REMPLANBC > 45
+     ou
+     REMPLANBP1 < 2 ou REMPLANBP1 > 45
+     ou
+     REMPLANBP2 < 2 ou REMPLANBP2 > 45
+     ou
+     REMPLANBP3 < 2 ou REMPLANBP3 > 45
+     ou
+     REMPLANBP4 < 2 ou REMPLANBP4 > 45
+     )
+alors erreur A14001;
+verif 1223:
+application : pro , oceans , iliad  , batch;
+si
+        (V_IND_TRAIT > 0 )
+       et
+    (
+     CARPENBAV < 2 ou CARPENBAV > 45
+     ou
+     CARPENBAC < 2 ou CARPENBAC > 45
+     ou
+     CARPENBAP1 < 2 ou CARPENBAP1 > 45
+     ou
+     CARPENBAP2 < 2 ou CARPENBAP2 > 45
+     ou
+     CARPENBAP3 < 2 ou CARPENBAP3 > 45
+     ou
+     CARPENBAP4 < 2 ou CARPENBAP4 > 45
+     ou
+     PENSALNBV < 2 ou PENSALNBV > 45
+     ou
+     PENSALNBC < 2 ou PENSALNBC > 45
+     ou
+     PENSALNBP1 < 2 ou PENSALNBP1 > 45
+     ou
+     PENSALNBP2 < 2 ou PENSALNBP2 > 45
+     ou
+     PENSALNBP3 < 2 ou PENSALNBP3 > 45
+     ou
+     PENSALNBP4 < 2 ou PENSALNBP4 > 45
+     ou
+     RENTAXNB < 2 ou RENTAXNB > 45
+     ou
+     RENTAXNB5 < 2 ou RENTAXNB5 > 45
+     ou
+     RENTAXNB6 < 2 ou RENTAXNB6 > 45
+     ou
+     RENTAXNB7 < 2 ou RENTAXNB7 > 45
+     )
+alors erreur A13901;
+verif 1224:
+application : pro , oceans , iliad  , batch;
+si
+    (
+     (present(CARTSV) + present(CARTSNBAV) = 1)
+     ou
+     (present(CARTSC) + present(CARTSNBAC) = 1)
+     ou
+     (present(CARTSP1) + present(CARTSNBAP1) = 1)
+     ou
+     (present(CARTSP2) + present(CARTSNBAP2) = 1)
+     ou
+     (present(CARTSP3) + present(CARTSNBAP3) = 1)
+     ou
+     (present(CARTSP4) + present(CARTSNBAP4) = 1)
+     ou
+     (present(REMPLAV) + present(REMPLANBV) = 1)
+     ou
+     (present(REMPLAC) + present(REMPLANBC) = 1)
+     ou
+     (present(REMPLAP1) + present(REMPLANBP1) = 1)
+     ou
+     (present(REMPLAP2) + present(REMPLANBP2) = 1)
+     ou
+     (present(REMPLAP3) + present(REMPLANBP3) = 1)
+     ou
+     (present(REMPLAP4) + present(REMPLANBP4) = 1)
+    )
+alors erreur A14002;
+verif 1225:
+application : pro , oceans , iliad  , batch;
+si
+    (
+     (present(CARPEV) + present(CARPENBAV) = 1)
+     ou
+     (present(CARPEC) + present(CARPENBAC) = 1)
+     ou
+     (present(CARPEP1) + present(CARPENBAP1) = 1)
+     ou
+     (present(CARPEP2) + present(CARPENBAP2) = 1)
+     ou
+     (present(CARPEP3) + present(CARPENBAP3) = 1)
+     ou
+     (present(CARPEP4) + present(CARPENBAP4) = 1)
+     ou
+     (present(PENSALV) + present(PENSALNBV) = 1)
+     ou
+     (present(PENSALC) + present(PENSALNBC) = 1)
+     ou
+     (present(PENSALP1) + present(PENSALNBP1) = 1)
+     ou
+     (present(PENSALP2) + present(PENSALNBP2) = 1)
+     ou
+     (present(PENSALP3) + present(PENSALNBP3) = 1)
+     ou
+     (present(PENSALP4) + present(PENSALNBP4) = 1)
+     ou
+     (present(RENTAX) + present(RENTAXNB) = 1)
+     ou
+     (present(RENTAX5) + present(RENTAXNB5) = 1)
+     ou
+     (present(RENTAX6) + present(RENTAXNB6) = 1)
+     ou
+     (present(RENTAX7) + present(RENTAXNB7) = 1)
+    )
+alors erreur A13902;
+verif 1220:
+application : pro , oceans , iliad  , batch;
+si
+        (V_IND_TRAIT > 0 )
+       et
+    (
+     COTFV + 0 > 25
+     ou
+     COTFC + 0 > 25
+     ou
+     COTF1 + 0 > 25
+     ou
+     COTF2 + 0 > 25
+     ou
+     COTF3 + 0 > 25
+     ou
+     COTF4 + 0 > 25
+     )
+alors erreur A14101;
+verif 1221:
+application : pro , oceans , iliad  , batch;
+si
+    (
+     (present(PEBFV)= 1 et present(COTFV)=0)
+     ou
+     (present(PEBFC)= 1 et present(COTFC)=0)
+     ou
+     (present(PEBF1)= 1 et present(COTF1)=0)
+     ou
+     (present(PEBF2)= 1 et present(COTF2)=0)
+     ou
+     (present(PEBF3)= 1 et present(COTF3)=0)
+     ou
+     (present(PEBF4)= 1 et present(COTF4)=0)
+     ou
+     (present(COTFV)= 1 et present(PEBFV)=0)
+     ou
+     (present(COTFC)= 1 et present(PEBFC)=0)
+     ou
+     (present(COTF1)= 1 et present(PEBF1)=0)
+     ou
+     (present(COTF2)= 1 et present(PEBF2)=0)
+     ou
+     (present(COTF3)= 1 et present(PEBF3)=0)
+     ou
+     (present(COTF4)= 1 et present(PEBF4)=0)
+     )
+alors erreur A14102;
+verif 1301:
+application : iliad ;
+si
+        (V_IND_TRAIT > 0 )
+       et
+     (
+      BAFV > PLAF_FORFBA  ou  BAFC > PLAF_FORFBA  ou  BAFP > PLAF_FORFBA
+     )
+alors erreur IM02;
+verif 1312:
+application : batch ,iliad;
+si ( (positif_ou_nul(NAPT) = 0) 
+     et ( (V_BTNATIMP+0) dans (1,11,71,81) )
+     et ( 
+	 (positif(V_FORVA+0)=1) 
+	ou
+	 (positif(V_FORCA+0)=1) 
+	ou
+	 (positif(V_FORPA+0)=1)
+        )
+   )
+alors erreur A534;
+verif 1330:
+application : batch , iliad , pro ;
+si                                                                         
+(                                                                              
+pour un i dans V,C,P:
+   (MIBVENi + MIBNPVENi > LIM_MIBVEN)
+ ou  (MIBPRESi + MIBNPPRESi > LIM_MIBPRES)
+ ou ((MIBVENi +MIBNPVENi <= LIM_MIBVEN) et (MIBPRESi +MIBNPPRESi > LIM_MIBPRES))
+ ou (MIBVENi + MIBNPVENi + MIBPRESi + MIBNPPRESi > LIM_MIBVEN)
+ ou (BNCPROi + BNCNPi > LIM_SPEBNC)
+)                                                                              
+alors erreur DD08;
+verif 1340:                                                                  
+application : batch , iliad , pro ;
+si (V_NOTRAIT+0 < 20) et
+      (  V_IND_TRAIT+0 = 4 et 
+(
+(  present(V_0AX) =1
+ et 
+   (inf( ( V_0AX - V_ANREV ) / 1000000) > 31 
+     ou
+    inf( ( V_0AX - V_ANREV ) / 1000000) = 0 
+   )
+ )
+ou 
+(  present(V_0AY) =1
+ et 
+   (inf( ( V_0AY - V_ANREV ) / 1000000) > 31 
+     ou
+    inf( ( V_0AY - V_ANREV ) / 1000000) = 0 
+   )
+ )
+ou 
+(  present(V_0AZ) =1
+ et 
+   (inf( ( V_0AZ - V_ANREV ) / 1000000) > 31 
+     ou
+    inf( ( V_0AZ - V_ANREV ) / 1000000) = 0 
+   )
+ )
+)
+)
+alors erreur A02301;
+verif 1341:                                                                    
+application : batch , iliad , pro ;
+si 
+        (V_IND_TRAIT > 0 )
+       et (  V_IND_TRAIT+0 = 4 et
+(
+(  present(V_0AX) =1
+ et
+  (
+     (    inf ( V_0AX / 10000) * 10000
+        - inf ( V_0AX / 1000000)* 1000000
+     )/10000 > 12 
+   ou
+     (    inf ( V_0AX / 10000) * 10000
+        - inf ( V_0AX / 1000000)* 1000000
+     )/10000 =0
+   )
+)
+ou
+(  present(V_0AY) =1
+ et
+  (
+     (    inf ( V_0AY / 10000) * 10000
+        - inf ( V_0AY / 1000000)* 1000000
+     )/10000 > 12 
+   ou
+     (    inf ( V_0AY / 10000) * 10000
+        - inf ( V_0AY / 1000000)* 1000000
+     )/10000 =0
+   )
+)
+ou
+(  present(V_0AZ) =1
+ et
+  (
+     (    inf ( V_0AZ / 10000) * 10000
+        - inf ( V_0AZ / 1000000)* 1000000
+     )/10000 > 12 
+   ou
+     (    inf ( V_0AZ / 10000) * 10000
+        - inf ( V_0AZ / 1000000)* 1000000
+     )/10000 =0
+   )
+)
+)
+)
+alors erreur A02302;
+verif 1342:                                                                    
+application : batch , iliad , pro ;
+si
+        (V_IND_TRAIT > 0 )
+       et (  V_IND_TRAIT+0 = 4 et
+(
+(  present(V_0AX) =1
+  et
+   (V_0AX -  inf(V_0AX/ 10000) * 10000) != V_ANREV
+) 
+ou
+(  present(V_0AY) =1
+  et
+   (V_0AY -  inf(V_0AY/ 10000) * 10000) != V_ANREV
+) 
+ou
+(  present(V_0AZ) =1
+  et
+   (V_0AZ -  inf(V_0AZ/ 10000) * 10000) != V_ANREV
+   )
+) 
+)
+alors erreur A02303;
+verif 1352:                                                                    
+application : batch , pro ;
+si 
+        (V_IND_TRAIT > 0 )
+       et
+(
+(  present(V_0AX) =1
+  et
+  ( V_0AX + 0 < 1012005)
+)
+ou
+(  present(V_0AY) =1
+  et
+  ( V_0AY + 0 < 1012005)
+)
+ou
+(  present(V_0AZ) =1
+  et
+  ( V_0AZ + 0 < 1012005)
+)
+)
+alors erreur A02402;
+verif 1353:
+application : iliad ;
+si
+        (V_IND_TRAIT > 0 )
+       et
+    (
+      ( V_IND_TRAIT+0 = 4 et (
+       (  present(V_0AX) =1
+           et
+        ( V_0AX + 0 < 1012004)
+       )
+           ou
+       (  present(V_0AY) =1
+           et
+        ( V_0AY + 0 < 1012004)
+       )
+           ou
+       (  present(V_0AZ) =1
+           et
+        ( V_0AZ + 0 < 1012004)
+       ))
+      )
+       ou
+       ( V_IND_TRAIT = 5 et (
+        (  positif(V_0AX) =1
+            et
+         ( V_0AX + 0 < 1012004)
+        )
+            ou
+        (  positif(V_0AY) =1
+            et
+         ( V_0AY + 0 < 1012004)
+        )
+            ou
+        (  positif(V_0AZ) =1
+            et
+         ( V_0AZ + 0 < 1012004)
+        )
+       ))
+     )
+alors erreur A02402;
diff --git a/sources2010m_7_1/coi2.m b/sources2010m_7_1/coi2.m
new file mode 100644
index 0000000000000000000000000000000000000000..cf6f814861010662b5edec0f910a02624f3b9c65
--- /dev/null
+++ b/sources2010m_7_1/coi2.m
@@ -0,0 +1,248 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 20091:
+application :   iliad  ;
+si 
+  (
+   V_IND_TRAIT > 0 
+       et
+  positif(ANNUL2042) = 1
+  )
+alors erreur IM40;
+verif 2009:
+application :   iliad  ;
+si 
+  (
+  present (V_BTCO2044P) = 1
+ et
+  present (CO2044P)   = 0
+  )
+alors erreur IM09;
+verif 2010:
+application :  batch , iliad  ;
+si
+    (
+     (V_BTCSGDED * (1-present(DCSG)) + DCSG) * (1-null(4 -V_REGCO)) > V_BTCSGDED +  LIM_CONTROLE 
+    )
+    et
+    ( 
+      1 - V_CNR > 0
+    )    
+    et
+    ( 
+      RDCSG > 0
+    )    
+     et
+      ((APPLI_ILIAD = 1 et V_NOTRAIT+0 < 16)
+      ou 
+      ((V_BTNI1+0) non dans (50,92) et APPLI_BATCH = 1))
+
+alors erreur DD22;
+verif 2019:
+application : pro , oceans , iliad ;
+si
+
+   V_IND_TRAIT > 0 
+       et
+   ASCAPA > 9
+
+alors erreur A00104;
+verif 2020:
+application : pro , oceans , iliad ;
+si
+        (V_IND_TRAIT > 0 )
+       et
+  (
+   CHNFAC  > 9
+  )
+alors erreur A00101;
+verif 2022:
+application : pro , batch , iliad ;
+
+si
+(
+(1 - V_CNR > 0)
+ et
+(CHRFAC > 0 et V_0CR > 0) 
+ et
+( RFACC != 0)
+)
+alors erreur DD16;
+verif 2100:
+application : pro , oceans , iliad  ,batch;
+si
+   (
+     IPELUS > 0
+     et 
+     positif(present(TSHALLOV) + present(TSHALLOC) + present(CARTSV) + present(CARTSC) + present(CARTSNBAV) + present(CARTSNBAC)) = 0
+     et
+     positif(present(ALLOV) + present(ALLOC) + present(REMPLAV) + present(REMPLAC) + present(REMPLANBV) + present(REMPLANBC)) = 0
+   )
+alors erreur A888;
+verif 2110:
+application : pro , iliad  ,batch;
+si
+(
+REGCI+0 > IPBOCH+0
+)
+alors erreur A887;
+verif 2111:
+application : pro , iliad  ,batch;
+si
+(
+REVFONC+0 > IND_TDR+0 et present(IND_TDR)=0
+)
+alors erreur A889;
+verif 2101:
+application : pro , oceans , iliad , batch;
+si
+
+	IPSOUR > 0 et V_CNR + 0 = 0 et SOMMEA874 = 0 
+
+alors erreur A874;
+verif 2200:
+application : pro , oceans , iliad  ,batch;
+si
+
+  (IPRECH + 0 > 0 ou IPCHER + 0 > 0) et SOMMEA877 = 0
+
+alors erreur A877;
+verif 2205:
+application : pro , iliad  ;
+si
+	(
+	V_IND_TRAIT > 0
+	et
+        CREFAM+0 > 500000
+	)
+alors erreur IM03;
+verif 2220:
+application : pro , oceans , iliad  ,batch;
+
+si 
+
+  AUTOVERSLIB > 0 et SOMMEA862 = 0
+
+alors erreur A862;
+verif 2221:
+application : pro , oceans , iliad  ,batch;
+si
+
+ CIINVCORSE > 0 et SOMMEA879 = 0
+
+alors erreur A879;
+verif 2223:
+application : pro , oceans , iliad  ,batch;
+
+si
+
+ CREFAM > 0 et SOMMEA881 = 0
+
+alors erreur A881;
+verif 2229:
+application : pro , oceans , iliad  ,batch;
+
+si
+
+ CREAPP > 0 et SOMMEA890 = 0
+
+alors erreur A890;
+verif 891:
+application : pro , oceans , iliad  ,batch;
+
+si
+
+ CREPROSP > 0 et SOMMEA891 = 0
+
+alors erreur A891;
+verif 893:
+application : pro , oceans , iliad  ,batch;
+
+
+si
+
+ CREFORMCHENT > 0 et SOMMEA893 = 0
+
+alors erreur A893;
+verif 894:
+application : pro , oceans , iliad  ,batch;
+
+si
+
+ CREINTERESSE > 0 et SOMMEA894 = 0
+
+alors erreur A894;
+verif 895:
+application : pro , oceans , iliad  ,batch;
+
+si
+
+ CREAGRIBIO > 0 et SOMMEA895 = 0
+
+alors erreur A895;
+verif 896:
+application : pro , oceans , iliad  ,batch;
+si
+
+ CREARTS > 0 et SOMMEA896 = 0
+
+alors erreur A896;
+verif 898:
+application : pro , oceans , iliad  ,batch;
+si
+
+ CRECONGAGRI > 0 et SOMMEA898 = 0
+
+alors erreur A898;
+verif 899:
+application : pro , oceans , iliad  ,batch;
+
+si 
+
+  CRERESTAU > 0 et SOMMEA899 = 0
+
+alors erreur A899;
+verif 900:
+application : pro , oceans , iliad  ,batch;
+
+si 
+
+  CIDEBITTABAC > 0 et SOMMEA860 = 0
+
+alors erreur A860;
+verif 2222:
+application : pro , oceans , iliad  ,batch;
+si
+
+   CRIGA > 0  et SOMMEA880 = 0         
+
+alors erreur A880;
+verif 2290:
+application : batch , iliad, pro;
+si 
+(
+( (PPEACV+0 > 0) et (PPENJV+0 > 0) )
+ou
+( (PPEACC+0 > 0) et (PPENJC+0 > 0) )
+ou
+( (PPEACP+0 > 0) et (PPENJP+0 > 0) )
+)
+alors erreur A542;
diff --git a/sources2010m_7_1/coi3.m b/sources2010m_7_1/coi3.m
new file mode 100644
index 0000000000000000000000000000000000000000..d565ca4ae69f1df557aa3b843036a2125ea793f3
--- /dev/null
+++ b/sources2010m_7_1/coi3.m
@@ -0,0 +1,180 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 3500:
+application : bareme, batch, pro, oceans, iliad;
+si
+   (V_IND_TRAIT > 0 )
+       et
+   (
+   (V_CNR+0 != 0 et V_CNR+0 != 1 et V_CNR+0 != 2)
+   ou
+   (V_CR2+0 != 0 et V_CR2+0 != 1)
+   ou
+   (((V_REGCO+0) non dans (1,3)) et V_REGCO+0 !=2 et V_REGCO+0 != 4 et V_REGCO+0 != 5 et V_REGCO+0 !=6)
+   ou
+   (V_EAD+0 != 0 et V_EAD+0 != 1)
+   ou
+   (V_EAG+0 != 0 et V_EAG+0 != 1)
+   )
+alors erreur AS03;
+verif 3510:
+application :  pro , oceans  ;
+si
+ (
+ pour un i dans 0, 1, 2, 3, 4, 5, 6, 7:
+ V_0Fi + 0 > V_ANREV
+ )
+alors erreur AS02;
+verif 3511:
+application :  iliad , batch ;
+si
+ (
+ (
+ pour un i dans 0, 1, 2, 3, 4, 5, 6, 7:
+ V_0Fi + 0  > V_ANREV
+ )
+ ou
+ (
+ pour un j dans G, J, N, H, I, P et
+  un i dans 0, 1, 2, 3:
+ V_0ji + 0  > V_ANREV
+ )
+ )
+alors erreur AS02;
+verif 3600:
+application : pro , oceans ,  iliad , batch  ;
+si
+   (V_IND_TRAIT > 0) et
+   (
+     ( V_0DN + V_0DP + 0 = 1 )
+   )
+alors erreur A011;
+verif 3610:
+application : pro , iliad , batch  ;
+si
+   (V_IND_TRAIT > 0) 
+   et
+   (
+     V_0CF > 19 ou V_0CG > 19 ou V_0CH > 19 ou V_0CI > 19 ou V_0CR > 19 ou V_0DJ > 19 ou V_0DN > 19 ou V_0DP > 19
+   )
+alors erreur A019;
+verif 3620:
+application : iliad ;
+si
+   ( V_IND_TRAIT+0 = 4 
+       et V_BT0CF + 0 = somme(i=0..5:positif(V_BT0Fi+0))
+et V_BT0CH + 0 = somme(i=0..5:positif(V_BT0Hi+0))
+ et V_0CF + 0 = somme(i=0..5:positif(V_0Fi+0))
+  et V_0CH + 0 = somme(i=0..5:positif(V_0Hi+0))
+  et
+     (
+       V_BT0CH + V_BT0CF + 0 > V_0CH + V_0CF
+       ou 
+       (V_BT0CF = 1 et V_0CF =1 et V_0CH + 0 = 0 et pour un i dans 0,1: V_0Fi = V_ANREV )
+       ou
+       (V_BT0CF = 1 et V_0CH =1 et V_0CF + 0 = 0 et pour un i dans 0,1: V_0Hi = V_ANREV )
+       ou
+       (V_BT0CH = 1 et V_0CH =1 et V_0CF + 0 = 0 et pour un i dans 0,1: V_0Hi = V_ANREV )
+       ou
+       (V_BT0CH = 1 et V_0CF =1 et V_0CH + 0 = 0 et pour un i dans 0,1: V_0Fi = V_ANREV )
+     )
+   )
+alors erreur IM19;
+verif 3214:
+application : batch , iliad ;
+si
+    ( 
+       V_BT0CF >0 
+          et V_0CH >0 
+              et positif(V_0CF+0) != 1
+                   et V_BT0CF + 0 = somme(i=0..5:positif(V_BT0Fi+0)) 
+                     et V_BT0CH + 0 = somme(i=0..5:positif(V_BT0Hi+0)) 
+                       et V_0CF + 0 = somme(i=0..5:positif(V_0Fi+0)) 
+                         et V_0CH + 0 = somme(i=0..5:positif(V_0Hi+0)) 
+                           et ((     V_0CH < V_BT0CF   ) 
+                                ou
+                               (     V_0CH = V_BT0CF 
+                                  et somme(i=0..5:V_0Hi+0) != somme(i=0..5:V_BT0Fi+0)         )
+                                ou
+                               (     V_0CH = V_BT0CF
+                                  et somme(i=0..5:V_0Hi+0) = somme(i=0..5:V_BT0Fi+0)
+                                  et somme(i=0..5: (1/V_0Hi)) != somme(i=0..5: (1/V_BT0Fi))   )
+                               ou
+                               (     V_0CH > V_BT0CF
+        et somme(i=0..5:positif(somme(j=0..5:null(V_0Hj - V_BT0Fi)))*V_BT0Fi) != somme(i=0..5:V_BT0Fi) 
+                               )
+                               ou
+                               (     V_0CH > V_BT0CF
+        et somme(i=0..5:positif(somme(j=0..5:null(V_0Hj - V_BT0Fi)))*V_BT0Fi) = somme(i=0..5:V_BT0Fi) 
+        et somme(i=0..5:positif(somme(j=0..5:null(V_0Hi - V_BT0Fj)))*V_0Hi) < somme(i=0..5:V_BT0Fi)
+                               )
+                              )  
+    )
+
+alors erreur I014;
+verif 3215:
+application : iliad ;
+si
+     (
+       IREST >= LIM_RESTIT
+     )
+alors erreur IM14;
+verif 3630:
+application : batch , iliad , pro ;
+si
+   ( 
+    ( positif(V_0CF+0) != 1)
+    et
+    ( pour un i dans 0..7: positif(V_0Fi+0) = 1)
+   )
+alors erreur A021;
+verif 3631:
+application : batch, iliad, pro ;
+si
+   ( 
+    ( positif(V_0CH+0) != 1)
+    et 
+    (pour un i dans 0..5: positif(V_0Hi) = 1)
+   )
+alors erreur A021;
+verif 3640:
+application : batch, iliad ;
+si (
+     (V_NOTRAIT=10) et 
+     ( positif(V_0J0)=1 ou positif(V_0J1)=1 )
+     et
+       (pour un i dans 0..5: V_BT0Fi = V_ANREV - 18)
+     et
+       (pour un i dans 0..5: V_0Ji = V_ANREV - 18)
+   )
+alors erreur A022;
+verif 3700:
+application : bareme ;
+si (
+   ((V_9VV / 0.25) - arr(V_9VV / 0.25)) != 0
+  )
+alors erreur A06501;
+verif 3701:
+application : bareme ;
+si (
+   ( V_9VV < 1 ou  V_9VV > 99.75 )
+   )
+alors erreur A06501;
diff --git a/sources2010m_7_1/errB.m b/sources2010m_7_1/errB.m
new file mode 100644
index 0000000000000000000000000000000000000000..8c3987f3d1002a7e2258dfe446b2cabeaf1d862c
--- /dev/null
+++ b/sources2010m_7_1/errB.m
@@ -0,0 +1,30 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 10 Application bareme
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF";
+A063:anomalie :"A":"063":"00":"nombre de parts incompatible avec sit.  de famille";
+A064:anomalie :"A":"064":"00":"nombre de parts incompatible avec sit.  de famille et pers.  a charge";
+A06501:anomalie :"A":"065":"01":"LE NOMBRE DE PARTS DOIT ETRE UN MULTIPLE DE 0,25";
+A06502:anomalie :"A":"065":"02":"LE NOMBRE DE PARTS DOIT ETRE COMPRIS ENTRE 1 ET 99,75";
+A066:anomalie :"A":"066":"00":"nombre de parts incompatible avec sit.  de famille";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI";
+AS03:anomalie :"A":"S03":"00":"SAISIE DES VARIABLES CONTEXTE ERRONEE";
diff --git a/sources2010m_7_1/errH.m b/sources2010m_7_1/errH.m
new file mode 100644
index 0000000000000000000000000000000000000000..d42ccde512c8fa410ddec96e041708e3460daa15
--- /dev/null
+++ b/sources2010m_7_1/errH.m
@@ -0,0 +1,286 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES";
+A003:anomalie :"A":"003":"00":"PACS CONCLU EN 2009 ET RUPTURE PAR SEPARATION EN 2010, VERIFIEZ";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES E, K, G, N, U, W, L.";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES E,K,G,N,W,L.";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, S,U.";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S,U.";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U.";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.";
+A01011:anomalie :"A":"010":"11":"CODES P,F,S,E,K,G,N,W,L,T SAISIS SANS CODES M,O,C,D,V";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT OU DU CONJOINT EST INVRAISEMBLABLE";
+A015:anomalie :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR LE CSI";
+A01701:anomalie :"A":"017":"01":"CASE DC = D, UNE SEULE DATE PEUT ETRE SAISIE.";
+A01702:anomalie :"A":"017":"02":"CASE DC=Z, INDIQUEZ M OU O DANS SITUATION ET DATE DECES CJT OU PACSE.";
+A01703:anomalie :"A":"017":"03":"AVEC UN CODE S CASE DC, INDIQUEZ M OU O ET UNE DATE DE DIVORCE OU RUPTURE";
+A01704:anomalie :"A":"017":"04":"AVEC UN CODE M CASE DC, SAISISSEZ C, D ou V ET DATE DE MARIAGE OU DE PACS";
+A01705:anomalie :"A":"017":"05":"CASE DC = D. DATE MARIAGE OU PACS SAISIE. LA SITUATION DOIT ETRE M OU O.";
+A01706:anomalie :"A":"017":"06":"CASE DC = D. DATE DIVORCE OU RUPTURE SAISIE. LA SITUATION DOIT ETRE C,D,V";
+A01707:anomalie :"A":"017":"07":"CASE DC = D. DATE DECES CJT SAISIE. LA SITUATION DE FAMILLE DOIT ETRE V OU M";
+A018:anomalie :"A":"018":"00":"SITUATION NECESSITANT LA SAISIE DE LA CASE DC. ARRETEZ LA TRANSACTION.";
+A019:anomalie :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR LE CSI";
+A021:anomalie :"A":"021":"00":"ATTENTION DATES DE NAISSANCE PAC PRISES EN CHARGE SANS CODE 0CF, 0CH";
+A022:anomalie :"A":"022":"00":"UN ENFANT NE EN 1992 EST A LA FOIS COMPTE A CHARGE ET RATTACHE: A VERIFIER";
+A02301:anomalie :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31";
+A02302:anomalie :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12";
+A02303:anomalie :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENT DE 2010";
+A02401:anomalie :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT";
+A02402:anomalie :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE";
+A030:anomalie :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.";
+A031:anomalie :"A":"031":"00":"REV. OU CHARGE AU NOM DU CJT OU PARTEN. POUR UN CELIBATAIRE OU UN DIVORCE";
+A079:anomalie :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS";
+A080:anomalie :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM";
+A082:anomalie :"A":"082":"00":"LE CODE REGIME D IMPOSITION EST DIFFERENT DE 1,2 ou 4";
+A083:anomalie :"A":"083":"00":"UTILISATION DU CODE 8ZA UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS";
+A085:anomalie :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060";
+A086:anomalie :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT";
+A087:anomalie :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE";
+A088:anomalie :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE";
+A089:anomalie :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM";
+A090:anomalie :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1";
+A091:anomalie :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM";
+A092:anomalie :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.";
+A093:anomalie :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)";
+A094:anomalie :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).";
+A095:anomalie :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.";
+A096:anomalie :"A":"096":"00":"CODES 8YO ET 8YI : UNIQUEMENT CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE";
+A13901:anomalie :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45";
+A13902:anomalie :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION";
+A14001:anomalie :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45";
+A14002:anomalie :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION";
+A14101:anomalie :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25";
+A14102:anomalie :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION";
+A143:anomalie :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT";
+A14401:anomalie :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY";
+A14402:anomalie :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY";
+A146:anomalie :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT";
+A148:anomalie :"A":"148":"00":"SAISIE DU CODE 1LZ OU 1MZ SANS CODE 8ZK EN ABSENCE DE TAUX EFFECTIF";
+A149:anomalie :"A":"149":"00":"CODE CREDIT D'IMPOT JEUNE NON ADMIS POUR CETTE SITUATION DE FAMILLE";
+A150:anomalie :"A":"150":"00":"CODE CREDIT D'IMPOT JEUNE INCOMPATIBLE AVEC DEPART A L'ETRANGER (9YD).";
+A153:anomalie :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE";
+A21801:anomalie :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT";
+A21802:anomalie :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT";
+A220:anomalie :"A":"220":"00":"CREDIT D'IMPOT ( 2AB , 2BG ) EXAGERE : VERIFIEZ VOTRE SAISIE";
+A222:anomalie :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR";
+A22301:anomalie :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20";
+A22302:anomalie :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION";
+A224:anomalie :"A":"224":"00":"LE MONTANT 2 DC NE PEUT ETRE INFERIEUR AU MONTANT DE 2 SU";
+A320:anomalie :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM(PEA)";
+A321:anomalie :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)";
+A322:anomalie :"A":"322":"00":"MONTANT LIGNE 3VE POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM";
+A323:anomalie :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)";
+A324:anomalie :"A":"324":"00":"GAINS PORTES LIGNE 3VS SANS GAINS CORRESPONDANTS LIGNE 3VD, 3VI, 3VF, 3VJ, 3VK";
+A420:anomalie :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC";
+A421:anomalie :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E";
+A422:anomalie :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI";
+A42501:anomalie :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30";
+A42502:anomalie :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION";
+A42601:anomalie :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14";
+A42602:anomalie :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION";
+A534:anomalie :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)";
+A538:anomalie :"A":"538":"00":"REVENUS A IMPOSER AUX CONTRIBUTIONS SOCIALES SANS REVENU CORRESPONDANT";
+A542:anomalie :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS";
+A600:anomalie :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT";
+A601:anomalie :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (VOUS,CJT)NE PEUT DEPASSER 27 446 EUROS";
+A602:anomalie :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE";
+A603:anomalie :"A":"603":"00":"LES LIGNES 6PS, 6PT, 6PU SONT REMPLIES SANS MISE A JOUR DU PLAFOND";
+A604:anomalie :"A":"604":"00":"MUTUALISATION DEMANDEE (6QR) SANS PLAFOND CORRESPONDANT POUR LES DEUX CONJOINTS";
+A60501:anomalie :"A":"605":"01":"LE MONTANT 6 QS NE PEUT ETRE INFERIEUR AU MONTANT DE 1 SM";
+A60502:anomalie :"A":"605":"02":"LE MONTANT 6 QT NE PEUT ETRE INFERIEUR AU MONTANT DE 1 DN";
+A700:anomalie :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT";
+A701:anomalie :"A":"701":"00":"LE MONTANT PORTE LIGNE 7UE NE PEUT DEPASSER 513 E";
+A702:anomalie :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR";
+A703:anomalie :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC VOUS ET CONJOINT NES AVANT 1979";
+A704:anomalie :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT";
+A70501:anomalie :"A":"705":"01":"LE CHIFFRE DE LA LIGNE 7HY NE PEUT ETRE SUPERIEUR A 9";
+A70502:anomalie :"A":"705":"02":"LE CHIFFRE DE LA LIGNE 7JY NE PEUT ETRE SUPERIEUR A 15";
+A70503:anomalie :"A":"705":"03":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15";
+A70504:anomalie :"A":"705":"04":"LE CHIFFRE DE LA LIGNE 7FY NE PEUT ETRE SUPERIEUR A 6";
+A70601:anomalie :"A":"706":"01":"LE CHIFFRE LIGNE 7IY EST SUPERIEUR AU CHIFFRE DE 7HY";
+A70602:anomalie :"A":"706":"02":"LE CHIFFRE LIGNE 7KY EST SUPERIEUR AU CHIFFRE DE 7JY";
+A70603:anomalie :"A":"706":"03":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY";
+A70604:anomalie :"A":"706":"04":"LE CHIFFRE LIGNE 7GY EST SUPERIEUR AU CHIFFRE DE 7FY";
+A70701:anomalie :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)";
+A70702:anomalie :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)";
+A708:anomalie :"A":"708":"00":"LE MONTANT PORTE LIGNE 7XF, 7XI, 7XM, 7XJ, 7XO, 7XK NE PEUT DEPASSER 33 333 E";
+A70901:anomalie :"A":"709":"01":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7XC,7XF,7XI,7XL,7XJ,7XM";
+A70902:anomalie :"A":"709":"02":"SAISIE LIGNE 7 XN AVEC UNE DES LIGNES 7XC,7XF,7XI,7XG,7XH,7XL,7XM,7XJ,7XK,7XO";
+A710:anomalie :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF (SALARIE A DOMICILE) SANS 7DL (ASCENDANTS > 65 ANS)";
+A711:anomalie :"A":"711":"00":"SAISIE DU CODE 7DG, 7DL OU 7 DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB OU 7DF";
+A712:anomalie :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO";
+A713:anomalie :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT";
+A714:anomalie :"A":"714":"00":"REPORT 2009 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2010 (7WO ET 7WN)";
+A715:anomalie :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E";
+A716:anomalie :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN";
+A71701:anomalie :"A":"717":"01":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HJ ET 7HK";
+A71702:anomalie :"A":"717":"02":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM";
+A71703:anomalie :"A":"717":"03":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HN ET 7HO";
+A71704:anomalie :"A":"717":"04":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HR ET 7HS";
+A718:anomalie :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT";
+A719:anomalie :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT";
+A730:anomalie :"A":"730":"00":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE";
+A731:anomalie :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5";
+A732:anomalie :"A":"732":"00":"LE CHIFFRE DE LA LIGNE 7 SA EST DIFFERENT DE 1, 2 OU 3";
+A73301:anomalie :"A":"733":"01":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD ET 7SE NE PEUT EXCEDER 8 000 EUROS.";
+A73302:anomalie :"A":"733":"02":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD ET 7SE NE PEUT EXCEDER 16 000 EUROS.";
+A73303:anomalie :"A":"733":"03":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD ET 7SE NE PEUT EXCEDER 24 000 EUROS.";
+A73401:anomalie :"A":"734":"01":"LIGNE 7 SB, 7 SH, 7 SD ET 7 SE SANS PRISE EN CHARGE DU CHIFFRE 7 SA";
+A73402:anomalie :"A":"734":"02":"LIGNE 7 SA SAISIE SANS PRISE EN CHARGE DES LIGNES 7 SB, 7 SH, 7 SD ET 7 SE";
+A735:anomalie :"A":"735":"00":"CASE 7 WE COCHEE SANS PRISE EN CHARGE LIGNES 7 WH, 7 WK, 7 WF ET 7 WQ";
+A736:anomalie :"A":"736":"00":"INVEST. LOCATION MEUBLEE NON PROF : INCOMPATIBILITE ENTRE LIGNES 7IJ ET 7IL";
+A73701:anomalie :"A":"737":"01":"CASE 7 XD COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XC";
+A73702:anomalie :"A":"737":"02":"CASE 7 XE COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XL";
+A738:anomalie :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP";
+A739:anomalie :"A":"739":"00":"CASE 7 QA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE";
+A74001:anomalie :"A":"740":"01":"LE TOTAL LIGNES 7 QR + 7 QI NE PEUT ETRE SUPERIEUR A 300 000 E";
+A74002:anomalie :"A":"740":"02":"LE MONTANT  LIGNE 7 QI NE PEUT EXCEDER LE MONTANT LIGNE 7 QH";
+A74003:anomalie :"A":"740":"03":"LE MONTANT  LIGNE 7 QR NE PEUT EXCEDER LE MONTANT LIGNE 7 QQ";
+A741:anomalie :"A":"741":"00":"LE MONTANT PORTE LIGNE 7HR OU 7HS NE PEUT DEPASSER 99 999 E";
+A74201:anomalie :"A":"742":"01":"LIGNE 7HJ SAISIE AVEC LIGNE 7HN OU 7HO";
+A74202:anomalie :"A":"742":"02":"LIGNE 7HK SAISIE AVEC LIGNE 7HN OU 7HO";
+A743:anomalie :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK NE PEUT DEPASSER 99 999 E";
+A744:anomalie :"A":"744":"00":"LE MONTANT PORTE LIGNE 7SF NE PEUT DEPASSER 60 000 E";
+A800:anomalie :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL";
+A801:anomalie :"A":"801":"00":"LA LIGNE 8TL EST REMPLIE SANS REVENU CORRESPONDANT";
+A80201:anomalie :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)";
+A80202:anomalie :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM";
+A80203:anomalie :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM";
+A804:anomalie :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT";
+A805:anomalie :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION";
+A821:anomalie :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI";
+A860:anomalie :"A":"860":"00":"LA LIGNE 8WV EST REMPLIE SANS REVENU CORRESPONDANT";
+A862:anomalie :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT";
+A863:anomalie :"A":"863":"00":"LE CODE 8YO EST PRIS EN CHARGE SANS CODE 8YI OU RECIPROQUEMENT";
+A869:anomalie :"A":"869":"00":"CONTRIBUTION SALARIALE PROVISOIRE 2,5 % (8YV) > A CONTRIBUTION DUE";
+A870:anomalie :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU";
+A874:anomalie :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ";
+A877:anomalie :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT";
+A879:anomalie :"A":"879":"00":"LA LIGNE 8TG EST REMPLIE SANS REVENU CORRESPONDANT";
+A880:anomalie :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT";
+A881:anomalie :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT";
+A882:anomalie :"A":"882":"00":"LIGNE 8TI REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN (OU INVERSEMENT)";
+A883:anomalie :"A":"883":"00":"LA LIGNE 8TK EST REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP OU 8XQ";
+A884:anomalie :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT";
+A885:anomalie :"A":"885":"00":"PRISE EN CHARGE DU CODE 8XP OU 8XQ SANS PLUS-VALUE CORRESPONDANTE";
+A886:anomalie :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR, 8XP OU 8XQ";
+A887:anomalie :"A":"887":"00":"REVENU NET CODE 8XR SUPERIEUR AU MONTANT LIGNE 8TK";
+A888:anomalie :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP";
+A889:anomalie :"A":"889":"00":"SAISIE CODE 8 FV SANS PRISE EN CHARGE DU CODE 8 ZK";
+A890:anomalie :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT";
+A891:anomalie :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT";
+A893:anomalie :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT";
+A894:anomalie :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT";
+A895:anomalie :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT";
+A896:anomalie :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT";
+A898:anomalie :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT";
+A899:anomalie :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT";
+A950:anomalie :"A":"950":"00":"NATIMP OU PPENATREST DIFFERENT DES VALEURS ADMISES";
+A951:anomalie :"A":"951":"00":"CODINI DIFFERENT DES VALEURS ADMISES";
+A954:anomalie :"A":"954":"00":"NATIMPIR DIFFERENT DES VALEURS ADMISES";
+A955:anomalie :"A":"955":"00":"NATCRP DIFFERENT DES VALEURS ADMISES";
+A960:anomalie :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E";
+A96101:anomalie :"A":"961":"01":"UN SEUL CODE MAJORATION EST AUTORISE : 07";
+A96102:anomalie :"A":"961":"02":"LE CODE MAJORATION N'EST PAS VALIDE (07 A 11,17 ET 18)";
+A96201:anomalie :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE";
+A96202:anomalie :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE";
+A96301:anomalie :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12";
+A96302:anomalie :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2011, 2012 OU 2013";
+A96401:anomalie :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31";
+A96402:anomalie :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12";
+A96403:anomalie :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2010";
+A96501:anomalie :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31";
+A96502:anomalie :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12";
+A96503:anomalie :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2010";
+A966:anomalie :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE";
+A967:anomalie :"A":"967":"00":"MONTANT VARIABLE RESTITUEE SUPERIEUR A 8 CARACTERES.";
+A99301:anomalie :"A":"993":"01":"ANNULATION 2042: RAMENER LES REVENUS A 0.";
+A99302:anomalie :"A":"993":"02":"SUPPRESSION du code 9YA impossible, veuillez ressaisir une declaration";
+AS02:anomalie :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE";
+AS03:anomalie :"A":"S03":"00":"SAISIE DES VARIABLES CONTEXTE ERRONEE";
+AS11:anomalie :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE";
+DD02:discordance :"D":"D02":"00":"VERIFIER LE CUMUL DE 7CF (CAPITAL PME) AVEC 7FN, 7GN ";
+DD03:discordance :"D":"D03":"00":"MONTANT DES FRAIS RCM EXAGERE OU FRAIS AVEC REVENU LIGNE 2FU 2CH 2GO 2TR";
+DD04:discordance :"D":"D04":"00":"MONTANT DU CREDIT D'IMPOT EXAGERE";
+DD05:discordance :"D":"D05":"00":"LE REVENU IMPOSABLE EST < AU 1/5 E PAR RAPPORT A CELUI DE N-1";
+DD06:discordance :"D":"D06":"00":"REPORT LIGNE 7 XF, 7 XI, 7 XM, 7 XJ, 7 XO OU 7XK > 8333 E (C,D,V) OU 16667 E (M)";
+DD07:discordance :"D":"D07":"00":"LE MONTANT 7OZ,7PZ,7QZ,7RZ (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD08:discordance :"D":"D08":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES";
+DD09:discordance :"D":"D09":"00":"CREDIT PRET ETUDIANT LIGNE 7TD DEJA OBTENU EN N-1";
+DD10:discordance :"D":"D10":"00":"ENFANTS BENEFICIANT DE FRAIS DE GARDE > AU NOMBRE D'ENFANTS < 7 ANS";
+DD11:discordance :"D":"D11":"00":"REGIME MICRO-FONCIER (4BE) AVEC DEFICITS FONCIERS ANTERIEURS (4BD)";
+DD13:discordance :"D":"D13":"00":"SITUATION FORFAITAIRE A DENONCER SELON LES TERMES DE L'ARTICLE 69A2 DU CGI";
+DD14:discordance :"D":"D14":"00":"LE MONTANT 2CG EST > AU TOTAL DES LIGNES 2DC + 2CH + 2TS + 2TR";
+DD15:discordance :"D":"D15":"00":"LE MONTANT 7WP (REPORT 2009) EST > AU MONTANT CALCULE DE N-1";
+DD16:discordance :"D":"D16":"00":"FRAIS D'ACCUEIL ET PERSONNE A CHARGE AVEC CARTE D'INVALIDITE";
+DD17:discordance :"D":"D17":"00":"ACCROISSEMENT DU NOMBRE DE PARTS > 4 PAR RAPPORT A N-1";
+DD18:discordance :"D":"D18":"00":"DEFICIT ANTERIEUR 6FA A 6FL INCOMPATIBLE AVEC REVENU IMPOSABLE EN N-1";
+DD19:discordance :"D":"D19":"00":"NOMBRE LIGNE 7FG > NOMBRE DE RUBRIQUES ADMISES DU o5";
+DD20:discordance :"D":"D20":"00":"DEFICIT AGRICOLE ANTERIEUR DECLARE (5QF A 5QQ) SANS DEFICIT EN N-1";
+DD21:discordance :"D":"D21":"00":"SAISIE DE 7DF,7DB ET 7DG SANS INVALIDITE CADRE A (CODE PF) OU C (CODE G,I,R)";
+DD22:discordance :"D":"D22":"00":"LE MONTANT DE CSG DEDUCTIBLE EST SUPERIEUR AU MONTANT N-1";
+DD24:discordance :"D":"D24":"00":"MONTANT 4TQ 2010 > A 4TP 1999 - 4TQ 1999 A 4TQ 2009";
+DD26:discordance :"D":"D26":"00":"REVENU OU DEFICIT FONCIER DECLARE (4BA A 4BD) SANS MONTANT EN N-1";
+DD27:discordance :"D":"D27":"00":"LE MONTANT 7CL,7CM,7CN (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD28:discordance :"D":"D28":"00":"CREDIT 8WB DEJA OBTENU EN N-1 : 1SEUL CREDIT PAR ENTREPRISE";
+DD29:discordance :"D":"D29":"00":"LE MONTANT 7XS,7XT,7XU,7XW,7XY (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD32:discordance :"D":"D32":"00":"CREDIT SALARIE A DOMICILE SANS REVENU D ACTIVITE : VERIFIEZ LA SITUATION";
+DD34:discordance :"D":"D34":"00":"VERIFIER LE CUMUL 7FM AVEC 7FQ, 7GQ";
+DD35:discordance :"D":"D35":"00":"CASE NOUVEAU RESIDENT LIGNE 6QW DEJA SAISIE EN N-1";
+DD3601:discordance :"D":"D36":"01":"CASE 7WE COCHEE AVEC UN RFR 2008 SUPERIEUR A 45 000 EUROS";
+DD3602:discordance :"D":"D36":"02":"CASE 7WE COCHEE SANS RFR DE 2008";
+DD37:discordance :"D":"D37":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES";
+DD3801:discordance :"D":"D38":"01":"REGIME AUTO-ENTREPRENEUR AVEC RFR 2008 SUPERIEUR A LIMITE ADMISE";
+DD3802:discordance :"D":"D38":"02":"REGIME AUTO-ENTREPRENEUR SANS RFR DE 2008";
+DD39:discordance :"D":"D39":"00":"LE MONTANT 6 HJ (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD40:discordance :"D":"D40":"00":"LE MONTANT 7 LA (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD41:discordance :"D":"D41":"00":"LE MONTANT 7 IS (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD42:discordance :"D":"D42":"00":"LE MONTANT 7 UU OU 7 TE (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD45:discordance :"D":"D45":"00":"REPORT 'SCELLIER' LIGNE 7HR OU 7 HS > 33 333 E";
+DD46:discordance :"D":"D46":"00":"REPORT  LIGNE 7 IK > 33 333 E";
+DD47:discordance :"D":"D47":"00":"LE MONTANT DE LA LIGNE 3 VG NE PEUT ETRE SUPERIEUR A LA LIGNE 3 VT";
+I00101:informative :"I":"001":"01":"COTIS.  SYNDICALES NON RETENUES (VOUS): SALAIRES + FRAIS REELS";
+I00102:informative :"I":"001":"02":"COTIS. SYNDICALES NON RETENUES (CJT): SALAIRES + FRAIS REELS";
+I00103:informative :"I":"001":"03":"COTISATIONS SYNDICALES NON RETENUES (PAC): SALAIRES + FRAIS REELS";
+I008:informative :"I":"008":"00":"LE NOMBRE DE PERSONNE (6EV) N'EST PAS INDIQUE";
+I009:informative :"I":"009":"00":"LE NOMBRE D'EXPLOITATIONS (7FG) N'EST PAS INDIQUE.";
+I010:informative :"I":"010":"00":"REVENUS OU CHARGE AU NOM DU CONJOINT OU PARTENAIRE POUR UN CONTRIBUABLE VEUF";
+I011:informative :"I":"011":"00":"1/2 PART SUPP. NON RETENUE (CASE S) : VOUS + CJT NES APRES 1935";
+I012:informative :"I":"012":"00":"1/2 PART SUPP. NON RETENUE (CASE W) : CONTRIBUABLE NE APRES 1935";
+I013:informative :"I":"013":"00":"PAS DE CASES E ET H AVEC NB DE PARTS EN N-1 > 1 : VERIFIER SI CONTRIB. SEUL";
+I014:informative :"I":"014":"00":"SAISIE ENF. DU CODE H SANS PRISE EN CHARGE DES ENF. DU CODE F DE N-1:VERIFIER";
+I015:informative :"I":"015":"00":"LE MONTANT 2AA, 2AL, 2AM, 2AN (REPORT) EST > AU MONTANT CALCULE DE N-1";
diff --git a/sources2010m_7_1/errI.m b/sources2010m_7_1/errI.m
new file mode 100644
index 0000000000000000000000000000000000000000..28fefe913c56f492133af1a2208f07b637efd4aa
--- /dev/null
+++ b/sources2010m_7_1/errI.m
@@ -0,0 +1,357 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 10 Application iliad
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES";
+A00106:anomalie :"A":"001":"06":"L'AMENDE NE PEUT ETRE > A 99.999 E";
+A00107:anomalie :"A":"001":"07":"LES PRIMES NE PEUVENT ETRE > A 99.999 E";
+A003:anomalie :"A":"003":"00":"PACS CONCLU EN 2009 ET RUPTURE PAR SEPARATION EN 2010, VERIFIEZ";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES E, K, G, N, U, W, L.";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES E,K,G,N,W,L.";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, S,U.";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S,U.";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U.";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.";
+A01011:anomalie :"A":"010":"11":"CODES P,F,S,E,K,G,N,W,L,T SAISIS SANS CODES M,O,C,D,V";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT OU DU CONJOINT EST INVRAISEMBLABLE";
+A015:anomalie :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR LE CSI";
+A01701:anomalie :"A":"017":"01":"CASE DC = D, UNE SEULE DATE PEUT ETRE SAISIE.";
+A01702:anomalie :"A":"017":"02":"CASE DC=Z, INDIQUEZ M OU O DANS SITUATION ET DATE DECES CJT OU PACSE.";
+A01703:anomalie :"A":"017":"03":"AVEC UN CODE S CASE DC, INDIQUEZ M OU O ET UNE DATE DE DIVORCE OU RUPTURE";
+A01704:anomalie :"A":"017":"04":"AVEC UN CODE M CASE DC, SAISISSEZ C, D ou V ET DATE DE MARIAGE OU DE PACS";
+A01705:anomalie :"A":"017":"05":"CASE DC = D. DATE MARIAGE OU PACS SAISIE. LA SITUATION DOIT ETRE M OU O.";
+A01706:anomalie :"A":"017":"06":"CASE DC = D. DATE DIVORCE OU RUPTURE SAISIE. LA SITUATION DOIT ETRE C,D,V";
+A01707:anomalie :"A":"017":"07":"CASE DC = D. DATE DECES CJT SAISIE. LA SITUATION DE FAMILLE DOIT ETRE V OU M";
+A018:anomalie :"A":"018":"00":"SITUATION NECESSITANT LA SAISIE DE LA CASE DC. ARRETEZ LA TRANSACTION.";
+A019:anomalie :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR LE CSI";
+A021:anomalie :"A":"021":"00":"ATTENTION DATES DE NAISSANCE PAC PRISES EN CHARGE SANS CODE 0CF, 0CH";
+A022:anomalie :"A":"022":"00":"UN ENFANT NE EN 1992 EST A LA FOIS COMPTE A CHARGE ET RATTACHE: A VERIFIER";
+A02301:anomalie :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31";
+A02302:anomalie :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12";
+A02303:anomalie :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENT DE 2010";
+A02401:anomalie :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT";
+A02402:anomalie :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE";
+A030:anomalie :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.";
+A031:anomalie :"A":"031":"00":"REV. OU CHARGE AU NOM DU CJT OU PARTEN. POUR UN CELIBATAIRE OU UN DIVORCE";
+A041:anomalie :"A":"041":"00":"Code revenu 8VV, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ";
+A042:anomalie :"A":"042":"00":"Code revenu 8VW, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ";
+A043:anomalie :"A":"043":"00":"Revenus 8VV et 8VW saisis simultanement, supprimer un des deux codes";
+A044:anomalie :"A":"044":"00":"Code revenu 8VX, saisir le code penalite 32";
+A045:anomalie :"A":"045":"00":"Code penalite 32 accepte uniquement avec le code 8VX";
+A046:anomalie :"A":"046":"00":"CODE REVENU 8WW, SAISIR LE CODE PENALITE 30";
+A047:anomalie :"A":"047":"00":"CODE PENALITE 30 ACCEPTE UNIQUEMENT AVEC LE CODE REVENU 8WW";
+A048:anomalie :"A":"048":"00":"CE CODE PENALITE NE S'APPLIQUE QU'AUX BIC, BNC,BA";
+A078:anomalie :"A":"078":"00":"Code inoperant dans les applications ILIAD-IS et ILIAD-CTX";
+A079:anomalie :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS";
+A080:anomalie :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM";
+A082:anomalie :"A":"082":"00":"LE CODE REGIME D IMPOSITION EST DIFFERENT DE 1,2 ou 4";
+A083:anomalie :"A":"083":"00":"UTILISATION DU CODE 8ZA UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS";
+A085:anomalie :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060";
+A086:anomalie :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT";
+A087:anomalie :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE";
+A088:anomalie :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE";
+A089:anomalie :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM";
+A090:anomalie :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1";
+A091:anomalie :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM";
+A092:anomalie :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.";
+A093:anomalie :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)";
+A094:anomalie :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).";
+A095:anomalie :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.";
+A096:anomalie :"A":"096":"00":"CODES 8YO ET 8YI : UNIQUEMENT CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE";
+A13901:anomalie :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45";
+A13902:anomalie :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION";
+A14001:anomalie :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45";
+A14002:anomalie :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION";
+A14101:anomalie :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25";
+A14102:anomalie :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION";
+A143:anomalie :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT";
+A14401:anomalie :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY";
+A14402:anomalie :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY";
+A146:anomalie :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT";
+A148:anomalie :"A":"148":"00":"SAISIE DU CODE 1LZ OU 1MZ SANS CODE 8ZK EN ABSENCE DE TAUX EFFECTIF";
+A149:anomalie :"A":"149":"00":"CODE CREDIT D'IMPOT JEUNE NON ADMIS POUR CETTE SITUATION DE FAMILLE";
+A150:anomalie :"A":"150":"00":"CODE CREDIT D'IMPOT JEUNE INCOMPATIBLE AVEC DEPART A L'ETRANGER (9YD).";
+A153:anomalie :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE";
+A21801:anomalie :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT";
+A21802:anomalie :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT";
+A220:anomalie :"A":"220":"00":"CREDIT D'IMPOT ( 2AB , 2BG ) EXAGERE : VERIFIEZ VOTRE SAISIE";
+A222:anomalie :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR";
+A22301:anomalie :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20";
+A22302:anomalie :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION";
+A224:anomalie :"A":"224":"00":"LE MONTANT 2 DC NE PEUT ETRE INFERIEUR AU MONTANT DE 2 SU";
+A320:anomalie :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM(PEA)";
+A321:anomalie :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)";
+A322:anomalie :"A":"322":"00":"MONTANT LIGNE 3VE POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM";
+A323:anomalie :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)";
+A324:anomalie :"A":"324":"00":"GAINS PORTES LIGNE 3VS SANS GAINS CORRESPONDANTS LIGNE 3VD, 3VI, 3VF, 3VJ, 3VK";
+A420:anomalie :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC";
+A421:anomalie :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E";
+A422:anomalie :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI";
+A42501:anomalie :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30";
+A42502:anomalie :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION";
+A42601:anomalie :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14";
+A42602:anomalie :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION";
+A534:anomalie :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)";
+A538:anomalie :"A":"538":"00":"REVENUS A IMPOSER AUX CONTRIBUTIONS SOCIALES SANS REVENU CORRESPONDANT";
+A542:anomalie :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS";
+A600:anomalie :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT";
+A601:anomalie :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (VOUS,CJT)NE PEUT DEPASSER 27 446 EUROS";
+A602:anomalie :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE";
+A603:anomalie :"A":"603":"00":"LES LIGNES 6PS, 6PT, 6PU SONT REMPLIES SANS MISE A JOUR DU PLAFOND";
+A604:anomalie :"A":"604":"00":"MUTUALISATION DEMANDEE (6QR) SANS PLAFOND CORRESPONDANT POUR LES DEUX CONJOINTS";
+A60501:anomalie :"A":"605":"01":"LE MONTANT 6 QS NE PEUT ETRE INFERIEUR AU MONTANT DE 1 SM";
+A60502:anomalie :"A":"605":"02":"LE MONTANT 6 QT NE PEUT ETRE INFERIEUR AU MONTANT DE 1 DN";
+A700:anomalie :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT";
+A701:anomalie :"A":"701":"00":"LE MONTANT PORTE LIGNE 7UE NE PEUT DEPASSER 513 E";
+A702:anomalie :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR";
+A703:anomalie :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC VOUS ET CONJOINT NES AVANT 1979";
+A704:anomalie :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT";
+A70501:anomalie :"A":"705":"01":"LE CHIFFRE DE LA LIGNE 7HY NE PEUT ETRE SUPERIEUR A 9";
+A70502:anomalie :"A":"705":"02":"LE CHIFFRE DE LA LIGNE 7JY NE PEUT ETRE SUPERIEUR A 15";
+A70503:anomalie :"A":"705":"03":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15";
+A70504:anomalie :"A":"705":"04":"LE CHIFFRE DE LA LIGNE 7FY NE PEUT ETRE SUPERIEUR A 6";
+A70601:anomalie :"A":"706":"01":"LE CHIFFRE LIGNE 7IY EST SUPERIEUR AU CHIFFRE DE 7HY";
+A70602:anomalie :"A":"706":"02":"LE CHIFFRE LIGNE 7KY EST SUPERIEUR AU CHIFFRE DE 7JY";
+A70603:anomalie :"A":"706":"03":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY";
+A70604:anomalie :"A":"706":"04":"LE CHIFFRE LIGNE 7GY EST SUPERIEUR AU CHIFFRE DE 7FY";
+A70701:anomalie :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)";
+A70702:anomalie :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)";
+A708:anomalie :"A":"708":"00":"LE MONTANT PORTE LIGNE 7XF, 7XI, 7XM, 7XJ, 7XO, 7XK NE PEUT DEPASSER 33 333 E";
+A70901:anomalie :"A":"709":"01":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7XC,7XF,7XI,7XL,7XJ,7XM";
+A70902:anomalie :"A":"709":"02":"SAISIE LIGNE 7 XN AVEC UNE DES LIGNES 7XC,7XF,7XI,7XG,7XH,7XL,7XM,7XJ,7XK,7XO";
+A710:anomalie :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF (SALARIE A DOMICILE) SANS 7DL (ASCENDANTS > 65 ANS)";
+A711:anomalie :"A":"711":"00":"SAISIE DU CODE 7DG, 7DL OU 7 DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB OU 7DF";
+A712:anomalie :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO";
+A713:anomalie :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT";
+A714:anomalie :"A":"714":"00":"REPORT 2009 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2010 (7WO ET 7WN)";
+A715:anomalie :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E";
+A716:anomalie :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN";
+A71701:anomalie :"A":"717":"01":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HJ ET 7HK";
+A71702:anomalie :"A":"717":"02":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM";
+A71703:anomalie :"A":"717":"03":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HN ET 7HO";
+A71704:anomalie :"A":"717":"04":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HR ET 7HS";
+A718:anomalie :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT";
+A719:anomalie :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT";
+A72001:anomalie :"A":"720":"01":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE M";
+A72002:anomalie :"A":"720":"02":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE C";
+A72003:anomalie :"A":"720":"03":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR C OU M AU LIEU DE R";
+A721:anomalie :"A":"721":"00":"SENS P IMPOSSIBLE POUR UN CODE ABSENT DE LA 2042";
+A72201:anomalie :"A":"722":"01":"LE MONTANT DU RAPPEL EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE";
+A72202:anomalie :"A":"722":"02":"LE MONTANT DE LA MINO EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE";
+A72203:anomalie :"A":"722":"03":"LE MONTANT DE LA CORRECTION EST > A LA VALEUR DU CODE CELLULE DE LA 2042";
+A72204:anomalie :"A":"722":"04":"LE MONTANT DE LA RECTIF EST > A LA VALEUR DU CODE CELLULE DE LA 2042";
+A72206:anomalie :"A":"722":"06":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE";
+A72207:discordance :"D":"722":"07":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE";
+A72301:anomalie :"A":"723":"01":"LE MONTANT DU C02 AVEC 2042_RECT EST SUPERIEUR A CELUI DU R02 AVEC INDICATEUR";
+A72302:anomalie :"A":"723":"02":"ANNULATION OU MINORATION DE R02 ET 2042_RECT S'EFFECTUE AVEC C02 et 2042_RECT";
+A724:anomalie :"A":"724":"00":"Majorations 80% apres 2 MED supprimees a compter du 01/01/2006";
+A725:anomalie :"A":"725":"00":"PROCEDURE DE REGULARISATION INTERDITE EN CAS DE NON DEPOT OU DEPOT TARDIF";
+A730:anomalie :"A":"730":"00":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE";
+A731:anomalie :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5";
+A732:anomalie :"A":"732":"00":"LE CHIFFRE DE LA LIGNE 7 SA EST DIFFERENT DE 1, 2 OU 3";
+A73301:anomalie :"A":"733":"01":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD ET 7SE NE PEUT EXCEDER 8 000 EUROS.";
+A73302:anomalie :"A":"733":"02":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD ET 7SE NE PEUT EXCEDER 16 000 EUROS.";
+A73303:anomalie :"A":"733":"03":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD ET 7SE NE PEUT EXCEDER 24 000 EUROS.";
+A73401:anomalie :"A":"734":"01":"LIGNE 7 SB, 7 SH, 7 SD ET 7 SE SANS PRISE EN CHARGE DU CHIFFRE 7 SA";
+A73402:anomalie :"A":"734":"02":"LIGNE 7 SA SAISIE SANS PRISE EN CHARGE DES LIGNES 7 SB, 7 SH, 7 SD ET 7 SE";
+A735:anomalie :"A":"735":"00":"CASE 7 WE COCHEE SANS PRISE EN CHARGE LIGNES 7 WH, 7 WK, 7 WF ET 7 WQ";
+A736:anomalie :"A":"736":"00":"INVEST. LOCATION MEUBLEE NON PROF : INCOMPATIBILITE ENTRE LIGNES 7IJ ET 7IL";
+A73701:anomalie :"A":"737":"01":"CASE 7 XD COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XC";
+A73702:anomalie :"A":"737":"02":"CASE 7 XE COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XL";
+A738:anomalie :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP";
+A739:anomalie :"A":"739":"00":"CASE 7 QA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE";
+A74001:anomalie :"A":"740":"01":"LE TOTAL LIGNES 7 QR + 7 QI NE PEUT ETRE SUPERIEUR A 300 000 E";
+A74002:anomalie :"A":"740":"02":"LE MONTANT  LIGNE 7 QI NE PEUT EXCEDER LE MONTANT LIGNE 7 QH";
+A74003:anomalie :"A":"740":"03":"LE MONTANT  LIGNE 7 QR NE PEUT EXCEDER LE MONTANT LIGNE 7 QQ";
+A741:anomalie :"A":"741":"00":"LE MONTANT PORTE LIGNE 7HR OU 7HS NE PEUT DEPASSER 99 999 E";
+A74201:anomalie :"A":"742":"01":"LIGNE 7HJ SAISIE AVEC LIGNE 7HN OU 7HO";
+A74202:anomalie :"A":"742":"02":"LIGNE 7HK SAISIE AVEC LIGNE 7HN OU 7HO";
+A743:anomalie :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK NE PEUT DEPASSER 99 999 E";
+A744:anomalie :"A":"744":"00":"LE MONTANT PORTE LIGNE 7SF NE PEUT DEPASSER 60 000 E";
+A760:anomalie :"A":"760":"00":"LE SENS DU RAPPEL SAISI N'APPARTIENT PAS AUX VALEURS POSSIBLES";
+A770:anomalie :"A":"770":"00":"SI LE CODE RAPPEL EST P, LE CODE MAJO DOIT ETRE 07,08,10,11,17,18 ou 31";
+A780:anomalie :"A":"780":"00":"MOIS OU ANNEE DE LA DATE DE NOTIFICATION INVRAISEMBLABLE";
+A800:anomalie :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL";
+A801:anomalie :"A":"801":"00":"LA LIGNE 8TL EST REMPLIE SANS REVENU CORRESPONDANT";
+A80201:anomalie :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)";
+A80202:anomalie :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM";
+A80203:anomalie :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM";
+A804:anomalie :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT";
+A805:anomalie :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION";
+A821:anomalie :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI";
+A850:anomalie :"A":"850":"00":"SAISIE DU CODE 8ZG INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF";
+A851:anomalie :"A":"851":"00":"SAISIE DU CODE 8ZJ INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF";
+A852:anomalie :"A":"852":"00":"SAISIE DU CODE 8ZL INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF";
+A853:anomalie :"A":"853":"00":"SAISIE DU CODE 8ZS INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF";
+A854:anomalie :"A":"854":"00":"SAISIE DU CODE 8YV INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF";
+A860:anomalie :"A":"860":"00":"LA LIGNE 8WV EST REMPLIE SANS REVENU CORRESPONDANT";
+A862:anomalie :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT";
+A863:anomalie :"A":"863":"00":"LE CODE 8YO EST PRIS EN CHARGE SANS CODE 8YI OU RECIPROQUEMENT";
+A869:anomalie :"A":"869":"00":"CONTRIBUTION SALARIALE PROVISOIRE 2,5 % (8YV) > A CONTRIBUTION DUE";
+A870:anomalie :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU";
+A874:anomalie :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ";
+A877:anomalie :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT";
+A879:anomalie :"A":"879":"00":"LA LIGNE 8TG EST REMPLIE SANS REVENU CORRESPONDANT";
+A880:anomalie :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT";
+A881:anomalie :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT";
+A882:anomalie :"A":"882":"00":"LIGNE 8TI REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN (OU INVERSEMENT)";
+A883:anomalie :"A":"883":"00":"LA LIGNE 8TK EST REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP OU 8XQ";
+A884:anomalie :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT";
+A885:anomalie :"A":"885":"00":"PRISE EN CHARGE DU CODE 8XP OU 8XQ SANS PLUS-VALUE CORRESPONDANTE";
+A886:anomalie :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR, 8XP OU 8XQ";
+A887:anomalie :"A":"887":"00":"REVENU NET CODE 8XR SUPERIEUR AU MONTANT LIGNE 8TK";
+A888:anomalie :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP";
+A889:anomalie :"A":"889":"00":"SAISIE CODE 8 FV SANS PRISE EN CHARGE DU CODE 8 ZK";
+A890:anomalie :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT";
+A891:anomalie :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT";
+A893:anomalie :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT";
+A894:anomalie :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT";
+A895:anomalie :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT";
+A896:anomalie :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT";
+A898:anomalie :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT";
+A899:anomalie :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT";
+A950:anomalie :"A":"950":"00":"NATIMP OU PPENATREST DIFFERENT DES VALEURS ADMISES";
+A951:anomalie :"A":"951":"00":"CODINI DIFFERENT DES VALEURS ADMISES";
+A954:anomalie :"A":"954":"00":"NATIMPIR DIFFERENT DES VALEURS ADMISES";
+A955:anomalie :"A":"955":"00":"NATCRP DIFFERENT DES VALEURS ADMISES";
+A960:anomalie :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E";
+A96101:anomalie :"A":"961":"01":"UN SEUL CODE MAJORATION EST AUTORISE : 07";
+A96102:anomalie :"A":"961":"02":"LE CODE MAJORATION N'EST PAS VALIDE (07 A 11,17 ET 18)";
+A96201:anomalie :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE";
+A96202:anomalie :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE";
+A96301:anomalie :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12";
+A96302:anomalie :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2011, 2012 OU 2013";
+A96401:anomalie :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31";
+A96402:anomalie :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12";
+A96403:anomalie :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2010";
+A96501:anomalie :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31";
+A96502:anomalie :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12";
+A96503:anomalie :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2010";
+A966:anomalie :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE";
+A96701:anomalie :"A":"967":"01":"R99 SUR LE CODE 9YT ET ABSENCE DE R99 SUR LE CODE 9YU DANS LE MEME EVT";
+A96702:anomalie :"A":"967":"02":"R99 SUR LE CODE 9YU ET ABSENCE DE R99 SUR LE CODE 9YT DANS LE MEME EVT";
+A96801:anomalie :"A":"968":"01":"CODE 9YT AVEC VALEUR A 0 ET 9YU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT";
+A96802:anomalie :"A":"968":"02":"CODE 9YU AVEC VALEUR A 0 ET 9YT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT";
+A970:anomalie :"A":"970":"00":"PRESENCE D'UN TAUX DE PENALITE POUR UNE MINORATION";
+A971:anomalie :"A":"971":"00":"ABSENCE D'UN TAUX DE PENALITE POUR UN RAPPEL";
+A990:anomalie :"A":"990":"00":" CODE 8VV INCOMPATIBLE AVEC REGIME VALEUR LOCATIVE";
+A99301:anomalie :"A":"993":"01":"ANNULATION 2042: RAMENER LES REVENUS A 0.";
+A99302:anomalie :"A":"993":"02":"SUPPRESSION du code 9YA impossible, veuillez ressaisir une declaration";
+AS0101:anomalie :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C";
+AS0102:anomalie :"A":"S01":"02":"PRESENCE DES DATES DE DIVORCE ET DECES DU CJT. INCOMPATIBLE";
+AS0103:anomalie :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT OU PACSE ET SITUATION D";
+AS02:anomalie :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE";
+AS03:anomalie :"A":"S03":"00":"SAISIE DES VARIABLES CONTEXTE ERRONEE";
+AS11:anomalie :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE";
+DD02:discordance :"D":"D02":"00":"VERIFIER LE CUMUL DE 7CF (CAPITAL PME) AVEC 7FN, 7GN ";
+DD03:discordance :"D":"D03":"00":"MONTANT DES FRAIS RCM EXAGERE OU FRAIS AVEC REVENU LIGNE 2FU 2CH 2GO 2TR";
+DD04:discordance :"D":"D04":"00":"MONTANT DU CREDIT D'IMPOT EXAGERE";
+DD05:discordance :"D":"D05":"00":"LE REVENU IMPOSABLE EST < AU 1/5 E PAR RAPPORT A CELUI DE N-1";
+DD06:discordance :"D":"D06":"00":"REPORT LIGNE 7 XF, 7 XI, 7 XM, 7 XJ, 7 XO OU 7XK > 8333 E (C,D,V) OU 16667 E (M)";
+DD07:discordance :"D":"D07":"00":"LE MONTANT 7OZ,7PZ,7QZ,7RZ (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD08:discordance :"D":"D08":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES";
+DD09:discordance :"D":"D09":"00":"CREDIT PRET ETUDIANT LIGNE 7TD DEJA OBTENU EN N-1";
+DD10:discordance :"D":"D10":"00":"ENFANTS BENEFICIANT DE FRAIS DE GARDE > AU NOMBRE D'ENFANTS < 7 ANS";
+DD11:discordance :"D":"D11":"00":"REGIME MICRO-FONCIER (4BE) AVEC DEFICITS FONCIERS ANTERIEURS (4BD)";
+DD13:discordance :"D":"D13":"00":"SITUATION FORFAITAIRE A DENONCER SELON LES TERMES DE L'ARTICLE 69A2 DU CGI";
+DD14:discordance :"D":"D14":"00":"LE MONTANT 2CG EST > AU TOTAL DES LIGNES 2DC + 2CH + 2TS + 2TR";
+DD15:discordance :"D":"D15":"00":"LE MONTANT 7WP (REPORT 2009) EST > AU MONTANT CALCULE DE N-1";
+DD16:discordance :"D":"D16":"00":"FRAIS D'ACCUEIL ET PERSONNE A CHARGE AVEC CARTE D'INVALIDITE";
+DD17:discordance :"D":"D17":"00":"ACCROISSEMENT DU NOMBRE DE PARTS > 4 PAR RAPPORT A N-1";
+DD18:discordance :"D":"D18":"00":"DEFICIT ANTERIEUR 6FA A 6FL INCOMPATIBLE AVEC REVENU IMPOSABLE EN N-1";
+DD19:discordance :"D":"D19":"00":"NOMBRE LIGNE 7FG > NOMBRE DE RUBRIQUES ADMISES DU o5";
+DD20:discordance :"D":"D20":"00":"DEFICIT AGRICOLE ANTERIEUR DECLARE (5QF A 5QQ) SANS DEFICIT EN N-1";
+DD21:discordance :"D":"D21":"00":"SAISIE DE 7DF,7DB ET 7DG SANS INVALIDITE CADRE A (CODE PF) OU C (CODE G,I,R)";
+DD22:discordance :"D":"D22":"00":"LE MONTANT DE CSG DEDUCTIBLE EST SUPERIEUR AU MONTANT N-1";
+DD24:discordance :"D":"D24":"00":"MONTANT 4TQ 2010 > A 4TP 1999 - 4TQ 1999 A 4TQ 2009";
+DD26:discordance :"D":"D26":"00":"REVENU OU DEFICIT FONCIER DECLARE (4BA A 4BD) SANS MONTANT EN N-1";
+DD27:discordance :"D":"D27":"00":"LE MONTANT 7CL,7CM,7CN (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD28:discordance :"D":"D28":"00":"CREDIT 8WB DEJA OBTENU EN N-1 : 1SEUL CREDIT PAR ENTREPRISE";
+DD29:discordance :"D":"D29":"00":"LE MONTANT 7XS,7XT,7XU,7XW,7XY (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD32:discordance :"D":"D32":"00":"CREDIT SALARIE A DOMICILE SANS REVENU D ACTIVITE : VERIFIEZ LA SITUATION";
+DD34:discordance :"D":"D34":"00":"VERIFIER LE CUMUL 7FM AVEC 7FQ, 7GQ";
+DD35:discordance :"D":"D35":"00":"CASE NOUVEAU RESIDENT LIGNE 6QW DEJA SAISIE EN N-1";
+DD3601:discordance :"D":"D36":"01":"CASE 7WE COCHEE AVEC UN RFR 2008 SUPERIEUR A 45 000 EUROS";
+DD3602:discordance :"D":"D36":"02":"CASE 7WE COCHEE SANS RFR DE 2008";
+DD37:discordance :"D":"D37":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES";
+DD3801:discordance :"D":"D38":"01":"REGIME AUTO-ENTREPRENEUR AVEC RFR 2008 SUPERIEUR A LIMITE ADMISE";
+DD3802:discordance :"D":"D38":"02":"REGIME AUTO-ENTREPRENEUR SANS RFR DE 2008";
+DD39:discordance :"D":"D39":"00":"LE MONTANT 6 HJ (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD40:discordance :"D":"D40":"00":"LE MONTANT 7 LA (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD41:discordance :"D":"D41":"00":"LE MONTANT 7 IS (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD42:discordance :"D":"D42":"00":"LE MONTANT 7 UU OU 7 TE (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD45:discordance :"D":"D45":"00":"REPORT 'SCELLIER' LIGNE 7HR OU 7 HS > 33 333 E";
+DD46:discordance :"D":"D46":"00":"REPORT  LIGNE 7 IK > 33 333 E";
+DD47:discordance :"D":"D47":"00":"LE MONTANT DE LA LIGNE 3 VG NE PEUT ETRE SUPERIEUR A LA LIGNE 3 VT";
+I00101:informative :"I":"001":"01":"COTIS.  SYNDICALES NON RETENUES (VOUS): SALAIRES + FRAIS REELS";
+I00102:informative :"I":"001":"02":"COTIS. SYNDICALES NON RETENUES (CJT): SALAIRES + FRAIS REELS";
+I00103:informative :"I":"001":"03":"COTISATIONS SYNDICALES NON RETENUES (PAC): SALAIRES + FRAIS REELS";
+I008:informative :"I":"008":"00":"LE NOMBRE DE PERSONNE (6EV) N'EST PAS INDIQUE";
+I009:informative :"I":"009":"00":"LE NOMBRE D'EXPLOITATIONS (7FG) N'EST PAS INDIQUE.";
+I010:informative :"I":"010":"00":"REVENUS OU CHARGE AU NOM DU CONJOINT OU PARTENAIRE POUR UN CONTRIBUABLE VEUF";
+I011:informative :"I":"011":"00":"1/2 PART SUPP. NON RETENUE (CASE S) : VOUS + CJT NES APRES 1935";
+I012:informative :"I":"012":"00":"1/2 PART SUPP. NON RETENUE (CASE W) : CONTRIBUABLE NE APRES 1935";
+I013:informative :"I":"013":"00":"PAS DE CASES E ET H AVEC NB DE PARTS EN N-1 > 1 : VERIFIER SI CONTRIB. SEUL";
+I014:discordance :"I":"014":"00":"SAISIE ENF. DU CODE H SANS PRISE EN CHARGE DES ENF. DU CODE F DE N-1:VERIFIER";
+I015:informative :"I":"015":"00":"LE MONTANT 2AA, 2AL, 2AM, 2AN (REPORT) EST > AU MONTANT CALCULE DE N-1";
+IM02:informative :"I":"M02":"00":"LES B.A. 5HO, 5IO, 5JO SEMBLENT EXAGERES (> 76 300 E).";
+IM03:informative :"I":"M03":"00":"LE MONTANT 8UZ NE PEUT DEPASSER 500 000 E";
+IM06:informative :"I":"M06":"00":"ATTENTION, MONTANT DES DONS NON CONFIRME";
+IM07:informative :"I":"M07":"00":"ATTENTION, MONTANT DES COTISATIONS SYNDICALES NON CONFIRME";
+IM08:informative :"I":"M08":"00":"LE MONTANT 8WB NE PEUT DEPASSER 80 000 E PAR ENTREPRISE";
+IM09:informative :"I":"M09":"00":"SAISIE DU CODE 9YZ EN N-1 SANS PRISE EN CHARGE DE CE CODE EN N:VERIFIER";
+IM1101:informative :"I":"M11":"01":" NB DE P.A.C. CODE F DIFFERENT NB DATES DE NAISSANCE";
+IM1102:informative :"I":"M11":"02":" NB DE P.A.C. CODE G DIFFERENT NB DATES DE NAISSANCE";
+IM1103:informative :"I":"M11":"03":"NB DE P.A.C. CODE H DIFFERENT NB DATES DE NAISSANCE";
+IM1104:informative :"I":"M11":"04":" NB DE P.A.C. CODE I DIFFERENT NB DATES DE NAISSANCE";
+IM1105:informative :"I":"M11":"05":"NB DE P.A.C. CODE R DIFFERENT NB DATES DE NAISSANCE";
+IM1106:informative :"I":"M11":"06":"NB DE P.A.C. CODE J DIFFERENT NB DATES DE NAISSANCE";
+IM1107:informative :"I":"M11":"07":"NB DE P.A.C. CODE N DIFFERENT NB DATES DE NAISSANCE";
+IM1108:informative :"I":"M11":"08":"NB DE P.A.C. CODE P DIFFERENT NB DATES DE NAISSANCE";
+IM14:informative :"I":"M14":"00":"RESTITUTION EGALE OU > 1OOOO EUROS. VALIDEZ AVEC UNE HABILITATION 01";
+IM1501:informative :"I":"M15":"01":"CREDIT IMPOT EXAGERE:VERIFIEZ VOTRE SAISIE SINON DECLARATION EN ANO AU CSI";
+IM1502:informative :"I":"M15":"02":"CREDIT D'IMPOT EXAGERE : VERIFIEZ VOTRE SAISIE";
+IM1601:informative :"I":"M16":"01":"ATTENTION : RI N INFERIEUR 100 000 > RI N-1 X 9 . VERIFIER";
+IM1602:informative :"I":"M16":"02":"ATTENTION : RI DE N > 100 000 > RI N-1 X 5 . VERIFIER";
+IM17:informative :"I":"M17":"00":"ATTENTION: IR N >= IR N-1 X 2. VERIFIER";
+IM18:informative :"I":"M18":"00":"ATTENTION: IR N <= IR N-1 : 2. VERIFIER";
+IM19:informative :"I":"M19":"00":"LE NOMBRE D'ENFANTS CASE F OU H SAISI EST <= A CELUI DE N-1";
+IM20:informative :"I":"M20":"00":"ATTENTION : CONTRIBUABLE NI DEVIENT IMPOSABLE POUR L'ANNEE N";
+IM40:informative :"I":"M40":"00":"ANNULATION 2042 : Apres Batch, cet avis ne pourra plus etre modifie. ";
diff --git a/sources2010m_7_1/errO.m b/sources2010m_7_1/errO.m
new file mode 100644
index 0000000000000000000000000000000000000000..6a76a50b9c427e9f69f703f1b852acf89cef0795
--- /dev/null
+++ b/sources2010m_7_1/errO.m
@@ -0,0 +1,260 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 10 Application oceans
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES";
+A00106:anomalie :"A":"001":"06":"L'AMENDE NE PEUT ETRE > A 99.999 E";
+A00107:anomalie :"A":"001":"07":"LES PRIMES NE PEUVENT ETRE > A 99.999 E";
+A003:anomalie :"A":"003":"00":"PACS CONCLU EN 2009 ET RUPTURE PAR SEPARATION EN 2010, VERIFIEZ";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES E, K, G, N, U, W, L.";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES E,K,G,N,W,L.";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, S,U.";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S,U.";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U.";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.";
+A01011:anomalie :"A":"010":"11":"CODES P,F,S,E,K,G,N,W,L,T SAISIS SANS CODES M,O,C,D,V";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT OU DU CONJOINT EST INVRAISEMBLABLE";
+A015:discordance :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR LE CSI";
+A019:anomalie :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR LE CSI";
+A02301:discordance :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31";
+A02302:discordance :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12";
+A02303:discordance :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENT DE 2010";
+A02401:discordance :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT";
+A02402:discordance :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE";
+A030:discordance :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.";
+A031:discordance :"A":"031":"00":"REV. OU CHARGE AU NOM DU CJT OU PARTEN. POUR UN CELIBATAIRE OU UN DIVORCE";
+A041:anomalie :"A":"041":"00":"Code revenu 8VV, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ";
+A042:anomalie :"A":"042":"00":"Code revenu 8VW, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ";
+A043:anomalie :"A":"043":"00":"Revenus 8VV et 8VW saisis simultanement, supprimer un des deux codes";
+A044:anomalie :"A":"044":"00":"Code revenu 8VX, saisir le code penalite 32";
+A045:anomalie :"A":"045":"00":"Code penalite 32 accepte uniquement avec le code 8VX";
+A046:discordance :"A":"046":"00":"CODE REVENU 8WW, SAISIR LE CODE PENALITE 30";
+A047:discordance :"A":"047":"00":"CODE PENALITE 30 ACCEPTE UNIQUEMENT AVEC LE CODE REVENU 8WW";
+A048:discordance :"A":"048":"00":"CE CODE PENALITE NE S'APPLIQUE QU'AUX BIC, BNC,BA";
+A078:anomalie :"A":"078":"00":"Code inoperant dans les applications ILIAD-IS et ILIAD-CTX";
+A079:discordance :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS";
+A080:discordance :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM";
+A085:discordance :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060";
+A086:discordance :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT";
+A087:discordance :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE";
+A088:discordance :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE";
+A089:discordance :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM";
+A090:discordance :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1";
+A091:discordance :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM";
+A092:discordance :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.";
+A093:discordance :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)";
+A094:discordance :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).";
+A095:discordance :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.";
+A096:discordance :"A":"096":"00":"CODES 8YO ET 8YI : UNIQUEMENT CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE";
+A13901:discordance :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45";
+A13902:discordance :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION";
+A14001:discordance :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45";
+A14002:discordance :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION";
+A14101:discordance :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25";
+A14102:discordance :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION";
+A143:discordance :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT";
+A14401:discordance :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY";
+A14402:discordance :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY";
+A146:discordance :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT";
+A148:discordance :"A":"148":"00":"SAISIE DU CODE 1LZ OU 1MZ SANS CODE 8ZK EN ABSENCE DE TAUX EFFECTIF";
+A149:anomalie :"A":"149":"00":"CODE CREDIT D'IMPOT JEUNE NON ADMIS POUR CETTE SITUATION DE FAMILLE";
+A150:anomalie :"A":"150":"00":"CODE CREDIT D'IMPOT JEUNE INCOMPATIBLE AVEC DEPART A L'ETRANGER (9YD).";
+A153:discordance :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE";
+A21801:discordance :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT";
+A21802:discordance :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT";
+A222:discordance :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR";
+A22301:discordance :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20";
+A22302:discordance :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION";
+A224:discordance :"A":"224":"00":"LE MONTANT 2 DC NE PEUT ETRE INFERIEUR AU MONTANT DE 2 SU";
+A320:discordance :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM(PEA)";
+A321:discordance :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)";
+A322:discordance :"A":"322":"00":"MONTANT LIGNE 3VE POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM";
+A323:discordance :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)";
+A324:discordance :"A":"324":"00":"GAINS PORTES LIGNE 3VS SANS GAINS CORRESPONDANTS LIGNE 3VD, 3VI, 3VF, 3VJ, 3VK";
+A420:discordance :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC";
+A421:discordance :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E";
+A422:discordance :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT";
+A423:discordance :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)";
+A424:discordance :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI";
+A42501:discordance :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30";
+A42502:discordance :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION";
+A42601:discordance :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14";
+A42602:discordance :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION";
+A534:discordance :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)";
+A538:discordance :"A":"538":"00":"REVENUS A IMPOSER AUX CONTRIBUTIONS SOCIALES SANS REVENU CORRESPONDANT";
+A542:discordance :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS";
+A600:discordance :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT";
+A601:discordance :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (VOUS,CJT)NE PEUT DEPASSER 27 446 EUROS";
+A602:discordance :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE";
+A603:discordance :"A":"603":"00":"LES LIGNES 6PS, 6PT, 6PU SONT REMPLIES SANS MISE A JOUR DU PLAFOND";
+A700:discordance :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT";
+A701:discordance :"A":"701":"00":"LE MONTANT PORTE LIGNE 7UE NE PEUT DEPASSER 513 E";
+A702:discordance :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR";
+A703:discordance :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC VOUS ET CONJOINT NES AVANT 1979";
+A704:discordance :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT";
+A70501:discordance :"A":"705":"01":"LE CHIFFRE DE LA LIGNE 7HY NE PEUT ETRE SUPERIEUR A 9";
+A70502:discordance :"A":"705":"02":"LE CHIFFRE DE LA LIGNE 7JY NE PEUT ETRE SUPERIEUR A 15";
+A70503:discordance :"A":"705":"03":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15";
+A70504:discordance :"A":"705":"04":"LE CHIFFRE DE LA LIGNE 7FY NE PEUT ETRE SUPERIEUR A 6";
+A70601:discordance :"A":"706":"01":"LE CHIFFRE LIGNE 7IY EST SUPERIEUR AU CHIFFRE DE 7HY";
+A70602:discordance :"A":"706":"02":"LE CHIFFRE LIGNE 7KY EST SUPERIEUR AU CHIFFRE DE 7JY";
+A70603:discordance :"A":"706":"03":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY";
+A70604:discordance :"A":"706":"04":"LE CHIFFRE LIGNE 7GY EST SUPERIEUR AU CHIFFRE DE 7FY";
+A70701:discordance :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)";
+A70702:discordance :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)";
+A708:discordance :"A":"708":"00":"LE MONTANT PORTE LIGNE 7XF, 7XI, 7XM, 7XJ, 7XO, 7XK NE PEUT DEPASSER 33 333 E";
+A70901:discordance :"A":"709":"01":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7XC,7XF,7XI,7XL,7XJ,7XM";
+A70902:discordance :"A":"709":"02":"SAISIE LIGNE 7 XN AVEC UNE DES LIGNES 7XC,7XF,7XI,7XG,7XH,7XL,7XM,7XJ,7XK,7XO";
+A710:discordance :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF (SALARIE A DOMICILE) SANS 7DL (ASCENDANTS > 65 ANS)";
+A711:discordance :"A":"711":"00":"SAISIE DU CODE 7DG, 7DL OU 7 DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB OU 7DF";
+A712:discordance :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO";
+A713:discordance :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT";
+A714:discordance :"A":"714":"00":"REPORT 2009 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2010 (7WO ET 7WN)";
+A715:discordance :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E";
+A716:discordance :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN";
+A71701:discordance :"A":"717":"01":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HJ ET 7HK";
+A71702:discordance :"A":"717":"02":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM";
+A71703:discordance :"A":"717":"03":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HN ET 7HO";
+A71704:discordance :"A":"717":"04":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HR ET 7HS";
+A718:discordance :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT";
+A719:discordance :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT";
+A72001:anomalie :"A":"720":"01":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE M";
+A72002:anomalie :"A":"720":"02":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE C";
+A72003:anomalie :"A":"720":"03":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR C OU M AU LIEU DE R";
+A721:anomalie :"A":"721":"00":"SENS P IMPOSSIBLE POUR UN CODE ABSENT DE LA 2042";
+A72201:anomalie :"A":"722":"01":"LE MONTANT DU RAPPEL EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE";
+A72202:anomalie :"A":"722":"02":"LE MONTANT DE LA MINO EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE";
+A72203:anomalie :"A":"722":"03":"LE MONTANT DE LA CORRECTION EST > A LA VALEUR DU CODE CELLULE DE LA 2042";
+A72204:anomalie :"A":"722":"04":"LE MONTANT DE LA RECTIF EST > A LA VALEUR DU CODE CELLULE DE LA 2042";
+A72206:anomalie :"A":"722":"06":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE";
+A72207:discordance :"D":"722":"07":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE";
+A72301:anomalie :"A":"723":"01":"LE MONTANT DU C02 AVEC 2042_RECT EST SUPERIEUR A CELUI DU R02 AVEC INDICATEUR";
+A72302:anomalie :"A":"723":"02":"ANNULATION OU MINORATION DE R02 ET 2042_RECT S'EFFECTUE AVEC C02 et 2042_RECT";
+A724:anomalie :"A":"724":"00":"Majorations 80% apres 2 MED supprimees a compter du 01/01/2006";
+A725:anomalie :"A":"725":"00":"PROCEDURE DE REGULARISATION INTERDITE EN CAS DE NON DEPOT OU DEPOT TARDIF";
+A730:discordance :"A":"730":"00":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE";
+A731:discordance :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5";
+A732:discordance :"A":"732":"00":"LE CHIFFRE DE LA LIGNE 7 SA EST DIFFERENT DE 1, 2 OU 3";
+A73301:discordance :"A":"733":"01":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD ET 7SE NE PEUT EXCEDER 8 000 EUROS.";
+A73302:discordance :"A":"733":"02":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD ET 7SE NE PEUT EXCEDER 16 000 EUROS.";
+A73303:discordance :"A":"733":"03":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD ET 7SE NE PEUT EXCEDER 24 000 EUROS.";
+A73401:discordance :"A":"734":"01":"LIGNE 7 SB, 7 SH, 7 SD ET 7 SE SANS PRISE EN CHARGE DU CHIFFRE 7 SA";
+A73402:discordance :"A":"734":"02":"LIGNE 7 SA SAISIE SANS PRISE EN CHARGE DES LIGNES 7 SB, 7 SH, 7 SD ET 7 SE";
+A735:discordance :"A":"735":"00":"CASE 7 WE COCHEE SANS PRISE EN CHARGE LIGNES 7 WH, 7 WK, 7 WF ET 7 WQ";
+A736:discordance :"A":"736":"00":"INVEST. LOCATION MEUBLEE NON PROF : INCOMPATIBILITE ENTRE LIGNES 7IJ ET 7IL";
+A73701:discordance :"A":"737":"01":"CASE 7 XD COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XC";
+A73702:discordance :"A":"737":"02":"CASE 7 XE COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XL";
+A738:discordance :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP";
+A739:discordance :"A":"739":"00":"CASE 7 QA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE";
+A74001:discordance :"A":"740":"01":"LE TOTAL LIGNES 7 QR + 7 QI NE PEUT ETRE SUPERIEUR A 300 000 E";
+A74002:discordance :"A":"740":"02":"LE MONTANT  LIGNE 7 QI NE PEUT EXCEDER LE MONTANT LIGNE 7 QH";
+A74003:discordance :"A":"740":"03":"LE MONTANT  LIGNE 7 QR NE PEUT EXCEDER LE MONTANT LIGNE 7 QQ";
+A741:discordance :"A":"741":"00":"LE MONTANT PORTE LIGNE 7HR OU 7HS NE PEUT DEPASSER 99 999 E";
+A74201:discordance :"A":"742":"01":"LIGNE 7HJ SAISIE AVEC LIGNE 7HN OU 7HO";
+A74202:discordance :"A":"742":"02":"LIGNE 7HK SAISIE AVEC LIGNE 7HN OU 7HO";
+A743:discordance :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK NE PEUT DEPASSER 99 999 E";
+A744:discordance :"A":"744":"00":"LE MONTANT PORTE LIGNE 7SF NE PEUT DEPASSER 60 000 E";
+A760:discordance :"A":"760":"00":"LE SENS DU RAPPEL SAISI N'APPARTIENT PAS AUX VALEURS POSSIBLES";
+A770:discordance :"A":"770":"00":"SI LE CODE RAPPEL EST P, LE CODE MAJO DOIT ETRE 07,08,10,11,17,18 ou 31";
+A780:discordance :"A":"780":"00":"MOIS OU ANNEE DE LA DATE DE NOTIFICATION INVRAISEMBLABLE";
+A800:discordance :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL";
+A801:discordance :"A":"801":"00":"LA LIGNE 8TL EST REMPLIE SANS REVENU CORRESPONDANT";
+A80201:discordance :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)";
+A80202:discordance :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM";
+A80203:discordance :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM";
+A804:discordance :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT";
+A805:discordance :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION";
+A821:discordance :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI";
+A860:discordance :"A":"860":"00":"LA LIGNE 8WV EST REMPLIE SANS REVENU CORRESPONDANT";
+A862:discordance :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT";
+A863:discordance :"A":"863":"00":"LE CODE 8YO EST PRIS EN CHARGE SANS CODE 8YI OU RECIPROQUEMENT";
+A869:anomalie :"A":"869":"00":"CONTRIBUTION SALARIALE PROVISOIRE 2,5 % (8YV) > A CONTRIBUTION DUE";
+A870:discordance :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU";
+A874:discordance :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ";
+A877:discordance :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT";
+A879:discordance :"A":"879":"00":"LA LIGNE 8TG EST REMPLIE SANS REVENU CORRESPONDANT";
+A880:discordance :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT";
+A881:discordance :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT";
+A882:discordance :"A":"882":"00":"LIGNE 8TI REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN (OU INVERSEMENT)";
+A883:discordance :"A":"883":"00":"LA LIGNE 8TK EST REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP OU 8XQ";
+A884:discordance :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT";
+A885:discordance :"A":"885":"00":"PRISE EN CHARGE DU CODE 8XP OU 8XQ SANS PLUS-VALUE CORRESPONDANTE";
+A886:discordance :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR, 8XP OU 8XQ";
+A888:discordance :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP";
+A890:discordance :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT";
+A891:discordance :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT";
+A893:discordance :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT";
+A894:discordance :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT";
+A895:discordance :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT";
+A896:discordance :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT";
+A898:discordance :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT";
+A899:discordance :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT";
+A950:discordance :"A":"950":"00":"NATIMP OU PPENATREST DIFFERENT DES VALEURS ADMISES";
+A951:discordance :"A":"951":"00":"CODINI DIFFERENT DES VALEURS ADMISES";
+A954:discordance :"A":"954":"00":"NATIMPIR DIFFERENT DES VALEURS ADMISES";
+A955:discordance :"A":"955":"00":"NATCRP DIFFERENT DES VALEURS ADMISES";
+A960:discordance :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E";
+A96101:discordance :"A":"961":"01":"UN SEUL CODE MAJORATION EST AUTORISE : 07";
+A96102:discordance :"A":"961":"02":"LE CODE MAJORATION N'EST PAS VALIDE (07 A 11,17 ET 18)";
+A96201:discordance :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE";
+A96202:discordance :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE";
+A96301:discordance :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12";
+A96302:discordance :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2011, 2012 OU 2013";
+A96401:discordance :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31";
+A96402:discordance :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12";
+A96403:discordance :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2010";
+A96501:discordance :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31";
+A96502:discordance :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12";
+A96503:discordance :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2010";
+A966:discordance :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE";
+A96701:anomalie :"A":"967":"01":"R99 SUR LE CODE 9YT ET ABSENCE DE R99 SUR LE CODE 9YU DANS LE MEME EVT";
+A96702:anomalie :"A":"967":"02":"R99 SUR LE CODE 9YU ET ABSENCE DE R99 SUR LE CODE 9YT DANS LE MEME EVT";
+A96801:anomalie :"A":"968":"01":"CODE 9YT AVEC VALEUR A 0 ET 9YU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT";
+A96802:anomalie :"A":"968":"02":"CODE 9YU AVEC VALEUR A 0 ET 9YT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT";
+A970:anomalie :"A":"970":"00":"PRESENCE D'UN TAUX DE PENALITE POUR UNE MINORATION";
+A971:anomalie :"A":"971":"00":"ABSENCE D'UN TAUX DE PENALITE POUR UN RAPPEL";
+A990:discordance :"A":"990":"00":" CODE 8VV INCOMPATIBLE AVEC REGIME VALEUR LOCATIVE";
+A99301:anomalie :"A":"993":"01":"ANNULATION 2042: RAMENER LES REVENUS A 0.";
+A99302:anomalie :"A":"993":"02":"SUPPRESSION du code 9YA impossible, veuillez ressaisir une declaration";
+AS0101:discordance :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C";
+AS0102:discordance :"A":"S01":"02":"PRESENCE DES DATES DE DIVORCE ET DECES DU CJT. INCOMPATIBLE";
+AS0103:discordance :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT OU PACSE ET SITUATION D";
+AS02:discordance :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE";
+AS03:discordance :"A":"S03":"00":"SAISIE DES VARIABLES CONTEXTE ERRONEE";
+AS11:discordance :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE";
+I015:informative :"I":"015":"00":"LE MONTANT 2AA, 2AL, 2AM, 2AN (REPORT) EST > AU MONTANT CALCULE DE N-1";
diff --git a/sources2010m_7_1/errP.m b/sources2010m_7_1/errP.m
new file mode 100644
index 0000000000000000000000000000000000000000..c465054153cf411b059884fd837da12e12836d31
--- /dev/null
+++ b/sources2010m_7_1/errP.m
@@ -0,0 +1,275 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 10 Application pro
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES";
+A00106:anomalie :"A":"001":"06":"L'AMENDE NE PEUT ETRE > A 99.999 E";
+A00107:anomalie :"A":"001":"07":"LES PRIMES NE PEUVENT ETRE > A 99.999 E";
+A003:anomalie :"A":"003":"00":"PACS CONCLU EN 2009 ET RUPTURE PAR SEPARATION EN 2010, VERIFIEZ";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES E, K, G, N, U, W, L.";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES E,K,G,N,W,L.";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, S,U.";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S,U.";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U.";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.";
+A01011:anomalie :"A":"010":"11":"CODES P,F,S,E,K,G,N,W,L,T SAISIS SANS CODES M,O,C,D,V";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT OU DU CONJOINT EST INVRAISEMBLABLE";
+A015:discordance :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR LE CSI";
+A019:discordance :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR LE CSI";
+A021:anomalie :"A":"021":"00":"ATTENTION DATES DE NAISSANCE PAC PRISES EN CHARGE SANS CODE 0CF, 0CH";
+A02301:anomalie :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31";
+A02302:anomalie :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12";
+A02303:anomalie :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENT DE 2010";
+A02401:anomalie :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT";
+A02402:anomalie :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE";
+A030:anomalie :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.";
+A031:anomalie :"A":"031":"00":"REV. OU CHARGE AU NOM DU CJT OU PARTEN. POUR UN CELIBATAIRE OU UN DIVORCE";
+A078:anomalie :"A":"078":"00":"Code inoperant dans les applications ILIAD-IS et ILIAD-CTX";
+A079:anomalie :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS";
+A080:anomalie :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM";
+A082:anomalie :"A":"082":"00":"LE CODE REGIME D IMPOSITION EST DIFFERENT DE 1,2 ou 4";
+A083:anomalie :"A":"083":"00":"UTILISATION DU CODE 8ZA UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS";
+A085:anomalie :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060";
+A086:anomalie :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT";
+A087:anomalie :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE";
+A088:anomalie :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE";
+A089:anomalie :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM";
+A090:anomalie :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1";
+A091:anomalie :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM";
+A092:anomalie :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.";
+A093:anomalie :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)";
+A094:anomalie :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).";
+A095:anomalie :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.";
+A096:anomalie :"A":"096":"00":"CODES 8YO ET 8YI : UNIQUEMENT CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE";
+A13901:anomalie :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45";
+A13902:anomalie :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION";
+A14001:anomalie :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45";
+A14002:anomalie :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION";
+A14101:anomalie :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25";
+A14102:anomalie :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION";
+A143:anomalie :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT";
+A14401:anomalie :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY";
+A14402:anomalie :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY";
+A146:anomalie :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT";
+A148:anomalie :"A":"148":"00":"SAISIE DU CODE 1LZ OU 1MZ SANS CODE 8ZK EN ABSENCE DE TAUX EFFECTIF";
+A149:anomalie :"A":"149":"00":"CODE CREDIT D'IMPOT JEUNE NON ADMIS POUR CETTE SITUATION DE FAMILLE";
+A150:anomalie :"A":"150":"00":"CODE CREDIT D'IMPOT JEUNE INCOMPATIBLE AVEC DEPART A L'ETRANGER (9YD).";
+A153:anomalie :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE";
+A21801:anomalie :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT";
+A21802:anomalie :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT";
+A222:anomalie :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR";
+A22301:anomalie :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20";
+A22302:anomalie :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION";
+A224:anomalie :"A":"224":"00":"LE MONTANT 2 DC NE PEUT ETRE INFERIEUR AU MONTANT DE 2 SU";
+A320:anomalie :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM(PEA)";
+A321:anomalie :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)";
+A322:anomalie :"A":"322":"00":"MONTANT LIGNE 3VE POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM";
+A323:anomalie :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)";
+A324:anomalie :"A":"324":"00":"GAINS PORTES LIGNE 3VS SANS GAINS CORRESPONDANTS LIGNE 3VD, 3VI, 3VF, 3VJ, 3VK";
+A420:anomalie :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC";
+A421:anomalie :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E";
+A422:anomalie :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI";
+A42501:anomalie :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30";
+A42502:anomalie :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION";
+A42601:anomalie :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14";
+A42602:anomalie :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION";
+A534:anomalie :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)";
+A538:anomalie :"A":"538":"00":"REVENUS A IMPOSER AUX CONTRIBUTIONS SOCIALES SANS REVENU CORRESPONDANT";
+A542:anomalie :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS";
+A600:anomalie :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT";
+A601:anomalie :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (VOUS,CJT)NE PEUT DEPASSER 27 446 EUROS";
+A602:anomalie :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE";
+A604:anomalie :"A":"604":"00":"MUTUALISATION DEMANDEE (6QR) SANS PLAFOND CORRESPONDANT POUR LES DEUX CONJOINTS";
+A60501:anomalie :"A":"605":"01":"LE MONTANT 6 QS NE PEUT ETRE INFERIEUR AU MONTANT DE 1 SM";
+A60502:anomalie :"A":"605":"02":"LE MONTANT 6 QT NE PEUT ETRE INFERIEUR AU MONTANT DE 1 DN";
+A700:anomalie :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT";
+A701:anomalie :"A":"701":"00":"LE MONTANT PORTE LIGNE 7UE NE PEUT DEPASSER 513 E";
+A702:anomalie :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR";
+A703:anomalie :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC VOUS ET CONJOINT NES AVANT 1979";
+A704:anomalie :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT";
+A70501:anomalie :"A":"705":"01":"LE CHIFFRE DE LA LIGNE 7HY NE PEUT ETRE SUPERIEUR A 9";
+A70502:anomalie :"A":"705":"02":"LE CHIFFRE DE LA LIGNE 7JY NE PEUT ETRE SUPERIEUR A 15";
+A70503:anomalie :"A":"705":"03":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15";
+A70504:anomalie :"A":"705":"04":"LE CHIFFRE DE LA LIGNE 7FY NE PEUT ETRE SUPERIEUR A 6";
+A70601:anomalie :"A":"706":"01":"LE CHIFFRE LIGNE 7IY EST SUPERIEUR AU CHIFFRE DE 7HY";
+A70602:anomalie :"A":"706":"02":"LE CHIFFRE LIGNE 7KY EST SUPERIEUR AU CHIFFRE DE 7JY";
+A70603:anomalie :"A":"706":"03":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY";
+A70604:anomalie :"A":"706":"04":"LE CHIFFRE LIGNE 7GY EST SUPERIEUR AU CHIFFRE DE 7FY";
+A70701:anomalie :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)";
+A70702:anomalie :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)";
+A708:anomalie :"A":"708":"00":"LE MONTANT PORTE LIGNE 7XF, 7XI, 7XM, 7XJ, 7XO, 7XK NE PEUT DEPASSER 33 333 E";
+A70901:anomalie :"A":"709":"01":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7XC,7XF,7XI,7XL,7XJ,7XM";
+A70902:anomalie :"A":"709":"02":"SAISIE LIGNE 7 XN AVEC UNE DES LIGNES 7XC,7XF,7XI,7XG,7XH,7XL,7XM,7XJ,7XK,7XO";
+A710:anomalie :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF (SALARIE A DOMICILE) SANS 7DL (ASCENDANTS > 65 ANS)";
+A711:anomalie :"A":"711":"00":"SAISIE DU CODE 7DG, 7DL OU 7 DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB OU 7DF";
+A712:anomalie :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO";
+A713:anomalie :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT";
+A714:anomalie :"A":"714":"00":"REPORT 2009 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2010 (7WO ET 7WN)";
+A715:anomalie :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E";
+A716:anomalie :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN";
+A71701:anomalie :"A":"717":"01":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HJ ET 7HK";
+A71702:anomalie :"A":"717":"02":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM";
+A71703:anomalie :"A":"717":"03":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HN ET 7HO";
+A71704:anomalie :"A":"717":"04":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HR ET 7HS";
+A718:anomalie :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT";
+A719:anomalie :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT";
+A730:anomalie :"A":"730":"00":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE";
+A731:anomalie :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5";
+A732:anomalie :"A":"732":"00":"LE CHIFFRE DE LA LIGNE 7 SA EST DIFFERENT DE 1, 2 OU 3";
+A73301:anomalie :"A":"733":"01":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD ET 7SE NE PEUT EXCEDER 8 000 EUROS.";
+A73302:anomalie :"A":"733":"02":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD ET 7SE NE PEUT EXCEDER 16 000 EUROS.";
+A73303:anomalie :"A":"733":"03":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD ET 7SE NE PEUT EXCEDER 24 000 EUROS.";
+A73401:anomalie :"A":"734":"01":"LIGNE 7 SB, 7 SH, 7 SD ET 7 SE SANS PRISE EN CHARGE DU CHIFFRE 7 SA";
+A73402:anomalie :"A":"734":"02":"LIGNE 7 SA SAISIE SANS PRISE EN CHARGE DES LIGNES 7 SB, 7 SH, 7 SD ET 7 SE";
+A735:anomalie :"A":"735":"00":"CASE 7 WE COCHEE SANS PRISE EN CHARGE LIGNES 7 WH, 7 WK, 7 WF ET 7 WQ";
+A736:anomalie :"A":"736":"00":"INVEST. LOCATION MEUBLEE NON PROF : INCOMPATIBILITE ENTRE LIGNES 7IJ ET 7IL";
+A73701:anomalie :"A":"737":"01":"CASE 7 XD COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XC";
+A73702:anomalie :"A":"737":"02":"CASE 7 XE COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XL";
+A738:anomalie :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP";
+A739:anomalie :"A":"739":"00":"CASE 7 QA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE";
+A74001:anomalie :"A":"740":"01":"LE TOTAL LIGNES 7 QR + 7 QI NE PEUT ETRE SUPERIEUR A 300 000 E";
+A74002:anomalie :"A":"740":"02":"LE MONTANT  LIGNE 7 QI NE PEUT EXCEDER LE MONTANT LIGNE 7 QH";
+A74003:anomalie :"A":"740":"03":"LE MONTANT  LIGNE 7 QR NE PEUT EXCEDER LE MONTANT LIGNE 7 QQ";
+A741:anomalie :"A":"741":"00":"LE MONTANT PORTE LIGNE 7HR OU 7HS NE PEUT DEPASSER 99 999 E";
+A74201:anomalie :"A":"742":"01":"LIGNE 7HJ SAISIE AVEC LIGNE 7HN OU 7HO";
+A74202:anomalie :"A":"742":"02":"LIGNE 7HK SAISIE AVEC LIGNE 7HN OU 7HO";
+A743:anomalie :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK NE PEUT DEPASSER 99 999 E";
+A744:anomalie :"A":"744":"00":"LE MONTANT PORTE LIGNE 7SF NE PEUT DEPASSER 60 000 E";
+A800:anomalie :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL";
+A801:anomalie :"A":"801":"00":"LA LIGNE 8TL EST REMPLIE SANS REVENU CORRESPONDANT";
+A80201:anomalie :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)";
+A80202:anomalie :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM";
+A80203:anomalie :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM";
+A804:anomalie :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT";
+A805:anomalie :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION";
+A821:anomalie :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI";
+A860:anomalie :"A":"860":"00":"LA LIGNE 8WV EST REMPLIE SANS REVENU CORRESPONDANT";
+A862:anomalie :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT";
+A863:anomalie :"A":"863":"00":"LE CODE 8YO EST PRIS EN CHARGE SANS CODE 8YI OU RECIPROQUEMENT";
+A869:anomalie :"A":"869":"00":"CONTRIBUTION SALARIALE PROVISOIRE 2,5 % (8YV) > A CONTRIBUTION DUE";
+A870:anomalie :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU";
+A874:anomalie :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ";
+A877:anomalie :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT";
+A879:anomalie :"A":"879":"00":"LA LIGNE 8TG EST REMPLIE SANS REVENU CORRESPONDANT";
+A880:anomalie :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT";
+A881:anomalie :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT";
+A882:anomalie :"A":"882":"00":"LIGNE 8TI REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN (OU INVERSEMENT)";
+A883:anomalie :"A":"883":"00":"LA LIGNE 8TK EST REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP OU 8XQ";
+A884:anomalie :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT";
+A885:anomalie :"A":"885":"00":"PRISE EN CHARGE DU CODE 8XP OU 8XQ SANS PLUS-VALUE CORRESPONDANTE";
+A886:anomalie :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR, 8XP OU 8XQ";
+A887:anomalie :"A":"887":"00":"REVENU NET CODE 8XR SUPERIEUR AU MONTANT LIGNE 8TK";
+A888:anomalie :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP";
+A889:anomalie :"A":"889":"00":"SAISIE CODE 8 FV SANS PRISE EN CHARGE DU CODE 8 ZK";
+A890:anomalie :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT";
+A891:anomalie :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT";
+A893:anomalie :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT";
+A894:anomalie :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT";
+A895:anomalie :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT";
+A896:anomalie :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT";
+A898:anomalie :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT";
+A899:anomalie :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT";
+A960:anomalie :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E";
+A96101:anomalie :"A":"961":"01":"UN SEUL CODE MAJORATION EST AUTORISE : 07";
+A96102:anomalie :"A":"961":"02":"LE CODE MAJORATION N'EST PAS VALIDE (07 A 11,17 ET 18)";
+A96201:anomalie :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE";
+A96202:anomalie :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE";
+A96301:anomalie :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12";
+A96302:anomalie :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2011, 2012 OU 2013";
+A96401:anomalie :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31";
+A96402:anomalie :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12";
+A96403:anomalie :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2010";
+A96501:anomalie :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31";
+A96502:anomalie :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12";
+A96503:anomalie :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2010";
+A966:anomalie :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE";
+AS0101:anomalie :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C";
+AS0102:anomalie :"A":"S01":"02":"PRESENCE DES DATES DE DIVORCE ET DECES DU CJT. INCOMPATIBLE";
+AS0103:anomalie :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT OU PACSE ET SITUATION D";
+AS02:anomalie :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE";
+AS03:anomalie :"A":"S03":"00":"SAISIE DES VARIABLES CONTEXTE ERRONEE";
+AS11:anomalie :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE";
+DD02:discordance :"D":"D02":"00":"VERIFIER LE CUMUL DE 7CF (CAPITAL PME) AVEC 7FN, 7GN ";
+DD03:discordance :"D":"D03":"00":"MONTANT DES FRAIS RCM EXAGERE OU FRAIS AVEC REVENU LIGNE 2FU 2CH 2GO 2TR";
+DD04:discordance :"D":"D04":"00":"MONTANT DU CREDIT D'IMPOT EXAGERE";
+DD06:discordance :"D":"D06":"00":"REPORT LIGNE 7 XF, 7 XI, 7 XM, 7 XJ, 7 XO OU 7XK > 8333 E (C,D,V) OU 16667 E (M)";
+DD07:discordance :"D":"D07":"00":"LE MONTANT 7OZ,7PZ,7QZ,7RZ (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD08:discordance :"D":"D08":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES";
+DD09:discordance :"D":"D09":"00":"CREDIT PRET ETUDIANT LIGNE 7TD DEJA OBTENU EN N-1";
+DD10:discordance :"D":"D10":"00":"ENFANTS BENEFICIANT DE FRAIS DE GARDE > AU NOMBRE D'ENFANTS < 7 ANS";
+DD11:discordance :"D":"D11":"00":"REGIME MICRO-FONCIER (4BE) AVEC DEFICITS FONCIERS ANTERIEURS (4BD)";
+DD13:discordance :"D":"D13":"00":"SITUATION FORFAITAIRE A DENONCER SELON LES TERMES DE L'ARTICLE 69A2 DU CGI";
+DD14:discordance :"D":"D14":"00":"LE MONTANT 2CG EST > AU TOTAL DES LIGNES 2DC + 2CH + 2TS + 2TR";
+DD15:discordance :"D":"D15":"00":"LE MONTANT 7WP (REPORT 2009) EST > AU MONTANT CALCULE DE N-1";
+DD16:discordance :"D":"D16":"00":"FRAIS D'ACCUEIL ET PERSONNE A CHARGE AVEC CARTE D'INVALIDITE";
+DD19:discordance :"D":"D19":"00":"NOMBRE LIGNE 7FG > NOMBRE DE RUBRIQUES ADMISES DU o5";
+DD21:discordance :"D":"D21":"00":"SAISIE DE 7DF,7DB ET 7DG SANS INVALIDITE CADRE A (CODE PF) OU C (CODE G,I,R)";
+DD27:discordance :"D":"D27":"00":"LE MONTANT 7CL,7CM,7CN (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD28:discordance :"D":"D28":"00":"CREDIT 8WB DEJA OBTENU EN N-1 : 1SEUL CREDIT PAR ENTREPRISE";
+DD29:discordance :"D":"D29":"00":"LE MONTANT 7XS,7XT,7XU,7XW,7XY (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD32:discordance :"D":"D32":"00":"CREDIT SALARIE A DOMICILE SANS REVENU D ACTIVITE : VERIFIEZ LA SITUATION";
+DD34:discordance :"D":"D34":"00":"VERIFIER LE CUMUL 7FM AVEC 7FQ, 7GQ";
+DD35:discordance :"D":"D35":"00":"CASE NOUVEAU RESIDENT LIGNE 6QW DEJA SAISIE EN N-1";
+DD3601:discordance :"D":"D36":"01":"CASE 7WE COCHEE AVEC UN RFR 2008 SUPERIEUR A 45 000 EUROS";
+DD3602:discordance :"D":"D36":"02":"CASE 7WE COCHEE SANS RFR DE 2008";
+DD37:discordance :"D":"D37":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES";
+DD3801:discordance :"D":"D38":"01":"REGIME AUTO-ENTREPRENEUR AVEC RFR 2008 SUPERIEUR A LIMITE ADMISE";
+DD3802:discordance :"D":"D38":"02":"REGIME AUTO-ENTREPRENEUR SANS RFR DE 2008";
+DD39:discordance :"D":"D39":"00":"LE MONTANT 6 HJ (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD40:discordance :"D":"D40":"00":"LE MONTANT 7 LA (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD41:discordance :"D":"D41":"00":"LE MONTANT 7 IS (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD42:discordance :"D":"D42":"00":"LE MONTANT 7 UU OU 7 TE (REPORT) EST > AU MONTANT CALCULE DE N-1";
+DD45:discordance :"D":"D45":"00":"REPORT 'SCELLIER' LIGNE 7HR OU 7 HS > 33 333 E";
+DD46:discordance :"D":"D46":"00":"REPORT  LIGNE 7 IK > 33 333 E";
+DD47:discordance :"D":"D47":"00":"LE MONTANT DE LA LIGNE 3 VG NE PEUT ETRE SUPERIEUR A LA LIGNE 3 VT";
+I00101:informative :"I":"001":"01":"COTIS.  SYNDICALES NON RETENUES (VOUS): SALAIRES + FRAIS REELS";
+I00102:informative :"I":"001":"02":"COTIS. SYNDICALES NON RETENUES (CJT): SALAIRES + FRAIS REELS";
+I00103:informative :"I":"001":"03":"COTISATIONS SYNDICALES NON RETENUES (PAC): SALAIRES + FRAIS REELS";
+I008:informative :"I":"008":"00":"LE NOMBRE DE PERSONNE (6EV) N'EST PAS INDIQUE";
+I009:informative :"I":"009":"00":"LE NOMBRE D'EXPLOITATIONS (7FG) N'EST PAS INDIQUE.";
+I010:informative :"I":"010":"00":"REVENUS OU CHARGE AU NOM DU CONJOINT OU PARTENAIRE POUR UN CONTRIBUABLE VEUF";
+I011:informative :"I":"011":"00":"1/2 PART SUPP. NON RETENUE (CASE S) : VOUS + CJT NES APRES 1935";
+I012:informative :"I":"012":"00":"1/2 PART SUPP. NON RETENUE (CASE W) : CONTRIBUABLE NE APRES 1935";
+I013:informative :"I":"013":"00":"PAS DE CASES E ET H AVEC NB DE PARTS EN N-1 > 1 : VERIFIER SI CONTRIB. SEUL";
+I015:informative :"I":"015":"00":"LE MONTANT 2AA, 2AL, 2AM, 2AN (REPORT) EST > AU MONTANT CALCULE DE N-1";
+IM03:informative :"I":"M03":"00":"LE MONTANT 8UZ NE PEUT DEPASSER 500 000 E";
+IM06:informative :"I":"M06":"00":"ATTENTION, MONTANT DES DONS NON CONFIRME";
+IM07:informative :"I":"M07":"00":"ATTENTION, MONTANT DES COTISATIONS SYNDICALES NON CONFIRME";
+IM08:informative :"I":"M08":"00":"LE MONTANT 8WB NE PEUT DEPASSER 80 000 E PAR ENTREPRISE";
diff --git a/sources2010m_7_1/horizoc.m b/sources2010m_7_1/horizoc.m
new file mode 100644
index 0000000000000000000000000000000000000000..14e68d7ed008aa8c970a2709466d9acf63afd04b
--- /dev/null
+++ b/sources2010m_7_1/horizoc.m
@@ -0,0 +1,52 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif corrective horizontale 760 :
+application : oceans, iliad ;
+si          (
+            V_IND_TRAIT > 0
+	    et
+            SENS_RAPPEL non dans (1, 2, 3, 4)
+	    )
+alors erreur A760;
+verif corrective horizontale 770 :
+application : oceans, iliad ;
+si          (
+            V_IND_TRAIT > 0
+	    et
+            SENS_RAPPEL = 4 
+	    et 
+            PEN_RAPPEL non dans (07, 08, 09, 10, 11, 12, 17, 18, 31)
+	    )
+alors erreur A770;
+verif corrective horizontale 780 :
+application : oceans, iliad ;
+si
+ (
+            V_IND_TRAIT > 0
+	    et
+	    (
+            ANNEE_RAPPEL <= V_ANREV
+            ou
+            MOIS_RAPPEL non dans ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 )
+	    )
+ )
+
+alors erreur A780;
diff --git a/sources2010m_7_1/horizoi.m b/sources2010m_7_1/horizoi.m
new file mode 100644
index 0000000000000000000000000000000000000000..5d97a1fe0d63842a9ca7c199c154cd0697edf2db
--- /dev/null
+++ b/sources2010m_7_1/horizoi.m
@@ -0,0 +1,57 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+verif corrective horizontale 19 :
+application : iliad,oceans ;
+si
+   (
+      ( COD_RAPPEL = 1 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 2 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 3 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 4 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 5 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 6 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 7 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 8 et MONT_RAPPEL > 19)
+   )
+alors erreur A019;
+verif corrective horizontale 1401 :
+application : iliad,oceans ;
+si
+    (
+      COD_RAPPEL = 1401 et MONT_RAPPEL > 45 
+     )
+alors erreur A14001;
+verif corrective horizontale 1411 :
+application : iliad,oceans ;
+si
+    (
+      COD_RAPPEL = 1411 et MONT_RAPPEL > 25 
+     )
+alors erreur A14101;
+verif corrective horizontale 20200 :
+application : iliad,oceans ;
+si
+  (
+    COD_RAPPEL = 2020 et MONT_RAPPEL > 9
+
+  )
+alors erreur A00101;
diff --git a/sources2010m_7_1/res-ser1.m b/sources2010m_7_1/res-ser1.m
new file mode 100644
index 0000000000000000000000000000000000000000..fa72aa3729b9583fdb6e366c96600600ba90bca2
--- /dev/null
+++ b/sources2010m_7_1/res-ser1.m
@@ -0,0 +1,508 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #####   ######   ####    #####     #     #####   ########
+ #    #  #       #          #       #       #     #      #
+ #    #  #####    ####      #       #       #      #    #
+ #####   #            #     #       #       #       ####
+ #   #   #       #    #     #       #       #      #    #
+ #    #  ######   ####      #       #       #     ########
+ #
+ #
+ #
+ #
+ #                 RES-SER1.m
+ #                 ===========
+ #
+ #
+ #                      zones restituees par l'application
+ #
+ #
+ #
+ #
+ #
+ #
+regle 9500:
+application :  iliad , pro, oceans , bareme ,batch;
+MCDV = 1 * positif(V_0AM + 0)
+     + 2 * positif(V_0AC + 0)
+     + 3 * positif(V_0AD + 0)
+     + 4 * positif(V_0AV + 0)
+     + 5 * positif(V_0AO + 0);
+SFM = si  ( BOOL_0AM=1 ) 
+          alors ( si (V_0AP+0=1)
+                  alors ( si (V_0AF+0=1)
+                          alors (1)
+                          sinon (2)
+                          finsi)
+                  sinon ( si (V_0AF+0=1) 
+                          alors (3)
+                          sinon ( si ( V_0AS+0=1 et
+                          (AGV >= LIM_AGE_LET_S ou AGC >= LIM_AGE_LET_S)
+                                      )
+                                  alors (4)
+                                  finsi)
+                          finsi)
+                  finsi)
+       finsi;
+regle 9501:
+application : batch , iliad, pro, oceans , bareme ;
+
+BOOL_V = positif(V_0AV+0) * positif(1 - BOOL_0AZ) 
+			  * ((1 - positif(PAC + V_0CH + 0))
+			     + positif(PAC + V_0CH + 0) * (3 - null(EAC + V_0CH + 0))) ;
+BOOL_CDV = positif( BOOL_V + V_0AC + V_0AD + 0);
+BOOL_PACSFL = 1 - positif( PAC +V_0CH + 0);
+BOOL_W = positif(V_0AW + 0) * positif_ou_nul( AGV - LIM_AGE_LET_S );
+SFCD1 = ( 15 * positif(V_0AN + 0) * (1 - positif(V_0AP + 0)) * (1 - positif(V_0AG + 0)) * (1 - BOOL_W)         
+ 
+       + 2 * positif(V_0AP + 0) * (1-positif(V_0AL+0))          
+
+
+	+ 5 * ( positif(V_0AE+0) * positif(V_BT0AE + V_BT0AK + ZONEANTEK + 0))
+	     
+	     * (1 - positif(V_0AN + 0)) * (1 - positif(V_0AP + 0)) * positif(1-(V_0AG + 0)) * (1 - BOOL_W)
+
+
+       + 14 * positif(V_0AG + 0) * (1 - positif(V_0AP + 0)) * (1 - BOOL_W)                   
+
+       + 7 * BOOL_W * (1 - positif(V_0AP + 0)))
+       
+       * (1-positif(V_0AL+0)) * BOOL_CDV * BOOL_PACSFL;
+
+regle 9507:
+application : batch , iliad , pro , oceans , bareme ;
+SFL = positif (V_0AL + 0) * BOOL_CDV * BOOL_PACSFL *
+
+      ( 2 * positif(V_0AP + 0) 
+
+      + 9 * ( 1 - BOOL_W ) * positif( 1- V_0AP + 0) * positif(1-(V_0AG + 0)) * positif (1-(V_0AN+0))  
+
+      + 7 * BOOL_W * positif(1-(V_0AP + 0)) 
+
+      + 15 * positif (V_0AN +0) * ( 1 - BOOL_W ) * positif(1-(V_0AG + 0)) * positif(1-(V_0AP + 0)) 
+
+      + 14 * positif (V_0AG +0) * ( 1 - BOOL_W ) * positif(1-(V_0AP + 0))) ;
+regle 9502:
+application : batch , iliad , pro , oceans , bareme ;
+
+
+SFCD2 = positif(PAC+V_0CH) * positif(V_0AC + V_0AD + null(2- BOOL_V)) *
+        (
+            10 * positif(V_0BT+0) * (1 - positif(V_0AV)) * positif(V_0AP)
+           + 2 * positif(V_0AV) * positif(V_0AP)
+	   + 2 * (1 - positif(V_0AV)) *(1 - positif(V_0BT+0)) * positif(V_0AP)
+           +11 * positif(V_0BT+0)*(1-positif(V_0AP))*(1-positif(V_0CR))
+         );	
+
+
+
+regle 9503:
+application : batch , iliad , pro, oceans , bareme ;
+
+SFV1 = 2 * positif(V_0AP + 0) * null(BOOL_V - 3) ;
+
+regle 9504:
+application : batch , iliad , pro, oceans , bareme ;
+SFV2 = si ( V_0AV+0=1 et BOOL_0AZ =1)
+       alors (si (V_0AP+0=1)
+              alors (si (V_0AF+0=1)
+                     alors (1)
+                     sinon (2)
+                     finsi)
+              sinon (si (V_0AF+0=1)
+                     alors (3)
+                     sinon (si (V_0AW+0=1)
+                            alors (7)
+                            finsi)
+                     finsi)  
+              finsi)
+        finsi;
+regle 9505:
+application : batch , iliad , pro, oceans , bareme ;
+BOOL_0AM = positif(positif(V_0AM + 0 )  + positif(V_0AO + 0)) ;
+regle 9506:
+application : batch , iliad , pro, oceans , bareme ;
+SFUTILE = SFM + SFCD1 + SFCD2 + SFV1 + SFV2 + SFL ;
+regle 9510:
+application : pro , iliad ;
+NATPENA = si (CMAJ =7 ou CMAJ =8 ou CMAJ=9 ou CMAJ=10 ou CMAJ=11 ou CMAJ=12 ou CMAJ=17 ou CMAJ=18 )
+          alors (1)
+          sinon ( si ( CMAJ = 2 )
+                  alors (2)
+                  sinon ( si ( CMAJ=3 ou CMAJ=4 ou CMAJ=5 ou CMAJ=6 ) 
+                          alors (4)
+                          finsi
+                        )
+                  finsi
+                 )
+           finsi;
+regle 901:
+application : oceans ;
+TSALV = TSBNV;
+TSALC = TSBNC;
+regle 902:
+application : pro , oceans , iliad , batch  ;
+TSALP = TSBN1 + TSBN2 + TSBN3 + TSBN4;
+regle 903 :
+application : pro ,  iliad , oceans , batch  ;
+pour i = V,C,1..4:
+F10Ai = si (IND_10i = 0 ou
+       (IND_10i = 1 et IND_10MIN_0i = 0))
+        alors (max(FRDi,DFNi))
+       finsi;
+regle 90301 :
+application : pro , oceans , iliad , batch  ;
+F10AP = somme(i=1..4:F10Ai);  
+regle 90302 :
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1..4:
+F10Bi = si (IND_10i = 1 et IND_10MIN_0i = 1)
+        alors (10MINSi)
+       finsi;
+regle 90303 :
+application : pro , oceans , iliad , batch  ;
+F10BP = somme(i=1..4:F10Bi);
+regle 904 :
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1,2,3,4:
+DEDSi =  (10MINSi - DFNi) * (1-positif(F10Bi)) * IND_10i ;
+regle 90401 :
+application : pro , oceans , iliad , batch  ;
+DEDSP = somme( i=1..4: DEDSi ) ;
+regle 905 :
+application : pro , oceans , iliad , batch ;
+PRV = PRBRV;
+PRC = PRBRC;
+PRP = PRBR1 + PRBR2 + PRBR3 + PRBR4 ;
+PALIP = PALI1 + PALI2 + PALI3 + PALI4;
+regle 906 :
+application : pro , oceans , iliad , batch  ;
+pour i = V,C:
+AB10i = APRi;
+AB10P = APR1 + APR2 + APR3 + APR4 ;
+regle 909:
+application : pro , iliad , batch , oceans ;
+TSPRT = TSPRV + TSPRC + TSPRP ;
+regle 9011 :
+application : pro , oceans , iliad , batch ;
+pour i = V,C,P:
+RBAi = BAHREi + 4BAHREi
+     + BACREi + 4BACREi
+     + BAFORESTi
+     + BAFi + BAFPVi- BACDEi- BAHDEi;
+regle 9013 :
+application : pro , oceans , iliad , batch ;
+pour i= V,C,P:
+BIPi =
+   BICNOi  
+ - BICDNi  
+ + BIHNOi  
+ - BIHDNi  
+  ; 
+
+pour i= V,C,P:                                           
+BIPNi = BIPTAi + BIHTAi ;                        
+BIPN  = BIPNV + BIPNC + BIPNP ;                          
+                                                         
+
+pour i= V,C,P:                                           
+MIBRi = MIBVENi + MIBPRESi ;
+MIBR = somme(i=V,P,C: MIBRi);
+pour i= V,C,P:                                           
+MIBRABi = MIB_ABVi + MIB_ABPi ;
+pour i= V,C,P:                                           
+MIBRNETi = max (0,MIBRi - MIBRABi );
+MIBRNET = somme(i=V,C,P:MIBRNETi);
+pour i= V,C,P:                                           
+MIBNPRi = MIBNPVENi + MIBNPPRESi ;
+pour i= V,C,P:                                           
+MIBNPRABi = MIB_ABNPVi + MIB_ABNPPi ;
+pour i= V,C,P:                                           
+MIBNPRNETi = max (0,MIBNPRi - MIBNPRABi );
+regle 9014 :
+application : pro , oceans , iliad , batch  ;
+
+pour i=V,C,P:
+BINi = 
+   BICREi  
+ - BICDEi  
+ + BICHREi  
+ - BICHDEi  
+ ;  
+
+regle 90141 :
+application : pro , oceans , iliad , batch  ;
+
+pour i=V,C,P:
+BINNi= BINTAi + BINHTAi;
+regle 9015 :
+application : pro , oceans , iliad , batch  ;
+BNCV = BNHREV + BNCREV - BNHDEV - BNCDEV;
+BNCC = BNHREC + BNCREC - BNHDEC - BNCDEC;
+BNCP = BNHREP + BNCREP - BNHDEP - BNCDEP;
+regle 9016 :
+application : pro , oceans ,  iliad , batch  ;
+DIDABNCNP =  abs(min(NOCEPIMP+SPENETNPF,DABNCNP6+DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1)
+	     *positif(DABNCNP6+DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1)*positif(NOCEPIMP+SPENETNPF));
+BNCIF = max (0,NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2-DABNCNP1);
+regle 9024 :
+application : pro , iliad , oceans, batch ;
+BRCM = RCMABD + RCMTNC + RCMAV + RCMHAD + RCMHAB + REGPRIV;
+regle 90240 :
+application : pro , iliad , oceans, batch ;
+BRCMQ = REVACT + REVPEA + PROVIE + DISQUO + RESTUC + INTERE;
+regle 90241 :
+application : pro , oceans , iliad , batch  ;
+RRCM = max(0,RCM);
+regle 9026 :
+application : pro , oceans , iliad , batch  ;
+B1FIS = max( RCM+2RCM+3RCM+4RCM+5RCM+6RCM+7RCM , 0 );
+regle 9028 :
+application : pro , oceans , iliad , batch  ;
+DRFRP = (1-positif(IPVLOC)) * (abs (DFCE+DFCG) * (1-positif(RFMIC))
+             + positif(RFMIC) *  abs(min(0,RFMIC - MICFR - RFDANT)) );
+regle 9030 :
+application : pro , oceans , iliad , batch  ;
+
+
+DLMRN1TXM = - min(0,MIB_NETCT *(1-positif(MIBNETPTOT))
+                          +SPENETCT * (1 - positif(SPENETPF)));
+DLMRN6 =  (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)) * max(0,DEFBIC5-DEFNPI)
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+           * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6,0)-DEFBIC5,DEFBIC5)*(-1)
+           * positif_ou_nul(DEFBIC5-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6,0));
+DLMRN5 = (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)) * max(0,DEFBIC4+(DEFBIC5*positif(DEFNPI))-DEFNPI)
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+           * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5,0)-DEFBIC4,DEFBIC4)*(-1)
+           * positif_ou_nul(DEFBIC4-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5,0));
+DLMRN4 = (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))  * max(0,DEFBIC3+(DEFBIC5+DEFBIC4)*positif(DEFNPI)-DEFNPI)
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+           * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4,0)-DEFBIC3,DEFBIC3)*(-1)
+           * positif_ou_nul(DEFBIC3-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4,0));
+DLMRN3 = (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))* max(0,DEFBIC2+(DEFBIC5+DEFBIC4+DEFBIC3)*positif(DEFNPI)-DEFNPI)
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+           * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3,0)-DEFBIC2,DEFBIC2)*(-1)
+           * positif_ou_nul(DEFBIC2-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3,0));
+DLMRN2 = (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))* max(0,DEFBIC1+(DEFBIC5+DEFBIC4+DEFBIC3+DEFBIC2)*positif(DEFNPI)-DEFNPI)
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+           * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3-DEFBIC2,0)-DEFBIC1,DEFBIC1)*(-1)
+           * positif_ou_nul(DEFBIC1-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3-DEFBIC2,0));
+DLMRN1 = (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)) * abs(somme(i=V,C,P:BICNPi)-DEFNPI+MIB_NETNPCT)
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+		      * positif_ou_nul(DEFBIC5+DEFBIC4+DEFBIC3+DEFBIC2+DEFBIC1-(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))
+                      * (DEFBIC5+DEFBIC4+DEFBIC3+DEFBIC2+DEFBIC1-(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))
+                      * null(DLMRN6+DLMRN5+DLMRN4+DLMRN3+DLMRN2) ;
+DLMRN = max(0, DEFNP - BICNPV*positif(BICNPV)-BICNPC*positif(BICNPC)-BICNPP*positif(BICNPP)
+                     + abs(BICNPV)*(1-positif(BICNPV))*null(DLMRN1)
+                     + abs(BICNPC)*(1-positif(BICNPC))*null(DLMRN1)
+                     + abs(BICNPP)*(1-positif(BICNPP))*null(DLMRN1)) + DLMRN1;
+TOTDLMRN = somme(i=1..6:DLMRNi);
+DLMRNTXM = max(0,DEFNP - BICNPV*positif(BICNPV)-BICNPC*positif(BICNPC)-BICNPP*positif(BICNPP)
+         +MIB_NETCT+MIB_NETNPCT+SPENETCT+SPENETNPCT + DLMRN1 
+               );
+regle 90305: 
+application : pro , oceans , iliad , batch  ;
+DRCVM = DPVRCM ;
+regle 9031 :
+application : pro , oceans , iliad , batch  ;
+BALNP = max(0,NOCEPIMP);
+NOCEP = ANOCEP - (DNOCEP + DABNCNP6+DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1);
+regle 9032 :
+application : pro , oceans , iliad , batch  ;
+DALNP = (1-positif(IPVLOC)) * (BNCDF1+BNCDF2+BNCDF3+BNCDF4+BNCDF5+BNCDF6);
+regle 9033 :
+application :  pro , oceans , iliad , batch  ;
+DESV =  REPSOF;
+regle 9042 :
+application : pro, batch, oceans , iliad  ;
+VLHAB = max ( 0 , IPVLOC ) ;
+regle 9043 :
+application : pro , oceans , iliad , batch  ;
+DFANT = DAR;
+DAR_REP =  somme (i=0..4:DEFAAi) * (1 - positif(IPVLOC));
+regle 9044 :
+application : pro , oceans , iliad , batch  ;
+RRBG = (RG - DAR ) *(1-positif(RE168+TAX1649)) + positif(RE168+TAX1649) * (RE168+TAX1649);
+RRRBG = max(0 , RRBG);
+DRBG = min(0 , RRBG);
+regle 9045 :
+application : pro , oceans , iliad , batch  ;
+DDCSG = (V_BTCSGDED * (1-present(DCSG)) + DCSG) * (1-null(4 -V_REGCO)) 
+	+ arr(RCMSOC * T_IDCSG/100) * (1 - positif(null(2-V_REGCO)+null(4-V_REGCO))) ;
+
+RDCSG = max (min(DDCSG , RBG + TOTALQUO - SDD) , 0);
+regle 9047 :
+application : pro , oceans , iliad , batch  ;
+DPALE =  somme(i=1..4:CHENFi+NCHENFi);
+RPALE = max(0,min(somme(i=1..4:min(NCHENFi,LIM_PENSALENF)+min(arr(CHENFi*MAJREV),LIM_PENSALENF)),
+                RBG-DDCSG+TOTALQUO-SDD)) *(1-V_CNR);
+regle 9049 :
+application : pro , oceans , iliad , batch  ;
+DNETU = somme(i=1..4: CHENFi);
+RNETU = max(0,min(somme(i=1..4:min(CHENFi,LIM_PENSALENF)),
+                RBG+TOTALQUO-SDD-RPALE)) *(1-V_CNR);
+regle 9050 :
+application : pro , oceans , iliad , batch  ;
+DPREC = CHNFAC;
+regle 9051 :
+application : pro , oceans , iliad , batch  ;
+DFACC = CHRFAC;
+RFACC = max( min(DFA,RBG - RPALE - RPALP  - DDCSG + TOTALQUO - SDD) , 0);
+regle 9052 :
+application : oceans ;
+TRANSFERT = R1649+PREREV;
+regle 9054 :
+application : pro , oceans , iliad , batch  ;
+RPALP = max( min(TOTPA,RBG - RPALE - DDCSG + TOTALQUO - SDD) , 0 ) * (1 -V_CNR);
+DPALP = PAAV + PAAP ;
+regle 9055 :
+application : pro , oceans , iliad , batch  ;
+DEDIV = (1-positif(RE168+TAX1649))*CHRDED;
+RDDIV = max( min(DEDIV * (1 - V_CNR),RBG - RPALE - RPALP - RFACC - DDCSG + TOTALQUO - SDD ) , 0 );
+
+regle 90551 :
+application : pro , oceans , iliad , batch  ;
+
+NUPROPT = NUPROP + REPGROREP ;
+
+NUREPAR = min(NUPROPT , max(0,min(PLAF_NUREPAR, RRBG - RPALE - RPALP - RFACC - RDDIV - APERPV - APERPC - APERPP - DDCSG + TOTALQUO - SDD))) 
+	  * (1 - V_CNR) ;
+
+REPNUREPAR = max( NUPROPT - NUREPAR , 0 ) ;
+
+REPAR1 = max( REPGROREP - NUREPAR , 0 ) ;
+
+REPAR = max( REPNUREPAR - REPAR1 , 0 ) ;
+
+regle 9059 :
+application : pro , oceans , iliad , batch  ;
+CHTOT = max( 0 , 
+   min( DPA + DFA + (1-positif(RE168+TAX1649))*CHRDED + APERPV + APERPC + APERPP + NUREPAR , RBG
+       - DDCSG + TOTALQUO - SDD) 
+           )  * (1-V_CNR);
+regle 9060 :
+application : pro , oceans , iliad , batch  ;
+ABMAR = min(ABTMA,  max(RNG + TOTALQUO - SDD - SDC - ABTPA , 0));
+regle 9061 :
+application : pro , oceans , iliad , batch  ;
+ABVIE = min(ABTPA,max(RNG+TOTALQUO-SDD-SDC,0));
+regle 9062 :
+application : pro , oceans , iliad , batch  ;
+RNI =   positif(RG+R1649+PREREV) * arr(RI1) * (1-positif(RE168+TAX1649))
+      + (RE168+TAX1649) * positif(RE168+TAX1649);
+regle 9063 :
+application : pro , oceans , iliad , batch  ;
+RNIDF = (1 - positif_ou_nul( RG-DAR+TOTALQUO )) 
+         * (
+         (1 - positif_ou_nul(RG + TOTALQUO)) *
+          (((RG + TOTALQUO) * (-1)) + DAR_REP)
+         + null(RG+TOTALQUO) * (DAR_REP)
+         + positif(RG + TOTALQUO) *
+           (positif(RG + TOTALQUO - DEFAA5) * (RG + TOTALQUO - DAR )
+	   + (1 -positif(RG + TOTALQUO - DEFAA5)) * DAR_REP)
+           );
+RNIDF0 = (1-positif(RG + TOTALQUO)) * (RG + TOTALQUO) * (-1);
+
+RNIDF1 = (1-positif_ou_nul(RG + TOTALQUO)) * (DEFAA0)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2-DEFAA1,0)-DEFAA0,DEFAA0)*(-1)
+     * positif_ou_nul(DEFAA0-max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2-DEFAA1,0));
+
+RNIDF2 = (1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA1)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2,0)-DEFAA1,DEFAA1)*(-1)
+     * positif_ou_nul(DEFAA1-max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2,0));
+
+RNIDF3 = (1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA2)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3,0)-DEFAA2,DEFAA2)*(-1)
+     * positif_ou_nul(DEFAA2-max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3,0));
+
+RNIDF4 = (1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA3)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5-DEFAA4,0)-DEFAA3,DEFAA3)*(-1)
+     * positif_ou_nul(DEFAA3-max(RG+TOTALQUO-DEFAA5-DEFAA4,0));
+
+RNIDF5 = (1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA4)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5,0)-DEFAA4,DEFAA4)*(-1)
+     * positif_ou_nul(DEFAA4-max(RG+TOTALQUO-DEFAA5,0));
+
+RNIDF6 = (1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA5)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(RG+TOTALQUO-DEFAA5,DEFAA5)*(-1)
+     * positif_ou_nul(DEFAA5-max(RG+TOTALQUO,0));
+regle 90631 :
+application : pro,iliad ;
+RNICOL = RNI + RNIDF;
+regle 9064 :
+application : pro , oceans , iliad , batch  ;
+TTPVQ = TONEQUO;
+regle 9067 :
+application : pro , oceans , iliad , batch ;
+BPTPD = BTP3A * positif(V_EAD);
+BPTPG = BTP3A * positif(V_EAG);
+BPTP2 = BTP2;
+BPTP4 = BPCOPT * (1 - positif(IPVLOC));
+BPTP3 = BTP3A * (1 - positif(V_EAD + V_EAG));
+BPTP40 = BTP40;
+BPTP18 = BTP18 + BTP3G + BTP3N; 
+regle 9069 :
+application : pro , oceans , iliad , batch  ;
+TEFF = IPTEFP - IPTEFN + TEFFREVTOT * INDTEFF; 
+TEFFP = max(0, TEFF);
+TEFFN = si (TEFF + 0 < 0)
+        alors
+          ( min(0, TEFF) * (-1) )
+        sinon
+          ( 0 )
+        finsi;
+RDMO = TEFF + RMOND - DMOND ;
+regle 90691 :
+application : iliad , batch ;
+FRF = somme (i=V,C,1,2,3,4: FRDi * (1-IND_10i));
+regle 9070 :
+application : pro , oceans , iliad , batch;
+QUOHPV = somme(i=VO,CJ,PC:TSQi + PRQi)+ PALIQV + PALIQC + PALIQP
+       + BAQV + BAQC + BAQP
+       + BRCMQ + RFQ + somme(x=1..3;i=V,C:GLDxi) ;
+regle 90705:
+application : iliad ;
+TX_CSG = T_CSG;
+TX_RDS = T_RDS;
+TX_PREL_SOC = (positif(V_EAG + V_EAD) * (T_PREL_SOCDOM)
+              + positif(( 1-V_EAD ) * ( 1-V_EAG )) * (T_PREL_SOC))
+	      * (1-V_CNR);
+TX_IDCSG = T_IDCSG;
+regle 90707:
+application : batch, pro, oceans , iliad ;
+SURPLU = BPTIMMED;
+SURIMP = IPSURSI;
+REPPLU = CREDPVREP+V_BTPVREP* (1-present(CREDPVREP));
+regle 90708:
+application : iliad ;
+INDM14 = positif_ou_nul(IREST - LIM_RESTIT);
+regle 90709:
+application : iliad ;
+INDDEFICIT = positif(RNIDF1 + DEFBA6 + DEFBA5 + DEFBA4 + DEFBA3 + DEFBA2 +DEFBA1
+		   + DRFRP + DLMRN1 + DALNP + IRECR + DPVRCM + MIBDREPV + MIBDREPC
+                   + MIBDREPP + MIBDREPNPV + MIBDREPNPC + MIBDREPNPP + SPEDREPV + SPEDREPC
+                   + SPEDREPP + SPEDREPNPV + SPEDREPNPC + SPEDREPNPP);
diff --git a/sources2010m_7_1/res-ser2.m b/sources2010m_7_1/res-ser2.m
new file mode 100644
index 0000000000000000000000000000000000000000..c0eac2c1a4eecfc7f0a5cf35b00e1478a4adf9ed
--- /dev/null
+++ b/sources2010m_7_1/res-ser2.m
@@ -0,0 +1,806 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #
+ #
+ # #####   ######   ####    #####     #     #####  
+ # #    #  #       #          #       #       #   
+ # #    #  #####    ####      #       #       #  
+ # #####   #            #     #       #       # 
+ # #   #   #       #    #     #       #       # 
+ # #    #  ######   ####      #       #       # 
+ #
+ #      #####   #####   #####   #
+ #          #   #   #   #   #   #
+ #      #####   #   #   #   #   #
+ #      #       #   #   #   #   #
+ #      #####   #####   #####   #
+ #
+ #
+ #
+ #
+ #                     RES-SER2.m
+ #                    =============
+ #
+ #
+ #                      zones restituees par l'application
+ #
+ #
+ #
+ #
+ #
+regle 9071 :
+application : pro , oceans , iliad , batch ;
+IDRS = INDTXMIN*IMI + 
+       INDTXMOY*IMO + 
+       (1-INDTXMIN) * (1-INDTXMOY) * max(0,IPHQ2 - ADO1) ;
+regle 907100 :
+application : pro , oceans , iliad , batch, bareme ;
+RECOMP = max(0 ,( IPHQANT2 - IPHQ2 )*(1-INDTXMIN) * (1-INDTXMOY)) 
+         * (1 - positif(IPMOND+INDTEFF));
+regle 907101 :
+application : pro , oceans , iliad , batch ;
+IDRSANT = INDTXMIN*IMI + INDTXMOY*IMO 
+         + (1-INDTXMIN) * (1-INDTXMOY) * max(0,IPHQANT2 - ADO1) ;
+IDRS2 = (1 - positif(IPMOND+INDTEFF))  * 
+        ( 
+         IDRSANT + ( positif(ABADO)*ABADO + positif(ABAGU)*ABAGU )
+                  * positif(IDRSANT)
+         + IPHQANT2 * (1 - positif(IDRSANT))
+         + positif(RE168+TAX1649) * IAMD2
+        )
+   + positif(IPMOND+INDTEFF) 
+         * ( IDRS*(1-positif(IPHQ2)) + IPHQ2 * positif(IPHQ2) );
+
+IDRS3 = IDRT ;
+regle 90710 :
+application : pro , oceans , iliad , batch  ;
+PLAFQF = positif(IS521 - PLANT - IS511) * (1-positif(V_CR2+IPVLOC))
+           * ( positif(abs(TEFF)) * positif(IDRS) + (1 - positif(abs(TEFF))) );
+regle 907105 :
+application : pro ,oceans , iliad , batch  ;
+ABADO = arr(min(ID11 * (TX_RABDOM / 100)
+             * ((PRODOM * max(0,1 - V_EAD - V_EAG) / RG ) + V_EAD),PLAF_RABDOM)
+	    );
+ABAGU = arr(min(ID11 * (TX_RABGUY / 100)
+	     * ((PROGUY * max(0,1 - V_EAD - V_EAG) / RG ) + V_EAG),PLAF_RABGUY)
+	    );
+regle 90711 :
+application :    pro , oceans , iliad , batch   ;
+
+RGPAR =   positif(PRODOM) * 1 
+       +  positif(PROGUY) * 2
+       +  positif(PROGUY)*positif(PRODOM) 
+       ;
+regle 9074 :
+application : pro , oceans , iliad , batch  ;
+IBAEX = (IPQT2) * (1 - INDTXMIN) * (1 - INDTXMOY);
+regle 9080 :
+application : pro , oceans , iliad , batch  ;
+PRELIB = PPLIB + RCMLIB;
+regle 9091 :
+application : pro ,  oceans , iliad , batch  ;
+IDEC = DEC11 * (1 - positif(V_CR2 + V_CNR + IPVLOC));
+regle 9092 :
+application : pro ,  oceans , iliad , batch  ;
+IPROP = ITP ;
+regle 9093 :
+application : pro ,  oceans , iliad , batch  ;
+IREP = REI;
+regle 90980 :
+application : pro ,batch;
+RETIR = arr(BTOINR * TXINT/100);
+RETCS = arr((CSG-CSGIM) * TXINT/100);
+RETRD = arr((RDSN-CRDSIM) * TXINT/100);
+RETPS = arr((PRS-PRSPROV) * TXINT/100);
+RETCSAL = arr((CSAL-CSALPROV) * TXINT/100);
+RETCDIS = arr(CDIS * TXINT/100);
+RETTAXA = arr(max(0,TAXASSUR+min(0,IRN - IRANT)) * TXINT/100);
+regle 90981 :
+application :  oceans, iliad ;
+RETIR = RETIR2 + arr(BTOINR * TXINT/100);
+RETCS = RETCS2 + arr((CSG-CSGIM) * TXINT/100);
+RETRD = RETRD2 + arr((RDSN-CRDSIM) * TXINT/100);
+RETPS = RETPS2 + arr((PRS-PRSPROV) * TXINT/100);
+RETCSAL = RETCSAL2 + arr((CSAL-CSALPROV) * TXINT/100);
+RETCDIS = RETCDIS2 + arr(CDIS * TXINT/100);
+RETTAXA = RETTAXA2 + arr(max(0,TAXASSUR+min(0,IRN - IRANT)) * TXINT/100);
+regle 90984 :
+application :  batch, pro, oceans, iliad ;
+MAJOIRTARDIF_A1 = MAJOIRTARDIF_A - MAJOIR17_2TARDIF_A;
+MAJOTAXATARDIF_A1 = MAJOTAXATARDIF_A - MAJOTA17_2TARDIF_A;
+MAJOIRTARDIF_D1 = MAJOIRTARDIF_D - MAJOIR17_2TARDIF_D;
+MAJOTAXATARDIF_D1 = MAJOTAXATARDIF_D - MAJOTA17_2TARDIF_D;
+MAJOIRTARDIF_P1 = MAJOIRTARDIF_P - MAJOIR17_2TARDIF_P;
+MAJOIRTARDIF_R1 = MAJOIRTARDIF_R - MAJOIR17_2TARDIF_R;
+MAJOTAXATARDIF_R1 = MAJOTAXATARDIF_R - MAJOTA17_2TARDIF_R;
+NMAJ1 = max(0,MAJO1728IR + arr(BTO * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOIRTARDIF_D1
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPIR_A) * MAJOIRTARDIF_P1
+		  + (1 - positif(PROPIR_A) ) * MAJOIRTARDIF_D1)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPIR_A))
+				    * ( positif(FLAG_RECTIF) * MAJOIRTARDIF_R1
+				     + (1 - positif(FLAG_RECTIF)) * MAJOIRTARDIF_A1)
+		);
+NMAJTAXA1 = max(0,MAJO1728TAXA + arr(max(0,TAXASSUR+min(0,IRN-IRANT)) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOTAXATARDIF_D1
+		+ FLAG_TRTARDIF_F * MAJOTAXATARDIF_D1
+	- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOTAXATARDIF_R1
+				     + (1 - positif(FLAG_RECTIF)) * MAJOTAXATARDIF_A1)
+		);
+NMAJC1 = max(0,MAJO1728CS + arr((CSG - CSGIM) * COPETO/100)  * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJOCSTARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPCS_A) * MAJOCSTARDIF_P 
+		  + (1 - positif(PROPCS_A) ) * MAJOCSTARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPCS_A))
+				    * ( positif(FLAG_RECTIF) * MAJOCSTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCSTARDIF_A)
+		);
+NMAJR1 = max(0,MAJO1728RD + arr((RDSN - CRDSIM) * COPETO/100)  * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJORDTARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPRD_A) * MAJORDTARDIF_P 
+		  + (1 - positif(PROPRD_A) ) * MAJORDTARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPCS_A))
+				    * ( positif(FLAG_RECTIF) * MAJORDTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORDTARDIF_A)
+		);
+NMAJP1 = max(0,MAJO1728PS + arr((PRS - PRSPROV) * COPETO/100)  * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJOPSTARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPPS_A) * MAJOPSTARDIF_P 
+		  + (1 - positif(PROPPS_A) ) * MAJOPSTARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPPS_A))
+				    * ( positif(FLAG_RECTIF) * MAJOPSTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOPSTARDIF_A)
+		);
+NMAJCSAL1 = max(0,MAJO1728CSAL + arr((CSAL - CSALPROV) * COPETO/100)
+		+ FLAG_TRTARDIF * MAJOCSALTARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJOCSALTARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOCSALTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCSALTARDIF_A)
+		);
+NMAJCDIS1 = max(0,MAJO1728CDIS + arr(CDIS * COPETO/100)  * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJOCDISTARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJOCDISTARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOCDISTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCDISTARDIF_A)
+		);
+NMAJ3 = max(0,MAJO1758AIR + arr(BTO * COPETO/100) * positif(null(CMAJ-10)+null(CMAJ-17)) 
+		+ FLAG_TRTARDIF * MAJOIR17_2TARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPIR_A) * MAJOIR17_2TARDIF_P 
+		  + (1 - positif(PROPIR_A) ) * MAJOIR17_2TARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPIR_A))
+				    * ( positif(FLAG_RECTIF) * MAJOIR17_2TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOIR17_2TARDIF_A)
+		);
+NMAJTAXA3 = max(0,MAJO1758ATAXA + arr(max(0,TAXASSUR+min(0,IRN-IRANT)) * COPETO/100)
+					* positif(null(CMAJ-10)+null(CMAJ-17)) 
+		+ FLAG_TRTARDIF * MAJOTA17_2TARDIF_D
+		);
+NMAJ4    =      somme (i=03..06,30,32,55: MAJOIRi);
+NMAJTAXA4  =    somme (i=03..06,30,55: MAJOTAXAi);
+NMAJC4 =  somme(i=03..06,30,32,55:MAJOCSi);
+NMAJR4 =  somme(i=03..06,30,32,55:MAJORDi);
+NMAJP4 =  somme(i=03..06,30,55:MAJOPSi);
+NMAJCSAL4 =  somme(i=03..06,30,55:MAJOCSALi);
+NMAJCDIS4 =  somme(i=03..06,30,55:MAJOCDISi);
+regle 90101 :
+application : pro , oceans , iliad , batch  ;
+
+IAVIM = (IRB + PTOT + AME + TAXASSUR + PTAXA + RPPEACO) ;
+
+IAVIM2 = (IRB + PTOT + AME) ;
+
+regle 90102 :
+application : pro , oceans , iliad , batch ;
+
+IRETS = max(0,min(IRB+RPPEACO+TAXASSUR-AVFISCOPTER-CIRCMAVFT , (IPSOUR * (1 - positif(RE168+TAX1649))))) ;
+
+regle 9010256 :
+application : pro , oceans , iliad , batch ;
+
+CRDIE = max(0,min(IRB-REI-AVFISCOPTER-CIRCMAVFT-IRETS,(min(IAD11,CRCFA) * (1 - positif(RE168+TAX1649)))));
+
+CRDIE2 = -CRDIE+0;
+
+regle 9010257 :
+application : pro , oceans , iliad , batch ;
+
+BCIAQCUL = arr(CIAQCUL * TX_CIAQCUL / 100);
+
+CICULTUR = max(0,min(IRB+RPPEACO+TAXASSUR-AVFISCOPTER-CIRCMAVFT-REI-IRETS-CRDIE-ICREREVET,min(IAD11+ITP+RPPEACO+TAXASSUR,BCIAQCUL)));
+
+regle 9010258 :
+application : pro , oceans , iliad , batch ;
+
+CIGPA = max(0,min(IRB+RPPEACO+TAXASSUR-AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CICULTUR,BCIGA));
+
+regle 9010260 :
+application : pro , oceans , iliad , batch ;
+
+BCIDONENTR = RDMECENAT * (1-V_CNR) ;
+
+CIDONENTR = max(0,min(IRB+RPPEACO+TAXASSUR-AVFISCOPTER-CIRCMAVFT-REI-IRETS-CRDIE-ICREREVET-CICULTUR-CIGPA,BCIDONENTR));
+
+regle 9010261 :
+application : pro , oceans , iliad , batch ;
+
+CICORSE = max(0,min(IRB+RPPEACO+TAXASSUR-AVFISCOPTER-CIRCMAVFT-IPPRICORSE-IRETS-CRDIE-ICREREVET-CICULTUR-CIGPA-CIDONENTR,CIINVCORSE+IPREPCORSE));
+
+TOTCORSE = CIINVCORSE + IPREPCORSE ;
+
+REPCORSE = abs(CIINVCORSE+IPREPCORSE-CICORSE) ;
+
+regle 9010262 :
+application : pro , oceans , iliad , batch ;
+
+CIRECH = max(0,min(IRB+RPPEACO+TAXASSUR-AVFISCOPTER-CIRCMAVFT-IPPRICORSE-IRETS-CRDIE-ICREREVET-CICULTUR-CIGPA-CIDONENTR-CIINVCORSE-IPREPCORSE,IPCHER));
+
+REPRECH = abs(IPCHER - CIRECH) ;
+
+IRECR = abs(min(0 ,IRB+RPPEACO+TAXASSUR-AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CICULTUR-CIGPA-CIDONENTR-CICORSE));
+
+regle 9010263 :
+application : pro , oceans , iliad , batch ;
+
+CICONGAGRI = CRECONGAGRI * (1-V_CNR) ;
+
+regle 901020 :
+application : pro , oceans , iliad  ;
+IRECT = max(0,min(IRB,IPSOUR + min(IAD11 , CRCFA) + CICORSE + CICULTUR + CIDONENTR + ICREREVET + CIRCMAVFT));
+regle 90103 :
+application : pro , oceans , iliad , batch  ;
+
+IAVF = IRE - EPAV + CICORSE + CICULTUR + CIGPA + CIRCMAVFT ;
+
+
+DIAVF2 = (BCIGA + IPRECH + IPCHER + IPELUS + RCMAVFT + DIREPARGNE) * (1 - positif(RE168+TAX1649)) + CIRCMAVFT * positif(RE168+TAX1649);
+
+
+IAVF2 = (CIDIREPARGNE + IPRECH + CIRECH + IPELUS + CIRCMAVFT + CIGPA + 0) * (1-positif(RE168+TAX1649))
+	 + CIRCMAVFT * positif(RE168+TAX1649);
+
+IAVFGP = IAVF2 + CREFAM + CREAPP;
+regle 90104 :
+application : pro ,  oceans , iliad , batch  ;
+I2DH = EPAV;
+regle 90113 :
+application : pro , oceans , iliad , batch  ;
+CDBA = positif_ou_nul(SEUIL_IMPDEFBA-SHBA-(REVTP-BA1)
+      -GLN1-REV2-REV3-REV4-REVRF);
+AGRBG = SHBA + (REVTP-BA1) + GLN1 + REV2 + REV3 + REV4 + REVRF;
+
+regle 901130 :
+application : pro , oceans , iliad , batch  ;
+DBAIP =  abs(min(BAHQT+BAQT,DAGRI6+DAGRI5+DAGRI4+DAGRI3+DAGRI2+DAGRI1)
+	     *positif(DAGRI6+DAGRI5+DAGRI4+DAGRI3+DAGRI2+DAGRI1)*positif(BAHQT+BAQT));
+regle 901131 :
+application : pro , oceans , iliad , batch  ;
+RBAT = max (0 , BANOR );
+regle 901132 :
+application : pro , oceans , iliad , batch  ;
+DEFIBA = (min(max(1+SEUIL_IMPDEFBA-SHBA-(REVTP-BA1)
+      -GLN1-REV2-REV3-REV4-REVRF,0),1)) * min( 0 , BANOR ) ;
+regle 901133 :
+application :  iliad, batch, pro, oceans;
+NAPALEG = abs(NAPT);
+
+INDNAP = 1 - positif_ou_nul(NAPT);
+
+GAINDBLELIQ = max(0,V_ANC_NAP*(1-2*V_IND_NAP) - NAPT) * (1-positif(V_0AN)) * (1 - V_CNR2) 
+	       * (1 - null(V_REGCO - 2)) * (1 - null(V_REGCO - 4)) * (1 - positif(IPTEFP+IPTEFN+IRANT));
+
+GAINPOURCLIQ = (1 - null(V_ANC_NAP*(1-2*V_IND_NAP))) * (V_ANC_NAP*(1-2*V_IND_NAP) - NAPT)/ V_ANC_NAP*(1-2*V_IND_NAP)  * (1 - V_CNR2);
+
+ANCNAP = V_ANC_NAP * (1-2*V_IND_NAP) ;
+
+
+INDPPEMENS = positif( ( positif(IRESTIT - 180) 
+		       + positif((-1)*ANCNAP - 180) 
+                       + positif(IRESTIT + RPPEACO - IRNET - 180) * null(V_IND_TRAIT-5)
+		      ) * positif(PPETOT - PPERSA - 180) )
+	           * (1 - V_CNR) ;
+
+BASPPEMENS = INDPPEMENS * min(max(IREST,(-1)*ANCNAP*positif((-1)*ANCNAP)),PPETOT-PPERSA) * null(V_IND_TRAIT-4) 
+            + INDPPEMENS * max(0,min(IRESTIT+RPPEACO-IRNET,PPETOT-PPERSA)) * null(V_IND_TRAIT-5) ;
+
+regle 90114 :
+application : pro ,  oceans , iliad , batch  ;
+
+IINET = max(0 , NAPT) ;
+
+regle 901140 :
+application : bareme  ;
+
+IINET = IRNET * positif ( IRNET - SEUIL_PERCEP ) ;
+
+regle 9011410 :
+application : oceans , bareme ,  pro , iliad, batch;
+
+IRNET2 =  (IAR + PIR + AME - IRANT) * (1 - INDTXMIN)  * (1 - INDTXMOY)
+         + min(0, IAR + PIR + AME - IRANT) * (INDTXMIN + INDTXMOY)
+         + max(0, IAR + PIR + AME - IRANT) *
+                                   (INDTXMIN * positif(IAVIMBIS - SEUIL_TXMIN)
+                                  + INDTXMOY * positif(IAVIMO - SEUIL_TXMIN))
+         + (RASAR * V_CR2);
+
+regle 901141 :
+application : oceans ,  pro , iliad , batch ;
+SEUILNET  = ((1 - positif(IBM23 - IRE + TAXASSUR + PTAXA - min(TAXASSUR+PTAXA+0,max(0,INE-IRB+REI+AVFISCOPTER)))) * 
+                  (IBM23 - IRE + TAXASSUR + PTAXA - min(TAXASSUR+PTAXA+0,max(0,INE-IRB+REI+AVFISCOPTER))) 
+	         + RPPEACO - min(RPPEACO+0,max(0,INE-IRB+REI+AVFISCOPTER-min(TAXASSUR+PTAXA+0,max(0,INE-IRB+REI+AVFISCOPTER)))))
+                 + AME * positif(NIAMENDE)
+                 + PIR
+             ;
+
+IRNETTER = max ( 0 ,   IRNET2  
+		     - max(0,min(0,IRNET2))  * positif((-1)*(IRN+AME)) 
+		     + ( TAXASSUR + PTAXA - min(TAXASSUR+PTAXA+0,max(0,INE-IRB+REI+AVFISCOPTER)) 
+                          - max(0,TAXASSUR+PTAXA- min(TAXASSUR+PTAXA+0,max(0,INE-IRB+REI+AVFISCOPTER))+min(0,IRNET2)))  
+                     + RPPEACO - min(RPPEACO+0,max(0,INE-IRB+REI+AVFISCOPTER-min(TAXASSUR+PTAXA+0,max(0,INE-IRB+REI+AVFISCOPTER))))
+		        
+	       ) * (1 - positif(NIAMENDE)) * (1 - positif(positif(SEUIL_PERCEP - IAMD1) * RPPEACO))
+
+           + positif(NIAMENDE) * positif(IAVIM) * (IAR * (1 - positif(IAR)) + AME - IRANT) * (1 - positif(RPPEACO))
+
+           + positif(positif(SEUIL_PERCEP - IBM23 - TAXASSUR - PTAXA) * RPPEACO)
+                * (
+		   SEUILNET * (1 - positif(SEUIL_REC_CP - min(SEUIL_REC_CP,SEUILNET ))) 
+	           + (TOTNET - NRINET - IMPRET) * positif(TOTNET) * null(1 - positif(SEUIL_REC_CP - min(SEUIL_REC_CP,SEUILNET ))) 
+                   - IRANT
+                  )
+  ;
+
+IRNETBIS = max(0 , IRNETTER - PIR * positif(SEUIL_REC_CP - IRNETTER + PIR) 
+				  * positif(SEUIL_REC_CP - PIR) 
+				  * positif_ou_nul(IRNETTER - SEUIL_REC_CP)) ;
+
+regle 901143 :
+application : oceans ,  pro , iliad , batch ;
+
+IRNET =  null(NRINET + IMPRET + 0) * IRNETBIS
+         + positif(NRINET + IMPRET + 0)
+           * 
+	   ( 
+	    ((positif(IRE) + positif_ou_nul(IAVIM - SEUIL_PERCEP) * (1 - positif(IRE)))
+             *
+             max(0, NRINET + IMPRET + (IRNETBIS * positif(positif_ou_nul(AME - SEUIL_REC_CP) + positif_ou_nul(IBM23 - SEUIL_PERCEP))) 
+				    + min(0,IRNET2 + ( RPPEACO - min(RPPEACO+0,max(0,INE-IRB+REI+AVFISCOPTER))
+	                                                + (TAXASSUR + PTAXA - min(TAXASSUR + PTAXA + 0,max(0,INE-IRB+REI+AVFISCOPTER)) - min(0,IRNETBIS)) 
+				                     ) * positif(RPPEACO + TAXASSUR)
+                                         ) 
+	       ) * (1 - positif(IREST)))
+
+            + ((1 - positif_ou_nul(IAVIM - SEUIL_PERCEP)) * (1 - positif(IRE)) * max(0, NRINET + IMPRET))
+           ) ;          
+
+regle 901144 :
+application : oceans ,  pro , iliad , batch ;
+
+TOTNET = max ( 0 , (IAR + PIR) * (1 - (positif(NRINET + IMPRET) * positif(SEUIL_PERCEP - IBM23))) + AME + NRINET + IMPRET + RASAR - IRANT 
+		       + (TAXASSUR + PTAXA - min(TAXASSUR + PTAXA + 0 , max(0 , INE-IRB+REI+AVFISCOPTER)))
+			 * (1 - (positif(NRINET + IMPRET) * positif(SEUIL_PERCEP - IBM23 - TAXASSUR)))
+                       + ( RPPEACO - min(RPPEACO + 0 , max(0 , INE-IRB+REI+AVFISCOPTER - min(TAXASSUR + PTAXA + 0 , max(0 , INE-IRB+REI+AVFISCOPTER)))) 
+			   - max( 0 , min(0,IRNET2 )) * positif(SEUIL_PERCEP - IAMD1)
+       	                  ) * positif(RPPEACO)
+	     );
+		
+regle 9011411 :
+application : oceans ,  pro , iliad , batch ;
+
+TAXNET = positif(TAXASSUR) 
+          * (1 - positif((RPPEACO) * positif(SEUIL_PERCEP - (IBM23 + TAXASSUR + PTAXA ))))
+	  * max(0,TAXASSUR + PTAXA - min(TAXASSUR + PTAXA + 0,max(0,INE-IRB+REI+AVFISCOPTER))
+                           + min(0,IRNET2) )
+         * (1-positif(NIAMENDE))
+        ;
+
+TAXANET = null(NRINET + IMPRET + 0) * TAXNET
+	  + 
+	  positif(NRINET + IMPRET + 0)
+                * ( positif_ou_nul(IAMD1 - SEUIL_PERCEP) * TAXNET
+                  + (1 - positif_ou_nul(IAMD1 - SEUIL_PERCEP)) * 0 )
+        ;
+
+regle 9011412 :
+application :  bareme  ;
+
+IRNET =  max( 0 , IRNET2 + RECOMP );
+regle 9011413 :
+application : oceans , pro , iliad , batch ;
+
+IRPROV = min ( IRANT                   ,IAR + PIR + AME) * positif(IRANT);
+
+regle 9012401 :
+application : iliad;
+NAPPS = (PRS + PPRS - PRSPROV)* positif(TOTCR) ;
+NAPCS = (CSG + PCSG - CSGIM)  * positif(TOTCR) ;
+NAPRD = (RDSN + PRDS - CRDSIM) * positif(TOTCR) ;
+NAPCSAL = (CSAL + PCSAL - CSALPROV) * positif(TOTCR) ;
+NAPCDIS = (CDIS + PCDIS) * positif(TOTCR) ;
+regle 9012403 :
+application : pro ;
+NAPPS = PRS + PPRS - PRSPROV ;
+NAPCS = CSG + PCSG - CSGIM ;
+NAPRD = RDSN + PRDS - CRDSIM ;
+NAPCSAL = CSAL + PCSAL - CSALPROV ;
+NAPCDIS = CDIS + PCDIS ;
+regle 9011401 :
+application : pro , batch,oceans;
+NAPCR = max(0, PRS + PPRS - PRSPROV
+             + CSG + PCSG - CSGIM
+             + CSAL + PCSAL - CSALPROV
+             + RDSN + PRDS - CRDSIM
+	     + CDIS + PCDIS)
+   * positif_ou_nul( PRS + PPRS - PRSPROV
+                   + CSG + PCSG - CSGIM
+                   + CSAL + PCSAL - CSALPROV
+                   + RDSN + PRDS - CRDSIM
+		   + CDIS + PCDIS - SEUIL_REC_CP2);
+
+NAPCRINR = max(0, PRS + PPRS - PRSPROV
+             + CSG + PCSG - CSGIM
+             + CSAL + PCSAL - CSALPROV
+             + RDSN + PRDS - CRDSIM
+	     + CDIS + PCDIS)
+   * positif_ou_nul( PRS + PPRS - PRSPROV
+                   + CSG + PCSG - CSGIM
+                   + CSAL + PCSAL - CSALPROV
+                   + RDSN + PRDS - CRDSIM
+		   + CDIS + PCDIS - SEUIL_REC_CP2);
+regle 9011402 :
+application : pro , oceans , iliad , batch  ;
+IKIRN = KIR ;
+
+IMPTHNET = max(0 , (IRB * positif_ou_nul(IRB-SEUIL_PERCEP)-INE-IRE)
+		       * positif_ou_nul((IRB*positif_ou_nul(IRB-SEUIL_PERCEP)-INE-IRE)-SEUIL_REC_CP)
+              ) 
+	        * (1 - V_CNR) ;
+
+regle 90115 :
+application : pro , oceans, iliad, batch;
+
+IRESTIT = abs(min(0, IRN + PIR + AME + NRINET + IMPRET + RASAR 
+                         + (TAXASSUR + PTAXA - min(TAXASSUR + PTAXA + 0,max(0 , INE - IRB + REI + AVFISCOPTER)))
+			 + (RPPEACO - min(RPPEACO + 0 , max(0 , INE - IRB + REI + AVFISCOPTER - min(TAXASSUR + PTAXA + 0 , max(0 , INE - IRB + REI + AVFISCOPTER))))) 
+		 )
+	     ) ;
+
+regle 901150 :
+application : pro , oceans;
+
+IRESTITA = abs(min(0, PIR_A+AME_A )) ;
+
+IREST =  max(0,IRESTIT - (IRESTITA*positif_ou_nul(IRESTITA-SEUIL_REMBCP))) ;
+
+regle 901151 :
+application : iliad , batch;
+
+IREST = max( 0 , IRESTIT - RECUMBIS ) ;
+
+regle corrective 901160 :
+application : pro, batch, oceans , iliad ;
+TOTREC = positif_ou_nul(IRN + TAXANET + PIR + AME - SEUIL_REC_CP);
+regle 9011601 :
+application : oceans;
+CSREC = positif_ou_nul( PRS + PPRS - PRSPROV
+                   + CSG + PCSG - CSGIM
+                   + RDSN + PRDS - CRDSIM  
+                   + CSAL + PCSAL - CSALPROV
+                   + CDIS + PCDIS
+		   - SEUIL_REC_CP2);
+CSRECINR = CSREC;
+regle 90116011 :
+application : pro, batch , iliad ;
+CSREC = positif(NAPCR);
+CSRECINR = positif(NAPCRINR);
+regle 9011603 :
+application : batch, oceans , iliad ;
+CSRECA = positif_ou_nul(PRS_A+PPRS_A+CSG_A+RDS_A+PCSG_A +PRDS_A 
+                         -SEUIL_REC_CP2);
+regle corrective 9011600 :
+application : oceans;
+IDEGR = positif(-NAPT) * (
+                 TOTREC * abs(NAPT) + 
+              (1-TOTREC) * max(0,AME_A+PIR_A));
+regle corrective 9011602 :
+application : iliad ;
+
+IDEGR = (ANTIRAFF + TAXANTAFF - ((IRNET * positif_ou_nul(IRNET - SEUIL_REC_CP)
+				 + TAXANET * positif_ou_nul(TAXASSUR - SEUIL_PERCEP))
+				 * positif(RPPEACO + NRINET + IMPRET + RASAR * (V_CR2))
+				+ (IRNET * positif_ou_nul(IBM23 - SEUIL_PERCEP)
+				 + TAXANET * positif_ou_nul(TAXASSUR - SEUIL_PERCEP))
+				 * (1 - positif(RPPEACO + NRINET + IMPRET + RASAR * (V_CR2))))
+			     * positif_ou_nul(IRNET + TAXANET - SEUIL_REC_CP))
+		     * positif(ANTIRAFF + TAXANTAFF - (IRNET + TAXANET)) ;
+
+IRDEG =  positif(NAPTOTA - IRNET ) * positif(NAPTOTA)    
+        * max(0, V_ANTIR - max(0,IRNET ) );                   
+TAXDEG =  positif(NAPTOTA - TAXANET) * positif(NAPTOTA)    
+        * max(0, V_TAXANT- max(0,TAXANET ) );                   
+TAXADEG = positif(TAXDEG) * positif (V_TAXANT)
+        * max(0, V_TAXANT - max(0,TOTAXAGA));
+       
+regle 90117 :
+application : batch, oceans ;
+CRDEG = abs(min(0,PRSD + PPRSD + CSGD + RDSD + PCSGD + PRDSD));
+regle 90504:
+application : pro ,  batch , oceans , iliad  ;
+ABSRE = ABMAR + ABVIE;
+regle 90509:
+application : pro , oceans,  iliad , batch  ;
+REVTP = PTP;
+regle 90522:
+application : pro , iliad  , oceans ;
+RPEN = PTOTD + AME;
+regle 90527:
+application : oceans , iliad  ;
+ANTIRAFF = V_ANTIR  * APPLI_ILIAD   
+           +
+            (  PIR_A * ( positif_ou_nul(PIR_A+AME_A-SEUIL_REC_CP)))
+            * APPLI_OCEANS ;
+
+TAXANTAFF = V_TAXANT * APPLI_ILIAD
+            + TAXANET_A * APPLI_OCEANS;
+regle 90514:
+application : pro ,  oceans , iliad , batch ;
+IDRT = IDOM11;
+regle 90525:
+application : pro ,  iliad , batch , oceans ;
+IAVT = IRE - EPAV - CICA + 
+          min( IRB , IPSOUR + CRCFA ) +
+          min( max(0,IAN - IRE) , (BCIGA * (1 - positif(RE168+TAX1649))));
+IAVT2 = IAVT + CICA;
+regle 907001  :
+application : pro, oceans, iliad, batch  ;
+INDTXMOY = positif(TX_MIN_MET - TMOY) * positif( (present(RMOND) 
+                             + present(DMOND)) ) * V_CR2 ;
+INDTXMIN = positif_ou_nul( IMI - IPQ1 ) 
+           * positif(1 - INDTXMOY) * V_CR2;
+regle 907002  :
+application : pro, batch,  iliad, oceans ;
+IND_REST = positif(IREST) ;
+regle 907003  :
+application : oceans, iliad, pro, batch,  oceans;
+IND_NI =  null(NAPT) * (null (IRNET));
+regle 9070030  :
+application :  oceans, iliad, pro, batch ;
+IND_IMP = positif(NAPT);
+
+INDNMR =  null(NAPT) * null(NAT1BIS) * (positif (IRNET + TAXANET));
+
+INDNMRI = (INDNMR + positif(RPPEACO)) * positif ( RED ) ;
+
+INDNIRI =   positif(IDOM11-DEC11) * null(IAD11);
+regle 907004  :
+application : batch,pro,  iliad ;
+IND_REST50 = positif(SEUIL_REMBCP - IREST) * positif(IREST);
+regle 9070041  :
+application : oceans, iliad, pro, batch;
+INDMAJREV = positif(
+ positif(BIHNOV)
++ positif(BIHNOC)
++ positif(BIHNOP)
++ positif(BICHREV)
++ positif(BICHREC)
++ positif(BICHREP)
++ positif(BNHREV)
++ positif(BNHREC)
++ positif(BNHREP)
++ positif(ANOCEP)
++ positif(ANOVEP)
++ positif(ANOPEP)
++ positif(BAFV)
++ positif(BAFC)
++ positif(BAFP)
++ positif(BAHREV)
++ positif(BAHREC)
++ positif(BAHREP)
++ positif(4BAHREV)
++ positif(4BAHREC)
++ positif(4BAHREP)
++ positif(REGPRIV)
+);
+regle 907005  :
+application : oceans, iliad, pro, batch;
+INDNMR1 = (1 - positif(IAMD1 +1 -SEUIL_PERCEP)) *
+           (1 - min (1 , abs (NAPT))) * positif(IRB2);
+INDNMR2 = positif(INDNMR) * (1 - positif(INDNMR1));
+regle 907006  :
+application : iliad, pro, oceans ;
+
+
+INDV = positif_ou_nul ( 
+  positif( ALLOV ) 
+ + positif( REMPLAV ) + positif( REMPLANBV )
+ + positif( BACDEV ) + positif( BACREV )
+ + positif( 4BACREV ) + positif( 4BAHREV )
+ + positif( BAFPVV )
+ + positif( BAFV ) + positif( BAHDEV ) + positif( BAHREV )
+ + positif( BICDEV ) + positif( BICDNV )
+ + positif( BICHDEV )
+ + positif( BICHREV ) + positif( BICNOV )
+ + positif( BICREV ) 
+ + positif( BIHDNV ) + positif( BIHNOV )
+ + positif( BNCDEV ) + positif( BNCNPPVV )
+ + positif( BNCNPV ) + positif( BNCPROPVV ) + positif( BNCPROV )
+ + positif( BNCREV ) + positif( BNHDEV ) + positif( BNHREV )
+ + positif( BPCOSAV ) + positif( CARPENBAV ) + positif( CARPEV )
+ + positif( CARTSNBAV ) + positif( CARTSV ) + positif( COTFV )
+ + positif( DETSV ) + positif( FRNV ) + positif( GLD1V )
+ + positif( GLD2V ) + positif( GLD3V ) + positif( ANOCEP )
+ + positif( MIBNPPRESV ) + positif( MIBNPPVV ) + positif( MIBNPVENV )
+ + positif( MIBPRESV ) + positif( MIBPVV ) + positif( MIBVENV )
+ + positif( PALIV ) + positif( PENSALV ) + positif( PENSALNBV ) 
+ + positif( PEBFV ) + positif( PRBRV )
+ + positif( TSHALLOV ) + positif( DNOCEP ) + positif(BAFORESTV)
+ + positif( LOCPROCGAV ) + positif( LOCPROV ) + positif( LOCNPCGAV )
+ + positif( LOCNPV ) + positif( LOCDEFNPCGAV ) + positif( LOCDEFNPV )
+);
+INDC = positif_ou_nul ( 
+  positif( ALLOC ) 
+ + positif( REMPLAC ) + positif( REMPLANBC )
+ + positif( BACDEC ) + positif( BACREC )
+ + positif( 4BACREC ) + positif( 4BAHREC )
+ + positif( BAFC ) + positif( ANOVEP ) + positif( DNOCEPC )
+ + positif( BAFPVC ) + positif( BAHDEC ) + positif( BAHREC )
+ + positif( BICDEC ) + positif( BICDNC )
+ + positif( BICHDEC ) 
+ + positif( BICHREC ) + positif( BICNOC )
+ + positif( BICREC )  
+ + positif( BIHDNC ) + positif( BIHNOC )
+ + positif( BNCDEC ) + positif( BNCNPC )
+ + positif( BNCNPPVC ) + positif( BNCPROC ) + positif( BNCPROPVC )
+ + positif( BNCREC ) + positif( BNHDEC ) + positif( BNHREC )
+ + positif( BPCOSAC ) + positif( CARPEC ) + positif( CARPENBAC )
+ + positif( CARTSC ) + positif( CARTSNBAC ) + positif( COTFC )
+ + positif( DETSC ) + positif( FRNC ) + positif( GLD1C )
+ + positif( GLD2C ) + positif( GLD3C )
+ + positif( MIBNPPRESC ) + positif( MIBNPPVC ) + positif( MIBNPVENC )
+ + positif( MIBPRESC ) + positif( MIBPVC ) + positif( MIBVENC )
+ + positif( PALIC ) + positif( PENSALC ) + positif( PENSALNBC )
+ + positif( PEBFC ) + positif( PPEACC )
+ + positif( PPENHC ) + positif( PPENJC ) + positif( PPETPC )
+ + positif( PRBRC ) + positif( TSHALLOC ) + positif(BAFORESTC)
+ + positif( LOCPROCGAC ) + positif( LOCPROC ) + positif( LOCNPCGAC )
+ + positif( LOCNPC ) + positif( LOCDEFNPCGAC ) + positif( LOCDEFNPC )
+ );
+INDP = positif_ou_nul (
+  positif( ALLO1 ) + positif( ALLO2 ) + positif( ALLO3 ) + positif( ALLO4 ) 
+ + positif( CARTSP1 ) + positif( CARTSP2 ) + positif( CARTSP3 ) + positif( CARTSP4 )
+ + positif( CARTSNBAP1 ) + positif( CARTSNBAP2 ) + positif( CARTSNBAP3 ) + positif( CARTSNBAP4 )
+ + positif( REMPLAP1 ) + positif( REMPLAP2 ) + positif( REMPLAP3 ) + positif( REMPLAP4 )
+ + positif( REMPLANBP1 ) + positif( REMPLANBP2 ) + positif( REMPLANBP3 ) + positif( REMPLANBP4 )
+ + positif( BACDEP ) + positif( BACREP )
+ + positif( 4BACREP ) + positif( 4BAHREP )
+ + positif( BAFP ) + positif( ANOPEP ) + positif( DNOCEPP )
+ + positif( BAFPVP ) + positif( BAHDEP ) + positif( BAHREP )
+ + positif( BICDEP ) + positif( BICDNP )
+ + positif( BICHDEP ) 
+ + positif( BICHREP ) + positif( BICNOP )
+ + positif( BICREP )  
+ + positif( BIHDNP ) + positif( BIHNOP )
+ + positif( BNCDEP ) + positif( BNCNPP )
+ + positif( BNCNPPVP ) + positif( BNCPROP ) + positif( BNCPROPVP )
+ + positif( BNCREP ) + positif( BNHDEP ) + positif( BNHREP )
+ + positif( COTF1 ) + positif( COTF2 ) + positif( COTF3 ) + positif( COTF4 ) 
+ + positif( DETS1 ) + positif( DETS2 ) + positif( DETS3 ) + positif( DETS4 ) 
+ + positif( FRN1 ) + positif( FRN2 ) + positif( FRN3 ) + positif( FRN4 )
+ + positif( MIBNPPRESP ) + positif( MIBNPPVP ) + positif( MIBNPVENP )
+ + positif( MIBPRESP ) + positif( MIBPVP ) + positif( MIBVENP )
+ + positif( PALI1 ) + positif( PALI2 ) + positif( PALI3 ) + positif( PALI4 ) 
+ + positif( PENSALP1 ) + positif( PENSALP2 ) + positif( PENSALP3 ) + positif( PENSALP4 )
+ + positif( PENSALNBP1 ) + positif( PENSALNBP2 ) + positif( PENSALNBP3 ) + positif( PENSALNBP4 )
+ + positif( PEBF1 ) + positif( PEBF2 ) + positif( PEBF3 ) + positif( PEBF4 ) 
+ + positif( PPEACP )
+ + positif( PPENHP1 ) + positif( PPENHP2 ) + positif( PPENHP3 )
+ + positif( PPENHP4 ) + positif( PPENJP ) 
+ + positif( PPETPP1 ) + positif( PPETPP2 ) + positif( PPETPP3 ) + positif( PPETPP4 )
+ + positif( PRBR1 ) + positif( PRBR2 ) + positif( PRBR3 ) + positif( PRBR4 ) 
+ + positif( CARPEP1 ) + positif( CARPEP2 ) + positif( CARPEP3 ) + positif( CARPEP4 )
+ + positif( CARPENBAP1 ) + positif( CARPENBAP2 ) + positif( CARPENBAP3 ) + positif( CARPENBAP4 )
+ + positif( TSHALLO1 ) + positif( TSHALLO2 ) + positif( TSHALLO3 ) + positif( TSHALLO4 ) 
+ + positif( BAFORESTP )
+ + positif( LOCPROCGAP ) + positif( LOCPROP ) + positif( LOCNPCGAPAC )
+ + positif( LOCNPPAC ) + positif( LOCDEFNPCGAPAC ) + positif( LOCDEFNPPAC )
+ + positif( LOCDEFPROCGAP ) + positif( LOCDEFPROP )
+ );
+
+
+regle 907007  :
+application : iliad, pro, oceans,batch ;
+
+
+INDREV1A8IR = positif (
+  positif( 4BACREC )
+ + positif( 4BACREP ) + positif( 4BACREV ) + positif( 4BAHREC )
+ + positif( 4BAHREP ) + positif( 4BAHREV ) 
+ + positif( ABDETMOINS ) + positif( ABDETPLUS ) 
+ + positif( ALLO1 ) + positif( ALLO2 ) + positif( ALLO3 ) + positif( ALLO4 )
+ + positif( ALLOC ) + positif( ALLOV ) + positif( ANOCEP )
+ + positif( ANOPEP ) + positif( ANOVEP ) 
+ + positif( AUTOBICPC )
+ + positif( AUTOBICPP ) + positif( AUTOBICPV ) + positif( AUTOBICVC )
+ + positif( AUTOBICVP ) + positif( AUTOBICVV ) + positif( AUTOBNCC )
+ + positif( AUTOBNCP ) + positif( AUTOBNCV ) + positif( BA1AC )
+ + positif( BA1AP ) + positif( BA1AV ) + positif( BACDEC )
+ + positif( BACDEP ) + positif( BACDEV ) + positif( BACREC )
+ + positif( BACREP ) + positif( BACREV ) + positif( BAEXC )
+ + positif( BAEXP ) + positif( BAEXV ) + positif( BAF1AC )
+ + positif( BAF1AP ) + positif( BAF1AV ) + positif( BAFC )
+ + positif( BAFORESTC ) + positif( BAFORESTP ) + positif( BAFORESTV )
+ + positif( BAFP ) + positif( BAFPVC ) + positif( BAFPVP )
+ + positif( BAFPVV ) + positif( BAFV ) + positif( BAHDEC )
+ + positif( BAHDEP ) + positif( BAHDEV ) + positif( BAHEXC )
+ + positif( BAHEXP ) + positif( BAHEXV ) + positif( BAHREC )
+ + positif( BAHREP ) + positif( BAHREV ) + positif( BAILOC98 )
+ + positif( BAPERPC ) + positif( BAPERPP ) + positif( BAPERPV )
+ + positif( BI1AC ) + positif( BI1AP ) + positif( BI1AV )
+ + positif( BI2AC ) + positif( BI2AP ) + positif( BI2AV )
+ + positif( BICDEC ) + positif( BICDEP ) 
+ + positif( BICDEV )
+ + positif( BICDNC ) + positif( BICDNP ) + positif( BICDNV )
+ + positif( BICEXC ) + positif( BICEXP ) + positif( BICEXV )
+ + positif( BICHDEC ) + positif( BICHDEP ) 
+ + positif( BICHDEV ) + positif( BICHREC ) + positif( BICHREP ) 
+ + positif( BICHREV )
+ + positif( BICNOC ) + positif( BICNOP ) + positif( BICNOV )
+ + positif( BICNPEXC ) + positif( BICNPEXP ) + positif( BICNPEXV )
+ + positif( BICNPHEXC ) + positif( BICNPHEXP ) + positif( BICNPHEXV )
+ + positif( BICREC ) + positif( BICREP ) 
+ + positif( BICREV )
+ + positif( BIHDNC ) + positif( BIHDNP ) + positif( BIHDNV )
+ + positif( BIHEXC ) + positif( BIHEXP ) + positif( BIHEXV )
+ + positif( BIHNOC ) + positif( BIHNOP ) + positif( BIHNOV )
+ + positif( BIPERPC ) + positif( BIPERPP ) + positif( BIPERPV )
+ + positif( BN1AC ) + positif( BN1AP ) + positif( BN1AV )
+ + positif( BNCAABC ) + positif( BNCAABP ) + positif( BNCAABV )
+ + positif( BNCAADC ) + positif( BNCAADP ) + positif( BNCAADV )
+ + positif( BNCCRC ) + positif( BNCCRFC ) + positif( BNCCRFP )
+ + positif( BNCCRFV ) + positif( BNCCRP ) + positif( BNCCRV )
+ + positif( BNCDEC ) + positif( BNCDEP ) + positif( BNCDEV )
+ + positif( BNCEXC ) + positif( BNCEXP ) + positif( BNCEXV )
+ + positif( BNCNP1AC ) + positif( BNCNP1AP ) + positif( BNCNP1AV )
+ + positif( BNCNPC ) + positif( BNCNPDCT ) + positif( BNCNPDEC )
+ + positif( BNCNPDEP ) + positif( BNCNPDEV ) + positif( BNCNPP )
+ + positif( BNCNPPVC ) + positif( BNCNPPVP ) + positif( BNCNPPVV )
+ + positif( BNCNPREXAAC ) + positif( BNCNPREXAAP ) + positif( BNCNPREXAAV )
+ + positif( BNCNPREXC ) + positif( BNCNPREXP ) + positif( BNCNPREXV )
+ + positif( BNCNPV ) + positif( BNCPRO1AC ) + positif( BNCPRO1AP )
+ + positif( BNCPRO1AV ) + positif( BNCPROC ) + positif( BNCPRODCT )
+ + positif( BNCPRODEC ) + positif( BNCPRODEP ) + positif( BNCPRODEV )
+ + positif( BNCPROEXC ) + positif( BNCPROEXP ) + positif( BNCPROEXV )
+ + positif( BNCPROP ) + positif( BNCPROPVC ) + positif( BNCPROPVP )
+ + positif( BNCPROPVV ) + positif( BNCPROV ) + positif( BNCREC )
+ + positif( BNCREP ) + positif( BNCREV ) + positif( BNHDEC )
+ + positif( BNHDEP ) + positif( BNHDEV ) + positif( BNHEXC )
+ + positif( BNHEXP ) + positif( BNHEXV ) + positif( BNHREC )
+ + positif( BNHREP ) + positif( BNHREV ) + positif( BPCOPT )
+ + positif( BPCOSAC ) + positif( BPCOSAV ) + positif( BPTIMM8 )
+ + positif( BPTIMMED ) + positif( BPV18 ) + positif( BPV40 )
+ + positif( BPVCESDOM ) + positif( BPVKRI ) + positif( BPVOPTCS )
+ + positif( BPVRCM ) + positif( CARPEC ) + positif( CARPENBAC )
+ + positif( CARPENBAV ) +
\ No newline at end of file
diff --git a/sources2010m_7_1/tgvB.m b/sources2010m_7_1/tgvB.m
new file mode 100644
index 0000000000000000000000000000000000000000..4a98caeb66768ac053d7bae707d4f6b0a8e27356
--- /dev/null
+++ b/sources2010m_7_1/tgvB.m
@@ -0,0 +1,435 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 10 Application bareme
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1156.00000  ;
+ABSPRNG : calculee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+AGC : calculee : "Age du conjoint" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+AME : calculee : "Amendes fiscales (total)" ;
+AMED : calculee : "amendes dues" ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+APERPC : calculee : "bse retenu PERP" ;
+APERPP : calculee : "bse retenu PERP" ;
+APERPV : calculee : "bse retenu PERP" ;
+APPLI_BATCH : calculee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : calculee : "booleen  ; vaut 1 si appli OCEANS 0 sinon" ;
+APPLI_PRO : calculee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+AUBAINE10 : calculee : "avantage en impot (A1) lie a avantages fiscaux 2010" ;
+AUBAINE9 : calculee : "avantage en impot (A2) lie a av. fiscaux 2009 pris en compte en 2010" ;
+AVFISCO : calculee restituee base : "economie d impot susceptible d etre plafonnee." ;
+AVFISCOP : calculee restituee base : "economie d impot plafonnee." ;
+AVFISCOPTER : calculee base : "Plafonnement des avantages fiscaux. variable visible dans cresource" ;
+AVPLAF10 : calculee : "Plafonnement 2010 avantages fiscaux (2010/2010)" ;
+AVPLAF9 : calculee : "Plafonnement 2009 avantages fiscaux (2009/2010)" ;
+BA1 : calculee : "Plus-values BA imposables pour le foyer" ;
+BANOR : calculee : "Benefices agricoles taxes suivant l'imposition normale" ;
+BASERESTAUR : calculee : "Base credit restauration" ;
+BASPPEMENS : calculee : "Base PPE mensuel" ;
+BCIDONENTR : calculee : "base limitee du Credit d'impot dons oeuvres entreprises" ;
+BCIGA : calculee : "base limitee du Credit d'impot groupement de prevention agree" ;
+BCIRESERV : calculee : "base limitee du Credit d'impot salaries reservistes" ;
+BIGREST : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YJ : "Restitution >= 10 000 e non validee par le RDC et taxee a la 4eme IR" type REEL ;
+BMI : calculee : "Base taux minimum metropole" ;
+BNCEXP : saisie revenu classe = 0 priorite = 10 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5SB : "BNC prof. sous AA - Revenus exoneres - PAC" ;
+BOOLENF : calculee : "Zone Situation de Famille - Presence d'enfants a charges" ;
+BOOL_0AM : calculee : "Zone Situation de Famille - Veufs sans EAC" ;
+BOOL_0AM1 : calculee : "Zone Situation de Famille - Veufs sans EAC" ;
+BOOL_0AZ : calculee : "booleen : vaut 1 si vauf dans  l annee" ;
+BOOL_0BT : calculee : "booleen : case OBT retenue" ;
+BOOL_CDV : calculee : "Booleen - vaut 1 si  celibataire, divorce, separe ou veuf." ;
+BOOL_LN : calculee : "Booleen - vaut 1 si  case L cochee et case N non cochee" ;
+BOOL_PACSFL : calculee : "Booleen - vaut 0 si  PAC ou 0CH" ;
+BOOL_V : calculee : "Zone Situation de Famille - Veufs sans EAC" ;
+BOOL_W : calculee : "Booleen - vaut 1 si  W et personne d au moins 75 ans" ;
+CARPENBAC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NBS : "Pensions taxees au quotient : nombre d'annees - Conjoint" ;
+CARPENBAP1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NCS : "Pensions taxees au quotient : nombre d'annees - PAC 1" ;
+CARPENBAP2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NDS : "Pensions taxees au quotient : nombre d'annees - PAC 2" ;
+CARPENBAP3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NES : "Pensions taxees au quotient : nombre d'annees - PAC 3" ;
+CARPENBAP4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NFS : "Pensions taxees au quotient : nombre d'annees - PAC 4" ;
+CARPENBAV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NAS : "Pensions taxees au quotient : nombre d'annees - Vous" ;
+CARTSNBAC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NBJ : "Salaires taxes au quotient : nombre d'annees - Conjoint" ;
+CARTSNBAP1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NCJ : "Salaires taxes au quotient : nombre d'annees - PAC 1" ;
+CARTSNBAP2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NDJ : "Salaires taxes au quotient : nombre d'annees - PAC 2" ;
+CARTSNBAP3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NEJ : "Salaires taxes au quotient : nombre d'annees - PAC 3" ;
+CARTSNBAP4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NFJ : "Salaires taxes au quotient : nombre d'annees - PAC 4" ;
+CARTSNBAV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NAJ : "Salaires taxes au quotient : nombre d'annees - Vous" ;
+CDIS : calculee : "Contribution sociale salariale" ;
+CDISBASE_A : calculee base : "correctif : cdis calculee effectivement anterieure" ;
+CDISD : calculee : "Cont. soc. salariale due 30%" ;
+CDIS_A : calculee base : "correctif : Cdis anterieure" ;
+CHRDED : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 9 nat_code = 1 alias 6DD : "Deductions diverses" ;
+CICA_A : calculee base : "correctif : credit impot TADB  anterieur" ;
+CICORSE : calculee : "Credit d'impot investissement Corse" ;
+CICULTUR : calculee : "Credit d'impot investissement biens cultures retenu" ;
+CIDONENTR : calculee : "Credit d'impot dons oeuvre entreprise" ;
+CIGPA : calculee : "Credit d'impot groupement de prevention agree" ;
+CIGPL : calculee : "Credit d'impot vehicule GPL" ;
+CIRCMAVFT : calculee : "Credit d'impot ligne 2AB" ;
+CIRECH : calculee : "Credit d'impot recherche" ;
+CIRESERV : calculee : "credit impot salaries reservistes" ;
+CMAJ : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 0 avfisc = 1 rapcat = 11 nat_code = 0 alias 9YT : "Code majoration           " ;
+CMAJ2 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 0 avfisc = 1 rapcat = 11 nat_code = 0 alias V_CMAJ2 : "Code majoration           " ;
+CO2047 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YH : "Case a cocher si le contribuable a souscrit une declaration 2047 " ;
+CO2102 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YG : "Code permettant l'edition de la lettre 754K  " ;
+CODCHA : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YF : "Code chargement (nb de codes saisis)" ;
+CODSIR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YK : "Restitution des recoupements dans le FLR       " ;
+COPETO : calculee : "Taux de penalite du a la saisie des codes 9YT et 9YW" ;
+COTF1 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias FCT : "Nb d'annees cotisations footballeurs - PAC 1" ;
+COTF2 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias FDT : "Nb d'annees cotisations footballeurs - PAC 2" ;
+COTF3 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias FET : "Nb d'annees cotisations footballeurs PAC 3" ;
+COTF4 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias FFT : "Nb d'annees cotisations footballeurs - PAC 4" ;
+COTFC : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias FBT : "Nb d'annees cotisations footballeurs - Conjoint" ;
+COTFV : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias FAT : "Nb d'annees cotisations footballeurs - Vous" ;
+CRCFA : calculee : "Credit d'impot revenus etrangers" ;
+CRDIE : calculee : "Credit d'impot convention franco-allemande" ;
+CRICH : calculee : "Credit recherche 8NJ plafonne" ;
+CRICH1 : calculee : "Credit recherche 8NK plafonne" ;
+CRIGA : saisie revenu classe = 0 priorite = 51 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 nat_code = 1 alias 8TE : "Credit d'impot centre de prevention agree" ;
+CSAL : calculee : "Cont. Salariale" ;
+CSALBASE_A : calculee base : "correctif : csal calculee effectivement anterieure" ;
+CSALD : calculee : "Cont. salariale due" ;
+CSAL_A : calculee base : "correctif : CSal anterieure" ;
+CSGD : calculee : "CSG due" ;
+CSG_A : calculee base : "correctif : CSG anterieure" ;
+DAR : calculee : "Deficits anterieurs reportables" ;
+DAR_REP : calculee : "Deficits anterieurs reportables pour calcul report" ;
+DATDEPETR : saisie revenu classe = 0 priorite = 60 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 nat_code = 0 alias 9YD : "Date depart a l'etranger " ;
+DATRETETR : saisie revenu classe = 0 priorite = 60 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 nat_code = 0 alias 9YR : "Date retour en France     " ;
+DCP : calculee : "Deduction pour souscription societe de PECHE (SOFIPECHE)" ;
+DCSG : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 9 nat_code = 1 alias 6DE : "CSG deductible" ;
+DCSGIM_A : calculee base : "csg deductible provisoire anterieure" ;
+DDCSG : calculee : "Libelle CSG deductible" ;
+DEC11 : calculee : "Decote totale" ;
+DEC12 : calculee : "Decote totale" ;
+DEC31 : calculee : "Impot KIR (suprression des reductions)" ;
+DEC32 : calculee : "Impot KIR (suprression des reductions)" ;
+DEC6 : calculee : "Decote pour la taxation du 8VV (art. 168)" ;
+DEDIV : calculee : "Deductions diverses" ;
+DFA : calculee : "Deduction pour frais d'accueil" ;
+DFCE : calculee : "Deficit foncier apres imputation deficits 3CE" ;
+DFCG : calculee : "Deficit foncier apres imputation deficits 3CG" ;
+DISQUONB : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 1 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 5 nat_code = 1 alias NTS : "Distributions taxees au quotient - Nb d'annees" ;
+DMOND : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 11 nat_code = 1 alias 8ZY : "Deficit net mondial (taux moyen pour les non-residents)" ;
+DOMABDB : calculee : "DOM : abattement non utilise calcule sur les droits au bareme" ;
+DOMAVTO : calculee : "DOM : avantage taux minore" ;
+DOMDOM : calculee : "DOM : calcul avantage maximum sur l impot proportionnel" ;
+DPA : calculee : "Deduction pour pensions alimentaires" ;
+DPAE : calculee : "Deduction pour pension alimentaire etudiant" ;
+DRCF : calculee : "Deficit foncier imputable sur le RBG" ;
+DRF : calculee : "Deficit foncier imputable sur le RBG" ;
+DS011 : calculee : "Droits simples issus du bareme" ;
+DS012 : calculee : "Droits simples issus du bareme" ;
+DS013 : calculee : "Droits simples issus du bareme" ;
+DS014 : calculee : "Droits simples issus du bareme" ;
+DS015 : calculee : "Droits simples issus du bareme" ;
+DS016 : calculee : "Droits simples issus du bareme 8VV art. 168" ;
+DS021 : calculee : "Droits simples issus du bareme" ;
+DS022 : calculee : "Droits simples issus du bareme" ;
+DS023 : calculee : "Droits simples issus du bareme" ;
+DS024 : calculee : "Droits simples issus du bareme" ;
+DS026 : calculee : "Droits simples issus du bareme 8VV art. 168" ;
+DS511 : calculee : "Droits simples issus du bareme" ;
+DS512 : calculee : "Droits simples issus du bareme" ;
+DS515 : calculee : "Droits simples issus du bareme" ;
+DS521 : calculee : "Droits simples issus du bareme" ;
+DS522 : calculee : "Droits simples issus du bareme" ;
+EAC : calculee : "Nombre d'enfants a charge pour calcul du nombre de parts" ;
+ETALPERP : saisie revenu classe = 0 priorite = 10 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 8ZQ : "Code pour edition bulletin pour etalement (capital PERP)" ;
+EXO1 : calculee : "Indicateur d'exoneration pour revenus faibles" ;
+FCPI : saisie revenu classe = 0 priorite = 31 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 1 rapcat = 10 nat_code = 1 alias 7GQ : "Souscriptions de parts de FCPI" ;
+FLAG_ACO : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias V_FLAG_ACO : "flag pour calcul CIRELANCE passage acompte" ;
+FONCINB : saisie revenu classe = 1 priorite = 10 categorie_TL = 20 cotsoc = 1 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 7 nat_code = 1 alias NBA : "Revenus fonciers taxes au quotient - Nb d'annees" ;
+GL1 : calculee : "Revenus au quotient 1 hors revenus footballeurs nets imposables" ;
+GL10 : calculee : "Revenus au quotient 10 nets imposables" ;
+GL10M : calculee : "Revenus au quotient 10 hors rev foot nets imposablesTXMOY" ;
+GL11 : calculee : "Revenus au quotient 11 nets imposables" ;
+GL11M : calculee : "Revenus au quotient 11 hors rev foot nets imposablesTXMOY" ;
+GL12 : calculee : "Revenus au quotient 12 nets imposables" ;
+GL12M : calculee : "Revenus au quotient 12 hors rev foot nets imposablesTXMOY" ;
+GL13 : calculee : "Revenus au quotient 13 nets imposables" ;
+GL13M : calculee : "Revenus au quotient 13 hors rev foot nets imposables TXMOY" ;
+GL1M : calculee : "Revenus au quotient 1 hors rev foot nets imposablesTXMOY" ;
+GL2 : calculee : "Revenus au quotient 2 hors revenus footballeurs nets imposables" ;
+GL2M : calculee : "Revenus au quotient 2 hors rev foot nets imposablesTXMOY" ;
+GL2QUOKIRE : calculee : "Rev. quotient 2 hors rev. footballeurs nets imposables, calcul REVKIRE" ;
+GL3 : calculee : "Revenus au quotient 3 hors revenus footballeurs nets imposables" ;
+GL3M : calculee : "Revenus au quotient 3 hors rev foot nets imposablesTXMOY" ;
+GL3QUOKIRE : calculee : "Rev. quotient 3 hors rev. footballeurs nets imposables, calcul REVKIRE" ;
+GL4 : calculee : "Revenus au quotient 4 hors revenus footballeurs nets imposables" ;
+GL4M : calculee : "Revenus au quotient 4 hors rev foot nets imposablesTXMOY" ;
+GL4QUOKIRE : calculee : "Rev. quotient 4 hors rev. footballeurs nets imposables, calcul REVKIRE" ;
+GL5 : calculee : "Revenus au quotient 5 nets imposables" ;
+GL5M : calculee : "Revenus au quotient 5 hors rev foot nets imposablesTXMOY" ;
+GL6 : calculee : "Revenus au quotient 6 nets imposables" ;
+GL6M : calculee : "Revenus au quotient 6 hors rev foot nets imposablesTXMOY" ;
+GL7 : calculee : "Revenus au quotient 7 nets imposables" ;
+GL7M : calculee : "Revenus au quotient 6 hors rev foot nets imposablesTXMOY" ;
+GL8 : calculee : "Revenus au quotient 8 nets imposables" ;
+GL8M : calculee : "Revenus au quotient 8 hors rev foot nets imposablesTXMOY" ;
+GL9 : calculee : "Revenus au quotient 9 nets imposables" ;
+GL9M : calculee : "Revenus au quotient 9 hors rev foot nets imposablesTXMOY" ;
+GLAFN : calculee : "total GLPEAFNi + GLTSAFNi" ;
+GLAFNM : calculee : "total GLPSAFNMi + GLPEAFNMi" ;
+GLF1 : calculee : "pensions footballeurs imposables - PAC" ;
+GLF1M : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLF2 : calculee : "pensions footballeurs imposables - PAC" ;
+GLF2M : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLF3 : calculee : "pensions footballeurs imposables - PAC" ;
+GLF3M : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLF4 : calculee : "pensions footballeurs imposables - PAC" ;
+GLF4M : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFC : calculee : "pensions footballeurs imposables - Conjoint" ;
+GLFCM : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFM1 : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFM2 : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFM3 : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFM4 : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFMC : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFMV : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFTOT : calculee : "gain levee  quotient total foyer " ;
+GLFTOTM : calculee : "gain levee  quotient total foyer " ;
+GLFV : calculee : "pensions footballeurs imposables - Vous" ;
+GLFVM : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLN1 : calculee : "Gain de levee d'option net" ;
+GLN2 : calculee : "Gain de levee d'option net" ;
+GLN3 : calculee : "Gain de levee d'option net" ;
+GLPALIM1 : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM1M : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM2 : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM2M : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM3 : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM3M : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM4 : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM4M : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIMC : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIMCM : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIMTOT : calculee : "gain levee  quotient total foyer pension alimentaire" ;
+GLPALIMTOTM : calculee : "gain levee  quotient total foyer pension alimentaire" ;
+GLPALIMV : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIMVM : calculee : "Revenus au quotient pension alimentaire" ;
+GLPEAFN1 : calculee : "pensions AFN imposables - pac" ;
+GLPEAFN1M : calculee : "revenus  nets imposables TXMOY" ;
+GLPEAFN2 : calculee : "pensions AFN imposables - pac" ;
+GLPEAFN2M : calculee : "revenus  nets imposables TXMOY" ;
+GLPEAFN3 : calculee : "pensions AFN imposables - pac" ;
+GLPEAFN3M : calculee : "revenus  nets imposables TXMOY" ;
+GLPEAFN4 : calculee : "pensions AFN imposables - pac" ;
+GLPEAFN4M : calculee : "revenus  nets imposables TXMOY" ;
+GLPEAFNC : calculee : "pensions AFN imposables - Conjoint" ;
+GLPEAFNCM : calculee : "revenus AFN nets imposables TXMOY" ;
+GLPEAFNMC : calculee : "revenus  nets imposables TXMOY" ;
+GLPEAFNMV : calculee : "revenus  nets imposables TXMOY" ;
+GLPEAFNTOT : calculee : "gain levee  quotient total foyer " ;
+GLPEAFNTOTM : calculee : "gain levee  quotient total foyer " ;
+GLPEAFNV : calculee : "pensions AFN imposables Vous" ;
+GLPEAFNVM : calculee : "revenus AFN nets imposables TXMOY" ;
+GLPRR1 : calculee : "Revenus au quotient pension normale" ;
+GLPRR1M : calculee : "Revenus au quotient pension normale" ;
+GLPRR2 : calculee : "Revenus au quotient pension normale" ;
+GLPRR2M : calculee : "Revenus au quotient pension normale" ;
+GLPRR3 : calculee : "Revenus au quotient pension normale" ;
+GLPRR3M : calculee : "Revenus au quotient pension normale" ;
+GLPRR4 : calculee : "Revenus au quotient pension normale" ;
+GLPRR4M : calculee : "Revenus au quotient pension normale" ;
+GLPRRC : calculee : "Revenus au quotient pension normale" ;
+GLPRRCM : calculee : "Revenus au quotient pension normale" ;
+GLPRRTOT : calculee : "gain levee  quotient total foyer pension normale" ;
+GLPRRTOTM : calculee : "gain levee  quotient total foyer pension normale" ;
+GLPRRV : calculee : "Revenus au quotient pension normale" ;
+GLPRRVM : calculee : "Revenus au quotient pension normale" ;
+GLQ : calculee : "somme des GLx" ;
+GLQM : calculee : "Somme GLxM" ;
+GLRCM : calculee : "Revenus au quotient " ;
+GLRCMCH : calculee : "Revenus au quotient " ;
+GLRCMCHM : calculee : "Revenus au quotient " ;
+GLRCMDC : calculee : "Revenus au quotient " ;
+GLRCMDCM : calculee : "Revenus au quotient " ;
+GLRCMFU : calculee : "Revenus au quotient " ;
+GLRCMFUM : calculee : "Revenus au quotient " ;
+GLRCMGO : calculee : "Revenus au quotient " ;
+GLRCMGOM : calculee : "Revenus au quotient " ;
+GLRCMM : calculee : "Revenus au quotient " ;
+GLRCMTOT : calculee : "gain levee  quotient total foyer " ;
+GLRCMTOTM : calculee : "gain levee  quotient total foyer " ;
+GLRCMTR : calculee : "Revenus au quotient " ;
+GLRCMTRM : calculee : "Revenus au quotient " ;
+GLRCMTS : calculee : "Revenus au quotient " ;
+GLRCMTSM : calculee : "Revenus au quotient " ;
+GLRF : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRF1 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRF1M : calculee : "Revenus au quotient hors rev foot nets imposablesTXMOY" ;
+GLRF2 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRF2M : calculee : "Revenus au quotient hors rev foot nets imposablesTXMOY" ;
+GLRF3 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRF3M : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRFM : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRFMM : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRFTOT : calculee : "gain levee  quotient total foyer " ;
+GLRFTOTM : calculee : "gain levee  quotient total foyer " ;
+GLRVO : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO1 : calculee : "Revenus au quotient " ;
+GLRVO1M : calculee : "Revenus au quotient " ;
+GLRVO2 : calculee : "Revenus au quotient " ;
+GLRVO2M : calculee : "Revenus au quotient " ;
+GLRVO3 : calculee : "Revenus au quotient " ;
+GLRVO3M : calculee : "Revenus au quotient " ;
+GLRVO4 : calculee : "Revenus au quotient " ;
+GLRVO4M : calculee : "Revenus au quotient " ;
+GLRVO5 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO5M : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO6 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO6M : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO7 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO7M : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVOM : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVOTOT : calculee : "gain levee  quotient total foyer " ;
+GLRVOTOTM : calculee : "gain levee  quotient total foyer " ;
+GLTS1 : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS1M : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS2 : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS2M : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS3 : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS3M : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS4 : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS4M : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSAFNC : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSAFNMC : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSAFNMV : calculee : "Traitements AFN imposables TXMOY" ;
+GLTSAFNV : calculee : "Traitements AFN imposables Vous" ;
+GLTSC : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSCM : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSREMP1 : calculee : "Traitements  imposables quotient" ;
+GLTSREMP1M : calculee : "Traitements  imposables quotient" ;
+GLTSREMP2 : calculee : "Traitements  imposables quotient" ;
+GLTSREMP2M : calculee : "Traitements  imposables quotient" ;
+GLTSREMP3 : calculee : "Traitements  imposables quotient" ;
+GLTSREMP3M : calculee : "Traitements  imposables quotient" ;
+GLTSREMP4 : calculee : "Traitements  imposables quotient" ;
+GLTSREMP4M : calculee : "Traitements  imposables quotient" ;
+GLTSREMPC : calculee : "Traitements  imposables quotient" ;
+GLTSREMPCM : calculee : "Traitements  imposables quotient" ;
+GLTSREMPTOT : calculee : "gain levee  quotient total foyer " ;
+GLTSREMPTOTM : calculee : "gain levee  quotient total foyer " ;
+GLTSREMPV : calculee : "Traitements  imposables quotient" ;
+GLTSREMPVM : calculee : "Traitements  imposables quotient" ;
+GLTSTOT : calculee : "gain levee  quotient total foyer " ;
+GLTSTOTM : calculee : "gain levee  quotient total foyer " ;
+GLTSV : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSVM : calculee : "Traitements AFN imposables Conjoint" ;
+IAD11 : calculee : "impot apres decote et apres reduction  d impot" ;
+IAD31 : calculee : "Impot KIR (suprression des reductions)" ;
+IAD32 : calculee : "Impot KIR (suprression des reductions)" ;
+IAMD1 : calculee : "Impot apres retrait de l'avantage en impot sur dons" ;
+IAMD2 : calculee : "Impot apres retrait de l'avantage en impot sur dons" ;
+IAMD2TH : calculee : "IMPOT brut TH pour redevance TELE" ;
+IAMD3 : calculee : "Impot KIR immediat (suprression des reductions)" ;
+IAN : calculee : "Impot apr}s imputations non restituables" ;
+IAR : calculee : "Impot apres imputation restituables" type REEL ;
+IAVIMBIS : calculee : "Impot avant imputation" ;
+IAVIMO : calculee : "Impot avant imputation (sert au test de 2000 lorsqu'impot au tx moyen)" ;
+IBM13 : calculee : "impot avant avantage complementaire enfant etudiant" ;
+IBM23 : calculee : "impot immediat avant avantage complementaire enfant etudiant" ;
+IBM33 : calculee : "impot TH avant avantage complementaire enfant etudiant" ;
+ICREREVET : calculee : "imputation limitee a l impot propor. pour le credit revenus etrangers" ;
+ID11 : calculee : "Droits simples avant abattement DOM" ;
+ID12 : calculee : "Droits simples avant abattement DOM" ;
+ID14 : calculee : "Droits simples avant abattement DOM" ;
+ID16 : calculee : "Droits simples avant abattement DOM 8VV art. 168" ;
+IDANT11 : calculee : "ancien plafqf:Droits simples avant abattement DOM" ;
+IDOM11 : calculee : "Droits simples definitifs" ;
+IDOM12 : calculee : "Droits simples definitifs" ;
+IDOM14 : calculee : "Droits simples definitifs" ;
+IDOM16 : calculee : "Droits simples definitifs 8VV art. 168" ;
+IDOM31 : calculee : "Impot KIR (suprression des reductions)" ;
+IDOM32 : calculee : "Impot KIR (suprression des reductions)" ;
+IINET : calculee restituee : "Total de votre imposition" ;
+IMI : calculee : "Impot au taux minimum" ;
+IMO : calculee : "Impot au taux moyen" ;
+IMPFHQ1 : calculee : "Droits simples hors quotient avant abattement DOM" ;
+IMPFHQANT1 : calculee : "ancien plafqf:Droits simples hors quotient avant abattement DOM" ;
+IMPIM3 : calculee : "Impot immediat" ;
+IMT11 : calculee : "Droits simples immediats + differes" ;
+IMT12 : calculee : "Droits simples immediats + differes (sans ded Ab DOM)" ;
+IMTANT11 : calculee : "ancien plafqf:Droits simples immediats + differes" ;
+IMTANT12 : calculee : "ancien plafqf:Droits simples immediats + differes sans abt DOM" ;
+IN01 : calculee : "Droits simples apres plafonnement QF" ;
+IN02 : calculee : "Droits simples apres plafonnement QF" ;
+IN03 : calculee : "Droits simples apres plafonnement QF" ;
+IN04 : calculee : "Droits simples apres plafonnement QF" ;
+IN05 : calculee : "Droits simples apres plafonnement QF" ;
+IN06 : calculee : "Droits simples apres plafonnement QF 8VV art. 168" ;
+IN07 : calculee : "Droits simples apres plafonnement QF" ;
+IN51 : calculee : "Droits simples apres plafonnement QF pour calcul reduc compl." ;
+IN52 : calculee : "Droits simples apres plafonnement QF" ;
+IN55 : calculee : "Droits simples apres plafonnement QF" ;
+IN57 : calculee : "Droits simples apres plafonnement QF" ;
+INANT01 : calculee : "Droits simples apres plafonnement QF pour calcul reduc complementaire" ;
+INANT02 : calculee : "ancien plafqf:Droits simples apres plafonnement QF" ;
+INANT03 : calculee : "ancein plafqf:Droits simples apres plafonnement QF" ;
+INANT51 : calculee : "ancien plafqf:Droits simples apres plafonnement QF" ;
+INANT52 : calculee : "ancien plafqf:Droits simples apres plafonnement QF" ;
+INDJNONIMPC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias ZZB : "Indemnites journalieres non imposables - Conjoint" type REEL ;
+INDJNONIMPV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias ZZA : "Indemnites journalieres non imposables - Vous" type REEL ;
+INDNAP : calculee restituee : "indicateur signe NAP" ;
+INDPPEMENS : calculee : "Indicateur eligibilite PPE mensuel" ;
+INDTEFF : calculee : "Indicateur d'existence de revenu pour tx eff automatique" ;
+INDTXMIN : calculee : "Indicateur de taux minimum" ;
+INDTXMOY : calculee : "Indicateur de taux moyen" ;
+IND_TDR : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 11 nat_code = 0 alias 8ZK : "Revenus nets frontaliers et fonctionnaires internationaux" ;
+IND_TL_MF : saisie penalite alias V_IND_TL_MF : "nouv cor: booleen: vaut 1 si mauvaise foi" ;
+INE : calculee : "Imputations non restituables" ;
+INTAN : calculee : "Annee date notification" ;
+INTERENB : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 1 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 5 nat_code = 1 alias NTR : "Interets taxes au quotient - Nb d'annees" ;
+INTMS : calculee : "Mois dat
\ No newline at end of file
diff --git a/sources2010m_7_1/tgvH.m b/sources2010m_7_1/tgvH.m
new file mode 100644
index 0000000000000000000000000000000000000000..e60fd982f0ebed4e61dd5c679b232068baeb7aab
--- /dev/null
+++ b/sources2010m_7_1/tgvH.m
@@ -0,0 +1,415 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2DEFBACREC : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREP : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREV : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PALIEX : calculee restituee : "quotient 2 pension alimentaire exceptionnelle" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q3" ;
+3ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q3" ;
+3ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q3" ;
+3DEFBACREC : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREP : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREV : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q3" ;
+3FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q3" ;
+3PALIEX : calculee restituee : "quotient 3 pension alimentaire exceptionnelle" ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q3" ;
+3RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique BGO" ;
+3RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+3RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+3RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q3" ;
+3RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCMRABD : calculee : "montant de la refaction sur BDC" ;
+3RCMRNABD : calculee : "revenus nets de la refaction sur BDC" ;
+3RCMRNTNC : calculee : "revenus nets de la refaction sur BFU" ;
+3RCMRTNC : calculee : "montant de la refaction sur BFU" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REGPRIVM : calculee : "montant majore de 3GO" ;
+3REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+3RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RV1 : calculee : "Montant imposable des RV quotient 3 - de 50 ans" ;
+3RV2 : calculee : "Montant imposable des RV quotient 3 - 50 a 59 ans" ;
+3RV3 : calculee : "Montant imposable des RV quotient 3 - 60 a 69 ans" ;
+3RV4 : calculee : "Montant imposable des RV quotient 3 + de 69 ans" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+4ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q4" ;
+4ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q4" ;
+4ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q4" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Conjoint" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Vous" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Conjoint" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Vous" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q4" ;
+4FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q4" ;
+4PALIEX : calculee restituee : "quotient 4 pension alimentaire exceptionnelle" ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q4" ;
+4RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique CGO" ;
+4RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+4RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+4RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q4" ;
+4RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCMRABD : calculee : "montant de la refaction sur CDC" ;
+4RCMRNABD : calculee : "revenus nets de la refaction sur CDC" ;
+4RCMRNTNC : calculee : "revenus nets de la refaction sur CFU" ;
+4RCMRTNC : calculee : "montant de la refaction sur CFU" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4REGPRIVM : calculee : "montant majore de 4GO" ;
+4RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RV1 : calculee : "Montant imposable des RV quotient 4 - de 50 ans" ;
+4RV2 : calculee : "Montant imposable des RV quotient 4 - 50 a 59 ans" ;
+4RV3 : calculee : "Montant imposable des RV quotient 4 - 60 a 69 ans" ;
+4RV4 : calculee : "Montant imposable des RV quotient 4 + de 69 ans" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10QIQJQFQG : calculee : "Plaf av fiscaux : Investissements outre mer entreprise dans AUBAINE10" ;
+A10RENT : calculee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RNOUV : calculee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RSOCQK : calculee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1156.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 alias 3VB : "Abattement pour duree de detention - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 alias 3VA : "Abattement pour duree de detention - Plus-value" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICNPDECC : calculee : "auto entrepreneurs BIC non pro declare conjoint" ;
+ABICNPDECP : calculee : "auto entrepreneurs BIC non pro declare pac" ;
+ABICNPDECV : calculee : "auto entrepreneurs BIC non pro declare vous" ;
+ABICPDECC : calculee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCNPDEC : calculee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECC : calculee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECP : calculee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECV : calculee : "auto entrepreneurs BnC non pro declare" ;
+ABNCPDEC : calculee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee : "rev non pro bnc vous" ;
+ABNCPNET : calculee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee restituee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee restituee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELDOP : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELMET : calculee restituee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNP : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELREP09 : calculee restituee : "Investissement Scellier  report 2009 - Retenu" ;
+ACELREPDOP9 : calculee restituee : "Investissement Scellier DOM ds plafond report 2009 - Retenu 7HS" ;
+ACELREPNP9 : calculee restituee : "Scellier metropole - DOM hors plafond report 2009 - Retenu 7HS" ;
+ACELRRED09 : calculee restituee : "Investissement Scellier report 2009 reduction - Avis Facture - Retenu " ;
+ACINE : calculee restituee : "Cinema audiovisuel" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACOLENT : calculee restituee : "Investissements outre mer entreprise - report 2009 - declare" ;
+ACOMP : calculee restituee : "Frais de comptabilite" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ACPTMENSPPE : saisie revenu classe = 0 priorite = 40 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 11 nat_code = 0 alias 8YE : "Acomptes mensuels PPE" ;
+ACREAT : calculee restituee : "nbre createur ou repreneur entreprise accorde" ;
+ACREATHANDI : calculee restituee : "nbre createur ou repreneur entreprise accorde handi" ;
+ADEVDUBAIL : calculee restituee : "Depenses developpement durable " ;
+ADEVDUR : calculee restituee : "Depenses developpement durable " ;
+ADIFAGRI : calculee restituee : "Interet differe paiement agriculteurs" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+ADOM : calculee restituee : "Investissement DOM-TOM" ;
+ADOMSOC1 : calculee restituee : "Investissements outre mer logement social - report 2009 - declare" ;
+ADONS : calculee restituee : "Dons aux oeuvres" ;
+AFIPC : calculee restituee : "Cotisations FIP Corse retenus" ;
+AFOREST : calculee restituee : "base reduction d impot investissment forestier retenue" ;
+AFORET : calculee restituee : "Cotisations versees pour defense des forets" ;
+AGARD : calculee restituee : "Base reduction frais de garde" ;
+AGC : calculee : "Age du conjoint" ;
+AGRBG : calculee restituee : "SIMULIR rbg correspondant aux deficits BA" ;
+AGRIMP : calculee restituee : "Conges agriculteur : montant impute" ;
+AGRREST : calculee restituee : "Conges agriculteur : montant restitution" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+AHEBE : calculee restituee : "Base retenue  depense d'hebergement" ;
+AIDIMP : calculee restituee : "Aide aux personnes : montant impute" ;
+AIDREST : calculee restituee : "Aide aux personnes : montant restitution" ;
+AINVDOMTOMLG : calculee restituee : "accorde de RDINVDOMTOMLOG" ;
+ALLO1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1CP : "Revenus de remplacement - PAC 1" ;
+ALLO2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1DP : "Revenus de remplacement - PAC 2" ;
+ALLO3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1EP : "Revenus de remplacement - PAC 3" ;
+ALLO4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1FP : "Revenus de remplacement - PAC 4" ;
+ALLOC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1BP : "Revenus de remplacement - Conjoint" ;
+ALLOP : calculee restituee : " somme Allocation personnes a charge 1 a 4" ;
+ALLOV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1AP : "Revenus de remplacement - Vous" ;
+ALOCENT : calculee restituee : "Investissements outre mer entreprise - declare" ;
+ALOGDOM : calculee restituee : "Investissements outre mer logement - declare" ;
+ALOGSOC : calculee restituee : "Investissements outre mer logement social - declare" ;
+ALOYIMP : calculee : "Credit assurances loyers impayes retenu" ;
+AME : calculee restituee : "Amendes fiscales (total)" ;
+AME2 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 0 avfisc = 1 rapcat = 11 nat_code = 0 alias 9YW : "Amendes fiscales            " ;
+AMED : calculee : "amendes dues" ;
+AMEUBLE : calculee restituee : "Investissements locations meublees non pro - report 2009 - retenu" ;
+AME_A : calculee base : "Amende" ;
+ANCNAP : calculee restituee : "ancien net a payer pour la double liq." ;
+ANCSDED2 : calculee : "annee d'imposition pour variation CSG" ;
+ANG3 : calculee : "avantage normal impot TH - KIR" ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+ANOCEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5SN : "BNC non prof. hors AA. - Benefices - Vous" ;
+ANOPEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5OS : "BNC non prof. hors AA - Benefices - PAC" ;
+ANOUV : calculee restituee : "Base reduction Capital de societes nouvelles" ;
+ANOVEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5NS : "BNC non prof. hors AA - Benefices - Conjoint" ;
+ANTIRAFF : calculee restituee : "Impot sur le revenu anterieur a afficher sur l avis" ;
+ANTPPEIMP2A : calculee base : "correctif : anterieur ppe imputee" ;
+ANTPPEIMPA_A : calculee base : "correctif : anterieur ppe impa" ;
+ANTPPEREST2A : calculee base : "correctif : anterieur ppe restituee" ;
+ANTPPETOT : calculee base : "correctif : anterieur ppe totale" ;
+APATNAT : calculee restituee : "Base retenue  depense protection du patrimoine naturel" ;
+APB1 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB2 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB3 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB4 : calculee : "Minimum d'abattement 10% (PR)" ;
+APBC : calculee : "Minimum d'abattement 10% (PR)" ;
+APBV : calculee : "Minimum d'abattement 10% (PR)" ;
+APECHE : calculee restituee : "Souscriptions au capital d'une SOFIPECHE - admis" ;
+APERPC : calculee restituee : "bse retenu PERP" ;
+APERPP : calculee restituee : "bse retenu PERP" ;
+APERPV : calculee restituee : "bse retenu PERP" ;
+APPIMP : calculee restituee : "Credit apprentissage : montant impute" ;
+APPLI_BATCH : calculee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : calculee : "booleen  ; vaut 1 si appli OCEANS 0 sinon" ;
+APPLI_PRO : calculee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+APPREST : calculee restituee : "Credit apprentissage : montant restitution" ;
+APR1 : calculee : "Abattement pensions retraites 10%" ;
+APR2 : calculee : "Abattement pensions retraites 10%" ;
+APR3 : calculee : "Abattement pensions retraites 10%" ;
+APR4 : calculee : "Abattement pensions retraites 10%" ;
+APRC : calculee : "Abattement pensions retraites 10%" ;
+APRESCOMP : calculee restituee : "base retenue prestations compensatoires" ;
+APRETUD : calculee restituee : "Interets pret etudiant retenu" ;
+APRV : calculee : "Abattement pensions retraites 10%" ;
+AREDMEUB : calculee restituee : "Invest. locations meublees non pro - report reduction - retenu" ;
+AREPA : calculee restituee : "Dons : fourniture de repas particulier" ;
+ARESINEUV : calculee restituee : "Investissements locations meublees dans residence neuve - retenu" ;
+ARESIVIEU : calculee restituee : "Investissements locations meublees dans residence neuve 2009 - retenu" ;
+ARESTIMO : calculee restituee : "Travaux de restauration immobiliere - retenu" ;
+ARIRENOV : calculee restituee : "Travaux de restauration des objets classes - retenu" ;
+ARTIMP : calculee restituee : "Metiers d art : montant impute" ;
+ARTREST : calculee restituee : "Metiers d art : montant restitution" ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+ASOCREPR : calculee restituee : "Base Reduction emprunt reprise societe" ;
+ASOUFIP : calculee restituee : "Investissement de proximite" ;
+ASSIMP : calculee restituee : "Prelevements liberatoires (assurance vie) : montant impute" ;
+ASSREST : calculee restituee : "Prelevements liberatoires (assurance vie) : montant restitution" ;
+ASURV : calculee restituee : "Rente-survie, contrat handicap" ;
+ASYND : calculee restituee : "Reduction cotisation syndicale" ;
+ATEC : calculee : "Depenses travaux prevention risques technologiques - Bailleur - retenu" ;
+ATITPRISE : calculee restituee : "Capital des tres petites societes - retenu" ;
+ATOUHOTR : calculee restituee : "Investissement locatif residence hoteliere - Retenu" ;
+ATOUREPA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURES : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURHOT : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme hotelier" ;
+ATOURNEUF : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURREP : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURTRA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme travaux" ;
+AUBAINE10 : calculee : "avantage en impot (A1) lie a avantages fiscaux 2010" ;
+AUBAINE9 : calculee : "avantage en impot (A2) lie a av. fiscaux 2009 pris en compte en 2010" ;
+AUTOBICNPNET : calculee : "auto entrepreneurs BIC non pro net pr colbert" ;
+AUTOBICPC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5UB : "Auto-entrepreneur - BIC prof. - Prestations de services - Conjoint" ;
+AUTOBICPNET : calculee : "auto entrepreneurs BIC pro net pr colbert" ;
+AUTOBICPP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5VB : "Auto-entrepreneur - BIC prof. - Prestations de services - PAC" ;
+AUTOBICPV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5TB : "Auto-entrepreneur-BIC prof. - Prestations de services - Vous" ;
+AUTOBICVC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5UA : "Auto-entrepreneur - BIC prof. - Activite de ventes - Conjoint" ;
+AUTOBICVP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5VA : "Auto-entrepreneur - BIC prof. - Activite de ventes - PAC" ;
+AUTOBICVV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5TA : "Auto-entrepreneur-BIC prof. - Activite de ventes - Vous" ;
+AUTOBNCC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5UE : "Auto-entrepreneur - BNC prof. - Recettes brutes - Conjoint" ;
+AUTOBNCNPNET : calculee : "auto entrepreneurs BNC non pro net pr colbert" ;
+AUTOBNCP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5VE : "Auto-entrepreneur - BNC prof. - Recettes brutes - PAC" ;
+AUTOBNCPNET : calculee : "auto entrepreneurs BNC pro net pr colbert" ;
+AUTOBNCV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5TE : "Auto-entrepreneur-BNC prof. - Recettes brutes - Vous" ;
+AUTOVERSLIB : saisie revenu classe = 0 priorite = 10 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 11 nat_code = 1 alias 8UY : "Auto-entrepreneur : versements liberatoires de l IR" ;
+AUTRENT : saisie revenu classe = 0 priorite = 31 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 nat_code = 1 alias 7LS : "Reduction autres invest. outre-mer entrep. : report 2009 " ;
+AVETRAN : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 8TT : "Case a cocher : Contrat d'assurance vie souscrit hors de France" type BOOLEEN ;
+AVFISCO : calculee restituee base : "economie d impot susceptible d etre plafonnee." ;
+AVFISCOP : calculee restituee base : "economie d impot plafonnee." ;
+AVFISCOPTER : calculee restituee base : "Plafonnement des avantages fiscaux. variable visible dans cresource" ;
+AVPLAF10 : calculee : "Plafonnement 2010 avantages fiscaux (2010/2010)" ;
+AVPLAF9 : calculee : "Plafonnement 2009 avantages fiscaux (2009/2010)" ;
+B1FIS : calculee restituee : "Base contribution fiscale 1%" ;
+BA1 : calculee : "Plus-values BA imposables pour le foyer" ;
+BA10
\ No newline at end of file
diff --git a/sources2010m_7_1/tgvI.m b/sources2010m_7_1/tgvI.m
new file mode 100644
index 0000000000000000000000000000000000000000..1995f3ef97165d40a0909b231dbe876432de2993
--- /dev/null
+++ b/sources2010m_7_1/tgvI.m
@@ -0,0 +1,410 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 10 Application iliad
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2DEFBACREC : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREP : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREV : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PALIEX : calculee : "quotient 2 pension alimentaire exceptionnelle" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q3" ;
+3ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q3" ;
+3ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q3" ;
+3DEFBACREC : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREP : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREV : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q3" ;
+3FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q3" ;
+3PALIEX : calculee : "quotient 3 pension alimentaire exceptionnelle" ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q3" ;
+3RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique BGO" ;
+3RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+3RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+3RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q3" ;
+3RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCMRABD : calculee : "montant de la refaction sur BDC" ;
+3RCMRNABD : calculee : "revenus nets de la refaction sur BDC" ;
+3RCMRNTNC : calculee : "revenus nets de la refaction sur BFU" ;
+3RCMRTNC : calculee : "montant de la refaction sur BFU" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REGPRIVM : calculee : "montant majore de 3GO" ;
+3REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+3RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RV1 : calculee : "Montant imposable des RV quotient 3 - de 50 ans" ;
+3RV2 : calculee : "Montant imposable des RV quotient 3 - 50 a 59 ans" ;
+3RV3 : calculee : "Montant imposable des RV quotient 3 - 60 a 69 ans" ;
+3RV4 : calculee : "Montant imposable des RV quotient 3 + de 69 ans" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+4ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q4" ;
+4ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q4" ;
+4ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q4" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Conjoint" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Vous" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Conjoint" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Vous" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q4" ;
+4FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q4" ;
+4PALIEX : calculee : "quotient 4 pension alimentaire exceptionnelle" ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q4" ;
+4RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique CGO" ;
+4RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+4RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+4RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q4" ;
+4RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCMRABD : calculee : "montant de la refaction sur CDC" ;
+4RCMRNABD : calculee : "revenus nets de la refaction sur CDC" ;
+4RCMRNTNC : calculee : "revenus nets de la refaction sur CFU" ;
+4RCMRTNC : calculee : "montant de la refaction sur CFU" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4REGPRIVM : calculee : "montant majore de 4GO" ;
+4RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RV1 : calculee : "Montant imposable des RV quotient 4 - de 50 ans" ;
+4RV2 : calculee : "Montant imposable des RV quotient 4 - 50 a 59 ans" ;
+4RV3 : calculee : "Montant imposable des RV quotient 4 - 60 a 69 ans" ;
+4RV4 : calculee : "Montant imposable des RV quotient 4 + de 69 ans" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10QIQJQFQG : calculee : "Plaf av fiscaux : Investissements outre mer entreprise dans AUBAINE10" ;
+A10RENT : calculee restituee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RNOUV : calculee restituee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RSOCQK : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+AB20_RAPPEL : saisie penalite alias V_A20_RAPPEL : "Champ indicateur perte abattement 20% dans une ligne rappel" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1156.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 restituee alias 3VB : "Abattement pour duree de detention - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 restituee alias 3VA : "Abattement pour duree de detention - Plus-value" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICNPDECC : calculee restituee : "auto entrepreneurs BIC non pro declare conjoint" ;
+ABICNPDECP : calculee restituee : "auto entrepreneurs BIC non pro declare pac" ;
+ABICNPDECV : calculee restituee : "auto entrepreneurs BIC non pro declare vous" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCNPDEC : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECC : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECP : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECV : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee restituee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee restituee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELDOP : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELMET : calculee restituee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNP : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELREP09 : calculee restituee : "Investissement Scellier  report 2009 - Retenu" ;
+ACELREPDOP9 : calculee restituee : "Investissement Scellier DOM ds plafond report 2009 - Retenu 7HS" ;
+ACELREPNP9 : calculee restituee : "Scellier metropole - DOM hors plafond report 2009 - Retenu 7HS" ;
+ACELRRED09 : calculee restituee : "Investissement Scellier report 2009 reduction - Avis Facture - Retenu " ;
+ACINE : calculee restituee : "Cinema audiovisuel" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACOLENT : calculee restituee : "Investissements outre mer entreprise - report 2009 - declare" ;
+ACOMP : calculee restituee : "Frais de comptabilite" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ACPTMENSPPE : saisie revenu classe = 0 priorite = 40 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 11 nat_code = 0 alias 8YE : "Acomptes mensuels PPE" ;
+ACREAT : calculee restituee : "nbre createur ou repreneur entreprise accorde" ;
+ACREATHANDI : calculee restituee : "nbre createur ou repreneur entreprise accorde handi" ;
+ADEVDUBAIL : calculee restituee : "Depenses developpement durable " ;
+ADEVDUR : calculee restituee : "Depenses developpement durable " ;
+ADIFAGRI : calculee restituee : "Interet differe paiement agriculteurs" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+ADOM : calculee restituee : "Investissement DOM-TOM" ;
+ADOMSOC1 : calculee restituee : "Investissements outre mer logement social - report 2009 - declare" ;
+ADONS : calculee restituee : "Dons aux oeuvres" ;
+AFIPC : calculee restituee : "Cotisations FIP Corse retenus" ;
+AFOREST : calculee restituee : "base reduction d impot investissment forestier retenue" ;
+AFORET : calculee restituee : "Cotisations versees pour defense des forets" ;
+AGARD : calculee restituee : "Base reduction frais de garde" ;
+AGC : calculee : "Age du conjoint" ;
+AGRBG : calculee restituee : "SIMULIR rbg correspondant aux deficits BA" ;
+AGRI : calculee restituee : "pour Colbert : somme des BAPERP" ;
+AGRIMP : calculee restituee : "Conges agriculteur : montant impute" ;
+AGRREST : calculee restituee : "Conges agriculteur : montant restitution" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+AHEBE : calculee restituee : "Base retenue  depense d'hebergement" ;
+AIDIMP : calculee restituee : "Aide aux personnes : montant impute" ;
+AIDREST : calculee restituee : "Aide aux personnes : montant restitution" ;
+AINVDOMTOMLG : calculee restituee : "accorde de RDINVDOMTOMLOG" ;
+ALLO1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1CP : "Revenus de remplacement - PAC 1" ;
+ALLO2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1DP : "Revenus de remplacement - PAC 2" ;
+ALLO3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1EP : "Revenus de remplacement - PAC 3" ;
+ALLO4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1FP : "Revenus de remplacement - PAC 4" ;
+ALLOC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1BP : "Revenus de remplacement - Conjoint" ;
+ALLOP : calculee restituee : " somme Allocation personnes a charge 1 a 4" ;
+ALLOV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1AP : "Revenus de remplacement - Vous" ;
+ALOCENT : calculee restituee : "Investissements outre mer entreprise - declare" ;
+ALOGDOM : calculee restituee : "Investissements outre mer logement - declare" ;
+ALOGSOC : calculee restituee : "Investissements outre mer logement social - declare" ;
+ALOYIMP : calculee restituee : "Credit assurances loyers impayes retenu" ;
+AME : calculee restituee : "Amendes fiscales (total)" ;
+AME2 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 0 avfisc = 1 rapcat = 11 nat_code = 0 restituee alias 9YW : "Amendes fiscales            " ;
+AMED : calculee : "amendes dues" ;
+AMEUBLE : calculee restituee : "Investissements locations meublees non pro - report 2009 - retenu" ;
+AME_A : calculee base : "Amende" ;
+ANCNAP : calculee restituee : "ancien net a payer pour la double liq." ;
+ANCSDED2 : calculee restituee : "annee d'imposition pour variation CSG" ;
+ANG3 : calculee : "avantage normal impot TH - KIR" ;
+ANNEE_RAPPEL : saisie penalite alias V_ANN_RAPPEL : "Champ Annee de la date de notification dans une ligne rappel" ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+ANOCEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5SN : "BNC non prof. hors AA. - Benefices - Vous" ;
+ANOPEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5OS : "BNC non prof. hors AA - Benefices - PAC" ;
+ANOUV : calculee restituee : "Base reduction Capital de societes nouvelles" ;
+ANOVEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5NS : "BNC non prof. hors AA - Benefices - Conjoint" ;
+ANTIRAFF : calculee restituee : "Impot sur le revenu anterieur a afficher sur l avis" ;
+ANTPPEIMP2A : calculee restituee base : "correctif : anterieur ppe imputee" ;
+ANTPPEIMPA_A : calculee restituee base : "correctif : anterieur ppe impa" ;
+ANTPPEREST2A : calculee restituee base : "correctif : anterieur ppe restituee" ;
+ANTPPETOT : calculee restituee base : "correctif : anterieur ppe totale" ;
+APATNAT : calculee restituee : "Base retenue  depense protection du patrimoine naturel" ;
+APB1 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB2 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB3 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB4 : calculee : "Minimum d'abattement 10% (PR)" ;
+APBC : calculee : "Minimum d'abattement 10% (PR)" ;
+APBV : calculee : "Minimum d'abattement 10% (PR)" ;
+APECHE : calculee restituee : "Souscriptions au capital d'une SOFIPECHE - admis" ;
+APERPC : calculee restituee : "bse retenu PERP" ;
+APERPP : calculee restituee : "bse retenu PERP" ;
+APERPV : calculee restituee : "bse retenu PERP" ;
+APPIMP : calculee restituee : "Credit apprentissage : montant impute" ;
+APPLI_BATCH : calculee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee restituee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : calculee : "booleen  ; vaut 1 si appli OCEANS 0 sinon" ;
+APPLI_PRO : calculee restituee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+APPREST : calculee restituee : "Credit apprentissage : montant restitution" ;
+APR1 : calculee : "Abattement pensions retraites 10%" ;
+APR2 : calculee : "Abattement pensions retraites 10%" ;
+APR3 : calculee : "Abattement pensions retraites 10%" ;
+APR4 : calculee : "Abattement pensions retraites 10%" ;
+APRC : calculee : "Abattement pensions retraites 10%" ;
+APRESCOMP : calculee restituee : "base retenue prestations compensatoires" ;
+APRETUD : calculee restituee : "Interets pret etudiant retenu" ;
+APRV : calculee : "Abattement pensions retraites 10%" ;
+AREDMEUB : calculee restituee : "Invest. locations meublees non pro - report reduction - retenu" ;
+AREPA : calculee restituee : "Dons : fourniture de repas particulier" ;
+ARESINEUV : calculee restituee : "Investissements locations meublees dans residence neuve - retenu" ;
+ARESIVIEU : calculee restituee : "Investissements locations meublees dans residence neuve 2009 - retenu" ;
+ARESTIMO : calculee restituee : "Travaux de restauration immobiliere - retenu" ;
+ARIRENOV : calculee restituee : "Travaux de restauration des objets classes - retenu" ;
+ARTIMP : calculee restituee : "Metiers d art : montant impute" ;
+ARTREST : calculee restituee : "Metiers d art : montant restitution" ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 restituee alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+ASOCREPR : calculee restituee : "Base Reduction emprunt reprise societe" ;
+ASOUFIP : calculee restituee : "Investissement de proximite" ;
+ASSIMP : calculee restituee : "Prelevements liberatoires (assurance vie) : montant impute" ;
+ASSREST : calculee restituee : "Prelevements liberatoires (assurance vie) : montant restitution" ;
+ASURV : calculee restituee : "Rente-survie, contrat handicap" ;
+ASYND : calculee restituee : "Reduction cotisation syndicale" ;
+ATEC : calculee : "Depenses travaux prevention risques technologiques - Bailleur - retenu" ;
+ATITPRISE : calculee restituee : "Capital des tres petites societes - retenu" ;
+ATOUHOTR : calculee restituee : "Investissement locatif residence hoteliere - Retenu" ;
+ATOUREPA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURES : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURHOT : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme hotelier" ;
+ATOURNEUF : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURREP : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURTRA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme travaux" ;
+AUBAINE10 : calculee : "avantage en impot (A1) lie a avantages fiscaux 2010" ;
+AUBAINE9 : calculee : "avantage en impot (A2) lie a av. fiscaux 2009 pris en compte en 2010" ;
+AUTOBICNPNET : calculee restituee : "auto entrepreneurs BIC non pro net pr colbert" ;
+AUTOBICPC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5UB : "Auto-entrepreneur - BIC prof. - Prestations de services - Conjoint" ;
+AUTOBICPNET : calculee restituee : "auto entrepreneurs BIC pro net pr colbert" ;
+AUTOBICPP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5VB : "Auto-entrepreneur - BIC prof. - Prestations de services - PAC" ;
+AUTOBICPV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5TB : "Auto-entrepreneur-BIC prof. - Prestations de services - Vous" ;
+AUTOBICVC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5UA : "Auto-entrepreneur - BIC prof. - Activite de ventes - Conjoint" ;
+AUTOBICVP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5VA : "Auto-entrepreneur - BIC prof. - Activite de ventes - PAC" ;
+AUTOBICVV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5TA : "Auto-entrepreneur-BIC prof. - Activite de ventes - Vous" ;
+AUTOBNCC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5UE : "Auto-entrepreneur - BNC prof. - Recettes brutes - Conjoint" ;
+AUTOBNCNPNET : calculee restituee : "auto entrepreneurs BNC non pro net pr colbert" ;
+AUTOBNCP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5VE : "Auto-entrepreneur - BNC prof. - Recettes brutes - PAC" ;
+AUTOBNCPNET : calculee restituee : "auto entrepreneurs BNC pro net pr colbert" ;
+AUTOBNCV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5TE : "Auto-entrepreneur-BNC prof. - Recettes brutes - Vous" ;
+AUTOVERSLIB : saisie revenu classe = 0 priorite = 10 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 11 nat_code = 1 restituee alias 8UY : "Auto-entrepreneur : versements liberatoires de l IR" ;
+AUTRENT : saisie revenu classe = 0 priorite = 31 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 nat_co
\ No newline at end of file
diff --git a/sources2010m_7_1/tgvO.m b/sources2010m_7_1/tgvO.m
new file mode 100644
index 0000000000000000000000000000000000000000..c6787f915285378e220ab5bcecd3a89b1786cf9d
--- /dev/null
+++ b/sources2010m_7_1/tgvO.m
@@ -0,0 +1,419 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 10 Application oceans
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2DEFBACREC : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREP : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREV : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PALIEX : calculee : "quotient 2 pension alimentaire exceptionnelle" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q3" ;
+3ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q3" ;
+3ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q3" ;
+3DEFBACREC : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREP : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREV : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q3" ;
+3FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q3" ;
+3PALIEX : calculee : "quotient 3 pension alimentaire exceptionnelle" ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q3" ;
+3RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique BGO" ;
+3RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+3RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+3RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q3" ;
+3RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCMRABD : calculee : "montant de la refaction sur BDC" ;
+3RCMRNABD : calculee : "revenus nets de la refaction sur BDC" ;
+3RCMRNTNC : calculee : "revenus nets de la refaction sur BFU" ;
+3RCMRTNC : calculee : "montant de la refaction sur BFU" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REGPRIVM : calculee : "montant majore de 3GO" ;
+3REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+3RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RV1 : calculee : "Montant imposable des RV quotient 3 - de 50 ans" ;
+3RV2 : calculee : "Montant imposable des RV quotient 3 - 50 a 59 ans" ;
+3RV3 : calculee : "Montant imposable des RV quotient 3 - 60 a 69 ans" ;
+3RV4 : calculee : "Montant imposable des RV quotient 3 + de 69 ans" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+4ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q4" ;
+4ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q4" ;
+4ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q4" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Conjoint" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Vous" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Conjoint" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Vous" ;
+4BAQC : calculee : "ba hors quotient conj quotient 4" ;
+4BAQLC : calculee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee : "ba hors quotient pac quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q4" ;
+4FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q4" ;
+4PALIEX : calculee : "quotient 4 pension alimentaire exceptionnelle" ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q4" ;
+4RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique CGO" ;
+4RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+4RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+4RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q4" ;
+4RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCMRABD : calculee : "montant de la refaction sur CDC" ;
+4RCMRNABD : calculee : "revenus nets de la refaction sur CDC" ;
+4RCMRNTNC : calculee : "revenus nets de la refaction sur CFU" ;
+4RCMRTNC : calculee : "montant de la refaction sur CFU" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4REGPRIVM : calculee : "montant majore de 4GO" ;
+4RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RV1 : calculee : "Montant imposable des RV quotient 4 - de 50 ans" ;
+4RV2 : calculee : "Montant imposable des RV quotient 4 - 50 a 59 ans" ;
+4RV3 : calculee : "Montant imposable des RV quotient 4 - 60 a 69 ans" ;
+4RV4 : calculee : "Montant imposable des RV quotient 4 + de 69 ans" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10QIQJQFQG : calculee : "Plaf av fiscaux : Investissements outre mer entreprise dans AUBAINE10" ;
+A10RENT : calculee restituee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RNOUV : calculee restituee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RSOCQK : calculee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+AAIDC : calculee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+AB20_RAPPEL : saisie penalite alias V_A20_RAPPEL : "Champ indicateur perte abattement 20% dans une ligne rappel" ;
+ABADO : calculee : "Abattement en impot sur les revenus DOM" ;
+ABAGU : calculee : "Abattement en impot sur les revenus GUYANE" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1156.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 alias 3VB : "Abattement pour duree de detention - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 alias 3VA : "Abattement pour duree de detention - Plus-value" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICNPDECC : calculee restituee : "auto entrepreneurs BIC non pro declare conjoint" ;
+ABICNPDECP : calculee restituee : "auto entrepreneurs BIC non pro declare pac" ;
+ABICNPDECV : calculee restituee : "auto entrepreneurs BIC non pro declare vous" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee : "Abattement enfants maries a charge" ;
+ABNCNPDEC : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECC : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECP : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECV : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee : "Abattement personnes agees invalides" ;
+ACELDO : calculee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELDOP : calculee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELMET : calculee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNP : calculee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELREP09 : calculee : "Investissement Scellier  report 2009 - Retenu" ;
+ACELREPDOP9 : calculee : "Investissement Scellier DOM ds plafond report 2009 - Retenu 7HS" ;
+ACELREPNP9 : calculee : "Scellier metropole - DOM hors plafond report 2009 - Retenu 7HS" ;
+ACELRRED09 : calculee : "Investissement Scellier report 2009 reduction - Avis Facture - Retenu " ;
+ACINE : calculee : "Cinema audiovisuel" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACOLENT : calculee : "Investissements outre mer entreprise - report 2009 - declare" ;
+ACOMP : calculee restituee : "Frais de comptabilite" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ACPTMENSPPE : saisie revenu classe = 0 priorite = 40 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 11 nat_code = 0 alias 8YE : "Acomptes mensuels PPE" ;
+ACREAT : calculee : "nbre createur ou repreneur entreprise accorde" ;
+ACREATHANDI : calculee : "nbre createur ou repreneur entreprise accorde handi" ;
+ADEVDUBAIL : calculee : "Depenses developpement durable " ;
+ADEVDUR : calculee : "Depenses developpement durable " ;
+ADIFAGRI : calculee : "Interet differe paiement agriculteurs" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+ADOM : calculee restituee : "Investissement DOM-TOM" ;
+ADOMSOC1 : calculee : "Investissements outre mer logement social - report 2009 - declare" ;
+ADONS : calculee : "Dons aux oeuvres" ;
+AFIPC : calculee restituee : "Cotisations FIP Corse retenus" ;
+AFOREST : calculee : "base reduction d impot investissment forestier retenue" ;
+AFORET : calculee : "Cotisations versees pour defense des forets" ;
+AGARD : calculee : "Base reduction frais de garde" ;
+AGC : calculee : "Age du conjoint" ;
+AGRBG : calculee : "SIMULIR rbg correspondant aux deficits BA" ;
+AGRIMP : calculee : "Conges agriculteur : montant impute" ;
+AGRREST : calculee : "Conges agriculteur : montant restitution" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+AHEBE : calculee : "Base retenue  depense d'hebergement" ;
+AIDIMP : calculee : "Aide aux personnes : montant impute" ;
+AIDREST : calculee : "Aide aux personnes : montant restitution" ;
+AINVDOMTOMLG : calculee : "accorde de RDINVDOMTOMLOG" ;
+ALLO1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1CP : "Revenus de remplacement - PAC 1" ;
+ALLO2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1DP : "Revenus de remplacement - PAC 2" ;
+ALLO3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1EP : "Revenus de remplacement - PAC 3" ;
+ALLO4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1FP : "Revenus de remplacement - PAC 4" ;
+ALLOC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1BP : "Revenus de remplacement - Conjoint" ;
+ALLOP : calculee : " somme Allocation personnes a charge 1 a 4" ;
+ALLOV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1AP : "Revenus de remplacement - Vous" ;
+ALOCENT : calculee : "Investissements outre mer entreprise - declare" ;
+ALOGDOM : calculee : "Investissements outre mer logement - declare" ;
+ALOGSOC : calculee : "Investissements outre mer logement social - declare" ;
+ALOYIMP : calculee : "Credit assurances loyers impayes retenu" ;
+AME : calculee restituee : "Amendes fiscales (total)" ;
+AME2 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 0 avfisc = 1 rapcat = 11 nat_code = 0 alias 9YW : "Amendes fiscales            " ;
+AMED : calculee : "amendes dues" ;
+AMEUBLE : calculee : "Investissements locations meublees non pro - report 2009 - retenu" ;
+AME_A : calculee base : "Amende" ;
+ANCNAP : calculee : "ancien net a payer pour la double liq." ;
+ANCSDED2 : calculee : "annee d'imposition pour variation CSG" ;
+ANG3 : calculee : "avantage normal impot TH - KIR" ;
+ANNEE_RAPPEL : saisie penalite alias V_ANN_RAPPEL : "Champ Annee de la date de notification dans une ligne rappel" ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+ANOCEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 restituee alias 5SN : "BNC non prof. hors AA. - Benefices - Vous" ;
+ANOPEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 restituee alias 5OS : "BNC non prof. hors AA - Benefices - PAC" ;
+ANOUV : calculee : "Base reduction Capital de societes nouvelles" ;
+ANOVEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 restituee alias 5NS : "BNC non prof. hors AA - Benefices - Conjoint" ;
+ANTIRAFF : calculee : "Impot sur le revenu anterieur a afficher sur l avis" ;
+ANTPPEIMP2A : calculee restituee base : "correctif : anterieur ppe imputee" ;
+ANTPPEIMPA_A : calculee restituee base : "correctif : anterieur ppe impa" ;
+ANTPPEREST2A : calculee restituee base : "correctif : anterieur ppe restituee" ;
+ANTPPETOT : calculee restituee base : "correctif : anterieur ppe totale" ;
+APATNAT : calculee : "Base retenue  depense protection du patrimoine naturel" ;
+APB1 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB2 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB3 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB4 : calculee : "Minimum d'abattement 10% (PR)" ;
+APBC : calculee : "Minimum d'abattement 10% (PR)" ;
+APBV : calculee : "Minimum d'abattement 10% (PR)" ;
+APECHE : calculee restituee : "Souscriptions au capital d'une SOFIPECHE - admis" ;
+APERPC : calculee : "bse retenu PERP" ;
+APERPP : calculee : "bse retenu PERP" ;
+APERPV : calculee : "bse retenu PERP" ;
+APPIMP : calculee : "Credit apprentissage : montant impute" ;
+APPLI_BATCH : calculee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee restituee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : calculee : "booleen  ; vaut 1 si appli OCEANS 0 sinon" ;
+APPLI_PRO : calculee restituee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+APPREST : calculee : "Credit apprentissage : montant restitution" ;
+APR1 : calculee : "Abattement pensions retraites 10%" ;
+APR2 : calculee : "Abattement pensions retraites 10%" ;
+APR3 : calculee : "Abattement pensions retraites 10%" ;
+APR4 : calculee : "Abattement pensions retraites 10%" ;
+APRC : calculee : "Abattement pensions retraites 10%" ;
+APRESCOMP : calculee restituee : "base retenue prestations compensatoires" ;
+APRETUD : calculee : "Interets pret etudiant retenu" ;
+APRV : calculee : "Abattement pensions retraites 10%" ;
+AREDMEUB : calculee : "Invest. locations meublees non pro - report reduction - retenu" ;
+AREPA : calculee : "Dons : fourniture de repas particulier" ;
+ARESINEUV : calculee : "Investissements locations meublees dans residence neuve - retenu" ;
+ARESIVIEU : calculee : "Investissements locations meublees dans residence neuve 2009 - retenu" ;
+ARESTIMO : calculee : "Travaux de restauration immobiliere - retenu" ;
+ARIRENOV : calculee : "Travaux de restauration des objets classes - retenu" ;
+ARTIMP : calculee : "Metiers d art : montant impute" ;
+ARTREST : calculee : "Metiers d art : montant restitution" ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+ASOCREPR : calculee : "Base Reduction emprunt reprise societe" ;
+ASOUFIP : calculee : "Investissement de proximite" ;
+ASSIMP : calculee : "Prelevements liberatoires (assurance vie) : montant impute" ;
+ASSREST : calculee : "Prelevements liberatoires (assurance vie) : montant restitution" ;
+ASURV : calculee restituee : "Rente-survie, contrat handicap" ;
+ASYND : calculee : "Reduction cotisation syndicale" ;
+ATEC : calculee : "Depenses travaux prevention risques technologiques - Bailleur - retenu" ;
+ATITPRISE : calculee : "Capital des tres petites societes - retenu" ;
+ATOUHOTR : calculee restituee : "Investissement locatif residence hoteliere - Retenu" ;
+ATOUREPA : calculee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURES : calculee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURHOT : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme hotelier" ;
+ATOURNEUF : calculee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURREP : calculee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURTRA : calculee : "Retenu  Investissements locatifs resid. de tourisme travaux" ;
+AUBAINE10 : calculee : "avantage en impot (A1) lie a avantages fiscaux 2010" ;
+AUBAINE9 : calculee : "avantage en impot (A2) lie a av. fiscaux 2009 pris en compte en 2010" ;
+AUTOBICNPNET : calculee restituee : "auto entrepreneurs BIC non pro net pr colbert" ;
+AUTOBICPC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5UB : "Auto-entrepreneur - BIC prof. - Prestations de services - Conjoint" ;
+AUTOBICPNET : calculee restituee : "auto entrepreneurs BIC pro net pr colbert" ;
+AUTOBICPP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5VB : "Auto-entrepreneur - BIC prof. - Prestations de services - PAC" ;
+AUTOBICPV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5TB : "Auto-entrepreneur-BIC prof. - Prestations de services - Vous" ;
+AUTOBICVC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5UA : "Auto-entrepreneur - BIC prof. - Activite de ventes - Conjoint" ;
+AUTOBICVP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5VA : "Auto-entrepreneur - BIC prof. - Activite de ventes - PAC" ;
+AUTOBICVV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5TA : "Auto-entrepreneur-BIC prof. - Activite de ventes - Vous" ;
+AUTOBNCC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5UE : "Auto-entrepreneur - BNC prof. - Recettes brutes - Conjoint" ;
+AUTOBNCNPNET : calculee restituee : "auto entrepreneurs BNC non pro net pr colbert" ;
+AUTOBNCP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5VE : "Auto-entrepreneur - BNC prof. - Recettes brutes - PAC" ;
+AUTOBNCPNET : calculee restituee : "auto entrepreneurs BNC pro net pr colbert" ;
+AUTOBNCV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5TE : "Auto-entrepreneur-BNC prof. - Recettes brutes - Vous" ;
+AUTOVERSLIB : saisie revenu classe = 0 priorite = 10 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 11 nat_code = 1 alias 8UY : "Auto-entrepreneur : versements liberatoires de l IR" ;
+AUTRENT : saisie revenu classe = 0 priorite = 31 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 nat_code = 1 alias 7LS : "Reduction autres invest. outre-mer entrep. : report 2009 " ;
+AVETRAN : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 8TT : "Case a cocher : Contrat d'assurance vie souscrit hors de France" type BOOLEEN ;
+AVFISCO : calculee restituee base : "economie d impot susceptible d etre plafonnee." ;
+AVFISCOP : calculee restituee base : "economie d impot plafonnee." ;
+AVFISCOPTER : calculee restituee base : "Plafonnement des avantages fiscaux. variable visible dans cresource" ;
+AVPLAF10 : calculee restituee : "Plafonnement 2010 avantages fiscaux (2010/2010)" ;
+AVPLAF9 : calculee restituee : "Plafonnement 2009 avantages fiscaux (2009/2010)" ;
+B1FIS : calculee restituee : "Base contribution fiscale 1%" ;
+BA1 : calculee : "Plus-values BA imposables pour le foyer" ;
+BA10RFOR : calculee : "calcul AUBAINE10, reductions invt forestier avt imputation sur DS" ;
+BA10RNOUV : calculee : "A10RNOUV  avant 
\ No newline at end of file
diff --git a/sources2010m_7_1/tgvP.m b/sources2010m_7_1/tgvP.m
new file mode 100644
index 0000000000000000000000000000000000000000..98cb9d1ad891a50f3f243645178ad0aac56a10a6
--- /dev/null
+++ b/sources2010m_7_1/tgvP.m
@@ -0,0 +1,412 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 10 Application pro
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2DEFBACREC : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREP : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREV : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PALIEX : calculee : "quotient 2 pension alimentaire exceptionnelle" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q3" ;
+3ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q3" ;
+3ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q3" ;
+3DEFBACREC : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREP : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREV : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q3" ;
+3FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q3" ;
+3PALIEX : calculee : "quotient 3 pension alimentaire exceptionnelle" ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q3" ;
+3RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique BGO" ;
+3RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+3RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+3RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q3" ;
+3RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCMRABD : calculee : "montant de la refaction sur BDC" ;
+3RCMRNABD : calculee : "revenus nets de la refaction sur BDC" ;
+3RCMRNTNC : calculee : "revenus nets de la refaction sur BFU" ;
+3RCMRTNC : calculee : "montant de la refaction sur BFU" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REGPRIVM : calculee : "montant majore de 3GO" ;
+3REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+3RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RV1 : calculee : "Montant imposable des RV quotient 3 - de 50 ans" ;
+3RV2 : calculee : "Montant imposable des RV quotient 3 - 50 a 59 ans" ;
+3RV3 : calculee : "Montant imposable des RV quotient 3 - 60 a 69 ans" ;
+3RV4 : calculee : "Montant imposable des RV quotient 3 + de 69 ans" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+4ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q4" ;
+4ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q4" ;
+4ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q4" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Conjoint" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Vous" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Conjoint" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Vous" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q4" ;
+4FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q4" ;
+4PALIEX : calculee : "quotient 4 pension alimentaire exceptionnelle" ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q4" ;
+4RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique CGO" ;
+4RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+4RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+4RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q4" ;
+4RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCMRABD : calculee : "montant de la refaction sur CDC" ;
+4RCMRNABD : calculee : "revenus nets de la refaction sur CDC" ;
+4RCMRNTNC : calculee : "revenus nets de la refaction sur CFU" ;
+4RCMRTNC : calculee : "montant de la refaction sur CFU" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4REGPRIVM : calculee : "montant majore de 4GO" ;
+4RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RV1 : calculee : "Montant imposable des RV quotient 4 - de 50 ans" ;
+4RV2 : calculee : "Montant imposable des RV quotient 4 - 50 a 59 ans" ;
+4RV3 : calculee : "Montant imposable des RV quotient 4 - 60 a 69 ans" ;
+4RV4 : calculee : "Montant imposable des RV quotient 4 + de 69 ans" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10QIQJQFQG : calculee : "Plaf av fiscaux : Investissements outre mer entreprise dans AUBAINE10" ;
+A10RENT : calculee restituee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RNOUV : calculee restituee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RSOCQK : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1156.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 restituee alias 3VB : "Abattement pour duree de detention - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 restituee alias 3VA : "Abattement pour duree de detention - Plus-value" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICNPDECC : calculee restituee : "auto entrepreneurs BIC non pro declare conjoint" ;
+ABICNPDECP : calculee restituee : "auto entrepreneurs BIC non pro declare pac" ;
+ABICNPDECV : calculee restituee : "auto entrepreneurs BIC non pro declare vous" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCNPDEC : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECC : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECP : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECV : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELDOP : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELMET : calculee restituee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNP : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELREP09 : calculee restituee : "Investissement Scellier  report 2009 - Retenu" ;
+ACELREPDOP9 : calculee restituee : "Investissement Scellier DOM ds plafond report 2009 - Retenu 7HS" ;
+ACELREPNP9 : calculee restituee : "Scellier metropole - DOM hors plafond report 2009 - Retenu 7HS" ;
+ACELRRED09 : calculee restituee : "Investissement Scellier report 2009 reduction - Avis Facture - Retenu " ;
+ACINE : calculee restituee : "Cinema audiovisuel" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACOLENT : calculee restituee : "Investissements outre mer entreprise - report 2009 - declare" ;
+ACOMP : calculee restituee : "Frais de comptabilite" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ACPTMENSPPE : saisie revenu classe = 0 priorite = 40 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 11 nat_code = 0 alias 8YE : "Acomptes mensuels PPE" ;
+ACREAT : calculee restituee : "nbre createur ou repreneur entreprise accorde" ;
+ACREATHANDI : calculee restituee : "nbre createur ou repreneur entreprise accorde handi" ;
+ADEVDUBAIL : calculee restituee : "Depenses developpement durable " ;
+ADEVDUR : calculee restituee : "Depenses developpement durable " ;
+ADIFAGRI : calculee restituee : "Interet differe paiement agriculteurs" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+ADOM : calculee restituee : "Investissement DOM-TOM" ;
+ADOMSOC1 : calculee restituee : "Investissements outre mer logement social - report 2009 - declare" ;
+ADONS : calculee restituee : "Dons aux oeuvres" ;
+AFIPC : calculee restituee : "Cotisations FIP Corse retenus" ;
+AFOREST : calculee restituee : "base reduction d impot investissment forestier retenue" ;
+AFORET : calculee restituee : "Cotisations versees pour defense des forets" ;
+AGARD : calculee restituee : "Base reduction frais de garde" ;
+AGC : calculee : "Age du conjoint" ;
+AGRBG : calculee : "SIMULIR rbg correspondant aux deficits BA" ;
+AGRI : calculee restituee : "pour Colbert : somme des BAPERP" ;
+AGRIMP : calculee : "Conges agriculteur : montant impute" ;
+AGRREST : calculee : "Conges agriculteur : montant restitution" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+AHEBE : calculee restituee : "Base retenue  depense d'hebergement" ;
+AIDIMP : calculee : "Aide aux personnes : montant impute" ;
+AIDREST : calculee : "Aide aux personnes : montant restitution" ;
+AINVDOMTOMLG : calculee restituee : "accorde de RDINVDOMTOMLOG" ;
+ALLO1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1CP : "Revenus de remplacement - PAC 1" ;
+ALLO2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1DP : "Revenus de remplacement - PAC 2" ;
+ALLO3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1EP : "Revenus de remplacement - PAC 3" ;
+ALLO4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1FP : "Revenus de remplacement - PAC 4" ;
+ALLOC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1BP : "Revenus de remplacement - Conjoint" ;
+ALLOP : calculee restituee : " somme Allocation personnes a charge 1 a 4" ;
+ALLOV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1AP : "Revenus de remplacement - Vous" ;
+ALOCENT : calculee restituee : "Investissements outre mer entreprise - declare" ;
+ALOGDOM : calculee restituee : "Investissements outre mer logement - declare" ;
+ALOGSOC : calculee restituee : "Investissements outre mer logement social - declare" ;
+ALOYIMP : calculee restituee : "Credit assurances loyers impayes retenu" ;
+AME : calculee : "Amendes fiscales (total)" ;
+AME2 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 0 avfisc = 1 rapcat = 11 nat_code = 0 restituee alias 9YW : "Amendes fiscales            " ;
+AMED : calculee : "amendes dues" ;
+AMEUBLE : calculee restituee : "Investissements locations meublees non pro - report 2009 - retenu" ;
+AME_A : calculee base : "Amende" ;
+ANCNAP : calculee : "ancien net a payer pour la double liq." ;
+ANCSDED2 : calculee restituee : "annee d'imposition pour variation CSG" ;
+ANG3 : calculee : "avantage normal impot TH - KIR" ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+ANOCEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5SN : "BNC non prof. hors AA. - Benefices - Vous" ;
+ANOPEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5OS : "BNC non prof. hors AA - Benefices - PAC" ;
+ANOUV : calculee restituee : "Base reduction Capital de societes nouvelles" ;
+ANOVEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5NS : "BNC non prof. hors AA - Benefices - Conjoint" ;
+ANTIRAFF : calculee restituee : "Impot sur le revenu anterieur a afficher sur l avis" ;
+ANTPPEIMP2A : calculee base : "correctif : anterieur ppe imputee" ;
+ANTPPEIMPA_A : calculee base : "correctif : anterieur ppe impa" ;
+ANTPPEREST2A : calculee base : "correctif : anterieur ppe restituee" ;
+ANTPPETOT : calculee base : "correctif : anterieur ppe totale" ;
+APATNAT : calculee restituee : "Base retenue  depense protection du patrimoine naturel" ;
+APB1 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB2 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB3 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB4 : calculee : "Minimum d'abattement 10% (PR)" ;
+APBC : calculee : "Minimum d'abattement 10% (PR)" ;
+APBV : calculee : "Minimum d'abattement 10% (PR)" ;
+APECHE : calculee restituee : "Souscriptions au capital d'une SOFIPECHE - admis" ;
+APERPC : calculee restituee : "bse retenu PERP" ;
+APERPP : calculee restituee : "bse retenu PERP" ;
+APERPV : calculee restituee : "bse retenu PERP" ;
+APPIMP : calculee : "Credit apprentissage : montant impute" ;
+APPLI_BATCH : calculee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee restituee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : calculee : "booleen  ; vaut 1 si appli OCEANS 0 sinon" ;
+APPLI_PRO : calculee restituee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+APPREST : calculee : "Credit apprentissage : montant restitution" ;
+APR1 : calculee : "Abattement pensions retraites 10%" ;
+APR2 : calculee : "Abattement pensions retraites 10%" ;
+APR3 : calculee : "Abattement pensions retraites 10%" ;
+APR4 : calculee : "Abattement pensions retraites 10%" ;
+APRC : calculee : "Abattement pensions retraites 10%" ;
+APRESCOMP : calculee restituee : "base retenue prestations compensatoires" ;
+APRETUD : calculee restituee : "Interets pret etudiant retenu" ;
+APRV : calculee : "Abattement pensions retraites 10%" ;
+AREDMEUB : calculee restituee : "Invest. locations meublees non pro - report reduction - retenu" ;
+AREPA : calculee restituee : "Dons : fourniture de repas particulier" ;
+ARESINEUV : calculee restituee : "Investissements locations meublees dans residence neuve - retenu" ;
+ARESIVIEU : calculee restituee : "Investissements locations meublees dans residence neuve 2009 - retenu" ;
+ARESTIMO : calculee restituee : "Travaux de restauration immobiliere - retenu" ;
+ARIRENOV : calculee restituee : "Travaux de restauration des objets classes - retenu" ;
+ARTIMP : calculee : "Metiers d art : montant impute" ;
+ARTREST : calculee : "Metiers d art : montant restitution" ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+ASOCREPR : calculee restituee : "Base Reduction emprunt reprise societe" ;
+ASOUFIP : calculee restituee : "Investissement de proximite" ;
+ASSIMP : calculee : "Prelevements liberatoires (assurance vie) : montant impute" ;
+ASSREST : calculee : "Prelevements liberatoires (assurance vie) : montant restitution" ;
+ASURV : calculee restituee : "Rente-survie, contrat handicap" ;
+ASYND : calculee restituee : "Reduction cotisation syndicale" ;
+ATEC : calculee : "Depenses travaux prevention risques technologiques - Bailleur - retenu" ;
+ATITPRISE : calculee restituee : "Capital des tres petites societes - retenu" ;
+ATOUHOTR : calculee restituee : "Investissement locatif residence hoteliere - Retenu" ;
+ATOUREPA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURES : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURHOT : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme hotelier" ;
+ATOURNEUF : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURREP : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURTRA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme travaux" ;
+AUBAINE10 : calculee : "avantage en impot (A1) lie a avantages fiscaux 2010" ;
+AUBAINE9 : calculee : "avantage en impot (A2) lie a av. fiscaux 2009 pris en compte en 2010" ;
+AUTOBICNPNET : calculee restituee : "auto entrepreneurs BIC non pro net pr colbert" ;
+AUTOBICPC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5UB : "Auto-entrepreneur - BIC prof. - Prestations de services - Conjoint" ;
+AUTOBICPNET : calculee restituee : "auto entrepreneurs BIC pro net pr colbert" ;
+AUTOBICPP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5VB : "Auto-entrepreneur - BIC prof. - Prestations de services - PAC" ;
+AUTOBICPV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5TB : "Auto-entrepreneur-BIC prof. - Prestations de services - Vous" ;
+AUTOBICVC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5UA : "Auto-entrepreneur - BIC prof. - Activite de ventes - Conjoint" ;
+AUTOBICVP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5VA : "Auto-entrepreneur - BIC prof. - Activite de ventes - PAC" ;
+AUTOBICVV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5TA : "Auto-entrepreneur-BIC prof. - Activite de ventes - Vous" ;
+AUTOBNCC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5UE : "Auto-entrepreneur - BNC prof. - Recettes brutes - Conjoint" ;
+AUTOBNCNPNET : calculee restituee : "auto entrepreneurs BNC non pro net pr colbert" ;
+AUTOBNCP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5VE : "Auto-entrepreneur - BNC prof. - Recettes brutes - PAC" ;
+AUTOBNCPNET : calculee restituee : "auto entrepreneurs BNC pro net pr colbert" ;
+AUTOBNCV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5TE : "Auto-entrepreneur-BNC prof. - Recettes brutes - Vous" ;
+AUTOVERSLIB : saisie revenu classe = 0 priorite = 10 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 11 nat_code = 1 restituee alias 8UY : "Auto-entrepreneur : versements liberatoires de l IR" ;
+AUTRENT : saisie revenu classe = 0 priorite = 31 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 nat_code = 1 alias 7LS : "Reduction autres invest. outre-mer entrep. : report 2009 " ;
+AVETRAN : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 8TT : "Case a cocher : Contrat d'assurance vie souscrit hors de France" type BOOLEEN ;
+AVFISCO : calculee restituee base : "economie d impot susceptible d etre plafonnee." ;
+AVFISCOP : calculee restituee base : "economie d impot plafonnee." ;
+AVFIS
\ No newline at end of file
diff --git a/sources2011m_9_6/LICENCE b/sources2011m_9_6/LICENCE
new file mode 100644
index 0000000000000000000000000000000000000000..0e5d105a724ee12923254ddfcb29e543f2f54ead
--- /dev/null
+++ b/sources2011m_9_6/LICENCE
@@ -0,0 +1,550 @@
+
+  CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL
+
+Version 2.1 du 2013-06-21
+
+
+    Avertissement
+
+Ce contrat est une licence de logiciel libre issue d'une concertation
+entre ses auteurs afin que le respect de deux grands principes préside à
+sa rédaction:
+
+  * d'une part, le respect des principes de diffusion des logiciels
+    libres: accès au code source, droits étendus conférés aux utilisateurs,
+  * d'autre part, la désignation d'un droit applicable, le droit
+    français, auquel elle est conforme, tant au regard du droit de la
+    responsabilité civile que du droit de la propriété intellectuelle et
+    de la protection qu'il offre aux auteurs et titulaires des droits
+    patrimoniaux sur un logiciel.
+
+Les auteurs de la licence CeCILL (Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre])
+sont:
+
+Commissariat à l'énergie atomique et aux énergies alternatives - CEA,
+établissement public de recherche à caractère scientifique, technique et
+industriel, dont le siège est situé 25 rue Leblanc, immeuble Le Ponant
+D, 75015 Paris.
+
+Centre National de la Recherche Scientifique - CNRS, établissement
+public à caractère scientifique et technologique, dont le siège est
+situé 3 rue Michel-Ange, 75794 Paris cedex 16.
+
+Institut National de Recherche en Informatique et en Automatique -
+Inria, établissement public à caractère scientifique et technologique,
+dont le siège est situé Domaine de Voluceau, Rocquencourt, BP 105, 78153
+Le Chesnay cedex.
+
+
+    Préambule
+
+Ce contrat est une licence de logiciel libre dont l'objectif est de
+conférer aux utilisateurs la liberté de modification et de
+redistribution du logiciel régi par cette licence dans le cadre d'un
+modèle de diffusion en logiciel libre.
+
+L'exercice de ces libertés est assorti de certains devoirs à la charge
+des utilisateurs afin de préserver ce statut au cours des
+redistributions ultérieures.
+
+L'accessibilité au code source et les droits de copie, de modification
+et de redistribution qui en découlent ont pour contrepartie de n'offrir
+aux utilisateurs qu'une garantie limitée et de ne faire peser sur
+l'auteur du logiciel, le titulaire des droits patrimoniaux et les
+concédants successifs qu'une responsabilité restreinte.
+
+A cet égard l'attention de l'utilisateur est attirée sur les risques
+associés au chargement, à l'utilisation, à la modification et/ou au
+développement et à la reproduction du logiciel par l'utilisateur étant
+donné sa spécificité de logiciel libre, qui peut le rendre complexe à
+manipuler et qui le réserve donc à des développeurs ou des
+professionnels avertis possédant des connaissances informatiques
+approfondies. Les utilisateurs sont donc invités à charger et tester
+l'adéquation du logiciel à leurs besoins dans des conditions permettant
+d'assurer la sécurité de leurs systèmes et/ou de leurs données et, plus
+généralement, à l'utiliser et l'exploiter dans les mêmes conditions de
+sécurité. Ce contrat peut être reproduit et diffusé librement, sous
+réserve de le conserver en l'état, sans ajout ni suppression de clauses.
+
+Ce contrat est susceptible de s'appliquer à tout logiciel dont le
+titulaire des droits patrimoniaux décide de soumettre l'exploitation aux
+dispositions qu'il contient.
+
+Une liste de questions fréquemment posées se trouve sur le site web
+officiel de la famille des licences CeCILL 
+(http://www.cecill.info/index.fr.html) pour toute clarification qui
+serait nécessaire.
+
+
+    Article 1 - DEFINITIONS
+
+Dans ce contrat, les termes suivants, lorsqu'ils seront écrits avec une
+lettre capitale, auront la signification suivante:
+
+Contrat: désigne le présent contrat de licence, ses éventuelles versions
+postérieures et annexes.
+
+Logiciel: désigne le logiciel sous sa forme de Code Objet et/ou de Code
+Source et le cas échéant sa documentation, dans leur état au moment de
+l'acceptation du Contrat par le Licencié.
+
+Logiciel Initial: désigne le Logiciel sous sa forme de Code Source et
+éventuellement de Code Objet et le cas échéant sa documentation, dans
+leur état au moment de leur première diffusion sous les termes du Contrat.
+
+Logiciel Modifié: désigne le Logiciel modifié par au moins une
+Contribution.
+
+Code Source: désigne l'ensemble des instructions et des lignes de
+programme du Logiciel et auquel l'accès est nécessaire en vue de
+modifier le Logiciel.
+
+Code Objet: désigne les fichiers binaires issus de la compilation du
+Code Source.
+
+Titulaire: désigne le ou les détenteurs des droits patrimoniaux d'auteur
+sur le Logiciel Initial.
+
+Licencié: désigne le ou les utilisateurs du Logiciel ayant accepté le
+Contrat.
+
+Contributeur: désigne le Licencié auteur d'au moins une Contribution.
+
+Concédant: désigne le Titulaire ou toute personne physique ou morale
+distribuant le Logiciel sous le Contrat.
+
+Contribution: désigne l'ensemble des modifications, corrections,
+traductions, adaptations et/ou nouvelles fonctionnalités intégrées dans
+le Logiciel par tout Contributeur, ainsi que tout Module Interne.
+
+Module: désigne un ensemble de fichiers sources y compris leur
+documentation qui permet de réaliser des fonctionnalités ou services
+supplémentaires à ceux fournis par le Logiciel.
+
+Module Externe: désigne tout Module, non dérivé du Logiciel, tel que ce
+Module et le Logiciel s'exécutent dans des espaces d'adressage
+différents, l'un appelant l'autre au moment de leur exécution.
+
+Module Interne: désigne tout Module lié au Logiciel de telle sorte
+qu'ils s'exécutent dans le même espace d'adressage.
+
+GNU GPL: désigne la GNU General Public License dans sa version 2 ou
+toute version ultérieure, telle que publiée par Free Software Foundation
+Inc.
+
+GNU Affero GPL: désigne la GNU Affero General Public License dans sa
+version 3 ou toute version ultérieure, telle que publiée par Free
+Software Foundation Inc.
+
+EUPL: désigne la Licence Publique de l'Union européenne dans sa version
+1.1 ou toute version ultérieure, telle que publiée par la Commission
+Européenne.
+
+Parties: désigne collectivement le Licencié et le Concédant.
+
+Ces termes s'entendent au singulier comme au pluriel.
+
+
+    Article 2 - OBJET
+
+Le Contrat a pour objet la concession par le Concédant au Licencié d'une
+licence non exclusive, cessible et mondiale du Logiciel telle que
+définie ci-après à l'article 5 <#etendue> pour toute la durée de
+protection des droits portant sur ce Logiciel.
+
+
+    Article 3 - ACCEPTATION
+
+3.1 L'acceptation par le Licencié des termes du Contrat est réputée
+acquise du fait du premier des faits suivants:
+
+  * (i) le chargement du Logiciel par tout moyen notamment par
+    téléchargement à partir d'un serveur distant ou par chargement à
+    partir d'un support physique;
+  * (ii) le premier exercice par le Licencié de l'un quelconque des
+    droits concédés par le Contrat.
+
+3.2 Un exemplaire du Contrat, contenant notamment un avertissement
+relatif aux spécificités du Logiciel, à la restriction de garantie et à
+la limitation à un usage par des utilisateurs expérimentés a été mis à
+disposition du Licencié préalablement à son acceptation telle que
+définie à l'article 3.1 <#acceptation-acquise> ci dessus et le Licencié
+reconnaît en avoir pris connaissance.
+
+
+    Article 4 - ENTREE EN VIGUEUR ET DUREE
+
+
+      4.1 ENTREE EN VIGUEUR
+
+Le Contrat entre en vigueur à la date de son acceptation par le Licencié
+telle que définie en 3.1 <#acceptation-acquise>.
+
+
+      4.2 DUREE
+
+Le Contrat produira ses effets pendant toute la durée légale de
+protection des droits patrimoniaux portant sur le Logiciel.
+
+
+    Article 5 - ETENDUE DES DROITS CONCEDES
+
+Le Concédant concède au Licencié, qui accepte, les droits suivants sur
+le Logiciel pour toutes destinations et pour la durée du Contrat dans
+les conditions ci-après détaillées.
+
+Par ailleurs, si le Concédant détient ou venait à détenir un ou
+plusieurs brevets d'invention protégeant tout ou partie des
+fonctionnalités du Logiciel ou de ses composants, il s'engage à ne pas
+opposer les éventuels droits conférés par ces brevets aux Licenciés
+successifs qui utiliseraient, exploiteraient ou modifieraient le
+Logiciel. En cas de cession de ces brevets, le Concédant s'engage à
+faire reprendre les obligations du présent alinéa aux cessionnaires.
+
+
+      5.1 DROIT D'UTILISATION
+
+Le Licencié est autorisé à utiliser le Logiciel, sans restriction quant
+aux domaines d'application, étant ci-après précisé que cela comporte:
+
+ 1.
+
+    la reproduction permanente ou provisoire du Logiciel en tout ou
+    partie par tout moyen et sous toute forme.
+
+ 2.
+
+    le chargement, l'affichage, l'exécution, ou le stockage du Logiciel
+    sur tout support.
+
+ 3.
+
+    la possibilité d'en observer, d'en étudier, ou d'en tester le
+    fonctionnement afin de déterminer les idées et principes qui sont à
+    la base de n'importe quel élément de ce Logiciel; et ceci, lorsque
+    le Licencié effectue toute opération de chargement, d'affichage,
+    d'exécution, de transmission ou de stockage du Logiciel qu'il est en
+    droit d'effectuer en vertu du Contrat.
+
+
+      5.2 DROIT D'APPORTER DES CONTRIBUTIONS
+
+Le droit d'apporter des Contributions comporte le droit de traduire,
+d'adapter, d'arranger ou d'apporter toute autre modification au Logiciel
+et le droit de reproduire le logiciel en résultant.
+
+Le Licencié est autorisé à apporter toute Contribution au Logiciel sous
+réserve de mentionner, de façon explicite, son nom en tant qu'auteur de
+cette Contribution et la date de création de celle-ci.
+
+
+      5.3 DROIT DE DISTRIBUTION
+
+Le droit de distribution comporte notamment le droit de diffuser, de
+transmettre et de communiquer le Logiciel au public sur tout support et
+par tout moyen ainsi que le droit de mettre sur le marché à titre
+onéreux ou gratuit, un ou des exemplaires du Logiciel par tout procédé.
+
+Le Licencié est autorisé à distribuer des copies du Logiciel, modifié ou
+non, à des tiers dans les conditions ci-après détaillées.
+
+
+        5.3.1 DISTRIBUTION DU LOGICIEL SANS MODIFICATION
+
+Le Licencié est autorisé à distribuer des copies conformes du Logiciel,
+sous forme de Code Source ou de Code Objet, à condition que cette
+distribution respecte les dispositions du Contrat dans leur totalité et
+soit accompagnée:
+
+ 1.
+
+    d'un exemplaire du Contrat,
+
+ 2.
+
+    d'un avertissement relatif à la restriction de garantie et de
+    responsabilité du Concédant telle que prévue aux articles 8
+    <#responsabilite> et 9 <#garantie>,
+
+et que, dans le cas où seul le Code Objet du Logiciel est redistribué,
+le Licencié permette un accès effectif au Code Source complet du
+Logiciel pour une durée d'au moins 3 ans à compter de la distribution du
+logiciel, étant entendu que le coût additionnel d'acquisition du Code
+Source ne devra pas excéder le simple coût de transfert des données.
+
+
+        5.3.2 DISTRIBUTION DU LOGICIEL MODIFIE
+
+Lorsque le Licencié apporte une Contribution au Logiciel, les conditions
+de distribution du Logiciel Modifié en résultant sont alors soumises à
+l'intégralité des dispositions du Contrat.
+
+Le Licencié est autorisé à distribuer le Logiciel Modifié, sous forme de
+code source ou de code objet, à condition que cette distribution
+respecte les dispositions du Contrat dans leur totalité et soit
+accompagnée:
+
+ 1.
+
+    d'un exemplaire du Contrat,
+
+ 2.
+
+    d'un avertissement relatif à la restriction de garantie et de
+    responsabilité du Concédant telle que prévue aux articles 8
+    <#responsabilite> et 9 <#garantie>,
+
+et, dans le cas où seul le code objet du Logiciel Modifié est redistribué,
+
+ 3.
+
+    d'une note précisant les conditions d'accès effectif au code source
+    complet du Logiciel Modifié, pendant une période d'au moins 3 ans à
+    compter de la distribution du Logiciel Modifié, étant entendu que le
+    coût additionnel d'acquisition du code source ne devra pas excéder
+    le simple coût de transfert des données.
+
+
+        5.3.3 DISTRIBUTION DES MODULES EXTERNES
+
+Lorsque le Licencié a développé un Module Externe les conditions du
+Contrat ne s'appliquent pas à ce Module Externe, qui peut être distribué
+sous un contrat de licence différent.
+
+
+        5.3.4 COMPATIBILITE AVEC D'AUTRES LICENCES
+
+Le Licencié peut inclure un code soumis aux dispositions d'une des
+versions de la licence GNU GPL, GNU Affero GPL et/ou EUPL dans le
+Logiciel modifié ou non et distribuer l'ensemble sous les conditions de
+la même version de la licence GNU GPL, GNU Affero GPL et/ou EUPL.
+
+Le Licencié peut inclure le Logiciel modifié ou non dans un code soumis
+aux dispositions d'une des versions de la licence GNU GPL, GNU Affero
+GPL et/ou EUPL et distribuer l'ensemble sous les conditions de la même
+version de la licence GNU GPL, GNU Affero GPL et/ou EUPL.
+
+
+    Article 6 - PROPRIETE INTELLECTUELLE
+
+
+      6.1 SUR LE LOGICIEL INITIAL
+
+Le Titulaire est détenteur des droits patrimoniaux sur le Logiciel
+Initial. Toute utilisation du Logiciel Initial est soumise au respect
+des conditions dans lesquelles le Titulaire a choisi de diffuser son
+oeuvre et nul autre n'a la faculté de modifier les conditions de
+diffusion de ce Logiciel Initial.
+
+Le Titulaire s'engage à ce que le Logiciel Initial reste au moins régi
+par le Contrat et ce, pour la durée visée à l'article 4.2 <#duree>.
+
+
+      6.2 SUR LES CONTRIBUTIONS
+
+Le Licencié qui a développé une Contribution est titulaire sur celle-ci
+des droits de propriété intellectuelle dans les conditions définies par
+la législation applicable.
+
+
+      6.3 SUR LES MODULES EXTERNES
+
+Le Licencié qui a développé un Module Externe est titulaire sur celui-ci
+des droits de propriété intellectuelle dans les conditions définies par
+la législation applicable et reste libre du choix du contrat régissant
+sa diffusion.
+
+
+      6.4 DISPOSITIONS COMMUNES
+
+Le Licencié s'engage expressément:
+
+ 1.
+
+    à ne pas supprimer ou modifier de quelque manière que ce soit les
+    mentions de propriété intellectuelle apposées sur le Logiciel;
+
+ 2.
+
+    à reproduire à l'identique lesdites mentions de propriété
+    intellectuelle sur les copies du Logiciel modifié ou non.
+
+Le Licencié s'engage à ne pas porter atteinte, directement ou
+indirectement, aux droits de propriété intellectuelle du Titulaire et/ou
+des Contributeurs sur le Logiciel et à prendre, le cas échéant, à
+l'égard de son personnel toutes les mesures nécessaires pour assurer le
+respect des dits droits de propriété intellectuelle du Titulaire et/ou
+des Contributeurs.
+
+
+    Article 7 - SERVICES ASSOCIES
+
+7.1 Le Contrat n'oblige en aucun cas le Concédant à la réalisation de
+prestations d'assistance technique ou de maintenance du Logiciel.
+
+Cependant le Concédant reste libre de proposer ce type de services. Les
+termes et conditions d'une telle assistance technique et/ou d'une telle
+maintenance seront alors déterminés dans un acte séparé. Ces actes de
+maintenance et/ou assistance technique n'engageront que la seule
+responsabilité du Concédant qui les propose.
+
+7.2 De même, tout Concédant est libre de proposer, sous sa seule
+responsabilité, à ses licenciés une garantie, qui n'engagera que lui,
+lors de la redistribution du Logiciel et/ou du Logiciel Modifié et ce,
+dans les conditions qu'il souhaite. Cette garantie et les modalités
+financières de son application feront l'objet d'un acte séparé entre le
+Concédant et le Licencié.
+
+
+    Article 8 - RESPONSABILITE
+
+8.1 Sous réserve des dispositions de l'article 8.2
+<#limite-responsabilite>, le Licencié a la faculté, sous réserve de
+prouver la faute du Concédant concerné, de solliciter la réparation du
+préjudice direct qu'il subirait du fait du Logiciel et dont il apportera
+la preuve.
+
+8.2 La responsabilité du Concédant est limitée aux engagements pris en
+application du Contrat et ne saurait être engagée en raison notamment:
+(i) des dommages dus à l'inexécution, totale ou partielle, de ses
+obligations par le Licencié, (ii) des dommages directs ou indirects
+découlant de l'utilisation ou des performances du Logiciel subis par le
+Licencié et (iii) plus généralement d'un quelconque dommage indirect. En
+particulier, les Parties conviennent expressément que tout préjudice
+financier ou commercial (par exemple perte de données, perte de
+bénéfices, perte d'exploitation, perte de clientèle ou de commandes,
+manque à gagner, trouble commercial quelconque) ou toute action dirigée
+contre le Licencié par un tiers, constitue un dommage indirect et
+n'ouvre pas droit à réparation par le Concédant.
+
+
+    Article 9 - GARANTIE
+
+9.1 Le Licencié reconnaît que l'état actuel des connaissances
+scientifiques et techniques au moment de la mise en circulation du
+Logiciel ne permet pas d'en tester et d'en vérifier toutes les
+utilisations ni de détecter l'existence d'éventuels défauts. L'attention
+du Licencié a été attirée sur ce point sur les risques associés au
+chargement, à l'utilisation, la modification et/ou au développement et à
+la reproduction du Logiciel qui sont réservés à des utilisateurs avertis.
+
+Il relève de la responsabilité du Licencié de contrôler, par tous
+moyens, l'adéquation du produit à ses besoins, son bon fonctionnement et
+de s'assurer qu'il ne causera pas de dommages aux personnes et aux biens.
+
+9.2 Le Concédant déclare de bonne foi être en droit de concéder
+l'ensemble des droits attachés au Logiciel (comprenant notamment les
+droits visés à l'article 5 <#etendue>).
+
+9.3 Le Licencié reconnaît que le Logiciel est fourni "en l'état" par le
+Concédant sans autre garantie, expresse ou tacite, que celle prévue à
+l'article 9.2 <#bonne-foi> et notamment sans aucune garantie sur sa
+valeur commerciale, son caractère sécurisé, innovant ou pertinent.
+
+En particulier, le Concédant ne garantit pas que le Logiciel est exempt
+d'erreur, qu'il fonctionnera sans interruption, qu'il sera compatible
+avec l'équipement du Licencié et sa configuration logicielle ni qu'il
+remplira les besoins du Licencié.
+
+9.4 Le Concédant ne garantit pas, de manière expresse ou tacite, que le
+Logiciel ne porte pas atteinte à un quelconque droit de propriété
+intellectuelle d'un tiers portant sur un brevet, un logiciel ou sur tout
+autre droit de propriété. Ainsi, le Concédant exclut toute garantie au
+profit du Licencié contre les actions en contrefaçon qui pourraient être
+diligentées au titre de l'utilisation, de la modification, et de la
+redistribution du Logiciel. Néanmoins, si de telles actions sont
+exercées contre le Licencié, le Concédant lui apportera son expertise
+technique et juridique pour sa défense. Cette expertise technique et
+juridique est déterminée au cas par cas entre le Concédant concerné et
+le Licencié dans le cadre d'un protocole d'accord. Le Concédant dégage
+toute responsabilité quant à l'utilisation de la dénomination du
+Logiciel par le Licencié. Aucune garantie n'est apportée quant à
+l'existence de droits antérieurs sur le nom du Logiciel et sur
+l'existence d'une marque.
+
+
+    Article 10 - RESILIATION
+
+10.1 En cas de manquement par le Licencié aux obligations mises à sa
+charge par le Contrat, le Concédant pourra résilier de plein droit le
+Contrat trente (30) jours après notification adressée au Licencié et
+restée sans effet.
+
+10.2 Le Licencié dont le Contrat est résilié n'est plus autorisé à
+utiliser, modifier ou distribuer le Logiciel. Cependant, toutes les
+licences qu'il aura concédées antérieurement à la résiliation du Contrat
+resteront valides sous réserve qu'elles aient été effectuées en
+conformité avec le Contrat.
+
+
+    Article 11 - DISPOSITIONS DIVERSES
+
+
+      11.1 CAUSE EXTERIEURE
+
+Aucune des Parties ne sera responsable d'un retard ou d'une défaillance
+d'exécution du Contrat qui serait dû à un cas de force majeure, un cas
+fortuit ou une cause extérieure, telle que, notamment, le mauvais
+fonctionnement ou les interruptions du réseau électrique ou de
+télécommunication, la paralysie du réseau liée à une attaque
+informatique, l'intervention des autorités gouvernementales, les
+catastrophes naturelles, les dégâts des eaux, les tremblements de terre,
+le feu, les explosions, les grèves et les conflits sociaux, l'état de
+guerre...
+
+11.2 Le fait, par l'une ou l'autre des Parties, d'omettre en une ou
+plusieurs occasions de se prévaloir d'une ou plusieurs dispositions du
+Contrat, ne pourra en aucun cas impliquer renonciation par la Partie
+intéressée à s'en prévaloir ultérieurement.
+
+11.3 Le Contrat annule et remplace toute convention antérieure, écrite
+ou orale, entre les Parties sur le même objet et constitue l'accord
+entier entre les Parties sur cet objet. Aucune addition ou modification
+aux termes du Contrat n'aura d'effet à l'égard des Parties à moins
+d'être faite par écrit et signée par leurs représentants dûment habilités.
+
+11.4 Dans l'hypothèse où une ou plusieurs des dispositions du Contrat
+s'avèrerait contraire à une loi ou à un texte applicable, existants ou
+futurs, cette loi ou ce texte prévaudrait, et les Parties feraient les
+amendements nécessaires pour se conformer à cette loi ou à ce texte.
+Toutes les autres dispositions resteront en vigueur. De même, la
+nullité, pour quelque raison que ce soit, d'une des dispositions du
+Contrat ne saurait entraîner la nullité de l'ensemble du Contrat.
+
+
+      11.5 LANGUE
+
+Le Contrat est rédigé en langue française et en langue anglaise, ces
+deux versions faisant également foi.
+
+
+    Article 12 - NOUVELLES VERSIONS DU CONTRAT
+
+12.1 Toute personne est autorisée à copier et distribuer des copies de
+ce Contrat.
+
+12.2 Afin d'en préserver la cohérence, le texte du Contrat est protégé
+et ne peut être modifié que par les auteurs de la licence, lesquels se
+réservent le droit de publier périodiquement des mises à jour ou de
+nouvelles versions du Contrat, qui posséderont chacune un numéro
+distinct. Ces versions ultérieures seront susceptibles de prendre en
+compte de nouvelles problématiques rencontrées par les logiciels libres.
+
+12.3 Tout Logiciel diffusé sous une version donnée du Contrat ne pourra
+faire l'objet d'une diffusion ultérieure que sous la même version du
+Contrat ou une version postérieure, sous réserve des dispositions de
+l'article 5.3.4 <#compatibilite>.
+
+
+    Article 13 - LOI APPLICABLE ET COMPETENCE TERRITORIALE
+
+13.1 Le Contrat est régi par la loi française. Les Parties conviennent
+de tenter de régler à l'amiable les différends ou litiges qui
+viendraient à se produire par suite ou à l'occasion du Contrat.
+
+13.2 A défaut d'accord amiable dans un délai de deux (2) mois à compter
+de leur survenance et sauf situation relevant d'une procédure d'urgence,
+les différends ou litiges seront portés par la Partie la plus diligente
+devant les Tribunaux compétents de Paris.
+
+
diff --git a/sources2011m_9_6/chap-1.m b/sources2011m_9_6/chap-1.m
new file mode 100644
index 0000000000000000000000000000000000000000..837d6b59a1b27cdb101e4b67d8efde904fd310db
--- /dev/null
+++ b/sources2011m_9_6/chap-1.m
@@ -0,0 +1,410 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+                                                                           #
+  ####   #    #    ##    #####      #     #####  #####   ######           ##
+ #    #  #    #   #  #   #    #     #       #    #    #  #               # #
+ #       ######  #    #  #    #     #       #    #    #  #####             #
+ #       #    #  ######  #####      #       #    #####   #                 #
+ #    #  #    #  #    #  #          #       #    #   #   #                 #
+  ####   #    #  #    #  #          #       #    #    #  ###### #######  #####
+ #
+ #
+ #
+ #
+ #
+ #                         CALCUL DU NET A PAYER
+ #
+ #
+ #
+ #
+ #
+ #
+regle 101:
+application : oceans , bareme  ;
+RC1 = positif( NAPI + 1 - SEUIL_REC_CP ) +0 ;
+regle 1010:
+application : batch, pro , iliad , oceans ;
+
+NAPT = ( NAPTOT - NAPTOTA - IRANT)* 
+      positif_ou_nul (NAPTOT - NAPTOTA - IRANT - SEUIL_REC_CP)
+      - IREST * positif(SEUIL_REMBCP-IREST)
+      + min (0,NAPTOT - NAPTOTA - IRANT);
+regle 10111:
+application : iliad ;
+RC1 = si ( NAPINI - V_ANTIR + RECUMBIS >= SEUIL_REC_CP )
+      alors (1)
+      sinon (0)
+      finsi;
+regle 10112:
+application : batch ;
+RC1 = si ( NAPINI - IRCUM_A + RECUMBIS >= SEUIL_REC_CP )
+      alors (1)
+      sinon (0)
+      finsi;
+regle 1013 :
+application : pro , oceans , iliad , batch ;
+IAVIMBIS = IRB + PIR ;
+IAVIMO = (max(0,max(ID11-ADO1,IMI)-RED) + ITP + REI + PIR)
+                 * V_CR2;
+regle 1012:
+application : pro , bareme , oceans , iliad , batch ;
+NAPI = ( IRD + PIRD - IRANT ) * (1 - INDTXMIN) * (1 - INDTXMOY)
+         + min(0, IRD + PIRD - IRANT ) * (INDTXMIN + INDTXMOY) 
+         + max(0, IRD + PIRD - IRANT ) * 
+                           (INDTXMIN * positif(IAVIMBIS-SEUIL_TXMIN)
+                          + INDTXMOY * positif(IAVIMO- SEUIL_TXMIN))
+       + TAXASSUR
+       + IPCAPTAXT
+       + IHAUTREVT
+       + RASAR * V_CR2 ;
+regle 104114:
+application : pro , oceans , iliad , batch ;
+INTMS = inf( MOISAN / 10000 );
+INTAN = (( MOISAN/10000 - INTMS )*10000)  * present(MOISAN) ;
+TXINT = (positif(2006-arr(INTAN))*max(0, (INTAN - (V_ANREV+1) )* 12 + INTMS - 6 ) * TXMOISRETARD 
+         + positif_ou_nul(V_ANREV-2006)*max(0, (INTAN - (V_ANREV+1) )* 12 + INTMS - 6 ) * TXMOISRETARD2 
+         + (1-positif(2006-arr(INTAN)))*(1-positif_ou_nul(V_ANREV-2006))
+	   * (((2006 - (V_ANREV+1))*12 - 6) * (TXMOISRETARD * positif(2006 - (V_ANREV+1)) + TXMOISRETARD2 * null(2006-(V_ANREV+1)))
+	      + ((INTAN - 2006)*12 + INTMS) * TXMOISRETARD2)
+          ) 
+            * present(MOISAN);
+COPETO = si (CMAJ = 7 ou CMAJ = 10 ou CMAJ = 17 ou CMAJ = 18)
+         alors (10)
+         sinon
+              ( si (CMAJ = 8 ou CMAJ = 11)
+                alors (40)
+                sinon (80)
+                finsi )
+         finsi;
+regle 1041140:
+application : pro , iliad , batch , oceans ;
+PTOIR = arr(BTO * COPETO / 100)                
+	 + arr(BTO * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr((BTOINR) * TXINT / 100) ;
+PTOPRS =( arr((PRS-PRSPROV) * COPETO / 100)                
+         + arr((PRS-PRSPROV) * TXINT / 100) )* (1 - V_CNR) ;
+PTOCSG =( arr((CSG-CSGIM) * COPETO / 100)                
+         + arr((CSG-CSGIM) * TXINT / 100) )* (1 - V_CNR) ;
+
+PTORSE1 = (arr(RSE1 * COPETO / 100) + arr(RSE1 * TXINT / 100)) * (1 - V_CNR) ;
+
+PTORSE2 = (arr(RSE2 * COPETO / 100) + arr(RSE2 * TXINT / 100)) * (1 - V_CNR) ;
+
+PTORSE3 = (arr(RSE3 * COPETO / 100) + arr(RSE3 * TXINT / 100)) * (1 - V_CNR) ;
+
+PTORSE4 = (arr(RSE4 * COPETO / 100) + arr(RSE4 * TXINT / 100)) * (1 - V_CNR) ;
+PTORDS =( arr((RDSN-CRDSIM) * COPETO / 100)                
+         + arr((RDSN-CRDSIM) * TXINT / 100) )* (1 - V_CNR) ;
+PTOTAXA= arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * COPETO / 100)
+	 + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * TXINT / 100) ;
+PTOTPCAP= arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * COPETO / 100)
+	 + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * TXINT / 100) ;
+PTOTCHR= arr(max(0,IHAUTREVT- min(IHAUTREVT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * COPETO / 100)
+	 + arr(max(0,IHAUTREVT- min(IHAUTREVT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,IHAUTREVT- min(IHAUTREVT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * TXINT / 100) ;
+PTOGAIN = arr((CGAINSAL - GAINPROV) * COPETO / 100)
+	 + arr((CGAINSAL - GAINPROV) * TXINT / 100) ;
+
+PTOCSAL = arr((CSAL - PROVCSAL) * COPETO / 100)                
+         + arr((CSAL - PROVCSAL) * TXINT / 100) ;
+
+PTOCDIS = (arr((CDIS-CDISPROV) * COPETO / 100) + arr((CDISC-CDISPROV) * TXINT / 100)) * (1 - V_CNR) ;
+
+regle 1041141:
+application : pro , oceans , iliad , batch ;
+BTO = max( 0 , IRN - IRANT )
+           * positif( IAMD1 + 1 - SEUIL_PERCEP );
+BTOINR = max( 0 , IRN - ACODELAISINR - IRANT )
+           * positif( IAMD1 + 1 - SEUIL_PERCEP );
+
+regle 10211:
+application : pro , bareme , batch , oceans , iliad ;
+IRD = IRN * (positif(5 - V_IND_TRAIT)
+              +
+              (1-positif(5-V_IND_TRAIT)) * (
+              positif_ou_nul(IRN+PIR-SEUIL_REC_CP) 
+             + (1 - positif(IRN + PIR))
+             ));
+regle 102112:
+application : oceans ;
+PIRD = positif_ou_nul(IRN+PIR-SEUIL_REC_CP) * PIR -
+       PIR_A * ( positif_ou_nul(PIR_A-SEUIL_REC_CP));
+PTAXAD = positif_ou_nul(IRN+PIR+TAXANET+PTAXA-SEUIL_REC_CP) * PTAXA -
+       PTAXA_A * ( positif_ou_nul(IRN_A-PIR_A+TAXANET_A+PTAXA_A-SEUIL_REC_CP));
+PPCAPD = positif_ou_nul(IRN+PIR+TAXANET+PTAXA+PCAPNET+PPCAP-SEUIL_REC_CP) * PPCAP -
+       PPCAP_A * ( positif_ou_nul(IRN_A-PIR_A+TAXANET_A+PTAXA_A+PCAPNET_A+PPCAP_A-SEUIL_REC_CP));
+PHAUTREVD = positif_ou_nul(IRN+PIR+TAXANET+PTAXA+PCAPNET+PPCAP+HAUTREVNET+PHAUTREV-SEUIL_REC_CP) * PHAUTREV -
+       PHAUTREV_A * ( positif_ou_nul(IRN_A-PIR_A+TAXANET_A+PTAXA_A+PCAPNET_A+PPCAP_A+HAUTREVNET_A+PHAUTREV_A-SEUIL_REC_CP));
+PPRSD = PPRS * CSREC ;
+PCSGD = PCSG* CSREC  ;
+PRDSD = PRDS * CSREC ;
+PCSALD = PCSAL * CSREC ;
+PCDISD = PCDIS * CSREC ;
+PTOTD = PIRD  ;
+regle 10213:
+application : pro , iliad , batch, oceans;
+
+PRSD = NAPPS - V_PSANT ;
+
+CSGD = NAPCS - V_CSANT ;
+
+RDSD = NAPRD - V_RDANT ;
+
+CSALD = NAPCSAL - V_CSALANT ;
+
+CDISD = NAPCDIS - V_CDISANT ;
+CGAIND = NAPGAIN - V_GAINSALANT ;
+CRSE1D = NAPRSE1 - V_RSE1ANT ;
+CRSE2D = NAPRSE2 - V_RSE2ANT ;
+CRSE3D = NAPRSE3 - V_RSE3ANT ;
+CRSE4D = NAPRSE4 - V_RSE4ANT ;
+
+regle 10214:
+application : pro , oceans , iliad ;
+CSNET = (CSGC + PCSG - CICSG - CSGIM) - V_CSANT ;
+RDNET = (RDSC + PRDS - CIRDS - CRDSIM) - V_RDANT ;
+PRSNET = (PRSC + PPRS - CIPRS - PRSPROV) - V_PSANT ;
+GAINNET = (CGAINSALC + PGAIN - GAINPROV) - V_GAINSALANT ;
+CSALNET = (CSALC + PCSAL - PROVCSAL) - V_CSALANT ;
+CDISNET = (CDISC + PCDIS - CDISPROV) - V_CDISANT ;
+RSE1NET = (RSE1 + PRSE1) - V_RSE1ANT ;
+RSE2NET = (RSE2 + PRSE2) - V_RSE2ANT ;
+RSE3NET = (RSE3 + PRSE3) - V_RSE3ANT ;
+RSE4NET = (RSE4 + PRSE4) - V_RSE4ANT ;
+regle 102141:
+application : batch ;
+CSNET = (CSGC + PCSG - CICSG - CSGIM) * (1 - positif(4-V_IND_TRAIT)) ;
+RDNET = (RDSC + PRDS - CIRDS - CRDSIM) * (1 - positif(4-V_IND_TRAIT)) ;
+PRSNET = (PRSC + PPRS - CIPRS - PRSPROV) * (1 - positif(4-V_IND_TRAIT)) ;
+GAINNET = (CGAINSALC + PGAIN - GAINPROV) * (1 - positif(4-V_IND_TRAIT)) ;
+CSALNET = (CSALC + PCSAL - PROVCSAL) * (1 - positif(4-V_IND_TRAIT)) ;
+CDISNET = (CDISC + PCDIS - CDISPROV) * (1 - positif(4-V_IND_TRAIT)) ;
+RSE1NET = (RSE1 + PRSE1) * (1 - positif(4-V_IND_TRAIT)) ;
+RSE2NET = (RSE2 + PRSE2) * (1 - positif(4-V_IND_TRAIT)) ;
+RSE3NET = (RSE3 + PRSE3) * (1 - positif(4-V_IND_TRAIT)) ;
+RSE4NET = (RSE4 + PRSE4) * (1 - positif(4-V_IND_TRAIT)) ;
+regle 10201:
+application : pro , batch , iliad ;
+
+IARD = IAR - IAR_A ;
+
+regle 1041:
+application :  iliad, batch ;
+PIRD = PIR * (positif(5 - V_IND_TRAIT)
+              +
+              (1-positif(5-V_IND_TRAIT)) * (
+              positif_ou_nul(IRN+PIR-SEUIL_REC_CP) 
+              + 
+              (1-positif(IRN+PIR)) 
+             ))
+    - 
+              PIR_A * ( positif_ou_nul(PIR_A-SEUIL_REC_CP) 
+               + 
+              (1-positif(PIR_A))  
+              );
+PPRSD = PPRS * CSREC - PPRS_A * CSRECA ;
+PCSGD = PCSG* CSREC - PCSG_A * CSRECA ;
+PRDSD = PRDS * CSREC - PRDS_A * CSRECA;
+PCSALD = PCSAL * CSREC - PCSAL_A * CSRECA;
+PTOTD = PIRD  ;
+regle 1044:
+application : pro ;
+PIRD = PIR ;
+PPRSD = PPRS ;
+PCSGD = PCSG ;
+PRDSD = PRDS ;
+PCSALD = PCSAL ;
+PTOTD = PTOT ;
+regle 1041133:
+application : pro , oceans , iliad , batch ;
+PTP = BTP2 + BTP3A + BPVCESDOM * positif(V_EAG+V_EAD) + BTP3N + BTP3G + BPTP4 + BTP40+BTP18 + BPTP5;
+regle 114:
+application : pro , oceans , iliad , batch ;
+BPRS = (arr (RDRF + RDRV + RDRCM + RDNP + RDNCP + RDPTP + ESFP + R1649) * (1 - positif(present(RE168)+present(TAX1649))) + RE168) * (1-V_CNR);
+regle 113:
+application : pro , oceans , iliad , batch ;
+PRSC = arr( BPRS * T_PREL_SOC /100 ) * (1 - positif(ANNUL2042)) ;
+regle 103103 :
+application : pro , oceans , iliad , batch ;
+PRS = PRSC - CIPRS;
+regle 1031 :
+application : pro , oceans , iliad , batch ;
+CSGC = arr( BCSG * T_CSG / 100) * (1 - positif(ANNUL2042)) ;
+regle 103101 :
+application : pro , oceans , iliad , batch ;
+CSG = CSGC - CICSG ;
+
+RSE1 = arr(BRSE1 * TXTQ/100) * (1 - positif(ANNUL2042)) ;
+
+RSE2 = arr(BRSE2 * TXTV/100) * (1 - positif(ANNUL2042)) ;
+
+RSE3 = arr(BRSE3 * TXTW/100) * (1 - positif(ANNUL2042)) ;
+
+RSE4 = arr(BRSE4 * TXTX/100) * (1 - positif(ANNUL2042)) ;
+
+RSETOT = RSE1 + RSE2 + RSE3 + RSE4;
+
+regle 10311:
+application : pro , oceans , iliad , batch ;
+RDRF = max(0 , RFCF + RFMIC - MICFR - RFDANT);
+RDRV = RVBCSG ;
+RDNP = 
+   RCSV  
+ + RCSC  
+ + RCSP
+ + max(0,NPLOCNETF)
+   ;
+
+RDNCP = (max( BPVRCM + ABDETPLUS + ABIMPPV + PVJEUNENT - DPVRCM - ABDETMOINS - ABIMPMV,0) +
+             (BPCOSAC + BPCOSAV + BPVCESDOM + BPVKRI + PVPART + PEA+PVIMPOS + BPV18 + BPCOPT + BPV40+ PVTITRESOC)) * (1 - positif(IPVLOC)) ;
+
+RDPTP = BAF1AV + BAF1AC + BAF1AP
+       + BA1AV + BA1AC + BA1AP
+       + max(0,MIB1AV - MIBDEV) + max(0,MIB1AC - MIBDEC) + max(0,MIB1AP - MIBDEP)
+       + BI1AV + BI1AC + BI1AP
+       + max(0,MIBNP1AV - MIBNPDEV) + max(0,MIBNP1AC - MIBNPDEC) + max(0,MIBNP1AP - MIBNPDEP)
+       + BI2AV + BI2AC + BI2AP
+       + max(0,BNCPRO1AV - BNCPRODEV) + max(0,BNCPRO1AC - BNCPRODEC) + max(0,BNCPRO1AP - BNCPRODEP)
+       + BN1AV + BN1AC + BN1AP
+       + max(0,BNCNP1AV - BNCNPDEV) + max(0,BNCNP1AC - BNCNPDEC) + max(0,BNCNP1AP - BNCNPDEP)
+       + PVINVE + PVINCE + PVINPE
+       + PVSOCV + PVSOCC
+       ;
+
+BCSG = (arr(RDRF + RDRV + RDRCM + RDNP + RDNCP + RDPTP + ESFP + R1649 + PREREV) * (1 - positif(present(RE168) + present(TAX1649))) 
+	 + RE168 
+	 + TAX1649) * (1-V_CNR);
+
+BRSE1 = SALECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSE2 = ALLECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSE3 = INDECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSE4 = PENECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSETOT = BRSE1 + BRSE2 + BRSE3 + BRSE4 ;
+
+regle 103111:
+application : pro , oceans , iliad , batch ;
+BDCSG = min (arr(RDRF+RDRV+RDRCM+RDNP+ESFP) * (1-V_CNR), 
+              max( 0, arr (RDRF + RDRV + RDRCM + RDNP
+                           - IPPNCS) ) * (1-V_CNR) )  * (1 - positif(present(RE168)+present(TAX1649)));
+regle 103112 :
+application : pro ;
+DCSGD = CSREC * (arr(BDCSG * T_IDCSG / 100) - DCSGIM) ;
+
+IDCSG = min ( CSG - CSGIM , 
+        (arr( BDCSG * T_IDCSG / 100 ) - DCSGIM) * positif(NAPCRP)) ;
+regle 103114 :
+application : pro , batch , iliad , oceans ;
+DRSED = RSEREC * (arr(BRSE1 * TXTQDED/100) + arr(BRSE2 * TXTVDED/100) + arr(BRSE3 * TXTWDED/100) + arr(BRSE4 * TXTXDED/100)) ;
+
+IDRSE = arr(BRSE1 * TXTQDED/100) + arr(BRSE2 * TXTVDED/100) + arr(BRSE3 * TXTWDED/100) + arr(BRSE4 * TXTXDED/100) ; 
+
+regle 1031121 :
+application : batch ;
+IDCSG = si (V_IND_TRAIT = 4) 
+        alors ((arr(BDCSG * T_IDCSG / 100)-DCSGIM) * positif(NAPCRP))
+        sinon (arr( BDCSG * T_IDCSG / 100)-DCSGIM)
+        finsi ;
+regle 1031122 :
+application : oceans ;
+IDCSG = si (CRDEG < SEUIL_REMBCP et NAPCR = 0)
+        alors (CSREC * IDCSG_A)
+        sinon (CSREC * (arr(BDCSG * T_IDCSG / 100)-DCSGIM + DCSGIM_A))
+        finsi ;
+regle 1031123 :
+application : iliad ;
+DCSGD =   positif(CSREC+V_IDANT)
+        * (arr(BDCSG * T_IDCSG / 100) - DCSGIM + DCSGIM_A);
+IDCSG = si (CRDEG = 0 et NAPCR = 0)
+        alors (0)
+        sinon (abs(DCSGD - V_IDANT ))
+        finsi ;
+regle 103113:
+application : pro , oceans, iliad , batch ;
+RDRCM = max( 0 , 
+		TRCMABD + DRTNC + RAVC + RCMNAB + RTCAR + RCMPRIVM
+		+ RCMIMPAT
+		- RCMSOC
+                  -  positif(RCMRDS)
+		       * min(RCMRDS ,  
+			 RCMABD 
+                       + RCMAV 
+                       + RCMHAD 
+                       + RCMHAB ))
+		       ;
+regle 10312 :
+application : pro , oceans , iliad , batch ;
+BRDS = (arr ( RDRF + RDRV + RDRCM + RDNP + RDNCP + RDPTP + ESFP
+           + IPECO + R1649 + PREREV) * (1 - positif(present(RE168) + present(TAX1649))) + RE168 + TAX1649) * (1-V_CNR) ;
+regle 10313 :
+application : pro , oceans , iliad , batch ;
+RDSC = arr( BRDS * T_RDS / 100 ) * (1 - positif(ANNUL2042));
+regle 103102 :
+application : pro , oceans , iliad , batch ;
+RDSN = RDSC - CIRDS;
+regle 117180:                                                             
+application : pro , oceans , iliad , batch ;                               
+                                                                          
+CSRTF = (RDPTP + PVINVE+PVINCE+PVINPE 
+         + somme(i=V,C,P:BN1Ai + BI1Ai                          
+         + BI2Ai + BA1Ai )) * (1 - positif(IPVLOC)); 
+RDRTF = CSRTF  ;                                                          
+PSRTF = CSRTF  ;                                                          
+regle 119:
+application : pro , iliad , batch , oceans ;
+BASSURV3 = max(0,CESSASSV - LIM_ASSUR3);
+BASSURV2 = max(0,CESSASSV - BASSURV3 - LIM_ASSUR2);
+BASSURV1 = max(0,CESSASSV - BASSURV3 - BASSURV2 - LIM_ASSUR1);
+BASSURC3 = max(0,CESSASSC - LIM_ASSUR3);
+BASSURC2 = max(0,(CESSASSC -BASSURC3) - LIM_ASSUR2);
+BASSURC1 = max(0,(CESSASSC - BASSURC3 -BASSURC2) - LIM_ASSUR1);
+BASSURV = CESSASSV;
+BASSURC = CESSASSC;
+TAXASSURV = arr(BASSURV1 * TX_ASSUR1/100 + BASSURV2 * TX_ASSUR2/100 + BASSURV3 * TX_ASSUR3/100) * (1 - positif(RE168 + TAX1649));
+TAXASSURC = arr(BASSURC1 * TX_ASSUR1/100 + BASSURC2 * TX_ASSUR2/100 + BASSURC3 * TX_ASSUR3/100) * (1 - positif(RE168 + TAX1649));
+TAXASSUR = TAXASSURV + TAXASSURC;
+regle 1120 :
+application : pro , oceans , iliad , batch ;
+BCSAL = BPVOPTCS * (1-positif(present(TAX1649)+present(RE168)));
+CSALC = arr( BCSAL * T_CSAL / 100 ) * (1 - positif(ANNUL2042));
+CSAL = CSALC ;
+
+BGAINSAL = GAINSAL * (1-positif(present(TAX1649)+present(RE168)));
+CGAINSALC = arr( BGAINSAL * T_GAINSAL / 100 ) * (1 - positif(ANNUL2042));
+CGAINSAL = CGAINSALC ;
+
+GAINPROV = max(0 , min(CGAINSAL , CSALPROV)) ;
+
+PROVCSAL = CSALPROV - max(0 , min(CGAINSAL , CSALPROV)) ;
+regle 1125 :
+application : pro , oceans , iliad , batch ;
+
+BCDIS = (GSALV + GSALC) * (1 - V_CNR)* (1-positif(present(TAX1649)+present(RE168))) ;
+
+CDISC = arr(BCDIS * TCDIS / 100) * (1 - positif(ANNUL2042)) ;
+
+CDIS = CDISC ;
diff --git a/sources2011m_9_6/chap-2.m b/sources2011m_9_6/chap-2.m
new file mode 100644
index 0000000000000000000000000000000000000000..a88138bb11c8b5600fc84c64fb7d8484c915ad4d
--- /dev/null
+++ b/sources2011m_9_6/chap-2.m
@@ -0,0 +1,234 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #     CHAPITRE 2. CALCUL DU NET A PAYER
+ #
+ #
+ #
+regle 20100:
+application : batch , oceans, iliad ;
+NAPINI = ( IRN + PIR - IRANT )* (1 - INDTXMIN) *(1 - INDTXMOY)
+       + min(0, IRN + PIR - IRANT) * (INDTXMIN + INDTXMOY)
+       + max(0, IRN + PIR - IRANT) * 
+                                (INDTXMIN*positif(IAVIMBIS-SEUIL_TXMIN )
+                               + INDTXMOY* positif(IAVIMO-SEUIL_TXMIN))
+                      + RASAR * V_CR2;
+RC1INI = positif( NAPINI + 1 - SEUIL_REC_CP ) ;
+regle 20101:
+application : batch, iliad , pro,oceans ;
+NAPTOT = IRCUM + TAXACUM + PCAPCUM + HAUTREVCUM - RECUM;
+regle 20102:
+application : batch ;
+NAPTOTA = IRCUM_A + TAXACUM_A + PCAPCUM_A + HAUTREVCUM_A - RECUM_A;
+regle 20103:
+application : iliad ,oceans;
+NAPTOTA = V_ANTIR + V_TAXANT + V_PCAPANT + V_CHRANT - RECUMBIS ;
+TOTCRA = V_ANTCR ;
+regle 20104:
+application : oceans ;
+OCEDIMP = IRNIN ;
+regle 20105:
+application : oceans , batch, iliad ;
+IRNIN = (IRN - IRANT) * positif(IRN - IRANT) ;
+regle isf 201050:
+application : oceans , batch, iliad ;
+ISF4BASE = ISF4 * positif_ou_nul(ISF4 - SEUIL_REC_CP);  
+ISFIN = ISF4 ;
+regle 201051:
+application : oceans , batch, iliad;
+IRNIN_INR = (IRN - IRANT - ACODELAISINR) * positif(IRN - IRANT) ;
+CSBASE = CSG - CSGIM ;
+RDBASE = RDSN - CRDSIM ;
+PSBASE = PRS - PRSPROV ;
+GAINBASE = CGAINSAL - GAINPROV ;
+CSALBASE = CSAL - PROVCSAL ;
+CDISBASE = CDIS - CDISPROV ;
+RSE1BASE = RSE1 ;
+RSE2BASE = RSE2 ;
+RSE3BASE = RSE3 ;
+RSE4BASE = RSE4 ;
+TAXABASE = arr(max(TAXASSUR + min(0,IRN - IRANT),0)) * positif(IAMD1 + 1 - SEUIL_PERCEP);
+PCAPBASE = arr(max(IPCAPTAXT + min(0,IRN - IRANT + TAXASSUR),0)) * positif(IAMD1 + 1 - SEUIL_PERCEP);
+CHRBASE = arr(max(IHAUTREVT + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT),0)) * positif(IAMD1 + 1 - SEUIL_PERCEP);
+
+IRBASE_I = (IRN -IRANT)*positif(IRN+1-SEUIL_REC_CP); 
+	  
+IRBASE_N = (IRN - IRANT)*(1 - positif (IRN-IRANT + TAXABASE_IRECT+CAPBASE_IRECT+HRBASE_IRECT))
+	   + (IAN - min( IAN , IRE )) * positif (IRN-IRANT + TAXABASE_IRECT+CAPBASE_IRECT+HRBASE_IRECT); 
+TAXABASE_I = TAXASSUR * positif(IAMD1 + 1 - SEUIL_PERCEP);
+TAXABASE_N = arr(max(TAXASSUR + min(0,IRN - IRANT),0)) * positif(IAMD1 + 1 - SEUIL_PERCEP);
+CAPBASE_I = IPCAPTAXT * positif(IAMD1 + 1 - SEUIL_PERCEP);
+CAPBASE_N = arr(max(IPCAPTAXT + min(0,IRN - IRANT + TAXASSUR),0)) * positif(IAMD1 + 1 - SEUIL_PERCEP);
+HRBASE_I = IHAUTREVT * positif(IAMD1 + 1 - SEUIL_PERCEP);
+HRBASE_N = arr(max(IHAUTREVT + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT),0)) * positif(IAMD1 + 1 - SEUIL_PERCEP);
+
+
+IRNN = IRNIN;
+regle 20106:
+application : oceans, iliad;
+PIR = (
+       INCIR_NET
+       + NMAJ1 + NMAJ3 + NMAJ4 
+       + arr((BTOINR) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT)))
+       ;
+PPRS = (
+       INCPS_NET
+       + NMAJP1 + NMAJP4
+       + arr((PRS-PRSPROV) * TXINT / 100)* (1 - V_CNR)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PCSG = (
+       INCCS_NET
+       + NMAJC1 + NMAJC4
+         + arr((CSG-CSGIM) * TXINT / 100) * (1 - V_CNR)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PRDS = (
+       INCRD_NET
+       + NMAJR1 + NMAJR4
+         + arr((RDSN-CRDSIM) * TXINT / 100) * (1 - V_CNR)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PTAXA = (
+       INCTAXA_NET
+       + NMAJTAXA1 + NMAJTAXA3 + NMAJTAXA4
+         + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PPCAP = (
+       INCPCAP_NET
+       + NMAJPCAP1 + NMAJPCAP3 + NMAJPCAP4
+         + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PHAUTREV  = (
+       INCCHR_NET
+       + NMAJCHR1 + NMAJCHR3 + NMAJCHR4
+         + arr(max(0,IHAUTREVT- min(IHAUTREVT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PCSAL = (
+       INCCSAL_NET
+       + NMAJCSAL1 + NMAJCSAL4
+         + arr(max(0,(CSAL - PROVCSAL)) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PGAIN = (
+       INCGAIN_NET
+       + NMAJGAIN1 + NMAJGAIN4
+         + arr(max(0,(CGAINSAL - GAINPROV)) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PRSE1 = (
+       INCRSE1_NET
+       + NMAJRSE11 + NMAJRSE14
+         + arr(RSE1 * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PRSE2 = (
+       INCRSE2_NET
+       + NMAJRSE21 + NMAJRSE24
+         + arr(RSE2 * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PRSE3 = (
+       INCRSE3_NET
+       + NMAJRSE31 + NMAJRSE34
+         + arr(RSE3 * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PRSE4 = (
+       INCRSE4_NET
+       + NMAJRSE41 + NMAJRSE44
+         + arr(RSE4 * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PCDIS = (
+       INCCDIS_NET
+       + NMAJCDIS1 + NMAJCDIS4
+         + arr((CDIS-CDISPROV) * TXINT / 100) * (1 - V_CNR)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+
+PDEG = max(0,PIR_A + PTAXA_A + PPCAP_A - PIR - PTAXA - PPCAP);
+regle 20107:
+application : pro,batch  ;
+PIR = PTOIR * positif_ou_nul(IAMD1 - SEUIL_PERCEP) ;
+PPRS = PTOPRS ;
+PCSG = PTOCSG ;
+PRSE1 = PTORSE1 ;
+PRSE2 = PTORSE2 ;
+PRSE3 = PTORSE3 ;
+PRSE4 = PTORSE4 ;
+PRDS = PTORDS ;
+PTAXA = PTOTAXA ;
+PPCAP = PTOTPCAP ;
+PHAUTREV = PTOTCHR ;
+PGAIN = PTOGAIN ;
+PCSAL = PTOCSAL ;
+PCDIS = PTOCDIS ;
+
+regle 20109:
+application : pro , oceans , iliad , batch ;
+PTOT = PIR ;
+regle 20110:
+application : iliad ,oceans ;
+ILI_SYNT_IR =  positif_ou_nul(IRCUM -RECUM +TAXACUM + PCAPCUM + HAUTREVCUM-PIR-PTAXA-PPCAP-PHAUTREV) * (
+                     null(IRCUM - V_ANTIR) *( IRCUM - PIR_A * positif(PIR))
+                     + (1-null(IRCUM - V_ANTIR)) *  (IRCUM - PIR))
+		  +  (1-positif_ou_nul(IRCUM -RECUM +TAXACUM + PCAPCUM + HAUTREVCUM-PIR-PTAXA-PPCAP-PHAUTREV)) * (
+		    null(IRCUM -RECUM +TAXACUM + PCAPCUM + HAUTREVCUM-PIR-PTAXA-PPCAP-PHAUTREV - V_ANTRE)*
+		    (IRCUM-RECUM+TAXACUM+PCAPCUM+HAUTREVCUM-PIR_A*positif(PIR)-PTAXA_A*positif(PTAXA)-PPCAP_A*positif(PPCAP)-PHAUTREV_A*positif(PHAUTREV))
+		   + (1-null(IRCUM -RECUM +TAXACUM + PCAPCUM + HAUTREVCUM-PIR-PTAXA-PPCAP-PHAUTREV - V_ANTRE)) *
+		    (IRCUM-RECUM+TAXACUM+PCAPCUM+HAUTREVCUM-PIR-PTAXA-PPCAP-PHAUTREV)
+		                                                                                                  );
+PIRNEG =  (1-positif(IAR - IRANT)) * PIR 
+	 + positif_ou_nul(IAR - IRANT) * positif_ou_nul(PIR - (IRCUM - IRANT)) * (PIR - (IRCUM - IRANT))
+	 + 0;
+ILI_SYNT_TAXA = positif_ou_nul(IRCUM -RECUM +TAXACUM + PCAPCUM + HAUTREVCUM-PIR-PTAXA-PPCAP-PHAUTREV) * (
+			                null(TAXACUM - V_TAXANT) * ( TAXACUM - PTAXA_A*positif(PTAXA))
+                                      + (1-null(TAXACUM - V_TAXANT)) * max(0,(TAXACUM - PTAXA - PIRNEG))
+                                       + 0                                                            );
+PTAXANEG =  (1-positif(IAR - IRANT+TAXASSUR-PIR)) * max(0,(PTAXA + PIRNEG - TAXACUM))
+	 + positif_ou_nul(IAR - IRANT+TAXASSUR-PIR) * positif_ou_nul(PTAXA - (IRCUM - IRANT)-TAXACUM-PIR) * (PTAXA - (IRCUM - IRANT)-TAXACUM-PIR)
+	 + 0;
+ILI_SYNT_CAP = positif_ou_nul(IRCUM -RECUM +TAXACUM + PCAPCUM + HAUTREVCUM-PIR-PTAXA-PPCAP-PHAUTREV) * ( 
+		   null(PCAPCUM - V_PCAPANT) * ( PCAPCUM - PPCAP_A*positif(PPCAP))
+                + (1-null(PCAPCUM - V_PCAPANT)) * max(0, PCAPCUM - PPCAP - PTAXANEG)
+                                       + 0                                                            );
+PPCAPNEG =  (1-positif(IAR - IRANT+TAXASSUR-PIR+IPCAPTAXT-PTAXA)) * max(0,(PPCAP+PTAXANEG-PCAPCUM)) 
+	 + positif_ou_nul(IAR - IRANT+TAXASSUR-PIR+IPCAPTAXT-PTAXA) * positif_ou_nul(PPCAP - (IRCUM - IRANT)-TAXACUM-PIR-PCAPCUM-PTAXA) * (PPCAP - (IRCUM - IRANT)-TAXACUM-PIR-PCAPCUM-PTAXA)
+	 + 0;
+ILI_SYNT_CHR = positif_ou_nul(IRCUM -RECUM +TAXACUM + PCAPCUM + HAUTREVCUM-PIR-PTAXA-PPCAP-PHAUTREV) * ( 
+		   null(HAUTREVCUM - V_CHRANT) * ( HAUTREVCUM - PCHR_A*positif(PHAUTREV))
+                + (1-null(HAUTREVCUM - V_CHRANT)) * max(0, HAUTREVCUM - PHAUTREV - PPCAPNEG)
+                                       + 0                                                            );
+regle 20111:
+application : oceans ;
+DEC_CGA_AGA = BAFV + BAFC + BAFP
+            + BAHREV - BAHDEV
+            + BAHREC - BAHDEC
+            + BAHREP - BAHDEP
+            + BIHNOV - BIHDNV 
+            + BIHNOC - BIHDNC 
+            + BIHNOP - BIHDNP 
+            + BICHREV - BICHDEV 
+            + BICHREC - BICHDEC 
+            + BICHREP - BICHDEP 
+            + BNHREV - BNHDEV
+            + BNHREC - BNHDEC
+            + BNHREP - BNHDEP
+            + ANOCEP - DNOCEP
+            + ANOVEP - DNOCEPC
+            + ANOPEP - DNOCEPP
+	    ;
+MAJ_CGA_AGA =  arr(SUPREV * (BAFV + BAFC + BAFP))
+	    + arr(SUPREV * max(0,BAHREV - BAHDEV))
+            + arr(SUPREV * max(0,BAHREC - BAHDEC))
+            + arr(SUPREV * max(0,BAHREP - BAHDEP))
+            + arr(SUPREV * max(0,BIHNOV - BIHDNV ))
+            + arr(SUPREV * max(0,BIHNOC - BIHDNC ))
+            + arr(SUPREV * max(0,BIHNOP - BIHDNP ))
+            + arr(SUPREV * max(0,BICHREV - BICHDEV ))
+            + arr(SUPREV * max(0,BICHREC - BICHDEC ))
+            + arr(SUPREV * max(0,BICHREP - BICHDEP ))
+            + arr(SUPREV * max(0,BNHREV - BNHDEV))
+            + arr(SUPREV * max(0,BNHREC - BNHDEC))
+            + arr(SUPREV * max(0,BNHREP - BNHDEP))
+            + arr(SUPREV * max(0,ANOCEP - DNOCEP))
+            + arr(SUPREV * max(0,ANOVEP - DNOCEPC))
+            + arr(SUPREV * max(0,ANOPEP - DNOCEPP))
+	    ;
+TOT_CGA_AGA = DEC_CGA_AGA + MAJ_CGA_AGA;
diff --git a/sources2011m_9_6/chap-3.m b/sources2011m_9_6/chap-3.m
new file mode 100644
index 0000000000000000000000000000000000000000..cf7d9e1f449c896d165fb4ad64e0ee810d3fec41
--- /dev/null
+++ b/sources2011m_9_6/chap-3.m
@@ -0,0 +1,899 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+                                                                         #####
+  ####   #    #    ##    #####      #     #####  #####   ######         #     #
+ #    #  #    #   #  #   #    #     #       #    #    #  #                    #
+ #       ######  #    #  #    #     #       #    #    #  #####           #####
+ #       #    #  ######  #####      #       #    #####   #                    #
+ #    #  #    #  #    #  #          #       #    #   #   #              #     #
+  ####   #    #  #    #  #          #       #    #    #  ###### #######  #####
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                       CALCUL DE L'IMPOT NET
+ #
+ #
+ #
+ #
+ #
+ #
+regle 301:
+application : pro , oceans , bareme , iliad , batch  ;
+
+IRN = min( 0, IAN + AVFISCOPTER - IRE ) + max( 0, IAN + AVFISCOPTER - IRE ) * positif( IAMD1 + 1 - SEUIL_PERCEP) ;
+
+
+regle 3010:
+application : pro , bareme , oceans , iliad , batch  ;
+
+IAR = min( 0, IAN + AVFISCOPTER - IRE ) + max( 0, IAN + AVFISCOPTER - IRE ) ;
+
+regle 302:
+application : pro , oceans , iliad , batch  ;
+CREREVET =  arr(CIIMPPRO * TX_CREREVET / 100 )
+	  + arr(CIIMPPRO2 * TXGAIN1 / 100 );
+
+CIIMPPROTOT = CIIMPPRO + CIIMPPRO2 ;
+regle 3025:
+application : pro , oceans , iliad , batch  ;
+
+ICREREVET = max(0,min(IAD11 + ITP - CIRCMAVFT - IRETS - min(IAD11 , CRCFA), min(ITP,CREREVET)));
+
+regle 3026:
+application : pro , oceans , iliad , batch , bareme ;
+
+INE = (IRETS + min(IAD11 , CRCFA) + ICREREVET + CICULTUR + CIGPA + CIDONENTR + CICORSE + CIRECH + CIRCMAVFT)
+            * (1-positif(RE168+TAX1649));
+
+IAN = max( 0, (IRB - AVFISCOPTER + ((- IRETS
+                                     - min(IAD11 , CRCFA) 
+                                     - ICREREVET
+                                     - CICULTUR
+                                     - CIGPA
+                                     - CIDONENTR
+                                     - CICORSE
+				     - CIRECH
+			             - CIRCMAVFT )
+                                   * (1 - positif(RE168 + TAX1649)))
+                  + min(TAXASSUR+0 , max(0,INE-IRB+AVFISCOPTER)) 
+                  + min(IPCAPTAXT+0 , max(0,INE-IRB+AVFISCOPTER - min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))))
+                  + min(IHAUTREVT+0 , max(0,INE-IRB+AVFISCOPTER - min(IPCAPTAXT+0 , max(0,INE-IRB+AVFISCOPTER - min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))))
+			   				        - min(TAXASSUR+0 , max(0,INE-IRB+AVFISCOPTER))))
+	      )
+         )
+ ;
+
+regle 3021:
+application : pro , oceans , iliad , batch  ;
+IRE = si ( positif(RE168+TAX1649+0) = 0) 
+      alors
+       (si    ( V_REGCO = 2 )
+        alors ( EPAV + CRICH 
+             + CICA + CIGE  + IPELUS + CREFAM + CREAPP 
+	     + CIDEVDUR + CIDEDUBAIL + CIPRETUD + CILOYIMP + CIGARD
+	     + CREAGRIBIO + CREPROSP + CREFORMCHENT + CREARTS + CICONGAGRI 
+	     + CRERESTAU + CIHABPRIN + CIADCRE + CIDEBITTABAC + CREINTERESSE
+	     + AUTOVERSLIB + CITEC
+	      )
+
+        sinon ( EPAV + CRICH
+             + CICA +  CIGE  + IPELUS + CREFAM + CREAPP + PPETOT - PPERSA
+	     + DIREPARGNE + CIDEVDUR + CIDEDUBAIL + CIPRETUD + CILOYIMP + CIGARD
+	     + CREAGRIBIO + CREPROSP + CREFORMCHENT + CREARTS + CICONGAGRI 
+	     + CRERESTAU + CIHABPRIN + CIADCRE + CIDEBITTABAC + CREINTERESSE 
+	     + AUTOVERSLIB + CITEC
+	      )
+	     
+        finsi)
+       finsi;
+IRE2 = IRE + (BCIGA * (1 - positif(RE168+TAX1649))); 
+regle 3022:
+application : pro , oceans , iliad , batch  ;
+
+CRICH =  IPRECH * (1 - positif(RE168+TAX1649));
+regle 30221:
+application : pro , oceans , iliad , batch  ;
+CIRCMAVFT = max(0,min(IRB + TAXASSUR + IPCAPTAXT +IHAUTREVT - AVFISCOPTER , RCMAVFT * (1 - null(2 - V_REGCO))));
+regle 30222:
+application : pro , oceans , iliad , batch  ;
+CIDIREPARGNE = DIREPARGNE * (1 - positif(RE168 + TAX1649)) * (1 - null(2 - V_REGCO));
+regle 30226:
+application : pro , batch, oceans, iliad;
+CICA =  arr(BAILOC98 * TX_BAIL / 100) * (1 - positif(RE168 + TAX1649)) ;
+regle 3023:
+application : pro , oceans , iliad , batch  ;
+CRCFA = (arr(IPQ1 * REGCI / (RB01 + TONEQUO + CHTOT + RDCSG + ABMAR + ABVIE)) * (1 - positif(RE168+TAX1649)));
+regle 30231:
+application : pro , oceans , iliad , batch  ;
+IRETS = max(0,min(IRB+TAXASSUR+IPCAPTAXT+IHAUTREVT -AVFISCOPTER-CIRCMAVFT , (IPSOUR * (1 - positif(RE168+TAX1649))))) ;
+regle 3023101:
+application : pro , oceans , iliad , batch  ;
+CRDIE = max(0,min(IRB-REI-AVFISCOPTER-CIRCMAVFT-IRETS,(min(IAD11,CRCFA) * (1 - positif(RE168+TAX1649)))));
+CRDIE2 = -CRDIE+0;
+regle 3023102:
+application : pro , oceans , iliad , batch  ;
+BCIAQCUL = arr(CIAQCUL * TX_CIAQCUL / 100);
+CICULTUR = max(0,min(IRB+TAXASSUR+IPCAPTAXT+IHAUTREVT -AVFISCOPTER-CIRCMAVFT-REI-IRETS-CRDIE-ICREREVET,min(IAD11+ITP+TAXASSUR+IPCAPTAXT+IHAUTREVT ,BCIAQCUL)));
+regle 3023103:
+application : pro , oceans , iliad , batch  ;
+BCIGA = CRIGA;
+CIGPA = max(0,min(IRB+TAXASSUR+IPCAPTAXT+IHAUTREVT -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CICULTUR,BCIGA));
+regle 3023104:
+application : pro , oceans , iliad , batch  ;
+BCIDONENTR = RDMECENAT * (1-V_CNR) ;
+CIDONENTR = max(0,min(IRB+TAXASSUR+IPCAPTAXT+IHAUTREVT -AVFISCOPTER-CIRCMAVFT-REI-IRETS-CRDIE-ICREREVET-CICULTUR-CIGPA,BCIDONENTR));
+regle 3023105:
+application : pro , oceans , iliad , batch  ;
+CICORSE = max(0,min(IRB+TAXASSUR+IPCAPTAXT+IHAUTREVT -AVFISCOPTER-CIRCMAVFT-IPPRICORSE-IRETS-CRDIE-ICREREVET-CICULTUR-CIGPA-CIDONENTR,CIINVCORSE+IPREPCORSE));
+TOTCORSE = CIINVCORSE + IPREPCORSE ;
+REPCORSE = abs(CIINVCORSE+IPREPCORSE-CICORSE) ;
+regle 3023106:
+application : pro , oceans , iliad , batch  ;
+CIRECH = max(0,min(IRB+TAXASSUR+IPCAPTAXT+IHAUTREVT -AVFISCOPTER-CIRCMAVFT-IPPRICORSE-IRETS-CRDIE-ICREREVET-CICULTUR-CIGPA-CIDONENTR-CIINVCORSE-IPREPCORSE,IPCHER));
+REPRECH = abs(IPCHER - CIRECH) ;
+IRECR = abs(min(0 ,IRB+TAXASSUR+IPCAPTAXT+IHAUTREVT -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CICULTUR-CIGPA-CIDONENTR-CICORSE));
+regle 3023107:
+application : pro , oceans , iliad , batch  ;
+CICONGAGRI = CRECONGAGRI * (1-V_CNR) ;
+regle 3023108:
+application : pro , oceans , iliad , batch  ;
+IRECT = max(0,min(IRB,IPSOUR + min(IAD11 , CRCFA) + CICORSE + CICULTUR + CIDONENTR + ICREREVET + CIRCMAVFT));
+
+IAVF = IRE - EPAV + CICORSE + CICULTUR + CIGPA + CIRCMAVFT ;
+
+
+DIAVF2 = (BCIGA + IPRECH + IPCHER + IPELUS + RCMAVFT + DIREPARGNE) * (1 - positif(RE168+TAX1649)) + CIRCMAVFT * positif(RE168+TAX1649);
+
+
+IAVF2 = (CIDIREPARGNE + IPRECH + CIRECH + IPELUS + CIRCMAVFT + CIGPA + 0) * (1-positif(RE168+TAX1649))
++ CIRCMAVFT * positif(RE168+TAX1649);
+
+IAVFGP = IAVF2 + CREFAM + CREAPP;
+regle 3023109:
+application : pro , oceans , iliad , batch  ;
+I2DH = EPAV;
+regle 30231011:
+application : pro , oceans , iliad , batch  ;
+BTANTGECUM = (V_BTGECUM * (1 - present(DEPMOBIL)) + DEPMOBIL);
+P2GE = max( (   PLAF_GE2 * (1 + BOOL_0AM)
+
+             + PLAF_GE2_PACQAR * (V_0CH + V_0DP)
+
+             + PLAF_GE2_PAC * (V_0CR + V_0CF + V_0DJ + V_0DN)  
+
+            ) - BTANTGECUM
+
+             , 0
+          ) ;
+BGEDECL = RDTECH + RDEQPAHA + RDGEQ ;
+BGERET = min(RDTECH + RDEQPAHA + RDGEQ , P2GE) * (1 - V_CNR);
+BGTECH = min(RDTECH , P2GE) * (1 - V_CNR) ;
+BGEPAHA = min(RDEQPAHA , max(P2GE - BGTECH,0)) * (1 - V_CNR) ;
+BGEAUTRE = min(RDGEQ , max(P2GE - BGTECH - BGEPAHA,0)) * (1 - V_CNR) ;
+TOTBGE = BGTECH + BGEPAHA + BGEAUTRE ;
+RGTECH = (BGTECH * TX_RGTECH / 100 ) * (1 - V_CNR) ;
+RGEPAHA =  (BGEPAHA * TX_RGEPAHA / 100 ) * (1 - V_CNR) ;
+RGEAUTRE = (BGEAUTRE * TX_RGEAUTRE / 100 ) * (1 - V_CNR) ;
+CIGE = arr (RGTECH + RGEPAHA + RGEAUTRE) * (1 - positif(RE168 + TAX1649)) * (1 - V_CNR) ;
+GECUM = BGTECH + BGEPAHA + BGEAUTRE + BTANTGECUM ;
+DAIDC = CREAIDE ;
+AAIDC = BADCRE * (1-V_CNR) ;
+CIADCRE = arr (BADCRE * TX_AIDOMI /100) * (1 - positif(RE168 + TAX1649)) * (1 - V_CNR) ;
+regle 30231012:
+application : pro , oceans , iliad , batch  ;
+DLOYIMP = LOYIMP ;
+ALOYIMP = DLOYIMP;
+CILOYIMP = arr(ALOYIMP*TX_LOYIMP/100) * (1 - positif(RE168 + TAX1649)) ;
+regle 30231013:
+application : pro , oceans , iliad , batch  ;
+DDEVDUR = CRENRJ + CRENRJRNOUV + CRECHOBOI + CRECHOCON2 + CRECHOBAS ;
+
+PDEVDUR = max( (   PLAF_DEVDUR * (1 + BOOL_0AM)
+                  + PLAF_GE2_PACQAR * (V_0CH+V_0DP)
+	          + PLAF_GE2_PAC * (V_0CR+V_0CF+V_0DJ+V_0DN) 
+		 ) - (V_BTDEVDUR*(1-present(DEPCHOBAS))+DEPCHOBAS) , 0 );
+
+ADEVDUR = max (0 , min (DDEVDUR,PDEVDUR)) * (1 - V_CNR);
+R1DEVDUR = min (ADEVDUR , CRENRJ) ;
+R2DEVDUR = min (max(0 , ADEVDUR-R1DEVDUR) , CRENRJRNOUV) ;
+R3DEVDUR = min (max(0 , ADEVDUR-R1DEVDUR-R2DEVDUR) , CRECHOBOI) ;
+R4DEVDUR = min (max(0 , ADEVDUR-R1DEVDUR-R2DEVDUR-R3DEVDUR) , CRECHOCON2) ;
+R5DEVDUR = min (max(0 , ADEVDUR-R1DEVDUR-R2DEVDUR-R3DEVDUR-R4DEVDUR) , CRECHOBAS) ;
+CIDEVDUR = arr (R1DEVDUR * TX50/100 + R2DEVDUR * TX45/100 + R3DEVDUR * TX36/100  
+		 + R4DEVDUR * TX22/100 + R5DEVDUR * TX13/100) 
+	    * (1 - positif(RE168 + TAX1649)) * (1 - V_CNR) ;  
+
+DEVDURCUM = ADEVDUR + (V_BTDEVDUR*(1-present(DEPCHOBAS))+DEPCHOBAS);
+regle 30231014:
+application : pro , oceans , iliad , batch  ;
+DEVDURBAIL = CINRJ + CINRJBAIL + CIBOIBAIL + CICHO2BAIL + CIDEP15 ;
+ADEVDUBAIL = DEVDURBAIL * ((V_REGCO+0) dans (1,3,5,6));
+R1DEDUBAIL = CINRJ ;
+R2DEDUBAIL = CINRJBAIL ;
+R3DEDUBAIL = CIBOIBAIL ;
+R4DEDUBAIL = CICHO2BAIL ;
+R5DEDUBAIL = CIDEP15 ;
+
+CIDEDUBAIL = arr (R1DEDUBAIL * TX50/100 + R2DEDUBAIL * TX45/100 + R3DEDUBAIL * TX36/100
+		 + R4DEDUBAIL * TX22/100 + R5DEDUBAIL * TX13/100)
+		  * (1 - positif(RE168 + TAX1649)) * ((V_REGCO+0) dans (1,3,5,6)) ;
+DEVCUMBAIL = ADEVDUBAIL;
+regle 30231015:
+application : pro , oceans , iliad , batch  ;
+DTEC = RISKTEC;
+ATEC = positif(DTEC) * DTEC;
+CITEC = arr (ATEC * TX30/100);
+regle 30231016:
+application : pro , oceans , iliad , batch  ;
+DPRETUD = PRETUD + PRETUDANT ;
+APRETUD = max(min(PRETUD,LIM_PRETUD) + min(PRETUDANT,LIM_PRETUD*CASEPRETUD),0) * (1-V_CNR) ;
+
+CIPRETUD = arr(APRETUD*TX_PRETUD/100) * (1 - positif(RE168 + TAX1649)) * (1-V_CNR) ;
+regle 30231017:
+application : pro , oceans , iliad , batch  ;
+
+EM7 = somme (i=0..7: min (1 , max(0 , V_0Fi + AG_LIMFG - V_ANREV)))
+      + (1 - positif(somme(i=0..7:V_0Fi) + 0)) * V_0CF ;
+
+EM7QAR = somme (i=0..5: min (1 , max(0 , V_0Hi + AG_LIMFG - V_ANREV)))
+         + somme (j=0..3: min (1 , max(0 , V_0Pj + AG_LIMFG - V_ANREV)))
+         + (1 - positif(somme(i=0..5: V_0Hi) + somme(j=0..3: V_0Pj) + 0)) * (V_0CH + V_0DP) ;
+
+BRFG = min(RDGARD1,PLAF_REDGARD) + min(RDGARD2,PLAF_REDGARD)
+       + min(RDGARD3,PLAF_REDGARD) + min(RDGARD4,PLAF_REDGARD)
+       + min(RDGARD1QAR,PLAF_REDGARDQAR) + min(RDGARD2QAR,PLAF_REDGARDQAR)
+       + min(RDGARD3QAR,PLAF_REDGARDQAR) + min(RDGARD4QAR,PLAF_REDGARDQAR)
+       ;
+RFG = arr ( (BRFG) * TX_REDGARD /100 ) * (1 -V_CNR);
+DGARD = somme(i=1..4:RDGARDi)+somme(i=1..4:RDGARDiQAR);
+AGARD = (BRFG) * (1-V_CNR) ;
+CIGARD = RFG * (1 - positif(RE168 + TAX1649)) ;
+regle 30231018:
+application : pro , oceans , iliad , batch  ;
+
+PREHAB = PREHABT + PREHABTN + PREHABTN1 + PREHABT1 + PREHABT2 + PREHABTN2 ;
+
+BCIHP = max(( PLAFHABPRIN * (1 + BOOL_0AM) * (1+positif(V_0AP+V_0AF+V_0CG+V_0CI+V_0CR))
+	         + (PLAFHABPRINENF/2) * (V_0CH + V_0DP)
+         	 + PLAFHABPRINENF * (V_0CR + V_0CF + V_0DJ + V_0DN)
+	          ) 
+	     ,0);
+
+BCIHABPRIN1 = min(BCIHP , PREHABT) * (1 - V_CNR) ;
+BCIHABPRIN2 = min(max(0,BCIHP-BCIHABPRIN1),PREHABT1) * (1 - V_CNR);
+BCIHABPRIN3 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2),PREHABTN) * (1 - V_CNR);
+BCIHABPRIN4 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2-BCIHABPRIN3),PREHABTN1) * (1 - V_CNR);
+BCIHABPRIN5 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2-BCIHABPRIN3-BCIHABPRIN4),PREHABT2) * (1 - V_CNR);
+BCIHABPRIN6 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2-BCIHABPRIN3-BCIHABPRIN4-BCIHABPRIN5),PREHABTN2) * (1 - V_CNR);
+
+BCIHABPRIN = BCIHABPRIN1 + BCIHABPRIN2 + BCIHABPRIN3 + BCIHABPRIN4 + BCIHABPRIN5 + BCIHABPRIN6 ;
+CIHABPRIN = arr((BCIHABPRIN1 * TX40/100)
+		+ (BCIHABPRIN2 * TX40/100)
+		+ (BCIHABPRIN3 * TX30/100)
+                + (BCIHABPRIN4 * TX25/100)
+                + (BCIHABPRIN5 * TX20/100)
+		+ (BCIHABPRIN6 * TX15/100))
+		* (1 - positif(RE168 + TAX1649)) * (1 - V_CNR);
+regle 302311:
+application : pro , oceans , iliad , batch ;
+CICSG = min( CSGC , arr( IPPNCS * T_CSG/100 ));
+CIRDS = min( RDSC , arr( IPPNCS * T_RDS/100 ));
+CIPRS = min( PRSC , arr( IPPNCS * T_PREL_SOC/100 ));
+
+
+regle 30400:
+application : pro , oceans ,  iliad , batch  ;
+PPE_DATE_DEB = positif(V_0AV+0) * positif(V_0AZ+0) * (V_0AZ+0)
+              + positif(DATRETETR+0) * (DATRETETR+0) * null(V_0AZ+0) ;
+
+PPE_DATE_FIN = positif(BOOL_0AM) * positif(V_0AZ+0) * (V_0AZ+0)
+              + positif(DATDEPETR+0) * (DATDEPETR+0) * null(V_0AZ+0) ;
+regle 30500:
+application : pro , oceans ,  iliad , batch  ;
+PPE_DEBJJMMMM =  PPE_DATE_DEB + (01010000+V_ANREV) * null(PPE_DATE_DEB+0);
+PPE_DEBJJMM = arr( (PPE_DEBJJMMMM - V_ANREV)/10000);
+PPE_DEBJJ =  inf(PPE_DEBJJMM/100);
+PPE_DEBMM =  PPE_DEBJJMM -  (PPE_DEBJJ*100);
+PPE_DEBRANG= PPE_DEBJJ 
+             + (PPE_DEBMM - 1 ) * 30;
+regle 30501:
+application : pro , oceans ,  iliad , batch  ;
+PPE_FINJJMMMM =  PPE_DATE_FIN + (30120000+V_ANREV) * null(PPE_DATE_FIN+0);
+PPE_FINJJMM = arr( (PPE_FINJJMMMM - V_ANREV)/10000);
+PPE_FINJJ =  inf(PPE_FINJJMM/100);
+PPE_FINMM =  PPE_FINJJMM -  (PPE_FINJJ*100);
+PPE_FINRANG= PPE_FINJJ 
+             + (PPE_FINMM - 1 ) * 30
+             - 1 * positif (PPE_DATE_FIN);
+regle 30503:
+application : pro , oceans ,  iliad , batch  ;
+PPE_DEBUT = PPE_DEBRANG ;
+PPE_FIN   = PPE_FINRANG ;
+PPENBJ = max(1, arr(min(PPENBJAN , PPE_FIN - PPE_DEBUT + 1))) ;
+regle 30508:
+application : pro , oceans ,  iliad , batch  ;
+PPETX1 = PPE_TX1 ;
+PPETX2 = PPE_TX2 ;
+PPETX3 = PPE_TX3 ;
+regle 30510:
+application : pro , oceans ,  iliad , batch  ;
+PPE_BOOL_ACT_COND = positif(
+
+
+   positif ( TSHALLOV ) 
+ + positif ( TSHALLOC ) 
+ + positif ( TSHALLO1 ) 
+ + positif ( TSHALLO2 ) 
+ + positif ( TSHALLO3 ) 
+ + positif ( TSHALLO4 ) 
+ + positif ( GLD1V ) 
+ + positif ( GLD2V ) 
+ + positif ( GLD3V ) 
+ + positif ( GLD1C ) 
+ + positif ( GLD2C ) 
+ + positif ( GLD3C ) 
+ + positif ( BPCOSAV ) 
+ + positif ( BPCOSAC ) 
+ + positif ( TSASSUV ) 
+ + positif ( TSASSUC ) 
+ + positif( CARTSV ) * positif( CARTSNBAV )
+ + positif( CARTSC ) * positif( CARTSNBAC )
+ + positif( CARTSP1 ) * positif( CARTSNBAP1 )
+ + positif( CARTSP2 ) * positif( CARTSNBAP2 )
+ + positif( CARTSP3 ) * positif( CARTSNBAP3 )
+ + positif( CARTSP4 ) * positif( CARTSNBAP4 )
+ + positif( TSELUPPEV )
+ + positif( TSELUPPEC )
+ + positif( HEURESUPV )
+ + positif( HEURESUPC )
+ + positif( HEURESUPP1 )
+ + positif( HEURESUPP2 )
+ + positif( HEURESUPP3 )
+ + positif( HEURESUPP4 )
+ + positif ( FEXV ) 
+ + positif ( BAFV ) 
+ + positif ( BAFPVV ) 
+ + positif ( BAEXV ) 
+ + positif ( BACREV ) + positif ( 4BACREV )
+ + positif ( BACDEV ) 
+ + positif ( BAHEXV ) 
+ + positif ( BAHREV ) + positif ( 4BAHREV )
+ + positif ( BAHDEV ) 
+ + positif ( MIBEXV ) 
+ + positif ( MIBVENV ) 
+ + positif ( MIBPRESV ) 
+ + positif ( MIBPVV ) 
+ + positif ( BICEXV ) 
+ + positif ( BICNOV ) 
+ + positif ( BICDNV ) 
+ + positif ( BIHEXV ) 
+ + positif ( BIHNOV ) 
+ + positif ( BIHDNV ) 
+ + positif ( FEXC ) 
+ + positif ( BAFC ) 
+ + positif ( BAFPVC ) 
+ + positif ( BAEXC ) 
+ + positif ( BACREC ) + positif ( 4BACREC )
+ + positif ( BACDEC ) 
+ + positif ( BAHEXC ) 
+ + positif ( BAHREC ) + positif ( 4BAHREC )
+ + positif ( BAHDEC ) 
+ + positif ( MIBEXC ) 
+ + positif ( MIBVENC ) 
+ + positif ( MIBPRESC ) 
+ + positif ( MIBPVC ) 
+ + positif ( BICEXC ) 
+ + positif ( BICNOC ) 
+ + positif ( BICDNC ) 
+ + positif ( BIHEXC ) 
+ + positif ( BIHNOC ) 
+ + positif ( BIHDNC ) 
+ + positif ( FEXP ) 
+ + positif ( BAFP ) 
+ + positif ( BAFPVP ) 
+ + positif ( BAEXP ) 
+ + positif ( BACREP ) + positif ( 4BACREP )
+ + positif ( BACDEP ) 
+ + positif ( BAHEXP ) 
+ + positif ( BAHREP ) + positif ( 4BAHREP )
+ + positif ( BAHDEP ) 
+ + positif ( MIBEXP ) 
+ + positif ( MIBVENP ) 
+ + positif ( MIBPRESP ) 
+ + positif ( BICEXP ) 
+ + positif ( MIBPVP ) 
+ + positif ( BICNOP ) 
+ + positif ( BICDNP ) 
+ + positif ( BIHEXP ) 
+ + positif ( BIHNOP ) 
+ + positif ( BIHDNP ) 
+ + positif ( BNCPROEXV ) 
+ + positif ( BNCPROV ) 
+ + positif ( BNCPROPVV ) 
+ + positif ( BNCEXV ) 
+ + positif ( BNCREV ) 
+ + positif ( BNCDEV ) 
+ + positif ( BNHEXV ) 
+ + positif ( BNHREV ) 
+ + positif ( BNHDEV ) 
+ + positif ( BNCCRV ) 
+ + positif ( BNCPROEXC ) 
+ + positif ( BNCPROC ) 
+ + positif ( BNCPROPVC ) 
+ + positif ( BNCEXC ) 
+ + positif ( BNCREC ) 
+ + positif ( BNCDEC ) 
+ + positif ( BNHEXC ) 
+ + positif ( BNHREC ) 
+ + positif ( BNHDEC ) 
+ + positif ( BNCCRC ) 
+ + positif ( BNCPROEXP ) 
+ + positif ( BNCPROP ) 
+ + positif ( BNCPROPVP ) 
+ + positif ( BNCEXP ) 
+ + positif ( BNCREP ) 
+ + positif ( BNCDEP ) 
+ + positif ( BNHEXP ) 
+ + positif ( BNHREP ) 
+ + positif ( BNHDEP )
+ + positif ( BNCCRP ) 
+ + positif ( BIPERPV )
+ + positif ( BIPERPC )
+ + positif ( BIPERPP )
+ + positif ( BAFORESTV )
+ + positif ( BAFORESTC )
+ + positif ( BAFORESTP )
+ + positif ( AUTOBICVV ) + positif ( AUTOBICPV ) + positif ( AUTOBNCV ) 
+ + positif ( AUTOBICVC ) + positif ( AUTOBICPC ) + positif ( AUTOBNCC )
+ + positif ( AUTOBICVP ) + positif ( AUTOBICPP ) + positif ( AUTOBNCP )
+ + positif ( LOCPROCGAV ) + positif ( LOCPROV ) + positif ( LOCDEFPROCGAV )
+ + positif ( LOCDEFPROV ) + positif ( LOCPROCGAC ) + positif ( LOCPROC )
+ + positif ( LOCDEFPROCGAC ) + positif ( LOCDEFPROC ) + positif ( LOCPROCGAP ) 
+ + positif ( LOCPROP ) + positif ( LOCDEFPROCGAP ) + positif ( LOCDEFPROP )
+ + positif ( XHONOAAV ) + positif ( XHONOAAC ) + positif ( XHONOAAP )
+ + positif ( XHONOV ) + positif ( XHONOC ) + positif ( XHONOP )
+);
+regle 30520:
+application : pro , oceans ,  iliad , batch  ;
+PPE_BOOL_SIFC 	= (1 - BOOL_0AM)*(1 - positif (V_0AV)*positif(V_0AZ)) ;
+
+
+PPE_BOOL_SIFM	= BOOL_0AM  + positif (V_0AV)*positif(V_0AZ) ;
+
+PPESEUILKIR   = PPE_BOOL_SIFC * PPELIMC  
+                + PPE_BOOL_SIFM * PPELIMM
+                + (NBPT - 1 - PPE_BOOL_SIFM - NBQAR) * 2 * PPELIMPAC
+                + NBQAR * PPELIMPAC * 2 ;
+
+
+PPE_KIRE =  REVKIRE * PPENBJAN / PPENBJ;
+
+PPE_BOOL_KIR_COND =   (1 - null (IND_TDR)) * positif_ou_nul ( PPESEUILKIR - PPE_KIRE);
+
+regle 30525:
+application : pro , oceans ,  iliad , batch  ;
+pour i=V,C:
+PPE_BOOL_NADAi = positif (TSHALLOi+HEURESUPi+0 ) * null ( PPETPi+0  ) * null (PPENHi+0);
+pour i=1,2,3,4:
+PPE_BOOL_NADAi = positif (TSHALLOi+HEURESUPPi+0 ) * null ( PPETPPi+0 ) * null (PPENHPi+0);
+
+PPE_BOOL_NADAU = positif(TSHALLO1 + TSHALLO2 + TSHALLO3 + TSHALLO4 
+			  + HEURESUPP1 + HEURESUPP2 + HEURESUPP3 + HEURESUPP4 + 0)
+                 * null ( PPETPP1 + PPETPP2 + PPETPP3 + PPETPP4     +0)
+                 * null ( PPENHP1 + PPENHP2 + PPENHP3 + PPENHP4     +0);  
+
+PPE_BOOL_NADAN=0;
+
+regle 30530:
+application : pro , oceans ,  iliad , batch  ;
+pour i=V,C:
+PPE_SALAVDEFi =
+   TSHALLOi
+ + HEURESUPi
+ +  BPCOSAi  
+ + GLD1i  
+ + GLD2i  
+ + GLD3i  
+ + TSASSUi  
+ + TSELUPPEi
+ + CARTSi * positif(CARTSNBAi)
+  ;
+pour i =1..4:
+PPE_SALAVDEFi= TSHALLOi + HEURESUPPi + CARTSPi * positif(CARTSNBAPi) ;
+
+regle 30540:
+application : pro , oceans ,  iliad , batch  ;
+pour i = V,C,P:
+PPE_RPRO1i =   
+(
+   FEXi  
+ + BAFi  
+ + BAEXi  
+ + BACREi + 4BACREi
+ - BACDEi  
+ + BAHEXi  
+ + BAHREi + 4BAHREi 
+ - BAHDEi  
+ + BICEXi  
+ + BICNOi  
+ - BICDNi  
+ + BIHEXi  
+ + BIHNOi  
+ - BIHDNi  
+ + BNCEXi  
+ + BNCREi  
+ - BNCDEi  
+ + BNHEXi  
+ + BNHREi  
+ - BNHDEi  
+ + MIBEXi  
+ + BNCPROEXi  
+ + TMIB_NETVi  
+ + TMIB_NETPi
+ + TSPENETPi  
+ + BAFPVi  
+ + MIBPVi  
+ + BNCPROPVi  
+ + BAFORESTi
+ + LOCPROi + LOCPROCGAi - LOCDEFPROCGAi - LOCDEFPROi
+ + XHONOAAi + XHONOi
+
+) ;
+
+pour i = V,C,P:
+PPE_AVRPRO1i = 
+(
+   FEXi  
+ + BAFi  
+ + BAEXi  
+ + BACREi + 4BACREi 
+ - BACDEi  
+ + BAHEXi  
+ + BAHREi + 4BAHREi 
+ - BAHDEi  
+ + BICEXi  
+ + BICNOi  
+ - BICDNi  
+ + BIHEXi   
+ + BIHNOi  
+ - BIHDNi  
+ + BNCEXi  
+ + BNCREi  
+ - BNCDEi  
+ + BNHEXi  
+ + BNHREi  
+ - BNHDEi  
+ + MIBEXi  
+ + BNCPROEXi  
+ + MIBVENi  
+ + MIBPRESi
+ + BNCPROi  
+ + BAFPVi  
+ + MIBPVi  
+ + BNCPROPVi  
+ + BAFORESTi
+ + AUTOBICVi + AUTOBICPi + AUTOBNCi 
+ + LOCPROi + LOCPROCGAi + LOCDEFPROCGAi + LOCDEFPROi
+ + XHONOAAi + XHONOi
+) ;
+
+pour i=V,C,P:
+SOMMEAVRPROi = present(FEXi) + present(BAFi) + present(BAEXi) 
+	      + present(BACREi) + present(4BACREi) + present(BACDEi) + present(BAHEXi) 
+	      + present(BAHREi) + present(4BAHREi) + present(BAHDEi) + present(BICEXi) + present(BICNOi) 
+	      + present(BICDNi) + present(BIHEXi) + present(BIHNOi) 
+	      + present(BIHDNi) + present(BNCEXi) + present(BNCREi) 
+              + present(BNCDEi) + present(BNHEXi) + present(BNHREi) + present(BNHDEi) + present(MIBEXi) 
+              + present(BNCPROEXi) + present(MIBVENi) + present(MIBPRESi) + present(BNCPROi) 
+	      + present(BAFPVi) + present(MIBPVi) + present(BNCPROPVi) + present(BAFORESTi)
+	      + present(AUTOBICVi) + present(AUTOBICPi) + present(AUTOBNCi) + present(LOCPROi) + present(LOCPROCGAi)
+	      + present(LOCDEFPROCGAi) + present(LOCDEFPROi) + present(XHONOAAi) + present(XHONOi)
+;
+
+pour i=V,C,P:
+PPE_RPROi = positif(PPE_RPRO1i) * arr((1+ PPETXRPRO/100) * PPE_RPRO1i )
+           +(1-positif(PPE_RPRO1i)) * arr(PPE_RPRO1i * (1- PPETXRPRO/100));
+regle 30550:
+application : pro , oceans ,  iliad , batch  ;
+
+
+PPE_BOOL_SEULPAC = null(V_0CF + V_0CR + V_0DJ + V_0DN + V_0CH + V_0DP -1);
+
+PPE_SALAVDEFU = (somme(i=1,2,3,4: PPE_SALAVDEFi))* PPE_BOOL_SEULPAC;
+PPE_KIKEKU = 1 * positif(PPE_SALAVDEF1 )
+           + 2 * positif(PPE_SALAVDEF2 )
+           + 3 * positif(PPE_SALAVDEF3 )
+           + 4 * positif(PPE_SALAVDEF4 );
+
+
+pour i=V,C:
+PPESALi = PPE_SALAVDEFi + PPE_RPROi*(1 - positif(PPE_RPROi)) ;
+ 
+PPESALU = (PPE_SALAVDEFU + PPE_RPROP*(1 - positif(PPE_RPROP)))
+          * PPE_BOOL_SEULPAC;
+
+
+pour i = 1..4:
+PPESALi =  PPE_SALAVDEFi * (1 - PPE_BOOL_SEULPAC) ;
+
+regle 30560:
+application : pro , oceans ,  iliad , batch  ;
+
+pour i=V,C:
+PPE_RTAi = max(0,PPESALi +  PPE_RPROi * positif(PPE_RPROi));
+
+
+pour i =1..4:
+PPE_RTAi = PPESALi;
+
+PPE_RTAU = max(0,PPESALU + PPE_RPROP * positif(PPE_RPROP)) * PPE_BOOL_SEULPAC;
+PPE_RTAN = max(0, PPE_RPROP ) * (1 - PPE_BOOL_SEULPAC);
+regle 30570:
+application : pro , oceans ,  iliad , batch  ;
+pour i=V,C:
+PPE_BOOL_TPi = positif
+             (
+                 positif ( PPETPi+0) * positif(PPE_SALAVDEFi+0)
+               + null (PPENHi+0) * null(PPETPi+0)* positif(PPE_SALAVDEFi)
+               + positif ( 360 / PPENBJ * ( PPENHi*positif(PPE_SALAVDEFi+0) /1820 
+                                            + PPENJi*(present(PPE_AVRPRO1i)-(null(PPE_AVRPRO1i)*null(SOMMEAVRPROi-1)*present(BAFi))) /360 ) - 1 )
+               + positif_ou_nul (PPENHi*positif(PPE_SALAVDEFi+0) - 1820 )
+               + positif_ou_nul (PPENJi*(present(PPE_AVRPRO1i)-(null(PPE_AVRPRO1i)*null(SOMMEAVRPROi-1)*present(BAFi))) - 360 )
+               + positif(PPEACi*(present(PPE_AVRPRO1i)-(null(PPE_AVRPRO1i)*null(SOMMEAVRPROi-1)*present(BAFi)))+0)  
+               + (1 - positif(PPENJi*(present(PPE_AVRPRO1i)-(null(PPE_AVRPRO1i)*null(SOMMEAVRPROi-1)*present(BAFi)))))
+				    *(present(PPE_AVRPRO1i)-(null(PPE_AVRPRO1i)*null(SOMMEAVRPROi-1)*present(BAFi)))
+             ) ;
+
+PPE_BOOL_TPU = positif
+             (
+               (  positif ( PPETPP1 + PPETPP2 + PPETPP3 + PPETPP4) * positif(PPE_SALAVDEF1+PPE_SALAVDEF2+PPE_SALAVDEF3+PPE_SALAVDEF4)
+               + null (PPENHP1+PPENHP2+PPENHP3+PPENHP4+0)
+                 * null(PPETPP1+PPETPP2+PPETPP3+PPETPP4+0)
+                 * positif(PPE_SALAVDEF1+PPE_SALAVDEF2
+                          +PPE_SALAVDEF3+PPE_SALAVDEF4)  
+               + positif( ( 360 / PPENBJ * ((PPENHP1+PPENHP2+PPENHP3+PPENHP4)*positif(PPE_SALAVDEF1+PPE_SALAVDEF2+PPE_SALAVDEF3+PPE_SALAVDEF4))/1820 + PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))) /360 ) - 1 )
+               + positif_ou_nul (((PPENHP1+PPENHP2+PPENHP3+PPENHP4)*positif(PPE_SALAVDEF1+PPE_SALAVDEF2+PPE_SALAVDEF3+PPE_SALAVDEF4))-1820)
+               + positif_ou_nul ( PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))) - 360 )
+               + positif(PPEACP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))))  
+               + (1 - positif(PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP)))))
+			  *(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP)))) 
+          * PPE_BOOL_SEULPAC
+              );
+
+
+pour i =1,2,3,4:
+PPE_BOOL_TPi = positif  
+             (   positif ( PPETPPi) * positif(PPE_SALAVDEFi+0)
+              + null (PPENHPi+0) * null(PPETPPi+0)* positif(PPE_SALAVDEFi)  
+              + positif_ou_nul ( 360 / PPENBJ * PPENHPi*positif(PPE_SALAVDEFi+0) - 1820 )
+             );
+
+PPE_BOOL_TPN= positif 
+             (
+                positif_ou_nul ( 360 / PPENBJ * PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))) - 360 )
+              + positif(PPEACP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))))  
+              + (1 - positif(PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP)))))
+		   *(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP)))
+             ) ;
+
+regle 30580:
+application : pro , oceans ,  iliad , batch  ;
+
+
+pour i =V,C:
+PPE_COEFFi =  PPE_BOOL_TPi * 360/  PPENBJ
+             +  ( 1 -  PPE_BOOL_TPi)  / (PPENHi*positif(PPE_SALAVDEFi+0) /1820 + PPENJi*(present(PPE_AVRPRO1i)-(null(PPE_AVRPRO1i)*null(SOMMEAVRPROi-1)*present(BAFi))) /360);
+
+PPE_COEFFU =       PPE_BOOL_TPU * 360/  PPENBJ
+       	     +  ( 1 -  PPE_BOOL_TPU)  / 
+               ((PPENHP1+PPENHP2+PPENHP3+PPENHP4)/1820 + PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))) /360)
+          * PPE_BOOL_SEULPAC;
+
+
+pour i =1..4:
+PPE_COEFFi =       PPE_BOOL_TPi * 360/  PPENBJ
+       	     +  ( 1 -  PPE_BOOL_TPi)  / (PPENHPi*positif(PPE_SALAVDEFi+0) /1820 );
+
+
+PPE_COEFFN =       PPE_BOOL_TPN * 360/  PPENBJ
+     	     +  ( 1 -  PPE_BOOL_TPN)  / (PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))) /360);
+
+
+ 
+pour i= V,C,1,2,3,4,U,N:
+PPE_RCONTPi = arr (  PPE_RTAi * PPE_COEFFi ) ;
+
+
+regle 30590:
+application : pro , oceans ,  iliad , batch  ;
+
+pour i=V,C,U,N,1,2,3,4:
+PPE_BOOL_MINi = positif_ou_nul (PPE_RTAi- PPELIMRPB) * (1 - PPE_BOOL_NADAi);
+
+regle 30600:
+application : pro , oceans ,  iliad , batch  ;
+
+INDMONO =  BOOL_0AM 
+            * (
+                   positif_ou_nul(PPE_RTAV  - PPELIMRPB)
+                 * positif(PPELIMRPB - PPE_RTAC)
+               +
+                   positif_ou_nul(PPE_RTAC - PPELIMRPB )
+                   *positif(PPELIMRPB - PPE_RTAV)
+               );
+
+regle 30605:
+application : pro , oceans ,  iliad , batch  ;
+PPE_HAUTE = PPELIMRPH * (1 - BOOL_0AM)
+          + PPELIMRPH * BOOL_0AM * null(INDMONO)
+                      * positif_ou_nul(PPE_RCONTPV - PPELIMRPB)
+                      * positif_ou_nul(PPE_RCONTPC - PPELIMRPB)
+          + PPELIMRPH2 * INDMONO;
+
+regle 30610:
+application : pro , oceans ,  iliad , batch  ;
+
+pour i=V,C:
+PPE_BOOL_MAXi = positif_ou_nul(PPE_HAUTE - PPE_RCONTPi);
+
+pour i=U,N,1,2,3,4:
+PPE_BOOL_MAXi = positif_ou_nul(PPELIMRPH - PPE_RCONTPi);
+
+regle 30615:
+application : pro , oceans ,  iliad , batch  ;
+
+pour i = V,C,U,N,1,2,3,4:
+PPE_FORMULEi =  PPE_BOOL_KIR_COND
+               *PPE_BOOL_ACT_COND
+               *PPE_BOOL_MINi
+               *PPE_BOOL_MAXi
+               *arr(positif_ou_nul(PPELIMSMIC - PPE_RCONTPi)
+                     * arr(PPE_RCONTPi * PPETX1/100)/PPE_COEFFi
+                    +
+                        positif(PPE_RCONTPi - PPELIMSMIC)
+                      * positif_ou_nul(PPELIMRPH - PPE_RCONTPi )
+                      * arr(arr((PPELIMRPH  - PPE_RCONTPi ) * PPETX2 /100)/PPE_COEFFi)
+                    +
+                      positif(PPE_RCONTPi - PPELIMRPHI)
+                      * positif_ou_nul(PPE_HAUTE - PPE_RCONTPi )
+                      * arr(arr((PPELIMRPH2 - PPE_RCONTPi ) * PPETX3 /100)/PPE_COEFFi)
+                   );
+
+
+regle 30620:
+application : pro , oceans ,  iliad , batch  ;
+
+
+pour i =V,C:
+
+PPE_COEFFCONDi = (1 - PPE_BOOL_TPi)
+               * (   null(PPENBJ - 360) * PPE_COEFFi
+                  +
+                    (1 - null(PPENBJ - 360)) 
+                          * (    PPENBJ * 1820/360 
+                                      /
+                                (PPENHi*positif(PPE_SALAVDEFi+0) + PPENJi*(present(PPE_AVRPRO1i)-(null(PPE_AVRPRO1i)*null(SOMMEAVRPROi-1)*present(BAFi))) * 1820/360)
+                            )
+                 );
+
+pour i =U,N:
+PPE_COEFFCONDi = (1 - PPE_BOOL_TPi)
+               * (   null(PPENBJ - 360) * PPE_COEFFi
+                  +
+                    (1 - null(PPENBJ - 360)) 
+                       * ( PPENBJ * 1820/360
+                                        /
+                          ((PPENHP1+PPENHP2+PPENHP3+PPENHP4) + PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))) * 1820/360))
+                 );
+pour i =1,2,3,4:
+PPE_COEFFCONDi = (1 - PPE_BOOL_TPi)
+               * (  null(PPENBJ - 360) * PPE_COEFFi
+                  + (1 - null(PPENBJ - 360)) 
+                          * (    PPENBJ * 1820/360 
+                                      /
+                                (PPENHPi*positif(PPE_SALAVDEFi+0) + PPENJP*(present(PPE_AVRPRO1P)-(null(PPE_AVRPRO1P)*null(SOMMEAVRPROP-1)*present(BAFP))) * 1820/360)
+                            )
+                 );
+
+pour i =V,C,U,1,2,3,4,N:
+PPENARPRIMEi =   PPE_FORMULEi * ( 1 + PPETXMAJ2)
+               * positif_ou_nul(PPE_COEFFCONDi - 2)
+               * (1 - PPE_BOOL_TPi)
+
+              +  (arr(PPE_FORMULEi * PPETXMAJ1) + arr(PPE_FORMULEi * (PPE_COEFFi * PPETXMAJ2 )))
+               * positif (2 - PPE_COEFFCONDi)
+               * positif (PPE_COEFFCONDi  -1 )
+               * (1 - PPE_BOOL_TPi)
+
+              + PPE_FORMULEi  * positif(PPE_BOOL_TPi + positif_ou_nul (1 - PPE_COEFFCONDi))  ; 
+
+
+regle 30625:
+application : pro , oceans ,  iliad , batch  ;
+pour i =V,C,U,1,2,3,4,N:
+PPEPRIMEi =arr( PPENARPRIMEi) ;
+
+PPEPRIMEPAC = PPEPRIMEU + PPEPRIME1 + PPEPRIME2 + PPEPRIME3 + PPEPRIME4 + PPEPRIMEN ;
+
+
+PPEPRIMETTEV = PPE_BOOL_KIR_COND *  PPE_BOOL_ACT_COND 
+               *(
+                    ( PPE_PRIMETTE
+                      * BOOL_0AM
+                      * INDMONO
+                      *  positif_ou_nul (PPE_RTAV - PPELIMRPB)
+                      *  positif_ou_nul(PPELIMRPHI - PPE_RCONTPV)
+                      *  (1 - positif(PPE_BOOL_NADAV))
+                     )
+                   ) 
+               * ( 1 - positif(V_PPEISF + PPEISFPIR+PPEREVPRO))    
+               * ( 1 -  V_CNR);
+                     
+PPEPRIMETTEC =  PPE_BOOL_KIR_COND *  PPE_BOOL_ACT_COND 
+                *(
+                     ( PPE_PRIMETTE
+                      * BOOL_0AM
+                      * INDMONO
+                      *  positif_ou_nul(PPELIMRPHI - PPE_RCONTPC)
+                      *  positif_ou_nul (PPE_RTAC - PPELIMRPB)
+                      *  (1 - positif(PPE_BOOL_NADAC))
+                      )
+                    )
+               * ( 1 - positif(V_PPEISF + PPEISFPIR+PPEREVPRO))    
+               * ( 1 -  V_CNR);
+PPEPRIMETTE = PPEPRIMETTEV + PPEPRIMETTEC ;
+
+
+
+
+regle 30800:
+application : pro , oceans ,  iliad , batch  ;
+
+BOOLENF = positif(V_0CF + V_0CH + V_0DJ + V_0CR + 0) ;
+
+PPE_NB_PAC= V_0CF + V_0CR + V_0DJ + V_0DN  ;
+PPE_NB_PAC_QAR =  V_0CH + V_0DP ;
+TOTPAC = PPE_NB_PAC + PPE_NB_PAC_QAR;
+
+
+
+PPE_NBNONELI = ( 
+                        somme(i=1,2,3,4,U,N: positif(PPEPRIMEi))
+                      + somme(i=1,2,3,4,U,N: positif_ou_nul(PPE_RTAi - PPELIMRPB) 
+                                           * positif(PPE_RCONTPi - PPELIMRPH)
+                              )
+                  );
+  
+
+
+
+PPE_NBELIGI = PPE_NB_PAC + PPE_NB_PAC_QAR - PPE_NBNONELI;
+
+
+PPE_BOOL_BT = V_0BT * positif(2 - V_0AV - BOOLENF) ;
+
+PPE_BOOL_MAJO = (1 - PPE_BOOL_BT)
+               * positif (  positif_ou_nul (PPELIMRPH - PPE_RCONTPV)
+           
\ No newline at end of file
diff --git a/sources2011m_9_6/chap-4.m b/sources2011m_9_6/chap-4.m
new file mode 100644
index 0000000000000000000000000000000000000000..b75440ccfdf296f53abe227ce3c8771c297667d5
--- /dev/null
+++ b/sources2011m_9_6/chap-4.m
@@ -0,0 +1,852 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+ #
+                                                                
+  ####   #    #    ##    #####      #     #####  #####   ######      #    
+ #    #  #    #   #  #   #    #     #       #    #    #  #           #    #
+ #       ######  #    #  #    #     #       #    #    #  #####       #    #
+ #       #    #  ######  #####      #       #    #####   #           ######
+ #    #  #    #  #    #  #          #       #    #   #   #                #
+  ####   #    #  #    #  #          #       #    #    #  ######           #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                      CALCUL DE L'IMPOT BRUT
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+regle 401:
+application : pro , oceans , bareme, iliad , batch  ;
+IRB = IAMD2; 
+IRB2 = IAMD2 + TAXASSUR + IPCAPTAXT + IHAUTREVT;
+regle 40101:
+application : pro , oceans , iliad , batch  ;
+KIR =   IAMD3 ;
+regle 4011:
+application : pro , oceans , bareme , iliad , batch  ;
+IAMD1 = IBM13 ;
+IAMD2 = IBM23 ;
+IAMD2TH = positif_ou_nul(IBM23 - SEUIL_PERCEP)*IBM23;
+regle 40110:
+application : pro , oceans , bareme , iliad , batch  ;
+IAMD3 = IBM33 - min(ACP3, IMPIM3);
+regle 402112:
+application : pro , oceans , iliad , batch  ;
+ANG3 = IAD32 - IAD31;
+regle 40220:
+application : pro , oceans , iliad , batch  ;
+ACP3 = max (0 ,
+ somme (a=1..4: min(arr(CHENFa * TX_DPAEAV/100) , SEUIL_AVMAXETU)) - ANG3)
+        * (1 - positif(V_CR2 + IPVLOC)) * positif(ANG3) * positif(IMPIM3);
+regle 403:
+application : pro , oceans , bareme ,iliad , batch  ;
+
+IBM13 = IAD11 + ITP + REI + TAXASSUR + IPCAPTAXT  + IHAUTREVT + AVFISCOPTER ;
+
+IBM23 = IAD11 + ITP + REI + AUTOVERSSUP + AVFISCOPTER ;
+
+regle 404:
+application : pro , oceans , bareme , iliad , batch  ;
+IBM33 = IAD31 + ITP + REI;
+regle 4041:
+application : pro , oceans , iliad , batch  ;
+TX_RED0 =  inf ( (100 - ((TX_RABGUY * V_EAG) + (TX_RABDOM * V_EAD))
+	     ) * TXGAIN0  / 100 * positif(V_EAD + V_EAG)
+	   );
+TX_RED1 =  inf ( (100 - ((TX_RABGUY * V_EAG) + (TX_RABDOM * V_EAD))
+	     ) * TXGAIN1 / 100 * positif(V_EAD + V_EAG)
+	   );
+DOMAVTO = arr(BN1 + SPEPV + BI12F + BA1) * ((TXGAIN0 - TX_RED0)/100) * positif(V_EAD)
+          + arr(BN1 + SPEPV + BI12F + BA1) * ((TXGAIN0 - TX_RED0)/100) * positif(V_EAG);
+DOMABDB = max(PLAF_RABDOM - ABADO , 0) * positif(V_EAD)
+          + max(PLAF_RABGUY - ABAGU , 0) * positif(V_EAG);
+DOMDOM = max(DOMAVTO - DOMABDB , 0) * positif(V_EAD + V_EAG);
+
+ITP = arr((BTP2 * TXGAIN2/100) + (BPTP4 * TXGAIN3/100) 
+       + ((BN1 + SPEPV + BI12F + BA1) * positif(V_EAG+V_EAD) * TX_RED0/100) 
+       + (BPVCESDOM * positif(V_EAG+V_EAD) * TX_RED1/100) 
+       + (BTP40 * TXGAIN4/100)
+       + DOMDOM * positif(V_EAD + V_EAG)
+       + (BPV18 * TXGAIN5/100)
+       + (BTP3G * TXGAIN1/100)
+       + (BTP3N * TXGAIN1/100)
+       + ((BN1 + SPEPV + BI12F + BA1) * (1-positif(V_EAG + V_EAD)) * TXGAIN0/100) 
+       + (BPVCESDOM * (1-positif(V_EAG + V_EAD)) * TXGAIN1/100)
+       + (BPTP5 * TXGAIN1/100) * (1 - positif(null(5 - V_REGCO)+null(6 - V_REGCO)))
+       + (BPTP5 * TX11/100) * null(6 - V_REGCO)
+       + (BPTP5 * TX13/100) * null(5 - V_REGCO)
+	  )
+       * (1-positif(IPVLOC)) * (1 - positif(present(TAX1649)+present(RE168))); 
+
+regle 40413:
+application : pro , oceans , iliad , batch  ;
+BTP3A = (BN1 + SPEPV + BI12F + BA1) * (1 - positif( IPVLOC )); 
+BTP3N = (BPVKRI) * (1 - positif( IPVLOC )); 
+BTP3G = (BPVRCM) * (1 - positif( IPVLOC )); 
+BTP2 = PEA * (1 - positif( IPVLOC )); 
+BTP40 = BPV40 * (1 - positif( IPVLOC )); 
+BTP18 = BPV18 * (1 - positif( IPVLOC )); 
+BTP5 = PVIMPOS * (1 - positif( IPVLOC )); 
+
+REVTP1 = max(0,BPVRCM + ABDETPLUS + ABIMPPV - DPVRCM - ABDETMOINS - ABIMPMV) + BPVCESDOM + BPV18 + BPV40 + BPCOPT + BPVKRI + PEA ;
+
+regle 4042:
+application : pro , oceans , iliad , batch  ;
+
+
+REI = IPREP+IPPRICORSE;
+
+regle 40421:
+application : pro , oceans , iliad , batch  ;
+
+
+PPERSATOT = RSAFOYER + RSAPAC1 + RSAPAC2 ;
+
+PPERSA = min(PPETOT,PPERSATOT) * (1 - V_CNR) ;
+
+PPEFINAL = PPETOT - PPERSA ;
+
+regle 405:
+application : pro , oceans , bareme , iliad , batch  ;
+
+
+IAD11 = ( max(0,IDOM11-DEC11-RED) *(1-positif(V_CR2+IPVLOC))
+        + positif(V_CR2+IPVLOC) *max(0 , IDOM11 - RED) )
+                                * (1-positif(RE168+TAX1649))
+        + positif(RE168+TAX1649) * IDOM16;
+
+regle 406:
+application : pro , oceans , bareme , iliad , batch  ;
+IAD31 = ((IDOM31-DEC31)*(1-positif(V_CR2+IPVLOC)))
+        +(positif(V_CR2+IPVLOC)*IDOM31);
+IAD32 = ((IDOM32-DEC32)*(1-positif(V_CR2+IPVLOC)))
+        +(positif(V_CR2+IPVLOC)*IDOM32);
+
+regle 4052:
+application : pro , oceans , bareme , iliad , batch  ;
+
+IMPIM3 =  IAD31 ;
+
+regle 4061:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z = 1,2:
+DEC1z = min (max( arr(SEUIL_DECOTE/2 - (IDOM1z/2)),0),IDOM1z) * (1 - V_CNR);
+
+pour z = 1,2:
+DEC3z = min (max( arr(SEUIL_DECOTE/2 - (IDOM3z/2)),0),IDOM3z) * (1 - V_CNR);
+
+DEC6 = min (max( arr(SEUIL_DECOTE/2 - (IDOM16/2)),0),IDOM16) * (1 - V_CNR);
+regle 407:
+application : pro ,   oceans , iliad   , batch ;
+
+RED =  RCOTFOR + RSURV + RCOMP + RHEBE + RREPA + RDIFAGRI + RDONS
+       + RCELTOT
+       + RSYND + RRESTIMO + RPECHE 
+       + RFIPC + RFIPDOM + RAIDE + RNOUV 
+       + RTOURNEUF + RTOURTRA + RTOURREP 
+       + RTOUREPA + RTOURES + RTOUHOTR  
+       + RLOGDOM + RLOGSOC + RDOMSOC1 + RLOCENT + RCOLENT
+       + RRETU + RINNO + RRPRESCOMP + RFOR 
+       + RSOUFIP + RRIRENOV + RSOCREPR + RRESIMEUB + RRESINEUV + RRESIVIEU
+       + RREDMEUB + RREDREP + RINVRED + RMEUBLE + RPROREP + RREPNPRO + RREPMEU
+       + RIDOMPROE3 + RIDOMPROE4 + RIDOMPROE5
+       + RPATNAT1 + RPATNAT
+       + RFORET + RTITPRISE + RCREAT + RCINE ;
+
+
+REDTL = ASURV + ACOMP ;
+
+CIMPTL = ATEC + ADEVDUR + BGERET ;
+
+regle 4070:
+application : bareme ;
+RED = V_9UY;
+regle 4025:
+application : pro ,   oceans , iliad , batch  ;
+
+PLAFDOMPRO1 = max(0 , RRI1-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA-RCOMP-RCREAT-RRETU
+		      -RDONS-RNOUV-RLOGSOC-RDOMSOC1-RCELTOT-RLOCNPRO-RPATNAT1-RPATNAT
+                 );
+RIDOMPROE5 =  min(REPINVDOMPRO1,PLAFDOMPRO1) * (1 - V_CNR);
+
+REPDOMENTR5 = positif (REPINVDOMPRO1- PLAFDOMPRO1)* (REPINVDOMPRO1 - PLAFDOMPRO1)* (1 -V_CNR);
+
+
+PLAFDOMPRO2 = positif(PLAFDOMPRO1 - REPINVDOMPRO1)* (PLAFDOMPRO1 - REPINVDOMPRO1)* (1 -V_CNR); 
+RIDOMPROE4 = min(REPINVDOMPRO2,PLAFDOMPRO2) * (1 - V_CNR);
+REPDOMENTR4 = positif (REPINVDOMPRO2 - PLAFDOMPRO2)* (REPINVDOMPRO2 - PLAFDOMPRO2)* (1 -V_CNR);
+
+
+PLAFDOMPRO3 = positif(PLAFDOMPRO2 - REPINVDOMPRO2)* (PLAFDOMPRO2 - REPINVDOMPRO2)* (1 -V_CNR); 
+RIDOMPROE3 = min(REPINVDOMPRO3,PLAFDOMPRO3) * (1 - V_CNR);
+REPDOMENTR3 = positif (REPINVDOMPRO3 - PLAFDOMPRO3)* (REPINVDOMPRO3 - PLAFDOMPRO3)* (1 -V_CNR);
+
+
+RIDOMPROTOT = RIDOMPROE3 + RIDOMPROE4 + RIDOMPROE5;
+
+RINVEST = RIDOMPROE3  + RIDOMPROE4 + RIDOMPROE5 ;
+RIDOMPRO = REPINVDOMPRO1 + REPINVDOMPRO2 + REPINVDOMPRO3 ;
+
+DIDOMPRO = RIDOMPRO * (1 - V_CNR) ;
+regle 40749:
+application : pro ,   oceans , iliad , batch  ;
+
+DFORET = FORET ;
+
+AFORET = max(min(DFORET,LIM_FORET),0) * (1-V_CNR) ;
+
+RAFORET = arr(AFORET*TX_FORET/100) * (1-V_CNR) ;
+
+RFORET =  max( min( RAFORET , IDOM11-DEC11-RCOTFOR-RREPA-RSYND-RFIPDOM-RAIDE-RDIFAGRI) , 0 ) ;
+
+regle 4075:
+application : pro , oceans , iliad , batch ;
+
+DFIPC = FIPCORSE ;
+
+AFIPC = max( min(DFIPC , LIM_FIPCORSE * (1 + BOOL_0AM)) , 0) * (1 - V_CNR) ;
+
+RFIPCORSE = arr(AFIPC * TX_FIPCORSE/100) * (1 - V_CNR) ;
+
+RFIPC = max( min( RFIPCORSE , IDOM11-DEC11-RCOTFOR-RREPA-RSYND-RFIPDOM-RAIDE-RDIFAGRI-RFORET) , 0) ;
+
+regle 40751:
+application : pro , oceans , iliad , batch ;
+
+DFIPDOM = FIPDOMCOM ;
+
+AFIPDOM = max( min(DFIPDOM , LIMFIPDOM * (1 + BOOL_0AM)) , 0) * (1 - V_CNR) ;
+
+RFIPDOMCOM = arr(AFIPDOM * TXFIPDOM/100) * (1 - V_CNR) ;
+
+RFIPDOM = max( min( RFIPDOMCOM , IDOM11-DEC11-RCOTFOR-RREPA-RSYND) , 0) ;
+
+regle 4076:
+application : pro ,   oceans , iliad , batch  ;
+BSURV = min( RDRESU , PLAF_RSURV + PLAF_COMPSURV * (EAC + V_0DN) + PLAF_COMPSURVQAR * (V_0CH + V_0DP) );
+RRS = arr( BSURV * TX_REDSURV / 100 ) * (1 - V_CNR);
+DSURV = RDRESU;
+ASURV = BSURV * (1-V_CNR) ;
+RSURV = max( min( RRS , IDOM11-DEC11-RCOTFOR-RREPA-RSYND-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC
+			-RCINE-RRESTIMO-RPECHE-RSOCREPR-RRPRESCOMP-RHEBE ) , 0 );
+
+regle 4100:
+application : pro , oceans , iliad , batch ;
+
+RRCN = arr(  min( CINE1 , min( max(SOFIRNG,RNG) * TX_CINE3/100 , PLAF_CINE )) * TX_CINE1/100
+        + min( CINE2 , max( min( max(SOFIRNG,RNG) * TX_CINE3/100 , PLAF_CINE ) - CINE1 , 0)) * TX_CINE2/100 
+       ) * (1 - V_CNR) ;
+
+DCINE = CINE1 + CINE2 ;
+
+ACINE = max(0,min( CINE1 + CINE2 , min( arr(SOFIRNG * TX_CINE3/100) , PLAF_CINE ))) * (1 - V_CNR);
+
+RCINE = max( min( RRCN , IDOM11-DEC11-RCOTFOR-RREPA-RSYND-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC) , 0 ) ;
+regle 4176:
+application : pro ,   oceans , iliad , batch  ;
+BSOUFIP = min( FFIP , LIM_SOUFIP * (1 + BOOL_0AM));
+RFIP = arr( BSOUFIP * TX_REDFIP / 100 ) * (1 - V_CNR);
+DSOUFIP = FFIP;
+ASOUFIP = BSOUFIP * (1-V_CNR) ;
+RSOUFIP = max( min( RFIP , IDOM11-DEC11-RCOTFOR-RREPA-RSYND-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC
+			   -RCINE-RRESTIMO-RPECHE-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RTITPRISE-RINNO) , 0 );
+
+regle 4200:
+application : pro ,   oceans , iliad , batch  ;
+
+BRENOV = min(RIRENOV,PLAF_RENOV) ;
+RENOV = arr( BRENOV * TX_RENOV / 100 ) * (1 - V_CNR) ;
+
+DRIRENOV = RIRENOV ;
+ARIRENOV = BRENOV * (1 - V_CNR) ;
+RRIRENOV = max( min( RENOV , IDOM11-DEC11-RCOTFOR-RREPA-RSYND-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC-RCINE
+			     -RRESTIMO-RPECHE-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RTITPRISE-RINNO-RSOUFIP) , 0 );
+
+regle 40771:
+application : pro ,   oceans , iliad , batch  ;
+RFC = min(RDCOM,PLAF_FRCOMPTA * max(1,NBACT)) * present(RDCOM)*(1-V_CNR);
+NCOMP = max(1,NBACT)* present(RDCOM) * (1-V_CNR);
+DCOMP = RDCOM;
+ACOMP = RFC;
+regle 10040771:
+application : pro ,   oceans , iliad , batch  ;
+RCOMP = max(min( RFC , RRI1-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA-RCREAT) , 0) ;
+
+regle 4078:
+application : pro ,   oceans , iliad , batch  ;
+
+BCEL_2011 = arr( min(( CELLIERNA + CELLIERNC + CELLIERND + CELLIERNE + CELLIERNF + CELLIERNH
+		     + CELLIERNI + CELLIERNJ + CELLIERNK + CELLIERNM + CELLIERNN + CELLIERNO  + 0 ), LIMCELLIER ) /9 );
+
+BCELCOM2011 = arr( min(( CELLIERNP + CELLIERNR + CELLIERNS + CELLIERNT + 0 ), LIMCELLIER ) /5 );
+
+BCEL_NBGL = arr( min(( CELLIERNB + CELLIERNG + CELLIERNL + 0), LIMCELLIER ) /9 );
+
+BCEL_NQ = arr( min(( CELLIERNQ + 0), LIMCELLIER ) /5 );
+
+
+BCEL_HNO = arr ( min ((CELLIERHN + CELLIERHO + 0 ), LIMCELLIER ) /9 );
+BCEL_HJK = arr ( min ((CELLIERHJ + CELLIERHK + 0 ), LIMCELLIER ) /9 );
+
+BCEL_HL = arr ( min ((CELLIERHL + 0 ), LIMCELLIER ) /9 );
+BCEL_HM = arr ( min ((CELLIERHM + 0 ), LIMCELLIER ) /9 );
+
+
+DCELRREDLA = CELRREDLA;
+ACELRREDLA = CELRREDLA * (1 - V_CNR);
+
+
+DCELRREDLB = CELRREDLB;
+ACELRREDLB = CELRREDLB * (1 - V_CNR);
+
+
+DCELRREDLC = CELRREDLC;
+ACELRREDLC = CELRREDLC * (1 - V_CNR);
+
+
+DCELREPHS = CELREPHS; 
+ACELREPHS = DCELREPHS * (1 - V_CNR); 
+
+
+DCELREPHR = CELREPHR ;    
+ACELREPHR = DCELREPHR * (1 - V_CNR);
+
+
+DCELREPHU = CELREPHU; 
+ACELREPHU = DCELREPHU * (1 - V_CNR); 
+
+
+DCELREPHT = CELREPHT; 
+ACELREPHT = DCELREPHT * (1 - V_CNR); 
+
+
+DCELREPHZ = CELREPHZ; 
+ACELREPHZ = DCELREPHZ * (1 - V_CNR); 
+
+
+DCELREPHX = CELREPHX; 
+ACELREPHX = DCELREPHX * (1 - V_CNR); 
+
+
+DCELREPHW = CELREPHW; 
+ACELREPHW = DCELREPHW * (1 - V_CNR); 
+
+
+DCELREPHV = CELREPHV; 
+ACELREPHV = DCELREPHV * (1 - V_CNR); 
+
+
+DCELHM = CELLIERHM ; 
+ACELHM = (positif_ou_nul( CELLIERHM) * BCEL_HM) * (1-V_CNR); 
+
+
+DCELHL = CELLIERHL ;    
+ACELHL = (positif_ou_nul( CELLIERHL) * BCEL_HL) * (1-V_CNR); 
+
+
+DCELHNO = CELLIERHN + CELLIERHO ;
+ACELHNO = (positif_ou_nul( CELLIERHN + CELLIERHO ) * BCEL_HNO) * (1-V_CNR) ;
+
+
+DCELHJK = CELLIERHJ + CELLIERHK ;
+ACELHJK = (positif_ou_nul( CELLIERHJ + CELLIERHK ) * BCEL_HJK) * (1-V_CNR);
+
+
+DCELNQ =   CELLIERNQ;
+ACELNQ = (positif_ou_nul( CELLIERNQ) * BCEL_NQ) * (1-V_CNR);
+
+
+DCELCOM =   CELLIERNP + CELLIERNR + CELLIERNS + CELLIERNT;
+ACELCOM = (positif_ou_nul(CELLIERNP + CELLIERNR + CELLIERNS + CELLIERNT) * BCELCOM2011) * (1-V_CNR);
+
+
+DCELNBGL =   CELLIERNB + CELLIERNG + CELLIERNL;
+ACELNBGL = (positif_ou_nul( CELLIERNB + CELLIERNG + CELLIERNL ) * BCEL_NBGL) * (1-V_CNR);
+
+
+CELSOMN = CELLIERNA+CELLIERNC+CELLIERND+CELLIERNE+CELLIERNF+CELLIERNH
+	 +CELLIERNI+CELLIERNJ+CELLIERNK+CELLIERNM+CELLIERNN+CELLIERNO;  
+
+DCEL = CELSOMN ; 
+
+ACEL = (positif_ou_nul( CELSOMN ) * BCEL_2011) * (1-V_CNR);
+
+
+
+RCEL_2011 = (  positif(CELLIERNA + CELLIERNE) * arr (ACEL * (TX22/100))
+            + positif(CELLIERNC + CELLIERND + CELLIERNH) * arr (ACEL * (TX25/100))
+            + positif(CELLIERNF + CELLIERNJ) * arr (ACEL * (TX13/100))
+            + positif(CELLIERNI) * arr (ACEL * (TX15/100))
+	    + positif(CELLIERNM + CELLIERNN) * arr (ACEL * (TX40/100))
+	    + positif(CELLIERNK + CELLIERNO) * arr (ACEL * (TX36/100))
+           ) * (1 - V_CNR);
+
+RCEL_COM = (  positif(CELLIERNP + CELLIERNT) * arr (ACELCOM * (TX36/100))
+               + positif(CELLIERNR + CELLIERNS) * arr (ACELCOM * (TX40/100)) 
+              ) * (1 - V_CNR);
+
+RCEL_NBGL = (  positif(CELLIERNB) * arr(ACELNBGL * (TX25/100))
+	       + positif(CELLIERNG) * arr(ACELNBGL * (TX15/100))
+	       + positif(CELLIERNL) * arr(ACELNBGL * (TX40/100))
+              ) * (1 - V_CNR);
+
+RCEL_NQ = ( positif(CELLIERNQ) * arr(ACELNQ * (TX40/100)) ) * (1 - V_CNR);
+
+
+RCEL_HNO = (  positif(CELLIERHN) * arr(ACELHNO * (TX25/100))
+	       + positif(CELLIERHO) * arr(ACELHNO * (TX40/100))
+              ) * (1 - V_CNR);
+
+RCEL_HJK = (  positif(CELLIERHJ) * arr(ACELHJK * (TX25/100))
+	      + positif(CELLIERHK) * arr(ACELHJK * (TX40/100))
+             ) * (1 - V_CNR);
+
+
+RCELDOM = (positif(CELLIERHK + CELLIERHO) * arr (ACELDO * (TX40/100))) 
+             * (1 - V_CNR);                           
+
+RCELM = (positif( CELLIERHJ + CELLIERHN ) * arr (ACELMET * (TX25/100)))
+             * (1 - V_CNR);                           
+
+
+RCEL_HM = positif(CELLIERHM) * arr (ACELHM * (TX40/100)) 
+             * (1 - V_CNR);                           
+
+RCEL_HL = positif( CELLIERHL ) * arr (ACELHL * (TX25/100))
+             * (1 - V_CNR);                           
+RCELREP_HS = positif(CELREPHS) * arr (CELREPHS * (TX40/100)) * (1 - V_CNR);
+
+RCELREP_HR = positif( CELREPHR ) * arr (CELREPHR * (TX25/100)) * (1 - V_CNR);
+
+RCELREP_HU = positif( CELREPHU ) * arr (CELREPHU * (TX40/100)) * (1 - V_CNR);
+
+RCELREP_HT = positif( CELREPHT ) * arr (CELREPHT * (TX25/100)) * (1 - V_CNR);
+
+RCELREP_HZ = positif( CELREPHZ ) * arr (CELREPHZ * (TX40/100)) * (1 - V_CNR);
+
+RCELREP_HX = positif( CELREPHX ) * arr (CELREPHX * (TX25/100)) * (1 - V_CNR);
+
+RCELREP_HW = positif( CELREPHW ) * arr (CELREPHW * (TX40/100)) * (1 - V_CNR);
+
+RCELREP_HV = positif( CELREPHV ) * arr (CELREPHV * (TX25/100)) * (1 - V_CNR);
+
+regle 2004078:
+application : pro ,   oceans , iliad , batch  ;
+
+
+RCELRREDLA = (max( min( CELRREDLA , IDOM11-DEC11
+           -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAIDE-RDIFAGRI-RFORET
+	   -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+	   -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	   -RCOMP-RCREAT-RRETU-RDONS-RNOUV) , 0 ))
+	    * (1 - V_CNR);
+
+RCELRREDLB = (max( min( CELRREDLB , IDOM11-DEC11
+           -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAIDE-RDIFAGRI-RFORET
+	   -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+	   -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	   -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA ) , 0 ))
+	    * (1 - V_CNR);
+
+RCELRREDLC = (max( min( CELRREDLC , IDOM11-DEC11
+           -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAIDE-RDIFAGRI-RFORET
+	   -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+	   -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	   -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB ) , 0 ))
+	    * (1 - V_CNR);
+
+RCELREPHS = (max( min( RCELREP_HS , IDOM11-DEC11
+	    -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAD-RDIFAGRI-RFORET
+	    -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+            -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	    -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC ) , 0))
+	    * (1 - V_CNR);
+
+RCELREPHR = (max( min( RCELREP_HR , IDOM11-DEC11
+	    -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAD-RDIFAGRI-RFORET
+	    -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+            -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	    -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC-RCELREPHS) , 0))
+	    * (1 - V_CNR);
+
+RCELREPHU = (max( min( RCELREP_HU, IDOM11-DEC11
+            -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAD-RDIFAGRI-RFORET
+	    -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+	    -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	    -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC-RCELREPHS
+	    -RCELREPHR) , 0))
+            * (1 - V_CNR);
+
+RCELREPHT = (max( min( RCELREP_HT, IDOM11-DEC11
+	    -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAD-RDIFAGRI-RFORET
+	    -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+            -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	    -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC-RCELREPHS
+	    -RCELREPHR-RCELREPHU) , 0))
+	    * (1 - V_CNR);
+
+RCELREPHZ = (max( min( RCELREP_HZ, IDOM11-DEC11
+	    -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAD-RDIFAGRI-RFORET
+	    -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+            -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	    -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC-RCELREPHS
+	    -RCELREPHR-RCELREPHU-RCELREPHT) , 0))
+	    * (1 - V_CNR);
+
+RCELREPHX = (max( min( RCELREP_HX, IDOM11-DEC11
+	    -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAD-RDIFAGRI-RFORET
+	    -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+            -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	    -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC-RCELREPHS
+	    -RCELREPHR-RCELREPHU-RCELREPHT-RCELREPHZ) , 0))
+	    * (1 - V_CNR);
+
+RCELREPHW = (max( min( RCELREP_HW, IDOM11-DEC11
+	    -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAD-RDIFAGRI-RFORET
+	    -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+            -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	    -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC-RCELREPHS
+	    -RCELREPHR-RCELREPHU-RCELREPHT-RCELREPHZ-RCELREPHX) , 0))
+	    * (1 - V_CNR);
+
+RCELREPHV = (max( min( RCELREP_HV, IDOM11-DEC11
+	    -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAD-RDIFAGRI-RFORET
+	    -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+            -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	    -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC-RCELREPHS
+	    -RCELREPHR-RCELREPHU-RCELREPHT-RCELREPHZ-RCELREPHX-RCELREPHW) , 0))
+	    * (1 - V_CNR);
+
+RCELHM = (max( min( RCEL_HM, IDOM11-DEC11
+	  -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAD-RDIFAGRI-RFORET
+          -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+          -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	  -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC-RCELREPHS
+	  -RCELREPHR-RCELREPHU-RCELREPHT-RCELREPHZ-RCELREPHX-RCELREPHW-RCELREPHV) , 0 ))
+	   * (1 - V_CNR);
+
+RCELHL = (max( min( RCEL_HL , IDOM11-DEC11
+	  -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAD-RDIFAGRI-RFORET
+          -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+          -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	  -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC-RCELREPHS
+	  -RCELREPHR-RCELREPHU-RCELREPHT-RCELREPHZ-RCELREPHX-RCELREPHW-RCELREPHV
+	  -RCELHM) , 0 ))
+	   * (1 - V_CNR);
+
+RCELHNO = (max( min( RCEL_HNO, IDOM11-DEC11
+	  -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAIDE-RDIFAGRI-RFORET
+          -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+          -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	  -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC-RCELREPHS
+	  -RCELREPHR-RCELREPHU-RCELREPHT-RCELREPHZ-RCELREPHX-RCELREPHW-RCELREPHV
+	  -RCELHM-RCELHL) , 0 ))
+	   * (1 - V_CNR);
+
+RCELHJK = (max( min( RCEL_HJK , IDOM11-DEC11
+	  -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAIDE-RDIFAGRI-RFORET
+          -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+          -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	  -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC-RCELREPHS
+	  -RCELREPHR-RCELREPHU-RCELREPHT-RCELREPHZ-RCELREPHX-RCELREPHW-RCELREPHV
+	  -RCELHM-RCELHL-RCELHNO) , 0 ))
+	   * (1 - V_CNR);
+
+RCELNQ = (max( min(RCEL_NQ, IDOM11-DEC11
+	 -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAIDE-RDIFAGRI-RFORET
+	 -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+	 -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	 -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC-RCELREPHS
+	 -RCELREPHR-RCELREPHU-RCELREPHT-RCELREPHZ-RCELREPHX-RCELREPHW-RCELREPHV
+	 -RCELHM-RCELHL-RCELHNO-RCELHJK ) , 0 ))
+	 * (1 - V_CNR);
+
+RCELCOM = (max( min(RCEL_COM, IDOM11-DEC11
+          -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAIDE-RDIFAGRI-RFORET
+	  -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+	  -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	  -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC-RCELREPHS
+	  -RCELREPHR-RCELREPHU-RCELREPHT-RCELREPHZ-RCELREPHX-RCELREPHW-RCELREPHV
+	  -RCELHM-RCELHL-RCELHNO-RCELHJK-RCELNQ ) , 0 ))
+	  * (1 - V_CNR);
+
+RCELNBGL = (max( min(RCEL_NBGL, IDOM11-DEC11
+           -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAIDE-RDIFAGRI-RFORET
+	   -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+	   -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	   -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC-RCELREPHS
+	   -RCELREPHR-RCELREPHU-RCELREPHT-RCELREPHZ-RCELREPHX-RCELREPHW-RCELREPHV
+	   -RCELHM-RCELHL-RCELHNO-RCELHJK-RCELNQ-RCELCOM ) , 0 ))
+	   * (1 - V_CNR);
+
+RCEL = (max( min(RCEL_2011, IDOM11-DEC11
+            -RCOTFOR-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RFIPDOM-RAIDE-RDIFAGRI-RFORET
+	    -RTITPRISE-RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE
+	    -RSURV-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA
+	    -RCOMP-RCREAT-RRETU-RDONS-RNOUV-RCELRREDLA-RCELRREDLB-RCELRREDLC-RCELREPHS
+	    -RCELREPHR-RCELREPHU-RCELREPHT-RCELREPHZ-RCELREPHX-RCELREPHW-RCELREPHV
+	    -RCELHM-RCELHL-RCELHNO-RCELHJK-RCELNQ-RCELCOM-RCELNBGL ) , 0 ))
+	     * (1 - V_CNR);
+
+RCELTOT = RCELRREDLA+RCELRREDLB+RCELRREDLC+RCELREPHS+RCELREPHR+RCELREPHU+RCELREPHT+RCELREPHZ
+	+ RCELREPHX+RCELREPHW+RCELREPHV+RCELHM+RCELHL+RCELHNO+RCELHJK+RCELNQ+RCELCOM+RCELNBGL
+	+ RCEL ;  
+
+
+
+RIVCEL1 =  RCEL_2011 * positif(ACEL); 
+
+RIVCEL2 = RIVCEL1;
+
+RIVCEL3 = RIVCEL1;
+
+RIVCEL4 = RIVCEL1;
+
+RIVCEL5 = RIVCEL1;
+
+RIVCEL6 = RIVCEL1;
+
+RIVCEL7 = RIVCEL1;
+
+RIVCEL8 = (arr((min (CELSOMN,LIMCELLIER) * positif(CELLIERNM+CELLIERNN) * (TX40/100))
+          +(min (CELSOMN,LIMCELLIER) * positif(CELLIERNK+CELLIERNO) * (TX36/100))
+	  +(min (CELSOMN,LIMCELLIER) * positif(CELLIERNC+CELLIERND+CELLIERNH) * (TX25/100))
+	  +(min (CELSOMN,LIMCELLIER) * positif(CELLIERNA+CELLIERNE) * (TX22/100))
+	  +(min (CELSOMN,LIMCELLIER) * positif(CELLIERNI) * (TX15/100))
+	  +(min (CELSOMN,LIMCELLIER) * positif(CELLIERNF+CELLIERNJ) * (TX13/100)))
+	  -( 8 * RIVCEL1))
+	  * (1 - V_CNR);
+
+
+RIVCELNBGL1 =  RCEL_NBGL * positif(ACELNBGL); 
+
+RIVCELNBGL2 = RIVCELNBGL1;
+
+RIVCELNBGL3 = RIVCELNBGL1;
+
+RIVCELNBGL4 = RIVCELNBGL1;
+
+RIVCELNBGL5 = RIVCELNBGL1;
+
+RIVCELNBGL6 = RIVCELNBGL1;
+
+RIVCELNBGL7 = RIVCELNBGL1;
+
+RIVCELNBGL8 = (arr((min (CELLIERNB+CELLIERNG+CELLIERNL,LIMCELLIER) * positif(CELLIERNB) * (TX25/100))
+          +(min (CELLIERNB+CELLIERNG+CELLIERNL,LIMCELLIER) * positif(CELLIERNG) * (TX15/100))
+	  +(min (CELLIERNB+CELLIERNG+CELLIERNL,LIMCELLIER) * positif(CELLIERNL) * (TX40/100)))
+	  -( 8 * RIVCELNBGL1))
+	  * (1 - V_CNR);
+
+
+RIVCELCOM1 =  RCEL_COM * positif(ACELCOM); 
+
+RIVCELCOM2 = RIVCELCOM1;
+
+RIVCELCOM3 = RIVCELCOM1;
+
+RIVCELCOM4 = (arr((min (CELLIERNP+CELLIERNR+CELLIERNS+CELLIERNT, LIMCELLIER) * positif(CELLIERNP+CELLIERNT) * (TX36/100))
+          +(min (CELLIERNP+CELLIERNR+CELLIERNS+CELLIERNT,LIMCELLIER) * positif(CELLIERNR+CELLIERNS) * (TX40/100)))
+	  -( 4 * RIVCELCOM1))
+	  * (1 - V_CNR);
+
+
+RIVCELNQ1 =  RCEL_NQ * positif(ACELNQ); 
+
+RIVCELNQ2 = RIVCELNQ1;
+
+RIVCELNQ3 = RIVCELNQ1;
+
+RIVCELNQ4 = (arr((min (CELLIERNQ, LIMCELLIER) * positif(CELLIERNQ) * (TX40/100)))
+	  -( 4 * RIVCELNQ1))
+	  * (1 - V_CNR);
+
+
+RIVCELHJK1 = RCEL_HJK * positif(ACELHJK) ; 
+
+RIVCELHJK2 = RIVCELHJK1;
+
+RIVCELHJK3 = RIVCELHJK1;
+
+RIVCELHJK4 = RIVCELHJK1;
+
+RIVCELHJK5 = RIVCELHJK1;
+
+RIVCELHJK6 = RIVCELHJK1;
+
+RIVCELHJK7 = RIVCELHJK1;
+
+RIVCELHJK8 = (arr((min ((CELLIERHK + CELLIERHJ + 0 ), LIMCELLIER ) * positif(CELLIERHJ) * (TX25/100))
+	     + (min ((CELLIERHK + CELLIERHJ + 0 ), LIMCELLIER ) * positif(CELLIERHK) * (TX40/100)))  
+	     - ( 8 * RIVCELHJK1))
+	     * (1 - V_CNR);
+
+RIVCELHNO1 = RCEL_HNO * positif(ACELHNO) ; 
+
+RIVCELHNO2 = RIVCELHNO1;
+
+RIVCELHNO3 = RIVCELHNO1;
+
+RIVCELHNO4 = RIVCELHNO1;
+
+RIVCELHNO5 = RIVCELHNO1;
+
+RIVCELHNO6 = RIVCELHNO1;
+
+RIVCELHNO7 = RIVCELHNO1;
+
+RIVCELHNO8 = (arr((min ((CELLIERHN + CELLIERHO + 0 ), LIMCELLIER ) * positif(CELLIERHN) * (TX25/100))
+	     + (min ((CELLIERHN + CELLIERHO + 0 ), LIMCELLIER ) * positif(CELLIERHO) * (TX40/100)))  
+	     - ( 8 * RIVCELHNO1))
+	     * (1 - V_CNR);
+
+RIVCELHLM1 = RCEL_HL * positif(ACELHL) + RCEL_HM * positif(ACELHM); 
+
+RIVCELHLM2 = RIVCELHLM1;
+
+RIVCELHLM3 = RIVCELHLM1;
+
+RIVCELHLM4 = RIVCELHLM1;
+
+RIVCELHLM5 = RIVCELHLM1;
+
+RIVCELHLM6 = RIVCELHLM1;
+
+RIVCELHLM7 = RIVCELHLM1;
+
+RIVCELHLM8 = (arr((min ((CELLIERHL + CELLIERHM + 0 ), LIMCELLIER ) * positif(CELLIERHL) * (TX25/100))
+	     + (min ((CELLIERHL + CELLIERHM + 0 ), LIMCELLIER ) * positif(CELLIERHM) * (TX40/100)))  
+	     - ( 8 * RIVCELHLM1))
+	     * (1 - V_CNR);
+
+
+RRCEL = (max(0, RCEL_2011 - RCEL)) * positif(CELSOMN) * (1 - V_CNR)
+        + (max(0, RCEL_COM - RCELCOM)) * positif(somme(i=P,R,S,T:CELLIERNi)) * (1 - V_CNR);
+
+
+RRCELBGLQ = (max(0, RCEL_NBGL+RCEL_NQ - RCELNBGL-RCELNQ)) 
+	    * positif(somme(i=B,G,L,Q:CELLIERNi)) * (1 - V_CNR);
+
+RRCELLA = (max(0, ACELRREDLA - RCELRREDLA)) * positif(CELRREDLA) * (1 - V_CNR); 
+
+
+RRCELLB = (max(0, ACELRREDLB - RCELRREDLB)) * positif(CELRREDLB) * (1 - V_CNR); 
+
+
+RRCELHH = (max(0, 
+                   RCEL_HL+RCEL_HM+RCEL_HNO + somme(i=R,S,T,U,X,Z:RCELREP_Hi)
+                 -(RCELHL +RCELHM +RCELHNO  + somme(i=R,S,T,U,X,Z:RCELREPHi))))
+               * positif(somme(i=R,S,T,U,X,Z:CELREPHi)+somme(i=L,M,N,O:CELLIERHi))
+	       * (1 - V_CNR);
+
+
+RRCELLC = (max(0, ACELRREDLC - RCELRREDLC)) * positif(CELRREDLC) * (1 - V_CNR);
+
+RRCELVWJK = (max(0,RCEL_HJK+RCELREP_HV+RCELREP_HW - RCELHJK-RCELREPHV-RCELREPHW)) 
+	    * positif(CELREPHV+CELREPHW+CELLIERHJ+CELLIERHK) * (1 - V_CNR);
+
+	 
+REPCEL = somme(i=1,2,3,4,5,6,7 : RIVCELi) + RIVCEL8;  
+REPCELNBGL = somme(i=1,2,3,4,5,6,7 : RIVCELNBGLi) + RIVCELNBGL8;  
+REPCELCOM = somme(i=1,2,3 : RIVCELCOMi) + RIVCELCOM4;  
+REPCELNQ = somme(i=1,2,3 : RIVCELNQi) + RIVCELNQ4;  
+REPCELHJK = somme(i=1,2,3,4,5,6,7 : RIVCELHJKi) + RIVCELHJK8;  
+REPCELHNO = somme(i=1,2,3,4,5,6,7 : RIVCELHNOi) + RIVCELHNO8;  
+REPCELHLM = somme(i=1,2,3,4,5,6,7 : RIVCELHLMi) + RIVCELHLM8;  
+
+regle 4079:
+application : pro ,   oceans , iliad , batch  ;
+
+BILNEUF= min (INVLOCNEUF , arr( LIMLOC * (1+BOOL_0AM) /6) ) ;
+BILLOCT1AV= min (INVLOCT1AV , LIMLOC * (1+BOOL_0AM)  ) * (1-positif(null(2-V_REGCO)+null(4-V_REGCO)));
+BILLOCT1= min (INVLOCT1 , max(0,LIMLOC * (1+BOOL_0AM)  - BILLOCT1AV) ) * (1-positif(null(2-V_REGCO)+null(4-V_REGCO)));
+BILLOCT2AV= min (INVLOCT2AV , max(( LIMLOC * (1+BOOL_0AM) - BILLOCT1AV - BILLOCT1 ),0)) * (1-positif(null(2-V_REGCO)+null(4-V_REGCO))) ;
+BILLOCT2= min (INVLOCT2 , max(( LIMLOC * (1+BOOL_0AM) - BILLOCT1AV - BILLOCT1 - BILLOCT2AV ),0)) * (1-positif(null(2-V_REGCO)+null(4-V_REGCO))) ;
+BILRES= min (INVLOCRES , arr( LIMLOC * (1+BOOL_0AM) /6) ) ;
+
+regle 40791 :
+application : pro ,   oceans , iliad , batch  ;
+RILNEUF = arr(BILNEUF * TX_REDIL25 / 100);
+RILLOCT1 = (BILLOCT1 * TX_REDIL36 / 100);
+RILLOCT2 = (BILLOCT2 * TX_REDIL18 / 100);
+RILLOCT1AV = (BILLOCT1AV * TX_REDIL40 / 100);
+RILLOCT2AV = (BILLOCT2AV * TX_REDIL20 / 100);
+RILTRA = arr(RILLOCT1 + RILLOCT2 + RILLOCT1AV + RILLOCT2AV);
+RILRES = arr(BILRES * TX_REDIL20 / 100);
+RITOUR = RILNEUF 
+        + RILTRA
+	+ RILRES
+        + arr((REPINVLOCINV + RINVLOCINV + REPINVTOU) * TX_REDIL25 / 100)
+        + arr((REPINVLOCREA + RINVLOCREA + INVLOGREHA)* TX_REDIL20 / 100) ;
+RIHOTR = arr((INVLOCHOTR1 + INVLOCHOTR + INVLOGHOT) * TX_REDIL25 / 100) * (1-positif(null(2-V_REGCO)+null(4-V_REGCO)));
+
+
+RIVL1 = (min( arr( max( 0 , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6) 
+            , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)))
+        + min(arr ( max ( 0 , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6) 
+            , min(INVLOCRES,LIMLOC*(1+BOOL_0AM))))
+     * positif(INDLOCNEUF + INDLOCRES) ;
+
+RIVL1RES = (min ( max ( 0 , INVLOCNEUF - arr(LIMLOC*(1+BOOL_0AM)/6)),
+                        arr(LIMLOC * (1+BOOL_0AM) / 6 )) 
+          + min ( max ( 0, INVLOCRES - arr(LIMLOC*(1+BOOL_0AM)/6)),
+       	                arr(LIMLOC * (1+BOOL_0AM) / 6 )))
+                * (1 - positif(INDLOCNEUF + INDLOCRES));
+
+RIVL2 = (max(min( arr( max( 0 , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6)
+              , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - RIVL1), 0)
+        + max(min(arr ( max ( 0 , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6) 
+            , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - RIVL1), 0))
+     * positif(INDLOCNEUF + INDLOCRES);
+
+RIVL2RES = (min ( max ( 0, INVLOCNEUF - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVL1RES),
+		       arr(LIMLOC * (1+BOOL_0AM) / 6 ))
+           + min ( max ( 0, INVLOCRES - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVL1RES),
+		       arr(LIMLOC * (1+BOOL_0AM) / 6 )))
+                * (1 - positif(INDLOCNEUF + INDLOCRES));
+
+RIVL3 = (max(min(arr ( max ( 0 , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6)
+              , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - RIVL1 - RIVL2), 0)
+        + max(min(arr ( max ( 0 , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6) 
+            , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - RIVL1 - RIVL2), 0))
+     * positif(INDLOCNEUF + INDLOCRES);
+
+RIVL3RES = (min ( max ( 0, INVLOCNEUF - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVL1RES - RIVL2RES),
+		       arr(LIMLOC * (1+BOOL_0AM) / 6 ))
+           + min ( max ( 0, INVLOCRES - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVL1RES - RIVL2RES),
+		       arr(LIMLOC * (1+BOOL_0AM) / 6 )))
+                * (1 - positif(INDLOCNEUF + INDLOCRES));
+
+RIVL4 = (max(min(arr ( max ( 0 , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6)
+              , min(INVLOCNEUF,LIMLOC*(1+BOOL_0AM)) - RIVL1 - RIVL2 - RIVL3), 0)
+        + max(min(arr ( max ( 0 , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - arr(LIMLOC*(1+BOOL_0AM)/6))/6) 
+            , min(INVLOCRES,LIMLOC*(1+BOOL_0AM)) - RIVL1 - RIVL2 - RIVL3), 0))
+     * positif(INDLOCNEUF + INDLOCRES);
+
+RIVL4RES = (min ( max ( 0, INVLOCNEUF - arr(LIMLOC*(1+BOOL_0AM)/6) - RIVL1RES - RIVL2RES - RIVL3RE
\ No newline at end of file
diff --git a/sources2011m_9_6/chap-51.m b/sources2011m_9_6/chap-51.m
new file mode 100644
index 0000000000000000000000000000000000000000..2ab3bbccc37a71531c7ac2c2ad78f088af86f9da
--- /dev/null
+++ b/sources2011m_9_6/chap-51.m
@@ -0,0 +1,486 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+  ####   #    #    ##    #####         #####      #
+ #    #  #    #   #  #   #    #        #          #
+ #       ######  #    #  #    #        #          #
+ #       #    #  ######  #####         #####      #
+ #    #  #    #  #    #  #                 #      #
+  ####   #    #  #    #  #     #####   #####      #
+ #
+ #
+ #
+ #
+ #
+ #
+ #           CALCUL DES DROITS SIMPLES RESULTANT DU TAUX PROGRESSIF
+ #
+ #
+ #
+ #
+ #
+ #
+regle 5010:
+application : pro , bareme , oceans , iliad , batch  ;
+IMT11 = max(ID11-ADO1 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IMT12 = max(ID11 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IMTANT11 = max(IDANT11-ADO1 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IMTANT12 = max(IDANT11 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IPHQ = arr(IMT11 * (IMPFHQ1 / ID11)) ;
+IPHQ2 = arr(IMT12 * (IMPFHQ1 / ID11)) ;
+IPHQANT2 = arr(IMTANT12 * (IMPFHQANT1 / IDANT11)) ;
+IPQT = IMT11 - IPHQ;
+IPQT2 = IMT12 - IPHQ2;
+regle 502:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z = 1,2:
+ID1z =  arr( IPQz * arr(RIz+REVQUO) / arr(RB0z+TONEQUO) );
+IDANT11 =  arr( IPQANT1 * arr(RI1+REVQUO) / arr(RB01+TONEQUO) );
+ID14 = IN04;
+ID16 = IN06;
+IMPFHQ1 = (1-positif(IPTEFN)) * EXO1 * arr(ID11 * IPQ01 / IPQ1);
+IMPFHQANT1 = (1-positif(IPTEFN)) * EXO1 
+             * arr(IDANT11 * IPQANT01 / IPQANT1);
+regle 5021:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+IPQz = IPQ0z*EXO1 + IPQ100z;
+IPQANT1 = IPQANT01*EXO1 + IPQANT1001;
+IPQ5 = IPQ05 + IPQ1005;
+regle 50201:
+application : pro , oceans , iliad , batch  ;
+pour z = 1,2:
+IDOM3z = (positif(IND_TDR) * IDOM14)
+         +
+     ((1-positif(IND_TDR)) * ((V_CR2 * IDOM1z) + ((1-V_CR2) * (IPQz - ADO3z))));
+regle 50211:
+application : pro , oceans ,iliad , batch  ;
+SEUILEXO = SEUIL_EXO1 + (SEUIL_EXO2 - SEUIL_EXO1)
+           * positif_ou_nul( max(AGV,AGC) - LIM_AGE_EXO );
+EXO1 =    (1-min(abs(IPTEFN) + IPTEFP+INDTEFF , 1)) * 
+                                  positif(R1649+PREREV + RG + TOTALQUO +(AB
+                                          *(1-present(IPVLOC)))-SEUILEXO)   
+            + 
+            (min(abs(IPTEFN) + IPTEFP +INDTEFF, 1)) 
+        ; 
+regle 502110:
+application :  bareme  ;
+EXO1 =   present(V_9ZZ);
+
+regle 5022:
+application : pro , oceans , iliad , batch  ;
+IMI = arr (BMI * TX_MIN_MET / 100 
+              + arr(PRODOM + PROGUY) * TX_MIN_DOM / 100) 
+          * V_CR2;
+IMO = arr (BMI * TMOY / 100
+              + arr(PRODOM + PROGUY) * TX_MIN_DOM / 100) 
+          * V_CR2;
+RASAR = arr (BRAS * TX_RASAR / 100) ;
+regle 50221:
+application : pro , oceans , bareme , iliad , batch  ;
+BMI = arr( RI1 + REVQUO - PRODOM - PROGUY ) ;
+regle 50222:
+application : pro , oceans , iliad , batch  ;
+TMOY = inf(IPQ5/(max(0,RB05 + TONEQUOM)) * 10000) / 100 * V_CR2;
+regle 503:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2,5,7:
+IQUOTOTz = IN5z - IN0z;
+IQUOTOTANT1 = INANT51 - INANT01;
+regle 50299:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQ1z = positif(somme(i=2..4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTz * RPQ1 / TONEQUO1)
+         + (1 - positif(somme(i=2..4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * IQUOTOTz ;
+ZIPQANT11 = positif(somme(i=2..4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTANT1 * RPQ1 / TONEQUO1)
+         + (1 - positif(somme(i=2..4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * IQUOTOTANT1 ;
+ZIPQ15 = positif(somme(i=2..4:GLiM)+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+          * arr(IQUOTOT5 * RPQ1M / TONEQUOM1)
+         + (1 - positif(somme(i=2..4:GLiM)+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * IQUOTOT7 ;
+pour z=1,2:
+ZIPQ2z = positif(somme(i=3,4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTz * RPQ2 / TONEQUO1)
+         + (1 - positif(somme(i=3,4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTz-ZIPQ1z) ;
+ZIPQANT21 = positif(somme(i=3,4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTANT1 * RPQ2 / TONEQUO1)
+         + (1 - positif(somme(i=3,4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTANT1 -ZIPQANT11);
+ZIPQ25 = positif(somme(i=3,4:GLiM)+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+          * arr(IQUOTOT5 * RPQ2M / TONEQUOM1)
+         + (1 - positif(somme(i=3,4:GLiM)+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * (IQUOTOT7 -ZIPQ15);
+pour z=1,2:
+ZIPQ3z = positif(GL4+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTz * RPQ3 / TONEQUO1)
+         + (1 - positif(GL4+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTz -somme(x=1,2:ZIPQxz));
+ZIPQANT31 = positif(GL4+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTANT1 * RPQ3 / TONEQUO1)
+         + (1 - positif(GL4+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTANT1 -somme(x=1,2:ZIPQANTx1));
+ZIPQ35 = positif(GL4M+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+          * arr(IQUOTOT5 * RPQ3M / TONEQUOM1)
+         + (1 - positif(GL4M+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * (IQUOTOT7 -somme(x=1,2:ZIPQx5));
+pour z=1,2:
+ZIPQ4z = positif(GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTz * RPQ4 / TONEQUO1)
+         + (1 - positif(GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTz -somme(x=1..3:ZIPQxz));
+ZIPQANT41 = positif(GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTANT1 * RPQ4 / TONEQUO1)
+         + (1 - positif(GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTANT1 -somme(x=1..3:ZIPQANTx1));
+ZIPQ45 = positif(GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+          * arr(IQUOTOT5 * RPQ4M / TONEQUOM1)
+         + (1 - positif(GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * (IQUOTOT7 -somme(x=1..3:ZIPQx5));
+regle 50341:
+application : pro , oceans , bareme , iliad , batch  ;
+ZIPQ1TOT= somme(i=1..4 : ZIPQi1);
+ZIPQ2TOT= somme(i=1..4 : ZIPQi2);
+ZIPQ5TOT= somme(i=1..4 : ZIPQi5);
+ZIPQANT1TOT= somme(i=1..4 : ZIPQANTi1);
+regle 5034:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQFVz = positif(somme(i=C,1..4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQFV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT);
+ZIPQFANTV1 = positif(somme(i=C,1..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQFV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT) ;
+ZIPQFV5 = positif(somme(i=C,1..4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQFVM/TONEQUOM1)
+         + (1 - positif(somme(i=C,1..4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT);
+pour z=1,2:
+ZIPQFCz = positif(somme(i=1..4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQFC/TONEQUO1)
+         + (1 - positif(somme(i=1..4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-ZIPQFVz);
+ZIPQFANTC1 = positif(somme(i=1..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQFC/TONEQUO1)
+         + (1 - positif(somme(i=1..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANTV1) ;
+ZIPQFC5 = positif(somme(i=1..4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQFCM/TONEQUOM1)
+         + (1 - positif(somme(i=C,1..4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-ZIPQFV5);
+pour z=1,2:
+ZIPQF1z = positif(somme(i=2,3,4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQF1/TONEQUO1)
+         + (1 - positif(somme(i=2..4:GLFiM)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C:ZIPQFxz));
+ZIPQFANT11 = positif(somme(i=2..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQF1/TONEQUO1)
+         + (1 - positif(somme(i=2..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C:ZIPQFANTx1)) ;
+ZIPQF15 = positif(somme(i=2,3,4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQF1M/TONEQUOM1)
+         + (1 - positif(somme(i=2..4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C:ZIPQFx5));
+pour z=1,2:
+ZIPQF2z = positif(somme(i=3,4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQF2/TONEQUO1)
+         + (1 - positif(somme(i=3,4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C,1:ZIPQFxz));
+ZIPQFANT21 = positif(somme(i=3,4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQF2/TONEQUO1)
+         + (1 - positif(somme(i=3,4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C,1:ZIPQFANTx1)) ;
+ZIPQF25 = positif(somme(i=3,4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQF2M/TONEQUOM1)
+         + (1 - positif(somme(i=3,4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C,1:ZIPQFx5));
+pour z=1,2:
+ZIPQF3z = positif(GLF4+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQF3/TONEQUO1)
+         + (1 - positif(GLF4+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C,1,2:ZIPQFxz));
+ZIPQFANT31 = positif(GLF4 +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQF3/TONEQUO1)
+         + (1 - positif(GLF4 +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C,1,2:ZIPQFANTx1)) ;
+ZIPQF35 = positif(GLF4M +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQF3M/TONEQUOM1)
+         + (1 - positif(GLF4M +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C,1,2:ZIPQFx5));
+pour z=1,2:
+ZIPQF4z = positif(GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQF4/TONEQUO1)
+         + (1 - positif(GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C,1..3:ZIPQFxz));
+ZIPQFANT41 = positif(GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQF4/TONEQUO1)
+         + (1 - positif(GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C,1..3:ZIPQFANTx1)) ;
+ZIPQF45 = positif(GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQF4M/TONEQUOM1)
+         + (1 - positif(GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C,1..3:ZIPQFx5));
+ZIPQF1TOT= somme(i=V,C,1..4 : ZIPQFi1);
+ZIPQF2TOT= somme(i=V,C,1..4 : ZIPQFi2);
+ZIPQF5TOT= somme(i=V,C,1..4 : ZIPQFi5);
+ZIPQFANT1TOT= somme(i=V,C,1..4 : ZIPQFANTi1);
+regle 50396:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQPALIMVz = positif(somme(i=C,1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIMV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT);
+ZIPQPALIMANTV1 = positif(somme(i=C,1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIMV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT
+        );
+ZIPQPALIMV5 = positif(somme(i=C,1..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIMVM/TONEQUOM1)
+         + (1 - positif(somme(i=C,1..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT );
+pour z=1,2:
+ZIPQPALIMCz = positif(somme(i=1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIMC/TONEQUO1)
+         + (1 - positif(somme(i=1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMVz);
+ZIPQPALIMANTC1 = positif(somme(i=1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIMC/TONEQUO1)
+         + (1 - positif(somme(i=1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANTV1
+        );
+ZIPQPALIMC5 = positif(somme(i=1..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIMCM/TONEQUOM1)
+         + (1 - positif(somme(i=1..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIMV5 );
+pour z=1,2:
+ZIPQPALIM1z = positif(somme(i=2..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIM1/TONEQUO1)
+         + (1 - positif(somme(i=2..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C:ZIPQPALIMiz));
+ZIPQPALIMANT11 = positif(somme(i=2..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIM1/TONEQUO1)
+         + (1 - positif(somme(i=2..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM15 = positif(somme(i=2..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIM1M/TONEQUOM1)
+         + (1 - positif(somme(i=2..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C:ZIPQPALIMi5));
+pour z=1,2:
+ZIPQPALIM2z = positif(somme(i=3,4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIM2/TONEQUO1)
+         + (1 - positif(somme(i=3,4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C,1:ZIPQPALIMiz));
+ZIPQPALIMANT21 = positif(somme(i=3,4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIM2/TONEQUO1)
+         + (1 - positif(somme(i=3,4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C,1:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM25 = positif(somme(i=3,4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIM2M/TONEQUOM1)
+         + (1 - positif(somme(i=3,4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C,1:ZIPQPALIMi5));
+pour z=1,2:
+ZIPQPALIM3z = positif(GLPALIM4+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIM3/TONEQUO1)
+         + (1 - positif(GLPALIM4+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C,1..2:ZIPQPALIMiz));
+ZIPQPALIMANT31 = positif(GLPALIM4+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIM3/TONEQUO1)
+         + (1 - positif(GLPALIM4+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C,1..2:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM35 = positif(GLPALIM4M+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIM3M/TONEQUOM1)
+         + (1 - positif(GLPALIM4M+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C,1..2:ZIPQPALIMi5));
+pour z=1,2:
+ZIPQPALIM4z = positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIM4/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C,1..3:ZIPQPALIMiz));
+ZIPQPALIMANT41 = positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIM4/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C,1..3:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM45 = positif(GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIM4M/TONEQUOM1)
+         + (1 - positif(GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C,1..3:ZIPQPALIMi5));
+ZIPQPALIM1TOT= somme(i=V,C,1..4 : ZIPQPALIMi1);
+ZIPQPALIM2TOT= somme(i=V,C,1..4 : ZIPQPALIMi2);
+ZIPQPALIM5TOT= somme(i=V,C,1..4 : ZIPQPALIMi5);
+ZIPQPALIMANT1TOT= somme(i=V,C,1..4 : ZIPQPALIMANTi1);
+regle 50397:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMDCz = positif(GLRCMFU+GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMDC/TONEQUO1)
+         + (1 - positif(GLRCMFU+GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT);
+ZIPQRCMDCANT1 = positif(GLRCMFU+GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMDC/TONEQUO1)
+         + (1 - positif(GLRCMFU+GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT
+        );
+ZIPQRCMDC5 = positif(GLRCMFUM+GLRCMCHM+GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMDCM/TONEQUOM1)
+         + (1 - positif(GLRCMFUM+GLRCMCHM+GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT);
+regle 50398:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMFUz = positif(GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMFU/TONEQUO1)
+         + (1 - positif(GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz);
+ZIPQRCMFUANT1 = positif(GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMFU/TONEQUO1)
+         + (1 - positif(GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1
+        );
+ZIPQRCMFU5 = positif(GLRCMCHM+GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMFUM/TONEQUOM1)
+         + (1 - positif(GLRCMCHM+GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5);
+regle 50401:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMCHz = positif(GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMCH/TONEQUO1)
+         + (1 - positif(GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz);
+ZIPQRCMCHANT1 = positif(GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMCH/TONEQUO1)
+         + (1 - positif(GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1
+        );
+ZIPQRCMCH5 = positif(GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMCHM/TONEQUOM1)
+         + (1 - positif(GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5);
+regle 50402:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMTRz = positif(GLRCMGO+GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMTR/TONEQUO1)
+         + (1 - positif(GLRCMGO+GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz-ZIPQRCMCHz);
+ZIPQRCMTRANT1 = positif(GLRCMGO+GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMTR/TONEQUO1)
+         + (1 - positif(GLRCMGO+GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1-ZIPQRCMCHANT1
+        );
+ZIPQRCMTR5 = positif(GLRCMGOM+GLRCMTSM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMTRM/TONEQUOM1)
+         + (1 - positif(GLRCMGOM+GLRCMTSM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5-ZIPQRCMCH5);
+regle 50403:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMGOz = positif(GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMGO/TONEQUO1)
+         + (1 - positif(GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz-ZIPQRCMCHz-ZIPQRCMTRz);
+ZIPQRCMGOANT1 = positif(GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMGO/TONEQUO1)
+         + (1 - positif(GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1-ZIPQRCMCHANT1-ZIPQRCMTRANT1
+        );
+ZIPQRCMGO5 = positif(GLRCMTSM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMGOM/TONEQUOM1)
+         + (1 - positif(GLRCMTSM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5-ZIPQRCMCH5-ZIPQRCMTR5);
+regle 50404:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMTSz = positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMTS/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz-ZIPQRCMCHz-ZIPQRCMTRz-ZIPQRCMGOz);
+ZIPQRCMTSANT1 = positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMTS/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1-ZIPQRCMCHANT1-ZIPQRCMTRANT1-ZIPQRCMGOANT1
+        );
+ZIPQRCMTS5 = positif(GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMTSM/TONEQUOM1)
+         + (1 - positif(GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5-ZIPQRCMCH5-ZIPQRCMTR5-ZIPQRCMGO5);
+ZIPQRCM1TOT= ZIPQRCMDC1 + ZIPQRCMFU1 + ZIPQRCMCH1 + ZIPQRCMTS1 + ZIPQRCMGO1 + ZIPQRCMTR1;
+ZIPQRCM2TOT= ZIPQRCMDC2 + ZIPQRCMFU2 + ZIPQRCMCH2 + ZIPQRCMTS2 + ZIPQRCMGO2 + ZIPQRCMTR2;
+ZIPQRCM5TOT= ZIPQRCMDC5 + ZIPQRCMFU5 + ZIPQRCMCH5 + ZIPQRCMTS5 + ZIPQRCMGO5 + ZIPQRCMTR5;
+ZIPQRCMANT1TOT= ZIPQRCMDCANT1 + ZIPQRCMFUANT1 + ZIPQRCMCHANT1 + ZIPQRCMTSANT1 + ZIPQRCMGOANT1 + ZIPQRCMTRANT1;
+regle 50410:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQPRRVz = positif(somme(i=C,1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRRV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT);
+ZIPQPRRANTV1 = positif(somme(i=C,1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRRV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT
+        );
+ZIPQPRRV5 = positif(somme(i=C,1..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRRVM/TONEQUOM1)
+         + (1 - positif(somme(i=C,1..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT);
+pour z=1,2:
+ZIPQPRRCz = positif(somme(i=1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRRC/TONEQUO1)
+         + (1 - positif(somme(i=1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz);
+ZIPQPRRANTC1 = positif(somme(i=1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRRC/TONEQUO1)
+         + (1 - positif(somme(i=1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1
+        );
+ZIPQPRRC5 = positif(somme(i=1..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRRCM/TONEQUOM1)
+         + (1 - positif(somme(i=1..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5);
+pour z=1,2:
+ZIPQPRR1z = positif(somme(i=2..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRR1/TONEQUO1)
+         + (1 - positif(somme(i=2..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz-ZIPQPRRCz);
+ZIPQPRRANT11 = positif(somme(i=2..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRR1/TONEQUO1)
+         + (1 - positif(somme(i=2..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1-ZIPQPRRANTC1
+        );
+ZIPQPRR15 = positif(somme(i=2..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRR1M/TONEQUOM1)
+         + (1 - positif(somme(i=2..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5-ZIPQPRRC5);
+pour z=1,2:
+ZIPQPRR2z = positif(somme(i=3,4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRR2/TONEQUO1)
+         + (1 - positif(somme(i=3,4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz-ZIPQPRRCz-ZIPQPRR1z);
+ZIPQPRRANT21 = positif(somme(i=3,4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRR2/TONEQUO1)
+         + (1 - positif(somme(i=3,4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1-ZIPQPRRANTC1-ZIPQPRRANT11
+        );
+ZIPQPRR25 = positif(somme(i=3,4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRR2M/TONEQUOM1)
+         + (1 - positif(somme(i=3,4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5-ZIPQPRRC5-ZIPQPRR15);
+pour z=1,2:
+ZIPQPRR3z = positif(GLPRR4+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRR3/TONEQUO1)
+         + (1 - positif(GLPRR4+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz-ZIPQPRRCz-ZIPQPRR1z-ZIPQPRR2z);
+ZIPQPRRANT31 = positif(GLPRR4+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRR3/TONEQUO1)
+         + (1 - positif(GLPRR4+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1-ZIPQPRRANTC1-ZIPQPRRANT11-ZIPQPRRANT21
+        );
+ZIPQPRR35 = positif(GLPRR4M+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRR3M/TONEQUOM1)
+         + (1 - positif(GLPRR4M+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5-ZIPQPRRC5-ZIPQPRR15-ZIPQPRR25);
+pour z=1,2:
+ZIPQPRR4z = positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRR4/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz-ZIPQPRRCz-ZIPQPRR1z-ZIPQPRR2z-ZIPQPRR3z);
+ZIPQPRRANT41 = positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRR4/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1-ZIPQPRRANTC1-ZIPQPRRANT11-ZIPQPRRANT21-ZIPQPRRANT31
+        );
+ZIPQPRR45 = positif(GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRR4M/TONEQUOM1)
+         + (1 - positif(GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5-ZIPQPRRC5-ZIPQPRR15-ZIPQPRR25-ZIPQPRR35);
+ZIPQPRR1TOT= somme(i=V,C,1..4 : ZIPQPRRi1);
+ZIPQPRR2TOT= somme(i=V,C,1..4 : ZIPQPRRi2);
+ZIPQPRR5TOT= somme(i=V,C,1..4 : ZIPQPRRi5);
+ZIPQPRRANT1TOT= somme(i=V,C,1..4 : ZIPQPRRANTi1);
+regle 50415:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRF1z = positif(GLRF2+GLTSTOT+GLTSREMPTOT+GLRVOTOT) * arr(IQUOTOTz*RPQRF1/TONEQUO1)
+         + (1 - positif(GLRF2+GLTSTOT+GLTSREMPTOT+GLRVOTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRzTOT);
+ZIPQRFANT11 = positif(GLRF2+GLTSTOT+GLTSREMPTOT+GLRVOTOT) * arr(IQUOTOTANT1*RPQRF1/TONEQUO1)
+         + (1 - positif(GLRF2+GLTSTOT+GLTSREMPTOT+GLRVOTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANT1TOT
+        );
+ZIPQRF15 = positif(GLRF2M+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM) *arr(IQUOTOT5*RPQRF1M/TONEQUOM1)
+         + (1 - positif(GLRF2M+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRR5TOT);
+pour z=1,2:
+ZIPQRF2z = positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT) * arr(IQUOTOTz*RPQRF2/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-
\ No newline at end of file
diff --git a/sources2011m_9_6/chap-52.m b/sources2011m_9_6/chap-52.m
new file mode 100644
index 0000000000000000000000000000000000000000..fee46eb86951325360a0f970bd65c4e27ac4ec26
--- /dev/null
+++ b/sources2011m_9_6/chap-52.m
@@ -0,0 +1,98 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 507:
+application : pro , oceans , bareme , iliad , batch  ;
+
+TAUX1 =   (TX_BAR1  - TX_BAR0 ) ;
+TAUX2 =   (TX_BAR2  - TX_BAR1 ) ;
+TAUX3 =   (TX_BAR3  - TX_BAR2 ) ;
+TAUX4 =   (TX_BAR4  - TX_BAR3 ) ;
+regle 50700:
+application : pro , oceans , bareme , iliad , batch  ;
+pour x=0,5;y=1,2;z=1,2:
+DSxyz = max( QFxyz - LIM_BAR1  , 0 ) * (TAUX1   / 100)
+      + max( QFxyz - LIM_BAR2  , 0 ) * (TAUX2   / 100)
+      + max( QFxyz - LIM_BAR3  , 0 ) * (TAUX3   / 100)
+      + max( QFxyz - LIM_BAR4  , 0 ) * (TAUX4   / 100);
+regle 50702:
+application : pro , oceans  , iliad , batch  ;
+WTXMARJ = (RB51) / ( NB1 * null(PLAFQF) + NB2 *null(1-PLAFQF)) ;
+TXMARJ = max ( positif (WTXMARJ - LIM_BAR1) * TX_BAR1 , 
+                max ( positif (WTXMARJ - LIM_BAR2) * TX_BAR2 , 
+                      max ( positif (WTXMARJ - LIM_BAR3) * TX_BAR3 , 
+                             max ( positif (WTXMARJ - LIM_BAR4) * TX_BAR4 ,0
+                                 )
+                          )
+                     )
+              )
+
+          * ( 1 - positif ( 
+                              present ( NRBASE ) 
+                            + present ( NRINET ) 
+                            + present ( IPTEFP ) 
+                            + present ( IPTEFN ) 
+                            + present ( PRODOM ) 
+                            + present ( PROGUY ) 
+                          )              
+             )
+          * (1- null(2 - V_REGCO))
+  * positif(IDRS2+IPQ1);
+
+
+
+regle 5071:
+application : pro , oceans , bareme , iliad , batch  ;
+pour y=1,2:
+DS0y3 = max( QF0y3 - LIM_BAR1  , 0 ) * (TAUX1 /100)
+      + max( QF0y3 - LIM_BAR2  , 0 ) * (TAUX2 /100)
+      + max( QF0y3 - LIM_BAR3  , 0 ) * (TAUX3 /100)
+      + max( QF0y3 - LIM_BAR4  , 0 ) * (TAUX4 /100);
+pour y=1,2:
+DS0y4 = max( QF0y4 - LIM_BAR1  , 0 ) * (TAUX1 /100)
+      + max( QF0y4 - LIM_BAR2  , 0 ) * (TAUX2 /100)
+      + max( QF0y4 - LIM_BAR3  , 0 ) * (TAUX3 /100)
+      + max( QF0y4 - LIM_BAR4  , 0 ) * (TAUX4 /100);
+pour x=0,5:
+DSx15 = max( QFx15 - LIM_BAR1  , 0 ) * (TAUX1 /100)
+      + max( QFx15 - LIM_BAR2  , 0 ) * (TAUX2 /100)
+      + max( QFx15 - LIM_BAR3  , 0 ) * (TAUX3 /100)
+      + max( QFx15 - LIM_BAR4  , 0 ) * (TAUX4 /100);
+pour y=1,2:
+DS0y6 = max( QF0y6 - LIM_BAR1  , 0 ) * (TAUX1 /100)
+      + max( QF0y6 - LIM_BAR2  , 0 ) * (TAUX2 /100)
+      + max( QF0y6 - LIM_BAR3  , 0 ) * (TAUX3 /100)
+      + max( QF0y6 - LIM_BAR4  , 0 ) * (TAUX4 /100);
+regle 508:
+application : pro , oceans , bareme , iliad , batch  ;
+NB1 = NBPT ;
+NB2 = 1 + BOOL_0AM + BOOL_0AZ * V_0AV ;
+regle 5080:
+application : pro , oceans , bareme , iliad , batch  ;
+pour y=1,2;z=1,2,3:
+QF0yz = arr(RB0z) / NBy;
+pour y=1,2;z=1,2:
+QF5yz = arr(RB5z) / NBy;
+pour y=1,2:
+QF0y4 = arr(RB04) / NBy;
+pour x=0,5:
+QFx15 = arr(RBx5) / NB1;
+pour y=1,2:
+QF0y6 = arr(RB06) / NBy;
diff --git a/sources2011m_9_6/chap-6.m b/sources2011m_9_6/chap-6.m
new file mode 100644
index 0000000000000000000000000000000000000000..1e17fe05d8f1d24793a43a296507f26e470e0683
--- /dev/null
+++ b/sources2011m_9_6/chap-6.m
@@ -0,0 +1,122 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #  
+                                                                        
+  ####   #    #    ##    #####      #     #####  #####   ######          #####
+ #    #  #    #   #  #   #    #     #       #    #    #  #              #
+ #       ######  #    #  #    #     #       #    #    #  #####          # ####
+ #       #    #  ######  #####      #       #    #####   #              #     #
+ #    #  #    #  #    #  #          #       #    #   #   #              #     #
+  ####   #    #  #    #  #          #       #    #    #  ######   ####   #####
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                      CALCUL DU NOMBRE DE PARTS
+ #
+ #
+ #
+ #
+ #
+regle 601:
+application : pro , batch , oceans , iliad   ;
+NBPT =  ((NSM + NPA + NIN + NSP + NBQAR)* 10)/10 ;
+regle 6010:
+application : bareme ;
+NBPT =  (1 - present(V_9VV)) * ((NSM + NPA + NIN + NSP + NBQAR)* 10)/10 
+      + V_9VV ;
+regle 6011:
+application : pro , oceans , bareme , iliad , batch  ;
+NSM = 1 + BOOL_0AM + V_0AV * min(BOOL_0AZ + EAC + V_0CH + V_0CR, 1 ) +
+    ( V_0AV * BOOL_0AZ * V_0AW * (1 - V_0AP) * (1 - V_0AF) / 2 ) ;
+regle 6012:
+application : pro , oceans , bareme , iliad , batch  ;
+NPA = PAC - 0.5 * min( PAC, 2 ) ;
+regle 60121:
+application : pro , oceans , bareme , iliad , batch  ;
+PAC = EAC + V_0CR;
+regle 60122:
+application : bareme ;
+EAC = ((V_0CF + V_0DJ) * (1 - present(V_9XX)))  + V_9XX ;
+regle 601220:
+application : batch , pro , oceans , iliad ;
+EAC = (V_0CF + V_0DJ) ;
+regle 6013:
+application : pro , oceans , bareme , iliad , batch  ;
+NIN =  ( V_0AP + V_0AF + V_0CG + V_0CR ) * 0.5;
+regle 6014:
+application : pro , oceans , bareme , iliad , batch  ;
+NSP = NPS + NSA + NCC;
+regle 60141:
+application : pro , oceans , bareme , iliad , batch  ;
+NCC = V_0AS * BOOL_0AM * (1 - positif(V_0AP + V_0AF)) * 0.5 *
+      positif(max( AGV + 1 - LIM_AGE_LET_S, AGC + 1 - LIM_AGE_LET_S ));
+regle 60142:
+application : pro , oceans , bareme , iliad , batch  ;
+NPS = positif(PAC) * V_0BT * positif( 2 - NSM ) * 0.5 ;
+regle 60143:
+application : pro , oceans , bareme , iliad , batch  ;
+NSA = (1 - positif(PAC+V_0CH)) 
+          * min( V_0AE * positif(positif(ZONEANTEK + V_BT0AE )*(1-positif(V_0AL)) +positif(V_0AL)
+		 * ( 1 - positif(positif(V_0AW)*positif_ou_nul(AGV-LIM_AGE_LET_S)))) * (1 - positif(V_0DN))  * (1 - positif(V_0AN)) 
+
+
+	       + V_0AG
+	       + (V_0AL * (1-positif(V_0AE)) * (1 - positif (V_0AN))) * ( 1 - positif(positif(V_0AW)*positif_ou_nul(AGV-LIM_AGE_LET_S)))	
+               + V_0AW * positif(max(AGV + 1 - LIM_AGE_LET_S, AGC + 1 - LIM_AGE_LET_S)) 
+      , 1 )
+      * ( 1 - V_0AP ) * positif(2 - NSM) * 0.5;
+ 
+NSA2 = min( (1 - positif(PAC+V_0CH))
+              *
+       (null(SFUTILE - 14)
+        + null (SFUTILE - 7)
+        + null (SFUTILE - 15) * (1-positif(NIN))    
+       )
+        +
+           null(SFUTILE -7) * BOOL_0AZ * V_0AV
+       , 1)
+* 0.5;
+regle 60200:
+application : pro , oceans , bareme , iliad , batch  ;
+
+
+BOOL_0BT = positif ( V_0BT+0 ) * positif ( V_0AC + V_0AD + 0);
+
+NBQAR1 =   null (V_0CF+V_0CR+V_0DJ+0)    * (  1/2 * (V_0CH-2) * positif (V_0CH- 2) 
+                                + 1/4 * positif (V_0CH+0) 
+                                + 1/4 * positif(V_0CH-1)
+                               );
+NBQAR2 =   null(V_0CF+V_0CR+V_0DJ-1) * (1/2 * (V_0CH -1 ) * positif(V_0CH -1) 
+                               + 1/4 * positif (V_0CH+0) 
+                           );
+NBQAR3 =   positif_ou_nul(V_0CF+V_0CR+V_0DJ-2) * 1/2 * V_0CH ;
+
+NBQAR4 =  1/4 * V_0CI ;
+
+NBQART =  BOOL_0BT * null(V_0CF+V_0CR+V_0DJ+0) 
+                     * (1/4 * null (V_0CH  -1) + 1/2 *  positif_ou_nul (V_0CH  - 2)) ;
+
+NBQAR = NBQAR1 + NBQAR2 + NBQAR3 + NBQAR4 + NBQART;
diff --git a/sources2011m_9_6/chap-7.m b/sources2011m_9_6/chap-7.m
new file mode 100644
index 0000000000000000000000000000000000000000..46d6dda688619c55237b1cab7125da909a7d6498
--- /dev/null
+++ b/sources2011m_9_6/chap-7.m
@@ -0,0 +1,484 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+ #
+                                                                        #######
+  ####   #    #    ##    #####      #     #####  #####   ######         #    #
+ #    #  #    #   #  #   #    #     #       #    #    #  #                  #
+ #       ######  #    #  #    #     #       #    #    #  #####             #
+ #       #    #  ######  #####      #       #    #####   #                #
+ #    #  #    #  #    #  #          #       #    #   #   #                #
+  ####   #    #  #    #  #          #       #    #    #  ###### #######   #
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                           REVENU IMPOSABLE
+ #
+ #                           ET       CHARGES
+ #
+ #
+ #
+ #
+regle 700:
+application : pro , oceans , bareme , iliad , batch  ;
+pour z=1,2:
+RB5z = max( 0, RB0z + TONEQUO1) ;
+RB55 = max( 0, RB05 + TONEQUOM1) ;
+regle 701:
+application : pro , oceans , bareme , iliad , batch  ;
+RB01 = (RI1 * (1 - positif(IPTEFP + IPTEFN +INDTEFF))) 
+	+ (IPTEFP + RFROBOR * V_INDTEO * present(IPTEFP))
+	+TEFFREVTOT*(1-positif(IPTEFP))*INDTEFF;
+RB02 = (RI2 * (1 - positif(IPTEFP + IPTEFN+ INDTEFF))) 
+	+ positif(IPTEFP)*(IPTEFP +RFROBOR * V_INDTEO * present(IPTEFP)+ DPAE) 
+	+ TEFFREVTOT*(1-positif(IPTEFP))*INDTEFF;
+RB03 = (RI3 * (1 - positif(IPTEFP + IPTEFN+ INDTEFF))) 
+	+ max( 0 , IPTEFP+RFROBOR * V_INDTEO * present(IPTEFP))
+	+min(TEFFREVTOT,0) * (1-positif(IPTEFP)) * INDTEFF;
+RB04 = IND_TDR;
+regle 70105:
+application : pro , oceans , iliad , bareme , batch ;
+RB05 = RMOND ;
+RB06 = RE168+TAX1649;
+regle 7011:
+application : pro , oceans , iliad , batch  ;
+TONEQUO1 = somme(x=1..4:RPQx) + somme(x=V,C,1..4: RPQFx) + somme(x=V,C,1..4: RPQPALIMx) + somme(x=1,2 : RPQRFx)
+	 + RPQRCMDC + RPQRCMFU  + RPQRCMCH  + RPQRCMTR  + RPQRCMTS + RPQRCMGO +somme(x=V,C,1..4 : RPQPRRx) + RPQRVO  + RPQRVO5  + RPQRVO6  + RPQRVO7
+	 + somme(x=V,C,1..4 : RPQTSx) + somme(x=V,C,1..4 : RPQTSREMPx);
+TONEQUOM1 = somme(x=1..4:RPQxM) + somme(x=V,C,1..4: RPQFxM) + somme(x=V,C,1..4: RPQPALIMxM) + somme(x=1,2 : RPQRFxM)
+	 + RPQRCMDCM + RPQRCMFUM  + RPQRCMCHM  + RPQRCMTRM  + RPQRCMTSM + RPQRCMGOM +somme(x=V,C,1..4 : RPQPRRxM) + RPQRVOM  + RPQRVO5M  + RPQRVO6M  + RPQRVO7M
+	 + somme(x=V,C,1..4 : RPQTSxM) + somme(x=V,C,1..4 : RPQTSREMPxM);
+regle 70111  :
+application : pro , oceans , iliad , batch  ;
+REV1 = GLN1;
+REV2 = GLN2;   
+REV3 = GLN3;
+REV4 = 4BAQTOTNET;
+REVF = somme(i=V,C,1..4: PENFi);
+REVALIM = somme (i=V,C,1..4: PENALIMi);
+REVTS = somme (i=V,C,1..4:TSNN2i);
+REVTSREMP = somme (i=V,C,1..4:TSNN2REMPi);
+REVPRR = somme (i=V,C,1..4:PRR2i);
+REVRVO = T2RV;
+REVRCM = 2RCM + 3RCM + 4RCM + 5RCM + 6RCM + 7RCM;
+REVRF = 2REVF+3REVF;
+REVQTOT = somme(i=1..4 : REVi) + REVALIM + REVF+REVTS+REVPRR+REVRVO+REVRCM+REVRF;
+regle 70112  :
+application : pro , oceans , iliad , batch  ;
+GL1 = positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * REV1 / TOTALQUO) +
+     (1 - positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * TONEQUO;
+GL2 = positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * REV2 / TOTALQUO) +
+     (1 - positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GL1);
+GL3 = positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * REV3 / TOTALQUO) +
+     (1 - positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO - GL1 - GL2);
+GL4 = positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * REV4 / TOTALQUO) +
+     (1 - positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO - GL1 - GL2 - GL3);
+GLTOT = somme(i=1..4:GLi);
+GLFV = positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENFV / TOTALQUO) +
+      (1 - positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT);
+GLFC = positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENFC / TOTALQUO) +
+      (1 - positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFV);
+GLF1 = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF1 / TOTALQUO) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFV-GLFC);
+GLF2 = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF2 / TOTALQUO) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFV-GLFC-GLF1);
+GLF3 = positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF3 / TOTALQUO) +
+      (1 - positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFV-GLFC-GLF1-GLF2);
+GLF4 = positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF4 / TOTALQUO) +
+      (1 - positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFV-GLFC-GLF1-GLF2-GLF3);
+GLFTOT = somme(i=V,C,1..4:GLFi);
+GLPALIMV = positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIMV / TOTALQUO) +
+      (1 - positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT);
+GLPALIMC = positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIMC / TOTALQUO) +
+      (1 - positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMV);
+GLPALIM1 = positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIM1 / TOTALQUO) +
+      (1 - positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMV-GLPALIMC);
+GLPALIM2 = positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIM2 / TOTALQUO) +
+      (1 - positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMV-GLPALIMC-GLPALIM1);
+GLPALIM3 = positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIM3 / TOTALQUO) +
+      (1 - positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMV-GLPALIMC-GLPALIM1-GLPALIM2);
+GLPALIM4 = positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIM4 / TOTALQUO) +
+      (1 - positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMV-GLPALIMC-GLPALIM1-GLPALIM2-GLPALIM3);
+GLPALIMTOT = somme(i=V,C,1..4:GLPALIMi);
+GLTSV = positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TSV / TOTALQUO) +
+      (1 - positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT);
+GLTSC = positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TSC / TOTALQUO) +
+      (1 - positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSV);
+GLTS1 = positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TS1 / TOTALQUO) +
+      (1 - positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC);
+GLTS2 = positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TS2 / TOTALQUO) +
+      (1 - positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC-GLTS1);
+GLTS3 = positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TS3 / TOTALQUO) +
+      (1 - positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC-GLTS1-GLTS2);
+GLTS4 = positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TS4 / TOTALQUO) +
+      (1 - positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC-GLTS1-GLTS2-GLTS3);
+GLTSTOT = somme(i=V,C,1..4:GLTSi);
+GLTSREMPV = positif(TSNN2REMPC+TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMPV / TOTALQUO) +
+      (1 - positif(TSNN2REMPC+TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLTSTOT-GLPALIMTOT);
+GLTSREMPC = positif(TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMPC / TOTALQUO) +
+      (1 - positif(TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV);
+GLTSREMP1 = positif(TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMP1 / TOTALQUO) +
+      (1 - positif(TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC);
+GLTSREMP2 = positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMP2 / TOTALQUO) +
+      (1 - positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC-GLTSREMP1);
+GLTSREMP3 = positif(TSNN2REMP4+TSNN2REMPC+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMP3 / TOTALQUO) +
+      (1 - positif(TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC-GLTSREMP1-GLTSREMP2);
+GLTSREMP4 = positif(REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMP4 / TOTALQUO) +
+      (1 - positif(REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC-GLTSREMP1-GLTSREMP2-GLTSREMP3);
+GLTSREMPTOT = somme(i=V,C,1..4:GLTSREMPi);
+GLPRRV = positif(PRR2C+PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR2V / TOTALQUO) +
+      (1 - positif(PRR2C+PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT);
+GLPRRC = positif(PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR2C / TOTALQUO) +
+      (1 - positif(PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV);
+GLPRR1 = positif(PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR21 / TOTALQUO) +
+      (1 - positif(PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC);
+GLPRR2 = positif(PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR22 / TOTALQUO) +
+      (1 - positif(PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1);
+GLPRR3 = positif(PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR23 / TOTALQUO) +
+      (1 - positif(PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2);
+GLPRR4 = positif(REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR24 / TOTALQUO) +
+      (1 - positif(REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2-GLPRR3);
+GLPRRTOT = somme(i=V,C,1..4:GLPRRi);
+GLRVO = positif(2RV2 + 2RV3 + 2RV4 +REVRCM+REVRF)*arr(TONEQUO * 2RV1 / TOTALQUO) +
+      (1 - positif(2RV2 + 2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT);
+GLRVO5 = positif(2RV3 + 2RV4+REVRCM+REVRF)*arr(TONEQUO * 2RV2 / TOTALQUO) +
+      (1 - positif(2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVO);
+GLRVO6 = positif(2RV4+REVRCM+REVRF)*arr(TONEQUO * 2RV3 / TOTALQUO) +
+      (1 - positif(2RV4+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLPRRTOT-GLTSREMPTOT-GLRVO-GLRVO5);
+GLRVO7 = positif(REVRCM+REVRF)*arr(TONEQUO * 2RV4 / TOTALQUO) +
+      (1 - positif(REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVO-GLRVO5-GLRVO6);
+GLRVOTOT = GLRVO + GLRVO5 + GLRVO6 + GLRVO7;
+GLRCMDC  = positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUO * 2RCM / TOTALQUO) +
+      (1 - positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT);
+GLRCMFU  = positif(4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUO * 3RCM / TOTALQUO) +
+      (1 - positif(4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC);
+GLRCMCH  = positif(5RCM+6RCM+7RCM+REVRF)*arr(TONEQUO * 4RCM / TOTALQUO) +
+      (1 - positif(5RCM+6RCM+7RCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU);
+GLRCMTS  = positif(6RCM+7RCM+REVRF)*arr(TONEQUO * 5RCM / TOTALQUO) +
+      (1 - positif(6RCM+7RCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU - GLRCMCH);
+GLRCMGO = positif(7RCM+REVRF)*arr(TONEQUO * 6RCM / TOTALQUO) +
+      (1 - positif(7RCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU - GLRCMCH - GLRCMTS);
+GLRCMTR  = positif(REVRF)*arr(TONEQUO * 7RCM / TOTALQUO) +
+      (1 - positif(REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU - GLRCMCH - GLRCMGO - GLRCMTS);
+GLRCMTOT = GLRCMDC + GLRCMFU + GLRCMCH + GLRCMGO + GLRCMTR + GLRCMTS;
+GLRF1  = positif(3REVF)*arr(TONEQUO * 2REVF / TOTALQUO) +
+      (1 - positif(3REVF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT-GLRCMTOT);
+GLRF2  = (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT-GLRCMTOT-GLRF1);
+GLRFTOT = GLRF1 + GLRF2;
+regle 701125  :
+application : pro , oceans , iliad , batch  ;
+GL1M = positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * REV1 / TOTALQUO) +
+     (1 - positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * TONEQUOM;
+GL2M = positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * REV2 / TOTALQUO) +
+     (1 - positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GL1M);
+GL3M = positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * REV3 / TOTALQUO) +
+     (1 - positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM - GL1M - GL2M);
+GL4M = positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * REV4 / TOTALQUO) +
+     (1 - positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM - GL1M - GL2M - GL3M);
+GLTOTM = somme(i=1..4:GLiM);
+GLFVM = positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENFV / TOTALQUO) +
+      (1 - positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM);
+GLFCM = positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENFC / TOTALQUO) +
+      (1 - positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFVM);
+GLF1M = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENF1 / TOTALQUO) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFVM-GLFCM);
+GLF2M = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENF2 / TOTALQUO) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFVM-GLFCM-GLF1M);
+GLF3M = positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENF3 / TOTALQUO) +
+      (1 - positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFVM-GLFCM-GLF1M-GLF2M);
+GLF4M = positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENF4 / TOTALQUO) +
+      (1 - positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOT-GLFVM-GLFCM-GLF1M-GLF2M-GLF3M);
+GLFTOTM = somme(i=V,C,1..4:GLFiM);
+GLPALIMVM = positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIMV / TOTALQUO) +
+      (1 - positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM);
+GLPALIMCM = positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIMC / TOTALQUO) +
+      (1 - positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMVM);
+GLPALIM1M = positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIM1 / TOTALQUO) +
+      (1 - positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMVM-GLPALIMCM);
+GLPALIM2M = positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIM2 / TOTALQUO) +
+      (1 - positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMVM-GLPALIMCM-GLPALIM1M);
+GLPALIM3M = positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIM3 / TOTALQUO) +
+      (1 - positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMVM-GLPALIMCM-GLPALIM1M-GLPALIM2M);
+GLPALIM4M = positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIM4 / TOTALQUO) +
+      (1 - positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMVM-GLPALIMCM-GLPALIM1M-GLPALIM2M-GLPALIM3M);
+GLPALIMTOTM = somme(i=V,C,1..4:GLPALIMiM);
+GLTSVM = positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TSV / TOTALQUO) +
+      (1 - positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM);
+GLTSCM = positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TSC / TOTALQUO) +
+      (1 - positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSVM);
+GLTS1M = positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TS1 / TOTALQUO) +
+      (1 - positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSVM-GLTSCM);
+GLTS2M = positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TS2 / TOTALQUO) +
+      (1 - positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSVM-GLTSCM-GLTS1M);
+GLTS3M = positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TS3 / TOTALQUO) +
+      (1 - positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSVM-GLTSCM-GLTS1M-GLTS2M);
+GLTS4M = positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TS4 / TOTALQUO) +
+      (1 - positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSVM-GLTSCM-GLTS1M-GLTS2M-GLTS3M);
+GLTSTOTM = somme(i=V,C,1..4:GLTSiM);
+GLTSREMPVM = positif(TSNN2REMPC+TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2REMPV / TOTALQUO) +
+      (1 - positif(TSNN2REMPC+TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM);
+GLTSREMPCM = positif(TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2REMPC / TOTALQUO) +
+      (1 - positif(TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPVM);
+GLTSREMP1M = positif(TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2REMP1 / TOTALQUO) +
+      (1 - positif(TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPVM-GLTSREMPCM);
+GLTSREMP2M = positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2REMP2 / TOTALQUO) +
+      (1 - positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPVM-GLTSREMPCM-GLTSREMP1M);
+GLTSREMP3M = positif(TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2REMP3 / TOTALQUO) +
+      (1 - positif(TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPVM-GLTSREMPCM-GLTSREMP1M-GLTSREMP2M);
+GLTSREMP4M = positif(REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN24 / TOTALQUO) +
+      (1 - positif(REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPVM-GLTSREMPCM-GLTSREMP1M-GLTSREMP2M-GLTSREMP3M);
+GLTSREMPTOTM = somme(i=V,C,1..4:GLTSREMPiM);
+GLPRRVM = positif(PRR2C+PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR2V / TOTALQUO) +
+      (1 - positif(PRR2C+PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM);
+GLPRRCM = positif(PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR2C / TOTALQUO) +
+      (1 - positif(PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRVM);
+GLPRR1M = positif(PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR21 / TOTALQUO) +
+      (1 - positif(PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRVM-GLPRRCM);
+GLPRR2M = positif(PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR22 / TOTALQUO) +
+      (1 - positif(PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRVM-GLPRRCM-GLPRR1M);
+GLPRR3M = positif(PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR23 / TOTALQUO) +
+      (1 - positif(PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRVM-GLPRRCM-GLPRR1M-GLPRR2M);
+GLPRR4M = positif(REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR24 / TOTALQUO) +
+      (1 - positif(REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRVM-GLPRRCM-GLPRR1M-GLPRR2M-GLPRR3M);
+GLPRRTOTM = somme(i=V,C,1..4:GLPRRiM);
+GLRVOM = positif(2RV2 + 2RV3 + 2RV4 +REVRCM+REVRF)*arr(TONEQUOM * 2RV1 / TOTALQUO) +
+      (1 - positif(2RV2 + 2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM);
+GLRVO5M = positif(2RV3 + 2RV4+REVRCM+REVRF)*arr(TONEQUOM * 2RV2 / TOTALQUO) +
+      (1 - positif(2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOM);
+GLRVO6M = positif(2RV4+REVRCM+REVRF)*arr(TONEQUOM * 2RV3 / TOTALQUO) +
+      (1 - positif(2RV4+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOM-GLRVO5M);
+GLRVO7M = positif(REVRCM+REVRF)*arr(TONEQUOM * 2RV4 / TOTALQUO) +
+      (1 - positif(REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOM-GLRVO5M-GLRVO6M);
+GLRVOTOTM = GLRVOM + GLRVO5M + GLRVO6M + GLRVO7M;
+GLRCMDCM = positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUOM * 2RCM / TOTALQUO) +
+      (1 - positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM);
+GLRCMFUM = positif(4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUOM * 3RCM / TOTALQUO) +
+      (1 - positif(4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM - GLRCMDCM);
+GLRCMCHM = positif(5RCM+6RCM+7RCM+REVRF)*arr(TONEQUOM * 4RCM / TOTALQUO) +
+      (1 - positif(5RCM+6RCM+7RCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM - GLRCMDCM - GLRCMFUM);
+GLRCMTSM = positif(6RCM+7RCM+REVRF)*arr(TONEQUOM * 5RCM / TOTALQUO) +
+      (1 - positif(6RCM+7RCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM - GLRCMDCM - GLRCMFUM - GLRCMCHM);
+GLRCMGOM = positif(7RCM+REVRF)*arr(TONEQUOM * 6RCM / TOTALQUO) +
+      (1 - positif(7RCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM - GLRCMDCM - GLRCMFUM - GLRCMCHM - GLRCMTSM);
+GLRCMTRM = positif(REVRF)*arr(TONEQUOM * 7RCM / TOTALQUO) +
+      (1 - positif(REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM  - GLRCMDCM - GLRCMFUM - GLRCMCHM - GLRCMGOM - GLRCMTSM);
+GLRCMTOTM = GLRCMDCM + GLRCMFUM + GLRCMCHM + GLRCMGOM + GLRCMTRM + GLRCMTSM;
+GLRF1M  = positif(3REVF)*arr(TONEQUOM * 2REVF / TOTALQUO) +
+      (1 - positif(3REVF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM-GLRCMTOTM);
+GLRF2M  = (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM-GLRCMTOTM-GLRF1M);
+GLRFTOTM = GLRF1M + GLRF2M;
+regle 7012:
+application : pro , oceans , iliad , batch  ;
+RPQ1 = inf(GL1 / DIVGL1)+0;
+RPQ2 = inf(GL2 / DIVGL2)+0;
+RPQ3 = inf(GL3 / DIVGL3)+0;
+RPQ4 = inf(GL4 / DIVGL4)+0;
+pour x=V,C,1..4:
+RPQFx = inf(GLFx/COTFx);
+pour x=V,C:
+RPQPALIMx = inf(GLPALIMx/PENSALNBx);
+pour x=1..4:
+RPQPALIMx = inf(GLPALIMx/PENSALNBPx);
+RPQRF1 = inf(GLRF1/FONCINB);
+RPQRF2 = inf(GLRF2/REAMORNB);
+RPQRCMDC = inf(GLRCMDC/REVACTNB);
+RPQRCMFU = inf(GLRCMFU/REVPEANB);
+RPQRCMCH = inf(GLRCMCH/PROVIENB);
+RPQRCMTS = inf(GLRCMTS/DISQUONB);
+RPQRCMGO = inf(GLRCMGO/RESTUCNB);
+RPQRCMTR = inf(GLRCMTR/INTERENB);
+pour i=V,C:
+RPQPRRi = inf(GLPRRi/CARPENBAi);
+pour i=1..4:
+RPQPRRi = inf(GLPRRi/CARPENBAPi);
+RPQRVO = inf(GLRVO/RENTAXNB);
+RPQRVO5 = inf(GLRVO5/RENTAXNB5);
+RPQRVO6 = inf(GLRVO6/RENTAXNB6);
+RPQRVO7 = inf(GLRVO7/RENTAXNB7);
+pour i=V,C:
+RPQTSi = inf(GLTSi/CARTSNBAi);
+pour i=1..4:
+RPQTSi = inf(GLTSi/CARTSNBAPi);
+pour i=V,C :
+RPQTSREMPi = inf(GLTSREMPi/REMPLANBi);
+pour i=1..4 :
+RPQTSREMPi = inf(GLTSREMPi/REMPLANBPi);
+regle 70125:
+application : pro , oceans , iliad , batch  ;
+pour i=1..4:
+RPQiM = inf(GLiM / DIVGLi);
+pour i=V,C,1..4:
+RPQFiM = inf(GLFiM/COTFi);
+pour i=V,C:
+RPQPALIMiM = inf(GLPALIMiM/CARPENBAi);
+pour i=1..4:
+RPQPALIMiM = inf(GLPALIMiM/CARPENBAPi);
+RPQRF1M = inf(GLRF1M/FONCINB);
+RPQRF2M = inf(GLRF2M/REAMORNB);
+RPQRCMDCM = inf(GLRCMDCM/REVACTNB);
+RPQRCMFUM = inf(GLRCMFUM/REVPEANB);
+RPQRCMCHM = inf(GLRCMCHM/PROVIENB);
+RPQRCMTSM= inf(GLRCMTSM/DISQUONB);
+RPQRCMGOM = inf(GLRCMGOM/RESTUCNB);
+RPQRCMTRM = inf(GLRCMTRM/INTERENB);
+pour i=V,C:
+RPQPRRiM = inf(GLPRRiM/PENSALNBi);
+pour i=1..4:
+RPQPRRiM = inf(GLPRRiM/PENSALNBPi);
+RPQRVOM = inf(GLRVOM/RENTAXNB);
+RPQRVO5M = inf(GLRVO5M/RENTAXNB5);
+RPQRVO6M = inf(GLRVO6M/RENTAXNB6);
+RPQRVO7M = inf(GLRVO7M/RENTAXNB7);
+pour i=V,C:
+RPQTSiM = inf(GLTSiM/CARTSNBAi);
+pour i=1..4:
+RPQTSiM = inf(GLTSiM/CARTSNBAPi);
+pour i=V,C :
+RPQTSREMPiM = inf(GLTSREMPiM/REMPLANBi);
+pour i=1..4 :
+RPQTSREMPiM = inf(GLTSREMPiM/REMPLANBPi);
+
+regle 701211:
+application : pro , oceans , iliad , batch  ;
+pour x = 1..3 :
+GLNx = GLNxV + GLNxC;
+regle 7013:
+application : pro , oceans , bareme , iliad , batch  ;
+RI2 = RI1 + DPAE;
+RI3 = max( RI1 , 0 );
+regle 70130:
+application : pro , oceans , iliad , batch  ;
+LIMDPAE = LIM_PENSALENF ;
+regle 70131:
+application : pro , oceans , iliad , batch  ;
+DPAE = somme (a=1..4 : min( CHENFa, LIMDPAE)) * ( 1 - V_CNR ) ;
+regle 702:
+application : pro , oceans , bareme , iliad , batch  ;
+RI1 =   max( RNG - (( 1 - min ( 1 ,IPVLOC )) * ABTPA ) - ABTMA, 0 );
+regle 703:
+application : pro , oceans , bareme , iliad , batch  ;
+RNG = (     null(V_REGCO - 4)
+          * null(V_CNR   - 1)
+          * null(V_CNR2  - 1)
+          * null(V_CR2   - 1)
+          * IPVLOC
+      )
+     +
+     (1 -   null(V_REGCO - 4)
+          * null(V_CNR   - 1)
+          * null(V_CNR2  - 1)
+          * null(V_CR2   - 1)
+      )
+      * RBL ; 
+regle 7033 :
+application : pro , oceans , bareme , iliad , batch  ;
+REVQUO = max(0, TOTALQUO - SDD - SDC - SDV - SDM);
+TONEQUO = max(0, TOTALQUO 
+               - (SDD + SDC + SDV + SDM) * (1- positif(IPTEFP + IPTEFN + TEFFREVTOT*INDTEFF))
+                 - IPTEFN);
+TONEQUOM = max(0, TOTALQUO - DMOND) ;
+regle 7031:
+application : pro , oceans  , iliad , batch  ;
+NAB =   min( max( LIM_ABTRNGDBL + 1  - (RNG+ TOTALQUO- SDD- SDC), 0 ), 1 )
+      + min( max( LIM_ABTRNGSIMP + 1 - (RNG+ TOTALQUO- SDD- SDC), 0 ), 1 );
+ABSPRNG = RNG + TOTALQUO - SDD - SDC;
+ABTPA = NDA * NAB * ABAT_UNVIEUX * (1-V_CNR) ;
+regle 703110 :
+application : pro , oceans , bareme , iliad , batch  ;
+NDA =   min( max( AGV + 1 - LIM_AGE_ABVIEUX, V_0AP ), 1 )
+      + min( max( AGC*BOOL_0AM + 1 - LIM_AGE_ABVIEUX, V_0AF*BOOL_0AM ), 1 )  ;
+regle 70311 :
+application : pro , oceans , bareme , iliad , batch  ;
+AGV = (V_ANREV - V_0DA) * min( 1 , V_0DA) ;
+AGC = (V_ANREV - V_0DB) * min( 1 , V_0DB) ;
+regle 7032:
+application : pro , oceans  , iliad , batch  ;
+ABTMA = V_0DN * ABAT_ENF_MARIES + arr(V_0DP * (ABAT_ENF_MARIES)/2);
+regle 704:
+application : pro , oceans , bareme , iliad , batch  ;
+RBG2 = RBG - min(RBG , DDCSG);
+RBL =  ( RBG2 - min( RBG2 , ( DPA + DFA + DEDIV + APERPV + APERPC + APERPP + NUREPAR )) * ( 1 - V_CNR ) 
+              - min( RBG2 , V_8ZT) * V_CR2 
+       ) * (1 - positif(RE168+TAX1649));
+regle 7041 :
+application : pro , oceans , bareme , iliad , batch  ;
+SDD = max(0, DAR - RG);
+regle 704100 :
+application : pro , oceans , bareme  , iliad , batch  ;
+SDC1 = max(0, DDCSG + DPA + DFA + DEDIV - APERPV - APERPC - APERPP - max(0,RBG)) 
+          * (1 - V_CNR)
+          + max (0, V_8ZT - max(0,RBG)) * V_CR2;
+regle 70411 :
+application : pro , oceans , bareme , iliad , batch  ;
+SDC = max(0, DDCSG + DPA + DFA + DEDIV + APERPV + APERPC + APERPP + NUREPAR - max(0,RBG)) 
+         * (1 - V_CNR)
+         + max(0, V_8ZT - max(0,RBG)) *  V_CR2;
+regle 70412 :
+application : pro , oceans , bareme , iliad , batch  ;
+SDV = max(0, ABTPA - RNG);
+SDM = max(0, ABTMA - max(0,RNG - ABTPA) );
+regle 70432:
+application : pro , oceans , iliad , batch ;
+
+SOFIRNG = RBL + TOTALQUO - SDD - SDC1;
+
+regle 705:
+application : pro , oceans , bareme , iliad , batch  ;
+RBG = (1 - positif(RG  + R1649 +PREREV- DAR)) * min( 0 , RG  + R1649 +PREREV- DAR + TOTALQUO )
+    + positif(RG  + R1649+PREREV - DAR) * (RG  + R1649+PREREV - DAR);
+regle 7051:
+application : pro , oceans , iliad , batch  ;
+TOTPA =arr(PAAV*MAJREV) + PAAP;
+DPA = (somme(i=1..4:min(NCHENFi,LIMDPAE)+min(arr(CHENFi*MAJREV),LIMDPAE))
+                  + TOTPA) * (1 - V_CNR)
+                             * (1 - positif(RE168+TAX1649)) ;
+regle 7053:
+application : pro , oceans , iliad , batch  ;
+RPREC =  positif(CHRFAC) * max(1,CHNFAC)
+         +
+	 null(CHRFAC) * max(0,CHNFAC)
+         ;
+DFA = min( CHRFAC, RPREC * LIM_FRACC ) * (1 - V_CNR)
+                             * (1 - positif(RE168+TAX1649)) ;
+regle 706 :
+application : pro , oceans , bareme , iliad , batch  ;
+RG = (1 - positif(IPVLOC)) * (
+        ( SHBA +  max( BANOR, 0 ) + REB +
+        min(BANOR,0) *
+        positif(SEUIL_IMPDEFBA + 1 - SHBA - (REVTP-BA1)
+        - REV1 - REV2 - REV3 - REV4 - REVRF) 
+       ) ) 
+     +
+     positif( IPVLOC ) * IPVLOC;
+regle 70611 :
+application : pro , oceans , bareme , iliad , batch  ;
+TOTALQUO = (1-positif(IPVLOC)) * REVQTOT;
+regle 7061:
+application : pro , oceans , iliad , batch  ;
+DAR = (DEFAA5 + DEFAA4 + DEFAA3 + DEFAA2 + DEFAA1 + DEFAA0) * (1 - positif(IPVLOC));
+regle 707:
+application : pro , oceans , iliad , batch  ;
+SHBA = ESFP + TSPR + RCM + BIN + BNN + PLOCNETF + NPLOCNETF
+       + (RRFI + 0) * ( 1- V_INDTEO) + (RRFTEO + 0) * (
\ No newline at end of file
diff --git a/sources2011m_9_6/chap-81.m b/sources2011m_9_6/chap-81.m
new file mode 100644
index 0000000000000000000000000000000000000000..aeb964d8d23e098fb956e378054358ca2ef93d4f
--- /dev/null
+++ b/sources2011m_9_6/chap-81.m
@@ -0,0 +1,185 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #                         REVENUS CATEGORIELS NETS
+ #
+ #
+regle 811:
+application : pro , oceans , iliad , batch  ;
+pour i=V,C,1,2,3,4:
+TSBNi = TSHALLOi + ALLOi;
+TSHALLOP=TSHALLO1+TSHALLO2+TSHALLO3+TSHALLO4;
+ALLOP=ALLO1+ALLO2+ALLO3+ALLO4;
+TSBNP=TSHALLOP+ALLOP;
+
+pour i=V,C:
+2TSNi = CARTSi + REMPLAi;
+pour i=1,2,3,4:
+2TSNi = CARTSPi + REMPLAPi;
+pour i=V,C:
+EXTSi = TSBNi + BPCOSAi + 2TSNi;
+pour i=1..4:
+EXTSi = TSBNi + 2TSNi;
+pour i=V,C:
+TSBi = EXTSi + somme(x=1..3:GLDxi);
+pour i=1,2,3,4:
+TSBi = EXTSi;
+TSBP = somme(i=1..4:TSBi);
+pour i=V,C,1..4:
+PRBi = PRBRi + PALIi;
+
+pour i=V,C:
+2PRBi = CARPEi + PENSALi ;
+pour i=1..4:
+2PRBi = CARPEPi + PENSALPi ;
+pour i=V,C:
+EXPRi = PRBi + 2PRBi + PEBFi;
+pour i=1..4:
+EXPRi = PRBi + 2PRBi + PEBFi;
+pour i = V,C,1..4:
+EXSPBi = EXTSi + EXPRi ;
+regle 812:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1..4:
+TPS10i = arr (TSBi * TX_DEDFORFTS /100);
+pour i = V,C,P:
+PTPS10i = arr (PERPSALi * TX_DEDFORFTS /100);
+pour i = V,C,1..4:
+DFNi =  min( PLAF_DEDFORFTS , TPS10i );
+pour i = V,C,P:
+PDFNi =  min( PLAF_DEDFORFTS , PTPS10i );
+regle 813:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1..4:
+DEDMINi = positif(DETSi)* MIN_DEMEMPLOI + (1- positif(DETSi))* MIN_DEDSFORFTS;
+pour i = V,C:
+PDEDMINi = DEDMINi;
+PDEDMINP = positif(DETS1)* MIN_DEMEMPLOI 
+	   + (1- positif(DETS1))* MIN_DEDSFORFTS;
+
+pour i = V,C,1..4:
+10MINSi= max( min(TSBi,DEDMINi) , DFNi );
+pour i = V,C,P:
+P10MINSi= max( min(PERPSALi,PDEDMINi) , PDFNi );
+pour i = V,C,1..4:
+IND_10MIN_0i = positif(DEDMINi - DFNi ) * positif (TSBi );
+pour i = V,C,P:
+PIND_10MIN_0i = positif(PDEDMINi - PDFNi ) * positif (PERPSALi );
+pour i = V,C,1..4 :
+IND_MINi = 1 - positif( IND_10MIN_0i );
+pour i = V,C,P :
+PIND_MINi = 1 - positif( PIND_10MIN_0i );
+regle 814:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1..4:
+FRDi = FRNi * positif (FRNi - 10MINSi); 
+pour i = V,C:
+PFRDi = FRNi * positif (FRNi - P10MINSi); 
+PFRDP = FRN1 * positif (FRN1 - P10MINSP); 
+pour i = V,C,1..4:
+IND_10i = positif_ou_nul( 10MINSi - FRNi ) ;
+pour i = V,C:
+PIND_10i = positif_ou_nul( P10MINSi - FRNi) ;
+PIND_10P = positif_ou_nul( P10MINSP - FRN1) ;
+pour i = V,C,1..4:
+FPTi = max(FRDi, 10MINSi);
+pour i = V,C,P:
+PFPTi = max(PFRDi, P10MINSi);
+pour i = V,C:
+D10Mi = IND_MINi *DFNi 
+        + (1 - IND_MINi)* 10MINSi ; 
+pour i = V,C,P:
+PD10Mi = PIND_MINi *PDFNi 
+        + (1 - PIND_MINi)* P10MINSi ; 
+pour i = V,C:
+REP10i =  IND_10i * D10Mi + (1-IND_10i) * FPTi ;
+pour i = V,C,P:
+PREP10i =  PIND_10i * PD10Mi + (1-PIND_10i) * PFPTi ;
+pour i = V,C:
+ABTSi=arr(REP10i*(EXTSi)/TSBi);
+regle 816:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C:
+ABGL1i = positif(GLD1i) * 
+	   (positif(GLD2i+GLD3i) * arr(REP10i*GLD1i/TSBi)
+	   + (1-positif(GLD2i+GLD3i)) * (REP10i-ABTSi));
+pour i = V,C:
+ABGL2i = positif(GLD2i) * 
+	   (positif(GLD3i) * arr(REP10i*GLD2i/TSBi)
+	   + (1-positif(GLD3i)) * (REP10i-ABTSi-ABGL1i));
+pour i = V,C:
+ABGL3i = positif(GLD3i) * (REP10i-ABTSi-ABGL1i-ABGL2i);
+regle 817:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C:
+ABGLTi = somme (x=1..3: ABGLxi);
+regle 818:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1,2,3,4:
+PLRi = min ( MIN_DEDPR , EXPRi );
+pour i = V,C,1,2,3,4:
+APBi = max( PLRi , (EXPRi*TX_DEDPER/100));
+pour i = V,C,1,2,3,4:
+IND_APBi = positif_ou_nul(PLRi- (EXPRi * TX_DEDPER/100));
+PL_PB = arr(PLAF_DEDPRFOYER -somme (i=V,C,1..4: APBi * IND_APBi));
+regle 819:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1,2,3,4:
+ABPRi = arr ( (1 - IND_APBi) * 
+ min(APBi,(PL_PB * APBi / somme(x=V,C,1..4:APBx * (1 - IND_APBx))))
+ + IND_APBi * APBi );
+regle 8110:
+application : pro , oceans , iliad , batch  ;
+APRV  =  IND_APBV * ABPRV 
+       + (1-IND_APBV)* min ( ABPRV , PL_PB); 
+APRC  =  IND_APBC * ABPRC 
+       + (1-IND_APBC)* min ( ABPRC , PL_PB - (1-IND_APBV)*APRV ); 
+APR1  =  IND_APB1 * ABPR1 
+       + (1-IND_APB1)* min ( ABPR1 , PL_PB - (1-IND_APBV)*APRV 
+			- (1-IND_APBC)*APRC);
+APR2  =  IND_APB2 * ABPR2
+       + (1-IND_APB2)* min ( ABPR2 , PL_PB - (1-IND_APBV)*APRV 
+                       - (1-IND_APBC)*APRC - (1-IND_APB1)*APR1 ); 
+APR3  =  IND_APB3 * ABPR3
+       + (1-IND_APB3)* min ( ABPR3 , PL_PB - (1-IND_APBV)*APRV 
+                       - (1-IND_APBC)*APRC - (1-IND_APB1)*APR1  
+                       - (1-IND_APB2)*APR2 ); 
+APR4  =  IND_APB4 * ABPR4 
+       + (1-IND_APB4)* min ( ABPR4 , PL_PB - (1-IND_APBV)*APRV 
+                       - (1-IND_APBC)*APRC - (1-IND_APB1)*APR1  
+                       - (1-IND_APB2)*APR2 - (1-IND_APB3)*APR3 ); 
+regle 8111:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1,2,3,4:
+PRNNi = EXPRi - APRi;
+regle 8112:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1..4:
+TSNTi =  TSBi - FPTi;
+regle 8113:
+application : pro , oceans , iliad , batch  ;
+pour i =V,C,1,2,3,4:
+TSNi = positif (-TSNTi) * min (0 , TSNTi + PRNNi)
+     + positif_ou_nul (TSNTi) * TSNTi;
+pour i =V,C,1,2,3,4:
+PRNi = positif (-TSNTi) * positif (TSNTi + PRNNi) * (TSNTi + PRNNi)
+       + positif_ou_nul (TSNTi) * PRNNi;
+
diff --git a/sources2011m_9_6/chap-82.m b/sources2011m_9_6/chap-82.m
new file mode 100644
index 0000000000000000000000000000000000000000..12a6821e460701bca6fa6935c6feddd78fae282f
--- /dev/null
+++ b/sources2011m_9_6/chap-82.m
@@ -0,0 +1,291 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 82000:
+application : pro , oceans , iliad , batch  ;
+RCMRABD = arr(RCMABD * 40/100) * (1-positif(RCMLIBDIV));
+	  
+
+2RCMRABD = arr(REVACT * 40/100) * (1-positif(RCMLIBDIV));
+
+TRCMRABD = RCMRABD + 2RCMRABD;
+RCMRTNC = arr(RCMTNC * 40/100);
+
+2RCMRTNC = arr(REVPEA * 40/100);
+
+TRCMRTNC = RCMRTNC + 2RCMRTNC;
+RCMRNABD = RCMABD - RCMRABD;
+
+2RCMRNABD = REVACT - 2RCMRABD;
+RCMRNTNC = RCMTNC - RCMRTNC ;
+
+2RCMRNTNC = REVPEA - 2RCMRTNC ;
+REGPRIVM = arr(REGPRIV * MAJREV);
+
+2REGPRIVM = arr(RESTUC * MAJREV);
+TRCMABD = RCMABD + REVACT;
+RCMAB = RCMRNABD + 2RCMRNABD ;
+DRTNC = RCMTNC + REVPEA;
+RTNC = RCMRNTNC + 2RCMRNTNC ;
+RAVC = RCMAV + PROVIE;
+RCMNAB = RCMHAD + DISQUO ;
+RTCAR = RCMHAB + INTERE;
+RCMPRIV = REGPRIV + RESTUC;
+RCMPRIVM = REGPRIVM + 2REGPRIVM ;
+regle 82001:
+application : pro , oceans , iliad , batch ;
+FRAN = positif(RCMABD) *
+	(positif(REVACT+RCMNAB) * arr(RCMFR * RCMABD / max (1,TRCMABD + RCMNAB))
+	+ (1 - positif(REVACT+RCMNAB)) * RCMFR) ;
+2FRAN = positif(REVACT) * (
+          positif(RCMNAB)* arr(RCMFR * REVACT/ max (1,TRCMABD + RCMNAB) ) + 
+          ((1 - positif(RCMNAB)) * (RCMFR - FRAN)));
+FRAU = positif(RCMHAD) * (
+      positif(DISQUO) * arr(RCMFR * RCMHAD / max (1,RCMAB + RCMNAB) ) + 
+      ((1 - positif(DISQUO)) 
+	   * (RCMFR - FRAN - 2FRAN )));
+2FRAU = ( RCMFR - FRAN - 2FRAN - FRAU ) * positif(DISQUO);
+regle 82002:
+application : pro , oceans , iliad , batch ;
+RAN = (1 - positif(EXFR)) * (RCMRNABD - FRAN)
+	+ positif(EXFR) * 0;
+2RAN = (1 - positif(EXFR)) * (2RCMRNABD - 2FRAN)
+	+ positif(EXFR) * 0;
+TRAN = RAN + 2RAN ;
+1RAU = (1 - positif(EXFR)) * (RCMHAD - FRAU)
+	+ positif(EXFR) * 0;
+2RAU = (1 - positif(EXFR)) * (DISQUO - 2FRAU) + positif(EXFR) * 0;
+TRAU = 1RAU + 2RAU ;
+regle 82003:
+application : pro , oceans , iliad , batch ;
+ABRCM1 = min( ABTGE , TRAN+RTNC);
+ABRCM2 = min( ABTAV , RAVC);
+regle 82004:
+application : pro , oceans , iliad , batch ;
+ABRAN = positif(RAN) * (1-positif(RCMLIBDIV)) * arr( ABRCM1 * RAN / (TRAN+RTNC) );
+2ABRAN = positif(2RAN) * (1-positif(RCMLIBDIV)) *
+	 min(arr( ABRCM1 * 2RAN / (TRAN+RTNC) ),ABRCM1 - ABRAN);
+TABRAN = ABRAN + 2ABRAN ;
+regle 82005:
+application : pro , oceans , iliad , batch ;
+ABTNC = positif(RCMRNTNC) *   ( 
+             positif(2RCMRNTNC) * (
+	       min(arr( ABRCM1 * RCMRNTNC / (TRAN+RTNC)),ABRCM1 - TABRAN) * (1-positif(RCMLIBDIV))
+	       +
+	       min(arr( ABRCM1 * RCMRNTNC / RTNC),ABRCM1) * positif(RCMLIBDIV)
+	                         )
+             +
+             (1-positif(2RCMRNTNC)) * (
+	                  (ABRCM1 - TABRAN) * (1-positif(RCMLIBDIV))
+	       +
+	                  ABRCM1 * positif(RCMLIBDIV)
+				      )
+			    );
+2ABTNC = positif(2RCMRNTNC) * (  
+	        (ABRCM1 - TABRAN - ABTNC) * (1-positif(RCMLIBDIV))
+	 + 
+	        (ABRCM1 - ABTNC) * positif(RCMLIBDIV)
+			       );
+TABTNC = ABTNC + 2ABTNC;
+regle 82007:
+application : pro , oceans , iliad , batch ;
+ABAVC = positif(RCMAV) * arr( ABRCM2 * RCMAV / RAVC );
+2ABAVC = positif(PROVIE) * min(arr( ABRCM2 * PROVIE / RAVC ) , ABRCM2 - ABAVC);
+TABAVC = ABAVC + 2ABAVC ;
+regle 82008:
+application : pro , oceans , iliad , batch ;
+RNTNC = RTNC - TABTNC ;
+RNAVC = RAVC - TABAVC;
+regle 82009:
+application : pro , oceans , iliad , batch ;
+EXFR =  max( 0, RCMFR - RCMAB - RCMNAB);
+regle 82010:
+application : pro , oceans , iliad , batch ;
+RIA = RAN - ABRAN;
+2RIA = 2RAN - 2ABRAN;
+RNC = max ( 0 , RCMRNTNC - ABTNC) ;
+2RNC = max ( 0 , 2RCMRNTNC - 2ABTNC) ;
+RCAV = max ( 0 , RCMAV-ABAVC) ;
+2RCAV = max ( 0 , PROVIE-2ABAVC) ;
+RAR = max( 0 , RCMHAB);
+2RAR = max( 0 , INTERE);
+1RAO = max( 0 , REGPRIVM);
+2RAO = max( 0 , 2REGPRIVM);
+TR1 = RNC + RCAV + 1RAO + RAR;
+TR = TR1 + 2RNC + 2RCAV + 2RAR + 2RAO ;
+regle 82011:
+application : pro , oceans , iliad , batch ;
+FRG1 = positif(EXFR) * arr( (EXFR * TR1)/ TR)
+	+ (1 - positif(EXFR)) * 0 ;
+FRG2 = positif(EXFR) * min(arr(EXFR * 2RNC/ TR), EXFR - FRG1)
+        + (1 - positif(EXFR)) * 0 ;
+FRG3 = positif(EXFR) * min(arr(EXFR * 2RCAV/ TR), EXFR - FRG1 - FRG2)
+        + (1 - positif(EXFR)) * 0 ;
+FRG4 = positif(EXFR) * min(arr(EXFR * 2RAR/ TR), EXFR - FRG1 - FRG2 - FRG3)
+        + (1 - positif(EXFR)) * 0 ;
+FRG5 = positif(EXFR) * max(0,EXFR - FRG1 -FRG2 - FRG3 - FRG4)
+        + (1 - positif(EXFR)) * 0 ;
+regle 82012:
+application : pro , oceans , iliad , batch ;
+DFRCMN = positif(RCMAB + RCMNAB)
+	* (1 - positif(RTNC+RAVC+RTCAR+RCMPRIVM))
+	* max(0, RCMFR 
+			- RCMAB 
+			- RCMNAB)
+
++ (1 - positif(RCMAB + RCMNAB))
+	* positif(RTNC+RAVC+RTCAR+RCMPRIVM)
+	* max(0, RCMFR 
+			- (RTNC - TABTNC)
+			- (RAVC - TABAVC)
+			- RTCAR 
+			- RCMPRIVM) 
++ positif(RCMAB + RCMNAB)
+   * positif(RTNC+RAVC+RTCAR+RCMPRIVM)
+   * max(0, RCMFR 
+			- RCMAB 
+			- RCMNAB
+			- (RTNC - TABTNC)
+			- (RAVC - TABAVC)
+			- RTCAR 
+			- RCMPRIVM) 
++ (1 - positif(RCMAB + RCMNAB))
+	* (1 - positif(RTNC+RAVC+RTCAR+RCMPRIVM))
+	* max(0, RCMFR)
+			;
+regle 82013:
+application : pro , oceans , iliad , batch ;
+1RCM_I = si( (V_REGCO + 0) dans (1,3,5,6) )
+alors  ((1-positif(DFRCMN)) * (RIA+RNC+1RAU+RAR+1RAO+RCAV-FRG1) -positif(DFRCMN)*0 )
+sinon (0)
+finsi;
+
+2RCM_I =  si( (V_REGCO + 0)  dans (1,3,5,6))
+              alors ((1- positif(DFRCMN)) * 2RIA)
+              sinon (0)
+          finsi;
+3RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6))
+             alors  ((1- positif(DFRCMN)) * (2RNC-FRG2))
+             sinon (0)
+         finsi;
+4RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6))
+             alors  ((1- positif(DFRCMN)) * (2RCAV-FRG3))
+             sinon (0)
+         finsi;
+5RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6))
+             alors ((1- positif(DFRCMN)) * 2RAU)
+             sinon (0)
+         finsi;
+6RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6))
+             alors  ((1- positif(DFRCMN)) * (2RAO-FRG5))
+             sinon (0)
+         finsi;
+7RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6))
+             alors  ((1- positif(DFRCMN)) * (2RAR-FRG4))
+             sinon (0)
+         finsi;
+RCM_I = 1RCM_I + 2RCM_I + 3RCM_I + 4RCM_I + 5RCM_I + 6RCM_I + 7RCM_I;
+regle 82014:
+application : pro , oceans , iliad , batch ;
+REPRCM = DEFRCM + DEFRCM2 + DEFRCM3+DEFRCM4+DEFRCM5;
+REPRCM1 = positif(REPRCM) * arr( (REPRCM * 1RCM_I)/ RCM_I)
+	+ (1 - positif(REPRCM)) * 0 ;
+REPRCM2 = positif(REPRCM) * min(arr((REPRCM * 2RCM_I)/ RCM_I), REPRCM - REPRCM1)
+        + (1 - positif(REPRCM)) * 0 ;
+REPRCM3 = positif(REPRCM) * min(arr((REPRCM * 3RCM_I)/ RCM_I), REPRCM - REPRCM1 - REPRCM2)
+        + (1 - positif(REPRCM)) * 0 ;
+REPRCM4 = positif(REPRCM) * min(arr((REPRCM * 4RCM_I)/ RCM_I), REPRCM - REPRCM1 - REPRCM2 - REPRCM3)
+        + (1 - positif(REPRCM)) * 0 ;
+REPRCM5 = positif(REPRCM) * min(arr((REPRCM * 5RCM_I)/ RCM_I), REPRCM - REPRCM1 - REPRCM2 - REPRCM3 - REPRCM4)
+        + (1 - positif(REPRCM)) * 0 ;
+REPRCM6 = positif(REPRCM) * min(arr((REPRCM * 6RCM_I)/ RCM_I), REPRCM - REPRCM1 - REPRCM2 - REPRCM3 - REPRCM4 - REPRCM5)
+        + (1 - positif(REPRCM)) * 0 ;
+REPRCM7 = positif(REPRCM) * max(0,REPRCM - REPRCM1 -REPRCM2 - REPRCM3 - REPRCM4 - REPRCM5  - REPRCM6 )
+        + (1 - positif(REPRCM)) * 0 ;
+regle 82015:
+application : pro , oceans , iliad , batch ;
+DFRCM1 =  DEFRCM * positif(DFRCMN) 
+	 + max( 0, DEFRCM - RCM_I) * positif_ou_nul(RCM_I) * (1-positif(DFRCMN));
+DFRCM2 =  DEFRCM2 * positif(DFRCMN)
+         + DEFRCM2 * positif(DEFRCM - RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM2 - (RCM_I - DEFRCM)) * positif_ou_nul(RCM_I - DEFRCM) * (1-positif(DFRCMN));
+DFRCM3 =  DEFRCM3 * positif(DFRCMN)
+         + DEFRCM3 * positif(DEFRCM + DEFRCM2- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM3 - (RCM_I - DEFRCM- DEFRCM2)) * positif_ou_nul(RCM_I - DEFRCM-DEFRCM2) * (1-positif(DFRCMN));
+DFRCM4 =  DEFRCM4 * positif(DFRCMN)
+         + DEFRCM4 * positif(DEFRCM + DEFRCM2+DEFRCM3- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM4 - (RCM_I - DEFRCM- DEFRCM2-DEFRCM3)) * positif_ou_nul(RCM_I - DEFRCM-DEFRCM2-DEFRCM3) * (1-positif(DFRCMN));
+DFRCM5 =  DEFRCM5 * positif(DFRCMN)
+         + DEFRCM5 * positif(DEFRCM + DEFRCM2+DEFRCM3+DEFRCM4- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM5 - (RCM_I - DEFRCM- DEFRCM2-DEFRCM3-DEFRCM4)) 
+			   * positif_ou_nul(RCM_I - DEFRCM-DEFRCM2-DEFRCM3-DEFRCM4) * (1-positif(DFRCMN));
+regle 82016:
+application : pro , oceans , iliad , batch ;
+RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1-positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(1RCM_I-REPRCM1))
+         -positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)*0 
+      )
+sinon (0)
+finsi;
+2RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(2RCM_I-REPRCM2))
+      )
+sinon (0)
+finsi;
+3RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(3RCM_I-REPRCM3))
+      )
+sinon (0)
+finsi;
+4RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(4RCM_I-REPRCM4))
+      )
+sinon (0)
+finsi;
+5RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(5RCM_I-REPRCM5))
+      )
+sinon (0)
+finsi;
+6RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(6RCM_I-REPRCM6))
+      )
+sinon (0)
+finsi;
+7RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(7RCM_I-REPRCM7))
+      )
+sinon (0)
+finsi;
+DFRCM = DFRCMN + DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5;
+regle 82100:
+application : pro , oceans , iliad , batch ;
+ABTGE = PLAF_RCMGE1 * (1 + BOOL_0AM) ;
+ABTAV = PLAF_RCMAV1 * (1 + BOOL_0AM) ;
+regle 82105:
+application : pro , oceans , iliad , batch ;
+BPLIB = (min( RCMLIB, max(0 , ABTAV - RAVC) ) * (1 - V_CNR));
+regle 82110:
+application : pro , oceans , iliad , batch ;
+EPAV = arr(BPLIB * TX_PREVLIB/100);
+regle 82130:
+application : pro , oceans , iliad , batch ;
+ABRCMNU = max(0,ABTGE - (TRAN * (1-positif(RCMLIBDIV))+ RTNC));
+RCMEXCREF = max(0,(TRCMRABD + TRCMRTNC) - ABRCMNU) * (1 - positif(null(2-V_REGCO) + null(4-V_REGCO)));
diff --git a/sources2011m_9_6/chap-83.m b/sources2011m_9_6/chap-83.m
new file mode 100644
index 0000000000000000000000000000000000000000..810d445745f510d7b49eb5b7160015ebec6958b1
--- /dev/null
+++ b/sources2011m_9_6/chap-83.m
@@ -0,0 +1,48 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 831:
+application : pro , oceans , iliad , batch  ;
+RRFI = RFON + DRCF + max(0,RFMIC - MICFR - RFDANT) ;
+regle 8311:
+application : pro , oceans , iliad , batch  ;
+MICFR = present(RFMIC) * arr(RFMIC * TX_MICFON/100);
+regle 8316:
+application : pro , iliad , batch  ;
+RMF = max(0,RFMIC - MICFR);
+RMFN = max(0,RFMIC - MICFR - RFDANT);
+regle 832:
+application : pro , oceans , iliad , batch  ;
+RFCD = RFORDI + FONCI + REAMOR;
+regle 833:
+application : pro , oceans , iliad , batch  ;
+RFCE = max(0,RFCD-RFDORD);
+DFCE = min(0,RFCD-RFDORD);
+RFCF = max(0,RFCE-RFDHIS);
+DRCF  = min(0,RFCE-RFDHIS);
+RFCG = max(0,RFCF-RFDANT);
+DFCG = min(0,RFCF-RFDANT);
+regle 834:
+application : pro , oceans , iliad , batch  ;
+RFON = arr(RFCG*RFORDI/RFCD);
+2REVF = min( arr (RFCG*(FONCI)/RFCD) , RFCG-RFON);
+3REVF = min( arr (RFCG*(REAMOR)/RFCD) , RFCG-RFON-2REVF);
+RFQ = FONCI + REAMOR;
+ 
diff --git a/sources2011m_9_6/chap-84.m b/sources2011m_9_6/chap-84.m
new file mode 100644
index 0000000000000000000000000000000000000000..b68595f05cb8b5dcbdda2d64c60f3074a9a41455
--- /dev/null
+++ b/sources2011m_9_6/chap-84.m
@@ -0,0 +1,158 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 801 :
+application :pro , oceans , iliad , batch  ;
+BA1AF =  BAF1AP  + BAF1AC  + BAF1AV  ;
+regle 840 :
+application : pro , oceans , iliad , batch  ;
+BARSV = BAHREV + 4BAHREV - BAHDEV;
+BARSREVV = BAHREV +4BAHREV;
+BARSC = BAHREC + 4BAHREC - BAHDEC;
+BARSREVC = BAHREC +4BAHREC;
+BARSP = BAHREP + 4BAHREP - BAHDEP;
+BARSREVP = BAHREP +4BAHREP;
+BARAV = (BACREV + 4BACREV - BACDEV) ;
+BARREVAV = BACREV + 4BACREV;
+BARAC = (BACREC  + 4BACREC - BACDEC) ;
+BARREVAC = BACREC + 4BACREC;
+BARAP = (BACREP + 4BACREP - BACDEP) ;
+BARREVAP = BACREP + 4BACREP;
+regle 8421:
+application : pro , oceans , iliad , batch  ;
+pour i =V,C,P:
+DEFBACREi = positif(4BACREi) * arr((BACDEi * BACREi) / BARREVAi) + (1 - positif(4BACREi)) * BACDEi ;
+pour i =V,C,P:
+4DEFBACREi = positif(4BACREi) * (BACDEi - DEFBACREi);
+regle 84211:
+application : pro , oceans , iliad , batch  ;
+BANV = (BACREV - DEFBACREV) * positif_ou_nul(BARAV) + BARAV * (1-positif(BARAV));
+BANC = (BACREC - DEFBACREC) * positif_ou_nul(BARAC) + BARAC * (1-positif(BARAC));
+BANP = (BACREP - DEFBACREP) * positif_ou_nul(BARAP) + BARAP * (1-positif(BARAP));
+BAEV = (4BACREV - 4DEFBACREV) * positif_ou_nul(BARAV) + 0;
+BAEC = (4BACREC - 4DEFBACREC) * positif_ou_nul(BARAC) + 0;
+BAEP = (4BACREP - 4DEFBACREP) * positif_ou_nul(BARAP) + 0;
+regle 842111:
+application : pro , oceans , iliad , batch  ;
+pour i =V,C,P:
+DEFBAHREi = positif(4BAHREi) * arr((BAHDEi * BAHREi) / BARSREVi) + (1 - positif(4BAHREi)) * BAHDEi ;
+pour i =V,C,P:
+4DEFBAHREi = positif(4BAHREi) * (BAHDEi - DEFBAHREi) ;
+regle 843:
+application : pro , oceans , iliad , batch  ;
+BAMV = arr((BAHREV - DEFBAHREV) * MAJREV) * positif_ou_nul(BARSV) + BARSV * (1-positif(BARSV));
+BAMC = arr((BAHREC - DEFBAHREC) * MAJREV) * positif_ou_nul(BARSC) + BARSC * (1-positif(BARSC));
+BAMP = arr((BAHREP - DEFBAHREP) * MAJREV) * positif_ou_nul(BARSP) + BARSP * (1-positif(BARSP));
+BAEMV = (arr((4BAHREV - 4DEFBAHREV)* MAJREV)) * positif_ou_nul(BARSV) + 0;
+BAEMC = (arr((4BAHREC - 4DEFBAHREC)* MAJREV)) * positif_ou_nul(BARSC) + 0;
+BAEMP = (arr((4BAHREP - 4DEFBAHREP)* MAJREV)) * positif_ou_nul(BARSP) + 0;
+regle 8431:
+application : pro , oceans , iliad , batch  ;
+BAFORV = arr(BAFV*MAJREV)+BAFORESTV+BAFPVV;
+BAFORC = arr(BAFC*MAJREV)+BAFORESTC+BAFPVC;
+BAFORP = arr(BAFP*MAJREV)+BAFORESTP+BAFPVP;
+regle 84311:
+application : pro , oceans , iliad , batch  ;
+BAHQV = BANV + BAMV + BAFORV;
+BAHQC = BANC + BAMC + BAFORC;
+BAHQP = BANP + BAMP + BAFORP;
+regle 845:
+application : pro , oceans , iliad , batch  ;
+4BAQV = max(0,(4BACREV - 4DEFBACREV))*positif_ou_nul(BARAV)+arr(max(0,(4BAHREV - 4DEFBAHREV))*MAJREV) * positif_ou_nul(BARSV);
+4BAQC = max(0,(4BACREC - 4DEFBACREC))*positif_ou_nul(BARAC)+arr(max(0,(4BAHREC - 4DEFBAHREC))*MAJREV) * positif_ou_nul(BARSC);
+4BAQP = max(0,(4BACREP - 4DEFBACREP))*positif_ou_nul(BARAP)+arr(max(0,(4BAHREP - 4DEFBAHREP))*MAJREV) * positif_ou_nul(BARSP);
+regle 8451:
+application : pro , oceans , iliad , batch  ;
+BAQV = BAEV + BAEMV;
+BAQC = BAEC + BAEMC;
+BAQP = BAEP + BAEMP;
+regle 84511:
+application : pro , oceans , iliad , batch  ;
+BA1V = BA1AV + BAF1AV ;
+BA1C = BA1AC + BAF1AC ;
+BA1P = BA1AP + BAF1AP ;
+regle 84512:
+application : pro , oceans , iliad , batch  ;
+BAHQT=BAHQV+BAHQC+BAHQP;
+BAHQTOT=BAHQV+BAHQC+BAHQP-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2-DAGRI1;
+BAHQTOTMAXP=positif_ou_nul(BAHQT) * max(0,BAHQV+BAHQC+BAHQP-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2-DAGRI1);
+BAHQTOTMAXN=positif_ou_nul(BAHQT) * min(0,BAHQV+BAHQC+BAHQP-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2-DAGRI1);
+BAHQTOTMIN=positif(-BAHQT) * BAHQT;
+regle 84513:
+application : pro , oceans , iliad , batch  ;
+BAQT = BAQV + BAQC + BAQP;
+BAQTOT = max(0,BAQV + BAQC + BAQP + BAHQTOTMAXN);
+BAQTOTN = min(0,BAQV + BAQC + BAQP + BAHQTOTMAXN);
+BAQTOTMIN = min(0,BAQV + BAQC + BAQP + BAHQTOTMIN);
+BAQTOTAV = positif_ou_nul(BAQT + BAHQT) * BAQTOT + (1 - positif(BAQT + BAHQT)) * 0;
+4BAQTOT = somme(x=V,C,P: 4BAQx) ;
+4BAQTOTNET = positif(4BAQTOT) * max(0, 4BAQTOT + (BAHQTOTMIN + BAHQTOTMAXN) );
+regle 845111:
+application : pro , oceans , iliad , batch  ;
+BA1 = BA1V + BA1C + BA1P; 
+regle 846:
+application : pro , oceans , iliad , batch  ;
+BANOR = BAHQTOTMAXP + BAQTOTMIN;
+
+regle 847:
+application : pro , oceans , iliad , batch  ;
+DEFBA6 = (1-positif(BAHQT+BAQT)) * (DAGRI5) 
+	    + positif(BAHQT+BAQT) * 
+	    abs(min(max(BAHQT+BAQT-DAGRI6,0)-DAGRI5,DAGRI5))
+            * positif_ou_nul(DAGRI5-max(BAHQT+BAQT-DAGRI6,0))
+		    * (1 - positif(IPVLOC)) ;
+DEFBA5 = (1-positif(BAHQT+BAQT)) * (DAGRI4) 
+	    + positif(BAHQT+BAQT) * 
+	     abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5,0)-DAGRI4,DAGRI4))
+            * positif_ou_nul(DAGRI4-max(BAHQT+BAQT-DAGRI6-DAGRI5,0))
+		    * (1 - positif(IPVLOC)) ;
+DEFBA4 = (1-positif(BAHQT+BAQT)) * (DAGRI3) 
+	    + positif(BAHQT+BAQT) * 
+	     abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4,0)-DAGRI3,DAGRI3))
+            * positif_ou_nul(DAGRI3-max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4,0))
+		    * (1 - positif(IPVLOC)) ;
+DEFBA3 = (1-positif(BAHQT+BAQT)) * (DAGRI2) 
+	    + positif(BAHQT+BAQT) * 
+	     abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3,0)-DAGRI2,DAGRI2))
+            * positif_ou_nul(DAGRI2-max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3,0))
+		    * (1 - positif(IPVLOC)) ;
+DEFBA2 = (1-positif(BAHQT+BAQT)) * (DAGRI1) 
+	    + positif(BAHQT+BAQT) * 
+	     abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2,0)-DAGRI1,DAGRI1))
+            * positif_ou_nul(DAGRI1-max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2,0))
+		    * (1 - positif(IPVLOC)) ;
+DEFBA1 = (1-positif(BAHQT+BAQT)) * (abs(BAHQT+BAQT)-abs(DEFIBA))
+	    + positif(BAHQT+BAQT) * 
+	     positif_ou_nul(DAGRI5+DAGRI4+DAGRI3+DAGRI2+DAGRI1-BAHQT-BAQT)
+	    * (DAGRI5+DAGRI4+DAGRI3+DAGRI2+DAGRI1-BAHQT-BAQT)
+	    * null(DEFBA2+DEFBA3+DEFBA4+DEFBA5+DEFBA6)
+		    * (1 - positif(IPVLOC)) ;
+regle 848:
+application : pro , oceans , iliad , batch  ;
+DEFIBAANT = positif_ou_nul(BAQT+BAHQTOT-DAGRI1-DAGRI2-DAGRI3-DAGRI4-DAGRI5-DAGRI6)
+            * (DAGRI1-DAGRI2-DAGRI3-DAGRI4-DAGRI5-DAGRI6)
+            + positif_ou_nul(DAGRI1+DAGRI2+DAGRI3+DAGRI4+DAGRI5+DAGRI6-BAQT-BAHQTOT)
+            * (BAQT+BAHQTOT);
+regle 849:
+application : pro , oceans , iliad , batch  ;
+DAGRI = DAGRI1+DAGRI2+DAGRI3+DAGRI4+DAGRI5+DAGRI6;
+regle 850:
+application : pro , oceans , iliad , batch  ;
+BAQTOTAVIS = 4BAQTOTNET;
diff --git a/sources2011m_9_6/chap-85.m b/sources2011m_9_6/chap-85.m
new file mode 100644
index 0000000000000000000000000000000000000000..3e6f780451cfa3a7b24350d4e66a37fda0091766
--- /dev/null
+++ b/sources2011m_9_6/chap-85.m
@@ -0,0 +1,310 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 8501 :
+application : pro ,  oceans , iliad , batch  ;
+ pour i= V,C,P:                                           
+BIPTAi = (BICNOi - BICDNi );           
+pour i= V,C,P:                                           
+BIPTTAi = (BIPTAi + BI1Ai);              
+regle 8503 :
+application : pro ,  oceans , iliad , batch  ;
+pour i= V,C,P:                                           
+BINTAi = (BICREi - BICDEi );        
+                                                         
+pour i= V,C,P:                                           
+BINTTAi = (BINTAi + BI2Ai);           
+                                                         
+                                                         
+regle 8506 :
+application : pro ,  oceans , iliad , batch  ;
+ 
+pour i= V,C,P:                                           
+BI12Ai = BI1Ai +  BI2Ai;
+
+regle 8508 :
+application : pro , oceans , iliad , batch  ;
+
+pour i= V,C,P:                                           
+BITAi = BIPTAi + BINTAi;
+
+pour i= V,C,P:                                           
+BITTAi = BITAi + BI12Ai;
+
+regle 857:
+application : pro , oceans , iliad , batch  ;
+BI1 = somme(i=V,C,P:BI1i);
+BI2 = somme(i=V,C,P:BI2i);
+regle 8571:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,P:
+BI1i = BI1Ai;
+pour i = V,C,P:
+BI2i = BI2Ai;
+regle 8580:
+application : pro , oceans , iliad , batch ;
+pour i = V,P,C:
+BIHTAi = max(0,arr((BIHNOi - BIHDNi) * MAJREV))
+         + min(0,(BIHNOi - BIHDNi) );
+
+pour i = V,P,C:
+BINHTAi = max(0,arr((BICHREi - BICHDEi)*MAJREV))
+          + min(0,(BICHREi - BICHDEi) ) ;
+regle 85200:
+application : pro ,  oceans , iliad , batch ;
+
+pour i = V,C,P:
+MIB_TVENi = MIBVENi + MIBNPVENi + MIBGITEi;
+
+pour i = V,C,P:
+MIB_TPRESi = MIBPRESi + MIBNPPRESi + MIBMEUi;
+
+pour i = V,C,P:
+MIB_TTi = MIB_TVENi + MIB_TPRESi;
+
+
+
+regle 85240:
+application : pro ,  oceans , iliad , batch ;
+
+pour i = V,C,P:
+MIB_AVi = min ( MIB_TVENi,
+                         (max(MIN_MBIC,
+                              arr( MIB_TVENi*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+PMIB_AVi = min ( MIBVENi,
+                         (max(MIN_MBIC,
+                              arr( MIBVENi*TX_MIBVEN/100))
+                         )
+              );
+
+
+pour i = V,C,P:
+MIB_APi = min ( MIB_TPRESi,
+                         (max(MIN_MBIC,
+                              arr(MIB_TPRESi*TX_MIBPRES/100))
+                         )
+               );
+pour i = V,C,P:
+PMIB_APi = min ( MIBPRESi,
+                         (max(MIN_MBIC,
+                              arr(MIBPRESi*TX_MIBPRES/100))
+                         )
+               );
+
+
+
+regle 85250:
+application : pro ,  oceans , iliad , batch ;
+
+pour i = V,C,P:
+MIB_ABVi = max(0,arr(MIB_AVi * MIBVENi / MIB_TVENi));
+pour i = V,C,P:
+MIB_ABNPVi = max(0,arr(MIB_AVi * MIBNPVENi / MIB_TVENi))* present(MIBGITEi)
+	      + (MIB_AVi - MIB_ABVi) * (1 - present(MIBGITEi));
+pour i = V,C,P:
+MIB_ABNPVLi = (MIB_AVi - MIB_ABVi - MIB_ABNPVi) *  present(MIBGITEi);
+
+pour i = V,C,P:
+MIB_ABPi = max(0,arr(MIB_APi * MIBPRESi / MIB_TPRESi));
+pour i = V,C,P:
+MIB_ABNPPi = max(0,arr(MIB_APi * MIBNPPRESi / MIB_TPRESi)) * present(MIBMEUi)
+	      + (MIB_APi - MIB_ABPi) * (1 - present(MIBMEUi));
+pour i = V,C,P:
+MIB_ABNPPLi = (MIB_APi - MIB_ABPi - MIB_ABNPPi) *  present(MIBMEUi);
+
+
+regle 85260:
+application : pro ,  oceans , iliad , batch ;
+
+pour i = V,C,P:
+MIB_NETVi = MIBVENi - MIB_ABVi;
+MIBNETVF = somme(i=V,C,P:MIB_NETVi) ;
+pour i = V,C,P:
+MIB_NETNPVi = MIBNPVENi - MIB_ABNPVi;
+MIBNETNPVF = somme(i=V,C,P:MIB_NETNPVi);
+pour i = V,C,P:
+MIB_NETNPVLi = MIBGITEi - MIB_ABNPVLi;
+MIBNETNPVLF = somme(i=V,C,P:MIB_NETNPVLi);
+
+pour i = V,C,P:
+MIB_NETPi = MIBPRESi - MIB_ABPi;
+MIBNETPF = somme(i=V,C,P:MIB_NETPi) ;
+pour i = V,C,P:
+MIB_NETNPPi = MIBNPPRESi - MIB_ABNPPi;
+MIBNETNPPF = somme(i=V,C,P:MIB_NETNPPi);
+pour i = V,C,P:
+MIB_NETNPPLi = MIBMEUi - MIB_ABNPPLi;
+MIBNETNPPLF = somme(i=V,C,P:MIB_NETNPPLi);
+
+pour i = V,C,P:
+PMIB_NETVi = MIBVENi - PMIB_AVi;
+pour i = V,C,P:
+PMIB_NETPi = MIBPRESi - PMIB_APi;
+
+
+
+regle 85265:
+application : pro ,  oceans , iliad , batch ;
+MIB_NETCT = MIBPVV + MIBPVC + MIBPVP - MIBDCT ;
+
+MIB_NETNPCT = MIBNPPVV + MIBNPPVC + MIBNPPVP - MIBNPDCT ;
+
+
+regle 85270:
+application : pro ,  oceans , iliad , batch ;
+
+pour i=V,C,P:
+MIB_P1Ai = MIB1Ai - MIBDEi ;
+pour i=V,C,P:
+MIB_NP1Ai = MIBNP1Ai - MIBNPDEi ;
+pour i=V,C,P:
+MIB_1Ai = max(0,MIB_P1Ai + MIB_NP1Ai);
+MIB_1AF = max (0, somme(i=V,C,P:MIB_1Ai));
+regle 85390:
+application : pro , oceans , iliad , batch ;
+pour i = V,C,P:
+REVIBI12i = BIH1i + BIH2i + BI1Ai + BI2Ai;
+regle 85700:
+application : pro , oceans , iliad , batch ;
+BICPF = somme(i=V,C,P:BIPTAi+BIHTAi+MIB_NETVi+MIB_NETPi) + MIB_NETCT  ; 
+regle 85730:
+application : pro , oceans , iliad , batch ;
+DEFNP  = somme (i=1,2,3,4,5,6:DEFBICi);
+pour i = V,C,P:
+BICNPi = BINTAi+BINHTAi+  MIB_NETNPVi + MIB_NETNPPi ;
+BICNPF = max(0,somme(i=V,C,P:BICNPi)+MIB_NETNPCT - DEFNP)  ; 
+DEFNPI = abs(min( DEFNP , somme(i=V,C,P:BICNPi*positif(BICNPi))));
+
+regle 85740:
+application : pro , oceans , iliad , batch ;
+BICNPR = somme(i=V,C,P:BINTAi);
+regle 85750:
+application : pro , oceans , iliad , batch ;
+BI12F = somme(i=V,C,P:REVIBI12i) + MIB_1AF  ; 
+regle 85900:
+application : pro , oceans , iliad , batch  ;                   
+pour i=V,C,P:                                       
+BICIMPi = BIHTAi +  BIPTAi + MIB_NETVi + MIB_NETPi;
+BIN = BICPF + BICNPF ;
+regle 85960:
+application : batch, iliad ;
+
+
+
+DCTMIB = MIBDCT * positif_ou_nul(BIPN+MIB_NETCT)
+	 + (1-positif_ou_nul(BIPN+MIB_NETCT)) * (MIBDCT - abs(BIPN+MIB_NETCT))
+	 + (1-positif_ou_nul(BIPN+MIB_NETCT)) * null(MIBDCT - abs(BIPN+MIB_NETCT)) * MIBDCT
+	 ;
+DCTMIBNP = MIBNPDCT * positif_ou_nul(BINNV+BINNC+BINNP+MIB_NETNPCT)
+	 + (1-positif_ou_nul(BINNV+BINNC+BINNP+MIB_NETNPCT)) * (MIBNPDCT - abs(BINNV+BINNC+BINNP+MIB_NETNPCT))
+	 + (1-positif_ou_nul(BINNV+BINNC+BINNP+MIB_NETNPCT)) * null(MIBNPDCT - abs(BINNV+BINNC+BINNP+MIB_NETNPCT))*MIBNPDCT
+	 ;
+regle 90000:
+application : pro , oceans , iliad , batch  ;                   
+
+DEPLOCV = (LOCPROCGAV - LOCDEFPROCGAV) + (LOCPROV - LOCDEFPROV) ;
+DEPLOCC = (LOCPROCGAC - LOCDEFPROCGAC) + (LOCPROC - LOCDEFPROC) ;
+DEPLOCP = (LOCPROCGAP - LOCDEFPROCGAP) + (LOCPROP - LOCDEFPROP) ;
+
+DENPLOCV = (LOCNPCGAV - LOCDEFNPCGAV) + (LOCNPV - LOCDEFNPV) ;
+DENPLOCC = (LOCNPCGAC - LOCDEFNPCGAC) + (LOCNPC - LOCDEFNPC) ;
+DENPLOCP = (LOCNPCGAPAC - LOCDEFNPCGAPAC) + (LOCNPPAC - LOCDEFNPPAC) ;
+
+PLOCCGAV = LOCPROCGAV - LOCDEFPROCGAV;
+PLOCCGAC = LOCPROCGAC - LOCDEFPROCGAC;
+PLOCCGAPAC = LOCPROCGAP - LOCDEFPROCGAP;
+NPLOCCGAV = LOCNPCGAV - LOCDEFNPCGAV;
+NPLOCCGAC = LOCNPCGAC - LOCDEFNPCGAC;
+NPLOCCGAPAC = LOCNPCGAPAC - LOCDEFNPCGAPAC;
+PLOCV = min(0,LOCPROV - LOCDEFPROV) * positif_ou_nul(LOCDEFPROV - LOCPROV) 
+	       + arr(max(0, LOCPROV - LOCDEFPROV) * MAJREV) * positif(LOCPROV - LOCDEFPROV);
+PLOCC = min(0,LOCPROC - LOCDEFPROC) * positif_ou_nul(LOCDEFPROC - LOCPROC) 
+	       + arr(max(0, LOCPROC - LOCDEFPROC) * MAJREV) * positif(LOCPROC - LOCDEFPROC);
+PLOCPAC = min(0,LOCPROP - LOCDEFPROP) * positif_ou_nul(LOCDEFPROP - LOCPROP) 
+	       + arr(max(0, LOCPROP - LOCDEFPROP) * MAJREV) * positif(LOCPROP - LOCDEFPROP);
+NPLOCV = min(0,LOCNPV - LOCDEFNPV) * positif_ou_nul(LOCDEFNPV - LOCNPV) 
+	       + arr(max(0, LOCNPV - LOCDEFNPV) * MAJREV) * positif(LOCNPV - LOCDEFNPV);
+NPLOCC = min(0,LOCNPC - LOCDEFNPC) * positif_ou_nul(LOCDEFNPC - LOCNPC) 
+	       + arr(max(0, LOCNPC - LOCDEFNPC) * MAJREV) * positif(LOCNPC - LOCDEFNPC);
+NPLOCPAC = min(0,LOCNPPAC - LOCDEFNPPAC) * positif_ou_nul(LOCDEFNPPAC - LOCNPPAC) 
+	       + arr(max(0, LOCNPPAC - LOCDEFNPPAC) * MAJREV) * positif(LOCNPPAC - LOCDEFNPPAC);
+regle 90010:
+application : pro , oceans , iliad , batch  ;                   
+PLOCNETV = PLOCCGAV + PLOCV;
+PLOCNETC = PLOCCGAC + PLOCC;
+PLOCNETPAC = PLOCCGAPAC + PLOCPAC;
+NPLOCNETTV = NPLOCCGAV + NPLOCV + MIB_NETNPVLV  + MIB_NETNPPLV ;
+NPLOCNETTC = NPLOCCGAC + NPLOCC + MIB_NETNPVLC  + MIB_NETNPPLC;
+NPLOCNETTPAC = NPLOCCGAPAC + NPLOCPAC + MIB_NETNPVLP  + MIB_NETNPPLP;
+NPLOCNETV = NPLOCCGAV + NPLOCV ;
+NPLOCNETC = NPLOCCGAC + NPLOCC;
+NPLOCNETPAC = NPLOCCGAPAC + NPLOCPAC;
+regle 90020:
+application : pro , oceans , iliad , batch  ;                   
+PLOCNETF = PLOCNETV + PLOCNETC + PLOCNETPAC;
+TOTDEFLOCNP = LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 +  LNPRODEF5 + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1;
+NPLOCNETF10 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9);
+NPLOCNETF9 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8);
+NPLOCNETF8 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7);
+NPLOCNETF7 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6);
+NPLOCNETF6 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5);
+NPLOCNETF5 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5 + LNPRODEF4);
+NPLOCNETF4 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5 + LNPRODEF4 + LNPRODEF3);
+NPLOCNETF3 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5 + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 );
+NPLOCNETF2 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5 + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1);
+NPLOCNETF = max(0,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-TOTDEFLOCNP);
+DNPLOCIMPU = max(0,min(TOTDEFLOCNP,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC));
+NPLOCNETFHDEFANT = max(0,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC);
+DEFNPLOCF = min(0,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(TOTDEFLOCNP-LNPRODEF10));
+DEFNONPLOC = abs(DEFNPLOCF) ;
+regle 90030:
+application : pro , oceans , iliad , batch  ;
+DEFLOC10 = (1- positif_ou_nul(NPLOCNETF10))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10,0)-LNPRODEF9,LNPRODEF9))
+            * positif_ou_nul(LNPRODEF9-max(NPLOCNETFHDEFANT-LNPRODEF10,0));
+DEFLOC9 = (1- positif_ou_nul(NPLOCNETF9))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9,0)-LNPRODEF8,LNPRODEF8))
+            * positif_ou_nul(LNPRODEF8-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9,0));
+DEFLOC8 = (1- positif_ou_nul(NPLOCNETF8))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8,0)-LNPRODEF7,LNPRODEF7))
+            * positif_ou_nul(LNPRODEF7-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8,0));
+DEFLOC7 = (1- positif_ou_nul(NPLOCNETF7))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7,0)-LNPRODEF6,LNPRODEF6))
+            * positif_ou_nul(LNPRODEF6-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7,0));
+DEFLOC6 = (1- positif_ou_nul(NPLOCNETF6))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6,0)-LNPRODEF5,LNPRODEF5))
+            * positif_ou_nul(LNPRODEF5-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6,0));
+DEFLOC5 = (1- positif_ou_nul(NPLOCNETF5))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6 -LNPRODEF5,0)-LNPRODEF4,LNPRODEF4))
+            * positif_ou_nul(LNPRODEF4-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5,0));
+DEFLOC4 =(1- positif_ou_nul(NPLOCNETF4))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4,0)-LNPRODEF3,LNPRODEF3))
+            * positif_ou_nul(LNPRODEF3-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4,0));
+DEFLOC3 =(1- positif_ou_nul(NPLOCNETF3))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4-LNPRODEF3,0)-LNPRODEF2,LNPRODEF2))
+            * positif_ou_nul(LNPRODEF2-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4-LNPRODEF3,0));
+DEFLOC2 = (1-positif_ou_nul(NPLOCNETF2))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4-LNPRODEF3-LNPRODEF2,0)-LNPRODEF1,LNPRODEF1))
+            * positif_ou_nul(LNPRODEF1-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4-LNPRODEF3-LNPRODEF2,0));
+DEFNPLOCFAV = max(0,abs(DEFNPLOCF) - DEFLOC2 - DEFLOC3 - DEFLOC4 - DEFLOC5 - DEFLOC6 - DEFLOC7 - DEFLOC8 - DEFLOC9 - DEFLOC10);
+DEFLOC1 = positif(DEFNONPLOC) * DEFNPLOCFAV;
diff --git a/sources2011m_9_6/chap-86.m b/sources2011m_9_6/chap-86.m
new file mode 100644
index 0000000000000000000000000000000000000000..5a350ee165368621728505222e40ec47f767ee80
--- /dev/null
+++ b/sources2011m_9_6/chap-86.m
@@ -0,0 +1,165 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+regle 8610 :
+application : pro , oceans , iliad , batch  ;
+BNNSV = positif(BNHREV - BNHDEV)* arr((BNHREV-BNHDEV)*MAJREV) + (1-positif_ou_nul(BNHREV-BNHDEV))*(BNHREV-BNHDEV);
+
+BNNSC = positif(BNHREC - BNHDEC)* arr((BNHREC-BNHDEC)*MAJREV) + (1-positif_ou_nul(BNHREC-BNHDEC))*(BNHREC-BNHDEC);
+
+BNNSP = positif(BNHREP - BNHDEP)* arr((BNHREP-BNHDEP)*MAJREV) + (1-positif_ou_nul(BNHREP-BNHDEP))*(BNHREP-BNHDEP);
+
+BNNAV = (BNCREV - BNCDEV) ;
+BNNAC = (BNCREC - BNCDEC) ;
+BNNAP = (BNCREP - BNCDEP) ;
+BNNAAV = (BNCAABV - BNCAADV) ;
+BNNAAC = (BNCAABC - BNCAADC) ;
+BNNAAP = (BNCAABP - BNCAADP) ;
+regle 862:
+application : pro , oceans , iliad , batch  ;
+
+NOCEPV = ANOCEP - DNOCEP + BNNAAV; 
+
+NOCEPC = ANOVEP - DNOCEPC + BNNAAC; 
+
+NOCEPP = ANOPEP - DNOCEPP + BNNAAP; 
+
+NOCEPIMPV = positif(ANOCEP - DNOCEP)*arr((ANOCEP-DNOCEP)*MAJREV) 
+	   + positif_ou_nul(DNOCEP-ANOCEP)*(ANOCEP-DNOCEP)+BNNAAV;
+
+NOCEPIMPC = positif(ANOVEP - DNOCEPC)*arr((ANOVEP-DNOCEPC)*MAJREV) 
+	   + positif_ou_nul(DNOCEPC-ANOVEP)*(ANOVEP-DNOCEPC)+BNNAAC;
+
+NOCEPIMPP = positif(ANOPEP - DNOCEPP)*arr((ANOPEP-DNOCEPP)*MAJREV) 
+	   + positif_ou_nul(DNOCEPP-ANOPEP)*(ANOPEP-DNOCEPP)+BNNAAP;
+
+NOCEPIMP = NOCEPIMPV+NOCEPIMPC+NOCEPIMPP;
+
+BNN = somme(i=V,C,P:BNRi) + SPENETPF + max(0,SPENETNPF + NOCEPIMP-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2-DABNCNP1) ;
+regle 8621:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,P:
+BNNi =  BNRi + SPENETi;
+regle 86211:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,P:
+BNRi = BNNSi + BNNAi;
+BNRTOT = BNRV + BNRC + BNRP;
+regle 863:
+application : pro , oceans , iliad , batch  ;
+BN1 = somme(i=V,C,P:BN1i);
+regle 8631:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,P:
+BN1i = BN1Ai + PVINiE + INVENTi;
+regle 864:                                                                    
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPETOTi = BNCPROi + BNCNPi;
+regle 8641:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPEBASABi=SPETOTi;
+pour i = V,C,P:                                                                 
+SPEABi = arr((max(MIN_SPEBNC,(SPEBASABi * SPETXAB/100))) * 
+                       positif_ou_nul(SPETOTi - MIN_SPEBNC)) +
+          arr((min(MIN_SPEBNC,SPEBASABi )) * 
+                       positif(MIN_SPEBNC - SPETOTi)); 
+regle 86411:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPEABPi = arr((SPEABi * BNCPROi)/SPETOTi);                                  
+pour i = V,C,P:                                                                 
+SPEABNPi = SPEABi - SPEABPi;                                  
+regle 8642:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPENETPi = max (0,(BNCPROi - SPEABPi));                                    
+pour i = V,C,P:                                                                 
+SPENETNPi = max (0,(BNCNPi - SPEABNPi));
+pour i = V,C,P:                                                                 
+SPENETi = SPENETPi + SPENETNPi;
+SPENET = somme(i=V,C,P:(SPENETi));
+regle 8650:
+application : pro , oceans , iliad , batch  ;                          
+SPENETCT = BNCPROPVV + BNCPROPVC + BNCPROPVP - BNCPRODCT;
+SPENETNPCT = BNCNPPVV + BNCNPPVC + BNCNPPVP - BNCNPDCT;
+regle 8660:
+application : pro , oceans , iliad , batch  ;                          
+SPENETPF = somme(i=V,C,P:SPENETPi) + SPENETCT;
+SPENETNPF = somme(i=V,C,P:SPENETNPi) + SPENETNPCT;                                    
+BNCNPTOT = SPENETPF + SPENETNPF;
+regle 8680:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPEPVPi = BNCPRO1Ai - BNCPRODEi;
+pour i = V,C,P:                                                                 
+SPEPVNPi = BNCNP1Ai - BNCNPDEi;
+SPEPV = somme(i=V,C,P:max(0,SPEPVPi + SPEPVNPi));
+
+regle 8690:
+application :  oceans , iliad , batch  ;                          
+
+DCTSPE = positif_ou_nul(BNRTOT+SPENETPF) * BNCPRODCT
+        + ( 1 - positif_ou_nul(BNRTOT+SPENETPF)) * (BNCPRODCT-abs(BNRTOT+SPENETPF))
+        + ( 1 - positif_ou_nul(BNRTOT+SPENETPF)) * null(BNCPRODCT-abs(BNRTOT+SPENETPF))* BNCPRODCT
+	;
+DCTSPENP = positif_ou_nul(NOCEPIMP+SPENETNPF) * BNCNPDCT
+        + ( 1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (BNCNPDCT-abs(NOCEPIMP+SPENETNPF))
+        + ( 1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * null(BNCNPDCT-abs(NOCEPIMP+SPENETNPF)) * BNCNPDCT
+	;
+regle 8691:
+application : pro , oceans , iliad , batch  ;
+
+BNCDF6 = (1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP5)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF) 
+	    * min(max(NOCEPIMP+SPENETNPF-DABNCNP6,0)-DABNCNP5,DABNCNP5)*(-1)
+            * positif_ou_nul(DABNCNP5-max(NOCEPIMP+SPENETNPF-DABNCNP6,0));
+
+BNCDF5 = (1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP4)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF) 
+	    * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5,0)-DABNCNP4,DABNCNP4)*(-1)
+            * positif_ou_nul(DABNCNP4-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5,0));
+
+BNCDF4 = (1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP3)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF) 
+	    * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4,0)-DABNCNP3,DABNCNP3)*(-1)
+            * positif_ou_nul(DABNCNP3-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4,0));
+
+BNCDF3 = (1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP2)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF)  
+            * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3,0)-DABNCNP2,DABNCNP2)*(-1)
+            * positif_ou_nul(DABNCNP2-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3,0));
+
+BNCDF2 = (1-positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP1)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF)  
+            * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2,0)-DABNCNP1,DABNCNP1)*(-1)
+            * positif_ou_nul(DABNCNP1-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2,0));
+
+BNCDF1 = (1-positif_ou_nul(NOCEPIMP+SPENETNPF)) * abs(NOCEPIMP+SPENETNPF)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF)  
+            * positif_ou_nul(DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1-NOCEPIMP-SPENETNPF)
+            * (DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1-NOCEPIMP-SPENETNPF)
+	    * null(BNCDF6+BNCDF5+BNCDF4+BNCDF3+BNCDF2) ;
+
+regle 8692:
+application : pro , oceans , iliad , batch  ;                          
+DABNCNP = DABNCNP1 + DABNCNP2 + DABNCNP3 + DABNCNP4 + DABNCNP5 + DABNCNP6;
diff --git a/sources2011m_9_6/chap-87.m b/sources2011m_9_6/chap-87.m
new file mode 100644
index 0000000000000000000000000000000000000000..03fcf9af4a6332c04a40273dc89fae2bd2c5c325
--- /dev/null
+++ b/sources2011m_9_6/chap-87.m
@@ -0,0 +1,227 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 8740:
+application : pro , oceans , iliad , batch ;
+XFORFAIT  = somme(i=V,C,P: FEXi);
+regle 8741:
+application : pro , oceans , iliad , batch ;
+XACCESS  = somme(i=V,C,P: XACCESSi);
+regle 8745:
+application : pro , oceans , iliad , batch ;
+pour i = V,P,C:
+XBAi = BAHEXi + BAEXi ;
+pour i = V,P,C:
+XBIPi = BIHEXi + BICEXi;
+pour i = V,P,C:
+XBINPi = BICNPHEXi + BICNPEXi;
+pour i = V,P,C:
+XBNi = BNHEXi + BNCEXi ;
+pour i = V,P,C:
+XBNNPi = BNCNPREXi+BNCNPREXAAi ;
+regle 872:
+application : pro , oceans , iliad , batch ;
+pour i=V,C,P:
+XBICHDi = (BICEXi + BICNOi)  ;
+pour i=V,C,P:
+XBICNETi = XBICHDi - ( BICDNi )  ;
+pour i=V,C,P:
+XBICSi =  XBICNETi + BA1Ai ;
+pour i=V,C,P:
+XBICNPHDi = BICNPEXi + BICREi ;
+pour i=V,C,P:
+XBICNPNETi = XBICNPHDi - BICDEi ;
+pour i=V,C,P:
+XBICNPSi =  XBICNPNETi + BI2Ai ;
+pour  i = V,C,P:
+XBITi = max (0 , XBICNETi + max (0,XBICNPNETi )); 
+pour  i = V,C,P:
+XBISi = positif(max(0,XBICNETi + max(0,XBICNPNETi)))
+        * ( BI2Ai  + BI1Ai  );
+
+pour i=V,C,P:
+XBICIMPi =  XBICHDi + XBICNPHDi ;
+regle 8728:
+application : pro , oceans , iliad , batch ;
+pour i=V,C:
+XTSBi =  somme(x=1..3:GLDxi) + TSBNi + BPCOSAi + TSASSUi + XETRANi + HEURESUPi + EXOCETi ;
+
+pour i=1,2,3,4:
+XTSBi =  TSBNi + HEURESUPPi ;
+pour i=V,C:
+XEXTSi = XTSBi + CARTSi + REMPLAi;
+pour i=1,2,3,4:
+XEXTSi = XTSBi + CARTSPi + REMPLAPi;
+regle 8731:
+application : pro , oceans , iliad , batch ;
+pour i = V,C,1,2,3,4:
+XTPS10i = arr (XEXTSi * TX_DEDFORFTS /100);
+pour i = V,C,1,2,3,4:
+XDFNi =  min( PLAF_DEDFORFTS , XTPS10i );
+regle 8729:
+application : pro , oceans , iliad , batch ;
+pour i = V,C,1,2,3,4:
+X10MINSi= max( min(XTSBi,DEDMINi) , XDFNi );
+pour i = V,C,1,2,3,4:
+XIND_10i= positif_ou_nul(X10MINSi-FRNi);
+pour i = V,C,1,2,3,4:
+XDFi = X10MINSi  ;
+pour i = V,C,1,2,3,4:
+XFPTi = XDFi * XIND_10i + FRDi * (1 - XIND_10i);
+pour i = V,C,1,2,3,4:
+XTSNTi =  XEXTSi - XFPTi;
+regle 8734:
+application : pro , oceans , iliad , batch ;
+pour i = V,C,1,2,3,4:
+XTSNi = positif (-XTSNTi) * min (0 , XTSNTi)
+     + positif_ou_nul (XTSNTi) * XTSNTi;
+regle 8735:
+application : pro , oceans , iliad , batch ;
+pour i = V,C:
+XTSi = XTSNi -  somme(x=1..3: max(0,GLDxi - ABGLxi));
+pour i = V,C:
+XHSUPTSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (HEURESUPi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * HEURESUPi;
+pour i = 1,2,3,4:
+XHSUPTSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (HEURESUPPi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * HEURESUPPi;
+HEURESUPTOT = somme(i=1..4: HEURESUPPi);
+XHSUPTSTOT = somme(i=1..4: XHSUPTSNNi);
+HEURSUP = XHSUPTSNNV +  XHSUPTSNNC +  XHSUPTSNN1 +  XHSUPTSNN2 +  XHSUPTSNN3 +  XHSUPTSNN4;  
+pour i = V,C:
+XTSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (TSASSUi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * TSASSUi;
+pour i = V,C:
+XETSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (XETRANi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * XETRANi;
+pour i = V,C:
+XEXOCETi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (EXOCETi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * EXOCETi;
+XEXOCET = somme(i=V,C:XEXOCETi);
+pour i = V,C:
+DTSELUPPEi = TSELUPPEi * (1 - V_CNR);
+pour i = V,C:
+XLUXTSNNi = arr( positif(XTSNi) * XTSNi  
+         * (DTSELUPPEi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * DTSELUPPEi;
+regle 876:
+application : pro , oceans , iliad , batch ;
+XELU = ELURASC + ELURASV ;
+regle 875:
+application : pro , oceans , iliad , batch ;
+GLN2NET = arr(GLN2 * GL2 / REV2);
+GLN3NET = arr(GLN3 * GL3 / REV3);
+QUOKIRE =   GL1 + GL2 + GL3 + RPQ4
+             + somme (x=V,C,1..4 : RPQPRRx+ GLFx+ RPQTSx+ RPQTSREMPx+RPQPALIMx)
+             + RPQRF1 + GLRF2 + RPQRCMDC + RPQRCMFU + RPQRCMCH
+             + RPQRCMTS + RPQRCMGO + RPQRCMTR + RPQRVO + RPQRVO5 + RPQRVO6 + RPQRVO7;
+regle 8727:
+application : pro , oceans , iliad , batch ;
+
+VARREVKIRE =  BPCAPTAXV + BPCAPTAXC
+              + somme( i=V,C,P: XBAi+XBIPi+XBINPi+XBNi+XBNNPi)
+              + somme (i=V,C,P: MIBEXi + MIBNPEXi + BNCPROEXi + XSPENPi)
+              + somme (i=V,C,P: BNCCRi)
+              + somme (i=V,C,P: BNCCRFi)
+              + somme (i=V,C: XETSNNi)
+              + somme (i=V,C: XEXOCETi)
+              + somme (i=V,C: XTSNNi)
+              + somme (i=V,C,1,2,3,4: XHSUPTSNNi)
+              + XFORFAIT + XACCESS 
+              + RCMLIB + PPLIB + RCMLIBDIV
+              + GAINABDET
+              + PVJEUNENT
+              + RCMEXCREF
+              + XELU 
+              + RCMIMPAT
+              + PVPART
+              + PVIMMO
+              + PVTITRESOC 
+              + BTP3A
+              + (max(0,BTP3G + ABDETPLUS + ABIMPPV - ABDETMOINS - ABIMPMV) 
+              + BPVCESDOM * positif(V_EAD+V_EAG) * (1-positif(IPVLOC)) + BPTP18 + BPTP40 + BPTP4 + BTP3N + BPTP2 )
+	      ;
+
+REVKIRE = (1-null(IND_TDR)) *
+ arr (
+       max ( 0, ( 
+                  (1-positif(IPTEFP+IPTEFN+INDTEFF)) * (RI1)  
+                  + positif(IPTEFP+IPTEFN+INDTEFF) * IPTEFP
+                  + positif(IPTEFP+IPTEFN+INDTEFF) 
+                  * positif(- TEFFN - DRBG - RNIDF + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) + QUOKIRE)*
+		   ( (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO)))
+		   + QUOKIRE
+                   ) 
+                  + max(0,TEFFREVTOT*INDTEFF) * (1-positif(IPTEFP))
+                )
+                * (1-present(IND_TDR))
+                + 
+                   IND_TDR
+		   + (1-positif(IPTEFP+IPTEFN+INDTEFF)) * 
+		     (QUOKIRE + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) )
+		   +  VARREVKIRE
+             )
+       ) 
+       ;
+
+pour i=V,C,P:
+BNCCREAi = BNCCRi + BNCCRFi ;
+QUOKIREHR =   GL1 + GL2 + GL3 + GL4
+             + somme (x=V,C,1..4 : GLPRRx+ GLFx+ GLTSx+ GLTSREMPx+GLPALIMx)
+             + GLRF1 + GLRF2 + GLRCMDC + GLRCMFU + GLRCMCH
+             + GLRCMTS + GLRCMGO + GLRCMTR + GLRVO + GLRVO5 + GLRVO6 + GLRVO7;
+REVKIREHR =  (1-null(IND_TDR)) *
+ arr (
+       max ( 0, ( 
+                  (1-positif(IPTEFP+IPTEFN+INDTEFF)) * (RI1)  
+                  + positif(IPTEFP+IPTEFN+INDTEFF) * IPTEFP
+                  + positif(IPTEFP+IPTEFN+INDTEFF) 
+                  * positif(- TEFFN - DRBG - RNIDF + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) + QUOKIREHR+(RFROBOR*V_INDTEO))*
+		   ( (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) 
+		   + QUOKIREHR + (RFROBOR * V_INDTEO* (1-INDTEFF))
+                   ) 
+                  + max(0,TEFFREVTOT*INDTEFF) * (1-positif(IPTEFP))
+                )
+                * (1-present(IND_TDR))
+                + 
+                   IND_TDR
+		   + (1-positif(IPTEFP+IPTEFN+INDTEFF)) * 
+		     (QUOKIREHR + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO)))) 
+		   +  VARREVKIRE
+             )
+       ) 
+       ;
+regle 410 :
+application : batch, iliad, pro, oceans;
+CDEVDUR_NBJ = PPENBJ;
+CKIREDUR = arr(REVKIRE * 360/CDEVDUR_NBJ);
+REVKIREDUR2 = CKIREDUR ;
+
+
diff --git a/sources2011m_9_6/chap-88.m b/sources2011m_9_6/chap-88.m
new file mode 100644
index 0000000000000000000000000000000000000000..194d45b10af9c8b6a94c0171f5851775bc0e0c4f
--- /dev/null
+++ b/sources2011m_9_6/chap-88.m
@@ -0,0 +1,147 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 881:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C;x=1..3:
+GLNxi = max (GLDxi - ABGLxi,0);
+regle 882:
+application : pro , oceans , iliad , batch  ;
+pour i=V,C:
+TSi = TSNi - somme(x=1..3: max(0,GLDxi - ABGLxi));
+pour i=1..4:
+TSi = TSNi;
+pour i=V,C:
+TPRi = TSNi + PRNi - somme(x=1..3: GLNxi);
+pour i=1..4:
+TPRi = TSNi + PRNi;
+pour i = V,C :
+TSNNi =  positif(TSi) *arr(TSi *(TSBNi + BPCOSAi)/EXTSi )
+          + (1 -positif(TSi)) * TSi ;
+pour i = 1..4 :
+TSNNi = (positif(TSi) * arr(TSi * TSBNi /EXTSi )
+            + (1 -positif(TSi)) * TSi)  ;
+pour i = V,C :
+TSNN2i = ( positif(TSi)
+                * ( positif(CARTSi+REMPLAi) 
+                          * arr(TSi * 2TSNi / EXTSi )
+                    + (1 -positif(CARTSi+REMPLAi)) 
+                          * (TSi - TSNNi))) ;
+pour i = 1..4 :
+TSNN2i = ( positif(TSi)
+               * ( positif(CARTSPi+REMPLAPi) 
+                          * arr(TSi * 2TSNi /EXTSi )
+                    + (1 -positif(CARTSPi+REMPLAPi)) 
+                          * (TSi - TSNNi))) ;
+pour i = V,C :
+TSNN2TSi = ( positif(TSi)
+                * ( positif(REMPLAi) 
+                          * arr(TSi * CARTSi / EXTSi )
+                    + (1 -positif(REMPLAi)) 
+                          * (TSi - TSNNi))) ;
+pour i = 1..4 :
+TSNN2TSi = ( positif(TSi)
+               * ( positif(REMPLAPi) 
+                          * arr(TSi * CARTSPi /EXTSi )
+                    + (1 -positif(REMPLAPi)) 
+                          * (TSi - TSNNi))) ;
+pour i = V,C :
+TSNN2REMPi = (positif(TSi) * (TSi - TSNNi-TSNN2TSi)) ;
+pour i = 1..4 :
+TSNN2REMPi = (positif(TSi) * (TSi - TSNNi-TSNN2TSi)) ;
+
+regle 883:
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1..4:
+PRRi = arr(PRNi * PRBi / EXPRi);
+pour i = V,C:
+PRR2i = positif(PEBFi+PENSALi) * arr(PRNi * CARPEi / EXPRi)
+           +  (1 -positif(PEBFi+PENSALi)) * (PRNi -PRRi)   ;
+pour i = 1..4:
+PRR2i = positif(PEBFi+PENSALPi) * arr(PRNi * CARPEPi / EXPRi )
+           +  (1 -positif(PEBFi+PENSALPi)) * (PRNi -PRRi);
+pour i = V,C:
+PENFi =  positif(PENSALi) * arr(PRNi * PEBFi / EXPRi)
+       + (1 - positif(PENSALi)) * max(0,(PRNi -PRRi -PRR2i));
+pour i = 1..4:
+PENFi =  positif(PENSALPi) * arr(PRNi * PEBFi / EXPRi)
+        + (1- positif(PENSALPi)) * (PRNi -PRRi -PRR2i);
+pour i = V,C:
+PENALIMi = positif(EXPRi) * (PRNi -PRRi -PRR2i - PENFi) ;
+pour i = 1..4:
+PENALIMi = positif(EXPRi) * (PRNi -PRRi -PRR2i - PENFi) ;
+regle 884:
+application : pro , oceans , iliad , batch  ;
+pour i = 1,2,3,4:
+RVi = arr(RVBi * TXRVTi / 100);
+RVTOT = RV1 + RV2 + RV3 + RV4;
+regle 885:
+application : pro , oceans , iliad , batch  ;
+2RV1 = arr(RENTAX * TXRVT1 / 100);
+2RV2 = arr(RENTAX5 * TXRVT2 / 100);
+2RV3 = arr(RENTAX6 * TXRVT3 / 100);
+2RV4 = arr(RENTAX7 * TXRVT4 / 100);
+T2RV = 2RV1 + 2RV2 + 2RV3 + 2RV4;
+regle 886:
+application : pro , oceans , iliad , batch  ;
+RVBCSG = arr((RVB1 + RENTAX) * TXRVT1 / 100) 
+       + arr((RVB2 + RENTAX5) * TXRVT2 / 100) 
+       + arr((RVB3 + RENTAX6) * TXRVT3 / 100) 
+       + arr((RVB4 + RENTAX7) * TXRVT4 / 100) ;
+
+regle 887:
+application : pro , oceans , iliad , batch  ;
+TSPR = TSPRT + RVTOT ;
+regle 888:
+application : pro , oceans , iliad , batch  ;
+pour i=V,C,1..4:
+TSPRi = TSNNi + PRRi ;
+TSPRP = somme(i=1..4:TSPRi) ;
+regle 8810:
+application : pro , oceans , iliad , batch  ;
+TSNN2P = somme(i=1..4: TSNN2i);
+PRR2P =somme(i=1..4: PRR2i);
+PENFP = PENF1 + PENF2 + PENF3 + PENF4 ;
+PENALIMP = PENALIM1 + PENALIM2 + PENALIM3 + PENALIM4;
+
+regle 8811:
+application : pro , oceans , iliad , batch ;
+TSQVO = 2TSNV;
+TSQCJ = 2TSNC;
+TSQPC = somme(i=1..4: 2TSNi ) ;
+PRQVO =  CARPEV + PEBFV;
+PRQCJ =  CARPEC + PEBFC; 
+PRQPC = somme(i=1..4:  CARPEPi+PEBFi) ;
+PENSALP = PENSALP1 + PENSALP2 + PENSALP3 + PENSALP4;
+regle 8812:
+application : oceans , iliad , pro , batch ;
+PRQNV = 2PRBV;
+PRQNC = 2PRBC; 
+PRQNP = somme(i=1..4: 2PRBi) ;
+PENSTOTV = PRR2V + PENALIMV;
+PENSTOTC = PRR2C + PENALIMC;
+PENSTOTP = PRR2P + PENALIMP;
+regle 8815:
+application : oceans , iliad , pro , batch ;
+pour i=V,C:
+BPCAPTAXi = PCAPTAXi - arr(PCAPTAXi * TX_DEDPER/100);
+pour i=V,C:
+IPCAPTAXi = arr(BPCAPTAXi * T_PCAPTAX/100);
+IPCAPTAXT = somme(i=V,C:IPCAPTAXi);
diff --git a/sources2011m_9_6/chap-aff.m b/sources2011m_9_6/chap-aff.m
new file mode 100644
index 0000000000000000000000000000000000000000..1a89a80e7d2b7c0672aaf1e41d83b440712636c3
--- /dev/null
+++ b/sources2011m_9_6/chap-aff.m
@@ -0,0 +1,799 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 111011:
+application :  iliad;
+CONST0 = 0;
+CONST1 = 1;
+CONST2 = 2;
+CONST3 = 3;
+CONST4 = 4;
+CONST10 = 10;
+CONST20 = 20;
+CONST40 = 40;
+regle 1110:
+application : batch, pro  , oceans, iliad;
+LIG0 = (1 - positif(IPVLOC)) * (1 - positif(RE168+TAX1649)) * IND_REV ;
+LIG1 = (1 - positif(RE168+TAX1649)) ;
+regle 1110010:
+application : batch,pro , oceans, iliad;
+LIG0010 = ( INDV * INDC * INDP ) * LIG0
+           * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 1110020:
+application : batch,pro , oceans, iliad;
+LIG0020 = ( INDV * (1 - INDC) * (1 - INDP) ) * LIG0
+           * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 1110030:
+application : batch,pro , oceans, iliad;
+LIG0030 = ( INDC * (1 - INDV) * (1 - INDP) ) * LIG0
+           * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 1110040:
+application : batch,pro , oceans, iliad;
+LIG0040 = ( INDP * (1 - INDV) * (1 - INDC) ) * LIG0
+           * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 1110050:
+application : batch,pro , oceans, iliad;
+LIG0050 = ( INDV * INDC * (1 - INDP) ) * LIG0
+           * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 1110060:
+application : batch,pro , oceans, iliad;
+LIG0060 = ( INDV * INDP * (1 - INDC) ) * LIG0
+           * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 1110070:
+application : batch,pro , oceans, iliad;
+LIG0070 = ( INDC * INDP * (1 - INDV) ) * LIG0
+           * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 11110:
+application : batch,pro  , oceans, iliad;
+LIG10V = positif_ou_nul(TSBNV + PRBV + BPCOSAV + positif(F10AV*null(TSBNV+PRBV+BPCOSAV)));
+LIG10C = positif_ou_nul(TSBNC + PRBC + BPCOSAC + positif(F10AC*null(TSBNC+PRBC+BPCOSAC)));
+LIG10P = positif_ou_nul(somme(i=1..4:TSBNi + PRBi) + positif(F10AP*null(somme(i=1..4:TSBNi+PRBi))));
+LIG10 = positif(LIG10V + LIG10C + LIG10P)*TYPE1 ;
+regle 11000:
+application : batch,pro, oceans, iliad ;
+
+LIG1100 = positif(positif(T2RV) * (1 - positif(IPVLOC)) * TYPE4) ;
+
+LIG900 = positif((RVTOT + LIG1100 + LIG910 + BRCMQ + RCMFR + REPRCM + LIGRCMABT + LIG2RCMABT + LIG3RCMABT + LIG4RCMABT
+		  + RCMLIB + LIG29 + LIG30 + RFQ + 2REVF + 3REVF + LIG1130 + VLHAB + DFANT + ESFP + RE168 + TAX1649 + R1649 + PREREV)
+                 * TYPE4 ) ;
+
+regle 111440:
+application : batch,pro , oceans, iliad;
+LIG4401 =  positif(V_FORVA) * (1 - positif_ou_nul(BAFV))
+    	  * LIG0 ;
+LIG4402 =  positif(V_FORCA) * (1 - positif_ou_nul(BAFC))
+    	  * LIG0 ;
+LIG4403 =  positif(V_FORPA) * (1 - positif_ou_nul(BAFP)) 
+    	  * LIG0 ;
+regle 11113:
+application : pro  , oceans, iliad,batch;
+LIG13 =  positif(present(BACDEV)+ present(BACREV)
+               + present(BAHDEV) +present(BAHREV)
+               + present(BACDEC) +present(BACREC)
+               + present(BAHDEC)+ present(BAHREC)
+               + present(BACDEP)+ present(BACREP)
+               + present(BAHDEP)+ present(BAHREP)
+               + present(4BAHREV) + present(4BAHREC) + present(4BAHREP)
+               + present(4BACREV) + present(4BACREC) + present(4BACREP)
+               + present(BAFV) + present(BAFC) + present(BAFP)
+	       + present(BAFORESTV) + present(BAFORESTC) 
+	       + present(BAFORESTP)
+               + present(BAFPVV) + present(BAFPVC) + present(BAFPVP))
+	* (1 - positif(IPVLOC)) * LIG1 *TYPE1 ;
+
+regle 111135:
+application : batch,pro  , oceans, iliad;
+4BAQLV = positif(4BACREV + 4BAHREV);
+4BAQLC = positif(4BACREC + 4BAHREC);
+4BAQLP = positif(4BACREP + 4BAHREP);
+regle 111134:
+application : pro  , oceans, iliad,batch;
+LIG134V = positif(present(BAFV) + present(BAHREV) + present(BAHDEV) + present(BACREV) + present(BACDEV)+ present(BAFPVV)+present(BAFORESTV));
+LIG134C = positif(present(BAFC) + present(BAHREC) + present(BAHDEC) + present(BACREC) + present(BACDEC)+ present(BAFPVC)+present(BAFORESTC));
+LIG134P = positif(present(BAFP) + present(BAHREP) + present(BAHDEP) + present(BACREP) + present(BACDEP)+ present(BAFPVP)+present(BAFORESTP));
+LIG134 = positif(LIG134V + LIG134C + LIG134P+present(DAGRI6)+present(DAGRI5)+present(DAGRI4)+present(DAGRI3)+present(DAGRI2)+present(DAGRI1)) 
+		* (1 - positif(IPVLOC)) * (1-positif(abs(DEFIBA))) * LIG1 * TYPE1 ;
+LIGDBAIP = positif_ou_nul(DBAIP) * positif(DAGRI1+DAGRI2+DAGRI3+DAGRI4+DAGRI5+DAGRI6) * (1-positif(IPVLOC))*TYPE1
+                          * positif(abs(abs(BAHQTOT)+abs(BAQTOT)-(DAGRI6+DAGRI5+DAGRI4+DAGRI3+DAGRI2+DAGRI1))) * LIG1 ;
+regle 111136:
+application : pro  , oceans, iliad ,batch;
+LIG136 = positif(4BAQV + 4BAQC + 4BAQP)
+		* (1 - positif(IPVLOC)) * LIG1 * TYPE1 ;
+
+regle 111590:
+application : pro, oceans, iliad, batch ;
+pour i = V,C,P:
+LIG_BICPi =        (
+  present ( BICNOi )                          
+ + present (BICDNi )                          
+ + present (BIHNOi )                          
+ + present (BIHDNi )                          
+                  ) * LIG0 ;
+LIG_BICP = LIG_BICPV + LIG_BICPC + LIG_BICPP ;
+LIG_DEFNPI = positif(
+   present ( DEFBIC6 ) 
+ + present ( DEFBIC5 ) 
+ + present ( DEFBIC4 ) 
+ + present ( DEFBIC3 ) 
+ + present ( DEFBIC2 )
+ + present ( DEFBIC1 )
+            )
+  * LIG0  * (1-positif(ANNUL2042)) * TYPE1 ;
+
+LIGMLOC = positif(present(MIBMEUV) + present(MIBMEUC) + present(MIBMEUP)
+		+ present(MIBGITEV) + present(MIBGITEC) + present(MIBGITEP))
+	  * LIG0  * (1-positif(ANNUL2042)) * TYPE1 ;
+ 
+LIGMLOCAB = positif(MLOCABV + MLOCABC + MLOCABP) * LIG0  * (1-positif(ANNUL2042)) * TYPE1 ; 
+
+LIGPLOC = positif(LOCPROCGAV + LOCPROCGAC + LOCPROCGAP + LOCDEFPROCGAV + LOCDEFPROCGAC + LOCDEFPROCGAP
+		   + LOCPROV + LOCPROC + LOCPROP + LOCDEFPROV + LOCDEFPROC + LOCDEFPROP) 
+		   * (1 - null(4 - V_REGCO)) * LIG0 ;
+
+LIGNPLOC = positif(LOCNPCGAV + LOCNPCGAC + LOCNPCGAPAC + LOCDEFNPCGAV + LOCDEFNPCGAC + LOCDEFNPCGAPAC
+		   + LOCNPV + LOCNPC + LOCNPPAC + LOCDEFNPV + LOCDEFNPC + LOCDEFNPPAC 
+		   )
+		   *  (1-null(4 - V_REGCO)) * LIG0 ;
+
+LIGNPLOCF = positif(LOCNPCGAV + LOCNPCGAC + LOCNPCGAPAC + LOCDEFNPCGAV + LOCDEFNPCGAC + LOCDEFNPCGAPAC
+		   + LOCNPV + LOCNPC + LOCNPPAC + LOCDEFNPV + LOCDEFNPC + LOCDEFNPPAC 
+                   + LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF6 + LNPRODEF5
+                   + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1
+		   )
+		   *  (1-null(4 - V_REGCO)) * LIG0 ;
+
+LIGDEFNPLOC = positif(TOTDEFLOCNP) *  (1-null(4 - V_REGCO)) ;
+
+LIGLOCNSEUL = positif(LIGNPLOC + LIGDEFNPLOC + LIGNPLOCF) ;
+
+LIGLOCSEUL = 1 - positif(LIGNPLOC + LIGDEFNPLOC + LIGNPLOCF) ;
+
+regle 1115901:
+application : pro  , oceans, iliad,batch;
+
+LIG_BICNPF = 
+       positif(
+   present (BICDEC)
+ + present (BICDEP)
+ + present (BICDEV)
+ + present (BICHDEC)
+ + present (BICHDEP)
+ + present (BICHDEV)
+ + present (BICHREC)
+ + present (BICHREP)
+ + present (BICHREV)
+ + present (BICREC)
+ + present (BICREP)
+ + present (BICREV)
+ + present ( DEFBIC6 ) 
+ + present ( DEFBIC5 ) 
+ + present ( DEFBIC4 ) 
+ + present ( DEFBIC3 ) 
+ + present ( DEFBIC2 )
+ + present ( DEFBIC1 )
+)
+                   * LIG0
+                     * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 11117:
+application : pro  , oceans, iliad,batch;
+LIG_BNCNF = positif (present(BNCV) + present(BNCC) + present(BNCP))*TYPE1 ;
+
+LIGNOCEP = ( present ( NOCEPV ) + present ( NOCEPC ) + present( NOCEPP ))     
+            * LIG0  * (1-positif(ANNUL2042)) * TYPE1 ;
+LIGNOCEPIMP = ( present ( NOCEPIMPV ) + present ( NOCEPIMPC ) + present( NOCEPIMPP ))     
+            * LIG0  * (1-positif(ANNUL2042)) * TYPE1 ;
+LIGDAB = positif(present(DABNCNP6)+present(DABNCNP5)+present(DABNCNP4)
+		+present(DABNCNP3)+present(DABNCNP2)+present(DABNCNP1)) 
+		* LIG0  * (1-positif(ANNUL2042)) * TYPE1 ;
+LIGDIDAB = present(DIDABNCNP) * LIG0  * (1-positif(ANNUL2042)) * TYPE1 ;
+
+LIGBNCIF = ( positif (LIGNOCEP) * (1 - positif(LIG3250) + null(BNCIF)) 
+             + (null(BNCIF) * positif(LIGBNCDF)) 
+	     + null(BNCIF)*(1-positif_ou_nul(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2-DABNCNP1)))
+	    * (1-positif(ANNUL2042))  * (1-positif(LIGSPENPNEG+LIGSPENPPOS))* LIG0 * TYPE1;
+regle 125:
+application : batch,pro  , oceans, iliad;
+LIG910 = positif(
+           present(RCMABD) + present(RCMTNC) +
+           present(RCMAV) + present(RCMHAD) + present(RCMHAB) + 
+           present(REGPRIV) + 
+      (1-present(BRCMQ)) *(present(RCMFR))
+                ) * LIG0  * (1-positif(ANNUL2042)) * TYPE1;
+regle 111266:
+application : pro  , oceans, iliad, batch;
+LIGBPLIB= present(RCMLIB) * LIG0  * (1-null(4-V_REGCO))* (1-positif(ANNUL2042)) * TYPE1;
+regle 1111130: 
+application : pro  , oceans, iliad;
+LIG1130 = positif(present(REPSOF)) * LIG0  * (1-positif(ANNUL2042)) * TYPE1;
+regle 1111950:
+application : pro  , oceans, iliad, batch;
+LIG1950 =  ( INDREV1A8 *  positif_ou_nul(REVKIRE) 
+                   * (1 - positif(positif_ou_nul(IND_TDR) * (1-(positif_ou_nul(TSELUPPEV + TSELUPPEC))))) 
+                   * TYPE1 ) ;
+regle 11129:
+application : batch,pro  , oceans, iliad;
+LIG29 = positif(present(RFORDI) + present(RFDHIS) + present(RFDANT) +
+                present(RFDORD)) * (1 - positif(IPVLOC))
+                *(1-positif(LIG30)) * LIG1  * (1-positif(ANNUL2042)) * TYPE1 * IND_REV ;
+regle 11130:
+application : pro, oceans, iliad, batch ;
+LIG30 = positif(RFMIC) * (1 - positif(IPVLOC)) * (1-positif(ANNUL2042)) * LIG1 * TYPE1 ;
+LIGREVRF = positif(present(FONCI) + present(REAMOR)) *(1 - positif(IPVLOC)) * (1-positif(ANNUL2042)) * LIG1 * TYPE1 ;
+regle 11149:
+application : batch,pro  , oceans, iliad;
+LIG49 =  INDREV1A8 * positif_ou_nul(DRBG)  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 11152:
+application : pro  , oceans, iliad, batch;
+LIG52 = positif(present(CHENF1) + present(CHENF2) + present(CHENF3) + present(CHENF4) 
+                 + present(NCHENF1) + present(NCHENF2) + present(NCHENF3) + present(NCHENF4)) 
+	     * (1-positif(ANNUL2042)) * LIG1 * TYPE1 ;
+regle 11158:
+application : pro  , oceans, iliad, batch;
+LIG58 = (present(PAAV) + present(PAAP)) 
+	* positif(LIG52)  * (1-positif(ANNUL2042)) * LIG1 * TYPE1 ;
+regle 111585:
+application : pro  , oceans, iliad, batch;
+LIG585 = (present(PAAP) + present(PAAV)) 
+	* (1-positif(LIG58))  * (1-positif(ANNUL2042)) * LIG1 * TYPE1 ;
+LIG65 = positif(LIG52 + LIG58 + LIG585 
+                + present(CHRFAC) + present(CHNFAC) + present(CHRDED)
+		+ present(DPERPV) + present(DPERPC) + present(DPERPP)
+                + LIGREPAR)  
+       * (1-positif(ANNUL2042)) * LIG1 * TYPE1 ;
+regle 111555:
+application : pro  , oceans, iliad, batch;
+LIGDPREC = present(CHRFAC) * LIG1;
+
+LIGDFACC = (positif(20-V_NOTRAIT+0) * positif(DFACC)
+           + (1-positif(20-V_NOTRAIT+0)) * present(DFACC)) * LIG1;
+regle 1111390:
+application : batch,pro  , oceans, iliad;
+LIG1390 = positif(positif(ABMAR) + (1-positif(RI1)) * positif(V_0DN))  * (1-positif(ANNUL2042)) * LIG1 * TYPE1 ;
+regle 11168:
+application : batch,pro  , oceans, iliad;
+LIG68 = INDREV1A8 * (1-positif(abs(RNIDF)))  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 111681:
+application : pro  , oceans, iliad, batch;
+LIGRNIDF = positif(abs(RNIDF))  * (1-positif(ANNUL2042)) * (1-null(4-V_REGCO)) * LIG1 * TYPE1 ;
+LIGRNIDF0 = positif(abs(RNIDF0)) * positif(abs(RNIDF))  * (1-null(4-V_REGCO)) * (1-positif(ANNUL2042)) * LIG1 * TYPE1 ;
+LIGRNIDF1 = positif(abs(RNIDF1)) * positif(abs(RNIDF))  * (1-null(4-V_REGCO)) * (1-positif(ANNUL2042)) * LIG1 * TYPE1 ;
+LIGRNIDF2 = positif(abs(RNIDF2)) * positif(abs(RNIDF))  * (1-null(4-V_REGCO)) * (1-positif(ANNUL2042)) * LIG1 * TYPE1 ;
+LIGRNIDF3 = positif(abs(RNIDF3)) * positif(abs(RNIDF))  * (1-null(4-V_REGCO)) * (1-positif(ANNUL2042)) * LIG1 * TYPE1 ;
+LIGRNIDF4 = positif(abs(RNIDF4)) * positif(abs(RNIDF))  * (1-null(4-V_REGCO)) * (1-positif(ANNUL2042)) * LIG1 * TYPE1 ;
+LIGRNIDF5 = positif(abs(RNIDF5)) * positif(abs(RNIDF))  * (1-null(4-V_REGCO)) * (1-positif(ANNUL2042)) * LIG1 * TYPE1 ;
+regle 1111420:
+application : pro  , oceans, iliad,batch;
+LIGTTPVQ = positif(
+              positif(CARTSV) + positif(CARTSC) + positif(CARTSP1) + positif(CARTSP2)+ positif(CARTSP3)+ positif(CARTSP4)
+           +  positif(REMPLAV) + positif(REMPLAC) + positif(REMPLAP1) + positif(REMPLAP2)+ positif(REMPLAP3)+ positif(REMPLAP4)
+           +  positif(PEBFV) + positif(PEBFC) + positif(PEBF1) + positif(PEBF2)+ positif(PEBF3)+ positif(PEBF4)
+           +  positif(CARPEV) + positif(CARPEC) + positif(CARPEP1) + positif(CARPEP2)+ positif(CARPEP3)+ positif(CARPEP4)
+           +  positif(PENSALV) + positif(PENSALC) + positif(PENSALP1) + positif(PENSALP2)+ positif(PENSALP3)+ positif(PENSALP4)
+           +  positif(RENTAX) + positif(RENTAX5) + positif(RENTAX6) + positif(RENTAX7)
+           +  positif(REVACT) + positif(REVPEA) + positif(PROVIE) + positif(DISQUO) + positif(RESTUC) + positif(INTERE)
+           +  positif(FONCI) + positif(REAMOR)
+           +  positif(4BACREV) + positif(4BACREC)+positif(4BACREP)+positif(4BAHREV)+positif(4BAHREC)+positif(4BAHREP)
+           +  positif(GLD1V) + positif(GLD1C)+positif(GLD2V)+positif(GLD2V)+positif(GLD3V)+positif(GLD3V)
+                  ) * LIG1  * (1-positif(ANNUL2042)) *(1-null(4-V_REGCO))* TYPE1 ;
+
+regle 111721:
+application : batch,pro  , oceans, iliad;
+LIG1430 = positif(BPTP3) * LIG0  * (1-positif(ANNUL2042)) * TYPE2 ;
+
+LIG1431 = positif(BPTP18) * LIG0  * (1-positif(ANNUL2042)) * TYPE2 ;
+
+LIG1432 = positif(BPTP19) * LIG0  * (1 - positif(ANNUL2042)) * TYPE2 ;
+regle 111722:
+application : batch,pro  , oceans, iliad;
+LIG815 = V_EAD * positif(BPTPD) * LIG0  * (1-positif(ANNUL2042)) * TYPE2;
+LIG816 = V_EAG * positif(BPTPG) * LIG0  * (1-positif(ANNUL2042)) * TYPE2;
+LIGTXF225 = positif(PEA+0) * LIG0  * (1-positif(ANNUL2042)) * TYPE2;
+LIGTXF30 = positif_ou_nul(BPCOPT) * LIG0  * (1-positif(ANNUL2042)) * TYPE2;
+LIGTXF40 = positif(BPV40+0) * LIG0  * (1-positif(ANNUL2042)) * TYPE2;
+
+regle 111723:
+application : pro, batch, oceans, iliad ;
+
+LIGCESDOM = positif( positif(BPTPDIV) * positif(V_EAD + 0) * LIG0  * (1-positif(ANNUL2042)) * TYPE2 ) ;
+LIGCESDOMG = positif( positif(BPTPDIV) * positif(V_EAG + 0) * LIG0  * (1-positif(ANNUL2042)) * TYPE2 ) ;
+
+regle 11181:
+application : batch,pro  , oceans, iliad;
+LIG81 = positif(present(RDDOUP) + present(RDFDOU) + present(DONAUTRE) + present(REPDON03) 
+		+ present(REPDON04) + present(REPDON05) + present(REPDON06) + present(REPDON07))
+               * LIG1 * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 1111500:
+application : pro  , oceans, iliad, batch ;
+
+LIG1500 = positif((positif(IPMOND) * present(IPTEFP)) + positif(INDTEFF) * positif(TEFFREVTOT)) 
+	      * ((V_REGCO+0) dans (1,3,5,6)) * (1-positif(ANNUL2042)) * LIG1 * TYPE1;
+
+LIG1510 = positif((positif(IPMOND) * present(IPTEFN)) + positif(INDTEFF) * (1-positif(TEFFREVTOT))) 
+	      * ((V_REGCO+0) dans (1,3,5,6)) * (1-positif(ANNUL2042)) * LIG1 * TYPE1;
+
+regle 1111522:
+application : pro, oceans, iliad, batch ;
+LIG1522 = (1-present(IND_TDR))* (1 - INDTXMIN)*(1 - INDTXMOY) * V_CR2  * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 1111523:
+application : batch,pro  , oceans, iliad;
+LIG1523 = (1-present(IND_TDR)) * null(V_REGCO - 4) * (1-positif(ANNUL2042)) * TYPE4 ;
+regle 11175:
+application : pro, oceans, iliad, batch ;
+LIG75 = (1 - INDTXMIN) * (1 - INDTXMOY) * (1-LIG1500)*(1-LIG1510) 
+        * INDREV1A8  * (1-positif(ANNUL2042)) * TYPE3;
+LIG1545 = (1-present(IND_TDR))*INDTXMIN  * positif(IND_REV) * (1-positif(ANNUL2042)) * TYPE3;
+LIG1760 = (1-present(IND_TDR))*INDTXMOY  * (1-positif(ANNUL2042)) * TYPE3;
+LIG1546 = positif(PRODOM + PROGUY) * (1-positif(V_EAD + V_EAG)) * (1-positif(ANNUL2042)) * TYPE4;
+LIG1550 = (1-present(IND_TDR))*INDTXMOY  * (1-positif(ANNUL2042)) * TYPE3;
+LIG74 = (1-present(IND_TDR))*(1 - INDTXMIN) * positif(LIG1500+LIG1510) 
+         * (1-positif(ANNUL2042)) * TYPE3;
+regle 11180:
+application : batch,pro, oceans, iliad ;
+LIG80 = positif(present(RDREP) + present(RDFREP) + present(DONETRAN) + present(RDFDONETR)) 
+        * LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 11182:
+application : batch,pro  , oceans, iliad;
+LIG82 = positif(present(RDSYVO) + present(RDSYCJ) + present(RDSYPP) +
+	    present(COSBV) + present(COSBC) + present(COSBP))
+	* LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 11188:
+application : pro  , oceans, iliad, batch;
+LIGRSOCREPR = positif( present(RSOCREPRISE))
+        * LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 1111740:
+application : batch,pro  , oceans, iliad;
+LIG1740 = positif(RECOMP)
+         * (1-positif(ANNUL2042)) * TYPE2 ;
+regle 1111780:
+application : batch,pro  , oceans, iliad;
+LIG1780 = positif(RDCOM + NBACT) * LIG1  * (1-positif(ANNUL2042)) * TYPE1;
+regle 111981:
+application : batch,pro  , oceans, iliad;
+LIG98B = positif(LIG80 + LIG82 + LIGFIPC + LIGFIPDOM + present(DAIDE)
+                 + LIGREDAGRI + LIGFORET + LIGRESTIMO + LIGPECHE 
+	         + LIGCINE + LIGTITPRISE + LIGRSOCREPR + LIGCOTFOR 
+	         + present(PRESCOMP2000) + present(RDPRESREPORT) + present(FCPI) 
+		 + present(DSOUFIP) + LIGRIRENOV + present(DFOREST) 
+		 + present(DHEBE) + present(DPATNAT) + present(DSURV)
+	         + LIGLOGDOM + LIGACHTOUR  
+	         + LIGTRATOUR + LIGLOGRES + LIGREPTOUR + LIGLOCHOTR
+	         + LIGREPHA + LIGCREAT + LIG1780 + LIG2040 + LIG81 + LIGLOGSOC
+	         + LIGDOMSOC1 
+		 + LIGCELLA + LIGCELLB + LIGCELLC + LIGCELHS + LIGCELHR + LIGCELHU
+		 + LIGCELHT + LIGCELHZ + LIGCELHX + LIGCELHW + LIGCELHV + LIGCELHM
+		 + LIGCELHL +LIGCELHNO + LIGCELHJK + LIGCELNQ + LIGCELCOM + LIGCELNBGL
+		 + LIGCEL
+		 + LIGREDMEUB + LIGREDREP + LIGINVRED + LIGMEUBLE + LIGPROREP
+		 + LIGREPNPRO + LIGMEUREP + LIGRESIMEUB + LIGRESINEUV + LIGRESIVIEU   
+		 + present(DNOUV) + LIGLOCENT + LIGCOLENT + LIGRIDOMPRO) 
+           * LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 1111820:
+application : pro , batch , oceans, iliad ;
+
+LIG1820 = positif(ABADO + ABAGU + RECOMP) * (1 - positif(ANNUL2042)) * TYPE2 ;
+
+regle 111106:
+application : oceans , iliad , pro , batch ;
+LIG106 = TYPE2 * positif(RETIR);
+LIGINRTAX = TYPE2 * positif(RETTAXA);
+LIG10622 = TYPE2 * positif(RETIR22);
+LIGINRTAX22 = TYPE2 * positif(RETTAXA22);
+ZIG_INT22 = TYPE2 * positif(RETCS22+RETPS22+RETRD22+RETGAIN22) ;
+ZIGSAL22 = positif(RETCSAL22) * TYPE2 ;
+ZIGINT22 = positif(RETCDIS22) * TYPE2 ;
+
+LIGINRPCAP = positif(positif(RETPCAP) * TYPE2) ;
+LIGINRPCAP2 = positif(positif(RETPCAP22) * TYPE2) ;
+
+LIGINRHAUT = positif(positif(RETHAUTREV) * TYPE2) ;
+LIGINRHAUT2 = positif(positif(RETCHR22) * TYPE2) ;
+regle 111107:
+application : oceans, iliad, pro,batch;
+
+LIG_172810 = TYPE2 * positif(NMAJ1) ;
+
+LIGTAXA17281 = TYPE2 * positif(NMAJTAXA1) ;
+
+LIGPCAP17281 = TYPE2 * positif(NMAJPCAP1) ;
+
+LIGCHR17281 = TYPE2 * positif(NMAJCHR1) ;
+
+LIG_NMAJ1 = TYPE2 * positif(NMAJ1) ;
+LIG_NMAJ3 = TYPE2 * positif(NMAJ3) ;
+LIG_NMAJ4 = TYPE2 * positif(NMAJ4) ;
+
+LIGNMAJTAXA1 = TYPE2 * positif(NMAJTAXA1) ;
+LIGNMAJTAXA3 = TYPE2 * positif(NMAJTAXA3) ;
+LIGNMAJTAXA4 = TYPE2 * positif(NMAJTAXA4) ;
+
+LIGNMAJPCAP1 = TYPE2 * positif(NMAJPCAP1) ;
+LIGNMAJPCAP3 = TYPE2 * positif(NMAJPCAP3) ;
+LIGNMAJPCAP4 = TYPE2 * positif(NMAJPCAP4) ;
+
+LIGNMAJCHR1 = TYPE2 * positif(NMAJCHR1) ;
+LIGNMAJCHR3 = TYPE2 * positif(NMAJCHR3) ;
+LIGNMAJCHR4 = TYPE2 * positif(NMAJCHR4) ;
+
+regle 111109:
+application : batch,pro  , oceans, iliad;
+LIG109 = positif(IPSOUR + REGCI + LIGPVETR + LIGCULTURE + LIGMECENAT 
+		  + LIGCORSE + LIG2305 
+		  + LIGBPLIB + LIGCIGE + LIGDEVDUR + LIGDDUBAIL
+                  + LIGVEHICULE + LIGVEACQ + LIGVEDESTR + LIGCICA + LIGCIGARD
+		  + LIGPRETUD + LIGSALDOM + LIGHABPRIN
+		  + LIGCREFAM + LIGCREAPP + LIGCREBIO + LIGCREPROSP + LIGINTER
+		  + LIGCRETECH + LIGRESTAU + LIGRESERV + LIGCONGA + LIGMETART 
+		  + LIGCREFORM + LIGLOYIMP + LIGMOBIL + LIGJEUNE
+		  + LIGVERSLIB + LIGCITEC + LIGTABAC
+		  + LIGPPEVCP + LIGPPEV + LIGPPEC + LIGPPEP 
+		  + LIGPPEVP + LIGPPEVC + LIGPPECP 
+		   ) 
+               * LIG1 * (1 - positif(ANNUL2042)) * TYPE3 ;
+LIG109BIS = positif(IPSOUR + REGCI + LIGPVETR + LIGCULTURE + LIGMECENAT 
+		  + LIGCORSE + LIG2305 
+		  + LIGBPLIB + LIGCIGE + LIGDEVDUR + LIGDDUBAIL
+                  + LIGVEHICULE + LIGVEACQ + LIGVEDESTR + LIGCICA + LIGCIGARD
+		  + LIGPRETUD + LIGSALDOM + LIGHABPRIN
+		  + LIGCREFAM + LIGCREAPP + LIGCREBIO + LIGCREPROSP + LIGINTER
+		  + LIGCRETECH + LIGRESTAU + LIGRESERV + LIGCONGA + LIGMETART 
+		  + LIGCREFORM + LIGLOYIMP + LIGMOBIL + LIGJEUNE
+		  + LIGVERSLIB + LIGCITEC + LIGTABAC
+		   ) 
+               * LIG1 * (1 - positif(ANNUL2042)) * TYPE3 ;
+
+LIGCRED1 = LIG109BIS * positif(REGCI + LIGPVETR + 0) ;
+
+LIGCRED2 = LIG109BIS * (1 - positif(REGCI + LIGPVETR + 0)) ;
+
+regle 1112030:
+application : batch,pro, oceans, iliad ;
+LIGNRBASE = positif(present(NRINET) + present(NRBASE)) * LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+LIGBASRET = positif(present(IMPRET) + present(BASRET)) * LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 1112332:
+application : pro, oceans, iliad, batch ;
+LIGAVFISC = positif(AVFISCOPTER) * LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 1112040:
+application : batch,pro  , oceans, iliad;
+LIG2040 = positif(DNBE + RNBE + RRETU) * LIG1  * (1-positif(ANNUL2042)) * TYPE1 ;
+regle 1112041:
+application : pro, oceans, iliad, batch ;
+LIGRDCSG = positif(positif(V_BTCSGDED)+present(DCSG)+present(RCMSOC)) * LIG1 *(1-positif(ANNUL2042)) * TYPE1  ;
+regle 111973:
+application : pro  , oceans, iliad, batch;
+LIG2305 = positif(DIAVF2)  * (1-positif(ANNUL2042)) * LIG1 * TYPE1 ;
+LIGCIGE = positif(RDTECH + RDGEQ + RDEQPAHA) * LIG1  * (1-positif(ANNUL2042)) * TYPE1;
+regle 111117:
+application : batch,pro  , oceans, iliad;
+LIG_IRNET = TYPE1 * (1 - positif(V_NOTRAIT - 20)) 
+	    + positif(V_NOTRAIT - 20) * positif(ANTIRAFF + TAXANET + PCAPNET + HAUTREVNET + TAXANTAFF + PCAPANTAFF + HAUTREVANTAF) ;
+regle 1112135:
+application : batch,pro  , oceans, iliad;
+LIGANNUL = positif(ANNUL2042)  * TYPE1;
+regle 1112050:
+application : batch,iliad , oceans;
+LIG2053 = positif(V_NOTRAIT-20) * positif(IDEGR)*
+          positif(IREST-SEUIL_REMBCP) *TYPE2 ;
+LIG2051 = (1 - positif(20 - V_NOTRAIT))
+          * positif (RECUMBIS)
+          *TYPE1 ;
+
+LIG2052 = (
+	   APPLI_ILIAD * (1 - positif(20 - V_NOTRAIT)) * positif(V_ANTIR + LIG_IRNET)
+           + APPLI_OCEANS * positif(ANTIRAFF + LIG_IRNET)
+	  ) * (1 - positif(LIG2051)) * TYPE2 ;
+
+LIGTAXANT = (
+	     APPLI_ILIAD * (1 - positif(20 - V_NOTRAIT)) * positif(V_TAXANT + LIGTAXANET * positif(TAXANET))
+             + APPLI_OCEANS * positif (TAXANTAFF + LIGTAXANET * positif(TAXANET))
+            ) * (1 - positif(LIG2051)) * TYPE2 ;
+
+LIGPCAPANT = (
+	      APPLI_ILIAD * (1 - positif(20 - V_NOTRAIT)) * positif(V_PCAPANT + LIGPCAPNET * positif(PCAPNET))
+              + APPLI_OCEANS * positif (PCAPANTAFF + LIGPCAPNET * positif(PCAPNET))
+             ) * (1 - positif(LIG2051)) * TYPE2 ;
+
+LIGHAUTANT = (
+	      APPLI_ILIAD * (1 - positif(20 - V_NOTRAIT)) * positif(V_CHRANT + LIGHAUTNET * positif(HAUTREVNET))
+              + APPLI_OCEANS * positif (HAUTREVANTAF + LIGHAUTNET * positif(HAUTREVNET))
+             ) * (1 - positif(LIG2051)) * TYPE2 ;
+
+regle 1112080:
+application : batch,pro, oceans, iliad ;
+
+LIG2080 = positif(NATIMP - 71) * (1-positif(ANNUL2042)) * TYPE1 ;
+
+regle 1112081:
+application : batch,pro, oceans, iliad ;
+
+LIGTAXADEG = positif(NATIMP - 71) * positif(TAXADEG) * (1-positif(ANNUL2042)) * TYPE1 ;
+
+LIGPCAPDEG = positif(NATIMP - 71) * positif(PCAPDEG) * (1-positif(ANNUL2042)) * TYPE1 ;
+
+LIGHAUTDEG = positif(NATIMP - 71) * positif(HAUTREVDEG) * (1-positif(ANNUL2042)) * TYPE1 ;
+
+regle 1112140:
+application : pro , oceans, iliad,batch;
+INDCTX = si (  (V_NOTRAIT+0 = 23)  
+            ou (V_NOTRAIT+0 = 33)   
+            ou (V_NOTRAIT+0 = 43)   
+            ou (V_NOTRAIT+0 = 53)   
+            ou (V_NOTRAIT+0 = 63)  
+            )
+         alors (1)
+         sinon (0)
+         finsi;
+
+INDIS = si (  (V_NOTRAIT+0 = 14)
+            ou (V_NOTRAIT+0 = 16)
+	    ou (V_NOTRAIT+0 = 26)
+	    ou (V_NOTRAIT+0 = 36)
+	    ou (V_NOTRAIT+0 = 46)
+	    ou (V_NOTRAIT+0 = 56)
+	    ou (V_NOTRAIT+0 = 66)
+           )
+        alors (1)
+        sinon (0)
+	finsi;
+
+
+LIG2140 = si (( ((V_CR2+0=0) et NATIMP=1 et (IRNET + TAXANET + PCAPNET + HAUTREVNET + NRINET - NAPTOTA >= SEUIL_REC_CP)) 
+		ou ((V_CR2+0=1) et (NATIMP=1 ou  NATIMP=0)))
+		et LIG2141 + 0 = 0
+		)
+          alors ((((1 - INDCTX) * INDREV1A8 * (1 - (positif(IRANT)*null(NAPT)) ) * (1-positif(ANNUL2042)) * TYPE3)
+                + null(IINET + NAPTOTA) * null(INDREV1A8)) * positif(IND_REV))
+          finsi;
+
+LIG21401 = si (( ((V_CR2+0=0) et NATIMP=1 et (IRNET + TAXANET + PCAPNET + HAUTREVNET + NRINET - NAPTOTA >= SEUIL_REC_CP)) 
+		ou ((V_CR2+0=1) et (NATIMP=1 ou  NATIMP=0)))
+		et LIG2141 + 0 = 0
+		)
+           alors ((((1 - INDCTX) * INDREV1A8 * (1 - (positif(IRANT)*null(NAPT)) ) * (1-positif(ANNUL2042)) * TYPE3)
+                + null(IINET + NAPTOTA) * null(INDREV1A8)) * positif(IND_REV) * positif(20 - V_NOTRAIT))
+           finsi ;
+
+LIG21402 = si (( ((V_CR2+0=0) et NATIMP=1 et (IRNET + TAXANET + PCAPNET + HAUTREVNET + NRINET - NAPTOTA >= SEUIL_REC_CP)) 
+		ou ((V_CR2+0=1) et (NATIMP=1 ou  NATIMP=0)))
+		et LIG2141 + 0 = 0
+		)
+           alors ((((1 - INDCTX) * INDREV1A8 * (1 - (positif(IRANT)*null(NAPT)) ) * (1-positif(ANNUL2042)) * TYPE3)
+                + null(IINET + NAPTOTA) * null(INDREV1A8)) * positif(IND_REV) * positif(V_NOTRAIT - 20))
+           finsi ;
+
+regle 112141:
+application : batch, pro , oceans, iliad;
+
+LIG2141 = positif(null(IAN + RPEN - IAVT + TAXASSUR + IPCAPTAXT + IHAUTREVT - IRANT) 
+                  * positif(IRANT)
+                  * (1 - positif(LIG2501))
+		  * null(V_IND_TRAIT - 4)
+		  * (1 - positif(NRINET + 0)) * TYPE4) ;
+
+regle 112145:
+application : batch, pro , oceans, iliad;
+LIGNETAREC = positif (IINET)  * positif(ANNUL2042) * TYPE2 ;
+regle 1112150:
+application : pro , oceans , iliad , batch ;
+
+LIG2150 = (1 - INDCTX) 
+	 * positif(IREST)
+         * (1 - positif(LIG2140))
+         * (1 - positif(IND_REST50))
+         * (1-positif(ANNUL2042)) * TYPE2 ;
+
+regle 1112160:
+application : batch,pro , oceans , iliad ;
+
+LIG2161 =  INDCTX 
+	  * positif(IREST) 
+          * positif_ou_nul(IREST - SEUIL_REMBCP) 
+	  * (1 - positif(IND_REST50)) ;
+
+
+LIG2368 = INDCTX 
+	 * positif(IREST)
+         * positif ( positif(IND_REST50)
+                     + positif(IDEGR) )
+           ;
+
+regle 1112171:
+application : batch , pro , oceans , iliad ;
+
+LIG2171 = (1 - INDCTX) 
+	 * positif(IREST)
+	 * (1 - positif(LIG2140))
+         * positif(IND_REST50)  
+	 * (1-positif(ANNUL2042)) * TYPE4 ;
+
+regle 11121710:
+application : batch,oceans,pro , iliad ;
+
+LIGTROP = positif(V_ANTRE) * null(IINET)* positif_ou_nul(abs(NAPTOTA)
+             - IRESTIT - IRANT) * (1 - positif_ou_nul(abs(NAPTOTA) - IRESTIT
+             - IRANT - SEUIL_REC_CP))
+               * null(IDRS2 - IDEC + IREP)
+               * (1 - INDCTX);
+
+LIGTROPREST =  positif(V_ANTRE) * null(IINET)* positif_ou_nul(abs(NAPTOTA) 
+               - IRESTIT - IRANT) * (1 - positif_ou_nul(abs(NAPTOTA) - IRESTIT
+               - IRANT - SEUIL_REC_CP))
+		 * (1 - positif(LIGTROP))
+                 * (1 - INDCTX);
+
+regle 1113210:
+application : batch,pro , oceans , iliad ;
+
+LIGRESINF50 = positif (
+              positif(IND_REST50) * positif(IREST) 
+              + ( positif(IDEGR) 
+                 * (1 - positif_ou_nul(IDEGR - SEUIL_REMBCP)) )
+                      )  *  TYPE4 ;
+regle 1112200:
+application : batch,pro , oceans , iliad ;
+LIG2200 = (positif(IDEGR) 
+         * positif_ou_nul(IDEGR - SEUIL_REMBCP)  * TYPE2);
+
+regle 1112205:
+application : batch,pro , oceans, iliad;
+LIG2205 = positif(IDEGR) 
+         * (1 - positif_ou_nul(IDEGR - SEUIL_REMBCP))  * (1-positif(ANNUL2042)) * TYPE2 ;
+
+regle 1112301:
+application : batch, pro , oceans, iliad;
+IND_NIRED = si ((CODINI=3 ou CODINI=5 ou CODINI=13)
+               et (IAVIM - TAXASSUR + IPCAPTAXT + IHAUTREVT ) = 0 
+                   et  V_CR2 = 0)
+          alors (1 - INDCTX) 
+          finsi;
+regle 1112905:
+application : batch, pro , oceans, iliad;
+IND_IRNMR = si (CODINI=8 et NATIMP=0 et V_CR2 = 0)
+          alors (1 - INDCTX)  
+          finsi;
+regle 1112310:
+application : batch, pro , oceans, iliad;
+
+ 
+IND_IRINF80 = si ( ((CODINI+0=9 et NATIMP+0=0) ou (CODINI +0= 99))
+                  et V_CR2=0 
+                  et  (IRNET +TAXASSUR + IPCAPTAXT + IHAUTREVT  < SEUIL_REC_CP)
+                  et  (IAVIM >= SEUIL_PERCEP))
+              alors ((1 - positif(INDCTX)) * (1 - positif(IREST))) 
+              finsi;
+
+
+regle 11123101:
+application : batch, pro , oceans,iliad;
+
+LIGNIIR = positif(
+	   positif ( positif(NIAMENDE) 
+                      * positif(IINET - LIM_AMENDE + 1)
+                      * INDREV1A8* (1 - V_CR2)
+
+                     + null(IRNETBIS)
+                      * null(NRINET + 0)
+                    )
+           *  null(NATIMP +0)
+           * null(TAXANET + PCAPNET + HAUTREVNET + 0)
+           * (1 - positif(IREP))
+           * (1 - positif(IPROP))
+           * (1 - positif(IRESTIT))
+           * (1 - positif(IDEGR))
+           * (1 - positif(LIGIDB))
+           * (1 - positif(LIGNIRI))
+           * (1 - positif(LIG80F))
+           * (1 - positif(LIG400RI))
+           * (1 - positif(LIG400F))
+           * (1 - positif(LIGAUCUN))
+           * (1 - positif(LIG2141))
+           * (1 - positif(LIG2501))
+           * (1 - positif(LIG8FV))
+           * (1 - positif(LIGAMEND))
+           * (1 - positif(LIGNIDB))
+           * (1 - null(V_REGCO-2 +0))
+	   * (1 - positif(LIGTROP))
+	   * (1 - positif(LIGTROPREST))
+	   * (1 - positif(IMPRET))
+	   * positif(20 - V_NOTRAIT)
+           * (1-positif(ANNUL2042)) * TYPE4 );
+
+LIGNIIRDEG = positif( 
+           null(IDRS3 - IDEC)
+	   * null(IBM23)
+           * (1 - V_CR2)
+           * null(TAXASSUR + IPCAPTAXT + IHAUTREVT)
+           * (1 - null(V_REGCO-2))
+	   * (1 - positif(LIGTROP))
+	   * (1 - positif(LIGTROPREST))
+	   * (1 - positif(IMPRET - SEUIL_REC_CP))
+	   * positif(V_NOTRAIT - 20)
+	   * (1 - positif(INDCTX))
+           * (1-positif(ANNUL2042)) * TYPE4 ) ;
+
+regle 11123102:
+application : batch, pro , oceans,iliad;
+
+
+LIGCBAIL = positif(
+	     positif(TAXANET + PCAPNET + HAUTREVNET)
+           * positif(NAPT)
+           * null(INDNIRI) * (1 - positif(IBM23))
+           * positif_ou_nul(IINET-SEUIL_REC_CP)
+	   * (1 - positif(LIGNIDB))
+           * positif(1 - null(2-V_REGCO)) * INDREV1A8
+           * (1 - null(V_REGCO-2))
+	   * (1 - positif(LIGTROP))
+	   * (1 - positif(LIGTROPREST))
+	   * (1 - positif(IMPRET))
+	   * positif(20 - V_NOTRAIT)
+           * (1-positif(ANNUL2042)) * TYPE4 );
+                       
+LIGNITSUP = positif(
+	     positif_ou_nul(TAXASSUR + IPCAPTAXT + IHAUTREVT - SEUIL_PERCEP)
+           * null(IDRS2-IDEC+IREP)
+           * positif_ou_nul(TAXANET + PCAPNET + HAUTREVNET - SEUIL_REC_CP)
+	   * (1 - positif(LIG0TSUP))
+           * (1 - null(V_REGCO-2))
+	   * (1 - positif(LIGTROP))
+	   * (1 - positif(LIGTROPREST))
+	   * positif(V_NOTRAIT - 20)
+	   * (1 - positif(INDCTX))
+           * (1-positif(ANNUL2042)) * TYPE4 );
+                       
+LIGNITDEG = positif(
+	     positif(TAXANET + PCAPNET + HAUTREVNET)
+           * positif_ou_nul(IRB2 - SEUIL_PERCEP)
+           * positif_ou_nul(TAXANET + PCAPNET + HAUTREVNET - SEUIL_REC_CP)
+           * null(INDNIRI) * (1 - positif(IBM23))
+           * positif(1 - null(2-V_REGCO)) * INDREV1A8
+           * (1 - null(V_REGCO-2))
+	   * (1 - positif(LIGTROP))
+	   * (1 - positif(LIGTROPREST))
+	   * (1 - positif(IMPRET))
+	   * positif(INDCTX)
+           * (1-positif(ANNUL2042)) * TYPE4 );
+                       
+regle 11123103:
+application : batch, pro , oceans,iliad;
+
+
+
+
+LIGNIDB = positif(
+	 (null( IDOM11 - DEC11)
+        * null(NAPT)
+        * positif (TAXASSUR + IPCAPTAXT + IHAUTREVT)
+        * positif(SEUIL_PERCEP - TAXASSUR) 
+	* positif(SEUIL_PERCEP - IPCAPTAXT) 
+	* positif(SEUIL_PERCEP - IHAUTREVT)
+        * null(IRNETBIS)
+	* null(IRB)
+        * (1 - null(V_REGCO-2))
+        * (1 - positif(LIG80F))
+        * (1 - positif(LIG400RI))
+	* (1 - positif(LIGTROP))
+	* (1 - positif(LIGTROPREST))
+	* (1 - positif(IMPRET))
+	* positif(20 - V_NOTRAIT)
+        + 0)
+ * (1-positif(ANNUL2042)) * TYPE4) ;  
+
+LIGNI61SUP 
\ No newline at end of file
diff --git a/sources2011m_9_6/chap-cinr.m b/sources2011m_9_6/chap-cinr.m
new file mode 100644
index 0000000000000000000000000000000000000000..4619c5464d89120f88accb56780d30d2dcf9133f
--- /dev/null
+++ b/sources2011m_9_6/chap-cinr.m
@@ -0,0 +1,827 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle corrective base_HR 1311:
+application :  oceans, iliad ;
+IRNIN_R99R = max(0,max(IRNIN_INR,IRNIN_PA-ACODELAISINR))*positif(IND_PASSAGE-1);
+CSG_R99R = max(0,max(CSG*CSREC,CSG_PA))*positif(IND_PASSAGE-1);
+RDS_R99R = max(0,max(RDSN*CSREC,CRDS_PA))*positif(IND_PASSAGE-1);
+PRS_R99R = max(0,max(PRS*CSREC,PRS_PA))*positif(IND_PASSAGE-1);
+CSAL_R99R = max(0,max(CSAL*CSREC,CSAL_PA))*positif(IND_PASSAGE-1);
+CDIS_R99R = max(0,max(CDIS*CSREC,CDIS_PA))*positif(IND_PASSAGE-1);
+TAXA_R99R = max(0,max(TAXABASE,TAXA_PA))*positif(IND_PASSAGE-1);
+ISF_R99R = max(0,max(ISF4BASE,ISF_PA))*positif(IND_PASSAGE-1);
+CHR_R99R = max(0,max(CHRBASE,CHR_PA))*positif(IND_PASSAGE-1);
+PCAP_R99R = max(0,max(PCAPBASE,PCAP_PA))*positif(IND_PASSAGE-1);
+GAIN_R99R = max(0,max(GAINBASE,GAIN_PA))*positif(IND_PASSAGE-1);
+RSE1_R99R = max(0,max(RSE1BASE,RSE1_PA))*positif(IND_PASSAGE-1);
+RSE2_R99R = max(0,max(RSE2BASE,RSE2_PA))*positif(IND_PASSAGE-1);
+RSE3_R99R = max(0,max(RSE3BASE,RSE3_PA))*positif(IND_PASSAGE-1);
+RSE4_R99R = max(0,max(RSE4BASE,RSE4_PA))*positif(IND_PASSAGE-1);
+regle corrective base_inr_r9901 1313:
+application :  oceans, iliad ;
+IRNIN_R9901 = max(0,max(IRNIN_INR,IRNIN_INR_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(IRNIN_INR,IRNIN_PA-ACODELAISINR))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             + IRNIN_R9901_A;
+CSG_R9901 = max(0,max(CSG*CSREC,CSG_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CSG*CSREC,CSG_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CSG_R9901_A;
+RDS_R9901 = max(0,max(RDSN*CSREC,RDS_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RDSN*CSREC,CRDS_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RDS_R9901_A;
+PRS_R9901 = max(0,max(PRS*CSREC,PRS_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(PRS*CSREC,PRS_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +PRS_R9901_A;
+CSAL_R9901 = max(0,max(CSALBASE*CSREC,CSAL_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CSALBASE*CSREC,CSAL_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CSAL_R9901_A;
+CDIS_R9901 = max(0,max(CDISBASE*CSREC,CDIS_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CDISBASE*CSREC,CDIS_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CDIS_R9901_A;
+TAXA_R9901 = max(0,max(TAXABASE,TAXA_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(TAXABASE,TAXA_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +TAXA_R9901_A;
+ISF_R9901 = max(0,max(ISF4BASE,ISF_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+	     + max(0,max(ISF4BASE,ISF_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +ISF_R9901_A;
+CHR_R9901 = max(0,max(CHRBASE,CHR_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CHRBASE,CHR_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CHR_R9901_A;
+PCAP_R9901 = max(0,max(PCAPBASE,PCAP_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(PCAPBASE,PCAP_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +PCAP_R9901_A;
+GAIN_R9901 = max(0,max(GAINBASE,GAIN_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(GAINBASE,GAIN_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +GAIN_R9901_A;
+RSE1_R9901 = max(0,max(RSE1BASE,RSE1_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE1BASE,RSE1_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE1_R9901_A;
+RSE2_R9901 = max(0,max(RSE2BASE,RSE2_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE2BASE,RSE2_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE2_R9901_A;
+RSE3_R9901 = max(0,max(RSE3BASE,RSE3_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE3BASE,RSE3_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE3_R9901_A;
+RSE4_R9901 = max(0,max(RSE4BASE,RSE4_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE4BASE,RSE4_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE4_R9901_A;
+regle corrective base_inr_pri 1312:
+application :  oceans, iliad ;
+IRNIN_PRECT = max(0,IRNIN_INR);
+CSG_PRECT = max(0,CSG*CSREC);
+RDS_PRECT = max(0,RDSN*CSREC);
+PRS_PRECT = max(0,PRS*CSREC);
+CSAL_PRECT = max(0,CSALBASE*CSREC);
+CDIS_PRECT = max(0,CDISBASE*CSREC);
+TAXA_PRECT = max(0,TAXABASE);
+ISF_PRECT = max(0,ISF4BASE);
+CHR_PRECT = max(0,CHRBASE);
+PCAP_PRECT = max(0,PCAPBASE);
+GAIN_PRECT = max(0,GAINBASE);
+RSE1_PRECT = max(0,RSE1BASE);
+RSE2_PRECT = max(0,RSE2BASE);
+RSE3_PRECT = max(0,RSE3BASE);
+RSE4_PRECT = max(0,RSE4BASE);
+regle corrective base_inr_ref 1300:
+application :  oceans, iliad ;
+IRNIN_REFP = max(0,max(IRNIN_INR,(IRNIN_P*(1-FLAG_PRIM*FLAG_9YT)+(IRNIN_PA-ACODELAISINR))));
+CSG_REFP = max(0,max(CSG*CSRECINR,(CSG_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CSG_PA)));
+RDS_REFP = max(0,max(RDSN*CSRECINR,(RDS_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CRDS_PA)));
+PRS_REFP = max(0,max(PRS*CSRECINR,(PRS_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+PRS_PA)));
+CSAL_REFP = max(0,max(CSALBASE*CSRECINR,(CSAL_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CSAL_PA)));
+CDIS_REFP = max(0,max(CDISBASE*CSRECINR,(CDIS_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CDIS_PA)));
+TAXA_REFP = max(0,max(TAXABASE,TAXA_P*(1-FLAG_PRIM*FLAG_9YT)+TAXA_PA));
+CHR_REFP = max(0,max(CHRBASE,CHR_P*(1-FLAG_PRIM*FLAG_9YT)+CHR_PA));
+PCAP_REFP = max(0,max(PCAPBASE,PCAP_P*(1-FLAG_PRIM*FLAG_9YT)+PCAP_PA));
+GAIN_REFP = max(0,max(GAINBASE,GAIN_P*(1-FLAG_PRIM*FLAG_9YT)+GAIN_PA));
+RSE1_REFP = max(0,max(RSE1BASE,RSE1_P*(1-FLAG_PRIM*FLAG_9YT)+RSE1_PA));
+RSE2_REFP = max(0,max(RSE2BASE,RSE2_P*(1-FLAG_PRIM*FLAG_9YT)+RSE2_PA));
+RSE3_REFP = max(0,max(RSE3BASE,RSE3_P*(1-FLAG_PRIM*FLAG_9YT)+RSE3_PA));
+RSE4_REFP = max(0,max(RSE4BASE,RSE4_P*(1-FLAG_PRIM*FLAG_9YT)+RSE4_PA));
+IRNIN_REF= max(IRNIN_REFP,max(IRNIN_REF_A-ACODELAISINR,IRNIN_INR_A-ACODELAISINR));
+CSG_REF= max(CSG_REFP,max(CSG_REF_A*CSRECA,CSG_A*CSRECA));
+RDS_REF= max(RDS_REFP,max(RDS_REF_A*CSRECA,RDS_A*CSRECA));
+PRS_REF= max(PRS_REFP,max(PRS_REF_A*CSRECA,PRS_A*CSRECA));
+CSAL_REF= max(CSAL_REFP,max(CSAL_REF_A*CSRECA,CSAL_A*CSRECA));
+CDIS_REF= max(CDIS_REFP,max(CDIS_REF_A*CSRECA,CDIS_A*CSRECA));
+TAXA_REF= max(TAXA_REFP,max(TAXA_REF_A,TAXABASE_A));
+CHR_REF= max(CHR_REFP,max(CHR_REF_A,CHRBASE_A));
+PCAP_REF= max(PCAP_REFP,max(PCAP_REF_A,PCAPBASE_A));
+GAIN_REF= max(GAIN_REFP,max(GAIN_REF_A,GAINBASE_A));
+RSE1_REF= max(RSE1_REFP,max(RSE1_REF_A,RSE1BASE_A));
+RSE2_REF= max(RSE2_REFP,max(RSE2_REF_A,RSE2BASE_A));
+RSE3_REF= max(RSE3_REFP,max(RSE3_REF_A,RSE3BASE_A));
+RSE4_REF= max(RSE4_REFP,max(RSE4_REF_A,RSE4BASE_A));
+IRNIN_RECT=IRNIN_INR;
+IRNIN_R = IRNIN_REF_A;
+INDFLAGCIR = positif(FLAG_C02+FLAG_C22) * positif(IRNIN_REF_A);
+INDFLAGCCSG = positif(FLAG_C02+FLAG_C22) * positif(CSG_REF_A);
+RDS_R = RDS_REF_A;
+INDFLAGCRDS = positif(FLAG_C02+FLAG_C22) * positif(RDS_REF_A);
+PRS_R = PRS_REF_A;
+INDFLAGCPRS = positif(FLAG_C02+FLAG_C22) * positif(PRS_REF_A);
+CSAL_R = CSAL_REF_A;
+INDFLAGCCSAL = positif(FLAG_C02+FLAG_C22) * positif(CSAL_REF_A);
+CDIS_R = CDIS_REF_A;
+INDFLAGCCDIS = positif(FLAG_C02+FLAG_C22) * positif(CDIS_REF_A);
+TAXA_R = TAXA_REF_A;
+INDFLAGCTAXA = positif(FLAG_C02+FLAG_C22) * positif(TAXA_REF_A);
+CHR_R = CHR_REF_A;
+INDFLAGCCHR = positif(FLAG_C02+FLAG_C22) * positif(CHR_REF_A);
+PCAP_R = PCAP_REF_A;
+INDFLAGCPCAP = positif(FLAG_C02+FLAG_C22) * positif(PCAP_REF_A);
+GAIN_R = GAIN_REF_A;
+INDFLAGCGAIN = positif(FLAG_C02+FLAG_C22) * positif(GAIN_REF_A);
+RSE1_R = RSE1_REF_A;
+INDFLAGCRSE1 = positif(FLAG_C02+FLAG_C22) * positif(RSE1_REF_A);
+RSE2_R = RSE2_REF_A;
+INDFLAGCRSE2 = positif(FLAG_C02+FLAG_C22) * positif(RSE2_REF_A);
+RSE3_R = RSE3_REF_A;
+INDFLAGCRSE3 = positif(FLAG_C02+FLAG_C22) * positif(RSE3_REF_A);
+RSE4_R = RSE4_REF_A;
+INDFLAGCRSE4 = positif(FLAG_C02+FLAG_C22) * positif(RSE4_REF_A);
+ISF_REFP = max(0,max(ISF4BASE,ISF_P*(1-FLAG_PRIM*FLAG_9XT)+ISF_PA));
+ISF_REF= max(ISF_REFP,max(ISF_REF_A,ISF4BASE_A));
+ISF_R = ISF_REF_A;
+INDFLAGCISF = positif(FLAG_C02+FLAG_C22) * positif(ISF_REF_A);
+regle corrective base_inr_ntl 1301:
+application :  oceans, iliad ;
+IRNIN_NTLDEC = IRNIN_INR;
+INRIR_NTLDEC = INRIR_NTL+INR_IR_TARDIF * null(1-IND_PASSAGE);
+INRIR_NTLADEC = INRIR_NTL_A;
+INR_IR_NTL=max(0,INRIR_NTL+INR_IR_TARDIF * null(1-IND_PASSAGE));
+CSG_NTLDEC = CSBASE;
+INRCSG_NTLDEC = INRCSG_NTL+INR_CSG_TARDIF * null(1-IND_PASSAGE);
+INRCSG_NTLADEC = INRCSG_NTL_A;
+INR_CSG_NTL=INRCSG_NTL+INR_CSG_TARDIF * null(1-IND_PASSAGE);
+PRS_NTLDEC = PSBASE;
+INRPRS_NTLDEC = INRPRS_NTL+INR_PS_TARDIF * null(1-IND_PASSAGE);
+INRPS_NTLADEC = INRPRS_NTL_A;
+INR_PS_NTL=INRPRS_NTL+INR_PS_TARDIF * null(1-IND_PASSAGE);
+CRDS_NTLDEC = RDBASE;
+INRCRDS_NTLDEC = INRCRDS_NTL+INR_CRDS_TARDIF * null(1-IND_PASSAGE);
+INRCRDS_NTLADEC = INRCRDS_NTL_A;
+INR_CRDS_NTL=INRCRDS_NTL+INR_CRDS_TARDIF * null(1-IND_PASSAGE);
+CSAL_NTLDEC = CSALBASE;
+INRCSAL_NTLDEC = INRCSAL_NTL+INR_CSAL_TARDIF * null(1-IND_PASSAGE);
+INRCSAL_NTLADEC = INRCSAL_NTL_A;
+INR_CSAL_NTL=INRCSAL_NTL+INR_CSAL_TARDIF * null(1-IND_PASSAGE);
+CDIS_NTLDEC = CDISBASE;
+INRCDIS_NTLDEC = INRCDIS_NTL+INR_CDIS_TARDIF * null(1-IND_PASSAGE);
+INRCDIS_NTLADEC = INRCDIS_NTL_A;
+INR_CDIS_NTL=INRCDIS_NTL+INR_CDIS_TARDIF * null(1-IND_PASSAGE);
+TAXA_NTLDEC = TAXABASE;
+INRTAXA_NTLDEC = INRTAXA_NTL+INR_TAXAGA_TARDIF * null(1-IND_PASSAGE);
+INRTAXA_NTLADEC = INRTAXA_NTL_A;
+INR_TAXAGA_NTL=INRTAXA_NTL+INR_TAXAGA_TARDIF * null(1-IND_PASSAGE);
+ISF_NTLDEC = ISF4BASE;
+INRISF_NTLDEC = INRISF_NTL+INR_ISF_TARDIF * null(1-IND_PASSAGE);
+INRISF_NTLADEC = INRISF_NTL_A;
+INR_ISF_NTL=INRISF_NTL+INR_ISF_TARDIF * null(1-IND_PASSAGE);
+CHR_NTLDEC = CHRBASE;
+INRCHR_NTLDEC = INRCHR_NTL+INR_CHR_TARDIF * null(1-IND_PASSAGE);
+INRCHR_NTLADEC = INRCHR_NTL_A;
+INR_CHR_NTL=INRCHR_NTL+INR_CHR_TARDIF * null(1-IND_PASSAGE);
+PCAP_NTLDEC = PCAPBASE;
+INRPCAP_NTLDEC = INRPCAP_NTL+INR_PCAP_TARDIF * null(1-IND_PASSAGE);
+INRPCAP_NTLADEC = INRPCAP_NTL_A;
+INR_PCAP_NTL=INRPCAP_NTL+INR_PCAP_TARDIF * null(1-IND_PASSAGE);
+GAIN_NTLDEC = GAINBASE;
+INRGAIN_NTLDEC = INRGAIN_NTL+INR_GAIN_TARDIF * null(1-IND_PASSAGE);
+INRGAIN_NTLADEC = INRGAIN_NTL_A;
+INR_GAIN_NTL=INRGAIN_NTL+INR_GAIN_TARDIF * null(1-IND_PASSAGE);
+RSE1_NTLDEC = RSE1BASE;
+INRRSE1_NTLDEC = INRRSE1_NTL+INR_RSE1_TARDIF * null(1-IND_PASSAGE);
+INRRSE1_NTLADEC = INRRSE1_NTL_A;
+INR_RSE1_NTL=INRRSE1_NTL+INR_RSE1_TARDIF * null(1-IND_PASSAGE);
+RSE2_NTLDEC = RSE2BASE;
+INRRSE2_NTLDEC = INRRSE2_NTL+INR_RSE2_TARDIF * null(1-IND_PASSAGE);
+INRRSE2_NTLADEC = INRRSE2_NTL_A;
+INR_RSE2_NTL=INRRSE2_NTL+INR_RSE2_TARDIF * null(1-IND_PASSAGE);
+RSE3_NTLDEC = RSE3BASE;
+INRRSE3_NTLDEC = INRRSE3_NTL+INR_RSE3_TARDIF * null(1-IND_PASSAGE);
+INRRSE3_NTLADEC = INRRSE3_NTL_A;
+INR_RSE3_NTL=INRRSE3_NTL+INR_RSE3_TARDIF * null(1-IND_PASSAGE);
+RSE4_NTLDEC = RSE4BASE;
+INRRSE4_NTLDEC = INRRSE4_NTL+INR_RSE4_TARDIF * null(1-IND_PASSAGE);
+INRRSE4_NTLADEC = INRRSE4_NTL_A;
+INR_RSE4_NTL=INRRSE4_NTL+INR_RSE4_TARDIF * null(1-IND_PASSAGE);
+regle corrective base_ABAT98 130111:
+application :  oceans, iliad ;
+DO_INR_IR98 = DO_INR_IR982;
+IRNIN_NTLDEC_198 = IRNIN_INR;
+DO_INR_CSG98 = DO_INR_CSG982;
+CSG_NTLDEC_198 = CSBASE;
+DO_INR_PRS98 = DO_INR_PRS982;
+PRS_NTLDEC_198 = PSBASE;
+DO_INR_CRDS98 = DO_INR_CRDS982;
+CRDS_NTLDEC_198 = RDBASE;
+DO_INR_CSAL98 = DO_INR_CSAL982;
+CSAL_NTLDEC_198 = CSALBASE;
+DO_INR_CDIS98 = DO_INR_CDIS982;
+CDIS_NTLDEC_198 = CDISBASE;
+DO_INR_TAXA98 = DO_INR_TAXA982;
+TAXA_NTLDEC_198 = TAXABASE;
+DO_INR_ISF98 = DO_INR_ISF982;
+ISF_NTLDEC_198 = ISF4BASE;
+DO_INR_CHR98 = DO_INR_CHR982;
+CHR_NTLDEC_198 = CHRBASE;
+DO_INR_PCAP98 = DO_INR_PCAP982;
+PCAP_NTLDEC_198 = PCAPBASE;
+DO_INR_GAIN98 = DO_INR_GAIN982;
+GAIN_NTLDEC_198 = GAINBASE;
+DO_INR_RSE198 = DO_INR_RSE1982;
+RSE1_NTLDEC_198 = RSE1BASE;
+DO_INR_RSE298 = DO_INR_RSE2982;
+RSE2_NTLDEC_198 = RSE2BASE;
+DO_INR_RSE398 = DO_INR_RSE3982;
+RSE3_NTLDEC_198 = RSE3BASE;
+DO_INR_RSE498 = DO_INR_RSE4982;
+RSE4_NTLDEC_198 = RSE4BASE;
+regle corrective base_inr_ntl22 13011:
+application :  oceans, iliad ;
+IRNIN_NTLDEC_1 = IRNIN_INR;
+INRIR_NTLDEC_1 = INRIR_NTL_1;
+INRIR_NTLADEC_1 = INRIR_NTL_1_A;
+INR_IR_NTL_1=INRIR_NTL_1;
+CSG_NTLDEC_1 = CSBASE;
+INRCSG_NTLDEC_1 = INRCSG_NTL_1;
+INRCSG_NTLADEC_1 = INRCSG_NTL_1_A;
+INR_CSG_NTL_1=INRCSG_NTL_1;
+PRS_NTLDEC_1 = PSBASE;
+INRPRS_NTLDEC_1 = INRPRS_NTL_1;
+INRPS_NTLADEC_1 = INRPRS_NTL_1_A;
+INR_PS_NTL_1=INRPRS_NTL_1;
+CRDS_NTLDEC_1 = RDBASE;
+INRCRDS_NTLDEC_1 = INRCRDS_NTL_1;
+INRCRDS_NTLADEC_1 = INRCRDS_NTL_1_A;
+INR_CRDS_NTL_1=INRCRDS_NTL_1;
+CSAL_NTLDEC_1 = CSALBASE;
+INRCSAL_NTLDEC_1 = INRCSAL_NTL_1;
+INRCSAL_NTLADEC_1 = INRCSAL_NTL_1_A;
+INR_CSAL_NTL_1=INRCSAL_NTL_1;
+CDIS_NTLDEC_1 = CDISBASE;
+INRCDIS_NTLDEC_1 = INRCDIS_NTL_1;
+INRCDIS_NTLADEC_1 = INRCDIS_NTL_1_A;
+INR_CDIS_NTL_1=INRCDIS_NTL_1;
+TAXA_NTLDEC_1 = TAXABASE;
+INRTAXA_NTLDEC_1 = INRTAXA_NTL_1;
+INRTAXA_NTLADEC_1 = INRTAXA_NTL_1_A;
+INR_TAXAGA_NTL_1=INRTAXA_NTL_1;
+CHR_NTLDEC_1 = CHRBASE;
+INRCHR_NTLDEC_1 = INRCHR_NTL_1;
+INRCHR_NTLADEC_1 = INRCHR_NTL_1_A;
+INR_CHR_NTL_1=INRCHR_NTL_1;
+PCAP_NTLDEC_1 = PCAPBASE;
+INRPCAP_NTLDEC_1 = INRPCAP_NTL_1;
+INRPCAP_NTLADEC_1 = INRPCAP_NTL_1_A;
+INR_PCAP_NTL_1=INRPCAP_NTL_1;
+GAIN_NTLDEC_1 = GAINBASE;
+INRGAIN_NTLDEC_1 = INRGAIN_NTL_1;
+INRGAIN_NTLADEC_1 = INRGAIN_NTL_1_A;
+INR_GAIN_NTL_1=INRGAIN_NTL_1;
+RSE1_NTLDEC_1 = RSE1BASE;
+INRRSE1_NTLDEC_1 = INRRSE1_NTL_1;
+INRRSE1_NTLADEC_1 = INRRSE1_NTL_1_A;
+INR_RSE1_NTL_1=INRRSE1_NTL_1;
+RSE2_NTLDEC_1 = RSE2BASE;
+INRRSE2_NTLDEC_1 = INRRSE2_NTL_1;
+INRRSE2_NTLADEC_1 = INRRSE2_NTL_1_A;
+INR_RSE2_NTL_1=INRRSE2_NTL_1;
+RSE3_NTLDEC_1 = RSE3BASE;
+INRRSE3_NTLDEC_1 = INRRSE3_NTL_1;
+INRRSE3_NTLADEC_1 = INRRSE3_NTL_1_A;
+INR_RSE3_NTL_1=INRRSE3_NTL_1;
+RSE4_NTLDEC_1 = RSE4BASE;
+INRRSE4_NTLDEC_1 = INRRSE4_NTL_1;
+INRRSE4_NTLADEC_1 = INRRSE4_NTL_1_A;
+INR_RSE4_NTL_1=INRRSE4_NTL_1;
+ISF_NTLDEC_1 = ISF4BASE;
+INRISF_NTLDEC_1 = INRISF_NTL_1;
+INRISF_NTLADEC_1 = INRISF_NTL_1_A;
+INR_ISF_NTL_1=INRISF_NTL_1;
+regle corrective base_ABAT99 130222:
+application :  oceans, iliad ;
+DO_INR_IR99 = DO_INR_IR992;
+DO_INR_CSG99 = DO_INR_CSG992;
+DO_INR_PRS99 = DO_INR_PRS992;
+DO_INR_CRDS99 = DO_INR_CRDS992;
+DO_INR_CSAL99 = DO_INR_CSAL992;
+DO_INR_CDIS99 = DO_INR_CDIS992;
+DO_INR_TAXA99 = DO_INR_TAXA992;
+DO_INR_CHR99 = DO_INR_CHR992;
+DO_INR_PCAP99 = DO_INR_PCAP992;
+DO_INR_GAIN99 = DO_INR_GAIN992;
+DO_INR_RSE199 = DO_INR_RSE1992;
+DO_INR_RSE299 = DO_INR_RSE2992;
+DO_INR_RSE399 = DO_INR_RSE3992;
+DO_INR_RSE499 = DO_INR_RSE4992;
+IRNIN_TLDEC_199=IRNIN_INR;
+CSG_TLDEC_199=CSG;
+PRS_TLDEC_199=PRS;
+RDS_TLDEC_199=RDSN;
+CSAL_TLDEC_199=CSALBASE;
+CDIS_TLDEC_199=CDISBASE;
+TAXA_TLDEC_199=TAXABASE;
+CHR_TLDEC_199=CHRBASE;
+PCAP_TLDEC_199=PCAPBASE;
+GAIN_TLDEC_199=GAINBASE;
+RSE1_TLDEC_199=RSE1BASE;
+RSE2_TLDEC_199=RSE2BASE;
+RSE3_TLDEC_199=RSE3BASE;
+RSE4_TLDEC_199=RSE4BASE;
+DO_INR_ISF99 = DO_INR_ISF992;
+ISF_TLDEC_199=ISF4BASE;
+regle corrective base_inr_tl 1302:
+application :  oceans, iliad ;
+IRNIN_TLDEC=IRNIN_INR;
+INRIR_TLADEC = INRIR_TLACQ;
+INRIR_TL_AD=INRIR_TL_A;
+INRIR_TLDEC = INRIR_TLA+INRIR_RETDEF*null(INRIR_RETDEF_A);
+INR_IR_TL=INRIR_TLACQ* (1-IND_RJLJ);
+CSG_TLDEC=CSG;
+INRCSG_TLADEC = INRCSG_TLACQ;
+INRCSG_TL_AD = INRCSG_TL_A;
+INRCSG_TLDEC = INRCSG_TLA + INRCSG_RETDEF * null(INRCSG_RETDEF_A);
+INR_CSG_TL=INRCSG_TLACQ* (1-IND_RJLJ);
+PRS_TLDEC=PRS;
+INRPRS_TLADEC = INRPRS_TLACQ;
+INRPRS_TL_AD = INRPRS_TL_A;
+INRPRS_TLDEC = INRPRS_TLA + INRPRS_RETDEF * null(INRPRS_RETDEF_A);
+INR_PS_TL=INRPRS_TLACQ* (1-IND_RJLJ);
+RDS_TLDEC=RDSN;
+INRCRDS_TLADEC = INRCRDS_TLACQ;
+INRCRDS_TL_AD = INRCRDS_TL_A;
+INRCRDS_TLDEC = INRCRDS_TLA + INRCRDS_RETDEF * null(INRCRDS_RETDEF_A);
+INR_CRDS_TL=INRCRDS_TLACQ* (1-IND_RJLJ);
+CSAL_TLDEC=CSALBASE;
+INRCSAL_TLADEC = INRCSAL_TLACQ;
+INRCSAL_TL_AD = INRCSAL_TL_A;
+INRCSAL_TLDEC = INRCSAL_TLA + INRCSAL_RETDEF * null(INRCSAL_RETDEF_A);
+INR_CSAL_TL=INRCSAL_TLACQ* (1-IND_RJLJ);
+CDIS_TLDEC=CDISBASE;
+INRCDIS_TLADEC = INRCDIS_TLACQ;
+INRCDIS_TL_AD = INRCDIS_TL_A;
+INRCDIS_TLDEC = INRCDIS_TLA + INRCDIS_RETDEF * null(INRCDIS_RETDEF_A);
+INR_CDIS_TL=INRCDIS_TLACQ* (1-IND_RJLJ);
+TAXA_TLDEC=TAXABASE;
+INRTAXA_TLADEC = INRTAXA_TLACQ;
+INRTAXA_TL_AD = INRTAXA_TL_A;
+INRTAXA_TLDEC = INRTAXA_TLA + INRTAXA_RETDEF * null(INRTAXA_RETDEF_A);
+INR_TAXAGA_TL=INRTAXA_TLACQ * (1-IND_RJLJ);
+CHR_TLDEC=CHRBASE;
+INRCHR_TLADEC = INRCHR_TLACQ;
+INRCHR_TL_AD = INRCHR_TL_A;
+INRCHR_TLDEC = INRCHR_TLA + INRCHR_RETDEF * null(INRCHR_RETDEF_A);
+INR_CHR_TL=INRCHR_TLACQ * (1-IND_RJLJ);
+PCAP_TLDEC=PCAPBASE;
+INRPCAP_TLADEC = INRPCAP_TLACQ;
+INRPCAP_TL_AD = INRPCAP_TL_A;
+INRPCAP_TLDEC = INRPCAP_TLA + INRPCAP_RETDEF * null(INRPCAP_RETDEF_A);
+INR_PCAP_TL=INRPCAP_TLACQ * (1-IND_RJLJ);
+GAIN_TLDEC=GAINBASE;
+INRGAIN_TLADEC = INRGAIN_TLACQ;
+INRGAIN_TL_AD = INRGAIN_TL_A;
+INRGAIN_TLDEC = INRGAIN_TLA + INRGAIN_RETDEF * null(INRGAIN_RETDEF_A);
+INR_GAIN_TL=INRGAIN_TLACQ * (1-IND_RJLJ);
+RSE1_TLDEC=RSE1BASE;
+INRRSE1_TLADEC = INRRSE1_TLACQ;
+INRRSE1_TL_AD = INRRSE1_TL_A;
+INRRSE1_TLDEC = INRRSE1_TLA + INRRSE1_RETDEF * null(INRRSE1_RETDEF_A);
+INR_RSE1_TL=INRRSE1_TLACQ * (1-IND_RJLJ);
+RSE2_TLDEC=RSE2BASE;
+INRRSE2_TLADEC = INRRSE2_TLACQ;
+INRRSE2_TL_AD = INRRSE2_TL_A;
+INRRSE2_TLDEC = INRRSE2_TLA + INRRSE2_RETDEF * null(INRRSE2_RETDEF_A);
+INR_RSE2_TL=INRRSE2_TLACQ * (1-IND_RJLJ);
+RSE3_TLDEC=RSE3BASE;
+INRRSE3_TLADEC = INRRSE3_TLACQ;
+INRRSE3_TL_AD = INRRSE3_TL_A;
+INRRSE3_TLDEC = INRRSE3_TLA + INRRSE3_RETDEF * null(INRRSE3_RETDEF_A);
+INR_RSE3_TL=INRRSE3_TLACQ * (1-IND_RJLJ);
+RSE4_TLDEC=RSE4BASE;
+INRRSE4_TLADEC = INRRSE4_TLACQ;
+INRRSE4_TL_AD = INRRSE4_TL_A;
+INRRSE4_TLDEC = INRRSE4_TLA + INRRSE4_RETDEF * null(INRRSE4_RETDEF_A);
+INR_RSE4_TL=INRRSE4_TLACQ * (1-IND_RJLJ);
+ISF_TLDEC=ISF4BASE;
+INRISF_TLADEC = INRISF_TLACQ;
+INRISF_TL_AD = INRISF_TL_A;
+INRISF_TLDEC = INRISF_TLA + INRISF_RETDEF * null(INRISF_RETDEF_A);
+INR_ISF_TL=INRISF_TLACQ * (1-IND_RJLJ);
+regle corrective base_inr_tl22 13022:
+application :  oceans, iliad ;
+INRIR_TLADEC_12 = INRIR_TLADEC_1;
+INR_IR_TL_1=INRIR_TLACQ_1* (1-IND_RJLJ);
+INRCSG_TLADEC_12 = INRCSG_TLADEC_1;
+INR_CSG_TL_1=INRCSG_TLACQ_1* (1-IND_RJLJ);
+INRPRS_TLADEC_12 = INRPRS_TLADEC_1;
+INR_PS_TL_1=INRPRS_TLACQ_1* (1-IND_RJLJ);
+INRCRDS_TLADEC_12 = INRCRDS_TLADEC_1;
+INR_CRDS_TL_1=INRCRDS_TLACQ_1* (1-IND_RJLJ);
+INRCSAL_TLADEC_12 = INRCSAL_TLADEC_1;
+INR_CSAL_TL_1=INRCSAL_TLACQ_1* (1-IND_RJLJ);
+INRCDIS_TLADEC_12 = INRCDIS_TLADEC_1;
+INR_CDIS_TL_1=INRCDIS_TLACQ_1* (1-IND_RJLJ);
+INRTAXA_TLADEC_12 = INRTAXA_TLADEC_1;
+INR_TAXAGA_TL_1=INRTAXA_TLACQ_1 * (1-IND_RJLJ);
+INRCHR_TLADEC_12 = INRCHR_TLADEC_1;
+INR_CHR_TL_1=INRCHR_TLACQ_1 * (1-IND_RJLJ);
+INRPCAP_TLADEC_12 = INRPCAP_TLADEC_1;
+INR_PCAP_TL_1=INRPCAP_TLACQ_1 * (1-IND_RJLJ);
+INRGAIN_TLADEC_12 = INRGAIN_TLADEC_1;
+INR_GAIN_TL_1=INRGAIN_TLACQ_1 * (1-IND_RJLJ);
+INRRSE1_TLADEC_12 = INRRSE1_TLADEC_1;
+INR_RSE1_TL_1=INRRSE1_TLACQ_1 * (1-IND_RJLJ);
+INRRSE2_TLADEC_12 = INRRSE2_TLADEC_1;
+INR_RSE2_TL_1=INRRSE2_TLACQ_1 * (1-IND_RJLJ);
+INRRSE3_TLADEC_12 = INRRSE3_TLADEC_1;
+INR_RSE3_TL_1=INRRSE3_TLACQ_1 * (1-IND_RJLJ);
+INRRSE4_TLADEC_12 = INRRSE4_TLADEC_1;
+INR_RSE4_TL_1=INRRSE4_TLACQ_1 * (1-IND_RJLJ);
+RETIR2 = INCIR_NET2;
+RETPS2 = INCPS_NET2;
+RETCS2 = INCCS_NET2;
+RETCSAL2 = INCCSAL_NET2;
+RETCDIS2 = INCCDIS_NET2;
+RETRD2 = INCRD_NET2;
+RETTAXA2 = INCTAXA_NET2;
+RETCHR2 = INCCHR_NET2;
+RETGAIN2 = INCGAIN_NET2;
+RETPCAP2 = INCPCAP_NET2;
+RETRSE12 = INCRSE1_NET2;
+RETRSE22 = INCRSE2_NET2;
+RETRSE32 = INCRSE3_NET2;
+RETRSE42 = INCRSE4_NET2;
+RETIR22 = (INRIR_NTLDEC_1+INRIR_TLDEC_1+ INRIR_NTL_1_A+INRIR_TL_1_A) * positif(RETIR2);
+RETCS22 = (INRCSG_NTLDEC_1+INRCSG_TLDEC_1+ INRCSG_NTL_1_A+INRCSG_TL_1_A) * positif(RETCS2);
+RETRD22 = (INRCRDS_NTLDEC_1+INRCRDS_TLDEC_1+ INRCRDS_NTL_1_A+INRCRDS_TL_1_A) * positif(RETRD2);
+RETPS22 = (INRPRS_NTLDEC_1+INRPRS_TLDEC_1+ INRPRS_NTL_1_A+INRPRS_TL_1_A) * positif(RETPS2);
+RETCSAL22 = (INRCSAL_NTLDEC_1+INRCSAL_TLDEC_1+ INRCSAL_NTL_1_A+INRCSAL_TL_1_A) * positif(RETCSAL2);
+RETCDIS22 = (INRCDIS_NTLDEC_1+INRCDIS_TLDEC_1+ INRCDIS_NTL_1_A+INRCDIS_TL_1_A) * positif(RETCDIS2);
+RETTAXA22 = (INRTAXA_NTLDEC_1+INRTAXA_TLDEC_1+ INRTAXA_NTL_1_A+INRTAXA_TL_1_A) * positif(RETTAXA2);
+RETCHR22 = (INRCHR_NTLDEC_1+INRCHR_TLDEC_1+ INRCHR_NTL_1_A+INRCHR_TL_1_A) * positif(RETCHR2);
+RETPCAP22 = (INRPCAP_NTLDEC_1+INRPCAP_TLDEC_1+ INRPCAP_NTL_1_A+INRPCAP_TL_1_A) * positif(RETPCAP2);
+RETGAIN22 = (INRGAIN_NTLDEC_1+INRGAIN_TLDEC_1+ INRGAIN_NTL_1_A+INRGAIN_TL_1_A) * positif(RETGAIN2);
+RETRSE122 = (INRRSE1_NTLDEC_1+INRRSE1_TLDEC_1+ INRRSE1_NTL_1_A+INRRSE1_TL_1_A) * positif(RETRSE12);
+RETRSE222 = (INRRSE2_NTLDEC_1+INRRSE2_TLDEC_1+ INRRSE2_NTL_1_A+INRRSE2_TL_1_A) * positif(RETRSE22);
+RETRSE322 = (INRRSE3_NTLDEC_1+INRRSE3_TLDEC_1+ INRRSE3_NTL_1_A+INRRSE3_TL_1_A) * positif(RETRSE32);
+RETRSE422 = (INRRSE4_NTLDEC_1+INRRSE4_TLDEC_1+ INRRSE4_NTL_1_A+INRRSE4_TL_1_A) * positif(RETRSE42);
+INR_NTL_GLOB_IR = INR_NTL_GLOB_IR2;
+INR_TL_GLOB_IR = INR_TL_GLOB_IR2;
+INR_TOT_GLOB_IR = INR_TOT_GLOB_IR2;
+DO_INR_IR = DO_INR_IR2;
+DO_IR = DO_IR2;
+SUP_IR_MAX = SUP_IR_MAX2;
+INCIR_TL = INCIR_TL2;
+INCIR_TL_1 = INCIR_TL_12;
+INRIR_NET = INRIR_NET2;
+INRIR_NET_1 = INRIR_NET_12;
+INIR_TL = INIR_TL2;
+INIR_TL_1 = INIR_TL_12;
+INCIR_NET = INCIR_NET2;
+IR_PRI= IR_PRI2;
+IR_ANT= IR_ANT2;
+IR_NTL= IR_NTL2;
+IR_TL=IR_TL2;
+IR_NTL_1=IR_NTL_12;
+IR_TL_1=IR_TL_12;
+IR_REF_INR=IRNIN_REF;
+INR_NTL_GLOB_CSG = INR_NTL_GLOB_CSG2;
+INR_TL_GLOB_CSG = INR_TL_GLOB_CSG2;
+INR_TOT_GLOB_CSG = INR_TOT_GLOB_CSG2;
+DO_INR_CSG = DO_INR_CSG2;
+DO_CSG = DO_CSG2;
+SUP_CSG_MAX = SUP_CSG_MAX2;
+INRCSG_NET = INRCSG_NET2;
+INRCSG_NET_1 = INRCSG_NET_12;
+INCCS_NET = INCCS_NET2;
+INCS_TL = INCS_TL2;
+INCS_TL_1 = INCS_TL_12;
+INCCS_TL = INCCS_TL2;
+INCCS_TL_1 = INCCS_TL_12;
+CSG_PRI=CSG_PRI2;
+CSG_ANT=CSG_ANT2;
+CSG_NTL=CSG_NTL2;
+CSG_NTL_1=CSG_NTL_12;
+CSG_TL=CSG_TL2;
+CSG_TL_1=CSG_TL_12;
+CSG_REF_INR=CSG_REF;
+INR_NTL_GLOB_CRDS = INR_NTL_GLOB_CRDS2;
+INR_TL_GLOB_CRDS = INR_TL_GLOB_CRDS2;
+INR_TOT_GLOB_CRDS = INR_TOT_GLOB_CRDS2;
+DO_INR_CRDS = DO_INR_CRDS2;
+DO_CRDS = DO_CRDS2;
+SUP_CRDS_MAX = SUP_CRDS_MAX2;
+INCRD_TL = INCRD_TL2;
+INCRD_TL_1 = INCRD_TL_12;
+INRRDS_NET = INRRDS_NET2;
+INRRDS_NET_1 = INRRDS_NET_12;
+INRD_TL = INRD_TL2;
+INRD_TL_1 = INRD_TL_12;
+INCRD_NET = INCRD_NET2;
+CRDS_PRI=CRDS_PRI2;
+CRDS_ANT=CRDS_ANT2;
+CRDS_NTL=CRDS_NTL2;
+CRDS_NTL_1=CRDS_NTL_12;
+CRDS_TL=CRDS_TL2;
+CRDS_TL_1=CRDS_TL_12;
+CRDS_REF_INR=RDS_REF;
+INR_NTL_GLOB_PS = INR_NTL_GLOB_PS2;
+INR_TL_GLOB_PS = INR_TL_GLOB_PS2;
+INR_TOT_GLOB_PS = INR_TOT_GLOB_PS2;
+DO_INR_PS = DO_INR_PS2;
+DO_PS = DO_PS2;
+SUP_PS_MAX = SUP_PS_MAX2;
+INCPS_TL = INCPS_TL2;
+INCPS_TL_1 = INCPS_TL_12;
+INRPRS_NET = INRPRS_NET2; 
+INRPRS_NET_1 = INRPRS_NET_12; 
+INPS_TL = INPS_TL2;
+INPS_TL_1 = INPS_TL_12;
+INCPS_NET = INCPS_NET2;
+PS_PRI= PS_PRI2;
+PS_ANT=PS_ANT2;
+PS_NTL=PS_NTL2;
+PS_NTL_1=PS_NTL_12;
+PS_TL=PS_TL2;
+PS_TL_1=PS_TL_12;
+PS_REF_INR=PRS_REF;
+INR_NTL_GLOB_CSAL = INR_NTL_GLOB_CSAL2;
+INR_TL_GLOB_CSAL = INR_TL_GLOB_CSAL2;
+INR_TOT_GLOB_CSAL = INR_TOT_GLOB_CSAL2;
+DO_INR_CSAL = DO_INR_CSAL2;
+DO_CSAL = DO_CSAL2;
+SUP_CSAL_MAX = SUP_CSAL_MAX2;
+INCCSAL_TL = INCCSAL_TL2;
+INCCSAL_TL_1 = INCCSAL_TL_12;
+INRCSAL_NET = INRCSAL_NET2; 
+INRCSAL_NET_1 = INRCSAL_NET_12; 
+INCSAL_TL = INCSAL_TL2;
+INCSAL_TL_1 = INCSAL_TL_12;
+INCCSAL_NET = INCCSAL_NET2;
+CSAL_PRI= CSAL_PRI2;
+CSAL_ANT=CSAL_ANT2;
+CSAL_NTL=CSAL_NTL2;
+CSAL_NTL_1=CSAL_NTL_12;
+CSAL_TL=CSAL_TL2;
+CSAL_TL_1=CSAL_TL_12;
+CSAL_REF_INR=CSAL_REF;
+INR_NTL_GLOB_CDIS = INR_NTL_GLOB_CDIS2;
+INR_TL_GLOB_CDIS = INR_TL_GLOB_CDIS2;
+INR_TOT_GLOB_CDIS = INR_TOT_GLOB_CDIS2;
+DO_INR_CDIS = DO_INR_CDIS2;
+DO_CDIS = DO_CDIS2;
+SUP_CDIS_MAX = SUP_CDIS_MAX2;
+INCCDIS_TL = INCCDIS_TL2;
+INCCDIS_TL_1 = INCCDIS_TL_12;
+INRCDIS_NET = INRCDIS_NET2; 
+INRCDIS_NET_1 = INRCDIS_NET_12; 
+INCDIS_TL = INCDIS_TL2;
+INCDIS_TL_1 = INCDIS_TL_12;
+INCCDIS_NET = INCCDIS_NET2;
+CDIS_PRI= CDIS_PRI2;
+CDIS_ANT=CDIS_ANT2;
+CDIS_NTL=CDIS_NTL2;
+CDIS_NTL_1=CDIS_NTL_12;
+CDIS_TL=CDIS_TL2;
+CDIS_TL_1=CDIS_TL_12;
+CDIS_REF_INR=CDIS_REF;
+INR_NTL_GLOB_TAXA = INR_NTL_GLOB_TAXA2;
+INR_TL_GLOB_TAXA = INR_TL_GLOB_TAXA2;
+INR_TOT_GLOB_TAXA = INR_TOT_GLOB_TAXA2;
+DO_INR_TAXAGA = DO_INR_TAXA2;
+DO_TAXA = DO_TAXA2;
+SUP_TAXA_MAX = SUP_TAXA_MAX2;
+INCTAXA_TL = INCTAXA_TL2;
+INCTAXA_TL_1 = INCTAXA_TL_12;
+INTAXA_TL = INTAXA_TL2;
+INTAXA_TL_1 = INTAXA_TL_12;
+INRTAXA_NET = INRTAXA_NET2;
+INRTAXA_NET_1 = INRTAXA_NET_12;
+INCTAXA_NET = INCTAXA_NET2;
+TAXAGA_PRI=TAXAGA_PRI2;
+TAXAGA_ANT=TAXAGA_ANT2;
+TAXAGA_NTL=TAXAGA_NTL2;
+TAXAGA_NTL_1=TAXAGA_NTL_12;
+TAXA_TL=TAXAGA_TL2;
+TAXAGA_TL_1=TAXAGA_TL_12;
+TAXA_REF_INR=TAXA_REF;
+INR_NTL_GLOB_CHR = INR_NTL_GLOB_CHR2;
+INR_TL_GLOB_CHR = INR_TL_GLOB_CHR2;
+INR_TOT_GLOB_CHR = INR_TOT_GLOB_CHR2;
+DO_INR_CHR = DO_INR_CHR2;
+DO_CHR = DO_CHR2;
+SUP_CHR_MAX = SUP_CHR_MAX2;
+INCCHR_TL = INCCHR_TL2;
+INCCHR_TL_1 = INCCHR_TL_12;
+INCHR_TL = INCHR_TL2;
+INCHR_TL_1 = INCHR_TL_12;
+INRCHR_NET = INRCHR_NET2;
+INRCHR_NET_1 = INRCHR_NET_12;
+INCCHR_NET = INCCHR_NET2;
+CHR_PRI=CHR_PRI2;
+CHR_ANT=CHR_ANT2;
+CHR_NTL=CHR_NTL2;
+CHR_NTL_1=CHR_NTL_12;
+CHREV_TL=CHR_TL2;
+CHR_TL_1=CHR_TL_12;
+CHR_REF_INR=CHR_REF;
+INR_NTL_GLOB_PCAP = INR_NTL_GLOB_PCAP2;
+INR_TL_GLOB_PCAP = INR_TL_GLOB_PCAP2;
+INR_TOT_GLOB_PCAP = INR_TOT_GLOB_PCAP2;
+DO_INR_PCAP = DO_INR_PCAP2;
+DO_PCAP = DO_PCAP2;
+SUP_PCAP_MAX = SUP_PCAP_MAX2;
+INCPCAP_TL = INCPCAP_TL2;
+INCPCAP_TL_1 = INCPCAP_TL_12;
+INPCAP_TL = INPCAP_TL2;
+INPCAP_TL_1 = INPCAP_TL_12;
+INRPCAP_NET = INRPCAP_NET2;
+INRPCAP_NET_1 = INRPCAP_NET_12;
+INCPCAP_NET = INCPCAP_NET2;
+PCAP_PRI=PCAP_PRI2;
+PCAP_ANT=PCAP_ANT2;
+PCAP_NTL=PCAP_NTL2;
+PCAP_NTL_1=PCAP_NTL_12;
+PPCAP_TL=PCAP_TL2;
+PCAP_TL_1=PCAP_TL_12;
+PCAP_REF_INR=PCAP_REF;
+INR_NTL_GLOB_GAIN = INR_NTL_GLOB_GAIN2;
+INR_TL_GLOB_GAIN = INR_TL_GLOB_GAIN2;
+INR_TOT_GLOB_GAIN = INR_TOT_GLOB_GAIN2;
+DO_INR_GAIN = DO_INR_GAIN2;
+DO_GAIN = DO_GAIN2;
+SUP_GAIN_MAX = SUP_GAIN_MAX2;
+INCGAIN_TL = INCGAIN_TL2;
+INCGAIN_TL_1 = INCGAIN_TL_12;
+INGAIN_TL = INGAIN_TL2;
+INGAIN_TL_1 = INGAIN_TL_12;
+INRGAIN_NET = INRGAIN_NET2;
+INRGAIN_NET_1 = INRGAIN_NET_12;
+INCGAIN_NET = INCGAIN_NET2;
+GAIN_PRI=GAIN_PRI2;
+GAIN_ANT=GAIN_ANT2;
+GAIN_NTL=GAIN_NTL2;
+GAIN_NTL_1=GAIN_NTL_12;
+GAIN_TL=GAIN_TL2;
+GAIN_TL_1=GAIN_TL_12;
+GAIN_REF_INR=GAIN_REF;
+INR_NTL_GLOB_RSE1 = INR_NTL_GLOB_RSE12;
+INR_TL_GLOB_RSE1 = INR_TL_GLOB_RSE12;
+INR_TOT_GLOB_RSE1 = INR_TOT_GLOB_RSE12;
+DO_INR_RSE1 = DO_INR_RSE12;
+DO_RSE1 = DO_RSE12;
+SUP_RSE1_MAX = SUP_RSE1_MAX2;
+INCRSE1_TL = INCRSE1_TL2;
+INCRSE1_TL_1 = INCRSE1_TL_12;
+INRSE1_TL = INRSE1_TL2;
+INRSE1_TL_1 = INRSE1_TL_12;
+INRRSE1_NET = INRRSE1_NET2;
+INRRSE1_NET_1 = INRRSE1_NET_12;
+INCRSE1_NET = INCRSE1_NET2;
+RSE1_PRI=RSE1_PRI2;
+RSE1_ANT=RSE1_ANT2;
+RSE1_NTL=RSE1_NTL2;
+RSE1_NTL_1=RSE1_NTL_12;
+RSE1_TL=RSE1_TL2;
+RSE1_TL_1=RSE1_TL_12;
+RSE1_REF_INR=RSE1_REF;
+INR_NTL_GLOB_RSE2 = INR_NTL_GLOB_RSE22;
+INR_TL_GLOB_RSE2 = INR_TL_GLOB_RSE22;
+INR_TOT_GLOB_RSE2 = INR_TOT_GLOB_RSE22;
+DO_INR_RSE2 = DO_INR_RSE22;
+DO_RSE2 = DO_RSE22;
+SUP_RSE2_MAX = SUP_RSE2_MAX2;
+INCRSE2_TL = INCRSE2_TL2;
+INCRSE2_TL_1 = INCRSE2_TL_12;
+INRSE2_TL = INRSE2_TL2;
+INRSE2_TL_1 = INRSE2_TL_12;
+INRRSE2_NET = INRRSE2_NET2;
+INRRSE2_NET_1 = INRRSE2_NET_12;
+INCRSE2_NET = INCRSE2_NET2;
+RSE2_PRI=RSE2_PRI2;
+RSE2_ANT=RSE2_ANT2;
+RSE2_NTL=RSE2_NTL2;
+RSE2_NTL_1=RSE2_NTL_12;
+RSE2_TL=RSE2_TL2;
+RSE2_TL_1=RSE2_TL_12;
+RSE2_REF_INR=RSE2_REF;
+INR_NTL_GLOB_RSE3 = INR_NTL_GLOB_RSE32;
+INR_TL_GLOB_RSE3 = INR_TL_GLOB_RSE32;
+INR_TOT_GLOB_RSE3 = INR_TOT_GLOB_RSE32;
+DO_INR_RSE3 = DO_INR_RSE32;
+DO_RSE3 = DO_RSE32;
+SUP_RSE3_MAX = SUP_RSE3_MAX2;
+INCRSE3_TL = INCRSE3_TL2;
+INCRSE3_TL_1 = INCRSE3_TL_12;
+INRSE3_TL = INRSE3_TL2;
+INRSE3_TL_1 = INRSE3_TL_12;
+INRRSE3_NET = INRRSE3_NET2;
+INRRSE3_NET_1 = INRRSE3_NET_12;
+INCRSE3_NET = INCRSE3_NET2;
+RSE3_PRI=RSE3_PRI2;
+RSE3_ANT=RSE3_ANT2;
+RSE3_NTL=RSE3_NTL2;
+RSE3_NTL_1=RSE3_NTL_12;
+RSE3_TL=RSE3_TL2;
+RSE3_TL_1=RSE3_TL_12;
+RSE3_REF_INR=RSE3_REF;
+INR_NTL_GLOB_RSE4 = INR_NTL_GLOB_RSE42;
+INR_TL_GLOB_RSE4 = INR_TL_GLOB_RSE42;
+INR_TOT_GLOB_RSE4 = INR_TOT_GLOB_RSE42;
+DO_INR_RSE4 = DO_INR_RSE42;
+DO_RSE4 = DO_RSE42;
+SUP_RSE4_MAX = SUP_RSE4_MAX2;
+INCRSE4_TL = INCRSE4_TL2;
+INCRSE4_TL_1 = INCRSE4_TL_12;
+INRSE4_TL = INRSE4_TL2;
+INRSE4_TL_1 = INRSE4_TL_12;
+INRRSE4_NET = INRRSE4_NET2;
+INRRSE4_NET_1 = INRRSE4_NET_12;
+INCRSE4_NET = INCRSE4_NET2;
+RSE4_PRI=RSE4_PRI2;
+RSE4_ANT=RSE4_ANT2;
+RSE4_NTL=RSE4_NTL2;
+RSE4_NTL_1=RSE4_NTL_12;
+RSE4_TL=RSE4_TL2;
+RSE4_TL_1=RSE4_TL_12;
+RSE4_REF_INR=RSE4_REF;
+TINR = TINR2;
+TINR_1=TINR_12;
+NBREMOIS2=NBREMOIS222;
+NBREMOISCS2=NBREMOISCS222;
+DO_INR_IR_TL = arr(INRIR_TL_A * DO_INR_IR/(INR_TOT_GLOB_IR-INR_IR_TARDIF));
+DO_INR_IR_NTL = arr(INRIR_NTL_A * DO_INR_IR/(INR_TOT_GLOB_IR-INR_IR_TARDIF));
+DO_INR_CSG_TL = arr(INRCSG_TL_A * DO_INR_CSG/(INR_TOT_GLOB_CSG-INR_CSG_TARDIF));
+DO_INR_CSG_NTL = arr(INRCSG_NTL_A * DO_INR_CSG/(INR_TOT_GLOB_CSG-INR_CSG_TARDIF));
+DO_INR_CRDS_TL = arr(INRCRDS_TL_A * DO_INR_CRDS/(INR_TOT_GLOB_CRDS-INR_CRDS_TARDIF));
+DO_INR_CRDS_NTL = arr(INRCRDS_NTL_A * DO_INR_CRDS/(INR_TOT_GLOB_CRDS-INR_CRDS_TARDIF));
+DO_INR_PS_TL = arr(INRPRS_TL_A * DO_INR_PS/(INR_TOT_GLOB_PS-INR_PS_TARDIF));
+DO_INR_PS_NTL = arr(INRPRS_NTL_A * DO_INR_PS/(INR_TOT_GLOB_PS-INR_PS_TARDIF));
+DO_INR_CSAL_TL = arr(INRCSAL_TL_A * DO_INR_CSAL/(INR_TOT_GLOB_CSAL-INR_CSAL_TARDIF));
+DO_INR_CSAL_NTL = arr(INRCSAL_NTL_A * DO_INR_CSAL/(INR_TOT_GLOB_CSAL-INR_CSAL_TARDIF));
+DO_INR_CDIS_TL = arr(INRCDIS_TL_A * DO_INR_CDIS/(INR_TOT_GLOB_CDIS-INR_CDIS_TARDIF));
+DO_INR_CDIS_NTL = arr(INRCDIS_NTL_A * DO_INR_CDIS/(INR_TOT_GLOB_CDIS-INR_CDIS_TARDIF));
+DO_INR_TAXA_TL = arr(INRTAXA_TL_A * DO_INR_TAXAGA/(INR_TOT_GLOB_TAXA-INR_TAXAGA_TARDIF));
+DO_INR_TAXA_NTL = arr(INRTAXA_NTL_A * DO_INR_TAXAGA/(INR_TOT_GLOB_TAXA-INR_TAXAGA_TARDIF));
+DO_INR_CHR_TL = arr(INRCHR_TL_A * DO_INR_CHR/(INR_TOT_GLOB_CHR-INR_CHR_TARDIF));
+DO_INR_CHR_NTL = arr(INRCHR_NTL_A * DO_INR_CHR/(INR_TOT_GLOB_CHR-INR_CHR_TARDIF));
+DO_INR_PCAP_TL = arr(INRPCAP_TL_A * DO_INR_PCAP/(INR_TOT_GLOB_PCAP-INR_PCAP_TARDIF));
+DO_INR_PCAP_NTL = arr(INRPCAP_NTL_A * DO_INR_PCAP/(INR_TOT_GLOB_PCAP-INR_PCAP_TARDIF));
+DO_INR_GAIN_TL = arr(INRGAIN_TL_A * DO_INR_GAIN/(INR_TOT_GLOB_GAIN-INR_GAIN_TARDIF));
+DO_INR_GAIN_NTL = arr(INRGAIN_NTL_A * DO_INR_GAIN/(INR_TOT_GLOB_GAIN-INR_GAIN_TARDIF));
+DO_INR_RSE1_TL = arr(INRRSE1_TL_A * DO_INR_RSE1/(INR_TOT_GLOB_RSE1-INR_RSE1_TARDIF));
+DO_INR_RSE1_NTL = arr(INRRSE1_NTL_A * DO_INR_RSE1/(INR_TOT_GLOB_RSE1-INR_RSE1_TARDIF));
+DO_INR_RSE2_TL = arr(INRRSE2_TL_A * DO_INR_RSE2/(INR_TOT_GLOB_RSE2-INR_RSE2_TARDIF));
+DO_INR_RSE2_NTL = arr(INRRSE2_NTL_A * DO_INR_RSE2/(INR_TOT_GLOB_RSE2-INR_RSE2_TARDIF));
+DO_INR_RSE3_TL = arr(INRRSE3_TL_A * DO_INR_RSE3/(INR_TOT_GLOB_RSE3-INR_RSE3_TARDIF));
+DO_INR_RSE3_NTL = arr(INRRSE3_NTL_A * DO_INR_RSE3/(INR_TOT_GLOB_RSE3-INR_RSE3_TARDIF));
+DO_INR_RSE4_TL = arr(INRRSE4_TL_A * DO_INR_RSE4/(INR_TOT_GLOB_RSE4-INR_RSE4_TARDIF));
+DO_INR_RSE4_NTL = arr(INRRSE4_NTL_A * DO_INR_RSE4/(INR_TOT_GLOB_RSE4-INR_RSE4_TARDIF));
+INRISF_TLADEC_12 = INRISF_TLADEC_1;
+INR_ISF_TL_1=INRISF_TLACQ_1 * (1-IND_RJLJ);
+RETISF2 = INCISF_NET2;
+RETISF22 = (INRISF_NTLDEC_1+INRISF_TLDEC_1+ INRISF_NTL_1_A+INRISF_TL_1_A) * positif(RETISF2);
+INR_NTL_GLOB_ISF = INR_NTL_GLOB_ISF2;
+INR_TL_GLOB_ISF = INR_TL_GLOB_ISF2;
+INR_TOT_GLOB_ISF = INR_TOT_GLOB_ISF2;
+DO_INR_ISF = DO_INR_ISF2;
+DO_ISF = DO_ISF2;
+SUP_ISF_MAX = SUP_ISF_MAX2;
+INCISF_TL = INCISF_TL2;
+INCISF_TL_1 = INCISF_TL_12;
+INISF_TL = INISF_TL2;
+INISF_TL_1 = INISF_TL_12;
+INRISF_NET = INRISF_NET2;
+INRISF_NET_1 = INRISF_NET_12;
+INCISF_NET = INCISF_NET2;
+ISF_PRI=ISF_PRI2;
+ISF_ANT=ISF_ANT2;
+ISF_NTL=ISF_NTL2;
+ISF_NTL_1=ISF_NTL_12;
+ISF_TL=ISF_TL2;
+ISF_TL_1=ISF_TL_12;
+ISF_REF_INR=ISF_REF;
+TINRISF = TINRISF2;
+TINRISF_1=TINRISF_12;
+NBREMOISISF2=NBREMOISISF222;
+DO_INR_ISF_TL = arr(INRISF_TL_A * DO_INR_ISF/(INR_TOT_GLOB_ISF-INR_ISF_TARDIF));
+DO_INR_ISF_NTL = arr(INRISF_NTL_A * DO_INR_ISF/(INR_TOT_GLOB_ISF-INR_ISF_TARDIF));
diff --git a/sources2011m_9_6/chap-cmajo.m b/sources2011m_9_6/chap-cmajo.m
new file mode 100644
index 0000000000000000000000000000000000000000..092978e2f9e869143d309691a563901940d00546
--- /dev/null
+++ b/sources2011m_9_6/chap-cmajo.m
@@ -0,0 +1,736 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle corrective base_stratemajo 120:
+application :  oceans, iliad ;
+MAJOIR07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR07TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR07TARDIF_P) ;
+MAJOIR08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR08TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR08TARDIF_P) ;
+MAJOIR17_1TARD_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR17_1TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR17_1TARDIF_P) ;
+MAJOIR17_2TARD_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR17_2TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR17_2TARDIF_P) ;
+MAJOIRTARDIF_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) 
+			* (somme(x = 07,08 : MAJOIR0xTARDIF_DEF)
+		    + MAJOIR17_1TARD_DEF + MAJOIR17_2TARD_DEF)
+		    + (1 - positif(FLAG_TRTARDIF) * positif(FLAG_RETARD))
+		    * MAJOIRTARDIF_REF ;
+MAJOCS07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPCS_A)) * MAJOCS07TARDIF_D 
+		  + positif(PROPCS_A) * MAJOCS07TARDIF_P) ;
+MAJOCS08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPCS_A)) * MAJOCS08TARDIF_D 
+		  + positif(PROPCS_A) * MAJOCS08TARDIF_P) ;
+MAJOCS17TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPCS_A)) * MAJOCS17TARDIF_D 
+		  + positif(PROPCS_A) * MAJOCS17TARDIF_P) ;
+MAJOCSTARDIF_DEF = somme(x = 07,08,17 : MAJOCSxTARDIF_DEF);
+MAJOPS07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPPS_A)) * MAJOPS07TARDIF_D 
+		  + positif(PROPPS_A) * MAJOPS07TARDIF_P) ;
+MAJOPS08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPPS_A)) * MAJOPS08TARDIF_D 
+		  + positif(PROPPS_A) * MAJOPS08TARDIF_P) ;
+MAJOPS17TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPPS_A)) * MAJOPS17TARDIF_D 
+		  + positif(PROPPS_A) * MAJOPS17TARDIF_P) ;
+MAJOPSTARDIF_DEF = somme(x = 07,08,17 : MAJOPSxTARDIF_DEF);
+MAJORD07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPRD_A)) * MAJORD07TARDIF_D 
+		  + positif(PROPRD_A) * MAJORD07TARDIF_P) ;
+MAJORD08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPRD_A)) * MAJORD08TARDIF_D 
+		  + positif(PROPRD_A) * MAJORD08TARDIF_P) ;
+MAJORD17TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPRD_A)) * MAJORD17TARDIF_D 
+		  + positif(PROPRD_A) * MAJORD17TARDIF_P) ;
+MAJORDTARDIF_DEF = somme(x = 07,08,17 : MAJORDxTARDIF_DEF);
+MAJOSA07TARDIF_DEF = FLAG_RETARD * MAJOCSAL07TARDIF_D;
+
+MAJOSA08TARDIF_DEF = FLAG_RETARD * MAJOCSAL08TARDIF_D;
+MAJOSA17TARDIF_DEF = FLAG_RETARD * MAJOCSAL17TARDIF_D;
+MAJOSATARDIF_DEF = somme(x = 07,08,17 : MAJOSAxTARDIF_DEF);
+MAJOGA07TARDIF_DEF = FLAG_RETARD * MAJOGAIN07TARDIF_D;
+
+MAJOGA08TARDIF_DEF = FLAG_RETARD * MAJOGAIN08TARDIF_D;
+MAJOGA17TARDIF_DEF = FLAG_RETARD * MAJOGAIN17TARDIF_D;
+MAJOGAINTARDIF_DEF = somme(x = 07,08,17 : MAJOGAxTARDIF_DEF);
+MAJOCDIS07TARD_DEF = FLAG_RETARD * MAJOCDIS07TARDIF_D;
+MAJOCDIS08TARD_DEF = FLAG_RETARD * MAJOCDIS08TARDIF_D;
+MAJOCDIS17TARD_DEF = FLAG_RETARD * MAJOCDIS17TARDIF_D;
+MAJOCDISTARDIF_DEF = somme(x = 07,08,17 : MAJOCDISxTARD_DEF);
+MAJORSE107TARD_DEF = FLAG_RETARD * MAJORSE107TARDIF_D;
+MAJORSE108TARD_DEF = FLAG_RETARD * MAJORSE108TARDIF_D;
+MAJORSE117TARD_DEF = FLAG_RETARD * MAJORSE117TARDIF_D;
+MAJORSE1TARDIF_DEF = somme(x = 07,08,17 : MAJORSE1xTARD_DEF);
+MAJORSE207TARD_DEF = FLAG_RETARD * MAJORSE207TARDIF_D;
+MAJORSE208TARD_DEF = FLAG_RETARD * MAJORSE208TARDIF_D;
+MAJORSE217TARD_DEF = FLAG_RETARD * MAJORSE217TARDIF_D;
+MAJORSE2TARDIF_DEF = somme(x = 07,08,17 : MAJORSE2xTARD_DEF);
+MAJORSE307TARD_DEF = FLAG_RETARD * MAJORSE307TARDIF_D;
+MAJORSE308TARD_DEF = FLAG_RETARD * MAJORSE308TARDIF_D;
+MAJORSE317TARD_DEF = FLAG_RETARD * MAJORSE317TARDIF_D;
+MAJORSE3TARDIF_DEF = somme(x = 07,08,17 : MAJORSE3xTARD_DEF);
+MAJORSE407TARD_DEF = FLAG_RETARD * MAJORSE407TARDIF_D;
+MAJORSE408TARD_DEF = FLAG_RETARD * MAJORSE408TARDIF_D;
+MAJORSE417TARD_DEF = FLAG_RETARD * MAJORSE417TARDIF_D;
+MAJORSE4TARDIF_DEF = somme(x = 07,08,17 : MAJORSE4xTARD_DEF);
+MAJOTA07TARDIF_DEF = FLAG_RETARD * MAJOTAXA07TARDIF_D;
+MAJOTA08TARDIF_DEF = FLAG_RETARD * MAJOTAXA08TARDIF_D;
+MAJOTA17_1TARD_DEF = FLAG_RETARD * MAJOTA17_1TARDIF_D; 
+MAJOTA17_2TARD_DEF = FLAG_RETARD * MAJOTA17_2TARDIF_D; 
+MAJOTAXATARDIF_DEF = somme(x = 07,08 : MAJOTA0xTARDIF_DEF)
+		+ MAJOTA17_1TARD_DEF + MAJOTA17_2TARD_DEF;
+MAJOHR07TARDIF_DEF = FLAG_RETARD * MAJOHR07TARDIF_D;
+MAJOHR08TARDIF_DEF = FLAG_RETARD * MAJOHR08TARDIF_D;
+MAJOHR17_1TARD_DEF = FLAG_RETARD * MAJOHR17_1TARDIF_D; 
+MAJOHR17_2TARD_DEF = FLAG_RETARD * MAJOHR17_2TARDIF_D; 
+MAJOHRTARDIF_DEF = somme(x = 07,08 : MAJOHR0xTARDIF_DEF)
+		+ MAJOHR17_1TARD_DEF + MAJOHR17_2TARD_DEF;
+MAJOCP07TARDIF_DEF = FLAG_RETARD * MAJOCAP07TARDIF_D;
+MAJOCP08TARDIF_DEF = FLAG_RETARD * MAJOCAP08TARDIF_D;
+MAJOCP17_1TARD_DEF = FLAG_RETARD * MAJOCP17_1TARDIF_D; 
+MAJOCP17_2TARD_DEF = FLAG_RETARD * MAJOCP17_2TARDIF_D; 
+MAJOCAPTARDIF_DEF = somme(x = 07,08 : MAJOCP0xTARDIF_DEF)
+		+ MAJOCP17_1TARD_DEF + MAJOCP17_2TARD_DEF;
+PROPIR_DEF = PROPIR;
+PROPCS_DEF = PROPCS;
+PROPPS_DEF = PROPPS;
+PROPRD_DEF = PROPRD;
+IRBASE_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) * IRBASE
+		+ (1 - positif(FLAG_TRTARDIF)) * IRBASE_REF;
+IRNINTARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * IRBASE
+		  + FLAG_TRTARDIF_R * SUPIR[00]
+                  + FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRBASE) 
+		    * (positif(FLAG_RECTIF) * min(SUPIR[2],IRBASE)
+		      + (1 - positif(FLAG_RECTIF)) * min(IRBASE,IRBASE_REF))
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRBASE))
+		      * (positif(FLAG_RECTIF) * min(SUPIR[00],IRBASE)
+                     + (1 - positif(FLAG_RECTIF)) * IRBASE_REF)
+		      )
+                  + (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+                            * (positif(FLAG_RECTIF) * SUPIR[00]
+                               + (1 - positif(FLAG_RECTIF)) * IRNINTARDIF_A)
+		  ));
+CSGTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * CSBASE
+		+ FLAG_TRTARDIF_R * SUPCS[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPCS[2],CSG)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCS[00],CSG)
+		   + (1 - positif(FLAG_RECTIF)) * CSGTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+		          * (positif(FLAG_RECTIF) * SUPCS[00]
+		            + (1 - positif(FLAG_RECTIF)) * CSGTARDIF_A)
+		    ));
+PRSTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * PSBASE
+		+ FLAG_TRTARDIF_R * SUPPS[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPPS[2],PRS)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPPS[00],PRS)
+		    + (1 - positif(FLAG_RECTIF)) * PRSTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPPS[00]
+			  + (1 - positif(FLAG_RECTIF)) * PRSTARDIF_A)
+		));
+RDSTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RDBASE
+		+ FLAG_TRTARDIF_R * SUPRD[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRD[2],RDSN)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRD[00],RDSN)
+		     + (1 - positif(FLAG_RECTIF)) * RDSTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRD[00]
+			  + (1 - positif(FLAG_RECTIF)) * RDSTARDIF_A)
+		));
+CSALTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * CSALBASE
+		+ FLAG_TRTARDIF_R * SUPCSAL[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPCSAL[2],CSAL)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCSAL[00],CSAL)
+		     + (1 - positif(FLAG_RECTIF)) * CSALTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPCSAL[00]
+			  + (1 - positif(FLAG_RECTIF)) * CSALTARDIF_A)
+		));
+CDISTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * CDISBASE
+		+ FLAG_TRTARDIF_R * SUPCDIS[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPCDIS[2],CDIS)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCDIS[00],CDIS)
+		     + (1 - positif(FLAG_RECTIF)) * CDISTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPCDIS[00]
+			  + (1 - positif(FLAG_RECTIF)) * CDISTARDIF_A)
+		));
+TAXATARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * TAXABASE_MAJO
+		+ FLAG_TRTARDIF_R * SUPTAXA[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(TAXATARDIF_A - TAXABASE_MAJO) * min(SUPTAXA[2],TAXASSUR)
+		    + (1 - positif(TARDIFEVT2) * positif(TAXATARDIF_A - TAXABASE_MAJO)) 
+		      * (positif(FLAG_RECTIF) * min(SUPTAXA[00],TAXASSUR)
+		    + (1 - positif(FLAG_RECTIF)) * TAXATARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPTAXA[00]
+			  + (1 - positif(FLAG_RECTIF)) * TAXATARDIF_A)
+		  ));
+GAINTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * GAINBASE
+		+ FLAG_TRTARDIF_R * SUPGAIN[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPGAIN[2],GAINSAL)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPGAIN[00],CSAL)
+		     + (1 - positif(FLAG_RECTIF)) * GAINTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPGAIN[00]
+			  + (1 - positif(FLAG_RECTIF)) * GAINTARDIF_A)
+		));
+CAPTARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * CAPBASE_MAJO
+		+ FLAG_TRTARDIF_R * SUPCAP[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(CAPTARDIF_A - CAPBASE_MAJO) * min(SUPCAP[2],IPCAPTAXT)
+		    + (1 - positif(TARDIFEVT2) * positif(CAPTARDIF_A - CAPBASE_MAJO)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCAP[00], IPCAPTAXT)
+		    + (1 - positif(FLAG_RECTIF)) * CAPTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPCAP[00]
+			  + (1 - positif(FLAG_RECTIF)) * CAPTARDIF_A)
+		  ));
+HRTARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * HRBASE_MAJO
+		+ FLAG_TRTARDIF_R * SUPHR[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(HRTARDIF_A - HRBASE_MAJO) * min(SUPHR[2],IHAUTREVT)
+		    + (1 - positif(TARDIFEVT2) * positif(HRTARDIF_A - HRBASE_MAJO)) 
+		      * (positif(FLAG_RECTIF) * min(SUPHR[00],IHAUTREVT)
+		    + (1 - positif(FLAG_RECTIF)) * HRTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPHR[00]
+			  + (1 - positif(FLAG_RECTIF)) * HRTARDIF_A)
+		  ));
+RSE1TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE1BASE
+		+ FLAG_TRTARDIF_R * SUPRSE1[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE1[2],RSE1)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE1[00],RSE1)
+		     + (1 - positif(FLAG_RECTIF)) * RSE1TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE1[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE1TARDIF_A)
+		));
+RSE2TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE2BASE
+		+ FLAG_TRTARDIF_R * SUPRSE2[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE2[2],RSE2)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE2[00],RSE2)
+		     + (1 - positif(FLAG_RECTIF)) * RSE2TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE2[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE1TARDIF_A)
+		));
+RSE3TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE3BASE
+		+ FLAG_TRTARDIF_R * SUPRSE3[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE3[2],RSE3)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE3[00],RSE3)
+		     + (1 - positif(FLAG_RECTIF)) * RSE3TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE3[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE3TARDIF_A)
+		));
+RSE4TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE4BASE
+		+ FLAG_TRTARDIF_R * SUPRSE4[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE4[2],RSE4)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE4[00],RSE4)
+		     + (1 - positif(FLAG_RECTIF)) * RSE4TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE4[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE4TARDIF_A)
+		));
+IRNINMAJOP_DEF = max(IRNIN_MAJOP,IRNINMAJOP_A);
+CSGMAJOP_DEF = max(CSG_MAJOP,CSGMAJOP_A);
+RDSMAJOP_DEF =  max(RDS_MAJOP,RDSMAJOP_A);
+PRSMAJOP_DEF =  max(PRS_MAJOP,PRSMAJOP_A);
+regle corrective base_stratemajo 12000:
+application :  iliad ;
+
+
+MAJOISF07TARD_DEF = FLAG_RETARD * MAJOISF07TARDIF_D;
+MAJOISF08TARD_DEF = FLAG_RETARD * MAJOISF08TARDIF_D;
+MAJOISF17TARD_DEF = FLAG_RETARD * MAJOISF17TARDIF_D;
+MAJOISFTARDIF_DEF = somme(x = 07,08,17 : MAJOISFxTARD_DEF);
+
+ISFTARDIF_DEF = max(0,FLAG_RETARD *
+                (FLAG_TRTARDIF * ISF4BASE
+		+ FLAG_TRTARDIF_R * SUPISF[00]
+		+ FLAG_TRTARDIF_F *
+		(positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISFIN) * min(SUPISF[2],ISFNET)
+		+ (1 - positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISFIN))
+		* (positif(FLAG_RECTIF) * min(SUPISF[00],ISFNET)
+		+ (1 - positif(FLAG_RECTIF)) * ISFTARDIF_A)
+		)
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+		* (positif(FLAG_RECTIF) * SUPISF[00]
+		+ (1 - positif(FLAG_RECTIF)) * ISFTARDIF_A)
+		));
+
+ISFBASE_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) * ISF4BASE
+               + (1 - positif(FLAG_TRTARDIF)) * ISFBASE_REF;
+ISFINTARDIF_DEF = max(0,FLAG_RETARD *
+(FLAG_TRTARDIF * ISF4BASE
++ FLAG_TRTARDIF_R * SUPISF[00]
+ + FLAG_TRTARDIF_F *
+ (positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISF4BASE)
+ * (positif(FLAG_RECTIF) * min(SUPISF[2],ISF4BASE)
+ + (1 - positif(FLAG_RECTIF)) * min(ISF4BASE,ISFBASE_REF))
+ + (1 - positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISF4BASE))
+  * (positif(FLAG_RECTIF) * min(SUPISF[00],ISF4BASE)
+  + (1 - positif(FLAG_RECTIF)) * ISFBASE_REF)
+  )
+  + (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+  * (positif(FLAG_RECTIF) * SUPISF[00]
+  + (1 - positif(FLAG_RECTIF)) * ISFINTARDIF_A)
+    ));
+
+
+
+regle corrective base_stratemajo 121:
+application :  oceans, iliad ;
+pour x = 07,08,11,31:
+MAJOPIRx_DEF = max(MAJOIR_Px,MAJOPIRx_A);
+MAJOPIR10_1DEF = max(MAJOIR_P10_1,MAJOPIR10_1A);
+MAJOPIR10_2DEF = max(MAJOIR_P10_2,MAJOPIR10_2A);
+MAJOPIR17_1DEF = max(MAJOIR_P17_1,MAJOPIR17_1A);
+MAJOPIR17_2DEF = max(MAJOIR_P17_2,MAJOPIR17_2A);
+MAJOPIR_DEF = max(MAJOPIR_TOT,MAJOPIR_A);
+pour x = 07,08,10,11,17,31:
+MAJOPCSx_DEF = max(MAJOCS_Px,MAJOPCSx_A);
+MAJOPCS_DEF = max(MAJOPCS_TOT,MAJOPCS_A);
+pour x = 07,08,10,11,17,31:
+MAJOPRDx_DEF = max(MAJORD_Px,MAJOPRDx_A);
+MAJOPRD_DEF = max(MAJOPRD_TOT,MAJOPRD_A);
+pour x = 07,08,10,11,17,31:
+MAJOPPSx_DEF = max(MAJOPS_Px,MAJOPPSx_A);
+MAJOPPS_DEF = max(MAJOPPS_TOT,MAJOPPS_A);
+regle corrective base_stratemajo 122:
+application :  oceans, iliad ;
+MAJOIRST_DEF = MAJOIR_ST ;
+MAJOCSST_DEF = MAJOCS_ST;
+MAJORDST_DEF = MAJORD_ST;
+MAJOPSST_DEF = MAJOPS_ST;
+MAJOCSALST_DEF = MAJOCSAL_ST;
+MAJOCDISST_DEF = MAJOCDIS_ST;
+MAJOTAXAST_DEF = MAJOTAXA_ST;
+
+
+MAJOGAINST_DEF = MAJOGAIN_ST;
+MAJORSE1ST_DEF = MAJORSE1_ST;
+MAJORSE2ST_DEF = MAJORSE2_ST;
+MAJORSE3ST_DEF = MAJORSE3_ST;
+MAJORSE4ST_DEF = MAJORSE4_ST;
+MAJOCAPST_DEF = MAJOCAP_ST;
+MAJOHRST_DEF = MAJOHR_ST;
+TNAPCR[X] = NAPCRINR;
+
+TIRBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(IRBASE,TIRBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(IRBASE,IRNIN_P))
+            + (1 - null(X)) * max(IRBASE,TIRBASE[FLAG_DERSTTR]);
+TIRBASEDEF[X] = IRBASE;
+TCSBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CSBASE,TCSBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CSBASE,CSG_P))
+           + (1 - null(X)) * max(CSBASE,TCSBASE[FLAG_DERSTTR]);
+TRDBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RDBASE,TRDBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RDBASE,RDS_P))
+           + (1 - null(X)) * max(RDBASE,TRDBASE[FLAG_DERSTTR]);
+TPSBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(PSBASE,TPSBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(PSBASE,PRS_P))
+           + (1 - null(X)) * max(PSBASE,TPSBASE[FLAG_DERSTTR]);
+TCSALBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CSALBASE,TCSALBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CSALBASE,CSAL_P))
+           + (1 - null(X)) * max(CSALBASE,TCSALBASE[FLAG_DERSTTR]);
+TGAINBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(GAINBASE,TGAINBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(GAINBASE,GAIN_P))
+           + (1 - null(X)) * max(GAINBASE,TGAINBASE[FLAG_DERSTTR]);
+TCDISBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CDISBASE,TCDISBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CDISBASE,CDIS_P))
+           + (1 - null(X)) * max(CDISBASE,TCDISBASE[FLAG_DERSTTR]);
+TRSE1BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE1BASE,TRSE1BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE1BASE,RSE1_P))
+           + (1 - null(X)) * max(RSE1BASE,TRSE1BASE[FLAG_DERSTTR]);
+TRSE2BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE2BASE,TRSE2BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE2BASE,RSE2_P))
+           + (1 - null(X)) * max(RSE2BASE,TRSE2BASE[FLAG_DERSTTR]);
+TRSE3BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE3BASE,TRSE3BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE3BASE,RSE3_P))
+           + (1 - null(X)) * max(RSE3BASE,TRSE3BASE[FLAG_DERSTTR]);
+TRSE4BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE4BASE,TRSE4BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE4BASE,RSE4_P))
+           + (1 - null(X)) * max(RSE4BASE,TRSE4BASE[FLAG_DERSTTR]);
+TPCAPBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CAPBASE_MAJO,TPCAPBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CAPBASE_MAJO,PCAPBRUT_P))
+           + (1 - null(X)) * max(CAPBASE_MAJO,TPCAPBASE[FLAG_DERSTTR]);
+TPCAPBASEDEF[X] = CAPBASE_MAJO;
+TCHRBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(HRBASE_MAJO,TCHRBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(HRBASE_MAJO,CHRBRUT_P))
+           + (1 - null(X)) * max(HRBASE_MAJO,TCHRBASE[FLAG_DERSTTR]);
+TCHRBASEDEF[X] = HRBASE_MAJO;
+TTAXABASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(TAXABASE_MAJO,TTAXABASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(TAXABASE_MAJO,TAXABRUT_P))
+           + (1 - null(X)) * max(TAXABASE_MAJO,TTAXABASE[FLAG_DERSTTR]);
+TTAXABASEDEF[X] = TAXABASE_MAJO;
+MAJOIR01 = TMAJOIR[22] * STR_TR22
+	   + TMAJOIR[01] * null(CSTRATE1 - 1);
+MAJOIR02_1 = TMAJOIR[20] * STR_TR20 
+	   + TMAJOIR[01] * null(CSTRATE1 - 2);
+MAJOIR02_1_NTL = T2MAJOIR[17] * STR_TR17
+	   + T2MAJOIR[01] * null(CSTRATE1 - 2);
+MAJOIR02_2_NTL = T2MAJOIR[18] * STR_TR18 * (1 - positif(TIRBASE[18]-TIRBASE[20]) * positif(TIRBASE[20])) * (1 - IND_RJLJ)
+               + positif(TIRBASE[18] - TIRBASE[20]) * (1 - IND_RJLJ) * positif(TIRBASE[20])
+                * arr(max(0,(TIRBASE[18] - TIRBASE[0] - (TIRBASE[18] - TIRBASEDEF[20]))) * TX1758A/100) * STR_TR18
+               + T2MAJOIR[01] * null(CSTRATE1 - 2);
+MAJOIR02_1_TL = T2MAJOIR[19] * STR_TR19;
+MAJOIR02_2_TL = T2MAJOIR[20] * STR_TR20;
+MAJOIR02_2 = MAJOIR02_2_TL + MAJOIR02_2_NTL;
+MAJOIR03 = TMAJOIR[13] * STR_TR13 
+	   + TMAJOIR[01] * null(CSTRATE1 - 3);
+MAJOIR04 = TMAJOIR[08] * STR_TR08 
+	   + TMAJOIR[01] * null(CSTRATE1 - 4);
+MAJOIR05 = TMAJOIR[07] * STR_TR07 
+	   + TMAJOIR[01] * null(CSTRATE1 - 5);
+MAJOIR06 = TMAJOIR[03] * STR_TR03
+	   + TMAJOIR[01] * null(CSTRATE1 - 6);
+MAJOIR07 = TMAJOIR[16] * STR_TR16 
+	   + TMAJOIR[01] * null(CSTRATE1 - 7)
+	   + max(0,MAJOIR07TARDIF_DEF) ;
+MAJOIR08 = TMAJOIR[11] * STR_TR11 
+	   + TMAJOIR[01] * null(CSTRATE1 - 8)
+	   + max(0,MAJOIR08TARDIF_DEF) ;
+MAJOIR10_1 = TMAJOIR[14] * STR_TR14 
+	   + TMAJOIR[01] * null(CSTRATE1 - 10);
+MAJOIR10_2 = T2MAJOIR[14] * STR_TR14
+	   + T2MAJOIR[01] * null(CSTRATE1 - 10);
+MAJOIR11 = TMAJOIR[10] * STR_TR10 
+	   + TMAJOIR[01] * null(CSTRATE1 - 11);
+MAJOIR17_1 = TMAJOIR[15] * STR_TR15  
+	   + TMAJOIR[01] * null(CSTRATE1 - 17)
+	   + max(0,MAJOIR17_1TARD_DEF);
+MAJOIR17_2 = T2MAJOIR[15] * STR_TR15
+	   + T2MAJOIR[01] * null(CSTRATE1 - 17)
+	   + max(0,MAJOIR17_2TARD_DEF);
+MAJOIR22 = TMAJOIR[21] * STR_TR21 
+	   + TMAJOIR[01] * null(CSTRATE1 - 22);
+MAJOIR30 = TMAJOIR[09] * STR_TR09 
+	   + TMAJOIR[01] * null(CSTRATE1 - 30);
+MAJOIR31 = TMAJOIR[06] * STR_TR06 
+	   + TMAJOIR[01] * null(CSTRATE1 - 31);
+MAJOIR32 = TMAJOIR[05] * STR_TR05 
+	   + TMAJOIR[01] * null(CSTRATE1 - 32);
+MAJOIR55 = TMAJOIR[12] * STR_TR12
+	   + TMAJOIR[01] * null(CSTRATE1 - 55);
+MAJOIR99 = (TMAJOIR[00] * STR_TR00 
+	   + TMAJOIR[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99)) ;
+MAJOPS01 = TMAJOPS[22] * STR_TR22 
+	   + TMAJOPS[01] * null(CSTRATE1 - 1);
+MAJOPS02 = TMAJOPS[20] * STR_TR20 
+	   + TMAJOPS[01] * null(CSTRATE1 - 2);
+MAJOPS03 = TMAJOPS[13] * STR_TR13 
+	   + TMAJOPS[01] * null(CSTRATE1 - 3);
+MAJOPS04 = TMAJOPS[08] * STR_TR08 
+	   + TMAJOPS[01] * null(CSTRATE1 - 4);
+MAJOPS05 = TMAJOPS[07] * STR_TR07 
+	   + TMAJOPS[01] * null(CSTRATE1 - 5);
+MAJOPS06 = TMAJOPS[03] * STR_TR03
+	   + TMAJOPS[01] * null(CSTRATE1 - 6);
+MAJOPS07 = TMAJOPS[16] * STR_TR16 
+	   + TMAJOPS[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOPS07TARDIF_DEF) ;
+MAJOPS08 = TMAJOPS[11] * STR_TR11 
+	   + TMAJOPS[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOPS08TARDIF_DEF) ;
+MAJOPS10 = TMAJOPS[14] * STR_TR14 
+	   + TMAJOPS[01] * null(CSTRATE1 - 10);
+MAJOPS11 = TMAJOPS[10] * STR_TR10 
+	   + TMAJOPS[01] * null(CSTRATE1 - 11);
+MAJOPS17 = TMAJOPS[15] * STR_TR15 
+	   + TMAJOPS[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOPS17TARDIF_DEF) ;
+MAJOPS22 = TMAJOPS[21] * STR_TR21 
+	   + TMAJOPS[01] * null(CSTRATE1 - 22);
+MAJOPS30 = TMAJOPS[09] * STR_TR09 
+	   + TMAJOPS[01] * null(CSTRATE1 - 30);
+MAJOPS31 = TMAJOPS[06] * STR_TR06 
+	   + TMAJOPS[01] * null(CSTRATE1 - 31);
+MAJOPS55 = TMAJOPS[12] * STR_TR12 
+	   + TMAJOPS[01] * null(CSTRATE1 - 55);
+MAJOPS99 = (TMAJOPS[00] * STR_TR00 
+	   + TMAJOPS[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJOCS01 = TMAJOCS[22] * STR_TR22 
+	   + TMAJOCS[01] * null(CSTRATE1 - 1);
+MAJOCS02 = TMAJOCS[20] * STR_TR20 
+	   + TMAJOCS[01] * null(CSTRATE1 - 2);
+MAJOCS03 = TMAJOCS[13] * STR_TR13 
+	   + TMAJOCS[01] * null(CSTRATE1 - 3);
+MAJOCS04 = TMAJOCS[08] * STR_TR08 
+	   + TMAJOCS[01] * null(CSTRATE1 - 4);
+MAJOCS05 = TMAJOCS[07] * STR_TR07 
+	   + TMAJOCS[01] * null(CSTRATE1 - 5);
+MAJOCS06 = TMAJOCS[03] * STR_TR03
+	   + TMAJOCS[01] * null(CSTRATE1 - 6);
+MAJOCS07 = TMAJOCS[16] * STR_TR16 
+	   + TMAJOCS[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOCS07TARDIF_DEF) ;
+MAJOCS08 = TMAJOCS[11] * STR_TR11 
+	   + TMAJOCS[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOCS08TARDIF_DEF) ;
+MAJOCS10 = TMAJOCS[14] * STR_TR14 
+	   + TMAJOCS[01] * null(CSTRATE1 - 10);
+MAJOCS11 = TMAJOCS[10] * STR_TR10 
+	   + TMAJOCS[01] * null(CSTRATE1 - 11);
+MAJOCS17 = TMAJOCS[15] * STR_TR15 
+	   + TMAJOCS[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOCS17TARDIF_DEF) ;
+MAJOCS22 = TMAJOCS[21] * STR_TR21 
+	   + TMAJOCS[01] * null(CSTRATE1 - 22);
+MAJOCS30 = TMAJOCS[09] * STR_TR09 
+	   + TMAJOCS[01] * null(CSTRATE1 - 30);
+MAJOCS31 = TMAJOCS[06] * STR_TR06 
+	   + TMAJOCS[01] * null(CSTRATE1 - 31);
+MAJOCS32 = TMAJOCS[05] * STR_TR05 
+	   + TMAJOCS[01] * null(CSTRATE1 - 32);
+MAJOCS55 = TMAJOCS[12] * STR_TR12 
+	   + TMAJOCS[01] * null(CSTRATE1 - 55);
+MAJOCS99 = (TMAJOCS[00] * STR_TR00 
+	   + TMAJOCS[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJORD01 = TMAJORD[22] * STR_TR22 
+	   + TMAJORD[01] * null(CSTRATE1 - 1);
+MAJORD02 = TMAJORD[20] * STR_TR20 
+	   + TMAJORD[01] * null(CSTRATE1 - 2);
+MAJORD03 = TMAJORD[13] * STR_TR13 
+	   + TMAJORD[01] * null(CSTRATE1 - 3);
+MAJORD04 = TMAJORD[08] * STR_TR08 
+	   + TMAJORD[01] * null(CSTRATE1 - 4);
+MAJORD05 = TMAJORD[07] * STR_TR07 
+	   + TMAJORD[01] * null(CSTRATE1 - 5);
+MAJORD06 = TMAJORD[03] * STR_TR03
+	   + TMAJORD[01] * null(CSTRATE1 - 6);
+MAJORD07 = TMAJORD[16] * STR_TR16 
+	   + TMAJORD[01] * null(CSTRATE1 - 7)
+           + max(0,MAJORD07TARDIF_DEF) ;
+MAJORD08 = TMAJORD[11] * STR_TR11 
+	   + TMAJORD[01] * null(CSTRATE1 - 8)
+           + max(0,MAJORD08TARDIF_DEF) ;
+MAJORD10 = TMAJORD[14] * STR_TR14 
+	   + TMAJORD[01] * null(CSTRATE1 - 10);
+MAJORD11 = TMAJORD[10] * STR_TR10 
+	   + TMAJORD[01] * null(CSTRATE1 - 11);
+MAJORD17 = TMAJORD[15] * STR_TR15 
+	   + TMAJORD[01] * null(CSTRATE1 - 17)
+           + max(0,MAJORD17TARDIF_DEF) ;
+MAJORD22 = TMAJORD[21] * STR_TR21 
+	   + TMAJORD[01] * null(CSTRATE1 - 22);
+MAJORD30 = TMAJORD[09] * STR_TR09 
+	   + TMAJORD[01] * null(CSTRATE1 - 30);
+MAJORD31 = TMAJORD[06] * STR_TR06 
+	   + TMAJORD[01] * null(CSTRATE1 - 31);
+MAJORD32 = TMAJORD[05] * STR_TR05 
+	   + TMAJORD[01] * null(CSTRATE1 - 32);
+MAJORD55 = TMAJORD[12] * STR_TR12 
+	   + TMAJORD[01] * null(CSTRATE1 - 55);
+MAJORD99 = (TMAJORD[00] * STR_TR00 
+	   + TMAJORD[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJOCSAL01 = TMAJOCSAL[22] * STR_TR22 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 1);
+MAJOCSAL02 = TMAJOCSAL[20] * STR_TR20 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 2);
+MAJOCSAL03 = TMAJOCSAL[13] * STR_TR13 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 3);
+MAJOCSAL04 = TMAJOCSAL[08] * STR_TR08 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 4);
+MAJOCSAL05 = TMAJOCSAL[07] * STR_TR07 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 5);
+MAJOCSAL06 = TMAJOCSAL[03] * STR_TR03
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 6);
+MAJOCSAL07 = TMAJOCSAL[16] * STR_TR16 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOSA07TARDIF_DEF) ;
+MAJOCSAL08 = TMAJOCSAL[11] * STR_TR11 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOSA08TARDIF_DEF) ;
+MAJOCSAL10 = TMAJOCSAL[14] * STR_TR14 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 10);
+MAJOCSAL11 = TMAJOCSAL[10] * STR_TR10 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 11);
+MAJOCSAL17 = TMAJOCSAL[15] * STR_TR15 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOSA17TARDIF_DEF) ;
+MAJOCSAL22 = TMAJOCSAL[21] * STR_TR21 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 22);
+MAJOCSAL30 = TMAJOCSAL[09] * STR_TR09 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 30);
+MAJOCSAL31 = TMAJOCSAL[06] * STR_TR06 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 31);
+MAJOCSAL55 = TMAJOCSAL[12] * STR_TR12 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 55);
+MAJOCSAL99 = (TMAJOCSAL[00] * STR_TR00 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJOGAIN01 = TMAJOGAIN[22] * STR_TR22 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 1);
+MAJOGAIN02 = TMAJOGAIN[20] * STR_TR20 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 2);
+MAJOGAIN03 = TMAJOGAIN[13] * STR_TR13 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 3);
+MAJOGAIN04 = TMAJOGAIN[08] * STR_TR08 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 4);
+MAJOGAIN05 = TMAJOGAIN[07] * STR_TR07 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 5);
+MAJOGAIN06 = TMAJOGAIN[03] * STR_TR03
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 6);
+MAJOGAIN07 = TMAJOGAIN[16] * STR_TR16 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOGA07TARDIF_DEF) ;
+MAJOGAIN08 = TMAJOGAIN[11] * STR_TR11 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOGA08TARDIF_DEF) ;
+MAJOGAIN10 = TMAJOGAIN[14] * STR_TR14 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 10);
+MAJOGAIN11 = TMAJOGAIN[10] * STR_TR10 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 11);
+MAJOGAIN17 = TMAJOGAIN[15] * STR_TR15 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOGA17TARDIF_DEF) ;
+MAJOGAIN22 = TMAJOGAIN[21] * STR_TR21 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 22);
+MAJOGAIN30 = TMAJOGAIN[09] * STR_TR09 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 30);
+MAJOGAIN31 = TMAJOGAIN[06] * STR_TR06 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 31);
+MAJOGAIN55 = TMAJOGAIN[12] * STR_TR12 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 55);
+MAJOGAIN99 = (TMAJOGAIN[00] * STR_TR00 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJOCDIS01 = TMAJOCDIS[22] * STR_TR22 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 1);
+MAJOCDIS02 = TMAJOCDIS[20] * STR_TR20 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 2);
+MAJOCDIS03 = TMAJOCDIS[13] * STR_TR13 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 3);
+MAJOCDIS04 = TMAJOCDIS[08] * STR_TR08 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 4);
+MAJOCDIS05 = TMAJOCDIS[07] * STR_TR07 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 5);
+MAJOCDIS06 = TMAJOCDIS[03] * STR_TR03
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 6);
+MAJOCDIS07 = TMAJOCDIS[16] * STR_TR16 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOCDIS07TARD_DEF) ;
+MAJOCDIS08 = TMAJOCDIS[11] * STR_TR11 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOCDIS08TARD_DEF) ;
+MAJOCDIS10 = TMAJOCDIS[14] * STR_TR14 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 10);
+MAJOCDIS11 = TMAJOCDIS[10] * STR_TR10 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 11);
+MAJOCDIS17 = TMAJOCDIS[15] * STR_TR15 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOCDIS17TARD_DEF) ;
+MAJOCDIS22 = TMAJOCDIS[21] * STR_TR21 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 22);
+MAJOCDIS30 = TMAJOCDIS[09] * STR_TR09 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 30);
+MAJOCDIS31 = TMAJOCDIS[06] * STR_TR06 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 31);
+MAJOCDIS55 = TMAJOCDIS[12] * STR_TR12 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 55);
+MAJOCDIS99 = (TMAJOCDIS[00] * STR_TR00 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJORSE101 = TMAJORSE1[22] * STR_TR22 
+	   + TMAJORSE1[01] * null(CSTRATE1 - 1);
+MAJORSE102 = TMAJORSE1[20] * STR_TR20 
+	   + TMAJORSE1[01] * null(CSTRATE1 - 2);
+MAJORSE103 = TMAJORSE1[13] * STR_TR13 
+	   + TMAJORSE1[01] * null(CSTRATE1 - 3);
+MAJORSE104 = TMAJORSE1[08] * STR_TR08 
+	   + TMAJORSE1[01] * null(CSTRATE1 - 4);
+MAJORSE105 = TMAJORSE1[07] * STR_TR07 
+	   + TMAJORSE1[01] * null(CSTRATE1 - 5);
+MAJORSE106 = TMAJORSE1[03] * STR_TR03
+	   + TMAJORSE1[01] * null(CSTRATE1 - 6);
+MAJORSE107 = TMAJORSE1[16] * STR_TR16 
+	   + TMAJORSE1[01] * null(CSTRATE1 - 7)
+           + max(0,MAJORSE107TARD_DEF) ;
+MAJORSE108 = TMAJORSE1[11] * STR_TR11 
+	   + TMAJORSE1[01] * null(CSTRATE1 - 8)
+           + max(0,MAJORSE108TARD_DEF) ;
+MAJORSE110 = TMAJORSE1[14] * STR_
\ No newline at end of file
diff --git a/sources2011m_9_6/chap-cor.m b/sources2011m_9_6/chap-cor.m
new file mode 100644
index 0000000000000000000000000000000000000000..711e525fef1f57c4e2f7f276cd51dc0bc3bdd91f
--- /dev/null
+++ b/sources2011m_9_6/chap-cor.m
@@ -0,0 +1,394 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+regle  corrective base_INITIAL 1080:
+application :  oceans, iliad ;
+PRS_P = PRS;
+CSG_P = CSG;
+RDS_P = RDSN;
+IRNIN_P = IRN ;
+IRNIN_INR_P = IRNIN_INR;
+CSREC_P = CSREC;
+NAPCR_P = NAPCR;
+TAXA_P = TAXABASE ;
+CHR_P = CHRBASE ;
+TAXABRUT_P = TAXASSUR ;
+PCAPBRUT_P = IPCAPTAXT ;
+CHRBRUT_P = IHAUTREVT ;
+PCAP_P = PCAPBASE ;
+GAIN_P = GAINBASE ;
+RSE1_P = RSE1BASE ;
+RSE2_P = RSE2BASE ;
+RSE3_P = RSE3BASE ;
+RSE4_P = RSE4BASE ;
+CSAL_P = CSALBASE ;
+CDIS_P = CDISBASE ;
+VAR7WY_P = DEPCHOBAS;
+VAR7WZ_P = DEPMOBIL;
+ISF_P = ISF4BASE;
+regle corrective base_anterieure_cor 11:
+application :  oceans, iliad ;
+ANTPPETOT = PPETOT ;
+ANTPPEREST2A = PPEREST2A ;
+ANTPPEIMP2A = PPEIMP2A ;
+DIFF7WY_A = DIFF7WY ; 
+DIFF7WZ_A = DIFF7WZ ; 
+NATIMP_A = NATIMP ; 
+PCSG_A = PCSG;
+PRDS_A = PRDS;
+PIR_A = PIR;
+PTAXA_A=PTAXA;
+PCHR_A=PHAUTREV;
+PPCAP_A=PPCAP;
+PGAIN_A=PGAIN;
+PRSE1_A=PRSE1;
+PRSE2_A=PRSE2;
+PRSE3_A=PRSE3;
+PRSE4_A=PRSE4;
+PCSAL_A=PCSAL;
+PCDIS_A=PCDIS;
+PTOT_A = PTOT;
+PPRS_A = PPRS;
+RNI_A = RNI;
+IREST_A = IREST;
+IDEGR_A = IRDEG;
+IRN_A = IRN;
+TAXANET_A = TAXANET;
+CHRNET_A = HAUTREVNET;
+PCAPNET_A = PCAPNET;
+GAINNET_A = GAINNET;
+RSE1NET_A = RSE1NET;
+RSE2NET_A = RSE2NET;
+RSE3NET_A = RSE3NET;
+RSE4NET_A = RSE4NET;
+IDCSG_A = IDCSG;
+DCSGIM_A = DCSGIM;
+IRANT_A = IRANT;
+IRNIN_A = IRNIN;
+IRNIN_INR_A = IRNIN_INR;
+CSG_A = CSG*positif(CSG+PRS+RDSN+CSAL+CDIS+CGAINSAL+RSE1+RSE2+RSE3+RSE4-SEUIL_REC_CP2);
+RDS_A = RDSN*positif(CSG+PRS+RDSN+CSAL+CDIS+CGAINSAL+RSE1+RSE2+RSE3+RSE4-SEUIL_REC_CP2);
+PRS_A = PRS*positif(CSG+PRS+RDSN+CSAL+CDIS+CGAINSAL+RSE1+RSE2+RSE3+RSE4-SEUIL_REC_CP2);
+CSAL_A = CSAL*positif(CSG+PRS+RDSN+CSAL+CDIS+CGAINSAL+RSE1+RSE2+RSE3+RSE4-SEUIL_REC_CP2);
+CDIS_A = CDIS*positif(CSG+PRS+RDSN+CSAL+CDIS+CGAINSAL+RSE1+RSE2+RSE3+RSE4-SEUIL_REC_CP2);
+GAINBASE_A = CGAINSAL*positif(CSG+PRS+RDSN+CSAL+CDIS+CGAINSAL+RSE1+RSE2+RSE3+RSE4-SEUIL_REC_CP2);
+CICA_A = CICA;
+TAXABASE_A = TAXABASE;
+CHRBASE_A = CHRBASE;
+PCAPBASE_A = PCAPBASE;
+RSE1BASE_A = RSE1BASE;
+RSE2BASE_A = RSE2BASE;
+RSE3BASE_A = RSE3BASE;
+RSE4BASE_A = RSE4BASE;
+CSALBASE_A = CSALBASE;
+CDISBASE_A = CDISBASE;
+IRNIN_R99R_A = IRNIN_R99R+(IRNIN_PA)*null(1-IND_PASSAGE);
+IRNIN_R9901_A = IRNIN_R9901;
+CSG_R9901_A = CSG_R9901;
+RDS_R9901_A = RDS_R9901;
+PRS_R9901_A = PRS_R9901;
+CSAL_R9901_A = CSAL_R9901;
+CDIS_R9901_A = CDIS_R9901;
+TAXA_R9901_A = TAXA_R9901;
+CHR_R9901_A = CHR_R9901;
+PCAP_R9901_A = PCAP_R9901;
+GAIN_R9901_A = GAIN_R9901;
+RSE1_R9901_A = RSE1_R9901;
+RSE2_R9901_A = RSE2_R9901;
+RSE3_R9901_A = RSE3_R9901;
+RSE4_R9901_A = RSE4_R9901;
+CSG_R99R_A = CSG_R99R+CSG_PA*null(1-IND_PASSAGE);
+RDS_R99R_A = RDS_R99R+CRDS_PA*null(1-IND_PASSAGE);
+PRS_R99R_A = PRS_R99R+PRS_PA*null(1-IND_PASSAGE);
+CSAL_R99R_A = CSAL_R99R+CSAL_PA*null(1-IND_PASSAGE);
+CDIS_R99R_A = CDIS_R99R+CDIS_PA*null(1-IND_PASSAGE);
+TAXA_R99R_A = TAXA_R99R+TAXA_PA*null(1-IND_PASSAGE);
+CHR_R99R_A = CHR_R99R+CHR_PA*null(1-IND_PASSAGE);
+PCAP_R99R_A = PCAP_R99R+PCAP_PA*null(1-IND_PASSAGE);
+GAIN_R99R_A = GAIN_R99R+GAIN_PA*null(1-IND_PASSAGE);
+RSE1_R99R_A = RSE1_R99R+RSE1_PA*null(1-IND_PASSAGE);
+RSE2_R99R_A = RSE2_R99R+RSE2_PA*null(1-IND_PASSAGE);
+RSE3_R99R_A = RSE3_R99R+RSE3_PA*null(1-IND_PASSAGE);
+RSE4_R99R_A = RSE4_R99R+RSE4_PA*null(1-IND_PASSAGE);
+INRIR_R99R_A = INRIR_R99R+INRIR_R99RA;
+INRCSG_R99R_A = INRCSG_R99R+INRCSG_R99RA;
+INRCRDS_R99R_A = INRCRDS_R99R+INRCRDS_R99RA;
+INRPRS_R99R_A = INRPRS_R99R+INRPRS_R99RA;
+INRCSAL_R99R_A = INRCSAL_R99R+INRCSAL_R99RA;
+INRCDIS_R99R_A = INRCDIS_R99R+INRCDIS_R99RA;
+INRTAXA_R99R_A = INRTAXA_R99R+INRTAXA_R99RA;
+INRCHR_R99R_A = INRCHR_R99R+INRCHR_R99RA;
+INRPCAP_R99R_A = INRPCAP_R99R+INRPCAP_R99RA;
+INRGAIN_R99R_A = INRGAIN_R99R+INRGAIN_R99RA;
+INRRSE1_R99R_A = INRRSE1_R99R+INRRSE1_R99RA;
+INRRSE2_R99R_A = INRRSE2_R99R+INRRSE2_R99RA;
+INRRSE3_R99R_A = INRRSE3_R99R+INRRSE3_R99RA;
+INRRSE4_R99R_A = INRRSE4_R99R+INRRSE4_R99RA;
+INRIR_R9901_A = INRIR_R9901+INRIR_R9901A;
+INRCSG_R9901_A = INRCSG_R9901+INRCSG_R9901A;
+INRCRDS_R9901_A = INRCRDS_R9901+INRCRDS_R9901A;
+INRPRS_R9901_A = INRPRS_R9901+INRPRS_R9901A;
+INRCSAL_R9901_A = INRCSAL_R9901+INRCSAL_R9901A;
+INRCDIS_R9901_A = INRCDIS_R9901+INRCDIS_R9901A;
+INRTAXA_R9901_A = INRTAXA_R9901+INRTAXA_R9901A;
+INRCHR_R9901_A = INRCHR_R9901+INRCHR_R9901A;
+INRPCAP_R9901_A = INRPCAP_R9901+INRPCAP_R9901A;
+INRGAIN_R9901_A = INRGAIN_R9901+INRGAIN_R9901A;
+INRRSE1_R9901_A = INRRSE1_R9901+INRRSE1_R9901A;
+INRRSE2_R9901_A = INRRSE2_R9901+INRRSE2_R9901A;
+INRRSE3_R9901_A = INRRSE3_R9901+INRRSE3_R9901A;
+INRRSE4_R9901_A = INRRSE4_R9901+INRRSE4_R9901A;
+IAR_A = IAR;
+NAPIR_A=NAPIR;
+
+IND_PASSAGE_A = IND_PASSAGE;
+IND_PASSR9901_A = IND_PASSR9901;
+IRNIN_RECT_A = IRNIN_RECT;
+INRIR_RECT_A = INRIR_RECT;
+
+IRNIN_REF_A = max(IRNIN_INR,IRNIN_P+IRNIN_PA)*positif(DO_INR_IR2)
+	     + (IRNIN_REF * (1-positif(INDFLAGCIR)) + IRNIN_R * positif(INDFLAGCIR))
+            * (1-positif(DO_INR_IR2));
+CSG_REF_A = max(CSG,CSG_P+CSG_PA)*positif(DO_INR_CSG2)
+	   + CSG_REF * (1-positif(INDFLAGCCSG)) + CSG_R * positif(INDFLAGCCSG);
+RDS_REF_A = max(RDSN,RDS_P+CRDS_PA)*positif(DO_INR_CRDS2)
+            + RDS_REF * (1-positif(INDFLAGCRDS)) + RDS_R * positif(INDFLAGCRDS);
+PRS_REF_A = max(PRS,PRS_P+PRS_PA)*positif(DO_INR_PS2)
+            + PRS_REF * (1-positif(INDFLAGCPRS)) + PRS_R * positif(INDFLAGCPRS);
+CSAL_REF_A = max(CSAL,CSAL_P+CSAL_PA)*positif(DO_INR_CSAL2)
+            + CSAL_REF * (1-positif(INDFLAGCCSAL)) + CSAL_R * positif(INDFLAGCCSAL);
+CDIS_REF_A = max(CDIS,CDIS_P+CDIS_PA)*positif(DO_INR_CDIS2)
+            + CDIS_REF * (1-positif(INDFLAGCCDIS)) + CDIS_R * positif(INDFLAGCCDIS);
+TAXA_REF_A = max(TAXABASE,TAXA_P+TAXA_PA)*positif(DO_INR_TAXA2)
+            + TAXA_REF * (1-positif(INDFLAGCTAXA)) + TAXA_R * positif(INDFLAGCTAXA);
+CHR_REF_A = max(CHRBASE,CHR_P+CHR_PA)*positif(DO_INR_CHR2)
+            + CHR_REF * (1-positif(INDFLAGCCHR)) + CHR_R * positif(INDFLAGCCHR);
+PCAP_REF_A = max(PCAPBASE,PCAP_P+PCAP_PA)*positif(DO_INR_PCAP2)
+            + PCAP_REF * (1-positif(INDFLAGCPCAP)) + PCAP_R * positif(INDFLAGCPCAP);
+GAIN_REF_A = max(GAINBASE,GAIN_P+GAIN_PA)*positif(DO_INR_GAIN2)
+            + GAIN_REF * (1-positif(INDFLAGCGAIN)) + GAIN_R * positif(INDFLAGCGAIN);
+RSE1_REF_A = max(RSE1BASE,RSE1_P+RSE1_PA)*positif(DO_INR_RSE12)
+            + RSE1_REF * (1-positif(INDFLAGCRSE1)) + RSE1_R * positif(INDFLAGCRSE1);
+RSE2_REF_A = max(RSE2BASE,RSE2_P+RSE2_PA)*positif(DO_INR_RSE22)
+            + RSE2_REF * (1-positif(INDFLAGCRSE2)) + RSE2_R * positif(INDFLAGCRSE2);
+RSE3_REF_A = max(RSE3BASE,RSE3_P+RSE3_PA)*positif(DO_INR_RSE32)
+            + RSE3_REF * (1-positif(INDFLAGCRSE3)) + RSE3_R * positif(INDFLAGCRSE3);
+RSE4_REF_A = max(RSE4BASE,RSE4_P+RSE4_PA)*positif(DO_INR_RSE42)
+            + RSE4_REF * (1-positif(INDFLAGCRSE4)) + RSE4_R * positif(INDFLAGCRSE4);
+
+IRNIN_PA_A = IRNIN_PA;
+CSG_PA_A = CSG_PA;
+CRDS_PA_A = CRDS_PA;
+PRS_PA_A = PRS_PA;
+CSAL_PA_A = CSAL_PA;
+CDIS_PA_A = CDIS_PA;
+TAXA_PA_A = TAXA_PA;
+CHR_PA_A = CHR_PA;
+PCAP_PA_A = PCAP_PA;
+GAIN_PA_A = GAIN_PA;
+RSE1_PA_A = RSE1_PA;
+RSE2_PA_A = RSE2_PA;
+RSE3_PA_A = RSE3_PA;
+RSE4_PA_A = RSE4_PA;
+
+
+DO_INR_IR_A = DO_INR_IR + DO_INR_IRC;
+DO_IR_A = DO_IR;
+DO_INR_CSG_A = DO_INR_CSG+ DO_INR_CSGC;
+DO_CSG_A = DO_CSG;
+DO_INR_CRDS_A = DO_INR_CRDS+ DO_INR_CRDSC;
+DO_CRDS_A = DO_CRDS;
+DO_INR_PS_A = DO_INR_PS+ DO_INR_PSC;
+DO_PS_A = DO_PS;
+DO_INR_CSAL_A = DO_INR_CSAL+ DO_INR_CSALC;
+DO_CSAL_A = DO_CSAL;
+DO_INR_CDIS_A = DO_INR_CDIS+ DO_INR_CDISC;
+DO_CDIS_A = DO_CDIS;
+DO_INR_TAXA_A = DO_INR_TAXAGA+ DO_INR_TAXAC;
+DO_TAXA_A = DO_TAXA;
+DO_INR_CHR_A = DO_INR_CHR+ DO_INR_CHRC;
+DO_CHR_A = DO_CHR;
+DO_INR_PCAP_A = DO_INR_PCAP+ DO_INR_PCAPC;
+DO_PCAP_A = DO_PCAP;
+DO_INR_GAIN_A = DO_INR_GAIN+ DO_INR_GAINC;
+DO_GAIN_A = DO_GAIN;
+DO_INR_RSE1_A = DO_INR_RSE1+ DO_INR_RSE1C;
+DO_RSE1_A = DO_RSE1;
+DO_INR_RSE2_A = DO_INR_RSE2+ DO_INR_RSE2C;
+DO_RSE2_A = DO_RSE2;
+DO_INR_RSE3_A = DO_INR_RSE3+ DO_INR_RSE3C;
+DO_RSE3_A = DO_RSE3;
+DO_INR_RSE4_A = DO_INR_RSE4+ DO_INR_RSE4C;
+DO_RSE4_A = DO_RSE4;
+
+INRIR_NTL_A= INRIR_NTLDEC+INRIR_NTLADEC;
+INRCSG_NTL_A=INRCSG_NTLDEC+INRCSG_NTLADEC;
+INRCRDS_NTL_A=INRCRDS_NTLDEC+INRCRDS_NTLADEC;
+INRPRS_NTL_A=INRPRS_NTLDEC+INRPS_NTLADEC;
+INRCSAL_NTL_A=INRCSAL_NTLDEC+INRCSAL_NTLADEC;
+INRCDIS_NTL_A=INRCDIS_NTLDEC+INRCDIS_NTLADEC;
+INRTAXA_NTL_A=INRTAXA_NTLDEC+INRTAXA_NTLADEC;
+INRCHR_NTL_A=INRCHR_NTLDEC+INRCHR_NTLADEC;
+INRPCAP_NTL_A=INRPCAP_NTLDEC+INRPCAP_NTLADEC;
+INRGAIN_NTL_A=INRGAIN_NTLDEC+INRGAIN_NTLADEC;
+INRRSE1_NTL_A=INRRSE1_NTLDEC+INRRSE1_NTLADEC;
+INRRSE2_NTL_A=INRRSE2_NTLDEC+INRRSE2_NTLADEC;
+INRRSE3_NTL_A=INRRSE3_NTLDEC+INRRSE3_NTLADEC;
+INRRSE4_NTL_A=INRRSE4_NTLDEC+INRRSE4_NTLADEC;
+INRIR_NTL_1_A= INRIR_NTLDEC_1+INRIR_NTLADEC_1;
+INRCSG_NTL_1_A=INRCSG_NTLDEC_1+INRCSG_NTLADEC_1;
+INRCRDS_NTL_1_A=INRCRDS_NTLDEC_1+INRCRDS_NTLADEC_1;
+INRPRS_NTL_1_A=INRPRS_NTLDEC_1+INRPS_NTLADEC_1;
+INRCSAL_NTL_1_A=INRCSAL_NTLDEC_1+INRCSAL_NTLADEC_1;
+INRCDIS_NTL_1_A=INRCDIS_NTLDEC_1+INRCDIS_NTLADEC_1;
+INRTAXA_NTL_1_A=INRTAXA_NTLDEC_1+INRTAXA_NTLADEC_1;
+INRCHR_NTL_1_A=INRCHR_NTLDEC_1+INRCHR_NTLADEC_1;
+INRPCAP_NTL_1_A=INRPCAP_NTLDEC_1+INRPCAP_NTLADEC_1;
+INRGAIN_NTL_1_A=INRGAIN_NTLDEC_1+INRGAIN_NTLADEC_1;
+INRRSE1_NTL_1_A=INRRSE1_NTLDEC_1+INRRSE1_NTLADEC_1;
+INRRSE2_NTL_1_A=INRRSE2_NTLDEC_1+INRRSE2_NTLADEC_1;
+INRRSE3_NTL_1_A=INRRSE3_NTLDEC_1+INRRSE3_NTLADEC_1;
+INRRSE4_NTL_1_A=INRRSE4_NTLDEC_1+INRRSE4_NTLADEC_1;
+
+INRIR_TL_1_A=INRIR_TLADEC_12+max(0,INRIR_TL_1_AD-arr(DO_INR_IR*INRIR_TL_1_AD/(INRIR_TL_1_AD+INRIR_TL_AD)));
+INRCSG_TL_1_A=INRCSG_TLADEC_12+max(0,INRCSG_TL_1_AD-arr(DO_INR_CSG*INRCSG_TL_1_AD/(INRCSG_TL_AD+INRCSG_TL_1_AD)));
+INRPRS_TL_1_A=INRPRS_TLADEC_12+max(0,INRPRS_TL_1_AD-arr(DO_INR_PS*INRPRS_TL_1_AD/(INRPRS_TL_AD+INRPRS_TL_1_AD)));
+INRCRDS_TL_1_A=INRCRDS_TLADEC_12+max(0,INRCRDS_TL_1_AD-arr(DO_INR_CRDS*INRCRDS_TL_1_AD/(INRCRDS_TL_AD+INRCRDS_TL_1_AD)));
+INRCSAL_TL_1_A=INRCSAL_TLADEC_12+max(0,INRCSAL_TL_1_AD-arr(DO_INR_CSAL*INRCSAL_TL_1_AD/(INRCSAL_TL_AD+INRCSAL_TL_1_AD)));
+INRCDIS_TL_1_A=INRCDIS_TLADEC_12+max(0,INRCDIS_TL_1_AD-arr(DO_INR_CDIS*INRCDIS_TL_1_AD/(INRCDIS_TL_AD+INRCDIS_TL_1_AD)));
+INRTAXA_TL_1_A=INRTAXA_TLADEC_12+max(0,INRTAXA_TL_1_AD -arr(DO_INR_TAXAGA*INRTAXA_TL_1_AD/(INRTAXA_TL_AD+INRTAXA_TL_1_AD)));
+INRCHR_TL_1_A=INRCHR_TLADEC_12+max(0,INRCHR_TL_1_AD -arr(DO_INR_CHR*INRCHR_TL_1_AD/(INRCHR_TL_AD+INRCHR_TL_1_AD)));
+INRPCAP_TL_1_A=INRPCAP_TLADEC_12+max(0,INRPCAP_TL_1_AD -arr(DO_INR_PCAP*INRPCAP_TL_1_AD/(INRPCAP_TL_AD+INRPCAP_TL_1_AD)));
+INRGAIN_TL_1_A=INRGAIN_TLADEC_12+max(0,INRGAIN_TL_1_AD -arr(DO_INR_GAIN*INRGAIN_TL_1_AD/(INRGAIN_TL_AD+INRGAIN_TL_1_AD)));
+INRRSE1_TL_1_A=INRRSE1_TLADEC_12+max(0,INRRSE1_TL_1_AD -arr(DO_INR_RSE1*INRRSE1_TL_1_AD/(INRRSE1_TL_AD+INRRSE1_TL_1_AD)));
+INRRSE2_TL_1_A=INRRSE2_TLADEC_12+max(0,INRRSE2_TL_1_AD -arr(DO_INR_RSE2*INRRSE2_TL_1_AD/(INRRSE2_TL_AD+INRRSE2_TL_1_AD)));
+INRRSE3_TL_1_A=INRRSE3_TLADEC_12+max(0,INRRSE3_TL_1_AD -arr(DO_INR_RSE3*INRRSE3_TL_1_AD/(INRRSE3_TL_AD+INRRSE3_TL_1_AD)));
+INRRSE4_TL_1_A=INRRSE4_TLADEC_12+max(0,INRRSE4_TL_1_AD -arr(DO_INR_RSE4*INRRSE4_TL_1_AD/(INRRSE4_TL_AD+INRRSE4_TL_1_AD)));
+
+INRIR_TL_A=INRIR_TLADEC+max(0,INRIR_TL_AD-arr(DO_INR_IR*INRIR_TL_AD/(INRIR_TL_AD+INRIR_TL_1_AD)));
+INRCSG_TL_A=INRCSG_TLADEC+max(0,INRCSG_TL_AD -arr(DO_INR_CSG*INRCSG_TL_AD/(INRCSG_TL_AD+INRCSG_TL_1_AD)));
+INRPRS_TL_A=INRPRS_TLADEC+max(0,INRPRS_TL_AD -arr(DO_INR_PS*INRPRS_TL_AD/(INRPRS_TL_AD+INRPRS_TL_1_AD)));
+INRCRDS_TL_A=INRCRDS_TLADEC+max(0,INRCRDS_TL_AD -arr(DO_INR_CRDS*INRCRDS_TL_AD/(INRCRDS_TL_AD+INRCRDS_TL_1_AD)));
+INRCSAL_TL_A=INRCSAL_TLADEC+max(0,INRCSAL_TL_AD -arr(DO_INR_CSAL*INRCSAL_TL_AD/(INRCSAL_TL_AD+INRCSAL_TL_1_AD)));
+INRCDIS_TL_A=INRCDIS_TLADEC+max(0,INRCDIS_TL_AD -arr(DO_INR_CDIS*INRCDIS_TL_AD/(INRCDIS_TL_AD+INRCDIS_TL_1_AD)));
+INRTAXA_TL_A=INRTAXA_TLADEC+max(0,INRTAXA_TL_AD-arr(DO_INR_TAXAGA*INRTAXA_TL_AD/(INRTAXA_TL_AD+INRTAXA_TL_1_AD)));
+INRCHR_TL_A=INRCHR_TLADEC+max(0,INRCHR_TL_AD-arr(DO_INR_CHR*INRCHR_TL_AD/(INRCHR_TL_AD+INRCHR_TL_1_AD)));
+INRPCAP_TL_A=INRPCAP_TLADEC+max(0,INRPCAP_TL_AD-arr(DO_INR_PCAP*INRPCAP_TL_AD/(INRPCAP_TL_AD+INRPCAP_TL_1_AD)));
+INRGAIN_TL_A=INRGAIN_TLADEC+max(0,INRGAIN_TL_AD-arr(DO_INR_GAIN*INRGAIN_TL_AD/(INRGAIN_TL_AD+INRGAIN_TL_1_AD)));
+INRRSE1_TL_A=INRRSE1_TLADEC+max(0,INRRSE1_TL_AD-arr(DO_INR_RSE1*INRRSE1_TL_AD/(INRRSE1_TL_AD+INRRSE1_TL_1_AD)));
+INRRSE2_TL_A=INRRSE2_TLADEC+max(0,INRRSE2_TL_AD-arr(DO_INR_RSE2*INRRSE2_TL_AD/(INRRSE2_TL_AD+INRRSE2_TL_1_AD)));
+INRRSE3_TL_A=INRRSE3_TLADEC+max(0,INRRSE3_TL_AD-arr(DO_INR_RSE3*INRRSE3_TL_AD/(INRRSE3_TL_AD+INRRSE3_TL_1_AD)));
+INRRSE4_TL_A=INRRSE4_TLADEC+max(0,INRRSE4_TL_AD-arr(DO_INR_RSE4*INRRSE4_TL_AD/(INRRSE4_TL_AD+INRRSE4_TL_1_AD)));
+TL_IR_A=TL_IR;
+TL_CS_A=TL_CS;
+TL_CSAL_A=TL_CSAL;
+TL_CDIS_A=TL_CDIS;
+TL_TAXAGA_A=TL_TAXAGA;
+TL_CHR_A=TL_CHR;
+TL_CAP_A=TL_CAP;
+TL_GAIN_A=TL_GAIN;
+TL_RSE1_A=TL_RSE1;
+TL_RSE2_A=TL_RSE2;
+TL_RSE3_A=TL_RSE3;
+TL_RSE4_A=TL_RSE4;
+
+INRIR_RETDEF_A = INRIR_RETDEF;
+INRCSG_RETDEF_A = INRCSG_RETDEF;
+INRCRDS_RETDEF_A = INRCRDS_RETDEF;
+INRPRS_RETDEF_A = INRPRS_RETDEF;
+INRCSAL_RETDEF_A = INRCSAL_RETDEF;
+INRCDIS_RETDEF_A = INRCDIS_RETDEF;
+INRTAXA_RETDEF_A = INRTAXA_RETDEF;
+INRCHR_RETDEF_A = INRCHR_RETDEF;
+INRPCAP_RETDEF_A = INRPCAP_RETDEF;
+INRGAIN_RETDEF_A = INRGAIN_RETDEF;
+INRRSE1_RETDEF_A = INRRSE1_RETDEF;
+INRRSE2_RETDEF_A = INRRSE2_RETDEF;
+INRRSE3_RETDEF_A = INRRSE3_RETDEF;
+INRRSE4_RETDEF_A = INRRSE4_RETDEF;
+
+
+INR_IR_TARDIF_A=INR_IR_TARDIF;
+INR_CSG_TARDIF_A=INR_CSG_TARDIF;
+INR_CRDS_TARDIF_A=INR_CRDS_TARDIF;
+INR_CSAL_TARDIF_A=INR_CSAL_TARDIF;
+INR_CDIS_TARDIF_A=INR_CDIS_TARDIF;
+INR_PS_TARDIF_A=INR_PS_TARDIF;
+INR_TAXA_TARDIF_A=INR_TAXAGA_TARDIF;
+INR_CHR_TARDIF_A=INR_CHR_TARDIF;
+INR_PCAP_TARDIF_A=INR_PCAP_TARDIF;
+INR_GAIN_TARDIF_A=INR_GAIN_TARDIF;
+INR_RSE1_TARDIF_A=INR_RSE1_TARDIF;
+INR_RSE2_TARDIF_A=INR_RSE2_TARDIF;
+INR_RSE3_TARDIF_A=INR_RSE3_TARDIF;
+INR_RSE4_TARDIF_A=INR_RSE4_TARDIF;
+INCIR_NET_A=INCIR_NET;
+INCCS_NET_A=INCCS_NET;
+INCPS_NET_A=INCPS_NET;
+INCCSAL_NET_A=INCCSAL_NET;
+INCCDIS_NET_A=INCCDIS_NET;
+INCRD_NET_A=INCRD_NET;
+INCTAXA_NET_A=INCTAXA_NET;
+INCCHR_NET_A=INCCHR_NET;
+INCPCAP_NET_A=INCPCAP_NET;
+INCGAIN_NET_A=INCGAIN_NET;
+INCRSE1_NET_A=INCRSE1_NET;
+INCRSE2_NET_A=INCRSE2_NET;
+INCRSE3_NET_A=INCRSE3_NET;
+INCRSE4_NET_A=INCRSE4_NET;
+
+TXINR_A=TXINR;
+TXINRRED_A=TXINRRED;
+TXINRREDISF_A=TXINRREDISF;
+TXINR_PA_A = TXINR_PA;
+TXINRISF_PA_A = TXINRISF_PA;
+TINR_A=TINR;
+TXINRISF_A=TXINRISF;
+RETXISF_A=RETXISF;
+TINR_1_A=TINR_1;
+TINRISF_1_A=TINRISF_1;
+NBREMOISCS2_A=NBREMOISCS2;
+NBREMOISCS222_A=NBREMOISCS222;
+NBREMOIS2_A=NBREMOIS2;
+NBREMOIS222_A=NBREMOIS222;
+NBREMOIS2ISF_A=NBREMOIS2ISF;
+NBREMOIS222ISF_A=NBREMOIS222ISF;
+INDACOINR_A=present(ACODELAISINR);
+PISF_A=PISF;
+ISFNET_A = ISFNET;
+ISF4BASE_A = ISF4BASE;
+ISF_R9901_A = ISF_R9901;
+ISF_R99R_A = ISF_R99R+ISF_PA*null(1-IND_PASSAGE);
+INRISF_R99R_A = INRISF_R99R+INRISF_R99RA;
+INRISF_R9901_A = INRISF_R9901+INRISF_R9901A;
+ISF_REF_A = max(ISF4BASE,ISF_P+ISF_PA)*positif(DO_INR_ISF2)
+             + ISF_REF * (1-positif(INDFLAGCISF)) + ISF_R * positif(INDFLAGCISF);
+ISF_PA_A = ISF_PA;
+DO_INR_ISF_A = DO_INR_ISF+ DO_INR_ISFC;
+DO_ISF_A = DO_ISF;
+INRISF_NTL_A=INRISF_NTLDEC+INRISF_NTLADEC;
+INRISF_NTL_1_A=INRISF_NTLDEC_1+INRISF_NTLADEC_1;
+INRISF_TL_1_A=INRISF_TLADEC_12+max(0,INRISF_TL_1_AD -arr(DO_INR_ISF*INRISF_TL_1_AD/(INRISF_TL_AD+INRISF_TL_1_AD)));
+INRISF_TL_A=INRISF_TLADEC+max(0,INRISF_TL_AD-arr(DO_INR_ISF*INRISF_TL_AD/(INRISF_TL_AD+INRISF_TL_1_AD)));
+TL_ISF_A=TL_ISF;
+INRISF_RETDEF_A = INRISF_RETDEF;
+INR_ISF_TARDIF_A=INR_ISF_TARDIF;
+INCISF_NET_A=INCISF_NET;
diff --git a/sources2011m_9_6/chap-ctl.m b/sources2011m_9_6/chap-ctl.m
new file mode 100644
index 0000000000000000000000000000000000000000..93f284ee095ecc2ba5a370c0621d37e4f02f8986
--- /dev/null
+++ b/sources2011m_9_6/chap-ctl.m
@@ -0,0 +1,99 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle corrective base_tl_init 1202:
+application :  oceans, iliad ;
+
+
+TL_MF = IND_TL_MF;
+RNI_INIT = RNI ;
+ETR_INIT = IPMOND + IPTXMO ;
+EFF_INIT = AUTOBICVV + AUTOBICPV + AUTOBNCV + XHONOAAV + XHONOV
+	   + AUTOBICVC + AUTOBICPC + AUTOBNCC + XHONOAAC + XHONOC
+	   + AUTOBICVP + AUTOBICPP + AUTOBNCP + XHONOAAP + XHONOP
+	   + IPMOND + IPTXMO ;
+PVQ_INIT = TTPVQ ;
+PV_INIT  = BPTP3 + BPTP2 + BPTP4 + BPTP40 + BPTP18 + BPTPD + BPTPG + BPTP5 + BPTP19 + BPTPDIV + BPVCESDOM * positif(V_EAD+V_EAG);
+RI_INIT  = (REDTL + CIMPTL) * (1-V_CNR) ;
+CRDS_INIT = BRDS ;
+TAXAGA_INIT = BASSURV + BASSURC ;
+PCAP_INIT = BPCAPTAXV + BPCAPTAXC ;
+CHR_INIT  = REVKIREHR + (RFRH2 + RFRH1) * positif(HRCONDTHEO) ;
+CSAL_INIT = BPVOPTCS ; 
+GAIN_INIT = GAINSAL ;
+CDIS_INIT = GSALV + GSALC ;
+RSE1_INIT = BRSE1 ;
+RSE2_INIT = BRSE2 ;
+RSE3_INIT = BRSE3 ;
+RSE4_INIT = BRSE4 ;
+
+regle corrective  base_tl 1204:
+application :  oceans, iliad ;
+
+
+RNI_TL = RNI ;
+ETR_TL = IPMOND + IPTXMO ;
+EFF_TL = AUTOBICVV + AUTOBICPV + AUTOBNCV + XHONOAAV + XHONOV
+	 + AUTOBICVC + AUTOBICPC + AUTOBNCC + XHONOAAC + XHONOC
+	 + AUTOBICVP + AUTOBICPP + AUTOBNCP + XHONOAAP + XHONOP
+	 + IPMOND + IPTXMO ;
+PVQ_TL = TTPVQ ;
+PV_TL  = BPTP3 + BPTP2 + BPTP4 + BPTP40 + BPTP18 + BPTPD + BPTPG + BPTP5 + BPTP19 + BPTPDIV + BPVCESDOM * positif(V_EAD+V_EAG);
+RI_TL  = (REDTL + CIMPTL) * (1 - V_CNR) ;
+RDS_TL  = BRDS ;
+TAXAGA_TL = BASSURV + BASSURC ;
+PCAP_TL = BPCAPTAXV + BPCAPTAXC ;
+CHR_TL  = REVKIREHR + (RFRH2 + RFRH1) * positif(HRCONDTHEO) ;
+CSALA_TL = BPVOPTCS ;
+GAINA_TL = GAINSAL ;
+CDISA_TL = GSALV + GSALC;
+RSE1A_TL = BRSE1 ;
+RSE2A_TL = BRSE2 ;
+RSE3A_TL = BRSE3 ;
+RSE4A_TL = BRSE4 ;
+
+regle corrective base_tl_rect 1206:
+application :  oceans, iliad ;
+
+
+RNI_RECT = RNI ;
+ETR_RECT = IPMOND + IPTXMO ;
+EFF_RECT = AUTOBICVV + AUTOBICPV + AUTOBNCV + XHONOAAV + XHONOV
+	   + AUTOBICVC + AUTOBICPC + AUTOBNCC + XHONOAAC + XHONOC
+	   + AUTOBICVP + AUTOBICPP + AUTOBNCP + XHONOAAP + XHONOP
+	   + IPMOND + IPTXMO ;
+PVQ_RECT = TTPVQ ;
+PV_RECT  = BPTP3 + BPTP2 + BPTP4 + BPTP40 + BPTP18 + BPTPD + BPTPG + BPTP5 + BPTP19 + BPTPDIV + BPVCESDOM * positif(V_EAD+V_EAG);
+RI_RECT  = RI_INIT - (REDTL + CIMPTL) * (1-V_CNR) ;
+CRDS_RECT = BRDS ;
+TAXAGA_RECT = BASSURV + BASSURC ;
+PCAP_RECT = BPCAPTAXV + BPCAPTAXC ;
+CHR_RECT  = REVKIREHR + (RFRH2 + RFRH1) * positif(HRCONDTHEO) ;
+CSAL_RECT = BPVOPTCS ;
+GAIN_RECT = GAINSAL ;
+CDIS_RECT = GSALV + GSALC ;
+RSE1_RECT = BRSE1 ;
+RSE2_RECT = BRSE2 ;
+RSE3_RECT = BRSE3 ;
+RSE4_RECT = BRSE4 ;
+
+CSG_RECT = CSG ;
+PS_RECT  = PRS ;
+
diff --git a/sources2011m_9_6/chap-ini.m b/sources2011m_9_6/chap-ini.m
new file mode 100644
index 0000000000000000000000000000000000000000..5513265bfccf64ac7a1cb48203ec0676e44cddf6
--- /dev/null
+++ b/sources2011m_9_6/chap-ini.m
@@ -0,0 +1,556 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle irisf 1000100:
+application : pro;
+APPLI_PRO   = 1;
+APPLI_GP    = 0;
+APPLI_OCEANS= 0;
+APPLI_ILIAD = 0;
+APPLI_BATCH = 0;
+regle irisf 1000130:
+application :  oceans;
+APPLI_PRO   = 0;
+APPLI_GP    = 0;
+APPLI_OCEANS= 1;
+APPLI_ILIAD = 0;
+APPLI_BATCH = 0;
+regle irisf 1000140:
+application :  iliad;
+APPLI_PRO   = 0;
+APPLI_GP    = 0;
+APPLI_OCEANS= 0;
+APPLI_ILIAD = 1;
+APPLI_BATCH = 0;
+regle irisf 1000150:
+application :  batch;
+APPLI_PRO   = 0;
+APPLI_GP    = 0;
+APPLI_OCEANS= 0;
+APPLI_ILIAD = 0;
+APPLI_BATCH = 1;
+regle 1000717:
+application : pro ,  oceans , batch, iliad ;
+SOMMEA717 = positif(CELLIERNA) + positif(CELLIERNB) + positif(CELLIERNC) + positif(CELLIERND)
+           + positif(CELLIERNE) + positif(CELLIERNF) + positif(CELLIERNG) + positif(CELLIERNH) 
+	   + positif(CELLIERNI) + positif(CELLIERNJ) + positif(CELLIERNK) + positif(CELLIERNL)
+	   + positif(CELLIERNM) + positif(CELLIERNN) + positif(CELLIERNO) + positif(CELLIERNP) 
+	   + positif(CELLIERNQ) + positif(CELLIERNR) + positif(CELLIERNS) + positif(CELLIERNT) ;
+
+regle 1000718:
+application : pro ,  oceans , batch, iliad ;
+
+SOMMEA718 = (
+
+   present( BAFV ) + (1 - null( V_FORVA+0 ))
+ + present( BAFORESTV ) + present( BAFPVV ) + present( BAF1AV ) 
+ + present( BAFC ) + (1 - null( V_FORCA+0 ))
+ + present( BAFORESTC ) + present( BAFPVC ) + present( BAF1AC ) 
+ + present( BAFP ) + (1 - null( V_FORPA+0 ))
+ + present( BAFORESTP ) + present( BAFPVP ) + present( BAF1AP ) 
+ + present( BACREV ) + present( 4BACREV ) + present( BA1AV ) + present( BACDEV ) 
+ + present( BACREC ) + present( 4BACREC ) + present( BA1AC ) + present( BACDEC ) 
+ + present( BACREP ) + present( 4BACREP ) + present( BA1AP ) + present( BACDEP ) 
+ + present( BAHREV ) + present( 4BAHREV ) + present( BAHDEV ) 
+ + present( BAHREC ) + present( 4BAHREC ) + present( BAHDEC ) 
+ + present( BAHREP ) + present( 4BAHREP ) + present( BAHDEP ) 
+
+ + present( MIBVENV ) + present( MIBPRESV ) + present( MIBPVV ) + present( MIB1AV ) + present( MIBDEV ) 
+ + present( MIBVENC ) + present( MIBPRESC ) + present( MIBPVC ) + present( MIB1AC ) + present( MIBDEC ) 
+ + present( MIBVENP ) + present( MIBPRESP ) + present( MIBPVP ) + present( MIB1AP ) + present( MIBDEP ) + present( MIBDCT ) 
+ + present( BICNOV ) + present( LOCPROCGAV ) + present( BI1AV ) + present( BICDNV ) + present( LOCDEFPROCGAV )
+ + present( BICNOC ) + present( LOCPROCGAC ) + present( BI1AC ) + present( BICDNC ) + present( LOCDEFPROCGAC )
+ + present( BICNOP ) + present( LOCPROCGAP ) + present( BI1AP ) + present( BICDNP ) + present( LOCDEFPROCGAP )
+ + present( BIHNOV ) + present( LOCPROV ) + present( BIHDNV ) + present( LOCDEFPROV )
+ + present( BIHNOC ) + present( LOCPROC ) + present( BIHDNC ) + present( LOCDEFPROC )
+ + present( BIHNOP ) + present( LOCPROP ) + present( BIHDNP ) + present( LOCDEFPROP )
+
+ + present( MIBMEUV ) + present( MIBGITEV ) + present( MIBNPVENV ) + present( MIBNPPRESV ) 
+ + present( MIBNPPVV ) + present( MIBNP1AV ) + present( MIBNPDEV ) 
+ + present( MIBMEUC ) + present( MIBGITEC ) + present( MIBNPVENC ) + present( MIBNPPRESC ) 
+ + present( MIBNPPVC ) + present( MIBNP1AC ) + present( MIBNPDEC ) 
+ + present( MIBMEUP ) + present( MIBGITEP ) + present( MIBNPVENP ) + present( MIBNPPRESP ) 
+ + present( MIBNPPVP ) + present( MIBNP1AP ) + present( MIBNPDEP ) 
+ + present( MIBNPDCT ) 
+ + present( BICREV ) + present( LOCNPCGAV ) + present( BI2AV ) + present( BICDEV ) + present( LOCDEFNPCGAV )
+ + present( BICREC ) + present( LOCNPCGAC ) + present( BI2AC ) + present( BICDEC ) + present( LOCDEFNPCGAC )
+ + present( BICREP ) + present( LOCNPCGAPAC ) + present( BI2AP ) + present( BICDEP ) + present( LOCDEFNPCGAPAC )
+ + present( BICHREV ) + present( LOCNPV ) + present( BICHDEV ) + present( LOCDEFNPV )
+ + present( BICHREC ) + present( LOCNPC ) + present( BICHDEC ) + present( LOCDEFNPC )
+ + present( BICHREP ) + present( LOCNPPAC ) + present( BICHDEP ) + present( LOCDEFNPPAC )
+
+ + present( BNCPROV ) + present( BNCPROPVV ) + present( BNCPRO1AV ) + present( BNCPRODEV ) 
+ + present( BNCPROC ) + present( BNCPROPVC ) + present( BNCPRO1AC ) + present( BNCPRODEC ) 
+ + present( BNCPROP ) + present( BNCPROPVP ) + present( BNCPRO1AP ) + present( BNCPRODEP ) 
+ + present( BNCPRODCT ) 
+ + present( BNCREV ) + present( BN1AV ) + present( BNCDEV ) 
+ + present( BNCREC ) + present( BN1AC ) + present( BNCDEC ) 
+ + present( BNCREP ) + present( BN1AP ) + present( BNCDEP ) 
+ + present( BNHREV ) + present( BNHDEV ) 
+ + present( BNHREC ) + present( BNHDEC ) 
+ + present( BNHREP ) + present( BNHDEP ) 
+
+ + present( BNCNPV ) + present( BNCNPPVV ) + present( BNCNP1AV ) + present( BNCNPDEV ) 
+ + present( BNCNPC ) + present( BNCNPPVC ) + present( BNCNP1AC ) + present( BNCNPDEC ) 
+ + present( BNCNPP ) + present( BNCNPPVP ) + present( BNCNP1AP ) + present( BNCNPDEP ) 
+ + present( BNCNPDCT ) 
+ + present ( BNCAABV ) + present( ANOCEP ) + present( PVINVE ) 
+ + present( INVENTV ) + present ( BNCAADV ) + present( DNOCEP ) 
+ + present ( BNCAABC ) + present( ANOVEP ) + present( PVINCE ) 
+ + present( INVENTC ) + present ( BNCAADC ) + present( DNOCEPC )
+ + present ( BNCAABP ) + present( ANOPEP ) + present( PVINPE ) 
+ + present ( INVENTP ) + present ( BNCAADP ) + present( DNOCEPP )
+ + 0
+            ) ;
+
+regle 1000719:
+application : pro ,  oceans , batch, iliad ;
+
+SOMMEA719 = (
+
+   present( BAEXV ) + present ( BACREV ) + present( 4BACREV ) + present ( BA1AV ) + present ( BACDEV ) 
+ + present( BAEXC ) + present ( BACREC ) + present( 4BACREC ) + present ( BA1AC ) + present ( BACDEC ) 
+ + present( BAEXP ) + present ( BACREP ) + present( 4BACREP ) + present ( BA1AP ) + present ( BACDEP ) 
+ + present( BAHEXV ) + present ( BAHREV ) + present( 4BAHREV ) + present ( BAHDEV ) 
+ + present( BAHEXC ) + present ( BAHREC ) + present( 4BAHREC ) + present ( BAHDEC ) 
+ + present( BAHEXP ) + present ( BAHREP ) + present( 4BAHREP ) + present ( BAHDEP ) 
+
+ + present( BICEXV ) + present ( BICNOV ) + present ( LOCPROCGAV )
+ + present ( BI1AV ) + present ( BICDNV ) + present ( LOCDEFPROCGAV )
+ + present( BICEXC ) + present ( BICNOC ) + present ( LOCPROCGAC )
+ + present ( BI1AC ) + present ( BICDNC ) + present ( LOCDEFPROCGAC )
+ + present( BICEXP ) + present ( BICNOP ) + present ( LOCPROCGAP )
+ + present ( BI1AP ) + present ( BICDNP ) + present ( LOCDEFPROCGAP )
+ + present( BIHEXV ) + present ( BIHNOV ) + present ( LOCPROV )
+ + present ( BIHDNV ) + present ( LOCDEFPROV )
+ + present( BIHEXC ) + present ( BIHNOC ) + present ( LOCPROC )
+ + present ( BIHDNC ) + present ( LOCDEFPROC )
+ + present( BIHEXP ) + present ( BIHNOP ) + present ( LOCPROP )
+ + present ( BIHDNP ) + present ( LOCDEFPROP )
+
+ + present( BICNPEXV ) + present ( BICREV ) + present( LOCNPCGAV )
+ + present ( BI2AV ) + present ( BICDEV ) + present( LOCDEFNPCGAV )
+ + present( BICNPEXC ) + present ( BICREC ) + present( LOCNPCGAC )
+ + present ( BI2AC ) + present ( BICDEC ) + present( LOCDEFNPCGAC )
+ + present( BICNPEXP ) + present ( BICREP ) + present( LOCNPCGAPAC )
+ + present ( BI2AP ) + present ( BICDEP ) + present( LOCDEFNPCGAPAC )
+ + present( BICNPHEXV ) + present ( BICHREV ) + present ( LOCNPV )
+ + present ( BICHDEV ) + present ( LOCDEFNPV )
+ + present( BICNPHEXC ) + present ( BICHREC ) + present ( LOCNPC )
+ + present ( BICHDEC ) + present ( LOCDEFNPC )
+ + present( BICNPHEXP ) + present ( BICHREP ) + present ( LOCNPPAC )
+ + present ( BICHDEP ) + present ( LOCDEFNPPAC )
+
+ + present( BNCEXV ) + present ( BNCREV ) + present ( BN1AV ) + present ( BNCDEV ) 
+ + present( BNCEXC ) + present ( BNCREC ) + present ( BN1AC ) + present ( BNCDEC ) 
+ + present( BNCEXP ) + present ( BNCREP ) + present ( BN1AP ) + present ( BNCDEP ) 
+ + present( BNHEXV ) + present ( BNHREV ) + present ( BNHDEV ) 
+ + present( BNHEXC ) + present ( BNHREC ) + present ( BNHDEC ) 
+ + present( BNHEXP ) + present ( BNHREP ) + present ( BNHDEP )
+ + present( XHONOAAV ) + present( XHONOV ) 
+ + present( XHONOAAC ) + present( XHONOC ) 
+ + present( XHONOAAP ) + present( XHONOP )
+
+ + present ( BNCNPREXAAV ) + present ( BNCAABV )   + present ( BNCAADV )  + present ( BNCNPREXV ) 
+ + present( ANOCEP ) + present( DNOCEP ) + present( PVINVE ) + present( INVENTV )
+ + present ( BNCNPREXAAC ) + present ( BNCAABC ) + present ( BNCAADC ) + present ( BNCNPREXC )
+ + present( ANOVEP ) + present( DNOCEPC ) + present( PVINCE ) + present( INVENTC )
+ + present ( BNCNPREXAAP ) + present ( BNCAABP ) + present ( BNCAADP ) + present ( BNCNPREXP )
+ + present( ANOPEP ) + present( DNOCEPP ) + present( PVINPE ) + present( INVENTP )
+
+ + 0
+        ) ;
+
+regle 1000530:
+application : pro ,  oceans , batch, iliad;
+
+SOMMEA030 =     
+                somme(i=1..4: positif(TSHALLOi) + positif(ALLOi)
+		+ positif(CARTSPi) + positif(REMPLAPi)
+		+ positif(CARTSNBAPi) + positif(REMPLANBPi)
+		+ positif(HEURESUPPi)
+                + positif(PRBRi)
+		+ positif(CARPEPi) + positif(CARPENBAPi)
+                + positif(PALIi) + positif(FRNi) + positif(PPETPPi) + positif(PPENHPi)
+		+ positif(PENSALPi) + positif(PENSALNBPi)
+		)
+ + positif(RSAPAC1) + positif(RSAPAC2)
+ + positif(FEXP)  + positif(BAFP)  + positif(BAFORESTP) + positif(BAFPVP)  + positif(BAF1AP)
+ + positif(BAEXP)  + positif(BACREP) + positif(4BACREP)  
+ + positif(BA1AP)  + positif(BACDEP)
+ + positif(BAHEXP)  + positif(BAHREP) + positif(4BAHREP) 
+ + positif(BAHDEP)
+ + positif(MIBEXP) + positif(MIBVENP) + positif(MIBPRESP)  + positif(MIBPVP)  + positif(MIB1AP)  + positif(MIBDEP)
+ + positif(BICEXP) + positif(BICNOP) + positif(BI1AP)  + positif(BICDNP) 
+ + positif(BIHEXP) + positif(BIHNOP) + positif(BIHDNP)  
+ + positif(MIBNPEXP)  + positif(MIBNPVENP)  + positif(MIBNPPRESP)  + positif(MIBNPPVP)  + positif(MIBNP1AP)  + positif(MIBNPDEP)
+ + positif(BICNPEXP)  + positif(BICREP) + positif(BI2AP)  + positif(BICDEP)  
+ + positif(BICNPHEXP) + positif(BICHREP) + positif(BICHDEP) 
+ + positif(BNCPROEXP)  + positif(BNCPROP)  + positif(BNCPROPVP)  + positif(BNCPRO1AP)  + positif(BNCPRODEP)
+ + positif(BNCEXP)  + positif(BNCREP) + positif(BN1AP) + positif(BNCDEP)
+ + positif(BNHEXP)  + positif(BNHREP)  + positif(BNHDEP) + positif(BNCCRP)
+ + positif(BNCNPP)  + positif(BNCNPPVP)  + positif(BNCNP1AP)  + positif(BNCNPDEP)
+ + positif(ANOPEP) + positif(PVINPE) + positif(DNOCEPP) + positif(BNCCRFP)
+ + positif(BNCAABP) + positif(BNCAADP)
+ + positif(RCSP) + positif(PPEACP) + positif(PPENJP)
+ + positif(BAPERPP) + positif(BIPERPP) 
+ + positif(PERPP) + positif(PERP_COTP) + positif(RACCOTP) + positif(PLAF_PERPP)
+ + somme(i=1..4: positif(PEBFi))
+ + positif( COTF1 ) + positif( COTF2 ) + positif( COTF3 ) + positif( COTF4 )
+ + positif (BNCNPREXAAP) + positif (BNCNPREXP)
+ + positif(AUTOBICVP) + positif(AUTOBICPP) 
+ + positif(AUTOBNCP) + positif(LOCPROCGAP) + positif(LOCDEFPROCGAP)
+ + positif(LOCPROP) + positif(LOCDEFPROP) + positif(LOCNPCGAPAC) + positif(LOCDEFNPCGAPAC)
+ + positif(LOCNPPAC) + positif(LOCDEFNPPAC) + positif(XHONOAAP) + positif(XHONOP) + positif(XSPENPP)
+ + positif(BANOCGAP) + positif(MIBMEUP) + positif(MIBGITEP) + positif(INVENTP)
+ ;
+
+regle 1000531:
+application : pro ,  oceans , batch, iliad;
+
+SOMMEA031 = (
+
+   positif ( TSHALLOC ) + positif ( ALLOC ) + positif ( HEURESUPC ) + positif ( PRBRC ) 
+ + positif ( PALIC ) + positif ( GSALC ) + positif ( TSASSUC ) + positif ( XETRANC ) 
+ + positif ( TSELUPPEC ) + positif ( EXOCETC ) + positif ( FRNC ) 
+ + positif ( PPETPC ) + positif ( PPENHC )  + positif ( PCAPTAXC )
+ + positif ( CARTSC ) + positif (PENSALC ) + positif (REMPLAC ) + positif ( CARPEC ) 
+
+ + positif ( GLD1C ) + positif ( GLD2C ) + positif ( GLD3C ) 
+
+ + positif ( FEXC ) + positif ( BAFC ) + positif ( BAFORESTC ) + positif ( BAFPVC ) + positif ( BAF1AC ) 
+ + positif ( BAEXC ) + positif ( BACREC ) + positif ( 4BACREC ) + positif ( BA1AC ) + positif ( BACDEC ) 
+ + positif ( BAHEXC ) + positif ( BAHREC ) + positif ( 4BAHREC ) + positif ( BAHDEC ) + positif ( BAPERPC ) + positif ( BANOCGAC ) 
+ + positif(AUTOBICVC) + positif(AUTOBICPC) + positif(AUTOBNCC) 
+ + positif ( MIBEXC ) + positif ( MIBVENC ) + positif ( MIBPRESC ) + positif ( MIBPVC ) + positif ( MIB1AC ) + positif ( MIBDEC ) 
+ + positif ( BICEXC ) + positif ( BICNOC ) + positif ( LOCPROCGAC ) + positif ( BI1AC ) + positif ( BICDNC ) + positif ( LOCDEFPROCGAC )
+ + positif ( BIHEXC ) + positif ( BIHNOC ) + positif ( LOCPROC ) + positif ( BIHDNC ) + positif ( LOCDEFPROC ) + positif ( BIPERPC ) 
+ + positif ( MIBNPEXC ) + positif ( MIBNPVENC ) + positif ( MIBNPPRESC ) + positif ( MIBNPPVC ) + positif ( MIBNP1AC ) + positif ( MIBNPDEC ) 
+ + positif ( BICNPEXC ) + positif ( BICREC ) + positif ( LOCNPCGAC ) + positif ( BI2AC ) + positif ( BICDEC ) + positif ( LOCDEFNPCGAC )
+ + positif ( MIBMEUC ) + positif ( MIBGITEC )
+ + positif ( BICNPHEXC ) + positif ( BICHREC ) + positif ( LOCNPC ) + positif ( BICHDEC ) + positif ( LOCDEFNPC ) 
+ + positif ( BNCPROEXC ) + positif ( BNCPROC ) + positif ( BNCPROPVC ) + positif ( BNCPRO1AC ) + positif ( BNCPRODEC ) 
+ + positif ( BNCEXC ) + positif ( BNCREC ) + positif ( BN1AC ) + positif ( BNCDEC ) 
+ + positif ( BNHEXC ) + positif ( BNHREC ) + positif ( BNHDEC ) + positif ( BNCCRC ) + positif ( CESSASSC )
+ + positif ( XHONOAAC ) + positif ( XHONOC ) + positif(XSPENPC)
+ + positif ( BNCNPC ) + positif ( BNCNPPVC ) + positif ( BNCNP1AC ) + positif ( BNCNPDEC ) 
+ + positif ( BNCNPREXAAC ) + positif ( BNCAABC ) + positif ( BNCAADC ) + positif ( BNCNPREXC ) + positif ( ANOVEP )
+ + positif ( PVINCE ) + positif ( INVENTC ) + positif ( DNOCEPC ) + positif ( BNCCRFC )
+ + positif ( RCSC ) + positif ( PVSOCC ) + positif ( PPEACC ) + positif ( PPENJC ) 
+ 
+ + positif ( PEBFC ) 
+
+ + positif ( PERPC ) + positif ( PERP_COTC ) + positif ( RACCOTC ) + positif ( PLAF_PERPC )
+ + positif ( PERPPLAFCC) + positif ( PERPPLAFNUC1 ) + positif ( PERPPLAFNUC2 ) + positif ( PERPPLAFNUC3 )
+
+ + positif ( ELURASC )
+
+   ) ;
+regle 1000804:
+application :pro , oceans ,  iliad , batch;  
+
+
+SOMMEA804 = SOMMEANOEXP 
+	    + positif ( GLD1V ) + positif ( GLD2V ) + positif ( GLD3V ) 
+            + positif ( GLD1C ) + positif ( GLD2C ) + positif ( GLD3C ) 
+           ;
+
+SOMMEA805 = SOMMEANOEXP ;
+
+regle 1000993:
+application : iliad ;  
+
+
+
+INDAUTREQUE9YA = positif (positif( 4BACREC ) + positif( 4BACREP ) + positif( 4BACREV )
+ + positif( 4BAHREC ) + positif( 4BAHREP ) + positif( 4BAHREV )
+ + positif( ABDETMOINS ) + positif( ABDETPLUS ) + positif( ABIMPMV )
+ + positif( ABIMPPV ) + positif( ACODELAISINR ) 
+ + positif( ALLO1 ) + positif( ALLO2 ) + positif( ALLO3 )
+ + positif( ALLO4 ) + positif( ALLOC ) + positif( ALLOV )
+ + positif( ANOCEP ) + positif( ANOPEP )
+ + positif( ANOVEP ) + positif( ASCAPA ) + positif( AUTOBICPC )
+ + positif( AUTOBICPP ) + positif( AUTOBICPV ) + positif( AUTOBICVC )
+ + positif( AUTOBICVP ) + positif( AUTOBICVV ) + positif( AUTOBNCC )
+ + positif( AUTOBNCP ) + positif( AUTOBNCV ) + positif( AUTOVERSLIB )
+ + positif( AVETRAN ) + positif( BA1AC )
+ + positif( BA1AP ) + positif( BA1AV ) + positif( BACDEC )
+ + positif( BACDEP ) + positif( BACDEV ) + positif( BACREC )
+ + positif( BACREP ) + positif( BACREV ) + positif( BAEXC )
+ + positif( BAEXP ) + positif( BAEXV ) + positif( BAF1AC )
+ + positif( BAF1AP ) + positif( BAF1AV ) + positif( BAFC )
+ + positif( BAFORESTC ) + positif( BAFORESTP ) + positif( BAFORESTV )
+ + positif( BAFP ) + positif( BAFPVC ) + positif( BAFPVP )
+ + positif( BAFPVV ) + positif( BAFV ) + positif( BAHDEC )
+ + positif( BAHDEP ) + positif( BAHDEV ) + positif( BAHEXC )
+ + positif( BAHEXP ) + positif( BAHEXV ) + positif( BAHREC )
+ + positif( BAHREP ) + positif( BAHREV ) + positif( BAILOC98 )
+ + positif( BAPERPC ) + positif( BAPERPP ) + positif( BAPERPV )
+ + positif( BASRET ) + positif( BI1AC ) + positif( BI1AP )
+ + positif( BI1AV ) + positif( BI2AC ) + positif( BI2AP )
+ + positif( BI2AV ) + positif( BICDEC ) + positif( BICDEP )
+ + positif( BICDEV ) + positif( BICDNC ) + positif( BICDNP )
+ + positif( BICDNV ) + positif( BICEXC ) + positif( BICEXP )
+ + positif( BICEXV ) + positif( BICHDEC ) + positif( BICHDEP )
+ + positif( BICHDEV ) + positif( BICHREC ) + positif( BICHREP )
+ + positif( BICHREV ) + positif( BICNOC ) + positif( BICNOP )
+ + positif( BICNOV ) + positif( BICNPEXC ) + positif( BICNPEXP )
+ + positif( BICNPEXV ) + positif( BICNPHEXC ) + positif( BICNPHEXP )
+ + positif( BICNPHEXV ) + positif( BICREC ) + positif( BICREP )
+ + positif( BICREV ) + positif( BIGREST ) + positif( BIHDNC )
+ + positif( BIHDNP ) + positif( BIHDNV ) + positif( BIHEXC )
+ + positif( BIHEXP ) + positif( BIHEXV ) + positif( BIHNOC )
+ + positif( BIHNOP ) + positif( BIHNOV ) + positif( BIPERPC )
+ + positif( BIPERPP ) + positif( BIPERPV ) + positif( BN1AC )
+ + positif( BN1AP ) + positif( BN1AV ) + positif( BNCAABC )
+ + positif( BNCAABP ) + positif( BNCAABV ) + positif( BNCAADC )
+ + positif( BNCAADP ) + positif( BNCAADV ) + positif( BNCCRC )
+ + positif( BNCCRFC ) + positif( BNCCRFP ) + positif( BNCCRFV )
+ + positif( BNCCRP ) + positif( BNCCRV ) + positif( BNCDEC )
+ + positif( BNCDEP ) + positif( BNCDEV ) + positif( BNCEXC )
+ + positif( BNCEXP ) + positif( BNCEXV ) + positif( BNCNP1AC )
+ + positif( BNCNP1AP ) + positif( BNCNP1AV ) + positif( BNCNPC )
+ + positif( BNCNPDCT ) + positif( BNCNPDEC ) + positif( BNCNPDEP )
+ + positif( BNCNPDEV ) + positif( BNCNPP ) + positif( BNCNPPVC )
+ + positif( BNCNPPVP ) + positif( BNCNPPVV ) + positif( BNCNPREXAAC )
+ + positif( BNCNPREXAAP ) + positif( BNCNPREXAAV ) + positif( BNCNPREXC )
+ + positif( BNCNPREXP ) + positif( BNCNPREXV ) + positif( BNCNPV )
+ + positif( BNCPRO1AC ) + positif( BNCPRO1AP ) + positif( BNCPRO1AV )
+ + positif( BNCPROC ) + positif( BNCPRODCT ) + positif( BNCPRODEC )
+ + positif( BNCPRODEP ) + positif( BNCPRODEV ) + positif( BNCPROEXC )
+ + positif( BNCPROEXP ) + positif( BNCPROEXV ) + positif( BNCPROP )
+ + positif( BNCPROPVC ) + positif( BNCPROPVP ) + positif( BNCPROPVV )
+ + positif( BNCPROV ) + positif( BNCREC ) + positif( BNCREP )
+ + positif( BNCREV ) + positif( BNHDEC ) + positif( BNHDEP )
+ + positif( BNHDEV ) + positif( BNHEXC ) + positif( BNHEXP )
+ + positif( BNHEXV ) + positif( BNHREC ) + positif( BNHREP )
+ + positif( BNHREV ) + positif( BPCOPT ) + positif( BPCOSAC )
+ + positif( BPCOSAV )  
+ + positif( BPV18 ) + positif( BPV40 ) + positif( BPVCESDOM )
+ + positif( BPVKRI ) + positif( BPVOPTCS ) + positif( BPVRCM )
+ + positif( BRAS ) + positif( CARPEC )
+ + positif( CARPENBAC ) + positif( CARPENBAP1 ) + positif( CARPENBAP2 )
+ + positif( CARPENBAP3 ) + positif( CARPENBAP4 ) + positif( CARPENBAV )
+ + positif( CARPEP1 ) + positif( CARPEP2 ) + positif( CARPEP3 )
+ + positif( CARPEP4 ) + positif( CARPEV ) + positif( CARTSC )
+ + positif( CARTSNBAC ) + positif( CARTSNBAP1 ) + positif( CARTSNBAP2 )
+ + positif( CARTSNBAP3 ) + positif( CARTSNBAP4 ) + positif( CARTSNBAV )
+ + positif( CARTSP1 ) + positif( CARTSP2 ) + positif( CARTSP3 )
+ + positif( CARTSP4 ) + positif( CARTSV ) + positif( CASEPRETUD )
+ + positif( CBETRAN ) + positif( CELLIERHK ) + positif( CELLIERHO )
+ + positif( CELLIERHM ) + positif( CELLIERHJ ) + positif( CELLIERHN )
+ + positif( CELLIERHL ) + positif( CELREPHS ) + positif( CELREPHR )
+ + positif( CELRREDLA ) + positif( CESSASSC ) + positif( CESSASSV )
+ + positif( CHENF1 ) + positif( CHENF2 ) + positif( CHENF3 )
+ + positif( CHENF4 ) + positif( CHNFAC ) + positif( CHRDED )
+ + positif( CHRFAC ) + positif( CIAQCUL ) + positif( CIBOIBAIL )
+ + positif( CICHO2BAIL ) + positif( CIDEBITTABAC ) + positif( CIDEP15 )
+ + positif( CIIMPPRO ) + positif( CIIMPPRO2 ) + positif( CIINVCORSE )
+ + positif( CINE1 ) + positif( CINE2 ) + positif( CINRJBAIL )
+ + positif( CMAJ ) + positif( CO2044P ) + positif( CO2047 )
+ + positif( CO2102 ) + positif( CO35 ) + positif( CODCHA )
+ + positif( CODSIR ) + positif( CONVCREA ) + positif( CONVHAND )
+ + positif( COSBC ) + positif( COSBP ) + positif( COSBV )
+ + positif( COTF1 ) + positif( COTF2 ) + positif( COTF3 )
+ + positif( COTF4 ) + positif( COTFC ) + positif( COTFV )
+ + positif( CREAGRIBIO )
+ + positif( CREAIDE ) + positif( CREAPP ) + positif( CREARTS )
+ + positif( CRECHOBAS ) + positif( CRECHOBOI ) + positif( CRECHOCON2 )
+ + positif( CRECONGAGRI ) + positif( CREDPVREP ) + positif( CREFAM )
+ + positif( CREFORMCHENT ) + positif( CREINTERESSE ) + positif( CRENRJRNOUV )
+ + positif( CREPROSP ) + positif( CRERESTAU ) + positif( CRIGA )
+ + positif( DABNCNP1 ) + positif( DABNCNP2 ) + positif( DABNCNP3 )
+ + positif( DABNCNP4 ) + positif( DABNCNP5 ) + positif( DABNCNP6 )
+ + positif( DAGRI1 ) + positif( DAGRI2 ) + positif( DAGRI3 )
+ + positif( DAGRI4 ) + positif( DAGRI5 ) + positif( DAGRI6 )
+ + positif( DATDEPETR ) + positif( DATOCEANS ) + positif( DATRETETR )
+ + positif( DCSG ) + positif( DEFAA0 ) + positif( DEFAA1 )
+ + positif( DEFAA2 ) + positif( DEFAA3 ) + positif( DEFAA4 )
+ + positif( DEFAA5 ) + positif( DEFBIC1 ) + positif( DEFBIC2 )
+ + positif( DEFBIC3 ) + positif( DEFBIC4 ) + positif( DEFBIC5 )
+ + positif( DEFBIC6 ) + positif( DEFRCM ) + positif( DEFRCM2 )
+ + positif( DEFRCM3 ) + positif( DEFRCM4 ) + positif( DEPCHOBAS )
+ + positif( DEPMOBIL ) + positif( DETS1 ) + positif( DETS2 )
+ + positif( DETS3 ) + positif( DETS4 ) + positif( DETSC )
+ + positif( DETSV ) + positif( DIREPARGNE ) + positif( DISQUO )
+ + positif( DISQUONB ) + positif( DNOCEP )
+ + positif( DNOCEPC ) + positif( DNOCEPP ) + positif( DPVRCM )
+ + positif( ELURASC ) + positif( ELURASV )
+ + positif( ESFP ) + positif( EXOCETC ) + positif( EXOCETV )
+ + positif( FCPI ) + positif( FEXC ) + positif( FEXP )
+ + positif( FEXV ) + positif( FFIP ) + positif( FIPCORSE )
+ + positif( FONCI ) + positif( FONCINB ) + positif( FORET )
+ + positif( FRN1 ) + positif( FRN2 ) + positif( FRN3 )
+ + positif( FRN4 ) + positif( FRNC ) + positif( FRNV )
+ + positif( GAINABDET ) + positif( GLD1C ) + positif( GLD1V )
+ + positif( GLD2C ) + positif( GLD2V ) + positif( GLD3C )
+ + positif( GLD3V ) + positif( GSALC ) + positif( GSALV )
+ + positif( HEURESUPC ) + positif( HEURESUPP1 ) + positif( HEURESUPP2 )
+ + positif( HEURESUPP3 ) + positif( HEURESUPP4 ) + positif( HEURESUPV )
+ + positif( IMPRET ) + positif( INAIDE ) + positif( INDJNONIMPC )
+ + positif( INDJNONIMPV ) + positif( INDLOCNEUF ) + positif( INDLOCRES )
+ + positif( IND_TDR ) + positif( INTDIFAGRI ) + positif( INTERE )
+ + positif( INTERENB ) 
+ + positif( INVDIR2009 ) + positif( INVDIRENT ) + positif( INVDOMRET50 )
+ + positif( INVDOMRET60 ) + positif( INVENDEB2009 ) + positif( INVENDI )
+ + positif( INVIMP ) + positif( INVINIT ) + positif( INVLGAUTRE )
+ + positif( INVLGDEB ) + positif( INVLGDEB2009 ) + positif( INVLGDEB2010 )
+ + positif( INVLOCHOTR ) + positif( INVLOCHOTR1 )
+ + positif( INVLOCNEUF ) + positif( INVLOCRES ) + positif( INVLOCT1 )
+ + positif( INVLOCT2 ) + positif( INVLOG2008 ) + positif( INVLOG2009 )
+ + positif( INVLOGSOC ) + positif( INVOMREP ) + positif( INVRETRO1 )
+ + positif( INVRETRO2 ) + positif( INVSOC2010 ) + positif( INVSOCNRET )
+ + positif( IPBOCH ) + positif( IPCHER ) 
+ + positif( IPELUS ) + positif( IPMOND ) + positif( IPPNCS )
+ + positif( IPPRICORSE ) + positif( IPRECH ) + positif( IPREP )
+ + positif( IPREPCORSE ) + positif( IPSOUR ) + positif( IPSURSI )
+ + positif( IPTEFN ) + positif( IPTEFP ) + positif( IPTXMO )
+ + positif( IPVLOC ) + positif( LNPRODEF1 ) + positif( LNPRODEF10 )
+ + positif( LNPRODEF2 ) + positif( LNPRODEF3 ) + positif( LNPRODEF4 )
+ + positif( LNPRODEF5 ) + positif( LNPRODEF6 ) + positif( LNPRODEF7 )
+ + positif( LNPRODEF8 ) + positif( LNPRODEF9 ) + positif( LOCDEFNPC )
+ + positif( LOCDEFNPCGAC ) + positif( LOCDEFNPCGAPAC ) + positif( LOCDEFNPCGAV )
+ + positif( LOCDEFNPPAC ) + positif( LOCDEFNPV ) + positif( LOCDEFPROC )
+ + positif( LOCDEFPROCGAC ) + positif( LOCDEFPROCGAP ) + positif( LOCDEFPROCGAV )
+ + positif( LOCDEFPROP ) + positif( LOCDEFPROV ) + positif( LOCNPC )
+ + positif( LOCNPCGAC ) + positif( LOCNPCGAPAC ) + positif( LOCNPCGAV )
+ + positif( LOCNPPAC ) + positif( LOCNPV ) + positif( LOCPROC )
+ + positif( LOCPROCGAC ) + positif( LOCPROCGAP ) + positif( LOCPROCGAV )
+ + positif( LOCPROP ) + positif( LOCPROV ) + positif( LOCRESINEUV )
+ + positif( LOYIMP ) + positif( MEUBLENP ) + positif( MIB1AC )
+ + positif( MIB1AP ) + positif( MIB1AV ) + positif( MIBDCT )
+ + positif( MIBDEC ) + positif( MIBDEP ) + positif( MIBDEV )
+ + positif( MIBEXC ) + positif( MIBEXP ) + positif( MIBEXV )
+ + positif( MIBGITEC ) + positif( MIBGITEP ) + positif( MIBGITEV )
+ + positif( MIBMEUC ) + positif( MIBMEUP ) + positif( MIBMEUV )
+ + positif( MIBNP1AC ) + positif( MIBNP1AP ) + positif( MIBNP1AV )
+ + positif( MIBNPDCT ) + positif( MIBNPDEC ) + positif( MIBNPDEP )
+ + positif( MIBNPDEV ) + positif( MIBNPEXC ) + positif( MIBNPEXP )
+ + positif( MIBNPEXV ) + positif( MIBNPPRESC ) + positif( MIBNPPRESP )
+ + positif( MIBNPPRESV ) + positif( MIBNPPVC ) + positif( MIBNPPVP )
+ + positif( MIBNPPVV ) + positif( MIBNPVENC ) + positif( MIBNPVENP )
+ + positif( MIBNPVENV ) + positif( MIBPRESC ) + positif( MIBPRESP )
+ + positif( MIBPRESV ) + positif( MIBPVC ) + positif( MIBPVP )
+ + positif( MIBPVV ) + positif( MIBVENC ) + positif( MIBVENP )
+ + positif( MIBVENV ) + positif( MOISAN ) + positif( NBACT )
+ + positif( NBCREAT ) + positif( NBCREAT1 ) + positif( NBCREAT2 )
+ + positif( NBCREATHANDI ) + positif( NBCREATHANDI1 ) + positif( NBCREATHANDI2 )
+ + positif( NCHENF1 ) + positif( NCHENF2 ) + positif( NCHENF3 )
+ + positif( NCHENF4 ) + positif( NRBASE ) + positif( NRETROC40 )
+ + positif( NRETROC50 ) + positif( NRINET ) + positif( NUPROP )
+ + positif( OPTPLAF15 ) + positif( PAAP ) + positif( PAAV )
+ + positif( PALI1 ) + positif( PALI2 ) + positif( PALI3 )
+ + positif( PALI4 ) + positif( PALIC ) + positif( PALIV )
+ + positif( PATNAT ) + positif( PEA ) + positif( PEBF1 )
+ + positif( PEBF2 ) + positif( PEBF3 ) + positif( PEBF4 )
+ + positif( PEBFC ) + positif( PEBFV ) + positif( PENSALC )
+ + positif( PENSALNBC ) + positif( PENSALNBP1 ) + positif( PENSALNBP2 )
+ + positif( PENSALNBP3 ) + positif( PENSALNBP4 ) + positif( PENSALNBV )
+ + positif( PENSALP1 ) + positif( PENSALP2 ) + positif( PENSALP3 )
+ + positif( PENSALP4 ) + positif( PENSALV ) 
+ + positif( PERPC ) + positif( PERPIMPATRIE ) + positif( PERPMUTU )
+ + positif( PERPP ) + positif( PERPPLAFCC ) + positif( PERPPLAFCP )
+ + positif( PERPPLAFCV ) + positif( PERPPLAFNUC1 ) + positif( PERPPLAFNUC2 )
+ + positif( PERPPLAFNUC3 ) + positif( PERPPLAFNUP1 ) + positif( PERPPLAFNUP2 )
+ + positif( PERPPLAFNUP3 ) + positif( PERPPLAFNUV1 ) + positif( PERPPLAFNUV2 )
+ + positif( PERPPLAFNUV3 ) + positif( PERPV ) + positif( PERP_COTC )
+ + positif( PERP_COTP ) + positif( PERP_COTV ) + positif( PETIPRISE )
+ + positif( PLAF_PERPC ) + positif( PLAF_PERPP ) + positif( PLAF_PERPV )
+ + positif( PPEACC ) + positif( PPEACP ) + positif( PPEACV )
+ + positif( PPEISFPIR ) + positif(PPEREVPRO) + positif( PPENHC ) + positif( PPENHP1 )
+ + positif( PPENHP2 ) + positif( PPENHP3 ) + positif( PPENHP4 )
+ + positif( PPENHV ) + positif( PPENJC ) + positif( PPENJP )
+ + positif( PPENJV ) + positif( PPEREVPRO ) + positif( PPETPC )
+ + positif( PPETPP1 ) + positif( PPETPP2 ) + positif( PPETPP3 )
+ + positif( PPETPP4 ) + positif( PPETPV ) + positif( PPLIB )
+ + positif( PRBR1 ) + positif( PRBR2 ) + positif( PRBR3 )
+ + positif( PRBR4 ) + positif( PRBRC ) + positif( PRBRV )
+ + positif( PREHABT ) + positif( PREHABT1 ) + positif( PREHABT2 )
+ + positif( PREHABTN ) + positif( PREHABTN2 ) + positif( PREMAIDE ) + positif( PREREV )
+ + positif( PRESCOMP2000 ) + positif( PRESCOMPJUGE ) + positif( PRETUD )
+ + positif( PRETUDANT ) + positif( PRODOM ) + positif( PROGUY )
+ + positif( PROVIE ) + positif( PROVIENB ) + positif( PTZDEVDUR )
+ + positif( PVINCE ) + positif( PVINPE ) + positif( PVINVE )
+ + positif( PVJEUNENT ) + positif( PVREP8 ) + positif( PVSOCC )
+ + positif( PVSOCV )
+ + positif( R1649 ) + positif( PREREV ) + positif( RACCOTC ) + positif( RACCOTP )
+ + positif( RACCOTV ) + positif( RCCURE ) + positif( RCMABD )
+ + positif( RCMAV ) + positif( RCMAVFT ) + positif( RCMFR )
+ + positif( RCMHAB ) + positif( RCMHAD ) + positif( RCMIMPAT )
+ + positif( RCMLIB ) + positif( RCMLIBDIV ) + positif( RCMRDS )
+ + positif( RCMSOC ) + positif( RCMTNC ) + positif( RCSC )
+ + positif( RCSP ) + positif( RCSV ) + positif( RDCOM )
+ + positif( RDDOUP ) + positif( RDENL ) + positif( RDENLQAR )
+ + positif( RDENS ) + positif( RDENSQAR ) + positif( RDENU )
+ + positif( RDENUQAR ) + positif( RDEQPAHA ) + positif( RDFDOU )
+ + positif( RDFOREST ) + positif( RDFORESTGES ) + positif( RDFORESTRA )
+ + positif( RDFREP ) + positif( RDGARD1 ) + positif( RDGARD1QAR )
+ + positif( RDGARD2 ) + positif( RDGARD2QAR ) + positif( RDGARD3 )
+ + positif( RDGARD3QAR ) + positif( RDGARD4 ) + positif( RDGARD4QAR )
+ + positif( RDGEQ ) + positif( RDMECENAT ) + positif( RDPRESREPORT )
+ + positif( RDREP ) + positif( RDRESU ) + positif( RDSNO )
+ + positif( RDSYCJ ) + positif( RDSYPP ) + positif( RDSYVO )
+ + positif( RDTECH ) + positif( TAX1649 ) + positif( RE168 )
+ + positif( REAMOR ) + positif( REAMORNB ) + positif( REDMEUBLE )
+ + positif( REGCI ) + positif( REGPRIV ) + positif( REMPLAC )
+ + positif( REMPLANBC ) + positif( REMPLANBP1 ) + positif( REMPLANBP2 )
+ + positif( REMPLANBP3 ) + positif( REMPLANBP4 ) + positif( REMPLANBV )
+ + positif( REMPLAP1 ) + positif( REMPLAP2 ) + positif( REMPLAP3 )
+ + positif( REMPLAP4 ) + positif( REMPLAV ) + positif( RENTAX )
+ + positif( RENTAX5 ) + positif( RENTAX6 ) + positif( RENTAX7 )
+ + positif( RENTAXNB ) + positif( RENTAXNB5 ) + positif( RENTAXNB6 )
+ + positif( RENTAXNB7 ) + positif( REPDON03 ) + positif( REPDON04 )
+ + positif( REPDON05 ) + positif( REPDON06 ) + positif( REPDON07 )
+ + positif( REPFOR ) + positif( REPGROREP2 )+ positif( REPGROREP1 ) + positif( REPINVDOMPRO1 )
+ + positif( REPINVDOMPRO2 ) + positif( REPINVDOMPRO3 ) 
+ + positif( REPINVLOCINV ) + positif( REPINVLOCREA ) + positif( REPMEUBLE )
+ + positif( REPINVTOU ) + positif( INVLOGREHA ) + positif( INVLOGHOT )
+ + positif( REPSINFOR ) + positif( REPSNO1 ) + positif( REPSNO2 )
+ + positif( REPSNO3 ) + positif( REPSNON) + positif( REPSOF ) + positif( RESIVIEU )
+ + positif( RIMOPPAUANT ) + positif( RIMOSAUVANT )
+ + positif( RESTIMOPPAU ) + positif( RESTIMOSAUV ) + positif( RESTUC )
+ + positif( RESTUCNB ) + positif( REVACT ) + positif( REVACTNB )
+ + positif( REVFONC ) + positif( REVMAR1 ) + positif( REVMAR2 )
+ + positif( REVMAR3 ) + positif( REVPEA ) + positif( REVPEANB )
+ + positif( RFDANT ) + positif( RFDHIS )
+ + positif( RFDORD ) + positif( RFMIC ) + positif( RFORDI )
+ + positif( RFROBOR ) + positif( RINVLOCINV ) + positif( RINVLOCREA )
+ + positif( RIRENOV ) + positif( RISKTEC ) + positif( RMOND )
+ + positif( RNBRLOG ) + positif( RSAFOYER ) + positif( RSAPAC1 )
+ + positif( RSAPAC2 ) + positif( RSOCREPRISE ) + positif( RVAIDE )
+ + positif( RVB1 ) + positif( RVB2 ) + positif( RVB3 )
+ + positif( RVB4 ) + positif( RVCURE )
+ + positif( SINISFORET ) + positif( SOFIPECHE )
+ + positif( SUBSTITRENTE ) + positif( TSASSUC ) + positif( TSASSUV )
+ + positif( TSELUPPEC ) + positif( TSELUPPEV ) + positif( TSHALLO1 )
+ + positif( TSHALLO2 ) + positif( TSHALLO3 ) + positif( TSHALLO4 )
+ + positif( TSHALLOC ) + positif( TSHALLOV ) + positif( XETRANC )
+ + positif( XETRANV ) + positif( XHONOAAC ) + positif( XHONOAAP )
+ + positif( XHONOAAV ) + positif( XHONOC ) + positif( XHONOP )
+ + positif( XHONOV ) + positif( XSPENPC ) + positif( XSPENPP )
+ + positif( XSPENPV ) 
+ + positif( RETROCOMLH ) + positif( RETROCOMLI ) + positif( INVOMENTMN )
+ + positif( PREHABTN1 ) + positif( CINRJ ) + positif( CRENRJ ) + positif( IPECO )
+ + positif( RFRN2 ) + positif( RFRN3 ) + positif( RFRH1 ) + positif( RFRH2 )
+ + positif( ZONEANTEK ) + positif( ISFBASE ) + positif ( ISFPART ) 
+ + positif( ISF_LIMINF ) + positif( ISF_LIMSUP ) + positif( ISFCONCUB )
+ + positif( ISFALT ) + positif( ISFFIP ) + positif( ISFPAC ) 
+ + positif( ISFDONEURO ) + positif( ISFDONS ) + positif( ISFFCPI )
+ + positif( ISFPMEDI ) + positif( ISFPMEIN ) + positi
\ No newline at end of file
diff --git a/sources2011m_9_6/chap-inr.m b/sources2011m_9_6/chap-inr.m
new file mode 100644
index 0000000000000000000000000000000000000000..c94e155b8f1605afe8fc2d580fa0cb1f14d138a2
--- /dev/null
+++ b/sources2011m_9_6/chap-inr.m
@@ -0,0 +1,542 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #     CHAPITRE 2. CALCUL DU NET A PAYER
+ #
+ #
+ #
+regle corrective 10801:
+application : oceans, iliad;
+TXINR = max(0,(NBMOIS * TXMOISRETARD2) + max(0,(NBMOIS2 * TXMOISRETARD2)));
+
+TXINRRED = max(0,(NBMOIS * TXMOISRETARD2*TXMOISRED*2) + max(0,(NBMOIS2 * TXMOISRETARD2 * TXMOISRED * 2)));
+
+regle corrective 1081:
+application : oceans, iliad ;
+IND_PASSAGE = positif(FLAG_DEFAUT + FLAG_RETARD) + IND_PASSAGE_A;
+IND_PASSR9901 = 1 + IND_PASSR9901_A;
+IRNIN_PA = IRNIN_INR * null(1 - IND_PASSAGE) + IRNIN_PA_A;
+TXINR_PA = TXINR * null(1 - IND_PASSAGE) + TXINR_PA_A;
+INRIR_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * ( 
+             arr(IRNIN_INR * TXINR / 100) * positif(IRNIN_INR) * null(1 - IND_PASSAGE) 
+             + INRIR_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,IRNIN_PA - ACODELAISINR) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                                );
+INR_IR_TARDIF = ((arr(IRNIN_INR * TXINR/100) * positif(IRNIN_INR) * null(1-IND_PASSAGE)+ INR_IR_TARDIF_A*(1-positif(ACODELAISINR)))
+		  + arr(max(0,IRNIN_PA - ACODELAISINR) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)) * FLAG_RETARD * (1-IND_RJLJ);
+CSG_PA = CSG * null(1 - IND_PASSAGE) + CSG_PA_A;
+INRCSG_RETDEF = (1 - IND_RJLJ) * (
+                arr((CSG-CSGIM) * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCSG_RETDEF_A;
+INR_CSG_TARDIF = (arr((CSG-CSGIM) * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CSG_TARDIF_A) * (1-IND_RJLJ);
+PRS_PA = PRS * null(1 - IND_PASSAGE) + PRS_PA_A;
+INRPRS_RETDEF = (1 - IND_RJLJ) * (
+             arr((PRS-PRSPROV) * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRPRS_RETDEF_A;
+INR_PS_TARDIF = (arr((PRS-PRSPROV) * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_PS_TARDIF_A) * (1-IND_RJLJ);
+CRDS_PA = RDSN * null(1 - IND_PASSAGE) + CRDS_PA_A;
+INRCRDS_RETDEF = (1 - IND_RJLJ) * (
+             arr((RDSN-CRDSIM) * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCRDS_RETDEF_A;
+INR_CRDS_TARDIF = (arr((RDSN-CRDSIM) * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CRDS_TARDIF_A) * (1-IND_RJLJ);
+TAXA_PA = TAXABASE * null(1 - IND_PASSAGE) + TAXA_PA_A;
+INRTAXA_RETDEF = (1 - IND_RJLJ) * (
+               arr(TAXABASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRTAXA_RETDEF_A;
+INR_TAXAGA_TARDIF = (arr(TAXABASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_TAXA_TARDIF_A) * (1-IND_RJLJ);
+CHR_PA = CHRBASE * null(1 - IND_PASSAGE) + CHR_PA_A;
+INRCHR_RETDEF = (1 - IND_RJLJ) * (
+               arr(CHRBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCHR_RETDEF_A;
+INR_CHR_TARDIF = (arr(CHRBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CHR_TARDIF_A) * (1-IND_RJLJ);
+PCAP_PA = PCAPBASE * null(1 - IND_PASSAGE) + PCAP_PA_A;
+INRPCAP_RETDEF = (1 - IND_RJLJ) * (
+               arr(PCAPBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRPCAP_RETDEF_A;
+INR_PCAP_TARDIF = (arr(PCAPBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_PCAP_TARDIF_A) * (1-IND_RJLJ);
+GAIN_PA = GAINBASE * null(1 - IND_PASSAGE) + GAIN_PA_A;
+INRGAIN_RETDEF = (1 - IND_RJLJ) * (
+               arr(GAINBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRGAIN_RETDEF_A;
+INR_GAIN_TARDIF = (arr(GAINBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_GAIN_TARDIF_A) * (1-IND_RJLJ);
+RSE1_PA = RSE1BASE * null(1 - IND_PASSAGE) + RSE1_PA_A;
+INRRSE1_RETDEF = (1 - IND_RJLJ) * (
+               arr(RSE1BASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE1_RETDEF_A;
+INR_RSE1_TARDIF = (arr(RSE1BASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE1_TARDIF_A) * (1-IND_RJLJ);
+RSE2_PA = RSE2BASE * null(1 - IND_PASSAGE) + RSE2_PA_A;
+INRRSE2_RETDEF = (1 - IND_RJLJ) * (
+               arr(RSE2BASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE2_RETDEF_A;
+INR_RSE2_TARDIF = (arr(RSE2BASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE2_TARDIF_A) * (1-IND_RJLJ);
+RSE3_PA = RSE3BASE * null(1 - IND_PASSAGE) + RSE3_PA_A;
+INRRSE3_RETDEF = (1 - IND_RJLJ) * (
+               arr(RSE3BASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE3_RETDEF_A;
+INR_RSE3_TARDIF = (arr(RSE3BASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE3_TARDIF_A) * (1-IND_RJLJ);
+RSE4_PA = RSE4BASE * null(1 - IND_PASSAGE) + RSE4_PA_A;
+INRRSE4_RETDEF = (1 - IND_RJLJ) * (
+               arr(RSE4BASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE4_RETDEF_A;
+INR_RSE4_TARDIF = (arr(RSE4BASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE4_TARDIF_A) * (1-IND_RJLJ);
+CSAL_PA = CSALBASE * null(1 - IND_PASSAGE) + CSAL_PA_A;
+INRCSAL_RETDEF = (1 - IND_RJLJ) * (
+               arr(CSALBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCSAL_RETDEF_A;
+INR_CSAL_TARDIF = (arr(CSALBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CSAL_TARDIF_A) * (1-IND_RJLJ);
+CDIS_PA = CDISBASE * null(1 - IND_PASSAGE) + CDIS_PA_A;
+INRCDIS_RETDEF = (1 - IND_RJLJ) * (
+               arr(CDISBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCDIS_RETDEF_A;
+INR_CDIS_TARDIF = (arr(CDISBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CDIS_TARDIF_A) * (1-IND_RJLJ);
+regle corrective 10811:
+application : oceans, iliad ;
+IRNIN_TLDEC_1=IRNIN_INR;
+CSG_TLDEC_1=CSG;
+PRS_TLDEC_1=PRS;
+RDS_TLDEC_1=RDSN;
+TAXA_TLDEC_1=TAXASSUR;
+CHR_TLDEC_1=IHAUTREVT;
+PCAP_TLDEC_1=IPCAPTAXT;
+GAIN_TLDEC_1=CGAINSAL;
+RSE1_TLDEC_1=RSE1;
+RSE2_TLDEC_1=RSE2;
+RSE3_TLDEC_1=RSE3;
+RSE4_TLDEC_1=RSE4;
+CSAL_TLDEC_1=CSAL;
+CDIS_TLDEC_1=CDIS;
+regle corrective 108112:
+application : oceans, iliad ;
+INRIR_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			 null(2-FLAG_INR) * positif(IRNIN_INR - IRNIN_R99R)
+                       * (
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0) )
+            * arr((IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * positif(IRNIN_INR-max(IRNIN_RECT * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * arr((IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+                   +  null(3-FLAG_INR) * positif(IRNIN_INR - IRNIN_REF)
+                       * (
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0) )
+            * arr((min(IRNIN_INR,IRNIN_TLDEC_1) - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * positif(IRNIN_INR-max(IRNIN_RECT * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * arr((min(IRNIN_INR,IRNIN_TLDEC_1) - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+            + INRIR_RETDEF * null(IND_PASSAGE - 1)
+                                                )
+                                               ;
+INRCSG_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			 null(2 - FLAG_INR) * positif(CSG-CSG_R99R) 
+			* (
+            (positif(CSG * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))))
+            * arr((CSG - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198)))-CSGIM) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)  - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))))
+            * arr((CSG - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198)))-CSGIM) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                              )
+                      + null(3 - FLAG_INR) * positif(CSG-CSG_REF) 
+			* (
+            (positif(CSG * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))))
+            * arr((min(CSG,CSG_TLDEC_1) - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198)))-CSGIM) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)  - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))+0))
+            * arr((min(CSG,CSG_TLDEC_1) - max(CSG_NTLDEC_198,CSG_REF)* (1-present(CSG_NTLDEC_198))-CSGIM) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+			    )
+            + INRCSG_RETDEF * null(IND_PASSAGE - 1)
+                              )
+             ;
+INRPRS_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			   null(2 - FLAG_INR) * positif(PRS-PRS_R99R) 
+			   * (
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0)) 
+            * arr((PRS  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PRS * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0))
+            * arr((PRS - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                        )
+                        + null(3 - FLAG_INR) * positif(PRS-PRS_REF) 
+			   * (
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0)) 
+            * arr((min(PRS,PRS_TLDEC_1)  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PRS * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0))
+            * arr((min(PRS,PRS_TLDEC_1) - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                        )
+            + INRPRS_RETDEF * null(IND_PASSAGE - 1)
+                            )
+             ;
+INRCRDS_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RDSN - RDS_R99R) 
+		      * (
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((RDSN - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((RDSN -max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                         )
+                    +  null(3 - FLAG_INR) * positif(RDSN - RDS_REF) 
+		      * (
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((min(RDSN,RDS_TLDEC_1) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((min(RDSN,RDS_TLDEC_1) -max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                         )
+            + INRCRDS_RETDEF * null(IND_PASSAGE - 1)
+                            )
+             ;
+INRTAXA_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		     null(2 - FLAG_INR) * positif(TAXABASE - TAXA_R99R) 
+		     * (
+             (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		     + null(3 - FLAG_INR) * positif(TAXABASE - TAXA_REF) 
+		     * (
+             (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((min(TAXABASE,TAXA_TLDEC_1) - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((min(TAXABASE,TAXA_TLDEC_1) - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRTAXA_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRCSAL_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(CSALBASE - CSAL_R99R) 
+		       * (
+             (positif(CSALBASE - max(CSAL_NTLDEC_198,CSAL_REF* (1-present(CSAL_NTLDEC_198))+0))
+            * arr((CSALBASE - max(CSAL_NTLDEC_198,CSAL_REF* (1-present(CSAL_NTLDEC_198)))-CSALPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSALBASE - max(CSAL_NTLDEC_198,CSAL_REF* (1-present(CSAL_NTLDEC_198))+0)) 
+            * arr((CSALBASE - max(CSAL_NTLDEC_198,CSAL_REF* (1-present(CSAL_NTLDEC_198)))-CSALPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(CSALBASE - CSAL_REF) 
+		       * (
+             (positif(CSALBASE - max(CSAL_NTLDEC_198,CSAL_REF+0)-CSALPROV* (1-present(CSAL_NTLDEC_198)))
+            * arr((min(CSALBASE,CSAL_TLDEC_1) - max(CSAL_NTLDEC_198,CSAL_REF* (1-present(CSAL_NTLDEC_198)))-CSALPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSALBASE - max(CSAL_NTLDEC_198,CSAL_REF-CSALPROV* (1-present(CSAL_NTLDEC_198))+0))
+            * arr((min(CSALBASE,CSAL_TLDEC_1) - max(CSAL_NTLDEC_198,CSAL_REF* (1-present(CSAL_NTLDEC_198)))-CSALPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRCSAL_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRCDIS_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(CDISBASE - CDIS_R99R) 
+		       * (
+             (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198))+0))
+            * arr((CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198))+0)) 
+            * arr((CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(CDISBASE - CDIS_REF) 
+		       * (
+             (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF+0))
+            * arr((min(CDISBASE,CDIS_TLDEC_1) - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198))+0))
+            * arr((min(CDISBASE,CDIS_TLDEC_1) - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRCDIS_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRCHR_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(CHRBASE - CHR_R99R) 
+		       * (
+             (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198))+0))
+            * arr((CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198))+0)) 
+            * arr((CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(CHRBASE - CHR_REF) 
+		       * (
+             (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF+0))
+            * arr((min(CHRBASE,CHR_TLDEC_1) - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198))+0))
+            * arr((min(CHRBASE,CHR_TLDEC_1) - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRCHR_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRPCAP_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(PCAPBASE - PCAP_R99R) 
+		       * (
+             (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198))+0))
+            * arr((PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198))+0)) 
+            * arr((PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(PCAPBASE - PCAP_REF) 
+		       * (
+             (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF+0))
+            * arr((min(PCAPBASE,PCAP_TLDEC_1) - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198))+0))
+            * arr((min(PCAPBASE,PCAP_TLDEC_1) - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRPCAP_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRGAIN_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(GAINBASE - GAIN_R99R) 
+		       * (
+             (positif(GAINBASE - max(GAIN_NTLDEC_198,GAIN_REF* (1-present(GAIN_NTLDEC_198))+0))
+            * arr((GAINBASE - max(GAIN_NTLDEC_198,GAIN_REF* (1-present(GAIN_NTLDEC_198)))-GAINPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(GAINBASE - max(GAIN_NTLDEC_198,GAIN_REF* (1-present(GAIN_NTLDEC_198))+0)) 
+            * arr((GAINBASE - max(GAIN_NTLDEC_198,GAIN_REF* (1-present(GAIN_NTLDEC_198)))-GAINPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(GAINBASE - GAIN_REF) 
+		       * (
+             (positif(GAINBASE - max(GAIN_NTLDEC_198,GAIN_REF+0))
+            * arr((min(GAINBASE,GAIN_TLDEC_1) - max(GAIN_NTLDEC_198,GAIN_REF* (1-present(GAIN_NTLDEC_198)))-GAINPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(GAINBASE - max(GAIN_NTLDEC_198,GAIN_REF* (1-present(GAIN_NTLDEC_198))+0))
+            * arr((min(GAINBASE,GAIN_TLDEC_1) - max(GAIN_NTLDEC_198,GAIN_REF* (1-present(GAIN_NTLDEC_198)))-GAINPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRGAIN_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE1_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE1BASE - RSE1_R99R) 
+		       * (
+             (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198))+0))
+            * arr((RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198))+0)) 
+            * arr((RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE1BASE - RSE1_REF) 
+		       * (
+             (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF+0))
+            * arr((min(RSE1BASE,RSE1_TLDEC_1) - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198))+0))
+            * arr((min(RSE1BASE,RSE1_TLDEC_1) - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE1_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE2_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE2BASE - RSE2_R99R) 
+		       * (
+             (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198))+0))
+            * arr((RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198))+0)) 
+            * arr((RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE2BASE - RSE2_REF) 
+		       * (
+             (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF+0))
+            * arr((min(RSE2BASE,RSE2_TLDEC_1) - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198))+0))
+            * arr((min(RSE2BASE,RSE2_TLDEC_1) - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE2_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE3_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE3BASE - RSE3_R99R) 
+		       * (
+             (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198))+0))
+            * arr((RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198))+0)) 
+            * arr((RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE3BASE - RSE3_REF) 
+		       * (
+             (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF+0))
+            * arr((min(RSE3BASE,RSE3_TLDEC_1) - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198))+0))
+            * arr((min(RSE3BASE,RSE3_TLDEC_1) - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE3_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE4_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE4BASE - RSE4_R99R) 
+		       * (
+             (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198))+0))
+            * arr((RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198))+0)) 
+            * arr((RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE4BASE - RSE4_REF) 
+		       * (
+             (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF+0))
+            * arr((min(RSE4BASE,RSE4_TLDEC_1) - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198))+0))
+            * arr((min(RSE4BASE,RSE4_TLDEC_1) - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE4_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+regle corrective 108111:
+application : oceans, iliad ;
+INRIR_NTL_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			 null(2-FLAG_INR) * positif(IRNIN_INR - IRNIN_R99R)
+                       * (
+            (positif(IRNIN_INR - max(IRNIN_REF+0,IRNIN_NTLDEC)) 
+            * arr((IRNIN_INR - max(IRNIN_REF,IRNIN_NTLDEC)) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR - max(IRNIN_NTLDEC,IRNIN_REF+0))
+            * positif(IRNIN_INR-max(IRNIN_NTLDEC,IRNIN_RECT))
+            * arr((IRNIN_INR - max(IRNIN_NTLDEC,IRNIN_REF)) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+                   +  null(3-FLAG_INR) * positif(IRNIN_INR - IRNIN_REF)
+                       * (
+            (positif(IRNIN_INR - max(IRNIN_REF+0,IRNIN_NTLDEC)) 
+            * arr((min(IRNIN_INR,IRNIN_TLDEC_1) - max(IRNIN_REF,IRNIN_NTLDEC)) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR - max(IRNIN_NTLDEC,IRNIN_REF+0))
+            * positif(IRNIN_INR-max(IRNIN_NTLDEC,IRNIN_RECT))
+            * arr((min(IRNIN_INR,IRNIN_TLDEC_1) - max(IRNIN_NTLDEC,IRNIN_REF)) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+                                                )
+                                               ;
+INRCSG_NTL_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			 null(2 - FLAG_INR) * positif(CSG-CSG_R99R) 
+			* (
+            (positif(CSG * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(CSG_NTLDEC,CSG_REF+0))
+            * arr((CSG - max(CSG_NTLDEC,CSG_REF)-CSGIM) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)  - max(CSG_NTLDEC,CSG_REF+0))
+            * arr((CSG - max(CSG_NTLDEC,CSG_REF)-CSGIM) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                              )
+                      + null(3 - FLAG_INR) * positif(CSG-CSG_REF) 
+			* (
+            (positif(CSG * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(CSG_NTLDEC,CSG_REF+0))
+            * arr((min(CSG,CSG_TLDEC_1) - max(CSG_NTLDEC,CSG_REF)-CSGIM) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)  - max(CSG_NTLDEC,CSG_REF+0))
+            * arr((min(CSG,CSG_TLDEC_1) - max(CSG_NTLDEC,CSG_REF)-CSGIM) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                              )
+                            )
+             ;
+INRPRS_NTL_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			   null(2 - FLAG_INR) * positif(PRS-PRS_R99R) 
+			   * (
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_REC_CP2)  - max(PRS_NTLDEC,PRS_REF+0)) 
+            * arr((PRS  - max(PRS_NTLDEC,PRS_REF)-PRSPROV) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PRS * positif(CSG+PRS+RDSN-SEUIL_REC_CP2) - max(PRS_NTLDEC,PRS_REF+0))
+            * arr((PRS - max(PRS_NTLDEC,PRS_REF)-PRSPROV) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                        )
+                        + null(3 - FLAG_INR) * positif(PRS-PRS_REF) 
+			   * (
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUI
\ No newline at end of file
diff --git a/sources2011m_9_6/chap-isf.m b/sources2011m_9_6/chap-isf.m
new file mode 100644
index 0000000000000000000000000000000000000000..acbe288e787d705d9b6f23f4ccf7e761a01a5c75
--- /dev/null
+++ b/sources2011m_9_6/chap-isf.m
@@ -0,0 +1,235 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle isf 770001:
+application : pro , iliad , batch  ;
+DISFBASE =  ISFBASE * positif_ou_nul(ISFBASE - LIM_ISFINF) 
+		    * positif(LIM_ISFSUP - ISFBASE); 
+
+regle isf 77002:
+application : pro , iliad , batch  ;
+ISF1 = arr(DISFBASE * (TX_ISF/10000));
+ISFDEC = (24500 - ( 7 * ISF1)) * positif( LIM_ISFDEC - 1 - ISFBASE )
+                               * positif(LIM_ISFDEC - LIM_ISFINF)
+	                       * positif(ISF1); 
+DISFDEC = ISFDEC;
+
+ISFBRUT = arr((ISF1 - ISFDEC) * positif( LIM_ISFDEC - 1 - ISFBASE )
+	     + ISF1 * (1-positif(LIM_ISFDEC - 1 - ISFBASE))) ;
+
+regle isf 77010:
+application : pro , iliad , batch  ;
+DISFPAC = ISFPAC ;
+RISFPAC_1 = ISFPAC * PLAF_ISFPAC ;
+RISFPAC = max( min(RISFPAC_1, ISFBRUT) , 0) ;
+
+DISFALT = ISFALT ;
+RISFALT_1 = ISFALT * PLAF_ISFALT ;
+RISFALT = max( min(RISFALT_1, ISFBRUT - RISFPAC) , 0) ; 
+
+regle isf 77020:
+application : pro , iliad , batch  ;
+DISFPMED = ISFPMEDI ;
+DISFPMEI = ISFPMEIN ;
+AISFPMED = arr(ISFPMEDI * (TX50/100)) ;
+AISFPMEI = arr(ISFPMEIN * (TX50/100)) ;
+RISFPMED_1 = min(45000, AISFPMED);
+RISFPMEI_1 = max(0, min(45000 - RISFPMED_1, AISFPMEI));
+
+
+DISFFIP = ISFFIP ;
+DISFFCPI = ISFFCPI ;
+AISFFIP = arr(ISFFIP * (TX50/100)) ;
+AISFFCPI = arr(ISFFCPI * (TX50/100)) ;
+RISFFIP_1 = min(18000, AISFFIP);
+RISFFCPI_1 = max(0, min(18000 -  RISFFIP_1, AISFFCPI));
+
+regle isf 77030:
+application : pro , iliad , batch  ;
+DISFDONS = ISFDONS ;
+DISFDONCEE = ISFDONEURO ;
+AISFDONS =arr(ISFDONS * (TX75/100)) ;
+AISFDONCEE = arr(ISFDONEURO * (TX75/100)) ;
+RISFDONS_1 = min(50000, AISFDONS);
+RISFDONCEE_1 = max(0, min(50000 - RISFDONS_1, AISFDONCEE));
+
+regle isf 77050:
+application : pro , iliad , batch  ;
+RISFDONS_2 = min(PLAF_ISFRED, RISFDONS_1);
+RISFDONCEE_2 = max(0, min(PLAF_ISFRED - RISFDONS_1, RISFDONCEE_1));
+RISFPMED_2 = max(0, min(PLAF_ISFRED - RISFDONS_1 - RISFDONCEE_1, RISFPMED_1));
+RISFPMEI_2 = max(0, min(PLAF_ISFRED - RISFDONS_1 - RISFDONCEE_1 - RISFPMED_1, RISFPMEI_1));
+RISFFIP_2 = max(0, min(PLAF_ISFRED - RISFDONS_1 - RISFDONCEE_1 - RISFPMED_1 - RISFPMEI_1, 
+		     RISFFIP_1));
+RISFFCPI_2 = max(0, min(PLAF_ISFRED - RISFDONS_1 - RISFDONCEE_1 - RISFPMED_1 - RISFPMEI_1 
+		       - RISFDONS_1, RISFFCPI_1 ));
+
+RISFDONS = max( min( RISFDONS_2, ISFBRUT - RISFPAC - RISFALT) , 0)
+	      * ( 1 - null( CODE_2042 - 8 ));
+
+RISFDONCEE = max( min( RISFDONCEE_2, ISFBRUT - RISFPAC - RISFALT - RISFDONS), 0)
+	      * ( 1 - null( CODE_2042 - 8 ));
+
+
+RISFPMED = max( min( RISFPMED_2, ISFBRUT - RISFPAC - RISFALT - RISFDONS - RISFDONCEE), 0)
+              * ( 1 - null( CODE_2042 - 8 ));
+
+
+RISFPMEI = max( min( RISFPMEI_2, ISFBRUT - RISFPAC - RISFALT - RISFDONS - RISFDONCEE 
+					 - RISFPMED), 0)
+              * ( 1 - null( CODE_2042 - 8 ));
+
+
+RISFFIP = max( min( RISFFIP_2, ISFBRUT - RISFPAC - RISFALT - RISFDONS - RISFDONCEE
+					- RISFPMED - RISFPMEI), 0)
+              * ( 1 - null( CODE_2042 - 8 ));	
+
+
+RISFFCPI = max( min( RISFFCPI_2, ISFBRUT - RISFPAC - RISFALT - RISFDONS - RISFDONCEE 
+		                         - RISFPMED - RISFPMEI - RISFFIP ), 0)
+	      * ( 1 - null( CODE_2042 - 8 )); 
+
+regle isf 77066:
+application : pro , iliad , batch  ;
+REDISF =  RISFPAC + RISFALT + RISFDONS + RISFDONCEE + RISFPMED
+         + RISFPMEI + RISFFIP + RISFFCPI ;
+
+TXTOISF = RETXISF + COPETOISF ;
+
+regle isf 77065:
+application : pro , iliad , batch  ;
+ISFTRED =  RISFPAC + RISFALT + RISFDONS + RISFDONCEE + RISFPMED
+         + RISFPMEI + RISFFIP + RISFFCPI + RISFE ;
+
+regle isf 77070:
+application : pro , iliad , batch  ;
+ISFNETRED = max(0, ISFBRUT - RISFPAC  - RISFALT
+		           - RISFDONS - RISFDONCEE - RISFPMED - RISFPMEI - RISFFIP - RISFFCPI) ;
+
+regle isf 77080:
+application : pro , iliad , batch  ;
+DISFE = ISFETRANG ;
+
+RISFE = positif(DISFBASE)*positif(ISFETRANG)*( min(ISFNETRED, ISFETRANG));
+
+regle isf 77090:
+application : pro , iliad , batch  ;
+ISF4 = max(0, ISFNETRED - RISFE) ;
+
+regle isf 77200:
+application : pro , iliad , batch  ;
+
+COPETOISF = si (CMAJ_ISF = 7 ou CMAJ_ISF = 17 ou CMAJ_ISF = 18)
+            alors (10)
+	    sinon
+		 ( si (CMAJ_ISF = 8)
+		       alors (40)
+		       finsi )
+            finsi;
+
+NMAJISF1 = max (0, MAJO1728ISF + arr(ISF4 * COPETOISF/100) * positif_ou_nul(ISF4 - SEUIL_REC_CP)
+                + FLAG_TRTARDIF * MAJOISFTARDIF_D 
+               + FLAG_TRTARDIF_F * MAJOISFTARDIF_D
+	       - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOISFTARDIF_R
+				    + (1 - positif(FLAG_RECTIF)) * MAJOISFTARDIF_A)
+	       );
+
+
+
+TXPF1728ISF =si (V_CODPF1728ISF=07 ou V_CODPF1728ISF=17 ou V_CODPF1728ISF=18)
+	     alors (10)
+	     sinon
+	          (si (V_CODPF1728ISF=08)
+	           alors (40)
+		   finsi)
+	     finsi ;
+
+
+MAJTXISF1 = (1 - positif(V_NBCOD1728ISF))
+             * ((1 - positif(CMAJ)) * positif(NMAJISF1) * TXPF1728ISF + positif(CMAJ_ISF) * COPETOISF)
+             + positif(V_NBCOD1728ISF) * (-1) ;
+regle isf 77210:
+application : pro , iliad , batch  ;
+INTMSISF = inf( MOISAN_ISF / 10000 );
+INTANISF = (( MOISAN_ISF/10000 - INTMSISF )*10000)  * present(MOISAN_ISF) ;
+TXINTISF =  (max(0, (INTANISF - (V_ANREV+1) )* 12 + INTMSISF - 6 ) * TXMOISRETARD2)
+	    * present(MOISAN_ISF);
+PTOISF = arr(ISF4 * COPETOISF / 100) + arr(ISF4 * TXINTISF / 100) ;
+RETISF = (RETISF2 + arr(ISF4 * TXINTISF/100))* positif_ou_nul(ISF4 - SEUIL_REC_CP) ;
+RETXISF = positif(CMAJ_ISF) * TXINTISF
+               + (TXINRISF * (1-positif(TXINRISF_A)) + (-1) * positif(TXINRISF_A) * positif(TXINRISF) 
+		   * positif(positif(TXINRISF - TXINRISF_A)+positif(TXINRISF_A-TXINRISF)))
+               + (TXINRISF * positif(TXINRISF_A) * null(TXINRISF - TXINRISF_A))
+               ;
+
+
+NATMAJISF = positif(RETISF) * positif(NMAJISF1)
+	    + 2 * positif(RETISF) * (1-positif(NMAJISF1)); 
+
+regle isf 77215:
+application : pro , iliad , batch  ;
+
+
+
+PISF = ( INCISF_NET 
+	 + NMAJISF1 
+         + arr(ISF4 * TXINTISF / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+
+regle isf 77219 :
+application : pro , iliad , batch ;
+
+NAPISFTOT = ISF4 + CEF2 + PISF ;
+
+regle isf 77220:
+application : pro , iliad , batch ;
+
+ISFNET = NAPISFTOT ; 
+
+
+
+
+
+regle isf 77221:
+application : pro , iliad , batch ;
+ISFNAP = ISFCUM - V_ANTISF ;
+
+regle isf 77230:
+application : iliad, batch ;
+
+ILI_SYNT_ISF = positif_ou_nul(ISF4BIS - SEUIL_REC_CP) * ISF4BIS
+	      + (1 - positif_ou_nul(ISF4BIS - SEUIL_REC_CP)) * 0;
+
+
+regle isf 77250:
+application : pro , iliad, batch ;
+TR2_ISF = arr( max(0, min( DISFBASE , LIM_TR2_ISF ) - (LIM_TR1_ISF)) * (TX_TR2_ISF/10000)) ;
+TR3_ISF = arr( max(0, min( DISFBASE , LIM_TR3_ISF ) - (LIM_TR2_ISF)) * (TX_TR3_ISF/10000)) ;
+TR4_ISF = arr( max(0, min( DISFBASE , LIM_ISFSUP  ) - (LIM_TR3_ISF)) * (TX_TR4_ISF/100)) ;
+
+CEF1 = TR2_ISF + TR3_ISF + TR4_ISF ;
+
+regle isf 77260:
+application : pro , iliad, batch ;
+CEF2 = max( 0, CEF1 - ISFBRUT ) ;
+
+regle isf 77270:
+application : pro , iliad, batch ;
+ISF4BIS= max( 0, CEF2 + ISF4 ) ; 
+
diff --git a/sources2011m_9_6/chap-majo.m b/sources2011m_9_6/chap-majo.m
new file mode 100644
index 0000000000000000000000000000000000000000..6754fb30c53bd81434dd6236205b4200ebebe8ca
--- /dev/null
+++ b/sources2011m_9_6/chap-majo.m
@@ -0,0 +1,768 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle isf 232:
+application : iliad ;
+
+SUPISF[X] = positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X)
+            * max(ISF4,0)
+            + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+             * max(0,ISF4 - (TISF4BASE[FLAG_DERSTTR]));
+
+regle 23111:
+application :  oceans, iliad ;
+IRBASE = IRN - IRANT ;
+CSBASE_MAJO = (CSG - CSGIM) * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+					  + RSE2 + RSE3 + RSE4 - SEUIL_REC_CP2);
+RDBASE_MAJO = (RDSN - CRDSIM) * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+					    + RSE2 + RSE3 + RSE4 - SEUIL_REC_CP2);
+PSBASE_MAJO = (PRS - PRSPROV) * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+					    + RSE2 + RSE3 + RSE4 - SEUIL_REC_CP2);
+CSALBASE_MAJO = (CSAL - CSALPROV) * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+						+ RSE2 + RSE3 + RSE4 - SEUIL_REC_CP2);
+CDISBASE_MAJO = CDIS * positif(CDIS + CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+                                          + RSE2 + RSE3 + RSE4 - SEUIL_REC_CP2);
+TAXABASE_MAJO = TAXASSUR * positif(IAMD1 + 1 - SEUIL_PERCEP);
+
+HRBASE_MAJO = IHAUTREVT * positif(IAMD1 + 1 - SEUIL_PERCEP);
+
+CAPBASE_MAJO = IPCAPTAXT * positif(IAMD1 + 1 - SEUIL_PERCEP);
+
+GAINBASE_MAJO = (CGAINSAL - GAINPROV) * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+						+ RSE2 + RSE3 + RSE4 - SEUIL_REC_CP2);
+
+RSE1BASE_MAJO = RSE1 * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+                                   + RSE2 + RSE3 + RSE4 - SEUIL_REC_CP2);
+
+RSE2BASE_MAJO = RSE2 * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+				   + RSE2 + RSE3 + RSE4 - SEUIL_REC_CP2);
+
+RSE3BASE_MAJO = RSE3 * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+				   + RSE2 + RSE3 + RSE4 - SEUIL_REC_CP2);
+
+RSE4BASE_MAJO = RSE4 * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+                                   + RSE2 + RSE3 + RSE4 - SEUIL_REC_CP2);
+
+regle corrective 23112:
+application :  oceans, iliad ;
+TOT_BASE_MAJO = IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + HRBASE_MAJO ;
+
+TOT_REF = TIRBASE[FLAG_DERSTTR] +TTAXABASE[FLAG_DERSTTR]
+	 +TPCAPBASE[FLAG_DERSTTR]+TCHRBASE[FLAG_DERSTTR];
+
+
+TAXA_ISO = TAXASSUR * positif(IAMD1 + 1 - SEUIL_PERCEP) ; 
+CAP_ISO  = IPCAPTAXT * positif(IAMD1 + 1 - SEUIL_PERCEP) ; 
+HR_ISO   = IHAUTREVT  * positif(IAMD1 + 1 - SEUIL_PERCEP) ; 
+SUPIR_PENA_RESTIT = max(0, min( IRBASE + TTAXABASE[FLAG_DERSTTR]+TPCAPBASE[FLAG_DERSTTR]+TCHRBASE[FLAG_DERSTTR]
+				- TOT_REF ,
+                                 min(
+                                      min(IRBASE_IRECT , IRBASE) - TIRBASE[FLAG_DERSTTR] ,
+                                      TOT_BASE_MAJO - TOT_REF
+                                    )
+                               )
+                        );
+
+
+SUPIR[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                   * max( 0, min( 
+			          min( IRBASE_IRECT , IRBASE ),
+				  TOT_BASE_MAJO 
+                                )
+                            
+                        )
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+		 * SUPIR_PENA_RESTIT
+
+
+             + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+             * (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+             * (1 - positif(null(X-1)))
+	     * ((1 - positif(TARDIFEVT2)*null(X-2))
+                       * max( 0 , min( max( 0, IRBASE + TTAXABASE[FLAG_DERSTTR]+TPCAPBASE[FLAG_DERSTTR]+TCHRBASE[FLAG_DERSTTR])
+			               - max( 0 , TOT_REF ),
+			               min(
+				       		min(IRBASE_IRECT , IRBASE) - TIRBASE[FLAG_DERSTTR] ,
+						max( 0 , TOT_BASE_MAJO ) - max( 0 , TOT_REF )
+                                          )
+                                     )
+                            )
+                 + positif(TARDIFEVT2) * null(X-2) * TIRBASE[FLAG_DERSTTR]
+	       )
+
+           + (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13)))) 
+              *  null(X-1)*positif( null(CSTRATE1 - 1)
+			       +null(CSTRATE1 - 7)
+		               +null(CSTRATE1 - 8)
+			       +null(CSTRATE1 - 10)
+		               +null(CSTRATE1 - 11)
+	                       +null(CSTRATE1 - 17)
+                               +null(CSTRATE1 - 18)) 
+                       * max( 0 , min( max( 0, IRBASE + TTAXABASE[FLAG_DERSTTR]+TPCAPBASE[FLAG_DERSTTR]+TCHRBASE[FLAG_DERSTTR])
+			               - max( 0 , TOT_REF ),
+			               min(
+				       		min(IRBASE_IRECT , IRBASE) - TIRBASE[FLAG_DERSTTR] ,
+						max( 0 , TOT_BASE_MAJO ) - max( 0 , TOT_REF )
+                                          )
+                                     )
+                            )
+
+
+           + null(X-1)*positif( null(CSTRATE1 - 3)
+	                       +null(CSTRATE1 - 4)
+			       +null(CSTRATE1 - 5)
+			       +null(CSTRATE1 - 6)
+		               +null(CSTRATE1 - 55)) 
+                              		* SUPIR_PENA_RESTIT ; 
+
+
+SUP2IR[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                    * max( 0, min( 
+			            min( IRBASE_IRECT , IRBASE ),
+				    TOT_BASE_MAJO 
+                                 )
+                         )         
+
+	      + ((positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))
+                    * SUPIR_PENA_RESTIT 
+	          )
+	          + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20)))* 0)
+                 * (1 - positif(null(X-1))) 
+           + null(X-1)*positif( null(CSTRATE1 - 1)
+                               +null(CSTRATE1 - 17)
+	                       +null(CSTRATE1 - 2)
+			       +null(CSTRATE1 - 10)
+		               +null(CSTRATE1 - 30)) 
+	             * SUPIR_PENA_RESTIT;
+
+SUPCS[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,CSBASE_MAJO - (TCSBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(CSBASE_MAJO - TCSBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(CSBASE_MAJO,0); 
+SUPPS[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,PSBASE_MAJO - (TPSBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(PSBASE_MAJO - TPSBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(PSBASE_MAJO,0); 
+SUPRD[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,RDBASE_MAJO - (TRDBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RDBASE_MAJO - TRDBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RDBASE_MAJO,0); 
+SUPCSAL[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,CSALBASE_MAJO - (TCSALBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(CSALBASE_MAJO - TCSALBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(CSALBASE_MAJO,0); 
+SUPCDIS[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,CDISBASE_MAJO - (TCDISBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(CDISBASE_MAJO - TCDISBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(CDISBASE_MAJO,0); 
+SUPGAIN[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,GAINBASE_MAJO - (TGAINBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(GAINBASE_MAJO - TGAINBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(GAINBASE_MAJO,0); 
+
+SUPRSE1[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,RSE1BASE_MAJO - (TRSE1BASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RSE1BASE_MAJO - TRSE1BASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RSE1BASE_MAJO,0); 
+
+SUPRSE2[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,RSE2BASE_MAJO - (TRSE2BASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RSE2BASE_MAJO - TRSE2BASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RSE2BASE_MAJO,0); 
+
+SUPRSE3[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0, min(RSE3BASE2042_FIC , RSE3BASE_MAJO) - (TRSE3BASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RSE3BASE_MAJO - TRSE3BASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RSE3BASE_MAJO,0); 
+
+SUPRSE4[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,RSE4BASE_MAJO - (TRSE4BASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RSE4BASE_MAJO - TRSE4BASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RSE4BASE_MAJO,0); 
+
+SUPTAXA[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+		      * max(0, min( IRBASE + TAXABASE_MAJO ,
+				       min(
+				             min( TAXABASE_IRECT , TAXABASE_MAJO) ,
+				             TOT_BASE_MAJO
+				          )
+                                  )
+                           )
+
+
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+	         * max(0, min( IRBASE + TAXABASE_MAJO + TPCAPBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR]
+			       - TOT_REF ,
+				   min(
+		                   	min( TAXABASE_IRECT , TAXABASE_MAJO) - TTAXABASE[FLAG_DERSTTR] ,
+				   	TOT_BASE_MAJO - TOT_REF
+                                      )
+                             )
+                       )			       
+
+
+              + ( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		* (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+
+		    * max( 0 , min( max( 0 , IRBASE + TAXABASE_MAJO + TPCAPBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR] )
+				     - max( 0 , TOT_REF ) ,
+				    min(
+			             min( TAXABASE_IRECT , TAXABASE_MAJO) - TTAXABASE[FLAG_DERSTTR] ,
+			             max( 0 , TOT_BASE_MAJO )  - max( 0 , TOT_REF )
+				     )
+				  )
+		         ) ;
+
+
+
+SUP2TAXA[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+
+		      * max(0, min( IRBASE + TAXABASE_MAJO ,
+				       min(
+				             min( TAXABASE_IRECT , TAXABASE_MAJO) ,
+				             TOT_BASE_MAJO
+				          )
+                                  )
+                           )
+
+	      + (positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))
+
+	         * max(0, min( IRBASE + TAXABASE_MAJO + TPCAPBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR]
+			       - TOT_REF ,
+				   min(
+		                   	min( TAXABASE_IRECT , TAXABASE_MAJO) - TTAXABASE[FLAG_DERSTTR] ,
+				   	TOT_BASE_MAJO - TOT_REF
+                                      )
+                             )
+                       )			       
+	        )
+	     + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))) * 0
+	     ;
+
+
+SUPCAP[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+		    * max(0, min( IRBASE + TAXABASE_MAJO + CAPBASE_MAJO ,
+				     min(
+					    min( CAPBASE_IRECT , CAPBASE_MAJO) ,
+                                            TOT_BASE_MAJO
+					)
+                                 )
+                         )
+
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+	         * max(0, min(IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + TCHRBASE[FLAG_DERSTTR] - TOT_REF,
+			      min(
+			           min( CAPBASE_IRECT , CAPBASE_MAJO) - TPCAPBASE[FLAG_DERSTTR] , 
+				   TOT_BASE_MAJO - TOT_REF
+                                 )
+                             )
+                      )
+	+( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		* (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+
+	        * max( 0 , min( max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + TCHRBASE[FLAG_DERSTTR])
+				 - max( 0 , TOT_REF ) ,  
+				  min(
+				     min( CAPBASE_IRECT , CAPBASE_MAJO) - TPCAPBASE[FLAG_DERSTTR] ,
+				     max( 0 , TOT_BASE_MAJO ) - max( 0 , TOT_REF )
+                                     )
+                              )
+                     ) ;
+
+SUP2CAP[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+		     * max(0, min( IRBASE + TAXABASE_MAJO + CAPBASE_MAJO ,
+				     min(
+					    min( CAPBASE_IRECT , CAPBASE_MAJO) ,
+                                            TOT_BASE_MAJO
+					)
+                                 )
+                          )
+	      + (positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))
+	         * max(0, min(IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + TCHRBASE[FLAG_DERSTTR] - TOT_REF,
+			      min(
+			           min( CAPBASE_IRECT , CAPBASE_MAJO) - TPCAPBASE[FLAG_DERSTTR] , 
+				   TOT_BASE_MAJO - TOT_REF
+                                 )
+                             )
+                      )
+
+	        )
+	     + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))) * 0
+	     ;
+
+SUPHR[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+		    * max(0, 
+				     min(
+					    min( HRBASE_IRECT , HRBASE_MAJO) ,
+                                            TOT_BASE_MAJO
+					)
+                          )
+
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+	         * max(0, min( 
+		                min( HRBASE_IRECT, HRBASE_MAJO) - TCHRBASE[FLAG_DERSTTR] , 
+                                TOT_BASE_MAJO - TOT_REF
+                             )
+                      )
+
+              + ( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		* (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+                * max( 0 , min( 
+                                  min( HRBASE_IRECT, HRBASE_MAJO) - TCHRBASE[FLAG_DERSTTR] ,
+			          max( 0 , TOT_BASE_MAJO ) - max( 0 , TOT_REF ) 
+                              )
+                     );
+
+
+SUP2HR[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF) 
+		    * max(0, 
+				     min(
+					    min( HRBASE_IRECT , HRBASE_MAJO) ,
+                                            TOT_BASE_MAJO
+					)
+                          )
+
+	      + (positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))
+
+	         * max(0, min( 
+		                min( HRBASE_IRECT, HRBASE_MAJO) - TCHRBASE[FLAG_DERSTTR] , 
+                                TOT_BASE_MAJO - TOT_REF
+                             )
+                      )
+	        )
+	     + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))) * 0
+	        ;
+regle corrective 23113:
+application : oceans, iliad;
+TMAJOIR[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPIR[X] * TAUX_STRATE/100 ));
+T2MAJOIR[X] = (1 - null(1 - IND_RJLJ))
+	     * (
+	     (positif(null(X - 0) * null(CODE_2042 - 17) 
+		 +null(X-14)+null(X-15)+null(X-18)+null(X-20))
+		*(null(X-20)*TL_IR*arr(SUP2IR[X] * TX1758A/100)
+		  +(1-null(X-20)) * arr(SUP2IR[X] * TX1758A/100)))
+
+	      + null(X-1) 
+	                  * positif(null(X - 1) * null(CSTRATE1 - 17)
+                               +null(CSTRATE1 - 1)
+	                       +null(CSTRATE1 - 2)
+			       +null(CSTRATE1 - 10)
+		               +null(CSTRATE1 - 30)) * arr(SUP2IR[X] * TX1758A/100)
+
+                 ); 
+
+MAJOIR_ST = MAJOIRST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOIR[X] + T2MAJOIR[X];
+TMAJOCS[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCS[X] * TAUX_STRATE/100 ));
+MAJOCS_ST = MAJOCSST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCS[X] ;
+TMAJOPS[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPPS[X] * TAUX_STRATE/100 ));
+MAJOPS_ST = MAJOPSST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOPS[X] ;
+TMAJORD[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRD[X] * TAUX_STRATE/100 ));
+MAJORD_ST = MAJORDST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORD[X] ;
+TMAJOCSAL[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCSAL[X] * TAUX_STRATE/100 ));
+MAJOCSAL_ST = MAJOCSALST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCSAL[X] ;
+TMAJOCDIS[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCDIS[X] * TAUX_STRATE/100 ));
+MAJOCDIS_ST = MAJOCDISST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCDIS[X] ;
+TMAJOGAIN[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPGAIN[X] * TAUX_STRATE/100 ));
+MAJOGAIN_ST = MAJOGAINST_DEF * (1 - positif(FLAG_1STRATE)) + 
+TMAJOGAIN[X] ;
+TMAJORSE1[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE1[X] * TAUX_STRATE/100 ));
+MAJORSE1_ST = MAJORSE1ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE1[X] ;
+TMAJORSE2[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE2[X] * TAUX_STRATE/100 ));
+MAJORSE2_ST = MAJORSE2ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE2[X] ;
+TMAJORSE3[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE3[X] * TAUX_STRATE/100 ));
+MAJORSE3_ST = MAJORSE3ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE3[X] ;
+TMAJORSE4[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE4[X] * TAUX_STRATE/100 ));
+MAJORSE4_ST = MAJORSE4ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE4[X] ;
+TMAJOTAXA[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPTAXA[X] * TAUX_STRATE/100 ));
+T2MAJOTAXA[X] = (1 - null(1 - IND_RJLJ))
+	     * (positif(null(X - 0) * null(CODE_2042 - 17) 
+	        + null(X-14)+null(X-15)+null(X-18)+null(X-20))
+		*(null(X-20)*TL_TAXAGA*arr(SUP2TAXA[X] * TX1758A/100)
+		  +(1-null(X-20)) * arr(SUP2TAXA[X] * TX1758A/100)));
+MAJOTAXA_ST = MAJOTAXAST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOTAXA[X] + T2MAJOTAXA[X];
+TMAJOHR[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPHR[X] * TAUX_STRATE/100 ));
+T2MAJOHR[X] = (1 - null(1 - IND_RJLJ))
+	     * (positif(null(X - 0) * null(CODE_2042 - 17) 
+	        + null(X-14)+null(X-15)+null(X-18)+null(X-20))
+		*(null(X-20)*TL_CHR*arr(SUP2HR[X] * TX1758A/100)
+		  +(1-null(X-20)) * arr(SUP2HR[X] * TX1758A/100)));
+MAJOHR_ST = MAJOHRST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOHR[X] + T2MAJOHR[X];
+TMAJOCAP[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCAP[X] * TAUX_STRATE/100 ));
+T2MAJOCAP[X] = (1 - null(1 - IND_RJLJ))
+	     * (positif(null(X - 0) * null(CODE_2042 - 17) 
+	        + null(X-14)+null(X-15)+null(X-18)+null(X-20))
+		*(null(X-20)*TL_CAP*arr(SUP2CAP[X] * TX1758A/100)
+		  +(1-null(X-20)) * arr(SUP2CAP[X] * TX1758A/100)));
+MAJOCAP_ST = MAJOCAPST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCAP[X] + T2MAJOCAP[X];
+regle isf 233:
+application : iliad;
+TMAJOISF[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPISF[X] * TAUX_STRATE/100 ));
+MAJOISF_ST = MAJOISFST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOISF[X] ;
+regle corrective 23114:
+application : oceans, iliad;
+
+MAJOIR07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+			* STR_TR16 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR17_2TARDIF = max(0,arr(FLAG_TRTARDIF * TX1758A/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR_TARDIF = somme(x = 07,08: MAJOIR0x_TARDIF) 
+		+ MAJOIR17_1TARDIF + MAJOIR17_2TARDIF;
+MAJOCS07_TARDIF = max(0,arr(FLAG_TRTARDIF * CSBASE_MAJO * TAUX_2042/100)
+			* STR_TR16 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCS08_TARDIF = max(0,arr(FLAG_TRTARDIF * CSBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCS17_TARDIF = max(0,arr(FLAG_TRTARDIF * CSBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCS_TARDIF = somme(x = 07,08,17 : MAJOCSx_TARDIF);
+MAJOPS07_TARDIF = max(0,arr(FLAG_TRTARDIF * PSBASE_MAJO * TAUX_2042/100)
+			* STR_TR16 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOPS08_TARDIF = max(0,arr(FLAG_TRTARDIF * PSBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOPS17_TARDIF = max(0,arr(FLAG_TRTARDIF * PSBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOPS_TARDIF = somme(x = 07,08,17 : MAJOPSx_TARDIF);
+MAJORD07_TARDIF = max(0,arr(FLAG_TRTARDIF * RDBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJORD08_TARDIF = max(0,arr(FLAG_TRTARDIF * RDBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJORD17_TARDIF = max(0,arr(FLAG_TRTARDIF * RDBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJORD_TARDIF = somme(x = 07,08,17 : MAJORDx_TARDIF);
+MAJOCSAL07_TARDIF = max(0,arr(FLAG_TRTARDIF * CSALBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCSAL08_TARDIF = max(0,arr(FLAG_TRTARDIF * CSALBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCSAL17_TARDIF = max(0,arr(FLAG_TRTARDIF * CSALBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCSAL_TARDIF = somme(x = 07,08,17 : MAJOCSALx_TARDIF);
+MAJOGAIN07_TARDIF = max(0,arr(FLAG_TRTARDIF * GAINBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOGAIN08_TARDIF = max(0,arr(FLAG_TRTARDIF * GAINBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOGAIN17_TARDIF = max(0,arr(FLAG_TRTARDIF * GAINBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOGAIN_TARDIF = somme(x = 07,08,17 : MAJOGAINx_TARDIF);
+MAJOCDIS07_TARDIF = max(0,arr(FLAG_TRTARDIF * CDISBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCDIS08_TARDIF = max(0,arr(FLAG_TRTARDIF * CDISBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCDIS17_TARDIF = max(0,arr(FLAG_TRTARDIF * CDISBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCDIS_TARDIF = somme(x = 07,08,17 : MAJOCDISx_TARDIF);
+MAJORSE107_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE1BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE108_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE1BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE117_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE1BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE1_TARDIF = somme(x = 07,08,17 : MAJORSE1x_TARDIF);
+MAJORSE207_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE2BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE208_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE2BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE217_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE2BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE2_TARDIF = somme(x = 07,08,17 : MAJORSE2x_TARDIF);
+MAJORSE307_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE3BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE308_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE3BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE317_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE3BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE3_TARDIF = somme(x = 07,08,17 : MAJORSE3x_TARDIF);
+MAJORSE407_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE4BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE408_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE4BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE417_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE4BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE4_TARDIF = somme(x = 07,08,17 : MAJORSE4x_TARDIF);
+MAJOHR07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+
+MAJOHR08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJOHR17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+MAJOHR17_2TARDIF = max(0,arr(FLAG_TRTARDIF * TX1758A/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+MAJOHR_TARDIF = somme(x = 07,08 : MAJOHR0x_TARDIF) 
+		+ MAJOHR17_1TARDIF + MAJOHR17_2TARDIF;
+MAJOCAP07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                             min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                )
+                            )
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOCAP08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+			     min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                )
+                             )
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOCAP17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                              min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			          max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                 )
+                             )
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOCAP17_2TARDIF = max(0,arr(FLAG_TRTARDIF * TX1758A/100 *
+                              min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			          max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                 )
+                             )
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+MAJOCAP_TARDIF = somme(x = 07,08 : MAJOCAP0x_TARDIF) 
+		+ MAJOCAP17_1TARDIF + MAJOCAP17_2TARDIF;
+
+MAJOTAXA07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 * 
+                             min(min(TAXABASE2042_FIC,TAXABASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO)
+                                )
+                              )
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJOTAXA08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+			      min(min(TAXABASE2042_FIC,TAXABASE_MAJO),
+                                  max(0, IRBASE + TAXABASE_MAJO)
+				 )	   
+                              ) 
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOTA17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                             min(min(TAXABASE2042_FIC,TAXABASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO)
+                                )
+                            ) 
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+MAJOTA17_2TARDIF = max(0,arr(FLAG_TRTARDIF * TX1758A/100 *
+                             min(min(TAXABASE2042_FIC,TAXABASE_MAJO),
+                                  max(0, IRBASE + TAXABASE_MAJO)
+                                )
+                            )
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+MAJOTAXA_TARDIF = somme(x = 07,08 : MAJOTAXA0x_TARDIF) 
+		+ MAJOTA17_1TARDIF + MAJOTA17_2TARDIF;
+IRNIN_TARDIF = IRBASE * FLAG_TRTARDIF ;
+CSG_TARDIF = CSBASE_MAJO * FLAG_TRTARDIF ;
+RDS_TARDIF = RDBASE_MAJO* FLAG_TRTARDIF;
+PRS_TARDIF = PSBASE_MAJO * FLAG_TRTARDIF;
+CSAL_TARDIF = CSALBASE_MAJO * FLAG_TRTARDIF;
+CDIS_TARDIF = CDISBASE_MAJO * FLAG_TRTARDIF;
+GAIN_TARDIF = GAINBASE_MAJO * FLAG_TRTARDIF;
+RSE1_TARDIF = RSE1BASE_MAJO * FLAG_TRTARDIF;
+RSE2_TARDIF = RSE2BASE_MAJO * FLAG_TRTARDIF;
+RSE3_TARDIF = RSE3BASE_MAJO * FLAG_TRTARDIF;
+RSE4_TARDIF = RSE4BASE_MAJO * FLAG_TRTARDIF;
+TAXA_TARDIF = TAXABASE_MAJO * FLAG_TRTARDIF;
+HR_TARDIF = HRBASE_MAJO * FLAG_TRTARDIF;
+CAP_TARDIF = CAPBASE_MAJO * FLAG_TRTARDIF;
+regle isf 234:
+application : iliad;
+MAJOISF07_TARDIF =  max(0,arr(FLAG_TRTARDIF * ISF4BASE * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+                     );
+MAJOISF08_TARDIF = max(0,arr(FLAG_TRTARDIF * ISF4BASE * TAUX_2042/100)
+			* STR_TR11
+		        * (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+		     );
+MAJOISF17_TARDIF = max(0,arr(FLAG_TRTARDIF * ISF4BASE * TAUX_2042/100)
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+		     );
+MAJOISF_TARDIF = somme(x = 07,08,17 : MAJOISFx_TARDIF);
+ISF_TARDIF = ISF4BASE * FLAG_TRTARDIF ;
+regle corrective 231141:
+application : oceans, iliad;
+FLAG_TRTARDIF_R = FLAG_RETARD * FLAG_RECTIF * FLAG_1STRATE 
+		 * (null(CSTRATE99 - 7) + null(CSTRATE99 - 8) + null(CSTRATE99 - 17) );
+MAJOIR07TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-7) * TMAJOIR[00];
+MAJOIR08TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-8) * TMAJOIR[00];
+MAJOIR17_1TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-17) * TMAJOIR[00];
+MAJOIR17_2TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-17) * TMAJOIR[00];
+MAJOIRTARDIF_R = somme(x = 07,08: MAJOIR0xTARDIF_R) 
+		+ MAJOIR17_1TARDIF_R + MAJOIR17_2TARDIF_R;
+MAJOCS07TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(
\ No newline at end of file
diff --git a/sources2011m_9_6/chap-perp.m b/sources2011m_9_6/chap-perp.m
new file mode 100644
index 0000000000000000000000000000000000000000..a62d2e6461d562ba4c7f4fe7c3f832ebb709cbdd
--- /dev/null
+++ b/sources2011m_9_6/chap-perp.m
@@ -0,0 +1,701 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+                                                                       
+  ####   #    #    ##    #####      #     #####  #####   ######         
+ #    #  #    #   #  #   #    #     #       #    #    #  #          
+ #       ######  #    #  #    #     #       #    #    #  #####      
+ #       #    #  ######  #####      #       #    #####   #             
+ #    #  #    #  #    #  #          #       #    #   #   #              
+  ####   #    #  #    #  #          #       #    #    #  ######  
+regle 31000:
+application : pro , oceans ,  iliad , batch  ;
+PERP_BOOL = positif(null(1-(V_0CF+V_0CH+V_0CR+V_0DJ+V_0DN+V_0DP)) *
+          null(
+   present( TSHALLO2 ) 
+ + present( ALLO2 ) 
+ + present( TSHALLO3 ) 
+ + present( ALLO3 ) 
+ + present( TSHALLO4 ) 
+ + present( ALLO4 ) 
+ + present( FRN2 ) 
+ + present( FRN3 ) 
+ + present(FRN4)
+ + present(HEURESUPP2)
+ + present(HEURESUPP3)
+ + present(HEURESUPP4)
+ + present(CARTSP2)
+ + present(CARTSP3)
+ + present(CARTSP4)
+ + present(REMPLAP2)
+ + present(REMPLAP3)
+ + present(REMPLAP4)
+ )); 
+regle 31002:
+application : pro , oceans ,  iliad , batch  ;
+PERPSALV = 
+  TSHALLOV  
+ + ALLOV  
+ + GLD1V  
+ + GLD2V  
+ + GLD3V  
+ + BPCOSAV  
+ + TSASSUV  
+ + CARTSV  
+ + TSELUPPEV  
+ + HEURESUPV
+ + REMPLAV
+ ;
+PERPSALC = 
+   TSHALLOC  
+ + ALLOC  
+ + GLD1C  
+ + GLD2C  
+ + GLD3C  
+ + BPCOSAC  
+ + TSASSUC  
+ + CARTSC  
+ + TSELUPPEC  
+ + HEURESUPC
+ + REMPLAC
+ ;
+PERPSALP = PERP_BOOL * (
+   TSHALLO1  
+ + ALLO1  
+ + CARTSP1
+ + REMPLAP1
+ )
+ + HEURESUPP1
+ ;
+regle 31003:
+application : pro , oceans ,  iliad , batch  ;
+PERPSALDV = PREP10V;
+PERPSALDC = PREP10C;
+PERPSALDP = PREP10P * PERP_BOOL;
+regle 31004:
+application : pro , oceans ,  iliad , batch  ;
+PERPSALNV = PERPSALV - PERPSALDV + ELURASV;
+PERPSALNC = PERPSALC - PERPSALDC + ELURASC;
+PERPSALNP = PERPSALP -PERPSALDP ;
+regle 31005:
+application : pro , oceans ,  iliad , batch  ;
+PERPBANV = 
+   FEXV  
+ + BAFV  
+ + BAFPVV  
+ + BAEXV  
+ + BACREV  
+ - BACDEV  
+ + BAHEXV  
+ + BAHREV  
+ - BAHDEV  
+ + BAPERPV
+ + 4BACREV  
+ + 4BAHREV 
+ + BAFORESTV
+ + BANOCGAV
+ ;
+PERPBANC = 
+   FEXC  
+ + BAFC  
+ + BAFPVC  
+ + BAEXC  
+ + BACREC  
+ - BACDEC  
+ + BAHEXC  
+ + BAHREC  
+ - BAHDEC  
+ + BAPERPC 
+ + 4BACREC  
+ + 4BAHREC 
+ + BAFORESTC
+ + BANOCGAC
+ ;
+PERPBANP = PERP_BOOL * (
+   FEXP  
+ + BAFP  
+ + BAFPVP  
+ + BAEXP  
+ + BACREP  
+ - BACDEP  
+ + BAHEXP  
+ + BAHREP  
+ - BAHDEP  
+ + BAPERPP
+ + 4BACREP  
+ + 4BAHREP ) 
+ + BAFORESTP
+ + BANOCGAP
+ ;
+regle 31006:
+application : pro , oceans ,  iliad , batch  ;
+PERPBICMNV =TPMIB_NETPV+TPMIB_NETVV+MIBEXV+MIBPVV;
+PERPBICMNC =TPMIB_NETPC+TPMIB_NETVC+MIBEXC+MIBPVC;
+PERPBICMNP =(TPMIB_NETPP+TPMIB_NETVP+MIBEXP+MIBPVP) * PERP_BOOL;
+regle 31007:
+application : pro , oceans ,  iliad , batch  ;
+PERPBICPNV =
+   BICEXV  
+ + BICNOV  
+ - BICDNV  
+ + BIHEXV  
+ + BIHNOV  
+ - BIHDNV  
+ + BIPERPV 
+ + LOCPROCGAV
+ - LOCDEFPROCGAV
+ + LOCPROV
+ - LOCDEFPROV
+ ;
+PERPBICPNC =
+   BICEXC  
+ + BICNOC  
+ - BICDNC  
+ + BIHEXC  
+ + BIHNOC  
+ - BIHDNC  
+ + BIPERPC  
+ + LOCPROCGAC
+ - LOCDEFPROCGAC
+ + LOCPROC
+ - LOCDEFPROC
+;
+PERPBICPNP = PERP_BOOL * (
+   BICEXP  
+ + BICNOP  
+ - BICDNP  
+ + BIHEXP  
+ + BIHNOP  
+ - BIHDNP  
+ + BIPERPP 
+ + LOCPROCGAP
+ - LOCDEFPROCGAP
+ + LOCPROP
+ - LOCDEFPROP );
+regle 31008:
+application : pro , oceans ,  iliad , batch  ;
+PERPBNCMNV =  BNCPROEXV + max(0,(BNCPROV+AUTOBNCV) - max(arr((BNCPROV+AUTOBNCV) * SPETXAB/100),MIN_SPEBNC))
+                     + BNCPROPVV;
+PERPBNCMNC =  BNCPROEXC + max(0,(BNCPROC+AUTOBNCC) - max(arr((BNCPROC+AUTOBNCC) * SPETXAB/100),MIN_SPEBNC))
+                     + BNCPROPVC;
+PERPBNCMNP =  PERP_BOOL * (
+              BNCPROEXP + max(0,(BNCPROP+AUTOBNCP) - max(arr((BNCPROP+AUTOBNCP) * SPETXAB/100),MIN_SPEBNC))
+                     + BNCPROPVP);
+regle 31009:
+application : pro , oceans ,  iliad , batch  ;
+PERPBNCPNV =  
+   BNCEXV  
+ + BNCREV  
+ - BNCDEV  
+ + BNHEXV  
+ + BNHREV  
+ - BNHDEV 
+ + BNCCRV
+ + XHONOAAV
+ + XHONOV
+ ;
+PERPBNCPNC =  
+   BNCEXC  
+ + BNCREC  
+ - BNCDEC  
+ + BNHEXC  
+ + BNHREC  
+ - BNHDEC
+ + BNCCRC
+ + XHONOAAC
+ + XHONOC
+ ;
+PERPBNCPNP =  PERP_BOOL * (
+   BNCEXP  
+ + BNCREP  
+ - BNCDEP  
+ + BNHEXP  
+ + BNHREP  
+ - BNHDEP 
+ + BNCCRP
+ + XHONOAAP
+ + XHONOP
+ ); 
+regle 31010:
+application : pro , oceans ,  iliad , batch  ;
+PERPNONSALV = PERPBANV + PERPBICMNV + PERPBICPNV + PERPBNCMNV + PERPBNCPNV;
+PERPNONSALC = PERPBANC + PERPBICMNC + PERPBICPNC + PERPBNCMNC + PERPBNCPNC;
+PERPNONSALP = PERPBANP + PERPBICMNP + PERPBICPNP + PERPBNCMNP + PERPBNCPNP;
+regle 31011:
+application : pro , oceans ,  iliad , batch  ;
+PERPREVTOTV = max(0,PERPSALNV + PERPNONSALV) ;
+PERPREVTOTC = max(0,PERPSALNC + PERPNONSALC) ;
+PERPREVTOTP = max(0,PERPSALNP + PERPNONSALP) ;
+regle 31012:
+application : pro , oceans ,  iliad , batch  ;
+
+pour i =V,C:
+PERP_INDi = positif( 0 +
+  positif(TSHALLOi)  
+ + positif(ALLOi)    
+ + positif(GLD1i)  + positif(GLD2i)  + positif(GLD3i) 
+ + positif(BPCOSAi)  + positif(TSASSUi)  + positif(CARTSi)  + positif(TSELUPPEi)
++ positif(FEXi)  + positif(BAFi)  + positif(BAFPVi)  + positif(BAEXi)  
++ positif(BACREi) + positif(4BACREi) 
++ positif(BACDEi)  + positif(BAHEXi)  
++ positif(BAHREi) + positif(4BAHREi) 
++ positif(BAHDEi)  + positif(BAPERPi) 
++ positif(MIBEXi) + positif(MIBVENi) + positif(MIBPRESi) + positif(MIBPVi)
++ positif(AUTOBICVi) + positif(AUTOBICPi)
+ + positif(BICEXi) + positif(BICNOi) + positif(BICDNi)  
+ + positif(BIHEXi) + positif(BIHNOi)  
+ + positif(BIHDNi) + positif(BIPERPi) 
+ + positif(LOCPROCGAi) - positif(LOCDEFPROCGAi) + positif(LOCPROi) -  positif(LOCDEFPROi)   
++ positif(BNCPROEXi) + positif(BNCPROi) + positif(BNCPROPVi)
++ positif(AUTOBNCi) 
++ positif(BNCEXi) + positif(BNCREi) + positif(BNCDEi) + positif(BNHEXi)  
++ positif(BNHREi) + positif(BNHDEi) + positif(BNCCRi) );
+
+PERP_INDP = positif( 0+
+  positif(TSHALLO1)    
+ + positif(ALLO1)    
++ positif(FEXP)  + positif(BAFP)  + positif(BAFPVP)  + positif(BAEXP)  
++ positif(BACREP) + positif(4BACREP) 
++ positif(BACDEP)  + positif(BAHEXP)  
++ positif(BAHREP) + positif(4BAHREP) 
++ positif(BAHDEP)  + positif(BAPERPP) 
++ positif(MIBEXP) + positif(MIBVENP) + positif(MIBPRESP) + positif(MIBPVP)
++ positif(AUTOBICVP) + positif(AUTOBICPP)
+ + positif(BICEXP) + positif(BICNOP) + positif(BICDNP)  
+ + positif(BIHEXP) + positif(BIHNOP)  
+ + positif(BIHDNP) + positif(BIPERPP) 
+ + positif(LOCPROCGAP) - positif(LOCDEFPROCGAP) + positif(LOCPROP) -  positif(LOCDEFPROP)   
++ positif(BNCPROEXP) + positif(BNCPROP) + positif(BNCPROPVP)
++ positif(AUTOBNCP)
++ positif(BNCEXP) + positif(BNCREP) + positif(BNCDEP) + positif(BNHEXP)  
++ positif(BNHREP) + positif(BNHDEP) + positif(BNCCRP) );
+
+regle 31013:
+application : pro ,  oceans , iliad , batch  ;
+
+PERPINDV = positif(
+	    (positif(positif(PERP_INDV)
+	      + (1 - positif(PERP_INDV))
+		 * (1 - positif(PRBRV+PALIV)))
+	    * positif(INDREV1A8))
+	    + (1 - positif(PERP_INDV)) * positif(PRBRV+PALIV) 
+			* positif(PERP_COTV) 
+	    +PERPMUTU * (1 - positif(PERP_INDV+PERP_COTV)))
+	    * (1 - PERP_NONV)
+	    * (1 -V_CNR) ;
+PERPINDC = positif(
+	    (positif(positif(PERP_INDC)
+	      + (1 - positif(PERP_INDC))
+		 * (1 - positif(PRBRC+PALIC)))
+	    * positif(INDREV1A8))
+	    + (1 - positif(PERP_INDC)) * positif(PRBRC+PALIC)
+			* positif(PERP_COTC) 
+	    +PERPMUTU * (1 - positif(PERP_INDC+PERP_COTC)))		
+	    * (1 - PERP_NONC)
+	    * BOOL_0AM
+	    * (1 -V_CNR) ;
+PERPINDP = positif(
+	    (positif(positif(PERP_INDP)
+	      + (1 - positif(PERP_INDP))
+		 * (1 - positif(PRBR1) + positif(PALIP)))
+	    * positif(INDREV1A8))
+	    + (1 - positif(PERP_INDP)) * positif(PRBR1+PALIP)
+			* positif(PERP_COTP) 
+	    )
+	    * PERP_BOOL
+	    * (1 -V_CNR) ;
+
+regle 31014:
+application : pro ,  oceans , iliad , batch  ;
+PERPINDCV = positif(V_BTPERPTOTV + PERPPLAFCV 
+		+ PERPPLAFNUV1 + PERPPLAFNUV2 +PERPPLAFNUNV
+		+ PERP_COTV + RACCOTV) 
+	    * PERPINDV
+	    * (1 -V_CNR);
+PERPINDCC = BOOL_0AM 
+	    * positif(V_BTPERPTOTC + PERPPLAFCC 
+		+ PERPPLAFNUC1 + PERPPLAFNUC2 +PERPPLAFNUNC
+		+ PERP_COTC + RACCOTC) 
+	    * PERPINDC
+            * (1 -V_CNR);
+PERPINDCP = PERP_BOOL 
+	  * positif(V_BTPERPTOTP + PERPPLAFCP 
+		+ PERPPLAFNUP1 + PERPPLAFNUP2 +PERPPLAFNUNP
+		+ PERP_COTP + RACCOTP) 
+	+0
+	   * (1 -V_CNR);
+regle 31015:
+application : pro ,  oceans , iliad , batch  ;
+PERPPLAFV = positif(PERPINDV) *
+	      max(0,positif(PERPREVTOTV) 
+	      * (max(min(arr(PERPREVTOTV * TX_PERPPLAF/100),LIM_PERPMAX),LIM_PERPMIN)-PERPV)
+            + (1 - positif(PERPREVTOTV)) * (LIM_PERPMIN - PERPV) 
+               )
+ 	   * (1 -V_CNR);
+PERPPLAFC = positif(PERPINDC) * BOOL_0AM * 
+		max(0,positif(PERPREVTOTC) 
+		* (max(min(arr(PERPREVTOTC * TX_PERPPLAF/100),LIM_PERPMAX),LIM_PERPMIN)-PERPC)
+                + (1 - positif(PERPREVTOTC)) * (LIM_PERPMIN - PERPC)
+                   ) 
+ 	   * (1 -V_CNR);
+PERPPLAFP = positif(PERPINDP) *
+	      max(0,positif(PERPREVTOTP) 
+	      * (max(min(arr(PERPREVTOTP * TX_PERPPLAF/100),LIM_PERPMAX),LIM_PERPMIN)-PERPP)
+            + (1 - positif(PERPREVTOTP)) * (LIM_PERPMIN - PERPP) 
+               )
+ 	   * (1 -V_CNR);
+regle 31016:
+application : pro ,  oceans , iliad , batch  ;
+pour i =V,C,P:
+PERPPLAFTi = PERPINDi 
+	     * max(0,PERPPLAFi + PERPPLAFNUNi + PERPPLAFNU1i + PERPPLAFNU2i) 
+	     * (1 - V_CNR);
+regle 31017:
+application : pro ,  oceans , iliad , batch  ;
+pour i =V,C,P:
+PERPPLATiANT = (1 - positif(present(PERPPLAFCi) + present(PERPPLAFNUi1)
+		+ present(PERPPLAFNUi2) + present(PERPPLAFNUi3)))
+		* V_BTPERPTOTi
+		+ positif(present(PERPPLAFCi) + present(PERPPLAFNUi1)
+		+ present(PERPPLAFNUi2) + present(PERPPLAFNUi3))
+		 *(PERPPLAFCi + PERPPLAFNUi1 + PERPPLAFNUi2 + PERPPLAFNUi3);
+pour i =V,C,P:
+PERPPLAFiANT = present(PERPPLAFCi) * PERPPLAFCi
+	      + (1 - present(PERPPLAFCi)) * V_BTPERPi;
+pour i =V,C,P:
+PERPPLAFNUi2ANT = present(PERPPLAFNUi2) * PERPPLAFNUi2
+ 		+(1 - present(PERPPLAFNUi2)) * V_BTPERPNUi2 ;
+pour i =V,C,P:
+PERPPLAFNUi3ANT = present(PERPPLAFNUi3) * PERPPLAFNUi3
+ 		+(1 - present(PERPPLAFNUi3)) * V_BTPERPNUi3 ;
+regle 31018:
+application : pro ,  oceans , iliad , batch  ;
+PERPPLAFNUTV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* max(PERPPLATVANT - RPERPV,0)
+		+ positif(PERP_COND1) * 0
+		+ positif(PERP_COND2) * max(0,PERPPLATVANT - RPERPV - RPERPMUTC - RACCOTC)
+		;
+PERPPLAFNUTC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* max(PERPPLATCANT - RPERPC,0)
+		+ positif(PERP_COND1) * max(0,PERPPLATCANT - RPERPC - RPERPMUTV - RACCOTV)
+		+ positif(PERP_COND2) * 0
+		;
+PERPPLAFNUTP = max(PERPPLATPANT - RPERPP,0) ;
+PERPPLAFNUV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) * max(0,PERPPLAFVANT - RPERPV)
+	         + positif(PERPIMPATRIE+0) * max(0,PERPPLAFV - RPERPV))
+	       + positif(PERP_COND1) * 0
+	       + positif(PERP_COND2) 
+	       * ((1 - positif(PERPIMPATRIE))
+		 * max(0,PERPPLAFVANT - RPERPV - RPERPMUTC - RACCOTC)
+		 + positif(PERPIMPATRIE)
+		 * max(0,PERPPLAFV - RPERPV - RPERPMUTC - RACCOTC))
+	       ;
+PERPPLAFNUC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) * max(0,PERPPLAFCANT - RPERPC)
+	         + positif(PERPIMPATRIE+0) * max(0,PERPPLAFC - RPERPC))
+	       + positif(PERP_COND1) 
+	       * ((1 - positif(PERPIMPATRIE))
+	       * max(0,PERPPLAFCANT - RPERPC - RPERPMUTV - RACCOTV)
+		 + positif(PERPIMPATRIE)
+	       * max(0,PERPPLAFC - RPERPC - RPERPMUTV - RACCOTV))
+	       + positif(PERP_COND2) * 0
+	       ;
+PERPPLAFNUP = (1 - positif(PERPIMPATRIE+0)) * max(0,PERPPLAFPANT - RPERPP)
+	       + positif(PERPIMPATRIE+0) * max(0,PERPPLAFP - RPERPP)
+	       ;
+pour i =V,C,P:
+PERPPLAFNUNi = max(0,PERPPLAFNUi);
+PERPPLAFNU3V = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFNUV) * PERPPLAFNUV3ANT
+	             + (1 - positif(PERPPLAFNUV)) 
+		    * max(0,PERPPLAFNUV3ANT - (RPERPV - PERPPLAFVANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) * 0
+   		+ positif(PERP_COND2) * (positif(PERPPLAFNUV) * PERPPLAFNUV3ANT
+			+ (1 - positif(PERPPLAFNUV)) *max(0,PERPPLAFNUV3ANT - (RPERPV + RPERPMUTC  + RACCOTC- PERPPLAFVANT)))
+		    ;
+PERPPLAFNU3C = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFNUC) * PERPPLAFNUC3ANT
+	             + (1 - positif(PERPPLAFNUC)) 
+		    * max(0,PERPPLAFNUC3ANT - (RPERPC - PERPPLAFCANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) * (positif(PERPPLAFNUC) * PERPPLAFNUC3ANT
+			+ (1 - positif(PERPPLAFNUC)) *max(0,PERPPLAFNUC3ANT - (RPERPC + RPERPMUTV  + RACCOTV- PERPPLAFCANT)))
+   		+ positif(PERP_COND2) * 0
+		    ;
+PERPPLAFNU3P = (1 - positif(PERPIMPATRIE+0)) 
+		* (
+		  max(0,positif(PERPPLAFNUP) * PERPPLAFNUP3ANT
+	             + (1 - positif(PERPPLAFNUP+0)) 
+		    * (PERPPLAFNUP3ANT - (RPERPP - PERPPLAFPANT)))
+		    )
+		 + positif(PERPIMPATRIE+0) * 0 ;
+PERPPLAFNU2V = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV) 
+				* PERPPLAFNUV2ANT
+	          + (1 - positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV)) 
+		    * max(0,PERPPLAFNUV2ANT - (RPERPV - PERPPLAFVANT - PERPPLAFNUV3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) * 0
+   		+ positif(PERP_COND2) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV - RPERPMUTC- RACCOTC) 
+				* PERPPLAFNUV2ANT
+	          + (1 - positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV - RPERPMUTC - RACCOTC)) 
+		    * max(0,PERPPLAFNUV2ANT - (RPERPV + RPERPMUTC + RACCOTC) - (PERPPLAFVANT + PERPPLAFNUV3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+		;
+PERPPLAFNU2C = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC) 
+				* PERPPLAFNUC2ANT
+	          + (1 - positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC)) 
+		    * max(0,PERPPLAFNUC2ANT - (RPERPC - PERPPLAFCANT - PERPPLAFNUC3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		    * (positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC - RPERPMUTV - RACCOTV) 
+				* PERPPLAFNUC2ANT
+	          + (1 - positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC - RPERPMUTV - RACCOTV )) 
+		    * max(0,PERPPLAFNUC2ANT - (RPERPC + RPERPMUTV  + RACCOTV) - (PERPPLAFCANT + PERPPLAFNUC3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND2) * 0
+		;
+PERPPLAFNU2P = (1 - positif(PERPIMPATRIE+0)) 
+             * (
+             max(0,positif(PERPPLAFPANT + PERPPLAFNUP3ANT - RPERPP) 
+             * PERPPLAFNUP2ANT
+             + (1 - positif(PERPPLAFPANT + PERPPLAFNUP3ANT - RPERPP)) 
+             * max(0,PERPPLAFNUP2ANT - (RPERPP - PERPPLAFPANT - PERPPLAFNUP3ANT)))
+             )
+             + positif(PERPIMPATRIE+0) * 0 ;
+PERPPLAFNU1V = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTV - PERPPLAFNUNV - PERPPLAFNU3V - PERPPLAFNU2V,0)
+	       	+ positif(PERPIMPATRIE+0) * 0 )
+		+ positif(PERP_COND1) * 0
+		+ positif(PERP_COND2) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTV - PERPPLAFNUNV - PERPPLAFNU3V - PERPPLAFNU2V,0)
+   		+ positif(PERP_COND2) * 0)
+	       ;
+PERPPLAFNU1C = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTC - PERPPLAFNUNC - PERPPLAFNU3C - PERPPLAFNU2C,0)
+	       	+ positif(PERPIMPATRIE+0) * 0 )
+		+ positif(PERP_COND1) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTC - PERPPLAFNUNC - PERPPLAFNU3C - PERPPLAFNU2C,0)
+		    + positif(PERPIMPATRIE+0) * 0) 
+		+ positif(PERP_COND2) * 0
+	       ;
+PERPPLAFNU1P = (1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTP - PERPPLAFNUNP - PERPPLAFNU3P - PERPPLAFNU2P,0)
+	       + positif(PERPIMPATRIE+0) * 0 ;
+regle 31019:
+application : pro ,  oceans , iliad , batch  ;
+PERP_NONV = positif(
+		(1 - positif(PERP_INDV)) * (1 - positif(PRBRV+PALIV))
+		* (1 - positif(PERP_COTV))
+		* (1 - positif(PERP_INDC)) * positif(PRBRC+PALIC)
+	  ) ;
+PERP_NONC = BOOL_0AM * positif(
+		(1 - positif(PERP_INDC)) * (1 - positif(PRBRC+PALIC))
+		* (1 - positif(PERP_COTC))
+		* (1 - positif(PERP_INDV)) * positif(PRBRV+PALIV)
+	  ) ;
+PERP_NONP = PERP_BOOL * positif(PERP_NONC + PERP_NONV) ;
+regle 31020:
+application : pro ,  oceans , iliad , batch  ;
+pour i=V,C,P:
+PERPPLAFCOMi = positif(PERPIMPATRIE) * PERPPLAFi *3
+	      + (1 - positif(PERPIMPATRIE)) * 0;
+pour i=V,C,P:
+PERPPLAFIMPi = positif(PERPIMPATRIE) * (PERPPLAFCOMi + PERPPLAFi)
+	      + (1 - positif(PERPIMPATRIE)) * 0;
+regle 31021:
+application : pro ,  oceans , iliad , batch  ;
+PERP_MUT = positif(PERPMUTU)
+	   * positif(V_0AM+V_0AO)
+	   * (1 - positif(V_0AC+V_0AD+V_0AV))
+	   ;
+PERP_COND1 =  positif(PERP_MUT)
+	      *((1 - positif(PERPIMPATRIE))
+	      * positif(PERP_COTV  - PERPPLATVANT)
+	      * positif(PERPPLATCANT - PERP_COTC)
+	      + positif(PERPIMPATRIE)
+	      * positif(PERP_COTV  - PERPPLAFIMPV)
+	      * positif(PERPPLAFIMPC - PERP_COTC)
+	      );
+PERP_COND2 =  positif(PERP_MUT) 
+	      *((1 - positif(PERPIMPATRIE))
+	      * positif(PERP_COTC  - PERPPLATCANT)
+	      * positif(PERPPLATVANT - PERP_COTV)
+	      + positif(PERPIMPATRIE)
+	      * positif(PERP_COTC  - PERPPLAFIMPC)
+	      * positif(PERPPLAFIMPV - PERP_COTV)
+	      );
+PERPPLAFMUTV = positif(PERP_COND1)
+	      *((1 - positif(PERPIMPATRIE))
+	       * (PERPPLATVANT + max(0,PERPPLATCANT - PERP_COTC))
+	      + positif(PERPIMPATRIE)
+	       * (PERPPLAFIMPV + max(0,PERPPLAFIMPC - PERP_COTC))
+	      );
+PERPPLAFMUTC = positif(PERP_COND2)
+	      *((1 - positif(PERPIMPATRIE))
+	       * (PERPPLATCANT + max(0,PERPPLATVANT - PERP_COTV))
+	      + positif(PERPIMPATRIE)
+	       * (PERPPLAFIMPC + max(0,PERPPLAFIMPV - PERP_COTV))
+	      );
+regle 310211:
+application : pro ,  oceans , iliad , batch  ;
+PERPPLAFMU1V = positif(PERP_COND1) 
+	      *((1 - positif(PERPIMPATRIE)) * (PERPPLATVANT + RPERPMUTV)
+	      + positif(PERPIMPATRIE) * (PERPPLAFIMPV + RPERPMUTV))
+		+ positif(PERP_COND2) 
+	      *((1 - positif(PERPIMPATRIE)) * (PERPPLATVANT - RPERPMUTC)
+	      + positif(PERPIMPATRIE) * (PERPPLAFIMPV - RPERPMUTC));
+PERPPLAFMU1C = positif(PERP_COND1) 
+	      *((1 - positif(PERPIMPATRIE)) * (PERPPLATCANT - RPERPMUTV)
+	      + positif(PERPIMPATRIE) * (PERPPLAFIMPC - RPERPMUTV))
+		+ positif(PERP_COND2) 
+      		*((1 - positif(PERPIMPATRIE)) * (PERPPLATCANT + RPERPMUTC)
+      		+positif(PERPIMPATRIE) *(PERPPLAFIMPC + RPERPMUTC));
+regle 31022:
+application : pro ,  oceans , iliad , batch  ;
+pour i =V,C,P:
+DPERPi = PERP_COTi + RACCOTi;
+RPERPV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTV,PERPPLATVANT) + RACCOTV)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTV,PERPPLAFIMPV) + RACCOTV))
+	 + positif(PERP_COND1) 
+		* (min(PERP_COTV,PERPPLAFMUTV) + RACCOTV)
+	 + positif(PERP_COND2) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTV,PERPPLATVANT) + RACCOTV)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTV,PERPPLAFIMPV) + RACCOTV))
+	 ;
+RPERPC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTC,PERPPLATCANT) + RACCOTC)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTC,PERPPLAFIMPC) + RACCOTC))
+	 + positif(PERP_COND1) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTC,PERPPLATCANT) + RACCOTC)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTC,PERPPLAFIMPC) + RACCOTC))
+	 + positif(PERP_COND2) * (min(PERP_COTC,PERPPLAFMUTC) + RACCOTC)
+	 ;
+RPERPP = ( (1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTP,PERPPLATPANT) + RACCOTP)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTP,PERPPLAFIMPP) + RACCOTP)
+	  );	
+APERPV = (1 - V_CNR) * max(min(RPERPV,RBG - RPALE - RPALP - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD), 0);
+APERPC = (1 - V_CNR) * max(min(RPERPC,RBG - RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV), 0);
+APERPP = (1 - V_CNR) * max(min(RPERPP,RBG - RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV - APERPC), 0);
+TAPERPV = (1 - V_CNR) * max(min(RPERPV,RBG*(1-INDTEFF)+ TEFFREVTOT3 - RPALE - RPALP - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD), 0);
+TAPERPC = (1 - V_CNR) * max(min(RPERPC,RBG *(1-INDTEFF)+ TEFFREVTOT3- RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV), 0);
+TAPERPP = (1 - V_CNR) * max(min(RPERPP,RBG *(1-INDTEFF)+ TEFFREVTOT3- RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV - APERPC), 0);
+regle 310225:
+application : pro ,  oceans , iliad , batch  ;
+PERPDCOTV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTV,PERPPLATVANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTV,PERPPLAFIMPV))
+	 + positif(PERP_COND1) 
+		* min(PERP_COTV,PERPPLAFMU1V)
+	 + positif(PERP_COND2) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTV,PERPPLATVANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTV,PERPPLAFIMPV))
+	 ;
+PERPDCOTC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTC,PERPPLATCANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTC,PERPPLAFIMPC))
+	 + positif(PERP_COND1) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTC,PERPPLATCANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTC,PERPPLAFIMPC))
+	 + positif(PERP_COND2) * min(PERP_COTC,PERPPLAFMU1C)
+	 ;
+PERPDCOTP = ( (1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTP,PERPPLATPANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTP,PERPPLAFIMPP)
+	  );	
+regle 31023:
+application : pro ,  oceans , iliad , batch  ;
+RPERPMUTV = positif(PERP_COND1) 
+	      *((1 - positif(PERPIMPATRIE))
+		* max(0,min(PERP_COTV - PERPPLATVANT,PERPPLATCANT - PERP_COTC))
+	      + positif(PERPIMPATRIE)
+		* max(0,min(PERP_COTV - PERPPLAFIMPV,PERPPLAFIMPC - PERP_COTC))
+		);
+RPERPMUTC = positif(PERP_COND2) 
+	      *((1 - positif(PERPIMPATRIE))
+		* max(0,min(PERP_COTC - PERPPLATCANT,PERPPLATVANT - PERP_COTV))
+	      + positif(PERPIMPATRIE)
+		* max(0,min(PERP_COTC - PERPPLAFIMPC,PERPPLAFIMPV - PERP_COTV))
+		);
+regle 31024:
+application : pro ,  oceans , iliad , batch  ;
+IND_BTANC = null(V_IND_TRAIT -4)
+           * (positif(APPLI_PRO) * 1
+            + positif(APPLI_OCEANS) * 1
+	    + positif(APPLI_BATCH) * V_BTANC
+	    + positif(APPLI_ILIAD) * ( positif(V_CALCULIR) * 1
+				     + (1 - positif(V_CALCULIR)) * V_BTANC)
+	     )
+	     + null(V_IND_TRAIT - 5) * 1;
+pour i = V,C,P :
+PERPINDAFFi = positif(PERPINDi 
+		* (1 - V_CNR) * (1 - positif(ANNUL2042))
+		* ((null(IND_BTANC - 1)
+		* (positif(PERPIMPATRIE+0)
+		* positif(PERPPLAFNUNi+PERPPLAFi)
+		+ (1 - positif(PERPIMPATRIE+0))
+		* (present(PERPPLAFCi) + present(V_BTPERPi)) 
+		* (present(PERPPLAFNUi1) + present(V_BTPERPNUi1))
+	        * (present(PERPPLAFNUi2) + present(V_BTPERPNUi2))
+		* (present(PERPPLAFNUi3)+ present(V_BTPERPNUi3))
+	        ))
+		+((null(IND_BTANC - 2)
+		* positif(V_BTPERPi + V_BTPERPNUi1 + V_BTPERPNUi2 + V_BTPERPNUi3
+		     + PERPPLAFCi + PERPPLAFNUi1 + PERPPLAFNUi2 + PERPPLAFNUi3)))));
diff --git a/sources2011m_9_6/chap-plaf.m b/sources2011m_9_6/chap-plaf.m
new file mode 100644
index 0000000000000000000000000000000000000000..84f4fd56136d159a86406280af9701dac41851bb
--- /dev/null
+++ b/sources2011m_9_6/chap-plaf.m
@@ -0,0 +1,186 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+regle 8200:
+application : pro , oceans , iliad , batch  ;
+LIMIT11 = 18000 + max(0, arr( max(0, RI1 + TONEQUO1) * (6/100))) * (1 - positif( RMOND ))
+	             + max(0, arr( max(0, RMOND + TONEQUOM1) * (6/100))) * positif( RMOND );
+LIMIT10 = 20000 + max(0, arr( max(0, RI1 + TONEQUO1) * (8/100))) * (1 - positif( RMOND ))
+	             + max(0, arr( max(0, RMOND + TONEQUOM1) * (8/100))) * positif( RMOND );
+LIMIT9 = 25000 + max(0, arr( max(0, RI1 + TONEQUO1) * (10/100))) * (1 - positif( RMOND ))
+                     + max(0, arr( max(0, RMOND + TONEQUOM1) * (10/100))) * positif( RMOND );
+		     
+regle 8201:
+application : pro , oceans , iliad , batch  ;
+NAPSANSPENA = NAPT - (PIR+PTAXA+PPCAP+PHAUTREV) * positif(abs(NAPT)) ; 
+AVFISCO = V_NAPTEO * (1 - 2 * V_NEGTEO) - NAPSANSPENA ;
+regle 8202:
+application : pro , oceans , iliad , batch  ;
+AVFISCOPTER = AVPLAF9 + AVPLAF10 + AVPLAF11;
+regle 824611:
+application : pro , oceans , iliad , batch  ;
+
+A11RSOC = max(0, arr( RSOC3 + RSOC6 - ((RSOC3 + RSOC6)*(TX65/100))))
+	    * (1 - V_CNR);
+regle 8246:
+application : pro , oceans , iliad , batch  ;
+
+A10RSOC = max(0, arr( RSOC2 + RSOC5 + RSOC9 + RSOC12  - ((RSOC2 + RSOC5 + RSOC9 + RSOC12)*(TX65/100))))
+	    * (1 - V_CNR);
+regle 824711:
+application : pro , oceans , iliad , batch  ;
+
+A11RENT = (RENT11 + max(0 , RENT17 + RENT27 + RENT14 + RENT24 - (arr((RENT17+RENT27)*(5263/10000)) + arr((RENT14+RENT24)*(625/1000)))))
+	    * (1 - V_CNR);
+regle 8247:
+application : pro , oceans , iliad , batch  ;
+
+A10RENT = (RENT8+RENT10+RLOC11 + max(0, RENT6+RENT21+RENT4+RENT19 + RLOC10+RLOC17+RLOC9+RLOC16 + RENT16+RENT26+RENT13+RENT23
+					- (  arr((RENT6+RENT21)*(TX50/100)) + arr((RENT4+RENT19)*(TX60/100))
+					   + arr((RLOC10+RLOC17)*(TX50/100))+ arr((RLOC9+RLOC16)*(TX60/100))
+					   + arr((RENT16+RENT26)*(5263/10000)) + arr((RENT13+RENT23)*(625/1000)))))
+	    * (1 - V_CNR);
+
+regle 824811:
+application : pro , oceans , iliad , batch  ;
+
+BA11RNOUV  = arr(max(0 , (min (RDSNO+REPSNO1+REPSNO2+REPSNO3+REPSNON , LIM_SOCNOUV2 * (1+BOOL_0AM))
+		        - (REPSNO1+REPSNO2+REPSNO3+REPSNON)))
+	    * (TX22/100)) * (1 - V_CNR);
+
+A11RNOUV = max( min( BA11RNOUV , IDOM11-DEC11-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET-RTITPRISE
+                              -RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE-RSURV-RLOGDOM-RTOURNEUF
+			      -RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA-RCOMP-RCREAT-RRETU-RDONS-RLOGSOC-RDOMSOC1
+			      -RCELHNO-RCELHM-RCELREPHS-RCELHJK-RCELHL-RCELREPHR-RCELRREDLA-RRESINEUV-RRESIVIEU-RMEUBLE-RREDMEUB) , 0 );
+
+regle 8248:
+application : pro , oceans , iliad , batch  ;
+
+BA10RNOUV  = arr(max(0 , (min ( REPSNO1+REPSNO2+REPSNO3+REPSNON , LIM_SOCNOUV2 * (1+BOOL_0AM))
+		        - (REPSNO1+REPSNO2+REPSNO3)))
+	    * (TX25/100)) * (1 - V_CNR);
+
+A10RNOUV = max( min( BA10RNOUV , IDOM11-DEC11-RREPA-RSYND-RRESTIMO-RPECHE-RFIPC-RAIDE-RDIFAGRI-RFORET-RTITPRISE
+                              -RCINE-RSOCREPR-RRPRESCOMP-RINNO-RSOUFIP-RRIRENOV-RFOR-RHEBE-RSURV-RLOGDOM-RTOURNEUF
+			      -RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA-RCOMP-RCREAT-RRETU-RDONS-RLOGSOC-RDOMSOC1
+			      -RCELHNO-RCELHM-RCELREPHS-RCELHJK-RCELHL-RCELREPHR-RCELRREDLA-RRESINEUV-RRESIVIEU-RMEUBLE-RREDMEUB) , 0 );
+
+regle 824911:
+application : pro , oceans , iliad , batch  ;
+BASE7UN = (min (RDFOREST, PLAF_FOREST * (1 + BOOL_0AM))) * (1 - V_CNR) ;
+
+PLAFRED_FORTRA = max( 0, PLAF_FOREST1 * (1 + BOOL_0AM) - ACOTFOR); 
+
+BASE7UP = (max(0, min (FORTRA, PLAFRED_FORTRA))
+		    - (REPFOR + REPSINFOR + REPFOR1 + REPSINFOR1)) * (1 - V_CNR) ;
+BASE7UQ = (min (RDFORESTGES, PLAF_FOREST2 * (1 + BOOL_0AM)) ) * (1 - V_CNR) ; 
+BA11RFOR  = arr((BASE7UN + BASE7UP + BASE7UQ) * TX_FOREST2 / 100 ) ;
+
+A11RFOR = max( min( BA11RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RSYND-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC-RCINE 
+                              -RRESTIMO-RPECHE-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RTITPRISE-RINNO-RSOUFIP-RRIRENOV ) , 0 );
+regle 8249:
+application : pro , oceans , iliad , batch  ;
+
+BASE7UVF = (max(0, min (REPFOR + REPSINFOR + REPFOR1 + REPSINFOR1, PLAFRED_FORTRA)) - (REPFOR + REPSINFOR)) * (1 - V_CNR) ;
+
+BA10RFOR  = arr((BASE7UVF) * TX_FOREST / 100 ) ;
+
+A10RFOR = max( min( BA10RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RSYND-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC-RCINE 
+                              -RRESTIMO-RPECHE-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RTITPRISE-RINNO-RSOUFIP-RRIRENOV ) , 0 );
+regle 8250:
+application : pro , oceans , iliad , batch  ;
+A11TOURSOC = RTOURNEUF 
+            +RTOURTRA
+            +RTOURES;
+
+regle 8251:
+application : pro , oceans , iliad , batch  ;
+A10TOURSOC = RTOURREP*positif(REPINVTOU) 
+            +max(0,(RTOUHOTR-arr((INVLOCHOTR1 + INVLOCHOTR)* TX_REDIL25 / 100)* (1-positif(null(2-V_REGCO)+null(4-V_REGCO)))))
+            +RTOUREPA*positif(INVLOGREHA);
+
+regle 8260:
+application : pro , oceans , iliad , batch  ;
+A11REEL = RFIPC + RAIDE + RRESTIMO + RPECHE + RCINE
+           + RTITPRISE + RINNO + RSOUFIP + RRIRENOV + RPATNAT  
+           + RTOURNEUF + RTOURTRA + RTOURES
+	   + RLOG13
+           + RCEL + RCELCOM
+	   + RRESINEUV*positif(LOCRESINEUV+INVNPROF2+INVNPROF1)*(1-positif(MEUBLENP))
+	   + A11RNOUV
+	   + A11RFOR
+	   + RCOTFOR
+	   + A11RENT
+           + A11RSOC
+           + CIDEVDUR + CIDEDUBAIL + CIGARD + CIADCRE + CIHABPRIN
+	   + CILOYIMP ;
+
+regle 8261:
+application : pro , oceans , iliad , batch  ;
+
+AUBAINE11 = V_A11REEL;
+
+regle 8262:
+application : pro , oceans , iliad , batch  ;
+
+A10REEL =  RLOG8 + RLOG10 + RLOG12 
+           + RCELRREDLB+RCELRREDLC+RCELREPHW+RCELREPHV+RCELHJK+RCELNQ+RCELNBGL
+	   + RINVRED + RREPMEU
+	   + RRESIVIEU*positif(RESIVIEU)*(1-positif(RESIVIANT))
+	   + RRESINEUV*positif(MEUBLENP)*(1-positif(LOCRESINEUV + INVNPROF2 + INVNPROF1))
+	   + A10RNOUV
+	   + RPATNAT1
+	   + A10RENT
+	   + A10TOURSOC
+	   + A10RFOR
+           + A10RSOC;
+
+regle 8263:
+application : pro , oceans , iliad , batch  ;
+
+AUBAINE10 = V_A10REEL;
+
+regle 8280:
+application : pro , oceans , iliad , batch  ;
+
+AUBAINE9 = max(0, V_DIFTEOREEL - AUBAINE11 - AUBAINE10);
+regle 8290:
+application : pro , oceans , iliad , batch  ;
+AVPLAF11 = ( AUBAINE11 - LIMIT11) * positif( AUBAINE11 - LIMIT11) * positif(V_DIFTEOREEL);
+
+AVPLAF10 = max(0, AUBAINE11 + AUBAINE10 - AVPLAF11 - LIMIT10) * positif(V_DIFTEOREEL);
+
+AVPLAF9  = max(0, AUBAINE11 + AUBAINE10 + AUBAINE9 - AVPLAF11 - AVPLAF10 - LIMIT9) * positif(V_DIFTEOREEL);
+
+
+regle 8321:
+application : pro , oceans , iliad , batch  ;
+RFTEO = RFORDI + RFROBOR; 
+regle 8331:
+application : pro , oceans , iliad , batch  ;
+RFNTEO = (max( 0, RFTEO - (RFDORD + RFDANT)) - RFDHIS) * present(RFROBOR) + RRFI * (1-present(RFROBOR));
+regle 8341:
+application : pro , oceans , iliad , batch  ;
+RRFTEO = RFNTEO;
+ 
+
+
+
diff --git a/sources2011m_9_6/chap-teff.m b/sources2011m_9_6/chap-teff.m
new file mode 100644
index 0000000000000000000000000000000000000000..b20ff2decbc9c2b1ced7fd775b57415d8d3dd3f3
--- /dev/null
+++ b/sources2011m_9_6/chap-teff.m
@@ -0,0 +1,297 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 99991000:
+application : pro ,  oceans , iliad , batch ;
+
+pour i = V,C,P:
+TMIB_TVENi = MIBVENi + AUTOBICVi + MIBNPVENi ;
+
+pour i = V,C,P:
+TMIB_TPRESi = MIBPRESi + AUTOBICPi + MIBNPPRESi ;
+
+pour i = V,C,P:
+TMIB_TTi = TMIB_TVENi + TMIB_TPRESi;
+regle 99991004:
+application : pro ,  oceans , iliad , batch ;
+
+
+pour i = V,C,P:
+TMIB_AVi = min ( TMIB_TVENi,
+                         (max(MIN_MBIC,
+                              arr( TMIB_TVENi*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+TMIB_VENTAi = min ( (MIBVENi + MIBNPVENi),
+                         (max(MIN_MBIC,
+                              arr( (MIBVENi + MIBNPVENi)*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+TMIB_AUTOAVi= TMIB_AVi - TMIB_VENTAi; 
+
+pour i = V,C,P:
+TPMIB_AVi = min ( (MIBVENi + AUTOBICVi),
+                         (max(MIN_MBIC,
+                              arr( (MIBVENi+ AUTOBICVi)*TX_MIBVEN/100))
+                         )
+              );
+
+
+pour i = V,C,P:
+TMIB_APi = min ( TMIB_TPRESi,
+                         (max(MIN_MBIC,
+                              arr( TMIB_TPRESi*TX_MIBPRES/100))
+                         )
+               );
+pour i = V,C,P:
+TMIB_PRESAi = min ( (MIBPRESi + MIBNPPRESi),
+                         (max(MIN_MBIC,
+                              arr( (MIBPRESi + MIBNPPRESi)*TX_MIBPRES/100))
+                         )
+               );
+pour i = V,C,P:
+TMIB_AUTOAPi= TMIB_APi - TMIB_PRESAi; 
+pour i = V,C,P:
+TPMIB_APi = min ( (MIBPRESi+ AUTOBICPi),
+                         (max(MIN_MBIC,
+                              arr( (MIBPRESi+ AUTOBICPi)*TX_MIBPRES/100))
+                         )
+               );
+
+
+
+regle 99991005:
+application : pro ,  oceans , iliad , batch ;
+
+pour i = V,C,P:
+TMIB_ABVi = max(0,arr(TMIB_AVi * (MIBVENi + AUTOBICVi)/ TMIB_TVENi));
+pour i = V,C,P:
+TMIB_ABNPVi = TMIB_AVi - TMIB_ABVi;
+
+pour i = V,C,P:
+TMIB_ABPi = max(0,arr(TMIB_APi * (MIBPRESi + AUTOBICPi)/ TMIB_TPRESi));
+pour i = V,C,P:
+TMIB_ABNPPi = TMIB_APi - TMIB_ABPi;
+
+
+regle 99991006:
+application : pro ,  oceans , iliad , batch ;
+pour i = V,C,P:
+TPMIB_NETVi = MIBVENi + AUTOBICVi - TPMIB_AVi;
+pour i = V,C,P:
+TPMIB_NETPi = MIBPRESi + AUTOBICPi - TPMIB_APi;
+
+pour i = V,C,P:
+TMIB_NETVi = MIBVENi + AUTOBICVi - TMIB_ABVi;
+TMIBNETVF = somme(i=V,C,P:TMIB_NETVi) ;
+pour i = V,C,P:
+TMIB_NETNPVi = MIBNPVENi - TMIB_ABNPVi;
+TMIBNETNPVF = somme(i=V,C,P:TMIB_NETNPVi);
+
+pour i = V,C,P:
+TMIB_NETPi = MIBPRESi + AUTOBICPi - TMIB_ABPi;
+TMIBNETPF = somme(i=V,C,P:TMIB_NETPi) ;
+pour i = V,C,P:
+TMIB_NETNPPi = MIBNPPRESi - TMIB_ABNPPi;
+TMIBNETNPPF = somme(i=V,C,P:TMIB_NETNPPi);
+
+TBICPABV =   arr((TMIB_ABVV * AUTOBICVV/(MIBVENV+AUTOBICVV))
+          + (TMIB_ABPV * AUTOBICPV/(MIBPRESV+AUTOBICPV)));
+
+TBICPROVC = max(0,arr((TMIB_ABVC * AUTOBICVC/(MIBVENC+AUTOBICVC)) + (TMIB_ABPC * AUTOBICPC/(MIBPRESC+AUTOBICPC))));
+
+TBICPABC =  min(TBICPROVC,arr((TMIB_ABVC * AUTOBICVC/(MIBVENC+AUTOBICVC))
+          + (TMIB_ABPC * AUTOBICPC/(MIBPRESC+AUTOBICPC))));
+
+TBICPROVP = max(0,arr((TMIB_ABVP * AUTOBICVP/(MIBVENP+AUTOBICVP)) + (TMIB_ABPP * AUTOBICPP/(MIBPRESP+AUTOBICPP))));
+
+TBICPABP =  min(TBICPROVP,arr((TMIB_ABVP * AUTOBICVP/(MIBVENP+AUTOBICVP))
+          + (TMIB_ABPP* AUTOBICPP/(MIBPRESP+AUTOBICPP))));
+
+TBICNPABV = arr((TMIB_ABNPVV /(MIBNPVENV))
+          + (TMIB_ABNPPV /(MIBNPPRESV)));
+TBICNPPROVC = max(0,arr((TMIB_ABNPVC /(MIBNPVENC)) + (TMIB_ABNPPC /(MIBNPPRESC))));
+TBICNPABC = min(TBICNPPROVC,arr((TMIB_ABNPVC /(MIBNPVENC))
+          + (TMIB_ABNPPC /(MIBNPPRESC))));
+TBICNPPROVP = max(0,arr((TMIB_ABNPVP /(MIBNPVENP)) + (TMIB_ABNPPP /(MIBNPPRESP))));
+TBICNPABP = min(TBICNPPROVP,arr((TMIB_ABNPVP /(MIBNPVENP))
+          + (TMIB_ABNPPP /(MIBNPPRESP))));
+ABICPDECV = AUTOBICVV + AUTOBICPV;
+ABICPDECC = AUTOBICVC + AUTOBICPC;
+ABICPDECP = AUTOBICVP + AUTOBICPP;
+ABICPNETV =  AUTOBICVV + AUTOBICPV - TMIB_AUTOAVV - TMIB_AUTOAPV;
+ABICPNETC =  AUTOBICVC + AUTOBICPC - TMIB_AUTOAVC -TMIB_AUTOAPC;
+ABICPNETP =  AUTOBICVP + AUTOBICPP - TMIB_AUTOAVP -TMIB_AUTOAPP;
+
+
+
+AUTOBICPNET = ABICPNETV + ABICPNETC + ABICPNETP;
+regle 99991009:                                                                    
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPETOTi = BNCPROi + AUTOBNCi + BNCNPi ;
+regle 99991010:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPEBASABi=TSPETOTi;
+pour i = V,C,P:                                                                 
+TSPEABi = arr((max(MIN_SPEBNC,(TSPEBASABi * SPETXAB/100))) * 
+                       positif_ou_nul(TSPETOTi - MIN_SPEBNC)) +
+          arr((min(MIN_SPEBNC,TSPEBASABi )) * 
+                       positif(MIN_SPEBNC - TSPETOTi)); 
+regle 99991011:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPEABPi = arr((TSPEABi * (BNCPROi + AUTOBNCi))/TSPETOTi);                                  
+pour i = V,C,P:                                                                 
+TBNCPABi = arr(TSPEABPi * AUTOBNCi/(BNCPROi+AUTOBNCi)); 
+pour i = V,C,P:                                                                 
+TBNCTOTABi = arr(TSPEABi * (AUTOBNCi)/(TSPETOTi)); 
+
+pour i = V,C,P:                                                                 
+TSPEABNPi = TSPEABi - TSPEABPi;                                  
+pour i = V,C,P:                                                                 
+TBNCNPABi = (TBNCTOTABi - TBNCPABi) ;
+
+pour i = V,C,P:                                                                 
+ABNCPDECi =  AUTOBNCi; 
+pour i = V,C,P:                                                                 
+ABNCPNETi =  AUTOBNCi - TBNCPABi; 
+pour i = V,C,P:                                                                 
+HONODECi = XHONOi + XHONOAAi;
+pour i = V,C,P:                                                                 
+HONONETi = arr(XHONOi * MAJREV) + XHONOAAi ;
+AUTOBNCPNET = ABNCPNETV + ABNCPNETC + ABNCPNETP;
+HONONET = HONONETV + HONONETC + HONONETP;
+regle 99991012:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPENETPi = max (0,(BNCPROi  + AUTOBNCi - TSPEABPi));
+pour i = V,C,P:                                                                 
+TSPENETNPi = max (0,(BNCNPi - TSPEABNPi));
+pour i = V,C,P:                                                                 
+TSPENETi = TSPENETPi + TSPENETNPi;
+TSPENET = somme(i=V,C,P:(TSPENETi));
+regle 99991020:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TXSPEAAi = BNCREi + XHONOAAi - BNCDEi;
+regle 99991022:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TXSPEHi = max(0,arr((BNHREi + XHONOi - BNHDEi)*MAJREV))
+	 + min(0,(BNHREi + XHONOi - BNHDEi));
+regle 99991024:
+application : pro , oceans , iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TXSPENETi = TXSPEAAi + TXSPEHi;
+regle 99991026:
+application : pro , oceans , iliad , batch  ;                          
+TXSPENET = somme(i=V,C,P:(TXSPENETi));
+regle 99991030:
+application : pro , oceans , iliad , batch  ;                          
+TEFFBENEFTOT =  TSPENET + TXSPENET + TMIBNETVF + TMIBNETNPVF + TMIBNETPF + TMIBNETNPPF * (1 - positif(IPTEFP + IPTEFN + IPMOND));
+regle 99991040:
+application : pro , oceans , iliad , batch  ;
+TBICPF = TMIBNETVF + TMIBNETPF + MIB_NETCT  ;
+TBICNPF =max(0,somme(i=V,C,P:BINTAi+BINHTAi)+TMIBNETNPVF + TMIBNETNPPF +MIB_NETNPCT - DEFNP);
+TBNN =  somme(i=V,C,P:TSPENETPi) + TXSPENET + max(0,somme(i=V,C,P:TSPENETNPi) 
+				 + NOCEPIMP-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2-DABNCNP1) + SPENETCT + SPENETNPCT ;
+regle 99991055:
+application : pro , oceans , iliad , batch  ;                          
+TEFFREV =   INDTEFF *
+                  (
+                  (TBICPF + TBICNPF + TBNN
+                  + BIHTAV + BIHTAC + BIHTAP
+                  + BIPTAV + BIPTAC + BIPTAP + RFROBOR * V_INDTEO
+                  + ESFP + TSPR + RCM + RRFI +PLOCNETF + NPLOCNETF
+                  + max(BANOR,0) + REB +
+                  min(BANOR,0) *
+                  positif(SEUIL_IMPDEFBA + 1
+                  - (REVTP-BA1)
+                  - REVQTOT))
+                  + R1649
+                  );
+RBGTEF = (1 - positif(TEFFREV  +PREREV- DAR)) * min( 0 , TEFFREV  +PREREV- DAR + TOTALQUO )
+                  + positif(TEFFREV+PREREV - DAR) * (TEFFREV +PREREV - DAR);
+RPALETEF = max(0,min(somme(i=1..4:min(NCHENFi,LIM_PENSALENF)+min(arr(CHENFi*MAJREV),LIM_PENSALENF)),
+                                    RBGTEF-DDCSG+TOTALQUO-SDD)) *(1-V_CNR);
+RPALPTEF = max( min(TOTPA,RBGTEF - RPALETEF - DDCSG + TOTALQUO - SDD) , 0 ) * (1 -V_CNR);
+RFACCTEF = max( min(DFA,RBGTEF - RPALETEF - RPALPTEF  - DDCSG + TOTALQUO - SDD) , 0);
+RDDIVTEF = max( min(DEDIV * (1 - V_CNR),RBGTEF - RPALETEF - RPALPTEF - RFACCTEF - DDCSG + TOTALQUO - SDD ) , 0 );
+APERPVTEF = (1 - V_CNR) * max(min(RPERPV,RBGTEF - RPALETEF - RPALPTEF - RFACCTEF
+                                    - RDDIVTEF - DDCSG + TOTALQUO -SDD), 0);
+APERPCTEF = (1 - V_CNR) * max(min(RPERPC,RBGTEF - RPALETEF - RPALPTEF  - RFACCTEF
+                                    - RDDIVTEF - DDCSG + TOTALQUO -SDD - APERPVTEF), 0);
+APERPPTEF = (1 - V_CNR) * max(min(RPERPP,RBGTEF - RPALETEF - RPALPTEF  - RFACCTEF
+                                    - RDDIVTEF - DDCSG + TOTALQUO -SDD - APERPVTEF - APERPCTEF), 0);
+RRBGTEF = (TEFFREV - DAR ) *(1-positif(RE168+TAX1649)) + positif(RE168+TAX1649) * (RE168+TAX1649);
+NUREPARTEF = min(NUPROPT , max(0,min(PLAF_NUREPAR, RRBGTEF - RPALETEF - RPALPTEF - RFACCTEF
+                                    - RDDIVTEF - APERPVTEF - APERPCTEF - APERPPTEF - DDCSG + TOTALQUO - SDD)))
+                                    * (1 - V_CNR) ;
+RBG2TEF = RBGTEF - max(0,min(RBGTEF , DDCSG));
+RBLTEF =  ( RBG2TEF - max(0,min( RBG2TEF , ( DPA + DFA + DEDIV + APERPVTEF + APERPCTEF + APERPPTEF + NUREPARTEF ))) * ( 1 - V_CNR )
+                                    - min( RBG2TEF , V_8ZT) * V_CR2
+                                    ) * (1 - positif(RE168+TAX1649));
+RNGTEF = (     null(V_REGCO - 4)
+                  * null(V_CNR   - 1)
+                  * null(V_CNR2  - 1)
+                  * null(V_CR2   - 1)
+                  * IPVLOC
+                  )
+                  +
+                  (1 -   null(V_REGCO - 4)
+                  * null(V_CNR   - 1)
+                  * null(V_CNR2  - 1)
+                  * null(V_CR2   - 1)
+                  )
+                  * RBLTEF ;
+NABTEF =   min( max( LIM_ABTRNGDBL + 1  - (RNGTEF+ TOTALQUO- SDD- SDC), 0 ), 1 )
+                  + min( max( LIM_ABTRNGSIMP + 1 - (RNGTEF+ TOTALQUO- SDD- SDC), 0 ), 1 );
+ABTPATEF = NDA * NABTEF * ABAT_UNVIEUX * (1-V_CNR);
+TEFFREVINTER =    INDTEFF *
+                  (
+                  (TBICPF + TBICNPF + TBNN
+                  + BIHTAV + BIHTAC + BIHTAP
+                  + BIPTAV + BIPTAC + BIPTAP + RFROBOR * V_INDTEO
+                  + ESFP + TSPR + RCM + RRFI +PLOCNETF + NPLOCNETF
+                  + max(BANOR,0) + REB +
+                  min(BANOR,0) *
+                  positif(SEUIL_IMPDEFBA + 1
+                  - (REVTP-BA1)
+                  - REVQTOT))
+                  + R1649 - DAR
+                  );
+TEFFREVTOT =    INDTEFF *
+                  (
+                  (TBICPF + TBICNPF + TBNN
+                  + BIHTAV + BIHTAC + BIHTAP
+                  + BIPTAV + BIPTAC + BIPTAP + RFROBOR * V_INDTEO
+                  + ESFP + TSPR + RCM + RRFI +PLOCNETF + NPLOCNETF
+                  + max(BANOR,0) + REB +
+                  min(BANOR,0) *
+                  positif(SEUIL_IMPDEFBA + 1
+                  - (REVTP-BA1)
+                  - REVQTOT))
+                  + R1649 - DAR - max(0,min(TEFFREVINTER,DPA + DFA + DEDIV + APERPVTEF + APERPCTEF + APERPPTEF + NUREPARTEF + ABTPATEF + ABTMA+DDCSG))
+                  )
+                  ;
diff --git a/sources2011m_9_6/chap-tl.m b/sources2011m_9_6/chap-tl.m
new file mode 100644
index 0000000000000000000000000000000000000000..836a2863df7846baaa1f97b811859f9c28dd5c68
--- /dev/null
+++ b/sources2011m_9_6/chap-tl.m
@@ -0,0 +1,140 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 21700:
+application : oceans , iliad ;
+
+
+RAP_RNI    = RNI_TL - RNI_INIT ;
+RAP_EFF    = EFF_TL - EFF_INIT ;
+RAP_PVQ    = PVQ_TL - PVQ_INIT ;
+RAP_PV     = PV_TL - PV_INIT ;
+RAP_RI     = - RI_TL + RI_INIT ;
+RAP_CI     = CI_TL ;
+RAP_CRDS   = RDS_TL - CRDS_INIT ;
+RAP_TAXAGA = TAXAGA_TL - TAXAGA_INIT ;
+RAP_CAP    = PCAP_TL - PCAP_INIT ;
+RAP_CHR    = CHR_TL - CHR_INIT ;
+RAP_CSAL   = CSALA_TL - CSAL_INIT ;
+RAP_GAIN   = GAINA_TL - GAIN_INIT ;
+RAP_CDIS   = CDISA_TL - CDIS_INIT ;
+RAP_RSE1   = RSE1A_TL - RSE1_INIT ;
+RAP_RSE2   = RSE2A_TL - RSE2_INIT ;
+RAP_RSE3   = RSE3A_TL - RSE3_INIT ;
+RAP_RSE4   = RSE4A_TL - RSE4_INIT ;
+
+
+NUM_IR_TL = max(0 , RAP_RNI
+                   + RAP_EFF
+                   + RAP_PVQ
+                   + RAP_PV
+                   + RAP_RI 
+                   + RAP_CI) ;
+
+NUM_CS_TL     = max(0 , RAP_CRDS) ;
+
+NUM_TAXAGA_TL = max(0 , RAP_TAXAGA) ; 
+NUM_CAP_TL    = max(0 , RAP_CAP) ;
+NUM_CHR_TL    = max(0 , RAP_CHR) ;
+
+NUM_CSAL_TL   = max(0 , RAP_CSAL) ;
+NUM_GAIN_TL   = max(0 , RAP_GAIN) ; 
+NUM_CDIS_TL   = max(0 , RAP_CDIS) ;
+
+NUM_RSE1_TL   = max(0 , RAP_RSE1) ;
+NUM_RSE2_TL   = max(0 , RAP_RSE2) ;
+NUM_RSE3_TL   = max(0 , RAP_RSE3) ;
+NUM_RSE4_TL   = max(0 , RAP_RSE4) ;
+regle 21710 :
+application : oceans , iliad ;
+
+
+DEN_IR_TL = max(0 , RNI_RECT 
+                   + EFF_RECT
+                   + PVQ_RECT
+                   + PV_RECT
+                   + RI_RECT 
+                   + CI_RECT) ;
+
+DEN_CS_TL     = max(0 , CRDS_RECT) ;
+
+DEN_TAXAGA_TL = max(0 , TAXAGA_RECT) ;
+DEN_CAP_TL    = max(0 , PCAP_RECT) ;
+DEN_CHR_TL    = max(0 , CHR_RECT) ;
+
+DEN_CSAL_TL   = max(0 , CSAL_RECT) ;
+DEN_GAIN_TL   = max(0 , GAIN_RECT) ;
+DEN_CDIS_TL   = max(0 , CDIS_RECT) ;
+
+DEN_RSE1_TL = max(0 , RSE1_RECT) ;
+DEN_RSE2_TL = max(0 , RSE2_RECT) ;
+DEN_RSE3_TL = max(0 , RSE3_RECT) ;
+DEN_RSE4_TL = max(0 , RSE4_RECT) ;
+
+regle 21720 :
+application : oceans , iliad ;
+enchaineur : ENCH_TL ;
+
+
+TL_IR = (1 - positif(TL_MF*positif(MFIR+0)+FLAG_RETARD+FLAG_DEFAUT+PASS_TLIR))
+            *( positif(   positif (NUM_IR_TL+0)
+                          * positif (DEN_IR_TL+0)
+                          * positif (NUM_IR_TL / DEN_IR_TL  - 0.05 )
+                     )
+            )
+           + positif(TL_MF*positif(MFIR+0)+FLAG_RETARD+FLAG_DEFAUT+PASS_TLIR) ;
+
+TL_CS = (1 - positif(TL_MF*positif(MFCS)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF*positif(MFCS) + positif (NUM_CS_TL / DEN_CS_TL  - 0.05 )) )
+         + positif(TL_MF*positif(MFCS)+FLAG_RETARD+FLAG_DEFAUT);
+
+
+TL_TAXAGA = ( 1 - positif(TL_MF * positif(MFTAXAGA) + FLAG_RETARD + FLAG_DEFAUT))
+		 * (positif(TL_MF * positif(MFTAXAGA) + positif(NUM_TAXAGA_TL / DEN_TAXAGA_TL - 0.05)))
+            + positif(TL_MF * positif(MFTAXAGA) + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_CAP = ( 1 - positif(TL_MF * positif(MFPCAP) + FLAG_RETARD + FLAG_DEFAUT))
+		 * (positif(TL_MF * positif(MFPCAP) + positif(NUM_CAP_TL / DEN_CAP_TL - 0.05)))
+            + positif(TL_MF * positif(MFPCAP) + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_CHR = ( 1 - positif(TL_MF * positif(MFIR) + FLAG_RETARD + FLAG_DEFAUT))
+		 * (positif(TL_MF * positif(MFIR) + positif(NUM_CHR_TL / DEN_CHR_TL - 0.05)))
+            + positif(TL_MF * positif(MFIR) + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_CSAL = (1 - positif(TL_MF * positif(MFCSAL)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFCSAL) + positif (NUM_CSAL_TL / DEN_CSAL_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFCSAL)+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_GAIN = (1 - positif(TL_MF * positif(MFGAIN)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFGAIN) + positif (NUM_GAIN_TL / DEN_GAIN_TL  - 0.05 )) )
+	 + positif(TL_MF * positif(MFGAIN)+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_CDIS = (1 - positif(TL_MF * positif(MFCDIS)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFCDIS) + positif (NUM_CDIS_TL / DEN_CDIS_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFCDIS)+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE1 = (1 - positif(TL_MF * positif(MFRSE1)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE1) + positif (NUM_RSE1_TL / DEN_RSE1_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE1)+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE2 = (1 - positif(TL_MF * positif(MFRSE2)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE2) + positif (NUM_RSE2_TL / DEN_RSE2_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE2)+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE3 = (1 - positif(TL_MF * positif(MFRSE3)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE3) + positif (NUM_RSE3_TL / DEN_RSE3_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE3)+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE4 = (1 - positif(TL_MF * positif(MFRSE4)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE4) + positif (NUM_RSE4_TL / DEN_RSE4_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE4)+FLAG_RETARD+FLAG_DEFAUT) ;
+
diff --git a/sources2011m_9_6/coc1.m b/sources2011m_9_6/coc1.m
new file mode 100644
index 0000000000000000000000000000000000000000..49bdb4e489ad502e867e776ea839c966599d9341
--- /dev/null
+++ b/sources2011m_9_6/coc1.m
@@ -0,0 +1,455 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 1507:
+application : pro , oceans ,  iliad  , batch;
+si
+    (
+ ( FRNV > 0 et (present(TSHALLOV) + present(ALLOV)) = 0 )
+     ou
+ ( FRNC > 0 et (present(TSHALLOC) + present(ALLOC)) = 0 )
+     ou
+ ( FRN1 > 0 et (present(TSHALLO1) + present(ALLO1)) = 0 )
+     ou
+ ( FRN2 > 0 et (present(TSHALLO2) + present(ALLO2)) = 0 )
+     ou
+ ( FRN3 > 0 et (present(TSHALLO3) + present(ALLO3)) = 0 )
+     ou
+ ( FRN4 > 0 et (present(TSHALLO4) + present(ALLO4)) = 0 )
+    )
+alors erreur A143;
+verif 1508:
+application : pro , oceans ,  iliad  , batch;
+si ( 
+   (TSHALLOV +0) < (GSALV + 0)
+   et
+   (GSALV + 0) > 0
+   )
+alors erreur A14401;
+verif 1509:
+application : pro , oceans ,  iliad  , batch;
+si ( 
+   (TSHALLOC +0) < (GSALC + 0)
+   et
+   (GSALC + 0) > 0
+   )
+alors erreur A14402;
+verif 153:
+application : pro , oceans,iliad , batch ;
+si
+   (
+       (positif(PPETPV)=1 et positif(PPENHV)=1)
+    ou (positif(PPETPC)=1 et positif(PPENHC)=1)
+    ou (positif(PPETPP1)=1 et positif(PPENHP1)=1)
+    ou (positif(PPETPP2)=1 et positif(PPENHP2)=1)
+    ou (positif(PPETPP3)=1 et positif(PPENHP3)=1)
+    ou (positif(PPETPP4)=1 et positif(PPENHP4)=1)
+   )
+alors erreur A153;
+verif 148:
+application : pro , iliad , batch ;
+si
+   (
+     V_NOTRAIT + 0 < 20
+     et
+     positif ( present ( IPTEFP ) + present ( IPTEFN ) + 0 ) = 0 
+     et
+     positif ( positif ( TSELUPPEV + 0 ) + positif ( TSELUPPEC + 0 )) = 1 
+     et
+     positif ( IND_TDR + 0 ) = 0
+   )
+   ou
+   (
+     V_NOTRAIT + 0 >= 20
+     et
+     positif ( present ( IPTEFP ) + present ( IPTEFN ) + 0 ) = 0 
+     et
+     positif ( positif ( TSELUPPEV + 0 ) + positif ( TSELUPPEC + 0 )) = 1 
+     et
+     positif_ou_nul ( IND_TDR ) = 0
+   )
+alors erreur A148;
+verif non_auto_cc 1513:
+application : pro , oceans ,  iliad , batch ;
+si (
+     ( DETSV=1 et
+       positif(present(TSHALLOV) + present(ALLOV) + present(CARTSV) + present(CARTSNBAV) + present(REMPLAV) + present(REMPLANBV)) = 0 )
+ ou
+     ( DETSC=1 et 
+       positif(present(TSHALLOC) + present(ALLOC) + present(CARTSC) + present(CARTSNBAC) + present(REMPLAC) + present(REMPLANBC))=0 )
+ ou
+     ( DETS1=1 et 
+       positif(present(TSHALLO1) + present(ALLO1) + present(CARTSP1) + present(CARTSNBAP1) + present(REMPLAP1) + present(REMPLANBP1))=0 )
+ ou
+     ( DETS2=1 et 
+       positif(present(TSHALLO2) + present(ALLO2) + present(CARTSP2) + present(CARTSNBAP2) + present(REMPLAP2) + present(REMPLANBP2))=0 )
+ ou
+     ( DETS3=1 et
+       positif(present(TSHALLO3) + present(ALLO3) + present(CARTSP3) + present(CARTSNBAP3) + present(REMPLAP3) + present(REMPLANBP3))=0 )
+ ou
+     ( DETS4=1 et
+       positif(present(TSHALLO4) + present(ALLO4) + present(CARTSP4) + present(CARTSNBAP4) + present(REMPLAP4) + present(REMPLANBP4))=0 )
+	)
+alors erreur A146;
+verif 1600:
+application : pro , oceans ,  iliad , batch ;
+si
+
+( DPVRCM > 0 et ((BPVRCM + BPVCESDOM + PEA) > 0 ))
+
+alors erreur A320;
+verif 1601:
+application : pro , oceans ,  iliad , batch ;
+si
+
+   positif(ABDETPLUS) + positif(ABDETMOINS) = 2 
+
+alors erreur A321;
+verif 1602:
+application : pro , oceans ,  iliad , batch ;
+si
+   BPVCESDOM + 0 > 0  
+   et 
+   V_EAD + V_EAG + 0 = 0
+
+alors erreur A322 ;
+verif 16021:
+application : pro , oceans ,  iliad , batch ;
+si
+   FIPDOMCOM + 0 > 0
+   et 
+   V_EAD + V_EAG + 0 = 0
+
+alors erreur A747 ;
+verif 1608:
+application : pro , oceans , iliad , batch ;
+si
+   positif(ABIMPPV + 0) = 1 
+   et 
+   positif(ABIMPMV + 0) = 1 
+
+alors erreur A323 ;
+verif 1611:
+application : pro , oceans , iliad , batch ;
+
+si
+   positif(BPVOPTCS + 0) = 1
+   et
+   positif(BPCOPT + BPCOSAV + BPCOSAC + 0) = 0
+
+alors erreur A324 ;
+verif 1612:
+application : pro , oceans , iliad , batch ;
+
+si
+   positif(GAINSAL + 0) = 1
+   et
+   positif(BPV18 + BPCOPT + BPV40 + BPCOSAV + BPCOSAC + 0) = 0
+
+alors erreur A325 ;
+verif 1616:
+application : pro , iliad , batch ;
+si
+          (
+                ( RDPRESREPORT +0  > V_BTPRESCOMP  +  LIM_REPORT )
+           ou 
+                ( PRESCOMP2000 + PRESCOMPJUGE  +0 > LIM_REPORT  et
+                   V_BTPRESCOMP  + 0> 0 )
+           ou
+                ( RDPRESREPORT +0  > LIM_REPORT et V_BTPRESCOMP+0 = 0 )
+          )
+          et
+          (
+              1 - V_CNR > 0
+          )
+          et
+          (
+              RPRESCOMP > 0
+          )
+         et
+          ((APPLI_ILIAD = 1 et V_NOTRAIT+0 < 16)
+             ou APPLI_PRO = 1
+             ou ((V_BTNI1+0) non dans (50,92) et APPLI_BATCH = 1))
+alors erreur DD15;
+verif 1606:
+application : pro , iliad , batch ;
+si
+(   (1 - V_CNR > 0) et 
+(RCMRDS > (LIM_CONTROLE + RCMABD 
+                        + RCMAV 
+                        + RCMHAD 
+                        + RCMHAB  
+			+ REVACT
+			+ PROVIE
+			+ DISQUO 
+			+ INTERE  ))
+)
+alors erreur DD14;
+verif 1603:
+application : batch , iliad, pro, oceans ;
+si (
+   RFMIC > 0 et ( RFORDI > 0 ou RFDORD > 0 ou RFDHIS > 0 ou FONCI > 0 ou REAMOR > 0 et FONCINB > 0 ou REAMORNB > 0)
+   )
+alors erreur A420;
+verif 1604:
+application : batch , iliad , pro , oceans ;
+si ( V_IND_TRAIT > 0)
+   et
+   (
+   RFMIC >  LIM_MICFON
+   )
+alors erreur A421;
+verif 422:
+application : batch , iliad , pro , oceans ;
+si 
+  (
+   LOYIMP > 0 et ( present(RFORDI) = 0
+		et 
+		   present(FONCI) = 0
+		et 
+		   present(FONCINB) = 0
+		et 
+		   present(REAMOR) = 0
+		et 
+		   present(REAMORNB) = 0
+		et 
+		   present(RFDORD) = 0
+                et 
+		   present(RFDHIS) = 0
+		et 
+		   present(RFMIC) = 0)
+  )
+alors erreur A422;
+verif 1609:
+application : batch , iliad, pro, oceans ;
+
+ si (
+    (RFROBOR > 0 et RFDANT > 0) et (present(RFORDI)=0
+		                   et present(RFDORD)=0
+                                   et present(RFDHIS)=0
+                                    )
+    )
+alors erreur A423;
+verif 1610:
+application : batch , iliad, pro, oceans ;
+
+si 
+   RFROBOR > 0 et (FONCI > 0 ou REAMOR > 0)
+
+alors erreur A424 ;
+verif 1605:
+application : batch, iliad, pro ;
+si
+	(
+	RFMIC > 0 et RFDANT > 0
+
+	)
+alors erreur DD11;
+verif 1607:
+application : batch ,iliad;
+si
+	(
+	BAILOC98 > V_BTBAILOC98        
+	ou
+	( present(BAILOC98) = 1 et present(V_BTBAILOC98) = 0)
+	)
+alors erreur DD24;
+verif 1538:                                                                    
+application : pro , oceans ,  iliad , batch ;                                 
+si ( 
+( RCSV > 0 et SOMMEA538VB = 0 )
+
+ou
+( RCSC > 0 et SOMMEA538CB = 0 )
+
+ou
+( RCSP > 0 et SOMMEA538PB = 0 )
+
+)
+alors erreur A538;
+verif isf 1700:                                                                    
+application : pro , iliad , batch ;                                 
+si
+	(
+	( (V_NOTRAIT +0 < 14) et (V_IND_TRAIT+0 = 4))
+	et
+	(ISFBASE < LIM_ISFINF)
+	)
+alors erreur A98001;
+
+verif isf 1710:                                                                    
+application : pro , oceans ,  iliad , batch ;                                 
+si
+	(
+	(V_IND_TRAIT+0 = 4)
+	et
+	(V_NOTRAIT +0 < 14)
+	et
+	(ISFBASE >= LIM_ISFSUP)
+	)
+alors erreur A98002;
+verif isf 1711:                                                                    
+application : pro , iliad ;                                 
+si
+	(
+	 (
+	   ((V_NOTRAIT + 0 = 14) ou (V_NOTRAIT+0 = 16)) 
+         )
+	 et
+	 ( present(ISFBASE) = 1 )
+	 et
+	 ( ISFBASE + 0 < LIM_ISFINF )
+	)
+alors erreur A98003;
+verif isf 1712:                                                                    
+application : pro , iliad ;                                 
+si
+	(
+	( ISFBASE + 0 != 0 )
+	  et
+		(
+		( V_NOTRAIT + 0 > 20 )
+		  et
+		( ISFBASE + 0 < LIM_ISFINF )
+		)
+	)
+alors erreur A98004;
+verif isf 1713:                                                                    
+application : pro , oceans ,  iliad ;                                 
+si
+	(
+	( V_NOTRAIT + 0 > 13 )
+	et
+	( ISFBASE + 0 >= LIM_ISFSUP )
+	)
+alors erreur A98005;
+verif isf 1720:                                                                    
+application : pro , oceans ,  iliad , batch ;                                 
+si
+	(
+	(present(ISFBASE) =0)
+	 et
+	((ISFPAC+ISFALT+ISFPMEDI+ISFPMEIN+ISFFIP+ISFFCPI+ISFDONS+ISFDONEURO+ISFETRANG+ISFCONCUB+ISFPART + 0) > 0)
+	)
+alors erreur A981;
+
+verif isf 1730:                                                                    
+application : pro , batch , oceans , iliad  ;                                 
+si
+      (	
+      (V_IND_TRAIT + 0 > 0)
+      et
+      ((positif(ISF_LIMINF + 0 ) + positif(ISF_LIMSUP + 0 )) = 2)
+      )
+
+alors erreur A982 ;
+verif isf 1740:                                                            
+application : pro , batch , iliad  ;                                 
+si
+      (
+		  (V_IND_TRAIT + 0 = 4)
+		  et
+		  (
+		  positif(ISFCONCUB + 0 ) = 1
+                  et
+                  	(positif(V_0AM + V_0AO + 0 ) = 1
+                         ou
+                  		(positif(V_0AC + V_0AD + V_0AV + 0 )=1
+                                 et
+				 positif(V_0AB + 0)= 1 
+		       	        )
+			)
+                  )
+	)
+alors erreur A983 ;
+verif isf 1750:                                                            
+application : pro , batch , oceans , iliad  ;                              
+si
+      (
+                  (V_IND_TRAIT + 0 = 4)
+		  et
+		  (
+		  positif(ISFPART + 0 ) = 1
+                  et
+                  	(positif(V_0AM + V_0AO + 0 ) = 1
+                         ou
+                  		(positif(V_0AC + V_0AD + V_0AV + 0 )=1
+                                 et
+				 positif(V_0AB + 0)= 0 
+		       	        )
+			)
+                   )
+	)
+alors erreur A984 ;
+verif isf 1760:                                                           
+application : pro , batch , oceans , iliad  ;                             
+si
+      ( positif(positif(ISF_LIMINF + 0 ) + positif(ISF_LIMSUP + 0 )) = 1)
+      et
+      ((ISFBASE >= LIM_ISFINF) et (ISFBASE < LIM_ISFSUP))
+
+alors erreur A985;
+
+verif isf 1770:                                                           
+application : pro , batch , iliad  ;                             
+si
+      (
+      (V_NOTRAIT > 13)
+      et
+      (ISFCONCUB + 0 > 0 et ISFPART + 0 > 0)
+      )
+alors erreur A986;
+
+verif isf 1780:                                                           
+application : pro , batch , iliad  ;                             
+si
+      (
+     	 (
+      		(V_NOTRAIT+0 = 14)
+	 )
+         et
+         (
+      		(V_ETCVL + 0 = 1)
+		et
+      		(ISFCONCUB + ISFPART + 0 = 0)
+         )
+      )
+alors erreur A98701;
+
+verif isf 1790:                                                           
+application : pro , batch , iliad  ;                             
+si
+   (
+      (
+      		(V_NOTRAIT+0 = 14)
+      )
+      et
+      (
+      		(present(V_ETCVL) = 1)
+		et
+		(V_ETCVL + 0 = 0)
+		et
+      		(ISFCONCUB + ISFPART + 0 > 0)
+      )
+   )
+alors erreur A98702;
+
+
+
diff --git a/sources2011m_9_6/coc2.m b/sources2011m_9_6/coc2.m
new file mode 100644
index 0000000000000000000000000000000000000000..0dd7210a1fda6b4a59b7ab516aefaef1a5ae2e01
--- /dev/null
+++ b/sources2011m_9_6/coc2.m
@@ -0,0 +1,1357 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 2500:
+application : pro , iliad , batch;
+si
+  (
+   FRNV > (TSHALLOV + ALLOV) * 0.10
+  et
+   COSBV > 0 
+  et 
+   PRBRV + PALIV + 0 = 0
+  )
+alors erreur I00101;
+verif 2501:
+application : pro , iliad , batch;
+si
+(
+(FRNC > (TSHALLOC+ ALLOC) *0.10)
+et
+COSBC > 0 et (PRBRC + PALIC + 0 = 0)
+)
+alors erreur I00102;
+verif 2502:
+application : pro , iliad, batch;
+si
+(
+  (
+   (
+    ( FRN1 > (TSHALLO1 + ALLO1) *0.10)
+          et (PRBR1 + PALI1 + 0 = 0)
+   )
+   ou
+   (
+     ( FRN2 > (TSHALLO2 + ALLO2) *0.10)
+          et (PRBR2 + PALI2 + 0 = 0)
+   )
+   ou
+   (
+     ( FRN3 > (TSHALLO3 + ALLO3) *0.10)
+          et (PRBR3 + PALI3 + 0 = 0)
+   )
+   ou
+   (
+     ( FRN4 > (TSHALLO4 + ALLO4) *0.10)
+          et (PRBR4 + PALI4 + 0 = 0)
+   )
+  ) et COSBP > 0
+)
+alors erreur I00103;
+verif 2503:
+application : pro , iliad ;
+si (
+		((RDSYVO > 0) et (positif(COSBV+0) = 0))
+	ou
+		((RDSYCJ > 0) et (positif(COSBC+0) = 0))
+	ou
+		((RDSYPP > 0) et (positif(COSBP+0) = 0))
+	)
+alors erreur IM07;
+verif 2504:
+application : pro , iliad ;
+si
+  (
+  V_IND_TRAIT > 0
+  et
+  CREPROSP > LIM_PROSP
+  )
+alors erreur IM08;
+verif 2511:
+application : pro , iliad ;
+si
+  
+   (RDREP > 0 et present(RDFREP) = 0)
+   ou
+   (DONETRAN > 0 et present(RDFDONETR) = 0)
+   ou
+   (RDDOUP > 0 et present(RDFDOU) = 0)
+   ou
+   (DONAUTRE > 0 et present(RDFDAUTRE) = 0)
+  
+alors erreur IM06 ;
+verif 2540:
+application : batch , iliad ;
+si 
+  (
+  (
+   RFORDI + FONCI + REAMOR 
+ + RFDORD  
+ + RFDHIS  
+ + RFDANT  
+   > LIM_BTREVFONC) et (V_BTANC = 1) et (V_BTIRF = 0)
+  )
+alors erreur DD26;
+verif 5108:
+application : batch, iliad, pro ;
+si 
+   V_IND_TRAIT + 0 = 4 
+   et 
+   (1 - V_CNR) > 0 
+   et
+   (REPSNO3 > LIM_CONTROLE + V_BTPME4
+    ou
+    REPSNO2 > LIM_CONTROLE + V_BTPME3
+    ou
+    REPSNO1 > LIM_CONTROLE + V_BTPME2
+    ou
+    REPSNON > LIM_CONTROLE + V_BTPME1)
+   et 
+   positif(NATIMP + 0) = 1
+ 
+alors erreur DD27 ;
+verif 51091:
+application : batch, iliad, pro ;
+si 
+   CREPROSP > 0 
+   et 
+   positif(V_BTCREPROSP + 0) = 1
+ 
+alors erreur DD28 ;
+verif 5110:
+application : batch , iliad,pro ;
+si 
+  ((REPDON03 > LIM_CONTROLE + V_BTDONS5)
+   ou
+   (REPDON04 > LIM_CONTROLE + V_BTDONS4)
+   ou
+   (REPDON05 > LIM_CONTROLE + V_BTDONS3)
+   ou
+   (REPDON06 > LIM_CONTROLE + V_BTDONS2)
+   ou
+   (REPDON07 > LIM_CONTROLE + V_BTDONS1))
+   et 
+   positif(NATIMP) = 1
+   et 
+   V_CNR + 0 = 0
+ 
+alors erreur DD29 ;
+verif 3900:
+application : batch , iliad , pro ;
+si
+   positif(PERPIMPATRIE + 0) = 1
+   et
+   positif(V_BTPERPIMP + 0) = 1
+
+alors erreur DD35 ;
+verif 3910:
+application : batch , iliad , pro ;
+si
+   1 - V_CNR > 0 
+   et 
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   PTZDEVDUR > 0	
+   et
+   (V_BTRFRN3 + 0 > PLAF_RFRN3  
+    ou
+    RFRN3 + 0 > PLAF_RFRN3)
+
+alors erreur DD3601 ;
+verif 3911:
+application : batch , iliad , pro ;
+si
+   1 - V_CNR > 0 
+   et 
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   PTZDEVDUR > 0	
+   et
+   positif(V_BTRFRN3 + RFRN3 + 0) = 0  
+
+alors erreur DD3602 ;
+verif 3920:
+application : batch , iliad , pro ;
+si
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  positif(V_BTRFRN2 + 0) = 1
+  et
+ ( pour un i dans V,C,P:
+   ( AUTOBICVi > LIM_MIBVEN )
+   ou
+   ( AUTOBICPi > LIM_MIBPRES )
+   ou
+   ( AUTOBICVi + AUTOBICPi > LIM_MIBVEN ) 
+   ou
+   ( AUTOBNCi > LIM_SPEBNC )
+ )
+alors erreur DD37;
+verif 3930:
+application : batch , iliad , pro ;
+si
+   1 - V_CNR > 0 
+   et 
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   V_BTRFRN2 + 0 > arr(LIM_BARN2 * V_BTNBP2)
+   et
+   pour un i dans V,C,P: positif(AUTOBICVi + AUTOBICPi + AUTOBNCi) = 1 
+
+alors erreur DD3801 ;
+verif 3940:
+application : batch , iliad , pro ;
+si
+   1 - V_CNR > 0 
+   et 
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   positif(V_BTRFRN2 + 0) = 0
+   et
+   1 - positif_ou_nul(RFRN2) = 1
+   et
+   pour un i dans V,C,P: positif(AUTOBICVi + AUTOBICPi + AUTOBNCi) = 1 
+
+alors erreur DD3802 ;
+verif 2558:
+application : pro , batch , oceans , iliad  ;
+si
+	(V_IND_TRAIT > 0)
+	et
+	(
+	RNBRLOG > 3 
+	)
+alors erreur A732;
+verif 2554:
+application : pro , batch , oceans , iliad  ;
+si
+
+   RNBRLOG = 1 
+   et
+   CINRJ + CICHO2BAIL + CIBOIBAIL + CINRJBAIL + CIDEP15 > PLAF_DEVDUR
+
+alors erreur A73301;
+verif 2555:
+application : pro , batch, oceans , iliad  ;
+si
+
+   RNBRLOG = 2 
+   et
+   CINRJ + CICHO2BAIL + CIBOIBAIL + CINRJBAIL + CIDEP15 > PLAF_DEVDUR * 2
+
+alors erreur A73302;
+verif 2556:
+application : pro , batch , oceans , iliad  ;
+si
+
+   RNBRLOG = 3 
+   et
+   CINRJ + CICHO2BAIL + CIBOIBAIL + CINRJBAIL + CIDEP15 > PLAF_DEVDUR * 3
+
+alors erreur A73303;
+verif 250:
+application : pro , batch , oceans , iliad  ;
+si
+
+  positif(RNBRLOG + 0) = 0
+  et
+  positif(CINRJ + CICHO2BAIL + CIBOIBAIL + CINRJBAIL + CIDEP15 + 0) = 1
+
+alors erreur A73401;
+verif 251:
+application : pro , batch , oceans , iliad  ;
+si
+
+  positif(RNBRLOG + 0) = 1
+  et
+  positif(CINRJ + CICHO2BAIL + CIBOIBAIL + CINRJBAIL + CIDEP15 + 0) = 0
+
+alors erreur A73402;
+verif 252:
+application : pro , batch , oceans , iliad  ;
+si
+
+  (positif(PTZDEVDUR + PTZDEVDURN + 0) = 1
+   et
+   positif(CRENRJ + CRECHOCON2 + CRECHOBOI + CRENRJRNOUV + CRECHOBAS + 0) = 0)
+  ou
+  (positif(PTZDEVDUR + 0) = 1
+   et
+   positif(PTZDEVDURN + 0) = 1)
+
+alors erreur A735;
+verif 253:
+application : pro , batch , oceans , iliad  ;
+si
+
+   positif(INDLOCNEUF + 0) = 1
+   et
+   positif(INVLOCNEUF + 0) = 0
+
+alors erreur A73701;
+verif 254:
+application : pro , batch , oceans , iliad  ;
+si
+
+   positif(INDLOCRES + 0) = 1
+   et
+   positif(INVLOCRES + 0) = 0
+
+alors erreur A73702;
+verif 260:
+application : pro , batch , oceans , iliad  ;
+si
+
+   positif(SINISFORET + 0) = 1
+   et
+   positif(RDFORESTRA + 0) = 0
+
+alors erreur A738;
+verif 261:
+application : pro , batch , oceans , iliad  ;
+si
+   positif(OPTPLAF15 + 0) = 1
+   et
+   positif(INVLGAUTRE + INVLGDEB2010 + INVLOG2009
+            + INVSOC2010 + INVOMSOCQU + INVLOGSOC 
+	    + INVSOCNRET + INVOMSOCKH + INVOMSOCKI
+            + INVRETRO1 + INVRETRO2 + INVDIR2009
+	    + INVIMP + INVDOMRET50 + INVDOMRET60 
+	    + NRETROC50 + RETROCOMLH + RETROCOMMC 
+	    + NRETROC40 + RETROCOMMB + RETROCOMLI
+	    + INVENDI + INVOMENTKT + INVOMENTKU
+	    + INVOMLOGOB + INVOMLOGOC
+	    + INVOMRETPD + INVOMRETPH + INVOMRETPL
+	    + INVOMLOGOI + INVOMLOGOJ + INVOMLOGOK
+	    + INVOMRETPB + INVOMRETPF + INVOMRETPJ
+	    + INVOMRETPA + INVOMRETPE + INVOMRETPI + 0) = 0
+
+alors erreur A739 ;
+verif 262:
+application : pro , batch , oceans , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   (INVDIR2009 + INVIMP + 0) > PLAF_INVDOM2 
+   et
+   positif(INVOMRETPD + INVOMRETPH + INVOMRETPL + 0) = 0
+
+alors erreur A74001;
+verif 263:
+application : pro , batch , oceans , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   (INVOMRETPD + INVOMRETPH + INVOMRETPL + 0) > PLAFINVDOM2 
+   et
+   positif(INVDIR2009 + INVIMP + 0) = 0
+
+alors erreur A74002;
+verif 264:
+application : pro , batch , oceans , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   ((INVDIR2009 + INVIMP + INVOMRETPD + INVOMRETPH + INVOMRETPL + 0 > PLAF_INVDOM2
+     et
+     positif(INVOMRETPD + INVOMRETPH + INVOMRETPL + 0) = 1)
+    ou
+    (INVDIR2009 + INVIMP + INVOMRETPD + INVOMRETPH + INVOMRETPL + 0 <= PLAF_INVDOM2
+    et
+    positif(INVDIR2009 + INVIMP + 0) = 1
+    et
+    INVOMRETPD + INVOMRETPH + INVOMRETPL + 0 > PLAFINVDOM2))
+
+alors erreur A74003;
+verif 26400:
+application : pro, batch, iliad ;
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   INVIMP + INVDIR2009 + V_BTREPQR + V_BTREPQI > PLAF_INVDOM2
+
+alors erreur DD5101 ;
+verif 26401:
+application : pro, batch, iliad ;
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   INVOMRETPD + INVOMRETPH + INVOMRETPL + V_BTREPQR + V_BTREPQI > PLAFINVDOM2
+
+alors erreur DD5102 ;
+verif 26402:
+application : pro, batch, iliad ;
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO + 0 = 1
+   et
+   (INVIMP + INVDIR2009 + INVOMRETPD + INVOMRETPH + INVOMRETPL + V_BTREPQR + V_BTREPQI > PLAF_INVDOM2
+    ou
+    (INVIMP + INVDIR2009 + INVOMRETPD + INVOMRETPH + INVOMRETPL + V_BTREPQR + V_BTREPQI <= PLAF_INVDOM2
+     et
+     INVOMRETPD + INVOMRETPH + INVOMRETPL + V_BTREPQR + V_BTREPQI > PLAFINVDOM2))
+
+alors erreur DD5103 ;
+verif 265:
+application : pro , batch , oceans , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   (REPMEUBLE + 0 > PLAF_99999
+    ou
+    INVREPMEU + 0 > PLAF_99999
+    ou
+    INVREPNPRO + 0 > PLAF_99999
+    ou
+    INVNPROREP + 0 > PLAF_99999)
+
+alors erreur A743;
+verif 266:
+application : pro , batch , oceans , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   RISKTEC + 0 > PLAF_TEC
+
+alors erreur A744;
+verif 267:
+application : pro , batch , oceans , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   positif(INVREPMEU + 0) + positif(INVREPNPRO + 0) > 1
+
+alors erreur A745;
+verif 271:
+application : pro , batch , oceans , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   INVIMP * positif(INVIMP + 0) > INVINIT * positif(INVINIT + 0) + 0
+
+alors erreur A74601 ;
+verif 272:
+application : pro , batch , oceans , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   INVDIR2009 * positif(INVDIR2009 + 0) > INVDIRENT * positif(INVDIRENT + 0) + 0
+
+alors erreur A74602 ;
+verif 273:
+application : pro , batch , oceans , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   INVOMRETPD * positif(INVOMRETPD + 0) > INVOMRETPC * positif(INVOMRETPC + 0) + 0
+
+alors erreur A74603 ;
+verif 274:
+application : pro , batch , oceans , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   INVOMRETPH * positif(INVOMRETPH + 0) > INVOMRETPG * positif(INVOMRETPG + 0) + 0
+
+alors erreur A74604 ;
+verif 275:
+application : pro , batch , oceans , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   INVOMRETPL * positif(INVOMRETPL + 0) > INVOMRETPK * positif(INVOMRETPK + 0) + 0
+
+alors erreur A74605 ;
+verif 2561:
+application : pro , oceans , iliad ,batch ;
+si
+(
+	RDCOM > 0 et
+
+	SOMMEA700 = 0
+)
+alors erreur A700;
+verif 2562:
+application :  pro , iliad , batch ;
+si
+  (
+    NBACT > SOMMEA700
+
+    et
+    (V_REGCO+0) dans (1,3,5,6)
+  )
+alors erreur DD19;
+verif 2565:
+application : batch , iliad ;
+si
+(
+RDCOM > 0 et NBACT + 0  = 0
+  et ( positif(NATIMP)=1 )
+)
+alors erreur I009;
+verif 2566:
+application : batch , iliad ;
+si
+(
+CHRFAC > 0 et CHNFAC + 0  = 0
+  et ( positif(NATIMP)=1 )
+  et V_CNR = 0
+)
+alors erreur I008;
+verif 2572:
+application : batch, iliad, pro ;
+si
+   (1 - V_CNR > 0)
+   et
+   positif(RNOUV) = 1 
+   et 
+   positif(RDSNO) = 1 
+   et 
+   positif(CINE1 + CINE2 ) = 1
+
+alors erreur DD02 ;
+verif 2575:
+application : batch , iliad , pro;
+si
+(
+  (1 - V_CNR > 0 )
+ et
+  (( RVAIDE + RVAIDAS + CREAIDE + 0) > (LIM_AIDOMI3 * (1 - positif(PREMAIDE)) + LIM_PREMAIDE2 * positif(PREMAIDE))
+  et  
+     INAIDE = 1 )
+  et
+  (    positif(V_0AP+0)=0 
+    et positif(V_0AF+0)=0
+    et positif(V_0CG+0)=0
+    et positif(V_0CI+0)=0
+    et positif(V_0CR+0)=0 
+  ) 
+)
+alors erreur DD21 ;
+verif 2610:
+application : pro , oceans , batch , iliad ;
+
+si
+   RDENS + RDENL + RDENU > V_0CF + V_0DJ + V_0DN + 0 
+
+alors erreur A70701 ;
+verif 2615:
+application : pro , oceans , batch , iliad ;
+
+si
+   RDENSQAR + RDENLQAR + RDENUQAR > V_0CH + V_0DP + 0 
+
+alors erreur A70702 ;
+verif 2651:
+application : pro , oceans , batch , iliad  ;
+
+si
+   SOMMEA709 > 1
+
+alors erreur A709 ;
+verif 2642:
+application : pro , oceans ,  iliad , batch;
+si
+ 
+  V_IND_TRAIT > 0 
+  et 
+  (
+   REPINVLOCINV + 0 > LIMLOC2
+   ou
+   RINVLOCINV + 0 > LIMLOC2
+   ou
+   REPINVLOCREA + 0 > LIMLOC2
+   ou
+   RINVLOCREA + 0 > LIMLOC2
+   ou
+   INVLOCHOTR1 + 0 > LIMLOC2
+   ou 
+   INVLOCHOTR + 0 > LIMLOC2
+   ou 
+   REPINVTOU + 0 > LIMLOC2
+   ou
+   INVLOGREHA + 0 > LIMLOC2
+   ou
+   INVLOGHOT + 0 > LIMLOC2
+  )
+
+alors erreur A708;
+verif 2644:
+application :  iliad, pro ,batch;
+si
+          (
+                ( REPINVDOMPRO1 +0  > V_BTR5DOMPRO + LIM_REPORT )
+           ou
+                ( REPINVDOMPRO2 +0  > V_BTR4DOMPRO + LIM_REPORT  )
+           ou
+                ( REPINVDOMPRO3 +0  > V_BTR3DOMPRO + LIM_REPORT  )
+           ou
+                ( REPINVDOMPRO1 +0  > LIM_REPORT et V_BTR5DOMPRO+0 = 0 )
+           ou
+                ( REPINVDOMPRO2 +0  > LIM_REPORT et V_BTR4DOMPRO+0 = 0 )
+           ou
+                ( REPINVDOMPRO3 +0  > LIM_REPORT et V_BTR3DOMPRO+0 = 0 )
+          )
+          et
+          (
+              1 - V_CNR > 0
+          )
+          et
+          (
+                  RIDOMPRO > 0
+          )
+         et
+          ((APPLI_ILIAD = 1 et V_NOTRAIT+0 < 16)
+             ou APPLI_PRO = 1
+             ou ((V_BTNI1+0) non dans (50,92) et APPLI_BATCH = 1))
+
+alors erreur DD07;
+verif 3645:
+application : batch, iliad, pro ;
+si
+   (
+    ( REPINVLOCINV + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( RINVLOCINV + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( REPINVLOCREA + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( RINVLOCREA + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOCHOTR1 + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOCHOTR + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) ) 
+   ou
+    ( REPINVTOU + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOGREHA + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOGHOT + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   )
+ et 
+     (RTOURREP + RTOUHOTR + RTOUREPA + 0 > 0)
+alors erreur DD06;
+verif 3647:
+application : batch, iliad, pro ;
+si
+
+  V_REGCO != 2
+  et
+  V_REGCO != 4
+  et
+  positif(PRETUDANT + 0) = 1
+  et
+  positif(V_BTPRETUD + 0) = 1
+
+alors erreur DD09;
+verif 710:
+application : batch, iliad, pro, oceans ;
+si
+   
+    V_IND_TRAIT > 0 
+    et
+    positif(CREAIDE + 0) * positif(RVAIDE + 0) = 1
+  
+alors erreur A710;
+verif 2649:
+application : batch, iliad, pro, oceans ;
+si 
+   V_IND_TRAIT > 0 
+   et
+   INAIDE > 0 
+   et 
+   positif(RVAIDE + RVAIDAS + CREAIDE + 0) = 0 
+    
+alors erreur A71101 ;
+verif 2650:
+application : batch, iliad, pro, oceans ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   positif(ASCAPA + 0) + positif(RVAIDAS + 0) = 1
+    
+alors erreur A71102 ;
+verif 26501:
+application : batch, iliad, pro, oceans ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   PREMAIDE > 0   
+   et 
+   positif(RVAIDE + RVAIDAS + CREAIDE + 0) = 0
+   
+alors erreur A71103 ;
+verif 2690:
+application : batch, iliad, pro, oceans ;
+si
+	( 
+         ((PRESCOMP2000 + 0 > PRESCOMPJUGE ) et (positif(PRESCOMPJUGE)=1))
+	)
+alors erreur A712;
+verif non_auto_cc 2698:
+application : batch, iliad, pro, oceans ;
+si
+          (  PRESCOMPJUGE+0 > 0 et PRESCOMP2000+0 =0 )
+        ou
+          (  PRESCOMPJUGE+0 =0 et PRESCOMP2000+0 > 0)
+alors erreur A713;
+verif 2700:
+application : batch, iliad, pro, oceans ;
+si
+(RDPRESREPORT+0 > 0) et
+          (  PRESCOMPJUGE + PRESCOMP2000 + 0 >0 )
+alors erreur A714;
+verif 2736:
+application : batch, iliad, pro, oceans ;
+si
+
+  V_IND_TRAIT > 0 
+  et
+  positif(LOCRESINEUV + 0) + positif(MEUBLENP + 0) + positif(INVNPROF1 + 0) + positif(INVNPROF2 + 0) > 1
+
+alors erreur A73601 ;
+verif 2737:
+application : batch, iliad, pro, oceans ;
+si
+
+  V_IND_TRAIT > 0 
+  et
+  positif(RESIVIEU + 0) + positif(RESIVIANT + 0) > 1
+
+alors erreur A73602 ;
+verif 2730:
+application : batch, iliad, pro, oceans ;
+si
+
+  V_IND_TRAIT > 0 
+  et
+  REPFOR + 0 > 0 et REPSINFOR + 0 > 0 
+
+alors erreur A73001;
+verif 2731:
+application : batch, iliad, pro, oceans ;
+si
+
+  V_IND_TRAIT > 0 
+  et
+  REPFOR1 + 0 > 0 et REPSINFOR1 + 0 > 0 
+
+alors erreur A73002 ;
+verif 27001:
+application : batch, iliad, pro, oceans ;
+
+si
+
+ (V_IND_TRAIT > 0)
+ et 
+ (SOMMEA717 > 1)
+
+alors erreur A71701;
+verif 27002:
+application : batch, iliad, pro, oceans ;
+si
+
+(V_IND_TRAIT > 0)
+et
+(positif(CELLIERHJ) + positif(CELLIERHK) + positif(CELLIERHN) + positif(CELLIERHO) > 1 )
+
+alors erreur A71702;
+verif 27003:
+application : batch, iliad, pro, oceans ;
+si
+( CELLIERHL +0 > 0) et ( CELLIERHM + 0 >0 )
+alors erreur A71703;
+verif 27005:
+application : batch, iliad, pro, oceans ;
+si
+
+   V_IND_TRAIT > 0 
+   et
+   ((CELREPHR + 0 > PLAF_99999)
+    ou
+    (CELREPHS + 0 > PLAF_99999)
+    ou
+    (CELREPHT + 0 > PLAF_99999)
+    ou
+    (CELREPHU + 0 > PLAF_99999)
+    ou
+    (CELREPHV + 0 > PLAF_99999)
+    ou
+    (CELREPHW + 0 > PLAF_99999)
+    ou
+    (CELREPHX + 0 > PLAF_99999)
+    ou
+    (CELREPHZ + 0 > PLAF_99999)) 
+
+alors erreur A741;
+verif 27007:
+application : batch, iliad, pro, oceans ;
+si
+   V_IND_TRAIT > 0 
+   et 
+   positif(CELREPHR + 0) + positif(CELREPHS + 0) > 1
+
+alors erreur A74201 ;
+verif 27008:
+application : batch, iliad, pro, oceans ;
+si
+   V_IND_TRAIT > 0 
+   et 
+   positif(CELREPHT + 0) + positif(CELREPHU + 0) > 1
+
+alors erreur A74202 ;
+verif 27009:
+application : batch, iliad, pro, oceans ;
+si
+   V_IND_TRAIT > 0 
+   et 
+   positif(CELREPHV + 0) + positif(CELREPHW + 0) + positif(CELREPHX + 0) + positif(CELREPHZ + 0) > 1
+
+alors erreur A74203 ;
+verif 2701:
+application : batch, iliad, pro, oceans ;
+si
+(V_IND_TRAIT > 0) et 
+(RDPRESREPORT+0 > LIM_REPCOMPENS)
+alors erreur A715;
+verif 27011:
+application : batch, iliad, pro, oceans ;
+si
+(V_IND_TRAIT > 0) et 
+(
+(SUBSTITRENTE < PRESCOMP2000+0)
+ou
+(SUBSTITRENTE > 0 et present(PRESCOMP2000)=0)
+)
+alors erreur A716;
+verif 2510:
+application : pro , oceans , batch ,  iliad ;
+si
+	(V_IND_TRAIT > 0)
+        et
+        (
+        RDFREP + RDFDONETR > PLAF_REDREPAS
+        )
+alors erreur A701;
+verif 2520:
+application : pro , oceans , batch ,  iliad ;
+si
+  (
+  ((V_REGCO+0) dans (1,3,5,6))
+  et
+  INTDIFAGRI > 0
+  et
+  RCMHAB + 0 < INTDIFAGRI
+  )
+alors erreur A702;
+verif 703:
+application : pro , oceans , batch ,  iliad ;
+si
+ (
+  ( (positif(PRETUD+0) = 1 ou positif(PRETUDANT+0) = 1)
+   et
+    V_0DA < 1979
+   et
+    positif(BOOL_0AM+0) = 0 ) 
+  ou
+  ( (positif(PRETUD+0) = 1 ou positif(PRETUDANT+0) = 1)
+   et 
+   positif(BOOL_0AM+0) = 1
+   et
+   V_0DA < 1979 
+   et
+   V_0DB < 1979 )
+  )
+alors erreur A703;
+verif 704:
+application : pro , oceans , batch ,  iliad ;
+si
+  (
+   (positif( CASEPRETUD + 0 ) = 1 et positif( PRETUDANT + 0 ) = 0)
+    ou
+   (positif( CASEPRETUD + 0 ) = 0 et positif( PRETUDANT + 0 ) = 1)
+  )
+alors erreur A704;
+verif 7501:
+application : pro , oceans , batch ,  iliad ;
+
+si
+  CONVCREA  + 0 > 15 
+  et 
+  V_IND_TRAIT > 0
+
+alors erreur A70503;
+verif 75011:
+application : pro , oceans , batch ,  iliad ;
+
+si
+  NBCREAT  + 0 > 6
+  et 
+  V_IND_TRAIT > 0
+
+alors erreur A70504;
+verif 7502:
+application : pro , oceans , batch ,  iliad ;
+
+si
+   NBCREAT1 + 0 > 9
+  et 
+   V_IND_TRAIT > 0
+
+alors erreur A70501;
+verif 7503:
+application : pro , oceans , batch ,  iliad ;
+
+si
+   NBCREAT2 + 0 > 15
+  et 
+   V_IND_TRAIT > 0
+
+alors erreur A70502;
+verif 76011:
+application : pro , oceans , batch ,  iliad ;
+
+si
+   NBCREATHANDI + 0 > NBCREAT + 0
+  et 
+   V_IND_TRAIT > 0
+
+alors erreur A70604;
+verif 7601:
+application : pro , oceans , batch ,  iliad ;
+
+si
+   CONVHAND + 0 > CONVCREA + 0
+  et 
+   V_IND_TRAIT > 0
+
+alors erreur A70603;
+verif 7602:
+application : pro , oceans , batch ,  iliad ;
+
+si
+   NBCREATHANDI1 + 0 > NBCREAT1 + 0
+  et 
+   V_IND_TRAIT > 0
+
+alors erreur A70601;
+verif 7603:
+application : pro , oceans , batch ,  iliad ;
+
+si
+   NBCREATHANDI2 + 0 > NBCREAT2 + 0
+  et 
+   V_IND_TRAIT > 0
+
+alors erreur A70602;
+verif 731:
+application : pro , oceans , batch ,  iliad ;
+si
+   V_IND_TRAIT > 0
+   et
+   CASEPRETUD + 0 > 6
+
+alors erreur A731 ;
+verif 2097:
+application : batch, iliad, oceans, pro ;
+si
+  (
+    present(PERPIMPATRIE) = 1
+    et
+    V_CNR = 1
+    et 
+    (V_REGCO = 2
+    ou
+    V_REGCO = 4)
+  )
+alors erreur A097;
+verif 3400:
+application : batch, iliad, pro ;
+
+si
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  positif(FIPCORSE+0) = 1
+  et
+  positif(FFIP + FCPI) = 1
+
+alors erreur DD34;
+verif 3410:
+application : batch, iliad, pro ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   REPGROREP1 + REPGROREP2 > LIM_CONTROLE + V_BTNUREPAR
+
+alors erreur DD39 ;
+verif 3420:
+application : batch, iliad, pro ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   CELRREDLA + CELRREDLB > LIM_CONTROLE + V_BTREPCEL
+
+alors erreur DD40 ;
+verif 34201:
+application : batch, iliad, pro ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   CELRREDLC > LIM_CONTROLE + V_BTREPCELN
+
+alors erreur DD48 ;
+verif 3430:
+application : batch, iliad, pro ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   REDMEUBLE + REDREPNPRO > LIM_CONTROLE + V_BTRESINEUV
+
+alors erreur DD41 ;
+verif 34301:
+application : batch, iliad, pro ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   INVREDMEU > LIM_CONTROLE + V_BTRESIREP
+
+alors erreur DD49 ;
+verif 3440:
+application : batch, iliad, pro ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (REPFOR + REPFOR1 > LIM_CONTROLE + V_BTFOREST
+    ou
+    REPSINFOR + REPSINFOR1 > LIM_CONTROLE + V_BTSINFOR)
+
+alors erreur DD42 ;
+verif 3450:
+application : batch, iliad, pro ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (INVOMREP + NRETROC50 + NRETROC40 + INVENDI + INVOMENTMN + RETROCOMLH
+   + RETROCOMMB + INVOMENTKT + RETROCOMLI + RETROCOMMC + INVOMENTKU 
+   > LIM_CONTROLE + V_BTREPQE + V_BTREPQF + V_BTREPQG  
+     + V_BTREPQJ + V_BTREPQO + V_BTREPQP + V_BTREPQS)
+
+alors erreur DD43 ;
+verif 3460:
+application : batch, iliad, pro ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   INVSOCNRET + INVOMSOCKH + INVOMSOCKI > LIM_CONTROLE + V_BTREPQK + V_BTREPQN
+
+alors erreur DD44 ;
+verif 3470:
+application : batch, iliad, pro ;
+
+si
+
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (CELREPHR > LIMLOC2
+    ou
+    CELREPHS > LIMLOC2 
+    ou 
+    CELREPHT > LIMLOC2
+    ou
+    CELREPHU > LIMLOC2
+    ou
+    CELREPHV > LIMLOC2
+    ou
+    CELREPHW > LIMLOC2
+    ou
+    CELREPHX > LIMLOC2
+    ou
+    CELREPHZ > LIMLOC2)
+
+alors erreur DD45 ;
+verif 3480:
+application : batch, iliad, pro ;
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (INVREPMEU > LIMLOC2
+    ou
+    INVREPNPRO > LIMLOC2
+    ou
+    INVNPROREP > LIMLOC2
+    ou
+    REPMEUBLE > LIMLOC2) 
+
+alors erreur DD46 ;
+verif 3490:
+application : batch, iliad, pro ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   PATNAT1 > LIM_CONTROLE + V_BTPATNAT
+
+alors erreur DD50 ;
+verif 34901:
+application : batch, iliad, pro ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 
+   + LNPRODEF5 + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1 > LIM_CONTROLE + V_BTDEFNPLOC
+
+alors erreur DD52 ;
+verif 34902:
+application : batch, iliad, pro ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   DEFBIC6 + DEFBIC5 + DEFBIC4 + DEFBIC3 + DEFBIC2 + DEFBIC1 > LIM_CONTROLE + V_BTBNCDF
+
+alors erreur DD53 ;
+verif 34903:
+application : batch, iliad, pro ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   positif(PTZDEVDURN + 0) = 1 
+   et 
+   positif(CRECHOBAS + CRECHOCON2 + CRECHOBOI + CRENRJRNOUV + CRENRJ + 0) = 1
+   et
+   positif(CIDEVDUR + 0) = 1
+
+alors erreur DD54 ;
+verif 350:
+application : batch, iliad, pro ;
+
+si
+  (V_REGCO + 0 = 2
+   ou
+   V_REGCO + 0 = 4)
+  et
+  positif(AUTOBICVV + AUTOBICPV + AUTOBNCV + AUTOBICVC + AUTOBICPC + AUTOBNCC
+	  + AUTOBICVP + AUTOBICPP + AUTOBNCP + 0) = 1
+
+alors erreur DD56 ;
+verif 321:
+application : batch, iliad, pro ;
+si
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  positif(CREAIDE+0) > 0
+  et
+  (
+  (1 - BOOL_0AM) *
+   (present(TSHALLOV) + present(ALLOV) + present(GLD1V) + present(GLD2V) + present(GLD3V)
+   + present(BPCOSAV) + present(TSASSUV) + present(XETRANV) 
+   + present(TSELUPPEV) + present(CARTSV) + present(REMPLAV) + present(HEURESUPV)
+   + present(FEXV) + present(BAFV) + positif(V_FORVA) + present(BAFORESTV)
+   + present(BAFPVV) + present(BAF1AV) + present(BAEXV) + present(BACREV)
+   + present(BACDEV) + present(BAHEXV) + present(BAHREV) + present(BAHDEV)
+   + present(BA1AV) + present(BAPERPV)
+   + present(MIBEXV) + present(MIBVENV) + present(MIBPRESV) + present(MIBPVV)
+   + present(MIB1AV) + present(MIBDEV) + present(MIBDCT) + present(BICEXV)
+   + present(BICNOV) + present(BICDNV) 
+   + present(BIHEXV) + present(BIHNOV) + present(BIHDNV)
+   + present(BI1AV) + present(BIPERPV)
+   + present(BNCPROEXV) + present(BNCPROV) + present(BNCPROPVV) + present(BNCPRO1AV)
+   + present(BNCPRODEV) + present(BNCPRODCT) + present(BNCEXV) + present(BNCREV)
+   + present(BNCDEV) + present(BNHEXV) + present(BNHREV) + present(BNHDEV)
+   + present(BN1AV) + present(BNCCRV) + present(CESSASSV))
+   + present(AUTOBICVV) + present(AUTOBICPV) + present(LOCPROCGAV)
+   + present(LOCDEFPROCGAV) + present(LOCPROV) + present(LOCDEFPROV)
+   + present(AUTOBNCV) + present(XHONOAAV) + present(XHONOV)
+
+  + (1 - positif(V_0AP+V_0AF)) * BOOL_0AM *
+   (present(TSHALLOV) + present(ALLOV) + present(GLD1V) + present(GLD2V) + present(GLD3V)
+   + present(BPCOSAV) + present(TSASSUV) + present(XETRANV) 
+   + present(TSELUPPEV) + present(CARTSV) + present(REMPLAV) + present(HEURESUPV)
+   + present(FEXV) + present(BAFV) + positif(V_FORVA) + present(BAFORESTV)
+   + present(BAFPVV) + present(BAF1AV) + present(BAEXV) + present(BACREV)
+   + present(BACDEV) + present(BAHEXV) + present(BAHREV) + present(BAHDEV)
+   + present(BA1AV) + present(BAPERPV)
+   + present(MIBEXV) + present(MIBVENV) + present(MIBPRESV) + present(MIBPVV)
+   + present(MIB1AV) + present(MIBDEV) + present(MIBDCT) + present(BICEXV)
+   + present(BICNOV) + present(BICDNV) 
+   + present(BIHEXV) + present(BIHNOV) + present(BIHDNV)
+   + present(BI1AV) + present(BIPERPV)
+   + present(BNCPROEXV) + present(BNCPROV) + present(BNCPROPVV) + present(BNCPRO1AV)
+   + present(BNCPRODEV) + present(BNCPRODCT) + present(BNCEXV) + present(BNCREV)
+   + present(BNCDEV) + present(BNHEXV) + present(BNHREV) + present(BNHDEV)
+   + present(BN1AV) + present(BNCCRV) + present(CESSASSV)) *
+   ( present(TSHALLOC) + present(ALLOC) + present(GLD1C) + present(GLD2C) + present(GLD3C)
+   + present(BPCOSAC) + present(TSASSUC) + present(XETRANC) 
+   + present(TSELUPPEC) + present(CARTSC) + present(REMPLAC) + present(HEURESUPC)
+   + present(FEXC) + present(BAFC) + positif(V_FORCA) + present(BAFORESTC)
+   + present(BAFPVC) + present(BAF1AC) + present(BAEXC) + present(BACREC)
+   + present(BACDEC) + present(BAHEXC) + present(BAHREC) + present(BAHDEC)
+   + present(BA1AC) + present(BAPERPC)
+   + present(MIBEXC) + present(MIBVENC) + present(MIBPRESC) + present(MIBPVC)
+   + present(MIB1AC) + present(MIBDEC) + present(BICEXC)
+   + present(BICNOC) + present(BICDNC) 
+   + present(BIHEXC) + present(BIHNOC) + present(BIHDNC)
+   + present(BI1AC) + present(BIPERPC)
+   + present(BNCPROEXC) + present(BNCPROC) + present(BNCPROPVC) + present(BNCPRO1AC)
+   + present(BNCPRODEC) + present(BNCEXC) + present(BNCREC)
+   + present(BNCDEC) + present(BNHEXC) + present(BNHREC) + present(BNHDEC)
+   + present(BN1AC) + present(BNCCRC) + present(CESSASSC))
+   + present(AUTOBICVV) + present(AUTOBICPV) + present(LOCPROCGAV)
+   + present(LOCDEFPROCGAV) + present(LOCPROV) + present(LOCDEFPROV)
+   + present(AUTOBNCV) + present(XHONOAAV) + present(XHONOV)
+   + present(AUTOBICVC) + present(AUTOBICVC) + present(LOCPROCGAC)
+   + present(LOCDEFPROCGAC) + present(LOCPROC) + present(LOCDEFPROC)
+   + present(AUTOBNCC) + present(XHONOAAC) + present(XHONOC)
+
+  + BOOL_0AM * positif(V_0AF) *
+   (present(TSHALLOV) + present(ALLOV) + present(GLD1V) + present(GLD2V) + present(GLD3V)
+   + present(BPCOSAV) + present(TSASSUV) + present(XETRANV) 
+   + present(TSELUPPEV) + present(CARTSV) + present(REMPLAV) + present(HEURESUPV)
+   + present(FEXV) + present(BAFV) + positif(V_FORVA) + present(BAFORESTV)
+   + present(BAFPVV) + present(BAF1AV) + present(BAEXV) + present(BACREV)
+   + present(BACDEV) + present(BAHEXV) + present(BAHREV) + present(BAHDEV)
+   + present(BA1AV) + present(BAPERPV)
+   + present(MIBEXV) + present(MIBVENV) + present(MIBPRESV) + present(MIBPVV)
+   + present(MIB1AV) + present(MIBDEV) + present(MIBDCT) + present(BICEXV)
+   + present(BICNOV) + present(BICDNV) 
+   + present(BIHEXV) + present(BIHNOV) + present(BIHDNV)
+   + present(BI1AV) + present(BIPERPV)
+   + present(BNCPROEXV) + present(BNCPROV) + present(BNCPROPVV) + present(BNCPRO1AV)
+   + present(BNCPRODEV) + present(BNCPRODCT) + present(BNCEXV) + present(BNCREV)
+   + present(BNCDEV) + present(BNHEXV) + present(BNHREV) + present(BNHDEV)
+   + present(BN1AV) + present(BNCCRV) + present(CESSASSV))
+   + present(AUTOBICVV) + present(AUTOBICPV) + present(LOCPROCGAV)
+   + present(LOCDEFPROCGAV) + present(LOCPROV) + present(LOCDEFPROV)
+   + present(AUTOBNCV) + present(XHONOAAV) + present(XHONOV)
+  
+  + BOOL_0AM * positif(V_0AP) *
+   (present(TSHALLOC) + present(ALLOC) + present(GLD1C) + present(GLD2C) + present(GLD3C)
+   + present(BPCOSAC) + present(TSASSUC) + present(XETRANC) 
+   + present(TSELUPPEC) + present(CARTSC) + present(REMPLAC) + present(HEURESUPC)
+   + present(FEXC) + present(BAFC) + positif(V_FORCA) + present(BAFORESTC)
+   + present(BAFPVC) + present(BAF1AC) + present(BAEXC) + present(BACREC)
+   + present(BACDEC) + present(BAHEXC) + present(BAHREC) + present(BAHDEC)
+   + present(BA1AC) + present(BAPERPC)
+   + present(MIBEXC) + present(MIBVENC) + present(MIBPRESC) + present(MIBPVC)
+   + present(MIB1AC) + present(MIBDEC) + present(BICEXC)
+   + present(BICNOC) + present(BICDNC) 
+   + present(BIHEXC) + present(BIHNOC) + present(BIHDNC)
+   + present(BI1AC) + present(BIPERPC)
+   + present(BNCPROEXC) + present(BNCPROC) + present(BNCPROPVC) + present(BNCPRO1AC)
+   + present(BNCPRODEC) + present(BNCEXC) + present(BNCREC)
+   + present(BNCDEC) + present(BNHEXC) + present(BNHREC) + present(BNHDEC)
+   + present(BN1AC) + present(BNCCRC) + present(CESSASSC))
+   + present(AUTOBICVC) + present(AUTOBICVC) + present(LOCPROCGAC)
+   + present(LOCDEFPROCGAC) + present(LOCPROC) + present(LOCDEFPROC)
+   + present(AUTOBNCC) + present(XHONOAAC) + present(XHONOC)
+
+   = 0
+   )
+alors erreur DD32;
diff --git a/sources2011m_9_6/coc3.m b/sources2011m_9_6/coc3.m
new file mode 100644
index 0000000000000000000000000000000000000000..e47d3d32cc2a03a5b6c4c47b64570be95355854a
--- /dev/null
+++ b/sources2011m_9_6/coc3.m
@@ -0,0 +1,511 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 3003:
+application : pro , oceans , iliad  , batch;
+si
+   (
+      V_0AM + 0 = 1  et  V_0AE + V_0AG + V_0AL + V_0AN + V_0AW + V_0AU +0> 0 
+   )
+alors erreur A01001;
+verif 3004:
+application : pro , oceans , iliad  , batch;
+si
+   (
+       V_0AC + 0 = 1  et  V_0AF + V_0AS + V_0AU + 0 > 0  
+   )
+alors erreur A01004;
+verif 3005:
+application : pro , oceans , iliad  , batch;
+si
+   (
+       V_0AD + 0 = 1  et  V_0AF + V_0AS + V_0AU + 0 > 0  
+   )
+alors erreur A01005;
+verif 3006:
+application : pro , oceans , iliad  , batch;
+si
+   (
+      V_0AV + 0 = 1  et  ( (BOOL_0AZ != 1 et V_0AF  > 0) ou V_0AS > 0 ou V_0AU > 0)
+   )
+alors erreur A01003;
+verif 3007:
+application : pro , oceans , iliad  , batch;
+si
+   (
+     (V_0AM + 0 = 1) et V_0BT+0 = 1
+   )
+alors erreur A01009;
+verif 3009:
+application : pro, oceans, iliad, batch;
+si (
+   ( V_0AP+V_0AF+V_0AS+V_0AE+V_0AW+V_0AL+V_0AN+V_0AG+V_0AU+V_0BT+0) > 0
+   et
+   positif(V_0AM + V_0AO + V_0AC + V_0AD + V_0AV + 0) != 1
+   )
+alors erreur A01011;
+verif 3010:
+application : pro, oceans, iliad, batch;
+si ( 
+	V_0AC = 1 et V_0AG =1
+   )
+alors erreur A01006;
+verif 3011:
+application : pro, oceans, iliad, batch;
+si ( 
+	V_0AD = 1 et V_0AG =1
+   )
+alors erreur A01007;
+verif 3012:
+application : pro, oceans, iliad, batch;
+si ( 
+	( V_0AV = 1 et V_INDG = 1 et V_0AG =1 )
+	ou
+	( present(V_0AZ)=1 et V_0AV=1 et BOOL_0AZ!=1 et V_INDG=1 et V_0AG=1 )
+   )
+alors erreur A01008;
+verif 3513:
+application : pro , oceans , iliad  , batch;
+si
+   (
+       V_0AO + 0 = 1  et  V_0AE + V_0AG + V_0AL + V_0AN + V_0AW + 0 > 0  
+   )
+alors erreur A01002;
+verif 3514:
+application : pro , oceans , iliad  , batch;
+si
+   (
+     (V_0AO + 0 = 1) et V_0BT+0 = 1
+   )
+alors erreur A01010;
+verif 3013:
+application : pro , oceans, iliad, batch;
+si ( 
+    (V_IND_TRAIT+0 = 4)
+    et
+    (
+    V_0DA < (V_ANREV - 120) ou V_0DA > V_ANREV ou V_0DB < (V_ANREV - 120) ou V_0DB > V_ANREV
+    )
+   ) alors erreur A013;
+verif  3014:
+application : pro , oceans , iliad  , batch;
+si
+   (
+    (V_IND_TRAIT = 5)
+    et
+    (
+      ( positif(V_0DB) = 1 et ( V_0DB < (V_ANREV - 120) ou V_0DB > V_ANREV ) )
+    ou
+      ( V_0DA < (V_ANREV - 120) ou V_0DA > V_ANREV ) 
+    )
+   )
+alors erreur A013;
+verif 3020:
+application : iliad , batch;
+si
+    V_ZDC = 1 
+    et 
+    somme(i=X,Y,Z: positif(V_0Ai)) > 1
+   
+alors erreur A01701 ;
+verif 3021:
+application : iliad , batch ;
+si
+    V_ZDC = 4
+    et 
+    (  
+     positif(V_0AZ + 0) = 0 
+     ou 
+     V_0AM + V_0AO + (V_0AC + V_0AD + V_0AV) * V_0AB + 0 = 0
+    )
+   
+alors erreur A01702 ;
+verif 3022:
+application : iliad , batch ;
+si
+   V_ZDC = 1
+   et
+   positif(V_0AX) = 1 
+   et 
+   V_0AM + V_0AO + 0 = 0
+
+alors erreur A01703 ;
+verif 3023:
+application : iliad , batch ;
+si
+   V_ZDC = 1
+   et
+   positif(V_0AY) = 1 
+   et 
+   V_0AD + 0 = 0
+
+alors erreur A01704 ;
+verif 3026:
+application : batch, iliad;
+si
+    V_ZDC = 1 
+    et 
+    positif(V_0AZ) = 1 
+    et 
+    V_0AV + V_0AM + 0 = 0 
+  
+alors erreur A01705 ;
+verif 3031:
+application : batch ;
+si
+   
+    null(10 - V_NOTRAIT) = 1
+        et
+    V_ZDC + 0 = 0 
+	et 
+    (positif(V_0AZ) = 1 et V_0AV + 0 = 0)
+   
+alors erreur A018 ;
+verif 3041:
+application : pro , iliad  , oceans ;
+si
+   V_ZDC + 0 = 0
+   et
+   V_0AC = 1 
+   et 
+   V_0AZ + 0 > 0
+	  
+alors erreur AS0101 ;
+verif 3042:
+application : pro , iliad  , oceans ;
+si
+   V_ZDC + 0 = 0
+   et
+   BOOL_0AM = 1
+   et
+   V_0AX + 0 > 0
+   et
+   V_0AB + 0 > 0
+
+alors erreur AS0102 ;
+verif 3043:
+application : pro , iliad  , oceans ;
+si
+   V_ZDC + 0 = 0
+   et
+   V_0AC + V_0AD + V_0AV + 0 = 1
+   et
+   V_0AX + 0 > 0
+   et
+   positif(V_0AB + 0) = 0
+
+alors erreur AS0103 ;
+verif 3044:
+application : pro , iliad  , oceans ;
+si
+   V_ZDC + 0 = 0
+   et
+   BOOL_0AM = 1 
+   et 
+   V_0AY + 0 > 0  
+   
+alors erreur AS0104 ;
+verif 3045:
+application : pro , iliad  , oceans ;
+si
+   V_ZDC + 0 = 0
+   et
+   V_0AM = 1 
+   et 
+   V_0AY + 0 > 0 
+   et 
+   V_0AZ + 0 > 0 
+   
+alors erreur AS0105 ;
+verif 3046:
+application : pro , iliad  , oceans ;
+si
+   V_ZDC + 0 = 0
+   et
+   V_0AD = 1 
+   et 
+   V_0AZ + 0 > 0
+	   
+alors erreur AS0106 ;
+verif 3047:
+application : pro ;
+si
+  positif(V_IND_TRAIT + 0) = 1 
+  et
+  (V_NOTRAIT + 0 < 14)
+  et
+  present(V_ANTIR) = 0
+  et
+  positif(V_0DA + 0) = 0
+
+alors erreur AS11 ;
+verif 3100:
+application : pro , oceans , iliad , batch ;
+si
+   (
+     (  V_0CF + 0 < V_0CG )
+   )
+alors erreur A01201;
+verif 3101:
+application : pro , oceans , iliad  , batch;
+si
+   (
+     (  V_0CI + 0 > V_0CH +0 ) 
+   )
+alors erreur A01202;
+verif 3110:
+application : iliad ;
+si
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0CF != somme (i = 0..7: positif(V_0Fi+0))
+   )
+alors erreur IM1101;
+verif 3111:
+application : iliad ;
+si
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0CG != somme (i = 0, 1, 2, 3: positif(V_0Gi+0))
+   )
+alors erreur IM1102;
+verif 3112:
+application : iliad ;
+si
+   (
+     present(V_CALCULIR) = 0 
+	et 
+     V_0CR != somme (i = 0, 1, 2, 3: positif(V_0Ri+0))
+   )
+alors erreur IM1105;
+verif 3113:
+application : iliad ;
+si
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0DJ != somme (i = 0, 1, 2, 3: positif(V_0Ji+0))
+   )
+alors erreur IM1106;
+verif 3114:
+application : iliad ;
+si
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0DN != somme (i = 0, 1, 2, 3: positif(V_0Ni+0))
+   )
+alors erreur IM1107;
+verif 3118:
+application : iliad ;
+si
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0CH != somme (i = 0,1,2,3,4,5: positif(V_0Hi+0))
+   )
+alors erreur IM1103;
+verif 3116:
+application : iliad ;
+si
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0CI != somme (i = 0, 1, 2, 3: positif(V_0Ii+0))
+   )
+alors erreur IM1104;
+verif 3117:
+application : iliad ;
+si
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0DP !=  positif(V_0P0+0)
+   )
+alors erreur IM1108;
+verif 3200:
+application : bareme ;
+si (
+   ( V_9VV < 2 et (V_0AM + V_0AO + 0 = 1) )
+   )
+alors erreur A063;
+verif 3201:
+application : bareme ;
+si (
+   ( V_9VV < 1.25 et ( (V_0AC = 1 ou V_0AD = 1) et V_9XX = 1 ))
+   )
+alors erreur A064;
+verif 3202:
+application : bareme ;
+si (
+   ( V_9VV < 2.25 et ( (BOOL_0AM = 1 ou V_0AV = 1) et V_9XX = 1 ))
+   )
+alors erreur A064;
+verif 32021:
+application : bareme ;
+si (
+    V_9VV = 1.25 et  V_0BT=1 et V_9XX=1 
+   )
+alors erreur A064;
+verif 3203:
+application : bareme ;
+si (
+    V_9VV < 2 et  (V_0AV +V_0AZ = 2)
+   )
+alors erreur A066;
+verif 3210:
+application : iliad , pro , batch;
+si (
+    (V_0AM + V_0AO + 0 = 1) et V_0AS = 1 et V_0AP+0 = 0 et V_0AF+0 = 0
+	  et 
+   V_ANREV - V_0DA < 75 et V_ANREV - V_0DB < 75
+   )
+alors erreur I011;
+verif 3213:
+application : iliad , batch;
+si 
+   positif(V_0AN+0) != 1 et
+   (
+   ((V_0AC + V_BT0AC +0 =2) et V_BTNBP+0 > (1 + 99 * APPLI_BATCH) et NBPT = 1)
+    ou
+   ((V_0AD + V_BT0AD +0 =2) et V_BTNBP+0 > (1 + 99 * APPLI_BATCH) et NBPT = 1)
+    ou
+   ((V_0AV + V_BT0AV +0 =2) et V_BTNBP+0 > (1 + 99 * APPLI_BATCH) et NBPT = 1)
+   )
+alors erreur I013;
+verif 3221:
+application : batch , iliad , pro;
+si (
+    (V_0AM + V_0AO + 0 = 0 )
+	  et 
+    V_0AZ + 0 = 0
+          et
+    V_0AP + 0 = 0
+          et
+    (V_0AE + 0 = 0 ou (V_0AE + 0 = 1 et (V_0DJ + 0 > 0 ou V_0DN + 0 > 0)))
+          et
+    V_0AW = 1
+	  et 
+    V_ANREV - V_0DA < 75
+   )
+alors erreur I012;
+verif 3216:
+application : batch , iliad , pro , oceans ;
+si 
+    V_IND_TRAIT > 0
+    et
+    V_REGCO != 2
+    et
+    V_REGCO != 4
+    et
+   (
+    DEFRCM5 + 0 > V_BTDFRCM1 + PLAF_PRECONS * (1 - positif(V_BTDFRCM1))
+    ou
+    DEFRCM4 + 0 > V_BTDFRCM2 + PLAF_PRECONS * (1 - positif(V_BTDFRCM2))
+    ou
+    DEFRCM3 + 0 > V_BTDFRCM3 + PLAF_PRECONS * (1 - positif(V_BTDFRCM3))
+    ou
+    DEFRCM2 + 0 > V_BTDFRCM4 + PLAF_PRECONS * (1 - positif(V_BTDFRCM4))
+    ou
+    DEFRCM + 0 > V_BTDFRCM5 + PLAF_PRECONS * (1 - positif(V_BTDFRCM5)))
+
+alors erreur I015;
+
+verif 3301:
+application : iliad, pro, batch ;
+si
+  ( 
+ 	V_0AV  = 1     
+	et
+       (
+       (
+        positif(XETRANC) + positif(TSELUPPEC) + positif(EXOCETC) + positif(FRNC)
+	+ positif(TSHALLOC) + positif(ALLOC) 
+	+ positif(HEURESUPC)
+	+ positif(PRBC) + somme(i=2..4:positif(iPRBC)) + positif(PEBFC) 
+	+ positif(CARTSC) + positif(REMPLAC) + positif(CARPEC) + positif(PENSALC)
+	+ somme (i=1..3: positif (GLDiC)) + somme (i=A: positif(BiFC) + somme(j=A: positif(Bi1jC)))
+	+ somme (i=H,C: 
+       			somme(j= A,N: somme(k=R,D: positif(BjikEC))) + 
+       			somme(j=N: positif(BIiDjC)) + positif(BIiNOC)  
+          )
+	+ positif(BICREC) + positif(BI2AC) + positif(BICDEC)
+        + positif(TSASSUC)
+	+ positif(PPETPC) + positif(PPENHC)
+	+ positif(GSALC) + positif(PCAPTAXC)
+
+ + positif( FEXC ) + positif( BAFC ) + positif( BAFORESTC ) + positif( BAFPVC ) + positif( BAF1AC ) 
+ + positif( BAEXC ) + positif( BACREC ) + positif( 4BACREC ) + positif( BA1AC ) + positif( BACDEC ) 
+ + positif( BAHEXC ) + positif( BAHREC ) + positif( 4BAHREC ) + positif( BAHDEC ) + positif( BAPERPC ) + positif( BANOCGAC )
+ + positif( AUTOBICVC ) + positif( AUTOBICPC ) + positif( MIBEXC ) + positif( MIBVENC ) 
+ + positif( MIBPRESC ) + positif( MIBPVC ) + positif( MIB1AC ) + positif( MIBDEC ) 
+ + positif( BICEXC ) + positif( BICNOC ) + positif( LOCPROCGAC )
+ + positif( BI1AC ) + positif( BICDNC ) + positif( LOCDEFPROCGAC )
+ + positif( BIHEXC ) + positif( BIHNOC ) + positif( LOCPROC )
+ + positif( BIHDNC ) + positif( BIPERPC ) + positif( LOCDEFPROC )
+ + positif( MIBMEUC ) + positif( MIBGITEC ) + positif( MIBNPEXC ) + positif( MIBNPVENC ) 
+ + positif( MIBNPPRESC ) + positif( MIBNPPVC ) + positif( MIBNP1AC ) + positif( MIBNPDEC ) 
+ + positif( BICNPEXC ) + positif( BICREC ) + positif( LOCNPCGAC )
+ + positif( BI2AC ) + positif( BICDEC ) + positif( LOCDEFNPCGAC )
+ + positif( BICNPHEXC ) + positif( BICHREC ) + positif( LOCNPC )
+ + positif( BICHDEC ) + positif( LOCDEFNPC )
+ + positif( AUTOBNCC ) + positif( BNCPROEXC ) + positif( BNCPROC ) 
+ + positif( BNCPROPVC ) + positif( BNCPRO1AC ) + positif( BNCPRODEC ) 
+ + positif( BNCEXC ) + positif( BNCREC ) + positif( BN1AC ) + positif( BNCDEC ) 
+ + positif( BNHEXC ) + positif( BNHREC ) + positif( BNHDEC ) 
+ + positif ( BNCCRC ) + positif ( CESSASSC ) + positif( XHONOAAC ) + positif( XHONOC )
+ + positif( BNCNPC ) + positif( BNCNPPVC ) + positif( BNCNP1AC ) + positif( BNCNPDEC ) 
+ + positif( BNCNPREXAAC ) + positif( BNCAABC ) + positif( BNCNPREXC ) + positif( ANOVEP )
+ + positif( INVENTC ) + positif( PVINCE ) + positif( BNCAADC ) + positif( DNOCEPC ) + positif( BNCCRFC )
+ + positif( RCSC ) + positif( BANOCGAC ) + positif( PVSOCC ) + positif( PPEACC ) + positif( PPENJC ) 
+
+ + positif( PERPC ) + positif( PERP_COTC ) + positif( RACCOTC ) + positif( PLAF_PERPC ) 
+ + positif ( PERPPLAFCC ) + positif ( PERPPLAFNUC1 ) + positif ( PERPPLAFNUC2 ) + positif ( PERPPLAFNUC3 )
+
+ + positif( ELURASC ) 
+     )
+	> 0 
+     )
+   )
+alors erreur I010 ;
+verif 3415:
+application : pro, iliad, batch ;
+si
+   positif(V_0AO + 0) * positif(V_BT0AO + 0) = 1
+   et
+   V_BT0AX + 0 = V_ANREV - 1
+   et
+   V_0AY >= 1010000 + V_ANREV 
+   
+alors erreur A003 ;
+verif 3416:
+application : pro , batch ;
+si
+   V_IND_TRAIT > 0
+   et
+   positif(V_0AB + 0) = 1
+   et
+   (positif(V_0AX + 0) = 0
+    ou
+    positif(V_0AM + V_0AO + 0) = 1)
+
+alors erreur A004 ;
diff --git a/sources2011m_9_6/coc4.m b/sources2011m_9_6/coc4.m
new file mode 100644
index 0000000000000000000000000000000000000000..6771474d3d7c191136979fbeb66f05232db37a4d
--- /dev/null
+++ b/sources2011m_9_6/coc4.m
@@ -0,0 +1,309 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 4010:
+application : pro , oceans ,  batch ;
+si
+      (
+      V_8ZT >= 0 et V_REGCO+0 != 2
+      )
+alors erreur A089;
+verif 4012:
+application : oceans ,  iliad ;
+si
+(
+positif(present(RE168)+present(TAX1649)) =1 et present(IPVLOC) = 1
+)
+alors erreur A990;
+verif 4015:
+application : iliad ;
+si 
+      ( V_8ZT >= 0 et V_CR2+0 != 1 et V_NOTRAIT + 0 < 20) 
+      ou
+      ( V_8ZT > 0 et V_CR2+0 != 1 et V_NOTRAIT >= 20)
+   
+alors erreur A089;
+verif 4020:
+application : pro , oceans ,  iliad , batch;
+si
+      (
+       V_IND_TRAIT + 0 > 0
+       et
+       (V_REGCO+0) dans (1,2,3,5,6) 
+       et 
+       positif(IPVLOC + 0) = 1 
+      )
+
+alors erreur A094;
+verif 4030:
+application : pro , iliad , oceans , batch ;
+si
+   V_REGCO + 0 = 4 
+   et IPVLOC + 0 = 0
+   et (( V_IND_TRAIT + 0 = 4
+        et V_0AM + V_0AO + V_0AC + V_0AD + V_0AV + 0 != 0
+       )
+      ou
+         V_IND_TRAIT + 0 = 5
+      )
+alors erreur A095;
+verif 4032:
+application : batch , pro , iliad , oceans ;
+
+si
+     (V_REGCO = 2 ou V_REGCO = 3 ou V_REGCO = 4)
+     et
+     (V_NOTRAIT < 20 et BASRET >= 0 et IMPRET >= 0
+     ou
+     V_NOTRAIT >= 20 et BASRET > 0 et IMPRET > 0)
+
+alors erreur A096 ;
+verif 4050:
+application : batch , pro , iliad ;
+si
+  (
+  V_IND_TRAIT > 0
+  et
+  VALREGCO non dans (1,2,4) 
+  )
+alors erreur A082;
+verif 4060:
+application : batch , pro, iliad;
+si
+  (
+  V_NOTRAIT+0 = 10
+  et
+   (VALREGCO = 2 ou VALREGCO = 4) et V_CNR2+0!=1 
+  )
+alors erreur A083;
+verif 4070:
+application : batch , pro , iliad , oceans ;
+si
+  (
+   positif(BRAS) = 1 et V_CNR2 +0 != 1
+  )
+alors erreur A079;
+verif 4080:
+application : batch , pro , iliad  , oceans ;
+si
+   (
+    V_NOTRAIT + 0 < 20 
+   et
+    present(BRAS) = 1 et V_REGCO+0 != 2 et V_CNR2+0 = 1
+   )
+  ou
+   (
+    V_NOTRAIT >= 20 
+   et
+    positif(BRAS) = 1 et V_REGCO+0 != 2 et V_CNR2+0 = 1
+   )
+alors erreur A080;
+verif 4100:
+application : pro , oceans ,  iliad , batch ;
+si
+   (
+   (IPTEFP + IPTEFN + PRODOM + PROGUY > 0)
+   et
+   (V_CNR + 0 = 1)
+   )
+alors erreur A088;
+verif 4110:
+application : pro, oceans, iliad, batch ;
+si
+     
+  IPECO + SALECS + ALLECS + INDECS + PENECS + 0 > 0 et SOMMEDD55 = 0
+
+alors erreur DD55 ;
+verif 4120:
+application : iliad, oceans, pro,batch;
+si
+    V_IND_TRAIT + 0 > 0
+    et
+    V_8ZT > ( somme(i=V,C,1..4: TPRi)
+	      + somme (i=1..3: GLNiV)
+	      + somme (i=1..3: GLNiC)
+	      + RVTOT + T2RV 
+	      + 2 ) 
+
+alors erreur A090;
+verif 4130:
+application : pro , oceans ,  iliad , batch;
+si 
+    ( V_NOTRAIT + 0 < 20
+      et
+     ( present(RMOND) = 1 ou present(DMOND) = 1 ) 
+      et V_REGCO+0 !=2 )
+    ou
+    ( V_NOTRAIT >= 20
+      et
+     ( positif(RMOND) = 1 ou positif(DMOND) = 1 ) 
+      et V_REGCO+0 !=2 )
+	
+alors erreur A091;
+verif 4140:
+application : pro , oceans ,  iliad , batch;
+si (
+    V_NOTRAIT + 0 < 20
+    et
+      (
+       ( positif(IPTXMO)=1 et present(DMOND)!=1 et present(RMOND)!=1 )
+       ou
+       ( (present(RMOND)=1 ou present(DMOND)=1) et positif(IPTXMO+0) !=1 )
+      )
+   )
+   ou
+   (
+    V_NOTRAIT >= 20
+    et
+      (
+       ( positif(IPTXMO)=1 et positif(DMOND)!=1 et positif(RMOND)!=1 )
+       ou
+       ( (positif(RMOND)=1 ou positif(DMOND)=1) et positif(IPTXMO+0) !=1 )
+      )
+   )
+alors erreur A092;
+verif 4150:
+application : pro , oceans ,  iliad , batch;
+si  (
+     V_NOTRAIT + 0 < 20
+     et
+     present(RMOND) = 1 et present(DMOND) = 1
+    )
+  ou
+    (
+     V_NOTRAIT >= 20
+     et
+     positif(RMOND) = 1 et positif(DMOND) = 1
+    )
+alors erreur A093;
+verif 4200:
+application : pro , oceans ,  iliad  , batch;
+si ( 
+    ( (V_NOTRAIT >= 20)  et (IPTEFP > 0)  et ( IPTEFN > 0) )
+    ou  
+    ( ((V_NOTRAIT+0) < 20)  et (IPTEFP >= 0)  et (IPTEFN >= 0)  et  (V_ROLCSG+0 < 40)) 
+   )
+alors erreur A80201;
+verif 4201:
+application : pro , oceans ,  iliad  , batch;
+si
+       (
+       V_NOTRAIT + 0 < 20
+       et
+       (IPTEFP + IPTEFN >= 0)
+       et
+       (PRODOM + PROGUY >= 0)
+       )
+     ou
+       (
+       V_NOTRAIT >= 20
+       et
+       (IPTEFP + IPTEFN > 0)
+       et
+       (PRODOM + PROGUY > 0)
+       )
+alors erreur A80202;
+verif 4202:
+application : pro , oceans ,  iliad  , batch;
+si
+       (
+       V_NOTRAIT + 0 < 20
+       et
+       SOMMEA802 > 0
+       et
+       PRODOM + PROGUY >= 0
+       )
+     ou
+       (
+       V_NOTRAIT >= 20
+       et
+       SOMMEA802 > 0
+       et
+       PRODOM + PROGUY > 0
+       )
+alors erreur A80203 ;
+verif 4210:
+application : pro , oceans ,  iliad , batch;
+si
+    (
+      (PROGUY + PRODOM +0 > 0)
+       et
+      (SOMMEA804 > 0 )
+    )
+alors erreur A804;
+verif 4220:
+application : pro , oceans ,  iliad  , batch;
+si
+	(
+	(IPMOND > 0)
+	et
+	(present(IPTEFP) = 0 ) et ( present(IPTEFN) = 0)
+	)
+alors erreur A882;
+verif 4221:
+application : pro , oceans ,  iliad  , batch;
+si
+	(
+	((present(IPTEFP)=1) ou (present(IPTEFN)=1))
+	et
+	(present(IPMOND) = 0)
+	)
+alors erreur A882;
+verif 42885:
+application : pro ,oceans , iliad  , batch;
+si
+	
+ (
+ (positif(CIIMPPRO2 + 0) = 1 et (1 - positif_ou_nul(BPVRCM)) = 1)
+ ou
+ (CIIMPPRO > 0 et SOMMEA885 = 0)
+ )
+        
+alors erreur A885;
+verif 4230:
+application : pro , oceans , iliad  , batch;
+si
+	(
+	IPBOCH  > 0 et (CIIMPPRO + CIIMPPRO2 + REGCI + 0) = 0
+	)
+alors erreur A883;
+verif 4240:
+application : pro , oceans , iliad , batch;
+si
+     
+  REGCI > 0 et SOMMEA884 = 0
+     
+alors erreur A884;
+verif 4250:
+application : pro , oceans , iliad , batch;
+si
+     (
+       IPPNCS > 0 et positif(REGCI + CIIMPPRO + CIIMPPRO2 + 0) != 1 
+     )
+alors erreur A886;
+verif 4260:
+application : pro , oceans , iliad , batch;
+si
+     (
+       positif(present( NRBASE ) + present( NRINET )) = 1 
+       et
+       present( NRBASE ) + present( NRINET ) < 2
+     )
+alors erreur A086;
diff --git a/sources2011m_9_6/coc5.m b/sources2011m_9_6/coc5.m
new file mode 100644
index 0000000000000000000000000000000000000000..9e1d4bbc9962e67b24b8d863a865601f8cd739f5
--- /dev/null
+++ b/sources2011m_9_6/coc5.m
@@ -0,0 +1,306 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 5000:
+application : iliad, batch ;
+si (
+    ( NBPT > (V_BTNBP + 4 * APPLI_ILIAD + 400 * APPLI_BATCH) )
+ et
+    ( V_BTNBP + 0 > 0     )
+ et
+   	V_IND_TRAIT+0=4 et V_BTANC =1 et ((V_BTNI1+0) non dans (50,92)) 
+ et     
+        V_BTMUL !=1 et V_CODILIAD=1
+ et
+    (V_BT0AC=V_0AC ou V_BT0AM=V_0AM ou V_BT0AO=V_0AO ou V_BT0AD=V_0AD ou V_BT0AV=V_0AV)
+    )
+ alors erreur DD17;
+verif 5001:
+application : pro , iliad , batch , oceans ;
+si
+   (
+   NBPT > 20
+   )
+alors erreur A015;
+verif 5050:
+application : batch , iliad ;
+si (
+   V_ZDC+0 = 0 et V_BTMUL = 0
+   et V_0AX+0 = 0 et V_0AY+0 = 0 et V_0AZ+0= 0
+   et V_BTRNI > LIM_BTRNI10
+   et RNI < V_BTRNI/5
+   et V_BTANC+0 = 1  et ((V_BTNI1+0 )non dans (50,92)) 
+   )
+alors erreur DD05;
+verif 5060:
+application : iliad;
+si (
+	   V_ZDC+0 = 0 et V_BTMUL+0 = 0
+   et V_0AX+0 = 0 et V_0AY+0 = 0 et V_0AZ+0 = 0 et V_0AO+0 = 0
+   et V_BTRNI > LIM_BTRNI
+   et
+      (RNI > V_BTRNI*9
+	et
+	RNI < 100000)
+   )
+alors erreur IM1601;
+verif 5061:
+application : iliad;
+
+si (
+	   V_ZDC+0 = 0 et V_BTMUL+0 = 0
+   et V_0AX+0 = 0 et V_0AY+0 = 0 et V_0AZ+0 = 0 et V_0AO+0 = 0
+   et V_BTRNI > LIM_BTRNI
+   et
+       (RNI > V_BTRNI*5
+	et
+	RNI >= 100000)
+   )
+alors erreur IM1602;
+verif 5100:
+application : iliad;
+si 
+  (V_NOTRAIT+0  != 14) et
+(
+V_BTANC+0 = 1  et ((V_BTNI1+0 )non dans (50,92)) 
+ et V_BTIMP+0 <= 0 et IINET > (LIM_BTIMP*2) et V_ZDC+0 = 0
+)
+alors erreur IM20;
+verif 5101:
+application : iliad;
+si (
+V_BTIMP > LIM_BTIMP et IINET >= V_BTIMP * 2 et V_ZDC+0 = 0
+)
+alors erreur IM17;
+verif 5102:
+application : iliad;
+si (
+   V_BTIMP > LIM_BTIMP et IINET <= V_BTIMP / 2 et V_ZDC+0 = 0
+   )
+alors erreur IM18;
+verif 5103:
+application : batch,iliad;
+si (
+   DAR > LIM_CONTROLE et V_BTRNI > 0 et ((V_BTNI1+0) non dans (50,92))
+   )
+alors erreur DD18;
+verif 5104:
+application : batch , iliad ;
+
+
+si (
+   V_BTANC = 1 et 
+   (DAGRI1 + DAGRI2 + DAGRI3 + DAGRI4 + DAGRI5 + DAGRI6 > LIM_CONTROLE + V_BTDBA) 
+   )
+alors erreur DD20;
+verif 5203:
+application : pro , iliad,batch ;
+
+si 
+   positif(
+   present ( BAFV ) 
+ + present ( BAFC ) 
+          ) = 1 
+et
+   positif(
+
+   present ( BICEXV ) + present ( BICEXC ) + present ( BICNOV ) 
+ + present ( BICNOC )  
+ + present ( BI1AV ) + present ( BI1AC ) + present ( BICDNV ) 
+ + present ( BICDNC )  
+ + present ( BIHEXV ) + present ( BIHEXC ) + present ( BIHNOV ) 
+ + present ( BIHNOC )  
+ + present ( BIHDNV ) + present ( BIHDNC ) 
+ + present ( BNCEXV ) + present ( BNCEXC ) 
+ + present ( BNCREV ) + present ( BNCREC ) + present ( BN1AV ) 
+ + present ( BN1AC ) + present ( BNCDEV ) + present ( BNCDEC ) 
+ + present ( BNHEXV ) + present ( BNHEXC ) + present ( BNHREV ) 
+ + present ( BNHREC ) + present ( BNHDEV ) + present ( BNHDEC ) 
+ + present ( LOCPROCGAV ) + present ( LOCPROCGAC ) + present ( LOCDEFPROCGAV )
+ + present ( LOCDEFPROCGAC ) + present ( LOCPROV ) + present ( LOCPROC )
+ + present ( LOCDEFPROV ) + present ( LOCDEFPROC )
+
+    ) = 1
+alors erreur DD13;
+verif 5205:
+application : pro, batch , iliad  ;
+si
+( 
+  ( (CIGARD > 0) et ( 1 - V_CNR > 0) et 
+   (positif(RDGARD1) + positif(RDGARD2) + positif(RDGARD3) 
+   + positif(RDGARD4) > ( EM7 + 0)))
+ ou
+  ( (CIGARD > 0) et ( 1 - V_CNR > 0) et 
+   (positif(RDGARD1QAR) + positif(RDGARD2QAR) + positif(RDGARD3QAR) 
+   + positif(RDGARD4QAR) > ( EM7QAR + 0)))
+)
+alors erreur DD10;
+verif 5500:
+application : pro , oceans , iliad , batch;
+si
+(
+     (  (V_NOTRAIT+0 < 20)
+	et
+	((NRBASE  >= 0 ou NRINET  >= 0)
+        et 
+        ( V_REGCO !=3)))
+   ou
+      ( (V_NOTRAIT+0 > 20)
+        et
+	((NRBASE  > 0 ou NRINET  > 0)
+        et
+        ( V_REGCO !=3)))
+
+)
+alors erreur A085;
+verif 5502:
+application : pro , iliad   , batch , oceans;
+si
+(
+((V_NOTRAIT+0 < 20)
+et
+(V_CNR + 0 = 1 et IND_TDR >= 0) 
+)
+ou
+( (V_NOTRAIT+0 > 20)
+et
+(V_CNR + 0 = 1 et IND_TDR > 0))
+)
+alors erreur A087;
+verif 5510:
+application : pro , oceans , iliad , batch  ;
+si
+(
+RG + 2 < PRODOM + PROGUY
+)
+alors erreur A800;
+verif 5600:
+application : pro , iliad , batch , oceans ;
+si
+(
+max(0 , IRB + TAXASSUR + IPCAPTAXT + IHAUTREVT + PTOTD  
+	    - IAVT - RCMAVFT - CICA - I2DH - CICORSE - CIRECH - CICULTUR 
+	    - CREREVET - CIDONENTR ) < IRANT
+)
+alors erreur A875;
+verif 5700:
+application : pro , iliad , batch  ;
+si
+     (
+       CSGIM > CSG 
+     )
+alors erreur A873;
+verif corrective 5701:
+application :  iliad ;
+si
+    (
+      present (CSGIM) = 1 et (V_NOTRAIT > 20)
+    )
+alors erreur A852;
+verif 5710:
+application : pro , oceans , iliad , batch  ;
+si
+( 
+  V_IND_TRAIT + 0 > 0
+  et
+  PRSPROV > PRS
+)
+alors erreur A872;
+verif corrective 57101:
+application :  iliad ;
+si
+    (
+      present (PRSPROV) = 1 et (V_NOTRAIT > 20)
+    )
+alors erreur A853 ;
+verif corrective 5711:
+application :  iliad ;
+si
+    (
+      present (CSALPROV) = 1 et (V_NOTRAIT > 20)
+    )
+alors erreur A854 ;
+verif corrective 57115:
+application :  iliad ;
+si
+    (
+      present (CDISPROV) = 1 et (V_NOTRAIT > 20)
+    )
+alors erreur A855 ;
+verif corrective 8630:
+application :  iliad ;
+si
+  positif(AUTOVERSSUP + 0) = 1
+  et
+  positif(AUTOBICVV + AUTOBICPV + AUTOBNCV 
+	  + AUTOBICVC + AUTOBICPC + AUTOBNCC
+	  + AUTOBICVP + AUTOBICPP + AUTOBNCP
+          + 0) = 0
+
+alors erreur A863 ;
+verif 5712:
+application :  batch , iliad, pro, oceans ;
+si
+    (
+     CRDSIM > RDSN 
+    )
+alors erreur A871;
+verif 57120:
+application :  batch , iliad, pro, oceans ;
+si
+    V_IND_TRAIT + 0 > 0
+    et
+    (CDISPROV + 0 > CDIS + 0
+     ou
+     (positif(CDISPROV + 0) = 1 et positif(GSALV + GSALC + 0) = 0))
+
+alors erreur A868 ;
+verif 57121:
+application :  batch , iliad, pro, oceans ;
+si
+    V_IND_TRAIT + 0 > 0
+    et
+    (
+     (CSALPROV + 0 > CGAINSAL + CSAL + 0)
+     ou
+     (positif(CSALPROV + 0) = 1 et present(BPVOPTCS) = 0 et present(GAINSAL) = 0)
+    )
+alors erreur A869 ;
+verif corrective 5713:
+application :  iliad ;
+si
+    (
+     (V_NOTRAIT > 20) et positif(CRDSIM)=1
+    )
+alors erreur A851;
+verif corrective 57131:
+application :  iliad ;
+si
+    (
+     (V_NOTRAIT > 20) et positif(IRANT)=1
+    )
+alors erreur A850;
+verif 5714:
+application :  batch , oceans , iliad, pro ;
+si
+    (
+	positif(DCSGIM)=1 et positif(CSGIM+0)!=1
+    )
+alors erreur A870;
diff --git a/sources2011m_9_6/coc7.m b/sources2011m_9_6/coc7.m
new file mode 100644
index 0000000000000000000000000000000000000000..9baabfa59ed078356ca6b6712f45863aaaaf7d3f
--- /dev/null
+++ b/sources2011m_9_6/coc7.m
@@ -0,0 +1,385 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 7310:
+application : pro , oceans , iliad , batch  ;
+si
+	  ( present(CMAJ)=1 et present(MOISAN)=0 )
+	  ou
+	  ( present(CMAJ2)=1 et present(MOISAN2)=0 )
+          
+alors erreur A96201;
+verif 7311:
+application : pro , oceans , iliad , batch  ;
+si
+	  (  present(CMAJ)=0 et present(MOISAN)=1)
+	  ou
+	  (  present(CMAJ2)=0 et present(MOISAN2)=1)
+          
+alors erreur A96202;
+verif isf 73101:
+application : pro , oceans , iliad , batch  ;
+si
+	  ( present(CMAJ_ISF)=1 et present(MOISAN_ISF)=0 )
+          
+alors erreur A96203;
+verif isf 73111:
+application : pro , oceans , iliad , batch  ;
+si
+	  (  present(CMAJ_ISF)=0 et present(MOISAN_ISF)=1)
+          
+alors erreur A96204;
+verif 7314:
+application : oceans , iliad , batch ;
+si
+	( 
+	CMAJ != 7 et ( APPLI_BATCH  = 1
+                    ou APPLI_OCEANS = 1
+                    ou (APPLI_ILIAD = 1 et
+                          non ( V_CALCULIR+0=1
+                               ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56)
+                              )
+                        )
+	             )
+	)
+	ou
+	( 
+	CMAJ2 != 7 et CMAJ2 != 0 et ( APPLI_BATCH  = 1
+                    ou APPLI_OCEANS = 1
+                    ou (APPLI_ILIAD = 1 et
+                          non ( V_CALCULIR+0=1
+                               ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56)
+                              )
+                        )
+	             )
+	)
+alors erreur A96101;
+verif 73141:
+application : pro , oceans , iliad ;
+si
+       (
+       CMAJ non dans ( 7..8 ) et CMAJ non dans (10..11) et CMAJ non dans (17..18)  
+     et (  (APPLI_ILIAD=1 et
+                   ( V_CALCULIR+0=1 ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56))
+           )
+           ou APPLI_PRO  =1)
+       )
+       ou
+       (
+       CMAJ2 non dans ( 7..8 ) et CMAJ2 non dans (10..11) et CMAJ2 non dans (17..18) et CMAJ2 != 0
+     et (  (APPLI_ILIAD=1 et
+                   ( V_CALCULIR+0=1 ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56))
+           )
+           ou APPLI_PRO  =1)
+       )
+alors erreur A96103;
+verif isf 731412:
+application : pro , iliad ;
+si
+       (
+       CMAJ_ISF non dans ( 7..8 ) et CMAJ_ISF non dans ( 17..18 ) 
+        et (  (APPLI_ILIAD=1 et
+                   ( V_CALCULIR+0=1 ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56))
+              )
+             ou APPLI_PRO  =1
+	   )
+       )
+alors erreur A96104;
+verif isf 73143:
+application : iliad , batch ;
+si
+	( 
+	(ISFBASE >= 0) 
+		et
+		(CMAJ != 0
+			et ( APPLI_BATCH  = 1
+                        ou (APPLI_ILIAD = 1 et
+                             non ( V_CALCULIR+0=1
+                                 ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56)
+                                 )
+                           ))
+	           )
+	)
+alors erreur A96102;
+
+verif 73641:
+application : pro , oceans , iliad , batch  ;
+si
+	(
+       ((inf( DATDEPETR/1000000 ) non dans (01..31)) et V_IND_TRAIT+0 = 4)
+ou
+       ((inf( DATDEPETR/1000000 ) non dans (01..31)) et V_IND_TRAIT = 5 et DATDEPETR != 0)
+	) 
+alors erreur A96401;
+verif 73642:
+application : pro , oceans , iliad , batch  ;
+si
+	(
+       ((inf( (DATDEPETR/1000000 - inf(DATDEPETR/1000000))*100 ) non dans (01..12)) et (V_IND_TRAIT+0= 4))
+ou
+       ((inf( (DATDEPETR/1000000 - inf(DATDEPETR/1000000))*100 ) non dans (01..12)) 
+		et V_IND_TRAIT = 5 et DATDEPETR != 0)
+	) 
+alors erreur A96402;
+verif 736431:
+application : pro, oceans , iliad , batch ;
+si (
+ ((arr( (DATDEPETR/10000 - inf(DATDEPETR/10000))*10000 ) != V_ANREV) et V_IND_TRAIT+0 = 4)
+ou
+ ((arr( (DATDEPETR/10000 - inf(DATDEPETR/10000))*10000 ) != V_ANREV) 
+		et V_IND_TRAIT = 5 et DATDEPETR != 0)
+   ) 
+alors erreur A96403;
+verif 73651:
+application : pro , oceans , iliad , batch  ;
+si
+	(
+       ((inf( DATRETETR/1000000) non dans (01..31)) et V_IND_TRAIT+0 = 4)
+	ou
+       ((inf( DATRETETR/1000000) non dans (01..31)) et V_IND_TRAIT = 5 et DATRETETR != 0)
+	) 
+alors erreur A96501;
+verif 73652:
+application : pro , oceans , iliad , batch  ;
+si
+	(
+       ((inf( (DATRETETR/1000000 - inf(DATRETETR/1000000))*100 ) non dans (01..12)) et V_IND_TRAIT+0 = 4)
+	ou
+       ((inf( (DATRETETR/1000000 - inf(DATRETETR/1000000))*100 ) non dans (01..12)) 
+	et V_IND_TRAIT = 5 et DATRETETR != 0)
+	) 
+alors erreur A96502;
+verif 736531:
+application : pro, oceans , iliad , batch ;
+si (
+ ((arr( (DATRETETR/10000 - inf(DATRETETR/10000))*10000 ) != V_ANREV) et V_IND_TRAIT+0 = 4)
+ou
+ ((arr( (DATRETETR/10000 - inf(DATRETETR/10000))*10000 ) != V_ANREV) 
+            et V_IND_TRAIT = 5 et DATRETETR != 0)
+   ) 
+alors erreur A96503;
+verif 7366:
+application : pro , oceans , iliad , batch  ;
+si
+	(
+       DATDEPETR > 0 et DATRETETR > 0
+	) 
+alors erreur A966;
+verif 7315:
+application : pro , oceans , iliad , batch  ;
+si
+        (V_IND_TRAIT > 0 )
+       et
+	(
+	inf(MOISAN/10000) non dans (01..12)
+	ou
+	inf(MOISAN2/10000) non dans (00..12)
+	) 
+alors erreur A96301;
+verif 7316:
+application : oceans , iliad , batch ;
+si 
+   (
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+3
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+4
+   ) 
+   ou
+   (
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+3
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+4
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != 0
+   ) 
+alors erreur A96302;
+verif isf 73151:
+application : pro , oceans , iliad , batch  ;
+si
+        (V_NOTRAIT + 0 < 20 )
+       et
+	(
+	inf(MOISAN_ISF/10000) non dans (01..12)
+	) 
+alors erreur A96303;
+verif isf 73161:
+application : iliad , batch ;
+si 
+   (
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+3
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+4
+   ) 
+
+alors erreur A96304;
+verif 7317:
+application : pro ;
+si (
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+3
+   ) 
+alors erreur A96302;
+verif isf 73171:
+application : pro ;
+si (
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+3
+   )
+alors erreur A96304 ;
+verif 7332:
+application : pro , oceans , iliad , batch ;
+si
+  (
+  V_IND_TRAIT > 0
+  et
+  LOYIMP > 99999
+  )
+alors erreur A00106 ;
+verif 7441:
+application :  iliad ;
+
+si 
+   (
+   positif ( ANNUL2042 ) + INDAUTREQUE9YA > 1
+   )
+alors erreur A99301;
+verif 600:
+application :  iliad, batch, pro ;
+
+si 
+   positif(PERPIMPATRIE+0) != 1 et
+   V_REGCO+0 != 2 et V_REGCO+0 != 4 et V_CNR+0 != 1 et
+   (
+   (positif(PERP_COTV+0) > 0 et 
+    present(PERPPLAFCV)*present(PERPPLAFNUV1)*present(PERPPLAFNUV2)*present(PERPPLAFNUV3) = 0)
+    ou
+   (positif(PERP_COTC+0) > 0 et 
+    present(PERPPLAFCC)*present(PERPPLAFNUC1)*present(PERPPLAFNUC2)*present(PERPPLAFNUC3) = 0)
+    ou
+   (positif(PERP_COTP+0) > 0 et 
+    present(PERPPLAFCP)*present(PERPPLAFNUP1)*present(PERPPLAFNUP2)*present(PERPPLAFNUP3) = 0)
+   )
+alors erreur A600;
+verif 601:
+application :  iliad, batch, pro ;
+
+si (V_IND_TRAIT > 0) et positif(PERPIMPATRIE+0) != 1 
+   et
+   (
+   PERPPLAFCV > LIM_PERPMAXBT ou PERPPLAFCC > LIM_PERPMAXBT
+   )
+alors erreur A601;
+verif 602:
+application :  iliad, batch, pro ;
+
+si 
+   (
+    (positif(RACCOTV+0) > 0 et positif(PERP_COTV+0) = 0)
+    ou
+    (positif(RACCOTC+0) > 0 et positif(PERP_COTC+0) = 0)
+    ou
+    (positif(RACCOTP+0) > 0 et positif(PERP_COTP+0) = 0)
+   )
+alors erreur A602;
+verif 603:
+application :  iliad, batch ;
+
+si
+   positif(PERPIMPATRIE+0) != 1 et positif(V_CALCULIR+0)=0
+   et
+  (
+  (positif(PLAF_PERPV+0) = 1 et  
+	    (present(PERPPLAFCV) = 0 et present(PERPPLAFNUV1) = 0
+	     et present(PERPPLAFNUV2) = 0 et present(PERPPLAFNUV3) = 0 ))
+  ou
+  (positif(PLAF_PERPC+0) = 1 et  
+	    (present(PERPPLAFCC) = 0 et present(PERPPLAFNUC1) = 0
+	     et present(PERPPLAFNUC2) = 0 et present(PERPPLAFNUC3) = 0 ))
+  ou
+  (positif(PLAF_PERPP+0) = 1 et  
+	    (present(PERPPLAFCP) = 0 et present(PERPPLAFNUP1) = 0
+	     et present(PERPPLAFNUP2) = 0 et present(PERPPLAFNUP3) = 0 ))
+  ou
+  (positif(PLAF_PERPV+0) = 1 
+		 et (PERPPLAFCV+PERPPLAFNUV1+PERPPLAFNUV2+PERPPLAFNUV3 = 
+		      V_BTPERPV+V_BTPERPNUV1+V_BTPERPNUV2+V_BTPERPNUV3) )
+  ou
+  (positif(PLAF_PERPC+0) = 1 
+		 et (PERPPLAFCC+PERPPLAFNUC1+PERPPLAFNUC2+PERPPLAFNUC3 = 
+		      V_BTPERPC+V_BTPERPNUC1+V_BTPERPNUC2+V_BTPERPNUC3) )
+  ou
+  (positif(PLAF_PERPP+0) = 1 
+		 et (PERPPLAFCP+PERPPLAFNUP1+PERPPLAFNUP2+PERPPLAFNUP3 = 
+		      V_BTPERPP+V_BTPERPNUP1+V_BTPERPNUP2+V_BTPERPNUP3) )
+  )
+alors erreur A603;
+verif 604:
+application :  iliad, batch, pro ;
+
+si positif(PERPMUTU) = 1 et (V_0AM + V_0AO = 1) et ((V_REGCO+0) dans (1,3,5,6))
+	et positif(PERPIMPATRIE+0) = 0
+	et (present(PERPPLAFCV) = 0 ou present(PERPPLAFNUV1) = 0
+	ou present(PERPPLAFNUV2) = 0 ou present(PERPPLAFNUV3) = 0
+	ou present(PERPPLAFCC) = 0 ou present(PERPPLAFNUC1) = 0
+	ou present(PERPPLAFNUC2) = 0 ou present(PERPPLAFNUC3) =0)
+
+alors erreur A604;
+verif 6051:
+application :  iliad, batch, pro ;
+
+si
+
+   V_IND_TRAIT > 0
+   et
+   PERPV + 0 < EXOCETV + 0
+   et 
+   positif(EXOCETV + 0) = 1
+
+alors erreur A60501 ;
+verif 6052:
+application :  iliad, batch, pro ;
+
+si
+
+   V_IND_TRAIT > 0
+   et
+   PERPC + 0 < EXOCETC + 0
+   et
+   positif(EXOCETC + 0) = 1
+
+alors erreur A60502 ;
diff --git a/sources2011m_9_6/coi1.m b/sources2011m_9_6/coi1.m
new file mode 100644
index 0000000000000000000000000000000000000000..3ea40ad3efcf8297860a23116d03b087a240a39e
--- /dev/null
+++ b/sources2011m_9_6/coi1.m
@@ -0,0 +1,937 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 1005:
+application : batch, pro , iliad  ;
+si (
+    V_IND_TRAIT > 0 et
+     (
+    (RBG > 99999999)
+    ou
+    (BCSG > 99999999)
+    ou
+    (BRDS > 99999999)
+    ou
+    (BPRS > 99999999)
+    ou
+    (BPVOPTCS > 99999999)
+    ou
+    (GSALV > 99999999)
+    ou
+    (GSALC > 99999999)
+    ou
+    (GAINSAL > 99999999)
+    )
+   )
+alors erreur A00105 ;
+verif isf 1007:
+application : batch, pro , iliad  ;
+si (
+    V_IND_TRAIT > 0 et
+     (
+    (ISFDONEURO > 99999999)
+    ou
+    (ISFDONS > 99999999)
+    ou
+    (ISFETRANG > 99999999)
+    ou
+    (ISFFCPI > 99999999)
+    ou
+    (ISFFIP > 99999999)
+    ou
+    (ISFPMEDI > 99999999)
+    ou
+    (ISFPMEIN > 99999999)
+    ou
+    (ISFBASE > 99999999)
+     )
+   )
+alors erreur A00107;
+verif non_auto_cc 1101:
+application : pro , oceans ,  iliad , batch ;
+si
+(
+  RCMAVFT > PLAF_AF 
+  et
+  positif(RCMABD + REVACT + REVACTNB + RCMHAD + DISQUO + DISQUONB + RCMHAB + INTERE + INTERENB + 0) = 0
+)
+alors erreur A21801 ;
+verif non_auto_cc 1102:
+application : pro , oceans ,  iliad , batch ;
+si
+(
+  DIREPARGNE > PLAF_AF
+  et
+  (PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + DISQUONB + INTERE + INTERENB + 0 = 0)
+)
+alors erreur A21802;
+verif 1103:
+application :  pro , iliad , batch;
+si
+( (1 - V_CNR > 0) et V_REGCO+0 != 2 et V_REGCO+0 != 4 et 
+(
+   (
+    RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE + 0 > 0
+    et 
+    RCMAVFT > ((1/3) * (RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE)) +  PLAF_AF
+   )
+ ou
+   (
+     DIREPARGNE > ((PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE) * (18/100)) + PLAF_AF
+     et
+     PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE + 0 > 0
+   )
+)
+)
+alors erreur DD04;
+verif 1104:
+application : pro , iliad , batch ;
+si
+(
+  (1 - V_CNR + 0 > 0) et  
+  (
+  RCMFR > LIM_CONTROLE  et 
+   (
+    (RCMFR > 0.30 * ( RCMABD + RCMHAD + REVACT + DISQUO + 0 ))
+    ou
+    ((RCMABD + RCMHAD + REVACT + DISQUO + 0 = 0) et
+     (RCMTNC + RCMAV + RCMHAB + REGPRIV + REVPEA + PROVIE + RESTUC + INTERE + 0 > 0))
+   )
+  )
+)
+alors erreur DD03;
+verif  1106:
+application : batch, iliad, pro, oceans ;
+si
+   (
+   RCMSOC > RCMAV + PROVIE 
+          + RCMHAD + DISQUO 
+          + RCMHAB + INTERE  
+          + RCMABD + REVACT 
+	  + 1
+
+   )
+alors erreur A222;
+verif 1108:
+application : iliad ;
+si
+(
+        (V_IND_TRAIT+0=4 et V_NOTRAIT+0<14) 
+         et
+	 (
+	(RCMAVFT > PLAF_AF
+             et 
+	( RCMABD+RCMHAD+RCMHAB > 0)
+             et
+	RCMAVFT > ( arr ( 40 * ( RCMABD+RCMHAD+RCMHAB
+	) / 100))
+        )
+	ou
+	(DIREPARGNE > PLAF_AF
+	et
+	( PPLIB + RCMLIB + RCMHAD + RCMHAB > 0)
+	et
+	DIREPARGNE > ( arr ( 20 * (PPLIB + RCMLIB + RCMHAD + RCMHAB 
+					 )/100))
+	)
+)
+)
+alors erreur IM1501;
+verif 1109:
+application : iliad ;
+si
+(
+       (V_NOTRAIT+0 >=14) et
+       (
+	(RCMAVFT > PLAF_AF et RCMAVFT <= PLAF_AF2
+             et 
+	( RCMABD+RCMHAD+RCMHAB > 0)
+             et
+	RCMAVFT > ( arr ( 40 * ( RCMABD+RCMHAD+RCMHAB
+	) / 100))
+        )
+	ou
+	(DIREPARGNE > PLAF_AF et DIREPARGNE <= PLAF_AF2
+	et
+	( PPLIB + RCMLIB + RCMHAD + RCMHAB > 0)
+	et
+         DIREPARGNE > (arr (20*(PPLIB + RCMLIB + RCMHAD + RCMHAB 
+				      )/100))
+	)
+)
+)
+alors erreur IM1502;
+verif 11220:
+application : batch ;
+si
+(
+       (V_NOTRAIT+0=10)
+       et
+       (
+	(RCMAVFT > PLAF_AF2
+             et 
+	( RCMABD+RCMHAD+RCMHAB+REVACT+DISQUO+INTERE > 0)
+             et
+	RCMAVFT > ( arr ( 40 * ( RCMABD+RCMHAD+RCMHAB+REVACT+DISQUO+INTERE ) / 100)))
+	ou
+	( DIREPARGNE > PLAF_AF2
+	  et
+	  RCMHAD > 0
+	  et
+	  DIREPARGNE > ( arr( 20*(PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE )/100 ))
+	)
+      )
+)
+alors erreur A220;
+verif 11221:
+application : iliad ;
+si
+(
+        ((V_IND_TRAIT+0=5 et V_NOTRAIT+0>14) ou V_NOTRAIT+0=14)
+	et
+	(
+	(RCMAVFT > PLAF_AF2
+             et 
+	( RCMABD+RCMHAD+RCMHAB+REVACT+DISQUO+INTERE > 0)
+             et
+	RCMAVFT > ( arr ( 40 * ( RCMABD+RCMHAD+RCMHAB+REVACT+DISQUO+INTERE ) / 100)))
+	ou
+	( DIREPARGNE > PLAF_AF2
+	  et
+	  PPLIB + RCMLIB + RCMHAD > 0
+	  et
+	  DIREPARGNE > ( arr( 20*(PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE )/100 ))
+	)
+)
+)
+alors erreur A220;
+verif 1200:
+application : pro ,  oceans , batch ,iliad;
+si
+    (
+        (  V_0CF + V_0CR + V_0CH + V_0CI + V_0DJ + V_0DN +V_0DP +0  = 0 )
+      et 
+        (SOMMEA030 > 0)
+      )
+alors erreur A030;
+verif 12718:
+application : pro , oceans , batch , iliad ;
+si
+    (
+       ( CIAQCUL > 0 )
+      et 
+       ( SOMMEA718 =0 )
+    )
+alors erreur A718;
+verif 12719:
+application : pro , oceans , batch , iliad ;
+si
+    (
+       ( RDMECENAT > 0 )
+      et 
+       ( SOMMEA719 =0 )
+    )
+alors erreur A719;
+verif 1202:
+application : pro , oceans , batch , iliad ;
+si
+    (
+       ( V_0AC + V_0AD + 0 > 0 )
+      et 
+      ( SOMMEA031 >0 )
+    )
+alors erreur A031;
+verif 1210:
+application : pro , oceans , iliad , batch;
+si
+  (
+      V_IND_TRAIT > 0
+      et
+      positif(TREVEX) = 1
+      et 
+      SOMMEA805 = 0
+  )
+alors erreur A805;
+verif 1215:
+application : pro , oceans , iliad , batch ;
+
+si
+   (V_IND_TRAIT > 0 )
+   et
+   present(BASRET) + present(IMPRET) = 1
+
+alors erreur A821 ;
+verif 12220:
+application : pro , oceans , iliad , batch ;
+
+si 
+  ((V_IND_TRAIT = 4 )
+   et
+   (
+    REVACTNB < 2 ou REVACTNB > 20
+    ou
+    REVPEANB < 2 ou REVPEANB > 20
+    ou
+    PROVIENB < 2 ou PROVIENB > 20
+    ou
+    DISQUONB < 2 ou DISQUONB > 20
+    ou
+    RESTUCNB < 2 ou RESTUCNB > 20
+    ou
+    INTERENB < 2 ou INTERENB > 20
+   )
+  )
+  ou
+  ((V_IND_TRAIT = 5 )
+   et
+   (
+    REVACTNB = 1 ou REVACTNB > 20
+    ou
+    REVPEANB = 1 ou REVPEANB > 20
+    ou
+    PROVIENB = 1 ou PROVIENB > 20
+    ou
+    DISQUONB = 1 ou DISQUONB > 20
+    ou
+    RESTUCNB = 1 ou RESTUCNB > 20
+    ou
+    INTERENB = 1 ou INTERENB > 20
+   )
+  )
+alors erreur A22301 ;
+verif 12221:
+application : pro , oceans , iliad , batch ;
+
+si 
+   (V_IND_TRAIT = 4 
+    et
+    (
+     present(REVACT) + present(REVACTNB) = 1
+     ou
+     present(REVPEA) + present(REVPEANB) = 1
+     ou
+     present(PROVIE) + present(PROVIENB) = 1
+     ou
+     present(DISQUO) + present(DISQUONB) = 1
+     ou 
+     present(RESTUC) + present(RESTUCNB) = 1
+     ou
+     present(INTERE) + present(INTERENB) = 1
+    )
+   )
+   ou
+   (V_IND_TRAIT = 5 
+    et
+    (
+     positif(REVACT) + positif(REVACTNB) = 1
+     ou
+     positif(REVPEA) + positif(REVPEANB) = 1
+     ou
+     positif(PROVIE) + positif(PROVIENB) = 1
+     ou
+     positif(DISQUO) + positif(DISQUONB) = 1
+     ou 
+     positif(RESTUC) + positif(RESTUCNB) = 1
+     ou
+     positif(INTERE) + positif(INTERENB) = 1
+    )
+   )
+alors erreur A22302 ;
+verif 12222:
+application : pro , oceans , iliad , batch ;
+
+si 
+   ((V_IND_TRAIT = 4 )
+     et
+    (FONCINB < 2 ou FONCINB > 30))
+   ou
+   ((V_IND_TRAIT = 5 )
+     et
+    (FONCINB = 1 ou FONCINB > 30))
+
+alors erreur A42501 ;
+verif 12223:
+application : pro , oceans , iliad , batch ;
+
+si 
+   (V_IND_TRAIT = 4 
+    et
+    present(FONCI) + present(FONCINB) = 1)
+  ou
+   (V_IND_TRAIT = 5 
+    et
+    positif(FONCI) + positif(FONCINB) = 1)
+
+alors erreur A42502 ;
+verif 12224:
+application : pro , oceans , iliad , batch ;
+
+si 
+  ((V_IND_TRAIT = 4 )
+    et
+   (REAMORNB < 2 ou REAMORNB > 14))
+  ou
+  ((V_IND_TRAIT = 5 )
+    et
+   (REAMORNB = 1 ou REAMORNB > 14))
+
+alors erreur A42601 ;
+verif 12225:
+application : pro , oceans , iliad , batch ;
+
+si 
+   (V_IND_TRAIT = 4 
+    et
+    present(REAMOR) + present(REAMORNB) = 1)
+  ou
+   (V_IND_TRAIT = 5 
+    et
+    positif(REAMOR) + positif(REAMORNB) = 1)
+
+alors erreur A42602 ;
+verif 1222:
+application : pro , oceans , iliad  , batch;
+si
+   ((V_IND_TRAIT = 4 )
+     et
+    (
+     CARTSNBAV < 2 ou CARTSNBAV > 45
+     ou
+     CARTSNBAC < 2 ou CARTSNBAC > 45
+     ou 
+     CARTSNBAP1 < 2 ou CARTSNBAP1 > 45
+     ou
+     CARTSNBAP2 < 2 ou CARTSNBAP2 > 45
+     ou
+     CARTSNBAP3 < 2 ou CARTSNBAP3 > 45
+     ou
+     CARTSNBAP4 < 2 ou CARTSNBAP4 > 45
+     ou
+     REMPLANBV < 2 ou REMPLANBV > 45
+     ou
+     REMPLANBC < 2 ou REMPLANBC > 45
+     ou
+     REMPLANBP1 < 2 ou REMPLANBP1 > 45
+     ou
+     REMPLANBP2 < 2 ou REMPLANBP2 > 45
+     ou
+     REMPLANBP3 < 2 ou REMPLANBP3 > 45
+     ou
+     REMPLANBP4 < 2 ou REMPLANBP4 > 45
+    )
+   )
+   ou
+   ((V_IND_TRAIT = 5 )
+     et
+    (
+     CARTSNBAV = 1 ou CARTSNBAV > 45
+     ou
+     CARTSNBAC = 1 ou CARTSNBAC > 45
+     ou 
+     CARTSNBAP1 = 1 ou CARTSNBAP1 > 45
+     ou
+     CARTSNBAP2 = 1 ou CARTSNBAP2 > 45
+     ou
+     CARTSNBAP3 = 1 ou CARTSNBAP3 > 45
+     ou
+     CARTSNBAP4 = 1 ou CARTSNBAP4 > 45
+     ou
+     REMPLANBV = 1 ou REMPLANBV > 45
+     ou
+     REMPLANBC = 1 ou REMPLANBC > 45
+     ou
+     REMPLANBP1 = 1 ou REMPLANBP1 > 45
+     ou
+     REMPLANBP2 = 1 ou REMPLANBP2 > 45
+     ou
+     REMPLANBP3 = 1 ou REMPLANBP3 > 45
+     ou
+     REMPLANBP4 = 1 ou REMPLANBP4 > 45
+    )
+   )
+alors erreur A14001 ;
+verif 1223:
+application : pro , oceans , iliad  , batch;
+si
+   ((V_IND_TRAIT = 4 )
+     et
+    (
+     CARPENBAV < 2 ou CARPENBAV > 45
+     ou
+     CARPENBAC < 2 ou CARPENBAC > 45
+     ou
+     CARPENBAP1 < 2 ou CARPENBAP1 > 45
+     ou
+     CARPENBAP2 < 2 ou CARPENBAP2 > 45
+     ou
+     CARPENBAP3 < 2 ou CARPENBAP3 > 45
+     ou
+     CARPENBAP4 < 2 ou CARPENBAP4 > 45
+     ou
+     PENSALNBV < 2 ou PENSALNBV > 45
+     ou
+     PENSALNBC < 2 ou PENSALNBC > 45
+     ou
+     PENSALNBP1 < 2 ou PENSALNBP1 > 45
+     ou
+     PENSALNBP2 < 2 ou PENSALNBP2 > 45
+     ou
+     PENSALNBP3 < 2 ou PENSALNBP3 > 45
+     ou
+     PENSALNBP4 < 2 ou PENSALNBP4 > 45
+     ou
+     RENTAXNB < 2 ou RENTAXNB > 45
+     ou
+     RENTAXNB5 < 2 ou RENTAXNB5 > 45
+     ou
+     RENTAXNB6 < 2 ou RENTAXNB6 > 45
+     ou
+     RENTAXNB7 < 2 ou RENTAXNB7 > 45
+    )
+   )
+   ou
+   ((V_IND_TRAIT = 5 )
+     et
+    (
+     CARPENBAV = 1 ou CARPENBAV > 45
+     ou
+     CARPENBAC = 1 ou CARPENBAC > 45
+     ou
+     CARPENBAP1 = 1 ou CARPENBAP1 > 45
+     ou
+     CARPENBAP2 = 1 ou CARPENBAP2 > 45
+     ou
+     CARPENBAP3 = 1 ou CARPENBAP3 > 45
+     ou
+     CARPENBAP4 = 1 ou CARPENBAP4 > 45
+     ou
+     PENSALNBV = 1 ou PENSALNBV > 45
+     ou
+     PENSALNBC = 1 ou PENSALNBC > 45
+     ou
+     PENSALNBP1 = 1 ou PENSALNBP1 > 45
+     ou
+     PENSALNBP2 = 1 ou PENSALNBP2 > 45
+     ou
+     PENSALNBP3 = 1 ou PENSALNBP3 > 45
+     ou
+     PENSALNBP4 = 1 ou PENSALNBP4 > 45
+     ou
+     RENTAXNB = 1 ou RENTAXNB > 45
+     ou
+     RENTAXNB5 = 1 ou RENTAXNB5 > 45
+     ou
+     RENTAXNB6 = 1 ou RENTAXNB6 > 45
+     ou
+     RENTAXNB7 = 1 ou RENTAXNB7 > 45
+    )
+   )
+alors erreur A13901;
+verif 1224:
+application : pro , oceans , iliad  , batch;
+si
+  (V_IND_TRAIT = 4
+    et
+    (
+     (present(CARTSV) + present(CARTSNBAV) = 1)
+     ou
+     (present(CARTSC) + present(CARTSNBAC) = 1)
+     ou
+     (present(CARTSP1) + present(CARTSNBAP1) = 1)
+     ou
+     (present(CARTSP2) + present(CARTSNBAP2) = 1)
+     ou
+     (present(CARTSP3) + present(CARTSNBAP3) = 1)
+     ou
+     (present(CARTSP4) + present(CARTSNBAP4) = 1)
+     ou
+     (present(REMPLAV) + present(REMPLANBV) = 1)
+     ou
+     (present(REMPLAC) + present(REMPLANBC) = 1)
+     ou
+     (present(REMPLAP1) + present(REMPLANBP1) = 1)
+     ou
+     (present(REMPLAP2) + present(REMPLANBP2) = 1)
+     ou
+     (present(REMPLAP3) + present(REMPLANBP3) = 1)
+     ou
+     (present(REMPLAP4) + present(REMPLANBP4) = 1)
+    )
+  )
+  ou
+  (V_IND_TRAIT = 5
+    et
+    (
+     (positif(CARTSV) + positif(CARTSNBAV) = 1)
+     ou
+     (positif(CARTSC) + positif(CARTSNBAC) = 1)
+     ou
+     (positif(CARTSP1) + positif(CARTSNBAP1) = 1)
+     ou
+     (positif(CARTSP2) + positif(CARTSNBAP2) = 1)
+     ou
+     (positif(CARTSP3) + positif(CARTSNBAP3) = 1)
+     ou
+     (positif(CARTSP4) + positif(CARTSNBAP4) = 1)
+     ou
+     (positif(REMPLAV) + positif(REMPLANBV) = 1)
+     ou
+     (positif(REMPLAC) + positif(REMPLANBC) = 1)
+     ou
+     (positif(REMPLAP1) + positif(REMPLANBP1) = 1)
+     ou
+     (positif(REMPLAP2) + positif(REMPLANBP2) = 1)
+     ou
+     (positif(REMPLAP3) + positif(REMPLANBP3) = 1)
+     ou
+     (positif(REMPLAP4) + positif(REMPLANBP4) = 1)
+    )
+  )
+alors erreur A14002;
+verif 1225:
+application : pro , oceans , iliad  , batch;
+si
+  (V_IND_TRAIT = 4
+    et
+    (
+     (present(CARPEV) + present(CARPENBAV) = 1)
+     ou
+     (present(CARPEC) + present(CARPENBAC) = 1)
+     ou
+     (present(CARPEP1) + present(CARPENBAP1) = 1)
+     ou
+     (present(CARPEP2) + present(CARPENBAP2) = 1)
+     ou
+     (present(CARPEP3) + present(CARPENBAP3) = 1)
+     ou
+     (present(CARPEP4) + present(CARPENBAP4) = 1)
+     ou
+     (present(PENSALV) + present(PENSALNBV) = 1)
+     ou
+     (present(PENSALC) + present(PENSALNBC) = 1)
+     ou
+     (present(PENSALP1) + present(PENSALNBP1) = 1)
+     ou
+     (present(PENSALP2) + present(PENSALNBP2) = 1)
+     ou
+     (present(PENSALP3) + present(PENSALNBP3) = 1)
+     ou
+     (present(PENSALP4) + present(PENSALNBP4) = 1)
+     ou
+     (present(RENTAX) + present(RENTAXNB) = 1)
+     ou
+     (present(RENTAX5) + present(RENTAXNB5) = 1)
+     ou
+     (present(RENTAX6) + present(RENTAXNB6) = 1)
+     ou
+     (present(RENTAX7) + present(RENTAXNB7) = 1)
+    )
+  )
+  ou
+  (V_IND_TRAIT = 5
+    et
+    (
+     (positif(CARPEV) + positif(CARPENBAV) = 1)
+     ou
+     (positif(CARPEC) + positif(CARPENBAC) = 1)
+     ou
+     (positif(CARPEP1) + positif(CARPENBAP1) = 1)
+     ou
+     (positif(CARPEP2) + positif(CARPENBAP2) = 1)
+     ou
+     (positif(CARPEP3) + positif(CARPENBAP3) = 1)
+     ou
+     (positif(CARPEP4) + positif(CARPENBAP4) = 1)
+     ou
+     (positif(PENSALV) + positif(PENSALNBV) = 1)
+     ou
+     (positif(PENSALC) + positif(PENSALNBC) = 1)
+     ou
+     (positif(PENSALP1) + positif(PENSALNBP1) = 1)
+     ou
+     (positif(PENSALP2) + positif(PENSALNBP2) = 1)
+     ou
+     (positif(PENSALP3) + positif(PENSALNBP3) = 1)
+     ou
+     (positif(PENSALP4) + positif(PENSALNBP4) = 1)
+     ou
+     (positif(RENTAX) + positif(RENTAXNB) = 1)
+     ou
+     (positif(RENTAX5) + positif(RENTAXNB5) = 1)
+     ou
+     (positif(RENTAX6) + positif(RENTAXNB6) = 1)
+     ou
+     (positif(RENTAX7) + positif(RENTAXNB7) = 1)
+    )
+  )
+alors erreur A13902;
+verif 1220:
+application : pro , oceans , iliad  , batch;
+si
+        (V_IND_TRAIT > 0 )
+       et
+    (
+     COTFV + 0 > 25
+     ou
+     COTFC + 0 > 25
+     ou
+     COTF1 + 0 > 25
+     ou
+     COTF2 + 0 > 25
+     ou
+     COTF3 + 0 > 25
+     ou
+     COTF4 + 0 > 25
+     )
+alors erreur A14101;
+verif 1221:
+application : pro , oceans , iliad  , batch;
+si
+    (
+     (present(PEBFV)= 1 et present(COTFV)=0)
+     ou
+     (present(PEBFC)= 1 et present(COTFC)=0)
+     ou
+     (present(PEBF1)= 1 et present(COTF1)=0)
+     ou
+     (present(PEBF2)= 1 et present(COTF2)=0)
+     ou
+     (present(PEBF3)= 1 et present(COTF3)=0)
+     ou
+     (present(PEBF4)= 1 et present(COTF4)=0)
+     ou
+     (present(COTFV)= 1 et present(PEBFV)=0)
+     ou
+     (present(COTFC)= 1 et present(PEBFC)=0)
+     ou
+     (present(COTF1)= 1 et present(PEBF1)=0)
+     ou
+     (present(COTF2)= 1 et present(PEBF2)=0)
+     ou
+     (present(COTF3)= 1 et present(PEBF3)=0)
+     ou
+     (present(COTF4)= 1 et present(PEBF4)=0)
+     )
+alors erreur A14102;
+verif 1301:
+application : iliad ;
+si
+        (V_IND_TRAIT > 0 )
+       et
+     (
+      BAFV > PLAF_FORFBA  ou  BAFC > PLAF_FORFBA  ou  BAFP > PLAF_FORFBA
+     )
+alors erreur IM02;
+verif 1312:
+application : batch ,iliad;
+si ( (positif_ou_nul(NAPT) = 0) 
+     et ( (V_BTNATIMP+0) dans (1,11,71,81) )
+     et ( 
+	 (positif(V_FORVA+0)=1) 
+	ou
+	 (positif(V_FORCA+0)=1) 
+	ou
+	 (positif(V_FORPA+0)=1)
+        )
+   )
+alors erreur A534;
+verif 1330:
+application : batch , iliad , pro ;
+si                                                                         
+  pour un i dans V,C,P: 
+  (
+   (MIBVENi + MIBNPVENi + MIBGITEi > LIM_MIBVEN)
+   ou  
+   (MIBPRESi + MIBNPPRESi + MIBMEUi > LIM_MIBPRES)
+   ou 
+   (MIBVENi + MIBNPVENi + MIBGITEi + MIBPRESi + MIBNPPRESi + MIBMEUi <= LIM_MIBVEN 
+    et 
+    MIBPRESi + MIBNPPRESi + MIBMEUi > LIM_MIBPRES)
+   ou 
+   (MIBVENi + MIBNPVENi + MIBGITEi + MIBPRESi + MIBNPPRESi + MIBMEUi > LIM_MIBVEN)
+   ou 
+   (BNCPROi + BNCNPi > LIM_SPEBNC)
+  )
+
+alors erreur DD08 ;
+verif 1340:                                                                  
+application : batch , iliad , pro ;
+si (V_NOTRAIT+0 < 20) et
+      (  V_IND_TRAIT+0 = 4 et 
+(
+(  present(V_0AX) =1
+ et 
+   (inf( ( V_0AX - V_ANREV ) / 1000000) > 31 
+     ou
+    inf( ( V_0AX - V_ANREV ) / 1000000) = 0 
+   )
+ )
+ou 
+(  present(V_0AY) =1
+ et 
+   (inf( ( V_0AY - V_ANREV ) / 1000000) > 31 
+     ou
+    inf( ( V_0AY - V_ANREV ) / 1000000) = 0 
+   )
+ )
+ou 
+(  present(V_0AZ) =1
+ et 
+   (inf( ( V_0AZ - V_ANREV ) / 1000000) > 31 
+     ou
+    inf( ( V_0AZ - V_ANREV ) / 1000000) = 0 
+   )
+ )
+)
+)
+alors erreur A02301;
+verif 1341:                                                                    
+application : batch , iliad , pro ;
+si 
+        (V_IND_TRAIT > 0 )
+       et (  V_IND_TRAIT+0 = 4 et
+(
+(  present(V_0AX) =1
+ et
+  (
+     (    inf ( V_0AX / 10000) * 10000
+        - inf ( V_0AX / 1000000)* 1000000
+     )/10000 > 12 
+   ou
+     (    inf ( V_0AX / 10000) * 10000
+        - inf ( V_0AX / 1000000)* 1000000
+     )/10000 =0
+   )
+)
+ou
+(  present(V_0AY) =1
+ et
+  (
+     (    inf ( V_0AY / 10000) * 10000
+        - inf ( V_0AY / 1000000)* 1000000
+     )/10000 > 12 
+   ou
+     (    inf ( V_0AY / 10000) * 10000
+        - inf ( V_0AY / 1000000)* 1000000
+     )/10000 =0
+   )
+)
+ou
+(  present(V_0AZ) =1
+ et
+  (
+     (    inf ( V_0AZ / 10000) * 10000
+        - inf ( V_0AZ / 1000000)* 1000000
+     )/10000 > 12 
+   ou
+     (    inf ( V_0AZ / 10000) * 10000
+        - inf ( V_0AZ / 1000000)* 1000000
+     )/10000 =0
+   )
+)
+)
+)
+alors erreur A02302;
+verif 1342:                                                                    
+application : batch , iliad , pro ;
+si
+        (V_IND_TRAIT > 0 )
+       et (  V_IND_TRAIT+0 = 4 et
+(
+(  present(V_0AX) =1
+  et
+   (V_0AX -  inf(V_0AX/ 10000) * 10000) != V_ANREV
+) 
+ou
+(  present(V_0AY) =1
+  et
+   (V_0AY -  inf(V_0AY/ 10000) * 10000) != V_ANREV
+) 
+ou
+(  present(V_0AZ) =1
+  et
+   (V_0AZ -  inf(V_0AZ/ 10000) * 10000) != V_ANREV
+   )
+) 
+)
+alors erreur A02303;
+verif 1352:                                                                    
+application : batch , pro ;
+si 
+        (V_IND_TRAIT > 0 )
+       et
+(
+(  present(V_0AX) =1
+  et
+  ( V_0AX + 0 < 1012005)
+)
+ou
+(  present(V_0AY) =1
+  et
+  ( V_0AY + 0 < 1012005)
+)
+ou
+(  present(V_0AZ) =1
+  et
+  ( V_0AZ + 0 < 1012005)
+)
+)
+alors erreur A02402;
+verif 1353:
+application : iliad ;
+si
+        (V_IND_TRAIT > 0 )
+       et
+    (
+      ( V_IND_TRAIT+0 = 4 et (
+       (  present(V_0AX) =1
+           et
+        ( V_0AX + 0 < 1012004)
+       )
+           ou
+       (  present(V_0AY) =1
+           et
+        ( V_0AY + 0 < 1012004)
+       )
+           ou
+       (  present(V_0AZ) =1
+           et
+        ( V_0AZ + 0 < 1012004)
+       ))
+      )
+       ou
+       ( V_IND_TRAIT = 5 et (
+        (  positif(V_0AX) =1
+            et
+         ( V_0AX + 0 < 1012004)
+        )
+            ou
+        (  positif(V_0AY) =1
+            et
+         ( V_0AY + 0 < 1012004)
+        )
+            ou
+        (  positif(V_0AZ) =1
+            et
+         ( V_0AZ + 0 < 1012004)
+        )
+       ))
+     )
+alors erreur A02402;
diff --git a/sources2011m_9_6/coi2.m b/sources2011m_9_6/coi2.m
new file mode 100644
index 0000000000000000000000000000000000000000..ee845598fb2ec93911a0460becc8d88e3d4435d2
--- /dev/null
+++ b/sources2011m_9_6/coi2.m
@@ -0,0 +1,277 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 20091:
+application :   iliad  ;
+si 
+  (
+   V_IND_TRAIT > 0 
+       et
+  positif(ANNUL2042) = 1
+  )
+alors erreur IM40;
+verif 2009:
+application :   iliad  ;
+si 
+  (
+  present (V_BTCO2044P) = 1
+ et
+  present (CO2044P)   = 0
+  )
+alors erreur IM09;
+verif 2010:
+application :  batch , iliad  ;
+si
+    (
+     (V_BTCSGDED * (1-present(DCSG)) + DCSG) * (1-null(4 -V_REGCO)) > V_BTCSGDED +  LIM_CONTROLE 
+    )
+    et
+    ( 
+      1 - V_CNR > 0
+    )    
+    et
+    ( 
+      RDCSG > 0
+    )    
+     et
+      ((APPLI_ILIAD = 1 et V_NOTRAIT+0 < 16)
+      ou 
+      ((V_BTNI1+0) non dans (50,92) et APPLI_BATCH = 1))
+
+alors erreur DD22;
+verif 2020:
+application : pro , oceans , iliad ;
+si
+   V_IND_TRAIT > 0 
+   et
+   CHNFAC > 9
+  
+alors erreur A00101 ;
+verif 20201:
+application : pro , oceans , iliad ;
+
+si 
+   V_IND_TRAIT > 0
+   et
+   NBACT > 9
+
+alors erreur A00102 ;
+verif 20202:
+application : pro , oceans , iliad ;
+
+si 
+   V_IND_TRAIT > 0
+   et
+  (
+   RDENS > 9
+   ou
+   RDENL > 9
+   ou
+   RDENU > 9
+   ou
+   RDENSQAR > 9
+   ou
+   RDENLQAR > 9
+   ou
+   RDENUQAR > 9
+  )
+alors erreur A00103 ;
+verif 20203:
+application : pro , oceans , iliad ;
+
+si 
+   V_IND_TRAIT > 0
+   et
+   ASCAPA > 9
+
+alors erreur A00104 ;
+verif 2022:
+application : pro , batch , iliad ;
+
+si
+   1 - V_CNR > 0
+   et
+   CHRFAC > 0 
+   et 
+   V_0CR > 0 
+   et
+   RFACC != 0
+
+alors erreur DD16 ;
+verif 2100:
+application : pro , oceans , iliad  ,batch;
+si
+   (
+     IPELUS > 0
+     et 
+     positif(present(TSHALLOV) + present(TSHALLOC) + present(CARTSV) + present(CARTSC) + present(CARTSNBAV) + present(CARTSNBAC)) = 0
+     et
+     positif(present(ALLOV) + present(ALLOC) + present(REMPLAV) + present(REMPLAC) + present(REMPLANBV) + present(REMPLANBC)) = 0
+   )
+alors erreur A888;
+verif 2110:
+application : pro , iliad  ,batch;
+si
+(
+REGCI+0 > IPBOCH+0
+)
+alors erreur A887;
+verif 2111:
+application : pro , iliad  ,batch;
+si
+(
+REVFONC+0 > IND_TDR+0 et present(IND_TDR)=0
+)
+alors erreur A889;
+verif 2101:
+application : pro , oceans , iliad , batch;
+si
+
+	IPSOUR > 0 et V_CNR + 0 = 0 et SOMMEA874 = 0 
+
+alors erreur A874;
+verif 2200:
+application : pro , oceans , iliad  ,batch;
+si
+
+  (IPRECH + 0 > 0 ou IPCHER + 0 > 0) et SOMMEA877 = 0
+
+alors erreur A877;
+verif 2205:
+application : pro , iliad  ;
+si
+	(
+	V_IND_TRAIT > 0
+	et
+        CREFAM+0 > 500000
+	)
+alors erreur IM03;
+verif 2220:
+application : pro , oceans , iliad  ,batch;
+
+si 
+
+  AUTOVERSLIB > 0 et SOMMEA862 = 0
+
+alors erreur A862;
+verif 2221:
+application : pro , oceans , iliad  ,batch;
+si
+
+ CIINVCORSE > 0 et SOMMEA879 = 0
+
+alors erreur A879;
+verif 2223:
+application : pro , oceans , iliad  ,batch;
+
+si
+
+ CREFAM > 0 et SOMMEA881 = 0
+
+alors erreur A881;
+verif 2229:
+application : pro , oceans , iliad  ,batch;
+
+si
+
+ CREAPP > 0 et SOMMEA890 = 0
+
+alors erreur A890;
+verif 891:
+application : pro , oceans , iliad  ,batch;
+
+si
+
+ CREPROSP > 0 et SOMMEA891 = 0
+
+alors erreur A891;
+verif 893:
+application : pro , oceans , iliad  ,batch;
+
+
+si
+
+ CREFORMCHENT > 0 et SOMMEA893 = 0
+
+alors erreur A893;
+verif 894:
+application : pro , oceans , iliad  ,batch;
+
+si
+
+ CREINTERESSE > 0 et SOMMEA894 = 0
+
+alors erreur A894;
+verif 895:
+application : pro , oceans , iliad  ,batch;
+
+si
+
+ CREAGRIBIO > 0 et SOMMEA895 = 0
+
+alors erreur A895;
+verif 896:
+application : pro , oceans , iliad  ,batch;
+si
+
+ CREARTS > 0 et SOMMEA896 = 0
+
+alors erreur A896;
+verif 898:
+application : pro , oceans , iliad  ,batch;
+si
+
+ CRECONGAGRI > 0 et SOMMEA898 = 0
+
+alors erreur A898;
+verif 899:
+application : pro , oceans , iliad  ,batch;
+
+si 
+
+  CRERESTAU > 0 et SOMMEA899 = 0
+
+alors erreur A899;
+verif 900:
+application : pro , oceans , iliad  ,batch;
+
+si 
+
+  CIDEBITTABAC > 0 et SOMMEA860 = 0
+
+alors erreur A860;
+verif 2222:
+application : pro , oceans , iliad  ,batch;
+si
+
+   CRIGA > 0  et SOMMEA880 = 0         
+
+alors erreur A880;
+verif 2290:
+application : batch , iliad, pro;
+si 
+(
+( (PPEACV+0 > 0) et (PPENJV+0 > 0) )
+ou
+( (PPEACC+0 > 0) et (PPENJC+0 > 0) )
+ou
+( (PPEACP+0 > 0) et (PPENJP+0 > 0) )
+)
+alors erreur A542;
diff --git a/sources2011m_9_6/coi3.m b/sources2011m_9_6/coi3.m
new file mode 100644
index 0000000000000000000000000000000000000000..a779b68e3aaee4bef260a41e7a0dc8d870cb84e5
--- /dev/null
+++ b/sources2011m_9_6/coi3.m
@@ -0,0 +1,166 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 3510:
+application : pro , oceans ;
+
+si
+   ( pour un i dans 0, 1, 2, 3, 4, 5, 6, 7: V_0Fi + 0 > V_ANREV )
+   ou
+   ( pour un j dans 0, 1, 2, 3: V_0Hj + 0 > V_ANREV )
+ 
+alors erreur AS02;
+verif 3511:
+application : iliad , batch ;
+
+si
+   ( pour un i dans 0, 1, 2, 3, 4, 5, 6, 7: V_0Fi + 0 > V_ANREV )
+   ou
+   ( pour un j dans G, J, N, H, I, P et un i dans 0, 1, 2, 3: V_0ji + 0 > V_ANREV )
+
+alors erreur AS02;
+verif 3600:
+application : pro , oceans ,  iliad , batch  ;
+si
+   (V_IND_TRAIT > 0) et
+   (
+     ( V_0DN + V_0DP + 0 = 1 )
+   )
+alors erreur A011;
+verif 3610:
+application : pro , iliad , batch  ;
+si
+   (V_IND_TRAIT > 0) 
+   et
+   (
+     V_0CF > 19 ou V_0CG > 19 ou V_0CH > 19 ou V_0CI > 19 ou V_0CR > 19 ou V_0DJ > 19 ou V_0DN > 19 ou V_0DP > 19
+   )
+alors erreur A01901;
+verif isf 3611:
+application : pro , iliad , batch  ;
+si
+   (V_IND_TRAIT > 0) 
+   et
+   (
+     ISFALT > 19 ou ISFPAC > 19
+   )
+alors erreur A01902;
+verif 3620:
+application : iliad ;
+si
+   ( V_IND_TRAIT+0 = 4 
+       et V_BT0CF + 0 = somme(i=0..5:positif(V_BT0Fi+0))
+et V_BT0CH + 0 = somme(i=0..5:positif(V_BT0Hi+0))
+ et V_0CF + 0 = somme(i=0..5:positif(V_0Fi+0))
+  et V_0CH + 0 = somme(i=0..5:positif(V_0Hi+0))
+  et
+     (
+       V_BT0CH + V_BT0CF + 0 > V_0CH + V_0CF
+       ou 
+       (V_BT0CF = 1 et V_0CF =1 et V_0CH + 0 = 0 et pour un i dans 0,1: V_0Fi = V_ANREV )
+       ou
+       (V_BT0CF = 1 et V_0CH =1 et V_0CF + 0 = 0 et pour un i dans 0,1: V_0Hi = V_ANREV )
+       ou
+       (V_BT0CH = 1 et V_0CH =1 et V_0CF + 0 = 0 et pour un i dans 0,1: V_0Hi = V_ANREV )
+       ou
+       (V_BT0CH = 1 et V_0CF =1 et V_0CH + 0 = 0 et pour un i dans 0,1: V_0Fi = V_ANREV )
+     )
+   )
+alors erreur IM19;
+verif 3214:
+application : batch , iliad ;
+si
+    ( 
+       V_BT0CF >0 
+          et V_0CH >0 
+              et positif(V_0CF+0) != 1
+                   et V_BT0CF + 0 = somme(i=0..5:positif(V_BT0Fi+0)) 
+                     et V_BT0CH + 0 = somme(i=0..5:positif(V_BT0Hi+0)) 
+                       et V_0CF + 0 = somme(i=0..5:positif(V_0Fi+0)) 
+                         et V_0CH + 0 = somme(i=0..5:positif(V_0Hi+0)) 
+                           et ((     V_0CH < V_BT0CF   ) 
+                                ou
+                               (     V_0CH = V_BT0CF 
+                                  et somme(i=0..5:V_0Hi+0) != somme(i=0..5:V_BT0Fi+0)         )
+                                ou
+                               (     V_0CH = V_BT0CF
+                                  et somme(i=0..5:V_0Hi+0) = somme(i=0..5:V_BT0Fi+0)
+                                  et somme(i=0..5: (1/V_0Hi)) != somme(i=0..5: (1/V_BT0Fi))   )
+                               ou
+                               (     V_0CH > V_BT0CF
+        et somme(i=0..5:positif(somme(j=0..5:null(V_0Hj - V_BT0Fi)))*V_BT0Fi) != somme(i=0..5:V_BT0Fi) 
+                               )
+                               ou
+                               (     V_0CH > V_BT0CF
+        et somme(i=0..5:positif(somme(j=0..5:null(V_0Hj - V_BT0Fi)))*V_BT0Fi) = somme(i=0..5:V_BT0Fi) 
+        et somme(i=0..5:positif(somme(j=0..5:null(V_0Hi - V_BT0Fj)))*V_0Hi) < somme(i=0..5:V_BT0Fi)
+                               )
+                              )  
+    )
+
+alors erreur I014;
+verif 3215:
+application : iliad ;
+si
+     (
+       IREST >= LIM_RESTIT
+     )
+alors erreur IM14;
+verif 3630:
+application : batch , iliad , pro ;
+si
+   ( 
+    ( positif(V_0CF+0) != 1)
+    et
+    ( pour un i dans 0..7: positif(V_0Fi+0) = 1)
+   )
+alors erreur A021;
+verif 3631:
+application : batch, iliad, pro ;
+si
+   ( 
+    ( positif(V_0CH+0) != 1)
+    et 
+    (pour un i dans 0..5: positif(V_0Hi) = 1)
+   )
+alors erreur A021;
+verif 3640:
+application : batch, iliad ;
+si (
+     (V_NOTRAIT=10) et 
+     ( positif(V_0J0)=1 ou positif(V_0J1)=1 )
+     et
+       (pour un i dans 0..5: V_BT0Fi = V_ANREV - 18)
+     et
+       (pour un i dans 0..5: V_0Ji = V_ANREV - 18)
+   )
+alors erreur A022;
+verif 3700:
+application : bareme ;
+si (
+   ((V_9VV / 0.25) - arr(V_9VV / 0.25)) != 0
+  )
+alors erreur A06501;
+verif 3701:
+application : bareme ;
+si (
+   ( V_9VV < 1 ou  V_9VV > 99.75 )
+   )
+alors erreur A06501;
diff --git a/sources2011m_9_6/errB.m b/sources2011m_9_6/errB.m
new file mode 100644
index 0000000000000000000000000000000000000000..8d887d909e6544bd20a16d1c4b877b3c264146f4
--- /dev/null
+++ b/sources2011m_9_6/errB.m
@@ -0,0 +1,30 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 11 Application bareme
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A063:anomalie :"A":"063":"00":"nombre de parts incompatible avec sit.  de famille":"N";
+A064:anomalie :"A":"064":"00":"nombre de parts incompatible avec sit.  de famille et pers.  a charge":"N";
+A06501:anomalie :"A":"065":"01":"LE NOMBRE DE PARTS DOIT ETRE UN MULTIPLE DE 0,25":"N";
+A06502:anomalie :"A":"065":"02":"LE NOMBRE DE PARTS DOIT ETRE COMPRIS ENTRE 1 ET 99,75":"N";
+A066:anomalie :"A":"066":"00":"nombre de parts incompatible avec sit.  de famille":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
diff --git a/sources2011m_9_6/errH.m b/sources2011m_9_6/errH.m
new file mode 100644
index 0000000000000000000000000000000000000000..421dd69006a7bcb174408aa4da1bdedc53f7eee3
--- /dev/null
+++ b/sources2011m_9_6/errH.m
@@ -0,0 +1,328 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A003:anomalie :"A":"003":"00":"PACS CONCLU EN 2010 ET RUPTURE PAR SEPARATION EN 2011, VERIFIEZ":"N";
+A004:anomalie :"A":"004":"00":"CASE 0AB ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES E, G, N, U, W, L.":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES E, G, N, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, S, U.":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S, U.":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U.":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, E, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT OU DU CONJOINT EST INVRAISEMBLABLE":"N";
+A015:anomalie :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A01701:anomalie :"A":"017":"01":"CASE DC = D, UNE SEULE DATE PEUT ETRE SAISIE.":"N";
+A01702:anomalie :"A":"017":"02":"CASE DC=Z, INDIQUEZ M OU O DANS SITUATION ET DATE DECES CJT OU PACSE.":"N";
+A01703:anomalie :"A":"017":"03":"CASE DC = D. DATE MARIAGE OU PACS SAISIE. LA SITUATION DOIT ETRE M OU O.":"N";
+A01704:anomalie :"A":"017":"04":"CASE DC = D. DATE DIVORCE OU RUPTURE SAISIE. LA SITUATION DOIT ETRE D":"N";
+A01705:anomalie :"A":"017":"05":"CASE DC = D. DATE MARIAGE OU PACS SAISIE. LA SITUATION DOIT ETRE M OU O.":"N";
+A01706:anomalie :"A":"017":"06":"CASE DC = D. DATE DIVORCE OU RUPTURE SAISIE. LA SITUATION DOIT ETRE C,D,V":"N";
+A01707:anomalie :"A":"017":"07":"CASE DC = D. DATE DECES CJT SAISIE. LA SITUATION DE FAMILLE DOIT ETRE V OU M":"N";
+A018:anomalie :"A":"018":"00":"SITUATION NECESSITANT LA SAISIE DE LA CASE DC. ARRETEZ LA TRANSACTION.":"N";
+A01901:anomalie :"A":"019":"01":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A01902:anomalie :"A":"019":"02":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"O";
+A021:anomalie :"A":"021":"00":"ATTENTION DATES DE NAISSANCE PAC PRISES EN CHARGE SANS CODE 0CF, 0CH":"N";
+A022:anomalie :"A":"022":"00":"UN ENFANT NE EN 1993 EST A LA FOIS COMPTE A CHARGE ET RATTACHE: A VERIFIER":"N";
+A02301:anomalie :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:anomalie :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:anomalie :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENT DE 2011":"N";
+A02401:anomalie :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:anomalie :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:anomalie :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:anomalie :"A":"031":"00":"REV. OU CHARGE AU NOM DU CJT OU PARTEN. POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A079:anomalie :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:anomalie :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A082:anomalie :"A":"082":"00":"LE CODE REGIME D IMPOSITION EST DIFFERENT DE 1,2 ou 4":"N";
+A083:anomalie :"A":"083":"00":"UTILISATION DU CODE 8ZA UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A085:anomalie :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:anomalie :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:anomalie :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:anomalie :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:anomalie :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:anomalie :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:anomalie :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:anomalie :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:anomalie :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:anomalie :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:anomalie :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:anomalie :"A":"096":"00":"CODES 8YO ET 8YI : UNIQUEMENT CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A13901:anomalie :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:anomalie :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:anomalie :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:anomalie :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:anomalie :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:anomalie :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:anomalie :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:anomalie :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:anomalie :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:anomalie :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A148:anomalie :"A":"148":"00":"SAISIE DU CODE 1LZ OU 1MZ SANS CODE 8ZK EN ABSENCE DE TAUX EFFECTIF":"N";
+A149:anomalie :"A":"149":"00":"CODE CREDIT D'IMPOT JEUNE NON ADMIS POUR CETTE SITUATION DE FAMILLE":"N";
+A150:anomalie :"A":"150":"00":"CODE CREDIT D'IMPOT JEUNE INCOMPATIBLE AVEC DEPART A L'ETRANGER (9YD).":"N";
+A153:anomalie :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A21801:anomalie :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:anomalie :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A220:anomalie :"A":"220":"00":"CREDIT D'IMPOT ( 2AB , 2BG ) EXAGERE : VERIFIEZ VOTRE SAISIE":"N";
+A222:anomalie :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR":"N";
+A22301:anomalie :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:anomalie :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A320:anomalie :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM(PEA)":"N";
+A321:anomalie :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A322:anomalie :"A":"322":"00":"MONTANT LIGNE 3VE POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A323:anomalie :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A324:anomalie :"A":"324":"00":"GAINS PORTES LIGNE 3VS SANS GAINS CORRESPONDANTS LIGNE 3VI, 3VJ, 3VK":"N";
+A325:anomalie :"A":"325":"00":"GAINS PORTES LIGNE 3VO SANS GAINS CORRESPONDANTS LIGNE 3VD, 3VI, 3VF, 3VJ, 3VK":"N";
+A420:anomalie :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:anomalie :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:anomalie :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:anomalie :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:anomalie :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:anomalie :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:anomalie :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:anomalie :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:anomalie :"A":"538":"00":"REVENUS A IMPOSER AUX CONTRIBUTIONS SOCIALES SANS REVENU CORRESPONDANT":"N";
+A542:anomalie :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:anomalie :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:anomalie :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (VOUS,CJT)NE PEUT DEPASSER 27 696 EUROS":"N";
+A602:anomalie :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A603:anomalie :"A":"603":"00":"LES LIGNES 6PS, 6PT, 6PU SONT REMPLIES SANS MISE A JOUR DU PLAFOND":"N";
+A604:anomalie :"A":"604":"00":"MUTUALISATION DEMANDEE (6QR) SANS PLAFOND CORRESPONDANT POUR LES DEUX CONJOINTS":"N";
+A60501:anomalie :"A":"605":"01":"LE MONTANT 6 QS NE PEUT ETRE INFERIEUR AU MONTANT DE 1 SM":"N";
+A60502:anomalie :"A":"605":"02":"LE MONTANT 6 QT NE PEUT ETRE INFERIEUR AU MONTANT DE 1 DN":"N";
+A700:anomalie :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A701:anomalie :"A":"701":"00":"LE MONTANT PORTE LIGNE 7UE + 7VB NE PEUT DEPASSER 521 E":"N";
+A702:anomalie :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR":"N";
+A703:anomalie :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC VOUS ET CONJOINT NES AVANT 1979":"N";
+A704:anomalie :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A70501:anomalie :"A":"705":"01":"LE CHIFFRE DE LA LIGNE 7HY NE PEUT ETRE SUPERIEUR A 9":"N";
+A70502:anomalie :"A":"705":"02":"LE CHIFFRE DE LA LIGNE 7JY NE PEUT ETRE SUPERIEUR A 15":"N";
+A70503:anomalie :"A":"705":"03":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A70504:anomalie :"A":"705":"04":"LE CHIFFRE DE LA LIGNE 7FY NE PEUT ETRE SUPERIEUR A 6":"N";
+A70601:anomalie :"A":"706":"01":"LE CHIFFRE LIGNE 7IY EST SUPERIEUR AU CHIFFRE DE 7HY":"N";
+A70602:anomalie :"A":"706":"02":"LE CHIFFRE LIGNE 7KY EST SUPERIEUR AU CHIFFRE DE 7JY":"N";
+A70603:anomalie :"A":"706":"03":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70604:anomalie :"A":"706":"04":"LE CHIFFRE LIGNE 7GY EST SUPERIEUR AU CHIFFRE DE 7FY":"N";
+A70701:anomalie :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:anomalie :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:anomalie :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A709:anomalie :"A":"709":"00":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7XC,7XF,7XI,7XP,7XL,7XJ,7XQ,7XM":"N";
+A710:anomalie :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:anomalie :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:anomalie :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:anomalie :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:anomalie :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:anomalie :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:anomalie :"A":"714":"00":"REPORT 2010 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2011 (7WO ET 7WN)":"N";
+A715:anomalie :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:anomalie :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:anomalie :"A":"717":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71702:anomalie :"A":"717":"02":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HJ,7HK,7HN ET 7HO":"N";
+A71703:anomalie :"A":"717":"03":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:anomalie :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:anomalie :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A73001:anomalie :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE":"N";
+A73002:anomalie :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TF":"N";
+A731:anomalie :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 6":"N";
+A732:anomalie :"A":"732":"00":"LE CHIFFRE DE LA LIGNE 7 SA EST DIFFERENT DE 1, 2 OU 3":"N";
+A73301:anomalie :"A":"733":"01":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD, 7SE, 7SG NE PEUT EXCEDER 8 000 EUROS.":"N";
+A73302:anomalie :"A":"733":"02":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD, 7SE, 7SG NE PEUT EXCEDER 16 000 EUROS.":"N";
+A73303:anomalie :"A":"733":"03":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD, 7SE, 7SG NE PEUT EXCEDER 24 000 EUROS.":"N";
+A73401:anomalie :"A":"734":"01":"LIGNE 7 SB, 7 SH, 7 SD, 7 SE, 7 SG SANS PRISE EN CHARGE DU CHIFFRE 7 SA":"N";
+A73402:anomalie :"A":"734":"02":"LIGNE 7 SA SAISIE SANS PRISE EN CHARGE DES LIGNES 7 SB, 7 SH, 7 SD, 7 SE, 7 SG":"N";
+A735:anomalie :"A":"735":"00":"CASE 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7WH, 7WK, 7WF, 7WQ, 7WR":"N";
+A73601:anomalie :"A":"736":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7IJ, 7IL, 7IN, 7IV":"N";
+A73602:anomalie :"A":"736":"02":"INCOMPATIBILITE ENTRE LIGNES 7IM ET 7IW":"N";
+A73701:anomalie :"A":"737":"01":"CASE 7 XD COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XC":"N";
+A73702:anomalie :"A":"737":"02":"CASE 7 XE COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XL":"N";
+A738:anomalie :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP":"N";
+A739:anomalie :"A":"739":"00":"CASE 7 QA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:anomalie :"A":"740":"01":"LE TOTAL LIGNES 7 QR + 7 QI NE PEUT ETRE SUPERIEUR A 300 000 E":"N";
+A74002:anomalie :"A":"740":"02":"LE TOTAL LIGNES 7PD + 7PH + 7PL NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74003:anomalie :"A":"740":"03":"LE TOTAL 7QR + 7QI + 7PD + 7PH + 7PL NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:anomalie :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A74201:anomalie :"A":"742":"01":"INCOMPATIBILITE ENTRE LIGNES 7HR ET 7HS":"N";
+A74202:anomalie :"A":"742":"02":"INCOMPATIBILITE ENTRE LIGNES 7HT ET 7HU":"N";
+A74203:anomalie :"A":"742":"03":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HV, 7HW, 7HX , 7HZ":"N";
+A743:anomalie :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:anomalie :"A":"744":"00":"LE MONTANT PORTE LIGNE 7SF NE PEUT DEPASSER 60 000 E":"N";
+A745:anomalie :"A":"745":"00":"INCOMPATIBILITE ENTRE LIGNES 7IP ET 7IQ":"N";
+A74601:anomalie :"A":"746":"01":"LE MONTANT LIGNE 7QR NE PEUT EXCEDER LE MONTANT LIGNE 7QQ":"N";
+A74602:anomalie :"A":"746":"02":"LE MONTANT LIGNE 7QI NE PEUT EXCEDER LE MONTANT LIGNE 7QH":"N";
+A74603:anomalie :"A":"746":"03":"LE MONTANT LIGNE 7PD NE PEUT EXCEDER LE MONTANT LIGNE 7PC":"N";
+A74604:anomalie :"A":"746":"04":"LE MONTANT LIGNE 7PH NE PEUT EXCEDER LE MONTANT LIGNE 7PG":"N";
+A74605:anomalie :"A":"746":"05":"LE MONTANT LIGNE 7PL NE PEUT EXCEDER LE MONTANT LIGNE 7PK":"N";
+A747:anomalie :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A800:anomalie :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:anomalie :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:anomalie :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A80203:anomalie :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A804:anomalie :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:anomalie :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A821:anomalie :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A860:anomalie :"A":"860":"00":"LA LIGNE 8WV EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:anomalie :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A869:anomalie :"A":"869":"00":"CONTRIBUTION SALARIALE PROVISOIRE 2,5 % (8YV) > A CONTRIBUTION DUE":"N";
+A870:anomalie :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:anomalie :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:anomalie :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A879:anomalie :"A":"879":"00":"LA LIGNE 8TG EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:anomalie :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:anomalie :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A882:anomalie :"A":"882":"00":"LIGNE 8TI REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN (OU INVERSEMENT)":"N";
+A883:anomalie :"A":"883":"00":"LA LIGNE 8TK EST REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP OU 8XQ":"N";
+A884:anomalie :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A885:anomalie :"A":"885":"00":"PRISE EN CHARGE DU CODE 8XP OU 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A886:anomalie :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR, 8XP OU 8XQ":"N";
+A887:anomalie :"A":"887":"00":"REVENU NET CODE 8XR SUPERIEUR AU MONTANT LIGNE 8TK":"N";
+A888:anomalie :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A889:anomalie :"A":"889":"00":"SAISIE CODE 8 FV SANS PRISE EN CHARGE DU CODE 8 ZK":"N";
+A890:anomalie :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:anomalie :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:anomalie :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:anomalie :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:anomalie :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:anomalie :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:anomalie :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:anomalie :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A950:anomalie :"A":"950":"00":"NATIMP OU PPENATREST DIFFERENT DES VALEURS ADMISES":"N";
+A951:anomalie :"A":"951":"00":"CODINI DIFFERENT DES VALEURS ADMISES":"N";
+A954:anomalie :"A":"954":"00":"NATIMPIR DIFFERENT DES VALEURS ADMISES":"N";
+A955:anomalie :"A":"955":"00":"NATCRP DIFFERENT DES VALEURS ADMISES":"N";
+A960:anomalie :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:anomalie :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:anomalie :"A":"961":"02":"SAISIE DU CODE MAJORATION 9YT EN PRESENCE DE LA LIGNE 9HI":"O";
+A96103:anomalie :"A":"961":"03":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96104:anomalie :"A":"961":"04":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17 ET 18)":"O";
+A96201:anomalie :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:anomalie :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:anomalie :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:anomalie :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:anomalie :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:anomalie :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2012, 2013 OU 2014":"N";
+A96303:anomalie :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:anomalie :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2012, 2013 OU 2014":"O";
+A96401:anomalie :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:anomalie :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:anomalie :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2011":"N";
+A96501:anomalie :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:anomalie :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:anomalie :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2011":"N";
+A966:anomalie :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A967:anomalie :"A":"967":"00":"MONTANT VARIABLE RESTITUEE SUPERIEUR A 8 CARACTERES.":"N";
+A98001:anomalie :"A":"980":"01":"BASE ISF 9HI < 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:anomalie :"A":"980":"02":"BASE ISF 9HI >= 3 000 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A981:anomalie :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:anomalie :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:anomalie :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:anomalie :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:anomalie :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:anomalie :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:anomalie :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:anomalie :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+A99301:anomalie :"A":"993":"01":"ANNULATION 2042: RAMENER LES REVENUS A 0.":"N";
+A99302:anomalie :"A":"993":"02":"SUPPRESSION du code 9YA impossible, veuillez ressaisir une declaration":"N";
+AS02:anomalie :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE":"N";
+AS11:anomalie :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE":"N";
+DD02:discordance :"D":"D02":"00":"VERIFIER LE CUMUL DE 7CF (CAPITAL PME) AVEC 7FN, 7GN ":"N";
+DD03:discordance :"D":"D03":"00":"MONTANT DES FRAIS RCM EXAGERE OU FRAIS AVEC REVENU LIGNE 2FU 2CH 2GO 2TR":"N";
+DD04:discordance :"D":"D04":"00":"MONTANT DU CREDIT D'IMPOT EXAGERE":"N";
+DD05:discordance :"D":"D05":"00":"LE REVENU IMPOSABLE EST < AU 1/5 E PAR RAPPORT A CELUI DE N-1":"N";
+DD06:discordance :"D":"D06":"00":"REPORT LIGNE 7XF,7XI,7XP,7XM,7XJ,7XQ,7XO,7XK,7XR > 8333 E (C,D,V) OU 16667 E (M)":"N";
+DD07:discordance :"D":"D07":"00":"LE MONTANT 7OZ, 7PZ, 7QZ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD08:discordance :"D":"D08":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+DD09:discordance :"D":"D09":"00":"CREDIT PRET ETUDIANT LIGNE 7TD DEJA OBTENU EN N-1":"N";
+DD10:discordance :"D":"D10":"00":"ENFANTS BENEFICIANT DE FRAIS DE GARDE > AU NOMBRE D'ENFANTS < 7 ANS":"N";
+DD11:discordance :"D":"D11":"00":"REGIME MICRO-FONCIER (4BE) AVEC DEFICITS FONCIERS ANTERIEURS (4BD)":"N";
+DD13:discordance :"D":"D13":"00":"SITUATION FORFAITAIRE A DENONCER SELON LES TERMES DE L'ARTICLE 69A2 DU CGI":"N";
+DD14:discordance :"D":"D14":"00":"LE MONTANT 2CG EST > AU TOTAL DES LIGNES 2DC + 2CH + 2TS + 2TR":"N";
+DD15:discordance :"D":"D15":"00":"LE MONTANT 7WP (REPORT 2010) EST > AU MONTANT CALCULE DE N-1":"N";
+DD16:discordance :"D":"D16":"00":"FRAIS D'ACCUEIL ET PERSONNE A CHARGE AVEC CARTE D'INVALIDITE":"N";
+DD17:discordance :"D":"D17":"00":"ACCROISSEMENT DU NOMBRE DE PARTS > 4 PAR RAPPORT A N-1":"N";
+DD18:discordance :"D":"D18":"00":"DEFICIT ANTERIEUR 6FA A 6FL INCOMPATIBLE AVEC REVENU IMPOSABLE EN N-1":"N";
+DD19:discordance :"D":"D19":"00":"NOMBRE LIGNE 7FG > NOMBRE DE RUBRIQUES ADMISES DU o5":"N";
+DD20:discordance :"D":"D20":"00":"DEFICIT AGRICOLE ANTERIEUR DECLARE (5QF A 5QQ) SANS DEFICIT EN N-1":"N";
+DD21:discordance :"D":"D21":"00":"SAISIE DE 7DF,7DB ET 7DG SANS INVALIDITE CADRE A (CODE PF) OU C (CODE G,I,R)":"N";
+DD22:discordance :"D":"D22":"00":"LE MONTANT DE CSG DEDUCTIBLE EST SUPERIEUR AU MONTANT N-1":"N";
+DD24:discordance :"D":"D24":"00":"MONTANT 4TQ 2011 > A 4TP 1999 - 4TQ 1999 A 4TQ 2010":"N";
+DD26:discordance :"D":"D26":"00":"REVENU OU DEFICIT FONCIER DECLARE (4BA A 4BD) SANS MONTANT EN N-1":"N";
+DD27:discordance :"D":"D27":"00":"LE MONTANT 7CL,7CM,7CN,7CQ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD28:discordance :"D":"D28":"00":"CREDIT 8WB DEJA OBTENU EN N-1 : 1SEUL CREDIT PAR ENTREPRISE":"N";
+DD29:discordance :"D":"D29":"00":"LE MONTANT 7XS,7XT,7XU,7XW,7XY (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD32:discordance :"D":"D32":"00":"CREDIT SALARIE A DOMICILE SANS REVENU D ACTIVITE : VERIFIEZ LA SITUATION":"N";
+DD34:discordance :"D":"D34":"00":"VERIFIER LE CUMUL 7FM AVEC 7FQ, 7GQ":"N";
+DD35:discordance :"D":"D35":"00":"CASE NOUVEAU RESIDENT LIGNE 6QW DEJA SAISIE EN N-1":"N";
+DD3601:discordance :"D":"D36":"01":"CASE 7WE COCHEE AVEC UN RFR 2008 SUPERIEUR A 45 000 EUROS":"N";
+DD3602:discordance :"D":"D36":"02":"CASE 7WE COCHEE SANS RFR DE 2008":"N";
+DD37:discordance :"D":"D37":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+DD3801:discordance :"D":"D38":"01":"REGIME AUTO-ENTREPRENEUR AVEC RFR 2009 SUPERIEUR A LIMITE ADMISE":"N";
+DD3802:discordance :"D":"D38":"02":"REGIME AUTO-ENTREPRENEUR SANS RFR DE 2008":"N";
+DD39:discordance :"D":"D39":"00":"LE MONTANT 6 HJ, 6HK (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD40:discordance :"D":"D40":"00":"LE MONTANT 7LA, 7LB (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD41:discordance :"D":"D41":"00":"LE MONTANT 7IS, 7IU (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD42:discordance :"D":"D42":"00":"LE MONTANT 7UU, 7TE, 7UV, 7TF (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD43:discordance :"D":"D43":"00":"LES MONTANTS REPORT INVEST. DOM ENTREPRISE SONT > AUX MONTANTS CALCULES DE N-1":"N";
+DD44:discordance :"D":"D44":"00":"LES MONTANTS 7KG, 7KH, 7KI (REPORT) SONT > AUX MONTANTS CALCULES DE N-1":"N";
+DD45:discordance :"D":"D45":"00":"REPORT 'SCELLIER'  > 33 333 E":"N";
+DD46:discordance :"D":"D46":"00":"REPORT LIGNE 7IP, 7IQ, 7IR, 7IK > 33 333 E":"N";
+DD48:discordance :"D":"D48":"00":"LE MONTANT 7LC (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD49:discordance :"D":"D49":"00":"LE MONTANT 7IT (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD50:discordance :"D":"D50":"00":"LE MONTANT 7KB (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD5101:discordance :"D":"D51":"01":"LE TOTAL 7QR + 7QI + (7QR + 7QI CALCULE DE N-1) EST > 300000 E":"N";
+DD5102:discordance :"D":"D51":"02":"LE TOTAL 7PD + 7PH + 7PL + (7QR + 7QI CALCULE DE N-1) EST > 270000 E":"N";
+DD5103:discordance :"D":"D51":"03":"LE TOTAL 7QR + 7QI + 7PD + 7PH + 7PL + (7QR + 7QI CALCULE DE N-1) EST > 300000 E":"N";
+DD52:discordance :"D":"D52":"00":"DEFICIT LOC. MEUB. NON PROF. DECLARE (5GA A 5GJ) > A DEFICIT CALCULE EN N-1":"N";
+DD53:discordance :"D":"D53":"00":"DEFICIT ACTI. NON COM. NON PROF. DECLARE (5RN A 5RW) > A DEFICIT CALCULE EN N-1":"N";
+DD54:discordance :"D":"D54":"00":"CASE 7WG COCHEE AVEC LIGNES 7WQ A 7WR SAISIES":"N";
+DD55:discordance :"D":"D55":"00":"LES LIGNES 8TL, 8TQ, 8TV, 8TW, 8TX SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+DD56:discordance :"D":"D56":"00":"SAISIE DE REVENUS AUTO-ENTREPRENEURS POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+I00101:informative :"I":"001":"01":"COTIS.  SYNDICALES NON RETENUES (VOUS): SALAIRES + FRAIS REELS":"N";
+I00102:informative :"I":"001":"02":"COTIS. SYNDICALES NON RETENUES (CJT): SALAIRES + FRAIS REELS":"N";
+I00103:informative :"I":"001":"03":"COTISATIONS SYNDICALES NON RETENUES (PAC): SALAIRES + FRAIS REELS":"N";
+I008:informative :"I":"008":"00":"LE NOMBRE DE PERSONNE (6EV) N'EST PAS INDIQUE":"N";
+I009:informative :"I":"009":"00":"LE NOMBRE D'EXPLOITATIONS (7FG) N'EST PAS INDIQUE.":"N";
+I010:informative :"I":"010":"00":"REVENUS OU CHARGE AU NOM DU CONJOINT OU PARTENAIRE POUR UN CONTRIBUABLE VEUF":"N";
+I011:informative :"I":"011":"00":"1/2 PART SUPP. NON RETENUE (CASE S) : VOUS + CJT NES APRES 1936":"N";
+I012:informative :"I":"012":"00":"1/2 PART SUPP. NON RETENUE (CASE W) : CONTRIBUABLE NE APRES 1936":"N";
+I013:informative :"I":"013":"00":"PAS DE CASES E ET H AVEC NB DE PARTS EN N-1 > 1 : VERIFIER SI CONTRIB. SEUL":"N";
+I014:informative :"I":"014":"00":"SAISIE ENF. DU CODE H SANS PRISE EN CHARGE DES ENF. DU CODE F DE N-1:VERIFIER":"N";
+I015:informative :"I":"015":"00":"LE MONTANT 2AA, 2AL, 2AM, 2AN, 2AQ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
diff --git a/sources2011m_9_6/errI.m b/sources2011m_9_6/errI.m
new file mode 100644
index 0000000000000000000000000000000000000000..d7bf9e536322ef33a0b7494b64fb5fa5e5cb62b1
--- /dev/null
+++ b/sources2011m_9_6/errI.m
@@ -0,0 +1,344 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 11 Application iliad
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)":"N";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).":"N";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)":"N";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A003:anomalie :"A":"003":"00":"PACS CONCLU EN 2010 ET RUPTURE PAR SEPARATION EN 2011, VERIFIEZ":"N";
+A004:anomalie :"A":"004":"00":"CASE 0AB ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES E, G, N, U, W, L.":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES E, G, N, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, S, U.":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S, U.":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U.":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, E, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT OU DU CONJOINT EST INVRAISEMBLABLE":"N";
+A015:anomalie :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A01701:anomalie :"A":"017":"01":"CASE DC = D, UNE SEULE DATE PEUT ETRE SAISIE.":"N";
+A01702:anomalie :"A":"017":"02":"CASE DC=Z, INDIQUEZ M OU O DANS SITUATION ET DATE DECES CJT OU PACSE.":"N";
+A01703:anomalie :"A":"017":"03":"CASE DC = D. DATE MARIAGE OU PACS SAISIE. LA SITUATION DOIT ETRE M OU O.":"N";
+A01704:anomalie :"A":"017":"04":"CASE DC = D. DATE DIVORCE OU RUPTURE SAISIE. LA SITUATION DOIT ETRE D":"N";
+A01705:anomalie :"A":"017":"05":"CASE DC = D. DATE MARIAGE OU PACS SAISIE. LA SITUATION DOIT ETRE M OU O.":"N";
+A01706:anomalie :"A":"017":"06":"CASE DC = D. DATE DIVORCE OU RUPTURE SAISIE. LA SITUATION DOIT ETRE C,D,V":"N";
+A01707:anomalie :"A":"017":"07":"CASE DC = D. DATE DECES CJT SAISIE. LA SITUATION DE FAMILLE DOIT ETRE V OU M":"N";
+A018:anomalie :"A":"018":"00":"SITUATION NECESSITANT LA SAISIE DE LA CASE DC. ARRETEZ LA TRANSACTION.":"N";
+A01901:anomalie :"A":"019":"01":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A01902:anomalie :"A":"019":"02":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"O";
+A021:anomalie :"A":"021":"00":"ATTENTION DATES DE NAISSANCE PAC PRISES EN CHARGE SANS CODE 0CF, 0CH":"N";
+A022:anomalie :"A":"022":"00":"UN ENFANT NE EN 1993 EST A LA FOIS COMPTE A CHARGE ET RATTACHE: A VERIFIER":"N";
+A02301:anomalie :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:anomalie :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:anomalie :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENT DE 2011":"N";
+A02401:anomalie :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:anomalie :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:anomalie :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:anomalie :"A":"031":"00":"REV. OU CHARGE AU NOM DU CJT OU PARTEN. POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A041:anomalie :"A":"041":"00":"Code revenu 8VV, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A042:anomalie :"A":"042":"00":"Code revenu 8VW, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A043:anomalie :"A":"043":"00":"Revenus 8VV et 8VW saisis simultanement, supprimer un des deux codes":"N";
+A044:anomalie :"A":"044":"00":"Code revenu 8VX, saisir le code penalite 32":"N";
+A045:anomalie :"A":"045":"00":"Code penalite 32 accepte uniquement avec le code 8VX":"N";
+A046:anomalie :"A":"046":"00":"CODE REVENU 8WW, SAISIR LE CODE PENALITE 30":"N";
+A047:anomalie :"A":"047":"00":"CODE PENALITE 30 ACCEPTE UNIQUEMENT AVEC LE CODE REVENU 8WW":"N";
+A048:anomalie :"A":"048":"00":"CE CODE PENALITE NE S'APPLIQUE QU'AUX BIC, BNC,BA":"N";
+A078:anomalie :"A":"078":"00":"Code inoperant dans les applications ILIAD-IS et ILIAD-CTX":"N";
+A079:anomalie :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:anomalie :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A082:anomalie :"A":"082":"00":"LE CODE REGIME D IMPOSITION EST DIFFERENT DE 1,2 ou 4":"N";
+A083:anomalie :"A":"083":"00":"UTILISATION DU CODE 8ZA UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A085:anomalie :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:anomalie :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:anomalie :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:anomalie :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:anomalie :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:anomalie :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:anomalie :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:anomalie :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:anomalie :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:anomalie :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:anomalie :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:anomalie :"A":"096":"00":"CODES 8YO ET 8YI : UNIQUEMENT CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A13901:anomalie :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:anomalie :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:anomalie :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:anomalie :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:anomalie :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:anomalie :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:anomalie :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:anomalie :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:anomalie :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:anomalie :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A148:anomalie :"A":"148":"00":"SAISIE DU CODE 1LZ OU 1MZ SANS CODE 8ZK EN ABSENCE DE TAUX EFFECTIF":"N";
+A149:anomalie :"A":"149":"00":"CODE CREDIT D'IMPOT JEUNE NON ADMIS POUR CETTE SITUATION DE FAMILLE":"N";
+A150:anomalie :"A":"150":"00":"CODE CREDIT D'IMPOT JEUNE INCOMPATIBLE AVEC DEPART A L'ETRANGER (9YD).":"N";
+A153:anomalie :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A21801:anomalie :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:anomalie :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A220:anomalie :"A":"220":"00":"CREDIT D'IMPOT ( 2AB , 2BG ) EXAGERE : VERIFIEZ VOTRE SAISIE":"N";
+A222:anomalie :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR":"N";
+A22301:anomalie :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:anomalie :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A320:anomalie :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM(PEA)":"N";
+A321:anomalie :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A322:anomalie :"A":"322":"00":"MONTANT LIGNE 3VE POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A323:anomalie :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A324:anomalie :"A":"324":"00":"GAINS PORTES LIGNE 3VS SANS GAINS CORRESPONDANTS LIGNE 3VI, 3VJ, 3VK":"N";
+A325:anomalie :"A":"325":"00":"GAINS PORTES LIGNE 3VO SANS GAINS CORRESPONDANTS LIGNE 3VD, 3VI, 3VF, 3VJ, 3VK":"N";
+A420:anomalie :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:anomalie :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:anomalie :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:anomalie :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:anomalie :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:anomalie :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:anomalie :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:anomalie :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:anomalie :"A":"538":"00":"REVENUS A IMPOSER AUX CONTRIBUTIONS SOCIALES SANS REVENU CORRESPONDANT":"N";
+A542:anomalie :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:anomalie :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:anomalie :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (VOUS,CJT)NE PEUT DEPASSER 27 696 EUROS":"N";
+A602:anomalie :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A603:anomalie :"A":"603":"00":"LES LIGNES 6PS, 6PT, 6PU SONT REMPLIES SANS MISE A JOUR DU PLAFOND":"N";
+A604:anomalie :"A":"604":"00":"MUTUALISATION DEMANDEE (6QR) SANS PLAFOND CORRESPONDANT POUR LES DEUX CONJOINTS":"N";
+A60501:anomalie :"A":"605":"01":"LE MONTANT 6 QS NE PEUT ETRE INFERIEUR AU MONTANT DE 1 SM":"N";
+A60502:anomalie :"A":"605":"02":"LE MONTANT 6 QT NE PEUT ETRE INFERIEUR AU MONTANT DE 1 DN":"N";
+A700:anomalie :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A701:anomalie :"A":"701":"00":"LE MONTANT PORTE LIGNE 7UE + 7VB NE PEUT DEPASSER 521 E":"N";
+A702:anomalie :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR":"N";
+A703:anomalie :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC VOUS ET CONJOINT NES AVANT 1979":"N";
+A704:anomalie :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A70501:anomalie :"A":"705":"01":"LE CHIFFRE DE LA LIGNE 7HY NE PEUT ETRE SUPERIEUR A 9":"N";
+A70502:anomalie :"A":"705":"02":"LE CHIFFRE DE LA LIGNE 7JY NE PEUT ETRE SUPERIEUR A 15":"N";
+A70503:anomalie :"A":"705":"03":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A70504:anomalie :"A":"705":"04":"LE CHIFFRE DE LA LIGNE 7FY NE PEUT ETRE SUPERIEUR A 6":"N";
+A70601:anomalie :"A":"706":"01":"LE CHIFFRE LIGNE 7IY EST SUPERIEUR AU CHIFFRE DE 7HY":"N";
+A70602:anomalie :"A":"706":"02":"LE CHIFFRE LIGNE 7KY EST SUPERIEUR AU CHIFFRE DE 7JY":"N";
+A70603:anomalie :"A":"706":"03":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70604:anomalie :"A":"706":"04":"LE CHIFFRE LIGNE 7GY EST SUPERIEUR AU CHIFFRE DE 7FY":"N";
+A70701:anomalie :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:anomalie :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:anomalie :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A709:anomalie :"A":"709":"00":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7XC,7XF,7XI,7XP,7XL,7XJ,7XQ,7XM":"N";
+A710:anomalie :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:anomalie :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:anomalie :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:anomalie :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:anomalie :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:anomalie :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:anomalie :"A":"714":"00":"REPORT 2010 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2011 (7WO ET 7WN)":"N";
+A715:anomalie :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:anomalie :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:anomalie :"A":"717":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71702:anomalie :"A":"717":"02":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HJ,7HK,7HN ET 7HO":"N";
+A71703:anomalie :"A":"717":"03":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:anomalie :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:anomalie :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A72001:anomalie :"A":"720":"01":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE M":"N";
+A72002:anomalie :"A":"720":"02":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE C":"N";
+A72003:anomalie :"A":"720":"03":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR C OU M AU LIEU DE R":"N";
+A721:anomalie :"A":"721":"00":"SENS P IMPOSSIBLE POUR UN CODE ABSENT DE LA 2042":"N";
+A72201:anomalie :"A":"722":"01":"LE MONTANT DU RAPPEL EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72202:anomalie :"A":"722":"02":"LE MONTANT DE LA MINO EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72203:anomalie :"A":"722":"03":"LE MONTANT DE LA CORRECTION EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72204:anomalie :"A":"722":"04":"LE MONTANT DE LA RECTIF EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72206:anomalie :"A":"722":"06":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72207:discordance :"D":"722":"07":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72301:anomalie :"A":"723":"01":"LE MONTANT DU C02 AVEC 2042_RECT EST SUPERIEUR A CELUI DU R02 AVEC INDICATEUR":"N";
+A72302:anomalie :"A":"723":"02":"ANNULATION OU MINORATION DE R02 ET 2042_RECT S'EFFECTUE AVEC C02 et 2042_RECT":"N";
+A724:anomalie :"A":"724":"00":"Majorations 80% apres 2 MED supprimees a compter du 01/01/2006":"N";
+A725:anomalie :"A":"725":"00":"PROCEDURE DE REGULARISATION INTERDITE EN CAS DE NON DEPOT OU DEPOT TARDIF":"N";
+A73001:anomalie :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE":"N";
+A73002:anomalie :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TF":"N";
+A731:anomalie :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 6":"N";
+A732:anomalie :"A":"732":"00":"LE CHIFFRE DE LA LIGNE 7 SA EST DIFFERENT DE 1, 2 OU 3":"N";
+A73301:anomalie :"A":"733":"01":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD, 7SE, 7SG NE PEUT EXCEDER 8 000 EUROS.":"N";
+A73302:anomalie :"A":"733":"02":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD, 7SE, 7SG NE PEUT EXCEDER 16 000 EUROS.":"N";
+A73303:anomalie :"A":"733":"03":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD, 7SE, 7SG NE PEUT EXCEDER 24 000 EUROS.":"N";
+A73401:anomalie :"A":"734":"01":"LIGNE 7 SB, 7 SH, 7 SD, 7 SE, 7 SG SANS PRISE EN CHARGE DU CHIFFRE 7 SA":"N";
+A73402:anomalie :"A":"734":"02":"LIGNE 7 SA SAISIE SANS PRISE EN CHARGE DES LIGNES 7 SB, 7 SH, 7 SD, 7 SE, 7 SG":"N";
+A735:anomalie :"A":"735":"00":"CASE 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7WH, 7WK, 7WF, 7WQ, 7WR":"N";
+A73601:anomalie :"A":"736":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7IJ, 7IL, 7IN, 7IV":"N";
+A73602:anomalie :"A":"736":"02":"INCOMPATIBILITE ENTRE LIGNES 7IM ET 7IW":"N";
+A73701:anomalie :"A":"737":"01":"CASE 7 XD COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XC":"N";
+A73702:anomalie :"A":"737":"02":"CASE 7 XE COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XL":"N";
+A738:anomalie :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP":"N";
+A739:anomalie :"A":"739":"00":"CASE 7 QA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:anomalie :"A":"740":"01":"LE TOTAL LIGNES 7 QR + 7 QI NE PEUT ETRE SUPERIEUR A 300 000 E":"N";
+A74002:anomalie :"A":"740":"02":"LE TOTAL LIGNES 7PD + 7PH + 7PL NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74003:anomalie :"A":"740":"03":"LE TOTAL 7QR + 7QI + 7PD + 7PH + 7PL NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:anomalie :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A74201:anomalie :"A":"742":"01":"INCOMPATIBILITE ENTRE LIGNES 7HR ET 7HS":"N";
+A74202:anomalie :"A":"742":"02":"INCOMPATIBILITE ENTRE LIGNES 7HT ET 7HU":"N";
+A74203:anomalie :"A":"742":"03":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HV, 7HW, 7HX , 7HZ":"N";
+A743:anomalie :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:anomalie :"A":"744":"00":"LE MONTANT PORTE LIGNE 7SF NE PEUT DEPASSER 60 000 E":"N";
+A745:anomalie :"A":"745":"00":"INCOMPATIBILITE ENTRE LIGNES 7IP ET 7IQ":"N";
+A74601:anomalie :"A":"746":"01":"LE MONTANT LIGNE 7QR NE PEUT EXCEDER LE MONTANT LIGNE 7QQ":"N";
+A74602:anomalie :"A":"746":"02":"LE MONTANT LIGNE 7QI NE PEUT EXCEDER LE MONTANT LIGNE 7QH":"N";
+A74603:anomalie :"A":"746":"03":"LE MONTANT LIGNE 7PD NE PEUT EXCEDER LE MONTANT LIGNE 7PC":"N";
+A74604:anomalie :"A":"746":"04":"LE MONTANT LIGNE 7PH NE PEUT EXCEDER LE MONTANT LIGNE 7PG":"N";
+A74605:anomalie :"A":"746":"05":"LE MONTANT LIGNE 7PL NE PEUT EXCEDER LE MONTANT LIGNE 7PK":"N";
+A747:anomalie :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A760:anomalie :"A":"760":"00":"LE SENS DU RAPPEL SAISI N'APPARTIENT PAS AUX VALEURS POSSIBLES":"N";
+A770:anomalie :"A":"770":"00":"SI LE CODE RAPPEL EST P, LE CODE MAJO DOIT ETRE 07,08,10,11,17,18 ou 31":"N";
+A780:anomalie :"A":"780":"00":"MOIS OU ANNEE DE LA DATE DE NOTIFICATION INVRAISEMBLABLE":"N";
+A800:anomalie :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:anomalie :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:anomalie :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A80203:anomalie :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A804:anomalie :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:anomalie :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A821:anomalie :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A850:anomalie :"A":"850":"00":"SAISIE DU CODE 8ZG INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A851:anomalie :"A":"851":"00":"SAISIE DU CODE 8ZJ INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A852:anomalie :"A":"852":"00":"SAISIE DU CODE 8ZL INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A853:anomalie :"A":"853":"00":"SAISIE DU CODE 8ZS INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A854:anomalie :"A":"854":"00":"SAISIE DU CODE 8YV INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A855:anomalie :"A":"855":"00":"SAISIE DU CODE 8YW INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A860:anomalie :"A":"860":"00":"LA LIGNE 8WV EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:anomalie :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A863:anomalie :"A":"863":"00":"LE CODE 8UX EST SAISI SANS REVENU AUTO-ENTREPRENEUR":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A869:anomalie :"A":"869":"00":"CONTRIBUTION SALARIALE PROVISOIRE 2,5 % (8YV) > A CONTRIBUTION DUE":"N";
+A870:anomalie :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:anomalie :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:anomalie :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A879:anomalie :"A":"879":"00":"LA LIGNE 8TG EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:anomalie :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:anomalie :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A882:anomalie :"A":"882":"00":"LIGNE 8TI REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN (OU INVERSEMENT)":"N";
+A883:anomalie :"A":"883":"00":"LA LIGNE 8TK EST REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP OU 8XQ":"N";
+A884:anomalie :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A885:anomalie :"A":"885":"00":"PRISE EN CHARGE DU CODE 8XP OU 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A886:anomalie :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR, 8XP OU 8XQ":"N";
+A887:anomalie :"A":"887":"00":"REVENU NET CODE 8XR SUPERIEUR AU MONTANT LIGNE 8TK":"N";
+A888:anomalie :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A889:anomalie :"A":"889":"00":"SAISIE CODE 8 FV SANS PRISE EN CHARGE DU CODE 8 ZK":"N";
+A890:anomalie :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:anomalie :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:anomalie :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:anomalie :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:anomalie :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:anomalie :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:anomalie :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:anomalie :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A950:anomalie :"A":"950":"00":"NATIMP OU PPENATREST DIFFERENT DES VALEURS ADMISES":"N";
+A951:anomalie :"A":"951":"00":"CODINI DIFFERENT DES VALEURS ADMISES":"N";
+A954:anomalie :"A":"954":"00":"NATIMPIR DIFFERENT DES VALEURS ADMISES":"N";
+A955:anomalie :"A":"955":"00":"NATCRP DIFFERENT DES VALEURS ADMISES":"N";
+A960:anomalie :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:anomalie :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:anomalie :"A":"961":"02":"SAISIE DU CODE MAJORATION 9YT EN PRESENCE DE LA LIGNE 9HI":"O";
+A96103:anomalie :"A":"961":"03":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96104:anomalie :"A":"961":"04":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17 ET 18)":"O";
+A96201:anomalie :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:anomalie :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:anomalie :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:anomalie :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:anomalie :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:anomalie :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2012, 2013 OU 2014":"N";
+A96303:anomalie :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:anomalie :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2012, 2013 OU 2014":"O";
+A96401:anomalie :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:anomalie :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:anomalie :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2011":"N";
+A96501:anomalie :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:anomalie :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:anomalie :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2011":"N";
+A966:anomalie :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A96701:anomalie :"A":"967":"01":"R99 SUR LE CODE 9YT ET ABSENCE DE R99 SUR LE CODE 9YU DANS LE MEME EVT":"N";
+A96702:anomalie :"A":"967":"02":"R99 SUR LE CODE 9YU ET ABSENCE DE R99 SUR LE CODE 9YT DANS LE MEME EVT":"N";
+A96801:anomalie :"A":"968":"01":"CODE 9YT AVEC VALEUR A 0 ET 9YU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96802:anomalie :"A":"968":"02":"CODE 9YU AVEC VALEUR A 0 ET 9YT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A970:anomalie :"A":"970":"00":"PRESENCE D'UN TAUX DE PENALITE POUR UNE MINORATION":"N";
+A971:anomalie :"A":"971":"00":"ABSENCE D'UN TAUX DE PENALITE POUR UN RAPPEL":"N";
+A98001:anomalie :"A":"980":"01":"BASE ISF 9HI < 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:anomalie :"A":"980":"02":"BASE ISF 9HI >= 3 000 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A98003:anomalie :"A":"980":"03":"LA BASE ISF NE PEUT ETRE INFERIEURE A 1 300 000":"O";
+A98004:anomalie :"A":"980":"04":"LA BASE ISF, INFERIEURE A 1 300 000 E, EST DIFFERENTE DE 0 E":"O";
+A98005:anomalie :"A":"980":"05":"LA BASE ISF NE PEUT ETRE SUPERIEURE OU EGALE A 3 000 000 E":"O";
+A981:anomalie :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:anomalie :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:anomalie :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:anomalie :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:anomalie :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:anomalie :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:anomalie :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:anomalie :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+A990:anomalie :"A":"990":"00":" CODE 8VV INCOMPATIBLE AVEC REGIME VALEUR LOCATIVE":"N";
+A99301:anomalie :"A":"993":"01":"ANNULATION 2042: RAMENER LES REVENUS A 0.":"N";
+A99302:anomalie :"A":"993":"02":"SUPPRESSION du code 9YA impossible, veuillez ressaisir une declaration":"N";
+AS0101:anomalie :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C":"N";
+AS0102:anomalie :"A":"S01":"02":"INCOMPATIBILITE ENTRE DATE DE MARIAGE AVEC OPTION B ET SITUATION M OU O":"N";
+AS0103:anomalie :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE MARIAGE SANS OPTION B ET SITUATION C, D OU V":"N";
+AS0104:anomalie :"A":"S01":"04":"INCOMPATIBILITE ENTRE DATE DE DIVORCE ET SITUATION M OU O":"N";
+AS0105:anomalie :"A":"S01":"05":"INCOMPATIBILITE ENTRE DATES DE DIVORCE ET DE DECES DU CJT ET SITUATION M":"N";
+AS0106:anomalie :"A":"S01":"06":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION D":"N";
+AS02:anomalie :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE":"N";
+AS11:anomalie :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE":"N";
+DD02:discordance :"D":"D02":"00":"VERIFIER LE CUMUL DE 7CF (CAPITAL PME) AVEC 7FN, 7GN ":"N";
+DD03:discordance :"D":"D03":"00":"MONTANT DES FRAIS RCM EXAGERE OU FRAIS AVEC REVENU LIGNE 2FU 2CH 2GO 2TR":"N";
+DD04:discordance :"D":"D04":"00":"MONTANT DU CREDIT D'IMPOT EXAGERE":"N";
+DD05:discordance :"D":"D05":"00":"LE REVENU IMPOSABLE EST < AU 1/5 E PAR RAPPORT A CELUI DE N-1":"N";
+DD06:discordance :"D":"D06":"00":"REPORT LIGNE 7XF,7XI,7XP,7XM,7XJ,7XQ,7XO,7XK,7XR > 8333 E (C,D,V) OU 16667 E (M)":"N";
+DD07:discordance :"D":"D07":"00":"LE MONTANT 7OZ, 7PZ, 7QZ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD08:discordance :"D":"D08":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+DD09:discordance :"D":"D09":"00":"CREDIT PRET ETUDIANT LIGNE 7TD DEJA OBTENU EN N-1":"N";
+DD10:discordance :"D":"D10":"00":"ENFANTS BENEFICIANT DE FRAIS DE GARDE > AU NOMBRE D'ENFANTS < 7 ANS":"N";
+DD11:discordance :"D":"D11":"00":"REGIME MICRO-FONCIER (4BE) AVEC DEFICITS FONCIERS ANTERIEURS (4BD)":"N";
+DD13:discordance :"D":"D13":"00":"SITUATION FORFAITAIRE A DENONCER SELON LES TERMES DE L'ARTICLE 69A2 DU CGI":"N";
+DD14:discordance :"D":"D14":"00":"LE MONTANT 2CG EST > AU TOTAL DES LIGNES 2DC + 2CH + 2TS + 2TR":"N";
+DD15:discordance :"D":"D15":"00":"LE MONTANT 7WP (REPORT 2010) EST > AU MONTANT CALCULE DE N-1":"N";
+DD16:discordance :"D":"D16":"00":"FRAIS D'ACCUEIL ET PERSONNE A CHARGE AVEC CARTE D'INVALIDITE":"N";
+DD17:discordance :"D":"D17":"00":"ACCROISSEMENT DU NOMBRE DE PARTS > 4 PAR RAPPORT A N-1":"N";
+DD18:discordance :"D":"D18":"00":"DEFICIT ANTERIEUR 6FA A 6FL INCOMPATIBLE AVEC REVENU IMPOSABLE EN N-1":"N";
+DD19:discordance :"D":"D19":"00":"NOMBRE LIGNE 7FG > NOMBRE DE RUBRIQUES ADMISES DU o5":"N";
+DD20:discordance :"D":"D20":"00":"DEFICIT AGRICOLE ANTERIEUR DECLARE (5QF A 5QQ) SANS DEFICIT EN N-1":"N";
+DD21:discordance :"D":"D21":"00":"SAISIE DE 7DF,7DB ET 7DG SANS INVALIDITE CADRE A (CODE PF) OU C (CODE G,I,R)":"N";
+DD22:discordance :"D":"D22":"00":"LE MONTANT DE CSG DEDUCTIBLE EST SUPERIEUR AU MONTANT N-1":"N";
+DD24:discordance :"D":"D24":"00":"MONTANT 4TQ 2011 > A 4TP 1999 - 4TQ 1999 A 4TQ 2010":"N";
+DD26:discordance :"D":"D26":"00":"REVENU OU DEFICIT FONCIER DECLARE (4BA A 4BD) SANS MONTANT EN N-1":"N";
+DD27:discordance :"D":"D27":"00":"LE MONTANT 7CL,7CM,7CN,7CQ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD28:discordance :"D":"D28":"00":"CREDIT 8WB DEJA OBTENU EN N-1 : 1SEUL CREDIT PAR ENTREPRISE":"N";
+DD29:discordance :"D":"D29":"00":"LE MONTANT 7XS,7XT,7XU,7XW,7XY (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD32:discordance :"D":"D32":"00":"CREDIT SALARIE A DOMICILE SANS REVENU D AC
\ No newline at end of file
diff --git a/sources2011m_9_6/errO.m b/sources2011m_9_6/errO.m
new file mode 100644
index 0000000000000000000000000000000000000000..e59ee3cb48d5a1ed45076c19cd85707477c8601f
--- /dev/null
+++ b/sources2011m_9_6/errO.m
@@ -0,0 +1,299 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 11 Application oceans
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)":"N";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).":"N";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)":"N";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A003:anomalie :"A":"003":"00":"PACS CONCLU EN 2010 ET RUPTURE PAR SEPARATION EN 2011, VERIFIEZ":"N";
+A004:anomalie :"A":"004":"00":"CASE 0AB ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES E, G, N, U, W, L.":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES E, G, N, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, S, U.":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S, U.":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U.":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, E, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT OU DU CONJOINT EST INVRAISEMBLABLE":"N";
+A015:discordance :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A01901:anomalie :"A":"019":"01":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A01902:anomalie :"A":"019":"02":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"O";
+A02301:discordance :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:discordance :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:discordance :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENT DE 2011":"N";
+A02401:discordance :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:discordance :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:discordance :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:discordance :"A":"031":"00":"REV. OU CHARGE AU NOM DU CJT OU PARTEN. POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A041:anomalie :"A":"041":"00":"Code revenu 8VV, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A042:anomalie :"A":"042":"00":"Code revenu 8VW, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A043:anomalie :"A":"043":"00":"Revenus 8VV et 8VW saisis simultanement, supprimer un des deux codes":"N";
+A044:anomalie :"A":"044":"00":"Code revenu 8VX, saisir le code penalite 32":"N";
+A045:anomalie :"A":"045":"00":"Code penalite 32 accepte uniquement avec le code 8VX":"N";
+A046:discordance :"A":"046":"00":"CODE REVENU 8WW, SAISIR LE CODE PENALITE 30":"N";
+A047:discordance :"A":"047":"00":"CODE PENALITE 30 ACCEPTE UNIQUEMENT AVEC LE CODE REVENU 8WW":"N";
+A048:discordance :"A":"048":"00":"CE CODE PENALITE NE S'APPLIQUE QU'AUX BIC, BNC,BA":"N";
+A078:anomalie :"A":"078":"00":"Code inoperant dans les applications ILIAD-IS et ILIAD-CTX":"N";
+A079:discordance :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:discordance :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A085:discordance :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:discordance :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:discordance :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:discordance :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:discordance :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:discordance :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:discordance :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:discordance :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:discordance :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:discordance :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:discordance :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:discordance :"A":"096":"00":"CODES 8YO ET 8YI : UNIQUEMENT CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A13901:discordance :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:discordance :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:discordance :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:discordance :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:discordance :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:discordance :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:discordance :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:discordance :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:discordance :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:discordance :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A148:discordance :"A":"148":"00":"SAISIE DU CODE 1LZ OU 1MZ SANS CODE 8ZK EN ABSENCE DE TAUX EFFECTIF":"N";
+A149:anomalie :"A":"149":"00":"CODE CREDIT D'IMPOT JEUNE NON ADMIS POUR CETTE SITUATION DE FAMILLE":"N";
+A150:anomalie :"A":"150":"00":"CODE CREDIT D'IMPOT JEUNE INCOMPATIBLE AVEC DEPART A L'ETRANGER (9YD).":"N";
+A153:discordance :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A21801:discordance :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:discordance :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A222:discordance :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR":"N";
+A22301:discordance :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:discordance :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A320:discordance :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM(PEA)":"N";
+A321:discordance :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A322:discordance :"A":"322":"00":"MONTANT LIGNE 3VE POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A323:discordance :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A324:discordance :"A":"324":"00":"GAINS PORTES LIGNE 3VS SANS GAINS CORRESPONDANTS LIGNE 3VI, 3VJ, 3VK":"N";
+A325:discordance :"A":"325":"00":"GAINS PORTES LIGNE 3VO SANS GAINS CORRESPONDANTS LIGNE 3VD, 3VI, 3VF, 3VJ, 3VK":"N";
+A420:discordance :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:discordance :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:discordance :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:discordance :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:discordance :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:discordance :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:discordance :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:discordance :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:discordance :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:discordance :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:discordance :"A":"538":"00":"REVENUS A IMPOSER AUX CONTRIBUTIONS SOCIALES SANS REVENU CORRESPONDANT":"N";
+A542:discordance :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:discordance :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:discordance :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (VOUS,CJT)NE PEUT DEPASSER 27 696 EUROS":"N";
+A602:discordance :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A603:discordance :"A":"603":"00":"LES LIGNES 6PS, 6PT, 6PU SONT REMPLIES SANS MISE A JOUR DU PLAFOND":"N";
+A700:discordance :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A701:discordance :"A":"701":"00":"LE MONTANT PORTE LIGNE 7UE + 7VB NE PEUT DEPASSER 521 E":"N";
+A702:discordance :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR":"N";
+A703:discordance :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC VOUS ET CONJOINT NES AVANT 1979":"N";
+A704:discordance :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A70501:discordance :"A":"705":"01":"LE CHIFFRE DE LA LIGNE 7HY NE PEUT ETRE SUPERIEUR A 9":"N";
+A70502:discordance :"A":"705":"02":"LE CHIFFRE DE LA LIGNE 7JY NE PEUT ETRE SUPERIEUR A 15":"N";
+A70503:discordance :"A":"705":"03":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A70504:discordance :"A":"705":"04":"LE CHIFFRE DE LA LIGNE 7FY NE PEUT ETRE SUPERIEUR A 6":"N";
+A70601:discordance :"A":"706":"01":"LE CHIFFRE LIGNE 7IY EST SUPERIEUR AU CHIFFRE DE 7HY":"N";
+A70602:discordance :"A":"706":"02":"LE CHIFFRE LIGNE 7KY EST SUPERIEUR AU CHIFFRE DE 7JY":"N";
+A70603:discordance :"A":"706":"03":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70604:discordance :"A":"706":"04":"LE CHIFFRE LIGNE 7GY EST SUPERIEUR AU CHIFFRE DE 7FY":"N";
+A70701:discordance :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:discordance :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:discordance :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A709:discordance :"A":"709":"00":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7XC,7XF,7XI,7XP,7XL,7XJ,7XQ,7XM":"N";
+A710:discordance :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:discordance :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:discordance :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:discordance :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:discordance :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:discordance :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:discordance :"A":"714":"00":"REPORT 2010 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2011 (7WO ET 7WN)":"N";
+A715:discordance :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:discordance :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:discordance :"A":"717":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71702:discordance :"A":"717":"02":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HJ,7HK,7HN ET 7HO":"N";
+A71703:discordance :"A":"717":"03":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:discordance :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:discordance :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A72001:anomalie :"A":"720":"01":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE M":"N";
+A72002:anomalie :"A":"720":"02":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE C":"N";
+A72003:anomalie :"A":"720":"03":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR C OU M AU LIEU DE R":"N";
+A721:anomalie :"A":"721":"00":"SENS P IMPOSSIBLE POUR UN CODE ABSENT DE LA 2042":"N";
+A72201:anomalie :"A":"722":"01":"LE MONTANT DU RAPPEL EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72202:anomalie :"A":"722":"02":"LE MONTANT DE LA MINO EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72203:anomalie :"A":"722":"03":"LE MONTANT DE LA CORRECTION EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72204:anomalie :"A":"722":"04":"LE MONTANT DE LA RECTIF EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72206:anomalie :"A":"722":"06":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72207:discordance :"D":"722":"07":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72301:anomalie :"A":"723":"01":"LE MONTANT DU C02 AVEC 2042_RECT EST SUPERIEUR A CELUI DU R02 AVEC INDICATEUR":"N";
+A72302:anomalie :"A":"723":"02":"ANNULATION OU MINORATION DE R02 ET 2042_RECT S'EFFECTUE AVEC C02 et 2042_RECT":"N";
+A724:anomalie :"A":"724":"00":"Majorations 80% apres 2 MED supprimees a compter du 01/01/2006":"N";
+A725:anomalie :"A":"725":"00":"PROCEDURE DE REGULARISATION INTERDITE EN CAS DE NON DEPOT OU DEPOT TARDIF":"N";
+A73001:discordance :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE":"N";
+A73002:discordance :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TF":"N";
+A731:discordance :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 6":"N";
+A732:discordance :"A":"732":"00":"LE CHIFFRE DE LA LIGNE 7 SA EST DIFFERENT DE 1, 2 OU 3":"N";
+A73301:discordance :"A":"733":"01":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD, 7SE, 7SG NE PEUT EXCEDER 8 000 EUROS.":"N";
+A73302:discordance :"A":"733":"02":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD, 7SE, 7SG NE PEUT EXCEDER 16 000 EUROS.":"N";
+A73303:discordance :"A":"733":"03":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD, 7SE, 7SG NE PEUT EXCEDER 24 000 EUROS.":"N";
+A73401:discordance :"A":"734":"01":"LIGNE 7 SB, 7 SH, 7 SD, 7 SE, 7 SG SANS PRISE EN CHARGE DU CHIFFRE 7 SA":"N";
+A73402:discordance :"A":"734":"02":"LIGNE 7 SA SAISIE SANS PRISE EN CHARGE DES LIGNES 7 SB, 7 SH, 7 SD, 7 SE, 7 SG":"N";
+A735:discordance :"A":"735":"00":"CASE 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7WH, 7WK, 7WF, 7WQ, 7WR":"N";
+A73601:discordance :"A":"736":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7IJ, 7IL, 7IN, 7IV":"N";
+A73602:discordance :"A":"736":"02":"INCOMPATIBILITE ENTRE LIGNES 7IM ET 7IW":"N";
+A73701:discordance :"A":"737":"01":"CASE 7 XD COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XC":"N";
+A73702:discordance :"A":"737":"02":"CASE 7 XE COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XL":"N";
+A738:discordance :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP":"N";
+A739:discordance :"A":"739":"00":"CASE 7 QA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:discordance :"A":"740":"01":"LE TOTAL LIGNES 7 QR + 7 QI NE PEUT ETRE SUPERIEUR A 300 000 E":"N";
+A74002:discordance :"A":"740":"02":"LE TOTAL LIGNES 7PD + 7PH + 7PL NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74003:discordance :"A":"740":"03":"LE TOTAL 7QR + 7QI + 7PD + 7PH + 7PL NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:discordance :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A74201:discordance :"A":"742":"01":"INCOMPATIBILITE ENTRE LIGNES 7HR ET 7HS":"N";
+A74202:discordance :"A":"742":"02":"INCOMPATIBILITE ENTRE LIGNES 7HT ET 7HU":"N";
+A74203:discordance :"A":"742":"03":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HV, 7HW, 7HX , 7HZ":"N";
+A743:discordance :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:discordance :"A":"744":"00":"LE MONTANT PORTE LIGNE 7SF NE PEUT DEPASSER 60 000 E":"N";
+A745:discordance :"A":"745":"00":"INCOMPATIBILITE ENTRE LIGNES 7IP ET 7IQ":"N";
+A74601:discordance :"A":"746":"01":"LE MONTANT LIGNE 7QR NE PEUT EXCEDER LE MONTANT LIGNE 7QQ":"N";
+A74602:discordance :"A":"746":"02":"LE MONTANT LIGNE 7QI NE PEUT EXCEDER LE MONTANT LIGNE 7QH":"N";
+A74603:discordance :"A":"746":"03":"LE MONTANT LIGNE 7PD NE PEUT EXCEDER LE MONTANT LIGNE 7PC":"N";
+A74604:discordance :"A":"746":"04":"LE MONTANT LIGNE 7PH NE PEUT EXCEDER LE MONTANT LIGNE 7PG":"N";
+A74605:discordance :"A":"746":"05":"LE MONTANT LIGNE 7PL NE PEUT EXCEDER LE MONTANT LIGNE 7PK":"N";
+A747:discordance :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A760:discordance :"A":"760":"00":"LE SENS DU RAPPEL SAISI N'APPARTIENT PAS AUX VALEURS POSSIBLES":"N";
+A770:discordance :"A":"770":"00":"SI LE CODE RAPPEL EST P, LE CODE MAJO DOIT ETRE 07,08,10,11,17,18 ou 31":"N";
+A780:discordance :"A":"780":"00":"MOIS OU ANNEE DE LA DATE DE NOTIFICATION INVRAISEMBLABLE":"N";
+A800:discordance :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:discordance :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:discordance :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A80203:discordance :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A804:discordance :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:discordance :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A821:discordance :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A854:anomalie :"A":"854":"00":"SAISIE DU CODE 8YV INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A855:anomalie :"A":"855":"00":"SAISIE DU CODE 8YW INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A860:discordance :"A":"860":"00":"LA LIGNE 8WV EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:discordance :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A863:anomalie :"A":"863":"00":"LE CODE 8UX EST SAISI SANS REVENU AUTO-ENTREPRENEUR":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A869:anomalie :"A":"869":"00":"CONTRIBUTION SALARIALE PROVISOIRE 2,5 % (8YV) > A CONTRIBUTION DUE":"N";
+A870:discordance :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:discordance :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:discordance :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A879:discordance :"A":"879":"00":"LA LIGNE 8TG EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:discordance :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:discordance :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A882:discordance :"A":"882":"00":"LIGNE 8TI REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN (OU INVERSEMENT)":"N";
+A883:discordance :"A":"883":"00":"LA LIGNE 8TK EST REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP OU 8XQ":"N";
+A884:discordance :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A885:discordance :"A":"885":"00":"PRISE EN CHARGE DU CODE 8XP OU 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A886:discordance :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR, 8XP OU 8XQ":"N";
+A888:discordance :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A890:discordance :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:discordance :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:discordance :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:discordance :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:discordance :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:discordance :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:discordance :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:discordance :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A950:discordance :"A":"950":"00":"NATIMP OU PPENATREST DIFFERENT DES VALEURS ADMISES":"N";
+A951:discordance :"A":"951":"00":"CODINI DIFFERENT DES VALEURS ADMISES":"N";
+A954:discordance :"A":"954":"00":"NATIMPIR DIFFERENT DES VALEURS ADMISES":"N";
+A955:discordance :"A":"955":"00":"NATCRP DIFFERENT DES VALEURS ADMISES":"N";
+A960:discordance :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:discordance :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:discordance :"A":"961":"02":"SAISIE DU CODE MAJORATION 9YT EN PRESENCE DE LA LIGNE 9HI":"O";
+A96103:discordance :"A":"961":"03":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96104:discordance :"A":"961":"04":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17 ET 18)":"O";
+A96201:discordance :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:discordance :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:discordance :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:discordance :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:discordance :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:discordance :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2012, 2013 OU 2014":"N";
+A96303:discordance :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:discordance :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2012, 2013 OU 2014":"O";
+A96401:discordance :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:discordance :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:discordance :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2011":"N";
+A96501:discordance :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:discordance :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:discordance :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2011":"N";
+A966:discordance :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A96701:anomalie :"A":"967":"01":"R99 SUR LE CODE 9YT ET ABSENCE DE R99 SUR LE CODE 9YU DANS LE MEME EVT":"N";
+A96702:anomalie :"A":"967":"02":"R99 SUR LE CODE 9YU ET ABSENCE DE R99 SUR LE CODE 9YT DANS LE MEME EVT":"N";
+A96801:anomalie :"A":"968":"01":"CODE 9YT AVEC VALEUR A 0 ET 9YU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96802:anomalie :"A":"968":"02":"CODE 9YU AVEC VALEUR A 0 ET 9YT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A970:anomalie :"A":"970":"00":"PRESENCE D'UN TAUX DE PENALITE POUR UNE MINORATION":"N";
+A971:anomalie :"A":"971":"00":"ABSENCE D'UN TAUX DE PENALITE POUR UN RAPPEL":"N";
+A98001:discordance :"A":"980":"01":"BASE ISF 9HI < 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:discordance :"A":"980":"02":"BASE ISF 9HI >= 3 000 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A98003:discordance :"A":"980":"03":"LA BASE ISF NE PEUT ETRE INFERIEURE A 1 300 000":"O";
+A98004:discordance :"A":"980":"04":"LA BASE ISF, INFERIEURE A 1 300 000 E, EST DIFFERENTE DE 0 E":"O";
+A98005:discordance :"A":"980":"05":"LA BASE ISF NE PEUT ETRE SUPERIEURE OU EGALE A 3 000 000 E":"O";
+A981:discordance :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:discordance :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:discordance :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:discordance :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:discordance :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:discordance :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:discordance :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:discordance :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+A990:discordance :"A":"990":"00":" CODE 8VV INCOMPATIBLE AVEC REGIME VALEUR LOCATIVE":"N";
+A99301:anomalie :"A":"993":"01":"ANNULATION 2042: RAMENER LES REVENUS A 0.":"N";
+A99302:anomalie :"A":"993":"02":"SUPPRESSION du code 9YA impossible, veuillez ressaisir une declaration":"N";
+AS0101:discordance :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C":"N";
+AS0102:discordance :"A":"S01":"02":"INCOMPATIBILITE ENTRE DATE DE MARIAGE AVEC OPTION B ET SITUATION M OU O":"N";
+AS0103:discordance :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE MARIAGE SANS OPTION B ET SITUATION C, D OU V":"N";
+AS0104:discordance :"A":"S01":"04":"INCOMPATIBILITE ENTRE DATE DE DIVORCE ET SITUATION M OU O":"N";
+AS0105:discordance :"A":"S01":"05":"INCOMPATIBILITE ENTRE DATES DE DIVORCE ET DE DECES DU CJT ET SITUATION M":"N";
+AS0106:discordance :"A":"S01":"06":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION D":"N";
+AS02:discordance :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE":"N";
+AS11:discordance :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE":"N";
+DD55:discordance :"D":"D55":"00":"LES LIGNES 8TL, 8TQ, 8TV, 8TW, 8TX SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+I015:informative :"I":"015":"00":"LE MONTANT 2AA, 2AL, 2AM, 2AN, 2AQ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+IM41:informative :"I":"M41":"00":"ANNULATION OU MINORATION DE R02 ET 2042_RECT S'EFFECTUE AVEC C02 et 2042_RECT":"N";
diff --git a/sources2011m_9_6/errP.m b/sources2011m_9_6/errP.m
new file mode 100644
index 0000000000000000000000000000000000000000..3ada61560a0442b906871258442df09e78e2930d
--- /dev/null
+++ b/sources2011m_9_6/errP.m
@@ -0,0 +1,321 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 11 Application pro
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)":"N";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).":"N";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)":"N";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A003:anomalie :"A":"003":"00":"PACS CONCLU EN 2010 ET RUPTURE PAR SEPARATION EN 2011, VERIFIEZ":"N";
+A004:anomalie :"A":"004":"00":"CASE 0AB ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES E, G, N, U, W, L.":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES E, G, N, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, S, U.":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S, U.":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U.":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, E, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT OU DU CONJOINT EST INVRAISEMBLABLE":"N";
+A015:discordance :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A01901:discordance :"A":"019":"01":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A01902:discordance :"A":"019":"02":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"O";
+A021:anomalie :"A":"021":"00":"ATTENTION DATES DE NAISSANCE PAC PRISES EN CHARGE SANS CODE 0CF, 0CH":"N";
+A02301:anomalie :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:anomalie :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:anomalie :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENT DE 2011":"N";
+A02401:anomalie :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:anomalie :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:anomalie :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:anomalie :"A":"031":"00":"REV. OU CHARGE AU NOM DU CJT OU PARTEN. POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A078:anomalie :"A":"078":"00":"Code inoperant dans les applications ILIAD-IS et ILIAD-CTX":"N";
+A079:anomalie :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:anomalie :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A082:anomalie :"A":"082":"00":"LE CODE REGIME D IMPOSITION EST DIFFERENT DE 1,2 ou 4":"N";
+A083:anomalie :"A":"083":"00":"UTILISATION DU CODE 8ZA UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A085:anomalie :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:anomalie :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:anomalie :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:anomalie :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:anomalie :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:anomalie :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:anomalie :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:anomalie :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:anomalie :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:anomalie :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:anomalie :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:anomalie :"A":"096":"00":"CODES 8YO ET 8YI : UNIQUEMENT CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A13901:anomalie :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:anomalie :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:anomalie :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:anomalie :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:anomalie :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:anomalie :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:anomalie :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:anomalie :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:anomalie :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:anomalie :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A148:anomalie :"A":"148":"00":"SAISIE DU CODE 1LZ OU 1MZ SANS CODE 8ZK EN ABSENCE DE TAUX EFFECTIF":"N";
+A149:anomalie :"A":"149":"00":"CODE CREDIT D'IMPOT JEUNE NON ADMIS POUR CETTE SITUATION DE FAMILLE":"N";
+A150:anomalie :"A":"150":"00":"CODE CREDIT D'IMPOT JEUNE INCOMPATIBLE AVEC DEPART A L'ETRANGER (9YD).":"N";
+A153:anomalie :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A21801:anomalie :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:anomalie :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A222:anomalie :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR":"N";
+A22301:anomalie :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:anomalie :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A320:anomalie :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM(PEA)":"N";
+A321:anomalie :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A322:anomalie :"A":"322":"00":"MONTANT LIGNE 3VE POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A323:anomalie :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A324:anomalie :"A":"324":"00":"GAINS PORTES LIGNE 3VS SANS GAINS CORRESPONDANTS LIGNE 3VI, 3VJ, 3VK":"N";
+A325:anomalie :"A":"325":"00":"GAINS PORTES LIGNE 3VO SANS GAINS CORRESPONDANTS LIGNE 3VD, 3VI, 3VF, 3VJ, 3VK":"N";
+A420:anomalie :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:anomalie :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:anomalie :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:anomalie :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:anomalie :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:anomalie :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:anomalie :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:anomalie :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:anomalie :"A":"538":"00":"REVENUS A IMPOSER AUX CONTRIBUTIONS SOCIALES SANS REVENU CORRESPONDANT":"N";
+A542:anomalie :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:anomalie :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:anomalie :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (VOUS,CJT)NE PEUT DEPASSER 27 696 EUROS":"N";
+A602:anomalie :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A604:anomalie :"A":"604":"00":"MUTUALISATION DEMANDEE (6QR) SANS PLAFOND CORRESPONDANT POUR LES DEUX CONJOINTS":"N";
+A60501:anomalie :"A":"605":"01":"LE MONTANT 6 QS NE PEUT ETRE INFERIEUR AU MONTANT DE 1 SM":"N";
+A60502:anomalie :"A":"605":"02":"LE MONTANT 6 QT NE PEUT ETRE INFERIEUR AU MONTANT DE 1 DN":"N";
+A700:anomalie :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A701:anomalie :"A":"701":"00":"LE MONTANT PORTE LIGNE 7UE + 7VB NE PEUT DEPASSER 521 E":"N";
+A702:anomalie :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR":"N";
+A703:anomalie :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC VOUS ET CONJOINT NES AVANT 1979":"N";
+A704:anomalie :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A70501:anomalie :"A":"705":"01":"LE CHIFFRE DE LA LIGNE 7HY NE PEUT ETRE SUPERIEUR A 9":"N";
+A70502:anomalie :"A":"705":"02":"LE CHIFFRE DE LA LIGNE 7JY NE PEUT ETRE SUPERIEUR A 15":"N";
+A70503:anomalie :"A":"705":"03":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A70504:anomalie :"A":"705":"04":"LE CHIFFRE DE LA LIGNE 7FY NE PEUT ETRE SUPERIEUR A 6":"N";
+A70601:anomalie :"A":"706":"01":"LE CHIFFRE LIGNE 7IY EST SUPERIEUR AU CHIFFRE DE 7HY":"N";
+A70602:anomalie :"A":"706":"02":"LE CHIFFRE LIGNE 7KY EST SUPERIEUR AU CHIFFRE DE 7JY":"N";
+A70603:anomalie :"A":"706":"03":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70604:anomalie :"A":"706":"04":"LE CHIFFRE LIGNE 7GY EST SUPERIEUR AU CHIFFRE DE 7FY":"N";
+A70701:anomalie :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:anomalie :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:anomalie :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A709:anomalie :"A":"709":"00":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7XC,7XF,7XI,7XP,7XL,7XJ,7XQ,7XM":"N";
+A710:anomalie :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:anomalie :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:anomalie :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:anomalie :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:anomalie :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:anomalie :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:anomalie :"A":"714":"00":"REPORT 2010 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2011 (7WO ET 7WN)":"N";
+A715:anomalie :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:anomalie :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:anomalie :"A":"717":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71702:anomalie :"A":"717":"02":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HJ,7HK,7HN ET 7HO":"N";
+A71703:anomalie :"A":"717":"03":"DISPOSITIF SCELLIER : INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:anomalie :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:anomalie :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A73001:anomalie :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE":"N";
+A73002:anomalie :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TF":"N";
+A731:anomalie :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 6":"N";
+A732:anomalie :"A":"732":"00":"LE CHIFFRE DE LA LIGNE 7 SA EST DIFFERENT DE 1, 2 OU 3":"N";
+A73301:anomalie :"A":"733":"01":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD, 7SE, 7SG NE PEUT EXCEDER 8 000 EUROS.":"N";
+A73302:anomalie :"A":"733":"02":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD, 7SE, 7SG NE PEUT EXCEDER 16 000 EUROS.":"N";
+A73303:anomalie :"A":"733":"03":"LE TOTAL DES LIGNES 7SB, 7SH, 7SD, 7SE, 7SG NE PEUT EXCEDER 24 000 EUROS.":"N";
+A73401:anomalie :"A":"734":"01":"LIGNE 7 SB, 7 SH, 7 SD, 7 SE, 7 SG SANS PRISE EN CHARGE DU CHIFFRE 7 SA":"N";
+A73402:anomalie :"A":"734":"02":"LIGNE 7 SA SAISIE SANS PRISE EN CHARGE DES LIGNES 7 SB, 7 SH, 7 SD, 7 SE, 7 SG":"N";
+A735:anomalie :"A":"735":"00":"CASE 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7WH, 7WK, 7WF, 7WQ, 7WR":"N";
+A73601:anomalie :"A":"736":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7IJ, 7IL, 7IN, 7IV":"N";
+A73602:anomalie :"A":"736":"02":"INCOMPATIBILITE ENTRE LIGNES 7IM ET 7IW":"N";
+A73701:anomalie :"A":"737":"01":"CASE 7 XD COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XC":"N";
+A73702:anomalie :"A":"737":"02":"CASE 7 XE COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XL":"N";
+A738:anomalie :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP":"N";
+A739:anomalie :"A":"739":"00":"CASE 7 QA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:anomalie :"A":"740":"01":"LE TOTAL LIGNES 7 QR + 7 QI NE PEUT ETRE SUPERIEUR A 300 000 E":"N";
+A74002:anomalie :"A":"740":"02":"LE TOTAL LIGNES 7PD + 7PH + 7PL NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74003:anomalie :"A":"740":"03":"LE TOTAL 7QR + 7QI + 7PD + 7PH + 7PL NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:anomalie :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A74201:anomalie :"A":"742":"01":"INCOMPATIBILITE ENTRE LIGNES 7HR ET 7HS":"N";
+A74202:anomalie :"A":"742":"02":"INCOMPATIBILITE ENTRE LIGNES 7HT ET 7HU":"N";
+A74203:anomalie :"A":"742":"03":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HV, 7HW, 7HX , 7HZ":"N";
+A743:anomalie :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:anomalie :"A":"744":"00":"LE MONTANT PORTE LIGNE 7SF NE PEUT DEPASSER 60 000 E":"N";
+A745:anomalie :"A":"745":"00":"INCOMPATIBILITE ENTRE LIGNES 7IP ET 7IQ":"N";
+A74601:anomalie :"A":"746":"01":"LE MONTANT LIGNE 7QR NE PEUT EXCEDER LE MONTANT LIGNE 7QQ":"N";
+A74602:anomalie :"A":"746":"02":"LE MONTANT LIGNE 7QI NE PEUT EXCEDER LE MONTANT LIGNE 7QH":"N";
+A74603:anomalie :"A":"746":"03":"LE MONTANT LIGNE 7PD NE PEUT EXCEDER LE MONTANT LIGNE 7PC":"N";
+A74604:anomalie :"A":"746":"04":"LE MONTANT LIGNE 7PH NE PEUT EXCEDER LE MONTANT LIGNE 7PG":"N";
+A74605:anomalie :"A":"746":"05":"LE MONTANT LIGNE 7PL NE PEUT EXCEDER LE MONTANT LIGNE 7PK":"N";
+A747:anomalie :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A800:anomalie :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:anomalie :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:anomalie :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A80203:anomalie :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A804:anomalie :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:anomalie :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A821:anomalie :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A860:anomalie :"A":"860":"00":"LA LIGNE 8WV EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:anomalie :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A869:anomalie :"A":"869":"00":"CONTRIBUTION SALARIALE PROVISOIRE 2,5 % (8YV) > A CONTRIBUTION DUE":"N";
+A870:anomalie :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:anomalie :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:anomalie :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A879:anomalie :"A":"879":"00":"LA LIGNE 8TG EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:anomalie :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:anomalie :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A882:anomalie :"A":"882":"00":"LIGNE 8TI REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN (OU INVERSEMENT)":"N";
+A883:anomalie :"A":"883":"00":"LA LIGNE 8TK EST REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP OU 8XQ":"N";
+A884:anomalie :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A885:anomalie :"A":"885":"00":"PRISE EN CHARGE DU CODE 8XP OU 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A886:anomalie :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR, 8XP OU 8XQ":"N";
+A887:anomalie :"A":"887":"00":"REVENU NET CODE 8XR SUPERIEUR AU MONTANT LIGNE 8TK":"N";
+A888:anomalie :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A889:anomalie :"A":"889":"00":"SAISIE CODE 8 FV SANS PRISE EN CHARGE DU CODE 8 ZK":"N";
+A890:anomalie :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:anomalie :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:anomalie :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:anomalie :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:anomalie :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:anomalie :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:anomalie :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:anomalie :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A960:anomalie :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:anomalie :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:anomalie :"A":"961":"02":"SAISIE DU CODE MAJORATION 9YT EN PRESENCE DE LA LIGNE 9HI":"O";
+A96103:anomalie :"A":"961":"03":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96104:anomalie :"A":"961":"04":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17 ET 18)":"O";
+A96201:anomalie :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:anomalie :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:anomalie :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:anomalie :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:anomalie :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:anomalie :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2012, 2013 OU 2014":"N";
+A96303:anomalie :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:anomalie :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2012, 2013 OU 2014":"O";
+A96401:anomalie :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:anomalie :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:anomalie :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2011":"N";
+A96501:anomalie :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:anomalie :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:anomalie :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2011":"N";
+A966:anomalie :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A98001:anomalie :"A":"980":"01":"BASE ISF 9HI < 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:anomalie :"A":"980":"02":"BASE ISF 9HI >= 3 000 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A98003:anomalie :"A":"980":"03":"LA BASE ISF NE PEUT ETRE INFERIEURE A 1 300 000":"O";
+A98004:anomalie :"A":"980":"04":"LA BASE ISF, INFERIEURE A 1 300 000 E, EST DIFFERENTE DE 0 E":"O";
+A98005:anomalie :"A":"980":"05":"LA BASE ISF NE PEUT ETRE SUPERIEURE OU EGALE A 3 000 000 E":"O";
+A981:anomalie :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:anomalie :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:anomalie :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:anomalie :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:anomalie :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:anomalie :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:anomalie :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:anomalie :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+AS0101:anomalie :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C":"N";
+AS0102:anomalie :"A":"S01":"02":"INCOMPATIBILITE ENTRE DATE DE MARIAGE AVEC OPTION B ET SITUATION M OU O":"N";
+AS0103:anomalie :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE MARIAGE SANS OPTION B ET SITUATION C, D OU V":"N";
+AS0104:anomalie :"A":"S01":"04":"INCOMPATIBILITE ENTRE DATE DE DIVORCE ET SITUATION M OU O":"N";
+AS0105:anomalie :"A":"S01":"05":"INCOMPATIBILITE ENTRE DATES DE DIVORCE ET DE DECES DU CJT ET SITUATION M":"N";
+AS0106:anomalie :"A":"S01":"06":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION D":"N";
+AS02:anomalie :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE":"N";
+AS11:anomalie :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE":"N";
+DD02:discordance :"D":"D02":"00":"VERIFIER LE CUMUL DE 7CF (CAPITAL PME) AVEC 7FN, 7GN ":"N";
+DD03:discordance :"D":"D03":"00":"MONTANT DES FRAIS RCM EXAGERE OU FRAIS AVEC REVENU LIGNE 2FU 2CH 2GO 2TR":"N";
+DD04:discordance :"D":"D04":"00":"MONTANT DU CREDIT D'IMPOT EXAGERE":"N";
+DD06:discordance :"D":"D06":"00":"REPORT LIGNE 7XF,7XI,7XP,7XM,7XJ,7XQ,7XO,7XK,7XR > 8333 E (C,D,V) OU 16667 E (M)":"N";
+DD07:discordance :"D":"D07":"00":"LE MONTANT 7OZ, 7PZ, 7QZ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD08:discordance :"D":"D08":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+DD09:discordance :"D":"D09":"00":"CREDIT PRET ETUDIANT LIGNE 7TD DEJA OBTENU EN N-1":"N";
+DD10:discordance :"D":"D10":"00":"ENFANTS BENEFICIANT DE FRAIS DE GARDE > AU NOMBRE D'ENFANTS < 7 ANS":"N";
+DD11:discordance :"D":"D11":"00":"REGIME MICRO-FONCIER (4BE) AVEC DEFICITS FONCIERS ANTERIEURS (4BD)":"N";
+DD13:discordance :"D":"D13":"00":"SITUATION FORFAITAIRE A DENONCER SELON LES TERMES DE L'ARTICLE 69A2 DU CGI":"N";
+DD14:discordance :"D":"D14":"00":"LE MONTANT 2CG EST > AU TOTAL DES LIGNES 2DC + 2CH + 2TS + 2TR":"N";
+DD15:discordance :"D":"D15":"00":"LE MONTANT 7WP (REPORT 2010) EST > AU MONTANT CALCULE DE N-1":"N";
+DD16:discordance :"D":"D16":"00":"FRAIS D'ACCUEIL ET PERSONNE A CHARGE AVEC CARTE D'INVALIDITE":"N";
+DD19:discordance :"D":"D19":"00":"NOMBRE LIGNE 7FG > NOMBRE DE RUBRIQUES ADMISES DU o5":"N";
+DD21:discordance :"D":"D21":"00":"SAISIE DE 7DF,7DB ET 7DG SANS INVALIDITE CADRE A (CODE PF) OU C (CODE G,I,R)":"N";
+DD27:discordance :"D":"D27":"00":"LE MONTANT 7CL,7CM,7CN,7CQ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD28:discordance :"D":"D28":"00":"CREDIT 8WB DEJA OBTENU EN N-1 : 1SEUL CREDIT PAR ENTREPRISE":"N";
+DD29:discordance :"D":"D29":"00":"LE MONTANT 7XS,7XT,7XU,7XW,7XY (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD32:discordance :"D":"D32":"00":"CREDIT SALARIE A DOMICILE SANS REVENU D ACTIVITE : VERIFIEZ LA SITUATION":"N";
+DD34:discordance :"D":"D34":"00":"VERIFIER LE CUMUL 7FM AVEC 7FQ, 7GQ":"N";
+DD35:discordance :"D":"D35":"00":"CASE NOUVEAU RESIDENT LIGNE 6QW DEJA SAISIE EN N-1":"N";
+DD3601:discordance :"D":"D36":"01":"CASE 7WE COCHEE AVEC UN RFR 2008 SUPERIEUR A 45 000 EUROS":"N";
+DD3602:discordance :"D":"D36":"02":"CASE 7WE COCHEE SANS RFR DE 2008":"N";
+DD37:discordance :"D":"D37":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+DD3801:discordance :"D":"D38":"01":"REGIME AUTO-ENTREPRENEUR AVEC RFR 2009 SUPERIEUR A LIMITE ADMISE":"N";
+DD3802:discordance :"D":"D38":"02":"REGIME AUTO-ENTREPRENEUR SANS RFR DE 2008":"N";
+DD39:discordance :"D":"D39":"00":"LE MONTANT 6 HJ, 6HK (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD40:discordance :"D":"D40":"00":"LE MONTANT 7LA, 7LB (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD41:discordance :"D":"D41":"00":"LE MONTANT 7IS, 7IU (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD42:discordance :"D":"D42":"00":"LE MONTANT 7UU, 7TE, 7UV, 7TF (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD43:discordance :"D":"D43":"00":"LES MONTANTS REPORT INVEST. DOM ENTREPRISE SONT > AUX MONTANTS CALCULES DE N-1":"N";
+DD44:discordance :"D":"D44":"00":"LES MONTANTS 7KG, 7KH, 7KI (REPORT) SONT > AUX MONTANTS CALCULES DE N-1":"N";
+DD45:discordance :"D":"D45":"00":"REPORT 'SCELLIER'  > 33 333 E":"N";
+DD46:discordance :"D":"D46":"00":"REPORT LIGNE 7IP, 7IQ, 7IR, 7IK > 33 333 E":"N";
+DD48:discordance :"D":"D48":"00":"LE MONTANT 7LC (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD49:discordance :"D":"D49":"00":"LE MONTANT 7IT (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD50:discordance :"D":"D50":"00":"LE MONTANT 7KB (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD5101:discordance :"D":"D51":"01":"LE TOTAL 7QR + 7QI + (7QR + 7QI CALCULE DE N-1) EST > 300000 E":"N";
+DD5102:discordance :"D":"D51":"02":"LE TOTAL 7PD + 7PH + 7PL + (7QR + 7QI CALCULE DE N-1) EST > 270000 E":"N";
+DD5103:discordance :"D":"D51":"03":"LE TOTAL 7QR + 7QI + 7PD + 7PH + 7PL + (7QR + 7QI CALCULE DE N-1) EST > 300000 E":"N";
+DD52:discordance :"D":"D52":"00":"DEFICIT LOC. MEUB. NON PROF. DECLARE (5GA A 5GJ) > A DEFICIT CALCULE EN N-1":"N";
+DD53:discordance :"D":"D53":"00":"DEFICIT ACTI. NON COM. NON PROF. DECLARE (5RN A 5RW) > A DEFICIT CALCULE EN N-1":"N";
+DD54:discordance :"D":"D54":"00":"CASE 7WG COCHEE AVEC LIGNES 7WQ A 7WR SAISIES":"N";
+DD55:discordance :"D":"D55":"00":"LES LIGNES 8TL, 8TQ, 8TV, 8TW, 8TX SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+DD56:discordance :"D":"D56":"00":"SAISIE DE REVENUS AUTO-ENTREPRENEURS POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+I00101:informative :"I":"001":"01":"COTIS.  SYNDICALES NON RETENUES (VOUS): SALAIRES + FRAIS REELS":"N";
+I00102:informative :"I":"001":"02":"COTIS. SYNDICALES NON RETENUES (CJT): SALAIRES + FRAIS REELS":"N";
+I00103:informative :"I":"001":"03":"COTISATIONS SYNDICALES NON RETENUES (PAC): SALAIRES + FRAIS REELS":"N";
+I008:informative :"I":"008":"00":"LE NOMBRE DE PERSONNE (6EV) N'EST PAS INDIQUE":"N";
+I009:informative :"I":"009":"00":"LE NOMBRE D'EXPLOITATIONS (7FG) N'EST PAS INDIQUE.":"N";
+I010:informative :"I":"010":"00":"REVENUS OU CHARGE AU NOM DU CONJOINT OU PARTENAIRE POUR UN CONTRIBUABLE VEUF":"N";
+I011:informative :"I":"011":"00":"1/2 PART SUPP. NON RETENUE (CASE S) : VOUS + CJT NES APRES 1936":"N";
+I012:informative :"I":"012":"00":"1/2 PART SUPP. NON RETENUE (CASE W) : CONTRIBUABLE NE APRES 1936":"N";
+I013:informative :"I":"013":"00":"PAS DE CASES E ET H AVEC NB DE PARTS EN N-1 > 1 : VERIFIER SI CONTRIB. SEUL":"N";
+I015:informative :"I":"015":"00":"LE MONTANT 2AA, 2AL, 2AM, 2AN, 2AQ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+IM03:informative :"I":"M03":"00":"LE MONTANT 8UZ NE PEUT DEPASSER 500 000 E":"N";
+IM06:informative :"I":"M06":"00":"ATTENTION, MONTANT DES DONS NON CONFIRME (7UE, 7VB, 7UG, 7VD)":"N";
+IM07:informative :"I":"M07":"00":"ATTENTION, MONTANT DES COTISATIONS SYNDICALES NON CONFIRME":"N";
+IM08:informative :"I":"M08":"00":"LE MONTANT 8WB NE PEUT DEPASSER 80 000 E PAR ENTREPRISE":"N";
diff --git a/sources2011m_9_6/horizoc.m b/sources2011m_9_6/horizoc.m
new file mode 100644
index 0000000000000000000000000000000000000000..b4619b71252373be51d18395d9fec04e935d6447
--- /dev/null
+++ b/sources2011m_9_6/horizoc.m
@@ -0,0 +1,52 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif corrective horizontale 760 :
+application : oceans, iliad ;
+si          (
+            V_IND_TRAIT > 0
+	    et
+            SENS_RAPPEL non dans (1, 2, 3, 4)
+	    )
+alors erreur A760;
+verif corrective horizontale 770 :
+application : oceans, iliad ;
+si          (
+            V_IND_TRAIT > 0
+	    et
+            SENS_RAPPEL = 4 
+	    et 
+            PEN_RAPPEL non dans (07, 08, 09, 10, 11, 12, 17, 18, 31)
+	    )
+alors erreur A770;
+verif corrective horizontale 780 :
+application : oceans, iliad ;
+si
+ (
+            V_IND_TRAIT > 0
+	    et
+	    (
+            ANNEE_RAPPEL <= V_ANREV
+            ou
+            MOIS_RAPPEL non dans ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 )
+	    )
+ )
+
+alors erreur A780;
diff --git a/sources2011m_9_6/horizoi.m b/sources2011m_9_6/horizoi.m
new file mode 100644
index 0000000000000000000000000000000000000000..f0e7ad51629684813b83c41fb745211020a31356
--- /dev/null
+++ b/sources2011m_9_6/horizoi.m
@@ -0,0 +1,57 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+verif corrective horizontale 19 :
+application : iliad,oceans ;
+si
+   (
+      ( COD_RAPPEL = 1 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 2 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 3 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 4 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 5 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 6 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 7 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 8 et MONT_RAPPEL > 19)
+   )
+alors erreur A01901;
+verif corrective horizontale 1401 :
+application : iliad,oceans ;
+si
+    (
+      COD_RAPPEL = 1401 et MONT_RAPPEL > 45 
+     )
+alors erreur A14001;
+verif corrective horizontale 1411 :
+application : iliad,oceans ;
+si
+    (
+      COD_RAPPEL = 1411 et MONT_RAPPEL > 25 
+     )
+alors erreur A14101;
+verif corrective horizontale 20200 :
+application : iliad,oceans ;
+si
+  (
+    COD_RAPPEL = 2020 et MONT_RAPPEL > 9
+
+  )
+alors erreur A00101;
diff --git a/sources2011m_9_6/res-ser1.m b/sources2011m_9_6/res-ser1.m
new file mode 100644
index 0000000000000000000000000000000000000000..05ca490f580251f29dc598d8799c87e3a461bbf8
--- /dev/null
+++ b/sources2011m_9_6/res-ser1.m
@@ -0,0 +1,535 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #####   ######   ####    #####     #     #####   ########
+ #    #  #       #          #       #       #     #      #
+ #    #  #####    ####      #       #       #      #    #
+ #####   #            #     #       #       #       ####
+ #   #   #       #    #     #       #       #      #    #
+ #    #  ######   ####      #       #       #     ########
+ #
+ #
+ #
+ #
+ #                 RES-SER1.m
+ #                 ===========
+ #
+ #
+ #                      zones restituees par l'application
+ #
+ #
+ #
+ #
+ #
+ #
+regle 9500:
+application :  iliad , pro, oceans , bareme ,batch;
+MCDV = 1 * positif(V_0AM + 0)
+     + 2 * positif(V_0AC + 0)
+     + 3 * positif(V_0AD + 0)
+     + 4 * positif(V_0AV + 0)
+     + 5 * positif(V_0AO + 0);
+SFM = si  ( BOOL_0AM=1 ) 
+          alors ( si (V_0AP+0=1)
+                  alors ( si (V_0AF+0=1)
+                          alors (1)
+                          sinon (2)
+                          finsi)
+                  sinon ( si (V_0AF+0=1) 
+                          alors (3)
+                          sinon ( si ( V_0AS+0=1 et
+                          (AGV >= LIM_AGE_LET_S ou AGC >= LIM_AGE_LET_S)
+                                      )
+                                  alors (4)
+                                  finsi)
+                          finsi)
+                  finsi)
+       finsi;
+regle 9501:
+application : batch , iliad, pro, oceans , bareme ;
+
+BOOL_V = positif(V_0AV+0) * positif(1 - BOOL_0AZ) 
+			  * ((1 - positif(PAC + V_0CH + 0))
+			     + positif(PAC + V_0CH + 0) * (3 - null(EAC + V_0CH + 0))) ;
+BOOL_CDV = positif( BOOL_V + V_0AC + V_0AD + 0);
+BOOL_PACSFL = 1 - positif( PAC +V_0CH + 0);
+BOOL_W = positif(V_0AW + 0) * positif_ou_nul( AGV - LIM_AGE_LET_S );
+SFCD1 = ( 15 * positif(V_0AN + 0) * (1 - positif(V_0AP + 0)) * (1 - positif(V_0AG + 0)) * (1 - BOOL_W)         
+ 
+       + 2 * positif(V_0AP + 0) * (1-positif(V_0AL+0))          
+
+
+	+ 5 * ( positif(V_0AE+0) * positif(V_BT0AE + ZONEANTEK + 0))
+	     
+	     * (1 - positif(V_0AN + 0)) * (1 - positif(V_0AP + 0)) * positif(1-(V_0AG + 0)) * (1 - BOOL_W)
+
+
+       + 14 * positif(V_0AG + 0) * (1 - positif(V_0AP + 0)) * (1 - BOOL_W)                   
+
+       + 7 * BOOL_W * (1 - positif(V_0AP + 0)))
+       
+       * (1-positif(V_0AL+0)) * BOOL_CDV * BOOL_PACSFL;
+
+regle 9507:
+application : batch , iliad , pro , oceans , bareme ;
+SFL = positif (V_0AL + 0) * BOOL_CDV * BOOL_PACSFL *
+
+      ( 2 * positif(V_0AP + 0) 
+
+      + 9 * ( 1 - BOOL_W ) * positif( 1- V_0AP + 0) * positif(1-(V_0AG + 0)) * positif (1-(V_0AN+0))  
+
+      + 7 * BOOL_W * positif(1-(V_0AP + 0)) 
+
+      + 15 * positif (V_0AN +0) * ( 1 - BOOL_W ) * positif(1-(V_0AG + 0)) * positif(1-(V_0AP + 0)) 
+
+      + 14 * positif (V_0AG +0) * ( 1 - BOOL_W ) * positif(1-(V_0AP + 0))) ;
+regle 9502:
+application : batch , iliad , pro , oceans , bareme ;
+
+
+SFCD2 = positif(PAC+V_0CH) * positif(V_0AC + V_0AD + null(2- BOOL_V)) *
+        (
+            10 * positif(V_0BT+0) * (1 - positif(V_0AV)) * positif(V_0AP)
+           + 2 * positif(V_0AV) * positif(V_0AP)
+	   + 2 * (1 - positif(V_0AV)) *(1 - positif(V_0BT+0)) * positif(V_0AP)
+           +11 * positif(V_0BT+0)*(1-positif(V_0AP))*(1-positif(V_0CR))
+         );	
+
+
+
+regle 9503:
+application : batch , iliad , pro, oceans , bareme ;
+
+SFV1 = 2 * positif(V_0AP + 0) * null(BOOL_V - 3) ;
+
+regle 9504:
+application : batch , iliad , pro, oceans , bareme ;
+SFV2 = si ( V_0AV+0=1 et BOOL_0AZ =1)
+       alors (si (V_0AP+0=1)
+              alors (si (V_0AF+0=1)
+                     alors (1)
+                     sinon (2)
+                     finsi)
+              sinon (si (V_0AF+0=1)
+                     alors (3)
+                     sinon (si (V_0AW+0=1)
+                            alors (7)
+                            finsi)
+                     finsi)  
+              finsi)
+        finsi;
+regle 9505:
+application : batch , iliad , pro, oceans , bareme ;
+BOOL_0AM = positif(positif(V_0AM + 0 )  + positif(V_0AO + 0)) ;
+regle 9506:
+application : batch , iliad , pro, oceans , bareme ;
+SFUTILE = SFM + SFCD1 + SFCD2 + SFV1 + SFV2 + SFL ;
+regle 9510:
+application : pro , iliad ;
+NATPENA = si (CMAJ =7 ou CMAJ =8 ou CMAJ=9 ou CMAJ=10 ou CMAJ=11 ou CMAJ=12 ou CMAJ=17 ou CMAJ=18 )
+          alors (1)
+          sinon ( si ( CMAJ = 2 )
+                  alors (2)
+                  sinon ( si ( CMAJ=3 ou CMAJ=4 ou CMAJ=5 ou CMAJ=6 ) 
+                          alors (4)
+                          finsi
+                        )
+                  finsi
+                 )
+           finsi;
+regle 901:
+application : oceans ;
+TSALV = TSBNV;
+TSALC = TSBNC;
+regle 902:
+application : pro , oceans , iliad , batch  ;
+TSALP = TSBN1 + TSBN2 + TSBN3 + TSBN4;
+regle 903 :
+application : pro ,  iliad , oceans , batch  ;
+pour i = V,C,1..4:
+F10Ai = si (IND_10i = 0 ou
+       (IND_10i = 1 et IND_10MIN_0i = 0))
+        alors (max(FRDi,DFNi))
+       finsi;
+regle 90301 :
+application : pro , oceans , iliad , batch  ;
+F10AP = somme(i=1..4:F10Ai);  
+regle 90302 :
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1..4:
+F10Bi = si (IND_10i = 1 et IND_10MIN_0i = 1)
+        alors (10MINSi)
+       finsi;
+regle 90303 :
+application : pro , oceans , iliad , batch  ;
+F10BP = somme(i=1..4:F10Bi);
+regle 904 :
+application : pro , oceans , iliad , batch  ;
+pour i = V,C,1,2,3,4:
+DEDSi =  (10MINSi - DFNi) * (1-positif(F10Bi)) * IND_10i ;
+regle 90401 :
+application : pro , oceans , iliad , batch  ;
+DEDSP = somme( i=1..4: DEDSi ) ;
+regle 905 :
+application : pro , oceans , iliad , batch ;
+PRV = PRBRV;
+PRC = PRBRC;
+PRP = PRBR1 + PRBR2 + PRBR3 + PRBR4 ;
+PALIP = PALI1 + PALI2 + PALI3 + PALI4;
+regle 906 :
+application : pro , oceans , iliad , batch  ;
+pour i = V,C:
+AB10i = APRi;
+AB10P = APR1 + APR2 + APR3 + APR4 ;
+regle 909:
+application : pro , iliad , batch , oceans ;
+TSPRT = TSPRV + TSPRC + TSPRP ;
+regle 9011 :
+application : pro , oceans , iliad , batch ;
+pour i = V,C,P:
+RBAi = BAHREi + 4BAHREi
+     + BACREi + 4BACREi
+     + BAFORESTi
+     + BAFi + BAFPVi- BACDEi- BAHDEi;
+regle 9013 :
+application : pro , oceans , iliad , batch ;
+pour i= V,C,P:
+BIPi =
+   BICNOi  
+ - BICDNi  
+ + BIHNOi  
+ - BIHDNi  
+  ; 
+
+pour i= V,C,P:                                           
+BIPNi = BIPTAi + BIHTAi ;                        
+BIPN  = BIPNV + BIPNC + BIPNP ;                          
+                                                         
+
+pour i= V,C,P:                                           
+MIBRi = MIBVENi + MIBPRESi ;
+MIBR = somme(i=V,P,C: MIBRi);
+pour i= V,C,P:                                           
+MLOCDECi = MIBGITEi + MIBMEUi ;
+pour i= V,C,P:                                           
+MIBRABi = MIB_ABVi + MIB_ABPi ;
+pour i= V,C,P:                                           
+MLOCABi = MIB_ABNPVLi + MIB_ABNPPLi ;
+pour i= V,C,P:                                           
+MIBRNETi = max (0,MIBRi - MIBRABi );
+MIBRNET = somme(i=V,C,P:MIBRNETi);
+pour i= V,C,P:                                           
+MLOCNETi = max (0,MLOCDECi - MLOCABi );
+MLOCNET = somme(i=V,C,P:MLOCNETi);
+pour i= V,C,P:                                           
+MIBNPRi = MIBNPVENi + MIBNPPRESi ;
+pour i= V,C,P:                                           
+MIBNPRABi = MIB_ABNPVi + MIB_ABNPPi ;
+pour i= V,C,P:                                           
+MIBNPRNETi = max (0,MIBNPRi - MIBNPRABi );
+regle 9014 :
+application : pro , oceans , iliad , batch  ;
+
+pour i=V,C,P:
+BINi = 
+   BICREi  
+ - BICDEi  
+ + BICHREi  
+ - BICHDEi  
+ ;  
+
+regle 90141 :
+application : pro , oceans , iliad , batch  ;
+
+pour i=V,C,P:
+BINNi= BINTAi + BINHTAi;
+regle 9015 :
+application : pro , oceans , iliad , batch  ;
+BNCV = BNHREV + BNCREV - BNHDEV - BNCDEV;
+BNCC = BNHREC + BNCREC - BNHDEC - BNCDEC;
+BNCP = BNHREP + BNCREP - BNHDEP - BNCDEP;
+regle 9016 :
+application : pro , oceans ,  iliad , batch  ;
+DIDABNCNP =  abs(min(NOCEPIMP+SPENETNPF,DABNCNP6+DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1)
+	     *positif(DABNCNP6+DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1)*positif(NOCEPIMP+SPENETNPF));
+BNCIF = max (0,NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2-DABNCNP1);
+regle 9024 :
+application : pro , iliad , oceans, batch ;
+BRCM = RCMABD + RCMTNC + RCMAV + RCMHAD + RCMHAB + REGPRIV;
+regle 90240 :
+application : pro , iliad , oceans, batch ;
+BRCMQ = REVACT + REVPEA + PROVIE + DISQUO + RESTUC + INTERE;
+regle 90241 :
+application : pro , oceans , iliad , batch  ;
+RRCM = max(0,RCM);
+regle 9026 :
+application : pro , oceans , iliad , batch  ;
+B1FIS = max( RCM+2RCM+3RCM+4RCM+5RCM+6RCM+7RCM , 0 );
+regle 9028 :
+application : pro , oceans , iliad , batch  ;
+DRFRP = (1-positif(IPVLOC)) * (abs (DFCE+DFCG) * (1-positif(RFMIC))
+             + positif(RFMIC) *  abs(min(0,RFMIC - MICFR - RFDANT)) );
+regle 9030 :
+application : pro , oceans , iliad , batch  ;
+
+
+DLMRN1TXM = - min(0,MIB_NETCT *(1-positif(MIBNETPTOT))
+                          +SPENETCT * (1 - positif(SPENETPF)));
+DLMRN6 =  positif(DEFBIC5) * (
+	    (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)) * max(0,DEFBIC5-max(0,DEFNPI-DEFBIC6))
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+           * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6,0)-DEFBIC5,DEFBIC5)*(-1)
+           * positif_ou_nul(DEFBIC5-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6,0))
+			     );
+DLMRN5 = positif(DEFBIC4) * (
+	     (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)) * max(0,DEFBIC4+min(0,DEFBIC5-max(0,DEFNPI-DEFBIC6)))
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+           * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5,0)-DEFBIC4,DEFBIC4)*(-1)
+           * positif_ou_nul(DEFBIC4-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5,0))     
+			     );
+DLMRN4 = positif(DEFBIC3) * (
+	      (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))  * max(0,DEFBIC3+min(0,DEFBIC5+DEFBIC4-max(0,DEFNPI-DEFBIC6)))
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+           * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4,0)-DEFBIC3,DEFBIC3)*(-1)
+           * positif_ou_nul(DEFBIC3-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4,0))
+			     );
+DLMRN3 = positif(DEFBIC2) * (
+	      (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))* max(0,DEFBIC2+min(0,DEFBIC5+DEFBIC4+DEFBIC3-max(0,DEFNPI-DEFBIC6)))
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+           * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3,0)-DEFBIC2,DEFBIC2)*(-1)
+           * positif_ou_nul(DEFBIC2-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3,0))
+			     );
+DLMRN2 = positif(DEFBIC1) * (
+	      (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))* max(0,DEFBIC1+min(0,DEFBIC5+DEFBIC4+DEFBIC3+DEFBIC2-max(0,DEFNPI-DEFBIC6)))
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+           * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3-DEFBIC2,0)-DEFBIC1,DEFBIC1)*(-1)
+           * positif_ou_nul(DEFBIC1-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3-DEFBIC2,0))
+			    );
+DLMRN1 = (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)) * abs(somme(i=V,C,P:BICNPi)-DEFNPI+MIB_NETNPCT)
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+		      * positif_ou_nul(DEFBIC5+DEFBIC4+DEFBIC3+DEFBIC2+DEFBIC1-(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))
+                      * (DEFBIC5+DEFBIC4+DEFBIC3+DEFBIC2+DEFBIC1-(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))
+                      * null(DLMRN6+DLMRN5+DLMRN4+DLMRN3+DLMRN2) ;
+DLMRN = max(0, DEFNP - BICNPV*positif(BICNPV)-BICNPC*positif(BICNPC)-BICNPP*positif(BICNPP)
+                     + abs(BICNPV)*(1-positif(BICNPV))*null(DLMRN1)
+                     + abs(BICNPC)*(1-positif(BICNPC))*null(DLMRN1)
+                     + abs(BICNPP)*(1-positif(BICNPP))*null(DLMRN1)) + DLMRN1;
+TOTDLMRN = somme(i=1..6:DLMRNi);
+DLMRNTXM = max(0,DEFNP - BICNPV*positif(BICNPV)-BICNPC*positif(BICNPC)-BICNPP*positif(BICNPP)
+         +MIB_NETCT+MIB_NETNPCT+SPENETCT+SPENETNPCT + DLMRN1 
+               );
+regle 90305: 
+application : pro , oceans , iliad , batch  ;
+DRCVM = DPVRCM ;
+regle 9031 :
+application : pro , oceans , iliad , batch  ;
+BALNP = max(0,NOCEPIMP);
+NOCEP = ANOCEP - (DNOCEP + DABNCNP6+DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1);
+regle 9032 :
+application : pro , oceans , iliad , batch  ;
+DALNP = (1-positif(IPVLOC)) * (BNCDF1+BNCDF2+BNCDF3+BNCDF4+BNCDF5+BNCDF6);
+regle 9033 :
+application :  pro , oceans , iliad , batch  ;
+DESV =  REPSOF;
+regle 9042 :
+application : pro, batch, oceans , iliad  ;
+VLHAB = max ( 0 , IPVLOC ) ;
+regle 9043 :
+application : pro , oceans , iliad , batch  ;
+DFANT = DAR;
+DAR_REP =  somme (i=0..4:DEFAAi) * (1 - positif(IPVLOC));
+regle 9044 :
+application : pro , oceans , iliad , batch  ;
+RRBG = (RG - DAR ) *(1-positif(RE168+TAX1649)) + positif(RE168+TAX1649) * (RE168+TAX1649);
+RRRBG = max(0 , RRBG);
+DRBG = min(0 , RRBG);
+regle 9045 :
+application : pro , oceans , iliad , batch  ;
+DDCSG = (V_BTCSGDED * (1-present(DCSG)) + DCSG) * (1-null(4 -V_REGCO)) 
+	+ arr(RCMSOC * T_IDCSG/100) * (1 - positif(null(2-V_REGCO)+null(4-V_REGCO))) ;
+
+RDCSG = max (min(DDCSG , RBG + TOTALQUO - SDD) , 0);
+regle 9047 :
+application : pro , oceans , iliad , batch  ;
+DPALE =  somme(i=1..4:CHENFi+NCHENFi);
+RPALE = max(0,min(somme(i=1..4:min(NCHENFi,LIM_PENSALENF)+min(arr(CHENFi*MAJREV),LIM_PENSALENF)),
+                RBG-DDCSG+TOTALQUO-SDD)) *(1-V_CNR);
+regle 9049 :
+application : pro , oceans , iliad , batch  ;
+DNETU = somme(i=1..4: CHENFi);
+RNETU = max(0,min(somme(i=1..4:min(CHENFi,LIM_PENSALENF)),
+                RBG+TOTALQUO-SDD-RPALE)) *(1-V_CNR);
+regle 9050 :
+application : pro , oceans , iliad , batch  ;
+DPREC = CHNFAC;
+regle 9051 :
+application : pro , oceans , iliad , batch  ;
+DFACC = CHRFAC;
+RFACC = max( min(DFA,RBG - RPALE - RPALP  - DDCSG + TOTALQUO - SDD) , 0);
+regle 9052 :
+application : oceans ;
+TRANSFERT = R1649+PREREV+RE168+TAX1649;
+regle 9054 :
+application : pro , oceans , iliad , batch  ;
+RPALP = max( min(TOTPA,RBG - RPALE - DDCSG + TOTALQUO - SDD) , 0 ) * (1 -V_CNR);
+DPALP = PAAV + PAAP ;
+regle 9055 :
+application : pro , oceans , iliad , batch  ;
+DEDIV = (1-positif(RE168+TAX1649))*CHRDED;
+RDDIV = max( min(DEDIV * (1 - V_CNR),RBG - RPALE - RPALP - RFACC - DDCSG + TOTALQUO - SDD ) , 0 );
+
+regle 90551 :
+application : pro , oceans , iliad , batch  ;
+
+NUPROPT = REPGROREP2 + REPGROREP1 + NUPROP ;
+
+NUREPAR = min(NUPROPT , max(0,min(PLAF_NUREPAR, RRBG - RPALE - RPALP - RFACC - RDDIV - APERPV - APERPC - APERPP - DDCSG + TOTALQUO - SDD))) 
+	  * (1 - V_CNR) ;
+
+REPNUREPAR = max( NUPROPT - NUREPAR , 0 ) ;
+ 
+REPAR2 = max( REPGROREP2 - NUREPAR , 0 ) * (1 - V_CNR) ;
+
+REPAR1 = ( positif_ou_nul(REPGROREP2 - NUREPAR) * REPGROREP1
+	 + (1-positif_ou_nul(REPGROREP2 - NUREPAR)) * max( REPGROREP1 + REPGROREP2 - NUREPAR , 0 )) * (1 - V_CNR) ;
+
+REPAR = max( REPNUREPAR - REPAR1 - REPAR2, 0 ) * (1 - V_CNR) ;
+
+regle 9059 :
+application : pro , oceans , iliad , batch  ;
+CHTOT = max( 0 , 
+   min( DPA + DFA + (1-positif(RE168+TAX1649))*CHRDED + APERPV + APERPC + APERPP + NUREPAR , RBG
+       - DDCSG + TOTALQUO - SDD) 
+           )  * (1-V_CNR);
+regle 9060 :
+application : pro , oceans , iliad , batch  ;
+ABMAR = min(ABTMA,  max(RNG + TOTALQUO - SDD - SDC - ABTPA , 0));
+regle 9061 :
+application : pro , oceans , iliad , batch  ;
+ABVIE = min(ABTPA,max(RNG+TOTALQUO-SDD-SDC,0));
+regle 9062 :
+application : pro , oceans , iliad , batch  ;
+RNI =   positif(RG+R1649+PREREV) * arr(RI1) * (1-positif(RE168+TAX1649))
+      + (RE168+TAX1649) * positif(RE168+TAX1649);
+regle 9063 :
+application : pro , oceans , iliad , batch  ;
+RNIDF = (1 - positif_ou_nul( RG-DAR+TOTALQUO )) 
+         * (
+         (1 - positif_ou_nul(RG + TOTALQUO)) *
+          (((RG + TOTALQUO) * (-1)) + DAR_REP)
+         + null(RG+TOTALQUO) * (DAR_REP)
+         + positif(RG + TOTALQUO) *
+           (positif(RG + TOTALQUO - DEFAA5) * (RG + TOTALQUO - DAR )
+	   + (1 -positif(RG + TOTALQUO - DEFAA5)) * DAR_REP)
+           );
+RNIDF0 = (1-positif(RG + TOTALQUO)) * (RG + TOTALQUO) * (-1);
+
+RNIDF1 = (1-positif_ou_nul(RG + TOTALQUO)) * (DEFAA0)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2-DEFAA1,0)-DEFAA0,DEFAA0)*(-1)
+     * positif_ou_nul(DEFAA0-max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2-DEFAA1,0));
+
+RNIDF2 = (1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA1)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2,0)-DEFAA1,DEFAA1)*(-1)
+     * positif_ou_nul(DEFAA1-max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2,0));
+
+RNIDF3 = (1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA2)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3,0)-DEFAA2,DEFAA2)*(-1)
+     * positif_ou_nul(DEFAA2-max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3,0));
+
+RNIDF4 = (1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA3)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5-DEFAA4,0)-DEFAA3,DEFAA3)*(-1)
+     * positif_ou_nul(DEFAA3-max(RG+TOTALQUO-DEFAA5-DEFAA4,0));
+
+RNIDF5 = (1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA4)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5,0)-DEFAA4,DEFAA4)*(-1)
+     * positif_ou_nul(DEFAA4-max(RG+TOTALQUO-DEFAA5,0));
+
+RNIDF6 = (1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA5)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(RG+TOTALQUO-DEFAA5,DEFAA5)*(-1)
+     * positif_ou_nul(DEFAA5-max(RG+TOTALQUO,0));
+regle 90631 :
+application : pro,iliad ;
+RNICOL = RNI + RNIDF;
+regle 9064 :
+application : pro , oceans , iliad , batch  ;
+TTPVQ = TONEQUO;
+regle 9067 :
+application : pro , oceans , iliad , batch ;
+BPTPD = BTP3A * positif(V_EAD)*(1-positif(present(TAX1649)+present(RE168)));
+BPTPG = BTP3A * positif(V_EAG)*(1-positif(present(TAX1649)+present(RE168)));
+BPTP2 = BTP2*(1-positif(present(TAX1649)+present(RE168)));
+BPTP4 = BPCOPT * (1 - positif(IPVLOC))*(1-positif(present(TAX1649)+present(RE168)));
+BPTP3 = BTP3A * (1 - positif(V_EAD + V_EAG))*(1-positif(present(TAX1649)+present(RE168)));
+
+BPTP40 = BTP40 * (1-positif(present(TAX1649)+present(RE168))) ;
+BPTP18 = BTP18 * (1-positif(present(TAX1649)+present(RE168))) ; 
+BPTP19 = (BTP3G + BTP3N + BTP5*(1-positif(null(5-V_REGCO)+null(6-V_REGCO)))) * (1-positif(present(TAX1649)+present(RE168))) ; 
+BPTP5 = BTP5 * (1-positif(present(TAX1649)+present(RE168))) ;
+BPTPDIV = (BPVCESDOM * (1-positif(IPVLOC)) + BTP5) * (1-positif(present(TAX1649)+present(RE168))) ;
+
+regle 9069 :
+application : pro , oceans , iliad , batch  ;
+TEFF = IPTEFP - IPTEFN + TEFFREVTOT ; 
+TEFFP = max(0, TEFF);
+TEFFN = si (TEFF + 0 < 0)
+        alors
+          ( min(0, TEFF) * (-1) )
+        sinon
+          ( 0 )
+        finsi;
+RDMO = TEFF + RMOND - DMOND ;
+regle 90691 :
+application : iliad , batch ;
+FRF = somme (i=V,C,1,2,3,4: FRDi * (1-IND_10i));
+regle 9070 :
+application : pro , oceans , iliad , batch;
+QUOHPV = somme(i=VO,CJ,PC:TSQi + PRQi)+ PALIQV + PALIQC + PALIQP
+       + BAQV + BAQC + BAQP
+       + BRCMQ + RFQ + somme(x=1..3;i=V,C:GLDxi) ;
+regle 90705:
+application : iliad ;
+TX_CSG = T_CSG;
+TX_RDS = T_RDS;
+TX_PREL_SOC = (positif(V_EAG + V_EAD) * (T_PREL_SOCDOM)
+              + positif(( 1-V_EAD ) * ( 1-V_EAG )) * (T_PREL_SOC))
+	      * (1-V_CNR);
+TX_IDCSG = T_IDCSG;
+regle 90707:
+application : batch, pro, oceans , iliad ;
+
+SURIMP = IPSURSI ;
+
+REPPLU = CREDPVREP + V_BTPVREP * (1-present(CREDPVREP)) ;
+
+regle 90708:
+application : iliad ;
+INDM14 = positif_ou_nul(IREST - LIM_RESTIT);
+regle 90709:
+application : iliad ;
+INDDEFICIT = positif(RNIDF1 + DEFBA6 + DEFBA5 + DEFBA4 + DEFBA3 + DEFBA2 +DEFBA1
+		   + DRFRP + DLMRN1 + DALNP + IRECR + DPVRCM + MIBDREPV + MIBDREPC
+                   + MIBDREPP + MIBDREPNPV + MIBDREPNPC + MIBDREPNPP + SPEDREPV + SPEDREPC
+                   + SPEDREPP + SPEDREPNPV + SPEDREPNPC + SPEDREPNPP);
diff --git a/sources2011m_9_6/res-ser2.m b/sources2011m_9_6/res-ser2.m
new file mode 100644
index 0000000000000000000000000000000000000000..3da0ac8c27f69c197874ed83d1082dd7148f5310
--- /dev/null
+++ b/sources2011m_9_6/res-ser2.m
@@ -0,0 +1,769 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #
+ #
+ # #####   ######   ####    #####     #     #####  
+ # #    #  #       #          #       #       #   
+ # #    #  #####    ####      #       #       #  
+ # #####   #            #     #       #       # 
+ # #   #   #       #    #     #       #       # 
+ # #    #  ######   ####      #       #       # 
+ #
+ #      #####   #####   #####   #
+ #          #   #   #   #   #   #
+ #      #####   #   #   #   #   #
+ #      #       #   #   #   #   #
+ #      #####   #####   #####   #
+ #
+ #
+ #
+ #
+ #                     RES-SER2.m
+ #                    =============
+ #
+ #
+ #                      zones restituees par l'application
+ #
+ #
+ #
+ #
+ #
+regle 9071 :
+application : pro , oceans , iliad , batch ;
+IDRS = INDTXMIN*IMI + 
+       INDTXMOY*IMO + 
+       (1-INDTXMIN) * (1-INDTXMOY) * max(0,IPHQ2 - ADO1) ;
+regle 907100 :
+application : pro , oceans , iliad , batch, bareme ;
+RECOMP = max(0 ,( IPHQANT2 - IPHQ2 )*(1-INDTXMIN) * (1-INDTXMOY)) 
+         * (1 - positif(IPMOND+INDTEFF));
+regle 907101 :
+application : pro , oceans , iliad , batch ;
+IDRSANT = INDTXMIN*IMI + INDTXMOY*IMO 
+         + (1-INDTXMIN) * (1-INDTXMOY) * max(0,IPHQANT2 - ADO1) ;
+IDRS2 = (1 - positif(IPMOND+INDTEFF))  * 
+        ( 
+         IDRSANT + ( positif(ABADO)*ABADO + positif(ABAGU)*ABAGU )
+                  * positif(IDRSANT)
+         + IPHQANT2 * (1 - positif(IDRSANT))
+         + positif(RE168+TAX1649) * IAMD2
+        )
+   + positif(IPMOND+INDTEFF) 
+         * ( IDRS*(1-positif(IPHQ2)) + IPHQ2 * positif(IPHQ2) );
+
+IDRS3 = IDRT ;
+regle 90710 :
+application : pro , oceans , iliad , batch ;
+PLAFQF = positif(IS521 - PLANT - IS511) * (1-positif(V_CR2+IPVLOC))
+           * ( positif(abs(TEFF)) * positif(IDRS) + (1 - positif(abs(TEFF))) );
+regle 907105 :
+application : pro ,oceans , iliad , batch ;
+ABADO = arr(min(ID11 * (TX_RABDOM / 100)
+             * ((PRODOM * max(0,1 - V_EAD - V_EAG) / RG ) + V_EAD),PLAF_RABDOM)
+	    );
+ABAGU = arr(min(ID11 * (TX_RABGUY / 100)
+	     * ((PROGUY * max(0,1 - V_EAD - V_EAG) / RG ) + V_EAG),PLAF_RABGUY)
+	    );
+regle 90711 :
+application : pro , oceans , iliad , batch ;
+
+RGPAR =   positif(PRODOM) * 1 
+       +  positif(PROGUY) * 2
+       +  positif(PROGUY)*positif(PRODOM) 
+       ;
+
+regle 9074 :
+application : pro , oceans , iliad , batch ;
+IBAEX = (IPQT2) * (1 - INDTXMIN) * (1 - INDTXMOY);
+regle 9080 :
+application : pro , oceans , iliad , batch ;
+
+PRELIB = PPLIB + RCMLIB ;
+
+regle 9091 :
+application : pro , oceans , iliad , batch ;
+IDEC = DEC11 * (1 - positif(V_CR2 + V_CNR + IPVLOC));
+regle 9092 :
+application : pro , oceans , iliad , batch ;
+IPROP = ITP ;
+regle 9093 :
+application : pro , oceans , iliad , batch ;
+
+IREP = REI ;
+
+regle 90981 :
+application : pro, batch, oceans, iliad ;
+RETIR = RETIR2 + arr(BTOINR * TXINT/100) ;
+RETCS = RETCS2 + arr((CSG-CSGIM) * TXINT/100) ;
+RETRD = RETRD2 + arr((RDSN-CRDSIM) * TXINT/100) ;
+RETPS = RETPS2 + arr((PRS-PRSPROV) * TXINT/100) ;
+RETGAIN = RETGAIN2 + arr((CGAINSAL - GAINPROV) * TXINT/100) ;
+RETCSAL = RETCSAL2 + arr((CSAL - PROVCSAL) * TXINT/100) ;
+RETCDIS = RETCDIS2 + arr((CDIS - CDISPROV) * TXINT/100) ;
+RETRSE1 = RETRSE12 + arr(RSE1 * TXINT/100) ;
+RETRSE2 = RETRSE22 + arr(RSE2 * TXINT/100) ;
+RETRSE3 = RETRSE32 + arr(RSE3 * TXINT/100) ;
+RETRSE4 = RETRSE42 + arr(RSE4 * TXINT/100) ;
+RETTAXA = RETTAXA2 + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * TXINT/100) ;
+RETPCAP = RETPCAP2+arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * TXINT/100) ;
+RETHAUTREV = RETCHR2 + arr(max(0,IHAUTREVT- min(IHAUTREVT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * TXINT/100) ;
+
+regle 90984 :
+application : batch, pro, oceans, iliad ;
+MAJOIRTARDIF_A1 = MAJOIRTARDIF_A - MAJOIR17_2TARDIF_A;
+MAJOTAXATARDIF_A1 = MAJOTAXATARDIF_A - MAJOTA17_2TARDIF_A;
+MAJOCAPTARDIF_A1 = MAJOCAPTARDIF_A - MAJOCP17_2TARDIF_A;
+MAJOHRTARDIF_A1 = MAJOHRTARDIF_A - MAJOHR17_2TARDIF_A;
+MAJOIRTARDIF_D1 = MAJOIRTARDIF_D - MAJOIR17_2TARDIF_D;
+MAJOTAXATARDIF_D1 = MAJOTAXATARDIF_D - MAJOTA17_2TARDIF_D;
+MAJOCAPTARDIF_D1 = MAJOCAPTARDIF_D - MAJOCP17_2TARDIF_D;
+MAJOHRTARDIF_D1 = MAJOHRTARDIF_D - MAJOHR17_2TARDIF_D;
+MAJOIRTARDIF_P1 = MAJOIRTARDIF_P - MAJOIR17_2TARDIF_P;
+MAJOIRTARDIF_R1 = MAJOIRTARDIF_R - MAJOIR17_2TARDIF_R;
+MAJOTAXATARDIF_R1 = MAJOTAXATARDIF_R - MAJOTA17_2TARDIF_R;
+MAJOCAPTARDIF_R1 = MAJOCAPTARDIF_R - MAJOCP17_2TARDIF_R;
+MAJOHRTARDIF_R1 = MAJOHRTARDIF_R - MAJOHR17_2TARDIF_R;
+NMAJ1 = max(0,MAJO1728IR + arr(BTO * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOIRTARDIF_D1
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPIR_A) * MAJOIRTARDIF_P1
+		  + (1 - positif(PROPIR_A) ) * MAJOIRTARDIF_D1)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPIR_A))
+				    * ( positif(FLAG_RECTIF) * MAJOIRTARDIF_R1
+				     + (1 - positif(FLAG_RECTIF)) * MAJOIRTARDIF_A1)
+		);
+NMAJTAXA1 = max(0,MAJO1728TAXA + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN-IRANT)) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOTAXATARDIF_D1
+		+ FLAG_TRTARDIF_F * MAJOTAXATARDIF_D1
+	- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOTAXATARDIF_R1
+				     + (1 - positif(FLAG_RECTIF)) * MAJOTAXATARDIF_A1)
+		);
+NMAJPCAP1 = max(0,MAJO1728PCAP + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN-IRANT+TAXASSUR)) * COPETO/100)
+                + FLAG_TRTARDIF * MAJOCAPTARDIF_D1
+                + FLAG_TRTARDIF_F * MAJOCAPTARDIF_D1
+                - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOCAPTARDIF_R1
+                + (1 - positif(FLAG_RECTIF)) * MAJOCAPTARDIF_A1)
+                );
+NMAJCHR1 = max(0,MAJO1728CHR + arr(max(0,IHAUTREVT- min(IHAUTREVT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN-IRANT+TAXASSUR+IPCAPTAXT)) * COPETO/100)
+                + FLAG_TRTARDIF * MAJOHRTARDIF_D1
+                + FLAG_TRTARDIF_F * MAJOHRTARDIF_D1
+                - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOHRTARDIF_R1
+                + (1 - positif(FLAG_RECTIF)) * MAJOHRTARDIF_A1)
+                );
+NMAJC1 = max(0,MAJO1728CS + arr((CSG - CSGIM) * COPETO/100)  * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJOCSTARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPCS_A) * MAJOCSTARDIF_P 
+		  + (1 - positif(PROPCS_A) ) * MAJOCSTARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPCS_A))
+				    * ( positif(FLAG_RECTIF) * MAJOCSTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCSTARDIF_A)
+		);
+NMAJR1 = max(0,MAJO1728RD + arr((RDSN - CRDSIM) * COPETO/100)  * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJORDTARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPRD_A) * MAJORDTARDIF_P 
+		  + (1 - positif(PROPRD_A) ) * MAJORDTARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPCS_A))
+				    * ( positif(FLAG_RECTIF) * MAJORDTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORDTARDIF_A)
+		);
+NMAJP1 = max(0,MAJO1728PS + arr((PRS - PRSPROV) * COPETO/100)  * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJOPSTARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPPS_A) * MAJOPSTARDIF_P 
+		  + (1 - positif(PROPPS_A) ) * MAJOPSTARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPPS_A))
+				    * ( positif(FLAG_RECTIF) * MAJOPSTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOPSTARDIF_A)
+		);
+NMAJGAIN1 = max(0,MAJO1728GAIN + arr((CGAINSAL - GAINPROV) * COPETO/100)
+		+ FLAG_TRTARDIF * MAJOGAINTARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJOGAINTARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOGAINTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOGAINTARDIF_A)
+		);
+NMAJCSAL1 = max(0,MAJO1728CSAL + arr((CSAL - PROVCSAL) * COPETO/100)
+		+ FLAG_TRTARDIF * MAJOCSALTARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJOCSALTARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOCSALTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCSALTARDIF_A)
+		);
+NMAJCDIS1 = max(0,MAJO1728CDIS + arr((CDIS - CDISPROV) * COPETO/100)  * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJOCDISTARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJOCDISTARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOCDISTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCDISTARDIF_A)
+		);
+NMAJRSE11 = max(0,MAJO1728RSE1 + arr(RSE1 * COPETO/100)  * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJORSE1TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE1TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE1TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE1TARDIF_A)
+		);
+NMAJRSE21 = max(0,MAJO1728RSE2 + arr(RSE2 * COPETO/100)  * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJORSE2TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE2TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE2TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE2TARDIF_A)
+		);
+NMAJRSE31 = max(0,MAJO1728RSE3 + arr(RSE3 * COPETO/100)  * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJORSE3TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE3TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE3TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE3TARDIF_A)
+		);
+NMAJRSE41 = max(0,MAJO1728RSE4 + arr(RSE4 * COPETO/100)  * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJORSE4TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE4TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE4TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE4TARDIF_A)
+		);
+NMAJ3 = max(0,MAJO1758AIR + arr(BTO * COPETO/100) * positif(null(CMAJ-10)+null(CMAJ-17)) 
+		+ FLAG_TRTARDIF * MAJOIR17_2TARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPIR_A) * MAJOIR17_2TARDIF_P 
+		  + (1 - positif(PROPIR_A) ) * MAJOIR17_2TARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPIR_A))
+				    * ( positif(FLAG_RECTIF) * MAJOIR17_2TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOIR17_2TARDIF_A)
+		);
+NMAJTAXA3 = max(0,MAJO1758ATAXA + arr(max(0,TAXASSUR+min(0,IRN-IRANT)) * COPETO/100)
+					* positif(null(CMAJ-10)+null(CMAJ-17)) 
+		+ FLAG_TRTARDIF * MAJOTA17_2TARDIF_D
+		);
+NMAJPCAP3 = max(0,MAJO1758APCAP + arr(max(0,IPCAPTAXT+min(0,IRN-IRANT+TAXASSUR)) * COPETO/100)
+                * positif(null(CMAJ-10)+null(CMAJ-17))
+                + FLAG_TRTARDIF * MAJOCP17_2TARDIF_D
+		);
+NMAJCHR3 = max(0,MAJO1758ACHR + arr(max(0,IHAUTREVT+min(0,IRN-IRANT+TAXASSUR+IPCAPTAXT)) * COPETO/100)
+                * positif(null(CMAJ-10)+null(CMAJ-17))
+                + FLAG_TRTARDIF * MAJOHR17_2TARDIF_D
+		);
+NMAJ4    =      somme (i=03..06,30,32,55: MAJOIRi);
+NMAJTAXA4  =    somme (i=03..06,30,55: MAJOTAXAi);
+NMAJC4 =  somme(i=03..06,30,32,55:MAJOCSi);
+NMAJR4 =  somme(i=03..06,30,32,55:MAJORDi);
+NMAJP4 =  somme(i=03..06,30,55:MAJOPSi);
+NMAJCSAL4 =  somme(i=03..06,30,55:MAJOCSALi);
+NMAJCDIS4 =  somme(i=03..06,30,55:MAJOCDISi);
+NMAJPCAP4 =  somme(i=03..06,30,55:MAJOCAPi);
+NMAJCHR4 =  somme(i=03..06,30,32,55:MAJOHRi);
+NMAJRSE14 =  somme(i=03..06,55:MAJORSE1i);
+NMAJRSE24 =  somme(i=03..06,55:MAJORSE2i);
+NMAJRSE34 =  somme(i=03..06,55:MAJORSE3i);
+NMAJRSE44 =  somme(i=03..06,55:MAJORSE4i);
+NMAJGAIN4 =  somme(i=03..06,55:MAJOGAINi);
+regle isf 9094 :
+application : batch, pro, oceans, iliad ;
+MAJOISFTARDIF_A1 = MAJOISFTARDIF_A - MAJOISF17TARDIF_A;
+MAJOISFTARDIF_D1 = MAJOISFTARDIF_D - MAJOISF17TARDIF_D;
+MAJOISFTARDIF_R1 = MAJOISFTARDIF_R - MAJOISF17TARDIF_R;
+NMAJISF1BIS = max(0,MAJO1728ISF + arr(ISF4BASE * COPETO/100)
+                   + FLAG_TRTARDIF * MAJOISFTARDIF_D
+                   + FLAG_TRTARDIF_F * MAJOISFTARDIF_D
+                   - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOISFTARDIF_R
+					 + (1 - positif(FLAG_RECTIF)) * MAJOISFTARDIF_A)
+                 );
+regle 90101 :
+application : pro , oceans , iliad , batch ;
+
+IAVIM = IRB + PTOT + TAXASSUR + PTAXA + IPCAPTAXT + PPCAP + IHAUTREVT + PHAUTREV ;
+
+IAVIM2 = IRB + PTOT ;
+
+regle 90113 :
+application : pro , oceans , iliad , batch ;
+CDBA = positif_ou_nul(SEUIL_IMPDEFBA-SHBA-(REVTP-BA1)
+      -GLN1-REV2-REV3-REV4-REVRF);
+AGRBG = SHBA + (REVTP-BA1) + GLN1 + REV2 + REV3 + REV4 + REVRF ;
+
+regle 901130 :
+application : pro , oceans , iliad , batch ;
+
+DBAIP =  abs(min(BAHQT + BAQT , DAGRI6 + DAGRI5 + DAGRI4 + DAGRI3 + DAGRI2 + DAGRI1)
+	     * positif(DAGRI6 + DAGRI5 + DAGRI4 + DAGRI3 + DAGRI2 + DAGRI1) * positif(BAHQT + BAQT)) ;
+
+regle 901131 :
+application : pro , oceans , iliad , batch ;
+
+RBAT = max (0 , BANOR) ;
+
+regle 901132 :
+application : pro , oceans , iliad , batch ;
+DEFIBA = (min(max(1+SEUIL_IMPDEFBA-SHBA-(REVTP-BA1)
+      -GLN1-REV2-REV3-REV4-REVRF,0),1)) * min( 0 , BANOR ) ;
+regle 901133 :
+application :  iliad, batch, pro, oceans ;
+NAPALEG = abs(NAPT) ;
+
+INDNAP = 1 - positif_ou_nul(NAPT) ;
+
+GAINDBLELIQ = max(0,V_ANC_NAP*(1-2*V_IND_NAP) - NAPT) * (1-positif(V_0AN)) * (1 - V_CNR2) 
+	       * (1 - null(V_REGCO - 2)) * (1 - null(V_REGCO - 4)) * (1 - positif(IPTEFP+IPTEFN+IRANT));
+
+GAINPOURCLIQ = (1 - null(V_ANC_NAP*(1-2*V_IND_NAP))) * (V_ANC_NAP*(1-2*V_IND_NAP) - NAPT)/ V_ANC_NAP*(1-2*V_IND_NAP)  * (1 - V_CNR2);
+
+ANCNAP = V_ANC_NAP * (1-2*V_IND_NAP) ;
+
+
+INDPPEMENS = positif( ( positif(IRESTIT - 180) 
+		       + positif((-1)*ANCNAP - 180) 
+                       + positif(IRESTIT - IRNET - 180) * null(V_IND_TRAIT-5)
+		      ) * positif(PPETOT - PPERSA - 180) )
+	           * (1 - V_CNR) ;
+
+BASPPEMENS = INDPPEMENS * min(max(IREST,(-1)*ANCNAP*positif((-1)*ANCNAP)),PPETOT-PPERSA) * null(V_IND_TRAIT-4) 
+            + INDPPEMENS * max(0,min(IRESTIT-IRNET,PPETOT-PPERSA)) * null(V_IND_TRAIT-5) ;
+
+regle 90114 :
+application : pro , oceans , iliad , batch ;
+
+IINET = max(0 , NAPT) ;
+
+regle 901140 :
+application : bareme  ;
+
+IINET = IRNET * positif ( IRNET - SEUIL_PERCEP ) ;
+
+regle 9011410 :
+application : oceans , bareme , pro , iliad , batch ;
+
+IRNET2 =  (IAR + PIR - IRANT) * (1 - INDTXMIN)  * (1 - INDTXMOY)
+         + min(0, IAR + PIR - IRANT) * (INDTXMIN + INDTXMOY)
+         + max(0, IAR + PIR - IRANT) *
+                                   (INDTXMIN * positif(IAVIMBIS - SEUIL_TXMIN)
+                                  + INDTXMOY * positif(IAVIMO - SEUIL_TXMIN))
+         ;
+
+regle 901141 :
+application : oceans , pro , iliad , batch ;
+
+IRNETTER = max ( 0 ,   IRNET2
+                       + (TAXASSUR + PTAXA - min(TAXASSUR+PTAXA+0,max(0,INE-IRB+AVFISCOPTER))
+		         - max(0,TAXASSUR + PTAXA  - min(TAXASSUR + PTAXA + 0,max(0,INE-IRB+AVFISCOPTER))+ min(0,IRNET2)))
+                       + (IPCAPTAXT + PPCAP - min(IPCAPTAXT + PPCAP,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA))
+		         - max(0,IPCAPTAXT+PPCAP -min(IPCAPTAXT+PPCAP,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA ))+ min(0,TAXANEG)))
+                       + (IHAUTREVT + PHAUTREV -min(IHAUTREVT + PHAUTREV,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-PTAXA-IPCAPTAXT-PPCAP))
+                         - max(0,IHAUTREVT+PHAUTREV - min(IHAUTREVT+PHAUTREV,max(0,INE-IRB+AVFISCOPTER - TAXASSUR - PTAXA - IPCAPTAXT - PPCAP))
+												   + min(0,PCAPNEG)))
+                )
+           ;
+
+IRNETBIS = max(0 , IRNETTER - PIR * positif(SEUIL_REC_CP - IRNETTER + PIR) 
+				  * positif(SEUIL_REC_CP - PIR) 
+				  * positif_ou_nul(IRNETTER - SEUIL_REC_CP)) ;
+
+regle 901143 :
+application : oceans , pro , iliad , batch ;
+
+IRNET =  null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * IRNETBIS * positif_ou_nul(IRB - INE)
+          + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+                    *
+                    (
+                    ((positif(IRE) + positif_ou_nul(IAVIM - SEUIL_PERCEP) * (1 - positif(IRE)))
+                    *
+                    max(0, CHRNEG + NRINET + IMPRET + (RASAR * V_CR2) + (IRNETBIS * positif(positif_ou_nul(IAVIM - SEUIL_PERCEP)) * positif_ou_nul(IRB - INE))
+                    ) * (1 - positif(IREST)))
+                    + ((1 - positif_ou_nul(IAVIM - SEUIL_PERCEP)) * (1 - positif(IRE)) * max(0, CHRNEG + NRINET + IMPRET + (RASAR * V_CR2)))
+             ) ;
+regle 901144 :
+application : oceans , pro , iliad , batch ;
+
+TOTNET = max ( 0 , (IAR + PIR) * (1 - (positif(NRINET + IMPRET) * positif(SEUIL_PERCEP - IBM23))) + CHRNEG + NRINET + IMPRET + RASAR - IRANT
+                + (TAXASSUR + PTAXA - min(TAXASSUR + PTAXA + 0 , max(0 , INE-IRB+AVFISCOPTER)))
+                         * (1 - (positif(NRINET + IMPRET) * positif(SEUIL_PERCEP - IBM23 - TAXASSUR)))
+		+ (IPCAPTAXT+PPCAP  - min(IPCAPTAXT+PPCAP,max(0 , INE-IRB+AVFISCOPTER-TAXASSUR - PTAXA )))
+                         * (1 - (positif(NRINET + IMPRET) * positif(SEUIL_PERCEP - IBM23 - TAXASSUR-IPCAPTAXT)))
+        	+ (IHAUTREVT + PHAUTREV - min(IHAUTREVT+PHAUTREV,max(0,INE-IRB+AVFISCOPTER-TAXASSUR - PTAXA - IPCAPTAXT - PPCAP)))
+                         * (1 - (positif(NRINET + IMPRET) * positif(SEUIL_PERCEP - IBM23 - TAXASSUR-IPCAPTAXT-IHAUTREVT)))
+             );
+
+
+regle 9011411 :
+application : oceans , pro , iliad , batch ;
+
+TAXANEG = min(0 , TAXASSUR + PTAXA - min(TAXASSUR + PTAXA + 0 , max(0,INE-IRB+AVFISCOPTER)) + min(0 , IRNET2)) ;
+
+TAXNET = positif(TAXASSUR)
+	  * max(0 , TAXASSUR + PTAXA  - min(TAXASSUR + PTAXA + 0,max(0,INE-IRB+AVFISCOPTER)) + min(0 , IRNET2)) ;
+
+TAXANET = null(NRINET + IMPRET + 0) * TAXNET
+           + positif(NRINET + IMPRET + 0)
+             * (positif_ou_nul(IAMD1 - SEUIL_PERCEP) * TAXNET + (1 - positif_ou_nul(IAMD1 - SEUIL_PERCEP)) * 0) ;
+
+regle 90114111 :
+application : oceans , pro , iliad , batch ;
+
+PCAPNEG =  min(0,IPCAPTAXT+PPCAP -min(IPCAPTAXT+PPCAP,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA ))+ min(0,TAXANEG)) ;
+
+PCAPTAXNET = positif(IPCAPTAXT)
+                * max(0,IPCAPTAXT+PPCAP -min(IPCAPTAXT+PPCAP,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA ))+ min(0,TAXANEG)) ;
+
+PCAPNET = null(NRINET + IMPRET + 0) * PCAPTAXNET
+           + positif(NRINET + IMPRET + 0)
+             * ( positif_ou_nul(IAMD1 - SEUIL_PERCEP) * PCAPTAXNET + (1 - positif_ou_nul(IAMD1 - SEUIL_PERCEP)) * 0 ) ;
+
+regle 901141111 :
+application : oceans , pro , iliad , batch ;
+
+
+CHRNEG = min(0 , IHAUTREVT + PHAUTREV - min(IHAUTREVT + PHAUTREV , max(0 , INE-IRB+AVFISCOPTER-TAXASSUR-PTAXA-IPCAPTAXT-PPCAP)) + min(0 , PCAPNEG)) ;
+
+CHRNET = positif(IHAUTREVT)
+                * max(0,IHAUTREVT+PHAUTREV - min(IHAUTREVT+PHAUTREV,max(0,INE-IRB+AVFISCOPTER - TAXASSUR - PTAXA - IPCAPTAXT - PPCAP))
+													  + min(0,PCAPNEG))
+                ;
+
+HAUTREVNET = (null(NRINET + IMPRET + 0) * CHRNET
+                +
+                positif(NRINET + IMPRET + 0)
+                * ( positif_ou_nul(IAMD1 - SEUIL_PERCEP) * CHRNET
+                + (1 - positif_ou_nul(IAMD1 - SEUIL_PERCEP)) * 0 )
+             ) * (1-null(1-FLAG_ACO))
+                 ;
+
+regle 9011412 :
+application : bareme ;
+
+IRNET = max(0 , IRNET2 + RECOMP) ;
+
+regle 9011413 :
+application : oceans , pro , iliad , batch ;
+
+IRPROV = min (IRANT , IAR + PIR) * positif(IRANT) ;
+
+regle 9012401 :
+application : pro , batch , oceans , iliad ;
+
+NAPPS = (PRS + PPRS - PRSPROV) * positif(TOTCR) ;
+NAPCS = (CSG + PCSG - CSGIM) * positif(TOTCR) ;
+NAPRD = (RDSN + PRDS - CRDSIM) * positif(TOTCR) ;
+NAPGAIN = (CGAINSAL + PGAIN - GAINPROV) * positif(TOTCR) ;
+NAPCSAL = (CSAL + PCSAL - PROVCSAL) * positif(TOTCR) ;
+NAPCDIS = (CDIS + PCDIS - CDISPROV) * positif(TOTCR) ;
+NAPRSE1 = (RSE1 + PRSE1) * positif(TOTCR) ;
+NAPRSE2 = (RSE2 + PRSE2) * positif(TOTCR) ;
+NAPRSE3 = (RSE3 + PRSE3) * positif(TOTCR) ;
+NAPRSE4 = (RSE4 + PRSE4) * positif(TOTCR) ;
+
+NAPCRP = max(0 , NAPPS + NAPCS + NAPRD + NAPGAIN + NAPCSAL + NAPCDIS + NAPRSE1 + NAPRSE2 + NAPRSE3 + NAPRSE4)
+         * positif_ou_nul(NAPPS + NAPCS + NAPRD + NAPGAIN + NAPCSAL + NAPCDIS  + NAPRSE1 + NAPRSE2 + NAPRSE3 + NAPRSE4 - SEUIL_REC_CP2) ;
+
+regle 9011402 :
+application : pro , oceans , iliad , batch ;
+IKIRN = KIR ;
+
+IMPTHNET = max(0 , (IRB * positif_ou_nul(IRB-SEUIL_PERCEP)-INE-IRE)
+		       * positif_ou_nul((IRB*positif_ou_nul(IRB-SEUIL_PERCEP)-INE-IRE)-SEUIL_REC_CP)) 
+	     * (1 - V_CNR) ;
+
+regle 90115 :
+application : pro , oceans, iliad , batch ;
+
+IRESTIT = abs(min(0 , IRN + PIR + NRINET + IMPRET + RASAR
+                    + (TAXASSUR + PTAXA - min(TAXASSUR+PTAXA+0,max(0,INE-IRB+AVFISCOPTER)))
+                    + (IPCAPTAXT + PPCAP - min(IPCAPTAXT + PPCAP,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA)))
+                    + ((IHAUTREVT + PHAUTREV) * (1-null(1-FLAG_ACO))                                                   
+		      -min((IHAUTREVT + PHAUTREV)* (1-null(1-FLAG_ACO)),max(0,INE-IRB+AVFISCOPTER-TAXASSUR-PTAXA-IPCAPTAXT-PPCAP)))
+                 )
+	     ) ;
+
+regle 901150 :
+application : oceans ;
+
+IRESTITA = abs(min(0 , PIR_A)) ;
+
+IREST = max(0 , IRESTIT - (IRESTITA * positif_ou_nul(IRESTITA-SEUIL_REMBCP))) ;
+
+regle 901151 :
+application : pro , iliad , batch ;
+
+IREST = max(0 , IRESTIT - RECUMBIS) ;
+
+regle corrective 901160 :
+application : pro , batch , oceans , iliad ;
+
+TOTREC = positif_ou_nul(IRN + TAXANET + PIR + PCAPNET + HAUTREVNET - SEUIL_REC_CP) ;
+
+regle 90116011 :
+application : pro , batch , oceans , iliad ;
+
+CSREC = positif(NAPCR) ;
+
+CSRECINR = positif(NAPCRINR) ;
+
+regle 90116 :
+application : pro , batch , iliad , oceans ;
+
+RSEREC = positif(max(0 , NAPRSE1 + NAPRSE2 + NAPRSE3 + NAPRSE4)
+                 * positif_ou_nul(NAPRSE1 + NAPRSE2 + NAPRSE3 + NAPRSE4 - SEUIL_REC_CP2)) ;
+
+regle 9011603 :
+application : pro , batch , oceans , iliad ;
+
+CSRECA = positif_ou_nul(PRS_A + PPRS_A + CSG_A + RDS_A + PCSG_A + PRDS_A 
+		       + CSAL_A + CDIS_A + GAINBASE_A + RSE1BASE_A + RSE2BASE_A + RSE3BASE_A + RSE4BASE_A - SEUIL_REC_CP2) ;
+
+regle corrective 9011600 :
+application : oceans;
+
+IDEGR = positif(-NAPT) 
+	 * (TOTREC * abs(NAPT) + (1 - TOTREC) * max(0 , PIR_A)) ;
+
+regle isf 90110 :
+application : iliad ;
+ISFDEGR = max(0,(ANTISFAFF  - ISF4 * positif_ou_nul (ISF4 - SEUIL_REC_CP)) 
+	   * (1-positif_ou_nul (ISF4 - SEUIL_REC_CP))
+          + (ANTISFAFF  - ISFNET * positif_ou_nul (ISFNET - SEUIL_REC_CP))
+	   * positif_ou_nul(ISF4 - SEUIL_REC_CP)) ;
+
+
+ISFDEG = ISFDEGR * positif_ou_nul(ISFDEGR - SEUIL_REMBCP) ;
+
+regle corrective 9011602 :
+application : iliad ;
+IDEGR = (ANTIRAFF + TAXANTAFF + PCAPANTAFF + HAUTREVANTAF - ((IRNET * positif_ou_nul(IRNET - SEUIL_REC_CP)
+                                                             + TAXANET * positif_ou_nul(IBM23 + TAXASSUR + IPCAPTAXT + IHAUTREVT - SEUIL_PERCEP)
+                                                             + PCAPNET * positif_ou_nul(IBM23 + TAXASSUR + IPCAPTAXT + IHAUTREVT - SEUIL_PERCEP)
+                                                             + HAUTREVNET * positif_ou_nul(IBM23 + TAXASSUR + IPCAPTAXT + IHAUTREVT - SEUIL_PERCEP))
+                                                                * positif(NRINET + IMPRET + RASAR * (V_CR2))
+                                                             + (IRNET * positif_ou_nul(IBM23 + TAXASSUR + IPCAPTAXT + IHAUTREVT - SEUIL_PERCEP)
+                                                             + TAXANET * positif_ou_nul(IBM23 + TAXASSUR + IPCAPTAXT + IHAUTREVT - SEUIL_PERCEP)
+                                                             + PCAPNET * positif_ou_nul(IBM23 + TAXASSUR + IPCAPTAXT + IHAUTREVT - SEUIL_PERCEP)
+                                                             + HAUTREVNET * positif_ou_nul(IBM23 + TAXASSUR + IPCAPTAXT + IHAUTREVT - SEUIL_PERCEP))
+                                                                * (1 - positif(NRINET + IMPRET + RASAR * (V_CR2))))
+                                                            * positif_ou_nul(IRNET + TAXANET + PCAPNET + HAUTREVNET - SEUIL_REC_CP))
+          * positif(ANTIRAFF + TAXANTAFF + PCAPANTAFF + HAUTREVANTAF - (IRNET + TAXANET + PCAPNET + HAUTREVNET)) ;
+
+IRDEG = positif(NAPTOTA - IRNET) * positif(NAPTOTA) * max(0 , V_ANTIR - max(0,IRNET))
+	* positif_ou_nul(IDEGR - SEUIL_REMBCP) ;                   
+
+TAXDEG = positif(NAPTOTA - TAXANET) * positif(NAPTOTA) * max(0 , V_TAXANT - max(0,TAXANET)) ;                    
+
+TAXADEG = positif(TAXDEG) * positif(V_TAXANT) * max(0 , V_TAXANT - max(0,TOTAXAGA))
+          * positif_ou_nul(IDEGR - SEUIL_REMBCP) ;
+
+PCAPTAXDEG = positif(NAPTOTA - PCAPNET) * positif(NAPTOTA) * max(0 , V_PCAPANT- max(0,PCAPNET)) ;
+
+
+PCAPDEG = positif(PCAPTAXDEG) * positif (V_PCAPANT) * max(0 , V_PCAPANT - max(0,PCAPTOT)) 
+          * positif_ou_nul(IDEGR - SEUIL_REMBCP) ;
+
+HAUTREVTAXDEG =  positif(NAPTOTA - HAUTREVNET) * positif(NAPTOTA) * max(0 , V_CHRANT - max(0,HAUTREVNET)) ;
+
+HAUTREVDEG = positif(HAUTREVTAXDEG) * positif(V_CHRANT) * max(0 , V_CHRANT - max(0,HAUTREVTOT)) 
+             * positif_ou_nul(IDEGR - SEUIL_REMBCP) ;
+regle 90504:
+application : pro ,  batch , oceans , iliad ;
+ABSRE = ABMAR + ABVIE;
+regle 90509:
+application : pro , oceans , iliad , batch ;
+
+REVTP = PTP ;
+
+regle 90522:
+application : pro , iliad , oceans ;
+RPEN = PTOTD ;
+regle isf 905270:
+application : iliad  ;
+ANTISFAFF = V_ANTISF ;    
+
+regle 90527:
+application : oceans , iliad  ;
+ANTIRAFF = V_ANTIR  * APPLI_ILIAD   
+           +
+            (  PIR_A * ( positif_ou_nul(PIR_A-SEUIL_REC_CP)))
+            * APPLI_OCEANS 
+	    + 0 ;
+
+TAXANTAFF = V_TAXANT * APPLI_ILIAD
+            + TAXANET_A * APPLI_OCEANS
+	    + 0 ;
+
+PCAPANTAFF = V_PCAPANT * APPLI_ILIAD
+            + PCAPNET_A * APPLI_OCEANS
+	    + 0 ;
+
+HAUTREVANTAF = V_CHRANT * APPLI_ILIAD
+            + HAUTREVNET_A * APPLI_OCEANS
+	    + 0 ;
+regle 90514:
+application : pro , oceans , iliad , batch ;
+IDRT = IDOM11;
+regle 90525:
+application : pro , iliad , batch , oceans ;
+IAVT = IRE - EPAV - CICA + 
+          min( IRB , IPSOUR + CRCFA ) +
+          min( max(0,IAN - IRE) , (BCIGA * (1 - positif(RE168+TAX1649))));
+IAVT2 = IAVT + CICA;
+regle 907001  :
+application : pro, oceans, iliad, batch ;
+INDTXMOY = positif(TX_MIN_MET - TMOY) * positif( (present(RMOND) 
+                             + present(DMOND)) ) * V_CR2 ;
+INDTXMIN = positif_ou_nul( IMI - IPQ1 ) 
+           * positif(1 - INDTXMOY) * V_CR2;
+regle 907002  :
+application : pro, batch,  iliad, oceans ;
+IND_REST = positif(IREST) ;
+regle 907003  :
+application : oceans, iliad, pro, batch ;
+IND_NI =  null(NAPT) * (null (IRNET));
+regle 9070030  :
+application :  oceans, iliad, pro, batch ;
+IND_IMP = positif(NAPT);
+
+INDNMR =  null(NAPT) * null(NAT1BIS) * (positif (IRNET + TAXANET + PCAPNET + HAUTREVNET));
+
+INDNMRI = INDNMR * positif ( RED ) ;
+
+INDNIRI =   positif(IDOM11-DEC11) * null(IAD11);
+regle 907004  :
+application : batch , pro , iliad ;
+
+IND_REST50 = positif(SEUIL_REMBCP - IREST) * positif(IREST) ;
+
+regle 9070041  :
+application : oceans, iliad, pro, batch;
+INDMAJREV = positif(
+ positif(BIHNOV)
++ positif(BIHNOC)
++ positif(BIHNOP)
++ positif(BICHREV)
++ positif(BICHREC)
++ positif(BICHREP)
++ positif(BNHREV)
++ positif(BNHREC)
++ positif(BNHREP)
++ positif(ANOCEP)
++ positif(ANOVEP)
++ positif(ANOPEP)
++ positif(BAFV)
++ positif(BAFC)
++ positif(BAFP)
++ positif(BAHREV)
++ positif(BAHREC)
++ positif(BAHREP)
++ positif(4BAHREV)
++ positif(4BAHREC)
++ positif(4BAHREP)
++ positif(REGPRIV)
+);
+regle 907005  :
+application : oceans , iliad , pro , batch ;
+INDNMR1 = (1 - positif(IAMD1 +1 -SEUIL_PERCEP)) *
+           (1 - min (1 , abs (NAPT))) * positif(IRB2);
+INDNMR2 = positif(INDNMR) * (1 - positif(INDNMR1));
+regle 907006  :
+application : batch,iliad , pro , oceans ;
+
+
+INDV = positif_ou_nul ( 
+  positif( ALLOV ) 
+ + positif( REMPLAV ) + positif( REMPLANBV )
+ + positif( BACDEV ) + positif( BACREV )
+ + positif( 4BACREV ) + positif( 4BAHREV )
+ + positif( BAFPVV )
+ + positif( BAFV ) + positif( BAHDEV ) + positif( BAHREV )
+ + positif( BICDEV ) + positif( BICDNV )
+ + positif( BICHDEV )
+ + positif( BICHREV ) + positif( BICNOV )
+ + positif( BICREV ) 
+ + positif( BIHDNV ) + positif( BIHNOV )
+ + positif( BNCAADV ) + positif( BNCAABV ) + positif( BNCDEV ) + positif( BNCNPPVV )
+ + positif( BNCNPV ) + positif( BNCPROPVV ) + positif( BNCPROV )
+ + positif( BNCREV ) + positif( BNHDEV ) + positif( BNHREV )
+ + positif( BPCOSAV ) + positif( CARPENBAV ) + positif( CARPEV )
+ + positif( CARTSNBAV ) + positif( CARTSV ) + positif( COTFV )
+ + positif( DETSV ) + positif( FRNV ) + positif( GLD1V )
+ + positif( GLD2V ) + positif( GLD3V ) + positif( ANOCEP )
+ + positif( MIBNPPRESV ) + positif( MIBNPPVV ) + positif( MIBNPVENV )
+ + positif( MIBPRESV ) + positif( MIBPVV ) + positif( MIBVENV )
+ + positif( PALIV ) + positif( PENSALV ) + positif( PENSALNBV ) 
+ + positif( PEBFV ) + positif( PRBRV )
+ + positif( TSHALLOV ) + positif( DNOCEP ) + positif(BAFORESTV)
+ + positif( LOCPROCGAV ) + positif( LOCPROV ) + positif( LOCNPCGAV )
+ + positif( LOCNPV ) + positif( LOCDEFNPCGAV ) + positif( LOCDEFNPV )
+ + positif( MIBMEUV ) + positif( MIBGITEV )
+);
+INDC = positif_ou_nul ( 
+  positif( ALLOC ) 
+ + positif( REMPLAC ) + positif( REMPLANBC )
+ + positif( BACDEC ) + positif( BACREC )
+ + positif( 4BACREC ) + positif( 4BAHREC )
+ + positif( BAFC ) + positif( ANOVEP ) + positif( DNOCEPC )
+ + positif( BAFPVC ) + positif( BAHDEC ) + positif( BAHREC )
+ + positif( BICDEC ) + positif( BICDNC )
+ + positif( BICHDEC ) 
+ + positif( BICHREC ) + positif( BICNOC )
+ + positif( BICREC )  
+ + positif( BIHDNC ) + positif( BIHNOC )
+ + positif( BNCAADC ) + positif( BNCAABC ) + positif( BNCDEC ) + positif( BNCNPC )
+ + positif( BNCNPPVC ) + positif( BNCPROC ) + positif( BNCPROPVC )
+ + positif( BNCREC ) + positif( BNHDEC ) + positif( BNHREC )
+ + positif( BPCOSAC ) + positif( CARPEC ) + positif( CARPENBAC )
+ + positif( CARTSC ) + positif( CARTSNBAC ) + positif( COTFC )
+ + positif( DETSC ) + positif( FRNC ) + positif( GLD1C )
+ + positif( GLD2C ) + positif( GLD3C )
+ + positif( MIBNPPRESC ) + positif( MIBNPPVC ) + positif( MIBNPVENC )
+ + positif( MIBPRESC ) + positif( MIBPVC ) + positif( MIBVENC )
+ + positif( PALIC ) + positif( PENSALC ) + positif( PENSALNBC )
+ + positif( PEBFC ) 
+ + positif( PRBRC ) + positif( TSHALLOC ) + positif(BAFORESTC)
+ + positif( LOCPROCGAC ) + positif( LOCPROC ) + positif( LOCNPCGAC )
+ + positif( LOCNPC ) + positif( LOCDEFNPCGAC ) + positif( LOCDEFNPC )
+ + positif( MIBMEUC ) + positif( MIBGITEC )
+ );
+INDP = positif_ou_nul (
+  positif( ALLO1 ) + positif( ALLO2 ) + positif( ALLO3 ) + positif( ALLO4 ) 
+ + positif( CARTSP1 ) + positif( CARTSP2 ) + positif( CARTSP3 ) + positif( CARTSP4 )
+ + positif( CARTSNBAP1 ) + positif( CARTSNBAP2 ) + positif( CARTSNBAP3 ) + positif( CARTSNBAP4 )
+ + positif( REMPLAP1 ) + positif( REMPLAP2 ) + positif( REMPLAP3 ) + positif( REMPLAP4 )
+ + positif( REMPLANBP1 ) + positif( REMPLANBP2 ) + positif( REMPLANBP3 ) + positif( REMPLANBP4 )
+ + positif( BACDEP ) + positif( BACREP )
+ + positif( 4BACREP ) + positif( 4BAHREP )
+ + positif( BAFP ) + positif( ANOPEP ) + positif( DNOCEPP )
+ + positif( BAFPVP ) + positif( BAHDEP ) + positif( BAHREP )
+ + positif( BICDEP ) + positif( BICDNP )
+ + positif( BICHDEP ) 
+ + positif( BICHREP ) + positif( BICNOP )
+ + positif( BICREP )  
+ + positif( BIHDNP ) + positif( BIHNOP )
+ + positif( BNCAADP ) + positif( BNCAABP ) + positif( BNCDEP ) + positif( BNCNPP )
+ + positif( BNCNPPVP ) + positif( BNCPROP ) + positif( BNCPROPVP )
+ + positif( BNCREP ) + positif( BNHDEP ) + positif( BNHREP )
+ + positif( COTF1 ) + positif( COTF2 ) + positif( COTF3 ) + positif( COTF4 ) 
+ + positif( DETS1 ) + positif( DETS2 ) + positif( DETS3 ) + positif( DETS4 ) 
+ + positif( FRN1 ) + positif( FRN2 ) + positif( FRN3 ) + positif( FRN4 )
+ + positif( MIBNPPRESP ) + positif( MIBNPPVP ) + positif( MIBNPVENP )
+ + positif( MIBPRESP ) + positif( MIBPVP ) + positif( MIBVENP )
+ + positif( PALI1 ) + positif( PALI2 ) + positif( PALI3 ) + positif( PALI4 ) 
+ + positif( PENSALP1 ) + positif( PENSALP2 ) + positif( PENSALP3 ) + positif( PENSALP4 )
+ + positif( PENSALNBP1 ) + positif( PENSALNBP2 ) + positif( PENSALNBP3 ) + positif( PENSALNBP4 )
+ + positif( PEBF1 ) + positif( PEBF2 ) + positif( PEBF3 ) + positif( PEBF4 ) 
+ + positif( PRBR1 ) + positif( PRBR2 ) + positif( PRBR3 ) + positif( PRBR4 ) 
+ + positif( CARPEP1 ) + positif( CARPEP2 ) + positif( CARPEP3 ) + positif( CARPEP4 )
+ + positif( CARPENBAP1 ) + positif( CARPENBAP2 ) + positif( CARPENBAP3 ) + positif( CARPENBAP4 )
+ + positif( TSHALLO1 ) + positif( TSHALLO2 ) + positif( TSHALLO3 ) + positif( TSHALLO4 ) 
+ + positif( BAFORESTP )
+ + positif( LOCPROCGAP ) + positif( LOCPROP ) + positif( LOCNPCGAPAC )
+ + positif( LOCNPPAC ) + positif( LOCDEFNPCGAPAC ) + positif( LOCDEFNPPAC )
diff --git a/sources2011m_9_6/tgvB.m b/sources2011m_9_6/tgvB.m
new file mode 100644
index 0000000000000000000000000000000000000000..47d9dba6e5f8642838784b66a846d214c7ce8bac
--- /dev/null
+++ b/sources2011m_9_6/tgvB.m
@@ -0,0 +1,441 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 11 Application bareme
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1156.00000  ;
+ABSPRNG : calculee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTMATEF : calculee : "Abattement pour enfants maries a charge tx eff" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+AGC : calculee : "Age du conjoint" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+APERPC : calculee : "bse retenu PERP" ;
+APERPCTEF : calculee : "bse retenu PERP tx eff" ;
+APERPP : calculee : "bse retenu PERP" ;
+APERPPTEF : calculee : "bse retenu PERP tx eff" ;
+APERPV : calculee : "bse retenu PERP" ;
+APERPVTEF : calculee : "bse retenu PERP tx eff" ;
+APPLI_BATCH : calculee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : calculee : "booleen  ; vaut 1 si appli OCEANS 0 sinon" ;
+APPLI_PRO : calculee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+AUBAINE10 : calculee : "avantage en impot (A2) lie a avantages fiscaux 2010" ;
+AUBAINE11 : calculee : "avantage en impot (A1) lie a avantages fiscaux 2011" ;
+AUBAINE9 : calculee : "avantage en impot (A3) lie a av. fiscaux 2009 pris en compte en 2011" ;
+AVFISCO : calculee restituee base : "economie d impot susceptible d etre plafonnee." ;
+AVFISCOP : calculee restituee base : "economie d impot plafonnee." ;
+AVFISCOPTER : calculee base : "Plafonnement des avantages fiscaux. variable visible dans cresource" ;
+AVPLAF10 : calculee : "Plafonnement 2010 avantages fiscaux (2010/2010)" ;
+AVPLAF11 : calculee : "Plafonnement 2011 avantages fiscaux (2011/2011)" ;
+AVPLAF9 : calculee : "Plafonnement 2009 avantages fiscaux (2009/2010)" ;
+BA1 : calculee : "Plus-values BA imposables pour le foyer" ;
+BANOR : calculee : "Benefices agricoles taxes suivant l'imposition normale" ;
+BASERESTAUR : calculee : "Base credit restauration" ;
+BASPPEMENS : calculee : "Base PPE mensuel" ;
+BCIDONENTR : calculee : "base limitee du Credit d'impot dons oeuvres entreprises" ;
+BCIGA : calculee : "base limitee du Credit d'impot groupement de prevention agree" ;
+BCIRESERV : calculee : "base limitee du Credit d'impot salaries reservistes" ;
+BIGREST : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YJ : "Restitution >= 10 000 e non validee par le RDC et taxee a la 4eme IR" type REEL ;
+BMI : calculee : "Base taux minimum metropole" ;
+BNCEXP : saisie revenu classe = 0 priorite = 10 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5SB : "BNC prof. sous AA - Revenus exoneres - PAC" ;
+BOOLENF : calculee : "Zone Situation de Famille - Presence d'enfants a charges" ;
+BOOL_0AM : calculee : "Zone Situation de Famille - Veufs sans EAC" ;
+BOOL_0AM1 : calculee : "Zone Situation de Famille - Veufs sans EAC" ;
+BOOL_0AZ : calculee : "booleen : vaut 1 si vauf dans  l annee" ;
+BOOL_0BT : calculee : "booleen : case OBT retenue" ;
+BOOL_CDV : calculee : "Booleen - vaut 1 si  celibataire, divorce, separe ou veuf." ;
+BOOL_LN : calculee : "Booleen - vaut 1 si  case L cochee et case N non cochee" ;
+BOOL_PACSFL : calculee : "Booleen - vaut 0 si  PAC ou 0CH" ;
+BOOL_V : calculee : "Zone Situation de Famille - Veufs sans EAC" ;
+BOOL_W : calculee : "Booleen - vaut 1 si  W et personne d au moins 75 ans" ;
+BPCAPTAXC : calculee : "Base pension capital taxable conjoint" ;
+BPCAPTAXV : calculee : "Base pension capital taxable vous" ;
+CARPENBAC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NBS : "Pensions taxees au quotient : nombre d'annees - Conjoint" ;
+CARPENBAP1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NCS : "Pensions taxees au quotient : nombre d'annees - PAC 1" ;
+CARPENBAP2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NDS : "Pensions taxees au quotient : nombre d'annees - PAC 2" ;
+CARPENBAP3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NES : "Pensions taxees au quotient : nombre d'annees - PAC 3" ;
+CARPENBAP4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NFS : "Pensions taxees au quotient : nombre d'annees - PAC 4" ;
+CARPENBAV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NAS : "Pensions taxees au quotient : nombre d'annees - Vous" ;
+CARTSNBAC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NBJ : "Salaires taxes au quotient : nombre d'annees - Conjoint" ;
+CARTSNBAP1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NCJ : "Salaires taxes au quotient : nombre d'annees - PAC 1" ;
+CARTSNBAP2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NDJ : "Salaires taxes au quotient : nombre d'annees - PAC 2" ;
+CARTSNBAP3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NEJ : "Salaires taxes au quotient : nombre d'annees - PAC 3" ;
+CARTSNBAP4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NFJ : "Salaires taxes au quotient : nombre d'annees - PAC 4" ;
+CARTSNBAV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias NAJ : "Salaires taxes au quotient : nombre d'annees - Vous" ;
+CDIS : calculee : "Contribution sociale salariale" ;
+CDISBASE_A : calculee base : "correctif : cdis calculee effectivement anterieure" ;
+CDISD : calculee : "Cont. soc. salariale due 30%" ;
+CDIS_A : calculee base : "correctif : Cdis anterieure" ;
+CEFBASE_A : calculee base : "correctif : ISF calculee effectivement anterieure" ;
+CEF_A : calculee base : "correctif : Isf anterieure" ;
+CGAIND : calculee : "Cont. salariale 8% due" ;
+CGAINSAL : calculee : "Contribution salariale de 8 %" ;
+CHAUTREV : calculee : "Contribution Haut revenu" ;
+CHRBASE_A : calculee base : "correctif : base calculee effectivement anterieure" ;
+CHRDED : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 9 nat_code = 1 alias 6DD : "Deductions diverses" ;
+CHRNEG : calculee : "taxe + INR + majo" ;
+CHRNET : calculee : "CHR + INR + majo" ;
+CHRREEL1 : calculee : "Haut revenu calcul contrib." ;
+CHRREEL2 : calculee : "Haut revenu calcul contrib." ;
+CHRREELTOT : calculee : "Haut revenu calcul contrib. theorique total" ;
+CHRTHEO1 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEO11 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEO12 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEO2 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEO21 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEO22 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEOTOT : calculee : "Haut revenu calcul contrib. theorique total" ;
+CHRTHEOTOT1 : calculee : "Haut revenu calcul contrib. theorique total" ;
+CHRTHEOTOT2 : calculee : "Haut revenu calcul contrib. theorique total" ;
+CICA_A : calculee base : "correctif : credit impot TADB  anterieur" ;
+CICORSE : calculee : "Credit d'impot investissement Corse" ;
+CICULTUR : calculee : "Credit d'impot investissement biens cultures retenu" ;
+CIDONENTR : calculee : "Credit d'impot dons oeuvre entreprise" ;
+CIGPA : calculee : "Credit d'impot groupement de prevention agree" ;
+CIMPTL : calculee : "Total des credits d'impot pour le calcul de la TL" ;
+CIRCMAVFT : calculee : "Credit d'impot ligne 2AB" ;
+CIRECH : calculee : "Credit d'impot recherche" ;
+CIRESERV : calculee : "credit impot salaries reservistes" ;
+CIRSE1 : calculee : "Credit d'impot rev. source etrangere" ;
+CIRSE2 : calculee : "Credit d'impot rev. source etrangere" ;
+CIRSE3 : calculee : "Credit d'impot rev. source etrangere" ;
+CIRSE4 : calculee : "Credit d'impot rev. source etrangere" ;
+CMAJ : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 0 avfisc = 1 rapcat = 11 nat_code = 0 alias 9YT : "Code majoration           " ;
+CMAJ2 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 0 avfisc = 1 rapcat = 11 nat_code = 0 alias V_CMAJ2 : "Code majoration           " ;
+CMAJ_ISF : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 0 ind_abat = 0 acompte = 0 avfisc = 1 rapcat = 0 nat_code = 0 alias 9XT : "ISF : code majoration           " ;
+CO2047 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YH : "Case a cocher si le contribuable a souscrit une declaration 2047 " ;
+CO2102 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YG : "Code permettant l'edition de la lettre 754K  " ;
+CODCHA : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YF : "Code chargement (nb de codes saisis)" ;
+CODSIR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YK : "Restitution des recoupements dans le FLR       " ;
+COPETO : calculee : "Taux de penalite du a la saisie des codes 9YT et 9YW" ;
+COPETOISF : calculee : "ISF : Taux de penalite du a la saisie des codes 9XT " ;
+COTF1 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias FCT : "Nb d'annees cotisations footballeurs - PAC 1" ;
+COTF2 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias FDT : "Nb d'annees cotisations footballeurs - PAC 2" ;
+COTF3 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias FET : "Nb d'annees cotisations footballeurs PAC 3" ;
+COTF4 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias FFT : "Nb d'annees cotisations footballeurs - PAC 4" ;
+COTFC : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias FBT : "Nb d'annees cotisations footballeurs - Conjoint" ;
+COTFV : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 nat_code = 1 alias FAT : "Nb d'annees cotisations footballeurs - Vous" ;
+CRCFA : calculee : "Credit d'impot revenus etrangers" ;
+CRDIE : calculee : "Credit d'impot convention franco-allemande" ;
+CRICH : calculee : "Credit recherche 8NJ plafonne" ;
+CRICH1 : calculee : "Credit recherche 8NK plafonne" ;
+CRIGA : saisie revenu classe = 0 priorite = 51 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 nat_code = 1 alias 8TE : "Credit d'impot centre de prevention agree" ;
+CRSE1D : calculee : "cont. reve source etrangere due" ;
+CRSE2D : calculee : "cont. reve source etrangere due" ;
+CRSE3D : calculee : "cont. reve source etrangere due" ;
+CRSE4D : calculee : "cont. reve source etrangere due" ;
+CSAL : calculee : "Cont. salariale de 2,5 %" ;
+CSALBASE_A : calculee base : "correctif : csal calculee effectivement anterieure" ;
+CSALD : calculee : "Cont. salariale due" ;
+CSAL_A : calculee base : "correctif : CSal anterieure" ;
+CSGD : calculee : "CSG due" ;
+CSG_A : calculee base : "correctif : CSG anterieure" ;
+DAR : calculee : "Deficits anterieurs reportables" ;
+DAR_REP : calculee : "Deficits anterieurs reportables pour calcul report" ;
+DATDEPETR : saisie revenu classe = 0 priorite = 60 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 nat_code = 0 alias 9YD : "Date depart a l'etranger " ;
+DATISFAA : calculee base : "date isf annee" ;
+DATISFDIFA : calculee base : "date isf annee" ;
+DATISFDIFM : calculee base : "date isf mois" ;
+DATISFMM : calculee base : "date isf mois" ;
+DATISFTOT : calculee base : "date isf aa + mm" ;
+DATRETETR : saisie revenu classe = 0 priorite = 60 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 nat_code = 0 alias 9YR : "Date retour en France     " ;
+DCP : calculee : "Deduction pour souscription societe de PECHE (SOFIPECHE)" ;
+DCSG : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 9 nat_code = 1 alias 6DE : "CSG deductible" ;
+DCSGIM_A : calculee base : "csg deductible provisoire anterieure" ;
+DDCSG : calculee : "Libelle CSG deductible" ;
+DEC11 : calculee : "Decote totale" ;
+DEC12 : calculee : "Decote totale" ;
+DEC31 : calculee : "Impot KIR (suprression des reductions)" ;
+DEC32 : calculee : "Impot KIR (suprression des reductions)" ;
+DEC6 : calculee : "Decote pour la taxation du 8VV (art. 168)" ;
+DEDIV : calculee : "Deductions diverses" ;
+DFA : calculee : "Deduction pour frais d'accueil" ;
+DFCE : calculee : "Deficit foncier apres imputation deficits 3CE" ;
+DFCG : calculee : "Deficit foncier apres imputation deficits 3CG" ;
+DISFE : calculee : "ISF : ISF paye a l etranger a imputer sur ISF net des reductions ISF " ;
+DISQUONB : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 1 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 5 nat_code = 1 alias NTS : "Distributions taxees au quotient - Nb d'annees" ;
+DMOND : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 11 nat_code = 1 alias 8ZY : "Deficit net mondial (taux moyen pour les non-residents)" ;
+DOMABDB : calculee : "DOM : abattement non utilise calcule sur les droits au bareme" ;
+DOMAVTO : calculee : "DOM : avantage taux minore" ;
+DOMDOM : calculee : "DOM : calcul avantage maximum sur l impot proportionnel" ;
+DPA : calculee : "Deduction pour pensions alimentaires" ;
+DPAE : calculee : "Deduction pour pension alimentaire etudiant" ;
+DRCF : calculee : "Deficit foncier imputable sur le RBG" ;
+DRF : calculee : "Deficit foncier imputable sur le RBG" ;
+DS011 : calculee : "Droits simples issus du bareme" ;
+DS012 : calculee : "Droits simples issus du bareme" ;
+DS013 : calculee : "Droits simples issus du bareme" ;
+DS014 : calculee : "Droits simples issus du bareme" ;
+DS015 : calculee : "Droits simples issus du bareme" ;
+DS016 : calculee : "Droits simples issus du bareme 8VV art. 168" ;
+DS021 : calculee : "Droits simples issus du bareme" ;
+DS022 : calculee : "Droits simples issus du bareme" ;
+DS023 : calculee : "Droits simples issus du bareme" ;
+DS024 : calculee : "Droits simples issus du bareme" ;
+DS026 : calculee : "Droits simples issus du bareme 8VV art. 168" ;
+DS511 : calculee : "Droits simples issus du bareme" ;
+DS512 : calculee : "Droits simples issus du bareme" ;
+DS515 : calculee : "Droits simples issus du bareme" ;
+DS521 : calculee : "Droits simples issus du bareme" ;
+DS522 : calculee : "Droits simples issus du bareme" ;
+EAC : calculee : "Nombre d'enfants a charge pour calcul du nombre de parts" ;
+ETALPERP : saisie revenu classe = 0 priorite = 10 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 8ZQ : "Code pour edition bulletin pour etalement (capital PERP)" ;
+EXO1 : calculee : "Indicateur d'exoneration pour revenus faibles" ;
+FCPI : saisie revenu classe = 0 priorite = 31 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 1 rapcat = 10 nat_code = 1 alias 7GQ : "Souscriptions de parts de FCPI" ;
+FLAG_ACO : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias V_FLAG_ACO : "flag pour calcul CIRELANCE passage acompte" ;
+FONCINB : saisie revenu classe = 1 priorite = 10 categorie_TL = 20 cotsoc = 1 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 7 nat_code = 1 alias NBA : "Revenus fonciers taxes au quotient - Nb d'annees" ;
+GAINBASE_A : calculee base : "correctif : base calculee effectivement anterieure" ;
+GAIN_A : calculee base : "correctif : Gain  anterieure" ;
+GL1 : calculee : "Revenus au quotient 1 hors revenus footballeurs nets imposables" ;
+GL10 : calculee : "Revenus au quotient 10 nets imposables" ;
+GL10M : calculee : "Revenus au quotient 10 hors rev foot nets imposablesTXMOY" ;
+GL11 : calculee : "Revenus au quotient 11 nets imposables" ;
+GL11M : calculee : "Revenus au quotient 11 hors rev foot nets imposablesTXMOY" ;
+GL12 : calculee : "Revenus au quotient 12 nets imposables" ;
+GL12M : calculee : "Revenus au quotient 12 hors rev foot nets imposablesTXMOY" ;
+GL13 : calculee : "Revenus au quotient 13 nets imposables" ;
+GL13M : calculee : "Revenus au quotient 13 hors rev foot nets imposables TXMOY" ;
+GL1M : calculee : "Revenus au quotient 1 hors rev foot nets imposablesTXMOY" ;
+GL2 : calculee : "Revenus au quotient 2 hors revenus footballeurs nets imposables" ;
+GL2M : calculee : "Revenus au quotient 2 hors rev foot nets imposablesTXMOY" ;
+GL2QUOKIRE : calculee : "Rev. quotient 2 hors rev. footballeurs nets imposables, calcul REVKIRE" ;
+GL3 : calculee : "Revenus au quotient 3 hors revenus footballeurs nets imposables" ;
+GL3M : calculee : "Revenus au quotient 3 hors rev foot nets imposablesTXMOY" ;
+GL3QUOKIRE : calculee : "Rev. quotient 3 hors rev. footballeurs nets imposables, calcul REVKIRE" ;
+GL4 : calculee : "Revenus au quotient 4 hors revenus footballeurs nets imposables" ;
+GL4M : calculee : "Revenus au quotient 4 hors rev foot nets imposablesTXMOY" ;
+GL4QUOKIRE : calculee : "Rev. quotient 4 hors rev. footballeurs nets imposables, calcul REVKIRE" ;
+GL5 : calculee : "Revenus au quotient 5 nets imposables" ;
+GL5M : calculee : "Revenus au quotient 5 hors rev foot nets imposablesTXMOY" ;
+GL6 : calculee : "Revenus au quotient 6 nets imposables" ;
+GL6M : calculee : "Revenus au quotient 6 hors rev foot nets imposablesTXMOY" ;
+GL7 : calculee : "Revenus au quotient 7 nets imposables" ;
+GL7M : calculee : "Revenus au quotient 6 hors rev foot nets imposablesTXMOY" ;
+GL8 : calculee : "Revenus au quotient 8 nets imposables" ;
+GL8M : calculee : "Revenus au quotient 8 hors rev foot nets imposablesTXMOY" ;
+GL9 : calculee : "Revenus au quotient 9 nets imposables" ;
+GL9M : calculee : "Revenus au quotient 9 hors rev foot nets imposablesTXMOY" ;
+GLAFN : calculee : "total GLPEAFNi + GLTSAFNi" ;
+GLAFNM : calculee : "total GLPSAFNMi + GLPEAFNMi" ;
+GLF1 : calculee : "pensions footballeurs imposables - PAC" ;
+GLF1M : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLF2 : calculee : "pensions footballeurs imposables - PAC" ;
+GLF2M : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLF3 : calculee : "pensions footballeurs imposables - PAC" ;
+GLF3M : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLF4 : calculee : "pensions footballeurs imposables - PAC" ;
+GLF4M : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFC : calculee : "pensions footballeurs imposables - Conjoint" ;
+GLFCM : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFM1 : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFM2 : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFM3 : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFM4 : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFMC : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFMV : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFTOT : calculee : "gain levee  quotient total foyer " ;
+GLFTOTM : calculee : "gain levee  quotient total foyer " ;
+GLFV : calculee : "pensions footballeurs imposables - Vous" ;
+GLFVM : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLN1 : calculee : "Gain de levee d'option net" ;
+GLN2 : calculee : "Gain de levee d'option net" ;
+GLN3 : calculee : "Gain de levee d'option net" ;
+GLPALIM1 : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM1M : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM2 : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM2M : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM3 : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM3M : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM4 : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM4M : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIMC : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIMCM : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIMTOT : calculee : "gain levee  quotient total foyer pension alimentaire" ;
+GLPALIMTOTM : calculee : "gain levee  quotient total foyer pension alimentaire" ;
+GLPALIMV : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIMVM : calculee : "Revenus au quotient pension alimentaire" ;
+GLPEAFN1 : calculee : "pensions AFN imposables - pac" ;
+GLPEAFN1M : calculee : "revenus  nets imposables TXMOY" ;
+GLPEAFN2 : calculee : "pensions AFN imposables - pac" ;
+GLPEAFN2M : calculee : "revenus  nets imposables TXMOY" ;
+GLPEAFN3 : calculee : "pensions AFN imposables - pac" ;
+GLPEAFN3M : calculee : "revenus  nets imposables TXMOY" ;
+GLPEAFN4 : calculee : "pensions AFN imposables - pac" ;
+GLPEAFN4M : calculee : "revenus  nets imposables TXMOY" ;
+GLPEAFNC : calculee : "pensions AFN imposables - Conjoint" ;
+GLPEAFNCM : calculee : "revenus AFN nets imposables TXMOY" ;
+GLPEAFNMC : calculee : "revenus  nets imposables TXMOY" ;
+GLPEAFNMV : calculee : "revenus  nets imposables TXMOY" ;
+GLPEAFNTOT : calculee : "gain levee  quotient total foyer " ;
+GLPEAFNTOTM : calculee : "gain levee  quotient total foyer " ;
+GLPEAFNV : calculee : "pensions AFN imposables Vous" ;
+GLPEAFNVM : calculee : "revenus AFN nets imposables TXMOY" ;
+GLPRR1 : calculee : "Revenus au quotient pension normale" ;
+GLPRR1M : calculee : "Revenus au quotient pension normale" ;
+GLPRR2 : calculee : "Revenus au quotient pension normale" ;
+GLPRR2M : calculee : "Revenus au quotient pension normale" ;
+GLPRR3 : calculee : "Revenus au quotient pension normale" ;
+GLPRR3M : calculee : "Revenus au quotient pension normale" ;
+GLPRR4 : calculee : "Revenus au quotient pension normale" ;
+GLPRR4M : calculee : "Revenus au quotient pension normale" ;
+GLPRRC : calculee : "Revenus au quotient pension normale" ;
+GLPRRCM : calculee : "Revenus au quotient pension normale" ;
+GLPRRTOT : calculee : "gain levee  quotient total foyer pension normale" ;
+GLPRRTOTM : calculee : "gain levee  quotient total foyer pension normale" ;
+GLPRRV : calculee : "Revenus au quotient pension normale" ;
+GLPRRVM : calculee : "Revenus au quotient pension normale" ;
+GLQ : calculee : "somme des GLx" ;
+GLQM : calculee : "Somme GLxM" ;
+GLRCM : calculee : "Revenus au quotient " ;
+GLRCMCH : calculee : "Revenus au quotient " ;
+GLRCMCHM : calculee : "Revenus au quotient " ;
+GLRCMDC : calculee : "Revenus au quotient " ;
+GLRCMDCM : calculee : "Revenus au quotient " ;
+GLRCMFU : calculee : "Revenus au quotient " ;
+GLRCMFUM : calculee : "Revenus au quotient " ;
+GLRCMGO : calculee : "Revenus au quotient " ;
+GLRCMGOM : calculee : "Revenus au quotient " ;
+GLRCMM : calculee : "Revenus au quotient " ;
+GLRCMTOT : calculee : "gain levee  quotient total foyer " ;
+GLRCMTOTM : calculee : "gain levee  quotient total foyer " ;
+GLRCMTR : calculee : "Revenus au quotient " ;
+GLRCMTRM : calculee : "Revenus au quotient " ;
+GLRCMTS : calculee : "Revenus au quotient " ;
+GLRCMTSM : calculee : "Revenus au quotient " ;
+GLRF : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRF1 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRF1M : calculee : "Revenus au quotient hors rev foot nets imposablesTXMOY" ;
+GLRF2 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRF2M : calculee : "Revenus au quotient hors rev foot nets imposablesTXMOY" ;
+GLRF3 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRF3M : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRFM : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRFMM : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRFTOT : calculee : "gain levee  quotient total foyer " ;
+GLRFTOTM : calculee : "gain levee  quotient total foyer " ;
+GLRVO : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO1 : calculee : "Revenus au quotient " ;
+GLRVO1M : calculee : "Revenus au quotient " ;
+GLRVO2 : calculee : "Revenus au quotient " ;
+GLRVO2M : calculee : "Revenus au quotient " ;
+GLRVO3 : calculee : "Revenus au quotient " ;
+GLRVO3M : calculee : "Revenus au quotient " ;
+GLRVO4 : calculee : "Revenus au quotient " ;
+GLRVO4M : calculee : "Revenus au quotient " ;
+GLRVO5 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO5M : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO6 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO6M : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO7 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO7M : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVOM : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVOTOT : calculee : "gain levee  quotient total foyer " ;
+GLRVOTOTM : calculee : "gain levee  quotient total foyer " ;
+GLTS1 : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS1M : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS2 : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS2M : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS3 : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS3M : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS4 : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS4M : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSAFNC : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSAFNMC : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSAFNMV : calculee : "Traitements AFN imposables TXMOY" ;
+GLTSAFNV : calculee : "Traitements AFN imposables Vous" ;
+GLTSC : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSCM : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSREMP1 : calculee : "Traitements  imposables quotient" ;
+GLTSREMP1M : calculee : "Traitements  imposables quotient" ;
+GLTSREMP2 : calculee : "Traitements  imposables quotient" ;
+GLTSREMP2M : calculee : "Traitements  imposables quotient" ;
+GLTSREMP3 : calculee : "Traitements  imposables quotient" ;
+GLTSREMP3M : calculee : "Traitements  imposables quotient" ;
+GLTSREMP4 : calculee : "Traitements  imposables quotient" ;
+GLTSREMP4M : calculee : "Traitements  imposables quotient" ;
+GLTSREMPC : calculee : "Traitements  imposables quotient" ;
+GLTSREMPCM : calculee : "Traitements  imposables quotient" ;
+GLTSREMPTOT : calculee : "gain levee  quotient total foyer " ;
+GLTSREMPTOTM : calculee : "gain levee  quotient total foyer " ;
+GLTSREMPV : calculee : "Traitements  imposables quotient" ;
+GLTSREMPVM : calculee : "Traitements  imposables quotient" ;
+GLTSTOT : calculee : "gain levee  quotient total foyer " ;
+GLTSTOTM : calculee : "gain levee  quotient total foyer " ;
+GLTSV : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSVM : calculee : "Traitements AFN imposables Conjoint" ;
+HRBASEFRAC : calculee : "Haut revenu fraction rfr n sur moyenne rfr ant " ;
+HRBASELISSE : calculee : "Haut revenu rfr  lisse" ;
+HRBTRFR1 : calculee : "Haut revenu rfr ant. n-1 retenu" ;
+HRBTRFR2 : calculee : "Haut revenu rfr ant. n-2 retenu" ;
+HRBTRNI1 : calculee : "Haut revenu rni ant. n-1 retenu" ;
+HRBTRNI2 : calculee : "Haut revenu rni ant. n-2 retenu" ;
+HRBTRNIRFR : calculee : "Haut revenu compare rni ant avec rfr ant " ;
+HRCODTHEO : calculee : "Haut revenu indicateur condition calcul theorique" ;
+HRCONDTHEO : calculee : "Haut revenu indicateur condition RFR sup a 1.5 RFR anterieurs" ;
+HRLIM15 : calculee : "Haut revenu rfr n 1,5 fois moyenne des 2 rfr ant" ;
+HRLIMBTRFR1 : calculee : "Haut revenu rfr n-1 inf a 250000" ;
+HRLIMBTRFR2 : calculee : "Haut revenu rfr n-2 inf a 250000" ;
+HRMOYBTRFR : calculee : "Haut revenu moyenne des 2 rfr ant" ;
+HRNBTRFR : calculee : "Haut revenu nombre rfr ant" ;
+IAD11 : calculee : "impot apres decote et apres reduction  d impot" ;
+IAD31 : calculee : "Impot KIR (suprression des reductions)" ;
+IAD32 : calculee : "Impot KIR (suprression des reductions)" ;
+IAMD1 : calculee : "Impot apres retrait de l'avantage en impot sur dons" ;
+IAMD2 : calculee : "Impot apres retrait de l'avantage en impot sur dons" ;
+IAMD2TH : calculee : "IMPOT brut TH pour redevance TELE" ;
+IAMD3 : calculee : "Impot KIR immediat (suprression des reductions)" ;
+IAN : calculee : "Impot apres imputations non restituables" ;
+IAN_DERSTTR : saisie revenu classe = 0 priorite = 0 categorie_TL = 0 cotsoc = 0 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias V_IAN_DERSTT : "Impot apres imputations non restituables" ;
+IAR :
\ No newline at end of file
diff --git a/sources2011m_9_6/tgvH.m b/sources2011m_9_6/tgvH.m
new file mode 100644
index 0000000000000000000000000000000000000000..cccc0614074e58a862b0103c441ba3f02a567cc8
--- /dev/null
+++ b/sources2011m_9_6/tgvH.m
@@ -0,0 +1,429 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2012 
+#au titre des revenus percus en 2011. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2DEFBACREC : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREP : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREV : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PALIEX : calculee restituee : "quotient 2 pension alimentaire exceptionnelle" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q3" ;
+3ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q3" ;
+3ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q3" ;
+3DEFBACREC : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREP : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREV : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q3" ;
+3FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q3" ;
+3PALIEX : calculee restituee : "quotient 3 pension alimentaire exceptionnelle" ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q3" ;
+3RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique BGO" ;
+3RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+3RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+3RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q3" ;
+3RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCMRABD : calculee : "montant de la refaction sur BDC" ;
+3RCMRNABD : calculee : "revenus nets de la refaction sur BDC" ;
+3RCMRNTNC : calculee : "revenus nets de la refaction sur BFU" ;
+3RCMRTNC : calculee : "montant de la refaction sur BFU" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REGPRIVM : calculee : "montant majore de 3GO" ;
+3REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+3RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RV1 : calculee : "Montant imposable des RV quotient 3 - de 50 ans" ;
+3RV2 : calculee : "Montant imposable des RV quotient 3 - 50 a 59 ans" ;
+3RV3 : calculee : "Montant imposable des RV quotient 3 - 60 a 69 ans" ;
+3RV4 : calculee : "Montant imposable des RV quotient 3 + de 69 ans" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+4ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q4" ;
+4ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q4" ;
+4ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q4" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Conjoint" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Vous" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Conjoint" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Vous" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q4" ;
+4FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q4" ;
+4PALIEX : calculee restituee : "quotient 4 pension alimentaire exceptionnelle" ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q4" ;
+4RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique CGO" ;
+4RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+4RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+4RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q4" ;
+4RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCMRABD : calculee : "montant de la refaction sur CDC" ;
+4RCMRNABD : calculee : "revenus nets de la refaction sur CDC" ;
+4RCMRNTNC : calculee : "revenus nets de la refaction sur CFU" ;
+4RCMRTNC : calculee : "montant de la refaction sur CFU" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4REGPRIVM : calculee : "montant majore de 4GO" ;
+4RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RV1 : calculee : "Montant imposable des RV quotient 4 - de 50 ans" ;
+4RV2 : calculee : "Montant imposable des RV quotient 4 - 50 a 59 ans" ;
+4RV3 : calculee : "Montant imposable des RV quotient 4 - 60 a 69 ans" ;
+4RV4 : calculee : "Montant imposable des RV quotient 4 + de 69 ans" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10QIQJQFQG : calculee : "Plaf av fiscaux : Investissements outre mer entreprise dans AUBAINE10" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RNOUV : calculee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RSOC : calculee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10TOURSOC : calculee : "A2 : Investissements locatif social - reduction" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RNOUV : calculee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RSOC : calculee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11TOURSOC : calculee : "A2 : Investissements locatif social - reduction" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1156.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 restituee alias 3VB : "Abattement pour duree de detention - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 restituee alias 3VA : "Abattement pour duree de detention - Plus-value" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICNPDECC : calculee restituee : "auto entrepreneurs BIC non pro declare conjoint" ;
+ABICNPDECP : calculee restituee : "auto entrepreneurs BIC non pro declare pac" ;
+ABICNPDECV : calculee restituee : "auto entrepreneurs BIC non pro declare vous" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCNPDEC : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECC : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECP : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECV : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee restituee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee restituee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTMATEF : calculee : "Abattement pour enfants maries a charge tx eff" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELHJK : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHL : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHM : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHNO : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELMET : calculee restituee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNBGL : calculee restituee : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNQ : calculee restituee : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELREPHR : calculee restituee : "Scellier metropole - DOM hors plafond report 2009 - Retenu 7HR" ;
+ACELREPHS : calculee restituee : "Investissement Scellier DOM ds plafond report 2009 - Retenu 7HS" ;
+ACELREPHT : calculee restituee : "Scellier metropole DOM : Report  - Retenu 7HT" ;
+ACELREPHU : calculee restituee : "Scellier DOM COM hors plafond 5/2009 31/12/2009- Retenu 7HU" ;
+ACELREPHV : calculee restituee : "Investissement Scellier metropole 2010 : Report- Retenu 7HV" ;
+ACELREPHW : calculee restituee : "Investissement Scellier DOM COM 2010 : Report- Retenu 7HW" ;
+ACELREPHX : calculee restituee : "Scellier metropole pa 2009 fini 2010 : Report - Retenu 7HX" ;
+ACELREPHZ : calculee restituee : "Scellier DOM COM pa 2009 fini 2010 : Report - Retenu 7HZ" ;
+ACELRREDLA : calculee restituee : "Investissement Scellier report 2009 reduction - Avis Facture - Retenu " ;
+ACELRREDLB : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LB" ;
+ACELRREDLC : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LC" ;
+ACINE : calculee restituee : "Cinema audiovisuel" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACOLENT : calculee restituee : "Investissements outre mer entreprise - report 2009 - declare" ;
+ACOMP : calculee restituee : "Frais de comptabilite" ;
+ACOTFOR : calculee restituee : "Cotisations assurance pour la foret - retenu" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ACREAT : calculee restituee : "nbre createur ou repreneur entreprise accorde" ;
+ACREATHANDI : calculee restituee : "nbre createur ou repreneur entreprise accorde handi" ;
+ADEVDUBAIL : calculee restituee : "Depenses developpement durable " ;
+ADEVDUR : calculee restituee : "Depenses developpement durable " ;
+ADIFAGRI : calculee restituee : "Interet differe paiement agriculteurs" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+ADOM : calculee restituee : "Investissement DOM-TOM" ;
+ADOMSOC1 : calculee restituee : "Investissements outre mer logement social - report 2009 - declare" ;
+ADONS : calculee restituee : "Dons aux oeuvres" ;
+AFIPC : calculee restituee : "Cotisations FIP Corse retenus" ;
+AFIPDOM : calculee restituee : "Cotisations FIP DOM COM retenus" ;
+AFOREST : calculee restituee : "base reduction d impot investissment forestier retenue" ;
+AFORET : calculee restituee : "Cotisations versees pour defense des forets" ;
+AGARD : calculee restituee : "Base reduction frais de garde" ;
+AGC : calculee : "Age du conjoint" ;
+AGRBG : calculee restituee : "SIMULIR rbg correspondant aux deficits BA" ;
+AGRI : calculee restituee : "pour Colbert : somme des BAPERP" ;
+AGRIC : calculee restituee : "Abattements jeunes agriculteurs - Conjoint" ;
+AGRIMP : calculee restituee : "Conges agriculteur : montant impute" ;
+AGRIP : calculee restituee : "Abattements jeunes agriculteurs - PAC" ;
+AGRIV : calculee restituee : "Abattements jeunes agriculteurs - Vous" ;
+AGRREST : calculee restituee : "Conges agriculteur : montant restitution" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+AHEBE : calculee restituee : "Base retenue  depense d'hebergement" ;
+AIDIMP : calculee restituee : "Aide aux personnes : montant impute" ;
+AIDREST : calculee restituee : "Aide aux personnes : montant restitution" ;
+AINVDOMTOMLG : calculee restituee : "accorde de RDINVDOMTOMLOG" ;
+AINVRED : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AISFDONCEE : calculee restituee : "ISF : Dons dans CEE - Acceptes" ;
+AISFDONS : calculee restituee : "ISF : Dons en France - Acceptes" ;
+AISFFCPI : calculee restituee : "ISF :  investisements FCPI declares" ;
+AISFFIP : calculee restituee : "ISF :  investisements FIP declares" ;
+AISFPMED : calculee restituee : "ISF : PME, investisements directs declares" ;
+AISFPMEI : calculee restituee : "ISF : PME, investisements indirects declares" ;
+ALLECS : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 12 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 8TV : "Revenus etrangers soumis a CSG au taux de 6,6 %" ;
+ALLO1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1CP : "Revenus de remplacement - PAC 1" ;
+ALLO2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1DP : "Revenus de remplacement - PAC 2" ;
+ALLO3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1EP : "Revenus de remplacement - PAC 3" ;
+ALLO4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1FP : "Revenus de remplacement - PAC 4" ;
+ALLOC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1BP : "Revenus de remplacement - Conjoint" ;
+ALLOP : calculee restituee : " somme Allocation personnes a charge 1 a 4" ;
+ALLOV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1AP : "Revenus de remplacement - Vous" ;
+ALOCENT : calculee restituee : "Investissements outre mer entreprise - declare" ;
+ALOGDOM : calculee restituee : "Investissements outre mer logement - declare" ;
+ALOGSOC : calculee restituee : "Investissements outre mer logement social - declare" ;
+ALOYIMP : calculee restituee : "Credit assurances loyers impayes retenu" ;
+AMEUBLE : calculee restituee : "Investissements locations meublees non pro - report 2009 - retenu" ;
+ANCNAP : calculee restituee : "ancien net a payer pour la double liq." ;
+ANCSDED2 : calculee : "annee d'imposition pour variation CSG" ;
+ANG3 : calculee : "avantage normal impot TH - KIR" ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+ANOCEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5SN : "BNC non prof. hors AA. - Benefices - Vous" ;
+ANOPEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5OS : "BNC non prof. hors AA - Benefices - PAC" ;
+ANOUV : calculee restituee : "Base reduction Capital de societes nouvelles" ;
+ANOVEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5NS : "BNC non prof. hors AA - Benefices - Conjoint" ;
+ANTIRAFF : calculee restituee : "Impot sur le revenu anterieur a afficher sur l avis" ;
+ANTISFAFF : calculee restituee : "ISF anterieur a afficher sur l avis" ;
+ANTPPEIMP2A : calculee base : "correctif : anterieur ppe imputee" ;
+ANTPPEIMPA_A : calculee base : "correctif : anterieur ppe impa" ;
+ANTPPEREST2A : calculee base : "correctif : anterieur ppe restituee" ;
+ANTPPETOT : calculee base : "correctif : anterieur ppe totale" ;
+APATNAT : calculee restituee : "Base retenue  depense protection du patrimoine naturel" ;
+APATNAT1 : calculee restituee : "Retenu : depense 2010 protection du patrimoine naturel : report" ;
+APB1 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB2 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB3 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB4 : calculee : "Minimum d'abattement 10% (PR)" ;
+APBC : calculee : "Minimum d'abattement 10% (PR)" ;
+APBV : calculee : "Minimum d'abattement 10% (PR)" ;
+APECHE : calculee restituee : "Souscriptions au capital d'une SOFIPECHE - admis" ;
+APERPC : calculee restituee : "bse retenu PERP" ;
+APERPCTEF : calculee : "bse retenu PERP tx eff" ;
+APERPP : calculee restituee : "bse retenu PERP" ;
+APERPPTEF : calculee : "bse retenu PERP tx eff" ;
+APERPV : calculee restituee : "bse retenu PERP" ;
+APERPVTEF : calculee : "bse retenu PERP tx eff" ;
+APPIMP : calculee restituee : "Credit apprentissage : montant impute" ;
+APPLI_BATCH : calculee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : calculee : "booleen  ; vaut 1 si appli OCEANS 0 sinon" ;
+APPLI_PRO : calculee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+APPREST : calculee restituee : "Credit apprentissage : montant restitution" ;
+APR1 : calculee : "Abattement pensions retraites 10%" ;
+APR2 : calculee : "Abattement pensions retraites 10%" ;
+APR3 : calculee : "Abattement pensions retraites 10%" ;
+APR4 : calculee : "Abattement pensions retraites 10%" ;
+APRC : calculee : "Abattement pensions retraites 10%" ;
+APRESCOMP : calculee restituee : "base retenue prestations compensatoires" ;
+APRETUD : calculee restituee : "Interets pret etudiant retenu" ;
+APROREP : calculee restituee : "Invest. locations meublees non pro 2009 acheve 2010 - report - retenu" ;
+APRV : calculee : "Abattement pensions retraites 10%" ;
+AREDMEUB : calculee restituee : "Invest. locations meublees non pro - report reduction - retenu" ;
+AREDREP : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AREPA : calculee restituee : "Dons : fourniture de repas particulier" ;
+AREPMEU : calculee restituee : "Investissements locations meublees non pro - report 2010 - retenu" ;
+AREPNPRO : calculee restituee : "Invest. locations meublees non pro initie avant 2010 - report - retenu" ;
+ARESIMEUB : calculee restituee : "Invest. locations meublees dans residence neuve (7IO) - retenu" ;
+ARESINEUV : calculee restituee : "Investissements locations meublees dans residence neuve - retenu" ;
+ARESIVIEU : calculee restituee : "Investissements locations meublees dans residence neuve 2009 - retenu" ;
+ARESTIMO : calculee restituee : "Travaux de restauration immobiliere - retenu" ;
+ARIRENOV : calculee restituee : "Travaux de restauration des objets classes - retenu" ;
+ARTIMP : calculee restituee : "Metiers d art : montant impute" ;
+ARTREST : calculee restituee : "Metiers d art : montant restitution" ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+ASOCREPR : calculee restituee : "Base Reduction emprunt reprise societe" ;
+ASOUFIP : calculee restituee : "Investissement de proximite" ;
+ASSIMP : calculee restituee : "Prelevements liberatoires (assurance vie) : montant impute" ;
+ASSREST : calculee restituee : "Prelevements liberatoires (assurance vie) : montant restitution" ;
+ASURV : calculee restituee : "Rente-survie, contrat handicap" ;
+ASYND : calculee restituee : "Reduction cotisation syndicale" ;
+ATEC : calculee : "Depenses travaux prevention risques technologiques - Bailleur - retenu" ;
+ATITPRISE : calculee restituee : "Capital des tres petites societes - retenu" ;
+ATOUHOTR : calculee restituee : "Investissement locatif residence hoteliere - Retenu" ;
+ATOUREPA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURES : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURNEUF : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURREP : calculee restituee : "Retenu  Investissements locatifs resid. de t
\ No newline at end of file
diff --git a/sources2011m_9_6/tgvI.m b/sources2011m_9_6/tgvI.m
new file mode 100644
index 0000000000000000000000000000000000000000..24c0b09dae9a9e25939213abed0f820c2753b0c1
--- /dev/null
+++ b/sources2011m_9_6/tgvI.m
@@ -0,0 +1,426 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 11 Application iliad
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2DEFBACREC : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREP : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREV : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PALIEX : calculee : "quotient 2 pension alimentaire exceptionnelle" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q3" ;
+3ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q3" ;
+3ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q3" ;
+3DEFBACREC : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREP : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREV : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q3" ;
+3FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q3" ;
+3PALIEX : calculee : "quotient 3 pension alimentaire exceptionnelle" ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q3" ;
+3RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique BGO" ;
+3RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+3RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+3RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q3" ;
+3RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCMRABD : calculee : "montant de la refaction sur BDC" ;
+3RCMRNABD : calculee : "revenus nets de la refaction sur BDC" ;
+3RCMRNTNC : calculee : "revenus nets de la refaction sur BFU" ;
+3RCMRTNC : calculee : "montant de la refaction sur BFU" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REGPRIVM : calculee : "montant majore de 3GO" ;
+3REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+3RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RV1 : calculee : "Montant imposable des RV quotient 3 - de 50 ans" ;
+3RV2 : calculee : "Montant imposable des RV quotient 3 - 50 a 59 ans" ;
+3RV3 : calculee : "Montant imposable des RV quotient 3 - 60 a 69 ans" ;
+3RV4 : calculee : "Montant imposable des RV quotient 3 + de 69 ans" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+4ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q4" ;
+4ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q4" ;
+4ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q4" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Conjoint" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Vous" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Conjoint" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Vous" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q4" ;
+4FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q4" ;
+4PALIEX : calculee : "quotient 4 pension alimentaire exceptionnelle" ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q4" ;
+4RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique CGO" ;
+4RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+4RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+4RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q4" ;
+4RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCMRABD : calculee : "montant de la refaction sur CDC" ;
+4RCMRNABD : calculee : "revenus nets de la refaction sur CDC" ;
+4RCMRNTNC : calculee : "revenus nets de la refaction sur CFU" ;
+4RCMRTNC : calculee : "montant de la refaction sur CFU" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4REGPRIVM : calculee : "montant majore de 4GO" ;
+4RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RV1 : calculee : "Montant imposable des RV quotient 4 - de 50 ans" ;
+4RV2 : calculee : "Montant imposable des RV quotient 4 - 50 a 59 ans" ;
+4RV3 : calculee : "Montant imposable des RV quotient 4 - 60 a 69 ans" ;
+4RV4 : calculee : "Montant imposable des RV quotient 4 + de 69 ans" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10QIQJQFQG : calculee : "Plaf av fiscaux : Investissements outre mer entreprise dans AUBAINE10" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee restituee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RNOUV : calculee restituee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee restituee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RNOUV : calculee restituee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+AB20_RAPPEL : saisie penalite alias V_A20_RAPPEL : "Champ indicateur perte abattement 20% dans une ligne rappel" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1156.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 restituee alias 3VB : "Abattement pour duree de detention - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 restituee alias 3VA : "Abattement pour duree de detention - Plus-value" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICNPDECC : calculee restituee : "auto entrepreneurs BIC non pro declare conjoint" ;
+ABICNPDECP : calculee restituee : "auto entrepreneurs BIC non pro declare pac" ;
+ABICNPDECV : calculee restituee : "auto entrepreneurs BIC non pro declare vous" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCNPDEC : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECC : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECP : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECV : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee restituee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee restituee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTMATEF : calculee : "Abattement pour enfants maries a charge tx eff" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELHJK : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHL : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHM : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHNO : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELMET : calculee restituee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNBGL : calculee restituee : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNQ : calculee restituee : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELREPHR : calculee restituee : "Scellier metropole - DOM hors plafond report 2009 - Retenu 7HR" ;
+ACELREPHS : calculee restituee : "Investissement Scellier DOM ds plafond report 2009 - Retenu 7HS" ;
+ACELREPHT : calculee restituee : "Scellier metropole DOM : Report  - Retenu 7HT" ;
+ACELREPHU : calculee restituee : "Scellier DOM COM hors plafond 5/2009 31/12/2009- Retenu 7HU" ;
+ACELREPHV : calculee restituee : "Investissement Scellier metropole 2010 : Report- Retenu 7HV" ;
+ACELREPHW : calculee restituee : "Investissement Scellier DOM COM 2010 : Report- Retenu 7HW" ;
+ACELREPHX : calculee restituee : "Scellier metropole pa 2009 fini 2010 : Report - Retenu 7HX" ;
+ACELREPHZ : calculee restituee : "Scellier DOM COM pa 2009 fini 2010 : Report - Retenu 7HZ" ;
+ACELRREDLA : calculee restituee : "Investissement Scellier report 2009 reduction - Avis Facture - Retenu " ;
+ACELRREDLB : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LB" ;
+ACELRREDLC : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LC" ;
+ACINE : calculee restituee : "Cinema audiovisuel" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACOLENT : calculee restituee : "Investissements outre mer entreprise - report 2009 - declare" ;
+ACOMP : calculee restituee : "Frais de comptabilite" ;
+ACOTFOR : calculee restituee : "Cotisations assurance pour la foret - retenu" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ACREAT : calculee restituee : "nbre createur ou repreneur entreprise accorde" ;
+ACREATHANDI : calculee restituee : "nbre createur ou repreneur entreprise accorde handi" ;
+ADEVDUBAIL : calculee restituee : "Depenses developpement durable " ;
+ADEVDUR : calculee restituee : "Depenses developpement durable " ;
+ADIFAGRI : calculee restituee : "Interet differe paiement agriculteurs" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+ADOM : calculee restituee : "Investissement DOM-TOM" ;
+ADOMSOC1 : calculee restituee : "Investissements outre mer logement social - report 2009 - declare" ;
+ADONS : calculee restituee : "Dons aux oeuvres" ;
+AFIPC : calculee restituee : "Cotisations FIP Corse retenus" ;
+AFIPDOM : calculee restituee : "Cotisations FIP DOM COM retenus" ;
+AFOREST : calculee restituee : "base reduction d impot investissment forestier retenue" ;
+AFORET : calculee restituee : "Cotisations versees pour defense des forets" ;
+AGARD : calculee restituee : "Base reduction frais de garde" ;
+AGC : calculee : "Age du conjoint" ;
+AGRBG : calculee restituee : "SIMULIR rbg correspondant aux deficits BA" ;
+AGRI : calculee restituee : "pour Colbert : somme des BAPERP" ;
+AGRIC : calculee restituee : "Abattements jeunes agriculteurs - Conjoint" ;
+AGRIMP : calculee restituee : "Conges agriculteur : montant impute" ;
+AGRIP : calculee restituee : "Abattements jeunes agriculteurs - PAC" ;
+AGRIV : calculee restituee : "Abattements jeunes agriculteurs - Vous" ;
+AGRREST : calculee restituee : "Conges agriculteur : montant restitution" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+AHEBE : calculee restituee : "Base retenue  depense d'hebergement" ;
+AIDIMP : calculee restituee : "Aide aux personnes : montant impute" ;
+AIDREST : calculee restituee : "Aide aux personnes : montant restitution" ;
+AINVDOMTOMLG : calculee restituee : "accorde de RDINVDOMTOMLOG" ;
+AINVRED : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AISFDONCEE : calculee restituee : "ISF : Dons dans CEE - Acceptes" ;
+AISFDONS : calculee restituee : "ISF : Dons en France - Acceptes" ;
+AISFFCPI : calculee restituee : "ISF :  investisements FCPI declares" ;
+AISFFIP : calculee restituee : "ISF :  investisements FIP declares" ;
+AISFPMED : calculee restituee : "ISF : PME, investisements directs declares" ;
+AISFPMEI : calculee restituee : "ISF : PME, investisements indirects declares" ;
+ALLECS : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 12 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 8TV : "Revenus etrangers soumis a CSG au taux de 6,6 %" ;
+ALLO1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1CP : "Revenus de remplacement - PAC 1" ;
+ALLO2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1DP : "Revenus de remplacement - PAC 2" ;
+ALLO3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1EP : "Revenus de remplacement - PAC 3" ;
+ALLO4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1FP : "Revenus de remplacement - PAC 4" ;
+ALLOC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1BP : "Revenus de remplacement - Conjoint" ;
+ALLOP : calculee restituee : " somme Allocation personnes a charge 1 a 4" ;
+ALLOV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1AP : "Revenus de remplacement - Vous" ;
+ALOCENT : calculee restituee : "Investissements outre mer entreprise - declare" ;
+ALOGDOM : calculee restituee : "Investissements outre mer logement - declare" ;
+ALOGSOC : calculee restituee : "Investissements outre mer logement social - declare" ;
+ALOYIMP : calculee restituee : "Credit assurances loyers impayes retenu" ;
+AMEUBLE : calculee restituee : "Investissements locations meublees non pro - report 2009 - retenu" ;
+ANCNAP : calculee restituee : "ancien net a payer pour la double liq." ;
+ANCSDED2 : calculee restituee : "annee d'imposition pour variation CSG" ;
+ANG3 : calculee : "avantage normal impot TH - KIR" ;
+ANNEE_RAPPEL : saisie penalite alias V_ANN_RAPPEL : "Champ Annee de la date de notification dans une ligne rappel" ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+ANOCEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5SN : "BNC non prof. hors AA. - Benefices - Vous" ;
+ANOPEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5OS : "BNC non prof. hors AA - Benefices - PAC" ;
+ANOUV : calculee restituee : "Base reduction Capital de societes nouvelles" ;
+ANOVEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5NS : "BNC non prof. hors AA - Benefices - Conjoint" ;
+ANTIRAFF : calculee restituee : "Impot sur le revenu anterieur a afficher sur l avis" ;
+ANTISFAFF : calculee restituee : "ISF anterieur a afficher sur l avis" ;
+ANTPPEIMP2A : calculee restituee base : "correctif : anterieur ppe imputee" ;
+ANTPPEIMPA_A : calculee restituee base : "correctif : anterieur ppe impa" ;
+ANTPPEREST2A : calculee restituee base : "correctif : anterieur ppe restituee" ;
+ANTPPETOT : calculee restituee base : "correctif : anterieur ppe totale" ;
+APATNAT : calculee restituee : "Base retenue  depense protection du patrimoine naturel" ;
+APATNAT1 : calculee restituee : "Retenu : depense 2010 protection du patrimoine naturel : report" ;
+APB1 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB2 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB3 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB4 : calculee : "Minimum d'abattement 10% (PR)" ;
+APBC : calculee : "Minimum d'abattement 10% (PR)" ;
+APBV : calculee : "Minimum d'abattement 10% (PR)" ;
+APECHE : calculee restituee : "Souscriptions au capital d'une SOFIPECHE - admis" ;
+APERPC : calculee restituee : "bse retenu PERP" ;
+APERPCTEF : calculee : "bse retenu PERP tx eff" ;
+APERPP : calculee restituee : "bse retenu PERP" ;
+APERPPTEF : calculee : "bse retenu PERP tx eff" ;
+APERPV : calculee restituee : "bse retenu PERP" ;
+APERPVTEF : calculee : "bse retenu PERP tx eff" ;
+APPIMP : calculee restituee : "Credit apprentissage : montant impute" ;
+APPLI_BATCH : calculee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee restituee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : calculee restituee : "booleen  ; vaut 1 si appli OCEANS 0 sinon" ;
+APPLI_PRO : calculee restituee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+APPREST : calculee restituee : "Credit apprentissage : montant restitution" ;
+APR1 : calculee : "Abattement pensions retraites 10%" ;
+APR2 : calculee : "Abattement pensions retraites 10%" ;
+APR3 : calculee : "Abattement pensions retraites 10%" ;
+APR4 : calculee : "Abattement pensions retraites 10%" ;
+APRC : calculee : "Abattement pensions retraites 10%" ;
+APRESCOMP : calculee restituee : "base retenue prestations compensatoires" ;
+APRETUD : calculee restituee : "Interets pret etudiant retenu" ;
+APROREP : calculee restituee : "Invest. locations meublees non pro 2009 acheve 2010 - report - retenu" ;
+APRV : calculee : "Abattement pensions retraites 10%" ;
+AREDMEUB : calculee restituee : "Invest. locations meublees non pro - report reduction - retenu" ;
+AREDREP : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AREPA : calculee restituee : "Dons : fourniture de repas particulier" ;
+AREPMEU : calculee restituee : "Investissements locations meublees non pro - report 2010 - retenu" ;
+AREPNPRO : calculee restituee : "Invest. locations meublees non pro initie avant 2010 - report - retenu" ;
+ARESIMEUB : calculee restituee : "Invest. locations meublees dans residence neuve (7IO) - retenu" ;
+ARESINEUV : calculee restituee : "Investissements locations meublees dans residence neuve - retenu" ;
+ARESIVIEU : calculee restituee : "Investissements locations meublees dans residence neuve 2009 - retenu" ;
+ARESTIMO : calculee restituee : "Travaux de restauration immobiliere - retenu" ;
+ARIRENOV : calculee restituee : "Travaux de restauration des objets classes - retenu" ;
+ARTIMP : calculee restituee : "Metiers d art : montant impute" ;
+ARTREST : calculee restituee : "Metiers d art : montant restitution" ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 restituee alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+ASOCREPR : calculee restituee : "Base Reduction emprunt reprise societe" ;
+ASOUFIP : calculee restituee : "Investissement de proximite" ;
+ASSIMP : calculee restituee : "Prelevements liberatoires (assurance vie) : montant impute" ;
+ASSREST : calculee restituee : "Prelevements liberatoires (assurance vie) : montant restitution" ;
+ASURV : calculee restituee : "Rente-survie, contrat handicap" ;
+ASYND : calculee restituee : "Reduction cotisation syndicale" ;
+ATEC : calculee : "Depenses travaux prevention risques techn
\ No newline at end of file
diff --git a/sources2011m_9_6/tgvO.m b/sources2011m_9_6/tgvO.m
new file mode 100644
index 0000000000000000000000000000000000000000..3b03b2cccd50a1d9a3c0eb85496637cbfd2c531f
--- /dev/null
+++ b/sources2011m_9_6/tgvO.m
@@ -0,0 +1,426 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 11 Application oceans
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2DEFBACREC : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREP : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREV : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PALIEX : calculee : "quotient 2 pension alimentaire exceptionnelle" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q3" ;
+3ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q3" ;
+3ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q3" ;
+3DEFBACREC : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREP : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREV : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q3" ;
+3FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q3" ;
+3PALIEX : calculee : "quotient 3 pension alimentaire exceptionnelle" ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q3" ;
+3RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique BGO" ;
+3RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+3RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+3RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q3" ;
+3RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCMRABD : calculee : "montant de la refaction sur BDC" ;
+3RCMRNABD : calculee : "revenus nets de la refaction sur BDC" ;
+3RCMRNTNC : calculee : "revenus nets de la refaction sur BFU" ;
+3RCMRTNC : calculee : "montant de la refaction sur BFU" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REGPRIVM : calculee : "montant majore de 3GO" ;
+3REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+3RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RV1 : calculee : "Montant imposable des RV quotient 3 - de 50 ans" ;
+3RV2 : calculee : "Montant imposable des RV quotient 3 - 50 a 59 ans" ;
+3RV3 : calculee : "Montant imposable des RV quotient 3 - 60 a 69 ans" ;
+3RV4 : calculee : "Montant imposable des RV quotient 3 + de 69 ans" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+4ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q4" ;
+4ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q4" ;
+4ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q4" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Conjoint" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Vous" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Conjoint" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Vous" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q4" ;
+4FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q4" ;
+4PALIEX : calculee : "quotient 4 pension alimentaire exceptionnelle" ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q4" ;
+4RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique CGO" ;
+4RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+4RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+4RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q4" ;
+4RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCMRABD : calculee : "montant de la refaction sur CDC" ;
+4RCMRNABD : calculee : "revenus nets de la refaction sur CDC" ;
+4RCMRNTNC : calculee : "revenus nets de la refaction sur CFU" ;
+4RCMRTNC : calculee : "montant de la refaction sur CFU" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4REGPRIVM : calculee : "montant majore de 4GO" ;
+4RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RV1 : calculee : "Montant imposable des RV quotient 4 - de 50 ans" ;
+4RV2 : calculee : "Montant imposable des RV quotient 4 - 50 a 59 ans" ;
+4RV3 : calculee : "Montant imposable des RV quotient 4 - 60 a 69 ans" ;
+4RV4 : calculee : "Montant imposable des RV quotient 4 + de 69 ans" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10QIQJQFQG : calculee : "Plaf av fiscaux : Investissements outre mer entreprise dans AUBAINE10" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee restituee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RNOUV : calculee restituee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee restituee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RNOUV : calculee restituee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+AB20_RAPPEL : saisie penalite alias V_A20_RAPPEL : "Champ indicateur perte abattement 20% dans une ligne rappel" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1156.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 restituee alias 3VB : "Abattement pour duree de detention - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 restituee alias 3VA : "Abattement pour duree de detention - Plus-value" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICNPDECC : calculee restituee : "auto entrepreneurs BIC non pro declare conjoint" ;
+ABICNPDECP : calculee restituee : "auto entrepreneurs BIC non pro declare pac" ;
+ABICNPDECV : calculee restituee : "auto entrepreneurs BIC non pro declare vous" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCNPDEC : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECC : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECP : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECV : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee restituee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee restituee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTMATEF : calculee : "Abattement pour enfants maries a charge tx eff" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELHJK : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHL : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHM : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHNO : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELMET : calculee restituee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNBGL : calculee restituee : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNQ : calculee restituee : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELREPHR : calculee restituee : "Scellier metropole - DOM hors plafond report 2009 - Retenu 7HR" ;
+ACELREPHS : calculee restituee : "Investissement Scellier DOM ds plafond report 2009 - Retenu 7HS" ;
+ACELREPHT : calculee restituee : "Scellier metropole DOM : Report  - Retenu 7HT" ;
+ACELREPHU : calculee restituee : "Scellier DOM COM hors plafond 5/2009 31/12/2009- Retenu 7HU" ;
+ACELREPHV : calculee restituee : "Investissement Scellier metropole 2010 : Report- Retenu 7HV" ;
+ACELREPHW : calculee restituee : "Investissement Scellier DOM COM 2010 : Report- Retenu 7HW" ;
+ACELREPHX : calculee restituee : "Scellier metropole pa 2009 fini 2010 : Report - Retenu 7HX" ;
+ACELREPHZ : calculee restituee : "Scellier DOM COM pa 2009 fini 2010 : Report - Retenu 7HZ" ;
+ACELRREDLA : calculee restituee : "Investissement Scellier report 2009 reduction - Avis Facture - Retenu " ;
+ACELRREDLB : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LB" ;
+ACELRREDLC : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LC" ;
+ACINE : calculee restituee : "Cinema audiovisuel" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACOLENT : calculee restituee : "Investissements outre mer entreprise - report 2009 - declare" ;
+ACOMP : calculee restituee : "Frais de comptabilite" ;
+ACOTFOR : calculee restituee : "Cotisations assurance pour la foret - retenu" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ACREAT : calculee restituee : "nbre createur ou repreneur entreprise accorde" ;
+ACREATHANDI : calculee restituee : "nbre createur ou repreneur entreprise accorde handi" ;
+ADEVDUBAIL : calculee restituee : "Depenses developpement durable " ;
+ADEVDUR : calculee restituee : "Depenses developpement durable " ;
+ADIFAGRI : calculee restituee : "Interet differe paiement agriculteurs" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+ADOM : calculee restituee : "Investissement DOM-TOM" ;
+ADOMSOC1 : calculee restituee : "Investissements outre mer logement social - report 2009 - declare" ;
+ADONS : calculee restituee : "Dons aux oeuvres" ;
+AFIPC : calculee restituee : "Cotisations FIP Corse retenus" ;
+AFIPDOM : calculee restituee : "Cotisations FIP DOM COM retenus" ;
+AFOREST : calculee restituee : "base reduction d impot investissment forestier retenue" ;
+AFORET : calculee restituee : "Cotisations versees pour defense des forets" ;
+AGARD : calculee restituee : "Base reduction frais de garde" ;
+AGC : calculee : "Age du conjoint" ;
+AGRBG : calculee restituee : "SIMULIR rbg correspondant aux deficits BA" ;
+AGRI : calculee restituee : "pour Colbert : somme des BAPERP" ;
+AGRIC : calculee restituee : "Abattements jeunes agriculteurs - Conjoint" ;
+AGRIMP : calculee restituee : "Conges agriculteur : montant impute" ;
+AGRIP : calculee restituee : "Abattements jeunes agriculteurs - PAC" ;
+AGRIV : calculee restituee : "Abattements jeunes agriculteurs - Vous" ;
+AGRREST : calculee restituee : "Conges agriculteur : montant restitution" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+AHEBE : calculee restituee : "Base retenue  depense d'hebergement" ;
+AIDIMP : calculee restituee : "Aide aux personnes : montant impute" ;
+AIDREST : calculee restituee : "Aide aux personnes : montant restitution" ;
+AINVDOMTOMLG : calculee restituee : "accorde de RDINVDOMTOMLOG" ;
+AINVRED : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AISFDONCEE : calculee restituee : "ISF : Dons dans CEE - Acceptes" ;
+AISFDONS : calculee restituee : "ISF : Dons en France - Acceptes" ;
+AISFFCPI : calculee restituee : "ISF :  investisements FCPI declares" ;
+AISFFIP : calculee restituee : "ISF :  investisements FIP declares" ;
+AISFPMED : calculee restituee : "ISF : PME, investisements directs declares" ;
+AISFPMEI : calculee restituee : "ISF : PME, investisements indirects declares" ;
+ALLECS : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 12 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 8TV : "Revenus etrangers soumis a CSG au taux de 6,6 %" ;
+ALLO1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1CP : "Revenus de remplacement - PAC 1" ;
+ALLO2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1DP : "Revenus de remplacement - PAC 2" ;
+ALLO3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1EP : "Revenus de remplacement - PAC 3" ;
+ALLO4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1FP : "Revenus de remplacement - PAC 4" ;
+ALLOC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1BP : "Revenus de remplacement - Conjoint" ;
+ALLOP : calculee restituee : " somme Allocation personnes a charge 1 a 4" ;
+ALLOV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1AP : "Revenus de remplacement - Vous" ;
+ALOCENT : calculee restituee : "Investissements outre mer entreprise - declare" ;
+ALOGDOM : calculee restituee : "Investissements outre mer logement - declare" ;
+ALOGSOC : calculee restituee : "Investissements outre mer logement social - declare" ;
+ALOYIMP : calculee restituee : "Credit assurances loyers impayes retenu" ;
+AMEUBLE : calculee restituee : "Investissements locations meublees non pro - report 2009 - retenu" ;
+ANCNAP : calculee restituee : "ancien net a payer pour la double liq." ;
+ANCSDED2 : calculee restituee : "annee d'imposition pour variation CSG" ;
+ANG3 : calculee : "avantage normal impot TH - KIR" ;
+ANNEE_RAPPEL : saisie penalite alias V_ANN_RAPPEL : "Champ Annee de la date de notification dans une ligne rappel" ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+ANOCEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 restituee alias 5SN : "BNC non prof. hors AA. - Benefices - Vous" ;
+ANOPEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 restituee alias 5OS : "BNC non prof. hors AA - Benefices - PAC" ;
+ANOUV : calculee restituee : "Base reduction Capital de societes nouvelles" ;
+ANOVEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 restituee alias 5NS : "BNC non prof. hors AA - Benefices - Conjoint" ;
+ANTIRAFF : calculee restituee : "Impot sur le revenu anterieur a afficher sur l avis" ;
+ANTISFAFF : calculee restituee : "ISF anterieur a afficher sur l avis" ;
+ANTPPEIMP2A : calculee restituee base : "correctif : anterieur ppe imputee" ;
+ANTPPEIMPA_A : calculee restituee base : "correctif : anterieur ppe impa" ;
+ANTPPEREST2A : calculee restituee base : "correctif : anterieur ppe restituee" ;
+ANTPPETOT : calculee restituee base : "correctif : anterieur ppe totale" ;
+APATNAT : calculee restituee : "Base retenue  depense protection du patrimoine naturel" ;
+APATNAT1 : calculee restituee : "Retenu : depense 2010 protection du patrimoine naturel : report" ;
+APB1 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB2 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB3 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB4 : calculee : "Minimum d'abattement 10% (PR)" ;
+APBC : calculee : "Minimum d'abattement 10% (PR)" ;
+APBV : calculee : "Minimum d'abattement 10% (PR)" ;
+APECHE : calculee restituee : "Souscriptions au capital d'une SOFIPECHE - admis" ;
+APERPC : calculee restituee : "bse retenu PERP" ;
+APERPCTEF : calculee : "bse retenu PERP tx eff" ;
+APERPP : calculee restituee : "bse retenu PERP" ;
+APERPPTEF : calculee : "bse retenu PERP tx eff" ;
+APERPV : calculee restituee : "bse retenu PERP" ;
+APERPVTEF : calculee : "bse retenu PERP tx eff" ;
+APPIMP : calculee restituee : "Credit apprentissage : montant impute" ;
+APPLI_BATCH : calculee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee restituee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : calculee restituee : "booleen  ; vaut 1 si appli OCEANS 0 sinon" ;
+APPLI_PRO : calculee restituee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+APPREST : calculee restituee : "Credit apprentissage : montant restitution" ;
+APR1 : calculee : "Abattement pensions retraites 10%" ;
+APR2 : calculee : "Abattement pensions retraites 10%" ;
+APR3 : calculee : "Abattement pensions retraites 10%" ;
+APR4 : calculee : "Abattement pensions retraites 10%" ;
+APRC : calculee : "Abattement pensions retraites 10%" ;
+APRESCOMP : calculee restituee : "base retenue prestations compensatoires" ;
+APRETUD : calculee restituee : "Interets pret etudiant retenu" ;
+APROREP : calculee restituee : "Invest. locations meublees non pro 2009 acheve 2010 - report - retenu" ;
+APRV : calculee : "Abattement pensions retraites 10%" ;
+AREDMEUB : calculee restituee : "Invest. locations meublees non pro - report reduction - retenu" ;
+AREDREP : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AREPA : calculee restituee : "Dons : fourniture de repas particulier" ;
+AREPMEU : calculee restituee : "Investissements locations meublees non pro - report 2010 - retenu" ;
+AREPNPRO : calculee restituee : "Invest. locations meublees non pro initie avant 2010 - report - retenu" ;
+ARESIMEUB : calculee restituee : "Invest. locations meublees dans residence neuve (7IO) - retenu" ;
+ARESINEUV : calculee restituee : "Investissements locations meublees dans residence neuve - retenu" ;
+ARESIVIEU : calculee restituee : "Investissements locations meublees dans residence neuve 2009 - retenu" ;
+ARESTIMO : calculee restituee : "Travaux de restauration immobiliere - retenu" ;
+ARIRENOV : calculee restituee : "Travaux de restauration des objets classes - retenu" ;
+ARTIMP : calculee restituee : "Metiers d art : montant impute" ;
+ARTREST : calculee restituee : "Metiers d art : montant restitution" ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 restituee alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+ASOCREPR : calculee restituee : "Base Reduction emprunt reprise societe" ;
+ASOUFIP : calculee restituee : "Investissement de proximite" ;
+ASSIMP : calculee restituee : "Prelevements liberatoires (assurance vie) : montant impute" ;
+ASSREST : calculee restituee : "Prelevements liberatoires (assurance vie) : montant restitution" ;
+ASURV : calculee restituee : "Rente-survie, contrat handicap" ;
+ASYND : calculee restituee : "Reduction cotisation syndicale" ;
+ATEC : calculee : "Depenses t
\ No newline at end of file
diff --git a/sources2011m_9_6/tgvP.m b/sources2011m_9_6/tgvP.m
new file mode 100644
index 0000000000000000000000000000000000000000..8a25ee804cbc04310e461a0005b328f5b333babd
--- /dev/null
+++ b/sources2011m_9_6/tgvP.m
@@ -0,0 +1,429 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 11 Application pro
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2DEFBACREC : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREP : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBACREV : calculee : "Part du deficit sur code revenu quotient 2" ;
+2DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 2" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PALIEX : calculee : "quotient 2 pension alimentaire exceptionnelle" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q3" ;
+3ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q3" ;
+3ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q3" ;
+3DEFBACREC : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREP : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBACREV : calculee : "Part du deficit sur code revenu quotient 3" ;
+3DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 3" ;
+3FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q3" ;
+3FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q3" ;
+3PALIEX : calculee : "quotient 3 pension alimentaire exceptionnelle" ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q3" ;
+3RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique BGO" ;
+3RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+3RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+3RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q3" ;
+3RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCMRABD : calculee : "montant de la refaction sur BDC" ;
+3RCMRNABD : calculee : "revenus nets de la refaction sur BDC" ;
+3RCMRNTNC : calculee : "revenus nets de la refaction sur BFU" ;
+3RCMRTNC : calculee : "montant de la refaction sur BFU" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REGPRIVM : calculee : "montant majore de 3GO" ;
+3REVF : calculee : "Revenus fonciers exceptionnels imposables" ;
+3RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+3RV1 : calculee : "Montant imposable des RV quotient 3 - de 50 ans" ;
+3RV2 : calculee : "Montant imposable des RV quotient 3 - 50 a 59 ans" ;
+3RV3 : calculee : "Montant imposable des RV quotient 3 - 60 a 69 ans" ;
+3RV4 : calculee : "Montant imposable des RV quotient 3 + de 69 ans" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+4ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q4" ;
+4ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q4" ;
+4ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q4" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Conjoint" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Vous" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Conjoint" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Vous" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q4" ;
+4FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q4" ;
+4PALIEX : calculee : "quotient 4 pension alimentaire exceptionnelle" ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q4" ;
+4RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique CGO" ;
+4RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+4RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+4RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q4" ;
+4RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCMRABD : calculee : "montant de la refaction sur CDC" ;
+4RCMRNABD : calculee : "revenus nets de la refaction sur CDC" ;
+4RCMRNTNC : calculee : "revenus nets de la refaction sur CFU" ;
+4RCMRTNC : calculee : "montant de la refaction sur CFU" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4REGPRIVM : calculee : "montant majore de 4GO" ;
+4RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+4RV1 : calculee : "Montant imposable des RV quotient 4 - de 50 ans" ;
+4RV2 : calculee : "Montant imposable des RV quotient 4 - 50 a 59 ans" ;
+4RV3 : calculee : "Montant imposable des RV quotient 4 - 60 a 69 ans" ;
+4RV4 : calculee : "Montant imposable des RV quotient 4 + de 69 ans" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10QIQJQFQG : calculee : "Plaf av fiscaux : Investissements outre mer entreprise dans AUBAINE10" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee restituee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RNOUV : calculee restituee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee restituee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RNOUV : calculee restituee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1156.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 restituee alias 3VB : "Abattement pour duree de detention - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 restituee alias 3VA : "Abattement pour duree de detention - Plus-value" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICNPDECC : calculee restituee : "auto entrepreneurs BIC non pro declare conjoint" ;
+ABICNPDECP : calculee restituee : "auto entrepreneurs BIC non pro declare pac" ;
+ABICNPDECV : calculee restituee : "auto entrepreneurs BIC non pro declare vous" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCNPDEC : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECC : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECP : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCNPDECV : calculee restituee : "auto entrepreneurs BnC non pro declare" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTMATEF : calculee : "Abattement pour enfants maries a charge tx eff" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELHJK : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHL : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHM : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHNO : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELMET : calculee restituee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNBGL : calculee restituee : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNQ : calculee restituee : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELREPHR : calculee restituee : "Scellier metropole - DOM hors plafond report 2009 - Retenu 7HR" ;
+ACELREPHS : calculee restituee : "Investissement Scellier DOM ds plafond report 2009 - Retenu 7HS" ;
+ACELREPHT : calculee restituee : "Scellier metropole DOM : Report  - Retenu 7HT" ;
+ACELREPHU : calculee restituee : "Scellier DOM COM hors plafond 5/2009 31/12/2009- Retenu 7HU" ;
+ACELREPHV : calculee restituee : "Investissement Scellier metropole 2010 : Report- Retenu 7HV" ;
+ACELREPHW : calculee restituee : "Investissement Scellier DOM COM 2010 : Report- Retenu 7HW" ;
+ACELREPHX : calculee restituee : "Scellier metropole pa 2009 fini 2010 : Report - Retenu 7HX" ;
+ACELREPHZ : calculee restituee : "Scellier DOM COM pa 2009 fini 2010 : Report - Retenu 7HZ" ;
+ACELRREDLA : calculee restituee : "Investissement Scellier report 2009 reduction - Avis Facture - Retenu " ;
+ACELRREDLB : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LB" ;
+ACELRREDLC : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LC" ;
+ACINE : calculee restituee : "Cinema audiovisuel" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACOLENT : calculee restituee : "Investissements outre mer entreprise - report 2009 - declare" ;
+ACOMP : calculee restituee : "Frais de comptabilite" ;
+ACOTFOR : calculee restituee : "Cotisations assurance pour la foret - retenu" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ACREAT : calculee restituee : "nbre createur ou repreneur entreprise accorde" ;
+ACREATHANDI : calculee restituee : "nbre createur ou repreneur entreprise accorde handi" ;
+ADEVDUBAIL : calculee restituee : "Depenses developpement durable " ;
+ADEVDUR : calculee restituee : "Depenses developpement durable " ;
+ADIFAGRI : calculee restituee : "Interet differe paiement agriculteurs" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+ADOM : calculee restituee : "Investissement DOM-TOM" ;
+ADOMSOC1 : calculee restituee : "Investissements outre mer logement social - report 2009 - declare" ;
+ADONS : calculee restituee : "Dons aux oeuvres" ;
+AFIPC : calculee restituee : "Cotisations FIP Corse retenus" ;
+AFIPDOM : calculee restituee : "Cotisations FIP DOM COM retenus" ;
+AFOREST : calculee restituee : "base reduction d impot investissment forestier retenue" ;
+AFORET : calculee restituee : "Cotisations versees pour defense des forets" ;
+AGARD : calculee restituee : "Base reduction frais de garde" ;
+AGC : calculee : "Age du conjoint" ;
+AGRBG : calculee : "SIMULIR rbg correspondant aux deficits BA" ;
+AGRI : calculee restituee : "pour Colbert : somme des BAPERP" ;
+AGRIC : calculee restituee : "Abattements jeunes agriculteurs - Conjoint" ;
+AGRIMP : calculee : "Conges agriculteur : montant impute" ;
+AGRIP : calculee restituee : "Abattements jeunes agriculteurs - PAC" ;
+AGRIV : calculee restituee : "Abattements jeunes agriculteurs - Vous" ;
+AGRREST : calculee : "Conges agriculteur : montant restitution" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+AHEBE : calculee restituee : "Base retenue  depense d'hebergement" ;
+AIDIMP : calculee : "Aide aux personnes : montant impute" ;
+AIDREST : calculee : "Aide aux personnes : montant restitution" ;
+AINVDOMTOMLG : calculee restituee : "accorde de RDINVDOMTOMLOG" ;
+AINVRED : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AISFDONCEE : calculee restituee : "ISF : Dons dans CEE - Acceptes" ;
+AISFDONS : calculee restituee : "ISF : Dons en France - Acceptes" ;
+AISFFCPI : calculee restituee : "ISF :  investisements FCPI declares" ;
+AISFFIP : calculee restituee : "ISF :  investisements FIP declares" ;
+AISFPMED : calculee restituee : "ISF : PME, investisements directs declares" ;
+AISFPMEI : calculee restituee : "ISF : PME, investisements indirects declares" ;
+ALLECS : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 12 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 8TV : "Revenus etrangers soumis a CSG au taux de 6,6 %" ;
+ALLO1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1CP : "Revenus de remplacement - PAC 1" ;
+ALLO2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1DP : "Revenus de remplacement - PAC 2" ;
+ALLO3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1EP : "Revenus de remplacement - PAC 3" ;
+ALLO4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 alias 1FP : "Revenus de remplacement - PAC 4" ;
+ALLOC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1BP : "Revenus de remplacement - Conjoint" ;
+ALLOP : calculee restituee : " somme Allocation personnes a charge 1 a 4" ;
+ALLOV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 nat_code = 0 restituee alias 1AP : "Revenus de remplacement - Vous" ;
+ALOCENT : calculee restituee : "Investissements outre mer entreprise - declare" ;
+ALOGDOM : calculee restituee : "Investissements outre mer logement - declare" ;
+ALOGSOC : calculee restituee : "Investissements outre mer logement social - declare" ;
+ALOYIMP : calculee restituee : "Credit assurances loyers impayes retenu" ;
+AMEUBLE : calculee restituee : "Investissements locations meublees non pro - report 2009 - retenu" ;
+ANCNAP : calculee : "ancien net a payer pour la double liq." ;
+ANCSDED2 : calculee restituee : "annee d'imposition pour variation CSG" ;
+ANG3 : calculee : "avantage normal impot TH - KIR" ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+ANOCEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5SN : "BNC non prof. hors AA. - Benefices - Vous" ;
+ANOPEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5OS : "BNC non prof. hors AA - Benefices - PAC" ;
+ANOUV : calculee restituee : "Base reduction Capital de societes nouvelles" ;
+ANOVEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 nat_code = 0 alias 5NS : "BNC non prof. hors AA - Benefices - Conjoint" ;
+ANTIRAFF : calculee restituee : "Impot sur le revenu anterieur a afficher sur l avis" ;
+ANTISFAFF : calculee restituee : "ISF anterieur a afficher sur l avis" ;
+ANTPPEIMP2A : calculee base : "correctif : anterieur ppe imputee" ;
+ANTPPEIMPA_A : calculee base : "correctif : anterieur ppe impa" ;
+ANTPPEREST2A : calculee base : "correctif : anterieur ppe restituee" ;
+ANTPPETOT : calculee base : "correctif : anterieur ppe totale" ;
+APATNAT : calculee restituee : "Base retenue  depense protection du patrimoine naturel" ;
+APATNAT1 : calculee restituee : "Retenu : depense 2010 protection du patrimoine naturel : report" ;
+APB1 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB2 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB3 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB4 : calculee : "Minimum d'abattement 10% (PR)" ;
+APBC : calculee : "Minimum d'abattement 10% (PR)" ;
+APBV : calculee : "Minimum d'abattement 10% (PR)" ;
+APECHE : calculee restituee : "Souscriptions au capital d'une SOFIPECHE - admis" ;
+APERPC : calculee restituee : "bse retenu PERP" ;
+APERPCTEF : calculee : "bse retenu PERP tx eff" ;
+APERPP : calculee restituee : "bse retenu PERP" ;
+APERPPTEF : calculee : "bse retenu PERP tx eff" ;
+APERPV : calculee restituee : "bse retenu PERP" ;
+APERPVTEF : calculee : "bse retenu PERP tx eff" ;
+APPIMP : calculee : "Credit apprentissage : montant impute" ;
+APPLI_BATCH : calculee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee restituee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : calculee restituee : "booleen  ; vaut 1 si appli OCEANS 0 sinon" ;
+APPLI_PRO : calculee restituee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+APPREST : calculee : "Credit apprentissage : montant restitution" ;
+APR1 : calculee : "Abattement pensions retraites 10%" ;
+APR2 : calculee : "Abattement pensions retraites 10%" ;
+APR3 : calculee : "Abattement pensions retraites 10%" ;
+APR4 : calculee : "Abattement pensions retraites 10%" ;
+APRC : calculee : "Abattement pensions retraites 10%" ;
+APRESCOMP : calculee restituee : "base retenue prestations compensatoires" ;
+APRETUD : calculee restituee : "Interets pret etudiant retenu" ;
+APROREP : calculee restituee : "Invest. locations meublees non pro 2009 acheve 2010 - report - retenu" ;
+APRV : calculee : "Abattement pensions retraites 10%" ;
+AREDMEUB : calculee restituee : "Invest. locations meublees non pro - report reduction - retenu" ;
+AREDREP : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AREPA : calculee restituee : "Dons : fourniture de repas particulier" ;
+AREPMEU : calculee restituee : "Investissements locations meublees non pro - report 2010 - retenu" ;
+AREPNPRO : calculee restituee : "Invest. locations meublees non pro initie avant 2010 - report - retenu" ;
+ARESIMEUB : calculee restituee : "Invest. locations meublees dans residence neuve (7IO) - retenu" ;
+ARESINEUV : calculee restituee : "Investissements locations meublees dans residence neuve - retenu" ;
+ARESIVIEU : calculee restituee : "Investissements locations meublees dans residence neuve 2009 - retenu" ;
+ARESTIMO : calculee restituee : "Travaux de restauration immobiliere - retenu" ;
+ARIRENOV : calculee restituee : "Travaux de restauration des objets classes - retenu" ;
+ARTIMP : calculee : "Metiers d art : montant impute" ;
+ARTREST : calculee : "Metiers d art : montant restitution" ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+ASOCREPR : calculee restituee : "Base Reduction emprunt reprise societe" ;
+ASOUFIP : calculee restituee : "Investissement de proximite" ;
+ASSIMP : calculee : "Prelevements liberatoires (assurance vie) : montant impute" ;
+ASSREST : calculee : "Prelevements liberatoires (assurance vie) : montant restitution" ;
+ASURV : calculee restituee : "Rente-survie, contrat handicap" ;
+ASYND : calculee restituee : "Reduction cotisation syndicale" ;
+ATEC : calculee : "Depenses travaux prevention risques technologiques - Bailleur - retenu" ;
+ATITPRISE : calculee restituee : "Capital des tres petites societes - retenu" ;
+ATOUHOTR : calculee restituee : "Investissement locatif residence hoteliere - Retenu" ;
+ATOUREPA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURES : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURNEUF : calculee restituee : "Retenu  Investissements locatifs resid. de
\ No newline at end of file
diff --git a/sources2012m_3_13/LICENCE b/sources2012m_3_13/LICENCE
new file mode 100644
index 0000000000000000000000000000000000000000..0e5d105a724ee12923254ddfcb29e543f2f54ead
--- /dev/null
+++ b/sources2012m_3_13/LICENCE
@@ -0,0 +1,550 @@
+
+  CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL
+
+Version 2.1 du 2013-06-21
+
+
+    Avertissement
+
+Ce contrat est une licence de logiciel libre issue d'une concertation
+entre ses auteurs afin que le respect de deux grands principes préside à
+sa rédaction:
+
+  * d'une part, le respect des principes de diffusion des logiciels
+    libres: accès au code source, droits étendus conférés aux utilisateurs,
+  * d'autre part, la désignation d'un droit applicable, le droit
+    français, auquel elle est conforme, tant au regard du droit de la
+    responsabilité civile que du droit de la propriété intellectuelle et
+    de la protection qu'il offre aux auteurs et titulaires des droits
+    patrimoniaux sur un logiciel.
+
+Les auteurs de la licence CeCILL (Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre])
+sont:
+
+Commissariat à l'énergie atomique et aux énergies alternatives - CEA,
+établissement public de recherche à caractère scientifique, technique et
+industriel, dont le siège est situé 25 rue Leblanc, immeuble Le Ponant
+D, 75015 Paris.
+
+Centre National de la Recherche Scientifique - CNRS, établissement
+public à caractère scientifique et technologique, dont le siège est
+situé 3 rue Michel-Ange, 75794 Paris cedex 16.
+
+Institut National de Recherche en Informatique et en Automatique -
+Inria, établissement public à caractère scientifique et technologique,
+dont le siège est situé Domaine de Voluceau, Rocquencourt, BP 105, 78153
+Le Chesnay cedex.
+
+
+    Préambule
+
+Ce contrat est une licence de logiciel libre dont l'objectif est de
+conférer aux utilisateurs la liberté de modification et de
+redistribution du logiciel régi par cette licence dans le cadre d'un
+modèle de diffusion en logiciel libre.
+
+L'exercice de ces libertés est assorti de certains devoirs à la charge
+des utilisateurs afin de préserver ce statut au cours des
+redistributions ultérieures.
+
+L'accessibilité au code source et les droits de copie, de modification
+et de redistribution qui en découlent ont pour contrepartie de n'offrir
+aux utilisateurs qu'une garantie limitée et de ne faire peser sur
+l'auteur du logiciel, le titulaire des droits patrimoniaux et les
+concédants successifs qu'une responsabilité restreinte.
+
+A cet égard l'attention de l'utilisateur est attirée sur les risques
+associés au chargement, à l'utilisation, à la modification et/ou au
+développement et à la reproduction du logiciel par l'utilisateur étant
+donné sa spécificité de logiciel libre, qui peut le rendre complexe à
+manipuler et qui le réserve donc à des développeurs ou des
+professionnels avertis possédant des connaissances informatiques
+approfondies. Les utilisateurs sont donc invités à charger et tester
+l'adéquation du logiciel à leurs besoins dans des conditions permettant
+d'assurer la sécurité de leurs systèmes et/ou de leurs données et, plus
+généralement, à l'utiliser et l'exploiter dans les mêmes conditions de
+sécurité. Ce contrat peut être reproduit et diffusé librement, sous
+réserve de le conserver en l'état, sans ajout ni suppression de clauses.
+
+Ce contrat est susceptible de s'appliquer à tout logiciel dont le
+titulaire des droits patrimoniaux décide de soumettre l'exploitation aux
+dispositions qu'il contient.
+
+Une liste de questions fréquemment posées se trouve sur le site web
+officiel de la famille des licences CeCILL 
+(http://www.cecill.info/index.fr.html) pour toute clarification qui
+serait nécessaire.
+
+
+    Article 1 - DEFINITIONS
+
+Dans ce contrat, les termes suivants, lorsqu'ils seront écrits avec une
+lettre capitale, auront la signification suivante:
+
+Contrat: désigne le présent contrat de licence, ses éventuelles versions
+postérieures et annexes.
+
+Logiciel: désigne le logiciel sous sa forme de Code Objet et/ou de Code
+Source et le cas échéant sa documentation, dans leur état au moment de
+l'acceptation du Contrat par le Licencié.
+
+Logiciel Initial: désigne le Logiciel sous sa forme de Code Source et
+éventuellement de Code Objet et le cas échéant sa documentation, dans
+leur état au moment de leur première diffusion sous les termes du Contrat.
+
+Logiciel Modifié: désigne le Logiciel modifié par au moins une
+Contribution.
+
+Code Source: désigne l'ensemble des instructions et des lignes de
+programme du Logiciel et auquel l'accès est nécessaire en vue de
+modifier le Logiciel.
+
+Code Objet: désigne les fichiers binaires issus de la compilation du
+Code Source.
+
+Titulaire: désigne le ou les détenteurs des droits patrimoniaux d'auteur
+sur le Logiciel Initial.
+
+Licencié: désigne le ou les utilisateurs du Logiciel ayant accepté le
+Contrat.
+
+Contributeur: désigne le Licencié auteur d'au moins une Contribution.
+
+Concédant: désigne le Titulaire ou toute personne physique ou morale
+distribuant le Logiciel sous le Contrat.
+
+Contribution: désigne l'ensemble des modifications, corrections,
+traductions, adaptations et/ou nouvelles fonctionnalités intégrées dans
+le Logiciel par tout Contributeur, ainsi que tout Module Interne.
+
+Module: désigne un ensemble de fichiers sources y compris leur
+documentation qui permet de réaliser des fonctionnalités ou services
+supplémentaires à ceux fournis par le Logiciel.
+
+Module Externe: désigne tout Module, non dérivé du Logiciel, tel que ce
+Module et le Logiciel s'exécutent dans des espaces d'adressage
+différents, l'un appelant l'autre au moment de leur exécution.
+
+Module Interne: désigne tout Module lié au Logiciel de telle sorte
+qu'ils s'exécutent dans le même espace d'adressage.
+
+GNU GPL: désigne la GNU General Public License dans sa version 2 ou
+toute version ultérieure, telle que publiée par Free Software Foundation
+Inc.
+
+GNU Affero GPL: désigne la GNU Affero General Public License dans sa
+version 3 ou toute version ultérieure, telle que publiée par Free
+Software Foundation Inc.
+
+EUPL: désigne la Licence Publique de l'Union européenne dans sa version
+1.1 ou toute version ultérieure, telle que publiée par la Commission
+Européenne.
+
+Parties: désigne collectivement le Licencié et le Concédant.
+
+Ces termes s'entendent au singulier comme au pluriel.
+
+
+    Article 2 - OBJET
+
+Le Contrat a pour objet la concession par le Concédant au Licencié d'une
+licence non exclusive, cessible et mondiale du Logiciel telle que
+définie ci-après à l'article 5 <#etendue> pour toute la durée de
+protection des droits portant sur ce Logiciel.
+
+
+    Article 3 - ACCEPTATION
+
+3.1 L'acceptation par le Licencié des termes du Contrat est réputée
+acquise du fait du premier des faits suivants:
+
+  * (i) le chargement du Logiciel par tout moyen notamment par
+    téléchargement à partir d'un serveur distant ou par chargement à
+    partir d'un support physique;
+  * (ii) le premier exercice par le Licencié de l'un quelconque des
+    droits concédés par le Contrat.
+
+3.2 Un exemplaire du Contrat, contenant notamment un avertissement
+relatif aux spécificités du Logiciel, à la restriction de garantie et à
+la limitation à un usage par des utilisateurs expérimentés a été mis à
+disposition du Licencié préalablement à son acceptation telle que
+définie à l'article 3.1 <#acceptation-acquise> ci dessus et le Licencié
+reconnaît en avoir pris connaissance.
+
+
+    Article 4 - ENTREE EN VIGUEUR ET DUREE
+
+
+      4.1 ENTREE EN VIGUEUR
+
+Le Contrat entre en vigueur à la date de son acceptation par le Licencié
+telle que définie en 3.1 <#acceptation-acquise>.
+
+
+      4.2 DUREE
+
+Le Contrat produira ses effets pendant toute la durée légale de
+protection des droits patrimoniaux portant sur le Logiciel.
+
+
+    Article 5 - ETENDUE DES DROITS CONCEDES
+
+Le Concédant concède au Licencié, qui accepte, les droits suivants sur
+le Logiciel pour toutes destinations et pour la durée du Contrat dans
+les conditions ci-après détaillées.
+
+Par ailleurs, si le Concédant détient ou venait à détenir un ou
+plusieurs brevets d'invention protégeant tout ou partie des
+fonctionnalités du Logiciel ou de ses composants, il s'engage à ne pas
+opposer les éventuels droits conférés par ces brevets aux Licenciés
+successifs qui utiliseraient, exploiteraient ou modifieraient le
+Logiciel. En cas de cession de ces brevets, le Concédant s'engage à
+faire reprendre les obligations du présent alinéa aux cessionnaires.
+
+
+      5.1 DROIT D'UTILISATION
+
+Le Licencié est autorisé à utiliser le Logiciel, sans restriction quant
+aux domaines d'application, étant ci-après précisé que cela comporte:
+
+ 1.
+
+    la reproduction permanente ou provisoire du Logiciel en tout ou
+    partie par tout moyen et sous toute forme.
+
+ 2.
+
+    le chargement, l'affichage, l'exécution, ou le stockage du Logiciel
+    sur tout support.
+
+ 3.
+
+    la possibilité d'en observer, d'en étudier, ou d'en tester le
+    fonctionnement afin de déterminer les idées et principes qui sont à
+    la base de n'importe quel élément de ce Logiciel; et ceci, lorsque
+    le Licencié effectue toute opération de chargement, d'affichage,
+    d'exécution, de transmission ou de stockage du Logiciel qu'il est en
+    droit d'effectuer en vertu du Contrat.
+
+
+      5.2 DROIT D'APPORTER DES CONTRIBUTIONS
+
+Le droit d'apporter des Contributions comporte le droit de traduire,
+d'adapter, d'arranger ou d'apporter toute autre modification au Logiciel
+et le droit de reproduire le logiciel en résultant.
+
+Le Licencié est autorisé à apporter toute Contribution au Logiciel sous
+réserve de mentionner, de façon explicite, son nom en tant qu'auteur de
+cette Contribution et la date de création de celle-ci.
+
+
+      5.3 DROIT DE DISTRIBUTION
+
+Le droit de distribution comporte notamment le droit de diffuser, de
+transmettre et de communiquer le Logiciel au public sur tout support et
+par tout moyen ainsi que le droit de mettre sur le marché à titre
+onéreux ou gratuit, un ou des exemplaires du Logiciel par tout procédé.
+
+Le Licencié est autorisé à distribuer des copies du Logiciel, modifié ou
+non, à des tiers dans les conditions ci-après détaillées.
+
+
+        5.3.1 DISTRIBUTION DU LOGICIEL SANS MODIFICATION
+
+Le Licencié est autorisé à distribuer des copies conformes du Logiciel,
+sous forme de Code Source ou de Code Objet, à condition que cette
+distribution respecte les dispositions du Contrat dans leur totalité et
+soit accompagnée:
+
+ 1.
+
+    d'un exemplaire du Contrat,
+
+ 2.
+
+    d'un avertissement relatif à la restriction de garantie et de
+    responsabilité du Concédant telle que prévue aux articles 8
+    <#responsabilite> et 9 <#garantie>,
+
+et que, dans le cas où seul le Code Objet du Logiciel est redistribué,
+le Licencié permette un accès effectif au Code Source complet du
+Logiciel pour une durée d'au moins 3 ans à compter de la distribution du
+logiciel, étant entendu que le coût additionnel d'acquisition du Code
+Source ne devra pas excéder le simple coût de transfert des données.
+
+
+        5.3.2 DISTRIBUTION DU LOGICIEL MODIFIE
+
+Lorsque le Licencié apporte une Contribution au Logiciel, les conditions
+de distribution du Logiciel Modifié en résultant sont alors soumises à
+l'intégralité des dispositions du Contrat.
+
+Le Licencié est autorisé à distribuer le Logiciel Modifié, sous forme de
+code source ou de code objet, à condition que cette distribution
+respecte les dispositions du Contrat dans leur totalité et soit
+accompagnée:
+
+ 1.
+
+    d'un exemplaire du Contrat,
+
+ 2.
+
+    d'un avertissement relatif à la restriction de garantie et de
+    responsabilité du Concédant telle que prévue aux articles 8
+    <#responsabilite> et 9 <#garantie>,
+
+et, dans le cas où seul le code objet du Logiciel Modifié est redistribué,
+
+ 3.
+
+    d'une note précisant les conditions d'accès effectif au code source
+    complet du Logiciel Modifié, pendant une période d'au moins 3 ans à
+    compter de la distribution du Logiciel Modifié, étant entendu que le
+    coût additionnel d'acquisition du code source ne devra pas excéder
+    le simple coût de transfert des données.
+
+
+        5.3.3 DISTRIBUTION DES MODULES EXTERNES
+
+Lorsque le Licencié a développé un Module Externe les conditions du
+Contrat ne s'appliquent pas à ce Module Externe, qui peut être distribué
+sous un contrat de licence différent.
+
+
+        5.3.4 COMPATIBILITE AVEC D'AUTRES LICENCES
+
+Le Licencié peut inclure un code soumis aux dispositions d'une des
+versions de la licence GNU GPL, GNU Affero GPL et/ou EUPL dans le
+Logiciel modifié ou non et distribuer l'ensemble sous les conditions de
+la même version de la licence GNU GPL, GNU Affero GPL et/ou EUPL.
+
+Le Licencié peut inclure le Logiciel modifié ou non dans un code soumis
+aux dispositions d'une des versions de la licence GNU GPL, GNU Affero
+GPL et/ou EUPL et distribuer l'ensemble sous les conditions de la même
+version de la licence GNU GPL, GNU Affero GPL et/ou EUPL.
+
+
+    Article 6 - PROPRIETE INTELLECTUELLE
+
+
+      6.1 SUR LE LOGICIEL INITIAL
+
+Le Titulaire est détenteur des droits patrimoniaux sur le Logiciel
+Initial. Toute utilisation du Logiciel Initial est soumise au respect
+des conditions dans lesquelles le Titulaire a choisi de diffuser son
+oeuvre et nul autre n'a la faculté de modifier les conditions de
+diffusion de ce Logiciel Initial.
+
+Le Titulaire s'engage à ce que le Logiciel Initial reste au moins régi
+par le Contrat et ce, pour la durée visée à l'article 4.2 <#duree>.
+
+
+      6.2 SUR LES CONTRIBUTIONS
+
+Le Licencié qui a développé une Contribution est titulaire sur celle-ci
+des droits de propriété intellectuelle dans les conditions définies par
+la législation applicable.
+
+
+      6.3 SUR LES MODULES EXTERNES
+
+Le Licencié qui a développé un Module Externe est titulaire sur celui-ci
+des droits de propriété intellectuelle dans les conditions définies par
+la législation applicable et reste libre du choix du contrat régissant
+sa diffusion.
+
+
+      6.4 DISPOSITIONS COMMUNES
+
+Le Licencié s'engage expressément:
+
+ 1.
+
+    à ne pas supprimer ou modifier de quelque manière que ce soit les
+    mentions de propriété intellectuelle apposées sur le Logiciel;
+
+ 2.
+
+    à reproduire à l'identique lesdites mentions de propriété
+    intellectuelle sur les copies du Logiciel modifié ou non.
+
+Le Licencié s'engage à ne pas porter atteinte, directement ou
+indirectement, aux droits de propriété intellectuelle du Titulaire et/ou
+des Contributeurs sur le Logiciel et à prendre, le cas échéant, à
+l'égard de son personnel toutes les mesures nécessaires pour assurer le
+respect des dits droits de propriété intellectuelle du Titulaire et/ou
+des Contributeurs.
+
+
+    Article 7 - SERVICES ASSOCIES
+
+7.1 Le Contrat n'oblige en aucun cas le Concédant à la réalisation de
+prestations d'assistance technique ou de maintenance du Logiciel.
+
+Cependant le Concédant reste libre de proposer ce type de services. Les
+termes et conditions d'une telle assistance technique et/ou d'une telle
+maintenance seront alors déterminés dans un acte séparé. Ces actes de
+maintenance et/ou assistance technique n'engageront que la seule
+responsabilité du Concédant qui les propose.
+
+7.2 De même, tout Concédant est libre de proposer, sous sa seule
+responsabilité, à ses licenciés une garantie, qui n'engagera que lui,
+lors de la redistribution du Logiciel et/ou du Logiciel Modifié et ce,
+dans les conditions qu'il souhaite. Cette garantie et les modalités
+financières de son application feront l'objet d'un acte séparé entre le
+Concédant et le Licencié.
+
+
+    Article 8 - RESPONSABILITE
+
+8.1 Sous réserve des dispositions de l'article 8.2
+<#limite-responsabilite>, le Licencié a la faculté, sous réserve de
+prouver la faute du Concédant concerné, de solliciter la réparation du
+préjudice direct qu'il subirait du fait du Logiciel et dont il apportera
+la preuve.
+
+8.2 La responsabilité du Concédant est limitée aux engagements pris en
+application du Contrat et ne saurait être engagée en raison notamment:
+(i) des dommages dus à l'inexécution, totale ou partielle, de ses
+obligations par le Licencié, (ii) des dommages directs ou indirects
+découlant de l'utilisation ou des performances du Logiciel subis par le
+Licencié et (iii) plus généralement d'un quelconque dommage indirect. En
+particulier, les Parties conviennent expressément que tout préjudice
+financier ou commercial (par exemple perte de données, perte de
+bénéfices, perte d'exploitation, perte de clientèle ou de commandes,
+manque à gagner, trouble commercial quelconque) ou toute action dirigée
+contre le Licencié par un tiers, constitue un dommage indirect et
+n'ouvre pas droit à réparation par le Concédant.
+
+
+    Article 9 - GARANTIE
+
+9.1 Le Licencié reconnaît que l'état actuel des connaissances
+scientifiques et techniques au moment de la mise en circulation du
+Logiciel ne permet pas d'en tester et d'en vérifier toutes les
+utilisations ni de détecter l'existence d'éventuels défauts. L'attention
+du Licencié a été attirée sur ce point sur les risques associés au
+chargement, à l'utilisation, la modification et/ou au développement et à
+la reproduction du Logiciel qui sont réservés à des utilisateurs avertis.
+
+Il relève de la responsabilité du Licencié de contrôler, par tous
+moyens, l'adéquation du produit à ses besoins, son bon fonctionnement et
+de s'assurer qu'il ne causera pas de dommages aux personnes et aux biens.
+
+9.2 Le Concédant déclare de bonne foi être en droit de concéder
+l'ensemble des droits attachés au Logiciel (comprenant notamment les
+droits visés à l'article 5 <#etendue>).
+
+9.3 Le Licencié reconnaît que le Logiciel est fourni "en l'état" par le
+Concédant sans autre garantie, expresse ou tacite, que celle prévue à
+l'article 9.2 <#bonne-foi> et notamment sans aucune garantie sur sa
+valeur commerciale, son caractère sécurisé, innovant ou pertinent.
+
+En particulier, le Concédant ne garantit pas que le Logiciel est exempt
+d'erreur, qu'il fonctionnera sans interruption, qu'il sera compatible
+avec l'équipement du Licencié et sa configuration logicielle ni qu'il
+remplira les besoins du Licencié.
+
+9.4 Le Concédant ne garantit pas, de manière expresse ou tacite, que le
+Logiciel ne porte pas atteinte à un quelconque droit de propriété
+intellectuelle d'un tiers portant sur un brevet, un logiciel ou sur tout
+autre droit de propriété. Ainsi, le Concédant exclut toute garantie au
+profit du Licencié contre les actions en contrefaçon qui pourraient être
+diligentées au titre de l'utilisation, de la modification, et de la
+redistribution du Logiciel. Néanmoins, si de telles actions sont
+exercées contre le Licencié, le Concédant lui apportera son expertise
+technique et juridique pour sa défense. Cette expertise technique et
+juridique est déterminée au cas par cas entre le Concédant concerné et
+le Licencié dans le cadre d'un protocole d'accord. Le Concédant dégage
+toute responsabilité quant à l'utilisation de la dénomination du
+Logiciel par le Licencié. Aucune garantie n'est apportée quant à
+l'existence de droits antérieurs sur le nom du Logiciel et sur
+l'existence d'une marque.
+
+
+    Article 10 - RESILIATION
+
+10.1 En cas de manquement par le Licencié aux obligations mises à sa
+charge par le Contrat, le Concédant pourra résilier de plein droit le
+Contrat trente (30) jours après notification adressée au Licencié et
+restée sans effet.
+
+10.2 Le Licencié dont le Contrat est résilié n'est plus autorisé à
+utiliser, modifier ou distribuer le Logiciel. Cependant, toutes les
+licences qu'il aura concédées antérieurement à la résiliation du Contrat
+resteront valides sous réserve qu'elles aient été effectuées en
+conformité avec le Contrat.
+
+
+    Article 11 - DISPOSITIONS DIVERSES
+
+
+      11.1 CAUSE EXTERIEURE
+
+Aucune des Parties ne sera responsable d'un retard ou d'une défaillance
+d'exécution du Contrat qui serait dû à un cas de force majeure, un cas
+fortuit ou une cause extérieure, telle que, notamment, le mauvais
+fonctionnement ou les interruptions du réseau électrique ou de
+télécommunication, la paralysie du réseau liée à une attaque
+informatique, l'intervention des autorités gouvernementales, les
+catastrophes naturelles, les dégâts des eaux, les tremblements de terre,
+le feu, les explosions, les grèves et les conflits sociaux, l'état de
+guerre...
+
+11.2 Le fait, par l'une ou l'autre des Parties, d'omettre en une ou
+plusieurs occasions de se prévaloir d'une ou plusieurs dispositions du
+Contrat, ne pourra en aucun cas impliquer renonciation par la Partie
+intéressée à s'en prévaloir ultérieurement.
+
+11.3 Le Contrat annule et remplace toute convention antérieure, écrite
+ou orale, entre les Parties sur le même objet et constitue l'accord
+entier entre les Parties sur cet objet. Aucune addition ou modification
+aux termes du Contrat n'aura d'effet à l'égard des Parties à moins
+d'être faite par écrit et signée par leurs représentants dûment habilités.
+
+11.4 Dans l'hypothèse où une ou plusieurs des dispositions du Contrat
+s'avèrerait contraire à une loi ou à un texte applicable, existants ou
+futurs, cette loi ou ce texte prévaudrait, et les Parties feraient les
+amendements nécessaires pour se conformer à cette loi ou à ce texte.
+Toutes les autres dispositions resteront en vigueur. De même, la
+nullité, pour quelque raison que ce soit, d'une des dispositions du
+Contrat ne saurait entraîner la nullité de l'ensemble du Contrat.
+
+
+      11.5 LANGUE
+
+Le Contrat est rédigé en langue française et en langue anglaise, ces
+deux versions faisant également foi.
+
+
+    Article 12 - NOUVELLES VERSIONS DU CONTRAT
+
+12.1 Toute personne est autorisée à copier et distribuer des copies de
+ce Contrat.
+
+12.2 Afin d'en préserver la cohérence, le texte du Contrat est protégé
+et ne peut être modifié que par les auteurs de la licence, lesquels se
+réservent le droit de publier périodiquement des mises à jour ou de
+nouvelles versions du Contrat, qui posséderont chacune un numéro
+distinct. Ces versions ultérieures seront susceptibles de prendre en
+compte de nouvelles problématiques rencontrées par les logiciels libres.
+
+12.3 Tout Logiciel diffusé sous une version donnée du Contrat ne pourra
+faire l'objet d'une diffusion ultérieure que sous la même version du
+Contrat ou une version postérieure, sous réserve des dispositions de
+l'article 5.3.4 <#compatibilite>.
+
+
+    Article 13 - LOI APPLICABLE ET COMPETENCE TERRITORIALE
+
+13.1 Le Contrat est régi par la loi française. Les Parties conviennent
+de tenter de régler à l'amiable les différends ou litiges qui
+viendraient à se produire par suite ou à l'occasion du Contrat.
+
+13.2 A défaut d'accord amiable dans un délai de deux (2) mois à compter
+de leur survenance et sauf situation relevant d'une procédure d'urgence,
+les différends ou litiges seront portés par la Partie la plus diligente
+devant les Tribunaux compétents de Paris.
+
+
diff --git a/sources2012m_3_13/chap-1.m b/sources2012m_3_13/chap-1.m
new file mode 100644
index 0000000000000000000000000000000000000000..ec5c29b0c26dea0a87d56fd45210e09fb558bcfe
--- /dev/null
+++ b/sources2012m_3_13/chap-1.m
@@ -0,0 +1,468 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+                                                                           #
+  ####   #    #    ##    #####      #     #####  #####   ######           ##
+ #    #  #    #   #  #   #    #     #       #    #    #  #               # #
+ #       ######  #    #  #    #     #       #    #    #  #####             #
+ #       #    #  ######  #####      #       #    #####   #                 #
+ #    #  #    #  #    #  #          #       #    #   #   #                 #
+  ####   #    #  #    #  #          #       #    #    #  ###### #######  #####
+ #
+ #
+ #
+ #
+ #
+ #                         CALCUL DU NET A PAYER
+ #
+ #
+ #
+ #
+ #
+ #
+regle 101:
+application : bareme  ;
+RC1 = positif( NAPI + 1 - SEUIL_12 ) +0 ;
+regle 1010:
+application : batch, iliad ;
+NAPT =  null(4 - V_IND_TRAIT) * (( NAPTOT - IRANT + NAPCR)* positif_ou_nul (NAPTOT - IRANT + NAPCR - SEUIL_12)
+	    + min (0,NAPTOT - IRANT +NAPCRP* positif_ou_nul(IAMD1+NAPCRPIAMD1 - SEUIL_61)))
+     + null(5 - V_IND_TRAIT) * (
+		 positif(positif_ou_nul(TOTIRPS - TOTIRPSANT -SEUIL_12)
+		 + (1-positif(TOTIRPS-TOTIRPSANT)) * positif_ou_nul(TOTIRPSANT-TOTIRPS -SEUIL_8)) * (TOTIRPS - TOTIRPSANT)
+		 + positif(positif(SEUIL_12 - TOTIRPS - TOTIRPSANT)*positif(TOTIRPS-TOTIRPSANT)
+			  +(1-positif(TOTIRPS-TOTIRPSANT)) * positif(SEUIL_8 - (TOTIRPSANT - TOTIRPS)) * 0)
+			       );
+
+NAPTIR = IRNET + TAXANET + TAXLOYNET + PCAPNET + HAUTREVNET
+	    - IRESTITIR;
+regle 10101:
+application : batch, iliad ;
+NAPCOROLIR = max(0, (TOTIRCUM - RECUMIR) - (V_TOTIRANT - V_ANTREIR));
+NAPCOROLCS = max(0, NAPCR - V_ANTCR);
+regle 10111:
+application : iliad,batch ;
+RC1 = si ( NAPINI - V_ANTIR - IRCUM_A + RECUMBIS >= SEUIL_12 )
+      alors (1)
+      sinon (0)
+      finsi;
+regle 1013 :
+application : iliad , batch ;
+IAVIMBIS = IRB + PIR ;
+IAVIMO = (max(0,max(ID11-ADO1,IMI)-RED) + ITP + REI + PIR)
+                 * V_CR2;
+regle 1012:
+application : bareme , iliad , batch ;
+NAPI = ( IRD + PIRD - IRANT ) 
+       + TAXASSUR
+       + IPCAPTAXT
+       + IHAUTREVT
+       + TAXLOY
+       + RASAR * V_CR2 ;
+regle 104114:
+application : iliad , batch ;
+INTMS = inf( MOISAN / 10000 );
+INTAN = (( MOISAN/10000 - INTMS )*10000)  * present(MOISAN) ;
+TXINT = (positif(2006-arr(INTAN))*max(0, (INTAN - (V_ANREV+1) )* 12 + INTMS - 6 ) * TXMOISRETARD 
+         + positif_ou_nul(V_ANREV-2006)*max(0, (INTAN - (V_ANREV+1) )* 12 + INTMS - 6 ) * TXMOISRETARD2 
+         + (1-positif(2006-arr(INTAN)))*(1-positif_ou_nul(V_ANREV-2006))
+	   * (((2006 - (V_ANREV+1))*12 - 6) * (TXMOISRETARD * positif(2006 - (V_ANREV+1)) + TXMOISRETARD2 * null(2006-(V_ANREV+1)))
+	      + ((INTAN - 2006)*12 + INTMS) * TXMOISRETARD2)
+          ) 
+            * present(MOISAN);
+COPETO = si (CMAJ = 7 ou CMAJ = 10 ou CMAJ = 17 ou CMAJ = 18)
+         alors (10)
+         sinon
+              ( si (CMAJ = 8 ou CMAJ = 11)
+                alors (40)
+                sinon (80)
+                finsi )
+         finsi;
+regle 1041140:
+application : iliad , batch ;
+PTOIR = arr(BTO * COPETO / 100)                
+	 + arr(BTO * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr((BTOINR) * TXINT / 100) ;
+PTOPRS =( arr((PRS-PRSPROV) * COPETO / 100)                
+         + arr((PRS-PRSPROV) * TXINT / 100) ) ;
+PTOCSG =( arr((CSG-CSGIM) * COPETO / 100)                
+         + arr((CSG-CSGIM) * TXINT / 100) ) ;
+
+PTORSE1 = (arr(max(0,RSE1 -CIRSE1 -CSPROVYD) * COPETO / 100) + arr(max(0,RSE1 -CIRSE1 -CSPROVYD) * TXINT / 100)) ;
+
+PTORSE2 = (arr(max(0,RSE2 -CIRSE2 -CSPROVYF) * COPETO / 100) + arr(max(0,RSE2 -CIRSE2 -CSPROVYF) * TXINT / 100)) ;
+
+PTORSE3 = (arr(max(0,RSE3 -CIRSE3 -CSPROVYG) * COPETO / 100) + arr(max(0,RSE3 -CIRSE3 -CSPROVYG) * TXINT / 100)) ;
+
+PTORSE4 = (arr(max(0,RSE4 -CIRSE4 -CSPROVYH) * COPETO / 100) + arr(max(0,RSE4 -CIRSE4 -CSPROVYH) * TXINT / 100)) ;
+PTORSE5 = (arr(max(0,RSE5 -CIRSE5 -CSPROVYE) * COPETO / 100) + arr(max(0,RSE5 -CIRSE5 -CSPROVYE) * TXINT / 100)) ;
+PTORDS =( arr((RDSN-CRDSIM) * COPETO / 100)                
+         + arr((RDSN-CRDSIM) * TXINT / 100) ) ;
+PTOTAXA= arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * COPETO / 100)
+	 + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * TXINT / 100) ;
+PTOTPCAP= arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * COPETO / 100)
+	 + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * TXINT / 100) ;
+PTOTLOY = arr(max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * COPETO / 100)
+	 + arr(max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * TXINT / 100) ;
+PTOTCHR= arr(max(0,IHAUTREVT+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * COPETO / 100)
+	 + arr(max(0,IHAUTREVT+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,IHAUTREVT+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * TXINT / 100) ;
+
+PTOCSAL = arr((CSAL - CSALPROV) * COPETO / 100)                
+         + arr((CSAL - CSALPROV) * TXINT / 100) ;
+PTOGAIN = arr((CGAINSAL - GAINPROV) * COPETO / 100)
+	 + arr((CGAINSAL - GAINPROV) * TXINT / 100) ;
+PTOCVN = arr((CVNSALC - PROVCVNSAL) * COPETO / 100)                
+         + arr((CVNSALC - PROVCVNSAL) * TXINT / 100) ;
+
+PTOCDIS = (arr((CDIS-CDISPROV) * COPETO / 100) + arr((CDISC-CDISPROV) * TXINT / 100)) ;
+PTOGLOA = (arr(CGLOA * COPETO / 100) + arr(CGLOA * TXINT / 100)) ;
+
+regle 1041141:
+application : iliad , batch ;
+BTO = max( 0 , IRN - IRANT )
+           * positif( IAMD1 +NAPCRPIAMD1+ 1 - SEUIL_61 );
+BTOINR = max( 0 , IRN - ACODELAISINR - IRANT )
+           * positif( IAMD1 +NAPCRPIAMD1+ 1 - SEUIL_61 );
+
+regle 10211:
+application : bareme , batch , iliad ;
+IRD = IRN * (positif(5 - V_IND_TRAIT)
+              +
+              (1-positif(5-V_IND_TRAIT)) * (
+              positif_ou_nul(IRN+PIR-SEUIL_12) 
+             + (1 - positif(IRN + PIR))
+             ));
+regle 10213:
+application : iliad , batch;
+
+PRSD = NAPPS - V_PSANT ;
+
+CSGD = NAPCS - V_CSANT ;
+
+RDSD = NAPRD - V_RDANT ;
+
+CSALD = NAPCSAL - V_CSALANT ;
+CGAIND = NAPGAIN - V_GAINSALANT ;
+CVND = NAPCVN - V_CVNANT ;
+CGLOAD = NAPGLOA - V_GLOANT ;
+
+CDISD = NAPCDIS - V_CDISANT ;
+CRSE1D = NAPRSE1 - V_RSE1ANT ;
+CRSE2D = NAPRSE2 - V_RSE2ANT ;
+CRSE3D = NAPRSE3 - V_RSE3ANT ;
+CRSE4D = NAPRSE4 - V_RSE4ANT ;
+CRSE5D = NAPRSE5 - V_RSE5ANT ;
+
+regle 10214:
+application : iliad,batch ;
+CSNETAV = max(0,(CSGC + PCSG - CICSG - CSGIM)) ;
+CSNET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * CSNETAV
+      + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+            * (positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61) * CSNETAV + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0) ;
+RDNETAV = max(0,(RDSC + PRDS - CIRDS - CRDSIM));
+RDNET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * RDNETAV
+      + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+            * (positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61) * RDNETAV + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0) ;
+PRSNETAV = max(0,(PRSC + PPRS - CIPRS - PRSPROV))  ;
+PRSNET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * PRSNETAV
+      + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+            * (positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61) * PRSNETAV + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0) ;
+CSALNETAV = max(0,(CSALC + PCSAL - CSALPROV)) ;
+CSALNET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * CSALNETAV
+      + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+            * (positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61) * CSALNETAV + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0) ;
+GAINNETAV = max(0,(GAINSALC + PGAIN - GAINPROV)) ;
+GAINNET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * GAINNETAV
+      + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+            * (positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61) * GAINNETAV + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0) ;
+CVNNETAV  =  max(0,(CVNSALC + PCVN - PROVCVNSAL));
+CVNNET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * CVNNETAV
+      + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+            * (positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61) * CVNNETAV + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0) ;
+CDISNETAV = max(0,(CDISC + PCDIS - CDISPROV))  ;
+CDISNET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * CDISNETAV
+      + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+            * (positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61) * CDISNETAV + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0) ;
+CGLOANETAV = max(0,(CGLOA + PGLOA ))  ;
+CGLOANET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * CGLOANETAV
+      + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+            * (positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61) * CGLOANETAV + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0) ;
+regle 102141:
+application : iliad,batch ;
+RSE1NETAV = max(0,(RSE1 + PRSE1 - CIRSE1 - CSPROVYD))  ;
+RSE1NET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * RSE1NETAV
+      + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+            * (positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61) * RSE1NETAV + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0) ;
+RSE2NETAV = max(0,(RSE2 + PRSE2 - CIRSE2 - CSPROVYF))  ;
+RSE2NET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * RSE2NETAV
+      + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+            * (positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61) * RSE2NETAV + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0) ;
+RSE3NETAV = max(0,(RSE3 + PRSE3 - CIRSE3 - CSPROVYG))  ;
+RSE3NET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * RSE3NETAV
+      + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+            * (positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61) * RSE3NETAV + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0) ;
+RSE4NETAV = max(0,(RSE4 + PRSE4 - CIRSE4 - CSPROVYH))  ;
+RSE4NET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * RSE4NETAV
+      + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+            * (positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61) * RSE4NETAV + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0) ;
+RSE5NETAV = max(0,(RSE5 + PRSE5 - CIRSE5 - CSPROVYE))  ;
+RSE5NET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * RSE5NETAV
+      + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+            * (positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61) * RSE5NETAV + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0) ;
+RSENETTOT = RSE1NET + RSE2NET + RSE3NET + RSE4NET + RSE5NET;
+regle 102142:
+application : iliad,batch ;
+TOTCRBRUT = max(0,CSGC + PCSG - CICSG - CSGIM +RDSC + PRDS - CIRDS - CRDSIM+ PRSC + PPRS - CIPRS - PRSPROV+CSALC + PCSAL - CSALPROV+GAINSALC + PGAIN - GAINPROV
+                       + CVNSALC + PCVN - PROVCVNSAL+CDISC + PCDIS - CDISPROV + CGLOA + PGLOA
+                       +RSE1 + PRSE1+RSE2 + PRSE2+ RSE3 + PRSE3+RSE4 + PRSE4+ RSE5 + PRSE5
+                       - CIRSE1 - CSPROVYD - CIRSE5 - CSPROVYE - CIRSE2 - CSPROVYF
+                       - CIRSE3 - CSPROVYG - CIRSE4 - CSPROVYH);
+TOTCRNET = CSNET+ RDNET+ PRSNET+ CSALNET+ GAINNET+ CVNNET+ CDISNET+ RSE1NET+ RSE2NET+ RSE3NET+ RSE4NET+ RSE5NET;
+regle 10201:
+application : batch , iliad ;
+
+IARD = IAR - IAR_A ;
+
+regle 1041:
+application :  iliad, batch ;
+PIRD = PIR * (positif(5 - V_IND_TRAIT)
+              +
+              (1-positif(5-V_IND_TRAIT)) * (
+              positif_ou_nul(IRN+PIR-SEUIL_12) 
+              + 
+              (1-positif(IRN+PIR)) 
+             ))
+    - 
+              PIR_A * ( positif_ou_nul(PIR_A-SEUIL_12) 
+               + 
+              (1-positif(PIR_A))  
+              );
+PPRSD = PPRS * CSREC - PPRS_A * CSRECA ;
+PCSGD = PCSG* CSREC - PCSG_A * CSRECA ;
+PRDSD = PRDS * CSREC - PRDS_A * CSRECA;
+PCSALD = PCSAL * CSREC - PCSAL_A * CSRECA;
+PTOTD = PIRD  ;
+regle 114:
+application : iliad , batch ;
+BPRS2 = arr(RDRF * (1-null(4-V_REGCO))
+	  + (RDRV + RDRCM + RDNP + RDNCP + RDPTP + ESFP + R1649)*(1-V_CNR)) * (1 - present(RE168)) 
+	 + RE168 * (1-V_CNR);
+BPRS =  V_BPRS3 * FLAG_1731
+      + BPRS2 * (1 - FLAG_1731);
+regle 113:
+application : iliad , batch ;
+PRSC = arr( BPRS * T_PREL_SOC /100 ) * (1 - positif(ANNUL2042)) ;
+regle 103103 :
+application : iliad , batch ;
+PRS = PRSC - CIPRS;
+regle 1031 :
+application : iliad , batch ;
+CSGC = arr( BCSG * T_CSG / 100) * (1 - positif(ANNUL2042)) ;
+regle 103101 :
+application : iliad , batch ;
+
+RSE1 = arr(BRSE1 * TXTQ/100) * (1 - positif(ANNUL2042)) ;
+RSE2 = arr(BRSE2 * TXTV/100) * (1 - positif(ANNUL2042)) ;
+RSE3 = arr(BRSE3 * TXTW/100) * (1 - positif(ANNUL2042)) ;
+RSE4 = arr(BRSE4 * TXTX/100) * (1 - positif(ANNUL2042)) ;
+RSE5 = arr(BRSE5 * TX075/100) * (1 - positif(ANNUL2042)) ;
+
+RSETOT = RSE1 + RSE2 + RSE3 + RSE4 + RSE5;
+regle 1031011 :
+application : iliad , batch ;
+CSG = max(0,CSGC - CICSG) ;
+RSE1N = max(0,RSE1 - CIRSE1) ;
+RSE2N = max(0,RSE2  - CIRSE2) ;
+RSE3N = max(0,RSE3 - CIRSE3);
+RSE4N = max(0,RSE4  - CIRSE4) ;
+RSE5N = max(0,RSE5 - CIRSE5) ;
+
+regle 10311:
+application : iliad , batch ;
+RDRF = max(0 , RFCF + RFMIC - MICFR - RFDANT);
+RDRCM = max( 0 , 
+		TRCMABD + DRTNC + RAVC + RCMNAB + RTCAR + RCMPRIVM
+		+ RCMIMPAT
+		- RCMSOC
+                  -  positif(RCMRDS)
+		       * min(RCMRDS ,  
+			 RCMABD + REVACT
+                       + RCMAV + PROVIE
+                       + RCMHAD  + DISQUO
+                       + RCMHAB + INTERE
+		       + RCMTNC + REVPEA))
+		       ;
+RDRV = RVBCSG ;
+RDNP = 
+   RCSV  
+ + RCSC  
+ + RCSP
+ + max(0,NPLOCNETSF)
+   ;
+
+RDNCP = (max( BPVRCM + ABDETPLUS + ABIMPPV + PVJEUNENT - DPVRCM - ABDETMOINS - ABIMPMV,0) +
+             (BPCOSAC + BPCOSAV + BPVKRI + PVPART + PEA+PVIMPOS + BPV18V + BPCOPTV + BPV40V+ PVTITRESOC
+	    + BPV18C + BPCOPTC + BPV40C + PVDIRTAX + ABPVNOSURSIS + BPVSJ + BPVSK + GAINPEA+PVSURSIWG)) * (1 - positif(IPVLOC)) ;
+
+RDPTP = BAF1AV + BAF1AC + BAF1AP
+       + BA1AV + BA1AC + BA1AP
+       + max(0,MIB1AV - MIBDEV) + max(0,MIB1AC - MIBDEC) + max(0,MIB1AP - MIBDEP)
+       + BI1AV + BI1AC + BI1AP
+       + max(0,MIBNP1AV - MIBNPDEV) + max(0,MIBNP1AC - MIBNPDEC) + max(0,MIBNP1AP - MIBNPDEP)
+       + BI2AV + BI2AC + BI2AP
+       + max(0,BNCPRO1AV - BNCPRODEV) + max(0,BNCPRO1AC - BNCPRODEC) + max(0,BNCPRO1AP - BNCPRODEP)
+       + BN1AV + BN1AC + BN1AP
+       + max(0,BNCNP1AV - BNCNPDEV) + max(0,BNCNP1AC - BNCNPDEC) + max(0,BNCNP1AP - BNCNPDEP)
+       + PVINVE + PVINCE + PVINPE
+       + PVSOCV + PVSOCC
+       ;
+RGLOA = GLDGRATV + GLDGRATC;
+
+BCSG2 = arr(RDRF * (1-null(4-V_REGCO))
+	  + (RDRV + RDRCM + RDNP + RDNCP + RDPTP + ESFP + R1649 + PREREV)*(1-V_CNR)) * (1 - positif(present(RE168) + present(TAX1649))) 
+	 + (RE168 + TAX1649) * (1-V_CNR);
+BCSG =    V_BCSG3 * FLAG_1731 
+        + BCSG2 * (1 - FLAG_1731);
+
+BRSE1 = SALECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSE2 = ALLECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSE3 = INDECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSE4 = PENECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+BRSE5 = SALECSG * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSETOT = BRSE1 + BRSE2 + BRSE3 + BRSE4 + BRSE5;
+regle 10311111:
+application : iliad , batch ;
+PRSETOT = PRSE1 + PRSE2 + PRSE3 + PRSE4 + PRSE5;
+RETRSETOT = RETRSE1 + RETRSE2 + RETRSE3 + RETRSE4 + RETRSE5;
+RSEPROVTOT = CSPROVYD + CSPROVYE + CSPROVYF + CSPROVYG + CSPROVYH;
+NMAJRSE1TOT = NMAJRSE11 + NMAJRSE21 + NMAJRSE31 + NMAJRSE41 + NMAJRSE51;
+NMAJRSE4TOT = NMAJRSE14 + NMAJRSE24 + NMAJRSE34 + NMAJRSE44 + NMAJRSE54;
+
+regle 103111:
+application : iliad , batch ;
+BDCSG = min ((RDRF+RDRV+RDRCM+RDNP+ESFP) * (1-V_CNR), max( 0, (RDRF+RDRV + RDRCM + RDNP - IPPNCS)  * (1-V_CNR) ))  
+			   * (1 - positif(present(RE168)+present(TAX1649)));
+DGLOD = positif(CSREC+V_GLOANT) * arr(BGLOA * TX051/100) * (1 - positif(present(RE168)+present(TAX1649)));
+IDGLO = si (V_IND_TRAIT = 4) 
+        alors ((arr(BGLOA * TX051 / 100)) * positif(CSREC))
+
+        sinon ( 
+               si (NAPCRP = 0)
+                   alors (0)
+                   sinon (abs(DGLOD - V_GLOANT ))
+               finsi )
+        finsi ;
+regle 103114 :
+application :  batch , iliad ;
+BDRSE1 = max(0,SALECS-REVCSXA-arr(CSPROVYD/(TX075/100))) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BDRSE2 = max(0,ALLECS-REVCSXC-arr(CSPROVYF/(TX066/100))) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BDRSE3 = max(0,INDECS-REVCSXD-arr(CSPROVYG/(TX062/100))) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BDRSE4 = max(0,PENECS-REVCSXE-arr(CSPROVYH/(TX038/100))) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+BDRSE5 = max(0,SALECSG-REVCSXB-arr(CSPROVYE/(TX075/100))) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+DRSED = positif(CSREC+V_IDRSEANT) * (arr(BDRSE1 * TXTQDED/100) + arr(BDRSE2 * TXTVDED/100) + arr(BDRSE3 * TXTWDED/100) + arr(BDRSE4 * TXTXDED/100) + arr(BDRSE5 * TX051/100)) ;
+
+IDRSE = positif(CSREC)*(arr(BDRSE1 * TXTQDED/100) + arr(BDRSE2 * TXTVDED/100) + arr(BDRSE3 * TXTWDED/100) + arr(BDRSE4 * TXTXDED/100) + arr(BDRSE5 * TX051/100)) ;
+
+regle 1031121 :
+application : batch,iliad ;
+DCSGD = positif(CSREC+V_IDANT) * (arr(BDCSG * T_IDCSG / 100) - DCSGIM-DCSGIM_A) ;
+IDCSG = si (V_IND_TRAIT = 4) 
+        alors ((arr(BDCSG * T_IDCSG / 100)-DCSGIM) * positif(CSREC))
+        sinon ( 
+               si (CRDEG = 0 et NAPCRP = 0)
+                   alors (0)
+                   sinon (abs(DCSGD - V_IDANT ))
+               finsi )
+        finsi ;
+regle 10312 :
+application : iliad , batch ;
+BRDS2 = arr(RDRF * (1-null(4-V_REGCO))
+	  + (RDRV + RDRCM + RDNP + RDNCP + RDPTP + RGLOA * (1-V_CNR)
+	  + SALECS + SALECSG + ALLECS + INDECS + PENECS + ESFP + R1649 + PREREV)
+				  *(1-V_CNR)) * (1 - positif(present(RE168) + present(TAX1649))) 
+	 + (RE168 + TAX1649) * (1-V_CNR);
+BRDS =   V_BRDS3 * FLAG_1731
+       + BRDS2 * (1 - FLAG_1731);
+
+regle 10313 :
+application : iliad , batch ;
+RDSC = arr( BRDS * T_RDS / 100 ) * (1 - positif(ANNUL2042));
+regle 103102 :
+application : iliad , batch ;
+RDSN = RDSC - CIRDS;
+regle 117180:                                                             
+application : iliad , batch ;                               
+                                                                          
+CSRTF = (RDPTP + PVINVE+PVINCE+PVINPE 
+         + somme(i=V,C,P:BN1Ai + BI1Ai                          
+         + BI2Ai + BA1Ai )) * (1 - positif(IPVLOC)); 
+RDRTF = CSRTF  ;                                                          
+PSRTF = CSRTF  ;                                                          
+regle 119:
+application : iliad , batch ;
+BASSURV3 = max(0,CESSASSV - LIM_ASSUR3);
+BASSURV2 = max(0,CESSASSV - BASSURV3 - LIM_ASSUR2);
+BASSURV1 = max(0,CESSASSV - BASSURV3 - BASSURV2 - LIM_ASSUR1);
+BASSURC3 = max(0,CESSASSC - LIM_ASSUR3);
+BASSURC2 = max(0,(CESSASSC -BASSURC3) - LIM_ASSUR2);
+BASSURC1 = max(0,(CESSASSC - BASSURC3 -BASSURC2) - LIM_ASSUR1);
+BASSURV = CESSASSV;
+BASSURC = CESSASSC;
+TAXASSURV = arr(BASSURV1 * TX_ASSUR1/100 + BASSURV2 * TX_ASSUR2/100 + BASSURV3 * TX_ASSUR3/100) * (1 - positif(RE168 + TAX1649));
+TAXASSURC = arr(BASSURC1 * TX_ASSUR1/100 + BASSURC2 * TX_ASSUR2/100 + BASSURC3 * TX_ASSUR3/100) * (1 - positif(RE168 + TAX1649));
+TAXASSUR = TAXASSURV + TAXASSURC;
+regle 1120 :
+application : iliad , batch ;
+BCSAL = (BPVOPTCSV + BPVOPTCSC) * (1-positif(present(TAX1649)+present(RE168)));
+CSALC = arr( BCSAL * T_CSAL / 100 ) * (1 - positif(ANNUL2042));
+CSAL = CSALC ;
+
+BGAINSAL = (GAINSALAV + GAINSALAC) * (1-positif(present(TAX1649)+present(RE168)));
+GAINSALC = arr( BGAINSAL * T_GAINSAL / 100 ) * (1 - positif(ANNUL2042));
+CGAINSAL = GAINSALC ;
+GAINPROV = max(0 , min(CGAINSAL , CSALPIRATE)) ;
+
+BCVNSAL = (CVNSALAV + CVNSALAC+GLDGRATV+GLDGRATC) * (1-positif(present(TAX1649)+present(RE168)));
+CVNSALC = arr( BCVNSAL * TX10 / 100 ) * (1 - positif(ANNUL2042));
+PROVCVNSAL = (CSALPIRATE - GAINPROV) * positif(BCVNSAL + 0) ;
+
+BGLOA = (GLDGRATV+GLDGRATC) * (1-V_CNR) * (1-positif(present(TAX1649)+present(RE168)));
+CGLOA = arr( BGLOA * TX075 / 100 ) * (1 - positif(ANNUL2042));
+
+regle 1125 :
+application : iliad , batch ;
+
+BCDIS = (GSALV + GSALC) * (1 - V_CNR)* (1-positif(present(TAX1649)+present(RE168))) ;
+
+CDISC = arr(BCDIS * TCDIS / 100) * (1 - positif(ANNUL2042)) ;
+
+CDIS = CDISC ;
diff --git a/sources2012m_3_13/chap-2.m b/sources2012m_3_13/chap-2.m
new file mode 100644
index 0000000000000000000000000000000000000000..fc5fd5dee2c702a6ac47e2d5a6476ab6048cf63b
--- /dev/null
+++ b/sources2012m_3_13/chap-2.m
@@ -0,0 +1,282 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #     CHAPITRE 2. CALCUL DU NET A PAYER
+ #
+ #
+ #
+regle 20100:
+application : batch, iliad ;
+NAPINI = ( IRN + PIR - IRANT )* (1 - INDTXMIN) *(1 - INDTXMOY)
+       + min(0, IRN + PIR - IRANT) * (INDTXMIN + INDTXMOY)
+       + max(0, IRN + PIR - IRANT) * 
+                                (INDTXMIN*positif((IAVIMBIS-NAPCRPAVIM)-SEUIL_61 )
+			       + INDTXMOY* positif((IAVIMO-NAPCRPAVIM)-SEUIL_61))
+                      + RASAR * V_CR2;
+RC1INI = positif( NAPINI + 1 - SEUIL_12 ) ;
+regle 20101:
+application : batch, iliad ;
+NAPTOT = IRCUM + TAXACUM + PCAPCUM + TAXLOYCUM + HAUTREVCUM  - RECUMIR;
+regle 20103:
+application : iliad ,batch;
+NAPTOTA = V_IRPSANT - V_ANTRE;
+NAPTOTAIR = V_TOTIRANT - V_ANTREIR;
+TOTCRA = V_ANTCR ;
+TOTIRPSANT = V_IRPSANT + V_NONRESTANT - V_ANTRE;
+regle 20104:
+application : iliad ;
+OCEDIMP = IRNIN ;
+regle 20105:
+application : batch, iliad ;
+IRNIN = (IRN - IRANT) * positif(IRN - IRANT) ;
+regle isf 201050:
+application : batch, iliad ;
+ISF4BASE = ISF4BIS * positif_ou_nul(ISF4BIS - SEUIL_12);  
+ISFIN = ISF4BASE ;
+regle 201051:
+application : batch, iliad;
+IRNIN_INR = (IRN - IRANT - ACODELAISINR) * positif(IRN - IRANT) ;
+CSBASE = CSG - CSGIM ;
+RDBASE = RDSN - CRDSIM ;
+PSBASE = PRS - PRSPROV ;
+GAINBASE = CGAINSAL - GAINPROV ;
+CSALBASE = CSAL - CSALPROV ;
+CVNBASE = CVNSALC - PROVCVNSAL ;
+CDISBASE = CDIS - CDISPROV ;
+GLOBASE = CGLOA ;
+RSE1BASE = RSE1N - CSPROVYD;
+RSE2BASE = RSE2N - CSPROVYF;
+RSE3BASE = RSE3N - CSPROVYG;
+RSE4BASE = RSE4N - CSPROVYH;
+RSE5BASE = RSE5N - CSPROVYE;
+TAXABASE = arr(max(TAXASSUR + min(0,IRN - IRANT),0)) * positif(IAMD1 + NAPCRPIAMD1+ 1 - SEUIL_61);
+PCAPBASE = arr(max(IPCAPTAXT + min(0,IRN - IRANT + TAXASSUR),0)) * positif(IAMD1 + NAPCRPIAMD1+ 1 - SEUIL_61);
+LOYBASE = arr(max(TAXLOY + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT),0)) * positif(IAMD1 + NAPCRPIAMD1+ 1 - SEUIL_61);
+CHRBASE = arr(max(IHAUTREVT + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT+TAXLOY),0)) * positif(IAMD1 + NAPCRPIAMD1+ 1 - SEUIL_61);
+
+IRBASE_I = (IRN -IRANT)*positif(IRN+1+NAPCRPIAMD1-SEUIL_12);
+
+IRBASE_N = (IRN - IRANT)*(1 - positif (IRN-IRANT + TAXABASE_IRECT+CAPBASE_IRECT+HRBASE_IRECT))
+           + (IAN - min( IAN , IRE )) * positif (IRN-IRANT + TAXABASE_IRECT+CAPBASE_IRECT+HRBASE_IRECT);
+TAXABASE_I = TAXASSUR * positif(IAMD1 +NAPCRPIAMD1+ 1 - SEUIL_61);
+TAXABASE_N = arr(max(TAXASSUR + min(0,IRN - IRANT),0)) * positif(IAMD1 +NAPCRPIAMD1+ 1 - SEUIL_61);
+CAPBASE_I = IPCAPTAXT * positif(IAMD1 +NAPCRPIAMD1+ 1 - SEUIL_61);
+CAPBASE_N = arr(max(IPCAPTAXT + min(0,IRN - IRANT + TAXASSUR),0)) * positif(IAMD1 +NAPCRPIAMD1+ 1 - SEUIL_61);
+LOYBASE_I = TAXLOY * positif(IAMD1 +NAPCRPIAMD1+ 1 - SEUIL_61);
+LOYBASE_N = arr(max(TAXLOY + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT),0)) * positif(IAMD1 +NAPCRPIAMD1+ 1 - SEUIL_61);
+HRBASE_I = IHAUTREVT * positif(IAMD1 +NAPCRPIAMD1+ 1 - SEUIL_61);
+HRBASE_N = arr(max(IHAUTREVT + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT+TAXLOY),0)) * positif(IAMD1 +NAPCRPIAMD1+ 1 - SEUIL_61);
+
+IRNN = IRNIN;
+
+regle 20106:
+application : iliad;
+PIR = (
+       INCIR_NET
+       + NMAJ1 + NMAJ3 + NMAJ4 
+       + arr((BTOINR) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT)))
+       ;
+PPRS = (
+       INCPS_NET
+       + NMAJP1 + NMAJP4
+       + arr((PRS-PRSPROV) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PCSG = (
+       INCCS_NET
+       + NMAJC1 + NMAJC4
+         + arr((CSG-CSGIM) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PRDS = (
+       INCRD_NET
+       + NMAJR1 + NMAJR4
+         + arr((RDSN-CRDSIM) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+
+PTAXA = (
+       INCTAXA_NET
+       + NMAJTAXA1 + NMAJTAXA3 + NMAJTAXA4
+         + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PPCAP = (
+       INCPCAP_NET
+       + NMAJPCAP1 + NMAJPCAP3 + NMAJPCAP4
+         + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PTAXLOY = (
+       INCLOY_NET
+       + NMAJLOY1 + NMAJLOY3 + NMAJLOY4
+         + arr(max(0,LOYELEV- min(LOYELEV+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PHAUTREV  = (
+       INCCHR_NET
+       + NMAJCHR1 + NMAJCHR3 + NMAJCHR4
+         + arr(max(0,IHAUTREVT+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+LOYELEV)) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PCSAL = (
+       INCCSAL_NET
+       + NMAJCSAL1 + NMAJCSAL4
+         + arr(max(0,(CSAL - CSALPROV)) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PGAIN = (
+       INCGAIN_NET
+       + NMAJGAIN1 + NMAJGAIN4
+         + arr(max(0,(CGAINSAL - GAINPROV)) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PCVN = (
+       INCCVN_NET
+       + NMAJCVN1 + NMAJCVN4
+         + arr(max(0,(CVNSALC - PROVCVNSAL)) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PGLOA = (
+       INCGLOA_NET
+       + NMAJGLO1 + NMAJGLO4
+         + arr((CGLOA * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT)))) ;
+PRSE1 = (
+       INCRSE1_NET
+       + NMAJRSE11 + NMAJRSE14
+         + arr(max(0,RSE1 -CIRSE1 -CSPROVYD)* TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PRSE2 = (
+       INCRSE2_NET
+       + NMAJRSE21 + NMAJRSE24
+         + arr(max(0,RSE2 -CIRSE2 -CSPROVYF)* TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PRSE3 = (
+       INCRSE3_NET
+       + NMAJRSE31 + NMAJRSE34
+         + arr(max(0,RSE3 -CIRSE3 -CSPROVYG)* TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PRSE4 = (
+       INCRSE4_NET
+       + NMAJRSE41 + NMAJRSE44
+         + arr(max(0,RSE4 -CIRSE4 -CSPROVYH)* TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PRSE5 = (
+       INCRSE5_NET
+       + NMAJRSE51 + NMAJRSE54
+         + arr(max(0,RSE5 -CIRSE5 -CSPROVYE)* TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PCDIS = (
+       INCCDIS_NET
+       + NMAJCDIS1 + NMAJCDIS4
+         + arr((CDIS-CDISPROV) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+
+PDEG = max(0,PIR_A + PTAXA_A + PPCAP_A - PTAXLOY_A - PCHR_A - PIR - PTAXA - PPCAP - PTAXLOY - PHAUTREV);
+
+regle 201061:
+application : batch , iliad  ;
+
+PTOTIRCS = PIR + PPRS + PCSG + PRDS + PTAXA + PTAXLOY + PHAUTREV + PPCAP + PCDIS + PCSAL + PGAIN + PCVN 
+	   + PGLOA + PRSE1 + PRSE2 + PRSE3 + PRSE4 + PRSE5;
+
+TOTPENIR = PIR + PTAXA + PTAXLOY + PHAUTREV + PPCAP ;
+
+TOTPENCS = PPRS+ PCSG + PRDS + PGAIN + PCSAL + PCVN + PCDIS + PGLOA + PRSE1 + PRSE2 + PRSE3 + PRSE4 + PRSE5;
+
+regle 20107:
+application : batch  ;
+PIR = PTOIR * positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61) ;
+PPRS = PTOPRS ;
+PCSG = PTOCSG ;
+PRSE1 = PTORSE1 ;
+PRSE2 = PTORSE2 ;
+PRSE3 = PTORSE3 ;
+PRSE4 = PTORSE4 ;
+PRSE5 = PTORSE5 ;
+PRDS = PTORDS ;
+PTAXA = PTOTAXA ;
+PPCAP = PTOTPCAP ;
+PTAXLOY = PTOTLOY ;
+PHAUTREV = PTOTCHR ;
+PCSAL = PTOCSAL ;
+PGAIN = PTOGAIN ;
+PCVN = PTOCVN ;
+PCDIS = PTOCDIS ;
+PGLOA = PTOGLOA ;
+
+regle 20109:
+application : iliad , batch ;
+PTOT = PIR ;
+regle 20110:
+application : iliad ;
+ILI_SYNT_IR =  positif_ou_nul(IRCUM -RECUM +TAXACUM + PCAPCUM +TAXLOYCUM+ HAUTREVCUM-PIR-PTAXA-PPCAP-PTAXLOY-PHAUTREV) * (
+                     null(IRCUM - V_ANTIR) *( IRCUM - PIR_A * positif(PIR))
+                     + (1-null(IRCUM - V_ANTIR)) *  (IRCUM - PIR))
+		  +  (1-positif_ou_nul(IRCUM -RECUM +TAXACUM + PCAPCUM +TAXLOYCUM+ HAUTREVCUM-PIR-PTAXA-PPCAP-PTAXLOY-PHAUTREV)) * (
+		    null(IRCUM -RECUM +TAXACUM + PCAPCUM +TAXLOYCUM+ HAUTREVCUM-PIR-PTAXA-PPCAP-PTAXLOY-PHAUTREV - V_ANTRE)*
+		    (IRCUM-RECUM+TAXACUM+PCAPCUM+TAXLOYCUM+HAUTREVCUM-PIR_A*positif(PIR)-PTAXA_A*positif(PTAXA)-PPCAP_A*positif(PPCAP)-PTAXLOY_A*positif(PTAXLOY)
+											       -PHAUTREV_A*positif(PHAUTREV))
+		   + (1-null(IRCUM -RECUM +TAXACUM + PCAPCUM +TAXLOYCUM+ HAUTREVCUM-PIR-PTAXA-PPCAP-PTAXLOY-PHAUTREV - V_ANTRE)) *
+		    (IRCUM-RECUM+TAXACUM+PCAPCUM+TAXLOYCUM+HAUTREVCUM-PIR-PTAXA-PPCAP-PTAXLOY-PHAUTREV)
+		                                                                                                  );
+PIRNEG =  (1-positif(IAR - IRANT)) * PIR 
+	 + positif_ou_nul(IAR - IRANT) * positif_ou_nul(PIR - (IRCUM - IRANT)) * (PIR - (IRCUM - IRANT))
+	 + 0;
+ILI_SYNT_TAXA = positif_ou_nul(IRCUM -RECUM +TAXACUM + PCAPCUM +TAXLOYCUM+ HAUTREVCUM-PIR-PTAXA-PPCAP-PTAXLOY-PHAUTREV) * (
+			                null(TAXACUM - V_TAXANT) * ( TAXACUM - PTAXA_A*positif(PTAXA))
+                                      + (1-null(TAXACUM - V_TAXANT)) * max(0,(TAXACUM - PTAXA - PIRNEG))
+                                       + 0                                                            );
+PTAXANEG =  (1-positif(IAR - IRANT+TAXASSUR-PIR)) * max(0,(PTAXA + PIRNEG - TAXACUM))
+	 + positif_ou_nul(IAR - IRANT+TAXASSUR-PIR) * positif_ou_nul(PTAXA - (IRCUM - IRANT)-TAXACUM-PIR) * (PTAXA - (IRCUM - IRANT)-TAXACUM-PIR)
+	 + 0;
+ILI_SYNT_CAP = positif_ou_nul(IRCUM -RECUM +TAXACUM + PCAPCUM +TAXLOYCUM+ HAUTREVCUM-PIR-PTAXA-PPCAP-PHAUTREV) * ( 
+		   null(PCAPCUM - V_PCAPANT) * ( PCAPCUM - PPCAP_A*positif(PPCAP))
+                + (1-null(PCAPCUM - V_PCAPANT)) * max(0, PCAPCUM - PPCAP - PTAXANEG)
+                                       + 0                                                            );
+PPCAPNEG =  (1-positif(IAR - IRANT+TAXASSUR-PIR+IPCAPTAXT-PTAXA)) * max(0,(PPCAP+PTAXANEG-PCAPCUM)) 
+	 + positif_ou_nul(IAR - IRANT+TAXASSUR-PIR+IPCAPTAXT-PTAXA) * positif_ou_nul(PPCAP - (IRCUM - IRANT)-TAXACUM-PIR-PCAPCUM-PTAXA) * (PPCAP - (IRCUM - IRANT)-TAXACUM-PIR-PCAPCUM-PTAXA)
+	 + 0;
+ILI_SYNT_LOY = positif_ou_nul(IRCUM -RECUM +TAXACUM + PCAPCUM +TAXLOYCUM+ HAUTREVCUM-PIR-PTAXA-PPCAP-PTAXLOY-PHAUTREV) * ( 
+		   null(TAXLOYCUM - V_TAXLOYANT) * ( TAXLOYCUM - PTAXLOY_A*positif(PTAXLOY))
+                + (1-null(TAXLOYCUM - V_TAXLOYANT)) * max(0, TAXLOYCUM - PTAXLOY - PPCAPNEG)
+                                       + 0                                                            );
+PTAXLOYNEG =  (1-positif(IAR - IRANT+TAXASSUR-PIR+IPCAPTAXT-PTAXA+TAXLOY-PTAXLOY)) * max(0,(PTAXLOY+PPCAPNEG-TAXLOYCUM)) 
+	 + positif_ou_nul(IAR - IRANT+TAXASSUR-PIR+IPCAPTAXT-PTAXA+TAXLOY-PTAXLOY) * positif_ou_nul(PTAXLOY - (IRCUM - IRANT)-TAXACUM-PIR-PCAPCUM-PTAXA) * (PTAXLOY - (IRCUM - IRANT)-TAXACUM-PIR-PCAPCUM-PTAXA-PPCAP-TAXLOYCUM)
+	 + 0;
+ILI_SYNT_CHR = positif_ou_nul(IRCUM -RECUM +TAXACUM + PCAPCUM +TAXLOYCUM+ HAUTREVCUM-PIR-PTAXA-PPCAP-PTAXLOY-PHAUTREV) * ( 
+		   null(HAUTREVCUM - V_CHRANT) * ( HAUTREVCUM - PCHR_A*positif(PHAUTREV))
+                + (1-null(HAUTREVCUM - V_CHRANT)) * max(0, HAUTREVCUM - PHAUTREV - PTAXLOYNEG)
+                                       + 0                                                            );
+PCHRNEG =  (1-positif(IAR - IRANT+TAXASSUR-PIR+IPCAPTAXT-PTAXA+TAXLOY-PTAXLOY)) * max(0,(PTAXLOY+PPCAPNEG-TAXLOYCUM)) 
+	 + positif_ou_nul(IAR - IRANT+TAXASSUR-PIR+IPCAPTAXT-PTAXA+TAXLOY-PTAXLOY) * positif_ou_nul(PTAXLOY - (IRCUM - IRANT)-TAXACUM-PIR-PCAPCUM-PTAXA) * (PTAXLOY - (IRCUM - IRANT)-TAXACUM-PIR-PCAPCUM-PTAXA-PPCAP-TAXLOYCUM)
+	 + 0;
+regle 20111:
+application : iliad ;
+DEC_CGA_AGA = BAFV + BAFC + BAFP
+            + BAHREV - BAHDEV
+            + BAHREC - BAHDEC
+            + BAHREP - BAHDEP
+            + BIHNOV - BIHDNV 
+            + BIHNOC - BIHDNC 
+            + BIHNOP - BIHDNP 
+            + BICHREV - BICHDEV 
+            + BICHREC - BICHDEC 
+            + BICHREP - BICHDEP 
+            + BNHREV - BNHDEV
+            + BNHREC - BNHDEC
+            + BNHREP - BNHDEP
+            + ANOCEP - DNOCEP
+            + ANOVEP - DNOCEPC
+            + ANOPEP - DNOCEPP
+	    ;
+MAJ_CGA_AGA =  arr(SUPREV * (BAFV + BAFC + BAFP))
+	    + arr(SUPREV * max(0,BAHREV - BAHDEV))
+            + arr(SUPREV * max(0,BAHREC - BAHDEC))
+            + arr(SUPREV * max(0,BAHREP - BAHDEP))
+            + arr(SUPREV * max(0,BIHNOV - BIHDNV ))
+            + arr(SUPREV * max(0,BIHNOC - BIHDNC ))
+            + arr(SUPREV * max(0,BIHNOP - BIHDNP ))
+            + arr(SUPREV * max(0,BICHREV - BICHDEV ))
+            + arr(SUPREV * max(0,BICHREC - BICHDEC ))
+            + arr(SUPREV * max(0,BICHREP - BICHDEP ))
+            + arr(SUPREV * max(0,BNHREV - BNHDEV))
+            + arr(SUPREV * max(0,BNHREC - BNHDEC))
+            + arr(SUPREV * max(0,BNHREP - BNHDEP))
+            + arr(SUPREV * max(0,ANOCEP - DNOCEP))
+            + arr(SUPREV * max(0,ANOVEP - DNOCEPC))
+            + arr(SUPREV * max(0,ANOPEP - DNOCEPP))
+	    ;
+TOT_CGA_AGA = DEC_CGA_AGA + MAJ_CGA_AGA;
diff --git a/sources2012m_3_13/chap-3.m b/sources2012m_3_13/chap-3.m
new file mode 100644
index 0000000000000000000000000000000000000000..28b5768a89b68646586a581b9029f41e025dcca6
--- /dev/null
+++ b/sources2012m_3_13/chap-3.m
@@ -0,0 +1,643 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+                                                                         #####
+  ####   #    #    ##    #####      #     #####  #####   ######         #     #
+ #    #  #    #   #  #   #    #     #       #    #    #  #                    #
+ #       ######  #    #  #    #     #       #    #    #  #####           #####
+ #       #    #  ######  #####      #       #    #####   #                    #
+ #    #  #    #  #    #  #          #       #    #   #   #              #     #
+  ####   #    #  #    #  #          #       #    #    #  ###### #######  #####
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                       CALCUL DE L'IMPOT NET
+ #
+ #
+ #
+ #
+ #
+ #
+regle 301:
+application : bareme , iliad , batch  ;
+
+IRN = min( 0, IAN + AVFISCOPTER - IRE ) + max( 0, IAN + AVFISCOPTER - IRE ) * positif( IAMD1 +NAPCRPIAMD1+ 1 - SEUIL_61) ;
+
+
+regle 3010:
+application : bareme , iliad , batch  ;
+
+IAR = min( 0, IAN + AVFISCOPTER - IRE ) + max( 0, IAN + AVFISCOPTER - IRE ) ;
+
+regle 302:
+application : iliad , batch  ;
+CREREVET =  min(arr(BPTP3 * TX16/100),arr(CIIMPPRO * TX_CREREVET/100 ))
+	  + min(arr(BPTP24 * TX24/100),arr(CIIMPPRO2 * TX24/100 ));
+
+CIIMPPROTOT = CIIMPPRO + CIIMPPRO2 ;
+regle 3025:
+application : iliad , batch  ;
+
+ICREREVET = max(0,min(IAD11 + ITP - CIRCMAVFT - IRETS - min(IAD11 , CRCFA), min(ITP,CREREVET)));
+
+regle 3026:
+application : iliad , batch , bareme ;
+
+INE = (CIRCMAVFT + IRETS + min(max(0,IAD11-CIRCMAVFT-IRETS) , CRCFA) + ICREREVET + CICULTUR + CIGPA + CIDONENTR + CICORSE + CIRECH)
+            * (1-positif(RE168+TAX1649));
+
+IAN = max( 0, (IRB - AVFISCOPTER + ((- CIRCMAVFT
+				     - IRETS
+                                     - min(max(0,IAD11-CIRCMAVFT-IRETS) , CRCFA) 
+                                     - ICREREVET
+                                     - CICULTUR
+                                     - CIGPA
+                                     - CIDONENTR
+                                     - CICORSE
+				     - CIRECH )
+                                   * (1 - positif(RE168 + TAX1649)))
+                  + min(TAXASSUR+0 , max(0,INE-IRB+AVFISCOPTER)) 
+                  + min(IPCAPTAXTOT+0 , max(0,INE-IRB+AVFISCOPTER - min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))))
+                  + min(TAXLOY+0 ,max(0,INE-IRB+AVFISCOPTER - min(IPCAPTAXTOT+0 , max(0,INE-IRB+AVFISCOPTER - min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))))
+										  - min(TAXASSUR+0 , max(0,INE-IRB+AVFISCOPTER))))
+	      )
+         )
+ ;
+
+regle 3021:
+application : iliad , batch  ;
+IRE = si ( positif(RE168+TAX1649+0) = 0) 
+      alors
+       (si    ( V_REGCO = 2 )
+        alors ( EPAV + CRICH 
+             + CICA + CIGE  + IPELUS + CREFAM + CREAPP + CISYND
+	     + CIDEVDUR + CIPRETUD + CILOYIMP + CIGARD
+	     + CREAGRIBIO + CREPROSP + CREFORMCHENT + CREARTS + CICONGAGRI 
+	     + CRERESTAU + CIHABPRIN + CIADCRE + CIDEBITTABAC + CREINTERESSE
+	     + AUTOVERSLIB + CITEC + CIDEPENV + CICORSENOW + CRESINTER
+	      )
+
+        sinon ( EPAV + CRICH
+             + CICA +  CIGE  + IPELUS + CREFAM + CREAPP + PPETOT - PPERSA+ CISYND
+	     + DIREPARGNE + CIDEVDUR + CIPRETUD + CILOYIMP + CIGARD
+	     + CREAGRIBIO + CREPROSP + CREFORMCHENT + CREARTS + CICONGAGRI 
+	     + CRERESTAU + CIHABPRIN + CIADCRE + CIDEBITTABAC + CREINTERESSE 
+	     + AUTOVERSLIB + CITEC + CIDEPENV+ CICORSENOW + CRESINTER
+	      )
+	     
+        finsi)
+       finsi;
+IRE2 = IRE + (BCIGA * (1 - positif(RE168+TAX1649))); 
+regle 3022:
+application : iliad , batch  ;
+
+CRICH =  IPRECH * (1 - positif(RE168+TAX1649));
+regle 30221:
+application : iliad , batch  ;
+CIRCMAVFT = max(0,min(IRB + TAXASSUR + IPCAPTAXTOT +TAXLOY - AVFISCOPTER , RCMAVFT * (1 - null(2 - V_REGCO))));
+regle 30222:
+application : iliad , batch  ;
+CIDIREPARGNE = DIREPARGNE * (1 - positif(RE168 + TAX1649)) * (1 - null(2 - V_REGCO));
+regle 30226:
+application : batch, iliad;
+CICA =  arr(BAILOC98 * TX_BAIL / 100) * (1 - positif(RE168 + TAX1649)) ;
+regle 3023:
+application : iliad , batch  ;
+CRCFA = (arr(IPQ1 * REGCI / (RB01 + TONEQUO + CHTOT + RDCSG + ABMAR + ABVIE)) * (1 - positif(RE168+TAX1649)));
+regle 30231:
+application : iliad , batch  ;
+IRETS = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT , (IPSOUR * (1 - positif(RE168+TAX1649))))) ;
+regle 3023101:
+application : iliad , batch  ;
+CRDIE = max(0,min(IRB-REI-AVFISCOPTER-CIRCMAVFT-IRETS,(min(IAD11-CIRCMAVFT-IRETS,CRCFA) * (1 - positif(RE168+TAX1649)))));
+CRDIE2 = -CRDIE+0;
+regle 3023102:
+application : iliad , batch  ;
+BCIAQCUL = arr(CIAQCUL * TX_CIAQCUL / 100);
+CICULTUR = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-REI-IRETS-CRDIE-ICREREVET,min(IAD11+ITP+TAXASSUR+TAXLOY +IPCAPTAXTOT+CHRAPRES,BCIAQCUL)));
+regle 3023103:
+application : iliad , batch  ;
+BCIGA = CRIGA;
+CIGPA = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CICULTUR,BCIGA));
+regle 3023104:
+application : iliad , batch  ;
+BCIDONENTR = RDMECENAT * (1-V_CNR) ;
+CIDONENTR = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-REI-IRETS-CRDIE-ICREREVET-CICULTUR-CIGPA,BCIDONENTR));
+regle 3023105:
+application : iliad , batch  ;
+CICORSE = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IPPRICORSE-IRETS-CRDIE-ICREREVET-CICULTUR-CIGPA-CIDONENTR,CIINVCORSE+IPREPCORSE));
+CICORSEAVIS = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY-AVFISCOPTER-CIRCMAVFT-IPPRICORSE-IRETS-CRDIE-ICREREVET-CICULTUR-CIGPA-CIDONENTR,CIINVCORSE+IPREPCORSE))+CICORSENOW;
+TOTCORSE = CIINVCORSE + IPREPCORSE + CICORSENOW;
+REPCORSE = abs(CIINVCORSE+IPREPCORSE-CICORSE) ;
+regle 3023106:
+application : iliad , batch  ;
+CIRECH = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CICULTUR-CIGPA-CIDONENTR-CICORSE,IPCHER));
+REPRECH = abs(IPCHER - CIRECH) ;
+IRECR = abs(min(0 ,IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CICULTUR-CIGPA-CIDONENTR-CICORSE));
+regle 3023107:
+application : iliad , batch  ;
+CICONGAGRI = CRECONGAGRI * (1-V_CNR) ;
+regle 30231071:
+application : iliad , batch  ;
+BCICAP = min(IPCAPTAXTOT,arr((PRELIBXT - arr(PRELIBXT * TX10/100))*T_PCAPTAX/100));
+BCICAPAVIS = max(0,(PRELIBXT - arr(PRELIBXT * TX10/100)));
+CICAP = max(0,min(IRB + TAXASSUR + IPCAPTAXTOT +TAXLOY +CHRAPRES - AVFISCOPTER ,min(IPCAPTAXTOT,BCICAP)));
+regle 30231072:
+application : iliad , batch  ;
+BCICHR = arr(CHRAPRES * (REGCI+0) / (REVKIREHR - TEFFHRC));
+CICHR = max(0,min(IRB + TAXASSUR + IPCAPTAXTOT +TAXLOY +CHRAPRES - AVFISCOPTER-CICAP ,min(CHRAPRES,BCICHR)));
+regle 407015:
+application : iliad , batch  ;
+BCOS = somme(i=V,C: max(0 , min(COSBi+0,arr(TX_BASECOTSYN/100*
+                                   (TSBi*IND_10i
+                                   - BPCOSAi + EXPRi ))))) +
+                                   min(COSBP+0,arr(TX_BASECOTSYN/100*
+                                   (somme(i=1..4:TSBi *IND_10i + EXPRi))))  ;
+CISYND = arr (TX_REDCOTSYN/100 * BCOS) * (1 - V_CNR);
+DSYND = RDSYVO + RDSYCJ + RDSYPP ;
+ASYND = BCOS * (1-V_CNR)  ;
+regle 3023108:
+application : iliad , batch  ;
+
+IAVF = IRE - EPAV + CICORSE + CICULTUR + CIGPA + CIRCMAVFT ;
+
+
+DIAVF2 = (BCIGA + IPRECH + IPCHER + IPELUS + RCMAVFT + DIREPARGNE) * (1 - positif(RE168+TAX1649)) + CIRCMAVFT * positif(RE168+TAX1649);
+
+
+IAVF2 = (CIDIREPARGNE + IPRECH + CIRECH + IPELUS + CIRCMAVFT + CIGPA + 0) * (1-positif(RE168+TAX1649))
++ CIRCMAVFT * positif(RE168+TAX1649);
+
+IAVFGP = IAVF2 + CREFAM + CREAPP;
+regle 3023109:
+application : iliad , batch  ;
+I2DH = EPAV;
+regle 30231011:
+application : iliad , batch  ;
+BTANTGECUM = (V_BTGECUM * (1 - present(DEPMOBIL)) + DEPMOBIL);
+P2GE = max( (   PLAF_GE2 * (1 + BOOL_0AM)
+             + PLAF_GE2_PACQAR * (V_0CH + V_0DP)
+             + PLAF_GE2_PAC * (V_0CR + V_0CF + V_0DJ + V_0DN)  
+              ) - BTANTGECUM
+             , 0
+             ) ;
+BGEDECL = RDTECH + RDEQPAHA + RDGEQ ;
+BGEPAHA = min(RDEQPAHA , P2GE) * (1 - V_CNR);
+BGEAUTRE = min(RDGEQ,max(P2GE - BGEPAHA,0)) * (1 - V_CNR) ;
+P2GEWL = max(0,P2GE + PLAF_GE2 * (1 + BOOL_0AM) -  BGEPAHA - BGEAUTRE);
+
+BGTECH = min(RDTECH , P2GEWL) * (1 - V_CNR) ;
+TOTBGE = BGTECH + BGEPAHA + BGEAUTRE ;
+RGEPAHA =  (BGEPAHA * TX25 / 100 ) * (1 - V_CNR) ;
+RGEAUTRE = (BGEAUTRE * TX15 / 100 ) * (1 - V_CNR) ;
+RGTECH = (BGTECH * TX30 / 100 ) * (1 - V_CNR) ;
+CIGE = arr (RGTECH + RGEPAHA + RGEAUTRE) * (1 - positif(RE168 + TAX1649)) * (1 - V_CNR) ;
+GECUM = min(P2GE,BGEPAHA + BGEAUTRE + BGTECH) ;
+GECUMWL = max(0,BGTECH + BGEPAHA + BGEAUTRE - GECUM) ;
+DAIDC = CREAIDE ;
+AAIDC = BADCRE * (1-V_CNR) ;
+CIADCRE = arr (BADCRE * TX_AIDOMI /100) * (1 - positif(RE168 + TAX1649)) * (1 - V_CNR) ;
+regle 30231012:
+application : iliad , batch  ;
+DLOYIMP = LOYIMP ;
+ALOYIMP = DLOYIMP;
+CILOYIMP = arr(ALOYIMP*TX_LOYIMP/100) * (1 - positif(RE168 + TAX1649)) ;
+regle 30231014:
+application : iliad , batch  ;
+RDEDUBAILSJWK = positif(MATISOSJ)*positif(CRECHOBOI)*(1-positif(CRECHOCON2))*positif(positif(CRECHOBAS)*positif(TRAVITWT)
+							    +positif(CRECHOBAS)
+							    +positif(PARVITWS)*positif(TRAVITWT)
+							    +positif(PARVITWS));
+RDEDUBAILSKWK = positif(VOLISO)*positif(CRECHOBOI)*positif(VOLISOWV)*(1-positif(CRECHOCON2));
+RDEDUBAILSLWK = positif(PORENT)*positif(CRECHOBOI)*positif(PORTEWX)*(1-positif(CRECHOCON2));
+
+DDEVDUR = CRENRJ + CINRJ + CINRJBAIL + CIBOIBAIL + CIDEP15 + MATISOSI + MATISOSJ + VOLISO + PORENT + ELESOL
+	         + CHAUBOISN + CHAUBOISO + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + EAUPLUV 
+		 + DIAGPERF + RESCHAL + DEPENVTY + DEPENVTX + DEPENVTW + DEPENVTV + DEPENVTU + DEPENVTT ;
+
+PDEVDUR = max( (   PLAF_DEVDUR * (1 + BOOL_0AM)
+                  + PLAF_GE2_PACQAR * (V_0CH+V_0DP)
+	          + PLAF_GE2_PAC * (V_0CR+V_0CF+V_0DJ+V_0DN) 
+		 ) - (V_BTDEVDUR*(1-present(DEPCHOBAS))+DEPCHOBAS) , 0 );
+ADEVDUR = max (0 , min (PDEVDUR , CRENRJ + CINRJ + CINRJBAIL + CIBOIBAIL + CIDEP15 + MATISOSI + MATISOSJ * (1 - positif(RDEDUBAILSJWK))
+				   + VOLISO * (1 - positif(RDEDUBAILSKWK)) + PORENT * (1 - positif(RDEDUBAILSLWK)) + ELESOL
+				   + CHAUBOISN + CHAUBOISO + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + EAUPLUV + DIAGPERF
+				   + RESCHAL + DEPENVTY + DEPENVTX + DEPENVTW + DEPENVTV + DEPENVTU + DEPENVTT)) 
+	   * (1 - V_CNR) * ((V_REGCO+0) dans (1,3,5,6)) ;
+
+RDEVDURTY = min (ADEVDUR , DEPENVTY) ;
+RDEVDURTX = min (max(0 , ADEVDUR-RDEVDURTY) , DEPENVTX) ;
+RDEVDURTW = min (max(0 , ADEVDUR-RDEVDURTY-RDEVDURTX) , DEPENVTW) ;
+RDEVDURTV = min (max(0 , ADEVDUR-RDEVDURTY-RDEVDURTX-RDEVDURTW) , DEPENVTV) ;
+RDEVDURTU = min (max(0 , ADEVDUR-RDEVDURTY-RDEVDURTX-RDEVDURTW-RDEVDURTV) , DEPENVTU) ;
+RDEVDURTT = min (max(0 , ADEVDUR-RDEVDURTY-RDEVDURTX-RDEVDURTW-RDEVDURTV-RDEVDURTU) , DEPENVTT) ;
+RDEDUBAILSSWH = present(CHAUFSOL)*min(ADEVDUR,CHAUFSOL)* positif(CRECHOCON2) ;
+
+RDEDUBAILSTWH = present(ENERGIEST)*min(ENERGIEST,max(0,ADEVDUR - RDEDUBAILSSWH))* positif(CRECHOCON2) ;
+
+RDEDUBAILSNWH = present(CHAUBOISN)*min(CHAUBOISN,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH))* positif(CRECHOCON2) ;
+
+RDEDUBAILSQWH = present(POMPESQ)*min(POMPESQ,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH))* positif(CRECHOCON2) ;
+
+RDEDUBAILSRWH = present(POMPESR)*min(POMPESR,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH))* positif(CRECHOCON2) ;
+
+RDEDUBAILSS   = present(CHAUFSOL)*min(CHAUFSOL,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH)) * (1-positif(CRECHOCON2))
+				     * (1-positif(RDEDUBAILSSWH));
+
+RDEDUBAILST   = present(ENERGIEST)*min(ENERGIEST,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS))* (1-positif(CRECHOCON2))
+				     * (1-positif(RDEDUBAILSTWH));
+
+RDEDUBAILSV   = present(DIAGPERF)*min(DIAGPERF,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST)) ;
+
+RDEDUBAILSEWH = present(CINRJBAIL)*min(CINRJBAIL,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV))* positif(CRECHOCON2) ;
+
+RDEDUBAILSN   = present(CHAUBOISN)*min(CHAUBOISN,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH))* (1-positif(CRECHOCON2)) 
+				     * (1-positif(RDEDUBAILSNWH));
+
+RDEDUBAILSQ   = present(POMPESQ)*min(POMPESQ,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN))* (1-positif(CRECHOCON2)) 
+				     * (1-positif(RDEDUBAILSQWH));
+
+RDEDUBAILSR   = present(POMPESR)*min(POMPESR,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ))* (1-positif(CRECHOCON2)) 
+				     * (1-positif(RDEDUBAILSRWH));
+
+RDEDUBAILSGWH = present(CINRJ)*min(CINRJ,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR)) 
+					     *positif(CRECHOCON2)*
+					     positif(positif(TRAMURWC)*positif(ISOMURWA)
+					            +positif(ISOMURWA)
+					            +positif(TRAMURWC)*positif(ISOMURWB));
+
+RDEDUBAILSHWH = present(CIDEP15)*min(CIDEP15,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH)) 
+					     *positif(CRECHOCON2)
+					     *positif(positif(TRATOIVG)*positif(ISOTOIVE)
+						    +positif(ISOTOIVE)
+						    +positif(TRATOIVG)*positif(ISOTOIVF));
+
+RDEDUBAILSOWH = present(CHAUBOISO)*min(CHAUBOISO,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH)) * positif(CRECHOCON2);
+
+RDEDUBAILSPWH = present(POMPESP)*min(POMPESP,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH)) * positif(CRECHOCON2);
+
+RDEDUBAILSDWH = present(CIBOIBAIL)*min(CIBOIBAIL,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH)) * positif(CRECHOCON2);
+
+RDEDUBAILSJWH = present(MATISOSJ)*min(MATISOSJ,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH))
+					     *
+					     positif(positif(CRECHOCON2)*positif(CRECHOBOI)*positif(CRENRJRNOUV)*positif(TRAVITWT)
+						    +positif(CRECHOCON2)*positif(CRENRJRNOUV)*positif(TRAVITWT)
+						    +positif(CRECHOCON2)*positif(CRECHOBOI)*positif(CRENRJRNOUV)
+						    +positif(CRECHOCON2)*positif(CRENRJRNOUV)
+					            +positif(CRECHOCON2)*positif(CRECHOBOI)*positif(CRECHOBAS)*positif(TRAVITWT)
+					            +positif(CRECHOCON2)*positif(CRECHOBAS)*positif(TRAVITWT)
+					            +positif(CRECHOCON2)*positif(CRECHOBOI)*positif(CRECHOBAS)
+					            +positif(CRECHOCON2)*positif(CRECHOBAS)
+					            +positif(CRECHOCON2)*positif(CRECHOBOI)*positif(PARVITWS)*positif(TRAVITWT)
+					            +positif(CRECHOCON2)*positif(PARVITWS)*positif(TRAVITWT))
+				     * (1-positif(RDEDUBAILSJWK));
+
+RDEDUBAILSE   = present(CINRJBAIL)*min(CINRJBAIL,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH)) * (1-positif(CRECHOCON2))
+				     * (1-positif(RDEDUBAILSEWH));
+
+RDEDUBAILSF   = present(CRENRJ)*min(CRENRJ,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE)) ;
+
+RDEDUBAILSG   = present(CINRJ)*min(CINRJ,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF))
+					     *positif(positif(TRAMURWC)*positif(ISOMURWA)
+									 +positif(ISOMURWA)
+									 +positif(CRECHOCON2)*positif(ISOMURWB)
+									 +positif(TRAMURWC)*positif(ISOMURWB)
+									 +positif(ISOMURWB))
+				     * (1-positif(RDEDUBAILSGWH));
+
+RDEDUBAILSH   = present(CIDEP15)*min(CIDEP15,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG)) 
+					     *positif(positif(TRATOIVG)*positif(ISOTOIVE)
+								      +positif(ISOTOIVE)
+								      +positif(CRECHOCON2)*positif(ISOTOIVF)
+								      +positif(TRATOIVG)*positif(ISOTOIVF)
+								      +positif(ISOTOIVF))
+				     * (1-positif(RDEDUBAILSHWH));
+
+RDEDUBAILSI   = present(MATISOSI)*min(MATISOSI,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+         				     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH)) ;
+
+RDEDUBAILSO   = present(CHAUBOISO)*min(CHAUBOISO,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI)) * (1-positif(CRECHOCON2))
+				     * (1-positif(RDEDUBAILSOWH));
+
+RDEDUBAILSP   = present(POMPESP)*min(POMPESP,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO)) * (1-positif(CRECHOCON2))
+				     * (1-positif(RDEDUBAILSPWH));
+
+RDEDUBAILSU   = present(EAUPLUV)*min(EAUPLUV,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO-RDEDUBAILSP)) ;
+
+RDEDUBAILSW   = present(RESCHAL)*min(RESCHAL,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO-RDEDUBAILSP-RDEDUBAILSU)) ;
+
+RDEDUBAILSM   = present(ELESOL)*min(ELESOL,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO-RDEDUBAILSP-RDEDUBAILSU
+					     - RDEDUBAILSW)) ;
+
+RDEDUBAILSD   = present(CIBOIBAIL)*min(CIBOIBAIL,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO-RDEDUBAILSP-RDEDUBAILSU
+					     - RDEDUBAILSW-RDEDUBAILSM)) * (1-positif(CRECHOCON2))
+				     * (1-positif(RDEDUBAILSDWH));
+
+RDEDUBAILSJ   = present(MATISOSJ)*min(MATISOSJ,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO-RDEDUBAILSP-RDEDUBAILSU
+					     - RDEDUBAILSW-RDEDUBAILSM-RDEDUBAILSD))
+					     *positif(
+					      (1-positif(CRECHOCON2))*positif(CRECHOBOI)*positif(CRENRJRNOUV)*positif(TRAVITWT)
+					     +(1-positif(CRECHOCON2))*positif(CRENRJRNOUV)*positif(TRAVITWT)
+					     +(1-positif(CRECHOCON2))*positif(CRECHOBOI)*positif(CRENRJRNOUV)
+					     +(1-positif(CRECHOCON2))*positif(CRENRJRNOUV)
+					     +(1-positif(CRECHOCON2))*positif(CRECHOBAS)*positif(TRAVITWT)
+					     +(1-positif(CRECHOCON2))*positif(CRECHOBAS)
+					     +(1-positif(CRECHOCON2))*positif(PARVITWS)*positif(TRAVITWT)
+					     +positif(CRECHOCON2)*positif(CRECHOBOI)*positif(PARVITWS)
+					     +positif(CRECHOCON2)*positif(PARVITWS)
+					     +(1-positif(CRECHOCON2))*positif(PARVITWS))
+				     * (1-positif(RDEDUBAILSJWH)) * (1-positif(RDEDUBAILSJWK));
+RDEDUBAILSK   = present(VOLISO)*min(VOLISO,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO-RDEDUBAILSP-RDEDUBAILSU
+					     - RDEDUBAILSW-RDEDUBAILSM-RDEDUBAILSD-RDEDUBAILSJ))
+					     *positif(positif(CRECHOCON2)*positif(CRECHOBOI)*positif(VOLISOWU)
+								     +positif(CRECHOCON2)*positif(VOLISOWU)
+								     +positif(CRECHOBOI)*positif(VOLISOWU)
+								     +positif(VOLISOWU)
+								     +positif(CRECHOCON2)*positif(CRECHOBOI)*positif(VOLISOWV)
+								     +positif(CRECHOCON2)*positif(VOLISOWV)
+								     +positif(VOLISOWV))
+				     * (1-positif(RDEDUBAILSKWK));
+
+RDEDUBAILSL   = present(PORENT)*min(PORENT,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO-RDEDUBAILSP-RDEDUBAILSU
+					     - RDEDUBAILSW-RDEDUBAILSM-RDEDUBAILSD-RDEDUBAILSJ-RDEDUBAILSK))
+					     *positif(positif(CRECHOCON2)*positif(CRECHOBOI)*positif(PORTEWW)
+								     +positif(CRECHOCON2)*positif(PORTEWW)
+								     +positif(CRECHOBOI)*positif(PORTEWW)
+								     +positif(PORTEWW)
+					                             +positif(CRECHOCON2)*positif(CRECHOBOI)*positif(PORTEWX)
+								     +positif(CRECHOCON2)*positif(PORTEWX)
+								     +positif(PORTEWX))
+				     * (1-positif(RDEDUBAILSLWK));
+CIDEVDUR = arr(RDEDUBAILSSWH * TX40/100
+                 +RDEDUBAILSTWH * TX40/100
+                 +RDEDUBAILSNWH * TX34/100
+                 +RDEDUBAILSQWH * TX34/100
+                 +RDEDUBAILSRWH * TX34/100
+                 +RDEDUBAILSS   * TX32/100
+                 +RDEDUBAILST   * TX32/100
+                 +RDEDUBAILSV   * TX32/100
+                 +RDEDUBAILSEWH * TX26/100
+                 +RDEDUBAILSN   * TX26/100
+                 +RDEDUBAILSQ   * TX26/100
+                 +RDEDUBAILSR   * TX26/100
+                 +RDEDUBAILSGWH * TX23/100
+                 +RDEDUBAILSHWH * TX23/100
+                 +RDEDUBAILSOWH * TX23/100
+                 +RDEDUBAILSPWH * TX23/100
+                 +RDEDUBAILSDWH * TX18/100
+                 +RDEDUBAILSJWH * TX18/100
+                 +RDEDUBAILSE   * TX17/100
+                 +RDEDUBAILSF   * TX15/100
+                 +RDEDUBAILSG   * TX15/100
+                 +RDEDUBAILSH   * TX15/100
+                 +RDEDUBAILSI   * TX15/100
+                 +RDEDUBAILSO   * TX15/100
+                 +RDEDUBAILSP   * TX15/100
+                 +RDEDUBAILSU   * TX15/100
+                 +RDEDUBAILSW   * TX15/100
+                 +RDEDUBAILSM   * TX11/100
+                 +RDEDUBAILSD   * TX10/100
+                 +RDEDUBAILSJ   * TX10/100
+                 +RDEDUBAILSK   * TX10/100
+                 +RDEDUBAILSL   * TX10/100
+                 +RDEVDURTY     * TX32/100
+		 +RDEVDURTX     * TX26/100 
+		 +RDEVDURTW     * TX17/100  
+		 +RDEVDURTV     * TX15/100
+		 +RDEVDURTU     * TX11/100
+		 +RDEVDURTT     * TX10/100 
+		)  * (1 - positif(RE168 + TAX1649)) * (1 - V_CNR) ;
+DEVDURCUM = ADEVDUR + (V_BTDEVDUR*(1-present(DEPCHOBAS))+DEPCHOBAS);
+regle 302310141:
+application : iliad , batch  ;
+CIDEPENV = DEPENV * (1 - V_CNR);
+regle 30231015:
+application : iliad , batch  ;
+DTEC = RISKTEC;
+ATEC = positif(DTEC) * DTEC;
+CITEC = arr (ATEC * TX30/100);
+regle 30231016:
+application : iliad , batch  ;
+DPRETUD = PRETUD + PRETUDANT ;
+APRETUD = max(min(PRETUD,LIM_PRETUD) + min(PRETUDANT,LIM_PRETUD*CASEPRETUD),0) * (1-V_CNR) ;
+
+CIPRETUD = arr(APRETUD*TX_PRETUD/100) * (1 - positif(RE168 + TAX1649)) * (1-V_CNR) ;
+regle 30231017:
+application : iliad , batch  ;
+
+EM7 = somme (i=0..7: min (1 , max(0 , V_0Fi + AG_LIMFG - V_ANREV)))
+      + (1 - positif(somme(i=0..7:V_0Fi) + 0)) * V_0CF ;
+
+EM7QAR = somme (i=0..5: min (1 , max(0 , V_0Hi + AG_LIMFG - V_ANREV)))
+         + somme (j=0..3: min (1 , max(0 , V_0Pj + AG_LIMFG - V_ANREV)))
+         + (1 - positif(somme(i=0..5: V_0Hi) + somme(j=0..3: V_0Pj) + 0)) * (V_0CH + V_0DP) ;
+
+BRFG = min(RDGARD1,PLAF_REDGARD) + min(RDGARD2,PLAF_REDGARD)
+       + min(RDGARD3,PLAF_REDGARD) + min(RDGARD4,PLAF_REDGARD)
+       + min(RDGARD1QAR,PLAF_REDGARDQAR) + min(RDGARD2QAR,PLAF_REDGARDQAR)
+       + min(RDGARD3QAR,PLAF_REDGARDQAR) + min(RDGARD4QAR,PLAF_REDGARDQAR)
+       ;
+RFG = arr ( (BRFG) * TX_REDGARD /100 ) * (1 -V_CNR);
+DGARD = somme(i=1..4:RDGARDi)+somme(i=1..4:RDGARDiQAR);
+AGARD = (BRFG) * (1-V_CNR) ;
+CIGARD = RFG * (1 - positif(RE168 + TAX1649)) ;
+regle 30231018:
+application : iliad , batch  ;
+
+PREHAB = PREHABT + PREHABTN + PREHABTN1 + PREHABT1 + PREHABT2 + PREHABTN2 + PREHABTVT ;
+
+BCIHP = max(( PLAFHABPRIN * (1 + BOOL_0AM) * (1+positif(V_0AP+V_0AF+V_0CG+V_0CI+V_0CR))
+	         + (PLAFHABPRINENF/2) * (V_0CH + V_0DP)
+         	 + PLAFHABPRINENF * (V_0CR + V_0CF + V_0DJ + V_0DN)
+	          ) 
+	     ,0);
+
+BCIHABPRIN1 = min(BCIHP , PREHABT) * (1 - V_CNR) ;
+BCIHABPRIN2 = min(max(0,BCIHP-BCIHABPRIN1),PREHABT1) * (1 - V_CNR);
+BCIHABPRIN3 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2),PREHABTN) * (1 - V_CNR);
+BCIHABPRIN4 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2-BCIHABPRIN3),PREHABTN1) * (1 - V_CNR);
+BCIHABPRIN5 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2-BCIHABPRIN3-BCIHABPRIN4),PREHABT2) * (1 - V_CNR);
+BCIHABPRIN6 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2-BCIHABPRIN3-BCIHABPRIN4-BCIHABPRIN5),PREHABTN2) * (1 - V_CNR);
+BCIHABPRIN7 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2-BCIHABPRIN3-BCIHABPRIN4-BCIHABPRIN5-BCIHABPRIN6),PREHABTVT) * (1 - V_CNR);
+
+BCIHABPRIN = BCIHABPRIN1 + BCIHABPRIN2 + BCIHABPRIN3 + BCIHABPRIN4 + BCIHABPRIN5 + BCIHABPRIN6 + BCIHABPRIN7 ;
+
+CIHABPRIN = arr((BCIHABPRIN1 * TX40/100)
+		+ (BCIHABPRIN2 * TX40/100)
+		+ (BCIHABPRIN3 * TX30/100)
+                + (BCIHABPRIN4 * TX25/100)
+                + (BCIHABPRIN5 * TX20/100)
+		+ (BCIHABPRIN6 * TX15/100)
+		+ (BCIHABPRIN7 * TX10/100))
+		* (1 - positif(RE168 + TAX1649)) * (1 - V_CNR);
+regle 302311:
+application : iliad , batch ;
+CICSG = min( CSGC , arr( IPPNCS * T_CSG/100 ));
+CIRDS = min( RDSC , arr( (IPPNCS+REVCSXA+REVCSXB+REVCSXC+REVCSXD+REVCSXE) * T_RDS/100 ));
+CIPRS = min( PRSC , arr( IPPNCS * T_PREL_SOC/100 ));
+CIRSE1 = min( RSE1 , arr( REVCSXA * TX075/100 ));
+CIRSE2 = min( RSE2 , arr( REVCSXC * TX066/100 ));
+CIRSE3 = min( RSE3 , arr( REVCSXD * TX062/100 ));
+CIRSE4 = min( RSE4 , arr( REVCSXE * TX038/100 ));
+CIRSE5 = min( RSE5 , arr( REVCSXB * TX075/100 ));
+CIRSETOT = CIRSE1 + CIRSE2 + CIRSE3 + CIRSE4 + CIRSE5;
+
+
+regle 30400:
+application : iliad , batch  ;
+PPE_DATE_DEB = positif(V_0AV+0) * positif(V_0AZ+0) * (V_0AZ+0)
+              + positif(DATRETETR+0) * (DATRETETR+0) * null(V_0AZ+0) ;
+
+PPE_DATE_FIN = positif(BOOL_0AM) * positif(V_0AZ+0) * (V_0AZ+0)
+              + positif(DATDEPETR+0) * (DATDEPETR+0) * null(V_0AZ+0) ;
+regle 30500:
+application : iliad , batch  ;
+PPE_DEBJJMMMM =  PPE_DATE_DEB + (01010000+V_ANREV) * null(PPE_DATE_DEB+0);
+PPE_DEBJJMM = arr( (PPE_DEBJJMMMM - V_ANREV)/10000);
+PPE_DEBJJ =  inf(PPE_DEBJJMM/100);
+PPE_DEBMM =  PPE_DEBJJMM -  (PPE_DEBJJ*100);
+PPE_DEBRANG= PPE_DEBJJ 
+             + (PPE_DEBMM - 1 ) * 30;
+regle 30501:
+application : iliad , batch  ;
+PPE_FINJJMMMM =  PPE_DATE_FIN + (30120000+V_ANREV) * null(PPE_DATE_FIN+0);
+PPE_FINJJMM = arr( (PPE_FINJJMMMM - V_ANREV)/10000);
+PPE_FINJJ =  inf(PPE_FINJJMM/100);
+PPE_FINMM =  PPE_FINJJMM -  (PPE_FINJJ*100);
+PPE_FINRANG= PPE_FINJJ 
+             + (PPE_FINMM - 1 ) * 30
+             - 1 * positif (PPE_DATE_FIN);
+regle 30503:
+application : iliad , batch  ;
+PPE_DEBUT = PPE_DEBRANG ;
+PPE_FIN   = PPE_FINRANG ;
+PPENBJ = max(1, arr(min(PPENBJAN , PPE_FIN - PPE_DEBUT + 1))) ;
+regle 30508:
+application : iliad , batch  ;
+PPETX1 = PPE_TX1 ;
+PPETX2 = PPE_TX2 ;
+PPETX3 = PPE_TX3 ;
+regle 30510:
+application : iliad , batch  ;
+PPE_BOOL_ACT_COND = positif(
+
+
+   positif ( TSHALLOV ) 
+ + positif ( TSHALLOC ) 
+ + positif ( TSHALLO1 ) 
+ + positif ( TSHALLO2 ) 
+ + positif ( TSHALLO3 ) 
+ + positif ( TSHALLO4 ) 
+ + positif ( GLD1V ) 
+ + positif ( GLD2V ) 
+ + positif ( GLD3V ) 
+ + positif ( GLD1C ) 
+ + positif ( GLD2C ) 
+ + positif ( GLD3C ) 
+ + positif ( BPCOSAV ) 
+ + positif ( BPCOSAC ) 
+ + positif ( TSASSUV ) 
+ + positif ( TSASSUC ) 
+ + positif( CARTSV ) * positif( CARTSNBAV )
+ + positif( CARTSC ) * positif( CARTSNBAC )
+ + positif( CARTSP1 ) * positif( CARTSNBAP1 )
+ + positif( CARTSP2 ) * positif( CARTSNBAP2 )
+ + positif( CARTSP3 ) * positif( CARTSNBAP3 )
+ + positif( CARTSP4 ) * positif( CARTSNBAP4 )
+ + positif( TSELUPPEV )
+ + positif( TSELUPPEC )
+ + positif( HEURESUPV )
+ + positif( HEURESUPC )
+ + positif( HEURESUPP1 )
+ + positif( HEURESUPP2 )
+ + positif( HEURESUPP3 )
+ + positif( HEURESUPP4 )
+ + positif ( FEXV ) 
+ + positif ( BAFV ) 
+ + positif ( BAFPVV ) 
+ + positif ( BAEXV ) 
+ + positif ( BACREV ) + positif ( 4BACREV )
+ + positif ( BACDEV ) 
+ + positif ( BAHEXV ) 
+ + positif ( BAHREV ) + positif ( 4BAHREV )
+ + positif ( BAHDEV ) 
+ + positif ( MIBEXV ) 
+ + positif ( MIBVENV ) 
+ + positif ( MIBPRESV ) 
+ + positif ( MIBPVV ) 
+ + 
\ No newline at end of file
diff --git a/sources2012m_3_13/chap-4.m b/sources2012m_3_13/chap-4.m
new file mode 100644
index 0000000000000000000000000000000000000000..265392845a24b1e8ae711bd10c4fbac3440a5342
--- /dev/null
+++ b/sources2012m_3_13/chap-4.m
@@ -0,0 +1,887 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+ #
+                                                                
+  ####   #    #    ##    #####      #     #####  #####   ######      #    
+ #    #  #    #   #  #   #    #     #       #    #    #  #           #    #
+ #       ######  #    #  #    #     #       #    #    #  #####       #    #
+ #       #    #  ######  #####      #       #    #####   #           ######
+ #    #  #    #  #    #  #          #       #    #   #   #                #
+  ####   #    #  #    #  #          #       #    #    #  ######           #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                      CALCUL DE L'IMPOT BRUT
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+regle 401:
+application : bareme, iliad , batch  ;
+IRB = IAMD2; 
+IRB2 = IAMD2 + TAXASSUR + IPCAPTAXTOT + TAXLOY + CHRAPRES;
+regle 40101:
+application : iliad , batch  ;
+KIR =   IAMD3 ;
+regle 4011:
+application : bareme , iliad , batch  ;
+IAMD1 = IBM13 ;
+IAMD2 = IBM23 ;
+IAMD2TH = positif_ou_nul(IBM23 - SEUIL_61)*IBM23;
+regle 40110:
+application : bareme , iliad , batch  ;
+IAMD3 = IBM33 - min(ACP3, IMPIM3);
+regle 402112:
+application : iliad , batch  ;
+ANG3 = IAD32 - IAD31;
+regle 40220:
+application : iliad , batch  ;
+ACP3 = max (0 ,
+ somme (a=1..4: min(arr(CHENFa * TX_DPAEAV/100) , SEUIL_AVMAXETU)) - ANG3)
+        * (1 - positif(V_CR2 + IPVLOC)) * positif(ANG3) * positif(IMPIM3);
+regle 403:
+application : bareme ,iliad , batch  ;
+
+IBM13 = IAD11 + ITP + REI + AUTOVERSSUP + TAXASSUR + IPCAPTAXTOT  + TAXLOY + CHRAPRES + AVFISCOPTER ;
+
+IBM23 = IAD11 + ITP + REI + AUTOVERSSUP + AVFISCOPTER ;
+
+regle 404:
+application : bareme , iliad , batch  ;
+IBM33 = IAD31 + ITP + REI;
+regle 4041:
+application : iliad , batch  ;
+TX_RED0 =  inf ( (100 - ((TX_RABGUY * V_EAG) + (TX_RABDOM * V_EAD))
+	     ) * TX16  / 100 * positif(V_EAD + V_EAG)
+	   );
+TX_RED1 =  inf ( (100 - ((TX_RABGUY * V_EAG) + (TX_RABDOM * V_EAD))
+	     ) * TX19 / 100 * positif(V_EAD + V_EAG)
+	   );
+DOMAVTO = arr(BN1 + SPEPV + BI12F + BA1) * ((TX16 - TX_RED0)/100) * positif(V_EAD)
+          + arr(BN1 + SPEPV + BI12F + BA1) * ((TX16 - TX_RED0)/100) * positif(V_EAG);
+DOMABDB = max(PLAF_RABDOM - ABADO , 0) * positif(V_EAD)
+          + max(PLAF_RABGUY - ABAGU , 0) * positif(V_EAG);
+DOMDOM = max(DOMAVTO - DOMABDB , 0) * positif(V_EAD + V_EAG);
+
+ITP = arr((BPTP2 * TX225/100) 
+       + (BPTPVT * TX19/100) 
+       + (BPTP4 * TX30/100) 
+       + ((BPTPD + BPTPG) * TX_RED0/100) 
+       + (BPTP3 * TX16/100) 
+       + (BPTP40 * TX41/100)
+       + DOMDOM * positif(V_EAD + V_EAG)
+       + (BPTP18 * TX18/100)
+       + (BTP3G * TX24/100)
+       + (BTP3N * TX24/100)
+       + (BPTP5 * TX24/100)
+       + (BPTPSJ * TX19/100)
+       + (BPTPSA * TX19/100)
+       + (BPTPSB * TX24/100)
+       + (BPTPSC * TX19/100)
+       + (BPTPWG * TX19/100)
+	  )
+       * (1-positif(IPVLOC)) * (1 - positif(present(TAX1649)+present(RE168))); 
+regle 40412:
+application : iliad , batch  ;
+PTP = BTP3A + BTP3N + BTP3G+ BPTP2 +BPTPVT+BPTP18 +BPTP4+BPTPSK+BPTP40
+	 + BPTP5+BPTPWG +BPTPSA +BPTPSB +BPTPSC;
+regle 40413:
+application : iliad , batch  ;
+BTP3A = (BN1 + SPEPV + BI12F + BA1) * (1 - positif( IPVLOC ));
+BPTPD = BTP3A * positif(V_EAD)*(1-positif(present(TAX1649)+present(RE168)));
+BPTPG = BTP3A * positif(V_EAG)*(1-positif(present(TAX1649)+present(RE168)));
+BPTP3 = BTP3A * (1 - positif(V_EAD + V_EAG))*(1-positif(present(TAX1649)+present(RE168)));
+BTP3N = (BPVKRI) * (1 - positif( IPVLOC ));
+BTP3G = (BPVRCM) * (1 - positif( IPVLOC ));
+BTP2 = PEA * (1 - positif( IPVLOC ));
+BPTP2 = BTP2*(1-positif(present(TAX1649)+present(RE168)));
+BTPVT = GAINPEA * (1 - positif( IPVLOC ));
+BPTPVT = BTPVT*(1-positif(present(TAX1649)+present(RE168)));
+
+BTP18 = (BPV18V + BPV18C) * (1 - positif( IPVLOC ));
+BPTP18 = BTP18 * (1-positif(present(TAX1649)+present(RE168))) ;
+
+BPTP4 = (BPCOPTV + BPCOPTC + BPVSK) * (1 - positif(IPVLOC)) * (1 - positif(present(TAX1649) + present(RE168))) ;
+BTPSK = BPVSK * (1 - positif( IPVLOC ));
+BPTPSK = BTPSK * (1-positif(present(TAX1649)+present(RE168))) ;
+
+BTP40 = (BPV40V + BPV40C) * (1 - positif( IPVLOC )) ;
+BPTP40 = BTP40 * (1-positif(present(TAX1649)+present(RE168))) ;
+
+BTP5 = PVIMPOS * (1 - positif( IPVLOC ));
+BPTP5 = BTP5 * (1-positif(present(TAX1649)+present(RE168))) ;
+BPTPWG = PVSURSIWG * (1 - positif( IPVLOC ))* (1-positif(present(TAX1649)+present(RE168)));
+BTPSJ = BPVSJ * (1 - positif( IPVLOC ));
+BPTPSJ = BTPSJ * (1-positif(present(TAX1649)+present(RE168))) ;
+BTPSA = PVDIRTAX * (1 - positif( IPVLOC ));
+BPTPSA = BTPSA * (1-positif(present(TAX1649)+present(RE168))) ;
+BTPSB = PVTAXSB * (1 - positif( IPVLOC ));
+BPTPSB = BTPSB * (1-positif(present(TAX1649)+present(RE168))) ;
+BTPSC = PVTAXSC * (1 - positif( IPVLOC ));
+BPTPSC = BTPSC * (1-positif(present(TAX1649)+present(RE168))) ;
+BPTP19 = (BPVSJ + PVDIRTAX + PVTAXSC + GAINPEA + PVSURSIWG) * (1 - positif( IPVLOC )) * (1 - positif(present(TAX1649) + present(RE168))) ;
+
+BPTP24 = (BTP3G + BTPSB + BTP3N + BTP5*(1-positif(null(5-V_REGCO)+null(6-V_REGCO)))) * (1 - positif(present(TAX1649) + present(RE168))) ;
+
+BPTPDIV = ((PVTAXSB + PVTAXSC) * (1-positif(IPVLOC)) + BTP5) * (1-positif(present(TAX1649)+present(RE168))) ;
+
+regle 4042:
+application : iliad , batch  ;
+
+
+REI = IPREP+IPPRICORSE;
+
+regle 40421:
+application : iliad , batch  ;
+
+
+PPERSATOT = RSAFOYER + RSAPAC1 + RSAPAC2 ;
+
+PPERSA = min(PPETOT,PPERSATOT) * (1 - V_CNR) ;
+
+PPEFINAL = PPETOT - PPERSA ;
+
+regle 405:
+application : bareme , iliad , batch  ;
+
+
+IAD11 = ( max(0,IDOM11-DEC11-RED) *(1-positif(V_CR2+IPVLOC))
+        + positif(V_CR2+IPVLOC) *max(0 , IDOM11 - RED) )
+                                * (1-positif(RE168+TAX1649))
+        + positif(RE168+TAX1649) * IDOM16;
+
+regle 406:
+application : bareme , iliad , batch  ;
+IAD31 = ((IDOM31-DEC31)*(1-positif(V_CR2+IPVLOC)))
+        +(positif(V_CR2+IPVLOC)*IDOM31);
+IAD32 = ((IDOM32-DEC32)*(1-positif(V_CR2+IPVLOC)))
+        +(positif(V_CR2+IPVLOC)*IDOM32);
+
+regle 4052:
+application : bareme , iliad , batch  ;
+
+IMPIM3 =  IAD31 ;
+
+regle 4061:
+application : bareme , iliad , batch  ;
+pour z = 1,2:
+DEC1z = min (max( arr(SEUIL_DECOTE/2 - (IDOM1z/2)),0),IDOM1z) * (1 - V_CNR);
+
+pour z = 1,2:
+DEC3z = min (max( arr(SEUIL_DECOTE/2 - (IDOM3z/2)),0),IDOM3z) * (1 - V_CNR);
+
+DEC6 = min (max( arr(SEUIL_DECOTE/2 - (IDOM16/2)),0),IDOM16) * (1 - V_CNR);
+
+regle 4066:
+application : iliad   , batch ;
+ART1731BIS = positif ( null (CODE_2042 - 3)
+	                 +null (CODE_2042 - 4)
+	                 +null (CODE_2042 - 5)
+	                 +null (CODE_2042 - 6)
+	                 +null ((CODE_2042 + CMAJ)- 8)
+	                 +null ((CODE_2042 + CMAJ) - 11)
+	                 +null (CODE_2042 - 31)
+	                 +null (CODE_2042 - 55));
+      
+regle 407:
+application : iliad   , batch ;
+      
+RED =  RCOTFOR + RSURV + RCOMP + RHEBE + RREPA + RDIFAGRI + RDONS
+       + RCELTOT
+       + RRESTIMO  
+       + RFIPC + RFIPDOM + RAIDE + RNOUV 
+       + RTOURNEUF + RTOURTRA + RTOURREP 
+       + RTOUREPA + RTOURES + RTOUHOTR  
+       + RLOGDOM + RLOGSOC + RDOMSOC1 + RLOCENT + RCOLENT
+       + RRETU + RINNO + RRPRESCOMP + RFOR 
+       + RSOUFIP + RRIRENOV + RSOCREPR + RRESIMEUB + RRESINEUV + RRESIVIEU + RLOCIDEFG
+       + RREDMEUB + RREDREP + RILMIX + RINVRED + RILMIH + RILMIZ + RMEUBLE 
+       + RPROREP + RREPNPRO + RREPMEU + RILMIC + RILMIB + RILMIA 
+       + RIDOMPROE3 + RIDOMPROE4 
+       + RPATNAT2 + RPATNAT1 + RPATNAT
+       + RFORET + RCREAT + RCINE  ;
+
+REDTL = ASURV + ACOMP ;
+
+CIMPTL = ATEC + ADEVDUR + TOTBGE ;
+
+regle 4070:
+application : bareme ;
+RED = V_9UY;
+regle 4025:
+application : iliad , batch  ;
+
+PLAFDOMPRO1 = max(0 , RRI1-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA-RCOMP-RCREAT-RRETU
+		          -RDONS-RNOUV-RLOGSOC-RDOMSOC1-RCELTOT-RLOCNPRO-RPATNAT2-RPATNAT1-RPATNAT) ;
+
+
+RIDOMPROE4 = min(REPINVDOMPRO2 , PLAFDOMPRO1) * (1 - V_CNR) * (1 - ART1731BIS) ;
+              
+REPDOMENTR4 = positif(REPINVDOMPRO2 - PLAFDOMPRO1) * (REPINVDOMPRO2 - PLAFDOMPRO1)* (1 - V_CNR) ;
+
+
+PLAFDOMPRO3 = positif(PLAFDOMPRO1 - REPINVDOMPRO2) * (PLAFDOMPRO1 - REPINVDOMPRO2) * (1 - V_CNR) ; 
+
+RIDOMPROE3 = min(REPINVDOMPRO3 , PLAFDOMPRO3) * (1 - V_CNR) * (1 - ART1731BIS) ;
+                  
+REPOMENTR3 = positif(REPINVDOMPRO3 - PLAFDOMPRO3) * (REPINVDOMPRO3 - PLAFDOMPRO3) * (1 - V_CNR) ;
+
+
+RIDOMPROTOT = RIDOMPROE3 + RIDOMPROE4 ;
+
+
+RINVEST = RIDOMPROE3  + RIDOMPROE4 ;
+
+RIDOMPRO = REPINVDOMPRO2 + REPINVDOMPRO3 ;
+
+DIDOMPRO = RIDOMPRO * (1 - V_CNR) * (1 - ART1731BIS) ;
+
+regle 40749:
+application : iliad , batch  ;
+
+DFORET = FORET ;
+
+AFORET = max(min(DFORET,LIM_FORET),0) * (1-V_CNR) * (1 - ART1731BIS) ;
+
+RAFORET = arr(AFORET*TX_FORET/100) * (1-V_CNR) ;
+
+RFORET =  max( min( RAFORET , IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI) , 0 ) ;
+
+regle 4075:
+application : iliad , batch ;
+
+DFIPC = FIPCORSE ;
+
+AFIPC = max( min(DFIPC , LIM_FIPCORSE * (1 + BOOL_0AM)) , 0) * (1 - V_CNR) * (1 - ART1731BIS) ;
+
+RFIPCORSE = arr(AFIPC * TX_FIPCORSE/100) * (1 - V_CNR) ;
+
+RFIPC = max( min( RFIPCORSE , IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET) , 0) ;
+
+regle 40751:
+application : iliad , batch ;
+
+DFIPDOM = FIPDOMCOM ;
+
+AFIPDOM = max( min(DFIPDOM , LIMFIPDOM * (1 + BOOL_0AM)) , 0) * (1 - V_CNR) * (1 - ART1731BIS) ;
+
+RFIPDOMCOM = arr(AFIPDOM * TXFIPDOM/100) * (1 - V_CNR) ;
+
+RFIPDOM = max( min( RFIPDOMCOM , IDOM11-DEC11-RCOTFOR-RREPA) , 0) ;
+
+regle 4076:
+application : iliad , batch  ;
+BSURV = min( RDRESU , PLAF_RSURV + PLAF_COMPSURV * (EAC + V_0DN) + PLAF_COMPSURVQAR * (V_0CH + V_0DP) );
+RRS = arr( BSURV * TX_REDSURV / 100 ) * (1 - V_CNR);
+DSURV = RDRESU;
+ASURV = BSURV * (1-V_CNR) * ( 1 - ART1731BIS);
+RSURV = max( min( RRS , IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC
+			-RCINE-RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE ) , 0 ) * ( 1 - ART1731BIS);
+
+regle 4100:
+application : iliad , batch ;
+
+RRCN = arr(  min( CINE1 , min( max(SOFIRNG,RNG) * TX_CINE3/100 , PLAF_CINE )) * TX_CINE1/100
+        + min( CINE2 , max( min( max(SOFIRNG,RNG) * TX_CINE3/100 , PLAF_CINE ) - CINE1 , 0)) * TX_CINE2/100 
+       ) * (1 - V_CNR) ;
+
+DCINE = CINE1 + CINE2 ;
+
+ACINE = max(0,min( CINE1 + CINE2 , min( arr(SOFIRNG * TX_CINE3/100) , PLAF_CINE ))) * (1 - V_CNR) * (1 - ART1731BIS) ;
+
+RCINE = max( min( RRCN , IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC) , 0 ) * (1 - ART1731BIS) ;
+regle 4176:
+application : iliad , batch  ;
+BSOUFIP = min( FFIP , LIM_SOUFIP * (1 + BOOL_0AM)) * (1 - ART1731BIS);
+RFIP = arr( BSOUFIP * TX_REDFIP / 100 ) * (1 - V_CNR);
+DSOUFIP = FFIP;
+ASOUFIP = BSOUFIP * (1-V_CNR) ;
+RSOUFIP = max( min( RFIP , IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC
+			   -RCINE-RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO) , 0 );
+
+regle 4200:
+application : iliad , batch  ;
+
+BRENOV = min(RIRENOV,PLAF_RENOV) * (1 - ART1731BIS) ;
+RENOV = arr( BRENOV * TX_RENOV / 100 ) * (1 - V_CNR) ;
+
+DRIRENOV = RIRENOV ;
+ARIRENOV = BRENOV * (1 - V_CNR) ;
+RRIRENOV = max( min( RENOV , IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC-RCINE
+			     -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP) , 0 );
+
+regle 40771:
+application : iliad , batch  ;
+RFC = min(RDCOM,PLAF_FRCOMPTA * max(1,NBACT)) * present(RDCOM)*(1-V_CNR) * (1-ART1731BIS);
+NCOMP = max(1,NBACT)* present(RDCOM) * (1-V_CNR);
+DCOMP = RDCOM;
+ACOMP = RFC;
+regle 10040771:
+application :  iliad , batch  ;
+RCOMP = max(min( RFC , RRI1-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR-RTOUREPA-RCREAT) , 0) ;
+
+regle 4078:
+application : iliad , batch  ;
+
+
+BCEL_2012 = arr( min(( CELLIERJA + CELLIERJD + CELLIERJE + CELLIERJF + CELLIERJH + CELLIERJJ 
+		     + CELLIERJK + CELLIERJM + CELLIERJN + 0 ), LIMCELLIER ) /9 );
+
+BCEL_JOQR = arr( min(( CELLIERJO + CELLIERJQ + CELLIERJR + 0 ), LIMCELLIER ) /5 );
+
+BCEL_2011 = arr( min(( CELLIERNA + CELLIERNC + CELLIERND + CELLIERNE + CELLIERNF + CELLIERNH
+		     + CELLIERNI + CELLIERNJ + CELLIERNK + CELLIERNM + CELLIERNN + CELLIERNO  + 0 ), LIMCELLIER ) /9 );
+
+BCELCOM2011 = arr( min(( CELLIERNP + CELLIERNR + CELLIERNS + CELLIERNT + 0 ), LIMCELLIER ) /5 );
+
+BCEL_NBGL = arr( min(( CELLIERNB + CELLIERNG + CELLIERNL + 0), LIMCELLIER ) /9 );
+
+BCEL_NQ = arr( min(( CELLIERNQ + 0), LIMCELLIER ) /5 );
+
+BCEL_JBGL = arr( min(( CELLIERJB + CELLIERJG + CELLIERJL + 0), LIMCELLIER ) /9 );
+
+BCEL_JP = arr( min(( CELLIERJP + 0), LIMCELLIER ) /5 );
+
+
+BCEL_HNO = arr ( min ((CELLIERHN + CELLIERHO + 0 ), LIMCELLIER ) /9 );
+BCEL_HJK = arr ( min ((CELLIERHJ + CELLIERHK + 0 ), LIMCELLIER ) /9 );
+
+BCEL_HL = arr ( min ((CELLIERHL + 0 ), LIMCELLIER ) /9 );
+BCEL_HM = arr ( min ((CELLIERHM + 0 ), LIMCELLIER ) /9 );
+
+
+DCELRREDLA = CELRREDLA;
+ACELRREDLA = CELRREDLA * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS);
+
+DCELRREDLB = CELRREDLB;
+ACELRREDLB = CELRREDLB * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+DCELRREDLE = CELRREDLE;
+ACELRREDLE = CELRREDLE * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS);
+
+DCELRREDLC = CELRREDLC;
+ACELRREDLC = CELRREDLC * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS);
+
+DCELRREDLD = CELRREDLD;
+ACELRREDLD = CELRREDLD * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS);
+
+DCELRREDLF = CELRREDLF;
+ACELRREDLF = CELRREDLF * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS);
+
+DCELREPHS = CELREPHS; 
+ACELREPHS = DCELREPHS * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+
+DCELREPHR = CELREPHR ;    
+ACELREPHR = DCELREPHR * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS);
+
+
+DCELREPHU = CELREPHU; 
+ACELREPHU = DCELREPHU * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+
+DCELREPHT = CELREPHT; 
+ACELREPHT = DCELREPHT * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+
+DCELREPHZ = CELREPHZ; 
+ACELREPHZ = DCELREPHZ * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+
+DCELREPHX = CELREPHX; 
+ACELREPHX = DCELREPHX * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+
+DCELREPHW = CELREPHW; 
+ACELREPHW = DCELREPHW * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+
+DCELREPHV = CELREPHV; 
+ACELREPHV = DCELREPHV * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+
+DCELREPHF = CELREPHF; 
+ACELREPHF = DCELREPHF * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+
+DCELREPHE = CELREPHE ;    
+ACELREPHE = DCELREPHE * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS);
+
+
+DCELREPHD = CELREPHD; 
+ACELREPHD = DCELREPHD * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+
+DCELREPHH = CELREPHH; 
+ACELREPHH = DCELREPHH * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+
+DCELREPHG = CELREPHG; 
+ACELREPHG = DCELREPHG * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+
+DCELREPHB = CELREPHB; 
+ACELREPHB = DCELREPHB * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+
+DCELREPHA = CELREPHA; 
+ACELREPHA = DCELREPHA * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+
+DCELHM = CELLIERHM ; 
+ACELHM = (positif_ou_nul( CELLIERHM) * BCEL_HM) * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+
+DCELHL = CELLIERHL ;    
+ACELHL = (positif_ou_nul( CELLIERHL) * BCEL_HL) * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS); 
+
+
+DCELHNO = CELLIERHN + CELLIERHO ;
+ACELHNO = (positif_ou_nul( CELLIERHN + CELLIERHO ) * BCEL_HNO) * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS);
+
+
+DCELHJK = CELLIERHJ + CELLIERHK ;
+ACELHJK = (positif_ou_nul( CELLIERHJ + CELLIERHK ) * BCEL_HJK) * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS);
+
+
+DCELNQ = CELLIERNQ;
+ACELNQ = (positif_ou_nul( CELLIERNQ) * BCEL_NQ) * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS);
+
+DCELNBGL =   CELLIERNB + CELLIERNG + CELLIERNL;
+ACELNBGL = (positif_ou_nul( CELLIERNB + CELLIERNG + CELLIERNL ) * BCEL_NBGL) * ((V_REGCO+0) dans (1,3,5,6))
+									     * (1 - ART1731BIS);
+
+DCELCOM =   CELLIERNP + CELLIERNR + CELLIERNS + CELLIERNT;
+ACELCOM = (positif_ou_nul(CELLIERNP + CELLIERNR + CELLIERNS + CELLIERNT) * BCELCOM2011) * ((V_REGCO+0) dans (1,3,5,6))
+											* (1 - ART1731BIS);
+
+CELSOMN = CELLIERNA+CELLIERNC+CELLIERND+CELLIERNE+CELLIERNF+CELLIERNH
+	 +CELLIERNI+CELLIERNJ+CELLIERNK+CELLIERNM+CELLIERNN+CELLIERNO;  
+
+DCEL = CELSOMN ; 
+
+ACEL = (positif_ou_nul( CELSOMN ) * BCEL_2011) * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS);
+
+DCELJP = CELLIERJP;
+ACELJP = (positif_ou_nul( CELLIERJP) * BCEL_JP) * ((V_REGCO+0) dans (1,3,5,6)) * (1 - ART1731BIS);
+
+DCELJBGL =   CELLIERJB + CELLIERJG + CELLIERJL;
+ACELJBGL = (positif_ou_nul( CELLIERJB + CELLIERJG + CELLIERJL ) * BCEL_JBGL) * ((V_REGCO+0) dans (1,3,5,6))
+									     * (1 - ART1731BIS);
+
+DCELJOQR =   CELLIERJO + CELLIERJQ + CELLIERJR;
+ACELJOQR = (positif_ou_nul(CELLIERJO + CELLIERJQ + CELLIERJR) * BCEL_JOQR) * ((V_REGCO+0) dans (1,3,5,6))
+									   * (1 - ART1731BIS);
+
+CELSOMJ = CELLIERJA + CELLIERJD + CELLIERJE + CELLIERJF + CELLIERJH 
+	  + CELLIERJJ + CELLIERJK + CELLIERJM + CELLIERJN;
+ 	   
+
+DCEL2012 = CELSOMJ ; 
+
+ACEL2012 = (positif_ou_nul( CELSOMJ ) * BCEL_2012) * ((V_REGCO+0) dans (1,3,5,6))
+						   * (1 - ART1731BIS);
+
+
+RCEL_2011 = (  positif(CELLIERNA + CELLIERNE) * arr (ACEL * (TX22/100))
+            + positif(CELLIERNC + CELLIERND + CELLIERNH) * arr (ACEL * (TX25/100))
+            + positif(CELLIERNF + CELLIERNJ) * arr (ACEL * (TX13/100))
+            + positif(CELLIERNI) * arr (ACEL * (TX15/100))
+	    + positif(CELLIERNM + CELLIERNN) * arr (ACEL * (TX40/100))
+	    + positif(CELLIERNK + CELLIERNO) * arr (ACEL * (TX36/100))
+            ) * ((V_REGCO+0) dans (1,3,5,6));
+
+RCEL_2012 = (  positif(CELLIERJA + CELLIERJE + CELLIERJH) * arr (ACEL2012 * (TX13/100))
+            + positif(CELLIERJD) * arr (ACEL2012 * (TX22/100))
+            + positif(CELLIERJF + CELLIERJJ) * arr (ACEL2012 * (TX6/100))
+            + positif(CELLIERJK + CELLIERJN) * arr (ACEL2012 * (TX24/100))
+	    + positif(CELLIERJM) * arr (ACEL2012 * (TX36/100))
+            ) * ((V_REGCO+0) dans (1,3,5,6));
+
+RCEL_COM = (  positif(CELLIERNP + CELLIERNT) * arr (ACELCOM * (TX36/100))
+               + positif(CELLIERNR + CELLIERNS) * arr (ACELCOM * (TX40/100)) 
+              ) * ((V_REGCO+0) dans (1,3,5,6));
+
+RCEL_JOQR = (  positif(CELLIERJQ) * arr (ACELJOQR * (TX36/100))
+               + positif(CELLIERJO + CELLIERJR) * arr (ACELJOQR * (TX24/100)) 
+              ) * ((V_REGCO+0) dans (1,3,5,6));
+
+RCEL_NBGL = (  positif(CELLIERNB) * arr(ACELNBGL * (TX25/100))
+	       + positif(CELLIERNG) * arr(ACELNBGL * (TX15/100))
+	       + positif(CELLIERNL) * arr(ACELNBGL * (TX40/100))
+              ) * ((V_REGCO+0) dans (1,3,5,6));
+
+RCEL_JBGL = (  positif(CELLIERJB) * arr(ACELJBGL * (TX22/100))
+	       + positif(CELLIERJG) * arr(ACELJBGL * (TX13/100))
+	       + positif(CELLIERJL) * arr(ACELJBGL * (TX36/100))
+              ) * ((V_REGCO+0) dans (1,3,5,6));
+
+RCEL_NQ = ( positif(CELLIERNQ) * arr(ACELNQ * (TX40/100)) ) * ((V_REGCO+0) dans (1,3,5,6));
+
+RCEL_JP = ( positif(CELLIERJP) * arr(ACELJP * (TX36/100)) ) * ((V_REGCO+0) dans (1,3,5,6));
+
+
+RCEL_HNO = (  positif(CELLIERHN) * arr(ACELHNO * (TX25/100))
+	       + positif(CELLIERHO) * arr(ACELHNO * (TX40/100))
+              ) * ((V_REGCO+0) dans (1,3,5,6));
+
+RCEL_HJK = (  positif(CELLIERHJ) * arr(ACELHJK * (TX25/100))
+	      + positif(CELLIERHK) * arr(ACELHJK * (TX40/100))
+             ) * ((V_REGCO+0) dans (1,3,5,6));
+
+
+RCELDOM = (positif(CELLIERHK + CELLIERHO) * arr (ACELDO * (TX40/100))) 
+             * ((V_REGCO+0) dans (1,3,5,6));                           
+
+RCELM = (positif( CELLIERHJ + CELLIERHN ) * arr (ACELMET * (TX25/100)))
+             * ((V_REGCO+0) dans (1,3,5,6));                           
+
+
+RCEL_HM = positif(CELLIERHM) * arr (ACELHM * (TX40/100)) 
+             * ((V_REGCO+0) dans (1,3,5,6));                           
+
+RCEL_HL = positif( CELLIERHL ) * arr (ACELHL * (TX25/100))
+             * ((V_REGCO+0) dans (1,3,5,6));                           
+RCELREP_HS = positif(CELREPHS) * arr (ACELREPHS * (TX40/100)) * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREP_HR = positif( CELREPHR ) * arr (ACELREPHR * (TX25/100)) * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREP_HU = positif( CELREPHU ) * arr (ACELREPHU * (TX40/100)) * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREP_HT = positif( CELREPHT ) * arr (ACELREPHT * (TX25/100)) * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREP_HZ = positif( CELREPHZ ) * arr (ACELREPHZ * (TX40/100)) * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREP_HX = positif( CELREPHX ) * arr (ACELREPHX * (TX25/100)) * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREP_HW = positif( CELREPHW ) * arr (ACELREPHW * (TX40/100)) * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREP_HV = positif( CELREPHV ) * arr (ACELREPHV * (TX25/100)) * ((V_REGCO+0) dans (1,3,5,6));
+
+regle 2004078:
+application : iliad , batch  ;
+
+REDUCAVTCEL =RCOTFOR+RREPA+RRESTIMO+RFIPC+RFIPDOM+RAIDE+RDIFAGRI+RFORET
+	     +RCINE+RSOCREPR+RRPRESCOMP+RINNO+RSOUFIP+RRIRENOV+RFOR+RHEBE+
+	     RSURV+RLOGDOM+RTOURNEUF+RTOURTRA+RTOURES+RTOURREP+RTOUHOTR+RTOUREPA+
+	     RCOMP+RCREAT+RRETU+RDONS+RNOUV;
+
+RCELRREDLA = (max( min( ACELRREDLA , IDOM11-DEC11 - REDUCAVTCEL ) , 0 ))
+	    * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELRREDLB = (max( min( ACELRREDLB , IDOM11-DEC11 - REDUCAVTCEL
+	      - RCELRREDLA ) , 0 ))
+	    * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELRREDLE = (max( min( ACELRREDLE , IDOM11-DEC11 - REDUCAVTCEL
+	      - RCELRREDLA-RCELRREDLB ) , 0 ))
+	    * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELRREDLC = (max( min( ACELRREDLC , IDOM11-DEC11 - REDUCAVTCEL
+	      - RCELRREDLA-RCELRREDLB-RCELRREDLE ) , 0 ))
+	    * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELRREDLD = (max( min( ACELRREDLD , IDOM11-DEC11 - REDUCAVTCEL
+	      - RCELRREDLA-RCELRREDLB-RCELRREDLE-RCELRREDLC ) , 0 ))
+	    * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELRREDLF = (max( min( ACELRREDLF , IDOM11-DEC11 - REDUCAVTCEL
+	      - RCELRREDLA-RCELRREDLB-RCELRREDLE-RCELRREDLC-RCELRREDLD ) , 0 ))
+	    * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREPHS = (max( min( RCELREP_HS , IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) ) , 0))
+	    * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREPHR = (max( min( RCELREP_HR , IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      - RCELREPHS ) , 0))
+	    * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREPHU = (max( min( RCELREP_HU, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      - RCELREPHS-RCELREPHR ) , 0))
+            * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREPHT = (max( min( RCELREP_HT, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      - RCELREPHS-RCELREPHR-RCELREPHU ) , 0))
+            * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREPHZ = (max( min( RCELREP_HZ, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      - RCELREPHS-RCELREPHR-RCELREPHU-RCELREPHT ) , 0))
+            * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREPHX = (max( min( RCELREP_HX, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      - RCELREPHS-RCELREPHR-RCELREPHU-RCELREPHT-RCELREPHZ ) , 0))
+            * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREPHW = (max( min( RCELREP_HW, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      - RCELREPHS-RCELREPHR-RCELREPHU-RCELREPHT-RCELREPHZ-RCELREPHX ) , 0))
+            * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREPHV = (max( min( RCELREP_HV, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      - RCELREPHS-RCELREPHR-RCELREPHU-RCELREPHT-RCELREPHZ-RCELREPHX-RCELREPHW ) , 0))
+            * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREPHF = (max( min( ACELREPHF , IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V : RCELREPHi) ) , 0))
+	    * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREPHE = (max( min( ACELREPHE , IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F : RCELREPHi) ) , 0))
+	    * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREPHD = (max( min( ACELREPHD , IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E : RCELREPHi) ) , 0))
+	    * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREPHH = (max( min( ACELREPHH , IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D : RCELREPHi) ) , 0))
+	    * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREPHG = (max( min( ACELREPHG , IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D,H : RCELREPHi) ) , 0))
+	    * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREPHB = (max( min( ACELREPHB , IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G : RCELREPHi) ) , 0))
+	    * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELREPHA = (max( min( ACELREPHA , IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G,B : RCELREPHi) ) , 0))
+	    * ((V_REGCO+0) dans (1,3,5,6));
+
+
+RCELHM = (max( min( RCEL_HM, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G,B,A : RCELREPHi) ) , 0))
+	  * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELHL = (max( min( RCEL_HL , IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G,B,A : RCELREPHi) 
+	      -RCELHM) , 0 ))
+	   * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELHNO = (max( min( RCEL_HNO, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G,B,A : RCELREPHi) 
+	      -RCELHM-RCELHL) , 0 ))
+	   * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELHJK = (max( min( RCEL_HJK , IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G,B,A : RCELREPHi) 
+	      -RCELHM-RCELHL-RCELHNO) , 0 ))
+	   * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELNQ = (max( min(RCEL_NQ, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G,B,A : RCELREPHi) 
+	      -RCELHM-RCELHL-RCELHNO-RCELHJK ) , 0 ))
+	 * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELNBGL = (max( min(RCEL_NBGL, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G,B,A : RCELREPHi) 
+	      -RCELHM-RCELHL-RCELHNO-RCELHJK-RCELNQ ) , 0 ))
+	   * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELCOM = (max( min(RCEL_COM, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G,B,A : RCELREPHi) 
+	      -RCELHM-RCELHL-RCELHNO-RCELHJK-RCELNQ-RCELNBGL ) , 0 ))
+	  * ((V_REGCO+0) dans (1,3,5,6));
+
+RCEL = (max( min(RCEL_2011, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G,B,A : RCELREPHi) 
+	      -RCELHM-RCELHL-RCELHNO-RCELHJK-RCELNQ-RCELNBGL-RCELCOM ) , 0 ))
+	     * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELJP = (max( min(RCEL_JP, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G,B,A : RCELREPHi) 
+	      -RCELHM-RCELHL-RCELHNO-RCELHJK-RCELNQ-RCELNBGL-RCELCOM-RCEL ) , 0 ))
+	 * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELJBGL = (max( min(RCEL_JBGL, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G,B,A : RCELREPHi) 
+	      -RCELHM-RCELHL-RCELHNO-RCELHJK-RCELNQ-RCELNBGL-RCELCOM-RCEL-RCELJP ) , 0 ))
+	   * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELJOQR = (max( min(RCEL_JOQR, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G,B,A : RCELREPHi) 
+	      -RCELHM-RCELHL-RCELHNO-RCELHJK-RCELNQ-RCELNBGL-RCELCOM-RCEL-RCELJP
+	      -RCELJBGL) , 0 ))
+	  * ((V_REGCO+0) dans (1,3,5,6));
+
+RCEL2012 = (max( min(RCEL_2012, IDOM11-DEC11 - REDUCAVTCEL
+              - somme (i=A,B,E,C,D,F : RCELRREDLi) 
+	      -somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G,B,A : RCELREPHi) 
+	      -RCELHM-RCELHL-RCELHNO-RCELHJK-RCELNQ-RCELNBGL-RCELCOM-RCEL-RCELJP
+	      -RCELJBGL-RCELJOQR) , 0 ))
+	     * ((V_REGCO+0) dans (1,3,5,6));
+
+RCELTOT = somme(i=A,B,E,C,D,F :  RCELRREDLi)
+	  + somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G,B,A : RCELREPHi)  
+	  + RCELHM + RCELHL + RCELHNO + RCELHJK + RCELNQ + RCELNBGL + RCELCOM
+	  + RCEL + RCELJP + RCELJBGL + RCELJOQR + RCEL2012 ;
+
+regle 2004079 :
+application : iliad , batch  ;
+
+
+RIVCEL1 =  RCEL_2011 * positif(ACEL); 
+
+RIVCEL2 = RIVCEL1;
+
+RIVCEL3 = RIVCEL1;
+
+RIVCEL4 = RIVCEL1;
+
+RIVCEL5 = RIVCEL1;
+
+RIVCEL6 = RIVCEL1;
+
+RIVCEL7 = RIVCEL1;
+
+RIVCEL8 = (arr((min (CELSOMN,LIMCELLIER) * positif(CELLIERNM+CELLIERNN) * (TX40/100))
+          +(min (CELSOMN,LIMCELLIER) * positif(CELLIERNK+CELLIERNO) * (TX36/100))
+	  +(min (CELSOMN,LIMCELLIER) * positif(CELLIERNC+CELLIERND+CELLIERNH) * (TX25/100))
+	  +(min (CELSOMN,LIMCELLIER) * positif(CELLIERNA+CELLIERNE) * (TX22/100))
+	  +(min (CELSOMN,LIMCELLIER) * positif(CELLIERNI) * (TX15/100))
+	  +(min (CELSOMN,LIMCELLIER) * positif(CELLIERNF+CELLIERNJ) * (TX13/100)))
+	  -( 8 * RIVCEL1))
+	  * ((V_REGCO+0) dans (1,3,5,6));
+RIV2012CEL1 =  RCEL_2012 * positif(ACEL2012);
+RIV2012CEL2 = RIV2012CEL1;
+RIV2012CEL3 = RIV2012CEL1;
+RIV2012CEL4 = RIV2012CEL1;
+RIV2012CEL5 = RIV2012CEL1;
+RIV2012CEL6 = RIV2012CEL1;
+RIV2012CEL7 = RIV2012CEL1;
+
+RIV2012CEL8 = (arr((min (CELSOMJ,LIMCELLIER) * positif(CELLIERJM) * (TX36/100))
+		+(min (CELSOMJ,LIMCELLIER) * positif(CELLIERJK+CELLIERJN) * (TX24/100))
+		+(min (CELSOMJ,LIMCELLIER) * positif(CELLIERJD) * (TX22/100))
+		+(min (CELSOMJ,LIMCELLIER) * positif(CELLIERJA+CELLIERJE+CELLIERJH) * (TX13/100))
+		+(min (CELSOMJ,LIMCELLIER) * positif(CELLIERJF+CELLIERJJ) * (TX6/100)))
+	 	-( 8 * RIV2012CEL1))
+ 		* (1 - V_CNR);
+
+
+RIVCELNBGL1 =  RCEL_NBGL * positif(ACELNBGL); 
+RIVCELNBGL2 = RIVCELNBGL1;
+RIVCELNBGL3 = RIVCELNBGL1;
+RIVCELNBGL4 = RIVCELNBGL1;
+RIVCELNBGL5 = RIVCELNBGL1;
+RIVCELNBGL6 = RIVCELNBGL1;
+RIVCELNBGL7 = RIVCELNBGL1;
+
+RIVCELNBGL8 = (arr((min (CELLIERNB+CELLIERNG+CELLIERNL,LIMCELLIER) * positif(CELLIERNB) * (TX25/100))
+          +(min (CELLIERNB+CELLIERNG+CELLIERNL,LIMCELLIER) * positif(CELLIERNG) * (TX15/100))
+	  +(min (CELLIERNB+CELLIERNG+CELLIERNL,LIMCELLIER) * positif(CELLIERNL) * (TX40/100)))
+	  -( 8 * RIVCELNBGL1))
+	  * (1 - V_CNR);
+
+RIVCELJBGL1 =  RCEL_JBGL * positif(ACELJBGL); 
+RIVCELJBGL2 = RIVCELJBGL1;
+RIVCELJBGL3 = RIVCELJBGL1;
+RIVCELJBGL4 = RIVCELJBGL1;
+RIVCELJBGL5 = RIVCELJBGL1;
+RIVCELJBGL6 = RIVCELJBGL1;
+RIVCELJBGL7 = RIVCELJBGL1;
+
+RIVCELJBGL8 = (arr((min (CELLIERJB+CELLIERJG+CELLIERJL,LIMCELLIER) * positif(CELLIERJB) * (TX22/100))
+          +(min (CELLIERJB+CELLIERJG+CELLIERJL,LIMCELLIER) * positif(CELLIERJG) * (TX13/100))
+	  +(min (CELLIERJB+CELLIERJG+CELLIERJL,LIMCELLIER) * positif(CELLIERJL) * (TX36/100)))
+	  -( 8 * RIVCELJBGL1))
+	  * (1 - V_CNR);
+
+
+RIVCELCOM1 =  RCEL_COM * positif(ACELCOM); 
+
+RIVCELCOM2 = RIVCELCOM1;
+
+RIVCELCOM3 = RIVCELCOM1;
+
+RIVCELCOM4 = (arr((min (CELLIERNP+CELLIERNR+CELLIERNS+CELLIERNT, LIMCELLIER) * positif(CELLIERNP+CELLIERNT) * (TX36/100))
+          +(min (CELLIERNP+CELLIERNR+CELLIERNS+CELLIERNT,LIMCELLIER) * positif(CELLIERNR+CELLIERNS) * (TX40/100)))
+	  -( 4 * RIVCELCOM1))
+	  * (1 - V_CNR);
+
+RIVCELJOQR1 =  RCEL_JOQR * positif(ACELJOQR); 
+RIVCELJOQR2 = RIVCELJOQR1;
+RIVCELJOQR3 = RIVCELJOQR1;
+RIVCELJOQR4 = (arr((min (CELLIERJO + CELLIERJQ + CELLIERJR, LIMCELLIER) * positif(CELLIERJQ) * (TX36/100))
+          +(min (CELLIERJO + CELLIERJQ + CELLIERJR, LIMCELLIER) * positif(CELLIERJO+CELLIERJR) * (TX24/100)))
+	  -( 4 * RIVCELJOQR1))
+	  * (1 - V_CNR);
+
+
+RIVCELNQ1 =  RCEL_NQ * positif(ACELNQ); 
+
+RIVCELNQ2 = RIVCELNQ1;
+
+RIVCELNQ3 = RIVCELNQ1;
+
+RIVCELNQ4 = (arr((min (CELLIERNQ, LIMCELLIER) * positif(CELLIERNQ) * (TX40/100)))
+	  -( 4 * RIVCELNQ1))
+	  * (1 - V_CNR);
+
+RIVCELJP1 =  RCEL_JP * positif(ACELJP); 
+RIVCELJP2 = RIVCELJP1;
+RIVCELJP3 = RIVCELJP1;
+
+RIVCELJP4 = (arr((min (CELLIERJP, LIMCELLIER) * positif(CELLIERJP) * (TX36/100)))
+	  -( 4 * RIVCELJP1))
+	  * (1 - V_CNR);
+
+
+RIVCELHJK1 = RCEL_HJK * positif(ACELHJK) ; 
+
+RIVCELHJK2 = RIVCELHJK1;
+
+RIVCELHJK3 = RIVCELHJK1;
+
+RIVCELHJK4 = RIVCELHJK
\ No newline at end of file
diff --git a/sources2012m_3_13/chap-51.m b/sources2012m_3_13/chap-51.m
new file mode 100644
index 0000000000000000000000000000000000000000..7fbb1c00427b32f758773cb7b1c22760dfeaeeb9
--- /dev/null
+++ b/sources2012m_3_13/chap-51.m
@@ -0,0 +1,491 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+  ####   #    #    ##    #####         #####      #
+ #    #  #    #   #  #   #    #        #          #
+ #       ######  #    #  #    #        #          #
+ #       #    #  ######  #####         #####      #
+ #    #  #    #  #    #  #                 #      #
+  ####   #    #  #    #  #     #####   #####      #
+ #
+ #
+ #
+ #
+ #
+ #
+ #           CALCUL DES DROITS SIMPLES RESULTANT DU TAUX PROGRESSIF
+ #
+ #
+ #
+ #
+ #
+ #
+regle 5010:
+application : bareme , iliad , batch  ;
+IMT11 = max(ID11-ADO1 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IMT12 = max(ID11 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IMTANT11 = max(IDANT11-ADO1 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IMTANT12 = max(IDANT11 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IPHQ = arr(IMT11 * (IMPFHQ1 / ID11)) ;
+IPHQ2 = arr(IMT12 * (IMPFHQ1 / ID11)) ;
+IPHQANT2 = arr(IMTANT12 * (IMPFHQANT1 / IDANT11)) ;
+IPQT = IMT11 - IPHQ;
+IPQT2 = IMT12 - IPHQ2;
+regle 502:
+application : bareme , iliad , batch  ;
+pour z = 1,2:
+ID1z =  arr( IPQz * arr(RIz+REVQUO) / arr(RB0z+TONEQUO) );
+IDANT11 =  arr( IPQANT1 * arr(RI1+REVQUO) / arr(RB01+TONEQUO) );
+ID14 = IN04;
+ID16 = IN06;
+IMPFHQ1 = (1-positif(IPTEFN)) * EXO1 * arr(ID11 * IPQ01 / IPQ1);
+IMPFHQANT1 = (1-positif(IPTEFN)) * EXO1 
+             * arr(IDANT11 * IPQANT01 / IPQANT1);
+regle 5021:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+IPQz = IPQ0z*EXO1 + IPQ100z;
+IPQANT1 = IPQANT01*EXO1 + IPQANT1001;
+IPQ5 = IPQ05 + IPQ1005;
+regle 50201:
+application : iliad , batch  ;
+pour z = 1,2:
+IDOM3z = (positif(IND_TDR) * IDOM14)
+         +
+     ((1-positif(IND_TDR)) * ((V_CR2 * IDOM1z) + ((1-V_CR2) * (IPQz - ADO3z))));
+regle 50211:
+application : iliad , batch  ;
+SEUILEXO = SEUIL_EXO1 + (SEUIL_EXO2 - SEUIL_EXO1)
+           * positif_ou_nul( max(AGV,AGC) - LIM_AGE_EXO );
+EXO1 =    (1-min(abs(IPTEFN) + IPTEFP+INDTEFF , 1)) * 
+                                  positif(R1649+PREREV + RG + TOTALQUO +(AB
+                                          *(1-present(IPVLOC)))-SEUILEXO)   
+            + 
+            (min(abs(IPTEFN) + IPTEFP +INDTEFF, 1)) 
+        ; 
+regle 502110:
+application :  bareme  ;
+EXO1 =   present(V_9ZZ);
+
+regle 5022:
+application : iliad , batch  ;
+IMI = arr (BMI * TX_MIN_MET / 100 
+              + arr(PRODOM + PROGUY) * TX_MIN_DOM / 100) 
+          * V_CR2;
+IMO = arr (BMI * TMOY / 100
+              + arr(PRODOM + PROGUY) * TX_MIN_DOM / 100) 
+          * V_CR2;
+RASAR = arr (BRAS * TX_RASAR / 100) ;
+regle 50221:
+application : bareme , iliad , batch  ;
+BMI = arr( RI1 + REVQUO - PRODOM - PROGUY ) ;
+regle 50222:
+application : iliad , batch  ;
+TMOY = inf(IPQ5/(max(0,RB05 + TONEQUOM)) * 10000) / 100 * V_CR2;
+regle 503:
+application : bareme , iliad , batch  ;
+pour z=1,2,5,7:
+IQUOTOTz = IN5z - IN0z;
+IQUOTOTANT1 = INANT51 - INANT01;
+regle 50299:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQ1z = positif(somme(i=2..4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTz * RPQ1 / TONEQUO1)
+         + (1 - positif(somme(i=2..4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * IQUOTOTz ;
+ZIPQANT11 = positif(somme(i=2..4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTANT1 * RPQ1 / TONEQUO1)
+         + (1 - positif(somme(i=2..4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * IQUOTOTANT1 ;
+ZIPQ15 = positif(somme(i=2..4:GLiM)+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+          * arr(IQUOTOT5 * RPQ1M / TONEQUOM1)
+         + (1 - positif(somme(i=2..4:GLiM)+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * IQUOTOT7 ;
+pour z=1,2:
+ZIPQ2z = positif(somme(i=3,4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTz * RPQ2 / TONEQUO1)
+         + (1 - positif(somme(i=3,4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTz-ZIPQ1z) ;
+ZIPQANT21 = positif(somme(i=3,4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTANT1 * RPQ2 / TONEQUO1)
+         + (1 - positif(somme(i=3,4:GLi)+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTANT1 -ZIPQANT11);
+ZIPQ25 = positif(somme(i=3,4:GLiM)+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+          * arr(IQUOTOT5 * RPQ2M / TONEQUOM1)
+         + (1 - positif(somme(i=3,4:GLiM)+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * (IQUOTOT7 -ZIPQ15);
+pour z=1,2:
+ZIPQ3z = positif(GL4+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTz * RPQ3 / TONEQUO1)
+         + (1 - positif(GL4+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTz -somme(x=1,2:ZIPQxz));
+ZIPQANT31 = positif(GL4+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTANT1 * RPQ3 / TONEQUO1)
+         + (1 - positif(GL4+GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTANT1 -somme(x=1,2:ZIPQANTx1));
+ZIPQ35 = positif(GL4M+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+          * arr(IQUOTOT5 * RPQ3M / TONEQUOM1)
+         + (1 - positif(GL4M+GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * (IQUOTOT7 -somme(x=1,2:ZIPQx5));
+pour z=1,2:
+ZIPQ4z = positif(GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTz * RPQ4 / TONEQUO1)
+         + (1 - positif(GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTz -somme(x=1..3:ZIPQxz));
+ZIPQANT41 = positif(GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+          * arr(IQUOTOTANT1 * RPQ4 / TONEQUO1)
+         + (1 - positif(GLFTOT+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * (IQUOTOTANT1 -somme(x=1..3:ZIPQANTx1));
+ZIPQ45 = positif(GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+          * arr(IQUOTOT5 * RPQ4M / TONEQUOM1)
+         + (1 - positif(GLFTOTM+GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * (IQUOTOT7 -somme(x=1..3:ZIPQx5));
+regle 50341:
+application : bareme , iliad , batch  ;
+ZIPQ1TOT= somme(i=1..4 : ZIPQi1);
+ZIPQ2TOT= somme(i=1..4 : ZIPQi2);
+ZIPQ5TOT= somme(i=1..4 : ZIPQi5);
+ZIPQANT1TOT= somme(i=1..4 : ZIPQANTi1);
+regle 5034:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQFVz = positif(somme(i=C,1..4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQFV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT);
+ZIPQFANTV1 = positif(somme(i=C,1..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQFV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT) ;
+ZIPQFV5 = positif(somme(i=C,1..4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQFVM/TONEQUOM1)
+         + (1 - positif(somme(i=C,1..4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT);
+pour z=1,2:
+ZIPQFCz = positif(somme(i=1..4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQFC/TONEQUO1)
+         + (1 - positif(somme(i=1..4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-ZIPQFVz);
+ZIPQFANTC1 = positif(somme(i=1..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQFC/TONEQUO1)
+         + (1 - positif(somme(i=1..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANTV1) ;
+ZIPQFC5 = positif(somme(i=1..4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQFCM/TONEQUOM1)
+         + (1 - positif(somme(i=C,1..4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-ZIPQFV5);
+pour z=1,2:
+ZIPQF1z = positif(somme(i=2,3,4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQF1/TONEQUO1)
+         + (1 - positif(somme(i=2..4:GLFiM)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C:ZIPQFxz));
+ZIPQFANT11 = positif(somme(i=2..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQF1/TONEQUO1)
+         + (1 - positif(somme(i=2..4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C:ZIPQFANTx1)) ;
+ZIPQF15 = positif(somme(i=2,3,4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQF1M/TONEQUOM1)
+         + (1 - positif(somme(i=2..4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C:ZIPQFx5));
+pour z=1,2:
+ZIPQF2z = positif(somme(i=3,4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQF2/TONEQUO1)
+         + (1 - positif(somme(i=3,4:GLFi)+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C,1:ZIPQFxz));
+ZIPQFANT21 = positif(somme(i=3,4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQF2/TONEQUO1)
+         + (1 - positif(somme(i=3,4 : GLFi) +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C,1:ZIPQFANTx1)) ;
+ZIPQF25 = positif(somme(i=3,4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQF2M/TONEQUOM1)
+         + (1 - positif(somme(i=3,4 : GLFiM) +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C,1:ZIPQFx5));
+pour z=1,2:
+ZIPQF3z = positif(GLF4+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQF3/TONEQUO1)
+         + (1 - positif(GLF4+GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C,1,2:ZIPQFxz));
+ZIPQFANT31 = positif(GLF4 +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQF3/TONEQUO1)
+         + (1 - positif(GLF4 +GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C,1,2:ZIPQFANTx1)) ;
+ZIPQF35 = positif(GLF4M +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQF3M/TONEQUOM1)
+         + (1 - positif(GLF4M +GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C,1,2:ZIPQFx5));
+pour z=1,2:
+ZIPQF4z = positif(GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTz*RPQF4/TONEQUO1)
+         + (1 - positif(GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C,1..3:ZIPQFxz));
+ZIPQFANT41 = positif(GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) 
+		* arr(IQUOTOTANT1*RPQF4/TONEQUO1)
+         + (1 - positif(GLPALIMTOT+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C,1..3:ZIPQFANTx1)) ;
+ZIPQF45 = positif(GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) 
+		* arr(IQUOTOT5*RPQF4M/TONEQUOM1)
+         + (1 - positif(GLPALIMTOTM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C,1..3:ZIPQFx5));
+ZIPQF1TOT= somme(i=V,C,1..4 : ZIPQFi1);
+ZIPQF2TOT= somme(i=V,C,1..4 : ZIPQFi2);
+ZIPQF5TOT= somme(i=V,C,1..4 : ZIPQFi5);
+ZIPQFANT1TOT= somme(i=V,C,1..4 : ZIPQFANTi1);
+regle 50396:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQPALIMVz = positif(somme(i=C,1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIMV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT);
+ZIPQPALIMANTV1 = positif(somme(i=C,1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIMV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT
+        );
+ZIPQPALIMV5 = positif(somme(i=C,1..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIMVM/TONEQUOM1)
+         + (1 - positif(somme(i=C,1..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT );
+pour z=1,2:
+ZIPQPALIMCz = positif(somme(i=1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIMC/TONEQUO1)
+         + (1 - positif(somme(i=1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMVz);
+ZIPQPALIMANTC1 = positif(somme(i=1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIMC/TONEQUO1)
+         + (1 - positif(somme(i=1..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANTV1
+        );
+ZIPQPALIMC5 = positif(somme(i=1..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIMCM/TONEQUOM1)
+         + (1 - positif(somme(i=1..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIMV5 );
+pour z=1,2:
+ZIPQPALIM1z = positif(somme(i=2..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIM1/TONEQUO1)
+         + (1 - positif(somme(i=2..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C:ZIPQPALIMiz));
+ZIPQPALIMANT11 = positif(somme(i=2..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIM1/TONEQUO1)
+         + (1 - positif(somme(i=2..4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM15 = positif(somme(i=2..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIM1M/TONEQUOM1)
+         + (1 - positif(somme(i=2..4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C:ZIPQPALIMi5));
+pour z=1,2:
+ZIPQPALIM2z = positif(somme(i=3,4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIM2/TONEQUO1)
+         + (1 - positif(somme(i=3,4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C,1:ZIPQPALIMiz));
+ZIPQPALIMANT21 = positif(somme(i=3,4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIM2/TONEQUO1)
+         + (1 - positif(somme(i=3,4:GLPALIMi)+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C,1:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM25 = positif(somme(i=3,4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIM2M/TONEQUOM1)
+         + (1 - positif(somme(i=3,4:GLPALIMiM)+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C,1:ZIPQPALIMi5));
+pour z=1,2:
+ZIPQPALIM3z = positif(GLPALIM4+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIM3/TONEQUO1)
+         + (1 - positif(GLPALIM4+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C,1..2:ZIPQPALIMiz));
+ZIPQPALIMANT31 = positif(GLPALIM4+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIM3/TONEQUO1)
+         + (1 - positif(GLPALIM4+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C,1..2:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM35 = positif(GLPALIM4M+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIM3M/TONEQUOM1)
+         + (1 - positif(GLPALIM4M+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C,1..2:ZIPQPALIMi5));
+pour z=1,2:
+ZIPQPALIM4z = positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT) * arr(IQUOTOTz*RPQPALIM4/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C,1..3:ZIPQPALIMiz));
+ZIPQPALIMANT41 = positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT + somme(i= V,C : GLTSAFNi)) * arr(IQUOTOTANT1*RPQPALIM4/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRCMTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C,1..3:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM45 = positif(GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPALIM4M/TONEQUOM1)
+         + (1 - positif(GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C,1..3:ZIPQPALIMi5));
+ZIPQPALIM1TOT= somme(i=V,C,1..4 : ZIPQPALIMi1);
+ZIPQPALIM2TOT= somme(i=V,C,1..4 : ZIPQPALIMi2);
+ZIPQPALIM5TOT= somme(i=V,C,1..4 : ZIPQPALIMi5);
+ZIPQPALIMANT1TOT= somme(i=V,C,1..4 : ZIPQPALIMANTi1);
+regle 50397:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMDCz = positif(GLRCMFU+GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMDC/TONEQUO1)
+         + (1 - positif(GLRCMFU+GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT);
+ZIPQRCMDCANT1 = positif(GLRCMFU+GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMDC/TONEQUO1)
+         + (1 - positif(GLRCMFU+GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT
+        );
+ZIPQRCMDC5 = positif(GLRCMFUM+GLRCMCHM+GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMDCM/TONEQUOM1)
+         + (1 - positif(GLRCMFUM+GLRCMCHM+GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRCMTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT);
+regle 50398:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMFUz = positif(GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMFU/TONEQUO1)
+         + (1 - positif(GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz);
+ZIPQRCMFUANT1 = positif(GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMFU/TONEQUO1)
+         + (1 - positif(GLRCMCH+GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1
+        );
+ZIPQRCMFU5 = positif(GLRCMCHM+GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMFUM/TONEQUOM1)
+         + (1 - positif(GLRCMCHM+GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5);
+regle 50401:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMCHz = positif(GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMCH/TONEQUO1)
+         + (1 - positif(GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz);
+ZIPQRCMCHANT1 = positif(GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMCH/TONEQUO1)
+         + (1 - positif(GLRCMTS+GLRCMGO+GLRCMTR+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1
+        );
+ZIPQRCMCH5 = positif(GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMCHM/TONEQUOM1)
+         + (1 - positif(GLRCMTSM+GLRCMGOM+GLRCMTRM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5);
+regle 50402:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMTRz = positif(GLRCMGO+GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMTR/TONEQUO1)
+         + (1 - positif(GLRCMGO+GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz-ZIPQRCMCHz);
+ZIPQRCMTRANT1 = positif(GLRCMGO+GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMTR/TONEQUO1)
+         + (1 - positif(GLRCMGO+GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1-ZIPQRCMCHANT1
+        );
+ZIPQRCMTR5 = positif(GLRCMGOM+GLRCMTSM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMTRM/TONEQUOM1)
+         + (1 - positif(GLRCMGOM+GLRCMTSM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5-ZIPQRCMCH5);
+regle 50403:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMGOz = positif(GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMGO/TONEQUO1)
+         + (1 - positif(GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz-ZIPQRCMCHz-ZIPQRCMTRz);
+ZIPQRCMGOANT1 = positif(GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMGO/TONEQUO1)
+         + (1 - positif(GLRCMTS+GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1-ZIPQRCMCHANT1-ZIPQRCMTRANT1
+        );
+ZIPQRCMGO5 = positif(GLRCMTSM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMGOM/TONEQUOM1)
+         + (1 - positif(GLRCMTSM+GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5-ZIPQRCMCH5-ZIPQRCMTR5);
+regle 50404:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMTSz = positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQRCMTS/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz-ZIPQRCMCHz-ZIPQRCMTRz-ZIPQRCMGOz);
+ZIPQRCMTSANT1 = positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQRCMTS/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLPRRTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1-ZIPQRCMCHANT1-ZIPQRCMTRANT1-ZIPQRCMGOANT1
+        );
+ZIPQRCMTS5 = positif(GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQRCMTSM/TONEQUOM1)
+         + (1 - positif(GLTSTOTM+GLTSREMPTOTM+GLPRRTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5-ZIPQRCMCH5-ZIPQRCMTR5-ZIPQRCMGO5);
+ZIPQRCM1TOT= ZIPQRCMDC1 + ZIPQRCMFU1 + ZIPQRCMCH1 + ZIPQRCMTS1 + ZIPQRCMGO1 + ZIPQRCMTR1;
+ZIPQRCM2TOT= ZIPQRCMDC2 + ZIPQRCMFU2 + ZIPQRCMCH2 + ZIPQRCMTS2 + ZIPQRCMGO2 + ZIPQRCMTR2;
+ZIPQRCM5TOT= ZIPQRCMDC5 + ZIPQRCMFU5 + ZIPQRCMCH5 + ZIPQRCMTS5 + ZIPQRCMGO5 + ZIPQRCMTR5;
+ZIPQRCMANT1TOT= ZIPQRCMDCANT1 + ZIPQRCMFUANT1 + ZIPQRCMCHANT1 + ZIPQRCMTSANT1 + ZIPQRCMGOANT1 + ZIPQRCMTRANT1;
+regle 50410:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQPRRVz = positif(somme(i=C,1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRRV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT);
+ZIPQPRRANTV1 = positif(somme(i=C,1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRRV/TONEQUO1)
+         + (1 - positif(somme(i=C,1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT
+        );
+ZIPQPRRV5 = positif(somme(i=C,1..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRRVM/TONEQUOM1)
+         + (1 - positif(somme(i=C,1..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT);
+pour z=1,2:
+ZIPQPRRCz = positif(somme(i=1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRRC/TONEQUO1)
+         + (1 - positif(somme(i=1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz);
+ZIPQPRRANTC1 = positif(somme(i=1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRRC/TONEQUO1)
+         + (1 - positif(somme(i=1..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1
+        );
+ZIPQPRRC5 = positif(somme(i=1..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRRCM/TONEQUOM1)
+         + (1 - positif(somme(i=1..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5);
+pour z=1,2:
+ZIPQPRR1z = positif(somme(i=2..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRR1/TONEQUO1)
+         + (1 - positif(somme(i=2..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz-ZIPQPRRCz);
+ZIPQPRRANT11 = positif(somme(i=2..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRR1/TONEQUO1)
+         + (1 - positif(somme(i=2..4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1-ZIPQPRRANTC1
+        );
+ZIPQPRR15 = positif(somme(i=2..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRR1M/TONEQUOM1)
+         + (1 - positif(somme(i=2..4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5-ZIPQPRRC5);
+pour z=1,2:
+ZIPQPRR2z = positif(somme(i=3,4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRR2/TONEQUO1)
+         + (1 - positif(somme(i=3,4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz-ZIPQPRRCz-ZIPQPRR1z);
+ZIPQPRRANT21 = positif(somme(i=3,4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRR2/TONEQUO1)
+         + (1 - positif(somme(i=3,4 : GLPRRi)+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1-ZIPQPRRANTC1-ZIPQPRRANT11
+        );
+ZIPQPRR25 = positif(somme(i=3,4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRR2M/TONEQUOM1)
+         + (1 - positif(somme(i=3,4 : GLPRRiM)+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5-ZIPQPRRC5-ZIPQPRR15);
+pour z=1,2:
+ZIPQPRR3z = positif(GLPRR4+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRR3/TONEQUO1)
+         + (1 - positif(GLPRR4+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz-ZIPQPRRCz-ZIPQPRR1z-ZIPQPRR2z);
+ZIPQPRRANT31 = positif(GLPRR4+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRR3/TONEQUO1)
+         + (1 - positif(GLPRR4+GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1-ZIPQPRRANTC1-ZIPQPRRANT11-ZIPQPRRANT21
+        );
+ZIPQPRR35 = positif(GLPRR4M+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRR3M/TONEQUOM1)
+         + (1 - positif(GLPRR4M+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5-ZIPQPRRC5-ZIPQPRR15-ZIPQPRR25);
+pour z=1,2:
+ZIPQPRR4z = positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTz*RPQPRR4/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz-ZIPQPRRCz-ZIPQPRR1z-ZIPQPRR2z-ZIPQPRR3z);
+ZIPQPRRANT41 = positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT) * arr(IQUOTOTANT1*RPQPRR4/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT+GLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1-ZIPQPRRANTC1-ZIPQPRRANT11-ZIPQPRRANT21-ZIPQPRRANT31
+        );
+ZIPQPRR45 = positif(GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM) *arr(IQUOTOT5*RPQPRR4M/TONEQUOM1)
+         + (1 - positif(GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM+GLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5-ZIPQPRRC5-ZIPQPRR15-ZIPQPRR25-ZIPQPRR35);
+ZIPQPRR1TOT= somme(i=V,C,1..4 : ZIPQPRRi1);
+ZIPQPRR2TOT= somme(i=V,C,1..4 : ZIPQPRRi2);
+ZIPQPRR5TOT= somme(i=V,C,1..4 : ZIPQPRRi5);
+ZIPQPRRANT1TOT= somme(i=V,C,1..4 : ZIPQPRRANTi1);
+regle 50415:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRF1z = positif(GLRF2+GLTSTOT+GLTSREMPTOT+GLRVOTOT) * arr(IQUOTOTz*RPQRF1/TONEQUO1)
+         + (1 - positif(GLRF2+GLTSTOT+GLTSREMPTOT+GLRVOTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRzTOT);
+ZIPQRFANT11 = positif(GLRF2+GLTSTOT+GLTSREMPTOT+GLRVOTOT) * arr(IQUOTOTANT1*RPQRF1/TONEQUO1)
+         + (1 - positif(GLRF2+GLTSTOT+GLTSREMPTOT+GLRVOTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANT1TOT
+        );
+ZIPQRF15 = positif(GLRF2M+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM) *arr(IQUOTOT5*RPQRF1M/TONEQUOM1)
+         + (1 - positif(GLRF2M+GLTSTOTM+GLTSREMPTOTM+GLRVOTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRR5TOT);
+pour z=1,2:
+ZIPQRF2z = positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT) * arr(IQUOTOTz*RPQRF2/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRzTOT-ZIPQRF1z);
+ZIPQRFANT21 = positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT) * arr(IQUOTOTANT1*RPQRF2/TONEQUO1)
+         + (1 - positif(GLTSTOT+GLTSREMPTOT+GLRVOTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANT1TOT-ZIPQRFANT11
+        );
+ZIPQRF25 = positi
\ No newline at end of file
diff --git a/sources2012m_3_13/chap-52.m b/sources2012m_3_13/chap-52.m
new file mode 100644
index 0000000000000000000000000000000000000000..ed67e4ed6c6089246eb5b46869d8edd299c14469
--- /dev/null
+++ b/sources2012m_3_13/chap-52.m
@@ -0,0 +1,108 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 507:
+application : bareme , iliad , batch  ;
+
+TAUX1 =   (TX_BAR1  - TX_BAR0 ) ;
+TAUX2 =   (TX_BAR2  - TX_BAR1 ) ;
+TAUX3 =   (TX_BAR3  - TX_BAR2 ) ;
+TAUX4 =   (TX_BAR4  - TX_BAR3 ) ;
+TAUX5 =   (TX_BAR5  - TX_BAR4 ) ;
+
+regle 50700:
+application : bareme , iliad , batch  ;
+pour x=0,5;y=1,2;z=1,2:
+DSxyz = max( QFxyz - LIM_BAR1  , 0 ) * (TAUX1   / 100)
+      + max( QFxyz - LIM_BAR2  , 0 ) * (TAUX2   / 100)
+      + max( QFxyz - LIM_BAR3  , 0 ) * (TAUX3   / 100)
+      + max( QFxyz - LIM_BAR4  , 0 ) * (TAUX4   / 100)
+      + max( QFxyz - LIM_BAR5  , 0 ) * (TAUX5   / 100);
+
+regle 50702:
+application : iliad , batch  ;
+WTXMARJ = (RB51) / ( NB1 * null(PLAFQF) + NB2 *null(1-PLAFQF)) ;
+TXMARJ = max ( positif (WTXMARJ - LIM_BAR1) * TX_BAR1 , 
+                max ( positif (WTXMARJ - LIM_BAR2) * TX_BAR2 , 
+                      max ( positif (WTXMARJ - LIM_BAR3) * TX_BAR3 , 
+                             max ( positif (WTXMARJ - LIM_BAR4) * TX_BAR4 ,
+                                   max ( positif (WTXMARJ - LIM_BAR5) * TX_BAR5 , 0
+				       )
+                                 )
+                          )
+                     )
+              )
+
+          * ( 1 - positif ( 
+                              present ( NRBASE ) 
+                            + present ( NRINET ) 
+                            + present ( IPTEFP ) 
+                            + present ( IPTEFN ) 
+                            + present ( PRODOM ) 
+                            + present ( PROGUY ) 
+                          )              
+             )
+          * (1- null(2 - V_REGCO))
+  * positif(IDRS2+IPQ1);
+
+
+
+regle 5071:
+application : bareme , iliad , batch  ;
+pour y=1,2:
+DS0y3 = max( QF0y3 - LIM_BAR1  , 0 ) * (TAUX1 /100)
+      + max( QF0y3 - LIM_BAR2  , 0 ) * (TAUX2 /100)
+      + max( QF0y3 - LIM_BAR3  , 0 ) * (TAUX3 /100)
+      + max( QF0y3 - LIM_BAR4  , 0 ) * (TAUX4 /100)
+      + max( QF0y3 - LIM_BAR5  , 0 ) * (TAUX5 /100);
+pour y=1,2:
+DS0y4 = max( QF0y4 - LIM_BAR1  , 0 ) * (TAUX1 /100)
+      + max( QF0y4 - LIM_BAR2  , 0 ) * (TAUX2 /100)
+      + max( QF0y4 - LIM_BAR3  , 0 ) * (TAUX3 /100)
+      + max( QF0y4 - LIM_BAR4  , 0 ) * (TAUX4 /100)
+      + max( QF0y4 - LIM_BAR5  , 0 ) * (TAUX5 /100);
+pour x=0,5:
+DSx15 = max( QFx15 - LIM_BAR1  , 0 ) * (TAUX1 /100)
+      + max( QFx15 - LIM_BAR2  , 0 ) * (TAUX2 /100)
+      + max( QFx15 - LIM_BAR3  , 0 ) * (TAUX3 /100)
+      + max( QFx15 - LIM_BAR4  , 0 ) * (TAUX4 /100)
+      + max( QFx15 - LIM_BAR5  , 0 ) * (TAUX5 /100);
+pour y=1,2:
+DS0y6 = max( QF0y6 - LIM_BAR1  , 0 ) * (TAUX1 /100)
+      + max( QF0y6 - LIM_BAR2  , 0 ) * (TAUX2 /100)
+      + max( QF0y6 - LIM_BAR3  , 0 ) * (TAUX3 /100)
+      + max( QF0y6 - LIM_BAR4  , 0 ) * (TAUX4 /100)
+      + max( QF0y6 - LIM_BAR5  , 0 ) * (TAUX5 /100);
+regle 508:
+application : bareme , iliad , batch  ;
+NB1 = NBPT ;
+NB2 = 1 + BOOL_0AM + BOOL_0AZ * V_0AV ;
+regle 5080:
+application : bareme , iliad , batch  ;
+pour y=1,2;z=1,2,3:
+QF0yz = arr(RB0z) / NBy;
+pour y=1,2;z=1,2:
+QF5yz = arr(RB5z) / NBy;
+pour y=1,2:
+QF0y4 = arr(RB04) / NBy;
+pour x=0,5:
+QFx15 = arr(RBx5) / NB1;
+pour y=1,2:
+QF0y6 = arr(RB06) / NBy;
diff --git a/sources2012m_3_13/chap-6.m b/sources2012m_3_13/chap-6.m
new file mode 100644
index 0000000000000000000000000000000000000000..84a08f7cb87839d77aaa3903dab9dcd3f1443c0b
--- /dev/null
+++ b/sources2012m_3_13/chap-6.m
@@ -0,0 +1,125 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #  
+                                                                        
+  ####   #    #    ##    #####      #     #####  #####   ######          #####
+ #    #  #    #   #  #   #    #     #       #    #    #  #              #
+ #       ######  #    #  #    #     #       #    #    #  #####          # ####
+ #       #    #  ######  #####      #       #    #####   #              #     #
+ #    #  #    #  #    #  #          #       #    #   #   #              #     #
+  ####   #    #  #    #  #          #       #    #    #  ######   ####   #####
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                      CALCUL DU NOMBRE DE PARTS
+ #
+ #
+ #
+ #
+ #
+regle 601:
+application :  batch , iliad   ;
+NBPT =  ((NSM + NPA + NIN + NSP + NBQAR)* 10)/10 ;
+
+NBPOTE = V_0CF + V_0CH + V_0CR + V_0DJ + V_0DN + V_0DP ;
+
+regle 6010:
+application : bareme ;
+NBPT =  (1 - present(V_9VV)) * ((NSM + NPA + NIN + NSP + NBQAR)* 10)/10 
+      + V_9VV ;
+regle 6011:
+application : bareme , iliad , batch  ;
+NSM = 1 + BOOL_0AM + V_0AV * min(BOOL_0AZ + EAC + V_0CH + V_0CR, 1 ) +
+    ( V_0AV * BOOL_0AZ * V_0AW * (1 - V_0AP) * (1 - V_0AF) / 2 ) ;
+regle 6012:
+application : bareme , iliad , batch  ;
+NPA = PAC - 0.5 * min( PAC, 2 ) ;
+regle 60121:
+application : bareme , iliad , batch  ;
+PAC = EAC + V_0CR;
+regle 60122:
+application : bareme ;
+EAC = ((V_0CF + V_0DJ) * (1 - present(V_9XX)))  + V_9XX ;
+regle 601220:
+application : batch , iliad ;
+EAC = (V_0CF + V_0DJ) ;
+regle 6013:
+application : bareme , iliad , batch  ;
+NIN =  ( V_0AP + V_0AF + V_0CG + V_0CR ) * 0.5;
+regle 6014:
+application : bareme , iliad , batch  ;
+NSP = NPS + NSA + NCC;
+regle 60141:
+application : bareme , iliad , batch  ;
+NCC = V_0AS * BOOL_0AM * (1 - positif(V_0AP + V_0AF)) * 0.5 *
+      positif(max( AGV + 1 - LIM_AGE_LET_S, AGC + 1 - LIM_AGE_LET_S ));
+regle 60142:
+application : bareme , iliad , batch  ;
+NPS = positif(PAC) * V_0BT * positif( 2 - NSM ) * 0.5 ;
+regle 60143:
+application : bareme , iliad , batch  ;
+NSA = (1 - positif(PAC+V_0CH)) 
+          * min( V_0AE * positif(positif(ZONEANTEK + V_BT0AE )*(1-positif(V_0AL)) +positif(V_0AL)
+		 * ( 1 - positif(positif(V_0AW)*positif_ou_nul(AGV-LIM_AGE_LET_S)))) * (1 - positif(V_0DN))  * (1 - positif(V_0AN)) 
+
+
+	       + V_0AG
+	       + (V_0AL * (1-positif(V_0AE)) * (1 - positif (V_0AN))) * ( 1 - positif(positif(V_0AW)*positif_ou_nul(AGV-LIM_AGE_LET_S)))	
+               + V_0AW * positif(max(AGV + 1 - LIM_AGE_LET_S, AGC + 1 - LIM_AGE_LET_S)) 
+      , 1 )
+      * ( 1 - V_0AP ) * positif(2 - NSM) * 0.5;
+ 
+NSA2 = min( (1 - positif(PAC+V_0CH))
+              *
+       (null(SFUTILE - 14)
+        + null (SFUTILE - 7)
+        + null (SFUTILE - 15) * (1-positif(NIN))    
+       )
+        +
+           null(SFUTILE -7) * BOOL_0AZ * V_0AV
+       , 1)
+* 0.5;
+regle 60200:
+application : bareme , iliad , batch  ;
+
+
+BOOL_0BT = positif ( V_0BT+0 ) * positif ( V_0AC + V_0AD + 0);
+
+NBQAR1 =   null (V_0CF+V_0CR+V_0DJ+0)    * (  1/2 * (V_0CH-2) * positif (V_0CH- 2) 
+                                + 1/4 * positif (V_0CH+0) 
+                                + 1/4 * positif(V_0CH-1)
+                               );
+NBQAR2 =   null(V_0CF+V_0CR+V_0DJ-1) * (1/2 * (V_0CH -1 ) * positif(V_0CH -1) 
+                               + 1/4 * positif (V_0CH+0) 
+                           );
+NBQAR3 =   positif_ou_nul(V_0CF+V_0CR+V_0DJ-2) * 1/2 * V_0CH ;
+
+NBQAR4 =  1/4 * V_0CI ;
+
+NBQART =  BOOL_0BT * null(V_0CF+V_0CR+V_0DJ+0) 
+                     * (1/4 * null (V_0CH  -1) + 1/2 *  positif_ou_nul (V_0CH  - 2)) ;
+
+NBQAR = NBQAR1 + NBQAR2 + NBQAR3 + NBQAR4 + NBQART;
diff --git a/sources2012m_3_13/chap-7.m b/sources2012m_3_13/chap-7.m
new file mode 100644
index 0000000000000000000000000000000000000000..7b89b9cb79525ced8dd67d7bdaaf04be447e6280
--- /dev/null
+++ b/sources2012m_3_13/chap-7.m
@@ -0,0 +1,490 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+ #
+                                                                        #######
+  ####   #    #    ##    #####      #     #####  #####   ######         #    #
+ #    #  #    #   #  #   #    #     #       #    #    #  #                  #
+ #       ######  #    #  #    #     #       #    #    #  #####             #
+ #       #    #  ######  #####      #       #    #####   #                #
+ #    #  #    #  #    #  #          #       #    #   #   #                #
+  ####   #    #  #    #  #          #       #    #    #  ###### #######   #
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                           REVENU IMPOSABLE
+ #
+ #                           ET       CHARGES
+ #
+ #
+ #
+ #
+regle 700:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+RB5z = max( 0, RB0z + TONEQUO1) ;
+RB55 = max( 0, RB05 + TONEQUOM1) ;
+regle 701:
+application : bareme , iliad , batch  ;
+RB01 = (RI1 * (1 - positif(IPTEFP + IPTEFN +INDTEFF))) 
+	+ (IPTEFP + RFROBOR * V_INDTEO * present(IPTEFP))
+	+TEFFREVTOT*(1-positif(IPTEFP))*INDTEFF;
+RB02 = (RI2 * (1 - positif(IPTEFP + IPTEFN+ INDTEFF))) 
+	+ positif(IPTEFP)*(IPTEFP +RFROBOR * V_INDTEO * present(IPTEFP)+ DPAE) 
+	+ TEFFREVTOT*(1-positif(IPTEFP))*INDTEFF;
+RB03 = (RI3 * (1 - positif(IPTEFP + IPTEFN+ INDTEFF))) 
+	+ max( 0 , IPTEFP+RFROBOR * V_INDTEO * present(IPTEFP))
+	+min(TEFFREVTOT,0) * (1-positif(IPTEFP)) * INDTEFF;
+RB04 = IND_TDR;
+regle 70105:
+application : iliad , bareme , batch ;
+RB05 = RMOND ;
+RB06 = RE168+TAX1649;
+regle 7011:
+application : iliad , batch  ;
+TONEQUO1 = somme(x=1..4:RPQx) + somme(x=V,C,1..4: RPQFx) + somme(x=V,C,1..4: RPQPALIMx) + somme(x=1,2 : RPQRFx)
+	 + RPQRCMDC + RPQRCMFU  + RPQRCMCH  + RPQRCMTR  + RPQRCMTS + RPQRCMGO +somme(x=V,C,1..4 : RPQPRRx) + RPQRVO  + RPQRVO5  + RPQRVO6  + RPQRVO7
+	 + somme(x=V,C,1..4 : RPQTSx) + somme(x=V,C,1..4 : RPQTSREMPx);
+TONEQUOM1 = somme(x=1..4:RPQxM) + somme(x=V,C,1..4: RPQFxM) + somme(x=V,C,1..4: RPQPALIMxM) + somme(x=1,2 : RPQRFxM)
+	 + RPQRCMDCM + RPQRCMFUM  + RPQRCMCHM  + RPQRCMTRM  + RPQRCMTSM + RPQRCMGOM +somme(x=V,C,1..4 : RPQPRRxM) + RPQRVOM  + RPQRVO5M  + RPQRVO6M  + RPQRVO7M
+	 + somme(x=V,C,1..4 : RPQTSxM) + somme(x=V,C,1..4 : RPQTSREMPxM);
+regle 70111  :
+application : iliad , batch  ;
+REV1 = GLN1;
+REV2 = GLN2;   
+REV3 = GLN3;
+REV4 = 4BAQTOTNET;
+REVF = somme(i=V,C,1..4: PENFi);
+REVALIM = somme (i=V,C,1..4: PENALIMi);
+REVTS = somme (i=V,C,1..4:TSNN2i);
+REVTSREMP = somme (i=V,C,1..4:TSNN2REMPi);
+REVPRR = somme (i=V,C,1..4:PRR2i);
+REVRVO = T2RV;
+REVRCM = 2RCM + 3RCM + 4RCM + 5RCM + 6RCM + 7RCM;
+REVRF = 2REVF+3REVF;
+REVQTOT = somme(i=1..4 : REVi) + REVALIM + REVF+REVTS+REVPRR+REVRVO+REVRCM+REVRF;
+regle 70112  :
+application : iliad , batch  ;
+GL1 = positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * REV1 / TOTALQUO) +
+     (1 - positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * TONEQUO;
+GL2 = positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * REV2 / TOTALQUO) +
+     (1 - positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GL1);
+GL3 = positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * REV3 / TOTALQUO) +
+     (1 - positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO - GL1 - GL2);
+GL4 = positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * REV4 / TOTALQUO) +
+     (1 - positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO - GL1 - GL2 - GL3);
+GLTOT = somme(i=1..4:GLi);
+GLFV = positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENFV / TOTALQUO) +
+      (1 - positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT);
+GLFC = positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENFC / TOTALQUO) +
+      (1 - positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFV);
+GLF1 = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF1 / TOTALQUO) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFV-GLFC);
+GLF2 = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF2 / TOTALQUO) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFV-GLFC-GLF1);
+GLF3 = positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF3 / TOTALQUO) +
+      (1 - positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFV-GLFC-GLF1-GLF2);
+GLF4 = positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF4 / TOTALQUO) +
+      (1 - positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFV-GLFC-GLF1-GLF2-GLF3);
+GLFTOT = somme(i=V,C,1..4:GLFi);
+GLPALIMV = positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIMV / TOTALQUO) +
+      (1 - positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT);
+GLPALIMC = positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIMC / TOTALQUO) +
+      (1 - positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMV);
+GLPALIM1 = positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIM1 / TOTALQUO) +
+      (1 - positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMV-GLPALIMC);
+GLPALIM2 = positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIM2 / TOTALQUO) +
+      (1 - positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMV-GLPALIMC-GLPALIM1);
+GLPALIM3 = positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIM3 / TOTALQUO) +
+      (1 - positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMV-GLPALIMC-GLPALIM1-GLPALIM2);
+GLPALIM4 = positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENALIM4 / TOTALQUO) +
+      (1 - positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMV-GLPALIMC-GLPALIM1-GLPALIM2-GLPALIM3);
+GLPALIMTOT = somme(i=V,C,1..4:GLPALIMi);
+GLTSV = positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TSV / TOTALQUO) +
+      (1 - positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT);
+GLTSC = positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TSC / TOTALQUO) +
+      (1 - positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSV);
+GLTS1 = positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TS1 / TOTALQUO) +
+      (1 - positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC);
+GLTS2 = positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TS2 / TOTALQUO) +
+      (1 - positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC-GLTS1);
+GLTS3 = positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TS3 / TOTALQUO) +
+      (1 - positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC-GLTS1-GLTS2);
+GLTS4 = positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2TS4 / TOTALQUO) +
+      (1 - positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC-GLTS1-GLTS2-GLTS3);
+GLTSTOT = somme(i=V,C,1..4:GLTSi);
+GLTSREMPV = positif(TSNN2REMPC+TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMPV / TOTALQUO) +
+      (1 - positif(TSNN2REMPC+TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLTSTOT-GLPALIMTOT);
+GLTSREMPC = positif(TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMPC / TOTALQUO) +
+      (1 - positif(TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV);
+GLTSREMP1 = positif(TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMP1 / TOTALQUO) +
+      (1 - positif(TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC);
+GLTSREMP2 = positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMP2 / TOTALQUO) +
+      (1 - positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC-GLTSREMP1);
+GLTSREMP3 = positif(TSNN2REMP4+TSNN2REMPC+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMP3 / TOTALQUO) +
+      (1 - positif(TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC-GLTSREMP1-GLTSREMP2);
+GLTSREMP4 = positif(REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TSNN2REMP4 / TOTALQUO) +
+      (1 - positif(REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC-GLTSREMP1-GLTSREMP2-GLTSREMP3);
+GLTSREMPTOT = somme(i=V,C,1..4:GLTSREMPi);
+GLPRRV = positif(PRR2C+PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR2V / TOTALQUO) +
+      (1 - positif(PRR2C+PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT);
+GLPRRC = positif(PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR2C / TOTALQUO) +
+      (1 - positif(PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV);
+GLPRR1 = positif(PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR21 / TOTALQUO) +
+      (1 - positif(PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC);
+GLPRR2 = positif(PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR22 / TOTALQUO) +
+      (1 - positif(PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1);
+GLPRR3 = positif(PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR23 / TOTALQUO) +
+      (1 - positif(PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2);
+GLPRR4 = positif(REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR24 / TOTALQUO) +
+      (1 - positif(REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2-GLPRR3);
+GLPRRTOT = somme(i=V,C,1..4:GLPRRi);
+GLRVO = positif(2RV2 + 2RV3 + 2RV4 +REVRCM+REVRF)*arr(TONEQUO * 2RV1 / TOTALQUO) +
+      (1 - positif(2RV2 + 2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT);
+GLRVO5 = positif(2RV3 + 2RV4+REVRCM+REVRF)*arr(TONEQUO * 2RV2 / TOTALQUO) +
+      (1 - positif(2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVO);
+GLRVO6 = positif(2RV4+REVRCM+REVRF)*arr(TONEQUO * 2RV3 / TOTALQUO) +
+      (1 - positif(2RV4+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLPRRTOT-GLTSREMPTOT-GLRVO-GLRVO5);
+GLRVO7 = positif(REVRCM+REVRF)*arr(TONEQUO * 2RV4 / TOTALQUO) +
+      (1 - positif(REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVO-GLRVO5-GLRVO6);
+GLRVOTOT = GLRVO + GLRVO5 + GLRVO6 + GLRVO7;
+GLRCMDC  = positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUO * 2RCM / TOTALQUO) +
+      (1 - positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT);
+GLRCMFU  = positif(4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUO * 3RCM / TOTALQUO) +
+      (1 - positif(4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC);
+GLRCMCH  = positif(5RCM+6RCM+7RCM+REVRF)*arr(TONEQUO * 4RCM / TOTALQUO) +
+      (1 - positif(5RCM+6RCM+7RCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU);
+GLRCMTS  = positif(6RCM+7RCM+REVRF)*arr(TONEQUO * 5RCM / TOTALQUO) +
+      (1 - positif(6RCM+7RCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU - GLRCMCH);
+GLRCMGO = positif(7RCM+REVRF)*arr(TONEQUO * 6RCM / TOTALQUO) +
+      (1 - positif(7RCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU - GLRCMCH - GLRCMTS);
+GLRCMTR  = positif(REVRF)*arr(TONEQUO * 7RCM / TOTALQUO) +
+      (1 - positif(REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU - GLRCMCH - GLRCMGO - GLRCMTS);
+GLRCMTOT = GLRCMDC + GLRCMFU + GLRCMCH + GLRCMGO + GLRCMTR + GLRCMTS;
+GLRF1  = positif(3REVF)*arr(TONEQUO * 2REVF / TOTALQUO) +
+      (1 - positif(3REVF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT-GLRCMTOT);
+GLRF2  = (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT-GLRCMTOT-GLRF1);
+GLRFTOT = GLRF1 + GLRF2;
+regle 701125  :
+application : iliad , batch  ;
+GL1M = positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * REV1 / TOTALQUO) +
+     (1 - positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * TONEQUOM;
+GL2M = positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * REV2 / TOTALQUO) +
+     (1 - positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GL1M);
+GL3M = positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * REV3 / TOTALQUO) +
+     (1 - positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM - GL1M - GL2M);
+GL4M = positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * REV4 / TOTALQUO) +
+     (1 - positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM - GL1M - GL2M - GL3M);
+GLTOTM = somme(i=1..4:GLiM);
+GLFVM = positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENFV / TOTALQUO) +
+      (1 - positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM);
+GLFCM = positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENFC / TOTALQUO) +
+      (1 - positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFVM);
+GLF1M = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENF1 / TOTALQUO) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFVM-GLFCM);
+GLF2M = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENF2 / TOTALQUO) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFVM-GLFCM-GLF1M);
+GLF3M = positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENF3 / TOTALQUO) +
+      (1 - positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFVM-GLFCM-GLF1M-GLF2M);
+GLF4M = positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENF4 / TOTALQUO) +
+      (1 - positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOT-GLFVM-GLFCM-GLF1M-GLF2M-GLF3M);
+GLFTOTM = somme(i=V,C,1..4:GLFiM);
+GLPALIMVM = positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIMV / TOTALQUO) +
+      (1 - positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM);
+GLPALIMCM = positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIMC / TOTALQUO) +
+      (1 - positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMVM);
+GLPALIM1M = positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIM1 / TOTALQUO) +
+      (1 - positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMVM-GLPALIMCM);
+GLPALIM2M = positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIM2 / TOTALQUO) +
+      (1 - positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMVM-GLPALIMCM-GLPALIM1M);
+GLPALIM3M = positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIM3 / TOTALQUO) +
+      (1 - positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMVM-GLPALIMCM-GLPALIM1M-GLPALIM2M);
+GLPALIM4M = positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PENALIM4 / TOTALQUO) +
+      (1 - positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMVM-GLPALIMCM-GLPALIM1M-GLPALIM2M-GLPALIM3M);
+GLPALIMTOTM = somme(i=V,C,1..4:GLPALIMiM);
+GLTSVM = positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TSV / TOTALQUO) +
+      (1 - positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM);
+GLTSCM = positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TSC / TOTALQUO) +
+      (1 - positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSVM);
+GLTS1M = positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TS1 / TOTALQUO) +
+      (1 - positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSVM-GLTSCM);
+GLTS2M = positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TS2 / TOTALQUO) +
+      (1 - positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSVM-GLTSCM-GLTS1M);
+GLTS3M = positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TS3 / TOTALQUO) +
+      (1 - positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSVM-GLTSCM-GLTS1M-GLTS2M);
+GLTS4M = positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2TS4 / TOTALQUO) +
+      (1 - positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSVM-GLTSCM-GLTS1M-GLTS2M-GLTS3M);
+GLTSTOTM = somme(i=V,C,1..4:GLTSiM);
+GLTSREMPVM = positif(TSNN2REMPC+TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2REMPV / TOTALQUO) +
+      (1 - positif(TSNN2REMPC+TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM);
+GLTSREMPCM = positif(TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2REMPC / TOTALQUO) +
+      (1 - positif(TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPVM);
+GLTSREMP1M = positif(TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2REMP1 / TOTALQUO) +
+      (1 - positif(TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPVM-GLTSREMPCM);
+GLTSREMP2M = positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2REMP2 / TOTALQUO) +
+      (1 - positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPVM-GLTSREMPCM-GLTSREMP1M);
+GLTSREMP3M = positif(TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN2REMP3 / TOTALQUO) +
+      (1 - positif(TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPVM-GLTSREMPCM-GLTSREMP1M-GLTSREMP2M);
+GLTSREMP4M = positif(REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * TSNN24 / TOTALQUO) +
+      (1 - positif(REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPVM-GLTSREMPCM-GLTSREMP1M-GLTSREMP2M-GLTSREMP3M);
+GLTSREMPTOTM = somme(i=V,C,1..4:GLTSREMPiM);
+GLPRRVM = positif(PRR2C+PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR2V / TOTALQUO) +
+      (1 - positif(PRR2C+PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM);
+GLPRRCM = positif(PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR2C / TOTALQUO) +
+      (1 - positif(PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRVM);
+GLPRR1M = positif(PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR21 / TOTALQUO) +
+      (1 - positif(PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRVM-GLPRRCM);
+GLPRR2M = positif(PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR22 / TOTALQUO) +
+      (1 - positif(PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRVM-GLPRRCM-GLPRR1M);
+GLPRR3M = positif(PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR23 / TOTALQUO) +
+      (1 - positif(PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRVM-GLPRRCM-GLPRR1M-GLPRR2M);
+GLPRR4M = positif(REVRVO+REVRCM+REVRF)*arr(TONEQUOM * PRR24 / TOTALQUO) +
+      (1 - positif(REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRVM-GLPRRCM-GLPRR1M-GLPRR2M-GLPRR3M);
+GLPRRTOTM = somme(i=V,C,1..4:GLPRRiM);
+GLRVOM = positif(2RV2 + 2RV3 + 2RV4 +REVRCM+REVRF)*arr(TONEQUOM * 2RV1 / TOTALQUO) +
+      (1 - positif(2RV2 + 2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM);
+GLRVO5M = positif(2RV3 + 2RV4+REVRCM+REVRF)*arr(TONEQUOM * 2RV2 / TOTALQUO) +
+      (1 - positif(2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOM);
+GLRVO6M = positif(2RV4+REVRCM+REVRF)*arr(TONEQUOM * 2RV3 / TOTALQUO) +
+      (1 - positif(2RV4+REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOM-GLRVO5M);
+GLRVO7M = positif(REVRCM+REVRF)*arr(TONEQUOM * 2RV4 / TOTALQUO) +
+      (1 - positif(REVRCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOM-GLRVO5M-GLRVO6M);
+GLRVOTOTM = GLRVOM + GLRVO5M + GLRVO6M + GLRVO7M;
+GLRCMDCM = positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUOM * 2RCM / TOTALQUO) +
+      (1 - positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM);
+GLRCMFUM = positif(4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUOM * 3RCM / TOTALQUO) +
+      (1 - positif(4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM - GLRCMDCM);
+GLRCMCHM = positif(5RCM+6RCM+7RCM+REVRF)*arr(TONEQUOM * 4RCM / TOTALQUO) +
+      (1 - positif(5RCM+6RCM+7RCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM - GLRCMDCM - GLRCMFUM);
+GLRCMTSM = positif(6RCM+7RCM+REVRF)*arr(TONEQUOM * 5RCM / TOTALQUO) +
+      (1 - positif(6RCM+7RCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM - GLRCMDCM - GLRCMFUM - GLRCMCHM);
+GLRCMGOM = positif(7RCM+REVRF)*arr(TONEQUOM * 6RCM / TOTALQUO) +
+      (1 - positif(7RCM+REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM - GLRCMDCM - GLRCMFUM - GLRCMCHM - GLRCMTSM);
+GLRCMTRM = positif(REVRF)*arr(TONEQUOM * 7RCM / TOTALQUO) +
+      (1 - positif(REVRF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM  - GLRCMDCM - GLRCMFUM - GLRCMCHM - GLRCMGOM - GLRCMTSM);
+GLRCMTOTM = GLRCMDCM + GLRCMFUM + GLRCMCHM + GLRCMGOM + GLRCMTRM + GLRCMTSM;
+GLRF1M  = positif(3REVF)*arr(TONEQUOM * 2REVF / TOTALQUO) +
+      (1 - positif(3REVF)) * (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM-GLRCMTOTM);
+GLRF2M  = (TONEQUOM-GLTOTM-GLFTOTM-GLPALIMTOTM-GLTSTOTM-GLTSREMPTOTM-GLPRRTOTM-GLRVOTOTM-GLRCMTOTM-GLRF1M);
+GLRFTOTM = GLRF1M + GLRF2M;
+regle 7012:
+application : iliad , batch  ;
+RPQ1 = inf(GL1 / DIVGL1)+0;
+RPQ2 = inf(GL2 / DIVGL2)+0;
+RPQ3 = inf(GL3 / DIVGL3)+0;
+RPQ4 = inf(GL4 / DIVGL4)+0;
+pour x=V,C,1..4:
+RPQFx = inf(GLFx/COTFx);
+pour x=V,C:
+RPQPALIMx = inf(GLPALIMx/PENSALNBx);
+pour x=1..4:
+RPQPALIMx = inf(GLPALIMx/PENSALNBPx);
+RPQRF1 = inf(GLRF1/FONCINB);
+RPQRF2 = inf(GLRF2/REAMORNB);
+RPQRCMDC = inf(GLRCMDC/REVACTNB);
+RPQRCMFU = inf(GLRCMFU/REVPEANB);
+RPQRCMCH = inf(GLRCMCH/PROVIENB);
+RPQRCMTS = inf(GLRCMTS/DISQUONB);
+RPQRCMGO = inf(GLRCMGO/RESTUCNB);
+RPQRCMTR = inf(GLRCMTR/INTERENB);
+pour i=V,C:
+RPQPRRi = inf(GLPRRi/CARPENBAi);
+pour i=1..4:
+RPQPRRi = inf(GLPRRi/CARPENBAPi);
+RPQRVO = inf(GLRVO/RENTAXNB);
+RPQRVO5 = inf(GLRVO5/RENTAXNB5);
+RPQRVO6 = inf(GLRVO6/RENTAXNB6);
+RPQRVO7 = inf(GLRVO7/RENTAXNB7);
+pour i=V,C:
+RPQTSi = inf(GLTSi/CARTSNBAi);
+pour i=1..4:
+RPQTSi = inf(GLTSi/CARTSNBAPi);
+pour i=V,C :
+RPQTSREMPi = inf(GLTSREMPi/REMPLANBi);
+pour i=1..4 :
+RPQTSREMPi = inf(GLTSREMPi/REMPLANBPi);
+regle 70125:
+application : iliad , batch  ;
+pour i=1..4:
+RPQiM = inf(GLiM / DIVGLi);
+pour i=V,C,1..4:
+RPQFiM = inf(GLFiM/COTFi);
+pour i=V,C:
+RPQPALIMiM = inf(GLPALIMiM/CARPENBAi);
+pour i=1..4:
+RPQPALIMiM = inf(GLPALIMiM/CARPENBAPi);
+RPQRF1M = inf(GLRF1M/FONCINB);
+RPQRF2M = inf(GLRF2M/REAMORNB);
+RPQRCMDCM = inf(GLRCMDCM/REVACTNB);
+RPQRCMFUM = inf(GLRCMFUM/REVPEANB);
+RPQRCMCHM = inf(GLRCMCHM/PROVIENB);
+RPQRCMTSM= inf(GLRCMTSM/DISQUONB);
+RPQRCMGOM = inf(GLRCMGOM/RESTUCNB);
+RPQRCMTRM = inf(GLRCMTRM/INTERENB);
+pour i=V,C:
+RPQPRRiM = inf(GLPRRiM/PENSALNBi);
+pour i=1..4:
+RPQPRRiM = inf(GLPRRiM/PENSALNBPi);
+RPQRVOM = inf(GLRVOM/RENTAXNB);
+RPQRVO5M = inf(GLRVO5M/RENTAXNB5);
+RPQRVO6M = inf(GLRVO6M/RENTAXNB6);
+RPQRVO7M = inf(GLRVO7M/RENTAXNB7);
+pour i=V,C:
+RPQTSiM = inf(GLTSiM/CARTSNBAi);
+pour i=1..4:
+RPQTSiM = inf(GLTSiM/CARTSNBAPi);
+pour i=V,C :
+RPQTSREMPiM = inf(GLTSREMPiM/REMPLANBi);
+pour i=1..4 :
+RPQTSREMPiM = inf(GLTSREMPiM/REMPLANBPi);
+
+regle 701211:
+application : iliad , batch  ;
+pour x = 1..3 :
+GLNx = GLNxV + GLNxC;
+regle 7013:
+application : bareme , iliad , batch  ;
+RI2 = RI1 + DPAE;
+RI3 = max( RI1 , 0 );
+regle 70130:
+application : iliad , batch  ;
+LIMDPAE = LIM_PENSALENF ;
+regle 70131:
+application : iliad , batch  ;
+DPAE = somme (a=1..4 : min( CHENFa, LIMDPAE)) * ( 1 - V_CNR ) ;
+regle 702:
+application : bareme , iliad , batch  ;
+RI1 =   max( RNG - (( 1 - min ( 1 ,IPVLOC )) * ABTPA ) - ABTMA, 0 );
+regle 703:
+application : bareme , iliad , batch  ;
+RNG = (     null(V_REGCO - 4)
+          * null(V_CNR   - 1)
+          * null(V_CNR2  - 1)
+          * null(V_CR2   - 1)
+          * IPVLOC
+      )
+     +
+     (1 -   null(V_REGCO - 4)
+          * null(V_CNR   - 1)
+          * null(V_CNR2  - 1)
+          * null(V_CR2   - 1)
+      )
+      * RBL ; 
+regle 7033 :
+application : bareme , iliad , batch  ;
+REVQUO = max(0, TOTALQUO - SDD - SDC - SDV - SDM);
+TONEQUO = max(0, TOTALQUO 
+               - (SDD + SDC + SDV + SDM) * (1- positif(IPTEFP + IPTEFN + TEFFREVTOT*INDTEFF))
+                 - IPTEFN);
+TONEQUOM = max(0, TOTALQUO - DMOND) ;
+regle 7031:
+application : iliad , batch  ;
+NAB =   min( max( LIM_ABTRNGDBL + 1  - (RNG+ TOTALQUO- SDD- SDC), 0 ), 1 )
+      + min( max( LIM_ABTRNGSIMP + 1 - (RNG+ TOTALQUO- SDD- SDC), 0 ), 1 );
+ABSPRNG = RNG + TOTALQUO - SDD - SDC;
+ABTPA = NDA * NAB * ABAT_UNVIEUX * (1-V_CNR) ;
+regle 703110 :
+application : bareme , iliad , batch  ;
+NDA =   min( max( AGV + 1 - LIM_AGE_ABVIEUX, V_0AP ), 1 )
+      + min( max( AGC*BOOL_0AM + 1 - LIM_AGE_ABVIEUX, V_0AF*BOOL_0AM ), 1 )  ;
+regle 70311 :
+application : bareme , iliad , batch  ;
+AGV = (V_ANREV - V_0DA) * min( 1 , V_0DA) ;
+AGC = (V_ANREV - V_0DB) * min( 1 , V_0DB) ;
+regle 7032:
+application : iliad , batch  ;
+ABTMA = V_0DN * ABAT_ENF_MARIES + arr(V_0DP * (ABAT_ENF_MARIES)/2);
+regle 704:
+application : bareme , iliad , batch  ;
+RBG2 = RBG - min(RBG , DDCSG);
+RBL =  ( RBG2 - min( RBG2 , ( DPA + DFA + DEDIV + APERPV + APERPC + APERPP + NUREPAR )) * ( 1 - V_CNR ) 
+              - min( RBG2 , V_8ZT) * V_CR2 
+       ) * (1 - positif(RE168+TAX1649));
+regle 7041 :
+application : bareme , iliad , batch  ;
+SDD = max(0, DAR - RG);
+regle 704100 :
+application : bareme  , iliad , batch  ;
+SDC1 = max(0, DDCSG + DPA + DFA + DEDIV - APERPV - APERPC - APERPP - max(0,RBG)) 
+          * (1 - V_CNR)
+          + max (0, V_8ZT - max(0,RBG)) * V_CR2;
+regle 70411 :
+application : bareme , iliad , batch  ;
+SDC = max(0, DDCSG + DPA + DFA + DEDIV + APERPV + APERPC + APERPP + NUREPAR - max(0,RBG)) 
+         * (1 - V_CNR)
+         + max(0, V_8ZT - max(0,RBG)) *  V_CR2;
+regle 70412 :
+application : bareme , iliad , batch  ;
+SDV = max(0, ABTPA - RNG);
+SDM = max(0, ABTMA - max(0,RNG - ABTPA) );
+regle 70432:
+application : iliad , batch ;
+
+SOFIRNG = RBL + TOTALQUO - SDD - SDC1;
+
+regle 705:
+application : bareme , iliad , batch  ;
+RBG = (1 - positif(RG  + R1649 +PREREV- DAR)) * min( 0 , RG  + R1649 +PREREV- DAR + TOTALQUO )
+    + positif(RG  + R1649+PREREV - DAR) * (RG  + R1649+PREREV - DAR);
+regle 7051:
+application : iliad , batch  ;
+TOTPA =arr(PAAV*MAJREV) + PAAP;
+DPA = (somme(i=1..4:min(NCHENFi,LIMDPAE)+min(arr(CHENFi*MAJREV),LIMDPAE))
+                  + TOTPA) * (1 - V_CNR)
+                             * (1 - positif(RE168+TAX1649)) ;
+regle 7053:
+application : iliad , batch  ;
+RPREC =  positif(CHRFAC) * max(1,CHNFAC)
+         +
+	 null(CHRFAC) * max(0,CHNFAC)
+         ;
+DFA = min( CHRFAC, RPREC * LIM_FRACC ) * (1 - V_CNR)
+                             * (1 - positif(RE168+TAX1649)) ;
+regle 706 :
+application : bareme , iliad , batch  ;
+RG = (1 - positif(IPVLOC)) * (
+        ( SHBA +  max( BANOR, 0 ) + REB +
+        min(BANOR,0) *
+        positif(SEUIL_IMPDEFBA + 1 - SHBA - (REVTP-BA1)
+        - REV1 - REV2 - REV3 - REV4 - REVRF) 
+       ) ) 
+     +
+     positif( IPVLOC ) * IPVLOC;
+regle 70611 :
+application : bareme , iliad , batch  ;
+TOTALQUO = (1-positif(IPVLOC)) * REVQTOT;
+regle 7061:
+application : iliad , batch  ;
+DAR = (DEFAA5 + DEFAA4 + DEFAA3 + DEFAA2 + DEFAA1 + DEFAA0) * (1 - positif(IPVLOC));
+regle 707:
+application : iliad , batch  ;
+SHBA = ESFP + TSPR + RCM + BIN + BNN + PLOCNETF + NPLOCNETF
+       + (RRFI + 0) * ( 1- V_INDTEO) + (RRFTEO + 0) * (V_INDTEO);
+regle 7070:
+application :  bareme   ;
+SHBA = arr(V_9ZZ);
+regle 7071:
+application : iliad , batch  ;
+REB =  REPSOF;
diff --git a/sources2012m_3_13/chap-81.m b/sources2012m_3_13/chap-81.m
new file mode 100644
index 0000000000000000000000000000000000000000..d07f7fef23170ed6393247783e001a7adbf5b7d5
--- /dev/null
+++ b/sources2012m_3_13/chap-81.m
@@ -0,0 +1,188 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #                         REVENUS CATEGORIELS NETS
+ #
+ #
+regle 811:
+application : iliad , batch  ;
+pour i=V,C,1,2,3,4:
+TSBNi = TSHALLOi + ALLOi;
+TSHALLOP=TSHALLO1+TSHALLO2+TSHALLO3+TSHALLO4;
+ALLOP=ALLO1+ALLO2+ALLO3+ALLO4;
+TSBNP=TSHALLOP+ALLOP;
+
+pour i=V,C:
+2TSNi = CARTSi + REMPLAi;
+pour i=1,2,3,4:
+2TSNi = CARTSPi + REMPLAPi;
+pour i=V,C:
+EXTSi = TSBNi + BPCOSAi + GLDGRATi + 2TSNi;
+GATASAV = BPCOSAV + GLDGRATV ;
+GATASAC = BPCOSAC + GLDGRATC ;
+
+pour i=1..4:
+EXTSi = TSBNi + 2TSNi;
+pour i=V,C:
+TSBi = EXTSi + somme(x=1..3:GLDxi) ;
+pour i=1,2,3,4:
+TSBi = EXTSi;
+TSBP = somme(i=1..4:TSBi);
+pour i=V,C,1..4:
+PRBi = PRBRi + PALIi;
+
+pour i=V,C:
+2PRBi = CARPEi + PENSALi ;
+pour i=1..4:
+2PRBi = CARPEPi + PENSALPi ;
+pour i=V,C:
+EXPRi = PRBi + 2PRBi + PEBFi;
+pour i=1..4:
+EXPRi = PRBi + 2PRBi + PEBFi;
+pour i = V,C,1..4:
+EXSPBi = EXTSi + EXPRi ;
+regle 812:
+application : iliad , batch  ;
+pour i = V,C,1..4:
+TPS10i = arr (TSBi * TX_DEDFORFTS /100);
+pour i = V,C,P:
+PTPS10i = arr (PERPSALi * TX_DEDFORFTS /100);
+pour i = V,C,1..4:
+DFNi =  min( PLAF_DEDFORFTS , TPS10i );
+pour i = V,C,P:
+PDFNi =  min( PLAF_DEDFORFTS , PTPS10i );
+regle 813:
+application : iliad , batch  ;
+pour i = V,C,1..4:
+DEDMINi = positif(DETSi)* MIN_DEMEMPLOI + (1- positif(DETSi))* MIN_DEDSFORFTS;
+pour i = V,C:
+PDEDMINi = DEDMINi;
+PDEDMINP = positif(DETS1)* MIN_DEMEMPLOI 
+	   + (1- positif(DETS1))* MIN_DEDSFORFTS;
+
+pour i = V,C,1..4:
+10MINSi= max( min(TSBi,DEDMINi) , DFNi );
+pour i = V,C,P:
+P10MINSi= max( min(PERPSALi,PDEDMINi) , PDFNi );
+pour i = V,C,1..4:
+IND_10MIN_0i = positif(DEDMINi - DFNi ) * positif (TSBi );
+pour i = V,C,P:
+PIND_10MIN_0i = positif(PDEDMINi - PDFNi ) * positif (PERPSALi );
+pour i = V,C,1..4 :
+IND_MINi = 1 - positif( IND_10MIN_0i );
+pour i = V,C,P :
+PIND_MINi = 1 - positif( PIND_10MIN_0i );
+regle 814:
+application : iliad , batch  ;
+pour i = V,C,1..4:
+FRDi = FRNi * positif (FRNi - 10MINSi); 
+pour i = V,C:
+PFRDi = FRNi * positif (FRNi - P10MINSi); 
+PFRDP = FRN1 * positif (FRN1 - P10MINSP); 
+pour i = V,C,1..4:
+IND_10i = positif_ou_nul( 10MINSi - FRNi ) ;
+pour i = V,C:
+PIND_10i = positif_ou_nul( P10MINSi - FRNi) ;
+PIND_10P = positif_ou_nul( P10MINSP - FRN1) ;
+pour i = V,C,1..4:
+FPTi = max(FRDi, 10MINSi);
+pour i = V,C,P:
+PFPTi = max(PFRDi, P10MINSi);
+pour i = V,C:
+D10Mi = IND_MINi *DFNi 
+        + (1 - IND_MINi)* 10MINSi ; 
+pour i = V,C,P:
+PD10Mi = PIND_MINi *PDFNi 
+        + (1 - PIND_MINi)* P10MINSi ; 
+pour i = V,C:
+REP10i =  IND_10i * D10Mi + (1-IND_10i) * FPTi ;
+pour i = V,C,P:
+PREP10i =  PIND_10i * PD10Mi + (1-PIND_10i) * PFPTi ;
+pour i = V,C:
+ABTSi=arr(REP10i*(EXTSi)/TSBi);
+regle 816:
+application : iliad , batch  ;
+pour i = V,C:
+ABGL1i = positif(GLD1i) * 
+	   (positif(GLD2i+GLD3i) * arr(REP10i*GLD1i/TSBi)
+	   + (1-positif(GLD2i+GLD3i)) * (REP10i-ABTSi));
+pour i = V,C:
+ABGL2i = positif(GLD2i) * 
+	   (positif(GLD3i) * arr(REP10i*GLD2i/TSBi)
+	   + (1-positif(GLD3i)) * (REP10i-ABTSi-ABGL1i));
+pour i = V,C:
+ABGL3i = positif(GLD3i) * (REP10i-ABTSi-ABGL1i-ABGL2i);
+regle 817:
+application : iliad , batch  ;
+pour i = V,C:
+ABGLTi = somme (x=1..3: ABGLxi);
+regle 818:
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+PLRi = min ( MIN_DEDPR , EXPRi );
+pour i = V,C,1,2,3,4:
+APBi = max( PLRi , (EXPRi*TX_DEDPER/100));
+pour i = V,C,1,2,3,4:
+IND_APBi = positif_ou_nul(PLRi- (EXPRi * TX_DEDPER/100));
+PL_PB = arr(PLAF_DEDPRFOYER -somme (i=V,C,1..4: APBi * IND_APBi));
+regle 819:
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+ABPRi = arr ( (1 - IND_APBi) * 
+ min(APBi,(PL_PB * APBi / somme(x=V,C,1..4:APBx * (1 - IND_APBx))))
+ + IND_APBi * APBi );
+regle 8110:
+application : iliad , batch  ;
+APRV  =  IND_APBV * ABPRV 
+       + (1-IND_APBV)* min ( ABPRV , PL_PB); 
+APRC  =  IND_APBC * ABPRC 
+       + (1-IND_APBC)* min ( ABPRC , PL_PB - (1-IND_APBV)*APRV ); 
+APR1  =  IND_APB1 * ABPR1 
+       + (1-IND_APB1)* min ( ABPR1 , PL_PB - (1-IND_APBV)*APRV 
+			- (1-IND_APBC)*APRC);
+APR2  =  IND_APB2 * ABPR2
+       + (1-IND_APB2)* min ( ABPR2 , PL_PB - (1-IND_APBV)*APRV 
+                       - (1-IND_APBC)*APRC - (1-IND_APB1)*APR1 ); 
+APR3  =  IND_APB3 * ABPR3
+       + (1-IND_APB3)* min ( ABPR3 , PL_PB - (1-IND_APBV)*APRV 
+                       - (1-IND_APBC)*APRC - (1-IND_APB1)*APR1  
+                       - (1-IND_APB2)*APR2 ); 
+APR4  =  IND_APB4 * ABPR4 
+       + (1-IND_APB4)* min ( ABPR4 , PL_PB - (1-IND_APBV)*APRV 
+                       - (1-IND_APBC)*APRC - (1-IND_APB1)*APR1  
+                       - (1-IND_APB2)*APR2 - (1-IND_APB3)*APR3 ); 
+regle 8111:
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+PRNNi = EXPRi - APRi;
+regle 8112:
+application : iliad , batch  ;
+pour i = V,C,1..4:
+TSNTi =  TSBi - FPTi;
+regle 8113:
+application : iliad , batch  ;
+pour i =V,C,1,2,3,4:
+TSNi = positif (-TSNTi) * min (0 , TSNTi + PRNNi)
+     + positif_ou_nul (TSNTi) * TSNTi;
+pour i =V,C,1,2,3,4:
+PRNi = positif (-TSNTi) * positif (TSNTi + PRNNi) * (TSNTi + PRNNi)
+       + positif_ou_nul (TSNTi) * PRNNi;
+
diff --git a/sources2012m_3_13/chap-82.m b/sources2012m_3_13/chap-82.m
new file mode 100644
index 0000000000000000000000000000000000000000..daed23a8e8096f61b7378d8d7575189e49741dd6
--- /dev/null
+++ b/sources2012m_3_13/chap-82.m
@@ -0,0 +1,261 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 82000:
+application : iliad , batch  ;
+RCMRABD = arr(RCMABD * 40/100) * (1-positif(RCMLIBDIV));
+	  
+
+2RCMRABD = arr(REVACT * 40/100) * (1-positif(RCMLIBDIV));
+
+TRCMRABD = RCMRABD + 2RCMRABD;
+RCMRTNC = arr(RCMTNC * 40/100);
+
+2RCMRTNC = arr(REVPEA * 40/100);
+
+TRCMRTNC = RCMRTNC + 2RCMRTNC;
+RCMRNABD = RCMABD - RCMRABD;
+
+2RCMRNABD = REVACT - 2RCMRABD;
+RCMRNTNC = RCMTNC - RCMRTNC ;
+
+2RCMRNTNC = REVPEA - 2RCMRTNC ;
+REGPRIVM = arr(REGPRIV * MAJREV);
+
+2REGPRIVM = arr(RESTUC * MAJREV);
+TRCMABD = RCMABD + REVACT;
+RCMAB = RCMRNABD + 2RCMRNABD ;
+DRTNC = RCMTNC + REVPEA;
+RTNC = RCMRNTNC + 2RCMRNTNC ;
+RAVC = RCMAV + PROVIE;
+RCMNAB = RCMHAD + DISQUO ;
+RTCAR = RCMHAB + INTERE;
+RCMPRIV = REGPRIV + RESTUC;
+RCMPRIVM = REGPRIVM + 2REGPRIVM ;
+regle 82001:
+application : iliad , batch ;
+FRAN = positif(RCMABD) *
+	(positif(REVACT+RCMNAB) * arr(RCMFR * RCMABD / max (1,TRCMABD + RCMNAB))
+	+ (1 - positif(REVACT+RCMNAB)) * RCMFR) ;
+2FRAN = positif(REVACT) * (
+          positif(RCMNAB)* arr(RCMFR * REVACT/ max (1,TRCMABD + RCMNAB) ) + 
+          ((1 - positif(RCMNAB)) * (RCMFR - FRAN)));
+FRAU = positif(RCMHAD) * (
+      positif(DISQUO) * arr(RCMFR * RCMHAD / max (1,TRCMABD + RCMNAB) ) + 
+      ((1 - positif(DISQUO)) 
+	   * (RCMFR - FRAN - 2FRAN )));
+2FRAU = ( RCMFR - FRAN - 2FRAN - FRAU ) * positif(DISQUO);
+regle 82002:
+application : iliad , batch ;
+RAN = (1 - positif(EXFR)) * (RCMRNABD - FRAN)
+	+ positif(EXFR) * 0;
+2RAN = (1 - positif(EXFR)) * (2RCMRNABD - 2FRAN)
+	+ positif(EXFR) * 0;
+TRAN = RAN + 2RAN ;
+1RAU = (1 - positif(EXFR)) * (RCMHAD - FRAU)
+	+ positif(EXFR) * 0;
+2RAU = (1 - positif(EXFR)) * (DISQUO - 2FRAU) + positif(EXFR) * 0;
+TRAU = 1RAU + 2RAU ;
+regle 82003:
+application : iliad , batch ;
+ABRCM2 = min( ABTAV , RAVC);
+regle 82007:
+application : iliad , batch ;
+ABAVC = positif(RCMAV) * arr( ABRCM2 * RCMAV / RAVC );
+2ABAVC = positif(PROVIE) * min(arr( ABRCM2 * PROVIE / RAVC ) , ABRCM2 - ABAVC);
+TABAVC = ABAVC + 2ABAVC ;
+regle 82008:
+application : iliad , batch ;
+RNTNC = RTNC ;
+RNAVC = RAVC - TABAVC;
+regle 82009:
+application : iliad , batch ;
+EXFR =  max( 0, RCMFR - RCMAB - RCMNAB);
+regle 82010:
+application : iliad , batch ;
+RIA = RAN ;
+2RIA = 2RAN ;
+RNC = RCMRNTNC ;
+2RNC = 2RCMRNTNC ;
+RCAV = max ( 0 , RCMAV-ABAVC) ;
+2RCAV = max ( 0 , PROVIE-2ABAVC) ;
+RAR = max( 0 , RCMHAB);
+2RAR = max( 0 , INTERE);
+1RAO = max( 0 , REGPRIVM);
+2RAO = max( 0 , 2REGPRIVM);
+TR1 = RNC + RCAV + 1RAO + RAR;
+TR = TR1 + 2RNC + 2RCAV + 2RAR + 2RAO ;
+regle 82011:
+application : iliad , batch ;
+FRG1 = positif(EXFR) * arr( (EXFR * TR1)/ TR)
+	+ (1 - positif(EXFR)) * 0 ;
+FRG2 = positif(EXFR) * min(arr(EXFR * 2RNC/ TR), EXFR - FRG1)
+        + (1 - positif(EXFR)) * 0 ;
+FRG3 = positif(EXFR) * min(arr(EXFR * 2RCAV/ TR), EXFR - FRG1 - FRG2)
+        + (1 - positif(EXFR)) * 0 ;
+FRG4 = positif(EXFR) * min(arr(EXFR * 2RAR/ TR), EXFR - FRG1 - FRG2 - FRG3)
+        + (1 - positif(EXFR)) * 0 ;
+FRG5 = positif(EXFR) * max(0,EXFR - FRG1 -FRG2 - FRG3 - FRG4)
+        + (1 - positif(EXFR)) * 0 ;
+regle 82012:
+application : iliad , batch ;
+DFRCMN = positif(RCMAB + RCMNAB)
+	* (1 - positif(RTNC+RAVC+RTCAR+RCMPRIVM))
+	* max(0, RCMFR 
+			- RCMAB 
+			- RCMNAB)
+
++ (1 - positif(RCMAB + RCMNAB))
+	* positif(RTNC+RAVC+RTCAR+RCMPRIVM)
+	* max(0, RCMFR 
+			- RTNC
+			- (RAVC - TABAVC)
+			- RTCAR 
+			- RCMPRIVM) 
++ positif(RCMAB + RCMNAB)
+   * positif(RTNC+RAVC+RTCAR+RCMPRIVM)
+   * max(0, RCMFR 
+			- RCMAB 
+			- RCMNAB
+			- RTNC
+			- (RAVC - TABAVC)
+			- RTCAR 
+			- RCMPRIVM) 
++ (1 - positif(RCMAB + RCMNAB))
+	* (1 - positif(RTNC+RAVC+RTCAR+RCMPRIVM))
+	* max(0, RCMFR)
+			;
+regle 82013:
+application : iliad , batch ;
+1RCM_I = si( (V_REGCO + 0) dans (1,3,5,6) )
+alors  ((1-positif(DFRCMN)) * (RIA+RNC+1RAU+RAR+1RAO+RCAV-FRG1) -positif(DFRCMN)*0 )
+sinon (0)
+finsi;
+
+2RCM_I =  si( (V_REGCO + 0)  dans (1,3,5,6))
+              alors ((1- positif(DFRCMN)) * 2RIA)
+              sinon (0)
+          finsi;
+3RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6))
+             alors  ((1- positif(DFRCMN)) * (2RNC-FRG2))
+             sinon (0)
+         finsi;
+4RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6))
+             alors  ((1- positif(DFRCMN)) * (2RCAV-FRG3))
+             sinon (0)
+         finsi;
+5RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6))
+             alors ((1- positif(DFRCMN)) * 2RAU)
+             sinon (0)
+         finsi;
+6RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6))
+             alors  ((1- positif(DFRCMN)) * (2RAO-FRG5))
+             sinon (0)
+         finsi;
+7RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6))
+             alors  ((1- positif(DFRCMN)) * (2RAR-FRG4))
+             sinon (0)
+         finsi;
+RCM_I = 1RCM_I + 2RCM_I + 3RCM_I + 4RCM_I + 5RCM_I + 6RCM_I + 7RCM_I;
+regle 82014:
+application : iliad , batch ;
+REPRCM = DEFRCM + DEFRCM2 + DEFRCM3+DEFRCM4+DEFRCM5+DEFRCM6;
+REPRCM1 = positif(REPRCM) * arr( (REPRCM * 1RCM_I)/ RCM_I)
+	+ (1 - positif(REPRCM)) * 0 ;
+REPRCM2 = positif(REPRCM) * min(arr((REPRCM * 2RCM_I)/ RCM_I), REPRCM - REPRCM1)
+        + (1 - positif(REPRCM)) * 0 ;
+REPRCM3 = positif(REPRCM) * min(arr((REPRCM * 3RCM_I)/ RCM_I), REPRCM - REPRCM1 - REPRCM2)
+        + (1 - positif(REPRCM)) * 0 ;
+REPRCM4 = positif(REPRCM) * min(arr((REPRCM * 4RCM_I)/ RCM_I), REPRCM - REPRCM1 - REPRCM2 - REPRCM3)
+        + (1 - positif(REPRCM)) * 0 ;
+REPRCM5 = positif(REPRCM) * min(arr((REPRCM * 5RCM_I)/ RCM_I), REPRCM - REPRCM1 - REPRCM2 - REPRCM3 - REPRCM4)
+        + (1 - positif(REPRCM)) * 0 ;
+REPRCM6 = positif(REPRCM) * min(arr((REPRCM * 6RCM_I)/ RCM_I), REPRCM - REPRCM1 - REPRCM2 - REPRCM3 - REPRCM4 - REPRCM5)
+        + (1 - positif(REPRCM)) * 0 ;
+REPRCM7 = positif(REPRCM) * max(0,REPRCM - REPRCM1 -REPRCM2 - REPRCM3 - REPRCM4 - REPRCM5  - REPRCM6 )
+        + (1 - positif(REPRCM)) * 0 ;
+regle 82015:
+application : iliad , batch ;
+DFRCM1 =  DEFRCM2 * positif(DFRCMN)
+         + DEFRCM2 * positif(DEFRCM - RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM2 - (RCM_I-DEFRCM)) * positif_ou_nul(RCM_I-DEFRCM) * (1-positif(DFRCMN));
+DFRCM2 =  DEFRCM3 * positif(DFRCMN)
+         + DEFRCM3 * positif(DEFRCM+DEFRCM2- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM3 - (RCM_I -DEFRCM- DEFRCM2)) * positif_ou_nul(RCM_I -DEFRCM-DEFRCM2) * (1-positif(DFRCMN));
+DFRCM3 =  DEFRCM4 * positif(DFRCMN)
+         + DEFRCM4 * positif(DEFRCM+DEFRCM2+DEFRCM3- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM4 - (RCM_I -DEFRCM- DEFRCM2-DEFRCM3)) * positif_ou_nul(RCM_I -DEFRCM-DEFRCM2-DEFRCM3) * (1-positif(DFRCMN));
+DFRCM4 =  DEFRCM5 * positif(DFRCMN)
+         + DEFRCM5 * positif(DEFRCM+DEFRCM2+DEFRCM3+DEFRCM4- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM5 - (RCM_I -DEFRCM- DEFRCM2-DEFRCM3-DEFRCM4)) 
+			   * positif_ou_nul(RCM_I -DEFRCM-DEFRCM2-DEFRCM3-DEFRCM4) * (1-positif(DFRCMN));
+DFRCM5 =  DEFRCM6 * positif(DFRCMN)
+         + DEFRCM6 * positif(DEFRCM+DEFRCM2+DEFRCM3+DEFRCM4+DEFRCM5- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM6 - (RCM_I -DEFRCM- DEFRCM2-DEFRCM3-DEFRCM4-DEFRCM5)) 
+			   * positif_ou_nul(RCM_I -DEFRCM-DEFRCM2-DEFRCM3-DEFRCM4-DEFRCM5) * (1-positif(DFRCMN));
+regle 82016:
+application : iliad , batch ;
+RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1-positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(1RCM_I-REPRCM1))
+         -positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)*0 
+      )
+sinon (0)
+finsi;
+2RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(2RCM_I-REPRCM2))
+      )
+sinon (0)
+finsi;
+3RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(3RCM_I-REPRCM3))
+      )
+sinon (0)
+finsi;
+4RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(4RCM_I-REPRCM4))
+      )
+sinon (0)
+finsi;
+5RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(5RCM_I-REPRCM5))
+      )
+sinon (0)
+finsi;
+6RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(6RCM_I-REPRCM6))
+      )
+sinon (0)
+finsi;
+7RCM = si( (V_REGCO + 0)  dans (1,3,5,6))
+alors ( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(7RCM_I-REPRCM7))
+      )
+sinon (0)
+finsi;
+DFRCM = DFRCMN + DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5;
+RCMEXCREF = max(0,TRCMRABD + TRCMRTNC) * (1 - positif(null(2-V_REGCO) + null(4-V_REGCO)));
+regle 82100:
+application : iliad , batch ;
+ABTAV = PLAF_RCMAV1 * (1 + BOOL_0AM) ;
+regle 82105:
+application : iliad , batch ;
+BPLIB = (min( RCMLIB, max(0 , ABTAV - RAVC) ) * (1 - V_CNR));
+regle 82110:
+application : iliad , batch ;
+EPAV = arr(BPLIB * TX_PREVLIB/100);
diff --git a/sources2012m_3_13/chap-83.m b/sources2012m_3_13/chap-83.m
new file mode 100644
index 0000000000000000000000000000000000000000..9db0e7fe5247b3a9fbba76f26ae72644efd344d3
--- /dev/null
+++ b/sources2012m_3_13/chap-83.m
@@ -0,0 +1,48 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 831:
+application : iliad , batch  ;
+RRFI = RFON + DRCF + max(0,RFMIC - MICFR - RFDANT) ;
+regle 8311:
+application : iliad , batch  ;
+MICFR = present(RFMIC) * arr(RFMIC * TX_MICFON/100);
+regle 8316:
+application : iliad , batch ;
+RMF = max(0,RFMIC - MICFR);
+RMFN = max(0,RFMIC - MICFR - RFDANT);
+regle 832:
+application : iliad , batch  ;
+RFCD = RFORDI + FONCI + REAMOR;
+regle 833:
+application : iliad , batch  ;
+RFCE = max(0,RFCD-RFDORD);
+DFCE = min(0,RFCD-RFDORD);
+RFCF = max(0,RFCE-RFDHIS);
+DRCF  = min(0,RFCE-RFDHIS);
+RFCG = max(0,RFCF-RFDANT);
+DFCG = min(0,RFCF-RFDANT);
+regle 834:
+application : iliad , batch  ;
+RFON = arr(RFCG*RFORDI/RFCD);
+2REVF = min( arr (RFCG*(FONCI)/RFCD) , RFCG-RFON);
+3REVF = min( arr (RFCG*(REAMOR)/RFCD) , RFCG-RFON-2REVF);
+RFQ = FONCI + REAMOR;
+ 
diff --git a/sources2012m_3_13/chap-84.m b/sources2012m_3_13/chap-84.m
new file mode 100644
index 0000000000000000000000000000000000000000..69dba2f8c4dd45028f0457e7196acc0d62bbabe6
--- /dev/null
+++ b/sources2012m_3_13/chap-84.m
@@ -0,0 +1,158 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 801 :
+application : iliad , batch  ;
+BA1AF =  BAF1AP  + BAF1AC  + BAF1AV  ;
+regle 840 :
+application : iliad , batch  ;
+BARSV = BAHREV + 4BAHREV - BAHDEV;
+BARSREVV = BAHREV +4BAHREV;
+BARSC = BAHREC + 4BAHREC - BAHDEC;
+BARSREVC = BAHREC +4BAHREC;
+BARSP = BAHREP + 4BAHREP - BAHDEP;
+BARSREVP = BAHREP +4BAHREP;
+BARAV = (BACREV + 4BACREV - BACDEV) ;
+BARREVAV = BACREV + 4BACREV;
+BARAC = (BACREC  + 4BACREC - BACDEC) ;
+BARREVAC = BACREC + 4BACREC;
+BARAP = (BACREP + 4BACREP - BACDEP) ;
+BARREVAP = BACREP + 4BACREP;
+regle 8421:
+application : iliad , batch  ;
+pour i =V,C,P:
+DEFBACREi = positif(4BACREi) * arr((BACDEi * BACREi) / BARREVAi) + (1 - positif(4BACREi)) * BACDEi ;
+pour i =V,C,P:
+4DEFBACREi = positif(4BACREi) * (BACDEi - DEFBACREi);
+regle 84211:
+application : iliad , batch  ;
+BANV = (BACREV - DEFBACREV) * positif_ou_nul(BARAV) + BARAV * (1-positif(BARAV));
+BANC = (BACREC - DEFBACREC) * positif_ou_nul(BARAC) + BARAC * (1-positif(BARAC));
+BANP = (BACREP - DEFBACREP) * positif_ou_nul(BARAP) + BARAP * (1-positif(BARAP));
+BAEV = (4BACREV - 4DEFBACREV) * positif_ou_nul(BARAV) + 0;
+BAEC = (4BACREC - 4DEFBACREC) * positif_ou_nul(BARAC) + 0;
+BAEP = (4BACREP - 4DEFBACREP) * positif_ou_nul(BARAP) + 0;
+regle 842111:
+application : iliad , batch  ;
+pour i =V,C,P:
+DEFBAHREi = positif(4BAHREi) * arr((BAHDEi * BAHREi) / BARSREVi) + (1 - positif(4BAHREi)) * BAHDEi ;
+pour i =V,C,P:
+4DEFBAHREi = positif(4BAHREi) * (BAHDEi - DEFBAHREi) ;
+regle 843:
+application : iliad , batch  ;
+BAMV = arr((BAHREV - DEFBAHREV) * MAJREV) * positif_ou_nul(BARSV) + BARSV * (1-positif(BARSV));
+BAMC = arr((BAHREC - DEFBAHREC) * MAJREV) * positif_ou_nul(BARSC) + BARSC * (1-positif(BARSC));
+BAMP = arr((BAHREP - DEFBAHREP) * MAJREV) * positif_ou_nul(BARSP) + BARSP * (1-positif(BARSP));
+BAEMV = (arr((4BAHREV - 4DEFBAHREV)* MAJREV)) * positif_ou_nul(BARSV) + 0;
+BAEMC = (arr((4BAHREC - 4DEFBAHREC)* MAJREV)) * positif_ou_nul(BARSC) + 0;
+BAEMP = (arr((4BAHREP - 4DEFBAHREP)* MAJREV)) * positif_ou_nul(BARSP) + 0;
+regle 8431:
+application : iliad , batch  ;
+BAFORV = arr(BAFV*MAJREV)+BAFORESTV+BAFPVV;
+BAFORC = arr(BAFC*MAJREV)+BAFORESTC+BAFPVC;
+BAFORP = arr(BAFP*MAJREV)+BAFORESTP+BAFPVP;
+regle 84311:
+application : iliad , batch  ;
+BAHQV = BANV + BAMV + BAFORV;
+BAHQC = BANC + BAMC + BAFORC;
+BAHQP = BANP + BAMP + BAFORP;
+regle 845:
+application : iliad , batch  ;
+4BAQV = max(0,(4BACREV - 4DEFBACREV))*positif_ou_nul(BARAV)+arr(max(0,(4BAHREV - 4DEFBAHREV))*MAJREV) * positif_ou_nul(BARSV);
+4BAQC = max(0,(4BACREC - 4DEFBACREC))*positif_ou_nul(BARAC)+arr(max(0,(4BAHREC - 4DEFBAHREC))*MAJREV) * positif_ou_nul(BARSC);
+4BAQP = max(0,(4BACREP - 4DEFBACREP))*positif_ou_nul(BARAP)+arr(max(0,(4BAHREP - 4DEFBAHREP))*MAJREV) * positif_ou_nul(BARSP);
+regle 8451:
+application : iliad , batch  ;
+BAQV = BAEV + BAEMV;
+BAQC = BAEC + BAEMC;
+BAQP = BAEP + BAEMP;
+regle 84511:
+application : iliad , batch  ;
+BA1V = BA1AV + BAF1AV ;
+BA1C = BA1AC + BAF1AC ;
+BA1P = BA1AP + BAF1AP ;
+regle 84512:
+application : iliad , batch  ;
+BAHQT=BAHQV+BAHQC+BAHQP;
+BAHQTOT=BAHQV+BAHQC+BAHQP-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2-DAGRI1;
+BAHQTOTMAXP=positif_ou_nul(BAHQT) * max(0,BAHQV+BAHQC+BAHQP-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2-DAGRI1);
+BAHQTOTMAXN=positif_ou_nul(BAHQT) * min(0,BAHQV+BAHQC+BAHQP-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2-DAGRI1);
+BAHQTOTMIN=positif(-BAHQT) * BAHQT;
+regle 84513:
+application : iliad , batch  ;
+BAQT = BAQV + BAQC + BAQP;
+BAQTOT = max(0,BAQV + BAQC + BAQP + BAHQTOTMAXN);
+BAQTOTN = min(0,BAQV + BAQC + BAQP + BAHQTOTMAXN);
+BAQTOTMIN = min(0,BAQV + BAQC + BAQP + BAHQTOTMIN);
+BAQTOTAV = positif_ou_nul(BAQT + BAHQT) * BAQTOT + (1 - positif(BAQT + BAHQT)) * 0;
+4BAQTOT = somme(x=V,C,P: 4BAQx) ;
+4BAQTOTNET = positif(4BAQTOT) * max(0, 4BAQTOT + (BAHQTOTMIN + BAHQTOTMAXN) );
+regle 845111:
+application : iliad , batch  ;
+BA1 = BA1V + BA1C + BA1P; 
+regle 846:
+application : iliad , batch  ;
+BANOR = BAHQTOTMAXP + BAQTOTMIN;
+
+regle 847:
+application : iliad , batch  ;
+DEFBA6 = (1-positif(BAHQT+BAQT)) * (DAGRI5) 
+	    + positif(BAHQT+BAQT) * 
+	    abs(min(max(BAHQT+BAQT-DAGRI6,0)-DAGRI5,DAGRI5))
+            * positif_ou_nul(DAGRI5-max(BAHQT+BAQT-DAGRI6,0))
+		    * (1 - positif(IPVLOC)) ;
+DEFBA5 = (1-positif(BAHQT+BAQT)) * (DAGRI4) 
+	    + positif(BAHQT+BAQT) * 
+	     abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5,0)-DAGRI4,DAGRI4))
+            * positif_ou_nul(DAGRI4-max(BAHQT+BAQT-DAGRI6-DAGRI5,0))
+		    * (1 - positif(IPVLOC)) ;
+DEFBA4 = (1-positif(BAHQT+BAQT)) * (DAGRI3) 
+	    + positif(BAHQT+BAQT) * 
+	     abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4,0)-DAGRI3,DAGRI3))
+            * positif_ou_nul(DAGRI3-max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4,0))
+		    * (1 - positif(IPVLOC)) ;
+DEFBA3 = (1-positif(BAHQT+BAQT)) * (DAGRI2) 
+	    + positif(BAHQT+BAQT) * 
+	     abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3,0)-DAGRI2,DAGRI2))
+            * positif_ou_nul(DAGRI2-max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3,0))
+		    * (1 - positif(IPVLOC)) ;
+DEFBA2 = (1-positif(BAHQT+BAQT)) * (DAGRI1) 
+	    + positif(BAHQT+BAQT) * 
+	     abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2,0)-DAGRI1,DAGRI1))
+            * positif_ou_nul(DAGRI1-max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2,0))
+		    * (1 - positif(IPVLOC)) ;
+DEFBA1 = (1-positif(BAHQT+BAQT)) * (abs(BAHQT+BAQT)-abs(DEFIBA))
+	    + positif(BAHQT+BAQT) * 
+	     positif_ou_nul(DAGRI5+DAGRI4+DAGRI3+DAGRI2+DAGRI1-BAHQT-BAQT)
+	    * (DAGRI5+DAGRI4+DAGRI3+DAGRI2+DAGRI1-BAHQT-BAQT)
+	    * null(DEFBA2+DEFBA3+DEFBA4+DEFBA5+DEFBA6)
+		    * (1 - positif(IPVLOC)) ;
+regle 848:
+application : iliad , batch  ;
+DEFIBAANT = positif_ou_nul(BAQT+BAHQTOT-DAGRI1-DAGRI2-DAGRI3-DAGRI4-DAGRI5-DAGRI6)
+            * (DAGRI1-DAGRI2-DAGRI3-DAGRI4-DAGRI5-DAGRI6)
+            + positif_ou_nul(DAGRI1+DAGRI2+DAGRI3+DAGRI4+DAGRI5+DAGRI6-BAQT-BAHQTOT)
+            * (BAQT+BAHQTOT);
+regle 849:
+application : iliad , batch  ;
+DAGRI = DAGRI1+DAGRI2+DAGRI3+DAGRI4+DAGRI5+DAGRI6;
+regle 850:
+application : iliad , batch  ;
+BAQTOTAVIS = 4BAQTOTNET;
diff --git a/sources2012m_3_13/chap-85.m b/sources2012m_3_13/chap-85.m
new file mode 100644
index 0000000000000000000000000000000000000000..f21ee7208bbd252972696c6e57350db37bcef227
--- /dev/null
+++ b/sources2012m_3_13/chap-85.m
@@ -0,0 +1,328 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 8501 :
+application : iliad , batch  ;
+ pour i= V,C,P:                                           
+BIPTAi = (BICNOi - BICDNi );           
+pour i= V,C,P:                                           
+BIPTTAi = (BIPTAi + BI1Ai);              
+regle 8503 :
+application : iliad , batch  ;
+pour i= V,C,P:                                           
+BINTAi = (BICREi - BICDEi );        
+                                                         
+pour i= V,C,P:                                           
+BINTTAi = (BINTAi + BI2Ai);           
+                                                         
+                                                         
+regle 8506 :
+application : iliad , batch  ;
+ 
+pour i= V,C,P:                                           
+BI12Ai = BI1Ai +  BI2Ai;
+
+regle 8508 :
+application : iliad , batch  ;
+
+pour i= V,C,P:                                           
+BITAi = BIPTAi + BINTAi;
+
+pour i= V,C,P:                                           
+BITTAi = BITAi + BI12Ai;
+
+regle 857:
+application : iliad , batch  ;
+BI1 = somme(i=V,C,P:BI1i);
+BI2 = somme(i=V,C,P:BI2i);
+regle 8571:
+application : iliad , batch  ;
+pour i = V,C,P:
+BI1i = BI1Ai;
+pour i = V,C,P:
+BI2i = BI2Ai;
+regle 8580:
+application : iliad , batch ;
+pour i = V,P,C:
+BIHTAi = max(0,arr((BIHNOi - BIHDNi) * MAJREV))
+         + min(0,(BIHNOi - BIHDNi) );
+
+pour i = V,P,C:
+BINHTAi = max(0,arr((BICHREi - BICHDEi)*MAJREV))
+          + min(0,(BICHREi - BICHDEi) ) ;
+regle 85200:
+application : iliad , batch ;
+
+pour i = V,C,P:
+MIB_TVENi = MIBVENi + MIBNPVENi + MIBGITEi+LOCGITi;
+
+pour i = V,C,P:
+MIB_TPRESi = MIBPRESi + MIBNPPRESi + MIBMEUi;
+
+pour i = V,C,P:
+MIB_TTi = MIB_TVENi + MIB_TPRESi;
+
+regle 85240:
+application : iliad , batch ;
+
+pour i = V,C,P:
+MIB_AVi = min ( MIB_TVENi,
+                         (max(MIN_MBIC,
+                              arr( MIB_TVENi*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+PMIB_AVi = min ( MIBVENi,
+                         (max(MIN_MBIC,
+                              arr( MIBVENi*TX_MIBVEN/100))
+                         )
+              );
+
+
+pour i = V,C,P:
+MIB_APi = min ( MIB_TPRESi,
+                         (max(MIN_MBIC,
+                              arr(MIB_TPRESi*TX_MIBPRES/100))
+                         )
+               );
+pour i = V,C,P:
+PMIB_APi = min ( MIBPRESi,
+                         (max(MIN_MBIC,
+                              arr(MIBPRESi*TX_MIBPRES/100))
+                         )
+               );
+
+
+
+regle 85250:
+application : iliad , batch ;
+
+pour i = V,C,P:
+MIB_ABVi = max(0,arr(MIB_AVi * MIBVENi / MIB_TVENi));
+pour i = V,C,P:
+MIB_ABNPVi = max(0,arr(MIB_AVi * MIBNPVENi / MIB_TVENi))* positif(present(MIBGITEi)+present(LOCGITi))
+	      + (MIB_AVi - MIB_ABVi) * (1 - positif(present(MIBGITEi)+present(LOCGITi)));
+pour i = V,C,P:
+MIB_ABNPVLi = (MIB_AVi - MIB_ABVi - MIB_ABNPVi) * positif(present(MIBGITEi)+present(LOCGITi));
+
+pour i = V,C,P:
+MIB_ABPi = max(0,arr(MIB_APi * MIBPRESi / MIB_TPRESi));
+pour i = V,C,P:
+MIB_ABNPPi = max(0,arr(MIB_APi * MIBNPPRESi / MIB_TPRESi)) * present(MIBMEUi)
+	      + (MIB_APi - MIB_ABPi) * (1 - present(MIBMEUi));
+pour i = V,C,P:
+MIB_ABNPPLi = (MIB_APi - MIB_ABPi - MIB_ABNPPi) *  present(MIBMEUi);
+
+
+regle 85260:
+application : iliad , batch ;
+
+pour i = V,C,P:
+MIB_NETVi = MIBVENi - MIB_ABVi;
+MIBNETVF = somme(i=V,C,P:MIB_NETVi) ;
+pour i = V,C,P:
+MIB_NETNPVi = MIBNPVENi - MIB_ABNPVi;
+MIBNETNPVF = somme(i=V,C,P:MIB_NETNPVi);
+pour i = V,C,P:
+MIB_NETNPVLi = MIBGITEi+ LOCGITi - MIB_ABNPVLi;
+pour i = V,C,P:
+MIBNETNPVLSi = arr(MIB_NETNPVLi * MIBGITEi / (MIBGITEi + LOCGITi));
+pour i = V,C,P:
+MIBNETNPVLNSi = MIB_NETNPVLi - MIBNETNPVLSi;
+MIBNETNPVLF = somme(i=V,C,P:MIB_NETNPVLi);
+
+pour i = V,C,P:
+MIB_NETPi = MIBPRESi - MIB_ABPi;
+MIBNETPF = somme(i=V,C,P:MIB_NETPi) ;
+pour i = V,C,P:
+MIB_NETNPPi = MIBNPPRESi - MIB_ABNPPi;
+MIBNETNPPF = somme(i=V,C,P:MIB_NETNPPi);
+pour i = V,C,P:
+MIB_NETNPPLi = MIBMEUi - MIB_ABNPPLi;
+MIBNETNPPLF = somme(i=V,C,P:MIB_NETNPPLi);
+
+pour i = V,C,P:
+PMIB_NETVi = MIBVENi - PMIB_AVi;
+pour i = V,C,P:
+PMIB_NETPi = MIBPRESi - PMIB_APi;
+
+
+
+regle 85265:
+application : iliad , batch ;
+MIB_NETCT = MIBPVV + MIBPVC + MIBPVP - BICPMVCTV - BICPMVCTC - BICPMVCTP;
+
+MIB_NETNPCT = MIBNPPVV + MIBNPPVC + MIBNPPVP - MIBNPDCT ;
+
+
+regle 85270:
+application : iliad , batch ;
+
+pour i=V,C,P:
+MIB_P1Ai = MIB1Ai - MIBDEi ;
+pour i=V,C,P:
+MIB_NP1Ai = MIBNP1Ai - MIBNPDEi ;
+pour i=V,C,P:
+MIB_1Ai = max(0,MIB_P1Ai + MIB_NP1Ai);
+MIB_1AF = max (0, somme(i=V,C,P:MIB_1Ai));
+regle 85390:
+application : iliad , batch ;
+pour i = V,C,P:
+REVIBI12i = BIH1i + BIH2i + BI1Ai + BI2Ai;
+regle 85700:
+application : iliad , batch ;
+BICPF = somme(i=V,C,P:BIPTAi+BIHTAi+MIB_NETVi+MIB_NETPi) + MIB_NETCT  ; 
+regle 85730:
+application : iliad , batch ;
+DEFNP  = somme (i=1,2,3,4,5,6:DEFBICi);
+pour i = V,C,P:
+BICNPi = BINTAi+BINHTAi+  MIB_NETNPVi + MIB_NETNPPi ;
+BICNPF = max(0,somme(i=V,C,P:BICNPi)+MIB_NETNPCT - DEFNP)  ; 
+DEFNPI = abs(min( DEFNP , somme(i=V,C,P:BICNPi*positif(BICNPi))));
+
+regle 85740:
+application : iliad , batch ;
+BICNPR = somme(i=V,C,P:BINTAi);
+regle 85750:
+application : iliad , batch ;
+BI12F = somme(i=V,C,P:REVIBI12i) + MIB_1AF  ; 
+regle 85900:
+application : iliad , batch  ;                   
+pour i=V,C,P:                                       
+BICIMPi = BIHTAi +  BIPTAi + MIB_NETVi + MIB_NETPi;
+BIN = BICPF + BICNPF ;
+regle 85960:
+application : batch, iliad ;
+
+
+
+DCTMIB = (BICPMVCTV + BICPMVCTC + BICPMVCTP) * positif_ou_nul(BIPN+MIB_NETCT)
+	 + (1-positif_ou_nul(BIPN+MIB_NETCT)) * ((BICPMVCTV +BICPMVCTC +BICPMVCTP ) - abs(BIPN+MIB_NETCT))
+	 + (1-positif_ou_nul(BIPN+MIB_NETCT)) * null((BICPMVCTV +BICPMVCTC +BICPMVCTP) - abs(BIPN+MIB_NETCT)) * (BICPMVCTV +BICPMVCTC +BICPMVCTP)
+	 ;
+DCTMIBNP = MIBNPDCT * positif_ou_nul(BINNV+BINNC+BINNP+MIB_NETNPCT)
+	 + (1-positif_ou_nul(BINNV+BINNC+BINNP+MIB_NETNPCT)) * (MIBNPDCT - abs(BINNV+BINNC+BINNP+MIB_NETNPCT))
+	 + (1-positif_ou_nul(BINNV+BINNC+BINNP+MIB_NETNPCT)) * null(MIBNPDCT - abs(BINNV+BINNC+BINNP+MIB_NETNPCT))*MIBNPDCT
+	 ;
+regle 90000:
+application : iliad , batch  ;                   
+
+DEPLOCV = (LOCPROCGAV - LOCDEFPROCGAV) + (LOCPROV - LOCDEFPROV) ;
+DEPLOCC = (LOCPROCGAC - LOCDEFPROCGAC) + (LOCPROC - LOCDEFPROC) ;
+DEPLOCP = (LOCPROCGAP - LOCDEFPROCGAP) + (LOCPROP - LOCDEFPROP) ;
+
+DENPLOCV = (LOCNPCGAV + LOCGITCV - LOCDEFNPCGAV) + (LOCNPV + LOCGITHCV - LOCDEFNPV) ;
+DENPLOCC = (LOCNPCGAC + LOCGITCC - LOCDEFNPCGAC) + (LOCNPC + LOCGITHCC - LOCDEFNPC) ;
+DENPLOCP = (LOCNPCGAPAC + LOCGITCP - LOCDEFNPCGAPAC) + (LOCNPPAC + LOCGITHCP - LOCDEFNPPAC) ;
+
+PLOCCGAV = LOCPROCGAV - LOCDEFPROCGAV;
+PLOCCGAC = LOCPROCGAC - LOCDEFPROCGAC;
+PLOCCGAPAC = LOCPROCGAP - LOCDEFPROCGAP;
+NPLOCCGAV = LOCNPCGAV + LOCGITCV - LOCDEFNPCGAV;
+NPLOCCGAC = LOCNPCGAC + LOCGITCC - LOCDEFNPCGAC;
+NPLOCCGAPAC = LOCNPCGAPAC + LOCGITCP - LOCDEFNPCGAPAC;
+NPLOCCGASV = arr(NPLOCCGAV * LOCNPCGAV / (LOCNPCGAV + LOCGITCV))* present(LOCNPCGAV) + min(0,NPLOCCGAV) * (1-present(LOCNPCGAV));
+NPLOCCGASC = arr(NPLOCCGAC * LOCNPCGAC / (LOCNPCGAC + LOCGITCC))* present(LOCNPCGAC) + min(0,NPLOCCGAC) * (1-present(LOCNPCGAC));
+NPLOCCGASP = arr(NPLOCCGAPAC * LOCNPCGAPAC / (LOCNPCGAPAC + LOCGITCP))* present(LOCNPCGAPAC) + min(0,NPLOCCGAPAC) * (1-present(LOCNPCGAPAC));
+NPLOCCGANSV = NPLOCCGAV - NPLOCCGASV;
+NPLOCCGANSC = NPLOCCGAC - NPLOCCGASC;
+NPLOCCGANSP = NPLOCCGAPAC - NPLOCCGASP;
+PLOCV = min(0,LOCPROV - LOCDEFPROV) * positif_ou_nul(LOCDEFPROV - LOCPROV) 
+	       + arr(max(0, LOCPROV - LOCDEFPROV) * MAJREV) * positif(LOCPROV - LOCDEFPROV);
+PLOCC = min(0,LOCPROC - LOCDEFPROC) * positif_ou_nul(LOCDEFPROC - LOCPROC) 
+	       + arr(max(0, LOCPROC - LOCDEFPROC) * MAJREV) * positif(LOCPROC - LOCDEFPROC);
+PLOCPAC = min(0,LOCPROP - LOCDEFPROP) * positif_ou_nul(LOCDEFPROP - LOCPROP) 
+	       + arr(max(0, LOCPROP - LOCDEFPROP) * MAJREV) * positif(LOCPROP - LOCDEFPROP);
+NPLOCV = min(0,LOCNPV + LOCGITHCV - LOCDEFNPV) * positif_ou_nul(LOCDEFNPV - LOCNPV- LOCGITHCV ) 
+	       + arr(max(0, LOCNPV + LOCGITHCV - LOCDEFNPV) * MAJREV) * positif(LOCNPV + LOCGITHCV - LOCDEFNPV);
+NPLOCC = min(0,LOCNPC + LOCGITHCC - LOCDEFNPC) * positif_ou_nul(LOCDEFNPC - LOCNPC- LOCGITHCC ) 
+	       + arr(max(0, LOCNPC + LOCGITHCC - LOCDEFNPC) * MAJREV) * positif(LOCNPC + LOCGITHCC - LOCDEFNPC);
+NPLOCPAC = min(0,LOCNPPAC + LOCGITHCP - LOCDEFNPPAC) * positif_ou_nul(LOCDEFNPPAC - LOCNPPAC- LOCGITHCP ) 
+	       + arr(max(0, LOCNPPAC + LOCGITHCP - LOCDEFNPPAC) * MAJREV) * positif(LOCNPPAC + LOCGITHCP - LOCDEFNPPAC);
+NPLOCSV = arr(NPLOCV * LOCNPV / (LOCNPV + LOCGITHCV))* present(LOCNPV) + min(0,NPLOCV) * (1-present(LOCNPV));
+NPLOCSC = arr(NPLOCC * LOCNPC / (LOCNPC + LOCGITHCC))* present(LOCNPC) + min(0,NPLOCC) * (1-present(LOCNPC));
+NPLOCSP = arr(NPLOCPAC * LOCNPPAC / (LOCNPPAC + LOCGITHCP))* present(LOCNPPAC) + min(0,NPLOCPAC) * (1-present(LOCNPPAC));
+NPLOCNSV = NPLOCV - NPLOCSV;
+NPLOCNSC =  NPLOCC - NPLOCSC;
+NPLOCNSP = NPLOCPAC - NPLOCSP;
+regle 90010:
+application : iliad , batch  ;                   
+PLOCNETV = PLOCCGAV + PLOCV;
+PLOCNETC = PLOCCGAC + PLOCC;
+PLOCNETPAC = PLOCCGAPAC + PLOCPAC;
+NPLOCNETTV = NPLOCCGAV + NPLOCV + MIB_NETNPVLV + MIB_NETNPPLV ;
+NPLOCNETTC = NPLOCCGAC + NPLOCC + MIB_NETNPVLC + MIB_NETNPPLC ;
+NPLOCNETTPAC = NPLOCCGAPAC + NPLOCPAC + MIB_NETNPVLP + MIB_NETNPPLP ;
+NPLOCNETTSV = NPLOCCGASV + NPLOCSV + MIBNETNPVLSV + MIB_NETNPPLV ;
+NPLOCNETTSC = NPLOCCGASC + NPLOCSC + MIBNETNPVLSC + MIB_NETNPPLC ;
+NPLOCNETTSP = NPLOCCGASP + NPLOCSP + MIBNETNPVLSP + MIB_NETNPPLP ;
+NPLOCNETV = NPLOCCGAV + NPLOCV ;
+NPLOCNETC = NPLOCCGAC + NPLOCC ;
+NPLOCNETPAC = NPLOCCGAPAC + NPLOCPAC ;
+regle 90020:
+application : iliad , batch  ;                   
+PLOCNETF = PLOCNETV + PLOCNETC + PLOCNETPAC;
+TOTDEFLOCNP = LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 +  LNPRODEF5 + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1;
+NPLOCNETF10 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9);
+NPLOCNETF9 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8);
+NPLOCNETF8 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7);
+NPLOCNETF7 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6);
+NPLOCNETF6 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5);
+NPLOCNETF5 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5 + LNPRODEF4);
+NPLOCNETF4 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5 + LNPRODEF4 + LNPRODEF3);
+NPLOCNETF3 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5 + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 );
+NPLOCNETF2 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(LNPRODEF10 +  LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5 + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1);
+NPLOCNETF = max(0,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-TOTDEFLOCNP);
+NPLOCNETSF = max(0,NPLOCNETTSV + NPLOCNETTSC + NPLOCNETTSP-TOTDEFLOCNP);
+DNPLOCIMPU = max(0,min(TOTDEFLOCNP,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC));
+NPLOCNETFHDEFANT = max(0,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC);
+DEFNPLOCF = min(0,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(TOTDEFLOCNP-LNPRODEF10));
+DEFNONPLOC = abs(DEFNPLOCF) ;
+regle 90030:
+application : iliad , batch  ;
+DEFLOC10 = (1- positif_ou_nul(NPLOCNETF10))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10,0)-LNPRODEF9,LNPRODEF9))
+            * positif_ou_nul(LNPRODEF9-max(NPLOCNETFHDEFANT-LNPRODEF10,0));
+DEFLOC9 = (1- positif_ou_nul(NPLOCNETF9))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9,0)-LNPRODEF8,LNPRODEF8))
+            * positif_ou_nul(LNPRODEF8-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9,0));
+DEFLOC8 = (1- positif_ou_nul(NPLOCNETF8))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8,0)-LNPRODEF7,LNPRODEF7))
+            * positif_ou_nul(LNPRODEF7-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8,0));
+DEFLOC7 = (1- positif_ou_nul(NPLOCNETF7))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7,0)-LNPRODEF6,LNPRODEF6))
+            * positif_ou_nul(LNPRODEF6-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7,0));
+DEFLOC6 = (1- positif_ou_nul(NPLOCNETF6))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6,0)-LNPRODEF5,LNPRODEF5))
+            * positif_ou_nul(LNPRODEF5-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6,0));
+DEFLOC5 = (1- positif_ou_nul(NPLOCNETF5))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6 -LNPRODEF5,0)-LNPRODEF4,LNPRODEF4))
+            * positif_ou_nul(LNPRODEF4-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5,0));
+DEFLOC4 =(1- positif_ou_nul(NPLOCNETF4))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4,0)-LNPRODEF3,LNPRODEF3))
+            * positif_ou_nul(LNPRODEF3-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4,0));
+DEFLOC3 =(1- positif_ou_nul(NPLOCNETF3))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4-LNPRODEF3,0)-LNPRODEF2,LNPRODEF2))
+            * positif_ou_nul(LNPRODEF2-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4-LNPRODEF3,0));
+DEFLOC2 = (1-positif_ou_nul(NPLOCNETF2))
+            * abs(min(max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4-LNPRODEF3-LNPRODEF2,0)-LNPRODEF1,LNPRODEF1))
+            * positif_ou_nul(LNPRODEF1-max(NPLOCNETFHDEFANT-LNPRODEF10-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODEF5-LNPRODEF4-LNPRODEF3-LNPRODEF2,0));
+DEFNPLOCFAV = max(0,abs(DEFNPLOCF) - DEFLOC2 - DEFLOC3 - DEFLOC4 - DEFLOC5 - DEFLOC6 - DEFLOC7 - DEFLOC8 - DEFLOC9 - DEFLOC10);
+DEFLOC1 = positif(DEFNONPLOC) * DEFNPLOCFAV;
diff --git a/sources2012m_3_13/chap-86.m b/sources2012m_3_13/chap-86.m
new file mode 100644
index 0000000000000000000000000000000000000000..9076d25c308d3ebe55c51665bbb9c7454d61e16d
--- /dev/null
+++ b/sources2012m_3_13/chap-86.m
@@ -0,0 +1,165 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+regle 8610 :
+application : iliad , batch  ;
+BNNSV = positif(BNHREV - BNHDEV)* arr((BNHREV-BNHDEV)*MAJREV) + (1-positif_ou_nul(BNHREV-BNHDEV))*(BNHREV-BNHDEV);
+
+BNNSC = positif(BNHREC - BNHDEC)* arr((BNHREC-BNHDEC)*MAJREV) + (1-positif_ou_nul(BNHREC-BNHDEC))*(BNHREC-BNHDEC);
+
+BNNSP = positif(BNHREP - BNHDEP)* arr((BNHREP-BNHDEP)*MAJREV) + (1-positif_ou_nul(BNHREP-BNHDEP))*(BNHREP-BNHDEP);
+
+BNNAV = (BNCREV - BNCDEV) ;
+BNNAC = (BNCREC - BNCDEC) ;
+BNNAP = (BNCREP - BNCDEP) ;
+BNNAAV = (BNCAABV - BNCAADV) ;
+BNNAAC = (BNCAABC - BNCAADC) ;
+BNNAAP = (BNCAABP - BNCAADP) ;
+regle 862:
+application : iliad , batch  ;
+
+NOCEPV = ANOCEP - DNOCEP + BNNAAV; 
+
+NOCEPC = ANOVEP - DNOCEPC + BNNAAC; 
+
+NOCEPP = ANOPEP - DNOCEPP + BNNAAP; 
+
+NOCEPIMPV = positif(ANOCEP - DNOCEP)*arr((ANOCEP-DNOCEP)*MAJREV) 
+	   + positif_ou_nul(DNOCEP-ANOCEP)*(ANOCEP-DNOCEP)+BNNAAV;
+
+NOCEPIMPC = positif(ANOVEP - DNOCEPC)*arr((ANOVEP-DNOCEPC)*MAJREV) 
+	   + positif_ou_nul(DNOCEPC-ANOVEP)*(ANOVEP-DNOCEPC)+BNNAAC;
+
+NOCEPIMPP = positif(ANOPEP - DNOCEPP)*arr((ANOPEP-DNOCEPP)*MAJREV) 
+	   + positif_ou_nul(DNOCEPP-ANOPEP)*(ANOPEP-DNOCEPP)+BNNAAP;
+
+NOCEPIMP = NOCEPIMPV+NOCEPIMPC+NOCEPIMPP;
+
+BNN = somme(i=V,C,P:BNRi) + SPENETPF + max(0,SPENETNPF + NOCEPIMP-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2-DABNCNP1) ;
+regle 8621:
+application : iliad , batch  ;
+pour i = V,C,P:
+BNNi =  BNRi + SPENETi;
+regle 86211:
+application : iliad , batch  ;
+pour i = V,C,P:
+BNRi = BNNSi + BNNAi;
+BNRTOT = BNRV + BNRC + BNRP;
+regle 863:
+application : iliad , batch  ;
+BN1 = somme(i=V,C,P:BN1i);
+regle 8631:
+application : iliad , batch  ;
+pour i = V,C,P:
+BN1i = BN1Ai + PVINiE + INVENTi;
+regle 864:                                                                    
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPETOTi = BNCPROi + BNCNPi;
+regle 8641:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPEBASABi=SPETOTi;
+pour i = V,C,P:                                                                 
+SPEABi = arr((max(MIN_SPEBNC,(SPEBASABi * SPETXAB/100))) * 
+                       positif_ou_nul(SPETOTi - MIN_SPEBNC)) +
+          arr((min(MIN_SPEBNC,SPEBASABi )) * 
+                       positif(MIN_SPEBNC - SPETOTi)); 
+regle 86411:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPEABPi = arr((SPEABi * BNCPROi)/SPETOTi);                                  
+pour i = V,C,P:                                                                 
+SPEABNPi = SPEABi - SPEABPi;                                  
+regle 8642:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPENETPi = max (0,(BNCPROi - SPEABPi));                                    
+pour i = V,C,P:                                                                 
+SPENETNPi = max (0,(BNCNPi - SPEABNPi));
+pour i = V,C,P:                                                                 
+SPENETi = SPENETPi + SPENETNPi;
+SPENET = somme(i=V,C,P:(SPENETi));
+regle 8650:
+application : iliad , batch  ;                          
+SPENETCT = BNCPROPVV + BNCPROPVC + BNCPROPVP - BNCPMVCTV - BNCPMVCTC - BNCPMVCTP  ;
+SPENETNPCT = BNCNPPVV + BNCNPPVC + BNCNPPVP - BNCNPDCT;
+regle 8660:
+application : iliad , batch  ;                          
+SPENETPF = somme(i=V,C,P:SPENETPi) + SPENETCT;
+SPENETNPF = somme(i=V,C,P:SPENETNPi) + SPENETNPCT;                                    
+BNCNPTOT = SPENETPF + SPENETNPF;
+regle 8680:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPEPVPi = BNCPRO1Ai - BNCPRODEi;
+pour i = V,C,P:                                                                 
+SPEPVNPi = BNCNP1Ai - BNCNPDEi;
+SPEPV = somme(i=V,C,P:max(0,SPEPVPi + SPEPVNPi));
+
+regle 8690:
+application :  iliad , batch  ;                          
+
+DCTSPE = positif_ou_nul(BNRTOT+SPENETPF) * BNCPMVCTV
+        + ( 1 - positif_ou_nul(BNRTOT+SPENETPF)) * (BNCPMVCTV-abs(BNRTOT+SPENETPF))
+        + ( 1 - positif_ou_nul(BNRTOT+SPENETPF)) * null(BNCPMVCTV-abs(BNRTOT+SPENETPF))* BNCPMVCTV
+	;
+DCTSPENP = positif_ou_nul(NOCEPIMP+SPENETNPF) * BNCNPDCT
+        + ( 1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (BNCNPDCT-abs(NOCEPIMP+SPENETNPF))
+        + ( 1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * null(BNCNPDCT-abs(NOCEPIMP+SPENETNPF)) * BNCNPDCT
+	;
+regle 8691:
+application : iliad , batch  ;
+
+BNCDF6 = (1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP5)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF) 
+	    * min(max(NOCEPIMP+SPENETNPF-DABNCNP6,0)-DABNCNP5,DABNCNP5)*(-1)
+            * positif_ou_nul(DABNCNP5-max(NOCEPIMP+SPENETNPF-DABNCNP6,0));
+
+BNCDF5 = (1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP4)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF) 
+	    * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5,0)-DABNCNP4,DABNCNP4)*(-1)
+            * positif_ou_nul(DABNCNP4-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5,0));
+
+BNCDF4 = (1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP3)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF) 
+	    * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4,0)-DABNCNP3,DABNCNP3)*(-1)
+            * positif_ou_nul(DABNCNP3-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4,0));
+
+BNCDF3 = (1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP2)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF)  
+            * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3,0)-DABNCNP2,DABNCNP2)*(-1)
+            * positif_ou_nul(DABNCNP2-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3,0));
+
+BNCDF2 = (1-positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP1)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF)  
+            * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2,0)-DABNCNP1,DABNCNP1)*(-1)
+            * positif_ou_nul(DABNCNP1-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2,0));
+
+BNCDF1 = (1-positif_ou_nul(NOCEPIMP+SPENETNPF)) * abs(NOCEPIMP+SPENETNPF)
+          + positif_ou_nul(NOCEPIMP+SPENETNPF)  
+            * positif_ou_nul(DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1-NOCEPIMP-SPENETNPF)
+            * (DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1-NOCEPIMP-SPENETNPF)
+	    * null(BNCDF6+BNCDF5+BNCDF4+BNCDF3+BNCDF2) ;
+
+regle 8692:
+application : iliad , batch  ;                          
+DABNCNP = DABNCNP1 + DABNCNP2 + DABNCNP3 + DABNCNP4 + DABNCNP5 + DABNCNP6;
diff --git a/sources2012m_3_13/chap-87.m b/sources2012m_3_13/chap-87.m
new file mode 100644
index 0000000000000000000000000000000000000000..80de214db8f8fcfa13b24b301507db9e75a060aa
--- /dev/null
+++ b/sources2012m_3_13/chap-87.m
@@ -0,0 +1,237 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 8740:
+application : iliad , batch ;
+XFORFAIT  = somme(i=V,C,P: FEXi);
+regle 8741:
+application : iliad , batch ;
+XACCESS  = somme(i=V,C,P: XACCESSi);
+regle 8745:
+application : iliad , batch ;
+pour i = V,P,C:
+XBAi = BAHEXi + BAEXi ;
+pour i = V,P,C:
+XBIPi = BIHEXi + BICEXi;
+pour i = V,P,C:
+XBINPi = BICNPHEXi + BICNPEXi;
+pour i = V,P,C:
+XBNi = BNHEXi + BNCEXi ;
+pour i = V,P,C:
+XBNNPi = BNCNPREXi+BNCNPREXAAi ;
+regle 872:
+application : iliad , batch ;
+pour i=V,C,P:
+XBICHDi = (BICEXi + BICNOi)  ;
+pour i=V,C,P:
+XBICNETi = XBICHDi - ( BICDNi )  ;
+pour i=V,C,P:
+XBICSi =  XBICNETi + BA1Ai ;
+pour i=V,C,P:
+XBICNPHDi = BICNPEXi + BICREi ;
+pour i=V,C,P:
+XBICNPNETi = XBICNPHDi - BICDEi ;
+pour i=V,C,P:
+XBICNPSi =  XBICNPNETi + BI2Ai ;
+pour  i = V,C,P:
+XBITi = max (0 , XBICNETi + max (0,XBICNPNETi )); 
+pour  i = V,C,P:
+XBISi = positif(max(0,XBICNETi + max(0,XBICNPNETi)))
+        * ( BI2Ai  + BI1Ai  );
+
+pour i=V,C,P:
+XBICIMPi =  XBICHDi + XBICNPHDi ;
+regle 8728:
+application : iliad , batch ;
+pour i=V,C:
+XTSBi =  somme(x=1..3:GLDxi) + TSBNi + BPCOSAi + TSASSUi + XETRANi + HEURESUPi + EXOCETi 
+	 + SALINTi + GLDGRATi;
+
+pour i=1,2,3,4:
+XTSBi =  TSBNi + HEURESUPPi ;
+pour i=V,C:
+XEXTSi = XTSBi + CARTSi + REMPLAi;
+pour i=1,2,3,4:
+XEXTSi = XTSBi + CARTSPi + REMPLAPi;
+regle 8731:
+application : iliad , batch ;
+pour i = V,C,1,2,3,4:
+XTPS10i = arr (XEXTSi * TX_DEDFORFTS /100);
+pour i = V,C,1,2,3,4:
+XDFNi =  min( PLAF_DEDFORFTS , XTPS10i );
+regle 8729:
+application : iliad , batch ;
+pour i = V,C,1,2,3,4:
+X10MINSi= max( min(XTSBi,DEDMINi) , XDFNi );
+pour i = V,C,1,2,3,4:
+XIND_10i= positif_ou_nul(X10MINSi-FRNi);
+pour i = V,C,1,2,3,4:
+XDFi = X10MINSi  ;
+pour i = V,C,1,2,3,4:
+XFPTi = XDFi * XIND_10i + FRDi * (1 - XIND_10i);
+pour i = V,C,1,2,3,4:
+XTSNTi =  XEXTSi - XFPTi;
+regle 8734:
+application : iliad , batch ;
+pour i = V,C,1,2,3,4:
+XTSNi = positif (-XTSNTi) * min (0 , XTSNTi)
+     + positif_ou_nul (XTSNTi) * XTSNTi;
+regle 8735:
+application : iliad , batch ;
+pour i = V,C:
+XTSi = XTSNi -  somme(x=1..3: max(0,GLDxi - ABGLxi));
+pour i = V,C:
+XHSUPTSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (HEURESUPi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * HEURESUPi;
+pour i = 1,2,3,4:
+XHSUPTSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (HEURESUPPi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * HEURESUPPi;
+HEURESUPTOT = somme(i=1..4: HEURESUPPi);
+XHSUPTSTOT = somme(i=1..4: XHSUPTSNNi);
+HEURSUP = XHSUPTSNNV +  XHSUPTSNNC +  XHSUPTSNN1 +  XHSUPTSNN2 +  XHSUPTSNN3 +  XHSUPTSNN4;  
+pour i = V,C:
+XTSNNTYi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (SALINTi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * SALINTi;
+SALFONINT = XTSNNTYV + XTSNNTYC ; 
+pour i = V,C:
+XTSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (TSASSUi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * TSASSUi;
+pour i = V,C:
+XETSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (XETRANi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * XETRANi;
+pour i = V,C:
+XEXOCETi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (EXOCETi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * EXOCETi;
+XEXOCET = somme(i=V,C:XEXOCETi);
+pour i = V,C:
+DTSELUPPEi = TSELUPPEi * (1 - V_CNR);
+pour i = V,C:
+XLUXTSNNi = arr( positif(XTSNi) * XTSNi  
+         * (DTSELUPPEi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * DTSELUPPEi;
+regle 876:
+application : iliad , batch ;
+XELU = ELURASC + ELURASV ;
+regle 875:
+application : iliad , batch ;
+GLN2NET = arr(GLN2 * GL2 / REV2);
+GLN3NET = arr(GLN3 * GL3 / REV3);
+QUOKIRE =   GL1 + GL2 + GL3 + RPQ4
+             + somme (x=V,C,1..4 : RPQPRRx+ GLFx+ RPQTSx+ RPQTSREMPx+RPQPALIMx)
+             + RPQRF1 + GLRF2 + RPQRCMDC + RPQRCMFU + RPQRCMCH
+             + RPQRCMTS + RPQRCMGO + RPQRCMTR + RPQRVO + RPQRVO5 + RPQRVO6 + RPQRVO7;
+regle 8727:
+application : iliad , batch ;
+
+VARREVKIRE =  BPCAPTAXV + BPCAPTAXC
+              + somme( i=V,C,P: XBAi+XBIPi+XBINPi+XBNi+XBNNPi)
+              + somme (i=V,C,P: MIBEXi + MIBNPEXi + BNCPROEXi + XSPENPi)
+              + somme (i=V,C,P: BNCCRi)
+              + somme (i=V,C,P: BNCCRFi)
+              + somme (i=V,C: XETSNNi)
+              + somme (i=V,C: XEXOCETi)
+              + somme (i=V,C: XTSNNi)
+              + somme (i=V,C: XTSNNTYi)
+              + somme (i=V,C,1,2,3,4: XHSUPTSNNi)
+              + XFORFAIT + XACCESS 
+              + RCMLIB + PPLIB + RCMLIBDIV
+              + GAINABDET
+              + PVJEUNENT
+              + RCMEXCREF
+              + XELU 
+              + RCMIMPAT
+              + PVPART
+              + PVIMMO
+	      + PVMOBNR
+              + PVTITRESOC 
+              + BTP3A
+              + (max(0,BTP3G + ABDETPLUS + ABIMPPV -DPVRCM- ABDETMOINS - ABIMPMV) 
+              + BPTP18 + BPTP40 + BPTP4 + BTP3N + BPTP2 
+	      + BPTPSA + BPTPSJ + BPTPVT)
+	      ;
+
+REVKIRE = (1-null(IND_TDR)) *
+ arr (
+       max ( 0, ( 
+                  (1-positif(IPTEFP+IPTEFN+INDTEFF)) * (RI1)  
+                  + positif(IPTEFP+IPTEFN+INDTEFF) * IPTEFP
+                  + positif(IPTEFP+IPTEFN+INDTEFF) 
+                  * positif(- TEFFN - DRBG - RNIDF + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) + QUOKIRE)*
+		   ( (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO)))
+		   + QUOKIRE
+                   ) 
+                  + max(0,TEFFREVTOT*INDTEFF) * (1-positif(IPTEFP))
+                )
+                * (1-present(IND_TDR))
+                + 
+                   IND_TDR
+		   + (1-positif(IPTEFP+IPTEFN+INDTEFF)) * 
+		     (QUOKIRE + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) )
+		   +  VARREVKIRE
+             )
+       ) 
+       ;
+
+pour i=V,C,P:
+BNCCREAi = BNCCRi + BNCCRFi ;
+QUOKIREHR =   GL1 + GL2 + GL3 + GL4
+             + somme (x=V,C,1..4 : GLPRRx+ GLFx+ GLTSx+ GLTSREMPx+GLPALIMx)
+             + GLRF1 + GLRF2 + GLRCMDC + GLRCMFU + GLRCMCH
+             + GLRCMTS + GLRCMGO + GLRCMTR + GLRVO + GLRVO5 + GLRVO6 + GLRVO7;
+REVKIREHR =  (1-null(IND_TDR)) *
+ arr (
+       max ( 0, ( 
+                  (1-positif(IPTEFP+IPTEFN+INDTEFF)) * (RI1)  
+                  + positif(IPTEFP+IPTEFN+INDTEFF) * IPTEFP
+                  + positif(IPTEFP+IPTEFN+INDTEFF) 
+                  * positif(- TEFFN - DRBG - RNIDF + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) + QUOKIREHR+(RFROBOR*V_INDTEO))*
+		   ( (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) 
+		   + QUOKIREHR + (RFROBOR * V_INDTEO* (1-INDTEFF))
+                   ) 
+                  + max(0,TEFFREVTOT*INDTEFF) * (1-positif(IPTEFP))
+                )
+                * (1-present(IND_TDR))
+                + 
+                   IND_TDR
+		   + (1-positif(IPTEFP+IPTEFN+INDTEFF)) * 
+		     (QUOKIREHR + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO)))) 
+		   +  VARREVKIRE
+             )
+       ) 
+       ;
+regle 410 :
+application : batch, iliad;
+CDEVDUR_NBJ = PPENBJ;
+CKIREDUR = arr(REVKIRE * 360/CDEVDUR_NBJ);
+REVKIREDUR2 = CKIREDUR ;
+
+
diff --git a/sources2012m_3_13/chap-88.m b/sources2012m_3_13/chap-88.m
new file mode 100644
index 0000000000000000000000000000000000000000..2acd2dcd1ab39971411f15d20e4f04afdcc9497c
--- /dev/null
+++ b/sources2012m_3_13/chap-88.m
@@ -0,0 +1,150 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 881:
+application : iliad , batch  ;
+pour i = V,C;x=1..3:
+GLNxi = max (GLDxi - ABGLxi,0);
+regle 882:
+application : iliad , batch  ;
+pour i=V,C:
+TSi = TSNi - somme(x=1..3: max(0,GLDxi - ABGLxi));
+pour i=1..4:
+TSi = TSNi;
+pour i=V,C:
+TPRi = TSNi + PRNi - somme(x=1..3: GLNxi);
+pour i=1..4:
+TPRi = TSNi + PRNi;
+pour i = V,C :
+TSNNi =  positif(TSi) *arr(TSi *(TSBNi + BPCOSAi + GLDGRATi)/EXTSi )
+          + (1 -positif(TSi)) * TSi ;
+pour i = 1..4 :
+TSNNi = (positif(TSi) * arr(TSi * TSBNi /EXTSi )
+            + (1 -positif(TSi)) * TSi)  ;
+pour i = V,C :
+TSNN2i = ( positif(TSi)
+                * ( positif(CARTSi+REMPLAi) 
+                          * arr(TSi * 2TSNi / EXTSi )
+                    + (1 -positif(CARTSi+REMPLAi)) 
+                          * (TSi - TSNNi))) ;
+pour i = 1..4 :
+TSNN2i = ( positif(TSi)
+               * ( positif(CARTSPi+REMPLAPi) 
+                          * arr(TSi * 2TSNi /EXTSi )
+                    + (1 -positif(CARTSPi+REMPLAPi)) 
+                          * (TSi - TSNNi))) ;
+pour i = V,C :
+TSNN2TSi = ( positif(TSi)
+                * ( positif(REMPLAi) 
+                          * arr(TSi * CARTSi / EXTSi )
+                    + (1 -positif(REMPLAi)) 
+                          * (TSi - TSNNi))) ;
+pour i = 1..4 :
+TSNN2TSi = ( positif(TSi)
+               * ( positif(REMPLAPi) 
+                          * arr(TSi * CARTSPi /EXTSi )
+                    + (1 -positif(REMPLAPi)) 
+                          * (TSi - TSNNi))) ;
+pour i = V,C :
+TSNN2REMPi = (positif(TSi) * (TSi - TSNNi-TSNN2TSi)) ;
+pour i = 1..4 :
+TSNN2REMPi = (positif(TSi) * (TSi - TSNNi-TSNN2TSi)) ;
+
+regle 883:
+application : iliad , batch  ;
+pour i = V,C,1..4:
+PRRi = arr(PRNi * PRBi / EXPRi);
+pour i = V,C:
+PRR2i = positif(PEBFi+PENSALi) * arr(PRNi * CARPEi / EXPRi)
+           +  (1 -positif(PEBFi+PENSALi)) * (PRNi -PRRi)   ;
+pour i = 1..4:
+PRR2i = positif(PEBFi+PENSALPi) * arr(PRNi * CARPEPi / EXPRi )
+           +  (1 -positif(PEBFi+PENSALPi)) * (PRNi -PRRi);
+pour i = V,C:
+PENFi =  positif(PENSALi) * arr(PRNi * PEBFi / EXPRi)
+       + (1 - positif(PENSALi)) * max(0,(PRNi -PRRi -PRR2i));
+pour i = 1..4:
+PENFi =  positif(PENSALPi) * arr(PRNi * PEBFi / EXPRi)
+        + (1- positif(PENSALPi)) * (PRNi -PRRi -PRR2i);
+pour i = V,C:
+PENALIMi = positif(EXPRi) * (PRNi -PRRi -PRR2i - PENFi) ;
+pour i = 1..4:
+PENALIMi = positif(EXPRi) * (PRNi -PRRi -PRR2i - PENFi) ;
+regle 884:
+application : iliad , batch  ;
+pour i = 1,2,3,4:
+RVi = arr(RVBi * TXRVTi / 100);
+RVTOT = RV1 + RV2 + RV3 + RV4;
+regle 885:
+application : iliad , batch  ;
+2RV1 = arr(RENTAX * TXRVT1 / 100);
+2RV2 = arr(RENTAX5 * TXRVT2 / 100);
+2RV3 = arr(RENTAX6 * TXRVT3 / 100);
+2RV4 = arr(RENTAX7 * TXRVT4 / 100);
+T2RV = 2RV1 + 2RV2 + 2RV3 + 2RV4;
+regle 886:
+application : iliad , batch  ;
+RVBCSG = arr((RVB1 + RENTAX) * TXRVT1 / 100) 
+       + arr((RVB2 + RENTAX5) * TXRVT2 / 100) 
+       + arr((RVB3 + RENTAX6) * TXRVT3 / 100) 
+       + arr((RVB4 + RENTAX7) * TXRVT4 / 100) ;
+
+regle 887:
+application : iliad , batch  ;
+TSPR = TSPRT + RVTOT ;
+regle 888:
+application : iliad , batch  ;
+pour i=V,C,1..4:
+TSPRi = TSNNi + PRRi ;
+TSPRP = somme(i=1..4:TSPRi) ;
+regle 8810:
+application : iliad , batch  ;
+TSNN2P = somme(i=1..4: TSNN2i);
+PRR2P =somme(i=1..4: PRR2i);
+PENFP = PENF1 + PENF2 + PENF3 + PENF4 ;
+PENALIMP = PENALIM1 + PENALIM2 + PENALIM3 + PENALIM4;
+
+regle 8811:
+application : iliad , batch ;
+TSQVO = 2TSNV;
+TSQCJ = 2TSNC;
+TSQPC = somme(i=1..4: 2TSNi ) ;
+PRQVO =  CARPEV + PEBFV;
+PRQCJ =  CARPEC + PEBFC; 
+PRQPC = somme(i=1..4:  CARPEPi+PEBFi) ;
+PENSALP = PENSALP1 + PENSALP2 + PENSALP3 + PENSALP4;
+regle 8812:
+application : iliad , batch ;
+PRQNV = 2PRBV;
+PRQNC = 2PRBC; 
+PRQNP = somme(i=1..4: 2PRBi) ;
+PENSTOTV = PRR2V + PENALIMV;
+PENSTOTC = PRR2C + PENALIMC;
+PENSTOTP = PRR2P + PENALIMP;
+regle 8815:
+application : iliad , batch ;
+pour i=V,C:
+BPCAPTAXi = PCAPTAXi - arr(PCAPTAXi * TX_DEDPER/100);
+pour i=V,C:
+IPCAPTAXi = arr(BPCAPTAXi * T_PCAPTAX/100);
+IPCAPTAXTOT = somme(i=V,C:IPCAPTAXi);
+regle 8816:
+application : iliad , batch ;
+IPCAPTAXT = IPCAPTAXTOT - CICAP;
diff --git a/sources2012m_3_13/chap-aff.m b/sources2012m_3_13/chap-aff.m
new file mode 100644
index 0000000000000000000000000000000000000000..0cdecbbd6c5aef14a70c9a9dcba75664cf5aace5
--- /dev/null
+++ b/sources2012m_3_13/chap-aff.m
@@ -0,0 +1,804 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 111011:
+application :  iliad;
+CONST0 = 0;
+CONST1 = 1;
+CONST2 = 2;
+CONST3 = 3;
+CONST4 = 4;
+CONST10 = 10;
+CONST20 = 20;
+CONST40 = 40;
+regle 1110:
+application : batch, iliad;
+LIG0 = (1 - positif(IPVLOC)) * (1 - positif(RE168 + TAX1649)) * IND_REV ;
+LIG1 = (1 - positif(RE168 + TAX1649)) ;
+LIG2 = (1 - positif(ANNUL2042)) ;
+regle 1110010:
+application : batch , iliad ;
+
+
+LIG0010 = (INDV * INDC * INDP) * (1 - positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55))) * LIG0 * LIG2 ;
+
+LIG0020 = (INDV * (1 - INDC) * (1 - INDP)) * (1 - positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55))) * LIG0 * LIG2 ;
+
+LIG0030 = (INDC * (1 - INDV) * (1 - INDP)) * (1 - positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55))) * LIG0 * LIG2 ;
+
+LIG0040 = (INDP * (1 - INDV) * (1 - INDC)) * (1 - positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55))) * LIG0 * LIG2 ;
+
+LIG0050 = (INDV * INDC * (1 - INDP)) * (1 - positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55))) * LIG0 * LIG2 ;
+
+LIG0060 = (INDV * INDP * (1 - INDC)) * (1 - positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55))) * LIG0 * LIG2 ;
+
+LIG0070 = (INDC * INDP * (1 - INDV)) * (1 - positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55))) * LIG0 * LIG2 ;
+
+LIG10YT = (INDV * INDC * INDP) * positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55)) * LIG0 * LIG2 ;
+
+LIG20YT = (INDV * (1 - INDC) * (1 - INDP)) * positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55)) * LIG0 * LIG2 ;
+
+LIG30YT = (INDC * (1 - INDV) * (1 - INDP)) * positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55)) * LIG0 * LIG2 ;
+
+LIG40YT = (INDP * (1 - INDV) * (1 - INDC)) * positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55)) * LIG0 * LIG2 ;
+
+LIG50YT = (INDV * INDC * (1 - INDP)) * positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55)) * LIG0 * LIG2 ;
+
+LIG60YT = (INDV * INDP * (1 - INDC)) * positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55)) * LIG0 * LIG2 ;
+
+LIG70YT = (INDC * INDP * (1 - INDV)) * positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55)) * LIG0 * LIG2 ;
+
+regle 11110:
+application : batch , iliad ;
+LIG10V = positif_ou_nul(TSBNV + PRBV + BPCOSAV + GLDGRATV + positif(F10AV * null(TSBNV + PRBV + BPCOSAV + GLDGRATV))) ;
+LIG10C = positif_ou_nul(TSBNC + PRBC + BPCOSAC + GLDGRATC + positif(F10AC * null(TSBNC + PRBC + BPCOSAC + GLDGRATC))) ;
+LIG10P = positif_ou_nul(somme(i=1..4:TSBNi + PRBi) + positif(F10AP * null(somme(i=1..4:TSBNi + PRBi)))) ;
+LIG10 = positif(LIG10V + LIG10C + LIG10P) ;
+regle 11000:
+application : batch , iliad ;
+
+LIG1100 = positif(T2RV) * (1 - positif(IPVLOC)) ;
+
+LIG899 = positif(RVTOT + LIG1100 + LIG910 + BRCMQ + RCMFR + REPRCM + LIGRCMABT + LIG2RCMABT + LIG3RCMABT + LIG4RCMABT
+		  + RCMLIB + LIG29 + LIG30 + RFQ + 2REVF + 3REVF + LIG1130 + VLHAB + DFANT + ESFP + RE168 + TAX1649 + R1649 + PREREV)
+		 * (1 - positif(LIG0010 + LIG0020 + LIG0030 + LIG0040 + LIG0050 + LIG0060 + LIG0070)) 
+		 * (1 - positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55))) ;
+
+LIG900 = positif(RVTOT + LIG1100 + LIG910 + BRCMQ + RCMFR + REPRCM + LIGRCMABT + LIG2RCMABT + LIG3RCMABT + LIG4RCMABT
+		  + RCMLIB + LIG29 + LIG30 + RFQ + 2REVF + 3REVF + LIG1130 + VLHAB + DFANT + ESFP + RE168 + TAX1649 + R1649 + PREREV)
+		 * positif(LIG0010 + LIG0020 + LIG0030 + LIG0040 + LIG0050 + LIG0060 + LIG0070) 
+		 * (1 - positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55))) ;
+
+LIG899YT = positif(RVTOT + LIG1100 + LIG910 + BRCMQ + RCMFR + REPRCM + LIGRCMABT + LIG2RCMABT + LIG3RCMABT + LIG4RCMABT
+		   + RCMLIB + LIG29 + LIG30 + RFQ + 2REVF + 3REVF + LIG1130 + VLHAB + DFANT + ESFP + RE168 + TAX1649 + R1649 + PREREV)
+		 * (1 - positif(LIG10YT + LIG20YT + LIG30YT + LIG40YT + LIG50YT + LIG60YT + LIG70YT)) 
+		 * positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55)) ;
+
+LIG900YT = positif(RVTOT + LIG1100 + LIG910 + BRCMQ + RCMFR + REPRCM + LIGRCMABT + LIG2RCMABT + LIG3RCMABT + LIG4RCMABT
+		   + RCMLIB + LIG29 + LIG30 + RFQ + 2REVF + 3REVF + LIG1130 + VLHAB + DFANT + ESFP + RE168 + TAX1649 + R1649 + PREREV)
+		 * positif(LIG10YT + LIG20YT + LIG30YT + LIG40YT + LIG50YT + LIG60YT + LIG70YT) 
+		 * positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55)) ;
+
+regle 111440:
+application : batch , iliad ;
+LIG4401 =  positif(V_FORVA) * (1 - positif_ou_nul(BAFV)) * LIG0 ;
+
+LIG4402 =  positif(V_FORCA) * (1 - positif_ou_nul(BAFC)) * LIG0 ;
+
+LIG4403 =  positif(V_FORPA) * (1 - positif_ou_nul(BAFP)) * LIG0 ;
+
+regle 11113:
+application : iliad,batch;
+LIG13 =  positif(present(BACDEV)+ present(BACREV)
+               + present(BAHDEV) +present(BAHREV)
+               + present(BACDEC) +present(BACREC)
+               + present(BAHDEC)+ present(BAHREC)
+               + present(BACDEP)+ present(BACREP)
+               + present(BAHDEP)+ present(BAHREP)
+               + present(4BAHREV) + present(4BAHREC) + present(4BAHREP)
+               + present(4BACREV) + present(4BACREC) + present(4BACREP)
+               + present(BAFV) + present(BAFC) + present(BAFP)
+	       + present(BAFORESTV) + present(BAFORESTC) 
+	       + present(BAFORESTP)
+               + present(BAFPVV) + present(BAFPVC) + present(BAFPVP))
+	* (1 - positif(IPVLOC)) * LIG1 ;
+
+regle 111135:
+application : batch, iliad;
+4BAQLV = positif(4BACREV + 4BAHREV) ;
+4BAQLC = positif(4BACREC + 4BAHREC) ;
+4BAQLP = positif(4BACREP + 4BAHREP) ;
+regle 111134:
+application : iliad , batch ;
+
+LIG134V = positif(present(BAFV) + present(BAHREV) + present(BAHDEV) + present(BACREV) + present(BACDEV)+ present(BAFPVV)+present(BAFORESTV)) ;
+LIG134C = positif(present(BAFC) + present(BAHREC) + present(BAHDEC) + present(BACREC) + present(BACDEC)+ present(BAFPVC)+present(BAFORESTC)) ;
+LIG134P = positif(present(BAFP) + present(BAHREP) + present(BAHDEP) + present(BACREP) + present(BACDEP)+ present(BAFPVP)+present(BAFORESTP)) ;
+LIG134 = positif(LIG134V + LIG134C + LIG134P+present(DAGRI6)+present(DAGRI5)+present(DAGRI4)+present(DAGRI3)+present(DAGRI2)+present(DAGRI1)) 
+		* (1 - positif(IPVLOC)) * (1 - positif(abs(DEFIBA))) * LIG1 ;
+LIGDBAIP = positif_ou_nul(DBAIP) * positif(DAGRI1 + DAGRI2 + DAGRI3 + DAGRI4 + DAGRI5 + DAGRI6) * (1 - positif(IPVLOC))
+                          * positif(abs(abs(BAHQTOT)+abs(BAQTOT)-(DAGRI6+DAGRI5+DAGRI4+DAGRI3+DAGRI2+DAGRI1))) * LIG1 ;
+regle 111136:
+application : iliad ,batch;
+LIG136 = positif(4BAQV + 4BAQC + 4BAQP) * (1 - positif(IPVLOC)) * LIG1 ;
+
+regle 111590:
+application : iliad, batch ;
+pour i = V,C,P:
+LIG_BICPi =        (
+  present ( BICNOi )                          
+ + present (BICDNi )                          
+ + present (BIHNOi )                          
+ + present (BIHDNi )                          
+                  ) * LIG0 ;
+LIG_BICP = LIG_BICPV + LIG_BICPC + LIG_BICPP ;
+LIG_DEFNPI = positif(
+   present ( DEFBIC6 ) 
+ + present ( DEFBIC5 ) 
+ + present ( DEFBIC4 ) 
+ + present ( DEFBIC3 ) 
+ + present ( DEFBIC2 )
+ + present ( DEFBIC1 )
+            )
+  * LIG0 * LIG2 ;
+
+LIGMLOC = positif(present(MIBMEUV) + present(MIBMEUC) + present(MIBMEUP)
+		+ present(MIBGITEV) + present(MIBGITEC) + present(MIBGITEP)
+		+ present(LOCGITV) + present(LOCGITC) + present(LOCGITP))
+	  * LIG0 * LIG2 ;
+ 
+LIGMLOCAB = positif(MLOCABV + MLOCABC + MLOCABP) * LIG0  * LIG2 ; 
+
+LIGMIBMV = positif(BICPMVCTV + BICPMVCTC + BICPMVCTP) * (1 - null(4 - V_REGCO)) * LIG0 ;
+
+LIGBNCMV = positif(BNCPMVCTV + BNCPMVCTC + BNCPMVCTP) * (1 - null(4 - V_REGCO)) * LIG0 ;
+
+LIGPLOC = positif(LOCPROCGAV + LOCPROCGAC + LOCPROCGAP + LOCDEFPROCGAV + LOCDEFPROCGAC + LOCDEFPROCGAP
+		   + LOCPROV + LOCPROC + LOCPROP + LOCDEFPROV + LOCDEFPROC + LOCDEFPROP) 
+		   * (1 - null(4 - V_REGCO)) * LIG0 ;
+
+LIGNPLOC = positif(LOCNPCGAV + LOCNPCGAC + LOCNPCGAPAC + LOCDEFNPCGAV + LOCDEFNPCGAC + LOCDEFNPCGAPAC
+		   + LOCNPV + LOCNPC + LOCNPPAC + LOCDEFNPV + LOCDEFNPC + LOCDEFNPPAC 
+		   + LOCGITCV + LOCGITCC + LOCGITCP + LOCGITHCV + LOCGITHCC + LOCGITHCP)
+		   *  (1-null(4 - V_REGCO)) * LIG0 ;
+
+LIGNPLOCF = positif(LOCNPCGAV + LOCNPCGAC + LOCNPCGAPAC + LOCDEFNPCGAV + LOCDEFNPCGAC + LOCDEFNPCGAPAC
+		   + LOCNPV + LOCNPC + LOCNPPAC + LOCDEFNPV + LOCDEFNPC + LOCDEFNPPAC 
+                   + LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF6 + LNPRODEF5
+                   + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1
+		   + LOCGITCV + LOCGITCC + LOCGITCP + LOCGITHCV + LOCGITHCC + LOCGITHCP)
+		   *  (1-null(4 - V_REGCO)) * LIG0 ;
+
+LIGDEFNPLOC = positif(TOTDEFLOCNP) *  (1-null(4 - V_REGCO)) ;
+
+LIGLOCNSEUL = positif(LIGNPLOC + LIGDEFNPLOC + LIGNPLOCF) ;
+
+LIGLOCSEUL = 1 - positif(LIGNPLOC + LIGDEFNPLOC + LIGNPLOCF) ;
+
+regle 1115901:
+application : iliad,batch;
+
+LIG_BICNPF = 
+       positif(
+   present (BICDEC)
+ + present (BICDEP)
+ + present (BICDEV)
+ + present (BICHDEC)
+ + present (BICHDEP)
+ + present (BICHDEV)
+ + present (BICHREC)
+ + present (BICHREP)
+ + present (BICHREV)
+ + present (BICREC)
+ + present (BICREP)
+ + present (BICREV)
+ + present ( DEFBIC6 ) 
+ + present ( DEFBIC5 ) 
+ + present ( DEFBIC4 ) 
+ + present ( DEFBIC3 ) 
+ + present ( DEFBIC2 )
+ + present ( DEFBIC1 )
+)
+                   * LIG0 * LIG2 ;
+regle 11117:
+application : iliad,batch;
+LIG_BNCNF = positif (present(BNCV) + present(BNCC) + present(BNCP)) ;
+
+LIGNOCEP = (present(NOCEPV) + present(NOCEPC) + present(NOCEPP)) * LIG0 * LIG2 ;
+
+LIGNOCEPIMP = (present(NOCEPIMPV) + present(NOCEPIMPC) + present(NOCEPIMPP)) * LIG0 * LIG2 ;
+
+LIGDAB = positif(present(DABNCNP6) + present(DABNCNP5) + present(DABNCNP4)
+		 + present(DABNCNP3) + present(DABNCNP2) + present(DABNCNP1)) 
+		* LIG0 * LIG2 ;
+
+LIGDIDAB = present(DIDABNCNP) * LIG0 * LIG2 ;
+
+LIGBNCIF = ( positif (LIGNOCEP) * (1 - positif(LIG3250) + null(BNCIF)) 
+             + (null(BNCIF) * positif(LIGBNCDF)) 
+	     + null(BNCIF) * (1 - positif_ou_nul(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2-DABNCNP1)))
+	    * (1 - positif(LIGSPENPNEG + LIGSPENPPOS)) * LIG0 * LIG2 ;
+regle 125:
+application : batch, iliad;
+LIG910 = positif(present(RCMABD) + present(RCMTNC) + present(RCMAV) + present(RCMHAD) 
+	         + present(RCMHAB) + present(REGPRIV) + (1-present(BRCMQ)) *(present(RCMFR))
+                ) * LIG0 * LIG2 ;
+regle 111266:
+application : iliad , batch ;
+LIGBPLIB = present(RCMLIB) * LIG0 * (1 - null(4-V_REGCO)) * LIG2 ;
+regle 1111130: 
+application : iliad , batch ;
+LIG1130 = positif(present(REPSOF)) * LIG0 * LIG2 ;
+regle 1111950:
+application : iliad, batch;
+LIG1950 = INDREV1A8 *  positif_ou_nul(REVKIRE) 
+                    * (1 - positif(positif_ou_nul(IND_TDR) * (1-(positif_ou_nul(TSELUPPEV + TSELUPPEC))))) 
+                    * (1 - LIGPS) ;
+
+LIG1950S = INDREV1A8 *  positif_ou_nul(REVKIRE) 
+                     * (1 - positif(positif_ou_nul(IND_TDR) * (1-(positif_ou_nul(TSELUPPEV + TSELUPPEC))))) 
+                     * LIGPS ;
+regle 11129:
+application : batch, iliad;
+LIG29 = positif(present(RFORDI) + present(RFDHIS) + present(RFDANT) +
+                present(RFDORD)) * (1 - positif(IPVLOC))
+                * (1 - positif(LIG30)) * LIG1 * LIG2 * IND_REV ;
+regle 11130:
+application : iliad, batch ;
+LIG30 = positif(RFMIC) * (1 - positif(IPVLOC)) * LIG1 * LIG2 ;
+LIGREVRF = positif(present(FONCI) + present(REAMOR)) * (1 - positif(IPVLOC)) * LIG1 * LIG2 ;
+regle 11149:
+application : batch, iliad;
+LIG49 =  INDREV1A8 * positif_ou_nul(DRBG) * LIG2 ;
+regle 11152:
+application :  iliad, batch;
+LIG52 = positif(present(CHENF1) + present(CHENF2) + present(CHENF3) + present(CHENF4) 
+                 + present(NCHENF1) + present(NCHENF2) + present(NCHENF3) + present(NCHENF4)) 
+	     * LIG1 * LIG2 ;
+regle 11158:
+application : iliad, batch;
+LIG58 = (present(PAAV) + present(PAAP)) * positif(LIG52) * LIG1 * LIG2 ;
+regle 111585:
+application : iliad, batch;
+LIG585 = (present(PAAP) + present(PAAV)) * (1 - positif(LIG58)) * LIG1 * LIG2 ;
+LIG65 = positif(LIG52 + LIG58 + LIG585 
+                + present(CHRFAC) + present(CHNFAC) + present(CHRDED)
+		+ present(DPERPV) + present(DPERPC) + present(DPERPP)
+                + LIGREPAR)  
+       * LIG1 * LIG2 ;
+regle 111555:
+application : iliad, batch;
+LIGDPREC = present(CHRFAC) * LIG1;
+
+LIGDFACC = (positif(20-V_NOTRAIT+0) * positif(DFACC)
+           + (1 - positif(20-V_NOTRAIT+0)) * present(DFACC)) * LIG1 ;
+regle 1111390:
+application : batch, iliad;
+LIG1390 = positif(positif(ABMAR) + (1 - positif(RI1)) * positif(V_0DN)) * LIG1 * LIG2 ;
+regle 11168:
+application : batch, iliad;
+LIG68 = INDREV1A8 * (1 - positif(abs(RNIDF))) * LIG2 ;
+regle 111681:
+application : iliad, batch;
+LIGRNIDF = positif(abs(RNIDF)) * (1 - null(4-V_REGCO)) * LIG1 * LIG2 ;
+LIGRNIDF0 = positif(abs(RNIDF0)) * positif(abs(RNIDF)) * (1 - null(4-V_REGCO)) * LIG1 * LIG2 ;
+LIGRNIDF1 = positif(abs(RNIDF1)) * positif(abs(RNIDF)) * (1 - null(4-V_REGCO)) * LIG1 * LIG2 ;
+LIGRNIDF2 = positif(abs(RNIDF2)) * positif(abs(RNIDF)) * (1 - null(4-V_REGCO)) * LIG1 * LIG2 ;
+LIGRNIDF3 = positif(abs(RNIDF3)) * positif(abs(RNIDF)) * (1 - null(4-V_REGCO)) * LIG1 * LIG2 ;
+LIGRNIDF4 = positif(abs(RNIDF4)) * positif(abs(RNIDF)) * (1 - null(4-V_REGCO)) * LIG1 * LIG2 ;
+LIGRNIDF5 = positif(abs(RNIDF5)) * positif(abs(RNIDF)) * (1 - null(4-V_REGCO)) * LIG1 * LIG2 ;
+regle 1111420:
+application : iliad,batch;
+LIGTTPVQ = positif(
+              positif(CARTSV) + positif(CARTSC) + positif(CARTSP1) + positif(CARTSP2)+ positif(CARTSP3)+ positif(CARTSP4)
+           +  positif(REMPLAV) + positif(REMPLAC) + positif(REMPLAP1) + positif(REMPLAP2)+ positif(REMPLAP3)+ positif(REMPLAP4)
+           +  positif(PEBFV) + positif(PEBFC) + positif(PEBF1) + positif(PEBF2)+ positif(PEBF3)+ positif(PEBF4)
+           +  positif(CARPEV) + positif(CARPEC) + positif(CARPEP1) + positif(CARPEP2)+ positif(CARPEP3)+ positif(CARPEP4)
+           +  positif(PENSALV) + positif(PENSALC) + positif(PENSALP1) + positif(PENSALP2)+ positif(PENSALP3)+ positif(PENSALP4)
+           +  positif(RENTAX) + positif(RENTAX5) + positif(RENTAX6) + positif(RENTAX7)
+           +  positif(REVACT) + positif(REVPEA) + positif(PROVIE) + positif(DISQUO) + positif(RESTUC) + positif(INTERE)
+           +  positif(FONCI) + positif(REAMOR)
+           +  positif(4BACREV) + positif(4BACREC)+positif(4BACREP)+positif(4BAHREV)+positif(4BAHREC)+positif(4BAHREP)
+           +  positif(GLD1V) + positif(GLD1C)+positif(GLD2V)+positif(GLD2V)+positif(GLD3V)+positif(GLD3V)
+                  ) * LIG1 * LIG2 * (1 - null(4-V_REGCO)) ;
+
+regle 111721:
+application : batch, iliad;
+
+LIG1430 = positif(BPTP3) * LIG0 * LIG2 ;
+
+LIG1431 = positif(BPTP18) * LIG0 * LIG2 ;
+
+LIG1432 = positif(BPTP19) * LIG0 * LIG2 ;
+regle 111722:
+application : batch, iliad;
+LIG815 = V_EAD * positif(BPTPD) * LIG0 * LIG2 ;
+LIG816 = V_EAG * positif(BPTPG) * LIG0 * LIG2 ;
+LIGTXF225 = positif(PEA+0) * LIG0 * LIG2 ;
+LIGTXF24 = positif(BPTP24) * LIG0 * LIG2 ;
+LIGTXF30 = positif_ou_nul(BPCOPTV + BPCOPTC + BPVSK) * LIG0  * LIG2 ;
+LIGTXF40 = positif(BPV40V + BPV40C + 0) * LIG0 * LIG2 ;
+
+regle 111723:
+application : batch, iliad ;
+
+LIGCESDOM = positif(BPTPDIV) * positif(PVTAXSB) * positif(V_EAD + 0) * LIG0 * LIG2 ;
+LIGCESDOMG = positif(BPTPDIV) * positif(PVTAXSB) * positif(V_EAG + 0) * LIG0 * LIG2 ;
+
+LIGDOMPRO = positif(BPTPDIV) * positif(PVTAXSC) * positif(V_EAD + 0) * LIG0 * LIG2 ;
+LIGDOMPROG = positif(BPTPDIV) * positif(PVTAXSC) * positif(V_EAG + 0) * LIG0 * LIG2 ;
+regle 11181:
+application : batch, iliad;
+LIG81 = positif(present(RDDOUP) + present(RDFDOU) + present(DONAUTRE) + present(RDFDAUTRE) + present(REPDON03) 
+		+ present(REPDON04) + present(REPDON05) + present(REPDON06) + present(REPDON07))
+               * LIG1 * LIG2 ;
+regle 1111500:
+application : iliad, batch ;
+
+LIG1500 = positif((positif(IPMOND) * present(IPTEFP)) + positif(INDTEFF) * positif(TEFFREVTOT)) 
+	      * ((V_REGCO+0) dans (1,3,5,6)) * (1 - positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55))) * LIG1 * LIG2 ;
+
+LIG1510 = positif((positif(IPMOND) * present(IPTEFN)) + positif(INDTEFF) * (1 - positif(TEFFREVTOT))) 
+	      * ((V_REGCO+0) dans (1,3,5,6)) * (1 - positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55))) * LIG1 * LIG2 ;
+
+LIG1500YT = positif((positif(IPMOND) * present(IPTEFP)) + positif(INDTEFF) * positif(TEFFREVTOT)) 
+	      * ((V_REGCO+0) dans (1,3,5,6)) * positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55)) * LIG1 * LIG2 ;
+
+LIG1510YT = positif((positif(IPMOND) * present(IPTEFN)) + positif(INDTEFF) * (1 - positif(TEFFREVTOT))) 
+	      * ((V_REGCO+0) dans (1,3,5,6)) * positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55)) * LIG1 * LIG2 ;
+
+regle 1111522:
+application : iliad, batch ;
+LIG1522 = (1 - present(IND_TDR)) * (1 - INDTXMIN) * (1 - INDTXMOY) * V_CR2 * LIG2 ;
+regle 1111523:
+application : batch, iliad;
+LIG1523 = (1 - present(IND_TDR)) * null(V_REGCO - 4) * LIG2 ;
+regle 11175:
+application : iliad, batch ;
+LIG75 = (1 - INDTXMIN) * (1 - INDTXMOY) * (1 - LIG1500) * (1 - LIG1510) * INDREV1A8 * LIG2 ;
+
+LIG1545 = (1 - present(IND_TDR)) * INDTXMIN * positif(IND_REV) * LIG2 ;
+
+LIG1760 = (1 - present(IND_TDR)) * INDTXMOY * LIG2 ;
+
+LIG1546 = positif(PRODOM + PROGUY) * (1 - positif(V_EAD + V_EAG)) * LIG2 ;
+
+LIG1550 = (1 - present(IND_TDR)) * INDTXMOY * LIG2 ;
+
+LIG74 = (1 - present(IND_TDR)) * (1 - INDTXMIN) * positif(LIG1500 + LIG1510) * LIG2 ;
+
+regle 11180:
+application : batch, iliad ;
+LIG80 = positif(present(RDREP) + present(RDFREP) + present(DONETRAN) + present(RDFDONETR)) * LIG1 * LIG2 ;
+regle 11182:
+application : batch, iliad;
+LIG82 = positif(present(RDSYVO) + present(RDSYCJ) + present(RDSYPP) 
+		+ present(COSBV) + present(COSBC) + present(COSBP))
+	* LIG1 * LIG2 ;
+regle 11188:
+application : iliad , batch ;
+LIGRSOCREPR = positif(present(RSOCREPRISE)) * LIG1 * LIG2 ;
+regle 1111740:
+application : batch , iliad ;
+LIG1740 = positif(RECOMP) * LIG2 ;
+regle 1111780:
+application : batch , iliad ;
+LIG1780 = positif(RDCOM + NBACT) * LIG1 * LIG2 ;
+regle 111981:
+application : batch, iliad;
+LIG98B = positif(LIG80 + LIGFIPC + LIGFIPDOM + present(DAIDE)
+                 + LIGREDAGRI + LIGFORET + LIGRESTIMO  
+	         + LIGCINE + LIGRSOCREPR + LIGCOTFOR 
+	         + present(PRESCOMP2000) + present(RDPRESREPORT) + present(FCPI) 
+		 + present(DSOUFIP) + LIGRIRENOV + present(DFOREST) 
+		 + present(DHEBE) + present(DSURV)
+	         + LIGLOGDOM + LIGACHTOUR  
+	         + LIGTRATOUR + LIGLOGRES + LIGREPTOUR + LIGLOCHOTR
+	         + LIGREPHA + LIGCREAT + LIG1780 + LIG2040 + LIG81 + LIGLOGSOC
+	         + LIGDOMSOC1 
+		 + somme (i=A,B,E,C,D,F : LIGCELLi)
+		 + somme (i=A,B,D,E,F,H,G,L,M,S,R,U,T,Z,X,W,V : LIGCELHi) 
+		 + LIGCELHNO + LIGCELHJK + LIGCELNQ + LIGCELCOM + LIGCELNBGL
+		 + LIGCEL + LIGCELJP + LIGCELJBGL + LIGCELJOQR + LIGCEL2012
+		 + LIGREDMEUB + LIGREDREP + LIGILMIX + LIGINVRED + LIGILMIH + LIGILMIZ + LIGMEUBLE 
+		 + LIGPROREP + LIGREPNPRO + LIGMEUREP + LIGILMIC + LIGILMIB + LIGILMIA 
+		 + LIGRESIMEUB + LIGRESINEUV + LIGRESIVIEU + LIGLOCIDEFG
+		 + present(DNOUV) + LIGLOCENT + LIGCOLENT + LIGRIDOMPRO
+		 + LIGPATNAT + LIGPATNAT1 + LIGPATNAT2) 
+           * LIG1 * LIG2 ;
+
+LIGRED = LIG98B * (1 - positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55))) * LIG1 * LIG2 ;
+
+LIGREDYT = LIG98B * positif((CMAJ + 0) dans (3,4,5,6,8,11,31,55)) * LIG1 * LIG2 ;
+
+regle 1111820:
+application : batch , iliad ;
+
+LIG1820 = positif(ABADO + ABAGU + RECOMP) * LIG2 ;
+
+regle 111106:
+application : iliad , batch ;
+
+LIG106 = positif(RETIR) ;
+LIGINRTAX = positif(RETTAXA) ;
+LIG10622 = positif(RETIR22) ;
+LIGINRTAX22 = positif(RETTAXA22) ;
+ZIG_INT22 = positif(RETCS22 + RETPS22 + RETRD22 + RETCVN22) ;
+
+LIGINRPCAP = positif(RETPCAP) ;
+LIGINRPCAP2 = positif(RETPCAP22) ;
+LIGINRLOY = positif(RETLOY) ;
+LIGINRLOY2 = positif(RETLOY22) ;
+
+LIGINRHAUT = positif(RETHAUTREV) ;
+LIGINRHAUT2 = positif(RETCHR22) ;
+regle 111107:
+application : iliad, batch;
+
+LIG_172810 = TYPE2 * positif(NMAJ1) ;
+
+LIGTAXA17281 = TYPE2 * positif(NMAJTAXA1) ;
+
+LIGPCAP17281 = TYPE2 * positif(NMAJPCAP1) ;
+
+LIGCHR17281 = TYPE2 * positif(NMAJCHR1) ;
+
+LIG_NMAJ1 = TYPE2 * positif(NMAJ1) ;
+LIG_NMAJ3 = TYPE2 * positif(NMAJ3) ;
+LIG_NMAJ4 = TYPE2 * positif(NMAJ4) ;
+
+LIGNMAJTAXA1 = TYPE2 * positif(NMAJTAXA1) ;
+LIGNMAJTAXA3 = TYPE2 * positif(NMAJTAXA3) ;
+LIGNMAJTAXA4 = TYPE2 * positif(NMAJTAXA4) ;
+
+LIGNMAJPCAP1 = TYPE2 * positif(NMAJPCAP1) ;
+LIGNMAJPCAP3 = TYPE2 * positif(NMAJPCAP3) ;
+LIGNMAJPCAP4 = TYPE2 * positif(NMAJPCAP4) ;
+LIGNMAJLOY1 = TYPE2 * positif(NMAJLOY1) ;
+LIGNMAJLOY3 = TYPE2 * positif(NMAJLOY3) ;
+LIGNMAJLOY4 = TYPE2 * positif(NMAJLOY4) ;
+
+LIGNMAJCHR1 = TYPE2 * positif(NMAJCHR1) ;
+LIGNMAJCHR3 = TYPE2 * positif(NMAJCHR3) ;
+LIGNMAJCHR4 = TYPE2 * positif(NMAJCHR4) ;
+
+regle 111109:
+application : batch, iliad;
+LIG109 = positif(IPSOUR + REGCI + LIGPVETR + LIGCULTURE + LIGMECENAT 
+		  + LIGCORSE + LIG2305 + LIGCICAP + LIGREGCI
+		  + LIGBPLIB + LIGCIGE + LIGDEVDUR + LIGDDUBAIL
+                  + LIGVEHICULE + LIGVEACQ + LIGVEDESTR + LIGCICA + LIGCIGARD + LIG82
+		  + LIGPRETUD + LIGSALDOM + LIGHABPRIN
+		  + LIGCREFAM + LIGCREAPP + LIGCREBIO  + LIGPRESINT + LIGCREPROSP + LIGINTER
+		  + LIGCRETECH + LIGRESTAU + LIGRESERV + LIGCONGA + LIGMETART 
+		  + LIGCREFORM + LIGLOYIMP + LIGMOBIL + LIGJEUNE
+		  + LIGVERSLIB + LIGCITEC + LIGTABAC
+		  + LIGPPEVCP + LIGPPEV + LIGPPEC + LIGPPEP 
+		  + LIGPPEVP + LIGPPEVC + LIGPPECP 
+		   ) 
+               * LIG1 * LIG2 ;
+
+LIGCRED1 = positif(REGCI + LIGPVETR + LIGCICAP + LIGREGCI + 0) 
+	    * (1 - positif(IPSOUR + LIGCULTURE + LIGMECENAT + LIGCORSE + LIG2305 + LIGBPLIB + LIGCIGE + LIGDEVDUR + LIGDDUBAIL + LIGVEHICULE
+		           + LIGVEACQ + LIGVEDESTR + LIGCICA + LIGCIGARD + LIG82 + LIGPRETUD + LIGSALDOM + LIGHABPRIN + LIGCREFAM + LIGCREAPP 
+		           + LIGCREBIO + LIGPRESINT + LIGCREPROSP + LIGINTER + LIGCRETECH + LIGRESTAU + LIGRESERV + LIGCONGA + LIGMETART
+		           + LIGCREFORM + LIGLOYIMP + LIGMOBIL + LIGJEUNE + LIGVERSLIB + LIGCITEC + LIGTABAC + 0))
+	    ;
+
+LIGCRED2 = (1 - positif(REGCI + LIGPVETR + LIGCICAP + LIGREGCI + 0)) 
+	    * positif(IPSOUR + LIGCULTURE + LIGMECENAT + LIGCORSE + LIG2305 + LIGBPLIB + LIGCIGE + LIGDEVDUR + LIGDDUBAIL + LIGVEHICULE 
+		      + LIGVEACQ + LIGVEDESTR + LIGCICA + LIGCIGARD + LIG82 + LIGPRETUD + LIGSALDOM + LIGHABPRIN + LIGCREFAM + LIGCREAPP 
+		      + LIGCREBIO + LIGPRESINT + LIGCREPROSP + LIGINTER + LIGCRETECH + LIGRESTAU + LIGRESERV + LIGCONGA + LIGMETART
+		      + LIGCREFORM + LIGLOYIMP + LIGMOBIL + LIGJEUNE + LIGVERSLIB + LIGCITEC + LIGTABAC + 0)
+	    ;
+
+LIGCRED3 = positif(REGCI + LIGPVETR + LIGCICAP + LIGREGCI + 0) 
+	    * positif(IPSOUR + LIGCULTURE + LIGMECENAT + LIGCORSE + LIG2305 + LIGBPLIB + LIGCIGE + LIGDEVDUR + LIGDDUBAIL + LIGVEHICULE 
+		      + LIGVEACQ + LIGVEDESTR + LIGCICA + LIGCIGARD + LIG82 + LIGPRETUD + LIGSALDOM + LIGHABPRIN + LIGCREFAM + LIGCREAPP 
+		      + LIGCREBIO + LIGPRESINT + LIGCREPROSP + LIGINTER + LIGCRETECH + LIGRESTAU + LIGRESERV + LIGCONGA + LIGMETART
+		      + LIGCREFORM + LIGLOYIMP + LIGMOBIL + LIGJEUNE + LIGVERSLIB + LIGCITEC + LIGTABAC + 0)
+           ;
+regle 1112030:
+application : batch, iliad ;
+LIGNRBASE = positif(present(NRINET) + present(NRBASE)) * LIG1 * LIG2 ;
+LIGBASRET = positif(present(IMPRET) + present(BASRET)) * LIG1 * LIG2 ;
+regle 1112332:
+application :  iliad, batch ;
+LIGAVFISC = positif(AVFISCOPTER) * LIG1 * LIG2 ; 
+regle 1112040:
+application : batch, iliad;
+LIG2040 = positif(DNBE + RNBE + RRETU) * LIG1 * LIG2 ;
+regle 1112041:
+application : iliad, batch ;
+LIGRDCSG = positif(positif(V_BTCSGDED) + present(DCSG) + present(RCMSOC)) * LIG1 * LIG2 ;
+regle 111973:
+application : iliad, batch;
+LIG2305 = positif(DIAVF2) * LIG1 * LIG2 ;
+LIGCIGE = positif(RDTECH + RDGEQ + RDEQPAHA) * LIG1 * LIG2 ;
+regle 111117:
+application : batch, iliad;
+LIG_IRNET = (1 - positif(V_NOTRAIT - 20)) 
+	    + positif(V_NOTRAIT - 20) * positif(ANTIRAFF + TAXANET + PCAPNET  + TAXLOYNET + HAUTREVNET 
+						+ TAXANTAFF + PCAPANTAFF + TAXLOYANTAFF + HAUTREVANTAF) ;
+regle 1112135:
+application : batch, iliad;
+LIGANNUL = positif(ANNUL2042) * (1 - LIGPS) ;
+
+LIGANNULS = positif(ANNUL2042) * LIGPS ;
+regle 1112050:
+application : batch, iliad;
+LIG2053 = positif(V_NOTRAIT - 20) * positif(IDEGR) * positif(IREST - SEUIL_8) * (1 - LIGPS) * TYPE2 ;
+
+LIG2053S = positif(V_NOTRAIT - 20) * positif(IDEGR) * positif(IREST - SEUIL_8) * LIGPS * TYPE2 ;
+regle 1112051:
+application : batch,iliad ;
+LIG2051 = (1 - positif(20 - V_NOTRAIT)) 
+          * positif (RECUMBIS) ;
+
+LIGBLOC = positif(V_NOTRAIT - 15) ;
+
+LIGSUP = positif((V_NOTRAIT + 0) dans (16,26,36,46,56,66)) ;
+
+LIGDEG = null(IRESTITIR) * positif((V_NOTRAIT + 0) dans (23,33,43,53,63)) ;
+
+LIGRES = positif(V_ANTREIR + 0) * positif((V_NOTRAIT + 0) dans (23,33,43,53,63)) ;
+
+LIGDEGRES = positif(IRESTITIR + 0) * null(V_ANTREIR) * positif((V_NOTRAIT + 0) dans (23,33,43,53,63)) ;
+
+LIGNEMP = (1 - null(NAPTEMP)) ;
+
+LIGEMP = null(NAPTEMP) ;
+
+LIG2052 = (
+	   APPLI_ILIAD * (1 - positif(20 - V_NOTRAIT)) * positif(V_ANTIR + LIG_IRNET)
+	  ) * ( 1 - APPLI_OCEANS) * (1 - positif(LIG2051)) * TYPE2 ;
+
+LIGTAXANT = (
+	     APPLI_ILIAD * (1 - positif(20 - V_NOTRAIT)) * positif(V_TAXANT + LIGTAXANET * positif(TAXANET))
+            ) * (1 - positif(LIG2051)) * TYPE2 ;
+
+LIGPCAPANT = (
+	      APPLI_ILIAD * (1 - positif(20 - V_NOTRAIT)) * positif(V_PCAPANT + LIGPCAPNET * positif(PCAPNET))
+             ) * (1 - positif(LIG2051)) * TYPE2 ;
+LIGLOYANT = (
+	      APPLI_ILIAD * (1 - positif(20 - V_NOTRAIT)) * positif(V_TAXLOYANT + LIGLOYNET * positif(TAXLOYNET))
+             ) * (1 - positif(LIG2051)) * TYPE2 ;
+
+LIGHAUTANT = (
+	      APPLI_ILIAD * (1 - positif(20 - V_NOTRAIT)) * positif(V_CHRANT + LIGHAUTNET * positif(HAUTREVNET))
+             ) * (1 - positif(LIG2051)) * TYPE2 ;
+
+LIGANTREIR = positif(V_ANTREIR + 0) * null(V_ANTCR) ;
+
+LIGNANTREIR = positif(V_ANTREIR + 0) * positif(V_ANTCR + 0) ;
+
+LIGNONREST = positif(V_NONRESTANT + 0) ;
+
+LIGIINET = LIGSUP * positif(NAPT + 0) ;
+
+LIGIINETC = LIGSUP * null(NAPT) ;
+
+LIGIDEGR = LIGDEG * positif_ou_nul(IDEGR - SEUIL_8) ;
+
+LIGIDEGRC = LIGDEG * positif(SEUIL_8 - IDEGR) ;
+
+LIGIREST = LIGRES * positif_ou_nul(IREST - SEUIL_8) ;
+
+LIGIRESTC = LIGRES * positif(SEUIL_8 - IREST) ;
+
+LIGNMRR = LIGIINETC * positif(V_ANTRE + 0) ;
+
+LIGNMRS = LIGIINETC * null(V_ANTRE) ;
+
+LIGRESINF = LIGIDEGRC * LIGIRESTC ;
+
+regle 1112080:
+application : batch, iliad ;
+
+LIG2080 = positif(NATIMP - 71) * LIG2 ;
+
+regle 1112081:
+application : batch, iliad ;
+
+LIGTAXADEG = positif(NATIMP - 71) * positif(TAXADEG) * LIG2 ;
+
+LIGPCAPDEG = positif(NATIMP - 71) * positif(PCAPDEG) * LIG2 ;
+
+LIGLOYDEG = positif(NATIMP - 71) * positif(TAXLOYDEG) * LIG2 ;
+
+LIGHAUTDEG = positif(NATIMP - 71) * positif(HAUTREVDEG) * LIG2 ;
+
+regle 1112140:
+application : iliad,batch;
+INDCTX = si (  (V_NOTRAIT+0 = 23)  
+            ou (V_NOTRAIT+0 = 33)   
+            ou (V_NOTRAIT+0 = 43)   
+            ou (V_NOTRAIT+0 = 53)   
+            ou (V_NOTRAIT+0 = 63)  
+            )
+         alors (1)
+         sinon (0)
+         finsi;
+
+INDIS = si (  (V_NOTRAIT+0 = 14)
+            ou (V_NOTRAIT+0 = 16)
+	    ou (V_NOTRAIT+0 = 26)
+	    ou (V_NOTRAIT+0 = 36)
+	    ou (V_NOTRAIT+0 = 46)
+	    ou (V_NOTRAIT+0 = 56)
+	    ou (V_NOTRAIT+0 = 66)
+           )
+        alors (1)
+        sinon (0)
+	finsi;
+
+
+LIG2140 = si (( ((V_CR2+0=0) et NATIMP=1 et (IRNET + TAXANET + PCAPNET + TAXLOYNET + HAUTREVNET + NRINET - NAPTOTA + NAPCR >= SEUIL_12)) 
+		ou ((V_CR2+0=1) et (NATIMP=1 ou  NATIMP=0)))
+		et LIG2141 + 0 = 0
+		)
+          alors ((((1 - INDCTX) * INDREV1A8 * (1 - (positif(IRANT)*null(NAPT)) ) * LIG2)
+                + null(IINET + NAPTOTA) * null(INDREV1A8)) * positif(IND_REV) * (1 - LIGPS))
+          finsi;
+
+LIG2140S = si (( ((V_CR2+0=0) et NATIMP=1 et (IRNET + TAXANET + PCAPNET + TAXLOYNET + HAUTREVNET + NRINET - NAPTOTA + NAPCR >= SEUIL_12)) 
+		ou ((V_CR2+0=1) et (NATIMP=1 ou  NATIMP=0)))
+		et LIG2141 + 0 = 0
+		)
+           alors ((((1 - INDCTX) * INDREV1A8 * (1 - (positif(IRANT)*null(NAPT)) ) * LIG2)
+                + null(IINET + NAPTOTA) * null(INDREV1A8)) * positif(IND_REV) * LIGPS)
+           finsi;
+
+LIG21401 = si (( ((V_CR2+0=0) et NATIMP=1 et (IRNET + TAXANET + PCAPNET + TAXLOYNET + HAUTREVNET + NRINET - NAPTOTA + NAPCR >= SEUIL_12)) 
+		ou ((V_CR2+0=1) et (NATIMP=1 ou  NATIMP=0)))
+		et LIG2141 + 0 = 0
+		)
+           alors ((((1 - INDCTX) * INDREV1A8 * (1 - (positif(IRANT)*null(NAPT)) ) * LIG2)
+                + null(IINET + NAPTOTA) * null(INDREV1A8)) * positif(IND_REV) * positif(20 - V_NOTRAIT))
+           finsi ;
+
+LIG21402 = si (( ((V_CR2+0=0) et NATIMP=1 et (IRNET + TAXANET + PCAPNET + TAXLOYNET + HAUTREVNET + NRINET - NAPTOTA + NAPCR >= SEUIL_12)) 
+		ou ((V_CR2+0=1) et (NATIMP=1 ou  NATIMP=0)))
+		et LIG2141 + 0 = 0
+		)
+           alors ((((1 - INDCTX) * INDREV1A8 * (1 - (positif(IRANT)*null(NAPT)) ) * LIG2)
+                + null(IINET + NAPTOTA) * null(INDREV1A8)) * positif(IND_REV) * positif(V_NOTRAIT - 20))
+           finsi ;
+
+LIGTRAIT = LIGPS + LIG2140 ;
+
+regle 112141:
+application : batch,  iliad;
+
+LIG2141 = null(IAN + RPEN - IAVT + TAXASSUR + IPCAPTAXT + TAXLOY + IHAUTREVT - IRANT) 
+                  * positif(IRANT)
+                  * (1 - positif(LIG2501))
+		  * null(V_IND_TRAIT - 4)
+		  * (1 - LIGPS)
+		  * (1 - positif(NRINET + 0)) ;
+
+LIG2141S = null(IAN + RPEN - IAVT + TAXASSUR + IPCAPTAXT + TAXLOY + IHAUTREVT - IRANT) 
+                  * positif(IRANT)
+                  * (1 - positif(LIG2501))
+		  * null(V_IND_TRAIT - 4)
+		  * LIGPS
+		  * (1 - positif(NRINET + 0)) ;
+
+regle 112145:
+application : batch,  iliad;
+LIGNETAREC = positif (IINET) * (1 - LIGPS) * positif(ANNUL2042) * TYPE2 ;
+
+LIGNETARECS = positif (IINET) * LIGPS * positif(ANNUL2042) * TYPE2 ;
+
+regle 1112150:
+application : iliad , batch ;
+
+LIG2150 = (1 - INDCTX) 
+	 * positif(IREST)
+         * (1 - positif(LIG2140))
+         * (1 - positif(IND_REST50))
+	 * (1 - LIGPS)
+         * LIG2 ;
+
+LIG2150S = (1 - INDCTX) 
+	  * positif(IREST)
+          * (1 - positif(LIG2140))
+          * (1 - positif(IND_REST50))
+	  * LIGPS
+          * LIG2 ;
+
+regle 1112160:
+application : batch, iliad ;
+
+LIG2161 =  INDCTX 
+	  * positif(IREST) 
+          * positif_ou_nul(IREST - SEUIL_8) 
+	  * (1 - positif(IND_REST50)) ;
+
+
+LIG2368 = INDCTX 
+	 * positif(IREST)
+         * positif ( positif(IND_REST50)
+                     + positif(IDEGR) )
+           ;
+
+regle 1112171:
+application : batch , iliad ;
+
+LIG2171 = (1 - INDCTX) 
+	 * positif(IREST)
+	 * (1 - positif(LIG2140))
+         * positif(IND_REST50)  
+	 * (1 - LIGPS)
+	 * LIG2 ;
+
+LIG2171S = (1 - INDCTX) 
+	  * positif(IREST)
+	  * (1 - positif(LIG2140))
+          * positif(IND_REST50)  
+	  * LIGPS
+	  * LIG2 ;
+
+regle 11121710:
+application : batch, iliad ;
+
+LIGTROP = positif(V_ANTRE+V_ANTCR) * null(IINET)* positif_ou_nul(abs(NAPTOTA)
+             - IRESTIT - IRANT) * (1 - positif_ou_nul(abs(NAPTOTA) - IRESTIT
+             - IRANT - SEUIL_12))
+               * null(IDRS2 - IDEC + IREP)
+	       * (1 - LIGPS)
+               * (1 - INDCTX);
+
+LIGTROPS = positif(V_ANTRE+V_ANTCR) * null(IINET)* positif_ou_nul(abs(NAPTOTA)
+             - IRESTIT - IRANT) * (1 - positif_ou_nul(abs(NAPTOTA) - IRESTIT
+             - IRANT - SEUIL_12))
+               * null(IDRS2 - IDEC + IREP)
+	       * LIGPS
+               * (1 - INDCTX);
+
+LIGTROPREST =  positif(V_ANTRE+V_ANTCR) * null(IINET)* positif_ou_nul(abs(NAPTOTA) 
+               - IRESTIT - IRANT) * (1 - positif_ou_nul(abs(NAPTOTA) - IRESTIT
+               - IRANT - SEUIL_12))
+		 * (1 - positif(LIGTROP))
+	         * (1 - LIGPS)
+                 * (1 - INDCTX);
+
+LIGTROPRESTS =  positif(V_ANTRE+V_ANTCR) * null(IINET)* positif_ou_nul(abs(NAPTOTA) 
+                - IRESTIT - IRANT) * (1 - positif_ou_nul(abs(NAPTOTA) - IRESTIT
+                - IRANT - SEUIL_12))
+		 * (1 - positif(LIGTROP))
+	         * LIGPS
+                 * (1 - INDCTX);
+
+regle 1113210:
+application : batch, iliad ;
+
+LIGRESINF50 = positif(positif(IND_REST50) * positif(IREST) 
+                      + positif(IDEGR) * (1 - positif_ou_nul(IDEGR - SEUIL_8)))  
+	      * (1 - LIGPS) ;
+
+LIGRESINF50S = positif(positif(IND_REST50) * positif(IREST) 
+                      + positif(IDEGR) * (1 - positif_ou_nul(IDEGR - SEUIL_8)))  
+	       * LIGPS ;
+regle 1112200:
+application : batch,iliad ;
+LIG2200 = (positif(IDEGR) * positif_ou_nul(IDEGR - SEUIL_8) * (1 - LIGPS) * TYPE2) ;
+
+LIG2200S = (positif(IDEGR) * positif_ou_nul(IDEGR - SEUIL_8) * 
\ No newline at end of file
diff --git a/sources2012m_3_13/chap-cinr.m b/sources2012m_3_13/chap-cinr.m
new file mode 100644
index 0000000000000000000000000000000000000000..5c8c85d0ee830924bf6fbffd1ea405839e400303
--- /dev/null
+++ b/sources2012m_3_13/chap-cinr.m
@@ -0,0 +1,807 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle corrective base_HR 1311:
+application :  iliad ;
+IRNIN_R99R = max(0,max(IRNIN_INR,IRNIN_PA-ACODELAISINR))*positif(IND_PASSAGE-1);
+CSG_R99R = max(0,max(CSG*CSREC,CSG_PA))*positif(IND_PASSAGE-1);
+RDS_R99R = max(0,max(RDSN*CSREC,CRDS_PA))*positif(IND_PASSAGE-1);
+PRS_R99R = max(0,max(PRS*CSREC,PRS_PA))*positif(IND_PASSAGE-1);
+CSAL_R99R = max(0,max(CSAL*CSREC,CSAL_PA))*positif(IND_PASSAGE-1);
+CDIS_R99R = max(0,max(CDIS*CSREC,CDIS_PA))*positif(IND_PASSAGE-1);
+TAXA_R99R = max(0,max(TAXABASE,TAXA_PA))*positif(IND_PASSAGE-1);
+ISF_R99R = max(0,max(ISF4BASE,ISF_PA))*positif(IND_PASSAGE-1);
+CHR_R99R = max(0,max(CHRBASE,CHR_PA))*positif(IND_PASSAGE-1);
+PCAP_R99R = max(0,max(PCAPBASE,PCAP_PA))*positif(IND_PASSAGE-1);
+GAIN_R99R = max(0,max(GAINBASE,GAIN_PA))*positif(IND_PASSAGE-1);
+RSE1_R99R = max(0,max(RSE1BASE,RSE1_PA))*positif(IND_PASSAGE-1);
+RSE2_R99R = max(0,max(RSE2BASE,RSE2_PA))*positif(IND_PASSAGE-1);
+RSE3_R99R = max(0,max(RSE3BASE,RSE3_PA))*positif(IND_PASSAGE-1);
+RSE4_R99R = max(0,max(RSE4BASE,RSE4_PA))*positif(IND_PASSAGE-1);
+regle corrective base_inr_r9901 1313:
+application :  iliad ;
+IRNIN_R9901 = max(0,max(IRNIN_INR,IRNIN_INR_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(IRNIN_INR,IRNIN_PA-ACODELAISINR))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             + IRNIN_R9901_A;
+CSG_R9901 = max(0,max(CSG*CSREC,CSG_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CSG*CSREC,CSG_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CSG_R9901_A;
+RDS_R9901 = max(0,max(RDSN*CSREC,RDS_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RDSN*CSREC,CRDS_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RDS_R9901_A;
+PRS_R9901 = max(0,max(PRS*CSREC,PRS_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(PRS*CSREC,PRS_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +PRS_R9901_A;
+CSAL_R9901 = max(0,max(CSALBASE*CSREC,CSAL_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CSALBASE*CSREC,CSAL_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CSAL_R9901_A;
+CDIS_R9901 = max(0,max(CDISBASE*CSREC,CDIS_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CDISBASE*CSREC,CDIS_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CDIS_R9901_A;
+TAXA_R9901 = max(0,max(TAXABASE,TAXA_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(TAXABASE,TAXA_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +TAXA_R9901_A;
+ISF_R9901 = max(0,max(ISF4BASE,ISF_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+	     + max(0,max(ISF4BASE,ISF_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +ISF_R9901_A;
+CHR_R9901 = max(0,max(CHRBASE,CHR_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CHRBASE,CHR_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CHR_R9901_A;
+PCAP_R9901 = max(0,max(PCAPBASE,PCAP_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(PCAPBASE,PCAP_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +PCAP_R9901_A;
+GAIN_R9901 = max(0,max(GAINBASE,GAIN_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(GAINBASE,GAIN_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +GAIN_R9901_A;
+RSE1_R9901 = max(0,max(RSE1BASE,RSE1_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE1BASE,RSE1_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE1_R9901_A;
+RSE2_R9901 = max(0,max(RSE2BASE,RSE2_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE2BASE,RSE2_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE2_R9901_A;
+RSE3_R9901 = max(0,max(RSE3BASE,RSE3_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE3BASE,RSE3_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE3_R9901_A;
+RSE4_R9901 = max(0,max(RSE4BASE,RSE4_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE4BASE,RSE4_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE4_R9901_A;
+regle corrective base_inr_pri 1312:
+application :  iliad ;
+IRNIN_PRECT = max(0,IRNIN_INR);
+CSG_PRECT = max(0,CSG*CSREC);
+RDS_PRECT = max(0,RDSN*CSREC);
+PRS_PRECT = max(0,PRS*CSREC);
+CSAL_PRECT = max(0,CSALBASE*CSREC);
+CDIS_PRECT = max(0,CDISBASE*CSREC);
+TAXA_PRECT = max(0,TAXABASE);
+ISF_PRECT = max(0,ISF4BASE);
+CHR_PRECT = max(0,CHRBASE);
+PCAP_PRECT = max(0,PCAPBASE);
+GAIN_PRECT = max(0,GAINBASE);
+RSE1_PRECT = max(0,RSE1BASE);
+RSE2_PRECT = max(0,RSE2BASE);
+RSE3_PRECT = max(0,RSE3BASE);
+RSE4_PRECT = max(0,RSE4BASE);
+regle corrective base_inr_ref 1300:
+application :  iliad ;
+IRNIN_REFP = max(0,max(IRNIN_INR,(IRNIN_P*(1-FLAG_PRIM*FLAG_9YT)+(IRNIN_PA-ACODELAISINR))));
+CSG_REFP = max(0,max(CSG*CSRECINR,(CSG_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CSG_PA)));
+RDS_REFP = max(0,max(RDSN*CSRECINR,(RDS_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CRDS_PA)));
+PRS_REFP = max(0,max(PRS*CSRECINR,(PRS_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+PRS_PA)));
+CSAL_REFP = max(0,max(CSALBASE*CSRECINR,(CSAL_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CSAL_PA)));
+CDIS_REFP = max(0,max(CDISBASE*CSRECINR,(CDIS_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CDIS_PA)));
+TAXA_REFP = max(0,max(TAXABASE,TAXA_P*(1-FLAG_PRIM*FLAG_9YT)+TAXA_PA));
+CHR_REFP = max(0,max(CHRBASE,CHR_P*(1-FLAG_PRIM*FLAG_9YT)+CHR_PA));
+PCAP_REFP = max(0,max(PCAPBASE,PCAP_P*(1-FLAG_PRIM*FLAG_9YT)+PCAP_PA));
+GAIN_REFP = max(0,max(GAINBASE,GAIN_P*(1-FLAG_PRIM*FLAG_9YT)+GAIN_PA));
+RSE1_REFP = max(0,max(RSE1BASE,RSE1_P*(1-FLAG_PRIM*FLAG_9YT)+RSE1_PA));
+RSE2_REFP = max(0,max(RSE2BASE,RSE2_P*(1-FLAG_PRIM*FLAG_9YT)+RSE2_PA));
+RSE3_REFP = max(0,max(RSE3BASE,RSE3_P*(1-FLAG_PRIM*FLAG_9YT)+RSE3_PA));
+RSE4_REFP = max(0,max(RSE4BASE,RSE4_P*(1-FLAG_PRIM*FLAG_9YT)+RSE4_PA));
+IRNIN_REF= max(IRNIN_REFP,max(IRNIN_REF_A-ACODELAISINR,IRNIN_INR_A-ACODELAISINR));
+CSG_REF= max(CSG_REFP,max(CSG_REF_A*CSRECA,CSG_A*CSRECA));
+RDS_REF= max(RDS_REFP,max(RDS_REF_A*CSRECA,RDS_A*CSRECA));
+PRS_REF= max(PRS_REFP,max(PRS_REF_A*CSRECA,PRS_A*CSRECA));
+CSAL_REF= max(CSAL_REFP,max(CSAL_REF_A*CSRECA,CSAL_A*CSRECA));
+CDIS_REF= max(CDIS_REFP,max(CDIS_REF_A*CSRECA,CDIS_A*CSRECA));
+TAXA_REF= max(TAXA_REFP,max(TAXA_REF_A,TAXABASE_A));
+CHR_REF= max(CHR_REFP,max(CHR_REF_A,CHRBASE_A));
+PCAP_REF= max(PCAP_REFP,max(PCAP_REF_A,PCAPBASE_A));
+GAIN_REF= max(GAIN_REFP,max(GAIN_REF_A,GAINBASE_A));
+RSE1_REF= max(RSE1_REFP,max(RSE1_REF_A,RSE1BASE_A));
+RSE2_REF= max(RSE2_REFP,max(RSE2_REF_A,RSE2BASE_A));
+RSE3_REF= max(RSE3_REFP,max(RSE3_REF_A,RSE3BASE_A));
+RSE4_REF= max(RSE4_REFP,max(RSE4_REF_A,RSE4BASE_A));
+IRNIN_RECT=IRNIN_INR;
+IRNIN_R = IRNIN_REF_A;
+INDFLAGCIR = positif(FLAG_C02+FLAG_C22) * positif(IRNIN_REF_A);
+INDFLAGCCSG = positif(FLAG_C02+FLAG_C22) * positif(CSG_REF_A);
+RDS_R = RDS_REF_A;
+INDFLAGCRDS = positif(FLAG_C02+FLAG_C22) * positif(RDS_REF_A);
+PRS_R = PRS_REF_A;
+INDFLAGCPRS = positif(FLAG_C02+FLAG_C22) * positif(PRS_REF_A);
+CSAL_R = CSAL_REF_A;
+INDFLAGCCSAL = positif(FLAG_C02+FLAG_C22) * positif(CSAL_REF_A);
+CDIS_R = CDIS_REF_A;
+INDFLAGCCDIS = positif(FLAG_C02+FLAG_C22) * positif(CDIS_REF_A);
+TAXA_R = TAXA_REF_A;
+INDFLAGCTAXA = positif(FLAG_C02+FLAG_C22) * positif(TAXA_REF_A);
+CHR_R = CHR_REF_A;
+INDFLAGCCHR = positif(FLAG_C02+FLAG_C22) * positif(CHR_REF_A);
+PCAP_R = PCAP_REF_A;
+INDFLAGCPCAP = positif(FLAG_C02+FLAG_C22) * positif(PCAP_REF_A);
+GAIN_R = GAIN_REF_A;
+INDFLAGCGAIN = positif(FLAG_C02+FLAG_C22) * positif(GAIN_REF_A);
+RSE1_R = RSE1_REF_A;
+INDFLAGCRSE1 = positif(FLAG_C02+FLAG_C22) * positif(RSE1_REF_A);
+RSE2_R = RSE2_REF_A;
+INDFLAGCRSE2 = positif(FLAG_C02+FLAG_C22) * positif(RSE2_REF_A);
+RSE3_R = RSE3_REF_A;
+INDFLAGCRSE3 = positif(FLAG_C02+FLAG_C22) * positif(RSE3_REF_A);
+RSE4_R = RSE4_REF_A;
+INDFLAGCRSE4 = positif(FLAG_C02+FLAG_C22) * positif(RSE4_REF_A);
+ISF_REFP = max(0,max(ISF4BASE,ISF_P*(1-FLAG_PRIM*FLAG_9XT)+ISF_PA));
+ISF_REF= max(ISF_REFP,max(ISF_REF_A,ISF4BASE_A));
+ISF_R = ISF_REF_A;
+INDFLAGCISF = positif(FLAG_C02+FLAG_C22) * positif(ISF_REF_A);
+regle corrective base_inr_ntl 1301:
+application :  iliad ;
+IRNIN_NTLDEC = IRNIN_INR;
+INRIR_NTLDEC = INRIR_NTL+INR_IR_TARDIF * null(1-IND_PASSAGE);
+INRIR_NTLADEC = INRIR_NTL_A;
+INR_IR_NTL=max(0,INRIR_NTL+INR_IR_TARDIF * null(1-IND_PASSAGE));
+CSG_NTLDEC = CSBASE;
+INRCSG_NTLDEC = INRCSG_NTL+INR_CSG_TARDIF * null(1-IND_PASSAGE);
+INRCSG_NTLADEC = INRCSG_NTL_A;
+INR_CSG_NTL=INRCSG_NTL+INR_CSG_TARDIF * null(1-IND_PASSAGE);
+PRS_NTLDEC = PSBASE;
+INRPRS_NTLDEC = INRPRS_NTL+INR_PS_TARDIF * null(1-IND_PASSAGE);
+INRPS_NTLADEC = INRPRS_NTL_A;
+INR_PS_NTL=INRPRS_NTL+INR_PS_TARDIF * null(1-IND_PASSAGE);
+CRDS_NTLDEC = RDBASE;
+INRCRDS_NTLDEC = INRCRDS_NTL+INR_CRDS_TARDIF * null(1-IND_PASSAGE);
+INRCRDS_NTLADEC = INRCRDS_NTL_A;
+INR_CRDS_NTL=INRCRDS_NTL+INR_CRDS_TARDIF * null(1-IND_PASSAGE);
+CSAL_NTLDEC = CSALBASE;
+INRCSAL_NTLDEC = INRCSAL_NTL+INR_CSAL_TARDIF * null(1-IND_PASSAGE);
+INRCSAL_NTLADEC = INRCSAL_NTL_A;
+INR_CSAL_NTL=INRCSAL_NTL+INR_CSAL_TARDIF * null(1-IND_PASSAGE);
+CDIS_NTLDEC = CDISBASE;
+INRCDIS_NTLDEC = INRCDIS_NTL+INR_CDIS_TARDIF * null(1-IND_PASSAGE);
+INRCDIS_NTLADEC = INRCDIS_NTL_A;
+INR_CDIS_NTL=INRCDIS_NTL+INR_CDIS_TARDIF * null(1-IND_PASSAGE);
+TAXA_NTLDEC = TAXABASE;
+INRTAXA_NTLDEC = INRTAXA_NTL+INR_TAXAGA_TARDIF * null(1-IND_PASSAGE);
+INRTAXA_NTLADEC = INRTAXA_NTL_A;
+INR_TAXAGA_NTL=INRTAXA_NTL+INR_TAXAGA_TARDIF * null(1-IND_PASSAGE);
+ISF_NTLDEC = ISF4BASE;
+INRISF_NTLDEC = INRISF_NTL+INR_ISF_TARDIF * null(1-IND_PASSAGE);
+INRISF_NTLADEC = INRISF_NTL_A;
+INR_ISF_NTL=INRISF_NTL+INR_ISF_TARDIF * null(1-IND_PASSAGE);
+CHR_NTLDEC = CHRBASE;
+INRCHR_NTLDEC = INRCHR_NTL+INR_CHR_TARDIF * null(1-IND_PASSAGE);
+INRCHR_NTLADEC = INRCHR_NTL_A;
+INR_CHR_NTL=INRCHR_NTL+INR_CHR_TARDIF * null(1-IND_PASSAGE);
+PCAP_NTLDEC = PCAPBASE;
+INRPCAP_NTLDEC = INRPCAP_NTL+INR_PCAP_TARDIF * null(1-IND_PASSAGE);
+INRPCAP_NTLADEC = INRPCAP_NTL_A;
+INR_PCAP_NTL=INRPCAP_NTL+INR_PCAP_TARDIF * null(1-IND_PASSAGE);
+GAIN_NTLDEC = GAINBASE;
+INRGAIN_NTLDEC = INRGAIN_NTL+INR_GAIN_TARDIF * null(1-IND_PASSAGE);
+INRGAIN_NTLADEC = INRGAIN_NTL_A;
+INR_GAIN_NTL=INRGAIN_NTL+INR_GAIN_TARDIF * null(1-IND_PASSAGE);
+RSE1_NTLDEC = RSE1BASE;
+INRRSE1_NTLDEC = INRRSE1_NTL+INR_RSE1_TARDIF * null(1-IND_PASSAGE);
+INRRSE1_NTLADEC = INRRSE1_NTL_A;
+INR_RSE1_NTL=INRRSE1_NTL+INR_RSE1_TARDIF * null(1-IND_PASSAGE);
+RSE2_NTLDEC = RSE2BASE;
+INRRSE2_NTLDEC = INRRSE2_NTL+INR_RSE2_TARDIF * null(1-IND_PASSAGE);
+INRRSE2_NTLADEC = INRRSE2_NTL_A;
+INR_RSE2_NTL=INRRSE2_NTL+INR_RSE2_TARDIF * null(1-IND_PASSAGE);
+RSE3_NTLDEC = RSE3BASE;
+INRRSE3_NTLDEC = INRRSE3_NTL+INR_RSE3_TARDIF * null(1-IND_PASSAGE);
+INRRSE3_NTLADEC = INRRSE3_NTL_A;
+INR_RSE3_NTL=INRRSE3_NTL+INR_RSE3_TARDIF * null(1-IND_PASSAGE);
+RSE4_NTLDEC = RSE4BASE;
+INRRSE4_NTLDEC = INRRSE4_NTL+INR_RSE4_TARDIF * null(1-IND_PASSAGE);
+INRRSE4_NTLADEC = INRRSE4_NTL_A;
+INR_RSE4_NTL=INRRSE4_NTL+INR_RSE4_TARDIF * null(1-IND_PASSAGE);
+regle corrective base_ABAT98 130111:
+application :  iliad ;
+DO_INR_IR98 = DO_INR_IR982;
+IRNIN_NTLDEC_198 = IRNIN_INR;
+DO_INR_CSG98 = DO_INR_CSG982;
+CSG_NTLDEC_198 = CSBASE;
+DO_INR_PRS98 = DO_INR_PRS982;
+PRS_NTLDEC_198 = PSBASE;
+DO_INR_CRDS98 = DO_INR_CRDS982;
+CRDS_NTLDEC_198 = RDBASE;
+DO_INR_CSAL98 = DO_INR_CSAL982;
+CSAL_NTLDEC_198 = CSALBASE;
+DO_INR_CDIS98 = DO_INR_CDIS982;
+CDIS_NTLDEC_198 = CDISBASE;
+DO_INR_TAXA98 = DO_INR_TAXA982;
+TAXA_NTLDEC_198 = TAXABASE;
+DO_INR_CHR98 = DO_INR_CHR982;
+CHR_NTLDEC_198 = CHRBASE;
+DO_INR_PCAP98 = DO_INR_PCAP982;
+PCAP_NTLDEC_198 = PCAPBASE;
+DO_INR_GAIN98 = DO_INR_GAIN982;
+GAIN_NTLDEC_198 = GAINBASE;
+DO_INR_RSE198 = DO_INR_RSE1982;
+RSE1_NTLDEC_198 = RSE1BASE;
+DO_INR_RSE298 = DO_INR_RSE2982;
+RSE2_NTLDEC_198 = RSE2BASE;
+DO_INR_RSE398 = DO_INR_RSE3982;
+RSE3_NTLDEC_198 = RSE3BASE;
+DO_INR_RSE498 = DO_INR_RSE4982;
+RSE4_NTLDEC_198 = RSE4BASE;
+regle corrective base_inr_ntl22 13011:
+application :  iliad ;
+IRNIN_NTLDEC_1 = IRNIN_INR;
+INRIR_NTLDEC_1 = INRIR_NTL_1;
+INRIR_NTLADEC_1 = INRIR_NTL_1_A;
+INR_IR_NTL_1=INRIR_NTL_1;
+CSG_NTLDEC_1 = CSBASE;
+INRCSG_NTLDEC_1 = INRCSG_NTL_1;
+INRCSG_NTLADEC_1 = INRCSG_NTL_1_A;
+INR_CSG_NTL_1=INRCSG_NTL_1;
+PRS_NTLDEC_1 = PSBASE;
+INRPRS_NTLDEC_1 = INRPRS_NTL_1;
+INRPS_NTLADEC_1 = INRPRS_NTL_1_A;
+INR_PS_NTL_1=INRPRS_NTL_1;
+CRDS_NTLDEC_1 = RDBASE;
+INRCRDS_NTLDEC_1 = INRCRDS_NTL_1;
+INRCRDS_NTLADEC_1 = INRCRDS_NTL_1_A;
+INR_CRDS_NTL_1=INRCRDS_NTL_1;
+CSAL_NTLDEC_1 = CSALBASE;
+INRCSAL_NTLDEC_1 = INRCSAL_NTL_1;
+INRCSAL_NTLADEC_1 = INRCSAL_NTL_1_A;
+INR_CSAL_NTL_1=INRCSAL_NTL_1;
+CDIS_NTLDEC_1 = CDISBASE;
+INRCDIS_NTLDEC_1 = INRCDIS_NTL_1;
+INRCDIS_NTLADEC_1 = INRCDIS_NTL_1_A;
+INR_CDIS_NTL_1=INRCDIS_NTL_1;
+TAXA_NTLDEC_1 = TAXABASE;
+INRTAXA_NTLDEC_1 = INRTAXA_NTL_1;
+INRTAXA_NTLADEC_1 = INRTAXA_NTL_1_A;
+INR_TAXAGA_NTL_1=INRTAXA_NTL_1;
+CHR_NTLDEC_1 = CHRBASE;
+INRCHR_NTLDEC_1 = INRCHR_NTL_1;
+INRCHR_NTLADEC_1 = INRCHR_NTL_1_A;
+INR_CHR_NTL_1=INRCHR_NTL_1;
+PCAP_NTLDEC_1 = PCAPBASE;
+INRPCAP_NTLDEC_1 = INRPCAP_NTL_1;
+INRPCAP_NTLADEC_1 = INRPCAP_NTL_1_A;
+INR_PCAP_NTL_1=INRPCAP_NTL_1;
+GAIN_NTLDEC_1 = GAINBASE;
+INRGAIN_NTLDEC_1 = INRGAIN_NTL_1;
+INRGAIN_NTLADEC_1 = INRGAIN_NTL_1_A;
+INR_GAIN_NTL_1=INRGAIN_NTL_1;
+RSE1_NTLDEC_1 = RSE1BASE;
+INRRSE1_NTLDEC_1 = INRRSE1_NTL_1;
+INRRSE1_NTLADEC_1 = INRRSE1_NTL_1_A;
+INR_RSE1_NTL_1=INRRSE1_NTL_1;
+RSE2_NTLDEC_1 = RSE2BASE;
+INRRSE2_NTLDEC_1 = INRRSE2_NTL_1;
+INRRSE2_NTLADEC_1 = INRRSE2_NTL_1_A;
+INR_RSE2_NTL_1=INRRSE2_NTL_1;
+RSE3_NTLDEC_1 = RSE3BASE;
+INRRSE3_NTLDEC_1 = INRRSE3_NTL_1;
+INRRSE3_NTLADEC_1 = INRRSE3_NTL_1_A;
+INR_RSE3_NTL_1=INRRSE3_NTL_1;
+RSE4_NTLDEC_1 = RSE4BASE;
+INRRSE4_NTLDEC_1 = INRRSE4_NTL_1;
+INRRSE4_NTLADEC_1 = INRRSE4_NTL_1_A;
+INR_RSE4_NTL_1=INRRSE4_NTL_1;
+regle corrective base_ABAT99 130222:
+application :  iliad ;
+DO_INR_IR99 = DO_INR_IR992;
+DO_INR_CSG99 = DO_INR_CSG992;
+DO_INR_PRS99 = DO_INR_PRS992;
+DO_INR_CRDS99 = DO_INR_CRDS992;
+DO_INR_CSAL99 = DO_INR_CSAL992;
+DO_INR_CDIS99 = DO_INR_CDIS992;
+DO_INR_TAXA99 = DO_INR_TAXA992;
+DO_INR_CHR99 = DO_INR_CHR992;
+DO_INR_PCAP99 = DO_INR_PCAP992;
+DO_INR_GAIN99 = DO_INR_GAIN992;
+DO_INR_RSE199 = DO_INR_RSE1992;
+DO_INR_RSE299 = DO_INR_RSE2992;
+DO_INR_RSE399 = DO_INR_RSE3992;
+DO_INR_RSE499 = DO_INR_RSE4992;
+IRNIN_TLDEC_199=IRNIN_INR;
+CSG_TLDEC_199=CSG;
+PRS_TLDEC_199=PRS;
+RDS_TLDEC_199=RDSN;
+CSAL_TLDEC_199=CSALBASE;
+CDIS_TLDEC_199=CDISBASE;
+TAXA_TLDEC_199=TAXABASE;
+CHR_TLDEC_199=CHRBASE;
+PCAP_TLDEC_199=PCAPBASE;
+GAIN_TLDEC_199=GAINBASE;
+RSE1_TLDEC_199=RSE1BASE;
+RSE2_TLDEC_199=RSE2BASE;
+RSE3_TLDEC_199=RSE3BASE;
+RSE4_TLDEC_199=RSE4BASE;
+regle corrective base_inr_tl 1302:
+application :  iliad ;
+IRNIN_TLDEC=IRNIN_INR;
+INRIR_TLADEC = INRIR_TLACQ;
+INRIR_TL_AD=INRIR_TL_A;
+INRIR_TLDEC = INRIR_TLA+INRIR_RETDEF*null(INRIR_RETDEF_A);
+INR_IR_TL=INRIR_TLACQ* (1-IND_RJLJ);
+CSG_TLDEC=CSG;
+INRCSG_TLADEC = INRCSG_TLACQ;
+INRCSG_TL_AD = INRCSG_TL_A;
+INRCSG_TLDEC = INRCSG_TLA + INRCSG_RETDEF * null(INRCSG_RETDEF_A);
+INR_CSG_TL=INRCSG_TLACQ* (1-IND_RJLJ);
+PRS_TLDEC=PRS;
+INRPRS_TLADEC = INRPRS_TLACQ;
+INRPRS_TL_AD = INRPRS_TL_A;
+INRPRS_TLDEC = INRPRS_TLA + INRPRS_RETDEF * null(INRPRS_RETDEF_A);
+INR_PS_TL=INRPRS_TLACQ* (1-IND_RJLJ);
+RDS_TLDEC=RDSN;
+INRCRDS_TLADEC = INRCRDS_TLACQ;
+INRCRDS_TL_AD = INRCRDS_TL_A;
+INRCRDS_TLDEC = INRCRDS_TLA + INRCRDS_RETDEF * null(INRCRDS_RETDEF_A);
+INR_CRDS_TL=INRCRDS_TLACQ* (1-IND_RJLJ);
+CSAL_TLDEC=CSALBASE;
+INRCSAL_TLADEC = INRCSAL_TLACQ;
+INRCSAL_TL_AD = INRCSAL_TL_A;
+INRCSAL_TLDEC = INRCSAL_TLA + INRCSAL_RETDEF * null(INRCSAL_RETDEF_A);
+INR_CSAL_TL=INRCSAL_TLACQ* (1-IND_RJLJ);
+CDIS_TLDEC=CDISBASE;
+INRCDIS_TLADEC = INRCDIS_TLACQ;
+INRCDIS_TL_AD = INRCDIS_TL_A;
+INRCDIS_TLDEC = INRCDIS_TLA + INRCDIS_RETDEF * null(INRCDIS_RETDEF_A);
+INR_CDIS_TL=INRCDIS_TLACQ* (1-IND_RJLJ);
+TAXA_TLDEC=TAXABASE;
+INRTAXA_TLADEC = INRTAXA_TLACQ;
+INRTAXA_TL_AD = INRTAXA_TL_A;
+INRTAXA_TLDEC = INRTAXA_TLA + INRTAXA_RETDEF * null(INRTAXA_RETDEF_A);
+INR_TAXAGA_TL=INRTAXA_TLACQ * (1-IND_RJLJ);
+CHR_TLDEC=CHRBASE;
+INRCHR_TLADEC = INRCHR_TLACQ;
+INRCHR_TL_AD = INRCHR_TL_A;
+INRCHR_TLDEC = INRCHR_TLA + INRCHR_RETDEF * null(INRCHR_RETDEF_A);
+INR_CHR_TL=INRCHR_TLACQ * (1-IND_RJLJ);
+PCAP_TLDEC=PCAPBASE;
+INRPCAP_TLADEC = INRPCAP_TLACQ;
+INRPCAP_TL_AD = INRPCAP_TL_A;
+INRPCAP_TLDEC = INRPCAP_TLA + INRPCAP_RETDEF * null(INRPCAP_RETDEF_A);
+INR_PCAP_TL=INRPCAP_TLACQ * (1-IND_RJLJ);
+GAIN_TLDEC=GAINBASE;
+INRGAIN_TLADEC = INRGAIN_TLACQ;
+INRGAIN_TL_AD = INRGAIN_TL_A;
+INRGAIN_TLDEC = INRGAIN_TLA + INRGAIN_RETDEF * null(INRGAIN_RETDEF_A);
+INR_GAIN_TL=INRGAIN_TLACQ * (1-IND_RJLJ);
+RSE1_TLDEC=RSE1BASE;
+INRRSE1_TLADEC = INRRSE1_TLACQ;
+INRRSE1_TL_AD = INRRSE1_TL_A;
+INRRSE1_TLDEC = INRRSE1_TLA + INRRSE1_RETDEF * null(INRRSE1_RETDEF_A);
+INR_RSE1_TL=INRRSE1_TLACQ * (1-IND_RJLJ);
+RSE2_TLDEC=RSE2BASE;
+INRRSE2_TLADEC = INRRSE2_TLACQ;
+INRRSE2_TL_AD = INRRSE2_TL_A;
+INRRSE2_TLDEC = INRRSE2_TLA + INRRSE2_RETDEF * null(INRRSE2_RETDEF_A);
+INR_RSE2_TL=INRRSE2_TLACQ * (1-IND_RJLJ);
+RSE3_TLDEC=RSE3BASE;
+INRRSE3_TLADEC = INRRSE3_TLACQ;
+INRRSE3_TL_AD = INRRSE3_TL_A;
+INRRSE3_TLDEC = INRRSE3_TLA + INRRSE3_RETDEF * null(INRRSE3_RETDEF_A);
+INR_RSE3_TL=INRRSE3_TLACQ * (1-IND_RJLJ);
+RSE4_TLDEC=RSE4BASE;
+INRRSE4_TLADEC = INRRSE4_TLACQ;
+INRRSE4_TL_AD = INRRSE4_TL_A;
+INRRSE4_TLDEC = INRRSE4_TLA + INRRSE4_RETDEF * null(INRRSE4_RETDEF_A);
+INR_RSE4_TL=INRRSE4_TLACQ * (1-IND_RJLJ);
+regle corrective base_inr_tl22 13022:
+application :  iliad ;
+INRIR_TLADEC_12 = INRIR_TLADEC_1;
+INR_IR_TL_1=INRIR_TLACQ_1* (1-IND_RJLJ);
+INRCSG_TLADEC_12 = INRCSG_TLADEC_1;
+INR_CSG_TL_1=INRCSG_TLACQ_1* (1-IND_RJLJ);
+INRPRS_TLADEC_12 = INRPRS_TLADEC_1;
+INR_PS_TL_1=INRPRS_TLACQ_1* (1-IND_RJLJ);
+INRCRDS_TLADEC_12 = INRCRDS_TLADEC_1;
+INR_CRDS_TL_1=INRCRDS_TLACQ_1* (1-IND_RJLJ);
+INRCSAL_TLADEC_12 = INRCSAL_TLADEC_1;
+INR_CSAL_TL_1=INRCSAL_TLACQ_1* (1-IND_RJLJ);
+INRCDIS_TLADEC_12 = INRCDIS_TLADEC_1;
+INR_CDIS_TL_1=INRCDIS_TLACQ_1* (1-IND_RJLJ);
+INRTAXA_TLADEC_12 = INRTAXA_TLADEC_1;
+INR_TAXAGA_TL_1=INRTAXA_TLACQ_1 * (1-IND_RJLJ);
+INRCHR_TLADEC_12 = INRCHR_TLADEC_1;
+INR_CHR_TL_1=INRCHR_TLACQ_1 * (1-IND_RJLJ);
+INRPCAP_TLADEC_12 = INRPCAP_TLADEC_1;
+INR_PCAP_TL_1=INRPCAP_TLACQ_1 * (1-IND_RJLJ);
+INRGAIN_TLADEC_12 = INRGAIN_TLADEC_1;
+INR_GAIN_TL_1=INRGAIN_TLACQ_1 * (1-IND_RJLJ);
+INRRSE1_TLADEC_12 = INRRSE1_TLADEC_1;
+INR_RSE1_TL_1=INRRSE1_TLACQ_1 * (1-IND_RJLJ);
+INRRSE2_TLADEC_12 = INRRSE2_TLADEC_1;
+INR_RSE2_TL_1=INRRSE2_TLACQ_1 * (1-IND_RJLJ);
+INRRSE3_TLADEC_12 = INRRSE3_TLADEC_1;
+INR_RSE3_TL_1=INRRSE3_TLACQ_1 * (1-IND_RJLJ);
+INRRSE4_TLADEC_12 = INRRSE4_TLADEC_1;
+INR_RSE4_TL_1=INRRSE4_TLACQ_1 * (1-IND_RJLJ);
+RETIR2 = INCIR_NET2;
+RETPS2 = INCPS_NET2;
+RETCS2 = INCCS_NET2;
+RETCSAL2 = INCCSAL_NET2;
+RETCDIS2 = INCCDIS_NET2;
+RETRD2 = INCRD_NET2;
+RETTAXA2 = INCTAXA_NET2;
+RETCHR2 = INCCHR_NET2;
+RETGAIN2 = INCGAIN_NET2;
+RETPCAP2 = INCPCAP_NET2;
+RETRSE12 = INCRSE1_NET2;
+RETRSE22 = INCRSE2_NET2;
+RETRSE32 = INCRSE3_NET2;
+RETRSE42 = INCRSE4_NET2;
+RETIR22 = (INRIR_NTLDEC_1+INRIR_TLDEC_1+ INRIR_NTL_1_A+INRIR_TL_1_A) * positif(RETIR2);
+RETCS22 = (INRCSG_NTLDEC_1+INRCSG_TLDEC_1+ INRCSG_NTL_1_A+INRCSG_TL_1_A) * positif(RETCS2);
+RETRD22 = (INRCRDS_NTLDEC_1+INRCRDS_TLDEC_1+ INRCRDS_NTL_1_A+INRCRDS_TL_1_A) * positif(RETRD2);
+RETPS22 = (INRPRS_NTLDEC_1+INRPRS_TLDEC_1+ INRPRS_NTL_1_A+INRPRS_TL_1_A) * positif(RETPS2);
+RETCSAL22 = (INRCSAL_NTLDEC_1+INRCSAL_TLDEC_1+ INRCSAL_NTL_1_A+INRCSAL_TL_1_A) * positif(RETCSAL2);
+RETCDIS22 = (INRCDIS_NTLDEC_1+INRCDIS_TLDEC_1+ INRCDIS_NTL_1_A+INRCDIS_TL_1_A) * positif(RETCDIS2);
+RETTAXA22 = (INRTAXA_NTLDEC_1+INRTAXA_TLDEC_1+ INRTAXA_NTL_1_A+INRTAXA_TL_1_A) * positif(RETTAXA2);
+RETCHR22 = (INRCHR_NTLDEC_1+INRCHR_TLDEC_1+ INRCHR_NTL_1_A+INRCHR_TL_1_A) * positif(RETCHR2);
+RETPCAP22 = (INRPCAP_NTLDEC_1+INRPCAP_TLDEC_1+ INRPCAP_NTL_1_A+INRPCAP_TL_1_A) * positif(RETPCAP2);
+RETGAIN22 = (INRGAIN_NTLDEC_1+INRGAIN_TLDEC_1+ INRGAIN_NTL_1_A+INRGAIN_TL_1_A) * positif(RETGAIN2);
+RETRSE122 = (INRRSE1_NTLDEC_1+INRRSE1_TLDEC_1+ INRRSE1_NTL_1_A+INRRSE1_TL_1_A) * positif(RETRSE12);
+RETRSE222 = (INRRSE2_NTLDEC_1+INRRSE2_TLDEC_1+ INRRSE2_NTL_1_A+INRRSE2_TL_1_A) * positif(RETRSE22);
+RETRSE322 = (INRRSE3_NTLDEC_1+INRRSE3_TLDEC_1+ INRRSE3_NTL_1_A+INRRSE3_TL_1_A) * positif(RETRSE32);
+RETRSE422 = (INRRSE4_NTLDEC_1+INRRSE4_TLDEC_1+ INRRSE4_NTL_1_A+INRRSE4_TL_1_A) * positif(RETRSE42);
+INR_NTL_GLOB_IR = INR_NTL_GLOB_IR2;
+INR_TL_GLOB_IR = INR_TL_GLOB_IR2;
+INR_TOT_GLOB_IR = INR_TOT_GLOB_IR2;
+DO_INR_IR = DO_INR_IR2;
+DO_IR = DO_IR2;
+SUP_IR_MAX = SUP_IR_MAX2;
+INCIR_TL = INCIR_TL2;
+INCIR_TL_1 = INCIR_TL_12;
+INRIR_NET = INRIR_NET2;
+INRIR_NET_1 = INRIR_NET_12;
+INIR_TL = INIR_TL2;
+INIR_TL_1 = INIR_TL_12;
+INCIR_NET = INCIR_NET2;
+IR_PRI= IR_PRI2;
+IR_ANT= IR_ANT2;
+IR_NTL= IR_NTL2;
+IR_TL=IR_TL2;
+IR_NTL_1=IR_NTL_12;
+IR_TL_1=IR_TL_12;
+IR_REF_INR=IRNIN_REF;
+INR_NTL_GLOB_CSG = INR_NTL_GLOB_CSG2;
+INR_TL_GLOB_CSG = INR_TL_GLOB_CSG2;
+INR_TOT_GLOB_CSG = INR_TOT_GLOB_CSG2;
+DO_INR_CSG = DO_INR_CSG2;
+DO_CSG = DO_CSG2;
+SUP_CSG_MAX = SUP_CSG_MAX2;
+INRCSG_NET = INRCSG_NET2;
+INRCSG_NET_1 = INRCSG_NET_12;
+INCCS_NET = INCCS_NET2;
+INCS_TL = INCS_TL2;
+INCS_TL_1 = INCS_TL_12;
+INCCS_TL = INCCS_TL2;
+INCCS_TL_1 = INCCS_TL_12;
+CSG_PRI=CSG_PRI2;
+CSG_ANT=CSG_ANT2;
+CSG_NTL=CSG_NTL2;
+CSG_NTL_1=CSG_NTL_12;
+CSG_TL=CSG_TL2;
+CSG_TL_1=CSG_TL_12;
+CSG_REF_INR=CSG_REF;
+INR_NTL_GLOB_CRDS = INR_NTL_GLOB_CRDS2;
+INR_TL_GLOB_CRDS = INR_TL_GLOB_CRDS2;
+INR_TOT_GLOB_CRDS = INR_TOT_GLOB_CRDS2;
+DO_INR_CRDS = DO_INR_CRDS2;
+DO_CRDS = DO_CRDS2;
+SUP_CRDS_MAX = SUP_CRDS_MAX2;
+INCRD_TL = INCRD_TL2;
+INCRD_TL_1 = INCRD_TL_12;
+INRRDS_NET = INRRDS_NET2;
+INRRDS_NET_1 = INRRDS_NET_12;
+INRD_TL = INRD_TL2;
+INRD_TL_1 = INRD_TL_12;
+INCRD_NET = INCRD_NET2;
+CRDS_PRI=CRDS_PRI2;
+CRDS_ANT=CRDS_ANT2;
+CRDS_NTL=CRDS_NTL2;
+CRDS_NTL_1=CRDS_NTL_12;
+CRDS_TL=CRDS_TL2;
+CRDS_TL_1=CRDS_TL_12;
+CRDS_REF_INR=RDS_REF;
+INR_NTL_GLOB_PS = INR_NTL_GLOB_PS2;
+INR_TL_GLOB_PS = INR_TL_GLOB_PS2;
+INR_TOT_GLOB_PS = INR_TOT_GLOB_PS2;
+DO_INR_PS = DO_INR_PS2;
+DO_PS = DO_PS2;
+SUP_PS_MAX = SUP_PS_MAX2;
+INCPS_TL = INCPS_TL2;
+INCPS_TL_1 = INCPS_TL_12;
+INRPRS_NET = INRPRS_NET2; 
+INRPRS_NET_1 = INRPRS_NET_12; 
+INPS_TL = INPS_TL2;
+INPS_TL_1 = INPS_TL_12;
+INCPS_NET = INCPS_NET2;
+PS_PRI= PS_PRI2;
+PS_ANT=PS_ANT2;
+PS_NTL=PS_NTL2;
+PS_NTL_1=PS_NTL_12;
+PS_TL=PS_TL2;
+PS_TL_1=PS_TL_12;
+PS_REF_INR=PRS_REF;
+INR_NTL_GLOB_CSAL = INR_NTL_GLOB_CSAL2;
+INR_TL_GLOB_CSAL = INR_TL_GLOB_CSAL2;
+INR_TOT_GLOB_CSAL = INR_TOT_GLOB_CSAL2;
+DO_INR_CSAL = DO_INR_CSAL2;
+DO_CSAL = DO_CSAL2;
+SUP_CSAL_MAX = SUP_CSAL_MAX2;
+INCCSAL_TL = INCCSAL_TL2;
+INCCSAL_TL_1 = INCCSAL_TL_12;
+INRCSAL_NET = INRCSAL_NET2; 
+INRCSAL_NET_1 = INRCSAL_NET_12; 
+INCSAL_TL = INCSAL_TL2;
+INCSAL_TL_1 = INCSAL_TL_12;
+INCCSAL_NET = INCCSAL_NET2;
+CSAL_PRI= CSAL_PRI2;
+CSAL_ANT=CSAL_ANT2;
+CSAL_NTL=CSAL_NTL2;
+CSAL_NTL_1=CSAL_NTL_12;
+CSAL_TL=CSAL_TL2;
+CSAL_TL_1=CSAL_TL_12;
+CSAL_REF_INR=CSAL_REF;
+INR_NTL_GLOB_CDIS = INR_NTL_GLOB_CDIS2;
+INR_TL_GLOB_CDIS = INR_TL_GLOB_CDIS2;
+INR_TOT_GLOB_CDIS = INR_TOT_GLOB_CDIS2;
+DO_INR_CDIS = DO_INR_CDIS2;
+DO_CDIS = DO_CDIS2;
+SUP_CDIS_MAX = SUP_CDIS_MAX2;
+INCCDIS_TL = INCCDIS_TL2;
+INCCDIS_TL_1 = INCCDIS_TL_12;
+INRCDIS_NET = INRCDIS_NET2; 
+INRCDIS_NET_1 = INRCDIS_NET_12; 
+INCDIS_TL = INCDIS_TL2;
+INCDIS_TL_1 = INCDIS_TL_12;
+INCCDIS_NET = INCCDIS_NET2;
+CDIS_PRI= CDIS_PRI2;
+CDIS_ANT=CDIS_ANT2;
+CDIS_NTL=CDIS_NTL2;
+CDIS_NTL_1=CDIS_NTL_12;
+CDIS_TL=CDIS_TL2;
+CDIS_TL_1=CDIS_TL_12;
+CDIS_REF_INR=CDIS_REF;
+INR_NTL_GLOB_TAXA = INR_NTL_GLOB_TAXA2;
+INR_TL_GLOB_TAXA = INR_TL_GLOB_TAXA2;
+INR_TOT_GLOB_TAXA = INR_TOT_GLOB_TAXA2;
+DO_INR_TAXAGA = DO_INR_TAXA2;
+DO_TAXA = DO_TAXA2;
+SUP_TAXA_MAX = SUP_TAXA_MAX2;
+INCTAXA_TL = INCTAXA_TL2;
+INCTAXA_TL_1 = INCTAXA_TL_12;
+INTAXA_TL = INTAXA_TL2;
+INTAXA_TL_1 = INTAXA_TL_12;
+INRTAXA_NET = INRTAXA_NET2;
+INRTAXA_NET_1 = INRTAXA_NET_12;
+INCTAXA_NET = INCTAXA_NET2;
+TAXAGA_PRI=TAXAGA_PRI2;
+TAXAGA_ANT=TAXAGA_ANT2;
+TAXAGA_NTL=TAXAGA_NTL2;
+TAXAGA_NTL_1=TAXAGA_NTL_12;
+TAXA_TL=TAXAGA_TL2;
+TAXAGA_TL_1=TAXAGA_TL_12;
+TAXA_REF_INR=TAXA_REF;
+INR_NTL_GLOB_CHR = INR_NTL_GLOB_CHR2;
+INR_TL_GLOB_CHR = INR_TL_GLOB_CHR2;
+INR_TOT_GLOB_CHR = INR_TOT_GLOB_CHR2;
+DO_INR_CHR = DO_INR_CHR2;
+DO_CHR = DO_CHR2;
+SUP_CHR_MAX = SUP_CHR_MAX2;
+INCCHR_TL = INCCHR_TL2;
+INCCHR_TL_1 = INCCHR_TL_12;
+INCHR_TL = INCHR_TL2;
+INCHR_TL_1 = INCHR_TL_12;
+INRCHR_NET = INRCHR_NET2;
+INRCHR_NET_1 = INRCHR_NET_12;
+INCCHR_NET = INCCHR_NET2;
+CHR_PRI=CHR_PRI2;
+CHR_ANT=CHR_ANT2;
+CHR_NTL=CHR_NTL2;
+CHR_NTL_1=CHR_NTL_12;
+CHREV_TL=CHR_TL2;
+CHR_TL_1=CHR_TL_12;
+CHR_REF_INR=CHR_REF;
+INR_NTL_GLOB_PCAP = INR_NTL_GLOB_PCAP2;
+INR_TL_GLOB_PCAP = INR_TL_GLOB_PCAP2;
+INR_TOT_GLOB_PCAP = INR_TOT_GLOB_PCAP2;
+DO_INR_PCAP = DO_INR_PCAP2;
+DO_PCAP = DO_PCAP2;
+SUP_PCAP_MAX = SUP_PCAP_MAX2;
+INCPCAP_TL = INCPCAP_TL2;
+INCPCAP_TL_1 = INCPCAP_TL_12;
+INPCAP_TL = INPCAP_TL2;
+INPCAP_TL_1 = INPCAP_TL_12;
+INRPCAP_NET = INRPCAP_NET2;
+INRPCAP_NET_1 = INRPCAP_NET_12;
+INCPCAP_NET = INCPCAP_NET2;
+PCAP_PRI=PCAP_PRI2;
+PCAP_ANT=PCAP_ANT2;
+PCAP_NTL=PCAP_NTL2;
+PCAP_NTL_1=PCAP_NTL_12;
+PPCAP_TL=PCAP_TL2;
+PCAP_TL_1=PCAP_TL_12;
+PCAP_REF_INR=PCAP_REF;
+INR_NTL_GLOB_GAIN = INR_NTL_GLOB_GAIN2;
+INR_TL_GLOB_GAIN = INR_TL_GLOB_GAIN2;
+INR_TOT_GLOB_GAIN = INR_TOT_GLOB_GAIN2;
+DO_INR_GAIN = DO_INR_GAIN2;
+DO_GAIN = DO_GAIN2;
+SUP_GAIN_MAX = SUP_GAIN_MAX2;
+INCGAIN_TL = INCGAIN_TL2;
+INCGAIN_TL_1 = INCGAIN_TL_12;
+INGAIN_TL = INGAIN_TL2;
+INGAIN_TL_1 = INGAIN_TL_12;
+INRGAIN_NET = INRGAIN_NET2;
+INRGAIN_NET_1 = INRGAIN_NET_12;
+INCGAIN_NET = INCGAIN_NET2;
+GAIN_PRI=GAIN_PRI2;
+GAIN_ANT=GAIN_ANT2;
+GAIN_NTL=GAIN_NTL2;
+GAIN_NTL_1=GAIN_NTL_12;
+GAIN_TL=GAIN_TL2;
+GAIN_TL_1=GAIN_TL_12;
+GAIN_REF_INR=GAIN_REF;
+INR_NTL_GLOB_RSE1 = INR_NTL_GLOB_RSE12;
+INR_TL_GLOB_RSE1 = INR_TL_GLOB_RSE12;
+INR_TOT_GLOB_RSE1 = INR_TOT_GLOB_RSE12;
+DO_INR_RSE1 = DO_INR_RSE12;
+DO_RSE1 = DO_RSE12;
+SUP_RSE1_MAX = SUP_RSE1_MAX2;
+INCRSE1_TL = INCRSE1_TL2;
+INCRSE1_TL_1 = INCRSE1_TL_12;
+INRSE1_TL = INRSE1_TL2;
+INRSE1_TL_1 = INRSE1_TL_12;
+INRRSE1_NET = INRRSE1_NET2;
+INRRSE1_NET_1 = INRRSE1_NET_12;
+INCRSE1_NET = INCRSE1_NET2;
+RSE1_PRI=RSE1_PRI2;
+RSE1_ANT=RSE1_ANT2;
+RSE1_NTL=RSE1_NTL2;
+RSE1_NTL_1=RSE1_NTL_12;
+RSE1_TL=RSE1_TL2;
+RSE1_TL_1=RSE1_TL_12;
+RSE1_REF_INR=RSE1_REF;
+INR_NTL_GLOB_RSE2 = INR_NTL_GLOB_RSE22;
+INR_TL_GLOB_RSE2 = INR_TL_GLOB_RSE22;
+INR_TOT_GLOB_RSE2 = INR_TOT_GLOB_RSE22;
+DO_INR_RSE2 = DO_INR_RSE22;
+DO_RSE2 = DO_RSE22;
+SUP_RSE2_MAX = SUP_RSE2_MAX2;
+INCRSE2_TL = INCRSE2_TL2;
+INCRSE2_TL_1 = INCRSE2_TL_12;
+INRSE2_TL = INRSE2_TL2;
+INRSE2_TL_1 = INRSE2_TL_12;
+INRRSE2_NET = INRRSE2_NET2;
+INRRSE2_NET_1 = INRRSE2_NET_12;
+INCRSE2_NET = INCRSE2_NET2;
+RSE2_PRI=RSE2_PRI2;
+RSE2_ANT=RSE2_ANT2;
+RSE2_NTL=RSE2_NTL2;
+RSE2_NTL_1=RSE2_NTL_12;
+RSE2_TL=RSE2_TL2;
+RSE2_TL_1=RSE2_TL_12;
+RSE2_REF_INR=RSE2_REF;
+INR_NTL_GLOB_RSE3 = INR_NTL_GLOB_RSE32;
+INR_TL_GLOB_RSE3 = INR_TL_GLOB_RSE32;
+INR_TOT_GLOB_RSE3 = INR_TOT_GLOB_RSE32;
+DO_INR_RSE3 = DO_INR_RSE32;
+DO_RSE3 = DO_RSE32;
+SUP_RSE3_MAX = SUP_RSE3_MAX2;
+INCRSE3_TL = INCRSE3_TL2;
+INCRSE3_TL_1 = INCRSE3_TL_12;
+INRSE3_TL = INRSE3_TL2;
+INRSE3_TL_1 = INRSE3_TL_12;
+INRRSE3_NET = INRRSE3_NET2;
+INRRSE3_NET_1 = INRRSE3_NET_12;
+INCRSE3_NET = INCRSE3_NET2;
+RSE3_PRI=RSE3_PRI2;
+RSE3_ANT=RSE3_ANT2;
+RSE3_NTL=RSE3_NTL2;
+RSE3_NTL_1=RSE3_NTL_12;
+RSE3_TL=RSE3_TL2;
+RSE3_TL_1=RSE3_TL_12;
+RSE3_REF_INR=RSE3_REF;
+INR_NTL_GLOB_RSE4 = INR_NTL_GLOB_RSE42;
+INR_TL_GLOB_RSE4 = INR_TL_GLOB_RSE42;
+INR_TOT_GLOB_RSE4 = INR_TOT_GLOB_RSE42;
+DO_INR_RSE4 = DO_INR_RSE42;
+DO_RSE4 = DO_RSE42;
+SUP_RSE4_MAX = SUP_RSE4_MAX2;
+INCRSE4_TL = INCRSE4_TL2;
+INCRSE4_TL_1 = INCRSE4_TL_12;
+INRSE4_TL = INRSE4_TL2;
+INRSE4_TL_1 = INRSE4_TL_12;
+INRRSE4_NET = INRRSE4_NET2;
+INRRSE4_NET_1 = INRRSE4_NET_12;
+INCRSE4_NET = INCRSE4_NET2;
+RSE4_PRI=RSE4_PRI2;
+RSE4_ANT=RSE4_ANT2;
+RSE4_NTL=RSE4_NTL2;
+RSE4_NTL_1=RSE4_NTL_12;
+RSE4_TL=RSE4_TL2;
+RSE4_TL_1=RSE4_TL_12;
+RSE4_REF_INR=RSE4_REF;
+TINR = TINR2;
+TINR_1=TINR_12;
+NBREMOIS2=NBREMOIS222;
+NBREMOISCS2=NBREMOISCS222;
+DO_INR_IR_TL = arr(INRIR_TL_A * DO_INR_IR/(INR_TOT_GLOB_IR-INR_IR_TARDIF));
+DO_INR_IR_NTL = arr(INRIR_NTL_A * DO_INR_IR/(INR_TOT_GLOB_IR-INR_IR_TARDIF));
+DO_INR_CSG_TL = arr(INRCSG_TL_A * DO_INR_CSG/(INR_TOT_GLOB_CSG-INR_CSG_TARDIF));
+DO_INR_CSG_NTL = arr(INRCSG_NTL_A * DO_INR_CSG/(INR_TOT_GLOB_CSG-INR_CSG_TARDIF));
+DO_INR_CRDS_TL = arr(INRCRDS_TL_A * DO_INR_CRDS/(INR_TOT_GLOB_CRDS-INR_CRDS_TARDIF));
+DO_INR_CRDS_NTL = arr(INRCRDS_NTL_A * DO_INR_CRDS/(INR_TOT_GLOB_CRDS-INR_CRDS_TARDIF));
+DO_INR_PS_TL = arr(INRPRS_TL_A * DO_INR_PS/(INR_TOT_GLOB_PS-INR_PS_TARDIF));
+DO_INR_PS_NTL = arr(INRPRS_NTL_A * DO_INR_PS/(INR_TOT_GLOB_PS-INR_PS_TARDIF));
+DO_INR_CSAL_TL = arr(INRCSAL_TL_A * DO_INR_CSAL/(INR_TOT_GLOB_CSAL-INR_CSAL_TARDIF));
+DO_INR_CSAL_NTL = arr(INRCSAL_NTL_A * DO_INR_CSAL/(INR_TOT_GLOB_CSAL-INR_CSAL_TARDIF));
+DO_INR_CDIS_TL = arr(INRCDIS_TL_A * DO_INR_CDIS/(INR_TOT_GLOB_CDIS-INR_CDIS_TARDIF));
+DO_INR_CDIS_NTL = arr(INRCDIS_NTL_A * DO_INR_CDIS/(INR_TOT_GLOB_CDIS-INR_CDIS_TARDIF));
+DO_INR_TAXA_TL = arr(INRTAXA_TL_A * DO_INR_TAXAGA/(INR_TOT_GLOB_TAXA-INR_TAXAGA_TARDIF));
+DO_INR_TAXA_NTL = arr(INRTAXA_NTL_A * DO_INR_TAXAGA/(INR_TOT_GLOB_TAXA-INR_TAXAGA_TARDIF));
+DO_INR_CHR_TL = arr(INRCHR_TL_A * DO_INR_CHR/(INR_TOT_GLOB_CHR-INR_CHR_TARDIF));
+DO_INR_CHR_NTL = arr(INRCHR_NTL_A * DO_INR_CHR/(INR_TOT_GLOB_CHR-INR_CHR_TARDIF));
+DO_INR_PCAP_TL = arr(INRPCAP_TL_A * DO_INR_PCAP/(INR_TOT_GLOB_PCAP-INR_PCAP_TARDIF));
+DO_INR_PCAP_NTL = arr(INRPCAP_NTL_A * DO_INR_PCAP/(INR_TOT_GLOB_PCAP-INR_PCAP_TARDIF));
+DO_INR_GAIN_TL = arr(INRGAIN_TL_A * DO_INR_GAIN/(INR_TOT_GLOB_GAIN-INR_GAIN_TARDIF));
+DO_INR_GAIN_NTL = arr(INRGAIN_NTL_A * DO_INR_GAIN/(INR_TOT_GLOB_GAIN-INR_GAIN_TARDIF));
+DO_INR_RSE1_TL = arr(INRRSE1_TL_A * DO_INR_RSE1/(INR_TOT_GLOB_RSE1-INR_RSE1_TARDIF));
+DO_INR_RSE1_NTL = arr(INRRSE1_NTL_A * DO_INR_RSE1/(INR_TOT_GLOB_RSE1-INR_RSE1_TARDIF));
+DO_INR_RSE2_TL = arr(INRRSE2_TL_A * DO_INR_RSE2/(INR_TOT_GLOB_RSE2-INR_RSE2_TARDIF));
+DO_INR_RSE2_NTL = arr(INRRSE2_NTL_A * DO_INR_RSE2/(INR_TOT_GLOB_RSE2-INR_RSE2_TARDIF));
+DO_INR_RSE3_TL = arr(INRRSE3_TL_A * DO_INR_RSE3/(INR_TOT_GLOB_RSE3-INR_RSE3_TARDIF));
+DO_INR_RSE3_NTL = arr(INRRSE3_NTL_A * DO_INR_RSE3/(INR_TOT_GLOB_RSE3-INR_RSE3_TARDIF));
+DO_INR_RSE4_TL = arr(INRRSE4_TL_A * DO_INR_RSE4/(INR_TOT_GLOB_RSE4-INR_RSE4_TARDIF));
+DO_INR_RSE4_NTL = arr(INRRSE4_NTL_A * DO_INR_RSE4/(INR_TOT_GLOB_RSE4-INR_RSE4_TARDIF));
+RETISF2 = INCISF_NET2;
+INR_NTL_GLOB_ISF = INR_NTL_GLOB_ISF2;
+INR_TOT_GLOB_ISF = INR_TOT_GLOB_ISF2;
+DO_INR_ISF = DO_INR_ISF2;
+DO_ISF = DO_ISF2;
+SUP_ISF_MAX = SUP_ISF_MAX2;
+INRISF_NET = INRISF_NET2;
+INCISF_NET = INCISF_NET2;
+ISF_PRI=ISF_PRI2;
+ISF_ANT=ISF_ANT2;
+ISF_NTL=ISF_NTL2;
+ISF_REF_INR=ISF_REF;
+TINRISF = TINRISF2;
+NBREMOISISF2=NBREMOISISF222;
+DO_INR_ISF_NTL = arr(INRISF_NTL_A * DO_INR_ISF/(INR_TOT_GLOB_ISF-INR_ISF_TARDIF));
+regle corrective base_inr_inter22 13023:
+application :  iliad ;
+IR_ISO_RECT =   (IRN - IRANT) * positif(IRN - IRANT) * positif(IAMD1 + NAPCRPIAMD1+ 1 - SEUIL_61);
+TAXA_ISO_RECT = arr(max(TAXASSUR + min(0,IRN - IRANT),0)) * positif(IAMD1 + NAPCRPIAMD1+ 1 - SEUIL_61);
+CAP_ISO_RECT =arr(max(IPCAPTAXT + min(0,IRN - IRANT + TAXASSUR),0)) * positif(IAMD1 + NAPCRPIAMD1+ 1 - SEUIL_61);
+LOY_ISO_RECT =arr(max(TAXLOY + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT),0)) * positif(IAMD1 + NAPCRPIAMD1+ 1 - SEUIL_61);
+CHR_ISO_RECT =arr(max(IHAUTREVT + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT+TAXLOY),0)) * positif(IAMD1 + NAPCRPIAMD1+ 1 - SEUIL_61);
diff --git a/sources2012m_3_13/chap-cmajo.m b/sources2012m_3_13/chap-cmajo.m
new file mode 100644
index 0000000000000000000000000000000000000000..6d58196bdd5055b07cee40c9e1b11a8c449c14b1
--- /dev/null
+++ b/sources2012m_3_13/chap-cmajo.m
@@ -0,0 +1,737 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle corrective base_stratemajo 120:
+application :  iliad ;
+MAJOIR07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR07TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR07TARDIF_P) ;
+MAJOIR08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR08TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR08TARDIF_P) ;
+MAJOIR17_1TARD_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR17_1TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR17_1TARDIF_P) ;
+MAJOIR17_2TARD_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR17_2TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR17_2TARDIF_P) ;
+MAJOIRTARDIF_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) 
+			* (somme(x = 07,08 : MAJOIR0xTARDIF_DEF)
+		    + MAJOIR17_1TARD_DEF + MAJOIR17_2TARD_DEF)
+		    + (1 - positif(FLAG_TRTARDIF) * positif(FLAG_RETARD))
+		    * MAJOIRTARDIF_REF ;
+MAJOCS07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPCS_A)) * MAJOCS07TARDIF_D 
+		  + positif(PROPCS_A) * MAJOCS07TARDIF_P) ;
+MAJOCS08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPCS_A)) * MAJOCS08TARDIF_D 
+		  + positif(PROPCS_A) * MAJOCS08TARDIF_P) ;
+MAJOCS17TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPCS_A)) * MAJOCS17TARDIF_D 
+		  + positif(PROPCS_A) * MAJOCS17TARDIF_P) ;
+MAJOCSTARDIF_DEF = somme(x = 07,08,17 : MAJOCSxTARDIF_DEF);
+MAJOPS07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPPS_A)) * MAJOPS07TARDIF_D 
+		  + positif(PROPPS_A) * MAJOPS07TARDIF_P) ;
+MAJOPS08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPPS_A)) * MAJOPS08TARDIF_D 
+		  + positif(PROPPS_A) * MAJOPS08TARDIF_P) ;
+MAJOPS17TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPPS_A)) * MAJOPS17TARDIF_D 
+		  + positif(PROPPS_A) * MAJOPS17TARDIF_P) ;
+MAJOPSTARDIF_DEF = somme(x = 07,08,17 : MAJOPSxTARDIF_DEF);
+MAJORD07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPRD_A)) * MAJORD07TARDIF_D 
+		  + positif(PROPRD_A) * MAJORD07TARDIF_P) ;
+MAJORD08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPRD_A)) * MAJORD08TARDIF_D 
+		  + positif(PROPRD_A) * MAJORD08TARDIF_P) ;
+MAJORD17TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPRD_A)) * MAJORD17TARDIF_D 
+		  + positif(PROPRD_A) * MAJORD17TARDIF_P) ;
+MAJORDTARDIF_DEF = somme(x = 07,08,17 : MAJORDxTARDIF_DEF);
+MAJOSA07TARDIF_DEF = FLAG_RETARD * MAJOCSAL07TARDIF_D;
+
+MAJOSA08TARDIF_DEF = FLAG_RETARD * MAJOCSAL08TARDIF_D;
+MAJOSA17TARDIF_DEF = FLAG_RETARD * MAJOCSAL17TARDIF_D;
+MAJOSATARDIF_DEF = somme(x = 07,08,17 : MAJOSAxTARDIF_DEF);
+MAJOGA07TARDIF_DEF = FLAG_RETARD * MAJOGAIN07TARDIF_D;
+
+MAJOGA08TARDIF_DEF = FLAG_RETARD * MAJOGAIN08TARDIF_D;
+MAJOGA17TARDIF_DEF = FLAG_RETARD * MAJOGAIN17TARDIF_D;
+MAJOGAINTARDIF_DEF = somme(x = 07,08,17 : MAJOGAxTARDIF_DEF);
+MAJOCDIS07TARD_DEF = FLAG_RETARD * MAJOCDIS07TARDIF_D;
+MAJOCDIS08TARD_DEF = FLAG_RETARD * MAJOCDIS08TARDIF_D;
+MAJOCDIS17TARD_DEF = FLAG_RETARD * MAJOCDIS17TARDIF_D;
+MAJOCDISTARDIF_DEF = somme(x = 07,08,17 : MAJOCDISxTARD_DEF);
+MAJORSE107TARD_DEF = FLAG_RETARD * MAJORSE107TARDIF_D;
+MAJORSE108TARD_DEF = FLAG_RETARD * MAJORSE108TARDIF_D;
+MAJORSE117TARD_DEF = FLAG_RETARD * MAJORSE117TARDIF_D;
+MAJORSE1TARDIF_DEF = somme(x = 07,08,17 : MAJORSE1xTARD_DEF);
+MAJORSE207TARD_DEF = FLAG_RETARD * MAJORSE207TARDIF_D;
+MAJORSE208TARD_DEF = FLAG_RETARD * MAJORSE208TARDIF_D;
+MAJORSE217TARD_DEF = FLAG_RETARD * MAJORSE217TARDIF_D;
+MAJORSE2TARDIF_DEF = somme(x = 07,08,17 : MAJORSE2xTARD_DEF);
+MAJORSE307TARD_DEF = FLAG_RETARD * MAJORSE307TARDIF_D;
+MAJORSE308TARD_DEF = FLAG_RETARD * MAJORSE308TARDIF_D;
+MAJORSE317TARD_DEF = FLAG_RETARD * MAJORSE317TARDIF_D;
+MAJORSE3TARDIF_DEF = somme(x = 07,08,17 : MAJORSE3xTARD_DEF);
+MAJORSE407TARD_DEF = FLAG_RETARD * MAJORSE407TARDIF_D;
+MAJORSE408TARD_DEF = FLAG_RETARD * MAJORSE408TARDIF_D;
+MAJORSE417TARD_DEF = FLAG_RETARD * MAJORSE417TARDIF_D;
+MAJORSE4TARDIF_DEF = somme(x = 07,08,17 : MAJORSE4xTARD_DEF);
+MAJOTA07TARDIF_DEF = FLAG_RETARD * MAJOTAXA07TARDIF_D;
+MAJOTA08TARDIF_DEF = FLAG_RETARD * MAJOTAXA08TARDIF_D;
+MAJOTA17_1TARD_DEF = FLAG_RETARD * MAJOTA17_1TARDIF_D; 
+MAJOTA17_2TARD_DEF = FLAG_RETARD * MAJOTA17_2TARDIF_D; 
+MAJOTAXATARDIF_DEF = somme(x = 07,08 : MAJOTA0xTARDIF_DEF)
+		+ MAJOTA17_1TARD_DEF + MAJOTA17_2TARD_DEF;
+MAJOHR07TARDIF_DEF = FLAG_RETARD * MAJOHR07TARDIF_D;
+MAJOHR08TARDIF_DEF = FLAG_RETARD * MAJOHR08TARDIF_D;
+MAJOHR17_1TARD_DEF = FLAG_RETARD * MAJOHR17_1TARDIF_D; 
+MAJOHR17_2TARD_DEF = FLAG_RETARD * MAJOHR17_2TARDIF_D; 
+MAJOHRTARDIF_DEF = somme(x = 07,08 : MAJOHR0xTARDIF_DEF)
+		+ MAJOHR17_1TARD_DEF + MAJOHR17_2TARD_DEF;
+MAJOCP07TARDIF_DEF = FLAG_RETARD * MAJOCAP07TARDIF_D;
+MAJOCP08TARDIF_DEF = FLAG_RETARD * MAJOCAP08TARDIF_D;
+MAJOCP17_1TARD_DEF = FLAG_RETARD * MAJOCP17_1TARDIF_D; 
+MAJOCP17_2TARD_DEF = FLAG_RETARD * MAJOCP17_2TARDIF_D; 
+MAJOCAPTARDIF_DEF = somme(x = 07,08 : MAJOCP0xTARDIF_DEF)
+		+ MAJOCP17_1TARD_DEF + MAJOCP17_2TARD_DEF;
+PROPIR_DEF = PROPIR;
+PROPCS_DEF = PROPCS;
+PROPPS_DEF = PROPPS;
+PROPRD_DEF = PROPRD;
+IRBASE_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) * IRBASE
+		+ (1 - positif(FLAG_TRTARDIF)) * IRBASE_REF;
+IRNINTARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * IRBASE
+		  + FLAG_TRTARDIF_R * SUPIR[00]
+                  + FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRBASE) 
+		    * (positif(FLAG_RECTIF) * min(SUPIR[2],IRBASE)
+		      + (1 - positif(FLAG_RECTIF)) * min(IRBASE,IRBASE_REF))
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRBASE))
+		      * (positif(FLAG_RECTIF) * min(SUPIR[00],IRBASE)
+                     + (1 - positif(FLAG_RECTIF)) * IRBASE_REF)
+		      )
+                  + (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+                            * (positif(FLAG_RECTIF) * SUPIR[00]
+                               + (1 - positif(FLAG_RECTIF)) * IRNINTARDIF_A)
+		  ));
+CSGTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * CSBASE
+		+ FLAG_TRTARDIF_R * SUPCS[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPCS[2],CSG)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCS[00],CSG)
+		   + (1 - positif(FLAG_RECTIF)) * CSGTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+		          * (positif(FLAG_RECTIF) * SUPCS[00]
+		            + (1 - positif(FLAG_RECTIF)) * CSGTARDIF_A)
+		    ));
+PRSTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * PSBASE
+		+ FLAG_TRTARDIF_R * SUPPS[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPPS[2],PRS)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPPS[00],PRS)
+		    + (1 - positif(FLAG_RECTIF)) * PRSTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPPS[00]
+			  + (1 - positif(FLAG_RECTIF)) * PRSTARDIF_A)
+		));
+RDSTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RDBASE
+		+ FLAG_TRTARDIF_R * SUPRD[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRD[2],RDSN)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRD[00],RDSN)
+		     + (1 - positif(FLAG_RECTIF)) * RDSTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRD[00]
+			  + (1 - positif(FLAG_RECTIF)) * RDSTARDIF_A)
+		));
+CSALTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * CSALBASE
+		+ FLAG_TRTARDIF_R * SUPCSAL[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPCSAL[2],CSAL)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCSAL[00],CSAL)
+		     + (1 - positif(FLAG_RECTIF)) * CSALTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPCSAL[00]
+			  + (1 - positif(FLAG_RECTIF)) * CSALTARDIF_A)
+		));
+CDISTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * CDISBASE
+		+ FLAG_TRTARDIF_R * SUPCDIS[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPCDIS[2],CDIS)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCDIS[00],CDIS)
+		     + (1 - positif(FLAG_RECTIF)) * CDISTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPCDIS[00]
+			  + (1 - positif(FLAG_RECTIF)) * CDISTARDIF_A)
+		));
+TAXATARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * TAXABASE_MAJO
+		+ FLAG_TRTARDIF_R * SUPTAXA[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(TAXATARDIF_A - TAXABASE_MAJO) * min(SUPTAXA[2],TAXASSUR)
+		    + (1 - positif(TARDIFEVT2) * positif(TAXATARDIF_A - TAXABASE_MAJO)) 
+		      * (positif(FLAG_RECTIF) * min(SUPTAXA[00],TAXASSUR)
+		    + (1 - positif(FLAG_RECTIF)) * TAXATARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPTAXA[00]
+			  + (1 - positif(FLAG_RECTIF)) * TAXATARDIF_A)
+		  ));
+GAINTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * GAINBASE
+		+ FLAG_TRTARDIF_R * SUPGAIN[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPGAIN[2],CGAINSAL)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPGAIN[00],CSAL)
+		     + (1 - positif(FLAG_RECTIF)) * GAINTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPGAIN[00]
+			  + (1 - positif(FLAG_RECTIF)) * GAINTARDIF_A)
+		));
+CAPTARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * CAPBASE_MAJO
+		+ FLAG_TRTARDIF_R * SUPCAP[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(CAPTARDIF_A - CAPBASE_MAJO) * min(SUPCAP[2],IPCAPTAXT)
+		    + (1 - positif(TARDIFEVT2) * positif(CAPTARDIF_A - CAPBASE_MAJO)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCAP[00], IPCAPTAXT)
+		    + (1 - positif(FLAG_RECTIF)) * CAPTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPCAP[00]
+			  + (1 - positif(FLAG_RECTIF)) * CAPTARDIF_A)
+		  ));
+HRTARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * HRBASE_MAJO
+		+ FLAG_TRTARDIF_R * SUPHR[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(HRTARDIF_A - HRBASE_MAJO) * min(SUPHR[2],IHAUTREVT)
+		    + (1 - positif(TARDIFEVT2) * positif(HRTARDIF_A - HRBASE_MAJO)) 
+		      * (positif(FLAG_RECTIF) * min(SUPHR[00],IHAUTREVT)
+		    + (1 - positif(FLAG_RECTIF)) * HRTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPHR[00]
+			  + (1 - positif(FLAG_RECTIF)) * HRTARDIF_A)
+		  ));
+RSE1TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE1BASE
+		+ FLAG_TRTARDIF_R * SUPRSE1[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE1[2],RSE1)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE1[00],RSE1)
+		     + (1 - positif(FLAG_RECTIF)) * RSE1TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE1[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE1TARDIF_A)
+		));
+RSE2TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE2BASE
+		+ FLAG_TRTARDIF_R * SUPRSE2[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE2[2],RSE2)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE2[00],RSE2)
+		     + (1 - positif(FLAG_RECTIF)) * RSE2TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE2[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE1TARDIF_A)
+		));
+RSE3TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE3BASE
+		+ FLAG_TRTARDIF_R * SUPRSE3[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE3[2],RSE3)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE3[00],RSE3)
+		     + (1 - positif(FLAG_RECTIF)) * RSE3TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE3[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE3TARDIF_A)
+		));
+RSE4TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE4BASE
+		+ FLAG_TRTARDIF_R * SUPRSE4[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE4[2],RSE4)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE4[00],RSE4)
+		     + (1 - positif(FLAG_RECTIF)) * RSE4TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE4[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE4TARDIF_A)
+		));
+IRNINMAJOP_DEF = max(IRNIN_MAJOP,IRNINMAJOP_A);
+CSGMAJOP_DEF = max(CSG_MAJOP,CSGMAJOP_A);
+RDSMAJOP_DEF =  max(RDS_MAJOP,RDSMAJOP_A);
+PRSMAJOP_DEF =  max(PRS_MAJOP,PRSMAJOP_A);
+regle corrective base_stratemajo 12000:
+application :  iliad ;
+
+
+MAJOISF07TARD_DEF = FLAG_RETARD * MAJOISF07TARDIF_D;
+MAJOISF08TARD_DEF = FLAG_RETARD * MAJOISF08TARDIF_D;
+MAJOISF17TARD_DEF = FLAG_RETARD * MAJOISF17TARDIF_D;
+MAJOISFTARDIF_DEF = somme(x = 07,08,17 : MAJOISFxTARD_DEF);
+
+ISFTARDIF_DEF = max(0,FLAG_RETARD *
+                (FLAG_TRTARDIF * ISF4BASE
+		+ FLAG_TRTARDIF_R * SUPISF[00]
+		+ FLAG_TRTARDIF_F *
+		(positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISFIN) * min(SUPISF[2],ISFNET)
+		+ (1 - positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISFIN))
+		* (positif(FLAG_RECTIF) * min(SUPISF[00],ISFNET)
+		+ (1 - positif(FLAG_RECTIF)) * ISFTARDIF_A)
+		)
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+		* (positif(FLAG_RECTIF) * SUPISF[00]
+		+ (1 - positif(FLAG_RECTIF)) * ISFTARDIF_A)
+		));
+
+ISFBASE_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) * ISF4BASE
+               + (1 - positif(FLAG_TRTARDIF)) * ISFBASE_REF;
+ISFINTARDIF_DEF = max(0,FLAG_RETARD *
+(FLAG_TRTARDIF * ISF4BASE
++ FLAG_TRTARDIF_R * SUPISF[00]
+ + FLAG_TRTARDIF_F *
+ (positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISF4BASE)
+ * (positif(FLAG_RECTIF) * min(SUPISF[2],ISF4BASE)
+ + (1 - positif(FLAG_RECTIF)) * min(ISF4BASE,ISFBASE_REF))
+ + (1 - positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISF4BASE))
+  * (positif(FLAG_RECTIF) * min(SUPISF[00],ISF4BASE)
+  + (1 - positif(FLAG_RECTIF)) * ISFBASE_REF)
+  )
+  + (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+  * (positif(FLAG_RECTIF) * SUPISF[00]
+  + (1 - positif(FLAG_RECTIF)) * ISFINTARDIF_A)
+    ));
+
+
+
+regle corrective base_stratemajo 121:
+application :  iliad ;
+pour x = 07,08,11,31:
+MAJOPIRx_DEF = max(MAJOIR_Px,MAJOPIRx_A);
+MAJOPIR10_1DEF = max(MAJOIR_P10_1,MAJOPIR10_1A);
+MAJOPIR10_2DEF = max(MAJOIR_P10_2,MAJOPIR10_2A);
+MAJOPIR17_1DEF = max(MAJOIR_P17_1,MAJOPIR17_1A);
+MAJOPIR17_2DEF = max(MAJOIR_P17_2,MAJOPIR17_2A);
+MAJOPIR_DEF = max(MAJOPIR_TOT,MAJOPIR_A);
+pour x = 07,08,10,11,17,31:
+MAJOPCSx_DEF = max(MAJOCS_Px,MAJOPCSx_A);
+MAJOPCS_DEF = max(MAJOPCS_TOT,MAJOPCS_A);
+pour x = 07,08,10,11,17,31:
+MAJOPRDx_DEF = max(MAJORD_Px,MAJOPRDx_A);
+MAJOPRD_DEF = max(MAJOPRD_TOT,MAJOPRD_A);
+pour x = 07,08,10,11,17,31:
+MAJOPPSx_DEF = max(MAJOPS_Px,MAJOPPSx_A);
+MAJOPPS_DEF = max(MAJOPPS_TOT,MAJOPPS_A);
+regle corrective base_stratemajo 122:
+application :  iliad ;
+MAJOIRST_DEF = MAJOIR_ST ;
+MAJOCSST_DEF = MAJOCS_ST;
+MAJORDST_DEF = MAJORD_ST;
+MAJOPSST_DEF = MAJOPS_ST;
+MAJOCSALST_DEF = MAJOCSAL_ST;
+MAJOCDISST_DEF = MAJOCDIS_ST;
+MAJOTAXAST_DEF = MAJOTAXA_ST;
+
+
+MAJOGAINST_DEF = MAJOGAIN_ST;
+MAJORSE1ST_DEF = MAJORSE1_ST;
+MAJORSE2ST_DEF = MAJORSE2_ST;
+MAJORSE3ST_DEF = MAJORSE3_ST;
+MAJORSE4ST_DEF = MAJORSE4_ST;
+MAJOCAPST_DEF = MAJOCAP_ST;
+MAJOHRST_DEF = MAJOHR_ST;
+TNAPCR[X] = NAPCRINR;
+
+TIRBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(IRBASE,TIRBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(IRBASE,IRNIN_P))
+            + (1 - null(X)) * max(IRBASE,TIRBASE[FLAG_DERSTTR]);
+TIRBASEDEF[X] = IRBASE;
+TCSBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CSBASE,TCSBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CSBASE,CSG_P))
+           + (1 - null(X)) * max(CSBASE,TCSBASE[FLAG_DERSTTR]);
+TRDBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RDBASE,TRDBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RDBASE,RDS_P))
+           + (1 - null(X)) * max(RDBASE,TRDBASE[FLAG_DERSTTR]);
+TPSBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(PSBASE,TPSBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(PSBASE,PRS_P))
+           + (1 - null(X)) * max(PSBASE,TPSBASE[FLAG_DERSTTR]);
+TCSALBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CSALBASE,TCSALBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CSALBASE,CSAL_P))
+           + (1 - null(X)) * max(CSALBASE,TCSALBASE[FLAG_DERSTTR]);
+TGAINBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(GAINBASE,TGAINBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(GAINBASE,GAIN_P))
+           + (1 - null(X)) * max(GAINBASE,TGAINBASE[FLAG_DERSTTR]);
+TCDISBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CDISBASE,TCDISBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CDISBASE,CDIS_P))
+           + (1 - null(X)) * max(CDISBASE,TCDISBASE[FLAG_DERSTTR]);
+TRSE1BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE1BASE,TRSE1BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE1BASE,RSE1_P))
+           + (1 - null(X)) * max(RSE1BASE,TRSE1BASE[FLAG_DERSTTR]);
+TRSE2BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE2BASE,TRSE2BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE2BASE,RSE2_P))
+           + (1 - null(X)) * max(RSE2BASE,TRSE2BASE[FLAG_DERSTTR]);
+TRSE3BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE3BASE,TRSE3BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE3BASE,RSE3_P))
+           + (1 - null(X)) * max(RSE3BASE,TRSE3BASE[FLAG_DERSTTR]);
+TRSE4BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE4BASE,TRSE4BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE4BASE,RSE4_P))
+           + (1 - null(X)) * max(RSE4BASE,TRSE4BASE[FLAG_DERSTTR]);
+TPCAPBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CAPBASE_MAJO,TPCAPBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CAPBASE_MAJO,PCAPBRUT_P))
+           + (1 - null(X)) * max(CAPBASE_MAJO,TPCAPBASE[FLAG_DERSTTR]);
+TPCAPBASEDEF[X] = CAPBASE_MAJO;
+TCHRBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(HRBASE_MAJO,TCHRBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(HRBASE_MAJO,CHRBRUT_P))
+           + (1 - null(X)) * max(HRBASE_MAJO,TCHRBASE[FLAG_DERSTTR]);
+TCHRBASEDEF[X] = HRBASE_MAJO;
+TTAXABASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(TAXABASE_MAJO,TTAXABASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(TAXABASE_MAJO,TAXABRUT_P))
+           + (1 - null(X)) * max(TAXABASE_MAJO,TTAXABASE[FLAG_DERSTTR]);
+TTAXABASEDEF[X] = TAXABASE_MAJO;
+MAJOIR01 = TMAJOIR[22] * STR_TR22
+	   + TMAJOIR[01] * null(CSTRATE1 - 1);
+MAJOIR02_1 = TMAJOIR[20] * STR_TR20 
+	   + TMAJOIR[01] * null(CSTRATE1 - 2);
+MAJOIR02_1_NTL = T2MAJOIR[17] * STR_TR17
+	   + T2MAJOIR[01] * null(CSTRATE1 - 2);
+MAJOIR02_2_NTL = T2MAJOIR[18] * STR_TR18 * (1 - positif(TIRBASE[18]-TIRBASE[20]) * positif(TIRBASE[20])) * (1 - IND_RJLJ)
+               + positif(TIRBASE[18] - TIRBASE[20]) * (1 - IND_RJLJ) * positif(TIRBASE[20])
+                * arr(max(0,(TIRBASE[18] - TIRBASE[0] - (TIRBASE[18] - TIRBASEDEF[20]))) * TX1758A/100) * STR_TR18
+               + T2MAJOIR[01] * null(CSTRATE1 - 2);
+MAJOIR02_1_TL = T2MAJOIR[19] * STR_TR19;
+MAJOIR02_2_TL = T2MAJOIR[20] * STR_TR20;
+MAJOIR02_2 = MAJOIR02_2_TL + MAJOIR02_2_NTL;
+MAJOIR03 = TMAJOIR[13] * STR_TR13 
+	   + TMAJOIR[01] * null(CSTRATE1 - 3);
+MAJOIR04 = TMAJOIR[08] * STR_TR08 
+	   + TMAJOIR[01] * null(CSTRATE1 - 4);
+MAJOIR05 = TMAJOIR[07] * STR_TR07 
+	   + TMAJOIR[01] * null(CSTRATE1 - 5);
+MAJOIR06 = TMAJOIR[03] * STR_TR03
+	   + TMAJOIR[01] * null(CSTRATE1 - 6);
+MAJOIR07 = TMAJOIR[16] * STR_TR16 
+	   + TMAJOIR[01] * null(CSTRATE1 - 7)
+	   + max(0,MAJOIR07TARDIF_DEF) ;
+MAJOIR08 = TMAJOIR[11] * STR_TR11 
+	   + TMAJOIR[01] * null(CSTRATE1 - 8)
+	   + max(0,MAJOIR08TARDIF_DEF) ;
+MAJOIR10_1 = TMAJOIR[14] * STR_TR14 
+	   + TMAJOIR[01] * null(CSTRATE1 - 10);
+MAJOIR10_2 = T2MAJOIR[14] * STR_TR14
+	   + T2MAJOIR[01] * null(CSTRATE1 - 10);
+MAJOIR11 = TMAJOIR[10] * STR_TR10 
+	   + TMAJOIR[01] * null(CSTRATE1 - 11);
+MAJOIR17_1 = TMAJOIR[15] * STR_TR15  
+	   + TMAJOIR[01] * null(CSTRATE1 - 17)
+	   + max(0,MAJOIR17_1TARD_DEF);
+MAJOIR17_2 = T2MAJOIR[15] * STR_TR15
+	   + T2MAJOIR[01] * null(CSTRATE1 - 17)
+	   + max(0,MAJOIR17_2TARD_DEF);
+MAJOIR22 = TMAJOIR[21] * STR_TR21 
+	   + TMAJOIR[01] * null(CSTRATE1 - 22);
+MAJOIR30 = TMAJOIR[09] * STR_TR09 
+	   + TMAJOIR[01] * null(CSTRATE1 - 30);
+MAJOIR31 = TMAJOIR[06] * STR_TR06 
+	   + TMAJOIR[01] * null(CSTRATE1 - 31);
+MAJOIR32 = TMAJOIR[05] * STR_TR05 
+	   + TMAJOIR[01] * null(CSTRATE1 - 32);
+MAJOIR55 = TMAJOIR[12] * STR_TR12
+	   + TMAJOIR[01] * null(CSTRATE1 - 55);
+MAJOIR99 = (TMAJOIR[00] * STR_TR00 
+	   + TMAJOIR[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99)) ;
+MAJOPS01 = TMAJOPS[22] * STR_TR22 
+	   + TMAJOPS[01] * null(CSTRATE1 - 1);
+MAJOPS02 = TMAJOPS[20] * STR_TR20 
+	   + TMAJOPS[01] * null(CSTRATE1 - 2);
+MAJOPS03 = TMAJOPS[13] * STR_TR13 
+	   + TMAJOPS[01] * null(CSTRATE1 - 3);
+MAJOPS04 = TMAJOPS[08] * STR_TR08 
+	   + TMAJOPS[01] * null(CSTRATE1 - 4);
+MAJOPS05 = TMAJOPS[07] * STR_TR07 
+	   + TMAJOPS[01] * null(CSTRATE1 - 5);
+MAJOPS06 = TMAJOPS[03] * STR_TR03
+	   + TMAJOPS[01] * null(CSTRATE1 - 6);
+MAJOPS07 = TMAJOPS[16] * STR_TR16 
+	   + TMAJOPS[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOPS07TARDIF_DEF) ;
+MAJOPS08 = TMAJOPS[11] * STR_TR11 
+	   + TMAJOPS[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOPS08TARDIF_DEF) ;
+MAJOPS10 = TMAJOPS[14] * STR_TR14 
+	   + TMAJOPS[01] * null(CSTRATE1 - 10);
+MAJOPS11 = TMAJOPS[10] * STR_TR10 
+	   + TMAJOPS[01] * null(CSTRATE1 - 11);
+MAJOPS17 = TMAJOPS[15] * STR_TR15 
+	   + TMAJOPS[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOPS17TARDIF_DEF) ;
+MAJOPS22 = TMAJOPS[21] * STR_TR21 
+	   + TMAJOPS[01] * null(CSTRATE1 - 22);
+MAJOPS30 = TMAJOPS[09] * STR_TR09 
+	   + TMAJOPS[01] * null(CSTRATE1 - 30);
+MAJOPS31 = TMAJOPS[06] * STR_TR06 
+	   + TMAJOPS[01] * null(CSTRATE1 - 31);
+MAJOPS55 = TMAJOPS[12] * STR_TR12 
+	   + TMAJOPS[01] * null(CSTRATE1 - 55);
+MAJOPS99 = (TMAJOPS[00] * STR_TR00 
+	   + TMAJOPS[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJOCS01 = TMAJOCS[22] * STR_TR22 
+	   + TMAJOCS[01] * null(CSTRATE1 - 1);
+MAJOCS02 = TMAJOCS[20] * STR_TR20 
+	   + TMAJOCS[01] * null(CSTRATE1 - 2);
+MAJOCS03 = TMAJOCS[13] * STR_TR13 
+	   + TMAJOCS[01] * null(CSTRATE1 - 3);
+MAJOCS04 = TMAJOCS[08] * STR_TR08 
+	   + TMAJOCS[01] * null(CSTRATE1 - 4);
+MAJOCS05 = TMAJOCS[07] * STR_TR07 
+	   + TMAJOCS[01] * null(CSTRATE1 - 5);
+MAJOCS06 = TMAJOCS[03] * STR_TR03
+	   + TMAJOCS[01] * null(CSTRATE1 - 6);
+MAJOCS07 = TMAJOCS[16] * STR_TR16 
+	   + TMAJOCS[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOCS07TARDIF_DEF) ;
+MAJOCS08 = TMAJOCS[11] * STR_TR11 
+	   + TMAJOCS[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOCS08TARDIF_DEF) ;
+MAJOCS10 = TMAJOCS[14] * STR_TR14 
+	   + TMAJOCS[01] * null(CSTRATE1 - 10);
+MAJOCS11 = TMAJOCS[10] * STR_TR10 
+	   + TMAJOCS[01] * null(CSTRATE1 - 11);
+MAJOCS17 = TMAJOCS[15] * STR_TR15 
+	   + TMAJOCS[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOCS17TARDIF_DEF) ;
+MAJOCS22 = TMAJOCS[21] * STR_TR21 
+	   + TMAJOCS[01] * null(CSTRATE1 - 22);
+MAJOCS30 = TMAJOCS[09] * STR_TR09 
+	   + TMAJOCS[01] * null(CSTRATE1 - 30);
+MAJOCS31 = TMAJOCS[06] * STR_TR06 
+	   + TMAJOCS[01] * null(CSTRATE1 - 31);
+MAJOCS32 = TMAJOCS[05] * STR_TR05 
+	   + TMAJOCS[01] * null(CSTRATE1 - 32);
+MAJOCS55 = TMAJOCS[12] * STR_TR12 
+	   + TMAJOCS[01] * null(CSTRATE1 - 55);
+MAJOCS99 = (TMAJOCS[00] * STR_TR00 
+	   + TMAJOCS[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJORD01 = TMAJORD[22] * STR_TR22 
+	   + TMAJORD[01] * null(CSTRATE1 - 1);
+MAJORD02 = TMAJORD[20] * STR_TR20 
+	   + TMAJORD[01] * null(CSTRATE1 - 2);
+MAJORD03 = TMAJORD[13] * STR_TR13 
+	   + TMAJORD[01] * null(CSTRATE1 - 3);
+MAJORD04 = TMAJORD[08] * STR_TR08 
+	   + TMAJORD[01] * null(CSTRATE1 - 4);
+MAJORD05 = TMAJORD[07] * STR_TR07 
+	   + TMAJORD[01] * null(CSTRATE1 - 5);
+MAJORD06 = TMAJORD[03] * STR_TR03
+	   + TMAJORD[01] * null(CSTRATE1 - 6);
+MAJORD07 = TMAJORD[16] * STR_TR16 
+	   + TMAJORD[01] * null(CSTRATE1 - 7)
+           + max(0,MAJORD07TARDIF_DEF) ;
+MAJORD08 = TMAJORD[11] * STR_TR11 
+	   + TMAJORD[01] * null(CSTRATE1 - 8)
+           + max(0,MAJORD08TARDIF_DEF) ;
+MAJORD10 = TMAJORD[14] * STR_TR14 
+	   + TMAJORD[01] * null(CSTRATE1 - 10);
+MAJORD11 = TMAJORD[10] * STR_TR10 
+	   + TMAJORD[01] * null(CSTRATE1 - 11);
+MAJORD17 = TMAJORD[15] * STR_TR15 
+	   + TMAJORD[01] * null(CSTRATE1 - 17)
+           + max(0,MAJORD17TARDIF_DEF) ;
+MAJORD22 = TMAJORD[21] * STR_TR21 
+	   + TMAJORD[01] * null(CSTRATE1 - 22);
+MAJORD30 = TMAJORD[09] * STR_TR09 
+	   + TMAJORD[01] * null(CSTRATE1 - 30);
+MAJORD31 = TMAJORD[06] * STR_TR06 
+	   + TMAJORD[01] * null(CSTRATE1 - 31);
+MAJORD32 = TMAJORD[05] * STR_TR05 
+	   + TMAJORD[01] * null(CSTRATE1 - 32);
+MAJORD55 = TMAJORD[12] * STR_TR12 
+	   + TMAJORD[01] * null(CSTRATE1 - 55);
+MAJORD99 = (TMAJORD[00] * STR_TR00 
+	   + TMAJORD[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJOCSAL01 = TMAJOCSAL[22] * STR_TR22 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 1);
+MAJOCSAL02 = TMAJOCSAL[20] * STR_TR20 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 2);
+MAJOCSAL03 = TMAJOCSAL[13] * STR_TR13 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 3);
+MAJOCSAL04 = TMAJOCSAL[08] * STR_TR08 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 4);
+MAJOCSAL05 = TMAJOCSAL[07] * STR_TR07 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 5);
+MAJOCSAL06 = TMAJOCSAL[03] * STR_TR03
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 6);
+MAJOCSAL07 = TMAJOCSAL[16] * STR_TR16 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOSA07TARDIF_DEF) ;
+MAJOCSAL08 = TMAJOCSAL[11] * STR_TR11 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOSA08TARDIF_DEF) ;
+MAJOCSAL10 = TMAJOCSAL[14] * STR_TR14 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 10);
+MAJOCSAL11 = TMAJOCSAL[10] * STR_TR10 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 11);
+MAJOCSAL17 = TMAJOCSAL[15] * STR_TR15 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOSA17TARDIF_DEF) ;
+MAJOCSAL22 = TMAJOCSAL[21] * STR_TR21 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 22);
+MAJOCSAL30 = TMAJOCSAL[09] * STR_TR09 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 30);
+MAJOCSAL31 = TMAJOCSAL[06] * STR_TR06 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 31);
+MAJOCSAL55 = TMAJOCSAL[12] * STR_TR12 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 55);
+MAJOCSAL99 = (TMAJOCSAL[00] * STR_TR00 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJOGAIN01 = TMAJOGAIN[22] * STR_TR22 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 1);
+MAJOGAIN02 = TMAJOGAIN[20] * STR_TR20 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 2);
+MAJOGAIN03 = TMAJOGAIN[13] * STR_TR13 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 3);
+MAJOGAIN04 = TMAJOGAIN[08] * STR_TR08 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 4);
+MAJOGAIN05 = TMAJOGAIN[07] * STR_TR07 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 5);
+MAJOGAIN06 = TMAJOGAIN[03] * STR_TR03
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 6);
+MAJOGAIN07 = TMAJOGAIN[16] * STR_TR16 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOGA07TARDIF_DEF) ;
+MAJOGAIN08 = TMAJOGAIN[11] * STR_TR11 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOGA08TARDIF_DEF) ;
+MAJOGAIN10 = TMAJOGAIN[14] * STR_TR14 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 10);
+MAJOGAIN11 = TMAJOGAIN[10] * STR_TR10 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 11);
+MAJOGAIN17 = TMAJOGAIN[15] * STR_TR15 
+	   + TMAJOCSAL[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOGA17TARDIF_DEF) ;
+MAJOGAIN22 = TMAJOGAIN[21] * STR_TR21 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 22);
+MAJOGAIN30 = TMAJOGAIN[09] * STR_TR09 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 30);
+MAJOGAIN31 = TMAJOGAIN[06] * STR_TR06 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 31);
+MAJOGAIN55 = TMAJOGAIN[12] * STR_TR12 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 55);
+MAJOGAIN99 = (TMAJOGAIN[00] * STR_TR00 
+	   + TMAJOGAIN[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJOCDIS01 = TMAJOCDIS[22] * STR_TR22 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 1);
+MAJOCDIS02 = TMAJOCDIS[20] * STR_TR20 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 2);
+MAJOCDIS03 = TMAJOCDIS[13] * STR_TR13 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 3);
+MAJOCDIS04 = TMAJOCDIS[08] * STR_TR08 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 4);
+MAJOCDIS05 = TMAJOCDIS[07] * STR_TR07 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 5);
+MAJOCDIS06 = TMAJOCDIS[03] * STR_TR03
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 6);
+MAJOCDIS07 = TMAJOCDIS[16] * STR_TR16 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOCDIS07TARD_DEF) ;
+MAJOCDIS08 = TMAJOCDIS[11] * STR_TR11 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOCDIS08TARD_DEF) ;
+MAJOCDIS10 = TMAJOCDIS[14] * STR_TR14 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 10);
+MAJOCDIS11 = TMAJOCDIS[10] * STR_TR10 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 11);
+MAJOCDIS17 = TMAJOCDIS[15] * STR_TR15 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOCDIS17TARD_DEF) ;
+MAJOCDIS22 = TMAJOCDIS[21] * STR_TR21 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 22);
+MAJOCDIS30 = TMAJOCDIS[09] * STR_TR09 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 30);
+MAJOCDIS31 = TMAJOCDIS[06] * STR_TR06 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 31);
+MAJOCDIS55 = TMAJOCDIS[12] * STR_TR12 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 55);
+MAJOCDIS99 = (TMAJOCDIS[00] * STR_TR00 
+	   + TMAJOCDIS[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJORSE101 = TMAJORSE1[22] * STR_TR22 
+	   + TMAJORSE1[01] * null(CSTRATE1 - 1);
+MAJORSE102 = TMAJORSE1[20] * STR_TR20 
+	   + TMAJORSE1[01] * null(CSTRATE1 - 2);
+MAJORSE103 = TMAJORSE1[13] * STR_TR13 
+	   + TMAJORSE1[01] * null(CSTRATE1 - 3);
+MAJORSE104 = TMAJORSE1[08] * STR_TR08 
+	   + TMAJORSE1[01] * null(CSTRATE1 - 4);
+MAJORSE105 = TMAJORSE1[07] * STR_TR07 
+	   + TMAJORSE1[01] * null(CSTRATE1 - 5);
+MAJORSE106 = TMAJORSE1[03] * STR_TR03
+	   + TMAJORSE1[01] * null(CSTRATE1 - 6);
+MAJORSE107 = TMAJORSE1[16] * STR_TR16 
+	   + TMAJORSE1[01] * null(CSTRATE1 - 7)
+           + max(0,MAJORSE107TARD_DEF) ;
+MAJORSE108 = TMAJORSE1[11] * STR_TR11 
+	   + TMAJORSE1[01] * null(CSTRATE1 - 8)
+           + max(0,MAJORSE108TARD_DEF) ;
+MAJORSE110 = TMAJORSE1[14] * STR_TR14 
+	   + TMAJORSE1[0
\ No newline at end of file
diff --git a/sources2012m_3_13/chap-cor.m b/sources2012m_3_13/chap-cor.m
new file mode 100644
index 0000000000000000000000000000000000000000..42717c555ffa2f131e8c6a12536dda79682becf3
--- /dev/null
+++ b/sources2012m_3_13/chap-cor.m
@@ -0,0 +1,392 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+regle  corrective base_INITIAL 1080:
+application :  iliad ;
+PRS_P = PRS;
+CSG_P = CSG;
+RDS_P = RDSN;
+IRNIN_P = IRN ;
+IRNIN_INR_P = IRNIN_INR;
+CSREC_P = CSREC;
+NAPCR_P = NAPCR;
+TAXA_P = TAXABASE ;
+CHR_P = CHRBASE ;
+TAXABRUT_P = TAXASSUR ;
+PCAPBRUT_P = IPCAPTAXT ;
+CHRBRUT_P = IHAUTREVT ;
+PCAP_P = PCAPBASE ;
+GAIN_P = GAINBASE ;
+RSE1_P = RSE1BASE ;
+RSE2_P = RSE2BASE ;
+RSE3_P = RSE3BASE ;
+RSE4_P = RSE4BASE ;
+CSAL_P = CSALBASE ;
+CDIS_P = CDISBASE ;
+VAR7WY_P = DEPCHOBAS;
+VAR7WZ_P = DEPMOBIL;
+ISF_P = ISF4BASE;
+regle corrective base_anterieure_cor 11:
+application :  iliad ;
+ANTINDIRPS = INDIRPS ;
+ANTPPETOT = PPETOT ;
+ANTPPEREST2A = PPEREST2A ;
+ANTPPEIMP2A = PPEIMP2A ;
+DIFF7WY_A = DIFF7WY ; 
+DIFF7WZ_A = DIFF7WZ ; 
+NATIMP_A = NATIMP ; 
+PCSG_A = PCSG;
+PRDS_A = PRDS;
+PIR_A = PIR;
+PTAXA_A=PTAXA;
+PCHR_A=PHAUTREV;
+PPCAP_A=PPCAP;
+PGAIN_A=PGAIN;
+PRSE1_A=PRSE1;
+PRSE2_A=PRSE2;
+PRSE3_A=PRSE3;
+PRSE4_A=PRSE4;
+PCSAL_A=PCSAL;
+PCDIS_A=PCDIS;
+PTOT_A = PTOT;
+PPRS_A = PPRS;
+RNI_A = RNI;
+IREST_A = IREST;
+IDEGR_A = IRDEG;
+IRN_A = IRN;
+IRNET_A = IRNET;
+TAXANET_A = TAXANET;
+TAXLOYNET_A = TAXLOYNET;
+CHRNET_A = HAUTREVNET;
+PCAPNET_A = PCAPNET;
+GAINNET_A = GAINNET;
+RSE1NET_A = RSE1NET;
+RSE2NET_A = RSE2NET;
+RSE3NET_A = RSE3NET;
+RSE4NET_A = RSE4NET;
+IDCSG_A = IDCSG;
+DCSGIM_A = DCSGIM;
+IRANT_A = IRANT;
+IRNIN_A = IRNIN;
+IRNIN_INR_A = IRNIN_INR;
+CSG_A = CSG*positif(CSG+PRS+RDSN+CSAL+CDIS+CGAINSAL+RSE1+RSE2+RSE3+RSE4-SEUIL_61);
+RDS_A = RDSN*positif(CSG+PRS+RDSN+CSAL+CDIS+CGAINSAL+RSE1+RSE2+RSE3+RSE4-SEUIL_61);
+PRS_A = PRS*positif(CSG+PRS+RDSN+CSAL+CDIS+CGAINSAL+RSE1+RSE2+RSE3+RSE4-SEUIL_61);
+CSAL_A = CSAL*positif(CSG+PRS+RDSN+CSAL+CDIS+CGAINSAL+RSE1+RSE2+RSE3+RSE4-SEUIL_61);
+CDIS_A = CDIS*positif(CSG+PRS+RDSN+CSAL+CDIS+CGAINSAL+RSE1+RSE2+RSE3+RSE4-SEUIL_61);
+GAINBASE_A = CGAINSAL*positif(CSG+PRS+RDSN+CSAL+CDIS+CGAINSAL+RSE1+RSE2+RSE3+RSE4-SEUIL_61);
+CICA_A = CICA;
+TAXABASE_A = TAXABASE;
+CHRBASE_A = CHRBASE;
+PCAPBASE_A = PCAPBASE;
+RSE1BASE_A = RSE1BASE;
+RSE2BASE_A = RSE2BASE;
+RSE3BASE_A = RSE3BASE;
+RSE4BASE_A = RSE4BASE;
+CSALBASE_A = CSALBASE;
+CDISBASE_A = CDISBASE;
+IRNIN_R99R_A = IRNIN_R99R+(IRNIN_PA)*null(1-IND_PASSAGE);
+IRNIN_R9901_A = IRNIN_R9901;
+CSG_R9901_A = CSG_R9901;
+RDS_R9901_A = RDS_R9901;
+PRS_R9901_A = PRS_R9901;
+CSAL_R9901_A = CSAL_R9901;
+CDIS_R9901_A = CDIS_R9901;
+TAXA_R9901_A = TAXA_R9901;
+CHR_R9901_A = CHR_R9901;
+PCAP_R9901_A = PCAP_R9901;
+GAIN_R9901_A = GAIN_R9901;
+RSE1_R9901_A = RSE1_R9901;
+RSE2_R9901_A = RSE2_R9901;
+RSE3_R9901_A = RSE3_R9901;
+RSE4_R9901_A = RSE4_R9901;
+CSG_R99R_A = CSG_R99R+CSG_PA*null(1-IND_PASSAGE);
+RDS_R99R_A = RDS_R99R+CRDS_PA*null(1-IND_PASSAGE);
+PRS_R99R_A = PRS_R99R+PRS_PA*null(1-IND_PASSAGE);
+CSAL_R99R_A = CSAL_R99R+CSAL_PA*null(1-IND_PASSAGE);
+CDIS_R99R_A = CDIS_R99R+CDIS_PA*null(1-IND_PASSAGE);
+TAXA_R99R_A = TAXA_R99R+TAXA_PA*null(1-IND_PASSAGE);
+CHR_R99R_A = CHR_R99R+CHR_PA*null(1-IND_PASSAGE);
+PCAP_R99R_A = PCAP_R99R+PCAP_PA*null(1-IND_PASSAGE);
+GAIN_R99R_A = GAIN_R99R+GAIN_PA*null(1-IND_PASSAGE);
+RSE1_R99R_A = RSE1_R99R+RSE1_PA*null(1-IND_PASSAGE);
+RSE2_R99R_A = RSE2_R99R+RSE2_PA*null(1-IND_PASSAGE);
+RSE3_R99R_A = RSE3_R99R+RSE3_PA*null(1-IND_PASSAGE);
+RSE4_R99R_A = RSE4_R99R+RSE4_PA*null(1-IND_PASSAGE);
+INRIR_R99R_A = INRIR_R99R+INRIR_R99RA;
+INRCSG_R99R_A = INRCSG_R99R+INRCSG_R99RA;
+INRCRDS_R99R_A = INRCRDS_R99R+INRCRDS_R99RA;
+INRPRS_R99R_A = INRPRS_R99R+INRPRS_R99RA;
+INRCSAL_R99R_A = INRCSAL_R99R+INRCSAL_R99RA;
+INRCDIS_R99R_A = INRCDIS_R99R+INRCDIS_R99RA;
+INRTAXA_R99R_A = INRTAXA_R99R+INRTAXA_R99RA;
+INRCHR_R99R_A = INRCHR_R99R+INRCHR_R99RA;
+INRPCAP_R99R_A = INRPCAP_R99R+INRPCAP_R99RA;
+INRGAIN_R99R_A = INRGAIN_R99R+INRGAIN_R99RA;
+INRRSE1_R99R_A = INRRSE1_R99R+INRRSE1_R99RA;
+INRRSE2_R99R_A = INRRSE2_R99R+INRRSE2_R99RA;
+INRRSE3_R99R_A = INRRSE3_R99R+INRRSE3_R99RA;
+INRRSE4_R99R_A = INRRSE4_R99R+INRRSE4_R99RA;
+INRIR_R9901_A = INRIR_R9901+INRIR_R9901A;
+INRCSG_R9901_A = INRCSG_R9901+INRCSG_R9901A;
+INRCRDS_R9901_A = INRCRDS_R9901+INRCRDS_R9901A;
+INRPRS_R9901_A = INRPRS_R9901+INRPRS_R9901A;
+INRCSAL_R9901_A = INRCSAL_R9901+INRCSAL_R9901A;
+INRCDIS_R9901_A = INRCDIS_R9901+INRCDIS_R9901A;
+INRTAXA_R9901_A = INRTAXA_R9901+INRTAXA_R9901A;
+INRCHR_R9901_A = INRCHR_R9901+INRCHR_R9901A;
+INRPCAP_R9901_A = INRPCAP_R9901+INRPCAP_R9901A;
+INRGAIN_R9901_A = INRGAIN_R9901+INRGAIN_R9901A;
+INRRSE1_R9901_A = INRRSE1_R9901+INRRSE1_R9901A;
+INRRSE2_R9901_A = INRRSE2_R9901+INRRSE2_R9901A;
+INRRSE3_R9901_A = INRRSE3_R9901+INRRSE3_R9901A;
+INRRSE4_R9901_A = INRRSE4_R9901+INRRSE4_R9901A;
+IAR_A = IAR;
+NAPIR_A=NAPIR;
+
+IND_PASSAGE_A = IND_PASSAGE;
+IND_PASSR9901_A = IND_PASSR9901;
+IRNIN_RECT_A = IRNIN_RECT;
+INRIR_RECT_A = INRIR_RECT;
+
+IRNIN_REF_A = max(IRNIN_INR,IRNIN_P+IRNIN_PA)*positif(DO_INR_IR2)
+	     + (IRNIN_REF * (1-positif(INDFLAGCIR)) + IRNIN_R * positif(INDFLAGCIR))
+            * (1-positif(DO_INR_IR2));
+CSG_REF_A = max(CSG,CSG_P+CSG_PA)*positif(DO_INR_CSG2)
+	   + CSG_REF * (1-positif(INDFLAGCCSG)) + CSG_R * positif(INDFLAGCCSG);
+RDS_REF_A = max(RDSN,RDS_P+CRDS_PA)*positif(DO_INR_CRDS2)
+            + RDS_REF * (1-positif(INDFLAGCRDS)) + RDS_R * positif(INDFLAGCRDS);
+PRS_REF_A = max(PRS,PRS_P+PRS_PA)*positif(DO_INR_PS2)
+            + PRS_REF * (1-positif(INDFLAGCPRS)) + PRS_R * positif(INDFLAGCPRS);
+CSAL_REF_A = max(CSAL,CSAL_P+CSAL_PA)*positif(DO_INR_CSAL2)
+            + CSAL_REF * (1-positif(INDFLAGCCSAL)) + CSAL_R * positif(INDFLAGCCSAL);
+CDIS_REF_A = max(CDIS,CDIS_P+CDIS_PA)*positif(DO_INR_CDIS2)
+            + CDIS_REF * (1-positif(INDFLAGCCDIS)) + CDIS_R * positif(INDFLAGCCDIS);
+TAXA_REF_A = max(TAXABASE,TAXA_P+TAXA_PA)*positif(DO_INR_TAXA2)
+            + TAXA_REF * (1-positif(INDFLAGCTAXA)) + TAXA_R * positif(INDFLAGCTAXA);
+CHR_REF_A = max(CHRBASE,CHR_P+CHR_PA)*positif(DO_INR_CHR2)
+            + CHR_REF * (1-positif(INDFLAGCCHR)) + CHR_R * positif(INDFLAGCCHR);
+PCAP_REF_A = max(PCAPBASE,PCAP_P+PCAP_PA)*positif(DO_INR_PCAP2)
+            + PCAP_REF * (1-positif(INDFLAGCPCAP)) + PCAP_R * positif(INDFLAGCPCAP);
+GAIN_REF_A = max(GAINBASE,GAIN_P+GAIN_PA)*positif(DO_INR_GAIN2)
+            + GAIN_REF * (1-positif(INDFLAGCGAIN)) + GAIN_R * positif(INDFLAGCGAIN);
+RSE1_REF_A = max(RSE1BASE,RSE1_P+RSE1_PA)*positif(DO_INR_RSE12)
+            + RSE1_REF * (1-positif(INDFLAGCRSE1)) + RSE1_R * positif(INDFLAGCRSE1);
+RSE2_REF_A = max(RSE2BASE,RSE2_P+RSE2_PA)*positif(DO_INR_RSE22)
+            + RSE2_REF * (1-positif(INDFLAGCRSE2)) + RSE2_R * positif(INDFLAGCRSE2);
+RSE3_REF_A = max(RSE3BASE,RSE3_P+RSE3_PA)*positif(DO_INR_RSE32)
+            + RSE3_REF * (1-positif(INDFLAGCRSE3)) + RSE3_R * positif(INDFLAGCRSE3);
+RSE4_REF_A = max(RSE4BASE,RSE4_P+RSE4_PA)*positif(DO_INR_RSE42)
+            + RSE4_REF * (1-positif(INDFLAGCRSE4)) + RSE4_R * positif(INDFLAGCRSE4);
+
+IRNIN_PA_A = IRNIN_PA;
+CSG_PA_A = CSG_PA;
+CRDS_PA_A = CRDS_PA;
+PRS_PA_A = PRS_PA;
+CSAL_PA_A = CSAL_PA;
+CDIS_PA_A = CDIS_PA;
+TAXA_PA_A = TAXA_PA;
+CHR_PA_A = CHR_PA;
+PCAP_PA_A = PCAP_PA;
+GAIN_PA_A = GAIN_PA;
+RSE1_PA_A = RSE1_PA;
+RSE2_PA_A = RSE2_PA;
+RSE3_PA_A = RSE3_PA;
+RSE4_PA_A = RSE4_PA;
+
+
+DO_INR_IR_A = DO_INR_IR + DO_INR_IRC;
+DO_IR_A = DO_IR;
+DO_INR_CSG_A = DO_INR_CSG+ DO_INR_CSGC;
+DO_CSG_A = DO_CSG;
+DO_INR_CRDS_A = DO_INR_CRDS+ DO_INR_CRDSC;
+DO_CRDS_A = DO_CRDS;
+DO_INR_PS_A = DO_INR_PS+ DO_INR_PSC;
+DO_PS_A = DO_PS;
+DO_INR_CSAL_A = DO_INR_CSAL+ DO_INR_CSALC;
+DO_CSAL_A = DO_CSAL;
+DO_INR_CDIS_A = DO_INR_CDIS+ DO_INR_CDISC;
+DO_CDIS_A = DO_CDIS;
+DO_INR_TAXA_A = DO_INR_TAXAGA+ DO_INR_TAXAC;
+DO_TAXA_A = DO_TAXA;
+DO_INR_CHR_A = DO_INR_CHR+ DO_INR_CHRC;
+DO_CHR_A = DO_CHR;
+DO_INR_PCAP_A = DO_INR_PCAP+ DO_INR_PCAPC;
+DO_PCAP_A = DO_PCAP;
+DO_INR_GAIN_A = DO_INR_GAIN+ DO_INR_GAINC;
+DO_GAIN_A = DO_GAIN;
+DO_INR_RSE1_A = DO_INR_RSE1+ DO_INR_RSE1C;
+DO_RSE1_A = DO_RSE1;
+DO_INR_RSE2_A = DO_INR_RSE2+ DO_INR_RSE2C;
+DO_RSE2_A = DO_RSE2;
+DO_INR_RSE3_A = DO_INR_RSE3+ DO_INR_RSE3C;
+DO_RSE3_A = DO_RSE3;
+DO_INR_RSE4_A = DO_INR_RSE4+ DO_INR_RSE4C;
+DO_RSE4_A = DO_RSE4;
+
+INRIR_NTL_A= INRIR_NTLDEC+INRIR_NTLADEC;
+INRCSG_NTL_A=INRCSG_NTLDEC+INRCSG_NTLADEC;
+INRCRDS_NTL_A=INRCRDS_NTLDEC+INRCRDS_NTLADEC;
+INRPRS_NTL_A=INRPRS_NTLDEC+INRPS_NTLADEC;
+INRCSAL_NTL_A=INRCSAL_NTLDEC+INRCSAL_NTLADEC;
+INRCDIS_NTL_A=INRCDIS_NTLDEC+INRCDIS_NTLADEC;
+INRTAXA_NTL_A=INRTAXA_NTLDEC+INRTAXA_NTLADEC;
+INRCHR_NTL_A=INRCHR_NTLDEC+INRCHR_NTLADEC;
+INRPCAP_NTL_A=INRPCAP_NTLDEC+INRPCAP_NTLADEC;
+INRGAIN_NTL_A=INRGAIN_NTLDEC+INRGAIN_NTLADEC;
+INRRSE1_NTL_A=INRRSE1_NTLDEC+INRRSE1_NTLADEC;
+INRRSE2_NTL_A=INRRSE2_NTLDEC+INRRSE2_NTLADEC;
+INRRSE3_NTL_A=INRRSE3_NTLDEC+INRRSE3_NTLADEC;
+INRRSE4_NTL_A=INRRSE4_NTLDEC+INRRSE4_NTLADEC;
+INRIR_NTL_1_A= INRIR_NTLDEC_1+INRIR_NTLADEC_1;
+INRCSG_NTL_1_A=INRCSG_NTLDEC_1+INRCSG_NTLADEC_1;
+INRCRDS_NTL_1_A=INRCRDS_NTLDEC_1+INRCRDS_NTLADEC_1;
+INRPRS_NTL_1_A=INRPRS_NTLDEC_1+INRPS_NTLADEC_1;
+INRCSAL_NTL_1_A=INRCSAL_NTLDEC_1+INRCSAL_NTLADEC_1;
+INRCDIS_NTL_1_A=INRCDIS_NTLDEC_1+INRCDIS_NTLADEC_1;
+INRTAXA_NTL_1_A=INRTAXA_NTLDEC_1+INRTAXA_NTLADEC_1;
+INRCHR_NTL_1_A=INRCHR_NTLDEC_1+INRCHR_NTLADEC_1;
+INRPCAP_NTL_1_A=INRPCAP_NTLDEC_1+INRPCAP_NTLADEC_1;
+INRGAIN_NTL_1_A=INRGAIN_NTLDEC_1+INRGAIN_NTLADEC_1;
+INRRSE1_NTL_1_A=INRRSE1_NTLDEC_1+INRRSE1_NTLADEC_1;
+INRRSE2_NTL_1_A=INRRSE2_NTLDEC_1+INRRSE2_NTLADEC_1;
+INRRSE3_NTL_1_A=INRRSE3_NTLDEC_1+INRRSE3_NTLADEC_1;
+INRRSE4_NTL_1_A=INRRSE4_NTLDEC_1+INRRSE4_NTLADEC_1;
+
+INRIR_TL_1_A=INRIR_TLADEC_12+max(0,INRIR_TL_1_AD-arr(DO_INR_IR*INRIR_TL_1_AD/(INRIR_TL_1_AD+INRIR_TL_AD)));
+INRCSG_TL_1_A=INRCSG_TLADEC_12+max(0,INRCSG_TL_1_AD-arr(DO_INR_CSG*INRCSG_TL_1_AD/(INRCSG_TL_AD+INRCSG_TL_1_AD)));
+INRPRS_TL_1_A=INRPRS_TLADEC_12+max(0,INRPRS_TL_1_AD-arr(DO_INR_PS*INRPRS_TL_1_AD/(INRPRS_TL_AD+INRPRS_TL_1_AD)));
+INRCRDS_TL_1_A=INRCRDS_TLADEC_12+max(0,INRCRDS_TL_1_AD-arr(DO_INR_CRDS*INRCRDS_TL_1_AD/(INRCRDS_TL_AD+INRCRDS_TL_1_AD)));
+INRCSAL_TL_1_A=INRCSAL_TLADEC_12+max(0,INRCSAL_TL_1_AD-arr(DO_INR_CSAL*INRCSAL_TL_1_AD/(INRCSAL_TL_AD+INRCSAL_TL_1_AD)));
+INRCDIS_TL_1_A=INRCDIS_TLADEC_12+max(0,INRCDIS_TL_1_AD-arr(DO_INR_CDIS*INRCDIS_TL_1_AD/(INRCDIS_TL_AD+INRCDIS_TL_1_AD)));
+INRTAXA_TL_1_A=INRTAXA_TLADEC_12+max(0,INRTAXA_TL_1_AD -arr(DO_INR_TAXAGA*INRTAXA_TL_1_AD/(INRTAXA_TL_AD+INRTAXA_TL_1_AD)));
+INRCHR_TL_1_A=INRCHR_TLADEC_12+max(0,INRCHR_TL_1_AD -arr(DO_INR_CHR*INRCHR_TL_1_AD/(INRCHR_TL_AD+INRCHR_TL_1_AD)));
+INRPCAP_TL_1_A=INRPCAP_TLADEC_12+max(0,INRPCAP_TL_1_AD -arr(DO_INR_PCAP*INRPCAP_TL_1_AD/(INRPCAP_TL_AD+INRPCAP_TL_1_AD)));
+INRGAIN_TL_1_A=INRGAIN_TLADEC_12+max(0,INRGAIN_TL_1_AD -arr(DO_INR_GAIN*INRGAIN_TL_1_AD/(INRGAIN_TL_AD+INRGAIN_TL_1_AD)));
+INRRSE1_TL_1_A=INRRSE1_TLADEC_12+max(0,INRRSE1_TL_1_AD -arr(DO_INR_RSE1*INRRSE1_TL_1_AD/(INRRSE1_TL_AD+INRRSE1_TL_1_AD)));
+INRRSE2_TL_1_A=INRRSE2_TLADEC_12+max(0,INRRSE2_TL_1_AD -arr(DO_INR_RSE2*INRRSE2_TL_1_AD/(INRRSE2_TL_AD+INRRSE2_TL_1_AD)));
+INRRSE3_TL_1_A=INRRSE3_TLADEC_12+max(0,INRRSE3_TL_1_AD -arr(DO_INR_RSE3*INRRSE3_TL_1_AD/(INRRSE3_TL_AD+INRRSE3_TL_1_AD)));
+INRRSE4_TL_1_A=INRRSE4_TLADEC_12+max(0,INRRSE4_TL_1_AD -arr(DO_INR_RSE4*INRRSE4_TL_1_AD/(INRRSE4_TL_AD+INRRSE4_TL_1_AD)));
+
+INRIR_TL_A=INRIR_TLADEC+max(0,INRIR_TL_AD-arr(DO_INR_IR*INRIR_TL_AD/(INRIR_TL_AD+INRIR_TL_1_AD)));
+INRCSG_TL_A=INRCSG_TLADEC+max(0,INRCSG_TL_AD -arr(DO_INR_CSG*INRCSG_TL_AD/(INRCSG_TL_AD+INRCSG_TL_1_AD)));
+INRPRS_TL_A=INRPRS_TLADEC+max(0,INRPRS_TL_AD -arr(DO_INR_PS*INRPRS_TL_AD/(INRPRS_TL_AD+INRPRS_TL_1_AD)));
+INRCRDS_TL_A=INRCRDS_TLADEC+max(0,INRCRDS_TL_AD -arr(DO_INR_CRDS*INRCRDS_TL_AD/(INRCRDS_TL_AD+INRCRDS_TL_1_AD)));
+INRCSAL_TL_A=INRCSAL_TLADEC+max(0,INRCSAL_TL_AD -arr(DO_INR_CSAL*INRCSAL_TL_AD/(INRCSAL_TL_AD+INRCSAL_TL_1_AD)));
+INRCDIS_TL_A=INRCDIS_TLADEC+max(0,INRCDIS_TL_AD -arr(DO_INR_CDIS*INRCDIS_TL_AD/(INRCDIS_TL_AD+INRCDIS_TL_1_AD)));
+INRTAXA_TL_A=INRTAXA_TLADEC+max(0,INRTAXA_TL_AD-arr(DO_INR_TAXAGA*INRTAXA_TL_AD/(INRTAXA_TL_AD+INRTAXA_TL_1_AD)));
+INRCHR_TL_A=INRCHR_TLADEC+max(0,INRCHR_TL_AD-arr(DO_INR_CHR*INRCHR_TL_AD/(INRCHR_TL_AD+INRCHR_TL_1_AD)));
+INRPCAP_TL_A=INRPCAP_TLADEC+max(0,INRPCAP_TL_AD-arr(DO_INR_PCAP*INRPCAP_TL_AD/(INRPCAP_TL_AD+INRPCAP_TL_1_AD)));
+INRGAIN_TL_A=INRGAIN_TLADEC+max(0,INRGAIN_TL_AD-arr(DO_INR_GAIN*INRGAIN_TL_AD/(INRGAIN_TL_AD+INRGAIN_TL_1_AD)));
+INRRSE1_TL_A=INRRSE1_TLADEC+max(0,INRRSE1_TL_AD-arr(DO_INR_RSE1*INRRSE1_TL_AD/(INRRSE1_TL_AD+INRRSE1_TL_1_AD)));
+INRRSE2_TL_A=INRRSE2_TLADEC+max(0,INRRSE2_TL_AD-arr(DO_INR_RSE2*INRRSE2_TL_AD/(INRRSE2_TL_AD+INRRSE2_TL_1_AD)));
+INRRSE3_TL_A=INRRSE3_TLADEC+max(0,INRRSE3_TL_AD-arr(DO_INR_RSE3*INRRSE3_TL_AD/(INRRSE3_TL_AD+INRRSE3_TL_1_AD)));
+INRRSE4_TL_A=INRRSE4_TLADEC+max(0,INRRSE4_TL_AD-arr(DO_INR_RSE4*INRRSE4_TL_AD/(INRRSE4_TL_AD+INRRSE4_TL_1_AD)));
+TL_IR_A=TL_IR;
+TL_CS_A=TL_CS;
+TL_CSAL_A=TL_CSAL;
+TL_CDIS_A=TL_CDIS;
+TL_TAXAGA_A=TL_TAXAGA;
+TL_CHR_A=TL_CHR;
+TL_CAP_A=TL_CAP;
+TL_GAIN_A=TL_GAIN;
+TL_RSE1_A=TL_RSE1;
+TL_RSE2_A=TL_RSE2;
+TL_RSE3_A=TL_RSE3;
+TL_RSE4_A=TL_RSE4;
+
+INRIR_RETDEF_A = INRIR_RETDEF;
+INRCSG_RETDEF_A = INRCSG_RETDEF;
+INRCRDS_RETDEF_A = INRCRDS_RETDEF;
+INRPRS_RETDEF_A = INRPRS_RETDEF;
+INRCSAL_RETDEF_A = INRCSAL_RETDEF;
+INRCDIS_RETDEF_A = INRCDIS_RETDEF;
+INRTAXA_RETDEF_A = INRTAXA_RETDEF;
+INRCHR_RETDEF_A = INRCHR_RETDEF;
+INRPCAP_RETDEF_A = INRPCAP_RETDEF;
+INRGAIN_RETDEF_A = INRGAIN_RETDEF;
+INRRSE1_RETDEF_A = INRRSE1_RETDEF;
+INRRSE2_RETDEF_A = INRRSE2_RETDEF;
+INRRSE3_RETDEF_A = INRRSE3_RETDEF;
+INRRSE4_RETDEF_A = INRRSE4_RETDEF;
+
+
+INR_IR_TARDIF_A=INR_IR_TARDIF;
+INR_CSG_TARDIF_A=INR_CSG_TARDIF;
+INR_CRDS_TARDIF_A=INR_CRDS_TARDIF;
+INR_CSAL_TARDIF_A=INR_CSAL_TARDIF;
+INR_CDIS_TARDIF_A=INR_CDIS_TARDIF;
+INR_PS_TARDIF_A=INR_PS_TARDIF;
+INR_TAXA_TARDIF_A=INR_TAXAGA_TARDIF;
+INR_CHR_TARDIF_A=INR_CHR_TARDIF;
+INR_PCAP_TARDIF_A=INR_PCAP_TARDIF;
+INR_GAIN_TARDIF_A=INR_GAIN_TARDIF;
+INR_RSE1_TARDIF_A=INR_RSE1_TARDIF;
+INR_RSE2_TARDIF_A=INR_RSE2_TARDIF;
+INR_RSE3_TARDIF_A=INR_RSE3_TARDIF;
+INR_RSE4_TARDIF_A=INR_RSE4_TARDIF;
+INCIR_NET_A=INCIR_NET;
+INCCS_NET_A=INCCS_NET;
+INCPS_NET_A=INCPS_NET;
+INCCSAL_NET_A=INCCSAL_NET;
+INCCDIS_NET_A=INCCDIS_NET;
+INCRD_NET_A=INCRD_NET;
+INCTAXA_NET_A=INCTAXA_NET;
+INCCHR_NET_A=INCCHR_NET;
+INCPCAP_NET_A=INCPCAP_NET;
+INCGAIN_NET_A=INCGAIN_NET;
+INCRSE1_NET_A=INCRSE1_NET;
+INCRSE2_NET_A=INCRSE2_NET;
+INCRSE3_NET_A=INCRSE3_NET;
+INCRSE4_NET_A=INCRSE4_NET;
+
+TXINR_A=TXINR;
+TXINRRED_A=TXINRRED;
+TXINRREDISF_A=TXINRREDISF;
+TXINR_PA_A = TXINR_PA;
+TXINRISF_PA_A = TXINRISF_PA;
+TINR_A=TINR;
+TXINRISF_A=TXINRISF;
+RETXISF_A=RETXISF;
+TINR_1_A=TINR_1;
+NBREMOISCS2_A=NBREMOISCS2;
+NBREMOISCS222_A=NBREMOISCS222;
+NBREMOIS2_A=NBREMOIS2;
+NBREMOIS222_A=NBREMOIS222;
+NBREMOIS2ISF_A=NBREMOIS2ISF;
+NBREMOIS222ISF_A=NBREMOIS222ISF;
+INDACOINR_A=present(ACODELAISINR);
+PISF_A=PISF;
+ISFNET_A = ISFNET;
+ISF4BASE_A = ISF4BASE;
+ISF_R9901_A = ISF_R9901;
+ISF_R99R_A = ISF_R99R+ISF_PA*null(1-IND_PASSAGE);
+INRISF_R99R_A = INRISF_R99R+INRISF_R99RA;
+INRISF_R9901_A = INRISF_R9901+INRISF_R9901A;
+ISF_REF_A = max(ISF4BASE,ISF_P+ISF_PA)*positif(DO_INR_ISF2)
+             + ISF_REF * (1-positif(INDFLAGCISF)) + ISF_R * positif(INDFLAGCISF);
+ISF_PA_A = ISF_PA;
+DO_INR_ISF_A = DO_INR_ISF+ DO_INR_ISFC;
+DO_ISF_A = DO_ISF;
+INRISF_NTL_A=INRISF_NTLDEC+INRISF_NTLADEC;
+INRISF_RETDEF_A = INRISF_RETDEF;
+INR_ISF_TARDIF_A=INR_ISF_TARDIF;
+INCISF_NET_A=INCISF_NET;
diff --git a/sources2012m_3_13/chap-ctl.m b/sources2012m_3_13/chap-ctl.m
new file mode 100644
index 0000000000000000000000000000000000000000..f2406b7faa5b399e7fcb59cd992ebd51d3d3fb6f
--- /dev/null
+++ b/sources2012m_3_13/chap-ctl.m
@@ -0,0 +1,117 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle corrective base_tl_init 1202:
+application :  iliad ;
+
+
+TL_MF = IND_TL_MF;
+RNI_INIT = RNI ;
+ETR_INIT = IPMOND + IPTXMO ;
+EFF_INIT = AUTOBICVV + AUTOBICPV + AUTOBNCV + XHONOAAV + XHONOV
+	   + AUTOBICVC + AUTOBICPC + AUTOBNCC + XHONOAAC + XHONOC
+	   + AUTOBICVP + AUTOBICPP + AUTOBNCP + XHONOAAP + XHONOP
+	   + IPMOND + IPTXMO ;
+PVQ_INIT = TTPVQ ;
+PV_INIT  = BPTP3 + BPTP2 + BPTP4 + BPTP40 + BPTP18 + BPTPD + BPTPG + BPTP5 + BPTP19 + BPTPDIV ;
+RI_INIT  = (REDTL + CIMPTL) * (1-V_CNR) ;
+CRDS_INIT = BCSG ;
+BRDS_INIT = BRDS ;
+BPRS_INIT = BPRS ;
+TAXAGA_INIT = BASSURV + BASSURC ;
+PCAP_INIT = BPCAPTAXV + BPCAPTAXC ;
+LOY_INIT = LOYELEV ;
+CHR_INIT  = REVKIREHR + (RFRH2 + RFRH1) * positif(HRCONDTHEO) ;
+CSAL_INIT = BPVOPTCSV + BPVOPTCSC ; 
+GAIN_INIT = GAINSALAV + GAINSALAC ;
+CVN_INIT = CVNSALAV + CVNSALAC + GLDGRATV + GLDGRATC ;
+CDIS_INIT = GSALV + GSALC ;
+GLO_INIT = GLDGRATV + GLDGRATC ;
+RSE1_INIT = BRSE1 ;
+RSE2_INIT = BRSE2 ;
+RSE3_INIT = BRSE3 ;
+RSE4_INIT = BRSE4 ;
+RSE5_INIT = BRSE5 ;
+
+regle corrective  base_tl 1204:
+application :  iliad ;
+
+
+RNI_TL = RNI ;
+ETR_TL = IPMOND + IPTXMO ;
+EFF_TL = AUTOBICVV + AUTOBICPV + AUTOBNCV + XHONOAAV + XHONOV
+	 + AUTOBICVC + AUTOBICPC + AUTOBNCC + XHONOAAC + XHONOC
+	 + AUTOBICVP + AUTOBICPP + AUTOBNCP + XHONOAAP + XHONOP
+	 + IPMOND + IPTXMO ;
+PVQ_TL = TTPVQ ;
+PV_TL  = BPTP3 + BPTP2 + BPTP4 + BPTP40 + BPTP18 + BPTPD + BPTPG + BPTP5 + BPTP19 + BPTPDIV ;
+RI_TL  = (REDTL + CIMPTL) * (1 - V_CNR) ;
+RDS_TL  = BCSG ;
+BRDS_TL = BRDS ;
+BPRS_TL = BPRS ;
+TAXAGA_TL = BASSURV + BASSURC ;
+PCAP_TL = BPCAPTAXV + BPCAPTAXC ;
+LOYA_TL = LOYELEV ;
+CHR_TL  = REVKIREHR + (RFRH2 + RFRH1) * positif(HRCONDTHEO) ;
+CSALA_TL = BPVOPTCSV + BPVOPTCSC ; 
+GAINA_TL = GAINSALAV + GAINSALAC ;
+CVNA_TL = CVNSALAV + CVNSALAC + GLDGRATV + GLDGRATC ;
+CDISA_TL = GSALV + GSALC;
+GLOA_TL = GLDGRATV + GLDGRATC ;
+RSE1A_TL = BRSE1 ;
+RSE2A_TL = BRSE2 ;
+RSE3A_TL = BRSE3 ;
+RSE4A_TL = BRSE4 ;
+RSE5A_TL = BRSE5 ;
+
+regle corrective base_tl_rect 1206:
+application :  iliad ;
+
+
+RNI_RECT = RNI ;
+ETR_RECT = IPMOND + IPTXMO ;
+EFF_RECT = AUTOBICVV + AUTOBICPV + AUTOBNCV + XHONOAAV + XHONOV
+	   + AUTOBICVC + AUTOBICPC + AUTOBNCC + XHONOAAC + XHONOC
+	   + AUTOBICVP + AUTOBICPP + AUTOBNCP + XHONOAAP + XHONOP
+	   + IPMOND + IPTXMO ;
+PVQ_RECT = TTPVQ ;
+PV_RECT  = BPTP3 + BPTP2 + BPTP4 + BPTP40 + BPTP18 + BPTPD + BPTPG + BPTP5 + BPTP19 + BPTPDIV ;
+RI_RECT  = RI_INIT - (REDTL + CIMPTL) * (1-V_CNR) ;
+CRDS_RECT = BCSG ;
+BRDS_RECT = BRDS ;
+BPRS_RECT = BPRS ;
+TAXAGA_RECT = BASSURV + BASSURC ;
+PCAP_RECT = BPCAPTAXV + BPCAPTAXC ;
+LOY_RECT = LOYELEV ;
+CHR_RECT  = REVKIREHR + (RFRH2 + RFRH1) * positif(HRCONDTHEO) ;
+CSAL_RECT = BPVOPTCSV + BPVOPTCSC ; 
+GAIN_RECT = GAINSALAV + GAINSALAC ;
+CVN_RECT = CVNSALAV + CVNSALAC + GLDGRATV + GLDGRATC ;
+CDIS_RECT = GSALV + GSALC ;
+GLO_RECT = GLDGRATV + GLDGRATC ;
+RSE1_RECT = BRSE1 ;
+RSE2_RECT = BRSE2 ;
+RSE3_RECT = BRSE3 ;
+RSE4_RECT = BRSE4 ;
+RSE5_RECT = BRSE5 ;
+
+CSG_RECT = CSG ;
+PS_RECT  = PRS ;
+
diff --git a/sources2012m_3_13/chap-ini.m b/sources2012m_3_13/chap-ini.m
new file mode 100644
index 0000000000000000000000000000000000000000..9b76d819205bba024ed2a12209736f9e4db09871
--- /dev/null
+++ b/sources2012m_3_13/chap-ini.m
@@ -0,0 +1,546 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle irisf 1:
+application : bareme,batch,iliad;
+BIDON=1;
+
+regle irisf 1000140:
+application :  iliad;
+APPLI_GP      = 0 ;
+APPLI_ILIAD   = 1 ;
+APPLI_BATCH   = 0 ;
+regle irisf 1000150:
+application :  batch;
+APPLI_GP      = 0 ;
+APPLI_ILIAD   = 0 ;
+APPLI_BATCH   = 1 ;
+regle 1000717:
+application : batch, iliad ;
+SOMMEA71701 = positif(CELLIERJA) + positif(CELLIERJB) + positif(CELLIERJD) + positif(CELLIERJE)
+	     + positif(CELLIERJF) + positif(CELLIERJG) + positif(CELLIERJH) + positif(CELLIERJJ)
+	     + positif(CELLIERJK) + positif(CELLIERJL) + positif(CELLIERJM) + positif(CELLIERJN)
+	     + positif(CELLIERJO) + positif(CELLIERJP) + positif(CELLIERJQ) + positif(CELLIERJR) 
+	     + 0 ;
+
+SOMMEA71702 = positif(CELLIERNA) + positif(CELLIERNB) + positif(CELLIERNC) + positif(CELLIERND)
+             + positif(CELLIERNE) + positif(CELLIERNF) + positif(CELLIERNG) + positif(CELLIERNH) 
+	     + positif(CELLIERNI) + positif(CELLIERNJ) + positif(CELLIERNK) + positif(CELLIERNL)
+	     + positif(CELLIERNM) + positif(CELLIERNN) + positif(CELLIERNO) + positif(CELLIERNP) 
+	     + positif(CELLIERNQ) + positif(CELLIERNR) + positif(CELLIERNS) + positif(CELLIERNT) 
+	     + 0 ;
+
+regle 1000718:
+application : batch, iliad ;
+
+SOMMEA718 = (
+
+   present( BAFV ) + (1 - null( V_FORVA+0 ))
+ + present( BAFORESTV ) + present( BAFPVV ) + present( BAF1AV ) 
+ + present( BAFC ) + (1 - null( V_FORCA+0 ))
+ + present( BAFORESTC ) + present( BAFPVC ) + present( BAF1AC ) 
+ + present( BAFP ) + (1 - null( V_FORPA+0 ))
+ + present( BAFORESTP ) + present( BAFPVP ) + present( BAF1AP ) 
+ + present( BACREV ) + present( 4BACREV ) + present( BA1AV ) + present( BACDEV ) 
+ + present( BACREC ) + present( 4BACREC ) + present( BA1AC ) + present( BACDEC ) 
+ + present( BACREP ) + present( 4BACREP ) + present( BA1AP ) + present( BACDEP ) 
+ + present( BAHREV ) + present( 4BAHREV ) + present( BAHDEV ) 
+ + present( BAHREC ) + present( 4BAHREC ) + present( BAHDEC ) 
+ + present( BAHREP ) + present( 4BAHREP ) + present( BAHDEP ) 
+
+ + present( MIBVENV ) + present( MIBPRESV ) + present( MIBPVV ) + present( MIB1AV ) + present( MIBDEV ) + present( BICPMVCTV )
+ + present( MIBVENC ) + present( MIBPRESC ) + present( MIBPVC ) + present( MIB1AC ) + present( MIBDEC ) + present( BICPMVCTC )
+ + present( MIBVENP ) + present( MIBPRESP ) + present( MIBPVP ) + present( MIB1AP ) + present( MIBDEP ) + present( BICPMVCTP )
+ + present( BICNOV ) + present( LOCPROCGAV ) + present( BI1AV ) + present( BICDNV ) + present( LOCDEFPROCGAV )
+ + present( BICNOC ) + present( LOCPROCGAC ) + present( BI1AC ) + present( BICDNC ) + present( LOCDEFPROCGAC )
+ + present( BICNOP ) + present( LOCPROCGAP ) + present( BI1AP ) + present( BICDNP ) + present( LOCDEFPROCGAP )
+ + present( BIHNOV ) + present( LOCPROV ) + present( BIHDNV ) + present( LOCDEFPROV )
+ + present( BIHNOC ) + present( LOCPROC ) + present( BIHDNC ) + present( LOCDEFPROC )
+ + present( BIHNOP ) + present( LOCPROP ) + present( BIHDNP ) + present( LOCDEFPROP )
+
+ + present( MIBMEUV ) + present( MIBGITEV ) + present( LOCGITV ) + present( MIBNPVENV ) + present( MIBNPPRESV ) 
+ + present( MIBNPPVV ) + present( MIBNP1AV ) + present( MIBNPDEV ) 
+ + present( MIBMEUC ) + present( MIBGITEC ) + present( LOCGITC ) + present( MIBNPVENC ) + present( MIBNPPRESC ) 
+ + present( MIBNPPVC ) + present( MIBNP1AC ) + present( MIBNPDEC ) 
+ + present( MIBMEUP ) + present( MIBGITEP ) + present( LOCGITP ) + present( MIBNPVENP ) + present( MIBNPPRESP ) 
+ + present( MIBNPPVP ) + present( MIBNP1AP ) + present( MIBNPDEP ) 
+ + present( MIBNPDCT ) 
+ + present( BICREV ) + present( LOCNPCGAV ) + present( LOCGITCV ) + present( BI2AV ) + present( BICDEV ) + present( LOCDEFNPCGAV )
+ + present( BICREC ) + present( LOCNPCGAC ) + present( LOCGITCC ) + present( BI2AC ) + present( BICDEC ) + present( LOCDEFNPCGAC )
+ + present( BICREP ) + present( LOCNPCGAPAC ) + present( LOCGITCP ) + present( BI2AP ) + present( BICDEP ) + present( LOCDEFNPCGAPAC )
+ + present( BICHREV ) + present( LOCNPV ) + present( LOCGITHCV ) + present( BICHDEV ) + present( LOCDEFNPV )
+ + present( BICHREC ) + present( LOCNPC ) + present( LOCGITHCC ) + present( BICHDEC ) + present( LOCDEFNPC )
+ + present( BICHREP ) + present( LOCNPPAC ) + present( LOCGITHCP ) + present( BICHDEP ) + present( LOCDEFNPPAC )
+
+ + present( BNCPROV ) + present( BNCPROPVV ) + present( BNCPRO1AV ) + present( BNCPRODEV ) + present( BNCPMVCTV )
+ + present( BNCPROC ) + present( BNCPROPVC ) + present( BNCPRO1AC ) + present( BNCPRODEC ) + present( BNCPMVCTC )
+ + present( BNCPROP ) + present( BNCPROPVP ) + present( BNCPRO1AP ) + present( BNCPRODEP ) + present( BNCPMVCTP )
+ + present( BNCREV ) + present( BN1AV ) + present( BNCDEV ) 
+ + present( BNCREC ) + present( BN1AC ) + present( BNCDEC ) 
+ + present( BNCREP ) + present( BN1AP ) + present( BNCDEP ) 
+ + present( BNHREV ) + present( BNHDEV ) 
+ + present( BNHREC ) + present( BNHDEC ) 
+ + present( BNHREP ) + present( BNHDEP ) 
+
+ + present( BNCNPV ) + present( BNCNPPVV ) + present( BNCNP1AV ) + present( BNCNPDEV ) 
+ + present( BNCNPC ) + present( BNCNPPVC ) + present( BNCNP1AC ) + present( BNCNPDEC ) 
+ + present( BNCNPP ) + present( BNCNPPVP ) + present( BNCNP1AP ) + present( BNCNPDEP ) 
+ + present( BNCNPDCT ) 
+ + present ( BNCAABV ) + present( ANOCEP ) + present( PVINVE ) 
+ + present( INVENTV ) + present ( BNCAADV ) + present( DNOCEP ) 
+ + present ( BNCAABC ) + present( ANOVEP ) + present( PVINCE ) 
+ + present( INVENTC ) + present ( BNCAADC ) + present( DNOCEPC )
+ + present ( BNCAABP ) + present( ANOPEP ) + present( PVINPE ) 
+ + present ( INVENTP ) + present ( BNCAADP ) + present( DNOCEPP )
+ + 0
+            ) ;
+
+regle 1000719:
+application : batch, iliad ;
+
+SOMMEA719 = (
+
+   present( BAEXV ) + present ( BACREV ) + present( 4BACREV ) + present ( BA1AV ) + present ( BACDEV ) 
+ + present( BAEXC ) + present ( BACREC ) + present( 4BACREC ) + present ( BA1AC ) + present ( BACDEC ) 
+ + present( BAEXP ) + present ( BACREP ) + present( 4BACREP ) + present ( BA1AP ) + present ( BACDEP ) 
+ + present( BAHEXV ) + present ( BAHREV ) + present( 4BAHREV ) + present ( BAHDEV ) 
+ + present( BAHEXC ) + present ( BAHREC ) + present( 4BAHREC ) + present ( BAHDEC ) 
+ + present( BAHEXP ) + present ( BAHREP ) + present( 4BAHREP ) + present ( BAHDEP ) 
+
+ + present( BICEXV ) + present ( BICNOV ) + present ( LOCPROCGAV )
+ + present ( BI1AV ) + present ( BICDNV ) + present ( LOCDEFPROCGAV )
+ + present( BICEXC ) + present ( BICNOC ) + present ( LOCPROCGAC )
+ + present ( BI1AC ) + present ( BICDNC ) + present ( LOCDEFPROCGAC )
+ + present( BICEXP ) + present ( BICNOP ) + present ( LOCPROCGAP )
+ + present ( BI1AP ) + present ( BICDNP ) + present ( LOCDEFPROCGAP )
+ + present( BIHEXV ) + present ( BIHNOV ) + present ( LOCPROV )
+ + present ( BIHDNV ) + present ( LOCDEFPROV )
+ + present( BIHEXC ) + present ( BIHNOC ) + present ( LOCPROC )
+ + present ( BIHDNC ) + present ( LOCDEFPROC )
+ + present( BIHEXP ) + present ( BIHNOP ) + present ( LOCPROP )
+ + present ( BIHDNP ) + present ( LOCDEFPROP )
+
+ + present( BICNPEXV ) + present ( BICREV ) + present( LOCNPCGAV )
+ + present ( BI2AV ) + present ( BICDEV ) + present( LOCDEFNPCGAV )
+ + present( BICNPEXC ) + present ( BICREC ) + present( LOCNPCGAC )
+ + present ( BI2AC ) + present ( BICDEC ) + present( LOCDEFNPCGAC )
+ + present( BICNPEXP ) + present ( BICREP ) + present( LOCNPCGAPAC )
+ + present ( BI2AP ) + present ( BICDEP ) + present( LOCDEFNPCGAPAC )
+ + present( BICNPHEXV ) + present ( BICHREV ) + present ( LOCNPV )
+ + present ( BICHDEV ) + present ( LOCDEFNPV )
+ + present( BICNPHEXC ) + present ( BICHREC ) + present ( LOCNPC )
+ + present ( BICHDEC ) + present ( LOCDEFNPC )
+ + present( BICNPHEXP ) + present ( BICHREP ) + present ( LOCNPPAC )
+ + present ( BICHDEP ) + present ( LOCDEFNPPAC )
+
+ + present( BNCEXV ) + present ( BNCREV ) + present ( BN1AV ) + present ( BNCDEV ) 
+ + present( BNCEXC ) + present ( BNCREC ) + present ( BN1AC ) + present ( BNCDEC ) 
+ + present( BNCEXP ) + present ( BNCREP ) + present ( BN1AP ) + present ( BNCDEP ) 
+ + present( BNHEXV ) + present ( BNHREV ) + present ( BNHDEV ) 
+ + present( BNHEXC ) + present ( BNHREC ) + present ( BNHDEC ) 
+ + present( BNHEXP ) + present ( BNHREP ) + present ( BNHDEP )
+ + present( XHONOAAV ) + present( XHONOV ) 
+ + present( XHONOAAC ) + present( XHONOC ) 
+ + present( XHONOAAP ) + present( XHONOP )
+
+ + present ( BNCNPREXAAV ) + present ( BNCAABV )   + present ( BNCAADV )  + present ( BNCNPREXV ) 
+ + present( ANOCEP ) + present( DNOCEP ) + present( PVINVE ) + present( INVENTV )
+ + present ( BNCNPREXAAC ) + present ( BNCAABC ) + present ( BNCAADC ) + present ( BNCNPREXC )
+ + present( ANOVEP ) + present( DNOCEPC ) + present( PVINCE ) + present( INVENTC )
+ + present ( BNCNPREXAAP ) + present ( BNCAABP ) + present ( BNCAADP ) + present ( BNCNPREXP )
+ + present( ANOPEP ) + present( DNOCEPP ) + present( PVINPE ) + present( INVENTP )
+
+ + 0
+        ) ;
+
+regle 1000530:
+application : batch, iliad;
+
+SOMMEA030 =     
+                somme(i=1..4: positif(TSHALLOi) + positif(ALLOi)
+		+ positif(CARTSPi) + positif(REMPLAPi)
+		+ positif(CARTSNBAPi) + positif(REMPLANBPi)
+		+ positif(HEURESUPPi)
+                + positif(PRBRi)
+		+ positif(CARPEPi) + positif(CARPENBAPi)
+                + positif(PALIi) + positif(FRNi) + positif(PPETPPi) + positif(PPENHPi)
+		+ positif(PENSALPi) + positif(PENSALNBPi)
+		)
+ + positif(RSAPAC1) + positif(RSAPAC2)
+ + positif(FEXP)  + positif(BAFP)  + positif(BAFORESTP) + positif(BAFPVP)  + positif(BAF1AP)
+ + positif(BAEXP)  + positif(BACREP) + positif(4BACREP)  
+ + positif(BA1AP)  + positif(BACDEP)
+ + positif(BAHEXP)  + positif(BAHREP) + positif(4BAHREP) 
+ + positif(BAHDEP)
+ + positif(MIBEXP) + positif(MIBVENP) + positif(MIBPRESP)  + positif(MIBPVP)  + positif(MIB1AP)  + positif(MIBDEP)
+ + positif(BICPMVCTP) + positif(BICEXP) + positif(BICNOP) + positif(BI1AP)  + positif(BICDNP) 
+ + positif(BIHEXP) + positif(BIHNOP) + positif(BIHDNP)  
+ + positif(MIBNPEXP)  + positif(MIBNPVENP)  + positif(MIBNPPRESP)  + positif(MIBNPPVP)  + positif(MIBNP1AP)  + positif(MIBNPDEP)
+ + positif(BICNPEXP)  + positif(BICREP) + positif(BI2AP)  + positif(BICDEP)  
+ + positif(BICNPHEXP) + positif(BICHREP) + positif(BICHDEP) 
+ + positif(BNCPROEXP)  + positif(BNCPROP)  + positif(BNCPROPVP)  + positif(BNCPRO1AP)  + positif(BNCPRODEP) + positif(BNCPMVCTP)
+ + positif(BNCEXP)  + positif(BNCREP) + positif(BN1AP) + positif(BNCDEP)
+ + positif(BNHEXP)  + positif(BNHREP)  + positif(BNHDEP) + positif(BNCCRP)
+ + positif(BNCNPP)  + positif(BNCNPPVP)  + positif(BNCNP1AP)  + positif(BNCNPDEP)
+ + positif(ANOPEP) + positif(PVINPE) + positif(INVENTP) + positif(DNOCEPP) + positif(BNCCRFP)
+ + positif(BNCAABP) + positif(BNCAADP)
+ + positif(RCSP) + positif(PPEACP) + positif(PPENJP)
+ + positif(BAPERPP) + positif(BIPERPP) 
+ + positif(PERPP) + positif(PERP_COTP) + positif(RACCOTP) + positif(PLAF_PERPP)
+ + somme(i=1..4: positif(PEBFi))
+ + positif( COTF1 ) + positif( COTF2 ) + positif( COTF3 ) + positif( COTF4 )
+ + positif (BNCNPREXAAP) + positif (BNCNPREXP)
+ + positif(AUTOBICVP) + positif(AUTOBICPP) 
+ + positif(AUTOBNCP) + positif(LOCPROCGAP) + positif(LOCDEFPROCGAP)
+ + positif(LOCPROP) + positif(LOCDEFPROP) + positif(LOCNPCGAPAC) + positif(LOCGITCP) + positif(LOCGITHCP) + positif(LOCDEFNPCGAPAC)
+ + positif(LOCNPPAC) + positif(LOCDEFNPPAC) + positif(XHONOAAP) + positif(XHONOP) + positif(XSPENPP)
+ + positif(BANOCGAP) + positif(MIBMEUP) + positif(MIBGITEP) + positif(LOCGITP) 
+ + 0 ;
+
+regle 1000531:
+application : batch, iliad;
+
+SOMMEA031 = (
+
+   positif( TSHALLOC ) + positif( ALLOC ) + positif( HEURESUPC ) + positif( PRBRC ) 
+ + positif( PALIC ) + positif( GSALC ) + positif( TSASSUC ) + positif( XETRANC ) 
+ + positif( TSELUPPEC ) + positif( EXOCETC ) + positif( FRNC ) 
+ + positif( PPETPC ) + positif( PPENHC )  + positif( PCAPTAXC )
+ + positif( CARTSC ) + positif( PENSALC ) + positif( REMPLAC ) + positif( CARPEC ) 
+ + positif( GLDGRATC ) + positif( SALINTC )
+ + positif( GLD1C ) + positif( GLD2C ) + positif( GLD3C ) 
+
+ + positif( BPV18C ) + positif( BPCOPTC ) + positif( BPV40C )
+ + positif( BPCOSAC ) + positif( BPVOPTCSC ) + positif( GAINSALAC ) + positif( CVNSALAC )
+
+ + positif( FEXC ) + positif( BAFC ) + positif( BAFORESTC ) + positif( BAFPVC ) + positif( BAF1AC ) 
+ + positif( BAEXC ) + positif( BACREC ) + positif( 4BACREC ) + positif( BA1AC ) + positif( BACDEC ) 
+ + positif( BAHEXC ) + positif( BAHREC ) + positif( 4BAHREC ) + positif( BAHDEC ) + positif( BAPERPC ) + positif( BANOCGAC ) 
+ + positif( AUTOBICVC ) + positif( AUTOBICPC ) + positif( AUTOBNCC ) 
+ + positif( MIBEXC ) + positif( MIBVENC ) + positif( MIBPRESC ) + positif( MIBPVC ) 
+ + positif( MIB1AC ) + positif( MIBDEC ) + positif( BICPMVCTC )
+ + positif( BICEXC ) + positif( BICNOC ) + positif( LOCPROCGAC ) + positif( BI1AC ) + positif( BICDNC ) + positif( LOCDEFPROCGAC )
+ + positif( BIHEXC ) + positif( BIHNOC ) + positif( LOCPROC ) + positif( BIHDNC ) + positif( LOCDEFPROC ) + positif( BIPERPC ) 
+ + positif( MIBNPEXC ) + positif( MIBNPVENC ) + positif( MIBNPPRESC ) + positif( MIBNPPVC ) + positif( MIBNP1AC ) + positif( MIBNPDEC ) 
+ + positif( BICNPEXC ) + positif( BICREC ) + positif( LOCNPCGAC ) + positif( BI2AC ) + positif( BICDEC ) + positif( LOCDEFNPCGAC )
+ + positif( MIBMEUC ) + positif( MIBGITEC ) + positif( LOCGITC ) + positif( LOCGITCC ) + positif( LOCGITHCC )
+ + positif( BICNPHEXC ) + positif( BICHREC ) + positif( LOCNPC ) + positif( BICHDEC ) + positif( LOCDEFNPC ) 
+ + positif( BNCPROEXC ) + positif( BNCPROC ) + positif( BNCPROPVC ) + positif( BNCPRO1AC ) + positif( BNCPRODEC ) + positif( BNCPMVCTC )
+ + positif( BNCEXC ) + positif( BNCREC ) + positif( BN1AC ) + positif( BNCDEC ) 
+ + positif( BNHEXC ) + positif( BNHREC ) + positif( BNHDEC ) + positif( BNCCRC ) + positif( CESSASSC )
+ + positif( XHONOAAC ) + positif( XHONOC ) + positif( XSPENPC )
+ + positif( BNCNPC ) + positif( BNCNPPVC ) + positif( BNCNP1AC ) + positif( BNCNPDEC ) 
+ + positif( BNCNPREXAAC ) + positif( BNCAABC ) + positif( BNCAADC ) + positif( BNCNPREXC ) + positif( ANOVEP )
+ + positif( PVINCE ) + positif( INVENTC ) + positif( DNOCEPC ) + positif( BNCCRFC )
+ + positif( RCSC ) + positif( PVSOCC ) + positif( PPEACC ) + positif( PPENJC ) 
+ 
+ + positif( PEBFC ) 
+
+ + positif( PERPC ) + positif( PERP_COTC ) + positif( RACCOTC ) + positif( PLAF_PERPC )
+ + positif( PERPPLAFCC ) + positif( PERPPLAFNUC1 ) + positif( PERPPLAFNUC2 ) + positif( PERPPLAFNUC3 )
+
+ + positif( ELURASC )
+
+ + 0 ) ;
+regle 1000804:
+application : iliad , batch;  
+
+
+SOMMEA804 = SOMMEANOEXP 
+	    + positif ( GLD1V ) + positif ( GLD2V ) + positif ( GLD3V ) 
+            + positif ( GLD1C ) + positif ( GLD2C ) + positif ( GLD3C ) 
+           ;
+
+SOMMEA805 = SOMMEANOEXP ;
+
+regle 1000993:
+application : iliad ;  
+
+
+
+INDAUTREQUE9YA = positif (positif( 4BACREC ) + positif( 4BACREP ) + positif( 4BACREV )
+ + positif( 4BAHREC ) + positif( 4BAHREP ) + positif( 4BAHREV )
+ + positif( ABDETMOINS ) + positif( ABDETPLUS ) + positif( ABIMPMV )
+ + positif( ABIMPPV ) + positif( ACODELAISINR ) 
+ + positif( ALLO1 ) + positif( ALLO2 ) + positif( ALLO3 )
+ + positif( ALLO4 ) + positif( ALLOC ) + positif( ALLOV )
+ + positif( ANOCEP ) + positif( ANOPEP )
+ + positif( ANOVEP ) + positif( ASCAPA ) + positif( AUTOBICPC )
+ + positif( AUTOBICPP ) + positif( AUTOBICPV ) + positif( AUTOBICVC )
+ + positif( AUTOBICVP ) + positif( AUTOBICVV ) + positif( AUTOBNCC )
+ + positif( AUTOBNCP ) + positif( AUTOBNCV ) + positif( AUTOVERSLIB )
+ + positif( AVETRAN ) + positif( BA1AC )
+ + positif( BA1AP ) + positif( BA1AV ) + positif( BACDEC )
+ + positif( BACDEP ) + positif( BACDEV ) + positif( BACREC )
+ + positif( BACREP ) + positif( BACREV ) + positif( BAEXC )
+ + positif( BAEXP ) + positif( BAEXV ) + positif( BAF1AC )
+ + positif( BAF1AP ) + positif( BAF1AV ) + positif( BAFC )
+ + positif( BAFORESTC ) + positif( BAFORESTP ) + positif( BAFORESTV )
+ + positif( BAFP ) + positif( BAFPVC ) + positif( BAFPVP )
+ + positif( BAFPVV ) + positif( BAFV ) + positif( BAHDEC )
+ + positif( BAHDEP ) + positif( BAHDEV ) + positif( BAHEXC )
+ + positif( BAHEXP ) + positif( BAHEXV ) + positif( BAHREC )
+ + positif( BAHREP ) + positif( BAHREV ) + positif( BAILOC98 )
+ + positif( BAPERPC ) + positif( BAPERPP ) + positif( BAPERPV )
+ + positif( BASRET ) + positif( BI1AC ) + positif( BI1AP )
+ + positif( BI1AV ) + positif( BI2AC ) + positif( BI2AP )
+ + positif( BI2AV ) + positif( BICDEC ) + positif( BICDEP )
+ + positif( BICDEV ) + positif( BICDNC ) + positif( BICDNP )
+ + positif( BICDNV ) + positif( BICEXC ) + positif( BICEXP )
+ + positif( BICEXV ) + positif( BICHDEC ) + positif( BICHDEP )
+ + positif( BICHDEV ) + positif( BICHREC ) + positif( BICHREP )
+ + positif( BICHREV ) + positif( BICNOC ) + positif( BICNOP )
+ + positif( BICNOV ) + positif( BICNPEXC ) + positif( BICNPEXP )
+ + positif( BICNPEXV ) + positif( BICNPHEXC ) + positif( BICNPHEXP )
+ + positif( BICNPHEXV ) + positif( BICREC ) + positif( BICREP )
+ + positif( BICREV ) + positif( BIGREST ) + positif( BIHDNC )
+ + positif( BIHDNP ) + positif( BIHDNV ) + positif( BIHEXC )
+ + positif( BIHEXP ) + positif( BIHEXV ) + positif( BIHNOC )
+ + positif( BIHNOP ) + positif( BIHNOV ) + positif( BIPERPC )
+ + positif( BIPERPP ) + positif( BIPERPV ) + positif( BN1AC )
+ + positif( BN1AP ) + positif( BN1AV ) + positif( BNCAABC )
+ + positif( BNCAABP ) + positif( BNCAABV ) + positif( BNCAADC )
+ + positif( BNCAADP ) + positif( BNCAADV ) + positif( BNCCRC )
+ + positif( BNCCRFC ) + positif( BNCCRFP ) + positif( BNCCRFV )
+ + positif( BNCCRP ) + positif( BNCCRV ) + positif( BNCDEC )
+ + positif( BNCDEP ) + positif( BNCDEV ) + positif( BNCEXC )
+ + positif( BNCEXP ) + positif( BNCEXV ) + positif( BNCNP1AC )
+ + positif( BNCNP1AP ) + positif( BNCNP1AV ) + positif( BNCNPC )
+ + positif( BNCNPDCT ) + positif( BNCNPDEC ) + positif( BNCNPDEP )
+ + positif( BNCNPDEV ) + positif( BNCNPP ) + positif( BNCNPPVC )
+ + positif( BNCNPPVP ) + positif( BNCNPPVV ) + positif( BNCNPREXAAC )
+ + positif( BNCNPREXAAP ) + positif( BNCNPREXAAV ) + positif( BNCNPREXC )
+ + positif( BNCNPREXP ) + positif( BNCNPREXV ) + positif( BNCNPV )
+ + positif( BNCPRO1AC ) + positif( BNCPRO1AP ) + positif( BNCPRO1AV )
+ + positif( BNCPROC ) + positif( BNCPMVCTV ) + positif( BNCPRODEC )
+ + positif( BNCPRODEP ) + positif( BNCPRODEV ) + positif( BNCPROEXC )
+ + positif( BNCPROEXP ) + positif( BNCPROEXV ) + positif( BNCPROP )
+ + positif( BNCPROPVC ) + positif( BNCPROPVP ) + positif( BNCPROPVV )
+ + positif( BNCPROV ) + positif( BNCREC ) + positif( BNCREP )
+ + positif( BNCREV ) + positif( BNHDEC ) + positif( BNHDEP )
+ + positif( BNHDEV ) + positif( BNHEXC ) + positif( BNHEXP )
+ + positif( BNHEXV ) + positif( BNHREC ) + positif( BNHREP )
+ + positif( BNHREV ) + positif( BPCOPTV ) + positif( BPCOSAC )
+ + positif( BPCOSAV )  
+ + positif( BPV18V ) + positif( BPV40V ) 
+ + positif( BPVKRI ) + positif( BPVOPTCSV ) + positif( BPVOPTCSV ) + positif( BPVRCM )
+ + positif( BRAS ) + positif( CARPEC )
+ + positif( CARPENBAC ) + positif( CARPENBAP1 ) + positif( CARPENBAP2 )
+ + positif( CARPENBAP3 ) + positif( CARPENBAP4 ) + positif( CARPENBAV )
+ + positif( CARPEP1 ) + positif( CARPEP2 ) + positif( CARPEP3 )
+ + positif( CARPEP4 ) + positif( CARPEV ) + positif( CARTSC )
+ + positif( CARTSNBAC ) + positif( CARTSNBAP1 ) + positif( CARTSNBAP2 )
+ + positif( CARTSNBAP3 ) + positif( CARTSNBAP4 ) + positif( CARTSNBAV )
+ + positif( CARTSP1 ) + positif( CARTSP2 ) + positif( CARTSP3 )
+ + positif( CARTSP4 ) + positif( CARTSV ) + positif( CASEPRETUD )
+ + positif( CBETRAN ) + positif( CELLIERHK ) + positif( CELLIERHO )
+ + positif( CELLIERHM ) + positif( CELLIERHJ ) + positif( CELLIERHN )
+ + positif( CELLIERHL ) + positif( CELREPHS ) + positif( CELREPHR )
+ + positif( CELRREDLA ) + positif( CESSASSC ) + positif( CESSASSV )
+ + positif( CHENF1 ) + positif( CHENF2 ) + positif( CHENF3 )
+ + positif( CHENF4 ) + positif( CHNFAC ) + positif( CHRDED )
+ + positif( CHRFAC ) + positif( CIAQCUL ) + positif( CIBOIBAIL )
+ + positif( CIDEBITTABAC ) + positif( CIDEP15 )
+ + positif( CIIMPPRO ) + positif( CIIMPPRO2 ) + positif( CIINVCORSE )
+ + positif( CINE1 ) + positif( CINE2 ) + positif( CINRJBAIL )
+ + positif( CMAJ ) + positif( CO2044P ) + positif( CO2047 )
+ + positif( CO2102 ) + positif( CO35 ) + positif( CODCHA )
+ + positif( CODSIR ) + positif( CONVCREA ) + positif( CONVHAND )
+ + positif( COSBC ) + positif( COSBP ) + positif( COSBV )
+ + positif( COTF1 ) + positif( COTF2 ) + positif( COTF3 )
+ + positif( COTF4 ) + positif( COTFC ) + positif( COTFV )
+ + positif( CREAGRIBIO )
+ + positif( CREAIDE ) + positif( CREAPP ) + positif( CREARTS )
+ + positif( CRECHOBAS ) + positif( CRECHOBOI ) + positif( CRECHOCON2 )
+ + positif( CRECONGAGRI ) + positif( CREDPVREP ) + positif( CREFAM )
+ + positif( CREFORMCHENT ) + positif( CREINTERESSE ) + positif( CRENRJRNOUV )
+ + positif( CREPROSP ) + positif( CRERESTAU ) + positif( CRIGA )
+ + positif( DABNCNP1 ) + positif( DABNCNP2 ) + positif( DABNCNP3 )
+ + positif( DABNCNP4 ) + positif( DABNCNP5 ) + positif( DABNCNP6 )
+ + positif( DAGRI1 ) + positif( DAGRI2 ) + positif( DAGRI3 )
+ + positif( DAGRI4 ) + positif( DAGRI5 ) + positif( DAGRI6 )
+ + positif( DATDEPETR ) + positif( DATOCEANS ) + positif( DATRETETR )
+ + positif( DCSG ) + positif( DEFAA0 ) + positif( DEFAA1 )
+ + positif( DEFAA2 ) + positif( DEFAA3 ) + positif( DEFAA4 )
+ + positif( DEFAA5 ) + positif( DEFBIC1 ) + positif( DEFBIC2 )
+ + positif( DEFBIC3 ) + positif( DEFBIC4 ) + positif( DEFBIC5 )
+ + positif( DEFBIC6 ) + positif( DEFRCM ) + positif( DEFRCM2 )
+ + positif( DEFRCM3 ) + positif( DEFRCM4 ) + positif( DEPCHOBAS )
+ + positif( DEPMOBIL ) + positif( DETS1 ) + positif( DETS2 )
+ + positif( DETS3 ) + positif( DETS4 ) + positif( DETSC )
+ + positif( DETSV ) + positif( DIREPARGNE ) + positif( DISQUO )
+ + positif( DISQUONB ) + positif( DNOCEP )
+ + positif( DNOCEPC ) + positif( DNOCEPP ) + positif( DPVRCM )
+ + positif( ELURASC ) + positif( ELURASV )
+ + positif( ESFP ) + positif( EXOCETC ) + positif( EXOCETV )
+ + positif( FCPI ) + positif( FEXC ) + positif( FEXP )
+ + positif( FEXV ) + positif( FFIP ) + positif( FIPCORSE )
+ + positif( FONCI ) + positif( FONCINB ) + positif( FORET )
+ + positif( FRN1 ) + positif( FRN2 ) + positif( FRN3 )
+ + positif( FRN4 ) + positif( FRNC ) + positif( FRNV )
+ + positif( GAINABDET ) + positif( GLD1C ) + positif( GLD1V )
+ + positif( GLD2C ) + positif( GLD2V ) + positif( GLD3C )
+ + positif( GLD3V ) + positif( GSALC ) + positif( GSALV )
+ + positif( GLDGRATC ) + positif( GLDGRATV )
+ + positif( HEURESUPC ) + positif( HEURESUPP1 ) + positif( HEURESUPP2 )
+ + positif( HEURESUPP3 ) + positif( HEURESUPP4 ) + positif( HEURESUPV )
+ + positif( IMPRET ) + positif( INAIDE ) + positif( INDJNONIMPC )
+ + positif( INDJNONIMPV ) + positif( INDLOCNEUF ) + positif( INDLOCRES )
+ + positif( IND_TDR ) + positif( INTDIFAGRI ) + positif( INTERE )
+ + positif( INTERENB ) 
+ + positif( INVDIR2009 ) + positif( INVDOMRET50 )
+ + positif( INVDOMRET60 ) + positif( INVENDEB2009 ) + positif( INVENDI )
+ + positif( INVIMP ) + positif( INVLGAUTRE )
+ + positif( INVLGDEB ) + positif( INVLGDEB2009 ) + positif( INVLGDEB2010 )
+ + positif( INVLOCHOTR ) + positif( INVLOCHOTR1 )
+ + positif( INVLOCNEUF ) + positif( INVLOCRES ) + positif( INVLOCT1 )
+ + positif( INVLOCT2 ) + positif( INVLOG2008 ) + positif( INVLOG2009 )
+ + positif( INVLOGSOC ) + positif( INVOMREP ) + positif( INVRETRO1 )
+ + positif( INVRETRO2 ) + positif( INVSOC2010 ) + positif( INVSOCNRET )
+ + positif( IPBOCH ) + positif( IPCHER ) 
+ + positif( IPELUS ) + positif( IPMOND ) + positif( IPPNCS )
+ + positif( IPPRICORSE ) + positif( IPRECH ) + positif( IPREP )
+ + positif( IPREPCORSE ) + positif( IPSOUR ) + positif( IPSURSI )
+ + positif( IPTEFN ) + positif( IPTEFP ) + positif( IPTXMO )
+ + positif( IPVLOC ) + positif( LNPRODEF1 ) + positif( LNPRODEF10 )
+ + positif( LNPRODEF2 ) + positif( LNPRODEF3 ) + positif( LNPRODEF4 )
+ + positif( LNPRODEF5 ) + positif( LNPRODEF6 ) + positif( LNPRODEF7 )
+ + positif( LNPRODEF8 ) + positif( LNPRODEF9 ) + positif( LOCDEFNPC )
+ + positif( LOCDEFNPCGAC ) + positif( LOCDEFNPCGAPAC ) + positif( LOCDEFNPCGAV )
+ + positif( LOCDEFNPPAC ) + positif( LOCDEFNPV ) + positif( LOCDEFPROC )
+ + positif( LOCDEFPROCGAC ) + positif( LOCDEFPROCGAP ) + positif( LOCDEFPROCGAV )
+ + positif( LOCDEFPROP ) + positif( LOCDEFPROV ) + positif( LOCNPC )
+ + positif( LOCNPCGAC ) + positif( LOCNPCGAPAC ) + positif( LOCNPCGAV )
+ + positif( LOCNPPAC ) + positif( LOCNPV ) + positif( LOCPROC )
+ + positif( LOCPROCGAC ) + positif( LOCPROCGAP ) + positif( LOCPROCGAV )
+ + positif( LOCPROP ) + positif( LOCPROV ) + positif( LOCRESINEUV )
+ + positif( LOYIMP ) + positif( MEUBLENP ) + positif( MIB1AC )
+ + positif( MIB1AP ) + positif( MIB1AV ) 
+ + present( BICPMVCTV )+ present( BICPMVCTC )+ present( BICPMVCTP )
+ + positif( MIBDEC ) + positif( MIBDEP ) + positif( MIBDEV )
+ + positif( MIBEXC ) + positif( MIBEXP ) + positif( MIBEXV )
+ + positif( MIBGITEC ) + positif( MIBGITEP ) + positif( MIBGITEV )
+ + positif( MIBMEUC ) + positif( MIBMEUP ) + positif( MIBMEUV )
+ + positif( MIBNP1AC ) + positif( MIBNP1AP ) + positif( MIBNP1AV )
+ + positif( MIBNPDCT ) + positif( MIBNPDEC ) + positif( MIBNPDEP )
+ + positif( MIBNPDEV ) + positif( MIBNPEXC ) + positif( MIBNPEXP )
+ + positif( MIBNPEXV ) + positif( MIBNPPRESC ) + positif( MIBNPPRESP )
+ + positif( MIBNPPRESV ) + positif( MIBNPPVC ) + positif( MIBNPPVP )
+ + positif( MIBNPPVV ) + positif( MIBNPVENC ) + positif( MIBNPVENP )
+ + positif( MIBNPVENV ) + positif( MIBPRESC ) + positif( MIBPRESP )
+ + positif( MIBPRESV ) + positif( MIBPVC ) + positif( MIBPVP )
+ + positif( MIBPVV ) + positif( MIBVENC ) + positif( MIBVENP )
+ + positif( MIBVENV ) + positif( MOISAN ) + positif( NBACT )
+ + positif( NCHENF1 ) + positif( NCHENF2 ) + positif( NCHENF3 )
+ + positif( NCHENF4 ) + positif( NRBASE ) + positif( NRETROC40 )
+ + positif( NRETROC50 ) + positif( NRINET ) + positif( NUPROP )
+ + positif( OPTPLAF15 ) + positif( PAAP ) + positif( PAAV )
+ + positif( PALI1 ) + positif( PALI2 ) + positif( PALI3 )
+ + positif( PALI4 ) + positif( PALIC ) + positif( PALIV )
+ + positif( PATNAT ) + positif( PEA ) + positif( PEBF1 )
+ + positif( PEBF2 ) + positif( PEBF3 ) + positif( PEBF4 )
+ + positif( PEBFC ) + positif( PEBFV ) + positif( PENSALC )
+ + positif( PENSALNBC ) + positif( PENSALNBP1 ) + positif( PENSALNBP2 )
+ + positif( PENSALNBP3 ) + positif( PENSALNBP4 ) + positif( PENSALNBV )
+ + positif( PENSALP1 ) + positif( PENSALP2 ) + positif( PENSALP3 )
+ + positif( PENSALP4 ) + positif( PENSALV ) 
+ + positif( PERPC ) + positif( PERPIMPATRIE ) + positif( PERPMUTU )
+ + positif( PERPP ) + positif( PERPPLAFCC ) + positif( PERPPLAFCP )
+ + positif( PERPPLAFCV ) + positif( PERPPLAFNUC1 ) + positif( PERPPLAFNUC2 )
+ + positif( PERPPLAFNUC3 ) + positif( PERPPLAFNUP1 ) + positif( PERPPLAFNUP2 )
+ + positif( PERPPLAFNUP3 ) + positif( PERPPLAFNUV1 ) + positif( PERPPLAFNUV2 )
+ + positif( PERPPLAFNUV3 ) + positif( PERPV ) + positif( PERP_COTC )
+ + positif( PERP_COTP ) + positif( PERP_COTV ) + positif( PETIPRISE )
+ + positif( PLAF_PERPC ) + positif( PLAF_PERPP ) + positif( PLAF_PERPV )
+ + positif( PPEACC ) + positif( PPEACP ) + positif( PPEACV )
+ + positif( PPEISFPIR ) + positif(PPEREVPRO) + positif( PPENHC ) + positif( PPENHP1 )
+ + positif( PPENHP2 ) + positif( PPENHP3 ) + positif( PPENHP4 )
+ + positif( PPENHV ) + positif( PPENJC ) + positif( PPENJP )
+ + positif( PPENJV ) + positif( PPEREVPRO ) + positif( PPETPC )
+ + positif( PPETPP1 ) + positif( PPETPP2 ) + positif( PPETPP3 )
+ + positif( PPETPP4 ) + positif( PPETPV ) + positif( PPLIB )
+ + positif( PRBR1 ) + positif( PRBR2 ) + positif( PRBR3 )
+ + positif( PRBR4 ) + positif( PRBRC ) + positif( PRBRV )
+ + positif( PREHABT ) + positif( PREHABT1 ) + positif( PREHABT2 ) + positif( PREHABTVT )
+ + positif( PREHABTN ) + positif( PREHABTN2 ) + positif( PREMAIDE ) + positif( PREREV )
+ + positif( PRESCOMP2000 ) + positif( PRESCOMPJUGE ) + positif( PRETUD )
+ + positif( PRETUDANT ) + positif( PRODOM ) + positif( PROGUY )
+ + positif( PROVIE ) + positif( PROVIENB ) + positif( PTZDEVDUR )
+ + positif( PVINCE ) + positif( PVINPE ) + positif( PVINVE )
+ + positif( PVJEUNENT ) + positif( PVREP8 ) + positif( PVSOCC )
+ + positif( PVSOCV )
+ + positif( R1649 ) + positif( PREREV ) + positif( RACCOTC ) + positif( RACCOTP )
+ + positif( RACCOTV ) + positif( RCCURE ) + positif( RCMABD )
+ + positif( RCMAV ) + positif( RCMAVFT ) + positif( RCMFR )
+ + positif( RCMHAB ) + positif( RCMHAD ) + positif( RCMIMPAT )
+ + positif( RCMLIB ) + positif( RCMLIBDIV ) + positif( RCMRDS )
+ + positif( RCMSOC ) + positif( RCMTNC ) + positif( RCSC )
+ + positif( RCSP ) + positif( RCSV ) + positif( RDCOM )
+ + positif( RDDOUP ) + positif( RDENL ) + positif( RDENLQAR )
+ + positif( RDENS ) + positif( RDENSQAR ) + positif( RDENU )
+ + positif( RDENUQAR ) + positif( RDEQPAHA ) + positif( RDFDOU )
+ + positif( RDFOREST ) + positif( RDFORESTGES ) + positif( RDFORESTRA )
+ + positif( RDFREP ) + positif( RDGARD1 ) + positif( RDGARD1QAR )
+ + positif( RDGARD2 ) + positif( RDGARD2QAR ) + positif( RDGARD3 )
+ + positif( RDGARD3QAR ) + positif( RDGARD4 ) + positif( RDGARD4QAR )
+ + positif( RDGEQ ) + positif( RDMECENAT ) + positif( RDPRESREPORT )
+ + positif( RDREP ) + positif( RDRESU ) + positif( RDSNO )
+ + positif( RDSYCJ ) + positif( RDSYPP ) + positif( RDSYVO )
+ + positif( RDTECH ) + positif( TAX1649 ) + positif( RE168 )
+ + positif( REAMOR ) + positif( REAMORNB ) + positif( REDMEUBLE )
+ + positif( REGCI ) + positif( REGPRIV ) + positif( REMPLAC )
+ + positif( REMPLANBC ) + positif( REMPLANBP1 ) + positif( REMPLANBP2 )
+ + positif( REMPLANBP3 ) + positif( REMPLANBP4 ) + positif( REMPLANBV )
+ + positif( REMPLAP1 ) + positif( REMPLAP2 ) + positif( REMPLAP3 )
+ + positif( REMPLAP4 ) + positif( REMPLAV ) + positif( RENTAX )
+ + positif( RENTAX5 ) + positif( RENTAX6 ) + positif( RENTAX7 )
+ + positif( RENTAXNB ) + positif( RENTAXNB5 ) + positif( RENTAXNB6 )
+ + positif( RENTAXNB7 ) + positif( REPDON03 ) + positif( REPDON04 )
+ + positif( REPDON05 ) + positif( REPDON06 ) + positif( REPDON07 )
+ + positif( REPFOR ) + positif( REPGROREP2 )+ positif( REPGROREP1 ) 
+ + positif( REPINVDOMPRO2 ) + positif( REPINVDOMPRO3 ) 
+ + positif( REPINVLOCINV ) + positif( REPINVLOCREA ) + positif( REPMEUBLE )
+ + positif( REPINVTOU ) + positif( INVLOGREHA ) + positif( INVLOGHOT )
+ + positif( REPSINFOR ) + positif( REPSNO1 ) + positif( REPSNO2 )
+ + positif( REPSNO3 ) + positif( REPSNON) + positif( REPSOF ) + positif( RESIVIEU )
+ + positif( RIMOPPAURE ) + positif( RIMOSAUVRF )
+ + positif( RIMOPPAUANT ) + positif( RIMOSAUVANT )
+ + positif( RESTIMOPPAU ) + positif( RESTIMOSAUV ) + positif( RESTUC )
+ + positif( RESTUCNB ) + positif( REVACT ) + positif( REVACTNB )
+ + positif( REVFONC ) + positif( REVMAR1 ) + positif( REVMAR2 )
+ + positif( REVMAR3 ) + positif( REVPEA ) + positif( REVPEANB )
+ + positif( RFDANT ) + positif( RFDHIS )
+ + positif( RFDORD ) + positif( RFMIC ) + positif( RFORDI )
+ + positif( RFROBOR ) + positif( RINVLOCINV ) + positif( RINVLOCREA )
+ + positif( RIRENOV ) + positif( RISKTEC ) + positif( RMOND )
+ + positif( RSAFOYER ) + positif( RSAPAC1 )
+ + positif( RSAPAC2 ) + positif( RSOCREPRISE ) + positif( RVAIDE )
+ + positif( RVB1 ) + positif( RVB2 ) + positif( RVB3 )
+ + positif( RVB4 ) + positif( RVCURE )
+ + positif( SINISFORET ) 
+ + positif( SUBSTITRENTE ) + positif( TSASSUC ) + positif( TSASSUV )
+ + positif( TSELUPPEC ) + positif( TSELUPPEV ) + positif( TSHALLO1 )
+ + positif( TSHALLO2 ) + positif( TSHALLO3 ) + positif( TSHALLO4 )
+ + positif( TSHALLOC ) + positif( TSHALLOV ) + positif( XETRANC )
+ + positif( XETRANV ) + positif( XHONOAAC ) + positif( XHONOAAP )
+ + positif( XHONOAAV ) + positif( XHONOC ) + positif( XHONOP )
+ + positif( XHONOV ) + positif( XSPENPC ) + positif( XSPENPP )
+ + positif( XSPENPV ) 
+ + positif
\ No newline at end of file
diff --git a/sources2012m_3_13/chap-inr.m b/sources2012m_3_13/chap-inr.m
new file mode 100644
index 0000000000000000000000000000000000000000..897d9f37fc265972ece9cf04597f5f03d5e73644
--- /dev/null
+++ b/sources2012m_3_13/chap-inr.m
@@ -0,0 +1,543 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #     CHAPITRE 2. CALCUL DU NET A PAYER
+ #
+ #
+ #
+regle corrective 10801:
+application : iliad;
+TXINR = max(0,(NBMOIS * TXMOISRETARD2) + max(0,(NBMOIS2 * TXMOISRETARD2)));
+
+TXINRRED = max(0,(NBMOIS * TXMOISRETARD2*TXMOISRED*2) + max(0,(NBMOIS2 * TXMOISRETARD2 * TXMOISRED * 2)));
+
+regle corrective 1081:
+application : iliad ;
+IND_PASSAGE = positif(FLAG_DEFAUT + FLAG_RETARD) + IND_PASSAGE_A;
+IND_PASSR9901 = 1 + IND_PASSR9901_A;
+IRNIN_PA = IRNIN_INR * null(1 - IND_PASSAGE) + IRNIN_PA_A;
+TXINR_PA = TXINR * null(1 - IND_PASSAGE) + TXINR_PA_A;
+INRIR_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * ( 
+             arr(IRNIN_INR * TXINR / 100) * positif(IRNIN_INR) * null(1 - IND_PASSAGE) 
+             + INRIR_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,IRNIN_PA - ACODELAISINR) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                                );
+INR_IR_TARDIF = ((arr(IRNIN_INR * TXINR/100) * positif(IRNIN_INR) * null(1-IND_PASSAGE)+ INR_IR_TARDIF_A*(1-positif(ACODELAISINR)))
+		  + arr(max(0,IRNIN_PA - ACODELAISINR) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)) * FLAG_RETARD * (1-IND_RJLJ);
+CSG_PA = CSG * null(1 - IND_PASSAGE) + CSG_PA_A;
+INRCSG_RETDEF = (1 - IND_RJLJ) * (
+                arr((CSG-CSGIM) * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCSG_RETDEF_A;
+INR_CSG_TARDIF = (arr((CSG-CSGIM) * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CSG_TARDIF_A) * (1-IND_RJLJ);
+PRS_PA = PRS * null(1 - IND_PASSAGE) + PRS_PA_A;
+INRPRS_RETDEF = (1 - IND_RJLJ) * (
+             arr((PRS-PRSPROV) * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRPRS_RETDEF_A;
+INR_PS_TARDIF = (arr((PRS-PRSPROV) * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_PS_TARDIF_A) * (1-IND_RJLJ);
+CRDS_PA = RDSN * null(1 - IND_PASSAGE) + CRDS_PA_A;
+INRCRDS_RETDEF = (1 - IND_RJLJ) * (
+             arr((RDSN-CRDSIM) * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCRDS_RETDEF_A;
+INR_CRDS_TARDIF = (arr((RDSN-CRDSIM) * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CRDS_TARDIF_A) * (1-IND_RJLJ);
+TAXA_PA = TAXABASE * null(1 - IND_PASSAGE) + TAXA_PA_A;
+INRTAXA_RETDEF = (1 - IND_RJLJ) * (
+               arr(TAXABASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRTAXA_RETDEF_A;
+INR_TAXAGA_TARDIF = (arr(TAXABASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_TAXA_TARDIF_A) * (1-IND_RJLJ);
+CHR_PA = CHRBASE * null(1 - IND_PASSAGE) + CHR_PA_A;
+INRCHR_RETDEF = (1 - IND_RJLJ) * (
+               arr(CHRBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCHR_RETDEF_A;
+INR_CHR_TARDIF = (arr(CHRBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CHR_TARDIF_A) * (1-IND_RJLJ);
+PCAP_PA = PCAPBASE * null(1 - IND_PASSAGE) + PCAP_PA_A;
+INRPCAP_RETDEF = (1 - IND_RJLJ) * (
+               arr(PCAPBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRPCAP_RETDEF_A;
+INR_PCAP_TARDIF = (arr(PCAPBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_PCAP_TARDIF_A) * (1-IND_RJLJ);
+GAIN_PA = GAINBASE * null(1 - IND_PASSAGE) + GAIN_PA_A;
+INRGAIN_RETDEF = (1 - IND_RJLJ) * (
+               arr(GAINBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRGAIN_RETDEF_A;
+INR_GAIN_TARDIF = (arr(GAINBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_GAIN_TARDIF_A) * (1-IND_RJLJ);
+RSE1_PA = RSE1BASE * null(1 - IND_PASSAGE) + RSE1_PA_A;
+INRRSE1_RETDEF = (1 - IND_RJLJ) * (
+               arr(RSE1BASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE1_RETDEF_A;
+INR_RSE1_TARDIF = (arr(RSE1BASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE1_TARDIF_A) * (1-IND_RJLJ);
+RSE2_PA = RSE2BASE * null(1 - IND_PASSAGE) + RSE2_PA_A;
+INRRSE2_RETDEF = (1 - IND_RJLJ) * (
+               arr(RSE2BASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE2_RETDEF_A;
+INR_RSE2_TARDIF = (arr(RSE2BASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE2_TARDIF_A) * (1-IND_RJLJ);
+RSE3_PA = RSE3BASE * null(1 - IND_PASSAGE) + RSE3_PA_A;
+INRRSE3_RETDEF = (1 - IND_RJLJ) * (
+               arr(RSE3BASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE3_RETDEF_A;
+INR_RSE3_TARDIF = (arr(RSE3BASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE3_TARDIF_A) * (1-IND_RJLJ);
+RSE4_PA = RSE4BASE * null(1 - IND_PASSAGE) + RSE4_PA_A;
+INRRSE4_RETDEF = (1 - IND_RJLJ) * (
+               arr(RSE4BASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE4_RETDEF_A;
+INR_RSE4_TARDIF = (arr(RSE4BASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE4_TARDIF_A) * (1-IND_RJLJ);
+CSAL_PA = CSALBASE * null(1 - IND_PASSAGE) + CSAL_PA_A;
+INRCSAL_RETDEF = (1 - IND_RJLJ) * (
+               arr(CSALBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCSAL_RETDEF_A;
+INR_CSAL_TARDIF = (arr(CSALBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CSAL_TARDIF_A) * (1-IND_RJLJ);
+CDIS_PA = CDISBASE * null(1 - IND_PASSAGE) + CDIS_PA_A;
+INRCDIS_RETDEF = (1 - IND_RJLJ) * (
+               arr(CDISBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCDIS_RETDEF_A;
+INR_CDIS_TARDIF = (arr(CDISBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CDIS_TARDIF_A) * (1-IND_RJLJ);
+regle corrective 10811:
+application :  iliad ;
+IRNIN_TLDEC_1=IRNIN_INR;
+CSG_TLDEC_1=CSG;
+PRS_TLDEC_1=PRS;
+RDS_TLDEC_1=RDSN;
+TAXA_TLDEC_1=TAXASSUR;
+CHR_TLDEC_1=IHAUTREVT;
+PCAP_TLDEC_1=IPCAPTAXT;
+GAIN_TLDEC_1=CGAINSAL;
+RSE1_TLDEC_1=RSE1;
+RSE2_TLDEC_1=RSE2;
+RSE3_TLDEC_1=RSE3;
+RSE4_TLDEC_1=RSE4;
+CSAL_TLDEC_1=CSAL;
+CDIS_TLDEC_1=CDIS;
+regle corrective 108112:
+application : iliad ;
+INRIR_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			 null(2-FLAG_INR) * positif(IRNIN_INR - IRNIN_R99R)
+                       * (
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0) )
+            * arr((IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * positif(IRNIN_INR-max(IRNIN_RECT * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * arr((IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+                   +  null(3-FLAG_INR) * positif(IRNIN_INR - IRNIN_REF)
+                       * (
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0) )
+            * arr((min(IRNIN_INR,IRNIN_TLDEC_1) - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * positif(IRNIN_INR-max(IRNIN_RECT * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * arr((min(IRNIN_INR,IRNIN_TLDEC_1) - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+            + INRIR_RETDEF * null(IND_PASSAGE - 1)
+                                                )
+                                               ;
+INRCSG_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			 null(2 - FLAG_INR) * positif(CSG-CSG_R99R) 
+			* (
+            (positif(CSG * positif(CSG+PRS+RDSN-SEUIL_61) - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))))
+            * arr((CSG - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198)))-CSGIM) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_61)  - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))))
+            * arr((CSG - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198)))-CSGIM) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                              )
+                      + null(3 - FLAG_INR) * positif(CSG-CSG_REF) 
+			* (
+            (positif(CSG * positif(CSG+PRS+RDSN-SEUIL_61) - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))))
+            * arr((min(CSG,CSG_TLDEC_1) - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198)))-CSGIM) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_61)  - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))+0))
+            * arr((min(CSG,CSG_TLDEC_1) - max(CSG_NTLDEC_198,CSG_REF)* (1-present(CSG_NTLDEC_198))-CSGIM) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+			    )
+            + INRCSG_RETDEF * null(IND_PASSAGE - 1)
+                              )
+             ;
+INRPRS_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			   null(2 - FLAG_INR) * positif(PRS-PRS_R99R) 
+			   * (
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_61)  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0)) 
+            * arr((PRS  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PRS * positif(CSG+PRS+RDSN-SEUIL_61) - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0))
+            * arr((PRS - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                        )
+                        + null(3 - FLAG_INR) * positif(PRS-PRS_REF) 
+			   * (
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_61)  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0)) 
+            * arr((min(PRS,PRS_TLDEC_1)  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PRS * positif(CSG+PRS+RDSN-SEUIL_61) - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0))
+            * arr((min(PRS,PRS_TLDEC_1) - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                        )
+            + INRPRS_RETDEF * null(IND_PASSAGE - 1)
+                            )
+             ;
+INRCRDS_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RDSN - RDS_R99R) 
+		      * (
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_61) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((RDSN - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_61) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((RDSN -max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                         )
+                    +  null(3 - FLAG_INR) * positif(RDSN - RDS_REF) 
+		      * (
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_61) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((min(RDSN,RDS_TLDEC_1) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_61) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((min(RDSN,RDS_TLDEC_1) -max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                         )
+            + INRCRDS_RETDEF * null(IND_PASSAGE - 1)
+                            )
+             ;
+INRTAXA_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		     null(2 - FLAG_INR) * positif(TAXABASE - TAXA_R99R) 
+		     * (
+             (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		     + null(3 - FLAG_INR) * positif(TAXABASE - TAXA_REF) 
+		     * (
+             (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((min(TAXABASE,TAXA_TLDEC_1) - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((min(TAXABASE,TAXA_TLDEC_1) - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRTAXA_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRCSAL_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(CSALBASE - CSAL_R99R) 
+		       * (
+             (positif(CSALBASE - max(CSAL_NTLDEC_198,CSAL_REF* (1-present(CSAL_NTLDEC_198))+0))
+            * arr((CSALBASE - max(CSAL_NTLDEC_198,CSAL_REF* (1-present(CSAL_NTLDEC_198)))-CSALPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSALBASE - max(CSAL_NTLDEC_198,CSAL_REF* (1-present(CSAL_NTLDEC_198))+0)) 
+            * arr((CSALBASE - max(CSAL_NTLDEC_198,CSAL_REF* (1-present(CSAL_NTLDEC_198)))-CSALPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(CSALBASE - CSAL_REF) 
+		       * (
+             (positif(CSALBASE - max(CSAL_NTLDEC_198,CSAL_REF+0)-CSALPROV* (1-present(CSAL_NTLDEC_198)))
+            * arr((min(CSALBASE,CSAL_TLDEC_1) - max(CSAL_NTLDEC_198,CSAL_REF* (1-present(CSAL_NTLDEC_198)))-CSALPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSALBASE - max(CSAL_NTLDEC_198,CSAL_REF-CSALPROV* (1-present(CSAL_NTLDEC_198))+0))
+            * arr((min(CSALBASE,CSAL_TLDEC_1) - max(CSAL_NTLDEC_198,CSAL_REF* (1-present(CSAL_NTLDEC_198)))-CSALPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRCSAL_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRCDIS_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(CDISBASE - CDIS_R99R) 
+		       * (
+             (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198))+0))
+            * arr((CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198))+0)) 
+            * arr((CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(CDISBASE - CDIS_REF) 
+		       * (
+             (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF+0))
+            * arr((min(CDISBASE,CDIS_TLDEC_1) - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198))+0))
+            * arr((min(CDISBASE,CDIS_TLDEC_1) - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRCDIS_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRCHR_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(CHRBASE - CHR_R99R) 
+		       * (
+             (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198))+0))
+            * arr((CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198))+0)) 
+            * arr((CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(CHRBASE - CHR_REF) 
+		       * (
+             (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF+0))
+            * arr((min(CHRBASE,CHR_TLDEC_1) - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198))+0))
+            * arr((min(CHRBASE,CHR_TLDEC_1) - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRCHR_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRPCAP_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(PCAPBASE - PCAP_R99R) 
+		       * (
+             (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198))+0))
+            * arr((PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198))+0)) 
+            * arr((PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(PCAPBASE - PCAP_REF) 
+		       * (
+             (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF+0))
+            * arr((min(PCAPBASE,PCAP_TLDEC_1) - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198))+0))
+            * arr((min(PCAPBASE,PCAP_TLDEC_1) - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRPCAP_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRGAIN_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(GAINBASE - GAIN_R99R) 
+		       * (
+             (positif(GAINBASE - max(GAIN_NTLDEC_198,GAIN_REF* (1-present(GAIN_NTLDEC_198))+0))
+            * arr((GAINBASE - max(GAIN_NTLDEC_198,GAIN_REF* (1-present(GAIN_NTLDEC_198)))-GAINPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(GAINBASE - max(GAIN_NTLDEC_198,GAIN_REF* (1-present(GAIN_NTLDEC_198))+0)) 
+            * arr((GAINBASE - max(GAIN_NTLDEC_198,GAIN_REF* (1-present(GAIN_NTLDEC_198)))-GAINPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(GAINBASE - GAIN_REF) 
+		       * (
+             (positif(GAINBASE - max(GAIN_NTLDEC_198,GAIN_REF+0))
+            * arr((min(GAINBASE,GAIN_TLDEC_1) - max(GAIN_NTLDEC_198,GAIN_REF* (1-present(GAIN_NTLDEC_198)))-GAINPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(GAINBASE - max(GAIN_NTLDEC_198,GAIN_REF* (1-present(GAIN_NTLDEC_198))+0))
+            * arr((min(GAINBASE,GAIN_TLDEC_1) - max(GAIN_NTLDEC_198,GAIN_REF* (1-present(GAIN_NTLDEC_198)))-GAINPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRGAIN_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE1_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE1BASE - RSE1_R99R) 
+		       * (
+             (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198))+0))
+            * arr((RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198))+0)) 
+            * arr((RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE1BASE - RSE1_REF) 
+		       * (
+             (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF+0))
+            * arr((min(RSE1BASE,RSE1_TLDEC_1) - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198))+0))
+            * arr((min(RSE1BASE,RSE1_TLDEC_1) - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE1_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE2_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE2BASE - RSE2_R99R) 
+		       * (
+             (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198))+0))
+            * arr((RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198))+0)) 
+            * arr((RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE2BASE - RSE2_REF) 
+		       * (
+             (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF+0))
+            * arr((min(RSE2BASE,RSE2_TLDEC_1) - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198))+0))
+            * arr((min(RSE2BASE,RSE2_TLDEC_1) - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE2_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE3_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE3BASE - RSE3_R99R) 
+		       * (
+             (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198))+0))
+            * arr((RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198))+0)) 
+            * arr((RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE3BASE - RSE3_REF) 
+		       * (
+             (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF+0))
+            * arr((min(RSE3BASE,RSE3_TLDEC_1) - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198))+0))
+            * arr((min(RSE3BASE,RSE3_TLDEC_1) - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE3_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE4_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE4BASE - RSE4_R99R) 
+		       * (
+             (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198))+0))
+            * arr((RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198))+0)) 
+            * arr((RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE4BASE - RSE4_REF) 
+		       * (
+             (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF+0))
+            * arr((min(RSE4BASE,RSE4_TLDEC_1) - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198))+0))
+            * arr((min(RSE4BASE,RSE4_TLDEC_1) - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE4_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+regle corrective 108111:
+application : iliad ;
+INRIR_NTL_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			 null(2-FLAG_INR) * positif(IRNIN_INR - IRNIN_R99R)
+                       * (
+            (positif(IRNIN_INR - max(IRNIN_REF+0,IRNIN_NTLDEC)) 
+            * arr((IRNIN_INR - max(IRNIN_REF,IRNIN_NTLDEC)) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR - max(IRNIN_NTLDEC,IRNIN_REF+0))
+            * positif(IRNIN_INR-max(IRNIN_NTLDEC,IRNIN_RECT))
+            * arr((IRNIN_INR - max(IRNIN_NTLDEC,IRNIN_REF)) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+                   +  null(3-FLAG_INR) * positif(IRNIN_INR - IRNIN_REF)
+                       * (
+            (positif(IRNIN_INR - max(IRNIN_REF+0,IRNIN_NTLDEC)) 
+            * arr((min(IRNIN_INR,IRNIN_TLDEC_1) - max(IRNIN_REF,IRNIN_NTLDEC)) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR - max(IRNIN_NTLDEC,IRNIN_REF+0))
+            * positif(IRNIN_INR-max(IRNIN_NTLDEC,IRNIN_RECT))
+            * arr((min(IRNIN_INR,IRNIN_TLDEC_1) - max(IRNIN_NTLDEC,IRNIN_REF)) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+                                                )
+                                               ;
+INRCSG_NTL_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			 null(2 - FLAG_INR) * positif(CSG-CSG_R99R) 
+			* (
+            (positif(CSG * positif(CSG+PRS+RDSN-SEUIL_61) - max(CSG_NTLDEC,CSG_REF+0))
+            * arr((CSG - max(CSG_NTLDEC,CSG_REF)-CSGIM) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_61)  - max(CSG_NTLDEC,CSG_REF+0))
+            * arr((CSG - max(CSG_NTLDEC,CSG_REF)-CSGIM) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                              )
+                      + null(3 - FLAG_INR) * positif(CSG-CSG_REF) 
+			* (
+            (positif(CSG * positif(CSG+PRS+RDSN-SEUIL_61) - max(CSG_NTLDEC,CSG_REF+0))
+            * arr((min(CSG,CSG_TLDEC_1) - max(CSG_NTLDEC,CSG_REF)-CSGIM) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_61)  - max(CSG_NTLDEC,CSG_REF+0))
+            * arr((min(CSG,CSG_TLDEC_1) - max(CSG_NTLDEC,CSG_REF)-CSGIM) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                              )
+                            )
+             ;
+INRPRS_NTL_1 = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			   null(2 - FLAG_INR) * positif(PRS-PRS_R99R) 
+			   * (
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_61)  - max(PRS_NTLDEC,PRS_REF+0)) 
+            * arr((PRS  - max(PRS_NTLDEC,PRS_REF)-PRSPROV) * (TXINRRED / 200))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PRS * positif(CSG+PRS+RDSN-SEUIL_61) - max(PRS_NTLDEC,PRS_REF+0))
+            * arr((PRS - max(PRS_NTLDEC,PRS_REF)-PRSPROV) * (TXINRRED / 200))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                        )
+                        + null(3 - FLAG_INR) * positif(PRS-PRS_REF) 
+			   * (
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_61)  - max(PRS_NTLDEC,PRS_REF+0)) 
+            * arr((min(PRS,PRS_TLDEC_1)  - max(PRS_NTLDEC,PRS_REF)-PRSPROV) * (TXINRRED / 20
\ No newline at end of file
diff --git a/sources2012m_3_13/chap-isf.m b/sources2012m_3_13/chap-isf.m
new file mode 100644
index 0000000000000000000000000000000000000000..38e62958b89d97d02754867e593e17619c0c719a
--- /dev/null
+++ b/sources2012m_3_13/chap-isf.m
@@ -0,0 +1,247 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle isf 77001:
+application : iliad , batch  ;
+DISFBASE =  ISFBASE;  
+		     
+regle isf 77010:
+application : iliad , batch ;
+TR2_ISF = arr( max(0, min( DISFBASE , LIM_TR2_ISF ) - (LIM_TR1_ISF)) * (TX_TR2_ISF/10000)) ;
+TR3_ISF = arr( max(0, min( DISFBASE , LIM_TR3_ISF ) - (LIM_TR2_ISF)) * (TX_TR3_ISF/10000)) ;
+TR4_ISF = arr( max(0, min( DISFBASE , LIM_TR4_ISF  ) - (LIM_TR3_ISF)) * (TX_TR4_ISF/100)) ;
+TR5_ISF = arr( max(0, min( DISFBASE , LIM_TR5_ISF  ) - (LIM_TR4_ISF)) * (TX_TR5_ISF/10000)) ;
+TR6_ISF = arr( max(0, DISFBASE - LIM_TR5_ISF) * (TX_TR6_ISF/1000)) ;
+
+ISF1 = TR2_ISF + TR3_ISF + TR4_ISF + TR5_ISF + TR6_ISF;
+
+regle isf 77015:
+application :  iliad , batch ;
+ISFDEC = arr((17500 - ( (TX_TR5_ISF/10000) * ISFBASE)) 
+		  * positif(ISFBASE-LIM_ISFINF)*positif(LIM_ISFDEC - ISFBASE))
+	 * positif(ISF1); 
+
+DISFDEC = ISFDEC;
+
+regle isf 77020:
+application :  iliad , batch ;
+ISFBRUT = arr((ISF1 - ISFDEC) * positif( LIM_ISFDEC - 1 - ISFBASE )
+	     + ISF1 * (1-positif(LIM_ISFDEC - 1 - ISFBASE))) ;
+
+regle isf 77030:
+application : iliad , batch  ;
+DISFPMED = ISFPMEDI ;
+DISFPMEI = ISFPMEIN ;
+AISFPMED = arr(ISFPMEDI * (TX50/100)) ;
+AISFPMEI = arr(ISFPMEIN * (TX50/100)) ;
+RISFPMED_1 = min(45000, AISFPMED);
+RISFPMEI_1 = max(0, min(45000 - RISFPMED_1, AISFPMEI));
+
+
+DISFFIP = ISFFIP ;
+DISFFCPI = ISFFCPI ;
+AISFFIP = arr(ISFFIP * (TX50/100)) ;
+AISFFCPI = arr(ISFFCPI * (TX50/100)) ;
+RISFFIP_1 = min(18000, AISFFIP);
+RISFFCPI_1 = max(0, min(18000 -  RISFFIP_1, AISFFCPI));
+
+regle isf 77040:
+application : iliad , batch  ;
+PLAF_ISFRED = 50000 * (1-positif(ISFPMEDI+ISFPMEIN+ISFFIP+ISFFCPI))
+	      + 45000 * positif(ISFPMEDI+ISFPMEIN+ISFFIP+ISFFCPI) ;
+
+DISFDONF = ISFDONF ;
+DISFDONCEE = ISFDONEURO ;
+
+AISFDONF =arr(ISFDONF * (TX75/100)) ;
+AISFDONCEE = arr(ISFDONEURO * (TX75/100)) ;
+
+RISFDONF_1 = min( PLAF_ISFRED , AISFDONF);
+RISFDONCEE_1 = max(0, min( PLAF_ISFRED - RISFDONF_1, AISFDONCEE)); 
+
+regle isf 77050:
+application : iliad , batch  ;
+RISFDONF_2 = min(PLAF_ISFRED, RISFDONF_1);
+RISFDONCEE_2 = max(0, min(PLAF_ISFRED - RISFDONF_1, RISFDONCEE_1));
+RISFPMED_2 = max(0, min(PLAF_ISFRED - RISFDONF_1 - RISFDONCEE_1, RISFPMED_1));
+RISFPMEI_2 = max(0, min(PLAF_ISFRED - RISFDONF_1 - RISFDONCEE_1 - RISFPMED_1, RISFPMEI_1));
+RISFFIP_2 = max(0, min(PLAF_ISFRED - RISFDONF_1 - RISFDONCEE_1 - RISFPMED_1 - RISFPMEI_1, 
+		     RISFFIP_1));
+RISFFCPI_2 = max(0, min(PLAF_ISFRED - RISFDONF_1 - RISFDONCEE_1 - RISFPMED_1 - RISFPMEI_1 
+		       - RISFFIP_1, RISFFCPI_1 ));
+
+RISFDONF = max( min( RISFDONF_2, ISFBRUT) , 0)
+
+	      * ( 1 - null( CODE_2042 - 8 )) 
+	      * ( 1 - null( CMAJ_ISF - 8)); 
+
+RISFDONCEE = max( min( RISFDONCEE_2, ISFBRUT - RISFDONF), 0)
+	      * ( 1 - null( CODE_2042 - 8 )) 
+	      * ( 1 - null( CMAJ_ISF - 8)); 
+
+
+RISFPMED = max( min( RISFPMED_2, ISFBRUT - RISFDONF - RISFDONCEE), 0)
+	      * ( 1 - null( CODE_2042 - 8 )) 
+	      * ( 1 - null( CMAJ_ISF - 8)); 
+
+
+RISFPMEI = max( min( RISFPMEI_2, ISFBRUT - RISFDONF - RISFDONCEE - RISFPMED), 0)
+	      * ( 1 - null( CODE_2042 - 8 )) 
+	      * ( 1 - null( CMAJ_ISF - 8)); 
+
+
+
+RISFFIP = max( min( RISFFIP_2, ISFBRUT - RISFDONF - RISFDONCEE - RISFPMED - RISFPMEI), 0)
+	      * ( 1 - null( CODE_2042 - 8 )) 
+	      * ( 1 - null( CMAJ_ISF - 8)); 
+
+
+
+RISFFCPI = max( min( RISFFCPI_2, ISFBRUT - RISFDONF - RISFDONCEE 
+		                         - RISFPMED - RISFPMEI - RISFFIP ), 0)
+	      * ( 1 - null( CODE_2042 - 8 )) 
+	      * ( 1 - null( CMAJ_ISF - 8)); 
+
+
+regle isf 77066:
+application : iliad , batch  ;
+REDISF = RISFDONF + RISFDONCEE + RISFPMED
+         + RISFPMEI + RISFFIP + RISFFCPI ;
+
+TXTOISF = RETXISF + COPETOISF ;
+
+regle isf 77065:
+application : iliad , batch  ;
+ISFTRED =  RISFDONF + RISFDONCEE + RISFPMED
+         + RISFPMEI + RISFFIP + RISFFCPI + RISFE ;
+
+regle isf 77070:
+application : iliad , batch  ;
+ISFNETRED = max(0, ISFBRUT - RISFDONF - RISFDONCEE - RISFPMED - RISFPMEI - RISFFIP - RISFFCPI) ;   
+
+regle isf 77075:
+application : iliad , batch  ;
+DISFPLAF = ISFPLAF ; 
+
+RISFPLAF = max(0,  ISFNETRED * positif(ISFPLAF - ISFNETRED)
+		 + ISFPLAF * (1-positif(ISFPLAF - ISFNETRED)));
+
+regle isf 77076:
+application : iliad , batch  ;
+ISFPOSTPLAF = max(0, ISFNETRED - RISFPLAF); 
+
+regle isf 77080:
+application : iliad , batch  ;
+DISFE = ISFETRANG ;
+
+RISFE = positif(DISFBASE)*positif(ISFETRANG)*( min(ISFPOSTPLAF , ISFETRANG));
+
+regle isf 77090:
+application : iliad , batch  ;
+
+ISF5 = max(0, ISFPOSTPLAF - RISFE) ;
+
+regle isf 77200:
+application : iliad , batch  ;
+
+COPETOISF = si (CMAJ_ISF = 7 ou CMAJ_ISF = 17 ou CMAJ_ISF = 18)
+            alors (10)
+	    sinon
+		 ( si (CMAJ_ISF = 8)
+		       alors (40)
+		       finsi )
+            finsi;
+
+NMAJISF1 = max (0, MAJO1728ISF + arr(ISF5 * COPETOISF/100) * positif_ou_nul(ISF5 - SEUIL_12)
+                + FLAG_TRTARDIF * MAJOISFTARDIF_D 
+               + FLAG_TRTARDIF_F * MAJOISFTARDIF_D
+	       - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOISFTARDIF_R
+				    + (1 - positif(FLAG_RECTIF)) * MAJOISFTARDIF_A)
+	       );
+
+
+
+TXPF1728ISF =si (V_CODPF1728ISF=07 ou V_CODPF1728ISF=17 ou V_CODPF1728ISF=18)
+	     alors (10)
+	     sinon
+	          (si (V_CODPF1728ISF=08)
+	           alors (40)
+		   finsi)
+	     finsi ;
+
+
+MAJTXISF1 = (1 - positif(V_NBCOD1728ISF))
+             * ((1 - positif(CMAJ_ISF)) * positif(NMAJISF1) * TXPF1728ISF + positif(CMAJ_ISF) * COPETOISF)
+             + positif(V_NBCOD1728ISF) * (-1) ;
+regle isf 77210:
+application : iliad , batch  ;
+INTMSISF = inf( MOISAN_ISF / 10000 );
+INTANISF = (( MOISAN_ISF/10000 - INTMSISF )*10000)  * present(MOISAN_ISF) ;
+TXINTISF =  (max(0, (INTANISF - (V_ANREV+1) )* 12 + INTMSISF - 6 ) * TXMOISRETARD2)
+	    * present(MOISAN_ISF);
+PTOISF = arr(ISF5 * COPETOISF / 100) + arr(ISF5 * TXINTISF / 100) ;
+RETISF = (RETISF2 + arr(ISF5 * TXINTISF/100))* positif_ou_nul(ISF4BIS - SEUIL_12) ;
+RETXISF = positif(CMAJ_ISF) * TXINTISF
+               + (TXINRISF * (1-positif(TXINRISF_A)) + (-1) * positif(TXINRISF_A) * positif(TXINRISF) 
+		   * positif(positif(TXINRISF - TXINRISF_A)+positif(TXINRISF_A-TXINRISF)))
+               + (TXINRISF * positif(TXINRISF_A) * null(TXINRISF - TXINRISF_A))
+               ;
+
+
+NATMAJISF = positif(positif(RETISF) * positif(NMAJISF1)+positif(NMAJISF1))
+	    + 2 * positif(RETISF) * (1-positif(NMAJISF1));
+
+regle isf 77215:
+application : iliad , batch  ;
+
+
+
+PISF = ( INCISF_NET 
+	 + NMAJISF1 
+         + arr(ISF5 * TXINTISF / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+
+regle isf 77219 :
+application : iliad , batch ;
+
+NAPISFTOT = ISF5 + PISF ;
+
+regle isf 77220:
+application : iliad , batch ;
+
+ISFNET = NAPISFTOT ; 
+
+regle isf 77221:
+application : iliad , batch ;
+
+ISFNAP = ISFCUM - V_ANTISF ;
+
+regle isf 77230:
+application : iliad, batch ;
+
+ILI_SYNT_ISF = (1 - positif_ou_nul(ISF4BIS - SEUIL_12)) * null(V_ANTISF+0) * ISF4BIS
+               + positif_ou_nul(ISF4BIS - SEUIL_12) * ISF4BIS ;
+               
+
+regle isf 77270:
+application : iliad, batch ;
+
+
+ISF4BIS= max( 0, ISF5 ) ; 
+
diff --git a/sources2012m_3_13/chap-majo.m b/sources2012m_3_13/chap-majo.m
new file mode 100644
index 0000000000000000000000000000000000000000..8d4b85448664f681c54a275797c469cfaa908a5e
--- /dev/null
+++ b/sources2012m_3_13/chap-majo.m
@@ -0,0 +1,769 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle isf 232:
+application : iliad ;
+SUPISF[X] = positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X)
+            * max(ISF4BASE,0)
+            + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	     * max(0,ISF4BASE - (TISF4BASE[FLAG_DERSTTR]));
+
+
+regle 23111:
+application : iliad ;
+IRBASE = IRN - IRANT ;
+CSBASE_MAJO = (CSG - CSGIM) * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+					  + RSE2 + RSE3 + RSE4 - SEUIL_61);
+RDBASE_MAJO = (RDSN - CRDSIM) * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+					    + RSE2 + RSE3 + RSE4 - SEUIL_61);
+PSBASE_MAJO = (PRS - PRSPROV) * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+					    + RSE2 + RSE3 + RSE4 - SEUIL_61);
+CSALBASE_MAJO = (CSAL - CSALPROV) * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+						+ RSE2 + RSE3 + RSE4 - SEUIL_61);
+CDISBASE_MAJO = CDIS * positif(CDIS + CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+                                          + RSE2 + RSE3 + RSE4 - SEUIL_61);
+TAXABASE_MAJO = TAXASSUR * positif(IAMD1 + 1 - SEUIL_61);
+
+HRBASE_MAJO = IHAUTREVT * positif(IAMD1 + 1 - SEUIL_61);
+
+CAPBASE_MAJO = IPCAPTAXT * positif(IAMD1 + 1 - SEUIL_61);
+
+GAINBASE_MAJO = (CGAINSAL - GAINPROV) * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1
+						+ RSE2 + RSE3 + RSE4 - SEUIL_61);
+
+RSE1BASE_MAJO = RSE1N * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1N
+                                   + RSE2N + RSE3N + RSE4N - SEUIL_61);
+
+RSE2BASE_MAJO = RSE2N * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1N
+				   + RSE2N + RSE3N + RSE4N - SEUIL_61);
+
+RSE3BASE_MAJO = RSE3N * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1N
+				   + RSE2N + RSE3N + RSE4N - SEUIL_61);
+
+RSE4BASE_MAJO = RSE4N * positif(CSG + RDSN + PRS + CSAL + CGAINSAL + RSE1N
+                                   + RSE2N + RSE3N + RSE4N - SEUIL_61);
+
+regle corrective 23112:
+application :   iliad ;
+TOT_BASE_MAJO = IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + HRBASE_MAJO ;
+
+TOT_REF = TIRBASE[FLAG_DERSTTR] +TTAXABASE[FLAG_DERSTTR]
+	 +TPCAPBASE[FLAG_DERSTTR]+TCHRBASE[FLAG_DERSTTR];
+
+
+TAXA_ISO = TAXASSUR * positif(IAMD1 + 1 - SEUIL_61) ; 
+CAP_ISO  = IPCAPTAXT * positif(IAMD1 + 1 - SEUIL_61) ; 
+HR_ISO   = IHAUTREVT  * positif(IAMD1 + 1 - SEUIL_61) ; 
+SUPIR_PENA_RESTIT = max(0, min( IRBASE + TTAXABASE[FLAG_DERSTTR]+TPCAPBASE[FLAG_DERSTTR]+TCHRBASE[FLAG_DERSTTR]
+				- TOT_REF ,
+                                 min(
+                                      min(IRBASE_IRECT , IRBASE) - TIRBASE[FLAG_DERSTTR] ,
+                                      TOT_BASE_MAJO - TOT_REF
+                                    )
+                               )
+                        );
+
+
+SUPIR[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                   * max( 0, min( 
+			          min( IRBASE_IRECT , IRBASE ),
+				  TOT_BASE_MAJO 
+                                )
+                            
+                        )
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+		 * SUPIR_PENA_RESTIT
+
+
+             + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+             * (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+             * (1 - positif(null(X-1)))
+	     * ((1 - positif(TARDIFEVT2)*null(X-2))
+                       * max( 0 , min( max( 0, IRBASE + TTAXABASE[FLAG_DERSTTR]+TPCAPBASE[FLAG_DERSTTR]+TCHRBASE[FLAG_DERSTTR])
+			               - max( 0 , TOT_REF ),
+			               min(
+				       		min(IRBASE_IRECT , IRBASE) - TIRBASE[FLAG_DERSTTR] ,
+						max( 0 , TOT_BASE_MAJO ) - max( 0 , TOT_REF )
+                                          )
+                                     )
+                            )
+                 + positif(TARDIFEVT2) * null(X-2) * TIRBASE[FLAG_DERSTTR]
+	       )
+
+           + (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13)))) 
+              *  null(X-1)*positif( null(CSTRATE1 - 1)
+			       +null(CSTRATE1 - 7)
+		               +null(CSTRATE1 - 8)
+			       +null(CSTRATE1 - 10)
+		               +null(CSTRATE1 - 11)
+	                       +null(CSTRATE1 - 17)
+                               +null(CSTRATE1 - 18)) 
+                       * max( 0 , min( max( 0, IRBASE + TTAXABASE[FLAG_DERSTTR]+TPCAPBASE[FLAG_DERSTTR]+TCHRBASE[FLAG_DERSTTR])
+			               - max( 0 , TOT_REF ),
+			               min(
+				       		min(IRBASE_IRECT , IRBASE) - TIRBASE[FLAG_DERSTTR] ,
+						max( 0 , TOT_BASE_MAJO ) - max( 0 , TOT_REF )
+                                          )
+                                     )
+                            )
+
+
+           + null(X-1)*positif( null(CSTRATE1 - 3)
+	                       +null(CSTRATE1 - 4)
+			       +null(CSTRATE1 - 5)
+			       +null(CSTRATE1 - 6)
+		               +null(CSTRATE1 - 55)) 
+                              		* SUPIR_PENA_RESTIT ; 
+
+
+SUP2IR[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                    * max( 0, min( 
+			            min( IRBASE_IRECT , IRBASE ),
+				    TOT_BASE_MAJO 
+                                 )
+                         )         
+
+	      + ((positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))
+                    * SUPIR_PENA_RESTIT 
+	          )
+	          + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20)))* 0)
+                 * (1 - positif(null(X-1))) 
+           + null(X-1)*positif( null(CSTRATE1 - 1)
+                               +null(CSTRATE1 - 17)
+	                       +null(CSTRATE1 - 2)
+			       +null(CSTRATE1 - 10)
+		               +null(CSTRATE1 - 30)) 
+	             * SUPIR_PENA_RESTIT;
+
+SUPCS[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,CSBASE_MAJO - (TCSBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(CSBASE_MAJO - TCSBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(CSBASE_MAJO,0); 
+SUPPS[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,PSBASE_MAJO - (TPSBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(PSBASE_MAJO - TPSBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(PSBASE_MAJO,0); 
+SUPRD[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,RDBASE_MAJO - (TRDBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RDBASE_MAJO - TRDBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RDBASE_MAJO,0); 
+SUPCSAL[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,CSALBASE_MAJO - (TCSALBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(CSALBASE_MAJO - TCSALBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(CSALBASE_MAJO,0); 
+SUPCDIS[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,CDISBASE_MAJO - (TCDISBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(CDISBASE_MAJO - TCDISBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(CDISBASE_MAJO,0); 
+SUPGAIN[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,GAINBASE_MAJO - (TGAINBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(GAINBASE_MAJO - TGAINBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(GAINBASE_MAJO,0); 
+
+SUPRSE1[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,RSE1BASE_MAJO - (TRSE1BASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RSE1BASE_MAJO - TRSE1BASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RSE1BASE_MAJO,0); 
+
+SUPRSE2[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,RSE2BASE_MAJO - (TRSE2BASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RSE2BASE_MAJO - TRSE2BASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RSE2BASE_MAJO,0); 
+
+SUPRSE3[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0, min(RSE3BASE2042_FIC , RSE3BASE_MAJO) - (TRSE3BASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RSE3BASE_MAJO - TRSE3BASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RSE3BASE_MAJO,0); 
+
+SUPRSE4[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,RSE4BASE_MAJO - (TRSE4BASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RSE4BASE_MAJO - TRSE4BASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RSE4BASE_MAJO,0); 
+
+SUPTAXA[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+		      * max(0, min( IRBASE + TAXABASE_MAJO ,
+				       min(
+				             min( TAXABASE_IRECT , TAXABASE_MAJO) ,
+				             TOT_BASE_MAJO
+				          )
+                                  )
+                           )
+
+
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+	         * max(0, min( IRBASE + TAXABASE_MAJO + TPCAPBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR]
+			       - TOT_REF ,
+				   min(
+		                   	min( TAXABASE_IRECT , TAXABASE_MAJO) - TTAXABASE[FLAG_DERSTTR] ,
+				   	TOT_BASE_MAJO - TOT_REF
+                                      )
+                             )
+                       )			       
+
+
+              + ( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		* (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+
+		    * max( 0 , min( max( 0 , IRBASE + TAXABASE_MAJO + TPCAPBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR] )
+				     - max( 0 , TOT_REF ) ,
+				    min(
+			             min( TAXABASE_IRECT , TAXABASE_MAJO) - TTAXABASE[FLAG_DERSTTR] ,
+			             max( 0 , TOT_BASE_MAJO )  - max( 0 , TOT_REF )
+				     )
+				  )
+		         ) ;
+
+
+
+SUP2TAXA[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+
+		      * max(0, min( IRBASE + TAXABASE_MAJO ,
+				       min(
+				             min( TAXABASE_IRECT , TAXABASE_MAJO) ,
+				             TOT_BASE_MAJO
+				          )
+                                  )
+                           )
+
+	      + (positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))
+
+	         * max(0, min( IRBASE + TAXABASE_MAJO + TPCAPBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR]
+			       - TOT_REF ,
+				   min(
+		                   	min( TAXABASE_IRECT , TAXABASE_MAJO) - TTAXABASE[FLAG_DERSTTR] ,
+				   	TOT_BASE_MAJO - TOT_REF
+                                      )
+                             )
+                       )			       
+	        )
+	     + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))) * 0
+	     ;
+
+
+SUPCAP[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+		    * max(0, min( IRBASE + TAXABASE_MAJO + CAPBASE_MAJO ,
+				     min(
+					    min( CAPBASE_IRECT , CAPBASE_MAJO) ,
+                                            TOT_BASE_MAJO
+					)
+                                 )
+                         )
+
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+	         * max(0, min(IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + TCHRBASE[FLAG_DERSTTR] - TOT_REF,
+			      min(
+			           min( CAPBASE_IRECT , CAPBASE_MAJO) - TPCAPBASE[FLAG_DERSTTR] , 
+				   TOT_BASE_MAJO - TOT_REF
+                                 )
+                             )
+                      )
+	+( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		* (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+
+	        * max( 0 , min( max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + TCHRBASE[FLAG_DERSTTR])
+				 - max( 0 , TOT_REF ) ,  
+				  min(
+				     min( CAPBASE_IRECT , CAPBASE_MAJO) - TPCAPBASE[FLAG_DERSTTR] ,
+				     max( 0 , TOT_BASE_MAJO ) - max( 0 , TOT_REF )
+                                     )
+                              )
+                     ) ;
+
+SUP2CAP[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+		     * max(0, min( IRBASE + TAXABASE_MAJO + CAPBASE_MAJO ,
+				     min(
+					    min( CAPBASE_IRECT , CAPBASE_MAJO) ,
+                                            TOT_BASE_MAJO
+					)
+                                 )
+                          )
+	      + (positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))
+	         * max(0, min(IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + TCHRBASE[FLAG_DERSTTR] - TOT_REF,
+			      min(
+			           min( CAPBASE_IRECT , CAPBASE_MAJO) - TPCAPBASE[FLAG_DERSTTR] , 
+				   TOT_BASE_MAJO - TOT_REF
+                                 )
+                             )
+                      )
+
+	        )
+	     + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))) * 0
+	     ;
+
+SUPHR[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+		    * max(0, 
+				     min(
+					    min( HRBASE_IRECT , HRBASE_MAJO) ,
+                                            TOT_BASE_MAJO
+					)
+                          )
+
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+	         * max(0, min( 
+		                min( HRBASE_IRECT, HRBASE_MAJO) - TCHRBASE[FLAG_DERSTTR] , 
+                                TOT_BASE_MAJO - TOT_REF
+                             )
+                      )
+
+              + ( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		* (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+                * max( 0 , min( 
+                                  min( HRBASE_IRECT, HRBASE_MAJO) - TCHRBASE[FLAG_DERSTTR] ,
+			          max( 0 , TOT_BASE_MAJO ) - max( 0 , TOT_REF ) 
+                              )
+                     );
+
+
+SUP2HR[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF) 
+		    * max(0, 
+				     min(
+					    min( HRBASE_IRECT , HRBASE_MAJO) ,
+                                            TOT_BASE_MAJO
+					)
+                          )
+
+	      + (positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))
+
+	         * max(0, min( 
+		                min( HRBASE_IRECT, HRBASE_MAJO) - TCHRBASE[FLAG_DERSTTR] , 
+                                TOT_BASE_MAJO - TOT_REF
+                             )
+                      )
+	        )
+	     + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20))) * 0
+	        ;
+regle corrective 23113:
+application : iliad;
+TMAJOIR[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPIR[X] * TAUX_STRATE/100 ));
+T2MAJOIR[X] = (1 - null(1 - IND_RJLJ))
+	     * (
+	     (positif(null(X - 0) * null(CODE_2042 - 17) 
+		 +null(X-14)+null(X-15)+null(X-18)+null(X-20))
+		*(null(X-20)*TL_IR*arr(SUP2IR[X] * TX1758A/100)
+		  +(1-null(X-20)) * arr(SUP2IR[X] * TX1758A/100)))
+
+	      + null(X-1) 
+	                  * positif(null(X - 1) * null(CSTRATE1 - 17)
+                               +null(CSTRATE1 - 1)
+	                       +null(CSTRATE1 - 2)
+			       +null(CSTRATE1 - 10)
+		               +null(CSTRATE1 - 30)) * arr(SUP2IR[X] * TX1758A/100)
+
+                 ); 
+
+MAJOIR_ST = MAJOIRST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOIR[X] + T2MAJOIR[X];
+TMAJOCS[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCS[X] * TAUX_STRATE/100 ));
+MAJOCS_ST = MAJOCSST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCS[X] ;
+TMAJOPS[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPPS[X] * TAUX_STRATE/100 ));
+MAJOPS_ST = MAJOPSST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOPS[X] ;
+TMAJORD[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRD[X] * TAUX_STRATE/100 ));
+MAJORD_ST = MAJORDST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORD[X] ;
+TMAJOCSAL[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCSAL[X] * TAUX_STRATE/100 ));
+MAJOCSAL_ST = MAJOCSALST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCSAL[X] ;
+TMAJOCDIS[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCDIS[X] * TAUX_STRATE/100 ));
+MAJOCDIS_ST = MAJOCDISST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCDIS[X] ;
+TMAJOGAIN[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPGAIN[X] * TAUX_STRATE/100 ));
+MAJOGAIN_ST = MAJOGAINST_DEF * (1 - positif(FLAG_1STRATE)) + 
+TMAJOGAIN[X] ;
+TMAJORSE1[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE1[X] * TAUX_STRATE/100 ));
+MAJORSE1_ST = MAJORSE1ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE1[X] ;
+TMAJORSE2[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE2[X] * TAUX_STRATE/100 ));
+MAJORSE2_ST = MAJORSE2ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE2[X] ;
+TMAJORSE3[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE3[X] * TAUX_STRATE/100 ));
+MAJORSE3_ST = MAJORSE3ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE3[X] ;
+TMAJORSE4[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE4[X] * TAUX_STRATE/100 ));
+MAJORSE4_ST = MAJORSE4ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE4[X] ;
+TMAJOTAXA[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPTAXA[X] * TAUX_STRATE/100 ));
+T2MAJOTAXA[X] = (1 - null(1 - IND_RJLJ))
+	     * (positif(null(X - 0) * null(CODE_2042 - 17) 
+	        + null(X-14)+null(X-15)+null(X-18)+null(X-20))
+		*(null(X-20)*TL_TAXAGA*arr(SUP2TAXA[X] * TX1758A/100)
+		  +(1-null(X-20)) * arr(SUP2TAXA[X] * TX1758A/100)));
+MAJOTAXA_ST = MAJOTAXAST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOTAXA[X] + T2MAJOTAXA[X];
+TMAJOHR[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPHR[X] * TAUX_STRATE/100 ));
+T2MAJOHR[X] = (1 - null(1 - IND_RJLJ))
+	     * (positif(null(X - 0) * null(CODE_2042 - 17) 
+	        + null(X-14)+null(X-15)+null(X-18)+null(X-20))
+		*(null(X-20)*TL_CHR*arr(SUP2HR[X] * TX1758A/100)
+		  +(1-null(X-20)) * arr(SUP2HR[X] * TX1758A/100)));
+MAJOHR_ST = MAJOHRST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOHR[X] + T2MAJOHR[X];
+TMAJOCAP[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCAP[X] * TAUX_STRATE/100 ));
+T2MAJOCAP[X] = (1 - null(1 - IND_RJLJ))
+	     * (positif(null(X - 0) * null(CODE_2042 - 17) 
+	        + null(X-14)+null(X-15)+null(X-18)+null(X-20))
+		*(null(X-20)*TL_CAP*arr(SUP2CAP[X] * TX1758A/100)
+		  +(1-null(X-20)) * arr(SUP2CAP[X] * TX1758A/100)));
+MAJOCAP_ST = MAJOCAPST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCAP[X] + T2MAJOCAP[X];
+regle isf 233:
+application : iliad;
+TMAJOISF[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPISF[X] * TAUX_STRATE/100 ));
+MAJOISF_ST = MAJOISFST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOISF[X] ;
+regle corrective 23114:
+application : iliad;
+
+MAJOIR07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+			* STR_TR16 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR17_2TARDIF = max(0,arr(FLAG_TRTARDIF * TX1758A/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR_TARDIF = somme(x = 07,08: MAJOIR0x_TARDIF) 
+		+ MAJOIR17_1TARDIF + MAJOIR17_2TARDIF;
+MAJOCS07_TARDIF = max(0,arr(FLAG_TRTARDIF * CSBASE_MAJO * TAUX_2042/100)
+			* STR_TR16 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCS08_TARDIF = max(0,arr(FLAG_TRTARDIF * CSBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCS17_TARDIF = max(0,arr(FLAG_TRTARDIF * CSBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCS_TARDIF = somme(x = 07,08,17 : MAJOCSx_TARDIF);
+MAJOPS07_TARDIF = max(0,arr(FLAG_TRTARDIF * PSBASE_MAJO * TAUX_2042/100)
+			* STR_TR16 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOPS08_TARDIF = max(0,arr(FLAG_TRTARDIF * PSBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOPS17_TARDIF = max(0,arr(FLAG_TRTARDIF * PSBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOPS_TARDIF = somme(x = 07,08,17 : MAJOPSx_TARDIF);
+MAJORD07_TARDIF = max(0,arr(FLAG_TRTARDIF * RDBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJORD08_TARDIF = max(0,arr(FLAG_TRTARDIF * RDBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJORD17_TARDIF = max(0,arr(FLAG_TRTARDIF * RDBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJORD_TARDIF = somme(x = 07,08,17 : MAJORDx_TARDIF);
+MAJOCSAL07_TARDIF = max(0,arr(FLAG_TRTARDIF * CSALBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCSAL08_TARDIF = max(0,arr(FLAG_TRTARDIF * CSALBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCSAL17_TARDIF = max(0,arr(FLAG_TRTARDIF * CSALBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCSAL_TARDIF = somme(x = 07,08,17 : MAJOCSALx_TARDIF);
+MAJOGAIN07_TARDIF = max(0,arr(FLAG_TRTARDIF * GAINBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOGAIN08_TARDIF = max(0,arr(FLAG_TRTARDIF * GAINBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOGAIN17_TARDIF = max(0,arr(FLAG_TRTARDIF * GAINBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOGAIN_TARDIF = somme(x = 07,08,17 : MAJOGAINx_TARDIF);
+MAJOCDIS07_TARDIF = max(0,arr(FLAG_TRTARDIF * CDISBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCDIS08_TARDIF = max(0,arr(FLAG_TRTARDIF * CDISBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCDIS17_TARDIF = max(0,arr(FLAG_TRTARDIF * CDISBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCDIS_TARDIF = somme(x = 07,08,17 : MAJOCDISx_TARDIF);
+MAJORSE107_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE1BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE108_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE1BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE117_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE1BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE1_TARDIF = somme(x = 07,08,17 : MAJORSE1x_TARDIF);
+MAJORSE207_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE2BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE208_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE2BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE217_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE2BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE2_TARDIF = somme(x = 07,08,17 : MAJORSE2x_TARDIF);
+MAJORSE307_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE3BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE308_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE3BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE317_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE3BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE3_TARDIF = somme(x = 07,08,17 : MAJORSE3x_TARDIF);
+MAJORSE407_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE4BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE408_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE4BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE417_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE4BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE4_TARDIF = somme(x = 07,08,17 : MAJORSE4x_TARDIF);
+MAJOHR07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+
+MAJOHR08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJOHR17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+MAJOHR17_2TARDIF = max(0,arr(FLAG_TRTARDIF * TX1758A/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+MAJOHR_TARDIF = somme(x = 07,08 : MAJOHR0x_TARDIF) 
+		+ MAJOHR17_1TARDIF + MAJOHR17_2TARDIF;
+MAJOCAP07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                             min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                )
+                            )
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOCAP08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+			     min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                )
+                             )
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOCAP17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                              min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			          max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                 )
+                             )
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOCAP17_2TARDIF = max(0,arr(FLAG_TRTARDIF * TX1758A/100 *
+                              min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			          max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                 )
+                             )
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+MAJOCAP_TARDIF = somme(x = 07,08 : MAJOCAP0x_TARDIF) 
+		+ MAJOCAP17_1TARDIF + MAJOCAP17_2TARDIF;
+
+MAJOTAXA07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 * 
+                             min(min(TAXABASE2042_FIC,TAXABASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO)
+                                )
+                              )
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJOTAXA08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+			      min(min(TAXABASE2042_FIC,TAXABASE_MAJO),
+                                  max(0, IRBASE + TAXABASE_MAJO)
+				 )	   
+                              ) 
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOTA17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                             min(min(TAXABASE2042_FIC,TAXABASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO)
+                                )
+                            ) 
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+MAJOTA17_2TARDIF = max(0,arr(FLAG_TRTARDIF * TX1758A/100 *
+                             min(min(TAXABASE2042_FIC,TAXABASE_MAJO),
+                                  max(0, IRBASE + TAXABASE_MAJO)
+                                )
+                            )
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+MAJOTAXA_TARDIF = somme(x = 07,08 : MAJOTAXA0x_TARDIF) 
+		+ MAJOTA17_1TARDIF + MAJOTA17_2TARDIF;
+IRNIN_TARDIF = IRBASE * FLAG_TRTARDIF ;
+CSG_TARDIF = CSBASE_MAJO * FLAG_TRTARDIF ;
+RDS_TARDIF = RDBASE_MAJO* FLAG_TRTARDIF;
+PRS_TARDIF = PSBASE_MAJO * FLAG_TRTARDIF;
+CSAL_TARDIF = CSALBASE_MAJO * FLAG_TRTARDIF;
+CDIS_TARDIF = CDISBASE_MAJO * FLAG_TRTARDIF;
+GAIN_TARDIF = GAINBASE_MAJO * FLAG_TRTARDIF;
+RSE1_TARDIF = RSE1BASE_MAJO * FLAG_TRTARDIF;
+RSE2_TARDIF = RSE2BASE_MAJO * FLAG_TRTARDIF;
+RSE3_TARDIF = RSE3BASE_MAJO * FLAG_TRTARDIF;
+RSE4_TARDIF = RSE4BASE_MAJO * FLAG_TRTARDIF;
+TAXA_TARDIF = TAXABASE_MAJO * FLAG_TRTARDIF;
+HR_TARDIF = HRBASE_MAJO * FLAG_TRTARDIF;
+CAP_TARDIF = CAPBASE_MAJO * FLAG_TRTARDIF;
+regle isf 234:
+application : iliad;
+MAJOISF07_TARDIF =  max(0,arr(FLAG_TRTARDIF * ISF4BASE * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+                     );
+MAJOISF08_TARDIF = max(0,arr(FLAG_TRTARDIF * ISF4BASE * TAUX_2042/100)
+			* STR_TR11
+		        * (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+		     );
+MAJOISF17_TARDIF = max(0,arr(FLAG_TRTARDIF * ISF4BASE * TAUX_2042/100)
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+		     );
+MAJOISF_TARDIF = somme(x = 07,08,17 : MAJOISFx_TARDIF);
+ISF_TARDIF = ISF4BASE * FLAG_TRTARDIF ;
+regle corrective 231141:
+application : iliad;
+FLAG_TRTARDIF_R = FLAG_RETARD * FLAG_RECTIF * FLAG_1STRATE 
+		 * (null(CSTRATE99 - 7) + null(CSTRATE99 - 8) + null(CSTRATE99 - 17) );
+MAJOIR07TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-7) * TMAJOIR[00];
+MAJOIR08TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-8) * TMAJOIR[00];
+MAJOIR17_1TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-17) * TMAJOIR[00];
+MAJOIR17_2TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-17) * TMAJOIR[00];
+MAJOIRTARDIF_R = somme(x = 07,08: MAJOIR0xTARDIF_R) 
+		+ MAJOIR17_1TARDIF_R + MAJOIR17_2TARDIF_R;
+MAJOCS07TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-7) * TMAJOCS[00];
+MAJOCS08TARDIF_R = FLAG_RETARD * FLAG_RECTIF * null(CSTRATE99-8) 
\ No newline at end of file
diff --git a/sources2012m_3_13/chap-perp.m b/sources2012m_3_13/chap-perp.m
new file mode 100644
index 0000000000000000000000000000000000000000..dd2b01889dc6f7d7f4f2baa422daa889ee3e0da0
--- /dev/null
+++ b/sources2012m_3_13/chap-perp.m
@@ -0,0 +1,703 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+                                                                       
+  ####   #    #    ##    #####      #     #####  #####   ######         
+ #    #  #    #   #  #   #    #     #       #    #    #  #          
+ #       ######  #    #  #    #     #       #    #    #  #####      
+ #       #    #  ######  #####      #       #    #####   #             
+ #    #  #    #  #    #  #          #       #    #   #   #              
+  ####   #    #  #    #  #          #       #    #    #  ######  
+regle 31000:
+application : iliad , batch  ;
+PERP_BOOL = positif(null(1-(V_0CF+V_0CH+V_0CR+V_0DJ+V_0DN+V_0DP)) *
+          null(
+   present( TSHALLO2 ) 
+ + present( ALLO2 ) 
+ + present( TSHALLO3 ) 
+ + present( ALLO3 ) 
+ + present( TSHALLO4 ) 
+ + present( ALLO4 ) 
+ + present( FRN2 ) 
+ + present( FRN3 ) 
+ + present(FRN4)
+ + present(HEURESUPP2)
+ + present(HEURESUPP3)
+ + present(HEURESUPP4)
+ + present(CARTSP2)
+ + present(CARTSP3)
+ + present(CARTSP4)
+ + present(REMPLAP2)
+ + present(REMPLAP3)
+ + present(REMPLAP4)
+ )); 
+regle 31002:
+application : iliad , batch  ;
+PERPSALV = 
+  TSHALLOV  
+ + ALLOV  
+ + GLD1V  
+ + GLD2V  
+ + GLD3V  
+ + GLDGRATV
+ + BPCOSAV  
+ + TSASSUV  
+ + CARTSV  
+ + TSELUPPEV  
+ + HEURESUPV
+ + REMPLAV
+ ;
+PERPSALC = 
+   TSHALLOC  
+ + ALLOC  
+ + GLD1C  
+ + GLD2C  
+ + GLD3C  
+ + GLDGRATC
+ + BPCOSAC  
+ + TSASSUC  
+ + CARTSC  
+ + TSELUPPEC  
+ + HEURESUPC
+ + REMPLAC
+ ;
+PERPSALP = PERP_BOOL * (
+   TSHALLO1  
+ + ALLO1  
+ + CARTSP1
+ + REMPLAP1
+ )
+ + HEURESUPP1
+ ;
+regle 31003:
+application : iliad , batch  ;
+PERPSALDV = PREP10V;
+PERPSALDC = PREP10C;
+PERPSALDP = PREP10P * PERP_BOOL;
+regle 31004:
+application : iliad , batch  ;
+PERPSALNV = PERPSALV - PERPSALDV + ELURASV;
+PERPSALNC = PERPSALC - PERPSALDC + ELURASC;
+PERPSALNP = PERPSALP -PERPSALDP ;
+regle 31005:
+application : iliad , batch  ;
+PERPBANV = 
+   FEXV  
+ + BAFV  
+ + BAFPVV  
+ + BAEXV  
+ + BACREV  
+ - BACDEV  
+ + BAHEXV  
+ + BAHREV  
+ - BAHDEV  
+ + BAPERPV
+ + 4BACREV  
+ + 4BAHREV 
+ + BAFORESTV
+ + BANOCGAV
+ ;
+PERPBANC = 
+   FEXC  
+ + BAFC  
+ + BAFPVC  
+ + BAEXC  
+ + BACREC  
+ - BACDEC  
+ + BAHEXC  
+ + BAHREC  
+ - BAHDEC  
+ + BAPERPC 
+ + 4BACREC  
+ + 4BAHREC 
+ + BAFORESTC
+ + BANOCGAC
+ ;
+PERPBANP = PERP_BOOL * (
+   FEXP  
+ + BAFP  
+ + BAFPVP  
+ + BAEXP  
+ + BACREP  
+ - BACDEP  
+ + BAHEXP  
+ + BAHREP  
+ - BAHDEP  
+ + BAPERPP
+ + 4BACREP  
+ + 4BAHREP ) 
+ + BAFORESTP
+ + BANOCGAP
+ ;
+regle 31006:
+application :  iliad , batch  ;
+PERPBICMNV =TPMIB_NETPV+TPMIB_NETVV+MIBEXV+MIBPVV-BICPMVCTV;
+PERPBICMNC =TPMIB_NETPC+TPMIB_NETVC+MIBEXC+MIBPVC-BICPMVCTC;
+PERPBICMNP =(TPMIB_NETPP+TPMIB_NETVP+MIBEXP+MIBPVP-BICPMVCTP) * PERP_BOOL;
+regle 31007:
+application : iliad , batch  ;
+PERPBICPNV =
+   BICEXV  
+ + BICNOV  
+ - BICDNV  
+ + BIHEXV  
+ + BIHNOV  
+ - BIHDNV  
+ + BIPERPV 
+ + LOCPROCGAV
+ - LOCDEFPROCGAV
+ + LOCPROV
+ - LOCDEFPROV
+ ;
+PERPBICPNC =
+   BICEXC  
+ + BICNOC  
+ - BICDNC  
+ + BIHEXC  
+ + BIHNOC  
+ - BIHDNC  
+ + BIPERPC  
+ + LOCPROCGAC
+ - LOCDEFPROCGAC
+ + LOCPROC
+ - LOCDEFPROC
+;
+PERPBICPNP = PERP_BOOL * (
+   BICEXP  
+ + BICNOP  
+ - BICDNP  
+ + BIHEXP  
+ + BIHNOP  
+ - BIHDNP  
+ + BIPERPP 
+ + LOCPROCGAP
+ - LOCDEFPROCGAP
+ + LOCPROP
+ - LOCDEFPROP );
+regle 31008:
+application : iliad , batch  ;
+PERPBNCMNV =  BNCPROEXV + max(0,(BNCPROV+AUTOBNCV) - max(arr((BNCPROV+AUTOBNCV) * SPETXAB/100),MIN_SPEBNC))
+                     + BNCPROPVV-BNCPMVCTV;
+PERPBNCMNC =  BNCPROEXC + max(0,(BNCPROC+AUTOBNCC) - max(arr((BNCPROC+AUTOBNCC) * SPETXAB/100),MIN_SPEBNC))
+                     + BNCPROPVC-BNCPMVCTC;
+PERPBNCMNP =  PERP_BOOL * (
+              BNCPROEXP + max(0,(BNCPROP+AUTOBNCP) - max(arr((BNCPROP+AUTOBNCP) * SPETXAB/100),MIN_SPEBNC))
+                     + BNCPROPVP-BNCPMVCTP);
+regle 31009:
+application :  iliad , batch  ;
+PERPBNCPNV =  
+   BNCEXV  
+ + BNCREV  
+ - BNCDEV  
+ + BNHEXV  
+ + BNHREV  
+ - BNHDEV 
+ + BNCCRV
+ + XHONOAAV
+ + XHONOV
+ ;
+PERPBNCPNC =  
+   BNCEXC  
+ + BNCREC  
+ - BNCDEC  
+ + BNHEXC  
+ + BNHREC  
+ - BNHDEC
+ + BNCCRC
+ + XHONOAAC
+ + XHONOC
+ ;
+PERPBNCPNP =  PERP_BOOL * (
+   BNCEXP  
+ + BNCREP  
+ - BNCDEP  
+ + BNHEXP  
+ + BNHREP  
+ - BNHDEP 
+ + BNCCRP
+ + XHONOAAP
+ + XHONOP
+ ); 
+regle 31010:
+application :  iliad , batch  ;
+PERPNONSALV = PERPBANV + PERPBICMNV + PERPBICPNV + PERPBNCMNV + PERPBNCPNV;
+PERPNONSALC = PERPBANC + PERPBICMNC + PERPBICPNC + PERPBNCMNC + PERPBNCPNC;
+PERPNONSALP = PERPBANP + PERPBICMNP + PERPBICPNP + PERPBNCMNP + PERPBNCPNP;
+regle 31011:
+application :  iliad , batch  ;
+PERPREVTOTV = max(0,PERPSALNV + PERPNONSALV) ;
+PERPREVTOTC = max(0,PERPSALNC + PERPNONSALC) ;
+PERPREVTOTP = max(0,PERPSALNP + PERPNONSALP) ;
+regle 31012:
+application : iliad , batch  ;
+
+pour i =V,C:
+PERP_INDi = positif( 0 +
+  positif(TSHALLOi)  
+ + positif(ALLOi)    
+ + positif(GLD1i)  + positif(GLD2i)  + positif(GLD3i) 
+ + positif(GLDGRATi)
+ + positif(BPCOSAi)  + positif(TSASSUi)  + positif(CARTSi)  + positif(TSELUPPEi)
++ positif(FEXi)  + positif(BAFi)  + positif(BAFPVi)  + positif(BAEXi)  
++ positif(BACREi) + positif(4BACREi) 
++ positif(BACDEi)  + positif(BAHEXi)  
++ positif(BAHREi) + positif(4BAHREi) 
++ positif(BAHDEi)  + positif(BAPERPi) 
++ positif(MIBEXi) + positif(MIBVENi) + positif(MIBPRESi) + positif(MIBPVi)
++ positif(AUTOBICVi) + positif(AUTOBICPi)
+ + positif(BICEXi) + positif(BICNOi) + positif(BICDNi)  
+ + positif(BIHEXi) + positif(BIHNOi)  
+ + positif(BIHDNi) + positif(BIPERPi) 
+ + positif(LOCPROCGAi) - positif(LOCDEFPROCGAi) + positif(LOCPROi) -  positif(LOCDEFPROi)   
++ positif(BNCPROEXi) + positif(BNCPROi) + positif(BNCPROPVi)
++ positif(AUTOBNCi) 
++ positif(BNCEXi) + positif(BNCREi) + positif(BNCDEi) + positif(BNHEXi)  
++ positif(BNHREi) + positif(BNHDEi) + positif(BNCCRi) );
+
+PERP_INDP = positif( 0+
+  positif(TSHALLO1)    
+ + positif(ALLO1)    
++ positif(FEXP)  + positif(BAFP)  + positif(BAFPVP)  + positif(BAEXP)  
++ positif(BACREP) + positif(4BACREP) 
++ positif(BACDEP)  + positif(BAHEXP)  
++ positif(BAHREP) + positif(4BAHREP) 
++ positif(BAHDEP)  + positif(BAPERPP) 
++ positif(MIBEXP) + positif(MIBVENP) + positif(MIBPRESP) + positif(MIBPVP)
++ positif(AUTOBICVP) + positif(AUTOBICPP)
+ + positif(BICEXP) + positif(BICNOP) + positif(BICDNP)  
+ + positif(BIHEXP) + positif(BIHNOP)  
+ + positif(BIHDNP) + positif(BIPERPP) 
+ + positif(LOCPROCGAP) - positif(LOCDEFPROCGAP) + positif(LOCPROP) -  positif(LOCDEFPROP)   
++ positif(BNCPROEXP) + positif(BNCPROP) + positif(BNCPROPVP)
++ positif(AUTOBNCP)
++ positif(BNCEXP) + positif(BNCREP) + positif(BNCDEP) + positif(BNHEXP)  
++ positif(BNHREP) + positif(BNHDEP) + positif(BNCCRP) );
+
+regle 31013:
+application : iliad , batch  ;
+
+PERPINDV = positif(
+	    (positif(positif(PERP_INDV)
+	      + (1 - positif(PERP_INDV))
+		 * (1 - positif(PRBRV+PALIV)))
+	    * positif(INDREV1A8))
+	    + (1 - positif(PERP_INDV)) * positif(PRBRV+PALIV) 
+			* positif(PERP_COTV) 
+	    +PERPMUTU * (1 - positif(PERP_INDV+PERP_COTV)))
+	    * (1 - PERP_NONV)
+	    * (1 -V_CNR) ;
+PERPINDC = positif(
+	    (positif(positif(PERP_INDC)
+	      + (1 - positif(PERP_INDC))
+		 * (1 - positif(PRBRC+PALIC)))
+	    * positif(INDREV1A8))
+	    + (1 - positif(PERP_INDC)) * positif(PRBRC+PALIC)
+			* positif(PERP_COTC) 
+	    +PERPMUTU * (1 - positif(PERP_INDC+PERP_COTC)))		
+	    * (1 - PERP_NONC)
+	    * BOOL_0AM
+	    * (1 -V_CNR) ;
+PERPINDP = positif(
+	    (positif(positif(PERP_INDP)
+	      + (1 - positif(PERP_INDP))
+		 * (1 - positif(PRBR1) + positif(PALIP)))
+	    * positif(INDREV1A8))
+	    + (1 - positif(PERP_INDP)) * positif(PRBR1+PALIP)
+			* positif(PERP_COTP) 
+	    )
+	    * PERP_BOOL
+	    * (1 -V_CNR) ;
+
+regle 31014:
+application : iliad , batch  ;
+PERPINDCV = positif(V_BTPERPTOTV + PERPPLAFCV 
+		+ PERPPLAFNUV1 + PERPPLAFNUV2 +PERPPLAFNUNV
+		+ PERP_COTV + RACCOTV) 
+	    * PERPINDV
+	    * (1 -V_CNR);
+PERPINDCC = BOOL_0AM 
+	    * positif(V_BTPERPTOTC + PERPPLAFCC 
+		+ PERPPLAFNUC1 + PERPPLAFNUC2 +PERPPLAFNUNC
+		+ PERP_COTC + RACCOTC) 
+	    * PERPINDC
+            * (1 -V_CNR);
+PERPINDCP = PERP_BOOL 
+	  * positif(V_BTPERPTOTP + PERPPLAFCP 
+		+ PERPPLAFNUP1 + PERPPLAFNUP2 +PERPPLAFNUNP
+		+ PERP_COTP + RACCOTP) 
+	+0
+	   * (1 -V_CNR);
+regle 31015:
+application : iliad , batch  ;
+PERPPLAFV = positif(PERPINDV) *
+	      max(0,positif(PERPREVTOTV) 
+	      * (max(min(arr(PERPREVTOTV * TX_PERPPLAF/100),LIM_PERPMAX),LIM_PERPMIN)-PERPV)
+            + (1 - positif(PERPREVTOTV)) * (LIM_PERPMIN - PERPV) 
+               )
+ 	   * (1 -V_CNR);
+PERPPLAFC = positif(PERPINDC) * BOOL_0AM * 
+		max(0,positif(PERPREVTOTC) 
+		* (max(min(arr(PERPREVTOTC * TX_PERPPLAF/100),LIM_PERPMAX),LIM_PERPMIN)-PERPC)
+                + (1 - positif(PERPREVTOTC)) * (LIM_PERPMIN - PERPC)
+                   ) 
+ 	   * (1 -V_CNR);
+PERPPLAFP = positif(PERPINDP) *
+	      max(0,positif(PERPREVTOTP) 
+	      * (max(min(arr(PERPREVTOTP * TX_PERPPLAF/100),LIM_PERPMAX),LIM_PERPMIN)-PERPP)
+            + (1 - positif(PERPREVTOTP)) * (LIM_PERPMIN - PERPP) 
+               )
+ 	   * (1 -V_CNR);
+regle 31016:
+application : iliad , batch  ;
+pour i =V,C,P:
+PERPPLAFTi = PERPINDi 
+	     * max(0,PERPPLAFi + PERPPLAFNUNi + PERPPLAFNU1i + PERPPLAFNU2i) 
+	     * (1 - V_CNR);
+regle 31017:
+application : iliad , batch  ;
+pour i =V,C,P:
+PERPPLATiANT = (1 - positif(present(PERPPLAFCi) + present(PERPPLAFNUi1)
+		+ present(PERPPLAFNUi2) + present(PERPPLAFNUi3)))
+		* V_BTPERPTOTi
+		+ positif(present(PERPPLAFCi) + present(PERPPLAFNUi1)
+		+ present(PERPPLAFNUi2) + present(PERPPLAFNUi3))
+		 *(PERPPLAFCi + PERPPLAFNUi1 + PERPPLAFNUi2 + PERPPLAFNUi3);
+pour i =V,C,P:
+PERPPLAFiANT = present(PERPPLAFCi) * PERPPLAFCi
+	      + (1 - present(PERPPLAFCi)) * V_BTPERPi;
+pour i =V,C,P:
+PERPPLAFNUi2ANT = present(PERPPLAFNUi2) * PERPPLAFNUi2
+ 		+(1 - present(PERPPLAFNUi2)) * V_BTPERPNUi2 ;
+pour i =V,C,P:
+PERPPLAFNUi3ANT = present(PERPPLAFNUi3) * PERPPLAFNUi3
+ 		+(1 - present(PERPPLAFNUi3)) * V_BTPERPNUi3 ;
+regle 31018:
+application : iliad , batch  ;
+PERPPLAFNUTV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* max(PERPPLATVANT - RPERPV,0)
+		+ positif(PERP_COND1) * 0
+		+ positif(PERP_COND2) * max(0,PERPPLATVANT - RPERPV - RPERPMUTC - RACCOTC)
+		;
+PERPPLAFNUTC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* max(PERPPLATCANT - RPERPC,0)
+		+ positif(PERP_COND1) * max(0,PERPPLATCANT - RPERPC - RPERPMUTV - RACCOTV)
+		+ positif(PERP_COND2) * 0
+		;
+PERPPLAFNUTP = max(PERPPLATPANT - RPERPP,0) ;
+PERPPLAFNUV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) * max(0,PERPPLAFVANT - RPERPV)
+	         + positif(PERPIMPATRIE+0) * max(0,PERPPLAFV - RPERPV))
+	       + positif(PERP_COND1) * 0
+	       + positif(PERP_COND2) 
+	       * ((1 - positif(PERPIMPATRIE))
+		 * max(0,PERPPLAFVANT - RPERPV - RPERPMUTC - RACCOTC)
+		 + positif(PERPIMPATRIE)
+		 * max(0,PERPPLAFV - RPERPV - RPERPMUTC - RACCOTC))
+	       ;
+PERPPLAFNUC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) * max(0,PERPPLAFCANT - RPERPC)
+	         + positif(PERPIMPATRIE+0) * max(0,PERPPLAFC - RPERPC))
+	       + positif(PERP_COND1) 
+	       * ((1 - positif(PERPIMPATRIE))
+	       * max(0,PERPPLAFCANT - RPERPC - RPERPMUTV - RACCOTV)
+		 + positif(PERPIMPATRIE)
+	       * max(0,PERPPLAFC - RPERPC - RPERPMUTV - RACCOTV))
+	       + positif(PERP_COND2) * 0
+	       ;
+PERPPLAFNUP = (1 - positif(PERPIMPATRIE+0)) * max(0,PERPPLAFPANT - RPERPP)
+	       + positif(PERPIMPATRIE+0) * max(0,PERPPLAFP - RPERPP)
+	       ;
+pour i =V,C,P:
+PERPPLAFNUNi = max(0,PERPPLAFNUi);
+PERPPLAFNU3V = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFNUV) * PERPPLAFNUV3ANT
+	             + (1 - positif(PERPPLAFNUV)) 
+		    * max(0,PERPPLAFNUV3ANT - (RPERPV - PERPPLAFVANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) * 0
+   		+ positif(PERP_COND2) * (positif(PERPPLAFNUV) * PERPPLAFNUV3ANT
+			+ (1 - positif(PERPPLAFNUV)) *max(0,PERPPLAFNUV3ANT - (RPERPV + RPERPMUTC  + RACCOTC- PERPPLAFVANT)))
+		    ;
+PERPPLAFNU3C = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFNUC) * PERPPLAFNUC3ANT
+	             + (1 - positif(PERPPLAFNUC)) 
+		    * max(0,PERPPLAFNUC3ANT - (RPERPC - PERPPLAFCANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) * (positif(PERPPLAFNUC) * PERPPLAFNUC3ANT
+			+ (1 - positif(PERPPLAFNUC)) *max(0,PERPPLAFNUC3ANT - (RPERPC + RPERPMUTV  + RACCOTV- PERPPLAFCANT)))
+   		+ positif(PERP_COND2) * 0
+		    ;
+PERPPLAFNU3P = (1 - positif(PERPIMPATRIE+0)) 
+		* (
+		  max(0,positif(PERPPLAFNUP) * PERPPLAFNUP3ANT
+	             + (1 - positif(PERPPLAFNUP+0)) 
+		    * (PERPPLAFNUP3ANT - (RPERPP - PERPPLAFPANT)))
+		    )
+		 + positif(PERPIMPATRIE+0) * 0 ;
+PERPPLAFNU2V = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV) 
+				* PERPPLAFNUV2ANT
+	          + (1 - positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV)) 
+		    * max(0,PERPPLAFNUV2ANT - (RPERPV - PERPPLAFVANT - PERPPLAFNUV3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) * 0
+   		+ positif(PERP_COND2) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV - RPERPMUTC- RACCOTC) 
+				* PERPPLAFNUV2ANT
+	          + (1 - positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV - RPERPMUTC - RACCOTC)) 
+		    * max(0,PERPPLAFNUV2ANT - (RPERPV + RPERPMUTC + RACCOTC) - (PERPPLAFVANT + PERPPLAFNUV3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+		;
+PERPPLAFNU2C = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC) 
+				* PERPPLAFNUC2ANT
+	          + (1 - positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC)) 
+		    * max(0,PERPPLAFNUC2ANT - (RPERPC - PERPPLAFCANT - PERPPLAFNUC3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		    * (positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC - RPERPMUTV - RACCOTV) 
+				* PERPPLAFNUC2ANT
+	          + (1 - positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC - RPERPMUTV - RACCOTV )) 
+		    * max(0,PERPPLAFNUC2ANT - (RPERPC + RPERPMUTV  + RACCOTV) - (PERPPLAFCANT + PERPPLAFNUC3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND2) * 0
+		;
+PERPPLAFNU2P = (1 - positif(PERPIMPATRIE+0)) 
+             * (
+             max(0,positif(PERPPLAFPANT + PERPPLAFNUP3ANT - RPERPP) 
+             * PERPPLAFNUP2ANT
+             + (1 - positif(PERPPLAFPANT + PERPPLAFNUP3ANT - RPERPP)) 
+             * max(0,PERPPLAFNUP2ANT - (RPERPP - PERPPLAFPANT - PERPPLAFNUP3ANT)))
+             )
+             + positif(PERPIMPATRIE+0) * 0 ;
+PERPPLAFNU1V = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTV - PERPPLAFNUNV - PERPPLAFNU3V - PERPPLAFNU2V,0)
+	       	+ positif(PERPIMPATRIE+0) * 0 )
+		+ positif(PERP_COND1) * 0
+		+ positif(PERP_COND2) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTV - PERPPLAFNUNV - PERPPLAFNU3V - PERPPLAFNU2V,0)
+   		+ positif(PERP_COND2) * 0)
+	       ;
+PERPPLAFNU1C = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTC - PERPPLAFNUNC - PERPPLAFNU3C - PERPPLAFNU2C,0)
+	       	+ positif(PERPIMPATRIE+0) * 0 )
+		+ positif(PERP_COND1) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTC - PERPPLAFNUNC - PERPPLAFNU3C - PERPPLAFNU2C,0)
+		    + positif(PERPIMPATRIE+0) * 0) 
+		+ positif(PERP_COND2) * 0
+	       ;
+PERPPLAFNU1P = (1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTP - PERPPLAFNUNP - PERPPLAFNU3P - PERPPLAFNU2P,0)
+	       + positif(PERPIMPATRIE+0) * 0 ;
+regle 31019:
+application : iliad , batch  ;
+PERP_NONV = positif(
+		(1 - positif(PERP_INDV)) * (1 - positif(PRBRV+PALIV))
+		* (1 - positif(PERP_COTV))
+		* (1 - positif(PERP_INDC)) * positif(PRBRC+PALIC)
+	  ) ;
+PERP_NONC = BOOL_0AM * positif(
+		(1 - positif(PERP_INDC)) * (1 - positif(PRBRC+PALIC))
+		* (1 - positif(PERP_COTC))
+		* (1 - positif(PERP_INDV)) * positif(PRBRV+PALIV)
+	  ) ;
+PERP_NONP = PERP_BOOL * positif(PERP_NONC + PERP_NONV) ;
+regle 31020:
+application : iliad , batch  ;
+pour i=V,C,P:
+PERPPLAFCOMi = positif(PERPIMPATRIE) * PERPPLAFi *3
+	      + (1 - positif(PERPIMPATRIE)) * 0;
+pour i=V,C,P:
+PERPPLAFIMPi = positif(PERPIMPATRIE) * (PERPPLAFCOMi + PERPPLAFi)
+	      + (1 - positif(PERPIMPATRIE)) * 0;
+regle 31021:
+application : iliad , batch  ;
+PERP_MUT = positif(PERPMUTU)
+	   * positif(V_0AM+V_0AO)
+	   * (1 - positif(V_0AC+V_0AD+V_0AV))
+	   ;
+PERP_COND1 =  positif(PERP_MUT)
+	      *((1 - positif(PERPIMPATRIE))
+	      * positif(PERP_COTV  - PERPPLATVANT)
+	      * positif(PERPPLATCANT - PERP_COTC)
+	      + positif(PERPIMPATRIE)
+	      * positif(PERP_COTV  - PERPPLAFIMPV)
+	      * positif(PERPPLAFIMPC - PERP_COTC)
+	      );
+PERP_COND2 =  positif(PERP_MUT) 
+	      *((1 - positif(PERPIMPATRIE))
+	      * positif(PERP_COTC  - PERPPLATCANT)
+	      * positif(PERPPLATVANT - PERP_COTV)
+	      + positif(PERPIMPATRIE)
+	      * positif(PERP_COTC  - PERPPLAFIMPC)
+	      * positif(PERPPLAFIMPV - PERP_COTV)
+	      );
+PERPPLAFMUTV = positif(PERP_COND1)
+	      *((1 - positif(PERPIMPATRIE))
+	       * (PERPPLATVANT + max(0,PERPPLATCANT - PERP_COTC))
+	      + positif(PERPIMPATRIE)
+	       * (PERPPLAFIMPV + max(0,PERPPLAFIMPC - PERP_COTC))
+	      );
+PERPPLAFMUTC = positif(PERP_COND2)
+	      *((1 - positif(PERPIMPATRIE))
+	       * (PERPPLATCANT + max(0,PERPPLATVANT - PERP_COTV))
+	      + positif(PERPIMPATRIE)
+	       * (PERPPLAFIMPC + max(0,PERPPLAFIMPV - PERP_COTV))
+	      );
+regle 310211:
+application : iliad , batch  ;
+PERPPLAFMU1V = positif(PERP_COND1) 
+	      *((1 - positif(PERPIMPATRIE)) * (PERPPLATVANT + RPERPMUTV)
+	      + positif(PERPIMPATRIE) * (PERPPLAFIMPV + RPERPMUTV))
+		+ positif(PERP_COND2) 
+	      *((1 - positif(PERPIMPATRIE)) * (PERPPLATVANT - RPERPMUTC)
+	      + positif(PERPIMPATRIE) * (PERPPLAFIMPV - RPERPMUTC));
+PERPPLAFMU1C = positif(PERP_COND1) 
+	      *((1 - positif(PERPIMPATRIE)) * (PERPPLATCANT - RPERPMUTV)
+	      + positif(PERPIMPATRIE) * (PERPPLAFIMPC - RPERPMUTV))
+		+ positif(PERP_COND2) 
+      		*((1 - positif(PERPIMPATRIE)) * (PERPPLATCANT + RPERPMUTC)
+      		+positif(PERPIMPATRIE) *(PERPPLAFIMPC + RPERPMUTC));
+regle 31022:
+application : iliad , batch  ;
+pour i =V,C,P:
+DPERPi = PERP_COTi + RACCOTi;
+RPERPV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTV,PERPPLATVANT) + RACCOTV)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTV,PERPPLAFIMPV) + RACCOTV))
+	 + positif(PERP_COND1) 
+		* (min(PERP_COTV,PERPPLAFMUTV) + RACCOTV)
+	 + positif(PERP_COND2) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTV,PERPPLATVANT) + RACCOTV)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTV,PERPPLAFIMPV) + RACCOTV))
+	 ;
+RPERPC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTC,PERPPLATCANT) + RACCOTC)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTC,PERPPLAFIMPC) + RACCOTC))
+	 + positif(PERP_COND1) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTC,PERPPLATCANT) + RACCOTC)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTC,PERPPLAFIMPC) + RACCOTC))
+	 + positif(PERP_COND2) * (min(PERP_COTC,PERPPLAFMUTC) + RACCOTC)
+	 ;
+RPERPP = ( (1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTP,PERPPLATPANT) + RACCOTP)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTP,PERPPLAFIMPP) + RACCOTP)
+	  );	
+APERPV = (1 - V_CNR) * max(min(RPERPV,RBG - RPALE - RPALP - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD), 0);
+APERPC = (1 - V_CNR) * max(min(RPERPC,RBG - RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV), 0);
+APERPP = (1 - V_CNR) * max(min(RPERPP,RBG - RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV - APERPC), 0);
+TAPERPV = (1 - V_CNR) * max(min(RPERPV,RBG*(1-INDTEFF)+ TEFFREVTOT3 - RPALE - RPALP - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD), 0);
+TAPERPC = (1 - V_CNR) * max(min(RPERPC,RBG *(1-INDTEFF)+ TEFFREVTOT3- RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV), 0);
+TAPERPP = (1 - V_CNR) * max(min(RPERPP,RBG *(1-INDTEFF)+ TEFFREVTOT3- RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV - APERPC), 0);
+regle 310225:
+application :  iliad , batch  ;
+PERPDCOTV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTV,PERPPLATVANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTV,PERPPLAFIMPV))
+	 + positif(PERP_COND1) 
+		* min(PERP_COTV,PERPPLAFMU1V)
+	 + positif(PERP_COND2) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTV,PERPPLATVANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTV,PERPPLAFIMPV))
+	 ;
+PERPDCOTC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTC,PERPPLATCANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTC,PERPPLAFIMPC))
+	 + positif(PERP_COND1) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTC,PERPPLATCANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTC,PERPPLAFIMPC))
+	 + positif(PERP_COND2) * min(PERP_COTC,PERPPLAFMU1C)
+	 ;
+PERPDCOTP = ( (1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTP,PERPPLATPANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTP,PERPPLAFIMPP)
+	  );	
+regle 31023:
+application : iliad , batch  ;
+RPERPMUTV = positif(PERP_COND1) 
+	      *((1 - positif(PERPIMPATRIE))
+		* max(0,min(PERP_COTV - PERPPLATVANT,PERPPLATCANT - PERP_COTC))
+	      + positif(PERPIMPATRIE)
+		* max(0,min(PERP_COTV - PERPPLAFIMPV,PERPPLAFIMPC - PERP_COTC))
+		);
+RPERPMUTC = positif(PERP_COND2) 
+	      *((1 - positif(PERPIMPATRIE))
+		* max(0,min(PERP_COTC - PERPPLATCANT,PERPPLATVANT - PERP_COTV))
+	      + positif(PERPIMPATRIE)
+		* max(0,min(PERP_COTC - PERPPLAFIMPC,PERPPLAFIMPV - PERP_COTV))
+		);
+regle 31024:
+application : iliad , batch  ;
+IND_BTANC = null(V_IND_TRAIT -4)
+           * (positif(APPLI_OCEANS) * 1
+	    + positif(APPLI_BATCH) * V_BTANC
+	    + positif(APPLI_ILIAD) * ( positif(V_CALCULIR) * 1
+				     + (1 - positif(V_CALCULIR)) * V_BTANC)
+	     )
+	     + null(V_IND_TRAIT - 5) * 1;
+pour i = V,C,P :
+PERPINDAFFi = positif(PERPINDi 
+		* (1 - V_CNR) * (1 - positif(ANNUL2042))
+		* ((null(IND_BTANC - 1)
+		* (positif(PERPIMPATRIE+0)
+		* positif(PERPPLAFNUNi+PERPPLAFi)
+		+ (1 - positif(PERPIMPATRIE+0))
+		* (present(PERPPLAFCi) + present(V_BTPERPi)) 
+		* (present(PERPPLAFNUi1) + present(V_BTPERPNUi1))
+	        * (present(PERPPLAFNUi2) + present(V_BTPERPNUi2))
+		* (present(PERPPLAFNUi3)+ present(V_BTPERPNUi3))
+	        ))
+		+((null(IND_BTANC - 2)
+		* positif(V_BTPERPi + V_BTPERPNUi1 + V_BTPERPNUi2 + V_BTPERPNUi3
+		     + PERPPLAFCi + PERPPLAFNUi1 + PERPPLAFNUi2 + PERPPLAFNUi3)))));
diff --git a/sources2012m_3_13/chap-plaf.m b/sources2012m_3_13/chap-plaf.m
new file mode 100644
index 0000000000000000000000000000000000000000..a63160e83af0c283c83254ce352dab00c41ef3c8
--- /dev/null
+++ b/sources2012m_3_13/chap-plaf.m
@@ -0,0 +1,285 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+regle 8200:
+application : iliad , batch  ;
+LIMIT12 = 18000 + max(0, arr( max(0, RI1 + TONEQUO1) * (4/100))) * (1 - positif( RMOND ))
+	             + max(0, arr( max(0, RMOND + TONEQUOM1) * (4/100))) * positif( RMOND );
+LIMIT11 = 18000 + max(0, arr( max(0, RI1 + TONEQUO1) * (6/100))) * (1 - positif( RMOND ))
+	             + max(0, arr( max(0, RMOND + TONEQUOM1) * (6/100))) * positif( RMOND );
+LIMIT10 = 20000 + max(0, arr( max(0, RI1 + TONEQUO1) * (8/100))) * (1 - positif( RMOND ))
+	             + max(0, arr( max(0, RMOND + TONEQUOM1) * (8/100))) * positif( RMOND );
+LIMIT9 = 25000 + max(0, arr( max(0, RI1 + TONEQUO1) * (10/100))) * (1 - positif( RMOND ))
+                     + max(0, arr( max(0, RMOND + TONEQUOM1) * (10/100))) * positif( RMOND );
+		     
+regle 8201:
+application : iliad , batch  ;
+NAPSANSPENA = NAPTIR - (PIR+PTAXA+PPCAP+PHAUTREV+PTAXLOY) * positif(abs(NAPTIR)) ; 
+AVFISCO = V_NAPTEO * (1 - 2 * V_NEGTEO) - NAPSANSPENA ;
+regle 8202:
+application : iliad , batch  ;
+AVFISCOPTER = AVPLAF9 + AVPLAF10 + AVPLAF11 + AVPLAF12;
+regle 82462:
+application : iliad , batch  ;
+
+A12RSOC = max(0, arr( RSOC4+RSOC8 - (( RSOC4+RSOC8 )*(TX65/100)))) 
+	    * (1 - V_CNR);
+regle 82461:
+application : iliad , batch  ;
+
+A11RSOC = max(0, arr( RSOC3+RSOC7 + RSOC14+RSOC20
+		      - ((RSOC3+RSOC7 + RSOC14+RSOC20)*(TX65/100))))
+	    * (1 - V_CNR);
+regle 8246:
+application :  iliad , batch  ;
+
+A10RSOC = max(0, arr( RSOC2+RSOC6 + RSOC11+RSOC17 + RSOC13+RSOC19 
+		      - (( RSOC2+RSOC6 + RSOC11+RSOC17 + RSOC13+RSOC19 )*(TX65/100))))
+	    * (1 - V_CNR);
+regle 82472:
+application : iliad , batch  ;
+
+A12RENT = (RENT21 + RENT28 + max(0 , RENT14+RENT42 + RENT7+RENT35 
+                                     - (arr((RENT14+RENT42)*(5263/10000)) + arr((RENT7+RENT35)*(625/1000)))))
+	    * (1 - V_CNR);
+regle 82471:
+application : iliad , batch  ;
+
+A11RENT = ( RENT17 + RENT24 + RENT20 + RENT27 + RLOC34
+
+       + max(0, RENT10+RENT38 + RENT3+RENT31 + RENT13+RENT41 + RENT6+RENT34 + RLOC29+RLOC44 + RLOC24+RLOC39
+                
+            - (arr((RENT10+RENT38)*(5263/10000))+arr((RENT3+RENT31)*(625/1000))+arr((RENT13+RENT41)*(5263/10000))
+	       +arr((RENT6+RENT34)*(625/1000))+arr((RLOC29+RLOC44)*(5263/10000))+arr((RLOC24+RLOC39)*(625/1000)))))
+           * (1 - V_CNR);
+
+regle 8247:
+application : iliad , batch  ;
+
+A10RENT = ( RENT16 + RENT23 + RLOC13 + RLOC31 + RENT19 + RENT26 + RLOC33
+             + arr(( RENT9+RENT37 + RLOC12+RLOC17 + RLOC26+RLOC41 )*(TX50/100))
+             + arr(( RENT2+RENT30 + RLOC11+RLOC16 + RLOC21+RLOC36 )*(TX40/100))
+             + arr(( RENT12+RENT40 + RLOC28+RLOC43 )*(4737/10000))
+             + arr(( RENT5+RENT33 + RLOC23+RLOC38 )*(375/1000)))
+                                                                  * (1 - V_CNR);
+
+regle 82482:
+application : iliad , batch  ;
+
+BA12RNOUV  = arr((  max(0 , ( BSN1 - (REPSNO1+REPSNO2+REPSNO3+REPSNON)))
+                 + RSN4  
+                       )
+	    * (TX18/100)) * (1 - V_CNR);
+
+A12RNOUV = max( min( BA12RNOUV , RRI1-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR 
+                                 -RTOUREPA-RCOMP-RCREAT-RRETU-RDONS) , 0) ;
+
+regle 82481:
+application : iliad , batch  ;
+
+BA11RNOUV  = arr(max(0 , (min (REPSNO1+REPSNO2+REPSNO3+REPSNON , LIM_SOCNOUV2 * (1+BOOL_0AM))
+		        - (REPSNO1+REPSNO2+REPSNO3)))
+	    * (TX22/100)) * (1 - V_CNR);
+
+A11RNOUV = max( min( BA11RNOUV , RRI1-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR 
+                                 -RTOUREPA-RCOMP-RCREAT-RRETU-RDONS) , 0) ;
+
+regle 8248:
+application :  iliad , batch  ;
+
+BA10RNOUV  = arr(max(0 , (min ( REPSNO1+REPSNO2+REPSNO3, LIM_SOCNOUV2 * (1+BOOL_0AM))
+		        - (REPSNO2+REPSNO3)))
+	    * (TX25/100)) * (1 - V_CNR);
+
+A10RNOUV = max( min( BA10RNOUV , RRI1-RLOGDOM-RTOURNEUF-RTOURTRA-RTOURES-RTOURREP-RTOUHOTR
+				 -RTOUREPA-RCOMP-RCREAT-RRETU-RDONS) , 0) ;
+
+regle 82492:
+application : iliad , batch  ;
+BASE7UN = (min (RDFOREST, PLAF_FOREST * (1 + BOOL_0AM))) * (1 - V_CNR) ;
+
+PLAFRED_FORTRA = max( 0, PLAF_FOREST1 * (1 + BOOL_0AM) - ACOTFOR); 
+
+BASE7UP = max(0, min (FORTRA, PLAFRED_FORTRA)
+		    - (REPFOR + REPSINFOR + REPFOR1 + REPSINFOR1 + REPFOR2 + REPSINFOR2))
+									    * (1 - V_CNR) ;
+
+BASE7UQ = (min (RDFORESTGES, PLAF_FOREST2 * (1 + BOOL_0AM)) ) * (1 - V_CNR) ; 
+
+BA12RFOR  = arr((BASE7UN + BASE7UP + BASE7UQ) * TX18 / 100 ) ;
+
+
+A12RFOR = max( min( BA12RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC-RCINE 
+                              -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV ) , 0 );
+regle 82491:
+application : iliad , batch  ;
+
+BASE7UWG = max(0, min (REPFOR + REPSINFOR + REPFOR1 + REPSINFOR1 + REPFOR2 + REPSINFOR2, PLAFRED_FORTRA)
+			   - (REPFOR + REPSINFOR + REPFOR1 + REPSINFOR1)) * (1 - V_CNR) ;
+
+
+BA11RFOR  = arr(BASE7UWG * TX22 / 100 ) ;
+
+A11RFOR = max( min( BA11RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC-RCINE 
+                              -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV ) , 0 );
+regle 8249:
+application : iliad , batch  ;
+
+BASE7UVF = max(0, min (REPFOR + REPSINFOR + REPFOR1 + REPSINFOR1, PLAFRED_FORTRA) - (REPFOR + REPSINFOR))
+            * (1 - V_CNR) ;
+
+
+BA10RFOR  = arr(BASE7UVF * TX25 / 100 ) ;
+
+A10RFOR = max( min( BA10RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC-RCINE 
+                              -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV ) , 0 );
+regle 8252:
+application : iliad , batch  ;
+          
+A10TOURSOC = RTOURREP*positif(REPINVTOU) 
+            +max(0,(RTOUHOTR-arr((INVLOCHOTR1 + INVLOCHOTR)* TX_REDIL25 / 100)* (1-positif(null(2-V_REGCO)+null(4-V_REGCO)))))
+            +RTOUREPA*positif(INVLOGREHA);
+
+regle 8255:
+application : iliad , batch  ;
+
+A12REEL =  RCOTFOR
+
+         + RFIPDOM + RAIDE
+
+	 + RFIPC +  RCINE 
+
+         + RRESTIMO
+
+         + RINNO + RSOUFIP + RRIRENOV 
+
+         + A12RFOR
+
+	 + RLOG25
+
+         + RTOURNEUF + RTOURTRA + RTOURES
+
+         + A12RNOUV
+
+         + RCELJOQR + RCEL2012 
+
+	 + RLOCIDEFG *(1-positif( LOCMEUBIE ))*positif(LOCMEUBID + LOCMEUBIF + LOCMEUBIG)
+
+        + RPATNAT
+
+        + A12RSOC   
+
+        + A12RENT
+
+           + CIDEVDUR + CIDEPENV + CIGARD + CIADCRE 
+
+	   + CIHABPRIN + CILOYIMP ;
+
+regle 8256:
+application : iliad , batch  ;
+
+
+AUBAINE12 = V_A12REEL;
+
+regle 8260:
+application : iliad , batch  ;
+
+A11REEL = RLOG16 + RLOG21 + RLOG24
+
+        + A11RSOC
+
+        + A11RNOUV
+
+        + RCELRREDLF + RCELREPHG + RCELREPHA + RCELCOM + RCEL + RCELJP + RCELJBGL
+
+        + RILMIZ + RILMIA + RRESINEUV*positif(LOCRESINEUV+INVNPROF2+INVNPROF1)*(1-positif(MEUBLENP))
+	+ RLOCIDEFG * positif( LOCMEUBIE )*(1-positif(LOCMEUBID + LOCMEUBIF + LOCMEUBIG))
+
+         + RTOURREP*positif(INVLOCXN) + RTOUREPA*positif(INVLOCXV)
+
+        + RPATNAT2  
+
+        + A11RENT
+
+        + A11RFOR ;
+regle 8261:
+application : iliad , batch  ;
+
+AUBAINE11 = V_A11REEL;
+
+regle 8262:
+application : iliad , batch  ;
+
+
+A10REEL =  RLOG11 + RLOG13 + RLOG15 + RLOG18 + RLOG20 + RLOG23
+
+         + A10RSOC  
+
+         + A10RNOUV 
+
+         + A10RENT 
+
+         + RCELRREDLC + RCELRREDLD + RCELREPHW + RCELREPHV + RCELREPHD + RCELREPHH + RCELREPHB
+	 + RCELHJK + RCELNQ + RCELNBGL
+
+         + RINVRED + RREPMEU + RRESIVIEU*positif(RESIVIEU)*(1-positif(RESIVIANT)) 
+	 + RRESINEUV*positif(MEUBLENP)*(1-positif(LOCRESINEUV + INVNPROF2 + INVNPROF1))
+	 + RILMIH + RILMIB 
+
+         + A10TOURSOC
+
+	 + RPATNAT1
+
+         + A10RFOR ;
+
+regle 8263:
+application : iliad , batch  ;
+
+AUBAINE10 = V_A10REEL;
+
+regle 8280:
+application : iliad , batch  ;
+
+AUBAINE9 = max(0, V_DIFTEOREEL - AUBAINE12 - AUBAINE11 - AUBAINE10);
+regle 8290:
+application : iliad , batch  ;
+AVPLAF12 = ( AUBAINE12 - LIMIT12) * positif( AUBAINE12 - LIMIT12) * positif(V_DIFTEOREEL);
+
+AVPLAF11 = max(0, AUBAINE12 + AUBAINE11 - AVPLAF12 - LIMIT11) * positif(V_DIFTEOREEL);
+
+AVPLAF10 = max(0, AUBAINE12 + AUBAINE11 + AUBAINE10 - AVPLAF12 - AVPLAF11 - LIMIT10) * positif(V_DIFTEOREEL);
+
+AVPLAF9  = max(0, AUBAINE12 + AUBAINE11 + AUBAINE10 + AUBAINE9 - AVPLAF12 - AVPLAF11 - AVPLAF10 - LIMIT9)
+	   * positif(V_DIFTEOREEL);
+
+regle 8321:
+application : iliad , batch  ;
+RFTEO = RFORDI + RFROBOR; 
+regle 8331:
+application : iliad , batch  ;
+RFNTEO = (max( 0, RFTEO - (RFDORD + RFDANT)) - RFDHIS) * present(RFROBOR) + RRFI * (1-present(RFROBOR));
+regle 8341:
+application : iliad , batch  ;
+RRFTEO = RFNTEO;
+ 
+
+
+
diff --git a/sources2012m_3_13/chap-teff.m b/sources2012m_3_13/chap-teff.m
new file mode 100644
index 0000000000000000000000000000000000000000..36d2691fdff7ad7e7ea3f1aff475000c6eeb97df
--- /dev/null
+++ b/sources2012m_3_13/chap-teff.m
@@ -0,0 +1,303 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 99991000:
+application : iliad , batch ;
+
+pour i = V,C,P:
+TMIB_TVENi = MIBVENi + AUTOBICVi + MIBNPVENi + MIBGITEi+LOCGITi;
+
+pour i = V,C,P:
+TMIB_TPRESi = MIBPRESi + AUTOBICPi + MIBNPPRESi + MIBMEUi;
+
+pour i = V,C,P:
+TMIB_TTi = TMIB_TVENi + TMIB_TPRESi;
+regle 99991004:
+application : iliad , batch ;
+
+
+pour i = V,C,P:
+TMIB_AVi = min ( TMIB_TVENi,
+                         (max(MIN_MBIC,
+                              arr( (TMIB_TVENi)*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+TMIB_VENTAi = min ( (MIBVENi + MIBNPVENi),
+                         (max(MIN_MBIC,
+                              arr( (MIBVENi + MIBNPVENi)*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+TMIB_AUTOAVi= TMIB_AVi - TMIB_VENTAi; 
+
+pour i = V,C,P:
+TPMIB_AVi = min ( (MIBVENi + AUTOBICVi),
+                         (max(MIN_MBIC,
+                              arr( (MIBVENi+ AUTOBICVi)*TX_MIBVEN/100))
+                         )
+              );
+
+
+pour i = V,C,P:
+TMIB_APi = min ( TMIB_TPRESi,
+                         (max(MIN_MBIC,
+                              arr( (TMIB_TPRESi)*TX_MIBPRES/100))
+                         )
+               );
+pour i = V,C,P:
+TMIB_PRESAi = min ( (MIBPRESi + MIBNPPRESi),
+                         (max(MIN_MBIC,
+                              arr( (MIBPRESi + MIBNPPRESi)*TX_MIBPRES/100))
+                         )
+               );
+pour i = V,C,P:
+TMIB_AUTOAPi= TMIB_APi - TMIB_PRESAi; 
+pour i = V,C,P:
+TPMIB_APi = min ( (MIBPRESi+ AUTOBICPi),
+                         (max(MIN_MBIC,
+                              arr( (MIBPRESi+ AUTOBICPi)*TX_MIBPRES/100))
+                         )
+               );
+
+
+
+regle 99991005:
+application : iliad , batch ;
+
+pour i = V,C,P:
+TMIB_ABVi = max(0,arr(TMIB_AVi * (MIBVENi + AUTOBICVi)/ (TMIB_TVENi)));
+pour i = V,C,P:
+TMIB_ABNPVi = max(0,arr(TMIB_AVi * MIBNPVENi / TMIB_TVENi))* positif(present(MIBGITEi)+present(LOCGITi))
+	      + (TMIB_AVi - TMIB_ABVi) * (1 - positif(present(MIBGITEi)+present(LOCGITi)));
+pour i = V,C,P:
+TMIB_ABNPVLi = (TMIB_AVi - TMIB_ABVi - TMIB_ABNPVi) *  positif(present(MIBGITEi)+present(LOCGITi));
+
+pour i = V,C,P:
+TMIB_ABPi = max(0,arr(TMIB_APi * (MIBPRESi + AUTOBICPi)/ (TMIB_TPRESi)));
+pour i = V,C,P:
+TMIB_ABNPPi = max(0,arr(TMIB_APi * MIBNPPRESi / (TMIB_TPRESi))) * present(MIBMEUi)
+	      + (TMIB_APi - TMIB_ABPi) * (1 - present(MIBMEUi));
+pour i = V,C,P:
+TMIB_ABNPPLi = (TMIB_APi - TMIB_ABPi - TMIB_ABNPPi) *  present(MIBMEUi);
+
+
+regle 99991006:
+application : iliad , batch ;
+pour i = V,C,P:
+TPMIB_NETVi = MIBVENi + AUTOBICVi - TPMIB_AVi;
+pour i = V,C,P:
+TPMIB_NETPi = MIBPRESi + AUTOBICPi - TPMIB_APi;
+
+pour i = V,C,P:
+TMIB_NETVi = MIBVENi + AUTOBICVi - TMIB_ABVi;
+TMIBNETVF = somme(i=V,C,P:TMIB_NETVi) ;
+pour i = V,C,P:
+TMIB_NETNPVi = MIBNPVENi - TMIB_ABNPVi;
+TMIBNETNPVF = somme(i=V,C,P:TMIB_NETNPVi);
+
+pour i = V,C,P:
+TMIB_NETPi = MIBPRESi + AUTOBICPi - TMIB_ABPi;
+TMIBNETPF = somme(i=V,C,P:TMIB_NETPi) ;
+pour i = V,C,P:
+TMIB_NETNPPi = MIBNPPRESi - TMIB_ABNPPi;
+TMIBNETNPPF = somme(i=V,C,P:TMIB_NETNPPi);
+
+TBICPABV =   arr((TMIB_ABVV * AUTOBICVV/(MIBVENV+AUTOBICVV))
+          + (TMIB_ABPV * AUTOBICPV/(MIBPRESV+AUTOBICPV)));
+
+TBICPROVC = max(0,arr((TMIB_ABVC * AUTOBICVC/(MIBVENC+AUTOBICVC)) + (TMIB_ABPC * AUTOBICPC/(MIBPRESC+AUTOBICPC))));
+
+TBICPABC =  min(TBICPROVC,arr((TMIB_ABVC * AUTOBICVC/(MIBVENC+AUTOBICVC))
+          + (TMIB_ABPC * AUTOBICPC/(MIBPRESC+AUTOBICPC))));
+
+TBICPROVP = max(0,arr((TMIB_ABVP * AUTOBICVP/(MIBVENP+AUTOBICVP)) + (TMIB_ABPP * AUTOBICPP/(MIBPRESP+AUTOBICPP))));
+
+TBICPABP =  min(TBICPROVP,arr((TMIB_ABVP * AUTOBICVP/(MIBVENP+AUTOBICVP))
+          + (TMIB_ABPP* AUTOBICPP/(MIBPRESP+AUTOBICPP))));
+
+TBICNPABV = arr((TMIB_ABNPVV /(MIBNPVENV))
+          + (TMIB_ABNPPV /(MIBNPPRESV)));
+TBICNPPROVC = max(0,arr((TMIB_ABNPVC /(MIBNPVENC)) + (TMIB_ABNPPC /(MIBNPPRESC))));
+TBICNPABC = min(TBICNPPROVC,arr((TMIB_ABNPVC /(MIBNPVENC))
+          + (TMIB_ABNPPC /(MIBNPPRESC))));
+TBICNPPROVP = max(0,arr((TMIB_ABNPVP /(MIBNPVENP)) + (TMIB_ABNPPP /(MIBNPPRESP))));
+TBICNPABP = min(TBICNPPROVP,arr((TMIB_ABNPVP /(MIBNPVENP))
+          + (TMIB_ABNPPP /(MIBNPPRESP))));
+ABICPDECV = AUTOBICVV + AUTOBICPV;
+ABICPDECC = AUTOBICVC + AUTOBICPC;
+ABICPDECP = AUTOBICVP + AUTOBICPP;
+ABICPNETV =  AUTOBICVV + AUTOBICPV - max(0,TMIB_AUTOAVV-TMIB_ABNPVLV) -max(0,TMIB_AUTOAPV-TMIB_ABNPPLV);
+ABICPNETC =  AUTOBICVC + AUTOBICPC - max(0,TMIB_AUTOAVC-TMIB_ABNPVLC) -max(0,TMIB_AUTOAPC-TMIB_ABNPPLC);
+ABICPNETP =  AUTOBICVP + AUTOBICPP - max(0,TMIB_AUTOAVP-TMIB_ABNPVLP) -max(0,TMIB_AUTOAPP-TMIB_ABNPPLP);
+
+
+
+AUTOBICPNET = ABICPNETV + ABICPNETC + ABICPNETP;
+regle 99991009:                                                                    
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPETOTi = BNCPROi + AUTOBNCi + BNCNPi ;
+regle 99991010:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPEBASABi=TSPETOTi;
+pour i = V,C,P:                                                                 
+TSPEABi = arr((max(MIN_SPEBNC,(TSPEBASABi * SPETXAB/100))) * 
+                       positif_ou_nul(TSPETOTi - MIN_SPEBNC)) +
+          arr((min(MIN_SPEBNC,TSPEBASABi )) * 
+                       positif(MIN_SPEBNC - TSPETOTi)); 
+regle 99991011:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPEABPi = arr((TSPEABi * (BNCPROi + AUTOBNCi))/TSPETOTi);                                  
+pour i = V,C,P:                                                                 
+TBNCPABi = arr(TSPEABPi * AUTOBNCi/(BNCPROi+AUTOBNCi)); 
+pour i = V,C,P:                                                                 
+TBNCTOTABi = arr(TSPEABi * (AUTOBNCi)/(TSPETOTi)); 
+
+pour i = V,C,P:                                                                 
+TSPEABNPi = TSPEABi - TSPEABPi;                                  
+pour i = V,C,P:                                                                 
+TBNCNPABi = (TBNCTOTABi - TBNCPABi) ;
+
+pour i = V,C,P:                                                                 
+ABNCPDECi =  AUTOBNCi; 
+pour i = V,C,P:                                                                 
+ABNCPNETi =  AUTOBNCi - TBNCPABi; 
+pour i = V,C,P:                                                                 
+HONODECi = XHONOi + XHONOAAi;
+pour i = V,C,P:                                                                 
+HONONETi = arr(XHONOi * MAJREV) + XHONOAAi ;
+AUTOBNCPNET = ABNCPNETV + ABNCPNETC + ABNCPNETP;
+HONONET = HONONETV + HONONETC + HONONETP;
+regle 99991012:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPENETPi = max (0,(BNCPROi  + AUTOBNCi - TSPEABPi));
+pour i = V,C,P:                                                                 
+TSPENETNPi = max (0,(BNCNPi - TSPEABNPi));
+pour i = V,C,P:                                                                 
+TSPENETi = TSPENETPi + TSPENETNPi;
+TSPENET = somme(i=V,C,P:(TSPENETi));
+regle 99991020:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TXSPEAAi = BNCREi + XHONOAAi - BNCDEi;
+regle 99991022:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TXSPEHi = max(0,arr((BNHREi + XHONOi - BNHDEi)*MAJREV))
+	 + min(0,(BNHREi + XHONOi - BNHDEi));
+regle 99991024:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TXSPENETi = TXSPEAAi + TXSPEHi;
+regle 99991026:
+application : iliad , batch  ;                          
+TXSPENET = somme(i=V,C,P:(TXSPENETi));
+regle 99991030:
+application : iliad , batch  ;                          
+TEFFBENEFTOT =  TSPENET + TXSPENET + TMIBNETVF + TMIBNETNPVF + TMIBNETPF + TMIBNETNPPF * (1 - positif(IPTEFP + IPTEFN + IPMOND));
+regle 99991040:
+application : iliad , batch  ;
+TBICPF = TMIBNETVF + TMIBNETPF + MIB_NETCT  ;
+TBICNPF =max(0,somme(i=V,C,P:BINTAi+BINHTAi)+TMIBNETNPVF + TMIBNETNPPF +MIB_NETNPCT - DEFNP);
+TBNN =  somme(i=V,C,P:TSPENETPi) + TXSPENET + max(0,somme(i=V,C,P:TSPENETNPi) 
+				 + NOCEPIMP-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2-DABNCNP1) + SPENETCT + SPENETNPCT ;
+regle 99991055:
+application :  iliad , batch  ;                          
+TEFFREV =   INDTEFF *
+                  (
+                  (TBICPF + TBICNPF + TBNN
+                  + BIHTAV + BIHTAC + BIHTAP
+                  + BIPTAV + BIPTAC + BIPTAP + RFROBOR * V_INDTEO
+                  + ESFP + TSPR + RCM + RRFI +PLOCNETF + NPLOCNETF
+                  + max(BANOR,0) + REB +
+                  min(BANOR,0) *
+                  positif(SEUIL_IMPDEFBA + 1
+                  - (REVTP-BA1)
+                  - REVQTOT))
+                  + R1649
+                  );
+RBGTEF = (1 - positif(TEFFREV  +PREREV- DAR)) * min( 0 , TEFFREV  +PREREV- DAR + TOTALQUO )
+                  + positif(TEFFREV+PREREV - DAR) * (TEFFREV +PREREV - DAR);
+RPALETEF = max(0,min(somme(i=1..4:min(NCHENFi,LIM_PENSALENF)+min(arr(CHENFi*MAJREV),LIM_PENSALENF)),
+                                    RBGTEF-DDCSG+TOTALQUO-SDD)) *(1-V_CNR);
+RPALPTEF = max( min(TOTPA,RBGTEF - RPALETEF - DDCSG + TOTALQUO - SDD) , 0 ) * (1 -V_CNR);
+RFACCTEF = max( min(DFA,RBGTEF - RPALETEF - RPALPTEF  - DDCSG + TOTALQUO - SDD) , 0);
+RDDIVTEF = max( min(DEDIV * (1 - V_CNR),RBGTEF - RPALETEF - RPALPTEF - RFACCTEF - DDCSG + TOTALQUO - SDD ) , 0 );
+APERPVTEF = (1 - V_CNR) * max(min(RPERPV,RBGTEF - RPALETEF - RPALPTEF - RFACCTEF
+                                    - RDDIVTEF - DDCSG + TOTALQUO -SDD), 0);
+APERPCTEF = (1 - V_CNR) * max(min(RPERPC,RBGTEF - RPALETEF - RPALPTEF  - RFACCTEF
+                                    - RDDIVTEF - DDCSG + TOTALQUO -SDD - APERPVTEF), 0);
+APERPPTEF = (1 - V_CNR) * max(min(RPERPP,RBGTEF - RPALETEF - RPALPTEF  - RFACCTEF
+                                    - RDDIVTEF - DDCSG + TOTALQUO -SDD - APERPVTEF - APERPCTEF), 0);
+RRBGTEF = (TEFFREV - DAR ) *(1-positif(RE168+TAX1649)) + positif(RE168+TAX1649) * (RE168+TAX1649);
+NUREPARTEF = min(NUPROPT , max(0,min(PLAF_NUREPAR, RRBGTEF - RPALETEF - RPALPTEF - RFACCTEF
+                                    - RDDIVTEF - APERPVTEF - APERPCTEF - APERPPTEF - DDCSG + TOTALQUO - SDD)))
+                                    * (1 - V_CNR) ;
+RBG2TEF = RBGTEF - max(0,min(RBGTEF , DDCSG));
+RBLTEF =  ( RBG2TEF - max(0,min( RBG2TEF , ( DPA + DFA + DEDIV + APERPVTEF + APERPCTEF + APERPPTEF + NUREPARTEF ))) * ( 1 - V_CNR )
+                                    - min( RBG2TEF , V_8ZT) * V_CR2
+                                    ) * (1 - positif(RE168+TAX1649));
+RNGTEF = (     null(V_REGCO - 4)
+                  * null(V_CNR   - 1)
+                  * null(V_CNR2  - 1)
+                  * null(V_CR2   - 1)
+                  * IPVLOC
+                  )
+                  +
+                  (1 -   null(V_REGCO - 4)
+                  * null(V_CNR   - 1)
+                  * null(V_CNR2  - 1)
+                  * null(V_CR2   - 1)
+                  )
+                  * RBLTEF ;
+NABTEF =   min( max( LIM_ABTRNGDBL + 1  - (RNGTEF+ TOTALQUO- SDD- SDC), 0 ), 1 )
+                  + min( max( LIM_ABTRNGSIMP + 1 - (RNGTEF+ TOTALQUO- SDD- SDC), 0 ), 1 );
+ABTPATEF = NDA * NABTEF * ABAT_UNVIEUX * (1-V_CNR);
+TEFFREVINTER =    INDTEFF *
+                  (
+                  (TBICPF + TBICNPF + TBNN
+                  + BIHTAV + BIHTAC + BIHTAP
+                  + BIPTAV + BIPTAC + BIPTAP + RFROBOR * V_INDTEO
+                  + ESFP + TSPR + RCM + RRFI +PLOCNETF + NPLOCNETF
+                  + max(BANOR,0) + REB +
+                  min(BANOR,0) *
+                  positif(SEUIL_IMPDEFBA + 1
+                  - (REVTP-BA1)
+                  - REVQTOT))
+                  + R1649 - DAR
+                  );
+TEFFREVTOT =    INDTEFF *
+                  (
+                  (TBICPF + TBICNPF + TBNN
+                  + BIHTAV + BIHTAC + BIHTAP
+                  + BIPTAV + BIPTAC + BIPTAP + RFROBOR * V_INDTEO
+                  + ESFP + TSPR + RCM + RRFI +PLOCNETF + NPLOCNETF
+                  + max(BANOR,0) + REB +
+                  min(BANOR,0) *
+                  positif(SEUIL_IMPDEFBA + 1
+                  - (REVTP-BA1)
+                  - REVQTOT))
+                  + R1649 - DAR - max(0,min(TEFFREVINTER,DPA + DFA + DEDIV + APERPVTEF + APERPCTEF + APERPPTEF + NUREPARTEF + ABTPATEF + ABTMA+DDCSG))
+                  )
+                  ;
diff --git a/sources2012m_3_13/chap-thr.m b/sources2012m_3_13/chap-thr.m
new file mode 100644
index 0000000000000000000000000000000000000000..b2f7fb09763478c31cf30bd7bee028021b024505
--- /dev/null
+++ b/sources2012m_3_13/chap-thr.m
@@ -0,0 +1,48 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 80000:
+application : iliad , batch  ;
+HRBTRFR1 = V_BTRFRHR1 * (1-positif_ou_nul(RFRH1)) + RFRH1;
+HRBTRFR2 = V_BTRFRHR2 * (1-positif_ou_nul(RFRH2)) + RFRH2;
+HRNBTRFR = positif_ou_nul(V_BTRFRHR1 * (1-positif(RFRH1)) + RFRH1) + positif_ou_nul(V_BTRFRHR2 * (1-positif(RFRH2)) + RFRH2);
+HRMOYBTRFR = arr((HRBTRFR1 + HRBTRFR2) /2);
+HRLIM15 = positif_ou_nul(REVKIREHR - (1.5 * HRMOYBTRFR));
+HRLIMBTRFR2 = positif_ou_nul(LIMHR1 * (1+BOOL_0AM) - HRBTRFR2);
+HRLIMBTRFR1 = positif_ou_nul(LIMHR1 * (1+BOOL_0AM) - HRBTRFR1);
+HRCONDTHEO = positif(null(2-HRNBTRFR)*positif(HRLIM15)*positif(HRLIMBTRFR1*HRLIMBTRFR2)* (1-positif(CASECHR+0)));
+HRBASEFRAC = arr((REVKIREHR - HRMOYBTRFR) / 2);
+HRBASELISSE = HRBASEFRAC + HRMOYBTRFR;
+CHRREEL1 = positif_ou_nul(LIMHRTX1 * (1+BOOL_0AM)-REVKIREHR) * ((REVKIREHR - LIMHR1 * (1+BOOL_0AM))*TXHR1/100)
+                       + (LIMHR1 * (1+BOOL_0AM) * TXHR1/100) * positif(REVKIREHR - LIMHRTX1 * (1+BOOL_0AM));
+CHRREEL2 = max(0,(REVKIREHR - LIMHR2*(1+BOOL_0AM))*TXHR2/100);
+CHRREELTOT = arr(max(0,CHRREEL1 + CHRREEL2));
+CHRTHEO11 = arr(positif_ou_nul(LIMHRTX1 * (1+BOOL_0AM)-HRBASELISSE) * ((HRBASELISSE - LIMHR1 * (1+BOOL_0AM))*TXHR1/100)
+                        + (LIMHR1 * (1+BOOL_0AM) * TXHR1/100)* positif(HRBASELISSE - LIMHRTX1 * (1+BOOL_0AM)));
+CHRTHEO21 = arr(max(0,(HRBASELISSE - LIMHR2*(1+BOOL_0AM))*TXHR2/100));
+CHRTHEOTOT = arr(max(0,CHRTHEO11 + CHRTHEO21)*2);
+BHAUTREV = max(0 , REVKIREHR - LIMHR1 * (1 + BOOL_0AM)) ;
+CHRAVANT = (max(0,min(CHRREELTOT,CHRTHEOTOT)) * HRCONDTHEO
+                     + CHRREELTOT * (1-HRCONDTHEO) ) * (1-null(1-FLAG_ACO));
+CHRTEFF = arr(CHRAVANT * (REVKIREHR - TEFFHRC)/ REVKIREHR);
+CHRAPRES = CHRAVANT * (1-positif(positif(IPMOND)+positif(IPBOCH))) + CHRTEFF * positif(positif(IPMOND)+positif(IPBOCH));
+regle 80005:
+application : iliad , batch  ;
+IHAUTREVT = max(0,CHRAPRES - CICHR);
diff --git a/sources2012m_3_13/chap-tl.m b/sources2012m_3_13/chap-tl.m
new file mode 100644
index 0000000000000000000000000000000000000000..799628e271853ec7a291d414fec20ade363a501c
--- /dev/null
+++ b/sources2012m_3_13/chap-tl.m
@@ -0,0 +1,174 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 21700:
+application : iliad ;
+
+
+RAP_RNI    = RNI_TL - RNI_INIT ;
+RAP_EFF    = EFF_TL - EFF_INIT ;
+RAP_PVQ    = PVQ_TL - PVQ_INIT ;
+RAP_PV     = PV_TL - PV_INIT ;
+RAP_RI     = - RI_TL + RI_INIT ;
+RAP_CI     = CI_TL ;
+RAP_CRDS   = RDS_TL - CRDS_INIT ;
+RAP_RDS    = BRDS_TL - BRDS_INIT ;
+RAP_PRS    = BPRS_TL - BPRS_INIT ;
+RAP_TAXAGA = TAXAGA_TL - TAXAGA_INIT ;
+RAP_CAP    = PCAP_TL - PCAP_INIT ;
+RAP_LOY    = LOYA_TL - LOY_INIT ;
+RAP_CHR    = CHR_TL - CHR_INIT ;
+RAP_CSAL   = CSALA_TL - CSAL_INIT ;
+RAP_GAIN   = GAINA_TL - GAIN_INIT ;
+RAP_CVN    = CVNA_TL - CVN_INIT ;
+RAP_CDIS   = CDISA_TL - CDIS_INIT ;
+RAP_GLO    = GLOA_TL - GLO_INIT ;
+RAP_RSE1   = RSE1A_TL - RSE1_INIT ;
+RAP_RSE2   = RSE2A_TL - RSE2_INIT ;
+RAP_RSE3   = RSE3A_TL - RSE3_INIT ;
+RAP_RSE4   = RSE4A_TL - RSE4_INIT ;
+RAP_RSE5   = RSE5A_TL - RSE5_INIT ;
+
+
+NUM_IR_TL = max(0 , RAP_RNI
+                   + RAP_EFF
+                   + RAP_PVQ
+                   + RAP_PV
+                   + RAP_RI 
+                   + RAP_CI) ;
+
+NUM_CS_TL     = max(0 , RAP_CRDS) ;
+NUM_RD_TL     = max(0 , RAP_RDS) ;
+NUM_PS_TL     = max(0 , RAP_PRS) ;
+
+NUM_TAXAGA_TL = max(0 , RAP_TAXAGA) ; 
+NUM_CAP_TL    = max(0 , RAP_CAP) ;
+NUM_LOY_TL    = max(0 , RAP_LOY) ;
+NUM_CHR_TL    = max(0 , RAP_CHR) ;
+
+NUM_CSAL_TL   = max(0 , RAP_CSAL) ;
+NUM_GAIN_TL   = max(0 , RAP_GAIN) ; 
+NUM_CVN_TL    = max(0 , RAP_CVN) ;
+NUM_CDIS_TL   = max(0 , RAP_CDIS) ;
+NUM_GLO_TL    = max(0 , RAP_GLO) ;
+
+NUM_RSE1_TL   = max(0 , RAP_RSE1) ;
+NUM_RSE2_TL   = max(0 , RAP_RSE2) ;
+NUM_RSE3_TL   = max(0 , RAP_RSE3) ;
+NUM_RSE4_TL   = max(0 , RAP_RSE4) ;
+NUM_RSE5_TL   = max(0 , RAP_RSE5) ;
+
+regle 21710 :
+application : iliad ;
+
+
+DEN_IR_TL = max(0 , RNI_RECT 
+                   + EFF_RECT
+                   + PVQ_RECT
+                   + PV_RECT
+                   + RI_RECT 
+                   + CI_RECT) ;
+
+DEN_CS_TL     = max(0 , CRDS_RECT) ;
+DEN_RD_TL     = max(0 , BRDS_RECT) ;
+DEN_PS_TL     = max(0 , BPRS_RECT) ;
+
+DEN_TAXAGA_TL = max(0 , TAXAGA_RECT) ;
+DEN_CAP_TL    = max(0 , PCAP_RECT) ;
+DEN_LOY_TL    = max(0 , LOY_RECT) ;
+DEN_CHR_TL    = max(0 , CHR_RECT) ;
+
+DEN_CSAL_TL   = max(0 , CSAL_RECT) ;
+DEN_GAIN_TL   = max(0 , GAIN_RECT) ;
+DEN_CVN_TL    = max(0 , CVN_RECT) ;
+DEN_CDIS_TL   = max(0 , CDIS_RECT) ;
+DEN_GLO_TL    = max(0 , GLO_RECT) ;
+
+DEN_RSE1_TL = max(0 , RSE1_RECT) ;
+DEN_RSE2_TL = max(0 , RSE2_RECT) ;
+DEN_RSE3_TL = max(0 , RSE3_RECT) ;
+DEN_RSE4_TL = max(0 , RSE4_RECT) ;
+DEN_RSE5_TL = max(0 , RSE5_RECT) ;
+
+regle 21720 :
+application : iliad ;
+enchaineur : ENCH_TL ;
+
+
+TL_IR = (1 - positif(TL_MF*positif(MFIR+0)+FLAG_RETARD+FLAG_DEFAUT+PASS_TLIR))
+            *( positif(   positif (NUM_IR_TL+0)
+                          * positif (DEN_IR_TL+0)
+                          * positif (NUM_IR_TL / DEN_IR_TL  - 0.05 )
+                     )
+            )
+           + positif(TL_MF*positif(MFIR+0)+FLAG_RETARD+FLAG_DEFAUT+PASS_TLIR) ;
+
+TL_CS = (1 - positif(TL_MF*positif(MFCS)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF*positif(MFCS) + positif (NUM_CS_TL / DEN_CS_TL  - 0.05 )) )
+         + positif(TL_MF*positif(MFCS)+FLAG_RETARD+FLAG_DEFAUT);
+
+TL_RD = (1 - positif(TL_MF*positif(MFRD)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF*positif(MFRD) + positif (NUM_RD_TL / DEN_RD_TL  - 0.05 )) )
+         + positif(TL_MF*positif(MFRD)+FLAG_RETARD+FLAG_DEFAUT);
+
+TL_PS = (1 - positif(TL_MF*positif(MFPS)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF*positif(MFPS) + positif (NUM_PS_TL / DEN_PS_TL  - 0.05 )) )
+         + positif(TL_MF*positif(MFPS)+FLAG_RETARD+FLAG_DEFAUT);
+
+
+TL_TAXAGA = ( 1 - positif(TL_MF * positif(MFTAXAGA) + FLAG_RETARD + FLAG_DEFAUT)) * (positif(TL_MF * positif(MFTAXAGA) + positif(NUM_TAXAGA_TL / DEN_TAXAGA_TL - 0.05)))
+            + positif(TL_MF * positif(MFTAXAGA) + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_CAP = ( 1 - positif(TL_MF * positif(MFPCAP) + FLAG_RETARD + FLAG_DEFAUT)) * (positif(TL_MF * positif(MFPCAP) + positif(NUM_CAP_TL / DEN_CAP_TL - 0.05)))
+            + positif(TL_MF * positif(MFPCAP) + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_LOY = ( 1 - positif(TL_MF * positif(MFLOY) + FLAG_RETARD + FLAG_DEFAUT)) * (positif(TL_MF * positif(MFLOY) + positif(NUM_LOY_TL / DEN_LOY_TL - 0.05)))
+            + positif(TL_MF * positif(MFLOY) + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_CHR = ( 1 - positif(TL_MF * positif(MFIR) + FLAG_RETARD + FLAG_DEFAUT)) * (positif(TL_MF * positif(MFIR) + positif(NUM_CHR_TL / DEN_CHR_TL - 0.05)))
+            + positif(TL_MF * positif(MFIR) + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_CSAL = (1 - positif(TL_MF * positif(MFCSAL)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFCSAL) + positif (NUM_CSAL_TL / DEN_CSAL_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFCSAL)+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_GAIN = (1 - positif(TL_MF * positif(MFGAIN)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFGAIN) + positif (NUM_GAIN_TL / DEN_GAIN_TL  - 0.05 )) )
+	 + positif(TL_MF * positif(MFGAIN)+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_CVN = (1 - positif(TL_MF * positif(MFCVN)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFCVN) + positif (NUM_CVN_TL / DEN_CVN_TL  - 0.05 )) )
+	 + positif(TL_MF * positif(MFCVN)+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_CDIS = (1 - positif(TL_MF * positif(MFCDIS)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFCDIS) + positif (NUM_CDIS_TL / DEN_CDIS_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFCDIS)+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_GLO = (1 - positif(TL_MF * positif(MFGLO)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFGLO) + positif (NUM_GLO_TL / DEN_GLO_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFGLO)+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE1 = (1 - positif(TL_MF * positif(MFRSE1)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE1) + positif (NUM_RSE1_TL / DEN_RSE1_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE1)+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE2 = (1 - positif(TL_MF * positif(MFRSE2)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE2) + positif (NUM_RSE2_TL / DEN_RSE2_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE2)+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE3 = (1 - positif(TL_MF * positif(MFRSE3)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE3) + positif (NUM_RSE3_TL / DEN_RSE3_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE3)+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE4 = (1 - positif(TL_MF * positif(MFRSE4)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE4) + positif (NUM_RSE4_TL / DEN_RSE4_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE4)+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE5 = (1 - positif(TL_MF * positif(MFRSE5)+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE5) + positif (NUM_RSE5_TL / DEN_RSE5_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE5)+FLAG_RETARD+FLAG_DEFAUT) ;
+
diff --git a/sources2012m_3_13/coc1.m b/sources2012m_3_13/coc1.m
new file mode 100644
index 0000000000000000000000000000000000000000..2b2ae23577c217f2860bb7b096b3f691a7ca58c2
--- /dev/null
+++ b/sources2012m_3_13/coc1.m
@@ -0,0 +1,598 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 1507:
+application : iliad  , batch;
+si
+    (
+ ( FRNV > 0 et (present(TSHALLOV) + present(ALLOV)) = 0 )
+     ou
+ ( FRNC > 0 et (present(TSHALLOC) + present(ALLOC)) = 0 )
+     ou
+ ( FRN1 > 0 et (present(TSHALLO1) + present(ALLO1)) = 0 )
+     ou
+ ( FRN2 > 0 et (present(TSHALLO2) + present(ALLO2)) = 0 )
+     ou
+ ( FRN3 > 0 et (present(TSHALLO3) + present(ALLO3)) = 0 )
+     ou
+ ( FRN4 > 0 et (present(TSHALLO4) + present(ALLO4)) = 0 )
+    )
+alors erreur A143;
+verif 1508:
+application : iliad  , batch;
+si ( 
+   (TSHALLOV +0) < (GSALV + 0)
+   et
+   (GSALV + 0) > 0
+   )
+alors erreur A14401;
+verif 1509:
+application : iliad  , batch;
+si ( 
+   (TSHALLOC +0) < (GSALC + 0)
+   et
+   (GSALC + 0) > 0
+   )
+alors erreur A14402;
+verif 153:
+application : iliad , batch ;
+si
+   (
+       (positif(PPETPV)=1 et positif(PPENHV)=1)
+    ou (positif(PPETPC)=1 et positif(PPENHC)=1)
+    ou (positif(PPETPP1)=1 et positif(PPENHP1)=1)
+    ou (positif(PPETPP2)=1 et positif(PPENHP2)=1)
+    ou (positif(PPETPP3)=1 et positif(PPENHP3)=1)
+    ou (positif(PPETPP4)=1 et positif(PPENHP4)=1)
+   )
+alors erreur A153;
+verif 148:
+application : iliad , batch ;
+si (APPLI_OCEANS = 0) et (
+   (
+     V_NOTRAIT + 0 < 20
+     et
+     positif ( present ( IPTEFP ) + present ( IPTEFN ) + 0 ) = 0 
+     et
+     positif ( positif ( TSELUPPEV + 0 ) + positif ( TSELUPPEC + 0 )) = 1 
+     et
+     positif ( IND_TDR + 0 ) = 0
+   )
+   ou
+   (
+     V_NOTRAIT + 0 >= 20
+     et
+     positif ( present ( IPTEFP ) + present ( IPTEFN ) + 0 ) = 0 
+     et
+     positif ( positif ( TSELUPPEV + 0 ) + positif ( TSELUPPEC + 0 )) = 1 
+     et
+     positif_ou_nul ( IND_TDR ) = 0
+   )                      )
+alors erreur A148;
+verif non_auto_cc 1513:
+application : iliad , batch ;
+si (
+     ( DETSV=1 et
+       positif(present(TSHALLOV) + present(ALLOV) + present(CARTSV) + present(CARTSNBAV) + present(REMPLAV) + present(REMPLANBV)) = 0 )
+ ou
+     ( DETSC=1 et 
+       positif(present(TSHALLOC) + present(ALLOC) + present(CARTSC) + present(CARTSNBAC) + present(REMPLAC) + present(REMPLANBC))=0 )
+ ou
+     ( DETS1=1 et 
+       positif(present(TSHALLO1) + present(ALLO1) + present(CARTSP1) + present(CARTSNBAP1) + present(REMPLAP1) + present(REMPLANBP1))=0 )
+ ou
+     ( DETS2=1 et 
+       positif(present(TSHALLO2) + present(ALLO2) + present(CARTSP2) + present(CARTSNBAP2) + present(REMPLAP2) + present(REMPLANBP2))=0 )
+ ou
+     ( DETS3=1 et
+       positif(present(TSHALLO3) + present(ALLO3) + present(CARTSP3) + present(CARTSNBAP3) + present(REMPLAP3) + present(REMPLANBP3))=0 )
+ ou
+     ( DETS4=1 et
+       positif(present(TSHALLO4) + present(ALLO4) + present(CARTSP4) + present(CARTSNBAP4) + present(REMPLAP4) + present(REMPLANBP4))=0 )
+	)
+alors erreur A146;
+verif 1600:
+application : iliad , batch ;
+si
+
+( DPVRCM > 0 et ((BPVRCM + PEA + GAINPEA) > 0 ))
+
+alors erreur A320;
+verif 1601:
+application : iliad , batch ;
+si
+
+   positif(ABDETPLUS) + positif(ABDETMOINS) = 2 
+
+alors erreur A321;
+verif 16021:
+application : iliad , batch ;
+si
+   FIPDOMCOM + 0 > 0
+   et 
+   V_EAD + V_EAG + 0 = 0
+
+alors erreur A747 ;
+verif 16022:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(TRAVITWT + 0) = 1
+   et
+   positif(MATISOSJ + 0) = 0
+
+alors erreur A75101 ;
+verif 16023:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(TRAMURWC + 0) = 1
+   et
+   positif(CINRJ + 0) = 0
+
+alors erreur A75102 ;
+verif 16024:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(TRATOIVG + 0) = 1
+   et
+   positif(CIDEP15 + 0) = 0
+
+alors erreur A75103 ;
+verif 16025:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CRENRJRNOUV + 0) + positif(CRECHOBAS + 0) + positif(PARVITWS + 0) > 1
+
+alors erreur A75001 ;
+verif 16026:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(VOLISOWU + 0) + positif(VOLISOWV + 0) > 1
+
+alors erreur A75002 ;
+verif 16027:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(PORTEWW + 0) + positif(PORTEWX + 0) > 1
+
+alors erreur A75003 ;
+verif 16028:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(ISOMURWA + 0) + positif(ISOMURWB + 0) > 1
+
+alors erreur A75004 ;
+verif 16029:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(ISOTOIVE + 0) + positif(ISOTOIVF + 0) > 1
+
+alors erreur A75005 ;
+verif 16030:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CRENRJRNOUV + CRECHOBAS + PARVITWS + 0) + positif(MATISOSJ + 0) = 1
+
+alors erreur A74901 ;
+verif 16031:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(VOLISOWU + VOLISOWV + 0) + positif(VOLISO + 0) = 1
+
+alors erreur A74902 ;
+verif 16032:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(PORTEWW + PORTEWX + 0) + positif(PORENT + 0) = 1
+
+alors erreur A74903 ;
+verif 16033:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(ISOMURWA + ISOMURWB + 0) + positif(CINRJ + 0) = 1
+
+alors erreur A74904 ;
+verif 16034:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(ISOTOIVE + ISOTOIVF + 0) + positif(CIDEP15 + 0) = 1
+
+alors erreur A74905 ;
+verif 16035:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(DEPENVTT + DEPENVTU + DEPENVTV + DEPENVTW + DEPENVTX + DEPENVTY + 0) = 1
+   et
+   positif(CIBOIBAIL + CINRJBAIL + CRENRJ + CINRJ + CIDEP15 + MATISOSI + MATISOSJ + VOLISO + PORENT + ELESOL + CHAUBOISN
+	   + CHAUBOISO + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + EAUPLUV + DIAGPERF + RESCHAL + 0) = 1
+
+alors erreur A752 ;
+verif 16036:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CRECHOCON2 + 0) = 1
+   et
+   positif(CIBOIBAIL + CINRJBAIL + CINRJ + CIDEP15 + MATISOSJ + CHAUBOISN + CHAUBOISO + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + 0) = 0
+
+alors erreur A74801 ;
+verif 16037:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CRECHOBOI + 0) = 1
+   et
+   positif(CIBOIBAIL + CINRJBAIL + CRENRJ + CINRJ + CIDEP15 + MATISOSI + MATISOSJ + VOLISO + PORENT + ELESOL + CHAUBOISN
+	   + CHAUBOISO + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + EAUPLUV + DIAGPERF + RESCHAL + 0) = 0
+
+alors erreur A74802 ;
+verif 1608:
+application : iliad , batch ;
+si
+   positif(ABIMPPV + 0) = 1 
+   et 
+   positif(ABIMPMV + 0) = 1 
+
+alors erreur A323 ;
+verif 1616:
+application : iliad , batch ;
+si (APPLI_OCEANS=0) et (
+          (
+                ( RDPRESREPORT +0  > V_BTPRESCOMP  +  LIM_REPORT )
+           ou 
+                ( PRESCOMP2000 + PRESCOMPJUGE  +0 > LIM_REPORT  et
+                   V_BTPRESCOMP  + 0> 0 )
+           ou
+                ( RDPRESREPORT +0  > LIM_REPORT et V_BTPRESCOMP+0 = 0 )
+          )
+          et
+          (
+              1 - V_CNR > 0
+          )
+          et
+          (
+              RPRESCOMP > 0
+          )
+         et
+          ((APPLI_ILIAD = 1 et V_NOTRAIT+0 < 16)
+             ou APPLI_COLBERT = 1
+             ou ((V_BTNI1+0) non dans (50,92) et APPLI_BATCH = 1))
+	               )
+alors erreur DD15;
+verif 1606:
+application : iliad , batch ;
+si (APPLI_OCEANS = 0) et 
+(   (1 - V_CNR > 0) et 
+(RCMRDS > (LIM_CONTROLE + RCMABD 
+                        + RCMAV 
+                        + RCMHAD 
+                        + RCMHAB  
+			+ RCMTNC
+			+ REVACT
+			+ PROVIE
+			+ DISQUO 
+			+ INTERE
+			+ REVPEA ))
+)
+alors erreur DD14;
+verif 1603:
+application : batch , iliad ;
+si (
+   RFMIC > 0 et ( RFORDI > 0 ou RFDORD > 0 ou RFDHIS > 0 ou FONCI > 0 ou REAMOR > 0 et FONCINB > 0 ou REAMORNB > 0)
+   )
+alors erreur A420;
+verif 1604:
+application : batch , iliad;
+si ( V_IND_TRAIT > 0)
+   et
+   (
+   RFMIC >  LIM_MICFON
+   )
+alors erreur A421;
+verif 422:
+application : batch , iliad ;
+si 
+  (
+   LOYIMP > 0 et ( present(RFORDI) = 0
+		et 
+		   present(FONCI) = 0
+		et 
+		   present(FONCINB) = 0
+		et 
+		   present(REAMOR) = 0
+		et 
+		   present(REAMORNB) = 0
+		et 
+		   present(RFDORD) = 0
+                et 
+		   present(RFDHIS) = 0
+		et 
+		   present(RFMIC) = 0)
+  )
+alors erreur A422;
+verif 1609:
+application : batch , iliad ;
+
+ si (
+    (RFROBOR > 0 et RFDANT > 0) et (present(RFORDI)=0
+		                   et present(RFDORD)=0
+                                   et present(RFDHIS)=0
+                                    )
+    )
+alors erreur A423;
+verif 1610:
+application : batch , iliad ;
+
+si 
+   RFROBOR > 0 et (FONCI > 0 ou REAMOR > 0)
+
+alors erreur A424 ;
+verif 1605:
+application : batch, iliad ;
+si (APPLI_OCEANS = 0) et
+	(
+	RFMIC > 0 et RFDANT > 0
+
+	)
+alors erreur DD11;
+verif 1607:
+application : batch ,iliad;
+si    (APPLI_COLBERT+APPLI_OCEANS=0) et 
+	(
+	BAILOC98 > V_BTBAILOC98        
+	ou
+	( present(BAILOC98) = 1 et present(V_BTBAILOC98) = 0)
+	)
+alors erreur DD24;
+verif 1538:                                                                    
+application : iliad , batch ;                                 
+si ( 
+( RCSV > 0 et SOMMEA538VB = 0 )
+
+ou
+( RCSC > 0 et SOMMEA538CB = 0 )
+
+ou
+( RCSP > 0 et SOMMEA538PB = 0 )
+
+)
+alors erreur A538;
+verif isf 967:                                                                    
+application : iliad , batch ;                                 
+
+si
+   V_ZDC = 4
+   et
+   positif(V_0AZ + 0) = 1
+   et
+   positif(ISFBASE + 0) = 1
+
+alors erreur A967 ;
+verif isf 1700:                                                                    
+application : iliad , batch;                                 
+si
+	(
+	( (V_NOTRAIT +0 < 14) et (V_IND_TRAIT+0 = 4))
+	et
+	(ISFBASE <= LIM_ISFINF)
+	)
+
+alors erreur A98001 ;
+verif isf 1710:                                                                    
+application :  iliad , batch ;                                 
+si
+	(
+        ((V_NOTRAIT +0 < 14) et (V_IND_TRAIT+0 = 4))
+	et
+	(ISFBASE >= LIM_ISFSUP)
+	)
+alors erreur A98002;
+verif isf 1711:                                                                    
+application : iliad;                                 
+si 
+	(
+	 (
+	   ((V_NOTRAIT + 0 = 14) ou (V_NOTRAIT+0 = 16)) 
+         )
+	 et
+	 ( present(ISFBASE) = 1 )
+	 et
+	 ( ISFBASE + 0 <= LIM_ISFINF )
+	)
+alors erreur A98003;
+verif isf 1712:                                                                    
+application :  iliad;                                 
+si 
+	(
+	( ISFBASE + 0 != 0 )
+	  et
+		(
+		( V_NOTRAIT + 0 > 20 )
+		  et
+		( ISFBASE + 0 <= LIM_ISFINF )
+		)
+	)
+alors erreur A98004;
+verif isf 1713:                                                                    
+application : iliad ;                                 
+si 
+	(
+	( V_NOTRAIT + 0 > 13 )
+	et
+	( ISFBASE + 0 >= LIM_ISFSUP )
+	)
+alors erreur A98005;
+verif isf 1720:                                                                    
+application : iliad , batch ;                                 
+si
+	(
+	(present(ISFBASE) = 0)
+	 et
+	((ISFPMEDI + ISFPMEIN + ISFFIP + ISFFCPI + ISFDONF + ISFPLAF + ISFVBPAT + ISFDONEURO + ISFETRANG + ISFCONCUB + ISFPART + 0) > 0)
+	)
+alors erreur A981;
+
+verif isf 1730:                                                                    
+application : batch ,iliad  ;                                 
+si
+      (	
+      (V_IND_TRAIT + 0 > 0)
+      et
+      ((positif(ISF_LIMINF + 0 ) + positif(ISF_LIMSUP + 0 )) = 2)
+      )
+
+alors erreur A982 ;
+verif isf 1740:                                                            
+application : batch , iliad ;                                 
+si (APPLI_OCEANS=0) et 
+      (
+		  (V_IND_TRAIT + 0 = 4)
+		  et
+		  (
+		  positif(ISFCONCUB + 0 ) = 1
+                  et
+                  	(positif(V_0AM + V_0AO + 0 ) = 1
+                         ou
+                  		(positif(V_0AC + V_0AD + V_0AV + 0 )=1
+                                 et
+				 positif(V_0AB + 0)= 1 
+		       	        )
+			)
+                  )
+	)
+alors erreur A983 ;
+verif isf 1750:                                                            
+application : batch , iliad  ;                              
+si
+      (
+                  (V_IND_TRAIT + 0 = 4)
+		  et
+		  (
+		  positif(ISFPART + 0 ) = 1
+                  et
+                  	(positif(V_0AM + V_0AO + 0 ) = 1
+                         ou
+                  		(positif(V_0AC + V_0AD + V_0AV + 0 )=1
+                                 et
+				 positif(V_0AB + 0)= 0 
+		       	        )
+			)
+                   )
+	)
+alors erreur A984 ;
+verif isf 1760:                                                           
+application : batch , iliad  ;                             
+si
+      positif(ISF_LIMINF + ISF_LIMSUP + 0) = 1
+      et
+      ISFBASE > LIM_ISFINF 
+      et 
+      ISFBASE < LIM_ISFSUP
+
+alors erreur A985;
+verif isf 1770:                                                           
+application : batch , iliad  ;                             
+si (APPLI_OCEANS=0) et 
+      (
+      (V_NOTRAIT > 13)
+      et
+      (ISFCONCUB + 0 > 0 et ISFPART + 0 > 0)
+      )
+alors erreur A986;
+verif isf 1780:                                                           
+application : batch , iliad  ;                             
+si (APPLI_OCEANS=0) et 
+      (
+     	 (
+      		(V_NOTRAIT+0 = 14)
+	 )
+         et
+         (
+      		(V_ETCVL + 0 = 1)
+		et
+      		(ISFCONCUB + ISFPART + 0 = 0)
+         )
+      )
+alors erreur A98701;
+verif isf 1790:                                                           
+application : batch , iliad  ;                             
+si (APPLI_OCEANS=0) et 
+   (
+      (
+      		(V_NOTRAIT+0 = 14)
+      )
+      et
+      (
+      		(present(V_ETCVL) = 1)
+		et
+		(V_ETCVL + 0 = 0)
+		et
+      		(ISFCONCUB + ISFPART + 0 > 0)
+      )
+   )
+alors erreur A98702;
+
+
+
diff --git a/sources2012m_3_13/coc2.m b/sources2012m_3_13/coc2.m
new file mode 100644
index 0000000000000000000000000000000000000000..fec113d578ed3effb5d01aa1cb6dc4901aa952bd
--- /dev/null
+++ b/sources2012m_3_13/coc2.m
@@ -0,0 +1,1429 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 2500:
+application : iliad , batch;
+si (APPLI_OCEANS = 0) et 
+  (
+   FRNV > (TSHALLOV + ALLOV) * 0.10
+  et
+   COSBV > 0 
+  et 
+   PRBRV + PALIV + 0 = 0
+  )
+alors erreur I00101;
+verif 2501:
+application : iliad , batch;
+si (APPLI_OCEANS = 0) et 
+(
+(FRNC > (TSHALLOC+ ALLOC) *0.10)
+et
+COSBC > 0 et (PRBRC + PALIC + 0 = 0)
+)
+alors erreur I00102;
+verif 2502:
+application : iliad, batch;
+si (APPLI_OCEANS = 0) et 
+(
+  (
+   (
+    ( FRN1 > (TSHALLO1 + ALLO1) *0.10)
+          et (PRBR1 + PALI1 + 0 = 0)
+   )
+   ou
+   (
+     ( FRN2 > (TSHALLO2 + ALLO2) *0.10)
+          et (PRBR2 + PALI2 + 0 = 0)
+   )
+   ou
+   (
+     ( FRN3 > (TSHALLO3 + ALLO3) *0.10)
+          et (PRBR3 + PALI3 + 0 = 0)
+   )
+   ou
+   (
+     ( FRN4 > (TSHALLO4 + ALLO4) *0.10)
+          et (PRBR4 + PALI4 + 0 = 0)
+   )
+  ) et COSBP > 0
+)
+alors erreur I00103;
+verif 2503:
+application : batch , iliad ;
+si
+      ( (APPLI_COLBERT + APPLI_ILIAD+APPLI_OCEANS=1)  et (
+		((RDSYVO > 0) et (positif(COSBV+0) = 0))
+	ou
+		((RDSYCJ > 0) et (positif(COSBC+0) = 0))
+	ou
+		((RDSYPP > 0) et (positif(COSBP+0) = 0))
+					       )
+	)
+alors erreur IM07;
+verif 2504:
+application : batch , iliad ;
+si
+   ( (APPLI_COLBERT + APPLI_ILIAD+APPLI_OCEANS=1)  et (
+  V_IND_TRAIT > 0
+  et
+  CREPROSP > LIM_PROSP
+					)
+  )
+alors erreur IM08;
+verif 2511:
+application : batch , iliad ;
+si
+ (APPLI_COLBERT + APPLI_ILIAD+APPLI_OCEANS=1)  et (
+   (RDREP > 0 et present(RDFREP) = 0)
+   ou
+   (DONETRAN > 0 et present(RDFDONETR) = 0)
+   ou
+   (RDDOUP > 0 et present(RDFDOU) = 0)
+   ou
+   (DONAUTRE > 0 et present(RDFDAUTRE) = 0))
+  
+alors erreur IM06 ;
+verif 2540:
+application : batch , iliad ;
+si (APPLI_COLBERT+APPLI_BATCH + APPLI_ILIAD = 1) et 
+  (
+  (
+   RFORDI + FONCI + REAMOR 
+ + RFDORD  
+ + RFDHIS  
+ + RFDANT  
+   > LIM_BTREVFONC) et (V_BTANC = 1) et (V_BTIRF = 0)
+  )
+alors erreur DD26;
+verif 5108:
+application : batch, iliad ;
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT + 0 = 4 
+   et 
+   (1 - V_CNR) > 0 
+   et
+   (REPSNO3 > LIM_CONTROLE + V_BTPME4
+    ou
+    REPSNO2 > LIM_CONTROLE + V_BTPME3
+    ou
+    REPSNO1 > LIM_CONTROLE + V_BTPME2
+    ou
+    REPSNON > LIM_CONTROLE + V_BTPME1)
+   et 
+   positif(NATIMP + 0) = 1
+                           ) 
+alors erreur DD27 ;
+verif 51091:
+application : batch, iliad ;
+si (APPLI_OCEANS = 0) et (
+   CREPROSP > 0 
+   et 
+   positif(V_BTCREPROSP + 0) = 1
+                          )
+alors erreur DD28 ;
+verif 5110:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et 
+  ((REPDON03 > LIM_CONTROLE + V_BTDONS5)
+   ou
+   (REPDON04 > LIM_CONTROLE + V_BTDONS4)
+   ou
+   (REPDON05 > LIM_CONTROLE + V_BTDONS3)
+   ou
+   (REPDON06 > LIM_CONTROLE + V_BTDONS2)
+   ou
+   (REPDON07 > LIM_CONTROLE + V_BTDONS1))
+   et 
+   positif(NATIMP) = 1
+   et 
+   V_CNR + 0 = 0
+ 
+alors erreur DD29 ;
+verif 3900:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et (
+   positif(PERPIMPATRIE + 0) = 1
+   et
+   positif(V_BTPERPIMP + 0) = 1
+                          )
+alors erreur DD35 ;
+verif 3910:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et (
+   1 - V_CNR > 0 
+   et 
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   PTZDEVDUR > 0	
+   et
+   (V_BTRFRN3 + 0 > PLAF_RFRN3  
+    ou
+    RFRN3 + 0 > PLAF_RFRN3)
+                          )
+alors erreur DD3601 ;
+verif 3911:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et (
+   1 - V_CNR > 0 
+   et 
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   PTZDEVDUR > 0	
+   et
+   positif(V_BTRFRN3 + RFRN3 + 0) = 0  
+                           )
+alors erreur DD3602 ;
+verif 3920:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et (
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  positif(V_BTRFRN2 + 0) = 1
+  et
+ ( pour un i dans V,C,P:
+   ( AUTOBICVi > LIM_MIBVEN )
+   ou
+   ( AUTOBICPi > LIM_MIBPRES )
+   ou
+   ( AUTOBICVi + AUTOBICPi > LIM_MIBVEN ) 
+   ou
+   ( AUTOBNCi > LIM_SPEBNC )
+ )        )
+alors erreur DD37;
+verif 3930:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et (
+   1 - V_CNR > 0 
+   et 
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   V_BTRFRN2 + 0 > arr(LIM_BARN2 * V_BTNBP2)
+   et
+   pour un i dans V,C,P: positif(AUTOBICVi + AUTOBICPi + AUTOBNCi) = 1 
+                          )
+alors erreur DD3801 ;
+verif 3940:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et (
+
+   1 - V_CNR > 0 
+   et 
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   positif(V_BTRFRN2 + 0) = 0
+   et
+   1 - positif_ou_nul(RFRN2) = 1
+   et
+   pour un i dans V,C,P: positif(AUTOBICVi + AUTOBICPi + AUTOBNCi) = 1 
+                           )
+alors erreur DD3802 ;
+verif 2554:
+application :  batch , iliad  ;
+si
+
+   (APPLI_OCEANS = 0) 
+   et
+   CIDEPENV > LIMDEPENV
+
+alors erreur A733 ;
+verif 25110:
+application : batch , iliad  ;
+si
+
+  (positif(PTZDEVDUR + PTZDEVDURN + 0) = 1
+   et
+   positif(DEPENVTT + DEPENVTU + DEPENVTV + DEPENVTW + DEPENVTX + DEPENVTY 
+	   + CIBOIBAIL + CINRJBAIL + CRENRJ + CINRJ + CIDEP15 + MATISOSI + MATISOSJ + VOLISO + PORENT + ELESOL + CHAUBOISN 
+	   + CHAUBOISO + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + EAUPLUV + DIAGPERF + RESCHAL + 0) = 0)
+
+alors erreur A73501 ;
+verif 25111:
+application : batch , iliad  ;
+si
+
+   (positif(PTZDEVDUR + 0) = 1
+    et
+    positif(PTZDEVDURN + 0) = 1) 
+
+alors erreur A73502 ;
+verif 253:
+application : batch , iliad  ;
+si
+
+   positif(INDLOCNEUF + 0) = 1
+   et
+   positif(INVLOCNEUF + 0) = 0
+
+alors erreur A73701;
+verif 254:
+application : batch , iliad  ;
+si
+
+   positif(INDLOCRES + 0) = 1
+   et
+   positif(INVLOCRES + 0) = 0
+
+alors erreur A73702;
+verif 260:
+application : batch , iliad  ;
+si
+
+   positif(SINISFORET + 0) = 1
+   et
+   positif(RDFORESTRA + 0) = 0
+
+alors erreur A738;
+verif 261:
+application : batch , iliad  ;
+si
+   positif(OPTPLAF15 + 0) = 1
+   et
+   SOMMEA739 = 0
+
+alors erreur A739 ;
+verif 262:
+application : batch , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   (INVOMRETPR + INVOMRETPW + 0) > PLAF_INVDOM2 
+   et
+   positif(INVOMENTRI + INVOMENTRO + INVOMENTRT + INVOMENTRY + INVOMENTNY + 0) = 0
+
+alors erreur A74001 ;
+verif 263:
+application :  batch , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   (INVOMENTRI + 0) > PLAFINVDOM2 
+   et
+   positif(INVOMRETPR + INVOMRETPW + INVOMENTRO + INVOMENTRT + INVOMENTRY + INVOMENTNY + 0) = 0
+
+alors erreur A74002 ;
+verif 264:
+application : batch , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   (INVOMENTRO + INVOMENTRT + INVOMENTRY + INVOMENTNY + 0 > PLAF_INVDOM6
+   et
+    positif(INVOMRETPR + INVOMRETPW + INVOMENTRI + 0) = 0)
+
+alors erreur A74003 ;
+verif 2641:
+application : batch , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   positif(INVOMRETPR + INVOMRETPW + 0) + positif(INVOMENTRI + INVOMENTRO + INVOMENTRT + INVOMENTRY + INVOMENTNY + 0) = 2 
+   et
+   (INVOMRETPR + INVOMRETPW + INVOMENTRI + INVOMENTRO + INVOMENTRT + INVOMENTRY + INVOMENTNY + 0 > PLAF_INVDOM2
+   ou
+   (INVOMRETPR + INVOMRETPW + INVOMENTRI + INVOMENTRO + INVOMENTRT + INVOMENTRY + INVOMENTNY + 0 <= PLAF_INVDOM2
+    et
+    (INVOMENTRI + 0 > PLAFINVDOM2
+    ou
+    INVOMENTRO + INVOMENTRT + INVOMENTRY + INVOMENTNY + 0 > PLAF_INVDOM6)))
+
+alors erreur A74004 ;
+verif 265:
+application : batch , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   (REPMEUBLE + 0 > PLAF_99999
+    ou
+    INVREPMEU + 0 > PLAF_99999
+    ou
+    INVREPNPRO + 0 > PLAF_99999
+    ou
+    INVNPROREP + 0 > PLAF_99999)
+
+alors erreur A743;
+verif 266:
+application : batch , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   RISKTEC + 0 > PLAF_TEC
+
+alors erreur A744;
+verif 267:
+application : batch , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   positif(INVREPMEU + 0) + positif(INVREPNPRO + 0) > 1
+
+alors erreur A745;
+verif 271:
+application : batch , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   INVOMRETPR * positif(INVOMRETPR + 0) > INVOMRETPQ * positif(INVOMRETPQ + 0) + 0
+
+alors erreur A74601 ;
+verif 272:
+application : batch , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   INVOMRETPW * positif(INVOMRETPW + 0) > INVOMRETPV * positif(INVOMRETPV + 0) + 0
+
+alors erreur A74602 ;
+verif 273:
+application : batch , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   INVOMENTRI * positif(INVOMENTRI + 0) > INVOMENTRH * positif(INVOMENTRH + 0) + 0
+
+alors erreur A74603 ;
+verif 274:
+application : batch , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   INVOMENTRO * positif(INVOMENTRO + 0) > INVOMENTRN * positif(INVOMENTRN + 0) + 0
+
+alors erreur A74604 ;
+verif 275:
+application : batch , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   INVOMENTRT * positif(INVOMENTRT + 0) > INVOMENTRS * positif(INVOMENTRS + 0) + 0
+
+alors erreur A74605 ;
+verif 276:
+application : batch , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   INVOMENTRY * positif(INVOMENTRY + 0) > INVOMENTRX * positif(INVOMENTRX + 0) + 0
+
+alors erreur A74606 ;
+verif 277:
+application : batch , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   INVOMENTNY * positif(INVOMENTNY + 0) > INVOMENTNX * positif(INVOMENTNX + 0) + 0
+
+alors erreur A74607 ;
+verif 2561:
+application : iliad ,batch ;
+si
+(
+	RDCOM > 0 et
+
+	SOMMEA700 = 0
+)
+alors erreur A700;
+verif 2562:
+application :  iliad , batch ;
+si (APPLI_OCEANS = 0) et 
+  (
+    NBACT > SOMMEA700
+
+    et
+    (V_REGCO+0) dans (1,3,5,6)
+  )
+alors erreur DD19;
+verif 2565:
+application : batch , iliad ;
+si (APPLI_COLBERT+APPLI_BATCH + APPLI_ILIAD = 1) et 
+(
+RDCOM > 0 et NBACT + 0  = 0
+  et ( positif(NATIMP)=1 )
+)
+alors erreur I009;
+verif 2566:
+application : batch , iliad ;
+si (APPLI_COLBERT+APPLI_BATCH + APPLI_ILIAD = 1) et 
+(
+CHRFAC > 0 et CHNFAC + 0  = 0
+  et ( positif(NATIMP)=1 )
+  et V_CNR = 0
+)
+alors erreur I008;
+verif 2572:
+application : batch, iliad ;
+si (APPLI_OCEANS = 0) et  (
+   (1 - V_CNR > 0)
+   et
+   positif(RNOUV) = 1 
+   et 
+   positif(RDSNO) = 1 
+   et 
+   positif(CINE1 + CINE2 ) = 1
+                           )
+alors erreur DD02 ;
+verif 2575:
+application : batch , iliad;
+si (APPLI_OCEANS = 0) et  
+(
+  (1 - V_CNR > 0 )
+ et
+  (( RVAIDE + RVAIDAS + CREAIDE + 0) > (LIM_AIDOMI3 * (1 - positif(PREMAIDE)) + LIM_PREMAIDE2 * positif(PREMAIDE))
+  et  
+     INAIDE = 1 )
+  et
+  (    positif(V_0AP+0)=0 
+    et positif(V_0AF+0)=0
+    et positif(V_0CG+0)=0
+    et positif(V_0CI+0)=0
+    et positif(V_0CR+0)=0 
+  ) 
+)
+alors erreur DD21 ;
+verif 2610:
+application : batch , iliad ;
+
+si
+   RDENS + RDENL + RDENU > V_0CF + V_0DJ + V_0DN + 0 
+
+alors erreur A70701 ;
+verif 2615:
+application : batch , iliad ;
+
+si
+   RDENSQAR + RDENLQAR + RDENUQAR > V_0CH + V_0DP + 0 
+
+alors erreur A70702 ;
+verif 2651:
+application : batch , iliad  ;
+
+si
+   SOMMEA709 > 1
+
+alors erreur A709 ;
+verif 2642:
+application : iliad , batch;
+si
+ 
+  V_IND_TRAIT > 0 
+  et 
+  (
+   REPINVLOCINV + 0 > LIMLOC2
+   ou
+   RINVLOCINV + 0 > LIMLOC2
+   ou
+   REPINVLOCREA + 0 > LIMLOC2
+   ou
+   RINVLOCREA + 0 > LIMLOC2
+   ou
+   INVLOCHOTR1 + 0 > LIMLOC2
+   ou 
+   INVLOCHOTR + 0 > LIMLOC2
+   ou 
+   REPINVTOU + 0 > LIMLOC2
+   ou
+   INVLOGREHA + 0 > LIMLOC2
+   ou
+   INVLOGHOT + 0 > LIMLOC2
+   ou
+   INVLOCXN + 0 > LIMLOC2
+   ou
+   INVLOCXV + 0 > LIMLOC2
+  )
+
+alors erreur A708;
+verif 2644:
+application :  iliad ,batch;
+si (APPLI_OCEANS = 0 ) et (
+          (
+                ( REPINVDOMPRO2 +0  > V_BTR4DOMPRO + LIM_REPORT  )
+           ou
+                ( REPINVDOMPRO2 +0  > LIM_REPORT et V_BTR4DOMPRO+0 = 0 )
+          )
+          et
+          (
+              1 - V_CNR > 0
+          )
+          et
+          (
+                  RIDOMPRO > 0
+          )
+         et
+          ((APPLI_ILIAD = 1 et V_NOTRAIT+0 < 16)
+             ou APPLI_COLBERT = 1
+             ou ((V_BTNI1+0) non dans (50,92) et APPLI_BATCH = 1))
+                           )
+alors erreur DD07;
+verif 3645:
+application : batch, iliad ;
+si (APPLI_OCEANS = 0 ) et (
+   (
+    ( REPINVLOCINV + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( RINVLOCINV + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( REPINVLOCREA + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( RINVLOCREA + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOCHOTR1 + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOCHOTR + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) ) 
+   ou
+    ( REPINVTOU + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOGREHA + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOGHOT + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOCXN + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOCXV + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   )
+ et 
+     (RTOURREP + RTOUHOTR + RTOUREPA + 0 > 0)
+			   )
+alors erreur DD06;
+verif 3647:
+application : batch, iliad ;
+si (APPLI_OCEANS = 0 ) et (
+
+  V_REGCO != 2
+  et
+  V_REGCO != 4
+  et
+  positif(PRETUDANT + 0) = 1
+  et
+  positif(V_BTPRETUD + 0) = 1
+                           )
+alors erreur DD09;
+verif 710:
+application : batch, iliad ;
+si
+   
+    V_IND_TRAIT > 0 
+    et
+    positif(CREAIDE + 0) * positif(RVAIDE + 0) = 1
+  
+alors erreur A710;
+verif 2649:
+application : batch, iliad ;
+si 
+   V_IND_TRAIT > 0 
+   et
+   INAIDE > 0 
+   et 
+   positif(RVAIDE + RVAIDAS + CREAIDE + 0) = 0 
+    
+alors erreur A71101 ;
+verif 2650:
+application : batch, iliad ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   positif(ASCAPA + 0) + positif(RVAIDAS + 0) = 1
+    
+alors erreur A71102 ;
+verif 26501:
+application : batch, iliad ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   PREMAIDE > 0   
+   et 
+   positif(RVAIDE + RVAIDAS + CREAIDE + 0) = 0
+   
+alors erreur A71103 ;
+verif 2690:
+application : batch, iliad ;
+si
+	( 
+         ((PRESCOMP2000 + 0 > PRESCOMPJUGE ) et (positif(PRESCOMPJUGE)=1))
+	)
+alors erreur A712;
+verif non_auto_cc 2698:
+application : batch, iliad ;
+si
+          (  PRESCOMPJUGE+0 > 0 et PRESCOMP2000+0 =0 )
+        ou
+          (  PRESCOMPJUGE+0 =0 et PRESCOMP2000+0 > 0)
+alors erreur A713;
+verif 2700:
+application : batch, iliad ;
+si
+(RDPRESREPORT+0 > 0) et
+          (  PRESCOMPJUGE + PRESCOMP2000 + 0 >0 )
+alors erreur A714;
+verif 2736:
+application : batch, iliad ;
+si
+
+  V_IND_TRAIT > 0 
+  et
+  positif(LOCRESINEUV + 0) + positif(MEUBLENP + 0) + positif(INVNPROF1 + 0) + positif(INVNPROF2 + 0) > 1
+
+alors erreur A73602 ;
+verif 2737:
+application : batch, iliad ;
+si
+
+  V_IND_TRAIT > 0 
+  et
+  positif(RESIVIEU + 0) + positif(RESIVIANT + 0) > 1
+
+alors erreur A73603 ;
+verif 2738 :
+application : batch, iliad ;
+si
+  V_IND_TRAIT > 0
+  et
+  positif(LOCMEUBID + 0) + positif(LOCMEUBIE + 0) + positif(LOCMEUBIF + 0) + positif(LOCMEUBIG + 0) > 1
+
+alors erreur A73601 ;
+verif 2730:
+application : batch, iliad ;
+si
+
+  V_IND_TRAIT > 0 
+  et
+  REPFOR + 0 > 0 et REPSINFOR + 0 > 0 
+
+alors erreur A73001;
+verif 2731:
+application : batch, iliad ;
+si
+
+  V_IND_TRAIT > 0 
+  et
+  REPFOR1 + 0 > 0 et REPSINFOR1 + 0 > 0 
+
+alors erreur A73002 ;
+verif 2732:
+application : batch, iliad ;
+si
+
+  V_IND_TRAIT > 0 
+  et
+  REPFOR2 + 0 > 0 et REPSINFOR2 + 0 > 0 
+
+alors erreur A73003 ;
+verif 27001:
+application : batch, iliad ;
+
+si
+
+ (V_IND_TRAIT > 0)
+ et 
+ (SOMMEA71701 > 1)
+
+alors erreur A71701 ;
+verif 27002:
+application : batch, iliad ;
+
+si
+
+ (V_IND_TRAIT > 0)
+ et 
+ (SOMMEA71702 > 1)
+
+alors erreur A71702 ;
+verif 27003:
+application : batch, iliad ;
+si
+
+  V_IND_TRAIT > 0
+  et
+  (positif(CELLIERHJ) + positif(CELLIERHK) + positif(CELLIERHN) + positif(CELLIERHO) > 1 )
+
+alors erreur A71703 ;
+verif 27004:
+application : batch, iliad ;
+si
+
+  V_IND_TRAIT > 0
+  et
+  ( CELLIERHL + 0 > 0) et ( CELLIERHM + 0 > 0 )
+
+alors erreur A71704 ;
+verif 27005:
+application : batch, iliad ;
+si
+
+   V_IND_TRAIT > 0 
+   et
+   ((CELREPHR + 0 > PLAF_99999)
+    ou
+    (CELREPHS + 0 > PLAF_99999)
+    ou
+    (CELREPHT + 0 > PLAF_99999)
+    ou
+    (CELREPHU + 0 > PLAF_99999)
+    ou
+    (CELREPHV + 0 > PLAF_99999)
+    ou
+    (CELREPHW + 0 > PLAF_99999)
+    ou
+    (CELREPHX + 0 > PLAF_99999)
+    ou
+    (CELREPHZ + 0 > PLAF_99999)) 
+
+alors erreur A741;
+verif 27007:
+application : batch, iliad ;
+si
+   V_IND_TRAIT > 0 
+   et 
+   positif(CELREPHR + 0) + positif(CELREPHS + 0) > 1
+
+alors erreur A74201 ;
+verif 27008:
+application : batch, iliad ;
+si
+   V_IND_TRAIT > 0 
+   et 
+   positif(CELREPHT + 0) + positif(CELREPHU + 0) > 1
+
+alors erreur A74202 ;
+verif 27009:
+application : batch, iliad ;
+si
+   V_IND_TRAIT > 0 
+   et 
+   positif(CELREPHV + 0) + positif(CELREPHW + 0) + positif(CELREPHX + 0) + positif(CELREPHZ + 0) > 1
+
+alors erreur A74203 ;
+verif 27010:
+application : batch, iliad ;
+si
+   V_IND_TRAIT > 0 
+   et 
+   positif(CELREPHD + 0) + positif(CELREPHE + 0) > 1
+
+alors erreur A74204 ;
+verif 27012:
+application : batch, iliad ;
+si
+   V_IND_TRAIT > 0 
+   et 
+   positif(CELREPHA + 0) + positif(CELREPHB + 0) + positif(CELREPHG + 0) + positif(CELREPHH + 0) > 1
+
+alors erreur A74205 ;
+verif 2701:
+application : batch, iliad ;
+si
+(V_IND_TRAIT > 0) et 
+(RDPRESREPORT+0 > LIM_REPCOMPENS)
+alors erreur A715;
+verif 27011:
+application : batch, iliad ;
+si
+(V_IND_TRAIT > 0) et 
+(
+(SUBSTITRENTE < PRESCOMP2000+0)
+ou
+(SUBSTITRENTE > 0 et present(PRESCOMP2000)=0)
+)
+alors erreur A716;
+verif 2510:
+application : batch ,  iliad ;
+si
+	(V_IND_TRAIT > 0)
+        et
+        (
+        RDFREP + RDFDONETR > PLAF_REDREPAS
+        )
+alors erreur A701;
+verif 2520:
+application : batch ,  iliad ;
+si
+  (
+  ((V_REGCO+0) dans (1,3,5,6))
+  et
+  INTDIFAGRI > 0
+  et
+  RCMHAB + 0 < INTDIFAGRI
+  )
+alors erreur A702;
+verif 703:
+application : batch ,  iliad ;
+si
+ (
+  ( (positif(PRETUD+0) = 1 ou positif(PRETUDANT+0) = 1)
+   et
+    V_0DA < 1979
+   et
+    positif(BOOL_0AM+0) = 0 ) 
+  ou
+  ( (positif(PRETUD+0) = 1 ou positif(PRETUDANT+0) = 1)
+   et 
+   positif(BOOL_0AM+0) = 1
+   et
+   V_0DA < 1979 
+   et
+   V_0DB < 1979 )
+  )
+alors erreur A703;
+verif 704:
+application : batch ,  iliad ;
+si
+  (
+   (positif( CASEPRETUD + 0 ) = 1 et positif( PRETUDANT + 0 ) = 0)
+    ou
+   (positif( CASEPRETUD + 0 ) = 0 et positif( PRETUDANT + 0 ) = 1)
+  )
+alors erreur A704;
+verif 7501:
+application : batch ,  iliad ;
+
+si
+  CONVCREA  + 0 > 15 
+  et 
+  V_IND_TRAIT > 0
+
+alors erreur A705 ;
+verif 7601:
+application : batch ,  iliad ;
+
+si
+   CONVHAND + 0 > CONVCREA + 0
+  et 
+   V_IND_TRAIT > 0
+
+alors erreur A706 ;
+verif 731:
+application : batch ,  iliad ;
+si
+   V_IND_TRAIT > 0
+   et
+   CASEPRETUD + 0 > 5
+
+alors erreur A731 ;
+verif 2097:
+application : batch, iliad ;
+si
+  (
+    present(PERPIMPATRIE) = 1
+    et
+    V_CNR = 1
+    et 
+    (V_REGCO = 2
+    ou
+    V_REGCO = 4)
+  )
+alors erreur A097 ;
+verif 2098:
+application : batch , iliad ;
+
+si
+    positif(PVMOBNR + 0) = 1
+    et
+    V_REGCO != 2
+    et
+    V_REGCO != 4
+  
+alors erreur A098 ;
+verif 3400:
+application : batch, iliad ;
+
+si (APPLI_OCEANS = 0) et (
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  positif(FIPCORSE+0) = 1
+  et
+  positif(FFIP + FCPI) = 1
+                         )
+alors erreur DD34;
+verif 3410:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   REPGROREP1 + REPGROREP2 + REPGROREP11 > LIM_CONTROLE + V_BTNUREPAR
+                          )
+alors erreur DD39 ;
+verif 3420:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   CELRREDLA + CELRREDLB + CELRREDLE > LIM_CONTROLE + V_BTRRCEL3
+                          )
+alors erreur DD40 ;
+verif 34201:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   CELRREDLC + CELRREDLD > LIM_CONTROLE + V_BTRRCEL4
+                          )
+alors erreur DD48 ;
+verif 3430:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   REDMEUBLE + REDREPNPRO + LOCMEUBIX > LIM_CONTROLE + V_BTRESINEUV
+                          )
+alors erreur DD41 ;
+verif 34301:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   INVREDMEU + LOCMEUBIH > LIM_CONTROLE + V_BTREPNEUV
+                          )
+alors erreur DD49 ;
+verif 3440:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (REPFOR + REPFOR1 + REPFOR2 > LIM_CONTROLE + V_BTFOREST
+    ou
+    REPSINFOR + REPSINFOR1 + REPSINFOR2 > LIM_CONTROLE + V_BTSINFOR)
+                        )
+alors erreur DD42 ;
+verif 3450:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (INVOMREP + NRETROC50 + NRETROC40 + INVENDI + INVOMENTMN + RETROCOMLH
+   + RETROCOMMB + INVOMENTKT + RETROCOMLI + RETROCOMMC + INVOMENTKU 
+   + INVOMQV + INVRETRO1 + INVRETRO2 + INVIMP + INVDOMRET50 + INVDOMRET60
+   + INVDIR2009 + INVENDEB2009 + INVOMRETPA + INVOMRETPB + INVOMRETPD
+   + INVOMRETPE + INVOMRETPF + INVOMRETPH + INVOMRETPI + INVOMRETPJ + INVOMRETPL
+   > LIM_CONTROLE + V_BTREPLGI + V_BTREPLH + V_BTREPMAC + V_BTREPMB + V_BTREPPA + V_BTREPPB + V_BTREPPD + V_BTREPPE
+		  + V_BTREPPF + V_BTREPPH + V_BTREPPI + V_BTREPPJ + V_BTREPPL + V_BTREPQE + V_BTREPQF + V_BTREPQG 
+		  + V_BTREPQI + V_BTREPQO + V_BTREPQP + V_BTREPQR + V_BTREPQV)
+
+                           
+alors erreur DD43 ;
+verif 3460:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   INVSOCNRET + INVOMSOCKH + INVOMSOCKI + INVSOC2010 + INVOMSOCQU + INVLOGSOC > LIM_CONTROLE + V_BTREPQK + V_BTREPQN + V_BTREPQU
+                         
+alors erreur DD44 ;
+verif 3470:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (CELREPHR > LIMLOC2
+    ou
+    CELREPHS > LIMLOC2 
+    ou 
+    CELREPHT > LIMLOC2
+    ou
+    CELREPHU > LIMLOC2
+    ou
+    CELREPHV > LIMLOC2
+    ou
+    CELREPHW > LIMLOC2
+    ou
+    CELREPHX > LIMLOC2
+    ou
+    CELREPHZ > LIMLOC2)
+                        )
+alors erreur DD45 ;
+verif 3480:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (INVREPMEU > LIMLOC2
+    ou
+    INVREPNPRO > LIMLOC2
+    ou
+    INVNPROREP > LIMLOC2
+    ou
+    REPMEUBLE > LIMLOC2) 
+                           )
+alors erreur DD46 ;
+verif 3490:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   PATNAT1 + PATNAT2 > LIM_CONTROLE + V_BTPATNAT
+                          )
+alors erreur DD50 ;
+verif 34901:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 
+   + LNPRODEF5 + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1 > LIM_CONTROLE + V_BTDEFNPLOC
+                          )
+alors erreur DD52 ;
+verif 34902:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   DEFBIC6 + DEFBIC5 + DEFBIC4 + DEFBIC3 + DEFBIC2 + DEFBIC1 > LIM_CONTROLE + V_BTBNCDF
+                         )
+alors erreur DD53 ;
+verif 34903:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   positif(PTZDEVDURN + 0) = 1 
+   et 
+   positif(DEPENVTT + DEPENVTU + DEPENVTV + DEPENVTW + DEPENVTX + DEPENVTY + CIBOIBAIL + CINRJBAIL + CRENRJ 
+	   + CINRJ + CIDEP15 + MATISOSI + MATISOSJ + VOLISO + PORENT + ELESOL + CHAUBOISN + CHAUBOISO
+	   + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + EAUPLUV + DIAGPERF + RESCHAL + 0) = 1
+   et
+   positif(CIDEVDUR + 0) = 1
+                           )
+alors erreur DD54 ;
+verif 1257:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   CELRREDLF > LIM_CONTROLE + V_BTRRCEL1
+
+alors erreur DD57 ;
+verif 1258:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   LOCMEUBIZ > LIM_CONTROLE + V_BTRESINEUV
+
+alors erreur DD58 ;
+verif 12591:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   positif(BPVOPTCSV + 0) = 1
+   et
+   positif(BPCOPTV + BPCOSAV + 0) = 0
+
+alors erreur DD5901 ;
+verif 12592:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   positif(BPVOPTCSC + 0) = 1
+   et
+   positif(BPCOPTC + BPCOSAC + 0) = 0
+
+alors erreur DD5902 ;
+verif 12601:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   positif(GAINSALAV + 0) = 1
+   et
+   positif(BPV18V + BPCOPTV + BPV40V + BPCOSAV + 0) = 0
+
+alors erreur DD6001 ;
+verif 12602:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   positif(GAINSALAC + 0) = 1
+   et
+   positif(BPV18C + BPCOPTC + BPV40C + BPCOSAC + 0) = 0
+
+alors erreur DD6002 ;
+verif 12611:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   positif(CVNSALAV + 0) = 1
+   et
+   positif(BPV18V + BPCOPTV + BPV40V + BPCOSAV + 0) = 0
+
+alors erreur DD6101 ;
+verif 12612:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   positif(CVNSALAC + 0) = 1
+   et
+   positif(BPV18C + BPCOPTC + BPV40C + BPCOSAC + 0) = 0
+
+alors erreur DD6102 ;
+verif 1262:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   positif(CRECHOCON2 + 0) = 1
+   et
+   (positif(MATISOSJ) * (positif(CINRJ) + positif(CIDEP15) + positif(CHAUBOISN + CHAUBOISO) + positif(POMPESR + CHAUFSOL) 
+					+ positif(CIBOIBAIL + CINRJBAIL + POMPESP + POMPESQ + ENERGIEST)) + 0 = 0
+    et
+    positif(CINRJ) * (positif(CIDEP15) + positif(CHAUBOISN + CHAUBOISO) + positif(POMPESR + CHAUFSOL)
+				       + positif(CIBOIBAIL + CINRJBAIL + POMPESP + POMPESQ + ENERGIEST)) + 0 = 0
+    et
+    positif(CIDEP15) * (positif(CHAUBOISN + CHAUBOISO) + positif(POMPESR + CHAUFSOL)
+						       + positif(CIBOIBAIL + CINRJBAIL + POMPESP + POMPESQ + ENERGIEST)) + 0 = 0
+    et
+    positif(CHAUBOISN + CHAUBOISO) * (positif(POMPESR + CHAUFSOL) + positif(CIBOIBAIL + CINRJBAIL + POMPESP + POMPESQ + ENERGIEST)) + 0 = 0
+    et
+    positif(POMPESR + CHAUFSOL) * positif(CIBOIBAIL + CINRJBAIL + POMPESP + POMPESQ + ENERGIEST) + 0 = 0)
+
+alors erreur DD62 ;
+verif 1263:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   IPTEFP < RNI + 0
+
+alors erreur DD63 ;
+verif 321:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et 
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  positif(CREAIDE+0) > 0
+  et
+  (
+  (1 - BOOL_0AM) *
+   (present(TSHALLOV) + present(ALLOV) + present(GLD1V) + present(GLD2V) + present(GLD3V)
+   + present(BPCOSAV) + present(TSASSUV) + present(XETRANV) 
+   + present(TSELUPPEV) + present(CARTSV) + present(REMPLAV) + present(HEURESUPV)
+   + present(FEXV) + present(BAFV) + positif(V_FORVA) + present(BAFORESTV)
+   + present(BAFPVV) + present(BAF1AV) + present(BAEXV) + present(BACREV)
+   + present(BACDEV) + present(BAHEXV) + present(BAHREV) + present(BAHDEV)
+   + present(BA1AV) + present(BAPERPV)
+   + present(MIBEXV) + present(MIBVENV) + present(MIBPRESV) + present(MIBPVV)
+   + present(MIB1AV) + present(MIBDEV) 
+   + present( BICPMVCTV )
+   + present(BICEXV)
+   + present(BICNOV) + present(BICDNV) 
+   + present(BIHEXV) + present(BIHNOV) + present(BIHDNV)
+   + present(BI1AV) + present(BIPERPV)
+   + present(BNCPROEXV) + present(BNCPROV) + present(BNCPROPVV) + present(BNCPRO1AV)
+   + present(BNCPRODEV) + present(BNCPMVCTV) + present(BNCEXV) + present(BNCREV)
+   + present(BNCDEV) + present(BNHEXV) + present(BNHREV) + present(BNHDEV)
+   + present(BN1AV) + present(BNCCRV) + present(CESSASSV)
+   + present(AUTOBICVV) + present(AUTOBICPV) + present(LOCPROCGAV)
+   + present(LOCDEFPROCGAV) + present(LOCPROV) + present(LOCDEFPROV)
+   + present(AUTOBNCV) + present(XHONOAAV) + present(XHONOV)
+   + present(GLDGRATV) + present(SALINTV) + present(BICPMVCTV))
+
+  + (1 - positif(V_0AP+V_0AF)) * BOOL_0AM *
+   (present(TSHALLOV) + present(ALLOV) + present(GLD1V) + present(GLD2V) + present(GLD3V)
+    + present(BPCOSAV) + present(TSASSUV) + present(XETRANV) 
+    + present(TSELUPPEV) + present(CARTSV) + present(REMPLAV) + present(HEURESUPV)
+    + present(FEXV) + present(BAFV) + positif(V_FORVA) + present(BAFORESTV)
+    + present(BAFPVV) + present(BAF1AV) + present(BAEXV) + present(BACREV)
+    + present(BACDEV) + present(BAHEXV) + present(BAHREV) + present(BAHDEV)
+    + present(BA1AV) + present(BAPERPV)
+    + present(MIBEXV) + present(MIBVENV) + present(MIBPRESV) + present(MIBPVV)
+    + present(MIB1AV) + present(MIBDEV) + present(BICEXV)
+    + present(BICPMVCTV) + present(BICNOV) + present(BICDNV) 
+    + present(BIHEXV) + present(BIHNOV) + present(BIHDNV)
+    + present(BI1AV) + present(BIPERPV)
+    + present(BNCPROEXV) + present(BNCPROV) + present(BNCPROPVV) + present(BNCPRO1AV)
+    + present(BNCPRODEV) + present(BNCPMVCTV) + present(BNCEXV) + present(BNCREV)
+    + present(BNCDEV) + present(BNHEXV) + present(BNHREV) + present(BNHDEV)
+    + present(BN1AV) + present(BNCCRV) + present(CESSASSV) 
+    + present(AUTOBICVV) + present(AUTOBICPV) + present(LOCPROCGAV)
+    + present(LOCDEFPROCGAV) + present(LOCPROV) + present(LOCDEFPROV)
+    + present(AUTOBNCV) + present(XHONOAAV) + present(XHONOV)
+    + present(GLDGRATV) + present(SALINTV) + present(BICPMVCTV))
+   *
+   (present(TSHALLOC) + present(ALLOC) + present(GLD1C) + present(GLD2C) + present(GLD3C)
+    + present(BPCOSAC) + present(TSASSUC) + present(XETRANC) 
+    + present(TSELUPPEC) + present(CARTSC) + present(REMPLAC) + present(HEURESUPC)
+    + present(FEXC) + present(BAFC) + positif(V_FORCA) + present(BAFORESTC)
+    + present(BAFPVC) + present(BAF1AC) + present(BAEXC) + present(BACREC)
+    + present(BACDEC) + present(BAHEXC) + present(BAHREC) + present(BAHDEC)
+    + present(BA1AC) + present(BAPERPC)
+    + present(MIBEXC) + present(MIBVENC) + present(MIBPRESC) + present(MIBPVC)
+    + present(MIB1AC) + present(MIBDEC) + present(BICEXC)
+    + present(BICPMVCTC) + present(BICNOC) + present(BICDNC) 
+    + present(BIHEXC) + present(BIHNOC) + present(BIHDNC)
+    + present(BI1AC) + present(BIPERPC)
+    + present(BNCPROEXC) + present(BNCPROC) + present(BNCPROPVC) + present(BNCPRO1AC)
+    + present(BNCPRODEC) + present(BNCEXC) + present(BNCREC)
+    + present(BNCDEC) + present(BNHEXC) + present(BNHREC) + present(BNHDEC)
+    + present(BN1AC) + present(BNCCRC) + present(CESSASSC)
+    + present(AUTOBICVC) + present(AUTOBICVC) + present(LOCPROCGAC)
+    + present(LOCDEFPROCGAC) + present(LOCPROC) + present(LOCDEFPROC)
+    + present(AUTOBNCC) + present(XHONOAAC) + present(XHONOC)
+    + present(GLDGRATC) + present(SALINTC) + present(BICPMVCTC) + present(BNCPMVCTC))
+
+  + BOOL_0AM * positif(V_0AF) *
+   (present(TSHALLOV) + present(ALLOV) + present(GLD1V) + present(GLD2V) + present(GLD3V)
+   + present(BPCOSAV) + present(TSASSUV) + present(XETRANV) 
+   + present(TSELUPPEV) + present(CARTSV) + present(REMPLAV) + present(HEURESUPV)
+   + present(FEXV) + present(BAFV) + positif(V_FORVA) + present(BAFORESTV)
+   + present(BAFPVV) + present(BAF1AV) + present(BAEXV) + present(BACREV)
+   + present(BACDEV) + present(BAHEXV) + present(BAHREV) + present(BAHDEV)
+   + present(BA1AV) + present(BAPERPV)
+   + present(MIBEXV) + present(MIBVENV) + present(MIBPRESV) + present(MIBPVV)
+   + present(MIB1AV) + present(MIBDEV) + present(BICEXV)
+   + present( BICPMVCTV ) 
+   + present(BICNOV) + present(BICDNV) 
+   + present(BIHEXV) + present(BIHNOV) + present(BIHDNV)
+   + present(BI1AV) + present(BIPERPV)
+   + present(BNCPROEXV) + present(BNCPROV) + present(BNCPROPVV) + present(BNCPRO1AV)
+   + present(BNCPRODEV) + present(BNCPMVCTV) + present(BNCEXV) + present(BNCREV)
+   + present(BNCDEV) + present(BNHEXV) + present(BNHREV) + present(BNHDEV)
+   + present(BN1AV) + present(BNCCRV) + present(CESSASSV)
+   + present(AUTOBICVV) + pr
\ No newline at end of file
diff --git a/sources2012m_3_13/coc3.m b/sources2012m_3_13/coc3.m
new file mode 100644
index 0000000000000000000000000000000000000000..c4da4bae4e323964ed6f22a3fe413088e70aa5e1
--- /dev/null
+++ b/sources2012m_3_13/coc3.m
@@ -0,0 +1,512 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 3003:
+application : iliad  , batch;
+si
+   (
+      V_0AM + 0 = 1  et  V_0AE + V_0AG + V_0AL + V_0AN + V_0AW + 0 > 0 
+   )
+alors erreur A01001;
+verif 3004:
+application : iliad  , batch;
+si
+   (
+       V_0AC + 0 = 1  et  V_0AF + V_0AS + 0 > 0  
+   )
+alors erreur A01004;
+verif 3005:
+application : iliad  , batch;
+si
+   (
+       V_0AD + 0 = 1  et  V_0AF + V_0AS + 0 > 0  
+   )
+alors erreur A01005;
+verif 3006:
+application : iliad  , batch;
+si
+   (
+      V_0AV + 0 = 1  et  ( (BOOL_0AZ != 1 et V_0AF  > 0) ou V_0AS > 0)
+   )
+alors erreur A01003;
+verif 3007:
+application : iliad  , batch;
+si
+   (
+     (V_0AM + 0 = 1) et V_0BT+0 = 1
+   )
+alors erreur A01009;
+verif 3009:
+application : iliad, batch;
+si (
+   ( V_0AP+V_0AF+V_0AS+V_0AE+V_0AW+V_0AL+V_0AN+V_0AG+V_0BT+0) > 0
+   et
+   positif(V_0AM + V_0AO + V_0AC + V_0AD + V_0AV + 0) != 1
+   )
+alors erreur A01011;
+verif 3010:
+application : iliad, batch;
+si ( 
+	V_0AC = 1 et V_0AG =1
+   )
+alors erreur A01006;
+verif 3011:
+application : iliad, batch;
+si ( 
+	V_0AD = 1 et V_0AG =1
+   )
+alors erreur A01007;
+verif 3012:
+application : iliad, batch;
+si ( 
+	( V_0AV = 1 et V_INDG = 1 et V_0AG =1 )
+	ou
+	( present(V_0AZ)=1 et V_0AV=1 et BOOL_0AZ!=1 et V_INDG=1 et V_0AG=1 )
+   )
+alors erreur A01008;
+verif 3513:
+application : iliad  , batch;
+si
+   (
+       V_0AO + 0 = 1  et  V_0AE + V_0AG + V_0AL + V_0AN + V_0AW + 0 > 0  
+   )
+alors erreur A01002;
+verif 3514:
+application : iliad  , batch;
+si
+   (
+     (V_0AO + 0 = 1) et V_0BT+0 = 1
+   )
+alors erreur A01010;
+verif 3013:
+application : iliad, batch;
+si ( 
+    (V_IND_TRAIT+0 = 4)
+    et
+    (
+    V_0DA < (V_ANREV - 120) ou V_0DA > V_ANREV ou V_0DB < (V_ANREV - 120) ou V_0DB > V_ANREV
+    )
+   ) alors erreur A013;
+verif  3014:
+application : iliad  , batch;
+si
+   (
+    (V_IND_TRAIT = 5)
+    et
+    (
+      ( positif(V_0DB) = 1 et ( V_0DB < (V_ANREV - 120) ou V_0DB > V_ANREV ) )
+    ou
+      ( V_0DA < (V_ANREV - 120) ou V_0DA > V_ANREV ) 
+    )
+   )
+alors erreur A013;
+verif 3020:
+application : iliad , batch;
+si (APPLI_COLBERT + APPLI_OCEANS = 0) et (
+    V_ZDC = 1 
+    et 
+    somme(i=X,Y,Z: positif(V_0Ai)) > 1)
+   
+alors erreur A01701 ;
+verif 3021:
+application : iliad , batch ;
+si (APPLI_COLBERT + APPLI_OCEANS = 0) et (
+    V_ZDC = 4
+    et 
+    (  
+     positif(V_0AZ + 0) = 0 
+     ou 
+     V_0AM + V_0AO + (V_0AC + V_0AD + V_0AV) * V_0AB + 0 = 0
+    ))
+   
+alors erreur A01702 ;
+verif 3022:
+application : iliad , batch ;
+si (APPLI_COLBERT + APPLI_OCEANS = 0) et (
+   V_ZDC = 1
+   et
+   positif(V_0AX) = 1 
+   et 
+   V_0AM + V_0AO + 0 = 0)
+
+alors erreur A01703 ;
+verif 3023:
+application : iliad , batch ;
+si (APPLI_COLBERT + APPLI_OCEANS = 0) et (
+   V_ZDC = 1
+   et
+   positif(V_0AY) = 1 
+   et 
+   V_0AD + 0 = 0)
+
+alors erreur A01704 ;
+verif 3026:
+application : batch, iliad;
+si (APPLI_COLBERT + APPLI_OCEANS = 0) et (
+    V_ZDC = 1 
+    et 
+    positif(V_0AZ) = 1 
+    et 
+    V_0AV + V_0AM + 0 = 0 )
+  
+alors erreur A01705 ;
+verif 3031:
+application : batch ;
+si (APPLI_COLBERT = 0) et (
+    null(10 - V_NOTRAIT) = 1
+        et
+    V_ZDC + 0 = 0 
+	et 
+    (positif(V_0AZ) = 1 et V_0AV + V_0AM + 0 = 0))
+   
+alors erreur A018 ;
+verif 3041:
+application : batch , iliad ;
+si((APPLI_COLBERT + APPLI_ILIAD=1) et (
+   V_ZDC + 0 = 0
+   et
+   V_0AC = 1 
+   et 
+   V_0AZ + 0 > 0
+   ))
+alors erreur AS0101 ;
+verif 3042:
+application : batch , iliad ;
+si((APPLI_COLBERT + APPLI_ILIAD=1) et (
+   V_ZDC + 0 = 0
+   et
+   BOOL_0AM = 1
+   et
+   V_0AX + 0 > 0
+   et
+   V_0AB + 0 > 0
+   ))
+alors erreur AS0102 ;
+verif 3043:
+application : batch , iliad ;
+si((APPLI_COLBERT + APPLI_ILIAD=1) et (
+   V_ZDC + 0 = 0
+   et
+   V_0AC + V_0AD + V_0AV + 0 = 1
+   et
+   V_0AX + 0 > 0
+   et
+   positif(V_0AB + 0) = 0
+   ))
+alors erreur AS0103 ;
+verif 3044:
+application : batch , iliad ;
+si((APPLI_COLBERT + APPLI_ILIAD=1) et (
+   V_ZDC + 0 = 0
+   et
+   BOOL_0AM = 1 
+   et 
+   V_0AY + 0 > 0  
+   ))
+alors erreur AS0104 ;
+verif 3045:
+application : batch , iliad ;
+si((APPLI_COLBERT + APPLI_ILIAD=1) et (
+   V_ZDC + 0 = 0
+   et
+   V_0AM = 1 
+   et 
+   V_0AY + 0 > 0 
+   et 
+   V_0AZ + 0 > 0 
+   ))
+alors erreur AS0105 ;
+verif 3046:
+application : batch , iliad ;
+si((APPLI_COLBERT + APPLI_ILIAD=1) et (
+   V_ZDC + 0 = 0
+   et
+   V_0AD = 1 
+   et 
+   V_0AZ + 0 > 0
+   ))
+alors erreur AS0106 ;
+verif 3047:
+application : batch ;
+si((APPLI_COLBERT =1) et (
+  positif(V_IND_TRAIT + 0) = 1 
+  et
+  (V_NOTRAIT + 0 < 14)
+  et
+  present(V_ANTIR) = 0
+  et
+  positif(V_0DA + 0) = 0
+  ))
+alors erreur AS11 ;
+verif 3100:
+application : iliad , batch ;
+si
+   (
+     (  V_0CF + 0 < V_0CG )
+   )
+alors erreur A01201;
+verif 3101:
+application : iliad , batch ;
+si
+   (
+     (  V_0CI + 0 > V_0CH +0 ) 
+   )
+alors erreur A01202;
+verif 3110:
+application : iliad ;
+si (APPLI_OCEANS+0 = 0) et 
+        present(V_CALCULIR) = 0 
+        et
+    (V_0CF+0 != somme (i = 0..7: positif(V_0Fi+0)))
+alors erreur IM1101;
+verif 3111:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0CG != somme (i = 0, 1, 2, 3: positif(V_0Gi+0))
+   )
+alors erreur IM1102;
+verif 3112:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   (
+     present(V_CALCULIR) = 0 
+	et 
+     V_0CR != somme (i = 0, 1, 2, 3: positif(V_0Ri+0))
+   )
+alors erreur IM1105;
+verif 3113:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0DJ != somme (i = 0, 1, 2, 3: positif(V_0Ji+0))
+   )
+alors erreur IM1106;
+verif 3114:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0DN != somme (i = 0, 1, 2, 3: positif(V_0Ni+0))
+   )
+alors erreur IM1107;
+verif 3118:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0CH != somme (i = 0,1,2,3,4,5: positif(V_0Hi+0))
+   )
+alors erreur IM1103;
+verif 3116:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0CI != somme (i = 0, 1, 2, 3: positif(V_0Ii+0))
+   )
+alors erreur IM1104;
+verif 3117:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0DP !=  positif(V_0P0+0)
+   )
+alors erreur IM1108;
+verif 3200:
+application : bareme ;
+si (
+   ( V_9VV < 2 et (V_0AM + V_0AO + 0 = 1) )
+   )
+alors erreur A063;
+verif 3201:
+application : bareme ;
+si (
+   ( V_9VV < 1.25 et ( (V_0AC = 1 ou V_0AD = 1) et V_9XX = 1 ))
+   )
+alors erreur A064;
+verif 3202:
+application : bareme ;
+si (
+   ( V_9VV < 2.25 et ( (BOOL_0AM = 1 ou V_0AV = 1) et V_9XX = 1 ))
+   )
+alors erreur A064;
+verif 32021:
+application : bareme ;
+si (
+    V_9VV = 1.25 et  V_0BT=1 et V_9XX=1 
+   )
+alors erreur A064;
+verif 3203:
+application : bareme ;
+si (
+    V_9VV < 2 et  (V_0AV +V_0AZ = 2)
+   )
+alors erreur A066;
+verif 3210:
+application : iliad , batch;
+si (APPLI_OCEANS = 0) et (
+    (V_0AM + V_0AO + 0 = 1) et V_0AS = 1 et V_0AP+0 = 0 et V_0AF+0 = 0
+	  et 
+   V_ANREV - V_0DA < 75 et V_ANREV - V_0DB < 75
+   )
+alors erreur I011;
+verif 3213:
+application : iliad , batch;
+si (APPLI_OCEANS + APPLI_COLBERT=0) et ( 
+   positif(V_0AN+0) != 1 et
+   (
+   ((V_0AC + V_BT0AC +0 =2) et V_BTNBP1+0 > (1 + 99 * APPLI_BATCH) et NBPT = 1)
+    ou
+   ((V_0AD + V_BT0AD +0 =2) et V_BTNBP1+0 > (1 + 99 * APPLI_BATCH) et NBPT = 1)
+    ou
+   ((V_0AV + V_BT0AV +0 =2) et V_BTNBP1+0 > (1 + 99 * APPLI_BATCH) et NBPT = 1)
+   ) )
+alors erreur I013;
+verif 3221:
+application : batch , iliad ;
+si (APPLI_OCEANS=0) et (
+    (V_0AM + V_0AO + 0 = 0 )
+	  et 
+    V_0AZ + 0 = 0
+          et
+    V_0AP + 0 = 0
+          et
+    (V_0AE + 0 = 0 ou (V_0AE + 0 = 1 et (V_0DJ + 0 > 0 ou V_0DN + 0 > 0)))
+          et
+    V_0AW = 1
+	  et 
+    V_ANREV - V_0DA < 75
+   )
+alors erreur I012;
+verif 3216:
+application : batch , iliad ;
+si 
+    V_IND_TRAIT > 0
+    et
+    V_REGCO != 2
+    et
+    V_REGCO != 4
+    et
+   (
+    DEFRCM + 0 > V_BTDFRCM1 + PLAF_PRECONS * (1 - positif(V_BTDFRCM1))
+    ou
+    DEFRCM2 + 0 > V_BTDFRCM2 + PLAF_PRECONS * (1 - positif(V_BTDFRCM2))
+    ou
+    DEFRCM3 + 0 > V_BTDFRCM3 + PLAF_PRECONS * (1 - positif(V_BTDFRCM3))
+    ou
+    DEFRCM4 + 0 > V_BTDFRCM4 + PLAF_PRECONS * (1 - positif(V_BTDFRCM4))
+    ou
+    DEFRCM5 + 0 > V_BTDFRCM5 + PLAF_PRECONS * (1 - positif(V_BTDFRCM5))
+    ou
+    DEFRCM6 + 0 > V_BTDFRCM6 + PLAF_PRECONS * (1 - positif(V_BTDFRCM6)))
+
+alors erreur I015;
+
+verif 3301:
+application : iliad, batch ;
+si (APPLI_OCEANS = 0) et 
+  ( 
+ 	V_0AV  = 1     
+	et
+       (
+       (
+        positif(XETRANC) + positif(TSELUPPEC) + positif(EXOCETC) + positif(FRNC)
+	+ positif(TSHALLOC) + positif(ALLOC) 
+	+ positif(HEURESUPC)
+	+ positif(PRBC) + somme(i=2..4:positif(iPRBC)) + positif(PEBFC) 
+	+ positif(CARTSC) + positif(REMPLAC) + positif(CARPEC) + positif(PENSALC)
+	+ somme (i=1..3: positif (GLDiC)) + somme (i=A: positif(BiFC) + somme(j=A: positif(Bi1jC)))
+	+ somme (i=H,C: 
+       			somme(j= A,N: somme(k=R,D: positif(BjikEC))) + 
+       			somme(j=N: positif(BIiDjC)) + positif(BIiNOC)  
+          )
+	+ positif(BICREC) + positif(BI2AC) + positif(BICDEC)
+        + positif(TSASSUC)
+	+ positif(PPETPC) + positif(PPENHC)
+	+ positif(GSALC) + positif(PCAPTAXC)
+
+ + positif( FEXC ) + positif( BAFC ) + positif( BAFORESTC ) + positif( BAFPVC ) + positif( BAF1AC ) 
+ + positif( BAEXC ) + positif( BACREC ) + positif( 4BACREC ) + positif( BA1AC ) + positif( BACDEC ) 
+ + positif( BAHEXC ) + positif( BAHREC ) + positif( 4BAHREC ) + positif( BAHDEC ) + positif( BAPERPC ) + positif( BANOCGAC )
+ + positif( AUTOBICVC ) + positif( AUTOBICPC ) + positif( MIBEXC ) + positif( MIBVENC ) 
+ + positif( MIBPRESC ) + positif( MIBPVC ) + positif( MIB1AC ) + positif( MIBDEC ) 
+ + positif( BICEXC ) + positif( BICNOC ) + positif( LOCPROCGAC )
+ + positif( BI1AC ) + positif( BICDNC ) + positif( LOCDEFPROCGAC )
+ + positif( BIHEXC ) + positif( BIHNOC ) + positif( LOCPROC )
+ + positif( BIHDNC ) + positif( BIPERPC ) + positif( LOCDEFPROC )
+ + positif( MIBMEUC ) + positif( MIBGITEC ) + positif( MIBNPEXC ) + positif( MIBNPVENC ) 
+ + positif( MIBNPPRESC ) + positif( MIBNPPVC ) + positif( MIBNP1AC ) + positif( MIBNPDEC ) 
+ + positif( BICNPEXC ) + positif( BICREC ) + positif( LOCNPCGAC )
+ + positif( BI2AC ) + positif( BICDEC ) + positif( LOCDEFNPCGAC )
+ + positif( BICNPHEXC ) + positif( BICHREC ) + positif( LOCNPC )
+ + positif( BICHDEC ) + positif( LOCDEFNPC )
+ + positif( AUTOBNCC ) + positif( BNCPROEXC ) + positif( BNCPROC ) 
+ + positif( BNCPROPVC ) + positif( BNCPRO1AC ) + positif( BNCPRODEC ) 
+ + positif( BNCEXC ) + positif( BNCREC ) + positif( BN1AC ) + positif( BNCDEC ) 
+ + positif( BNHEXC ) + positif( BNHREC ) + positif( BNHDEC ) 
+ + positif ( BNCCRC ) + positif ( CESSASSC ) + positif( XHONOAAC ) + positif( XHONOC )
+ + positif( BNCNPC ) + positif( BNCNPPVC ) + positif( BNCNP1AC ) + positif( BNCNPDEC ) 
+ + positif( BNCNPREXAAC ) + positif( BNCAABC ) + positif( BNCNPREXC ) + positif( ANOVEP )
+ + positif( INVENTC ) + positif( PVINCE ) + positif( BNCAADC ) + positif( DNOCEPC ) + positif( BNCCRFC )
+ + positif( RCSC ) + positif( BANOCGAC ) + positif( PVSOCC ) + positif( PPEACC ) + positif( PPENJC ) 
+
+ + positif( PERPC ) + positif( PERP_COTC ) + positif( RACCOTC ) + positif( PLAF_PERPC ) 
+ + positif ( PERPPLAFCC ) + positif ( PERPPLAFNUC1 ) + positif ( PERPPLAFNUC2 ) + positif ( PERPPLAFNUC3 )
+
+ + positif( ELURASC ) 
+     )
+	> 0 
+     )
+   )
+alors erreur I010 ;
+verif 3416:
+application : batch ;
+si
+   V_IND_TRAIT > 0
+   et
+   positif(V_0AB + 0) = 1
+   et
+   (positif(V_0AX + 0) = 0
+    ou
+    positif(V_0AM + V_0AO + 0) = 1)
+
+alors erreur A004 ;
+verif 3417:
+application : batch ;
+si
+   V_IND_TRAIT > 0
+   et
+   positif(V_0AX + 0) = 1
+   et
+   positif(V_0AC + V_0AD + V_0AV + 0) = 1
+   et 
+   positif(V_0AB + 0) = 0
+
+alors erreur A005 ;
diff --git a/sources2012m_3_13/coc4.m b/sources2012m_3_13/coc4.m
new file mode 100644
index 0000000000000000000000000000000000000000..8b2de2ddf715e72f0b60d07168342602e488e380
--- /dev/null
+++ b/sources2012m_3_13/coc4.m
@@ -0,0 +1,318 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 4010:
+application : iliad ,  batch ;
+si (APPLI_OCEANS +APPLI_BATCH = 1) et 
+      (
+      V_8ZT >= 0 et V_REGCO+0 != 2
+      )
+alors erreur A089;
+verif 4012:
+application : iliad ;
+si
+(
+positif(present(RE168)+present(TAX1649)) =1 et present(IPVLOC) = 1
+)
+alors erreur A990;
+verif 4015:
+application : iliad ;
+si (APPLI_OCEANS = 0) et (
+      ( V_8ZT >= 0 et V_CR2+0 != 1 et V_NOTRAIT + 0 < 20) 
+      ou
+      ( V_8ZT > 0 et V_CR2+0 != 1 et V_NOTRAIT >= 20)
+                          ) 
+alors erreur A089;
+verif 4020:
+application : iliad , batch;
+si
+      (
+       V_IND_TRAIT + 0 > 0
+       et
+       (V_REGCO+0) dans (1,2,3,5,6) 
+       et 
+       positif(IPVLOC + 0) = 1 
+      )
+
+alors erreur A094;
+verif 4030:
+application : iliad , batch ;
+si
+   V_REGCO + 0 = 4 
+   et IPVLOC + 0 = 0
+   et (( V_IND_TRAIT + 0 = 4
+        et V_0AM + V_0AO + V_0AC + V_0AD + V_0AV + 0 != 0
+       )
+      ou
+         V_IND_TRAIT + 0 = 5
+      )
+alors erreur A095;
+verif 4032:
+application : batch , iliad ;
+
+si
+     (V_REGCO = 2 ou V_REGCO = 3 ou V_REGCO = 4)
+     et
+     (V_NOTRAIT < 20 et BASRET >= 0 et IMPRET >= 0
+     ou
+     V_NOTRAIT >= 20 et BASRET > 0 et IMPRET > 0)
+
+alors erreur A096 ;
+verif 4050:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et 
+  (
+  V_IND_TRAIT > 0
+  et
+  VALREGCO non dans (1,2,4) 
+  )
+alors erreur A082;
+verif 4060:
+application : batch , iliad;
+si (APPLI_OCEANS = 0) et 
+  (
+  V_NOTRAIT+0 = 10
+  et
+   (VALREGCO = 2 ou VALREGCO = 4) et V_CNR2+0!=1 
+  )
+alors erreur A083;
+verif 4070:
+application : batch , iliad ;
+si
+  (
+   positif(BRAS) = 1 et V_CNR2 +0 != 1
+  )
+alors erreur A079;
+verif 4080:
+application : batch , iliad ;
+si
+   (
+    V_NOTRAIT + 0 < 20 
+   et
+    present(BRAS) = 1 et V_REGCO+0 != 2 et V_CNR2+0 = 1
+   )
+  ou
+   (
+    V_NOTRAIT >= 20 
+   et
+    positif(BRAS) = 1 et V_REGCO+0 != 2 et V_CNR2+0 = 1
+   )
+alors erreur A080;
+verif 4100:
+application : iliad , batch ;
+si
+   (
+   (IPTEFP + IPTEFN + PRODOM + PROGUY > 0)
+   et
+   (V_CNR + 0 = 1)
+   )
+alors erreur A088;
+verif 4110:
+application : iliad, batch ;
+si
+     
+  SALECSG + SALECS + ALLECS + INDECS + PENECS + 0 > 0 et SOMMEDD55 = 0
+
+alors erreur DD55 ;
+verif 4120:
+application : iliad, batch;
+si
+    V_IND_TRAIT + 0 > 0
+    et
+    V_8ZT > ( somme(i=V,C,1..4: TPRi)
+	      + somme (i=1..3: GLNiV)
+	      + somme (i=1..3: GLNiC)
+	      + RVTOT + T2RV 
+	      + 2 ) 
+
+alors erreur A090;
+verif 4130:
+application : iliad , batch;
+si 
+    ( V_NOTRAIT + 0 < 20
+      et
+     ( present(RMOND) = 1 ou present(DMOND) = 1 ) 
+      et V_REGCO+0 !=2 )
+    ou
+    ( V_NOTRAIT >= 20
+      et
+     ( positif(RMOND) = 1 ou positif(DMOND) = 1 ) 
+      et V_REGCO+0 !=2 )
+	
+alors erreur A091;
+verif 4140:
+application : iliad , batch;
+si (
+    V_NOTRAIT + 0 < 20
+    et
+      (
+       ( positif(IPTXMO)=1 et present(DMOND)!=1 et present(RMOND)!=1 )
+       ou
+       ( (present(RMOND)=1 ou present(DMOND)=1) et positif(IPTXMO+0) !=1 )
+      )
+   )
+   ou
+   (
+    V_NOTRAIT >= 20
+    et
+      (
+       ( positif(IPTXMO)=1 et positif(DMOND)!=1 et positif(RMOND)!=1 )
+       ou
+       ( (positif(RMOND)=1 ou positif(DMOND)=1) et positif(IPTXMO+0) !=1 )
+      )
+   )
+alors erreur A092;
+verif 4150:
+application : iliad , batch;
+si  (
+     V_NOTRAIT + 0 < 20
+     et
+     present(RMOND) = 1 et present(DMOND) = 1
+    )
+  ou
+    (
+     V_NOTRAIT >= 20
+     et
+     positif(RMOND) = 1 et positif(DMOND) = 1
+    )
+alors erreur A093;
+verif 4200:
+application : iliad  , batch;
+si ( 
+    ( (V_NOTRAIT >= 20)  et (IPTEFP > 0)  et ( IPTEFN > 0) )
+    ou  
+    ( ((V_NOTRAIT+0) < 20)  et (IPTEFP >= 0)  et (IPTEFN >= 0)  et  (V_ROLCSG+0 < 40)) 
+   )
+alors erreur A80201;
+verif 4201:
+application : iliad  , batch;
+si
+       (
+       V_NOTRAIT + 0 < 20
+       et
+       (IPTEFP + IPTEFN >= 0)
+       et
+       (PRODOM + PROGUY >= 0)
+       )
+     ou
+       (
+       V_NOTRAIT >= 20
+       et
+       (IPTEFP + IPTEFN > 0)
+       et
+       (PRODOM + PROGUY > 0)
+       )
+alors erreur A80202;
+verif 4202:
+application : iliad  , batch;
+si
+       (
+       V_NOTRAIT + 0 < 20
+       et
+       SOMMEA802 > 0
+       et
+       PRODOM + PROGUY >= 0
+       )
+     ou
+       (
+       V_NOTRAIT >= 20
+       et
+       SOMMEA802 > 0
+       et
+       PRODOM + PROGUY > 0
+       )
+alors erreur A80203 ;
+verif 4210:
+application : iliad , batch;
+si
+    (
+      (PROGUY + PRODOM +0 > 0)
+       et
+      (SOMMEA804 > 0 )
+    )
+alors erreur A804;
+verif 4220:
+application : iliad  , batch;
+
+si
+  (
+   IPMOND > 0
+   et
+   (present(IPTEFP) = 0 et present(IPTEFN) = 0)
+  )
+  ou
+  (
+   (present(IPTEFP) = 1 ou present(IPTEFN) = 1)
+   et
+   present(IPMOND) = 0
+  )
+
+alors erreur A88201 ;
+verif 4221:
+application : iliad  , batch;
+si
+
+  present(IPMOND) = 0
+  et
+  positif_ou_nul(TEFFHRC 
+  ) = 1
+
+alors erreur A88202 ;
+verif 42885:
+application : iliad  , batch;
+si
+	
+ (
+ (positif(CIIMPPRO2 + 0) = 1 et (1 - positif_ou_nul(BPVRCM)) = 1)
+ ou
+ (CIIMPPRO > 0 et SOMMEA885 = 0)
+ )
+        
+alors erreur A885;
+verif 4230:
+application : iliad  , batch;
+si
+	(
+	IPBOCH  > 0 et (CIIMPPRO + CIIMPPRO2 + REGCI + PRELIBXT + 0) = 0
+	)
+alors erreur A883 ;
+verif 4240:
+application : iliad , batch;
+si
+     
+  REGCI > 0 et SOMMEA884 = 0
+     
+alors erreur A884;
+verif 4250:
+application : iliad , batch;
+si
+     (
+       IPPNCS > 0 et positif(REGCI + CIIMPPRO + CIIMPPRO2 + 0) != 1 
+     )
+alors erreur A886;
+verif 4260:
+application : iliad , batch;
+si
+     (
+       positif(present( NRBASE ) + present( NRINET )) = 1 
+       et
+       present( NRBASE ) + present( NRINET ) < 2
+     )
+alors erreur A086;
diff --git a/sources2012m_3_13/coc5.m b/sources2012m_3_13/coc5.m
new file mode 100644
index 0000000000000000000000000000000000000000..a7992bc61c1dfe57ec27a82882a51433ffe3bebb
--- /dev/null
+++ b/sources2012m_3_13/coc5.m
@@ -0,0 +1,315 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 5000:
+application : iliad, batch ;
+si (APPLI_COLBERT+APPLI_OCEANS=0)et (
+    ( NBPT > (V_BTNBP1 + 4 * APPLI_ILIAD + 400 * APPLI_BATCH) )
+ et
+    ( V_BTNBP1 + 0 > 0     )
+ et
+   	V_IND_TRAIT+0=4 et V_BTANC =1 et ((V_BTNI1+0) non dans (50,92)) 
+ et     
+        V_BTMUL !=1 et V_CODILIAD=1
+ et
+    (V_BT0AC=V_0AC ou V_BT0AM=V_0AM ou V_BT0AO=V_0AO ou V_BT0AD=V_0AD ou V_BT0AV=V_0AV)
+    )
+ alors erreur DD17;
+verif 5001:
+application : iliad , batch ;
+si
+   (
+   NBPT > 20
+   )
+alors erreur A015;
+verif 5050:
+application : batch , iliad ;
+si (APPLI_COLBERT+APPLI_OCEANS=0)et (
+   V_ZDC+0 = 0 et V_BTMUL = 0
+   et V_0AX+0 = 0 et V_0AY+0 = 0 et V_0AZ+0= 0
+   et V_BTRNI > LIM_BTRNI10
+   et RNI < V_BTRNI/5
+   et V_BTANC+0 = 1  et ((V_BTNI1+0 )non dans (50,92)) 
+   )
+alors erreur DD05;
+verif 5060:
+application : iliad;
+si (APPLI_OCEANS=0) et (
+	   V_ZDC+0 = 0 et V_BTMUL+0 = 0
+   et V_0AX+0 = 0 et V_0AY+0 = 0 et V_0AZ+0 = 0 et V_0AO+0 = 0
+   et V_BTRNI > LIM_BTRNI
+   et
+      (RNI > V_BTRNI*9
+	et
+	RNI < 100000)
+   )
+alors erreur IM1601;
+verif 5061:
+application : iliad;
+
+si (APPLI_OCEANS=0) et (
+	   V_ZDC+0 = 0 et V_BTMUL+0 = 0
+   et V_0AX+0 = 0 et V_0AY+0 = 0 et V_0AZ+0 = 0 et V_0AO+0 = 0
+   et V_BTRNI > LIM_BTRNI
+   et
+       (RNI > V_BTRNI*5
+	et
+	RNI >= 100000)
+   )
+alors erreur IM1602;
+verif 5100:
+application : iliad;
+si (APPLI_OCEANS=0) et 
+  (V_NOTRAIT+0  != 14) et
+(
+V_BTANC+0 = 1  et ((V_BTNI1+0 )non dans (50,92)) 
+ et V_BTIMP+0 <= 0 et IINET > (LIM_BTIMP*2) et V_ZDC+0 = 0
+)
+alors erreur IM20;
+verif 5101:
+application : iliad;
+si (APPLI_OCEANS=0) et (
+V_BTIMP > LIM_BTIMP et IINET >= V_BTIMP * 2 et V_ZDC+0 = 0
+)
+alors erreur IM17;
+verif 5102:
+application : iliad;
+si (APPLI_OCEANS=0) et (
+   V_BTIMP > LIM_BTIMP et IINET <= V_BTIMP / 2 et V_ZDC+0 = 0
+   )
+alors erreur IM18;
+verif 5103:
+application : batch,iliad;
+si (APPLI_COLBERT+APPLI_OCEANS=0)et (
+   DAR > LIM_CONTROLE et V_BTRNI > 0 et ((V_BTNI1+0) non dans (50,92))
+   )
+alors erreur DD18;
+verif 5104:
+application : batch , iliad ;
+
+si (APPLI_COLBERT+APPLI_OCEANS=0)et (
+   V_BTANC = 1 et 
+   (DAGRI1 + DAGRI2 + DAGRI3 + DAGRI4 + DAGRI5 + DAGRI6 > LIM_CONTROLE + V_BTDBA) 
+   )
+alors erreur DD20;
+verif 5203:
+application : iliad,batch ;
+
+si (APPLI_OCEANS=0)et 
+   positif(
+   present ( BAFV ) 
+ + present ( BAFC ) 
+          ) = 1 
+et
+   positif(
+
+   present ( BICEXV ) + present ( BICEXC ) + present ( BICNOV ) 
+ + present ( BICNOC )  
+ + present ( BI1AV ) + present ( BI1AC ) + present ( BICDNV ) 
+ + present ( BICDNC )  
+ + present ( BIHEXV ) + present ( BIHEXC ) + present ( BIHNOV ) 
+ + present ( BIHNOC )  
+ + present ( BIHDNV ) + present ( BIHDNC ) 
+ + present ( BNCEXV ) + present ( BNCEXC ) 
+ + present ( BNCREV ) + present ( BNCREC ) + present ( BN1AV ) 
+ + present ( BN1AC ) + present ( BNCDEV ) + present ( BNCDEC ) 
+ + present ( BNHEXV ) + present ( BNHEXC ) + present ( BNHREV ) 
+ + present ( BNHREC ) + present ( BNHDEV ) + present ( BNHDEC ) 
+ + present ( LOCPROCGAV ) + present ( LOCPROCGAC ) + present ( LOCDEFPROCGAV )
+ + present ( LOCDEFPROCGAC ) + present ( LOCPROV ) + present ( LOCPROC )
+ + present ( LOCDEFPROV ) + present ( LOCDEFPROC )
+
+    ) = 1
+alors erreur DD13;
+verif 5205:
+application : batch , iliad  ;
+si (APPLI_OCEANS = 0) et 
+( 
+  ( (CIGARD > 0) et ( 1 - V_CNR > 0) et 
+   (positif(RDGARD1) + positif(RDGARD2) + positif(RDGARD3) 
+   + positif(RDGARD4) > ( EM7 + 0)))
+ ou
+  ( (CIGARD > 0) et ( 1 - V_CNR > 0) et 
+   (positif(RDGARD1QAR) + positif(RDGARD2QAR) + positif(RDGARD3QAR) 
+   + positif(RDGARD4QAR) > ( EM7QAR + 0)))
+)
+alors erreur DD10;
+verif 5500:
+application : iliad , batch;
+si
+(
+     (  (V_NOTRAIT+0 < 20)
+	et
+	((NRBASE  >= 0 ou NRINET  >= 0)
+        et 
+        ( V_REGCO !=3)))
+   ou
+      ( (V_NOTRAIT+0 > 20)
+        et
+	((NRBASE  > 0 ou NRINET  > 0)
+        et
+        ( V_REGCO !=3)))
+
+)
+alors erreur A085;
+verif 5502:
+application : iliad   , batch ;
+si
+(
+((V_NOTRAIT+0 < 20)
+et
+(V_CNR + 0 = 1 et IND_TDR >= 0) 
+)
+ou
+( (V_NOTRAIT+0 > 20)
+et
+(V_CNR + 0 = 1 et IND_TDR > 0))
+)
+alors erreur A087;
+verif 5510:
+application : iliad , batch  ;
+si
+(
+RG + 2 < PRODOM + PROGUY
+)
+alors erreur A800;
+verif 5600:
+application : iliad , batch ;
+si
+(
+max(0 , IRB + TAXASSUR + IPCAPTAXT + TAXLOY + IHAUTREVT + PTOTD  
+	    - IAVT - RCMAVFT - CICA - I2DH - CICORSE - CIRECH - CICAP
+	    - CICHR - CICULTUR - CREREVET - CIDONENTR ) < IRANT
+)
+alors erreur A875;
+verif 5700:
+application : iliad , batch  ;
+si (APPLI_OCEANS=0) et 
+     (
+       CSGIM > CSG 
+     )
+alors erreur A873;
+verif corrective 5701:
+application :  iliad ;
+si (APPLI_OCEANS = 0) et 
+    (
+      present (CSGIM) = 1 et (V_NOTRAIT > 20)
+    )
+alors erreur A852;
+verif 5710:
+application : iliad , batch  ;
+si
+( 
+  V_IND_TRAIT + 0 > 0
+  et
+  PRSPROV > PRS
+)
+alors erreur A872;
+verif corrective 57101:
+application :  iliad ;
+si (APPLI_OCEANS = 0) et 
+    (
+      present (PRSPROV) = 1 et (V_NOTRAIT > 20)
+    )
+alors erreur A853 ;
+verif corrective 5711:
+application :  iliad ;
+si (APPLI_OCEANS = 0) et 
+    (
+      present (CSALPROV) = 1 et (V_NOTRAIT > 20)
+    )
+alors erreur A854 ;
+verif corrective 57115:
+application :  iliad ;
+si (APPLI_OCEANS = 0) et 
+    (
+      present (CDISPROV) = 1 et (V_NOTRAIT > 20)
+    )
+alors erreur A855 ;
+verif corrective 8630:
+application :  iliad ;
+si (APPLI_OCEANS = 0) et 
+  positif(AUTOVERSSUP + 0) = 1
+  et
+  positif(AUTOBICVV + AUTOBICPV + AUTOBNCV 
+	  + AUTOBICVC + AUTOBICPC + AUTOBNCC
+	  + AUTOBICVP + AUTOBICPP + AUTOBNCP
+          + 0) = 0
+
+alors erreur A863 ;
+verif 5712:
+application :  batch , iliad ;
+si
+    (
+     CRDSIM > RDSN 
+    )
+alors erreur A871;
+verif 57119:
+application :  batch , iliad ;
+si
+    V_IND_TRAIT + 0 > 0
+    et
+    (CSALPIRATE + 0 > (CVNSALC + CGAINSAL + 0)
+     ou
+     (positif(CSALPIRATE + 0) = 1 et positif(CVNSALAV + CVNSALAC + GAINSALAV + GAINSALAC + GLDGRATV + GLDGRATC + 0) = 0))
+
+alors erreur A867 ;
+verif 57120:
+application :  batch , iliad ;
+si
+    V_IND_TRAIT + 0 > 0
+    et
+    (CDISPROV + 0 > CDIS + 0
+     ou
+     (positif(CDISPROV + 0) = 1 et positif(GSALV + GSALC + 0) = 0))
+
+alors erreur A868 ;
+verif 57121:
+application :  batch , iliad ;
+si
+    V_IND_TRAIT + 0 > 0
+    et
+    (
+     (CSALPROV + 0 > CSAL + 0)
+     ou
+     (positif(CSALPROV + 0) = 1 et positif(present(BPVOPTCSV) + present(BPVOPTCSC)) = 0)
+    )
+alors erreur A869 ;
+verif corrective 5713:
+application :  iliad ;
+si (APPLI_OCEANS = 0) et 
+    (
+     (V_NOTRAIT > 20) et positif(CRDSIM)=1
+    )
+alors erreur A851;
+verif corrective 57131:
+application :  iliad ;
+si (APPLI_OCEANS = 0) et 
+    (
+     (V_NOTRAIT > 20) et positif(IRANT)=1
+    )
+alors erreur A850;
+verif 5714:
+application :  batch , iliad ;
+si
+    (
+	positif(DCSGIM)=1 et positif(CSGIM+0)!=1
+    )
+alors erreur A870;
diff --git a/sources2012m_3_13/coc7.m b/sources2012m_3_13/coc7.m
new file mode 100644
index 0000000000000000000000000000000000000000..9e8de3e40913df07474d1eecbe10d1a786a684da
--- /dev/null
+++ b/sources2012m_3_13/coc7.m
@@ -0,0 +1,370 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 7310:
+application : iliad , batch  ;
+si
+	  ( present(CMAJ)=1 et present(MOISAN)=0 )
+	  ou
+	  ( present(CMAJ2)=1 et present(MOISAN2)=0 )
+          
+alors erreur A96201;
+verif 7311:
+application : iliad , batch  ;
+si
+	  (  present(CMAJ)=0 et present(MOISAN)=1)
+	  ou
+	  (  present(CMAJ2)=0 et present(MOISAN2)=1)
+          
+alors erreur A96202;
+verif isf 73101:
+application : iliad , batch  ;
+si
+	  ( present(CMAJ_ISF)=1 et present(MOISAN_ISF)=0 )
+          
+alors erreur A96203;
+verif isf 73111:
+application : iliad , batch  ;
+si
+	  (  present(CMAJ_ISF)=0 et present(MOISAN_ISF)=1)
+          
+alors erreur A96204;
+verif 7314:
+application : iliad , batch ;
+si (APPLI_COLBERT=0) et (
+	( 
+	CMAJ != 7 et ( APPLI_BATCH  = 1
+                    ou APPLI_OCEANS = 1
+                    ou (APPLI_ILIAD = 1 et
+                          non ( V_CALCULIR+0=1
+                               ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56)
+                              )
+                        )
+	             )
+	)
+	ou
+	( 
+	CMAJ2 != 7 et CMAJ2 != 0 et ( APPLI_BATCH  = 1
+                    ou APPLI_OCEANS = 1
+                    ou (APPLI_ILIAD = 1 et
+                          non ( V_CALCULIR+0=1
+                               ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56)
+                              )
+                        )
+	             )
+	))
+alors erreur A96101;
+verif 73141:
+application : batch , iliad ;
+si (APPLI_COLBERT + APPLI_ILIAD = 1) et (
+       (
+       CMAJ non dans ( 7..8 ) et CMAJ non dans (10..11) et CMAJ non dans (17..18)  
+     et (  (APPLI_ILIAD = 1 et
+                   ( V_CALCULIR + 0 = 1 ou (V_NOTRAIT + 0) dans (16,23,26,33,36,43,46,53,56))
+           )
+           ou APPLI_COLBERT = 1)
+       )
+       ou
+       (
+       CMAJ2 non dans ( 7..8 ) et CMAJ2 non dans (10..11) et CMAJ2 non dans (17..18) et CMAJ2 != 0
+     et (  (APPLI_ILIAD = 1 et
+                   ( V_CALCULIR + 0 = 1 ou (V_NOTRAIT + 0) dans (16,23,26,33,36,43,46,53,56))
+           )
+           ou APPLI_COLBERT = 1)
+       ))
+alors erreur A96102;
+verif isf 731412:
+application : batch , iliad ;
+si  
+       (
+       CMAJ_ISF non dans ( 7,8,17,18 )  
+        et (  (APPLI_ILIAD=1 et
+                  ( V_CALCULIR+0=1 ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56))
+              )
+             ou APPLI_COLBERT =1
+	   )
+       )
+alors erreur A96103;
+verif 73641:
+application : iliad , batch  ;
+si
+	(
+       ((inf( DATDEPETR/1000000 ) non dans (01..31)) et V_IND_TRAIT+0 = 4)
+ou
+       ((inf( DATDEPETR/1000000 ) non dans (01..31)) et V_IND_TRAIT = 5 et DATDEPETR != 0)
+	) 
+alors erreur A96401;
+verif 73642:
+application : iliad , batch  ;
+si
+	(
+       ((inf( (DATDEPETR/1000000 - inf(DATDEPETR/1000000))*100 ) non dans (01..12)) et (V_IND_TRAIT+0= 4))
+ou
+       ((inf( (DATDEPETR/1000000 - inf(DATDEPETR/1000000))*100 ) non dans (01..12)) 
+		et V_IND_TRAIT = 5 et DATDEPETR != 0)
+	) 
+alors erreur A96402;
+verif 736431:
+application : iliad , batch ;
+si (
+ ((arr( (DATDEPETR/10000 - inf(DATDEPETR/10000))*10000 ) != V_ANREV) et V_IND_TRAIT+0 = 4)
+ou
+ ((arr( (DATDEPETR/10000 - inf(DATDEPETR/10000))*10000 ) != V_ANREV) 
+		et V_IND_TRAIT = 5 et DATDEPETR != 0)
+   ) 
+alors erreur A96403;
+verif 73651:
+application : iliad , batch  ;
+si
+	(
+       ((inf( DATRETETR/1000000) non dans (01..31)) et V_IND_TRAIT+0 = 4)
+	ou
+       ((inf( DATRETETR/1000000) non dans (01..31)) et V_IND_TRAIT = 5 et DATRETETR != 0)
+	) 
+alors erreur A96501;
+verif 73652:
+application : iliad , batch  ;
+si
+	(
+       ((inf( (DATRETETR/1000000 - inf(DATRETETR/1000000))*100 ) non dans (01..12)) et V_IND_TRAIT+0 = 4)
+	ou
+       ((inf( (DATRETETR/1000000 - inf(DATRETETR/1000000))*100 ) non dans (01..12)) 
+	et V_IND_TRAIT = 5 et DATRETETR != 0)
+	) 
+alors erreur A96502;
+verif 736531:
+application : iliad , batch ;
+si (
+ ((arr( (DATRETETR/10000 - inf(DATRETETR/10000))*10000 ) != V_ANREV) et V_IND_TRAIT+0 = 4)
+ou
+ ((arr( (DATRETETR/10000 - inf(DATRETETR/10000))*10000 ) != V_ANREV) 
+            et V_IND_TRAIT = 5 et DATRETETR != 0)
+   ) 
+alors erreur A96503;
+verif 7366:
+application : iliad , batch  ;
+si
+	(
+       DATDEPETR > 0 et DATRETETR > 0
+	) 
+alors erreur A966;
+verif 7315:
+application : iliad , batch  ;
+si
+        (V_IND_TRAIT > 0 )
+       et
+	(
+	inf(MOISAN/10000) non dans (01..12)
+	ou
+	inf(MOISAN2/10000) non dans (00..12)
+	) 
+alors erreur A96301;
+verif 7316:
+application : iliad ;
+si (APPLI_COLBERT=0) et (
+   (
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+3
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+4
+   ) 
+   ou
+   (
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+3
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+4
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != 0
+   ))
+alors erreur A96302;
+verif isf 73151:
+application : iliad , batch  ;
+si
+   	(
+        	(V_IND_TRAIT+0 = 4 et inf(MOISAN_ISF/10000) non dans (01..12) )
+           	ou
+		(V_IND_TRAIT+0 = 5 et inf(MOISAN_ISF/10000) non dans (01..12) et MOISAN_ISF != 0 )
+	) 
+alors erreur A96303;
+verif isf 73161:
+application : iliad , batch ;
+si (APPLI_OCEANS = 0) et 
+   (
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+3
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+4
+   ) 
+
+alors erreur A96304;
+verif 7317:
+application : batch ;
+si (APPLI_COLBERT=1) et  (
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+3
+   )
+alors erreur A96302;
+verif isf 73171:
+application : batch ;
+si (APPLI_COLBERT=1) et  (
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+3
+   )
+alors erreur A96304 ;
+verif 7332:
+application : iliad , batch ;
+si
+  (
+  V_IND_TRAIT > 0
+  et
+  LOYIMP > 99999
+  )
+alors erreur A00106 ;
+verif 7441:
+application :  iliad ;
+
+si  (APPLI_OCEANS=0) et
+   (
+   positif ( ANNUL2042 ) + INDAUTREQUE9YA > 1
+   )
+alors erreur A99301;
+verif 600:
+application :  iliad, batch ;
+
+si  (APPLI_OCEANS=0) et 
+   positif(PERPIMPATRIE+0) != 1 et
+   V_REGCO+0 != 2 et V_REGCO+0 != 4 et V_CNR+0 != 1 et
+   (
+   (positif(PERP_COTV+0) > 0 et 
+    present(PERPPLAFCV)*present(PERPPLAFNUV1)*present(PERPPLAFNUV2)*present(PERPPLAFNUV3) = 0)
+    ou
+   (positif(PERP_COTC+0) > 0 et 
+    present(PERPPLAFCC)*present(PERPPLAFNUC1)*present(PERPPLAFNUC2)*present(PERPPLAFNUC3) = 0)
+    ou
+   (positif(PERP_COTP+0) > 0 et 
+    present(PERPPLAFCP)*present(PERPPLAFNUP1)*present(PERPPLAFNUP2)*present(PERPPLAFNUP3) = 0)
+   )
+alors erreur A600;
+verif 601:
+application :  iliad, batch ;
+
+si  (APPLI_OCEANS=0) et 
+   (V_IND_TRAIT > 0) et positif(PERPIMPATRIE+0) != 1 
+   et
+   (
+   PERPPLAFCV > LIM_PERPMAXBT ou PERPPLAFCC > LIM_PERPMAXBT
+   )
+alors erreur A601;
+verif 602:
+application :  iliad, batch ;
+
+si  (APPLI_OCEANS=0) et 
+   (
+    (positif(RACCOTV+0) > 0 et positif(PERP_COTV+0) = 0)
+    ou
+    (positif(RACCOTC+0) > 0 et positif(PERP_COTC+0) = 0)
+    ou
+    (positif(RACCOTP+0) > 0 et positif(PERP_COTP+0) = 0)
+   )
+alors erreur A602;
+verif 603:
+application :  iliad, batch ;
+
+si (APPLI_COLBERT+APPLI_OCEANS=0) et (
+   positif(PERPIMPATRIE+0) != 1 et positif(V_CALCULIR+0)=0
+   et
+  (
+  (positif_ou_nul(PLAF_PERPV) = 1 et  
+	    (present(PERPPLAFCV) = 0 et present(PERPPLAFNUV1) = 0
+	     et present(PERPPLAFNUV2) = 0 et present(PERPPLAFNUV3) = 0 ))
+  ou
+  (positif_ou_nul(PLAF_PERPC) = 1 et  
+	    (present(PERPPLAFCC) = 0 et present(PERPPLAFNUC1) = 0
+	     et present(PERPPLAFNUC2) = 0 et present(PERPPLAFNUC3) = 0 ))
+  ou
+  (positif_ou_nul(PLAF_PERPP) = 1 et  
+	    (present(PERPPLAFCP) = 0 et present(PERPPLAFNUP1) = 0
+	     et present(PERPPLAFNUP2) = 0 et present(PERPPLAFNUP3) = 0 ))
+  ou
+  (positif_ou_nul(PLAF_PERPV) = 1 
+		 et (PERPPLAFCV+PERPPLAFNUV1+PERPPLAFNUV2+PERPPLAFNUV3 = 
+		      V_BTPERPV+V_BTPERPNUV1+V_BTPERPNUV2+V_BTPERPNUV3) )
+  ou
+  (positif_ou_nul(PLAF_PERPC) = 1 
+		 et (PERPPLAFCC+PERPPLAFNUC1+PERPPLAFNUC2+PERPPLAFNUC3 = 
+		      V_BTPERPC+V_BTPERPNUC1+V_BTPERPNUC2+V_BTPERPNUC3) )
+  ou
+  (positif_ou_nul(PLAF_PERPP) = 1 
+		 et (PERPPLAFCP+PERPPLAFNUP1+PERPPLAFNUP2+PERPPLAFNUP3 = 
+		      V_BTPERPP+V_BTPERPNUP1+V_BTPERPNUP2+V_BTPERPNUP3) )
+  ))
+alors erreur A603;
+verif 604:
+application :  iliad, batch ;
+
+si (APPLI_OCEANS=0) et (
+    positif(PERPMUTU) = 1 et (V_0AM + V_0AO = 1) et ((V_REGCO+0) dans (1,3,5,6))
+	et positif(PERPIMPATRIE+0) = 0
+	et (present(PERPPLAFCV) = 0 ou present(PERPPLAFNUV1) = 0
+	ou present(PERPPLAFNUV2) = 0 ou present(PERPPLAFNUV3) = 0
+	ou present(PERPPLAFCC) = 0 ou present(PERPPLAFNUC1) = 0
+	ou present(PERPPLAFNUC2) = 0 ou present(PERPPLAFNUC3) =0)
+		       )
+alors erreur A604;
+verif 6051:
+application :  iliad, batch ;
+
+si (APPLI_OCEANS=0) et 
+
+   V_IND_TRAIT > 0
+   et
+   PERPV + 0 < EXOCETV + 0
+   et 
+   positif(EXOCETV + 0) = 1
+
+alors erreur A60501 ;
+verif 6052:
+application :  iliad, batch ;
+
+si (APPLI_OCEANS=0) et 
+
+   V_IND_TRAIT > 0
+   et
+   PERPC + 0 < EXOCETC + 0
+   et
+   positif(EXOCETC + 0) = 1
+
+alors erreur A60502 ;
diff --git a/sources2012m_3_13/coi1.m b/sources2012m_3_13/coi1.m
new file mode 100644
index 0000000000000000000000000000000000000000..191194deb5ce0e60b118b9a7ace3bdd0e5899ab8
--- /dev/null
+++ b/sources2012m_3_13/coi1.m
@@ -0,0 +1,1097 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 1005:
+application : batch, iliad  ;
+si (APPLI_OCEANS=0) et (
+    V_IND_TRAIT > 0 et
+     (
+    (RBG > 99999999)
+    ou
+    (BCSG > 99999999)
+    ou
+    (BRDS > 99999999)
+    ou
+    (BPRS > 99999999)
+    ou
+    (BPVOPTCSV > 99999999)
+    ou
+    (BPVOPTCSC > 99999999)
+    ou
+    (GSALV > 99999999)
+    ou
+    (GSALC > 99999999)
+    ou
+    (GAINSALAV > 99999999)
+    ou
+    (GAINSALAC > 99999999)
+    ou
+    (CVNSALAV > 99999999)
+    ou
+    (CVNSALAC > 99999999)
+    )
+   )
+alors erreur A00105 ;
+verif isf 1007:
+application : batch, iliad  ;
+si (APPLI_OCEANS=0) et (
+    V_IND_TRAIT > 0 et
+     (
+    (ISFDONEURO > 99999999)
+    ou
+    (ISFDONF > 99999999)
+    ou
+    (ISFETRANG > 99999999)
+    ou
+    (ISFFCPI > 99999999)
+    ou
+    (ISFFIP > 99999999)
+    ou
+    (ISFPMEDI > 99999999)
+    ou
+    (ISFPMEIN > 99999999)
+    ou
+    (ISFBASE > 99999999)
+    ou
+    (ISFVBPAT > 99999999)
+    ou
+    (ISFPLAF > 99999999)
+     )
+   )
+alors erreur A00107 ;
+verif non_auto_cc 1101:
+application : iliad , batch ;
+si
+(
+  RCMAVFT > PLAF_AF 
+  et
+  positif(RCMABD + REVACT + REVACTNB + RCMHAD + DISQUO + DISQUONB + RCMHAB + INTERE + INTERENB + 0) = 0
+)
+alors erreur A21801 ;
+verif non_auto_cc 1102:
+application : iliad , batch ;
+si
+(
+  DIREPARGNE > PLAF_AF
+  et
+  (PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + DISQUONB + INTERE + INTERENB + 0 = 0)
+)
+alors erreur A21802;
+verif 1103:
+application :  iliad , batch;
+si (APPLI_OCEANS=0) et 
+( (1 - V_CNR > 0) et V_REGCO+0 != 2 et V_REGCO+0 != 4 et 
+(
+   (
+    RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE + 0 > 0
+    et 
+    RCMAVFT > ((1/3) * (RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE)) +  PLAF_AF
+   )
+ ou
+   (
+     DIREPARGNE > ((PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE) * (18/100)) + PLAF_AF
+     et
+     PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE + 0 > 0
+   )
+)
+)
+alors erreur DD04;
+verif 1104:
+application : iliad , batch ;
+si (APPLI_OCEANS=0) et 
+(
+  (1 - V_CNR + 0 > 0) et  
+  (
+  RCMFR > LIM_CONTROLE  et 
+   (
+    (RCMFR > 0.30 * ( RCMABD + RCMHAD + REVACT + DISQUO + 0 ))
+    ou
+    ((RCMABD + RCMHAD + REVACT + DISQUO + 0 = 0) et
+     (RCMTNC + RCMAV + RCMHAB + REGPRIV + REVPEA + PROVIE + RESTUC + INTERE + 0 > 0))
+   )
+  )
+)
+alors erreur DD03;
+verif  1106:
+application : batch, iliad ;
+si
+   (
+   RCMSOC > RCMAV + PROVIE 
+          + RCMHAD + DISQUO 
+          + RCMHAB + INTERE  
+          + RCMABD + REVACT 
+	  + 1
+
+   )
+alors erreur A222;
+verif 1108:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+(
+        (V_IND_TRAIT+0=4 et V_NOTRAIT+0<14) 
+         et
+	 (
+	(RCMAVFT > PLAF_AF
+             et 
+	( RCMABD+RCMHAD+RCMHAB > 0)
+             et
+	RCMAVFT > ( arr ( 40 * ( RCMABD+RCMHAD+RCMHAB
+	) / 100))
+        )
+	ou
+	(DIREPARGNE > PLAF_AF
+	et
+	( PPLIB + RCMLIB + RCMHAD + RCMHAB > 0)
+	et
+	DIREPARGNE > ( arr ( 20 * (PPLIB + RCMLIB + RCMHAD + RCMHAB 
+					 )/100))
+	)
+)
+)
+alors erreur IM1501;
+verif 1109:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+(
+       (V_NOTRAIT+0 >=14) et
+       (
+	(RCMAVFT > PLAF_AF et RCMAVFT <= PLAF_AF2
+             et 
+	( RCMABD+RCMHAD+RCMHAB > 0)
+             et
+	RCMAVFT > ( arr ( 40 * ( RCMABD+RCMHAD+RCMHAB
+	) / 100))
+        )
+	ou
+	(DIREPARGNE > PLAF_AF et DIREPARGNE <= PLAF_AF2
+	et
+	( PPLIB + RCMLIB + RCMHAD + RCMHAB > 0)
+	et
+         DIREPARGNE > (arr (20*(PPLIB + RCMLIB + RCMHAD + RCMHAB 
+				      )/100))
+	)
+)
+)
+alors erreur IM1502;
+verif 11220:
+application : batch ;
+si (APPLI_COLBERT=0) et 
+(
+       (V_NOTRAIT+0=10)
+        et
+       (
+	(RCMAVFT > PLAF_AF2
+             et 
+	( RCMABD+RCMHAD+RCMHAB+REVACT+DISQUO+INTERE > 0)
+             et
+	RCMAVFT > ( arr ( 40 * ( RCMABD+RCMHAD+RCMHAB+REVACT+DISQUO+INTERE ) / 100)))
+	ou
+	( DIREPARGNE > PLAF_AF2
+	  et
+	  PPLIB + RCMLIB + RCMHAD > 0
+	  et
+	  DIREPARGNE > ( arr( 20*(PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE )/100 ))
+	)
+      )
+) 
+alors erreur A220;
+verif 11221:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+(
+        ((V_IND_TRAIT+0=5 et V_NOTRAIT+0>14) ou V_NOTRAIT+0=14)
+	et
+	(
+	(RCMAVFT > PLAF_AF2
+             et 
+	( RCMABD+RCMHAD+RCMHAB+REVACT+DISQUO+INTERE > 0)
+             et
+	RCMAVFT > ( arr ( 40 * ( RCMABD+RCMHAD+RCMHAB+REVACT+DISQUO+INTERE ) / 100)))
+	ou
+	( DIREPARGNE > PLAF_AF2
+	  et
+	  PPLIB + RCMLIB + RCMHAD > 0
+	  et
+	  DIREPARGNE > ( arr( 20*(PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE )/100 ))
+	)
+)
+)
+alors erreur A220;
+verif 1200:
+application : batch ,iliad;
+
+si
+   V_0CF + V_0CG + V_0CH + V_0CI + V_0CR + V_0DJ + V_0DN + V_0DP + 0 = 0 
+   et 
+   SOMMEA030 > 0
+      
+alors erreur A030 ;
+verif 12718:
+application : batch , iliad ;
+si
+    (
+       ( CIAQCUL > 0 )
+      et 
+       ( SOMMEA718 =0 )
+    )
+alors erreur A718;
+verif 12719:
+application : batch , iliad ;
+si
+    (
+       ( RDMECENAT > 0 )
+      et 
+       ( SOMMEA719 =0 )
+    )
+alors erreur A719;
+verif 1202:
+application : batch , iliad ;
+si
+    (
+       ( V_0AC + V_0AD + 0 > 0 )
+      et 
+      ( SOMMEA031 >0 )
+    )
+alors erreur A031;
+verif 1210:
+application : iliad , batch;
+si
+  (
+      V_IND_TRAIT > 0
+      et
+      positif(TREVEX) = 1
+      et 
+      SOMMEA805 = 0
+  )
+alors erreur A805;
+verif 1213:
+application : iliad , batch ;
+
+si
+   (V_IND_TRAIT > 0 )
+   et
+   positif(PRELIBXT + 0) = 1
+   et
+   positif(PCAPTAXV + PCAPTAXC + 0) = 0
+
+alors erreur A807 ;
+verif 12141:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   CSPROVYD + 0 > max(0,RSE1 + PRSE1 - CIRSE1) + 0
+
+alors erreur A86601 ;
+verif 12142:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   CSPROVYE + 0 >  max(0,RSE5 + PRSE5 - CIRSE5) + 0
+
+alors erreur A86602 ;
+verif 12143:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   CSPROVYF + 0 >  max(0,RSE2 + PRSE2 - CIRSE2) + 0
+
+alors erreur A86603 ;
+verif 12144:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   CSPROVYG + 0 >  max(0,RSE3 + PRSE3 - CIRSE3) + 0
+
+alors erreur A86604 ;
+verif 12145:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   CSPROVYH + 0 >  max(0,RSE4 + PRSE4 - CIRSE4) + 0
+
+alors erreur A86605 ;
+verif 1215:
+application : iliad , batch ;
+
+si
+   (V_IND_TRAIT > 0 )
+   et
+   present(BASRET) + present(IMPRET) = 1
+
+alors erreur A821 ;
+verif 12220:
+application : iliad , batch ;
+
+si 
+  ((V_IND_TRAIT = 4 )
+   et
+   (
+    REVACTNB < 2 ou REVACTNB > 20
+    ou
+    REVPEANB < 2 ou REVPEANB > 20
+    ou
+    PROVIENB < 2 ou PROVIENB > 20
+    ou
+    DISQUONB < 2 ou DISQUONB > 20
+    ou
+    RESTUCNB < 2 ou RESTUCNB > 20
+    ou
+    INTERENB < 2 ou INTERENB > 20
+   )
+  )
+  ou
+  ((V_IND_TRAIT = 5 )
+   et
+   (
+    REVACTNB = 1 ou REVACTNB > 20
+    ou
+    REVPEANB = 1 ou REVPEANB > 20
+    ou
+    PROVIENB = 1 ou PROVIENB > 20
+    ou
+    DISQUONB = 1 ou DISQUONB > 20
+    ou
+    RESTUCNB = 1 ou RESTUCNB > 20
+    ou
+    INTERENB = 1 ou INTERENB > 20
+   )
+  )
+alors erreur A22301 ;
+verif 12221:
+application : iliad , batch ;
+
+si 
+   (V_IND_TRAIT = 4 
+    et
+    (
+     positif(REVACT) + present(REVACTNB) = 1
+     ou
+     positif(REVPEA) + present(REVPEANB) = 1
+     ou
+     positif(PROVIE) + present(PROVIENB) = 1
+     ou
+     positif(DISQUO) + present(DISQUONB) = 1
+     ou 
+     positif(RESTUC) + present(RESTUCNB) = 1
+     ou
+     positif(INTERE) + present(INTERENB) = 1
+    )
+   )
+   ou
+   (V_IND_TRAIT = 5 
+    et
+    (
+     positif(REVACT) + positif(REVACTNB) = 1
+     ou
+     positif(REVPEA) + positif(REVPEANB) = 1
+     ou
+     positif(PROVIE) + positif(PROVIENB) = 1
+     ou
+     positif(DISQUO) + positif(DISQUONB) = 1
+     ou 
+     positif(RESTUC) + positif(RESTUCNB) = 1
+     ou
+     positif(INTERE) + positif(INTERENB) = 1
+    )
+   )
+alors erreur A22302 ;
+verif 12222:
+application : iliad , batch ;
+
+si 
+   ((V_IND_TRAIT = 4 )
+     et
+    (FONCINB < 2 ou FONCINB > 30))
+   ou
+   ((V_IND_TRAIT = 5 )
+     et
+    (FONCINB = 1 ou FONCINB > 30))
+
+alors erreur A42501 ;
+verif 12223:
+application : iliad , batch ;
+
+si 
+   (V_IND_TRAIT = 4 
+    et
+    positif(FONCI) + present(FONCINB) = 1)
+  ou
+   (V_IND_TRAIT = 5 
+    et
+    positif(FONCI) + positif(FONCINB) = 1)
+
+alors erreur A42502 ;
+verif 12224:
+application : iliad , batch ;
+
+si 
+  ((V_IND_TRAIT = 4 )
+    et
+   (REAMORNB < 2 ou REAMORNB > 14))
+  ou
+  ((V_IND_TRAIT = 5 )
+    et
+   (REAMORNB = 1 ou REAMORNB > 14))
+
+alors erreur A42601 ;
+verif 12225:
+application : iliad , batch ;
+
+si 
+   (V_IND_TRAIT = 4 
+    et
+    positif(REAMOR) + present(REAMORNB) = 1)
+  ou
+   (V_IND_TRAIT = 5 
+    et
+    positif(REAMOR) + positif(REAMORNB) = 1)
+
+alors erreur A42602 ;
+verif 1222:
+application : iliad , batch ;
+si
+   ((V_IND_TRAIT = 4 )
+     et
+    (
+     CARTSNBAV < 2 ou CARTSNBAV > 45
+     ou
+     CARTSNBAC < 2 ou CARTSNBAC > 45
+     ou 
+     CARTSNBAP1 < 2 ou CARTSNBAP1 > 45
+     ou
+     CARTSNBAP2 < 2 ou CARTSNBAP2 > 45
+     ou
+     CARTSNBAP3 < 2 ou CARTSNBAP3 > 45
+     ou
+     CARTSNBAP4 < 2 ou CARTSNBAP4 > 45
+     ou
+     REMPLANBV < 2 ou REMPLANBV > 45
+     ou
+     REMPLANBC < 2 ou REMPLANBC > 45
+     ou
+     REMPLANBP1 < 2 ou REMPLANBP1 > 45
+     ou
+     REMPLANBP2 < 2 ou REMPLANBP2 > 45
+     ou
+     REMPLANBP3 < 2 ou REMPLANBP3 > 45
+     ou
+     REMPLANBP4 < 2 ou REMPLANBP4 > 45
+    )
+   )
+   ou
+   ((V_IND_TRAIT = 5 )
+     et
+    (
+     CARTSNBAV = 1 ou CARTSNBAV > 45
+     ou
+     CARTSNBAC = 1 ou CARTSNBAC > 45
+     ou 
+     CARTSNBAP1 = 1 ou CARTSNBAP1 > 45
+     ou
+     CARTSNBAP2 = 1 ou CARTSNBAP2 > 45
+     ou
+     CARTSNBAP3 = 1 ou CARTSNBAP3 > 45
+     ou
+     CARTSNBAP4 = 1 ou CARTSNBAP4 > 45
+     ou
+     REMPLANBV = 1 ou REMPLANBV > 45
+     ou
+     REMPLANBC = 1 ou REMPLANBC > 45
+     ou
+     REMPLANBP1 = 1 ou REMPLANBP1 > 45
+     ou
+     REMPLANBP2 = 1 ou REMPLANBP2 > 45
+     ou
+     REMPLANBP3 = 1 ou REMPLANBP3 > 45
+     ou
+     REMPLANBP4 = 1 ou REMPLANBP4 > 45
+    )
+   )
+alors erreur A14001 ;
+verif 1223:
+application : iliad , batch ;
+si
+   ((V_IND_TRAIT = 4 )
+     et
+    (
+     CARPENBAV < 2 ou CARPENBAV > 45
+     ou
+     CARPENBAC < 2 ou CARPENBAC > 45
+     ou
+     CARPENBAP1 < 2 ou CARPENBAP1 > 45
+     ou
+     CARPENBAP2 < 2 ou CARPENBAP2 > 45
+     ou
+     CARPENBAP3 < 2 ou CARPENBAP3 > 45
+     ou
+     CARPENBAP4 < 2 ou CARPENBAP4 > 45
+     ou
+     PENSALNBV < 2 ou PENSALNBV > 45
+     ou
+     PENSALNBC < 2 ou PENSALNBC > 45
+     ou
+     PENSALNBP1 < 2 ou PENSALNBP1 > 45
+     ou
+     PENSALNBP2 < 2 ou PENSALNBP2 > 45
+     ou
+     PENSALNBP3 < 2 ou PENSALNBP3 > 45
+     ou
+     PENSALNBP4 < 2 ou PENSALNBP4 > 45
+     ou
+     RENTAXNB < 2 ou RENTAXNB > 45
+     ou
+     RENTAXNB5 < 2 ou RENTAXNB5 > 45
+     ou
+     RENTAXNB6 < 2 ou RENTAXNB6 > 45
+     ou
+     RENTAXNB7 < 2 ou RENTAXNB7 > 45
+    )
+   )
+   ou
+   ((V_IND_TRAIT = 5 )
+     et
+    (
+     CARPENBAV = 1 ou CARPENBAV > 45
+     ou
+     CARPENBAC = 1 ou CARPENBAC > 45
+     ou
+     CARPENBAP1 = 1 ou CARPENBAP1 > 45
+     ou
+     CARPENBAP2 = 1 ou CARPENBAP2 > 45
+     ou
+     CARPENBAP3 = 1 ou CARPENBAP3 > 45
+     ou
+     CARPENBAP4 = 1 ou CARPENBAP4 > 45
+     ou
+     PENSALNBV = 1 ou PENSALNBV > 45
+     ou
+     PENSALNBC = 1 ou PENSALNBC > 45
+     ou
+     PENSALNBP1 = 1 ou PENSALNBP1 > 45
+     ou
+     PENSALNBP2 = 1 ou PENSALNBP2 > 45
+     ou
+     PENSALNBP3 = 1 ou PENSALNBP3 > 45
+     ou
+     PENSALNBP4 = 1 ou PENSALNBP4 > 45
+     ou
+     RENTAXNB = 1 ou RENTAXNB > 45
+     ou
+     RENTAXNB5 = 1 ou RENTAXNB5 > 45
+     ou
+     RENTAXNB6 = 1 ou RENTAXNB6 > 45
+     ou
+     RENTAXNB7 = 1 ou RENTAXNB7 > 45
+    )
+   )
+alors erreur A13901;
+verif 1224:
+application : iliad , batch ;
+si
+  (V_IND_TRAIT = 4
+    et
+    (
+     (positif(CARTSV) + present(CARTSNBAV) = 1)
+     ou
+     (positif(CARTSC) + present(CARTSNBAC) = 1)
+     ou
+     (positif(CARTSP1) + present(CARTSNBAP1) = 1)
+     ou
+     (positif(CARTSP2) + present(CARTSNBAP2) = 1)
+     ou
+     (positif(CARTSP3) + present(CARTSNBAP3) = 1)
+     ou
+     (positif(CARTSP4) + present(CARTSNBAP4) = 1)
+     ou
+     (positif(REMPLAV) + present(REMPLANBV) = 1)
+     ou
+     (positif(REMPLAC) + present(REMPLANBC) = 1)
+     ou
+     (positif(REMPLAP1) + present(REMPLANBP1) = 1)
+     ou
+     (positif(REMPLAP2) + present(REMPLANBP2) = 1)
+     ou
+     (positif(REMPLAP3) + present(REMPLANBP3) = 1)
+     ou
+     (positif(REMPLAP4) + present(REMPLANBP4) = 1)
+    )
+  )
+  ou
+  (V_IND_TRAIT = 5
+    et
+    (
+     (positif(CARTSV) + positif(CARTSNBAV) = 1)
+     ou
+     (positif(CARTSC) + positif(CARTSNBAC) = 1)
+     ou
+     (positif(CARTSP1) + positif(CARTSNBAP1) = 1)
+     ou
+     (positif(CARTSP2) + positif(CARTSNBAP2) = 1)
+     ou
+     (positif(CARTSP3) + positif(CARTSNBAP3) = 1)
+     ou
+     (positif(CARTSP4) + positif(CARTSNBAP4) = 1)
+     ou
+     (positif(REMPLAV) + positif(REMPLANBV) = 1)
+     ou
+     (positif(REMPLAC) + positif(REMPLANBC) = 1)
+     ou
+     (positif(REMPLAP1) + positif(REMPLANBP1) = 1)
+     ou
+     (positif(REMPLAP2) + positif(REMPLANBP2) = 1)
+     ou
+     (positif(REMPLAP3) + positif(REMPLANBP3) = 1)
+     ou
+     (positif(REMPLAP4) + positif(REMPLANBP4) = 1)
+    )
+  )
+alors erreur A14002;
+verif 1225:
+application : iliad , batch ;
+si
+  (V_IND_TRAIT = 4
+    et
+    (
+     (positif(CARPEV) + present(CARPENBAV) = 1)
+     ou
+     (positif(CARPEC) + present(CARPENBAC) = 1)
+     ou
+     (positif(CARPEP1) + present(CARPENBAP1) = 1)
+     ou
+     (positif(CARPEP2) + present(CARPENBAP2) = 1)
+     ou
+     (positif(CARPEP3) + present(CARPENBAP3) = 1)
+     ou
+     (positif(CARPEP4) + present(CARPENBAP4) = 1)
+     ou
+     (positif(PENSALV) + present(PENSALNBV) = 1)
+     ou
+     (positif(PENSALC) + present(PENSALNBC) = 1)
+     ou
+     (positif(PENSALP1) + present(PENSALNBP1) = 1)
+     ou
+     (positif(PENSALP2) + present(PENSALNBP2) = 1)
+     ou
+     (positif(PENSALP3) + present(PENSALNBP3) = 1)
+     ou
+     (positif(PENSALP4) + present(PENSALNBP4) = 1)
+     ou
+     (positif(RENTAX) + present(RENTAXNB) = 1)
+     ou
+     (positif(RENTAX5) + present(RENTAXNB5) = 1)
+     ou
+     (positif(RENTAX6) + present(RENTAXNB6) = 1)
+     ou
+     (positif(RENTAX7) + present(RENTAXNB7) = 1)
+    )
+  )
+  ou
+  (V_IND_TRAIT = 5
+    et
+    (
+     (positif(CARPEV) + positif(CARPENBAV) = 1)
+     ou
+     (positif(CARPEC) + positif(CARPENBAC) = 1)
+     ou
+     (positif(CARPEP1) + positif(CARPENBAP1) = 1)
+     ou
+     (positif(CARPEP2) + positif(CARPENBAP2) = 1)
+     ou
+     (positif(CARPEP3) + positif(CARPENBAP3) = 1)
+     ou
+     (positif(CARPEP4) + positif(CARPENBAP4) = 1)
+     ou
+     (positif(PENSALV) + positif(PENSALNBV) = 1)
+     ou
+     (positif(PENSALC) + positif(PENSALNBC) = 1)
+     ou
+     (positif(PENSALP1) + positif(PENSALNBP1) = 1)
+     ou
+     (positif(PENSALP2) + positif(PENSALNBP2) = 1)
+     ou
+     (positif(PENSALP3) + positif(PENSALNBP3) = 1)
+     ou
+     (positif(PENSALP4) + positif(PENSALNBP4) = 1)
+     ou
+     (positif(RENTAX) + positif(RENTAXNB) = 1)
+     ou
+     (positif(RENTAX5) + positif(RENTAXNB5) = 1)
+     ou
+     (positif(RENTAX6) + positif(RENTAXNB6) = 1)
+     ou
+     (positif(RENTAX7) + positif(RENTAXNB7) = 1)
+    )
+  )
+alors erreur A13902;
+verif 1220:
+application : iliad , batch ;
+si
+        (V_IND_TRAIT > 0 )
+       et
+    (
+     COTFV + 0 > 25
+     ou
+     COTFC + 0 > 25
+     ou
+     COTF1 + 0 > 25
+     ou
+     COTF2 + 0 > 25
+     ou
+     COTF3 + 0 > 25
+     ou
+     COTF4 + 0 > 25
+     )
+alors erreur A14101;
+verif 1221:
+application : iliad , batch ;
+si
+  (V_IND_TRAIT = 4
+    et
+    (
+     (positif(PEBFV) + present(COTFV) = 1)
+     ou
+     (positif(PEBFC) + present(COTFC) = 1)
+     ou
+     (positif(PEBF1) + present(COTF1) = 1)
+     ou
+     (positif(PEBF2) + present(COTF2) = 1)
+     ou
+     (positif(PEBF3) + present(COTF3) = 1)
+     ou
+     (positif(PEBF4) + present(COTF4) = 1)
+     ou
+     (positif(COTFV) + present(PEBFV) = 1)
+     ou
+     (positif(COTFC) + present(PEBFC) = 1)
+     ou
+     (positif(COTF1) + present(PEBF1) = 1)
+     ou
+     (positif(COTF2) + present(PEBF2) = 1)
+     ou
+     (positif(COTF3) + present(PEBF3) = 1)
+     ou
+     (positif(COTF4) + present(PEBF4) = 1)
+    )
+   )
+  ou
+  (V_IND_TRAIT = 5
+    et
+    (
+     (positif(PEBFV) + positif(COTFV) = 1)
+     ou
+     (positif(PEBFC) + positif(COTFC) = 1)
+     ou
+     (positif(PEBF1) + positif(COTF1) = 1)
+     ou
+     (positif(PEBF2) + positif(COTF2) = 1)
+     ou
+     (positif(PEBF3) + positif(COTF3) = 1)
+     ou
+     (positif(PEBF4) + positif(COTF4) = 1)
+     ou
+     (positif(COTFV) + positif(PEBFV) = 1)
+     ou
+     (positif(COTFC) + positif(PEBFC) = 1)
+     ou
+     (positif(COTF1) + positif(PEBF1) = 1)
+     ou
+     (positif(COTF2) + positif(PEBF2) = 1)
+     ou
+     (positif(COTF3) + positif(PEBF3) = 1)
+     ou
+     (positif(COTF4) + positif(PEBF4) = 1)
+    )
+   )
+
+alors erreur A14102;
+verif 1301:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+        (V_IND_TRAIT > 0 )
+       et
+     (
+      BAFV > PLAF_FORFBA  ou  BAFC > PLAF_FORFBA  ou  BAFP > PLAF_FORFBA
+     )
+alors erreur IM02;
+verif 1312:
+application : batch ,iliad;
+si (APPLI_COLBERT + APPLI_OCEANS=0) et 
+    ( (positif_ou_nul(NAPT) = 0) et (APPLI_COLBERT = 0)
+     et ( (V_BTNATIMP+0) dans (1,11,71,81) )
+     et ( 
+	 (positif(V_FORVA+0)=1) 
+	ou
+	 (positif(V_FORCA+0)=1) 
+	ou
+	 (positif(V_FORPA+0)=1)
+        )
+   ) 
+alors erreur A534;
+verif 1330:
+application : batch , iliad ;
+si (APPLI_OCEANS=0) et 
+  pour un i dans V,C,P: 
+  (
+   (MIBVENi + MIBNPVENi + MIBGITEi + LOCGITi > LIM_MIBVEN)
+   ou  
+   (MIBPRESi + MIBNPPRESi + MIBMEUi > LIM_MIBPRES)
+   ou 
+   (MIBVENi + MIBNPVENi + MIBGITEi + LOCGITi + MIBPRESi + MIBNPPRESi + MIBMEUi <= LIM_MIBVEN 
+    et 
+    MIBPRESi + MIBNPPRESi + MIBMEUi > LIM_MIBPRES)
+   ou 
+   (MIBVENi + MIBNPVENi + MIBGITEi + LOCGITi + MIBPRESi + MIBNPPRESi + MIBMEUi > LIM_MIBVEN)
+   ou 
+   (BNCPROi + BNCNPi > LIM_SPEBNC)
+  )
+
+alors erreur DD08 ;
+verif 1340:                                                                  
+application : batch , iliad ;
+si (APPLI_OCEANS=0) et 
+   (V_NOTRAIT+0 < 20) et
+      (  V_IND_TRAIT+0 = 4 et 
+(
+(  present(V_0AX) =1
+ et 
+   (inf( ( V_0AX - V_ANREV ) / 1000000) > 31 
+     ou
+    inf( ( V_0AX - V_ANREV ) / 1000000) = 0 
+   )
+ )
+ou 
+(  present(V_0AY) =1
+ et 
+   (inf( ( V_0AY - V_ANREV ) / 1000000) > 31 
+     ou
+    inf( ( V_0AY - V_ANREV ) / 1000000) = 0 
+   )
+ )
+ou 
+(  present(V_0AZ) =1
+ et 
+   (inf( ( V_0AZ - V_ANREV ) / 1000000) > 31 
+     ou
+    inf( ( V_0AZ - V_ANREV ) / 1000000) = 0 
+   )
+ )
+)
+)
+alors erreur A02301;
+verif 1341:                                                                    
+application : batch , iliad ;
+si (APPLI_OCEANS=0) et 
+        (V_IND_TRAIT > 0 )
+       et (  V_IND_TRAIT+0 = 4 et
+(
+(  present(V_0AX) =1
+ et
+  (
+     (    inf ( V_0AX / 10000) * 10000
+        - inf ( V_0AX / 1000000)* 1000000
+     )/10000 > 12 
+   ou
+     (    inf ( V_0AX / 10000) * 10000
+        - inf ( V_0AX / 1000000)* 1000000
+     )/10000 =0
+   )
+)
+ou
+(  present(V_0AY) =1
+ et
+  (
+     (    inf ( V_0AY / 10000) * 10000
+        - inf ( V_0AY / 1000000)* 1000000
+     )/10000 > 12 
+   ou
+     (    inf ( V_0AY / 10000) * 10000
+        - inf ( V_0AY / 1000000)* 1000000
+     )/10000 =0
+   )
+)
+ou
+(  present(V_0AZ) =1
+ et
+  (
+     (    inf ( V_0AZ / 10000) * 10000
+        - inf ( V_0AZ / 1000000)* 1000000
+     )/10000 > 12 
+   ou
+     (    inf ( V_0AZ / 10000) * 10000
+        - inf ( V_0AZ / 1000000)* 1000000
+     )/10000 =0
+   )
+)
+)
+)
+alors erreur A02302;
+verif 1342:                                                                    
+application : batch , iliad ;
+si (APPLI_OCEANS=0) et 
+        (V_IND_TRAIT > 0 )
+       et (  V_IND_TRAIT+0 = 4 et
+(
+(  present(V_0AX) =1
+  et
+   (V_0AX -  inf(V_0AX/ 10000) * 10000) != V_ANREV
+  et
+   (V_0AX -  inf(V_0AX/ 10000) * 10000) != V_ANREV - 1
+) 
+ou
+(  present(V_0AY) =1
+  et
+   (V_0AY -  inf(V_0AY/ 10000) * 10000) != V_ANREV
+) 
+ou
+(  present(V_0AZ) =1
+  et
+   (V_0AZ -  inf(V_0AZ/ 10000) * 10000) != V_ANREV
+   )
+) 
+)
+alors erreur A02303;
+verif 1352:                                                                    
+application : batch ;
+si 
+        (V_IND_TRAIT > 0 )
+       et
+(
+(  present(V_0AX) =1
+  et
+  ( V_0AX + 0 < 1012005)
+)
+ou
+(  present(V_0AY) =1
+  et
+  ( V_0AY + 0 < 1012005)
+)
+ou
+(  present(V_0AZ) =1
+  et
+  ( V_0AZ + 0 < 1012005)
+)
+)
+alors erreur A02402;
+verif 1353:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+        (V_IND_TRAIT > 0 )
+       et
+    (
+      ( V_IND_TRAIT+0 = 4 et (
+       (  present(V_0AX) =1
+           et
+        ( V_0AX + 0 < 1012004)
+       )
+           ou
+       (  present(V_0AY) =1
+           et
+        ( V_0AY + 0 < 1012004)
+       )
+           ou
+       (  present(V_0AZ) =1
+           et
+        ( V_0AZ + 0 < 1012004)
+       ))
+      )
+       ou
+       ( V_IND_TRAIT = 5 et (
+        (  positif(V_0AX) =1
+            et
+         ( V_0AX + 0 < 1012004)
+        )
+            ou
+        (  positif(V_0AY) =1
+            et
+         ( V_0AY + 0 < 1012004)
+        )
+            ou
+        (  positif(V_0AZ) =1
+            et
+         ( V_0AZ + 0 < 1012004)
+        )
+       ))
+     )
+alors erreur A02402;
+verif 14000:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(REVCSXA + 0) = 1
+   et
+   positif(SALECS + 0) = 0
+
+alors erreur A87801 ;
+verif 14010:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(REVCSXB + 0) = 1
+   et
+   positif(SALECSG + 0) = 0
+
+alors erreur A87802 ;
+verif 14020:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(REVCSXC + 0) = 1
+   et
+   positif(ALLECS + 0) = 0
+
+alors erreur A87803 ;
+verif 14030:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(REVCSXD + 0) = 1
+   et
+   positif(INDECS + 0) = 0
+
+alors erreur A87804 ;
+verif 14040:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(REVCSXE + 0) = 1
+   et
+   positif(PENECS + 0) = 0
+
+alors erreur A87805 ;
diff --git a/sources2012m_3_13/coi2.m b/sources2012m_3_13/coi2.m
new file mode 100644
index 0000000000000000000000000000000000000000..d13d4ba35edc9ee7550946c40378f9f6b9d08795
--- /dev/null
+++ b/sources2012m_3_13/coi2.m
@@ -0,0 +1,303 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 20091:
+application :   iliad  ;
+si  (APPLI_OCEANS=0) et 
+  (
+   V_IND_TRAIT > 0 
+       et
+  positif(ANNUL2042) = 1
+  )
+alors erreur IM40;
+verif 2009:
+application :   iliad  ;
+si  (APPLI_OCEANS=0) et 
+  (
+  present (V_BTCO2044P) = 1
+ et
+  present (CO2044P)   = 0
+  )
+alors erreur IM09;
+verif 2010:
+application :  batch , iliad  ;
+si (APPLI_COLBERT+APPLI_OCEANS=0) et (
+    (
+     (V_BTCSGDED * (1-present(DCSG)) + DCSG) * (1-null(4 -V_REGCO)) > V_BTCSGDED +  LIM_CONTROLE 
+    )
+    et
+    ( 
+      1 - V_CNR > 0
+    )    
+    et
+    ( 
+      RDCSG > 0
+    )    
+     et
+      ((APPLI_ILIAD = 1 et V_NOTRAIT+0 < 16)
+      ou 
+      ((V_BTNI1+0) non dans (50,92) et APPLI_BATCH = 1)))
+
+alors erreur DD22;
+verif 2020:
+application : batch , iliad ;
+si (APPLI_COLBERT+APPLI_ILIAD=1) et 
+   V_IND_TRAIT > 0 
+   et
+   CHNFAC > 9
+  
+alors erreur A00101 ;
+verif 20201:
+application : batch , iliad ;
+
+si (APPLI_COLBERT+APPLI_ILIAD=1) et 
+   V_IND_TRAIT > 0
+   et
+   NBACT > 9
+
+alors erreur A00102 ;
+verif 20202:
+application : batch , iliad ;
+
+si (APPLI_COLBERT+APPLI_ILIAD=1) et 
+   V_IND_TRAIT > 0
+   et
+  (
+   RDENS > 9
+   ou
+   RDENL > 9
+   ou
+   RDENU > 9
+   ou
+   RDENSQAR > 9
+   ou
+   RDENLQAR > 9
+   ou
+   RDENUQAR > 9
+  )
+alors erreur A00103 ;
+verif 20203:
+application : batch , iliad ;
+
+si (APPLI_COLBERT+APPLI_ILIAD=1) et 
+   V_IND_TRAIT > 0
+   et
+   ASCAPA > 9
+
+alors erreur A00104 ;
+verif 2022:
+application : batch , iliad ;
+
+si (APPLI_BATCH+APPLI_ILIAD+APPLI_OCEANS=1) et 
+   1 - V_CNR > 0
+   et
+   CHRFAC > 0 
+   et 
+   V_0CR > 0 
+   et
+   RFACC != 0
+
+alors erreur DD16 ;
+verif 2100:
+application : iliad  ,batch;
+si
+   (
+     IPELUS > 0
+     et 
+     positif(present(TSHALLOV) + present(TSHALLOC) + present(CARTSV) + present(CARTSC) + present(CARTSNBAV) + present(CARTSNBAC)) = 0
+     et
+     positif(present(ALLOV) + present(ALLOC) + present(REMPLAV) + present(REMPLAC) + present(REMPLANBV) + present(REMPLANBC)) = 0
+   )
+alors erreur A888;
+verif 2110:
+application : iliad  ,batch;
+si (APPLI_OCEANS=0) et
+(
+REGCI+0 > IPBOCH+0
+)
+alors erreur A887;
+verif 2111:
+application : iliad  ,batch;
+si (APPLI_OCEANS=0) et
+(
+REVFONC+0 > IND_TDR+0 et present(IND_TDR)=0
+)
+alors erreur A889;
+verif 2101:
+application : iliad , batch;
+si
+
+	IPSOUR > 0 et V_CNR + 0 = 0 et SOMMEA874 = 0 
+
+alors erreur A874;
+verif 2200:
+application : iliad , batch ;
+
+si
+  (IPRECH + 0 > 0 ou IPCHER + 0 > 0) 
+  et 
+  SOMMEA877 = 0
+
+alors erreur A877 ;
+verif 2205:
+application : batch , iliad  ;
+si (APPLI_COLBERT+APPLI_OCEANS+APPLI_ILIAD=1) et 
+	(
+	V_IND_TRAIT > 0
+	et
+        CREFAM+0 > 500000
+	)
+alors erreur IM03;
+verif 2220:
+application : iliad , batch ;
+
+si 
+   AUTOVERSLIB > 0 
+   et 
+   SOMMEA862 = 0
+
+alors erreur A862 ;
+verif 2221:
+application : iliad , batch ;
+
+si
+   CIINVCORSE + CICORSENOW + 0 > 0 
+   et 
+   SOMMEA879 = 0
+
+alors erreur A879 ;
+verif 2223:
+application : iliad , batch ;
+
+si
+   CREFAM > 0 
+   et 
+   SOMMEA881 = 0
+
+alors erreur A881 ;
+verif 2229:
+application : iliad  , batch ;
+
+si
+   CREAPP > 0 
+   et 
+   SOMMEA890 = 0
+
+alors erreur A890 ;
+verif 891:
+application : iliad , batch ;
+
+si
+   CREPROSP > 0 
+   et 
+   SOMMEA891 = 0
+
+alors erreur A891 ;
+verif 893:
+application : iliad , batch ;
+
+si
+   CREFORMCHENT > 0 
+   et 
+   SOMMEA893 = 0
+
+alors erreur A893 ;
+verif 894:
+application : iliad , batch ;
+
+si
+   CREINTERESSE > 0 
+   et 
+   SOMMEA894 = 0
+
+alors erreur A894 ;
+verif 895:
+application : iliad  , batch ;
+
+si
+   CREAGRIBIO > 0 
+   et 
+   SOMMEA895 = 0
+
+alors erreur A895 ;
+verif 896:
+application : iliad , batch ;
+si
+   CREARTS > 0 
+   et 
+   SOMMEA896 = 0
+
+alors erreur A896 ;
+verif 898:
+application : iliad , batch ;
+si
+   CRECONGAGRI > 0 
+   et 
+   SOMMEA898 = 0
+
+alors erreur A898 ;
+verif 899:
+application : iliad , batch ;
+
+si 
+   CRERESTAU > 0 
+   et 
+   SOMMEA899 = 0
+
+alors erreur A899 ;
+verif 859:
+application : iliad , batch ;
+
+si
+   PRESINTER > 0
+   et
+   SOMMEA859 = 0
+
+alors erreur A859 ;
+verif 900:
+application : iliad , batch ;
+
+si 
+   CIDEBITTABAC > 0 
+   et 
+   SOMMEA860 = 0
+
+alors erreur A860 ;
+verif 2222:
+application : iliad , batch ;
+si
+   CRIGA > 0  
+   et 
+   SOMMEA880 = 0         
+
+alors erreur A880 ;
+verif 2290:
+application : batch , iliad ;
+si  
+   APPLI_OCEANS = 0 
+   et
+   (
+    (PPEACV+0 > 0 et PPENJV+0 > 0) 
+    ou
+    (PPEACC+0 > 0 et PPENJC+0 > 0) 
+    ou
+    (PPEACP+0 > 0 et PPENJP+0 > 0) 
+   )
+alors erreur A542 ;
diff --git a/sources2012m_3_13/coi3.m b/sources2012m_3_13/coi3.m
new file mode 100644
index 0000000000000000000000000000000000000000..da88207522795d058959e053748a6449b0f0ac0c
--- /dev/null
+++ b/sources2012m_3_13/coi3.m
@@ -0,0 +1,159 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 3511:
+application : iliad , batch ;
+si (APPLI_OCEANS+APPLI_COLBERT = 0) et 
+   (( pour un i dans 0, 1, 2, 3, 4, 5, 6, 7: V_0Fi + 0 > V_ANREV )
+   ou
+   ( pour un j dans G, J, N, H, I, P et un i dans 0, 1, 2, 3: V_0ji + 0 > V_ANREV )) 
+ ou (APPLI_COLBERT+APPLI_OCEANS=1) et 
+   (( pour un i dans 0, 1, 2, 3, 4, 5, 6, 7: V_0Fi + 0 > V_ANREV )
+   ou
+   ( pour un j dans 0, 1, 2, 3: V_0Hj + 0 > V_ANREV ))
+
+alors erreur AS02;
+verif 3600:
+application : iliad , batch  ;
+si
+   V_IND_TRAIT > 0 
+   et
+   V_0DN + V_0DP + 0 = 1 
+   
+alors erreur A011 ;
+verif 3610:
+application : iliad , batch  ;
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0 
+   et
+   (V_0CF > 19 ou V_0CG > 19 ou V_0CH > 19 ou V_0CI > 19 ou V_0CR > 19 ou V_0DJ > 19 ou V_0DN > 19 ou V_0DP > 19)
+
+alors erreur A019 ;
+verif 3620:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   ( V_IND_TRAIT+0 = 4 
+       et V_BT0CF + 0 = somme(i=0..5:positif(V_BT0Fi+0))
+et V_BT0CH + 0 = somme(i=0..5:positif(V_BT0Hi+0))
+ et V_0CF + 0 = somme(i=0..5:positif(V_0Fi+0))
+  et V_0CH + 0 = somme(i=0..5:positif(V_0Hi+0))
+  et
+     (
+       V_BT0CH + V_BT0CF + 0 > V_0CH + V_0CF
+       ou 
+       (V_BT0CF = 1 et V_0CF =1 et V_0CH + 0 = 0 et pour un i dans 0,1: V_0Fi = V_ANREV )
+       ou
+       (V_BT0CF = 1 et V_0CH =1 et V_0CF + 0 = 0 et pour un i dans 0,1: V_0Hi = V_ANREV )
+       ou
+       (V_BT0CH = 1 et V_0CH =1 et V_0CF + 0 = 0 et pour un i dans 0,1: V_0Hi = V_ANREV )
+       ou
+       (V_BT0CH = 1 et V_0CF =1 et V_0CH + 0 = 0 et pour un i dans 0,1: V_0Fi = V_ANREV )
+     )
+   )
+alors erreur IM19;
+verif 3214:
+application : batch , iliad ;
+si (APPLI_OCEANS+APPLI_COLBERT = 0) et 
+    ( 
+       V_BT0CF >0 
+          et V_0CH >0 
+              et positif(V_0CF+0) != 1
+                   et V_BT0CF + 0 = somme(i=0..5:positif(V_BT0Fi+0)) 
+                     et V_BT0CH + 0 = somme(i=0..5:positif(V_BT0Hi+0)) 
+                       et V_0CF + 0 = somme(i=0..5:positif(V_0Fi+0)) 
+                         et V_0CH + 0 = somme(i=0..5:positif(V_0Hi+0)) 
+                           et ((     V_0CH < V_BT0CF   ) 
+                                ou
+                               (     V_0CH = V_BT0CF 
+                                  et somme(i=0..5:V_0Hi+0) != somme(i=0..5:V_BT0Fi+0)         )
+                                ou
+                               (     V_0CH = V_BT0CF
+                                  et somme(i=0..5:V_0Hi+0) = somme(i=0..5:V_BT0Fi+0)
+                                  et somme(i=0..5: (1/V_0Hi)) != somme(i=0..5: (1/V_BT0Fi))   )
+                               ou
+                               (     V_0CH > V_BT0CF
+        et somme(i=0..5:positif(somme(j=0..5:null(V_0Hj - V_BT0Fi)))*V_BT0Fi) != somme(i=0..5:V_BT0Fi) 
+                               )
+                               ou
+                               (     V_0CH > V_BT0CF
+        et somme(i=0..5:positif(somme(j=0..5:null(V_0Hj - V_BT0Fi)))*V_BT0Fi) = somme(i=0..5:V_BT0Fi) 
+        et somme(i=0..5:positif(somme(j=0..5:null(V_0Hi - V_BT0Fj)))*V_0Hi) < somme(i=0..5:V_BT0Fi)
+                               )
+                              )  
+    ) 
+
+alors erreur I014;
+verif 3215:
+application : iliad ;
+si 
+    APPLI_OCEANS = 0 
+    et 
+    IREST >= LIM_RESTIT
+     
+alors erreur IM14 ;
+verif 3630:
+application : batch , iliad ;
+si 
+   APPLI_OCEANS = 0 
+   et 
+   positif(V_0CF + 0) != 1
+   et
+   (pour un i dans 0..7: positif(V_0Fi + 0) = 1)
+   
+alors erreur A021 ;
+verif 3631:
+application : batch, iliad ;
+si 
+   APPLI_OCEANS = 0 
+   et 
+   positif(V_0CH + 0) != 1
+   et 
+   (pour un i dans 0..5: positif(V_0Hi) = 1)
+   
+alors erreur A021 ;
+verif 3640:
+application : batch, iliad ;
+si (APPLI_OCEANS+APPLI_COLBERT=0) et (
+     (V_NOTRAIT=10) et 
+     ( positif(V_0J0)=1 ou positif(V_0J1)=1 )
+     et
+       (pour un i dans 0..5: V_BT0Fi = V_ANREV - 18)
+     et
+       (pour un i dans 0..5: V_0Ji = V_ANREV - 18)
+   )
+alors erreur A022;
+verif 3700:
+application : bareme ;
+ 
+si 
+   ((V_9VV / 0.25) - arr(V_9VV / 0.25)) != 0
+  
+alors erreur A06501 ;
+verif 3701:
+application : bareme ;
+ 
+si 
+   V_9VV < 1 
+   ou  
+   V_9VV > 99.75 
+   
+alors erreur A06502 ;
diff --git a/sources2012m_3_13/errB.m b/sources2012m_3_13/errB.m
new file mode 100644
index 0000000000000000000000000000000000000000..21363c8a34b331274493f1b98623e3edbe8aa02f
--- /dev/null
+++ b/sources2012m_3_13/errB.m
@@ -0,0 +1,30 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 12 Application bareme
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A063:anomalie :"A":"063":"00":"nombre de parts incompatible avec sit.  de famille":"N";
+A064:anomalie :"A":"064":"00":"nombre de parts incompatible avec sit.  de famille et pers.  a charge":"N";
+A06501:anomalie :"A":"065":"01":"LE NOMBRE DE PARTS DOIT ETRE UN MULTIPLE DE 0,25":"N";
+A06502:anomalie :"A":"065":"02":"LE NOMBRE DE PARTS DOIT ETRE COMPRIS ENTRE 1 ET 99,75":"N";
+A066:anomalie :"A":"066":"00":"nombre de parts incompatible avec sit.  de famille":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
diff --git a/sources2012m_3_13/errH.m b/sources2012m_3_13/errH.m
new file mode 100644
index 0000000000000000000000000000000000000000..093f2d1feb9968fbd1ebec0d9becb9431acbea4d
--- /dev/null
+++ b/sources2012m_3_13/errH.m
@@ -0,0 +1,350 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)":"N";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).":"N";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)":"N";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A00108:anomalie :"A":"001":"08":"MONTANT VARIABLE RESTITUEE SUPERIEUR A 8 CARACTERES":"N";
+A004:anomalie :"A":"004":"00":"CASE B COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A005:anomalie :"A":"005":"00":"CASE B NON COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION C, D OU V":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES E, G, N, W, L.":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES E, G, N, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, S.":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S.":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S.":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, E, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT OU DU CONJOINT EST INVRAISEMBLABLE":"N";
+A015:anomalie :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A01701:anomalie :"A":"017":"01":"CASE DC = D, UNE SEULE DATE PEUT ETRE SAISIE.":"N";
+A01702:anomalie :"A":"017":"02":"CASE DC=Z, INDIQUEZ M OU O DANS SITUATION ET DATE DECES CJT OU PACSE.":"N";
+A01703:anomalie :"A":"017":"03":"CASE DC = D. DATE MARIAGE OU PACS SAISIE. LA SITUATION DOIT ETRE M OU O.":"N";
+A01704:anomalie :"A":"017":"04":"CASE DC = D. DATE DIVORCE OU RUPTURE SAISIE. LA SITUATION DOIT ETRE D":"N";
+A01705:anomalie :"A":"017":"05":"CASE DC = D. DATE MARIAGE OU PACS SAISIE. LA SITUATION DOIT ETRE M OU O.":"N";
+A01706:anomalie :"A":"017":"06":"CASE DC = D. DATE DIVORCE OU RUPTURE SAISIE. LA SITUATION DOIT ETRE C,D,V":"N";
+A01707:anomalie :"A":"017":"07":"CASE DC = D. DATE DECES CJT SAISIE. LA SITUATION DE FAMILLE DOIT ETRE V OU M":"N";
+A018:anomalie :"A":"018":"00":"SITUATION NECESSITANT LA SAISIE DE LA CASE DC. ARRETEZ LA TRANSACTION.":"N";
+A019:anomalie :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A021:anomalie :"A":"021":"00":"ATTENTION DATES DE NAISSANCE PAC PRISES EN CHARGE SANS CODE 0CF, 0CH":"N";
+A022:anomalie :"A":"022":"00":"UN ENFANT NE EN 1994 EST A LA FOIS COMPTE A CHARGE ET RATTACHE: A VERIFIER":"N";
+A02301:anomalie :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:anomalie :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:anomalie :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENT DE 2012":"N";
+A02401:anomalie :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:anomalie :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:anomalie :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:anomalie :"A":"031":"00":"REV. OU CHARGE AU NOM DU CJT OU PARTEN. POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A079:anomalie :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:anomalie :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A082:anomalie :"A":"082":"00":"LE CODE REGIME D IMPOSITION EST DIFFERENT DE 1,2 ou 4":"N";
+A083:anomalie :"A":"083":"00":"UTILISATION DU CODE 8ZA UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A085:anomalie :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:anomalie :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:anomalie :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:anomalie :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:anomalie :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:anomalie :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:anomalie :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:anomalie :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:anomalie :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:anomalie :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:anomalie :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:anomalie :"A":"096":"00":"CODES 8YO ET 8YI : UNIQUEMENT CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A098:anomalie :"A":"098":"00":"LIGNE 3SE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A13901:anomalie :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:anomalie :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:anomalie :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:anomalie :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:anomalie :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:anomalie :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:anomalie :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:anomalie :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:anomalie :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:anomalie :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A148:anomalie :"A":"148":"00":"SAISIE DU CODE 1LZ OU 1MZ SANS CODE 8ZK EN ABSENCE DE TAUX EFFECTIF":"N";
+A149:anomalie :"A":"149":"00":"CODE CREDIT D'IMPOT JEUNE NON ADMIS POUR CETTE SITUATION DE FAMILLE":"N";
+A150:anomalie :"A":"150":"00":"CODE CREDIT D'IMPOT JEUNE INCOMPATIBLE AVEC DEPART A L'ETRANGER (9YD).":"N";
+A153:anomalie :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A21801:anomalie :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:anomalie :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A220:anomalie :"A":"220":"00":"CREDIT D'IMPOT ( 2AB , 2BG ) EXAGERE : VERIFIEZ VOTRE SAISIE":"N";
+A222:anomalie :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR":"N";
+A22301:anomalie :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:anomalie :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A320:anomalie :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM, 3VT (PEA)":"N";
+A321:anomalie :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A32201:anomalie :"A":"322":"01":"MONTANT LIGNE 3VE POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A32202:anomalie :"A":"322":"02":"MONTANT LIGNE 3VV POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A323:anomalie :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A420:anomalie :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:anomalie :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:anomalie :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:anomalie :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:anomalie :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:anomalie :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:anomalie :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:anomalie :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:anomalie :"A":"538":"00":"REVENUS A IMPOSER AUX CONTRIBUTIONS SOCIALES SANS REVENU CORRESPONDANT":"N";
+A542:anomalie :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:anomalie :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:anomalie :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (VOUS,CJT)NE PEUT DEPASSER 28 282 EUROS":"N";
+A602:anomalie :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A603:anomalie :"A":"603":"00":"LES LIGNES 6PS, 6PT, 6PU SONT REMPLIES SANS MISE A JOUR DU PLAFOND":"N";
+A604:anomalie :"A":"604":"00":"MUTUALISATION DEMANDEE (6QR) SANS PLAFOND CORRESPONDANT POUR LES DEUX CONJOINTS":"N";
+A60501:anomalie :"A":"605":"01":"LE MONTANT 6 QS NE PEUT ETRE INFERIEUR AU MONTANT DE 1 SM":"N";
+A60502:anomalie :"A":"605":"02":"LE MONTANT 6 QT NE PEUT ETRE INFERIEUR AU MONTANT DE 1 DN":"N";
+A700:anomalie :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A701:anomalie :"A":"701":"00":"LE MONTANT PORTE LIGNE 7UE + 7VB NE PEUT DEPASSER 521 E":"N";
+A702:anomalie :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR":"N";
+A703:anomalie :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC VOUS ET CONJOINT NES AVANT 1979":"N";
+A704:anomalie :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A705:anomalie :"A":"705":"00":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A706:anomalie :"A":"706":"00":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70701:anomalie :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:anomalie :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:anomalie :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A709:anomalie :"A":"709":"00":"SAISIE DE PLUS D'UNE LIGNE : 7XC,7XF,7XI,7XP,7XN,7XL,7XJ,7XQ,7XV,7XM":"N";
+A710:anomalie :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:anomalie :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:anomalie :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:anomalie :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:anomalie :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:anomalie :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:anomalie :"A":"714":"00":"REPORT 2011 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2012 (7WO ET 7WN)":"N";
+A715:anomalie :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:anomalie :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:anomalie :"A":"717":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7JA A 7JR":"N";
+A71702:anomalie :"A":"717":"02":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71703:anomalie :"A":"717":"03":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HJ,7HK,7HN ET 7HO":"N";
+A71704:anomalie :"A":"717":"04":"INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:anomalie :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:anomalie :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A73001:anomalie :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE":"N";
+A73002:anomalie :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TF":"N";
+A73003:anomalie :"A":"730":"03":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UW ET 7TG":"N";
+A731:anomalie :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5":"N";
+A733:anomalie :"A":"733":"00":"LE CREDIT D IMPOT DE LA LIGNE 7SZ NE PEUT EXCEDER 20 000 E":"N";
+A73501:anomalie :"A":"735":"01":"CASE 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7TT A 7TY OU 7SD A 7SW":"N";
+A73502:anomalie :"A":"735":"02":"LES CASES 7WE ET 7WG NE PEUVENT ETRE SIMUTANEMENT COCHEES":"N";
+A73601:anomalie :"A":"736":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7ID, 7IE, 7IF ET 7IG":"N";
+A73602:anomalie :"A":"736":"02":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7IJ, 7IL, 7IN, 7IV":"N";
+A73603:anomalie :"A":"736":"03":"INCOMPATIBILITE ENTRE LIGNES 7IM ET 7IW":"N";
+A73701:anomalie :"A":"737":"01":"CASE 7 XD COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XC":"N";
+A73702:anomalie :"A":"737":"02":"CASE 7 XE COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XL":"N";
+A738:anomalie :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP":"N";
+A739:anomalie :"A":"739":"00":"CASE 7 QA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:anomalie :"A":"740":"01":"LE TOTAL LIGNES 7 PR + 7 PW NE PEUT ETRE SUPERIEUR A 300 000 E":"N";
+A74002:anomalie :"A":"740":"02":"LE MONTANT LIGNE 7 RI NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74003:anomalie :"A":"740":"03":"LE TOTAL LIGNES 7RO + 7RT + 7RY + 7NY NE PEUT ETRE SUPERIEUR A 229 500 E":"N";
+A74004:anomalie :"A":"740":"04":"LE TOTAL 7PR+7PW+7RI+7RO+7RT+7RY+7NY NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:anomalie :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A74201:anomalie :"A":"742":"01":"INCOMPATIBILITE ENTRE LIGNES 7HR ET 7HS":"N";
+A74202:anomalie :"A":"742":"02":"INCOMPATIBILITE ENTRE LIGNES 7HT ET 7HU":"N";
+A74203:anomalie :"A":"742":"03":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HV, 7HW, 7HX , 7HZ":"N";
+A74204:anomalie :"A":"742":"04":"INCOMPATIBILITE ENTRE LIGNES 7HD ET 7HE":"N";
+A74205:anomalie :"A":"742":"05":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HA , 7HB , 7HG , 7HH":"N";
+A743:anomalie :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:anomalie :"A":"744":"00":"LE MONTANT PORTE LIGNE 7WR NE PEUT DEPASSER 60 000 E":"N";
+A745:anomalie :"A":"745":"00":"INCOMPATIBILITE ENTRE LIGNES 7IP ET 7IQ":"N";
+A74601:anomalie :"A":"746":"01":"LE MONTANT LIGNE 7PR NE PEUT EXCEDER LE MONTANT LIGNE 7PQ":"N";
+A74602:anomalie :"A":"746":"02":"LE MONTANT LIGNE 7PW NE PEUT EXCEDER LE MONTANT LIGNE 7PV":"N";
+A74603:anomalie :"A":"746":"03":"LE MONTANT LIGNE 7RI NE PEUT EXCEDER LE MONTANT LIGNE 7RH":"N";
+A74604:anomalie :"A":"746":"04":"LE MONTANT LIGNE 7RO NE PEUT EXCEDER LE MONTANT LIGNE 7RN":"N";
+A74605:anomalie :"A":"746":"05":"LE MONTANT LIGNE 7RT NE PEUT EXCEDER LE MONTANT LIGNE 7RS":"N";
+A74606:anomalie :"A":"746":"06":"LE MONTANT LIGNE 7RY NE PEUT EXCEDER LE MONTANT LIGNE 7RX":"N";
+A74607:anomalie :"A":"746":"07":"LE MONTANT LIGNE 7NY NE PEUT EXCEDER LE MONTANT LIGNE 7NX":"N";
+A747:anomalie :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A74801:anomalie :"A":"748":"01":"CASE 7WH COCHEE SANS MONTANT LIGNE 7SD A 7ST ":"N";
+A74802:anomalie :"A":"748":"02":"CASE 7WK COCHEE SANS MONTANT LIGNE 7SD A 7SW ":"N";
+A74901:anomalie :"A":"749":"01":"CASE 7WF 7WQ 7WS COCHEE SANS MONTANT LIGNE 7SJ ET RECIPROQUEMENT":"N";
+A74902:anomalie :"A":"749":"02":"CASE 7WU 7WV COCHEE SANS MONTANT LIGNE 7SK ET RECIPROQUEMENT":"N";
+A74903:anomalie :"A":"749":"03":"CASE 7WW 7WX COCHEE SANS MONTANT LIGNE 7SL ET RECIPROQUEMENT":"N";
+A74904:anomalie :"A":"749":"04":"CASE 7WA 7WB COCHEE SANS MONTANT LIGNE 7SG ET RECIPROQUEMENT":"N";
+A74905:anomalie :"A":"749":"05":"CASE 7VE 7VF COCHEE SANS MONTANT LIGNE 7SH ET RECIPROQUEMENT":"N";
+A75001:anomalie :"A":"750":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7WF, 7WQ, 7WS":"N";
+A75002:anomalie :"A":"750":"02":"INCOMPATIBILITE ENTRE LES LIGNES 7WU ET 7WV":"N";
+A75003:anomalie :"A":"750":"03":"INCOMPATIBILITE ENTRE LES LIGNES 7WW ET 7WX":"N";
+A75004:anomalie :"A":"750":"04":"INCOMPATIBILITE ENTRE LES LIGNES 7WA ET 7WB":"N";
+A75005:anomalie :"A":"750":"05":"INCOMPATIBILITE ENTRE LES LIGNES 7VE ET 7VF":"N";
+A75101:anomalie :"A":"751":"01":"CASE 7WT COCHEE SANS MONTANT LIGNE 7SJ":"N";
+A75102:anomalie :"A":"751":"02":"CASE 7WC COCHEE SANS MONTANT LIGNE 7SG":"N";
+A75103:anomalie :"A":"751":"03":"CASE 7VG COCHEE SANS MONTANT LIGNE 7SH":"N";
+A752:anomalie :"A":"752":"00":"INCOMPATIBILITE ENTRE 7TT A 7TY ET 7SD A 7SW":"N";
+A800:anomalie :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:anomalie :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:anomalie :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A80203:anomalie :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A804:anomalie :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:anomalie :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A807:anomalie :"A":"807":"00":"SAISIE CODE 8XT SANS LIGNE 1AT OU 1BT":"N";
+A821:anomalie :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A859:anomalie :"A":"859":"00":"LA LIGNE 8WC EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A860:anomalie :"A":"860":"00":"LA LIGNE 8WV EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:anomalie :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A86601:anomalie :"A":"866":"01":"CSG A 7,5% PROVISOIRE (8YD) >  CSG DUE":"N";
+A86602:anomalie :"A":"866":"02":"CSG A 7,5% PROVISOIRE (8YE) > CSG DUE":"N";
+A86603:anomalie :"A":"866":"03":"CSG A 6,6% PROVISOIRE (8YF) > CSG DUE":"N";
+A86604:anomalie :"A":"866":"04":"CSG A 6,2% PROVISOIRE (8YG) > CSG DUE":"N";
+A86605:anomalie :"A":"866":"05":"CSG A 3,8% PROVISOIRE (8YH) > CSG DUE":"N";
+A867:anomalie :"A":"867":"00":"CONTRIBUTION SALARIALE PROVISOIRE 8 % (8YP) > A CONTRIBUTION DUE":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A869:anomalie :"A":"869":"00":"CONTRIBUTION SALARIALE PROVISOIRE 2,5 % (8YV) > A CONTRIBUTION DUE":"N";
+A870:anomalie :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:anomalie :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:anomalie :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A87801:anomalie :"A":"878":"01":"SAISIE CODE 8XA SANS REVENU LIGNE 8TQ":"N";
+A87802:anomalie :"A":"878":"02":"SAISIE CODE 8XB SANS REVENU LIGNE 8TR":"N";
+A87803:anomalie :"A":"878":"03":"SAISIE CODE 8XC SANS REVENU LIGNE 8TV":"N";
+A87804:anomalie :"A":"878":"04":"SAISIE CODE 8XD SANS REVENU LIGNE 8TW":"N";
+A87805:anomalie :"A":"878":"05":"SAISIE CODE 8XE SANS REVENU LIGNE 8TX":"N";
+A879:anomalie :"A":"879":"00":"LA LIGNE 8TG, 8TS EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:anomalie :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:anomalie :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A88201:anomalie :"A":"882":"01":"LIGNE 8TI REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN OU INVERSEMENT":"N";
+A88202:anomalie :"A":"882":"02":"SAISIE DU CODE 8YC SANS PRISE EN CHARGE DE LA LIGNE 8TI":"N";
+A883:anomalie :"A":"883":"00":"LA LIGNE 8TK EST REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP, 8XQ OU 8XT":"N";
+A884:anomalie :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A885:anomalie :"A":"885":"00":"PRISE EN CHARGE DU CODE 8XP OU 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A886:anomalie :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR, 8XP OU 8XQ":"N";
+A887:anomalie :"A":"887":"00":"REVENU NET CODE 8XR SUPERIEUR AU MONTANT LIGNE 8TK":"N";
+A888:anomalie :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A889:anomalie :"A":"889":"00":"SAISIE CODE 8 FV SANS PRISE EN CHARGE DU CODE 8 ZK":"N";
+A890:anomalie :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:anomalie :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:anomalie :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:anomalie :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:anomalie :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:anomalie :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:anomalie :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:anomalie :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A950:anomalie :"A":"950":"00":"NATIMP OU PPENATREST DIFFERENT DES VALEURS ADMISES":"N";
+A951:anomalie :"A":"951":"00":"CODINI DIFFERENT DES VALEURS ADMISES":"N";
+A954:anomalie :"A":"954":"00":"NATIMPIR DIFFERENT DES VALEURS ADMISES":"N";
+A955:anomalie :"A":"955":"00":"NATCRP DIFFERENT DES VALEURS ADMISES":"N";
+A960:anomalie :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:anomalie :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:anomalie :"A":"961":"02":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96103:anomalie :"A":"961":"03":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17 ET 18)":"O";
+A96201:anomalie :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:anomalie :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:anomalie :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:anomalie :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:anomalie :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:anomalie :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2013, 2014 OU 2015":"N";
+A96303:anomalie :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:anomalie :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2013, 2014 OU 2015":"O";
+A96401:anomalie :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:anomalie :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:anomalie :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2012":"N";
+A96501:anomalie :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:anomalie :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:anomalie :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2012":"N";
+A966:anomalie :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A967:anomalie :"A":"967":"00":"PRESENCE LIGNE 9HI (ISF) DANS LA PERIODE AVANT DECES DU CONJOINT":"O";
+A98001:anomalie :"A":"980":"01":"BASE ISF 9HI <= 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:anomalie :"A":"980":"02":"BASE ISF 9HI >= 2 570 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A981:anomalie :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:anomalie :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:anomalie :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:anomalie :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:anomalie :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:anomalie :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:anomalie :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:anomalie :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+A99301:anomalie :"A":"993":"01":"ANNULATION 2042: RAMENER LES REVENUS A 0.":"N";
+A99302:anomalie :"A":"993":"02":"SUPPRESSION du code 9YA impossible, veuillez ressaisir une declaration":"N";
+AS0101:anomalie :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C":"N";
+AS0102:anomalie :"A":"S01":"02":"INCOMPATIBILITE ENTRE DATE DE MARIAGE AVEC OPTION B ET SITUATION M OU O":"N";
+AS0103:anomalie :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE MARIAGE SANS OPTION B ET SITUATION C, D OU V":"N";
+AS0104:anomalie :"A":"S01":"04":"INCOMPATIBILITE ENTRE DATE DE DIVORCE ET SITUATION M OU O":"N";
+AS0105:anomalie :"A":"S01":"05":"INCOMPATIBILITE ENTRE DATES DE DIVORCE ET DE DECES DU CJT ET SITUATION M":"N";
+AS0106:anomalie :"A":"S01":"06":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION D":"N";
+AS02:anomalie :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE":"N";
+AS11:anomalie :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE":"N";
+DD02:discordance :"D":"D02":"00":"VERIFIER LE CUMUL DE 7CF (CAPITAL PME) AVEC 7FN, 7GN ":"N";
+DD03:discordance :"D":"D03":"00":"MONTANT DES FRAIS RCM EXAGERE OU FRAIS AVEC REVENU LIGNE 2FU 2CH 2GO 2TR":"N";
+DD04:discordance :"D":"D04":"00":"MONTANT DU CREDIT D'IMPOT EXAGERE":"N";
+DD05:discordance :"D":"D05":"00":"LE REVENU IMPOSABLE EST < AU 1/5 E PAR RAPPORT A CELUI DE N-1":"N";
+DD06:discordance :"D":"D06":"00":"REPORT 7XF,7XI,7XP,7XN,7XM,7XJ,7XQ,7XV,7XO,7XK,7XR > 8333 E OU 16667 E ":"N";
+DD07:discordance :"D":"D07":"00":"LE MONTANT 7PZ, 7QZ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD08:discordance :"D":"D08":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+DD09:discordance :"D":"D09":"00":"CREDIT PRET ETUDIANT LIGNE 7TD DEJA OBTENU EN N-1":"N";
+DD10:discordance :"D":"D10":"00":"ENFANTS BENEFICIANT DE FRAIS DE GARDE > AU NOMBRE D'ENFANTS < 7 ANS":"N";
+DD11:discordance :"D":"D11":"00":"REGIME MICRO-FONCIER (4BE) AVEC DEFICITS FONCIERS ANTERIEURS (4BD)":"N";
+DD13:discordance :"D":"D13":"00":"SITUATION FORFAITAIRE A DENONCER SELON LES TERMES DE L'ARTICLE 69A2 DU CGI":"N";
+DD14:discordance :"D":"D14":"00":"LE MONTANT 2CG EST > AU TOTAL DES LIGNES 2DC + 2CH + 2TS + 2TR":"N";
+DD15:discordance :"D":"D15":"00":"LE MONTANT 7WP (REPORT 2011) EST > AU MONTANT CALCULE DE N-1":"N";
+DD16:discordance :"D":"D16":"00":"FRAIS D'ACCUEIL ET PERSONNE A CHARGE AVEC CARTE D'INVALIDITE":"N";
+DD17:discordance :"D":"D17":"00":"ACCROISSEMENT DU NOMBRE DE PARTS > 4 PAR RAPPORT A N-1":"N";
+DD18:discordance :"D":"D18":"00":"DEFICIT ANTERIEUR 6FA A 6FL INCOMPATIBLE AVEC REVENU IMPOSABLE EN N-1":"N";
+DD19:discordance :"D":"D19":"00":"NOMBRE LIGNE 7FG > NOMBRE DE RUBRIQUES ADMISES DU o5":"N";
+DD20:discordance :"D":"D20":"00":"DEFICIT AGRICOLE ANTERIEUR DECLARE (5QF A 5QQ) SANS DEFICIT EN N-1":"N";
+DD21:discordance :"D":"D21":"00":"SAISIE DE 7DF,7DB ET 7DG SANS INVALIDITE CADRE A (CODE PF) OU C (CODE G,I,R)":"N";
+DD22:discordance :"D":"D22":"00":"LE MONTANT DE CSG DEDUCTIBLE EST SUPERIEUR AU MONTANT N-1":"N";
+DD24:discordance :"D":"D24":"00":"MONTANT 4TQ 2012 > A 4TP 1999 - 4TQ 1999 A 4TQ 2011":"N";
+DD26:discordance :"D":"D26":"00":"REVENU OU DEFICIT FONCIER DECLARE (4BA A 4BD) SANS MONTANT EN N-1":"N";
+DD27:discordance :"D":"D27":"00":"LE MONTANT 7CL,7CM,7CN,7CQ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD28:discordance :"D":"D28":"00":"CREDIT 8WB DEJA OBTENU EN N-1 : 1SEUL CREDIT PAR ENTREPRISE":"N";
+DD29:discordance :"D":"D29":"00":"LE MONTANT 7XS,7XT,7XU,7XW,7XY (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD32:discordance :"D":"D32":"00":"CREDIT SALARIE A DOMICILE SANS REVENU D ACTIVITE : VERIFIEZ LA SITUATION":"N";
+DD34:discordance :"D":"D34":"00":"VERIFIER LE CUMUL 7FM AVEC 7FQ, 7GQ":"N";
+DD35:discordance :"D":"D35":"00":"CASE NOUVEAU RESIDENT LIGNE 6QW DEJA SAISIE EN N-1":"N";
+DD3601:discordance :"D":"D36":"01":"CASE 7WE COCHEE AVEC UN RFR 2010 SUPERIEUR A 30 000 E":"N";
+DD3602:discordance :"D":"D36":"02":"CASE 7WE COCHEE SANS RFR DE 2010":"N";
+DD37:discordance :"D":"D37":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+DD3801:discordance :"D":"D38":"01":"REGIME AUTO-ENTREPRENEUR AVEC RFR 2010 SUPERIEUR A LIMITE ADMISE":"N";
+DD3802:discordance :"D":"D38":"02":"REGIME AUTO-ENTREPRENEUR SANS RFR DE 2010":"N";
+DD39:discordance :"D":"D39":"00":"LE MONTANT 6 HJ, 6HK, 6HL (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD40:discordance :"D":"D40":"00":"LE MONTANT 7LA, 7LB, 7LE (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD41:discordance :"D":"D41":"00":"LE MONTANT 7IS, 7IU, 7IX (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD42:discordance :"D":"D42":"00":"LE MONTANT 7UU, 7TE, 7UV, 7TF, 7UW, 7TG (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD43:discordance :"D":"D43":"00":"LES MONTANTS REPORT INVEST. DOM ENTREPRISE SONT > AUX MONTANTS CALCULES DE N-1":"N";
+DD44:discordance :"D":"D44":"00":"LES MONTANTS REPORTS LOGEMENT SOCIAL SONT > AUX MONTANTS CALCULES DE N-1":"N";
+DD45:discordance :"D":"D45":"00":"REPORT 'SCELLIER'  > 33 333 E":"N";
+DD46:discordance :"D":"D46":"00":"REPORT LIGNE 7IP, 7IQ, 7IR, 7IK > 33 333 E":"N";
+DD48:discordance :"D":"D48":"00":"LE MONTANT 7LC, 7LD (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD49:discordance :"D":"D49":"00":"LE MONTANT 7IT, 7IH (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD50:discordance :"D":"D50":"00":"LE MONTANT 7KB, 7KC (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD52:discordance :"D":"D52":"00":"DEFICIT LOC. MEUB. NON PROF. DECLARE (5GA A 5GJ) > A DEFICIT CALCULE EN N-1":"N";
+DD53:discordance :"D":"D53":"00":"DEFICIT BIC NON PROF. DECLARE (5RN A 5RW) > A DEFICIT CALCULE EN N-1":"N";
+DD54:discordance :"D":"D54":"00":"CASE 7WG COCHEE AVEC LIGNES 7TT A 7TY,  7SD A 7SW SAISIES":"N";
+DD55:discordance :"D":"D
\ No newline at end of file
diff --git a/sources2012m_3_13/errI.m b/sources2012m_3_13/errI.m
new file mode 100644
index 0000000000000000000000000000000000000000..8050db8f0d6290224cc3892cf312157b5fdc748e
--- /dev/null
+++ b/sources2012m_3_13/errI.m
@@ -0,0 +1,349 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 12 Application iliad
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)":"N";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).":"N";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)":"N";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A00108:anomalie :"A":"001":"08":"MONTANT VARIABLE RESTITUEE SUPERIEUR A 8 CARACTERES":"N";
+A004:anomalie :"A":"004":"00":"CASE B COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A005:anomalie :"A":"005":"00":"CASE B NON COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION C, D OU V":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES E, G, N, W, L.":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES E, G, N, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, S.":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S.":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S.":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, E, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT OU DU CONJOINT EST INVRAISEMBLABLE":"N";
+A015:anomalie :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A01701:anomalie :"A":"017":"01":"CASE DC = D, UNE SEULE DATE PEUT ETRE SAISIE.":"N";
+A01702:anomalie :"A":"017":"02":"CASE DC=Z, INDIQUEZ M OU O DANS SITUATION ET DATE DECES CJT OU PACSE.":"N";
+A01703:anomalie :"A":"017":"03":"CASE DC = D. DATE MARIAGE OU PACS SAISIE. LA SITUATION DOIT ETRE M OU O.":"N";
+A01704:anomalie :"A":"017":"04":"CASE DC = D. DATE DIVORCE OU RUPTURE SAISIE. LA SITUATION DOIT ETRE D":"N";
+A01705:anomalie :"A":"017":"05":"CASE DC = D. DATE MARIAGE OU PACS SAISIE. LA SITUATION DOIT ETRE M OU O.":"N";
+A01706:anomalie :"A":"017":"06":"CASE DC = D. DATE DIVORCE OU RUPTURE SAISIE. LA SITUATION DOIT ETRE C,D,V":"N";
+A01707:anomalie :"A":"017":"07":"CASE DC = D. DATE DECES CJT SAISIE. LA SITUATION DE FAMILLE DOIT ETRE V OU M":"N";
+A018:anomalie :"A":"018":"00":"SITUATION NECESSITANT LA SAISIE DE LA CASE DC. ARRETEZ LA TRANSACTION.":"N";
+A019:anomalie :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A021:anomalie :"A":"021":"00":"ATTENTION DATES DE NAISSANCE PAC PRISES EN CHARGE SANS CODE 0CF, 0CH":"N";
+A022:anomalie :"A":"022":"00":"UN ENFANT NE EN 1994 EST A LA FOIS COMPTE A CHARGE ET RATTACHE: A VERIFIER":"N";
+A02301:anomalie :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:anomalie :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:anomalie :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENT DE 2012":"N";
+A02401:anomalie :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:anomalie :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:anomalie :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:anomalie :"A":"031":"00":"REV. OU CHARGE AU NOM DU CJT OU PARTEN. POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A041:anomalie :"A":"041":"00":"Code revenu 8VV, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A042:anomalie :"A":"042":"00":"Code revenu 8VW, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A043:anomalie :"A":"043":"00":"Revenus 8VV et 8VW saisis simultanement, supprimer un des deux codes":"N";
+A044:anomalie :"A":"044":"00":"Code revenu 8VX, saisir le code penalite 32":"N";
+A045:anomalie :"A":"045":"00":"Code penalite 32 accepte uniquement avec le code 8VX":"N";
+A046:anomalie :"A":"046":"00":"CODE REVENU 8WW, SAISIR LE CODE PENALITE 30":"N";
+A047:anomalie :"A":"047":"00":"CODE PENALITE 30 ACCEPTE UNIQUEMENT AVEC LE CODE REVENU 8WW":"N";
+A048:anomalie :"A":"048":"00":"CE CODE PENALITE NE S'APPLIQUE QU'AUX BIC, BNC,BA":"N";
+A078:anomalie :"A":"078":"00":"Code inoperant dans les applications ILIAD-IS et ILIAD-CTX":"N";
+A079:anomalie :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:anomalie :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A082:anomalie :"A":"082":"00":"LE CODE REGIME D IMPOSITION EST DIFFERENT DE 1,2 ou 4":"N";
+A083:anomalie :"A":"083":"00":"UTILISATION DU CODE 8ZA UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A085:anomalie :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:anomalie :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:anomalie :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:anomalie :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:anomalie :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:anomalie :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:anomalie :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:anomalie :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:anomalie :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:anomalie :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:anomalie :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:anomalie :"A":"096":"00":"CODES 8YO ET 8YI : UNIQUEMENT CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A098:anomalie :"A":"098":"00":"LIGNE 3SE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A13901:anomalie :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:anomalie :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:anomalie :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:anomalie :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:anomalie :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:anomalie :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:anomalie :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:anomalie :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:anomalie :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:anomalie :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A148:anomalie :"A":"148":"00":"SAISIE DU CODE 1LZ OU 1MZ SANS CODE 8ZK EN ABSENCE DE TAUX EFFECTIF":"N";
+A149:anomalie :"A":"149":"00":"CODE CREDIT D'IMPOT JEUNE NON ADMIS POUR CETTE SITUATION DE FAMILLE":"N";
+A150:anomalie :"A":"150":"00":"CODE CREDIT D'IMPOT JEUNE INCOMPATIBLE AVEC DEPART A L'ETRANGER (9YD).":"N";
+A153:anomalie :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A21801:anomalie :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:anomalie :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A220:anomalie :"A":"220":"00":"CREDIT D'IMPOT ( 2AB , 2BG ) EXAGERE : VERIFIEZ VOTRE SAISIE":"N";
+A222:anomalie :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR":"N";
+A22301:anomalie :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:anomalie :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A320:anomalie :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM, 3VT (PEA)":"N";
+A321:anomalie :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A32201:anomalie :"A":"322":"01":"MONTANT LIGNE 3VE POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A32202:anomalie :"A":"322":"02":"MONTANT LIGNE 3VV POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A323:anomalie :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A420:anomalie :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:anomalie :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:anomalie :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:anomalie :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:anomalie :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:anomalie :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:anomalie :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:anomalie :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:anomalie :"A":"538":"00":"REVENUS A IMPOSER AUX CONTRIBUTIONS SOCIALES SANS REVENU CORRESPONDANT":"N";
+A542:anomalie :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:anomalie :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:anomalie :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (VOUS,CJT)NE PEUT DEPASSER 28 282 EUROS":"N";
+A602:anomalie :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A603:anomalie :"A":"603":"00":"LES LIGNES 6PS, 6PT, 6PU SONT REMPLIES SANS MISE A JOUR DU PLAFOND":"N";
+A604:anomalie :"A":"604":"00":"MUTUALISATION DEMANDEE (6QR) SANS PLAFOND CORRESPONDANT POUR LES DEUX CONJOINTS":"N";
+A60501:anomalie :"A":"605":"01":"LE MONTANT 6 QS NE PEUT ETRE INFERIEUR AU MONTANT DE 1 SM":"N";
+A60502:anomalie :"A":"605":"02":"LE MONTANT 6 QT NE PEUT ETRE INFERIEUR AU MONTANT DE 1 DN":"N";
+A700:anomalie :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A701:anomalie :"A":"701":"00":"LE MONTANT PORTE LIGNE 7UE + 7VB NE PEUT DEPASSER 521 E":"N";
+A702:anomalie :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR":"N";
+A703:anomalie :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC VOUS ET CONJOINT NES AVANT 1979":"N";
+A704:anomalie :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A705:anomalie :"A":"705":"00":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A706:anomalie :"A":"706":"00":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70701:anomalie :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:anomalie :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:anomalie :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A709:anomalie :"A":"709":"00":"SAISIE DE PLUS D'UNE LIGNE : 7XC,7XF,7XI,7XP,7XN,7XL,7XJ,7XQ,7XV,7XM":"N";
+A710:anomalie :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:anomalie :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:anomalie :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:anomalie :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:anomalie :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:anomalie :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:anomalie :"A":"714":"00":"REPORT 2011 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2012 (7WO ET 7WN)":"N";
+A715:anomalie :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:anomalie :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:anomalie :"A":"717":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7JA A 7JR":"N";
+A71702:anomalie :"A":"717":"02":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71703:anomalie :"A":"717":"03":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HJ,7HK,7HN ET 7HO":"N";
+A71704:anomalie :"A":"717":"04":"INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:anomalie :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:anomalie :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A72001:anomalie :"A":"720":"01":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE M":"N";
+A72002:anomalie :"A":"720":"02":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE C":"N";
+A72003:anomalie :"A":"720":"03":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR C OU M AU LIEU DE R":"N";
+A721:anomalie :"A":"721":"00":"SENS P IMPOSSIBLE POUR UN CODE ABSENT DE LA 2042":"N";
+A72201:anomalie :"A":"722":"01":"LE MONTANT DU RAPPEL EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72202:anomalie :"A":"722":"02":"LE MONTANT DE LA MINO EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72203:anomalie :"A":"722":"03":"LE MONTANT DE LA CORRECTION EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72204:anomalie :"A":"722":"04":"LE MONTANT DE LA RECTIF EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72206:anomalie :"A":"722":"06":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72207:discordance :"D":"722":"07":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72301:anomalie :"A":"723":"01":"LE MONTANT DU C02 AVEC 2042_RECT EST SUPERIEUR A CELUI DU R02 AVEC INDICATEUR":"N";
+A72302:anomalie :"A":"723":"02":"ANNULATION OU MINORATION DE R02 ET 2042_RECT S'EFFECTUE AVEC C02 et 2042_RECT":"N";
+A724:anomalie :"A":"724":"00":"Majorations 80% apres 2 MED supprimees a compter du 01/01/2006":"N";
+A725:anomalie :"A":"725":"00":"PROCEDURE DE REGULARISATION INTERDITE EN CAS DE NON DEPOT OU DEPOT TARDIF":"N";
+A73001:anomalie :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE":"N";
+A73002:anomalie :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TF":"N";
+A73003:anomalie :"A":"730":"03":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UW ET 7TG":"N";
+A731:anomalie :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5":"N";
+A733:anomalie :"A":"733":"00":"LE CREDIT D IMPOT DE LA LIGNE 7SZ NE PEUT EXCEDER 20 000 E":"N";
+A73501:anomalie :"A":"735":"01":"CASE 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7TT A 7TY OU 7SD A 7SW":"N";
+A73502:anomalie :"A":"735":"02":"LES CASES 7WE ET 7WG NE PEUVENT ETRE SIMUTANEMENT COCHEES":"N";
+A73601:anomalie :"A":"736":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7ID, 7IE, 7IF ET 7IG":"N";
+A73602:anomalie :"A":"736":"02":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7IJ, 7IL, 7IN, 7IV":"N";
+A73603:anomalie :"A":"736":"03":"INCOMPATIBILITE ENTRE LIGNES 7IM ET 7IW":"N";
+A73701:anomalie :"A":"737":"01":"CASE 7 XD COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XC":"N";
+A73702:anomalie :"A":"737":"02":"CASE 7 XE COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XL":"N";
+A738:anomalie :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP":"N";
+A739:anomalie :"A":"739":"00":"CASE 7 QA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:anomalie :"A":"740":"01":"LE TOTAL LIGNES 7 PR + 7 PW NE PEUT ETRE SUPERIEUR A 300 000 E":"N";
+A74002:anomalie :"A":"740":"02":"LE MONTANT LIGNE 7 RI NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74003:anomalie :"A":"740":"03":"LE TOTAL LIGNES 7RO + 7RT + 7RY + 7NY NE PEUT ETRE SUPERIEUR A 229 500 E":"N";
+A74004:anomalie :"A":"740":"04":"LE TOTAL 7PR+7PW+7RI+7RO+7RT+7RY+7NY NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:anomalie :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A74201:anomalie :"A":"742":"01":"INCOMPATIBILITE ENTRE LIGNES 7HR ET 7HS":"N";
+A74202:anomalie :"A":"742":"02":"INCOMPATIBILITE ENTRE LIGNES 7HT ET 7HU":"N";
+A74203:anomalie :"A":"742":"03":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HV, 7HW, 7HX , 7HZ":"N";
+A74204:anomalie :"A":"742":"04":"INCOMPATIBILITE ENTRE LIGNES 7HD ET 7HE":"N";
+A74205:anomalie :"A":"742":"05":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HA , 7HB , 7HG , 7HH":"N";
+A743:anomalie :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:anomalie :"A":"744":"00":"LE MONTANT PORTE LIGNE 7WR NE PEUT DEPASSER 60 000 E":"N";
+A745:anomalie :"A":"745":"00":"INCOMPATIBILITE ENTRE LIGNES 7IP ET 7IQ":"N";
+A74601:anomalie :"A":"746":"01":"LE MONTANT LIGNE 7PR NE PEUT EXCEDER LE MONTANT LIGNE 7PQ":"N";
+A74602:anomalie :"A":"746":"02":"LE MONTANT LIGNE 7PW NE PEUT EXCEDER LE MONTANT LIGNE 7PV":"N";
+A74603:anomalie :"A":"746":"03":"LE MONTANT LIGNE 7RI NE PEUT EXCEDER LE MONTANT LIGNE 7RH":"N";
+A74604:anomalie :"A":"746":"04":"LE MONTANT LIGNE 7RO NE PEUT EXCEDER LE MONTANT LIGNE 7RN":"N";
+A74605:anomalie :"A":"746":"05":"LE MONTANT LIGNE 7RT NE PEUT EXCEDER LE MONTANT LIGNE 7RS":"N";
+A74606:anomalie :"A":"746":"06":"LE MONTANT LIGNE 7RY NE PEUT EXCEDER LE MONTANT LIGNE 7RX":"N";
+A74607:anomalie :"A":"746":"07":"LE MONTANT LIGNE 7NY NE PEUT EXCEDER LE MONTANT LIGNE 7NX":"N";
+A747:anomalie :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A74801:anomalie :"A":"748":"01":"CASE 7WH COCHEE SANS MONTANT LIGNE 7SD A 7ST ":"N";
+A74802:anomalie :"A":"748":"02":"CASE 7WK COCHEE SANS MONTANT LIGNE 7SD A 7SW ":"N";
+A74901:anomalie :"A":"749":"01":"CASE 7WF 7WQ 7WS COCHEE SANS MONTANT LIGNE 7SJ ET RECIPROQUEMENT":"N";
+A74902:anomalie :"A":"749":"02":"CASE 7WU 7WV COCHEE SANS MONTANT LIGNE 7SK ET RECIPROQUEMENT":"N";
+A74903:anomalie :"A":"749":"03":"CASE 7WW 7WX COCHEE SANS MONTANT LIGNE 7SL ET RECIPROQUEMENT":"N";
+A74904:anomalie :"A":"749":"04":"CASE 7WA 7WB COCHEE SANS MONTANT LIGNE 7SG ET RECIPROQUEMENT":"N";
+A74905:anomalie :"A":"749":"05":"CASE 7VE 7VF COCHEE SANS MONTANT LIGNE 7SH ET RECIPROQUEMENT":"N";
+A75001:anomalie :"A":"750":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7WF, 7WQ, 7WS":"N";
+A75002:anomalie :"A":"750":"02":"INCOMPATIBILITE ENTRE LES LIGNES 7WU ET 7WV":"N";
+A75003:anomalie :"A":"750":"03":"INCOMPATIBILITE ENTRE LES LIGNES 7WW ET 7WX":"N";
+A75004:anomalie :"A":"750":"04":"INCOMPATIBILITE ENTRE LES LIGNES 7WA ET 7WB":"N";
+A75005:anomalie :"A":"750":"05":"INCOMPATIBILITE ENTRE LES LIGNES 7VE ET 7VF":"N";
+A75101:anomalie :"A":"751":"01":"CASE 7WT COCHEE SANS MONTANT LIGNE 7SJ":"N";
+A75102:anomalie :"A":"751":"02":"CASE 7WC COCHEE SANS MONTANT LIGNE 7SG":"N";
+A75103:anomalie :"A":"751":"03":"CASE 7VG COCHEE SANS MONTANT LIGNE 7SH":"N";
+A752:anomalie :"A":"752":"00":"INCOMPATIBILITE ENTRE 7TT A 7TY ET 7SD A 7SW":"N";
+A760:anomalie :"A":"760":"00":"LE SENS DU RAPPEL SAISI N'APPARTIENT PAS AUX VALEURS POSSIBLES":"N";
+A770:anomalie :"A":"770":"00":"SI LE CODE RAPPEL EST P, LE CODE MAJO DOIT ETRE 07,08,10,11,17,18 ou 31":"N";
+A780:anomalie :"A":"780":"00":"MOIS OU ANNEE DE LA DATE DE NOTIFICATION INVRAISEMBLABLE":"N";
+A800:anomalie :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:anomalie :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:anomalie :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A80203:anomalie :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A804:anomalie :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:anomalie :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A807:anomalie :"A":"807":"00":"SAISIE CODE 8XT SANS LIGNE 1AT OU 1BT":"N";
+A821:anomalie :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A850:anomalie :"A":"850":"00":"SAISIE DU CODE 8ZG INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A851:anomalie :"A":"851":"00":"SAISIE DU CODE 8ZJ INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A852:anomalie :"A":"852":"00":"SAISIE DU CODE 8ZL INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A853:anomalie :"A":"853":"00":"SAISIE DU CODE 8ZS INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A854:anomalie :"A":"854":"00":"SAISIE DU CODE 8YV INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A855:anomalie :"A":"855":"00":"SAISIE DU CODE 8YW INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A859:anomalie :"A":"859":"00":"LA LIGNE 8WC EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A860:anomalie :"A":"860":"00":"LA LIGNE 8WV EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:anomalie :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A863:anomalie :"A":"863":"00":"LE CODE 8UX EST SAISI SANS REVENU AUTO-ENTREPRENEUR":"N";
+A86601:anomalie :"A":"866":"01":"CSG A 7,5% PROVISOIRE (8YD) >  CSG DUE":"N";
+A86602:anomalie :"A":"866":"02":"CSG A 7,5% PROVISOIRE (8YE) > CSG DUE":"N";
+A86603:anomalie :"A":"866":"03":"CSG A 6,6% PROVISOIRE (8YF) > CSG DUE":"N";
+A86604:anomalie :"A":"866":"04":"CSG A 6,2% PROVISOIRE (8YG) > CSG DUE":"N";
+A86605:anomalie :"A":"866":"05":"CSG A 3,8% PROVISOIRE (8YH) > CSG DUE":"N";
+A867:anomalie :"A":"867":"00":"CONTRIBUTION SALARIALE PROVISOIRE 8 % (8YP) > A CONTRIBUTION DUE":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A869:anomalie :"A":"869":"00":"CONTRIBUTION SALARIALE PROVISOIRE 2,5 % (8YV) > A CONTRIBUTION DUE":"N";
+A870:anomalie :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:anomalie :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:anomalie :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A87801:anomalie :"A":"878":"01":"SAISIE CODE 8XA SANS REVENU LIGNE 8TQ":"N";
+A87802:anomalie :"A":"878":"02":"SAISIE CODE 8XB SANS REVENU LIGNE 8TR":"N";
+A87803:anomalie :"A":"878":"03":"SAISIE CODE 8XC SANS REVENU LIGNE 8TV":"N";
+A87804:anomalie :"A":"878":"04":"SAISIE CODE 8XD SANS REVENU LIGNE 8TW":"N";
+A87805:anomalie :"A":"878":"05":"SAISIE CODE 8XE SANS REVENU LIGNE 8TX":"N";
+A879:anomalie :"A":"879":"00":"LA LIGNE 8TG, 8TS EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:anomalie :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:anomalie :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A88201:anomalie :"A":"882":"01":"LIGNE 8TI REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN OU INVERSEMENT":"N";
+A88202:anomalie :"A":"882":"02":"SAISIE DU CODE 8YC SANS PRISE EN CHARGE DE LA LIGNE 8TI":"N";
+A883:anomalie :"A":"883":"00":"LA LIGNE 8TK EST REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP, 8XQ OU 8XT":"N";
+A884:anomalie :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A885:anomalie :"A":"885":"00":"PRISE EN CHARGE DU CODE 8XP OU 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A886:anomalie :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR, 8XP OU 8XQ":"N";
+A887:anomalie :"A":"887":"00":"REVENU NET CODE 8XR SUPERIEUR AU MONTANT LIGNE 8TK":"N";
+A888:anomalie :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A889:anomalie :"A":"889":"00":"SAISIE CODE 8 FV SANS PRISE EN CHARGE DU CODE 8 ZK":"N";
+A890:anomalie :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:anomalie :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:anomalie :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:anomalie :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:anomalie :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:anomalie :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:anomalie :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:anomalie :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A950:anomalie :"A":"950":"00":"NATIMP OU PPENATREST DIFFERENT DES VALEURS ADMISES":"N";
+A951:anomalie :"A":"951":"00":"CODINI DIFFERENT DES VALEURS ADMISES":"N";
+A954:anomalie :"A":"954":"00":"NATIMPIR DIFFERENT DES VALEURS ADMISES":"N";
+A955:anomalie :"A":"955":"00":"NATCRP DIFFERENT DES VALEURS ADMISES":"N";
+A960:anomalie :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:anomalie :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:anomalie :"A":"961":"02":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96103:anomalie :"A":"961":"03":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17 ET 18)":"O";
+A96201:anomalie :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:anomalie :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:anomalie :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:anomalie :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:anomalie :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:anomalie :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2013, 2014 OU 2015":"N";
+A96303:anomalie :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:anomalie :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2013, 2014 OU 2015":"O";
+A96401:anomalie :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:anomalie :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:anomalie :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2012":"N";
+A96501:anomalie :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:anomalie :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:anomalie :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2012":"N";
+A966:anomalie :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A967:anomalie :"A":"967":"00":"PRESENCE LIGNE 9HI (ISF) DANS LA PERIODE AVANT DECES DU CONJOINT":"O";
+A96801:anomalie :"A":"968":"01":"CODE 9YT AVEC VALEUR A 0 ET 9YU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96802:anomalie :"A":"968":"02":"CODE 9YU AVEC VALEUR A 0 ET 9YT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96803:anomalie :"A":"968":"03":"CODE 9XT AVEC VALEUR A 0 ET 9XU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96804:anomalie :"A":"968":"04":"CODE 9XU AVEC VALEUR A 0 ET 9XT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96901:anomalie :"A":"969":"01":"R99 SUR LE CODE 9YT ET ABSENCE DE R99 SUR LE CODE 9YU DANS LE MEME EVT":"N";
+A96902:anomalie :"A":"969":"02":"R99 SUR LE CODE 9YU ET ABSENCE DE R99 SUR LE CODE 9YT DANS LE MEME EVT":"N";
+A96903:anomalie :"A":"969":"03":"R99 SUR LE CODE 9XT ET ABSENCE DE R99 SUR LE CODE 9XU DANS LE MEME EVT":"N";
+A96904:anomalie :"A":"969":"04":"R99 SUR LE CODE 9XU ET ABSENCE DE R99 SUR LE CODE 9XT DANS LE MEME EVT":"N";
+A970:anomalie :"A":"970":"00":"PRESENCE D'UN TAUX DE PENALITE POUR UNE MINORATION":"N";
+A971:anomalie :"A":"971":"00":"ABSENCE D'UN TAUX DE PENALITE POUR UN RAPPEL":"N";
+A98001:anomalie :"A":"980":"01":"BASE ISF 9HI <= 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:anomalie :"A":"980":"02":"BASE ISF 9HI >= 2 570 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A98003:anomalie :"A":"980":"03":"LA BASE ISF NE PEUT ETRE INFERIEURE OU EGALE A 1 300 000":"O";
+A98004:anomalie :"A":"980":"04":"LA BASE ISF, INFERIEURE OU EGALE A 1 300 000 E, EST DIFFERENTE DE 0 E":"O";
+A98005:anomalie :"A":"980":"05":"LA BASE ISF NE PEUT ETRE SUPERIEURE OU EGALE A 2 750 000 E":"O";
+A981:anomalie :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:anomalie :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:anomalie :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:anomalie :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:anomalie :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:anomalie :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:anomalie :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:anomalie :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+A990:anomalie :"A":"990":"00":" CODE 8VV INCOMPATIBLE AVEC REGIME VALEUR LOCATIVE":"N";
+A99301:anomalie :"A":"993":"01":"ANNULATION 2042: RAMENER LES REVENUS A 0.":"N";
+A99302:anomalie :"A":"993":"02":"SUPPRESSION du code 9YA impossible, veuillez ressaisir une declaration":"N";
+AS0101:anomalie :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C":"N";
+AS0102:anomalie :"A":"S01":"02":"INCOMPATIBILITE ENTRE DATE DE MARIAGE AVEC OPTION B ET SITUATION M OU O":"N";
+AS0103:anomalie :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE MARIAGE SANS OPTION B ET SITUATION C, D OU V":"N";
+AS0104:anomalie :"A":"S01":"04":"INCOMPATIBILITE ENTRE DATE DE DIVORCE ET SITUATION M OU O":"N";
+AS0105:anomalie :"A":"S01":"05":"INCOMPATIBILITE ENTRE DATES DE DIVORCE ET DE DECES DU CJT ET SITUATION M":"N";
+AS0106:anomalie :"A":"S01":"06":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION D":"N";
+AS02:anomalie :"A":"S02":"00":"
\ No newline at end of file
diff --git a/sources2012m_3_13/errO.m b/sources2012m_3_13/errO.m
new file mode 100644
index 0000000000000000000000000000000000000000..5b4784caaf7136001bc2cb1f19246334d1340cf0
--- /dev/null
+++ b/sources2012m_3_13/errO.m
@@ -0,0 +1,341 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 12 Application oceans
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)":"N";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).":"N";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)":"N";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A00108:anomalie :"A":"001":"08":"MONTANT VARIABLE RESTITUEE SUPERIEUR A 8 CARACTERES":"N";
+A004:anomalie :"A":"004":"00":"CASE B COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A005:anomalie :"A":"005":"00":"CASE B NON COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION C, D OU V":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES E, G, N, W, L.":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES E, G, N, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, S.":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S.":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S.":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, E, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT OU DU CONJOINT EST INVRAISEMBLABLE":"N";
+A015:discordance :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A019:anomalie :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A02301:discordance :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:discordance :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:discordance :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENT DE 2012":"N";
+A02401:discordance :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:discordance :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:discordance :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:discordance :"A":"031":"00":"REV. OU CHARGE AU NOM DU CJT OU PARTEN. POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A041:anomalie :"A":"041":"00":"Code revenu 8VV, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A042:anomalie :"A":"042":"00":"Code revenu 8VW, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A043:anomalie :"A":"043":"00":"Revenus 8VV et 8VW saisis simultanement, supprimer un des deux codes":"N";
+A044:anomalie :"A":"044":"00":"Code revenu 8VX, saisir le code penalite 32":"N";
+A045:anomalie :"A":"045":"00":"Code penalite 32 accepte uniquement avec le code 8VX":"N";
+A046:discordance :"A":"046":"00":"CODE REVENU 8WW, SAISIR LE CODE PENALITE 30":"N";
+A047:discordance :"A":"047":"00":"CODE PENALITE 30 ACCEPTE UNIQUEMENT AVEC LE CODE REVENU 8WW":"N";
+A048:discordance :"A":"048":"00":"CE CODE PENALITE NE S'APPLIQUE QU'AUX BIC, BNC,BA":"N";
+A078:anomalie :"A":"078":"00":"Code inoperant dans les applications ILIAD-IS et ILIAD-CTX":"N";
+A079:discordance :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:discordance :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A085:discordance :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:discordance :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:discordance :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:discordance :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:discordance :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:discordance :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:discordance :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:discordance :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:discordance :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:discordance :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:discordance :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:discordance :"A":"096":"00":"CODES 8YO ET 8YI : UNIQUEMENT CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A098:anomalie :"A":"098":"00":"LIGNE 3SE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A13901:discordance :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:discordance :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:discordance :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:discordance :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:discordance :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:discordance :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:discordance :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:discordance :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:discordance :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:discordance :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A148:discordance :"A":"148":"00":"SAISIE DU CODE 1LZ OU 1MZ SANS CODE 8ZK EN ABSENCE DE TAUX EFFECTIF":"N";
+A149:anomalie :"A":"149":"00":"CODE CREDIT D'IMPOT JEUNE NON ADMIS POUR CETTE SITUATION DE FAMILLE":"N";
+A150:anomalie :"A":"150":"00":"CODE CREDIT D'IMPOT JEUNE INCOMPATIBLE AVEC DEPART A L'ETRANGER (9YD).":"N";
+A153:discordance :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A21801:discordance :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:discordance :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A222:discordance :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR":"N";
+A22301:discordance :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:discordance :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A320:discordance :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM, 3VT (PEA)":"N";
+A321:discordance :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A32201:discordance :"A":"322":"01":"MONTANT LIGNE 3VE POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A32202:discordance :"A":"322":"02":"MONTANT LIGNE 3VV POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A323:discordance :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A420:discordance :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:discordance :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:discordance :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:discordance :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:discordance :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:discordance :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:discordance :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:discordance :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:discordance :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:discordance :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:discordance :"A":"538":"00":"REVENUS A IMPOSER AUX CONTRIBUTIONS SOCIALES SANS REVENU CORRESPONDANT":"N";
+A542:discordance :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:discordance :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:discordance :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (VOUS,CJT)NE PEUT DEPASSER 28 282 EUROS":"N";
+A602:discordance :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A603:discordance :"A":"603":"00":"LES LIGNES 6PS, 6PT, 6PU SONT REMPLIES SANS MISE A JOUR DU PLAFOND":"N";
+A700:discordance :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A701:discordance :"A":"701":"00":"LE MONTANT PORTE LIGNE 7UE + 7VB NE PEUT DEPASSER 521 E":"N";
+A702:discordance :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR":"N";
+A703:discordance :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC VOUS ET CONJOINT NES AVANT 1979":"N";
+A704:discordance :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A705:discordance :"A":"705":"00":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A706:discordance :"A":"706":"00":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70701:discordance :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:discordance :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:discordance :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A709:discordance :"A":"709":"00":"SAISIE DE PLUS D'UNE LIGNE : 7XC,7XF,7XI,7XP,7XN,7XL,7XJ,7XQ,7XV,7XM":"N";
+A710:discordance :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:discordance :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:discordance :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:discordance :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:discordance :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:discordance :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:discordance :"A":"714":"00":"REPORT 2011 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2012 (7WO ET 7WN)":"N";
+A715:discordance :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:discordance :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:discordance :"A":"717":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7JA A 7JR":"N";
+A71702:discordance :"A":"717":"02":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71703:discordance :"A":"717":"03":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HJ,7HK,7HN ET 7HO":"N";
+A71704:discordance :"A":"717":"04":"INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:discordance :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:discordance :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A72001:anomalie :"A":"720":"01":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE M":"N";
+A72002:anomalie :"A":"720":"02":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE C":"N";
+A72003:anomalie :"A":"720":"03":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR C OU M AU LIEU DE R":"N";
+A721:anomalie :"A":"721":"00":"SENS P IMPOSSIBLE POUR UN CODE ABSENT DE LA 2042":"N";
+A72201:anomalie :"A":"722":"01":"LE MONTANT DU RAPPEL EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72202:anomalie :"A":"722":"02":"LE MONTANT DE LA MINO EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72203:anomalie :"A":"722":"03":"LE MONTANT DE LA CORRECTION EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72204:anomalie :"A":"722":"04":"LE MONTANT DE LA RECTIF EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72206:anomalie :"A":"722":"06":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72207:discordance :"D":"722":"07":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72301:anomalie :"A":"723":"01":"LE MONTANT DU C02 AVEC 2042_RECT EST SUPERIEUR A CELUI DU R02 AVEC INDICATEUR":"N";
+A72302:anomalie :"A":"723":"02":"ANNULATION OU MINORATION DE R02 ET 2042_RECT S'EFFECTUE AVEC C02 et 2042_RECT":"N";
+A724:anomalie :"A":"724":"00":"Majorations 80% apres 2 MED supprimees a compter du 01/01/2006":"N";
+A725:anomalie :"A":"725":"00":"PROCEDURE DE REGULARISATION INTERDITE EN CAS DE NON DEPOT OU DEPOT TARDIF":"N";
+A73001:discordance :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE":"N";
+A73002:discordance :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TF":"N";
+A73003:discordance :"A":"730":"03":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UW ET 7TG":"N";
+A731:discordance :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5":"N";
+A733:discordance :"A":"733":"00":"LE CREDIT D IMPOT DE LA LIGNE 7SZ NE PEUT EXCEDER 20 000 E":"N";
+A73501:discordance :"A":"735":"01":"CASE 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7TT A 7TY OU 7SD A 7SW":"N";
+A73502:discordance :"A":"735":"02":"LES CASES 7WE ET 7WG NE PEUVENT ETRE SIMUTANEMENT COCHEES":"N";
+A73601:discordance :"A":"736":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7ID, 7IE, 7IF ET 7IG":"N";
+A73602:discordance :"A":"736":"02":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7IJ, 7IL, 7IN, 7IV":"N";
+A73603:discordance :"A":"736":"03":"INCOMPATIBILITE ENTRE LIGNES 7IM ET 7IW":"N";
+A73701:discordance :"A":"737":"01":"CASE 7 XD COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XC":"N";
+A73702:discordance :"A":"737":"02":"CASE 7 XE COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XL":"N";
+A738:discordance :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP":"N";
+A739:discordance :"A":"739":"00":"CASE 7 QA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:discordance :"A":"740":"01":"LE TOTAL LIGNES 7 PR + 7 PW NE PEUT ETRE SUPERIEUR A 300 000 E":"N";
+A74002:discordance :"A":"740":"02":"LE MONTANT LIGNE 7 RI NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74003:discordance :"A":"740":"03":"LE TOTAL LIGNES 7RO + 7RT + 7RY + 7NY NE PEUT ETRE SUPERIEUR A 229 500 E":"N";
+A74004:discordance :"A":"740":"04":"LE TOTAL 7PR+7PW+7RI+7RO+7RT+7RY+7NY NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:discordance :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A74201:discordance :"A":"742":"01":"INCOMPATIBILITE ENTRE LIGNES 7HR ET 7HS":"N";
+A74202:discordance :"A":"742":"02":"INCOMPATIBILITE ENTRE LIGNES 7HT ET 7HU":"N";
+A74203:discordance :"A":"742":"03":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HV, 7HW, 7HX , 7HZ":"N";
+A74204:discordance :"A":"742":"04":"INCOMPATIBILITE ENTRE LIGNES 7HD ET 7HE":"N";
+A74205:discordance :"A":"742":"05":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HA , 7HB , 7HG , 7HH":"N";
+A743:discordance :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:discordance :"A":"744":"00":"LE MONTANT PORTE LIGNE 7WR NE PEUT DEPASSER 60 000 E":"N";
+A745:discordance :"A":"745":"00":"INCOMPATIBILITE ENTRE LIGNES 7IP ET 7IQ":"N";
+A74601:discordance :"A":"746":"01":"LE MONTANT LIGNE 7PR NE PEUT EXCEDER LE MONTANT LIGNE 7PQ":"N";
+A74602:discordance :"A":"746":"02":"LE MONTANT LIGNE 7PW NE PEUT EXCEDER LE MONTANT LIGNE 7PV":"N";
+A74603:discordance :"A":"746":"03":"LE MONTANT LIGNE 7RI NE PEUT EXCEDER LE MONTANT LIGNE 7RH":"N";
+A74604:discordance :"A":"746":"04":"LE MONTANT LIGNE 7RO NE PEUT EXCEDER LE MONTANT LIGNE 7RN":"N";
+A74605:discordance :"A":"746":"05":"LE MONTANT LIGNE 7RT NE PEUT EXCEDER LE MONTANT LIGNE 7RS":"N";
+A74606:discordance :"A":"746":"06":"LE MONTANT LIGNE 7RY NE PEUT EXCEDER LE MONTANT LIGNE 7RX":"N";
+A74607:discordance :"A":"746":"07":"LE MONTANT LIGNE 7NY NE PEUT EXCEDER LE MONTANT LIGNE 7NX":"N";
+A747:discordance :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A74801:discordance :"A":"748":"01":"CASE 7WH COCHEE SANS MONTANT LIGNE 7SD A 7ST ":"N";
+A74802:discordance :"A":"748":"02":"CASE 7WK COCHEE SANS MONTANT LIGNE 7SD A 7SW ":"N";
+A74901:discordance :"A":"749":"01":"CASE 7WF 7WQ 7WS COCHEE SANS MONTANT LIGNE 7SJ ET RECIPROQUEMENT":"N";
+A74902:discordance :"A":"749":"02":"CASE 7WU 7WV COCHEE SANS MONTANT LIGNE 7SK ET RECIPROQUEMENT":"N";
+A74903:discordance :"A":"749":"03":"CASE 7WW 7WX COCHEE SANS MONTANT LIGNE 7SL ET RECIPROQUEMENT":"N";
+A74904:discordance :"A":"749":"04":"CASE 7WA 7WB COCHEE SANS MONTANT LIGNE 7SG ET RECIPROQUEMENT":"N";
+A74905:discordance :"A":"749":"05":"CASE 7VE 7VF COCHEE SANS MONTANT LIGNE 7SH ET RECIPROQUEMENT":"N";
+A75001:discordance :"A":"750":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7WF, 7WQ, 7WS":"N";
+A75002:discordance :"A":"750":"02":"INCOMPATIBILITE ENTRE LES LIGNES 7WU ET 7WV":"N";
+A75003:discordance :"A":"750":"03":"INCOMPATIBILITE ENTRE LES LIGNES 7WW ET 7WX":"N";
+A75004:discordance :"A":"750":"04":"INCOMPATIBILITE ENTRE LES LIGNES 7WA ET 7WB":"N";
+A75005:discordance :"A":"750":"05":"INCOMPATIBILITE ENTRE LES LIGNES 7VE ET 7VF":"N";
+A75101:discordance :"A":"751":"01":"CASE 7WT COCHEE SANS MONTANT LIGNE 7SJ":"N";
+A75102:discordance :"A":"751":"02":"CASE 7WC COCHEE SANS MONTANT LIGNE 7SG":"N";
+A75103:discordance :"A":"751":"03":"CASE 7VG COCHEE SANS MONTANT LIGNE 7SH":"N";
+A752:discordance :"A":"752":"00":"INCOMPATIBILITE ENTRE 7TT A 7TY ET 7SD A 7SW":"N";
+A760:discordance :"A":"760":"00":"LE SENS DU RAPPEL SAISI N'APPARTIENT PAS AUX VALEURS POSSIBLES":"N";
+A770:discordance :"A":"770":"00":"SI LE CODE RAPPEL EST P, LE CODE MAJO DOIT ETRE 07,08,10,11,17,18 ou 31":"N";
+A780:discordance :"A":"780":"00":"MOIS OU ANNEE DE LA DATE DE NOTIFICATION INVRAISEMBLABLE":"N";
+A800:discordance :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:discordance :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:discordance :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A80203:discordance :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A804:discordance :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:discordance :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A807:discordance :"A":"807":"00":"SAISIE CODE 8XT SANS LIGNE 1AT OU 1BT":"N";
+A821:discordance :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A854:anomalie :"A":"854":"00":"SAISIE DU CODE 8YV INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A855:anomalie :"A":"855":"00":"SAISIE DU CODE 8YW INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A859:discordance :"A":"859":"00":"LA LIGNE 8WC EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A860:discordance :"A":"860":"00":"LA LIGNE 8WV EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:discordance :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A863:anomalie :"A":"863":"00":"LE CODE 8UX EST SAISI SANS REVENU AUTO-ENTREPRENEUR":"N";
+A86601:discordance :"A":"866":"01":"CSG A 7,5% PROVISOIRE (8YD) >  CSG DUE":"N";
+A86602:discordance :"A":"866":"02":"CSG A 7,5% PROVISOIRE (8YE) > CSG DUE":"N";
+A86603:discordance :"A":"866":"03":"CSG A 6,6% PROVISOIRE (8YF) > CSG DUE":"N";
+A86604:discordance :"A":"866":"04":"CSG A 6,2% PROVISOIRE (8YG) > CSG DUE":"N";
+A86605:discordance :"A":"866":"05":"CSG A 3,8% PROVISOIRE (8YH) > CSG DUE":"N";
+A867:anomalie :"A":"867":"00":"CONTRIBUTION SALARIALE PROVISOIRE 8 % (8YP) > A CONTRIBUTION DUE":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A869:anomalie :"A":"869":"00":"CONTRIBUTION SALARIALE PROVISOIRE 2,5 % (8YV) > A CONTRIBUTION DUE":"N";
+A870:discordance :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:discordance :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:discordance :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A87801:discordance :"A":"878":"01":"SAISIE CODE 8XA SANS REVENU LIGNE 8TQ":"N";
+A87802:discordance :"A":"878":"02":"SAISIE CODE 8XB SANS REVENU LIGNE 8TR":"N";
+A87803:discordance :"A":"878":"03":"SAISIE CODE 8XC SANS REVENU LIGNE 8TV":"N";
+A87804:discordance :"A":"878":"04":"SAISIE CODE 8XD SANS REVENU LIGNE 8TW":"N";
+A87805:discordance :"A":"878":"05":"SAISIE CODE 8XE SANS REVENU LIGNE 8TX":"N";
+A879:discordance :"A":"879":"00":"LA LIGNE 8TG, 8TS EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:discordance :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:discordance :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A88201:discordance :"A":"882":"01":"LIGNE 8TI REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN OU INVERSEMENT":"N";
+A88202:discordance :"A":"882":"02":"SAISIE DU CODE 8YC SANS PRISE EN CHARGE DE LA LIGNE 8TI":"N";
+A883:discordance :"A":"883":"00":"LA LIGNE 8TK EST REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP, 8XQ OU 8XT":"N";
+A884:discordance :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A885:discordance :"A":"885":"00":"PRISE EN CHARGE DU CODE 8XP OU 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A886:discordance :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR, 8XP OU 8XQ":"N";
+A888:discordance :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A890:discordance :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:discordance :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:discordance :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:discordance :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:discordance :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:discordance :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:discordance :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:discordance :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A950:discordance :"A":"950":"00":"NATIMP OU PPENATREST DIFFERENT DES VALEURS ADMISES":"N";
+A951:discordance :"A":"951":"00":"CODINI DIFFERENT DES VALEURS ADMISES":"N";
+A954:discordance :"A":"954":"00":"NATIMPIR DIFFERENT DES VALEURS ADMISES":"N";
+A955:discordance :"A":"955":"00":"NATCRP DIFFERENT DES VALEURS ADMISES":"N";
+A960:discordance :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:discordance :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:discordance :"A":"961":"02":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96103:discordance :"A":"961":"03":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17 ET 18)":"O";
+A96201:discordance :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:discordance :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:discordance :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:discordance :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:discordance :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:discordance :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2013, 2014 OU 2015":"N";
+A96303:discordance :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:discordance :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2013, 2014 OU 2015":"O";
+A96401:discordance :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:discordance :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:discordance :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2012":"N";
+A96501:discordance :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:discordance :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:discordance :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2012":"N";
+A966:discordance :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A96801:anomalie :"A":"968":"01":"CODE 9YT AVEC VALEUR A 0 ET 9YU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96802:anomalie :"A":"968":"02":"CODE 9YU AVEC VALEUR A 0 ET 9YT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96803:anomalie :"A":"968":"03":"CODE 9XT AVEC VALEUR A 0 ET 9XU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96804:anomalie :"A":"968":"04":"CODE 9XU AVEC VALEUR A 0 ET 9XT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96901:anomalie :"A":"969":"01":"R99 SUR LE CODE 9YT ET ABSENCE DE R99 SUR LE CODE 9YU DANS LE MEME EVT":"N";
+A96902:anomalie :"A":"969":"02":"R99 SUR LE CODE 9YU ET ABSENCE DE R99 SUR LE CODE 9YT DANS LE MEME EVT":"N";
+A96903:anomalie :"A":"969":"03":"R99 SUR LE CODE 9XT ET ABSENCE DE R99 SUR LE CODE 9XU DANS LE MEME EVT":"N";
+A96904:anomalie :"A":"969":"04":"R99 SUR LE CODE 9XU ET ABSENCE DE R99 SUR LE CODE 9XT DANS LE MEME EVT":"N";
+A970:anomalie :"A":"970":"00":"PRESENCE D'UN TAUX DE PENALITE POUR UNE MINORATION":"N";
+A971:anomalie :"A":"971":"00":"ABSENCE D'UN TAUX DE PENALITE POUR UN RAPPEL":"N";
+A98001:discordance :"A":"980":"01":"BASE ISF 9HI <= 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:discordance :"A":"980":"02":"BASE ISF 9HI >= 2 570 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A98003:discordance :"A":"980":"03":"LA BASE ISF NE PEUT ETRE INFERIEURE OU EGALE A 1 300 000":"O";
+A98004:discordance :"A":"980":"04":"LA BASE ISF, INFERIEURE OU EGALE A 1 300 000 E, EST DIFFERENTE DE 0 E":"O";
+A98005:discordance :"A":"980":"05":"LA BASE ISF NE PEUT ETRE SUPERIEURE OU EGALE A 2 750 000 E":"O";
+A981:discordance :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:discordance :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:discordance :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:discordance :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:discordance :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:discordance :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:discordance :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:discordance :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+A990:discordance :"A":"990":"00":" CODE 8VV INCOMPATIBLE AVEC REGIME VALEUR LOCATIVE":"N";
+A99301:anomalie :"A":"993":"01":"ANNULATION 2042: RAMENER LES REVENUS A 0.":"N";
+A99302:anomalie :"A":"993":"02":"SUPPRESSION du code 9YA impossible, veuillez ressaisir une declaration":"N";
+AS0101:discordance :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C":"N";
+AS0102:discordance :"A":"S01":"02":"INCOMPATIBILITE ENTRE DATE DE MARIAGE AVEC OPTION B ET SITUATION M OU O":"N";
+AS0103:discordance :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE MARIAGE SANS OPTION B ET SITUATION C, D OU V":"N";
+AS0104:discordance :"A":"S01":"04":"INCOMPATIBILITE ENTRE DATE DE DIVORCE ET SITUATION M OU O":"N";
+AS0105:discordance :"A":"S01":"05":"INCOMPATIBILITE ENTRE DATES DE DIVORCE ET DE DECES DU CJT ET SITUATION M":"N";
+AS0106:discordance :"A":"S01":"06":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION D":"N";
+AS02:discordance :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE":"N";
+AS11:discordance :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE":"N";
+DD55:discordance :"D":"D55":"00":"LES LIGNES 8TR, 8TQ, 8TV, 8TW, 8TX SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+DD57:discordance :"D":"D57":"00":"LE MONTANT 7LF (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD58:discordance :"D":"D58":"00":"LE MONTANT 7IZ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD5901:discordance :"D":"D59":"01":"GAINS PORTES LIGNE 3VS SANS GAINS LIGNE 3VI, 3VJ":"N";
+DD5902:discordance :"D":"D59":"02":"GAINS PORTES LIGNE 3SS SANS GAINS LIGNE 3SI, 3VK":"N";
+DD6001:discordance :"D":"D60":"01":"GAINS PORTES LIGNE 3VO SANS GAINS LIGNE 3VD, 3VI, 3VF, 3VJ":"N";
+DD6002:discordance :"D":"D60":"02":"GAINS PORTES LIGNE 3SO SANS GAINS LIGNE 3SD, 3SI, 3SF, 3VK":"N";
+DD6101:discordance :"D":"D61":"01":"GAINS PORTES LIGNE 3VN SANS GAINS LIGNE 3VD, 3VI, 3VF, 3VJ":"N";
+DD6102:discordance :"D":"D61":"02":"GAINS PORTES LIGNE 3SN SANS GAINS LIGNE 3SD, 3SI, 3SF, 3VK":"N";
+DD62:discordance :"D":"D62":"00":"CASE 7WH COCHEE SANS DEPENSES AVEC BOUQUET DE TRAVAUX":"N";
+DD63:discordance :"D":"D63":"00":"MONTANT 8ZR (RNI MONDIAL) INFERIEUR A REVENU IMPOSABLE":"N";
+I015:informative :"I":"015":"00":"LE MONTANT 2AA,2AL,2AM,2AN,2AQ,2AR (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+IM1101:informative :"I":"M11":"01":" NB DE P.A.C. CODE F DIFFERENT NB DATES DE NAISSANCE":"N";
+IM41:informative :"I":"M41":"00":"ANNULATION OU MINORATION DE R02 ET 2042_RECT S'EFFECTUE AVEC C02 et 2042_RECT":"N";
diff --git a/sources2012m_3_13/errP.m b/sources2012m_3_13/errP.m
new file mode 100644
index 0000000000000000000000000000000000000000..375b6d8dfde6c9a40435a6cb99566884de4d7480
--- /dev/null
+++ b/sources2012m_3_13/errP.m
@@ -0,0 +1,350 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 12 Application pro
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)":"N";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).":"N";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)":"N";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A00108:anomalie :"A":"001":"08":"MONTANT VARIABLE RESTITUEE SUPERIEUR A 8 CARACTERES":"N";
+A004:anomalie :"A":"004":"00":"CASE B COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A005:anomalie :"A":"005":"00":"CASE B NON COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION C, D OU V":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES E, G, N, W, L.":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES E, G, N, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, S.":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S.":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S.":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, E, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT OU DU CONJOINT EST INVRAISEMBLABLE":"N";
+A015:discordance :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A019:discordance :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A021:anomalie :"A":"021":"00":"ATTENTION DATES DE NAISSANCE PAC PRISES EN CHARGE SANS CODE 0CF, 0CH":"N";
+A02301:anomalie :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:anomalie :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:anomalie :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENT DE 2012":"N";
+A02401:anomalie :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:anomalie :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:anomalie :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:anomalie :"A":"031":"00":"REV. OU CHARGE AU NOM DU CJT OU PARTEN. POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A078:anomalie :"A":"078":"00":"Code inoperant dans les applications ILIAD-IS et ILIAD-CTX":"N";
+A079:anomalie :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:anomalie :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A082:anomalie :"A":"082":"00":"LE CODE REGIME D IMPOSITION EST DIFFERENT DE 1,2 ou 4":"N";
+A083:anomalie :"A":"083":"00":"UTILISATION DU CODE 8ZA UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A085:anomalie :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:anomalie :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:anomalie :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:anomalie :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:anomalie :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:anomalie :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:anomalie :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:anomalie :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:anomalie :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:anomalie :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:anomalie :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:anomalie :"A":"096":"00":"CODES 8YO ET 8YI : UNIQUEMENT CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A098:anomalie :"A":"098":"00":"LIGNE 3SE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A13901:anomalie :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:anomalie :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:anomalie :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:anomalie :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:anomalie :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:anomalie :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:anomalie :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:anomalie :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:anomalie :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:anomalie :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A148:anomalie :"A":"148":"00":"SAISIE DU CODE 1LZ OU 1MZ SANS CODE 8ZK EN ABSENCE DE TAUX EFFECTIF":"N";
+A149:anomalie :"A":"149":"00":"CODE CREDIT D'IMPOT JEUNE NON ADMIS POUR CETTE SITUATION DE FAMILLE":"N";
+A150:anomalie :"A":"150":"00":"CODE CREDIT D'IMPOT JEUNE INCOMPATIBLE AVEC DEPART A L'ETRANGER (9YD).":"N";
+A153:anomalie :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A21801:anomalie :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:anomalie :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A222:anomalie :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR":"N";
+A22301:anomalie :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:anomalie :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A320:anomalie :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM, 3VT (PEA)":"N";
+A321:anomalie :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A32201:anomalie :"A":"322":"01":"MONTANT LIGNE 3VE POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A32202:anomalie :"A":"322":"02":"MONTANT LIGNE 3VV POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A323:anomalie :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A420:anomalie :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:anomalie :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:anomalie :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:anomalie :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:anomalie :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:anomalie :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:anomalie :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:anomalie :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:anomalie :"A":"538":"00":"REVENUS A IMPOSER AUX CONTRIBUTIONS SOCIALES SANS REVENU CORRESPONDANT":"N";
+A542:anomalie :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:anomalie :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:anomalie :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (VOUS,CJT)NE PEUT DEPASSER 28 282 EUROS":"N";
+A602:anomalie :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A604:anomalie :"A":"604":"00":"MUTUALISATION DEMANDEE (6QR) SANS PLAFOND CORRESPONDANT POUR LES DEUX CONJOINTS":"N";
+A60501:anomalie :"A":"605":"01":"LE MONTANT 6 QS NE PEUT ETRE INFERIEUR AU MONTANT DE 1 SM":"N";
+A60502:anomalie :"A":"605":"02":"LE MONTANT 6 QT NE PEUT ETRE INFERIEUR AU MONTANT DE 1 DN":"N";
+A700:anomalie :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A701:anomalie :"A":"701":"00":"LE MONTANT PORTE LIGNE 7UE + 7VB NE PEUT DEPASSER 521 E":"N";
+A702:anomalie :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR":"N";
+A703:anomalie :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC VOUS ET CONJOINT NES AVANT 1979":"N";
+A704:anomalie :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A705:anomalie :"A":"705":"00":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A706:anomalie :"A":"706":"00":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70701:anomalie :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:anomalie :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:anomalie :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A709:anomalie :"A":"709":"00":"SAISIE DE PLUS D'UNE LIGNE : 7XC,7XF,7XI,7XP,7XN,7XL,7XJ,7XQ,7XV,7XM":"N";
+A710:anomalie :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:anomalie :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:anomalie :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:anomalie :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:anomalie :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:anomalie :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:anomalie :"A":"714":"00":"REPORT 2011 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2012 (7WO ET 7WN)":"N";
+A715:anomalie :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:anomalie :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:anomalie :"A":"717":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7JA A 7JR":"N";
+A71702:anomalie :"A":"717":"02":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71703:anomalie :"A":"717":"03":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HJ,7HK,7HN ET 7HO":"N";
+A71704:anomalie :"A":"717":"04":"INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:anomalie :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:anomalie :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A73001:anomalie :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE":"N";
+A73002:anomalie :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TF":"N";
+A73003:anomalie :"A":"730":"03":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UW ET 7TG":"N";
+A731:anomalie :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5":"N";
+A733:anomalie :"A":"733":"00":"LE CREDIT D IMPOT DE LA LIGNE 7SZ NE PEUT EXCEDER 20 000 E":"N";
+A73501:anomalie :"A":"735":"01":"CASE 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7TT A 7TY OU 7SD A 7SW":"N";
+A73502:anomalie :"A":"735":"02":"LES CASES 7WE ET 7WG NE PEUVENT ETRE SIMUTANEMENT COCHEES":"N";
+A73601:anomalie :"A":"736":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7ID, 7IE, 7IF ET 7IG":"N";
+A73602:anomalie :"A":"736":"02":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7IJ, 7IL, 7IN, 7IV":"N";
+A73603:anomalie :"A":"736":"03":"INCOMPATIBILITE ENTRE LIGNES 7IM ET 7IW":"N";
+A73701:anomalie :"A":"737":"01":"CASE 7 XD COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XC":"N";
+A73702:anomalie :"A":"737":"02":"CASE 7 XE COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 XL":"N";
+A738:anomalie :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP":"N";
+A739:anomalie :"A":"739":"00":"CASE 7 QA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:anomalie :"A":"740":"01":"LE TOTAL LIGNES 7 PR + 7 PW NE PEUT ETRE SUPERIEUR A 300 000 E":"N";
+A74002:anomalie :"A":"740":"02":"LE MONTANT LIGNE 7 RI NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74003:anomalie :"A":"740":"03":"LE TOTAL LIGNES 7RO + 7RT + 7RY + 7NY NE PEUT ETRE SUPERIEUR A 229 500 E":"N";
+A74004:anomalie :"A":"740":"04":"LE TOTAL 7PR+7PW+7RI+7RO+7RT+7RY+7NY NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:anomalie :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A74201:anomalie :"A":"742":"01":"INCOMPATIBILITE ENTRE LIGNES 7HR ET 7HS":"N";
+A74202:anomalie :"A":"742":"02":"INCOMPATIBILITE ENTRE LIGNES 7HT ET 7HU":"N";
+A74203:anomalie :"A":"742":"03":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HV, 7HW, 7HX , 7HZ":"N";
+A74204:anomalie :"A":"742":"04":"INCOMPATIBILITE ENTRE LIGNES 7HD ET 7HE":"N";
+A74205:anomalie :"A":"742":"05":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7HA , 7HB , 7HG , 7HH":"N";
+A743:anomalie :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:anomalie :"A":"744":"00":"LE MONTANT PORTE LIGNE 7WR NE PEUT DEPASSER 60 000 E":"N";
+A745:anomalie :"A":"745":"00":"INCOMPATIBILITE ENTRE LIGNES 7IP ET 7IQ":"N";
+A74601:anomalie :"A":"746":"01":"LE MONTANT LIGNE 7PR NE PEUT EXCEDER LE MONTANT LIGNE 7PQ":"N";
+A74602:anomalie :"A":"746":"02":"LE MONTANT LIGNE 7PW NE PEUT EXCEDER LE MONTANT LIGNE 7PV":"N";
+A74603:anomalie :"A":"746":"03":"LE MONTANT LIGNE 7RI NE PEUT EXCEDER LE MONTANT LIGNE 7RH":"N";
+A74604:anomalie :"A":"746":"04":"LE MONTANT LIGNE 7RO NE PEUT EXCEDER LE MONTANT LIGNE 7RN":"N";
+A74605:anomalie :"A":"746":"05":"LE MONTANT LIGNE 7RT NE PEUT EXCEDER LE MONTANT LIGNE 7RS":"N";
+A74606:anomalie :"A":"746":"06":"LE MONTANT LIGNE 7RY NE PEUT EXCEDER LE MONTANT LIGNE 7RX":"N";
+A74607:anomalie :"A":"746":"07":"LE MONTANT LIGNE 7NY NE PEUT EXCEDER LE MONTANT LIGNE 7NX":"N";
+A747:anomalie :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A74801:anomalie :"A":"748":"01":"CASE 7WH COCHEE SANS MONTANT LIGNE 7SD A 7ST ":"N";
+A74802:anomalie :"A":"748":"02":"CASE 7WK COCHEE SANS MONTANT LIGNE 7SD A 7SW ":"N";
+A74901:anomalie :"A":"749":"01":"CASE 7WF 7WQ 7WS COCHEE SANS MONTANT LIGNE 7SJ ET RECIPROQUEMENT":"N";
+A74902:anomalie :"A":"749":"02":"CASE 7WU 7WV COCHEE SANS MONTANT LIGNE 7SK ET RECIPROQUEMENT":"N";
+A74903:anomalie :"A":"749":"03":"CASE 7WW 7WX COCHEE SANS MONTANT LIGNE 7SL ET RECIPROQUEMENT":"N";
+A74904:anomalie :"A":"749":"04":"CASE 7WA 7WB COCHEE SANS MONTANT LIGNE 7SG ET RECIPROQUEMENT":"N";
+A74905:anomalie :"A":"749":"05":"CASE 7VE 7VF COCHEE SANS MONTANT LIGNE 7SH ET RECIPROQUEMENT":"N";
+A75001:anomalie :"A":"750":"01":"SAISIE DE PLUS D UNE LIGNE PARMI LES LIGNES 7WF, 7WQ, 7WS":"N";
+A75002:anomalie :"A":"750":"02":"INCOMPATIBILITE ENTRE LES LIGNES 7WU ET 7WV":"N";
+A75003:anomalie :"A":"750":"03":"INCOMPATIBILITE ENTRE LES LIGNES 7WW ET 7WX":"N";
+A75004:anomalie :"A":"750":"04":"INCOMPATIBILITE ENTRE LES LIGNES 7WA ET 7WB":"N";
+A75005:anomalie :"A":"750":"05":"INCOMPATIBILITE ENTRE LES LIGNES 7VE ET 7VF":"N";
+A75101:anomalie :"A":"751":"01":"CASE 7WT COCHEE SANS MONTANT LIGNE 7SJ":"N";
+A75102:anomalie :"A":"751":"02":"CASE 7WC COCHEE SANS MONTANT LIGNE 7SG":"N";
+A75103:anomalie :"A":"751":"03":"CASE 7VG COCHEE SANS MONTANT LIGNE 7SH":"N";
+A752:anomalie :"A":"752":"00":"INCOMPATIBILITE ENTRE 7TT A 7TY ET 7SD A 7SW":"N";
+A800:anomalie :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:anomalie :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:anomalie :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A80203:anomalie :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF ET PRORATA METRO-DOM":"N";
+A804:anomalie :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:anomalie :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A807:anomalie :"A":"807":"00":"SAISIE CODE 8XT SANS LIGNE 1AT OU 1BT":"N";
+A821:anomalie :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A859:anomalie :"A":"859":"00":"LA LIGNE 8WC EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A860:anomalie :"A":"860":"00":"LA LIGNE 8WV EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:anomalie :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A86601:anomalie :"A":"866":"01":"CSG A 7,5% PROVISOIRE (8YD) >  CSG DUE":"N";
+A86602:anomalie :"A":"866":"02":"CSG A 7,5% PROVISOIRE (8YE) > CSG DUE":"N";
+A86603:anomalie :"A":"866":"03":"CSG A 6,6% PROVISOIRE (8YF) > CSG DUE":"N";
+A86604:anomalie :"A":"866":"04":"CSG A 6,2% PROVISOIRE (8YG) > CSG DUE":"N";
+A86605:anomalie :"A":"866":"05":"CSG A 3,8% PROVISOIRE (8YH) > CSG DUE":"N";
+A867:anomalie :"A":"867":"00":"CONTRIBUTION SALARIALE PROVISOIRE 8 % (8YP) > A CONTRIBUTION DUE":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A869:anomalie :"A":"869":"00":"CONTRIBUTION SALARIALE PROVISOIRE 2,5 % (8YV) > A CONTRIBUTION DUE":"N";
+A870:anomalie :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:anomalie :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:anomalie :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A87801:anomalie :"A":"878":"01":"SAISIE CODE 8XA SANS REVENU LIGNE 8TQ":"N";
+A87802:anomalie :"A":"878":"02":"SAISIE CODE 8XB SANS REVENU LIGNE 8TR":"N";
+A87803:anomalie :"A":"878":"03":"SAISIE CODE 8XC SANS REVENU LIGNE 8TV":"N";
+A87804:anomalie :"A":"878":"04":"SAISIE CODE 8XD SANS REVENU LIGNE 8TW":"N";
+A87805:anomalie :"A":"878":"05":"SAISIE CODE 8XE SANS REVENU LIGNE 8TX":"N";
+A879:anomalie :"A":"879":"00":"LA LIGNE 8TG, 8TS EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:anomalie :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:anomalie :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A88201:anomalie :"A":"882":"01":"LIGNE 8TI REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN OU INVERSEMENT":"N";
+A88202:anomalie :"A":"882":"02":"SAISIE DU CODE 8YC SANS PRISE EN CHARGE DE LA LIGNE 8TI":"N";
+A883:anomalie :"A":"883":"00":"LA LIGNE 8TK EST REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP, 8XQ OU 8XT":"N";
+A884:anomalie :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A885:anomalie :"A":"885":"00":"PRISE EN CHARGE DU CODE 8XP OU 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A886:anomalie :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR, 8XP OU 8XQ":"N";
+A887:anomalie :"A":"887":"00":"REVENU NET CODE 8XR SUPERIEUR AU MONTANT LIGNE 8TK":"N";
+A888:anomalie :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A889:anomalie :"A":"889":"00":"SAISIE CODE 8 FV SANS PRISE EN CHARGE DU CODE 8 ZK":"N";
+A890:anomalie :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:anomalie :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:anomalie :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:anomalie :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:anomalie :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:anomalie :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:anomalie :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:anomalie :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A960:anomalie :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:anomalie :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:anomalie :"A":"961":"02":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96103:anomalie :"A":"961":"03":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17 ET 18)":"O";
+A96201:anomalie :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:anomalie :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:anomalie :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:anomalie :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:anomalie :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:anomalie :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2013, 2014 OU 2015":"N";
+A96303:anomalie :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:anomalie :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2013, 2014 OU 2015":"O";
+A96401:anomalie :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:anomalie :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:anomalie :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2012":"N";
+A96501:anomalie :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:anomalie :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:anomalie :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2012":"N";
+A966:anomalie :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A98001:anomalie :"A":"980":"01":"BASE ISF 9HI <= 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:anomalie :"A":"980":"02":"BASE ISF 9HI >= 2 570 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A981:anomalie :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:anomalie :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:anomalie :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:anomalie :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:anomalie :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:anomalie :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:anomalie :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:anomalie :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+AS0101:anomalie :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C":"N";
+AS0102:anomalie :"A":"S01":"02":"INCOMPATIBILITE ENTRE DATE DE MARIAGE AVEC OPTION B ET SITUATION M OU O":"N";
+AS0103:anomalie :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE MARIAGE SANS OPTION B ET SITUATION C, D OU V":"N";
+AS0104:anomalie :"A":"S01":"04":"INCOMPATIBILITE ENTRE DATE DE DIVORCE ET SITUATION M OU O":"N";
+AS0105:anomalie :"A":"S01":"05":"INCOMPATIBILITE ENTRE DATES DE DIVORCE ET DE DECES DU CJT ET SITUATION M":"N";
+AS0106:anomalie :"A":"S01":"06":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION D":"N";
+AS02:anomalie :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE":"N";
+AS11:anomalie :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE":"N";
+DD02:discordance :"D":"D02":"00":"VERIFIER LE CUMUL DE 7CF (CAPITAL PME) AVEC 7FN, 7GN ":"N";
+DD03:discordance :"D":"D03":"00":"MONTANT DES FRAIS RCM EXAGERE OU FRAIS AVEC REVENU LIGNE 2FU 2CH 2GO 2TR":"N";
+DD04:discordance :"D":"D04":"00":"MONTANT DU CREDIT D'IMPOT EXAGERE":"N";
+DD06:discordance :"D":"D06":"00":"REPORT 7XF,7XI,7XP,7XN,7XM,7XJ,7XQ,7XV,7XO,7XK,7XR > 8333 E OU 16667 E ":"N";
+DD07:discordance :"D":"D07":"00":"LE MONTANT 7PZ, 7QZ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD08:discordance :"D":"D08":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+DD09:discordance :"D":"D09":"00":"CREDIT PRET ETUDIANT LIGNE 7TD DEJA OBTENU EN N-1":"N";
+DD10:discordance :"D":"D10":"00":"ENFANTS BENEFICIANT DE FRAIS DE GARDE > AU NOMBRE D'ENFANTS < 7 ANS":"N";
+DD11:discordance :"D":"D11":"00":"REGIME MICRO-FONCIER (4BE) AVEC DEFICITS FONCIERS ANTERIEURS (4BD)":"N";
+DD13:discordance :"D":"D13":"00":"SITUATION FORFAITAIRE A DENONCER SELON LES TERMES DE L'ARTICLE 69A2 DU CGI":"N";
+DD14:discordance :"D":"D14":"00":"LE MONTANT 2CG EST > AU TOTAL DES LIGNES 2DC + 2CH + 2TS + 2TR":"N";
+DD15:discordance :"D":"D15":"00":"LE MONTANT 7WP (REPORT 2011) EST > AU MONTANT CALCULE DE N-1":"N";
+DD16:discordance :"D":"D16":"00":"FRAIS D'ACCUEIL ET PERSONNE A CHARGE AVEC CARTE D'INVALIDITE":"N";
+DD19:discordance :"D":"D19":"00":"NOMBRE LIGNE 7FG > NOMBRE DE RUBRIQUES ADMISES DU o5":"N";
+DD21:discordance :"D":"D21":"00":"SAISIE DE 7DF,7DB ET 7DG SANS INVALIDITE CADRE A (CODE PF) OU C (CODE G,I,R)":"N";
+DD27:discordance :"D":"D27":"00":"LE MONTANT 7CL,7CM,7CN,7CQ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD28:discordance :"D":"D28":"00":"CREDIT 8WB DEJA OBTENU EN N-1 : 1SEUL CREDIT PAR ENTREPRISE":"N";
+DD29:discordance :"D":"D29":"00":"LE MONTANT 7XS,7XT,7XU,7XW,7XY (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD32:discordance :"D":"D32":"00":"CREDIT SALARIE A DOMICILE SANS REVENU D ACTIVITE : VERIFIEZ LA SITUATION":"N";
+DD34:discordance :"D":"D34":"00":"VERIFIER LE CUMUL 7FM AVEC 7FQ, 7GQ":"N";
+DD35:discordance :"D":"D35":"00":"CASE NOUVEAU RESIDENT LIGNE 6QW DEJA SAISIE EN N-1":"N";
+DD3601:discordance :"D":"D36":"01":"CASE 7WE COCHEE AVEC UN RFR 2010 SUPERIEUR A 30 000 E":"N";
+DD3602:discordance :"D":"D36":"02":"CASE 7WE COCHEE SANS RFR DE 2010":"N";
+DD37:discordance :"D":"D37":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+DD3801:discordance :"D":"D38":"01":"REGIME AUTO-ENTREPRENEUR AVEC RFR 2010 SUPERIEUR A LIMITE ADMISE":"N";
+DD3802:discordance :"D":"D38":"02":"REGIME AUTO-ENTREPRENEUR SANS RFR DE 2010":"N";
+DD39:discordance :"D":"D39":"00":"LE MONTANT 6 HJ, 6HK, 6HL (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD40:discordance :"D":"D40":"00":"LE MONTANT 7LA, 7LB, 7LE (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD41:discordance :"D":"D41":"00":"LE MONTANT 7IS, 7IU, 7IX (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD42:discordance :"D":"D42":"00":"LE MONTANT 7UU, 7TE, 7UV, 7TF, 7UW, 7TG (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD43:discordance :"D":"D43":"00":"LES MONTANTS REPORT INVEST. DOM ENTREPRISE SONT > AUX MONTANTS CALCULES DE N-1":"N";
+DD44:discordance :"D":"D44":"00":"LES MONTANTS REPORTS LOGEMENT SOCIAL SONT > AUX MONTANTS CALCULES DE N-1":"N";
+DD45:discordance :"D":"D45":"00":"REPORT 'SCELLIER'  > 33 333 E":"N";
+DD46:discordance :"D":"D46":"00":"REPORT LIGNE 7IP, 7IQ, 7IR, 7IK > 33 333 E":"N";
+DD48:discordance :"D":"D48":"00":"LE MONTANT 7LC, 7LD (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD49:discordance :"D":"D49":"00":"LE MONTANT 7IT, 7IH (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD50:discordance :"D":"D50":"00":"LE MONTANT 7KB, 7KC (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD52:discordance :"D":"D52":"00":"DEFICIT LOC. MEUB. NON PROF. DECLARE (5GA A 5GJ) > A DEFICIT CALCULE EN N-1":"N";
+DD53:discordance :"D":"D53":"00":"DEFICIT BIC NON PROF. DECLARE (5RN A 5RW) > A DEFICIT CALCULE EN N-1":"N";
+DD54:discordance :"D":"D54":"00":"CASE 7WG COCHEE AVEC LIGNES 7TT A 7TY,  7SD A 7SW SAISIES":"N";
+DD55:discordance :"D":"D55":"00":"LES LIGNES 8TR, 8TQ, 8TV, 8TW, 8TX SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+DD57:discordance :"D":"D57":"00":"LE MONTANT 7LF (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD58:discordance :"D":"D58":"00":"LE MONTANT 7IZ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD5901:discordance :"D":"D59":"01":"GAINS PORTES LIGNE 3VS SANS GAINS LIGNE 3VI, 3VJ":"N";
+DD5902:discordance :"D":"D59":"02":"GAINS PORTES LIGNE 3SS SANS GAINS LIGNE 3SI, 3VK":"N";
+DD6001:discordance :"D":"D60":"01":"GAINS PORTES LIGNE 3VO SANS GAINS LIGNE 3VD, 3VI, 3VF, 3VJ":"N";
+DD6002:discordance :"D":"D60":"02":"GAINS PORTES LIGNE 3SO SANS GAINS LIGNE 3SD, 3SI, 3SF, 3VK":"N";
+DD6101:discordance :"D":"D61":"01":"GAINS PORTES LIGNE 3VN SANS GAINS LIGNE 3VD, 3VI, 3VF, 3VJ":"N";
+DD6102:discordance :"D":"D61":"02":"GAINS PORTES LIGNE 3SN SANS GAINS LIGNE 3SD, 3SI, 3SF, 3VK":"N";
+DD62:discordance :"D":"D62":"00":"CASE 7WH COCHEE SANS DEPENSES AVEC BOUQUET DE TRAVAUX":"N";
+DD63:discordance :"D":"D63":"00":"MONTANT 8ZR (RNI MONDIAL) INFERIEUR A REVENU IMPOSABLE":"N";
+I00101:informative :"I":"001":"01":"COTIS.  SYNDICALES NON RETENUES (VOUS): SALAIRES + FRAIS REELS":"N";
+I00102:informative :"I":"001":"02":"COTIS. SYNDICALES NON RETENUES (CJT): SALAIRES + FRAIS REELS":"N";
+I00103:informative :"I":"001":"03":"COTISATIONS SYNDICALES NON RETENUES (PAC): SALAIRES + FRAIS REELS":"N";
+I008:informative :"I":"008":"00":"LE NOMBRE DE PERSONNE (6EV) N'EST PAS INDIQUE":"N";
+I009:informative :"I":"009":"00":"LE NOMBRE D'EXPLOITATIONS (7FG) N'EST PAS INDIQUE.":"N";
+I010:informative :"I":"010":"00":"REVENUS OU CHARGE AU NOM DU CONJOINT OU PARTENAIRE POUR UN CONTRIBUABLE VEUF":"N";
+I011:informative :"I":"011":"00":"1/2 PART SUPP. NON RETENUE (CASE S) : VOUS + CJT NES APRES 1937":"N";
+I012:informative :"I":"012":"00":"1/2 PART SUPP. NON RETENUE (CASE W) : CONTRIBUABLE NE APRES 1937":"N";
+I013:informative :"I":"013":"00":"PAS DE CASES E ET H AVEC NB DE PARTS EN N-1 > 1 : VERIFIER SI CONTRIB. SEUL":"N";
+I015:informative :"I":"015":"00":"LE MONTANT 2AA,2AL,2AM,2AN,2AQ,2AR (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+IM03:informative :"I":"M03":"00":"LE MONTANT 8UZ NE PEUT DEPASSER 500 000 E":"N";
+IM06:informative :"I":"M06":"00":"ATTENTION, MONTANT DES DONS NON CONFIRME (7UE, 7VB, 7UG, 7VD)":"N";
+IM07:informative :"I":"
\ No newline at end of file
diff --git a/sources2012m_3_13/horizoc.m b/sources2012m_3_13/horizoc.m
new file mode 100644
index 0000000000000000000000000000000000000000..e076e4aa49eff84cbd2d86a3cacf3a18dad4899a
--- /dev/null
+++ b/sources2012m_3_13/horizoc.m
@@ -0,0 +1,52 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif corrective horizontale 760 :
+application : iliad ;
+si          (
+            V_IND_TRAIT > 0
+	    et
+            SENS_RAPPEL non dans (1, 2, 3, 4)
+	    )
+alors erreur A760;
+verif corrective horizontale 770 :
+application : iliad ;
+si          (
+            V_IND_TRAIT > 0
+	    et
+            SENS_RAPPEL = 4 
+	    et 
+            PEN_RAPPEL non dans (07, 08, 09, 10, 11, 12, 17, 18, 31)
+	    )
+alors erreur A770;
+verif corrective horizontale 780 :
+application : iliad ;
+si
+ (
+            V_IND_TRAIT > 0
+	    et
+	    (
+            ANNEE_RAPPEL <= V_ANREV
+            ou
+            MOIS_RAPPEL non dans ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 )
+	    )
+ )
+
+alors erreur A780;
diff --git a/sources2012m_3_13/horizoi.m b/sources2012m_3_13/horizoi.m
new file mode 100644
index 0000000000000000000000000000000000000000..5d43b071ef577204544b768aec9cf89aa4a57576
--- /dev/null
+++ b/sources2012m_3_13/horizoi.m
@@ -0,0 +1,57 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+verif corrective horizontale 19 :
+application : iliad ;
+si
+   (
+      ( COD_RAPPEL = 1 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 2 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 3 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 4 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 5 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 6 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 7 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 8 et MONT_RAPPEL > 19)
+   )
+alors erreur A019;
+verif corrective horizontale 1401 :
+application : iliad ;
+si
+    (
+      COD_RAPPEL = 1401 et MONT_RAPPEL > 45 
+     )
+alors erreur A14001;
+verif corrective horizontale 1411 :
+application : iliad ;
+si
+    (
+      COD_RAPPEL = 1411 et MONT_RAPPEL > 25 
+     )
+alors erreur A14101;
+verif corrective horizontale 20200 :
+application : iliad ;
+si
+  (
+    COD_RAPPEL = 2020 et MONT_RAPPEL > 9
+
+  )
+alors erreur A00101;
diff --git a/sources2012m_3_13/res-ser1.m b/sources2012m_3_13/res-ser1.m
new file mode 100644
index 0000000000000000000000000000000000000000..6e08ab7a39840c923c7cad4ceaa51b48aa3dd864
--- /dev/null
+++ b/sources2012m_3_13/res-ser1.m
@@ -0,0 +1,525 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #####   ######   ####    #####     #     #####   ########
+ #    #  #       #          #       #       #     #      #
+ #    #  #####    ####      #       #       #      #    #
+ #####   #            #     #       #       #       ####
+ #   #   #       #    #     #       #       #      #    #
+ #    #  ######   ####      #       #       #     ########
+ #
+ #
+ #
+ #
+ #                 RES-SER1.m
+ #                 ===========
+ #
+ #
+ #                      zones restituees par l'application
+ #
+ #
+ #
+ #
+ #
+ #
+regle 9500:
+application :  iliad , bareme ,batch;
+MCDV = 1 * positif(V_0AM + 0)
+     + 2 * positif(V_0AC + 0)
+     + 3 * positif(V_0AD + 0)
+     + 4 * positif(V_0AV + 0)
+     + 5 * positif(V_0AO + 0);
+SFM = si  ( BOOL_0AM=1 ) 
+          alors ( si (V_0AP+0=1)
+                  alors ( si (V_0AF+0=1)
+                          alors (1)
+                          sinon (2)
+                          finsi)
+                  sinon ( si (V_0AF+0=1) 
+                          alors (3)
+                          sinon ( si ( V_0AS+0=1 et
+                          (AGV >= LIM_AGE_LET_S ou AGC >= LIM_AGE_LET_S)
+                                      )
+                                  alors (4)
+                                  finsi)
+                          finsi)
+                  finsi)
+       finsi;
+regle 9501:
+application : batch , iliad, bareme ;
+
+BOOL_V = positif(V_0AV+0) * positif(1 - BOOL_0AZ) 
+			  * ((1 - positif(PAC + V_0CH + 0))
+			     + positif(PAC + V_0CH + 0) * (3 - null(EAC + V_0CH + 0))) ;
+BOOL_CDV = positif( BOOL_V + V_0AC + V_0AD + 0);
+BOOL_PACSFL = 1 - positif( PAC +V_0CH + 0);
+BOOL_W = positif(V_0AW + 0) * positif_ou_nul( AGV - LIM_AGE_LET_S );
+SFCD1 = ( 15 * positif(V_0AN + 0) * (1 - positif(V_0AP + 0)) * (1 - positif(V_0AG + 0)) * (1 - BOOL_W)         
+ 
+       + 2 * positif(V_0AP + 0) * (1-positif(V_0AL+0))          
+
+
+	+ 5 * ( positif(V_0AE+0) * positif(V_BT0AE + ZONEANTEK + 0))
+	     
+	     * (1 - positif(V_0AN + 0)) * (1 - positif(V_0AP + 0)) * positif(1-(V_0AG + 0)) * (1 - BOOL_W)
+
+
+       + 14 * positif(V_0AG + 0) * (1 - positif(V_0AP + 0)) * (1 - BOOL_W)                   
+
+       + 7 * BOOL_W * (1 - positif(V_0AP + 0)))
+       
+       * (1-positif(V_0AL+0)) * BOOL_CDV * BOOL_PACSFL;
+
+regle 9507:
+application : batch , iliad ,  bareme ;
+SFL = positif (V_0AL + 0) * BOOL_CDV * BOOL_PACSFL *
+
+      ( 2 * positif(V_0AP + 0) 
+
+      + 9 * ( 1 - BOOL_W ) * positif( 1- V_0AP + 0) * positif(1-(V_0AG + 0)) * positif (1-(V_0AN+0))  
+
+      + 7 * BOOL_W * positif(1-(V_0AP + 0)) 
+
+      + 15 * positif (V_0AN +0) * ( 1 - BOOL_W ) * positif(1-(V_0AG + 0)) * positif(1-(V_0AP + 0)) 
+
+      + 14 * positif (V_0AG +0) * ( 1 - BOOL_W ) * positif(1-(V_0AP + 0))) ;
+regle 9502:
+application : batch , iliad , bareme ;
+
+
+
+SFCD2 = positif(PAC+V_0CH) * positif(V_0AC + V_0AD + null(2- BOOL_V)) *
+	(
+		positif(V_0AP+0) * ( 10 * positif(V_0BT+0) * (1-positif(V_0AV))
+ 			            + 2 * positif(V_0AV)
+                                    + 2 * (1 - positif(V_0AV)) *(1 - positif(V_0BT+0)))
+          + (1-positif(V_0AP+0)) * ( 11 * positif(V_0BT+0)) * (1-positif(V_0AV+0))
+	);
+regle 9503:
+application : batch , iliad , bareme ;
+
+SFV1 = 2 * positif(V_0AP + 0) * null(BOOL_V - 3) ;
+
+regle 9504:
+application : batch , iliad ,  bareme ;
+SFV2 = si ( V_0AV+0=1 et BOOL_0AZ =1)
+       alors (si (V_0AP+0=1)
+              alors (si (V_0AF+0=1)
+                     alors (1)
+                     sinon (2)
+                     finsi)
+              sinon (si (V_0AF+0=1)
+                     alors (3)
+                     sinon (si (V_0AW+0=1)
+                            alors (7)
+                            finsi)
+                     finsi)  
+              finsi)
+        finsi;
+regle 9505:
+application : batch , iliad , bareme ;
+BOOL_0AM = positif(positif(V_0AM + 0 )  + positif(V_0AO + 0)) ;
+regle 9506:
+application : batch , iliad , bareme ;
+SFUTILE = SFM + SFCD1 + SFCD2 + SFV1 + SFV2 + SFL ;
+regle 9510:
+application : batch , iliad ;
+NATPENA = si ((APPLI_COLBERT+APPLI_ILIAD+APPLI_COLBERT=1) et  
+	     (CMAJ =7 ou CMAJ =8 ou CMAJ=9 ou CMAJ=10 ou CMAJ=11 ou CMAJ=12 ou CMAJ=17 ou CMAJ=18 ))
+          alors (1)
+          sinon ( si ( CMAJ = 2 )
+                  alors (2)
+                  sinon ( si ( CMAJ=3 ou CMAJ=4 ou CMAJ=5 ou CMAJ=6 ) 
+                          alors (4)
+                          finsi
+                        )
+                  finsi
+                 )
+           finsi;
+regle 901:
+application : iliad ;
+TSALV = TSBNV;
+TSALC = TSBNC;
+regle 902:
+application : iliad , batch  ;
+TSALP = TSBN1 + TSBN2 + TSBN3 + TSBN4;
+regle 903 :
+application : iliad , batch  ;
+pour i = V,C,1..4:
+F10Ai = si (IND_10i = 0 ou
+       (IND_10i = 1 et IND_10MIN_0i = 0))
+        alors (max(FRDi,DFNi))
+       finsi;
+regle 90301 :
+application :  iliad , batch  ;
+F10AP = somme(i=1..4:F10Ai);  
+regle 90302 :
+application : iliad , batch  ;
+pour i = V,C,1..4:
+F10Bi = si (IND_10i = 1 et IND_10MIN_0i = 1)
+        alors (10MINSi)
+       finsi;
+regle 90303 :
+application : iliad , batch  ;
+F10BP = somme(i=1..4:F10Bi);
+regle 904 :
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+DEDSi =  (10MINSi - DFNi) * (1-positif(F10Bi)) * IND_10i ;
+regle 90401 :
+application :  iliad , batch  ;
+DEDSP = somme( i=1..4: DEDSi ) ;
+regle 905 :
+application : iliad , batch ;
+PRV = PRBRV;
+PRC = PRBRC;
+PRP = PRBR1 + PRBR2 + PRBR3 + PRBR4 ;
+PALIP = PALI1 + PALI2 + PALI3 + PALI4;
+regle 906 :
+application : iliad , batch  ;
+pour i = V,C:
+AB10i = APRi;
+AB10P = APR1 + APR2 + APR3 + APR4 ;
+regle 909:
+application : iliad , batch ;
+TSPRT = TSPRV + TSPRC + TSPRP ;
+regle 9011 :
+application : iliad , batch ;
+pour i = V,C,P:
+RBAi = BAHREi + 4BAHREi
+     + BACREi + 4BACREi
+     + BAFORESTi
+     + BAFi + BAFPVi- BACDEi- BAHDEi;
+regle 9013 :
+application : iliad , batch ;
+pour i= V,C,P:
+BIPi =
+   BICNOi  
+ - BICDNi  
+ + BIHNOi  
+ - BIHDNi  
+  ; 
+
+pour i= V,C,P:                                           
+BIPNi = BIPTAi + BIHTAi ;                        
+BIPN  = BIPNV + BIPNC + BIPNP ;                          
+                                                         
+
+pour i= V,C,P:                                           
+MIBRi = MIBVENi + MIBPRESi ;
+MIBR = somme(i=V,P,C: MIBRi);
+pour i= V,C,P:                                           
+MLOCDECi = MIBGITEi + LOCGITi + MIBMEUi ;
+pour i= V,C,P:                                           
+MIBRABi = MIB_ABVi + MIB_ABPi ;
+pour i= V,C,P:                                           
+MLOCABi = MIB_ABNPVLi + MIB_ABNPPLi ;
+pour i= V,C,P:                                           
+MIBRNETi = max (0,MIBRi - MIBRABi );
+MIBRNET = somme(i=V,C,P:MIBRNETi);
+pour i= V,C,P:                                           
+MLOCNETi = max (0,MLOCDECi - MLOCABi );
+MLOCNET = somme(i=V,C,P:MLOCNETi);
+pour i= V,C,P:                                           
+MIBNPRi = MIBNPVENi + MIBNPPRESi ;
+pour i= V,C,P:                                           
+MIBNPRABi = MIB_ABNPVi + MIB_ABNPPi ;
+pour i= V,C,P:                                           
+MIBNPRNETi = max (0,MIBNPRi - MIBNPRABi );
+regle 9014 :
+application : iliad , batch  ;
+
+pour i=V,C,P:
+BINi = 
+   BICREi  
+ - BICDEi  
+ + BICHREi  
+ - BICHDEi  
+ ;  
+
+regle 90141 :
+application : iliad , batch  ;
+
+pour i=V,C,P:
+BINNi= BINTAi + BINHTAi;
+regle 9015 :
+application : iliad , batch  ;
+BNCV = BNHREV + BNCREV - BNHDEV - BNCDEV;
+BNCC = BNHREC + BNCREC - BNHDEC - BNCDEC;
+BNCP = BNHREP + BNCREP - BNHDEP - BNCDEP;
+regle 9016 :
+application : iliad , batch  ;
+DIDABNCNP =  abs(min(NOCEPIMP+SPENETNPF,DABNCNP6+DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1)
+	     *positif(DABNCNP6+DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1)*positif(NOCEPIMP+SPENETNPF));
+BNCIF = max (0,NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2-DABNCNP1);
+regle 9024 :
+application : iliad , batch ;
+BRCM = RCMABD + RCMTNC + RCMAV + RCMHAD + RCMHAB + REGPRIV;
+regle 90240 :
+application : iliad , batch ;
+BRCMQ = REVACT + REVPEA + PROVIE + DISQUO + RESTUC + INTERE;
+regle 90241 :
+application : iliad , batch  ;
+RRCM = max(0,RCM);
+regle 9026 :
+application : iliad , batch  ;
+B1FIS = max( RCM+2RCM+3RCM+4RCM+5RCM+6RCM+7RCM , 0 );
+regle 9028 :
+application : iliad , batch  ;
+DRFRP = (1-positif(IPVLOC)) * (abs (DFCE+DFCG) * (1-positif(RFMIC))
+             + positif(RFMIC) *  abs(min(0,RFMIC - MICFR - RFDANT)) );
+regle 9030 :
+application :  iliad , batch  ;
+
+
+DLMRN1TXM = - min(0,MIB_NETCT *(1-positif(MIBNETPTOT))
+                          +SPENETCT * (1 - positif(SPENETPF)));
+DLMRN6 =  positif(DEFBIC5) * (
+	    (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)) * max(0,DEFBIC5-max(0,DEFNPI-DEFBIC6))
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+           * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6,0)-DEFBIC5,DEFBIC5)*(-1)
+           * positif_ou_nul(DEFBIC5-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6,0))
+			     );
+DLMRN5 = positif(DEFBIC4) * (
+	     (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)) * max(0,DEFBIC4+min(0,DEFBIC5-max(0,DEFNPI-DEFBIC6)))
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+           * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5,0)-DEFBIC4,DEFBIC4)*(-1)
+           * positif_ou_nul(DEFBIC4-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5,0))     
+			     );
+DLMRN4 = positif(DEFBIC3) * (
+	      (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))  * max(0,DEFBIC3+min(0,DEFBIC5+DEFBIC4-max(0,DEFNPI-DEFBIC6)))
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+           * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4,0)-DEFBIC3,DEFBIC3)*(-1)
+           * positif_ou_nul(DEFBIC3-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4,0))
+			     );
+DLMRN3 = positif(DEFBIC2) * (
+	      (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))* max(0,DEFBIC2+min(0,DEFBIC5+DEFBIC4+DEFBIC3-max(0,DEFNPI-DEFBIC6)))
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+           * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3,0)-DEFBIC2,DEFBIC2)*(-1)
+           * positif_ou_nul(DEFBIC2-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3,0))
+			     );
+DLMRN2 = positif(DEFBIC1) * (
+	      (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))* max(0,DEFBIC1+min(0,DEFBIC5+DEFBIC4+DEFBIC3+DEFBIC2-max(0,DEFNPI-DEFBIC6)))
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+           * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3-DEFBIC2,0)-DEFBIC1,DEFBIC1)*(-1)
+           * positif_ou_nul(DEFBIC1-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3-DEFBIC2,0))
+			    );
+DLMRN1 = (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)) * abs(somme(i=V,C,P:BICNPi)-DEFNPI+MIB_NETNPCT)
+	  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+		      * positif_ou_nul(DEFBIC5+DEFBIC4+DEFBIC3+DEFBIC2+DEFBIC1-(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))
+                      * (DEFBIC5+DEFBIC4+DEFBIC3+DEFBIC2+DEFBIC1-(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))
+                      * null(DLMRN6+DLMRN5+DLMRN4+DLMRN3+DLMRN2) ;
+DLMRN = max(0, DEFNP - BICNPV*positif(BICNPV)-BICNPC*positif(BICNPC)-BICNPP*positif(BICNPP)
+                     + abs(BICNPV)*(1-positif(BICNPV))*null(DLMRN1)
+                     + abs(BICNPC)*(1-positif(BICNPC))*null(DLMRN1)
+                     + abs(BICNPP)*(1-positif(BICNPP))*null(DLMRN1)) + DLMRN1;
+TOTDLMRN = somme(i=1..6:DLMRNi);
+DLMRNTXM = max(0,DEFNP - BICNPV*positif(BICNPV)-BICNPC*positif(BICNPC)-BICNPP*positif(BICNPP)
+         +MIB_NETCT+MIB_NETNPCT+SPENETCT+SPENETNPCT + DLMRN1 
+               );
+regle 90305: 
+application :  iliad , batch  ;
+DRCVM = DPVRCM ;
+regle 9031 :
+application : iliad , batch  ;
+BALNP = max(0,NOCEPIMP);
+NOCEP = ANOCEP - (DNOCEP + DABNCNP6+DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1);
+regle 9032 :
+application : iliad , batch  ;
+DALNP = (1-positif(IPVLOC)) * (BNCDF1+BNCDF2+BNCDF3+BNCDF4+BNCDF5+BNCDF6);
+regle 9033 :
+application :  iliad , batch  ;
+DESV =  REPSOF;
+regle 9042 :
+application : batch, iliad  ;
+VLHAB = max ( 0 , IPVLOC ) ;
+regle 9043 :
+application : iliad , batch  ;
+DFANT = DAR;
+DAR_REP =  somme (i=0..4:DEFAAi) * (1 - positif(IPVLOC));
+regle 9044 :
+application : iliad , batch  ;
+RRBG = (RG - DAR ) *(1-positif(RE168+TAX1649)) + positif(RE168+TAX1649) * (RE168+TAX1649);
+RRRBG = max(0 , RRBG);
+DRBG = min(0 , RRBG);
+regle 9045 :
+application : iliad , batch  ;
+DDCSG = (V_BTCSGDED * (1-present(DCSG)) + DCSG) * (1-null(4 -V_REGCO)) 
+	+ arr(RCMSOC * T_IDCSG/100) * (1 - positif(null(2-V_REGCO)+null(4-V_REGCO))) ;
+
+RDCSG = max (min(DDCSG , RBG + TOTALQUO - SDD) , 0);
+regle 9047 :
+application : iliad , batch  ;
+DPALE =  somme(i=1..4:CHENFi+NCHENFi);
+RPALE = max(0,min(somme(i=1..4:min(NCHENFi,LIM_PENSALENF)+min(arr(CHENFi*MAJREV),LIM_PENSALENF)),
+                RBG-DDCSG+TOTALQUO-SDD)) *(1-V_CNR);
+regle 9049 :
+application : iliad , batch  ;
+DNETU = somme(i=1..4: CHENFi);
+RNETU = max(0,min(somme(i=1..4:min(CHENFi,LIM_PENSALENF)),
+                RBG+TOTALQUO-SDD-RPALE)) *(1-V_CNR);
+regle 9050 :
+application : iliad , batch  ;
+DPREC = CHNFAC;
+regle 9051 :
+application : iliad , batch  ;
+DFACC = CHRFAC;
+RFACC = max( min(DFA,RBG - RPALE - RPALP  - DDCSG + TOTALQUO - SDD) , 0);
+regle 9052 :
+application : iliad ;
+TRANSFERT = R1649+PREREV+RE168+TAX1649;
+regle 9054 :
+application : iliad , batch  ;
+RPALP = max( min(TOTPA,RBG - RPALE - DDCSG + TOTALQUO - SDD) , 0 ) * (1 -V_CNR);
+DPALP = PAAV + PAAP ;
+regle 9055 :
+application : iliad , batch  ;
+DEDIV = (1-positif(RE168+TAX1649))*CHRDED;
+RDDIV = max( min(DEDIV * (1 - V_CNR),RBG - RPALE - RPALP - RFACC - DDCSG + TOTALQUO - SDD ) , 0 );
+
+regle 90551 :
+application : iliad , batch  ;
+
+NUPROPT = REPGROREP2 + REPGROREP1 + REPGROREP11 + NUPROP ;
+
+NUREPAR = min(NUPROPT , max(0,min(PLAF_NUREPAR, RRBG - RPALE - RPALP - RFACC - RDDIV - APERPV - APERPC - APERPP - DDCSG + TOTALQUO - SDD))) 
+	  * ((V_REGCO+0) dans (1,3,5,6)) ;
+
+REPNUREPART = max( NUPROPT - NUREPAR , 0 ) ;
+ 
+REPAR2 = max( REPGROREP2 - NUREPAR , 0 ) * ((V_REGCO+0) dans (1,3,5,6)) ;
+
+REPAR1 = ( positif_ou_nul(REPGROREP2 - NUREPAR) * REPGROREP1
+	 + (1-positif_ou_nul(REPGROREP2 - NUREPAR)) * max(REPGROREP1 + REPGROREP2 - NUREPAR , 0 )) * ((V_REGCO+0) dans (1,3,5,6)) ;
+
+REPAR = ( positif_ou_nul(REPGROREP1 + REPGROREP2 - NUREPAR) * REPGROREP11
+	 + (1-positif_ou_nul(REPGROREP1 + REPGROREP2 - NUREPAR)) * max( REPGROREP11 + REPGROREP1 + REPGROREP2 - NUREPAR , 0 )) * ((V_REGCO+0) dans (1,3,5,6)) ;
+
+REPAR12 = max( REPNUREPART - REPAR - REPAR1 - REPAR2, 0 ) * ((V_REGCO+0) dans (1,3,5,6)) ;
+
+REPNUREPAR = REPAR2 + REPAR1 + REPAR + REPAR12 ;
+
+regle 9059 :
+application : iliad , batch  ;
+CHTOT = max( 0 , 
+   min( DPA + DFA + (1-positif(RE168+TAX1649))*CHRDED + APERPV + APERPC + APERPP + NUREPAR , RBG
+       - DDCSG + TOTALQUO - SDD) 
+           )  * (1-V_CNR);
+regle 9060 :
+application : iliad , batch  ;
+ABMAR = min(ABTMA,  max(RNG + TOTALQUO - SDD - SDC - ABTPA , 0));
+regle 9061 :
+application : iliad , batch  ;
+ABVIE = min(ABTPA,max(RNG+TOTALQUO-SDD-SDC,0));
+regle 9062 :
+application : iliad , batch  ;
+RNI =   positif(RG+R1649+PREREV) * arr(RI1) * (1-positif(RE168+TAX1649))
+      + (RE168+TAX1649) * positif(RE168+TAX1649);
+regle 9063 :
+application :  iliad , batch  ;
+RNIDF = (1 - positif_ou_nul( RG-DAR+TOTALQUO )) 
+         * (
+         (1 - positif_ou_nul(RG + TOTALQUO)) *
+          (((RG + TOTALQUO) * (-1)) + DAR_REP)
+         + null(RG+TOTALQUO) * (DAR_REP)
+         + positif(RG + TOTALQUO) *
+           (positif(RG + TOTALQUO - DEFAA5) * (RG + TOTALQUO - DAR )
+	   + (1 -positif(RG + TOTALQUO - DEFAA5)) * DAR_REP)
+           );
+RNIDF0 = (1-positif(RG + TOTALQUO)) * (RG + TOTALQUO) * (-1);
+
+RNIDF1 = (1-positif_ou_nul(RG + TOTALQUO)) * (DEFAA0)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2-DEFAA1,0)-DEFAA0,DEFAA0)*(-1)
+     * positif_ou_nul(DEFAA0-max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2-DEFAA1,0));
+
+RNIDF2 = (1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA1)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2,0)-DEFAA1,DEFAA1)*(-1)
+     * positif_ou_nul(DEFAA1-max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2,0));
+
+RNIDF3 = (1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA2)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3,0)-DEFAA2,DEFAA2)*(-1)
+     * positif_ou_nul(DEFAA2-max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3,0));
+
+RNIDF4 = (1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA3)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5-DEFAA4,0)-DEFAA3,DEFAA3)*(-1)
+     * positif_ou_nul(DEFAA3-max(RG+TOTALQUO-DEFAA5-DEFAA4,0));
+
+RNIDF5 = (1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA4)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5,0)-DEFAA4,DEFAA4)*(-1)
+     * positif_ou_nul(DEFAA4-max(RG+TOTALQUO-DEFAA5,0));
+
+RNIDF6 = (1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA5)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(RG+TOTALQUO-DEFAA5,DEFAA5)*(-1)
+     * positif_ou_nul(DEFAA5-max(RG+TOTALQUO,0));
+regle 90631 :
+application : batch,iliad ;
+RNICOL = (RNI + RNIDF);
+regle 9064 :
+application : iliad , batch  ;
+TTPVQ = TONEQUO;
+regle 9069 :
+application : iliad , batch  ;
+TEFF = IPTEFP - IPTEFN + TEFFREVTOT ; 
+TEFFP = max(0, TEFF);
+TEFFN = si (TEFF + 0 < 0)
+        alors
+          ( min(0, TEFF) * (-1) )
+        sinon
+          ( 0 )
+        finsi;
+RDMO = TEFF + RMOND - DMOND ;
+regle 90691 :
+application : iliad , batch ;
+FRF = somme (i=V,C,1,2,3,4: FRDi * (1-IND_10i))*(1-positif(APPLI_COLBERT+APPLI_OCEANS));
+regle 9070 :
+application : iliad , batch;
+QUOHPV = somme(i=VO,CJ,PC:TSQi + PRQi)+ PALIQV + PALIQC + PALIQP
+       + BAQV + BAQC + BAQP
+       + BRCMQ + RFQ + somme(x=1..3;i=V,C:GLDxi) ;
+regle 90705:
+application : iliad ;
+TX_CSG = T_CSG * (1-positif(APPLI_OCEANS));
+TX_RDS = T_RDS * (1-positif(APPLI_OCEANS));
+TX_PREL_SOC = (positif(V_EAG + V_EAD) * (T_PREL_SOCDOM)
+              + positif(( 1-V_EAD ) * ( 1-V_EAG )) * (T_PREL_SOC))
+	      * (1-V_CNR) * (1-positif(APPLI_OCEANS));
+TX_IDCSG = T_IDCSG * (1-positif(APPLI_OCEANS));
+regle 90707:
+application : batch, iliad ;
+
+SURIMP = IPSURSI ;
+
+REPPLU = CREDPVREP + V_BTPVREP * (1-present(CREDPVREP)) ;
+
+regle 90708:
+application : iliad ;
+INDM14 = positif_ou_nul(IREST - LIM_RESTIT) * (1-positif(APPLI_OCEANS));
+regle 90709:
+application : iliad ;
+INDDEFICIT = positif(RNIDF1 + DEFBA6 + DEFBA5 + DEFBA4 + DEFBA3 + DEFBA2 +DEFBA1
+		   + DRFRP + DLMRN1 + DALNP + IRECR + DPVRCM + MIBDREPV + MIBDREPC
+                   + MIBDREPP + MIBDREPNPV + MIBDREPNPC + MIBDREPNPP + SPEDREPV + SPEDREPC
+                   + SPEDREPP + SPEDREPNPV + SPEDREPNPC + SPEDREPNPP) * (1-positif(APPLI_OCEANS));
diff --git a/sources2012m_3_13/res-ser2.m b/sources2012m_3_13/res-ser2.m
new file mode 100644
index 0000000000000000000000000000000000000000..bc56b5da768007f7661d8422dbb0994a1da016e4
--- /dev/null
+++ b/sources2012m_3_13/res-ser2.m
@@ -0,0 +1,763 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+ #
+ #
+ #
+ # #####   ######   ####    #####     #     #####  
+ # #    #  #       #          #       #       #   
+ # #    #  #####    ####      #       #       #  
+ # #####   #            #     #       #       # 
+ # #   #   #       #    #     #       #       # 
+ # #    #  ######   ####      #       #       # 
+ #
+ #      #####   #####   #####   #
+ #          #   #   #   #   #   #
+ #      #####   #   #   #   #   #
+ #      #       #   #   #   #   #
+ #      #####   #####   #####   #
+ #
+ #
+ #
+ #
+ #                     RES-SER2.m
+ #                    =============
+ #
+ #
+ #                      zones restituees par l'application
+ #
+ #
+ #
+ #
+ #
+regle 9071 :
+application : iliad , batch ;
+IDRS = INDTXMIN*IMI + 
+       INDTXMOY*IMO + 
+       (1-INDTXMIN) * (1-INDTXMOY) * max(0,IPHQ2 - ADO1) ;
+regle 907100 :
+application : iliad , batch, bareme ;
+RECOMP = max(0 ,( IPHQANT2 - IPHQ2 )*(1-INDTXMIN) * (1-INDTXMOY)) 
+         * (1 - positif(IPMOND+INDTEFF));
+regle 907101 :
+application : iliad , batch ;
+IDRSANT = INDTXMIN*IMI + INDTXMOY*IMO 
+         + (1-INDTXMIN) * (1-INDTXMOY) * max(0,IPHQANT2 - ADO1) ;
+IDRS2 = (1 - positif(IPMOND+INDTEFF))  * 
+        ( 
+         IDRSANT + ( positif(ABADO)*ABADO + positif(ABAGU)*ABAGU )
+                  * positif(IDRSANT)
+         + IPHQANT2 * (1 - positif(IDRSANT))
+         + positif(RE168+TAX1649) * IAMD2
+        )
+   + positif(IPMOND+INDTEFF) 
+         * ( IDRS*(1-positif(IPHQ2)) + IPHQ2 * positif(IPHQ2) );
+
+IDRS3 = IDRT ;
+regle 90710 :
+application : iliad , batch ;
+PLAFQF = positif(IS521 - PLANT - IS511) * (1-positif(V_CR2+IPVLOC))
+           * ( positif(abs(TEFF)) * positif(IDRS) + (1 - positif(abs(TEFF))) );
+regle 907105 :
+application : iliad , batch ;
+ABADO = arr(min(ID11 * (TX_RABDOM / 100)
+             * ((PRODOM * max(0,1 - V_EAD - V_EAG) / RG ) + V_EAD),PLAF_RABDOM)
+	    );
+ABAGU = arr(min(ID11 * (TX_RABGUY / 100)
+	     * ((PROGUY * max(0,1 - V_EAD - V_EAG) / RG ) + V_EAG),PLAF_RABGUY)
+	    );
+regle 90711 :
+application : iliad , batch ;
+
+RGPAR =   positif(PRODOM) * 1 
+       +  positif(PROGUY) * 2
+       +  positif(PROGUY)*positif(PRODOM) 
+       ;
+
+regle 9074 :
+application : iliad , batch ;
+IBAEX = (IPQT2) * (1 - INDTXMIN) * (1 - INDTXMOY);
+regle 9080 :
+application : iliad , batch ;
+
+PRELIB = PPLIB + RCMLIB ;
+
+regle 9091 :
+application : iliad , batch ;
+IDEC = DEC11 * (1 - positif(V_CR2 + V_CNR + IPVLOC));
+regle 9092 :
+application : iliad , batch ;
+IPROP = ITP ;
+regle 9093 :
+application : iliad , batch ;
+
+IREP = REI ;
+
+regle 90981 :
+application : batch, iliad ;
+RETIR = RETIR2 + arr(BTOINR * TXINT/100) ;
+RETCS = RETCS2 + arr((CSG-CSGIM) * TXINT/100) ;
+RETRD = RETRD2 + arr((RDSN-CRDSIM) * TXINT/100) ;
+RETPS = RETPS2 + arr((PRS-PRSPROV) * TXINT/100) ;
+RETGAIN = RETGAIN2 + arr((CGAINSAL - GAINPROV) * TXINT/100) ;
+RETCSAL = RETCSAL2 + arr((CSAL - CSALPROV) * TXINT/100) ;
+RETCVN = RETCVN2 + arr((CVNSALC - PROVCVNSAL) * TXINT/100) ;
+RETCDIS = RETCDIS2 + arr((CDIS - CDISPROV) * TXINT/100) ;
+RETGLOA = RETGLOA2 + arr(CGLOA * TXINT/100) ;
+RETRSE1 = RETRSE12 + arr(RSE1 * TXINT/100) ;
+RETRSE2 = RETRSE22 + arr(RSE2 * TXINT/100) ;
+RETRSE3 = RETRSE32 + arr(RSE3 * TXINT/100) ;
+RETRSE4 = RETRSE42 + arr(RSE4 * TXINT/100) ;
+RETRSE5 = RETRSE52 + arr(RSE5 * TXINT/100) ;
+RETTAXA = RETTAXA2 + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * TXINT/100) ;
+RETPCAP = RETPCAP2+arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * TXINT/100) ;
+RETLOY = RETLOY2+arr(max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * TXINT/100) ;
+RETHAUTREV = RETCHR2 + arr(max(0,IHAUTREVT+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * TXINT/100) ;
+
+regle 90984 :
+application : batch, iliad ;
+MAJOIRTARDIF_A1 = MAJOIRTARDIF_A - MAJOIR17_2TARDIF_A;
+MAJOTAXATARDIF_A1 = MAJOTAXATARDIF_A - MAJOTA17_2TARDIF_A;
+MAJOCAPTARDIF_A1 = MAJOCAPTARDIF_A - MAJOCP17_2TARDIF_A;
+MAJOLOYTARDIF_A1 = MAJOLOYTARDIF_A - MAJOLO17_2TARDIF_A;
+MAJOHRTARDIF_A1 = MAJOHRTARDIF_A - MAJOHR17_2TARDIF_A;
+MAJOTHTARDIF_A1 = MAJOTHTARDIF_A - MAJOTH17_2TARDIF_A;
+MAJOIRTARDIF_D1 = MAJOIRTARDIF_D - MAJOIR17_2TARDIF_D;
+MAJOTAXATARDIF_D1 = MAJOTAXATARDIF_D - MAJOTA17_2TARDIF_D;
+MAJOCAPTARDIF_D1 = MAJOCAPTARDIF_D - MAJOCP17_2TARDIF_D;
+MAJOLOYTARDIF_D1 = MAJOLOYTARDIF_D - MAJOLO17_2TARDIF_D;
+MAJOHRTARDIF_D1 = MAJOHRTARDIF_D - MAJOHR17_2TARDIF_D;
+MAJOTHTARDIF_D1 = MAJOTHTARDIF_D - MAJOTH17_2TARDIF_D;
+MAJOIRTARDIF_P1 = MAJOIRTARDIF_P - MAJOIR17_2TARDIF_P;
+MAJOIRTARDIF_R1 = MAJOIRTARDIF_R - MAJOIR17_2TARDIF_R;
+MAJOTAXATARDIF_R1 = MAJOTAXATARDIF_R - MAJOTA17_2TARDIF_R;
+MAJOCAPTARDIF_R1 = MAJOCAPTARDIF_R - MAJOCP17_2TARDIF_R;
+MAJOLOYTARDIF_R1 = MAJOLOYTARDIF_R - MAJOLO17_2TARDIF_R;
+MAJOHRTARDIF_R1 = MAJOHRTARDIF_R - MAJOHR17_2TARDIF_R;
+MAJOTHTARDIF_R1 = MAJOTHTARDIF_R - MAJOTH17_2TARDIF_R;
+NMAJ1 = max(0,MAJO1728IR + arr(BTO * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOIRTARDIF_D1
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPIR_A) * MAJOIRTARDIF_P1
+		  + (1 - positif(PROPIR_A) ) * MAJOIRTARDIF_D1)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPIR_A))
+				    * ( positif(FLAG_RECTIF) * MAJOIRTARDIF_R1
+				     + (1 - positif(FLAG_RECTIF)) * MAJOIRTARDIF_A1)
+		);
+NMAJTAXA1 = max(0,MAJO1728TAXA + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN-IRANT)) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOTAXATARDIF_D1
+		+ FLAG_TRTARDIF_F * MAJOTAXATARDIF_D1
+	- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOTAXATARDIF_R1
+				     + (1 - positif(FLAG_RECTIF)) * MAJOTAXATARDIF_A1)
+		);
+NMAJPCAP1 = max(0,MAJO1728PCAP + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN-IRANT+TAXASSUR)) * COPETO/100)
+                + FLAG_TRTARDIF * MAJOCAPTARDIF_D1
+                + FLAG_TRTARDIF_F * MAJOCAPTARDIF_D1
+                - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOCAPTARDIF_R1
+                + (1 - positif(FLAG_RECTIF)) * MAJOCAPTARDIF_A1)
+                );
+NMAJLOY1 = max(0,MAJO1728LOY + arr(max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN-IRANT+TAXASSUR+IPCAPTAXT)) * COPETO/100)
+                + FLAG_TRTARDIF * MAJOLOYTARDIF_D1
+                + FLAG_TRTARDIF_F * MAJOLOYTARDIF_D1
+                - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOLOYTARDIF_R1
+                + (1 - positif(FLAG_RECTIF)) * MAJOLOYTARDIF_A1)
+                );
+NMAJCHR1 = max(0,MAJO1728CHR + arr(max(0,IHAUTREVT+min(0,IRN-IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * COPETO/100)
+                + FLAG_TRTARDIF * MAJOHRTARDIF_D1
+                + FLAG_TRTARDIF_F * MAJOHRTARDIF_D1
+                - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOHRTARDIF_R1
+                + (1 - positif(FLAG_RECTIF)) * MAJOHRTARDIF_A1)
+                );
+NMAJC1 = max(0,MAJO1728CS + arr((CSG - CSGIM) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOCSTARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPCS_A) * MAJOCSTARDIF_P 
+		  + (1 - positif(PROPCS_A) ) * MAJOCSTARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPCS_A))
+				    * ( positif(FLAG_RECTIF) * MAJOCSTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCSTARDIF_A)
+		);
+NMAJR1 = max(0,MAJO1728RD + arr((RDSN - CRDSIM) * COPETO/100) 
+		+ FLAG_TRTARDIF * MAJORDTARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPRD_A) * MAJORDTARDIF_P 
+		  + (1 - positif(PROPRD_A) ) * MAJORDTARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPCS_A))
+				    * ( positif(FLAG_RECTIF) * MAJORDTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORDTARDIF_A)
+		);
+NMAJP1 = max(0,MAJO1728PS + arr((PRS - PRSPROV) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOPSTARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPPS_A) * MAJOPSTARDIF_P 
+		  + (1 - positif(PROPPS_A) ) * MAJOPSTARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPPS_A))
+				    * ( positif(FLAG_RECTIF) * MAJOPSTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOPSTARDIF_A)
+		);
+NMAJGAIN1 = max(0,MAJO1728GAIN + arr((CGAINSAL - GAINPROV) * COPETO/100)
+		+ FLAG_TRTARDIF * MAJOGAINTARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJOGAINTARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOGAINTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOGAINTARDIF_A)
+		);
+NMAJCSAL1 = max(0,MAJO1728CSAL + arr((CSAL - CSALPROV) * COPETO/100)
+		+ FLAG_TRTARDIF * MAJOCSALTARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJOCSALTARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOCSALTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCSALTARDIF_A)
+		);
+NMAJCVN1 = max(0,MAJO1728CVN + arr((CVNSALC - PROVCVNSAL) * COPETO/100)
+		+ FLAG_TRTARDIF * MAJOCVNTARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJOCVNTARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOCVNTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCVNTARDIF_A)
+		);
+NMAJCDIS1 = max(0,MAJO1728CDIS + arr((CDIS - CDISPROV) * COPETO/100)  * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJOCDISTARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJOCDISTARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOCDISTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCDISTARDIF_A)
+		);
+NMAJGLO1 = max(0,MAJO1728GLO + arr(CGLOA * COPETO/100)
+                + FLAG_TRTARDIF * MAJOGLOTARDIF_D
+                + FLAG_TRTARDIF_F  * MAJOGLOTARDIF_D
+                - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOGLOTARDIF_R
+                                     + (1 - positif(FLAG_RECTIF)) * MAJOGLOTARDIF_A)
+);
+NMAJRSE11 = max(0,MAJO1728RSE1 + arr((RSE1N - CSPROVYD) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJORSE1TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE1TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE1TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE1TARDIF_A)
+		);
+NMAJRSE21 = max(0,MAJO1728RSE2 + arr((RSE2N- CSPROVYF) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJORSE2TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE2TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE2TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE2TARDIF_A)
+		);
+NMAJRSE31 = max(0,MAJO1728RSE3 + arr((RSE3N - CSPROVYG)* COPETO/100) 
+		+ FLAG_TRTARDIF * MAJORSE3TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE3TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE3TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE3TARDIF_A)
+		);
+NMAJRSE41 = max(0,MAJO1728RSE4 + arr((RSE4N - CSPROVYH) * COPETO/100) 
+		+ FLAG_TRTARDIF * MAJORSE4TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE4TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE4TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE4TARDIF_A)
+		);
+NMAJRSE51 = max(0,MAJO1728RSE5 + arr((RSE5N - CSPROVYE) * COPETO/100) 
+		+ FLAG_TRTARDIF * MAJORSE5TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE5TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE5TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE5TARDIF_A)
+		);
+NMAJ3 = max(0,MAJO1758AIR + arr(BTO * COPETO/100) * positif(null(CMAJ-10)+null(CMAJ-17)) 
+		+ FLAG_TRTARDIF * MAJOIR17_2TARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPIR_A) * MAJOIR17_2TARDIF_P 
+		  + (1 - positif(PROPIR_A) ) * MAJOIR17_2TARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPIR_A))
+				    * ( positif(FLAG_RECTIF) * MAJOIR17_2TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOIR17_2TARDIF_A)
+		);
+NMAJTAXA3 = max(0,MAJO1758ATAXA + arr(max(0,TAXASSUR+min(0,IRN-IRANT)) * COPETO/100)
+					* positif(null(CMAJ-10)+null(CMAJ-17)) 
+		+ FLAG_TRTARDIF * MAJOTA17_2TARDIF_D
+		);
+NMAJPCAP3 = max(0,MAJO1758APCAP + arr(max(0,IPCAPTAXT+min(0,IRN-IRANT+TAXASSUR)) * COPETO/100)
+                * positif(null(CMAJ-10)+null(CMAJ-17))
+                + FLAG_TRTARDIF * MAJOCP17_2TARDIF_D
+		);
+NMAJLOY3 = max(0,MAJO1758ALOY + arr(max(0,TAXLOY+min(0,IRN-IRANT+TAXASSUR+IPCAPTAXT)) * COPETO/100)
+                * positif(null(CMAJ-10)+null(CMAJ-17))
+                + FLAG_TRTARDIF * MAJOLO17_2TARDIF_D
+		);
+NMAJCHR3 = max(0,MAJO1758ACHR + arr(max(0,IHAUTREVT+min(0,IRN-IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * COPETO/100)
+                * positif(null(CMAJ-10)+null(CMAJ-17))
+                + FLAG_TRTARDIF * MAJOHR17_2TARDIF_D
+		);
+NMAJ4    =      somme (i=03..06,30,32,55: MAJOIRi);
+NMAJTAXA4  =    somme (i=03..06,30,55: MAJOTAXAi);
+NMAJC4 =  somme(i=03..06,30,32,55:MAJOCSi);
+NMAJR4 =  somme(i=03..06,30,32,55:MAJORDi);
+NMAJP4 =  somme(i=03..06,30,55:MAJOPSi);
+NMAJCSAL4 =  somme(i=03..06,30,55:MAJOCSALi);
+NMAJCDIS4 =  somme(i=03..06,30,55:MAJOCDISi);
+NMAJPCAP4 =  somme(i=03..06,30,55:MAJOCAPi);
+NMAJCHR4 =  somme(i=03..06,30,32,55:MAJOHRi);
+NMAJRSE14 =  somme(i=03..06,55:MAJORSE1i);
+NMAJRSE24 =  somme(i=03..06,55:MAJORSE2i);
+NMAJRSE34 =  somme(i=03..06,55:MAJORSE3i);
+NMAJRSE44 =  somme(i=03..06,55:MAJORSE4i);
+NMAJGAIN4 =  somme(i=03..06,55:MAJOGAINi);
+regle isf 9094 :
+application : batch, iliad ;
+MAJOISFTARDIF_A1 = MAJOISFTARDIF_A - MAJOISF17TARDIF_A;
+MAJOISFTARDIF_D1 = MAJOISFTARDIF_D - MAJOISF17TARDIF_D;
+MAJOISFTARDIF_R1 = MAJOISFTARDIF_R - MAJOISF17TARDIF_R;
+NMAJISF1BIS = max(0,MAJO1728ISF + arr(ISF4BASE * COPETO/100)
+                   + FLAG_TRTARDIF * MAJOISFTARDIF_D
+                   + FLAG_TRTARDIF_F * MAJOISFTARDIF_D
+                   - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOISFTARDIF_R
+					 + (1 - positif(FLAG_RECTIF)) * MAJOISFTARDIF_A)
+                 );
+regle 90101 :
+application : iliad , batch ;
+
+IAVIM = IRB + PTOT + TAXASSUR + PTAXA + IPCAPTAXTOT + PPCAP + TAXLOY + PTAXLOY + CHRAPRES + PHAUTREV ;
+
+IAVIM2 = IRB + PTOT ;
+
+regle 90113 :
+application : iliad , batch ;
+CDBA = positif_ou_nul(SEUIL_IMPDEFBA-SHBA-(REVTP-BA1)
+      -GLN1-REV2-REV3-REV4-REVRF);
+AGRBG = SHBA + (REVTP-BA1) + GLN1 + REV2 + REV3 + REV4 + REVRF ;
+
+regle 901130 :
+application : iliad , batch ;
+
+DBAIP =  abs(min(BAHQT + BAQT , DAGRI6 + DAGRI5 + DAGRI4 + DAGRI3 + DAGRI2 + DAGRI1)
+	     * positif(DAGRI6 + DAGRI5 + DAGRI4 + DAGRI3 + DAGRI2 + DAGRI1) * positif(BAHQT + BAQT)) ;
+
+regle 901131 :
+application : iliad , batch ;
+
+RBAT = max (0 , BANOR) ;
+
+regle 901132 :
+application : iliad , batch ;
+DEFIBA = (min(max(1+SEUIL_IMPDEFBA-SHBA-(REVTP-BA1)
+      -GLN1-REV2-REV3-REV4-REVRF,0),1)) * min( 0 , BANOR ) ;
+regle 901133 :
+application :  iliad, batch ;
+NAPALEG = abs(NAPT) ;
+
+INDNAP = 1 - positif_ou_nul(NAPT) ;
+
+GAINDBLELIQ = max(0,V_ANC_NAP*(1-2*V_IND_NAP) - NAPT) * (1-positif(V_0AN)) * (1 - V_CNR2) 
+	       * (1 - null(V_REGCO - 2)) * (1 - null(V_REGCO - 4)) * (1 - positif(IPTEFP+IPTEFN+IRANT));
+
+GAINPOURCLIQ = (1 - null(V_ANC_NAP*(1-2*V_IND_NAP))) * (V_ANC_NAP*(1-2*V_IND_NAP) - NAPT)/ V_ANC_NAP*(1-2*V_IND_NAP)  * (1 - V_CNR2);
+
+ANCNAP = V_ANC_NAP * (1-2*V_IND_NAP) ;
+
+
+INDPPEMENS = positif( ( positif(IRESTIT - 180) 
+		       + positif((-1)*ANCNAP - 180) 
+                       + positif(IRESTIT - IRNET - 180) * null(V_IND_TRAIT-5)
+		      ) * positif(PPETOT - PPERSA - 180) )
+	           * (1 - V_CNR) ;
+
+BASPPEMENS = INDPPEMENS * min(max(IREST,(-1)*ANCNAP*positif((-1)*ANCNAP)),PPETOT-PPERSA) * null(V_IND_TRAIT-4) 
+            + INDPPEMENS * max(0,min(IRESTIT-IRNET,PPETOT-PPERSA)) * null(V_IND_TRAIT-5) ;
+
+regle 90114 :
+application : iliad , batch ;
+IINET = max(0 , null(4 - V_IND_TRAIT) * (( NAPTOT - IRANT + NAPCR)* positif_ou_nul (NAPTOT - IRANT + NAPCR - SEUIL_12))
+	      + null (5 - V_IND_TRAIT) *  (TOTIRPS - TOTIRPSANT));
+IINETIR = max(0 , NAPTIR) ;
+
+regle 901140 :
+application : bareme  ;
+
+IINET = IRNET * positif ( IRNET - SEUIL_61 ) ;
+
+regle 9011410 :
+application : bareme , iliad , batch ;
+IRNET2 =  (IAR + PIR - IRANT) ;
+
+regle 901141 :
+application : iliad , batch ;
+
+IRNETTER = max ( 0 ,   IRNET2
+                       + (TAXASSUR + PTAXA - min(TAXASSUR+PTAXA+0,max(0,INE-IRB+AVFISCOPTER))
+                        - max(0,TAXASSUR + PTAXA  - min(TAXASSUR + PTAXA + 0,max(0,INE-IRB+AVFISCOPTER))+ min(0,IRNET2)))
+                       + (IPCAPTAXT + PPCAP - min(IPCAPTAXT + PPCAP,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA))
+                        - max(0,IPCAPTAXT+PPCAP -min(IPCAPTAXT+PPCAP,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA ))+ min(0,TAXANEG)))
+                       + (TAXLOY + PTAXLOY - min(TAXLOY + PTAXLOY,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA-IPCAPTAXT-PPCAP))
+                        - max(0,TAXLOY+PTAXLOY -min(TAXLOY+PTAXLOY,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA-IPCAPTAXT-PPCAP ))+ min(0,PCAPNEG)))
+                       + (IHAUTREVT + PHAUTREV - max(0,IHAUTREVT+PHAUTREV + min(0,LOYELEVNEG)))
+                )
+                       ;
+IRNETBIS = max(0 , IRNETTER - PIR * positif(SEUIL_12 - IRNETTER + PIR) 
+				  * positif(SEUIL_12 - PIR) 
+				  * positif_ou_nul(IRNETTER - SEUIL_12)) ;
+
+regle 901143 :
+application : iliad , batch ;
+IRNET =  null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * IRNETBIS * positif_ou_nul(IRB - min(max(0,IRB-AVFISCOPTER),INE))
+          + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+                    *
+                    (
+                    ((positif(IRE) + positif_ou_nul(IAVIM + NAPCRPAVIM - SEUIL_61) * (1 - positif(IRE)))
+                    *
+                    max(0, CHRNEG + NRINET + IMPRET + (RASAR * V_CR2) + (IRNETBIS * positif(positif_ou_nul(IAVIM + NAPCRPAVIM- SEUIL_61)) 
+		                                                                  * positif_ou_nul(IRB - min(max(0,IRB-AVFISCOPTER),INE)))     
+                      ) * (1 - positif(IRESTIT)))
+                    + ((1 - positif_ou_nul(IAVIM + NAPCRPAVIM - SEUIL_61)) * (1 - positif(IRE)) * max(0, CHRNEG + NRINET + IMPRET + (RASAR * V_CR2)))
+                    ) ;
+regle 901144 :
+application : iliad , batch ;
+TOTNET = max (0,NAPTIR + NAPCRP);
+regle 9011411 :
+application : iliad , batch ;
+TAXANEG = min(0 , TAXASSUR + PTAXA - min(TAXASSUR + PTAXA + 0 , max(0,INE-IRB+AVFISCOPTER)) + min(0 , IRNET2)) ;
+TAXNET = positif(TAXASSUR)
+	  * max(0 , TAXASSUR + PTAXA  - min(TAXASSUR + PTAXA + 0,max(0,INE-IRB+AVFISCOPTER)) + min(0 , IRNET2)) ;
+TAXANET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * TAXNET
+	   + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+             * (positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61) * TAXNET + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0) ;
+
+regle 90114111 :
+application : iliad , batch ;
+PCAPNEG =  min(0,IPCAPTAXT+PPCAP -min(IPCAPTAXT+PPCAP,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA ))+ min(0,TAXANEG)) ;
+PCAPTAXNET = positif(IPCAPTAXT)
+                * max(0,IPCAPTAXT+PPCAP -min(IPCAPTAXT+PPCAP,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA ))+ min(0,TAXANEG)) ;
+PCAPNET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * PCAPTAXNET
+	   + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+			* ( positif_ou_nul(IAMD1+NAPCRPIAMD1  - SEUIL_61) * PCAPTAXNET + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0 ) ;
+regle 90114112 :
+application : iliad , batch ;
+LOYELEVNEG =  min(0,TAXLOY + PTAXLOY -min(TAXLOY + PTAXLOY,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA-IPCAPTAXT-PPCAP ))+ min(0,PCAPNEG)) ;
+LOYELEVNET = positif(LOYELEV)
+                * max(0,TAXLOY+PTAXLOY -min(TAXLOY+PTAXLOY,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA-IPCAPTAXT-PPCAP ))+ min(0,PCAPNEG)) ;
+TAXLOYNET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * LOYELEVNET
+                + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+                * ( positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61) * LOYELEVNET + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0 ) ;
+regle 901141111 :
+application : iliad , batch ;
+CHRNEG = min(0 , IHAUTREVT + PHAUTREV + min(0 , LOYELEVNEG)) ;
+CHRNET = positif(IHAUTREVT)
+                * max(0,IHAUTREVT+PHAUTREV + min(0,LOYELEVNEG))
+               ;
+HAUTREVNET = (null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * CHRNET
+              +
+              positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+              * ( positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61) * CHRNET
+              + (1 - positif_ou_nul(IAMD1 +NAPCRPIAMD1 - SEUIL_61)) * 0 )
+              ) * (1-null(1-FLAG_ACO))
+              ;
+regle 9011412 :
+application : bareme ;
+
+IRNET = max(0 , IRNET2 + RECOMP) ;
+
+regle 9011413 :
+application : iliad , batch ;
+
+IRPROV = min (IRANT , IAR + PIR) * positif(IRANT) ;
+
+regle 9012401 :
+application : batch , iliad ;
+NAPPSAVIM = (PRS + PPRS ) ;
+NAPCSAVIM = (CSG + PCSG ) ;
+NAPRDAVIM = (RDSN + PRDS) ;
+NAPGAINAVIM = (CGAINSAL + PGAIN) ;
+NAPCSALAVIM = (CSAL + PCSAL) ;
+NAPCVNAVIM = (CVNSALC + PCVN) ;
+NAPCDISAVIM = (CDIS + PCDIS) ;
+NAPGLOAVIM = (CGLOA + PGLOA) ;
+NAPRSE1AVIM = (RSE1N + PRSE1) ;
+NAPRSE2AVIM = (RSE2N + PRSE2) ;
+NAPRSE3AVIM = (RSE3N + PRSE3) ;
+NAPRSE4AVIM = (RSE4N + PRSE4) ;
+NAPRSE5AVIM = (RSE5N + PRSE5) ;
+NAPCRPAVIM = max(0 , NAPPSAVIM + NAPCSAVIM + NAPRDAVIM + NAPGAINAVIM + NAPCSALAVIM + NAPCVNAVIM + NAPCDISAVIM + NAPGLOAVIM
+                    + NAPRSE1AVIM + NAPRSE2AVIM + NAPRSE3AVIM + NAPRSE4AVIM + NAPRSE5AVIM);
+regle 90114010 :
+application : batch , iliad ;
+NAPCRPIAMD1 = PRS+CSG+RDSN +CGAINSAL + CSAL +CVNSALC + CDIS + CGLOA + RSE1N + RSE2N + RSE3N + RSE4N + RSE5N ;
+regle 9011402 :
+application : batch , iliad ;
+NAPPS   = PRSNET   * positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61);
+NAPCS   = CSNET    * positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61);
+NAPRD   = RDNET    * positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61);
+NAPGAIN = GAINNET  * positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61);
+NAPCSAL = CSALNET  * positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61);
+NAPCVN  = CVNNET   * positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61);
+NAPCDIS = CDISNET  * positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61);
+NAPGLOA = CGLOANET * positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61);
+NAPRSE1 = RSE1NET  * positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61);
+NAPRSE2 = RSE2NET  * positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61);
+NAPRSE3 = RSE3NET  * positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61);
+NAPRSE4 = RSE4NET  * positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61);
+NAPRSE5 = RSE5NET  * positif_ou_nul(IAMD1 +NAPCRPIAMD1- SEUIL_61);
+NAPCRP2 = max(0 , NAPPS + NAPCS + NAPRD + NAPGAIN + NAPCSAL + NAPCVN + NAPCDIS + NAPGLOA + NAPRSE1 + NAPRSE2 + NAPRSE3 + NAPRSE4 + NAPRSE5);
+regle 9011407 :
+application : iliad , batch ;
+IKIRN = KIR ;
+
+IMPTHNET = max(0 , (IRB * positif_ou_nul(IRB-SEUIL_61)-INE-IRE)
+		       * positif_ou_nul((IRB*positif_ou_nul(IRB-SEUIL_61)-INE-IRE)-SEUIL_12)) 
+	     * (1 - V_CNR) ;
+
+regle 90115 :
+application : iliad , batch ;
+IRESTIT = abs(min(0 , IRN + PIR + NRINET + IMPRET + RASAR
+                    + (TAXASSUR + PTAXA - min(TAXASSUR+PTAXA+0,max(0,INE-IRB+AVFISCOPTER)))
+                    + (IPCAPTAXT + PPCAP - min(IPCAPTAXT + PPCAP,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA)))
+                    + (TAXLOY + PTAXLOY - min(TAXLOY + PTAXLOY,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA-IPCAPTAXT-PPCAP)))
+                    + (IHAUTREVT + PHAUTREV) * (1-null(1-FLAG_ACO))                                                   
+                 + NAPCRPAVIM-(CSGIM+CRDSIM+PRSPROV+CSALPROV+GAINPROV+PROVCVNSAL+CDISPROV+CSPROVYD+CSPROVYF+CSPROVYG+CSPROVYH+CSPROVYE))
+                 ) * positif_ou_nul(IAVIM+NAPCRPAVIM - SEUIL_61)
+         + abs(min(0 , IRN + PIR + NRINET + IMPRET + RASAR
+                  + (TAXASSUR + PTAXA - min(TAXASSUR+PTAXA+0,max(0,INE-IRB+AVFISCOPTER)))
+                  + (IPCAPTAXT + PPCAP - min(IPCAPTAXT + PPCAP,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA)))
+                  + (TAXLOY + PTAXLOY - min(TAXLOY + PTAXLOY,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA-IPCAPTAXT-PPCAP)))
+                  + (IHAUTREVT + PHAUTREV) * (1-null(1-FLAG_ACO))))
+		  * (1 - positif_ou_nul(IAVIM+NAPCRPAVIM - SEUIL_61))
+		 ;
+regle 90115001 :
+application : iliad , batch ;
+IRESTITIR = abs(min(0 , IRN + PIR + NRINET + IMPRET + RASAR
+                    + (TAXASSUR + PTAXA - min(TAXASSUR+PTAXA+0,max(0,INE-IRB+AVFISCOPTER)))
+                    + (IPCAPTAXT + PPCAP - min(IPCAPTAXT + PPCAP,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA)))
+                    + (TAXLOY + PTAXLOY - min(TAXLOY + PTAXLOY,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA-IPCAPTAXT-PPCAP)))
+                    + (IHAUTREVT + PHAUTREV) * (1-null(1-FLAG_ACO))
+                 )
+	     ) ;
+regle 901151 :
+application : iliad , batch ;
+IREST = null(4 - V_IND_TRAIT) * max(0 , IRESTIT - RECUMBIS)
+       + null(5- V_IND_TRAIT) * max(0,V_NONRESTANT - V_ANTRE - min(0,NAPTEMP));
+regle 9011511 :
+application : iliad , batch ;
+IRESTIR = max(0 , IRESTITIR - RECUMBISIR);
+IINETCALC = max(0,NAPTEMP - TOTIRPSANT);
+NONREST  =  (null(V_IND_TRAIT -4) * positif(SEUIL_8 - IRESTIT) * IRESTIT)
+   + (null(5-V_IND_TRAIT) * max(NONRESTEMP,min(7,(IDEGR+IREST)*positif(IRESTIT))));
+
+regle 901160 :
+application : batch , iliad ;
+TOTREC = positif_ou_nul(IRN + TAXANET + PIR + PCAPNET + TAXLOYNET + HAUTREVNET + NAPCRP - SEUIL_12) ;
+regle 90116011 :
+application :  batch , iliad ;
+
+CSREC = positif(NAPCRP) * positif_ou_nul((IAVIM +NAPCRPAVIM) - SEUIL_61);
+
+CSRECINR = positif(NAPCRINR) ;
+
+regle 90116 :
+application : batch , iliad ;
+
+RSEREC = positif(max(0 , NAPRSE1 + NAPRSE2 + NAPRSE3 + NAPRSE4 + NAPRSE5)
+                 * positif_ou_nul(NAPTOT+NAPCRP- SEUIL_12)) ;
+
+regle 9011603 :
+application :  batch , iliad ;
+
+CSRECA = positif_ou_nul(PRS_A + PPRS_A + CSG_A + RDS_A + PCSG_A + PRDS_A
+                       + CSAL_A + CVN_A+ CDIS_A + CGLOA_A + GAINBASE_A + RSE1BASE_A + RSE2BASE_A + RSE3BASE_A + RSE4BASE_A + RSE5BASE_A + IRNIN_A
+                       + TAXABASE_A + CHRBASE_A + PCAPBASE_A + LOYBASE_A
+                       - SEUIL_12) ;
+regle isf 90110 :
+application : iliad ;
+ISFDEGR = max(0,(ANTISFAFF  - ISF4BIS * positif_ou_nul (ISF4BIS - SEUIL_12)) 
+	   * (1-positif_ou_nul (ISF4BIS - SEUIL_12))
+          + (ANTISFAFF  - ISFNET * positif_ou_nul (ISFNET - SEUIL_12))
+	   * positif_ou_nul(ISF4BIS - SEUIL_12)) ;
+
+
+ISFDEG = ISFDEGR * positif_ou_nul(ISFDEGR - SEUIL_8) ;
+
+regle corrective 9011602 :
+application : iliad ;
+IDEGR = max(0,V_IRPSANT + V_NONRESTANT - max(0,NAPTEMP));
+
+IRDEG = positif(NAPTOTAIR - IRNET) * positif(NAPTOTAIR) * max(0 , V_ANTIR - max(0,IRNET))
+	* positif_ou_nul(IDEGR - SEUIL_8) ;                   
+
+TAXDEG = positif(NAPTOTAIR - TAXANET) * positif(NAPTOTAIR) * max(0 , V_TAXANT - max(0,TAXANET)) ;                    
+
+TAXADEG = positif(TAXDEG) * positif(V_TAXANT) * max(0 , V_TAXANT - max(0,TOTAXAGA))
+          * positif_ou_nul(IDEGR - SEUIL_8) ;
+
+PCAPTAXDEG = positif(NAPTOTAIR - PCAPNET) * positif(NAPTOTAIR) * max(0 , V_PCAPANT- max(0,PCAPNET)) ;
+
+PCAPDEG = positif(PCAPTAXDEG) * positif (V_PCAPANT) * max(0 , V_PCAPANT - max(0,PCAPTOT)) 
+          * positif_ou_nul(IDEGR - SEUIL_8) ;
+
+TAXLOYERDEG = positif(NAPTOTAIR - TAXLOYNET) * positif(NAPTOTAIR) * max(0 , V_TAXLOYANT- max(0,TAXLOYNET)) ;
+
+TAXLOYDEG = positif(TAXLOYERDEG) * positif (V_TAXLOYANT) * max(0 , V_TAXLOYANT - max(0,TAXLOYTOT)) 
+          * positif_ou_nul(IDEGR - SEUIL_8) ;
+
+HAUTREVTAXDEG =  positif(NAPTOTAIR - HAUTREVNET) * positif(NAPTOTAIR) * max(0 , V_CHRANT - max(0,HAUTREVNET)) ;
+
+HAUTREVDEG = positif(HAUTREVTAXDEG) * positif(V_CHRANT) * max(0 , V_CHRANT - max(0,HAUTREVTOT)) 
+             * positif_ou_nul(IDEGR - SEUIL_8) ;
+regle 90504:
+application : batch , iliad ;
+ABSRE = ABMAR + ABVIE;
+regle 90509:
+application : iliad , batch ;
+
+REVTP = PTP ;
+
+regle 90522:
+application : batch , iliad ;
+RPEN = PTOTD * positif(APPLI_ILIAD + APPLI_COLBERT);
+regle isf 905270:
+application : iliad  ;
+ANTISFAFF = V_ANTISF * (1-positif(APPLI_OCEANS));    
+
+regle 90527:
+application :  iliad  ;
+ANTIRAFF = V_ANTIR  * APPLI_ILIAD   
+	    + 0 ;
+
+TAXANTAFF = V_TAXANT * APPLI_ILIAD * (1- APPLI_OCEANS)
+            + TAXANET_A * APPLI_OCEANS
+	    + 0 ;
+
+PCAPANTAFF = V_PCAPANT * APPLI_ILIAD * (1- APPLI_OCEANS)
+            + PCAPNET_A * APPLI_OCEANS
+	    + 0 ;
+TAXLOYANTAFF = V_TAXLOYANT * APPLI_ILIAD * (1- APPLI_OCEANS)
+            + TAXLOYNET_A * APPLI_OCEANS
+	    + 0 ;
+
+HAUTREVANTAF = V_CHRANT * APPLI_ILIAD * (1- APPLI_OCEANS)
+            + CHRNET_A * APPLI_OCEANS
+	    + 0 ;
+regle 90514:
+application : iliad , batch ;
+IDRT = IDOM11;
+regle 90525:
+application : iliad , batch ;
+IAVT = IRE - EPAV - CICA + 
+          min( IRB , IPSOUR + CRCFA ) +
+          min( max(0,IAN - IRE) , (BCIGA * (1 - positif(RE168+TAX1649))));
+IAVT2 = IAVT + CICA;
+regle 907001  :
+application : iliad, batch ;
+INDTXMOY = positif(TX_MIN_MET - TMOY) * positif( (present(RMOND) 
+                             + present(DMOND)) ) * V_CR2 ;
+INDTXMIN = positif_ou_nul( IMI - IPQ1 ) 
+           * positif(1 - INDTXMOY) * V_CR2;
+regle 907002  :
+application : batch,  iliad ;
+IND_REST = positif(IREST) ;
+regle 907003  :
+application :  iliad, batch ;
+IND_NI =  null(NAPT) * (null (IRNET));
+regle 9070030  :
+application :  iliad, batch ;
+IND_IMP = positif(NAPT);
+
+INDNMR =  null(NAPT) * null(NAT1BIS) * (positif (IRNET + TAXANET + PCAPNET+ TAXLOYNET+ HAUTREVNET+NAPCRP));
+IND61 =  (positif_ou_nul(IAMD1+NAPCRPIAMD1 - SEUIL_61) * 2)
+	+ ((1-positif_ou_nul(IAMD1+NAPCRPIAMD1 - SEUIL_61))*positif(IAMD1+NAPCRPIAMD1) * 1)
+	+ (null(IAMD1+NAPCRPIAMD1) * 3);
+regle 9070031  :
+application :  iliad, batch ;
+INDCEX =  null(1-NATIMP) *1
++ positif(null(11-NATIMP)+null(21-NATIMP)+null(81-NATIMP)+null(91-NATIMP)) * 2
++ null(00 - NATIMP) * 3;
+
+INDNMRI = INDNMR * positif ( RED ) ;
+
+INDNIRI =   positif(IDOM11-DEC11) * null(IAD11);
+regle 907004  :
+application : batch , iliad ;
+
+IND_REST50 = positif(SEUIL_8 - IREST) * positif(IREST) * (1-positif(APPLI_OCEANS));
+IND08 = positif(NAPT*(-1)) * (positif(SEUIL_8 - abs(NAPT)) * 1 
+                          + (1-positif(SEUIL_8 - abs(NAPT))) * 2 );
+
+regle 9070041  :
+application : iliad, batch;
+INDMAJREV = positif(
+ positif(BIHNOV)
++ positif(BIHNOC)
++ positif(BIHNOP)
++ positif(BICHREV)
++ positif(BICHREC)
++ positif(BICHREP)
++ positif(BNHREV)
++ positif(BNHREC)
++ positif(BNHREP)
++ positif(ANOCEP)
++ positif(ANOVEP)
++ positif(ANOPEP)
++ positif(BAFV)
++ positif(BAFC)
++ positif(BAFP)
++ positif(BAHREV)
++ positif(BAHREC)
++ positif(BAHREP)
++ positif(4BAHREV)
++ positif(4BAHREC)
++ positif(4BAHREP)
++ positif(REGPRIV)
+);
+regle 907005  :
+application : iliad , batch ;
+INDNMR1 = (1 - positif(IAMD1 + NAPCRPIAMD1 + 1 - SEUIL_61)) 
+	   * null(NAPT) * positif(IAMD1 + NAPCRPIAMD1) ;
+
+INDNMR2 = positif(INDNMR) * (1 - positif(INDNMR1)) ;
+IND12 = (positif(SEUIL_12 - (CSTOT +IRNET+TAXANET+TAXLOYNET+PCAPNET+HAUTREVNET-IRESTITIR))*
+			   positif(CSTOT +IRNET+TAXANET+TAXLOYNET+PCAPNET+HAUTREVNET-IRESTITIR)* 1 )
+	+ ((1 - positif(SEUIL_12 - (CSTOT +IRNET+TAXANET+TAXLOYNET+PCAPNET+HAUTREVNET-IRESTITIR))) * 2 )
+	+ (null(CSTOT +IRNET+TAXANET+TAXLOYNET+PCAPNET+HAUTREVNET-IRESTITIR) * 3);
+regle 907006  :
+application : batch,iliad ;
+
+
+INDV = positif_ou_nul ( 
+  positif( ALLOV ) 
+ + positif( REMPLAV ) + positif( REMPLANBV )
+ + positif( BACDEV ) + positif( BACREV )
+ + positif( 4BACREV ) + positif( 4BAHREV )
+ + positif( BAFPVV )
+ + positif( BAFV ) + positif( BAHDEV ) + positif( BAHREV )
+ + positif( BICDEV ) + positif( BICDNV )
+ + positif( BICHDEV )
+ + positif( BICHREV ) + positif( BICNOV )
+ + positif( BICREV ) 
+ + positif( BIHDNV ) + positif( BIHNOV )
+ + positif( BNCAADV ) + positif( BNCAABV ) + positif( BNCDEV ) + positif( BNCNPPVV )
+ + positif( BNCNPV ) + positif( BNCPROPVV ) + positif( BNCPROV )
+ + positif( BNCREV ) + positif( BNHDEV ) + positif( BNHREV )
+ + positif( BPCOSAV ) + positif( CARPENBAV ) + positif( CARPEV )
+ + positif( CARTSNBAV ) + positif( CARTSV ) + positif( COTFV )
+ + positif( DETSV ) + positif( FRNV ) + positif( GLD1V )
+ + positif( GLDGRATV )
+ + positif( GLD2V ) + positif( GLD3V ) + positif( ANOCEP )
+ + positif( MIBNPPRESV ) + positif( MIBNPPVV ) + positif( MIBNPVENV )
+ + positif( MIBPRESV ) + positif( MIBPVV ) + positif( MIBVENV )
+ + positif( PALIV ) + positif( PENSALV ) + positif( PENSALNBV ) 
+ + positif( PEBFV ) + positif( PRBRV )
+ + positif( TSHALLOV ) + positif( DNOCEP ) + positif(BAFORESTV)
+ + positif( LOCPROCGAV ) + positif( LOCPROV ) + positif( LOCNPCGAV )
+ + positif( LOCNPV ) + positif( LOCDEFNPCGAV ) + positif( LOCDEFNPV )
+ + positif( MIBMEUV ) + positif( MIBGITEV ) + positif( BICPMVCTV )
+ + positif( BNCPMVCTV ) + positif( LOCGITV )
+);
+INDC = positif_ou_nul ( 
+  positif( ALLOC ) 
+ + positif( REM
\ No newline at end of file
diff --git a/sources2012m_3_13/tgvB.m b/sources2012m_3_13/tgvB.m
new file mode 100644
index 0000000000000000000000000000000000000000..7d106ed4aabd9e728500eff23f35f18d321bdf82
--- /dev/null
+++ b/sources2012m_3_13/tgvB.m
@@ -0,0 +1,425 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 12 Application bareme
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A12REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1156.00000  ;
+ABSPRNG : calculee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+AGC : calculee : "Age du conjoint" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+APERPC : calculee : "bse retenu PERP" ;
+APERPCTEF : calculee : "bse retenu PERP tx eff" ;
+APERPP : calculee : "bse retenu PERP" ;
+APERPPTEF : calculee : "bse retenu PERP tx eff" ;
+APERPV : calculee : "bse retenu PERP" ;
+APERPVTEF : calculee : "bse retenu PERP tx eff" ;
+APPLI_BATCH : calculee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_COLBERT : saisie contexte classe = 0 priorite = 0 categorie_TL = 0 alias V_COLBERT : "Appli_Colbert" type BOOLEEN ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : saisie contexte classe = 0 priorite = 0 categorie_TL = 0 alias V_OCEANS : "Appli_Oceans" ;
+APPLI_PRO : calculee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+AUBAINE10 : calculee : "avantage en impot (A2) lie a avantages fiscaux 2010" ;
+AUBAINE11 : calculee : "avantage en impot (A1) lie a avantages fiscaux 2011" ;
+AUBAINE12 : calculee : "avantage en impot (A4) lie a avantages fiscaux 2011" ;
+AUBAINE9 : calculee : "avantage en impot (A3) lie a av. fiscaux 2009 pris en compte en 2011" ;
+AUTOVERSSUP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 11 sanction = 0 nat_code = 0 alias 8UX : "Auto-entrepreneur : supplement de versement liberatoire" ;
+AVFISCO : calculee restituee base : "economie d impot susceptible d etre plafonnee." ;
+AVFISCOP : calculee restituee base : "economie d impot plafonnee." ;
+AVFISCOPTER : calculee base : "Plafonnement des avantages fiscaux. variable visible dans cresource" ;
+AVPLAF10 : calculee : "Plafonnement 2010 avantages fiscaux (2010/2010)" ;
+AVPLAF11 : calculee : "Plafonnement 2011 avantages fiscaux (2011/2011)" ;
+AVPLAF12 : calculee : "Plafonnement 2012 avantages fiscaux (2012/2012)" ;
+AVPLAF9 : calculee : "Plafonnement 2009 avantages fiscaux (2009/2010)" ;
+BA1 : calculee : "Plus-values BA imposables pour le foyer" ;
+BANOR : calculee : "Benefices agricoles taxes suivant l'imposition normale" ;
+BASPPEMENS : calculee : "Base PPE mensuel" ;
+BCICHR : calculee base : "Impot Hauts Revenus credit impot" ;
+BCIDONENTR : calculee : "base limitee du Credit d'impot dons oeuvres entreprises" ;
+BCIGA : calculee : "base limitee du Credit d'impot groupement de prevention agree" ;
+BIDON : calculee : "variable bidon pour test" ;
+BIGREST : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YJ : "Restitution >= 10 000 e non validee par le RDC et taxee a la 4eme IR" type REEL ;
+BMI : calculee : "Base taux minimum metropole" ;
+BNCEXP : saisie revenu classe = 0 priorite = 10 categorie_TL = 15 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias 5SB : "BNC prof. sous AA - Revenus exoneres - PAC" ;
+BOOLENF : calculee : "Zone Situation de Famille - Presence d'enfants a charges" ;
+BOOL_0AM : calculee : "Zone Situation de Famille - Veufs sans EAC" ;
+BOOL_0AZ : calculee : "booleen : vaut 1 si vauf dans  l annee" ;
+BOOL_0BT : calculee : "booleen : case OBT retenue" ;
+BOOL_CDV : calculee : "Booleen - vaut 1 si  celibataire, divorce, separe ou veuf." ;
+BOOL_PACSFL : calculee : "Booleen - vaut 0 si  PAC ou 0CH" ;
+BOOL_V : calculee : "Zone Situation de Famille - Veufs sans EAC" ;
+BOOL_W : calculee : "Booleen - vaut 1 si  W et personne d au moins 75 ans" ;
+BPCAPTAXC : calculee : "Base pension capital taxable conjoint" ;
+BPCAPTAXV : calculee : "Base pension capital taxable vous" ;
+CAP_ISO_RECT : calculee base : "IR apres prise en compte de tous rappels" ;
+CARPENBAC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NBS : "Pensions taxees au quotient : nombre d'annees - Declarant 2" ;
+CARPENBAP1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NCS : "Pensions taxees au quotient : nombre d'annees - PAC 1" ;
+CARPENBAP2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NDS : "Pensions taxees au quotient : nombre d'annees - PAC 2" ;
+CARPENBAP3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NES : "Pensions taxees au quotient : nombre d'annees - PAC 3" ;
+CARPENBAP4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NFS : "Pensions taxees au quotient : nombre d'annees - PAC 4" ;
+CARPENBAV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NAS : "Pensions taxees au quotient : nombre d'annees - Declarant 1" ;
+CARTSNBAC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NBJ : "Salaires taxes au quotient : nombre d'annees - Declarant 2" ;
+CARTSNBAP1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NCJ : "Salaires taxes au quotient : nombre d'annees - PAC 1" ;
+CARTSNBAP2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NDJ : "Salaires taxes au quotient : nombre d'annees - PAC 2" ;
+CARTSNBAP3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NEJ : "Salaires taxes au quotient : nombre d'annees - PAC 3" ;
+CARTSNBAP4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NFJ : "Salaires taxes au quotient : nombre d'annees - PAC 4" ;
+CARTSNBAV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NAJ : "Salaires taxes au quotient : nombre d'annees - Declarant 1" ;
+CDIS : calculee : "Contribution sociale salariale" ;
+CDISBASE_A : calculee base : "correctif : cdis calculee effectivement anterieure" ;
+CDISD : calculee : "Cont. soc. salariale due 30%" ;
+CDIS_A : calculee base : "correctif : Cdis anterieure" ;
+CGAIND : calculee : "Cont. salariale 8% due" ;
+CGAINSAL : calculee : "Contribution salariale de 8 %" ;
+CGLOAD : calculee : "Contrib. GLO  due" ;
+CGLOA_A : calculee base : "correctif : CGLOA anterieure" ;
+CHRAPRES : calculee base : "Impot Hauts Revenus apres calcul  tx eff ou non" ;
+CHRAVANT : calculee base : "Impot Hauts Revenus avant tx eff." ;
+CHRBASE_A : calculee base : "correctif : base calculee effectivement anterieure" ;
+CHRDED : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 9 sanction = 0 nat_code = 1 alias 6DD : "Deductions diverses" ;
+CHRNEG : calculee : "taxe + INR + majo" ;
+CHRNEG_NOP : calculee : "CHRNEG hors penalite" ;
+CHRNET : calculee : "cont haut rev.  + INR + majo" ;
+CHRREEL1 : calculee : "Haut revenu calcul contrib." ;
+CHRREEL2 : calculee : "Haut revenu calcul contrib." ;
+CHRREELTOT : calculee : "Haut revenu calcul contrib. theorique total" ;
+CHRTEFF : calculee base : "Impot Hauts Revenus tx eff " ;
+CHRTHEO1 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEO11 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEO2 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEO21 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEOTOT : calculee : "Haut revenu calcul contrib. theorique total" ;
+CHR_ISO_RECT : calculee base : "IR apres prise en compte de tous rappels" ;
+CICA_A : calculee base : "correctif : credit impot TADB  anterieur" ;
+CICHR : calculee base : "Impot Hauts Revenus credit impot" ;
+CICORSE : calculee : "Credit d'impot investissement Corse" ;
+CICORSEAVIS : calculee : "Credit d'impot investissement Corse pour avis avec 8TS" ;
+CICULTUR : calculee : "Credit d'impot investissement biens cultures retenu" ;
+CIDONENTR : calculee : "Credit d'impot dons oeuvre entreprise" ;
+CIGPA : calculee : "Credit d'impot groupement de prevention agree" ;
+CIMPTL : calculee : "Total des credits d'impot pour le calcul de la TL" ;
+CIRCMAVFT : calculee : "Credit d'impot ligne 2AB" ;
+CIRECH : calculee : "Credit d'impot recherche" ;
+CMAJ : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 11 sanction = 0 nat_code = 0 alias 9YT : "Code majoration           " ;
+CMAJ2 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 0 avfisc = 1 rapcat = 11 sanction = 0 nat_code = 0 alias V_CMAJ2 : "Code majoration           " ;
+CMAJ_ISF : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 0 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 0 sanction = 0 nat_code = 0 alias 9XT : "ISF : code majoration           " ;
+CO2047 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YH : "Case a cocher si le contribuable a souscrit une declaration 2047 " ;
+CO2102 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YG : "Code permettant l'edition de la lettre 754K  " type BOOLEEN ;
+CODCHA : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YF : "Code chargement (nb de codes saisis)" ;
+CODSIR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YK : "Restitution des recoupements dans le FLR       " ;
+COMPENSACI : calculee : "Compensation restitution credit impot sur PS suite a fusion IR/PS" ;
+COMPENSANV : calculee : "Compensation restitution admission non val sur PS suite a fusion IR/PS" ;
+COMPENSIR : calculee : "Compensation IR suite a fusion IR/PS" ;
+COMPENSPPE : calculee : "Compensation restitution PPE  sur PS suite a fusion IR/PS" ;
+COMPENSPS : calculee : "Compensation PS suite a fusion IR/PS" ;
+COPETO : calculee : "Taux de penalite du a la saisie des codes 9YT et 9YW" ;
+COPETOISF : calculee : "ISF : Taux de penalite du a la saisie des codes 9XT " ;
+COTF1 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias FCT : "Nb d'annees cotisations footballeurs - PAC 1" ;
+COTF2 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias FDT : "Nb d'annees cotisations footballeurs - PAC 2" ;
+COTF3 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias FET : "Nb d'annees cotisations footballeurs PAC 3" ;
+COTF4 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias FFT : "Nb d'annees cotisations footballeurs - PAC 4" ;
+COTFC : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias FBT : "Nb d'annees cotisations footballeurs - Declarant 2" ;
+COTFV : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias FAT : "Nb d'annees cotisations footballeurs - Declarant 1" ;
+CRCFA : calculee : "Credit d'impot revenus etrangers" ;
+CRDIE : calculee : "Credit d'impot convention franco-allemande" ;
+CRESINTER : calculee : "Credit pret sans interet" ;
+CRICH : calculee : "Credit recherche 8NJ plafonne" ;
+CRIGA : saisie revenu classe = 0 priorite = 51 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 sanction = 0 nat_code = 1 alias 8TE : "Credit d'impot centre de prevention agree" ;
+CRSE1D : calculee : "cont. reve source etrangere due" ;
+CRSE2D : calculee : "cont. reve source etrangere due" ;
+CRSE3D : calculee : "cont. reve source etrangere due" ;
+CRSE4D : calculee : "cont. reve source etrangere due" ;
+CRSE5D : calculee : "cont. reve source etrangere due" ;
+CSAL : calculee : "Cont. salariale de 2,5 %" ;
+CSALBASE_A : calculee base : "correctif : csal calculee effectivement anterieure" ;
+CSALD : calculee : "Cont. salariale due" ;
+CSAL_A : calculee base : "correctif : CSal anterieure" ;
+CSGD : calculee : "CSG due" ;
+CSG_A : calculee base : "correctif : CSG anterieure" ;
+CVNBASE_A : calculee base : "correctif : base calculee effectivement anterieure" ;
+CVND : calculee : "CVN due" ;
+CVNSALC : calculee : "Contribution salariale de 10 %" ;
+CVN_A : calculee base : "correctif : CVNSAL anterieure" ;
+DAR : calculee : "Deficits anterieurs reportables" ;
+DAR_REP : calculee : "Deficits anterieurs reportables pour calcul report" ;
+DATDEPETR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 sanction = 0 nat_code = 0 alias 9YD : "Date depart a l'etranger " ;
+DATISFAA : calculee base : "date isf annee" ;
+DATISFDIFA : calculee base : "date isf annee" ;
+DATISFDIFM : calculee base : "date isf mois" ;
+DATISFMM : calculee base : "date isf mois" ;
+DATISFTOT : calculee base : "date isf aa + mm" ;
+DATRETETR : saisie revenu classe = 0 priorite = 60 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 sanction = 0 nat_code = 0 alias 9YR : "Date retour en France     " ;
+DCP : calculee : "Deduction pour souscription societe de PECHE (SOFIPECHE)" ;
+DCSG : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 9 sanction = 0 nat_code = 1 alias 6DE : "CSG deductible" ;
+DCSGIM_A : calculee base : "csg deductible provisoire anterieure" ;
+DDCSG : calculee : "Libelle CSG deductible" ;
+DEC11 : calculee : "Decote totale" ;
+DEC12 : calculee : "Decote totale" ;
+DEC31 : calculee : "Impot KIR (suprression des reductions)" ;
+DEC32 : calculee : "Impot KIR (suprression des reductions)" ;
+DEC6 : calculee : "Decote pour la taxation du 8VV (art. 168)" ;
+DEDIV : calculee : "Deductions diverses" ;
+DFA : calculee : "Deduction pour frais d'accueil" ;
+DFCE : calculee : "Deficit foncier apres imputation deficits 3CE" ;
+DFCG : calculee : "Deficit foncier apres imputation deficits 3CG" ;
+DISFE : calculee : "ISF : ISF paye a l etranger a imputer sur ISF net des reductions ISF " ;
+DISQUONB : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 1 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 5 sanction = 0 nat_code = 1 alias NTS : "Distributions taxees au quotient - Nb d'annees" ;
+DMOND : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 11 sanction = 0 nat_code = 1 alias 8ZY : "Deficit net mondial (taux moyen pour les non-residents)" ;
+DOMABDB : calculee : "DOM : abattement non utilise calcule sur les droits au bareme" ;
+DOMAVTO : calculee : "DOM : avantage taux minore" ;
+DOMDOM : calculee : "DOM : calcul avantage maximum sur l impot proportionnel" ;
+DPA : calculee : "Deduction pour pensions alimentaires" ;
+DPAE : calculee : "Deduction pour pension alimentaire etudiant" ;
+DRCF : calculee : "Deficit foncier imputable sur le RBG" ;
+DRF : calculee : "Deficit foncier imputable sur le RBG" ;
+DS011 : calculee : "Droits simples issus du bareme" ;
+DS012 : calculee : "Droits simples issus du bareme" ;
+DS013 : calculee : "Droits simples issus du bareme" ;
+DS014 : calculee : "Droits simples issus du bareme" ;
+DS015 : calculee : "Droits simples issus du bareme" ;
+DS016 : calculee : "Droits simples issus du bareme 8VV art. 168" ;
+DS021 : calculee : "Droits simples issus du bareme" ;
+DS022 : calculee : "Droits simples issus du bareme" ;
+DS023 : calculee : "Droits simples issus du bareme" ;
+DS024 : calculee : "Droits simples issus du bareme" ;
+DS026 : calculee : "Droits simples issus du bareme 8VV art. 168" ;
+DS1 : calculee : "Droits simples issus du bareme" ;
+DS2 : calculee : "Droits simples issus du bareme" ;
+DS3 : calculee : "Droits simples issus du bareme" ;
+DS4 : calculee : "Droits simples issus du bareme" ;
+DS5 : calculee : "Droits simples issus du bareme" ;
+DS511 : calculee : "Droits simples issus du bareme" ;
+DS512 : calculee : "Droits simples issus du bareme" ;
+DS515 : calculee : "Droits simples issus du bareme" ;
+DS521 : calculee : "Droits simples issus du bareme" ;
+DS522 : calculee : "Droits simples issus du bareme" ;
+EAC : calculee : "Nombre d'enfants a charge pour calcul du nombre de parts" ;
+EXO1 : calculee : "Indicateur d'exoneration pour revenus faibles" ;
+FCPI : saisie revenu classe = 0 priorite = 31 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 1 rapcat = 10 sanction = 0 nat_code = 1 alias 7GQ : "Souscriptions de parts de FCPI" ;
+FLAG_1731 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 0 ind_abat = 0 acompte = 0 avfisc = 1 rapcat = 13 sanction = 0 nat_code = 0 alias V_FLAG_1731 : "flag pour calcul article 1731" ;
+FLAG_ACO : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias V_FLAG_ACO : "flag pour calcul CIRELANCE passage acompte" ;
+FONCINB : saisie revenu classe = 1 priorite = 10 categorie_TL = 20 cotsoc = 1 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 7 sanction = 0 nat_code = 1 alias NBA : "Revenus fonciers taxes au quotient - Nb d'annees" ;
+GAINBASE_A : calculee base : "correctif : base calculee effectivement anterieure" ;
+GAIN_A : calculee base : "correctif : Gain  anterieure" ;
+GL1 : calculee : "Revenus au quotient 1 hors revenus footballeurs nets imposables" ;
+GL1M : calculee : "Revenus au quotient 1 hors rev foot nets imposablesTXMOY" ;
+GL2 : calculee : "Revenus au quotient 2 hors revenus footballeurs nets imposables" ;
+GL2M : calculee : "Revenus au quotient 2 hors rev foot nets imposablesTXMOY" ;
+GL3 : calculee : "Revenus au quotient 3 hors revenus footballeurs nets imposables" ;
+GL3M : calculee : "Revenus au quotient 3 hors rev foot nets imposablesTXMOY" ;
+GL4 : calculee : "Revenus au quotient 4 hors revenus footballeurs nets imposables" ;
+GL4M : calculee : "Revenus au quotient 4 hors rev foot nets imposablesTXMOY" ;
+GL5 : calculee : "Revenus au quotient 5 nets imposables" ;
+GL6 : calculee : "Revenus au quotient 6 nets imposables" ;
+GL7 : calculee : "Revenus au quotient 7 nets imposables" ;
+GL8 : calculee : "Revenus au quotient 8 nets imposables" ;
+GLF1 : calculee : "pensions footballeurs imposables - PAC" ;
+GLF1M : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLF2 : calculee : "pensions footballeurs imposables - PAC" ;
+GLF2M : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLF3 : calculee : "pensions footballeurs imposables - PAC" ;
+GLF3M : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLF4 : calculee : "pensions footballeurs imposables - PAC" ;
+GLF4M : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFC : calculee : "pensions footballeurs imposables - Conjoint" ;
+GLFCM : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLFTOT : calculee : "gain levee  quotient total foyer " ;
+GLFTOTM : calculee : "gain levee  quotient total foyer " ;
+GLFV : calculee : "pensions footballeurs imposables - Vous" ;
+GLFVM : calculee : "Revenus  foot nets imposablesTXMOY" ;
+GLN1 : calculee : "Gain de levee d'option net" ;
+GLN2 : calculee : "Gain de levee d'option net" ;
+GLN3 : calculee : "Gain de levee d'option net" ;
+GLOBASE_A : calculee base : "correctif : base calculee effectivement anterieure" ;
+GLPALIM1 : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM1M : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM2 : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM2M : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM3 : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM3M : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM4 : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIM4M : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIMC : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIMCM : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIMTOT : calculee : "gain levee  quotient total foyer pension alimentaire" ;
+GLPALIMTOTM : calculee : "gain levee  quotient total foyer pension alimentaire" ;
+GLPALIMV : calculee : "Revenus au quotient pension alimentaire" ;
+GLPALIMVM : calculee : "Revenus au quotient pension alimentaire" ;
+GLPRR1 : calculee : "Revenus au quotient pension normale" ;
+GLPRR1M : calculee : "Revenus au quotient pension normale" ;
+GLPRR2 : calculee : "Revenus au quotient pension normale" ;
+GLPRR2M : calculee : "Revenus au quotient pension normale" ;
+GLPRR3 : calculee : "Revenus au quotient pension normale" ;
+GLPRR3M : calculee : "Revenus au quotient pension normale" ;
+GLPRR4 : calculee : "Revenus au quotient pension normale" ;
+GLPRR4M : calculee : "Revenus au quotient pension normale" ;
+GLPRRC : calculee : "Revenus au quotient pension normale" ;
+GLPRRCM : calculee : "Revenus au quotient pension normale" ;
+GLPRRTOT : calculee : "gain levee  quotient total foyer pension normale" ;
+GLPRRTOTM : calculee : "gain levee  quotient total foyer pension normale" ;
+GLPRRV : calculee : "Revenus au quotient pension normale" ;
+GLPRRVM : calculee : "Revenus au quotient pension normale" ;
+GLQ : calculee : "somme des GLx" ;
+GLRCM : calculee : "Revenus au quotient " ;
+GLRCMCH : calculee : "Revenus au quotient " ;
+GLRCMCHM : calculee : "Revenus au quotient " ;
+GLRCMDC : calculee : "Revenus au quotient " ;
+GLRCMDCM : calculee : "Revenus au quotient " ;
+GLRCMFU : calculee : "Revenus au quotient " ;
+GLRCMFUM : calculee : "Revenus au quotient " ;
+GLRCMGO : calculee : "Revenus au quotient " ;
+GLRCMGOM : calculee : "Revenus au quotient " ;
+GLRCMTOT : calculee : "gain levee  quotient total foyer " ;
+GLRCMTOTM : calculee : "gain levee  quotient total foyer " ;
+GLRCMTR : calculee : "Revenus au quotient " ;
+GLRCMTRM : calculee : "Revenus au quotient " ;
+GLRCMTS : calculee : "Revenus au quotient " ;
+GLRCMTSM : calculee : "Revenus au quotient " ;
+GLRF : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRF1 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRF1M : calculee : "Revenus au quotient hors rev foot nets imposablesTXMOY" ;
+GLRF2 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRF2M : calculee : "Revenus au quotient hors rev foot nets imposablesTXMOY" ;
+GLRFTOT : calculee : "gain levee  quotient total foyer " ;
+GLRFTOTM : calculee : "gain levee  quotient total foyer " ;
+GLRVO : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO5 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO5M : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO6 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO6M : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO7 : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVO7M : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVOM : calculee : "Revenus au quotient hors rev foot nets imposables" ;
+GLRVOTOT : calculee : "gain levee  quotient total foyer " ;
+GLRVOTOTM : calculee : "gain levee  quotient total foyer " ;
+GLTS1 : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS1M : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS2 : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS2M : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS3 : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS3M : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS4 : calculee : "Traitements AFN imposables Conjoint" ;
+GLTS4M : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSAFNC : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSAFNV : calculee : "Traitements AFN imposables Vous" ;
+GLTSC : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSCM : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSREMP1 : calculee : "Traitements  imposables quotient" ;
+GLTSREMP1M : calculee : "Traitements  imposables quotient" ;
+GLTSREMP2 : calculee : "Traitements  imposables quotient" ;
+GLTSREMP2M : calculee : "Traitements  imposables quotient" ;
+GLTSREMP3 : calculee : "Traitements  imposables quotient" ;
+GLTSREMP3M : calculee : "Traitements  imposables quotient" ;
+GLTSREMP4 : calculee : "Traitements  imposables quotient" ;
+GLTSREMP4M : calculee : "Traitements  imposables quotient" ;
+GLTSREMPC : calculee : "Traitements  imposables quotient" ;
+GLTSREMPCM : calculee : "Traitements  imposables quotient" ;
+GLTSREMPTOT : calculee : "gain levee  quotient total foyer " ;
+GLTSREMPTOTM : calculee : "gain levee  quotient total foyer " ;
+GLTSREMPV : calculee : "Traitements  imposables quotient" ;
+GLTSREMPVM : calculee : "Traitements  imposables quotient" ;
+GLTSTOT : calculee : "gain levee  quotient total foyer " ;
+GLTSTOTM : calculee : "gain levee  quotient total foyer " ;
+GLTSV : calculee : "Traitements AFN imposables Conjoint" ;
+GLTSVM : calculee : "Traitements AFN imposables Conjoint" ;
+HRBASEFRAC : calculee : "Haut revenu fraction rfr n sur moyenne rfr ant " ;
+HRBASELISSE : calculee : "Haut revenu rfr  lisse" ;
+HRBTRFR1 : calculee : "Haut revenu rfr ant. n-1 retenu" ;
+HRBTRFR2 : calculee : "Haut revenu rfr ant. n-2 retenu" ;
+HRCONDTHEO : calculee : "Haut revenu indicateur condition RFR sup a 1.5 RFR anterieurs" ;
+HRLIM15 : calculee : "Haut revenu rfr n 1,5 fois moyenne des 2 rfr ant" ;
+HRLIMBTRFR1 : calculee : "Haut revenu rfr n-1 inf a 250000" ;
+HRLIMBTRFR2 : calculee : "Haut revenu rfr n-2 inf a 250000" ;
+HRMOYBTRFR : calculee : "Haut revenu moyenne des 2 rfr ant" ;
+HRNBTRFR : calculee : "Haut revenu nombre rfr ant" ;
+IAD11 : calculee : "impot apres decote et apres reduction  d impot" ;
+IAD31 : calculee : "Impot KIR (suprression des reductions)" ;
+IAD32 : calculee : "Impot KIR (suprression des reductions)" ;
+IAMD1 : calculee : "Impot apres retrait de l'avantage en impot sur dons" ;
+IAMD2 : calculee : "Impot apres retrait de l'avantage en impot sur dons" ;
+IAMD2TH : calculee : "IMPOT brut TH pour redevance TELE" ;
+IAMD3 : calculee : "Impot KIR immediat (suprression des reductions)" ;
+IAN : calculee : "Impot apres imputations non restituables" ;
+IAN_DERSTTR : saisie revenu classe = 0 priorite = 0 categorie_TL = 0 cotsoc = 0 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias V_IAN_DERSTT : "Impot apres imputations non restituables" ;
+IAR : calculee : "Impot apres imputation restituables" type REEL ;
+IAVIMBIS : calculee : "Impot avant imputation" ;
+IAVIMO : calculee : "Impot avant imputation (sert au test de 2000 lorsqu'impot au tx moyen)" ;
+IBM13 : calculee : "impot avant avantage complementaire enfant etudiant" ;
+IBM23 : calculee : "impot immediat avant avantage complementaire enfant etudiant" ;
+IBM33 : calculee : "impot TH avant avantage complementaire enfant etudiant" ;
+ICREREVET : calculee : "imputation limitee a l impot propor. pour le credit revenus etrangers" ;
+ID11 : calculee : "Droits simples avant abattement DOM" ;
+ID12 : calculee : "Droits simples avant abattement DOM" ;
+ID14 : calculee : "Droits simples avant abattement DOM" ;
+ID16 : calculee : "Droits simples avant abattement DOM 8VV art. 168" ;
+IDANT11 : calculee : "ancien plafqf:Droits simples avant abattement DOM" ;
+IDOM11 : calculee : "Droits simples definitifs" ;
+IDOM12 : calculee : "Droits simples definitifs" ;
+IDOM14 : calculee : "Droits simples definitifs" ;
+IDOM16 : calculee : "Droits simples definitifs 8VV art. 168" ;
+IDOM31 : calculee : "Impot KIR (suprression des reductions)" ;
+IDOM32 : calculee : "Impot KIR (suprression des reductions)" ;
+IDRSE : calculee : "droit simple rev. source etrangere" ;
+IHAUTREVT : calculee base : "Impot Hauts Revenus total" ;
+IINET : calculee restituee : "Total de votre imposition" ;
+IINETCALC : calculee : "Total de votre imposition intermediaire correctif" ;
+IINETIR : calculee restituee : "Total de votre imposition sans contrib. soc." ;
+IMI : calculee : "Impot au taux minimum" ;
+IMO : calculee : "Impot au taux moyen" ;
+IMPFHQ1 : calculee : "Droits simples hors quotient avant abattement DOM" ;
+IMPFHQANT1 : calculee : "ancien plafqf:Droits simples hors quotient avant abattement DOM" ;
+IMPIM3 : calculee : "Impot immediat" ;
+IMT11 : calculee : "Droits simples immediats + differes" ;
+IMT12 : calculee : "Droits simples immediats + differes (sans ded Ab
\ No newline at end of file
diff --git a/sources2012m_3_13/tgvH.m b/sources2012m_3_13/tgvH.m
new file mode 100644
index 0000000000000000000000000000000000000000..f042fff75b3c4fa7a506f69fabb8bfbc2dc4e6d4
--- /dev/null
+++ b/sources2012m_3_13/tgvH.m
@@ -0,0 +1,405 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2013 
+#au titre des revenus percus en 2012. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 2" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 1" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Declarant 2" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Declarant 1" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RNOUV : calculee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RSOC : calculee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10TOURSOC : calculee : "A2 : Investissements locatif social - reduction" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RNOUV : calculee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RSOC : calculee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11TOURSOC : calculee : "A2 : Investissements locatif social - reduction" ;
+A12REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A12RENT : calculee : "Calcul de AUBAINE12 : Reduction Invt DOM ds cadre entreprise" ;
+A12RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE12, reductions invt forestier retenues" ;
+A12RNOUV : calculee : "Calcul de AUBAINE12 : Reduction Capital de societes nouvelles" ;
+A12RSOC : calculee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A12TOURSOC : calculee : "A2 : Investissements locatif social - reduction" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1156.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VB : "Abattement pour duree de detention - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VA : "Abattement pour duree de detention - Plus-value" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPVNOSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WD : "P.V sans sursis de paiement : abat. si depart retraite du dirigeant" ;
+ABPVSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WC : "P.V en sursis de paiement : abat. si depart retraite du dirigeant" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee restituee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee restituee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACEL2012 : calculee restituee : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELHJK : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHL : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHM : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHNO : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELJBGL : calculee restituee : "Investissement Scellier engagement avant 2012- Retenu  " ;
+ACELJOQR : calculee restituee : "Investissement Scellier COM 2012- Retenu  " ;
+ACELJP : calculee restituee : "Investissement Scellier engagement avant 2012 Polynesie - Retenu  " ;
+ACELMET : calculee restituee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNBGL : calculee restituee : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNQ : calculee restituee : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELREPHA : calculee restituee : "Investissement Scellier report reduction - Retenu 7HA" ;
+ACELREPHB : calculee restituee : "Investissement Scellier report reduction - Retenu 7HB" ;
+ACELREPHD : calculee restituee : "Investissement Scellier report reduction - Retenu 7HD" ;
+ACELREPHE : calculee restituee : "Investissement Scellier report reduction - Retenu 7HE" ;
+ACELREPHF : calculee restituee : "Investissement Scellier report reduction - Retenu 7HF" ;
+ACELREPHG : calculee restituee : "Investissement Scellier report reduction - Retenu 7HG" ;
+ACELREPHH : calculee restituee : "Investissement Scellier report reduction - Retenu 7HH" ;
+ACELREPHR : calculee restituee : "Scellier metropole - DOM hors plafond report 2009 - Retenu 7HR" ;
+ACELREPHS : calculee restituee : "Investissement Scellier DOM ds plafond report 2009 - Retenu 7HS" ;
+ACELREPHT : calculee restituee : "Scellier metropole DOM : Report  - Retenu 7HT" ;
+ACELREPHU : calculee restituee : "Scellier DOM COM hors plafond 5/2009 31/12/2009- Retenu 7HU" ;
+ACELREPHV : calculee restituee : "Investissement Scellier metropole 2010 : Report- Retenu 7HV" ;
+ACELREPHW : calculee restituee : "Investissement Scellier DOM COM 2010 : Report- Retenu 7HW" ;
+ACELREPHX : calculee restituee : "Scellier metropole pa 2009 fini 2010 : Report - Retenu 7HX" ;
+ACELREPHZ : calculee restituee : "Scellier DOM COM pa 2009 fini 2010 : Report - Retenu 7HZ" ;
+ACELRREDLA : calculee restituee : "Investissement Scellier report 2009 reduction - Avis Facture - Retenu " ;
+ACELRREDLB : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LB" ;
+ACELRREDLC : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LC" ;
+ACELRREDLD : calculee restituee : "Investissement Scellier report 2010 reduction - Avis Facture - Retenu " ;
+ACELRREDLE : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LE" ;
+ACELRREDLF : calculee restituee : "Investissement Scellier report 2011 reduction - Avis Facture - Retenu " ;
+ACINE : calculee restituee : "Cinema audiovisuel" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACOLENT : calculee restituee : "Investissements outre mer entreprise - report 2009 - declare" ;
+ACOMP : calculee restituee : "Frais de comptabilite" ;
+ACOTFOR : calculee restituee : "Cotisations assurance pour la foret - retenu" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ACREAT : calculee restituee : "nbre createur ou repreneur entreprise accorde" ;
+ACREATHANDI : calculee restituee : "nbre createur ou repreneur entreprise accorde handi" ;
+ADEVDUR : calculee restituee : "Depenses developpement durable " ;
+ADIFAGRI : calculee restituee : "Interet differe paiement agriculteurs" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+ADOM : calculee restituee : "Investissement DOM-TOM" ;
+ADOMSOC1 : calculee restituee : "Investissements outre mer logement social - report 2009 - declare" ;
+ADONS : calculee restituee : "Dons aux oeuvres" ;
+AFIPC : calculee restituee : "Cotisations FIP Corse retenus" ;
+AFIPDOM : calculee restituee : "Cotisations FIP DOM COM retenus" ;
+AFOREST : calculee restituee : "base reduction d impot investissment forestier retenue" ;
+AFORET : calculee restituee : "Cotisations versees pour defense des forets" ;
+AGARD : calculee restituee : "Base reduction frais de garde" ;
+AGC : calculee : "Age du conjoint" ;
+AGRBG : calculee restituee : "SIMULIR rbg correspondant aux deficits BA" ;
+AGRECI : calculee restituee : "Agregat credits impot" ;
+AGREDTARDIF : calculee restituee : "Agregat depot tardif" ;
+AGREPAPER : calculee restituee : "Agregat pensions alimentaires percues" ;
+AGREPARET : calculee restituee : "Agregat pensions alimentaires versees retenues" ;
+AGREPPE : calculee restituee : "Agregat PPE" ;
+AGRI : calculee restituee : "pour Colbert : somme des BAPERP" ;
+AGRIC : calculee restituee : "Abattements jeunes agriculteurs - Conjoint" ;
+AGRIMP : calculee restituee : "Conges agriculteur : montant impute" ;
+AGRIP : calculee restituee : "Abattements jeunes agriculteurs - PAC" ;
+AGRIV : calculee restituee : "Abattements jeunes agriculteurs - Vous" ;
+AGRREST : calculee restituee : "Conges agriculteur : montant restitution" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+AHEBE : calculee restituee : "Base retenue  depense d'hebergement" ;
+AIDIMP : calculee restituee : "Aide aux personnes : montant impute" ;
+AIDREST : calculee restituee : "Aide aux personnes : montant restitution" ;
+AILMIA : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IA) - retenu" ;
+AILMIB : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IB) - retenu" ;
+AILMIC : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IC) - retenu" ;
+AILMIH : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IH) - retenu" ;
+AILMIX : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IX) - retenu" ;
+AILMIZ : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IZ) - retenu" ;
+AINVRED : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AISFDONCEE : calculee restituee : "ISF : Dons dans CEE - Acceptes" ;
+AISFDONF : calculee : "ISF : Dons en France - Acceptes" ;
+AISFFCPI : calculee restituee : "ISF :  investisements FCPI declares" ;
+AISFFIP : calculee restituee : "ISF :  investisements FIP declares" ;
+AISFPMED : calculee restituee : "ISF : PME, investisements directs declares" ;
+AISFPMEI : calculee restituee : "ISF : PME, investisements indirects declares" ;
+ALLECS : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 12 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias 8TV : "Revenus etrangers soumis a CSG au taux de 6,6 %" ;
+ALLO1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias 1CP : "Revenus de remplacement - PAC 1" ;
+ALLO2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias 1DP : "Revenus de remplacement - PAC 2" ;
+ALLO3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias 1EP : "Revenus de remplacement - PAC 3" ;
+ALLO4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias 1FP : "Revenus de remplacement - PAC 4" ;
+ALLOC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1BP : "Revenus de remplacement - Declarant 2" ;
+ALLOP : calculee restituee : " somme Allocation personnes a charge 1 a 4" ;
+ALLOV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1AP : "Revenus de remplacement - Declarant 1" ;
+ALOCENT : calculee restituee : "Investissements outre mer entreprise - declare" ;
+ALOCIDEFG : calculee restituee : "Invest. locations meublees non pro 2012 - retenu" ;
+ALOGDOM : calculee restituee : "Investissements outre mer logement - declare" ;
+ALOGSOC : calculee restituee : "Investissements outre mer logement social - declare" ;
+ALOYIMP : calculee restituee : "Credit assurances loyers impayes retenu" ;
+AMEUBLE : calculee restituee : "Investissements locations meublees non pro - report 2009 - retenu" ;
+ANCNAP : calculee restituee : "ancien net a payer pour la double liq." ;
+ANCSDED2 : calculee restituee : "annee d'imposition pour variation CSG" ;
+ANG3 : calculee : "avantage normal impot TH - KIR" ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+ANOCEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias 5SN : "BNC non prof. hors AA. - Benefices - Declarant 1" ;
+ANOPEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias 5OS : "BNC non prof. hors AA - Benefices - PAC" ;
+ANOUV : calculee restituee : "Base reduction Capital de societes nouvelles" ;
+ANOVEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias 5NS : "BNC non prof. hors AA - Benefices - Declarant 2" ;
+ANTINDIRPS : calculee base : "Anterieur indicateur IR PS" ;
+ANTIRAFF : calculee restituee : "Impot sur le revenu anterieur a afficher sur l avis" ;
+ANTISFAFF : calculee restituee : "ISF anterieur a afficher sur l avis" ;
+ANTPPEIMP2A : calculee base : "correctif : anterieur ppe imputee" ;
+ANTPPEREST2A : calculee base : "correctif : anterieur ppe restituee" ;
+ANTPPETOT : calculee base : "correctif : anterieur ppe totale" ;
+APATNAT : calculee restituee : "Base retenue  depense protection du patrimoine naturel" ;
+APATNAT1 : calculee restituee : "Retenu : depense 2011 protection du patrimoine naturel : report" ;
+APATNAT2 : calculee restituee : "Retenu : depense 2010 protection du patrimoine naturel : report" ;
+APB1 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB2 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB3 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB4 : calculee : "Minimum d'abattement 10% (PR)" ;
+APBC : calculee : "Minimum d'abattement 10% (PR)" ;
+APBV : calculee : "Minimum d'abattement 10% (PR)" ;
+APERPC : calculee restituee : "bse retenu PERP" ;
+APERPCTEF : calculee : "bse retenu PERP tx eff" ;
+APERPP : calculee restituee : "bse retenu PERP" ;
+APERPPTEF : calculee : "bse retenu PERP tx eff" ;
+APERPV : calculee restituee : "bse retenu PERP" ;
+APERPVTEF : calculee : "bse retenu PERP tx eff" ;
+APPIMP : calculee restituee : "Credit apprentissage : montant impute" ;
+APPLI_AVIS : saisie contexte classe = 0 priorite = 10 categorie_TL = 20 restituee alias AVIS : "Application Avis" ;
+APPLI_BATCH : calculee restituee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_COLBERT : saisie contexte classe = 0 priorite = 0 categorie_TL = 0 restituee alias V_COLBERT : "Appli_Colbert" type BOOLEEN ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee restituee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : saisie contexte classe = 0 priorite = 0 categorie_TL = 0 restituee alias V_OCEANS : "Appli_Oceans" ;
+APPLI_PRO : calculee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+APPREST : calculee restituee : "Credit apprentissage : montant restitution" ;
+APR1 : calculee : "Abattement pensions retraites 10%" ;
+APR2 : calculee : "Abattement pensions retraites 10%" ;
+APR3 : calculee : "Abattement pensions retraites 10%" ;
+APR4 : calculee : "Abattement pensions retraites 10%" ;
+APRC : calculee : "Abattement pensions retraites 10%" ;
+APRESCOMP : calculee restituee : "base retenue prestations compensatoires" ;
+APRETUD : calculee restituee : "Interets pret etudiant retenu" ;
+APROREP : calculee restituee : "Invest. locations meublees non pro 2009 acheve 2010 - report - retenu" ;
+APRV : calculee : "Abattement pensions retraites 10%" ;
+AREDMEUB : calculee restituee : "Invest. locations meublees non pro - report reduction - retenu" ;
+AREDREP : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AREPA : calculee restituee : "Dons : fourniture de repas particulier" ;
+AREPMEU : calculee restituee : "Investissements locations meublees non pro - report 2010 - retenu" ;
+AREPNPRO : calculee restituee : "Invest. locations meublees non pro initie avant 2010 - report - retenu" ;
+ARESIMEUB : calculee restituee : "Invest. locations meublees dans residence neuve (7IO) - retenu" ;
+ARESINEUV : calculee restituee : "Investissements locations meublees dans residence neuve - retenu" ;
+ARESIVIEU : calculee restituee : "Investissements locations meublees dans residence neuve 2009 - retenu" ;
+ARESTIMO : calculee restituee : "Travaux de restauration immobiliere - retenu" ;
+ARIRENOV : calculee restituee : "Travaux de restauration des objets classes - retenu" ;
+ART1731BIS : calculee : "indicateur art1731 bis empechant benefice reduc et deficit " ;
+ARTIMP : calculee restituee : "Metiers d art : montant impute" ;
+ARTREST : calculee restituee : "Metiers d art : montant restitution" ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+ASOCREPR : calculee restituee : "Base Reduction emprunt reprise societe" ;
+ASOUFIP : calculee restituee : "Investissement de proximite" ;
+ASSIMP : calculee restituee : "Prelevements liberatoires (assurance vie) : montant impute" ;
+ASSREST : calculee restituee : "Prelevements liberatoires (assurance vie) : montant restitution" ;
+ASURV : calculee restituee : "Rente-survie, contrat handicap" ;
+ASYND : calculee restituee : "Reduction cotisation syndicale" ;
+ATEC : calculee : "Depenses travaux prevention risques technologiques - Bailleur - retenu" ;
+ATOUHOTR : calculee restituee : "Investissement locatif residence hoteliere - Retenu" ;
+ATOUREPA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURES : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURNEUF : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURREP : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURTRA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme travaux" ;
+AUBAINE10 : calculee : "avantage en impot (A2) lie a avantages fiscaux 2010" ;
+AUBAINE11 : calculee : "avantage en impot (A1) lie a avantages fiscaux 2011" ;
+AUBAINE12 : calculee : "avantage en impot (A4) lie a avantages fiscaux 2011" ;
+AUBAINE9 : calculee : "avantage en impot (A3) lie a av. fiscaux 2009 pris en compte en 2011" ;
+AUTOBICPC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias 5UB : "Auto-entrepreneur - BIC prof. - Prestations de services - Declarant 2" ;
+AUTOBICPNET : calculee restituee : "auto entrepreneurs BIC pro net pr colbert" ;
+AUTOBICPP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanc
\ No newline at end of file
diff --git a/sources2012m_3_13/tgvI.m b/sources2012m_3_13/tgvI.m
new file mode 100644
index 0000000000000000000000000000000000000000..136ba5102e77459b7ed4e8c3ab9cd563fbab1d84
--- /dev/null
+++ b/sources2012m_3_13/tgvI.m
@@ -0,0 +1,404 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 12 Application iliad
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 2" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 1" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Declarant 2" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Declarant 1" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee restituee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RNOUV : calculee restituee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee restituee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RNOUV : calculee restituee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A12REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A12RENT : calculee restituee : "Calcul de AUBAINE12 : Reduction Invt DOM ds cadre entreprise" ;
+A12RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE12, reductions invt forestier retenues" ;
+A12RNOUV : calculee restituee : "Calcul de AUBAINE12 : Reduction Capital de societes nouvelles" ;
+A12RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A12TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+AB20_RAPPEL : saisie penalite alias V_A20_RAPPEL : "Champ indicateur perte abattement 20% dans une ligne rappel" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1156.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VB : "Abattement pour duree de detention - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VA : "Abattement pour duree de detention - Plus-value" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPVNOSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WD : "P.V sans sursis de paiement : abat. si depart retraite du dirigeant" ;
+ABPVSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WC : "P.V en sursis de paiement : abat. si depart retraite du dirigeant" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee restituee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee restituee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACEL2012 : calculee restituee : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELHJK : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHL : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHM : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHNO : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELJBGL : calculee restituee : "Investissement Scellier engagement avant 2012- Retenu  " ;
+ACELJOQR : calculee restituee : "Investissement Scellier COM 2012- Retenu  " ;
+ACELJP : calculee restituee : "Investissement Scellier engagement avant 2012 Polynesie - Retenu  " ;
+ACELMET : calculee restituee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNBGL : calculee restituee : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNQ : calculee restituee : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELREPHA : calculee restituee : "Investissement Scellier report reduction - Retenu 7HA" ;
+ACELREPHB : calculee restituee : "Investissement Scellier report reduction - Retenu 7HB" ;
+ACELREPHD : calculee restituee : "Investissement Scellier report reduction - Retenu 7HD" ;
+ACELREPHE : calculee restituee : "Investissement Scellier report reduction - Retenu 7HE" ;
+ACELREPHF : calculee restituee : "Investissement Scellier report reduction - Retenu 7HF" ;
+ACELREPHG : calculee restituee : "Investissement Scellier report reduction - Retenu 7HG" ;
+ACELREPHH : calculee restituee : "Investissement Scellier report reduction - Retenu 7HH" ;
+ACELREPHR : calculee restituee : "Scellier metropole - DOM hors plafond report 2009 - Retenu 7HR" ;
+ACELREPHS : calculee restituee : "Investissement Scellier DOM ds plafond report 2009 - Retenu 7HS" ;
+ACELREPHT : calculee restituee : "Scellier metropole DOM : Report  - Retenu 7HT" ;
+ACELREPHU : calculee restituee : "Scellier DOM COM hors plafond 5/2009 31/12/2009- Retenu 7HU" ;
+ACELREPHV : calculee restituee : "Investissement Scellier metropole 2010 : Report- Retenu 7HV" ;
+ACELREPHW : calculee restituee : "Investissement Scellier DOM COM 2010 : Report- Retenu 7HW" ;
+ACELREPHX : calculee restituee : "Scellier metropole pa 2009 fini 2010 : Report - Retenu 7HX" ;
+ACELREPHZ : calculee restituee : "Scellier DOM COM pa 2009 fini 2010 : Report - Retenu 7HZ" ;
+ACELRREDLA : calculee restituee : "Investissement Scellier report 2009 reduction - Avis Facture - Retenu " ;
+ACELRREDLB : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LB" ;
+ACELRREDLC : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LC" ;
+ACELRREDLD : calculee restituee : "Investissement Scellier report 2010 reduction - Avis Facture - Retenu " ;
+ACELRREDLE : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LE" ;
+ACELRREDLF : calculee restituee : "Investissement Scellier report 2011 reduction - Avis Facture - Retenu " ;
+ACINE : calculee restituee : "Cinema audiovisuel" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACOLENT : calculee restituee : "Investissements outre mer entreprise - report 2009 - declare" ;
+ACOMP : calculee restituee : "Frais de comptabilite" ;
+ACOTFOR : calculee restituee : "Cotisations assurance pour la foret - retenu" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ACREAT : calculee restituee : "nbre createur ou repreneur entreprise accorde" ;
+ACREATHANDI : calculee restituee : "nbre createur ou repreneur entreprise accorde handi" ;
+ADEVDUR : calculee restituee : "Depenses developpement durable " ;
+ADIFAGRI : calculee restituee : "Interet differe paiement agriculteurs" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+ADOM : calculee restituee : "Investissement DOM-TOM" ;
+ADOMSOC1 : calculee restituee : "Investissements outre mer logement social - report 2009 - declare" ;
+ADONS : calculee restituee : "Dons aux oeuvres" ;
+AFIPC : calculee restituee : "Cotisations FIP Corse retenus" ;
+AFIPDOM : calculee restituee : "Cotisations FIP DOM COM retenus" ;
+AFOREST : calculee restituee : "base reduction d impot investissment forestier retenue" ;
+AFORET : calculee restituee : "Cotisations versees pour defense des forets" ;
+AGARD : calculee restituee : "Base reduction frais de garde" ;
+AGC : calculee : "Age du conjoint" ;
+AGRBG : calculee restituee : "SIMULIR rbg correspondant aux deficits BA" ;
+AGRECI : calculee restituee : "Agregat credits impot" ;
+AGREDTARDIF : calculee restituee : "Agregat depot tardif" ;
+AGREPAPER : calculee restituee : "Agregat pensions alimentaires percues" ;
+AGREPARET : calculee restituee : "Agregat pensions alimentaires versees retenues" ;
+AGREPPE : calculee restituee : "Agregat PPE" ;
+AGRI : calculee restituee : "pour Colbert : somme des BAPERP" ;
+AGRIC : calculee restituee : "Abattements jeunes agriculteurs - Conjoint" ;
+AGRIMP : calculee restituee : "Conges agriculteur : montant impute" ;
+AGRIP : calculee restituee : "Abattements jeunes agriculteurs - PAC" ;
+AGRIV : calculee restituee : "Abattements jeunes agriculteurs - Vous" ;
+AGRREST : calculee restituee : "Conges agriculteur : montant restitution" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+AHEBE : calculee restituee : "Base retenue  depense d'hebergement" ;
+AIDIMP : calculee restituee : "Aide aux personnes : montant impute" ;
+AIDREST : calculee restituee : "Aide aux personnes : montant restitution" ;
+AILMIA : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IA) - retenu" ;
+AILMIB : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IB) - retenu" ;
+AILMIC : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IC) - retenu" ;
+AILMIH : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IH) - retenu" ;
+AILMIX : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IX) - retenu" ;
+AILMIZ : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IZ) - retenu" ;
+AINVRED : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AISFDONCEE : calculee restituee : "ISF : Dons dans CEE - Acceptes" ;
+AISFDONF : calculee : "ISF : Dons en France - Acceptes" ;
+AISFFCPI : calculee restituee : "ISF :  investisements FCPI declares" ;
+AISFFIP : calculee restituee : "ISF :  investisements FIP declares" ;
+AISFPMED : calculee restituee : "ISF : PME, investisements directs declares" ;
+AISFPMEI : calculee restituee : "ISF : PME, investisements indirects declares" ;
+ALLECS : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 12 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias 8TV : "Revenus etrangers soumis a CSG au taux de 6,6 %" ;
+ALLO1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1CP : "Revenus de remplacement - PAC 1" ;
+ALLO2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1DP : "Revenus de remplacement - PAC 2" ;
+ALLO3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1EP : "Revenus de remplacement - PAC 3" ;
+ALLO4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1FP : "Revenus de remplacement - PAC 4" ;
+ALLOC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1BP : "Revenus de remplacement - Declarant 2" ;
+ALLOP : calculee restituee : " somme Allocation personnes a charge 1 a 4" ;
+ALLOV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1AP : "Revenus de remplacement - Declarant 1" ;
+ALOCENT : calculee restituee : "Investissements outre mer entreprise - declare" ;
+ALOCIDEFG : calculee restituee : "Invest. locations meublees non pro 2012 - retenu" ;
+ALOGDOM : calculee restituee : "Investissements outre mer logement - declare" ;
+ALOGSOC : calculee restituee : "Investissements outre mer logement social - declare" ;
+ALOYIMP : calculee restituee : "Credit assurances loyers impayes retenu" ;
+AMEUBLE : calculee restituee : "Investissements locations meublees non pro - report 2009 - retenu" ;
+ANCNAP : calculee restituee : "ancien net a payer pour la double liq." ;
+ANCSDED2 : calculee restituee : "annee d'imposition pour variation CSG" ;
+ANG3 : calculee : "avantage normal impot TH - KIR" ;
+ANNEE_RAPPEL : saisie penalite alias V_ANN_RAPPEL : "Champ Annee de la date de notification dans une ligne rappel" ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+ANOCEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias 5SN : "BNC non prof. hors AA. - Benefices - Declarant 1" ;
+ANOPEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias 5OS : "BNC non prof. hors AA - Benefices - PAC" ;
+ANOUV : calculee restituee : "Base reduction Capital de societes nouvelles" ;
+ANOVEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias 5NS : "BNC non prof. hors AA - Benefices - Declarant 2" ;
+ANTINDIRPS : calculee restituee base : "Anterieur indicateur IR PS" ;
+ANTIRAFF : calculee restituee : "Impot sur le revenu anterieur a afficher sur l avis" ;
+ANTISFAFF : calculee restituee : "ISF anterieur a afficher sur l avis" ;
+ANTPPEIMP2A : calculee restituee base : "correctif : anterieur ppe imputee" ;
+ANTPPEREST2A : calculee restituee base : "correctif : anterieur ppe restituee" ;
+ANTPPETOT : calculee restituee base : "correctif : anterieur ppe totale" ;
+APATNAT : calculee restituee : "Base retenue  depense protection du patrimoine naturel" ;
+APATNAT1 : calculee restituee : "Retenu : depense 2011 protection du patrimoine naturel : report" ;
+APATNAT2 : calculee restituee : "Retenu : depense 2010 protection du patrimoine naturel : report" ;
+APB1 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB2 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB3 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB4 : calculee : "Minimum d'abattement 10% (PR)" ;
+APBC : calculee : "Minimum d'abattement 10% (PR)" ;
+APBV : calculee : "Minimum d'abattement 10% (PR)" ;
+APERPC : calculee restituee : "bse retenu PERP" ;
+APERPCTEF : calculee : "bse retenu PERP tx eff" ;
+APERPP : calculee restituee : "bse retenu PERP" ;
+APERPPTEF : calculee : "bse retenu PERP tx eff" ;
+APERPV : calculee restituee : "bse retenu PERP" ;
+APERPVTEF : calculee : "bse retenu PERP tx eff" ;
+APPIMP : calculee restituee : "Credit apprentissage : montant impute" ;
+APPLI_AVIS : saisie contexte classe = 0 priorite = 10 categorie_TL = 20 restituee alias AVIS : "Application Avis" ;
+APPLI_BATCH : calculee restituee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_COLBERT : saisie contexte classe = 0 priorite = 0 categorie_TL = 0 restituee alias V_COLBERT : "Appli_Colbert" type BOOLEEN ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee restituee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : saisie contexte classe = 0 priorite = 0 categorie_TL = 0 restituee alias V_OCEANS : "Appli_Oceans" ;
+APPLI_PRO : calculee restituee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+APPREST : calculee restituee : "Credit apprentissage : montant restitution" ;
+APR1 : calculee : "Abattement pensions retraites 10%" ;
+APR2 : calculee : "Abattement pensions retraites 10%" ;
+APR3 : calculee : "Abattement pensions retraites 10%" ;
+APR4 : calculee : "Abattement pensions retraites 10%" ;
+APRC : calculee : "Abattement pensions retraites 10%" ;
+APRESCOMP : calculee restituee : "base retenue prestations compensatoires" ;
+APRETUD : calculee restituee : "Interets pret etudiant retenu" ;
+APROREP : calculee restituee : "Invest. locations meublees non pro 2009 acheve 2010 - report - retenu" ;
+APRV : calculee : "Abattement pensions retraites 10%" ;
+AREDMEUB : calculee restituee : "Invest. locations meublees non pro - report reduction - retenu" ;
+AREDREP : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AREPA : calculee restituee : "Dons : fourniture de repas particulier" ;
+AREPMEU : calculee restituee : "Investissements locations meublees non pro - report 2010 - retenu" ;
+AREPNPRO : calculee restituee : "Invest. locations meublees non pro initie avant 2010 - report - retenu" ;
+ARESIMEUB : calculee restituee : "Invest. locations meublees dans residence neuve (7IO) - retenu" ;
+ARESINEUV : calculee restituee : "Investissements locations meublees dans residence neuve - retenu" ;
+ARESIVIEU : calculee restituee : "Investissements locations meublees dans residence neuve 2009 - retenu" ;
+ARESTIMO : calculee restituee : "Travaux de restauration immobiliere - retenu" ;
+ARIRENOV : calculee restituee : "Travaux de restauration des objets classes - retenu" ;
+ART1731BIS : calculee : "indicateur art1731 bis empechant benefice reduc et deficit " ;
+ARTIMP : calculee restituee : "Metiers d art : montant impute" ;
+ARTREST : calculee restituee : "Metiers d art : montant restitution" ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 restituee alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+ASOCREPR : calculee restituee : "Base Reduction emprunt reprise societe" ;
+ASOUFIP : calculee restituee : "Investissement de proximite" ;
+ASSIMP : calculee restituee : "Prelevements liberatoires (assurance vie) : montant impute" ;
+ASSREST : calculee restituee : "Prelevements liberatoires (assurance vie) : montant restitution" ;
+ASURV : calculee restituee : "Rente-survie, contrat handicap" ;
+ASYND : calculee restituee : "Reduction cotisation syndicale" ;
+ATEC : calculee : "Depenses travaux prevention risques technologiques - Bailleur - retenu" ;
+ATOUHOTR : calculee restituee : "Investissement locatif residence hoteliere - Retenu" ;
+ATOUREPA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURES : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURNEUF : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURREP : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURTRA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme travaux" ;
+AUBAINE10 : calculee : "avantage en impot (A2) lie a avantages fiscaux 2010" ;
+AUBAINE11 : calculee : "avantage en impot (A1) lie a avantages fiscaux 2011" ;
+AUBAINE12 : calculee : "avantage en 
\ No newline at end of file
diff --git a/sources2012m_3_13/tgvO.m b/sources2012m_3_13/tgvO.m
new file mode 100644
index 0000000000000000000000000000000000000000..b2071212c6795d242aa3c63ff26edd9a44108e38
--- /dev/null
+++ b/sources2012m_3_13/tgvO.m
@@ -0,0 +1,404 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 12 Application oceans
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 2" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 1" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Declarant 2" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Declarant 1" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee restituee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RNOUV : calculee restituee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee restituee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RNOUV : calculee restituee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A12REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A12RENT : calculee restituee : "Calcul de AUBAINE12 : Reduction Invt DOM ds cadre entreprise" ;
+A12RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE12, reductions invt forestier retenues" ;
+A12RNOUV : calculee restituee : "Calcul de AUBAINE12 : Reduction Capital de societes nouvelles" ;
+A12RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A12TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+AB20_RAPPEL : saisie penalite alias V_A20_RAPPEL : "Champ indicateur perte abattement 20% dans une ligne rappel" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1156.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VB : "Abattement pour duree de detention - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VA : "Abattement pour duree de detention - Plus-value" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPVNOSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WD : "P.V sans sursis de paiement : abat. si depart retraite du dirigeant" ;
+ABPVSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WC : "P.V en sursis de paiement : abat. si depart retraite du dirigeant" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee restituee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee restituee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACEL2012 : calculee restituee : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELHJK : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHL : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHM : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHNO : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELJBGL : calculee restituee : "Investissement Scellier engagement avant 2012- Retenu  " ;
+ACELJOQR : calculee restituee : "Investissement Scellier COM 2012- Retenu  " ;
+ACELJP : calculee restituee : "Investissement Scellier engagement avant 2012 Polynesie - Retenu  " ;
+ACELMET : calculee restituee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNBGL : calculee restituee : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNQ : calculee restituee : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELREPHA : calculee restituee : "Investissement Scellier report reduction - Retenu 7HA" ;
+ACELREPHB : calculee restituee : "Investissement Scellier report reduction - Retenu 7HB" ;
+ACELREPHD : calculee restituee : "Investissement Scellier report reduction - Retenu 7HD" ;
+ACELREPHE : calculee restituee : "Investissement Scellier report reduction - Retenu 7HE" ;
+ACELREPHF : calculee restituee : "Investissement Scellier report reduction - Retenu 7HF" ;
+ACELREPHG : calculee restituee : "Investissement Scellier report reduction - Retenu 7HG" ;
+ACELREPHH : calculee restituee : "Investissement Scellier report reduction - Retenu 7HH" ;
+ACELREPHR : calculee restituee : "Scellier metropole - DOM hors plafond report 2009 - Retenu 7HR" ;
+ACELREPHS : calculee restituee : "Investissement Scellier DOM ds plafond report 2009 - Retenu 7HS" ;
+ACELREPHT : calculee restituee : "Scellier metropole DOM : Report  - Retenu 7HT" ;
+ACELREPHU : calculee restituee : "Scellier DOM COM hors plafond 5/2009 31/12/2009- Retenu 7HU" ;
+ACELREPHV : calculee restituee : "Investissement Scellier metropole 2010 : Report- Retenu 7HV" ;
+ACELREPHW : calculee restituee : "Investissement Scellier DOM COM 2010 : Report- Retenu 7HW" ;
+ACELREPHX : calculee restituee : "Scellier metropole pa 2009 fini 2010 : Report - Retenu 7HX" ;
+ACELREPHZ : calculee restituee : "Scellier DOM COM pa 2009 fini 2010 : Report - Retenu 7HZ" ;
+ACELRREDLA : calculee restituee : "Investissement Scellier report 2009 reduction - Avis Facture - Retenu " ;
+ACELRREDLB : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LB" ;
+ACELRREDLC : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LC" ;
+ACELRREDLD : calculee restituee : "Investissement Scellier report 2010 reduction - Avis Facture - Retenu " ;
+ACELRREDLE : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LE" ;
+ACELRREDLF : calculee restituee : "Investissement Scellier report 2011 reduction - Avis Facture - Retenu " ;
+ACINE : calculee restituee : "Cinema audiovisuel" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACOLENT : calculee restituee : "Investissements outre mer entreprise - report 2009 - declare" ;
+ACOMP : calculee restituee : "Frais de comptabilite" ;
+ACOTFOR : calculee restituee : "Cotisations assurance pour la foret - retenu" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ACREAT : calculee restituee : "nbre createur ou repreneur entreprise accorde" ;
+ACREATHANDI : calculee restituee : "nbre createur ou repreneur entreprise accorde handi" ;
+ADEVDUR : calculee restituee : "Depenses developpement durable " ;
+ADIFAGRI : calculee restituee : "Interet differe paiement agriculteurs" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+ADOM : calculee restituee : "Investissement DOM-TOM" ;
+ADOMSOC1 : calculee restituee : "Investissements outre mer logement social - report 2009 - declare" ;
+ADONS : calculee restituee : "Dons aux oeuvres" ;
+AFIPC : calculee restituee : "Cotisations FIP Corse retenus" ;
+AFIPDOM : calculee restituee : "Cotisations FIP DOM COM retenus" ;
+AFOREST : calculee restituee : "base reduction d impot investissment forestier retenue" ;
+AFORET : calculee restituee : "Cotisations versees pour defense des forets" ;
+AGARD : calculee restituee : "Base reduction frais de garde" ;
+AGC : calculee : "Age du conjoint" ;
+AGRBG : calculee restituee : "SIMULIR rbg correspondant aux deficits BA" ;
+AGRECI : calculee : "Agregat credits impot" ;
+AGREDTARDIF : calculee : "Agregat depot tardif" ;
+AGREPAPER : calculee : "Agregat pensions alimentaires percues" ;
+AGREPARET : calculee : "Agregat pensions alimentaires versees retenues" ;
+AGREPPE : calculee : "Agregat PPE" ;
+AGRI : calculee restituee : "pour Colbert : somme des BAPERP" ;
+AGRIC : calculee restituee : "Abattements jeunes agriculteurs - Conjoint" ;
+AGRIMP : calculee restituee : "Conges agriculteur : montant impute" ;
+AGRIP : calculee restituee : "Abattements jeunes agriculteurs - PAC" ;
+AGRIV : calculee restituee : "Abattements jeunes agriculteurs - Vous" ;
+AGRREST : calculee restituee : "Conges agriculteur : montant restitution" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+AHEBE : calculee restituee : "Base retenue  depense d'hebergement" ;
+AIDIMP : calculee restituee : "Aide aux personnes : montant impute" ;
+AIDREST : calculee restituee : "Aide aux personnes : montant restitution" ;
+AILMIA : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IA) - retenu" ;
+AILMIB : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IB) - retenu" ;
+AILMIC : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IC) - retenu" ;
+AILMIH : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IH) - retenu" ;
+AILMIX : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IX) - retenu" ;
+AILMIZ : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IZ) - retenu" ;
+AINVRED : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AISFDONCEE : calculee restituee : "ISF : Dons dans CEE - Acceptes" ;
+AISFDONF : calculee : "ISF : Dons en France - Acceptes" ;
+AISFFCPI : calculee restituee : "ISF :  investisements FCPI declares" ;
+AISFFIP : calculee restituee : "ISF :  investisements FIP declares" ;
+AISFPMED : calculee restituee : "ISF : PME, investisements directs declares" ;
+AISFPMEI : calculee restituee : "ISF : PME, investisements indirects declares" ;
+ALLECS : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 12 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias 8TV : "Revenus etrangers soumis a CSG au taux de 6,6 %" ;
+ALLO1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1CP : "Revenus de remplacement - PAC 1" ;
+ALLO2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1DP : "Revenus de remplacement - PAC 2" ;
+ALLO3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1EP : "Revenus de remplacement - PAC 3" ;
+ALLO4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1FP : "Revenus de remplacement - PAC 4" ;
+ALLOC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1BP : "Revenus de remplacement - Declarant 2" ;
+ALLOP : calculee restituee : " somme Allocation personnes a charge 1 a 4" ;
+ALLOV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1AP : "Revenus de remplacement - Declarant 1" ;
+ALOCENT : calculee restituee : "Investissements outre mer entreprise - declare" ;
+ALOCIDEFG : calculee restituee : "Invest. locations meublees non pro 2012 - retenu" ;
+ALOGDOM : calculee restituee : "Investissements outre mer logement - declare" ;
+ALOGSOC : calculee restituee : "Investissements outre mer logement social - declare" ;
+ALOYIMP : calculee restituee : "Credit assurances loyers impayes retenu" ;
+AMEUBLE : calculee restituee : "Investissements locations meublees non pro - report 2009 - retenu" ;
+ANCNAP : calculee restituee : "ancien net a payer pour la double liq." ;
+ANCSDED2 : calculee restituee : "annee d'imposition pour variation CSG" ;
+ANG3 : calculee : "avantage normal impot TH - KIR" ;
+ANNEE_RAPPEL : saisie penalite alias V_ANN_RAPPEL : "Champ Annee de la date de notification dans une ligne rappel" ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+ANOCEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 restituee alias 5SN : "BNC non prof. hors AA. - Benefices - Declarant 1" ;
+ANOPEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 restituee alias 5OS : "BNC non prof. hors AA - Benefices - PAC" ;
+ANOUV : calculee restituee : "Base reduction Capital de societes nouvelles" ;
+ANOVEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 restituee alias 5NS : "BNC non prof. hors AA - Benefices - Declarant 2" ;
+ANTINDIRPS : calculee restituee base : "Anterieur indicateur IR PS" ;
+ANTIRAFF : calculee restituee : "Impot sur le revenu anterieur a afficher sur l avis" ;
+ANTISFAFF : calculee restituee : "ISF anterieur a afficher sur l avis" ;
+ANTPPEIMP2A : calculee restituee base : "correctif : anterieur ppe imputee" ;
+ANTPPEREST2A : calculee restituee base : "correctif : anterieur ppe restituee" ;
+ANTPPETOT : calculee restituee base : "correctif : anterieur ppe totale" ;
+APATNAT : calculee restituee : "Base retenue  depense protection du patrimoine naturel" ;
+APATNAT1 : calculee restituee : "Retenu : depense 2011 protection du patrimoine naturel : report" ;
+APATNAT2 : calculee restituee : "Retenu : depense 2010 protection du patrimoine naturel : report" ;
+APB1 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB2 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB3 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB4 : calculee : "Minimum d'abattement 10% (PR)" ;
+APBC : calculee : "Minimum d'abattement 10% (PR)" ;
+APBV : calculee : "Minimum d'abattement 10% (PR)" ;
+APERPC : calculee restituee : "bse retenu PERP" ;
+APERPCTEF : calculee : "bse retenu PERP tx eff" ;
+APERPP : calculee restituee : "bse retenu PERP" ;
+APERPPTEF : calculee : "bse retenu PERP tx eff" ;
+APERPV : calculee restituee : "bse retenu PERP" ;
+APERPVTEF : calculee : "bse retenu PERP tx eff" ;
+APPIMP : calculee restituee : "Credit apprentissage : montant impute" ;
+APPLI_AVIS : saisie contexte classe = 0 priorite = 10 categorie_TL = 20 restituee alias AVIS : "Application Avis" ;
+APPLI_BATCH : calculee restituee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_COLBERT : saisie contexte classe = 0 priorite = 0 categorie_TL = 0 restituee alias V_COLBERT : "Appli_Colbert" type BOOLEEN ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee restituee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : saisie contexte classe = 0 priorite = 0 categorie_TL = 0 restituee alias V_OCEANS : "Appli_Oceans" ;
+APPLI_PRO : calculee restituee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+APPREST : calculee restituee : "Credit apprentissage : montant restitution" ;
+APR1 : calculee : "Abattement pensions retraites 10%" ;
+APR2 : calculee : "Abattement pensions retraites 10%" ;
+APR3 : calculee : "Abattement pensions retraites 10%" ;
+APR4 : calculee : "Abattement pensions retraites 10%" ;
+APRC : calculee : "Abattement pensions retraites 10%" ;
+APRESCOMP : calculee restituee : "base retenue prestations compensatoires" ;
+APRETUD : calculee restituee : "Interets pret etudiant retenu" ;
+APROREP : calculee restituee : "Invest. locations meublees non pro 2009 acheve 2010 - report - retenu" ;
+APRV : calculee : "Abattement pensions retraites 10%" ;
+AREDMEUB : calculee restituee : "Invest. locations meublees non pro - report reduction - retenu" ;
+AREDREP : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AREPA : calculee restituee : "Dons : fourniture de repas particulier" ;
+AREPMEU : calculee restituee : "Investissements locations meublees non pro - report 2010 - retenu" ;
+AREPNPRO : calculee restituee : "Invest. locations meublees non pro initie avant 2010 - report - retenu" ;
+ARESIMEUB : calculee restituee : "Invest. locations meublees dans residence neuve (7IO) - retenu" ;
+ARESINEUV : calculee restituee : "Investissements locations meublees dans residence neuve - retenu" ;
+ARESIVIEU : calculee restituee : "Investissements locations meublees dans residence neuve 2009 - retenu" ;
+ARESTIMO : calculee restituee : "Travaux de restauration immobiliere - retenu" ;
+ARIRENOV : calculee restituee : "Travaux de restauration des objets classes - retenu" ;
+ART1731BIS : calculee restituee : "indicateur art1731 bis empechant benefice reduc et deficit " ;
+ARTIMP : calculee restituee : "Metiers d art : montant impute" ;
+ARTREST : calculee restituee : "Metiers d art : montant restitution" ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 restituee alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+ASOCREPR : calculee restituee : "Base Reduction emprunt reprise societe" ;
+ASOUFIP : calculee restituee : "Investissement de proximite" ;
+ASSIMP : calculee restituee : "Prelevements liberatoires (assurance vie) : montant impute" ;
+ASSREST : calculee restituee : "Prelevements liberatoires (assurance vie) : montant restitution" ;
+ASURV : calculee restituee : "Rente-survie, contrat handicap" ;
+ASYND : calculee restituee : "Reduction cotisation syndicale" ;
+ATEC : calculee : "Depenses travaux prevention risques technologiques - Bailleur - retenu" ;
+ATOUHOTR : calculee restituee : "Investissement locatif residence hoteliere - Retenu" ;
+ATOUREPA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURES : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURNEUF : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURREP : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURTRA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme travaux" ;
+AUBAINE10 : calculee : "avantage en impot (A2) lie a avantages fiscaux 2010" ;
+AUBAINE11 : calculee : "avantage en impot (A1) lie a avantages fiscaux 2011" ;
+AUBAINE12 : calculee : "avantage en impot (A4
\ No newline at end of file
diff --git a/sources2012m_3_13/tgvP.m b/sources2012m_3_13/tgvP.m
new file mode 100644
index 0000000000000000000000000000000000000000..e68f80ec7033ad3eca13646367c53fa72d344be2
--- /dev/null
+++ b/sources2012m_3_13/tgvP.m
@@ -0,0 +1,406 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 12 Application pro
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 2" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 1" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Declarant 2" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Declarant 1" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee restituee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RNOUV : calculee restituee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee restituee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RNOUV : calculee restituee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A12REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A12RENT : calculee restituee : "Calcul de AUBAINE12 : Reduction Invt DOM ds cadre entreprise" ;
+A12RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE12, reductions invt forestier retenues" ;
+A12RNOUV : calculee restituee : "Calcul de AUBAINE12 : Reduction Capital de societes nouvelles" ;
+A12RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A12TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1156.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VB : "Abattement pour duree de detention - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VA : "Abattement pour duree de detention - Plus-value" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPVNOSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WD : "P.V sans sursis de paiement : abat. si depart retraite du dirigeant" ;
+ABPVSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WC : "P.V en sursis de paiement : abat. si depart retraite du dirigeant" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACEL2012 : calculee restituee : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELHJK : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHL : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHM : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHNO : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELJBGL : calculee restituee : "Investissement Scellier engagement avant 2012- Retenu  " ;
+ACELJOQR : calculee restituee : "Investissement Scellier COM 2012- Retenu  " ;
+ACELJP : calculee restituee : "Investissement Scellier engagement avant 2012 Polynesie - Retenu  " ;
+ACELMET : calculee restituee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNBGL : calculee restituee : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNQ : calculee restituee : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELREPHA : calculee restituee : "Investissement Scellier report reduction - Retenu 7HA" ;
+ACELREPHB : calculee restituee : "Investissement Scellier report reduction - Retenu 7HB" ;
+ACELREPHD : calculee restituee : "Investissement Scellier report reduction - Retenu 7HD" ;
+ACELREPHE : calculee restituee : "Investissement Scellier report reduction - Retenu 7HE" ;
+ACELREPHF : calculee restituee : "Investissement Scellier report reduction - Retenu 7HF" ;
+ACELREPHG : calculee restituee : "Investissement Scellier report reduction - Retenu 7HG" ;
+ACELREPHH : calculee restituee : "Investissement Scellier report reduction - Retenu 7HH" ;
+ACELREPHR : calculee restituee : "Scellier metropole - DOM hors plafond report 2009 - Retenu 7HR" ;
+ACELREPHS : calculee restituee : "Investissement Scellier DOM ds plafond report 2009 - Retenu 7HS" ;
+ACELREPHT : calculee restituee : "Scellier metropole DOM : Report  - Retenu 7HT" ;
+ACELREPHU : calculee restituee : "Scellier DOM COM hors plafond 5/2009 31/12/2009- Retenu 7HU" ;
+ACELREPHV : calculee restituee : "Investissement Scellier metropole 2010 : Report- Retenu 7HV" ;
+ACELREPHW : calculee restituee : "Investissement Scellier DOM COM 2010 : Report- Retenu 7HW" ;
+ACELREPHX : calculee restituee : "Scellier metropole pa 2009 fini 2010 : Report - Retenu 7HX" ;
+ACELREPHZ : calculee restituee : "Scellier DOM COM pa 2009 fini 2010 : Report - Retenu 7HZ" ;
+ACELRREDLA : calculee restituee : "Investissement Scellier report 2009 reduction - Avis Facture - Retenu " ;
+ACELRREDLB : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LB" ;
+ACELRREDLC : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LC" ;
+ACELRREDLD : calculee restituee : "Investissement Scellier report 2010 reduction - Avis Facture - Retenu " ;
+ACELRREDLE : calculee restituee : "Investissement Scellier report reduction - Avis Facture - Retenu 7LE" ;
+ACELRREDLF : calculee restituee : "Investissement Scellier report 2011 reduction - Avis Facture - Retenu " ;
+ACINE : calculee restituee : "Cinema audiovisuel" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACOLENT : calculee restituee : "Investissements outre mer entreprise - report 2009 - declare" ;
+ACOMP : calculee restituee : "Frais de comptabilite" ;
+ACOTFOR : calculee restituee : "Cotisations assurance pour la foret - retenu" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ACREAT : calculee restituee : "nbre createur ou repreneur entreprise accorde" ;
+ACREATHANDI : calculee restituee : "nbre createur ou repreneur entreprise accorde handi" ;
+ADEVDUR : calculee restituee : "Depenses developpement durable " ;
+ADIFAGRI : calculee restituee : "Interet differe paiement agriculteurs" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+ADOM : calculee restituee : "Investissement DOM-TOM" ;
+ADOMSOC1 : calculee restituee : "Investissements outre mer logement social - report 2009 - declare" ;
+ADONS : calculee restituee : "Dons aux oeuvres" ;
+AFIPC : calculee restituee : "Cotisations FIP Corse retenus" ;
+AFIPDOM : calculee restituee : "Cotisations FIP DOM COM retenus" ;
+AFOREST : calculee restituee : "base reduction d impot investissment forestier retenue" ;
+AFORET : calculee restituee : "Cotisations versees pour defense des forets" ;
+AGARD : calculee restituee : "Base reduction frais de garde" ;
+AGC : calculee : "Age du conjoint" ;
+AGRBG : calculee : "SIMULIR rbg correspondant aux deficits BA" ;
+AGRECI : calculee restituee : "Agregat credits impot" ;
+AGREDTARDIF : calculee restituee : "Agregat depot tardif" ;
+AGREPAPER : calculee restituee : "Agregat pensions alimentaires percues" ;
+AGREPARET : calculee restituee : "Agregat pensions alimentaires versees retenues" ;
+AGREPPE : calculee restituee : "Agregat PPE" ;
+AGRI : calculee restituee : "pour Colbert : somme des BAPERP" ;
+AGRIC : calculee restituee : "Abattements jeunes agriculteurs - Conjoint" ;
+AGRIMP : calculee : "Conges agriculteur : montant impute" ;
+AGRIP : calculee restituee : "Abattements jeunes agriculteurs - PAC" ;
+AGRIV : calculee restituee : "Abattements jeunes agriculteurs - Vous" ;
+AGRREST : calculee : "Conges agriculteur : montant restitution" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+AHEBE : calculee restituee : "Base retenue  depense d'hebergement" ;
+AIDIMP : calculee : "Aide aux personnes : montant impute" ;
+AIDREST : calculee : "Aide aux personnes : montant restitution" ;
+AILMIA : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IA) - retenu" ;
+AILMIB : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IB) - retenu" ;
+AILMIC : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IC) - retenu" ;
+AILMIH : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IH) - retenu" ;
+AILMIX : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IX) - retenu" ;
+AILMIZ : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IZ) - retenu" ;
+AINVRED : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AISFDONCEE : calculee restituee : "ISF : Dons dans CEE - Acceptes" ;
+AISFDONF : calculee : "ISF : Dons en France - Acceptes" ;
+AISFFCPI : calculee restituee : "ISF :  investisements FCPI declares" ;
+AISFFIP : calculee restituee : "ISF :  investisements FIP declares" ;
+AISFPMED : calculee restituee : "ISF : PME, investisements directs declares" ;
+AISFPMEI : calculee restituee : "ISF : PME, investisements indirects declares" ;
+ALLECS : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 12 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias 8TV : "Revenus etrangers soumis a CSG au taux de 6,6 %" ;
+ALLO1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias 1CP : "Revenus de remplacement - PAC 1" ;
+ALLO2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias 1DP : "Revenus de remplacement - PAC 2" ;
+ALLO3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias 1EP : "Revenus de remplacement - PAC 3" ;
+ALLO4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias 1FP : "Revenus de remplacement - PAC 4" ;
+ALLOC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1BP : "Revenus de remplacement - Declarant 2" ;
+ALLOP : calculee restituee : " somme Allocation personnes a charge 1 a 4" ;
+ALLOV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 1 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 restituee alias 1AP : "Revenus de remplacement - Declarant 1" ;
+ALOCENT : calculee restituee : "Investissements outre mer entreprise - declare" ;
+ALOCIDEFG : calculee restituee : "Invest. locations meublees non pro 2012 - retenu" ;
+ALOGDOM : calculee restituee : "Investissements outre mer logement - declare" ;
+ALOGSOC : calculee restituee : "Investissements outre mer logement social - declare" ;
+ALOYIMP : calculee restituee : "Credit assurances loyers impayes retenu" ;
+AMEUBLE : calculee restituee : "Investissements locations meublees non pro - report 2009 - retenu" ;
+ANCNAP : calculee : "ancien net a payer pour la double liq." ;
+ANCSDED2 : calculee restituee : "annee d'imposition pour variation CSG" ;
+ANG3 : calculee : "avantage normal impot TH - KIR" ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+ANOCEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias 5SN : "BNC non prof. hors AA. - Benefices - Declarant 1" ;
+ANOPEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias 5OS : "BNC non prof. hors AA - Benefices - PAC" ;
+ANOUV : calculee restituee : "Base reduction Capital de societes nouvelles" ;
+ANOVEP : saisie revenu classe = 4 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias 5NS : "BNC non prof. hors AA - Benefices - Declarant 2" ;
+ANTINDIRPS : calculee base : "Anterieur indicateur IR PS" ;
+ANTIRAFF : calculee restituee : "Impot sur le revenu anterieur a afficher sur l avis" ;
+ANTISFAFF : calculee restituee : "ISF anterieur a afficher sur l avis" ;
+ANTPPEIMP2A : calculee base : "correctif : anterieur ppe imputee" ;
+ANTPPEREST2A : calculee base : "correctif : anterieur ppe restituee" ;
+ANTPPETOT : calculee base : "correctif : anterieur ppe totale" ;
+APATNAT : calculee restituee : "Base retenue  depense protection du patrimoine naturel" ;
+APATNAT1 : calculee restituee : "Retenu : depense 2011 protection du patrimoine naturel : report" ;
+APATNAT2 : calculee restituee : "Retenu : depense 2010 protection du patrimoine naturel : report" ;
+APB1 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB2 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB3 : calculee : "Minimum d'abattement 10% (PR)" ;
+APB4 : calculee : "Minimum d'abattement 10% (PR)" ;
+APBC : calculee : "Minimum d'abattement 10% (PR)" ;
+APBV : calculee : "Minimum d'abattement 10% (PR)" ;
+APERPC : calculee restituee : "bse retenu PERP" ;
+APERPCTEF : calculee : "bse retenu PERP tx eff" ;
+APERPP : calculee restituee : "bse retenu PERP" ;
+APERPPTEF : calculee : "bse retenu PERP tx eff" ;
+APERPV : calculee restituee : "bse retenu PERP" ;
+APERPVTEF : calculee : "bse retenu PERP tx eff" ;
+APPIMP : calculee : "Credit apprentissage : montant impute" ;
+APPLI_AVIS : saisie contexte classe = 0 priorite = 10 categorie_TL = 20 restituee alias AVIS : "Application Avis" ;
+APPLI_BATCH : calculee restituee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_COLBERT : saisie contexte classe = 0 priorite = 0 categorie_TL = 0 restituee alias V_COLBERT : "Appli_Colbert" type BOOLEEN ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee restituee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : saisie contexte classe = 0 priorite = 0 categorie_TL = 0 restituee alias V_OCEANS : "Appli_Oceans" ;
+APPLI_PRO : calculee restituee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+APPREST : calculee : "Credit apprentissage : montant restitution" ;
+APR1 : calculee : "Abattement pensions retraites 10%" ;
+APR2 : calculee : "Abattement pensions retraites 10%" ;
+APR3 : calculee : "Abattement pensions retraites 10%" ;
+APR4 : calculee : "Abattement pensions retraites 10%" ;
+APRC : calculee : "Abattement pensions retraites 10%" ;
+APRESCOMP : calculee restituee : "base retenue prestations compensatoires" ;
+APRETUD : calculee restituee : "Interets pret etudiant retenu" ;
+APROREP : calculee restituee : "Invest. locations meublees non pro 2009 acheve 2010 - report - retenu" ;
+APRV : calculee : "Abattement pensions retraites 10%" ;
+AREDMEUB : calculee restituee : "Invest. locations meublees non pro - report reduction - retenu" ;
+AREDREP : calculee restituee : "Invest. loc. meublees non pro - report reduction (7IU) - retenu" ;
+AREPA : calculee restituee : "Dons : fourniture de repas particulier" ;
+AREPMEU : calculee restituee : "Investissements locations meublees non pro - report 2010 - retenu" ;
+AREPNPRO : calculee restituee : "Invest. locations meublees non pro initie avant 2010 - report - retenu" ;
+ARESIMEUB : calculee restituee : "Invest. locations meublees dans residence neuve (7IO) - retenu" ;
+ARESINEUV : calculee restituee : "Investissements locations meublees dans residence neuve - retenu" ;
+ARESIVIEU : calculee restituee : "Investissements locations meublees dans residence neuve 2009 - retenu" ;
+ARESTIMO : calculee restituee : "Travaux de restauration immobiliere - retenu" ;
+ARIRENOV : calculee restituee : "Travaux de restauration des objets classes - retenu" ;
+ART1731BIS : calculee : "indicateur art1731 bis empechant benefice reduc et deficit " ;
+ARTIMP : calculee : "Metiers d art : montant impute" ;
+ARTREST : calculee : "Metiers d art : montant restitution" ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+ASOCREPR : calculee restituee : "Base Reduction emprunt reprise societe" ;
+ASOUFIP : calculee restituee : "Investissement de proximite" ;
+ASSIMP : calculee : "Prelevements liberatoires (assurance vie) : montant impute" ;
+ASSREST : calculee : "Prelevements liberatoires (assurance vie) : montant restitution" ;
+ASURV : calculee restituee : "Rente-survie, contrat handicap" ;
+ASYND : calculee restituee : "Reduction cotisation syndicale" ;
+ATEC : calculee : "Depenses travaux prevention risques technologiques - Bailleur - retenu" ;
+ATOUHOTR : calculee restituee : "Investissement locatif residence hoteliere - Retenu" ;
+ATOUREPA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURES : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURNEUF : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme neuf" ;
+ATOURREP : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme report" ;
+ATOURTRA : calculee restituee : "Retenu  Investissements locatifs resid. de tourisme travaux" ;
+AUBAINE10 : calculee : "avantage en impot (A2) lie a avantages fiscaux 2010" ;
+AUBAINE11 : calculee : "avantage en impot (A1) lie a avantages fiscaux 2011" ;
+AUBAINE12 : calculee : "avantage en impot (A4) lie a avantages fiscaux 2011" ;
+AUBAINE9 : calculee : "avantage en impot (A3) lie a av. fiscaux 2009 pris en compte en 2011" ;
+AUTOBICPC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias 5UB : "Auto-entrepreneur - BIC prof. - Prestations de services - Declarant 2" ;
+AUTOBICPNET : calculee restituee : "auto entrepreneurs BIC pro net pr colbert" ;
+AUTOBI
\ No newline at end of file
diff --git a/sources2013m_3_8/LICENCE b/sources2013m_3_8/LICENCE
new file mode 100644
index 0000000000000000000000000000000000000000..0e5d105a724ee12923254ddfcb29e543f2f54ead
--- /dev/null
+++ b/sources2013m_3_8/LICENCE
@@ -0,0 +1,550 @@
+
+  CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL
+
+Version 2.1 du 2013-06-21
+
+
+    Avertissement
+
+Ce contrat est une licence de logiciel libre issue d'une concertation
+entre ses auteurs afin que le respect de deux grands principes préside à
+sa rédaction:
+
+  * d'une part, le respect des principes de diffusion des logiciels
+    libres: accès au code source, droits étendus conférés aux utilisateurs,
+  * d'autre part, la désignation d'un droit applicable, le droit
+    français, auquel elle est conforme, tant au regard du droit de la
+    responsabilité civile que du droit de la propriété intellectuelle et
+    de la protection qu'il offre aux auteurs et titulaires des droits
+    patrimoniaux sur un logiciel.
+
+Les auteurs de la licence CeCILL (Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre])
+sont:
+
+Commissariat à l'énergie atomique et aux énergies alternatives - CEA,
+établissement public de recherche à caractère scientifique, technique et
+industriel, dont le siège est situé 25 rue Leblanc, immeuble Le Ponant
+D, 75015 Paris.
+
+Centre National de la Recherche Scientifique - CNRS, établissement
+public à caractère scientifique et technologique, dont le siège est
+situé 3 rue Michel-Ange, 75794 Paris cedex 16.
+
+Institut National de Recherche en Informatique et en Automatique -
+Inria, établissement public à caractère scientifique et technologique,
+dont le siège est situé Domaine de Voluceau, Rocquencourt, BP 105, 78153
+Le Chesnay cedex.
+
+
+    Préambule
+
+Ce contrat est une licence de logiciel libre dont l'objectif est de
+conférer aux utilisateurs la liberté de modification et de
+redistribution du logiciel régi par cette licence dans le cadre d'un
+modèle de diffusion en logiciel libre.
+
+L'exercice de ces libertés est assorti de certains devoirs à la charge
+des utilisateurs afin de préserver ce statut au cours des
+redistributions ultérieures.
+
+L'accessibilité au code source et les droits de copie, de modification
+et de redistribution qui en découlent ont pour contrepartie de n'offrir
+aux utilisateurs qu'une garantie limitée et de ne faire peser sur
+l'auteur du logiciel, le titulaire des droits patrimoniaux et les
+concédants successifs qu'une responsabilité restreinte.
+
+A cet égard l'attention de l'utilisateur est attirée sur les risques
+associés au chargement, à l'utilisation, à la modification et/ou au
+développement et à la reproduction du logiciel par l'utilisateur étant
+donné sa spécificité de logiciel libre, qui peut le rendre complexe à
+manipuler et qui le réserve donc à des développeurs ou des
+professionnels avertis possédant des connaissances informatiques
+approfondies. Les utilisateurs sont donc invités à charger et tester
+l'adéquation du logiciel à leurs besoins dans des conditions permettant
+d'assurer la sécurité de leurs systèmes et/ou de leurs données et, plus
+généralement, à l'utiliser et l'exploiter dans les mêmes conditions de
+sécurité. Ce contrat peut être reproduit et diffusé librement, sous
+réserve de le conserver en l'état, sans ajout ni suppression de clauses.
+
+Ce contrat est susceptible de s'appliquer à tout logiciel dont le
+titulaire des droits patrimoniaux décide de soumettre l'exploitation aux
+dispositions qu'il contient.
+
+Une liste de questions fréquemment posées se trouve sur le site web
+officiel de la famille des licences CeCILL 
+(http://www.cecill.info/index.fr.html) pour toute clarification qui
+serait nécessaire.
+
+
+    Article 1 - DEFINITIONS
+
+Dans ce contrat, les termes suivants, lorsqu'ils seront écrits avec une
+lettre capitale, auront la signification suivante:
+
+Contrat: désigne le présent contrat de licence, ses éventuelles versions
+postérieures et annexes.
+
+Logiciel: désigne le logiciel sous sa forme de Code Objet et/ou de Code
+Source et le cas échéant sa documentation, dans leur état au moment de
+l'acceptation du Contrat par le Licencié.
+
+Logiciel Initial: désigne le Logiciel sous sa forme de Code Source et
+éventuellement de Code Objet et le cas échéant sa documentation, dans
+leur état au moment de leur première diffusion sous les termes du Contrat.
+
+Logiciel Modifié: désigne le Logiciel modifié par au moins une
+Contribution.
+
+Code Source: désigne l'ensemble des instructions et des lignes de
+programme du Logiciel et auquel l'accès est nécessaire en vue de
+modifier le Logiciel.
+
+Code Objet: désigne les fichiers binaires issus de la compilation du
+Code Source.
+
+Titulaire: désigne le ou les détenteurs des droits patrimoniaux d'auteur
+sur le Logiciel Initial.
+
+Licencié: désigne le ou les utilisateurs du Logiciel ayant accepté le
+Contrat.
+
+Contributeur: désigne le Licencié auteur d'au moins une Contribution.
+
+Concédant: désigne le Titulaire ou toute personne physique ou morale
+distribuant le Logiciel sous le Contrat.
+
+Contribution: désigne l'ensemble des modifications, corrections,
+traductions, adaptations et/ou nouvelles fonctionnalités intégrées dans
+le Logiciel par tout Contributeur, ainsi que tout Module Interne.
+
+Module: désigne un ensemble de fichiers sources y compris leur
+documentation qui permet de réaliser des fonctionnalités ou services
+supplémentaires à ceux fournis par le Logiciel.
+
+Module Externe: désigne tout Module, non dérivé du Logiciel, tel que ce
+Module et le Logiciel s'exécutent dans des espaces d'adressage
+différents, l'un appelant l'autre au moment de leur exécution.
+
+Module Interne: désigne tout Module lié au Logiciel de telle sorte
+qu'ils s'exécutent dans le même espace d'adressage.
+
+GNU GPL: désigne la GNU General Public License dans sa version 2 ou
+toute version ultérieure, telle que publiée par Free Software Foundation
+Inc.
+
+GNU Affero GPL: désigne la GNU Affero General Public License dans sa
+version 3 ou toute version ultérieure, telle que publiée par Free
+Software Foundation Inc.
+
+EUPL: désigne la Licence Publique de l'Union européenne dans sa version
+1.1 ou toute version ultérieure, telle que publiée par la Commission
+Européenne.
+
+Parties: désigne collectivement le Licencié et le Concédant.
+
+Ces termes s'entendent au singulier comme au pluriel.
+
+
+    Article 2 - OBJET
+
+Le Contrat a pour objet la concession par le Concédant au Licencié d'une
+licence non exclusive, cessible et mondiale du Logiciel telle que
+définie ci-après à l'article 5 <#etendue> pour toute la durée de
+protection des droits portant sur ce Logiciel.
+
+
+    Article 3 - ACCEPTATION
+
+3.1 L'acceptation par le Licencié des termes du Contrat est réputée
+acquise du fait du premier des faits suivants:
+
+  * (i) le chargement du Logiciel par tout moyen notamment par
+    téléchargement à partir d'un serveur distant ou par chargement à
+    partir d'un support physique;
+  * (ii) le premier exercice par le Licencié de l'un quelconque des
+    droits concédés par le Contrat.
+
+3.2 Un exemplaire du Contrat, contenant notamment un avertissement
+relatif aux spécificités du Logiciel, à la restriction de garantie et à
+la limitation à un usage par des utilisateurs expérimentés a été mis à
+disposition du Licencié préalablement à son acceptation telle que
+définie à l'article 3.1 <#acceptation-acquise> ci dessus et le Licencié
+reconnaît en avoir pris connaissance.
+
+
+    Article 4 - ENTREE EN VIGUEUR ET DUREE
+
+
+      4.1 ENTREE EN VIGUEUR
+
+Le Contrat entre en vigueur à la date de son acceptation par le Licencié
+telle que définie en 3.1 <#acceptation-acquise>.
+
+
+      4.2 DUREE
+
+Le Contrat produira ses effets pendant toute la durée légale de
+protection des droits patrimoniaux portant sur le Logiciel.
+
+
+    Article 5 - ETENDUE DES DROITS CONCEDES
+
+Le Concédant concède au Licencié, qui accepte, les droits suivants sur
+le Logiciel pour toutes destinations et pour la durée du Contrat dans
+les conditions ci-après détaillées.
+
+Par ailleurs, si le Concédant détient ou venait à détenir un ou
+plusieurs brevets d'invention protégeant tout ou partie des
+fonctionnalités du Logiciel ou de ses composants, il s'engage à ne pas
+opposer les éventuels droits conférés par ces brevets aux Licenciés
+successifs qui utiliseraient, exploiteraient ou modifieraient le
+Logiciel. En cas de cession de ces brevets, le Concédant s'engage à
+faire reprendre les obligations du présent alinéa aux cessionnaires.
+
+
+      5.1 DROIT D'UTILISATION
+
+Le Licencié est autorisé à utiliser le Logiciel, sans restriction quant
+aux domaines d'application, étant ci-après précisé que cela comporte:
+
+ 1.
+
+    la reproduction permanente ou provisoire du Logiciel en tout ou
+    partie par tout moyen et sous toute forme.
+
+ 2.
+
+    le chargement, l'affichage, l'exécution, ou le stockage du Logiciel
+    sur tout support.
+
+ 3.
+
+    la possibilité d'en observer, d'en étudier, ou d'en tester le
+    fonctionnement afin de déterminer les idées et principes qui sont à
+    la base de n'importe quel élément de ce Logiciel; et ceci, lorsque
+    le Licencié effectue toute opération de chargement, d'affichage,
+    d'exécution, de transmission ou de stockage du Logiciel qu'il est en
+    droit d'effectuer en vertu du Contrat.
+
+
+      5.2 DROIT D'APPORTER DES CONTRIBUTIONS
+
+Le droit d'apporter des Contributions comporte le droit de traduire,
+d'adapter, d'arranger ou d'apporter toute autre modification au Logiciel
+et le droit de reproduire le logiciel en résultant.
+
+Le Licencié est autorisé à apporter toute Contribution au Logiciel sous
+réserve de mentionner, de façon explicite, son nom en tant qu'auteur de
+cette Contribution et la date de création de celle-ci.
+
+
+      5.3 DROIT DE DISTRIBUTION
+
+Le droit de distribution comporte notamment le droit de diffuser, de
+transmettre et de communiquer le Logiciel au public sur tout support et
+par tout moyen ainsi que le droit de mettre sur le marché à titre
+onéreux ou gratuit, un ou des exemplaires du Logiciel par tout procédé.
+
+Le Licencié est autorisé à distribuer des copies du Logiciel, modifié ou
+non, à des tiers dans les conditions ci-après détaillées.
+
+
+        5.3.1 DISTRIBUTION DU LOGICIEL SANS MODIFICATION
+
+Le Licencié est autorisé à distribuer des copies conformes du Logiciel,
+sous forme de Code Source ou de Code Objet, à condition que cette
+distribution respecte les dispositions du Contrat dans leur totalité et
+soit accompagnée:
+
+ 1.
+
+    d'un exemplaire du Contrat,
+
+ 2.
+
+    d'un avertissement relatif à la restriction de garantie et de
+    responsabilité du Concédant telle que prévue aux articles 8
+    <#responsabilite> et 9 <#garantie>,
+
+et que, dans le cas où seul le Code Objet du Logiciel est redistribué,
+le Licencié permette un accès effectif au Code Source complet du
+Logiciel pour une durée d'au moins 3 ans à compter de la distribution du
+logiciel, étant entendu que le coût additionnel d'acquisition du Code
+Source ne devra pas excéder le simple coût de transfert des données.
+
+
+        5.3.2 DISTRIBUTION DU LOGICIEL MODIFIE
+
+Lorsque le Licencié apporte une Contribution au Logiciel, les conditions
+de distribution du Logiciel Modifié en résultant sont alors soumises à
+l'intégralité des dispositions du Contrat.
+
+Le Licencié est autorisé à distribuer le Logiciel Modifié, sous forme de
+code source ou de code objet, à condition que cette distribution
+respecte les dispositions du Contrat dans leur totalité et soit
+accompagnée:
+
+ 1.
+
+    d'un exemplaire du Contrat,
+
+ 2.
+
+    d'un avertissement relatif à la restriction de garantie et de
+    responsabilité du Concédant telle que prévue aux articles 8
+    <#responsabilite> et 9 <#garantie>,
+
+et, dans le cas où seul le code objet du Logiciel Modifié est redistribué,
+
+ 3.
+
+    d'une note précisant les conditions d'accès effectif au code source
+    complet du Logiciel Modifié, pendant une période d'au moins 3 ans à
+    compter de la distribution du Logiciel Modifié, étant entendu que le
+    coût additionnel d'acquisition du code source ne devra pas excéder
+    le simple coût de transfert des données.
+
+
+        5.3.3 DISTRIBUTION DES MODULES EXTERNES
+
+Lorsque le Licencié a développé un Module Externe les conditions du
+Contrat ne s'appliquent pas à ce Module Externe, qui peut être distribué
+sous un contrat de licence différent.
+
+
+        5.3.4 COMPATIBILITE AVEC D'AUTRES LICENCES
+
+Le Licencié peut inclure un code soumis aux dispositions d'une des
+versions de la licence GNU GPL, GNU Affero GPL et/ou EUPL dans le
+Logiciel modifié ou non et distribuer l'ensemble sous les conditions de
+la même version de la licence GNU GPL, GNU Affero GPL et/ou EUPL.
+
+Le Licencié peut inclure le Logiciel modifié ou non dans un code soumis
+aux dispositions d'une des versions de la licence GNU GPL, GNU Affero
+GPL et/ou EUPL et distribuer l'ensemble sous les conditions de la même
+version de la licence GNU GPL, GNU Affero GPL et/ou EUPL.
+
+
+    Article 6 - PROPRIETE INTELLECTUELLE
+
+
+      6.1 SUR LE LOGICIEL INITIAL
+
+Le Titulaire est détenteur des droits patrimoniaux sur le Logiciel
+Initial. Toute utilisation du Logiciel Initial est soumise au respect
+des conditions dans lesquelles le Titulaire a choisi de diffuser son
+oeuvre et nul autre n'a la faculté de modifier les conditions de
+diffusion de ce Logiciel Initial.
+
+Le Titulaire s'engage à ce que le Logiciel Initial reste au moins régi
+par le Contrat et ce, pour la durée visée à l'article 4.2 <#duree>.
+
+
+      6.2 SUR LES CONTRIBUTIONS
+
+Le Licencié qui a développé une Contribution est titulaire sur celle-ci
+des droits de propriété intellectuelle dans les conditions définies par
+la législation applicable.
+
+
+      6.3 SUR LES MODULES EXTERNES
+
+Le Licencié qui a développé un Module Externe est titulaire sur celui-ci
+des droits de propriété intellectuelle dans les conditions définies par
+la législation applicable et reste libre du choix du contrat régissant
+sa diffusion.
+
+
+      6.4 DISPOSITIONS COMMUNES
+
+Le Licencié s'engage expressément:
+
+ 1.
+
+    à ne pas supprimer ou modifier de quelque manière que ce soit les
+    mentions de propriété intellectuelle apposées sur le Logiciel;
+
+ 2.
+
+    à reproduire à l'identique lesdites mentions de propriété
+    intellectuelle sur les copies du Logiciel modifié ou non.
+
+Le Licencié s'engage à ne pas porter atteinte, directement ou
+indirectement, aux droits de propriété intellectuelle du Titulaire et/ou
+des Contributeurs sur le Logiciel et à prendre, le cas échéant, à
+l'égard de son personnel toutes les mesures nécessaires pour assurer le
+respect des dits droits de propriété intellectuelle du Titulaire et/ou
+des Contributeurs.
+
+
+    Article 7 - SERVICES ASSOCIES
+
+7.1 Le Contrat n'oblige en aucun cas le Concédant à la réalisation de
+prestations d'assistance technique ou de maintenance du Logiciel.
+
+Cependant le Concédant reste libre de proposer ce type de services. Les
+termes et conditions d'une telle assistance technique et/ou d'une telle
+maintenance seront alors déterminés dans un acte séparé. Ces actes de
+maintenance et/ou assistance technique n'engageront que la seule
+responsabilité du Concédant qui les propose.
+
+7.2 De même, tout Concédant est libre de proposer, sous sa seule
+responsabilité, à ses licenciés une garantie, qui n'engagera que lui,
+lors de la redistribution du Logiciel et/ou du Logiciel Modifié et ce,
+dans les conditions qu'il souhaite. Cette garantie et les modalités
+financières de son application feront l'objet d'un acte séparé entre le
+Concédant et le Licencié.
+
+
+    Article 8 - RESPONSABILITE
+
+8.1 Sous réserve des dispositions de l'article 8.2
+<#limite-responsabilite>, le Licencié a la faculté, sous réserve de
+prouver la faute du Concédant concerné, de solliciter la réparation du
+préjudice direct qu'il subirait du fait du Logiciel et dont il apportera
+la preuve.
+
+8.2 La responsabilité du Concédant est limitée aux engagements pris en
+application du Contrat et ne saurait être engagée en raison notamment:
+(i) des dommages dus à l'inexécution, totale ou partielle, de ses
+obligations par le Licencié, (ii) des dommages directs ou indirects
+découlant de l'utilisation ou des performances du Logiciel subis par le
+Licencié et (iii) plus généralement d'un quelconque dommage indirect. En
+particulier, les Parties conviennent expressément que tout préjudice
+financier ou commercial (par exemple perte de données, perte de
+bénéfices, perte d'exploitation, perte de clientèle ou de commandes,
+manque à gagner, trouble commercial quelconque) ou toute action dirigée
+contre le Licencié par un tiers, constitue un dommage indirect et
+n'ouvre pas droit à réparation par le Concédant.
+
+
+    Article 9 - GARANTIE
+
+9.1 Le Licencié reconnaît que l'état actuel des connaissances
+scientifiques et techniques au moment de la mise en circulation du
+Logiciel ne permet pas d'en tester et d'en vérifier toutes les
+utilisations ni de détecter l'existence d'éventuels défauts. L'attention
+du Licencié a été attirée sur ce point sur les risques associés au
+chargement, à l'utilisation, la modification et/ou au développement et à
+la reproduction du Logiciel qui sont réservés à des utilisateurs avertis.
+
+Il relève de la responsabilité du Licencié de contrôler, par tous
+moyens, l'adéquation du produit à ses besoins, son bon fonctionnement et
+de s'assurer qu'il ne causera pas de dommages aux personnes et aux biens.
+
+9.2 Le Concédant déclare de bonne foi être en droit de concéder
+l'ensemble des droits attachés au Logiciel (comprenant notamment les
+droits visés à l'article 5 <#etendue>).
+
+9.3 Le Licencié reconnaît que le Logiciel est fourni "en l'état" par le
+Concédant sans autre garantie, expresse ou tacite, que celle prévue à
+l'article 9.2 <#bonne-foi> et notamment sans aucune garantie sur sa
+valeur commerciale, son caractère sécurisé, innovant ou pertinent.
+
+En particulier, le Concédant ne garantit pas que le Logiciel est exempt
+d'erreur, qu'il fonctionnera sans interruption, qu'il sera compatible
+avec l'équipement du Licencié et sa configuration logicielle ni qu'il
+remplira les besoins du Licencié.
+
+9.4 Le Concédant ne garantit pas, de manière expresse ou tacite, que le
+Logiciel ne porte pas atteinte à un quelconque droit de propriété
+intellectuelle d'un tiers portant sur un brevet, un logiciel ou sur tout
+autre droit de propriété. Ainsi, le Concédant exclut toute garantie au
+profit du Licencié contre les actions en contrefaçon qui pourraient être
+diligentées au titre de l'utilisation, de la modification, et de la
+redistribution du Logiciel. Néanmoins, si de telles actions sont
+exercées contre le Licencié, le Concédant lui apportera son expertise
+technique et juridique pour sa défense. Cette expertise technique et
+juridique est déterminée au cas par cas entre le Concédant concerné et
+le Licencié dans le cadre d'un protocole d'accord. Le Concédant dégage
+toute responsabilité quant à l'utilisation de la dénomination du
+Logiciel par le Licencié. Aucune garantie n'est apportée quant à
+l'existence de droits antérieurs sur le nom du Logiciel et sur
+l'existence d'une marque.
+
+
+    Article 10 - RESILIATION
+
+10.1 En cas de manquement par le Licencié aux obligations mises à sa
+charge par le Contrat, le Concédant pourra résilier de plein droit le
+Contrat trente (30) jours après notification adressée au Licencié et
+restée sans effet.
+
+10.2 Le Licencié dont le Contrat est résilié n'est plus autorisé à
+utiliser, modifier ou distribuer le Logiciel. Cependant, toutes les
+licences qu'il aura concédées antérieurement à la résiliation du Contrat
+resteront valides sous réserve qu'elles aient été effectuées en
+conformité avec le Contrat.
+
+
+    Article 11 - DISPOSITIONS DIVERSES
+
+
+      11.1 CAUSE EXTERIEURE
+
+Aucune des Parties ne sera responsable d'un retard ou d'une défaillance
+d'exécution du Contrat qui serait dû à un cas de force majeure, un cas
+fortuit ou une cause extérieure, telle que, notamment, le mauvais
+fonctionnement ou les interruptions du réseau électrique ou de
+télécommunication, la paralysie du réseau liée à une attaque
+informatique, l'intervention des autorités gouvernementales, les
+catastrophes naturelles, les dégâts des eaux, les tremblements de terre,
+le feu, les explosions, les grèves et les conflits sociaux, l'état de
+guerre...
+
+11.2 Le fait, par l'une ou l'autre des Parties, d'omettre en une ou
+plusieurs occasions de se prévaloir d'une ou plusieurs dispositions du
+Contrat, ne pourra en aucun cas impliquer renonciation par la Partie
+intéressée à s'en prévaloir ultérieurement.
+
+11.3 Le Contrat annule et remplace toute convention antérieure, écrite
+ou orale, entre les Parties sur le même objet et constitue l'accord
+entier entre les Parties sur cet objet. Aucune addition ou modification
+aux termes du Contrat n'aura d'effet à l'égard des Parties à moins
+d'être faite par écrit et signée par leurs représentants dûment habilités.
+
+11.4 Dans l'hypothèse où une ou plusieurs des dispositions du Contrat
+s'avèrerait contraire à une loi ou à un texte applicable, existants ou
+futurs, cette loi ou ce texte prévaudrait, et les Parties feraient les
+amendements nécessaires pour se conformer à cette loi ou à ce texte.
+Toutes les autres dispositions resteront en vigueur. De même, la
+nullité, pour quelque raison que ce soit, d'une des dispositions du
+Contrat ne saurait entraîner la nullité de l'ensemble du Contrat.
+
+
+      11.5 LANGUE
+
+Le Contrat est rédigé en langue française et en langue anglaise, ces
+deux versions faisant également foi.
+
+
+    Article 12 - NOUVELLES VERSIONS DU CONTRAT
+
+12.1 Toute personne est autorisée à copier et distribuer des copies de
+ce Contrat.
+
+12.2 Afin d'en préserver la cohérence, le texte du Contrat est protégé
+et ne peut être modifié que par les auteurs de la licence, lesquels se
+réservent le droit de publier périodiquement des mises à jour ou de
+nouvelles versions du Contrat, qui posséderont chacune un numéro
+distinct. Ces versions ultérieures seront susceptibles de prendre en
+compte de nouvelles problématiques rencontrées par les logiciels libres.
+
+12.3 Tout Logiciel diffusé sous une version donnée du Contrat ne pourra
+faire l'objet d'une diffusion ultérieure que sous la même version du
+Contrat ou une version postérieure, sous réserve des dispositions de
+l'article 5.3.4 <#compatibilite>.
+
+
+    Article 13 - LOI APPLICABLE ET COMPETENCE TERRITORIALE
+
+13.1 Le Contrat est régi par la loi française. Les Parties conviennent
+de tenter de régler à l'amiable les différends ou litiges qui
+viendraient à se produire par suite ou à l'occasion du Contrat.
+
+13.2 A défaut d'accord amiable dans un délai de deux (2) mois à compter
+de leur survenance et sauf situation relevant d'une procédure d'urgence,
+les différends ou litiges seront portés par la Partie la plus diligente
+devant les Tribunaux compétents de Paris.
+
+
diff --git a/sources2013m_3_8/chap-1.m b/sources2013m_3_8/chap-1.m
new file mode 100644
index 0000000000000000000000000000000000000000..f204b408a801ede4339d0f4b7069a821bc61423c
--- /dev/null
+++ b/sources2013m_3_8/chap-1.m
@@ -0,0 +1,467 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+                                                                           #
+  ####   #    #    ##    #####      #     #####  #####   ######           ##
+ #    #  #    #   #  #   #    #     #       #    #    #  #               # #
+ #       ######  #    #  #    #     #       #    #    #  #####             #
+ #       #    #  ######  #####      #       #    #####   #                 #
+ #    #  #    #  #    #  #          #       #    #   #   #                 #
+  ####   #    #  #    #  #          #       #    #    #  ###### #######  #####
+ #
+ #
+ #
+ #
+ #
+ #                         CALCUL DU NET A PAYER
+ #
+ #
+ #
+ #
+ #
+ #
+regle 101:
+application : bareme  ;
+RC1 = positif( NAPI + 1 - SEUIL_12 ) +0 ;
+regle 1010:
+application : batch, iliad ;
+NAPT = NAPTEMPCX-TOTIRPSANT;
+NAPTIR = IRNET + TAXANET + TAXLOYNET + PCAPNET + HAUTREVNET
+	    - IRESTITIR;
+
+regle 10101:
+application : batch, iliad ;
+NAPCOROLIR = (TOTIRCUM - NONMER -RECUMIR + NONREST) * positif(20 - V_NOTRAIT) 
+            + max(0, (TOTIRCUM - NONMER - RECUMIR+NONREST) - (V_TOTIRANT -V_NONMERANT - V_ANTREIR+V_NONRESTANT)) * positif_ou_nul(V_NOTRAIT-20);
+NAPCOROLCS = max(0, NAPCR61 - V_ANTCR);
+regle 10111:
+application : iliad,batch ;
+RC1 = si ( NAPINI - V_ANTIR - IRCUM_A + RECUMBIS >= SEUIL_12 )
+      alors (1)
+      sinon (0)
+      finsi;
+regle 1013 :
+application : iliad , batch ;
+IAVIMBIS = IRB + PIR ;
+IAVIMO = (max(0,max(ID11-ADO1,IMI)-RED) + ITP + REI + PIR)
+                 * V_CR2;
+regle 1012:
+application : bareme , iliad , batch ;
+NAPI = ( IRD + PIRD - IRANT ) 
+       + TAXASSUR
+       + IPCAPTAXT
+       + IHAUTREVT
+       + TAXLOY
+       + RASAR * V_CR2 ;
+regle 104114:
+application : iliad , batch ;
+INTMS = inf( MOISAN / 10000 );
+INTAN = (( MOISAN/10000 - INTMS )*10000)  * present(MOISAN) ;
+TXINT = (positif(2006-arr(INTAN))*max(0, (INTAN - (V_ANREV+1) )* 12 + INTMS - 6 ) * TXMOISRETARD 
+         + positif_ou_nul(V_ANREV-2006)*max(0, (INTAN - (V_ANREV+1) )* 12 + INTMS - 6 ) * TXMOISRETARD2 
+         + (1-positif(2006-arr(INTAN)))*(1-positif_ou_nul(V_ANREV-2006))
+	   * (((2006 - (V_ANREV+1))*12 - 6) * (TXMOISRETARD * positif(2006 - (V_ANREV+1)) + TXMOISRETARD2 * null(2006-(V_ANREV+1)))
+	      + ((INTAN - 2006)*12 + INTMS) * TXMOISRETARD2)
+          ) 
+            * present(MOISAN);
+COPETO = si (CMAJ = 7 ou CMAJ = 10 ou CMAJ = 17 ou CMAJ = 18)
+         alors (10)
+         sinon
+              ( si (CMAJ = 8 ou CMAJ = 11)
+                alors (40)
+                sinon (80)
+                finsi )
+         finsi;
+regle 1041140:
+application : iliad , batch ;
+CSTOTSSPENA = max(0,CSG + RDSN + PRS + CVNSALC + CDIS + CGLOA + RSE1N  + RSE2N + RSE3N + RSE4N + RSE5N);
+PTOIR = arr(BTO * COPETO / 100)                
+	 + arr(BTO * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr((BTOINR) * TXINT / 100) ;
+PTOPRS =( arr((PRS-PRSPROV) * COPETO / 100)                
+         + arr((PRS-PRSPROV) * TXINT / 100) ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PTOCSG =( arr((CSG-CSGIM) * COPETO / 100)                
+         + arr((CSG-CSGIM) * TXINT / 100) ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTORSE1 = (arr(max(0,RSE1 -CIRSE1 -CSPROVYD) * COPETO / 100) + arr(max(0,RSE1 -CIRSE1 -CSPROVYD) * TXINT / 100)) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTORSE2 = (arr(max(0,RSE2 -CIRSE2 -CSPROVYF) * COPETO / 100) + arr(max(0,RSE2 -CIRSE2 -CSPROVYF) * TXINT / 100)) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTORSE3 = (arr(max(0,RSE3 -CIRSE3 -CSPROVYG) * COPETO / 100) + arr(max(0,RSE3 -CIRSE3 -CSPROVYG) * TXINT / 100)) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTORSE4 = (arr(max(0,RSE4 -CIRSE4 -CSPROVYH) * COPETO / 100) + arr(max(0,RSE4 -CIRSE4 -CSPROVYH) * TXINT / 100)) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PTORSE5 = (arr(max(0,RSE5 -CIRSE5 -CSPROVYE) * COPETO / 100) + arr(max(0,RSE5 -CIRSE5 -CSPROVYE) * TXINT / 100)) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PTORDS =( arr((RDSN-CRDSIM) * COPETO / 100)                
+         + arr((RDSN-CRDSIM) * TXINT / 100) ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PTOTAXA= arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * COPETO / 100)
+	 + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * TXINT / 100) ;
+PTOTPCAP= arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * COPETO / 100)
+	 + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * TXINT / 100) ;
+PTOTLOY = arr(max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * COPETO / 100)
+	 + arr(max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * TXINT / 100) ;
+
+PTOTCHR= arr(max(0,IHAUTREVT+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * COPETO / 100)
+	 + arr(max(0,IHAUTREVT+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,IHAUTREVT+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * TXINT / 100) ;
+
+PTOCVN = (arr((CVNSALC - COD8YT) * COPETO / 100) + arr((CVNSALC - COD8YT) * TXINT / 100))                
+         * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTOCDIS = (arr((CDIS-CDISPROV) * COPETO / 100) + arr((CDISC-CDISPROV) * TXINT / 100)) 
+          * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTOGLOA = (arr((CGLOA-COD8YL) * COPETO / 100) + arr((CGLOA-COD8YL) * TXINT / 100)) 
+          * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+
+regle 1041141:
+application : iliad , batch ;
+BTO = max( 0 , IRN - IRANT )
+           * positif( IAMD1 + 1 - SEUIL_61 );
+BTOINR = max( 0 , IRN - ACODELAISINR - IRANT )
+           * positif( IAMD1 + 1 - SEUIL_61 );
+
+regle 10211:
+application : bareme , batch , iliad ;
+IRD = IRN * (positif(5 - V_IND_TRAIT)
+              +
+              (1-positif(5-V_IND_TRAIT)) * (
+              positif_ou_nul(IRN+PIR-SEUIL_12) 
+             + (1 - positif(IRN + PIR))
+             ));
+regle 10213:
+application : iliad , batch;
+
+PRSD = NAPPS - V_PSANT ;
+
+CSGD = NAPCS - V_CSANT ;
+
+RDSD = NAPRD - V_RDANT ;
+
+CVND = NAPCVN - V_CVNANT ;
+CGLOAD = NAPGLOA - V_GLOANT ;
+
+CDISD = NAPCDIS - V_CDISANT ;
+CRSE1D = NAPRSE1 - V_RSE1ANT ;
+CRSE2D = NAPRSE2 - V_RSE2ANT ;
+CRSE3D = NAPRSE3 - V_RSE3ANT ;
+CRSE4D = NAPRSE4 - V_RSE4ANT ;
+CRSE5D = NAPRSE5 - V_RSE5ANT ;
+
+regle 10214:
+application : iliad,batch ;
+CSGAC = max(0,CSGC - CICSG);
+CSNET = max(0,(CSGC + PCSG - CICSG - CSGIM)) ;
+RDSAC = max(0,RDSC - CIRDS);
+RDNET = max(0,(RDSC + PRDS - CIRDS - CRDSIM));
+PRSNET = max(0,(PRSC + PPRS - CIPRS - PRSPROV))  ;
+CVNAC  =  CVNSALC;
+CVNNET  =  max(0,(CVNSALC + PCVN - COD8YT));
+CDISAC = CDISC ;
+CDISNET = max(0,(CDISC + PCDIS - CDISPROV))  ;
+CGLOAAC = CGLOA ;
+CGLOANET = max(0,(CGLOA + PGLOA-COD8YL ))  ;
+regle 102141:
+application : iliad,batch ;
+RSE1AC = max(0,RSE1 - CIRSE1)  ;
+RSE1NET = max(0,(RSE1 + PRSE1 - CIRSE1 - CSPROVYD))  ;
+RSE2AC = max(0,RSE2 - CIRSE2)  ;
+RSE2NET = max(0,(RSE2 + PRSE2 - CIRSE2 - CSPROVYF))  ;
+RSE3AC = max(0,RSE3 - CIRSE3 )  ;
+RSE3NET = max(0,(RSE3 + PRSE3 - CIRSE3 - CSPROVYG))  ;
+RSE4AC = max(0,RSE4 - CIRSE4 )  ;
+RSE4NET = max(0,(RSE4 + PRSE4 - CIRSE4 - CSPROVYH))  ;
+RSE5AC = max(0,RSE5 - CIRSE5)  ;
+RSE5NET = max(0,(RSE5 + PRSE5 - CIRSE5 - CSPROVYE))  ;
+RSENETTOT = RSE1NET + RSE2NET + RSE3NET + RSE4NET + RSE5NET;
+regle 102142:
+application : iliad,batch ;
+TOTCRBRUT = max(0,CSGC + PCSG - CICSG - CSGIM +RDSC + PRDS - CIRDS - CRDSIM+ PRSC + PPRS - CIPRS - PRSPROV
+                       + CVNSALC + PCVN - COD8YT+CDISC + PCDIS - CDISPROV + CGLOA + PGLOA - COD8YL
+                       +RSE1 + PRSE1+RSE2 + PRSE2+ RSE3 + PRSE3+RSE4 + PRSE4+ RSE5 + PRSE5
+                       - CIRSE1 - CSPROVYD - CIRSE5 - CSPROVYE - CIRSE2 - CSPROVYF
+                       - CIRSE3 - CSPROVYG - CIRSE4 - CSPROVYH);
+TOTCRNET = CSNET+ RDNET+ PRSNET+ CVNNET+ CDISNET+CGLOANET+ RSE1NET+ RSE2NET+ RSE3NET+ RSE4NET+ RSE5NET;
+regle 10201:
+application : batch , iliad ;
+
+IARD = IAR - IAR_A ;
+
+regle 1041:
+application :  iliad, batch ;
+PIRD = PIR * (positif(5 - V_IND_TRAIT)
+              +
+              (1-positif(5-V_IND_TRAIT)) * (
+              positif_ou_nul(IRN+PIR-SEUIL_12) 
+              + 
+              (1-positif(IRN+PIR)) 
+             ))
+    - 
+              PIR_A * ( positif_ou_nul(PIR_A-SEUIL_12) 
+               + 
+              (1-positif(PIR_A))  
+              );
+PPRSD = PPRS * CSREC - PPRS_A * CSRECA ;
+PCSGD = PCSG* CSREC - PCSG_A * CSRECA ;
+PRDSD = PRDS * CSREC - PRDS_A * CSRECA;
+PTOTD = PIRD  ;
+regle 114:
+application : iliad , batch ;
+BPRS = arr(RDRFPS * (1-null(4-V_REGCO))
+	  + (COD8XK + COD8YK + RDRV + RDRCM + RDNP + RDNCP + RDPTP + ESFP + R1649)*(1-V_CNR)) * (1 - present(RE168)) 
+	 + RE168 * (1-V_CNR);
+BPRSAPS = arr(RDRFAPS * (1-null(4-V_REGCO))
+	  + (RDRVAPS + RDRCMAPS + RDNP + ESFP + R1649)*(1-V_CNR)) * (1 - present(RE168)) 
+	 + RE168 * (1-V_CNR);
+regle 113:
+application : iliad , batch ;
+PRSC = arr( BPRS * T_PREL_SOC /100 ) * (1 - positif(ANNUL2042)) ;
+PRSCAPS = arr( BPRSAPS * T_PREL_SOC /100 ) * (1 - positif(ANNUL2042)) ;
+regle 103103 :
+application : iliad , batch ;
+PRS = PRSC - CIPRS;
+PRSAPS = PRSCAPS - CIPRSAPS;
+regle 1031 :
+application : iliad , batch ;
+CSGC = arr( BCSG * T_CSG / 100) * (1 - positif(ANNUL2042)) ;
+CSGCAPS = arr( BCSGAPS * T_CSG / 100) * (1 - positif(ANNUL2042)) ;
+regle 103101 :
+application : iliad , batch ;
+
+RSE1 = arr(BRSE1 * TXTQ/100) * (1 - positif(ANNUL2042)) ;
+RSE2 = arr(BRSE2 * TXTV/100) * (1 - positif(ANNUL2042)) ;
+RSE3 = arr(BRSE3 * TXTW/100) * (1 - positif(ANNUL2042)) ;
+RSE4 = arr(BRSE4 * TXTX/100) * (1 - positif(ANNUL2042)) ;
+RSE5 = arr(BRSE5 * TX075/100) * (1 - positif(ANNUL2042)) ;
+
+RSETOT = RSE1 + RSE2 + RSE3 + RSE4 + RSE5;
+regle 1031011 :
+application : iliad , batch ;
+CSG = max(0,CSGC - CICSG) ;
+CSGAPS = max(0,CSGCAPS - CICSGAPS) ;
+RSE1N = max(0,RSE1 - CIRSE1) ;
+RSE2N = max(0,RSE2  - CIRSE2) ;
+RSE3N = max(0,RSE3 - CIRSE3);
+RSE4N = max(0,RSE4  - CIRSE4) ;
+RSE5N = max(0,RSE5 - CIRSE5) ;
+
+regle 10311:
+application : iliad , batch ;
+RDRF = max(0 , RFCF + RFMIC - MICFR - (min(RFDANT,RFDANT1731+0) * positif(ART1731BIS) + RFDANT * (1 - ART1731BIS)));
+RDRFPS = max(0 , RFCFPS + RFMIC - MICFR - (min(RFDANT,RFDANT1731+0) * positif(ART1731BIS)+RFDANT* (1 - ART1731BIS)));
+RDRFAPS = max(0 , RFCFAPS + RFMIC - MICFR - (min(RFDANT,RFDANT1731+0) * positif(ART1731BIS)+RFDANT* (1 - ART1731BIS)));
+RDRCM1 =  TRCMABD + DRTNC + RAVC + RCMNAB + RTCAR + RCMPRIVM
+		+ RCMIMPAT
+		- RCMSOC
+                  -  positif(RCMRDS)
+		       * min(RCMRDS ,  
+			 RCMABD + REVACT
+                       + RCMAV + PROVIE
+                       + RCMHAD  + DISQUO
+                       + RCMHAB + INTERE
+		       + RCMTNC + REVPEA
+                       + COD2FA )
+		       ;
+RDRCM1NEG = min(0,RDRCM1);
+RDRCM1NEGPLAF  = min(COD2FA,abs(RDRCM1));
+RDRCM1BIS = (1-positif(RDRCM1)) * RDRCM1NEGPLAF * (-1)
+           + positif_ou_nul(RDRCM1) * RDRCM1;
+RDRCM = RDRCM1BIS + COD2FA;
+RDRCM1APS =  RCMABD + RCMTNC + RCMAV + RCMHAD + RCMHAB + REGPRIVM
+		+ RCMIMPAT
+		- RCMSOC
+                  -  positif(RCMRDS)
+		       * min(RCMRDS ,  
+			 RCMABD 
+                       + RCMAV 
+                       + RCMHAD 
+                       + RCMHAB
+		       + RCMTNC
+                       + COD2FA )
+		       ;
+RDRCM1NEGAPS = min(0,RDRCM1APS);
+RDRCM1NEGPLAFAPS  = min(COD2FA,abs(RDRCM1APS));
+RDRCM1BISAPS = (1-positif(RDRCM1APS)) * RDRCM1NEGPLAFAPS * (-1)
+           + positif_ou_nul(RDRCM1APS) * RDRCM1APS;
+RDRCMAPS = RDRCM1BISAPS + COD2FA;
+RDRV = RVBCSG ;
+RDRVAPS = arr(RVB1 * TXRVT1 / 100)
+         + arr(RVB2 * TXRVT2 / 100)
+         + arr(RVB3 * TXRVT3 / 100)
+         + arr(RVB4 * TXRVT4 / 100) ;
+RDNP = 
+   RCSV  
+ + RCSC  
+ + RCSP
+ + max(0,NPLOCNETSF)
+   ;
+
+PVTAUXPS = (BPVSJ + BPVSK + BPV18V + BPV18C + BPCOPTV + BPCOPTC + BPV40V + BPV40C + BPCOSAV + BPCOSAC + PEA + PVJEUNENT + GAINPEA
+          + PVPART + PVSURSIWG + PVIMPOS + ABPVNOSURSIS) ;
+RDNCP = (PVBARPS + PVTAUXPS) * (1 - positif(IPVLOC)) ;
+RDPTP = BAF1AV + BAF1AC + BAF1AP
+       + BA1AV + BA1AC + BA1AP
+       + max(0,MIB1AV - MIBDEV) + max(0,MIB1AC - MIBDEC) + max(0,MIB1AP - MIBDEP)
+       + BI1AV + BI1AC + BI1AP
+       + max(0,MIBNP1AV - MIBNPDEV) + max(0,MIBNP1AC - MIBNPDEC) + max(0,MIBNP1AP - MIBNPDEP)
+       + BI2AV + BI2AC + BI2AP
+       + max(0,BNCPRO1AV - BNCPRODEV) + max(0,BNCPRO1AC - BNCPRODEC) + max(0,BNCPRO1AP - BNCPRODEP)
+       + BN1AV + BN1AC + BN1AP
+       + max(0,BNCNP1AV - BNCNPDEV) + max(0,BNCNP1AC - BNCNPDEC) + max(0,BNCNP1AP - BNCNPDEP)
+       + PVINVE + PVINCE + PVINPE
+       + PVSOCV + PVSOCC
+       ;
+RGLOA = GLDGRATV + GLDGRATC;
+
+BCSG = arr(RDRFPS * (1-null(4-V_REGCO))
+	  + (COD8XK + COD8YK + RDRV + RDRCM + RDNP + RDNCP + RDPTP + ESFP + R1649 + PREREV)*(1-V_CNR)) * (1 - positif(present(RE168) + present(TAX1649))) 
+	 + (RE168 + TAX1649) * (1-V_CNR);
+BCSGAPS = arr(RDRFAPS * (1-null(4-V_REGCO))
+	  + (RDRVAPS + RDRCMAPS + RDNP + ESFP + R1649 + PREREV)*(1-V_CNR)) * (1 - positif(present(RE168) + present(TAX1649))) 
+	 + (RE168 + TAX1649) * (1-V_CNR);
+
+BRSE1 = SALECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSE2 = ALLECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSE3 = INDECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSE4 = PENECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+BRSE5 = SALECSG * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSETOT = BRSE1 + BRSE2 + BRSE3 + BRSE4 + BRSE5;
+regle 10311111:
+application : iliad , batch ;
+PRSETOT = PRSE1 + PRSE2 + PRSE3 + PRSE4 + PRSE5;
+RETRSETOT = RETRSE1 + RETRSE2 + RETRSE3 + RETRSE4 + RETRSE5;
+RSEPROVTOT = CSPROVYD + CSPROVYE + CSPROVYF + CSPROVYG + CSPROVYH;
+NMAJRSE1TOT = NMAJRSE11 + NMAJRSE21 + NMAJRSE31 + NMAJRSE41 + NMAJRSE51;
+NMAJRSE4TOT = NMAJRSE14 + NMAJRSE24 + NMAJRSE34 + NMAJRSE44 + NMAJRSE54;
+
+regle 103111:
+application : iliad , batch ;
+BDCSG = min ((BCSG) * (1-V_CNR), max( 0, (RDRFPS+RDRV +RDNP+ max(0,RDRCM1) + PVBARPS - IPPNCS)  * (1-V_CNR) ))  
+			   * (1 - positif(present(RE168)+present(TAX1649)));
+DGLOD = positif(CSREC+V_GLOANT) * arr((BGLOA-(COD8YL/0.075)) * TX051/100) * (1 - positif(present(RE168)+present(TAX1649)))
+	  * positif(NAPCR61);
+IDGLO = si (V_IND_TRAIT = 4) 
+        alors ((arr((BGLOA -(COD8YL/0.075))* TX051 / 100)) * positif(CSREC))
+
+        sinon  
+              (abs(DGLOD - V_IDGLOANT))
+        finsi ;
+
+regle 103114 :
+application :  batch , iliad ;
+BDRSE1 = max(0,SALECS-REVCSXA-arr(CSPROVYD/(TX075/100))) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BDRSE2 = max(0,ALLECS-REVCSXC-arr(CSPROVYF/(TX066/100))) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BDRSE3 = max(0,INDECS-REVCSXD-arr(CSPROVYG/(TX062/100))) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BDRSE4 = max(0,PENECS-REVCSXE-arr(CSPROVYH/(TX038/100))) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+BDRSE5 = max(0,SALECSG-REVCSXB-arr(CSPROVYE/(TX075/100))) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+DRSED = positif(CSREC+V_IDRSEANT) * (arr(BDRSE1 * TXTQDED/100) + arr(BDRSE2 * TXTVDED/100) 
+	 + arr(BDRSE3 * TXTWDED/100) + arr(BDRSE4 * TXTXDED/100) + arr(BDRSE5 * TX051/100)) * positif(NAPCR61);
+
+IDRSE = si (V_IND_TRAIT = 4)
+	alors (positif(CSREC)*(arr(BDRSE1 * TXTQDED/100) + arr(BDRSE2 * TXTVDED/100) + arr(BDRSE3 * TXTWDED/100) + arr(BDRSE4 * TXTXDED/100) + arr(BDRSE5 * TX051/100)))
+	
+	sinon
+	      (abs(DRSED - V_IDRSEANT))
+	finsi ;
+
+regle 1031121 :
+application : batch,iliad ;
+DCSGD = positif(CSREC+V_IDANT) * (arr(BDCSG * T_IDCSG / 100) - DCSGIM-DCSGIM_A)  * positif(NAPCR61);
+IDCSG = si (V_IND_TRAIT = 4) 
+        alors ((arr(BDCSG * T_IDCSG / 100)-DCSGIM) * positif(CSREC))
+        sinon ( 
+               si (CRDEG = 0 et NAPCRP = 0)
+                   alors (0)
+                   sinon (abs(DCSGD - V_IDANT ))
+               finsi )
+        finsi ;
+regle 10312 :
+application : iliad , batch ;
+BRDS = arr(RDRFPS * (1-null(4-V_REGCO))
+	  + (COD8XK + COD8YK + RDRV + RDRCM + RDNP + RDNCP + RDPTP + RGLOA * (1-V_CNR)
+	  + SALECS + SALECSG + ALLECS + INDECS + PENECS + ESFP + R1649 + PREREV)
+				  *(1-V_CNR)) * (1 - positif(present(RE168) + present(TAX1649))) 
+	 + (RE168 + TAX1649) * (1-V_CNR);
+BRDSAPS = arr(RDRFAPS * (1-null(4-V_REGCO))
+	  + (RDRVAPS + RDRCMAPS + RDNP + SALECS + SALECSG + ALLECS + INDECS + PENECS + ESFP + R1649 + PREREV)
+				  *(1-V_CNR)) * (1 - positif(present(RE168) + present(TAX1649))) 
+	 + (RE168 + TAX1649) * (1-V_CNR);
+
+regle 10313 :
+application : iliad , batch ;
+RDSC = arr( BRDS * T_RDS / 100 ) * (1 - positif(ANNUL2042));
+RDSCAPS = arr( BRDSAPS * T_RDS / 100 ) * (1 - positif(ANNUL2042));
+regle 103102 :
+application : iliad , batch ;
+RDSN = RDSC - CIRDS;
+RDSNAPS = RDSCAPS - CIRDSAPS;
+RDSNAC = RDSCAC - CIRDSAC;
+regle 117180:                                                             
+application : iliad , batch ;                               
+                                                                          
+CSRTF = (RDPTP + PVINVE+PVINCE+PVINPE 
+         + somme(i=V,C,P:BN1Ai + BI1Ai                          
+         + BI2Ai + BA1Ai )) * (1 - positif(IPVLOC)); 
+RDRTF = CSRTF  ;                                                          
+PSRTF = CSRTF  ;                                                          
+regle 119:
+application : iliad , batch ;
+BASSURV3 = max(0,CESSASSV - LIM_ASSUR3);
+BASSURV2 = max(0,CESSASSV - BASSURV3 - LIM_ASSUR2);
+BASSURV1 = max(0,CESSASSV - BASSURV3 - BASSURV2 - LIM_ASSUR1);
+BASSURC3 = max(0,CESSASSC - LIM_ASSUR3);
+BASSURC2 = max(0,(CESSASSC -BASSURC3) - LIM_ASSUR2);
+BASSURC1 = max(0,(CESSASSC - BASSURC3 -BASSURC2) - LIM_ASSUR1);
+BASSURV = CESSASSV;
+BASSURC = CESSASSC;
+TAXASSURV = arr(BASSURV1 * TX_ASSUR1/100 + BASSURV2 * TX_ASSUR2/100 + BASSURV3 * TX_ASSUR3/100) * (1 - positif(RE168 + TAX1649));
+TAXASSURC = arr(BASSURC1 * TX_ASSUR1/100 + BASSURC2 * TX_ASSUR2/100 + BASSURC3 * TX_ASSUR3/100) * (1 - positif(RE168 + TAX1649));
+TAXASSUR = TAXASSURV + TAXASSURC;
+regle 1120 :
+application : iliad , batch ;
+
+BCVNSAL = (CVNSALAV + CVNSALAC+GLDGRATV+GLDGRATC) * (1-positif(present(TAX1649)+present(RE168)));
+B3SVN  = (CVNSALAV + CVNSALAC) * (1-positif(present(TAX1649)+present(RE168)));
+CVNSALC = arr( BCVNSAL * TX10 / 100 ) * (1 - positif(ANNUL2042));
+
+BGLOA = (GLDGRATV+GLDGRATC) * (1-V_CNR) * (1-positif(present(TAX1649)+present(RE168)));
+CGLOA = arr( BGLOA * TX075 / 100 ) * (1 - positif(ANNUL2042));
+
+BGLOACNR = (GLDGRATV+GLDGRATC) * V_CNR * (1-positif(present(TAX1649)+present(RE168)));
+
+regle 1125 :
+application : iliad , batch ;
+
+BCDIS = (GSALV + GSALC) * (1 - V_CNR)* (1-positif(present(TAX1649)+present(RE168))) ;
+
+CDISC = arr(BCDIS * TCDIS / 100) * (1 - positif(ANNUL2042)) ;
+
+CDIS = CDISC ;
diff --git a/sources2013m_3_8/chap-2.m b/sources2013m_3_8/chap-2.m
new file mode 100644
index 0000000000000000000000000000000000000000..f732a710a83e443c60d49a4d74e4f3509c7c99b0
--- /dev/null
+++ b/sources2013m_3_8/chap-2.m
@@ -0,0 +1,276 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #     CHAPITRE 2. CALCUL DU NET A PAYER
+ #
+ #
+ #
+regle 20100:
+application : batch, iliad ;
+NAPINI = ( IRN + PIR - IRANT )* (1 - INDTXMIN) *(1 - INDTXMOY)
+       + min(0, IRN + PIR - IRANT) * (INDTXMIN + INDTXMOY)
+       + max(0, IRN + PIR - IRANT) * 
+                                (INDTXMIN*positif((IAVIMBIS-NAPCRPAVIM)-SEUIL_61 )
+			       + INDTXMOY* positif((IAVIMO-NAPCRPAVIM)-SEUIL_61))
+                      + RASAR * V_CR2;
+RC1INI = positif( NAPINI + 1 - SEUIL_12 ) ;
+regle 20101:
+application : batch, iliad ;
+NAPTOT = IRCUM + TAXACUM + PCAPCUM + TAXLOYCUM + HAUTREVCUM  - RECUMIR;
+regle 20103:
+application : iliad ,batch;
+NAPTOTA = V_IRPSANT - V_ANTRE;
+NAPTOTAIR = V_TOTIRANT - V_ANTREIR;
+TOTCRA = V_ANTCR ;
+TOTIRPSANT = V_IRPSANT - V_NONMERANT + V_NONRESTANT - V_ANTRE;
+regle 20104:
+application : iliad ;
+OCEDIMP = IRNIN ;
+regle 20105:
+application : batch, iliad ;
+IRNIN = (IRN - IRANT) * positif(IRN - IRANT) ;
+regle isf 201050:
+application : batch, iliad ;
+ISF4BASE = ISF4BIS * positif_ou_nul(ISF4BIS - SEUIL_12);  
+ISFIN = ISF4BASE ;
+regle 201051:
+application : batch, iliad;
+IRNIN_INR = (IRN - IRANT - ACODELAISINR) * positif(IRN - IRANT) ;
+CSBASE = CSG - CSGIM ;
+RDBASE = RDSN - CRDSIM ;
+PSBASE = PRS - PRSPROV ;
+CVNBASE = CVNSALC - COD8YT ;
+CDISBASE = CDIS - CDISPROV ;
+GLOBASE = CGLOA - COD8YL ;
+RSE1BASE = RSE1N - CSPROVYD;
+RSE2BASE = RSE2N - CSPROVYF;
+RSE3BASE = RSE3N - CSPROVYG;
+RSE4BASE = RSE4N - CSPROVYH;
+RSE5BASE = RSE5N - CSPROVYE;
+TAXABASE = arr(max(TAXASSUR + min(0,IRN - IRANT),0)) * positif(IAMD1 + 1 - SEUIL_61);
+PCAPBASE = arr(max(IPCAPTAXT + min(0,IRN - IRANT + TAXASSUR),0)) * positif(IAMD1 + 1 - SEUIL_61);
+LOYBASE = arr(max(TAXLOY + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT),0)) * positif(IAMD1 + 1 - SEUIL_61);
+CHRBASE = arr(max(IHAUTREVT + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT+TAXLOY),0)) * positif(IAMD1 + 1 - SEUIL_61);
+
+IRBASE_I = (IRN -IRANT)*positif(IRN+1-SEUIL_12);
+
+IRBASE_N = (IRN - IRANT)*(1 - positif (IRN-IRANT + TAXABASE_IRECT+CAPBASE_IRECT+HRBASE_IRECT))
+           + (IAN - min( IAN , IRE )) * positif (IRN-IRANT + TAXABASE_IRECT+CAPBASE_IRECT+HRBASE_IRECT);
+TAXABASE_I = TAXASSUR * positif(IAMD1 + 1 - SEUIL_61);
+TAXABASE_N = arr(max(TAXASSUR + min(0,IRN - IRANT),0)) * positif(IAMD1 + 1 - SEUIL_61);
+CAPBASE_I = IPCAPTAXT * positif(IAMD1 + 1 - SEUIL_61);
+CAPBASE_N = arr(max(IPCAPTAXT + min(0,IRN - IRANT + TAXASSUR),0)) * positif(IAMD1 + 1 - SEUIL_61);
+LOYBASE_I = TAXLOY * positif(IAMD1 + 1 - SEUIL_61);
+LOYBASE_N = arr(max(TAXLOY + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT),0)) * positif(IAMD1 + 1 - SEUIL_61);
+HRBASE_I = IHAUTREVT * positif(IAMD1 + 1 - SEUIL_61);
+HRBASE_N = arr(max(IHAUTREVT + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT+TAXLOY),0)) * positif(IAMD1 + 1 - SEUIL_61);
+
+IRNN = IRNIN;
+
+regle 20106:
+application : iliad;
+PIR = (
+       INCIR_NET
+       + NMAJ1 + NMAJ3 + NMAJ4 
+       + arr((BTOINR) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT)))
+       ;
+PPRS = (
+       INCPS_NET
+       + NMAJP1 + NMAJP4
+       + arr((PRS-PRSPROV) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PCSG = (
+       INCCS_NET
+       + NMAJC1 + NMAJC4
+         + arr((CSG-CSGIM) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PRDS = (
+       INCRD_NET
+       + NMAJR1 + NMAJR4
+         + arr((RDSN-CRDSIM) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTAXA = (
+       INCTAXA_NET
+       + NMAJTAXA1 + NMAJTAXA3 + NMAJTAXA4
+         + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PPCAP = (
+       INCPCAP_NET
+       + NMAJPCAP1 + NMAJPCAP3 + NMAJPCAP4
+         + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PTAXLOY = (
+       INCLOY_NET
+       + NMAJLOY1 + NMAJLOY3 + NMAJLOY4
+         + arr(max(0,LOYELEV- min(LOYELEV+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PHAUTREV  = (
+       INCCHR_NET
+       + NMAJCHR1 + NMAJCHR3 + NMAJCHR4
+         + arr(max(0,IHAUTREVT+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+LOYELEV)) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PCVN = (
+       INCCVN_NET
+       + NMAJCVN1 + NMAJCVN4
+         + arr(max(0,(CVNSALC - COD8YT)) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PGLOA = (
+       INCGLOA_NET
+       + NMAJGLO1 + NMAJGLO4
+         + arr(((CGLOA  - COD8YL)* TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT)))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PRSE1 = (
+       INCRSE1_NET
+       + NMAJRSE11 + NMAJRSE14
+         + arr(max(0,RSE1 -CIRSE1 -CSPROVYD)* TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PRSE2 = (
+       INCRSE2_NET
+       + NMAJRSE21 + NMAJRSE24
+         + arr(max(0,RSE2 -CIRSE2 -CSPROVYF)* TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PRSE3 = (
+       INCRSE3_NET
+       + NMAJRSE31 + NMAJRSE34
+         + arr(max(0,RSE3 -CIRSE3 -CSPROVYG)* TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PRSE4 = (
+       INCRSE4_NET
+       + NMAJRSE41 + NMAJRSE44
+         + arr(max(0,RSE4 -CIRSE4 -CSPROVYH)* TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PRSE5 = (
+       INCRSE5_NET
+       + NMAJRSE51 + NMAJRSE54
+         + arr(max(0,RSE5 -CIRSE5 -CSPROVYE)* TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PCDIS = (
+       INCCDIS_NET
+       + NMAJCDIS1 + NMAJCDIS4
+         + arr((CDIS-CDISPROV) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PDEG = max(0,PIR_A + PTAXA_A + PPCAP_A - PTAXLOY_A - PCHR_A - PIR - PTAXA - PPCAP - PTAXLOY - PHAUTREV);
+
+regle 201061:
+application : batch , iliad  ;
+PTOTIRCS = PIR + PPRS + PCSG + PRDS + PTAXA + PTAXLOY + PHAUTREV + PPCAP + PCDIS + PCVN 
+	   + PGLOA + PRSE1 + PRSE2 + PRSE3 + PRSE4 + PRSE5 ;
+TOTPENIR = PIR + PTAXA + PTAXLOY + PHAUTREV + PPCAP ;
+
+TOTPENCS = PPRS+ PCSG + PRDS + PCVN + PCDIS + PGLOA + PRSE1 + PRSE2 + PRSE3 + PRSE4 + PRSE5;
+
+RETIRCS_TOT = RETIR+RETCS+RETRD+RETPS+RETCVN+RETCDIS+RETGLOA+RETRSE1+RETRSE2+RETRSE3+RETRSE4+RETRSE5
+              +RETTAXA+RETPCAP+RETLOY+RETHAUTREV ;
+
+
+regle 20107:
+application : batch  ;
+PIR = PTOIR * positif_ou_nul(IAMD1 - SEUIL_61) ;
+PPRS = PTOPRS ;
+PCSG = PTOCSG ;
+PRSE1 = PTORSE1 ;
+PRSE2 = PTORSE2 ;
+PRSE3 = PTORSE3 ;
+PRSE4 = PTORSE4 ;
+PRSE5 = PTORSE5 ;
+PRDS = PTORDS ;
+PTAXA = PTOTAXA ;
+PPCAP = PTOTPCAP ;
+PTAXLOY = PTOTLOY ;
+PHAUTREV = PTOTCHR ;
+PCVN = PTOCVN ;
+PCDIS = PTOCDIS ;
+PGLOA = PTOGLOA ;
+
+regle 20109:
+application : iliad , batch ;
+PTOT = PIR ;
+regle 20110:
+application : iliad ;
+ILI_SYNT_IR =  positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR) * max(0 , IRCUM - NONMER + NONREST - PIR)
+              + (1 - positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR)) * (TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR) ;
+
+PIRNEG = abs(min(0 , IRCUM - NONMER + NONREST - PIR)) ;
+
+ILI_SYNT_TAXA = positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR) * max(0,TAXACUM - PTAXA - PIRNEG)
+               + (1 - positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR)) * 0 ;
+
+PTAXANEG = abs(min(0 , TAXACUM - PTAXA - PIRNEG)) ;
+
+ILI_SYNT_CAP = positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR) * max(0 , PCAPCUM - PPCAP - PTAXANEG)
+               + (1 - positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR)) * 0 ;
+
+PPCAPNEG = abs(min(0 , PCAPCUM - PPCAP - PTAXANEG)) ;
+
+ILI_SYNT_LOY = positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR) * max(0 , TAXLOYCUM - PTAXLOY - PPCAPNEG)
+               + (1 - positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR)) * 0 ;
+
+PTAXLOYNEG = abs(min(0 , TAXLOYCUM - PTAXLOY - PPCAPNEG)) ;
+
+ILI_SYNT_CHR = positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR) * max(0 , HAUTREVCUM - PHAUTREV - PTAXLOYNEG)
+               + (1 - positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR)) * 0 ;
+
+ILI_SYNT_TOTIR = ILI_SYNT_IR + ILI_SYNT_TAXA + ILI_SYNT_CAP + ILI_SYNT_LOY + ILI_SYNT_CHR ;
+
+regle 201101:
+application : iliad ;
+ILI_SYNT_IRNET =  positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR) * max(0,IRCUM-PIR)
+	      + (1 - positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR)) * (TOTIRCUM - RECUMIR - TOTPENIR);
+PIRNETNEG =  max(0,PIR-IRCUM);
+ILI_SYNT_TAXANET = positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR) * max(0,TAXACUM - PTAXA - PIRNETNEG)
+	       + (1 - positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR)) * 0;
+
+PTAXANETNEG =  max(0,PIR+PTAXA-IRCUM-TAXACUM);
+ILI_SYNT_CAPNET = positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR) * max(0,PCAPCUM -PPCAP-PTAXANETNEG)
+	       + (1 - positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR)) * 0;
+
+PPCAPNETNEG =  max(0,PIR+PTAXA+PPCAP-IRCUM-TAXACUM-PCAPCUM);
+ILI_SYNT_LOYNET = positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR) * max(0,TAXLOYCUM-PTAXLOY-PPCAPNETNEG)
+	       + (1 - positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR)) * 0;
+
+PTAXLOYNETNEG =  max(0,PIR+PTAXA+PPCAP+PTAXLOY-IRCUM-TAXACUM-PCAPCUM-TAXLOYCUM);
+ILI_SYNT_CHRNET = positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR) * max(0,HAUTREVCUM-PHAUTREV-PTAXLOYNETNEG) 
+	       + (1 - positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR)) * 0;
+ILI_SYNT_TOTIRNET = ILI_SYNT_IRNET + ILI_SYNT_TAXANET + ILI_SYNT_CAPNET + ILI_SYNT_LOYNET + ILI_SYNT_CHRNET;
+regle 20111:
+application : iliad ;
+DEC_CGA_AGA = BAFV + BAFC + BAFP
+            + BAHREV - (BAHDEV * (1 - positif(ART1731BIS) ))
+            + BAHREC - (BAHDEC * (1 - positif(ART1731BIS) ))
+            + BAHREP - (BAHDEP * (1 - positif(ART1731BIS) ))
+            + BIHNOV - (BIHDNV * (1 - positif(ART1731BIS) ))
+            + BIHNOC - (BIHDNC * (1 - positif(ART1731BIS) ))
+            + BIHNOP - (BIHDNP * (1 - positif(ART1731BIS) ))
+            + BICHREV - (min(BICHDEV,BICHDEV1731+0) * positif(ART1731BIS) + BICHDEV * (1 - ART1731BIS))
+            + BICHREC - (min(BICHDEC,BICHDEC1731+0) * positif(ART1731BIS) + BICHDEC * (1 - ART1731BIS)) 
+            + BICHREP - (min(BICHDEP,BICHDEP1731+0) * positif(ART1731BIS) + BICHDEP * (1 - ART1731BIS)) 
+            + BNHREV - (BNHDEV * (1 - positif(ART1731BIS) ))
+            + BNHREC - (BNHDEC * (1 - positif(ART1731BIS) ))
+            + BNHREP - (BNHDEP * (1 - positif(ART1731BIS) ))
+            + ANOCEP - (min(DNOCEP,DNOCEP1731+0) * positif(ART1731BIS) + DNOCEP * (1 - ART1731BIS))
+            + ANOVEP - (min(DNOCEPC,DNOCEPC1731+0) * positif(ART1731BIS) + DNOCEPC * (1 - ART1731BIS))
+            + ANOPEP - (min(DNOCEPP,DNOCEPP1731+0) * positif(ART1731BIS) + DNOCEPP * (1 - ART1731BIS))
+	    ;
+MAJ_CGA_AGA =  arr(SUPREV * (BAFV + BAFC + BAFP))
+	    + arr(SUPREV * max(0,BAHREV - (BAHDEV * (1 - positif(ART1731BIS) ))))
+            + arr(SUPREV * max(0,BAHREC - (BAHDEC * (1 - positif(ART1731BIS) ))))
+            + arr(SUPREV * max(0,BAHREP - (BAHDEP * (1 - positif(ART1731BIS) ))))
+            + arr(SUPREV * max(0,BIHNOV - (BIHDNV * (1 - positif(ART1731BIS) )) ))
+            + arr(SUPREV * max(0,BIHNOC - (BIHDNC * (1 - positif(ART1731BIS) )) ))
+            + arr(SUPREV * max(0,BIHNOP - (BIHDNP * (1 - positif(ART1731BIS) )) ))
+            + arr(SUPREV * max(0,BICHREV - (min(BICHDEV,BICHDEV1731+0) * positif(ART1731BIS) + BICHDEV * (1 - ART1731BIS)) ))
+            + arr(SUPREV * max(0,BICHREC - (min(BICHDEC,BICHDEC1731+0) * positif(ART1731BIS) + BICHDEC * (1 - ART1731BIS)) ))
+            + arr(SUPREV * max(0,BICHREP - (min(BICHDEP,BICHDEP1731+0) * positif(ART1731BIS) + BICHDEP * (1 - ART1731BIS)) ))
+            + arr(SUPREV * max(0,BNHREV - (BNHDEV * (1 - positif(ART1731BIS) ))))
+            + arr(SUPREV * max(0,BNHREC - (BNHDEC * (1 - positif(ART1731BIS) ))))
+            + arr(SUPREV * max(0,BNHREP - (BNHDEP * (1 - positif(ART1731BIS) ))))
+            + arr(SUPREV * max(0,ANOCEP - (min(DNOCEP,DNOCEP1731+0) * positif(ART1731BIS) + DNOCEP * (1 - ART1731BIS))))
+            + arr(SUPREV * max(0,ANOVEP - (min(DNOCEPC,DNOCEPC1731+0) * positif(ART1731BIS) + DNOCEPC * (1 - ART1731BIS))))
+            + arr(SUPREV * max(0,ANOPEP - (min(DNOCEPP,DNOCEPP1731+0) * positif(ART1731BIS) + DNOCEPP * (1 - ART1731BIS))))
+	    ;
+TOT_CGA_AGA = DEC_CGA_AGA + MAJ_CGA_AGA;
diff --git a/sources2013m_3_8/chap-3.m b/sources2013m_3_8/chap-3.m
new file mode 100644
index 0000000000000000000000000000000000000000..b7c1392f06ab2ad6492c84e2e2385c27131404f7
--- /dev/null
+++ b/sources2013m_3_8/chap-3.m
@@ -0,0 +1,658 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+                                                                         #####
+  ####   #    #    ##    #####      #     #####  #####   ######         #     #
+ #    #  #    #   #  #   #    #     #       #    #    #  #                    #
+ #       ######  #    #  #    #     #       #    #    #  #####           #####
+ #       #    #  ######  #####      #       #    #####   #                    #
+ #    #  #    #  #    #  #          #       #    #   #   #              #     #
+  ####   #    #  #    #  #          #       #    #    #  ###### #######  #####
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                       CALCUL DE L'IMPOT NET
+ #
+ #
+ #
+ #
+ #
+ #
+regle 301:
+application : bareme , iliad , batch  ;
+
+IRN = min( 0, IAN + AVFISCOPTER - IRE ) + max( 0, IAN + AVFISCOPTER - IRE ) * positif( IAMD1 + 1 - SEUIL_61) ;
+
+
+regle 3010:
+application : bareme , iliad , batch  ;
+
+IAR = min( 0, IAN + AVFISCOPTER - IRE ) + max( 0, IAN + AVFISCOPTER - IRE ) ;
+
+regle 302:
+application : iliad , batch  ;
+CREREVET =  min(arr((BPTP3 + BPTPD + BPTPG) * TX16/100),arr(CIIMPPRO * TX_CREREVET/100 ))
+	  + min(arr(BPTP19 * TX19/100),arr(CIIMPPRO2 * TX19/100 ));
+
+CIIMPPROTOT = CIIMPPRO + CIIMPPRO2 ;
+regle 30202:
+application : iliad , batch  ;
+ICI8XFH = min(arr(BPTP18 * TX18/100),arr(COD8XF * TX18/100 ))
+      + min(arr(BPTP4I * TX30/100),arr(COD8XG * TX30/100 ))
+      + min(arr(BPTP40 * TX41/100),arr(COD8XH * TX41/100 ));
+ICI8XV  = min(arr(RCM2FA * TX24/100),arr(COD8XV * TX24/100 )) * (1 - positif(null(2 - V_REGCO)+null(4-V_REGCO)));
+ICIGLO = min(arr(BPTP18 * TX18/100),arr(COD8XF * TX18/100 ))
+      + min(arr(RCM2FA * TX24/100),arr(COD8XV * TX24/100 )) * (1 - positif(null(2 - V_REGCO)+null(4-V_REGCO)))
+      + min(arr(BPTP4I * TX30/100),arr(COD8XG * TX30/100 ))
+      + min(arr(BPTP40 * TX41/100),arr(COD8XH * TX41/100 ));
+
+CIGLOTOT = COD8XF + COD8XG + COD8XH; 
+CI8XV = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET,ICI8XV));
+CI8XFH = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CI8XV,ICI8XFH));
+CIGLO = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET,ICIGLO));
+regle 3025:
+application : iliad , batch  ;
+
+ICREREVET = max(0,min(IAD11 + ITP - CIRCMAVFT - IRETS - min(IAD11 , CRCFA), min(ITP,CREREVET)));
+
+regle 3026:
+application : iliad , batch , bareme ;
+
+INE = (CIRCMAVFT + IRETS + min(max(0,IAD11-CIRCMAVFT-IRETS) , CRCFA) + ICREREVET + CIGLO + CICULTUR + CIGPA + CIDONENTR + CICORSE + CIRECH + CICOMPEMPL)
+            * (1-positif(RE168+TAX1649));
+
+IAN = max( 0, (IRB - AVFISCOPTER + ((- CIRCMAVFT
+				     - IRETS
+                                     - min(max(0,IAD11-CIRCMAVFT-IRETS) , CRCFA) 
+                                     - ICREREVET
+                                     - CIGLO
+                                     - CICULTUR
+                                     - CIGPA
+                                     - CIDONENTR
+                                     - CICORSE
+				     - CIRECH 
+                                     - CICOMPEMPL)
+                                   * (1 - positif(RE168 + TAX1649)))
+                  + min(TAXASSUR+0 , max(0,INE-IRB+AVFISCOPTER)) 
+                  + min(IPCAPTAXTOT+0 , max(0,INE-IRB+AVFISCOPTER - min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))))
+                  + min(TAXLOY+0 ,max(0,INE-IRB+AVFISCOPTER - min(IPCAPTAXTOT+0 , max(0,INE-IRB+AVFISCOPTER - min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))))
+										  - min(TAXASSUR+0 , max(0,INE-IRB+AVFISCOPTER))))
+	      )
+         )
+ ;
+
+regle 3021:
+application : iliad , batch  ;
+IRE = (1- positif(RE168+TAX1649+0)) * (
+                      CIDIREPARGNE + EPAV + CRICH + CICORSENOW 
+                    + CIGE + CIDEVDUR + CIDEPENV + CITEC
+                    +  IPELUS + CICA + CIGARD + CISYND 
+                    + CIPRETUD + CIADCRE + CIHABPRIN + CREFAM 
+                    + CREAPP +CREAGRIBIO + CREPROSP + CRESINTER 
+                    + CREFORMCHENT + CREINTERESSE + CREARTS + CICONGAGRI 
+                    + CRERESTAU + CILOYIMP + AUTOVERSLIB
+                    + PPETOTX - PPERSA
+                    + CI2CK
+                    + (COD3VV + COD8TL + COD8UV) * (1 - positif(RE168 + TAX1649))
+	                              );
+IRE2 = IRE + (BCIGA * (1 - positif(RE168+TAX1649))); 
+regle 3022:
+application : iliad , batch  ;
+
+CRICH =  IPRECH * (1 - positif(RE168+TAX1649));
+regle 30221:
+application : iliad , batch  ;
+CIRCMAVFT = max(0,min(IRB + TAXASSUR + IPCAPTAXTOT +TAXLOY - AVFISCOPTER , RCMAVFT * (1 - positif(null(2 - V_REGCO)+null(4-V_REGCO)))));
+regle 30222:
+application : iliad , batch  ;
+CIDIREPARGNE = DIREPARGNE * (1 - positif(RE168 + TAX1649)) * (1 - positif(null(2 - V_REGCO)+null(4-V_REGCO)));
+CI2CK = COD2CK * (1 - positif(RE168 + TAX1649)) * (1 - positif(null(2 - V_REGCO)+null(4-V_REGCO)));
+regle 30226:
+application : batch, iliad;
+CICA =  arr(BAILOC98 * TX_BAIL / 100) * (1 - positif(RE168 + TAX1649)) ;
+regle 3023:
+application : iliad , batch  ;
+CRCFA = (arr(IPQ1 * REGCI / (RB01 + TONEQUO + CHTOT + RDCSG + ABMAR + ABVIE)) * (1 - positif(RE168+TAX1649)));
+regle 30231:
+application : iliad , batch  ;
+IRETS = max(0,min(min(COD8PA,IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT)*present(COD8PA)+(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT)*(1-present(COD8PA)) , (IPSOUR * (1 - positif(RE168+TAX1649))))) ;
+regle 3023101:
+application : iliad , batch  ;
+CRDIE = max(0,min(IRB-REI-AVFISCOPTER-CIRCMAVFT-IRETS,(min(IAD11-CIRCMAVFT-IRETS,CRCFA) * (1 - positif(RE168+TAX1649)))));
+CRDIE2 = -CRDIE+0;
+regle 3023102:
+application : iliad , batch  ;
+BCIAQCUL = arr(CIAQCUL * TX_CIAQCUL / 100);
+CICULTUR = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-REI-IRETS-CRDIE-ICREREVET-CIGLO,min(IAD11+ITP+TAXASSUR+TAXLOY +IPCAPTAXTOT+CHRAPRES,BCIAQCUL)));
+regle 3023103:
+application : iliad , batch  ;
+BCIGA = CRIGA;
+CIGPA = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CIGLO-CICULTUR,BCIGA));
+regle 3023104:
+application : iliad , batch  ;
+BCIDONENTR = RDMECENAT * (1-V_CNR) ;
+CIDONENTR = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-REI-IRETS-CRDIE-ICREREVET-CIGLO-CICULTUR-CIGPA,BCIDONENTR));
+regle 3023105:
+application : iliad , batch  ;
+CICORSE = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IPPRICORSE-IRETS-CRDIE-ICREREVET-CIGLO-CICULTUR-CIGPA-CIDONENTR,CIINVCORSE+IPREPCORSE));
+CICORSEAVIS = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY-AVFISCOPTER-CIRCMAVFT-IPPRICORSE-IRETS-CRDIE-ICREREVET-CIGLO-CICULTUR-CIGPA-CIDONENTR,CIINVCORSE+IPREPCORSE))+CICORSENOW;
+TOTCORSE = CIINVCORSE + IPREPCORSE + CICORSENOW;
+regle 3023106:
+application : iliad , batch  ;
+CIRECH = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CIGLO-CICULTUR-CIGPA-CIDONENTR-CICORSE,IPCHER));
+regle 30231061:
+application : iliad , batch  ;
+CICOMPEMPL = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CIGLO-CICULTUR-CIGPA-CIDONENTR-CICORSE-CIRECH,COD8UW));
+IRECR = abs(min(0 ,IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CIGLO-CICULTUR-CIGPA-CIDONENTR-CICORSE-CIRECH-CICOMPEMPL));
+regle 30231051:
+application : iliad , batch  ;
+REPCORSE = abs(CIINVCORSE+IPREPCORSE-CICORSE) ;
+REPRECH = abs(IPCHER - CIRECH) ;
+REPCICE = abs(COD8UW - CICOMPEMPL) ;
+regle 3023107:
+application : iliad , batch  ;
+CICONGAGRI = CRECONGAGRI * (1-V_CNR) ;
+regle 30231071:
+application : iliad , batch  ;
+BCICAP = min(IPCAPTAXTOT,arr((PRELIBXT - arr(PRELIBXT * TX10/100))*T_PCAPTAX/100));
+BCICAPAVIS = max(0,(PRELIBXT - arr(PRELIBXT * TX10/100)));
+CICAP = max(0,min(IRB + TAXASSUR + IPCAPTAXTOT +TAXLOY +CHRAPRES - AVFISCOPTER ,min(IPCAPTAXTOT,BCICAP)));
+regle 30231072:
+application : iliad , batch  ;
+BCICHR = arr(CHRAPRES * (REGCI+0) / (REVKIREHR - TEFFHRC+COD8YJ));
+CICHR = max(0,min(IRB + TAXASSUR + IPCAPTAXTOT +TAXLOY +CHRAPRES - AVFISCOPTER-CICAP ,min(CHRAPRES,BCICHR)));
+regle 407015:
+application : iliad , batch  ;
+BCOS = max(0 , min(RDSYVO+0,arr(TX_BASECOTSYN/100*
+                                   (TSBV*IND_10V
+                                   - BPCOSAV + EXPRV)))) 
+       + max(0 , min(RDSYCJ+0,arr(TX_BASECOTSYN/100*
+                                   (TSBC*IND_10C
+                                   - BPCOSAC + EXPRC)))) 
+       + min(RDSYPP+0,arr(TX_BASECOTSYN/100* (somme(i=1..4:TSBi *IND_10i + EXPRi))))  ;
+
+CISYND = arr(TX_REDCOTSYN/100 * BCOS) * (1 - V_CNR) ;
+
+DSYND = RDSYVO + RDSYCJ + RDSYPP ;
+
+ASYND = BCOS * (1-V_CNR) ;
+
+regle 3023108:
+application : iliad , batch ;
+
+IAVF = IRE - EPAV + CICORSE + CICULTUR + CIGPA + CIRCMAVFT ;
+
+
+DIAVF2 = (BCIGA + IPRECH + IPCHER + IPELUS + RCMAVFT + DIREPARGNE + COD8UW + COD8TL + COD3VV) * (1 - positif(RE168+TAX1649)) + CIRCMAVFT * positif(RE168+TAX1649);
+
+
+IAVF2 = (CIDIREPARGNE + IPRECH + CIRECH + IPELUS + CIRCMAVFT + CIGPA + CICOMPEMPL + COD8TL + COD3VV + 0) * (1 - positif(RE168 + TAX1649))
+        + CIRCMAVFT * positif(RE168 + TAX1649) ;
+
+IAVFGP = IAVF2 + CREFAM + CREAPP ;
+
+regle 3023109:
+application : iliad , batch ;
+
+I2DH = EPAV ;
+
+regle 30231011:
+application : iliad , batch  ;
+BTANTGECUM   = (V_BTGECUM * (1 - present(DEPMOBIL)) + DEPMOBIL);
+BTANTGECUMWL = (V_BTGECUMWL * (1 - present(COD7WD)) + COD7WD);
+P2GE = max( (   PLAF_GE2 * (1 + BOOL_0AM)
+             + PLAF_GE2_PACQAR * (V_0CH + V_0DP)
+             + PLAF_GE2_PAC * (V_0CR + V_0CF + V_0DJ + V_0DN)  
+              ) - BTANTGECUM
+             , 0
+             ) ;
+BGEDECL = RDTECH + RDEQPAHA ;
+BGEPAHA = min(RDEQPAHA , P2GE) * (1 - V_CNR);
+P2GEWL = max(0,P2GE + PLAF_GE2 * (1 + BOOL_0AM) -  BGEPAHA - BTANTGECUMWL);
+
+BGTECH = min(RDTECH , P2GEWL) * (1 - V_CNR) ;
+TOTBGE = BGTECH + BGEPAHA ;
+RGEPAHA =  (BGEPAHA * TX25 / 100 ) * (1 - V_CNR) ;
+RGTECH = (BGTECH * TX40 / 100 ) * (1 - V_CNR) ;
+CIGE = arr (RGTECH + RGEPAHA ) * (1 - positif(RE168 + TAX1649)) * (1 - V_CNR) ;
+GECUM = min(P2GE,BGEPAHA + BGTECH)+BTANTGECUM ;
+GECUMWL = max(0,BGTECH + BGEPAHA - min(P2GE,BGEPAHA + BGTECH)+BTANTGECUMWL) ;
+DAIDC = CREAIDE ;
+AAIDC = BADCRE * (1-V_CNR) ;
+CIADCRE = arr (BADCRE * TX_AIDOMI /100) * (1 - positif(RE168 + TAX1649)) * (1 - V_CNR) ;
+regle 30231012:
+application : iliad , batch  ;
+DLOYIMP = LOYIMP ;
+ALOYIMP = DLOYIMP;
+CILOYIMP = arr(ALOYIMP*TX_LOYIMP/100) * (1 - positif(RE168 + TAX1649)) ;
+regle 30231014:
+application : iliad , batch  ;
+RDEDUBAILSJWK = positif(MATISOSJ) * (positif(CRECHOBOI) * (1 - positif(CRECHOCON2))
+                 + positif(TRAVITWT) * positif(CRECHOBOI) * (1 - positif(CRECHOCON2)));
+RDEDUBAILSKWK = positif(VOLISO) * positif(CRECHOBOI) 
+                * (1 - positif(CRECHOCON2)) ;
+RDEDUBAILSLWK = positif(PORENT) * positif(CRECHOBOI) 
+                * (1 - positif(CRECHOCON2)) ;
+
+DDEVDUR = CRENRJ + CINRJ + CINRJBAIL + CIBOIBAIL + CIDEP15 + MATISOSI + MATISOSJ + VOLISO + PORENT + ELESOL
+	         + CHAUBOISN + CHAUBOISO + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + EAUPLUV 
+		 + DIAGPERF + RESCHAL ;
+
+PDEVDUR = max( (   PLAF_DEVDUR * (1 + BOOL_0AM)
+                  + PLAF_GE2_PACQAR * (V_0CH+V_0DP)
+	          + PLAF_GE2_PAC * (V_0CR+V_0CF+V_0DJ+V_0DN) 
+		 ) - (V_BTDEVDUR*(1-present(DEPCHOBAS))+DEPCHOBAS) , 0 );
+ADEVDUR = max (0 , min (PDEVDUR , CRENRJ + CINRJ + CINRJBAIL + CIBOIBAIL + CIDEP15 + MATISOSI + MATISOSJ * (1 - positif(RDEDUBAILSJWK))
+				   + VOLISO * (1 - positif(RDEDUBAILSKWK)) + PORENT * (1 - positif(RDEDUBAILSLWK)) + ELESOL
+				   + CHAUBOISN + CHAUBOISO + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + EAUPLUV + DIAGPERF
+				   + RESCHAL )) 
+	   * (1 - V_CNR) * ((V_REGCO+0) dans (1,3,5,6,7)) ;
+
+RDEDUBAILSSWH = present(CHAUFSOL)*min(ADEVDUR,CHAUFSOL)* positif(CRECHOCON2) ;
+
+RDEDUBAILSTWH = present(ENERGIEST)*min(ENERGIEST,max(0,ADEVDUR - RDEDUBAILSSWH))* positif(CRECHOCON2) ;
+
+RDEDUBAILSNWH = present(CHAUBOISN)*min(CHAUBOISN,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH))* positif(CRECHOCON2) ;
+
+RDEDUBAILSQWH = present(POMPESQ)*min(POMPESQ,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH))* positif(CRECHOCON2) ;
+
+RDEDUBAILSRWH = present(POMPESR)*min(POMPESR,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH))* positif(CRECHOCON2) ;
+
+RDEDUBAILSS   = present(CHAUFSOL)*min(CHAUFSOL,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH)) * (1-positif(CRECHOCON2))
+				     * (1-positif(RDEDUBAILSSWH));
+
+RDEDUBAILST   = present(ENERGIEST)*min(ENERGIEST,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS))* (1-positif(CRECHOCON2))
+				     * (1-positif(RDEDUBAILSTWH));
+
+RDEDUBAILSV   = present(DIAGPERF)*min(DIAGPERF,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST)) ;
+
+RDEDUBAILSEWH = present(CINRJBAIL)*min(CINRJBAIL,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV))* positif(CRECHOCON2) ;
+
+RDEDUBAILSN   = present(CHAUBOISN)*min(CHAUBOISN,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH))* (1-positif(CRECHOCON2)) 
+				     * (1-positif(RDEDUBAILSNWH));
+
+RDEDUBAILSQ   = present(POMPESQ)*min(POMPESQ,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN))* (1-positif(CRECHOCON2)) 
+				     * (1-positif(RDEDUBAILSQWH));
+
+RDEDUBAILSR   = present(POMPESR)*min(POMPESR,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ))* (1-positif(CRECHOCON2)) 
+				     * (1-positif(RDEDUBAILSRWH));
+
+RDEDUBAILSGWH = present(CINRJ)*min(CINRJ,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR)) 
+					     *positif(CRECHOCON2)*positif(TRAMURWC);
+
+RDEDUBAILSHWH = present(CIDEP15)*min(CIDEP15,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH)) 
+					     *positif(CRECHOCON2) * positif(TRATOIVG);
+
+RDEDUBAILSOWH = present(CHAUBOISO)*min(CHAUBOISO,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH)) * positif(CRECHOCON2);
+
+RDEDUBAILSPWH = present(POMPESP)*min(POMPESP,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH)) * positif(CRECHOCON2);
+
+RDEDUBAILSDWH = present(CIBOIBAIL)*min(CIBOIBAIL,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+					     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH)) * positif(CRECHOCON2);
+
+RDEDUBAILSJWH = present(MATISOSJ)*min(MATISOSJ,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH))
+					     *
+					     positif(positif(CRECHOCON2)*positif(CRECHOBOI)*positif(TRAVITWT)
+					             + positif(CRECHOCON2)*positif(TRAVITWT))
+				     * (1-positif(RDEDUBAILSJWK));
+
+RDEDUBAILSE   = present(CINRJBAIL)*min(CINRJBAIL,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH)) * (1-positif(CRECHOCON2))
+				     * (1-positif(RDEDUBAILSEWH));
+
+RDEDUBAILSF   = present(CRENRJ)*min(CRENRJ,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE)) ;
+
+RDEDUBAILSG   = present(CINRJ)*min(CINRJ,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF))
+				     * (1-positif(RDEDUBAILSGWH));
+
+RDEDUBAILSH   = present(CIDEP15)*min(CIDEP15,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG)) 
+				     * (1-positif(RDEDUBAILSHWH));
+
+RDEDUBAILSI   = present(MATISOSI)*min(MATISOSI,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+         				     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH)) ;
+
+RDEDUBAILSO   = present(CHAUBOISO)*min(CHAUBOISO,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI)) * (1-positif(CRECHOCON2))
+				     * (1-positif(RDEDUBAILSOWH));
+
+RDEDUBAILSP   = present(POMPESP)*min(POMPESP,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO)) * (1-positif(CRECHOCON2))
+				     * (1-positif(RDEDUBAILSPWH));
+
+RDEDUBAILSU   = present(EAUPLUV)*min(EAUPLUV,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO-RDEDUBAILSP)) ;
+
+RDEDUBAILSW   = present(RESCHAL)*min(RESCHAL,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO-RDEDUBAILSP-RDEDUBAILSU)) ;
+
+RDEDUBAILSM   = present(ELESOL)*min(ELESOL,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO-RDEDUBAILSP-RDEDUBAILSU
+					     - RDEDUBAILSW)) ;
+
+RDEDUBAILSD   = present(CIBOIBAIL)*min(CIBOIBAIL,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO-RDEDUBAILSP-RDEDUBAILSU
+					     - RDEDUBAILSW-RDEDUBAILSM)) * (1-positif(CRECHOCON2))
+				     * (1-positif(RDEDUBAILSDWH));
+
+RDEDUBAILSJ   = present(MATISOSJ)*min(MATISOSJ,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO-RDEDUBAILSP-RDEDUBAILSU
+					     - RDEDUBAILSW-RDEDUBAILSM-RDEDUBAILSD))
+				     * (1-positif(RDEDUBAILSJWH)) * (1-positif(RDEDUBAILSJWK)) ;
+
+RDEDUBAILSK   = present(VOLISO)*min(VOLISO,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO-RDEDUBAILSP-RDEDUBAILSU
+					     - RDEDUBAILSW-RDEDUBAILSM-RDEDUBAILSD-RDEDUBAILSJ))
+				     * (1-positif(RDEDUBAILSKWK));
+
+RDEDUBAILSL   = present(PORENT)*min(PORENT,max(0,ADEVDUR - RDEDUBAILSSWH-RDEDUBAILSTWH-RDEDUBAILSNWH-RDEDUBAILSQWH-RDEDUBAILSRWH-RDEDUBAILSS
+		                 	     - RDEDUBAILST-RDEDUBAILSV-RDEDUBAILSEWH-RDEDUBAILSN-RDEDUBAILSQ-RDEDUBAILSR-RDEDUBAILSGWH
+					     - RDEDUBAILSHWH-RDEDUBAILSOWH-RDEDUBAILSPWH-RDEDUBAILSDWH-RDEDUBAILSJWH-RDEDUBAILSE
+					     - RDEDUBAILSF-RDEDUBAILSG-RDEDUBAILSH-RDEDUBAILSI-RDEDUBAILSO-RDEDUBAILSP-RDEDUBAILSU
+					     - RDEDUBAILSW-RDEDUBAILSM-RDEDUBAILSD-RDEDUBAILSJ-RDEDUBAILSK))
+				     * (1-positif(RDEDUBAILSLWK));
+CIDEVDUR = arr(RDEDUBAILSSWH * TX40/100
+                 +RDEDUBAILSTWH * TX40/100
+                 +RDEDUBAILSNWH * TX34/100
+                 +RDEDUBAILSQWH * TX34/100
+                 +RDEDUBAILSRWH * TX34/100
+                 +RDEDUBAILSS   * TX32/100
+                 +RDEDUBAILST   * TX32/100
+                 +RDEDUBAILSV   * TX32/100
+                 +RDEDUBAILSEWH * TX26/100
+                 +RDEDUBAILSN   * TX26/100
+                 +RDEDUBAILSQ   * TX26/100
+                 +RDEDUBAILSR   * TX26/100
+                 +RDEDUBAILSGWH * TX23/100
+                 +RDEDUBAILSHWH * TX23/100
+                 +RDEDUBAILSOWH * TX23/100
+                 +RDEDUBAILSPWH * TX23/100
+                 +RDEDUBAILSDWH * TX18/100
+                 +RDEDUBAILSJWH * TX18/100
+                 +RDEDUBAILSE   * TX17/100
+                 +RDEDUBAILSF   * TX15/100
+                 +RDEDUBAILSG   * TX15/100
+                 +RDEDUBAILSH   * TX15/100
+                 +RDEDUBAILSI   * TX15/100
+                 +RDEDUBAILSO   * TX15/100
+                 +RDEDUBAILSP   * TX15/100
+                 +RDEDUBAILSU   * TX15/100
+                 +RDEDUBAILSW   * TX15/100
+                 +RDEDUBAILSM   * TX11/100
+                 +RDEDUBAILSD   * TX10/100
+                 +RDEDUBAILSJ   * TX10/100
+                 +RDEDUBAILSK   * TX10/100
+                 +RDEDUBAILSL   * TX10/100
+		)  * (1 - positif(RE168 + TAX1649)) * (1 - V_CNR) ;
+DEVDURCUM = ADEVDUR + (V_BTDEVDUR*(1-present(DEPCHOBAS))+DEPCHOBAS);
+regle 302310141:
+application : iliad , batch  ;
+ADEPENV = DEPENV * (1 - V_CNR);
+CIDEPENV = DEPENV * (1 - V_CNR);
+regle 30231015:
+application : iliad , batch  ;
+DTEC = RISKTEC;
+ATEC = positif(DTEC) * DTEC;
+CITEC = arr (ATEC * TX40/100);
+regle 30231016:
+application : iliad , batch  ;
+DPRETUD = PRETUD + PRETUDANT ;
+APRETUD = max(min(PRETUD,LIM_PRETUD) + min(PRETUDANT,LIM_PRETUD*CASEPRETUD),0) * (1-V_CNR) ;
+
+CIPRETUD = arr(APRETUD*TX_PRETUD/100) * (1 - positif(RE168 + TAX1649)) * (1-V_CNR) ;
+regle 30231017:
+application : iliad , batch  ;
+
+EM7 = somme (i=0..7: min (1 , max(0 , V_0Fi + AG_LIMFG - V_ANREV)))
+      + (1 - positif(somme(i=0..7:V_0Fi) + 0)) * V_0CF ;
+
+EM7QAR = somme (i=0..5: min (1 , max(0 , V_0Hi + AG_LIMFG - V_ANREV)))
+         + somme (j=0..3: min (1 , max(0 , V_0Pj + AG_LIMFG - V_ANREV)))
+         + (1 - positif(somme(i=0..5: V_0Hi) + somme(j=0..3: V_0Pj) + 0)) * (V_0CH + V_0DP) ;
+
+BRFG = min(RDGARD1,PLAF_REDGARD) + min(RDGARD2,PLAF_REDGARD)
+       + min(RDGARD3,PLAF_REDGARD) + min(RDGARD4,PLAF_REDGARD)
+       + min(RDGARD1QAR,PLAF_REDGARDQAR) + min(RDGARD2QAR,PLAF_REDGARDQAR)
+       + min(RDGARD3QAR,PLAF_REDGARDQAR) + min(RDGARD4QAR,PLAF_REDGARDQAR)
+       ;
+RFG = arr ( (BRFG) * TX_REDGARD /100 ) * (1 -V_CNR);
+DGARD = somme(i=1..4:RDGARDi)+somme(i=1..4:RDGARDiQAR);
+AGARD = (BRFG) * (1-V_CNR) ;
+CIGARD = RFG * (1 - positif(RE168 + TAX1649)) ;
+regle 30231018:
+application : iliad , batch  ;
+
+PREHAB = PREHABT + PREHABTN + PREHABTN1 + PREHABT1 + PREHABT2 + PREHABTN2 + PREHABTVT ;
+
+BCIHP = max(( PLAFHABPRIN * (1 + BOOL_0AM) * (1+positif(V_0AP+V_0AF+V_0CG+V_0CI+V_0CR))
+                 + (PLAFHABPRINENF/2) * (V_0CH + V_0DP)
+                 + PLAFHABPRINENF * (V_0CR + V_0CF + V_0DJ + V_0DN)
+                  )
+             ,0);
+
+BCIHABPRIN1 = min(BCIHP , PREHABT) * (1 - V_CNR) ;
+BCIHABPRIN2 = min(max(0,BCIHP-BCIHABPRIN1),PREHABT1) * (1 - V_CNR);
+BCIHABPRIN3 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2),PREHABTN) * (1 - V_CNR);
+BCIHABPRIN4 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2-BCIHABPRIN3),PREHABTN1) * (1 - V_CNR);
+BCIHABPRIN5 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2-BCIHABPRIN3-BCIHABPRIN4),PREHABT2) * (1 - V_CNR);
+BCIHABPRIN6 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2-BCIHABPRIN3-BCIHABPRIN4-BCIHABPRIN5),PREHABTN2) * (1 - V_CNR);
+BCIHABPRIN7 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2-BCIHABPRIN3-BCIHABPRIN4-BCIHABPRIN5-BCIHABPRIN6),PREHABTVT) * (1 - V_CNR);
+
+BCIHABPRIN = BCIHABPRIN1 + BCIHABPRIN2 + BCIHABPRIN3 + BCIHABPRIN4 + BCIHABPRIN5 + BCIHABPRIN6 + BCIHABPRIN7 ;
+
+CIHABPRIN = arr((BCIHABPRIN1 * TX40/100)
+                + (BCIHABPRIN2 * TX40/100)
+                + (BCIHABPRIN3 * TX30/100)
+                + (BCIHABPRIN4 * TX25/100)
+                + (BCIHABPRIN5 * TX20/100)
+                + (BCIHABPRIN6 * TX15/100)
+                + (BCIHABPRIN7 * TX10/100))
+                * (1 - positif(RE168 + TAX1649)) * (1 - V_CNR);
+regle 302311:
+application : iliad , batch ;
+CICSG = min( CSGC , arr( IPPNCS * T_CSG/100 ));
+CICSGAPS = min( CSGCAPS , arr( IPPNCS * T_CSG/100 ));
+CIRDS = min( RDSC , arr( (IPPNCS+REVCSXA+REVCSXB+REVCSXC+REVCSXD+REVCSXE) * T_RDS/100 ));
+CIRDSAPS = min( RDSCAPS , arr( (IPPNCS+REVCSXA+REVCSXB+REVCSXC+REVCSXD+REVCSXE) * T_RDS/100 ));
+CIPRS = min( PRSC , arr( IPPNCS * T_PREL_SOC/100 ));
+CIPRSAPS = min( PRSCAPS , arr( IPPNCS * T_PREL_SOC/100 ));
+CIRSE1 = min( RSE1 , arr( REVCSXA * TX075/100 ));
+CIRSE2 = min( RSE2 , arr( REVCSXC * TX066/100 ));
+CIRSE3 = min( RSE3 , arr( REVCSXD * TX062/100 ));
+CIRSE4 = min( RSE4 , arr( REVCSXE * TX038/100 ));
+CIRSE5 = min( RSE5 , arr( REVCSXB * TX075/100 ));
+CIRSETOT = CIRSE1 + CIRSE2 + CIRSE3 + CIRSE4 + CIRSE5;
+
+
+regle 30400:
+application : iliad , batch  ;
+PPE_DATE_DEB = positif(V_0AV+0) * positif(V_0AZ+0) * (V_0AZ+0)
+              + positif(DATRETETR+0) * (DATRETETR+0) * null(V_0AZ+0) ;
+
+PPE_DATE_FIN = positif(BOOL_0AM) * positif(V_0AZ+0) * (V_0AZ+0)
+              + positif(DATDEPETR+0) * (DATDEPETR+0) * null(V_0AZ+0) ;
+regle 30500:
+application : iliad , batch  ;
+PPE_DEBJJMMMM =  PPE_DATE_DEB + (01010000+V_ANREV) * null(PPE_DATE_DEB+0);
+PPE_DEBJJMM = arr( (PPE_DEBJJMMMM - V_ANREV)/10000);
+PPE_DEBJJ =  inf(PPE_DEBJJMM/100);
+PPE_DEBMM =  PPE_DEBJJMM -  (PPE_DEBJJ*100);
+PPE_DEBRANG= PPE_DEBJJ 
+             + (PPE_DEBMM - 1 ) * 30;
+regle 30501:
+application : iliad , batch  ;
+PPE_FINJJMMMM =  PPE_DATE_FIN + (30120000+V_ANREV) * null(PPE_DATE_FIN+0);
+PPE_FINJJMM = arr( (PPE_FINJJMMMM - V_ANREV)/10000);
+PPE_FINJJ =  inf(PPE_FINJJMM/100);
+PPE_FINMM =  PPE_FINJJMM -  (PPE_FINJJ*100);
+PPE_FINRANG= PPE_FINJJ 
+             + (PPE_FINMM - 1 ) * 30
+             - 1 * positif (PPE_DATE_FIN);
+regle 30503:
+application : iliad , batch  ;
+PPE_DEBUT = PPE_DEBRANG ;
+PPE_FIN   = PPE_FINRANG ;
+PPENBJ = max(1, arr(min(PPENBJAN , PPE_FIN - PPE_DEBUT + 1))) ;
+regle 30508:
+application : iliad , batch  ;
+PPETX1 = PPE_TX1 ;
+PPETX2 = PPE_TX2 ;
+PPETX3 = PPE_TX3 ;
+regle 30510:
+application : iliad , batch  ;
+PPE_BOOL_ACT_COND = positif(
+
+
+   positif ( TSHALLOV ) 
+ + positif ( TSHALLOC ) 
+ + positif ( TSHALLO1 ) 
+ + positif ( TSHALLO2 ) 
+ + positif ( TSHALLO3 ) 
+ + positif ( TSHALLO4 ) 
+ + positif ( GLD1V ) 
+ + positif ( GLD2V ) 
+ + positif ( GLD3V ) 
+ + positif ( GLD1C ) 
+ + positif ( GLD2C ) 
+ + positif ( GLD3C ) 
+ + positif ( BPCOSAV ) 
+ + positif ( BPCOSAC ) 
+ + positif ( TSASSUV ) 
+ + positif ( TSASSUC ) 
+ + positif( CARTSV ) * positif( CARTSNBAV )
+ + positif( CARTSC ) * positif( CARTSNBAC )
+ + positif( CARTSP1 ) * positif( CARTSNBAP1 )
+ + positif( CARTSP2 ) * positif( CARTSNBAP2 )
+ + positif( CARTSP3 ) * positif( CARTSNBAP3 )
+ + positif( CARTSP4 ) * positif( CARTSNBAP4 )
+ + positif( TSELUPPEV )
+ + positif( TSELUPPEC )
+ + positif( HEURESUPV )
+ + positif( HEURESUPC )
+ + positif( HEURESUPP1 )
+ + positif( HEURESUPP2 )
+ + positif( HEURESUPP3 )
+ + positif( HEURESUPP4 )
+ + positif ( FEXV ) 
+ + positif ( BAFV ) 
+ + positif ( BAFPVV ) 
+ + positif ( BAEXV ) 
+ + positif ( BACREV ) + positif ( 4BACREV )
+ + positif  (BACDEV * (1 - positif(ART1731BIS)) ) 
+ + positif ( BAHEXV ) 
+ + positif ( BAHREV ) + positif ( 4BAHREV )
+ + positif ( BAHDEV * (1 - positif(ART1731BIS) )) 
+ + positif ( MIBEXV ) 
+ + positif ( MIBVENV ) 
+ + positif ( MIBPRESV ) 
+ + positif ( MIBPVV ) 
+ + positif ( BICEXV ) 
+ + positif ( BICNOV ) 
+ + positif ( BICDNV * (1 - positif(ART1731BIS) ) ) 
+ + positif ( BIHEXV ) 
+ + positif ( BIHNOV ) 
+ + positif ( BIHDNV * (1 - positif(ART1731BIS) )) 
+ + positif ( FEXC ) 
+ + positif ( BAFC ) 
+ + positif ( BAFPVC ) 
+ + positif ( BAEXC ) 
+ + positif ( BACREC ) + positif ( 4BACREC )
+ + positif (BACDEC * (1 - positif(ART1731BIS) ) ) 
+ + positif ( BAHEXC ) 
+ + positif ( BAHREC ) + positif ( 4BAHREC )
+ + positif ( BAHDEC * (1 - positif(ART1731BIS) ) )  
+ + positif ( MIBEXC ) 
+ + positif ( MIBVENC ) 
+ + positif ( MIBPRESC ) 
+ + positif ( MIBPVC ) 
+ + positif ( BICEXC ) 
+ + positif ( BICNOC ) 
+ + positif ( BICDNC * (1 - positif(ART1731BIS) ) ) 
+ + positif ( BIHEXC ) 
+ + positif ( BIHNOC ) 
+ + positif ( BIHDNC * (1 - positif(ART1731BIS) ))  
+ + positif ( FEXP ) 
+ + positif ( BAFP ) 
+ + positif ( BAFPVP ) 
+ + positif ( BAEXP ) 
+ + positif ( BACREP ) + positif ( 4BACREP )
+ + positif  (BACDEP * (1 - positif(ART1731BIS))) 
+ + positif ( BAHEXP ) 
+ + positif ( BAHREP ) + positif ( 4BAHREP )
+ + positif ( BAHDEP * (1 - positif(ART1731BIS) )) 
+ + positif ( MIBEXP ) 
+ + positif ( MIBVENP ) 
+ + positif ( MIBPRESP ) 
+ + positif ( BICEXP ) 
+ + positif ( MIBPVP ) 
+ + positif ( BICNOP ) 
+ + positif ( BICDNP * (1 - positif(ART1731BIS) )) 
+ + positif ( BIHEXP ) 
+ + positif ( BIHNOP ) 
+ + positif ( BIHDNP * (1 - positif(ART1731BIS) ) )
+ + positif ( BNCPROEXV ) 
+ + positif ( BNCPROV ) 
+ + positif ( BNCPROPVV ) 
+ + positif ( BNCEXV ) 
+ + positif ( BNCREV ) 
diff --git a/sources2013m_3_8/chap-4.m b/sources2013m_3_8/chap-4.m
new file mode 100644
index 0000000000000000000000000000000000000000..f637749621af67de6b525fa1fdc86222d2ca84f8
--- /dev/null
+++ b/sources2013m_3_8/chap-4.m
@@ -0,0 +1,858 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+  ####   #    #    ##    #####      #     #####  #####   ######      #    
+ #    #  #    #   #  #   #    #     #       #    #    #  #           #    #
+ #       ######  #    #  #    #     #       #    #    #  #####       #    #
+ #       #    #  ######  #####      #       #    #####   #           ######
+ #    #  #    #  #    #  #          #       #    #   #   #                #
+  ####   #    #  #    #  #          #       #    #    #  ######           #
+regle 401:
+application : bareme, iliad , batch  ;
+IRB = IAMD2; 
+IRB2 = IAMD2 + TAXASSUR + IPCAPTAXTOT + TAXLOY + CHRAPRES;
+regle 40101:
+application : iliad , batch  ;
+KIR =   IAMD3 ;
+regle 4011:
+application : bareme , iliad , batch  ;
+IAMD1 = IBM13 ;
+IAMD2 = IBM23 ;
+IAMD2TH = positif_ou_nul(IBM23 - SEUIL_61)*IBM23;
+regle 40110:
+application : bareme , iliad , batch  ;
+IAMD3 = IBM33 - min(ACP3, IMPIM3);
+regle 402112:
+application : iliad , batch  ;
+ANG3 = IAD32 - IAD31;
+regle 40220:
+application : iliad , batch  ;
+ACP3 = max (0 ,
+ somme (a=1..4: min(arr(CHENFa * TX_DPAEAV/100) , SEUIL_AVMAXETU)) - ANG3)
+        * (1 - positif(V_CR2 + IPVLOC)) * positif(ANG3) * positif(IMPIM3);
+regle 403:
+application : bareme ,iliad , batch  ;
+
+IBM13 = IAD11 + ITP + REI + AUTOVERSSUP + TAXASSUR + IPCAPTAXTOT  + TAXLOY + CHRAPRES + AVFISCOPTER ;
+
+IBM23 = IAD11 + ITP + REI + AUTOVERSSUP + AVFISCOPTER ;
+
+regle 404:
+application : bareme , iliad , batch  ;
+IBM33 = IAD31 + ITP + REI;
+regle 4041:
+application : iliad , batch  ;
+DOMITPD = arr(BN1 + SPEPV + BI12F + BA1) * (TX11/100) * positif(V_EAD);
+DOMITPG = arr(BN1 + SPEPV + BI12F + BA1) * (TX09/100) * positif(V_EAG);
+DOMAVTD = arr((BN1 + SPEPV + BI12F + BA1) * TX05/100) * positif(V_EAD);
+DOMAVTG = arr((BN1 + SPEPV + BI12F + BA1) * TX07/100) * positif(V_EAG);
+DOMAVTO = DOMAVTD + DOMAVTG;
+DOMABDB = max(PLAF_RABDOM - ABADO , 0) * positif(V_EAD)
+          + max(PLAF_RABGUY - ABAGU , 0) * positif(V_EAG);
+DOMDOM = max(DOMAVTO - DOMABDB , 0) * positif(V_EAD + V_EAG);
+ITP = arr((BPTP2 * TX225/100) 
+       + (BPTPVT * TX19/100) 
+       + (BPTP4 * TX30/100) 
+       +  DOMITPD + DOMITPG
+       + (BPTP3 * TX16/100) 
+       + (BPTP40 * TX41/100)
+       + DOMDOM * positif(V_EAD + V_EAG)
+       + (BPTP18 * TX18/100)
+       + (BPTPSJ * TX19/100)
+       + (BPTPWG * TX19/100)
+       + (BPTPWJ * TX19/100)
+       + (BPTP24 * TX24/100)
+	  )
+       * (1-positif(IPVLOC)) * (1 - positif(present(TAX1649)+present(RE168))); 
+regle 40412:
+application : iliad , batch  ;
+REVTP = BPTP2 +BPTPVT+BPTP4+BTP3A+BPTP40+ BPTP24+BPTP18 +BPTPSJ +BPTPWG + BPTPWJ;
+regle 40413:
+application : iliad , batch  ;
+BTP3A = (BN1 + SPEPV + BI12F + BA1) * (1 - positif( IPVLOC ));
+BPTPD = BTP3A * positif(V_EAD)*(1-positif(present(TAX1649)+present(RE168)));
+BPTPG = BTP3A * positif(V_EAG)*(1-positif(present(TAX1649)+present(RE168)));
+BPTP3 = BTP3A * (1 - positif(V_EAD + V_EAG))*(1-positif(present(TAX1649)+present(RE168)));
+BTP3N = (BPVKRI) * (1 - positif( IPVLOC ));
+BTP3G = (BPVRCM) * (1 - positif( IPVLOC ));
+BTP2 = PEA * (1 - positif( IPVLOC ));
+BPTP2 = BTP2*(1-positif(present(TAX1649)+present(RE168)));
+BTPVT = GAINPEA * (1 - positif( IPVLOC ));
+BPTPVT = BTPVT*(1-positif(present(TAX1649)+present(RE168)));
+
+BTP18 = (BPV18V + BPV18C) * (1 - positif( IPVLOC ));
+BPTP18 = BTP18 * (1-positif(present(TAX1649)+present(RE168))) ;
+
+BPTP4 = (BPCOPTV + BPCOPTC + BPVSK) * (1 - positif(IPVLOC)) * (1 - positif(present(TAX1649) + present(RE168))) ;
+BPTP4I = (BPCOPTV + BPCOPTC) * (1 - positif(IPVLOC)) * (1 - positif(present(TAX1649) + present(RE168))) ;
+BTPSK = BPVSK * (1 - positif( IPVLOC ));
+BPTPSK = BTPSK * (1-positif(present(TAX1649)+present(RE168))) ;
+
+BTP40 = (BPV40V + BPV40C) * (1 - positif( IPVLOC )) ;
+BPTP40 = BTP40 * (1-positif(present(TAX1649)+present(RE168))) ;
+
+BTP5 = PVIMPOS * (1 - positif( IPVLOC ));
+BPTP5 = BTP5 * (1-positif(present(TAX1649)+present(RE168))) ;
+BPTPWG = PVSURSIWG * (1 - positif( IPVLOC ))* (1-positif(present(TAX1649)+present(RE168)));
+BPTPWJ = COD3WJ * (1 - positif( IPVLOC ))* (1-positif(present(TAX1649)+present(RE168)));
+BTPSJ = BPVSJ * (1 - positif( IPVLOC ));
+BPTPSJ = BTPSJ * (1-positif(present(TAX1649)+present(RE168))) ;
+BTPSB = PVTAXSB * (1 - positif( IPVLOC ));
+BPTPSB = BTPSB * (1-positif(present(TAX1649)+present(RE168))) ;
+BPTP19 = (BPVSJ + GAINPEA + PVSURSIWG + COD3WJ) * (1 - positif( IPVLOC )) * (1 - positif(present(TAX1649) + present(RE168))) ;
+BPTP19WGWJ = (PVSURSIWG + COD3WJ) * (1 - positif( IPVLOC )) * (1 - positif(present(TAX1649) + present(RE168))) ;
+BPTP24 = RCM2FA *(1-positif(present(TAX1649)+present(RE168))) * (1 - positif(null(2-V_REGCO) + null(4-V_REGCO)));
+ITPRCM = arr(BPTP24 * TX24/100);
+
+BPTPDIV = BTP5 * (1-positif(present(TAX1649)+present(RE168))) ;
+
+regle 4042:
+application : iliad , batch  ;
+
+
+REI = IPREP+IPPRICORSE;
+
+regle 40421:
+application : iliad , batch  ;
+
+
+PPERSATOT = RSAFOYER + RSAPAC1 + RSAPAC2 ;
+
+PPERSA = min(PPETOTX , PPERSATOT) * (1 - V_CNR) ;
+
+PPEFINAL = PPETOTX - PPERSA ;
+
+regle 405:
+application : bareme , iliad , batch  ;
+
+
+IAD11 = ( max(0,IDOM11-DEC11-RED) *(1-positif(V_CR2+IPVLOC))
+        + positif(V_CR2+IPVLOC) *max(0 , IDOM11 - RED) )
+                                * (1-positif(RE168+TAX1649))
+        + positif(RE168+TAX1649) * IDOM16;
+regle 40510:
+application : bareme , iliad , batch  ;
+IREXITI = (present(FLAG_EXIT) * ((1-positif(FLAG_3WBNEG)) * abs(NAPTIR - V_NAPTIR3WB) 
+           + positif(FLAG_3WBNEG) * abs(NAPTIR + V_NAPTIR3WB)) * positif(present(PVIMPOS) + present(COD3WI)))
+          * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+IREXITI19 = ((PVSURSIWG + COD3WJ) * TX19/100) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+IREXITS = ((1-positif(FLAG_3WANEG)) * abs(V_NAPTIR3WA-NAPTIR) 
+           + positif(FLAG_3WANEG) * abs(-V_NAPTIR3WA - NAPTIR)) * present(FLAG_EXIT) * present(PVSURSI)
+          * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+IREXITS19 = (PVSURSIWF * TX19/100) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+IREXIT = IREXITI + IREXITS ;
+
+EXITTAX3 = ((positif(FLAG_3WBNEG) * (-1) * ( V_NAPTIR3WB) + (1-positif(FLAG_3WBNEG)) * (V_NAPTIR3WB)) * positif(present(PVIMPOS)+present(COD3WI))
+            + NAPTIR * present(PVSURSI) * (1-positif(present(PVIMPOS)+present(COD3WI))))
+           * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+regle 406:
+application : bareme , iliad , batch  ;
+IAD31 = ((IDOM31-DEC31)*(1-positif(V_CR2+IPVLOC)))
+        +(positif(V_CR2+IPVLOC)*IDOM31);
+IAD32 = ((IDOM32-DEC32)*(1-positif(V_CR2+IPVLOC)))
+        +(positif(V_CR2+IPVLOC)*IDOM32);
+
+regle 4052:
+application : bareme , iliad , batch  ;
+
+IMPIM3 =  IAD31 ;
+
+regle 4061:
+application : bareme , iliad , batch  ;
+pour z = 1,2:
+DEC1z = min (max( arr(SEUIL_DECOTE/2 - (IDOM1z/2)),0),IDOM1z) * (1 - V_CNR);
+
+pour z = 1,2:
+DEC3z = min (max( arr(SEUIL_DECOTE/2 - (IDOM3z/2)),0),IDOM3z) * (1 - V_CNR);
+
+DEC6 = min (max( arr(SEUIL_DECOTE/2 - (IDOM16/2)),0),IDOM16) * (1 - V_CNR);
+
+regle 407:
+application : iliad   , batch ;
+      
+RED =  RCOTFOR + RSURV + RCOMP + RHEBE + RREPA + RDIFAGRI + RDONS
+       + RDUFLOGIH
+       + RCELTOT
+       + RRESTIMO * (1-V_INDTEO)  + V_RRESTIMOXY * V_INDTEO
+       + RFIPC + RFIPDOM + RAIDE + RNOUV 
+       + RTOURREP 
+       + RTOUREPA + RTOUHOTR  
+       + RLOGDOM + RLOGSOC + RDOMSOC1 + RLOCENT + RCOLENT
+       + RRETU + RINNO + RRPRESCOMP + RFOR 
+       + RSOUFIP + RRIRENOV + RSOCREPR + RRESIMEUB + RRESINEUV + RRESIVIEU 
+       + RLOCIDEFG + RCODJT + RCODJU
+       + RREDMEUB + RREDREP + RILMIX + RILMIY + RINVRED + RILMIH + RILMJC
+       + RILMIZ + RILMJI + RILMJS + RMEUBLE + RPROREP + RREPNPRO + RREPMEU 
+       + RILMIC + RILMIB + RILMIA + RILMJY + RILMJX + RILMJW + RILMJV
+       + RIDOMPROE3   
+       + RPATNAT1 + RPATNAT2 + RPATNAT3 + RPATNAT
+       + RFORET + RCREAT + RCINE  
+       + RREVMOD ;
+
+REDTL = ASURV + ACOMP ;
+
+CIMPTL = ATEC + ADEVDUR + ADEPENV + TOTBGE ;
+
+RED_AVT_DS =
+ACOTFOR * TX76/100 + RRS + RFC + RAH + RAA + RAGRI +RON +RDUFLO_GIH
++ somme (i=A,B,E,M,C,D,S,F,Z : ACELRREDLi) + ACELRREDMG
++somme (i=S,R,U,T,Z,X,W,V,F,E,D,H,G,B,A : ACELREPHi)
++ somme (i=U,X,T,S,W,P,L,V,K,J : ACELREPGi )
++ RCEL_HM + RCEL_HL + RCEL_HNO + RCEL_HJK + RCEL_NQ + RCEL_NBGL + RCEL_COM
++ RCEL_2011 + RCEL_JP + RCEL_JBGL + RCEL_JOQR + RCEL_2012 + RCEL_FD + RCEL_FABC
++ RETRESTIMO + RFIPCORSE + RFIPDOMCOM + RAD + RSN
++ ATOURREP * TX_REDIL25 / 100 + ATOUREPA * TX_REDIL20 / 100 + RIHOTR
++ somme (i=1..9 : RLOGi) + somme (i=10..32 : RLOGi) + somme (i=1..8 : RSOCi) 
++ RSOC9 + somme (i=10..28 : RSOCi)
++ somme (i=1..9 : RENTi) + somme (i=10..36 : RENTi) 
++ somme (i=1..9 : RLOCi) + somme (i=10..88 : RLOCi)
++ RETUD + RFCPI + RPRESCOMP + RFOREST + RFIP + RENOV + RSOCREP + RETRESIMEUB
++ RETCODIL + RETCODIN + RETCODIV + RETCODIJ
++ RETRESIVIEU
++ RETCODIE + RETCODIF + RETCODIG + RETCODID
++ RETCODJT + RETCODJU + AREDMEUB + AREDREP + AILMIX + AILMIY + AINVRED
++ AILMIH + AILMJC + AILMIZ + AILMJI + AILMJS + MEUBLERET + RETPROREP
++ RETREPNPRO + RETREPMEU + AILMIC + AILMIB + AILMIA + AILMJY + AILMJX
++ AILMJW + AILMJV + REPINVDOMPRO3 + APATNAT1 + APATNAT2 + APATNAT3 + RAPATNAT
++ RAFORET + RRCN + REVMOD
++ RCREATEUR + RCREATEURHANDI
+;
+
+
+RED_1 =  RCOTFOR_1 + RSURV_1 + RCOMP_1 + RHEBE_1 + RREPA_1 + RDIFAGRI_1 + RDONS_1
+       + RDUFLOGIH_1
+       + RCELTOT_1
+       + RRESTIMO_1 * (1-V_INDTEO)
+       + RFIPC_1 + RFIPDOM_1 + RAIDE_1 + RNOUV_1
+       + RTOURREP_1
+       + RTOUREPA_1 + RTOUHOTR_1
+       + RLOGDOM_1 + RLOGSOC_1 + RDOMSOC1_1 + RLOCENT_1 + RCOLENT_1
+       + RRETU_1 + RINNO_1 + RRPRESCOMP_1 + RFOR_1
+       + RSOUFIP_1 + RRIRENOV_1 + RSOCREPR_1 + RRESIMEUB_1 + RRESINEUV_1 + RRESIVIEU_1
+       + RLOCIDEFG_1 + RCODJT_1 + RCODJU_1
+       + RREDMEUB_1 + RREDREP_1 + RILMIX_1 + RILMIY_1 + RINVRED_1 + RILMIH_1 + RILMJC_1
+       + RILMIZ_1 + RILMJI_1 + RILMJS_1 + RMEUBLE_1 + RPROREP_1 + RREPNPRO_1 + RREPMEU_1
+       + RILMIC_1 + RILMIB_1 + RILMIA_1 + RILMJY_1 + RILMJX_1 + RILMJW_1 + RILMJV_1
+       + RIDOMPROE3_1
+       + RPATNAT1_1 + RPATNAT2_1 + RPATNAT3_1 + RPATNAT_1
+       + RFORET_1 + RCREAT_1 + RCINE_1
+       + RREVMOD_1 ;
+
+regle 4070:
+application : bareme ;
+RED = V_9UY;
+regle 4025:
+application : iliad , batch  ;
+
+PLAFDOMPRO1 = max(0 , RRI1_1-RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH-RNOUV-RFOR
+                          -RTOURREP-RTOUHOTR-RTOUREPA-RCELTOT-RLOCNPRO-RPATNATOT
+                          -RDOMSOC1-RLOGSOC ) ;
+                          
+RIDOMPROE3_1 = min(REPINVDOMPRO3 , PLAFDOMPRO1) * (1 - V_CNR) ;
+
+RIDOMPROE3 = (RIDOMPROE3_1 * (1-ART1731BIS)
+              + min(RIDOMPROE3_1 , max(RIDOMPROE3_P, RIDOMPROE31731+0)) * ART1731BIS) * (1-V_CNR);
+                  
+REPOMENTR3 = positif(REPINVDOMPRO3 - PLAFDOMPRO1) * (REPINVDOMPRO3 - PLAFDOMPRO1) * (1 - V_CNR) ;
+
+
+RIDOMPROTOT_1 = RIDOMPROE3_1 ;
+RIDOMPROTOT = RIDOMPROE3 ;
+
+
+RINVEST = RIDOMPROE3 ;
+
+RIDOMPRO = REPINVDOMPRO3 ;
+
+DIDOMPRO = ( RIDOMPRO * (1-ART1731BIS) 
+             + min( RIDOMPRO, max(DIDOMPRO_P , DIDOMPRO1731+0 )) * ART1731BIS ) * (1 - V_CNR) ;
+
+regle 40749:
+application : iliad , batch  ;
+
+DFORET = FORET ;
+
+AFORET_1 = max(min(DFORET,LIM_FORET),0) * (1-V_CNR) ;
+
+AFORET = max( 0 , AFORET_1  * (1-ART1731BIS) 
+                  + min( AFORET_1 , max(AFORET_P , AFORET1731+0)) * ART1731BIS
+            ) * (1-V_CNR) ;
+
+RAFORET = arr(AFORET*TX_FORET/100) * (1-V_CNR) ;
+
+RFORET_1 =  max( min( RAFORET , IDOM11-DEC11-RCOTFOR-RREPA-RAIDE-RDIFAGRI) , 0 ) ;
+RFORET =  max( 0 , RFORET_1 * (1-ART1731BIS) 
+                   + min( RFORET_1 , max( RFORET_P , RFORET1731+0 )) * ART1731BIS ) ;
+
+regle 4075:
+application : iliad , batch ;
+
+DFIPC = FIPCORSE ;
+
+AFIPC_1 = max( min(DFIPC , LIM_FIPCORSE * (1 + BOOL_0AM)) , 0) * (1 - V_CNR) ;
+
+AFIPC = max( 0, AFIPC_1 * (1-ART1731BIS)
+                + min( AFIPC_1 , max( AFIPC_P , AFIPC1731+0 )) * ART1731BIS
+           ) * (1 - V_CNR) ;
+
+RFIPCORSE = arr(AFIPC * TX_FIPCORSE/100) * (1 - V_CNR) ;
+
+RFIPC_1 = max( min( RFIPCORSE , IDOM11-DEC11-RCOTFOR-RREPA-RAIDE-RDIFAGRI-RFORET-RFIPDOM) , 0) ;
+RFIPC = max( 0, RFIPC_1 * (1 - ART1731BIS) 
+                + min( RFIPC_1 , max(RFIPC_P , RFIPC1731+0 )) * ART1731BIS ) ;
+
+regle 40751:
+application : iliad , batch ;
+
+DFIPDOM = FIPDOMCOM ;
+
+AFIPDOM_1 = max( min(DFIPDOM , LIMFIPDOM * (1 + BOOL_0AM)) , 0) * (1 - V_CNR) ;
+AFIPDOM = max( 0 , AFIPDOM_1 * (1 - ART1731BIS)
+               + min( AFIPDOM_1 , max(AFIPDOM_P , AFIPDOM1731+0)) * ART1731BIS
+	     ) * (1 - V_CNR) ;
+
+RFIPDOMCOM = arr(AFIPDOM * TXFIPDOM/100) * (1 - V_CNR) ;
+
+RFIPDOM_1 = max( min( RFIPDOMCOM , IDOM11-DEC11-RCOTFOR-RREPA-RAIDE-RDIFAGRI-RFORET),0);
+RFIPDOM = max( 0 , RFIPDOM_1 * (1 - ART1731BIS) 
+                   + min( RFIPDOM_1, max(RFIPDOM_P ,  RFIPDOM1731+0 )) * ART1731BIS ) ;
+
+regle 4076:
+application : iliad , batch  ;
+BSURV = min( RDRESU , PLAF_RSURV + PLAF_COMPSURV * (EAC + V_0DN) + PLAF_COMPSURVQAR * (V_0CH + V_0DP) );
+RRS = arr( BSURV * TX_REDSURV / 100 ) * (1 - V_CNR);
+DSURV = RDRESU;
+
+ASURV = (BSURV * (1-ART1731BIS)
+         + min( BSURV , max( ASURV_P , ASURV1731+0 )) * ART1731BIS)  * (1-V_CNR);
+
+RSURV_1 = max( min( RRS , IDOM11-DEC11-RCOTFOR-RREPA-RAIDE-RDIFAGRI-RFORET-RFIPDOM-RFIPC
+			  -RCINE-RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE ) , 0 ) ;
+
+RSURV = max( 0 , RSURV_1 * (1-ART1731BIS) 
+                 + min( RSURV_1, max(RSURV_P , RSURV1731+0 )) * ART1731BIS ) ;
+
+regle 4100:
+application : iliad , batch ;
+
+RRCN = arr(  min( CINE1 , min( max(SOFIRNG,RNG) * TX_CINE3/100 , PLAF_CINE )) * TX_CINE1/100
+        + min( CINE2 , max( min( max(SOFIRNG,RNG) * TX_CINE3/100 , PLAF_CINE ) - CINE1 , 0)) * TX_CINE2/100 
+       ) * (1 - V_CNR) ;
+
+DCINE = CINE1 + CINE2 ;
+
+ACINE_1 = max(0,min( CINE1 + CINE2 , min( arr(SOFIRNG * TX_CINE3/100) , PLAF_CINE ))) * (1 - V_CNR) ;
+ACINE = max( 0, ACINE_1 * (1-ART1731BIS) 
+                + min( ACINE_1 , max(ACINE_P , ACINE1731+0 )) * ART1731BIS
+           ) * (1-V_CNR) ; 
+
+RCINE_1 = max( min( RRCN , IDOM11-DEC11-RCOTFOR-RREPA-RAIDE-RDIFAGRI-RFORET-RFIPDOM-RFIPC) , 0 ) ;
+RCINE = max( 0, RCINE_1 * (1-ART1731BIS) 
+                + min( RCINE_1 , max(RCINE_P , RCINE1731+0 )) * ART1731BIS ) ;
+
+regle 4176:
+application : iliad , batch  ;
+BSOUFIP = min( FFIP , LIM_SOUFIP * (1 + BOOL_0AM));
+RFIP = arr( BSOUFIP * TX_REDFIP / 100 ) * (1 - V_CNR);
+DSOUFIP = FFIP;
+
+ASOUFIP = (BSOUFIP * (1-ART1731BIS) 
+           + min( BSOUFIP , max(ASOUFIP_P , ASOUFIP1731+0 ))) * (1-V_CNR) ;
+
+RSOUFIP_1 = max( min( RFIP , IDOM11-DEC11-RCOTFOR-RREPA-RAIDE-RDIFAGRI-RFORET-RFIPDOM-RFIPC
+			   -RCINE-RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO) , 0 ) ;
+
+RSOUFIP = max( 0 , RSOUFIP_1 * (1-ART1731BIS) 
+                   + min( RSOUFIP_1 , max(RSOUFIP_P , RSOUFIP1731+0)) * ART1731BIS ) ;
+
+regle 4200:
+application : iliad , batch  ;
+
+BRENOV = min(RIRENOV,PLAF_RENOV) ;
+
+RENOV = arr( BRENOV * TX_RENOV / 100 ) * (1 - V_CNR) ;
+
+DRIRENOV = RIRENOV ;
+
+ARIRENOV = (BRENOV * (1-ART1731BIS) 
+            + min( BRENOV, max(ARIRENOV_P , ARIRENOV1731+0)) * ART1731BIS ) * (1 - V_CNR) ;
+
+RRIRENOV_1 = max(min(RENOV , IDOM11-DEC11-RCOTFOR-RREPA-RAIDE-RDIFAGRI-RFORET-RFIPDOM-RFIPC-RCINE
+			     -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP) , 0 ) ;
+
+RRIRENOV = max( 0 , RRIRENOV_1 * (1-ART1731BIS) 
+                    + min(RRIRENOV_1 , max(RRIRENOV_P , RRIRENOV1731+0)) * ART1731BIS ) ;
+
+regle 40771:
+application : iliad , batch  ;
+RFC = min(RDCOM,PLAF_FRCOMPTA * max(1,NBACT)) * present(RDCOM)*(1-V_CNR);
+NCOMP = ( max(1,NBACT)* present(RDCOM) * (1-ART1731BIS) + min( max(1,NBACT)* present(RDCOM) , NCOMP1731+0) * ART1731BIS ) * (1-V_CNR);
+DCOMP = RDCOM;
+
+ACOMP =  RFC * (1-ART1731BIS) 
+         + min( RFC , max(ACOMP_P , ACOMP1731+0 )) * ART1731BIS ;
+
+regle 10040771:
+application :  iliad , batch  ;
+RCOMP_1 = max(min( RFC , RRI1-RLOGDOM-RCREAT) , 0) ;
+RCOMP = max( 0 , RCOMP_1 * (1-ART1731BIS) 
+                 + min( RCOMP_1 ,max(RCOMP_P , RCOMP1731+0 )) * ART1731BIS ) ;
+
+regle 4077:
+application : iliad , batch  ;
+DDUFLOGIH = DUFLOGI + DUFLOGH ;
+
+ADUFLOGIH_1 = ( arr( min( DUFLOGI + 0, LIMDUFLO) / 9 ) +
+              arr( min( DUFLOGH + 0, LIMDUFLO - min( DUFLOGI + 0, LIMDUFLO)) / 9 )
+            ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ;
+
+ADUFLOGIH =  ADUFLOGIH_1 * (1-ART1731BIS) 
+             + min( ADUFLOGIH_1, max(ADUFLOGIH_P , ADUFLOGIH1731 +0 )) * ART1731BIS ;
+
+RDUFLO_GIH = ( arr( arr( min( DUFLOGI + 0, LIMDUFLO) / 9 ) * (TX29/100)) +
+              arr( arr( min( DUFLOGH + 0, LIMDUFLO - min( DUFLOGI + 0, LIMDUFLO)) / 9 ) * (TX18/100))
+             ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ;
+
+regle 40772:
+application : iliad , batch  ;
+
+RDUFLOGIH_1 = max( 0, min( RDUFLO_GIH , RRI1-RLOGDOM-RCREAT-RCOMP-RRETU-RDONS)) ;
+
+RDUFLOGIH = max( 0, RDUFLOGIH_1 * (1 - ART1731BIS) 
+                    + min ( RDUFLOGIH_1 , max(RDUFLOGIH_P , RDUFLOGIH1731+0 )) * ART1731BIS ) ;
+regle 40773:
+application : iliad , batch  ;
+
+RIVDUFLOGIH = ( arr( arr( min( DUFLOGI + 0, LIMDUFLO) / 9 ) * (TX29/100)) +
+                arr( arr( min( DUFLOGH + 0, LIMDUFLO - min( DUFLOGI + 0, LIMDUFLO)) / 9 ) * (TX18/100))
+              ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ;
+
+RIVDUFLOGIH8 = max (0 , ( arr( min( DUFLOGI + 0, LIMDUFLO) * (TX29/100)) +
+                          arr( min( DUFLOGH + 0, LIMDUFLO - min( DUFLOGI + 0, LIMDUFLO)) * (TX18/100))
+                        ) 
+                          - 8 * RIVDUFLOGIH  
+                   ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ; 
+
+REPDUFLOT2013 = RIVDUFLOGIH * 7 + RIVDUFLOGIH8 ;
+
+
+regle 4078:
+application : iliad , batch  ;
+BCEL_FABC = arr ( min( CELLIERFA + CELLIERFB + CELLIERFC , LIMCELLIER ) /9 );
+
+BCEL_FD = arr ( min( CELLIERFD , LIMCELLIER ) /5 );
+
+BCEL_2012 = arr( min(( CELLIERJA + CELLIERJD + CELLIERJE + CELLIERJF + CELLIERJH + CELLIERJJ 
+		     + CELLIERJK + CELLIERJM + CELLIERJN + 0 ), LIMCELLIER ) /9 );
+
+BCEL_JOQR = arr( min(( CELLIERJO + CELLIERJQ + CELLIERJR + 0 ), LIMCELLIER ) /5 );
+
+BCEL_2011 = arr( min(( CELLIERNA + CELLIERNC + CELLIERND + CELLIERNE + CELLIERNF + CELLIERNH
+		     + CELLIERNI + CELLIERNJ + CELLIERNK + CELLIERNM + CELLIERNN + CELLIERNO  + 0 ), LIMCELLIER ) /9 );
+
+BCELCOM2011 = arr( min(( CELLIERNP + CELLIERNR + CELLIERNS + CELLIERNT + 0 ), LIMCELLIER ) /5 );
+
+BCEL_NBGL = arr( min(( CELLIERNB + CELLIERNG + CELLIERNL + 0), LIMCELLIER ) /9 );
+
+BCEL_NQ = arr( min(( CELLIERNQ + 0), LIMCELLIER ) /5 );
+
+BCEL_JBGL = arr( min(( CELLIERJB + CELLIERJG + CELLIERJL + 0), LIMCELLIER ) /9 );
+
+BCEL_JP = arr( min(( CELLIERJP + 0), LIMCELLIER ) /5 );
+
+
+BCEL_HNO = arr ( min ((CELLIERHN + CELLIERHO + 0 ), LIMCELLIER ) /9 );
+BCEL_HJK = arr ( min ((CELLIERHJ + CELLIERHK + 0 ), LIMCELLIER ) /9 );
+
+BCEL_HL = arr ( min ((CELLIERHL + 0 ), LIMCELLIER ) /9 );
+BCEL_HM = arr ( min ((CELLIERHM + 0 ), LIMCELLIER ) /9 );
+
+
+DCELRREDLA = CELRREDLA;
+ACELRREDLA_R = CELRREDLA * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELRREDLA = (CELRREDLA * (1-ART1731BIS) 
+              + min (CELRREDLA, max(ACELRREDLA_P , ACELRREDLA1731 +0)) * ART1731BIS)
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLB = CELRREDLB;
+ACELRREDLB_R = CELRREDLB * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELRREDLB = (CELRREDLB * (1-ART1731BIS) 
+              + min (CELRREDLB, max(ACELRREDLB_P , ACELRREDLB1731 +0)) * ART1731BIS)
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLE = CELRREDLE;
+ACELRREDLE_R = CELRREDLE * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELRREDLE = (CELRREDLE * (1-ART1731BIS)
+              + min (CELRREDLE , max(ACELRREDLE_P , ACELRREDLE1731 +0)) * ART1731BIS)
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLM = CELRREDLM;
+
+
+ACELRREDLM = (CELRREDLM * (1-ART1731BIS) 
+              + min (CELRREDLM, max(ACELRREDLM_P , ACELRREDLM1731 +0)) * ART1731BIS)
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLC = CELRREDLC;
+ACELRREDLC_R = CELRREDLC * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELRREDLC = (CELRREDLC * (1-ART1731BIS) 
+              + min (CELRREDLC, max(ACELRREDLC_P , ACELRREDLC1731 +0)) * ART1731BIS)
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLD = CELRREDLD;
+ACELRREDLD_R = CELRREDLD * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELRREDLD = (CELRREDLD * (1-ART1731BIS) 
+              + min (CELRREDLD, max(ACELRREDLD_P , ACELRREDLD1731 +0)) * ART1731BIS)
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLS = CELRREDLS;
+
+
+ACELRREDLS = (CELRREDLS * (1-ART1731BIS) 
+              + min (CELRREDLS, max(ACELRREDLS_P , ACELRREDLS1731 +0)) * ART1731BIS)
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLF = CELRREDLF;
+
+ACELRREDLF_R = CELRREDLF * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELRREDLF = (CELRREDLF * (1-ART1731BIS) 
+              + min (CELRREDLF, max(ACELRREDLF_P , ACELRREDLF1731 +0)) * ART1731BIS)
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLZ = CELRREDLZ;
+
+
+ACELRREDLZ = (CELRREDLZ * (1-ART1731BIS) 
+              + min (CELRREDLZ, max(ACELRREDLZ_P , ACELRREDLZ1731 +0)) * ART1731BIS)
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDMG = CELRREDMG;
+
+
+
+ACELRREDMG = (CELRREDMG * (1-ART1731BIS) 
+              + min (CELRREDMG, max(ACELRREDMG_P , ACELRREDMG1731 +0)) * ART1731BIS)
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHS = CELREPHS; 
+ACELREPHS_R = DCELREPHS * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELREPHS = (DCELREPHS * (1 - ART1731BIS) 
+             + min( DCELREPHS , max(ACELREPHS_P , ACELREPHS1731 + 0 )) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHR = CELREPHR ;    
+ACELREPHR_R = DCELREPHR * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELREPHR = (DCELREPHR * (1 - ART1731BIS) 
+             + min( DCELREPHR , max(ACELREPHR_P , ACELREPHR1731 + 0 )) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHU = CELREPHU; 
+ACELREPHU_R = DCELREPHU * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELREPHU = (DCELREPHU * (1 - ART1731BIS) 
+             + min( DCELREPHU , max(ACELREPHU_P , ACELREPHU1731 + 0 )) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHT = CELREPHT; 
+ACELREPHT_R = DCELREPHT * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELREPHT = (DCELREPHT * (1 - ART1731BIS) 
+             + min( DCELREPHT , max(ACELREPHT_P , ACELREPHT1731 + 0 )) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHZ = CELREPHZ; 
+ACELREPHZ_R = DCELREPHZ * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELREPHZ = (DCELREPHZ * (1 - ART1731BIS) 
+             + min( DCELREPHZ , max(ACELREPHZ_P , ACELREPHZ1731 + 0 )) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHX = CELREPHX; 
+ACELREPHX_R = DCELREPHX * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELREPHX = (DCELREPHX * (1 - ART1731BIS) 
+             + min( DCELREPHX , max(ACELREPHX_P , ACELREPHX1731 + 0 )) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHW = CELREPHW; 
+ACELREPHW_R = DCELREPHW * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELREPHW = (DCELREPHW * (1 - ART1731BIS) 
+             + min( DCELREPHW , max(ACELREPHW_P , ACELREPHW1731 + 0 )) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHV = CELREPHV; 
+ACELREPHV_R = DCELREPHV * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELREPHV = (DCELREPHV * (1 - ART1731BIS) 
+             + min( DCELREPHV , max(ACELREPHV_P , ACELREPHV1731 + 0 )) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHF = CELREPHF; 
+ACELREPHF_R = DCELREPHF * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELREPHF = (DCELREPHF * (1 - ART1731BIS) 
+             + min( DCELREPHF , max(ACELREPHF_P , ACELREPHF1731 + 0 )) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHE = CELREPHE ;    
+ACELREPHE_R = DCELREPHE * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELREPHE = (DCELREPHE * (1 - ART1731BIS) 
+             + min( DCELREPHE , max(ACELREPHE_P , ACELREPHE1731 + 0 )) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHD = CELREPHD; 
+ACELREPHD_R = DCELREPHD * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELREPHD = (DCELREPHD * (1 - ART1731BIS) 
+             + min( DCELREPHD , max(ACELREPHD_P , ACELREPHD1731 + 0 )) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHH = CELREPHH; 
+ACELREPHH_R = DCELREPHH * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELREPHH = (DCELREPHH * (1 - ART1731BIS) 
+             + min( DCELREPHH , max(ACELREPHH_P , ACELREPHH1731 + 0 )) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHG = CELREPHG; 
+ACELREPHG_R = DCELREPHG * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELREPHG = (DCELREPHG * (1 - ART1731BIS) 
+             + min( DCELREPHG , max(ACELREPHG_P , ACELREPHG1731 + 0 )) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHB = CELREPHB; 
+ACELREPHB_R = DCELREPHB * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELREPHB = (DCELREPHB * (1 - ART1731BIS) 
+             + min( DCELREPHB , max(ACELREPHB_P , ACELREPHB1731 + 0 )) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHA = CELREPHA; 
+ACELREPHA_R = DCELREPHA * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELREPHA = (DCELREPHA * (1 - ART1731BIS) 
+             + min( DCELREPHA , max(ACELREPHA_P , ACELREPHA1731 + 0 )) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPGU = CELREPGU; 
+
+
+ACELREPGU = (DCELREPGU * (1 - ART1731BIS) 
+             + min( DCELREPGU , max (ACELREPGU_P , ACELREPGU1731 + 0 )) * ART1731BIS)
+		* (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPGX = CELREPGX; 
+
+
+ACELREPGX = (DCELREPGX * (1 - ART1731BIS) 
+             + min( DCELREPGX , max (ACELREPGX_P , ACELREPGX1731 + 0 )) * ART1731BIS)
+		* (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPGT = CELREPGT; 
+
+
+ACELREPGT = (DCELREPGT * (1 - ART1731BIS) 
+             + min( DCELREPGT , max (ACELREPGT_P , ACELREPGT1731 + 0 )) * ART1731BIS)
+		* (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPGS = CELREPGS; 
+
+
+ACELREPGS = (DCELREPGS * (1 - ART1731BIS) 
+             + min( DCELREPGS , max (ACELREPGS_P , ACELREPGS1731 + 0 )) * ART1731BIS)
+		* (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPGW = CELREPGW; 
+
+
+ACELREPGW = (DCELREPGW * (1 - ART1731BIS) 
+             + min( DCELREPGW , max (ACELREPGW_P , ACELREPGW1731 + 0 )) * ART1731BIS)
+		* (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPGP = CELREPGP; 
+
+
+ACELREPGP = (DCELREPGP * (1 - ART1731BIS) 
+             + min( DCELREPGP , max (ACELREPGP_P , ACELREPGP1731 + 0 )) * ART1731BIS)
+		* (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPGL = CELREPGL; 
+
+
+ACELREPGL = (DCELREPGL * (1 - ART1731BIS) 
+             + min( DCELREPGL , max (ACELREPGL_P , ACELREPGL1731 + 0 )) * ART1731BIS)
+		* (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPGV = CELREPGV; 
+
+
+ACELREPGV = (DCELREPGV * (1 - ART1731BIS) 
+             + min( DCELREPGV , max (ACELREPGV_P , ACELREPGV1731 + 0 )) * ART1731BIS)
+		* (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPGK = CELREPGK; 
+
+
+ACELREPGK = (DCELREPGK * (1 - ART1731BIS) 
+             + min( DCELREPGK , max (ACELREPGK_P , ACELREPGK1731 + 0 )) * ART1731BIS)
+		* (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPGJ = CELREPGJ; 
+
+
+ACELREPGJ = (DCELREPGJ * (1 - ART1731BIS) 
+             + min( DCELREPGJ , max (ACELREPGJ_P , ACELREPGJ1731 + 0 )) * ART1731BIS)
+		* (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELHM = CELLIERHM ; 
+
+ACELHM_R = positif_ou_nul( CELLIERHM) * BCEL_HM * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELHM = ( BCEL_HM * (1-ART1731BIS) 
+          + min(BCEL_HM , max(ACELHM_P , ACELHM1731+0))* ART1731BIS )  
+         * (positif_ou_nul(CELLIERHM)) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELHL = CELLIERHL ;    
+
+ACELHL_R = positif_ou_nul( CELLIERHL) * BCEL_HL * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELHL = ( BCEL_HL * (1-ART1731BIS) 
+          + min(BCEL_HL , max(ACELHL_P , ACELHL1731+0))* ART1731BIS )  
+         * (positif_ou_nul(CELLIERHL)) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+DCELHNO = CELLIERHN + CELLIERHO ;
+
+ACELHNO_R = positif_ou_nul( CELLIERHN + CELLIERHO ) * BCEL_HNO * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELHNO = ( BCEL_HNO * (1-ART1731BIS) 
+          + min(BCEL_HNO , max(ACELHNO_P , ACELHNO1731+0))* ART1731BIS )  
+         * (positif_ou_nul(CELLIERHN + CELLIERHO)) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELHJK = CELLIERHJ + CELLIERHK ;
+
+ACELHJK_R = positif_ou_nul( CELLIERHJ + CELLIERHK ) * BCEL_HJK * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELHJK = ( BCEL_HJK * (1-ART1731BIS) 
+          + min(BCEL_HJK , max(ACELHJK_P , ACELHJK1731+0))* ART1731BIS )  
+         * (positif_ou_nul(CELLIERHJ + CELLIERHK)) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+DCELNQ = CELLIERNQ;
+ACELNQ_R = (positif_ou_nul( CELLIERNQ) * BCEL_NQ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELNQ = ( BCEL_NQ * (1-ART1731BIS) 
+          + min(BCEL_NQ , max(ACELNQ_P , ACELNQ1731+0))* ART1731BIS )  
+         * (positif_ou_nul(CELLIERNQ)) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELNBGL =   CELLIERNB + CELLIERNG + CELLIERNL;
+
+ACELNBGL_R = positif_ou_nul( CELLIERNB + CELLIERNG + CELLIERNL ) * BCEL_NBGL * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELNBGL = ( BCEL_NBGL * (1-ART1731BIS) 
+             + min(BCEL_NBGL , max(ACELNBGL_P , ACELNBGL1731+0))* ART1731BIS )  
+           * positif_ou_nul(CELLIERNB + CELLIERNG + CELLIERNL) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELCOM =   CELLIERNP + CELLIERNR + CELLIERNS + CELLIERNT;
+
+ACELCOM_R = positif_ou_nul(CELLIERNP + CELLIERNR + CELLIERNS + CELLIERNT) * BCELCOM2011 * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELCOM = ( BCELCOM2011 * (1-ART1731BIS) 
+          + min(BCELCOM2011 , max(ACELCOM_P , ACELCOM1731+0))* ART1731BIS )  
+          * positif_ou_nul(CELLIERNP + CELLIERNR + CELLIERNS + CELLIERNT) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+CELSOMN = CELLIERNA+CELLIERNC+CELLIERND+CELLIERNE+CELLIERNF+CELLIERNH
+	 +CELLIERNI+CELLIERNJ+CELLIERNK+CELLIERNM+CELLIERNN+CELLIERNO;  
+
+DCEL = CELSOMN ; 
+
+
+ACEL_R = positif_ou_nul( CELSOMN ) * BCEL_2011 * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACEL = (BCEL_2011 * (1 - ART1731BIS) 
+        + min(BCEL_2011 , max(ACEL_P , ACEL1731+0)) * ART1731BIS)  
+          * positif_ou_nul(CELSOMN) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELJP = CELLIERJP;
+
+ACELJP_R = positif_ou_nul( CELLIERJP) * BCEL_JP * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+
+ACELJP = (BCEL_JP * (1 - ART1731BIS) 
+          + min(BCEL_JP , max(ACELJP_P , ACELJP1731+0)) * ART1731BIS)  
+          * positif_ou_nul(CELLIERJP) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELJBGL =   CELLIERJB + CELLIERJG + CELLIERJL;
+
+ACELJBGL_R = positif_ou_nul( CELLIERJB + CELLIERJG + CELLIERJL ) * BCEL_JBGL * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ACELJBGL = (BCEL_JBGL * (1 - ART1731BIS) 
+          + min(BCEL_JBGL , max(ACELJBGL_P , ACELJBGL1731+0)) * ART1731BIS)  
+          * positif_ou_nul(CELLIERJB+CELLIERJG+CELLIERJL) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+
+DCELJOQR =   CELLIE
\ No newline at end of file
diff --git a/sources2013m_3_8/chap-51.m b/sources2013m_3_8/chap-51.m
new file mode 100644
index 0000000000000000000000000000000000000000..04e471178815c6c1df7940592f3db014045cf711
--- /dev/null
+++ b/sources2013m_3_8/chap-51.m
@@ -0,0 +1,451 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+  ####   #    #    ##    #####         #####      #
+ #    #  #    #   #  #   #    #        #          #
+ #       ######  #    #  #    #        #          #
+ #       #    #  ######  #####         #####      #
+ #    #  #    #  #    #  #                 #      #
+  ####   #    #  #    #  #     #####   #####      #
+ #
+ #
+ #
+ #
+ #
+ #
+ #           CALCUL DES DROITS SIMPLES RESULTANT DU TAUX PROGRESSIF
+ #
+ #
+ #
+ #
+ #
+ #
+regle 5010:
+application : bareme , iliad , batch  ;
+IMT11 = max(ID11-ADO1 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IMT12 = max(ID11 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IMTANT11 = max(IDANT11-ADO1 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IMTANT12 = max(IDANT11 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IPHQ = arr(IMT11 * (IMPFHQ1 / ID11)) ;
+IPHQ2 = arr(IMT12 * (IMPFHQ1 / ID11)) ;
+IPHQANT2 = arr(IMTANT12 * (IMPFHQANT1 / IDANT11)) ;
+IPQT = IMT11 - IPHQ;
+IPQT2 = IMT12 - IPHQ2;
+regle 502:
+application : bareme , iliad , batch  ;
+pour z = 1,2:
+ID1z =  arr( IPQz * arr(RIz+REVQUOQHT) / arr(RB0z+TONEQUO) );
+IDANT11 =  arr( IPQANT1 * arr(RI1+REVQUOQHT) / arr(RB01+TONEQUO) );
+ID14 = IN04;
+ID16 = IN06;
+IMPFHQ1 = (1-positif((VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS)))) * EXO1 * arr(ID11 * IPQ01 / IPQ1);
+IMPFHQANT1 = (1-positif((VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS)))) * EXO1 
+             * arr(IDANT11 * IPQANT01 / IPQANT1);
+regle 5021:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+IPQz = IPQ0z*EXO1 + IPQ100z;
+IPQANT1 = IPQANT01*EXO1 + IPQANT1001;
+IPQ5 = IPQ05 + IPQ1005;
+regle 50201:
+application : iliad , batch  ;
+pour z = 1,2:
+IDOM3z = (positif(IND_TDR) * IDOM14)
+         +
+     ((1-positif(IND_TDR)) * ((V_CR2 * IDOM1z) + ((1-V_CR2) * ((ID1z - ADO3z)* (1-positif(INDCODDAJ)) + ITOTDOM3z * positif(INDCODDAJ)))));
+regle 50211:
+application : iliad , batch  ;
+SEUILEXO = SEUIL_EXO1 + (SEUIL_EXO2 - SEUIL_EXO1)
+           * positif_ou_nul( max(AGV,AGC) - LIM_AGE_EXO );
+EXO1 =    (1-min(abs((VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS))) 
+				+ (VARIPTEFP * positif(ART1731BIS) + IPTEFP * (1 - ART1731BIS))+INDTEFF , 1)) * 
+                                  positif(R1649+PREREV + RG + TOTALQUO +(AB
+                                          *(1-present(IPVLOC)))-SEUILEXO)   
+            + 
+            (min(abs((VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS))) 
+			     + (VARIPTEFP * positif(ART1731BIS) + IPTEFP * (1 - ART1731BIS)) +INDTEFF, 1)) 
+        ; 
+regle 502110:
+application :  bareme  ;
+EXO1 =   present(V_9ZZ);
+
+regle 5022:
+application : iliad , batch  ;
+IMI = arr (BMI * TX_MIN_MET / 100 
+              + arr(PRODOM + PROGUY) * TX_MIN_DOM / 100) 
+          * V_CR2;
+IMO = arr (BMI * TMOY / 100
+              + arr(PRODOM + PROGUY) * TX_MIN_DOM / 100) 
+          * V_CR2;
+RASAR = arr (BRAS * TX_RASAR / 100) ;
+regle 50221:
+application : bareme , iliad , batch  ;
+BMI = arr( RI1 + REVQUO - PRODOM - PROGUY ) ;
+regle 50222:
+application : iliad , batch  ;
+TMOY = inf(IPQ5/(max(0,RB05 + TONEQUOM)) * 10000) / 100 * V_CR2;
+regle 503:
+application : bareme , iliad , batch  ;
+pour z=1,2,5,7:
+IQUOTOTz = IN5z - IN0z;
+IQUOTOTANT1 = INANT51 - INANT01;
+regle 50299:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQ1z = positif(somme(i=2..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTz * TERPQ1 / TETONEQUO1)
+         + (1 - positif(somme(i=2..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * IQUOTOTz ;
+ZIPQANT11 = positif(somme(i=2..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTANT1 * TERPQ1 / TETONEQUO1)
+         + (1 - positif(somme(i=2..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * IQUOTOTANT1 ;
+ZIPQ15 = positif(somme(i=2..4:TEGLiM)+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+          * arr(IQUOTOT5 * TERPQ1M / TETONEQUOM1)
+         + (1 - positif(somme(i=2..4:TEGLiM)+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * IQUOTOT7 ;
+pour z=1,2:
+ZIPQ2z = positif(somme(i=3,4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTz * TERPQ2 / TETONEQUO1)
+         + (1 - positif(somme(i=3,4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTz-ZIPQ1z) ;
+ZIPQANT21 = positif(somme(i=3,4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTANT1 * TERPQ2 / TETONEQUO1)
+         + (1 - positif(somme(i=3,4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTANT1 -ZIPQANT11);
+ZIPQ25 = positif(somme(i=3,4:TEGLiM)+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+          * arr(IQUOTOT5 * TERPQ2M / TETONEQUOM1)
+         + (1 - positif(somme(i=3,4:TEGLiM)+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * (IQUOTOT7 -ZIPQ15);
+pour z=1,2:
+ZIPQ3z = positif(TEGL4+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTz * TERPQ3 / TETONEQUO1)
+         + (1 - positif(TEGL4+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTz -somme(x=1,2:ZIPQxz));
+ZIPQANT31 = positif(TEGL4+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTANT1 * TERPQ3 / TETONEQUO1)
+         + (1 - positif(TEGL4+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTANT1 -somme(x=1,2:ZIPQANTx1));
+ZIPQ35 = positif(TEGL4M+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+          * arr(IQUOTOT5 * TERPQ3M / TETONEQUOM1)
+         + (1 - positif(TEGL4M+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * (IQUOTOT7 -somme(x=1,2:ZIPQx5));
+pour z=1,2:
+ZIPQ4z = positif(TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTz * TERPQ4 / TETONEQUO1)
+         + (1 - positif(TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTz -somme(x=1..3:ZIPQxz));
+ZIPQANT41 = positif(TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTANT1 * TERPQ4 / TETONEQUO1)
+         + (1 - positif(TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTANT1 -somme(x=1..3:ZIPQANTx1));
+ZIPQ45 = positif(TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+          * arr(IQUOTOT5 * TERPQ4M / TETONEQUOM1)
+         + (1 - positif(TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * (IQUOTOT7 -somme(x=1..3:ZIPQx5));
+regle 50341:
+application : bareme , iliad , batch  ;
+ZIPQ1TOT= somme(i=1..4 : ZIPQi1);
+ZIPQ2TOT= somme(i=1..4 : ZIPQi2);
+ZIPQ5TOT= somme(i=1..4 : ZIPQi5);
+ZIPQANT1TOT= somme(i=1..4 : ZIPQANTi1);
+regle 5034:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQFVz = positif(somme(i=C,1..4:TEGLFi)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTz*TERPQFV/TETONEQUO1)
+         + (1 - positif(somme(i=C,1..4:TEGLFi)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT);
+ZIPQFANTV1 = positif(somme(i=C,1..4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTANT1*TERPQFV/TETONEQUO1)
+         + (1 - positif(somme(i=C,1..4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT) ;
+ZIPQFV5 = positif(somme(i=C,1..4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+		* arr(IQUOTOT5*TERPQFVM/TETONEQUOM1)
+         + (1 - positif(somme(i=C,1..4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT);
+pour z=1,2:
+ZIPQFCz = positif(somme(i=1..4:TEGLFi)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTz*TERPQFC/TETONEQUO1)
+         + (1 - positif(somme(i=1..4:TEGLFi)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-ZIPQFVz);
+ZIPQFANTC1 = positif(somme(i=1..4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTANT1*TERPQFC/TETONEQUO1)
+         + (1 - positif(somme(i=1..4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANTV1) ;
+ZIPQFC5 = positif(somme(i=1..4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+		* arr(IQUOTOT5*TERPQFCM/TETONEQUOM1)
+         + (1 - positif(somme(i=C,1..4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-ZIPQFV5);
+pour z=1,2:
+ZIPQF1z = positif(somme(i=2,3,4:TEGLFi)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTz*TERPQF1/TETONEQUO1)
+         + (1 - positif(somme(i=2..4:TEGLFiM)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C:ZIPQFxz));
+ZIPQFANT11 = positif(somme(i=2..4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTANT1*TERPQF1/TETONEQUO1)
+         + (1 - positif(somme(i=2..4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C:ZIPQFANTx1)) ;
+ZIPQF15 = positif(somme(i=2,3,4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+		* arr(IQUOTOT5*TERPQF1M/TETONEQUOM1)
+         + (1 - positif(somme(i=2..4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C:ZIPQFx5));
+pour z=1,2:
+ZIPQF2z = positif(somme(i=3,4:TEGLFi)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTz*TERPQF2/TETONEQUO1)
+         + (1 - positif(somme(i=3,4:TEGLFi)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C,1:ZIPQFxz));
+ZIPQFANT21 = positif(somme(i=3,4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTANT1*TERPQF2/TETONEQUO1)
+         + (1 - positif(somme(i=3,4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C,1:ZIPQFANTx1)) ;
+ZIPQF25 = positif(somme(i=3,4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+		* arr(IQUOTOT5*TERPQF2M/TETONEQUOM1)
+         + (1 - positif(somme(i=3,4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C,1:ZIPQFx5));
+pour z=1,2:
+ZIPQF3z = positif(TEGLF4+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTz*TERPQF3/TETONEQUO1)
+         + (1 - positif(TEGLF4+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C,1,2:ZIPQFxz));
+ZIPQFANT31 = positif(TEGLF4 +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTANT1*TERPQF3/TETONEQUO1)
+         + (1 - positif(TEGLF4 +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C,1,2:ZIPQFANTx1)) ;
+ZIPQF35 = positif(TEGLF4M +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+		* arr(IQUOTOT5*TERPQF3M/TETONEQUOM1)
+         + (1 - positif(TEGLF4M +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C,1,2:ZIPQFx5));
+pour z=1,2:
+ZIPQF4z = positif(TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTz*TERPQF4/TETONEQUO1)
+         + (1 - positif(TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C,1..3:ZIPQFxz));
+ZIPQFANT41 = positif(TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTANT1*TERPQF4/TETONEQUO1)
+         + (1 - positif(TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C,1..3:ZIPQFANTx1)) ;
+ZIPQF45 = positif(TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+		* arr(IQUOTOT5*TERPQF4M/TETONEQUOM1)
+         + (1 - positif(TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C,1..3:ZIPQFx5));
+ZIPQF1TOT= somme(i=V,C,1..4 : ZIPQFi1);
+ZIPQF2TOT= somme(i=V,C,1..4 : ZIPQFi2);
+ZIPQF5TOT= somme(i=V,C,1..4 : ZIPQFi5);
+ZIPQFANT1TOT= somme(i=V,C,1..4 : ZIPQFANTi1);
+regle 50396:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQPALIMVz = positif(somme(i=C,1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPALIMV/TETONEQUO1)
+         + (1 - positif(somme(i=C,1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT);
+ZIPQPALIMANTV1 = positif(somme(i=C,1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT ) * arr(IQUOTOTANT1*TERPQPALIMV/TETONEQUO1)
+         + (1 - positif(somme(i=C,1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT
+        );
+ZIPQPALIMV5 = positif(somme(i=C,1..4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPALIMVM/TETONEQUOM1)
+         + (1 - positif(somme(i=C,1..4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT );
+pour z=1,2:
+ZIPQPALIMCz = positif(somme(i=1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPALIMC/TETONEQUO1)
+         + (1 - positif(somme(i=1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMVz);
+ZIPQPALIMANTC1 = positif(somme(i=1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT ) * arr(IQUOTOTANT1*TERPQPALIMC/TETONEQUO1)
+         + (1 - positif(somme(i=1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANTV1
+        );
+ZIPQPALIMC5 = positif(somme(i=1..4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPALIMCM/TETONEQUOM1)
+         + (1 - positif(somme(i=1..4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIMV5 );
+pour z=1,2:
+ZIPQPALIM1z = positif(somme(i=2..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPALIM1/TETONEQUO1)
+         + (1 - positif(somme(i=2..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C:ZIPQPALIMiz));
+ZIPQPALIMANT11 = positif(somme(i=2..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT ) * arr(IQUOTOTANT1*TERPQPALIM1/TETONEQUO1)
+         + (1 - positif(somme(i=2..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM15 = positif(somme(i=2..4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPALIM1M/TETONEQUOM1)
+         + (1 - positif(somme(i=2..4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C:ZIPQPALIMi5));
+pour z=1,2:
+ZIPQPALIM2z = positif(somme(i=3,4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPALIM2/TETONEQUO1)
+         + (1 - positif(somme(i=3,4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C,1:ZIPQPALIMiz));
+ZIPQPALIMANT21 = positif(somme(i=3,4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT ) * arr(IQUOTOTANT1*TERPQPALIM2/TETONEQUO1)
+         + (1 - positif(somme(i=3,4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C,1:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM25 = positif(somme(i=3,4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPALIM2M/TETONEQUOM1)
+         + (1 - positif(somme(i=3,4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C,1:ZIPQPALIMi5));
+pour z=1,2:
+ZIPQPALIM3z = positif(TEGLPALIM4+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPALIM3/TETONEQUO1)
+         + (1 - positif(TEGLPALIM4+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C,1..2:ZIPQPALIMiz));
+ZIPQPALIMANT31 = positif(TEGLPALIM4+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT ) * arr(IQUOTOTANT1*TERPQPALIM3/TETONEQUO1)
+         + (1 - positif(TEGLPALIM4+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C,1..2:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM35 = positif(TEGLPALIM4M+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPALIM3M/TETONEQUOM1)
+         + (1 - positif(TEGLPALIM4M+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C,1..2:ZIPQPALIMi5));
+pour z=1,2:
+ZIPQPALIM4z = positif(TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPALIM4/TETONEQUO1)
+         + (1 - positif(TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C,1..3:ZIPQPALIMiz));
+ZIPQPALIMANT41 = positif(TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT ) * arr(IQUOTOTANT1*TERPQPALIM4/TETONEQUO1)
+         + (1 - positif(TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C,1..3:ZIPQPALIMANTi1)
+        );
+ZIPQPALIM45 = positif(TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPALIM4M/TETONEQUOM1)
+         + (1 - positif(TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-somme(i=V,C,1..3:ZIPQPALIMi5));
+ZIPQPALIM1TOT= somme(i=V,C,1..4 : ZIPQPALIMi1);
+ZIPQPALIM2TOT= somme(i=V,C,1..4 : ZIPQPALIMi2);
+ZIPQPALIM5TOT= somme(i=V,C,1..4 : ZIPQPALIMi5);
+ZIPQPALIMANT1TOT= somme(i=V,C,1..4 : ZIPQPALIMANTi1);
+regle 50397:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMDCz = positif(TEGLRCMFU+TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQRCMDC/TETONEQUO1)
+         + (1 - positif(TEGLRCMFU+TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT);
+ZIPQRCMDCANT1 = positif(TEGLRCMFU+TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTANT1*TERPQRCMDC/TETONEQUO1)
+         + (1 - positif(TEGLRCMFU+TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT
+        );
+ZIPQRCMDC5 = positif(TEGLRCMFUM+TEGLRCMCHM+TEGLRCMTSM+TEGLRCMGOM+TEGLRCMTRM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQRCMDCM/TETONEQUOM1)
+         + (1 - positif(TEGLRCMFUM+TEGLRCMCHM+TEGLRCMTSM+TEGLRCMGOM+TEGLRCMTRM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT);
+regle 50398:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMFUz = positif(TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQRCMFU/TETONEQUO1)
+         + (1 - positif(TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz);
+ZIPQRCMFUANT1 = positif(TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTANT1*TERPQRCMFU/TETONEQUO1)
+         + (1 - positif(TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1
+        );
+ZIPQRCMFU5 = positif(TEGLRCMCHM+TEGLRCMTSM+TEGLRCMGOM+TEGLRCMTRM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQRCMFUM/TETONEQUOM1)
+         + (1 - positif(TEGLRCMCHM+TEGLRCMTSM+TEGLRCMGOM+TEGLRCMTRM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5);
+regle 50401:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMCHz =    positif(TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQRCMCH/TETONEQUO1)
+         + (1 - positif(TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz);
+ZIPQRCMCHANT1 = positif(TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTANT1*TERPQRCMCH/TETONEQUO1)
+         + (1 - positif(TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1
+        );
+ZIPQRCMCH5 =    positif(TEGLRCMTSM+TEGLRCMGOM+TEGLRCMTRM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQRCMCHM/TETONEQUOM1)
+         + (1 - positif(TEGLRCMTSM+TEGLRCMGOM+TEGLRCMTRM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5);
+regle 50402:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMTRz = positif(TEGLRCMGO+TEGLRCMTS+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQRCMTR/TETONEQUO1)
+         + (1 - positif(TEGLRCMGO+TEGLRCMTS+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz-ZIPQRCMCHz);
+ZIPQRCMTRANT1 = positif(TEGLRCMGO+TEGLRCMTS+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTANT1*TERPQRCMTR/TETONEQUO1)
+         + (1 - positif(TEGLRCMGO+TEGLRCMTS+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1-ZIPQRCMCHANT1
+        );
+ZIPQRCMTR5 = positif(TEGLRCMGOM+TEGLRCMTSM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQRCMTRM/TETONEQUOM1)
+         + (1 - positif(TEGLRCMGOM+TEGLRCMTSM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5-ZIPQRCMCH5);
+regle 50403:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMGOz = positif(TEGLRCMTS+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQRCMGO/TETONEQUO1)
+         + (1 - positif(TEGLRCMTS+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz-ZIPQRCMCHz-ZIPQRCMTRz);
+ZIPQRCMGOANT1 = positif(TEGLRCMTS+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTANT1*TERPQRCMGO/TETONEQUO1)
+         + (1 - positif(TEGLRCMTS+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1-ZIPQRCMCHANT1-ZIPQRCMTRANT1
+        );
+ZIPQRCMGO5 = positif(TEGLRCMTSM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQRCMGOM/TETONEQUOM1)
+         + (1 - positif(TEGLRCMTSM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5-ZIPQRCMCH5-ZIPQRCMTR5);
+regle 50404:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMTSz = positif(TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQRCMTS/TETONEQUO1)
+         + (1 - positif(TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz-ZIPQRCMCHz-ZIPQRCMTRz-ZIPQRCMGOz);
+ZIPQRCMTSANT1 = positif(TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTANT1*TERPQRCMTS/TETONEQUO1)
+         + (1 - positif(TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1-ZIPQRCMCHANT1-ZIPQRCMTRANT1-ZIPQRCMGOANT1
+        );
+ZIPQRCMTS5 = positif(TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQRCMTSM/TETONEQUOM1)
+         + (1 - positif(TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLRVOTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5-ZIPQRCMCH5-ZIPQRCMTR5-ZIPQRCMGO5);
+ZIPQRCM1TOT= ZIPQRCMDC1 + ZIPQRCMFU1 + ZIPQRCMCH1 + ZIPQRCMTS1 + ZIPQRCMGO1 + ZIPQRCMTR1;
+ZIPQRCM2TOT= ZIPQRCMDC2 + ZIPQRCMFU2 + ZIPQRCMCH2 + ZIPQRCMTS2 + ZIPQRCMGO2 + ZIPQRCMTR2;
+ZIPQRCM5TOT= ZIPQRCMDC5 + ZIPQRCMFU5 + ZIPQRCMCH5 + ZIPQRCMTS5 + ZIPQRCMGO5 + ZIPQRCMTR5;
+ZIPQRCMANT1TOT= ZIPQRCMDCANT1 + ZIPQRCMFUANT1 + ZIPQRCMCHANT1 + ZIPQRCMTSANT1 + ZIPQRCMGOANT1 + ZIPQRCMTRANT1;
+regle 50410:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQPRRVz = positif(somme(i=C,1..4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPRRV/TETONEQUO1)
+         + (1 - positif(somme(i=C,1..4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT);
+ZIPQPRRANTV1 = positif(somme(i=C,1..4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTANT1*TERPQPRRV/TETONEQUO1)
+         + (1 - positif(somme(i=C,1..4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT
+        );
+ZIPQPRRV5 = positif(somme(i=C,1..4 : TEGLPRRiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLRVOTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPRRVM/TETONEQUOM1)
+         + (1 - positif(somme(i=C,1..4 : TEGLPRRiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLRVOTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT);
+pour z=1,2:
+ZIPQPRRCz = positif(somme(i=1..4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPRRC/TETONEQUO1)
+         + (1 - positif(somme(i=1..4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz);
+ZIPQPRRANTC1 = positif(somme(i=1..4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTANT1*TERPQPRRC/TETONEQUO1)
+         + (1 - positif(somme(i=1..4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1
+        );
+ZIPQPRRC5 = positif(somme(i=1..4 : TEGLPRRiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLRVOTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPRRCM/TETONEQUOM1)
+         + (1 - positif(somme(i=1..4 : TEGLPRRiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLRVOTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5);
+pour z=1,2:
+ZIPQPRR1z = positif(somme(i=2..4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPRR1/TETONEQUO1)
+         + (1 - positif(somme(i=2..4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz-ZIPQPRRCz);
+ZIPQPRRANT11 = positif(somme(i=2..4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTANT1*TERPQPRR1/TETONEQUO1)
+         + (1 - positif(somme(i=2..4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1-ZIPQPRRANTC1
+        );
+ZIPQPRR15 = positif(somme(i=2..4 : TEGLPRRiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLRVOTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPRR1M/TETONEQUOM1)
+         + (1 - positif(somme(i=2..4 : TEGLPRRiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLRVOTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5-ZIPQPRRC5);
+pour z=1,2:
+ZIPQPRR2z = positif(somme(i=3,4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPRR2/TETONEQUO1)
+         + (1 - positif(somme(i=3,4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz-ZIPQPRRCz-ZIPQPRR1z);
+ZIPQPRRANT21 = positif(somme(i=3,4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTANT1*TERPQPRR2/TETONEQUO1)
+         + (1 - positif(somme(i=3,4 : TEGLPRRi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMANT1TOT-ZIPQPRRANTV1-ZIPQPRRANTC1-ZIPQPRRANT11
+        );
+ZIPQPRR25 = positif(somme(i=3,4 : TEGLPRRiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLRVOTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPRR2M/TETONEQUOM1)
+         + (1 - positif(somme(i=3,4 : TEGLPRRiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLRVOTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQF5TOT-ZIPQPALIM5TOT-ZIPQRCM5TOT-ZIPQPRRV5-ZIPQPRRC5-ZIPQPRR15);
+pour z=1,2:
+ZIPQPRR3z = positif(TEGLPRR4+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPRR3/TETONEQUO1)
+         + (1 - positif(TEGLPRR4+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMzTOT-ZIPQPRRVz-ZIPQPRRCz-ZIPQPRR1z-ZIPQPRR2z);
+ZIPQPRRANT31 = positif(TEGLPRR4+TEGLTSTOT+TEGLTSREMPTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTANT1*TERPQPRR3/TETONEQUO1)
+         + (1 - pos
\ No newline at end of file
diff --git a/sources2013m_3_8/chap-52.m b/sources2013m_3_8/chap-52.m
new file mode 100644
index 0000000000000000000000000000000000000000..722fc5d1a2404ecd9e447fadad8b6eb5895867f1
--- /dev/null
+++ b/sources2013m_3_8/chap-52.m
@@ -0,0 +1,102 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 507:
+application : bareme , iliad , batch  ;
+
+TAUX1 =   (TX_BAR1  - TX_BAR0 ) ;
+TAUX2 =   (TX_BAR2  - TX_BAR1 ) ;
+TAUX3 =   (TX_BAR3  - TX_BAR2 ) ;
+TAUX4 =   (TX_BAR4  - TX_BAR3 ) ;
+TAUX5 =   (TX_BAR5  - TX_BAR4 ) ;
+
+regle 50700:
+application : bareme , iliad , batch  ;
+pour x=0,5;y=1,2;z=1,2:
+DSxyz = max( QFxyz - LIM_BAR1  , 0 ) * (TAUX1   / 100)
+      + max( QFxyz - LIM_BAR2  , 0 ) * (TAUX2   / 100)
+      + max( QFxyz - LIM_BAR3  , 0 ) * (TAUX3   / 100)
+      + max( QFxyz - LIM_BAR4  , 0 ) * (TAUX4   / 100)
+      + max( QFxyz - LIM_BAR5  , 0 ) * (TAUX5   / 100);
+
+regle 50702:
+application : iliad , batch  ;
+WTXMARJ = (RB51) / ( NB1 * null(PLAFQF) + NB2 *null(1-PLAFQF)) ;
+TXMARJ = max ( positif (WTXMARJ - LIM_BAR1) * TX_BAR1 , 
+                max ( positif (WTXMARJ - LIM_BAR2) * TX_BAR2 , 
+                      max ( positif (WTXMARJ - LIM_BAR3) * TX_BAR3 , 
+                             max ( positif (WTXMARJ - LIM_BAR4) * TX_BAR4 ,
+                                   max ( positif (WTXMARJ - LIM_BAR5) * TX_BAR5 , 0
+				       )
+                                 )
+                          )
+                     )
+              )
+
+          * ( 1 - positif ( 
+                              present ( NRBASE ) 
+                            + present ( NRINET ) 
+                            + present ( IPTEFP ) 
+                            + present ( IPTEFN ) 
+                            + present ( PRODOM ) 
+                            + present ( PROGUY ) 
+                          )              
+             )
+          * (1- null(2 - V_REGCO))
+  * positif(IDRS2+IPQ1);
+
+
+
+regle 5071:
+application : bareme , iliad , batch  ;
+pour y=1,2:
+DS0y4 = max( QF0y4 - LIM_BAR1  , 0 ) * (TAUX1 /100)
+      + max( QF0y4 - LIM_BAR2  , 0 ) * (TAUX2 /100)
+      + max( QF0y4 - LIM_BAR3  , 0 ) * (TAUX3 /100)
+      + max( QF0y4 - LIM_BAR4  , 0 ) * (TAUX4 /100)
+      + max( QF0y4 - LIM_BAR5  , 0 ) * (TAUX5 /100);
+pour x=0,5:
+DSx15 = max( QFx15 - LIM_BAR1  , 0 ) * (TAUX1 /100)
+      + max( QFx15 - LIM_BAR2  , 0 ) * (TAUX2 /100)
+      + max( QFx15 - LIM_BAR3  , 0 ) * (TAUX3 /100)
+      + max( QFx15 - LIM_BAR4  , 0 ) * (TAUX4 /100)
+      + max( QFx15 - LIM_BAR5  , 0 ) * (TAUX5 /100);
+pour y=1,2:
+DS0y6 = max( QF0y6 - LIM_BAR1  , 0 ) * (TAUX1 /100)
+      + max( QF0y6 - LIM_BAR2  , 0 ) * (TAUX2 /100)
+      + max( QF0y6 - LIM_BAR3  , 0 ) * (TAUX3 /100)
+      + max( QF0y6 - LIM_BAR4  , 0 ) * (TAUX4 /100)
+      + max( QF0y6 - LIM_BAR5  , 0 ) * (TAUX5 /100);
+regle 508:
+application : bareme , iliad , batch  ;
+NB1 = NBPT ;
+NB2 = 1 + BOOL_0AM + BOOL_0AZ * V_0AV ;
+regle 5080:
+application : bareme , iliad , batch  ;
+pour y=1,2;z=1,2:
+QF0yz = arr(RB0z) / NBy;
+pour y=1,2;z=1,2:
+QF5yz = arr(RB5z) / NBy;
+pour y=1,2:
+QF0y4 = arr(RB04) / NBy;
+pour x=0,5:
+QFx15 = arr(RBx5) / NB1;
+pour y=1,2:
+QF0y6 = arr(RB06) / NBy;
diff --git a/sources2013m_3_8/chap-6.m b/sources2013m_3_8/chap-6.m
new file mode 100644
index 0000000000000000000000000000000000000000..cef0a06c8471fe817141c218aa8e26d546b49cbb
--- /dev/null
+++ b/sources2013m_3_8/chap-6.m
@@ -0,0 +1,123 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #  
+                                                                        
+  ####   #    #    ##    #####      #     #####  #####   ######          #####
+ #    #  #    #   #  #   #    #     #       #    #    #  #              #
+ #       ######  #    #  #    #     #       #    #    #  #####          # ####
+ #       #    #  ######  #####      #       #    #####   #              #     #
+ #    #  #    #  #    #  #          #       #    #   #   #              #     #
+  ####   #    #  #    #  #          #       #    #    #  ######   ####   #####
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                      CALCUL DU NOMBRE DE PARTS
+ #
+ #
+ #
+ #
+ #
+regle 601:
+application :  batch , iliad   ;
+NBPT =  ((NSM + NPA + NIN + NSP + NBQAR)* 10)/10 ;
+
+NBPOTE = V_0CF + V_0CH + V_0CR + V_0DJ + V_0DN + V_0DP ;
+
+regle 6010:
+application : bareme ;
+NBPT =  (1 - present(V_9VV)) * ((NSM + NPA + NIN + NSP + NBQAR)* 10)/10 
+      + V_9VV ;
+regle 6011:
+application : bareme , iliad , batch  ;
+NSM = 1 + BOOL_0AM + V_0AV * min(BOOL_0AZ + EAC + V_0CH + V_0CR, 1 ) +
+    ( V_0AV * BOOL_0AZ * V_0AW * (1 - V_0AP) * (1 - V_0AF) / 2 ) ;
+regle 6012:
+application : bareme , iliad , batch  ;
+NPA = PAC - 0.5 * min( PAC, 2 ) ;
+regle 60121:
+application : bareme , iliad , batch  ;
+PAC = EAC + V_0CR;
+regle 60122:
+application : bareme ;
+EAC = ((V_0CF + V_0DJ) * (1 - present(V_9XX)))  + V_9XX ;
+regle 601220:
+application : batch , iliad ;
+EAC = (V_0CF + V_0DJ) ;
+regle 6013:
+application : bareme , iliad , batch  ;
+NIN =  ( V_0AP + V_0AF + V_0CG + V_0CR ) * 0.5;
+regle 6014:
+application : bareme , iliad , batch  ;
+NSP = NPS + NSA + NCC;
+regle 60141:
+application : bareme , iliad , batch  ;
+NCC = V_0AS * BOOL_0AM * (1 - positif(V_0AP + V_0AF)) * 0.5 *
+      positif(max( AGV + 1 - LIM_AGE_LET_S, AGC + 1 - LIM_AGE_LET_S ));
+regle 60142:
+application : bareme , iliad , batch  ;
+NPS = positif(PAC) * V_0BT * positif( 2 - NSM ) * 0.5 ;
+regle 60143:
+application : bareme , iliad , batch  ;
+NSA = (1 - positif(PAC+V_0CH))
+          * min( V_0AE * positif(positif(ZONEANTEK + V_BT0AE )*(1-positif(V_0AL)) +positif(V_0AL)
+                 * ( 1 - positif(positif(V_0AW)*positif_ou_nul(AGV-LIM_AGE_LET_S)))) * (1 - positif(V_0DN))  * (1 - positif(V_0AN))
+               + V_0AG
+               + (V_0AL * (1-positif(V_0AE)) * (1 - positif (V_0AN))) * ( 1 - positif(positif(V_0AW)*positif_ou_nul(AGV-LIM_AGE_LET_S)))
+               + V_0AW * positif(max(AGV + 1 - LIM_AGE_LET_S, AGC + 1 - LIM_AGE_LET_S))
+      , 1 )
+      * ( 1 - V_0AP ) * positif(2 - NSM) * 0.5;
+ 
+NSA2 = min( (1 - positif(PAC+V_0CH))
+              *
+       (null(SFUTILE - 14)
+        + null (SFUTILE - 7)
+        + null (SFUTILE - 15) * (1-positif(NIN))    
+       )
+        +
+           null(SFUTILE -7) * BOOL_0AZ * V_0AV
+       , 1)
+* 0.5;
+regle 60200:
+application : bareme , iliad , batch  ;
+
+
+BOOL_0BT = positif ( V_0BT+0 ) * positif ( V_0AC + V_0AD + 0);
+
+NBQAR1 =   null (V_0CF+V_0CR+V_0DJ+0)    * (  1/2 * (V_0CH-2) * positif (V_0CH- 2) 
+                                + 1/4 * positif (V_0CH+0) 
+                                + 1/4 * positif(V_0CH-1)
+                               );
+NBQAR2 =   null(V_0CF+V_0CR+V_0DJ-1) * (1/2 * (V_0CH -1 ) * positif(V_0CH -1) 
+                               + 1/4 * positif (V_0CH+0) 
+                           );
+NBQAR3 =   positif_ou_nul(V_0CF+V_0CR+V_0DJ-2) * 1/2 * V_0CH ;
+
+NBQAR4 =  1/4 * V_0CI ;
+
+NBQART =  BOOL_0BT * null(V_0CF+V_0CR+V_0DJ+0) 
+                     * (1/4 * null (V_0CH  -1) + 1/2 *  positif_ou_nul (V_0CH  - 2)) ;
+
+NBQAR = NBQAR1 + NBQAR2 + NBQAR3 + NBQAR4 + NBQART;
diff --git a/sources2013m_3_8/chap-7.m b/sources2013m_3_8/chap-7.m
new file mode 100644
index 0000000000000000000000000000000000000000..be9f4fb956237c0067f4d04d05c0efcc909eb83e
--- /dev/null
+++ b/sources2013m_3_8/chap-7.m
@@ -0,0 +1,365 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+ #
+                                                                        #######
+  ####   #    #    ##    #####      #     #####  #####   ######         #    #
+ #    #  #    #   #  #   #    #     #       #    #    #  #                  #
+ #       ######  #    #  #    #     #       #    #    #  #####             #
+ #       #    #  ######  #####      #       #    #####   #                #
+ #    #  #    #  #    #  #          #       #    #   #   #                #
+  ####   #    #  #    #  #          #       #    #    #  ###### #######   #
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                           REVENU IMPOSABLE
+ #
+ #                           ET       CHARGES
+ #
+ #
+ #
+ #
+regle 700:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+RB5z = max( 0, RB0z + TETONEQUO1) ;
+RB55 = max( 0, RB05 + TETONEQUOM1) ;
+regle 701:
+application : bareme , iliad , batch  ;
+RB01 = (RI1 * (1 - positif((VARIPTEFP * positif(ART1731BIS) + IPTEFP * (1 - ART1731BIS)) 
+			   + (VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS)) +INDTEFF))) 
+	+ ((VARIPTEFP * positif(ART1731BIS) + (IPTEFP- (PVIMPOS + COD3WI)*positif(IPTEFP+IPTEFN) * null(1-FLAG_EXIT)+ max(0,PVSURSI-IPTEFN)*positif(IPTEFN+IPTEFP) * null(2 -FLAG_EXIT)) * (1 - ART1731BIS)) + RFROBOR * V_INDTEO * present(IPTEFP))
+	+TEFFREVTOT*(1-positif((VARIPTEFP * positif(ART1731BIS) + (IPTEFP- (PVIMPOS + COD3WI)*positif(IPTEFP+IPTEFN) * null(1-FLAG_EXIT)+ max(0,PVSURSI-IPTEFN)*positif(IPTEFN+IPTEFP) * null(2 -FLAG_EXIT))* (1 - ART1731BIS))))*INDTEFF;
+RB02 = (RI2 * (1 - positif((VARIPTEFP * positif(ART1731BIS) + IPTEFP * (1 - ART1731BIS)) 
+			+ (VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS))+ INDTEFF))) 
+	+ positif((VARIPTEFP * positif(ART1731BIS) + IPTEFP * (1 - ART1731BIS)))*((VARIPTEFP * positif(ART1731BIS) 
+                                                   + (IPTEFP- (PVIMPOS + COD3WI)*positif(IPTEFP+IPTEFN) * null(1-FLAG_EXIT)+ max(0,PVSURSI-IPTEFN)*positif(IPTEFN+IPTEFP) * null(2 -FLAG_EXIT)) * (1 - ART1731BIS)) +RFROBOR * V_INDTEO * present(IPTEFP)+ DPAE) 
+	+ TEFFREVTOT*(1-positif((VARIPTEFP * positif(ART1731BIS) + (IPTEFP- (PVIMPOS + COD3WI)*positif(IPTEFP+IPTEFN) * null(1-FLAG_EXIT)+ max(0,PVSURSI-IPTEFN)*positif(IPTEFN+IPTEFP) * null(2 -FLAG_EXIT)) * (1 - ART1731BIS))))*INDTEFF;
+RB04 = IND_TDR;
+regle 70105:
+application : iliad , bareme , batch ;
+RB05 = (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS));
+RB06 = RE168+TAX1649;
+regle 7011:
+application : iliad , batch  ;
+TONEQUO1 = somme(x=1..4:RPQx) + somme(x=V,C,1..4: RPQFx) + somme(x=V,C,1..4: RPQPALIMx) + somme(x=1,2 : RPQRFx)
+	 + RPQRCMDC + RPQRCMFU  + RPQRCMCH  + RPQRCMTR  + RPQRCMTS + RPQRCMGO +somme(x=V,C,1..4 : RPQPRRx) + RPQRVO  + RPQRVO5  + RPQRVO6  + RPQRVO7
+	 + somme(x=V,C,1..4 : RPQTSx) + somme(x=V,C,1..4 : RPQTSREMPx);
+TONEQUOM1 = somme(x=1..4:RPQxM) + somme(x=V,C,1..4: RPQFxM) + somme(x=V,C,1..4: RPQPALIMxM) + somme(x=1,2 : RPQRFxM)
+	 + RPQRCMDCM + RPQRCMFUM  + RPQRCMCHM  + RPQRCMTRM  + RPQRCMTSM + RPQRCMGOM +somme(x=V,C,1..4 : RPQPRRxM) + RPQRVOM  + RPQRVO5M  + RPQRVO6M  + RPQRVO7M
+	 + somme(x=V,C,1..4 : RPQTSxM) + somme(x=V,C,1..4 : RPQTSREMPxM);
+TONEQUO1T = somme(x=1..4:TRPQx) + somme(x=V,C,1..4: TRPQFx) + somme(x=V,C,1..4: TRPQPALIMx) + somme(x=1,2 : TRPQRFx)
+	 + TRPQRCMDC + TRPQRCMFU  + TRPQRCMCH  + TRPQRCMTR  + TRPQRCMTS + TRPQRCMGO +somme(x=V,C,1..4 : TRPQPRRx) + TRPQRVO  + TRPQRVO5  + TRPQRVO6  + TRPQRVO7
+	 + somme(x=V,C,1..4 : TRPQTSx) + somme(x=V,C,1..4 : TRPQTSREMPx);
+TONEQUOM1T = somme(x=1..4:TRPQxM) + somme(x=V,C,1..4: TRPQFxM) + somme(x=V,C,1..4: TRPQPALIMxM) + somme(x=1,2 : TRPQRFxM)
+	 + TRPQRCMDCM + TRPQRCMFUM  + TRPQRCMCHM  + TRPQRCMTRM  + TRPQRCMTSM + TRPQRCMGOM +somme(x=V,C,1..4 : TRPQPRRxM) + TRPQRVOM  + TRPQRVO5M  + TRPQRVO6M  + TRPQRVO7M
+	 + somme(x=V,C,1..4 : TRPQTSxM) + somme(x=V,C,1..4 : TRPQTSREMPxM);
+TETONEQUO1 = TONEQUO1 * (1-positif(INDTEFF)) + TONEQUO1T * positif(INDTEFF);
+TETONEQUOM1 = TONEQUOM1 * (1-positif(INDTEFF)) + TONEQUOM1T * positif(INDTEFF);
+regle 70111  :
+application : iliad , batch  ;
+REV1 = GLN1 * (1-INDTEFF) + TGLN1 * INDTEFF;
+REV2 = GLN2 * (1-INDTEFF) + TGLN2 * INDTEFF;   
+REV3 = GLN3 * (1-INDTEFF) + TGLN3 * INDTEFF;
+REV4V = GLN4DAJV;
+REV4C = GLN4DBJC;
+REV4VC = GLN4DAJV + GLN4DBJC;
+REV4 = 4BAQTOTNET+GLN4V + GLN4C;
+REV4TVC = GLN4V + GLN4C;
+REVF = somme(i=V,C,1..4: PENFi);
+REVALIM = somme (i=V,C,1..4: PENALIMi) * (1-INDTEFF) + somme (i=V,C,1..4: TPENALIMi) * INDTEFF;
+REVALIMQHT = somme (i=V,C,1..4: PENALIMi);
+REVTS = somme (i=V,C,1..4:TSNN2TSi) * (1-INDTEFF) + somme (i=V,C,1..4:TTSNN2TSi) * INDTEFF;
+REVTSQHT = somme (i=V,C,1..4:TSNN2TSi);
+REVTSREMP = somme (i=V,C,1..4:TSNN2REMPi)*(1-INDTEFF)+ somme (i=V,C,1..4:TTSNN2REMPi)*INDTEFF;
+REVTSREMPQHT = somme (i=V,C,1..4:TSNN2REMPi);
+REVPRR = somme (i=V,C,1..4:PRR2i)*(1-INDTEFF)+somme (i=V,C,1..4:TPRR2i)*INDTEFF;
+REVPRRQHT = somme (i=V,C,1..4:PRR2i);
+REVRVO = T2RV;
+REVRCM = 2RCM + 3RCM + 4RCM + 5RCM + 6RCM + 7RCM;
+REVRF = 2REVF+3REVF;
+REVQTOT = somme(i=1..4 : REVi) + REVALIM + REVF+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF;
+REVQTOTQHT = somme(i=1..3 : GLNi) + REV4 + REVALIMQHT + REVF+REVTSQHT+REVTSREMPQHT+REVPRRQHT+REVRVO+REVRCM+REVRF;
+regle 70112  :
+application : iliad , batch  ;
+GL1 = positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * GLN1 / TOTALQUOHT) +
+     (1 - positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * TONEQUOHT;
+GL2 = positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * GLN2 / TOTALQUOHT) +
+     (1 - positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GL1);
+GL3 = positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * GLN3 / TOTALQUOHT) +
+     (1 - positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT - GL1 - GL2);
+GL4V = arr(TONEQUOHT * REV4V / TOTALQUOHT);
+GL4C = arr(TONEQUOHT * REV4C / TOTALQUOHT);
+GL4VC = arr(TONEQUOHT * REV4VC / TOTALQUOHT);
+GL4TVC = arr(TONEQUOHT * REV4TVC / TOTALQUOHT);
+GL4 = positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * REV4 / TOTALQUOHT) +
+     (1 - positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT - GL1 - GL2 - GL3);
+GLTOT = somme(i=1..4:GLi);
+GLFV = positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENFV / TOTALQUOHT) +
+      (1 - positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT);
+GLFC = positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENFC / TOTALQUOHT) +
+      (1 - positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFV);
+GLF1 = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENF1 / TOTALQUOHT) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFV-GLFC);
+GLF2 = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENF2 / TOTALQUOHT) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFV-GLFC-GLF1);
+GLF3 = positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENF3 / TOTALQUOHT) +
+      (1 - positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFV-GLFC-GLF1-GLF2);
+GLF4 = positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENF4 / TOTALQUOHT) +
+      (1 - positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFV-GLFC-GLF1-GLF2-GLF3);
+GLFTOT = somme(i=V,C,1..4:GLFi);
+GLPALIMV = positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENALIMV / TOTALQUOHT) +
+      (1 - positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT);
+GLPALIMC = positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENALIMC / TOTALQUOHT) +
+      (1 - positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMV);
+GLPALIM1 = positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENALIM1 / TOTALQUOHT) +
+      (1 - positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMV-GLPALIMC);
+GLPALIM2 = positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENALIM2 / TOTALQUOHT) +
+      (1 - positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMV-GLPALIMC-GLPALIM1);
+GLPALIM3 = positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENALIM3 / TOTALQUOHT) +
+      (1 - positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMV-GLPALIMC-GLPALIM1-GLPALIM2);
+GLPALIM4 = positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENALIM4 / TOTALQUOHT) +
+      (1 - positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMV-GLPALIMC-GLPALIM1-GLPALIM2-GLPALIM3);
+GLPALIMTOT = somme(i=V,C,1..4:GLPALIMi);
+GLTSV = positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2TSV / TOTALQUOHT) +
+      (1 - positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT);
+GLTSC = positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2TSC / TOTALQUOHT) +
+      (1 - positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSV);
+GLTS1 = positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2TS1 / TOTALQUOHT) +
+      (1 - positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC);
+GLTS2 = positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2TS2 / TOTALQUOHT) +
+      (1 - positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC-GLTS1);
+GLTS3 = positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2TS3 / TOTALQUOHT) +
+      (1 - positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC-GLTS1-GLTS2);
+GLTS4 = positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2TS4 / TOTALQUOHT) +
+      (1 - positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC-GLTS1-GLTS2-GLTS3);
+GLTSTOT = somme(i=V,C,1..4:GLTSi);
+GLTSREMPV = positif(TSNN2REMPC+TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2REMPV / TOTALQUOHT) +
+      (1 - positif(TSNN2REMPC+TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLTSTOT-GLPALIMTOT);
+GLTSREMPC = positif(TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2REMPC / TOTALQUOHT) +
+      (1 - positif(TSNN2REMP1+TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV);
+GLTSREMP1 = positif(TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2REMP1 / TOTALQUOHT) +
+      (1 - positif(TSNN2REMP2+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC);
+GLTSREMP2 = positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2REMP2 / TOTALQUOHT) +
+      (1 - positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC-GLTSREMP1);
+GLTSREMP3 = positif(TSNN2REMP4+TSNN2REMPC+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2REMP3 / TOTALQUOHT) +
+      (1 - positif(TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC-GLTSREMP1-GLTSREMP2);
+GLTSREMP4 = positif(REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2REMP4 / TOTALQUOHT) +
+      (1 - positif(REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC-GLTSREMP1-GLTSREMP2-GLTSREMP3);
+GLTSREMPTOT = somme(i=V,C,1..4:GLTSREMPi);
+GLPRRV = positif(PRR2C+PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR2V / TOTALQUOHT) +
+      (1 - positif(PRR2C+PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT);
+GLPRRC = positif(PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR2C / TOTALQUOHT) +
+      (1 - positif(PRR21+PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV);
+GLPRR1 = positif(PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR21 / TOTALQUOHT) +
+      (1 - positif(PRR22+PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC);
+GLPRR2 = positif(PRR23+PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR22 / TOTALQUOHT) +
+      (1 - positif(PRR23+PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1);
+GLPRR3 = positif(PRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR23 / TOTALQUOHT) +
+      (1 - positif(PRR24+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2);
+GLPRR4 = positif(REVRVO+REVRCM+REVRF)*arr(TONEQUO * PRR24 / TOTALQUO) +
+      (1 - positif(REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2-GLPRR3);
+GLPRRTOT = somme(i=V,C,1..4:GLPRRi);
+GLRVO = positif(2RV2 + 2RV3 + 2RV4 +REVRCM+REVRF)*arr(TONEQUOHT * 2RV1 / TOTALQUOHT) +
+      (1 - positif(2RV2 + 2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT);
+GLRVO5 = positif(2RV3 + 2RV4+REVRCM+REVRF)*arr(TONEQUOHT * 2RV2 / TOTALQUOHT) +
+      (1 - positif(2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVO);
+GLRVO6 = positif(2RV4+REVRCM+REVRF)*arr(TONEQUOHT * 2RV3 / TOTALQUOHT) +
+      (1 - positif(2RV4+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLPRRTOT-GLTSREMPTOT-GLRVO-GLRVO5);
+GLRVO7 = positif(REVRCM+REVRF)*arr(TONEQUOHT * 2RV4 / TOTALQUOHT) +
+      (1 - positif(REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVO-GLRVO5-GLRVO6);
+GLRVOTOT = GLRVO + GLRVO5 + GLRVO6 + GLRVO7;
+GLRCMDC  = positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUOHT * 2RCM / TOTALQUOHT) +
+      (1 - positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT);
+GLRCMFU  = positif(4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUOHT * 3RCM / TOTALQUOHT) +
+      (1 - positif(4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC);
+GLRCMCH  = positif(5RCM+6RCM+7RCM+REVRF)*arr(TONEQUOHT * 4RCM / TOTALQUOHT) +
+      (1 - positif(5RCM+6RCM+7RCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU);
+GLRCMTS  = positif(6RCM+7RCM+REVRF)*arr(TONEQUOHT * 5RCM / TOTALQUOHT) +
+      (1 - positif(6RCM+7RCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU - GLRCMCH);
+GLRCMGO = positif(7RCM+REVRF)*arr(TONEQUOHT * 6RCM / TOTALQUOHT) +
+      (1 - positif(7RCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU - GLRCMCH - GLRCMTS);
+GLRCMTR  = positif(REVRF)*arr(TONEQUOHT * 7RCM / TOTALQUOHT) +
+      (1 - positif(REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU - GLRCMCH - GLRCMGO - GLRCMTS);
+GLRCMTOT = GLRCMDC + GLRCMFU + GLRCMCH + GLRCMGO + GLRCMTR + GLRCMTS;
+GLRF1  = positif(3REVF)*arr(TONEQUOHT * 2REVF / TOTALQUOHT) +
+      (1 - positif(3REVF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT-GLRCMTOT);
+GLRF2  = (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT-GLRCMTOT-GLRF1);
+GLRFTOT = GLRF1 + GLRF2;
+regle 701121  :
+application : iliad , batch  ;
+TGL1 = positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TGLN1 / TOTALQUO) +
+     (1 - positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * TONEQUO;
+TGL2 = positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TGLN2 / TOTALQUO) +
+     (1 - positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGL1);
+TGL3 = positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TGLN3 / TOTALQUO) +
+     (1 - positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO - TGL1 - TGL2);
+TGL4V = arr(TONEQUO * REV4V / TOTALQUO);
+TGL4C = arr(TONEQUO * REV4C / TOTALQUO);
+TGL4VC = arr(TONEQUO * REV4VC / TOTALQUO);
+TGL4TVC = arr(TONEQUO * REV4TVC / TOTALQUO);
+TGL4 = positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * REV4 / TOTALQUO) +
+     (1 - positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO - TGL1 - TGL2 - TGL3);
+TGLTOT = somme(i=1..4:TGLi);
+TGLFV = positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENFV / TOTALQUO) +
+      (1 - positif(PENFC+PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT);
+TGLFC = positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENFC / TOTALQUO) +
+      (1 - positif(PENF1+PENF2+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFV);
+TGLF1 = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF1 / TOTALQUO) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFV-TGLFC);
+TGLF2 = positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF2 / TOTALQUO) +
+      (1 - positif(PENF2+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFV-TGLFC-TGLF1);
+TGLF3 = positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF3 / TOTALQUO) +
+      (1 - positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFV-TGLFC-TGLF1-TGLF2);
+TGLF4 = positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF4 / TOTALQUO) +
+      (1 - positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFV-TGLFC-TGLF1-TGLF2-TGLF3);
+TGLFTOT = somme(i=V,C,1..4:TGLFi);
+TGLPALIMV = positif(TPENALIMC+TPENALIM1+TPENALIM2+TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPENALIMV / TOTALQUO) +
+      (1 - positif(TPENALIMC+TPENALIM1+TPENALIM2+TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT);
+TGLPALIMC = positif(TPENALIM1+TPENALIM2+TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPENALIMC / TOTALQUO) +
+      (1 - positif(TPENALIM1+TPENALIM2+TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMV);
+TGLPALIM1 = positif(TPENALIM2+TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPENALIM1 / TOTALQUO) +
+      (1 - positif(TPENALIM2+TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMV-TGLPALIMC);
+TGLPALIM2 = positif(TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPENALIM2 / TOTALQUO) +
+      (1 - positif(TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMV-TGLPALIMC-TGLPALIM1);
+TGLPALIM3 = positif(TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPENALIM3 / TOTALQUO) +
+      (1 - positif(TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMV-TGLPALIMC-TGLPALIM1-TGLPALIM2);
+TGLPALIM4 = positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPENALIM4 / TOTALQUO) +
+      (1 - positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMV-TGLPALIMC-TGLPALIM1-TGLPALIM2-TGLPALIM3);
+TGLPALIMTOT = somme(i=V,C,1..4:TGLPALIMi);
+TGLTSV = positif(TTSNN2TSC+TTSNN2TS1+TTSNN2TS2+TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2TSV / TOTALQUO) +
+      (1 - positif(TTSNN2TSC+TTSNN2TS1+TTSNN2TS2+TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT);
+TGLTSC = positif(TTSNN2TS1+TTSNN2TS2+TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2TSC / TOTALQUO) +
+      (1 - positif(TTSNN2TS1+TTSNN2TS2+TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSV);
+TGLTS1 = positif(TTSNN2TS2+TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2TS1 / TOTALQUO) +
+      (1 - positif(TTSNN2TS2+TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-TGLTSV-TGLTSC);
+TGLTS2 = positif(TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2TS2 / TOTALQUO) +
+      (1 - positif(TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSV-TGLTSC-TGLTS1);
+TGLTS3 = positif(TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2TS3 / TOTALQUO) +
+      (1 - positif(TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSV-TGLTSC-TGLTS1-TGLTS2);
+TGLTS4 = positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2TS4 / TOTALQUO) +
+      (1 - positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSV-TGLTSC-TGLTS1-TGLTS2-TGLTS3);
+TGLTSTOT = somme(i=V,C,1..4:TGLTSi);
+TGLTSREMPV = positif(TTSNN2REMPC+TTSNN2REMP1+TTSNN2REMP2+TTSNN2REMP3+TTSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2REMPV / TOTALQUO) +
+      (1 - positif(TTSNN2REMPC+TTSNN2REMP1+TTSNN2REMP2+TTSNN2REMP3+TTSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLTSTOT-GLPALIMTOT);
+TGLTSREMPC = positif(TTSNN2REMP1+TTSNN2REMP2+TTSNN2REMP3+TTSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2REMPC / TOTALQUO) +
+      (1 - positif(TTSNN2REMP1+TTSNN2REMP2+TTSNN2REMP3+TTSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPV);
+TGLTSREMP1 = positif(TTSNN2REMP2+TTSNN2REMP3+TTSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2REMP1 / TOTALQUO) +
+      (1 - positif(TTSNN2REMP2+TTSNN2REMP3+TTSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPV-TGLTSREMPC);
+TGLTSREMP2 = positif(TTSNN2REMP3+TTSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2REMP2 / TOTALQUO) +
+      (1 - positif(TTSNN2REMP3+TTSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPV-TGLTSREMPC-TGLTSREMP1);
+TGLTSREMP3 = positif(TTSNN2REMP4+TTSNN2REMPC+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2REMP3 / TOTALQUO) +
+      (1 - positif(TTSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPV-TGLTSREMPC-TGLTSREMP1-TGLTSREMP2);
+TGLTSREMP4 = positif(REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2REMP4 / TOTALQUO) +
+      (1 - positif(REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPV-TGLTSREMPC-TGLTSREMP1-TGLTSREMP2-TGLTSREMP3);
+TGLTSREMPTOT = somme(i=V,C,1..4:TGLTSREMPi);
+TGLPRRV = positif(TPRR2C+TPRR21+TPRR22+TPRR23+TPRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPRR2V / TOTALQUO) +
+      (1 - positif(TPRR2C+TPRR21+TPRR22+TPRR23+TPRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT);
+TGLPRRC = positif(TPRR21+TPRR22+TPRR23+TPRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPRR2C / TOTALQUO) +
+      (1 - positif(TPRR21+TPRR22+TPRR23+TPRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT-TGLPRRV);
+TGLPRR1 = positif(TPRR22+TPRR23+TPRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPRR21 / TOTALQUO) +
+      (1 - positif(TPRR22+TPRR23+TPRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT-TGLPRRV-TGLPRRC);
+TGLPRR2 = positif(TPRR23+TPRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPRR22 / TOTALQUO) +
+      (1 - positif(TPRR23+TPRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT-TGLPRRV-TGLPRRC-TGLPRR1);
+TGLPRR3 = positif(TPRR24+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPRR23 / TOTALQUO) +
+      (1 - positif(TPRR24+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT-TGLPRRV-TGLPRRC-TGLPRR1-TGLPRR2);
+TGLPRR4 = positif(REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPRR24 / TOTALQUO) +
+      (1 - positif(REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2-GLPRR3);
+TGLPRRTOT = somme(i=V,C,1..4:TGLPRRi);
+TGLRVO = positif(2RV2 + 2RV3 + 2RV4 +REVRCM+REVRF)*arr(TONEQUO * 2RV1 / TOTALQUO) +
+      (1 - positif(2RV2 + 2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT-TGLPRRTOT);
+TGLRVO5 = positif(2RV3 + 2RV4+REVRCM+REVRF)*arr(TONEQUO * 2RV2 / TOTALQUO) +
+      (1 - positif(2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT-TGLPRRTOT-TGLRVO);
+TGLRVO6 = positif(2RV4+REVRCM+REVRF)*arr(TONEQUO * 2RV3 / TOTALQUO) +
+      (1 - positif(2RV4+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLPRRTOT-TGLTSREMPTOT-TGLRVO-TGLRVO5);
+TGLRVO7 = positif(REVRCM+REVRF)*arr(TONEQUO * 2RV4 / TOTALQUO) +
+      (1 - positif(REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT-TGLPRRTOT-TGLRVO-TGLRVO5-TGLRVO6);
+TGLRVOTOT = TGLRVO + TGLRVO5 + TGLRVO6 + TGLRVO7;
+TGLRCMDC  = positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUO * 2RCM / TOTALQUO) +
+      (1 - positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT-TGLPRRTOT-TGLRVOTOT);
+TGLRCMFU  = positif(4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUO * 3RCM / TOTALQUO) +
+      (1 - positif(4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT-TGLPRRTOT-TGLRVOTOT - TGLRCMDC);
+TGLRCMCH  = positif(5RCM+6RCM+7RCM+REVRF)*arr(TONEQUO * 4RCM / TOTALQUO) +
+      (1 - positif(5RCM+6RCM+7RCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT-TGLPRRTOT-TGLRVOTOT - TGLRCMDC - TGLRCMFU);
+TGLRCMTS  = positif(6RCM+7RCM+REVRF)*arr(TONEQUO * 5RCM / TOTALQUO) +
+      (1 - positif(6RCM+7RCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT-TGLPRRTOT-TGLRVOTOT - TGLRCMDC - TGLRCMFU - TGLRCMCH);
+TGLRCMGO = positif(7RCM+REVRF)*arr(TONEQUO * 6RCM / TOTALQUO) +
+      (1 - positif(7RCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT-TGLPRRTOT-TGLRVOTOT - TGLRCMDC - TGLRCMFU - TGLRCMCH - TGLRCMTS);
+TGLRCMTR  = positif(REVRF)*arr(TONEQUO * 7RCM / TOTALQUO) +
+      (1 - positif(REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT-TGLPRRTOT-TGLRVOTOT - TGLRCMDC - TGLRCMFU - TGLRCMCH - TGLRCMGO - TGLRCMTS);
+TGLRCMTOT = TGLRCMDC + TGLRCMFU + TGLRCMCH + TGLRCMGO + TGLRCMTR + TGLRCMTS;
+TGLRF1  = positif(3REVF)*arr(TONEQUO * 2REVF / TOTALQUO) +
+      (1 - positif(3REVF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT-TGLPRRTOT-TGLRVOTOT-TGLRCMTOT);
+TGLRF2  = (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSTOT-TGLTSREMPTOT-TGLPRRTOT-TGLRVOTOT-TGLRCMTOT-TGLRF1);
+TGLRFTOT = TGLRF1 + TGLRF2;
+TEGL1 = GL1 * (1-positif(INDTEFF)) + TGL1 * positif(INDTEFF);
+TEGL2 = GL2 * (1-positif(INDTEFF)) + TGL2 * positif(INDTEFF);
+TEGL3 = GL3 * (1-positif(INDTEFF)) + TGL3 * positif(INDTEFF);
+TEGL4V = GL4V * (1-positif(INDTEFF)) + TGL4V * positif(INDTEFF);
+TEGL4C = GL4C * (1-positif(INDTEFF)) + TGL4C * positif(INDTEFF);
+TEGL4VC = GL4VC * (1-positif(INDTEFF)) + TGL4VC * positif(INDTEFF);
+TEGL4TVC = GL4TVC * (1-positif(INDTEFF)) + TGL4TVC * positif(INDTEFF);
+TEGL4 = GL4 * (1-positif(INDTEFF)) + TGL4 * positif(INDTEFF);
+TEGLFV = GLFV * (1-positif(INDTEFF)) + TGLFV * positif(INDTEFF);
+TEGLFC = GLFC * (1-positif(INDTEFF)) + TGLFC * positif(INDTEFF);
+TEGLF1 = GLF1 * (1-positif(INDTEFF)) + TGLF1 * positif(INDTEFF);
+TEGLF2 = GLF2 * (1-positif(INDTEFF)) + TGLF2 * positif(INDTEFF);
+TEGLF3 = GLF3 * (1-positif(INDTEFF)) + TGLF3 * positif(INDTEFF);
+TEGLF4 = GLF4 * (1-positif(INDTEFF)) + TGLF4 * positif(INDTEFF);
+TEGLPALIMV = GLPALIMV * (1-positif(INDTEFF)) + TGLPALIMV * positif(INDTEFF);
+TEGLPALIMC = GLPALIMC * (1-positif(INDTEFF)) + TGLPALIMC * positif(INDTEFF);
+TEGLPALIM1 = GLPALIM1 * (1-positif(INDTEFF)) + TGLPALIM1 * positif(INDTEFF);
+TEGLPALIM2 = GLPALIM2 * (1-positif(INDTEFF)) + TGLPALIM2 * positif(INDTEFF);
+TEGLPALIM3 = GLPALIM3 * (1-positif(INDTEFF)) + TGLPALIM3 * positif(INDTEFF);
+TEGLPALIM4 = GLPALIM4 * (1-positif(INDTEFF)) + TGLPALIM4 * positif(INDTEFF);
+TEGLTSV = GLTSV * (1-positif(INDTEFF)) + TGLTSV * positif(INDTEFF);
+TEGLTSC = GLTSC * (1-positif(INDTEFF)) + TGLTSC * positif(INDTEFF);
+TEGLTS1 = GLTS1 * (1-positif(INDTEFF)) + TGLTS1 * positif(INDTEFF);
+TEGLTS2 = GLTS2 * (1-positif(INDTEFF)) + TGLTS2 * positif(INDTEFF);
+TEGLTS3 = GLTS3 * (1-positif(INDTEFF)) + TGLTS3 * positif(INDTEFF);
+TEGLTS4 = GLTS4 * (1-positif(INDTEFF)) + TGLTS4 * positif(INDTEFF);
+TEGLTSREMPV = GLTSREMPV * (1-positif(INDTEFF)) + TGLTSREMPV * positif(INDTEFF);
+TEGLTSREMPC = GLTSREMPC * (1-positif(INDTEFF)) + TGLTSREMPC * positif(INDTEFF);
+TEGLTSREMP1 = GLTSREMP1 * (1-positif(INDTEFF)) + TGLTSREMP1 * positif(INDTEFF);
+TEGLTSREMP2 = GLTSREMP2 * (1-positif(INDTEFF)) + TGLTSREMP2 * positif(INDTEFF);
+TEGLTSREMP3 = GLTSREMP3 * (1-positif(INDTEFF)) + TGLTSREMP3 * positif(INDTEFF);
+TEGLTSREMP4 = GLTSREMP4 * (1-positif(INDTEFF)) + TGLTSREMP4 * positif(INDTEFF);
+TEGLPRRV = GLPRRV * (1-positif(INDTEFF)) + TGLPRRV * positif(INDTEFF);
+TEGLPRRC = GLPRRC * (1-positif(INDTEFF)) + TGLPRRC * positif(INDTEFF);
+TEGLPRR1 = GLPRR1 * (1-positif(INDTEFF)) + TGLPRR1 * positif(INDTEFF);
+TEGLPRR2 = GLPRR2 * (1-positif(INDTEFF)) + TGLPRR2 * positif(INDTEFF);
+TEGLPRR3 = GLPRR3 * (1-positif(INDTEFF)) + TGLPRR3 * positif(INDTEFF);
+TEGLPRR4 = GLPRR4 * (1-positif(INDTEFF)) + TGLPRR4 * positif(INDTEFF);
+TEGLRVO = GLRVO * (1-positif(INDTEFF)) + TGLRVO * positif(INDTEFF);
+TEGLRVO5 = GLRVO5 * (1-positif(INDTEFF)) + TGLRVO5 * positif(INDTEFF);
+TEGLRVO6 = GLRVO6 * (1-positif(INDTEFF)) + TGLRVO6 * positif(INDTEFF);
+TEGLRVO7 = GLRVO7 * (1-positif(INDTEFF)) + TGLRVO7 * positif(INDTEFF);
+TEGLRCMDC = GLRCMDC * (1-positif(INDTEFF)) + TGLRCMDC * positif(INDTEFF);
+TEGLRCMFU = GLRCMFU * (1-positif(INDTEFF)) + TGLRCMFU * positif(INDTEFF);
+TEGLRCMCH = GLRCMCH * (1-positif(INDTEFF)) + TGLRCMCH * positif(INDTEFF);
+TEGLRCMGO = GLRCMGO * (1-positif(INDTEFF)) + TGLRCMGO * positif(INDTEFF);
+TEGLRCMTR = GLRCMTR * (1-positif(INDTEFF)) + TGLRCMTR * positif(INDTEFF);
+TEGLRCMTS = GLRCMTS * (1-positif(INDTEFF)) + TGLRCMTS * positif(INDTEFF);
+TEGLRF1 = 
\ No newline at end of file
diff --git a/sources2013m_3_8/chap-81.m b/sources2013m_3_8/chap-81.m
new file mode 100644
index 0000000000000000000000000000000000000000..260b87244a822b61dc7aebfd2cfc5b7a87562958
--- /dev/null
+++ b/sources2013m_3_8/chap-81.m
@@ -0,0 +1,290 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #                         REVENUS CATEGORIELS NETS
+ #
+ #
+regle 811:
+application : iliad , batch  ;
+pour i=V,C,1,2,3,4:
+TSBNi = TSHALLOi + ALLOi;
+TSHALLOP=TSHALLO1+TSHALLO2+TSHALLO3+TSHALLO4;
+ALLOP=ALLO1+ALLO2+ALLO3+ALLO4;
+TSBNP=TSHALLOP+ALLOP;
+
+pour i=V,C:
+2TSNi = CARTSi + REMPLAi;
+pour i=1,2,3,4:
+2TSNi = CARTSPi + REMPLAPi;
+EXTSV = TSBNV + BPCOSAV + GLDGRATV + 2TSNV;
+EXTSC = TSBNC + BPCOSAC + GLDGRATC + 2TSNC;
+GATASAV = BPCOSAV + GLDGRATV ;
+GATASAC = BPCOSAC + GLDGRATC ;
+
+pour i=1..4:
+EXTSi = TSBNi + 2TSNi;
+TSBV = EXTSV + somme(x=1..3:GLDxV)+CODDAJ+CODEAJ ;
+TSBC = EXTSC + somme(x=1..3:GLDxC)+CODDBJ+CODEBJ ;
+pour i=1,2,3,4:
+TSBi = EXTSi;
+TSBP = somme(i=1..4:TSBi);
+pour i=V,C,1..4:
+PRBi = PRBRi + PALIi;
+
+pour i=V,C:
+2PRBi = CARPEi + PENSALi ;
+pour i=1..4:
+2PRBi = CARPEPi + PENSALPi ;
+pour i=V,C:
+EXPRi = PRBi + 2PRBi + PEBFi;
+pour i=1..4:
+EXPRi = PRBi + 2PRBi + PEBFi;
+pour i = V,C,1..4:
+EXSPBi = EXTSi + EXPRi ;
+regle 812:
+application : iliad , batch  ;
+pour i = V,C,1..4:
+TPS10i = arr (TSBi * TX_DEDFORFTS /100);
+pour i = V,C,P:
+PTPS10i = arr (PERPSALi * TX_DEDFORFTS /100);
+pour i = V,C,1..4:
+DFNi =  min( PLAF_DEDFORFTS , TPS10i );
+pour i = V,C,P:
+PDFNi =  min( PLAF_DEDFORFTS , PTPS10i );
+regle 813:
+application : iliad , batch  ;
+pour i = V,C,1..4:
+DEDMINi = positif(DETSi)* MIN_DEMEMPLOI + (1- positif(DETSi))* MIN_DEDSFORFTS;
+pour i = V,C:
+PDEDMINi = DEDMINi;
+PDEDMINP = positif(DETS1)* MIN_DEMEMPLOI 
+	   + (1- positif(DETS1))* MIN_DEDSFORFTS;
+
+pour i = V,C,1..4:
+10MINSi= max( min(TSBi,DEDMINi) , DFNi );
+pour i = V,C,P:
+P10MINSi= max( min(PERPSALi,PDEDMINi) , PDFNi );
+pour i = V,C,1..4:
+IND_10MIN_0i = positif(DEDMINi - DFNi ) * positif (TSBi );
+pour i = V,C,P:
+PIND_10MIN_0i = positif(PDEDMINi - PDFNi ) * positif (PERPSALi );
+pour i = V,C,1..4 :
+IND_MINi = 1 - positif( IND_10MIN_0i );
+pour i = V,C,P :
+PIND_MINi = 1 - positif( PIND_10MIN_0i );
+regle 814:
+application : iliad , batch  ;
+
+pour i = V,C,1..4:
+FRDi = (1-positif(ART1731BIS)) * FRNi * positif(FRNi - 10MINSi) + positif(ART1731BIS) * (min(FRDi_A,TSBi+PRNNi)*positif(min(FRDi_A,TSBi+PRNNi) - 10MINSi)*(1-FLAGPREM+0)*(1-positif(CMAJ))
+                                                                                       + min(FRNi,TSBi+PRNNi)*positif(min(FRNi,TSBi+PRNNi) - 10MINSi)*(FLAGPREM+0)*(1-positif(CMAJ))
+                                                                                       + min(FRNi,TSBi+PRNNi)*positif(min(FRNi,TSBi+PRNNi) - 10MINSi)*positif(CMAJ)) ; 
+FRDP = FRD1 +FRD2 +FRD3 +FRD4 ;
+PFRDV = (FRDV+COD1AE) * positif ((FRDV+COD1AE) - P10MINSV);
+PFRDC = (FRDC+COD1BE) * positif ((FRDC+COD1BE) - P10MINSC);
+PFRDP = (FRD1+COD1CE) * positif ((FRD1+COD1CE) - P10MINSP);
+pour i = V,C,1..4:
+IND_10i = positif_ou_nul( 10MINSi - FRDi) ;
+PIND_10V = positif_ou_nul( P10MINSV - (FRDV+COD1AE)) ;
+PIND_10C = positif_ou_nul( P10MINSC - (FRDC+COD1BE)) ;
+PIND_10P = positif_ou_nul( P10MINSP - (FRD1+COD1CE)) ;
+pour i = V,C,1..4:
+FPTi = max(FRDi, 10MINSi);
+pour i = V,C,1..4:
+INDEFTSi = positif_ou_nul(TSBi - FRDi);
+pour i = V,C,P:
+PFPTi = max(PFRDi, P10MINSi);
+pour i = V,C,1..4:
+D10Mi = IND_MINi *DFNi 
+        + (1 - IND_MINi)* 10MINSi ; 
+pour i = V,C,P:
+PD10Mi = PIND_MINi *PDFNi 
+        + (1 - PIND_MINi)* P10MINSi ; 
+pour i = V,C,1..4:
+REP10i =  IND_10i * D10Mi + (1-IND_10i) * FPTi ;
+pour i = V,C,P:
+PREP10i =  PIND_10i * PD10Mi + (1-PIND_10i) * PFPTi ;
+ABTS1AJ=arr(REP10V*(TSHALLOV)/TSBV);
+ABTS1AP=arr(REP10V*(ALLOV)/TSBV);
+ABTS3VJ=arr(REP10V*(BPCOSAV)/TSBV);
+ABTS1TT=arr(REP10V*(GLDGRATV)/TSBV);
+ABTSRAJ=arr(REP10V*(CARTSV)/TSBV);
+ABTSRAP=arr(REP10V*(REMPLAV)/TSBV);
+ABTSV = ABTS1AJ + ABTS1AP +ABTS3VJ +ABTS1TT +ABTSRAJ+ABTSRAP;
+ABDOMDAJ = positif(CODDAJ) * 
+	   (positif(CODEAJ+GLD1V+GLD2V+GLD3V) * arr(REP10V*CODDAJ/TSBV)
+	   + (1-positif(CODEAJ+GLD1V+GLD2V+GLD3V)) * max(0,REP10V-ABTSV))+0;
+ABDOMEAJ = positif(CODEAJ) * 
+	   (positif(GLD1V+GLD2V+GLD3V) * arr(REP10V*CODEAJ/TSBV)
+	   + (1-positif(GLD1V+GLD2V+GLD3V)) * max(0,REP10V-ABTSV-ABDOMDAJ))+0;
+ABGL1V = positif(GLD1V) * 
+	   (positif(GLD2V+GLD3V) * arr(REP10V*GLD1V/TSBV)
+	   + (1-positif(GLD2V+GLD3V)) * max(0,REP10V-ABTSV-ABDOMDAJ-ABDOMEAJ))+0;
+ABGL2V = positif(GLD2V) * 
+	   (positif(GLD3V) * arr(REP10V*GLD2V/TSBV)
+	   + (1-positif(GLD3V)) * max(0,REP10V-ABTSV-ABDOMDAJ-ABDOMEAJ-ABGL1V))+0;
+ABGL3V = max(0,REP10V-ABTSV-ABDOMDAJ-ABDOMEAJ-ABGL1V-ABGL2V)+0;
+ABTS1BJ=arr(REP10C*(TSHALLOC)/TSBC);
+ABTS1BP=arr(REP10C*(ALLOC)/TSBC);
+ABTS3VK=arr(REP10C*(BPCOSAC)/TSBC);
+ABTS1UT=arr(REP10C*(GLDGRATC)/TSBC);
+ABTSRBJ=arr(REP10C*(CARTSC)/TSBC);
+ABTSRBP=arr(REP10C*(REMPLAC)/TSBC);
+ABTSC = ABTS1BJ + ABTS1BP +ABTS3VK +ABTS1UT +ABTSRBJ+ABTSRBP;
+ABDOMDBJ = positif(CODDBJ) * 
+	   (positif(CODEBJ+GLD1C+GLD2C+GLD3C) * arr(REP10C*CODDBJ/TSBC)
+	   + (1-positif(CODEBJ+GLD1C+GLD2C+GLD3C)) * max(0,REP10C-ABTSC))+0;
+ABDOMEBJ = positif(CODEBJ) * 
+	   (positif(GLD1C+GLD2C+GLD3C) * arr(REP10C*CODEBJ/TSBC)
+	   + (1-positif(GLD1C+GLD2C+GLD3C)) * max(0,REP10C-ABTSC-ABDOMDBJ))+0;
+ABGL1C = positif(GLD1C) * 
+	   (positif(GLD2C+GLD3C) * arr(REP10C*GLD1C/TSBC)
+	   + (1-positif(GLD2C+GLD3C)) * max(0,REP10C-ABTSC-ABDOMDBJ-ABDOMEBJ))+0;
+ABGL2C = positif(GLD2C) * 
+	   (positif(GLD3C) * arr(REP10C*GLD2C/TSBC)
+	   + (1-positif(GLD3C)) * max(0,REP10C-ABTSC-ABDOMDBJ-ABDOMEBJ-ABGL1C))+0;
+ABGL3C = max(0,REP10C-ABTSC-ABDOMDBJ-ABDOMEBJ-ABGL1C-ABGL2C)+0;
+ABTS1CJ=arr(REP101*(TSHALLO1)/TSB1);
+ABTS1CP=arr(REP101*(ALLO1)/TSB1);
+ABTSRCJ=arr(REP101*(CARTSP1)/TSB1);
+ABTSRCP=max(0,REP101 - (ABTS1CJ  +ABTS1CP +ABTSRCJ))+0;
+ABTS1DJ=arr(REP102*(TSHALLO2)/TSB2);
+ABTS1DP=arr(REP102*(ALLO2)/TSB2);
+ABTSRDJ=arr(REP102*(CARTSP2)/TSB2);
+ABTSRDP=max(0,REP102 - (ABTS1DJ  +ABTS1DP +ABTSRDJ))+0;
+ABTS1EJ=arr(REP103*(TSHALLO3)/TSB3);
+ABTS1EP=arr(REP103*(ALLO3)/TSB3);
+ABTSREJ=arr(REP103*(CARTSP3)/TSB3);
+ABTSREP=max(0,REP103 - (ABTS1EJ  +ABTS1EP +ABTSREJ)) +0;
+ABTS1FJ=arr(REP104*(TSHALLO4)/TSB4);
+ABTS1FP=arr(REP104*(ALLO4)/TSB4);
+ABTSRFJ=arr(REP104*(CARTSP4)/TSB4);
+ABTSRFP=max(0,REP104 - (ABTS1FJ  +ABTS1FP +ABTSRFJ))+0;
+regle 817:
+application : iliad , batch  ;
+ABGLTV = somme (x=1..3: ABGLxV)+ABDOMDAJ + ABDOMEAJ;
+ABGLTC = somme (x=1..3: ABGLxC)+ABDOMDBJ + ABDOMEBJ;
+regle 8178888:
+application : iliad , batch  ;
+TSN1AJ = TSHALLOV - ABTS1AJ;
+TSN1AP = ALLOV - ABTS1AP;
+TSN3VJ = BPCOSAV - ABTS3VJ;
+TSN1TT = GLDGRATV - ABTS1TT;
+TSNRAJ = (CARTSV - ABTSRAJ) ;
+TSNRAP = (REMPLAV - ABTSRAP);
+TSNDAJ = (CODDAJ - ABDOMDAJ);
+TSNEAJ = (CODEAJ - ABDOMEAJ);
+TSNGL1V = (GLD1V - ABGL1V);
+TSNGL2V = (GLD2V - ABGL2V);
+TSNGL3V = (GLD3V - ABGL3V);
+TSN1BJ = TSHALLOC - ABTS1BJ;
+TSN1BP = ALLOC - ABTS1BP;
+TSN3VK = BPCOSAC - ABTS3VK;
+TSN1UT = GLDGRATC - ABTS1UT;
+TSNRBJ = (CARTSC - ABTSRBJ);
+TSNRBP = (REMPLAC - ABTSRBP);
+TSNDBJ = (CODDBJ - ABDOMDBJ);
+TSNEBJ = (CODEBJ - ABDOMEBJ);
+TSNGL1C = (GLD1C - ABGL1C);
+TSNGL2C = (GLD2C - ABGL2C);
+TSNGL3C = (GLD3C - ABGL3C);
+TSN1CJ = TSHALLO1 - ABTS1CJ;
+TSN1CP = ALLO1 - ABTS1CP;
+TSNRCJ = (CARTSP1 - ABTSRCJ);
+TSNRCP = (REMPLAP1 - ABTSRCP);
+TSN1DJ = TSHALLO2 - ABTS1DJ;
+TSN1DP = ALLO2 - ABTS1DP;
+TSNRDJ = (CARTSP2 - ABTSRDJ);
+TSNRDP = (REMPLAP2 - ABTSRDP);
+TSN1EJ = TSHALLO3 - ABTS1EJ;
+TSN1EP = ALLO3 - ABTS1EP;
+TSNREJ = (CARTSP3 - ABTSREJ);
+TSNREP = (REMPLAP3 - ABTSREP);
+TSN1FJ = TSHALLO4 - ABTS1FJ;
+TSN1FP = ALLO4 - ABTS1FP;
+TSNRFJ = (CARTSP4 - ABTSRFJ);
+TSNRFP = (REMPLAP4 - ABTSRFP);
+regle 818:
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+PLRi = min ( MIN_DEDPR , EXPRi );
+pour i = V,C,1,2,3,4:
+APBi = max( PLRi , (EXPRi*TX_DEDPER/100));
+pour i = V,C,1,2,3,4:
+IND_APBi = positif_ou_nul(PLRi- (EXPRi * TX_DEDPER/100));
+PL_PB = arr(PLAF_DEDPRFOYER -somme (i=V,C,1..4: APBi * IND_APBi));
+regle 819:
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+ABPRi = arr ( (1 - IND_APBi) * 
+ min(APBi,(PL_PB * APBi / somme(x=V,C,1..4:APBx * (1 - IND_APBx))))
+ + IND_APBi * APBi );
+regle 8110:
+application : iliad , batch  ;
+APRV  =  IND_APBV * ABPRV 
+       + (1-IND_APBV)* min ( ABPRV , PL_PB); 
+APRC  =  IND_APBC * ABPRC 
+       + (1-IND_APBC)* min ( ABPRC , PL_PB - (1-IND_APBV)*APRV ); 
+APR1  =  IND_APB1 * ABPR1 
+       + (1-IND_APB1)* min ( ABPR1 , PL_PB - (1-IND_APBV)*APRV 
+			- (1-IND_APBC)*APRC);
+APR2  =  IND_APB2 * ABPR2
+       + (1-IND_APB2)* min ( ABPR2 , PL_PB - (1-IND_APBV)*APRV 
+                       - (1-IND_APBC)*APRC - (1-IND_APB1)*APR1 ); 
+APR3  =  IND_APB3 * ABPR3
+       + (1-IND_APB3)* min ( ABPR3 , PL_PB - (1-IND_APBV)*APRV 
+                       - (1-IND_APBC)*APRC - (1-IND_APB1)*APR1  
+                       - (1-IND_APB2)*APR2 ); 
+APR4  =  IND_APB4 * ABPR4 
+       + (1-IND_APB4)* min ( ABPR4 , PL_PB - (1-IND_APBV)*APRV 
+                       - (1-IND_APBC)*APRC - (1-IND_APB1)*APR1  
+                       - (1-IND_APB2)*APR2 - (1-IND_APB3)*APR3 ); 
+regle 8111:
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+PRNNi = EXPRi - APRi;
+regle 8112:
+application : iliad , batch  ;
+TSNTV =  TSN1AJ+TSN1AP+TSN3VJ+TSN1TT+TSNRAJ+TSNRAP 
+        +TSNDAJ+TSNEAJ+TSNGL1V+TSNGL2V+TSNGL3V ;
+TSNTC = TSN1BJ+TSN1BP+TSN3VK+TSN1UT+TSNRBJ+TSNRBP
+       +TSNDBJ+TSNEBJ+TSNGL1C+TSNGL2C+TSNGL3C ;
+TSNT1 =  TSN1CJ + TSN1CP + TSNRCJ + TSNRCP;
+TSNT2 =  TSN1DJ + TSN1DP + TSNRDJ + TSNRDP;
+TSNT3 =  TSN1EJ+ TSN1EP+ TSNREJ+ TSNREP ;
+TSNT4 =  TSN1FJ+ TSN1FP+ TSNRFJ+ TSNRFP ;
+regle 8113:
+application : iliad , batch  ;
+pour i =V,C,1,2,3,4:
+TSNi = positif (-TSNTi) * min (0 , TSNTi + PRNNi)
+     + positif_ou_nul (TSNTi) * TSNTi;
+pour i =V,C,1,2,3,4:
+PRNi = positif (-TSNTi) * positif (TSNTi + PRNNi) * (TSNTi + PRNNi)
+       + positif_ou_nul (TSNTi) * PRNNi;
+
+FRDVREP =  positif(ART1731BIS) *  max(0,FRNV - FRDV) * null(IND_10V);
+FRDCREP =  positif(ART1731BIS) *  max(0,FRNC - FRDC) * null(IND_10C);
+FRD1REP =  positif(ART1731BIS) *  max(0,(max(0,(FRN1-FRD1)) - PRN1 * (1-positif(FRN1-FRD1)))* null(IND_101)
+                                       +(max(0,(FRN2-FRD2)) - PRN2 * (1-positif(FRN2-FRD2)) )* null(IND_102)
+                                       +(max(0,(FRN3-FRD3)) - PRN3 * (1-positif(FRN3-FRD3)))* null(IND_103)
+                                       +(max(0,(FRN4-FRD4)) - PRN4 * (1-positif(FRN4-FRD4)))* null(IND_104) )
+                                     ;
+FRDREPTOT =   positif(ART1731BIS) *  (FRDVREP + FRDCREP + FRD1REP);
diff --git a/sources2013m_3_8/chap-82.m b/sources2013m_3_8/chap-82.m
new file mode 100644
index 0000000000000000000000000000000000000000..71617fb9fd247ac236b7819e1c8377187c16269a
--- /dev/null
+++ b/sources2013m_3_8/chap-82.m
@@ -0,0 +1,315 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 82000:
+application : iliad , batch  ;
+RCMRABD = arr(RCMABD * 40/100);
+	  
+
+2RCMRABD = arr(REVACT * 40/100);
+
+TRCMRABD = RCMRABD + 2RCMRABD;
+RCMRTNC = arr(RCMTNC * 40/100);
+
+2RCMRTNC = arr(REVPEA * 40/100);
+
+TRCMRTNC = RCMRTNC + 2RCMRTNC;
+RCMRNABD = RCMABD - RCMRABD;
+
+2RCMRNABD = REVACT - 2RCMRABD;
+RCMRNTNC = RCMTNC - RCMRTNC ;
+
+2RCMRNTNC = REVPEA - 2RCMRTNC ;
+REGPRIVM = arr(REGPRIV * MAJREV);
+
+2REGPRIVM = arr(RESTUC * MAJREV);
+TRCMABD = RCMABD + REVACT;
+RCMAB = RCMRNABD + 2RCMRNABD ;
+DRTNC = RCMTNC + REVPEA;
+RTNC = RCMRNTNC + 2RCMRNTNC ;
+RAVC = RCMAV + PROVIE;
+RCMNAB = RCMHAD + DISQUO ;
+RTCAR = RCMHAB + INTERE;
+RCMPRIV = REGPRIV + RESTUC;
+RCMPRIVM = REGPRIVM + 2REGPRIVM ;
+RCMFRTEMP = min(RCMAB + RTNC + RAVC + RCMNAB + RTCAR + RCMPRIVM,RCMFR);
+RCMFRART1731 = (RCMFR*(1-ART1731BIS)+min(RCMFR,max(RCMFR_P,RCMFR1731+0))*ART1731BIS);
+regle 82001:
+application : iliad , batch ;
+FRAN = positif(RCMABD) *
+	(positif(REVACT+RTCAR+RCMNAB) * arr((RCMFR*(1-ART1731BIS)+min(RCMFR,max(RCMFR_P,RCMFR1731+0))*ART1731BIS) * RCMABD / max (1,TRCMABD + RTCAR+RCMNAB))
+	+ (1 - positif(REVACT+RTCAR+RCMNAB)) * (RCMFR*(1-ART1731BIS)+min(RCMFR,max(RCMFR_P,RCMFR1731+0))*ART1731BIS)) ;
+2FRAN = positif(REVACT) * (
+          positif(RTCAR+RCMNAB)* arr((RCMFR*(1-ART1731BIS)+min(RCMFR,max(RCMFR_P+0,RCMFR1731+0))*ART1731BIS) * REVACT/ max (1,TRCMABD + RTCAR+RCMNAB) ) + 
+          (1 - positif(RTCAR+RCMNAB)) * ((RCMFR*(1-ART1731BIS)+min(RCMFR,max(RCMFR_P+0,RCMFR1731+0))*ART1731BIS) - FRAN));
+FRAR = positif(RCMHAB) * (
+      positif(INTERE+RCMNAB) * arr((RCMFR*(1-ART1731BIS)+min(RCMFR,max(RCMFR_P,RCMFR1731+0))*ART1731BIS) * RCMHAB / max (1,TRCMABD + RTCAR+RCMNAB) ) + 
+      (1 - positif(INTERE+RCMNAB)) 
+	   * ((RCMFR*(1-ART1731BIS)+min(RCMFR,max(RCMFR_P,RCMFR1731+0))*ART1731BIS) - FRAN - 2FRAN));
+2FRAR = positif(INTERE) * (
+          positif(RCMNAB)* arr((RCMFR*(1-ART1731BIS)+min(RCMFR,max(RCMFR_P,RCMFR1731+0))*ART1731BIS) * INTERE/ max (1,TRCMABD + RTCAR+RCMNAB) ) + 
+          (1 - positif(RCMNAB)) * ((RCMFR*(1-ART1731BIS)+min(RCMFR,max(RCMFR_P,RCMFR1731+0))*ART1731BIS) -FRAN-2FRAN-FRAR));
+FRAU = positif(RCMHAD) * (
+      positif(DISQUO) * arr((RCMFR*(1-ART1731BIS)+min(RCMFR,max(RCMFR_P,RCMFR1731+0))*ART1731BIS) * RCMHAD / max (1,TRCMABD + RTCAR + RCMNAB) ) +
+      (1 - positif(DISQUO)) * ((RCMFR*(1-ART1731BIS)+min(RCMFR,max(RCMFR_P,RCMFR1731+0))*ART1731BIS) - FRAN - 2FRAN - FRAR - 2FRAR));
+2FRAU = ((RCMFR*(1-ART1731BIS)+min(RCMFR,max(RCMFR_P,RCMFR1731+0))*ART1731BIS) - FRAN - 2FRAN - FRAR - 2FRAR - FRAU ) * positif(DISQUO);
+regle 82002:
+application : iliad , batch ;
+1RAN = (1 - positif(EXFR)) * (RCMRNABD - FRAN)
+	+ positif(EXFR) * 0;
+2RAN = (1 - positif(EXFR)) * (2RCMRNABD - 2FRAN)
+	+ positif(EXFR) * 0;
+TRAN = 1RAN + 2RAN ;
+1RAR = (1 - positif(EXFR)) * (RCMHAB - FRAR)
+	+ positif(EXFR) * 0;
+2RAR = (1 - positif(EXFR)) * (INTERE - 2FRAR) + positif(EXFR) * 0;
+TRAR = 1RAR + 2RAR ;
+1RAU = (1 - positif(EXFR)) * (RCMHAD - FRAU)
+	+ positif(EXFR) * 0;
+2RAU = (1 - positif(EXFR)) * (DISQUO - 2FRAU) + positif(EXFR) * 0;
+TRAU = 1RAU + 2RAU ;
+regle 82003:
+application : iliad , batch ;
+ABRCM2 = min( ABTAV , RAVC);
+regle 82007:
+application : iliad , batch ;
+ABAVC = positif(RCMAV) * arr( ABRCM2 * RCMAV / RAVC );
+2ABAVC = positif(PROVIE) * min(arr( ABRCM2 * PROVIE / RAVC ) , ABRCM2 - ABAVC);
+TABAVC = ABAVC + 2ABAVC ;
+regle 82008:
+application : iliad , batch ;
+RNTNC = RTNC ;
+RNAVC = RAVC - TABAVC;
+regle 820091:
+application : iliad , batch ;
+EXFR =  max( 0, RCMFR*(1-ART1731BIS)+min(RCMFR,max(RCMFR_P,RCMFR1731+0))*ART1731BIS - RCMAB - RTCAR - RCMNAB);
+regle 82010:
+application : iliad , batch ;
+1RIA = 1RAN ;
+2RIA = 2RAN ;
+1RNC = RCMRNTNC ;
+2RNC = 2RCMRNTNC ;
+RCAV = max ( 0 , RCMAV-ABAVC) ;
+2RCAV = max ( 0 , PROVIE-2ABAVC) ;
+1RAO = max( 0 , REGPRIVM);
+2RAO = max( 0 , 2REGPRIVM);
+R2FA = max(0,COD2FA);
+TRCM1 = 1RNC + RCAV + 1RAO;
+TRCM = TRCM1 + 2RNC + 2RCAV + 2RAO ;
+regle 82011:
+application : iliad , batch ;
+FRG1 = positif(EXFR) * arr( (EXFR * TRCM1)/ TRCM)
+	+ (1 - positif(EXFR)) * 0 ;
+FRG2 = positif(EXFR) * min(arr(EXFR * 2RNC/ TRCM), EXFR - FRG1)
+        + (1 - positif(EXFR)) * 0 ;
+FRG3 = positif(EXFR) * min(arr(EXFR * 2RCAV/ TRCM), EXFR - FRG1 - FRG2)
+        + (1 - positif(EXFR)) * 0 ;
+FRG5 = positif(EXFR) * max(0,EXFR - FRG1 -FRG2 - FRG3)
+        + (1 - positif(EXFR)) * 0 ;
+regle 82012:
+application : iliad , batch ;
+DFRCMN = (positif(RCMAB + RTCAR + RCMNAB)
+        * (1 - positif(RTNC+RAVC+RCMPRIVM))
+        * max(0, RCMFR
+                        - RCMAB
+                        - RTCAR
+                        - RCMNAB)
+
++ (1 - positif(RCMAB + RTCAR + RCMNAB))
+        * positif(RTNC+RAVC+RCMPRIVM)
+        * max(0, RCMFR
+                        - RTNC
+                        - (RAVC - TABAVC)
+                        - RCMPRIVM)
++ positif(RCMAB + RTCAR + RCMNAB)
+   * positif(RTNC+RAVC+RCMPRIVM)
+   * max(0, RCMFR
+                        - RCMAB
+                        - RCMNAB
+                        - RTNC
+                        - (RAVC - TABAVC)
+                        - RTCAR
+                        - RCMPRIVM)
++ (1 - positif(RCMAB + RTCAR + RCMNAB))
+        * (1 - positif(RTNC+RAVC+RCMPRIVM))
+        * max(0, RCMFR)) * (1-positif(ART1731BIS)) 
+        + (max(0, RCMFR- max(RCMFR_P,RCMFR1731+0)) * positif_ou_nul(RCMFRNET1731) 
+          + RCMFR * (1-positif_ou_nul(RCMFRNET1731))) * positif(ART1731BIS) 
+                        ;
+regle 82013:
+application : iliad , batch ;
+1RCM_I = si( (V_REGCO + 0) dans (1,3,5,6,7) )
+alors  (((1-positif(DFRCMN)) * (1RIA+1RNC+1RAR+1RAU+1RAO+RCAV-FRG1) -positif(DFRCMN)*0 ) * (1-positif(ART1731BIS))
+       + (positif(ART1731BIS) * (1RIA+1RNC+1RAR+1RAU+1RAO+RCAV-FRG1) -positif(DFRCMN)*0))
+sinon (0)
+finsi;
+
+2RCM_I =  si( (V_REGCO + 0)  dans (1,3,5,6,7))
+              alors ((1- positif(DFRCMN)) * 2RIA * (1-positif(ART1731BIS))
+                   + 2RIA * positif(ART1731BIS))
+              sinon (0)
+          finsi;
+3RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+             alors  ((1- positif(DFRCMN)) * (2RNC-FRG2) * (1-positif(ART1731BIS))
+                   + (2RNC-FRG2) * positif(ART1731BIS))
+             sinon (0)
+         finsi;
+4RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+             alors  ((1- positif(DFRCMN)) * (2RCAV-FRG3) * (1-positif(ART1731BIS))
+                  +  (2RCAV-FRG3) * positif(ART1731BIS))
+             sinon (0)
+         finsi;
+5RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+             alors ((1- positif(DFRCMN)) * 2RAU * (1-positif(ART1731BIS))
+                  + 2RAU * positif(ART1731BIS))
+             sinon (0)
+         finsi;
+6RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+             alors  ((1- positif(DFRCMN)) * (2RAO-FRG5) * (1-positif(ART1731BIS))
+                 +   (2RAO-FRG5) * positif(ART1731BIS))
+             sinon (0)
+         finsi;
+7RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+             alors  ((1- positif(DFRCMN)) * 2RAR * (1-positif(ART1731BIS))
+                 +   2RAR * positif(ART1731BIS))
+             sinon (0)
+         finsi;
+RCM_I = 1RCM_I + 2RCM_I + 3RCM_I + 4RCM_I + 5RCM_I + 6RCM_I + 7RCM_I;
+regle 82014:
+application : iliad , batch ;
+REPRCM = DEFRCM + DEFRCM2 + DEFRCM3 + DEFRCM4 + DEFRCM5 + DEFRCM6;
+REPRCMBIS = null(4-V_IND_TRAIT) * (DEFRCM + DEFRCM2 + DEFRCM3 + DEFRCM4 + DEFRCM5 + DEFRCM6) * (1-ART1731BIS)
+         + null(5-V_IND_TRAIT) * max(0,min(DEFRCM + DEFRCM2 + DEFRCM3 + DEFRCM4 + DEFRCM5 + DEFRCM6,REPRCM1731*ART1731BIS +
+				    (DEFRCM + DEFRCM2 + DEFRCM3 + DEFRCM4 + DEFRCM5 + DEFRCM6) * (1-ART1731BIS)));
+REPRCM1 = positif(REPRCMBIS) * arr( (REPRCMBIS * 1RCM_I)/ RCM_I)
+	+ (1 - positif(REPRCMBIS)) * 0 ;
+REPRCM2 = positif(REPRCMBIS) * min(arr((REPRCMBIS * 2RCM_I)/ RCM_I), REPRCMBIS - REPRCM1)
+        + (1 - positif(REPRCMBIS)) * 0 ;
+REPRCM3 = positif(REPRCMBIS) * min(arr((REPRCMBIS * 3RCM_I)/ RCM_I), REPRCMBIS - REPRCM1 - REPRCM2)
+        + (1 - positif(REPRCMBIS)) * 0 ;
+REPRCM4 = positif(REPRCMBIS) * min(arr((REPRCMBIS * 4RCM_I)/ RCM_I), REPRCMBIS - REPRCM1 - REPRCM2 - REPRCM3)
+        + (1 - positif(REPRCMBIS)) * 0 ;
+REPRCM5 = positif(REPRCMBIS) * min(arr((REPRCMBIS * 5RCM_I)/ RCM_I), REPRCMBIS - REPRCM1 - REPRCM2 - REPRCM3 - REPRCM4)
+        + (1 - positif(REPRCMBIS)) * 0 ;
+REPRCM6 = positif(REPRCMBIS) * min(arr((REPRCMBIS * 6RCM_I)/ RCM_I), REPRCMBIS - REPRCM1 - REPRCM2 - REPRCM3 - REPRCM4 - REPRCM5)
+        + (1 - positif(REPRCMBIS)) * 0 ;
+REPRCM7 = positif(REPRCMBIS) * max(0,REPRCMBIS - REPRCM1 -REPRCM2 - REPRCM3 - REPRCM4 - REPRCM5  - REPRCM6 )
+        + (1 - positif(REPRCMBIS)) * 0 ;
+regle 82015:
+application : iliad , batch ;
+DFRCM1 =  (DEFRCM2 * positif(DFRCMN)
+         + DEFRCM2 * positif(DEFRCM - RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM2 - (RCM_I-DEFRCM)) * positif_ou_nul(RCM_I-DEFRCM) * (1-positif(DFRCMN)))
+	 * (1-positif(ART1731BIS)) 
+         + (min(DEFRCM2,DFRCM11731) *positif_ou_nul(DFRCM11731) + DEFRCM2 * (1-positif_ou_nul(DFRCM11731))) * positif(ART1731BIS)
+               ;
+DFRCM2 =  (DEFRCM3 * positif(DFRCMN)
+         + DEFRCM3 * positif(DEFRCM+DEFRCM2- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM3 - (RCM_I -DEFRCM- DEFRCM2)) * positif_ou_nul(RCM_I -DEFRCM-DEFRCM2) * (1-positif(DFRCMN)))
+	 * (1-positif(ART1731BIS))
+         + (min(DEFRCM3,DFRCM21731) *positif_ou_nul(DFRCM21731) + DEFRCM3 * (1-positif_ou_nul(DFRCM21731))) * positif(ART1731BIS)
+               ;
+DFRCM3 =  (DEFRCM4 * positif(DFRCMN)
+         + DEFRCM4 * positif(DEFRCM+DEFRCM2+DEFRCM3- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM4 - (RCM_I -DEFRCM- DEFRCM2-DEFRCM3)) * positif_ou_nul(RCM_I -DEFRCM-DEFRCM2-DEFRCM3) * (1-positif(DFRCMN)))
+	 * (1-positif(ART1731BIS))
+         + (min(DEFRCM4,DFRCM31731) *positif_ou_nul(DFRCM31731) + DEFRCM4 * (1-positif_ou_nul(DFRCM31731))) * positif(ART1731BIS)
+               ;
+DFRCM4 =  (DEFRCM5 * positif(DFRCMN)
+         + DEFRCM5 * positif(DEFRCM+DEFRCM2+DEFRCM3+DEFRCM4- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM5 - (RCM_I -DEFRCM- DEFRCM2-DEFRCM3-DEFRCM4))
+         * positif_ou_nul(RCM_I -DEFRCM-DEFRCM2-DEFRCM3-DEFRCM4) * (1-positif(DFRCMN)))
+	 * (1-positif(ART1731BIS))
+         + (min(DEFRCM5,DFRCM41731) *positif_ou_nul(DFRCM41731) + DEFRCM5 * (1-positif_ou_nul(DFRCM41731))) * positif(ART1731BIS)
+               ;
+DFRCM5 =  (DEFRCM6 * positif(DFRCMN)
+         + DEFRCM6 * positif(DEFRCM+DEFRCM2+DEFRCM3+DEFRCM4+DEFRCM5- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM6 - (RCM_I -DEFRCM- DEFRCM2-DEFRCM3-DEFRCM4-DEFRCM5))
+         * positif_ou_nul(RCM_I -DEFRCM-DEFRCM2-DEFRCM3-DEFRCM4-DEFRCM5) * (1-positif(DFRCMN)))
+	 * (1-positif(ART1731BIS))
+         + (min(DEFRCM6,DFRCM51731) *positif_ou_nul(DFRCM51731) + DEFRCM6 * (1-positif_ou_nul(DFRCM51731))) * positif(ART1731BIS)
+               ;
+regle 82016:
+application : iliad , batch ;
+RCM = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+alors (( (1-positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(1RCM_I-REPRCM1))
+         -positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)*0 
+      ) * (1-positif(ART1731BIS))
+      + positif(ART1731BIS) * 1RCM_I
+      )
+sinon (0)
+finsi;
+RCM2FA = COD2FA * (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))); 
+2RCM = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+alors (( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(2RCM_I-REPRCM2))
+      ) * (1-positif(ART1731BIS))
+      + positif(ART1731BIS) * 2RCM_I
+      )
+sinon (0)
+finsi;
+3RCM = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+alors (( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(3RCM_I-REPRCM3))
+      ) * (1-positif(ART1731BIS))
+      + positif(ART1731BIS) * 3RCM_I
+      )
+sinon (0)
+finsi;
+4RCM = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+alors (( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(4RCM_I-REPRCM4))
+      ) * (1-positif(ART1731BIS))
+      + positif(ART1731BIS) * 4RCM_I
+      )
+sinon (0)
+finsi;
+5RCM = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+alors (( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(5RCM_I-REPRCM5))
+      ) * (1-positif(ART1731BIS))
+      + positif(ART1731BIS) * 5RCM_I
+      )
+sinon (0)
+finsi;
+6RCM = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+alors (( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(6RCM_I-REPRCM6))
+      ) * (1-positif(ART1731BIS))
+      + positif(ART1731BIS) * 6RCM_I
+      )
+sinon (0)
+finsi;
+7RCM = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+alors (( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(7RCM_I-REPRCM7))
+      ) * (1-positif(ART1731BIS))
+      + positif(ART1731BIS) * 7RCM_I
+      )
+sinon (0)
+finsi;
+DFRCM = DFRCMN + DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5;
+RCMEXCREF = max(0,TRCMRABD + TRCMRTNC) * (1 - positif(null(2-V_REGCO) + null(4-V_REGCO)));
+regle 82100:
+application : iliad , batch ;
+ABTAV = PLAF_RCMAV1 * (1 + BOOL_0AM) ;
+regle 82107:
+application : iliad , batch ;
+BPLIB = (min( RCMLIB, max(0 , ABTAV - RAVC) ) * (1 - V_CNR));
+regle 82110:
+application : iliad , batch ;
+EPAV = arr(BPLIB * TX_PREVLIB/100);
+regle 82111:
+application : iliad , batch ;
+VAREPRCM = min(DEFRCM + DEFRCM2 + DEFRCM3 + DEFRCM4 + DEFRCM5 + DEFRCM6,1RCM_I + 2RCM_I +3RCM_I +4RCM_I +5RCM_I +6RCM_I +7RCM_I );
diff --git a/sources2013m_3_8/chap-83.m b/sources2013m_3_8/chap-83.m
new file mode 100644
index 0000000000000000000000000000000000000000..adfb8e7c52204e160a97fae9b026bdd3aadb8da6
--- /dev/null
+++ b/sources2013m_3_8/chap-83.m
@@ -0,0 +1,88 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 831:
+application : iliad , batch  ;
+RRFI = RFON + DRCF + max(0,RFMIC - MICFR - (min(RFDANT,RFDANT1731+0) * positif(ART1731BIS) + RFDANT * (1 - ART1731BIS)) );
+RRFIPS = RFON + DRCF + max(0,RFMIC - MICFR - RFDANT);
+regle 8311:
+application : iliad ;
+RRFI1731R = RFON + DRCF1731R + max(0,RFMIC - MICFR - RFDANT );
+regle 8312:
+application : iliad , batch  ;
+MICFR = present(RFMIC) * arr(RFMIC * TX_MICFON/100);
+regle 8313:
+application : iliad ;
+MICFR1731R = present(RFMIC) * arr(RFMIC * TX_MICFON/100);
+regle 8316:
+application : iliad , batch ;
+RMF = max(0,RFMIC - MICFR);
+RMFN = max(0,RFMIC - MICFR - (min(RFDANT,RFDANT1731+0) * positif(ART1731BIS) + RFDANT * (1 - ART1731BIS)));
+regle 83161:
+application : iliad ;
+RMF1731R = max(0,RFMIC - MICFR1731R);
+RMFN1731R = max(0,RFMIC - MICFR1731R - RFDANT );
+regle 832:
+application : iliad , batch  ;
+RFCD = RFORDI + FONCI + REAMOR;
+regle 83211:
+application : iliad ;
+RFCD1731R = RFORDI + FONCI + REAMOR;
+regle 833:
+application : iliad , batch  ;
+VARRFDORD = min(RFCD,RFDORD);
+RFCE = max(0,RFCD-(min(RFDORD,RFDORD1731+0) * positif(ART1731BIS) + RFDORD * (1 - ART1731BIS)));
+RFCEAPS = max(0,RFORDI-(min(RFDORD,RFDORD1731+0) * positif(ART1731BIS) + RFDORD * (1 - ART1731BIS)));
+RFCEPS = max(0,RFCD-RFDORD* (1 - positif(ART1731BIS)));
+
+DFCE = min(0,RFCD-(min(RFDORD,RFDORD1731+0) * positif(ART1731BIS) + RFDORD * (1 - ART1731BIS)));
+
+RFCF = max(0,RFCE-(RFDHIS * (1 - positif(ART1731BIS))));
+RFCFPS = max(0,RFCEPS-RFDHIS* (1 - positif(ART1731BIS)));
+RFCFAPS = max(0,RFCEAPS-(RFDHIS * (1 - positif(ART1731BIS))));
+
+DRCF  = min(0,RFCE-(RFDHIS * (1 - positif(ART1731BIS))));
+VARRFDANT = min(RFCF+RFMIC - MICFR,RFDANT);
+RFCG = max(0,RFCF-(min(RFDANT,RFDANT1731+0) * positif(ART1731BIS) + RFDANT * (1 - ART1731BIS)));
+DFCG = min(0,RFCF-(min(RFDANT,RFDANT1731+0) * positif(ART1731BIS) + RFDANT * (1 - ART1731BIS)));
+regle 83311:
+application : iliad ;
+RFCE1731R = max(0,RFCD1731R- RFDORD );
+
+DFCE1731R = min(0,RFCD1731R- RFDORD);
+
+RFCF1731R = max(0,RFCE1731R-RFDHIS);
+
+DRCF1731R  = min(0,RFCE1731R-RFDHIS);
+RFCG1731R = max(0,RFCF1731R- RFDANT);
+DFCG1731R = min(0,RFCF1731R- RFDANT);
+regle 834:
+application : iliad , batch  ;
+RFON = arr(RFCG*RFORDI/RFCD);
+2REVF = min( arr (RFCG*(FONCI)/RFCD) , RFCG-RFON);
+3REVF = min( arr (RFCG*(REAMOR)/RFCD) , RFCG-RFON-2REVF);
+RFQ = FONCI + REAMOR;
+regle 83411:
+application : iliad ;
+RFON1731R = arr(RFCG1731R*RFORDI/RFCD1731R);
+2REVF1731R = min( arr (RFCG1731R*(FONCI)/RFCD1731R) , RFCG1731R-RFON1731R);
+3REVF1731R = min( arr (RFCG1731R*(REAMOR)/RFCD1731R) , RFCG1731R-RFON1731R-2REVF1731R);
+RFQ1731R = FONCI + REAMOR;
+ 
diff --git a/sources2013m_3_8/chap-84.m b/sources2013m_3_8/chap-84.m
new file mode 100644
index 0000000000000000000000000000000000000000..b57b21cc517644868f796686998be0f16567b791
--- /dev/null
+++ b/sources2013m_3_8/chap-84.m
@@ -0,0 +1,291 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 801 :
+application : iliad , batch  ;
+BA1AF =  BAF1AP  + BAF1AC  + BAF1AV  ;
+regle 840 :
+application : iliad , batch  ;
+VARBAHDEV = min(BAHREV + 4BAHREV,BAHDEV);
+VARBAHDEC = min(BAHREC + 4BAHREC,BAHDEC);
+VARBAHDEP = min(BAHREP + 4BAHREP,BAHDEP);
+BARSV = BAHREV + 4BAHREV - (BAHDEV * (1 - positif(ART1731BIS))+ min(BAHDEV,max(BAHDEV_P,BAHDEV1731+0)) * positif(ART1731BIS));
+BARSREVV = BAHREV +4BAHREV;
+BARSC = BAHREC + 4BAHREC - (BAHDEC * (1 - positif(ART1731BIS))+ min(BAHDEC,max(BAHDEC_P,BAHDEC1731+0)) * positif(ART1731BIS));
+BARSREVC = BAHREC +4BAHREC;
+BARSP = BAHREP + 4BAHREP - (BAHDEP * (1 - positif(ART1731BIS))+ min(BAHDEP,max(BAHDEP_P,BAHDEP1731+0)) * positif(ART1731BIS));
+BARSREVP = BAHREP +4BAHREP;
+VARBACDEV = min(BACREV + 4BACREV,BACDEV);
+VARBACDEC = min(BACREC + 4BACREC,BACDEC);
+VARBACDEP = min(BACREP + 4BACREP,BACDEP);
+BARAV = BACREV + 4BACREV - (BACDEV * (1 - positif(ART1731BIS))+ min(BACDEV,max(BACDEV_P,BACDEV1731+0)) * positif(ART1731BIS));
+BARREVAV = BACREV + 4BACREV;
+BARAC = BACREC  + 4BACREC - (BACDEC * (1 - positif(ART1731BIS))+ min(BACDEC,max(BACDEC_P,BACDEC1731+0)) * positif(ART1731BIS));
+BARREVAC = BACREC + 4BACREC;
+BARAP = BACREP + 4BACREP -(BACDEP * (1 - positif(ART1731BIS))+ min(BACDEP,max(BACDEP_P,BACDEP1731+0)) * positif(ART1731BIS));
+BARREVAP = BACREP + 4BACREP;
+regle 841 :
+application : iliad  ;
+BARSV1731R = BAHREV + 4BAHREV - BAHDEV;
+BARSREVV1731R = BAHREV +4BAHREV;
+BARSC1731R = BAHREC + 4BAHREC - BAHDEC;
+BARSREVC1731R = BAHREC +4BAHREC;
+BARSP1731R = BAHREP + 4BAHREP - BAHDEP;
+BARSREVP1731R = BAHREP +4BAHREP;
+BARAV1731R = BACREV + 4BACREV - BACDEV;
+BARREVAV1731R = BACREV + 4BACREV;
+BARAC1731R = BACREC  + 4BACREC - BACDEC;
+BARREVAC1731R = BACREC + 4BACREC;
+BARAP1731R = BACREP + 4BACREP -BACDEP;
+regle 8421:
+application : iliad , batch  ;
+pour i =V,C,P:
+DEFBACREi = positif(4BACREi) * arr((((BACDEi * (1 - positif(ART1731BIS)))+ min(BACDEi,max(BACDEi_P,BACDEi1731+0)) * positif(ART1731BIS)) * BACREi) / BARREVAi) 
+				   + (1 - positif(4BACREi)) * (BACDEi * (1 - positif(ART1731BIS))+ min(BACDEi,max(BACDEi_P,BACDEi1731+0)) * positif(ART1731BIS)) ;
+pour i =V,C,P:
+4DEFBACREi = positif(4BACREi) * (((BACDEi * (1 - positif(ART1731BIS)))+ min(BACDEi,max(BACDEi_P,BACDEi1731+0)) * positif(ART1731BIS)) - DEFBACREi);
+regle 8422:
+application : iliad ;
+pour i =V,C,P:
+DEFBACREi1731R = positif(4BACREi) * arr((BACDEi * BACREi) / BARREVAi) 
+				   + (1 - positif(4BACREi)) * BACDEi ;
+pour i =V,C,P:
+4DEFBACREi1731R = positif(4BACREi) * (BACDEi  - DEFBACREi1731R);
+regle 84211:
+application : iliad , batch  ;
+BANV = (BACREV - DEFBACREV) * positif_ou_nul(BARAV) + BARAV * (1-positif(BARAV));
+BANC = (BACREC - DEFBACREC) * positif_ou_nul(BARAC) + BARAC * (1-positif(BARAC));
+BANP = (BACREP - DEFBACREP) * positif_ou_nul(BARAP) + BARAP * (1-positif(BARAP));
+BAEV = (4BACREV - 4DEFBACREV) * positif_ou_nul(BARAV) + 0;
+BAEC = (4BACREC - 4DEFBACREC) * positif_ou_nul(BARAC) + 0;
+BAEP = (4BACREP - 4DEFBACREP) * positif_ou_nul(BARAP) + 0;
+regle 84212:
+application : iliad , batch  ;
+BANV1731R = (BACREV - DEFBACREV1731R) * positif_ou_nul(BARAV1731R) + BARAV1731R * (1-positif(BARAV1731R));
+BANC1731R = (BACREC - DEFBACREC1731R) * positif_ou_nul(BARAC1731R) + BARAC1731R * (1-positif(BARAC1731R));
+BANP1731R = (BACREP - DEFBACREP1731R) * positif_ou_nul(BARAP1731R) + BARAP1731R * (1-positif(BARAP1731R));
+BAEV1731R = (4BACREV - 4DEFBACREV1731R) * positif_ou_nul(BARAV1731R) + 0;
+BAEC1731R = (4BACREC - 4DEFBACREC1731R) * positif_ou_nul(BARAC1731R) + 0;
+BAEP1731R = (4BACREP - 4DEFBACREP1731R) * positif_ou_nul(BARAP1731R) + 0;
+regle 842111:
+application : iliad , batch  ;
+pour i =V,C,P:
+DEFBAHREi = positif(4BAHREi) * arr(((BAHDEi * (1 - positif(ART1731BIS))+ min(BAHDEi,max(BAHDEi_P,BAHDEi1731+0)) * positif(ART1731BIS)) * BAHREi) / BARSREVi) 
+						      + (1 - positif(4BAHREi)) * (BAHDEi * (1 - positif(ART1731BIS))+ min(BAHDEi,max(BAHDEi_P,BAHDEi1731+0)) * positif(ART1731BIS)) ;
+pour i =V,C,P:
+4DEFBAHREi = positif(4BAHREi) * ((BAHDEi * (1 - positif(ART1731BIS) )+ min(BAHDEi,max(BAHDEi_P,BAHDEi1731+0)) * positif(ART1731BIS)) - DEFBAHREi) ;
+regle 842112:
+application : iliad ;
+pour i =V,C,P:
+DEFBAHREi1731R = positif(4BAHREi) * arr((BAHDEi * BAHREi) / BARSREVi1731R) 
+						      + (1 - positif(4BAHREi)) * BAHDEi ;
+pour i =V,C,P:
+4DEFBAHREi1731R = positif(4BAHREi) * (BAHDEi  - DEFBAHREi1731R) ;
+regle 843:
+application : iliad , batch  ;
+BAMV = arr((BAHREV - DEFBAHREV) * MAJREV) * positif_ou_nul(BARSV) + BARSV * (1-positif(BARSV));
+BAMC = arr((BAHREC - DEFBAHREC) * MAJREV) * positif_ou_nul(BARSC) + BARSC * (1-positif(BARSC));
+BAMP = arr((BAHREP - DEFBAHREP) * MAJREV) * positif_ou_nul(BARSP) + BARSP * (1-positif(BARSP));
+BAEMV = (arr((4BAHREV - 4DEFBAHREV)* MAJREV)) * positif_ou_nul(BARSV) + 0;
+BAEMC = (arr((4BAHREC - 4DEFBAHREC)* MAJREV)) * positif_ou_nul(BARSC) + 0;
+BAEMP = (arr((4BAHREP - 4DEFBAHREP)* MAJREV)) * positif_ou_nul(BARSP) + 0;
+regle 8431:
+application : iliad  ;
+BAMV1731R = arr((BAHREV - DEFBAHREV1731R) * MAJREV) * positif_ou_nul(BARSV1731R) + BARSV1731R * (1-positif(BARSV1731R));
+BAMC1731R = arr((BAHREC - DEFBAHREC1731R) * MAJREV) * positif_ou_nul(BARSC1731R) + BARSC1731R * (1-positif(BARSC1731R));
+BAMP1731R = arr((BAHREP - DEFBAHREP1731R) * MAJREV) * positif_ou_nul(BARSP1731R) + BARSP1731R * (1-positif(BARSP1731R));
+BAEMV1731R = (arr((4BAHREV - 4DEFBAHREV1731R)* MAJREV)) * positif_ou_nul(BARSV1731R) + 0;
+BAEMC1731R = (arr((4BAHREC - 4DEFBAHREC1731R)* MAJREV)) * positif_ou_nul(BARSC1731R) + 0;
+BAEMP1731R = (arr((4BAHREP - 4DEFBAHREP1731R)* MAJREV)) * positif_ou_nul(BARSP1731R) + 0;
+regle 844:
+application : iliad , batch  ;
+BAFORV = arr(BAFV*MAJREV)+BAFORESTV+BAFPVV;
+BAFORC = arr(BAFC*MAJREV)+BAFORESTC+BAFPVC;
+BAFORP = arr(BAFP*MAJREV)+BAFORESTP+BAFPVP;
+regle 8441:
+application : iliad , batch  ;
+BAHQV = BANV + BAMV + BAFORV;
+BAHQC = BANC + BAMC + BAFORC;
+BAHQP = BANP + BAMP + BAFORP;
+regle 84411:
+application : iliad ;
+BAHQV1731R = BANV1731R + BAMV1731R + BAFORV;
+BAHQC1731R = BANC1731R + BAMC1731R + BAFORC;
+BAHQP1731R = BANP1731R + BAMP1731R + BAFORP;
+regle 845:
+application : iliad , batch  ;
+4BAQV = max(0,(4BACREV - 4DEFBACREV))*positif_ou_nul(BARAV)+arr(max(0,(4BAHREV - 4DEFBAHREV))*MAJREV) * positif_ou_nul(BARSV);
+4BAQC = max(0,(4BACREC - 4DEFBACREC))*positif_ou_nul(BARAC)+arr(max(0,(4BAHREC - 4DEFBAHREC))*MAJREV) * positif_ou_nul(BARSC);
+4BAQP = max(0,(4BACREP - 4DEFBACREP))*positif_ou_nul(BARAP)+arr(max(0,(4BAHREP - 4DEFBAHREP))*MAJREV) * positif_ou_nul(BARSP);
+regle 84511:
+application : iliad ;
+4BAQV1731R = max(0,(4BACREV - 4DEFBACREV1731R))*positif_ou_nul(BARAV1731R)+arr(max(0,(4BAHREV - 4DEFBAHREV1731R))*MAJREV) * positif_ou_nul(BARSV1731R);
+4BAQC1731R = max(0,(4BACREC - 4DEFBACREC1731R))*positif_ou_nul(BARAC1731R)+arr(max(0,(4BAHREC - 4DEFBAHREC1731R))*MAJREV) * positif_ou_nul(BARSC1731R);
+4BAQP1731R = max(0,(4BACREP - 4DEFBACREP1731R))*positif_ou_nul(BARAP1731R)+arr(max(0,(4BAHREP - 4DEFBAHREP1731R))*MAJREV) * positif_ou_nul(BARSP1731R);
+regle 8451:
+application : iliad , batch  ;
+BAQV = BAEV + BAEMV;
+BAQC = BAEC + BAEMC;
+BAQP = BAEP + BAEMP;
+regle 8455:
+application : iliad , batch  ;
+BAQV1731R = BAEV1731R + BAEMV1731R;
+BAQC1731R = BAEC1731R + BAEMC1731R;
+BAQP1731R = BAEP1731R + BAEMP1731R;
+regle 84551:
+application : iliad , batch  ;
+BA1V = BA1AV + BAF1AV ;
+BA1C = BA1AC + BAF1AC ;
+BA1P = BA1AP + BAF1AP ;
+regle 84552:
+application : iliad , batch  ;
+BAHQT=BAHQV+BAHQC+BAHQP;
+TOTDAGRI = null(4-V_IND_TRAIT) * (DAGRI6 +DAGRI5 +DAGRI4 + DAGRI3 + DAGRI2 + DAGRI1) * (1-ART1731BIS)
+	 + null(5-V_IND_TRAIT) * max(0,min(DAGRI6 +DAGRI5 +DAGRI4 + DAGRI3 + DAGRI2 + DAGRI1,TOTDAGRI1731*ART1731BIS
+				  + (DAGRI6 +DAGRI5 +DAGRI4 + DAGRI3 + DAGRI2 + DAGRI1) * (1-ART1731BIS)));
+BAHQTOT=BAHQV+BAHQC+BAHQP-TOTDAGRI;
+BAHQTOTMAXP=positif_ou_nul(BAHQT) * max(0,BAHQV+BAHQC+BAHQP-TOTDAGRI);
+BAHQTOTMAXN=positif_ou_nul(BAHQT) * min(0,BAHQV+BAHQC+BAHQP-TOTDAGRI);
+BAHQTOTMIN=positif(-BAHQT) * BAHQT;
+regle 845525:
+application : iliad ;
+BAHQT1731R=BAHQV1731R+BAHQC1731R+BAHQP1731R;
+TOTDAGRI1731R = null(4-V_IND_TRAIT) * (DAGRI6 +DAGRI5 +DAGRI4 + DAGRI3 + DAGRI2 + DAGRI1)
+	 + null(5-V_IND_TRAIT) * max(0,min(DAGRI6 +DAGRI5 +DAGRI4 + DAGRI3 + DAGRI2 + DAGRI1,TOTDAGRI1731*ART1731BIS
+				  + (DAGRI6 +DAGRI5 +DAGRI4 + DAGRI3 + DAGRI2 + DAGRI1) * (1-ART1731BIS)));
+BAHQTOT1731R=BAHQV1731R+BAHQC1731R+BAHQP1731R-TOTDAGRI1731R;
+BAHQTOTMAXP1731R=positif_ou_nul(BAHQT1731R) * max(0,BAHQV1731R+BAHQC1731R+BAHQP1731R-TOTDAGRI1731R);
+BAHQTOTMAXN1731R=positif_ou_nul(BAHQT1731R) * min(0,BAHQV1731R+BAHQC1731R+BAHQP1731R-TOTDAGRI1731R);
+BAHQTOTMIN1731R=positif(-BAHQT1731R) * BAHQT1731R;
+regle 84513:
+application : iliad , batch  ;
+BAQT = BAQV + BAQC + BAQP;
+BAQTOT = max(0,BAQV + BAQC + BAQP + BAHQTOTMAXN);
+BAQTOTN = min(0,BAQV + BAQC + BAQP + BAHQTOTMAXN);
+BAQTOTMIN = min(0,BAQV + BAQC + BAQP + BAHQTOTMIN);
+BAQTOTAV = positif_ou_nul(BAQT + BAHQT) * BAQTOT + (1 - positif(BAQT + BAHQT)) * 0;
+4BAQTOT = somme(x=V,C,P: 4BAQx) ;
+4BAQTOTNET = positif(4BAQTOT) * max(0, 4BAQTOT + (BAHQTOTMIN + BAHQTOTMAXN) );
+regle 845135:
+application : iliad  ;
+BAQT1731R = BAQV1731R + BAQC1731R + BAQP1731R;
+BAQTOT1731R = max(0,BAQV1731R + BAQC1731R + BAQP1731R + BAHQTOTMAXN1731R);
+BAQTOTN1731R = min(0,BAQV1731R + BAQC1731R + BAQP1731R + BAHQTOTMAXN1731R);
+BAQTOTMIN1731R = min(0,BAQV1731R + BAQC1731R + BAQP1731R + BAHQTOTMIN1731R);
+BAQTOTAV1731R = positif_ou_nul(BAQT1731R + BAHQT1731R) * BAQTOT1731R + (1 - positif(BAQT1731R + BAHQT1731R)) * 0;
+4BAQTOT1731R = somme(x=V,C,P: 4BAQx1731R) ;
+4BAQTOTNET1731R = positif(4BAQTOT1731R) * max(0, 4BAQTOT1731R + (BAHQTOTMIN1731R + BAHQTOTMAXN1731R) );
+regle 845111:
+application : iliad , batch  ;
+BA1 = BA1V + BA1C + BA1P; 
+regle 846:
+application : iliad , batch  ;
+BANOR = BAHQTOTMAXP + BAQTOTMIN;
+regle 8461:
+application : iliad  ;
+BANOR1731R = BAHQTOTMAXP1731R + BAQTOTMIN1731R;
+
+regle 847:
+application : iliad , batch  ;
+DEFBA6 = ((1-positif(BAHQT+BAQT)) * (DAGRI5)
+                 + positif(BAHQT+BAQT) *
+                 abs(min(max(BAHQT+BAQT-DAGRI6,0)-DAGRI5,DAGRI5))
+                 * positif_ou_nul(DAGRI5-max(BAHQT+BAQT-DAGRI6,0))
+                 * (1 - positif(IPVLOC)))
+                 * (1-positif(ART1731BIS))
+                 + (min(DAGRI5,DEFBA61731) *positif_ou_nul(DEFBA61731) + DAGRI5 * (1-positif_ou_nul(DEFBA61731))) * positif(ART1731BIS)
+                          ;
+DEFBA5 = ((1-positif(BAHQT+BAQT)) * (DAGRI4)
+                 + positif(BAHQT+BAQT) *
+                 abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5,0)-DAGRI4,DAGRI4))
+                 * positif_ou_nul(DAGRI4-max(BAHQT+BAQT-DAGRI6-DAGRI5,0))
+                 * (1 - positif(IPVLOC)))
+                 * (1-positif(ART1731BIS))
+                 + (min(DAGRI4,DEFBA51731) *positif_ou_nul(DEFBA51731) + DAGRI4 * (1-positif_ou_nul(DEFBA51731))) * positif(ART1731BIS)
+                          ;
+DEFBA4 = ((1-positif(BAHQT+BAQT)) * (DAGRI3)
+                 + positif(BAHQT+BAQT) *
+                 abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4,0)-DAGRI3,DAGRI3))
+                 * positif_ou_nul(DAGRI3-max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4,0))
+                 * (1 - positif(IPVLOC)))
+                 * (1-positif(ART1731BIS))
+                 + (min(DAGRI3,DEFBA41731) *positif_ou_nul(DEFBA41731) + DAGRI3 * (1-positif_ou_nul(DEFBA41731))) * positif(ART1731BIS)
+                          ;
+DEFBA3 = ((1-positif(BAHQT+BAQT)) * (DAGRI2)
+                 + positif(BAHQT+BAQT) *
+                 abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3,0)-DAGRI2,DAGRI2))
+                 * positif_ou_nul(DAGRI2-max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3,0))
+                 * (1 - positif(IPVLOC)))
+                 * (1-positif(ART1731BIS))
+                 + (min(DAGRI2,DEFBA31731) *positif_ou_nul(DEFBA31731) + DAGRI2 * (1-positif_ou_nul(DEFBA31731))) * positif(ART1731BIS)
+                           ;
+DEFBA2 = ((1-positif(BAHQT+BAQT)) * (DAGRI1)
+                 + positif(BAHQT+BAQT) *
+                 abs(min(max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2,0)-DAGRI1,DAGRI1))
+                 * positif_ou_nul(DAGRI1-max(BAHQT+BAQT-DAGRI6-DAGRI5-DAGRI4-DAGRI3-DAGRI2,0))
+                 * (1 - positif(IPVLOC)))
+                 * (1-positif(ART1731BIS))
+                 + (min(DAGRI1,DEFBA21731) *positif_ou_nul(DEFBA21731) + DAGRI1 * (1-positif_ou_nul(DEFBA21731))) * positif(ART1731BIS)
+                            ;
+DEFBA1 = ((1-positif(BAHQT+BAQT)) * (abs(BAHQT+BAQT)-abs(DEFIBA))
+                 + positif(BAHQT+BAQT) *
+                 positif_ou_nul(DAGRI5+DAGRI4+DAGRI3+DAGRI2+DAGRI1-BAHQT-BAQT)
+                 * (DAGRI5+DAGRI4+DAGRI3+DAGRI2+DAGRI1-BAHQT-BAQT)
+                 * null(DEFBA2+DEFBA3+DEFBA4+DEFBA5+DEFBA6)
+                 * (1 - positif(IPVLOC)))
+                 * (1-positif(ART1731BIS))
+                 + ((BACDEV-min(BACDEV,max(BACDEV_P,BACDEV1731+0))
+                   +BACDEC-min(BACDEC,max(BACDEC_P,BACDEC1731+0))
+                   +BACDEP-min(BACDEP,max(BACDEP_P,BACDEP1731+0))
+                   +BAHDEV-min(BAHDEV,max(BAHDEV_P,BAHDEV1731+0))
+                   +BAHDEC-min(BAHDEC,max(BAHDEC_P,BAHDEC1731+0))
+                   +BAHDEP-min(BAHDEP,max(BAHDEP_P,BAHDEP1731+0))) * positif_ou_nul(DEFBA11731)
+                    + (BACDEV +BACDEC +BACDEP +BAHDEV +BAHDEC +BAHDEP) * (1-positif_ou_nul(DEFBA11731)))
+                    * positif(SHBA+(REVTP-BA1) +REVQTOTQHT - SEUIL_IMPDEFBA)
+                           * (1 - positif(IPVLOC)) * positif(ART1731BIS)
+                               ;
+regle 848:
+application : iliad , batch  ;
+DEFIBAANT = positif_ou_nul(BAQT+BAHQTOT-(min(DAGRI1,DAGRI11731+0) * positif(ART1731BIS) + DAGRI1 * (1 - ART1731BIS))
+				       -(min(DAGRI2,DAGRI21731+0) * positif(ART1731BIS) + DAGRI2 * (1 - ART1731BIS))
+				       -(min(DAGRI3,DAGRI31731+0) * positif(ART1731BIS) + DAGRI3 * (1 - ART1731BIS))
+				       -(min(DAGRI4,DAGRI41731+0) * positif(ART1731BIS) + DAGRI4 * (1 - ART1731BIS))
+				       -(min(DAGRI5,DAGRI51731+0) * positif(ART1731BIS) + DAGRI5 * (1 - ART1731BIS))
+				       -(min(DAGRI6,DAGRI61731+0) * positif(ART1731BIS) + DAGRI6 * (1 - ART1731BIS)))
+            * ((min(DAGRI1,DAGRI11731+0) * positif(ART1731BIS) + DAGRI1 * (1 - ART1731BIS))
+	    -(min(DAGRI2,DAGRI21731+0) * positif(ART1731BIS) + DAGRI2 * (1 - ART1731BIS))
+	    -(min(DAGRI3,DAGRI31731+0) * positif(ART1731BIS) + DAGRI3 * (1 - ART1731BIS))
+	    -(min(DAGRI4,DAGRI41731+0) * positif(ART1731BIS) + DAGRI4 * (1 - ART1731BIS))
+	    -(min(DAGRI5,DAGRI51731+0) * positif(ART1731BIS) + DAGRI5 * (1 - ART1731BIS))
+	    -(min(DAGRI6,DAGRI61731+0) * positif(ART1731BIS) + DAGRI6 * (1 - ART1731BIS)))
+            + positif_ou_nul((min(DAGRI1,DAGRI11731+0) * positif(ART1731BIS) + DAGRI1 * (1 - ART1731BIS))
+	    +(min(DAGRI2,DAGRI21731+0) * positif(ART1731BIS) + DAGRI2 * (1 - ART1731BIS))
+	    +(min(DAGRI3,DAGRI31731+0) * positif(ART1731BIS) + DAGRI3 * (1 - ART1731BIS))
+	    +(min(DAGRI4,DAGRI41731+0) * positif(ART1731BIS) + DAGRI4 * (1 - ART1731BIS))
+	    +(min(DAGRI5,DAGRI51731+0) * positif(ART1731BIS) + DAGRI5 * (1 - ART1731BIS))
+	    +(min(DAGRI6,DAGRI61731+0) * positif(ART1731BIS) + DAGRI6 * (1 - ART1731BIS))-BAQT-BAHQTOT)
+            * (BAQT+BAHQTOT);
+regle 849:
+application : iliad , batch  ;
+DAGRI = DAGRI1+DAGRI2+DAGRI3+DAGRI4+DAGRI5+DAGRI6;
+VAREDAGRI = min(DAGRI,BAHQV+BAHQC+BAHQP);
+regle 850:
+application : iliad , batch  ;
+BAQTOTAVIS = 4BAQTOTNET;
diff --git a/sources2013m_3_8/chap-85.m b/sources2013m_3_8/chap-85.m
new file mode 100644
index 0000000000000000000000000000000000000000..49d8bba28b07ce3a3d1439dfeebddb4070f6dd13
--- /dev/null
+++ b/sources2013m_3_8/chap-85.m
@@ -0,0 +1,575 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+regle 8501 :
+application : iliad , batch  ;
+ pour i= V,C,P:                                           
+BIPTAi = (BICNOi - (BICDNi * (1 - positif(ART1731BIS))) );           
+pour i= V,C,P:                                           
+BIPTTAi = (BIPTAi + BI1Ai);              
+regle 85010 :
+application : iliad  ;
+ pour i= V,C,P:                                           
+BIPTAi1731R = (BICNOi - BICDNi);           
+regle 8503 :
+application : iliad , batch  ;
+
+VARBICDEV = min(BICREV,BICDEV);
+VARBICDEC = min(BICREC,BICDEC);
+VARBICDEP = min(BICREP,BICDEP);
+pour i= V,C,P:                                           
+BINTAi = (BICREi - (min(BICDEi,max(BICREV_P,BICDEi1731+0)) * positif(ART1731BIS)  + BICDEi * (1 - ART1731BIS)) );        
+                                                         
+pour i= V,C,P:                                           
+BINTTAi = (BINTAi + BI2Ai);           
+regle 85031 :
+application : iliad ;
+pour i= V,C,P:                                           
+BINTAi1731R = (BICREi - BICDEi );        
+                                                         
+pour i= V,C,P:                                           
+BINTTAi1731R = (BINTAi + BI2Ai);           
+                                                         
+                                                         
+regle 8506 :
+application : iliad , batch  ;
+ 
+pour i= V,C,P:                                           
+BI12Ai = BI1Ai +  BI2Ai;
+
+regle 8508 :
+application : iliad , batch  ;
+
+pour i= V,C,P:                                           
+BITAi = BIPTAi + BINTAi;
+
+pour i= V,C,P:                                           
+BITTAi = BITAi + BI12Ai;
+regle 85081 :
+application : iliad ;
+
+pour i= V,C,P:                                           
+BITAi1731R = BIPTAi1731R + BINTAi1731R;
+
+pour i= V,C,P:                                           
+BITTAi1731R = BITAi1731R + BI12Ai;
+
+
+regle 857:
+application : iliad , batch  ;
+BI1 = somme(i=V,C,P:BI1i);
+BI2 = somme(i=V,C,P:BI2i);
+regle 8571:
+application : iliad , batch  ;
+pour i = V,C,P:
+BI1i = BI1Ai;
+pour i = V,C,P:
+BI2i = BI2Ai;
+regle 8580:
+application : iliad , batch ;
+pour i = V,P,C:
+BIHTAi = max(0,arr((BIHNOi - (BIHDNi * (1 - positif(ART1731BIS)))) * MAJREV))
+         + min(0,(BIHNOi - (BIHDNi * (1 - positif(ART1731BIS) ))) );
+
+VARBICHDEV = min(BICHREV,BICHDEV);
+VARBICHDEC = min(BICHREC,BICHDEC);
+VARBICHDEP = min(BICHREP,BICHDEP);
+pour i = V,P,C:
+BINHTAi = max(0,arr((BICHREi - (min(BICHDEi,max(BICHREi_P,BICHDEi1731+0)) * positif(ART1731BIS) + BICHDEi * (1 - ART1731BIS)))*MAJREV))
+          + min(0,(BICHREi - (min(BICHDEi,max(BICHREi_P,BICHDEi1731+0)) * positif(ART1731BIS) + BICHDEi * (1 - ART1731BIS))) ) ;
+regle 85801:
+application : iliad ;
+pour i = V,P,C:
+BIHTAi1731R = max(0,arr((BIHNOi - BIHDNi) * MAJREV))
+         + min(0,(BIHNOi - BIHDNi) );
+
+pour i = V,P,C:
+BINHTAi1731R = max(0,arr((BICHREi - BICHDEi)*MAJREV))
+          + min(0,(BICHREi - BICHDEi ))  ;
+regle 85200:
+application : iliad , batch ;
+
+pour i = V,C,P:
+MIB_TVENi = MIBVENi + MIBNPVENi + MIBGITEi+LOCGITi;
+
+pour i = V,C,P:
+MIB_TPRESi = MIBPRESi + MIBNPPRESi + MIBMEUi;
+
+pour i = V,C,P:
+MIB_TTi = MIB_TVENi + MIB_TPRESi;
+
+regle 85240:
+application : iliad , batch ;
+
+pour i = V,C,P:
+MIB_AVi = min ( MIB_TVENi,
+                         (max(MIN_MBIC,
+                              arr( MIB_TVENi*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+PMIB_AVi = min ( MIBVENi,
+                         (max(MIN_MBIC,
+                              arr( MIBVENi*TX_MIBVEN/100))
+                         )
+              );
+
+
+pour i = V,C,P:
+MIB_APi = min ( MIB_TPRESi,
+                         (max(MIN_MBIC,
+                              arr(MIB_TPRESi*TX_MIBPRES/100))
+                         )
+               );
+pour i = V,C,P:
+PMIB_APi = min ( MIBPRESi,
+                         (max(MIN_MBIC,
+                              arr(MIBPRESi*TX_MIBPRES/100))
+                         )
+               );
+
+
+
+regle 85250:
+application : iliad , batch ;
+
+pour i = V,C,P:
+MIB_ABVi = max(0,arr(MIB_AVi * MIBVENi / MIB_TVENi));
+pour i = V,C,P:
+MIB_ABNPVi = max(0,arr(MIB_AVi * MIBNPVENi / MIB_TVENi))* positif(present(MIBGITEi)+present(LOCGITi))
+	      + (MIB_AVi - MIB_ABVi) * (1 - positif(present(MIBGITEi)+present(LOCGITi)));
+pour i = V,C,P:
+MIB_ABNPVLi = (MIB_AVi - MIB_ABVi - MIB_ABNPVi) * positif(present(MIBGITEi)+present(LOCGITi));
+
+pour i = V,C,P:
+MIB_ABPi = max(0,arr(MIB_APi * MIBPRESi / MIB_TPRESi));
+pour i = V,C,P:
+MIB_ABNPPi = max(0,arr(MIB_APi * MIBNPPRESi / MIB_TPRESi)) * present(MIBMEUi)
+	      + (MIB_APi - MIB_ABPi) * (1 - present(MIBMEUi));
+pour i = V,C,P:
+MIB_ABNPPLi = (MIB_APi - MIB_ABPi - MIB_ABNPPi) *  present(MIBMEUi);
+
+
+regle 85260:
+application : iliad , batch ;
+
+pour i = V,C,P:
+MIB_NETVi = MIBVENi - MIB_ABVi;
+MIBNETVF = somme(i=V,C,P:MIB_NETVi) ;
+pour i = V,C,P:
+MIB_NETNPVi = MIBNPVENi - MIB_ABNPVi;
+MIBNETNPVF = somme(i=V,C,P:MIB_NETNPVi);
+pour i = V,C,P:
+MIB_NETNPVLi = MIBGITEi+ LOCGITi - MIB_ABNPVLi;
+pour i = V,C,P:
+MIBNETNPVLSi = arr(MIB_NETNPVLi * MIBGITEi / (MIBGITEi + LOCGITi));
+pour i = V,C,P:
+MIBNETNPVLNSi = MIB_NETNPVLi - MIBNETNPVLSi;
+MIBNETNPVLF = somme(i=V,C,P:MIB_NETNPVLi);
+
+pour i = V,C,P:
+MIB_NETPi = MIBPRESi - MIB_ABPi;
+MIBNETPF = somme(i=V,C,P:MIB_NETPi) ;
+pour i = V,C,P:
+MIB_NETNPPi = MIBNPPRESi - MIB_ABNPPi;
+MIBNETNPPF = somme(i=V,C,P:MIB_NETNPPi);
+pour i = V,C,P:
+MIB_NETNPPLi = MIBMEUi - MIB_ABNPPLi;
+MIBNETNPPLF = somme(i=V,C,P:MIB_NETNPPLi);
+
+pour i = V,C,P:
+PMIB_NETVi = MIBVENi - PMIB_AVi;
+pour i = V,C,P:
+PMIB_NETPi = MIBPRESi - PMIB_APi;
+
+
+
+regle 85265:
+application : iliad , batch ;
+MIB_NETCT = MIBPVV + MIBPVC + MIBPVP - BICPMVCTV - BICPMVCTC - BICPMVCTP;
+
+MIB_NETNPCT = MIBNPPVV + MIBNPPVC + MIBNPPVP - MIBNPDCT ;
+
+
+regle 85270:
+application : iliad , batch ;
+
+pour i=V,C,P:
+MIB_P1Ai = MIB1Ai - MIBDEi ;
+pour i=V,C,P:
+MIB_NP1Ai = MIBNP1Ai - MIBNPDEi ;
+pour i=V,C,P:
+MIB_1Ai = max(0,MIB_P1Ai + MIB_NP1Ai);
+MIB_1AF = max (0, somme(i=V,C,P:MIB_1Ai));
+regle 85390:
+application : iliad , batch ;
+pour i = V,C,P:
+REVIBI12i = BIH1i + BIH2i + BI1Ai + BI2Ai;
+regle 85700:
+application : iliad , batch ;
+BICPF = somme(i=V,C,P:BIPTAi+BIHTAi+MIB_NETVi+MIB_NETPi) + MIB_NETCT  ; 
+regle 857001:
+application : iliad ;
+BICPF1731R = somme(i=V,C,P:BIPTAi1731R+BIHTAi1731R+MIB_NETVi+MIB_NETPi) + MIB_NETCT  ; 
+regle 85730:
+application : iliad , batch ;
+DEFNP  = somme (i=1,2,3,4,5,6:(min(DEFBICi,DEFBICi1731+0) * positif(ART1731BIS) + DEFBICi * (1 - ART1731BIS)));
+TOTDEFNP = null(4-V_IND_TRAIT) * DEFNP
+	 + null(5-V_IND_TRAIT) * max(0,min(DEFNP,TOTDEFNP1731*ART1731BIS
+				  + DEFNP * (1-ART1731BIS)));
+pour i = V,C,P:
+BICNPi = BINTAi+BINHTAi+  MIB_NETNPVi + MIB_NETNPPi ;
+BICNPF = max(0,somme(i=V,C,P:BICNPi)+MIB_NETNPCT - TOTDEFNP)  ; 
+DEFNPI = (abs(min( DEFNP , somme(i=V,C,P:BICNPi*positif(BICNPi))))) * positif(BICNPV+BICNPC+BICNPP)
+	 * (1-positif(ART1731BIS))
+	 + TOTDEFNP1731 * positif(ART1731BIS);
+regle 857301:
+application : iliad , batch ;
+DEFNP1731R  = somme (i=1,2,3,4,5,6:(min(DEFBICi,DEFBICi1731+0) * positif(ART1731BIS) + DEFBICi * (1 - ART1731BIS)));
+TOTDEFNP1731R = null(4-V_IND_TRAIT) * DEFNP1731R
+	 + null(5-V_IND_TRAIT) * max(0,min(DEFNP1731R,TOTDEFNP1731*ART1731BIS
+				  + DEFNP1731R * (1-ART1731BIS)));
+pour i = V,C,P:
+BICNPi1731R = BINTAi1731R+BINHTAi1731R+  MIB_NETNPVi + MIB_NETNPPi ;
+BICNPF1731R = max(0,somme(i=V,C,P:BICNPi1731R)+MIB_NETNPCT - TOTDEFNP)  ; 
+DEFNPI1731R = (abs(min( DEFNP1731R , somme(i=V,C,P:BICNPi1731R*positif(BICNPi1731R)))))
+	 * (1-positif(ART1731BIS))
+	 + TOTDEFNP1731 * positif(ART1731BIS);
+
+
+regle 85740:
+application : iliad , batch ;
+BICNPR = somme(i=V,C,P:BINTAi);
+regle 85750:
+application : iliad , batch ;
+BI12F = somme(i=V,C,P:REVIBI12i) + MIB_1AF  ; 
+regle 85900:
+application : iliad , batch  ;                   
+pour i=V,C,P:                                       
+BICIMPi = BIHTAi +  BIPTAi + MIB_NETVi + MIB_NETPi;
+BIN = BICPF + BICNPF ;
+regle 859001:
+application : iliad ;                   
+pour i=V,C,P:                                       
+BICIMPi1731R = BIHTAi1731R +  BIPTAi1731R + MIB_NETVi + MIB_NETPi;
+BIN1731R = BICPF1731R + BICNPF1731R ;
+regle 85960:
+application : batch, iliad ;
+
+
+
+DCTMIB = (BICPMVCTV + BICPMVCTC + BICPMVCTP) * positif_ou_nul(BIPN+MIB_NETCT)
+	 + (1-positif_ou_nul(BIPN+MIB_NETCT)) * ((BICPMVCTV +BICPMVCTC +BICPMVCTP ) - abs(BIPN+MIB_NETCT))
+	 + (1-positif_ou_nul(BIPN+MIB_NETCT)) * null((BICPMVCTV +BICPMVCTC +BICPMVCTP) - abs(BIPN+MIB_NETCT)) * (BICPMVCTV +BICPMVCTC +BICPMVCTP)
+	 ;
+DCTMIBNP = MIBNPDCT * positif_ou_nul(BINNV+BINNC+BINNP+MIB_NETNPCT)
+	 + (1-positif_ou_nul(BINNV+BINNC+BINNP+MIB_NETNPCT)) * (MIBNPDCT - abs(BINNV+BINNC+BINNP+MIB_NETNPCT))
+	 + (1-positif_ou_nul(BINNV+BINNC+BINNP+MIB_NETNPCT)) * null(MIBNPDCT - abs(BINNV+BINNC+BINNP+MIB_NETNPCT))*MIBNPDCT
+	 ;
+regle 90000:
+application : iliad , batch  ;                   
+DEPLOCV = (LOCPROCGAV - LOCDEFPROCGAV) + (LOCPROV - LOCDEFPROV) ;
+DEPLOCC = (LOCPROCGAC - LOCDEFPROCGAC) + (LOCPROC - LOCDEFPROC) ;
+DEPLOCP = (LOCPROCGAP - LOCDEFPROCGAP) + (LOCPROP - LOCDEFPROP) ;
+DENPLOCAFFV = positif(present(LOCNPCGAV) + present(LOCGITCV) + present(LOCDEFNPCGAV) + present(LOCNPV) + present(LOCGITHCV) + present(LOCDEFNPV)) ;
+DENPLOCAFFC = positif(present(LOCNPCGAC) + present(LOCGITCC) + present(LOCDEFNPCGAC) + present(LOCNPC) + present(LOCGITHCC) + present(LOCDEFNPC)) ;
+DENPLOCAFFP = positif(present(LOCNPCGAPAC) + present(LOCGITCP) + present(LOCDEFNPCGAPAC) + present(LOCNPPAC) + present(LOCGITHCP) + present(LOCDEFNPPAC)) ;
+
+DENPLOCV = (LOCNPCGAV + LOCGITCV - LOCDEFNPCGAV) + (LOCNPV + LOCGITHCV - LOCDEFNPV) ;
+DENPLOCC = (LOCNPCGAC + LOCGITCC - LOCDEFNPCGAC) + (LOCNPC + LOCGITHCC - LOCDEFNPC) ;
+DENPLOCP = (LOCNPCGAPAC + LOCGITCP - LOCDEFNPCGAPAC) + (LOCNPPAC + LOCGITHCP - LOCDEFNPPAC) ;
+
+PLOCCGAV = LOCPROCGAV - (LOCDEFPROCGAV * (1 - positif(ART1731BIS) ));
+PLOCCGAC = LOCPROCGAC - (LOCDEFPROCGAC * (1 - positif(ART1731BIS) ));
+PLOCCGAPAC = LOCPROCGAP - (LOCDEFPROCGAP * (1 - positif(ART1731BIS) ));
+VARLOCDEFNPCGAV = min(LOCNPCGAV,LOCDEFNPCGAV);
+VARLOCDEFNPCGAC = min(LOCNPCGAC,LOCDEFNPCGAC);
+VARLOCDEFNPCGAP = min(LOCNPCGAPAC,LOCDEFNPCGAPAC);
+NPLOCCGAV = LOCNPCGAV + LOCGITCV - (min(LOCDEFNPCGAV,LOCDEFNPCGAV1731+0) * positif(ART1731BIS) + LOCDEFNPCGAV * (1 - ART1731BIS));
+NPLOCCGAC = LOCNPCGAC + LOCGITCC - (min(LOCDEFNPCGAC,LOCDEFNPCGAC1731+0) * positif(ART1731BIS) + LOCDEFNPCGAC * (1 - ART1731BIS));
+NPLOCCGAPAC = LOCNPCGAPAC + LOCGITCP - (min(LOCDEFNPCGAPAC,LOCDEFNPCGAPAC1731+0) * positif(ART1731BIS) + LOCDEFNPCGAPAC * (1 - ART1731BIS));
+NPLOCCGASSV = LOCNPCGAV + LOCGITCV - LOCDEFNPCGAV;
+NPLOCCGASSC = LOCNPCGAC + LOCGITCC - LOCDEFNPCGAC;
+NPLOCCGASSPAC = LOCNPCGAPAC + LOCGITCP - LOCDEFNPCGAPAC;
+NPLOCCGASV = arr(NPLOCCGAV * LOCNPCGAV / (LOCNPCGAV + LOCGITCV))* present(LOCNPCGAV) + min(0,NPLOCCGAV) * (1-present(LOCNPCGAV));
+NPLOCCGASC = arr(NPLOCCGAC * LOCNPCGAC / (LOCNPCGAC + LOCGITCC))* present(LOCNPCGAC) + min(0,NPLOCCGAC) * (1-present(LOCNPCGAC));
+NPLOCCGASP = arr(NPLOCCGAPAC * LOCNPCGAPAC / (LOCNPCGAPAC + LOCGITCP))* present(LOCNPCGAPAC) + min(0,NPLOCCGAPAC) * (1-present(LOCNPCGAPAC));
+NPLOCCGANSV = NPLOCCGAV - NPLOCCGASV;
+NPLOCCGANSC = NPLOCCGAC - NPLOCCGASC;
+NPLOCCGANSP = NPLOCCGAPAC - NPLOCCGASP;
+PLOCV = min(0,LOCPROV - (LOCDEFPROV * (1 - positif(ART1731BIS) )))
+				 * positif_ou_nul((LOCDEFPROV * (1 - positif(ART1731BIS) )) - LOCPROV)
+	       + arr(max(0, LOCPROV - (LOCDEFPROV * (1 - positif(ART1731BIS) ))) * MAJREV) 
+						       * positif(LOCPROV - (LOCDEFPROV * (1 - positif(ART1731BIS) )));
+PLOCC = min(0,LOCPROC - (LOCDEFPROC * (1 - positif(ART1731BIS) ))) 
+			  * positif_ou_nul((LOCDEFPROC * (1 - positif(ART1731BIS) ))- LOCPROC) 
+	       + arr(max(0, LOCPROC - (LOCDEFPROC * (1 - positif(ART1731BIS) ))) * MAJREV) 
+					  * positif(LOCPROC - (LOCDEFPROC * (1 - positif(ART1731BIS) )));
+PLOCPAC = min(0,LOCPROP - (LOCDEFPROP * (1 - positif(ART1731BIS) ))) 
+			      * positif_ou_nul((LOCDEFPROP * (1 - positif(ART1731BIS) ))- LOCPROP) 
+	       + arr(max(0, LOCPROP - (LOCDEFPROP * (1 - positif(ART1731BIS) ))) * MAJREV) 
+				   * positif(LOCPROP - (LOCDEFPROP * (1 - positif(ART1731BIS) )));
+VARLOCDEFNPV = min(LOCDEFNPV,LOCNPV);
+VARLOCDEFNPC = min(LOCDEFNPC,LOCNPC);
+VARLOCDEFNPP = min(LOCDEFNPPAC,LOCNPPAC);
+NPLOCV = min(0,LOCNPV + LOCGITHCV - (min(LOCDEFNPV,LOCDEFNPV1731+0) * positif(ART1731BIS) + LOCDEFNPV * (1 - ART1731BIS))) 
+				       * positif_ou_nul((min(LOCDEFNPV,LOCDEFNPV1731+0) * positif(ART1731BIS) + LOCDEFNPV * (1 - ART1731BIS))- LOCNPV- LOCGITHCV ) 
+	       + arr(max(0, LOCNPV + LOCGITHCV - (min(LOCDEFNPV,LOCDEFNPV1731+0) * positif(ART1731BIS) + LOCDEFNPV * (1 - ART1731BIS))) * MAJREV) 
+				 * positif(LOCNPV + LOCGITHCV - (min(LOCDEFNPV,LOCDEFNPV1731+0) * positif(ART1731BIS) + LOCDEFNPV * (1 - ART1731BIS)));
+
+NPLOCC = min(0,LOCNPC + LOCGITHCC - (min(LOCDEFNPC,LOCDEFNPC1731+0) * positif(ART1731BIS) + LOCDEFNPC * (1 - ART1731BIS))) 
+				       * positif_ou_nul((min(LOCDEFNPC,LOCDEFNPC1731+0) * positif(ART1731BIS) + LOCDEFNPC * (1 - ART1731BIS))- LOCNPC- LOCGITHCC ) 
+	       + arr(max(0, LOCNPC + LOCGITHCC - (min(LOCDEFNPC,LOCDEFNPC1731+0) * positif(ART1731BIS) + LOCDEFNPC * (1 - ART1731BIS))) * MAJREV) 
+						 * positif(LOCNPC + LOCGITHCC - (min(LOCDEFNPC,LOCDEFNPC1731+0) * positif(ART1731BIS) + LOCDEFNPC * (1 - ART1731BIS)));
+
+NPLOCPAC = min(0,LOCNPPAC + LOCGITHCP - (min(LOCDEFNPPAC,LOCDEFNPPAC1731+0) * positif(ART1731BIS) + LOCDEFNPPAC * (1 - ART1731BIS))) 
+				       * positif_ou_nul( (min(LOCDEFNPPAC,LOCDEFNPPAC1731+0) * positif(ART1731BIS) + LOCDEFNPPAC * (1 - ART1731BIS))- LOCNPPAC- LOCGITHCP ) 
+	       + arr(max(0, LOCNPPAC + LOCGITHCP - (min(LOCDEFNPPAC,LOCDEFNPPAC1731+0) * positif(ART1731BIS) + LOCDEFNPPAC * (1 - ART1731BIS))) * MAJREV) 
+						 * positif(LOCNPPAC + LOCGITHCP - (min(LOCDEFNPPAC,LOCDEFNPPAC1731+0) * positif(ART1731BIS) + LOCDEFNPPAC * (1 - ART1731BIS)));
+NPLOCSSV = min(0,LOCNPV + LOCGITHCV - LOCDEFNPV) 
+				       * positif_ou_nul(LOCDEFNPV- LOCNPV- LOCGITHCV ) 
+	       + arr(max(0, LOCNPV + LOCGITHCV - LOCDEFNPV) * MAJREV) 
+				 * positif(LOCNPV + LOCGITHCV -LOCDEFNPC );
+
+NPLOCSSC = min(0,LOCNPC + LOCGITHCC - LOCDEFNPC) 
+				       * positif_ou_nul(LOCDEFNPC- LOCNPC- LOCGITHCC ) 
+	       + arr(max(0, LOCNPC + LOCGITHCC - LOCDEFNPC) * MAJREV) 
+						 * positif(LOCNPC + LOCGITHCC - LOCDEFNPC);
+
+NPLOCSSPAC = min(0,LOCNPPAC + LOCGITHCP - LOCDEFNPPAC) 
+				       * positif_ou_nul(LOCDEFNPPAC- LOCNPPAC- LOCGITHCP ) 
+	       + arr(max(0, LOCNPPAC + LOCGITHCP - LOCDEFNPPAC) * MAJREV) 
+						 * positif(LOCNPPAC + LOCGITHCP - LOCDEFNPPAC);
+NPLOCSV = arr(NPLOCV * LOCNPV / (LOCNPV + LOCGITHCV))* positif(LOCNPV) + min(0,NPLOCV) * (1-positif(LOCNPV));
+NPLOCSC = arr(NPLOCC * LOCNPC / (LOCNPC + LOCGITHCC))* present(LOCNPC) + min(0,NPLOCC) * (1-positif(LOCNPC));
+NPLOCSP = arr(NPLOCPAC * LOCNPPAC / (LOCNPPAC + LOCGITHCP))* positif(LOCNPPAC) + min(0,NPLOCPAC) * (1-positif(LOCNPPAC));
+NPLOCNSV = NPLOCV - NPLOCSV;
+NPLOCNSC =  NPLOCC - NPLOCSC;
+NPLOCNSP = NPLOCPAC - NPLOCSP;
+regle 900001:
+application : iliad ;                   
+DEPLOCV1731R = (LOCPROCGAV - LOCDEFPROCGAV) + (LOCPROV - LOCDEFPROV) ;
+DEPLOCC1731R = (LOCPROCGAC - LOCDEFPROCGAC) + (LOCPROC - LOCDEFPROC) ;
+DEPLOCP1731R = (LOCPROCGAP - LOCDEFPROCGAP) + (LOCPROP - LOCDEFPROP) ;
+
+DENPLOCV1731R = (LOCNPCGAV + LOCGITCV - LOCDEFNPCGAV) + (LOCNPV + LOCGITHCV - LOCDEFNPV) ;
+DENPLOCC1731R = (LOCNPCGAC + LOCGITCC - LOCDEFNPCGAC) + (LOCNPC + LOCGITHCC - LOCDEFNPC) ;
+DENPLOCP1731R = (LOCNPCGAPAC + LOCGITCP - LOCDEFNPCGAPAC) + (LOCNPPAC + LOCGITHCP - LOCDEFNPPAC) ;
+
+PLOCCGAV1731R = LOCPROCGAV - LOCDEFPROCGAV;
+PLOCCGAC1731R = LOCPROCGAC - LOCDEFPROCGAC;
+PLOCCGAPAC1731R = LOCPROCGAP - LOCDEFPROCGAP;
+NPLOCCGAV1731R = LOCNPCGAV + LOCGITCV - LOCDEFNPCGAV;
+NPLOCCGAC1731R = LOCNPCGAC + LOCGITCC - LOCDEFNPCGAC;
+NPLOCCGAPAC1731R = LOCNPCGAPAC + LOCGITCP - LOCDEFNPCGAPAC;
+NPLOCCGASSV1731R = LOCNPCGAV + LOCGITCV - LOCDEFNPCGAV;
+NPLOCCGASSC1731R = LOCNPCGAC + LOCGITCC - LOCDEFNPCGAC;
+NPLOCCGASSPAC1731R = LOCNPCGAPAC + LOCGITCP - LOCDEFNPCGAPAC;
+NPLOCCGASV1731R = arr(NPLOCCGASSV * LOCNPCGAV / (LOCNPCGAV + LOCGITCV))* present(LOCNPCGAV) + min(0,NPLOCCGASSV) * (1-present(LOCNPCGAV));
+NPLOCCGASC1731R = arr(NPLOCCGASSC * LOCNPCGAC / (LOCNPCGAC + LOCGITCC))* present(LOCNPCGAC) + min(0,NPLOCCGASSC) * (1-present(LOCNPCGAC));
+NPLOCCGASP1731R = arr(NPLOCCGASSPAC * LOCNPCGAPAC / (LOCNPCGAPAC + LOCGITCP))* present(LOCNPCGAPAC) + min(0,NPLOCCGASSPAC) * (1-present(LOCNPCGAPAC));
+NPLOCCGANSV1731R = NPLOCCGAV - NPLOCCGASV;
+NPLOCCGANSC1731R = NPLOCCGAC - NPLOCCGASC;
+NPLOCCGANSP1731R = NPLOCCGAPAC - NPLOCCGASP;
+PLOCV1731R = min(0,LOCPROV - LOCDEFPROV)
+				 * positif_ou_nul(LOCDEFPROV - LOCPROV)
+	       + arr(max(0, LOCPROV - LOCDEFPROV ) * MAJREV) 
+						       * positif(LOCPROV - LOCDEFPROV);
+PLOCC1731R = min(0,LOCPROC - LOCDEFPROC) 
+			  * positif_ou_nul(LOCDEFPROC - LOCPROC) 
+	       + arr(max(0, LOCPROC - LOCDEFPROC) * MAJREV) 
+					  * positif(LOCPROC - LOCDEFPROC);
+PLOCPAC1731R = min(0,LOCPROP - LOCDEFPROP) 
+			      * positif_ou_nul(LOCDEFPROP- LOCPROP) 
+	       + arr(max(0, LOCPROP - LOCDEFPROP) * MAJREV) 
+				   * positif(LOCPROP - LOCDEFPROP);
+NPLOCV1731R = min(0,LOCNPV + LOCGITHCV - LOCDEFNPV ) 
+				       * positif_ou_nul(LOCDEFNPV- LOCNPV- LOCGITHCV ) 
+	       + arr(max(0, LOCNPV + LOCGITHCV - LOCDEFNPV) * MAJREV) 
+				 * positif(LOCNPV + LOCGITHCV - LOCDEFNPV);
+
+NPLOCC1731R = min(0,LOCNPC + LOCGITHCC - LOCDEFNPC) 
+				       * positif_ou_nul(LOCDEFNPC- LOCNPC- LOCGITHCC ) 
+	       + arr(max(0, LOCNPC + LOCGITHCC - LOCDEFNPC) * MAJREV) 
+						 * positif(LOCNPC + LOCGITHCC - LOCDEFNPC);
+
+NPLOCPAC1731R = min(0,LOCNPPAC + LOCGITHCP - LOCDEFNPPAC) 
+				       * positif_ou_nul( LOCDEFNPPAC- LOCNPPAC- LOCGITHCP ) 
+	       + arr(max(0, LOCNPPAC + LOCGITHCP - LOCDEFNPPAC) * MAJREV) 
+						 * positif(LOCNPPAC + LOCGITHCP - LOCDEFNPPAC);
+NPLOCSSV1731R = min(0,LOCNPV + LOCGITHCV - LOCDEFNPV) 
+				       * positif_ou_nul(LOCDEFNPV- LOCNPV- LOCGITHCV ) 
+	       + arr(max(0, LOCNPV + LOCGITHCV - LOCDEFNPV) * MAJREV) 
+				 * positif(LOCNPV + LOCGITHCV -LOCDEFNPC );
+
+NPLOCSSC1731R = min(0,LOCNPC + LOCGITHCC - LOCDEFNPC) 
+				       * positif_ou_nul(LOCDEFNPC- LOCNPC- LOCGITHCC ) 
+	       + arr(max(0, LOCNPC + LOCGITHCC - LOCDEFNPC) * MAJREV) 
+						 * positif(LOCNPC + LOCGITHCC - LOCDEFNPC);
+
+NPLOCSSPAC1731R = min(0,LOCNPPAC + LOCGITHCP - LOCDEFNPPAC) 
+				       * positif_ou_nul(LOCDEFNPPAC- LOCNPPAC- LOCGITHCP ) 
+	       + arr(max(0, LOCNPPAC + LOCGITHCP - LOCDEFNPPAC) * MAJREV) 
+						 * positif(LOCNPPAC + LOCGITHCP - LOCDEFNPPAC);
+NPLOCSV1731R = arr(NPLOCSSV * LOCNPV / (LOCNPV + LOCGITHCV))* positif(LOCNPV) + min(0,NPLOCSSV) * (1-positif(LOCNPV));
+NPLOCSC1731R = arr(NPLOCSSC * LOCNPC / (LOCNPC + LOCGITHCC))* present(LOCNPC) + min(0,NPLOCSSC) * (1-positif(LOCNPC));
+NPLOCSP1731R = arr(NPLOCSSPAC * LOCNPPAC / (LOCNPPAC + LOCGITHCP))* positif(LOCNPPAC) + min(0,NPLOCSSPAC) * (1-positif(LOCNPPAC));
+NPLOCNSV1731R = NPLOCV - NPLOCSV;
+NPLOCNSC1731R =  NPLOCC - NPLOCSC;
+NPLOCNSP1731R = NPLOCPAC - NPLOCSP;
+regle 90010:
+application : iliad , batch  ;                   
+PLOCNETV = PLOCCGAV + PLOCV;
+PLOCNETC = PLOCCGAC + PLOCC;
+PLOCNETPAC = PLOCCGAPAC + PLOCPAC;
+NPLOCNETTV = NPLOCCGAV + NPLOCV + MIB_NETNPVLV + MIB_NETNPPLV ;
+NPLOCNETTC = NPLOCCGAC + NPLOCC + MIB_NETNPVLC + MIB_NETNPPLC ;
+NPLOCNETTPAC = NPLOCCGAPAC + NPLOCPAC + MIB_NETNPVLP + MIB_NETNPPLP ;
+NPLOCNETTSV = NPLOCCGASV + NPLOCSV + MIBNETNPVLSV + MIB_NETNPPLV ;
+NPLOCNETTSC = NPLOCCGASC + NPLOCSC + MIBNETNPVLSC + MIB_NETNPPLC ;
+NPLOCNETTSP = NPLOCCGASP + NPLOCSP + MIBNETNPVLSP + MIB_NETNPPLP ;
+NPLOCNETV = NPLOCCGAV + NPLOCV ;
+NPLOCNETC = NPLOCCGAC + NPLOCC ;
+NPLOCNETPAC = NPLOCCGAPAC + NPLOCPAC ;
+regle 900101:
+application : iliad  ;                   
+PLOCNETV1731R = PLOCCGAV1731R + PLOCV1731R;
+PLOCNETC1731R = PLOCCGAC1731R + PLOCC1731R;
+PLOCNETPAC1731R = PLOCCGAPAC1731R + PLOCPAC1731R;
+NPLOCNETTV1731R = NPLOCCGAV1731R + NPLOCV1731R + MIB_NETNPVLV + MIB_NETNPPLV ;
+NPLOCNETTC1731R = NPLOCCGAC1731R + NPLOCC1731R + MIB_NETNPVLC + MIB_NETNPPLC ;
+NPLOCNETTPAC1731R = NPLOCCGAPAC1731R + NPLOCPAC1731R + MIB_NETNPVLP + MIB_NETNPPLP ;
+NPLOCNETTSV1731R = NPLOCCGASV1731R + NPLOCSV1731R + MIBNETNPVLSV + MIB_NETNPPLV ;
+NPLOCNETTSC1731R = NPLOCCGASC1731R + NPLOCSC1731R + MIBNETNPVLSC + MIB_NETNPPLC ;
+NPLOCNETTSP1731R = NPLOCCGASP1731R + NPLOCSP1731R + MIBNETNPVLSP + MIB_NETNPPLP ;
+NPLOCNETV1731R = NPLOCCGAV1731R + NPLOCV1731R ;
+NPLOCNETC1731R = NPLOCCGAC1731R + NPLOCC1731R ;
+NPLOCNETPAC1731R = NPLOCCGAPAC1731R + NPLOCPAC1731R ;
+regle 90020:
+application : iliad , batch  ;                   
+PLOCNETF = PLOCNETV + PLOCNETC + PLOCNETPAC;
+TOTDEFLOCNP = LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5
+		+ LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1;
+TOTDEFLOCNPBIS = null(4-V_IND_TRAIT) * (LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5+ LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1 ) * (1-ART1731BIS)
+                + null(5-V_IND_TRAIT) * max(0,min(LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5+ LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1,
+		TOTDEFLOCNP1731*ART1731BIS+ (LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5+ LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1)*(1-ART1731BIS)));
+TOTDEFLOCNPPS = LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5
+	        + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1;
+NPLOCNETF10 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODEF10,LNPRODEF101731+0) * positif(ART1731BIS) + LNPRODEF10 * (1 - ART1731BIS))
+						      +(min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS) + LNPRODEF9 * (1 - ART1731BIS)));
+NPLOCNETF9 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODEF10,LNPRODEF101731+0) * positif(ART1731BIS) + LNPRODEF10 * (1 - ART1731BIS)) 
+						      +(min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS) + LNPRODEF9 * (1 - ART1731BIS)) 
+						      +(min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS) + LNPRODEF8 * (1 - ART1731BIS)));
+NPLOCNETF8 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODEF10,LNPRODEF101731+0) * positif(ART1731BIS) + LNPRODEF10 * (1 - ART1731BIS)) 
+						      +(min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS) + LNPRODEF9 * (1 - ART1731BIS)) 
+						      +(min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS) + LNPRODEF8 * (1 - ART1731BIS)) 
+						      +(min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS) + LNPRODEF7 * (1 - ART1731BIS)));
+NPLOCNETF7 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODEF10,LNPRODEF101731+0) * positif(ART1731BIS) + LNPRODEF10 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS)  + LNPRODEF9 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS)  + LNPRODEF8 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS)  + LNPRODEF7 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF6,LNPRODEF61731+0) * positif(ART1731BIS)  + LNPRODEF6 * (1 - ART1731BIS)));
+NPLOCNETF6 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODEF10,LNPRODEF101731+0) * positif(ART1731BIS) + LNPRODEF10 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS)  + LNPRODEF9 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS)  + LNPRODEF8 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS)  + LNPRODEF7 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF6,LNPRODEF61731+0) * positif(ART1731BIS)  + LNPRODEF6 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF5,LNPRODEF51731+0) * positif(ART1731BIS)  + LNPRODEF5 * (1 - ART1731BIS)));
+NPLOCNETF5 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODEF10,LNPRODEF101731+0) * positif(ART1731BIS) + LNPRODEF10 * (1 - ART1731BIS)) 
+                                                  + (min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS)  + LNPRODEF9 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS)  + LNPRODEF8 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS)  + LNPRODEF7 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF6,LNPRODEF61731+0) * positif(ART1731BIS)  + LNPRODEF6 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF5,LNPRODEF51731+0) * positif(ART1731BIS)  + LNPRODEF5 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF4,LNPRODEF41731+0) * positif(ART1731BIS) + LNPRODEF4 * (1 - ART1731BIS)));
+NPLOCNETF4 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODEF10,LNPRODEF101731+0) * positif(ART1731BIS) + LNPRODEF10 * (1 - ART1731BIS)) 
+                                                  + (min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS) + LNPRODEF9 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS) + LNPRODEF8 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS) + LNPRODEF7 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF6,LNPRODEF61731+0) * positif(ART1731BIS) + LNPRODEF6 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF5,LNPRODEF51731+0) * positif(ART1731BIS) + LNPRODEF5 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF4,LNPRODEF41731+0) * positif(ART1731BIS) + LNPRODEF4 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF3,LNPRODEF31731+0) * positif(ART1731BIS) + LNPRODEF3 * (1 - ART1731BIS)));
+NPLOCNETF3 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODEF10,LNPRODEF101731+0) * positif(ART1731BIS) + LNPRODEF10 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS) + LNPRODEF9 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS) + LNPRODEF8 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS) + LNPRODEF7 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF6,LNPRODEF61731+0) * positif(ART1731BIS) + LNPRODEF6 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF5,LNPRODEF51731+0) * positif(ART1731BIS) + LNPRODEF5 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF4,LNPRODEF41731+0) * positif(ART1731BIS) + LNPRODEF4 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF3,LNPRODEF31731+0) * positif(ART1731BIS) + LNPRODEF3 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF2,LNPRODEF21731+0) * positif(ART1731BIS) + LNPRODEF2 * (1 - ART1731BIS)) );
+NPLOCNETF2 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODEF10,LNPRODEF101731+0) * positif(ART1731BIS) + LNPRODEF10 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS) + LNPRODEF9 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS) + LNPRODEF8 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS) + LNPRODEF7 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF6,LNPRODEF61731+0) * positif(ART1731BIS) + LNPRODEF6 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF5,LNPRODEF51731+0) * positif(ART1731BIS) + LNPRODEF5 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF4,LNPRODEF41731+0) * positif(ART1731BIS) + LNPRODEF4 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF3,LNPRODEF31731+0) * positif(ART1731BIS) + LNPRODEF3 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF2,LNPRODEF21731+0) * positif(ART1731BIS) + LNPRODEF2 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF1,LNPRODEF11731+0) * positif(ART1731BIS) + LNPRODEF1 * (1 - ART1731BIS)));
+NPLOCNETF = max(0,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-TOTDEFLOCNPBIS);
+NPLOCNETSF = max(0,NPLOCNETTSV + NPLOCNETTSC + NPLOCNETTSP-TOTDEFLOCNPBIS);
+DNPLOCIMPU = (max(0,min(TOTDEFLOCNP,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC)))
+	     * (1-positif(ART1731BIS))
+	     + TOTDEFLOCNP1731 * positif(ART1731BIS);
+NPLOCNETFHDEFANT = max(0,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC);
+DEFNPLOCF = min(0,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(TOTDEFLOCNPBIS-LNPRODEF10));
+DEFNONPLOC = abs(DEFNPLOCF) ;
+regle 900201:
+application : iliad ;               
+PLOCNETF1731R = PLOCNETV1731R + PLOCNETC1731R + PLOCNETPAC1731R;
+TOTDEFLOCNP1731R = LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5
+		+ LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1;
+TOTDEFLOCNPBISR = null(4-V_IND_TRAIT) * (LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5+ LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1 )
+                + null(5-V_IND_TRAIT) * max(0,min(LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5+ LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1,
+		TOTDEFLOCNP1731*ART1731BIS+ (LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5+ LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1)*(1-ART1731BIS)));
+TOTDEFLOCNPPSR= LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5
+	        + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1;
+NPLOCNETF101731R = NPLOCNETTV1731R + NPLOCNETTC1731R + NPLOCNETTPAC1731R-((min(LNPRODEF10,LNPRODEF101731+0) * positif(ART1731BIS) + LNPRODEF10 * (1 - ART1731BIS))
+						      +(min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS) + LNPRODEF9 * (1 - ART1731BIS)));
+NPLOCNETF91731R = NPLOCNETTV1731R + NPLOCNETTC1731R + NPLOCNETTPAC1731R-((min(LNPRODEF10,LNPRODEF101731+0) * positif(ART1731BIS) + LNPRODEF10 * (1 - ART1731BIS)) 
+						      +(min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS) + LNPRODEF9 * (1 - ART1731BIS)) 
+						      +(min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS) + LNPRODEF8 * (1 - ART1731BIS)));
+NPLOCNETF81731R = NPLOCNETTV1731R + NPLOCNETTC1731R + NPLOCNETTPAC1731R-((min(LNPRODEF10,LNPRODEF101731+0) * positif(ART1731BIS) + LNPRODEF10 * (1 - ART1731BIS)) 
+						      +(min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS) + LNPRODEF9 * (1 - ART1731BIS)) 
+						      +(min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS) + LNPRODEF8 * (1 - ART1731BIS)) 
+						      +(min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS) + LNPRODEF7 * (1 - ART1731BIS)));
+NPLOCNETF71731R = NPLOCNETTV1731R + NPLOCNETTC1731R + NPLOCNETTPAC1731R-((min(LNPRODEF10,LNPRODEF101731+0) * positif(ART1731BIS) + LNPRODEF10 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS)  + LNPRODEF9 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS)  + LNPRODEF8 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS)  + LNPRODEF7 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF6,LNPRODEF61731+0) * positif(ART1731BIS)  + LNPRODEF6 * (1 - ART1731BIS)));
+NPLOCNETF61731R = NPLOCNETTV1731R + NPLOCNETTC1731R + NPLOCNETTPAC1731R-((min(LNPRODEF10,LNPRODEF101731+0) * positif(ART1731BIS) + LNPRODEF10 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS)  + LNPRODEF9 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS)  + LNPRODEF8 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS)  + LNPRODEF7 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF6,LNPRODEF61731+0) * positif(ART1731BIS)  + LNPRODEF6 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF5,LNPRODEF51731+0) * positif(ART1731BIS)  + LNPRODEF5 * (1 - ART1731BIS)));
+NPLOCNETF51731R = NPLOCNETTV1731R + NPLOCNETTC1731R + NPLOCNETTPAC1731R-((min(LNPRODEF10,LNPRODEF101731+0) * positif(ART1731BIS) + LNPRODEF10 * (1 - ART1731BIS)) 
+                                                  + (min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS)  + LNPRODEF9 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS)  + LNPRODEF8 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS)  + LNPRODEF7 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF6,LNPRODEF61731+0) * positif(ART1731BIS)  + LNPRODEF6 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF5,LNPRODEF51731+0) * positif(ART1731BIS)  + LNPRODEF5 * (1 - ART1731BIS)) 
+						  + (min(LNPRODEF4,LNPRODEF41731+0) * positif(ART1731BIS) + LNPRODEF4 * (1 - ART1731BIS)));
+NPLOC
\ No newline at end of file
diff --git a/sources2013m_3_8/chap-86.m b/sources2013m_3_8/chap-86.m
new file mode 100644
index 0000000000000000000000000000000000000000..d05658f9ea1b7593323640f2e07405f96f4d9c75
--- /dev/null
+++ b/sources2013m_3_8/chap-86.m
@@ -0,0 +1,271 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 8610 :
+application : iliad , batch  ;
+BNNSV = positif(BNHREV - (BNHDEV * (1 - positif(ART1731BIS))))
+				   * arr((BNHREV-(BNHDEV * (1 - positif(ART1731BIS))))*MAJREV) 
+				+ (1-positif_ou_nul(BNHREV-(BNHDEV * (1 - positif(ART1731BIS)))))
+				   *(BNHREV-(BNHDEV * (1 - positif(ART1731BIS) )));
+
+BNNSC = positif(BNHREC - (BNHDEC * (1 - positif(ART1731BIS))))
+				   * arr((BNHREC-(BNHDEC * (1 - positif(ART1731BIS))))*MAJREV) 
+				+ (1-positif_ou_nul(BNHREC-(BNHDEC * (1 - positif(ART1731BIS)))))
+				   *(BNHREC-(BNHDEC * (1 - positif(ART1731BIS) )));
+
+BNNSP = positif(BNHREP - (BNHDEP * (1 - positif(ART1731BIS) )))
+				   * arr((BNHREP-(BNHDEP * (1 - positif(ART1731BIS))))*MAJREV) 
+				+ (1-positif_ou_nul(BNHREP-(BNHDEP * (1 - positif(ART1731BIS)))))
+				   *(BNHREP-(BNHDEP * (1 - positif(ART1731BIS) )));
+
+BNNAV = (BNCREV - (BNCDEV * (1 - positif(ART1731BIS) ))) ;
+BNNAC = (BNCREC - (BNCDEC * (1 - positif(ART1731BIS) ))) ;
+BNNAP = (BNCREP - (BNCDEP * (1 - positif(ART1731BIS) ))) ;
+BNNAAV = (BNCAABV - (min(BNCAADV,max(BNCAADV_P,BNCAADV1731+0)) * positif(ART1731BIS) + BNCAADV * (1 - ART1731BIS))) ;
+BNNAAC = (BNCAABC - (min(BNCAADC,max(BNCAADV_P,BNCAADC1731+0)) * positif(ART1731BIS) + BNCAADC * (1 - ART1731BIS))) ;
+BNNAAP = (BNCAABP - (min(BNCAADP,max(BNCAADV_P,BNCAADP1731+0)) * positif(ART1731BIS) + BNCAADP * (1 - ART1731BIS))) ;
+regle 86101 :
+application : iliad  ;
+BNNSV1731R = positif(BNHREV - BNHDEV )
+				   * arr((BNHREV-BNHDEV )*MAJREV) 
+				+ (1-positif_ou_nul(BNHREV-BNHDEV ))
+				   *(BNHREV-BNHDEV );
+
+BNNSC1731R = positif(BNHREC - BNHDEC)
+				   * arr((BNHREC-BNHDEC)*MAJREV) 
+				+ (1-positif_ou_nul(BNHREC-BNHDEC ))
+				   *(BNHREC-BNHDEC);
+
+BNNSP1731R = positif(BNHREP - BNHDEP)
+				   * arr((BNHREP-BNHDEP)*MAJREV) 
+				+ (1-positif_ou_nul(BNHREP-BNHDEP))
+				   *(BNHREP-BNHDEP);
+
+BNNAV1731R = (BNCREV - BNCDEV) ;
+BNNAC1731R = (BNCREC - BNCDEC) ;
+BNNAP1731R = (BNCREP - BNCDEP) ;
+BNNAAV1731R = (BNCAABV - BNCAADV) ;
+BNNAAC1731R = (BNCAABC - BNCAADC) ;
+BNNAAP1731R = (BNCAABP - BNCAADP) ;
+regle 862:
+application : iliad , batch  ;
+VARDNOCEPV = min(DNOCEP,ANOCEP);
+VARDNOCEPC = min(DNOCEPC,ANOVEP);
+VARDNOCEPP = min(DNOCEPP,ANOPEP);
+NOCEPV = ANOCEP - DNOCEP + (BNCAABV - BNCAADV); 
+
+NOCEPC = ANOVEP - DNOCEPC + (BNCAABC - BNCAADC); 
+
+NOCEPP = ANOPEP - DNOCEPP + (BNCAABP - BNCAADP); 
+
+NOCEPIMPV = positif(ANOCEP - (min(DNOCEP,max(DNOCEP_P,DNOCEP1731+0)) * positif(ART1731BIS) + DNOCEP * (1 - ART1731BIS)))
+		    *arr((ANOCEP-(min(DNOCEP,max(DNOCEP_P,DNOCEP1731+0)) * positif(ART1731BIS) + DNOCEP * (1 - ART1731BIS)))*MAJREV) 
+	   + positif_ou_nul((min(DNOCEP,max(DNOCEP_P,DNOCEP1731+0)) * positif(ART1731BIS) + DNOCEP * (1 - ART1731BIS))-ANOCEP)
+	           *(ANOCEP-(min(DNOCEP,max(DNOCEP_P,DNOCEP1731+0)) * positif(ART1731BIS) + DNOCEP * (1 - ART1731BIS)))+BNNAAV;
+
+NOCEPIMPC = positif(ANOVEP - (min(DNOCEPC,max(DNOCEPC_P,DNOCEPC1731+0)) * positif(ART1731BIS) + DNOCEPC * (1 - ART1731BIS)))
+			    *arr((ANOVEP-(min(DNOCEPC,max(DNOCEPC_P,DNOCEPC1731+0)) * positif(ART1731BIS) + DNOCEPC * (1 - ART1731BIS)))*MAJREV) 
+	   + positif_ou_nul((min(DNOCEPC,max(DNOCEPC_P,DNOCEPC1731+0)) * positif(ART1731BIS) + DNOCEPC * (1 - ART1731BIS))-ANOVEP)
+			    *(ANOVEP-(min(DNOCEPC,max(DNOCEPC_P,DNOCEPC1731+0)) * positif(ART1731BIS) + DNOCEPC * (1 - ART1731BIS)))+BNNAAC;
+
+NOCEPIMPP = positif(ANOPEP - (min(DNOCEPP,max(DNOCEPP_P,DNOCEPP1731+0)) * positif(ART1731BIS) + DNOCEPP * (1 - ART1731BIS)))
+				    *arr((ANOPEP-(min(DNOCEPP,max(DNOCEPP_P,DNOCEPP1731+0)) * positif(ART1731BIS) + DNOCEPP * (1 - ART1731BIS)))*MAJREV) 
+	   + positif_ou_nul((min(DNOCEPP,max(DNOCEPP_P,DNOCEPP1731+0)) * positif(ART1731BIS) + DNOCEPP * (1 - ART1731BIS))-ANOPEP)
+				    *(ANOPEP-(min(DNOCEPP,max(DNOCEPP_P,DNOCEPP1731+0)) * positif(ART1731BIS) + DNOCEPP * (1 - ART1731BIS)))+BNNAAP;
+
+NOCEPIMP = NOCEPIMPV+NOCEPIMPC+NOCEPIMPP;
+
+TOTDABNCNP = null(4-V_IND_TRAIT) * (DABNCNP6 + DABNCNP5 + DABNCNP4 + DABNCNP3 + DABNCNP2 + DABNCNP1) * (1-ART1731BIS)
+	   + null(5-V_IND_TRAIT) * max(0,min(DABNCNP6 + DABNCNP5 + DABNCNP4 + DABNCNP3 + DABNCNP2 + DABNCNP1,TOTDABNCNP1731*ART1731BIS+
+				      (DABNCNP6 + DABNCNP5 + DABNCNP4 + DABNCNP3 + DABNCNP2 + DABNCNP1) * (1-ART1731BIS))); 
+BNN = somme(i=V,C,P:BNRi) + SPENETPF + max(0,SPENETNPF + NOCEPIMP - TOTDABNCNP);
+regle 86201:
+application : iliad  ;
+NOCEPV1731R = ANOCEP - DNOCEP + (BNCAABV - BNCAADV); 
+
+NOCEPC1731R = ANOVEP - DNOCEPC + (BNCAABC - BNCAADC); 
+
+NOCEPP1731R = ANOPEP - DNOCEPP + (BNCAABP - BNCAADP); 
+
+NOCEPIMPV1731R = positif(ANOCEP - DNOCEP)
+		    *arr((ANOCEP- DNOCEP)*MAJREV) 
+	   + positif_ou_nul(DNOCEP-ANOCEP)
+	           *(ANOCEP- DNOCEP)+BNNAAV;
+
+NOCEPIMPC1731R = positif(ANOVEP - DNOCEPC)
+			    *arr((ANOVEP- DNOCEPC)*MAJREV) 
+	   + positif_ou_nul(DNOCEPC-ANOVEP)
+			    *(ANOVEP- DNOCEPC)+BNNAAC;
+
+NOCEPIMPP1731R = positif(ANOPEP - DNOCEPP)
+				    *arr((ANOPEP- DNOCEPP)*MAJREV) 
+	   + positif_ou_nul(DNOCEPP-ANOPEP)
+				    *(ANOPEP- DNOCEPP)+BNNAAP;
+
+NOCEPIMP1731R = NOCEPIMPV1731R+NOCEPIMPC1731R+NOCEPIMPP1731R;
+
+TOTDABNCNP1731R = null(4-V_IND_TRAIT) * (DABNCNP6 + DABNCNP5 + DABNCNP4 + DABNCNP3 + DABNCNP2 + DABNCNP1)
+	   + null(5-V_IND_TRAIT) * max(0,min(DABNCNP6 + DABNCNP5 + DABNCNP4 + DABNCNP3 + DABNCNP2 + DABNCNP1,TOTDABNCNP1731*ART1731BIS+
+				      (DABNCNP6 + DABNCNP5 + DABNCNP4 + DABNCNP3 + DABNCNP2 + DABNCNP1) * (1-ART1731BIS))); 
+BNN1731R = somme(i=V,C,P:BNRi) + SPENETPF + max(0,SPENETNPF + NOCEPIMP - TOTDABNCNP);
+regle 8621:
+application : iliad , batch  ;
+pour i = V,C,P:
+BNNi =  BNRi + SPENETi;
+regle 862101:
+application : iliad ;
+pour i = V,C,P:
+BNNi1731R =  BNRi1731R + SPENETi1731R;
+regle 86211:
+application : iliad , batch  ;
+pour i = V,C,P:
+BNRi = BNNSi + BNNAi;
+BNRTOT = BNRV + BNRC + BNRP;
+regle 862111:
+application : iliad  ;
+pour i = V,C,P:
+BNRi1731R = BNNSi1731R + BNNAi1731R;
+BNRTOT1731R = BNRV1731R + BNRC1731R + BNRP1731R;
+regle 863:
+application : iliad , batch  ;
+BN1 = somme(i=V,C,P:BN1i);
+regle 8631:
+application : iliad , batch  ;
+pour i = V,C,P:
+BN1i = BN1Ai + PVINiE + INVENTi;
+regle 864:                                                                    
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPETOTi = BNCPROi + BNCNPi;
+regle 8641:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPEBASABi=SPETOTi;
+pour i = V,C,P:                                                                 
+SPEABi = arr((max(MIN_SPEBNC,(SPEBASABi * SPETXAB/100))) * 
+                       positif_ou_nul(SPETOTi - MIN_SPEBNC)) +
+          arr((min(MIN_SPEBNC,SPEBASABi )) * 
+                       positif(MIN_SPEBNC - SPETOTi)); 
+regle 86411:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPEABPi = arr((SPEABi * BNCPROi)/SPETOTi);                                  
+pour i = V,C,P:                                                                 
+SPEABNPi = SPEABi - SPEABPi;                                  
+regle 8642:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPENETPi = max (0,(BNCPROi - SPEABPi));                                    
+pour i = V,C,P:                                                                 
+SPENETNPi = max (0,(BNCNPi - SPEABNPi));
+pour i = V,C,P:                                                                 
+SPENETi = SPENETPi + SPENETNPi;
+SPENET = somme(i=V,C,P:(SPENETi));
+regle 8650:
+application : iliad , batch  ;                          
+SPENETCT = BNCPROPVV + BNCPROPVC + BNCPROPVP - BNCPMVCTV - BNCPMVCTC - BNCPMVCTP  ;
+SPENETNPCT = BNCNPPVV + BNCNPPVC + BNCNPPVP - BNCNPDCT;
+regle 8660:
+application : iliad , batch  ;                          
+SPENETPF = somme(i=V,C,P:SPENETPi) + SPENETCT;
+SPENETNPF = somme(i=V,C,P:SPENETNPi) + SPENETNPCT;                                    
+BNCNPTOT = SPENETPF + SPENETNPF;
+regle 8680:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPEPVPi = BNCPRO1Ai - BNCPRODEi;
+pour i = V,C,P:                                                                 
+SPEPVNPi = BNCNP1Ai - BNCNPDEi;
+SPEPV = somme(i=V,C,P:max(0,SPEPVPi + SPEPVNPi));
+
+regle 8690:
+application :  iliad , batch  ;                          
+
+DCTSPE = positif_ou_nul(BNRTOT+SPENETPF) * BNCPMVCTV
+        + ( 1 - positif_ou_nul(BNRTOT+SPENETPF)) * (BNCPMVCTV-abs(BNRTOT+SPENETPF))
+        + ( 1 - positif_ou_nul(BNRTOT+SPENETPF)) * null(BNCPMVCTV-abs(BNRTOT+SPENETPF))* BNCPMVCTV
+	;
+DCTSPENP = positif_ou_nul(NOCEPIMP+SPENETNPF) * BNCNPDCT
+        + ( 1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (BNCNPDCT-abs(NOCEPIMP+SPENETNPF))
+        + ( 1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * null(BNCNPDCT-abs(NOCEPIMP+SPENETNPF)) * BNCNPDCT
+	;
+regle 8691:
+application : iliad , batch  ;
+
+BNCDF6 = ((1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP5)
+                 + positif_ou_nul(NOCEPIMP+SPENETNPF)
+                 * min(max(NOCEPIMP+SPENETNPF-DABNCNP6,0)-DABNCNP5,DABNCNP5)*(-1)
+                 * positif_ou_nul(DABNCNP5-max(NOCEPIMP+SPENETNPF-DABNCNP6,0)))
+		 * (1-positif(ART1731BIS))
+                 + (min(DABNCNP5,BNCDF61731) *positif_ou_nul(BNCDF61731) + DABNCNP5 * (1-positif_ou_nul(BNCDF61731))) * positif(ART1731BIS)
+                          ;
+
+BNCDF5 = ((1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP4)
+                 + positif_ou_nul(NOCEPIMP+SPENETNPF)
+                 * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5,0)-DABNCNP4,DABNCNP4)*(-1)
+                 * positif_ou_nul(DABNCNP4-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5,0)))
+		 * (1-positif(ART1731BIS)) 
+                 + (min(DABNCNP4,BNCDF51731)  *positif_ou_nul(BNCDF51731) + DABNCNP4 * (1-positif_ou_nul(BNCDF51731)))* positif(ART1731BIS)
+                          ;
+
+BNCDF4 = ((1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP3)
+                 + positif_ou_nul(NOCEPIMP+SPENETNPF)
+                 * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4,0)-DABNCNP3,DABNCNP3)*(-1)
+                 * positif_ou_nul(DABNCNP3-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4,0)))
+		 * (1-positif(ART1731BIS))
+                 + (min(DABNCNP3,BNCDF41731) *positif_ou_nul(BNCDF41731) + DABNCNP3 * (1-positif_ou_nul(BNCDF41731))) * positif(ART1731BIS)
+                          ;
+
+BNCDF3 = ((1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP2)
+                 + positif_ou_nul(NOCEPIMP+SPENETNPF)
+                 * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3,0)-DABNCNP2,DABNCNP2)*(-1)
+                 * positif_ou_nul(DABNCNP2-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3,0)))
+		 * (1-positif(ART1731BIS))
+                 + (min(DABNCNP2,BNCDF31731) *positif_ou_nul(BNCDF31731) + DABNCNP2 * (1-positif_ou_nul(BNCDF31731))) * positif(ART1731BIS)
+                          ;
+BNCDF2 = ((1-positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP1)
+                + positif_ou_nul(NOCEPIMP+SPENETNPF)
+                * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2,0)-DABNCNP1,DABNCNP1)*(-1)
+                * positif_ou_nul(DABNCNP1-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCNP5-DABNCNP4-DABNCNP3-DABNCNP2,0)))
+		 * (1-positif(ART1731BIS))
+                 + (min(DABNCNP1,BNCDF21731) *positif_ou_nul(BNCDF21731) + DABNCNP1 * (1-positif_ou_nul(BNCDF21731))) * positif(ART1731BIS)
+                          ;
+
+BNCDF1 = (((1-positif_ou_nul(NOCEPIMP+SPENETNPF)) * abs(NOCEPIMP+SPENETNPF)
+                + positif_ou_nul(NOCEPIMP+SPENETNPF)
+                * positif_ou_nul(DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1-NOCEPIMP-SPENETNPF)
+                * (DABNCNP5+DABNCNP4+DABNCNP3+DABNCNP2+DABNCNP1-NOCEPIMP-SPENETNPF)
+                * null(BNCDF6+BNCDF5+BNCDF4+BNCDF3+BNCDF2))
+		* (1-positif(ART1731BIS))
+                + ((
+                  DNOCEP-min(DNOCEP,max(DNOCEP_P,DNOCEP1731+0)) 
+                  +DNOCEPC-min(DNOCEPC,max(DNOCEPC_P,DNOCEPC1731+0)) 
+                  +DNOCEPP-min(DNOCEPP,max(DNOCEPP_P,DNOCEPP1731+0)) 
+                  +BNCAADV-min(BNCAADV,max(BNCAADV_P,BNCAADV1731+0)) 
+                  +BNCAADC-min(BNCAADC,max(BNCAADC_P,BNCAADC1731+0)) 
+                  +BNCAADP-min(BNCAADP,max(BNCAADP_P,BNCAADP1731+0)) 
+                  ) *positif_ou_nul(BNCDF11731)
+                  +(DNOCEP +DNOCEPC +DNOCEPP +BNCAADV +BNCAADC +BNCAADP) * (1-positif_ou_nul(BNCDF11731))
+                  )* positif(ART1731BIS))
+                          ;
+regle 8692:
+application : iliad , batch  ;                          
+DABNCNP = DABNCNP1 + DABNCNP2 + DABNCNP3 + DABNCNP4 + DABNCNP5 + DABNCNP6;
+VAREDABNCNP = min(DABNCNP,SPENETNPF + NOCEPIMP);
diff --git a/sources2013m_3_8/chap-87.m b/sources2013m_3_8/chap-87.m
new file mode 100644
index 0000000000000000000000000000000000000000..4f59475c194be73e0957a63bac50bc23cffdbc4b
--- /dev/null
+++ b/sources2013m_3_8/chap-87.m
@@ -0,0 +1,244 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 8740:
+application : iliad , batch ;
+XFORFAIT  = somme(i=V,C,P: FEXi);
+regle 8741:
+application : iliad , batch ;
+XACCESS  = somme(i=V,C,P: XACCESSi);
+regle 8745:
+application : iliad , batch ;
+pour i = V,P,C:
+XBAi = BAHEXi + BAEXi ;
+pour i = V,P,C:
+XBIPi = BIHEXi + BICEXi;
+pour i = V,P,C:
+XBINPi = BICNPHEXi + BICNPEXi;
+pour i = V,P,C:
+XBNi = BNHEXi + BNCEXi ;
+pour i = V,P,C:
+XBNNPi = BNCNPREXi+BNCNPREXAAi ;
+regle 872:
+application : iliad , batch ;
+pour i=V,C,P:
+XBICHDi = (BICEXi + BICNOi)  ;
+pour i=V,C,P:
+XBICNETi = XBICHDi - (BICDNi * (1 - positif(ART1731BIS) ))  ;
+pour i=V,C,P:
+XBICSi =  XBICNETi + BA1Ai ;
+pour i=V,C,P:
+XBICNPHDi = BICNPEXi + BICREi ;
+pour i=V,C,P:
+XBICNPNETi = XBICNPHDi - (min(BICDEi,BICDEi1731+0) * positif(ART1731BIS) + BICDEi * (1 - ART1731BIS));
+pour i=V,C,P:
+XBICNPSi =  XBICNPNETi + BI2Ai ;
+pour  i = V,C,P:
+XBITi = max (0 , XBICNETi + max (0,XBICNPNETi )); 
+pour  i = V,C,P:
+XBISi = positif(max(0,XBICNETi + max(0,XBICNPNETi)))
+        * ( BI2Ai  + BI1Ai  );
+
+pour i=V,C,P:
+XBICIMPi =  XBICHDi + XBICNPHDi ;
+regle 8728:
+application : iliad , batch ;
+pour i=V,C:
+XTSBi =  somme(x=1..3:GLDxi) + TSBNi + BPCOSAi + TSASSUi + XETRANi + HEURESUPi + EXOCETi 
+	 + GLDGRATi;
+
+pour i=1,2,3,4:
+XTSBi =  TSBNi + HEURESUPPi ;
+pour i=V,C:
+XEXTSi = XTSBi + CARTSi + REMPLAi;
+pour i=1,2,3,4:
+XEXTSi = XTSBi + CARTSPi + REMPLAPi;
+regle 8731:
+application : iliad , batch ;
+pour i = V,C,1,2,3,4:
+XTPS10i = arr (XEXTSi * TX_DEDFORFTS /100);
+pour i = V,C,1,2,3,4:
+XDFNi =  min( PLAF_DEDFORFTS , XTPS10i );
+regle 8729:
+application : iliad , batch ;
+pour i = V,C,1,2,3,4:
+X10MINSi= max( min(XTSBi,DEDMINi) , XDFNi );
+pour i = V,C,1,2,3,4:
+XIND_10i= positif_ou_nul(X10MINSi-FRNi);
+pour i = V,C,1,2,3,4:
+XDFi = X10MINSi  ;
+pour i = V,C,1,2,3,4:
+XFPTi = XDFi * XIND_10i + FRDi * (1 - XIND_10i);
+pour i = V,C,1,2,3,4:
+XTSNTi =  XEXTSi - XFPTi;
+regle 8734:
+application : iliad , batch ;
+pour i = V,C,1,2,3,4:
+XTSNi = positif (-XTSNTi) * min (0 , XTSNTi)
+     + positif_ou_nul (XTSNTi) * XTSNTi;
+regle 8735:
+application : iliad , batch ;
+pour i = V,C:
+XTSi = XTSNi -  somme(x=1..3: max(0,GLDxi - ABGLxi));
+pour i = V,C:
+XHSUPTSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (HEURESUPi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * HEURESUPi;
+pour i = 1,2,3,4:
+XHSUPTSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (HEURESUPPi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * HEURESUPPi;
+HEURESUPTOT = somme(i=1..4: HEURESUPPi);
+XHSUPTSTOT = somme(i=1..4: XHSUPTSNNi);
+HEURSUP = XHSUPTSNNV +  XHSUPTSNNC +  XHSUPTSNN1 +  XHSUPTSNN2 +  XHSUPTSNN3 +  XHSUPTSNN4;  
+pour i = V,C:
+XTSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (TSASSUi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * TSASSUi;
+pour i = V,C:
+XETSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (XETRANi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * XETRANi;
+pour i = V,C:
+XEXOCETi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (EXOCETi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * EXOCETi;
+XEXOCET = somme(i=V,C:XEXOCETi);
+pour i = V,C:
+DTSELUPPEi = TSELUPPEi * (1 - V_CNR);
+pour i = V,C:
+XLUXTSNNi = arr( positif(XTSNi) * XTSNi  
+         * (DTSELUPPEi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * DTSELUPPEi;
+regle 876:
+application : iliad , batch ;
+XELU = ELURASC + ELURASV ;
+regle 880:
+application : iliad , batch ;
+PVTAUX = (BPVSJ + BPVSK + BPV18V + BPV18C + BPCOPTV + BPCOPTC + BPV40V + BPV40C + PEA + GAINPEA);
+regle 875:
+application : iliad , batch ;
+GLN2NET = arr(GLN2 * GL2 / REV2);
+GLN3NET = arr(GLN3 * GL3 / REV3);
+QUOKIRE =   TEGL1 + TEGL2 + TEGL3 + RPQ4
+             + somme (x=V,C,1..4 : TERPQPRRx+ TEGLFx+ TERPQTSx+ TERPQTSREMPx+TERPQPALIMx)
+             + TERPQRF1 + TEGLRF2 + TERPQRCMDC + TERPQRCMFU + TERPQRCMCH
+             + TERPQRCMTS + TERPQRCMGO + TERPQRCMTR + TERPQRVO + TERPQRVO5 + TERPQRVO6 + TERPQRVO7;
+regle 8727:
+application : iliad , batch ;
+
+VARREVKIRE =  BPCAPTAXV + BPCAPTAXC
+              + somme( i=V,C,P: XBAi+XBIPi+XBINPi+XBNi+XBNNPi)
+              + somme (i=V,C,P: MIBEXi + MIBNPEXi + BNCPROEXi + XSPENPi)
+              + somme (i=V,C,P: BNCCRi)
+              + somme (i=V,C,P: BNCCRFi)
+              + somme (i=V,C: XETSNNi)
+              + somme (i=V,C: XEXOCETi)
+              + somme (i=V,C: XTSNNi)
+              + somme (i=V,C: XTSNNTYi)
+              + somme (i=V,C,1,2,3,4: XHSUPTSNNi)
+              + XFORFAIT + XACCESS 
+              + RCMLIB + PPLIB 
+              + GAINABDET
+              + PVJEUNENT
+              + RCMEXCREF
+              + RCM2FA
+              + XELU 
+              + RCMIMPAT
+              + PVPART
+              + PVIMMO
+              + PVMOBNR
+              + PVTITRESOC 
+              + BTP3A
+              + (1 - positif( IPVLOC )) * (1-positif(present(TAX1649)+present(RE168))) * (
+                PVTAUX                                                                      )
+	      ;
+PVTXEFF = PVTAXSB+PVIMPOS+COD3WI+max(0,BPVRCM - max(0,(BPVRCM + COD3SG + COD3SL + ABDETPLUS + ABIMPPV) - (DPVRCM + COD3SH + COD3SM + ABDETMOINS + ABIMPMV)));
+REVKIRE = (1-null(IND_TDR)) *
+ arr (
+       max ( 0, ( 
+                  (1-positif((max(0,VARIPTEFP-PVTXEFF) * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+		  +((VARIPTEFN+PVTXEFF*present(IPTEFN)) * positif(ART1731BIS) + (IPTEFN+PVTXEFF*present(IPTEFN)) * (1 - ART1731BIS))+INDTEFF)) * (RI1RFR)  
+                  + positif((max(0,VARIPTEFP-PVTXEFF) * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+		  +((VARIPTEFN+PVTXEFF*present(IPTEFN)) * positif(ART1731BIS) + (IPTEFN+PVTXEFF*present(IPTEFN)) * (1 - ART1731BIS))+INDTEFF) 
+					 * (max(0,VARIPTEFP-PVTXEFF) * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+                  + positif((max(0,VARIPTEFP-PVTXEFF) * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+		  +((VARIPTEFN+PVTXEFF*present(IPTEFN)) * positif(ART1731BIS) + (IPTEFN+PVTXEFF*present(IPTEFN)) * (1 - ART1731BIS))+INDTEFF) 
+                  * positif(- TEFFN - DRBG - RNIDF + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) + QUOKIRE)*
+		   ( (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO)))
+		   + QUOKIRE
+                   ) 
+                  + max(0,TEFFREVTOTRFR*INDTEFF) * (1-positif((max(0,VARIPTEFP- PVTXEFF) * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))))
+                )
+                * (1-present(IND_TDR))
+                + 
+                   IND_TDR
+		   + (1-positif((max(0,VARIPTEFP - PVTXEFF)* positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+					   +((VARIPTEFN+PVTXEFF*present(IPTEFN)) * positif(ART1731BIS) + (IPTEFN+PVTXEFF*present(IPTEFN))* (1 - ART1731BIS))+INDTEFF)) * 
+		     (QUOKIRE + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) )
+		   +  VARREVKIRE
+             )
+       ) 
+       ;
+
+pour i=V,C,P:
+BNCCREAi = BNCCRi + BNCCRFi ;
+QUOKIREHR =   TGL1 + TGL2 + TGL3 + TGL4
+             + somme (x=V,C,1..4 : TGLPRRx+ TGLFx+ TGLTSx+ TGLTSREMPx+TGLPALIMx)
+             + TGLRF1 + TGLRF2 + TGLRCMDC + TGLRCMFU + TGLRCMCH
+             + TGLRCMTS + TGLRCMGO + TGLRCMTR + TGLRVO + TGLRVO5 + TGLRVO6 + TGLRVO7;
+REVKIREHR =  (1-null(IND_TDR)) *
+ arr (
+       max ( 0, ( 
+                  (1-positif((max(0,VARIPTEFP-PVTXEFF)  * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+		  +((VARIPTEFN+PVTXEFF*present(IPTEFN))  * positif(ART1731BIS) + (IPTEFN+ PVTXEFF*present(IPTEFN)) * (1 - ART1731BIS))+INDTEFF)) * (RI1RFR)  
+                  + positif((max(0,VARIPTEFP-PVTXEFF)  * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+		  +((VARIPTEFN+PVTXEFF*present(IPTEFN))  * positif(ART1731BIS) + (IPTEFN+ PVTXEFF*present(IPTEFN)) * (1 - ART1731BIS))+INDTEFF) 
+				* (max(0,VARIPTEFP-PVTXEFF)  * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+                  + positif((max(0,VARIPTEFP-PVTXEFF)  * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+			  +((VARIPTEFN+PVTXEFF*present(IPTEFN))  * positif(ART1731BIS) + (IPTEFN+PVTXEFF*present(IPTEFN))  * (1 - ART1731BIS))+INDTEFF) 
+                  * positif(- TEFFN - DRBG - RNIDF + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) + QUOKIREHR+(RFROBOR*V_INDTEO))*
+		   ( (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) 
+		   + QUOKIREHR + (RFROBOR * V_INDTEO* (1-INDTEFF))
+                   ) 
+                  + max(0,TEFFREVTOTRFR*INDTEFF) * (1-positif((max(0,VARIPTEFP- PVTXEFF) * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))))
+                )
+                * (1-present(IND_TDR))
+                + 
+                   IND_TDR
+		   + (1-positif((max(0,VARIPTEFP- PVTXEFF) * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+		   +((VARIPTEFN+PVTXEFF*present(IPTEFN)) * positif(ART1731BIS) + (IPTEFN+PVTXEFF*present(IPTEFN)) * (1 - ART1731BIS))+INDTEFF)) * 
+		     (QUOKIREHR + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO)))) 
+		   +  VARREVKIRE
+             )
+       ) 
+       ;
+regle 410 :
+application : batch, iliad;
+CDEVDUR_NBJ = PPENBJ;
+CKIREDUR = arr(REVKIRE * 360/CDEVDUR_NBJ);
+REVKIREDUR2 = CKIREDUR ;
+
+
diff --git a/sources2013m_3_8/chap-88.m b/sources2013m_3_8/chap-88.m
new file mode 100644
index 0000000000000000000000000000000000000000..62de59177e128a69b795a1f7bb2003d6d6d3fb9e
--- /dev/null
+++ b/sources2013m_3_8/chap-88.m
@@ -0,0 +1,200 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 881:
+application : iliad , batch  ;
+pour i = V,C;x=1..3:
+GLNAVxi = max (GLDxi - ABGLxi,0) * INDEFTSi;
+GLDOMAVDAJV = max (CODDAJ - ABDOMDAJ,0) * INDEFTSV;
+GLDOMAVEAJV = max (CODEAJ - ABDOMEAJ,0) * INDEFTSV;
+GLDOMAVDBJC = max (CODDBJ - ABDOMDBJ,0) * INDEFTSC;
+GLDOMAVEBJC = max (CODEBJ - ABDOMEBJ,0) * INDEFTSC;
+GLN1V = max (GLD1V - ABGL1V,0) * INDEFTSV;
+GLN2V = max (GLD2V - ABGL2V,0) * INDEFTSV;
+GLN3V = max (GLD3V - ABGL3V,0) * INDEFTSV;
+GLN4DAJV = max(CODDAJ - ABDOMDAJ,0) * INDEFTSV;
+GLN4V = (max(CODDAJ - ABDOMDAJ,0)+max(CODEAJ - ABDOMEAJ,0)) * INDEFTSV;
+GLN1C = max (GLD1C - ABGL1C,0) * INDEFTSC;
+GLN2C = max (GLD2C - ABGL2C,0) * INDEFTSC;
+GLN3C = max (GLD3C - ABGL3C,0) * INDEFTSC;
+GLN4DBJC = max(CODDBJ - ABDOMDBJ,0) * INDEFTSC;
+GLN4C = (max(CODDBJ - ABDOMDBJ,0)+max(CODEBJ - ABDOMEBJ,0)) * INDEFTSC;
+regle 882:
+application : iliad , batch  ;
+TSV = TSNV - somme(x=1..3: max(0,GLDxV - ABGLxV))-max(CODDAJ - ABDOMDAJ,0)-max(CODEAJ - ABDOMEAJ,0);
+TSC = TSNC - somme(x=1..3: max(0,GLDxC - ABGLxC))-max(CODDBJ - ABDOMDBJ,0)-max(CODEBJ - ABDOMEBJ,0);
+pour i=1..4:
+TSi = TSNi;
+pour i=V,C:
+TPRi = TSNi + PRNi - somme(x=1..3: GLNxi);
+pour i=1..4:
+TPRi = TSNi + PRNi;
+pour i = V,C :
+TSNNi =  positif(TSi) *arr(TSi *(TSBNi + BPCOSAi + GLDGRATi)/EXTSi )
+          + (1 -positif(TSi)) * TSi ;
+pour i = 1..4 :
+TSNNi = (positif(TSi) * arr(TSi * TSBNi /EXTSi )
+            + (1 -positif(TSi)) * TSi)  ;
+pour i = V,C :
+TSNN2i = ( positif(TSi)
+                * ( positif(CARTSi+REMPLAi) 
+                          * arr(TSi * 2TSNi / EXTSi )
+                    + (1 -positif(CARTSi+REMPLAi)) 
+                          * (TSi - TSNNi)));
+TSNN2VAFF = ( positif(TSV)
+                * ( positif(CARTSV+REMPLAV) 
+                          * arr(TSV * 2TSNV / EXTSV )
+                    + (1 -positif(CARTSV+REMPLAV)) 
+                          * (TSV - TSNNV))
+         + positif(CODDAJ + CODEAJ) * (max(CODDAJ - ABDOMDAJ,0)+max(CODEAJ - ABDOMEAJ,0))) ;
+TSNN2CAFF = ( positif(TSC)
+                * ( positif(CARTSC+REMPLAC) 
+                          * arr(TSC * 2TSNC / EXTSC )
+                    + (1 -positif(CARTSC+REMPLAC)) 
+                          * (TSC - TSNNC))
+         + positif(CODDBJ + CODEBJ) * (max(CODDBJ - ABDOMDBJ,0)+max(CODEBJ - ABDOMEBJ,0))) ;
+pour i = 1..4 :
+TSNN2i = ( positif(TSi)
+               * ( positif(CARTSPi+REMPLAPi) 
+                          * arr(TSi * 2TSNi /EXTSi )
+                    + (1 -positif(CARTSPi+REMPLAPi)) 
+                          * (TSi - TSNNi))) ;
+pour i = 1..4 :
+TSNN2iAFF = ( positif(TSi)
+               * ( positif(CARTSPi+REMPLAPi) 
+                          * arr(TSi * 2TSNi /EXTSi )
+                    + (1 -positif(CARTSPi+REMPLAPi)) 
+                          * (TSi - TSNNi))) ;
+
+TSNN2PAFF = somme(i=1..4:TSNN2iAFF) ;
+
+pour i = V,C :
+TSNN2TSi = ( positif(TSi)
+                * ( positif(REMPLAi) 
+                          * arr(TSi * CARTSi / EXTSi )
+                    + (1 -positif(REMPLAi)) 
+                          * (TSi - TSNNi))) ;
+pour i = 1..4 :
+TSNN2TSi = ( positif(TSi)
+               * ( positif(REMPLAPi) 
+                          * arr(TSi * CARTSPi /EXTSi )
+                    + (1 -positif(REMPLAPi)) 
+                          * (TSi - TSNNi))) ;
+pour i = V,C :
+TSNN2REMPi = (positif(TSi) * (TSi - TSNNi-TSNN2TSi)) ;
+pour i = 1..4 :
+TSNN2REMPi = (positif(TSi) * (TSi - TSNNi-TSNN2TSi)) ;
+
+regle 883:
+application : iliad , batch  ;
+pour i = V,C,1..4:
+PRRi = arr(PRNi * PRBi / EXPRi);
+pour i = V,C:
+PRR2i = positif(PEBFi+PENSALi) * arr(PRNi * CARPEi / EXPRi)
+           +  (1 -positif(PEBFi+PENSALi)) * (PRNi -PRRi)   ;
+pour i = 1..4:
+PRR2i = positif(PEBFi+PENSALPi) * arr(PRNi * CARPEPi / EXPRi )
+           +  (1 -positif(PEBFi+PENSALPi)) * (PRNi -PRRi);
+pour i = V,C:
+PENFi =  positif(PENSALi) * arr(PRNi * PEBFi / EXPRi)
+       + (1 - positif(PENSALi)) * max(0,(PRNi -PRRi -PRR2i));
+pour i = 1..4:
+PENFi =  positif(PENSALPi) * arr(PRNi * PEBFi / EXPRi)
+        + (1- positif(PENSALPi)) * (PRNi -PRRi -PRR2i);
+pour i = V,C:
+PENALIMi = positif(EXPRi) * (PRNi -PRRi -PRR2i - PENFi) ;
+pour i = 1..4:
+PENALIMi = positif(EXPRi) * (PRNi -PRRi -PRR2i - PENFi) ;
+regle 884:
+application : iliad , batch  ;
+pour i = 1,2,3,4:
+RVi = arr(RVBi * TXRVTi / 100);
+RVTOT = RV1 + RV2 + RV3 + RV4;
+regle 885:
+application : iliad , batch  ;
+2RV1 = arr(RENTAX * TXRVT1 / 100);
+2RV2 = arr(RENTAX5 * TXRVT2 / 100);
+2RV3 = arr(RENTAX6 * TXRVT3 / 100);
+2RV4 = arr(RENTAX7 * TXRVT4 / 100);
+T2RV = 2RV1 + 2RV2 + 2RV3 + 2RV4;
+regle 886:
+application : iliad , batch  ;
+RVBCSG = arr((RVB1 + RENTAX) * TXRVT1 / 100) 
+       + arr((RVB2 + RENTAX5) * TXRVT2 / 100) 
+       + arr((RVB3 + RENTAX6) * TXRVT3 / 100) 
+       + arr((RVB4 + RENTAX7) * TXRVT4 / 100) ;
+
+regle 887:
+application : iliad , batch  ;
+TSPR = TSPRT + RVTOT ;
+regle 888:
+application : iliad , batch  ;
+pour i=V,C,1..4:
+TSPRi = (TSNNi + PRRi) * (1-ART1731BIS) + max(0,TSNNi + PRRi) * ART1731BIS;
+pour i=V,C,1..4:
+TSPRDi = min(0,TSNNi + PRRi)* ART1731BIS ;
+TSPRP = somme(i=1..4:TSPRi)*(1-ART1731BIS) + max(0,TSNN1+PRR1+TSNN2+PRR2+TSNN3+PRR3+TSNN4+PRR4)*ART1731BIS;
+TSPRTOT = somme(i=V,C,1..4:TSPRi)*(1-ART1731BIS) + max(0,TSNNV+PRRV+TSNNC+PRRC+TSNN1+PRR1+TSNN2+PRR2+TSNN3+PRR3+TSNN4+PRR4)*ART1731BIS;
+TSPRDP = somme(i=1..4:TSPRDi) ;
+TSNNT = abs(TSNNV + PRRV
+          + TSNNC + PRRC
+          + TSNN1 + PRR1
+          + TSNN2 + PRR2
+          + TSNN3 + PRR3
+          + TSNN4 + PRR4) 
+         * (1-positif(TSNNV + PRRV + TSNNC + PRRC+ TSNN1 + PRR1 + TSNN2 + PRR2 + TSNN3 + PRR3 + TSNN4 + PRR4 ));
+regle 8887:
+application : iliad , batch  ;
+pour i=V,C,1..4:
+FRNRETENUi = max(0,FRNRETi + TSPRDi);
+regle 8810:
+application : iliad , batch  ;
+TSNN2P = somme(i=1..4: TSNN2i);
+PRR2P =somme(i=1..4: PRR2i);
+PENFP = PENF1 + PENF2 + PENF3 + PENF4 ;
+PENALIMP = PENALIM1 + PENALIM2 + PENALIM3 + PENALIM4;
+
+regle 8811:
+application : iliad , batch ;
+TSQVO = 2TSNV+CODDAJ+CODEAJ;
+TSQCJ = 2TSNC+CODDBJ+CODEBJ;
+TSQPC = somme(i=1..4: 2TSNi ) ;
+PRQVO =  CARPEV + PEBFV;
+PRQCJ =  CARPEC + PEBFC; 
+PRQPC = somme(i=1..4:  CARPEPi+PEBFi) ;
+PENSALP = PENSALP1 + PENSALP2 + PENSALP3 + PENSALP4;
+regle 8812:
+application : iliad , batch ;
+PRQNV = 2PRBV;
+PRQNC = 2PRBC; 
+PRQNP = somme(i=1..4: 2PRBi) ;
+PENSTOTV = PRR2V + PENALIMV;
+PENSTOTC = PRR2C + PENALIMC;
+PENSTOTP = PRR2P + PENALIMP;
+regle 8815:
+application : iliad , batch ;
+pour i=V,C:
+BPCAPTAXi = PCAPTAXi - arr(PCAPTAXi * TX_DEDPER/100);
+pour i=V,C:
+IPCAPTAXi = arr(BPCAPTAXi * T_PCAPTAX/100);
+IPCAPTAXTOT = somme(i=V,C:IPCAPTAXi);
+regle 8816:
+application : iliad , batch ;
+IPCAPTAXT = IPCAPTAXTOT - CICAP;
diff --git a/sources2013m_3_8/chap-aff.m b/sources2013m_3_8/chap-aff.m
new file mode 100644
index 0000000000000000000000000000000000000000..f0078cf32ff31400eb7d3aef4f7978e239c49143
--- /dev/null
+++ b/sources2013m_3_8/chap-aff.m
@@ -0,0 +1,796 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 111011:
+application :  iliad;
+CONST0 = 0;
+CONST1 = 1;
+CONST2 = 2;
+CONST3 = 3;
+CONST4 = 4;
+CONST10 = 10;
+CONST20 = 20;
+CONST40 = 40;
+regle 1110:
+application : batch, iliad;
+
+LIG0 = (1 - positif(IPVLOC)) * (1 - positif(RE168 + TAX1649)) * IND_REV ;
+
+LIG01 = (1 - positif(RE168 + TAX1649)) * (1 - positif(ANNUL2042)) * IND_REV ;
+
+LIG1 = (1 - positif(RE168 + TAX1649)) ;
+
+LIG2 = (1 - positif(ANNUL2042)) ;
+
+LIG3 = positif(positif(CMAJ + 0) 
+	+ positif_ou_nul(MAJTX1 - 40) + positif_ou_nul(MAJTX4 - 40)
+        + positif_ou_nul(MAJTXPCAP1 - 40) + positif_ou_nul(MAJTXPCAP4 - 40)
+        + positif_ou_nul(MAJTXLOY1 - 40) + positif_ou_nul(MAJTXLOY4 - 40)
+        + positif_ou_nul(MAJTXCHR1 - 40) + positif_ou_nul(MAJTXCHR4 - 40)
+	+ positif_ou_nul(MAJTXC1 - 40) + positif_ou_nul(MAJTXC4 - 40) 
+        + positif_ou_nul(MAJTXCVN1 - 40) + positif_ou_nul(MAJTXCVN4 - 40)
+	+ positif_ou_nul(MAJTXCDIS1 - 40) + positif_ou_nul(MAJTXCDIS4 - 40)
+        + positif_ou_nul(MAJTXGLO1 - 40) + positif_ou_nul(MAJTXGLO4 - 40)
+        + positif_ou_nul(MAJTXRSE11 - 40) + positif_ou_nul(MAJTXRSE14 - 40)
+        + positif_ou_nul(MAJTXRSE51 - 40) + positif_ou_nul(MAJTXRSE54 - 40)
+	+ positif_ou_nul(MAJTXRSE21 - 40) + positif_ou_nul(MAJTXRSE24 - 40)
+        + positif_ou_nul(MAJTXRSE31 - 40) + positif_ou_nul(MAJTXRSE34 - 40)
+        + positif_ou_nul(MAJTXRSE41 - 40) + positif_ou_nul(MAJTXRSE44 - 40)
+        + positif_ou_nul(MAJTXTAXA4 - 40)) ;
+
+
+regle 1110010:
+application : batch , iliad ;
+
+
+
+
+LIG0010 = (INDV * INDC * INDP) * (1 - ART1731BIS) * LIG0 * LIG2 ;
+
+LIG0020 = (INDV * (1 - INDC) * (1 - INDP)) * (1 - ART1731BIS) * LIG0 * LIG2 ;
+
+LIG0030 = (INDC * (1 - INDV) * (1 - INDP)) * (1 - ART1731BIS) * LIG0 * LIG2 ;
+
+LIG0040 = (INDP * (1 - INDV) * (1 - INDC)) * (1 - ART1731BIS) * LIG0 * LIG2 ;
+
+LIG0050 = (INDV * INDC * (1 - INDP)) * (1 - ART1731BIS) * LIG0 * LIG2 ;
+
+LIG0060 = (INDV * INDP * (1 - INDC)) * (1 - ART1731BIS) * LIG0 * LIG2 ;
+
+LIG0070 = (INDC * INDP * (1 - INDV)) * (1 - ART1731BIS) * LIG0 * LIG2 ;
+
+LIG10YT = (INDV * INDC * INDP) * ART1731BIS * LIG0 * LIG2 ;
+
+LIG20YT = (INDV * (1 - INDC) * (1 - INDP)) * ART1731BIS * LIG0 * LIG2 ;
+
+LIG30YT = (INDC * (1 - INDV) * (1 - INDP)) * ART1731BIS * LIG0 * LIG2 ;
+
+LIG40YT = (INDP * (1 - INDV) * (1 - INDC)) * ART1731BIS * LIG0 * LIG2 ;
+
+LIG50YT = (INDV * INDC * (1 - INDP)) * ART1731BIS * LIG0 * LIG2 ;
+
+LIG60YT = (INDV * INDP * (1 - INDC)) * ART1731BIS * LIG0 * LIG2 ;
+
+LIG70YT = (INDC * INDP * (1 - INDV)) * ART1731BIS * LIG0 * LIG2 ;
+
+regle 11110:
+application : batch , iliad ;
+LIG10V = positif_ou_nul(TSBNV + PRBV + BPCOSAV + GLDGRATV + positif(F10AV * null(TSBNV + PRBV + BPCOSAV + GLDGRATV))) ;
+LIG10C = positif_ou_nul(TSBNC + PRBC + BPCOSAC + GLDGRATC + positif(F10AC * null(TSBNC + PRBC + BPCOSAC + GLDGRATC))) ;
+LIG10P = positif_ou_nul(somme(i=1..4:TSBNi + PRBi) + positif(F10AP * null(somme(i=1..4:TSBNi + PRBi)))) ;
+LIG10 = positif(LIG10V + LIG10C + LIG10P) ;
+regle 11000:
+application : batch , iliad ;
+
+LIG1100 = positif(T2RV) * (1 - positif(IPVLOC)) ;
+
+LIG899 = positif(RVTOT + LIG1100 + LIG910 + BRCMQ + RCMFR + REPRCM + LIGRCMABT + LIG2RCMABT + LIGPV3VG + LIGPV3WB + LIGPV3VE 
+		  + RCMLIB + LIG29 + LIG30 + RFQ + 2REVF + 3REVF + LIG1130 + VLHAB + DFANT + ESFP + RE168 + TAX1649 + R1649 + PREREV)
+		 * (1 - positif(LIG0010 + LIG0020 + LIG0030 + LIG0040 + LIG0050 + LIG0060 + LIG0070)) 
+		 * (1 - ART1731BIS) ; 
+
+LIG900 = positif(RVTOT + LIG1100 + LIG910 + BRCMQ + RCMFR + REPRCM + LIGRCMABT + LIG2RCMABT + LIGPV3VG + LIGPV3WB + LIGPV3VE 
+		  + RCMLIB + LIG29 + LIG30 + RFQ + 2REVF + 3REVF + LIG1130 + VLHAB + DFANT + ESFP + RE168 + TAX1649 + R1649 + PREREV)
+		 * positif(LIG0010 + LIG0020 + LIG0030 + LIG0040 + LIG0050 + LIG0060 + LIG0070) 
+		 * (1 - ART1731BIS) ; 
+
+LIG899YT = positif(RVTOT + LIG1100 + LIG910 + BRCMQ + RCMFR + REPRCM + LIGRCMABT + LIG2RCMABT + LIGPV3VG + LIGPV3WB + LIGPV3VE 
+		   + RCMLIB + LIG29 + LIG30 + RFQ + 2REVF + 3REVF + LIG1130 + VLHAB + DFANT + ESFP + RE168 + TAX1649 + R1649 + PREREV)
+		 * (1 - positif(LIG10YT + LIG20YT + LIG30YT + LIG40YT + LIG50YT + LIG60YT + LIG70YT)) 
+		 * ART1731BIS ; 
+
+LIG900YT = positif(RVTOT + LIG1100 + LIG910 + BRCMQ + RCMFR + REPRCM + LIGRCMABT + LIG2RCMABT + LIGPV3VG + LIGPV3WB + LIGPV3VE 
+		   + RCMLIB + LIG29 + LIG30 + RFQ + 2REVF + 3REVF + LIG1130 + VLHAB + DFANT + ESFP + RE168 + TAX1649 + R1649 + PREREV)
+		 * positif(LIG10YT + LIG20YT + LIG30YT + LIG40YT + LIG50YT + LIG60YT + LIG70YT) 
+		 * ART1731BIS ; 
+
+regle 111440:
+application : batch , iliad ;
+LIG4401 =  positif(V_FORVA) * (1 - positif_ou_nul(BAFV)) * LIG0 ;
+
+LIG4402 =  positif(V_FORCA) * (1 - positif_ou_nul(BAFC)) * LIG0 ;
+
+LIG4403 =  positif(V_FORPA) * (1 - positif_ou_nul(BAFP)) * LIG0 ;
+
+regle 11113:
+application : iliad,batch;
+LIG13 =  positif(present(BACDEV)+ present(BACREV)
+               + present(BAHDEV) +present(BAHREV)
+               + present(BACDEC) +present(BACREC)
+               + present(BAHDEC)+ present(BAHREC)
+               + present(BACDEP)+ present(BACREP)
+               + present(BAHDEP)+ present(BAHREP)
+               + present(4BAHREV) + present(4BAHREC) + present(4BAHREP)
+               + present(4BACREV) + present(4BACREC) + present(4BACREP)
+               + present(BAFV) + present(BAFC) + present(BAFP)
+	       + present(BAFORESTV) + present(BAFORESTC) 
+	       + present(BAFORESTP)
+               + present(BAFPVV) + present(BAFPVC) + present(BAFPVP))
+	* (1 - positif(IPVLOC)) * (1 - positif(ANNUL2042)) * LIG1 ;
+
+regle 111135:
+application : batch, iliad;
+4BAQLV = positif(4BACREV + 4BAHREV) ;
+4BAQLC = positif(4BACREC + 4BAHREC) ;
+4BAQLP = positif(4BACREP + 4BAHREP) ;
+regle 111134:
+application : iliad , batch ;
+
+LIG134V = positif(present(BAFV) + present(BAHREV) + present(BAHDEV) + present(BACREV) + present(BACDEV)+ present(BAFPVV)+present(BAFORESTV)) ;
+LIG134C = positif(present(BAFC) + present(BAHREC) + present(BAHDEC) + present(BACREC) + present(BACDEC)+ present(BAFPVC)+present(BAFORESTC)) ;
+LIG134P = positif(present(BAFP) + present(BAHREP) + present(BAHDEP) + present(BACREP) + present(BACDEP)+ present(BAFPVP)+present(BAFORESTP)) ;
+LIG134 = positif(LIG134V + LIG134C + LIG134P+present(DAGRI6)+present(DAGRI5)+present(DAGRI4)+present(DAGRI3)+present(DAGRI2)+present(DAGRI1)) 
+		* (1 - positif(IPVLOC)) * (1 - positif(abs(DEFIBA))) * (1 - positif(ANNUL2042)) * LIG1 ;
+
+LIGDBAIP = positif_ou_nul(DBAIP) * positif(DAGRI1 + DAGRI2 + DAGRI3 + DAGRI4 + DAGRI5 + DAGRI6) * (1 - positif(IPVLOC))
+			  * positif(abs(abs(BAHQTOT)+abs(BAQTOT)-(DAGRI6+DAGRI5+DAGRI4+DAGRI3+DAGRI2+DAGRI1))) * LIG1 ;
+regle 111136:
+application : iliad ,batch;
+LIG136 = positif(4BAQV + 4BAQC + 4BAQP) * (1 - positif(IPVLOC)) * (1 - positif(ANNUL2042)) * LIG1 ;
+
+regle 111590:
+application : iliad, batch ;
+pour i = V,C,P:
+LIG_BICPi =        (
+  present ( BICNOi )                          
+ + present (BICDNi )                          
+ + present (BIHNOi )                          
+ + present (BIHDNi )                          
+                  ) * (1 - positif(ANNUL2042)) * LIG0 ;
+LIG_BICP = LIG_BICPV + LIG_BICPC + LIG_BICPP ;
+LIG_DEFNPI = positif(
+   present ( DEFBIC6 ) 
+ + present ( DEFBIC5 ) 
+ + present ( DEFBIC4 ) 
+ + present ( DEFBIC3 ) 
+ + present ( DEFBIC2 )
+ + present ( DEFBIC1 )
+            )
+  * LIG0 * LIG2 ;
+
+LIGMLOC = positif(present(MIBMEUV) + present(MIBMEUC) + present(MIBMEUP)
+		+ present(MIBGITEV) + present(MIBGITEC) + present(MIBGITEP)
+		+ present(LOCGITV) + present(LOCGITC) + present(LOCGITP))
+	  * LIG0 * LIG2 ;
+ 
+LIGMLOCAB = positif(MLOCABV + MLOCABC + MLOCABP) * LIG0  * LIG2 ; 
+
+LIGMIBMV = positif(BICPMVCTV + BICPMVCTC + BICPMVCTP) * (1 - null(4 - V_REGCO)) * LIG0 ;
+
+LIGBNCMV = positif(BNCPMVCTV + BNCPMVCTC + BNCPMVCTP) * (1 - null(4 - V_REGCO)) * LIG0 ;
+
+LIGPLOC = positif(LOCPROCGAV + LOCPROCGAC + LOCPROCGAP + LOCDEFPROCGAV + LOCDEFPROCGAC + LOCDEFPROCGAP 
+		+ LOCPROV + LOCPROC + LOCPROP + LOCDEFPROV +LOCDEFPROC + LOCDEFPROP)
+		   * (1 - null(4 - V_REGCO)) * LIG0 ;
+
+LIGNPLOC = positif(LOCNPCGAV + LOCNPCGAC + LOCNPCGAPAC + LOCDEFNPCGAV + LOCDEFNPCGAC + LOCDEFNPCGAPAC
+		   + LOCNPV + LOCNPC + LOCNPPAC + LOCDEFNPV + LOCDEFNPC + LOCDEFNPPAC
+		   + LOCGITCV + LOCGITCC + LOCGITCP + LOCGITHCV + LOCGITHCC + LOCGITHCP)
+		   *  (1-null(4 - V_REGCO)) * LIG0 ;
+
+LIGNPLOCF = positif(LOCNPCGAV + LOCNPCGAC + LOCNPCGAPAC + LOCDEFNPCGAV + LOCDEFNPCGAC + LOCDEFNPCGAPAC
+		   + LOCNPV + LOCNPC + LOCNPPAC + LOCDEFNPV + LOCDEFNPC + LOCDEFNPPAC
+                   + LNPRODEF10 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODEF5
+                   + LNPRODEF4 + LNPRODEF3 + LNPRODEF2 + LNPRODEF1
+		   + LOCGITCV + LOCGITCC + LOCGITCP + LOCGITHCV + LOCGITHCC + LOCGITHCP)
+		   *  (1-null(4 - V_REGCO)) * LIG0 ;
+
+LIGDEFNPLOC = positif(TOTDEFLOCNP) *  (1-null(4 - V_REGCO)) ;
+
+LIGLOCNSEUL = positif(LIGNPLOC + LIGDEFNPLOC + LIGNPLOCF) ;
+
+LIGLOCSEUL = 1 - positif(LIGNPLOC + LIGDEFNPLOC + LIGNPLOCF) ;
+
+regle 1115901:
+application : iliad,batch;
+
+LIG_BICNPF = 
+       positif(
+   present (BICDEC)
+ + present (BICDEP)
+ + present (BICDEV)
+ + present (BICHDEC)
+ + present (BICHDEP)
+ + present (BICHDEV)
+ + present (BICHREC)
+ + present (BICHREP)
+ + present (BICHREV)
+ + present (BICREC)
+ + present (BICREP)
+ + present (BICREV)
+ + present ( DEFBIC6 ) 
+ + present ( DEFBIC5 ) 
+ + present ( DEFBIC4 ) 
+ + present ( DEFBIC3 ) 
+ + present ( DEFBIC2 )
+ + present ( DEFBIC1 )
+)
+                   * LIG0 * LIG2 ;
+regle 11117:
+application : iliad,batch;
+LIG_BNCNF = positif (present(BNCV) + present(BNCC) + present(BNCP)) ;
+
+LIGNOCEP = (present(NOCEPV) + present(NOCEPC) + present(NOCEPP)) * LIG0 * LIG2 ;
+
+LIGNOCEPIMP = (present(NOCEPIMPV) + present(NOCEPIMPC) + present(NOCEPIMPP)) * LIG0 * LIG2 ;
+
+LIGDAB = positif(present(DABNCNP6) + present(DABNCNP5) + present(DABNCNP4)
+		 + present(DABNCNP3) + present(DABNCNP2) + present(DABNCNP1)) 
+		* LIG0 * LIG2 ;
+
+LIGDIDAB = positif_ou_nul(DIDABNCNP) * positif(LIGDAB) * LIG0 * LIG2 ;
+
+LIGBNCIF = ( positif (LIGNOCEP) * (1 - positif(LIG3250) + null(BNCIF)) 
+             + (null(BNCIF) * positif(LIGBNCDF)) 
+	     + null(BNCIF) * (1 - positif_ou_nul(NOCEPIMP+SPENETNPF-DABNCNP6 -DABNCNP5 -DABNCNP4 -DABNCNP3 -DABNCNP2 -DABNCNP1)))
+	     * (1 - positif(LIGSPENPNEG + LIGSPENPPOS)) * LIG0 * LIG2 ;
+regle 125:
+application : batch, iliad;
+LIG910 = positif(present(RCMABD) + present(RCMTNC) + present(RCMAV) + present(RCMHAD) 
+	         + present(RCMHAB) + present(REGPRIV) + (1-present(BRCMQ)) *(present(RCMFR))
+                ) * LIG0 * LIG2 ;
+regle 1111130: 
+application : iliad , batch ;
+LIG1130 = positif(present(REPSOF)) * LIG0 * LIG2 ;
+regle 1111950:
+application : iliad, batch;
+LIG1950 = INDREV1A8 *  positif_ou_nul(REVKIRE) 
+                    * (1 - positif(positif_ou_nul(IND_TDR) * (1-(positif_ou_nul(TSELUPPEV + TSELUPPEC))))) 
+                    * (1 - positif(ANNUL2042 + 0)) ;
+
+regle 11129:
+application : batch, iliad;
+LIG29 = positif(present(RFORDI) + present(RFDHIS) + present(RFDANT) +
+                present(RFDORD)) * (1 - positif(IPVLOC))
+                * (1 - positif(LIG30)) * LIG1 * LIG2 * IND_REV ;
+regle 11130:
+application : iliad, batch ;
+LIG30 = positif(RFMIC) * (1 - positif(IPVLOC)) * LIG1 * LIG2 ;
+LIGREVRF = positif(present(FONCI) + present(REAMOR)) * (1 - positif(IPVLOC)) * LIG1 * LIG2 ;
+regle 11149:
+application : batch, iliad;
+LIG49 =  INDREV1A8 * positif_ou_nul(DRBG) * LIG2 ;
+regle 11152:
+application :  iliad, batch;
+LIG52 = positif(present(CHENF1) + present(CHENF2) + present(CHENF3) + present(CHENF4) 
+                 + present(NCHENF1) + present(NCHENF2) + present(NCHENF3) + present(NCHENF4)) 
+	     * LIG1 * LIG2 ;
+regle 11158:
+application : iliad, batch;
+LIG58 = (present(PAAV) + present(PAAP)) * positif(LIG52) * LIG1 * LIG2 ;
+regle 111585:
+application : iliad, batch;
+LIG585 = (present(PAAP) + present(PAAV)) * (1 - positif(LIG58)) * LIG1 * LIG2 ;
+LIG65 = positif(LIG52 + LIG58 + LIG585 
+                + present(CHRFAC) + present(CHNFAC) + present(CHRDED)
+		+ present(DPERPV) + present(DPERPC) + present(DPERPP)
+                + LIGREPAR)  
+       * LIG1 * LIG2 ;
+regle 111555:
+application : iliad, batch;
+LIGDPREC = present(CHRFAC) * (1 - positif(ANNUL2042)) * LIG1;
+
+LIGDFACC = (positif(20-V_NOTRAIT+0) * positif(DFACC)
+           + (1 - positif(20-V_NOTRAIT+0)) * present(DFACC)) * (1 - positif(ANNUL2042)) * LIG1 ;
+regle 1111390:
+application : batch, iliad;
+LIG1390 = positif(positif(ABMAR) + (1 - positif(RI1)) * positif(V_0DN)) * LIG1 * LIG2 ;
+regle 11168:
+application : batch, iliad;
+LIG68 = INDREV1A8 * (1 - positif(abs(RNIDF))) * LIG2 ;
+regle 1111420:
+application : iliad,batch;
+LIGTTPVQ = positif(
+              positif(CARTSV) + positif(CARTSC) + positif(CARTSP1) + positif(CARTSP2)+ positif(CARTSP3)+ positif(CARTSP4)
+           +  positif(REMPLAV) + positif(REMPLAC) + positif(REMPLAP1) + positif(REMPLAP2)+ positif(REMPLAP3)+ positif(REMPLAP4)
+           +  positif(PEBFV) + positif(PEBFC) + positif(PEBF1) + positif(PEBF2)+ positif(PEBF3)+ positif(PEBF4)
+           +  positif(CARPEV) + positif(CARPEC) + positif(CARPEP1) + positif(CARPEP2)+ positif(CARPEP3)+ positif(CARPEP4)
+           +  positif(PENSALV) + positif(PENSALC) + positif(PENSALP1) + positif(PENSALP2)+ positif(PENSALP3)+ positif(PENSALP4)
+           +  positif(RENTAX) + positif(RENTAX5) + positif(RENTAX6) + positif(RENTAX7)
+           +  positif(REVACT) + positif(REVPEA) + positif(PROVIE) + positif(DISQUO) + positif(RESTUC) + positif(INTERE)
+           +  positif(FONCI) + positif(REAMOR)
+           +  positif(4BACREV) + positif(4BACREC)+positif(4BACREP)+positif(4BAHREV)+positif(4BAHREC)+positif(4BAHREP)
+           +  positif(GLD1V) + positif(GLD1C)+positif(GLD2V)+positif(GLD2V)+positif(GLD3V)+positif(GLD3V)
+           + positif(CODDAJ) + positif(CODEAJ) + positif(CODDBJ)+ positif(CODEBJ)   
+                  ) * LIG1 * LIG2 * (1 - null(4-V_REGCO)) ;
+
+regle 111721:
+application : batch, iliad;
+
+LIG1430 = positif(BPTP3) * LIG0 * LIG2 ;
+
+LIG1431 = positif(BPTP18) * LIG0 * LIG2 ;
+
+LIG1432 = positif(BPTP19) * LIG0 * LIG2 ;
+regle 111722:
+application : batch, iliad;
+LIG815 = V_EAD * positif(BPTPD) * LIG0 * LIG2 ;
+LIG816 = V_EAG * positif(BPTPG) * LIG0 * LIG2 ;
+LIGTXF225 = positif(PEA+0) * LIG0 * LIG2 ;
+LIGTXF24 = positif(BPTP24) * LIG0 * LIG2 ;
+LIGTXF30 = positif_ou_nul(BPCOPTV + BPCOPTC + BPVSK) * LIG0  * LIG2 ;
+LIGTXF40 = positif(BPV40V + BPV40C + 0) * LIG0 * LIG2 ;
+
+regle 111723:
+application : batch, iliad ;
+
+LIGCESDOM = positif(BPTPDIV) * positif(PVTAXSB) * positif(V_EAD + 0) * LIG0 * LIG2 ;
+
+LIGCESDOMG = positif(BPTPDIV) * positif(PVTAXSB) * positif(V_EAG + 0) * LIG0 * LIG2 ;
+
+regle 11181:
+application : batch , iliad ;
+ 
+LIG81 = positif(present(RDDOUP) + present(DONAUTRE) + present(REPDON03) + present(REPDON04) 
+                + present(REPDON05) + present(REPDON06) + present(REPDON07) + present(COD7UH)
+                + positif(EXCEDANTA))
+        * LIG1 * LIG2 ;
+
+regle 1111500:
+application : iliad, batch ;
+
+LIG1500 = positif((positif(IPMOND) * positif(present(IPTEFP)+positif(VARIPTEFP)*present(DEFZU))) + positif(INDTEFF) * positif(TEFFREVTOT)) 
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) * (1 - ART1731BIS) * LIG1 * LIG2 ;
+
+LIG1510 = positif((positif(IPMOND) * present(IPTEFN)) + positif(INDTEFF) * (1 - positif(TEFFREVTOT))) 
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) * (1 - ART1731BIS) * LIG1 * LIG2 ;
+
+LIG1500YT = positif((positif(IPMOND) * positif(present(IPTEFP)+positif(VARIPTEFP)*present(DEFZU))) + positif(INDTEFF) * positif(TEFFREVTOT)) 
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) * ART1731BIS * LIG1 * LIG2 ;
+
+LIG1510YT = positif((positif(IPMOND) * present(IPTEFN)) + positif(INDTEFF) * (1 - positif(TEFFREVTOT))) 
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) * ART1731BIS * LIG1 * LIG2 ;
+
+regle 1111522:
+application : iliad, batch ;
+LIG1522 = (1 - present(IND_TDR)) * (1 - INDTXMIN) * (1 - INDTXMOY) * V_CR2 * LIG2 ;
+regle 1111523:
+application : batch, iliad;
+LIG1523 = (1 - present(IND_TDR)) * null(V_REGCO - 4) * LIG2 ;
+regle 11175:
+application : iliad, batch ;
+LIG75 = (1 - INDTXMIN) * (1 - INDTXMOY) * (1 - (LIG1500+ LIG1500YT)) * (1 - (LIG1510+ LIG1510YT)) * INDREV1A8 * LIG2 ;
+
+LIG1545 = (1 - present(IND_TDR)) * INDTXMIN * positif(IND_REV) * LIG2 ;
+
+LIG1760 = (1 - present(IND_TDR)) * INDTXMOY * LIG2 ;
+
+LIG1546 = positif(PRODOM + PROGUY) * (1 - positif(V_EAD + V_EAG)) * LIG2 ;
+
+LIG1550 = (1 - present(IND_TDR)) * INDTXMOY * LIG2 ;
+
+LIG74 = (1 - present(IND_TDR)) * (1 - INDTXMIN) * positif(LIG1500 + LIG1510 + LIG1500YT + LIG1510YT) * LIG2 ;
+
+regle 11180:
+application : batch, iliad ;
+LIG80 = positif(present(RDREP) + present(DONETRAN)) * LIG1 * LIG2 ;
+regle 11188:
+application : iliad , batch ;
+LIGRSOCREPR = positif(present(RSOCREPRISE)) * LIG1 * LIG2 ;
+regle 1111740:
+application : batch , iliad ;
+LIG1740 = positif(RECOMP) * LIG2 ;
+regle 1111780:
+application : batch , iliad ;
+LIG1780 = positif(RDCOM + NBACT) * LIG1 * LIG2 ;
+regle 111981:
+application : batch, iliad;
+LIG98B = positif(LIG80 + LIGFIPC + LIGFIPDOM + present(DAIDE)
+                 + LIGDUFLOGIH
+                 + LIGREDAGRI + LIGFORET + LIGRESTIMO  
+	         + LIGCINE + LIGRSOCREPR + LIGCOTFOR 
+	         + present(PRESCOMP2000) + present(RDPRESREPORT) + present(FCPI) 
+		 + present(DSOUFIP) + LIGRIRENOV + present(DFOREST) 
+		 + present(DHEBE) + present(DSURV)
+	         + LIGLOGDOM + LIGREPTOUR + LIGLOCHOTR
+	         + LIGREPHA + LIGCREAT + LIG1780 + LIG2040 + LIG81 + LIGLOGSOC
+	         + LIGDOMSOC1 
+		 + somme (i=A,B,E,M,C,D,S,F,Z : LIGCELLi) + LIGCELMG
+		 + somme (i=A,B,D,E,F,H,G,L,M,S,R,U,T,Z,X,W,V : LIGCELHi) 
+                 + somme (i=U,X,T,S,W,P,L,V,K,J : LIGCELGi)
+		 + LIGCELHNO + LIGCELHJK + LIGCELNQ + LIGCELCOM + LIGCELNBGL
+		 + LIGCEL + LIGCELJP + LIGCELJBGL + LIGCELJOQR + LIGCEL2012
+                 + LIGCELFD + LIGCELFABC
+		 + LIGREDMEUB + LIGREDREP + LIGILMIX + LIGILMIY + LIGINVRED + LIGILMIH  + LIGILMJC + LIGILMIZ 
+                 + LIGILMJI + LIGILMJS + LIGMEUBLE + LIGPROREP + LIGREPNPRO + LIGMEUREP + LIGILMIC + LIGILMIB 
+                 + LIGILMIA + LIGILMJY + LIGILMJX + LIGILMJW + LIGILMJV 
+		 + LIGRESIMEUB + LIGRESINEUV + LIGRESIVIEU + LIGLOCIDEFG + LIGCODJTJU
+		 + present(DNOUV) + LIGLOCENT + LIGCOLENT + LIGRIDOMPRO
+		 + LIGPATNAT + LIGPATNAT1 + LIGPATNAT2 + LIGPATNAT3
+                 + LIGREVMOD) 
+           * LIG1 * LIG2 ;
+
+LIGRED = LIG98B * (1 - ART1731BIS) * LIG1 * LIG2 ;
+
+LIGREDYT = LIG98B * ART1731BIS * LIG1 * LIG2 ;
+
+regle 1111820:
+application : batch , iliad ;
+
+LIG1820 = positif(ABADO + ABAGU + RECOMP) * LIG2 ;
+
+regle 111106:
+application : iliad , batch ;
+
+LIG106 = positif(RETIR) ;
+LIGINRTAX = positif(RETTAXA) ;
+LIG10622 = positif(RETIR22) ;
+LIGINRTAX22 = positif(RETTAXA22) ;
+ZIG_INT22 = positif(RETCS22 + RETPS22 + RETRD22 + RETCVN22) ;
+
+LIGINRPCAP = positif(RETPCAP) ;
+LIGINRPCAP2 = positif(RETPCAP22) ;
+LIGINRLOY = positif(RETLOY) ;
+LIGINRLOY2 = positif(RETLOY22) ;
+
+LIGINRHAUT = positif(RETHAUTREV) ;
+LIGINRHAUT2 = positif(RETCHR22) ;
+regle 111107:
+application : iliad, batch;
+
+LIG_172810 = TYPE2 * positif(NMAJ1) ;
+
+LIGTAXA17281 = TYPE2 * positif(NMAJTAXA1) ;
+
+LIGPCAP17281 = TYPE2 * positif(NMAJPCAP1) ;
+
+LIGCHR17281 = TYPE2 * positif(NMAJCHR1) ;
+
+LIG_NMAJ1 = TYPE2 * positif(NMAJ1) ;
+LIG_NMAJ3 = TYPE2 * positif(NMAJ3) ;
+LIG_NMAJ4 = TYPE2 * positif(NMAJ4) ;
+
+LIGNMAJTAXA1 = TYPE2 * positif(NMAJTAXA1) ;
+LIGNMAJTAXA3 = TYPE2 * positif(NMAJTAXA3) ;
+LIGNMAJTAXA4 = TYPE2 * positif(NMAJTAXA4) ;
+
+LIGNMAJPCAP1 = TYPE2 * positif(NMAJPCAP1) ;
+LIGNMAJPCAP3 = TYPE2 * positif(NMAJPCAP3) ;
+LIGNMAJPCAP4 = TYPE2 * positif(NMAJPCAP4) ;
+LIGNMAJLOY1 = TYPE2 * positif(NMAJLOY1) ;
+LIGNMAJLOY3 = TYPE2 * positif(NMAJLOY3) ;
+LIGNMAJLOY4 = TYPE2 * positif(NMAJLOY4) ;
+
+LIGNMAJCHR1 = TYPE2 * positif(NMAJCHR1) ;
+LIGNMAJCHR3 = TYPE2 * positif(NMAJCHR3) ;
+LIGNMAJCHR4 = TYPE2 * positif(NMAJCHR4) ;
+
+regle 11119:
+application : batch, iliad;
+LIG109 = positif(IPSOUR + REGCI + LIGPVETR + LIGCULTURE + LIGMECENAT 
+		  + LIGCORSE + LIG2305 + LIGCI2CK + LIGCICAP + LIGCI8XV + LIGCIGLO + LIGREGCI
+		  + LIGBPLIB + LIGCIGE + LIGDEVDUR + LIGDDUBAIL
+                  + LIGCICA + LIGCIGARD + LIG82
+		  + LIGPRETUD + LIGSALDOM + LIGHABPRIN
+		  + LIGCREFAM + LIGCREAPP + LIGCREBIO  + LIGPRESINT + LIGCREPROSP + LIGINTER
+		  + LIGRESTAU + LIGCONGA + LIGMETART 
+		  + LIGCREFORM + LIGLOYIMP + LIGCOD8UV 
+		  + LIGVERSLIB + LIGCITEC + INDLIGPPE
+		   ) 
+               * LIG1 * LIG2 ;
+
+LIGCRED1 = positif(REGCI + LIGPVETR + LIGCICAP + LIGREGCI + LIGCI8XV + LIGCIGLO + 0) 
+	    * (1 - positif(IPSOUR + LIGCULTURE + LIGMECENAT + LIGCORSE + LIG2305 + LIGCI2CK + LIGBPLIB + LIGCIGE + LIGDEVDUR + LIGDDUBAIL 
+		           + LIGCICA + LIGCIGARD + LIG82 + LIGPRETUD + LIGSALDOM + LIGHABPRIN + LIGCREFAM + LIGCREAPP 
+		           + LIGCREBIO + LIGPRESINT + LIGCREPROSP + LIGINTER + LIGRESTAU + LIGCONGA + LIGMETART
+		           + LIGCREFORM + LIGLOYIMP + LIGCOD8UV + LIGVERSLIB + LIGCITEC + 0))
+	    ;
+
+LIGCRED2 = (1 - positif(REGCI + LIGPVETR + LIGCICAP + LIGREGCI + LIGCI8XV + LIGCIGLO + 0)) 
+	    * positif(IPSOUR + LIGCULTURE + LIGMECENAT + LIGCORSE + LIG2305 + LIGCI2CK + LIGBPLIB + LIGCIGE + LIGDEVDUR + LIGDDUBAIL  
+		      + LIGCICA + LIGCIGARD + LIG82 + LIGPRETUD + LIGSALDOM + LIGHABPRIN + LIGCREFAM + LIGCREAPP 
+		      + LIGCREBIO + LIGPRESINT + LIGCREPROSP + LIGINTER + LIGRESTAU + LIGCONGA + LIGMETART
+		      + LIGCREFORM + LIGLOYIMP + LIGCOD8UV + LIGVERSLIB + LIGCITEC + 0)
+	    ;
+
+LIGCRED3 = positif(REGCI + LIGPVETR + LIGCICAP + LIGREGCI + LIGCI8XV + LIGCIGLO + 0) 
+	    * positif(IPSOUR + LIGCULTURE + LIGMECENAT + LIGCORSE + LIG2305 + LIGCI2CK + LIGBPLIB + LIGCIGE + LIGDEVDUR + LIGDDUBAIL  
+		      + LIGCICA + LIGCIGARD + LIG82 + LIGPRETUD + LIGSALDOM + LIGHABPRIN + LIGCREFAM + LIGCREAPP 
+		      + LIGCREBIO + LIGPRESINT + LIGCREPROSP + LIGINTER + LIGRESTAU + LIGCONGA + LIGMETART
+		      + LIGCREFORM + LIGLOYIMP + LIGCOD8UV + LIGVERSLIB + LIGCITEC + 0)
+           ;
+regle 11120:
+application : batch, iliad ;
+
+LIGPVETR = positif(present(CIIMPPRO) + present(CIIMPPRO2)) * LIG1 * LIG2 ;
+LIGCICAP = present(PRELIBXT) * LIG1 * LIG2 ;
+LIGREGCI = present(REGCI) * positif(CICHR) * LIG1 * LIG2 ;
+LIGCI8XV = present(COD8XV) * LIG1 * LIG2 ;
+LIGCIGLO = positif(present(COD8XF) + present(COD8XG) + present(COD8XH)) * LIG1 * LIG2 ;
+
+LIGCULTURE = present(CIAQCUL) * LIG1 * LIG2 ;
+LIGMECENAT = present(RDMECENAT) * LIG1 * LIG2 ;
+LIGCORSE = positif(present(CIINVCORSE) + present(IPREPCORSE) + present(CICORSENOW)) * LIG1 * LIG2 ;
+LIG2305 = positif(DIAVF2) * LIG1 * LIG2 ;
+LIGCI2CK = positif(COD2CK) * LIG1 * LIG2 ;
+LIGBPLIB = present(RCMLIB) * LIG0 * (1 - null(4-V_REGCO)) * LIG2 ;
+LIGCIGE = positif(RDTECH + RDEQPAHA) * LIG1 * LIG2 ;
+LIGDEVDUR = positif(DDEVDUR) * LIG1 * LIG2 ;
+LIGDDUBAIL = positif(DEPENV) * LIG1 * LIG2 ;
+LIGCICA = positif(BAILOC98) * LIG1 * LIG2 ;
+LIGCIGARD = positif(DGARD) * LIG1 * LIG2 ;
+LIG82 = positif(present(RDSYVO) + present(RDSYCJ) + present(RDSYPP) ) * LIG1 * LIG2 ;
+LIGPRETUD = positif(PRETUD+PRETUDANT) * LIG1 * LIG2 ;
+LIGSALDOM = present(CREAIDE) * LIG1 * LIG2 ;
+LIGHABPRIN = positif(present(PREHABT) + present(PREHABT1) + present(PREHABT2) + present(PREHABTN) 
+                     + present(PREHABTN1) + present(PREHABTN2) + present(PREHABTVT)
+                    ) * LIG1 * LIG2 ;
+LIGCREFAM = positif(CREFAM) * LIG1 * LIG2 ;
+LIGCREAPP = positif(CREAPP) * LIG1 * LIG2 ;
+LIGCREBIO = positif(CREAGRIBIO) * LIG1 * LIG2 ;
+LIGPRESINT = positif(PRESINTER) * LIG1 * LIG2 ;
+LIGCREPROSP = positif(CREPROSP) * LIG1 * LIG2 ;
+LIGINTER = positif(CREINTERESSE) * LIG1 * LIG2 ;
+LIGRESTAU = positif(CRERESTAU) * LIG1 * LIG2 ;
+LIGCONGA = positif(CRECONGAGRI) * LIG1 * LIG2 ;
+LIGMETART = positif(CREARTS) * LIG1 * LIG2 ;
+LIGCREFORM = positif(CREFORMCHENT) * LIG1 * LIG2 ;
+LIGLOYIMP = positif(LOYIMP) * LIG1 * LIG2 ;
+LIGCOD8UV = positif(COD8UV) * LIG1 * LIG2 ;
+LIGVERSLIB = positif(AUTOVERSLIB) * LIG1 * LIG2 ;
+LIGCITEC = positif(DTEC) * LIG1 * LIG2 ;
+
+LIGCREAT = positif(DCREAT + DCREATHANDI) * LIG1 * LIG2 ;
+regle 1112030:
+application : batch, iliad ;
+
+LIGNRBASE = positif(present(NRINET) + present(NRBASE)) * LIG1 * LIG2 ;
+LIGBASRET = positif(present(IMPRET) + present(BASRET)) * LIG1 * LIG2 ;
+regle 1112332:
+application :  iliad, batch ;
+LIGAVFISC = positif(AVFISCOPTER) * LIG1 * LIG2 ; 
+regle 1112040:
+application : batch, iliad;
+LIG2040 = positif(DNBE + RNBE + RRETU) * LIG1 * LIG2 ;
+regle 1112041:
+application : iliad, batch ;
+LIGRDCSG = positif(positif(V_BTCSGDED) + present(DCSG) + present(RCMSOC)) * LIG1 * LIG2 ;
+regle 111117:
+application : batch, iliad;
+
+LIGTAXANET = positif((present(CESSASSV) + present(CESSASSC)) * INDREV1A8IR + TAXANTAFF) * (1 - positif(ANNUL2042 + 0)) * LIG1 ;
+
+LIGPCAPNET = positif((present(PCAPTAXV) + present(PCAPTAXC)) * INDREV1A8IR + PCAPANTAFF) * (1 - positif(ANNUL2042 + 0)) * LIG1 ;
+
+LIGLOYNET = (present(LOYELEV) * INDREV1A8IR + TAXLOYANTAFF) * (1 - positif(ANNUL2042 + 0)) * LIG1 ;
+
+LIGHAUTNET = positif(BHAUTREV * INDREV1A8IR + HAUTREVANTAF) * (1 - positif(ANNUL2042 + 0)) * LIG1 ;
+
+LIG_IRNET = positif(LIGTAXANET + LIGPCAPNET + LIGLOYNET + LIGHAUTNET) * (1 - positif(ANNUL2042 + 0)) ;
+
+LIGIRNET = positif(IRNET * LIG_IRNET + LIGTAXANET + LIGPCAPNET + LIGLOYNET + LIGHAUTNET) * (1 - positif(ANNUL2042 + 0)) ;
+
+regle 1112135:
+application : batch, iliad;
+LIGANNUL = positif(ANNUL2042) ;
+
+regle 1112050:
+application : batch, iliad;
+LIG2053 = positif(V_NOTRAIT - 20) * positif(IDEGR) * positif(IREST - SEUIL_8) * TYPE2 ;
+
+regle 1112051:
+application : batch,iliad ;
+LIG2051 = (1 - positif(20 - V_NOTRAIT)) 
+          * positif (RECUMBIS) ;
+
+LIGBLOC = positif(V_NOTRAIT - 20) ;
+
+LIGSUP = positif(null(V_NOTRAIT - 26) + null(V_NOTRAIT - 36) + null(V_NOTRAIT - 46) + null(V_NOTRAIT - 56) + null(V_NOTRAIT - 66)) ;
+
+LIGDEG = positif_ou_nul(TOTIRPSANT) * positif(SEUIL_8 - RECUM) 
+         * positif(null(V_NOTRAIT - 23) + null(V_NOTRAIT - 33) + null(V_NOTRAIT - 43) + null(V_NOTRAIT - 53) + null(V_NOTRAIT - 63)) ;
+
+LIGRES = (1 - positif(TOTIRPSANT + 0)) * positif_ou_nul(RECUM - SEUIL_8)
+         * positif(null(V_NOTRAIT - 23) + null(V_NOTRAIT - 33) + null(V_NOTRAIT - 43) + null(V_NOTRAIT - 53) + null(V_NOTRAIT - 63)) ;
+
+LIGDEGRES = positif(TOTIRPSANT + 0) * positif_ou_nul(RECUM - SEUIL_8) 
+            * positif(null(V_NOTRAIT - 23) + null(V_NOTRAIT - 33) + null(V_NOTRAIT - 43) + null(V_NOTRAIT - 53) + null(V_NOTRAIT - 63)) ;
+
+LIGNEMP = positif((1 - null(NAPTEMP)) + null(NAPTEMP) * null(NAPTIR) * null(NAPCRP)) ;
+
+LIGEMP = 1 - LIGNEMP ;
+
+LIG2052 = 1 - positif(V_ANTREIR + 0) ;
+
+LIGTAXANT = (
+	     APPLI_ILIAD * (1 - positif(20 - V_NOTRAIT)) * positif(V_TAXANT + LIGTAXANET * positif(TAXANET))
+            ) * (1 - positif(LIG2051)) * TYPE2 ;
+
+LIGPCAPANT = (
+	      APPLI_ILIAD * (1 - positif(20 - V_NOTRAIT)) * positif(V_PCAPANT + LIGPCAPNET * positif(PCAPNET))
+             ) * (1 - positif(LIG2051)) * TYPE2 ;
+LIGLOYANT = (
+	      APPLI_ILIAD * (1 - positif(20 - V_NOTRAIT)) * positif(V_TAXLOYANT + LIGLOYNET * positif(TAXLOYNET))
+             ) * (1 - positif(LIG2051)) * TYPE2 ;
+
+LIGHAUTANT = (
+	      APPLI_ILIAD * (1 - positif(20 - V_NOTRAIT)) * positif(V_CHRANT + LIGHAUTNET * positif(HAUTREVNET))
+             ) * (1 - positif(LIG2051)) * TYPE2 ;
+
+LIGANTREIR = positif(V_ANTREIR + 0) * (1 - positif(V_ANTCR)) ;
+
+LIGNANTREIR = positif(V_ANTREIR + 0) * positif(V_ANTCR + 0) ;
+
+LIGNONREC = positif(V_NONMERANT + 0) ;
+
+LIGNONREST = positif(V_NONRESTANT + 0) ;
+
+LIGIINET = LIGSUP * (positif(NAPT + 0) + null(IINETCALC)) ;
+
+LIGIINETC = LIGSUP * null(NAPT) * positif(IINETCALC + 0) ;
+
+LIGIDEGR = positif(LIGDEG + LIGDEGRES) * (positif_ou_nul(IDEGR - SEUIL_8) + null(IDEGR)) ;
+
+LIGIDEGRC = positif(LIGDEG + LIGDEGRES) * positif(SEUIL_8 - IDEGR) * positif(IDEGR + 0) ;
+
+LIGIREST = positif(LIGRES + LIGDEGRES) * (positif_ou_nul(IREST - SEUIL_8) + null(IREST)) ;
+
+LIGIRESTC = positif(LIGRES + LIGDEGRES) * positif(SEUIL_8 - IREST) * positif(IREST + 0) ;
+
+LIGNMRR = LIGIINETC * positif(V_ANTRE - V_NONRESTANT + 0) ;
+
+LIGNMRS = LIGIINETC * (1 - positif(V_ANTRE - V_NONRESTANT)) ;
+
+LIGRESINF = positif(LIGIDEGRC + LIGIRESTC) ;
+
+regle 1112080:
+application : batch, iliad ;
+
+LIG2080 = positif(NATIMP - 71) * LIG2 ;
+
+regle 1112081:
+application : batch, iliad ;
+
+LIGTAXADEG = positif(NATIMP - 71) * positif(TAXADEG) * LIG2 ;
+
+LIGPCAPDEG = positif(NATIMP - 71) * positif(PCAPDEG) * LIG2 ;
+
+LIGLOYDEG = positif(NATIMP - 71) * positif(TAXLOYDEG) * LIG2 ;
+
+LIGHAUTDEG = positif(NATIMP - 71) * positif(HAUTREVDEG) * LIG2 ;
+
+regle 1112140:
+application : iliad,batch;
+INDCTX = si (  (V_NOTRAIT+0 = 23)  
+            ou (V_NOTRAIT+0 = 33)   
+            ou (V_NOTRAIT+0 = 43)   
+            ou (V_NOTRAIT+0 = 53)   
+            ou (V_NOTRAIT+0 = 63)  
+            )
+         alors (1)
+         sinon (0)
+         finsi;
+
+INDIS = si (  (V_NOTRAIT+0 = 14)
+            ou (V_NOTRAIT+0 = 16)
+	    ou (V_NOTRAIT+0 = 26)
+	    ou (V_NOTRAIT+0 = 36)
+	    ou (V_NOTRAIT+0 = 46)
+	    ou (V_NOTRAIT+0 = 56)
+	    ou (V_NOTRAIT+0 = 66)
+           )
+        alors (1)
+        sinon (0)
+	finsi;
+
+
+LIG2140 = si (
+                ( ( (V_CR2 + 0 = 0) et NATIMP = 1 et (IRNET + TAXANET + PCAPNET + TAXLOYNET + HAUTREVNET + NRINET - NAPTOTA + NAPCR >= SEUIL_12)) 
+		    ou ((V_CR2 + 0 = 1) et (NATIMP = 1 ou  NATIMP = 0))
+                    ou ((V_REGCO + 0 = 3) et ((NRINET +0 < 12) et (CSTOTSSPENA < 61)))
+                ) 
+		et LIG2141 + 0 = 0
+		)
+          alors ((((1 - INDCTX) * INDREV1A8 * (1 - (positif(IRANT)*null(NAPT)) ) * LIG2)
+                + null(IINET + NAPTOTA) * null(INDREV1A8)) * positif(IND_REV) * positif(20 - V_NOTRAIT))
+          finsi;
+
+LIG21401 = si (( ((V_CR2+0=0) et NATIMP=1 et (IRNET + TAXANET + PCAPNET + TAXLOYNET + HAUTREVNET + NRINET - NAPTOTA + NAPCR >= SEUIL_12)) 
+		ou ((V_CR2+0=1) et (NATIMP=1 ou  NATIMP=0)))
+		et LIG2141 + 0 = 0
+		)
+           alors ((((1 - INDCTX) * INDREV1A8 * (1 - (positif(IRANT)*null(NAPT)) ) * LIG2)
+                + null(IINET + NAPTOTA) * null(INDREV1A8)) * positif(IND_REV) * positif(20 - V_NOTRAIT))
+           finsi ;
+
+LIG21402 = si (( ((V_CR2+0=0) et NATIMP=1 et (IRNET + TAXANET + PCAPNET + TAXLOYNET + HAUTREVNET + NRINET - NAPTOTA + NAPCR >= SEUIL_12)) 
+		ou ((V_CR2+0=1) et (NATIMP=1 ou  NATIMP=0)))
+		et LIG2141 + 0 = 0
+		)
+           alors ((((1 - INDCTX) * INDREV1A8 * (1 - (positif(IRANT)*null(NAPT)) ) * LIG2)
+                + null(IINET + NAPTOTA) * null(INDREV1A8)) * positif(IND_REV) * positif(V_NOTRAIT - 20))
+           finsi ;
+
+
+regle 112141:
+application : batch,  iliad;
+
+LIG2141 = null(IAN + RPEN - IAVT + TAXASSUR + IPCAPTAXT + TAXLOY + CHRAPRES - IRANT) 
+                  * positif(IRANT)
+                  * (1 - positif(LIG2501))
+		  * null(V_IND_TRAIT - 4)
+		  * (1 - positif(NRINET + 0)) ;
+
+regle 112145:
+application : batch,  iliad;
+LIGNETAREC = positif (IINET) * (1 - LIGPS) * positif(ANNUL2042) * TYPE2 ;
+
+LIGNETARECS = positif (IINET) * LIGPS * positif(ANNUL2042) * TYPE2 ;
+
+regle 1112150:
+application : iliad , batch ;
+
+LIG2150 = (1 - INDCTX) 
+	 * positif(IREST)
+         * (1 - positif(LIG2140))
+         * (1 - positif(IND_REST50))
+	 * positif(20 - V_NOTRAIT)
+         * LIG2 ;
+
+regle 1112160:
+application : batch, iliad ;
+
+LIG2161 =  INDCTX 
+	  * positif(IREST) 
+          * positif_ou_nul(IREST - SEUIL_8) 
+	  * (1 - positif(IND_REST50)) ;
+
+
+LIG2368 = INDCTX 
+	 * positif(IREST)
+         * positif ( positif(IND_REST50)
+                     + positif(IDEGR) )
+           ;
+
+regle 1112171:
+application : batch , iliad ;
+
+LIG2171 = (1 - INDCTX) 
+	 * positif(IREST)
+	 * (1 - positif(LIG2140))
+         * positif(IND_REST50)  
+	 * positif(20 - V_NOTRAIT)
+	 * LIG2 ;
+
+regle 11121710:
+application : batch, iliad ;
+
+LIGTROP = positif(V_ANTRE+V_ANTCR) * null(IINET)* positif_ou_nul(abs(NAPTOTA)
+             - IRESTIT - IRANT) * (1 - positif_ou_nul(abs(NAPTOTA) - IRESTIT
\ No newline at end of file
diff --git a/sources2013m_3_8/chap-cinr.m b/sources2013m_3_8/chap-cinr.m
new file mode 100644
index 0000000000000000000000000000000000000000..c167dd35c252da2ba77dc37c4209149795772323
--- /dev/null
+++ b/sources2013m_3_8/chap-cinr.m
@@ -0,0 +1,868 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle corrective base_HR 1311:
+application :  iliad ;
+IRNIN_R99R = max(0,max(IRNIN_INR,IRNIN_PA-ACODELAISINR))*positif(IND_PASSAGE-1);
+CSG_R99R = max(0,max(CSG*CSREC,CSG_PA))*positif(IND_PASSAGE-1);
+RDS_R99R = max(0,max(RDSN*CSREC,CRDS_PA))*positif(IND_PASSAGE-1);
+PRS_R99R = max(0,max(PRS*CSREC,PRS_PA))*positif(IND_PASSAGE-1);
+CDIS_R99R = max(0,max(CDIS*CSREC,CDIS_PA))*positif(IND_PASSAGE-1);
+TAXA_R99R = max(0,max(TAXABASE,TAXA_PA))*positif(IND_PASSAGE-1);
+ISF_R99R = max(0,max(ISF4BASE,ISF_PA))*positif(IND_PASSAGEISF-1);
+CHR_R99R = max(0,max(CHRBASE,CHR_PA))*positif(IND_PASSAGE-1);
+PCAP_R99R = max(0,max(PCAPBASE,PCAP_PA))*positif(IND_PASSAGE-1);
+RSE1_R99R = max(0,max(RSE1BASE,RSE1_PA))*positif(IND_PASSAGE-1);
+RSE2_R99R = max(0,max(RSE2BASE,RSE2_PA))*positif(IND_PASSAGE-1);
+RSE3_R99R = max(0,max(RSE3BASE,RSE3_PA))*positif(IND_PASSAGE-1);
+RSE4_R99R = max(0,max(RSE4BASE,RSE4_PA))*positif(IND_PASSAGE-1);
+RSE5_R99R = max(0,max(RSE5BASE,RSE5_PA))*positif(IND_PASSAGE-1);
+CVN_R99R = max(0,max(CVNBASE,CVN_PA))*positif(IND_PASSAGE-1);
+LOY_R99R = max(0,max(LOYBASE,LOY_PA))*positif(IND_PASSAGE-1);
+GLO_R99R = max(0,max(GLOBASE,GLO_PA))*positif(IND_PASSAGE-1);
+regle corrective base_inr_r9901 1313:
+application :  iliad ;
+IRNIN_R9901 = max(0,max(IRNIN_INR,IRNIN_INR_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(IRNIN_INR,IRNIN_PA-ACODELAISINR))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             + IRNIN_R9901_A;
+CSG_R9901 = max(0,max(CSG*CSREC,CSG_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CSG*CSREC,CSG_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CSG_R9901_A;
+RDS_R9901 = max(0,max(RDSN*CSREC,RDS_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RDSN*CSREC,CRDS_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RDS_R9901_A;
+PRS_R9901 = max(0,max(PRS*CSREC,PRS_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(PRS*CSREC,PRS_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +PRS_R9901_A;
+CDIS_R9901 = max(0,max(CDISBASE*CSREC,CDIS_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CDISBASE*CSREC,CDIS_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CDIS_R9901_A;
+TAXA_R9901 = max(0,max(TAXABASE,TAXA_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(TAXABASE,TAXA_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +TAXA_R9901_A;
+ISF_R9901 = max(0,max(ISF4BASE,ISF_P))*null(IND_PASSR9901ISF-2)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+	     + max(0,max(ISF4BASE,ISF_PA))*null(IND_PASSR9901ISF-3)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +ISF_R9901_A;
+CHR_R9901 = max(0,max(CHRBASE,CHR_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CHRBASE,CHR_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CHR_R9901_A;
+PCAP_R9901 = max(0,max(PCAPBASE,PCAP_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(PCAPBASE,PCAP_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +PCAP_R9901_A;
+RSE1_R9901 = max(0,max(RSE1BASE,RSE1_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE1BASE,RSE1_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE1_R9901_A;
+RSE2_R9901 = max(0,max(RSE2BASE,RSE2_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE2BASE,RSE2_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE2_R9901_A;
+RSE3_R9901 = max(0,max(RSE3BASE,RSE3_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE3BASE,RSE3_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE3_R9901_A;
+RSE4_R9901 = max(0,max(RSE4BASE,RSE4_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE4BASE,RSE4_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE4_R9901_A;
+RSE5_R9901 = max(0,max(RSE5BASE,RSE5_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE5BASE,RSE5_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE5_R9901_A;
+LOY_R9901 = max(0,max(LOYBASE,LOY_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(LOYBASE,LOY_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +LOY_R9901_A;
+CVN_R9901 = max(0,max(CVNBASE,CVN_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CVNBASE,CVN_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CVN_R9901_A;
+GLO_R9901 = max(0,max(GLOBASE,GLO_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(GLOBASE,GLO_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +GLO_R9901_A;
+regle corrective base_inr_pri 1312:
+application :  iliad ;
+IRNIN_PRECT = max(0,IRNIN_INR);
+CSG_PRECT = max(0,CSG*CSREC);
+RDS_PRECT = max(0,RDSN*CSREC);
+PRS_PRECT = max(0,PRS*CSREC);
+CDIS_PRECT = max(0,CDISBASE*CSREC);
+TAXA_PRECT = max(0,TAXABASE);
+ISF_PRECT = max(0,ISF4BASE);
+CHR_PRECT = max(0,CHRBASE);
+PCAP_PRECT = max(0,PCAPBASE);
+RSE1_PRECT = max(0,RSE1BASE);
+RSE2_PRECT = max(0,RSE2BASE);
+RSE3_PRECT = max(0,RSE3BASE);
+RSE4_PRECT = max(0,RSE4BASE);
+RSE5_PRECT = max(0,RSE5BASE);
+LOY_PRECT = max(0,LOYBASE);
+CVN_PRECT = max(0,CVNBASE);
+GLO_PRECT = max(0,GLOBASE);
+regle corrective base_inr_ref 1300:
+application :  iliad ;
+IRNIN_REFP = max(0,max(IRNIN_INR,(IRNIN_P*(1-FLAG_PRIM*FLAG_9YT)+(IRNIN_PA-ACODELAISINR))));
+CSG_REFP = max(0,max(CSG*CSRECINR,(CSG_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CSG_PA)));
+RDS_REFP = max(0,max(RDSN*CSRECINR,(RDS_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CRDS_PA)));
+PRS_REFP = max(0,max(PRS*CSRECINR,(PRS_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+PRS_PA)));
+CDIS_REFP = max(0,max(CDISBASE*CSRECINR,(CDIS_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CDIS_PA)));
+TAXA_REFP = max(0,max(TAXABASE,TAXA_P*(1-FLAG_PRIM*FLAG_9YT)+TAXA_PA));
+CHR_REFP = max(0,max(CHRBASE,CHR_P*(1-FLAG_PRIM*FLAG_9YT)+CHR_PA));
+PCAP_REFP = max(0,max(PCAPBASE,PCAP_P*(1-FLAG_PRIM*FLAG_9YT)+PCAP_PA));
+RSE1_REFP = max(0,max(RSE1BASE,RSE1_P*(1-FLAG_PRIM*FLAG_9YT)+RSE1_PA));
+RSE2_REFP = max(0,max(RSE2BASE,RSE2_P*(1-FLAG_PRIM*FLAG_9YT)+RSE2_PA));
+RSE3_REFP = max(0,max(RSE3BASE,RSE3_P*(1-FLAG_PRIM*FLAG_9YT)+RSE3_PA));
+RSE4_REFP = max(0,max(RSE4BASE,RSE4_P*(1-FLAG_PRIM*FLAG_9YT)+RSE4_PA));
+RSE5_REFP = max(0,max(RSE5BASE,RSE5_P*(1-FLAG_PRIM*FLAG_9YT)+RSE5_PA));
+LOY_REFP = max(0,max(LOYBASE,LOY_P*(1-FLAG_PRIM*FLAG_9YT)+LOY_PA));
+CVN_REFP = max(0,max(CVNBASE,CVN_P*(1-FLAG_PRIM*FLAG_9YT)+CVN_PA));
+GLO_REFP = max(0,max(GLOBASE,GLO_P*(1-FLAG_PRIM*FLAG_9YT)+GLO_PA));
+IRNIN_REF= max(IRNIN_REFP,max(IRNIN_REF_A-ACODELAISINR,IRNIN_INR_A-ACODELAISINR));
+CSG_REF= max(CSG_REFP,max(CSG_REF_A*CSRECA,CSG_A*CSRECA));
+RDS_REF= max(RDS_REFP,max(RDS_REF_A*CSRECA,RDS_A*CSRECA));
+PRS_REF= max(PRS_REFP,max(PRS_REF_A*CSRECA,PRS_A*CSRECA));
+CDIS_REF= max(CDIS_REFP,max(CDIS_REF_A*CSRECA,CDIS_A*CSRECA));
+TAXA_REF= max(TAXA_REFP,max(TAXA_REF_A,TAXABASE_A));
+CHR_REF= max(CHR_REFP,max(CHR_REF_A,CHRBASE_A));
+PCAP_REF= max(PCAP_REFP,max(PCAP_REF_A,PCAPBASE_A));
+RSE1_REF= max(RSE1_REFP,max(RSE1_REF_A,RSE1BASE_A));
+RSE2_REF= max(RSE2_REFP,max(RSE2_REF_A,RSE2BASE_A));
+RSE3_REF= max(RSE3_REFP,max(RSE3_REF_A,RSE3BASE_A));
+RSE4_REF= max(RSE4_REFP,max(RSE4_REF_A,RSE4BASE_A));
+RSE5_REF= max(RSE5_REFP,max(RSE5_REF_A,RSE5BASE_A));
+LOY_REF= max(LOY_REFP,max(LOY_REF_A,LOYBASE_A));
+CVN_REF= max(CVN_REFP,max(CVN_REF_A,CVNBASE_A));
+GLO_REF= max(GLO_REFP,max(GLO_REF_A,GLOBASE_A));
+IRNIN_RECT=IRNIN_INR;
+IRNIN_R = IRNIN_REF_A;
+INDFLAGCIR = positif(FLAG_C02+FLAG_C22) * positif(IRNIN_REF_A);
+INDFLAGCCSG = positif(FLAG_C02+FLAG_C22) * positif(CSG_REF_A);
+RDS_R = RDS_REF_A;
+INDFLAGCRDS = positif(FLAG_C02+FLAG_C22) * positif(RDS_REF_A);
+PRS_R = PRS_REF_A;
+INDFLAGCPRS = positif(FLAG_C02+FLAG_C22) * positif(PRS_REF_A);
+CDIS_R = CDIS_REF_A;
+INDFLAGCCDIS = positif(FLAG_C02+FLAG_C22) * positif(CDIS_REF_A);
+TAXA_R = TAXA_REF_A;
+INDFLAGCTAXA = positif(FLAG_C02+FLAG_C22) * positif(TAXA_REF_A);
+CHR_R = CHR_REF_A;
+INDFLAGCCHR = positif(FLAG_C02+FLAG_C22) * positif(CHR_REF_A);
+PCAP_R = PCAP_REF_A;
+INDFLAGCPCAP = positif(FLAG_C02+FLAG_C22) * positif(PCAP_REF_A);
+RSE1_R = RSE1_REF_A;
+INDFLAGCRSE1 = positif(FLAG_C02+FLAG_C22) * positif(RSE1_REF_A);
+RSE2_R = RSE2_REF_A;
+INDFLAGCRSE2 = positif(FLAG_C02+FLAG_C22) * positif(RSE2_REF_A);
+RSE3_R = RSE3_REF_A;
+INDFLAGCRSE3 = positif(FLAG_C02+FLAG_C22) * positif(RSE3_REF_A);
+RSE4_R = RSE4_REF_A;
+INDFLAGCRSE4 = positif(FLAG_C02+FLAG_C22) * positif(RSE4_REF_A);
+RSE5_R = RSE5_REF_A;
+INDFLAGCRSE5 = positif(FLAG_C02+FLAG_C22) * positif(RSE5_REF_A);
+LOY_R = LOY_REF_A;
+INDFLAGCLOY = positif(FLAG_C02+FLAG_C22) * positif(LOY_REF_A);
+CVN_R = CVN_REF_A;
+INDFLAGCCVN = positif(FLAG_C02+FLAG_C22) * positif(CVN_REF_A);
+GLO_R = GLO_REF_A;
+INDFLAGCGLO = positif(FLAG_C02+FLAG_C22) * positif(GLO_REF_A);
+ISF_REFP = max(0,max(ISF4BASE,ISF_P*(1-FLAG_PRIM*FLAG_9XT)+ISF_PA));
+ISF_REF= max(ISF_REFP,max(ISF_REF_A,ISF4BASE_A));
+ISF_R = ISF_REF_A;
+INDFLAGCISF = positif(FLAG_C02+FLAG_C22) * positif(ISF_REF_A);
+regle corrective base_inr_ntl 1301:
+application :  iliad ;
+INRCHR_NTL10 = INRCHR_NTLPROV * null(2 - FLAG_INR);
+regle corrective base_inr_intertl 1301999:
+application :  iliad ;
+INRCHR_TL15 = INRCHR_NTL15 ;
+CHR_NTL15 = CHRBASE;
+IRNIN_NTLDEC = IRNIN_INR;
+INRIR_NTLDEC = INRIR_NTL+INR_IR_TARDIF * null(1-IND_PASSAGE);
+INRIR_NTLADEC = INRIR_NTL_A;
+INR_IR_NTL=max(0,INRIR_NTL+INR_IR_TARDIF * null(1-IND_PASSAGE));
+CSG_NTLDEC = CSBASE;
+INRCSG_NTLDEC = INRCSG_NTL+INR_CSG_TARDIF * null(1-IND_PASSAGE);
+INRCSG_NTLADEC = INRCSG_NTL_A;
+INR_CSG_NTL=INRCSG_NTL+INR_CSG_TARDIF * null(1-IND_PASSAGE);
+PRS_NTLDEC = PSBASE;
+INRPRS_NTLDEC = INRPRS_NTL+INR_PS_TARDIF * null(1-IND_PASSAGE);
+INRPS_NTLADEC = INRPRS_NTL_A;
+INR_PS_NTL=INRPRS_NTL+INR_PS_TARDIF * null(1-IND_PASSAGE);
+CRDS_NTLDEC = RDBASE;
+INRCRDS_NTLDEC = INRCRDS_NTL+INR_CRDS_TARDIF * null(1-IND_PASSAGE);
+INRCRDS_NTLADEC = INRCRDS_NTL_A;
+INR_CRDS_NTL=INRCRDS_NTL+INR_CRDS_TARDIF * null(1-IND_PASSAGE);
+CDIS_NTLDEC = CDISBASE;
+INRCDIS_NTLDEC = INRCDIS_NTL+INR_CDIS_TARDIF * null(1-IND_PASSAGE);
+INRCDIS_NTLADEC = INRCDIS_NTL_A;
+INR_CDIS_NTL=INRCDIS_NTL+INR_CDIS_TARDIF * null(1-IND_PASSAGE);
+TAXA_NTLDEC = TAXABASE;
+INRTAXA_NTLDEC = INRTAXA_NTL+INR_TAXAGA_TARDIF * null(1-IND_PASSAGE);
+INRTAXA_NTLADEC = INRTAXA_NTL_A;
+INR_TAXAGA_NTL=INRTAXA_NTL+INR_TAXAGA_TARDIF * null(1-IND_PASSAGE);
+ISF_NTLDEC = ISF4BASE;
+INRISF_NTLDEC = INRISF_NTL+INR_ISF_TARDIF * null(1-IND_PASSAGEISF);
+INRISF_NTLADEC = INRISF_NTL_A;
+INR_ISF_NTL=INRISF_NTL+INR_ISF_TARDIF * null(1-IND_PASSAGEISF);
+CHR_NTLDEC = CHRBASE;
+INRCHR_NTLDEC = INRCHR_NTL+INR_CHR_TARDIF * null(1-IND_PASSAGE);
+INRCHR_NTLADEC = INRCHR_NTL_A;
+INR_CHR_NTL=INRCHR_NTL+INR_CHR_TARDIF * null(1-IND_PASSAGE);
+PCAP_NTLDEC = PCAPBASE;
+INRPCAP_NTLDEC = INRPCAP_NTL+INR_PCAP_TARDIF * null(1-IND_PASSAGE);
+INRPCAP_NTLADEC = INRPCAP_NTL_A;
+INR_PCAP_NTL=INRPCAP_NTL+INR_PCAP_TARDIF * null(1-IND_PASSAGE);
+RSE1_NTLDEC = RSE1BASE;
+INRRSE1_NTLDEC = INRRSE1_NTL+INR_RSE1_TARDIF * null(1-IND_PASSAGE);
+INRRSE1_NTLADEC = INRRSE1_NTL_A;
+INR_RSE1_NTL=INRRSE1_NTL+INR_RSE1_TARDIF * null(1-IND_PASSAGE);
+RSE2_NTLDEC = RSE2BASE;
+INRRSE2_NTLDEC = INRRSE2_NTL+INR_RSE2_TARDIF * null(1-IND_PASSAGE);
+INRRSE2_NTLADEC = INRRSE2_NTL_A;
+INR_RSE2_NTL=INRRSE2_NTL+INR_RSE2_TARDIF * null(1-IND_PASSAGE);
+RSE3_NTLDEC = RSE3BASE;
+INRRSE3_NTLDEC = INRRSE3_NTL+INR_RSE3_TARDIF * null(1-IND_PASSAGE);
+INRRSE3_NTLADEC = INRRSE3_NTL_A;
+INR_RSE3_NTL=INRRSE3_NTL+INR_RSE3_TARDIF * null(1-IND_PASSAGE);
+RSE4_NTLDEC = RSE4BASE;
+INRRSE4_NTLDEC = INRRSE4_NTL+INR_RSE4_TARDIF * null(1-IND_PASSAGE);
+INRRSE4_NTLADEC = INRRSE4_NTL_A;
+INR_RSE4_NTL=INRRSE4_NTL+INR_RSE4_TARDIF * null(1-IND_PASSAGE);
+RSE5_NTLDEC = RSE5BASE;
+INRRSE5_NTLDEC = INRRSE5_NTL+INR_RSE5_TARDIF * null(1-IND_PASSAGE);
+INRRSE5_NTLADEC = INRRSE5_NTL_A;
+INR_RSE5_NTL=INRRSE5_NTL+INR_RSE5_TARDIF * null(1-IND_PASSAGE);
+LOY_NTLDEC = LOYBASE;
+INRLOY_NTLDEC = INRLOY_NTL+INR_LOY_TARDIF * null(1-IND_PASSAGE);
+INRLOY_NTLADEC = INRLOY_NTL_A;
+INR_LOY_NTL=INRLOY_NTL+INR_LOY_TARDIF * null(1-IND_PASSAGE);
+CVN_NTLDEC = CVNBASE;
+INRCVN_NTLDEC = INRCVN_NTL+INR_CVN_TARDIF * null(1-IND_PASSAGE);
+INRCVN_NTLADEC = INRCVN_NTL_A;
+INR_CVN_NTL=INRCVN_NTL+INR_CVN_TARDIF * null(1-IND_PASSAGE);
+GLO_NTLDEC = GLOBASE;
+INRGLO_NTLDEC = INRGLO_NTL+INR_GLO_TARDIF * null(1-IND_PASSAGE);
+INRGLO_NTLADEC = INRGLO_NTL_A;
+INR_GLO_NTL=INRGLO_NTL+INR_GLO_TARDIF * null(1-IND_PASSAGE);
+regle corrective base_ABAT98 130111:
+application :  iliad ;
+DO_INR_IR98 = DO_INR_IR982;
+IRNIN_NTLDEC_198 = IRNIN_INR;
+DO_INR_CSG98 = DO_INR_CSG982;
+CSG_NTLDEC_198 = CSBASE;
+DO_INR_PRS98 = DO_INR_PRS982;
+PRS_NTLDEC_198 = PSBASE;
+DO_INR_CRDS98 = DO_INR_CRDS982;
+CRDS_NTLDEC_198 = RDBASE;
+DO_INR_CDIS98 = DO_INR_CDIS982;
+CDIS_NTLDEC_198 = CDISBASE;
+DO_INR_TAXA98 = DO_INR_TAXA982;
+TAXA_NTLDEC_198 = TAXABASE;
+DO_INR_CHR98 = DO_INR_CHR982;
+CHR_NTLDEC_198 = CHRBASE;
+DO_INR_PCAP98 = DO_INR_PCAP982;
+PCAP_NTLDEC_198 = PCAPBASE;
+DO_INR_RSE198 = DO_INR_RSE1982;
+RSE1_NTLDEC_198 = RSE1BASE;
+DO_INR_RSE298 = DO_INR_RSE2982;
+RSE2_NTLDEC_198 = RSE2BASE;
+DO_INR_RSE398 = DO_INR_RSE3982;
+RSE3_NTLDEC_198 = RSE3BASE;
+DO_INR_RSE498 = DO_INR_RSE4982;
+RSE4_NTLDEC_198 = RSE4BASE;
+DO_INR_RSE598 = DO_INR_RSE5982;
+RSE5_NTLDEC_198 = RSE5BASE;
+DO_INR_LOY98 = DO_INR_LOY982;
+LOY_NTLDEC_198 = LOYBASE;
+DO_INR_CVN98 = DO_INR_CVN982;
+CVN_NTLDEC_198 = CVNBASE;
+DO_INR_GLO98 = DO_INR_GLO982;
+GLO_NTLDEC_198 = GLOBASE;
+regle corrective base_inr_ntl22 130199:
+application :  iliad ;
+INRCHR_NTL10_1 = INRCHR_NTLPROV_1 * null(2 - FLAG_INR);
+regle corrective base_INR 13011:
+application :  iliad ;
+INRCHR_TL15_1 = INRCHR_NTL15_1 ;
+CHR_NTL15_1 = CHRBASE;
+IRNIN_NTLDEC_1 = IRNIN_INR;
+INRIR_NTLDEC_1 = INRIR_NTL_1;
+INRIR_NTLADEC_1 = INRIR_NTL_1_A;
+INR_IR_NTL_1=INRIR_NTL_1;
+CSG_NTLDEC_1 = CSBASE;
+INRCSG_NTLDEC_1 = INRCSG_NTL_1;
+INRCSG_NTLADEC_1 = INRCSG_NTL_1_A;
+INR_CSG_NTL_1=INRCSG_NTL_1;
+PRS_NTLDEC_1 = PSBASE;
+INRPRS_NTLDEC_1 = INRPRS_NTL_1;
+INRPS_NTLADEC_1 = INRPRS_NTL_1_A;
+INR_PS_NTL_1=INRPRS_NTL_1;
+CRDS_NTLDEC_1 = RDBASE;
+INRCRDS_NTLDEC_1 = INRCRDS_NTL_1;
+INRCRDS_NTLADEC_1 = INRCRDS_NTL_1_A;
+INR_CRDS_NTL_1=INRCRDS_NTL_1;
+CDIS_NTLDEC_1 = CDISBASE;
+INRCDIS_NTLDEC_1 = INRCDIS_NTL_1;
+INRCDIS_NTLADEC_1 = INRCDIS_NTL_1_A;
+INR_CDIS_NTL_1=INRCDIS_NTL_1;
+TAXA_NTLDEC_1 = TAXABASE;
+INRTAXA_NTLDEC_1 = INRTAXA_NTL_1;
+INRTAXA_NTLADEC_1 = INRTAXA_NTL_1_A;
+INR_TAXAGA_NTL_1=INRTAXA_NTL_1;
+CHR_NTLDEC_1 = CHRBASE;
+INRCHR_NTLDEC_1 = INRCHR_NTL_1;
+INRCHR_NTLADEC_1 = INRCHR_NTL_1_A;
+INR_CHR_NTL_1=INRCHR_NTL_1;
+PCAP_NTLDEC_1 = PCAPBASE;
+INRPCAP_NTLDEC_1 = INRPCAP_NTL_1;
+INRPCAP_NTLADEC_1 = INRPCAP_NTL_1_A;
+INR_PCAP_NTL_1=INRPCAP_NTL_1;
+RSE1_NTLDEC_1 = RSE1BASE;
+INRRSE1_NTLDEC_1 = INRRSE1_NTL_1;
+INRRSE1_NTLADEC_1 = INRRSE1_NTL_1_A;
+INR_RSE1_NTL_1=INRRSE1_NTL_1;
+RSE2_NTLDEC_1 = RSE2BASE;
+INRRSE2_NTLDEC_1 = INRRSE2_NTL_1;
+INRRSE2_NTLADEC_1 = INRRSE2_NTL_1_A;
+INR_RSE2_NTL_1=INRRSE2_NTL_1;
+RSE3_NTLDEC_1 = RSE3BASE;
+INRRSE3_NTLDEC_1 = INRRSE3_NTL_1;
+INRRSE3_NTLADEC_1 = INRRSE3_NTL_1_A;
+INR_RSE3_NTL_1=INRRSE3_NTL_1;
+RSE4_NTLDEC_1 = RSE4BASE;
+INRRSE4_NTLDEC_1 = INRRSE4_NTL_1;
+INRRSE4_NTLADEC_1 = INRRSE4_NTL_1_A;
+INR_RSE4_NTL_1=INRRSE4_NTL_1;
+RSE5_NTLDEC_1 = RSE5BASE;
+INRRSE5_NTLDEC_1 = INRRSE5_NTL_1;
+INRRSE5_NTLADEC_1 = INRRSE5_NTL_1_A;
+INR_RSE5_NTL_1=INRRSE5_NTL_1;
+LOY_NTLDEC_1 = LOYBASE;
+INRLOY_NTLDEC_1 = INRLOY_NTL_1;
+INRLOY_NTLADEC_1 = INRLOY_NTL_1_A;
+INR_LOY_NTL_1=INRLOY_NTL_1;
+CVN_NTLDEC_1 = CVNBASE;
+INRCVN_NTLDEC_1 = INRCVN_NTL_1;
+INRCVN_NTLADEC_1 = INRCVN_NTL_1_A;
+INR_CVN_NTL_1=INRCVN_NTL_1;
+GLO_NTLDEC_1 = GLOBASE;
+INRGLO_NTLDEC_1 = INRGLO_NTL_1;
+INRGLO_NTLADEC_1 = INRGLO_NTL_1_A;
+INR_GLO_NTL_1=INRGLO_NTL_1;
+regle corrective base_ABAT99 130222:
+application :  iliad ;
+DO_INR_IR99 = DO_INR_IR992;
+DO_INR_CSG99 = DO_INR_CSG992;
+DO_INR_PRS99 = DO_INR_PRS992;
+DO_INR_CRDS99 = DO_INR_CRDS992;
+DO_INR_CDIS99 = DO_INR_CDIS992;
+DO_INR_TAXA99 = DO_INR_TAXA992;
+DO_INR_CHR99 = DO_INR_CHR992;
+DO_INR_PCAP99 = DO_INR_PCAP992;
+DO_INR_RSE199 = DO_INR_RSE1992;
+DO_INR_RSE299 = DO_INR_RSE2992;
+DO_INR_RSE399 = DO_INR_RSE3992;
+DO_INR_RSE499 = DO_INR_RSE4992;
+DO_INR_RSE599 = DO_INR_RSE5992;
+DO_INR_LOY99 = DO_INR_LOY992;
+DO_INR_CVN99 = DO_INR_CVN992;
+DO_INR_GLO99 = DO_INR_GLO992;
+IRNIN_TLDEC_199=IRNIN_INR;
+CSG_TLDEC_199=CSG;
+PRS_TLDEC_199=PRS;
+RDS_TLDEC_199=RDSN;
+CDIS_TLDEC_199=CDISBASE;
+TAXA_TLDEC_199=TAXABASE;
+CHR_TLDEC_199=CHRBASE;
+PCAP_TLDEC_199=PCAPBASE;
+RSE1_TLDEC_199=RSE1BASE;
+RSE2_TLDEC_199=RSE2BASE;
+RSE3_TLDEC_199=RSE3BASE;
+RSE4_TLDEC_199=RSE4BASE;
+RSE5_TLDEC_199=RSE5BASE;
+LOY_TLDEC_199=LOYBASE;
+CVN_TLDEC_199=CVNBASE;
+GLO_TLDEC_199=GLOBASE;
+regle corrective base_inr_tl 1302:
+application :  iliad ;
+IRNIN_TLDEC=IRNIN_INR;
+INRIR_TLADEC = INRIR_TLACQ;
+INRIR_TL_AD=INRIR_TL_A;
+INRIR_TLDEC = INRIR_TLA+INRIR_RETDEF*null(INRIR_RETDEF_A);
+INR_IR_TL=INRIR_TLACQ* (1-IND_RJLJ);
+CSG_TLDEC=CSG;
+INRCSG_TLADEC = INRCSG_TLACQ;
+INRCSG_TL_AD = INRCSG_TL_A;
+INRCSG_TLDEC = INRCSG_TLA + INRCSG_RETDEF * null(INRCSG_RETDEF_A);
+INR_CSG_TL=INRCSG_TLACQ* (1-IND_RJLJ);
+PRS_TLDEC=PRS;
+INRPRS_TLADEC = INRPRS_TLACQ;
+INRPRS_TL_AD = INRPRS_TL_A;
+INRPRS_TLDEC = INRPRS_TLA + INRPRS_RETDEF * null(INRPRS_RETDEF_A);
+INR_PS_TL=INRPRS_TLACQ* (1-IND_RJLJ);
+RDS_TLDEC=RDSN;
+INRCRDS_TLADEC = INRCRDS_TLACQ;
+INRCRDS_TL_AD = INRCRDS_TL_A;
+INRCRDS_TLDEC = INRCRDS_TLA + INRCRDS_RETDEF * null(INRCRDS_RETDEF_A);
+INR_CRDS_TL=INRCRDS_TLACQ* (1-IND_RJLJ);
+CDIS_TLDEC=CDISBASE;
+INRCDIS_TLADEC = INRCDIS_TLACQ;
+INRCDIS_TL_AD = INRCDIS_TL_A;
+INRCDIS_TLDEC = INRCDIS_TLA + INRCDIS_RETDEF * null(INRCDIS_RETDEF_A);
+INR_CDIS_TL=INRCDIS_TLACQ* (1-IND_RJLJ);
+TAXA_TLDEC=TAXABASE;
+INRTAXA_TLADEC = INRTAXA_TLACQ;
+INRTAXA_TL_AD = INRTAXA_TL_A;
+INRTAXA_TLDEC = INRTAXA_TLA + INRTAXA_RETDEF * null(INRTAXA_RETDEF_A);
+INR_TAXAGA_TL=INRTAXA_TLACQ * (1-IND_RJLJ);
+CHR_TLDEC=CHRBASE;
+INRCHR_TLADEC = INRCHR_TLACQ;
+INRCHR_TL_AD = INRCHR_TL_A;
+INRCHR_TLDEC = INRCHR_TLA + INRCHR_RETDEF * null(INRCHR_RETDEF_A);
+INR_CHR_TL=INRCHR_TLACQ * (1-IND_RJLJ);
+PCAP_TLDEC=PCAPBASE;
+INRPCAP_TLADEC = INRPCAP_TLACQ;
+INRPCAP_TL_AD = INRPCAP_TL_A;
+INRPCAP_TLDEC = INRPCAP_TLA + INRPCAP_RETDEF * null(INRPCAP_RETDEF_A);
+INR_PCAP_TL=INRPCAP_TLACQ * (1-IND_RJLJ);
+RSE1_TLDEC=RSE1BASE;
+INRRSE1_TLADEC = INRRSE1_TLACQ;
+INRRSE1_TL_AD = INRRSE1_TL_A;
+INRRSE1_TLDEC = INRRSE1_TLA + INRRSE1_RETDEF * null(INRRSE1_RETDEF_A);
+INR_RSE1_TL=INRRSE1_TLACQ * (1-IND_RJLJ);
+RSE2_TLDEC=RSE2BASE;
+INRRSE2_TLADEC = INRRSE2_TLACQ;
+INRRSE2_TL_AD = INRRSE2_TL_A;
+INRRSE2_TLDEC = INRRSE2_TLA + INRRSE2_RETDEF * null(INRRSE2_RETDEF_A);
+INR_RSE2_TL=INRRSE2_TLACQ * (1-IND_RJLJ);
+RSE3_TLDEC=RSE3BASE;
+INRRSE3_TLADEC = INRRSE3_TLACQ;
+INRRSE3_TL_AD = INRRSE3_TL_A;
+INRRSE3_TLDEC = INRRSE3_TLA + INRRSE3_RETDEF * null(INRRSE3_RETDEF_A);
+INR_RSE3_TL=INRRSE3_TLACQ * (1-IND_RJLJ);
+RSE4_TLDEC=RSE4BASE;
+INRRSE4_TLADEC = INRRSE4_TLACQ;
+INRRSE4_TL_AD = INRRSE4_TL_A;
+INRRSE4_TLDEC = INRRSE4_TLA + INRRSE4_RETDEF * null(INRRSE4_RETDEF_A);
+INR_RSE4_TL=INRRSE4_TLACQ * (1-IND_RJLJ);
+RSE5_TLDEC=RSE5BASE;
+INRRSE5_TLADEC = INRRSE5_TLACQ;
+INRRSE5_TL_AD = INRRSE5_TL_A;
+INRRSE5_TLDEC = INRRSE5_TLA + INRRSE5_RETDEF * null(INRRSE5_RETDEF_A);
+INR_RSE5_TL=INRRSE5_TLACQ * (1-IND_RJLJ);
+LOY_TLDEC=LOYBASE;
+INRLOY_TLADEC = INRLOY_TLACQ;
+INRLOY_TL_AD = INRLOY_TL_A;
+INRLOY_TLDEC = INRLOY_TLA + INRLOY_RETDEF * null(INRLOY_RETDEF_A);
+INR_LOY_TL=INRLOY_TLACQ * (1-IND_RJLJ);
+CVN_TLDEC=CVNBASE;
+INRCVN_TLADEC = INRCVN_TLACQ;
+INRCVN_TL_AD = INRCVN_TL_A;
+INRCVN_TLDEC = INRCVN_TLA + INRCVN_RETDEF * null(INRCVN_RETDEF_A);
+INR_CVN_TL=INRCVN_TLACQ * (1-IND_RJLJ);
+GLO_TLDEC=GLOBASE;
+INRGLO_TLADEC = INRGLO_TLACQ;
+INRGLO_TL_AD = INRGLO_TL_A;
+INRGLO_TLDEC = INRGLO_TLA + INRGLO_RETDEF * null(INRGLO_RETDEF_A);
+INR_GLO_TL=INRGLO_TLACQ * (1-IND_RJLJ);
+regle corrective base_inr_tl22 13022:
+application :  iliad ;
+INRIR_TLADEC_12 = INRIR_TLADEC_1;
+INR_IR_TL_1=INRIR_TLACQ_1* (1-IND_RJLJ);
+INRCSG_TLADEC_12 = INRCSG_TLADEC_1;
+INR_CSG_TL_1=INRCSG_TLACQ_1* (1-IND_RJLJ);
+INRPRS_TLADEC_12 = INRPRS_TLADEC_1;
+INR_PS_TL_1=INRPRS_TLACQ_1* (1-IND_RJLJ);
+INRCRDS_TLADEC_12 = INRCRDS_TLADEC_1;
+INR_CRDS_TL_1=INRCRDS_TLACQ_1* (1-IND_RJLJ);
+INRCDIS_TLADEC_12 = INRCDIS_TLADEC_1;
+INR_CDIS_TL_1=INRCDIS_TLACQ_1* (1-IND_RJLJ);
+INRTAXA_TLADEC_12 = INRTAXA_TLADEC_1;
+INR_TAXAGA_TL_1=INRTAXA_TLACQ_1 * (1-IND_RJLJ);
+INRCHR_TLADEC_12 = INRCHR_TLADEC_1;
+INR_CHR_TL_1=INRCHR_TLACQ_1 * (1-IND_RJLJ);
+INRPCAP_TLADEC_12 = INRPCAP_TLADEC_1;
+INR_PCAP_TL_1=INRPCAP_TLACQ_1 * (1-IND_RJLJ);
+INRRSE1_TLADEC_12 = INRRSE1_TLADEC_1;
+INR_RSE1_TL_1=INRRSE1_TLACQ_1 * (1-IND_RJLJ);
+INRRSE2_TLADEC_12 = INRRSE2_TLADEC_1;
+INR_RSE2_TL_1=INRRSE2_TLACQ_1 * (1-IND_RJLJ);
+INRRSE3_TLADEC_12 = INRRSE3_TLADEC_1;
+INR_RSE3_TL_1=INRRSE3_TLACQ_1 * (1-IND_RJLJ);
+INRRSE4_TLADEC_12 = INRRSE4_TLADEC_1;
+INR_RSE4_TL_1=INRRSE4_TLACQ_1 * (1-IND_RJLJ);
+INRRSE5_TLADEC_12 = INRRSE5_TLADEC_1;
+INR_RSE5_TL_1=INRRSE5_TLACQ_1 * (1-IND_RJLJ);
+INRLOY_TLADEC_12 = INRLOY_TLADEC_1;
+INR_LOY_TL_1=INRLOY_TLACQ_1 * (1-IND_RJLJ);
+INRCVN_TLADEC_12 = INRCVN_TLADEC_1;
+INR_CVN_TL_1=INRCVN_TLACQ_1 * (1-IND_RJLJ);
+INRGLO_TLADEC_12 = INRGLO_TLADEC_1;
+INR_GLO_TL_1=INRGLO_TLACQ_1 * (1-IND_RJLJ);
+RETIR2 = INCIR_NET2;
+RETPS2 = INCPS_NET2;
+RETCS2 = INCCS_NET2;
+RETCDIS2 = INCCDIS_NET2;
+RETRD2 = INCRD_NET2;
+RETTAXA2 = INCTAXA_NET2;
+RETCHR2 = INCCHR_NET2;
+RETPCAP2 = INCPCAP_NET2;
+RETRSE12 = INCRSE1_NET2;
+RETRSE22 = INCRSE2_NET2;
+RETRSE32 = INCRSE3_NET2;
+RETRSE42 = INCRSE4_NET2;
+RETRSE52 = INCRSE5_NET2;
+RETLOY2 = INCLOY_NET2;
+RETCVN2 = INCCVN_NET2;
+RETGLOA2 = INCGLO_NET2;
+RETIR22 = (INRIR_NTLDEC_1+INRIR_TLDEC_1+ INRIR_NTL_1_A+INRIR_TL_1_A) * positif(RETIR2);
+RETCS22 = (INRCSG_NTLDEC_1+INRCSG_TLDEC_1+ INRCSG_NTL_1_A+INRCSG_TL_1_A) * positif(RETCS2);
+RETRD22 = (INRCRDS_NTLDEC_1+INRCRDS_TLDEC_1+ INRCRDS_NTL_1_A+INRCRDS_TL_1_A) * positif(RETRD2);
+RETPS22 = (INRPRS_NTLDEC_1+INRPRS_TLDEC_1+ INRPRS_NTL_1_A+INRPRS_TL_1_A) * positif(RETPS2);
+RETCDIS22 = (INRCDIS_NTLDEC_1+INRCDIS_TLDEC_1+ INRCDIS_NTL_1_A+INRCDIS_TL_1_A) * positif(RETCDIS2);
+RETTAXA22 = (INRTAXA_NTLDEC_1+INRTAXA_TLDEC_1+ INRTAXA_NTL_1_A+INRTAXA_TL_1_A) * positif(RETTAXA2);
+RETCHR22 = (INRCHR_NTLDEC_1+INRCHR_TLDEC_1+ INRCHR_NTL_1_A+INRCHR_TL_1_A) * positif(RETCHR2);
+RETPCAP22 = (INRPCAP_NTLDEC_1+INRPCAP_TLDEC_1+ INRPCAP_NTL_1_A+INRPCAP_TL_1_A) * positif(RETPCAP2);
+RETRSE122 = (INRRSE1_NTLDEC_1+INRRSE1_TLDEC_1+ INRRSE1_NTL_1_A+INRRSE1_TL_1_A) * positif(RETRSE12);
+RETRSE222 = (INRRSE2_NTLDEC_1+INRRSE2_TLDEC_1+ INRRSE2_NTL_1_A+INRRSE2_TL_1_A) * positif(RETRSE22);
+RETRSE322 = (INRRSE3_NTLDEC_1+INRRSE3_TLDEC_1+ INRRSE3_NTL_1_A+INRRSE3_TL_1_A) * positif(RETRSE32);
+RETRSE422 = (INRRSE4_NTLDEC_1+INRRSE4_TLDEC_1+ INRRSE4_NTL_1_A+INRRSE4_TL_1_A) * positif(RETRSE42);
+RETRSE522 = (INRRSE5_NTLDEC_1+INRRSE5_TLDEC_1+ INRRSE5_NTL_1_A+INRRSE5_TL_1_A) * positif(RETRSE52);
+RETLOY22 = (INRLOY_NTLDEC_1+INRLOY_TLDEC_1+ INRLOY_NTL_1_A+INRLOY_TL_1_A) * positif(RETLOY2);
+RETCVN22 = (INRCVN_NTLDEC_1+INRCVN_TLDEC_1+ INRCVN_NTL_1_A+INRCVN_TL_1_A) * positif(RETCVN2);
+RETGLOA22 = (INRGLO_NTLDEC_1+INRGLO_TLDEC_1+ INRGLO_NTL_1_A+INRGLO_TL_1_A) * positif(RETGLOA2);
+INR_NTL_GLOB_IR = INR_NTL_GLOB_IR2;
+INR_TL_GLOB_IR = INR_TL_GLOB_IR2;
+INR_TOT_GLOB_IR = INR_TOT_GLOB_IR2;
+DO_INR_IR = DO_INR_IR2;
+DO_IR = DO_IR2;
+SUP_IR_MAX = SUP_IR_MAX2;
+INCIR_TL = INCIR_TL2;
+INCIR_TL_1 = INCIR_TL_12;
+INRIR_NET = INRIR_NET2;
+INRIR_NET_1 = INRIR_NET_12;
+INIR_TL = INIR_TL2;
+INIR_TL_1 = INIR_TL_12;
+INCIR_NET = INCIR_NET2;
+IR_PRI= IR_PRI2;
+IR_ANT= IR_ANT2;
+IR_NTL= IR_NTL2;
+IR_TL=IR_TL2;
+IR_NTL_1=IR_NTL_12;
+IR_TL_1=IR_TL_12;
+IR_REF_INR=IRNIN_REF;
+INR_NTL_GLOB_CSG = INR_NTL_GLOB_CSG2;
+INR_TL_GLOB_CSG = INR_TL_GLOB_CSG2;
+INR_TOT_GLOB_CSG = INR_TOT_GLOB_CSG2;
+DO_INR_CSG = DO_INR_CSG2;
+DO_CSG = DO_CSG2;
+SUP_CSG_MAX = SUP_CSG_MAX2;
+INRCSG_NET = INRCSG_NET2;
+INRCSG_NET_1 = INRCSG_NET_12;
+INCCS_NET = INCCS_NET2;
+INCS_TL = INCS_TL2;
+INCS_TL_1 = INCS_TL_12;
+INCCS_TL = INCCS_TL2;
+INCCS_TL_1 = INCCS_TL_12;
+CSG_PRI=CSG_PRI2;
+CSG_ANT=CSG_ANT2;
+CSG_NTL=CSG_NTL2;
+CSG_NTL_1=CSG_NTL_12;
+CSG_TL=CSG_TL2;
+CSG_TL_1=CSG_TL_12;
+CSG_REF_INR=CSG_REF;
+INR_NTL_GLOB_CRDS = INR_NTL_GLOB_CRDS2;
+INR_TL_GLOB_CRDS = INR_TL_GLOB_CRDS2;
+INR_TOT_GLOB_CRDS = INR_TOT_GLOB_CRDS2;
+DO_INR_CRDS = DO_INR_CRDS2;
+DO_CRDS = DO_CRDS2;
+SUP_CRDS_MAX = SUP_CRDS_MAX2;
+INCRD_TL = INCRD_TL2;
+INCRD_TL_1 = INCRD_TL_12;
+INRRDS_NET = INRRDS_NET2;
+INRRDS_NET_1 = INRRDS_NET_12;
+INRD_TL = INRD_TL2;
+INRD_TL_1 = INRD_TL_12;
+INCRD_NET = INCRD_NET2;
+CRDS_PRI=CRDS_PRI2;
+CRDS_ANT=CRDS_ANT2;
+CRDS_NTL=CRDS_NTL2;
+CRDS_NTL_1=CRDS_NTL_12;
+CRDS_TL=CRDS_TL2;
+CRDS_TL_1=CRDS_TL_12;
+CRDS_REF_INR=RDS_REF;
+INR_NTL_GLOB_PS = INR_NTL_GLOB_PS2;
+INR_TL_GLOB_PS = INR_TL_GLOB_PS2;
+INR_TOT_GLOB_PS = INR_TOT_GLOB_PS2;
+DO_INR_PS = DO_INR_PS2;
+DO_PS = DO_PS2;
+SUP_PS_MAX = SUP_PS_MAX2;
+INCPS_TL = INCPS_TL2;
+INCPS_TL_1 = INCPS_TL_12;
+INRPRS_NET = INRPRS_NET2; 
+INRPRS_NET_1 = INRPRS_NET_12; 
+INPS_TL = INPS_TL2;
+INPS_TL_1 = INPS_TL_12;
+INCPS_NET = INCPS_NET2;
+PS_PRI= PS_PRI2;
+PS_ANT=PS_ANT2;
+PS_NTL=PS_NTL2;
+PS_NTL_1=PS_NTL_12;
+PS_TL=PS_TL2;
+PS_TL_1=PS_TL_12;
+PS_REF_INR=PRS_REF;
+INR_NTL_GLOB_CDIS = INR_NTL_GLOB_CDIS2;
+INR_TL_GLOB_CDIS = INR_TL_GLOB_CDIS2;
+INR_TOT_GLOB_CDIS = INR_TOT_GLOB_CDIS2;
+DO_INR_CDIS = DO_INR_CDIS2;
+DO_CDIS = DO_CDIS2;
+SUP_CDIS_MAX = SUP_CDIS_MAX2;
+INCCDIS_TL = INCCDIS_TL2;
+INCCDIS_TL_1 = INCCDIS_TL_12;
+INRCDIS_NET = INRCDIS_NET2; 
+INRCDIS_NET_1 = INRCDIS_NET_12; 
+INCDIS_TL = INCDIS_TL2;
+INCDIS_TL_1 = INCDIS_TL_12;
+INCCDIS_NET = INCCDIS_NET2;
+CDIS_PRI= CDIS_PRI2;
+CDIS_ANT=CDIS_ANT2;
+CDIS_NTL=CDIS_NTL2;
+CDIS_NTL_1=CDIS_NTL_12;
+CDIS_TL=CDIS_TL2;
+CDIS_TL_1=CDIS_TL_12;
+CDIS_REF_INR=CDIS_REF;
+INR_NTL_GLOB_TAXA = INR_NTL_GLOB_TAXA2;
+INR_TL_GLOB_TAXA = INR_TL_GLOB_TAXA2;
+INR_TOT_GLOB_TAXA = INR_TOT_GLOB_TAXA2;
+DO_INR_TAXAGA = DO_INR_TAXA2;
+DO_TAXA = DO_TAXA2;
+SUP_TAXA_MAX = SUP_TAXA_MAX2;
+INCTAXA_TL = INCTAXA_TL2;
+INCTAXA_TL_1 = INCTAXA_TL_12;
+INTAXA_TL = INTAXA_TL2;
+INTAXA_TL_1 = INTAXA_TL_12;
+INRTAXA_NET = INRTAXA_NET2;
+INRTAXA_NET_1 = INRTAXA_NET_12;
+INCTAXA_NET = INCTAXA_NET2;
+TAXAGA_PRI=TAXAGA_PRI2;
+TAXAGA_ANT=TAXAGA_ANT2;
+TAXAGA_NTL=TAXAGA_NTL2;
+TAXAGA_NTL_1=TAXAGA_NTL_12;
+TAXA_TL=TAXAGA_TL2;
+TAXAGA_TL_1=TAXAGA_TL_12;
+TAXA_REF_INR=TAXA_REF;
+INR_NTL_GLOB_CHR = INR_NTL_GLOB_CHR2;
+INR_TL_GLOB_CHR = INR_TL_GLOB_CHR2;
+INR_TOT_GLOB_CHR = INR_TOT_GLOB_CHR2;
+DO_INR_CHR = DO_INR_CHR2;
+DO_CHR = DO_CHR2;
+SUP_CHR_MAX = SUP_CHR_MAX2;
+INCCHR_TL = INCCHR_TL2;
+INCCHR_TL_1 = INCCHR_TL_12;
+INCHR_TL = INCHR_TL2;
+INCHR_TL_1 = INCHR_TL_12;
+INRCHR_NET = INRCHR_NET2;
+INRCHR_NET_1 = INRCHR_NET_12;
+INCCHR_NET = INCCHR_NET2;
+CHR_PRI=CHR_PRI2;
+CHR_ANT=CHR_ANT2;
+CHR_NTL=CHR_NTL2;
+CHR_NTL_1=CHR_NTL_12;
+CHREV_TL=CHR_TL2;
+CHR_TL_1=CHR_TL_12;
+CHR_REF_INR=CHR_REF;
+INR_NTL_GLOB_PCAP = INR_NTL_GLOB_PCAP2;
+INR_TL_GLOB_PCAP = INR_TL_GLOB_PCAP2;
+INR_TOT_GLOB_PCAP = INR_TOT_GLOB_PCAP2;
+DO_INR_PCAP = DO_INR_PCAP2;
+DO_PCAP = DO_PCAP2;
+SUP_PCAP_MAX = SUP_PCAP_MAX2;
+INCPCAP_TL = INCPCAP_TL2;
+INCPCAP_TL_1 = INCPCAP_TL_12;
+INPCAP_TL = INPCAP_TL2;
+INPCAP_TL_1 = INPCAP_TL_12;
+INRPCAP_NET = INRPCAP_NET2;
+INRPCAP_NET_1 = INRPCAP_NET_12;
+INCPCAP_NET = INCPCAP_NET2;
+PCAP_PRI=PCAP_PRI2;
+PCAP_ANT=PCAP_ANT2;
+PCAP_NTL=PCAP_NTL2;
+PCAP_NTL_1=PCAP_NTL_12;
+PPCAP_TL=PCAP_TL2;
+PCAP_TL_1=PCAP_TL_12;
+PCAP_REF_INR=PCAP_REF;
+INR_NTL_GLOB_RSE1 = INR_NTL_GLOB_RSE12;
+INR_TL_GLOB_RSE1 = INR_TL_GLOB_RSE12;
+INR_TOT_GLOB_RSE1 = INR_TOT_GLOB_RSE12;
+DO_INR_RSE1 = DO_INR_RSE12;
+DO_RSE1 = DO_RSE12;
+SUP_RSE1_MAX = SUP_RSE1_MAX2;
+INCRSE1_TL = INCRSE1_TL2;
+INCRSE1_TL_1 = INCRSE1_TL_12;
+INRSE1_TL = INRSE1_TL2;
+INRSE1_TL_1 = INRSE1_TL_12;
+INRRSE1_NET = INRRSE1_NET2;
+INRRSE1_NET_1 = INRRSE1_NET_12;
+INCRSE1_NET = INCRSE1_NET2;
+RSE1_PRI=RSE1_PRI2;
+RSE1_ANT=RSE1_ANT2;
+RSE1_NTL=RSE1_NTL2;
+RSE1_NTL_1=RSE1_NTL_12;
+RSE1_TL=RSE1_TL2;
+RSE1_TL_1=RSE1_TL_12;
+RSE1_REF_INR=RSE1_REF;
+INR_NTL_GLOB_RSE2 = INR_NTL_GLOB_RSE22;
+INR_TL_GLOB_RSE2 = INR_TL_GLOB_RSE22;
+INR_TOT_GLOB_RSE2 = INR_TOT_GLOB_RSE22;
+DO_INR_RSE2 = DO_INR_RSE22;
+DO_RSE2 = DO_RSE22;
+SUP_RSE2_MAX = SUP_RSE2_MAX2;
+INCRSE2_TL = INCRSE2_TL2;
+INCRSE2_TL_1 = INCRSE2_TL_12;
+INRSE2_TL = INRSE2_TL2;
+INRSE2_TL_1 = INRSE2_TL_12;
+INRRSE2_NET = INRRSE2_NET2;
+INRRSE2_NET_1 = INRRSE2_NET_12;
+INCRSE2_NET = INCRSE2_NET2;
+RSE2_PRI=RSE2_PRI2;
+RSE2_ANT=RSE2_ANT2;
+RSE2_NTL=RSE2_NTL2;
+RSE2_NTL_1=RSE2_NTL_12;
+RSE2_TL=RSE2_TL2;
+RSE2_TL_1=RSE2_TL_12;
+RSE2_REF_INR=RSE2_REF;
+INR_NTL_GLOB_RSE3 = INR_NTL_GLOB_RSE32;
+INR_TL_GLOB_RSE3 = INR_TL_GLOB_RSE32;
+INR_TOT_GLOB_RSE3 = INR_TOT_GLOB_RSE32;
+DO_INR_RSE3 = DO_INR_RSE32;
+DO_RSE3 = DO_RSE32;
+SUP_RSE3_MAX = SUP_RSE3_MAX2;
+INCRSE3_TL = INCRSE3_TL2;
+INCRSE3_TL_1 = INCRSE3_TL_12;
+INRSE3_TL = INRSE3_TL2;
+INRSE3_TL_1 = INRSE3_TL_12;
+INRRSE3_NET = INRRSE3_NET2;
+INRRSE3_NET_1 = INRRSE3_NET_12;
+INCRSE3_NET = INCRSE3_NET2;
+RSE3_PRI=RSE3_PRI2;
+RSE3_ANT=RSE3_ANT2;
+RSE3_NTL=RSE3_NTL2;
+RSE3_NTL_1=RSE3_NTL_12;
+RSE3_TL=RSE3_TL2;
+RSE3_TL_1=RSE3_TL_12;
+RSE3_REF_INR=RSE3_REF;
+INR_NTL_GLOB_RSE4 = INR_NTL_GLOB_RSE42;
+INR_TL_GLOB_RSE4 = INR_TL_GLOB_RSE42;
+INR_TOT_GLOB_RSE4 = INR_TOT_GLOB_RSE42;
+DO_INR_RSE4 = DO_INR_RSE42;
+DO_RSE4 = DO_RSE42;
+SUP_RSE4_MAX = SUP_RSE4_MAX2;
+INCRSE4_TL = INCRSE4_TL2;
+INCRSE4_TL_1 = INCRSE4_TL_12;
+INRSE4_TL = INRSE4_TL2;
+INRSE4_TL_1 = INRSE4_TL_12;
+INRRSE4_NET = INRRSE4_NET2;
+INRRSE4_NET_1 = INRRSE4_NET_12;
+INCRSE4_NET = INCRSE4_NET2;
+RSE4_PRI=RSE4_PRI2;
+RSE4_ANT=RSE4_ANT2;
+RSE4_NTL=RSE4_NTL2;
+RSE4_NTL_1=RSE4_NTL_12;
+RSE4_TL=RSE4_TL2;
+RSE4_TL_1=RSE4_TL_12;
+RSE4_REF_INR=RSE4_REF;
+INR_NTL_GLOB_RSE5 = INR_NTL_GLOB_RSE52;
+INR_TL_GLOB_RSE5 = INR_TL_GLOB_RSE52;
+INR_TOT_GLOB_RSE5 = INR_TOT_GLOB_RSE52;
+DO_INR_RSE5 = DO_INR_RSE52;
+DO_RSE5 = DO_RSE52;
+SUP_RSE5_MAX = SUP_RSE5_MAX2;
+INCRSE5_TL = INCRSE5_TL2;
+INCRSE5_TL_1 = INCRSE5_TL_12;
+INRSE5_TL = INRSE5_TL2;
+INRSE5_TL_1 = INRSE5_TL_12;
+INRRSE5_NET = INRRSE5_NET2;
+INRRSE5_NET_1 = INRRSE5_NET_12;
+INCRSE5_NET = INCRSE5_NET2;
+RSE5_PRI=RSE5_PRI2;
+RSE5_ANT=RSE5_ANT2;
+RSE5_NTL=RSE5_NTL2;
+RSE5_NTL_1=RSE5_NTL_12;
+RSE5_TL=RSE5_TL2;
+RSE5_TL_1=RSE5_TL_12;
+RSE5_REF_INR=RSE5_REF;
+INR_NTL_GLOB_LOY = INR_NTL_GLOB_LOY2;
+INR_TL_GLOB_LOY = INR_TL_GLOB_LOY2;
+INR_TOT_GLOB_LOY = INR_TOT_GLOB_LOY2;
+DO_INR_LOY = DO_INR_LOY2;
+DO_LOY = DO_LOY2;
+SUP_LOY_MAX = SUP_LOY_MAX2;
+INCLOY_TL = INCLOY_TL2;
+INCLOY_TL_1 = INCLOY_TL_12;
+INLOY_TL = INLOY_TL2;
+INLOY_TL_1 = INLOY_TL_12;
+INRLOY_NET = INRLOY_NET2;
+INRLOY_NET_1 = INRLOY_NET_12;
+INCLOY_NET = INCLOY_NET2;
+LOY_PRI=LOY_PRI2;
+LOY_ANT=LOY_ANT2;
+LOY_NTL=LOY_NTL2;
+LOY_NTL_1=LOY_NTL_12;
+LOY_TL=LOY_TL2;
+LOY_TL_1=LOY_TL_12;
+LOY_REF_INR=LOY_REF;
+INR_NTL_GLOB_CVN = INR_NTL_GLOB_CVN2;
+INR_TL_GLOB_CVN = INR_TL_GLOB_CVN2;
+INR_TOT_GLOB_CVN = INR_TOT_GLOB_CVN2;
+DO_INR_CVN = DO_INR_CVN2;
+DO_CVN = DO_CVN2;
+SUP_CVN_MAX = SUP_CVN_MAX2;
+INCCVN_TL = INCCVN_TL2;
+INCCVN_TL_1 = INCCVN_TL_12;
+INCVN_TL = INCVN_TL2;
+INCVN_TL_1 = INCVN_TL_12;
+INRCVN_NET = INRCVN_NET2;
+INRCVN_NET_1 = INRCVN_NET_12;
+INCCVN_NET = INCCVN_NET2;
+CVN_PRI=CVN_PRI2;
+CVN_ANT=CVN_ANT2;
+CVN_NTL=CVN_NTL2;
+CVN_NTL_1=CVN_NTL_12;
+CVN_TL=CVN_TL2;
+CVN_TL_1=CVN_TL_12;
+CVN_REF_INR=CVN_REF;
+INR_NTL_GLOB_GLO = INR_NTL_GLOB_GLO2;
+INR_TL_GLOB_GLO = INR_TL_GLOB_GLO2;
+INR_TOT_GLOB_GLO = INR_TOT_GLOB_GLO2;
+DO_INR_GLO = DO_INR_GLO2;
+DO_GLO = DO_GLO2;
+SUP_GLO_MAX = SUP_GLO_MAX2;
+INCGLO_TL = INCGLO_TL2;
+INCGLO_TL_1 = INCGLO_TL_12;
+INGLO_TL = INGLO_TL2;
+INGLO_TL_1 = INGLO_TL_12;
+INRGLO_NET = INRGLO_NET2;
+INRGLO_NET_1 = INRGLO_NET_12;
+INCGLOA_NET = INCGLO_NET2;
+GLO_PRI=GLO_PRI2;
+GLO_ANT=GLO_ANT2;
+GLO_NTL=GLO_NTL2;
+GLO_NTL_1=GLO_NTL_12;
+GLO_TL=GLO_TL2;
+GLO_TL_1=GLO_TL_12;
+GLO_REF_INR=GLO_REF;
+TINR = TINR2;
+TINR_1=TINR_12;
+NBREMOIS2=NBREMOIS222;
+NBREMOISCS2=NBREMOISCS222;
+DO_INR_IR_TL = arr(INRIR_TL_A * DO
\ No newline at end of file
diff --git a/sources2013m_3_8/chap-cmajo.m b/sources2013m_3_8/chap-cmajo.m
new file mode 100644
index 0000000000000000000000000000000000000000..f2f5785d37503c36e0c6a998a7d1f33af0d2643a
--- /dev/null
+++ b/sources2013m_3_8/chap-cmajo.m
@@ -0,0 +1,769 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle corrective base_stratemajo 120:
+application :  iliad ;
+MAJOIR07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR07TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR07TARDIF_P) ;
+MAJOIR08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR08TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR08TARDIF_P) ;
+MAJOIR17_1TARD_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR17_1TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR17_1TARDIF_P) ;
+MAJOIR17_2TARD_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR17_2TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR17_2TARDIF_P) ;
+MAJOIRTARDIF_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) 
+			* (somme(x = 07,08 : MAJOIR0xTARDIF_DEF)
+		    + MAJOIR17_1TARD_DEF + MAJOIR17_2TARD_DEF)
+		    + (1 - positif(FLAG_TRTARDIF) * positif(FLAG_RETARD))
+		    * MAJOIRTARDIF_REF ;
+MAJOLO07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPLOY_A)) * MAJOLO07TARDIF_D 
+		  + positif(PROPLOY_A) * MAJOLO07TARDIF_P) ;
+MAJOLO08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPLOY_A)) * MAJOLO08TARDIF_D 
+		  + positif(PROPLOY_A) * MAJOLO08TARDIF_P) ;
+MAJOLO17_1TARD_DEF = FLAG_RETARD *  
+		((1 - positif(PROPLOY_A)) * MAJOLO17_1TARDIF_D 
+		  + positif(PROPLOY_A) * MAJOLO17_1TARDIF_P) ;
+MAJOLO17_2TARD_DEF = FLAG_RETARD *  
+		((1 - positif(PROPLOY_A)) * MAJOLO17_2TARDIF_D 
+		  + positif(PROPLOY_A) * MAJOLO17_2TARDIF_P) ;
+MAJOLOYTARDIF_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) 
+			* (somme(x = 07,08 : MAJOLO0xTARDIF_DEF)
+		    + MAJOLO17_1TARD_DEF + MAJOLO17_2TARD_DEF)
+		    + (1 - positif(FLAG_TRTARDIF) * positif(FLAG_RETARD))
+		    * MAJOLOYTARDIF_REF ;
+
+
+MAJOHR07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPHR_A)) * MAJOHR07TARDIF_D 
+		  + positif(PROPHR_A) * MAJOHR07TARDIF_P) ;
+MAJOHR08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPHR_A)) * MAJOHR08TARDIF_D 
+		  + positif(PROPHR_A) * MAJOHR08TARDIF_P) ;
+MAJOHR17_1TARD_DEF = FLAG_RETARD * 
+		((1 - positif(PROPHR_A)) * MAJOHR17_1TARDIF_D 
+		  + positif(PROPHR_A) * MAJOHR17_1TARDIF_P) ;
+MAJOHR17_2TARD_DEF = FLAG_RETARD * 
+		((1 - positif(PROPHR_A)) * MAJOHR17_2TARDIF_D 
+		  + positif(PROPHR_A) * MAJOHR17_2TARDIF_P) ;
+MAJOHRTARDIF_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) 
+			* (somme(x = 07,08 : MAJOHR0xTARDIF_DEF)
+		    + MAJOHR17_1TARD_DEF + MAJOHR17_2TARD_DEF)
+		    + (1 - positif(FLAG_TRTARDIF) * positif(FLAG_RETARD))
+		    * MAJOHRTARDIF_REF ;
+MAJOCS07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPCS_A)) * MAJOCS07TARDIF_D 
+		  + positif(PROPCS_A) * MAJOCS07TARDIF_P) ;
+MAJOCS08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPCS_A)) * MAJOCS08TARDIF_D 
+		  + positif(PROPCS_A) * MAJOCS08TARDIF_P) ;
+MAJOCS17TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPCS_A)) * MAJOCS17TARDIF_D 
+		  + positif(PROPCS_A) * MAJOCS17TARDIF_P) ;
+MAJOCSTARDIF_DEF = somme(x = 07,08,17 : MAJOCSxTARDIF_DEF);
+MAJOPS07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPPS_A)) * MAJOPS07TARDIF_D 
+		  + positif(PROPPS_A) * MAJOPS07TARDIF_P) ;
+MAJOPS08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPPS_A)) * MAJOPS08TARDIF_D 
+		  + positif(PROPPS_A) * MAJOPS08TARDIF_P) ;
+MAJOPS17TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPPS_A)) * MAJOPS17TARDIF_D 
+		  + positif(PROPPS_A) * MAJOPS17TARDIF_P) ;
+MAJOPSTARDIF_DEF = somme(x = 07,08,17 : MAJOPSxTARDIF_DEF);
+MAJORD07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPRD_A)) * MAJORD07TARDIF_D 
+		  + positif(PROPRD_A) * MAJORD07TARDIF_P) ;
+MAJORD08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPRD_A)) * MAJORD08TARDIF_D 
+		  + positif(PROPRD_A) * MAJORD08TARDIF_P) ;
+MAJORD17TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPRD_A)) * MAJORD17TARDIF_D 
+		  + positif(PROPRD_A) * MAJORD17TARDIF_P) ;
+MAJORDTARDIF_DEF = somme(x = 07,08,17 : MAJORDxTARDIF_DEF);
+MAJOCVN07TARD_DEF = FLAG_RETARD * MAJOCVN07TARDIF_D;
+
+MAJOCVN08TARD_DEF = FLAG_RETARD * MAJOCVN08TARDIF_D;
+MAJOCVN17TARD_DEF = FLAG_RETARD * MAJOCVN17TARDIF_D;
+MAJOCVNTARDIF_DEF = somme(x = 07,08,17 : MAJOCVNxTARD_DEF);
+MAJOCDIS07TARD_DEF = FLAG_RETARD * MAJOCDIS07TARDIF_D;
+
+MAJOCDIS08TARD_DEF = FLAG_RETARD * MAJOCDIS08TARDIF_D;
+
+MAJOCDIS17TARD_DEF = FLAG_RETARD * MAJOCDIS17TARDIF_D;
+
+MAJOCDISTARDIF_DEF = somme(x = 07,08,17 : MAJOCDISxTARD_DEF);
+
+MAJOGLO07TARD_DEF = FLAG_RETARD * MAJOGLO07TARDIF_D;
+
+MAJOGLO08TARD_DEF = FLAG_RETARD * MAJOGLO08TARDIF_D;
+
+MAJOGLO17TARD_DEF = FLAG_RETARD * MAJOGLO17TARDIF_D;
+
+MAJOGLOTARDIF_DEF = somme(x = 07,08,17 : MAJOGLOxTARD_DEF);
+
+MAJORSE107TARD_DEF = FLAG_RETARD * MAJORSE107TARDIF_D;
+MAJORSE108TARD_DEF = FLAG_RETARD * MAJORSE108TARDIF_D;
+MAJORSE117TARD_DEF = FLAG_RETARD * MAJORSE117TARDIF_D;
+MAJORSE1TARDIF_DEF = somme(x = 07,08,17 : MAJORSE1xTARD_DEF);
+MAJORSE207TARD_DEF = FLAG_RETARD * MAJORSE207TARDIF_D;
+MAJORSE208TARD_DEF = FLAG_RETARD * MAJORSE208TARDIF_D;
+MAJORSE217TARD_DEF = FLAG_RETARD * MAJORSE217TARDIF_D;
+MAJORSE2TARDIF_DEF = somme(x = 07,08,17 : MAJORSE2xTARD_DEF);
+MAJORSE307TARD_DEF = FLAG_RETARD * MAJORSE307TARDIF_D;
+MAJORSE308TARD_DEF = FLAG_RETARD * MAJORSE308TARDIF_D;
+MAJORSE317TARD_DEF = FLAG_RETARD * MAJORSE317TARDIF_D;
+MAJORSE3TARDIF_DEF = somme(x = 07,08,17 : MAJORSE3xTARD_DEF);
+
+MAJORSE407TARD_DEF = FLAG_RETARD * MAJORSE407TARDIF_D;
+
+MAJORSE408TARD_DEF = FLAG_RETARD * MAJORSE408TARDIF_D;
+
+MAJORSE417TARD_DEF = FLAG_RETARD * MAJORSE417TARDIF_D;
+
+MAJORSE4TARDIF_DEF = somme(x = 07,08,17 : MAJORSE4xTARD_DEF);
+
+MAJORSE507TARD_DEF = FLAG_RETARD * MAJORSE507TARDIF_D;
+
+MAJORSE508TARD_DEF = FLAG_RETARD * MAJORSE508TARDIF_D;
+
+MAJORSE517TARD_DEF = FLAG_RETARD * MAJORSE517TARDIF_D;
+
+MAJORSE5TARDIF_DEF = somme(x = 07,08,17 : MAJORSE5xTARD_DEF);
+
+MAJOTA07TARDIF_DEF = FLAG_RETARD * MAJOTAXA07TARDIF_D;
+MAJOTA08TARDIF_DEF = FLAG_RETARD * MAJOTAXA08TARDIF_D;
+MAJOTA17_1TARD_DEF = FLAG_RETARD * MAJOTA17_1TARDIF_D; 
+MAJOTA17_2TARD_DEF = FLAG_RETARD * MAJOTA17_2TARDIF_D; 
+MAJOTAXATARDIF_DEF = somme(x = 07,08 : MAJOTA0xTARDIF_DEF)
+		+ MAJOTA17_1TARD_DEF + MAJOTA17_2TARD_DEF;
+MAJOCP07TARDIF_DEF = FLAG_RETARD * MAJOCAP07TARDIF_D;
+MAJOCP08TARDIF_DEF = FLAG_RETARD * MAJOCAP08TARDIF_D;
+MAJOCP17_1TARD_DEF = FLAG_RETARD * MAJOCP17_1TARDIF_D; 
+MAJOCP17_2TARD_DEF = FLAG_RETARD * MAJOCP17_2TARDIF_D; 
+MAJOCAPTARDIF_DEF = somme(x = 07,08 : MAJOCP0xTARDIF_DEF)
+		+ MAJOCP17_1TARD_DEF + MAJOCP17_2TARD_DEF;
+PROPIR_DEF = PROPIR;
+PROPLOY_DEF = PROPLOY;
+PROPHR_DEF = PROPHR;
+
+PROPCS_DEF = PROPCS;
+PROPPS_DEF = PROPPS;
+PROPRD_DEF = PROPRD;
+IRBASE_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) * IRBASE
+		+ (1 - positif(FLAG_TRTARDIF)) * IRBASE_REF;
+IRNINTARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * IRBASE
+		  + FLAG_TRTARDIF_R * SUPIR[00]
+                  + FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRBASE) 
+		    * (positif(FLAG_RECTIF) * min(SUPIR[2],IRBASE)
+		      + (1 - positif(FLAG_RECTIF)) * min(IRBASE,IRBASE_REF))
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRBASE))
+		      * (positif(FLAG_RECTIF) * min(SUPIR[00],IRBASE)
+                     + (1 - positif(FLAG_RECTIF)) * IRBASE_REF)
+		      )
+                  + (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+                            * (positif(FLAG_RECTIF) * SUPIR[00]
+                               + (1 - positif(FLAG_RECTIF)) * IRNINTARDIF_A)
+		  ));
+
+LOYTARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * LOYBASE_MAJO
+		+ FLAG_TRTARDIF_R * SUPLOY[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(LOYTARDIF_A - LOYBASE_MAJO) * min(SUPLOY[2],TAXLOY)
+		    + (1 - positif(TARDIFEVT2) * positif(LOYTARDIF_A - LOYBASE_MAJO)) 
+		      * (positif(FLAG_RECTIF) * min(SUPLOY[00], TAXLOY)
+		    + (1 - positif(FLAG_RECTIF)) * LOYTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPLOY[00]
+			  + (1 - positif(FLAG_RECTIF)) * LOYTARDIF_A)
+		  ));
+HRTARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * HRBASE_MAJO
+		+ FLAG_TRTARDIF_R * SUPHR[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(HRTARDIF_A - HRBASE_MAJO) * min(SUPHR[2],IHAUTREVT)
+		    + (1 - positif(TARDIFEVT2) * positif(HRTARDIF_A - HRBASE_MAJO)) 
+		      * (positif(FLAG_RECTIF) * min(SUPHR[00],IHAUTREVT)
+		    + (1 - positif(FLAG_RECTIF)) * HRTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPHR[00]
+			  + (1 - positif(FLAG_RECTIF)) * HRTARDIF_A)
+		  ));
+CSGTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * CSBASE
+		+ FLAG_TRTARDIF_R * SUPCS[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPCS[2],CSG)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCS[00],CSG)
+		   + (1 - positif(FLAG_RECTIF)) * CSGTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+		          * (positif(FLAG_RECTIF) * SUPCS[00]
+		            + (1 - positif(FLAG_RECTIF)) * CSGTARDIF_A)
+		    ));
+PRSTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * PSBASE
+		+ FLAG_TRTARDIF_R * SUPPS[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPPS[2],PRS)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPPS[00],PRS)
+		    + (1 - positif(FLAG_RECTIF)) * PRSTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPPS[00]
+			  + (1 - positif(FLAG_RECTIF)) * PRSTARDIF_A)
+		));
+RDSTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RDBASE
+		+ FLAG_TRTARDIF_R * SUPRD[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRD[2],RDSN)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRD[00],RDSN)
+		     + (1 - positif(FLAG_RECTIF)) * RDSTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRD[00]
+			  + (1 - positif(FLAG_RECTIF)) * RDSTARDIF_A)
+		));
+
+CVNTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * CVNBASE
+		+ FLAG_TRTARDIF_R * SUPCVN[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPCVN[2],CVNSALC)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCVN[00],CVNSALC)
+		     + (1 - positif(FLAG_RECTIF)) * CVNTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPCVN[00]
+			  + (1 - positif(FLAG_RECTIF)) * CVNTARDIF_A)
+		));
+
+CDISTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * CDISBASE
+		+ FLAG_TRTARDIF_R * SUPCDIS[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPCDIS[2],CDIS)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCDIS[00],CDIS)
+		     + (1 - positif(FLAG_RECTIF)) * CDISTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPCDIS[00]
+			  + (1 - positif(FLAG_RECTIF)) * CDISTARDIF_A)
+		));
+GLOTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * GLOBASE
+		+ FLAG_TRTARDIF_R * SUPGLO[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPGLO[2],CGLOA)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPGLO[00],CGLOA)
+		     + (1 - positif(FLAG_RECTIF)) * GLOTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPGLO[00]
+			  + (1 - positif(FLAG_RECTIF)) * GLOTARDIF_A)
+		));
+TAXATARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * TAXABASE_MAJO
+		+ FLAG_TRTARDIF_R * SUPTAXA[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(TAXATARDIF_A - TAXABASE_MAJO) * min(SUPTAXA[2],TAXASSUR)
+		    + (1 - positif(TARDIFEVT2) * positif(TAXATARDIF_A - TAXABASE_MAJO)) 
+		      * (positif(FLAG_RECTIF) * min(SUPTAXA[00],TAXASSUR)
+		    + (1 - positif(FLAG_RECTIF)) * TAXATARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPTAXA[00]
+			  + (1 - positif(FLAG_RECTIF)) * TAXATARDIF_A)
+		  ));
+CAPTARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * CAPBASE_MAJO
+		+ FLAG_TRTARDIF_R * SUPCAP[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(CAPTARDIF_A - CAPBASE_MAJO) * min(SUPCAP[2],IPCAPTAXT)
+		    + (1 - positif(TARDIFEVT2) * positif(CAPTARDIF_A - CAPBASE_MAJO)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCAP[00], IPCAPTAXT)
+		    + (1 - positif(FLAG_RECTIF)) * CAPTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPCAP[00]
+			  + (1 - positif(FLAG_RECTIF)) * CAPTARDIF_A)
+		  ));
+RSE1TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE1BASE
+		+ FLAG_TRTARDIF_R * SUPRSE1[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE1[2],RSE1)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE1[00],RSE1)
+		     + (1 - positif(FLAG_RECTIF)) * RSE1TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE1[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE1TARDIF_A)
+		));
+RSE2TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE2BASE
+		+ FLAG_TRTARDIF_R * SUPRSE2[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE2[2],RSE2)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE2[00],RSE2)
+		     + (1 - positif(FLAG_RECTIF)) * RSE2TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE2[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE1TARDIF_A)
+		));
+RSE3TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE3BASE
+		+ FLAG_TRTARDIF_R * SUPRSE3[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE3[2],RSE3)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE3[00],RSE3)
+		     + (1 - positif(FLAG_RECTIF)) * RSE3TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE3[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE3TARDIF_A)
+		));
+RSE4TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE4BASE
+		+ FLAG_TRTARDIF_R * SUPRSE4[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE4[2],RSE4)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE4[00],RSE4)
+		     + (1 - positif(FLAG_RECTIF)) * RSE4TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE4[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE4TARDIF_A)
+		));
+RSE5TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE5BASE
+		+ FLAG_TRTARDIF_R * SUPRSE5[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE5[2],RSE5)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE5[00],RSE5)
+		     + (1 - positif(FLAG_RECTIF)) * RSE5TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE5[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE5TARDIF_A)
+		));
+IRNINMAJOP_DEF = max(IRNIN_MAJOP,IRNINMAJOP_A);
+LOYMAJOP_DEF = max(LOY_MAJOP,LOYMAJOP_A);
+HRMAJOP_DEF = max(HR_MAJOP,HRMAJOP_A);
+CSGMAJOP_DEF = max(CSG_MAJOP,CSGMAJOP_A);
+RDSMAJOP_DEF =  max(RDS_MAJOP,RDSMAJOP_A);
+PRSMAJOP_DEF =  max(PRS_MAJOP,PRSMAJOP_A);
+regle corrective base_stratemajo 12000:
+application :  iliad ;
+
+
+MAJOISF07TARD_DEF = FLAG_RETARD * MAJOISF07TARDIF_D;
+MAJOISF08TARD_DEF = FLAG_RETARD * MAJOISF08TARDIF_D;
+MAJOISF17TARD_DEF = FLAG_RETARD * MAJOISF17TARDIF_D;
+MAJOISFTARDIF_DEF = somme(x = 07,08,17 : MAJOISFxTARD_DEF);
+
+ISFTARDIF_DEF = max(0,FLAG_RETARD *
+                (FLAG_TRTARDIF * ISF4BASE
+		+ FLAG_TRTARDIF_R * SUPISF[00]
+		+ FLAG_TRTARDIF_F *
+		(positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISFIN) * min(SUPISF[2],ISFNET)
+		+ (1 - positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISFIN))
+		* (positif(FLAG_RECTIF) * min(SUPISF[00],ISFNET)
+		+ (1 - positif(FLAG_RECTIF)) * ISFTARDIF_A)
+		)
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+		* (positif(FLAG_RECTIF) * SUPISF[00]
+		+ (1 - positif(FLAG_RECTIF)) * ISFTARDIF_A)
+		));
+
+ISFBASE_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) * ISF4BASE
+               + (1 - positif(FLAG_TRTARDIF)) * ISFBASE_REF;
+ISFINTARDIF_DEF = max(0,FLAG_RETARD *
+(FLAG_TRTARDIF * ISF4BASE
++ FLAG_TRTARDIF_R * SUPISF[00]
+ + FLAG_TRTARDIF_F *
+ (positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISF4BASE)
+ * (positif(FLAG_RECTIF) * min(SUPISF[2],ISF4BASE)
+ + (1 - positif(FLAG_RECTIF)) * min(ISF4BASE,ISFBASE_REF))
+ + (1 - positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISF4BASE))
+  * (positif(FLAG_RECTIF) * min(SUPISF[00],ISF4BASE)
+  + (1 - positif(FLAG_RECTIF)) * ISFBASE_REF)
+  )
+  + (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+  * (positif(FLAG_RECTIF) * SUPISF[00]
+  + (1 - positif(FLAG_RECTIF)) * ISFINTARDIF_A)
+    ));
+
+
+
+regle corrective base_stratemajo 121:
+application :  iliad ;
+pour x = 07,08,11,31:
+MAJOPIRx_DEF = max(MAJOIR_Px,MAJOPIRx_A);
+MAJOPIR10_1DEF = max(MAJOIR_P10_1,MAJOPIR10_1A);
+MAJOPIR10_2DEF = max(MAJOIR_P10_2,MAJOPIR10_2A);
+MAJOPIR17_1DEF = max(MAJOIR_P17_1,MAJOPIR17_1A);
+MAJOPIR17_2DEF = max(MAJOIR_P17_2,MAJOPIR17_2A);
+
+MAJOPIR_DEF = max(MAJOPIR_TOT,MAJOPIR_A);
+
+pour x = 07,08,11,31:
+MAJOPLOx_DEF = max(MAJOLOY_Px,MAJOPLOx_A);
+MAJOPLO10_1DEF = max(MAJOLOY_P10_1,MAJOPLO10_1A);
+MAJOPLO10_2DEF = max(MAJOLOY_P10_2,MAJOPLO10_2A);
+MAJOPLO17_1DEF = max(MAJOLOY_P17_1,MAJOPLO17_1A);
+MAJOPLO17_2DEF = max(MAJOLOY_P17_2,MAJOPLO17_2A);
+
+MAJOPLOY_DEF = max(MAJOPLOY_TOT,MAJOPLOY_A);
+
+pour x = 07,08,11,31:
+MAJOPHRx_DEF = max(MAJOHR_Px,MAJOPHRx_A);
+MAJOPHR10_1DEF = max(MAJOHR_P10_1,MAJOPHR10_1A);
+MAJOPHR10_2DEF = max(MAJOHR_P10_2,MAJOPHR10_2A);
+MAJOPHR17_1DEF = max(MAJOHR_P17_1,MAJOPHR17_1A);
+MAJOPHR17_2DEF = max(MAJOHR_P17_2,MAJOPHR17_2A);
+
+MAJOPHR_DEF = max(MAJOPHR_TOT,MAJOPHR_A);
+
+pour x = 07,08,10,11,17,31:
+MAJOPCSx_DEF = max(MAJOCS_Px,MAJOPCSx_A);
+MAJOPCS_DEF = max(MAJOPCS_TOT,MAJOPCS_A);
+pour x = 07,08,10,11,17,31:
+MAJOPRDx_DEF = max(MAJORD_Px,MAJOPRDx_A);
+MAJOPRD_DEF = max(MAJOPRD_TOT,MAJOPRD_A);
+pour x = 07,08,10,11,17,31:
+MAJOPPSx_DEF = max(MAJOPS_Px,MAJOPPSx_A);
+MAJOPPS_DEF = max(MAJOPPS_TOT,MAJOPPS_A);
+regle corrective base_stratemajo 122:
+application :  iliad ;
+MAJOIRST_DEF = MAJOIR_ST ;
+
+MAJOTAXAST_DEF = MAJOTAXA_ST;
+MAJOCAPST_DEF = MAJOCAP_ST;
+MAJOLOYST_DEF = MAJOLOY_ST;
+MAJOHRST_DEF = MAJOHR_ST;
+
+MAJOCSST_DEF = MAJOCS_ST;
+MAJORDST_DEF = MAJORD_ST;
+MAJOPSST_DEF = MAJOPS_ST;
+MAJOCVNST_DEF = MAJOCVN_ST;
+MAJOCDISST_DEF = MAJOCDIS_ST;
+MAJOGLOST_DEF = MAJOGLO_ST;
+
+MAJORSE1ST_DEF = MAJORSE1_ST;
+MAJORSE2ST_DEF = MAJORSE2_ST;
+MAJORSE3ST_DEF = MAJORSE3_ST;
+MAJORSE4ST_DEF = MAJORSE4_ST;
+MAJORSE5ST_DEF = MAJORSE5_ST;
+TNAPCR[X] = NAPCRINR;
+
+TIRBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(IRBASE,TIRBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(IRBASE,IRNIN_P))
+            + (1 - null(X)) * max(IRBASE,TIRBASE[FLAG_DERSTTR]);
+TIRBASEDEF[X] = IRBASE;
+TPCAPBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CAPBASE_MAJO,TPCAPBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CAPBASE_MAJO,PCAPBRUT_P))
+           + (1 - null(X)) * max(CAPBASE_MAJO,TPCAPBASE[FLAG_DERSTTR]);
+TPCAPBASEDEF[X] = CAPBASE_MAJO;
+
+
+TLOYBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(LOYBASE_MAJO,TLOYBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(LOYBASE_MAJO, LOYBRUT_P))
+           + (1 - null(X)) * max(LOYBASE_MAJO,TLOYBASE[FLAG_DERSTTR]);
+TLOYBASEDEF[X] = LOYBASE_MAJO;
+TCHRBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(HRBASE_MAJO,TCHRBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(HRBASE_MAJO,CHRBRUT_P))
+           + (1 - null(X)) * max(HRBASE_MAJO,TCHRBASE[FLAG_DERSTTR]);
+TCHRBASEDEF[X] = HRBASE_MAJO;
+TTAXABASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(TAXABASE_MAJO,TTAXABASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(TAXABASE_MAJO,TAXABRUT_P))
+           + (1 - null(X)) * max(TAXABASE_MAJO,TTAXABASE[FLAG_DERSTTR]);
+TTAXABASEDEF[X] = TAXABASE_MAJO;
+TCSBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CSBASE,TCSBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CSBASE,CSG_P))
+           + (1 - null(X)) * max(CSBASE,TCSBASE[FLAG_DERSTTR]);
+TRDBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RDBASE,TRDBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RDBASE,RDS_P))
+           + (1 - null(X)) * max(RDBASE,TRDBASE[FLAG_DERSTTR]);
+TPSBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(PSBASE,TPSBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(PSBASE,PRS_P))
+           + (1 - null(X)) * max(PSBASE,TPSBASE[FLAG_DERSTTR]);
+
+TCVNBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CVNBASE,TCVNBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CVNBASE,CVN_P))
+           + (1 - null(X)) * max(CVNBASE,TCVNBASE[FLAG_DERSTTR]);
+TCDISBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CDISBASE,TCDISBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CDISBASE,CDIS_P))
+           + (1 - null(X)) * max(CDISBASE,TCDISBASE[FLAG_DERSTTR]);
+
+TGLOBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(GLOBASE,TGLOBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(GLOBASE,GLO_P))
+           + (1 - null(X)) * max(GLOBASE,TGLOBASE[FLAG_DERSTTR]);
+TRSE1BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE1BASE,TRSE1BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE1BASE,RSE1_P))
+           + (1 - null(X)) * max(RSE1BASE,TRSE1BASE[FLAG_DERSTTR]);
+TRSE2BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE2BASE,TRSE2BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE2BASE,RSE2_P))
+           + (1 - null(X)) * max(RSE2BASE,TRSE2BASE[FLAG_DERSTTR]);
+TRSE3BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE3BASE,TRSE3BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE3BASE,RSE3_P))
+           + (1 - null(X)) * max(RSE3BASE,TRSE3BASE[FLAG_DERSTTR]);
+TRSE4BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE4BASE,TRSE4BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE4BASE,RSE4_P))
+           + (1 - null(X)) * max(RSE4BASE,TRSE4BASE[FLAG_DERSTTR]);
+
+TRSE5BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE5BASE,TRSE5BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE5BASE,RSE5_P))
+           + (1 - null(X)) * max(RSE5BASE,TRSE5BASE[FLAG_DERSTTR]);
+
+MAJOIR01 = TMAJOIR[24] * STR_TR24
+	   + TMAJOIR[01] * null(CSTRATE1 - 1);
+
+MAJOIR02_1 = TMAJOIR[22] * STR_TR22 
+	   + TMAJOIR[01] * null(CSTRATE1 - 2);
+
+MAJOIR02_1_NTL = T2MAJOIR[17] * STR_TR17
+	   + T2MAJOIR[01] * null(CSTRATE1 - 2);
+MAJOIR02_2_NTL = T2MAJOIR[18] * STR_TR18 * (1 - positif(TIRBASE[18]-TIRBASE[22]) * positif(TIRBASE[22])) * (1 - IND_RJLJ)
+               + positif(TIRBASE[18] - TIRBASE[22]) * (1 - IND_RJLJ) * positif(TIRBASE[22])
+                * arr(max(0,(TIRBASE[18] - TIRBASE[0] - (TIRBASE[18] - TIRBASEDEF[22]))) * TX1758A/100) * STR_TR18
+               + T2MAJOIR[01] * null(CSTRATE1 - 2);
+
+
+MAJOIR02_1_NTL15 = T2MAJOIR[19] * STR_TR19;
+
+
+
+MAJOIR02_2_NTL15 = T2MAJOIR[20] * STR_TR20 * (1 - positif(TIRBASE[20]-TIRBASE[22]) * positif(TIRBASE[22])) * (1 - IND_RJLJ)
+               + positif(TIRBASE[20] - TIRBASE[22]) * (1 - IND_RJLJ) * positif(TIRBASE[22])
+                * arr(max(0,(TIRBASE[20] - TIRBASE[0] - (TIRBASE[20] - TIRBASEDEF[22]))) * TX1758A/100) * STR_TR20 ;
+
+MAJOIR02_1_TL = T2MAJOIR[21] * STR_TR21;
+
+MAJOIR02_2_TL = T2MAJOIR[22] * STR_TR22;
+MAJOIR02_2 = MAJOIR02_2_TL + MAJOIR02_2_NTL + MAJOIR02_2_NTL15 ;
+
+MAJOIR03 = TMAJOIR[13] * STR_TR13 
+	   + TMAJOIR[01] * null(CSTRATE1 - 3);
+MAJOIR04 = TMAJOIR[08] * STR_TR08 
+	   + TMAJOIR[01] * null(CSTRATE1 - 4);
+MAJOIR05 = TMAJOIR[07] * STR_TR07 
+	   + TMAJOIR[01] * null(CSTRATE1 - 5);
+MAJOIR06 = TMAJOIR[03] * STR_TR03
+	   + TMAJOIR[01] * null(CSTRATE1 - 6);
+MAJOIR07 = TMAJOIR[16] * STR_TR16 
+	   + TMAJOIR[01] * null(CSTRATE1 - 7)
+	   + max(0,MAJOIR07TARDIF_DEF) ;
+MAJOIR08 = TMAJOIR[11] * STR_TR11 
+	   + TMAJOIR[01] * null(CSTRATE1 - 8)
+	   + max(0,MAJOIR08TARDIF_DEF) ;
+MAJOIR10_1 = TMAJOIR[14] * STR_TR14 
+	   + TMAJOIR[01] * null(CSTRATE1 - 10);
+MAJOIR10_2 = T2MAJOIR[14] * STR_TR14
+	   + T2MAJOIR[01] * null(CSTRATE1 - 10);
+MAJOIR11 = TMAJOIR[10] * STR_TR10 
+	   + TMAJOIR[01] * null(CSTRATE1 - 11);
+MAJOIR17_1 = TMAJOIR[15] * STR_TR15  
+	   + TMAJOIR[01] * null(CSTRATE1 - 17)
+	   + max(0,MAJOIR17_1TARD_DEF);
+MAJOIR17_2 = T2MAJOIR[15] * STR_TR15
+	   + T2MAJOIR[01] * null(CSTRATE1 - 17)
+	   + max(0,MAJOIR17_2TARD_DEF);
+MAJOIR22 = TMAJOIR[23] * STR_TR23 
+	   + TMAJOIR[01] * null(CSTRATE1 - 22);
+MAJOIR30 = TMAJOIR[09] * STR_TR09 
+	   + TMAJOIR[01] * null(CSTRATE1 - 30);
+MAJOIR31 = TMAJOIR[06] * STR_TR06 
+	   + TMAJOIR[01] * null(CSTRATE1 - 31);
+MAJOIR32 = TMAJOIR[05] * STR_TR05 
+	   + TMAJOIR[01] * null(CSTRATE1 - 32);
+MAJOIR55 = TMAJOIR[12] * STR_TR12
+	   + TMAJOIR[01] * null(CSTRATE1 - 55);
+MAJOIR99 = (TMAJOIR[00] * STR_TR00 
+	   + TMAJOIR[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99)) ;
+MAJOPS01 = TMAJOPS[24] * STR_TR24 
+	   + TMAJOPS[01] * null(CSTRATE1 - 1);
+MAJOPS02 = TMAJOPS[22] * STR_TR22 
+	   + TMAJOPS[01] * null(CSTRATE1 - 2);
+MAJOPS03 = TMAJOPS[13] * STR_TR13 
+	   + TMAJOPS[01] * null(CSTRATE1 - 3);
+MAJOPS04 = TMAJOPS[08] * STR_TR08 
+	   + TMAJOPS[01] * null(CSTRATE1 - 4);
+MAJOPS05 = TMAJOPS[07] * STR_TR07 
+	   + TMAJOPS[01] * null(CSTRATE1 - 5);
+MAJOPS06 = TMAJOPS[03] * STR_TR03
+	   + TMAJOPS[01] * null(CSTRATE1 - 6);
+MAJOPS07 = TMAJOPS[16] * STR_TR16 
+	   + TMAJOPS[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOPS07TARDIF_DEF) ;
+MAJOPS08 = TMAJOPS[11] * STR_TR11 
+	   + TMAJOPS[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOPS08TARDIF_DEF) ;
+MAJOPS10 = TMAJOPS[14] * STR_TR14 
+	   + TMAJOPS[01] * null(CSTRATE1 - 10);
+MAJOPS11 = TMAJOPS[10] * STR_TR10 
+	   + TMAJOPS[01] * null(CSTRATE1 - 11);
+MAJOPS17 = TMAJOPS[15] * STR_TR15 
+	   + TMAJOPS[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOPS17TARDIF_DEF) ;
+MAJOPS22 = TMAJOPS[23] * STR_TR23 
+	   + TMAJOPS[01] * null(CSTRATE1 - 22);
+MAJOPS30 = TMAJOPS[09] * STR_TR09 
+	   + TMAJOPS[01] * null(CSTRATE1 - 30);
+MAJOPS31 = TMAJOPS[06] * STR_TR06 
+	   + TMAJOPS[01] * null(CSTRATE1 - 31);
+MAJOPS55 = TMAJOPS[12] * STR_TR12 
+	   + TMAJOPS[01] * null(CSTRATE1 - 55);
+MAJOPS99 = (TMAJOPS[00] * STR_TR00 
+	   + TMAJOPS[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJOCS01 = TMAJOCS[24] * STR_TR24 
+	   + TMAJOCS[01] * null(CSTRATE1 - 1);
+MAJOCS02 = TMAJOCS[22] * STR_TR22 
+	   + TMAJOCS[01] * null(CSTRATE1 - 2);
+MAJOCS03 = TMAJOCS[13] * STR_TR13 
+	   + TMAJOCS[01] * null(CSTRATE1 - 3);
+MAJOCS04 = TMAJOCS[08] * STR_TR08 
+	   + TMAJOCS[01] * null(CSTRATE1 - 4);
+MAJOCS05 = TMAJOCS[07] * STR_TR07 
+	   + TMAJOCS[01] * null(CSTRATE1 - 5);
+MAJOCS06 = TMAJOCS[03] * STR_TR03
+	   + TMAJOCS[01] * null(CSTRATE1 - 6);
+MAJOCS07 = TMAJOCS[16] * STR_TR16 
+	   + TMAJOCS[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOCS07TARDIF_DEF) ;
+MAJOCS08 = TMAJOCS[11] * STR_TR11 
+	   + TMAJOCS[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOCS08TARDIF_DEF) ;
+MAJOCS10 = TMAJOCS[14] * STR_TR14 
+	   + TMAJOCS[01] * null(CSTRATE1 - 10);
+MAJOCS11 = TMAJOCS[10] * STR_TR10 
+	   + TMAJOCS[01] * null(CSTRATE1 - 11);
+MAJOCS17 = TMAJOCS[15] * STR_TR15 
+	   + TMAJOCS[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOCS17TARDIF_DEF) ;
+MAJOCS22 = TMAJOCS[23] * STR_TR23 
+	   + TMAJOCS[01] * null(CSTRATE1 - 22);
+MAJOCS30 = TMAJOCS[09] * STR_TR09 
+	   + TMAJOCS[01] * null(CSTRATE1 - 30);
+MAJOCS31 = TMAJOCS[06] * STR_TR06 
+	   + TMAJOCS[01] * null(CSTRATE1 - 31);
+MAJOCS32 = TMAJOCS[05] * STR_TR05 
+	   + TMAJOCS[01] * null(CSTRATE1 - 32);
+MAJOCS55 = TMAJOCS[12] * STR_TR12 
+	   + TMAJOCS[01] * null(CSTRATE1 - 55);
+MAJOCS99 = (TMAJOCS[00] * STR_TR00 
+	   + TMAJOCS[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJORD01 = TMAJORD[24] * STR_TR24 
+	   + TMAJORD[01] * null(CSTRATE1 - 1);
+MAJORD02 = TMAJORD[22] * STR_TR22 
+	   + TMAJORD[01] * null(CSTRATE1 - 2);
+MAJORD03 = TMAJORD[13] * STR_TR13 
+	   + TMAJORD[01] * null(CSTRATE1 - 3);
+MAJORD04 = TMAJORD[08] * STR_TR08 
+	   + TMAJORD[01] * null(CSTRATE1 - 4);
+MAJORD05 = TMAJORD[07] * STR_TR07 
+	   + TMAJORD[01] * null(CSTRATE1 - 5);
+MAJORD06 = TMAJORD[03] * STR_TR03
+	   + TMAJORD[01] * null(CSTRATE1 - 6);
+MAJORD07 = TMAJORD[16] * STR_TR16 
+	   + TMAJORD[01] * null(CSTRATE1 - 7)
+           + max(0,MAJORD07TARDIF_DEF) ;
+MAJORD08 = TMAJORD[11] * STR_TR11 
+	   + TMAJORD[01] * null(CSTRATE1 - 8)
+           + max(0,MAJORD08TARDIF_DEF) ;
+MAJORD10 = TMAJORD[14] * STR_TR14 
+	   + TMAJORD[01] * null(CSTRATE1 - 10);
+MAJORD11 = TMAJORD[10] * STR_TR10 
+	   + TMAJORD[01] * null(CSTRATE1 - 11);
+MAJORD17 = TMAJORD[15] * STR_TR15 
+	   + TMAJORD[01] * null(CSTRATE1 - 17)
+           + max(0,MAJORD17TARDIF_DEF) ;
+MAJORD22 = TMAJORD[23] * STR_TR23 
+	   + TMAJORD[01] * null(CSTRATE1 - 22);
+MAJORD30 = TMAJORD[09] * STR_TR09 
+	   + TMAJORD[01] * null(CSTRATE1 - 30);
+MAJORD31 = TMAJORD[06] * STR_TR06 
+	   + TMAJORD[01] * null(CSTRATE1 - 31);
+MAJORD32 = TMAJORD[05] * STR_TR05 
+	   + TMAJORD[01] * null(CSTRATE1 - 32);
+MAJORD55 = TMAJORD[12] * STR_TR12 
+	   + TMAJORD[01] * null(CSTRATE1 - 55);
+MAJORD99 = (TMAJORD[00] * STR_TR00 
+	   + TMAJORD[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+
+
+MAJOCVN01 = TMAJOCVN[24] * STR_TR24 
+	   + TMAJOCVN[01] * null(CSTRATE1 - 1);
+MAJOCVN02 = TMAJOCVN[22] * STR_TR22 
+	   + TMAJOCVN[01] * null(CSTRATE1 - 2);
+MAJOCVN03 = TMAJOCVN[13] * STR_TR13 
+	   + TMAJOCVN[01] * null(CSTRATE1 - 3);
+MAJOCVN04 = TMAJOCVN[08] * STR_TR08 
+	   + TMAJOCVN[01] * null(CSTRATE1 - 4);
+MAJOCVN05 = TMAJOCVN[07] * STR_TR07 
+	   + TMAJOCVN[01] * null(CSTRATE1 - 5);
+MAJOCVN06 = TMAJOCVN[03] * STR_TR03
+	   + TMAJOCVN[01] * null(CSTRATE1 - 6);
+MAJOCVN07 = TMAJOCVN[16] * STR_TR16 
+	   + TMAJOCVN[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOCVN07TARD_DEF) ;
+MAJOCVN08 = TMAJOCVN[11] * STR_TR11 
+	   + TMAJOCVN[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOCVN08TARD_DEF) ;
+MAJOCVN10 = TMAJOCVN[14] * STR_T
\ No newline at end of file
diff --git a/sources2013m_3_8/chap-cor.m b/sources2013m_3_8/chap-cor.m
new file mode 100644
index 0000000000000000000000000000000000000000..d691811eee3eaca1a72534e9341016f658703740
--- /dev/null
+++ b/sources2013m_3_8/chap-cor.m
@@ -0,0 +1,757 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+regle  corrective base_INITIAL 1080:
+application     : iliad ;
+PRS_P = PRS;
+CSG_P = CSG;
+RDS_P = RDSN;
+IRNIN_P = IRN ;
+IRNIN_INR_P = IRNIN_INR;
+CSREC_P = CSREC;
+NAPCR_P = NAPCR;
+TAXA_P = TAXABASE ;
+CHR_P = CHRBASE ;
+TAXABRUT_P = TAXASSUR ;
+PCAPBRUT_P = IPCAPTAXT ;
+CHRBRUT_P = IHAUTREVT ;
+PCAP_P = PCAPBASE ;
+RSE1_P = RSE1BASE ;
+RSE2_P = RSE2BASE ;
+RSE3_P = RSE3BASE ;
+RSE4_P = RSE4BASE ;
+CDIS_P = CDISBASE ;
+VAR7WY_P = DEPCHOBAS;
+VAR7WZ_P = DEPMOBIL;
+VAR7WD_P = COD7WD;
+ISF_P = ISF4BASE;
+
+ACOTFOR_P = ACOTFOR ;
+RCOTFOR_P = RCOTFOR ;
+AREPA_P = AREPA ;
+RREPA_P = RREPA ;
+AAIDE_P = AAIDE ;
+RAIDE_P = RAIDE ;
+ADIFAGRI_P = ADIFAGRI ;
+RDIFAGRI_P = RDIFAGRI ;
+AFORET_P = AFORET ;
+RFORET_P = RFORET ;
+AFIPDOM_P = AFIPDOM ;
+RFIPDOM_P = RFIPDOM ;
+AFIPC_P = AFIPC ;
+RFIPC_P = RFIPC ;
+ACINE_P = ACINE ;
+RCINE_P = RCINE ;
+ARESTIMO_P = ARESTIMO ;
+RRESTIMO_P = RRESTIMO ; 
+ASOCREPR_P = ASOCREPR ;
+RSOCREPR_P = RSOCREPR ;
+APRESCOMP_P = APRESCOMP ;
+RRPRESCOMP_P = RRPRESCOMP ;
+AHEBE_P = AHEBE ;
+RHEBE_P = RHEBE ;
+ASURV_P = ASURV ;
+RSURV_P = RSURV ;
+BFCPI_P = BFCPI ;
+RINNO_P = RINNO ;
+ASOUFIP_P = ASOUFIP ; 
+RSOUFIP_P = RSOUFIP ; 
+ARIRENOV_P = ARIRENOV ; 
+RRIRENOV_P = RRIRENOV ; 
+ALOGDOM_P = ALOGDOM ;
+RLOGDOM_P = RLOGDOM ;
+ACREAT_P = ACREAT ;
+RCREAT_P = RCREAT ;
+ACOMP_P = ACOMP ;
+RCOMP_P = RCOMP ;
+RRETU_P = RRETU ;
+ADONS_P = ADONS ;
+RDONS_P = RDONS ;
+ADUFLOGIH_P = ADUFLOGIH ;
+RDUFLOGIH_P = RDUFLOGIH ;
+ANOUV_P = ANOUV ;
+RNOUV_P = RNOUV ;
+AFOREST_P = AFOREST ;
+RFOR_P = RFOR ;
+ATOURREP_P = ATOURREP ;
+RTOURREP_P = RTOURREP ;
+ATOUHOTR_P = ATOUHOTR ;
+RTOUHOTR_P = RTOUHOTR ;
+ATOUREPA_P = ATOUREPA ;
+RTOUREPA_P = RTOUREPA ;
+ACELRREDLA_P = ACELRREDLA ; 
+RCELRREDLA_P = RCELRREDLA ; 
+ACELRREDLB_P = ACELRREDLB ;
+RCELRREDLB_P = RCELRREDLB ;
+ACELRREDLE_P = ACELRREDLE ;
+RCELRREDLE_P = RCELRREDLE ;
+ACELRREDLM_P = ACELRREDLM ;
+RCELRREDLM_P = RCELRREDLM ;
+ACELRREDLC_P = ACELRREDLC ;
+RCELRREDLC_P = RCELRREDLC ;
+ACELRREDLD_P = ACELRREDLD ;
+RCELRREDLD_P = RCELRREDLD ;
+ACELRREDLS_P = ACELRREDLS ;
+RCELRREDLS_P = RCELRREDLS ;
+ACELRREDLF_P = ACELRREDLF ;
+RCELRREDLF_P = RCELRREDLF ;
+ACELRREDLZ_P = ACELRREDLZ ;
+RCELRREDLZ_P = RCELRREDLZ ;
+ACELRREDMG_P = ACELRREDMG ;
+RCELRREDMG_P = RCELRREDMG ;
+ACELREPHS_P = ACELREPHS ;
+RCELREPHS_P = RCELREPHS ;
+ACELREPHR_P = ACELREPHR ;
+RCELREPHR_P = RCELREPHR ;
+ACELREPHU_P = ACELREPHU ;
+RCELREPHU_P = RCELREPHU ;
+ACELREPHT_P = ACELREPHT ;
+RCELREPHT_P = RCELREPHT ;
+ACELREPHZ_P = ACELREPHZ ;
+RCELREPHZ_P = RCELREPHZ ;
+ACELREPHX_P = ACELREPHX ;
+RCELREPHX_P = RCELREPHX ;
+ACELREPHW_P = ACELREPHW ;
+RCELREPHW_P = RCELREPHW ;
+ACELREPHV_P = ACELREPHV ;
+RCELREPHV_P = RCELREPHV ;
+ACELREPHF_P = ACELREPHF ;
+RCELREPHF_P = RCELREPHF ;
+ACELREPHE_P = ACELREPHE ;
+RCELREPHE_P = RCELREPHE ;
+ACELREPHD_P = ACELREPHD ;
+RCELREPHD_P = RCELREPHD ;
+ACELREPHH_P = ACELREPHH ;
+RCELREPHH_P = RCELREPHH ;
+ACELREPHG_P = ACELREPHG ;
+RCELREPHG_P = RCELREPHG ;
+ACELREPHB_P = ACELREPHB ;
+RCELREPHB_P = RCELREPHB ;
+ACELREPHA_P = ACELREPHA ;
+RCELREPHA_P = RCELREPHA ;
+ACELREPGU_P = ACELREPGU ;
+RCELREPGU_P = RCELREPGU ;
+ACELREPGX_P = ACELREPGX ;
+RCELREPGX_P = RCELREPGX ;
+ACELREPGT_P = ACELREPGT ;
+RCELREPGT_P = RCELREPGT ;
+ACELREPGS_P = ACELREPGS ;
+RCELREPGS_P = RCELREPGS ;
+ACELREPGW_P = ACELREPGW ;
+RCELREPGW_P = RCELREPGW ;
+ACELREPGP_P = ACELREPGP ;
+RCELREPGP_P = RCELREPGP ;
+ACELREPGL_P = ACELREPGL ;
+RCELREPGL_P = RCELREPGL ;
+ACELREPGV_P = ACELREPGV ;
+RCELREPGV_P = RCELREPGV ;
+ACELREPGK_P = ACELREPGK ;
+RCELREPGK_P = RCELREPGK ;
+ACELREPGJ_P = ACELREPGJ ;
+RCELREPGJ_P = RCELREPGJ ;
+ACELHM_P = ACELHM ;
+RCELHM_P = RCELHM ;
+
+
+ACELHL_P = ACELHL ;
+RCELHL_P = RCELHL ;
+ACELHNO_P = ACELHNO ;
+RCELHNO_P = RCELHNO ;
+ACELHJK_P = ACELHJK ;
+RCELHJK_P = RCELHJK ;
+ACELNQ_P = ACELNQ ;
+RCELNQ_P = RCELNQ ;
+ACELNBGL_P = ACELNBGL ;
+RCELNBGL_P = RCELNBGL ;
+ACELCOM_P = ACELCOM ;
+RCELCOM_P = RCELCOM ;
+ACEL_P = ACEL ;
+RCEL_P = RCEL ;
+ACELJP_P = ACELJP ;
+RCELJP_P = RCELJP ;
+ACELJBGL_P = ACELJBGL ;
+RCELJBGL_P = RCELJBGL ;
+ACELJOQR_P = ACELJOQR ; 
+RCELJOQR_P = RCELJOQR ; 
+ACEL2012_P = ACEL2012 ;
+RCEL2012_P = RCEL2012 ;
+ACELFD_P = ACELFD ; 
+RCELFD_P = RCELFD ; 
+ACELFABC_P = ACELFABC ;
+RCELFABC_P = RCELFABC ;
+AREDMEUB_P = AREDMEUB ; 
+RREDMEUB_P = RREDMEUB ; 
+AREDREP_P = AREDREP ;
+RREDREP_P = RREDREP ;
+AILMIX_P = AILMIX ; 
+RILMIX_P = RILMIX ; 
+AILMIY_P = AILMIY ;
+RILMIY_P = RILMIY ;
+AINVRED_P = AINVRED ; 
+RINVRED_P = RINVRED ; 
+AILMIH_P = AILMIH ;
+RILMIH_P = RILMIH ;
+AILMJC_P = AILMJC ;
+RILMJC_P = RILMJC ;
+AILMIZ_P = AILMIZ ;
+RILMIZ_P = RILMIZ ;
+AILMJI_P = AILMJI ;
+RILMJI_P = RILMJI ;
+AILMJS_P = AILMJS ;
+RILMJS_P = RILMJS ;
+AMEUBLE_P = AMEUBLE ;
+RMEUBLE_P = RMEUBLE ;
+APROREP_P = APROREP ;
+RPROREP_P = RPROREP ;
+AREPNPRO_P = AREPNPRO ; 
+RREPNPRO_P = RREPNPRO ; 
+AREPMEU_P = AREPMEU ; 
+RREPMEU_P = RREPMEU ; 
+AILMIC_P = AILMIC ;
+RILMIC_P = RILMIC ;
+AILMIB_P = AILMIB ; 
+RILMIB_P = RILMIB ; 
+AILMIA_P = AILMIA ; 
+RILMIA_P = RILMIA ; 
+AILMJY_P = AILMJY ;
+RILMJY_P = RILMJY ;
+AILMJX_P = AILMJX ;
+RILMJX_P = RILMJX ;
+AILMJW_P = AILMJW ; 
+RILMJW_P = RILMJW ; 
+AILMJV_P = AILMJV ; 
+RILMJV_P = RILMJV ; 
+ARESIMEUB_P = ARESIMEUB ;
+RRESIMEUB_P = RRESIMEUB ;
+RCODIW_P = RCODIW ;
+RCODIM_P = RCODIM ;
+RCODIL_P = RCODIL ;
+RCODIN_P = RCODIN ;
+RCODIV_P = RCODIV ;
+RCODIJ_P = RCODIJ ;
+RCODIE_P = RCODIE ;
+RCODIF_P = RCODIF ;
+RCODIG_P = RCODIG ;
+RCODID_P = RCODID ;
+RCODJU_P = RCODJU ;
+RCODJT_P = RCODJT ; 
+APATNAT1_P = APATNAT1 ;
+RPATNAT1_P = RPATNAT1 ;
+APATNAT2_P = APATNAT2 ;
+RPATNAT2_P = RPATNAT2 ;
+APATNAT3_P = APATNAT3 ;
+RPATNAT3_P = RPATNAT3 ;
+APATNAT_P = APATNAT ;
+RPATNAT_P = RPATNAT ;
+ADOMSOC1_P = ADOMSOC1 ; 
+RDOMSOC1_P = RDOMSOC1 ; 
+ALOGSOC_P = ALOGSOC ; 
+RLOGSOC_P = RLOGSOC ; 
+DIDOMPRO_P = DIDOMPRO ;
+RIDOMPROE3_P = RIDOMPROE3 ;
+ACOLENT_P = ACOLENT ;
+RCOLENT_P = RCOLENT ;
+ALOCENT_P = ALOCENT ;
+RLOCENT_P = RLOCENT ;
+RREVMOD_P = RREVMOD ;
+
+ITRED_P = ITRED ; 
+BICREV_P = BICREV;
+BICREC_P = BICREC;
+BICREP_P = BICREP;
+BICHREV_P = BICHREV;
+BICHREC_P = BICHREC;
+BICHREP_P = BICHREP;
+DNOCEP_P = DNOCEP;
+DNOCEPC_P = DNOCEPC;
+DNOCEPP_P = DNOCEPP;
+BNCAADV_P = BNCAADV;
+BNCAADC_P = BNCAADC;
+BNCAADP_P = BNCAADP;
+BAHDEV_P = VARBAHDEV;
+BAHDEC_P = VARBAHDEC;
+BAHDEP_P = VARBAHDEP;
+BACDEV_P = VARBACDEV;
+BACDEC_P = VARBACDEC;
+BACDEP_P = VARBACDEP;
+RCMFR_P = min(RCMAB + RTNC + RAVC + RCMNAB + RTCAR + RCMPRIVM,RCMFR);
+RCMFRNET_P = max(0,RCMFR - RCMAB - RTNC - RAVC - RCMNAB - RTCAR - RCMPRIVM);
+TSNNV_P = abs(TSNNV) * min(0,TSNNV);
+TSNNC_P = abs(TSNNC) * min(0,TSNNC);
+TSNN1_P = abs(TSNN1) * min(0,TSNN1);
+TSNN2_P = abs(TSNN2) * min(0,TSNN2);
+TSNN3_P = abs(TSNN3) * min(0,TSNN3);
+TSNN4_P = abs(TSNN4) * min(0,TSNN4);
+TSNNT_P = abs(TSNNT) * min(0,TSNNT);
+FRDV_P = FRDV;
+FRDC_P = FRDC;
+FRD1_P = FRD1;
+FRD2_P = FRD2;
+FRD3_P = FRD3;
+FRD4_P = FRD4;
+TFRDV_P = TFRDV;
+TFRDC_P = TFRDC;
+TFRD1_P = TFRD1;
+TFRD2_P = TFRD2;
+TFRD3_P = TFRD3;
+TFRD4_P = TFRD4;
+SOMMEBA_P = SOMMEBA;
+SOMMEBIC_P = SOMMEBIC;
+SOMMELOC_P = SOMMELOC;
+SOMMEBNC_P = SOMMEBNC;
+SOMMERF_P = SOMMERF;
+SOMMERCM_P = SOMMERCM;
+regle corrective base_anterieure_cor 11:
+application : iliad ;
+FRNRETENUANTV = FRNRETENUV * FLAG_RECTIF;
+FRNRETENUANTC = FRNRETENUC ;
+FRNRETENUANT1 = FRNRETENU1 ;
+FRNRETENUANT2 = FRNRETENU2 ;
+FRNRETENUANT3 = FRNRETENU3 ;
+FRNRETENUANT4 = FRNRETENU4 ;
+TFRNRETENUANTV = TFRNRETENUV ;
+TFRNRETENUANTC = TFRNRETENUC ;
+TFRNRETENUANT1 = TFRNRETENU1 ;
+TFRNRETENUANT2 = TFRNRETENU2 ;
+TFRNRETENUANT3 = TFRNRETENU3 ;
+TFRNRETENUANT4 = TFRNRETENU4 ;
+ANTINDIRPS = INDIRPS ;
+ANTPPETOT = PPETOTX ;
+ANTPPEREST2A = PPEREST2A ;
+ANTPPEIMP2A = PPEIMP2A ;
+DIFF7WY_A = DIFF7WY ; 
+DIFF7WZ_A = DIFF7WZ ; 
+DIFF7WD_A = DIFF7WD ; 
+NATIMP_A = NATIMP ; 
+PCSG_A = PCSG;
+PRDS_A = PRDS;
+PIR_A = PIR;
+PTAXA_A=PTAXA;
+PCHR_A=PHAUTREV;
+PPCAP_A=PPCAP;
+PRSE1_A=PRSE1;
+PRSE2_A=PRSE2;
+PRSE3_A=PRSE3;
+PRSE4_A=PRSE4;
+PTAXLOY_A=PTAXLOY;
+PCVN_A=PCVN;
+PGLOA_A=PGLOA;
+PRSE5_A=PRSE5;
+PCDIS_A=PCDIS;
+PTOT_A = PTOT;
+PPRS_A = PPRS;
+RNI_A = RNI;
+IREST_A = IREST;
+IDEGR_A = IRDEG;
+IRN_A = IRN;
+IRNET_A = IRNET;
+TAXANET_A = TAXANET;
+TAXLOYNET_A = TAXLOYNET;
+CHRNET_A = HAUTREVNET;
+PCAPNET_A = PCAPNET;
+RSE1NET_A = RSE1NET;
+RSE2NET_A = RSE2NET;
+RSE3NET_A = RSE3NET;
+RSE4NET_A = RSE4NET;
+CVNNET_A = CVNNET;
+GLONET_A = CGLOANET;
+CDISNET_A = CDISNET;
+RSE5NET_A = RSE5NET;
+IDCSG_A = IDCSG;
+DCSGIM_A = DCSGIM;
+IRANT_A = IRANT;
+IRNIN_A = IRNIN;
+IRNIN_INR_A = IRNIN_INR;
+CSG_A = CSG;
+RDS_A = RDSN;
+PRS_A = PRS;
+CDIS_A = CDIS;
+CGLOA_A = CGLOA;
+CVN_A = CVNSALC;
+CICA_A = CICA;
+TAXABASE_A = TAXABASE;
+LOYBASE_A=LOYBASE;
+CHRBASE_A = CHRBASE;
+PCAPBASE_A = PCAPBASE;
+RSE1BASE_A = RSE1BASE;
+RSE2BASE_A = RSE2BASE;
+RSE3BASE_A = RSE3BASE;
+RSE4BASE_A = RSE4BASE;
+CDISBASE_A = CDISBASE;
+GLOBASE_A = GLOBASE;
+CVNBASE_A = CVNBASE;
+RSE5BASE_A = RSE5BASE;
+IRNIN_R99R_A = IRNIN_R99R+(IRNIN_PA)*null(1-IND_PASSAGE);
+IRNIN_R9901_A = IRNIN_R9901;
+CSG_R9901_A = CSG_R9901;
+RDS_R9901_A = RDS_R9901;
+PRS_R9901_A = PRS_R9901;
+CDIS_R9901_A = CDIS_R9901;
+TAXA_R9901_A = TAXA_R9901;
+CHR_R9901_A = CHR_R9901;
+PCAP_R9901_A = PCAP_R9901;
+RSE1_R9901_A = RSE1_R9901;
+RSE2_R9901_A = RSE2_R9901;
+RSE3_R9901_A = RSE3_R9901;
+RSE4_R9901_A = RSE4_R9901;
+LOY_R9901_A = LOY_R9901;
+CVN_R9901_A = CVN_R9901;
+GLO_R9901_A = GLO_R9901;
+RSE5_R9901_A = RSE5_R9901;
+CSG_R99R_A = CSG_R99R+CSG_PA*null(1-IND_PASSAGE);
+RDS_R99R_A = RDS_R99R+CRDS_PA*null(1-IND_PASSAGE);
+PRS_R99R_A = PRS_R99R+PRS_PA*null(1-IND_PASSAGE);
+CDIS_R99R_A = CDIS_R99R+CDIS_PA*null(1-IND_PASSAGE);
+TAXA_R99R_A = TAXA_R99R+TAXA_PA*null(1-IND_PASSAGE);
+CHR_R99R_A = CHR_R99R+CHR_PA*null(1-IND_PASSAGE);
+PCAP_R99R_A = PCAP_R99R+PCAP_PA*null(1-IND_PASSAGE);
+RSE1_R99R_A = RSE1_R99R+RSE1_PA*null(1-IND_PASSAGE);
+RSE2_R99R_A = RSE2_R99R+RSE2_PA*null(1-IND_PASSAGE);
+RSE3_R99R_A = RSE3_R99R+RSE3_PA*null(1-IND_PASSAGE);
+RSE4_R99R_A = RSE4_R99R+RSE4_PA*null(1-IND_PASSAGE);
+LOY_R99R_A = LOY_R99R+LOY_PA*null(1-IND_PASSAGE);
+CVN_R99R_A = CVN_R99R+CVN_PA*null(1-IND_PASSAGE);
+GLO_R99R_A = GLO_R99R+GLO_PA*null(1-IND_PASSAGE);
+RSE5_R99R_A = RSE5_R99R+RSE5_PA*null(1-IND_PASSAGE);
+INRIR_R99R_A = INRIR_R99R+INRIR_R99RA;
+INRCSG_R99R_A = INRCSG_R99R+INRCSG_R99RA;
+INRCRDS_R99R_A = INRCRDS_R99R+INRCRDS_R99RA;
+INRPRS_R99R_A = INRPRS_R99R+INRPRS_R99RA;
+INRCDIS_R99R_A = INRCDIS_R99R+INRCDIS_R99RA;
+INRTAXA_R99R_A = INRTAXA_R99R+INRTAXA_R99RA;
+INRCHR_R99R_A = INRCHR_R99R+INRCHR_R99RA;
+INRPCAP_R99R_A = INRPCAP_R99R+INRPCAP_R99RA;
+INRRSE1_R99R_A = INRRSE1_R99R+INRRSE1_R99RA;
+INRRSE2_R99R_A = INRRSE2_R99R+INRRSE2_R99RA;
+INRRSE3_R99R_A = INRRSE3_R99R+INRRSE3_R99RA;
+INRRSE4_R99R_A = INRRSE4_R99R+INRRSE4_R99RA;
+INRLOY_R99R_A = INRLOY_R99R+INRLOY_R99RA;
+INRCVN_R99R_A = INRCVN_R99R+INRCVN_R99RA;
+INRGLO_R99R_A = INRGLO_R99R+INRGLO_R99RA;
+INRRSE5_R99R_A = INRRSE5_R99R+INRRSE5_R99RA;
+INRIR_R9901_A = INRIR_R9901+INRIR_R9901A;
+INRCSG_R9901_A = INRCSG_R9901+INRCSG_R9901A;
+INRCRDS_R9901_A = INRCRDS_R9901+INRCRDS_R9901A;
+INRPRS_R9901_A = INRPRS_R9901+INRPRS_R9901A;
+INRCDIS_R9901_A = INRCDIS_R9901+INRCDIS_R9901A;
+INRTAXA_R9901_A = INRTAXA_R9901+INRTAXA_R9901A;
+INRCHR_R9901_A = INRCHR_R9901+INRCHR_R9901A;
+INRPCAP_R9901_A = INRPCAP_R9901+INRPCAP_R9901A;
+INRRSE1_R9901_A = INRRSE1_R9901+INRRSE1_R9901A;
+INRRSE2_R9901_A = INRRSE2_R9901+INRRSE2_R9901A;
+INRRSE3_R9901_A = INRRSE3_R9901+INRRSE3_R9901A;
+INRRSE4_R9901_A = INRRSE4_R9901+INRRSE4_R9901A;
+INRLOY_R9901_A = INRLOY_R9901+INRLOY_R9901A;
+INRCVN_R9901_A = INRCVN_R9901+INRCVN_R9901A;
+INRGLO_R9901_A = INRGLO_R9901+INRGLO_R9901A;
+INRRSE5_R9901_A = INRRSE5_R9901+INRRSE5_R9901A;
+RECUP_INR_IR_A=RECUP_INR_IR;
+RECUP_INR_CSG_A=RECUP_INR_CSG;
+RECUP_INR_CRDS_A=RECUP_INR_CRDS;
+RECUP_INR_PRS_A=RECUP_INR_PRS;
+RECUP_INR_TAXA_A=RECUP_INR_TAXA;
+RECUP_INR_LOY_A=RECUP_INR_LOY;
+RECUP_INR_CDIS_A=RECUP_INR_CDIS;
+RECUP_INR_PCAP_A=RECUP_INR_PCAP;
+RECUP_INR_CVN_A=RECUP_INR_CVN;
+RECUP_INR_GLO_A=RECUP_INR_GLO;
+RECUP_INR_RSE1_A=RECUP_INR_RSE1;
+RECUP_INR_RSE2_A=RECUP_INR_RSE2;
+RECUP_INR_RSE3_A=RECUP_INR_RSE3;
+RECUP_INR_RSE4_A=RECUP_INR_RSE4;
+RECUP_INR_RSE5_A=RECUP_INR_RSE5;
+RECUP_INR_CHR_A=RECUP_INR_CHR;
+RECUP_INR_ISF_A=RECUP_INR_ISF;
+IAR_A = IAR;
+NAPIR_A=NAPIR;
+
+FRDV_A = max(FRDV * FLAGPREM * positif(FLAG_RETARD+FLAG_DEFAUT),max(FRDV_P,FRDV1731));
+FRDC_A = max(FRDC * FLAGPREM * positif(FLAG_RETARD+FLAG_DEFAUT),max(FRDC_P,FRDC1731));
+FRD1_A = max(FRD1 * FLAGPREM * positif(FLAG_RETARD+FLAG_DEFAUT),max(FRD1_P,FRD11731));
+FRD2_A = max(FRD2 * FLAGPREM * positif(FLAG_RETARD+FLAG_DEFAUT),max(FRD2_P,FRD21731));
+FRD3_A = max(FRD3 * FLAGPREM * positif(FLAG_RETARD+FLAG_DEFAUT),max(FRD3_P,FRD31731));
+FRD4_A = max(FRD4 * FLAGPREM * positif(FLAG_RETARD+FLAG_DEFAUT),max(FRD4_P,FRD41731));
+TFRDV_A = max(TFRDV * FLAGPREM * positif(FLAG_RETARD+FLAG_DEFAUT),max(TFRDV_P,TFRDV1731));
+TFRDC_A = max(TFRDC * FLAGPREM * positif(FLAG_RETARD+FLAG_DEFAUT),max(TFRDC_P,TFRDC1731));
+TFRD1_A = max(TFRD1 * FLAGPREM * positif(FLAG_RETARD+FLAG_DEFAUT),max(TFRD1_P,TFRD11731));
+TFRD2_A = max(TFRD2 * FLAGPREM * positif(FLAG_RETARD+FLAG_DEFAUT),max(TFRD2_P,TFRD21731));
+TFRD3_A = max(TFRD3 * FLAGPREM * positif(FLAG_RETARD+FLAG_DEFAUT),max(TFRD3_P,TFRD31731));
+TFRD4_A = max(TFRD4 * FLAGPREM * positif(FLAG_RETARD+FLAG_DEFAUT),max(TFRD4_P,TFRD41731));
+IND_PASSAGE_A = IND_PASSAGE;
+IND_PASSR9901_A = IND_PASSR9901;
+IRNIN_RECT_A = IRNIN_RECT;
+INRIR_RECT_A = INRIR_RECT;
+
+IRNIN_REF_A = max(IRNIN_INR,IRNIN_P+IRNIN_PA)*positif(DO_INR_IR2)
+	     + (IRNIN_REF * (1-positif(INDFLAGCIR)) + IRNIN_R * positif(INDFLAGCIR))
+            * (1-positif(DO_INR_IR2));
+CSG_REF_A = max(CSG,CSG_P+CSG_PA)*positif(DO_INR_CSG2)
+	   + CSG_REF * (1-positif(INDFLAGCCSG)) + CSG_R * positif(INDFLAGCCSG);
+RDS_REF_A = max(RDSN,RDS_P+CRDS_PA)*positif(DO_INR_CRDS2)
+            + RDS_REF * (1-positif(INDFLAGCRDS)) + RDS_R * positif(INDFLAGCRDS);
+PRS_REF_A = max(PRS,PRS_P+PRS_PA)*positif(DO_INR_PS2)
+            + PRS_REF * (1-positif(INDFLAGCPRS)) + PRS_R * positif(INDFLAGCPRS);
+CDIS_REF_A = max(CDIS,CDIS_P+CDIS_PA)*positif(DO_INR_CDIS2)
+            + CDIS_REF * (1-positif(INDFLAGCCDIS)) + CDIS_R * positif(INDFLAGCCDIS);
+TAXA_REF_A = max(TAXABASE,TAXA_P+TAXA_PA)*positif(DO_INR_TAXA2)
+            + TAXA_REF * (1-positif(INDFLAGCTAXA)) + TAXA_R * positif(INDFLAGCTAXA);
+CHR_REF_A = max(CHRBASE,CHR_P+CHR_PA)*positif(DO_INR_CHR2)
+            + CHR_REF * (1-positif(INDFLAGCCHR)) + CHR_R * positif(INDFLAGCCHR);
+PCAP_REF_A = max(PCAPBASE,PCAP_P+PCAP_PA)*positif(DO_INR_PCAP2)
+            + PCAP_REF * (1-positif(INDFLAGCPCAP)) + PCAP_R * positif(INDFLAGCPCAP);
+RSE1_REF_A = max(RSE1BASE,RSE1_P+RSE1_PA)*positif(DO_INR_RSE12)
+            + RSE1_REF * (1-positif(INDFLAGCRSE1)) + RSE1_R * positif(INDFLAGCRSE1);
+RSE2_REF_A = max(RSE2BASE,RSE2_P+RSE2_PA)*positif(DO_INR_RSE22)
+            + RSE2_REF * (1-positif(INDFLAGCRSE2)) + RSE2_R * positif(INDFLAGCRSE2);
+RSE3_REF_A = max(RSE3BASE,RSE3_P+RSE3_PA)*positif(DO_INR_RSE32)
+            + RSE3_REF * (1-positif(INDFLAGCRSE3)) + RSE3_R * positif(INDFLAGCRSE3);
+RSE4_REF_A = max(RSE4BASE,RSE4_P+RSE4_PA)*positif(DO_INR_RSE42)
+            + RSE4_REF * (1-positif(INDFLAGCRSE4)) + RSE4_R * positif(INDFLAGCRSE4);
+LOY_REF_A = max(LOYBASE,LOY_P+LOY_PA)*positif(DO_INR_LOY2)
+            + LOY_REF * (1-positif(INDFLAGCLOY)) + LOY_R * positif(INDFLAGCLOY);
+CVN_REF_A = max(CVNBASE,CVN_P+CVN_PA)*positif(DO_INR_CVN2)
+            + CVN_REF * (1-positif(INDFLAGCCVN)) + CVN_R * positif(INDFLAGCCVN);
+GLO_REF_A = max(GLOBASE,GLO_P+GLO_PA)*positif(DO_INR_GLO2)
+            + GLO_REF * (1-positif(INDFLAGCGLO)) + GLO_R * positif(INDFLAGCGLO);
+RSE5_REF_A = max(RSE5BASE,RSE5_P+RSE5_PA)*positif(DO_INR_RSE52)
+            + RSE5_REF * (1-positif(INDFLAGCRSE5)) + RSE5_R * positif(INDFLAGCRSE5);
+
+IRNIN_PA_A = IRNIN_PA;
+CSG_PA_A = CSG_PA;
+CRDS_PA_A = CRDS_PA;
+PRS_PA_A = PRS_PA;
+CDIS_PA_A = CDIS_PA;
+TAXA_PA_A = TAXA_PA;
+CHR_PA_A = CHR_PA;
+PCAP_PA_A = PCAP_PA;
+RSE1_PA_A = RSE1_PA;
+RSE2_PA_A = RSE2_PA;
+RSE3_PA_A = RSE3_PA;
+RSE4_PA_A = RSE4_PA;
+LOY_PA_A = LOY_PA;
+CVN_PA_A = CVN_PA;
+GLO_PA_A = GLO_PA;
+RSE5_PA_A = RSE5_PA;
+
+
+DO_INR_IR_A = DO_INR_IR + DO_INR_IRC;
+DO_IR_A = DO_IR;
+DO_INR_CSG_A = DO_INR_CSG+ DO_INR_CSGC;
+DO_CSG_A = DO_CSG;
+DO_INR_CRDS_A = DO_INR_CRDS+ DO_INR_CRDSC;
+DO_CRDS_A = DO_CRDS;
+DO_INR_PS_A = DO_INR_PS+ DO_INR_PSC;
+DO_PS_A = DO_PS;
+DO_INR_CDIS_A = DO_INR_CDIS+ DO_INR_CDISC;
+DO_CDIS_A = DO_CDIS;
+DO_INR_TAXA_A = DO_INR_TAXAGA+ DO_INR_TAXAC;
+DO_TAXA_A = DO_TAXA;
+DO_INR_CHR_A = DO_INR_CHR+ DO_INR_CHRC;
+DO_CHR_A = DO_CHR;
+DO_INR_PCAP_A = DO_INR_PCAP+ DO_INR_PCAPC;
+DO_PCAP_A = DO_PCAP;
+DO_INR_RSE1_A = DO_INR_RSE1+ DO_INR_RSE1C;
+DO_RSE1_A = DO_RSE1;
+DO_INR_RSE2_A = DO_INR_RSE2+ DO_INR_RSE2C;
+DO_RSE2_A = DO_RSE2;
+DO_INR_RSE3_A = DO_INR_RSE3+ DO_INR_RSE3C;
+DO_RSE3_A = DO_RSE3;
+DO_INR_RSE4_A = DO_INR_RSE4+ DO_INR_RSE4C;
+DO_RSE4_A = DO_RSE4;
+DO_INR_LOY_A = DO_INR_LOY+ DO_INR_LOYC;
+DO_LOY_A = DO_LOY;
+DO_INR_CVN_A = DO_INR_CVN+ DO_INR_CVNC;
+DO_CVN_A = DO_CVN;
+DO_INR_GLO_A = DO_INR_GLO+ DO_INR_GLOC;
+DO_GLO_A = DO_GLO;
+DO_INR_RSE5_A = DO_INR_RSE5+ DO_INR_RSE5C;
+DO_RSE5_A = DO_RSE5;
+
+INRIR_NTL_A= INRIR_NTLDEC+INRIR_NTLADEC;
+INRCSG_NTL_A=INRCSG_NTLDEC+INRCSG_NTLADEC;
+INRCRDS_NTL_A=INRCRDS_NTLDEC+INRCRDS_NTLADEC;
+INRPRS_NTL_A=INRPRS_NTLDEC+INRPS_NTLADEC;
+INRCDIS_NTL_A=INRCDIS_NTLDEC+INRCDIS_NTLADEC;
+INRTAXA_NTL_A=INRTAXA_NTLDEC+INRTAXA_NTLADEC;
+INRCHR_NTL_A=INRCHR_NTLDEC+INRCHR_NTLADEC;
+INRPCAP_NTL_A=INRPCAP_NTLDEC+INRPCAP_NTLADEC;
+INRRSE1_NTL_A=INRRSE1_NTLDEC+INRRSE1_NTLADEC;
+INRRSE2_NTL_A=INRRSE2_NTLDEC+INRRSE2_NTLADEC;
+INRRSE3_NTL_A=INRRSE3_NTLDEC+INRRSE3_NTLADEC;
+INRRSE4_NTL_A=INRRSE4_NTLDEC+INRRSE4_NTLADEC;
+INRLOY_NTL_A=INRLOY_NTLDEC+INRLOY_NTLADEC;
+INRCVN_NTL_A=INRCVN_NTLDEC+INRCVN_NTLADEC;
+INRGLO_NTL_A=INRGLO_NTLDEC+INRGLO_NTLADEC;
+INRRSE5_NTL_A=INRRSE5_NTLDEC+INRRSE5_NTLADEC;
+INRIR_NTL_1_A= INRIR_NTLDEC_1+INRIR_NTLADEC_1;
+INRCSG_NTL_1_A=INRCSG_NTLDEC_1+INRCSG_NTLADEC_1;
+INRCRDS_NTL_1_A=INRCRDS_NTLDEC_1+INRCRDS_NTLADEC_1;
+INRPRS_NTL_1_A=INRPRS_NTLDEC_1+INRPS_NTLADEC_1;
+INRCDIS_NTL_1_A=INRCDIS_NTLDEC_1+INRCDIS_NTLADEC_1;
+INRTAXA_NTL_1_A=INRTAXA_NTLDEC_1+INRTAXA_NTLADEC_1;
+INRCHR_NTL_1_A=INRCHR_NTLDEC_1+INRCHR_NTLADEC_1;
+INRPCAP_NTL_1_A=INRPCAP_NTLDEC_1+INRPCAP_NTLADEC_1;
+INRRSE1_NTL_1_A=INRRSE1_NTLDEC_1+INRRSE1_NTLADEC_1;
+INRRSE2_NTL_1_A=INRRSE2_NTLDEC_1+INRRSE2_NTLADEC_1;
+INRRSE3_NTL_1_A=INRRSE3_NTLDEC_1+INRRSE3_NTLADEC_1;
+INRRSE4_NTL_1_A=INRRSE4_NTLDEC_1+INRRSE4_NTLADEC_1;
+INRLOY_NTL_1_A=INRLOY_NTLDEC_1+INRLOY_NTLADEC_1;
+INRCVN_NTL_1_A=INRCVN_NTLDEC_1+INRCVN_NTLADEC_1;
+INRGLO_NTL_1_A=INRGLO_NTLDEC_1+INRGLO_NTLADEC_1;
+INRRSE5_NTL_1_A=INRRSE5_NTLDEC_1+INRRSE5_NTLADEC_1;
+
+INRIR_TL_1_A=INRIR_TLADEC_12+max(0,INRIR_TL_1_AD-arr(DO_INR_IR*INRIR_TL_1_AD/(INRIR_TL_1_AD+INRIR_TL_AD)));
+INRCSG_TL_1_A=INRCSG_TLADEC_12+max(0,INRCSG_TL_1_AD-arr(DO_INR_CSG*INRCSG_TL_1_AD/(INRCSG_TL_AD+INRCSG_TL_1_AD)));
+INRPRS_TL_1_A=INRPRS_TLADEC_12+max(0,INRPRS_TL_1_AD-arr(DO_INR_PS*INRPRS_TL_1_AD/(INRPRS_TL_AD+INRPRS_TL_1_AD)));
+INRCRDS_TL_1_A=INRCRDS_TLADEC_12+max(0,INRCRDS_TL_1_AD-arr(DO_INR_CRDS*INRCRDS_TL_1_AD/(INRCRDS_TL_AD+INRCRDS_TL_1_AD)));
+INRCDIS_TL_1_A=INRCDIS_TLADEC_12+max(0,INRCDIS_TL_1_AD-arr(DO_INR_CDIS*INRCDIS_TL_1_AD/(INRCDIS_TL_AD+INRCDIS_TL_1_AD)));
+INRTAXA_TL_1_A=INRTAXA_TLADEC_12+max(0,INRTAXA_TL_1_AD -arr(DO_INR_TAXAGA*INRTAXA_TL_1_AD/(INRTAXA_TL_AD+INRTAXA_TL_1_AD)));
+INRCHR_TL_1_A=INRCHR_TLADEC_12+max(0,INRCHR_TL_1_AD -arr(DO_INR_CHR*INRCHR_TL_1_AD/(INRCHR_TL_AD+INRCHR_TL_1_AD)));
+INRPCAP_TL_1_A=INRPCAP_TLADEC_12+max(0,INRPCAP_TL_1_AD -arr(DO_INR_PCAP*INRPCAP_TL_1_AD/(INRPCAP_TL_AD+INRPCAP_TL_1_AD)));
+INRRSE1_TL_1_A=INRRSE1_TLADEC_12+max(0,INRRSE1_TL_1_AD -arr(DO_INR_RSE1*INRRSE1_TL_1_AD/(INRRSE1_TL_AD+INRRSE1_TL_1_AD)));
+INRRSE2_TL_1_A=INRRSE2_TLADEC_12+max(0,INRRSE2_TL_1_AD -arr(DO_INR_RSE2*INRRSE2_TL_1_AD/(INRRSE2_TL_AD+INRRSE2_TL_1_AD)));
+INRRSE3_TL_1_A=INRRSE3_TLADEC_12+max(0,INRRSE3_TL_1_AD -arr(DO_INR_RSE3*INRRSE3_TL_1_AD/(INRRSE3_TL_AD+INRRSE3_TL_1_AD)));
+INRRSE4_TL_1_A=INRRSE4_TLADEC_12+max(0,INRRSE4_TL_1_AD -arr(DO_INR_RSE4*INRRSE4_TL_1_AD/(INRRSE4_TL_AD+INRRSE4_TL_1_AD)));
+INRLOY_TL_1_A=INRLOY_TLADEC_12+max(0,INRLOY_TL_1_AD -arr(DO_INR_LOY*INRLOY_TL_1_AD/(INRLOY_TL_AD+INRLOY_TL_1_AD)));
+INRCVN_TL_1_A=INRCVN_TLADEC_12+max(0,INRCVN_TL_1_AD -arr(DO_INR_CVN*INRCVN_TL_1_AD/(INRCVN_TL_AD+INRCVN_TL_1_AD)));
+INRGLO_TL_1_A=INRGLO_TLADEC_12+max(0,INRGLO_TL_1_AD -arr(DO_INR_GLO*INRGLO_TL_1_AD/(INRGLO_TL_AD+INRGLO_TL_1_AD)));
+INRRSE5_TL_1_A=INRRSE5_TLADEC_12+max(0,INRRSE5_TL_1_AD -arr(DO_INR_RSE5*INRRSE5_TL_1_AD/(INRRSE5_TL_AD+INRRSE5_TL_1_AD)));
+
+INRIR_TL_A=INRIR_TLADEC+max(0,INRIR_TL_AD-arr(DO_INR_IR*INRIR_TL_AD/(INRIR_TL_AD+INRIR_TL_1_AD)));
+INRCSG_TL_A=INRCSG_TLADEC+max(0,INRCSG_TL_AD -arr(DO_INR_CSG*INRCSG_TL_AD/(INRCSG_TL_AD+INRCSG_TL_1_AD)));
+INRPRS_TL_A=INRPRS_TLADEC+max(0,INRPRS_TL_AD -arr(DO_INR_PS*INRPRS_TL_AD/(INRPRS_TL_AD+INRPRS_TL_1_AD)));
+INRCRDS_TL_A=INRCRDS_TLADEC+max(0,INRCRDS_TL_AD -arr(DO_INR_CRDS*INRCRDS_TL_AD/(INRCRDS_TL_AD+INRCRDS_TL_1_AD)));
+INRCDIS_TL_A=INRCDIS_TLADEC+max(0,INRCDIS_TL_AD -arr(DO_INR_CDIS*INRCDIS_TL_AD/(INRCDIS_TL_AD+INRCDIS_TL_1_AD)));
+INRTAXA_TL_A=INRTAXA_TLADEC+max(0,INRTAXA_TL_AD-arr(DO_INR_TAXAGA*INRTAXA_TL_AD/(INRTAXA_TL_AD+INRTAXA_TL_1_AD)));
+INRCHR_TL_A=INRCHR_TLADEC+max(0,INRCHR_TL_AD-arr(DO_INR_CHR*INRCHR_TL_AD/(INRCHR_TL_AD+INRCHR_TL_1_AD)));
+INRPCAP_TL_A=INRPCAP_TLADEC+max(0,INRPCAP_TL_AD-arr(DO_INR_PCAP*INRPCAP_TL_AD/(INRPCAP_TL_AD+INRPCAP_TL_1_AD)));
+INRRSE1_TL_A=INRRSE1_TLADEC+max(0,INRRSE1_TL_AD-arr(DO_INR_RSE1*INRRSE1_TL_AD/(INRRSE1_TL_AD+INRRSE1_TL_1_AD)));
+INRRSE2_TL_A=INRRSE2_TLADEC+max(0,INRRSE2_TL_AD-arr(DO_INR_RSE2*INRRSE2_TL_AD/(INRRSE2_TL_AD+INRRSE2_TL_1_AD)));
+INRRSE3_TL_A=INRRSE3_TLADEC+max(0,INRRSE3_TL_AD-arr(DO_INR_RSE3*INRRSE3_TL_AD/(INRRSE3_TL_AD+INRRSE3_TL_1_AD)));
+INRRSE4_TL_A=INRRSE4_TLADEC+max(0,INRRSE4_TL_AD-arr(DO_INR_RSE4*INRRSE4_TL_AD/(INRRSE4_TL_AD+INRRSE4_TL_1_AD)));
+INRLOY_TL_A=INRLOY_TLADEC+max(0,INRLOY_TL_AD-arr(DO_INR_LOY*INRLOY_TL_AD/(INRLOY_TL_AD+INRLOY_TL_1_AD)));
+INRCVN_TL_A=INRCVN_TLADEC+max(0,INRCVN_TL_AD-arr(DO_INR_CVN*INRCVN_TL_AD/(INRCVN_TL_AD+INRCVN_TL_1_AD)));
+INRGLO_TL_A=INRGLO_TLADEC+max(0,INRGLO_TL_AD-arr(DO_INR_GLO*INRGLO_TL_AD/(INRGLO_TL_AD+INRGLO_TL_1_AD)));
+INRRSE5_TL_A=INRRSE5_TLADEC+max(0,INRRSE5_TL_AD-arr(DO_INR_RSE5*INRRSE5_TL_AD/(INRRSE5_TL_AD+INRRSE5_TL_1_AD)));
+TL_IR_A=TL_IR;
+TL_CS_A=TL_CS;
+TL_RD_A=TL_RD;
+TL_PS_A=TL_PS;
+TL_CDIS_A=TL_CDIS;
+TL_TAXAGA_A=TL_TAXAGA;
+TL_CHR_A=TL_CHR;
+TL_CAP_A=TL_CAP;
+TL_RSE1_A=TL_RSE1;
+TL_RSE2_A=TL_RSE2;
+TL_RSE3_A=TL_RSE3;
+TL_RSE4_A=TL_RSE4;
+TL_LOY_A=TL_LOY;
+TL_CVN_A=TL_CVN;
+TL_GLO_A=TL_GLO;
+TL_RSE5_A=TL_RSE5;
+
+INRIR_RETDEF_A = INRIR_RETDEF;
+INRCSG_RETDEF_A = INRCSG_RETDEF;
+INRCRDS_RETDEF_A = INRCRDS_RETDEF;
+INRPRS_RETDEF_A = INRPRS_RETDEF;
+INRCDIS_RETDEF_A = INRCDIS_RETDEF;
+INRTAXA_RETDEF_A = INRTAXA_RETDEF;
+INRCHR_RETDEF_A = INRCHR_RETDEF;
+INRPCAP_RETDEF_A = INRPCAP_RETDEF;
+INRRSE1_RETDEF_A = INRRSE1_RETDEF;
+INRRSE2_RETDEF_A = INRRSE2_RETDEF;
+INRRSE3_RETDEF_A = INRRSE3_RETDEF;
+INRRSE4_RETDEF_A = INRRSE4_RETDEF;
+INRLOY_RETDEF_A = INRLOY_RETDEF;
+INRCVN_RETDEF_A = INRCVN_RETDEF;
+INRGLO_RETDEF_A = INRGLO_RETDEF;
+INRRSE5_RETDEF_A = INRRSE5_RETDEF;
+
+
+INR_IR_TARDIF_A=INR_IR_TARDIF;
+INR_CSG_TARDIF_A=INR_CSG_TARDIF;
+INR_CRDS_TARDIF_A=INR_CRDS_TARDIF;
+INR_CDIS_TARDIF_A=INR_CDIS_TARDIF;
+INR_PS_TARDIF_A=INR_PS_TARDIF;
+INR_TAXA_TARDIF_A=INR_TAXAGA_TARDIF;
+INR_CHR_TARDIF_A=INR_CHR_TARDIF;
+INR_PCAP_TARDIF_A=INR_PCAP_TARDIF;
+INR_RSE1_TARDIF_A=INR_RSE1_TARDIF;
+INR_RSE2_TARDIF_A=INR_RSE2_TARDIF;
+INR_RSE3_TARDIF_A=INR_RSE3_TARDIF;
+INR_RSE4_TARDIF_A=INR_RSE4_TARDIF;
+INR_LOY_TARDIF_A=INR_LOY_TARDIF;
+INR_CVN_TARDIF_A=INR_CVN_TARDIF;
+INR_GLO_TARDIF_A=INR_GLO_TARDIF;
+INR_RSE5_TARDIF_A=INR_RSE5_TARDIF;
+
+INCIR_NET_A=INCIR_NET;
+INCCS_NET_A=INCCS_NET;
+INCPS_NET_A=INCPS_NET;
+INCCDIS_NET_A=INCCDIS_NET;
+INCRD_NET_A=INCRD_NET;
+INCTAXA_NET_A=INCTAXA_NET;
+INCCHR_NET_A=INCCHR_NET;
+INCPCAP_NET_A=INCPCAP_NET;
+INCRSE1_NET_A=INCRSE1_NET;
+INCRSE2_NET_A=INCRSE2_NET;
+INCRSE3_NET_A=INCRSE3_NET;
+INCRSE4_NET_A=INCRSE4_NET;
+INCLOY_NET_A=INCLOY_NET;
+INCCVN_NET_A=INCCVN_NET;
+INCGLO_NET_A=INCGLOA_NET;
+INCRSE5_NET_A=INCRSE5_NET;
+
+TXINR_A=TXINR;
+TXINRRED_A=TXINRRED;
+TXINRREDISF_A=TXINRREDISF;
+TXINR_PA_A = TXINR_PA;
+TXINRISF_PA_A = TXINRISF_PA;
+TINR_A=TINR;
+TXINRISF_A=TXINRISF;
+RETXISF_A=RETXISF;
+TINR_1_A=TINR_1;
+NBREMOISCS2_A=NBREMOISCS2;
+NBREMOISCS222_A=NBREMOISCS222;
+NBREMOIS2_A=NBREMOIS2;
+NBREMOIS222_A=NBREMOIS222;
+NBREMOIS2ISF_A=NBREMOIS2ISF;
+NBREMOIS222ISF_A=NBREMOIS222ISF;
+INDACOINR_A=present(ACODELAISINR);
+IND_PASSAGEISF_A = IND_PASSAGEISF;
+IND_PASSR9901ISF_A = IND_PASSR9901ISF;
+PISF_A=PISF;
+ISFNET_A = ISFNET;
+ISF4BASE_A = ISF4BASE;
+ISF_R9901_A = ISF_R9901;
+ISF_R99R_A = ISF_R99R+ISF_PA*null(1-IND_PASSAGEISF);
+INRISF_R99R_A = INRISF_R99R+INRISF_R99RA;
+INRISF_R9901_A = INRISF_R9901+INRISF_R9901A;
+ISF_REF_A = max(ISF4BASE,ISF_P+ISF_PA)*positif(DO_INR_ISF2)
+             + ISF_REF * (1-positif(INDFLAGCISF)) + ISF_R * positif(INDFLAGCISF);
+ISF_PA_A = ISF_PA;
+DO_INR_ISF_A = DO_INR_ISF+ DO_INR_ISFC;
+DO_ISF_A = DO_ISF;
+INRISF_NTL_A=INRISF_NTLDEC+INRISF_NTLADEC;
+INRISF_RETDEF_A = INRISF_RETDEF;
+INR_ISF_TARDIF_A=INR_ISF_TARDIF;
+INCISF_NET_A=INCISF_NET;
+
diff --git a/sources2013m_3_8/chap-ctl.m b/sources2013m_3_8/chap-ctl.m
new file mode 100644
index 0000000000000000000000000000000000000000..a463841c68cc531736f5516a01ed2bc59363a01f
--- /dev/null
+++ b/sources2013m_3_8/chap-ctl.m
@@ -0,0 +1,99 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle corrective base_tl_init 1202:
+application :  iliad ;
+
+
+TL_MF = IND_TL_MF;
+RNI_INIT = RNI * (1 - positif(TEFFP)) * (1 - positif(IPTEFN + RMOND)) ;
+EFF_INIT = TEFFP ;
+PVQ_INIT = TTPVQ ;
+PV_INIT  = BPTP3 + BPTP2 + BPTP4 + BPTP40 + BPTP18 + BPTPD + BPTPG + BPTP19 + BPTP24 ;
+RI_INIT  = (REDTL + CIMPTL) * (1-V_CNR) ;
+CRDS_INIT = BCSG ;
+BRDS_INIT = BRDS ;
+BPRS_INIT = BPRS ;
+TAXAGA_INIT = BASSURV + BASSURC ;
+PCAP_INIT = BPCAPTAXV + BPCAPTAXC ;
+LOY_INIT = LOYELEV ;
+CHR_INIT  = REVKIREHR + (RFRH2 + RFRH1) * positif(HRCONDTHEO) ;
+CVN_INIT = CVNSALAV + CVNSALAC + GLDGRATV + GLDGRATC ;
+CDIS_INIT = GSALV + GSALC ;
+GLO_INIT = GLDGRATV + GLDGRATC ;
+RSE1_INIT = BRSE1 ;
+RSE2_INIT = BRSE2 ;
+RSE3_INIT = BRSE3 ;
+RSE4_INIT = BRSE4 ;
+RSE5_INIT = BRSE5 ;
+
+regle corrective  base_tl 1204:
+application :  iliad ;
+
+
+RNI_TL = RNI * (1 - positif(TEFFP)) * (1 - positif(IPTEFN + RMOND)) ;
+EFF_TL = TEFFP ;
+PVQ_TL = TTPVQ ;
+PV_TL  = BPTP3 + BPTP2 + BPTP4 + BPTP40 + BPTP18 + BPTPD + BPTPG + BPTP19 + BPTP24 ;
+RI_TL  = (REDTL + CIMPTL) * (1 - V_CNR) ;
+RDS_TL  = BCSG ;
+BRDS_TL = BRDS ;
+BPRS_TL = BPRS ;
+TAXAGA_TL = BASSURV + BASSURC ;
+PCAP_TL = BPCAPTAXV + BPCAPTAXC ;
+LOYA_TL = LOYELEV ;
+CHR_TL  = REVKIREHR + (RFRH2 + RFRH1) * positif(HRCONDTHEO) ;
+CVNA_TL = CVNSALAV + CVNSALAC + GLDGRATV + GLDGRATC ;
+CDISA_TL = GSALV + GSALC;
+GLOA_TL = GLDGRATV + GLDGRATC ;
+RSE1A_TL = BRSE1 ;
+RSE2A_TL = BRSE2 ;
+RSE3A_TL = BRSE3 ;
+RSE4A_TL = BRSE4 ;
+RSE5A_TL = BRSE5 ;
+
+regle corrective base_tl_rect 1206:
+application :  iliad ;
+
+
+RNI_RECT = RNI * (1 - positif(TEFFP)) * (1 - positif(IPTEFN + RMOND)) ;
+EFF_RECT = TEFFP ;
+PVQ_RECT = TTPVQ ;
+PV_RECT  = BPTP3 + BPTP2 + BPTP4 + BPTP40 + BPTP18 + BPTPD + BPTPG + BPTP19 + BPTP24 ;
+RI_RECT  = RI_INIT - (REDTL + CIMPTL) * (1-V_CNR) ;
+CRDS_RECT = BCSG ;
+BRDS_RECT = BRDS ;
+BPRS_RECT = BPRS ;
+TAXAGA_RECT = BASSURV + BASSURC ;
+PCAP_RECT = BPCAPTAXV + BPCAPTAXC ;
+LOY_RECT = LOYELEV ;
+CHR_RECT  = REVKIREHR + (RFRH2 + RFRH1) * positif(HRCONDTHEO) ;
+CVN_RECT = CVNSALAV + CVNSALAC + GLDGRATV + GLDGRATC ;
+CDIS_RECT = GSALV + GSALC ;
+GLO_RECT = GLDGRATV + GLDGRATC ;
+RSE1_RECT = BRSE1 ;
+RSE2_RECT = BRSE2 ;
+RSE3_RECT = BRSE3 ;
+RSE4_RECT = BRSE4 ;
+RSE5_RECT = BRSE5 ;
+
+CSG_RECT = CSG ;
+PS_RECT  = PRS ;
+
diff --git a/sources2013m_3_8/chap-ini.m b/sources2013m_3_8/chap-ini.m
new file mode 100644
index 0000000000000000000000000000000000000000..b23521a79a8154115cb4e771938aa510e74bbd21
--- /dev/null
+++ b/sources2013m_3_8/chap-ini.m
@@ -0,0 +1,529 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle irisf 1:
+application : bareme,batch,iliad;
+BIDON=1;
+
+regle irisf 1000140:
+application :  iliad;
+APPLI_GP      = 0 ;
+APPLI_ILIAD   = 1 ;
+APPLI_BATCH   = 0 ;
+regle irisf 1000150:
+application :  batch;
+APPLI_GP      = 0 ;
+APPLI_ILIAD   = 0 ;
+APPLI_BATCH   = 1 ;
+regle 1000717:
+application : batch, iliad ;
+SOMMEA71701 = positif(CELLIERJA) + positif(CELLIERJB) + positif(CELLIERJD) + positif(CELLIERJE)
+	     + positif(CELLIERJF) + positif(CELLIERJG) + positif(CELLIERJH) + positif(CELLIERJJ)
+	     + positif(CELLIERJK) + positif(CELLIERJL) + positif(CELLIERJM) + positif(CELLIERJN)
+	     + positif(CELLIERJO) + positif(CELLIERJP) + positif(CELLIERJQ) + positif(CELLIERJR) 
+	     + 0 ;
+
+SOMMEA71702 = positif(CELLIERNA) + positif(CELLIERNB) + positif(CELLIERNC) + positif(CELLIERND)
+             + positif(CELLIERNE) + positif(CELLIERNF) + positif(CELLIERNG) + positif(CELLIERNH) 
+	     + positif(CELLIERNI) + positif(CELLIERNJ) + positif(CELLIERNK) + positif(CELLIERNL)
+	     + positif(CELLIERNM) + positif(CELLIERNN) + positif(CELLIERNO) + positif(CELLIERNP) 
+	     + positif(CELLIERNQ) + positif(CELLIERNR) + positif(CELLIERNS) + positif(CELLIERNT) 
+	     + 0 ;
+
+regle 1000718:
+application : batch, iliad ;
+
+SOMMEA718 = (
+
+   present( BAFV ) + (1 - null( V_FORVA+0 ))
+ + present( BAFORESTV ) + present( BAFPVV ) + present( BAF1AV ) 
+ + present( BAFC ) + (1 - null( V_FORCA+0 ))
+ + present( BAFORESTC ) + present( BAFPVC ) + present( BAF1AC ) 
+ + present( BAFP ) + (1 - null( V_FORPA+0 ))
+ + present( BAFORESTP ) + present( BAFPVP ) + present( BAF1AP ) 
+ + present( BACREV ) + present( 4BACREV ) + present( BA1AV ) + present( BACDEV ) 
+ + present( BACREC ) + present( 4BACREC ) + present( BA1AC ) + present( BACDEC ) 
+ + present( BACREP ) + present( 4BACREP ) + present( BA1AP ) + present( BACDEP ) 
+ + present( BAHREV ) + present( 4BAHREV ) + present( BAHDEV ) 
+ + present( BAHREC ) + present( 4BAHREC ) + present( BAHDEC ) 
+ + present( BAHREP ) + present( 4BAHREP ) + present( BAHDEP ) 
+
+ + present( MIBVENV ) + present( MIBPRESV ) + present( MIBPVV ) + present( MIB1AV ) + present( MIBDEV ) + present( BICPMVCTV )
+ + present( MIBVENC ) + present( MIBPRESC ) + present( MIBPVC ) + present( MIB1AC ) + present( MIBDEC ) + present( BICPMVCTC )
+ + present( MIBVENP ) + present( MIBPRESP ) + present( MIBPVP ) + present( MIB1AP ) + present( MIBDEP ) + present( BICPMVCTP )
+ + present( BICNOV ) + present( LOCPROCGAV ) + present( BI1AV ) + present( BICDNV ) + present( LOCDEFPROCGAV )
+ + present( BICNOC ) + present( LOCPROCGAC ) + present( BI1AC ) + present( BICDNC ) + present( LOCDEFPROCGAC )
+ + present( BICNOP ) + present( LOCPROCGAP ) + present( BI1AP ) + present( BICDNP ) + present( LOCDEFPROCGAP )
+ + present( BIHNOV ) + present( LOCPROV ) + present( BIHDNV ) + present( LOCDEFPROV )
+ + present( BIHNOC ) + present( LOCPROC ) + present( BIHDNC ) + present( LOCDEFPROC )
+ + present( BIHNOP ) + present( LOCPROP ) + present( BIHDNP ) + present( LOCDEFPROP )
+
+ + present( MIBMEUV ) + present( MIBGITEV ) + present( LOCGITV ) + present( MIBNPVENV ) + present( MIBNPPRESV ) 
+ + present( MIBNPPVV ) + present( MIBNP1AV ) + present( MIBNPDEV ) 
+ + present( MIBMEUC ) + present( MIBGITEC ) + present( LOCGITC ) + present( MIBNPVENC ) + present( MIBNPPRESC ) 
+ + present( MIBNPPVC ) + present( MIBNP1AC ) + present( MIBNPDEC ) 
+ + present( MIBMEUP ) + present( MIBGITEP ) + present( LOCGITP ) + present( MIBNPVENP ) + present( MIBNPPRESP ) 
+ + present( MIBNPPVP ) + present( MIBNP1AP ) + present( MIBNPDEP ) 
+ + present( MIBNPDCT ) 
+ + present( BICREV ) + present( LOCNPCGAV ) + present( LOCGITCV ) + present( BI2AV ) + present( BICDEV ) + present( LOCDEFNPCGAV )
+ + present( BICREC ) + present( LOCNPCGAC ) + present( LOCGITCC ) + present( BI2AC ) + present( BICDEC ) + present( LOCDEFNPCGAC )
+ + present( BICREP ) + present( LOCNPCGAPAC ) + present( LOCGITCP ) + present( BI2AP ) + present( BICDEP ) + present( LOCDEFNPCGAPAC )
+ + present( BICHREV ) + present( LOCNPV ) + present( LOCGITHCV ) + present( BICHDEV ) + present( LOCDEFNPV )
+ + present( BICHREC ) + present( LOCNPC ) + present( LOCGITHCC ) + present( BICHDEC ) + present( LOCDEFNPC )
+ + present( BICHREP ) + present( LOCNPPAC ) + present( LOCGITHCP ) + present( BICHDEP ) + present( LOCDEFNPPAC )
+
+ + present( BNCPROV ) + present( BNCPROPVV ) + present( BNCPRO1AV ) + present( BNCPRODEV ) + present( BNCPMVCTV )
+ + present( BNCPROC ) + present( BNCPROPVC ) + present( BNCPRO1AC ) + present( BNCPRODEC ) + present( BNCPMVCTC )
+ + present( BNCPROP ) + present( BNCPROPVP ) + present( BNCPRO1AP ) + present( BNCPRODEP ) + present( BNCPMVCTP )
+ + present( BNCREV ) + present( BN1AV ) + present( BNCDEV ) 
+ + present( BNCREC ) + present( BN1AC ) + present( BNCDEC ) 
+ + present( BNCREP ) + present( BN1AP ) + present( BNCDEP ) 
+ + present( BNHREV ) + present( BNHDEV ) 
+ + present( BNHREC ) + present( BNHDEC ) 
+ + present( BNHREP ) + present( BNHDEP ) 
+
+ + present( BNCNPV ) + present( BNCNPPVV ) + present( BNCNP1AV ) + present( BNCNPDEV ) 
+ + present( BNCNPC ) + present( BNCNPPVC ) + present( BNCNP1AC ) + present( BNCNPDEC ) 
+ + present( BNCNPP ) + present( BNCNPPVP ) + present( BNCNP1AP ) + present( BNCNPDEP ) 
+ + present( BNCNPDCT ) 
+ + present ( BNCAABV ) + present( ANOCEP ) + present( PVINVE ) 
+ + present( INVENTV ) + present ( BNCAADV ) + present( DNOCEP ) 
+ + present ( BNCAABC ) + present( ANOVEP ) + present( PVINCE ) 
+ + present( INVENTC ) + present ( BNCAADC ) + present( DNOCEPC )
+ + present ( BNCAABP ) + present( ANOPEP ) + present( PVINPE ) 
+ + present ( INVENTP ) + present ( BNCAADP ) + present( DNOCEPP )
+ + 0
+            ) ;
+
+regle 1000719:
+application : batch, iliad ;
+
+SOMMEA719 = (
+
+   present( BAEXV ) + present ( BACREV ) + present( 4BACREV ) + present ( BA1AV ) + present ( BACDEV ) 
+ + present( BAEXC ) + present ( BACREC ) + present( 4BACREC ) + present ( BA1AC ) + present ( BACDEC ) 
+ + present( BAEXP ) + present ( BACREP ) + present( 4BACREP ) + present ( BA1AP ) + present ( BACDEP ) 
+ + present( BAHEXV ) + present ( BAHREV ) + present( 4BAHREV ) + present ( BAHDEV ) 
+ + present( BAHEXC ) + present ( BAHREC ) + present( 4BAHREC ) + present ( BAHDEC ) 
+ + present( BAHEXP ) + present ( BAHREP ) + present( 4BAHREP ) + present ( BAHDEP ) 
+
+ + present( BICEXV ) + present ( BICNOV ) + present ( LOCPROCGAV )
+ + present ( BI1AV ) + present ( BICDNV ) + present ( LOCDEFPROCGAV )
+ + present( BICEXC ) + present ( BICNOC ) + present ( LOCPROCGAC )
+ + present ( BI1AC ) + present ( BICDNC ) + present ( LOCDEFPROCGAC )
+ + present( BICEXP ) + present ( BICNOP ) + present ( LOCPROCGAP )
+ + present ( BI1AP ) + present ( BICDNP ) + present ( LOCDEFPROCGAP )
+ + present( BIHEXV ) + present ( BIHNOV ) + present ( LOCPROV )
+ + present ( BIHDNV ) + present ( LOCDEFPROV )
+ + present( BIHEXC ) + present ( BIHNOC ) + present ( LOCPROC )
+ + present ( BIHDNC ) + present ( LOCDEFPROC )
+ + present( BIHEXP ) + present ( BIHNOP ) + present ( LOCPROP )
+ + present ( BIHDNP ) + present ( LOCDEFPROP )
+
+ + present( BICNPEXV ) + present ( BICREV ) + present( LOCNPCGAV )
+ + present ( BI2AV ) + present ( BICDEV ) + present( LOCDEFNPCGAV )
+ + present( BICNPEXC ) + present ( BICREC ) + present( LOCNPCGAC )
+ + present ( BI2AC ) + present ( BICDEC ) + present( LOCDEFNPCGAC )
+ + present( BICNPEXP ) + present ( BICREP ) + present( LOCNPCGAPAC )
+ + present ( BI2AP ) + present ( BICDEP ) + present( LOCDEFNPCGAPAC )
+ + present( BICNPHEXV ) + present ( BICHREV ) + present ( LOCNPV )
+ + present ( BICHDEV ) + present ( LOCDEFNPV )
+ + present( BICNPHEXC ) + present ( BICHREC ) + present ( LOCNPC )
+ + present ( BICHDEC ) + present ( LOCDEFNPC )
+ + present( BICNPHEXP ) + present ( BICHREP ) + present ( LOCNPPAC )
+ + present ( BICHDEP ) + present ( LOCDEFNPPAC )
+
+ + present( BNCEXV ) + present ( BNCREV ) + present ( BN1AV ) + present ( BNCDEV ) 
+ + present( BNCEXC ) + present ( BNCREC ) + present ( BN1AC ) + present ( BNCDEC ) 
+ + present( BNCEXP ) + present ( BNCREP ) + present ( BN1AP ) + present ( BNCDEP ) 
+ + present( BNHEXV ) + present ( BNHREV ) + present ( BNHDEV ) 
+ + present( BNHEXC ) + present ( BNHREC ) + present ( BNHDEC ) 
+ + present( BNHEXP ) + present ( BNHREP ) + present ( BNHDEP )
+ + present( XHONOAAV ) + present( XHONOV ) 
+ + present( XHONOAAC ) + present( XHONOC ) 
+ + present( XHONOAAP ) + present( XHONOP )
+
+ + present ( BNCNPREXAAV ) + present ( BNCAABV )   + present ( BNCAADV )  + present ( BNCNPREXV ) 
+ + present( ANOCEP ) + present( DNOCEP ) + present( PVINVE ) + present( INVENTV )
+ + present ( BNCNPREXAAC ) + present ( BNCAABC ) + present ( BNCAADC ) + present ( BNCNPREXC )
+ + present( ANOVEP ) + present( DNOCEPC ) + present( PVINCE ) + present( INVENTC )
+ + present ( BNCNPREXAAP ) + present ( BNCAABP ) + present ( BNCAADP ) + present ( BNCNPREXP )
+ + present( ANOPEP ) + present( DNOCEPP ) + present( PVINPE ) + present( INVENTP )
+
+ + 0
+        ) ;
+
+regle 1000530:
+application : batch, iliad;
+
+SOMMEA030 =     
+                somme(i=1..4: positif(TSHALLOi) + positif(ALLOi)
+		+ positif(CARTSPi) + positif(REMPLAPi)
+		+ positif(CARTSNBAPi) + positif(REMPLANBPi)
+		+ positif(HEURESUPPi)
+                + positif(PRBRi)
+		+ positif(CARPEPi) + positif(CARPENBAPi)
+                + positif(PALIi) + positif(FRNi) + positif(PPETPPi) + positif(PPENHPi)
+		+ positif(PENSALPi) + positif(PENSALNBPi)
+		)
+ + positif(RSAPAC1) + positif(RSAPAC2)
+ + positif(FEXP)  + positif(BAFP)  + positif(BAFORESTP) + positif(BAFPVP)  + positif(BAF1AP)
+ + positif(BAEXP)  + positif(BACREP) + positif(4BACREP)  
+ + positif(BA1AP)  + positif(BACDEP * (1 - positif(ART1731BIS) ))
+ + positif(BAHEXP)  + positif(BAHREP) + positif(4BAHREP) 
+ + positif(BAHDEP * (1 - positif(ART1731BIS) )) 
+ + positif(MIBEXP) + positif(MIBVENP) + positif(MIBPRESP)  + positif(MIBPVP)  + positif(MIB1AP)  + positif(MIBDEP)
+ + positif(BICPMVCTP) + positif(BICEXP) + positif(BICNOP) + positif(BI1AP)  
+ + positif(BICDNP * (1 - positif(ART1731BIS) )) 
+ + positif(BIHEXP) + positif(BIHNOP) + positif(BIHDNP * (1 - positif(ART1731BIS) ))  
+ + positif(MIBNPEXP)  + positif(MIBNPVENP)  + positif(MIBNPPRESP)  + positif(MIBNPPVP)  + positif(MIBNP1AP)  + positif(MIBNPDEP)
+ + positif(BICNPEXP)  + positif(BICREP) + positif(BI2AP)  + positif(min(BICDEP,BICDEP1731+0) * positif(ART1731BIS) + BICDEP * (1 - ART1731BIS))  
+ + positif(BICNPHEXP) + positif(BICHREP) + positif(min(BICHDEP,BICHDEP1731+0) * positif(ART1731BIS) + BICHDEP * (1 - ART1731BIS)) 
+ + positif(BNCPROEXP)  + positif(BNCPROP)  + positif(BNCPROPVP)  + positif(BNCPRO1AP)  + positif(BNCPRODEP) + positif(BNCPMVCTP)
+ + positif(BNCEXP)  + positif(BNCREP) + positif(BN1AP) 
+ + positif(BNCDEP * (1 - positif(ART1731BIS) ))
+ + positif(BNHEXP)  + positif(BNHREP)  + positif(BNHDEP * (1 - positif(ART1731BIS) )) + positif(BNCCRP)
+ + positif(BNCNPP)  + positif(BNCNPPVP)  + positif(BNCNP1AP)  + positif(BNCNPDEP)
+ + positif(ANOPEP) + positif(PVINPE) + positif(INVENTP) + positif(min(DNOCEPP,DNOCEPP1731+0) * positif(ART1731BIS) + DNOCEPP * (1 - ART1731BIS)) + positif(BNCCRFP)
+ + positif(BNCAABP) + positif(min(BNCAADP,BNCAADP1731+0) * positif(ART1731BIS) + BNCAADP * (1 - ART1731BIS))
+ + positif(RCSP) + positif(PPEACP) + positif(PPENJP)
+ + positif(BAPERPP) + positif(BIPERPP) 
+ + positif(PERPP) + positif(PERP_COTP) + positif(RACCOTP) + positif(PLAF_PERPP)
+ + somme(i=1..4: positif(PEBFi))
+ + positif( COTF1 ) + positif( COTF2 ) + positif( COTF3 ) + positif( COTF4 )
+ + positif (BNCNPREXAAP) + positif (BNCNPREXP)
+ + positif(AUTOBICVP) + positif(AUTOBICPP) 
+ + positif(AUTOBNCP) + positif(LOCPROCGAP) 
+ + positif(LOCDEFPROCGAP * (1 - positif(ART1731BIS) ))
+ + positif(LOCPROP) + positif(LOCDEFPROP * (1 - positif(ART1731BIS) )) 
+ + positif(LOCNPCGAPAC) + positif(LOCGITCP) + positif(LOCGITHCP) 
+ + positif(min(LOCDEFNPCGAPAC,LOCDEFNPCGAPAC1731+0) * positif(ART1731BIS) + LOCDEFNPCGAPAC * (1 - ART1731BIS))
+ + positif(LOCNPPAC) + positif(min(LOCDEFNPPAC,LOCDEFNPPAC1731+0) * positif(ART1731BIS) + LOCDEFNPPAC * (1 - ART1731BIS)) 
+ + positif(XHONOAAP) + positif(XHONOP) + positif(XSPENPP)
+ + positif(BANOCGAP) + positif(MIBMEUP) + positif(MIBGITEP) + positif(LOCGITP) 
+ + positif(SALEXT1) + positif(COD1CD) + positif(COD1CE) + positif(PPEXT1) + positif(COD1CH)
+ + positif(SALEXT2) + positif(COD1DD) + positif(COD1DE) + positif(PPEXT2) + positif(COD1DH)
+ + positif(SALEXT3) + positif(COD1ED) + positif(COD1EE) + positif(PPEXT3) + positif(COD1EH)
+ + positif(SALEXT4) + positif(COD1FD) + positif(COD1FE) + positif(PPEXT4) + positif(COD1FH)
+ + positif(RDSYPP)
+ + 0 ;
+
+regle 1000531:
+application : batch, iliad;
+
+SOMMEA031 = (
+
+   positif( TSHALLOC ) + positif( ALLOC ) + positif( HEURESUPC ) + positif( PRBRC ) 
+ + positif( PALIC ) + positif( GSALC ) + positif( TSASSUC ) + positif( XETRANC ) 
+ + positif( TSELUPPEC ) + positif( EXOCETC ) + positif( FRNC ) 
+ + positif( PPETPC ) + positif( PPENHC )  + positif( PCAPTAXC )
+ + positif( CARTSC ) + positif( PENSALC ) + positif( REMPLAC ) + positif( CARPEC ) 
+ + positif( GLDGRATC ) 
+ + positif( GLD1C ) + positif( GLD2C ) + positif( GLD3C ) 
+
+ + positif( BPV18C ) + positif( BPCOPTC ) + positif( BPV40C )
+ + positif( BPCOSAC ) + positif( CVNSALAC )
+
+ + positif( FEXC ) + positif( BAFC ) + positif( BAFORESTC ) + positif( BAFPVC ) + positif( BAF1AC ) 
+ + positif( BAEXC ) + positif( BACREC ) + positif( 4BACREC ) + positif( BA1AC ) 
+ + positif(BACDEC * (1 - positif(ART1731BIS) )) 
+ + positif( BAHEXC ) + positif( BAHREC ) + positif( 4BAHREC ) 
+ + positif (BAHDEC * (1 - positif(ART1731BIS) ))   + positif( BAPERPC ) + positif( BANOCGAC ) 
+ + positif( AUTOBICVC ) + positif( AUTOBICPC ) + positif( AUTOBNCC ) 
+ + positif( MIBEXC ) + positif( MIBVENC ) + positif( MIBPRESC ) + positif( MIBPVC ) 
+ + positif( MIB1AC ) + positif( MIBDEC ) + positif( BICPMVCTC )
+ + positif( BICEXC ) + positif( BICNOC ) + positif( LOCPROCGAC ) + positif( BI1AC ) 
+ + positif (BICDNC * (1 - positif(ART1731BIS) ))  
+ + positif (LOCDEFPROCGAC * (1 - positif(ART1731BIS) ))
+ + positif( BIHEXC ) + positif( BIHNOC ) + positif( LOCPROC ) + positif(BIHDNC * (1 - positif(ART1731BIS) ))  
+ + positif (LOCDEFPROC * (1 - positif(ART1731BIS) )) 
+ + positif( BIPERPC ) 
+ + positif( MIBNPEXC ) + positif( MIBNPVENC ) + positif( MIBNPPRESC ) + positif( MIBNPPVC ) + positif( MIBNP1AC ) + positif( MIBNPDEC ) 
+ + positif( BICNPEXC ) + positif( BICREC ) + positif( LOCNPCGAC ) + positif( BI2AC ) 
+ + positif (min(BICDEC,BICDEC1731+0) * positif(ART1731BIS) + BICDEC * (1 - ART1731BIS))
+ + positif (min(LOCDEFNPCGAC,LOCDEFNPCGAC1731+0) * positif(ART1731BIS) + LOCDEFNPCGAC * (1 - ART1731BIS))
+ + positif( MIBMEUC ) + positif( MIBGITEC ) + positif( LOCGITC ) + positif( LOCGITCC ) + positif( LOCGITHCC )
+ + positif( BICNPHEXC ) + positif( BICHREC ) + positif( LOCNPC ) 
+ + positif (min(BICHDEC,BICHDEC1731+0) * positif(ART1731BIS) + BICHDEC * (1 - ART1731BIS)) 
+ + positif (min(LOCDEFNPC,LOCDEFNPC1731+0) * positif(ART1731BIS) + LOCDEFNPC * (1 - ART1731BIS)) 
+ + positif( BNCPROEXC ) + positif( BNCPROC ) + positif( BNCPROPVC ) + positif( BNCPRO1AC ) + positif( BNCPRODEC ) + positif( BNCPMVCTC )
+ + positif( BNCEXC ) + positif( BNCREC ) + positif( BN1AC ) 
+ + positif (BNCDEC * (1 - positif(ART1731BIS) ))  
+ + positif( BNHEXC ) + positif( BNHREC ) + positif (BNHDEC * (1 - positif(ART1731BIS) )) + positif( BNCCRC ) + positif( CESSASSC )
+ + positif( XHONOAAC ) + positif( XHONOC ) + positif( XSPENPC )
+ + positif( BNCNPC ) + positif( BNCNPPVC ) + positif( BNCNP1AC ) + positif( BNCNPDEC ) 
+ + positif( BNCNPREXAAC ) + positif( BNCAABC ) + positif(min(BNCAADC,BNCAADC1731+0) * positif(ART1731BIS) + BNCAADC * (1 - ART1731BIS)) + positif( BNCNPREXC ) + positif( ANOVEP )
+ + positif( PVINCE ) + positif( INVENTC ) + positif (min(DNOCEPC,DNOCEPC1731+0) * positif(ART1731BIS) + DNOCEPC * (1 - ART1731BIS)) + positif( BNCCRFC )
+ + positif( RCSC ) + positif( PVSOCC ) + positif( PPEACC ) + positif( PPENJC ) 
+ + positif( PEBFC ) 
+ + positif( PERPC ) + positif( PERP_COTC ) + positif( RACCOTC ) + positif( PLAF_PERPC )
+ + positif( PERPPLAFCC ) + positif( PERPPLAFNUC1 ) + positif( PERPPLAFNUC2 ) + positif( PERPPLAFNUC3 )
+ + positif( ELURASC )
+ + positif(CODDBJ) + positif(CODEBJ)  
+ + positif(SALEXTC) + positif(COD1BD) + positif(COD1BE) + positif(PPEXTC) + positif(COD1BH)
+ + positif(RDSYCJ)
+
+ + 0 ) ;
+regle 1000804:
+application : iliad , batch;  
+
+
+SOMMEA804 = SOMMEANOEXP 
+	    + positif ( GLD1V ) + positif ( GLD2V ) + positif ( GLD3V ) 
+            + positif ( GLD1C ) + positif ( GLD2C ) + positif ( GLD3C ) 
+           ;
+
+SOMMEA805 = SOMMEANOEXP + positif(CODDAJ) + positif(CODEAJ) + positif(CODDBJ) + positif(CODEBJ) ;
+
+regle 1000993:
+application : iliad ;  
+
+
+
+INDAUTREQUE9YA = positif (positif( 4BACREC ) + positif( 4BACREP ) + positif( 4BACREV )
+ + positif( 4BAHREC ) + positif( 4BAHREP ) + positif( 4BAHREV )
+ + positif( ABDETMOINS ) + positif( ABDETPLUS ) + positif( ABIMPMV )
+ + positif( ABIMPPV ) + positif( ABPVNOSURSIS ) 
+ + positif( ACODELAISINR ) + positif( ALLECS ) + positif( ALLO1 )
+ + positif( ALLO2 ) + positif( ALLO3 ) + positif( ALLO4 )
+ + positif( ALLOC ) + positif( ALLOV ) + positif( ANOCEP )
+ + positif( ANOPEP ) + positif( ANOVEP ) + positif( ASCAPA )
+ + positif( AUTOBICPC ) + positif( AUTOBICPP ) + positif( AUTOBICPV )
+ + positif( AUTOBICVC ) + positif( AUTOBICVP ) + positif( AUTOBICVV )
+ + positif( AUTOBNCC ) + positif( AUTOBNCP ) + positif( AUTOBNCV )
+ + positif( AUTOVERSLIB ) + positif( AUTOVERSSUP ) + positif( AVETRAN )
+ + positif( BA1AC ) + positif( BA1AP ) + positif( BA1AV )
+ + positif (BACDEC * (1 - positif(ART1731BIS) )) 
+ + positif (BACDEP * (1 - positif(ART1731BIS) )) 
+ + positif (BACDEV * (1 - positif(ART1731BIS) ))
+ + positif( BACREC ) + positif( BACREP ) + positif( BACREV )
+ + positif( BAEXC ) + positif( BAEXP ) + positif( BAEXV )
+ + positif( BAF1AC ) + positif( BAF1AP ) + positif( BAF1AV )
+ + positif( BAFC ) + positif( BAFORESTC ) + positif( BAFORESTP )
+ + positif( BAFORESTV ) + positif( BAFP ) + positif( BAFPVC )
+ + positif( BAFPVP ) + positif( BAFPVV ) + positif( BAFV )
+ + positif (BAHDEC * (1 - positif(ART1731BIS) )) 
+ + positif (BAHDEP * (1 - positif(ART1731BIS) )) 
+ + positif (BAHDEV * (1 - positif(ART1731BIS) ))
+ + positif( BAHEXC ) + positif( BAHEXP ) + positif( BAHEXV )
+ + positif( BAHREC ) + positif( BAHREP ) + positif( BAHREV )
+ + positif( BAILOC98 ) + positif( BANOCGAC ) + positif( BANOCGAP )
+ + positif( BANOCGAV ) + positif( BAPERPC ) + positif( BAPERPP )
+ + positif( BAPERPV ) + positif( BASRET ) + positif( BI1AC )
+ + positif( BI1AP ) + positif( BI1AV ) + positif( BI2AC )
+ + positif( BI2AP ) + positif( BI2AV ) + positif(min(BICDEC,BICDEC1731+0) * positif(ART1731BIS) + BICDEC * (1 - ART1731BIS)) 
+ + positif (min(BICDEP,BICDEP1731+0) * positif(ART1731BIS) + BICDEP * (1 - ART1731BIS)) 
+ + positif (min(BICDEV,BICDEV1731+0) * positif(ART1731BIS) + BICDEV * (1 - ART1731BIS)) 
+ + positif (BICDNC * (1 - positif(ART1731BIS) ))
+ + positif (BICDNP * (1 - positif(ART1731BIS) )) 
+ + positif (BICDNV * (1 - positif(ART1731BIS) ))
+ + positif( BICEXC )
+ + positif( BICEXP ) + positif( BICEXV ) 
+ + positif (min(BICHDEC,BICHDEC1731+0) * positif(ART1731BIS) + BICHDEC * (1 - ART1731BIS))
+ + positif (min(BICHDEP,BICHDEP1731+0) * positif(ART1731BIS) + BICHDEP * (1 - ART1731BIS)) 
+ + positif (min(BICHDEV,BICHDEV1731+0) * positif(ART1731BIS) + BICHDEV * (1 - ART1731BIS))
+ + positif( BICHREC )
+ + positif( BICHREP ) + positif( BICHREV ) + positif( BICNOC )
+ + positif( BICNOP ) + positif( BICNOV ) + positif( BICNPEXC )
+ + positif( BICNPEXP ) + positif( BICNPEXV ) + positif( BICNPHEXC )
+ + positif( BICNPHEXP ) + positif( BICNPHEXV ) + positif( BICPMVCTC )
+ + positif( BICPMVCTP ) + positif( BICPMVCTV ) + positif( BICREC )
+ + positif( BICREP ) + positif( BICREV ) + positif( BIGREST )
+ + positif (BIHDNC * (1 - positif(ART1731BIS) )) 
+ + positif (BIHDNP * (1 - positif(ART1731BIS) )) 
+ + positif (BIHDNV * (1 - positif(ART1731BIS) ))
+ + positif( BIHEXC ) + positif( BIHEXP ) + positif( BIHEXV )
+ + positif( BIHNOC ) + positif( BIHNOP ) + positif( BIHNOV )
+ + positif( BIPERPC ) + positif( BIPERPP ) + positif( BIPERPV )
+ + positif( BN1AC ) + positif( BN1AP ) + positif( BN1AV )
+ + positif( BNCAABC ) + positif( BNCAABP ) + positif( BNCAABV )
+ + positif (min(BNCAADC,BNCAADC1731+0) * positif(ART1731BIS) + BNCAADC * (1 - ART1731BIS))
+ + positif (min(BNCAADP,BNCAADP1731+0) * positif(ART1731BIS) + BNCAADP * (1 - ART1731BIS)) 
+ + positif (min(BNCAADV,BNCAADV1731+0) * positif(ART1731BIS) + BNCAADV * (1 - ART1731BIS))
+ + positif( BNCCRC ) + positif( BNCCRFC ) + positif( BNCCRFP )
+ + positif( BNCCRFV ) + positif( BNCCRP ) + positif( BNCCRV )
+ + positif (BNCDEC * (1 - positif(ART1731BIS) ))
+ + positif (BNCDEP * (1 - positif(ART1731BIS) )) 
+ + positif (BNCDEV * (1 - positif(ART1731BIS) ))
+ + positif( BNCEXC ) + positif( BNCEXP ) + positif( BNCEXV )
+
+ + positif( BNCNP1AC ) + positif( BNCNP1AP ) + positif( BNCNP1AV )
+ + positif( BNCNPC ) + positif( BNCNPDCT ) + positif( BNCNPDEC )
+ + positif( BNCNPDEP ) + positif( BNCNPDEV ) + positif( BNCNPP )
+ + positif( BNCNPPVC ) + positif( BNCNPPVP ) + positif( BNCNPPVV )
+ + positif( BNCNPREXAAC ) + positif( BNCNPREXAAP ) + positif( BNCNPREXAAV )
+ + positif( BNCNPREXC ) + positif( BNCNPREXP ) + positif( BNCNPREXV )
+ + positif( BNCNPV ) + positif( BNCPMVCTC ) + positif( BNCPMVCTP )
+ + positif( BNCPMVCTV ) + positif( BNCPRO1AC ) + positif( BNCPRO1AP )
+ + positif( BNCPRO1AV ) + positif( BNCPROC ) + positif( BNCPRODEC )
+ + positif( BNCPRODEP ) + positif( BNCPRODEV ) + positif( BNCPROEXC )
+ + positif( BNCPROEXP ) + positif( BNCPROEXV ) + positif( BNCPROP )
+ + positif( BNCPROPVC ) + positif( BNCPROPVP ) + positif( BNCPROPVV )
+ + positif( BNCPROV ) + positif( BNCREC ) + positif( BNCREP )
+ + positif( BNCREV ) 
+ + positif (BNHDEC * (1 - positif(ART1731BIS) )) 
+ + positif (BNHDEP * (1 - positif(ART1731BIS) ))
+ + positif (BNHDEV * (1 - positif(ART1731BIS) ))
+ + positif( BNHEXC ) + positif( BNHEXP )
+ + positif( BNHEXV ) + positif( BNHREC ) + positif( BNHREP )
+ + positif( BNHREV ) + positif( BPCOPTC ) + positif( BPCOPTV )
+ + positif( BPCOSAC ) + positif( BPCOSAV ) + positif( BPV18C )
+ + positif( BPV18V ) + positif( BPV40C ) + positif( BPV40V )
+ + positif( BPVKRI ) 
+ + positif( BPVRCM ) + positif( BPVSJ ) + positif( BPVSK )
+ + positif( BRAS ) + positif( CARPEC ) + positif( CARPENBAC )
+ + positif( CARPENBAP1 ) + positif( CARPENBAP2 ) + positif( CARPENBAP3 )
+ + positif( CARPENBAP4 ) + positif( CARPENBAV ) + positif( CARPEP1 )
+ + positif( CARPEP2 ) + positif( CARPEP3 ) + positif( CARPEP4 )
+ + positif( CARPEV ) + positif( CARTSC ) + positif( CARTSNBAC )
+ + positif( CARTSNBAP1 ) + positif( CARTSNBAP2 ) + positif( CARTSNBAP3 )
+ + positif( CARTSNBAP4 ) + positif( CARTSNBAV ) + positif( CARTSP1 )
+ + positif( CARTSP2 ) + positif( CARTSP3 ) + positif( CARTSP4 )
+ + positif( CARTSV ) + positif( CASECHR ) + positif( CASEPRETUD )
+ + positif( CBETRAN ) + positif( CELLIERHJ ) + positif( CELLIERHK )
+ + positif( CELLIERHL ) + positif( CELLIERHM ) + positif( CELLIERHN )
+ + positif( CELLIERHO ) + positif( CELLIERJA ) + positif( CELLIERJB )
+ + positif( CELLIERJD ) + positif( CELLIERJE ) + positif( CELLIERJF )
+ + positif( CELLIERJG ) + positif( CELLIERJH ) + positif( CELLIERJJ )
+ + positif( CELLIERJK ) + positif( CELLIERJL ) + positif( CELLIERJM )
+ + positif( CELLIERJN ) + positif( CELLIERJO ) + positif( CELLIERJP )
+ + positif( CELLIERJQ ) + positif( CELLIERJR ) + positif( CELLIERNA )
+ + positif( CELLIERNB ) + positif( CELLIERNC ) + positif( CELLIERND )
+ + positif( CELLIERNE ) + positif( CELLIERNF ) + positif( CELLIERNG )
+ + positif( CELLIERNH ) + positif( CELLIERNI ) + positif( CELLIERNJ )
+ + positif( CELLIERNK ) + positif( CELLIERNL ) + positif( CELLIERNM )
+ + positif( CELLIERNN ) + positif( CELLIERNO ) + positif( CELLIERNP )
+ + positif( CELLIERNQ ) + positif( CELLIERNR ) + positif( CELLIERNS )
+ + positif( CELLIERNT ) + positif( CELLIERFA ) + positif( CELLIERFB)
+ + positif( CELLIERFC) + positif( CELLIERFD)
+ + positif( CELREPGJ ) + positif( CELREPGK ) + positif( CELREPGL )
+ + positif( CELREPGP ) + positif( CELREPGS ) + positif( CELREPGT )
+ + positif( CELREPGU ) + positif( CELREPGV ) + positif( CELREPGW )
+ + positif( CELREPGX )
+ + positif( CELREPHA ) + positif( CELREPHB )
+ + positif( CELREPHD ) + positif( CELREPHE ) + positif( CELREPHF )
+ + positif( CELREPHG ) + positif( CELREPHH ) + positif( CELREPHR )
+ + positif( CELREPHS ) + positif( CELREPHT ) + positif( CELREPHU )
+ + positif( CELREPHV ) + positif( CELREPHW ) + positif( CELREPHX )
+ + positif( CELREPHZ ) + positif( CELRREDLA ) + positif( CELRREDLB )
+ + positif( CELRREDLC ) + positif( CELRREDLD ) + positif( CELRREDLE )
+ + positif( CELRREDLF ) + positif( CELRREDLM ) + positif( CELRREDLS )
+ + positif( CELRREDLZ ) + positif( CELRREDMG )
+ + positif( CESSASSC ) + positif( CESSASSV )
+ + positif( CHAUBOISN ) + positif( CHAUBOISO ) + positif( CHAUFSOL )
+ + positif( CHENF1 ) + positif( CHENF2 ) + positif( CHENF3 )
+ + positif( CHENF4 ) + positif( CHNFAC ) + positif( CHRDED )
+ + positif( CHRFAC ) + positif( CIAQCUL ) + positif( CIBOIBAIL )
+ + positif( CICORSENOW ) +  positif( CIDEP15 )
+ + positif( CIIMPPRO ) + positif( CIIMPPRO2 ) + positif( CIINVCORSE )
+ + positif( CINE1 ) + positif( CINE2 ) + positif( CINRJ )
+ + positif( CINRJBAIL ) + positif( CMAJ ) + positif( CMAJ_ISF )
+ + positif( CO2044P ) + positif( CO2047 ) + positif( CO2102 )
+ + positif( CODCHA ) + positif( CODSIR ) + positif( CONVCREA )
+ + positif( CONVHAND ) + positif( COTF1 ) + positif( COTF2 )
+ + positif( COTF3 ) + positif( COTF4 ) + positif( COTFC )
+ + positif( COTFORET ) + positif( COTFV ) + positif( CREAGRIBIO )
+ + positif( CREAIDE ) + positif( CREAPP ) + positif( CREARTS )
+ + positif( CRECHOBOI ) + positif( CRECHOCON2 )
+ + positif( CRECONGAGRI ) + positif( CREDPVREP ) + positif( CREFAM )
+ + positif( CREFORMCHENT ) + positif( CREINTERESSE ) + positif( CRENRJ )
+ + positif( CREPROSP ) + positif( CRERESTAU )
+ + positif( CRIGA ) + positif( CVNSALAC ) + positif( CVNSALAV )
+ + positif (min(DABNCNP1,DABNCNP11731+0) * positif(ART1731BIS) + DABNCNP1 * (1 - ART1731BIS)) 
+ + positif (min(DABNCNP2,DABNCNP21731+0) * positif(ART1731BIS) + DABNCNP2 * (1 - ART1731BIS)) 
+ + positif (min(DABNCNP3,DABNCNP31731+0) * positif(ART1731BIS) + DABNCNP3 * (1 - ART1731BIS))
+ + positif (min(DABNCNP4,DABNCNP41731+0) * positif(ART1731BIS) + DABNCNP4 * (1 - ART1731BIS)) 
+ + positif (min(DABNCNP5,DABNCNP51731+0) * positif(ART1731BIS) + DABNCNP5 * (1 - ART1731BIS)) 
+ + positif (min(DABNCNP6,DABNCNP61731+0) * positif(ART1731BIS) + DABNCNP6 * (1 - ART1731BIS))
+ + positif (min(DAGRI1,DAGRI11731+0) * positif(ART1731BIS) + DAGRI1 * (1 - ART1731BIS))
+ + positif (min(DAGRI2,DAGRI21731+0) * positif(ART1731BIS) + DAGRI2 * (1 - ART1731BIS)) 
+ + positif (min(DAGRI3,DAGRI31731+0) * positif(ART1731BIS) + DAGRI3 * (1 - ART1731BIS))
+ + positif (min(DAGRI4,DAGRI41731+0) * positif(ART1731BIS) + DAGRI4 * (1 - ART1731BIS)) 
+ + positif (min(DAGRI5,DAGRI51731+0) * positif(ART1731BIS) + DAGRI5 * (1 - ART1731BIS)) 
+ + positif (min(DAGRI6,DAGRI61731+0) * positif(ART1731BIS) + DAGRI6 * (1 - ART1731BIS))
+ + positif( DATDEPETR ) + positif( DATOCEANS ) + positif( DATRETETR )
+ + positif( DCSG ) 
+ + positif (DEFAA0 * (1 - positif(ART1731BIS) ))
+ + positif (DEFAA1 * (1 - positif(ART1731BIS) ))
+ + positif (DEFAA2 * (1 - positif(ART1731BIS) )) 
+ + positif (DEFAA3 * (1 - positif(ART1731BIS) )) 
+ + positif (DEFAA4 * (1 - positif(ART1731BIS) ))
+ + positif (DEFAA5 * (1 - positif(ART1731BIS) ))
+ + positif (min(DEFBIC1,DEFBIC11731+0) * positif(ART1731BIS) + DEFBIC1 * (1 - ART1731BIS)) 
+ + positif (min(DEFBIC2,DEFBIC21731+0) * positif(ART1731BIS) + DEFBIC2 * (1 - ART1731BIS))
+ + positif (min(DEFBIC3,DEFBIC31731+0) * positif(ART1731BIS) + DEFBIC3 * (1 - ART1731BIS)) 
+ + positif (min(DEFBIC4,DEFBIC41731+0) * positif(ART1731BIS) + DEFBIC4 * (1 - ART1731BIS)) 
+ + positif (min(DEFBIC5,DEFBIC51731+0) * positif(ART1731BIS) + DEFBIC5 * (1 - ART1731BIS))
+ + positif (min(DEFBIC6,DEFBIC61731+0) * positif(ART1731BIS) + DEFBIC6 * (1 - ART1731BIS)) 
+ + positif (min(DEFRCM,DEFRCM1731+0) * positif(ART1731BIS) + DEFRCM * (1 - ART1731BIS))
+ + positif (min(DEFRCM2,DEFRCM21731+0) * positif(ART1731BIS) + DEFRCM2 * (1 - ART1731BIS))
+ + positif (min(DEFRCM3,DEFRCM31731+0) * positif(ART1731BIS) + DEFRCM3 * (1 - ART1731BIS)) 
+ + positif (min(DEFRCM4,DEFRCM41731+0) * positif(ART1731BIS) + DEFRCM4 * (1 - ART1731BIS)) 
+ + positif (min(DEFRCM5,DEFRCM51731+0) * positif(ART1731BIS) + DEFRCM5 * (1 - ART1731BIS))
+ + positif (min(DEFRCM5,DEFRCM51731+0) * positif(ART1731BIS) + DEFRCM5 * (1 - ART1731BIS)) 
+ + positif (min(DEFZU,DEFZU1731+0) * positif(ART1731BIS) + DEFZU * (1 - ART1731BIS))  + positif( DEPCHOBAS )
+ + positif( DEPENV ) + positif( DEPMOBIL ) + positif( DETS1 )
+ + positif( DETS2 ) + positif( DETS3 ) + positif( DETS4 )
+ + positif( DETSC ) + positif( DETSV ) + positif( DIAGPERF )
+ + positif( DIREPARGNE ) + positif( DISQUO ) + positif( DISQUONB )
+ + positif (min(DNOCEP,DNOCEP1731+0) * positif(ART1731BIS) + DNOCEP * (1 - ART1731BIS))
+ + positif (min(DNOCEPC,DNOCEPC1731+0) * positif(ART1731BIS) + DNOCEPC * (1 - ART1731BIS)) 
+ + positif (min(DNOCEPP,DNOCEPP1731+0) * positif(ART1731BIS) + DNOCEPP * (1 - ART1731BIS))
+ + positif( DONAUTRE ) + positif( DONETRAN ) + positif( DPVRCM )
+ + positif( EAUPLUV ) + positif( ELESOL ) + positif( ELURASC )
+ + positif( ELURASV ) + positif( ENERGIEST ) + positif( ESFP )
+ + positif( EXOCETC ) + positif( EXOCETV ) + positif( FCPI )
+ + positif( FEXC ) + positif( FEXP ) + positif( FEXV )
+ + positif( FFIP ) + positif( FIPCORSE ) + positif( FIPDOMCOM )
+ + positif( FONCI ) + positif( FONCINB ) + positif( FORET )
+ + positif( FRN1 ) + positif( FRN2 ) + positif( FRN3 )
+ + positif( FRN4 ) + positif( FRNC ) + positif( FRNV )
+ + positif( GAINABDET ) + positif( GAINPEA ) 
+ + positif( GLD1C ) + positif( GLD1V )
+ + positif( GLD2C ) + positif( GLD2V ) + positif( GLD3C )
+ + positif( GLD3V ) + positif( GLDGRATC ) + positif( GLDGRATV )
+ + positif( GSALC ) + positif( GSALV ) + positif( HEURESUPC )
+ + positif( HEURESUPP1 ) + positif( HEURESUPP2 ) + positif( HEURESUPP3 )
+ + positif( HEURESUPP4 ) + positif( HEURESUPV ) + positif( IMPRET )
+ + positif( INAIDE ) + positif( INDECS ) + positif( INDJNONIMPC )
+ + positif( INDJNONIMPV ) 
+ + positif( INDPVSURSI ) + positif( INDPVSURSI2 ) + positif( IND_TDR )
+ + positif( INTDIFAGRI ) + positif( INTERE ) + positif( INTERENB )
+ + positif( INVDIR2009 ) + positif( INVDOMRET50 ) + positif( INVDOMRET60 )
+ + positif( INVENDEB2009 ) + positif( INVENDI ) + positif( INVENTC )
+ + positif( INVENTP ) + positif( INVENTV ) + positif( INVIMP )
+ + positif( INVLGAUTRE ) + positif( INVLGDEB ) + positif( INVLGDEB2009 )
+ + positif( INVLGDEB2010 ) + positif( INVLOCHOTR ) + positif( INVLOCHOTR1 )
+ + positif( INVLOCXN ) + positif( INVLOCXV ) + positif( COD7UY )
+ + positif( COD7UZ ) + positif( INVLOG2008 ) + positif( INVLOG2009 )
+ + positif( INVLOGHOT ) + positif( INVLOGREHA ) + positif( INVLOGSOC )
+ + positif( INVNPROF1 ) + positif( INVNPROF2 ) + positif( INVNPROREP )
+ + positif( INVOMENTKT ) + positif( INVOMENTKU ) + positif( INVOMENTMN )
+ + positif( INVOMENTNU ) + positif( INVOMENTNV ) + positif( INVOMENTNW )
+ + positif( INVOMENTNY ) + positif( INVOMENTRG )
+ + positif( INVOMENTRI ) + positif( INVOMENTRJ )
+ + positif( INVOMENTRK ) + positif( INVOMENTRL ) + positif( INVOMENTRM )
+ + positif( INVOMENTRO ) + positif( INVOMENTRP )
+ + positif( INVOMENTRQ ) + positif( INVOMENTRR ) 
+ + positif( INVOMENTRT ) + positif( INVOMENTRU ) + positif( INVOMENTRV )
+ + positif( INVOMENTRW ) + positif( INVOMENTRY )
+ + positif( INVOMLOGOA ) + positif( INVOMLOGOB ) + positif( INVOMLOGOC )
+ + positif( INVOMLOGOH ) + positif( INVOMLOGOI ) + positif( INVOMLOGOJ )
+ + positif( INVOMLOGOK ) + positif( INVOM
\ No newline at end of file
diff --git a/sources2013m_3_8/chap-inr.m b/sources2013m_3_8/chap-inr.m
new file mode 100644
index 0000000000000000000000000000000000000000..5261d5301849a0abe910a156ee2b8b5fd7afa74d
--- /dev/null
+++ b/sources2013m_3_8/chap-inr.m
@@ -0,0 +1,538 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #     CHAPITRE 2. CALCUL DU NET A PAYER
+ #
+ #
+ #
+regle corrective 10801:
+application : iliad;
+TXINR = max(0,(NBMOIS * TXMOISRETARD2) + max(0,(NBMOIS2 * TXMOISRETARD2)));
+
+TXINRRED = max(0,(NBMOIS * TXMOISRETARD2*TXMOISRED*2) + max(0,(NBMOIS2 * TXMOISRETARD2 * TXMOISRED * 2)));
+
+regle corrective 1081:
+application : iliad ;
+IND_PASSAGE = positif(FLAG_DEFAUT + FLAG_RETARD) + IND_PASSAGE_A;
+IND_PASSR9901 = 1 + IND_PASSR9901_A;
+IRNIN_PA = IRNIN_INR * null(1 - IND_PASSAGE) + IRNIN_PA_A;
+TXINR_PA = TXINR * null(1 - IND_PASSAGE) + TXINR_PA_A;
+INRIR_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * ( 
+             arr(IRNIN_INR * TXINR / 100) * positif(IRNIN_INR) * null(1 - IND_PASSAGE) 
+             + INRIR_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,IRNIN_PA - ACODELAISINR) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                                );
+INR_IR_TARDIF = ((arr(IRNIN_INR * TXINR/100) * positif(IRNIN_INR) * null(1-IND_PASSAGE)+ INR_IR_TARDIF_A*(1-positif(ACODELAISINR)))
+		  + arr(max(0,IRNIN_PA - ACODELAISINR) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)) * FLAG_RETARD * (1-IND_RJLJ);
+CSG_PA = CSG * null(1 - IND_PASSAGE) + CSG_PA_A;
+INRCSG_RETDEF = (1 - IND_RJLJ) * (
+                arr((CSG-CSGIM) * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCSG_RETDEF_A;
+INR_CSG_TARDIF = (arr((CSG-CSGIM) * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CSG_TARDIF_A) * (1-IND_RJLJ);
+PRS_PA = PRS * null(1 - IND_PASSAGE) + PRS_PA_A;
+INRPRS_RETDEF = (1 - IND_RJLJ) * (
+             arr((PRS-PRSPROV) * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRPRS_RETDEF_A;
+INR_PS_TARDIF = (arr((PRS-PRSPROV) * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_PS_TARDIF_A) * (1-IND_RJLJ);
+CRDS_PA = RDSN * null(1 - IND_PASSAGE) + CRDS_PA_A;
+INRCRDS_RETDEF = (1 - IND_RJLJ) * (
+             arr((RDSN-CRDSIM) * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCRDS_RETDEF_A;
+INR_CRDS_TARDIF = (arr((RDSN-CRDSIM) * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CRDS_TARDIF_A) * (1-IND_RJLJ);
+TAXA_PA = TAXABASE * null(1 - IND_PASSAGE) + TAXA_PA_A;
+INRTAXA_RETDEF = (1 - IND_RJLJ) * (
+               arr(TAXABASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRTAXA_RETDEF_A;
+INR_TAXAGA_TARDIF = (arr(TAXABASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_TAXA_TARDIF_A) * (1-IND_RJLJ);
+CHR_PA = CHRBASE * null(1 - IND_PASSAGE) + CHR_PA_A;
+INRCHR_RETDEF = (1 - IND_RJLJ) * (
+               arr(CHRBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCHR_RETDEF_A;
+INR_CHR_TARDIF = (arr(CHRBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CHR_TARDIF_A) * (1-IND_RJLJ);
+PCAP_PA = PCAPBASE * null(1 - IND_PASSAGE) + PCAP_PA_A;
+INRPCAP_RETDEF = (1 - IND_RJLJ) * (
+               arr(PCAPBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRPCAP_RETDEF_A;
+INR_PCAP_TARDIF = (arr(PCAPBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_PCAP_TARDIF_A) * (1-IND_RJLJ);
+RSE1_PA = RSE1BASE * null(1 - IND_PASSAGE) + RSE1_PA_A;
+INRRSE1_RETDEF = (1 - IND_RJLJ) * (
+               arr(RSE1BASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE1_RETDEF_A;
+INR_RSE1_TARDIF = (arr(RSE1BASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE1_TARDIF_A) * (1-IND_RJLJ);
+RSE2_PA = RSE2BASE * null(1 - IND_PASSAGE) + RSE2_PA_A;
+INRRSE2_RETDEF = (1 - IND_RJLJ) * (
+               arr(RSE2BASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE2_RETDEF_A;
+INR_RSE2_TARDIF = (arr(RSE2BASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE2_TARDIF_A) * (1-IND_RJLJ);
+RSE3_PA = RSE3BASE * null(1 - IND_PASSAGE) + RSE3_PA_A;
+INRRSE3_RETDEF = (1 - IND_RJLJ) * (
+               arr(RSE3BASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE3_RETDEF_A;
+INR_RSE3_TARDIF = (arr(RSE3BASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE3_TARDIF_A) * (1-IND_RJLJ);
+RSE4_PA = RSE4BASE * null(1 - IND_PASSAGE) + RSE4_PA_A;
+INRRSE4_RETDEF = (1 - IND_RJLJ) * (
+               arr(RSE4BASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE4_RETDEF_A;
+INR_RSE4_TARDIF = (arr(RSE4BASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE4_TARDIF_A) * (1-IND_RJLJ);
+CDIS_PA = CDISBASE * null(1 - IND_PASSAGE) + CDIS_PA_A;
+INRCDIS_RETDEF = (1 - IND_RJLJ) * (
+               arr(CDISBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCDIS_RETDEF_A;
+INR_CDIS_TARDIF = (arr(CDISBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CDIS_TARDIF_A) * (1-IND_RJLJ);
+RSE5_PA = RSE5BASE * null(1 - IND_PASSAGE) + RSE5_PA_A;
+INRRSE5_RETDEF = (1 - IND_RJLJ) * (
+               arr(RSE5BASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE5_RETDEF_A;
+INR_RSE5_TARDIF = (arr(RSE5BASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE5_TARDIF_A) * (1-IND_RJLJ);
+LOY_PA = LOYBASE * null(1 - IND_PASSAGE) + LOY_PA_A;
+INRLOY_RETDEF = (1 - IND_RJLJ) * (
+               arr(LOYBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRLOY_RETDEF_A;
+INR_LOY_TARDIF = (arr(LOYBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_LOY_TARDIF_A) * (1-IND_RJLJ);
+CVN_PA = CVNBASE * null(1 - IND_PASSAGE) + CVN_PA_A;
+INRCVN_RETDEF = (1 - IND_RJLJ) * (
+               arr(CVNBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRCVN_RETDEF_A;
+INR_CVN_TARDIF = (arr(CVNBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CVN_TARDIF_A) * (1-IND_RJLJ);
+GLO_PA = GLOBASE * null(1 - IND_PASSAGE) + GLO_PA_A;
+INRGLO_RETDEF = (1 - IND_RJLJ) * (
+               arr(GLOBASE * TXINR / 100) * FLAG_DEFAUT * null(IND_PASSAGE - 1)
+                                )
+             + INRGLO_RETDEF_A;
+INR_GLO_TARDIF = (arr(GLOBASE * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_GLO_TARDIF_A) * (1-IND_RJLJ);
+regle corrective 10811:
+application :  iliad ;
+IRNIN_TLDEC_1=IRNIN_INR;
+CSG_TLDEC_1=CSG;
+PRS_TLDEC_1=PRS;
+RDS_TLDEC_1=RDSN;
+TAXA_TLDEC_1=TAXASSUR;
+CHR_TLDEC_1=IHAUTREVT;
+PCAP_TLDEC_1=IPCAPTAXT;
+RSE1_TLDEC_1=RSE1;
+RSE2_TLDEC_1=RSE2;
+RSE3_TLDEC_1=RSE3;
+RSE4_TLDEC_1=RSE4;
+CDIS_TLDEC_1=CDIS;
+RSE5_TLDEC_1=RSE5;
+LOY_TLDEC_1=TAXLOY;
+CVN_TLDEC_1=CVNSALC;
+GLO_TLDEC_1=CGLOA;
+regle corrective 108112:
+application : iliad ;
+INRIR_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			 null(2-FLAG_INR) * positif(IRNIN_INR - IRNIN_R99R)
+                       * (
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0) )
+            * arr((IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * positif(IRNIN_INR-max(IRNIN_RECT * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * arr((IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+                   +  null(3-FLAG_INR) * positif(IRNIN_INR - IRNIN_REF)
+                       * (
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0) )
+            * arr((min(IRNIN_INR,IRNIN_TLDEC_1) - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * positif(IRNIN_INR-max(IRNIN_RECT * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * arr((min(IRNIN_INR,IRNIN_TLDEC_1) - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+            + INRIR_RETDEF * null(IND_PASSAGE - 1)
+                                                )
+                                               ;
+INRCSG_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			 null(2 - FLAG_INR) * positif(CSG-CSG_R99R) 
+			* (
+            (positif(CSG * positif(CSG+PRS+RDSN-SEUIL_61) - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))))
+            * arr((CSG - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198)))-CSGIM) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_61)  - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))))
+            * arr((CSG - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198)))-CSGIM) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                              )
+                      + null(3 - FLAG_INR) * positif(CSG-CSG_REF) 
+			* (
+            (positif(CSG * positif(CSG+PRS+RDSN-SEUIL_61) - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))))
+            * arr((min(CSG,CSG_TLDEC_1) - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198)))-CSGIM) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_61)  - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))+0))
+            * arr((min(CSG,CSG_TLDEC_1) - max(CSG_NTLDEC_198,CSG_REF)* (1-present(CSG_NTLDEC_198))-CSGIM) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+			    )
+            + INRCSG_RETDEF * null(IND_PASSAGE - 1)
+                              )
+             ;
+INRPRS_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			   null(2 - FLAG_INR) * positif(PRS-PRS_R99R) 
+			   * (
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_61)  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0)) 
+            * arr((PRS  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PRS * positif(CSG+PRS+RDSN-SEUIL_61) - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0))
+            * arr((PRS - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                        )
+                        + null(3 - FLAG_INR) * positif(PRS-PRS_REF) 
+			   * (
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_61)  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0)) 
+            * arr((min(PRS,PRS_TLDEC_1)  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PRS * positif(CSG+PRS+RDSN-SEUIL_61) - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0))
+            * arr((min(PRS,PRS_TLDEC_1) - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                        )
+            + INRPRS_RETDEF * null(IND_PASSAGE - 1)
+                            )
+             ;
+INRCRDS_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RDSN - RDS_R99R) 
+		      * (
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_61) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((RDSN - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_61) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((RDSN -max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                         )
+                    +  null(3 - FLAG_INR) * positif(RDSN - RDS_REF) 
+		      * (
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_61) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((min(RDSN,RDS_TLDEC_1) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_61) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((min(RDSN,RDS_TLDEC_1) -max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                         )
+            + INRCRDS_RETDEF * null(IND_PASSAGE - 1)
+                            )
+             ;
+INRTAXA_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		     null(2 - FLAG_INR) * positif(TAXABASE - TAXA_R99R) 
+		     * (
+             (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		     + null(3 - FLAG_INR) * positif(TAXABASE - TAXA_REF) 
+		     * (
+             (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((min(TAXABASE,TAXA_TLDEC_1) - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((min(TAXABASE,TAXA_TLDEC_1) - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRTAXA_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRCDIS_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(CDISBASE - CDIS_R99R) 
+		       * (
+             (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198))+0))
+            * arr((CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198))+0)) 
+            * arr((CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(CDISBASE - CDIS_REF) 
+		       * (
+             (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF+0))
+            * arr((min(CDISBASE,CDIS_TLDEC_1) - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198))+0))
+            * arr((min(CDISBASE,CDIS_TLDEC_1) - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRCDIS_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRCHR_NTLPROV = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(CHRBASE - CHR_R99R) 
+		       * (
+             (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198))+0))
+            * arr((CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198))+0)) 
+            * arr((CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(CHRBASE - CHR_REF) 
+		       * (
+             (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF+0))
+            * arr((min(CHRBASE,CHR_TLDEC_1) - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198))+0))
+            * arr((min(CHRBASE,CHR_TLDEC_1) - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRCHR_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRCHR_NTL15 = (INRCHR_NTLPROV - INRCHR_NTL10) * null(2 - FLAG_INR); 
+INRCHR_NTL = INRCHR_NTL10;
+INRPCAP_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(PCAPBASE - PCAP_R99R) 
+		       * (
+             (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198))+0))
+            * arr((PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198))+0)) 
+            * arr((PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(PCAPBASE - PCAP_REF) 
+		       * (
+             (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF+0))
+            * arr((min(PCAPBASE,PCAP_TLDEC_1) - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198))+0))
+            * arr((min(PCAPBASE,PCAP_TLDEC_1) - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRPCAP_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE1_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE1BASE - RSE1_R99R) 
+		       * (
+             (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198))+0))
+            * arr((RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))-CSPROVYD) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198))+0)) 
+            * arr((RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))-CSPROVYD) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE1BASE - RSE1_REF) 
+		       * (
+             (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF+0))
+            * arr((min(RSE1BASE,RSE1_TLDEC_1) - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))-CSPROVYD) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198))+0))
+            * arr((min(RSE1BASE,RSE1_TLDEC_1) - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))-CSPROVYD) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE1_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE2_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE2BASE - RSE2_R99R) 
+		       * (
+             (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198))+0))
+            * arr((RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))-CSPROVYF) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198))+0)) 
+            * arr((RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))-CSPROVYF) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE2BASE - RSE2_REF) 
+		       * (
+             (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF+0))
+            * arr((min(RSE2BASE,RSE2_TLDEC_1) - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))-CSPROVYF) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198))+0))
+            * arr((min(RSE2BASE,RSE2_TLDEC_1) - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))-CSPROVYF) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE2_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE3_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE3BASE - RSE3_R99R) 
+		       * (
+             (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198))+0))
+            * arr((RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))-CSPROVYG) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198))+0)) 
+            * arr((RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))-CSPROVYG) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE3BASE - RSE3_REF) 
+		       * (
+             (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF+0))
+            * arr((min(RSE3BASE,RSE3_TLDEC_1) - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))-CSPROVYG) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198))+0))
+            * arr((min(RSE3BASE,RSE3_TLDEC_1) - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))-CSPROVYG) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE3_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE4_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE4BASE - RSE4_R99R) 
+		       * (
+             (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198))+0))
+            * arr((RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))-CSPROVYH) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198))+0)) 
+            * arr((RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))-CSPROVYH) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE4BASE - RSE4_REF) 
+		       * (
+             (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF+0))
+            * arr((min(RSE4BASE,RSE4_TLDEC_1) - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))-CSPROVYH) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198))+0))
+            * arr((min(RSE4BASE,RSE4_TLDEC_1) - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))-CSPROVYH) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE4_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE5_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE5BASE - RSE5_R99R) 
+		       * (
+             (positif(RSE5BASE - max(RSE5_NTLDEC_198,RSE5_REF* (1-present(RSE5_NTLDEC_198))+0))
+            * arr((RSE5BASE - max(RSE5_NTLDEC_198,RSE5_REF* (1-present(RSE5_NTLDEC_198)))-CSPROVYE) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE5BASE - max(RSE5_NTLDEC_198,RSE5_REF* (1-present(RSE5_NTLDEC_198))+0)) 
+            * arr((RSE5BASE - max(RSE5_NTLDEC_198,RSE5_REF* (1-present(RSE5_NTLDEC_198)))-CSPROVYE) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE5BASE - RSE5_REF) 
+		       * (
+             (positif(RSE5BASE - max(RSE5_NTLDEC_198,RSE5_REF+0))
+            * arr((min(RSE5BASE,RSE5_TLDEC_1) - max(RSE5_NTLDEC_198,RSE5_REF* (1-present(RSE5_NTLDEC_198)))-CSPROVYE) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE5BASE - max(RSE5_NTLDEC_198,RSE5_REF* (1-present(RSE5_NTLDEC_198))+0))
+            * arr((min(RSE5BASE,RSE5_TLDEC_1) - max(RSE5_NTLDEC_198,RSE5_REF* (1-present(RSE5_NTLDEC_198)))-CSPROVYE) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE5_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRLOY_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(LOYBASE - LOY_R99R) 
+		       * (
+             (positif(LOYBASE - max(LOY_NTLDEC_198,LOY_REF* (1-present(LOY_NTLDEC_198))+0))
+            * arr((LOYBASE - max(LOY_NTLDEC_198,LOY_REF* (1-present(LOY_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(LOYBASE - max(LOY_NTLDEC_198,LOY_REF* (1-present(LOY_NTLDEC_198))+0)) 
+            * arr((LOYBASE - max(LOY_NTLDEC_198,LOY_REF* (1-present(LOY_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(LOYBASE - LOY_REF) 
+		       * (
+             (positif(LOYBASE - max(LOY_NTLDEC_198,LOY_REF+0))
+            * arr((min(LOYBASE,LOY_TLDEC_1) - max(LOY_NTLDEC_198,LOY_REF* (1-present(LOY_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(LOYBASE - max(LOY_NTLDEC_198,LOY_REF* (1-present(LOY_NTLDEC_198))+0))
+            * arr((min(LOYBASE,LOY_TLDEC_1) - max(LOY_NTLDEC_198,LOY_REF* (1-present(LOY_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRLOY_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRCVN_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(CVNBASE - CVN_R99R) 
+		       * (
+             (positif(CVNBASE - max(CVN_NTLDEC_198,CVN_REF* (1-present(CVN_NTLDEC_198))+0))
+            * arr((CVNBASE - max(CVN_NTLDEC_198,CVN_REF* (1-present(CVN_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CVNBASE - max(CVN_NTLDEC_198,CVN_REF* (1-present(CVN_NTLDEC_198))+0)) 
+            * arr((CVNBASE - max(CVN_NTLDEC_198,CVN_REF* (1-present(CVN_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(CVNBASE - CVN_REF) 
+		       * (
+             (positif(CVNBASE - max(CVN_NTLDEC_198,CVN_REF+0))
+            * arr((min(CVNBASE,CVN_TLDEC_1) - max(CVN_NTLDEC_198,CVN_REF* (1-present(CVN_NTLDEC_198)))) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CVNBASE - max(CVN_NTLDEC_198,CVN_REF* (1-present(CVN_NTLDEC_198))+0))
+            * arr((min(CVNBASE,CVN_TLDEC_1) - max(CVN_NTLDEC_198,CVN_REF* (1-present(CVN_NTLDEC_198)))) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRCVN_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRGLO_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(GLOBASE - GLO_R99R) 
+		       * (
+             (positif(GLOBASE - max(GLO_NTLDEC_198,GLO_REF* (1-present(GLO_NTLDEC_198))+0))
+            * arr((GLOBASE - max(GLO_NTLDEC_198,GLO_REF* (1-present(GLO_NTLDEC_198)))-COD8YL) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(GLOBASE - max(GLO_NTLDEC_198,GLO_REF* (1-present(GLO_NTLDEC_198))+0)) 
+            * arr((GLOBASE - max(GLO_NTLDEC_198,GLO_REF* (1-present(GLO_NTLDEC_198)))-COD8YL) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(GLOBASE - GLO_REF) 
+		       * (
+             (positif(GLOBASE - max(GLO_NTLDEC_198,GLO_REF+0))
+            * arr((min(GLOBASE,GLO_TLDEC_1) - max(GLO_NTLDEC_198,GLO_REF* (1-present(GLO_NTLDEC_198)))-COD8YL) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(GLOBASE - max(GLO_NTLDEC_198,GLO_REF* (1-present(GLO_NTLDEC_198))+0))
+            * arr((min(GLOBASE,GLO_TLDEC_1) - max(GLO_NTLDEC_198,GLO_REF* (1-present(GLO_NTLDEC_198)))-COD8YL) * (TXINR / 100))
+       
\ No newline at end of file
diff --git a/sources2013m_3_8/chap-isf.m b/sources2013m_3_8/chap-isf.m
new file mode 100644
index 0000000000000000000000000000000000000000..caee9cc46896ff5575c2018a8711c2fcaf584dd0
--- /dev/null
+++ b/sources2013m_3_8/chap-isf.m
@@ -0,0 +1,247 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle isf 77001:
+application : iliad , batch  ;
+DISFBASE =  ISFBASE;  
+		     
+regle isf 77010:
+application : iliad , batch ;
+TR2_ISF = arr( max(0, min( DISFBASE , LIM_TR2_ISF ) - (LIM_TR1_ISF)) * (TX_TR2_ISF/10000)) ;
+TR3_ISF = arr( max(0, min( DISFBASE , LIM_TR3_ISF ) - (LIM_TR2_ISF)) * (TX_TR3_ISF/10000)) ;
+TR4_ISF = arr( max(0, min( DISFBASE , LIM_TR4_ISF  ) - (LIM_TR3_ISF)) * (TX_TR4_ISF/100)) ;
+TR5_ISF = arr( max(0, min( DISFBASE , LIM_TR5_ISF  ) - (LIM_TR4_ISF)) * (TX_TR5_ISF/10000)) ;
+TR6_ISF = arr( max(0, DISFBASE - LIM_TR5_ISF) * (TX_TR6_ISF/1000)) ;
+
+ISF1 = TR2_ISF + TR3_ISF + TR4_ISF + TR5_ISF + TR6_ISF;
+
+regle isf 77015:
+application :  iliad , batch ;
+ISFDEC = arr((17500 - ( (TX_TR5_ISF/10000) * ISFBASE)) 
+		  * positif(ISFBASE-LIM_ISFINF)*positif(LIM_ISFDEC - ISFBASE))
+	 * positif(ISF1); 
+
+DISFDEC = ISFDEC;
+
+regle isf 77020:
+application :  iliad , batch ;
+ISFBRUT = arr((ISF1 - ISFDEC) * positif( LIM_ISFDEC - 1 - ISFBASE )
+	     + ISF1 * (1-positif(LIM_ISFDEC - 1 - ISFBASE))) ;
+
+regle isf 77030:
+application : iliad , batch  ;
+DISFPMED = ISFPMEDI ;
+DISFPMEI = ISFPMEIN ;
+AISFPMED = arr(ISFPMEDI * (TX50/100)) ;
+AISFPMEI = arr(ISFPMEIN * (TX50/100)) ;
+RISFPMED_1 = min(45000, AISFPMED);
+RISFPMEI_1 = max(0, min(45000 - RISFPMED_1, AISFPMEI));
+
+
+DISFFIP = ISFFIP ;
+DISFFCPI = ISFFCPI ;
+AISFFIP = arr(ISFFIP * (TX50/100)) ;
+AISFFCPI = arr(ISFFCPI * (TX50/100)) ;
+RISFFIP_1 = min(18000, AISFFIP);
+RISFFCPI_1 = max(0, min(18000 -  RISFFIP_1, AISFFCPI));
+
+regle isf 77040:
+application : iliad , batch  ;
+PLAF_ISFRED = 50000 * (1-positif(ISFPMEDI+ISFPMEIN+ISFFIP+ISFFCPI))
+	      + 45000 * positif(ISFPMEDI+ISFPMEIN+ISFFIP+ISFFCPI) ;
+
+DISFDONF = ISFDONF ;
+DISFDONCEE = ISFDONEURO ;
+
+AISFDONF =arr(ISFDONF * (TX75/100)) ;
+AISFDONCEE = arr(ISFDONEURO * (TX75/100)) ;
+
+RISFDONF_1 = min( PLAF_ISFRED , AISFDONF);
+RISFDONCEE_1 = max(0, min( PLAF_ISFRED - RISFDONF_1, AISFDONCEE)); 
+
+regle isf 77050:
+application : iliad , batch  ;
+RISFDONF_2 = min(PLAF_ISFRED, RISFDONF_1);
+RISFDONCEE_2 = max(0, min(PLAF_ISFRED - RISFDONF_1, RISFDONCEE_1));
+RISFPMED_2 = max(0, min(PLAF_ISFRED - RISFDONF_1 - RISFDONCEE_1, RISFPMED_1));
+RISFPMEI_2 = max(0, min(PLAF_ISFRED - RISFDONF_1 - RISFDONCEE_1 - RISFPMED_1, RISFPMEI_1));
+RISFFIP_2 = max(0, min(PLAF_ISFRED - RISFDONF_1 - RISFDONCEE_1 - RISFPMED_1 - RISFPMEI_1, 
+		     RISFFIP_1));
+RISFFCPI_2 = max(0, min(PLAF_ISFRED - RISFDONF_1 - RISFDONCEE_1 - RISFPMED_1 - RISFPMEI_1 
+		       - RISFFIP_1, RISFFCPI_1 ));
+
+RISFDONF = max( min( RISFDONF_2, ISFBRUT) , 0)
+
+	      * ( 1 - null( CODE_2042 - 8 )) 
+	      * ( 1 - null( CMAJ_ISF - 8)); 
+
+RISFDONCEE = max( min( RISFDONCEE_2, ISFBRUT - RISFDONF), 0)
+	      * ( 1 - null( CODE_2042 - 8 )) 
+	      * ( 1 - null( CMAJ_ISF - 8)); 
+
+
+RISFPMED = max( min( RISFPMED_2, ISFBRUT - RISFDONF - RISFDONCEE), 0)
+	      * ( 1 - null( CODE_2042 - 8 )) 
+	      * ( 1 - null( CMAJ_ISF - 8)); 
+
+
+RISFPMEI = max( min( RISFPMEI_2, ISFBRUT - RISFDONF - RISFDONCEE - RISFPMED), 0)
+	      * ( 1 - null( CODE_2042 - 8 )) 
+	      * ( 1 - null( CMAJ_ISF - 8)); 
+
+
+
+RISFFIP = max( min( RISFFIP_2, ISFBRUT - RISFDONF - RISFDONCEE - RISFPMED - RISFPMEI), 0)
+	      * ( 1 - null( CODE_2042 - 8 )) 
+	      * ( 1 - null( CMAJ_ISF - 8)); 
+
+
+
+RISFFCPI = max( min( RISFFCPI_2, ISFBRUT - RISFDONF - RISFDONCEE 
+		                         - RISFPMED - RISFPMEI - RISFFIP ), 0)
+	      * ( 1 - null( CODE_2042 - 8 )) 
+	      * ( 1 - null( CMAJ_ISF - 8)); 
+
+
+regle isf 77066:
+application : iliad , batch  ;
+REDISF = RISFDONF + RISFDONCEE + RISFPMED
+         + RISFPMEI + RISFFIP + RISFFCPI ;
+
+TXTOISF = RETXISF + COPETOISF ;
+
+regle isf 77065:
+application : iliad , batch  ;
+ISFTRED =  RISFDONF + RISFDONCEE + RISFPMED
+         + RISFPMEI + RISFFIP + RISFFCPI + RISFE ;
+
+regle isf 77070:
+application : iliad , batch  ;
+ISFNETRED = max(0, ISFBRUT - RISFDONF - RISFDONCEE - RISFPMED - RISFPMEI - RISFFIP - RISFFCPI) ;   
+
+regle isf 77075:
+application : iliad , batch  ;
+DISFPLAF = ISFPLAF ; 
+
+RISFPLAF = max(0,  ISFNETRED * positif(ISFPLAF - ISFNETRED)
+		 + ISFPLAF * (1-positif(ISFPLAF - ISFNETRED)));
+
+regle isf 77076:
+application : iliad , batch  ;
+ISFPOSTPLAF = max(0, ISFNETRED - RISFPLAF); 
+
+regle isf 77080:
+application : iliad , batch  ;
+DISFE = ISFETRANG ;
+
+RISFE = positif(DISFBASE)*positif(ISFETRANG)*( min(ISFPOSTPLAF , ISFETRANG));
+
+regle isf 77090:
+application : iliad , batch  ;
+
+ISF5 = max(0, ISFPOSTPLAF - RISFE) ;
+
+regle isf 77200:
+application : iliad , batch  ;
+
+COPETOISF = si (CMAJ_ISF = 7 ou CMAJ_ISF = 17 ou CMAJ_ISF = 18)
+            alors (10)
+	    sinon
+		 ( si (CMAJ_ISF = 8)
+		       alors (40)
+		       finsi )
+            finsi;
+
+NMAJISF1 = max (0, MAJO1728ISF + arr(ISF5 * COPETOISF/100) * positif_ou_nul(ISF5 - SEUIL_12)
+                + FLAG_TRTARDIF * MAJOISFTARDIF_D 
+               + FLAG_TRTARDIF_F * MAJOISFTARDIF_D
+	       - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOISFTARDIF_R
+				    + (1 - positif(FLAG_RECTIF)) * MAJOISFTARDIF_A)
+	       );
+
+
+
+TXPF1728ISF =si (V_CODPF1728ISF=07 ou V_CODPF1728ISF=17 ou V_CODPF1728ISF=18)
+	     alors (10)
+	     sinon
+	          (si (V_CODPF1728ISF=08)
+	           alors (40)
+		   finsi)
+	     finsi ;
+
+
+MAJTXISF1 = (1 - positif(V_NBCOD1728ISF))
+             * ((1 - positif(CMAJ_ISF)) * positif(NMAJISF1) * TXPF1728ISF + positif(CMAJ_ISF) * COPETOISF)
+             + positif(V_NBCOD1728ISF) * (-1) ;
+regle isf 77210:
+application : iliad , batch  ;
+INTMSISF = inf( MOISAN_ISF / 10000 );
+INTANISF = (( MOISAN_ISF/10000 - INTMSISF )*10000)  * present(MOISAN_ISF) ;
+TXINTISF =  (max(0, (INTANISF - (V_ANREV+1) )* 12 + INTMSISF - 6 ) * TXMOISRETARD2)
+	    * present(MOISAN_ISF);
+PTOISF = arr(ISF5 * COPETOISF / 100) + arr(ISF5 * TXINTISF / 100) ;
+RETISF = (RETISF2 + arr(ISF5 * TXINTISF/100))* positif_ou_nul(ISF4BIS - SEUIL_12) ;
+RETXISF = positif(CMAJ_ISF) * TXINTISF
+               + (TXINRISF * (1-positif(TXINRISF_A)) + (-1) * positif(TXINRISF_A) * positif(TXINRISF) 
+		   * positif(positif(TXINRISF - TXINRISF_A)+positif(TXINRISF_A-TXINRISF)))
+               + (TXINRISF * positif(TXINRISF_A) * null(TXINRISF - TXINRISF_A))
+               ;
+
+
+NATMAJISF = positif(positif(RETISF) * positif(NMAJISF1)+positif(NMAJISF1))
+	    + 2 * positif(RETISF) * (1-positif(NMAJISF1));
+
+regle isf 77215:
+application : iliad , batch  ;
+
+
+
+PISF = ( INCISF_NET 
+	 + NMAJISF1 
+         + arr(ISF5 * TXINTISF / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+
+regle isf 77219 :
+application : iliad , batch ;
+
+NAPISFTOT = ISF5 + PISF ;
+
+regle isf 77220:
+application : iliad , batch ;
+
+ISFNET = NAPISFTOT ; 
+
+regle isf 77221:
+application : iliad , batch ;
+
+ISFNAP = ISFCUM - V_ANTISF ;
+
+regle isf 77230:
+application : iliad, batch ;
+
+ILI_SYNT_ISF = (1 - positif_ou_nul(ISF4BIS - SEUIL_12)) * null(V_ANTISF+0) * ISF4BIS
+               + positif_ou_nul(ISF4BIS - SEUIL_12) * ISF4BIS ;
+               
+
+regle isf 77270:
+application : iliad, batch ;
+
+
+ISF4BIS= max( 0, ISF5 ) ; 
+
diff --git a/sources2013m_3_8/chap-majo.m b/sources2013m_3_8/chap-majo.m
new file mode 100644
index 0000000000000000000000000000000000000000..5cb36136eccd216f841477f93c5d17378323e5cd
--- /dev/null
+++ b/sources2013m_3_8/chap-majo.m
@@ -0,0 +1,758 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle isf 232:
+application : iliad ;
+SUPISF[X] = positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X)
+            * max(ISF4BASE,0)
+            + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	     * max(0,ISF4BASE - (TISF4BASE[FLAG_DERSTTR]));
+
+regle 23111:
+application : iliad ;
+IRBASE = IRN - IRANT ;
+
+TAXABASE_MAJO = TAXASSUR * positif(IAMD1 + 1 - SEUIL_61);
+CAPBASE_MAJO = IPCAPTAXT * positif(IAMD1 + 1 - SEUIL_61);
+LOYBASE_MAJO = TAXLOY * positif(IAMD1  + 1 - SEUIL_61);
+HRBASE_MAJO = IHAUTREVT * positif(IAMD1  + 1 - SEUIL_61);
+
+CSBASE_MAJO = (CSG - CSGIM) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RDBASE_MAJO = (RDSN - CRDSIM) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PSBASE_MAJO = (PRS - PRSPROV) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+CVNBASE_MAJO = (CVNSALC - COD8YT) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+CDISBASE_MAJO = (CDIS - CDISPROV) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+GLOBASE_MAJO = (CGLOA - COD8YL) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RSE1BASE_MAJO = (RSE1N - CSPROVYD) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RSE2BASE_MAJO = (RSE2N - CSPROVYF) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RSE3BASE_MAJO = (RSE3N - CSPROVYG) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RSE4BASE_MAJO = (RSE4N - CSPROVYH) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RSE5BASE_MAJO = (RSE5N - CSPROVYE) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+regle corrective 23112:
+application :   iliad ;
+TOT_BASE_MAJO = IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + HRBASE_MAJO + LOYBASE_MAJO ;
+
+TOT_REF = TIRBASE[FLAG_DERSTTR] +TTAXABASE[FLAG_DERSTTR] + TLOYBASE[FLAG_DERSTTR]
+	 +TPCAPBASE[FLAG_DERSTTR]+TCHRBASE[FLAG_DERSTTR];
+
+
+TAXA_ISO = TAXASSUR * positif(IAMD1 + 1 - SEUIL_61) ; 
+CAP_ISO  = IPCAPTAXT * positif(IAMD1 + 1 - SEUIL_61) ; 
+HR_ISO   = IHAUTREVT  * positif(IAMD1 + 1 - SEUIL_61) ; 
+
+PENA_RESTIT = max(0, IRBASE - TIRBASE[FLAG_DERSTTR]);
+
+NOPENA_RESTIT = max(0 , min( IRBASE - TIRBASE[FLAG_DERSTTR] ,
+			     max( 0, IRBASE + TTAXABASE[FLAG_DERSTTR]+TPCAPBASE[FLAG_DERSTTR]
+					    + TLOYBASE[FLAG_DERSTTR]  +TCHRBASE[FLAG_DERSTTR])
+                           )
+	   );
+
+SUPIR[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+		   * max(IRBASE,0)
+
+
+	      + ( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		  * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+		  * PENA_RESTIT
+
+
+              + ( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+                  * (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+                  * (1 - positif(null(X-1)))
+	          * ((1 - positif(TARDIFEVT2)*null(X-2))
+                      * NOPENA_RESTIT 
+                      + positif(TARDIFEVT2) * null(X-2) * TIRBASE[FLAG_DERSTTR]
+	            )
+
+           + (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13)))) 
+              *  null(X-1)*positif( null(CSTRATE1 - 1) + null(CSTRATE1 - 7) + null(CSTRATE1 - 8)
+			           +null(CSTRATE1 - 10)+ null(CSTRATE1 - 11)+ null(CSTRATE1 - 17)
+                                   +null(CSTRATE1 - 18)) 
+			               * NOPENA_RESTIT
+
+           + null(X-1)*positif( null(CSTRATE1 - 3)
+	                       +null(CSTRATE1 - 4)
+			       +null(CSTRATE1 - 5)
+			       +null(CSTRATE1 - 6)
+		               +null(CSTRATE1 - 55)) 
+                              		* PENA_RESTIT ; 
+
+
+SUP2IR[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                    * max(IRBASE,0)
+	      + ((positif(null(X-14)+null(X-15)+null(X-18)+null(X-20)+null(X-22))
+                    * PENA_RESTIT 
+	          )
+	          + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20)))* 0)
+                 * (1 - positif(null(X-1))) 
+           + null(X-1)*positif( null(CSTRATE1 - 1)
+                               +null(CSTRATE1 - 17)
+	                       +null(CSTRATE1 - 2)
+			       +null(CSTRATE1 - 10)
+		               +null(CSTRATE1 - 30)) 
+	             * PENA_RESTIT;
+
+SUPCS[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	    * max(0,CSBASE_MAJO - (TCSBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(CSBASE_MAJO - TCSBASE[FLAG_DERSTTR]))))
+          + (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+            * max(CSBASE_MAJO,0); 
+
+
+SUPPS[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	    * max(0,PSBASE_MAJO - (TPSBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(PSBASE_MAJO - TPSBASE[FLAG_DERSTTR]))))
+          + (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+            * max(PSBASE_MAJO,0); 
+
+
+SUPRD[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	    * max(0,RDBASE_MAJO - (TRDBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RDBASE_MAJO - TRDBASE[FLAG_DERSTTR]))))
+          + (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+            * max(RDBASE_MAJO,0); 
+
+
+SUPGLO[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	     * max(0,GLOBASE_MAJO - (TGLOBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(GLOBASE_MAJO - TGLOBASE[FLAG_DERSTTR]))))
+           + (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+             * max(GLOBASE_MAJO,0); 
+
+SUPCDIS[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,CDISBASE_MAJO - (TCDISBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(CDISBASE_MAJO - TCDISBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(CDISBASE_MAJO,0); 
+SUPCVN[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,CVNBASE_MAJO - (TCVNBASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(CVNBASE_MAJO - TCVNBASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(CVNBASE_MAJO,0); 
+
+SUPRSE1[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,RSE1BASE_MAJO - (TRSE1BASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RSE1BASE_MAJO - TRSE1BASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RSE1BASE_MAJO,0); 
+
+SUPRSE2[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,RSE2BASE_MAJO - (TRSE2BASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RSE2BASE_MAJO - TRSE2BASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RSE2BASE_MAJO,0); 
+
+SUPRSE3[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,RSE3BASE_MAJO - (TRSE3BASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RSE3BASE_MAJO - TRSE3BASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RSE3BASE_MAJO,0); 
+
+SUPRSE4[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,RSE4BASE_MAJO - (TRSE4BASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RSE4BASE_MAJO - TRSE4BASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RSE4BASE_MAJO,0); 
+SUPRSE5[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	 * max(0,RSE5BASE_MAJO - (TRSE5BASE[FLAG_DERSTTR] * positif(TNAPCR[FLAG_DERSTTR] + NAPCR_P + null(RSE5BASE_MAJO - TRSE5BASE[FLAG_DERSTTR]))))
+         +  (positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+         * max(RSE5BASE_MAJO,0); 
+
+SUPTAXA[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                      * max( TAXABASE_MAJO , 0 ) 
+
+
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+		 * max( 0, TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR])
+
+
+              + ( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		* (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+                * max( 0, min( TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR],
+				     max( 0, IRBASE + TAXABASE_MAJO + TPCAPBASE[FLAG_DERSTTR] + TLOYBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR] )
+                             )
+                     );
+
+
+
+SUP2TAXA[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                      * max( 0, min( TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR],
+				     max( 0, IRBASE + TAXABASE_MAJO + TPCAPBASE[FLAG_DERSTTR] + TLOYBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR] )
+                                   )
+                           )
+
+
+	      + positif(20 - V_NOTRAIT) * positif(null(X-14))
+                      * max( 0, min( TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR],
+				     max( 0, IRBASE + TAXABASE_MAJO + TPCAPBASE[FLAG_DERSTTR] + TLOYBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR] )
+                                   )
+                           )
+
+	      + (1-positif(20 - V_NOTRAIT)) * positif(null(X-14))
+		* max( 0, TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR])
+	        
+	      + positif(null(X-15)+null(X-18)+null(X-22))
+		* max( 0, TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR])
+
+	     + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-22))) * 0
+	     ;
+
+
+SUPCAP[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                     * max( 0 , CAPBASE_MAJO )
+
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+                 * max( 0, CAPBASE_MAJO - TPCAPBASE[FLAG_DERSTTR] )
+
+	+( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		* (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+	        * max(0, min( CAPBASE_MAJO - TPCAPBASE[FLAG_DERSTTR] , 
+	                      max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + TLOYBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR] )
+                            )
+                     );
+                
+SUP2CAP[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+	             * max(0, min( CAPBASE_MAJO - TPCAPBASE[FLAG_DERSTTR] , 
+	                           max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + TLOYBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR] )
+                                 )
+                           )
+
+
+              + positif(20 - V_NOTRAIT) * positif(null(X-14))            
+	             * max(0, min( CAPBASE_MAJO - TPCAPBASE[FLAG_DERSTTR] , 
+	                           max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + TLOYBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR] )
+                                 )
+                           )
+              + (1-positif(20 - V_NOTRAIT)) * positif(null(X-14))
+		* max(0, CAPBASE_MAJO - TPCAPBASE[FLAG_DERSTTR])
+                      
+              + positif(null(X-15)+null(X-18)+null(X-20)+null(X-22))
+	         * max(0, CAPBASE_MAJO - TPCAPBASE[FLAG_DERSTTR]) 
+                 
+              + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20)+null(X-22))) * 0
+	      ;
+
+SUPLOY[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                     * max( 0 , LOYBASE_MAJO )
+
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+                 * max(0 , LOYBASE_MAJO - TLOYBASE[FLAG_DERSTTR])
+
+
+	+( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		* (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+                * max(0 , min( LOYBASE_MAJO - TLOYBASE[FLAG_DERSTTR] ,
+		               max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO + TCHRBASE[FLAG_DERSTTR] )
+                             )
+                      );
+
+SUP2LOY[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                     * max(0 , min( LOYBASE_MAJO - TLOYBASE[FLAG_DERSTTR] ,
+				    max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO + TCHRBASE[FLAG_DERSTTR] )
+                                  )
+                          )
+
+              + positif(20 - V_NOTRAIT) * positif(null(X-14))
+                     * max(0 , min( LOYBASE_MAJO - TLOYBASE[FLAG_DERSTTR] ,
+				    max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO + TCHRBASE[FLAG_DERSTTR] )
+                                  )
+                          )
+
+              + (1-positif(20 - V_NOTRAIT)) * positif(null(X-14))
+                * max(0 , LOYBASE_MAJO - TLOYBASE[FLAG_DERSTTR])
+
+              + positif(null(X-15)+null(X-18)+null(X-20)+null(X-22))
+                * max(0 , LOYBASE_MAJO - TLOYBASE[FLAG_DERSTTR])
+		
+              + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20)+null(X-22))) * 0
+	      ;
+
+SUPHR[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                    * max( 0 , HRBASE_MAJO )
+
+
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+		 * max( 0, HRBASE_MAJO - TCHRBASE[FLAG_DERSTTR] )
+
+
+              + ( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		* (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+                * max(0 , min( HRBASE_MAJO - TCHRBASE[FLAG_DERSTTR] ,
+			       max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO + HRBASE_MAJO )
+                             )
+                     );
+
+
+SUP2HR[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                     * max(0 , min( HRBASE_MAJO - TCHRBASE[FLAG_DERSTTR] ,
+				    max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO + HRBASE_MAJO )
+                                  )
+                          )
+
+              + positif(20 - V_NOTRAIT) * positif(null(X-14))
+                     * max(0 , min( HRBASE_MAJO - TCHRBASE[FLAG_DERSTTR] ,
+				    max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO + HRBASE_MAJO )
+                                  )
+                          )
+
+              + (1-positif(20 - V_NOTRAIT)) * positif(null(X-14))
+	             * max(0 , HRBASE_MAJO - TCHRBASE[FLAG_DERSTTR])
+
+              + positif(null(X-15)+null(X-18)+null(X-20)+null(X-22))
+                * max(0 , HRBASE_MAJO - TCHRBASE[FLAG_DERSTTR])
+		
+              + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20)+null(X-22))) * 0
+	      ;
+
+regle corrective 23113:
+application : iliad;
+TMAJOIR[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPIR[X] * TAUX_STRATE/100 ));
+T2MAJOIR[X] = (1 - null(1 - IND_RJLJ))
+	     * (
+
+	     (positif(null(X - 0) * null(CODE_2042 - 17) 
+		 +null(X-14)+null(X-15)+null(X-18)+null(X-20)+null(X-22))
+        	*(positif(null(X-21)+null(X-22))*TL_IR*arr(SUP2IR[X] * TX1758A/100)
+	          +(1-null(X-22)) * arr(SUP2IR[X] * TX1758A/100)))
+
+
+	      + null(X-1) 
+	                  * positif(null(X - 1) * null(CSTRATE1 - 17)
+                               +null(CSTRATE1 - 1)
+	                       +null(CSTRATE1 - 2)
+			       +null(CSTRATE1 - 10)
+		               +null(CSTRATE1 - 30)) * arr(SUP2IR[X] * TX1758A/100)
+
+                 ); 
+
+MAJOIR_ST = MAJOIRST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOIR[X] + T2MAJOIR[X];
+TMAJOCS[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCS[X] * TAUX_STRATE/100 ));
+MAJOCS_ST = MAJOCSST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCS[X] ;
+TMAJOPS[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPPS[X] * TAUX_STRATE/100 ));
+MAJOPS_ST = MAJOPSST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOPS[X] ;
+TMAJORD[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRD[X] * TAUX_STRATE/100 ));
+MAJORD_ST = MAJORDST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORD[X] ;
+TMAJOCVN[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCVN[X] * TAUX_STRATE/100 ));
+MAJOCVN_ST = MAJOCVNST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCVN[X] ;
+TMAJOCDIS[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCDIS[X] * TAUX_STRATE/100 ));
+
+MAJOCDIS_ST = MAJOCDISST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCDIS[X] ;
+TMAJOGLO[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPGLO[X] * TAUX_STRATE/100 ));
+MAJOGLO_ST = MAJOGLOST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOGLO[X] ;
+TMAJORSE1[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE1[X] * TAUX_STRATE/100 ));
+MAJORSE1_ST = MAJORSE1ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE1[X] ;
+TMAJORSE2[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE2[X] * TAUX_STRATE/100 ));
+MAJORSE2_ST = MAJORSE2ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE2[X] ;
+TMAJORSE3[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE3[X] * TAUX_STRATE/100 ));
+MAJORSE3_ST = MAJORSE3ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE3[X] ;
+TMAJORSE4[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE4[X] * TAUX_STRATE/100 ));
+MAJORSE4_ST = MAJORSE4ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE4[X] ;
+TMAJORSE5[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE5[X] * TAUX_STRATE/100 ));
+MAJORSE5_ST = MAJORSE5ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE5[X] ;
+TMAJOTAXA[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPTAXA[X] * TAUX_STRATE/100 ));
+T2MAJOTAXA[X] = (1 - null(1 - IND_RJLJ))
+
+	     * (positif(null(X - 0) * null(CODE_2042 - 17) 
+	        + null(X-14)+null(X-15)+null(X-18)+null(X-22))
+		*(null(X-22)*TL_TAXAGA*arr(SUP2TAXA[X] * TX1758A/100)
+		  +(1-null(X-22)) * arr(SUP2TAXA[X] * TX1758A/100)));
+
+MAJOTAXA_ST = MAJOTAXAST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOTAXA[X] + T2MAJOTAXA[X];
+TMAJOHR[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPHR[X] * TAUX_STRATE/100 ));
+T2MAJOHR[X] = (1 - null(1 - IND_RJLJ))
+
+	     * (positif(null(X - 0) * null(CODE_2042 - 17) 
+	        + null(X-14)+null(X-15)+null(X-18)+null(X-20)+null(X-22))
+		*(positif(null(X-20)+null(X-22))*TL_CHR*arr(SUP2HR[X] * TX1758A/100)
+		  +(1-positif(null(X-20)+null(X-22))) * arr(SUP2HR[X] * TX1758A/100)));
+MAJOHR_ST = MAJOHRST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOHR[X] + T2MAJOHR[X];
+TMAJOCAP[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCAP[X] * TAUX_STRATE/100 ));
+T2MAJOCAP[X] = (1 - null(1 - IND_RJLJ))
+
+	     * (positif(null(X - 0) * null(CODE_2042 - 17) 
+	        + null(X-14)+null(X-15)+null(X-18)+null(X-22))
+		*(null(X-22)*TL_CAP*arr(SUP2CAP[X] * TX1758A/100)
+		  +(1-null(X-22)) * arr(SUP2CAP[X] * TX1758A/100)));
+MAJOCAP_ST = MAJOCAPST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCAP[X] + T2MAJOCAP[X];
+TMAJOLOY[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPLOY[X] * TAUX_STRATE/100 ));
+T2MAJOLOY[X] = (1 - null(1 - IND_RJLJ))
+
+	     * (positif(null(X - 0) * null(CODE_2042 - 17) 
+	        + null(X-14)+null(X-15)+null(X-18)+null(X-22))
+		*(null(X-22)*TL_LOY*arr(SUP2LOY[X] * TX1758A/100)
+		  +(1-null(X-22)) * arr(SUP2LOY[X] * TX1758A/100)));
+MAJOLOY_ST = MAJOLOYST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOLOY[X] + T2MAJOLOY[X];
+regle isf 233:
+application : iliad;
+TMAJOISF[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPISF[X] * TAUX_STRATE/100 ));
+MAJOISF_ST = MAJOISFST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOISF[X] ;
+regle corrective 23114:
+application : iliad;
+
+MAJOIR07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+			* STR_TR16 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR17_2TARDIF = max(0,arr(FLAG_TRTARDIF * TX1758A/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR_TARDIF = somme(x = 07,08: MAJOIR0x_TARDIF) 
+		+ MAJOIR17_1TARDIF + MAJOIR17_2TARDIF;
+MAJOCS07_TARDIF = max(0,arr(FLAG_TRTARDIF * CSBASE_MAJO * TAUX_2042/100)
+			* STR_TR16 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCS08_TARDIF = max(0,arr(FLAG_TRTARDIF * CSBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCS17_TARDIF = max(0,arr(FLAG_TRTARDIF * CSBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCS_TARDIF = somme(x = 07,08,17 : MAJOCSx_TARDIF);
+MAJOPS07_TARDIF = max(0,arr(FLAG_TRTARDIF * PSBASE_MAJO * TAUX_2042/100)
+			* STR_TR16 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOPS08_TARDIF = max(0,arr(FLAG_TRTARDIF * PSBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOPS17_TARDIF = max(0,arr(FLAG_TRTARDIF * PSBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOPS_TARDIF = somme(x = 07,08,17 : MAJOPSx_TARDIF);
+MAJORD07_TARDIF = max(0,arr(FLAG_TRTARDIF * RDBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJORD08_TARDIF = max(0,arr(FLAG_TRTARDIF * RDBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJORD17_TARDIF = max(0,arr(FLAG_TRTARDIF * RDBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJORD_TARDIF = somme(x = 07,08,17 : MAJORDx_TARDIF);
+MAJOCVN07_TARDIF = max(0,arr(FLAG_TRTARDIF * CVNBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCVN08_TARDIF = max(0,arr(FLAG_TRTARDIF * CVNBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCVN17_TARDIF = max(0,arr(FLAG_TRTARDIF * CVNBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCVN_TARDIF = somme(x = 07,08,17 : MAJOCVNx_TARDIF);
+MAJOCDIS07_TARDIF = max(0,arr(FLAG_TRTARDIF * CDISBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCDIS08_TARDIF = max(0,arr(FLAG_TRTARDIF * CDISBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCDIS17_TARDIF = max(0,arr(FLAG_TRTARDIF * CDISBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCDIS_TARDIF = somme(x = 07,08,17 : MAJOCDISx_TARDIF);
+MAJOGLO07_TARDIF = max(0,arr(FLAG_TRTARDIF * GLOBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOGLO08_TARDIF = max(0,arr(FLAG_TRTARDIF * GLOBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOGLO17_TARDIF = max(0,arr(FLAG_TRTARDIF * GLOBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOGLO_TARDIF = somme(x = 07,08,17 : MAJOGLOx_TARDIF);
+MAJORSE107_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE1BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE108_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE1BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE117_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE1BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE1_TARDIF = somme(x = 07,08,17 : MAJORSE1x_TARDIF);
+MAJORSE207_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE2BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE208_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE2BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE217_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE2BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE2_TARDIF = somme(x = 07,08,17 : MAJORSE2x_TARDIF);
+MAJORSE307_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE3BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE308_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE3BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE317_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE3BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE3_TARDIF = somme(x = 07,08,17 : MAJORSE3x_TARDIF);
+MAJORSE407_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE4BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE408_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE4BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE417_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE4BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE4_TARDIF = somme(x = 07,08,17 : MAJORSE4x_TARDIF);
+MAJORSE507_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE5BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE508_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE5BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE517_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE5BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE5_TARDIF = somme(x = 07,08,17 : MAJORSE5x_TARDIF);
+MAJOHR07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+LOYBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+
+MAJOHR08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+LOYBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJOHR17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+LOYBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+MAJOHR17_2TARDIF = max(0,arr(FLAG_TRTARDIF * TX1758A/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+LOYBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+MAJOHR_TARDIF = somme(x = 07,08 : MAJOHR0x_TARDIF) 
+		+ MAJOHR17_1TARDIF + MAJOHR17_2TARDIF;
+MAJOCAP07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                             min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                )
+                            )
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOCAP08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+			     min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                )
+                             )
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOCAP17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                              min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			          max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                 )
+                             )
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOCAP17_2TARDIF = max(0,arr(FLAG_TRTARDIF * TX1758A/100 *
+                              min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			          max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                 )
+                             )
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+MAJOCAP_TARDIF = somme(x = 07,08 : MAJOCAP0x_TARDIF) 
+		+ MAJOCAP17_1TARDIF + MAJOCAP17_2TARDIF;
+MAJOLO07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                             min(min(LOYBASE2042_FIC,LOYBASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO)
+                                )
+                            )
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOLO08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+			     min(min(LOYBASE2042_FIC,LOYBASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO)
+                                )
+                             )
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOLO17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                              min(min(LOYBASE2042_FIC, LOYBASE_MAJO),
+			          max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO)
+                                 )
+                             )
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOLO17_2TARDIF = max(0,arr(FLAG_TRTARDIF * TX1758A/100 *
+                              min(min(LOYBASE2042_FIC,LOYBASE_MAJO),
+			          max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO)
+                                 )
+                             )
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+MAJOLOY_TARDIF = somme(x = 07,08 : MAJOLO0x_TARDIF) 
+		+ MAJOLO17_1TARDIF + MAJOLO17_2TARDIF;
+
+MAJOTAXA07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 * 
+                             min(min(TAXABASE2042_FIC,TAXABASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO)
+                                )
+                              )
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJOTAXA08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+			      min(min(TAXABASE2042_FIC,TAXABASE_MAJO),
+                                  max(0, IRBASE + TAXABASE_MAJO)
+				 )	   
+                              ) 
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOTA17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                             min(min(TAXABASE2042_FIC,TAXABASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO)
+                        
\ No newline at end of file
diff --git a/sources2013m_3_8/chap-perp.m b/sources2013m_3_8/chap-perp.m
new file mode 100644
index 0000000000000000000000000000000000000000..34a9d67e5f31222960eec955609c38b500857d04
--- /dev/null
+++ b/sources2013m_3_8/chap-perp.m
@@ -0,0 +1,711 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+                                                                       
+  ####   #    #    ##    #####      #     #####  #####   ######         
+ #    #  #    #   #  #   #    #     #       #    #    #  #          
+ #       ######  #    #  #    #     #       #    #    #  #####      
+ #       #    #  ######  #####      #       #    #####   #             
+ #    #  #    #  #    #  #          #       #    #   #   #              
+  ####   #    #  #    #  #          #       #    #    #  ######  
+regle 31000:
+application : iliad , batch  ;
+PERP_BOOL = positif(null(1-(V_0CF+V_0CH+V_0CR+V_0DJ+V_0DN+V_0DP)) *
+          null(
+   present( TSHALLO2 ) 
+ + present( ALLO2 ) 
+ + present( TSHALLO3 ) 
+ + present( ALLO3 ) 
+ + present( TSHALLO4 ) 
+ + present( ALLO4 ) 
+ + present( FRN2 ) 
+ + present( FRN3 ) 
+ + present(FRN4)
+ + present(HEURESUPP2)
+ + present(HEURESUPP3)
+ + present(HEURESUPP4)
+ + present(CARTSP2)
+ + present(CARTSP3)
+ + present(CARTSP4)
+ + present(REMPLAP2)
+ + present(REMPLAP3)
+ + present(REMPLAP4)
+ )); 
+regle 31002:
+application : iliad , batch  ;
+PERPSALV = 
+  TSHALLOV  
+ + ALLOV  
+ + GLD1V  
+ + GLD2V  
+ + GLD3V  
+ + GLDGRATV
+ + BPCOSAV  
+ + TSASSUV  
+ + CARTSV  
+ + TSELUPPEV  
+ + HEURESUPV
+ + REMPLAV
+ + CODDAJ
+ + CODEAJ
+ + max(0,SALEXTV - COD1AD)
+ ;
+PERPSALC = 
+   TSHALLOC  
+ + ALLOC  
+ + GLD1C  
+ + GLD2C  
+ + GLD3C  
+ + GLDGRATC
+ + BPCOSAC  
+ + TSASSUC  
+ + CARTSC  
+ + TSELUPPEC  
+ + HEURESUPC
+ + REMPLAC
+ + CODDBJ
+ + CODEBJ
+ + max(0,SALEXTC - COD1BD)
+ ;
+PERPSALP = PERP_BOOL * (
+   TSHALLO1  
+ + ALLO1  
+ + CARTSP1
+ + REMPLAP1
+ + HEURESUPP1
+ + max(0,SALEXT1 - COD1CD)
+ )
+ ;
+regle 31003:
+application : iliad , batch  ;
+PERPSALDV = PREP10V;
+PERPSALDC = PREP10C;
+PERPSALDP = PREP10P * PERP_BOOL;
+regle 31004:
+application : iliad , batch  ;
+PERPSALNV = PERPSALV - PERPSALDV + ELURASV;
+PERPSALNC = PERPSALC - PERPSALDC + ELURASC;
+PERPSALNP = PERPSALP -PERPSALDP ;
+regle 31005:
+application : iliad , batch  ;
+PERPBANV = 
+   FEXV  
+ + BAFV  
+ + BAFPVV  
+ + BAEXV  
+ + BACREV  
+ - (BACDEV * (1 - positif(ART1731BIS) ))  
+ + BAHEXV 
+ + BAHREV  
+ - (BAHDEV * (1 - positif(ART1731BIS) )) 
+ + BAPERPV
+ + 4BACREV  
+ + 4BAHREV 
+ + BAFORESTV
+ + BANOCGAV
+ ;
+PERPBANC = 
+   FEXC  
+ + BAFC  
+ + BAFPVC  
+ + BAEXC  
+ + BACREC  
+ - (BACDEC * (1 - positif(ART1731BIS) ))
+ + BAHEXC  
+ + BAHREC  
+ - (BAHDEC * (1 - positif(ART1731BIS) )) 
+ + BAPERPC 
+ + 4BACREC  
+ + 4BAHREC 
+ + BAFORESTC
+ + BANOCGAC
+ ;
+PERPBANP = PERP_BOOL * (
+   FEXP  
+ + BAFP  
+ + BAFPVP  
+ + BAEXP  
+ + BACREP  
+ - (BACDEP * (1 - positif(ART1731BIS) ))
+ + BAHEXP  
+ + BAHREP  
+ - (BAHDEP * (1 - positif(ART1731BIS) ))
+ + BAPERPP
+ + 4BACREP  
+ + 4BAHREP ) 
+ + BAFORESTP
+ + BANOCGAP
+ ;
+regle 31006:
+application :  iliad , batch  ;
+PERPBICMNV =TPMIB_NETPV+TPMIB_NETVV+MIBEXV+MIBPVV-BICPMVCTV;
+PERPBICMNC =TPMIB_NETPC+TPMIB_NETVC+MIBEXC+MIBPVC-BICPMVCTC;
+PERPBICMNP =(TPMIB_NETPP+TPMIB_NETVP+MIBEXP+MIBPVP-BICPMVCTP) * PERP_BOOL;
+regle 31007:
+application : iliad , batch  ;
+PERPBICPNV =
+   BICEXV  
+ + BICNOV  
+ - (BICDNV * (1 - positif(ART1731BIS) )) 
+ + BIHEXV  
+ + BIHNOV  
+ - (BIHDNV * (1 - positif(ART1731BIS) )) 
+ + BIPERPV 
+ + LOCPROCGAV
+ - (LOCDEFPROCGAV * (1 - positif(ART1731BIS) ))
+ + LOCPROV
+ - (LOCDEFPROV * (1 - positif(ART1731BIS) ))
+ ;
+PERPBICPNC =
+   BICEXC  
+ + BICNOC  
+ -  (BICDNC * (1 - positif(ART1731BIS) ))
+ + BIHEXC  
+ + BIHNOC  
+ - (BIHDNC * (1 - positif(ART1731BIS) ))
+ + BIPERPC  
+ + LOCPROCGAC
+ - (LOCDEFPROCGAC * (1 - positif(ART1731BIS) ))
+ + LOCPROC
+ - (LOCDEFPROC * (1 - positif(ART1731BIS) ))
+;
+PERPBICPNP = PERP_BOOL * (
+   BICEXP  
+ + BICNOP  
+ -  (BICDNP * (1 - positif(ART1731BIS) ))
+ + BIHEXP  
+ + BIHNOP  
+ - (BIHDNP * (1 - positif(ART1731BIS) )) 
+ + BIPERPP 
+ + LOCPROCGAP
+ - (LOCDEFPROCGAP * (1 - positif(ART1731BIS) ))
+ + LOCPROP
+ - (LOCDEFPROP * (1 - positif(ART1731BIS) )));
+regle 31008:
+application : iliad , batch  ;
+PERPBNCMNV =  BNCPROEXV + max(0,(BNCPROV+AUTOBNCV) - max(arr((BNCPROV+AUTOBNCV) * SPETXAB/100),MIN_SPEBNC))
+                     + BNCPROPVV-BNCPMVCTV;
+PERPBNCMNC =  BNCPROEXC + max(0,(BNCPROC+AUTOBNCC) - max(arr((BNCPROC+AUTOBNCC) * SPETXAB/100),MIN_SPEBNC))
+                     + BNCPROPVC-BNCPMVCTC;
+PERPBNCMNP =  PERP_BOOL * (
+              BNCPROEXP + max(0,(BNCPROP+AUTOBNCP) - max(arr((BNCPROP+AUTOBNCP) * SPETXAB/100),MIN_SPEBNC))
+                     + BNCPROPVP-BNCPMVCTP);
+regle 31009:
+application :  iliad , batch  ;
+PERPBNCPNV =  
+   BNCEXV  
+ + BNCREV  
+ - (BNCDEV * (1 - positif(ART1731BIS) )) 
+ + BNHEXV  
+ + BNHREV  
+ - (BNHDEV * (1 - positif(ART1731BIS) ))
+ + BNCCRV
+ ;
+PERPBNCPNC =  
+   BNCEXC  
+ + BNCREC  
+ - (BNCDEC * (1 - positif(ART1731BIS) )) 
+ + BNHEXC  
+ + BNHREC  
+ - (BNHDEC * (1 - positif(ART1731BIS) ))
+ + BNCCRC
+ ;
+PERPBNCPNP =  PERP_BOOL * (
+   BNCEXP  
+ + BNCREP  
+ - (BNCDEP * (1 - positif(ART1731BIS) )) 
+ + BNHEXP  
+ + BNHREP  
+ - (BNHDEP * (1 - positif(ART1731BIS) ))
+ + BNCCRP
+ ); 
+regle 31010:
+application :  iliad , batch  ;
+PERPNONSALV = PERPBANV + PERPBICMNV + PERPBICPNV + PERPBNCMNV + PERPBNCPNV;
+PERPNONSALC = PERPBANC + PERPBICMNC + PERPBICPNC + PERPBNCMNC + PERPBNCPNC;
+PERPNONSALP = PERPBANP + PERPBICMNP + PERPBICPNP + PERPBNCMNP + PERPBNCPNP;
+regle 31011:
+application :  iliad , batch  ;
+PERPREVTOTV = max(0,PERPSALNV + PERPNONSALV) ;
+PERPREVTOTC = max(0,PERPSALNC + PERPNONSALC) ;
+PERPREVTOTP = max(0,PERPSALNP + PERPNONSALP) ;
+regle 31012:
+application : iliad , batch  ;
+
+pour i =V,C:
+PERP_INDi = positif( 0 +
+  positif(TSHALLOi)  
+ + positif(ALLOi)    
+ + positif(GLD1i)  + positif(GLD2i)  + positif(GLD3i) 
+ + positif(GLDGRATi)
+ + positif(BPCOSAi)  + positif(TSASSUi)  + positif(CARTSi)  + positif(TSELUPPEi)
++ positif(FEXi)  + positif(BAFi)  + positif(BAFPVi)  + positif(BAEXi)  
++ positif(BACREi) + positif(4BACREi) 
++ positif(BACDEi * (1 - positif(ART1731BIS) ))  + positif(BAHEXi)  
++ positif(BAHREi) + positif(4BAHREi) 
++ positif(BAHDEi * (1 - positif(ART1731BIS) ))  + positif(BAPERPi) 
++ positif(MIBEXi) + positif(MIBVENi) + positif(MIBPRESi) + positif(MIBPVi)
++ positif(AUTOBICVi) + positif(AUTOBICPi)
++ positif(BICEXi) + positif(BICNOi) + positif(BICDNi * (1 - positif(ART1731BIS) ))  
++ positif(BIHEXi) + positif(BIHNOi)  
++ positif(BIHDNi * (1 - positif(ART1731BIS) )) + positif(BIPERPi) 
++ positif(LOCPROCGAi) 
+- positif(LOCDEFPROCGAi * (1 - positif(ART1731BIS) ))
++ positif(LOCPROi) 
+-  positif(LOCDEFPROi * (1 - positif(ART1731BIS) ))
++ positif(BNCPROEXi) + positif(BNCPROi) + positif(BNCPROPVi)
++ positif(AUTOBNCi) 
++ positif(BNCEXi) + positif(BNCREi) + positif(BNCDEi * (1 - positif(ART1731BIS) )) + positif(BNHEXi)  
++ positif(BNHREi) + positif(BNHDEi * (1 - positif(ART1731BIS) )) + positif(BNCCRi) );
+
+PERP_INDP = positif( 0+
+  positif(TSHALLO1)    
+ + positif(ALLO1)    
++ positif(FEXP)  + positif(BAFP)  + positif(BAFPVP)  + positif(BAEXP)  
++ positif(BACREP) + positif(4BACREP) 
++ positif(BACDEP * (1 - positif(ART1731BIS) ))  + positif(BAHEXP)  
++ positif(BAHREP) + positif(4BAHREP) 
++ positif(BAHDEP * (1 - positif(ART1731BIS) ))  + positif(BAPERPP) 
++ positif(MIBEXP) + positif(MIBVENP) + positif(MIBPRESP) + positif(MIBPVP)
++ positif(AUTOBICVP) + positif(AUTOBICPP)
++ positif(BICEXP) + positif(BICNOP) + positif(BICDNP * (1 - positif(ART1731BIS) ))  
++ positif(BIHEXP) + positif(BIHNOP)  
++ positif(BIHDNP * (1 - positif(ART1731BIS) )) + positif(BIPERPP) 
++ positif(LOCPROCGAP) 
+- positif(LOCDEFPROCGAP * (1 - positif(ART1731BIS) )) 
++ positif(LOCPROP) 
+-  positif(LOCDEFPROP * (1 - positif(ART1731BIS) ))   
++ positif(BNCPROEXP) + positif(BNCPROP) + positif(BNCPROPVP)
++ positif(AUTOBNCP)
++ positif(BNCEXP) + positif(BNCREP) + positif(BNCDEP * (1 - positif(ART1731BIS) )) + positif(BNHEXP)  
++ positif(BNHREP) + positif(BNHDEP * (1 - positif(ART1731BIS) )) + positif(BNCCRP) );
+
+regle 31013:
+application : iliad , batch  ;
+
+PERPINDV = positif(
+	    (positif(positif(PERP_INDV)
+	      + (1 - positif(PERP_INDV))
+		 * (1 - positif(PRBRV+PALIV)))
+	    * positif(INDREV1A8))
+	    + (1 - positif(PERP_INDV)) * positif(PRBRV+PALIV) 
+			* positif(PERP_COTV) 
+	    +PERPMUTU * (1 - positif(PERP_INDV+PERP_COTV)))
+	    * (1 - PERP_NONV)
+	    * (1 -V_CNR) ;
+PERPINDC = positif(
+	    (positif(positif(PERP_INDC)
+	      + (1 - positif(PERP_INDC))
+		 * (1 - positif(PRBRC+PALIC)))
+	    * positif(INDREV1A8))
+	    + (1 - positif(PERP_INDC)) * positif(PRBRC+PALIC)
+			* positif(PERP_COTC) 
+	    +PERPMUTU * (1 - positif(PERP_INDC+PERP_COTC)))		
+	    * (1 - PERP_NONC)
+	    * BOOL_0AM
+	    * (1 -V_CNR) ;
+PERPINDP = positif(
+	    (positif(positif(PERP_INDP)
+	      + (1 - positif(PERP_INDP))
+		 * (1 - positif(PRBR1+PALIP)))
+	    * positif(INDREV1A8))
+	    + (1 - positif(PERP_INDP)) * positif(PRBR1+PALIP)
+			* positif(PERP_COTP) 
+	    )
+	    * PERP_BOOL
+	    * (1 -V_CNR) ;
+
+regle 31014:
+application : iliad , batch  ;
+PERPINDCV = positif(V_BTPERPTOTV + PERPPLAFCV 
+		+ PERPPLAFNUV1 + PERPPLAFNUV2 +PERPPLAFNUNV
+		+ PERP_COTV + RACCOTV) 
+	    * PERPINDV
+	    * (1 -V_CNR);
+PERPINDCC = BOOL_0AM 
+	    * positif(V_BTPERPTOTC + PERPPLAFCC 
+		+ PERPPLAFNUC1 + PERPPLAFNUC2 +PERPPLAFNUNC
+		+ PERP_COTC + RACCOTC) 
+	    * PERPINDC
+            * (1 -V_CNR);
+PERPINDCP = PERP_BOOL 
+	  * positif(V_BTPERPTOTP + PERPPLAFCP 
+		+ PERPPLAFNUP1 + PERPPLAFNUP2 +PERPPLAFNUNP
+		+ PERP_COTP + RACCOTP) 
+	+0
+	   * (1 -V_CNR);
+regle 31015:
+application : iliad , batch  ;
+PERPPLAFV = positif(PERPINDV) *
+	      max(0,positif(PERPREVTOTV) 
+	      * (max(min(arr(PERPREVTOTV * TX_PERPPLAF/100),LIM_PERPMAX),LIM_PERPMIN)-PERPV)
+            + (1 - positif(PERPREVTOTV)) * (LIM_PERPMIN - PERPV) 
+               )
+ 	   * (1 -V_CNR);
+PERPPLAFC = positif(PERPINDC) * BOOL_0AM * 
+		max(0,positif(PERPREVTOTC) 
+		* (max(min(arr(PERPREVTOTC * TX_PERPPLAF/100),LIM_PERPMAX),LIM_PERPMIN)-PERPC)
+                + (1 - positif(PERPREVTOTC)) * (LIM_PERPMIN - PERPC)
+                   ) 
+ 	   * (1 -V_CNR);
+PERPPLAFP = positif(PERPINDP) *
+	      max(0,positif(PERPREVTOTP) 
+	      * (max(min(arr(PERPREVTOTP * TX_PERPPLAF/100),LIM_PERPMAX),LIM_PERPMIN)-PERPP)
+            + (1 - positif(PERPREVTOTP)) * (LIM_PERPMIN - PERPP) 
+               )
+ 	   * (1 -V_CNR);
+regle 31016:
+application : iliad , batch  ;
+pour i =V,C,P:
+PERPPLAFTi = PERPINDi 
+	     * max(0,PERPPLAFi + PERPPLAFNUNi + PERPPLAFNU1i + PERPPLAFNU2i) 
+	     * (1 - V_CNR);
+regle 31017:
+application : iliad , batch  ;
+pour i =V,C,P:
+PERPPLATiANT = (1 - positif(present(PERPPLAFCi) + present(PERPPLAFNUi1)
+		+ present(PERPPLAFNUi2) + present(PERPPLAFNUi3)))
+		* V_BTPERPTOTi
+		+ positif(present(PERPPLAFCi) + present(PERPPLAFNUi1)
+		+ present(PERPPLAFNUi2) + present(PERPPLAFNUi3))
+		 *(PERPPLAFCi + PERPPLAFNUi1 + PERPPLAFNUi2 + PERPPLAFNUi3);
+pour i =V,C,P:
+PERPPLAFiANT = present(PERPPLAFCi) * PERPPLAFCi
+	      + (1 - present(PERPPLAFCi)) * V_BTPERPi;
+pour i =V,C,P:
+PERPPLAFNUi2ANT = present(PERPPLAFNUi2) * PERPPLAFNUi2
+ 		+(1 - present(PERPPLAFNUi2)) * V_BTPERPNUi2 ;
+pour i =V,C,P:
+PERPPLAFNUi3ANT = present(PERPPLAFNUi3) * PERPPLAFNUi3
+ 		+(1 - present(PERPPLAFNUi3)) * V_BTPERPNUi3 ;
+regle 31018:
+application : iliad , batch  ;
+PERPPLAFNUTV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* max(PERPPLATVANT - RPERPV,0)
+		+ positif(PERP_COND1) * 0
+		+ positif(PERP_COND2) * max(0,PERPPLATVANT - RPERPV - RPERPMUTC - RACCOTC)
+		;
+PERPPLAFNUTC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* max(PERPPLATCANT - RPERPC,0)
+		+ positif(PERP_COND1) * max(0,PERPPLATCANT - RPERPC - RPERPMUTV - RACCOTV)
+		+ positif(PERP_COND2) * 0
+		;
+PERPPLAFNUTP = max(PERPPLATPANT - RPERPP,0) ;
+PERPPLAFNUV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) * max(0,PERPPLAFVANT - RPERPV)
+	         + positif(PERPIMPATRIE+0) * max(0,PERPPLAFV - RPERPV))
+	       + positif(PERP_COND1) * 0
+	       + positif(PERP_COND2) 
+	       * ((1 - positif(PERPIMPATRIE))
+		 * max(0,PERPPLAFVANT - RPERPV - RPERPMUTC - RACCOTC)
+		 + positif(PERPIMPATRIE)
+		 * max(0,PERPPLAFV - RPERPV - RPERPMUTC - RACCOTC))
+	       ;
+PERPPLAFNUC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) * max(0,PERPPLAFCANT - RPERPC)
+	         + positif(PERPIMPATRIE+0) * max(0,PERPPLAFC - RPERPC))
+	       + positif(PERP_COND1) 
+	       * ((1 - positif(PERPIMPATRIE))
+	       * max(0,PERPPLAFCANT - RPERPC - RPERPMUTV - RACCOTV)
+		 + positif(PERPIMPATRIE)
+	       * max(0,PERPPLAFC - RPERPC - RPERPMUTV - RACCOTV))
+	       + positif(PERP_COND2) * 0
+	       ;
+PERPPLAFNUP = (1 - positif(PERPIMPATRIE+0)) * max(0,PERPPLAFPANT - RPERPP)
+	       + positif(PERPIMPATRIE+0) * max(0,PERPPLAFP - RPERPP)
+	       ;
+pour i =V,C,P:
+PERPPLAFNUNi = max(0,PERPPLAFNUi);
+PERPPLAFNU3V = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFNUV) * PERPPLAFNUV3ANT
+	             + (1 - positif(PERPPLAFNUV)) 
+		    * max(0,PERPPLAFNUV3ANT - (RPERPV - PERPPLAFVANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) * 0
+   		+ positif(PERP_COND2) * (positif(PERPPLAFNUV) * PERPPLAFNUV3ANT
+			+ (1 - positif(PERPPLAFNUV)) *max(0,PERPPLAFNUV3ANT - (RPERPV + RPERPMUTC  + RACCOTC- PERPPLAFVANT)))
+		    ;
+PERPPLAFNU3C = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFNUC) * PERPPLAFNUC3ANT
+	             + (1 - positif(PERPPLAFNUC)) 
+		    * max(0,PERPPLAFNUC3ANT - (RPERPC - PERPPLAFCANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) * (positif(PERPPLAFNUC) * PERPPLAFNUC3ANT
+			+ (1 - positif(PERPPLAFNUC)) *max(0,PERPPLAFNUC3ANT - (RPERPC + RPERPMUTV  + RACCOTV- PERPPLAFCANT)))
+   		+ positif(PERP_COND2) * 0
+		    ;
+PERPPLAFNU3P = (1 - positif(PERPIMPATRIE+0)) 
+		* (
+		  max(0,positif(PERPPLAFNUP) * PERPPLAFNUP3ANT
+	             + (1 - positif(PERPPLAFNUP+0)) 
+		    * (PERPPLAFNUP3ANT - (RPERPP - PERPPLAFPANT)))
+		    )
+		 + positif(PERPIMPATRIE+0) * 0 ;
+PERPPLAFNU2V = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV) 
+				* PERPPLAFNUV2ANT
+	          + (1 - positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV)) 
+		    * max(0,PERPPLAFNUV2ANT - (RPERPV - PERPPLAFVANT - PERPPLAFNUV3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) * 0
+   		+ positif(PERP_COND2) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV - RPERPMUTC- RACCOTC) 
+				* PERPPLAFNUV2ANT
+	          + (1 - positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV - RPERPMUTC - RACCOTC)) 
+		    * max(0,PERPPLAFNUV2ANT - (RPERPV + RPERPMUTC + RACCOTC) - (PERPPLAFVANT + PERPPLAFNUV3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+		;
+PERPPLAFNU2C = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC) 
+				* PERPPLAFNUC2ANT
+	          + (1 - positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC)) 
+		    * max(0,PERPPLAFNUC2ANT - (RPERPC - PERPPLAFCANT - PERPPLAFNUC3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND1) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		    * (positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC - RPERPMUTV - RACCOTV) 
+				* PERPPLAFNUC2ANT
+	          + (1 - positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC - RPERPMUTV - RACCOTV )) 
+		    * max(0,PERPPLAFNUC2ANT - (RPERPC + RPERPMUTV  + RACCOTV) - (PERPPLAFCANT + PERPPLAFNUC3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_COND2) * 0
+		;
+PERPPLAFNU2P = (1 - positif(PERPIMPATRIE+0)) 
+             * (
+             max(0,positif(PERPPLAFPANT + PERPPLAFNUP3ANT - RPERPP) 
+             * PERPPLAFNUP2ANT
+             + (1 - positif(PERPPLAFPANT + PERPPLAFNUP3ANT - RPERPP)) 
+             * max(0,PERPPLAFNUP2ANT - (RPERPP - PERPPLAFPANT - PERPPLAFNUP3ANT)))
+             )
+             + positif(PERPIMPATRIE+0) * 0 ;
+PERPPLAFNU1V = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTV - PERPPLAFNUNV - PERPPLAFNU3V - PERPPLAFNU2V,0)
+	       	+ positif(PERPIMPATRIE+0) * 0 )
+		+ positif(PERP_COND1) * 0
+		+ positif(PERP_COND2) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTV - PERPPLAFNUNV - PERPPLAFNU3V - PERPPLAFNU2V,0)
+   		+ positif(PERP_COND2) * 0)
+	       ;
+PERPPLAFNU1C = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTC - PERPPLAFNUNC - PERPPLAFNU3C - PERPPLAFNU2C,0)
+	       	+ positif(PERPIMPATRIE+0) * 0 )
+		+ positif(PERP_COND1) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTC - PERPPLAFNUNC - PERPPLAFNU3C - PERPPLAFNU2C,0)
+		    + positif(PERPIMPATRIE+0) * 0) 
+		+ positif(PERP_COND2) * 0
+	       ;
+PERPPLAFNU1P = (1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTP - PERPPLAFNUNP - PERPPLAFNU3P - PERPPLAFNU2P,0)
+	       + positif(PERPIMPATRIE+0) * 0 ;
+regle 31019:
+application : iliad , batch  ;
+PERP_NONV = positif(
+		(1 - positif(PERP_INDV)) * (1 - positif(PRBRV+PALIV))
+		* (1 - positif(PERP_COTV))
+		* (1 - positif(PERP_INDC)) * positif(PRBRC+PALIC)
+	  ) ;
+PERP_NONC = BOOL_0AM * positif(
+		(1 - positif(PERP_INDC)) * (1 - positif(PRBRC+PALIC))
+		* (1 - positif(PERP_COTC))
+		* (1 - positif(PERP_INDV)) * positif(PRBRV+PALIV)
+	  ) ;
+PERP_NONP = PERP_BOOL * positif(PERP_NONC + PERP_NONV) ;
+regle 31020:
+application : iliad , batch  ;
+pour i=V,C,P:
+PERPPLAFCOMi = positif(PERPIMPATRIE) * PERPPLAFi *3
+	      + (1 - positif(PERPIMPATRIE)) * 0;
+pour i=V,C,P:
+PERPPLAFIMPi = positif(PERPIMPATRIE) * (PERPPLAFCOMi + PERPPLAFi)
+	      + (1 - positif(PERPIMPATRIE)) * 0;
+regle 31021:
+application : iliad , batch  ;
+PERP_MUT = positif(PERPMUTU)
+	   * positif(V_0AM+V_0AO)
+	   * (1 - positif(V_0AC+V_0AD+V_0AV))
+	   ;
+PERP_COND1 =  positif(PERP_MUT)
+	      *((1 - positif(PERPIMPATRIE))
+	      * positif(PERP_COTV  - PERPPLATVANT)
+	      * positif(PERPPLATCANT - PERP_COTC)
+	      + positif(PERPIMPATRIE)
+	      * positif(PERP_COTV  - PERPPLAFIMPV)
+	      * positif(PERPPLAFIMPC - PERP_COTC)
+	      );
+PERP_COND2 =  positif(PERP_MUT) 
+	      *((1 - positif(PERPIMPATRIE))
+	      * positif(PERP_COTC  - PERPPLATCANT)
+	      * positif(PERPPLATVANT - PERP_COTV)
+	      + positif(PERPIMPATRIE)
+	      * positif(PERP_COTC  - PERPPLAFIMPC)
+	      * positif(PERPPLAFIMPV - PERP_COTV)
+	      );
+PERPPLAFMUTV = positif(PERP_COND1)
+	      *((1 - positif(PERPIMPATRIE))
+	       * (PERPPLATVANT + max(0,PERPPLATCANT - PERP_COTC))
+	      + positif(PERPIMPATRIE)
+	       * (PERPPLAFIMPV + max(0,PERPPLAFIMPC - PERP_COTC))
+	      );
+PERPPLAFMUTC = positif(PERP_COND2)
+	      *((1 - positif(PERPIMPATRIE))
+	       * (PERPPLATCANT + max(0,PERPPLATVANT - PERP_COTV))
+	      + positif(PERPIMPATRIE)
+	       * (PERPPLAFIMPC + max(0,PERPPLAFIMPV - PERP_COTV))
+	      );
+regle 310211:
+application : iliad , batch  ;
+PERPPLAFMU1V = positif(PERP_COND1) 
+	      *((1 - positif(PERPIMPATRIE)) * (PERPPLATVANT + RPERPMUTV)
+	      + positif(PERPIMPATRIE) * (PERPPLAFIMPV + RPERPMUTV))
+		+ positif(PERP_COND2) 
+	      *((1 - positif(PERPIMPATRIE)) * (PERPPLATVANT - RPERPMUTC)
+	      + positif(PERPIMPATRIE) * (PERPPLAFIMPV - RPERPMUTC));
+PERPPLAFMU1C = positif(PERP_COND1) 
+	      *((1 - positif(PERPIMPATRIE)) * (PERPPLATCANT - RPERPMUTV)
+	      + positif(PERPIMPATRIE) * (PERPPLAFIMPC - RPERPMUTV))
+		+ positif(PERP_COND2) 
+      		*((1 - positif(PERPIMPATRIE)) * (PERPPLATCANT + RPERPMUTC)
+      		+positif(PERPIMPATRIE) *(PERPPLAFIMPC + RPERPMUTC));
+regle 31022:
+application : iliad , batch  ;
+pour i =V,C,P:
+DPERPi = PERP_COTi + RACCOTi;
+RPERPV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTV,PERPPLATVANT) + RACCOTV)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTV,PERPPLAFIMPV) + RACCOTV))
+	 + positif(PERP_COND1) 
+		* (min(PERP_COTV,PERPPLAFMUTV) + RACCOTV)
+	 + positif(PERP_COND2) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTV,PERPPLATVANT) + RACCOTV)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTV,PERPPLAFIMPV) + RACCOTV))
+	 ;
+RPERPC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTC,PERPPLATCANT) + RACCOTC)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTC,PERPPLAFIMPC) + RACCOTC))
+	 + positif(PERP_COND1) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTC,PERPPLATCANT) + RACCOTC)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTC,PERPPLAFIMPC) + RACCOTC))
+	 + positif(PERP_COND2) * (min(PERP_COTC,PERPPLAFMUTC) + RACCOTC)
+	 ;
+RPERPP = ( (1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTP,PERPPLATPANT) + RACCOTP)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTP,PERPPLAFIMPP) + RACCOTP)
+	  );	
+APERPV = (1 - V_CNR) * max(min(RPERPV,RBG - RPALE - RPALP - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD), 0);
+APERPC = (1 - V_CNR) * max(min(RPERPC,RBG - RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV), 0);
+APERPP = (1 - V_CNR) * max(min(RPERPP,RBG - RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV - APERPC), 0);
+TAPERPV = (1 - V_CNR) * max(min(RPERPV,RBG*(1-INDTEFF)+ TEFFREVTOT3 - RPALE - RPALP - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD), 0);
+TAPERPC = (1 - V_CNR) * max(min(RPERPC,RBG *(1-INDTEFF)+ TEFFREVTOT3- RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV), 0);
+TAPERPP = (1 - V_CNR) * max(min(RPERPP,RBG *(1-INDTEFF)+ TEFFREVTOT3- RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV - APERPC), 0);
+regle 310225:
+application :  iliad , batch  ;
+PERPDCOTV = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTV,PERPPLATVANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTV,PERPPLAFIMPV))
+	 + positif(PERP_COND1) 
+		* min(PERP_COTV,PERPPLAFMU1V)
+	 + positif(PERP_COND2) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTV,PERPPLATVANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTV,PERPPLAFIMPV))
+	 ;
+PERPDCOTC = (1 - positif(PERP_COND1)) * (1 - positif(PERP_COND2)) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTC,PERPPLATCANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTC,PERPPLAFIMPC))
+	 + positif(PERP_COND1) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTC,PERPPLATCANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTC,PERPPLAFIMPC))
+	 + positif(PERP_COND2) * min(PERP_COTC,PERPPLAFMU1C)
+	 ;
+PERPDCOTP = ( (1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTP,PERPPLATPANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTP,PERPPLAFIMPP)
+	  );	
+regle 31023:
+application : iliad , batch  ;
+RPERPMUTV = positif(PERP_COND1) 
+	      *((1 - positif(PERPIMPATRIE))
+		* max(0,min(PERP_COTV - PERPPLATVANT,PERPPLATCANT - PERP_COTC))
+	      + positif(PERPIMPATRIE)
+		* max(0,min(PERP_COTV - PERPPLAFIMPV,PERPPLAFIMPC - PERP_COTC))
+		);
+RPERPMUTC = positif(PERP_COND2) 
+	      *((1 - positif(PERPIMPATRIE))
+		* max(0,min(PERP_COTC - PERPPLATCANT,PERPPLATVANT - PERP_COTV))
+	      + positif(PERPIMPATRIE)
+		* max(0,min(PERP_COTC - PERPPLAFIMPC,PERPPLAFIMPV - PERP_COTV))
+		);
+regle 31024:
+application : iliad , batch  ;
+IND_BTANC = null(V_IND_TRAIT -4)
+           * (positif(APPLI_OCEANS) * 1
+	    + positif(APPLI_COLBERT)
+	    + positif(APPLI_BATCH) * V_BTANC
+	    + positif(APPLI_ILIAD) * ( positif(V_CALCULIR) * 1
+				     + (1 - positif(V_CALCULIR)) * V_BTANC)
+	     )
+	     + null(V_IND_TRAIT - 5) * 1;
+pour i = V,C,P :
+PERPINDAFFi = positif(PERPINDi 
+		* (1 - V_CNR) * (1 - positif(ANNUL2042))
+		* ((null(IND_BTANC - 1)
+		* (positif(PERPIMPATRIE+0)
+		* positif(PERPPLAFNUNi+PERPPLAFi+positif_ou_nul(PERPi)*positif(PERPREVTOTi))
+		+ (1 - positif(PERPIMPATRIE+0))
+		* (present(PERPPLAFCi) + present(V_BTPERPi)) 
+		* (present(PERPPLAFNUi1) + present(V_BTPERPNUi1))
+	        * (present(PERPPLAFNUi2) + present(V_BTPERPNUi2))
+		* (present(PERPPLAFNUi3)+ present(V_BTPERPNUi3))
+	        ))
+		+((null(IND_BTANC - 2)
+		* positif(V_BTPERPi + V_BTPERPNUi1 + V_BTPERPNUi2 + V_BTPERPNUi3
+		     + PERPPLAFCi + PERPPLAFNUi1 + PERPPLAFNUi2 + PERPPLAFNUi3)))));
diff --git a/sources2013m_3_8/chap-plaf.m b/sources2013m_3_8/chap-plaf.m
new file mode 100644
index 0000000000000000000000000000000000000000..8b8b821652db17f1743c487a4283c589764dfa1a
--- /dev/null
+++ b/sources2013m_3_8/chap-plaf.m
@@ -0,0 +1,475 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+regle 8200:
+application : iliad , batch  ;
+LIMIT12 = 18000 + max(0, arr( max(0, RI1 + TONEQUO1) * (4/100))) 
+		     * (1 - positif((VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS))))
+	        + max(0, 
+		      arr( max(0, 
+				(VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS)) 
+				 + TONEQUOM1
+			      )* (4/100))
+		      ) 
+		      * positif( (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS)) );
+LIMIT11 = 18000 + max(0, arr( max(0, RI1 + TONEQUO1) * (6/100))) 
+		     * (1 - positif( (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS))))
+	        + max(0, 
+		      arr( max(0, 
+			        (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS)) 
+				  + TONEQUOM1
+			      ) * (6/100))
+		      ) 
+		      * positif( (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS)) );
+LIMIT10 = 20000 + max(0, arr( max(0, RI1 + TONEQUO1) * (8/100))) 
+		     * (1 - positif( (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS))))
+	        + max(0, 
+		      arr( max(0,
+				(VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS))
+				  + TONEQUOM1
+			      ) * (8/100))
+		     ) 
+		     * positif( (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS)));
+LIMIT9 = 25000 + max(0, arr( max(0, RI1 + TONEQUO1) * (10/100))) 
+		    * (1 - positif( (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS))))
+               + max(0, 
+		     arr( max(0,
+			       (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS))
+				 + TONEQUOM1
+			     ) * (10/100))
+		    ) 
+		    * positif( (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS)));
+		     
+regle 8201:
+application : iliad , batch  ;
+NAPSANSPENA = NAPTIR - (PIR+PTAXA+PPCAP+PHAUTREV+PTAXLOY) * positif(abs(NAPTIR)) ; 
+AVFISCO = V_NAPTEO * (1 - 2 * V_NEGTEO) - NAPSANSPENA ;
+
+regle 8202:
+application : iliad , batch  ;
+AVFISCOPTER = AVPLAF9 + AVPLAF10 + AVPLAF11 + AVPLAF12 + AVPLAF13 ;
+regle 82463:
+application : iliad , batch  ;
+
+
+A13RSOC = max(0, arr( RSOC4+RSOC8 - (( RSOC4+RSOC8 )*(TX65/100)))) * (1 - V_CNR);
+regle 82462:
+application : iliad , batch  ;
+
+
+A12RSOC = max(0, arr( RSOC3+RSOC7  + RSOC24+RSOC28 - (( RSOC3+RSOC7 + RSOC24+RSOC28 )*(TX65/100)))) * (1 - V_CNR); 
+
+regle 82461:
+application : iliad , batch  ;
+
+
+A11RSOC = max(0, arr( RSOC2+RSOC6 + RSOC17+RSOC20 + RSOC24+RSOC27 - ((RSOC2+RSOC6 + RSOC17+RSOC20 + RSOC24+RSOC27)*(TX65/100)))*(1-ART1731BIS)
+             ) * (1 - V_CNR);
+
+regle 8246:
+application :  iliad , batch  ;
+
+
+A10RSOC = max(0, arr( RSOC1+RSOC5 + RSOC12+RSOC14 + RSOC16+RSOC19 + RSOC22+RSOC26 
+                      - ((RSOC1+RSOC5 + RSOC12+RSOC14 + RSOC16+RSOC19 + RSOC22+RSOC26)*(TX65/100)))*(1-ART1731BIS)
+             ) * (1 - V_CNR);
+
+regle 82473:
+application : iliad , batch  ;
+
+
+A13RENT1 = ( RENT18 + RENT24  
+           + max (0 , RENT12+RENT36 + RENT6+RENT32
+                    - ( arr((RENT12+RENT36)*(5263/10000)) + arr((RENT6+RENT32)*(625/1000))))
+            ) * (1 - V_CNR);
+
+A13RENT = max(0, A13RENT1 * (1-ART1731BIS) + min( A13RENT1731+0 , A13RENT1 ) *ART1731BIS ) * (1 - V_CNR);
+
+
+regle 82472:
+application : iliad , batch  ;
+
+
+
+A12RENT1 = ( RENT17 + RENT23 + RLOC67 + RLOC74 
+           + max (0 , RENT11+RENT35 + RENT5+RENT31
+                    + RLOC60+RLOC88 + RLOC53+RLOC81
+                    - (arr((RENT11+RENT35)*(5263/10000)) + arr((RENT5+RENT31)*(625/1000)) +
+                       arr((RLOC60+RLOC88)*(5263/10000)) + arr((RLOC53+RLOC81)*(625/1000))))
+            ) * (1 - V_CNR);
+
+A12RENT = max(0, A12RENT1 * (1-ART1731BIS) + min( A12RENT1731+0 , A12RENT1 ) *ART1731BIS ) * (1 - V_CNR);
+
+regle 82471:
+application : iliad , batch  ;
+
+
+
+
+
+
+A11RENT1 = ( RENT14+RENT20+RENT16+RENT22+RLOC34+RLOC63+RLOC70+RLOC66+RLOC73 
+           + max (0 , RLOC29+RLOC44 + RLOC24+RLOC39 + RLOC56+RLOC84 + RLOC49+RLOC77
+                    + RLOC59+RLOC87 + RLOC52+RLOC80
+                    + RENT8+RENT28 + RENT2+RENT26 + RENT10+RENT34 + RENT4+RENT30
+
+                    - (arr((RENT8+RENT28)*(5263/10000)) + arr((RENT2+RENT26)*(625/1000)) +
+                       arr((RENT10+RENT34)*(5263/10000)) + arr((RENT4+RENT30)*(625/1000)) +
+                       arr((RLOC29+RLOC44)*(5263/10000)) + arr((RLOC24+RLOC39)*(625/1000)) +
+                       arr((RLOC56+RLOC84)*(5263/10000)) + arr((RLOC49+RLOC77)*(625/1000)) +
+                       arr((RLOC59+RLOC87)*(5263/10000)) + arr((RLOC52+RLOC80)*(625/1000))))
+            ) * (1 - V_CNR);
+
+A11RENT = max(0, A11RENT1 * (1-ART1731BIS) + min( A11RENT1731+0 , A11RENT1 ) *ART1731BIS ) * (1 - V_CNR);
+
+regle 8247:
+application : iliad , batch  ;
+
+A10RENT1 = ( RENT13+RENT19+RENT15+RENT21+RLOC13+RLOC31+RLOC33+RLOC62+RLOC69+RLOC65+RLOC72 
+           + max (0 , RLOC11+RLOC17 + RLOC9+RLOC15 + RLOC26+RLOC41 + RLOC21+RLOC36 + RLOC28+RLOC43 
+                    + RLOC55+RLOC83 + RLOC48+RLOC76 + RLOC58+RLOC86 + RLOC51+RLOC79 + RLOC23+RLOC38
+                    + RENT7+RENT27 + RENT1+RENT25 + RENT9+RENT33 + RENT3+RENT29
+
+                    - (arr((RLOC11+RLOC17)*(50/100)) + arr((RLOC9+RLOC15)*(60/100)) +
+                       arr((RLOC26+RLOC41)*(50/100)) + arr((RLOC21+RLOC36)*(60/100)) +
+                       arr((RLOC55+RLOC83)*(50/100)) + arr((RLOC48+RLOC76)*(60/100)) +
+                       arr((RLOC28+RLOC43)*(5263/10000)) + arr((RLOC23+RLOC38)*(625/1000)) +
+                       arr((RLOC58+RLOC86)*(5263/10000)) + arr((RLOC51+RLOC79)*(625/1000)) +
+                       arr((RENT7+RENT27)*(5263/10000)) + arr((RENT1+RENT25)*(625/1000)) +
+                       arr((RENT9+RENT33)*(5263/10000)) + arr((RENT3+RENT29)*(625/1000))))
+            ) * (1 - V_CNR);
+
+A10RENT = max(0, A10RENT1 * (1-ART1731BIS) + min( A10RENT1731+0 , A10RENT1 ) *ART1731BIS ) * (1 - V_CNR);
+
+regle 82483:
+application : iliad , batch  ;
+BA13RNOUV = arr(
+                (TX18/100) * ( max(0 , ( min(RDSNO , LIM_TITPRISE * (1 + BOOL_0AM)) - COD7CQ)
+                                     - ( min(REPSNO1+REPSNO2+REPSNO3+REPSNON , LIM_SOCNOUV2 * (1+BOOL_0AM))))
+                             ) 
+               ) * (1 - V_CNR); 
+
+A13RNOUV = max(0,
+	       min( BA13RNOUV , RRI1_1-RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH) * (1-ART1731BIS)
+	       + min( A13RNOUV1731+0,  min( BA13RNOUV , RRI1_1-RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH)) * ART1731BIS
+              ) ;
+regle 82482:
+application : iliad , batch  ;
+
+
+BA12RNOUV  = arr(
+                   (    max(0 , ( min(REPSNO1+REPSNO2+REPSNO3+REPSNON , LIM_SOCNOUV2 * (1+BOOL_0AM))
+		              - (REPSNO1+REPSNO2+REPSNO3)))
+                      + max(0 , ( min(COD7CQ , LIM_TITPRISE * (1 + BOOL_0AM)) - RDSNO)
+		              - ( min(REPSNO1+REPSNO2+REPSNO3+REPSNON , LIM_SOCNOUV2 * (1+BOOL_0AM))))
+                   ) * (TX18/100)
+                ) * (1 - V_CNR);
+
+A12RNOUV = max(0,
+	       min( BA12RNOUV , RRI1_1-RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH) * (1-ART1731BIS)
+	       + min( A12RNOUV1731+0,  min( BA12RNOUV , RRI1_1-RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH)) * ART1731BIS
+              ) ;
+
+regle 82481:
+application : iliad , batch  ;
+
+BA11RNOUV  = arr(max(0 , (min (REPSNO1+REPSNO2+REPSNO3+REPSNON , LIM_SOCNOUV2 * (1+BOOL_0AM))
+		           - (REPSNON+REPSNO2+REPSNO3)))
+	    * (TX22/100)) * (1 - V_CNR);
+
+A11RNOUV = max(0,
+	       min( BA11RNOUV , RRI1_1-RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH) * (1-ART1731BIS)
+               + min( A11RNOUV1731+0, min( BA11RNOUV , RRI1_1-RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH)) * ART1731BIS
+              ) ;
+
+regle 8248:
+application :  iliad , batch  ;
+
+BA10RNOUV  = arr(max(0 , (min ( REPSNO1+REPSNO2+REPSNO3+REPSNON, LIM_SOCNOUV2 * (1+BOOL_0AM)) 
+                                - (REPSNO1+REPSNO3+REPSNON))) * (TX25/100)) * (1 - V_CNR);
+
+A10RNOUV = max(0,
+	       min( BA10RNOUV , RRI1_1-RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH) * (1-ART1731BIS)
+	       + min( A10RNOUV1731+0,  min( BA10RNOUV , RRI1_1-RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH)) * ART1731BIS
+              ) ;
+
+regle 82492:
+application : iliad , batch  ;
+BASE7UN = (min (RDFOREST, PLAF_FOREST * (1 + BOOL_0AM))) * (1 - V_CNR) ;
+
+PLAFRED_FORTRA = max( 0, PLAF_FOREST1 * (1 + BOOL_0AM) - ACOTFOR); 
+
+BASE7UP = max(0, min (FORTRA, PLAFRED_FORTRA)
+		    - (REPFOR+REPSINFOR + REPFOR1+REPSINFOR1 + REPFOR2+REPSINFOR2 + REPFOR3+REPSINFOR3))
+									    * (1 - V_CNR) ;
+
+BASE7UQ = (min (RDFORESTGES, PLAF_FOREST2 * (1 + BOOL_0AM)) ) * (1 - V_CNR) ; 
+
+BA13RFOR  = arr((BASE7UN + BASE7UP + BASE7UQ) * TX18 / 100 ) ;
+
+
+
+A13RFOR = max(0,
+	      min( BA13RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC-RCINE
+                             -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV
+                             -RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH-RNOUV) * (1-ART1731BIS)
+              + min( A13RFOR1731+0, min( BA13RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC-RCINE
+                                                   -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV
+                                                   -RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH-RNOUV)) * ART1731BIS
+             );
+        
+regle 824910:
+application : iliad , batch  ;
+
+BASE7UXH = max(0, min (REPFOR+REPSINFOR + REPFOR1+REPSINFOR1 + REPFOR2+REPSINFOR2 + REPFOR3+REPSINFOR3 , PLAFRED_FORTRA)
+			   - (REPFOR+REPSINFOR + REPFOR1+REPSINFOR1 + REPFOR2+REPSINFOR2)) * (1 - V_CNR) ;
+
+BA12RFOR  = arr(BASE7UXH * TX18 / 100 ) ;
+
+A12RFOR = max(0,
+	       min( BA12RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC-RCINE 
+                              -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV
+                              -RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH-RNOUV) * (1-ART1731BIS)
+               + min(A12RFOR1731+0 , min( BA12RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC-RCINE
+                                                    -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV
+                                                    -RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH-RNOUV)) * ART1731BIS
+	      );
+regle 82491:
+application : iliad , batch  ;
+
+BASE7UWG = max(0, min (REPFOR + REPSINFOR + REPFOR1 + REPSINFOR1 + REPFOR2 + REPSINFOR2, PLAFRED_FORTRA)
+			   - (REPFOR + REPSINFOR + REPFOR1 + REPSINFOR1)) * (1 - V_CNR) ;
+
+
+BA11RFOR  = arr(BASE7UWG * TX22 / 100 ) ;
+
+
+A11RFOR = max(0,
+	       min( BA11RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC-RCINE 
+                              -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV
+                              -RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH-RNOUV) * (1-ART1731BIS)
+               + min(A11RFOR1731+0 , min( BA11RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC-RCINE
+                                                    -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV
+                                                    -RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH-RNOUV)) * ART1731BIS
+	      );
+
+regle 8249:
+application : iliad , batch  ;
+BASE7UVF = max(0, min (REPFOR + REPSINFOR + REPFOR1 + REPSINFOR1, PLAFRED_FORTRA) - (REPFOR + REPSINFOR))
+            * (1 - V_CNR) ;
+
+BA10RFOR  = arr(BASE7UVF * TX25 / 100 ) ;
+
+A10RFOR = max(0,
+	       min( BA10RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC-RCINE
+			      -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV
+                              -RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH-RNOUV) * (1-ART1731BIS)
+               + min(A10RFOR1731+0 , min( BA10RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RFIPDOM-RAIDE-RDIFAGRI-RFORET-RFIPC-RCINE
+						  -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV
+                                                  -RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOGIH-RNOUV)) * ART1731BIS
+              );						  
+regle 8252:
+application : iliad , batch  ;
+A10TOURSOC_1 = RTOURREP*positif(REPINVTOU)
+             + RTOUHOTR*positif(INVLOGHOT) * (1-positif(null(2-V_REGCO)+null(4-V_REGCO)))
+             + RTOUREPA*positif(INVLOGREHA);
+
+A10TOURSOC = max(0, A10TOURSOC_1 * (1-ART1731BIS)
+                  + min(A10TOURSOC1731+0 , A10TOURSOC_1) * ART1731BIS
+                );
+
+regle 8253:
+application : iliad , batch  ;
+
+
+A13REELA =  RCOTFOR
+
+         + RFIPDOM + RAIDE
+
+	 + RFIPC  
+
+         + RINNO + RSOUFIP + RRIRENOV 
+
+         + RDUFLOGIH
+
+         + A13RFOR 
+
+           + arr( RSNCF ) + arr( RSNCU )
+
+	 + RCODJT
+
+        + RPATNAT
+
+           + CIDEVDUR + CIDEPENV + CIGARD + CIADCRE 
+
+	   + CIHABPRIN + CILOYIMP ;
+
+
+
+A13REELB = RCINE 
+
+           + RLOG32
+
+           + A13RSOC
+
+           + A13RENT ;
+
+regle 8254:
+application : iliad , batch  ;
+
+
+AUBAINE13A = max(0, min(V_A13REELA, V_DIFTEOREEL)) ;
+AUBAINE13B = max(0, min(V_A13REELB, V_DIFTEOREEL - AUBAINE13A)) ;
+
+regle 8255:
+application : iliad , batch  ;
+
+A12REEL = A12RFOR 
+
+          + A12RRESTIMO
+
+         + RLOG25 * (1-ART1731BIS) + min (RLOG251731+0 , RLOG25) * ART1731BIS
+         + RLOG31 * (1-ART1731BIS)
+
+         + RTOURREP * positif(COD7UY) + RTOUREPA * positif(COD7UZ)
+
+          + arr( RSNCQ + RSNCC )
+
+         + RCELRREDMG + RCELREPGV + RCELREPGJ
+         + RCELJOQR + RCEL2012 + RCELFD + RCELFABC 
+
+         + RCODIF + RCODIG + RCODID
+         + RILMJV + RILMJS + RCODJU
+
+        + RPATNAT3
+
+        + A12RSOC   
+
+        + A12RENT ;
+
+regle 8256:
+application : iliad , batch  ;
+
+AUBAINE12 = max( 0, min( V_A12REEL , V_DIFTEOREEL - AUBAINE13A - AUBAINE13B ))   ;
+
+regle 8260:
+application : iliad , batch  ;
+A11REEL = (RLOG16 + RLOG21 + RLOG24) * (1 - ART1731BIS)
+	  + (min(RLOG161731+0,RLOG16) + min(RLOG211731+0,RLOG21) + min(RLOG241731+0, RLOG24)) * ART1731BIS
+          + RLOG28 + RLOG30
+
+
+        + A11RSOC
+
+         + arr( RSNCN )
+
+        + RCELRREDLF + RCELRREDLZ + RCELREPHG + RCELREPHA + RCELREPGW + RCELREPGL + RCELREPGK 
+        + RCELCOM + RCEL + RCELJP + RCELJBGL
+
+        + RCODIE
+        + RILMIZ + RILMIA + RRESINEUV*positif(LOCRESINEUV+INVNPROF2+INVNPROF1)*(1-positif(MEUBLENP))
+        + RILMJI + RILMJW
+
+         + RTOURREP*positif(INVLOCXN) + RTOUREPA*positif(INVLOCXV)
+
+        + RPATNAT2  
+
+        + A11RENT
+
+        + A11RFOR ;
+regle 8261:
+application : iliad , batch  ;
+
+AUBAINE11 = max( 0, min( V_A11REEL , V_DIFTEOREEL - AUBAINE13A-AUBAINE13B-AUBAINE12 ));
+regle 8262:
+application : iliad , batch  ;
+
+
+A10REEL = (RLOG11 + RLOG13 + RLOG15 + RLOG18 + RLOG20 + RLOG23 + RLOG26 + RLOG27 + RLOG29) * (1-ART1731BIS)
+	  + (min(RLOG111731+0, RLOG11) + min(RLOG131731+0 , RLOG13) + min(RLOG151731+0, RLOG15)
+	    + min(RLOG181731+0, RLOG18) + min(RLOG201731+0, RLOG20) + min(RLOG231731+0, RLOG23)) * ART1731BIS
+          
+
+         + A10RSOC  
+
+          + arr( RSNCM ) 
+
+         + A10RENT 
+
+         + RCELRREDLC + RCELRREDLD + RCELRREDLS
+         + RCELREPHW + RCELREPHV + RCELREPHD + RCELREPHH + RCELREPHB
+         + RCELREPGX + RCELREPGS + RCELREPGP
+	 + RCELHJK + RCELNQ + RCELNBGL
+
+         + RINVRED + RREPMEU + RRESIVIEU*positif(RESIVIEU)*(1-positif(RESIVIANT)) 
+	 + RRESINEUV*positif(MEUBLENP)*(1-positif(LOCRESINEUV + INVNPROF2 + INVNPROF1))
+	 + RILMIH + RILMIB + RILMJC +RILMJX 
+
+         + A10TOURSOC
+
+	 + RPATNAT1
+
+         + A10RFOR ;
+
+regle 8263:
+application : iliad , batch  ;
+ 
+AUBAINE10 = max( 0, min( V_A10REEL , V_DIFTEOREEL - AUBAINE13A-AUBAINE13B-AUBAINE12-AUBAINE11 ));
+
+regle 8280:
+application : iliad , batch  ;
+
+AUBAINE9 = max(0, V_DIFTEOREEL - AUBAINE13A - AUBAINE13B - AUBAINE12 - AUBAINE11 - AUBAINE10);
+regle 8290:
+application : iliad , batch  ;
+AVPLAF13A = max(0, AUBAINE13A - LIMIT13A ) * positif(V_DIFTEOREEL) ;
+
+AVPLAF13B = max(0, min(AUBAINE13A , LIMIT13A) + AUBAINE13B - LIMIT13B ) * positif(V_DIFTEOREEL) ;
+
+AVPLAF13 = AVPLAF13A + AVPLAF13B;
+
+AVPLAF12 = max(0, AUBAINE13A + AUBAINE13B + AUBAINE12 
+                  - AVPLAF13 - LIMIT12) * positif(V_DIFTEOREEL);
+
+AVPLAF11 = max(0, AUBAINE13A + AUBAINE13B + AUBAINE12 + AUBAINE11 
+                  - AVPLAF13 - AVPLAF12 - LIMIT11) * positif(V_DIFTEOREEL);
+
+AVPLAF10 = max(0, AUBAINE13A + AUBAINE13B + AUBAINE12 + AUBAINE11 + AUBAINE10 
+                  - AVPLAF13 - AVPLAF12 - AVPLAF11 - LIMIT10) * positif(V_DIFTEOREEL);
+
+AVPLAF9  = max(0, AUBAINE13A + AUBAINE13B + AUBAINE12 + AUBAINE11 + AUBAINE10 + AUBAINE9 
+                  - AVPLAF13 - AVPLAF12 - AVPLAF11 - AVPLAF10 - LIMIT9) * positif(V_DIFTEOREEL);
+
+regle 8321:
+application : iliad , batch  ;
+RFTEO = RFORDI + RFROBOR; 
+regle 8331:
+application : iliad , batch  ;
+RFNTEO = (max( 0, RFTEO - (min(RFDORD,RFDORD1731+0) * positif(ART1731BIS) + RFDORD * (1 - ART1731BIS))
+			  -(min(RFDANT,RFDANT1731+0) * positif(ART1731BIS) + RFDANT * (1 - ART1731BIS))) 
+			 - (RFDHIS * (1 - positif(ART1731BIS) ))) * present(RFROBOR) + RRFI * (1-present(RFROBOR));
+regle 8341:
+application : iliad , batch  ;
+RRFTEO = RFNTEO;
+ 
+
+
+
diff --git a/sources2013m_3_8/chap-teff.m b/sources2013m_3_8/chap-teff.m
new file mode 100644
index 0000000000000000000000000000000000000000..2ebcc73626ba7f8ca7e5f9ecd9ddf96516fe1a5d
--- /dev/null
+++ b/sources2013m_3_8/chap-teff.m
@@ -0,0 +1,635 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 99991000:
+application : iliad , batch ;
+
+pour i = V,C,P:
+TMIB_TVENi = MIBVENi + AUTOBICVi + MIBNPVENi + MIBGITEi+LOCGITi;
+
+pour i = V,C,P:
+TMIB_TPRESi = MIBPRESi + AUTOBICPi + MIBNPPRESi + MIBMEUi;
+
+pour i = V,C,P:
+TMIB_TTi = TMIB_TVENi + TMIB_TPRESi;
+regle 99991004:
+application : iliad , batch ;
+
+
+pour i = V,C,P:
+TMIB_AVi = min ( TMIB_TVENi,
+                         (max(MIN_MBIC,
+                              arr( (TMIB_TVENi)*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+TMIB_VENTAi = min ( (MIBVENi + MIBNPVENi),
+                         (max(MIN_MBIC,
+                              arr( (MIBVENi + MIBNPVENi)*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+TMIB_AUTOAVi= TMIB_AVi - TMIB_VENTAi; 
+
+
+pour i = V,C,P:
+TMIB_APi = min ( TMIB_TPRESi,
+                         (max(MIN_MBIC,
+                              arr( (TMIB_TPRESi)*TX_MIBPRES/100))
+                         )
+               );
+pour i = V,C,P:
+TMIB_PRESAi = min ( (MIBPRESi + MIBNPPRESi),
+                         (max(MIN_MBIC,
+                              arr( (MIBPRESi + MIBNPPRESi)*TX_MIBPRES/100))
+                         )
+               );
+pour i = V,C,P:
+TMIB_AUTOAPi= TMIB_APi - TMIB_PRESAi; 
+pour i = V,C,P:
+TPMIB_AVi = min ( (MIBVENi + AUTOBICVi),
+                         (max(MIN_MBIC,
+                              arr( (MIBVENi+ AUTOBICVi)*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+TPMIB_APi = min ( (MIBPRESi+ AUTOBICPi),
+                         (max(MIN_MBIC,
+                              arr( (MIBPRESi+ AUTOBICPi)*TX_MIBPRES/100))
+                         )
+               );
+
+
+regle 99991005:
+application : iliad , batch ;
+
+pour i = V,C,P:
+TMIB_ABVi = max(0,arr(TMIB_AVi * (MIBVENi + AUTOBICVi)/ (TMIB_TVENi)));
+pour i = V,C,P:
+TMIB_ABNPVi = max(0,arr(TMIB_AVi * MIBNPVENi / TMIB_TVENi))* positif(present(MIBGITEi)+present(LOCGITi))
+	      + (TMIB_AVi - TMIB_ABVi) * (1 - positif(present(MIBGITEi)+present(LOCGITi)));
+pour i = V,C,P:
+TMIB_ABNPVLi = (TMIB_AVi - TMIB_ABVi - TMIB_ABNPVi) *  positif(present(MIBGITEi)+present(LOCGITi));
+
+pour i = V,C,P:
+TMIB_ABPi = max(0,arr(TMIB_APi * (MIBPRESi + AUTOBICPi)/ (TMIB_TPRESi)));
+pour i = V,C,P:
+TMIB_ABNPPi = max(0,arr(TMIB_APi * MIBNPPRESi / (TMIB_TPRESi))) * present(MIBMEUi)
+	      + (TMIB_APi - TMIB_ABPi) * (1 - present(MIBMEUi));
+pour i = V,C,P:
+TMIB_ABNPPLi = (TMIB_APi - TMIB_ABPi - TMIB_ABNPPi) *  present(MIBMEUi);
+
+
+regle 99991006:
+application : iliad , batch ;
+pour i = V,C,P:
+TPMIB_NETVi = MIBVENi + AUTOBICVi - TPMIB_AVi;
+pour i = V,C,P:
+TPMIB_NETPi = MIBPRESi + AUTOBICPi - TPMIB_APi;
+
+pour i = V,C,P:
+TMIB_NETVi = MIBVENi + AUTOBICVi - TMIB_ABVi;
+TMIBNETVF = somme(i=V,C,P:TMIB_NETVi) ;
+pour i = V,C,P:
+TMIB_NETNPVi = MIBNPVENi - TMIB_ABNPVi;
+TMIBNETNPVF = somme(i=V,C,P:TMIB_NETNPVi);
+
+pour i = V,C,P:
+TMIB_NETPi = MIBPRESi + AUTOBICPi - TMIB_ABPi;
+TMIBNETPF = somme(i=V,C,P:TMIB_NETPi) ;
+pour i = V,C,P:
+TMIB_NETNPPi = MIBNPPRESi - TMIB_ABNPPi;
+TMIBNETNPPF = somme(i=V,C,P:TMIB_NETNPPi);
+
+TBICPABV =   arr((TMIB_ABVV * AUTOBICVV/(MIBVENV+AUTOBICVV))
+          + (TMIB_ABPV * AUTOBICPV/(MIBPRESV+AUTOBICPV)));
+
+TBICPROVC = max(0,arr((TMIB_ABVC * AUTOBICVC/(MIBVENC+AUTOBICVC)) + (TMIB_ABPC * AUTOBICPC/(MIBPRESC+AUTOBICPC))));
+
+TBICPABC =  min(TBICPROVC,arr((TMIB_ABVC * AUTOBICVC/(MIBVENC+AUTOBICVC))
+          + (TMIB_ABPC * AUTOBICPC/(MIBPRESC+AUTOBICPC))));
+
+TBICPROVP = max(0,arr((TMIB_ABVP * AUTOBICVP/(MIBVENP+AUTOBICVP)) + (TMIB_ABPP * AUTOBICPP/(MIBPRESP+AUTOBICPP))));
+
+TBICPABP =  min(TBICPROVP,arr((TMIB_ABVP * AUTOBICVP/(MIBVENP+AUTOBICVP))
+          + (TMIB_ABPP* AUTOBICPP/(MIBPRESP+AUTOBICPP))));
+
+TBICNPABV = arr((TMIB_ABNPVV /(MIBNPVENV))
+          + (TMIB_ABNPPV /(MIBNPPRESV)));
+TBICNPPROVC = max(0,arr((TMIB_ABNPVC /(MIBNPVENC)) + (TMIB_ABNPPC /(MIBNPPRESC))));
+TBICNPABC = min(TBICNPPROVC,arr((TMIB_ABNPVC /(MIBNPVENC))
+          + (TMIB_ABNPPC /(MIBNPPRESC))));
+TBICNPPROVP = max(0,arr((TMIB_ABNPVP /(MIBNPVENP)) + (TMIB_ABNPPP /(MIBNPPRESP))));
+TBICNPABP = min(TBICNPPROVP,arr((TMIB_ABNPVP /(MIBNPVENP))
+          + (TMIB_ABNPPP /(MIBNPPRESP))));
+ABICPDECV = AUTOBICVV + AUTOBICPV;
+ABICPDECC = AUTOBICVC + AUTOBICPC;
+ABICPDECP = AUTOBICVP + AUTOBICPP;
+ABICPNETV =  AUTOBICVV + AUTOBICPV - max(0,TMIB_AUTOAVV-TMIB_ABNPVLV) -max(0,TMIB_AUTOAPV-TMIB_ABNPPLV);
+ABICPNETC =  AUTOBICVC + AUTOBICPC - max(0,TMIB_AUTOAVC-TMIB_ABNPVLC) -max(0,TMIB_AUTOAPC-TMIB_ABNPPLC);
+ABICPNETP =  AUTOBICVP + AUTOBICPP - max(0,TMIB_AUTOAVP-TMIB_ABNPVLP) -max(0,TMIB_AUTOAPP-TMIB_ABNPPLP);
+
+
+
+AUTOBICPNET = ABICPNETV + ABICPNETC + ABICPNETP;
+regle 99991009:                                                                    
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPETOTi = BNCPROi + AUTOBNCi + BNCNPi ;
+regle 99991010:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPEBASABi=TSPETOTi;
+pour i = V,C,P:                                                                 
+TSPEABi = arr((max(MIN_SPEBNC,(TSPEBASABi * SPETXAB/100))) * 
+                       positif_ou_nul(TSPETOTi - MIN_SPEBNC)) +
+          arr((min(MIN_SPEBNC,TSPEBASABi )) * 
+                       positif(MIN_SPEBNC - TSPETOTi)); 
+regle 99991011:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPEABPi = arr((TSPEABi * (BNCPROi + AUTOBNCi))/TSPETOTi);                                  
+pour i = V,C,P:                                                                 
+TBNCPABi = arr(TSPEABPi * AUTOBNCi/(BNCPROi+AUTOBNCi)); 
+pour i = V,C,P:                                                                 
+TBNCTOTABi = arr(TSPEABi * (AUTOBNCi)/(TSPETOTi)); 
+
+pour i = V,C,P:                                                                 
+TSPEABNPi = TSPEABi - TSPEABPi;                                  
+pour i = V,C,P:                                                                 
+TBNCNPABi = (TBNCTOTABi - TBNCPABi) ;
+
+pour i = V,C,P:                                                                 
+ABNCPDECi =  AUTOBNCi; 
+pour i = V,C,P:                                                                 
+ABNCPNETi =  AUTOBNCi - TBNCPABi; 
+pour i = V,C,P:                                                                 
+HONODECi = XHONOi + XHONOAAi;
+pour i = V,C,P:                                                                 
+HONONETi = arr(XHONOi * MAJREV) + XHONOAAi ;
+AUTOBNCPNET = ABNCPNETV + ABNCPNETC + ABNCPNETP;
+HONONET = HONONETV + HONONETC + HONONETP;
+regle 99991012:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPENETPi = max (0,(BNCPROi  + AUTOBNCi - TSPEABPi));
+pour i = V,C,P:                                                                 
+TSPENETNPi = max (0,(BNCNPi - TSPEABNPi));
+pour i = V,C,P:                                                                 
+TSPENETi = TSPENETPi + TSPENETNPi;
+TSPENET = somme(i=V,C,P:(TSPENETi));
+regle 99991020:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TXSPEAAi = BNCREi + XHONOAAi - (BNCDEi * (1 - positif(ART1731BIS) ));
+regle 99991022:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TXSPEHi = max(0,arr((BNHREi + XHONOi - (BNHDEi * (1 - positif(ART1731BIS) )))*MAJREV))
+	 + min(0,(BNHREi + XHONOi - (BNHDEi * (1 - positif(ART1731BIS) ))));
+regle 99991024:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TXSPENETi = TXSPEAAi + TXSPEHi;
+regle 99991026:
+application : iliad , batch  ;                          
+TXSPENET = somme(i=V,C,P:(TXSPENETi));
+ #
+ #                         REVENUS CATEGORIELS NETS
+ #                 TS
+ #
+regle 99992000:
+application : iliad , batch  ;
+TTSBNV = TSHALLOV + ALLOV+max(0,SALEXTV - COD1AD);
+TTSBNC = TSHALLOC + ALLOC+max(0,SALEXTC - COD1BD);
+TTSBN1 = TSHALLO1 + ALLO1+max(0,SALEXT1 - COD1CD);
+TTSBN2 = TSHALLO2 + ALLO2+max(0,SALEXT2 - COD1DD);
+TTSBN3 = TSHALLO3 + ALLO3+max(0,SALEXT3 - COD1ED);
+TTSBN4 = TSHALLO4 + ALLO4+max(0,SALEXT4 - COD1FD);
+TTSHALLOP=TSHALLO1+TSHALLO2+TSHALLO3+TSHALLO4;
+TALLOP=ALLO1+ALLO2+ALLO3+ALLO4;
+TTSBNP=TTSHALLOP+TALLOP;
+
+pour i=V,C:
+T2TSNi = CARTSi + REMPLAi;
+pour i=1,2,3,4:
+T2TSNi = CARTSPi + REMPLAPi;
+TEXTSV = TTSBNV + BPCOSAV + GLDGRATV + T2TSNV;
+TEXTSC = TTSBNC + BPCOSAC + GLDGRATC + T2TSNC;
+TGATASAV = BPCOSAV + GLDGRATV ;
+TGATASAC = BPCOSAC + GLDGRATC ;
+
+pour i=1..4:
+TEXTSi = TTSBNi + T2TSNi;
+TTSBV = TEXTSV + somme(x=1..3:GLDxV)+CODDAJ+CODEAJ ;
+TTSBC = TEXTSC + somme(x=1..3:GLDxC)+CODDBJ+CODEBJ ;
+pour i=1,2,3,4:
+TTSBi = TEXTSi;
+TTSBP = somme(i=1..4:TTSBi);
+pour i=V,C,1..4:
+TPRBi = PRBRi + PALIi;
+
+pour i=V,C:
+T2PRBi = CARPEi + PENSALi ;
+pour i=1..4:
+T2PRBi = CARPEPi + PENSALPi ;
+TEXPRV = TPRBV + COD1AH + T2PRBV + PEBFV;
+TEXPRC = TPRBC + COD1BH + T2PRBC + PEBFC;
+TEXPR1 = TPRB1 + COD1CH + T2PRB1 + PEBF1;
+TEXPR2 = TPRB2 + COD1DH + T2PRB2 + PEBF2;
+TEXPR3 = TPRB3 + COD1EH + T2PRB3 + PEBF3;
+TEXPR4 = TPRB4 + COD1FH + T2PRB4 + PEBF4;
+pour i = V,C,1..4:
+TEXSPBi = TEXTSi + TEXPRi ;
+regle 99992100:
+application : iliad , batch  ;
+pour i = V,C,1..4:
+TTPS10i = arr (TTSBi * TX_DEDFORFTS /100);
+pour i = V,C,1..4:
+TDFNi =  min( PLAF_DEDFORFTS , TTPS10i );
+regle 99992200:
+application : iliad , batch  ;
+pour i = V,C,1..4:
+TDEDMINi = positif(DETSi)* MIN_DEMEMPLOI + (1- positif(DETSi))* MIN_DEDSFORFTS;
+pour i = V,C,1..4:
+T10MINSi= max( min(TTSBi,TDEDMINi) , TDFNi );
+pour i = V,C,1..4:
+TIND_10MIN_0i = positif(TDEDMINi - TDFNi ) * positif (TTSBi );
+pour i = V,C,1..4 :
+TIND_MINi = 1 - positif( TIND_10MIN_0i );
+regle 99992300:
+application : iliad , batch  ;
+TFRDV = (1-positif(ART1731BIS)) * (FRNV+COD1AE) * positif(FRNV+COD1AE - T10MINSV) + positif(ART1731BIS) 
+                                                                                    * (min(TFRDV_A,TTSBV+TPRNNV)*positif(min(TFRDV_A,TTSBV+TPRNNV) - 10MINSV)*(1-FLAGPREM+0)*(1-positif(CMAJ))
+                                                                                     + min(FRNV+COD1AE,TTSBV+TPRNNV)*positif(min(FRNV+COD1AE,TTSBV+TPRNNV) - T10MINSV)*(FLAGPREM+0)*(1-positif(CMAJ))
+                                                                                     + min(FRNV+COD1AE,TTSBV+TPRNNV)*positif(min(FRNV+COD1AE,TTSBV+TPRNNV) - T10MINSV)*positif(CMAJ)) ;
+TFRDC = (1-positif(ART1731BIS)) * (FRNC+COD1BE) * positif(FRNC+COD1BE - T10MINSC) + positif(ART1731BIS)
+                                                                                    * (min(TFRDC_A,TTSBC+TPRNNC)*positif(min(TFRDC_A,TTSBC+TPRNNC) - 10MINSC)*(1-FLAGPREM+0)*(1-positif(CMAJ))
+                                                                                     + min(FRNC+COD1BE,TTSBC+TPRNNC)*positif(min(FRNC+COD1BE,TTSBC+TPRNNC) - T10MINSC)*(FLAGPREM+0)*(1-positif(CMAJ))
+                                                                                     + min(FRNC+COD1BE,TTSBC+TPRNNC)*positif(min(FRNC+COD1BE,TTSBC+TPRNNC) - T10MINSC)*positif(CMAJ)) ;
+TFRD1 = (1-positif(ART1731BIS)) * (FRN1+COD1CE) * positif(FRN1+COD1CE - T10MINS1) + positif(ART1731BIS)
+                                                                                    * (min(TFRD1_A,TTSB1+TPRNN1)*positif(min(TFRD1_A,TTSB1+TPRNN1) - 10MINS1)*(1-FLAGPREM+0)*(1-positif(CMAJ))
+                                                                                     + min(FRN1+COD1CE,TTSB1+TPRNN1)*positif(min(FRN1+COD1CE,TTSB1+TPRNN1) - T10MINS1)*(FLAGPREM+0)*(1-positif(CMAJ))
+                                                                                     + min(FRN1+COD1CE,TTSB1+TPRNN1)*positif(min(FRN1+COD1CE,TTSB1+TPRNN1) - T10MINS1)*positif(CMAJ)) ;
+TFRD2 = (1-positif(ART1731BIS)) * (FRN2+COD1DE) * positif(FRN2+COD1DE - T10MINS2) + positif(ART1731BIS)
+                                                                                    * (min(TFRD2_A,TTSB2+TPRNN2)*positif(min(TFRD2_A,TTSB2+TPRNN2) - 10MINS2)*(1-FLAGPREM+0)*(1-positif(CMAJ))
+                                                                                     + min(FRN2+COD1DE,TTSB2+TPRNN2)*positif(min(FRN2+COD1DE,TTSB2+TPRNN2) - T10MINS2)*(FLAGPREM+0)*(1-positif(CMAJ))
+                                                                                     + min(FRN2+COD1DE,TTSB2+TPRNN2)*positif(min(FRN2+COD1DE,TTSB2+TPRNN2) - T10MINS2)*positif(CMAJ)) ;
+TFRD3 = (1-positif(ART1731BIS)) * (FRN3+COD1EE) * positif(FRN3+COD1EE - T10MINS3) + positif(ART1731BIS)
+                                                                                    * (min(TFRD3_A,TTSB3+TPRNN3)*positif(min(TFRD3_A,TTSB3+TPRNN3) - 10MINS3)*(1-FLAGPREM+0)*(1-positif(CMAJ))
+                                                                                     + min(FRN3+COD1EE,TTSB3+TPRNN3)*positif(min(FRN3+COD1EE,TTSB3+TPRNN3) - T10MINS3)*(FLAGPREM+0)*(1-positif(CMAJ))
+                                                                                     + min(FRN3+COD1EE,TTSB3+TPRNN3)*positif(min(FRN3+COD1EE,TTSB3+TPRNN3) - T10MINS3)*positif(CMAJ)) ;
+TFRD4 = (1-positif(ART1731BIS)) * (FRN4+COD1FE) * positif(FRN4+COD1FE - T10MINS4) + positif(ART1731BIS)
+                                                                                    * (min(TFRD4_A,TTSB4+TPRNN4)*positif(min(TFRD4_A,TTSB4+TPRNN4) - 10MINS4)*(1-FLAGPREM+0)*(1-positif(CMAJ))
+                                                                                     + min(FRN4+COD1FE,TTSB4+TPRNN4)*positif(min(FRN4+COD1FE,TTSB4+TPRNN4) - T10MINS4)*(FLAGPREM+0)*(1-positif(CMAJ))
+                                                                                     + min(FRN4+COD1FE,TTSB4+TPRNN4)*positif(min(FRN4+COD1FE,TTSB4+TPRNN4) - T10MINS4)*positif(CMAJ)) ;
+TIND_10V = positif_ou_nul( T10MINSV - (TFRDV+COD1AE) ) ;
+TIND_10C = positif_ou_nul( T10MINSC - (TFRDC+COD1BE) ) ;
+TIND_101 = positif_ou_nul( T10MINS1 - (TFRD1+COD1CE) ) ;
+TIND_102 = positif_ou_nul( T10MINS2 - (TFRD2+COD1DE) ) ;
+TIND_103 = positif_ou_nul( T10MINS3 - (TFRD3+COD1EE) ) ;
+TIND_104 = positif_ou_nul( T10MINS4 - (TFRD4+COD1FE) ) ;
+pour i = V,C,1..4:
+TFPTi = max(TFRDi, T10MINSi);
+pour i = V,C,1..4:
+TD10Mi = TIND_MINi *TDFNi 
+        + (1 - TIND_MINi)* T10MINSi ; 
+pour i = V,C,1..4:
+TREP10i =  TIND_10i * TD10Mi + (1-TIND_10i) * TFPTi ;
+TABTS1AJ=positif(SALEXTV+ALLOV+BPCOSAV+GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GLD1V+GLD2V+GLD3V) * arr(TREP10V*(TSHALLOV)/TTSBV)
+        + (1-positif(SALEXTV+ALLOV+BPCOSAV+GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GLD1V+GLD2V+GLD3V)) * TREP10V;
+TABTS1AC=positif(ALLOV+BPCOSAV+GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GLD1V+GLD2V+GLD3V) * arr(TREP10V*(max(0,SALEXTV-COD1AD))/TTSBV)
+        + (1-positif(ALLOV+BPCOSAV+GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GLD1V+GLD2V+GLD3V)) * max(0,TREP10V-TABTS1AJ);
+TABTS1AP=positif(BPCOSAV+GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GLD1V+GLD2V+GLD3V) * arr(TREP10V*(ALLOV)/TTSBV)
+        + (1-positif(BPCOSAV+GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GLD1V+GLD2V+GLD3V)) * max(0,TREP10V-TABTS1AJ-TABTS1AC);
+TABTS3VJ=positif(GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GLD1V+GLD2V+GLD3V) * arr(TREP10V*(BPCOSAV)/TTSBV)
+        + (1-positif(GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GLD1V+GLD2V+GLD3V)) * max(0,TREP10V-TABTS1AJ-TABTS1AC-TABTS1AP);
+TABTS1TT=positif(CARTSV+REMPLAV+CODDAJ+CODEAJ+GLD1V+GLD2V+GLD3V) * arr(TREP10V*(GLDGRATV)/TTSBV)
+        + (1-positif(CARTSV+REMPLAV+CODDAJ+CODEAJ+GLD1V+GLD2V+GLD3V)) * max(0,TREP10V-TABTS1AJ-TABTS1AC-TABTS1AP-TABTS3VJ);
+TABTSRAJ=positif(REMPLAV+CODDAJ+CODEAJ+GLD1V+GLD2V+GLD3V) * arr(TREP10V*(CARTSV)/TTSBV)
+        + (1-positif(REMPLAV+CODDAJ+CODEAJ+GLD1V+GLD2V+GLD3V)) * max(0,TREP10V-TABTS1AJ-TABTS1AC-TABTS1AP-TABTS3VJ-TABTS1TT);
+TABTSRAP=positif(REMPLAV+CODDAJ+CODEAJ+GLD1V+GLD2V+GLD3V) * arr(TREP10V*(REMPLAV)/TTSBV)
+        + (1-positif(REMPLAV+CODDAJ+CODEAJ+GLD1V+GLD2V+GLD3V)) * max(0,TREP10V-TABTS1AJ-TABTS1AC-TABTS1AP-TABTS3VJ-TABTS1TT-TABTSRAJ);
+TABTSV = TABTS1AJ + TABTS1AC +TABTS1AP +TABTS3VJ +TABTS1TT +TABTSRAJ+TABTSRAP;
+TABTS1BJ=positif(SALEXTC+ALLOC+BPCOSAC+GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GLD1C+GLD2C+GLD3C) * arr(TREP10C*(TSHALLOC)/TTSBC)
+        + (1-positif(SALEXTC+ALLOC+BPCOSAC+GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GLD1C+GLD2C+GLD3C)) * TREP10C;
+TABTS1BC=positif(ALLOC+BPCOSAC+GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GLD1C+GLD2C+GLD3C) * arr(TREP10C*(max(0,SALEXTC-COD1BD))/TTSBC)
+        + (1-positif(ALLOC+BPCOSAC+GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GLD1C+GLD2C+GLD3C)) * max(0,TREP10C-TABTS1BJ);
+TABTS1BP=positif(BPCOSAC+GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GLD1C+GLD2C+GLD3C) * arr(TREP10C*(ALLOC)/TTSBC)
+        + (1-positif(BPCOSAC+GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GLD1C+GLD2C+GLD3C)) * max(0,TREP10C-TABTS1BJ-TABTS1BC);
+TABTS3VK=positif(GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GLD1C+GLD2C+GLD3C) * arr(TREP10C*(BPCOSAC)/TTSBC)
+        + (1-positif(GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GLD1C+GLD2C+GLD3C)) * max(0,TREP10C-TABTS1BJ-TABTS1BC-TABTS1BP);
+TABTS1UT=positif(CARTSC+REMPLAC+CODDBJ+CODEBJ+GLD1C+GLD2C+GLD3C) * arr(TREP10C*(GLDGRATC)/TTSBC)
+        + (1-positif(CARTSC+REMPLAC+CODDBJ+CODEBJ+GLD1C+GLD2C+GLD3C)) * max(0,TREP10C-TABTS1BJ-TABTS1BC-TABTS1BP-TABTS3VK);
+TABTSRBJ=positif(REMPLAC+CODDBJ+CODEBJ+GLD1C+GLD2C+GLD3C) * arr(TREP10C*(CARTSC)/TTSBC)
+        + (1-positif(REMPLAC+CODDBJ+CODEBJ+GLD1C+GLD2C+GLD3C)) * max(0,TREP10C-TABTS1BJ-TABTS1BC-TABTS1BP-TABTS3VK-TABTS1UT);
+TABTSRBP=positif(CODDBJ+CODEBJ+GLD1C+GLD2C+GLD3C) * arr(TREP10C*(REMPLAC)/TTSBC)
+        + (1-positif(CODDBJ+CODEBJ+GLD1C+GLD2C+GLD3C)) * max(0,TREP10C-TABTS1BJ-TABTS1BC-TABTS1BP-TABTS3VK-TABTS1UT-TABTSRBJ);
+TABTSC = TABTS1BJ + TABTS1BC +TABTS1BP +TABTS3VK +TABTS1UT +TABTSRBJ+TABTSRBP;
+regle 99992500:
+application : iliad , batch  ;
+TABDOMDAJ = positif(CODDAJ) *
+           (positif(CODEAJ+GLD1V+GLD2V+GLD3V) * arr(TREP10V*CODDAJ/TTSBV)
+           + (1-positif(CODEAJ+GLD1V+GLD2V+GLD3V)) * max(0,TREP10V-TABTSV))+0;
+TABDOMEAJ = positif(CODEAJ) *
+           (positif(GLD1V+GLD2V+GLD3V) * arr(TREP10V*CODEAJ/TTSBV)
+           + (1-positif(GLD1V+GLD2V+GLD3V)) * max(0,TREP10V-TABTSV-TABDOMDAJ))+0;
+TABDOMDBJ = positif(CODDBJ) *
+           (positif(CODEBJ+GLD1C+GLD2C+GLD3C) * arr(TREP10C*CODDBJ/TTSBC)
+           + (1-positif(CODEBJ+GLD1C+GLD2C+GLD3C)) * max(0,TREP10C-TABTSC))+0;
+TABDOMEBJ = positif(CODEBJ) *
+           (positif(GLD1C+GLD2C+GLD3C) * arr(TREP10C*CODEBJ/TTSBC)
+           + (1-positif(GLD1C+GLD2C+GLD3C)) * max(0,TREP10C-TABTSC-TABDOMDBJ))+0;
+TABGL1V = positif(GLD1V) *
+           (positif(GLD2V+GLD3V) * arr(TREP10V*GLD1V/TTSBV)
+           + (1-positif(GLD2V+GLD3V)) * max(0,TREP10V-TABTSV-TABDOMDAJ-TABDOMEAJ))+0;
+TABGL1C = positif(GLD1C) *
+           (positif(GLD2C+GLD3C) * arr(TREP10C*GLD1C/TTSBC)
+           + (1-positif(GLD2C+GLD3C)) * max(0,TREP10C-TABTSC-TABDOMDBJ-TABDOMEBJ))+0;
+TABGL2V = positif(GLD2V) *
+           (positif(GLD3V) * arr(TREP10V*GLD2V/TTSBV)
+           + (1-positif(GLD3V)) * max(0,TREP10V-TABTSV-TABDOMDAJ-TABDOMEAJ-TABGL1V))+0;
+TABGL2C = positif(GLD2C) *
+           (positif(GLD3C) * arr(TREP10C*GLD2C/TTSBC)
+           + (1-positif(GLD3C)) * max(0,TREP10C-TABTSC-TABDOMDBJ-TABDOMEBJ-TABGL1C))+0;
+TABGL3V = positif(GLD3V) * max(0,TREP10V-TABTSV-TABDOMDAJ-TABDOMEAJ-TABGL1V-TABGL2V)+0;
+TABGL3C = positif(GLD3C) * max(0,TREP10C-TABTSC-TABDOMDBJ-TABDOMEBJ-TABGL1C-TABGL2C)+0;
+TABTS1CJ=arr(TREP101*(TSHALLO1)/TTSB1);
+TABTS1CC=positif(ALLO1+CARTSP1+REMPLAP1) * arr(TREP101*(max(0,SALEXT1-COD1CD))/TTSB1)
+        + (1-positif(ALLO1+CARTSP1+REMPLAP1)) * max(0,TREP101-TABTS1CJ);
+TABTS1CP=positif(CARTSP1+REMPLAP1) * arr(TREP101*(ALLO1)/TTSB1)
+        + (1-positif(CARTSP1+REMPLAP1)) * max(0,TREP101-TABTS1CJ-TABTS1CC);
+TABTSRCJ=positif(REMPLAP1) * arr(TREP101*(CARTSP1)/TTSB1)
+        + (1-positif(REMPLAP1)) * max(0,TREP101-TABTS1CJ-TABTS1CC-TABTS1CP);
+TABTSRCP=max(0,TREP101 -TABTS1CJ  -TABTS1CC-TABTS1CP -TABTSRCJ);
+TABTS1DJ=arr(TREP102*(TSHALLO2)/TTSB2);
+TABTS1DC=positif(ALLO2+CARTSP2+REMPLAP2) * arr(TREP102*(max(0,SALEXT2-COD1DD))/TTSB2)
+        + (1-positif(ALLO2+CARTSP2+REMPLAP2)) * max(0,TREP102-TABTS1DJ);
+TABTS1DP=positif(CARTSP2+REMPLAP2) * arr(TREP102*(ALLO2)/TTSB2)
+        + (1-positif(CARTSP2+REMPLAP2)) * max(0,TREP102-TABTS1DJ-TABTS1DC);
+TABTSRDJ=positif(REMPLAP2) * arr(TREP102*(CARTSP2)/TTSB2)
+        + (1-positif(REMPLAP2)) * max(0,TREP102-TABTS1DJ-TABTS1DC-TABTS1DP);
+TABTSRDP=max(0,TREP102- TABTS1DJ  -TABTS1DC-TABTS1DP -TABTSRDJ);
+TABTS1EJ=arr(TREP103*(TSHALLO3)/TTSB3);
+TABTS1EC=positif(ALLO3+CARTSP3+REMPLAP3) * arr(TREP103*(max(0,SALEXT3-COD1ED))/TTSB3)
+        + (1-positif(ALLO3+CARTSP3+REMPLAP3)) * max(0,TREP103-TABTS1EJ);
+TABTS1EP=positif(CARTSP3+REMPLAP3) * arr(TREP103*(ALLO3)/TTSB3)
+        + (1-positif(CARTSP3+REMPLAP3)) * max(0,TREP103-TABTS1EJ-TABTS1EC);
+TABTSREJ=positif(REMPLAP3) * arr(TREP103*(CARTSP3)/TTSB3)
+        + (1-positif(REMPLAP3)) * max(0,TREP103-TABTS1EJ-TABTS1EC-TABTS1EP);
+TABTSREP=max(0,TREP103- TABTS1EJ  -TABTS1EC-TABTS1EP -TABTSREJ);
+TABTS1FJ=arr(TREP104*(TSHALLO4)/TTSB4);
+TABTS1FC=positif(ALLO4+CARTSP4+REMPLAP4) * arr(TREP104*(max(0,SALEXT4-COD1FD))/TTSB4)
+        + (1-positif(ALLO4+CARTSP4+REMPLAP4)) * max(0,TREP104-TABTS1FJ);
+TABTS1FP=positif(CARTSP4+REMPLAP4) * arr(TREP104*(ALLO4)/TTSB4)
+        + (1-positif(CARTSP4+REMPLAP4)) * max(0,TREP104-TABTS1FJ-TABTS1FC);
+TABTSRFJ=positif(REMPLAP4) * arr(TREP104*(CARTSP4)/TTSB4)
+        + (1-positif(REMPLAP4)) * max(0,TREP104-TABTS1FJ-TABTS1FC-TABTS1FP);
+TABTSRFP=max(0,TREP104 - TABTS1FJ  -TABTS1FC-TABTS1FP -TABTSRFJ);
+regle 99992600:
+application : iliad , batch  ;
+TABGLTV = somme (x=1..3: TABGLxV)+TABDOMDAJ + TABDOMEAJ;
+TABGLTC = somme (x=1..3: TABGLxC)+TABDOMDBJ + TABDOMEBJ;
+regle 899999999:
+application : iliad , batch  ;
+TTSN1AJ = TSHALLOV - TABTS1AJ;
+TTSN1AC = max(0,SALEXTV-COD1AD)- TABTS1AC;
+TTSN1AP = ALLOV - TABTS1AP;
+TTSN3VJ = BPCOSAV - TABTS3VJ;
+TTSN1TT = GLDGRATV - TABTS1TT;
+TTSNRAJ = (CARTSV - TABTSRAJ) ;
+TTSNRAP = (REMPLAV - TABTSRAP);
+TTSNDAJ = (CODDAJ - TABDOMDAJ);
+TTSNEAJ = (CODEAJ - TABDOMEAJ);
+TTSNGL1V = (GLD1V - TABGL1V);
+TTSNGL2V = (GLD2V - TABGL2V);
+TTSNGL3V = (GLD3V - TABGL3V);
+TTSN1BJ = TSHALLOC - TABTS1BJ;
+TTSN1BC = max(0,SALEXTC-COD1BD)- TABTS1BC;
+TTSN1BP = ALLOC - TABTS1BP;
+TTSN3VK = BPCOSAC - TABTS3VK;
+TTSN1UT = GLDGRATC - TABTS1UT;
+TTSNRBJ = (CARTSC - TABTSRBJ);
+TTSNRBP = (REMPLAC - TABTSRBP);
+TTSNDBJ = (CODDBJ - TABDOMDBJ);
+TTSNEBJ = (CODEBJ - TABDOMEBJ);
+TTSNGL1C = (GLD1C - TABGL1C);
+TTSNGL2C = (GLD2C - TABGL2C);
+TTSNGL3C = (GLD3C - TABGL3C);
+TTSN1CJ = TSHALLO1 - TABTS1CJ;
+TTSN1CC = max(0,SALEXT1-COD1CD)- TABTS1CC;
+TTSN1CP = ALLO1 - TABTS1CP;
+TTSNRCJ = (CARTSP1 - TABTSRCJ);
+TTSNRCP = (REMPLAP1 - TABTSRCP);
+TTSN1DJ = TSHALLO2 - TABTS1DJ;
+TTSN1DC = max(0,SALEXT2-COD1DD)- TABTS1DC;
+TTSN1DP = ALLO2 - TABTS1DP;
+TTSNRDJ = (CARTSP2 - TABTSRDJ);
+TTSNRDP = (REMPLAP2 - TABTSRDP);
+TTSN1EJ = TSHALLO3 - TABTS1EJ;
+TTSN1EC = max(0,SALEXT3-COD1ED)- TABTS1EC;
+TTSN1EP = ALLO3 - TABTS1EP;
+TTSNREJ = (CARTSP3 - TABTSREJ);
+TTSNREP = (REMPLAP3 - TABTSREP);
+TTSN1FJ = TSHALLO4 - TABTS1FJ;
+TTSN1FC = max(0,SALEXT4-COD1FD)- TABTS1FC;
+TTSN1FP = ALLO4 - TABTS1FP;
+TTSNRFJ = (CARTSP4 - TABTSRFJ);
+TTSNRFP = (REMPLAP4 - TABTSRFP);
+
+CUMSALEXTEF = TTSN1AC + TTSN1BC + TTSN1CC + TTSN1DC + TTSN1EC + TTSN1FC ;
+regle 99992700:
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+TPLRi = min ( MIN_DEDPR , TEXPRi );
+pour i = V,C,1,2,3,4:
+TAPBi = max( TPLRi , (TEXPRi*TX_DEDPER/100));
+pour i = V,C,1,2,3,4:
+TIND_APBi = positif_ou_nul(TPLRi- (TEXPRi * TX_DEDPER/100));
+TPL_PB = arr(PLAF_DEDPRFOYER -somme (i=V,C,1..4: TAPBi * TIND_APBi));
+regle 99992800:
+application : iliad , batch  ;
+TABPRV = arr ( (1 - TIND_APBV) * 
+             min(TAPBV,(TPL_PB * TAPBV / somme(x=V,C,1..4:TAPBx * (1 - TIND_APBx))))
+           + TIND_APBV * TAPBV );
+TABPRC = arr ( (1 - TIND_APBC) * 
+             min(TAPBC,
+                       positif(TEXPR1+TEXPR2+TEXPR3+TEXPR4)*(TPL_PB * TAPBC / somme(x=V,C,1..4:TAPBx * (1 - TIND_APBx)))
+                     + (1-positif(TEXPR1+TEXPR2+TEXPR3+TEXPR4))* (max(0,TPL_PB - TABPRV)))
+           + TIND_APBC * TAPBC );
+TABPR1 = arr ( (1 - TIND_APB1) * 
+             min(TAPB1,
+                       positif(TEXPR2+TEXPR3+TEXPR4)*(TPL_PB * TAPB1 / somme(x=V,C,1..4:TAPBx * (1 - TIND_APBx)))
+                     + (1-positif(TEXPR2+TEXPR3+TEXPR4))* (max(0,TPL_PB - TABPRV-TABPRC)))
+           + TIND_APB1 * TAPB1 );
+TABPR2 = arr ( (1 - TIND_APB2) * 
+             min(TAPB2,
+                       positif(TEXPR3+TEXPR4)*(TPL_PB * TAPB2 / somme(x=V,C,1..4:TAPBx * (1 - TIND_APBx)))
+                     + (1-positif(TEXPR3+TEXPR4))* (max(0,TPL_PB - TABPRV-TABPRC-TABPR1)))
+           + TIND_APB2 * TAPB2 );
+TABPR3 = arr ( (1 - TIND_APB3) * 
+             min(TAPB3,
+                       positif(TEXPR4)*(TPL_PB * TAPB3 / somme(x=V,C,1..4:TAPBx * (1 - TIND_APBx)))
+                     + (1-positif(TEXPR4))* (max(0,TPL_PB - TABPRV-TABPRC-TABPR1-TABPR2)))
+           + TIND_APB3 * TAPB3 );
+TABPR4 = arr ( (1 - TIND_APB4) * 
+             min(TAPB4,(max(0,TPL_PB -TABPRV-TABPRC-TABPR1-TABPR2-TABPR3)))
+           + TIND_APB4 * TAPB4 );
+regle 99992900:
+application : iliad , batch  ;
+TAPRV  =  TIND_APBV * TABPRV 
+       + (1-TIND_APBV)* min ( TABPRV , TPL_PB); 
+TAPRC  =  TIND_APBC * TABPRC 
+       + (1-TIND_APBC)* min ( TABPRC , TPL_PB - (1-TIND_APBV)*TAPRV ); 
+TAPR1  =  TIND_APB1 * TABPR1 
+       + (1-TIND_APB1)* min ( TABPR1 , TPL_PB - (1-TIND_APBV)*TAPRV 
+			- (1-TIND_APBC)*TAPRC);
+TAPR2  =  TIND_APB2 * TABPR2
+       + (1-TIND_APB2)* min ( TABPR2 , TPL_PB - (1-TIND_APBV)*TAPRV 
+                       - (1-TIND_APBC)*TAPRC - (1-TIND_APB1)*TAPR1 ); 
+TAPR3  =  TIND_APB3 * TABPR3
+       + (1-TIND_APB3)* min ( TABPR3 , TPL_PB - (1-TIND_APBV)*TAPRV 
+                       - (1-TIND_APBC)*TAPRC - (1-TIND_APB1)*TAPR1  
+                       - (1-TIND_APB2)*TAPR2 ); 
+TAPR4  =  TIND_APB4 * TABPR4 
+       + (1-TIND_APB4)* min ( TABPR4 , TPL_PB - (1-TIND_APBV)*TAPRV 
+                       - (1-TIND_APBC)*TAPRC - (1-TIND_APB1)*TAPR1  
+                       - (1-TIND_APB2)*TAPR2 - (1-TIND_APB3)*TAPR3 ); 
+regle 99992110:
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+TPRNNi = TEXPRi - TAPRi;
+regle 99992120:
+application : iliad , batch  ;
+TTSNTV =  TTSN1AJ+TTSN1AC+TTSN1AP+TTSN3VJ+TTSN1TT+TTSNRAJ+TTSNRAP
+        +TTSNDAJ+TTSNEAJ+TTSNGL1V+TTSNGL2V+TTSNGL3V ;
+TTSNTC = TTSN1BJ+TTSN1BC+TTSN1BP+TTSN3VK+TTSN1UT+TTSNRBJ+TTSNRBP
+       +TTSNDBJ+TTSNEBJ+TTSNGL1C+TTSNGL2C+TTSNGL3C ;
+TTSNT1 =  TTSN1CJ +TTSN1CC+ TTSN1CP + TTSNRCJ + TTSNRCP;
+TTSNT2 =  TTSN1DJ +TTSN1DC+ TTSN1DP + TTSNRDJ + TTSNRDP;
+TTSNT3 =  TTSN1EJ+TTSN1EC+ TTSN1EP+ TTSNREJ+ TTSNREP ;
+TTSNT4 =  TTSN1FJ+TTSN1FC+ TTSN1FP+ TTSNRFJ+ TTSNRFP ;
+regle 99992130:
+application : iliad , batch  ;
+pour i =V,C,1,2,3,4:
+TTSNi = positif (-TTSNTi) * min (0 , TTSNTi + TPRNNi)
+     + positif_ou_nul (TTSNTi) * TTSNTi;
+pour i =V,C,1,2,3,4:
+TPRNi = positif (-TTSNTi) * positif (TTSNTi + TPRNNi) * (TTSNTi + TPRNNi)
+       + positif_ou_nul (TTSNTi) * TPRNNi;
+
+regle 99992210:
+application : iliad , batch  ;
+pour i = V,C;x=1..3:
+TGLNAVxi = max (GLDxi - TABGLxi,0);
+TGLDOMAVDAJV = max (CODDAJ - TABDOMDAJ,0);
+TGLDOMAVEAJV = max (CODEAJ - TABDOMEAJ,0);
+TGLDOMAVDBJC = max (CODDBJ - TABDOMDBJ,0);
+TGLDOMAVEBJC = max (CODEBJ - TABDOMEBJ,0);
+TGLN1V = max (GLD1V - TABGL1V,0);
+TGLN2V = max (GLD2V - TABGL2V,0);
+TGLN3V = max (GLD3V - TABGL3V,0);
+TGLN4V = max(CODDAJ - TABDOMDAJ,0)+max(CODEAJ - TABDOMEAJ,0);
+TGLN1C = max (GLD1C - TABGL1C,0);
+TGLN2C = max (GLD2C - TABGL2C,0);
+TGLN3C = max (GLD3C - TABGL3C,0);
+TGLN4C = max(CODDBJ - TABDOMDBJ,0)+max(CODEBJ - TABDOMEBJ,0);
+regle 99992230:
+application : iliad , batch  ;
+TTSV = TTSNV - somme(x=1..3: max(0,GLDxV - TABGLxV))-max(CODDAJ - TABDOMDAJ,0)-max(CODEAJ - TABDOMEAJ,0);
+TTSC = TTSNC - somme(x=1..3: max(0,GLDxC - TABGLxC))-max(CODDBJ - TABDOMDBJ,0)-max(CODEBJ - TABDOMEBJ,0);
+pour i=1..4:
+TTSi = TTSNi;
+pour i=V,C:
+TTPRi = TTSNi + TPRNi - somme(x=1..3: TGLNxi);
+pour i=1..4:
+TTPRi = TTSNi + TPRNi;
+pour i = V,C :
+TTSNNi =  positif(TTSi) *arr(TTSi *(TTSBNi + BPCOSAi + GLDGRATi)/TEXTSi )
+          + (1 -positif(TTSi)) * TTSi ;
+pour i = 1..4 :
+TTSNNi = (positif(TTSi) * arr(TTSi * TTSBNi /TEXTSi )
+            + (1 -positif(TTSi)) * TTSi)  ;
+pour i = V,C :
+TTSNN2i = ( positif(TTSi)
+                * ( positif(CARTSi+REMPLAi) 
+                          * arr(TTSi * T2TSNi / TEXTSi )
+                    + (1 -positif(CARTSi+REMPLAi)) 
+                          * (TTSi - TTSNNi))) ;
+pour i = 1..4 :
+TTSNN2i = ( positif(TTSi)
+               * ( positif(CARTSPi+REMPLAPi) 
+                          * arr(TTSi * T2TSNi /TEXTSi )
+                    + (1 -positif(CARTSPi+REMPLAPi)) 
+                          * (TTSi - TTSNNi))) ;
+pour i = V,C :
+TTSNN2TSi = ( positif(TTSi)
+                * ( positif(REMPLAi) 
+                          * arr(TTSi * CARTSi / TEXTSi )
+                    + (1 -positif(REMPLAi)) 
+                          * (TTSi - TTSNNi))) ;
+pour i = 1..4 :
+TTSNN2TSi = ( positif(TTSi)
+               * ( positif(REMPLAPi) 
+                          * arr(TTSi * CARTSPi /TEXTSi )
+                    + (1 -positif(REMPLAPi)) 
+                          * (TTSi - TTSNNi))) ;
+pour i = V,C :
+TTSNN2REMPi = (positif(TTSi) * (TTSi - TTSNNi-TTSNN2TSi)) ;
+pour i = 1..4 :
+TTSNN2REMPi = (positif(TTSi) * (TTSi - TTSNNi-TTSNN2TSi)) ;
+
+TFRDVREP =  positif(ART1731BIS) *  max(0,FRNV - TFRDV) * null(TIND_10V);
+TFRDCREP =  positif(ART1731BIS) *  max(0,FRNC - TFRDC) * null(TIND_10C);
+TFRD1REP =  positif(ART1731BIS) *  max(0,(max(0,(FRN1-TFRD1)) - TPRN1 * (1-positif(FRN1-TFRD1)))* null(TIND_101)
+                                       +(max(0,(FRN2-TFRD2)) - TPRN2 * (1-positif(FRN2-TFRD2)) )* null(TIND_102)
+                                       +(max(0,(FRN3-TFRD3)) - TPRN3 * (1-positif(FRN3-TFRD3)))* null(TIND_103)
+                                       +(max(0,(FRN4-TFRD4)) - TPRN4 * (1-positif(FRN4-TFRD4)))* null(TIND_104) )
+                                     ;
+TFRDREPTOT =   positif(ART1731BIS) *  (TFRDVREP + TFRDCREP + TFRD1REP);
+regle 99992240:
+application : iliad , batch  ;
+TPRRV = arr(TPRNV * PRBV / TEXPRV) +  arr(TPRNV * COD1AH / TEXPRV);
+TPRRC = arr(TPRNC * PRBC / TEXPRC) +  arr(TPRNC * COD1BH / TEXPRC);
+TPRR1 = arr(TPRN1 * PRB1 / TEXPR1) +  arr(TPRN1 * COD1CH / TEXPR1);
+TPRR2 = arr(TPRN2 * PRB2 / TEXPR2) +  arr(TPRN2 * COD1DH / TEXPR2);
+TPRR3 = arr(TPRN3 * PRB3 / TEXPR3) +  arr(TPRN3 * COD1EH / TEXPR3);
+TPRR4 = arr(TPRN4 * PRB4 / TEXPR4) +  arr(TPRN4 * COD1FH / TEXPR4);
+pour i = V,C:
+TPRR2i = positif(PEBFi+PENSALi) * arr(TPRNi * CARPEi / TEXPRi)
+           +  (1 -positif(PEBFi+PENSALi)) * (TPRNi -TPRRi)   ;
+pour i = 1..4:
+TPRR2i = positif(PEBFi+PENSALPi) * arr(TPRNi * CARPEPi / TEXPRi )
+           +  (1 -positif(PEBFi+PENSALPi)) * (TPRNi -TPRRi);
+pour i = V,C:
+TPENFi =  positif(PENSALi) * arr(TPRNi * PEBFi / TEXPRi)
+       + (1 - positif(PENSALi)) * max(0,(TPRNi -TPRRi -TPRR2i));
+pour i = 1..4:
+TPENFi =  positif(PENSALPi) * arr(TPRNi * PEBFi / TEXPRi)
+        + (1- positif(PENSALPi)) * (TPRNi -TPRRi -TPRR2i);
+pour i = V,C:
+TPENALIMi = positif(TEXPRi) * (TPRNi -TPRRi -TPRR2i - TPENFi) ;
+pour i = 1..4:
+TPENALIMi = positif(TEXPRi) * (TPRNi -TPRRi -TPRR2i - TPENFi) ;
+CUMPENEXTEF = somme (i = V,C,1..4 : TPRRi) ;
+regle 99992310:
+application : iliad , batch  ;
+TTSPRT = TTSPRV + TTSPRC + TTSPRP;
+TTSPRT1731 = max(0,TTSPRV) + max(0,TTSPRC) + max(0,TTSPR1) + max(0,TTSPR2)+ max(0,TTSPR3)+ 
\ No newline at end of file
diff --git a/sources2013m_3_8/chap-thr.m b/sources2013m_3_8/chap-thr.m
new file mode 100644
index 0000000000000000000000000000000000000000..98e9aaf9e702ed895cabc7ae3c2da6ffcacfa983
--- /dev/null
+++ b/sources2013m_3_8/chap-thr.m
@@ -0,0 +1,48 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 80000:
+application : iliad , batch  ;
+HRBTRFR1 = V_BTRFRHR1 * (1-positif_ou_nul(RFRH1)) + RFRH1;
+HRBTRFR2 = V_BTRFRHR2 * (1-positif_ou_nul(RFRH2)) + RFRH2;
+HRNBTRFR = positif_ou_nul(V_BTRFRHR1 * (1-positif(RFRH1)) + RFRH1) + positif_ou_nul(V_BTRFRHR2 * (1-positif(RFRH2)) + RFRH2);
+HRMOYBTRFR = arr((HRBTRFR1 + HRBTRFR2) /2);
+HRLIM15 = positif_ou_nul(REVKIREHR - (1.5 * HRMOYBTRFR));
+HRLIMBTRFR2 = positif_ou_nul(LIMHR1 * (1+BOOL_0AM) - HRBTRFR2);
+HRLIMBTRFR1 = positif_ou_nul(LIMHR1 * (1+BOOL_0AM) - HRBTRFR1);
+HRCONDTHEO = positif(null(2-HRNBTRFR)*positif(HRLIM15)*positif(HRLIMBTRFR1*HRLIMBTRFR2)* (1-positif(CASECHR+0)));
+HRBASEFRAC = arr((REVKIREHR - HRMOYBTRFR) / 2);
+HRBASELISSE = HRBASEFRAC + HRMOYBTRFR;
+CHRREEL1 = positif_ou_nul(LIMHRTX1 * (1+BOOL_0AM)-REVKIREHR) * ((REVKIREHR - LIMHR1 * (1+BOOL_0AM))*TXHR1/100)
+                       + (LIMHR1 * (1+BOOL_0AM) * TXHR1/100) * positif(REVKIREHR - LIMHRTX1 * (1+BOOL_0AM));
+CHRREEL2 = max(0,(REVKIREHR - LIMHR2*(1+BOOL_0AM))*TXHR2/100);
+CHRREELTOT = arr(max(0,CHRREEL1 + CHRREEL2));
+CHRTHEO11 = arr(positif_ou_nul(LIMHRTX1 * (1+BOOL_0AM)-HRBASELISSE) * ((HRBASELISSE - LIMHR1 * (1+BOOL_0AM))*TXHR1/100)
+                        + (LIMHR1 * (1+BOOL_0AM) * TXHR1/100)* positif(HRBASELISSE - LIMHRTX1 * (1+BOOL_0AM)));
+CHRTHEO21 = arr(max(0,(HRBASELISSE - LIMHR2*(1+BOOL_0AM))*TXHR2/100));
+CHRTHEOTOT = arr(max(0,CHRTHEO11 + CHRTHEO21)*2);
+BHAUTREV = max(0 , REVKIREHR - LIMHR1 * (1 + BOOL_0AM)) ;
+CHRAVANT = (max(0,min(CHRREELTOT,CHRTHEOTOT)) * HRCONDTHEO
+                     + CHRREELTOT * (1-HRCONDTHEO) ) * (1-null(1-FLAG_ACO));
+CHRTEFF = arr(CHRAVANT * (REVKIREHR - TEFFHRC+COD8YJ)/ REVKIREHR);
+CHRAPRES = CHRAVANT * (1-positif(positif(IPMOND)+positif(INDTEFF))) + CHRTEFF * positif(positif(IPMOND)+positif(INDTEFF));
+regle 80005:
+application : iliad , batch  ;
+IHAUTREVT = max(0,CHRAPRES - CICHR);
diff --git a/sources2013m_3_8/chap-tl.m b/sources2013m_3_8/chap-tl.m
new file mode 100644
index 0000000000000000000000000000000000000000..1b0791abfdd1cd9b2cc52b63ef7405c86d1d502a
--- /dev/null
+++ b/sources2013m_3_8/chap-tl.m
@@ -0,0 +1,159 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 21700:
+application : iliad ;
+
+
+RAP_RNI    = RNI_TL - RNI_INIT ;
+RAP_EFF    = EFF_TL - EFF_INIT ;
+RAP_PVQ    = PVQ_TL - PVQ_INIT ;
+RAP_PV     = PV_TL - PV_INIT ;
+RAP_RI     = - RI_TL + RI_INIT ;
+RAP_CI     = CI_TL ;
+RAP_CRDS   = RDS_TL - CRDS_INIT ;
+RAP_RDS    = BRDS_TL - BRDS_INIT ;
+RAP_PRS    = BPRS_TL - BPRS_INIT ;
+RAP_TAXAGA = TAXAGA_TL - TAXAGA_INIT ;
+RAP_CAP    = PCAP_TL - PCAP_INIT ;
+RAP_LOY    = LOYA_TL - LOY_INIT ;
+RAP_CHR    = CHR_TL - CHR_INIT ;
+RAP_CVN    = CVNA_TL - CVN_INIT ;
+RAP_CDIS   = CDISA_TL - CDIS_INIT ;
+RAP_GLO    = GLOA_TL - GLO_INIT ;
+RAP_RSE1   = RSE1A_TL - RSE1_INIT ;
+RAP_RSE2   = RSE2A_TL - RSE2_INIT ;
+RAP_RSE3   = RSE3A_TL - RSE3_INIT ;
+RAP_RSE4   = RSE4A_TL - RSE4_INIT ;
+RAP_RSE5   = RSE5A_TL - RSE5_INIT ;
+
+
+NUM_IR_TL = max(0 , RAP_RNI
+                   + RAP_EFF
+                   + RAP_PVQ
+                   + RAP_PV
+                   + RAP_RI 
+                   + RAP_CI) ;
+
+NUM_CS_TL     = max(0 , RAP_CRDS) ;
+NUM_RD_TL     = max(0 , RAP_RDS) ;
+NUM_PS_TL     = max(0 , RAP_PRS) ;
+
+NUM_TAXAGA_TL = max(0 , RAP_TAXAGA) ; 
+NUM_CAP_TL    = max(0 , RAP_CAP) ;
+NUM_LOY_TL    = max(0 , RAP_LOY) ;
+NUM_CHR_TL    = max(0 , RAP_CHR) ;
+
+NUM_CVN_TL    = max(0 , RAP_CVN) ;
+NUM_CDIS_TL   = max(0 , RAP_CDIS) ;
+NUM_GLO_TL    = max(0 , RAP_GLO) ;
+
+NUM_RSE1_TL   = max(0 , RAP_RSE1) ;
+NUM_RSE2_TL   = max(0 , RAP_RSE2) ;
+NUM_RSE3_TL   = max(0 , RAP_RSE3) ;
+NUM_RSE4_TL   = max(0 , RAP_RSE4) ;
+NUM_RSE5_TL   = max(0 , RAP_RSE5) ;
+
+regle 21710 :
+application : iliad ;
+
+
+DEN_IR_TL = max(0 , RNI_RECT 
+                   + EFF_RECT
+                   + PVQ_RECT
+                   + PV_RECT
+                   + RI_RECT 
+                   + CI_RECT) ;
+
+DEN_CS_TL     = max(0 , CRDS_RECT) ;
+DEN_RD_TL     = max(0 , BRDS_RECT) ;
+DEN_PS_TL     = max(0 , BPRS_RECT) ;
+
+DEN_TAXAGA_TL = max(0 , TAXAGA_RECT) ;
+DEN_CAP_TL    = max(0 , PCAP_RECT) ;
+DEN_LOY_TL    = max(0 , LOY_RECT) ;
+DEN_CHR_TL    = max(0 , CHR_RECT) ;
+
+DEN_CVN_TL    = max(0 , CVN_RECT) ;
+DEN_CDIS_TL   = max(0 , CDIS_RECT) ;
+DEN_GLO_TL    = max(0 , GLO_RECT) ;
+
+DEN_RSE1_TL = max(0 , RSE1_RECT) ;
+DEN_RSE2_TL = max(0 , RSE2_RECT) ;
+DEN_RSE3_TL = max(0 , RSE3_RECT) ;
+DEN_RSE4_TL = max(0 , RSE4_RECT) ;
+DEN_RSE5_TL = max(0 , RSE5_RECT) ;
+
+regle 21720 :
+application : iliad ;
+enchaineur : ENCH_TL ;
+
+RETARPRIM = null(V_IND_TRAIT - 4) * null(CMAJ - 7) ;
+
+TL_IR = (1 - positif(TL_MF*positif(MFIR+0)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT+PASS_TLIR))
+            * positif(positif (NUM_IR_TL+0) * positif (DEN_IR_TL+0) * positif(NUM_IR_TL / DEN_IR_TL  - 0.05))
+           + positif(TL_MF*positif(MFIR+0) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT + PASS_TLIR) ;
+
+TL_CS = (1 - positif(TL_MF*positif(MFCS) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT)) * positif(NUM_CS_TL / DEN_CS_TL  - 0.05) 
+         + positif(TL_MF*positif(MFCS) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_RD = (1 - positif(TL_MF*positif(MFRD) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT)) * positif(NUM_RD_TL / DEN_RD_TL  - 0.05)
+         + positif(TL_MF*positif(MFRD) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_PS = (1 - positif(TL_MF*positif(MFPS) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT)) * positif(NUM_PS_TL / DEN_PS_TL  - 0.05)
+         + positif(TL_MF*positif(MFPS) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT) ;
+
+
+TL_TAXAGA = ( 1 - positif(TL_MF * positif(MFTAXAGA) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT)) * (positif(TL_MF * positif(MFTAXAGA) + positif(NUM_TAXAGA_TL / DEN_TAXAGA_TL - 0.05)))
+            + positif(TL_MF * positif(MFTAXAGA) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_CAP = ( 1 - positif(TL_MF * positif(MFPCAP) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT)) * (positif(TL_MF * positif(MFPCAP) + positif(NUM_CAP_TL / DEN_CAP_TL - 0.05)))
+            + positif(TL_MF * positif(MFPCAP) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_LOY = ( 1 - positif(TL_MF * positif(MFLOY) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT)) * (positif(TL_MF * positif(MFLOY) + positif(NUM_LOY_TL / DEN_LOY_TL - 0.05)))
+            + positif(TL_MF * positif(MFLOY) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_CHR = ( 1 - positif(TL_MF * positif(MFIR + MFPCAP) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT)) * (positif(TL_MF * positif(MFIR + MFPCAP) + positif(NUM_CHR_TL / DEN_CHR_TL - 0.05)))
+            + positif(TL_MF * positif(MFIR + MFPCAP) * (1 - null(MFCHR7)) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_CVN = (1 - positif(TL_MF * positif(MFCVN)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFCVN) + positif (NUM_CVN_TL / DEN_CVN_TL  - 0.05 )) )
+	 + positif(TL_MF * positif(MFCVN)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_CDIS = (1 - positif(TL_MF * positif(MFCDIS)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFCDIS) + positif (NUM_CDIS_TL / DEN_CDIS_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFCDIS)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_GLO = (1 - positif(TL_MF * positif(MFGLO)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFGLO) + positif (NUM_GLO_TL / DEN_GLO_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFGLO)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE1 = (1 - positif(TL_MF * positif(MFRSE1)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE1) + positif (NUM_RSE1_TL / DEN_RSE1_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE1)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE2 = (1 - positif(TL_MF * positif(MFRSE2)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE2) + positif (NUM_RSE2_TL / DEN_RSE2_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE2)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE3 = (1 - positif(TL_MF * positif(MFRSE3)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE3) + positif (NUM_RSE3_TL / DEN_RSE3_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE3)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE4 = (1 - positif(TL_MF * positif(MFRSE4)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE4) + positif (NUM_RSE4_TL / DEN_RSE4_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE4)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE5 = (1 - positif(TL_MF * positif(MFRSE5)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE5) + positif (NUM_RSE5_TL / DEN_RSE5_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE5)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
diff --git a/sources2013m_3_8/coc1.m b/sources2013m_3_8/coc1.m
new file mode 100644
index 0000000000000000000000000000000000000000..1759b5c73331e4e8457c15896328a00fa99e5518
--- /dev/null
+++ b/sources2013m_3_8/coc1.m
@@ -0,0 +1,546 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 1507:
+application : iliad  , batch;
+si
+    (
+ ( FRNV + COD1AE > 0 et (present(TSHALLOV) + present(ALLOV) + present(SALEXTV)) = 0 )
+     ou
+ ( FRNC + COD1BE > 0 et (present(TSHALLOC) + present(ALLOC) + present(SALEXTC)) = 0 )
+     ou
+ ( FRN1 + COD1CE > 0 et (present(TSHALLO1) + present(ALLO1) + present(SALEXT1)) = 0 )
+     ou
+ ( FRN2 + COD1DE > 0 et (present(TSHALLO2) + present(ALLO2) + present(SALEXT2)) = 0 )
+     ou
+ ( FRN3 + COD1EE > 0 et (present(TSHALLO3) + present(ALLO3) + present(SALEXT3)) = 0 )
+     ou
+ ( FRN4 + COD1FE > 0 et (present(TSHALLO4) + present(ALLO4) + present(SALEXT4)) = 0 )
+    )
+alors erreur A143;
+verif 1508:
+application : iliad  , batch;
+si ( 
+   (TSHALLOV +0) < (GSALV + 0)
+   et
+   (GSALV + 0) > 0
+   )
+alors erreur A14401;
+verif 1509:
+application : iliad  , batch;
+si ( 
+   (TSHALLOC +0) < (GSALC + 0)
+   et
+   (GSALC + 0) > 0
+   )
+alors erreur A14402;
+verif 153:
+application : iliad , batch ;
+
+si
+   (
+       (positif(PPETPV + 0) = 1 et (positif(PPENHV + 0) = 1 ou positif(PPEXTV + 0) = 1))
+    ou (positif(PPETPC + 0) = 1 et (positif(PPENHC + 0) = 1 ou positif(PPEXTC + 0) = 1))
+    ou (positif(PPETPP1 + 0) = 1 et (positif(PPENHP1 + 0) = 1 ou positif(PPEXT1 + 0) = 1))
+    ou (positif(PPETPP2 + 0) = 1 et (positif(PPENHP2 + 0) = 1 ou positif(PPEXT2 + 0) = 1))
+    ou (positif(PPETPP3 + 0) = 1 et (positif(PPENHP3 + 0) = 1 ou positif(PPEXT3 + 0) = 1))
+    ou (positif(PPETPP4 + 0) = 1 et (positif(PPENHP4 + 0) = 1 ou positif(PPEXT4 + 0) = 1))
+   )
+
+alors erreur A153 ;
+verif 154:
+application : iliad , batch ;
+
+si
+      (positif(COD1AD + 0) = 1 et present(SALEXTV) = 0)
+   ou (positif(COD1BD + 0) = 1 et present(SALEXTC) = 0) 
+   ou (positif(COD1CD + 0) = 1 et present(SALEXT1) = 0) 
+   ou (positif(COD1DD + 0) = 1 et present(SALEXT2) = 0) 
+   ou (positif(COD1ED + 0) = 1 et present(SALEXT3) = 0) 
+   ou (positif(COD1FD + 0) = 1 et present(SALEXT4) = 0) 
+
+alors erreur A154 ;
+verif 148:
+application : iliad , batch ;
+
+si (APPLI_OCEANS = 0) et (
+   (
+     V_NOTRAIT + 0 < 20
+     et
+     positif ( present ( IPTEFP ) + present ( IPTEFN ) + 0 ) = 0 
+     et
+     positif ( positif ( TSELUPPEV + 0 ) + positif ( TSELUPPEC + 0 )) = 1 
+     et
+     positif ( IND_TDR + 0 ) = 0
+   )
+   ou
+   (
+     V_NOTRAIT + 0 >= 20
+     et
+     positif ( present ( IPTEFP ) + present ( IPTEFN ) + 0 ) = 0 
+     et
+     positif ( positif ( TSELUPPEV + 0 ) + positif ( TSELUPPEC + 0 )) = 1 
+     et
+     positif_ou_nul ( IND_TDR ) = 0
+   )                      )
+alors erreur A148 ;
+verif 1491:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(IPTEFP + IPTEFN + 0) = 0
+   et
+   positif(TSELUPPEV + 0) + positif(SALEXTV + 0) = 2
+
+alors erreur A14901 ;
+verif 1492:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(IPTEFP + IPTEFN + 0) = 0
+   et
+   positif(TSELUPPEC + 0) + positif(SALEXTC + 0) = 2
+
+alors erreur A14902 ;
+verif non_auto_cc 1513:
+application : iliad , batch ;
+
+si (
+     ( DETSV=1 et
+       positif(present(TSHALLOV) + present(ALLOV) + present(CARTSV) + present(CARTSNBAV) + present(REMPLAV) + present(REMPLANBV)) = 0 )
+ ou
+     ( DETSC=1 et 
+       positif(present(TSHALLOC) + present(ALLOC) + present(CARTSC) + present(CARTSNBAC) + present(REMPLAC) + present(REMPLANBC))=0 )
+ ou
+     ( DETS1=1 et 
+       positif(present(TSHALLO1) + present(ALLO1) + present(CARTSP1) + present(CARTSNBAP1) + present(REMPLAP1) + present(REMPLANBP1))=0 )
+ ou
+     ( DETS2=1 et 
+       positif(present(TSHALLO2) + present(ALLO2) + present(CARTSP2) + present(CARTSNBAP2) + present(REMPLAP2) + present(REMPLANBP2))=0 )
+ ou
+     ( DETS3=1 et
+       positif(present(TSHALLO3) + present(ALLO3) + present(CARTSP3) + present(CARTSNBAP3) + present(REMPLAP3) + present(REMPLANBP3))=0 )
+ ou
+     ( DETS4=1 et
+       positif(present(TSHALLO4) + present(ALLO4) + present(CARTSP4) + present(CARTSNBAP4) + present(REMPLAP4) + present(REMPLANBP4))=0 )
+	)
+alors erreur A146 ;
+verif 1600:
+application : iliad , batch ;
+
+si
+
+( DPVRCM > 0 et ((BPVRCM + PEA + GAINPEA) > 0 ))
+
+alors erreur A320 ;
+verif 1601:
+application : iliad , batch ;
+si
+
+   positif(ABDETPLUS) + positif(ABDETMOINS) = 2 
+
+alors erreur A321;
+verif 324:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(COD3SL + 0) + positif(COD3SM + 0) = 2
+
+alors erreur A324 ;
+verif 16021:
+application : iliad , batch ;
+
+si
+   FIPDOMCOM + 0 > 0
+   et 
+   V_EAD + V_EAG + 0 = 0
+
+alors erreur A747 ;
+verif 16022:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(TRAVITWT + 0) = 1
+   et
+   positif(MATISOSJ + 0) = 0
+
+alors erreur A75101 ;
+verif 16023:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(TRAMURWC + 0) = 1
+   et
+   positif(CINRJ + 0) = 0
+
+alors erreur A75102 ;
+verif 16024:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(TRATOIVG + 0) = 1
+   et
+   positif(CIDEP15 + 0) = 0
+
+alors erreur A75103 ;
+verif 16036:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CRECHOCON2 + 0) = 1
+   et
+   positif(CIBOIBAIL + CINRJBAIL + CINRJ + CIDEP15 + MATISOSJ + CHAUBOISN + CHAUBOISO + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + 0) = 0
+
+alors erreur A74801 ;
+verif 16037:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CRECHOBOI + 0) = 1
+   et
+   positif(CIBOIBAIL + CINRJBAIL + CRENRJ + CINRJ + CIDEP15 + MATISOSI + MATISOSJ + VOLISO + PORENT + ELESOL + CHAUBOISN
+	   + CHAUBOISO + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + EAUPLUV + DIAGPERF + RESCHAL + 0) = 0
+
+alors erreur A74802 ;
+verif 1608:
+application : iliad , batch ;
+si
+   positif(ABIMPPV + 0) = 1 
+   et 
+   positif(ABIMPMV + 0) = 1 
+
+alors erreur A323 ;
+verif 1616:
+application : iliad , batch ;
+si (APPLI_OCEANS=0) et (
+          (
+                ( RDPRESREPORT +0  > V_BTPRESCOMP  +  LIM_REPORT )
+           ou 
+                ( PRESCOMP2000 + PRESCOMPJUGE  +0 > LIM_REPORT  et
+                   V_BTPRESCOMP  + 0> 0 )
+           ou
+                ( RDPRESREPORT +0  > LIM_REPORT et V_BTPRESCOMP+0 = 0 )
+          )
+          et
+          (
+              1 - V_CNR > 0
+          )
+          et
+          (
+              RPRESCOMP > 0
+          )
+         et
+          ((APPLI_ILIAD = 1 et V_NOTRAIT+0 < 16)
+             ou APPLI_COLBERT = 1
+             ou ((V_BTNI1+0) non dans (50,92) et APPLI_BATCH = 1))
+	               )
+alors erreur DD15;
+verif 1606:
+application : iliad , batch ;
+si (APPLI_OCEANS = 0) et 
+(   (1 - V_CNR > 0) et 
+(RCMRDS > (LIM_CONTROLE + RCMABD 
+                        + RCMAV 
+                        + RCMHAD 
+                        + RCMHAB  
+			+ RCMTNC
+			+ REVACT
+			+ PROVIE
+			+ DISQUO 
+			+ INTERE
+			+ REVPEA 
+                        + COD2FA))
+)
+alors erreur DD14;
+verif 1603:
+application : batch , iliad ;
+si (
+   RFMIC > 0 et ( RFORDI > 0 ou RFDORD > 0 ou RFDHIS > 0 ou FONCI > 0 ou REAMOR > 0 et FONCINB > 0 ou REAMORNB > 0)
+   )
+alors erreur A420;
+verif 1604:
+application : batch , iliad;
+si ( V_IND_TRAIT > 0)
+   et
+   (
+   RFMIC >  LIM_MICFON
+   )
+alors erreur A421;
+verif 422:
+application : batch , iliad ;
+si 
+  (
+   LOYIMP > 0 et ( present(RFORDI) = 0
+		et 
+		   present(FONCI) = 0
+		et 
+		   present(FONCINB) = 0
+		et 
+		   present(REAMOR) = 0
+		et 
+		   present(REAMORNB) = 0
+		et 
+		   present(RFDORD) = 0
+                et 
+		   present(RFDHIS) = 0
+		et 
+		   present(RFMIC) = 0)
+  )
+alors erreur A422;
+verif 1609:
+application : batch , iliad ;
+
+ si (
+    (RFROBOR > 0 et RFDANT > 0) et (present(RFORDI)=0
+                                 et present(RFDORD)=0
+                                 et present(RFDHIS)=0
+                                    )
+    )
+alors erreur A423;
+verif 1610:
+application : batch , iliad ;
+
+si 
+   RFROBOR > 0 et (FONCI > 0 ou REAMOR > 0)
+
+alors erreur A424 ;
+verif 1605:
+application : batch, iliad ;
+si (APPLI_OCEANS = 0) et
+	(
+	RFMIC > 0 et RFDANT> 0
+
+	)
+alors erreur DD11;
+verif 1607:
+application : batch ,iliad;
+si    (APPLI_COLBERT+APPLI_OCEANS=0) 
+      et
+      V_IND_TRAIT + 0 = 4
+      et 
+	(
+	BAILOC98 > V_BTBAILOC98        
+	ou
+	( present(BAILOC98) = 1 et present(V_BTBAILOC98) = 0)
+	)
+alors erreur DD24;
+verif 1538:                                                                    
+application : iliad , batch ;                                 
+si ( 
+( RCSV > 0 et SOMMEA538VB = 0 )
+
+ou
+( RCSC > 0 et SOMMEA538CB = 0 )
+
+ou
+( RCSP > 0 et SOMMEA538PB = 0 )
+
+)
+alors erreur A538;
+verif isf 967:                                                                    
+application : iliad , batch ;                                 
+
+si
+   V_ZDC = 4
+   et
+   positif(V_0AZ + 0) = 1
+   et
+   positif(ISFBASE + 0) = 1
+
+alors erreur A967 ;
+verif isf 1700:                                                                    
+application : iliad , batch;                                 
+si
+	(
+	( (V_NOTRAIT +0 < 14) et (V_IND_TRAIT+0 = 4))
+	et
+	(ISFBASE <= LIM_ISFINF)
+	)
+
+alors erreur A98001 ;
+verif isf 1710:                                                                    
+application :  iliad , batch ;                                 
+si
+	(
+        ((V_NOTRAIT +0 < 14) et (V_IND_TRAIT+0 = 4))
+	et
+	(ISFBASE >= LIM_ISFSUP)
+	)
+alors erreur A98002;
+verif isf 1711:                                                                    
+application : iliad;                                 
+si 
+	(
+	 (
+	   ((V_NOTRAIT + 0 = 14) ou (V_NOTRAIT+0 = 16)) 
+         )
+	 et
+	 ( present(ISFBASE) = 1 )
+	 et
+	 ( ISFBASE + 0 <= LIM_ISFINF )
+	)
+alors erreur A98003;
+verif isf 1712:                                                                    
+application :  iliad;                                 
+si 
+	(
+	( ISFBASE + 0 != 0 )
+	  et
+		(
+		( V_NOTRAIT + 0 > 20 )
+		  et
+		( ISFBASE + 0 <= LIM_ISFINF )
+		)
+	)
+alors erreur A98004;
+verif isf 1713:                                                                    
+application : iliad ;                                 
+si 
+	(
+	( V_NOTRAIT + 0 > 13 )
+	et
+	( ISFBASE + 0 >= LIM_ISFSUP )
+	)
+alors erreur A98005;
+verif isf 1720:                                                                    
+application : iliad , batch ;                                 
+                                                                              
+si
+   present(ISFBASE) = 0
+   et
+   (ISFPMEDI + ISFPMEIN + ISFFIP + ISFFCPI + ISFDONF + ISFPLAF + ISFVBPAT + ISFDONEURO + ISFETRANG + ISFCONCUB + ISFPART + 0) > 0
+	
+alors erreur A981 ;
+verif isf 1730:                                                                    
+application : batch ,iliad  ;                                 
+si
+   V_IND_TRAIT + 0 > 0
+   et
+   positif(ISF_LIMINF + 0) + positif(ISF_LIMSUP + 0) = 2
+
+alors erreur A982 ;
+verif isf 1740:                                                            
+application : batch , iliad ;                                 
+si (APPLI_OCEANS=0) et 
+      (
+		  (V_IND_TRAIT + 0 = 4)
+		  et
+		  (
+		  positif(ISFCONCUB + 0 ) = 1
+                  et
+                  	(positif(V_0AM + V_0AO + 0 ) = 1
+                         ou
+                  		(positif(V_0AC + V_0AD + V_0AV + 0 )=1
+                                 et
+				 positif(V_0AB + 0)= 1 
+		       	        )
+			)
+                  )
+	)
+alors erreur A983 ;
+verif isf 1750:                                                            
+application : batch , iliad  ;                              
+si
+      (
+                  (V_IND_TRAIT + 0 = 4)
+		  et
+		  (
+		  positif(ISFPART + 0 ) = 1
+                  et
+                  	(positif(V_0AM + V_0AO + 0 ) = 1
+                         ou
+                  		(positif(V_0AC + V_0AD + V_0AV + 0 )=1
+                                 et
+				 positif(V_0AB + 0)= 0 
+		       	        )
+			)
+                   )
+	)
+alors erreur A984 ;
+verif isf 1760:                                                           
+application : batch , iliad  ;                             
+si
+      positif(ISF_LIMINF + ISF_LIMSUP + 0) = 1
+      et
+      ISFBASE > LIM_ISFINF 
+      et 
+      ISFBASE < LIM_ISFSUP
+
+alors erreur A985;
+verif isf 1770:                                                           
+application : batch , iliad  ;                             
+si (APPLI_OCEANS=0) et 
+      (
+      (V_NOTRAIT > 13)
+      et
+      (ISFCONCUB + 0 > 0 et ISFPART + 0 > 0)
+      )
+alors erreur A986;
+verif isf 1780:                                                           
+application : batch , iliad  ;                             
+si (APPLI_OCEANS=0) et 
+      (
+     	 (
+      		(V_NOTRAIT+0 = 14)
+	 )
+         et
+         (
+      		(V_ETCVL + 0 = 1)
+		et
+      		(ISFCONCUB + ISFPART + 0 = 0)
+         )
+      )
+alors erreur A98701;
+verif isf 1790:                                                           
+application : batch , iliad  ;                             
+si (APPLI_OCEANS=0) et 
+   (
+      (
+      		(V_NOTRAIT+0 = 14)
+      )
+      et
+      (
+      		(present(V_ETCVL) = 1)
+		et
+		(V_ETCVL + 0 = 0)
+		et
+      		(ISFCONCUB + ISFPART + 0 > 0)
+      )
+   )
+alors erreur A98702;
+
+
+
diff --git a/sources2013m_3_8/coc2.m b/sources2013m_3_8/coc2.m
new file mode 100644
index 0000000000000000000000000000000000000000..02996cc8259d65cd75d16ab8d17f90b41754ce81
--- /dev/null
+++ b/sources2013m_3_8/coc2.m
@@ -0,0 +1,1393 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 2500:
+application : iliad , batch;
+si 
+   APPLI_OCEANS = 0 
+   et 
+   FRNV > (TSHALLOV + ALLOV) * 0.10
+   et
+   RDSYVO > 0 
+   et 
+   PRBRV + CARPEV + PALIV + PENSALV + 0 = 0
+  
+alors erreur I00101 ;
+verif 2501:
+application : iliad , batch;
+si 
+   APPLI_OCEANS = 0 
+   et 
+   FRNC > (TSHALLOC + ALLOC) * 0.10
+   et
+   RDSYCJ > 0 
+   et 
+   PRBRC + CARPEC + PALIC + PENSALC + 0 = 0
+   
+alors erreur I00102 ;
+verif 2502:
+application : iliad, batch;
+si (APPLI_OCEANS = 0) et 
+(
+  (
+   (
+    ( FRN1 > (TSHALLO1 + ALLO1) *0.10)
+          et (PRBR1 + CARPEP1 + PALI1 + PENSALP1 + 0 = 0)
+   )
+   ou
+   (
+     ( FRN2 > (TSHALLO2 + ALLO2) *0.10)
+          et (PRBR2 + CARPEP2 + PALI2 + PENSALP2 + 0 = 0)
+   )
+   ou
+   (
+     ( FRN3 > (TSHALLO3 + ALLO3) *0.10)
+          et (PRBR3 + CARPEP3 + PALI3 + PENSALP3 + 0 = 0)
+   )
+   ou
+   (
+     ( FRN4 > (TSHALLO4 + ALLO4) *0.10)
+          et (PRBR4 + CARPEP4 + PALI4 + PENSALP4 + 0 = 0)
+   )
+  ) et RDSYPP > 0
+)
+alors erreur I00103 ;
+verif 2504:
+application : batch , iliad ;
+si
+   ( (APPLI_COLBERT + APPLI_ILIAD+APPLI_OCEANS=1)  et (
+  V_IND_TRAIT > 0
+  et
+  CREPROSP > LIM_PROSP
+					)
+  )
+alors erreur IM08;
+verif 2540:
+application : batch , iliad ;
+si (APPLI_COLBERT+APPLI_BATCH + APPLI_ILIAD = 1) et 
+  (
+  (
+   RFORDI + FONCI + REAMOR 
+ + RFDORD
+ + RFDHIS
+ + RFDANT 
+   > LIM_BTREVFONC) et (V_BTANC = 1) et (V_BTIRF = 0)
+  )
+alors erreur DD26;
+verif 5108:
+application : batch, iliad ;
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT + 0 = 4 
+   et 
+   (1 - V_CNR) > 0 
+   et
+   (REPSNO3 > LIM_CONTROLE + V_BTPME4
+    ou
+    REPSNO2 > LIM_CONTROLE + V_BTPME3
+    ou
+    REPSNO1 > LIM_CONTROLE + V_BTPME2
+    ou
+    REPSNON > LIM_CONTROLE + V_BTPME1
+    ou
+    COD7CQ > LIM_CONTROLE + V_BTPME)
+   et 
+   positif(NATIMP + 0) = 1
+                           ) 
+alors erreur DD27 ;
+verif 51091:
+application : batch, iliad ;
+si (APPLI_OCEANS = 0) et (
+   CREPROSP > 0 
+   et 
+   positif(V_BTCREPROSP + 0) = 1
+                          )
+alors erreur DD28 ;
+verif 5110:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et 
+  ((REPDON03 > LIM_CONTROLE + V_BTDONS5)
+   ou
+   (REPDON04 > LIM_CONTROLE + V_BTDONS4)
+   ou
+   (REPDON05 > LIM_CONTROLE + V_BTDONS3)
+   ou
+   (REPDON06 > LIM_CONTROLE + V_BTDONS2)
+   ou
+   (REPDON07 > LIM_CONTROLE + V_BTDONS1))
+   et 
+   positif(NATIMP) = 1
+   et 
+   V_CNR + 0 = 0
+ 
+alors erreur DD29 ;
+verif 3900:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et (
+   positif(PERPIMPATRIE + 0) = 1
+   et
+   positif(V_BTPERPIMP + 0) = 1
+                          )
+alors erreur DD35 ;
+verif 3910:
+application : batch , iliad ;
+si 
+   APPLI_OCEANS = 0 
+   et 
+   1 - V_CNR > 0 
+   et 
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   PTZDEVDURN > 0	
+   et
+   (V_BTRFRN3 + 0 > PLAF_RFRN3  
+    ou
+    RFRN3 + 0 > PLAF_RFRN3
+    ou
+    positif(V_BTRFRN3 + RFRN3 + 0) = 0)
+                          
+alors erreur DD3601 ;
+verif 3911:
+application : batch , iliad ;
+si 
+   APPLI_OCEANS = 0 
+   et 
+   1 - V_CNR > 0 
+   et 
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   PTZDEVDUR > 0	
+   et
+   (V_BTRFRN2 + 0 > PLAF_RFRN3
+    ou
+    RFRN2 + 0 > PLAF_RFRN3
+    ou
+    positif(V_BTRFRN2 + RFRN2 + 0) = 0)
+
+alors erreur DD3602 ;
+verif 3920:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et (
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  positif(V_BTRFRN2 + 0) = 1
+  et
+ ( pour un i dans V,C,P:
+   ( AUTOBICVi > LIM_MIBVEN )
+   ou
+   ( AUTOBICPi > LIM_MIBPRES )
+   ou
+   ( AUTOBICVi + AUTOBICPi > LIM_MIBVEN ) 
+   ou
+   ( AUTOBNCi > LIM_SPEBNC )
+ )        )
+alors erreur DD37;
+verif 3930:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et (
+   1 - V_CNR > 0 
+   et 
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   V_BTRFRN2 + 0 > arr(LIM_BARN2 * V_BTNBP2)
+   et
+   pour un i dans V,C,P: positif(AUTOBICVi + AUTOBICPi + AUTOBNCi) = 1 
+                          )
+alors erreur DD3801 ;
+verif 3940:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et (
+
+   1 - V_CNR > 0 
+   et 
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   positif(V_BTRFRN2 + 0) = 0
+   et
+   1 - positif_ou_nul(RFRN2) = 1
+   et
+   pour un i dans V,C,P: positif(AUTOBICVi + AUTOBICPi + AUTOBNCi) = 1 
+                           )
+alors erreur DD3802 ;
+verif 2554:
+application :  batch , iliad  ;
+si
+
+   (APPLI_OCEANS = 0) 
+   et
+   CIDEPENV > LIMDEPENV
+
+alors erreur A733 ;
+verif 25110:
+application : batch , iliad  ;
+si
+
+   positif(PTZDEVDUR + 0) + positif(PTZDEVDURN + 0) = 1
+   et
+   positif(CIBOIBAIL + CINRJBAIL + CRENRJ + CINRJ + CIDEP15 + MATISOSI + MATISOSJ + VOLISO + PORENT + ELESOL + CHAUBOISN 
+	   + CHAUBOISO + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + EAUPLUV + DIAGPERF + RESCHAL + 0) = 0
+
+alors erreur A735 ;
+verif 734:
+application : batch , iliad  ;
+si
+
+    positif(PTZDEVDUR + 0) = 1
+    et
+    positif(PTZDEVDURN + 0) = 1 
+
+alors erreur A734 ;
+verif 738:
+application : batch , iliad  ;
+si
+
+   positif(SINISFORET + 0) = 1
+   et
+   positif(RDFORESTRA + 0) = 0
+
+alors erreur A738;
+verif 739:
+application : batch , iliad  ;
+si
+   positif(OPTPLAF15 + 0) = 1
+   et
+   SOMMEA739 = 0
+
+alors erreur A739 ;
+verif 7401:
+application : batch , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   (CODHSE + CODHSJ + 0) > PLAF_INVDOM5 
+   et
+   positif(CODHSO + CODHST + CODHSY + CODHTD + 0) = 0
+
+alors erreur A74001 ;
+verif 7402:
+application :  batch , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   (CODHSO + CODHST + CODHSY + CODHTD + 0) > PLAF_INVDOM6 
+   et
+   positif(CODHSE + CODHSJ + 0) = 0
+
+alors erreur A74002 ;
+verif 7403:
+application : batch , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   positif(CODHSE + CODHSJ + 0) = 1
+   et
+   positif(CODHSO + CODHST + CODHSY + CODHTD + 0) = 1
+   et
+   (CODHSE + CODHSJ + CODHSO + CODHST + CODHSY + CODHTD + 0) > PLAF_INVDOM6
+
+alors erreur A74003 ;
+verif 743:
+application : batch , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   (REPMEUBLE + 0 > PLAF_99999
+    ou
+    INVREPMEU + 0 > PLAF_99999
+    ou
+    INVREPNPRO + 0 > PLAF_99999
+    ou
+    INVNPROREP + 0 > PLAF_99999)
+
+alors erreur A743;
+verif 744:
+application : batch , iliad  ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   RISKTEC + 0 > PLAF_TEC
+
+alors erreur A744;
+verif 271:
+application : batch , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   CODHSE * positif(CODHSE + 0) > CODHSD * positif(CODHSD + 0) + 0
+
+alors erreur A74601 ;
+verif 272:
+application : batch , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   CODHSJ * positif(CODHSJ + 0) > CODHSI * positif(CODHSI + 0) + 0
+
+alors erreur A74602 ;
+verif 273:
+application : batch , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   CODHSO * positif(CODHSO + 0) > CODHSN * positif(CODHSN + 0) + 0
+
+alors erreur A74603 ;
+verif 274:
+application : batch , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   CODHST * positif(CODHST + 0) > CODHSS * positif(CODHSS + 0) + 0
+
+alors erreur A74604 ;
+verif 275:
+application : batch , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   CODHSY * positif(CODHSY + 0) > CODHSX * positif(CODHSX + 0) + 0
+
+alors erreur A74605 ;
+verif 276:
+application : batch , iliad  ;
+si
+   V_IND_TRAIT > 0
+   et
+   CODHTD * positif(CODHTD + 0) > CODHTC * positif(CODHTC + 0) + 0
+
+alors erreur A74606 ;
+verif 2561:
+application : iliad ,batch ;
+si
+(
+	RDCOM > 0 et
+
+	SOMMEA700 = 0
+)
+alors erreur A700;
+verif 2562:
+application :  iliad , batch ;
+si (APPLI_OCEANS = 0) et 
+  (
+    NBACT > SOMMEA700
+
+    et
+    (V_REGCO+0) dans (1,3,5,6,7)
+  )
+alors erreur DD19;
+verif 2565:
+application : batch , iliad ;
+si (APPLI_COLBERT+APPLI_BATCH + APPLI_ILIAD = 1) et 
+(
+RDCOM > 0 et NBACT + 0  = 0
+  et ( positif(NATIMP)=1 )
+)
+alors erreur I009;
+verif 2566:
+application : batch , iliad ;
+si (APPLI_COLBERT+APPLI_BATCH + APPLI_ILIAD = 1) et 
+(
+CHRFAC > 0 et CHNFAC + 0  = 0
+  et ( positif(NATIMP)=1 )
+  et V_CNR = 0
+)
+alors erreur I008;
+verif 2572:
+application : batch, iliad ;
+si (APPLI_OCEANS = 0) et  (
+   (1 - V_CNR > 0)
+   et
+   positif(RNOUV) = 1 
+   et 
+   positif(RDSNO) = 1 
+   et 
+   positif(CINE1 + CINE2 ) = 1
+                           )
+alors erreur DD02 ;
+verif 2575:
+application : batch , iliad;
+si (APPLI_OCEANS = 0) et  
+(
+  (1 - V_CNR > 0 )
+ et
+  (( RVAIDE + RVAIDAS + CREAIDE + 0) > (LIM_AIDOMI3 * (1 - positif(PREMAIDE)) + LIM_PREMAIDE2 * positif(PREMAIDE))
+  et  
+     INAIDE = 1 )
+  et
+  (    positif(V_0AP+0)=0 
+    et positif(V_0AF+0)=0
+    et positif(V_0CG+0)=0
+    et positif(V_0CI+0)=0
+    et positif(V_0CR+0)=0 
+  ) 
+)
+alors erreur DD21 ;
+verif 2610:
+application : batch , iliad ;
+
+si
+   RDENS + RDENL + RDENU > V_0CF + V_0DJ + V_0DN + 0 
+
+alors erreur A70701 ;
+verif 2615:
+application : batch , iliad ;
+
+si
+   RDENSQAR + RDENLQAR + RDENUQAR > V_0CH + V_0DP + 0 
+
+alors erreur A70702 ;
+verif 7091:
+application : batch , iliad  ;
+
+si
+   SOMMEA709 > 1
+
+alors erreur A70901 ;
+verif 7092:
+application : batch , iliad  ;
+
+si 
+   V_IND_TRAIT > 0
+   et
+   positif(INVLOCHOTR1) + positif(INVLOCHOTR) + positif(INVLOGHOT) > 1
+
+alors erreur A70902 ;
+verif 2642:
+application : iliad , batch;
+si
+ 
+  V_IND_TRAIT > 0 
+  et 
+  (
+   REPINVLOCINV + 0 > LIMLOC2
+   ou
+   RINVLOCINV + 0 > LIMLOC2
+   ou
+   REPINVLOCREA + 0 > LIMLOC2
+   ou
+   RINVLOCREA + 0 > LIMLOC2
+   ou
+   INVLOCHOTR1 + 0 > LIMLOC2
+   ou 
+   INVLOCHOTR + 0 > LIMLOC2
+   ou 
+   REPINVTOU + 0 > LIMLOC2
+   ou
+   INVLOGREHA + 0 > LIMLOC2
+   ou
+   INVLOGHOT + 0 > LIMLOC2
+   ou
+   INVLOCXN + 0 > LIMLOC2
+   ou
+   INVLOCXV + 0 > LIMLOC2
+   ou
+   COD7UY + 0 > LIMLOC2
+   ou
+   COD7UZ + 0 > LIMLOC2
+  )
+
+alors erreur A708;
+verif 2644:
+application : iliad , batch ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   1 - V_CNR > 0
+   et
+   REPINVDOMPRO3 + 0 > V_BTR5DOMPRO + LIM_REPORT + 0 
+   et
+   ((APPLI_ILIAD = 1 et V_NOTRAIT+0 < 16)
+     ou APPLI_COLBERT = 1
+     ou ((V_BTNI1+0) non dans (50,92) et APPLI_BATCH = 1))
+                           
+alors erreur DD07 ;
+verif 3645:
+application : batch, iliad ;
+si (APPLI_OCEANS = 0 ) et (
+   (
+    ( REPINVLOCINV + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( RINVLOCINV + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( REPINVLOCREA + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( RINVLOCREA + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOCHOTR1 + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOCHOTR + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) ) 
+   ou
+    ( REPINVTOU + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOGREHA + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOGHOT + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOCXN + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( INVLOCXV + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( COD7UY + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   ou
+    ( COD7UZ + 0  > LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) )
+   )
+ et 
+     (RTOURREP + RTOUHOTR + RTOUREPA + 0 > 0)
+			   )
+alors erreur DD06;
+verif 3647:
+application : batch, iliad ;
+si (APPLI_OCEANS = 0 ) et (
+
+  V_REGCO != 2
+  et
+  V_REGCO != 4
+  et
+  positif(PRETUDANT + 0) = 1
+  et
+  positif(V_BTPRETUD + 0) = 1
+                           )
+alors erreur DD09;
+verif 710:
+application : batch, iliad ;
+si
+   
+    V_IND_TRAIT > 0 
+    et
+    positif(CREAIDE + 0) * positif(RVAIDE + 0) = 1
+  
+alors erreur A710;
+verif 2649:
+application : batch, iliad ;
+si 
+   V_IND_TRAIT > 0 
+   et
+   INAIDE > 0 
+   et 
+   positif(RVAIDE + RVAIDAS + CREAIDE + 0) = 0 
+    
+alors erreur A71101 ;
+verif 2650:
+application : batch, iliad ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   positif(ASCAPA + 0) + positif(RVAIDAS + 0) = 1
+    
+alors erreur A71102 ;
+verif 26501:
+application : batch, iliad ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   PREMAIDE > 0   
+   et 
+   positif(RVAIDE + RVAIDAS + CREAIDE + 0) = 0
+   
+alors erreur A71103 ;
+verif 2690:
+application : batch, iliad ;
+si
+	( 
+         ((PRESCOMP2000 + 0 > PRESCOMPJUGE ) et (positif(PRESCOMPJUGE)=1))
+	)
+alors erreur A712;
+verif non_auto_cc 2698:
+application : batch, iliad ;
+si
+          (  PRESCOMPJUGE+0 > 0 et PRESCOMP2000+0 =0 )
+        ou
+          (  PRESCOMPJUGE+0 =0 et PRESCOMP2000+0 > 0)
+alors erreur A713;
+verif 2700:
+application : batch, iliad ;
+si
+(RDPRESREPORT+0 > 0) et
+          (  PRESCOMPJUGE + PRESCOMP2000 + 0 >0 )
+alors erreur A714;
+verif 2730:
+application : batch, iliad ;
+si
+
+  V_IND_TRAIT > 0 
+  et
+  REPFOR + 0 > 0 et REPSINFOR + 0 > 0 
+
+alors erreur A73001;
+verif 2731:
+application : batch, iliad ;
+si
+
+  V_IND_TRAIT > 0 
+  et
+  REPFOR1 + 0 > 0 et REPSINFOR1 + 0 > 0 
+
+alors erreur A73002 ;
+verif 2732:
+application : batch, iliad ;
+si
+
+  V_IND_TRAIT > 0 
+  et
+  REPFOR2 + 0 > 0 et REPSINFOR2 + 0 > 0 
+
+alors erreur A73003 ;
+verif 2733:
+application : batch, iliad ;
+si
+
+  V_IND_TRAIT > 0 
+  et
+  REPFOR3 + 0 > 0 et REPSINFOR3 + 0 > 0 
+
+alors erreur A73004 ;
+verif 7171:
+application : batch, iliad ;
+
+si
+
+   V_IND_TRAIT > 0
+   et 
+   positif(CELLIERFA) + positif(CELLIERFB) + positif(CELLIERFC) + positif(CELLIERFD) > 1
+
+alors erreur A71701 ;
+verif 7172:
+application : batch, iliad ;
+
+si
+
+   V_IND_TRAIT > 0
+   et 
+   SOMMEA71701 > 1
+
+alors erreur A71702 ;
+verif 7173:
+application : batch, iliad ;
+
+si
+
+   V_IND_TRAIT > 0
+   et 
+   SOMMEA71702 > 1
+
+alors erreur A71703 ;
+verif 7174:
+application : batch, iliad ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   positif(CELLIERHJ) + positif(CELLIERHK) + positif(CELLIERHN) + positif(CELLIERHO) > 1 
+
+alors erreur A71704 ;
+verif 7175:
+application : batch, iliad ;
+si
+
+   V_IND_TRAIT > 0
+   et
+   positif(CELLIERHL) + positif(CELLIERHM) > 1 
+
+alors erreur A71705 ;
+verif 27005:
+application : batch, iliad ;
+si
+
+   V_IND_TRAIT > 0 
+   et
+   ((CELREPHR + 0 > PLAF_99999)
+    ou
+    (CELREPHS + 0 > PLAF_99999)
+    ou
+    (CELREPHT + 0 > PLAF_99999)
+    ou
+    (CELREPHU + 0 > PLAF_99999)
+    ou
+    (CELREPHV + 0 > PLAF_99999)
+    ou
+    (CELREPHW + 0 > PLAF_99999)
+    ou
+    (CELREPHX + 0 > PLAF_99999)
+    ou
+    (CELREPHZ + 0 > PLAF_99999)) 
+
+alors erreur A741 ;
+verif 715:
+application : batch, iliad ;
+
+si
+   V_IND_TRAIT > 0 
+   et 
+   RDPRESREPORT + 0 > LIM_REPCOMPENS
+
+alors erreur A715 ;
+verif 716:
+application : batch, iliad ;
+
+si
+   V_IND_TRAIT > 0 
+   et 
+   (
+    (SUBSTITRENTE < PRESCOMP2000 + 0)
+   ou
+    (SUBSTITRENTE > 0 et present(PRESCOMP2000) = 0)
+   )
+
+alors erreur A716 ;
+verif 702:
+application : batch ,  iliad ;
+
+si
+   (V_REGCO+0) dans (1,3,5,6,7)
+   et
+   INTDIFAGRI * positif(INTDIFAGRI) + 0 > RCMHAB * positif(RCMHAB) + COD2FA * positif(COD2FA) + 0 
+  
+alors erreur A702;
+verif 703:
+application : batch ,  iliad ;
+si
+ (
+  ( (positif(PRETUD+0) = 1 ou positif(PRETUDANT+0) = 1)
+   et
+    V_0DA < 1979
+   et
+    positif(BOOL_0AM+0) = 0 ) 
+  ou
+  ( (positif(PRETUD+0) = 1 ou positif(PRETUDANT+0) = 1)
+   et 
+   positif(BOOL_0AM+0) = 1
+   et
+   V_0DA < 1979 
+   et
+   V_0DB < 1979 )
+  )
+alors erreur A703;
+verif 704:
+application : batch ,  iliad ;
+si
+  (
+   (positif( CASEPRETUD + 0 ) = 1 et positif( PRETUDANT + 0 ) = 0)
+    ou
+   (positif( CASEPRETUD + 0 ) = 0 et positif( PRETUDANT + 0 ) = 1)
+  )
+alors erreur A704;
+verif 7501:
+application : batch ,  iliad ;
+
+si
+  CONVCREA  + 0 > 15 
+  et 
+  V_IND_TRAIT > 0
+
+alors erreur A705 ;
+verif 7601:
+application : batch ,  iliad ;
+
+si
+   CONVHAND + 0 > CONVCREA + 0
+  et 
+   V_IND_TRAIT > 0
+
+alors erreur A706 ;
+verif 731:
+application : batch ,  iliad ;
+si
+   V_IND_TRAIT > 0
+   et
+   CASEPRETUD + 0 > 5
+
+alors erreur A731 ;
+verif 97:
+application : batch, iliad ;
+si
+  (
+    present(PERPIMPATRIE) = 1
+    et
+    V_CNR = 1
+    et 
+    (V_REGCO = 2
+    ou
+    V_REGCO = 4)
+  )
+alors erreur A097 ;
+verif 981:
+application : batch , iliad ;
+
+si
+    positif(PVMOBNR + 0) = 1
+    et
+    V_REGCO != 2
+    et
+    V_REGCO != 4
+  
+alors erreur A09801 ;
+verif 982:
+application : batch , iliad ;
+
+si
+    positif(COD3VE + 0) = 1
+    et
+    V_REGCO != 2
+    et
+    V_REGCO != 4
+  
+alors erreur A09802 ;
+verif 983:
+application : batch , iliad ;
+
+si
+    positif(COD3VV + 0) = 1
+    et
+    V_REGCO != 2
+    et
+    V_REGCO != 4
+  
+alors erreur A09803 ;
+verif 99:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   COD3VE * positif(COD3VE + 0) > PVMOBNR * positif(PVMOBNR + 0)
+
+alors erreur A099 ;
+verif 100:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(COD3VV + 0) = 1
+   et
+   positif(COD3VE + 0) = 0
+
+alors erreur A100 ;
+verif 101:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(COD3VE + 0) = 1
+   et
+   COD3VV + 0 > arr(COD3VE * 45/100) + 0 
+
+alors erreur A101 ;
+verif 3400:
+application : batch, iliad ;
+
+si (APPLI_OCEANS = 0) et (
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  positif(FIPCORSE+0) = 1
+  et
+  positif(FFIP + FCPI) = 1
+                         )
+alors erreur DD34;
+verif 3410:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   REPGROREP1 + REPGROREP2 + REPGROREP11 + REPGROREP12 > LIM_CONTROLE + V_BTNUREPAR
+                          )
+alors erreur DD39 ;
+verif 3420:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   CELRREDLA + CELRREDLB + CELRREDLE + CELRREDLM > LIM_CONTROLE + V_BTRRCEL3
+                          )
+alors erreur DD40 ;
+verif 34201:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   CELRREDLC + CELRREDLD + CELRREDLS > LIM_CONTROLE + V_BTRRCEL4
+                          )
+alors erreur DD48 ;
+verif 3430:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   REDMEUBLE + REDREPNPRO + LOCMEUBIX + LOCMEUBIY > LIM_CONTROLE + V_BTRILMNP1
+                          )
+alors erreur DD41 ;
+verif 34301:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   INVREDMEU + LOCMEUBIH + LOCMEUBJC > LIM_CONTROLE + V_BTRILMNP4
+                          )
+alors erreur DD49 ;
+verif 3440:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (REPFOR + REPFOR1 + REPFOR2 + REPFOR3 > LIM_CONTROLE + V_BTFOREST
+    ou
+    REPSINFOR + REPSINFOR1 + REPSINFOR2 + REPSINFOR3 > LIM_CONTROLE + V_BTSINFOR)
+                        )
+alors erreur DD42 ;
+verif 3450:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (INVOMREP + NRETROC50 + NRETROC40 + INVENDI + INVOMENTMN + RETROCOMLH
+   + RETROCOMMB + INVOMENTKT + RETROCOMLI + RETROCOMMC + INVOMENTKU 
+   + INVOMQV + INVRETRO1 + INVRETRO2 + INVIMP + INVDOMRET50 + INVDOMRET60
+   + INVDIR2009 + INVENDEB2009 + INVOMRETPA + INVOMRETPB + INVOMRETPD
+   + INVOMRETPE + INVOMRETPF + INVOMRETPH + INVOMRETPI + INVOMRETPJ + INVOMRETPL
+   + INVOMRETPM + INVOMRETPN + INVOMRETPO + INVOMRETPP + INVOMRETPR + INVOMRETPS
+   + INVOMRETPT + INVOMRETPU + INVOMRETPW + INVOMRETPX + INVOMRETPY
+   + INVOMENTRG + INVOMENTRI + INVOMENTRJ + INVOMENTRK + INVOMENTRL + INVOMENTRM
+   + INVOMENTRO + INVOMENTRP + INVOMENTRQ + INVOMENTRR + INVOMENTRT + INVOMENTRU
+   + INVOMENTRV + INVOMENTRW + INVOMENTRY 
+   + INVOMENTNU + INVOMENTNV + INVOMENTNW + INVOMENTNY
+   > LIM_CONTROLE + V_BTREPOMENT)
+                           
+alors erreur DD43 ;
+verif 3460:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (INVSOCNRET + INVOMSOCKH + INVOMSOCKI + INVSOC2010 + INVOMSOCQU + INVLOGSOC 
+     + INVOMSOCQJ + INVOMSOCQS + INVOMSOCQW + INVOMSOCQX > LIM_CONTROLE + V_BTREPOMSOC)
+                         
+alors erreur DD44 ;
+verif 3470:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (CELREPHR > LIMLOC2
+    ou
+    CELREPHS > LIMLOC2 
+    ou 
+    CELREPHT > LIMLOC2
+    ou
+    CELREPHU > LIMLOC2
+    ou
+    CELREPHV > LIMLOC2
+    ou
+    CELREPHW > LIMLOC2
+    ou
+    CELREPHX > LIMLOC2
+    ou
+    CELREPHZ > LIMLOC2)
+                        )
+alors erreur DD45 ;
+verif 3480:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (INVREPMEU > LIMLOC2
+    ou
+    INVREPNPRO > LIMLOC2
+    ou
+    INVNPROREP > LIMLOC2
+    ou
+    REPMEUBLE > LIMLOC2) 
+                           )
+alors erreur DD46 ;
+verif 3490:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   PATNAT1 + PATNAT2 + PATNAT3 > LIM_CONTROLE + V_BTPATNAT
+                          )
+alors erreur DD50 ;
+verif 34901:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+    LNPRODEF10
+   + LNPRODEF9
+   + LNPRODEF8
+   + LNPRODEF7
+   + LNPRODEF6
+   + LNPRODEF5
+   + LNPRODEF4
+   + LNPRODEF3
+   + LNPRODEF2
+   + LNPRODEF1 > LIM_CONTROLE + V_BTDEFNPLOC
+                          )
+alors erreur DD52 ;
+verif 34902:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   DEFBIC6 + DEFBIC5 + DEFBIC4 + DEFBIC3 + DEFBIC2 + DEFBIC1 > LIM_CONTROLE + V_BTBICDF
+                         )
+alors erreur DD53 ;
+verif 1257:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   CELRREDLF + CELRREDLZ > LIM_CONTROLE + V_BTRRCEL2
+
+alors erreur DD57 ;
+verif 1258:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   LOCMEUBIZ + LOCMEUBJI > LIM_CONTROLE + V_BTRILMNP2
+
+alors erreur DD58 ;
+verif 1264:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   CELRREDMG > LIM_CONTROLE + V_BTRRCEL1
+
+alors erreur DD64 ;
+verif 1265:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   LOCMEUBJS > LIM_CONTROLE + V_BTRILMNP1
+
+alors erreur DD65 ;
+verif 12611:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   positif(CVNSALAV + 0) = 1
+   et
+   positif(BPV18V + BPCOPTV + BPV40V + BPCOSAV + 0) = 0
+
+alors erreur DD6101 ;
+verif 12612:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   positif(CVNSALAC + 0) = 1
+   et
+   positif(BPV18C + BPCOPTC + BPV40C + BPCOSAC + 0) = 0
+
+alors erreur DD6102 ;
+verif 1262:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_REGCO+0 != 2 
+   et 
+   V_REGCO+0 != 4
+   et
+   positif(CRECHOCON2 + 0) = 1
+   et
+   (positif(MATISOSJ + TRAVITWT) * (positif(CINRJ + TRAMURWC) 
+                                    + positif(CIDEP15 + TRATOIVG) 
+                                    + positif(CHAUBOISN + CHAUBOISO) 
+                                    + positif(POMPESR + CHAUFSOL) 
+				    + positif(CIBOIBAIL + CINRJBAIL + POMPESP + POMPESQ + ENERGIEST)) + 0 = 0
+    et
+    positif(CINRJ + TRAMURWC) * (positif(CIDEP15 + TRATOIVG) 
+                                 + positif(CHAUBOISN + CHAUBOISO) 
+                                 + positif(POMPESR + CHAUFSOL)
+				 + positif(CIBOIBAIL + CINRJBAIL + POMPESP + POMPESQ + ENERGIEST)) + 0 = 0
+    et
+    positif(CIDEP15 + TRATOIVG) * (positif(CHAUBOISN + CHAUBOISO) 
+                                   + positif(POMPESR + CHAUFSOL)
+				   + positif(CIBOIBAIL + CINRJBAIL + POMPESP + POMPESQ + ENERGIEST)) + 0 = 0
+    et
+    positif(CHAUBOISN + CHAUBOISO) * (positif(POMPESR + CHAUFSOL) 
+                                      + positif(CIBOIBAIL + CINRJBAIL + POMPESP + POMPESQ + ENERGIEST)) + 0 = 0
+    et
+    positif(POMPESR + CHAUFSOL) * positif(CIBOIBAIL + CINRJBAIL + POMPESP + POMPESQ + ENERGIEST) + 0 = 0)
+
+alors erreur DD62 ;
+verif 1263:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0
+   et
+   IPTEFP < RNI + 0
+
+alors erreur DD63 ;
+verif 321:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et 
+  (1 - V_CNR > 0) et V_REGCO+0 !=2 et V_REGCO+0 != 4
+  et
+  positif(CREAIDE+0) > 0
+  et
+  (
+  (1 - BOOL_0AM) *
+   (present(TSHALLOV) + present(ALLOV) + present(GLD1V) + present(GLD2V) + present(GLD3V)
+   + present(BPCOSAV) + present(TSASSUV) + present(XETRANV) 
+   + present(TSELUPPEV) + present(CARTSV) + present(REMPLAV) + present(HEURESUPV)
+   + present(CODDAJ) + present(CODEAJ) + present(SALEXTV)
+   + present(FEXV) + present(BAFV) + positif(V_FORVA) + present(BAFORESTV)
+   + present(BAFPVV) + present(BAF1AV) + present(BAEXV) + present(BACREV)
+   + present(BACDEV) + present(BAHEXV) + present(BAHREV) + present(BAHDEV)
+   + present(BA1AV) + present(BAPERPV)
+   + present(MIBEXV) + present(MIBVENV) + present(MIBPRESV) + present(MIBPVV)
+   + present(MIB1AV) + present(MIBDEV) 
+   + present( BICPMVCTV )
+   + present(BICEXV)
+   + present(BICNOV) + present(BICDNV) 
+   + present(BIHEXV) + present(BIHNOV) + present(BIHDNV)
+   + present(BI1AV) + present(BIPERPV)
+   + present(BNCPROEXV) + present(BNCPROV) + present(BNCPROPVV) + present(BNCPRO1AV)
+   + present(BNCPRODEV) + present(BNCPMVCTV) + present(BNCEXV) + present(BNCREV)
+   + present(BNCDEV) + present(BNHEXV) + present(BNHREV) + present(BNHDEV)
+   + present(BN1AV) + present(BNCCRV) + present(CESSASSV)
+   + present(AUTOBICVV) + present(AUTOBICPV) + present(LOCPROCGAV)
+   + present(LOCDEFPROCGAV) + present(LOCPROV) + present(LOCDEFPROV)
+   + present(AUTOBNCV) + present(XHONOAAV) + present(XHONOV)
+   + present(GLDGRATV) + present(BICPMVCTV))
+
+  + (1 - positif(V_0AP+V_0AF)) * BOOL_0AM *
+   (present(TSHALLOV) + present(ALLOV) + present(GLD1V) + present(GLD2V) + present(GLD3V)
+    + present(BPCOSAV) + present(TSASSUV) + present(XETRANV) 
+    + present(TSELUPPEV) + present(CARTSV) + present(REMPLAV) + present(HEURESUPV)
+    + present(CODDAJ) + present(CODEAJ) + present(SALEXTV)
+    + present(FEXV) + present(BAFV) + positif(V_FORVA) + present(BAFORESTV)
+    + present(BAFPVV) + present(BAF1AV) + present(BAEXV) + present(BACREV)
+    + present(BACDEV) + present(BAHEXV) + present(BAHREV) + present(BAHDEV)
+    + present(BA1AV) + present(BAPERPV)
+    + present(MIBEXV) + present(MIBVENV) + present(MIBPRESV) + present(MIBPVV)
+    + present(MIB1AV) + present(MIBDEV) + present(BICEXV)
+    + present(BICPMVCTV) + present(BICNOV) + present(BICDNV) 
+    + present(BIHEXV) + present(BIHNOV) + present(BIHDNV)
+    + present(BI1AV) + present(BIPERPV)
+    + present(BNCPROEXV) + present(BNCPROV) + present(BNCPROPVV) + present(BNCPRO1AV)
+    + present(BNCPRODEV) + present(BNCPMVCTV) + present(BNCEXV) + present(BNCREV)
+    + present(BNCDEV) + present(BNHEXV) + present(BNHREV) + present(BNHDEV)
+    + present(BN1AV) + present(BNCCRV) + present(CESSASSV) 
+    + present(AUTOBICVV) + present(AUTOBICPV) + present(LOCPROCGAV)
+    + present(LOCDEFPROCGAV) + present(LOCPROV) + present(LOCDEFPROV)
+    + present(AUTOBNCV) + present(XHONOAAV) + present(XHONOV)
+    + present(GLDGRATV) + present(BICPMVCTV))
+   *
+   (present(TSHALLOC) + present(ALLOC) + present(GLD1C) + present(GLD2C) + present(GLD3C)
+    + present(BPCOSAC) + present(TSASSUC) + present(XETRANC) 
+    + present(TSELUPPEC) + present(CARTSC) + present(REMPLAC) + present(HEURESUPC)
+    + present(FEXC) + present(BAFC) + positif(V_FORCA) + present(BAFORESTC)
+    + present(CODDBJ) + present(CODEBJ) + present(SALEXTC)
+    + present(BAFPVC) + present(BAF1AC) + present(BAEXC) + present(BACREC)
+    + present(BACDEC) + present(BAHEXC) + present(BAHREC) + present(BAHDEC)
+    + present(BA1AC) + present(BAPERPC)
+    + present(MIBEXC) + present(MIBVENC) + present(MIBPRESC) + present(MIBPVC)
+    + present(MIB1AC) + present(MIBDEC) + present(BICEXC)
+    + present(BICPMVCTC) + present(BICNOC) + present(BICDNC) 
+    + present(BIHEXC) + present(BIHNOC) + present(BIHDNC)
+    + present(BI1AC) + present(BIPERPC)
+    + present(BNCPROEXC) + present(BNCPROC) + present(BNCPROPVC) + present(BNCPRO1AC)
+    + present(BNCPRODEC) + present(BNCEXC) + present(BNCREC)
+    + present(BNCDEC) + present(BNHEXC) + present(BNHREC) + present(BNHDEC)
+    + present(BN1AC) + present(BNCCRC) + present(CESSASSC)
+    + present(AUTOBICVC) + present(AUTOBICVC) + present(LOCPROCGAC)
+    + present(LOCDEFPROCGAC) + present(LOCPROC) + present(LOCDEFPROC)
+    + present(AUTOBNCC) + present(XHONOAAC) + present(XHONOC)
+    + present(GLDGRATC) + present(BICPMVCTC) + present(BNCPMVCTC))
+
+  + BOOL_0AM * positif(V_0AF) *
+   (present(TSHALLOV) + present(ALLOV) + present(GLD1V) + present(GLD2V) + present(GLD3V)
+   + present(BPCOSAV) + present(TSASSUV) + present(XETRANV) 
+   + present(TSELUPPEV) + present(CARTSV) + present(REMPLAV) + present(HEURESUPV)
+   + present(CODDAJ) + present(CODEAJ) + present(SALEXTV)
+   + present(FEXV) + present(BAFV) + positif(V_FORVA) + present(BAFORESTV)
+   + present(BAFPVV) + present(BAF1AV) + present(BAEXV) + present(BACREV)
+   + present(BACDEV) + present(BAHEXV) + present(BAHREV) + present(BAHDEV)
+   + present(BA1AV) + present(BAPERPV)
+   + present(MIBEXV) + present(MIBVENV) + present(MIBPRESV) + present(MIBPVV)
+   + present(MIB1AV) + present(MIBDEV) + present(BICEXV)
+   + present( BICPMVCTV ) 
+   + present(BICNOV) + present(BICDNV) 
+   + present(BIHEXV) + present(BIHNOV) + present(BIHDNV)
+   + present(BI1AV) + present(BIPERPV)
+   + present(BNCPROEXV) + present(BNCPROV) + present(BNCPROPVV) + present(BNCPRO1AV)
+   + present(BNCPRODEV) + present(BNCPMVCTV) + present(BNCEXV) + present(BNCREV)
+   + present(BNCDEV) + present(BNHEXV) + present(BNHREV) + present(BNHDEV)
+   + present(BN1AV) + present(BNCCRV) + present(CESSASSV)
+   + present(AUTOBICVV) + present(AUTOBICPV) + present(LOCPROCGAV)
+   + present(LOCDEFPROCGAV) + present(LOCPROV) + present(LOCDEFPROV)
+   + present(AUTOBNCV) + present(XHONOAAV) + present(XHONOV)
+   + present(GLDGRATV) + present(BICPMVCTV))
+  
+  + BOOL_0AM * positif(V_0AP) *
+   (present(TSHALLOC) + present(ALLOC) + present(GLD1C) + present(GLD2C) + present(GLD3C)
+   + present(BPCOSAC) + present(TSASSUC) + present(XETRANC) 
+   + present(TSELUPPEC) + present(CARTSC) + present(REMPLAC) + present(HEURESUPC)
+   + present(CODDBJ) + present(CODEBJ) + present(SALEXTC)
+   + present(FEXC) + present(BAFC) + positif(V_FORCA) + present(BAFORESTC)
+   + present(BAFPVC) + present(BAF1AC) + present(BAEXC) + present(BACREC)
+   + present(BACDEC) + present(BAHEXC) + present(BAHREC) + present(BAHDEC)
+   + present(BA1AC) + present(BAPERPC)
+   + present(MIBEXC) + present(MIBVENC) + present(MIBPRESC) + present(MIBPVC)
+   + present(MIB1AC) + present(MIBDEC) + present(BICEXC)
+   + present(BICNOC) + present(BICDNC) 
+   + present(BIHEXC) + present(BIHNOC) + present(BIHDNC)
+   + present(BI1AC) + present(BIPERPC)
+   + present(BNCPROEXC) + present(BNCPROC) + present(BNCPROPVC) + present(BNCPRO1AC)
+   + present(BNCPRODEC) + present(BNCEXC) + present(BNCREC)
+   + present(BNCDEC) + present(BNHEXC) + present(BNHREC) + present(BNHDEC)
+   + present(BN1AC) + present(BNCCRC) + present(CESSASSC)
+   + present(AUTOBICVC) + present(AUTOBICVC) + present(LOCPROCGAC)
+   + present(LOCDEFPROCGAC) + present(LOCPROC) + present(LOCDEFPROC)
+   + present(AUTOBNCC) + present(XHONOAAC) + present(XHONOC)
+   + present(GLDGRATC) + present(BICPMVCTC) + present(BNCPMVCTC))
+
+   = 0
+   )
+alors erreur DD32 ;
diff --git a/sources2013m_3_8/coc3.m b/sources2013m_3_8/coc3.m
new file mode 100644
index 0000000000000000000000000000000000000000..2797822292459bd8c484024ee715ad3c0fcf07a2
--- /dev/null
+++ b/sources2013m_3_8/coc3.m
@@ -0,0 +1,577 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 3003:
+application : iliad , batch ;
+si
+   V_0AM + 0 = 1  
+   et  
+   V_0AE + V_0AG + V_0AN + V_0AW + V_0AL + 0 > 0 
+   
+alors erreur A01001 ;
+verif 3513:
+application : iliad , batch ;
+si
+   V_0AO + 0 = 1  
+   et  
+   V_0AE + V_0AG + V_0AL + V_0AN + V_0AW + V_0AU + 0 > 0  
+   
+alors erreur A01002 ;
+verif 3004:
+application : iliad , batch ;
+si
+   V_0AV + 0 = 1  
+   et 
+   BOOL_0AZ != 1 
+   et 
+   V_0AF + V_0AS + V_0AU + 0 > 0
+   
+alors erreur A01003 ;
+verif 3005:
+application : iliad , batch ;
+si
+   V_0AC + 0 = 1  
+   et  
+   V_0AF + V_0AS + V_0AU + 0 > 0  
+  
+alors erreur A01004 ;
+verif 3006:
+application : iliad , batch ;
+si
+   V_0AD + 0 = 1  
+   et  
+   V_0AF + V_0AS + V_0AU + 0 > 0  
+   
+alors erreur A01005 ;
+verif 3007:
+application : iliad , batch ;
+si
+   V_0AM + 0 = 1 
+   et 
+   V_0BT + 0 = 1
+   
+alors erreur A01009 ;
+verif 3009:
+application : iliad , batch ;
+si 
+   V_0AP + V_0AF + V_0AS+ V_0AE + V_0AW + V_0AL + V_0AN + V_0AG + V_0BT + 0 > 0
+   et
+   positif(V_0AM + V_0AO + V_0AC + V_0AD + V_0AV + 0) != 1
+   
+alors erreur A01011 ;
+verif 3010:
+application : iliad , batch ;
+si  
+   V_0AC = 1 
+   et 
+   V_0AG = 1
+   
+alors erreur A01006 ;
+verif 3011:
+application : iliad , batch ;
+si  
+   V_0AD = 1 
+   et 
+   V_0AG = 1
+   
+alors erreur A01007 ;
+verif 3012:
+application : iliad , batch ;
+si  
+   V_0AV = 1 
+   et 
+   V_INDG = 1 
+   et 
+   V_0AG = 1 
+   ou
+   (present(V_0AZ) = 1 et V_0AV = 1 et BOOL_0AZ != 1 et V_INDG = 1 et V_0AG = 1)
+   
+alors erreur A01008 ;
+verif 3514:
+application : iliad , batch ;
+si
+   V_0AO + 0 = 1 
+   et 
+   V_0BT+0 = 1
+   
+alors erreur A01010 ;
+verif 3013:
+application : iliad , batch ;
+si  
+   V_IND_TRAIT + 0 = 4
+   et
+   (V_0DA < (V_ANREV - 123) ou V_0DA > V_ANREV ou V_0DB < (V_ANREV - 123) ou V_0DB > V_ANREV)
+
+alors erreur A013 ;
+verif  3014:
+application : iliad , batch ;
+si
+   V_IND_TRAIT = 5
+   et
+   (
+      ( positif(V_0DB) = 1 et ( V_0DB < (V_ANREV - 123) ou V_0DB > V_ANREV ) )
+    ou
+      ( V_0DA < (V_ANREV - 123) ou V_0DA > V_ANREV ) 
+    )
+   
+alors erreur A013 ;
+verif 171:
+application : iliad , batch;
+
+si 
+   APPLI_COLBERT + APPLI_OCEANS = 0 
+   et 
+   V_ZDC = 1 
+   et 
+   somme(i=X,Y,Z: positif(V_0Ai)) > 1
+   
+alors erreur A01701 ;
+verif 172:
+application : iliad , batch ;
+
+si 
+   APPLI_COLBERT + APPLI_OCEANS = 0 
+   et 
+   V_ZDC = 4
+   et 
+   (  
+    positif(V_0AZ + 0) = 0 
+    ou 
+    V_0AM + V_0AO + (V_0AC + V_0AD + V_0AV) * V_0AB + 0 = 0
+   )
+   
+alors erreur A01702 ;
+verif 173:
+application : iliad , batch ;
+si 
+   APPLI_COLBERT + APPLI_OCEANS = 0 
+   et 
+   V_ZDC = 1
+   et
+   positif(V_0AX) = 1 
+   et 
+   V_0AM + V_0AO + 0 = 0
+
+alors erreur A01703 ;
+verif 174:
+application : iliad , batch ;
+si 
+   APPLI_COLBERT + APPLI_OCEANS = 0 
+   et 
+   V_ZDC = 1
+   et
+   positif(V_0AY) = 1 
+   et 
+   V_0AD + 0 = 0
+
+alors erreur A01704 ;
+verif 175:
+application : batch, iliad;
+
+si 
+   APPLI_COLBERT + APPLI_OCEANS = 0 
+   et 
+   V_ZDC = 1 
+   et 
+   positif(V_0AZ) = 1 
+   et 
+   V_0AV + V_0AM + 0 = 0
+  
+alors erreur A01705 ;
+verif 18:
+application : batch ;
+
+si 
+   APPLI_COLBERT = 0 
+   et 
+   null(10 - V_NOTRAIT) = 1
+   et
+   V_ZDC + 0 = 0 
+   et 
+   positif(V_0AZ) = 1 
+   et 
+   V_0AV + V_0AM + V_0AO + 0 = 0
+   
+alors erreur A018 ;
+verif 3041:
+application : batch , iliad ;
+si
+   APPLI_COLBERT + APPLI_ILIAD = 1 
+   et 
+   V_ZDC + 0 = 0
+   et
+   V_0AC = 1 
+   et 
+   V_0AZ + 0 > 0
+   
+alors erreur AS0101 ;
+verif 3042:
+application : batch , iliad ;
+si
+   APPLI_COLBERT + APPLI_ILIAD = 1 
+   et 
+   V_ZDC + 0 = 0
+   et
+   BOOL_0AM = 1
+   et
+   V_0AX + 0 > 0
+   et
+   V_0AB + 0 > 0
+   
+alors erreur AS0102 ;
+verif 3043:
+application : batch , iliad ;
+si
+   APPLI_COLBERT + APPLI_ILIAD = 1 
+   et 
+   V_ZDC + 0 = 0
+   et
+   V_0AC + V_0AD + V_0AV + 0 = 1
+   et
+   V_0AX + 0 > 0
+   et
+   positif(V_0AB + 0) = 0
+   
+alors erreur AS0103 ;
+verif 3044:
+application : batch , iliad ;
+si
+   APPLI_COLBERT + APPLI_ILIAD = 1 
+   et 
+   V_ZDC + 0 = 0
+   et
+   BOOL_0AM = 1 
+   et 
+   V_0AY + 0 > 0  
+   
+alors erreur AS0104 ;
+verif 3045:
+application : batch , iliad ;
+si
+   APPLI_COLBERT + APPLI_ILIAD = 1 
+   et 
+   V_ZDC + 0 = 0
+   et
+   V_0AM = 1 
+   et 
+   V_0AY + 0 > 0 
+   et 
+   V_0AZ + 0 > 0 
+   
+alors erreur AS0105 ;
+verif 3046:
+application : batch , iliad ;
+si
+   APPLI_COLBERT + APPLI_ILIAD = 1 
+   et 
+   V_ZDC + 0 = 0
+   et
+   V_0AD = 1 
+   et 
+   V_0AZ + 0 > 0
+   
+alors erreur AS0106 ;
+verif 3047:
+application : batch ;
+si
+   APPLI_COLBERT = 1 
+   et 
+   positif(V_IND_TRAIT + 0) = 1 
+   et
+   V_NOTRAIT + 0 < 14
+   et
+   present(V_ANTIR) = 0
+   et
+   positif(V_0DA + 0) = 0
+  
+alors erreur AS11 ;
+verif 3100:
+application : iliad , batch ;
+si
+   (
+     (  V_0CF + 0 < V_0CG )
+   )
+alors erreur A01201;
+verif 3101:
+application : iliad , batch ;
+si
+   (
+     (  V_0CI + 0 > V_0CH +0 ) 
+   )
+alors erreur A01202;
+verif 3110:
+application : iliad ;
+si (APPLI_OCEANS+0 = 0) et 
+        present(V_CALCULIR) = 0 
+        et
+    (V_0CF+0 != somme (i = 0..7: positif(V_0Fi+0)))
+alors erreur IM1101;
+verif 3111:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0CG != somme (i = 0, 1, 2, 3: positif(V_0Gi+0))
+   )
+alors erreur IM1102;
+verif 3112:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   (
+     present(V_CALCULIR) = 0 
+	et 
+     V_0CR != somme (i = 0, 1, 2, 3: positif(V_0Ri+0))
+   )
+alors erreur IM1105;
+verif 3113:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0DJ != somme (i = 0, 1, 2, 3: positif(V_0Ji+0))
+   )
+alors erreur IM1106;
+verif 3114:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0DN != somme (i = 0, 1, 2, 3: positif(V_0Ni+0))
+   )
+alors erreur IM1107;
+verif 3118:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0CH != somme (i = 0,1,2,3,4,5: positif(V_0Hi+0))
+   )
+alors erreur IM1103;
+verif 3116:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0CI != somme (i = 0, 1, 2, 3: positif(V_0Ii+0))
+   )
+alors erreur IM1104;
+verif 3117:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   (
+    present(V_CALCULIR) = 0 
+	et 
+    V_0DP !=  positif(V_0P0+0)
+   )
+alors erreur IM1108;
+verif 3200:
+application : bareme ;
+si (
+   ( V_9VV < 2 et (V_0AM + V_0AO + 0 = 1) )
+   )
+alors erreur A063;
+verif 3201:
+application : bareme ;
+si (
+   ( V_9VV < 1.25 et ( (V_0AC = 1 ou V_0AD = 1) et V_9XX = 1 ))
+   )
+alors erreur A064;
+verif 3202:
+application : bareme ;
+si (
+   ( V_9VV < 2.25 et ( (BOOL_0AM = 1 ou V_0AV = 1) et V_9XX = 1 ))
+   )
+alors erreur A064;
+verif 32021:
+application : bareme ;
+si (
+    V_9VV = 1.25 et  V_0BT=1 et V_9XX=1 
+   )
+alors erreur A064;
+verif 3203:
+application : bareme ;
+si (
+    V_9VV < 2 et  (V_0AV +V_0AZ = 2)
+   )
+alors erreur A066;
+verif 3210:
+application : iliad , batch;
+si (APPLI_OCEANS = 0) et (
+    (V_0AM + V_0AO + 0 = 1) et V_0AS = 1 et V_0AP+0 = 0 et V_0AF+0 = 0
+	  et 
+   V_ANREV - V_0DA < 75 et V_ANREV - V_0DB < 75
+   )
+alors erreur I011;
+verif 3221:
+application : batch , iliad ;
+si (APPLI_OCEANS=0) et (
+    (V_0AM + V_0AO + 0 = 0 )
+	  et 
+    V_0AZ + 0 = 0
+          et
+    V_0AP + 0 = 0
+          et
+    (V_0AE + 0 = 0 ou (V_0AE + 0 = 1 et (V_0DJ + 0 > 0 ou V_0DN + 0 > 0)))
+          et
+    V_0AW = 1
+	  et 
+    V_ANREV - V_0DA < 75
+   )
+alors erreur I012;
+verif 3216:
+application : batch , iliad ;
+si 
+    V_IND_TRAIT > 0
+    et
+    V_REGCO != 2
+    et
+    V_REGCO != 4
+    et
+   (
+    DEFRCM + 0 > V_BTDFRCM1 + PLAF_PRECONS * (1 - positif(V_BTDFRCM1))
+    ou
+    DEFRCM2 + 0 > V_BTDFRCM2 + PLAF_PRECONS * (1 - positif(V_BTDFRCM2))
+    ou
+    DEFRCM3 + 0 > V_BTDFRCM3 + PLAF_PRECONS * (1 - positif(V_BTDFRCM3))
+    ou
+    DEFRCM4 + 0 > V_BTDFRCM4 + PLAF_PRECONS * (1 - positif(V_BTDFRCM4))
+    ou
+    DEFRCM5 + 0 > V_BTDFRCM5 + PLAF_PRECONS * (1 - positif(V_BTDFRCM5))
+    ou
+    DEFRCM6 + 0 > V_BTDFRCM6 + PLAF_PRECONS * (1 - positif(V_BTDFRCM6)))
+
+alors erreur I015 ;
+verif 3217:
+application : batch , iliad ;
+
+si
+    V_IND_TRAIT > 0
+    et
+    V_REGCO != 2
+    et
+    V_REGCO != 4
+    et
+    positif(PVSURSI + PVIMPOS + COD3WI + 0) = 1
+
+alors erreur I016 ;
+verif 3301:
+application : iliad, batch ;
+si (APPLI_OCEANS = 0) et 
+  ( 
+ 	V_0AV  = 1     
+	et
+       (
+       (
+        positif(XETRANC) + positif(TSELUPPEC) + positif(EXOCETC) + positif(FRNC)
+	+ positif(TSHALLOC) + positif(CODDBJ) + positif(CODEBJ) + positif(ALLOC) 
+	+ positif(HEURESUPC)
+        + positif(SALEXTC) + positif(COD1BD) + positif(COD1BE) + positif(PPEXTC) + positif(COD1BH)
+	+ positif(PRBC) + somme(i=2..4:positif(iPRBC)) + positif(PEBFC) 
+	+ positif(CARTSC) + positif(REMPLAC) + positif(CARPEC) + positif(PENSALC)
+	+ somme (i=1..3: positif (GLDiC)) + somme (i=A: positif(BiFC) + somme(j=A: positif(Bi1jC)))
+	+ somme (i=H,C: 
+       			somme(j= A,N: somme(k=R,D: positif(BjikEC))) + 
+       			somme(j=N: positif(BIiDjC)) + positif(BIiNOC)  
+          )
+	+ positif(BICREC) + positif(BI2AC) + positif(BICDEC)
+        + positif(TSASSUC)
+	+ positif(PPETPC) + positif(PPENHC)
+	+ positif(GSALC) + positif(PCAPTAXC)
+
+ + positif( FEXC ) + positif( BAFC ) + positif( BAFORESTC ) + positif( BAFPVC ) + positif( BAF1AC ) 
+ + positif( BAEXC ) + positif( BACREC ) + positif( 4BACREC ) + positif( BA1AC ) 
+ + positif(BACDEC)
+ + positif( BAHEXC ) + positif( BAHREC ) + positif( 4BAHREC ) 
+ + positif( BAHDEC ) + positif( BAPERPC ) + positif( BANOCGAC )
+ + positif( AUTOBICVC ) + positif( AUTOBICPC ) + positif( MIBEXC ) + positif( MIBVENC ) 
+ + positif( MIBPRESC ) + positif( MIBPVC ) + positif( MIB1AC ) + positif( MIBDEC ) 
+ + positif( BICEXC ) + positif( BICNOC ) + positif( LOCPROCGAC )
+ + positif( BI1AC ) + positif(BICDNC ) 
+ + positif( LOCDEFPROCGAC )
+ + positif( BIHEXC ) + positif( BIHNOC ) + positif( LOCPROC )
+ + positif( BIHDNC ) + positif( BIPERPC ) 
+ + positif( LOCDEFPROC )
+ + positif( MIBMEUC ) + positif( MIBGITEC ) + positif( MIBNPEXC ) + positif( MIBNPVENC ) 
+ + positif( MIBNPPRESC ) + positif( MIBNPPVC ) + positif( MIBNP1AC ) + positif( MIBNPDEC ) 
+ + positif( BICNPEXC ) + positif( BICREC ) + positif( LOCNPCGAC )
+ + positif( BI2AC ) + positif( LOCDEFNPCGAC) 
+ + positif( BICNPHEXC ) + positif( BICHREC ) + positif( LOCNPC )
+ + positif( BICHDEC)  
+ + positif(LOCDEFNPC)
+ + positif( AUTOBNCC ) + positif( BNCPROEXC ) + positif( BNCPROC ) 
+ + positif( BNCPROPVC ) + positif( BNCPRO1AC ) + positif( BNCPRODEC ) 
+ + positif( BNCEXC ) + positif( BNCREC ) + positif( BN1AC ) 
+ + positif( BNCDEC ) 
+ + positif( BNHEXC ) + positif( BNHREC ) + positif( BNHDEC ) 
+ + positif ( BNCCRC ) + positif ( CESSASSC ) + positif( XHONOAAC ) + positif( XHONOC )
+ + positif( BNCNPC ) + positif( BNCNPPVC ) + positif( BNCNP1AC ) + positif( BNCNPDEC ) 
+ + positif( BNCNPREXAAC ) + positif( BNCAABC ) + positif( BNCNPREXC ) + positif( ANOVEP )
+ + positif( INVENTC ) + positif( PVINCE ) + positif( BNCAADC) 
+ + positif( DNOCEPC ) + positif( BNCCRFC )
+ + positif( RCSC ) + positif( BANOCGAC ) + positif( PVSOCC ) + positif( PPEACC ) + positif( PPENJC ) 
+
+ + positif( PERPC ) + positif( PERP_COTC ) + positif( RACCOTC ) + positif( PLAF_PERPC ) 
+ + positif ( PERPPLAFCC ) + positif ( PERPPLAFNUC1 ) + positif ( PERPPLAFNUC2 ) + positif ( PERPPLAFNUC3 )
+ + positif ( RDSYCJ )
+ + positif( ELURASC ) 
+     )
+	> 0 
+     )
+   )
+alors erreur I010 ;
+verif 3416:
+application : batch ;
+si
+   V_IND_TRAIT > 0
+   et
+   positif(V_0AB + 0) = 1
+   et
+   (positif(V_0AX + 0) = 0
+    ou
+    positif(V_0AM + V_0AO + 0) = 1)
+
+alors erreur A004 ;
+verif 3417:
+application : batch ;
+si
+   V_IND_TRAIT > 0
+   et
+   positif(V_0AX + 0) = 1
+   et
+   positif(V_0AC + V_0AD + V_0AV + 0) = 1
+   et 
+   positif(V_0AB + 0) = 0
+
+alors erreur A005 ;
+verif 3500:
+application : iliad ;
+si 
+    positif(FLAGDERNIE+0) = 1
+    et
+    positif(null(V_NOTRAIT - 23) + null(V_NOTRAIT - 33) + null(V_NOTRAIT - 43) + null(V_NOTRAIT - 53) + null(V_NOTRAIT - 63)) = 1
+    et
+    NAPCR61 > V_ANTCR 
+    
+alors erreur A991;
diff --git a/sources2013m_3_8/coc4.m b/sources2013m_3_8/coc4.m
new file mode 100644
index 0000000000000000000000000000000000000000..c22d7c8842ae4fc49ee80ce18650043f4ecfa306
--- /dev/null
+++ b/sources2013m_3_8/coc4.m
@@ -0,0 +1,433 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 4010:
+application : iliad ,  batch ;
+si (APPLI_OCEANS +APPLI_BATCH = 1) et 
+      (
+      V_8ZT >= 0 et V_REGCO+0 != 2
+      )
+alors erreur A089;
+verif 4012:
+application : iliad ;
+si
+(
+positif(present(RE168)+present(TAX1649)) =1 et present(IPVLOC) = 1
+)
+alors erreur A990;
+verif 4015:
+application : iliad ;
+si (APPLI_OCEANS = 0) et (
+      ( V_8ZT >= 0 et V_CR2+0 != 1 et V_NOTRAIT + 0 < 20) 
+      ou
+      ( V_8ZT > 0 et V_CR2+0 != 1 et V_NOTRAIT >= 20)
+                          ) 
+alors erreur A089;
+verif 4020:
+application : iliad , batch;
+si
+      (
+       V_IND_TRAIT + 0 > 0
+       et
+       (V_REGCO+0) dans (1,2,3,5,6,7) 
+       et 
+       positif(IPVLOC + 0) = 1 
+      )
+
+alors erreur A094;
+verif 95:
+application : iliad , batch ;
+
+si
+   V_REGCO + 0 = 4 
+   et 
+   IPVLOC + 0 = 0
+   et (
+       ( V_IND_TRAIT + 0 = 4
+        et V_0AM + V_0AO + V_0AC + V_0AD + V_0AV + 0 != 0)
+      ou
+       ( V_IND_TRAIT + 0 = 5
+	et positif(ANNUL2042 + 0) = 0)
+      )
+alors erreur A095 ;
+verif 96:
+application : batch , iliad ;
+
+si
+   V_REGCO dans (2,3,4) 
+   et
+   ((V_IND_TRAIT = 4 et BASRET >= 0 et IMPRET >= 0)
+    ou
+    (V_IND_TRAIT = 5 et BASRET > 0 et IMPRET > 0))
+
+alors erreur A096 ;
+verif 4050:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et 
+  (
+  V_IND_TRAIT > 0
+  et
+  VALREGCO non dans (1,2,4) 
+  )
+alors erreur A082;
+verif 4060:
+application : batch , iliad;
+si (APPLI_OCEANS = 0) et 
+  (
+  V_NOTRAIT+0 = 10
+  et
+   (VALREGCO = 2 ou VALREGCO = 4) et V_CNR2+0!=1 
+  )
+alors erreur A083;
+verif 77:
+application : batch , iliad ;
+
+si
+   positif(COD8XK + 0) = 1
+   et
+   V_REGCO + 0 != 3
+   
+alors erreur A077 ;
+verif 78:
+application : batch , iliad ;
+
+si
+   positif(COD8YK + 0) = 1
+   et
+   ((V_REGCO+0) dans (2,3,4))
+
+alors erreur A078 ; 
+verif 79:
+application : batch , iliad ;
+
+si
+   positif_ou_nul(BRAS) = 1 
+   et 
+   V_CNR2 + 0 != 1
+  
+alors erreur A079 ;
+verif 4080:
+application : batch , iliad ;
+si
+   (
+    V_NOTRAIT + 0 < 20 
+   et
+    present(BRAS) = 1 et V_REGCO+0 != 2 et V_CNR2+0 = 1
+   )
+  ou
+   (
+    V_NOTRAIT >= 20 
+   et
+    positif(BRAS) = 1 et V_REGCO+0 != 2 et V_CNR2+0 = 1
+   )
+alors erreur A080;
+verif 4100:
+application : iliad , batch ;
+
+si
+   (IPTEFP + IPTEFN 
+    + SALEXTV + SALEXTC + SALEXT1 + SALEXT2 + SALEXT3 + SALEXT4
+    + COD1AH + COD1BH + COD1CH + COD1DH + COD1EH + COD1FH
+    + PRODOM + PROGUY 
+    + CODDAJ + CODDBJ + CODEAJ + CODEBJ + 0) > 0
+   et
+   (V_REGCO + 0 = 2
+    ou
+    V_REGCO + 0 = 4)
+   
+alors erreur A088 ;
+verif 4110:
+application : iliad, batch ;
+si
+     
+  SALECSG + SALECS + ALLECS + INDECS + PENECS + 0 > 0 et SOMMEDD55 = 0
+
+alors erreur DD55 ;
+verif 90:
+application : iliad, batch;
+
+si
+    V_IND_TRAIT + 0 > 0
+    et
+    V_8ZT > ( somme(i=V,C,1..4: TPRi)
+	      + somme (i=1..3: GLNiV)
+	      + somme (i=1..3: GLNiC)
+	      + RVTOT + T2RV 
+	      + 2 ) 
+
+alors erreur A090 ;
+verif 4130:
+application : iliad , batch;
+si 
+    ( V_NOTRAIT + 0 < 20
+      et
+     ( present(RMOND) = 1 ou present(DMOND) = 1 ) 
+      et V_REGCO+0 !=2 )
+    ou
+    ( V_NOTRAIT >= 20
+      et
+     ( positif(RMOND) = 1 ou positif(DMOND) = 1 ) 
+      et V_REGCO+0 !=2 )
+	
+alors erreur A091;
+verif 4140:
+application : iliad , batch;
+si (
+           V_NOTRAIT + 0 < 20
+           et
+           (
+                  ( positif(IPTXMO)=1 et present(DMOND)!=1 et present(RMOND)!=1 )
+           ou
+                  ( (present(RMOND)=1 ou present(DMOND)=1) et positif(IPTXMO+0) !=1 )
+           )
+   )
+        ou
+   (
+           V_NOTRAIT >= 20
+           et
+           (
+                   ( positif(IPTXMO)=1 et positif(DMOND)!=1 et positif(RMOND)!=1 )
+           ou
+                   ( (positif(RMOND)=1 ou positif(DMOND)=1) et positif(IPTXMO+0) !=1 )
+           )
+   )
+alors erreur A092;
+verif 4150:
+application : iliad , batch;
+si  (
+     V_NOTRAIT + 0 < 20
+     et
+     present(RMOND) = 1 et present(DMOND) = 1
+    )
+  ou
+    (
+     V_NOTRAIT >= 20
+     et
+     positif(RMOND) = 1 et positif(DMOND) = 1
+    )
+alors erreur A093;
+verif 8021:
+application : iliad  , batch;
+
+si (
+       ( (V_NOTRAIT >= 20) et (IPTEFP > 0) et ( IPTEFN > 0) )
+     ou
+       ( ((V_NOTRAIT+0) < 20) et (IPTEFP >= 0) et (IPTEFN >= 0) et (V_ROLCSG+0 < 40))
+   )
+alors erreur A80201 ;
+verif 8022:
+application : iliad , batch ;
+
+si
+   (
+    V_NOTRAIT + 0 < 20
+    et
+    IPTEFP + IPTEFN >= 0
+    et
+    PRODOM + PROGUY + CODDAJ + CODDBJ + CODEAJ + CODEBJ >= 0
+   )
+   ou
+   (
+    V_NOTRAIT >= 20
+    et
+    IPTEFP + IPTEFN > 0
+    et
+    PRODOM + PROGUY + CODDAJ + CODDBJ + CODEAJ + CODEBJ > 0
+   )
+
+alors erreur A80202 ;
+verif 8023:
+application : iliad , batch ;
+si
+   (
+    V_NOTRAIT + 0 < 20
+    et
+    SOMMEA802 > 0
+    et
+    PRODOM + PROGUY + CODDAJ + CODDBJ + CODEAJ + CODEBJ >= 0
+   )
+   ou
+   (
+    V_NOTRAIT >= 20
+    et
+    SOMMEA802 > 0
+    et
+    PRODOM + PROGUY + CODDAJ + CODDBJ + CODEAJ + CODEBJ > 0
+   )
+
+alors erreur A80203 ;
+verif 803:
+application : iliad  , batch;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CODDAJ + CODDBJ + CODEAJ + CODEBJ + 0) = 1
+   et
+   V_REGCO + 0 != 1
+
+alors erreur A803 ;
+verif 804:
+application : iliad , batch;
+si
+    (
+      (PROGUY + PRODOM +0 > 0)
+       et
+      (SOMMEA804 > 0 )
+    )
+alors erreur A804;
+verif 8821:
+application : iliad  , batch;
+
+si
+  (
+   IPMOND > 0
+   et
+   (present(IPTEFP) = 0 et present(IPTEFN) = 0)
+  )
+  ou
+  (
+   (present(IPTEFP) = 1 ou present(IPTEFN) = 1)
+   et
+   present(IPMOND) = 0
+  )
+
+alors erreur A88201 ;
+verif 8822:
+application : iliad  , batch;
+
+si
+   (present(IPMOND) 
+    + present(SALEXTV) + present(SALEXTC) + present(SALEXT1) + present(SALEXT2) + present(SALEXT3) + present(SALEXT4)
+    + present(COD1AH) + present(COD1BH) + present(COD1CH) + present(COD1DH) + present(COD1EH) + present(COD1FH)) = 0
+   et
+   positif_ou_nul(TEFFHRC + COD8YJ) = 1
+
+alors erreur A88202 ;
+verif 8851:
+application : iliad  , batch;
+
+si
+   positif(CIIMPPRO2 + 0) = 1 
+   et 
+   present(BPVSJ) = 0
+        
+alors erreur A88501 ;
+verif 8852:
+application : iliad  , batch;
+
+si
+   positif(COD8XV + 0) = 1 
+   et 
+   present(COD2FA) = 0
+        
+alors erreur A88502 ;
+verif 8853:
+application : iliad  , batch;
+
+si
+   positif(CIIMPPRO + 0) = 1 
+   et 
+   somme(i=V,C,P:present(BA1Ai) + present(BI1Ai) + present(BN1Ai)) = 0
+        
+alors erreur A88503 ;
+verif 8854:
+application : iliad  , batch;
+
+si
+   positif(COD8XF + 0) = 1 
+   et 
+   present(BPV18V) + present(BPV18C) = 0
+        
+alors erreur A88504 ;
+verif 8855:
+application : iliad  , batch;
+
+si
+   positif(COD8XG + 0) = 1 
+   et 
+   present(BPCOPTV) + present(BPCOPTC) = 0
+        
+alors erreur A88505 ;
+verif 8856:
+application : iliad  , batch;
+
+si
+   positif(COD8XH + 0) = 1 
+   et 
+   present(BPV40V) + present(BPV40C) = 0
+        
+alors erreur A88506 ;
+verif 883:
+application : iliad  , batch;
+
+si
+   IPBOCH > 0 
+   et 
+   CIIMPPRO + CIIMPPRO2 + REGCI + PRELIBXT + COD8XF + COD8XG + COD8XH + COD8XV + 0 = 0
+	
+alors erreur A883 ;
+verif 884:
+application : iliad , batch;
+
+si
+   REGCI > 0 
+   et 
+   SOMMEA884 = 0
+     
+alors erreur A884 ;
+verif 886:
+application : iliad , batch;
+
+si
+   IPPNCS > 0 
+   et 
+   positif(REGCI + CIIMPPRO + CIIMPPRO2 + COD8XV + COD8XF + COD8XG + COD8XH + 0) != 1 
+     
+alors erreur A886 ;
+verif 4260:
+application : iliad , batch;
+si
+     (
+       positif(present( NRBASE ) + present( NRINET )) = 1 
+       et
+       present( NRBASE ) + present( NRINET ) < 2
+     )
+alors erreur A086;
+verif 4380:
+application : iliad ;
+si
+                      ((DEFRI = 1)  et (PREM8_11=1) et (VARR30R32=0))
+alors erreur IM42 ;
+verif 4382:
+application : iliad ;
+si
+                      ((DEFRI = 1)  et (CODERAPHOR=0))
+alors erreur IM42 ;
+verif 4384:
+application : iliad ;
+si
+                      ((DEFRI = 1)  et (PREM8_11 >0) et (VARR30R32>0))
+alors erreur A992 ;
+verif 4386:
+application : iliad ;
+si
+                      ((DEFRI = 1)  et (CODERAPHOR>0))
+alors erreur A992 ;
diff --git a/sources2013m_3_8/coc5.m b/sources2013m_3_8/coc5.m
new file mode 100644
index 0000000000000000000000000000000000000000..db730726f81124a7775c7059382a48f5090983cd
--- /dev/null
+++ b/sources2013m_3_8/coc5.m
@@ -0,0 +1,336 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 5000:
+application : iliad, batch ;
+si (APPLI_COLBERT+APPLI_OCEANS=0)et (
+    ( NBPT > (V_BTNBP1 + 4 * APPLI_ILIAD + 400 * APPLI_BATCH) )
+ et
+    ( V_BTNBP1 + 0 > 0     )
+ et
+   	V_IND_TRAIT+0=4 et V_BTANC =1 et ((V_BTNI1+0) non dans (50,92)) 
+ et     
+        V_BTMUL !=1 et V_CODILIAD=1
+ et
+    (V_BT0AC=V_0AC ou V_BT0AM=V_0AM ou V_BT0AO=V_0AO ou V_BT0AD=V_0AD ou V_BT0AV=V_0AV)
+    )
+ alors erreur DD17;
+verif 5001:
+application : iliad , batch ;
+si
+   (
+   NBPT > 20
+   )
+alors erreur A015;
+verif 5050:
+application : batch , iliad ;
+si (APPLI_COLBERT+APPLI_OCEANS=0)et (
+   V_ZDC+0 = 0 et V_BTMUL = 0
+   et V_0AX+0 = 0 et V_0AY+0 = 0 et V_0AZ+0= 0
+   et V_BTRNI > LIM_BTRNI10
+   et RNI < V_BTRNI/5
+   et V_BTANC+0 = 1  et ((V_BTNI1+0 )non dans (50,92)) 
+   )
+alors erreur DD05;
+verif 5060:
+application : iliad;
+si (APPLI_OCEANS=0) et (
+	   V_ZDC+0 = 0 et V_BTMUL+0 = 0
+   et V_0AX+0 = 0 et V_0AY+0 = 0 et V_0AZ+0 = 0 et V_0AO+0 = 0
+   et V_BTRNI > LIM_BTRNI
+   et
+      (RNI > V_BTRNI*9
+	et
+	RNI < 100000)
+   )
+alors erreur IM1601;
+verif 5061:
+application : iliad;
+
+si (APPLI_OCEANS=0) et (
+	   V_ZDC+0 = 0 et V_BTMUL+0 = 0
+   et V_0AX+0 = 0 et V_0AY+0 = 0 et V_0AZ+0 = 0 et V_0AO+0 = 0
+   et V_BTRNI > LIM_BTRNI
+   et
+       (RNI > V_BTRNI*5
+	et
+	RNI >= 100000)
+   )
+alors erreur IM1602;
+verif 5105:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0 
+   et
+   COD8UV > 500
+   et 
+   COD8UV > arr((TSHALLOV + TSHALLOC + TSHALLO1 + TSHALLO2 + TSHALLO3 + TSHALLO4
+                 + CARTSV + CARTSC + CARTSP1 + CARTSP2 + CARTSP3 + CARTSP4
+                 + CODEAJ + CODEBJ
+                 + ALLOV + ALLOC + ALLO1 + ALLO2 + ALLO3 + ALLO4
+                 + REMPLAV + REMPLAC + REMPLAP1 + REMPLAP2 + REMPLAP3 + REMPLAP4
+                 + PRBRV + PRBRC + PRBR1 + PRBR2 + PRBR3 + PRBR4
+                 + CARPEV + CARPEC + CARPEP1 + CARPEP2 + CARPEP3 + CARPEP4
+                 + RVB1 + RVB2 + RVB3 + RVB4 + RENTAX + RENTAX5 + RENTAX6 + RENTAX7) * TX30/100)
+
+alors erreur IM21 ;
+verif 5100:
+application : iliad ;
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_NOTRAIT + 0 != 14 
+   et
+   (
+    V_BTANC + 0 = 1  
+    et 
+    ((V_BTNI1+0 )non dans (50,92)) 
+    et 
+    V_BTIMP + 0 <= 0 
+    et 
+    IINET > (LIM_BTIMP*2) 
+    et 
+    V_ZDC + 0 = 0
+   )
+
+alors erreur IM20 ;
+verif 5101:
+application : iliad;
+si (APPLI_OCEANS=0) et (
+V_BTIMP > LIM_BTIMP et IINET >= V_BTIMP * 2 et V_ZDC+0 = 0
+)
+alors erreur IM17;
+verif 5102:
+application : iliad;
+si (APPLI_OCEANS=0) et (
+   V_BTIMP > LIM_BTIMP et IINET <= V_BTIMP / 2 et V_ZDC+0 = 0
+   )
+alors erreur IM18;
+verif 5103:
+application : batch,iliad;
+si (APPLI_COLBERT+APPLI_OCEANS=0)et (
+   DAR > LIM_CONTROLE et V_BTRNI > 0 et ((V_BTNI1+0) non dans (50,92))
+   )
+alors erreur DD18;
+verif 5104:
+application : batch , iliad ;
+
+si (APPLI_COLBERT+APPLI_OCEANS=0)et (
+   V_BTANC = 1 et 
+   ( DAGRI1 + DAGRI2 + DAGRI3 + DAGRI4 + DAGRI5 + DAGRI6 > LIM_CONTROLE + V_BTDBA) 
+   )
+alors erreur DD20;
+verif 5203:
+application : iliad,batch ;
+
+si (APPLI_OCEANS=0)et 
+   positif(
+   present ( BAFV ) 
+ + present ( BAFC ) 
+          ) = 1 
+et
+   positif(
+
+   present ( BICEXV ) + present ( BICEXC ) + present ( BICNOV ) 
+ + present ( BICNOC )  
+ + present ( BI1AV ) + present ( BI1AC ) + present ( BICDNV ) 
+ + present ( BICDNC )  
+ + present ( BIHEXV ) + present ( BIHEXC ) + present ( BIHNOV ) 
+ + present ( BIHNOC )  
+ + present ( BIHDNV ) + present ( BIHDNC ) 
+ + present ( BNCEXV ) + present ( BNCEXC ) 
+ + present ( BNCREV ) + present ( BNCREC ) + present ( BN1AV ) 
+ + present ( BN1AC ) + present ( BNCDEV ) + present ( BNCDEC ) 
+ + present ( BNHEXV ) + present ( BNHEXC ) + present ( BNHREV ) 
+ + present ( BNHREC ) + present ( BNHDEV ) + present ( BNHDEC ) 
+ + present ( LOCPROCGAV ) + present ( LOCPROCGAC ) + present ( LOCDEFPROCGAV )
+ + present ( LOCDEFPROCGAC ) + present ( LOCPROV ) + present ( LOCPROC )
+ + present ( LOCDEFPROV ) + present ( LOCDEFPROC )
+
+    ) = 1
+alors erreur DD13;
+verif 5205:
+application : batch , iliad  ;
+si (APPLI_OCEANS = 0) et 
+( 
+  ( (CIGARD > 0) et ( 1 - V_CNR > 0) et 
+   (positif(RDGARD1) + positif(RDGARD2) + positif(RDGARD3) 
+   + positif(RDGARD4) > ( EM7 + 0)))
+ ou
+  ( (CIGARD > 0) et ( 1 - V_CNR > 0) et 
+   (positif(RDGARD1QAR) + positif(RDGARD2QAR) + positif(RDGARD3QAR) 
+   + positif(RDGARD4QAR) > ( EM7QAR + 0)))
+)
+alors erreur DD10;
+verif 5500:
+application : iliad , batch;
+si
+(
+     (  (V_NOTRAIT+0 < 20)
+	et
+	((NRBASE  >= 0 ou NRINET  >= 0)
+        et 
+        ( V_REGCO !=3)))
+   ou
+      ( (V_NOTRAIT+0 > 20)
+        et
+	((NRBASE  > 0 ou NRINET  > 0)
+        et
+        ( V_REGCO !=3)))
+
+)
+alors erreur A085;
+verif 5502:
+application : iliad   , batch ;
+si
+(
+((V_NOTRAIT+0 < 20)
+et
+(V_CNR + 0 = 1 et IND_TDR >= 0) 
+)
+ou
+( (V_NOTRAIT+0 > 20)
+et
+(V_CNR + 0 = 1 et IND_TDR > 0))
+)
+alors erreur A087;
+verif 5510:
+application : iliad , batch  ;
+si
+(
+RG + 2 < PRODOM + PROGUY
+)
+alors erreur A800;
+verif 5600:
+application : iliad , batch ;
+si
+(
+max(0 , IRB + TAXASSUR + IPCAPTAXT + TAXLOY + IHAUTREVT + PTOTD  
+	    - IAVT - RCMAVFT - CICA - I2DH - CICORSE - CIRECH - CICAP
+	    - CICHR - CICULTUR - CREREVET - CIGLO - CIDONENTR ) < IRANT
+)
+alors erreur A875;
+verif 5700:
+application : iliad , batch  ;
+si (APPLI_OCEANS=0) et 
+     (
+       CSGIM > CSG 
+     )
+alors erreur A873;
+verif corrective 5701:
+application :  iliad ;
+si (APPLI_OCEANS = 0) et 
+    (
+      present (CSGIM) = 1 et (V_NOTRAIT > 20)
+    )
+alors erreur A852;
+verif 5710:
+application : iliad , batch  ;
+si
+( 
+  V_IND_TRAIT + 0 > 0
+  et
+  PRSPROV > PRS
+)
+alors erreur A872;
+verif corrective 57101:
+application :  iliad ;
+si (APPLI_OCEANS = 0) et 
+    (
+      present (PRSPROV) = 1 et (V_NOTRAIT > 20)
+    )
+alors erreur A853 ;
+verif corrective 8630:
+application :  iliad ;
+si (APPLI_OCEANS = 0) et 
+  positif(AUTOVERSSUP + 0) = 1
+  et
+  positif(AUTOBICVV + AUTOBICPV + AUTOBNCV 
+	  + AUTOBICVC + AUTOBICPC + AUTOBNCC
+	  + AUTOBICVP + AUTOBICPP + AUTOBNCP
+          + 0) = 0
+
+alors erreur A863 ;
+verif 5712:
+application :  batch , iliad ;
+si
+    (
+     CRDSIM > RDSN 
+    )
+alors erreur A871;
+verif 57120:
+application :  batch , iliad ;
+si
+    V_IND_TRAIT + 0 > 0
+    et
+    (CDISPROV + 0 > CDIS + 0
+     ou
+     (positif(CDISPROV + 0) = 1 et positif(GSALV + GSALC + 0) = 0))
+
+alors erreur A868 ;
+verif corrective 5713:
+application :  iliad ;
+si (APPLI_OCEANS = 0) et 
+    (
+     (V_NOTRAIT > 20) et positif(CRDSIM)=1
+    )
+alors erreur A851;
+verif corrective 57131:
+application :  iliad ;
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_NOTRAIT > 20
+   et
+   (positif(CSPROVYD) = 1
+    ou
+    positif(CSPROVYE) = 1
+    ou
+    positif(CSPROVYF) = 1
+    ou
+    positif(CSPROVYG) = 1
+    ou
+    positif(CSPROVYH) = 1
+    ou
+    positif(COD8YL) = 1
+    ou
+    positif(COD8YT) = 1
+    ou
+    positif(CDISPROV) = 1
+    ou
+    positif(IRANT) = 1
+    ou
+    positif(CRDSIM) = 1
+    ou
+    positif(CSGIM) = 1
+    ou
+    positif(DCSGIM) = 1
+    ou
+    positif(PRSPROV) = 1)
+
+alors erreur A850;
+verif 5714:
+application :  batch , iliad ;
+si
+    (
+	positif(DCSGIM)=1 et positif(CSGIM+0)!=1
+    )
+alors erreur A870;
diff --git a/sources2013m_3_8/coc7.m b/sources2013m_3_8/coc7.m
new file mode 100644
index 0000000000000000000000000000000000000000..68859f70c3b5197d84db5c5f7c8593bde7375dc2
--- /dev/null
+++ b/sources2013m_3_8/coc7.m
@@ -0,0 +1,381 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 7310:
+application : iliad , batch  ;
+si
+	  ( present(CMAJ)=1 et present(MOISAN)=0 )
+	  ou
+	  ( present(CMAJ2)=1 et present(MOISAN2)=0 )
+          
+alors erreur A96201;
+verif 7311:
+application : iliad , batch  ;
+si
+	  (  present(CMAJ)=0 et present(MOISAN)=1)
+	  ou
+	  (  present(CMAJ2)=0 et present(MOISAN2)=1)
+          
+alors erreur A96202;
+verif isf 73101:
+application : iliad , batch  ;
+si
+	  ( present(CMAJ_ISF)=1 et present(MOISAN_ISF)=0 )
+          
+alors erreur A96203;
+verif isf 73111:
+application : iliad , batch  ;
+si
+	  (  present(CMAJ_ISF)=0 et present(MOISAN_ISF)=1)
+          
+alors erreur A96204;
+verif 7314:
+application : iliad , batch ;
+si
+	( 
+	CMAJ != 7 et ((APPLI_BATCH = 1 et APPLI_COLBERT = 0)
+                    ou APPLI_OCEANS = 1
+                    ou (APPLI_ILIAD = 1 et
+                          non ( V_CALCULIR+0=1
+                               ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56)
+                              )
+                        )
+	             )
+	)
+	ou
+	( 
+	CMAJ2 != 7 et CMAJ2 != 0 et ((APPLI_BATCH = 1 et APPLI_COLBERT = 0)
+                                   ou APPLI_OCEANS = 1
+                                   ou (APPLI_ILIAD = 1 et
+                                       non ( V_CALCULIR+0=1
+                                            ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56)
+                              )
+                        )
+	             )
+        )
+        
+alors erreur A96101;
+verif 73141:
+application : batch , iliad ;
+si
+       (
+       CMAJ non dans ( 7..8 ) et CMAJ non dans (10..11) et CMAJ non dans (17..18)  
+     et (  (APPLI_ILIAD = 1 et
+                   ( V_CALCULIR + 0 = 1 ou (V_NOTRAIT + 0) dans (16,23,26,33,36,43,46,53,56))
+           )
+           ou APPLI_COLBERT = 1)
+       )
+       ou
+       (
+       CMAJ2 non dans ( 7..8 ) et CMAJ2 non dans (10..11) et CMAJ2 non dans (17..18) et CMAJ2 != 0
+     et (  (APPLI_ILIAD = 1 et
+                   ( V_CALCULIR + 0 = 1 ou (V_NOTRAIT + 0) dans (16,23,26,33,36,43,46,53,56))
+           )
+           ou APPLI_COLBERT = 1)
+       )
+alors erreur A96102;
+verif isf 731412:
+application : batch , iliad ;
+si  
+       (
+       CMAJ_ISF non dans ( 7,8,17,18 )  
+        et (  (APPLI_ILIAD=1 et
+                  ( V_CALCULIR+0=1 ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56))
+              )
+             ou APPLI_COLBERT =1
+	   )
+       )
+alors erreur A96103;
+verif 73641:
+application : iliad , batch  ;
+si
+	(
+       ((inf( DATDEPETR/1000000 ) non dans (01..31)) et V_IND_TRAIT+0 = 4)
+ou
+       ((inf( DATDEPETR/1000000 ) non dans (01..31)) et V_IND_TRAIT = 5 et DATDEPETR != 0)
+	) 
+alors erreur A96401;
+verif 73642:
+application : iliad , batch  ;
+si
+	(
+       ((inf( (DATDEPETR/1000000 - inf(DATDEPETR/1000000))*100 ) non dans (01..12)) et (V_IND_TRAIT+0= 4))
+ou
+       ((inf( (DATDEPETR/1000000 - inf(DATDEPETR/1000000))*100 ) non dans (01..12)) 
+		et V_IND_TRAIT = 5 et DATDEPETR != 0)
+	) 
+alors erreur A96402;
+verif 736431:
+application : iliad , batch ;
+si (
+ ((arr( (DATDEPETR/10000 - inf(DATDEPETR/10000))*10000 ) != V_ANREV) et V_IND_TRAIT+0 = 4)
+ou
+ ((arr( (DATDEPETR/10000 - inf(DATDEPETR/10000))*10000 ) != V_ANREV) 
+		et V_IND_TRAIT = 5 et DATDEPETR != 0)
+   ) 
+alors erreur A96403;
+verif 73651:
+application : iliad , batch  ;
+si
+	(
+       ((inf( DATRETETR/1000000) non dans (01..31)) et V_IND_TRAIT+0 = 4)
+	ou
+       ((inf( DATRETETR/1000000) non dans (01..31)) et V_IND_TRAIT = 5 et DATRETETR != 0)
+	) 
+alors erreur A96501;
+verif 73652:
+application : iliad , batch  ;
+si
+	(
+       ((inf( (DATRETETR/1000000 - inf(DATRETETR/1000000))*100 ) non dans (01..12)) et V_IND_TRAIT+0 = 4)
+	ou
+       ((inf( (DATRETETR/1000000 - inf(DATRETETR/1000000))*100 ) non dans (01..12)) 
+	et V_IND_TRAIT = 5 et DATRETETR != 0)
+	) 
+alors erreur A96502;
+verif 736531:
+application : iliad , batch ;
+si (
+ ((arr( (DATRETETR/10000 - inf(DATRETETR/10000))*10000 ) != V_ANREV) et V_IND_TRAIT+0 = 4)
+ou
+ ((arr( (DATRETETR/10000 - inf(DATRETETR/10000))*10000 ) != V_ANREV) 
+            et V_IND_TRAIT = 5 et DATRETETR != 0)
+   ) 
+alors erreur A96503;
+verif 7366:
+application : iliad , batch  ;
+si
+	(
+       DATDEPETR > 0 et DATRETETR > 0
+	) 
+alors erreur A966;
+verif 7315:
+application : iliad , batch  ;
+si
+        (V_IND_TRAIT > 0 )
+       et
+	(
+	inf(MOISAN/10000) non dans (01..12)
+	ou
+	inf(MOISAN2/10000) non dans (00..12)
+	) 
+alors erreur A96301;
+verif 7316:
+application : iliad ;
+
+si (APPLI_COLBERT=0) et (
+   (
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+3
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+4
+   ) 
+   ou
+   (
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+3
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+4
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != 0
+   ))
+alors erreur A96302;
+verif isf 73151:
+application : iliad , batch  ;
+si
+   	(
+        	(V_IND_TRAIT+0 = 4 et inf(MOISAN_ISF/10000) non dans (01..12) )
+           	ou
+		(V_IND_TRAIT+0 = 5 et inf(MOISAN_ISF/10000) non dans (01..12) et MOISAN_ISF != 0 )
+	) 
+alors erreur A96303;
+verif isf 73161:
+application : iliad , batch ;
+si (APPLI_OCEANS = 0) et 
+   (
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+3
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+4
+   ) 
+
+alors erreur A96304;
+verif 7317:
+application : batch ;
+
+si 
+   APPLI_COLBERT = 1
+   et  
+   (
+    arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+1
+    et
+    arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+2
+    et
+    arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+3
+   )
+
+alors erreur A96302 ;
+verif isf 73171:
+application : batch ;
+si (APPLI_COLBERT=1) et  (
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+3
+   )
+alors erreur A96304 ;
+verif 7332:
+application : iliad , batch ;
+si
+  (
+  V_IND_TRAIT > 0
+  et
+  LOYIMP > 99999
+  )
+alors erreur A00106 ;
+verif 7441:
+application :  iliad ;
+
+si  (APPLI_OCEANS=0) et
+   (
+   positif ( ANNUL2042 ) + INDAUTREQUE9YA > 1
+   )
+alors erreur A99301;
+verif 600:
+application :  iliad, batch ;
+
+si  (APPLI_OCEANS=0) et 
+   positif(PERPIMPATRIE+0) != 1 et
+   V_REGCO+0 != 2 et V_REGCO+0 != 4 et V_CNR+0 != 1 et
+   (
+   (positif(PERP_COTV+0) > 0 et 
+    present(PERPPLAFCV)*present(PERPPLAFNUV1)*present(PERPPLAFNUV2)*present(PERPPLAFNUV3) = 0)
+    ou
+   (positif(PERP_COTC+0) > 0 et 
+    present(PERPPLAFCC)*present(PERPPLAFNUC1)*present(PERPPLAFNUC2)*present(PERPPLAFNUC3) = 0)
+    ou
+   (positif(PERP_COTP+0) > 0 et 
+    present(PERPPLAFCP)*present(PERPPLAFNUP1)*present(PERPPLAFNUP2)*present(PERPPLAFNUP3) = 0)
+   )
+alors erreur A600;
+verif 601:
+application :  iliad, batch ;
+
+si  (APPLI_OCEANS=0) et 
+   (V_IND_TRAIT > 0) et positif(PERPIMPATRIE+0) != 1 
+   et
+   (
+   PERPPLAFCV > LIM_PERPMAXBT ou PERPPLAFCC > LIM_PERPMAXBT
+   )
+alors erreur A601;
+verif 602:
+application :  iliad, batch ;
+
+si  (APPLI_OCEANS=0) et 
+   (
+    (positif(RACCOTV+0) > 0 et positif(PERP_COTV+0) = 0)
+    ou
+    (positif(RACCOTC+0) > 0 et positif(PERP_COTC+0) = 0)
+    ou
+    (positif(RACCOTP+0) > 0 et positif(PERP_COTP+0) = 0)
+   )
+alors erreur A602;
+verif 603:
+application :  iliad, batch ;
+
+si 
+   APPLI_COLBERT + APPLI_OCEANS = 0 
+   et 
+   positif(PERPIMPATRIE + 0) != 1 
+   et 
+   positif(V_CALCULIR + 0) = 0
+   et
+  (
+  (positif_ou_nul(PLAF_PERPV) = 1 et  
+	    (present(PERPPLAFCV) = 0 et present(PERPPLAFNUV1) = 0
+	     et present(PERPPLAFNUV2) = 0 et present(PERPPLAFNUV3) = 0 ))
+  ou
+  (positif_ou_nul(PLAF_PERPC) = 1 et  
+	    (present(PERPPLAFCC) = 0 et present(PERPPLAFNUC1) = 0
+	     et present(PERPPLAFNUC2) = 0 et present(PERPPLAFNUC3) = 0 ))
+  ou
+  (positif_ou_nul(PLAF_PERPP) = 1 et  
+	    (present(PERPPLAFCP) = 0 et present(PERPPLAFNUP1) = 0
+	     et present(PERPPLAFNUP2) = 0 et present(PERPPLAFNUP3) = 0 ))
+  ou
+  (positif_ou_nul(PLAF_PERPV) = 1 
+		 et (PERPPLAFCV+PERPPLAFNUV1+PERPPLAFNUV2+PERPPLAFNUV3 = 
+		      V_BTPERPV+V_BTPERPNUV1+V_BTPERPNUV2+V_BTPERPNUV3) )
+  ou
+  (positif_ou_nul(PLAF_PERPC) = 1 
+		 et (PERPPLAFCC+PERPPLAFNUC1+PERPPLAFNUC2+PERPPLAFNUC3 = 
+		      V_BTPERPC+V_BTPERPNUC1+V_BTPERPNUC2+V_BTPERPNUC3) )
+  ou
+  (positif_ou_nul(PLAF_PERPP) = 1 
+		 et (PERPPLAFCP+PERPPLAFNUP1+PERPPLAFNUP2+PERPPLAFNUP3 = 
+		      V_BTPERPP+V_BTPERPNUP1+V_BTPERPNUP2+V_BTPERPNUP3) )
+  )
+alors erreur A603;
+verif 604:
+application :  iliad, batch ;
+
+si (APPLI_OCEANS=0) et (
+    positif(PERPMUTU) = 1 et (V_0AM + V_0AO = 1) et ((V_REGCO+0) dans (1,3,5,6,7))
+	et positif(PERPIMPATRIE+0) = 0
+	et (present(PERPPLAFCV) = 0 ou present(PERPPLAFNUV1) = 0
+	ou present(PERPPLAFNUV2) = 0 ou present(PERPPLAFNUV3) = 0
+	ou present(PERPPLAFCC) = 0 ou present(PERPPLAFNUC1) = 0
+	ou present(PERPPLAFNUC2) = 0 ou present(PERPPLAFNUC3) =0)
+		       )
+alors erreur A604;
+verif 6051:
+application :  iliad, batch ;
+
+si (APPLI_OCEANS=0) et 
+
+   V_IND_TRAIT > 0
+   et
+   PERPV + 0 < EXOCETV + 0
+   et 
+   positif(EXOCETV + 0) = 1
+
+alors erreur A60501 ;
+verif 6052:
+application :  iliad, batch ;
+
+si (APPLI_OCEANS=0) et 
+
+   V_IND_TRAIT > 0
+   et
+   PERPC + 0 < EXOCETC + 0
+   et
+   positif(EXOCETC + 0) = 1
+
+alors erreur A60502 ;
diff --git a/sources2013m_3_8/coi1.m b/sources2013m_3_8/coi1.m
new file mode 100644
index 0000000000000000000000000000000000000000..774ac0e45bd7589e723ed97e72da4044a207e7ad
--- /dev/null
+++ b/sources2013m_3_8/coi1.m
@@ -0,0 +1,1135 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 1005:
+application : batch, iliad  ;
+si (APPLI_OCEANS=0) et (
+    V_IND_TRAIT > 0 et
+     (
+    (RBG > 99999999)
+    ou
+    (BCSG > 99999999)
+    ou
+    (BRDS > 99999999)
+    ou
+    (BPRS > 99999999)
+    ou
+    (GSALV > 99999999)
+    ou
+    (GSALC > 99999999)
+    ou
+    (CVNSALAV > 99999999)
+    ou
+    (CVNSALAC > 99999999)
+    )
+   )
+alors erreur A00105 ;
+verif isf 1007:
+application : batch, iliad  ;
+si (APPLI_OCEANS=0) et (
+    V_IND_TRAIT > 0 et
+     (
+    (ISFDONEURO > 99999999)
+    ou
+    (ISFDONF > 99999999)
+    ou
+    (ISFETRANG > 99999999)
+    ou
+    (ISFFCPI > 99999999)
+    ou
+    (ISFFIP > 99999999)
+    ou
+    (ISFPMEDI > 99999999)
+    ou
+    (ISFPMEIN > 99999999)
+    ou
+    (ISFBASE > 99999999)
+    ou
+    (ISFVBPAT > 99999999)
+     )
+   )
+alors erreur A00107 ;
+verif non_auto_cc 1101:
+application : iliad , batch ;
+si
+(
+  RCMAVFT > PLAF_AF 
+  et
+  positif(RCMABD + REVACT + REVACTNB + RCMHAD + DISQUO + DISQUONB + RCMHAB 
+                          + INTERE + INTERENB + RCMTNC + REVPEA + COD2FA + 0) = 0
+)
+alors erreur A21801 ;
+verif non_auto_cc 1102:
+application : iliad , batch ;
+si
+(
+  DIREPARGNE > PLAF_AF
+  et
+  (PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + DISQUONB + INTERE + INTERENB + COD2FA + BPVRCM + 0 = 0)
+)
+alors erreur A21802;
+verif 224:
+application :  iliad , batch;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   COD2CK + 0 > 80
+   et
+   positif(RCMABD + REVACT + RCMHAD + DISQUO + RCMHAB + INTERE + RCMTNC + REVPEA + COD2FA + 0) = 0
+
+alors erreur A224 ;
+verif 225:
+application :  iliad , batch;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   COD2FA + 0 > 2000
+
+alors erreur A225 ;
+verif 226:
+application :  iliad , batch;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   positif(COD2FA + 0) + positif(RCMHAB + 0) > 1
+
+alors erreur A226 ;
+verif 1103:
+application :  iliad , batch;
+si (APPLI_OCEANS=0) et 
+( (1 - V_CNR > 0) et V_REGCO+0 != 2 et V_REGCO+0 != 4 et 
+(
+   (
+    RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE + RCMTNC + REVPEA + COD2FA + 0 > 0
+    et 
+    RCMAVFT > ((1/3) * (RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE + RCMTNC + REVPEA + COD2FA)) +  PLAF_AF
+   )
+ ou
+   (
+     DIREPARGNE > ((PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE + COD2FA + BPVRCM) * (538/1000)) + PLAF_AF
+     et
+     PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE + COD2FA + BPVRCM + 0 > 0
+   )
+)
+)
+alors erreur DD04;
+verif 1104:
+application : iliad , batch ;
+si (APPLI_OCEANS=0) et 
+(
+  (1 - V_CNR + 0 > 0) et  
+  (
+  RCMFR > LIM_CONTROLE  et 
+   (
+    (RCMFR > 0.30 * ( RCMABD + RCMHAD + REVACT + DISQUO + RCMHAB + INTERE + 0 ))
+    ou
+    ((RCMABD + RCMHAD + REVACT + DISQUO + RCMHAB + INTERE + 0 = 0) 
+     et
+     (RCMTNC + RCMAV + REGPRIV + REVPEA + PROVIE + RESTUC + 0 > 0))
+   )
+  )
+)
+alors erreur DD03;
+verif  1106:
+application : batch, iliad ;
+si
+   (
+   RCMSOC > RCMAV + PROVIE 
+          + RCMHAD + DISQUO 
+          + RCMHAB + INTERE  
+          + RCMABD + REVACT 
+	  + 1
+
+   )
+alors erreur A222;
+verif 1108:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+(
+        (V_IND_TRAIT + 0 = 4 et V_NOTRAIT + 0 <14) 
+         et
+       (
+	(RCMAVFT > PLAF_AF
+         et 
+	 RCMABD + REVACT + RCMHAD + DISQUO + RCMHAB + INTERE + RCMTNC + REVPEA + COD2FA > 0
+         et
+	 RCMAVFT > arr(40 * (RCMABD + REVACT + RCMHAD + DISQUO + RCMHAB + INTERE + RCMTNC + REVPEA + COD2FA) / 100)
+        )
+	ou
+	(DIREPARGNE > PLAF_AF
+	 et
+	 PPLIB + RCMLIB + RCMHAD + DISQUO + RCMHAB + INTERE + COD2FA + BPVRCM > 0
+	 et
+	 DIREPARGNE > arr(60 * (PPLIB + RCMLIB + RCMHAD + DISQUO + RCMHAB + INTERE + COD2FA + BPVRCM) / 100)
+	)
+       )
+)
+alors erreur IM1501;
+verif 1109:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+(
+       (V_NOTRAIT+0 >=14) et
+       (
+	(RCMAVFT > PLAF_AF et RCMAVFT <= PLAF_AF2
+         et 
+	 RCMABD + REVACT + RCMHAD + DISQUO + RCMHAB + INTERE + RCMTNC + REVPEA + COD2FA > 0
+         et
+	 RCMAVFT > arr(40 * (RCMABD + REVACT + RCMHAD + DISQUO + RCMHAB + INTERE + RCMTNC + REVPEA + COD2FA) / 100)
+        )
+	ou
+	(DIREPARGNE > PLAF_AF et DIREPARGNE <= PLAF_AF2
+	 et
+	 PPLIB + RCMLIB + RCMHAD + DISQUO + RCMHAB + INTERE + COD2FA + BPVRCM > 0
+	 et
+         DIREPARGNE > arr(60 * (PPLIB + RCMLIB + RCMHAD + DISQUO + RCMHAB + INTERE + COD2FA + BPVRCM) / 100)
+	)
+       )
+)
+alors erreur IM1502;
+verif 11220:
+application : batch ;
+si 
+   APPLI_COLBERT = 0 
+   et 
+   (
+    V_NOTRAIT + 0 = 10
+    et
+    (
+     (RCMAVFT > PLAF_AF2
+      et 
+      RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE + RCMTNC + REVPEA + COD2FA > 0
+      et
+      RCMAVFT > arr((RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE + RCMTNC + REVPEA + COD2FA) * 40/100))
+     ou
+     (DIREPARGNE > PLAF_AF2
+      et
+      PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE + COD2FA + BPVRCM > 0
+      et
+      DIREPARGNE > arr((PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE + COD2FA + BPVRCM) * 60/100 ))
+    )
+   )
+ 
+alors erreur A220 ;
+verif 11221:
+application : iliad ;
+si 
+   APPLI_OCEANS = 0 
+   et 
+   ( ((V_IND_TRAIT+0=5 et V_NOTRAIT+0>14) ou V_NOTRAIT+0=14)
+    et
+    (
+     (RCMAVFT > PLAF_AF2
+      et 
+      RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE + RCMTNC + REVPEA + COD2FA > 0
+      et
+      RCMAVFT > arr((RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE + RCMTNC + REVPEA + COD2FA) * 40/ 100))
+     ou
+     (DIREPARGNE > PLAF_AF2
+      et
+      PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE + COD2FA + BPVRCM > 0
+      et
+      DIREPARGNE > arr((PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE + COD2FA + BPVRCM) * 60/100 ))
+    )
+   )
+
+alors erreur A220 ;
+verif 30:
+application : batch , iliad ;
+
+si
+   V_0CF + V_0CG + V_0CH + V_0CI + V_0CR + V_0DJ + V_0DN + V_0DP + 0 = 0 
+   et 
+   SOMMEA030 > 0
+      
+alors erreur A030 ;
+verif 718:
+application : batch , iliad ;
+
+si
+   CIAQCUL > 0 
+   et 
+   SOMMEA718 = 0 
+    
+alors erreur A718 ;
+verif 719:
+application : batch , iliad ;
+
+si
+   RDMECENAT > 0 
+   et 
+   SOMMEA719 = 0
+    
+alors erreur A719 ;
+verif 1202:
+application : batch , iliad ;
+
+si
+   V_0AC + V_0AD + 0 > 0
+   et 
+   SOMMEA031 > 0
+    
+alors erreur A031 ;
+verif 805:
+application : iliad , batch;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(TREVEX) = 1
+   et 
+   SOMMEA805 = 0
+  
+alors erreur A805 ;
+verif 807:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(PRELIBXT + 0) = 1
+   et
+   positif(PCAPTAXV + PCAPTAXC + 0) = 0
+
+alors erreur A807 ;
+verif 864:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   COD8YL + 0 > CGLOA + 0
+
+alors erreur A864 ;
+verif 865:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   COD8YT + 0 > CVNSALC + 0
+
+alors erreur A865 ;
+verif 8661:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   CSPROVYD + 0 > max(0,RSE1 + PRSE1 - CIRSE1) + 0
+
+alors erreur A86601 ;
+verif 8662:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   CSPROVYE + 0 >  max(0,RSE5 + PRSE5 - CIRSE5) + 0
+
+alors erreur A86602 ;
+verif 8663:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   CSPROVYF + 0 >  max(0,RSE2 + PRSE2 - CIRSE2) + 0
+
+alors erreur A86603 ;
+verif 8664:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   CSPROVYG + 0 >  max(0,RSE3 + PRSE3 - CIRSE3) + 0
+
+alors erreur A86604 ;
+verif 8665:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0 
+   et
+   CSPROVYH + 0 >  max(0,RSE4 + PRSE4 - CIRSE4) + 0
+
+alors erreur A86605 ;
+verif 821:
+application : iliad , batch ;
+
+si
+   (V_IND_TRAIT > 0 )
+   et
+   present(BASRET) + present(IMPRET) = 1
+
+alors erreur A821 ;
+verif 12220:
+application : iliad , batch ;
+
+si 
+  ((V_IND_TRAIT = 4 )
+   et
+   (
+    REVACTNB < 2 ou REVACTNB > 20
+    ou
+    REVPEANB < 2 ou REVPEANB > 20
+    ou
+    PROVIENB < 2 ou PROVIENB > 20
+    ou
+    DISQUONB < 2 ou DISQUONB > 20
+    ou
+    RESTUCNB < 2 ou RESTUCNB > 20
+    ou
+    INTERENB < 2 ou INTERENB > 20
+   )
+  )
+  ou
+  ((V_IND_TRAIT = 5 )
+   et
+   (
+    REVACTNB = 1 ou REVACTNB > 20
+    ou
+    REVPEANB = 1 ou REVPEANB > 20
+    ou
+    PROVIENB = 1 ou PROVIENB > 20
+    ou
+    DISQUONB = 1 ou DISQUONB > 20
+    ou
+    RESTUCNB = 1 ou RESTUCNB > 20
+    ou
+    INTERENB = 1 ou INTERENB > 20
+   )
+  )
+alors erreur A22301 ;
+verif 12221:
+application : iliad , batch ;
+
+si 
+   (V_IND_TRAIT = 4 
+    et
+    (
+     positif(REVACT) + present(REVACTNB) = 1
+     ou
+     positif(REVPEA) + present(REVPEANB) = 1
+     ou
+     positif(PROVIE) + present(PROVIENB) = 1
+     ou
+     positif(DISQUO) + present(DISQUONB) = 1
+     ou 
+     positif(RESTUC) + present(RESTUCNB) = 1
+     ou
+     positif(INTERE) + present(INTERENB) = 1
+    )
+   )
+   ou
+   (V_IND_TRAIT = 5 
+    et
+    (
+     positif(REVACT) + positif(REVACTNB) = 1
+     ou
+     positif(REVPEA) + positif(REVPEANB) = 1
+     ou
+     positif(PROVIE) + positif(PROVIENB) = 1
+     ou
+     positif(DISQUO) + positif(DISQUONB) = 1
+     ou 
+     positif(RESTUC) + positif(RESTUCNB) = 1
+     ou
+     positif(INTERE) + positif(INTERENB) = 1
+    )
+   )
+alors erreur A22302 ;
+verif 12222:
+application : iliad , batch ;
+
+si 
+   ((V_IND_TRAIT = 4 )
+     et
+    (FONCINB < 2 ou FONCINB > 30))
+   ou
+   ((V_IND_TRAIT = 5 )
+     et
+    (FONCINB = 1 ou FONCINB > 30))
+
+alors erreur A42501 ;
+verif 12223:
+application : iliad , batch ;
+
+si 
+   (V_IND_TRAIT = 4 
+    et
+    positif(FONCI) + present(FONCINB) = 1)
+  ou
+   (V_IND_TRAIT = 5 
+    et
+    positif(FONCI) + positif(FONCINB) = 1)
+
+alors erreur A42502 ;
+verif 12224:
+application : iliad , batch ;
+
+si 
+  ((V_IND_TRAIT = 4 )
+    et
+   (REAMORNB < 2 ou REAMORNB > 14))
+  ou
+  ((V_IND_TRAIT = 5 )
+    et
+   (REAMORNB = 1 ou REAMORNB > 14))
+
+alors erreur A42601 ;
+verif 12225:
+application : iliad , batch ;
+
+si 
+   (V_IND_TRAIT = 4 
+    et
+    positif(REAMOR) + present(REAMORNB) = 1)
+  ou
+   (V_IND_TRAIT = 5 
+    et
+    positif(REAMOR) + positif(REAMORNB) = 1)
+
+alors erreur A42602 ;
+verif 1222:
+application : iliad , batch ;
+si
+   ((V_IND_TRAIT = 4 )
+     et
+    (
+     CARTSNBAV < 2 ou CARTSNBAV > 45
+     ou
+     CARTSNBAC < 2 ou CARTSNBAC > 45
+     ou 
+     CARTSNBAP1 < 2 ou CARTSNBAP1 > 45
+     ou
+     CARTSNBAP2 < 2 ou CARTSNBAP2 > 45
+     ou
+     CARTSNBAP3 < 2 ou CARTSNBAP3 > 45
+     ou
+     CARTSNBAP4 < 2 ou CARTSNBAP4 > 45
+     ou
+     REMPLANBV < 2 ou REMPLANBV > 45
+     ou
+     REMPLANBC < 2 ou REMPLANBC > 45
+     ou
+     REMPLANBP1 < 2 ou REMPLANBP1 > 45
+     ou
+     REMPLANBP2 < 2 ou REMPLANBP2 > 45
+     ou
+     REMPLANBP3 < 2 ou REMPLANBP3 > 45
+     ou
+     REMPLANBP4 < 2 ou REMPLANBP4 > 45
+    )
+   )
+   ou
+   ((V_IND_TRAIT = 5 )
+     et
+    (
+     CARTSNBAV = 1 ou CARTSNBAV > 45
+     ou
+     CARTSNBAC = 1 ou CARTSNBAC > 45
+     ou 
+     CARTSNBAP1 = 1 ou CARTSNBAP1 > 45
+     ou
+     CARTSNBAP2 = 1 ou CARTSNBAP2 > 45
+     ou
+     CARTSNBAP3 = 1 ou CARTSNBAP3 > 45
+     ou
+     CARTSNBAP4 = 1 ou CARTSNBAP4 > 45
+     ou
+     REMPLANBV = 1 ou REMPLANBV > 45
+     ou
+     REMPLANBC = 1 ou REMPLANBC > 45
+     ou
+     REMPLANBP1 = 1 ou REMPLANBP1 > 45
+     ou
+     REMPLANBP2 = 1 ou REMPLANBP2 > 45
+     ou
+     REMPLANBP3 = 1 ou REMPLANBP3 > 45
+     ou
+     REMPLANBP4 = 1 ou REMPLANBP4 > 45
+    )
+   )
+alors erreur A14001 ;
+verif 1223:
+application : iliad , batch ;
+si
+   ((V_IND_TRAIT = 4 )
+     et
+    (
+     CARPENBAV < 2 ou CARPENBAV > 45
+     ou
+     CARPENBAC < 2 ou CARPENBAC > 45
+     ou
+     CARPENBAP1 < 2 ou CARPENBAP1 > 45
+     ou
+     CARPENBAP2 < 2 ou CARPENBAP2 > 45
+     ou
+     CARPENBAP3 < 2 ou CARPENBAP3 > 45
+     ou
+     CARPENBAP4 < 2 ou CARPENBAP4 > 45
+     ou
+     PENSALNBV < 2 ou PENSALNBV > 45
+     ou
+     PENSALNBC < 2 ou PENSALNBC > 45
+     ou
+     PENSALNBP1 < 2 ou PENSALNBP1 > 45
+     ou
+     PENSALNBP2 < 2 ou PENSALNBP2 > 45
+     ou
+     PENSALNBP3 < 2 ou PENSALNBP3 > 45
+     ou
+     PENSALNBP4 < 2 ou PENSALNBP4 > 45
+     ou
+     RENTAXNB < 2 ou RENTAXNB > 45
+     ou
+     RENTAXNB5 < 2 ou RENTAXNB5 > 45
+     ou
+     RENTAXNB6 < 2 ou RENTAXNB6 > 45
+     ou
+     RENTAXNB7 < 2 ou RENTAXNB7 > 45
+    )
+   )
+   ou
+   ((V_IND_TRAIT = 5 )
+     et
+    (
+     CARPENBAV = 1 ou CARPENBAV > 45
+     ou
+     CARPENBAC = 1 ou CARPENBAC > 45
+     ou
+     CARPENBAP1 = 1 ou CARPENBAP1 > 45
+     ou
+     CARPENBAP2 = 1 ou CARPENBAP2 > 45
+     ou
+     CARPENBAP3 = 1 ou CARPENBAP3 > 45
+     ou
+     CARPENBAP4 = 1 ou CARPENBAP4 > 45
+     ou
+     PENSALNBV = 1 ou PENSALNBV > 45
+     ou
+     PENSALNBC = 1 ou PENSALNBC > 45
+     ou
+     PENSALNBP1 = 1 ou PENSALNBP1 > 45
+     ou
+     PENSALNBP2 = 1 ou PENSALNBP2 > 45
+     ou
+     PENSALNBP3 = 1 ou PENSALNBP3 > 45
+     ou
+     PENSALNBP4 = 1 ou PENSALNBP4 > 45
+     ou
+     RENTAXNB = 1 ou RENTAXNB > 45
+     ou
+     RENTAXNB5 = 1 ou RENTAXNB5 > 45
+     ou
+     RENTAXNB6 = 1 ou RENTAXNB6 > 45
+     ou
+     RENTAXNB7 = 1 ou RENTAXNB7 > 45
+    )
+   )
+alors erreur A13901;
+verif 1224:
+application : iliad , batch ;
+si
+  (V_IND_TRAIT = 4
+    et
+    (
+     (positif(CARTSV) + present(CARTSNBAV) = 1)
+     ou
+     (positif(CARTSC) + present(CARTSNBAC) = 1)
+     ou
+     (positif(CARTSP1) + present(CARTSNBAP1) = 1)
+     ou
+     (positif(CARTSP2) + present(CARTSNBAP2) = 1)
+     ou
+     (positif(CARTSP3) + present(CARTSNBAP3) = 1)
+     ou
+     (positif(CARTSP4) + present(CARTSNBAP4) = 1)
+     ou
+     (positif(REMPLAV) + present(REMPLANBV) = 1)
+     ou
+     (positif(REMPLAC) + present(REMPLANBC) = 1)
+     ou
+     (positif(REMPLAP1) + present(REMPLANBP1) = 1)
+     ou
+     (positif(REMPLAP2) + present(REMPLANBP2) = 1)
+     ou
+     (positif(REMPLAP3) + present(REMPLANBP3) = 1)
+     ou
+     (positif(REMPLAP4) + present(REMPLANBP4) = 1)
+    )
+  )
+  ou
+  (V_IND_TRAIT = 5
+    et
+    (
+     (positif(CARTSV) + positif(CARTSNBAV) = 1)
+     ou
+     (positif(CARTSC) + positif(CARTSNBAC) = 1)
+     ou
+     (positif(CARTSP1) + positif(CARTSNBAP1) = 1)
+     ou
+     (positif(CARTSP2) + positif(CARTSNBAP2) = 1)
+     ou
+     (positif(CARTSP3) + positif(CARTSNBAP3) = 1)
+     ou
+     (positif(CARTSP4) + positif(CARTSNBAP4) = 1)
+     ou
+     (positif(REMPLAV) + positif(REMPLANBV) = 1)
+     ou
+     (positif(REMPLAC) + positif(REMPLANBC) = 1)
+     ou
+     (positif(REMPLAP1) + positif(REMPLANBP1) = 1)
+     ou
+     (positif(REMPLAP2) + positif(REMPLANBP2) = 1)
+     ou
+     (positif(REMPLAP3) + positif(REMPLANBP3) = 1)
+     ou
+     (positif(REMPLAP4) + positif(REMPLANBP4) = 1)
+    )
+  )
+alors erreur A14002;
+verif 1225:
+application : iliad , batch ;
+si
+  (V_IND_TRAIT = 4
+    et
+    (
+     (positif(CARPEV) + present(CARPENBAV) = 1)
+     ou
+     (positif(CARPEC) + present(CARPENBAC) = 1)
+     ou
+     (positif(CARPEP1) + present(CARPENBAP1) = 1)
+     ou
+     (positif(CARPEP2) + present(CARPENBAP2) = 1)
+     ou
+     (positif(CARPEP3) + present(CARPENBAP3) = 1)
+     ou
+     (positif(CARPEP4) + present(CARPENBAP4) = 1)
+     ou
+     (positif(PENSALV) + present(PENSALNBV) = 1)
+     ou
+     (positif(PENSALC) + present(PENSALNBC) = 1)
+     ou
+     (positif(PENSALP1) + present(PENSALNBP1) = 1)
+     ou
+     (positif(PENSALP2) + present(PENSALNBP2) = 1)
+     ou
+     (positif(PENSALP3) + present(PENSALNBP3) = 1)
+     ou
+     (positif(PENSALP4) + present(PENSALNBP4) = 1)
+     ou
+     (positif(RENTAX) + present(RENTAXNB) = 1)
+     ou
+     (positif(RENTAX5) + present(RENTAXNB5) = 1)
+     ou
+     (positif(RENTAX6) + present(RENTAXNB6) = 1)
+     ou
+     (positif(RENTAX7) + present(RENTAXNB7) = 1)
+    )
+  )
+  ou
+  (V_IND_TRAIT = 5
+    et
+    (
+     (positif(CARPEV) + positif(CARPENBAV) = 1)
+     ou
+     (positif(CARPEC) + positif(CARPENBAC) = 1)
+     ou
+     (positif(CARPEP1) + positif(CARPENBAP1) = 1)
+     ou
+     (positif(CARPEP2) + positif(CARPENBAP2) = 1)
+     ou
+     (positif(CARPEP3) + positif(CARPENBAP3) = 1)
+     ou
+     (positif(CARPEP4) + positif(CARPENBAP4) = 1)
+     ou
+     (positif(PENSALV) + positif(PENSALNBV) = 1)
+     ou
+     (positif(PENSALC) + positif(PENSALNBC) = 1)
+     ou
+     (positif(PENSALP1) + positif(PENSALNBP1) = 1)
+     ou
+     (positif(PENSALP2) + positif(PENSALNBP2) = 1)
+     ou
+     (positif(PENSALP3) + positif(PENSALNBP3) = 1)
+     ou
+     (positif(PENSALP4) + positif(PENSALNBP4) = 1)
+     ou
+     (positif(RENTAX) + positif(RENTAXNB) = 1)
+     ou
+     (positif(RENTAX5) + positif(RENTAXNB5) = 1)
+     ou
+     (positif(RENTAX6) + positif(RENTAXNB6) = 1)
+     ou
+     (positif(RENTAX7) + positif(RENTAXNB7) = 1)
+    )
+  )
+alors erreur A13902;
+verif 1220:
+application : iliad , batch ;
+si
+        (V_IND_TRAIT > 0 )
+       et
+    (
+     COTFV + 0 > 25
+     ou
+     COTFC + 0 > 25
+     ou
+     COTF1 + 0 > 25
+     ou
+     COTF2 + 0 > 25
+     ou
+     COTF3 + 0 > 25
+     ou
+     COTF4 + 0 > 25
+     )
+alors erreur A14101;
+verif 1221:
+application : iliad , batch ;
+si
+  (V_IND_TRAIT = 4
+    et
+    (
+     (positif(PEBFV) + present(COTFV) = 1)
+     ou
+     (positif(PEBFC) + present(COTFC) = 1)
+     ou
+     (positif(PEBF1) + present(COTF1) = 1)
+     ou
+     (positif(PEBF2) + present(COTF2) = 1)
+     ou
+     (positif(PEBF3) + present(COTF3) = 1)
+     ou
+     (positif(PEBF4) + present(COTF4) = 1)
+     ou
+     (positif(COTFV) + present(PEBFV) = 1)
+     ou
+     (positif(COTFC) + present(PEBFC) = 1)
+     ou
+     (positif(COTF1) + present(PEBF1) = 1)
+     ou
+     (positif(COTF2) + present(PEBF2) = 1)
+     ou
+     (positif(COTF3) + present(PEBF3) = 1)
+     ou
+     (positif(COTF4) + present(PEBF4) = 1)
+    )
+   )
+  ou
+  (V_IND_TRAIT = 5
+    et
+    (
+     (positif(PEBFV) + positif(COTFV) = 1)
+     ou
+     (positif(PEBFC) + positif(COTFC) = 1)
+     ou
+     (positif(PEBF1) + positif(COTF1) = 1)
+     ou
+     (positif(PEBF2) + positif(COTF2) = 1)
+     ou
+     (positif(PEBF3) + positif(COTF3) = 1)
+     ou
+     (positif(PEBF4) + positif(COTF4) = 1)
+     ou
+     (positif(COTFV) + positif(PEBFV) = 1)
+     ou
+     (positif(COTFC) + positif(PEBFC) = 1)
+     ou
+     (positif(COTF1) + positif(PEBF1) = 1)
+     ou
+     (positif(COTF2) + positif(PEBF2) = 1)
+     ou
+     (positif(COTF3) + positif(PEBF3) = 1)
+     ou
+     (positif(COTF4) + positif(PEBF4) = 1)
+    )
+   )
+
+alors erreur A14102;
+verif 1301:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+        (V_IND_TRAIT > 0 )
+       et
+     (
+      BAFV > PLAF_FORFBA  ou  BAFC > PLAF_FORFBA  ou  BAFP > PLAF_FORFBA
+     )
+alors erreur IM02;
+verif 1312:
+application : batch ,iliad;
+si (APPLI_COLBERT + APPLI_OCEANS=0) et 
+    ( (positif_ou_nul(NAPT) = 0) et (APPLI_COLBERT = 0)
+     et ( (V_BTNATIMP+0) dans (1,11,71,81) )
+     et ( 
+	 (positif(V_FORVA+0)=1) 
+	ou
+	 (positif(V_FORCA+0)=1) 
+	ou
+	 (positif(V_FORPA+0)=1)
+        )
+   ) 
+alors erreur A534;
+verif 1330:
+application : batch , iliad ;
+si (APPLI_OCEANS=0) et 
+  pour un i dans V,C,P: 
+  (
+   (MIBVENi + MIBNPVENi + MIBGITEi + LOCGITi > LIM_MIBVEN)
+   ou  
+   (MIBPRESi + MIBNPPRESi + MIBMEUi > LIM_MIBPRES)
+   ou 
+   (MIBVENi + MIBNPVENi + MIBGITEi + LOCGITi + MIBPRESi + MIBNPPRESi + MIBMEUi <= LIM_MIBVEN 
+    et 
+    MIBPRESi + MIBNPPRESi + MIBMEUi > LIM_MIBPRES)
+   ou 
+   (MIBVENi + MIBNPVENi + MIBGITEi + LOCGITi + MIBPRESi + MIBNPPRESi + MIBMEUi > LIM_MIBVEN)
+   ou 
+   (BNCPROi + BNCNPi > LIM_SPEBNC)
+  )
+
+alors erreur DD08 ;
+verif 1340:                                                                  
+application : batch , iliad ;
+si (APPLI_OCEANS=0) et 
+   (V_NOTRAIT+0 < 20) et
+      (  V_IND_TRAIT+0 = 4 et 
+(
+(  present(V_0AX) =1
+ et 
+   (inf( ( V_0AX - V_ANREV ) / 1000000) > 31 
+     ou
+    inf( ( V_0AX - V_ANREV ) / 1000000) = 0 
+   )
+ )
+ou 
+(  present(V_0AY) =1
+ et 
+   (inf( ( V_0AY - V_ANREV ) / 1000000) > 31 
+     ou
+    inf( ( V_0AY - V_ANREV ) / 1000000) = 0 
+   )
+ )
+ou 
+(  present(V_0AZ) =1
+ et 
+   (inf( ( V_0AZ - V_ANREV ) / 1000000) > 31 
+     ou
+    inf( ( V_0AZ - V_ANREV ) / 1000000) = 0 
+   )
+ )
+)
+)
+alors erreur A02301;
+verif 1341:                                                                    
+application : batch , iliad ;
+si (APPLI_OCEANS=0) et 
+        (V_IND_TRAIT > 0 )
+       et (  V_IND_TRAIT+0 = 4 et
+(
+(  present(V_0AX) =1
+ et
+  (
+     (    inf ( V_0AX / 10000) * 10000
+        - inf ( V_0AX / 1000000)* 1000000
+     )/10000 > 12 
+   ou
+     (    inf ( V_0AX / 10000) * 10000
+        - inf ( V_0AX / 1000000)* 1000000
+     )/10000 =0
+   )
+)
+ou
+(  present(V_0AY) =1
+ et
+  (
+     (    inf ( V_0AY / 10000) * 10000
+        - inf ( V_0AY / 1000000)* 1000000
+     )/10000 > 12 
+   ou
+     (    inf ( V_0AY / 10000) * 10000
+        - inf ( V_0AY / 1000000)* 1000000
+     )/10000 =0
+   )
+)
+ou
+(  present(V_0AZ) =1
+ et
+  (
+     (    inf ( V_0AZ / 10000) * 10000
+        - inf ( V_0AZ / 1000000)* 1000000
+     )/10000 > 12 
+   ou
+     (    inf ( V_0AZ / 10000) * 10000
+        - inf ( V_0AZ / 1000000)* 1000000
+     )/10000 =0
+   )
+)
+)
+)
+alors erreur A02302;
+verif 1342:                                                                    
+application : batch , iliad ;
+si (APPLI_OCEANS=0) et 
+        (V_IND_TRAIT > 0 )
+       et (  V_IND_TRAIT+0 = 4 et
+(
+(  present(V_0AX) =1
+  et
+   (V_0AX -  inf(V_0AX/ 10000) * 10000) != V_ANREV
+  et
+   (V_0AX -  inf(V_0AX/ 10000) * 10000) != V_ANREV - 1
+) 
+ou
+(  present(V_0AY) =1
+  et
+   (V_0AY -  inf(V_0AY/ 10000) * 10000) != V_ANREV
+) 
+ou
+(  present(V_0AZ) =1
+  et
+   (V_0AZ -  inf(V_0AZ/ 10000) * 10000) != V_ANREV
+   )
+) 
+)
+alors erreur A02303;
+verif 1352:                                                                    
+application : batch ;
+si 
+   V_IND_TRAIT > 0
+   et
+(
+(  present(V_0AX) =1
+  et
+  ( V_0AX + 0 < (1010000 + (V_ANREV - 1)))
+)
+ou
+(  present(V_0AY) =1
+  et
+  ( V_0AY + 0 < (1010000 + V_ANREV))
+)
+ou
+(  present(V_0AZ) =1
+  et
+  ( V_0AZ + 0 < (1010000 + V_ANREV))
+)
+)
+alors erreur A02402;
+verif 1353:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+        (V_IND_TRAIT > 0 )
+       et
+    (
+      ( V_IND_TRAIT+0 = 4 et (
+       (  present(V_0AX) =1
+           et
+        ( V_0AX + 0 < (1010000 + (V_ANREV - 1)))
+       )
+           ou
+       (  present(V_0AY) =1
+           et
+        ( V_0AY + 0 < (1010000 + V_ANREV))
+       )
+           ou
+       (  present(V_0AZ) =1
+           et
+        ( V_0AZ + 0 < (1010000 + V_ANREV))
+       ))
+      )
+       ou
+       ( V_IND_TRAIT = 5 et (
+        (  positif(V_0AX) =1
+            et
+         ( V_0AX + 0 < (1010000 + (V_ANREV - 1)))
+        )
+            ou
+        (  positif(V_0AY) =1
+            et
+         ( V_0AY + 0 < (1010000 + V_ANREV))
+        )
+            ou
+        (  positif(V_0AZ) =1
+            et
+         ( V_0AZ + 0 < (1010000 + V_ANREV))
+        )
+       ))
+     )
+alors erreur A02402;
+verif 14000:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(REVCSXA + 0) = 1
+   et
+   positif(SALECS + 0) = 0
+
+alors erreur A87801 ;
+verif 14010:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(REVCSXB + 0) = 1
+   et
+   positif(SALECSG + 0) = 0
+
+alors erreur A87802 ;
+verif 14020:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(REVCSXC + 0) = 1
+   et
+   positif(ALLECS + 0) = 0
+
+alors erreur A87803 ;
+verif 14030:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(REVCSXD + 0) = 1
+   et
+   positif(INDECS + 0) = 0
+
+alors erreur A87804 ;
+verif 14040:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(REVCSXE + 0) = 1
+   et
+   positif(PENECS + 0) = 0
+
+alors erreur A87805 ;
diff --git a/sources2013m_3_8/coi2.m b/sources2013m_3_8/coi2.m
new file mode 100644
index 0000000000000000000000000000000000000000..a101c20ce2a5690704fe54adae7b305b931a8164
--- /dev/null
+++ b/sources2013m_3_8/coi2.m
@@ -0,0 +1,336 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 20091:
+application :   iliad  ;
+si  (APPLI_OCEANS=0) et 
+  (
+   V_IND_TRAIT > 0 
+       et
+  positif(ANNUL2042) = 1
+  )
+alors erreur IM40;
+verif 2009:
+application :   iliad  ;
+si  (APPLI_OCEANS=0) et 
+  (
+  present (V_BTCO2044P) = 1
+ et
+  present (CO2044P)   = 0
+  )
+alors erreur IM09;
+verif 2010:
+application :  batch , iliad  ;
+si (APPLI_COLBERT+APPLI_OCEANS=0) et (
+    (
+     (V_BTCSGDED * (1-present(DCSG)) + DCSG) * (1-null(4 -V_REGCO)) > V_BTCSGDED +  LIM_CONTROLE 
+    )
+    et
+    ( 
+      1 - V_CNR > 0
+    )    
+    et
+    ( 
+      RDCSG > 0
+    )    
+     et
+      ((APPLI_ILIAD = 1 et V_NOTRAIT+0 < 16)
+      ou 
+      ((V_BTNI1+0) non dans (50,92) et APPLI_BATCH = 1)))
+
+alors erreur DD22;
+verif 2020:
+application : batch , iliad ;
+si 
+   APPLI_COLBERT + APPLI_ILIAD = 1 
+   et 
+   V_IND_TRAIT > 0 
+   et
+   CHNFAC > 9
+  
+alors erreur A00101 ;
+verif 20201:
+application : batch , iliad ;
+
+si 
+   APPLI_COLBERT + APPLI_ILIAD = 1 
+   et 
+   V_IND_TRAIT > 0
+   et
+   NBACT > 9
+
+alors erreur A00102 ;
+verif 20202:
+application : batch , iliad ;
+
+si 
+   APPLI_COLBERT + APPLI_ILIAD = 1 
+   et 
+   V_IND_TRAIT > 0
+   et
+   (
+    RDENS > 9
+    ou
+    RDENL > 9
+    ou
+    RDENU > 9
+    ou
+    RDENSQAR > 9
+    ou
+    RDENLQAR > 9
+    ou
+    RDENUQAR > 9
+   )
+
+alors erreur A00103 ;
+verif 20203:
+application : batch , iliad ;
+
+si 
+   APPLI_COLBERT + APPLI_ILIAD = 1 
+   et 
+   V_IND_TRAIT > 0
+   et
+   ASCAPA > 9
+
+alors erreur A00104 ;
+verif 2022:
+application : batch , iliad ;
+
+si (APPLI_BATCH+APPLI_ILIAD+APPLI_OCEANS=1) et 
+   1 - V_CNR > 0
+   et
+   CHRFAC > 0 
+   et 
+   V_0CR > 0 
+   et
+   RFACC != 0
+
+alors erreur DD16 ;
+verif 2100:
+application : iliad  ,batch;
+si
+   (
+     IPELUS > 0
+     et 
+     positif(present(TSHALLOV) + present(TSHALLOC) + present(CARTSV) + present(CARTSC) + present(CARTSNBAV) + present(CARTSNBAC)) = 0
+     et
+     positif(present(ALLOV) + present(ALLOC) + present(REMPLAV) + present(REMPLAC) + present(REMPLANBV) + present(REMPLANBC)) = 0
+   )
+alors erreur A888;
+verif 2110:
+application : iliad  ,batch;
+si (APPLI_OCEANS=0) et
+(
+REGCI+0 > IPBOCH+0
+)
+alors erreur A887;
+verif 2111:
+application : iliad  ,batch;
+si (APPLI_OCEANS=0) et
+(
+REVFONC+0 > IND_TDR+0 et present(IND_TDR)=0
+)
+alors erreur A889;
+verif 2101:
+application : iliad , batch;
+si
+   IPSOUR >= 0 
+   et 
+   V_CNR + 0 = 0 
+   et 
+   SOMMEA874 = 0 
+
+alors erreur A874 ;
+verif 2200:
+application : iliad , batch ;
+
+si
+  (IPRECH + 0 > 0 ou IPCHER + 0 > 0) 
+  et 
+  SOMMEA877 = 0
+
+alors erreur A877 ;
+verif 2205:
+application : batch , iliad  ;
+si (APPLI_COLBERT+APPLI_OCEANS+APPLI_ILIAD=1) et 
+	(
+	V_IND_TRAIT > 0
+	et
+        CREFAM+0 > 500000
+	)
+alors erreur IM03;
+verif 2220:
+application : iliad , batch ;
+
+si 
+   AUTOVERSLIB > 0 
+   et 
+   SOMMEA862 = 0
+
+alors erreur A862 ;
+verif 2221:
+application : iliad , batch ;
+
+si
+   CIINVCORSE + CICORSENOW + 0 > 0 
+   et 
+   SOMMEA879 = 0
+
+alors erreur A879 ;
+verif 2223:
+application : iliad , batch ;
+
+si
+   CREFAM > 0 
+   et 
+   SOMMEA881 = 0
+
+alors erreur A881 ;
+verif 2229:
+application : iliad  , batch ;
+
+si
+   CREAPP > 0 
+   et 
+   SOMMEA890 = 0
+
+alors erreur A890 ;
+verif 891:
+application : iliad , batch ;
+
+si
+   CREPROSP > 0 
+   et 
+   SOMMEA891 = 0
+
+alors erreur A891 ;
+verif 893:
+application : iliad , batch ;
+
+si
+   CREFORMCHENT > 0 
+   et 
+   SOMMEA893 = 0
+
+alors erreur A893 ;
+verif 894:
+application : iliad , batch ;
+
+si
+   CREINTERESSE > 0 
+   et 
+   SOMMEA894 = 0
+
+alors erreur A894 ;
+verif 895:
+application : iliad  , batch ;
+
+si
+   CREAGRIBIO > 0 
+   et 
+   SOMMEA895 = 0
+
+alors erreur A895 ;
+verif 896:
+application : iliad , batch ;
+si
+   CREARTS > 0 
+   et 
+   SOMMEA896 = 0
+
+alors erreur A896 ;
+verif 898:
+application : iliad , batch ;
+si
+   CRECONGAGRI > 0 
+   et 
+   SOMMEA898 = 0
+
+alors erreur A898 ;
+verif 899:
+application : iliad , batch ;
+
+si 
+   CRERESTAU > 0 
+   et 
+   SOMMEA899 = 0
+
+alors erreur A899 ;
+verif 856:
+application : batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+       V_NOTRAIT + 0 = 10
+   et
+   COD8UV > 500 
+   et
+   COD8UV + 0 > arr((TSHALLOV + TSHALLOC + TSHALLO1 + TSHALLO2 + TSHALLO3 + TSHALLO4
+                     + CARTSV + CARTSC + CARTSP1 + CARTSP2 + CARTSP3 + CARTSP4
+                     + CODEAJ + CODEBJ
+                     + ALLOV + ALLOC + ALLO1 + ALLO2 + ALLO3 + ALLO4
+                     + REMPLAV + REMPLAC + REMPLAP1 + REMPLAP2 + REMPLAP3 + REMPLAP4
+                     + PRBRV + PRBRC + PRBR1 + PRBR2 + PRBR3 + PRBR4
+                     + CARPEV + CARPEC + CARPEP1 + CARPEP2 + CARPEP3 + CARPEP4
+                     + RVB1 + RVB2 + RVB3 + RVB4
+                     + RENTAX + RENTAX5 + RENTAX6 + RENTAX7) * TX30/100) + 0
+
+alors erreur A856 ;
+verif 858:
+application : iliad , batch ;
+
+si
+   COD8TL + COD8UW + 0 > 0
+   et
+   SOMMEA858 = 0
+
+alors erreur A858 ;
+verif 859:
+application : iliad , batch ;
+
+si
+   PRESINTER > 0
+   et
+   SOMMEA859 = 0
+
+alors erreur A859 ;
+verif 2222:
+application : iliad , batch ;
+si
+   CRIGA > 0  
+   et 
+   SOMMEA880 = 0         
+
+alors erreur A880 ;
+verif 2290:
+application : batch , iliad ;
+si  
+   APPLI_OCEANS = 0 
+   et
+   (
+    (PPEACV+0 > 0 et PPENJV+0 > 0) 
+    ou
+    (PPEACC+0 > 0 et PPENJC+0 > 0) 
+    ou
+    (PPEACP+0 > 0 et PPENJP+0 > 0) 
+   )
+alors erreur A542 ;
diff --git a/sources2013m_3_8/coi3.m b/sources2013m_3_8/coi3.m
new file mode 100644
index 0000000000000000000000000000000000000000..d6a125b1a99eedb87a1844220c3e349a2e37d646
--- /dev/null
+++ b/sources2013m_3_8/coi3.m
@@ -0,0 +1,163 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 3511:
+application : iliad , batch ;
+si (APPLI_OCEANS+APPLI_COLBERT = 0) et 
+   (( pour un i dans 0, 1, 2, 3, 4, 5, 6, 7: V_0Fi + 0 > V_ANREV )
+   ou
+   ( pour un j dans G, J, N, H, I, P et un i dans 0, 1, 2, 3: V_0ji + 0 > V_ANREV )) 
+ ou (APPLI_COLBERT+APPLI_OCEANS=1) et 
+   (( pour un i dans 0, 1, 2, 3, 4, 5, 6, 7: V_0Fi + 0 > V_ANREV )
+   ou
+   ( pour un j dans 0, 1, 2, 3: V_0Hj + 0 > V_ANREV ))
+
+alors erreur AS02;
+verif 3600:
+application : iliad , batch  ;
+si
+   V_IND_TRAIT > 0 
+   et
+   V_0DN + V_0DP + 0 = 1 
+   
+alors erreur A011 ;
+verif 3610:
+application : iliad , batch  ;
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_IND_TRAIT > 0 
+   et
+   (V_0CF > 19 ou V_0CG > 19 ou V_0CH > 19 ou V_0CI > 19 ou V_0CR > 19 ou V_0DJ > 19 ou V_0DN > 19 ou V_0DP > 19)
+
+alors erreur A019 ;
+verif 3620:
+application : iliad ;
+si (APPLI_OCEANS=0) et 
+   ( V_IND_TRAIT+0 = 4 
+       et V_BT0CF + 0 = somme(i=0..5:positif(V_BT0Fi+0))
+et V_BT0CH + 0 = somme(i=0..5:positif(V_BT0Hi+0))
+ et V_0CF + 0 = somme(i=0..5:positif(V_0Fi+0))
+  et V_0CH + 0 = somme(i=0..5:positif(V_0Hi+0))
+  et
+     (
+       V_BT0CH + V_BT0CF + 0 > V_0CH + V_0CF
+       ou 
+       (V_BT0CF = 1 et V_0CF =1 et V_0CH + 0 = 0 et pour un i dans 0,1: V_0Fi = V_ANREV )
+       ou
+       (V_BT0CF = 1 et V_0CH =1 et V_0CF + 0 = 0 et pour un i dans 0,1: V_0Hi = V_ANREV )
+       ou
+       (V_BT0CH = 1 et V_0CH =1 et V_0CF + 0 = 0 et pour un i dans 0,1: V_0Hi = V_ANREV )
+       ou
+       (V_BT0CH = 1 et V_0CF =1 et V_0CH + 0 = 0 et pour un i dans 0,1: V_0Fi = V_ANREV )
+     )
+   )
+alors erreur IM19;
+verif 3214:
+application : batch , iliad ;
+si (APPLI_OCEANS+APPLI_COLBERT = 0) et 
+    ( 
+       V_BT0CF >0 
+          et V_0CH >0 
+              et positif(V_0CF+0) != 1
+                   et V_BT0CF + 0 = somme(i=0..5:positif(V_BT0Fi+0)) 
+                     et V_BT0CH + 0 = somme(i=0..5:positif(V_BT0Hi+0)) 
+                       et V_0CF + 0 = somme(i=0..5:positif(V_0Fi+0)) 
+                         et V_0CH + 0 = somme(i=0..5:positif(V_0Hi+0)) 
+                           et ((     V_0CH < V_BT0CF   ) 
+                                ou
+                               (     V_0CH = V_BT0CF 
+                                  et somme(i=0..5:V_0Hi+0) != somme(i=0..5:V_BT0Fi+0)         )
+                                ou
+                               (     V_0CH = V_BT0CF
+                                  et somme(i=0..5:V_0Hi+0) = somme(i=0..5:V_BT0Fi+0)
+                                  et somme(i=0..5: (1/V_0Hi)) != somme(i=0..5: (1/V_BT0Fi))   )
+                               ou
+                               (     V_0CH > V_BT0CF
+        et somme(i=0..5:positif(somme(j=0..5:null(V_0Hj - V_BT0Fi)))*V_BT0Fi) != somme(i=0..5:V_BT0Fi) 
+                               )
+                               ou
+                               (     V_0CH > V_BT0CF
+        et somme(i=0..5:positif(somme(j=0..5:null(V_0Hj - V_BT0Fi)))*V_BT0Fi) = somme(i=0..5:V_BT0Fi) 
+        et somme(i=0..5:positif(somme(j=0..5:null(V_0Hi - V_BT0Fj)))*V_0Hi) < somme(i=0..5:V_BT0Fi)
+                               )
+                              )  
+    ) 
+
+alors erreur I014;
+verif 3215:
+application : iliad ;
+si 
+    APPLI_OCEANS = 0 
+    et 
+    IREST >= LIM_RESTIT
+     
+alors erreur IM14 ;
+verif 3630:
+application : batch , iliad ;
+si 
+   APPLI_OCEANS = 0 
+   et 
+   positif(V_0CF + 0) != 1
+   et
+   (pour un i dans 0..7: positif(V_0Fi + 0) = 1)
+   
+alors erreur A021 ;
+verif 3631:
+application : batch, iliad ;
+si 
+   APPLI_OCEANS = 0 
+   et 
+   positif(V_0CH + 0) != 1
+   et 
+   (pour un i dans 0..5: positif(V_0Hi) = 1)
+   
+alors erreur A021 ;
+verif 22:
+application : batch, iliad ;
+
+si 
+   APPLI_OCEANS + APPLI_COLBERT = 0 
+   et 
+   V_NOTRAIT = 10 
+   et 
+   (positif(V_0J0) = 1 ou positif(V_0J1) = 1) 
+   et
+   (pour un i dans 0..5: V_BT0Fi = V_ANREV - 18)
+   et
+   (pour un i dans 0..5: V_0Ji = V_ANREV - 18)
+   
+alors erreur A022 ;
+verif 3700:
+application : bareme ;
+ 
+si 
+   ((V_9VV / 0.25) - arr(V_9VV / 0.25)) != 0
+  
+alors erreur A06501 ;
+verif 3701:
+application : bareme ;
+ 
+si 
+   V_9VV < 1 
+   ou  
+   V_9VV > 99.75 
+   
+alors erreur A06502 ;
diff --git a/sources2013m_3_8/errB.m b/sources2013m_3_8/errB.m
new file mode 100644
index 0000000000000000000000000000000000000000..a54fa2f18d6450e0e99f1cd5ce1dc39f2f8a5932
--- /dev/null
+++ b/sources2013m_3_8/errB.m
@@ -0,0 +1,30 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 13 Application bareme
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A063:anomalie :"A":"063":"00":"nombre de parts incompatible avec sit.  de famille":"N";
+A064:anomalie :"A":"064":"00":"nombre de parts incompatible avec sit.  de famille et pers.  a charge":"N";
+A06501:anomalie :"A":"065":"01":"LE NOMBRE DE PARTS DOIT ETRE UN MULTIPLE DE 0,25":"N";
+A06502:anomalie :"A":"065":"02":"LE NOMBRE DE PARTS DOIT ETRE COMPRIS ENTRE 1 ET 99,75":"N";
+A066:anomalie :"A":"066":"00":"nombre de parts incompatible avec sit.  de famille":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
diff --git a/sources2013m_3_8/errH.m b/sources2013m_3_8/errH.m
new file mode 100644
index 0000000000000000000000000000000000000000..b5c20f8139e70760194a7349b16aa3a43e5e65ca
--- /dev/null
+++ b/sources2013m_3_8/errH.m
@@ -0,0 +1,348 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)":"N";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).":"N";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)":"N";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A00108:anomalie :"A":"001":"08":"MONTANT VARIABLE RESTITUEE SUPERIEUR A 8 CARACTERES":"N";
+A004:anomalie :"A":"004":"00":"CASE B COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A005:anomalie :"A":"005":"00":"CASE B NON COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION C, D OU V":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES G, N, W, L":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES G, N, U, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, U, S":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S, U":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT 1 OU DU DECLARANT 2 EST INVRAISEMBLABLE":"N";
+A015:anomalie :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A01701:anomalie :"A":"017":"01":"CASE DC = D, UNE SEULE DATE PEUT ETRE SAISIE.":"N";
+A01702:anomalie :"A":"017":"02":"CASE DC=Z, INDIQUEZ M OU O DANS SITUATION ET DATE DECES CJT OU PACSE.":"N";
+A01703:anomalie :"A":"017":"03":"CASE DC = D. DATE MARIAGE OU PACS SAISIE. LA SITUATION DOIT ETRE M OU O.":"N";
+A01704:anomalie :"A":"017":"04":"CASE DC = D. DATE DIVORCE OU RUPTURE SAISIE. LA SITUATION DOIT ETRE D":"N";
+A01705:anomalie :"A":"017":"05":"CASE DC = D. DATE DECES CJT SAISIE. LA SITUATION DE FAMILLE DOIT ETRE V OU M":"N";
+A018:anomalie :"A":"018":"00":"SITUATION NECESSITANT LA SAISIE DE LA CASE DC. ARRETEZ LA TRANSACTION.":"N";
+A019:anomalie :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A021:anomalie :"A":"021":"00":"ATTENTION DATES DE NAISSANCE PAC PRISES EN CHARGE SANS CODE 0CF, 0CH":"N";
+A022:anomalie :"A":"022":"00":"UN ENFANT NE EN 1995 EST A LA FOIS COMPTE A CHARGE ET RATTACHE: A VERIFIER":"N";
+A02301:anomalie :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:anomalie :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:anomalie :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENTE DE 2013":"N";
+A02401:anomalie :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:anomalie :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:anomalie :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:anomalie :"A":"031":"00":"REV. OU CHARGE AU NOM DU DECLARANT 2 POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A077:anomalie :"A":"077":"00":"UTILISATION DU CODE 8XK UNIQUEMENT DANS LES DIRECTIONS B31 ET 060":"N";
+A078:anomalie :"A":"078":"00":"CODE 8YK : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A079:anomalie :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:anomalie :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A082:anomalie :"A":"082":"00":"LE CODE REGIME D IMPOSITION EST DIFFERENT DE 1,2 ou 4":"N";
+A083:anomalie :"A":"083":"00":"UTILISATION DU CODE 8ZA UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A085:anomalie :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:anomalie :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:anomalie :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:anomalie :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:anomalie :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:anomalie :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:anomalie :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:anomalie :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:anomalie :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:anomalie :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:anomalie :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:anomalie :"A":"096":"00":"CODES 8YO ET 8YI : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A09801:anomalie :"A":"098":"01":"LIGNE 3SE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09802:anomalie :"A":"098":"02":"LIGNE 3VE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09803:anomalie :"A":"098":"03":"LIGNE 3VV INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A099:anomalie :"A":"099":"00":"MONTANT LIGNE 3VE NE PEUT ETRE SUPERIEUR AU MONTANT LIGNE 3SE":"N";
+A100:anomalie :"A":"100":"00":"MONTANT LIGNE 3VV SANS PRISE EN CHARGE MONTANT LIGNE 3VE":"N";
+A101:anomalie :"A":"101":"00":"MONTANT LIGNE 3VV EXCEDE 45 % DU MONTANT LIGNE 3VE":"N";
+A13901:anomalie :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:anomalie :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:anomalie :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:anomalie :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:anomalie :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:anomalie :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:anomalie :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:anomalie :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:anomalie :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:anomalie :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A148:anomalie :"A":"148":"00":"SAISIE LIGNE 1LZ OU 1MZ EN ABSENCE DE TAUX EFFECTIF (CODE 8ZR / 8ZN)":"N";
+A14901:anomalie :"A":"149":"01":"SAISIE MONTANT LIGNE 1LZ AVEC MONTANT LIGNE 1AC":"N";
+A14902:anomalie :"A":"149":"02":"SAISIE MONTANT LIGNE 1MZ AVEC MONTANT LIGNE 1BC":"N";
+A153:anomalie :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A154:anomalie :"A":"154":"00":"SAISIE IMPOT ACQUITTE A L'ETRANGER SANS SALAIRE CORRESPONDANT":"N";
+A21801:anomalie :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:anomalie :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A220:anomalie :"A":"220":"00":"CREDIT D'IMPOT ( 2AB , 2BG ) EXAGERE : VERIFIEZ VOTRE SAISIE":"N";
+A222:anomalie :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR":"N";
+A22301:anomalie :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:anomalie :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A224:anomalie :"A":"224":"00":"CREDIT D'IMPOT 2CK > 80 E SANS REVENU CORRESPONDANT":"N";
+A225:anomalie :"A":"225":"00":"LE MONTANT 2FA NE PEUT EXCEDER 2000 E":"N";
+A226:anomalie :"A":"226":"00":"INCOMPATIBILITE ENTRE MONTANT LIGNE 2TR ET MONTANT LIGNE 2FA":"N";
+A320:anomalie :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM, 3VT (PEA)":"N";
+A321:anomalie :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A323:anomalie :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A324:anomalie :"A":"324":"00":"INCOMPATIBILITE ENTRE 3SL (ABATT. SUR P.V) ET 3SM (ABATT. SUR MOINS VALUE)":"N";
+A420:anomalie :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:anomalie :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:anomalie :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:anomalie :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:anomalie :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:anomalie :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:anomalie :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:anomalie :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:anomalie :"A":"538":"00":"REVENUS A IMPOSER AUX PRELEVEMENTS SOCIAUX SANS REVENU CORRESPONDANT":"N";
+A542:anomalie :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:anomalie :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:anomalie :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (DECLAR. 1, DECLAR. 2) NE PEUT DEPASSER 29 098 E":"N";
+A602:anomalie :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A603:anomalie :"A":"603":"00":"LES LIGNES 6PS, 6PT, 6PU SONT REMPLIES SANS MISE A JOUR DU PLAFOND":"N";
+A604:anomalie :"A":"604":"00":"MUTUALISATION DEMANDEE (6QR) SANS PLAFOND CORRESPONDANT POUR LES DEUX DECLARANTS":"N";
+A60501:anomalie :"A":"605":"01":"LE MONTANT 6 QS NE PEUT ETRE INFERIEUR AU MONTANT DE 1 SM":"N";
+A60502:anomalie :"A":"605":"02":"LE MONTANT 6 QT NE PEUT ETRE INFERIEUR AU MONTANT DE 1 DN":"N";
+A700:anomalie :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A702:anomalie :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR OU 2FA":"N";
+A703:anomalie :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC DECLARANTS NES AVANT 1979":"N";
+A704:anomalie :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A705:anomalie :"A":"705":"00":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A706:anomalie :"A":"706":"00":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70701:anomalie :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:anomalie :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:anomalie :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A70901:anomalie :"A":"709":"01":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XF A 7UZ":"N";
+A70902:anomalie :"A":"709":"02":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XO, 7XK OU 7XR":"N";
+A710:anomalie :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:anomalie :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:anomalie :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:anomalie :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:anomalie :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:anomalie :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:anomalie :"A":"714":"00":"REPORT 2012 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2013 (7WO ET 7WN)":"N";
+A715:anomalie :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:anomalie :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:anomalie :"A":"717":"01":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7FA A 7FD":"N";
+A71702:anomalie :"A":"717":"02":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7JA A 7JR":"N";
+A71703:anomalie :"A":"717":"03":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71704:anomalie :"A":"717":"04":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7HJ, 7HK, 7HN ET 7HO":"N";
+A71705:anomalie :"A":"717":"05":"INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:anomalie :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:anomalie :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A73001:anomalie :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE":"N";
+A73002:anomalie :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TF":"N";
+A73003:anomalie :"A":"730":"03":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UW ET 7TG":"N";
+A73004:anomalie :"A":"730":"04":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UX ET 7TH":"N";
+A731:anomalie :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5":"N";
+A733:anomalie :"A":"733":"00":"LE CREDIT D IMPOT DE LA LIGNE 7SZ NE PEUT EXCEDER 20 000 E":"N";
+A734:anomalie :"A":"734":"00":"LES CASES 7WE ET 7WG NE PEUVENT PAS ETRE SIMULTANEMENT COCHEES":"N";
+A735:anomalie :"A":"735":"00":"CASES 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7SD A 7SW":"N";
+A738:anomalie :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP":"N";
+A739:anomalie :"A":"739":"00":"CASE HQA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:anomalie :"A":"740":"01":"LE TOTAL LIGNES HSE + HSJ NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74002:anomalie :"A":"740":"02":"LE TOTAL LIGNES HSO + HST + HSY + HTD NE PEUT ETRE SUPERIEUR A 229 500 E":"N";
+A74003:anomalie :"A":"740":"03":"LE TOTAL HSE + HSJ + HSO + HST + HSY + HTD NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:anomalie :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A743:anomalie :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:anomalie :"A":"744":"00":"LE MONTANT PORTE LIGNE 7WR NE PEUT DEPASSER 60 000 E":"N";
+A74601:anomalie :"A":"746":"01":"LE MONTANT LIGNE HSE NE PEUT EXCEDER LE MONTANT LIGNE HSD":"N";
+A74602:anomalie :"A":"746":"02":"LE MONTANT LIGNE HSJ NE PEUT EXCEDER LE MONTANT LIGNE HSI":"N";
+A74603:anomalie :"A":"746":"03":"LE MONTANT LIGNE HSO NE PEUT EXCEDER LE MONTANT LIGNE HSN":"N";
+A74604:anomalie :"A":"746":"04":"LE MONTANT LIGNE HST NE PEUT EXCEDER LE MONTANT LIGNE HSS":"N";
+A74605:anomalie :"A":"746":"05":"LE MONTANT LIGNE HSY NE PEUT EXCEDER LE MONTANT LIGNE HSX":"N";
+A74606:anomalie :"A":"746":"06":"LE MONTANT LIGNE HTD NE PEUT EXCEDER LE MONTANT LIGNE HTC":"N";
+A747:anomalie :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A74801:anomalie :"A":"748":"01":"CASE 7WH COCHEE SANS MONTANT LIGNE 7SD A 7ST ":"N";
+A74802:anomalie :"A":"748":"02":"CASE 7WK COCHEE SANS MONTANT LIGNE 7SD A 7SW ":"N";
+A75101:anomalie :"A":"751":"01":"CASE 7WT COCHEE SANS MONTANT LIGNE 7SJ":"N";
+A75102:anomalie :"A":"751":"02":"CASE 7WC COCHEE SANS MONTANT LIGNE 7SG":"N";
+A75103:anomalie :"A":"751":"03":"CASE 7VG COCHEE SANS MONTANT LIGNE 7SH":"N";
+A800:anomalie :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:anomalie :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:anomalie :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF 8ZR/8ZN ET PRORATA METRO-DOM":"N";
+A80203:anomalie :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF AUTOMATIQUE ET PRORATA METRO-DOM":"N";
+A803:anomalie :"A":"803":"00":"CODES DAJ, DBJ, EAJ, EBJ PRIS EN CHARGE DANS DIRECTION AUTRE QUE METROPOLE":"N";
+A804:anomalie :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:anomalie :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A807:anomalie :"A":"807":"00":"SAISIE CODE 8XT SANS LIGNE 1AT OU 1BT":"N";
+A821:anomalie :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A856:anomalie :"A":"856":"00":"CREDIT D IMPOT (8UV) EXAGERE PAR RAPPORT AUX T.S ET PENSIONS":"N";
+A858:anomalie :"A":"858":"00":"LES LIGNES 8TL, 8UW SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A859:anomalie :"A":"859":"00":"LA LIGNE 8WC EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:anomalie :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A864:anomalie :"A":"864":"00":"CSG A 7,5 % PROVISOIRE SUR GAINS LIGNE 1TT, 1UT > CSG DUE":"N";
+A865:anomalie :"A":"865":"00":"CONTRIBUTION SALARIALE PROVISOIRE 10 % (8YT) > A CONTRIBUTION DUE":"N";
+A86601:anomalie :"A":"866":"01":"CSG A 7,5% PROVISOIRE (8YD) >  CSG DUE":"N";
+A86602:anomalie :"A":"866":"02":"CSG A 7,5% PROVISOIRE (8YE) > CSG DUE":"N";
+A86603:anomalie :"A":"866":"03":"CSG A 6,6% PROVISOIRE (8YF) > CSG DUE":"N";
+A86604:anomalie :"A":"866":"04":"CSG A 6,2% PROVISOIRE (8YG) > CSG DUE":"N";
+A86605:anomalie :"A":"866":"05":"CSG A 3,8% PROVISOIRE (8YH) > CSG DUE":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A870:anomalie :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:anomalie :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:anomalie :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A87801:anomalie :"A":"878":"01":"SAISIE CODE 8XA SANS REVENU LIGNE 8TQ":"N";
+A87802:anomalie :"A":"878":"02":"SAISIE CODE 8XB SANS REVENU LIGNE 8TR":"N";
+A87803:anomalie :"A":"878":"03":"SAISIE CODE 8XC SANS REVENU LIGNE 8TV":"N";
+A87804:anomalie :"A":"878":"04":"SAISIE CODE 8XD SANS REVENU LIGNE 8TW":"N";
+A87805:anomalie :"A":"878":"05":"SAISIE CODE 8XE SANS REVENU LIGNE 8TX":"N";
+A879:anomalie :"A":"879":"00":"LA LIGNE 8TG, 8TS EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:anomalie :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:anomalie :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A88201:anomalie :"A":"882":"01":"LA LIGNE 8TI EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN OU INVERSEMENT":"N";
+A88202:anomalie :"A":"882":"02":"SAISIE DU CODE 8YC, 8YJ SANS PRISE EN CHARGE DE TAUX EFFECTIF":"N";
+A883:anomalie :"A":"883":"00":"LIGNE 8TK REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP, 8XQ, 8XT, 8XF, 8XG, 8XH, 8XV":"N";
+A884:anomalie :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A88501:anomalie :"A":"885":"01":"PRISE EN CHARGE DU CODE 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A88502:anomalie :"A":"885":"02":"PRISE EN CHARGE DU CODE 8XV SANS REVENU LIGNE 2FA CORRESPONDANT":"N";
+A88503:anomalie :"A":"885":"03":"PRISE EN CHARGE DU CODE 8XP SANS GAIN CORRESPONDANT":"N";
+A88504:anomalie :"A":"885":"04":"PRISE EN CHARGE DU CODE 8XF SANS GAIN CORRESPONDANT":"N";
+A88505:anomalie :"A":"885":"05":"PRISE EN CHARGE DU CODE 8XG SANS GAIN CORRESPONDANT":"N";
+A88506:anomalie :"A":"885":"06":"PRISE EN CHARGE DU CODE 8XH SANS GAIN CORRESPONDANT":"N";
+A886:anomalie :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR,8XP,8XQ,8XV,8XF,8XG,8XH":"N";
+A887:anomalie :"A":"887":"00":"REVENU NET CODE 8XR SUPERIEUR AU MONTANT LIGNE 8TK":"N";
+A888:anomalie :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A889:anomalie :"A":"889":"00":"SAISIE CODE 8 FV SANS PRISE EN CHARGE DU CODE 8 ZK":"N";
+A890:anomalie :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:anomalie :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:anomalie :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:anomalie :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:anomalie :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:anomalie :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:anomalie :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:anomalie :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A950:anomalie :"A":"950":"00":"NATIMP OU PPENATREST DIFFERENT DES VALEURS ADMISES":"N";
+A951:anomalie :"A":"951":"00":"CODINI DIFFERENT DES VALEURS ADMISES":"N";
+A954:anomalie :"A":"954":"00":"NATIMPIR DIFFERENT DES VALEURS ADMISES":"N";
+A955:anomalie :"A":"955":"00":"NATCRP DIFFERENT DES VALEURS ADMISES":"N";
+A960:anomalie :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:anomalie :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:anomalie :"A":"961":"02":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96103:anomalie :"A":"961":"03":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17 ET 18)":"O";
+A96201:anomalie :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:anomalie :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:anomalie :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:anomalie :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:anomalie :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:anomalie :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2014, 2015 OU 2016":"N";
+A96303:anomalie :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:anomalie :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2014, 2015 OU 2016":"N";
+A96401:anomalie :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:anomalie :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:anomalie :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2013":"N";
+A96501:anomalie :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:anomalie :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:anomalie :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2013":"N";
+A966:anomalie :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A967:anomalie :"A":"967":"00":"PRESENCE LIGNE 9HI (ISF) DANS LA PERIODE AVANT DECES DU DECLARANT2":"N";
+A98001:anomalie :"A":"980":"01":"BASE ISF 9HI <= 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:anomalie :"A":"980":"02":"BASE ISF 9HI >= 2 570 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A981:anomalie :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:anomalie :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:anomalie :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:anomalie :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:anomalie :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:anomalie :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:anomalie :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:anomalie :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+A99301:anomalie :"A":"993":"01":"ANNULATION 2042: RAMENER LES REVENUS A 0.":"N";
+A99302:anomalie :"A":"993":"02":"SUPPRESSION du code 9YA impossible, veuillez ressaisir une declaration":"N";
+AS0101:anomalie :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C":"N";
+AS0102:anomalie :"A":"S01":"02":"INCOMPATIBILITE ENTRE DATE DE MARIAGE AVEC OPTION B ET SITUATION M OU O":"N";
+AS0103:anomalie :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE MARIAGE SANS OPTION B ET SITUATION C, D OU V":"N";
+AS0104:anomalie :"A":"S01":"04":"INCOMPATIBILITE ENTRE DATE DE DIVORCE ET SITUATION M OU O":"N";
+AS0105:anomalie :"A":"S01":"05":"INCOMPATIBILITE ENTRE DATES DE DIVORCE ET DE DECES DU CJT ET SITUATION M":"N";
+AS0106:anomalie :"A":"S01":"06":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION D":"N";
+AS02:anomalie :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE":"N";
+AS11:anomalie :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE":"N";
+DD02:discordance :"D":"D02":"00":"VERIFIER LE CUMUL DE 7CF (CAPITAL PME) AVEC 7FN, 7GN ":"N";
+DD03:discordance :"D":"D03":"00":"MONTANT DES FRAIS RCM EXAGERE OU FRAIS AVEC REVENU LIGNE 2FU 2CH 2GO":"N";
+DD04:discordance :"D":"D04":"00":"MONTANT DU CREDIT D'IMPOT EXAGERE":"N";
+DD05:discordance :"D":"D05":"00":"LE REVENU IMPOSABLE EST < AU 1/5 E PAR RAPPORT A CELUI DE N-1":"N";
+DD06:discordance :"D":"D06":"00":"REPORT 7XF,7XI,7XP,7XN,7UY,7XM,7XJ,7XQ,7XV,7UZ,7XO,7XK,7XR > 8333 E OU 16667 E ":"N";
+DD07:discordance :"D":"D07":"00":"LE MONTANT 7QZ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD08:discordance :"D":"D08":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+DD09:discordance :"D":"D09":"00":"CREDIT PRET ETUDIANT LIGNE 7TD DEJA OBTENU EN N-1":"N";
+DD10:discordance :"D":"D10":"00":"ENFANTS BENEFICIANT DE FRAIS DE GARDE > AU NOMBRE D'ENFANTS < 7 ANS":"N";
+DD11:discordance :"D":"D11":"00":"REGIME MICRO-FONCIER (4BE) AVEC DEFICITS FONCIERS ANTERIEURS (4BD)":"N";
+DD13:discordance :"D":"D13":"00":"SITUATION FORFAITAIRE A DENONCER SELON LES TERMES DE L'ARTICLE 69A2 DU CGI":"N";
+DD14:discordance :"D":"D14":"00":"LE MONTANT 2CG EST > AU TOTAL DES LIGNES 2DC + 2CH + 2TS + 2TR + 2FA":"N";
+DD15:discordance :"D":"D15":"00":"LE MONTANT 7WP (REPORT 2012) EST > AU MONTANT CALCULE DE N-1":"N";
+DD16:discordance :"D":"D16":"00":"FRAIS D'ACCUEIL ET PERSONNE A CHARGE AVEC CARTE D'INVALIDITE":"N";
+DD17:discordance :"D":"D17":"00":"ACCROISSEMENT DU NOMBRE DE PARTS > 4 PAR RAPPORT A N-1":"N";
+DD18:discordance :"D":"D18":"00":"DEFICIT ANTERIEUR 6FA A 6FL INCOMPATIBLE AVEC REVENU IMPOSABLE EN N-1":"N";
+DD19:discordance :"D":"D19":"00":"NOMBRE LIGNE 7FG > NOMBRE DE RUBRIQUES ADMISES DU o5":"N";
+DD20:discordance :"D":"D20":"00":"DEFICIT AGRICOLE ANTERIEUR DECLARE (5QF A 5QQ) SANS DEFICIT EN N-1":"N";
+DD21:discordance :"D":"D21":"00":"SAISIE DE 7DF,7DB ET 7DG SANS INVALIDITE CADRE A (CODE PF) OU C (CODE G,I,R)":"N";
+DD22:discordance :"D":"D22":"00":"LE MONTANT DE CSG DEDUCTIBLE EST SUPERIEUR AU MONTANT N-1":"N";
+DD24:discordance :"D":"D24":"00":"MONTANT 4TQ 2013 > A 4TP 1999 - 4TQ 1999 A 4TQ 2012":"N";
+DD26:discordance :"D":"D26":"00":"REVENU OU DEFICIT FONCIER DECLARE (4BA A 4BD) SANS MONTANT EN N-1":"N";
+DD27:discordance :"D":"D27":"00":"LE MONTANT 7CL,7CM,7CN,7CC,7CQ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD28:discordance :"D":"D28":"00":"CREDIT 8WB DEJA OBTENU EN N-1 : 1SEUL CREDIT PAR ENTREPRISE":"N";
+DD29:discordance :"D":"D29":"00":"LE MONTANT 7XS,7XT,7XU,7XW,7XY (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD32:discordance :"D":"D32":"00":"CREDIT SALARIE A DOMICILE SANS REVENU D ACTIVITE : VERIFIEZ LA SITUATION":"N";
+DD34:discordance :"D":"D34":"00":"VERIFIER LE CUMUL 7FM AVEC 7FQ, 7GQ":"N";
+DD35:discordance :"D":"D35":"00":"CASE NOUVEAU RESIDENT LIGNE 6QW DEJA SAISIE EN N-1":"N";
+DD3601:discordance :"D":"D36":"01":"CASE 7WG COCHEE AVEC UN RFR 2010 SUPERIEUR A 30 000 E":"N";
+DD3602:discordance :"D":"D36":"02":"CASE 7WE COCHEE AVEC UN RFR 2011 SUPERIEUR A 30 000 E":"N";
+DD37:discordance :"D":"D37":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+DD3801:discordance :"D":"D38":"01":"REGIME AUTO-ENTREPRENEUR AVEC RFR 2011 SUPERIEUR A LIMITE ADMISE":"N";
+DD3802:discordance :"D":"D38":"02":"REGIME AUTO-ENTREPRENEUR SANS RFR DE 2011":"N";
+DD39:discordance :"D":"D39":"00":"LE MONTANT 6 HJ, 6HK, 6HL, 6HM (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD40:discordance :"D":"D40":"00":"LE MONTANT 7LA, 7LB, 7LE, 7LM (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD41:discordance :"D":"D41":"00":"LE MONTANT 7IS, 7IU, 7IX, 7IY (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD42:discordance :"D":"D42":"00":"LE MONTANT 7UU,7TE,7UV,7TF,7UW,7TG,7UX,7TH (REPORT) EST > AU MONTANT CALCULE N-1":"N";
+DD43:discordance :"D":"D43":"00":"REPORTS REDUCTION INVEST. DOM ENTREPRISE SONT > AUX MONTANTS CALCULES DE N-1":"N";
+DD44:discordance :"D":"D44":"00":"REPORTS REDUCTION LOGEMENT SOCIAL SONT > AUX MONTANTS CALCULES DE N-1":"N";
+DD45:discordance :"D":"D45":"00":"REPORT 'SCELLIER'  > 33 333 E":"N";
+DD46:discordance :"D":"D46":"00":"REPORT LIGNE 7IP, 7IQ, 7IR, 7IK > 33 333 E":"N";
+DD48:discordance :"D":"D48":"00":"LE MONTANT 7LC, 7LD, 7LS (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD49:discordance :"D":"D49":"00":"LE MONTANT 7IT, 7IH, 7JC (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD50:discordance :"D":"D50":"00":"LE MONTANT 7KB, 7KC, 7KD (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD52:discordance :"D":"D52":"00":"DEFICIT LOC. MEUB. NON PROF. DECLARE (5GA A 5GJ) > A DEFICIT CALCULE EN N-1":"N";
+DD53:discordance :"D":"D53":"00":"DEFICIT BIC NON PROF. DECLARE (5RN A 5RW) > A DEFICIT CALCULE EN N-1":"N";
+DD54:discordance :"D":"D54":"00":"CASE 7WG COCHEE AVEC LIGNES 7TT A 7TY,  7SD A 7SW SAISIES":"N";
+DD55:discordance :"D":"D55":"00":"LES LIGNES 8TR, 8TQ, 8TV, 8TW, 8TX SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+DD57:discordance :"D":"D57":"00":"LE MONTANT 7LF, 7LZ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD58:discordance :"D":"D58":"00":"LE MONTANT 7IZ, 7JI (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD6101:discordance :"D":"D61":"01":"GAINS PORTES LIGNE 3VN SANS GAINS LIGNE 3VD, 3VI, 3VF, 3VJ":"N";
+DD6102:discordance :"D":"D61":"02":"GAINS PORTES LIGNE 3SN SANS GAINS LIGNE 3SD, 3SI, 3SF, 3VK":"N";
+DD62:discordance :"D":"D6
\ No newline at end of file
diff --git a/sources2013m_3_8/errI.m b/sources2013m_3_8/errI.m
new file mode 100644
index 0000000000000000000000000000000000000000..629b8845c454c8152d758e2dcd1d1d8d3851fb3d
--- /dev/null
+++ b/sources2013m_3_8/errI.m
@@ -0,0 +1,348 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 13 Application iliad
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)":"N";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).":"N";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)":"N";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A00108:anomalie :"A":"001":"08":"MONTANT VARIABLE RESTITUEE SUPERIEUR A 8 CARACTERES":"N";
+A004:anomalie :"A":"004":"00":"CASE B COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A005:anomalie :"A":"005":"00":"CASE B NON COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION C, D OU V":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES G, N, W, L":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES G, N, U, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, U, S":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S, U":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT 1 OU DU DECLARANT 2 EST INVRAISEMBLABLE":"N";
+A015:anomalie :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A01701:anomalie :"A":"017":"01":"CASE DC = D, UNE SEULE DATE PEUT ETRE SAISIE.":"N";
+A01702:anomalie :"A":"017":"02":"CASE DC=Z, INDIQUEZ M OU O DANS SITUATION ET DATE DECES CJT OU PACSE.":"N";
+A01703:anomalie :"A":"017":"03":"CASE DC = D. DATE MARIAGE OU PACS SAISIE. LA SITUATION DOIT ETRE M OU O.":"N";
+A01704:anomalie :"A":"017":"04":"CASE DC = D. DATE DIVORCE OU RUPTURE SAISIE. LA SITUATION DOIT ETRE D":"N";
+A01705:anomalie :"A":"017":"05":"CASE DC = D. DATE DECES CJT SAISIE. LA SITUATION DE FAMILLE DOIT ETRE V OU M":"N";
+A018:anomalie :"A":"018":"00":"SITUATION NECESSITANT LA SAISIE DE LA CASE DC. ARRETEZ LA TRANSACTION.":"N";
+A019:anomalie :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A021:anomalie :"A":"021":"00":"ATTENTION DATES DE NAISSANCE PAC PRISES EN CHARGE SANS CODE 0CF, 0CH":"N";
+A022:anomalie :"A":"022":"00":"UN ENFANT NE EN 1995 EST A LA FOIS COMPTE A CHARGE ET RATTACHE: A VERIFIER":"N";
+A02301:anomalie :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:anomalie :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:anomalie :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENTE DE 2013":"N";
+A02401:anomalie :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:anomalie :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:anomalie :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:anomalie :"A":"031":"00":"REV. OU CHARGE AU NOM DU DECLARANT 2 POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A041:anomalie :"A":"041":"00":"Code revenu 8VV, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A042:anomalie :"A":"042":"00":"Code revenu 8VW, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A043:anomalie :"A":"043":"00":"Revenus 8VV et 8VW saisis simultanement, supprimer un des deux codes":"N";
+A044:anomalie :"A":"044":"00":"Code revenu 8VX, saisir le code penalite 32":"N";
+A045:anomalie :"A":"045":"00":"Code penalite 32 accepte uniquement avec le code 8VX":"N";
+A046:anomalie :"A":"046":"00":"CODE REVENU 8WW, SAISIR LE CODE PENALITE 30":"N";
+A047:anomalie :"A":"047":"00":"CODE PENALITE 30 ACCEPTE UNIQUEMENT AVEC LE CODE REVENU 8WW":"N";
+A048:anomalie :"A":"048":"00":"CE CODE PENALITE NE S'APPLIQUE QU'AUX BIC, BNC,BA":"N";
+A077:anomalie :"A":"077":"00":"UTILISATION DU CODE 8XK UNIQUEMENT DANS LES DIRECTIONS B31 ET 060":"N";
+A078:anomalie :"A":"078":"00":"CODE 8YK : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A079:anomalie :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:anomalie :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A082:anomalie :"A":"082":"00":"LE CODE REGIME D IMPOSITION EST DIFFERENT DE 1,2 ou 4":"N";
+A083:anomalie :"A":"083":"00":"UTILISATION DU CODE 8ZA UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A085:anomalie :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:anomalie :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:anomalie :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:anomalie :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:anomalie :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:anomalie :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:anomalie :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:anomalie :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:anomalie :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:anomalie :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:anomalie :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:anomalie :"A":"096":"00":"CODES 8YO ET 8YI : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A09801:anomalie :"A":"098":"01":"LIGNE 3SE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09802:anomalie :"A":"098":"02":"LIGNE 3VE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09803:anomalie :"A":"098":"03":"LIGNE 3VV INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A099:anomalie :"A":"099":"00":"MONTANT LIGNE 3VE NE PEUT ETRE SUPERIEUR AU MONTANT LIGNE 3SE":"N";
+A100:anomalie :"A":"100":"00":"MONTANT LIGNE 3VV SANS PRISE EN CHARGE MONTANT LIGNE 3VE":"N";
+A101:anomalie :"A":"101":"00":"MONTANT LIGNE 3VV EXCEDE 45 % DU MONTANT LIGNE 3VE":"N";
+A13901:anomalie :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:anomalie :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:anomalie :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:anomalie :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:anomalie :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:anomalie :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:anomalie :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:anomalie :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:anomalie :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:anomalie :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A148:anomalie :"A":"148":"00":"SAISIE LIGNE 1LZ OU 1MZ EN ABSENCE DE TAUX EFFECTIF (CODE 8ZR / 8ZN)":"N";
+A14901:anomalie :"A":"149":"01":"SAISIE MONTANT LIGNE 1LZ AVEC MONTANT LIGNE 1AC":"N";
+A14902:anomalie :"A":"149":"02":"SAISIE MONTANT LIGNE 1MZ AVEC MONTANT LIGNE 1BC":"N";
+A153:anomalie :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A154:anomalie :"A":"154":"00":"SAISIE IMPOT ACQUITTE A L'ETRANGER SANS SALAIRE CORRESPONDANT":"N";
+A21801:anomalie :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:anomalie :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A220:anomalie :"A":"220":"00":"CREDIT D'IMPOT ( 2AB , 2BG ) EXAGERE : VERIFIEZ VOTRE SAISIE":"N";
+A222:anomalie :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR":"N";
+A22301:anomalie :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:anomalie :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A224:anomalie :"A":"224":"00":"CREDIT D'IMPOT 2CK > 80 E SANS REVENU CORRESPONDANT":"N";
+A225:anomalie :"A":"225":"00":"LE MONTANT 2FA NE PEUT EXCEDER 2000 E":"N";
+A226:anomalie :"A":"226":"00":"INCOMPATIBILITE ENTRE MONTANT LIGNE 2TR ET MONTANT LIGNE 2FA":"N";
+A320:anomalie :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM, 3VT (PEA)":"N";
+A321:anomalie :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A323:anomalie :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A324:anomalie :"A":"324":"00":"INCOMPATIBILITE ENTRE 3SL (ABATT. SUR P.V) ET 3SM (ABATT. SUR MOINS VALUE)":"N";
+A420:anomalie :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:anomalie :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:anomalie :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:anomalie :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:anomalie :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:anomalie :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:anomalie :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:anomalie :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:anomalie :"A":"538":"00":"REVENUS A IMPOSER AUX PRELEVEMENTS SOCIAUX SANS REVENU CORRESPONDANT":"N";
+A542:anomalie :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:anomalie :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:anomalie :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (DECLAR. 1, DECLAR. 2) NE PEUT DEPASSER 29 098 E":"N";
+A602:anomalie :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A603:anomalie :"A":"603":"00":"LES LIGNES 6PS, 6PT, 6PU SONT REMPLIES SANS MISE A JOUR DU PLAFOND":"N";
+A604:anomalie :"A":"604":"00":"MUTUALISATION DEMANDEE (6QR) SANS PLAFOND CORRESPONDANT POUR LES DEUX DECLARANTS":"N";
+A60501:anomalie :"A":"605":"01":"LE MONTANT 6 QS NE PEUT ETRE INFERIEUR AU MONTANT DE 1 SM":"N";
+A60502:anomalie :"A":"605":"02":"LE MONTANT 6 QT NE PEUT ETRE INFERIEUR AU MONTANT DE 1 DN":"N";
+A700:anomalie :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A702:anomalie :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR OU 2FA":"N";
+A703:anomalie :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC DECLARANTS NES AVANT 1979":"N";
+A704:anomalie :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A705:anomalie :"A":"705":"00":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A706:anomalie :"A":"706":"00":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70701:anomalie :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:anomalie :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:anomalie :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A70901:anomalie :"A":"709":"01":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XF A 7UZ":"N";
+A70902:anomalie :"A":"709":"02":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XO, 7XK OU 7XR":"N";
+A710:anomalie :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:anomalie :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:anomalie :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:anomalie :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:anomalie :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:anomalie :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:anomalie :"A":"714":"00":"REPORT 2012 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2013 (7WO ET 7WN)":"N";
+A715:anomalie :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:anomalie :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:anomalie :"A":"717":"01":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7FA A 7FD":"N";
+A71702:anomalie :"A":"717":"02":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7JA A 7JR":"N";
+A71703:anomalie :"A":"717":"03":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71704:anomalie :"A":"717":"04":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7HJ, 7HK, 7HN ET 7HO":"N";
+A71705:anomalie :"A":"717":"05":"INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:anomalie :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:anomalie :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A72001:anomalie :"A":"720":"01":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE M":"N";
+A72002:anomalie :"A":"720":"02":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE C":"N";
+A72003:anomalie :"A":"720":"03":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR C OU M AU LIEU DE R":"N";
+A721:anomalie :"A":"721":"00":"SENS P IMPOSSIBLE POUR UN CODE ABSENT DE LA 2042":"N";
+A72201:anomalie :"A":"722":"01":"LE MONTANT DU RAPPEL EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72202:anomalie :"A":"722":"02":"LE MONTANT DE LA MINO EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72203:anomalie :"A":"722":"03":"LE MONTANT DE LA CORRECTION EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72204:anomalie :"A":"722":"04":"LE MONTANT DE LA RECTIF EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72206:anomalie :"A":"722":"06":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72207:discordance :"D":"722":"07":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72301:anomalie :"A":"723":"01":"LE MONTANT DU C02 AVEC 2042_RECT EST SUPERIEUR A CELUI DU R02 AVEC INDICATEUR":"N";
+A72302:anomalie :"A":"723":"02":"ANNULATION OU MINORATION DE R02 ET 2042_RECT S'EFFECTUE AVEC C02 et 2042_RECT":"N";
+A724:anomalie :"A":"724":"00":"Majorations 80% apres 2 MED supprimees a compter du 01/01/2006":"N";
+A725:anomalie :"A":"725":"00":"PROCEDURE DE REGULARISATION INTERDITE EN CAS DE NON DEPOT OU DEPOT TARDIF":"N";
+A73001:anomalie :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE":"N";
+A73002:anomalie :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TF":"N";
+A73003:anomalie :"A":"730":"03":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UW ET 7TG":"N";
+A73004:anomalie :"A":"730":"04":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UX ET 7TH":"N";
+A731:anomalie :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5":"N";
+A733:anomalie :"A":"733":"00":"LE CREDIT D IMPOT DE LA LIGNE 7SZ NE PEUT EXCEDER 20 000 E":"N";
+A734:anomalie :"A":"734":"00":"LES CASES 7WE ET 7WG NE PEUVENT PAS ETRE SIMULTANEMENT COCHEES":"N";
+A735:anomalie :"A":"735":"00":"CASES 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7SD A 7SW":"N";
+A738:anomalie :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP":"N";
+A739:anomalie :"A":"739":"00":"CASE HQA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:anomalie :"A":"740":"01":"LE TOTAL LIGNES HSE + HSJ NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74002:anomalie :"A":"740":"02":"LE TOTAL LIGNES HSO + HST + HSY + HTD NE PEUT ETRE SUPERIEUR A 229 500 E":"N";
+A74003:anomalie :"A":"740":"03":"LE TOTAL HSE + HSJ + HSO + HST + HSY + HTD NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:anomalie :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A743:anomalie :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:anomalie :"A":"744":"00":"LE MONTANT PORTE LIGNE 7WR NE PEUT DEPASSER 60 000 E":"N";
+A74601:anomalie :"A":"746":"01":"LE MONTANT LIGNE HSE NE PEUT EXCEDER LE MONTANT LIGNE HSD":"N";
+A74602:anomalie :"A":"746":"02":"LE MONTANT LIGNE HSJ NE PEUT EXCEDER LE MONTANT LIGNE HSI":"N";
+A74603:anomalie :"A":"746":"03":"LE MONTANT LIGNE HSO NE PEUT EXCEDER LE MONTANT LIGNE HSN":"N";
+A74604:anomalie :"A":"746":"04":"LE MONTANT LIGNE HST NE PEUT EXCEDER LE MONTANT LIGNE HSS":"N";
+A74605:anomalie :"A":"746":"05":"LE MONTANT LIGNE HSY NE PEUT EXCEDER LE MONTANT LIGNE HSX":"N";
+A74606:anomalie :"A":"746":"06":"LE MONTANT LIGNE HTD NE PEUT EXCEDER LE MONTANT LIGNE HTC":"N";
+A747:anomalie :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A74801:anomalie :"A":"748":"01":"CASE 7WH COCHEE SANS MONTANT LIGNE 7SD A 7ST ":"N";
+A74802:anomalie :"A":"748":"02":"CASE 7WK COCHEE SANS MONTANT LIGNE 7SD A 7SW ":"N";
+A75101:anomalie :"A":"751":"01":"CASE 7WT COCHEE SANS MONTANT LIGNE 7SJ":"N";
+A75102:anomalie :"A":"751":"02":"CASE 7WC COCHEE SANS MONTANT LIGNE 7SG":"N";
+A75103:anomalie :"A":"751":"03":"CASE 7VG COCHEE SANS MONTANT LIGNE 7SH":"N";
+A760:anomalie :"A":"760":"00":"LE SENS DU RAPPEL SAISI N'APPARTIENT PAS AUX VALEURS POSSIBLES":"N";
+A770:anomalie :"A":"770":"00":"SI LE CODE RAPPEL EST P, LE CODE MAJO DOIT ETRE 07,08,10,11,17,18 ou 31":"N";
+A780:anomalie :"A":"780":"00":"MOIS OU ANNEE DE LA DATE DE NOTIFICATION INVRAISEMBLABLE":"N";
+A800:anomalie :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:anomalie :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:anomalie :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF 8ZR/8ZN ET PRORATA METRO-DOM":"N";
+A80203:anomalie :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF AUTOMATIQUE ET PRORATA METRO-DOM":"N";
+A803:anomalie :"A":"803":"00":"CODES DAJ, DBJ, EAJ, EBJ PRIS EN CHARGE DANS DIRECTION AUTRE QUE METROPOLE":"N";
+A804:anomalie :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:anomalie :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A807:anomalie :"A":"807":"00":"SAISIE CODE 8XT SANS LIGNE 1AT OU 1BT":"N";
+A821:anomalie :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A850:anomalie :"A":"850":"00":"SAISIE DU CODE 8ZG INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A851:anomalie :"A":"851":"00":"SAISIE DU CODE 8ZJ INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A852:anomalie :"A":"852":"00":"SAISIE DU CODE 8ZL INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A853:anomalie :"A":"853":"00":"SAISIE DU CODE 8ZS INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A854:anomalie :"A":"854":"00":"SAISIE DU CODE 8YV INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A858:anomalie :"A":"858":"00":"LES LIGNES 8TL, 8UW SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A859:anomalie :"A":"859":"00":"LA LIGNE 8WC EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:anomalie :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A863:anomalie :"A":"863":"00":"LE CODE 8UX EST SAISI SANS REVENU AUTO-ENTREPRENEUR":"N";
+A864:anomalie :"A":"864":"00":"CSG A 7,5 % PROVISOIRE SUR GAINS LIGNE 1TT, 1UT > CSG DUE":"N";
+A865:anomalie :"A":"865":"00":"CONTRIBUTION SALARIALE PROVISOIRE 10 % (8YT) > A CONTRIBUTION DUE":"N";
+A86601:anomalie :"A":"866":"01":"CSG A 7,5% PROVISOIRE (8YD) >  CSG DUE":"N";
+A86602:anomalie :"A":"866":"02":"CSG A 7,5% PROVISOIRE (8YE) > CSG DUE":"N";
+A86603:anomalie :"A":"866":"03":"CSG A 6,6% PROVISOIRE (8YF) > CSG DUE":"N";
+A86604:anomalie :"A":"866":"04":"CSG A 6,2% PROVISOIRE (8YG) > CSG DUE":"N";
+A86605:anomalie :"A":"866":"05":"CSG A 3,8% PROVISOIRE (8YH) > CSG DUE":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A870:anomalie :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:anomalie :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:anomalie :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A87801:anomalie :"A":"878":"01":"SAISIE CODE 8XA SANS REVENU LIGNE 8TQ":"N";
+A87802:anomalie :"A":"878":"02":"SAISIE CODE 8XB SANS REVENU LIGNE 8TR":"N";
+A87803:anomalie :"A":"878":"03":"SAISIE CODE 8XC SANS REVENU LIGNE 8TV":"N";
+A87804:anomalie :"A":"878":"04":"SAISIE CODE 8XD SANS REVENU LIGNE 8TW":"N";
+A87805:anomalie :"A":"878":"05":"SAISIE CODE 8XE SANS REVENU LIGNE 8TX":"N";
+A879:anomalie :"A":"879":"00":"LA LIGNE 8TG, 8TS EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:anomalie :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:anomalie :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A88201:anomalie :"A":"882":"01":"LA LIGNE 8TI EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN OU INVERSEMENT":"N";
+A88202:anomalie :"A":"882":"02":"SAISIE DU CODE 8YC, 8YJ SANS PRISE EN CHARGE DE TAUX EFFECTIF":"N";
+A883:anomalie :"A":"883":"00":"LIGNE 8TK REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP, 8XQ, 8XT, 8XF, 8XG, 8XH, 8XV":"N";
+A884:anomalie :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A88501:anomalie :"A":"885":"01":"PRISE EN CHARGE DU CODE 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A88502:anomalie :"A":"885":"02":"PRISE EN CHARGE DU CODE 8XV SANS REVENU LIGNE 2FA CORRESPONDANT":"N";
+A88503:anomalie :"A":"885":"03":"PRISE EN CHARGE DU CODE 8XP SANS GAIN CORRESPONDANT":"N";
+A88504:anomalie :"A":"885":"04":"PRISE EN CHARGE DU CODE 8XF SANS GAIN CORRESPONDANT":"N";
+A88505:anomalie :"A":"885":"05":"PRISE EN CHARGE DU CODE 8XG SANS GAIN CORRESPONDANT":"N";
+A88506:anomalie :"A":"885":"06":"PRISE EN CHARGE DU CODE 8XH SANS GAIN CORRESPONDANT":"N";
+A886:anomalie :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR,8XP,8XQ,8XV,8XF,8XG,8XH":"N";
+A887:anomalie :"A":"887":"00":"REVENU NET CODE 8XR SUPERIEUR AU MONTANT LIGNE 8TK":"N";
+A888:anomalie :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A889:anomalie :"A":"889":"00":"SAISIE CODE 8 FV SANS PRISE EN CHARGE DU CODE 8 ZK":"N";
+A890:anomalie :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:anomalie :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:anomalie :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:anomalie :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:anomalie :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:anomalie :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:anomalie :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:anomalie :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A950:anomalie :"A":"950":"00":"NATIMP OU PPENATREST DIFFERENT DES VALEURS ADMISES":"N";
+A951:anomalie :"A":"951":"00":"CODINI DIFFERENT DES VALEURS ADMISES":"N";
+A954:anomalie :"A":"954":"00":"NATIMPIR DIFFERENT DES VALEURS ADMISES":"N";
+A955:anomalie :"A":"955":"00":"NATCRP DIFFERENT DES VALEURS ADMISES":"N";
+A960:anomalie :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:anomalie :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:anomalie :"A":"961":"02":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96103:anomalie :"A":"961":"03":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17 ET 18)":"O";
+A96201:anomalie :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:anomalie :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:anomalie :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:anomalie :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:anomalie :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:anomalie :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2014, 2015 OU 2016":"N";
+A96303:anomalie :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:anomalie :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2014, 2015 OU 2016":"N";
+A96401:anomalie :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:anomalie :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:anomalie :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2013":"N";
+A96501:anomalie :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:anomalie :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:anomalie :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2013":"N";
+A966:anomalie :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A967:anomalie :"A":"967":"00":"PRESENCE LIGNE 9HI (ISF) DANS LA PERIODE AVANT DECES DU DECLARANT2":"N";
+A96801:anomalie :"A":"968":"01":"CODE 9YT AVEC VALEUR A 0 ET 9YU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96802:anomalie :"A":"968":"02":"CODE 9YU AVEC VALEUR A 0 ET 9YT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96803:anomalie :"A":"968":"03":"CODE 9XT AVEC VALEUR A 0 ET 9XU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96804:anomalie :"A":"968":"04":"CODE 9XU AVEC VALEUR A 0 ET 9XT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96901:anomalie :"A":"969":"01":"R99 SUR LE CODE 9YT ET ABSENCE DE R99 SUR LE CODE 9YU DANS LE MEME EVT":"N";
+A96902:anomalie :"A":"969":"02":"R99 SUR LE CODE 9YU ET ABSENCE DE R99 SUR LE CODE 9YT DANS LE MEME EVT":"N";
+A96903:anomalie :"A":"969":"03":"R99 SUR LE CODE 9XT ET ABSENCE DE R99 SUR LE CODE 9XU DANS LE MEME EVT":"N";
+A96904:anomalie :"A":"969":"04":"R99 SUR LE CODE 9XU ET ABSENCE DE R99 SUR LE CODE 9XT DANS LE MEME EVT":"N";
+A970:anomalie :"A":"970":"00":"PRESENCE D'UN TAUX DE PENALITE POUR UNE MINORATION":"N";
+A971:anomalie :"A":"971":"00":"ABSENCE D'UN TAUX DE PENALITE POUR UN RAPPEL":"N";
+A98001:anomalie :"A":"980":"01":"BASE ISF 9HI <= 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:anomalie :"A":"980":"02":"BASE ISF 9HI >= 2 570 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A98003:anomalie :"A":"980":"03":"LA BASE ISF NE PEUT ETRE INFERIEURE OU EGALE A 1 300 000":"O";
+A98004:anomalie :"A":"980":"04":"LA BASE ISF, INFERIEURE OU EGALE A 1 300 000 E, EST DIFFERENTE DE 0 E":"O";
+A98005:anomalie :"A":"980":"05":"LA BASE ISF NE PEUT ETRE SUPERIEURE OU EGALE A 2 570 000 E":"O";
+A981:anomalie :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:anomalie :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:anomalie :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:anomalie :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:anomalie :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:anomalie :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:anomalie :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:anomalie :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+A990:anomalie :"A":"990":"00":" CODE 8VV INCOMPATIBLE AVEC REGIME VALEUR LOCATIVE":"N";
+A991:anomalie :"A":"991":"00":"CONTENTIEUX AVEC HAUSSE DES PS. REALISER UN TRAITEMENT DIFFERENCIE POUR CES PS.":"N";
+A992:anomalie :"A":"992":"00":"Art. 1731 bis : Calcul automatique des penalites impossible. traitement manuel.":"N";
+A99301:anomalie :"A":"993":"01":"ANNULATION 2042: RAMENER LES REVENUS A 0.":"N";
+A99302:anomalie :"A":"993":"02":"SUPPRESSION du code 9YA impossible, veuillez ressaisir une declaration":"N";
+AS0101:anomalie :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C":"N";
+AS0102:anomalie :"A":"S01":"02":"INCOMPATIBILITE ENTRE DATE DE MARIAGE AVEC OPTION B ET SITUATION M OU O":"N";
+AS0103:anomalie :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE MARIAGE SANS OPTION B ET SITUATION C, D OU V":"N";
+AS0104:anomalie :"A":"S01":"04":"INCOMPATIBILITE ENTRE DATE DE DIVORCE ET SITUATION M OU O":"N";
+AS0105:anomalie :"A":"S01":"05":"INCOMPATIBILITE ENTRE DATES DE DIVORCE ET DE DECES DU CJT ET SITUATION M":"N";
+AS0106:anomalie :"A":"S01":"06":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION D":"N";
+AS02:anomalie :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE":"N";
+AS11:anomalie :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE":"N";
+DD02:discordance :"D":"D02":"00":"VERIFIER LE CUMUL DE 7CF (CAPITAL PME) AVEC 7FN, 7GN ":"N";
+DD03:discordance :"D":"D03":"00":"MONTANT DES FRAIS RCM EXAGERE OU FRAIS AVEC REVENU LIGNE 2FU 2CH 2GO":"N";
+DD04:discordance :"D":"D04":"00":"MONTANT DU CREDIT D'IMPOT EXAGERE":"N";
+DD05:discordance :"D":"D05":"00":"LE REVENU IMPOSABLE EST < AU 1/5 E PAR RAPPORT A CELUI DE N-1":"N";
+DD06:discordance :"D":"D06":"00":"REPORT 7XF,7XI,7XP,7XN,7UY,7XM,7XJ,7XQ,7XV,7UZ,7XO,7XK,7XR > 8333 E OU 16667 E ":"N";
+D
\ No newline at end of file
diff --git a/sources2013m_3_8/errO.m b/sources2013m_3_8/errO.m
new file mode 100644
index 0000000000000000000000000000000000000000..fb6b1c7228042942fd0946fa046e94d3cea86786
--- /dev/null
+++ b/sources2013m_3_8/errO.m
@@ -0,0 +1,335 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 13 Application oceans
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)":"N";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).":"N";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)":"N";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A00108:anomalie :"A":"001":"08":"MONTANT VARIABLE RESTITUEE SUPERIEUR A 8 CARACTERES":"N";
+A004:anomalie :"A":"004":"00":"CASE B COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A005:anomalie :"A":"005":"00":"CASE B NON COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION C, D OU V":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES G, N, W, L":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES G, N, U, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, U, S":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S, U":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT 1 OU DU DECLARANT 2 EST INVRAISEMBLABLE":"N";
+A015:discordance :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A019:anomalie :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A02301:discordance :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:discordance :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:discordance :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENTE DE 2013":"N";
+A02401:discordance :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:discordance :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:discordance :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:discordance :"A":"031":"00":"REV. OU CHARGE AU NOM DU DECLARANT 2 POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A041:anomalie :"A":"041":"00":"Code revenu 8VV, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A042:anomalie :"A":"042":"00":"Code revenu 8VW, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A043:anomalie :"A":"043":"00":"Revenus 8VV et 8VW saisis simultanement, supprimer un des deux codes":"N";
+A044:anomalie :"A":"044":"00":"Code revenu 8VX, saisir le code penalite 32":"N";
+A045:anomalie :"A":"045":"00":"Code penalite 32 accepte uniquement avec le code 8VX":"N";
+A046:discordance :"A":"046":"00":"CODE REVENU 8WW, SAISIR LE CODE PENALITE 30":"N";
+A047:discordance :"A":"047":"00":"CODE PENALITE 30 ACCEPTE UNIQUEMENT AVEC LE CODE REVENU 8WW":"N";
+A048:discordance :"A":"048":"00":"CE CODE PENALITE NE S'APPLIQUE QU'AUX BIC, BNC,BA":"N";
+A077:discordance :"A":"077":"00":"UTILISATION DU CODE 8XK UNIQUEMENT DANS LES DIRECTIONS B31 ET 060":"N";
+A078:anomalie :"A":"078":"00":"CODE 8YK : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A079:discordance :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:discordance :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A085:discordance :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:discordance :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:discordance :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:discordance :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:discordance :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:discordance :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:discordance :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:discordance :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:discordance :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:discordance :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:discordance :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:discordance :"A":"096":"00":"CODES 8YO ET 8YI : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A09801:anomalie :"A":"098":"01":"LIGNE 3SE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09802:anomalie :"A":"098":"02":"LIGNE 3VE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09803:anomalie :"A":"098":"03":"LIGNE 3VV INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A099:discordance :"A":"099":"00":"MONTANT LIGNE 3VE NE PEUT ETRE SUPERIEUR AU MONTANT LIGNE 3SE":"N";
+A100:discordance :"A":"100":"00":"MONTANT LIGNE 3VV SANS PRISE EN CHARGE MONTANT LIGNE 3VE":"N";
+A101:discordance :"A":"101":"00":"MONTANT LIGNE 3VV EXCEDE 45 % DU MONTANT LIGNE 3VE":"N";
+A13901:discordance :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:discordance :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:discordance :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:discordance :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:discordance :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:discordance :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:discordance :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:discordance :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:discordance :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:discordance :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A148:discordance :"A":"148":"00":"SAISIE LIGNE 1LZ OU 1MZ EN ABSENCE DE TAUX EFFECTIF (CODE 8ZR / 8ZN)":"N";
+A14901:discordance :"A":"149":"01":"SAISIE MONTANT LIGNE 1LZ AVEC MONTANT LIGNE 1AC":"N";
+A14902:discordance :"A":"149":"02":"SAISIE MONTANT LIGNE 1MZ AVEC MONTANT LIGNE 1BC":"N";
+A153:discordance :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A154:discordance :"A":"154":"00":"SAISIE IMPOT ACQUITTE A L'ETRANGER SANS SALAIRE CORRESPONDANT":"N";
+A21801:discordance :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:discordance :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A222:discordance :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR":"N";
+A22301:discordance :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:discordance :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A224:discordance :"A":"224":"00":"CREDIT D'IMPOT 2CK > 80 E SANS REVENU CORRESPONDANT":"N";
+A225:discordance :"A":"225":"00":"LE MONTANT 2FA NE PEUT EXCEDER 2000 E":"N";
+A226:discordance :"A":"226":"00":"INCOMPATIBILITE ENTRE MONTANT LIGNE 2TR ET MONTANT LIGNE 2FA":"N";
+A320:discordance :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM, 3VT (PEA)":"N";
+A321:discordance :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A323:discordance :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A324:discordance :"A":"324":"00":"INCOMPATIBILITE ENTRE 3SL (ABATT. SUR P.V) ET 3SM (ABATT. SUR MOINS VALUE)":"N";
+A420:discordance :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:discordance :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:discordance :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:discordance :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:discordance :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:discordance :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:discordance :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:discordance :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:discordance :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:discordance :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:discordance :"A":"538":"00":"REVENUS A IMPOSER AUX PRELEVEMENTS SOCIAUX SANS REVENU CORRESPONDANT":"N";
+A542:discordance :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:discordance :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:discordance :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (DECLAR. 1, DECLAR. 2) NE PEUT DEPASSER 29 098 E":"N";
+A602:discordance :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A603:discordance :"A":"603":"00":"LES LIGNES 6PS, 6PT, 6PU SONT REMPLIES SANS MISE A JOUR DU PLAFOND":"N";
+A700:discordance :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A702:discordance :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR OU 2FA":"N";
+A703:discordance :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC DECLARANTS NES AVANT 1979":"N";
+A704:discordance :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A705:discordance :"A":"705":"00":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A706:discordance :"A":"706":"00":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70701:discordance :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:discordance :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:discordance :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A70901:discordance :"A":"709":"01":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XF A 7UZ":"N";
+A70902:discordance :"A":"709":"02":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XO, 7XK OU 7XR":"N";
+A710:discordance :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:discordance :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:discordance :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:discordance :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:discordance :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:discordance :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:discordance :"A":"714":"00":"REPORT 2012 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2013 (7WO ET 7WN)":"N";
+A715:discordance :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:discordance :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:discordance :"A":"717":"01":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7FA A 7FD":"N";
+A71702:discordance :"A":"717":"02":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7JA A 7JR":"N";
+A71703:discordance :"A":"717":"03":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71704:discordance :"A":"717":"04":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7HJ, 7HK, 7HN ET 7HO":"N";
+A71705:discordance :"A":"717":"05":"INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:discordance :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:discordance :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A72001:anomalie :"A":"720":"01":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE M":"N";
+A72002:anomalie :"A":"720":"02":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE C":"N";
+A72003:anomalie :"A":"720":"03":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR C OU M AU LIEU DE R":"N";
+A721:anomalie :"A":"721":"00":"SENS P IMPOSSIBLE POUR UN CODE ABSENT DE LA 2042":"N";
+A72201:anomalie :"A":"722":"01":"LE MONTANT DU RAPPEL EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72202:anomalie :"A":"722":"02":"LE MONTANT DE LA MINO EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72203:anomalie :"A":"722":"03":"LE MONTANT DE LA CORRECTION EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72204:anomalie :"A":"722":"04":"LE MONTANT DE LA RECTIF EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72206:anomalie :"A":"722":"06":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72207:discordance :"D":"722":"07":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72301:anomalie :"A":"723":"01":"LE MONTANT DU C02 AVEC 2042_RECT EST SUPERIEUR A CELUI DU R02 AVEC INDICATEUR":"N";
+A72302:anomalie :"A":"723":"02":"ANNULATION OU MINORATION DE R02 ET 2042_RECT S'EFFECTUE AVEC C02 et 2042_RECT":"N";
+A724:anomalie :"A":"724":"00":"Majorations 80% apres 2 MED supprimees a compter du 01/01/2006":"N";
+A725:anomalie :"A":"725":"00":"PROCEDURE DE REGULARISATION INTERDITE EN CAS DE NON DEPOT OU DEPOT TARDIF":"N";
+A73001:discordance :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE":"N";
+A73002:discordance :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TF":"N";
+A73003:discordance :"A":"730":"03":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UW ET 7TG":"N";
+A73004:discordance :"A":"730":"04":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UX ET 7TH":"N";
+A731:discordance :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5":"N";
+A733:discordance :"A":"733":"00":"LE CREDIT D IMPOT DE LA LIGNE 7SZ NE PEUT EXCEDER 20 000 E":"N";
+A734:discordance :"A":"734":"00":"LES CASES 7WE ET 7WG NE PEUVENT PAS ETRE SIMULTANEMENT COCHEES":"N";
+A735:discordance :"A":"735":"00":"CASES 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7SD A 7SW":"N";
+A738:discordance :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP":"N";
+A739:discordance :"A":"739":"00":"CASE HQA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:discordance :"A":"740":"01":"LE TOTAL LIGNES HSE + HSJ NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74002:discordance :"A":"740":"02":"LE TOTAL LIGNES HSO + HST + HSY + HTD NE PEUT ETRE SUPERIEUR A 229 500 E":"N";
+A74003:discordance :"A":"740":"03":"LE TOTAL HSE + HSJ + HSO + HST + HSY + HTD NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:discordance :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A743:discordance :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:discordance :"A":"744":"00":"LE MONTANT PORTE LIGNE 7WR NE PEUT DEPASSER 60 000 E":"N";
+A74601:discordance :"A":"746":"01":"LE MONTANT LIGNE HSE NE PEUT EXCEDER LE MONTANT LIGNE HSD":"N";
+A74602:discordance :"A":"746":"02":"LE MONTANT LIGNE HSJ NE PEUT EXCEDER LE MONTANT LIGNE HSI":"N";
+A74603:discordance :"A":"746":"03":"LE MONTANT LIGNE HSO NE PEUT EXCEDER LE MONTANT LIGNE HSN":"N";
+A74604:discordance :"A":"746":"04":"LE MONTANT LIGNE HST NE PEUT EXCEDER LE MONTANT LIGNE HSS":"N";
+A74605:discordance :"A":"746":"05":"LE MONTANT LIGNE HSY NE PEUT EXCEDER LE MONTANT LIGNE HSX":"N";
+A74606:discordance :"A":"746":"06":"LE MONTANT LIGNE HTD NE PEUT EXCEDER LE MONTANT LIGNE HTC":"N";
+A747:discordance :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A74801:discordance :"A":"748":"01":"CASE 7WH COCHEE SANS MONTANT LIGNE 7SD A 7ST ":"N";
+A74802:discordance :"A":"748":"02":"CASE 7WK COCHEE SANS MONTANT LIGNE 7SD A 7SW ":"N";
+A75101:discordance :"A":"751":"01":"CASE 7WT COCHEE SANS MONTANT LIGNE 7SJ":"N";
+A75102:discordance :"A":"751":"02":"CASE 7WC COCHEE SANS MONTANT LIGNE 7SG":"N";
+A75103:discordance :"A":"751":"03":"CASE 7VG COCHEE SANS MONTANT LIGNE 7SH":"N";
+A760:discordance :"A":"760":"00":"LE SENS DU RAPPEL SAISI N'APPARTIENT PAS AUX VALEURS POSSIBLES":"N";
+A770:discordance :"A":"770":"00":"SI LE CODE RAPPEL EST P, LE CODE MAJO DOIT ETRE 07,08,10,11,17,18 ou 31":"N";
+A780:discordance :"A":"780":"00":"MOIS OU ANNEE DE LA DATE DE NOTIFICATION INVRAISEMBLABLE":"N";
+A800:discordance :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:discordance :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:discordance :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF 8ZR/8ZN ET PRORATA METRO-DOM":"N";
+A80203:discordance :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF AUTOMATIQUE ET PRORATA METRO-DOM":"N";
+A803:discordance :"A":"803":"00":"CODES DAJ, DBJ, EAJ, EBJ PRIS EN CHARGE DANS DIRECTION AUTRE QUE METROPOLE":"N";
+A804:discordance :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:discordance :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A807:discordance :"A":"807":"00":"SAISIE CODE 8XT SANS LIGNE 1AT OU 1BT":"N";
+A821:discordance :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A854:anomalie :"A":"854":"00":"SAISIE DU CODE 8YV INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A856:discordance :"A":"856":"00":"CREDIT D IMPOT (8UV) EXAGERE PAR RAPPORT AUX T.S ET PENSIONS":"N";
+A858:discordance :"A":"858":"00":"LES LIGNES 8TL, 8UW SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A859:discordance :"A":"859":"00":"LA LIGNE 8WC EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:discordance :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A863:anomalie :"A":"863":"00":"LE CODE 8UX EST SAISI SANS REVENU AUTO-ENTREPRENEUR":"N";
+A864:discordance :"A":"864":"00":"CSG A 7,5 % PROVISOIRE SUR GAINS LIGNE 1TT, 1UT > CSG DUE":"N";
+A865:discordance :"A":"865":"00":"CONTRIBUTION SALARIALE PROVISOIRE 10 % (8YT) > A CONTRIBUTION DUE":"N";
+A86601:discordance :"A":"866":"01":"CSG A 7,5% PROVISOIRE (8YD) >  CSG DUE":"N";
+A86602:discordance :"A":"866":"02":"CSG A 7,5% PROVISOIRE (8YE) > CSG DUE":"N";
+A86603:discordance :"A":"866":"03":"CSG A 6,6% PROVISOIRE (8YF) > CSG DUE":"N";
+A86604:discordance :"A":"866":"04":"CSG A 6,2% PROVISOIRE (8YG) > CSG DUE":"N";
+A86605:discordance :"A":"866":"05":"CSG A 3,8% PROVISOIRE (8YH) > CSG DUE":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A870:discordance :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:discordance :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:discordance :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A87801:discordance :"A":"878":"01":"SAISIE CODE 8XA SANS REVENU LIGNE 8TQ":"N";
+A87802:discordance :"A":"878":"02":"SAISIE CODE 8XB SANS REVENU LIGNE 8TR":"N";
+A87803:discordance :"A":"878":"03":"SAISIE CODE 8XC SANS REVENU LIGNE 8TV":"N";
+A87804:discordance :"A":"878":"04":"SAISIE CODE 8XD SANS REVENU LIGNE 8TW":"N";
+A87805:discordance :"A":"878":"05":"SAISIE CODE 8XE SANS REVENU LIGNE 8TX":"N";
+A879:discordance :"A":"879":"00":"LA LIGNE 8TG, 8TS EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:discordance :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:discordance :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A88201:discordance :"A":"882":"01":"LA LIGNE 8TI EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN OU INVERSEMENT":"N";
+A88202:discordance :"A":"882":"02":"SAISIE DU CODE 8YC, 8YJ SANS PRISE EN CHARGE DE TAUX EFFECTIF":"N";
+A883:discordance :"A":"883":"00":"LIGNE 8TK REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP, 8XQ, 8XT, 8XF, 8XG, 8XH, 8XV":"N";
+A884:discordance :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A88501:discordance :"A":"885":"01":"PRISE EN CHARGE DU CODE 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A88502:discordance :"A":"885":"02":"PRISE EN CHARGE DU CODE 8XV SANS REVENU LIGNE 2FA CORRESPONDANT":"N";
+A88503:discordance :"A":"885":"03":"PRISE EN CHARGE DU CODE 8XP SANS GAIN CORRESPONDANT":"N";
+A88504:discordance :"A":"885":"04":"PRISE EN CHARGE DU CODE 8XF SANS GAIN CORRESPONDANT":"N";
+A88505:discordance :"A":"885":"05":"PRISE EN CHARGE DU CODE 8XG SANS GAIN CORRESPONDANT":"N";
+A88506:discordance :"A":"885":"06":"PRISE EN CHARGE DU CODE 8XH SANS GAIN CORRESPONDANT":"N";
+A886:discordance :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR,8XP,8XQ,8XV,8XF,8XG,8XH":"N";
+A888:discordance :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A890:discordance :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:discordance :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:discordance :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:discordance :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:discordance :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:discordance :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:discordance :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:discordance :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A950:discordance :"A":"950":"00":"NATIMP OU PPENATREST DIFFERENT DES VALEURS ADMISES":"N";
+A951:discordance :"A":"951":"00":"CODINI DIFFERENT DES VALEURS ADMISES":"N";
+A954:discordance :"A":"954":"00":"NATIMPIR DIFFERENT DES VALEURS ADMISES":"N";
+A955:discordance :"A":"955":"00":"NATCRP DIFFERENT DES VALEURS ADMISES":"N";
+A960:discordance :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:discordance :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:discordance :"A":"961":"02":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96103:discordance :"A":"961":"03":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17 ET 18)":"O";
+A96201:discordance :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:discordance :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:discordance :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:discordance :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:discordance :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:discordance :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2014, 2015 OU 2016":"N";
+A96303:discordance :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:discordance :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2014, 2015 OU 2016":"N";
+A96401:discordance :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:discordance :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:discordance :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2013":"N";
+A96501:discordance :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:discordance :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:discordance :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2013":"N";
+A966:discordance :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A96801:anomalie :"A":"968":"01":"CODE 9YT AVEC VALEUR A 0 ET 9YU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96802:anomalie :"A":"968":"02":"CODE 9YU AVEC VALEUR A 0 ET 9YT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96803:anomalie :"A":"968":"03":"CODE 9XT AVEC VALEUR A 0 ET 9XU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96804:anomalie :"A":"968":"04":"CODE 9XU AVEC VALEUR A 0 ET 9XT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96901:anomalie :"A":"969":"01":"R99 SUR LE CODE 9YT ET ABSENCE DE R99 SUR LE CODE 9YU DANS LE MEME EVT":"N";
+A96902:anomalie :"A":"969":"02":"R99 SUR LE CODE 9YU ET ABSENCE DE R99 SUR LE CODE 9YT DANS LE MEME EVT":"N";
+A96903:anomalie :"A":"969":"03":"R99 SUR LE CODE 9XT ET ABSENCE DE R99 SUR LE CODE 9XU DANS LE MEME EVT":"N";
+A96904:anomalie :"A":"969":"04":"R99 SUR LE CODE 9XU ET ABSENCE DE R99 SUR LE CODE 9XT DANS LE MEME EVT":"N";
+A970:anomalie :"A":"970":"00":"PRESENCE D'UN TAUX DE PENALITE POUR UNE MINORATION":"N";
+A971:anomalie :"A":"971":"00":"ABSENCE D'UN TAUX DE PENALITE POUR UN RAPPEL":"N";
+A98001:discordance :"A":"980":"01":"BASE ISF 9HI <= 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:discordance :"A":"980":"02":"BASE ISF 9HI >= 2 570 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A98003:discordance :"A":"980":"03":"LA BASE ISF NE PEUT ETRE INFERIEURE OU EGALE A 1 300 000":"O";
+A98004:discordance :"A":"980":"04":"LA BASE ISF, INFERIEURE OU EGALE A 1 300 000 E, EST DIFFERENTE DE 0 E":"O";
+A98005:discordance :"A":"980":"05":"LA BASE ISF NE PEUT ETRE SUPERIEURE OU EGALE A 2 570 000 E":"O";
+A981:discordance :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:discordance :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:discordance :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:discordance :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:discordance :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:discordance :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:discordance :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:discordance :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+A990:discordance :"A":"990":"00":" CODE 8VV INCOMPATIBLE AVEC REGIME VALEUR LOCATIVE":"N";
+A992:discordance :"A":"992":"00":"Art. 1731 bis : Calcul automatique des penalites impossible. traitement manuel.":"N";
+A99301:anomalie :"A":"993":"01":"ANNULATION 2042: RAMENER LES REVENUS A 0.":"N";
+A99302:anomalie :"A":"993":"02":"SUPPRESSION du code 9YA impossible, veuillez ressaisir une declaration":"N";
+AS0101:discordance :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C":"N";
+AS0102:discordance :"A":"S01":"02":"INCOMPATIBILITE ENTRE DATE DE MARIAGE AVEC OPTION B ET SITUATION M OU O":"N";
+AS0103:discordance :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE MARIAGE SANS OPTION B ET SITUATION C, D OU V":"N";
+AS0104:discordance :"A":"S01":"04":"INCOMPATIBILITE ENTRE DATE DE DIVORCE ET SITUATION M OU O":"N";
+AS0105:discordance :"A":"S01":"05":"INCOMPATIBILITE ENTRE DATES DE DIVORCE ET DE DECES DU CJT ET SITUATION M":"N";
+AS0106:discordance :"A":"S01":"06":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION D":"N";
+AS02:discordance :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE":"N";
+AS11:discordance :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE":"N";
+DD55:discordance :"D":"D55":"00":"LES LIGNES 8TR, 8TQ, 8TV, 8TW, 8TX SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+DD57:discordance :"D":"D57":"00":"LE MONTANT 7LF, 7LZ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD58:discordance :"D":"D58":"00":"LE MONTANT 7IZ, 7JI (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD6101:discordance :"D":"D61":"01":"GAINS PORTES LIGNE 3VN SANS GAINS LIGNE 3VD, 3VI, 3VF, 3VJ":"N";
+DD6102:discordance :"D":"D61":"02":"GAINS PORTES LIGNE 3SN SANS GAINS LIGNE 3SD, 3SI, 3SF, 3VK":"N";
+DD62:discordance :"D":"D62":"00":"CASE 7WH COCHEE SANS DEPENSES AVEC BOUQUET DE TRAVAUX":"N";
+DD63:discordance :"D":"D63":"00":"MONTANT 8ZR INFERIEUR A REVENU MONDIAL DECLARE":"N";
+DD64:discordance :"D":"D64":"00":"LE MONTANT 7MG (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD65:discordance :"D":"D65":"00":"LE MONTANT 7JS (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+I015:informative :"I":"015":"00":"LE MONTANT 2AA,2AL,2AM,2AN,2AQ,2AR (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+I016:informative :"I":"016":"00":"LIGNES 3WA, 3WB, 3WI DECLAREES : DOSSIER A TRANSFERER A LA DRESG":"N";
+IM1101:informative :"I":"M11":"01":" NB DE P.A.C. CODE F DIFFERENT NB DATES DE NAISSANCE":"N";
+IM41:informative :"I":"M41":"00":"ANNULATION OU MINORATION DE R02 ET 2042_RECT S'EFFECTUE AVEC C02 et 2042_RECT":"N";
+IM42:informative :"I":"M42":"00":"ART. 1731 bis : les deficits et reductions d impot ont ete limites":"N";
diff --git a/sources2013m_3_8/errP.m b/sources2013m_3_8/errP.m
new file mode 100644
index 0000000000000000000000000000000000000000..874b2305ceea387093cfe940029368da03039ecc
--- /dev/null
+++ b/sources2013m_3_8/errP.m
@@ -0,0 +1,342 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 13 Application pro
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)":"N";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).":"N";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)":"N";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A00108:anomalie :"A":"001":"08":"MONTANT VARIABLE RESTITUEE SUPERIEUR A 8 CARACTERES":"N";
+A004:anomalie :"A":"004":"00":"CASE B COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A005:anomalie :"A":"005":"00":"CASE B NON COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION C, D OU V":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES G, N, W, L":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES G, N, U, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, U, S":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S, U":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT 1 OU DU DECLARANT 2 EST INVRAISEMBLABLE":"N";
+A015:discordance :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A019:discordance :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A021:anomalie :"A":"021":"00":"ATTENTION DATES DE NAISSANCE PAC PRISES EN CHARGE SANS CODE 0CF, 0CH":"N";
+A02301:anomalie :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:anomalie :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:anomalie :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENTE DE 2013":"N";
+A02401:anomalie :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:anomalie :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:anomalie :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:anomalie :"A":"031":"00":"REV. OU CHARGE AU NOM DU DECLARANT 2 POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A077:anomalie :"A":"077":"00":"UTILISATION DU CODE 8XK UNIQUEMENT DANS LES DIRECTIONS B31 ET 060":"N";
+A078:anomalie :"A":"078":"00":"CODE 8YK : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A079:anomalie :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:anomalie :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A082:anomalie :"A":"082":"00":"LE CODE REGIME D IMPOSITION EST DIFFERENT DE 1,2 ou 4":"N";
+A083:anomalie :"A":"083":"00":"UTILISATION DU CODE 8ZA UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A085:anomalie :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:anomalie :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:anomalie :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:anomalie :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:anomalie :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:anomalie :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:anomalie :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:anomalie :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:anomalie :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:anomalie :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:anomalie :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:anomalie :"A":"096":"00":"CODES 8YO ET 8YI : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A09801:anomalie :"A":"098":"01":"LIGNE 3SE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09802:anomalie :"A":"098":"02":"LIGNE 3VE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09803:anomalie :"A":"098":"03":"LIGNE 3VV INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A099:anomalie :"A":"099":"00":"MONTANT LIGNE 3VE NE PEUT ETRE SUPERIEUR AU MONTANT LIGNE 3SE":"N";
+A100:anomalie :"A":"100":"00":"MONTANT LIGNE 3VV SANS PRISE EN CHARGE MONTANT LIGNE 3VE":"N";
+A101:anomalie :"A":"101":"00":"MONTANT LIGNE 3VV EXCEDE 45 % DU MONTANT LIGNE 3VE":"N";
+A13901:anomalie :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:anomalie :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:anomalie :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:anomalie :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:anomalie :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:anomalie :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:anomalie :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:anomalie :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:anomalie :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:anomalie :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A148:anomalie :"A":"148":"00":"SAISIE LIGNE 1LZ OU 1MZ EN ABSENCE DE TAUX EFFECTIF (CODE 8ZR / 8ZN)":"N";
+A14901:anomalie :"A":"149":"01":"SAISIE MONTANT LIGNE 1LZ AVEC MONTANT LIGNE 1AC":"N";
+A14902:anomalie :"A":"149":"02":"SAISIE MONTANT LIGNE 1MZ AVEC MONTANT LIGNE 1BC":"N";
+A153:anomalie :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A154:anomalie :"A":"154":"00":"SAISIE IMPOT ACQUITTE A L'ETRANGER SANS SALAIRE CORRESPONDANT":"N";
+A21801:anomalie :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:anomalie :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A222:anomalie :"A":"222":"00":"LE MONTANT 2BH NE PEUT ETRE > AU TOTAL 2DC + 2CH + 2TS + 2TR":"N";
+A22301:anomalie :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:anomalie :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A224:anomalie :"A":"224":"00":"CREDIT D'IMPOT 2CK > 80 E SANS REVENU CORRESPONDANT":"N";
+A225:anomalie :"A":"225":"00":"LE MONTANT 2FA NE PEUT EXCEDER 2000 E":"N";
+A226:anomalie :"A":"226":"00":"INCOMPATIBILITE ENTRE MONTANT LIGNE 2TR ET MONTANT LIGNE 2FA":"N";
+A320:anomalie :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM, 3VT (PEA)":"N";
+A321:anomalie :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A323:anomalie :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A324:anomalie :"A":"324":"00":"INCOMPATIBILITE ENTRE 3SL (ABATT. SUR P.V) ET 3SM (ABATT. SUR MOINS VALUE)":"N";
+A420:anomalie :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:anomalie :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:anomalie :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:anomalie :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:anomalie :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:anomalie :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:anomalie :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:anomalie :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:anomalie :"A":"538":"00":"REVENUS A IMPOSER AUX PRELEVEMENTS SOCIAUX SANS REVENU CORRESPONDANT":"N";
+A542:anomalie :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:anomalie :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:anomalie :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (DECLAR. 1, DECLAR. 2) NE PEUT DEPASSER 29 098 E":"N";
+A602:anomalie :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A604:anomalie :"A":"604":"00":"MUTUALISATION DEMANDEE (6QR) SANS PLAFOND CORRESPONDANT POUR LES DEUX DECLARANTS":"N";
+A60501:anomalie :"A":"605":"01":"LE MONTANT 6 QS NE PEUT ETRE INFERIEUR AU MONTANT DE 1 SM":"N";
+A60502:anomalie :"A":"605":"02":"LE MONTANT 6 QT NE PEUT ETRE INFERIEUR AU MONTANT DE 1 DN":"N";
+A700:anomalie :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A702:anomalie :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR OU 2FA":"N";
+A703:anomalie :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC DECLARANTS NES AVANT 1979":"N";
+A704:anomalie :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A705:anomalie :"A":"705":"00":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A706:anomalie :"A":"706":"00":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70701:anomalie :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:anomalie :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:anomalie :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A70901:anomalie :"A":"709":"01":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XF A 7UZ":"N";
+A70902:anomalie :"A":"709":"02":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XO, 7XK OU 7XR":"N";
+A710:anomalie :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:anomalie :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:anomalie :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:anomalie :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:anomalie :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:anomalie :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:anomalie :"A":"714":"00":"REPORT 2012 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2013 (7WO ET 7WN)":"N";
+A715:anomalie :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:anomalie :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:anomalie :"A":"717":"01":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7FA A 7FD":"N";
+A71702:anomalie :"A":"717":"02":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7JA A 7JR":"N";
+A71703:anomalie :"A":"717":"03":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71704:anomalie :"A":"717":"04":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7HJ, 7HK, 7HN ET 7HO":"N";
+A71705:anomalie :"A":"717":"05":"INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:anomalie :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:anomalie :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A73001:anomalie :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TE":"N";
+A73002:anomalie :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TF":"N";
+A73003:anomalie :"A":"730":"03":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UW ET 7TG":"N";
+A73004:anomalie :"A":"730":"04":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UX ET 7TH":"N";
+A731:anomalie :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5":"N";
+A733:anomalie :"A":"733":"00":"LE CREDIT D IMPOT DE LA LIGNE 7SZ NE PEUT EXCEDER 20 000 E":"N";
+A734:anomalie :"A":"734":"00":"LES CASES 7WE ET 7WG NE PEUVENT PAS ETRE SIMULTANEMENT COCHEES":"N";
+A735:anomalie :"A":"735":"00":"CASES 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7SD A 7SW":"N";
+A738:anomalie :"A":"738":"00":"CASE 7 UT COCHEE SANS PRISE EN CHARGE MONTANT LIGNE 7 UP":"N";
+A739:anomalie :"A":"739":"00":"CASE HQA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:anomalie :"A":"740":"01":"LE TOTAL LIGNES HSE + HSJ NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74002:anomalie :"A":"740":"02":"LE TOTAL LIGNES HSO + HST + HSY + HTD NE PEUT ETRE SUPERIEUR A 229 500 E":"N";
+A74003:anomalie :"A":"740":"03":"LE TOTAL HSE + HSJ + HSO + HST + HSY + HTD NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:anomalie :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A743:anomalie :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:anomalie :"A":"744":"00":"LE MONTANT PORTE LIGNE 7WR NE PEUT DEPASSER 60 000 E":"N";
+A74601:anomalie :"A":"746":"01":"LE MONTANT LIGNE HSE NE PEUT EXCEDER LE MONTANT LIGNE HSD":"N";
+A74602:anomalie :"A":"746":"02":"LE MONTANT LIGNE HSJ NE PEUT EXCEDER LE MONTANT LIGNE HSI":"N";
+A74603:anomalie :"A":"746":"03":"LE MONTANT LIGNE HSO NE PEUT EXCEDER LE MONTANT LIGNE HSN":"N";
+A74604:anomalie :"A":"746":"04":"LE MONTANT LIGNE HST NE PEUT EXCEDER LE MONTANT LIGNE HSS":"N";
+A74605:anomalie :"A":"746":"05":"LE MONTANT LIGNE HSY NE PEUT EXCEDER LE MONTANT LIGNE HSX":"N";
+A74606:anomalie :"A":"746":"06":"LE MONTANT LIGNE HTD NE PEUT EXCEDER LE MONTANT LIGNE HTC":"N";
+A747:anomalie :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A74801:anomalie :"A":"748":"01":"CASE 7WH COCHEE SANS MONTANT LIGNE 7SD A 7ST ":"N";
+A74802:anomalie :"A":"748":"02":"CASE 7WK COCHEE SANS MONTANT LIGNE 7SD A 7SW ":"N";
+A75101:anomalie :"A":"751":"01":"CASE 7WT COCHEE SANS MONTANT LIGNE 7SJ":"N";
+A75102:anomalie :"A":"751":"02":"CASE 7WC COCHEE SANS MONTANT LIGNE 7SG":"N";
+A75103:anomalie :"A":"751":"03":"CASE 7VG COCHEE SANS MONTANT LIGNE 7SH":"N";
+A800:anomalie :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:anomalie :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:anomalie :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF 8ZR/8ZN ET PRORATA METRO-DOM":"N";
+A80203:anomalie :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF AUTOMATIQUE ET PRORATA METRO-DOM":"N";
+A803:anomalie :"A":"803":"00":"CODES DAJ, DBJ, EAJ, EBJ PRIS EN CHARGE DANS DIRECTION AUTRE QUE METROPOLE":"N";
+A804:anomalie :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:anomalie :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A807:anomalie :"A":"807":"00":"SAISIE CODE 8XT SANS LIGNE 1AT OU 1BT":"N";
+A821:anomalie :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A856:anomalie :"A":"856":"00":"CREDIT D IMPOT (8UV) EXAGERE PAR RAPPORT AUX T.S ET PENSIONS":"N";
+A858:anomalie :"A":"858":"00":"LES LIGNES 8TL, 8UW SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A859:anomalie :"A":"859":"00":"LA LIGNE 8WC EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:anomalie :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A864:anomalie :"A":"864":"00":"CSG A 7,5 % PROVISOIRE SUR GAINS LIGNE 1TT, 1UT > CSG DUE":"N";
+A865:anomalie :"A":"865":"00":"CONTRIBUTION SALARIALE PROVISOIRE 10 % (8YT) > A CONTRIBUTION DUE":"N";
+A86601:anomalie :"A":"866":"01":"CSG A 7,5% PROVISOIRE (8YD) >  CSG DUE":"N";
+A86602:anomalie :"A":"866":"02":"CSG A 7,5% PROVISOIRE (8YE) > CSG DUE":"N";
+A86603:anomalie :"A":"866":"03":"CSG A 6,6% PROVISOIRE (8YF) > CSG DUE":"N";
+A86604:anomalie :"A":"866":"04":"CSG A 6,2% PROVISOIRE (8YG) > CSG DUE":"N";
+A86605:anomalie :"A":"866":"05":"CSG A 3,8% PROVISOIRE (8YH) > CSG DUE":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A870:anomalie :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:anomalie :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:anomalie :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A87801:anomalie :"A":"878":"01":"SAISIE CODE 8XA SANS REVENU LIGNE 8TQ":"N";
+A87802:anomalie :"A":"878":"02":"SAISIE CODE 8XB SANS REVENU LIGNE 8TR":"N";
+A87803:anomalie :"A":"878":"03":"SAISIE CODE 8XC SANS REVENU LIGNE 8TV":"N";
+A87804:anomalie :"A":"878":"04":"SAISIE CODE 8XD SANS REVENU LIGNE 8TW":"N";
+A87805:anomalie :"A":"878":"05":"SAISIE CODE 8XE SANS REVENU LIGNE 8TX":"N";
+A879:anomalie :"A":"879":"00":"LA LIGNE 8TG, 8TS EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:anomalie :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:anomalie :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A88201:anomalie :"A":"882":"01":"LA LIGNE 8TI EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN OU INVERSEMENT":"N";
+A88202:anomalie :"A":"882":"02":"SAISIE DU CODE 8YC, 8YJ SANS PRISE EN CHARGE DE TAUX EFFECTIF":"N";
+A883:anomalie :"A":"883":"00":"LIGNE 8TK REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP, 8XQ, 8XT, 8XF, 8XG, 8XH, 8XV":"N";
+A884:anomalie :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A88501:anomalie :"A":"885":"01":"PRISE EN CHARGE DU CODE 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A88502:anomalie :"A":"885":"02":"PRISE EN CHARGE DU CODE 8XV SANS REVENU LIGNE 2FA CORRESPONDANT":"N";
+A88503:anomalie :"A":"885":"03":"PRISE EN CHARGE DU CODE 8XP SANS GAIN CORRESPONDANT":"N";
+A88504:anomalie :"A":"885":"04":"PRISE EN CHARGE DU CODE 8XF SANS GAIN CORRESPONDANT":"N";
+A88505:anomalie :"A":"885":"05":"PRISE EN CHARGE DU CODE 8XG SANS GAIN CORRESPONDANT":"N";
+A88506:anomalie :"A":"885":"06":"PRISE EN CHARGE DU CODE 8XH SANS GAIN CORRESPONDANT":"N";
+A886:anomalie :"A":"886":"00":"SAISIE DU CODE 8TU SANS PRISE EN CHARGE DU CODE 8XR,8XP,8XQ,8XV,8XF,8XG,8XH":"N";
+A887:anomalie :"A":"887":"00":"REVENU NET CODE 8XR SUPERIEUR AU MONTANT LIGNE 8TK":"N";
+A888:anomalie :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A889:anomalie :"A":"889":"00":"SAISIE CODE 8 FV SANS PRISE EN CHARGE DU CODE 8 ZK":"N";
+A890:anomalie :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:anomalie :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:anomalie :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:anomalie :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:anomalie :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:anomalie :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:anomalie :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:anomalie :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A960:anomalie :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:anomalie :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:anomalie :"A":"961":"02":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96103:anomalie :"A":"961":"03":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17 ET 18)":"O";
+A96201:anomalie :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:anomalie :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:anomalie :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:anomalie :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:anomalie :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:anomalie :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2014, 2015 OU 2016":"N";
+A96303:anomalie :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:anomalie :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2014, 2015 OU 2016":"N";
+A96401:anomalie :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:anomalie :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:anomalie :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2013":"N";
+A96501:anomalie :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:anomalie :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:anomalie :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2013":"N";
+A966:anomalie :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A98001:anomalie :"A":"980":"01":"BASE ISF 9HI <= 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:anomalie :"A":"980":"02":"BASE ISF 9HI >= 2 570 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A981:anomalie :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:anomalie :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:anomalie :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:anomalie :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:anomalie :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:anomalie :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:anomalie :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:anomalie :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+A992:anomalie :"A":"992":"00":"Art. 1731 bis : Calcul automatique des penalites impossible. traitement manuel.":"N";
+AS0101:anomalie :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C":"N";
+AS0102:anomalie :"A":"S01":"02":"INCOMPATIBILITE ENTRE DATE DE MARIAGE AVEC OPTION B ET SITUATION M OU O":"N";
+AS0103:anomalie :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE MARIAGE SANS OPTION B ET SITUATION C, D OU V":"N";
+AS0104:anomalie :"A":"S01":"04":"INCOMPATIBILITE ENTRE DATE DE DIVORCE ET SITUATION M OU O":"N";
+AS0105:anomalie :"A":"S01":"05":"INCOMPATIBILITE ENTRE DATES DE DIVORCE ET DE DECES DU CJT ET SITUATION M":"N";
+AS0106:anomalie :"A":"S01":"06":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION D":"N";
+AS02:anomalie :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE":"N";
+AS11:anomalie :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE":"N";
+DD02:discordance :"D":"D02":"00":"VERIFIER LE CUMUL DE 7CF (CAPITAL PME) AVEC 7FN, 7GN ":"N";
+DD03:discordance :"D":"D03":"00":"MONTANT DES FRAIS RCM EXAGERE OU FRAIS AVEC REVENU LIGNE 2FU 2CH 2GO":"N";
+DD04:discordance :"D":"D04":"00":"MONTANT DU CREDIT D'IMPOT EXAGERE":"N";
+DD06:discordance :"D":"D06":"00":"REPORT 7XF,7XI,7XP,7XN,7UY,7XM,7XJ,7XQ,7XV,7UZ,7XO,7XK,7XR > 8333 E OU 16667 E ":"N";
+DD07:discordance :"D":"D07":"00":"LE MONTANT 7QZ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD08:discordance :"D":"D08":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+DD09:discordance :"D":"D09":"00":"CREDIT PRET ETUDIANT LIGNE 7TD DEJA OBTENU EN N-1":"N";
+DD10:discordance :"D":"D10":"00":"ENFANTS BENEFICIANT DE FRAIS DE GARDE > AU NOMBRE D'ENFANTS < 7 ANS":"N";
+DD11:discordance :"D":"D11":"00":"REGIME MICRO-FONCIER (4BE) AVEC DEFICITS FONCIERS ANTERIEURS (4BD)":"N";
+DD13:discordance :"D":"D13":"00":"SITUATION FORFAITAIRE A DENONCER SELON LES TERMES DE L'ARTICLE 69A2 DU CGI":"N";
+DD14:discordance :"D":"D14":"00":"LE MONTANT 2CG EST > AU TOTAL DES LIGNES 2DC + 2CH + 2TS + 2TR + 2FA":"N";
+DD15:discordance :"D":"D15":"00":"LE MONTANT 7WP (REPORT 2012) EST > AU MONTANT CALCULE DE N-1":"N";
+DD16:discordance :"D":"D16":"00":"FRAIS D'ACCUEIL ET PERSONNE A CHARGE AVEC CARTE D'INVALIDITE":"N";
+DD19:discordance :"D":"D19":"00":"NOMBRE LIGNE 7FG > NOMBRE DE RUBRIQUES ADMISES DU o5":"N";
+DD21:discordance :"D":"D21":"00":"SAISIE DE 7DF,7DB ET 7DG SANS INVALIDITE CADRE A (CODE PF) OU C (CODE G,I,R)":"N";
+DD27:discordance :"D":"D27":"00":"LE MONTANT 7CL,7CM,7CN,7CC,7CQ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD28:discordance :"D":"D28":"00":"CREDIT 8WB DEJA OBTENU EN N-1 : 1SEUL CREDIT PAR ENTREPRISE":"N";
+DD29:discordance :"D":"D29":"00":"LE MONTANT 7XS,7XT,7XU,7XW,7XY (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD32:discordance :"D":"D32":"00":"CREDIT SALARIE A DOMICILE SANS REVENU D ACTIVITE : VERIFIEZ LA SITUATION":"N";
+DD34:discordance :"D":"D34":"00":"VERIFIER LE CUMUL 7FM AVEC 7FQ, 7GQ":"N";
+DD35:discordance :"D":"D35":"00":"CASE NOUVEAU RESIDENT LIGNE 6QW DEJA SAISIE EN N-1":"N";
+DD3601:discordance :"D":"D36":"01":"CASE 7WG COCHEE AVEC UN RFR 2010 SUPERIEUR A 30 000 E":"N";
+DD3602:discordance :"D":"D36":"02":"CASE 7WE COCHEE AVEC UN RFR 2011 SUPERIEUR A 30 000 E":"N";
+DD37:discordance :"D":"D37":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+DD3801:discordance :"D":"D38":"01":"REGIME AUTO-ENTREPRENEUR AVEC RFR 2011 SUPERIEUR A LIMITE ADMISE":"N";
+DD3802:discordance :"D":"D38":"02":"REGIME AUTO-ENTREPRENEUR SANS RFR DE 2011":"N";
+DD39:discordance :"D":"D39":"00":"LE MONTANT 6 HJ, 6HK, 6HL, 6HM (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD40:discordance :"D":"D40":"00":"LE MONTANT 7LA, 7LB, 7LE, 7LM (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD41:discordance :"D":"D41":"00":"LE MONTANT 7IS, 7IU, 7IX, 7IY (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD42:discordance :"D":"D42":"00":"LE MONTANT 7UU,7TE,7UV,7TF,7UW,7TG,7UX,7TH (REPORT) EST > AU MONTANT CALCULE N-1":"N";
+DD43:discordance :"D":"D43":"00":"REPORTS REDUCTION INVEST. DOM ENTREPRISE SONT > AUX MONTANTS CALCULES DE N-1":"N";
+DD44:discordance :"D":"D44":"00":"REPORTS REDUCTION LOGEMENT SOCIAL SONT > AUX MONTANTS CALCULES DE N-1":"N";
+DD45:discordance :"D":"D45":"00":"REPORT 'SCELLIER'  > 33 333 E":"N";
+DD46:discordance :"D":"D46":"00":"REPORT LIGNE 7IP, 7IQ, 7IR, 7IK > 33 333 E":"N";
+DD48:discordance :"D":"D48":"00":"LE MONTANT 7LC, 7LD, 7LS (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD49:discordance :"D":"D49":"00":"LE MONTANT 7IT, 7IH, 7JC (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD50:discordance :"D":"D50":"00":"LE MONTANT 7KB, 7KC, 7KD (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD52:discordance :"D":"D52":"00":"DEFICIT LOC. MEUB. NON PROF. DECLARE (5GA A 5GJ) > A DEFICIT CALCULE EN N-1":"N";
+DD53:discordance :"D":"D53":"00":"DEFICIT BIC NON PROF. DECLARE (5RN A 5RW) > A DEFICIT CALCULE EN N-1":"N";
+DD54:discordance :"D":"D54":"00":"CASE 7WG COCHEE AVEC LIGNES 7TT A 7TY,  7SD A 7SW SAISIES":"N";
+DD55:discordance :"D":"D55":"00":"LES LIGNES 8TR, 8TQ, 8TV, 8TW, 8TX SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+DD57:discordance :"D":"D57":"00":"LE MONTANT 7LF, 7LZ (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD58:discordance :"D":"D58":"00":"LE MONTANT 7IZ, 7JI (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD6101:discordance :"D":"D61":"01":"GAINS PORTES LIGNE 3VN SANS GAINS LIGNE 3VD, 3VI, 3VF, 3VJ":"N";
+DD6102:discordance :"D":"D61":"02":"GAINS PORTES LIGNE 3SN SANS GAINS LIGNE 3SD, 3SI, 3SF, 3VK":"N";
+DD62:discordance :"D":"D62":"00":"CASE 7WH COCHEE SANS DEPENSES AVEC BOUQUET DE TRAVAUX":"N";
+DD63:discordance :"D":"D63":"00":"MONTANT 8ZR INFERIEUR A REVENU MONDIAL DECLARE":"N";
+DD64:discordance :"D":"D64":"00":"LE MONTANT 7MG (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD65:discordance :"D":"D65":"00":"LE MONTANT 7JS (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+I00101:informative :"I":"001":"01":"COTIS. SYNDICALES NON RETENUES (DECLAR. 1) : SALAIRES + FRAIS REELS":"N";
+I00102:informative :"I":"001":"02":"COTIS. SYNDICALES NON RETENUES (DECLAR. 2) : SALAIRES + FRAIS REELS":"N";
+I00103:informative :"I":"001":"03":"COTISATIONS SYNDICALES NON RETENUES (PAC) : SALAIRES + FRAIS REELS":"N";
+I008:informative :"I":"008":"00":"LE NOMBRE DE PERSONNE (6EV) N'EST PAS INDIQUE":"N";
+I009:informative :"I":"009":"00":"LE NOMBRE D'EXPLOITATIONS (7FG) N'EST PAS INDIQUE.":"N";
+I010:informative :"I":"010":"00":"REVENUS OU CHARGE AU NOM DU DECLARANT 2 OU PARTENAIRE POUR UN CONTRIBUABLE VEUF":"N";
+I011:informative :"I":"011":"00":"1/2 PART SUPP. NON RETENUE (CASE S) : VOUS + CJT NES APRES 1938":"N";
+I012:informative :"I":"012":"00":"1/2 PART SUPP. NON RETENUE (CASE W) : CONTRIBUABLE NE APRES 1938":"N";
+I015:informative :"I":"015":"00":"LE MONTANT 2AA,2AL,2AM,2AN,2AQ,2AR (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+I016:informative :"I":"016":"00":"LIGNES 3WA, 3WB, 3WI DECLAREES : DOSSIER A TRANSFERER A LA DRESG":"N";
+IM03:informative :"I":"M03":"00":"LE MONTANT 8UZ NE PEUT DEPASSER 500 000 E":"N";
+IM08:informative :"I":"M08":"00":"LE MONTANT 8WB NE PEUT DEPASSER 80 000 E PAR ENTREPRISE":"N";
diff --git a/sources2013m_3_8/horizoc.m b/sources2013m_3_8/horizoc.m
new file mode 100644
index 0000000000000000000000000000000000000000..6a17c79213f37b60501f3baf794ae42e18c65e44
--- /dev/null
+++ b/sources2013m_3_8/horizoc.m
@@ -0,0 +1,52 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif corrective horizontale 760 :
+application : iliad ;
+si          (
+            V_IND_TRAIT > 0
+	    et
+            SENS_RAPPEL non dans (1, 2, 3, 4)
+	    )
+alors erreur A760;
+verif corrective horizontale 770 :
+application : iliad ;
+si          (
+            V_IND_TRAIT > 0
+	    et
+            SENS_RAPPEL = 4 
+	    et 
+            PEN_RAPPEL non dans (07, 08, 09, 10, 11, 12, 17, 18, 31)
+	    )
+alors erreur A770;
+verif corrective horizontale 780 :
+application : iliad ;
+si
+ (
+            V_IND_TRAIT > 0
+	    et
+	    (
+            ANNEE_RAPPEL <= V_ANREV
+            ou
+            MOIS_RAPPEL non dans ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 )
+	    )
+ )
+
+alors erreur A780;
diff --git a/sources2013m_3_8/horizoi.m b/sources2013m_3_8/horizoi.m
new file mode 100644
index 0000000000000000000000000000000000000000..9df48fa40f75489499a08c1300b2391cd4920619
--- /dev/null
+++ b/sources2013m_3_8/horizoi.m
@@ -0,0 +1,57 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+verif corrective horizontale 19 :
+application : iliad ;
+si
+   (
+      ( COD_RAPPEL = 1 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 2 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 3 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 4 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 5 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 6 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 7 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 8 et MONT_RAPPEL > 19)
+   )
+alors erreur A019;
+verif corrective horizontale 1401 :
+application : iliad ;
+si
+    (
+      COD_RAPPEL = 1401 et MONT_RAPPEL > 45 
+     )
+alors erreur A14001;
+verif corrective horizontale 1411 :
+application : iliad ;
+si
+    (
+      COD_RAPPEL = 1411 et MONT_RAPPEL > 25 
+     )
+alors erreur A14101;
+verif corrective horizontale 20200 :
+application : iliad ;
+si
+  (
+    COD_RAPPEL = 2020 et MONT_RAPPEL > 9
+
+  )
+alors erreur A00101;
diff --git a/sources2013m_3_8/res-ser1.m b/sources2013m_3_8/res-ser1.m
new file mode 100644
index 0000000000000000000000000000000000000000..be957ea8ff7b351e264dcf3801a283eef2230da6
--- /dev/null
+++ b/sources2013m_3_8/res-ser1.m
@@ -0,0 +1,661 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #####   ######   ####    #####     #     #####   ########
+ #    #  #       #          #       #       #     #      #
+ #    #  #####    ####      #       #       #      #    #
+ #####   #            #     #       #       #       ####
+ #   #   #       #    #     #       #       #      #    #
+ #    #  ######   ####      #       #       #     ########
+ #
+ #
+ #
+ #
+ #                 RES-SER1.m
+ #                 ===========
+ #
+ #
+ #                      zones restituees par l'application
+ #
+ #
+ #
+ #
+ #
+ #
+regle 9500:
+application :  iliad , bareme ,batch;
+MCDV = 1 * positif(V_0AM + 0)
+     + 2 * positif(V_0AC + 0)
+     + 3 * positif(V_0AD + 0)
+     + 4 * positif(V_0AV + 0)
+     + 5 * positif(V_0AO + 0);
+SFM = si  ( BOOL_0AM=1 ) 
+          alors ( si (V_0AP+0=1)
+                  alors ( si (V_0AF+0=1)
+                          alors (1)
+                          sinon (2)
+                          finsi)
+                  sinon ( si (V_0AF+0=1) 
+                          alors (3)
+                          sinon ( si ( V_0AS+0=1 et
+                          (AGV >= LIM_AGE_LET_S ou AGC >= LIM_AGE_LET_S)
+                                      )
+                                  alors (4)
+                                  finsi)
+                          finsi)
+                  finsi)
+       finsi;
+regle 9501:
+application : batch , iliad, bareme ;
+
+BOOL_V = positif(V_0AV+0) * positif(1 - BOOL_0AZ) 
+			  * ((1 - positif(PAC + V_0CH + 0))
+			     + positif(PAC + V_0CH + 0) * (3 - null(EAC + V_0CH + 0))) ;
+BOOL_CDV = positif( BOOL_V + V_0AC + V_0AD + 0);
+BOOL_PACSFL = 1 - positif( PAC +V_0CH + 0);
+BOOL_W = positif(V_0AW + 0) * positif_ou_nul( AGV - LIM_AGE_LET_S );
+SFCD1 = ( 15 * positif(V_0AN + 0) * (1 - positif(V_0AP + 0)) * (1 - positif(V_0AG + 0)) * (1 - BOOL_W)         
+ 
+       + 2 * positif(V_0AP + 0) * (1-positif(V_0AL+0))          
+
+
+	+ 5 * ( positif(V_0AE+0) * positif(V_BT0AE + ZONEANTEK + 0))
+	     
+	     * (1 - positif(V_0AN + 0)) * (1 - positif(V_0AP + 0)) * positif(1-(V_0AG + 0)) * (1 - BOOL_W)
+
+       + 14 * positif(V_0AG + 0) * (1 - positif(V_0AP + 0)) * (1 - BOOL_W)                   
+
+       + 7 * BOOL_W * (1 - positif(V_0AP + 0)))
+       
+       * (1-positif(V_0AL+0)) * BOOL_CDV * BOOL_PACSFL;
+
+regle 9507:
+application : batch , iliad ,  bareme ;
+SFL = positif (V_0AL + 0) * BOOL_CDV * BOOL_PACSFL *
+
+      ( 2 * positif(V_0AP + 0) 
+
+      + 9 * ( 1 - BOOL_W ) * positif( 1- V_0AP + 0) * positif(1-(V_0AG + 0)) * positif (1-(V_0AN+0))  
+
+      + 7 * BOOL_W * positif(1-(V_0AP + 0)) 
+
+      + 15 * positif (V_0AN +0) * ( 1 - BOOL_W ) * positif(1-(V_0AG + 0)) * positif(1-(V_0AP + 0)) 
+
+      + 14 * positif (V_0AG +0) * ( 1 - BOOL_W ) * positif(1-(V_0AP + 0))) ;
+regle 9502:
+application : batch , iliad , bareme ;
+
+
+
+SFCD2 = positif(PAC+V_0CH) * positif(V_0AC + V_0AD + null(2- BOOL_V)) *
+	(
+		positif(V_0AP+0) * ( 10 * positif(V_0BT+0) * (1-positif(V_0AV))
+ 			            + 2 * positif(V_0AV)
+                                    + 2 * (1 - positif(V_0AV)) *(1 - positif(V_0BT+0)))
+          + (1-positif(V_0AP+0)) * ( 11 * positif(V_0BT+0)) * (1-positif(V_0AV+0))
+	);
+regle 9503:
+application : batch , iliad , bareme ;
+
+SFV1 = 2 * positif(V_0AP + 0) * null(BOOL_V - 3) ;
+
+regle 9504:
+application : batch , iliad ,  bareme ;
+SFV2 = si ( V_0AV+0=1 et BOOL_0AZ =1)
+       alors (si (V_0AP+0=1)
+              alors (si (V_0AF+0=1)
+                     alors (1)
+                     sinon (2)
+                     finsi)
+              sinon (si (V_0AF+0=1)
+                     alors (3)
+                     sinon (si (V_0AW+0=1)
+                            alors (7)
+                            finsi)
+                     finsi)  
+              finsi)
+        finsi;
+regle 9505:
+application : batch , iliad , bareme ;
+BOOL_0AM = positif(positif(V_0AM + 0 )  + positif(V_0AO + 0)) ;
+regle 9506:
+application : batch , iliad , bareme ;
+SFUTILE = SFM + SFCD1 + SFCD2 + SFV1 + SFV2 + SFL ;
+regle 9510:
+application : batch , iliad ;
+NATPENA = si ((APPLI_COLBERT+APPLI_ILIAD+APPLI_COLBERT=1) et  
+	     (CMAJ =7 ou CMAJ =8 ou CMAJ=9 ou CMAJ=10 ou CMAJ=11 ou CMAJ=12 ou CMAJ=17 ou CMAJ=18 ))
+          alors (1)
+          sinon ( si ( CMAJ = 2 )
+                  alors (2)
+                  sinon ( si ( CMAJ=3 ou CMAJ=4 ou CMAJ=5 ou CMAJ=6 ) 
+                          alors (4)
+                          finsi
+                        )
+                  finsi
+                 )
+           finsi;
+regle 901:
+application : iliad ;
+TSALV = TSBNV;
+TSALC = TSBNC;
+regle 902:
+application : iliad , batch  ;
+TSALP = TSBN1 + TSBN2 + TSBN3 + TSBN4;
+regle 903 :
+application : iliad , batch  ;
+pour i = V,C,1..4:
+F10Ai = si (IND_10i = 0 ou
+       (IND_10i = 1 et IND_10MIN_0i = 0))
+        alors (max(FRDi,DFNi))
+       finsi;
+regle 90301 :
+application :  iliad , batch  ;
+F10AP = somme(i=1..4:F10Ai);  
+regle 90302 :
+application : iliad , batch  ;
+pour i = V,C,1..4:
+F10Bi = si (IND_10i = 1 et IND_10MIN_0i = 1)
+        alors (10MINSi)
+       finsi;
+regle 90303 :
+application : iliad , batch  ;
+F10BP = somme(i=1..4:F10Bi);
+regle 904 :
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+DEDSi =  (10MINSi - DFNi) * (1-positif(F10Bi)) * IND_10i ;
+regle 90401 :
+application :  iliad , batch  ;
+DEDSP = somme( i=1..4: DEDSi ) ;
+regle 905 :
+application : iliad , batch ;
+PRV = PRBRV;
+PRC = PRBRC;
+PRP = PRBR1 + PRBR2 + PRBR3 + PRBR4 ;
+PALIP = PALI1 + PALI2 + PALI3 + PALI4;
+regle 906 :
+application : iliad , batch  ;
+pour i = V,C:
+AB10i = APRi;
+AB10P = APR1 + APR2 + APR3 + APR4 ;
+regle 909:
+application : iliad , batch ;
+TSPRT =  (TSNNV + PRRV
+        + TSNNC + PRRC
+        + TSNN1 + PRR1
+        + TSNN2 + PRR2
+        + TSNN3 + PRR3
+        + TSNN4 + PRR4);
+regle 9011 :
+application : iliad , batch ;
+pour i = V,C,P:
+RBAi = BAHREi + 4BAHREi
+     + BACREi + 4BACREi
+     + BAFORESTi
+     + BAFi + BAFPVi- BACDEi - BAHDEi;
+regle 9013 :
+application : iliad , batch ;
+pour i= V,C,P:
+BIPi =
+   BICNOi  
+ - BICDNi
+ + BIHNOi  
+ - BIHDNi
+  ; 
+
+pour i= V,C,P:                                           
+BIPNi = BIPTAi + BIHTAi ;                        
+BIPN  = BIPNV + BIPNC + BIPNP ;                          
+                                                         
+
+pour i= V,C,P:                                           
+MIBRi = MIBVENi + MIBPRESi ;
+MIBR = somme(i=V,P,C: MIBRi);
+pour i= V,C,P:                                           
+MLOCDECi = MIBGITEi + LOCGITi + MIBMEUi ;
+pour i= V,C,P:                                           
+MIBRABi = MIB_ABVi + MIB_ABPi ;
+pour i= V,C,P:                                           
+MLOCABi = MIB_ABNPVLi + MIB_ABNPPLi ;
+pour i= V,C,P:                                           
+MIBRNETi = max (0,MIBRi - MIBRABi );
+MIBRNET = somme(i=V,C,P:MIBRNETi);
+pour i= V,C,P:                                           
+MLOCNETi = max (0,MLOCDECi - MLOCABi );
+MLOCNET = somme(i=V,C,P:MLOCNETi);
+pour i= V,C,P:                                           
+MIBNPRi = MIBNPVENi + MIBNPPRESi ;
+pour i= V,C,P:                                           
+MIBNPRABi = MIB_ABNPVi + MIB_ABNPPi ;
+pour i= V,C,P:                                           
+MIBNPRNETi = max (0,MIBNPRi - MIBNPRABi );
+regle 9014 :
+application : iliad , batch  ;
+
+pour i=V,C,P:
+BINi = 
+   BICREi  
+ - BICDEi 
+ + BICHREi  
+ - BICHDEi
+ ;  
+
+regle 90141 :
+application : iliad , batch  ;
+
+pour i=V,C,P:
+BINNi= BINTAi + BINHTAi;
+regle 9015 :
+application : iliad , batch  ;
+BNCV = BNHREV + BNCREV - BNHDEV - BNCDEV;
+BNCC = BNHREC + BNCREC - BNHDEC - BNCDEC;
+BNCP = BNHREP + BNCREP - BNHDEP - BNCDEP;
+BNCAFFV = positif(present(BNHREV) + present(BNCREV) + present(BNHDEV) + present(BNCDEV));
+BNCAFFC = positif(present(BNHREC) + present(BNCREC) + present(BNHDEC) + present(BNCDEC));
+BNCAFFP = positif(present(BNHREP) + present(BNCREP) + present(BNHDEP) + present(BNCDEP));
+regle 9016 :
+application : iliad , batch  ;
+DIDABNCNP =  (abs(min(NOCEPIMP+SPENETNPF,(min(DABNCNP6,DABNCNP61731+0) * positif(ART1731BIS) + DABNCNP6 * (1 - ART1731BIS))
+				       +(min(DABNCNP5,DABNCNP51731+0) * positif(ART1731BIS) + DABNCNP5 * (1 - ART1731BIS))
+                                       +(min(DABNCNP4,DABNCNP41731+0) * positif(ART1731BIS) + DABNCNP4 * (1 - ART1731BIS))
+                                       +(min(DABNCNP3,DABNCNP31731+0) * positif(ART1731BIS) + DABNCNP3 * (1 - ART1731BIS))
+                                       +(min(DABNCNP2,DABNCNP21731+0) * positif(ART1731BIS) + DABNCNP2 * (1 - ART1731BIS))
+                                       +(min(DABNCNP1,DABNCNP11731+0) * positif(ART1731BIS) + DABNCNP1 * (1 - ART1731BIS)))
+                              *positif((min(DABNCNP6,DABNCNP61731+0) * positif(ART1731BIS) + DABNCNP6 * (1 - ART1731BIS))
+                                       +(min(DABNCNP5,DABNCNP51731+0) * positif(ART1731BIS) + DABNCNP5 * (1 - ART1731BIS))
+                                       +(min(DABNCNP4,DABNCNP41731+0) * positif(ART1731BIS) + DABNCNP4 * (1 - ART1731BIS))
+                                       +(min(DABNCNP3,DABNCNP31731+0) * positif(ART1731BIS) + DABNCNP3 * (1 - ART1731BIS))
+                                       +(min(DABNCNP2,DABNCNP21731+0) * positif(ART1731BIS) + DABNCNP2 * (1 - ART1731BIS))
+                                       +(min(DABNCNP1,DABNCNP11731+0) * positif(ART1731BIS) + DABNCNP1 * (1 - ART1731BIS)))*positif(NOCEPIMP+SPENETNPF)))
+				       * (1-positif(ART1731BIS))
+				       + TOTDABNCNP1731 * positif(ART1731BIS);
+BNCIF = max (0,NOCEPIMP+SPENETNPF-DABNCNP6 -DABNCNP5 -DABNCNP4 -DABNCNP3 -DABNCNP2 -DABNCNP1) * (1-ART1731BIS) 
+        +   max (0,NOCEPIMP+SPENETNPF-TOTDABNCNP) * ART1731BIS;
+regle 9024 :
+application : iliad , batch ;
+BRCM = RCMABD + RCMTNC + RCMAV + RCMHAD + RCMHAB + REGPRIV;
+regle 90240 :
+application : iliad , batch ;
+BRCMQ = REVACT + REVPEA + PROVIE + DISQUO + RESTUC + INTERE;
+regle 90241 :
+application : iliad , batch  ;
+RRCM = max(0,RCM);
+regle 9026 :
+application : iliad , batch  ;
+B1FIS = max( RCM+2RCM+3RCM+4RCM+5RCM+6RCM+7RCM , 0 );
+regle 9028 :
+application : iliad , batch  ;
+DRFRP = (((1-positif(IPVLOC)) * (abs (DFCE+DFCG) * (1-positif(RFMIC))
+             + positif(RFMIC) *  abs(min(0,RFMIC - MICFR - RFDANT)) ))
+             * (1-positif(ART1731BIS))
+             + DRFRP1731 * positif(ART1731BIS)) * (1-positif(FLAGRETARD08+FLAGDEFAUT11))
+             + (RFDORD+RFDANT) * positif(ART1731BIS) * (1-positif(DRFRP1731))
+                   ;
+regle 9030 :
+application :  iliad , batch  ;
+
+
+DLMRN1TXM = - min(0,MIB_NETCT *(1-positif(MIBNETPTOT))
+                          +SPENETCT * (1 - positif(SPENETPF)));
+DLMRN6 =  (positif(DEFBIC5) * (
+                  (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)) * DEFBIC5
+                  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+                  * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6,0)-DEFBIC5,DEFBIC5)*(-1)
+                  * positif_ou_nul(DEFBIC5-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6,0))
+                  ))
+		 * (1-positif(ART1731BIS))
+                 + (min(DEFBIC5,DLMRN61731) *positif_ou_nul(DLMRN61731) + DEFBIC5 * (1-positif_ou_nul(DLMRN61731))) * positif(ART1731BIS);
+DLMRN5 = (positif(DEFBIC4) * (
+                  (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)) * DEFBIC4
+                  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+                  * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5,0)-DEFBIC4,DEFBIC4)*(-1)
+                  * positif_ou_nul(DEFBIC4-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5,0))
+                  ))
+		 * (1-positif(ART1731BIS))
+                 + (min(DEFBIC4,DLMRN51731) *positif_ou_nul(DLMRN51731) + DEFBIC4 * (1-positif_ou_nul(DLMRN51731))) * positif(ART1731BIS);
+DLMRN4 = (positif(DEFBIC3) * (
+                  (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))  * DEFBIC3
+                  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+                  * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4,0)-DEFBIC3,DEFBIC3)*(-1)
+                  * positif_ou_nul(DEFBIC3-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4,0))
+                  ))
+		 * (1-positif(ART1731BIS))
+                 + (min(DEFBIC3,DLMRN41731)*positif_ou_nul(DLMRN41731) + DEFBIC3 * (1-positif_ou_nul(DLMRN41731)))  * positif(ART1731BIS);
+DLMRN3 = (positif(DEFBIC2) * (
+                  (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))* DEFBIC2
+                  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+* min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3,0)-DEFBIC2,DEFBIC2)*(-1)
+                  * positif_ou_nul(DEFBIC2-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3,0))
+                   ))
+		 * (1-positif(ART1731BIS))
+                 + (min(DEFBIC2,DLMRN31731)*positif_ou_nul(DLMRN31731) + DEFBIC2 * (1-positif_ou_nul(DLMRN31731)))  * positif(ART1731BIS);
+DLMRN2 = (positif(DEFBIC1) * (
+                 (1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))* DEFBIC1
+                 + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+                 * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3-DEFBIC2,0)-DEFBIC1,DEFBIC1)*(-1)
+                 * positif_ou_nul(DEFBIC1-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3-DEFBIC2,0))
+                 ))
+		 * (1-positif(ART1731BIS))
+                 + (min(DEFBIC1,DLMRN21731)*positif_ou_nul(DLMRN21731) + DEFBIC1 * (1-positif_ou_nul(DLMRN21731)))  * positif(ART1731BIS);
+DLMRN1 = (((1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)) * abs(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+                 + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+                 * positif_ou_nul(DEFBIC5+DEFBIC4+DEFBIC3+DEFBIC2+DEFBIC1-(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))
+                 * (DEFBIC5+DEFBIC4+DEFBIC3+DEFBIC2+DEFBIC1-(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))
+                 * null(DLMRN6+DLMRN5+DLMRN4+DLMRN3+DLMRN2))
+		 * (1-positif(ART1731BIS))
+		 + (
+                    min(BICDEV,max(BICREV_P,BICDEV1731+0))
+                    +min(BICDEC,max(BICREC_P,BICDEC1731+0))
+                    +min(BICDEP,max(BICREP_P,BICDEP1731+0))
+                    +min(BICHDEV,max(BICHREV_P,BICHDEV1731+0))
+                    +min(BICHDEC,max(BICHREC_P,BICHDEC1731+0))
+                    +min(BICHDEP,max(BICHREP_P,BICHDEP1731+0))
+                   ) * positif(ART1731BIS) * positif(DLMRN11731)
+                 + (BICHDEV+BICHDEC+BICHDEP+BICDEV+BICDEC+BICDEP) * positif(ART1731BIS) * (1-positif(DLMRN11731))
+                   ) 
+                        ;
+DLMRN = max(0, DEFNP - BICNPV*positif(BICNPV)-BICNPC*positif(BICNPC)-BICNPP*positif(BICNPP)
+                     + abs(BICNPV)*(1-positif(BICNPV))*null(DLMRN1)
+                     + abs(BICNPC)*(1-positif(BICNPC))*null(DLMRN1)
+                     + abs(BICNPP)*(1-positif(BICNPP))*null(DLMRN1)) + DLMRN1;
+TOTDLMRN = somme(i=1..6:DLMRNi);
+DLMRNTXM = max(0,DEFNP - BICNPV*positif(BICNPV)-BICNPC*positif(BICNPC)-BICNPP*positif(BICNPP)
+         +MIB_NETCT+MIB_NETNPCT+SPENETCT+SPENETNPCT + DLMRN1 
+               );
+regle 90305: 
+application :  iliad , batch  ;
+DRCVM = DPVRCM ;
+regle 9031 :
+application : iliad , batch  ;
+BALNP = max(0,NOCEPIMP);
+NOCEP =           ANOCEP - ((min(DNOCEP,DNOCEP1731+0) * positif(ART1731BIS) + DNOCEP * (1 - ART1731BIS)) 
+			 +(min(DABNCNP6,DABNCNP61731+0) * positif(ART1731BIS) + DABNCNP6 * (1 - ART1731BIS))
+			 +(min(DABNCNP5,DABNCNP51731+0) * positif(ART1731BIS) + DABNCNP5 * (1 - ART1731BIS))
+                         +(min(DABNCNP4,DABNCNP41731+0) * positif(ART1731BIS) + DABNCNP4 * (1 - ART1731BIS))
+                         +(min(DABNCNP3,DABNCNP31731+0) * positif(ART1731BIS) + DABNCNP3 * (1 - ART1731BIS))
+                         +(min(DABNCNP2,DABNCNP21731+0) * positif(ART1731BIS) + DABNCNP2 * (1 - ART1731BIS))
+                         +(min(DABNCNP1,DABNCNP11731+0) * positif(ART1731BIS) + DABNCNP1 * (1 - ART1731BIS)));
+regle 9032 :
+application : iliad , batch  ;
+DALNP = (1-positif(IPVLOC)) * (BNCDF1+BNCDF2+BNCDF3+BNCDF4+BNCDF5+BNCDF6);
+regle 9033 :
+application :  iliad , batch  ;
+DESV =  REPSOF;
+regle 9042 :
+application : batch, iliad  ;
+VLHAB = max ( 0 , IPVLOC ) ;
+regle 9043 :
+application : iliad , batch  ;
+DFANT = (DEFAA5 + DEFAA4 + DEFAA3 + DEFAA2 + DEFAA1 + DEFAA0) * (1 - positif(ART1731BIS) ) * (1 - positif(IPVLOC));
+DAR_REP =  somme (i=0..4:DEFAAi ) * (1 - positif(IPVLOC));
+regle 9044 :
+application : iliad , batch  ;
+RRBG = (RG - DAR ) *(1-positif(RE168+TAX1649)) + positif(RE168+TAX1649) * (RE168+TAX1649);
+RRRBG = max(0 , RRBG);
+DRBG = min(0 , RRBG);
+regle 9045 :
+application : iliad , batch  ;
+DDCSG = (V_BTCSGDED * (1-present(DCSG)) + DCSG) * (1-null(4 -V_REGCO)) 
+	+ arr(RCMSOC * T_IDCSG/100) * (1 - positif(null(2-V_REGCO)+null(4-V_REGCO))) ;
+
+RDCSG = max (min(DDCSG , RBG + TOTALQUO - SDD) , 0);
+regle 9047 :
+application : iliad , batch  ;
+DPALE =  somme(i=1..4:CHENFi+NCHENFi);
+RPALE = max(0,min(somme(i=1..4:min(NCHENFi,LIM_PENSALENF)+min(arr(CHENFi*MAJREV),LIM_PENSALENF)),
+                RBG-DDCSG+TOTALQUO-SDD)) *(1-V_CNR);
+regle 9049 :
+application : iliad , batch  ;
+DNETU = somme(i=1..4: CHENFi);
+RNETU = max(0,min(somme(i=1..4:min(CHENFi,LIM_PENSALENF)),
+                RBG+TOTALQUO-SDD-RPALE)) *(1-V_CNR);
+regle 9050 :
+application : iliad , batch  ;
+DPREC = CHNFAC;
+regle 9051 :
+application : iliad , batch  ;
+DFACC = CHRFAC;
+RFACC = max( min(DFA,RBG - RPALE - RPALP  - DDCSG + TOTALQUO - SDD) , 0);
+regle 9052 :
+application : iliad ;
+TRANSFERT = R1649+PREREV+RE168+TAX1649;
+regle 9054 :
+application : iliad , batch  ;
+RPALP = max( min(TOTPA,RBG - RPALE - DDCSG + TOTALQUO - SDD) , 0 ) * (1 -V_CNR);
+DPALP = PAAV + PAAP ;
+regle 9055 :
+application : iliad , batch  ;
+DEDIV = (1-positif(RE168+TAX1649))*CHRDED;
+RDDIV = max( min(DEDIV * (1 - V_CNR),RBG - RPALE - RPALP - RFACC - DDCSG + TOTALQUO - SDD ) , 0 );
+
+regle 90551 :
+application : iliad , batch  ;
+
+NUPROPT = REPGROREP2 + REPGROREP1 + REPGROREP11 + REPGROREP12 + NUPROP ;
+
+NUREPAR = min(NUPROPT , max(0,min(PLAF_NUREPAR, RRBG - RPALE - RPALP - RFACC - RDDIV - APERPV - APERPC - APERPP - DDCSG + TOTALQUO - SDD))) 
+	  * ((V_REGCO+0) dans (1,3,5,6,7)) ;
+
+REPNUREPART = max( NUPROPT - NUREPAR , 0 ) ;
+ 
+REPAR4 = max( REPGROREP2 - NUREPAR , 0 ) * ((V_REGCO+0) dans (1,3,5,6,7)) ;
+
+REPAR3 = ( positif_ou_nul(REPGROREP2 - NUREPAR) * REPGROREP1
+	 + (1-positif_ou_nul(REPGROREP2 - NUREPAR)) * max(REPGROREP1 + REPGROREP2 - NUREPAR , 0 )) * ((V_REGCO+0) dans (1,3,5,6,7)) ;
+
+REPAR2 = ( positif_ou_nul(REPGROREP1 + REPGROREP2 - NUREPAR) * REPGROREP11
+	 + (1-positif_ou_nul(REPGROREP1 + REPGROREP2 - NUREPAR)) * max( REPGROREP11 + REPGROREP1 + REPGROREP2 - NUREPAR , 0 )) * ((V_REGCO+0) dans (1,3,5,6,7)) ;
+
+REPAR1 = ( positif_ou_nul(REPGROREP1 + REPGROREP2 + REPGROREP11 - NUREPAR) * REPGROREP12
+	 + (1-positif_ou_nul(REPGROREP1 + REPGROREP2 + REPGROREP11 - NUREPAR)) * max( REPGROREP12 + REPGROREP11 + REPGROREP1 + REPGROREP2 - NUREPAR , 0 )) * ((V_REGCO+0) dans (1,3,5,6,7)) ;
+
+REPAR = max( REPNUREPART - REPAR4 - REPAR3 - REPAR2 - REPAR1, 0 ) * ((V_REGCO+0) dans (1,3,5,6,7)) ;
+
+REPNUREPAR =  REPAR4 + REPAR3 + REPAR2 + REPAR1 + REPAR ;
+
+regle 9059 :
+application : iliad , batch  ;
+CHTOT = max( 0 , 
+   min( DPA + DFA + (1-positif(RE168+TAX1649))*CHRDED + APERPV + APERPC + APERPP + NUREPAR , RBG
+       - DDCSG + TOTALQUO - SDD) 
+           )  * (1-V_CNR);
+regle 9060 :
+application : iliad , batch  ;
+ABMAR = min(ABTMA,  max(RNG + TOTALQUO - SDD - SDC - ABTPA , 0));
+regle 9061 :
+application : iliad , batch  ;
+ABVIE = min(ABTPA,max(RNG+TOTALQUO-SDD-SDC,0));
+regle 9062 :
+application : iliad , batch  ;
+RNI =   positif(RG+R1649+PREREV) * arr(RI1) * (1-positif(RE168+TAX1649))
+      + (RE168+TAX1649) * positif(RE168+TAX1649);
+regle 9063 :
+application :  iliad , batch  ;
+RNIDF = (1 - positif_ou_nul( RG-DAR+TOTALQUO )) 
+         * (
+         (1 - positif_ou_nul(RG + TOTALQUO)) *
+          (((RG + TOTALQUO) * (-1)) + DAR_REP)
+         + null(RG+TOTALQUO) * (DAR_REP)
+         + positif(RG + TOTALQUO) *
+           (positif(RG + TOTALQUO - DEFAA5) * (RG + TOTALQUO - DAR )
+	   + (1 -positif(RG + TOTALQUO - DEFAA5)) * DAR_REP)
+           ) * (1-positif(ART1731BIS))
+        +  (
+	   ((BACDEV-min(BACDEV,max(BACDEV_P,BACDEV1731+0))
+            +BACDEC-min(BACDEC,max(BACDEC_P,BACDEC1731+0))
+            +BACDEP-min(BACDEP,max(BACDEP_P,BAHDEP1731+0))
+            +BAHDEV-min(BAHDEV,max(BAHDEV_P,BAHDEV1731+0))
+            +BAHDEC-min(BAHDEC,max(BAHDEC_P,BAHDEC1731+0))
+            +BAHDEP-min(BAHDEP,max(BAHDEP_P,BAHDEP1731+0))) * (1-positif_ou_nul(SHBA+(REVTP-BA1) +REVQTOTQHT - SEUIL_IMPDEFBA))
+               + FRDREPTOT+BICDNV+BICDNC+BICDNP
+	       + BIHDNV+BIHDNC+BIHDNP+LOCDEFPROCGAV+LOCDEFPROCGAC+LOCDEFPROCGAP
+	       + BNCDEV+BNCDEC+BNCDEP+LOCDEFPROV+LOCDEFPROC+LOCDEFPROP
+	       + BNHDEV+BNHDEC+BNHDEP+RFDHIS + DAR_REP)  * positif_ou_nul(RNIDF1731)
+           +  ((BACDEV +BACDEC +BACDEP +BAHDEV +BAHDEC +BAHDEP) * (1-positif_ou_nul(SHBA+(REVTP-BA1) +REVQTOTQHT - SEUIL_IMPDEFBA))
+               + FRDREPTOT+BICDNV+BICDNC+BICDNP
+               + BIHDNV+BIHDNC+BIHDNP+LOCDEFPROCGAV+LOCDEFPROCGAC+LOCDEFPROCGAP
+               + BNCDEV+BNCDEC+BNCDEP+LOCDEFPROV+LOCDEFPROC+LOCDEFPROP
+               + BNHDEV+BNHDEC+BNHDEP+RFDHIS + DAR_REP) * (1-positif_ou_nul(RNIDF1731))
+           ) * positif(ART1731BIS);
+RNIDF0 = ((1-positif(RG + TOTALQUO)) * (RG + TOTALQUO) * (-1))
+          * (1-positif(ART1731BIS))
+        + 
+         (
+	   ((BACDEV-min(BACDEV,max(BACDEV_P,BACDEV1731+0))
+            +BACDEC-min(BACDEC,max(BACDEC_P,BACDEC1731+0))
+            +BACDEP-min(BACDEP,max(BACDEP_P,BAHDEP1731+0))
+            +BAHDEV-min(BAHDEV,max(BAHDEV_P,BAHDEV1731+0))
+            +BAHDEC-min(BAHDEC,max(BAHDEC_P,BAHDEC1731+0))
+            +BAHDEP-min(BAHDEP,max(BAHDEP_P,BAHDEP1731+0))) * (1-positif_ou_nul(SHBA+(REVTP-BA1) +REVQTOTQHT - SEUIL_IMPDEFBA))
+               + FRDREPTOT+BICDNV+BICDNC+BICDNP
+               + BIHDNV+BIHDNC+BIHDNP+LOCDEFPROCGAV+LOCDEFPROCGAC+LOCDEFPROCGAP
+               + BNCDEV+BNCDEC+BNCDEP+LOCDEFPROV+LOCDEFPROC+LOCDEFPROP
+               + BNHDEV+BNHDEC+BNHDEP+RFDHIS )* positif_ou_nul(RNIDF01731)
+           +  ((BACDEV +BACDEC +BACDEP +BAHDEV +BAHDEC +BAHDEP) * (1-positif_ou_nul(SHBA+(REVTP-BA1) +REVQTOTQHT - SEUIL_IMPDEFBA))
+               + FRDREPTOT+BICDNV+BICDNC+BICDNP
+               + BIHDNV+BIHDNC+BIHDNP+LOCDEFPROCGAV+LOCDEFPROCGAC+LOCDEFPROCGAP
+               + BNCDEV+BNCDEC+BNCDEP+LOCDEFPROV+LOCDEFPROC+LOCDEFPROP
+               + BNHDEV+BNHDEC+BNHDEP+RFDHIS) * (1-positif_ou_nul(RNIDF01731))
+           ) * positif(ART1731BIS); 
+
+RNIDF1 = (((1-positif_ou_nul(RG + TOTALQUO)) * DEFAA0
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5 -DEFAA4 -DEFAA3 -DEFAA2 -DEFAA1,0) -DEFAA0, DEFAA0)*(-1)
+     * positif_ou_nul(DEFAA0 -max(RG+TOTALQUO-DEFAA5 -DEFAA4 -DEFAA3 -DEFAA2 -DEFAA1,0)))
+          * (1-positif(ART1731BIS))
+	  + (min(DEFAA0,RNIDF11731)*positif_ou_nul(RNIDF11731)+DEFAA0*(1-positif_ou_nul(RNIDF11731))) * positif(ART1731BIS))
+	  ;
+
+RNIDF2 = (((1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA1)
+        + positif_ou_nul(RG + TOTALQUO) *
+        min(max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2,0)-DEFAA1,DEFAA1)*(-1)
+        * positif_ou_nul(DEFAA1-max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2,0)))
+          * (1-positif(ART1731BIS))
+	  + (min(DEFAA1,RNIDF21731)*positif_ou_nul(RNIDF21731)+DEFAA1*(1-positif_ou_nul(RNIDF21731))) * positif(ART1731BIS))
+	  ;
+
+RNIDF3 = (((1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA2)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5 -DEFAA4 -DEFAA3,0) -DEFAA2, DEFAA2)*(-1)
+     * positif_ou_nul(DEFAA2 -max(RG+TOTALQUO-DEFAA5 -DEFAA4 -DEFAA3,0)))
+          * (1-positif(ART1731BIS))
+	  + (min(DEFAA2,RNIDF31731)*positif_ou_nul(RNIDF31731)+DEFAA2*(1-positif_ou_nul(RNIDF31731))) * positif(ART1731BIS))
+	  ;
+
+RNIDF4 = (((1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA3)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5 -DEFAA4,0) -DEFAA3, DEFAA3)*(-1)
+     * positif_ou_nul(DEFAA3 -max(RG+TOTALQUO-DEFAA5 -DEFAA4,0)))
+          * (1-positif(ART1731BIS))
+	  + (min(DEFAA3,RNIDF41731)*positif_ou_nul(RNIDF41731)+DEFAA3*(1-positif_ou_nul(RNIDF41731))) * positif(ART1731BIS))
+	  ;
+
+RNIDF5 = (((1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA4)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5,0) -DEFAA4, DEFAA4)*(-1) * positif_ou_nul(DEFAA4 -max(RG+TOTALQUO-DEFAA5,0)))
+          * (1-positif(ART1731BIS))
+	  + (min(DEFAA4,RNIDF51731)*positif_ou_nul(RNIDF51731)+DEFAA4*(1-positif_ou_nul(RNIDF51731))) * positif(ART1731BIS))
+	  ;
+
+RNIDF6 = (((1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA5)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(RG+TOTALQUO-DEFAA5, DEFAA5)*(-1) * positif_ou_nul(DEFAA5-max(RG+TOTALQUO,0)))
+          * (1-positif(ART1731BIS))
+	  + (min(DEFAA5,RNIDF61731)*positif_ou_nul(RNIDF61731)+DEFAA5*(1-positif_ou_nul(RNIDF61731))) * positif(ART1731BIS))
+	  ;
+regle 90631 :
+application : batch,iliad ;
+RNICOL = (RNI + RNIDF);
+regle 9064 :
+application : iliad , batch  ;
+TTPVQ = TONEQUOHT;
+regle 9069 :
+application : iliad , batch  ;
+TEFF = (VARIPTEFP * positif(ART1731BIS) + IPTEFP * (1 - ART1731BIS)) 
+	    - (VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS)) + TEFFREVTOT ; 
+TEFFP = max(0, TEFF);
+TEFFN = si (TEFF + 0 < 0)
+        alors
+          ( min(0, TEFF) * (-1) )
+        sinon
+          ( 0 )
+        finsi;
+RDMO = TEFF + (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS))
+			   - (VARDMOND * positif(ART1731BIS) + DMOND * (1 - ART1731BIS));
+regle 90691 :
+application : iliad , batch ;
+FRF = somme (i=V,C,1,2,3,4: FRDi * (1-IND_10i))*(1-positif(APPLI_COLBERT+APPLI_OCEANS));
+regle 9070 :
+application : iliad , batch;
+QUOHPV = somme(i=VO,CJ,PC:TSQi + PRQi)+ PALIQV + PALIQC + PALIQP
+       + BAQV + BAQC + BAQP
+       + BRCMQ + RFQ + somme(x=1..3;i=V,C:GLDxi) ;
+regle 90705:
+application : iliad ;
+TX_CSG = T_CSG * (1-positif(APPLI_OCEANS));
+TX_RDS = T_RDS * (1-positif(APPLI_OCEANS));
+TX_PREL_SOC = (positif(V_EAG + V_EAD) * (T_PREL_SOCDOM)
+              + positif(( 1-V_EAD ) * ( 1-V_EAG )) * (T_PREL_SOC))
+	      * (1-V_CNR) * (1-positif(APPLI_OCEANS));
+TX_IDCSG = T_IDCSG * (1-positif(APPLI_OCEANS));
+regle 90707:
+application : batch, iliad ;
+
+SURIMP = IPSURSI ;
+
+REPPLU = CREDPVREP + V_BTPVREP * (1-present(CREDPVREP)) ;
+
+regle 90708:
+application : iliad ;
+INDM14 = positif_ou_nul(IREST - LIM_RESTIT) * (1-positif(APPLI_OCEANS));
+regle 90709:
+application : iliad ;
+INDDEFICIT = positif(RNIDF1 + DEFBA6 + DEFBA5 + DEFBA4 + DEFBA3 + DEFBA2 +DEFBA1
+		   + DRFRP + DLMRN1 + DALNP + IRECR + DPVRCM + MIBDREPV + MIBDREPC
+                   + MIBDREPP + MIBDREPNPV + MIBDREPNPC + MIBDREPNPP + SPEDREPV + SPEDREPC
+                   + SPEDREPP + SPEDREPNPV + SPEDREPNPC + SPEDREPNPP) * (1-positif(APPLI_OCEANS));
+regle 4070121:
+application : iliad , batch  ;
+RP = somme (i=V,C: TSNNi + TSNN2i + BICIMPi + BICNPi + BNNi +  max(0,BANi) + BAEi)
+                 + (min (0,BANV) + min (0,BANC)) *
+                 (1 - positif(1 + SEUIL_IMPDEFBA - SHBA - REVQTOTQHT
+                 - (REVTP - BA1)  ))
+                 + max(0 , ANOCEP - ((min(DNOCEP,DNOCEP1731+0) * positif(ART1731BIS) + DNOCEP * (1 - ART1731BIS))
+		 +(min(DABNCNP6,DABNCNP61731+0) * positif(ART1731BIS) + DABNCNP6 * (1 - ART1731BIS))
+		 +(min(DABNCNP5,DABNCNP51731+0) * positif(ART1731BIS) + DABNCNP5 * (1 - ART1731BIS))
+		 +(min(DABNCNP4,DABNCNP41731+0) * positif(ART1731BIS) + DABNCNP4 * (1 - ART1731BIS))
+		 +(min(DABNCNP3,DABNCNP31731+0) * positif(ART1731BIS) + DABNCNP3 * (1 - ART1731BIS))
+		 +(min(DABNCNP2,DABNCNP21731+0) * positif(ART1731BIS) + DABNCNP2 * (1 - ART1731BIS))
+		 +(min(DABNCNP1,DABNCNP11731+0) * positif(ART1731BIS) + DABNCNP1 * (1 - ART1731BIS))
+		 ) ) + somme(i=1..3:GLNi) ;
+
+regle 666998:
+application :  iliad, batch;
+
+AGREPAPER = PALIV + PALIC + PALIP + PENSALV + PENSALC + PENSALP ;
+
+AGREPARET = RPALE + RPALP ;
+
+AGREPPE = PPETOTX ;
+
+AGREDTARDIF = positif(RETIR + RETTAXA + RETPCAP + RETLOY + RETHAUTREV + RETCS + RETRD + RETPS
+                      + RETCVN + RETCDIS + RETGLOA + RETRSE1 + RETRSE2 + RETRSE3 + RETRSE4 + RETRSE5
+                      + RETARPRIM + FLAG_RETARD + 0) ;
diff --git a/sources2013m_3_8/res-ser2.m b/sources2013m_3_8/res-ser2.m
new file mode 100644
index 0000000000000000000000000000000000000000..1f8e990e80ec78fd0baeab05db6048e90cf1d46f
--- /dev/null
+++ b/sources2013m_3_8/res-ser2.m
@@ -0,0 +1,654 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2014 
+#au titre des revenus perçus en 2013. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+ #
+ #
+ #
+ # #####   ######   ####    #####     #     #####  
+ # #    #  #       #          #       #       #   
+ # #    #  #####    ####      #       #       #  
+ # #####   #            #     #       #       # 
+ # #   #   #       #    #     #       #       # 
+ # #    #  ######   ####      #       #       # 
+ #
+ #      #####   #####   #####   #
+ #          #   #   #   #   #   #
+ #      #####   #   #   #   #   #
+ #      #       #   #   #   #   #
+ #      #####   #####   #####   #
+ #
+ #
+ #
+ #
+ #                     RES-SER2.m
+ #                    =============
+ #
+ #
+ #                      zones restituees par l'application
+ #
+ #
+regle 9071 :
+application : iliad , batch ;
+IDRS = INDTXMIN*IMI + 
+       INDTXMOY*IMO + 
+       (1-INDTXMIN) * (1-INDTXMOY) * max(0,IPHQ2 - ADO1) ;
+regle 907100 :
+application : iliad , batch, bareme ;
+RECOMP = max(0 ,( IPHQANT2 - IPHQ2 )*(1-INDTXMIN) * (1-INDTXMOY)) 
+         * (1 - positif(IPMOND+INDTEFF)) ;
+regle 907101 :
+application : iliad , batch ;
+IDRSANT = INDTXMIN*IMI + INDTXMOY*IMO 
+         + (1-INDTXMIN) * (1-INDTXMOY) * max(0,IPHQANT2 - ADO1) ;
+IDRS2 = (1 - positif(IPMOND+INDTEFF))  * 
+        ( 
+         IDRSANT + ( positif(ABADO)*ABADO + positif(ABAGU)*ABAGU )
+                  * positif(IDRSANT)
+         + IPHQANT2 * (1 - positif(IDRSANT))
+         + positif(RE168+TAX1649) * IAMD2
+        )
+   + positif(IPMOND+INDTEFF) 
+         * ( IDRS*(1-positif(IPHQ2)) + IPHQ2 * positif(IPHQ2) );
+
+IDRS3 = IDRT ;
+regle 90710 :
+application : iliad , batch ;
+PLAFQF = positif(IS521 - PLANT - IS511) * (1-positif(V_CR2+IPVLOC))
+           * ( positif(abs(TEFF)) * positif(IDRS) + (1 - positif(abs(TEFF))) );
+regle 907105 :
+application : iliad , batch ;
+REVMETRO = max(0,RG - PRODOM - PROGUY);
+regle 90711 :
+application : iliad , batch ;
+
+RGPAR =   positif(positif(PRODOM)+positif(CODDAJ)+positif(CODDBJ)) * 1 
+       +  positif(positif(PROGUY)+positif(CODEAJ)+positif(CODEBJ)) * 2
+       +  positif(positif(PROGUY)+positif(CODEAJ)+positif(CODEBJ))*positif(positif(PRODOM)+positif(CODDAJ)+positif(CODDBJ)) 
+       ;
+
+regle 9074 :
+application : iliad , batch ;
+IBAEX = (IPQT2) * (1 - INDTXMIN) * (1 - INDTXMOY);
+regle 9080 :
+application : iliad , batch ;
+
+PRELIB = PPLIB + RCMLIB ;
+
+regle 9091 :
+application : iliad , batch ;
+IDEC = DEC11 * (1 - positif(V_CR2 + V_CNR + IPVLOC));
+regle 9092 :
+application : iliad , batch ;
+IPROP = ITP ;
+regle 9093 :
+application : iliad , batch ;
+
+IREP = REI ;
+
+regle 90981 :
+application : batch, iliad ;
+RETIR = RETIR2 + arr(BTOINR * TXINT/100) ;
+
+RETTAXA = RETTAXA2 + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * TXINT/100) ;
+RETPCAP = RETPCAP2+arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * TXINT/100) ;
+RETLOY = RETLOY2+arr(max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))
+                           +min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * TXINT/100) ;
+RETHAUTREV = RETCHR2 + arr(max(0,IHAUTREVT+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * TXINT/100) ;
+
+RETCS = RETCS2 + arr((CSG-CSGIM) * TXINT/100)* positif_ou_nul(CSTOTSSPENA - SEUIL_61) ;
+RETRD = RETRD2 + arr((RDSN-CRDSIM) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+RETPS = RETPS2 + arr((PRS-PRSPROV) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+RETCVN = RETCVN2 + arr((CVNSALC - COD8YT) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+RETCDIS = RETCDIS2 + arr((CDIS - CDISPROV) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+RETGLOA = RETGLOA2 + arr((CGLOA-COD8YL) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+RETRSE1 = RETRSE12 + arr((RSE1-CSPROVYD) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+RETRSE2 = RETRSE22 + arr((RSE2-CSPROVYF) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+RETRSE3 = RETRSE32 + arr((RSE3-CSPROVYG) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+RETRSE4 = RETRSE42 + arr((RSE4-CSPROVYH) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+RETRSE5 = RETRSE52 + arr((RSE5-CSPROVYE) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+regle 90984 :
+application : batch, iliad ;
+MAJOIRTARDIF_A1 = MAJOIRTARDIF_A - MAJOIR17_2TARDIF_A;
+MAJOTAXATARDIF_A1 = MAJOTAXATARDIF_A - MAJOTA17_2TARDIF_A;
+MAJOCAPTARDIF_A1 = MAJOCAPTARDIF_A - MAJOCP17_2TARDIF_A;
+MAJOLOYTARDIF_A1 = MAJOLOYTARDIF_A - MAJOLO17_2TARDIF_A;
+MAJOHRTARDIF_A1 = MAJOHRTARDIF_A - MAJOHR17_2TARDIF_A;
+MAJOIRTARDIF_D1 = MAJOIRTARDIF_D - MAJOIR17_2TARDIF_D;
+MAJOTAXATARDIF_D1 = MAJOTAXATARDIF_D - MAJOTA17_2TARDIF_D;
+MAJOCAPTARDIF_D1 = MAJOCAPTARDIF_D - MAJOCP17_2TARDIF_D;
+MAJOLOYTARDIF_D1 = MAJOLOYTARDIF_D - MAJOLO17_2TARDIF_D;
+MAJOHRTARDIF_D1 = MAJOHRTARDIF_D - MAJOHR17_2TARDIF_D;
+MAJOIRTARDIF_P1 = MAJOIRTARDIF_P - MAJOIR17_2TARDIF_P;
+MAJOLOYTARDIF_P1 = MAJOLOYTARDIF_P - MAJOLO17_2TARDIF_P;
+MAJOHRTARDIF_P1 = MAJOHRTARDIF_P - MAJOHR17_2TARDIF_P;
+MAJOIRTARDIF_R1 = MAJOIRTARDIF_R - MAJOIR17_2TARDIF_R;
+MAJOTAXATARDIF_R1 = MAJOTAXATARDIF_R - MAJOTA17_2TARDIF_R;
+MAJOCAPTARDIF_R1 = MAJOCAPTARDIF_R - MAJOCP17_2TARDIF_R;
+MAJOLOYTARDIF_R1 = MAJOLOYTARDIF_R - MAJOLO17_2TARDIF_R;
+MAJOHRTARDIF_R1 = MAJOHRTARDIF_R - MAJOHR17_2TARDIF_R;
+NMAJ1 = max(0,MAJO1728IR + arr(BTO * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOIRTARDIF_D1
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPIR_A) * MAJOIRTARDIF_P1
+		  + (1 - positif(PROPIR_A) ) * MAJOIRTARDIF_D1)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPIR_A))
+				    * ( positif(FLAG_RECTIF) * MAJOIRTARDIF_R1
+				     + (1 - positif(FLAG_RECTIF)) * MAJOIRTARDIF_A1)
+		);
+NMAJTAXA1 = max(0,MAJO1728TAXA + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN-IRANT)) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOTAXATARDIF_D1
+		+ FLAG_TRTARDIF_F * MAJOTAXATARDIF_D1
+        	- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOTAXATARDIF_R1
+				     + (1 - positif(FLAG_RECTIF)) * MAJOTAXATARDIF_A1)
+		);
+NMAJPCAP1 = max(0,MAJO1728PCAP + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN-IRANT+TAXASSUR)) * COPETO/100)
+                + FLAG_TRTARDIF * MAJOCAPTARDIF_D1
+                + FLAG_TRTARDIF_F * MAJOCAPTARDIF_D1
+                - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOCAPTARDIF_R1
+                + (1 - positif(FLAG_RECTIF)) * MAJOCAPTARDIF_A1)
+                );
+NMAJLOY1 = max(0,MAJO1728LOY + arr(max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN-IRANT+TAXASSUR+IPCAPTAXT)) * COPETO/100)
+                + FLAG_TRTARDIF * MAJOLOYTARDIF_D1
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPLOY_A) * MAJOLOYTARDIF_P1
+		  + (1 - positif(PROPLOY_A) ) * MAJOLOYTARDIF_D1)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPLOY_A))
+				    * ( positif(FLAG_RECTIF) * MAJOLOYTARDIF_R1
+				     + (1 - positif(FLAG_RECTIF)) * MAJOLOYTARDIF_A1)
+
+                );
+NMAJCHR1 = max(0,MAJO1728CHR + arr(max(0,IHAUTREVT+min(0,IRN-IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * COPETO/100)
+                + FLAG_TRTARDIF * MAJOHRTARDIF_D1
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPIR_A) * MAJOHRTARDIF_P1
+		  + (1 - positif(PROPIR_A) ) * MAJOHRTARDIF_D1)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPIR_A))
+				    * ( positif(FLAG_RECTIF) * MAJOHRTARDIF_R1
+				     + (1 - positif(FLAG_RECTIF)) * MAJOHRTARDIF_A1)
+                );
+NMAJC1 = max(0,MAJO1728CS + arr((CSG - CSGIM) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOCSTARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPCS_A) * MAJOCSTARDIF_P 
+		  + (1 - positif(PROPCS_A) ) * MAJOCSTARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPCS_A))
+				    * ( positif(FLAG_RECTIF) * MAJOCSTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCSTARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJR1 = max(0,MAJO1728RD + arr((RDSN - CRDSIM) * COPETO/100) 
+		+ FLAG_TRTARDIF * MAJORDTARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPRD_A) * MAJORDTARDIF_P 
+		  + (1 - positif(PROPRD_A) ) * MAJORDTARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPCS_A))
+				    * ( positif(FLAG_RECTIF) * MAJORDTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORDTARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJP1 = max(0,MAJO1728PS + arr((PRS - PRSPROV) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOPSTARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPPS_A) * MAJOPSTARDIF_P 
+		  + (1 - positif(PROPPS_A) ) * MAJOPSTARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPPS_A))
+				    * ( positif(FLAG_RECTIF) * MAJOPSTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOPSTARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJCVN1 = max(0,MAJO1728CVN + arr((CVNSALC - COD8YT) * COPETO/100)
+		+ FLAG_TRTARDIF * MAJOCVNTARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJOCVNTARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOCVNTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCVNTARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJCDIS1 = max(0,MAJO1728CDIS + arr((CDIS - CDISPROV) * COPETO/100)  * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJOCDISTARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJOCDISTARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOCDISTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCDISTARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJGLO1 = max(0,MAJO1728GLO + arr((CGLOA-COD8YL) * COPETO/100)
+                + FLAG_TRTARDIF * MAJOGLOTARDIF_D
+                + FLAG_TRTARDIF_F  * MAJOGLOTARDIF_D
+                - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOGLOTARDIF_R
+                                     + (1 - positif(FLAG_RECTIF)) * MAJOGLOTARDIF_A)
+              ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJRSE11 = max(0,MAJO1728RSE1 + arr((RSE1N - CSPROVYD) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJORSE1TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE1TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE1TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE1TARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJRSE21 = max(0,MAJO1728RSE2 + arr((RSE2N- CSPROVYF) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJORSE2TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE2TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE2TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE2TARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJRSE31 = max(0,MAJO1728RSE3 + arr((RSE3N - CSPROVYG)* COPETO/100) 
+		+ FLAG_TRTARDIF * MAJORSE3TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE3TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE3TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE3TARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJRSE41 = max(0,MAJO1728RSE4 + arr((RSE4N - CSPROVYH) * COPETO/100) 
+		+ FLAG_TRTARDIF * MAJORSE4TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE4TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE4TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE4TARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJRSE51 = max(0,MAJO1728RSE5 + arr((RSE5N - CSPROVYE) * COPETO/100) 
+		+ FLAG_TRTARDIF * MAJORSE5TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE5TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE5TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE5TARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+
+NMAJ3 = max(0,MAJO1758AIR + arr(BTO * COPETO/100) * positif(null(CMAJ-10)+null(CMAJ-17)) 
+		+ FLAG_TRTARDIF * MAJOIR17_2TARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPIR_A) * MAJOIR17_2TARDIF_P 
+		  + (1 - positif(PROPIR_A) ) * MAJOIR17_2TARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPIR_A))
+				    * ( positif(FLAG_RECTIF) * MAJOIR17_2TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOIR17_2TARDIF_A)
+		);
+NMAJTAXA3 = max(0,MAJO1758ATAXA + arr(max(0,TAXASSUR+min(0,IRN-IRANT)) * COPETO/100)
+					* positif(null(CMAJ-10)+null(CMAJ-17)) 
+		+ FLAG_TRTARDIF * MAJOTA17_2TARDIF_D
+		);
+NMAJPCAP3 = max(0,MAJO1758APCAP + arr(max(0,IPCAPTAXT+min(0,IRN-IRANT+TAXASSUR)) * COPETO/100)
+                * positif(null(CMAJ-10)+null(CMAJ-17))
+                + FLAG_TRTARDIF * MAJOCP17_2TARDIF_D
+		);
+NMAJLOY3 = max(0,MAJO1758ALOY + arr(max(0,TAXLOY+min(0,IRN-IRANT+TAXASSUR+IPCAPTAXT)) * COPETO/100) * positif(null(CMAJ-10)+null(CMAJ-17)) 
+		+ FLAG_TRTARDIF * MAJOLO17_2TARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPLOY_A) * MAJOLO17_2TARDIF_P 
+		  + (1 - positif(PROPLOY_A) ) * MAJOLO17_2TARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPLOY_A))
+				    * ( positif(FLAG_RECTIF) * MAJOLO17_2TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOLO17_2TARDIF_A)
+		);
+
+NMAJCHR3 = max(0,MAJO1758ACHR + arr(max(0,IHAUTREVT+min(0,IRN-IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * COPETO/100) * positif(null(CMAJ-10)+null(CMAJ-17)) 
+		+ FLAG_TRTARDIF * MAJOHR17_2TARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPHR_A) * MAJOHR17_2TARDIF_P 
+		  + (1 - positif(PROPHR_A) ) * MAJOHR17_2TARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPHR_A))
+				    * ( positif(FLAG_RECTIF) * MAJOHR17_2TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOHR17_2TARDIF_A)
+		);
+
+NMAJ4    =      somme (i=03..06,30,32,55: MAJOIRi);
+NMAJTAXA4  =    somme (i=03..06,55: MAJOTAXAi);
+NMAJPCAP4 =  somme(i=03..06,55:MAJOCAPi);
+NMAJLOY4 = somme(i=03..06,55:MAJOLOYi);
+NMAJCHR4 =  somme(i=03..06,30,32,55:MAJOHRi);
+
+NMAJC4 =  somme(i=03..06,30,32,55:MAJOCSi) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJR4 =  somme(i=03..06,30,32,55:MAJORDi) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJP4 =  somme(i=03..06,30,55:MAJOPSi) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJCVN4 =  somme(i=03..06,55:MAJOCVNi) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJCDIS4 =  somme(i=03..06,55:MAJOCDISi) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJGLO4 =  somme(i=03..06,55:MAJOGLOi) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJRSE14 =  somme(i=03..06,55:MAJORSE1i) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJRSE24 =  somme(i=03..06,55:MAJORSE2i) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJRSE34 =  somme(i=03..06,55:MAJORSE3i) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJRSE44 =  somme(i=03..06,55:MAJORSE4i) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJRSE54 =  somme(i=03..06,55:MAJORSE5i) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+regle isf 9094 :
+application : batch, iliad ;
+MAJOISFTARDIF_A1 = MAJOISFTARDIF_A - MAJOISF17TARDIF_A;
+MAJOISFTARDIF_D1 = MAJOISFTARDIF_D - MAJOISF17TARDIF_D;
+MAJOISFTARDIF_R1 = MAJOISFTARDIF_R - MAJOISF17TARDIF_R;
+NMAJISF1BIS = max(0,MAJO1728ISF + arr(ISF4BASE * COPETO/100)
+                   + FLAG_TRTARDIF * MAJOISFTARDIF_D
+                   + FLAG_TRTARDIF_F * MAJOISFTARDIF_D
+                   - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOISFTARDIF_R
+					 + (1 - positif(FLAG_RECTIF)) * MAJOISFTARDIF_A)
+                 );
+regle 90101 :
+application : iliad , batch ;
+
+IAVIM = IRB + PTOT + TAXASSUR + PTAXA + IPCAPTAXTOT + PPCAP + TAXLOY + PTAXLOY + CHRAPRES + PHAUTREV ;
+
+IAVIM2 = IRB + PTOT ;
+
+regle 90113 :
+application : iliad , batch ;
+CDBA = positif_ou_nul(SEUIL_IMPDEFBA-SHBA-(REVTP-BA1)
+      -REVQTOTQHT);
+AGRBG = SHBA + (REVTP-BA1) + REVQTOTQHT ;
+
+regle 901130 :
+application : iliad , batch ;
+DBAIP =  (abs(min(BAHQT + BAQT , DAGRI6 + DAGRI5 + DAGRI4 + DAGRI3 + DAGRI2 + DAGRI1)
+	     * positif(DAGRI6 + DAGRI5 + DAGRI4 + DAGRI3 + DAGRI2 + DAGRI1) * positif(BAHQT + BAQT)))
+	     * (1-positif(ART1731BIS))
+	     + TOTDAGRI1731 * positif(ART1731BIS);
+
+regle 901131 :
+application : iliad , batch ;
+
+RBAT = max (0 , BANOR) ;
+
+regle 901132 :
+application : iliad , batch ;
+DEFIBA = (min(max(1+SEUIL_IMPDEFBA-SHBA-(REVTP-BA1)
+      -REVQTOTQHT,0),1)) * min( 0 , BANOR ) ;
+DEFIBA1731R= positif_ou_nul(SHBA1731R+(REVTP-BA1) +REVQTOTQHT - SEUIL_IMPDEFBA) * (
+                                        positif(BANOR1731R) * (BANOR - BANOR1731R)
+                                        + (1-positif(BANOR1731R)) * (BANOR + BANOR1731R)
+                                                                          );
+regle 901133 :
+application :  iliad, batch ;
+NAPALEG = abs(NAPT) ;
+
+INDNAP = 1 - positif_ou_nul(NAPT) ;
+
+GAINDBLELIQ = max(0,V_ANC_NAP*(1-2*V_IND_NAP) - NAPT) * (1-positif(V_0AN)) * (1 - V_CNR2) 
+	       * (1 - null(V_REGCO - 2)) * (1 - null(V_REGCO - 4)) * (1 - positif((VARIPTEFP * positif(ART1731BIS) + IPTEFP * (1 - ART1731BIS))
+	       +(VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS))+IRANT));
+
+GAINPOURCLIQ = (1 - null(V_ANC_NAP*(1-2*V_IND_NAP))) * (V_ANC_NAP*(1-2*V_IND_NAP) - NAPT)/ V_ANC_NAP*(1-2*V_IND_NAP)  * (1 - V_CNR2);
+
+ANCNAP = V_ANC_NAP * (1-2*V_IND_NAP) ;
+
+
+INDPPEMENS = positif( ( positif(IRESTIT - 180) 
+		       + positif((-1)*ANCNAP - 180) 
+                       + positif(IRESTIT - IRNET - 180) * null(V_IND_TRAIT-5)
+		      ) * positif(PPETOTX - PPERSA - 180) )
+	           * (1 - V_CNR) ;
+
+BASPPEMENS = INDPPEMENS * min(max(IREST,(-1)*ANCNAP*positif((-1)*ANCNAP)),PPETOTX-PPERSA) * null(V_IND_TRAIT-4) 
+            + INDPPEMENS * max(0,min(IRESTIT-IRNET,PPETOTX-PPERSA)) * null(V_IND_TRAIT-5) ;
+
+regle 90114 :
+application : iliad , batch ;
+IINET = max(0, NAPTEMPCX- TOTIRPSANT);
+IINETIR = max(0 , NAPTIR) ;
+
+regle 901140 :
+application : bareme  ;
+
+IINET = IRNET * positif ( IRNET - SEUIL_61 ) ;
+
+regle 9011410 :
+application : bareme , iliad , batch ;
+IRNET2 =  (IAR + PIR - IRANT) * (1 - INDTXMIN)  * (1 - INDTXMOY)
+         + min(0, IAR + PIR - IRANT) * (INDTXMIN + INDTXMOY)
+         + max(0, IAR + PIR - IRANT) *
+                                   (INDTXMIN * positif(IAVIMBIS - SEUIL_TXMIN)
+                                  + INDTXMOY * positif(IAVIMO - SEUIL_TXMIN))
+         ;
+regle 901141 :
+application : iliad , batch ;
+
+IRNETTER = max ( 0 ,   IRNET2
+                       + (TAXASSUR + PTAXA - min(TAXASSUR+PTAXA+0,max(0,INE-IRB+AVFISCOPTER))
+                        - max(0,TAXASSUR + PTAXA  - min(TAXASSUR + PTAXA + 0,max(0,INE-IRB+AVFISCOPTER))+ min(0,IRNET2)))
+                       + (IPCAPTAXT + PPCAP - min(IPCAPTAXT + PPCAP,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA))
+                        - max(0,IPCAPTAXT+PPCAP -min(IPCAPTAXT+PPCAP,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA ))+ min(0,TAXANEG)))
+                       + (TAXLOY + PTAXLOY - min(TAXLOY + PTAXLOY,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA-IPCAPTAXT-PPCAP))
+                        - max(0,TAXLOY+PTAXLOY -min(TAXLOY+PTAXLOY,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA-IPCAPTAXT-PPCAP ))+ min(0,PCAPNEG)))
+                       + (IHAUTREVT + PHAUTREV - max(0,IHAUTREVT+PHAUTREV + min(0,LOYELEVNEG)))
+                )
+                       ;
+IRNETBIS = max(0 , IRNETTER - PIR * positif(SEUIL_12 - IRNETTER + PIR) 
+				  * positif(SEUIL_12 - PIR) 
+				  * positif_ou_nul(IRNETTER - SEUIL_12)) ;
+
+regle 901143 :
+application : iliad , batch ;
+IRNET =  null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * IRNETBIS * positif_ou_nul(IRB - min(max(0,IRB-AVFISCOPTER),INE))
+          + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+                    *
+                    (
+                    ((positif(IRE) + positif_ou_nul(IAVIM - SEUIL_61) * (1 - positif(IRE)))
+                    *
+                    max(0, CHRNEG + NRINET + IMPRET + (RASAR * V_CR2) + (IRNETBIS * positif(positif_ou_nul(IAVIM - SEUIL_61)) 
+		                                                                  * positif_ou_nul(IRB - min(max(0,IRB-AVFISCOPTER),INE)))     
+                      ) * (1 - positif(IRESTIT)))
+                    + ((1 - positif_ou_nul(IAVIM - SEUIL_61)) * (1 - positif(IRE)) * max(0, CHRNEG + NRINET + IMPRET + (RASAR * V_CR2)))
+                    ) ;
+regle 901144 :
+application : iliad , batch ;
+TOTNET = max (0,NAPTIR);
+regle 9011411 :
+application : iliad , batch ;
+TAXANEG = min(0 , TAXASSUR + PTAXA - min(TAXASSUR + PTAXA + 0 , max(0,INE-IRB+AVFISCOPTER)) + min(0 , IRNET2)) ;
+TAXNET = positif(TAXASSUR)
+	  * max(0 , TAXASSUR + PTAXA  - min(TAXASSUR + PTAXA + 0,max(0,INE-IRB+AVFISCOPTER)) + min(0 , IRNET2)) ;
+TAXANET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * TAXNET
+	   + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+             * (positif_ou_nul(IAMD1 - SEUIL_61) * TAXNET + (1 - positif_ou_nul(IAMD1  - SEUIL_61)) * 0) ;
+
+regle 90114111 :
+application : iliad , batch ;
+PCAPNEG =  min(0,IPCAPTAXT+PPCAP -min(IPCAPTAXT+PPCAP,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA ))+ min(0,TAXANEG)) ;
+PCAPTAXNET = positif(IPCAPTAXT)
+                * max(0,IPCAPTAXT+PPCAP -min(IPCAPTAXT+PPCAP,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA ))+ min(0,TAXANEG)) ;
+PCAPNET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * PCAPTAXNET
+	   + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+			* ( positif_ou_nul(IAMD1  - SEUIL_61) * PCAPTAXNET + (1 - positif_ou_nul(IAMD1 - SEUIL_61)) * 0 ) ;
+
+regle 90114112 :
+application : iliad , batch ;
+LOYELEVNEG =  min(0,TAXLOY + PTAXLOY -min(TAXLOY + PTAXLOY,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA-IPCAPTAXT-PPCAP ))+ min(0,PCAPNEG)) ;
+LOYELEVNET = positif(LOYELEV)
+                * max(0,TAXLOY+PTAXLOY -min(TAXLOY+PTAXLOY,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA-IPCAPTAXT-PPCAP ))+ min(0,PCAPNEG)) ;
+TAXLOYNET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * LOYELEVNET
+                + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+                * ( positif_ou_nul(IAMD1 - SEUIL_61) * LOYELEVNET + (1 - positif_ou_nul(IAMD1 - SEUIL_61)) * 0 ) ;
+
+
+regle 901141111 :
+application : iliad , batch ;
+CHRNEG = min(0 , IHAUTREVT + PHAUTREV + min(0 , LOYELEVNEG)) ;
+CHRNET = positif(IHAUTREVT)
+                * max(0,IHAUTREVT+PHAUTREV + min(0,LOYELEVNEG))
+               ;
+HAUTREVNET = (null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * CHRNET
+              +
+              positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+              * ( positif_ou_nul(IAMD1 - SEUIL_61) * CHRNET
+              + (1 - positif_ou_nul(IAMD1 - SEUIL_61)) * 0 )
+              ) * (1-null(1-FLAG_ACO))
+              ;
+regle 9011412 :
+application : bareme ;
+
+IRNET = max(0 , IRNET2 + RECOMP) ;
+
+regle 9011413 :
+application : iliad , batch ;
+
+IRPROV = min (IRANT , IAR + PIR) * positif(IRANT) ;
+
+regle 9012401 :
+application : batch , iliad ;
+NAPPSAVIM = (PRS + PPRS ) ;
+NAPCSAVIM = (CSG + PCSG ) ;
+NAPRDAVIM = (RDSN + PRDS) ;
+NAPCVNAVIM = (CVNSALC + PCVN) ;
+NAPCDISAVIM = (CDIS + PCDIS) ;
+NAPGLOAVIM = (CGLOA + PGLOA-COD8YL) ;
+NAPRSE1AVIM = (RSE1N + PRSE1) ;
+NAPRSE2AVIM = (RSE2N + PRSE2) ;
+NAPRSE3AVIM = (RSE3N + PRSE3) ;
+NAPRSE4AVIM = (RSE4N + PRSE4) ;
+NAPRSE5AVIM = (RSE5N + PRSE5) ;
+NAPCRPAVIM = max(0 , NAPPSAVIM + NAPCSAVIM + NAPRDAVIM + NAPCVNAVIM + NAPCDISAVIM + NAPGLOAVIM
+                    + NAPRSE1AVIM + NAPRSE2AVIM + NAPRSE3AVIM + NAPRSE4AVIM + NAPRSE5AVIM);
+NAPCRAC = PRSAC+CSGAC+RDSNAC + CDIS + RSE1N + RSE2N + RSE3N + RSE4N + RSE5N ;
+regle 90114010 :
+application : batch , iliad ;
+NAPCRPIAMD1 = PRS+CSG+RDSN +CVNSALC + CDIS + CGLOA + RSE1N + RSE2N + RSE3N + RSE4N + RSE5N ;
+regle 9011402 :
+application : batch , iliad ;
+NAPCS      =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  CSNET  ;
+NAPRD      =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  RDNET  ;
+NAPPS      =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  PRSNET  ;
+NAPCVN     =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  CVNNET  ;
+NAPCDIS    =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  CDISNET  ;
+NAPGLOA    =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  CGLOANET  ;
+NAPRSE1    =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  RSE1NET  ;
+NAPRSE2    =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  RSE2NET  ;
+NAPRSE3    =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  RSE3NET  ;
+NAPRSE4    =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  RSE4NET  ;
+NAPRSE5    =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  RSE5NET  ;
+NAPCRP2 = max(0 , NAPPS + NAPCS + NAPRD + NAPCVN + NAPCDIS + NAPGLOA + NAPRSE1 + NAPRSE2 + NAPRSE3 + NAPRSE4 + NAPRSE5);
+regle 9011407 :
+application : iliad , batch ;
+IKIRN = KIR ;
+
+IMPTHNET = max(0 , (IRB * positif_ou_nul(IRB-SEUIL_61)-INE-IRE)
+		       * positif_ou_nul((IRB*positif_ou_nul(IRB-SEUIL_61)-INE-IRE)-SEUIL_12)) 
+	     * (1 - V_CNR) ;
+
+regle 90115 :
+application : iliad , batch ;
+IRESTIT = abs(min(0 , IRN + PIR + NRINET + IMPRET + RASAR
+                    + (TAXASSUR + PTAXA - min(TAXASSUR+PTAXA+0,max(0,INE-IRB+AVFISCOPTER)))
+                    + (IPCAPTAXT + PPCAP - min(IPCAPTAXT + PPCAP,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA)))
+                    + (TAXLOY + PTAXLOY - min(TAXLOY + PTAXLOY,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA-IPCAPTAXT-PPCAP)))
+                    + ((IHAUTREVT + PHAUTREV) * (1-null(1-FLAG_ACO))
+                      -min((IHAUTREVT + PHAUTREV)* (1-null(1-FLAG_ACO)),max(0,INE-IRB+AVFISCOPTER-TAXASSUR-PTAXA-IPCAPTAXT-PPCAP-TAXLOY - PTAXLOY)))
+                    + null(4-V_IND_TRAIT)* max(0 ,  TOTCR - CSGIM - CRDSIM - PRSPROV - COD8YT - CDISPROV -COD8YL-CSPROVYD-CSPROVYE-CSPROVYF-CSPROVYG-CSPROVYH)
+                             * positif_ou_nul((TOTCR - CSGIM - CRDSIM - PRSPROV - COD8YT - CDISPROV -COD8YL-CSPROVYD-CSPROVYE-CSPROVYF-CSPROVYG-CSPROVYH) - SEUIL_61) 
+                    + null(5-V_IND_TRAIT) * max(0 , (TOTCR - CSGIM - CRDSIM - PRSPROV - COD8YT - CDISPROV -COD8YL-CSPROVYD-CSPROVYE-CSPROVYF-CSPROVYG-CSPROVYH))
+                          * positif_ou_nul((TOTCR - CSGIM - CRDSIM - PRSPROV - COD8YT - CDISPROV -COD8YL-CSPROVYD-CSPROVYE-CSPROVYF-CSPROVYG-CSPROVYH) - SEUIL_61) 
+                 )
+             ) ;
+regle 90115001 :
+application : iliad , batch ;
+IRESTITIR = abs(min(0 , IRN + PIR + NRINET + IMPRET + RASAR
+                    + (TAXASSUR + PTAXA - min(TAXASSUR+PTAXA+0,max(0,INE-IRB+AVFISCOPTER)))
+                    + (IPCAPTAXT + PPCAP - min(IPCAPTAXT + PPCAP,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA)))
+                    + (TAXLOY + PTAXLOY - min(TAXLOY + PTAXLOY,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA-IPCAPTAXT-PPCAP)))
+                    + ((IHAUTREVT + PHAUTREV) * (1-null(1-FLAG_ACO))
+                      -min((IHAUTREVT + PHAUTREV)* (1-null(1-FLAG_ACO)),max(0,INE-IRB+AVFISCOPTER-TAXASSUR-PTAXA-IPCAPTAXT-PPCAP-TAXLOY - PTAXLOY)))
+                 )
+             ) ;
+regle 901151 :
+application : iliad , batch ;
+IREST = max(0,max(0,-(NAPTEMPCX)) - max(0,-(TOTIRPSANT)));
+regle 9011511 :
+application : iliad , batch ;
+IRESTIR = max(0 , IRESTITIR - RECUMBISIR);
+IINETCALC = max(0,NAPTEMP - TOTIRPSANT);
+VARNON = IRPSCUM -RECUM - TOTIRPSANT;
+NONMER  =  positif(20 - V_NOTRAIT) * (
+                                           positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM) * IRPSCUM
+                                          + (1-positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM)) * 0
+                                     )
+        + (1-positif(20-V_NOTRAIT)) * (
+                          positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM) * (
+                                                                                              positif(SEUIL_12 - abs(TOTIRPSANT))* max(0,IRPSCUM-RECUM-TOTIRPSANT)
+                                                                                            + (1-positif(SEUIL_12 - abs(TOTIRPSANT))) * IRPSCUM
+                                                                                   )
+                   + (1-positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM)) * (
+                                                                                           positif(positif(SEUIL_12-VARNON) * positif(VARNON)
+                                                                                                  + positif(SEUIL_8-abs(VARNON)) * (1-positif(VARNON)))
+                                                                                                    * max(0,IRPSCUM-RECUM-TOTIRPSANT)
+                                                                                       +(1-positif(positif(SEUIL_12-VARNON) * positif(VARNON)
+                                                                                                 + positif(SEUIL_8-abs(VARNON)) * (1-positif(VARNON))))
+                                                                                                    * 0
+                                                                                  )
+                                      );
+
+
+NONREST  =  positif(20 - V_NOTRAIT) * (
+                                           positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM) * RECUM
+                                        + (1-positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM)) * 0 
+                                      )
+        + (1-positif(20-V_NOTRAIT)) * (
+                          positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM) * (
+                                                                                              positif(SEUIL_12 - abs(TOTIRPSANT))* max(0,TOTIRPSANT - (IRPSCUM-RECUM))
+                                                                                            + (1-positif(SEUIL_12 - abs(TOTIRPSANT))) * RECUM
+                                                                                   )
+                   + (1-positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM)) * (
+                                                                                           positif(positif(SEUIL_12-VARNON) * positif(VARNON)
+                                                                                                  + positif(SEUIL_8-abs(VARNON)) * (1-positif(VARNON)))
+                                                                                                      * max(0,TOTIRPSANT - (IRPSCUM-RECUM))
+                                                                                       +(1-positif(positif(SEUIL_12-VARNON) * positif(VARNON)
+                                                                                                 + positif(SEUIL_8-abs(VARNON)) * (1-positif(VARNON))))
+                                                                                                      * 0
+                                                                                  )
+                                     );
+
+
+regle 901160 :
+application : batch , iliad ;
+TOTREC = positif_ou_nul(IRN + TAXANET + PIR + PCAPNET + TAXLOYNET + HAUTREVNET - SEUIL_12) ;
+regle 90116011 :
+application :  batch , iliad ;
+
+CSREC = positif(NAPCRP) * positif_ou_nul(NAPCRPAVIM - SEUIL_61);
+
+CSRECINR = positif(NAPCRINR) ;
+
+regle 90116 :
+application : batch , iliad ;
+
+RSEREC = positif(max(0 , NAPRSE1 + NAPRSE2 + NAPRSE3 + NAPRSE4 + NAPRSE5)
+                 * positif_ou_nul(NAPCRP- SEUIL_12)) ;
+
+regle 9011603 :
+application :  batch , iliad ;
+
+CSRECA = positif_ou_nul(PRS_A + PPRS_A + CSG_A + RDS_A + PCSG_A + PRDS_A
+                       + CVN_A+ CDIS_A + CGLOA_A + RSE1BASE_A + RSE2BASE_A + RSE3BASE_A + RSE4BASE_A + RSE5BASE_A + IRNIN_A
+                       + TAXABASE_A + CHRBASE_A + PCAPBASE_A + LOYBASE_A - SEUIL_12) ;
+regle isf 90110 :
+application : iliad ;
+ISFDEGR = max(0,(ANTISFAFF  - ISF4BIS * positif_ou_nul (ISF4BIS - SEUIL_12)) 
+	   * (1-positif_ou_nul (ISF4BIS - SEUIL_12))
+          + (ANTISFAFF  - ISFNET * positif_ou_nul (ISFNET - SEUIL_12))
+	   * positif_ou_nul(ISF4BIS - SEUIL_12)) ;
+
+
+ISFDEG = ISFDEGR * positif_ou_nul(ISFDEGR - SEUIL_8) ;
+
+regle corrective 9011602 :
+application : iliad ;
+IDEGR = max(0,max(0,TOTIRPSANT) - max(0,NAPTEMPCX));
+
+IRDEG = positif(NAPTOTAIR - IRNET) * positif(NAPTOTAIR) * max(0 , V_ANTIR - max(0,IRNET))
+	* positif_ou_nul(IDEGR - SEUIL_8) ;                   
+
+TAXDEG = positif(NAPTOTAIR - TAXANET) * positif(NAPTOTAIR) * max(0 , V_TAXANT - max(0,TAXANET)) ;                    
+
+TAXADEG = positif(TAXDEG) * positif(V_TAXANT) * max(0 , V_TAXANT - max(0,TOTAXAGA))
+          * positif_ou_nul(IDEGR - SEUIL_8) ;
+
+PCAPTAXDEG = positif(NAPTOTAIR - PCAPNET) * posit
\ No newline at end of file
diff --git a/sources2013m_3_8/tgvB.m b/sources2013m_3_8/tgvB.m
new file mode 100644
index 0000000000000000000000000000000000000000..6e26a78b0bec643ca157af791597f6f92eccf023
--- /dev/null
+++ b/sources2013m_3_8/tgvB.m
@@ -0,0 +1,416 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 13 Application bareme
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A12REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13REELA : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13REELB : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+ABADO : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO1 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO2 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO31 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO32 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO4 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO6 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADON1 : calculee : "Abattement DOM" ;
+ABADON2 : calculee : "Abattement DOM" ;
+ABADON31 : calculee : "Abattement DOM" ;
+ABADON32 : calculee : "Abattement DOM" ;
+ABADON4 : calculee : "Abattement DOM" ;
+ABADON6 : calculee : "Abattement DOM" ;
+ABAGU : calculee : "Abattement en impot sur les revenus GUYANE" ;
+ABAGU1 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU2 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU3 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU31 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU32 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU4 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU6 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABATOT1 : calculee : "Abattement DOM" ;
+ABATOT2 : calculee : "Abattement DOM" ;
+ABATOT31 : calculee : "Abattement DOM" ;
+ABATOT32 : calculee : "Abattement DOM" ;
+ABATOT4 : calculee : "Abattement DOM" ;
+ABATOT6 : calculee : "Abattement DOM" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1166.00000  ;
+ABSPRNG : calculee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTPATEFRFR : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+ADUFLOGIH_1 : calculee : "reduc non plaf. art 1731bis" ;
+AGC : calculee : "Age du conjoint" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 0 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+APERPC : calculee : "bse retenu PERP" ;
+APERPCTEF : calculee : "bse retenu PERP tx eff" ;
+APERPCTEFRFR : calculee : "bse retenu PERP tx eff" ;
+APERPP : calculee : "bse retenu PERP" ;
+APERPPTEF : calculee : "bse retenu PERP tx eff" ;
+APERPPTEFRFR : calculee : "bse retenu PERP tx eff" ;
+APERPV : calculee : "bse retenu PERP" ;
+APERPVTEF : calculee : "bse retenu PERP tx eff" ;
+APERPVTEFRFR : calculee : "bse retenu PERP tx eff" ;
+APPLI_BATCH : calculee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_COLBERT : saisie contexte classe = 0 priorite = 0 categorie_TL = 0 alias V_COLBERT : "Appli_Colbert" type BOOLEEN ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : saisie contexte classe = 0 priorite = 0 categorie_TL = 0 alias V_OCEANS : "Appli_Oceans" ;
+APPLI_PRO : calculee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+ART1731 : calculee base : "indicateur art1731 bis empechant benefice reduc et deficit " ;
+ART1731BIS : calculee base : "indicateur art1731 bis empechant benefice reduc et deficit " ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+AUBAINE10 : calculee : "avantage en impot (A2) lie a avantages fiscaux 2010" ;
+AUBAINE11 : calculee : "avantage en impot (A1) lie a avantages fiscaux 2011" ;
+AUBAINE12 : calculee : "avantage en impot (A4) lie a avantages fiscaux 2011" ;
+AUBAINE13A : calculee : "avantage en impot sur avantages fiscaux 2013 reduc hors DOM SOFICA" ;
+AUBAINE13B : calculee : "avantage en impot sur avantages fiscaux 2013 reduc DOM SOFICA" ;
+AUBAINE9 : calculee : "avantage en impot (A3) lie a av. fiscaux 2009 pris en compte en 2011" ;
+AUTOVERSSUP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 11 sanction = 0 nat_code = 0 alias 8UX : "Auto-entrepreneur : supplement de versement liberatoire" ;
+AVFISCO : calculee restituee base : "economie d impot susceptible d etre plafonnee." ;
+AVFISCOP : calculee restituee base : "economie d impot plafonnee." ;
+AVFISCOPTER : calculee base : "Plafonnement des avantages fiscaux. variable visible dans cresource" ;
+AVPLAF10 : calculee : "Plafonnement 2010 avantages fiscaux (2010/2010)" ;
+AVPLAF11 : calculee : "Plafonnement 2011 avantages fiscaux (2011/2011)" ;
+AVPLAF12 : calculee : "Plafonnement 2012 avantages fiscaux (2012/2012)" ;
+AVPLAF13 : calculee : "Plafonnement 2013 avantages fiscaux (2013/2013)" ;
+AVPLAF13A : calculee : "Plafonnement 2013 avantages fiscaux hors reduc DOM et SOFICA" ;
+AVPLAF13B : calculee : "Plafonnement 2013 avantages fiscaux reduc DOM et SOFICA" ;
+AVPLAF9 : calculee : "Plafonnement 2009 avantages fiscaux (2009/2010)" ;
+BA1 : calculee : "Plus-values BA imposables pour le foyer" ;
+BACDEC1731 : calculee base : "Deficit 5IF pour 1731" ;
+BACDEP1731 : calculee base : "Deficit 5JF pour 1731" ;
+BACDEV1731 : calculee base : "Deficit 5HF pour 1731" ;
+BAHDEC1731 : calculee base : "Deficit 5IL pour 1731" ;
+BAHDEP1731 : calculee base : "Deficit 5JL pour 1731" ;
+BAHDEV1731 : calculee base : "Deficit 5HF pour 1731" ;
+BANOR : calculee : "Benefices agricoles taxes suivant l'imposition normale" ;
+BANOR1731R : calculee : "Benefices agricoles taxes suivant l'imposition normale" ;
+BASPPEMENS : calculee : "Base PPE mensuel" ;
+BCICHR : calculee base : "Impot Hauts Revenus credit impot" ;
+BCIDONENTR : calculee : "base limitee du Credit d'impot dons oeuvres entreprises" ;
+BCIGA : calculee : "base limitee du Credit d'impot groupement de prevention agree" ;
+BCSG2 : calculee restituee : "Base CSG article 1731" ;
+BICDEC1731 : calculee base : "Deficit 5OF pour 1731" ;
+BICDEP1731 : calculee base : "Deficit 5PF pour 1731" ;
+BICDEV1731 : calculee base : "Deficit 5NF pour 1731" ;
+BICDNC1731 : calculee base : "Deficit 5LF pour 1731" ;
+BICDNP1731 : calculee base : "Deficit 5MF pour 1731" ;
+BICDNV1731 : calculee base : "Deficit 5KF pour 1731" ;
+BICHDEC1731 : calculee base : "Deficit 5OL pour 1731" ;
+BICHDEP1731 : calculee base : "Deficit 5PL pour 1731" ;
+BICHDEV1731 : calculee base : "Deficit 5NL pour 1731" ;
+BIDON : calculee : "variable bidon pour test" ;
+BIGREST : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YJ : "Restitution >= 10 000 e non validee par le RDC et taxee a la 4eme IR" type REEL ;
+BIHDNC1731 : calculee base : "Deficit 5LL pour 1731" ;
+BIHDNP1731 : calculee base : "Deficit 5ML pour 1731" ;
+BIHDNV1731 : calculee base : "Deficit 5KL pour 1731" ;
+BMI : calculee : "Base taux minimum metropole" ;
+BNCAADC1731 : calculee base : "Deficit 5RG pour 1731" ;
+BNCAADP1731 : calculee base : "Deficit 5SG pour 1731" ;
+BNCAADV1731 : calculee base : "Deficit 5JJ pour 1731" ;
+BNCDEC1731 : calculee base : "Deficit 5RE pour 1731" ;
+BNCDEP1731 : calculee base : "Deficit 5SE pour 1731" ;
+BNCDEV1731 : calculee base : "Deficit 5QE pour 1731" ;
+BNCEXP : saisie revenu classe = 0 priorite = 10 categorie_TL = 15 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias 5SB : "BNC prof. sous AA - Revenus exoneres - PAC" ;
+BNHDEC1731 : calculee base : "Deficit 5RK pour 1731" ;
+BNHDEP1731 : calculee base : "Deficit 5SK pour 1731" ;
+BNHDEV1731 : calculee base : "Deficit 5QK pour 1731" ;
+BOOLENF : calculee : "Zone Situation de Famille - Presence d'enfants a charges" ;
+BOOL_0AM : calculee : "Zone Situation de Famille - Veufs sans EAC" ;
+BOOL_0AZ : calculee : "booleen : vaut 1 si vauf dans  l annee" ;
+BOOL_0BT : calculee : "booleen : case OBT retenue" ;
+BOOL_CDV : calculee : "Booleen - vaut 1 si  celibataire, divorce, separe ou veuf." ;
+BOOL_PACSFL : calculee : "Booleen - vaut 0 si  PAC ou 0CH" ;
+BOOL_V : calculee : "Zone Situation de Famille - Veufs sans EAC" ;
+BOOL_W : calculee : "Booleen - vaut 1 si  W et personne d au moins 75 ans" ;
+BPCAPTAXC : calculee : "Base pension capital taxable conjoint" ;
+BPCAPTAXV : calculee : "Base pension capital taxable vous" ;
+BPRS2 : calculee restituee : "Base prelevement social 1% anterieur" ;
+BRDS2 : calculee restituee : "Base CRDS" ;
+CAP_ISO_RECT : calculee base : "IR apres prise en compte de tous rappels" ;
+CARPENBAC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NBS : "Pensions taxees au quotient : nombre d'annees - Declarant 2" ;
+CARPENBAP1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NCS : "Pensions taxees au quotient : nombre d'annees - PAC 1" ;
+CARPENBAP2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NDS : "Pensions taxees au quotient : nombre d'annees - PAC 2" ;
+CARPENBAP3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NES : "Pensions taxees au quotient : nombre d'annees - PAC 3" ;
+CARPENBAP4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NFS : "Pensions taxees au quotient : nombre d'annees - PAC 4" ;
+CARPENBAV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NAS : "Pensions taxees au quotient : nombre d'annees - Declarant 1" ;
+CARTSNBAC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NBJ : "Salaires taxes au quotient : nombre d'annees - Declarant 2" ;
+CARTSNBAP1 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NCJ : "Salaires taxes au quotient : nombre d'annees - PAC 1" ;
+CARTSNBAP2 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NDJ : "Salaires taxes au quotient : nombre d'annees - PAC 2" ;
+CARTSNBAP3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NEJ : "Salaires taxes au quotient : nombre d'annees - PAC 3" ;
+CARTSNBAP4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NFJ : "Salaires taxes au quotient : nombre d'annees - PAC 4" ;
+CARTSNBAV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias NAJ : "Salaires taxes au quotient : nombre d'annees - Declarant 1" ;
+CDIS : calculee : "Contribution sociale salariale" ;
+CDISBASE_A : calculee base : "correctif : cdis calculee effectivement anterieure" ;
+CDISD : calculee : "Cont. soc. salariale due 30%" ;
+CDIS_A : calculee base : "correctif : Cdis anterieure" ;
+CGAIND : calculee : "Cont. salariale 8% due" ;
+CGAINSAL : calculee : "Contribution salariale de 8 %" ;
+CGLOAD : calculee : "Contrib. GLO  due" ;
+CGLOA_A : calculee base : "correctif : CGLOA anterieure" ;
+CHRAPRES : calculee base : "Impot Hauts Revenus apres calcul  tx eff ou non" ;
+CHRAVANT : calculee base : "Impot Hauts Revenus avant tx eff." ;
+CHRBASE_A : calculee base : "correctif : base calculee effectivement anterieure" ;
+CHRDED : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 9 sanction = 0 nat_code = 1 alias 6DD : "Deductions diverses" ;
+CHRNEG : calculee : "taxe + INR + majo" ;
+CHRNEG_NOP : calculee : "CHRNEG hors penalite" ;
+CHRNET : calculee : "cont haut rev.  + INR + majo" ;
+CHRREEL1 : calculee : "Haut revenu calcul contrib." ;
+CHRREEL2 : calculee : "Haut revenu calcul contrib." ;
+CHRREELTOT : calculee : "Haut revenu calcul contrib. theorique total" ;
+CHRTEFF : calculee base : "Impot Hauts Revenus tx eff " ;
+CHRTHEO1 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEO11 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEO2 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEO21 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEOTOT : calculee : "Haut revenu calcul contrib. theorique total" ;
+CHR_ISO_RECT : calculee base : "IR apres prise en compte de tous rappels" ;
+CI2CK : calculee : "Credit d'impot RCM ligne 2CK" ;
+CICA_A : calculee base : "correctif : credit impot TADB  anterieur" ;
+CICHR : calculee base : "Impot Hauts Revenus credit impot" ;
+CICOMPEMPL : calculee : "Credit d'impot competitivite emploi" ;
+CICORSE : calculee : "Credit d'impot investissement Corse" ;
+CICORSEAVIS : calculee : "Credit d'impot investissement Corse pour avis avec 8TS" ;
+CICULTUR : calculee : "Credit d'impot investissement biens cultures retenu" ;
+CIDONENTR : calculee : "Credit d'impot dons oeuvre entreprise" ;
+CIGLO : calculee : "Credit d'impot sur gain de levee d option retenu" ;
+CIGPA : calculee : "Credit d'impot groupement de prevention agree" ;
+CIMPTL : calculee : "Total des credits d'impot pour le calcul de la TL" ;
+CIRCMAVFT : calculee : "Credit d'impot ligne 2AB" ;
+CIRECH : calculee : "Credit d'impot recherche" ;
+CMAJ : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 1 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 11 sanction = 0 nat_code = 0 alias 9YT : "Code majoration           " ;
+CMAJ2 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 0 ind_abat = 0 acompte = 0 avfisc = 1 rapcat = 11 sanction = 0 nat_code = 0 alias V_CMAJ2 : "Code majoration           " ;
+CMAJ_ISF : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 0 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 0 sanction = 0 nat_code = 0 alias 9XT : "ISF : code majoration           " ;
+CO2047 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YH : "Case a cocher si le contribuable a souscrit une declaration 2047 " ;
+CO2102 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YG : "Code permettant l'edition de la lettre 754K  " type BOOLEEN ;
+COD8PA : saisie revenu classe = 0 priorite = 51 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 sanction = 0 nat_code = 1 alias 8PA : "Plafond calcule pour credit declare en 8TA (impot paye a l'etranger)" ;
+CODCHA : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YF : "Code chargement (nb de codes saisis)" ;
+CODDAJ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias DAJ : "Salaires au quotient 4 metro/DOM 30 % - Declarant 1" ;
+CODDBJ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias DBJ : "Salaires au quotient 4 metro/DOM 30 % - Declarant 2" ;
+CODEAJ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias EAJ : "Salaires au quotient 4 metro/DOM 40 % - Declarant 1" ;
+CODEBJ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 0 alias EBJ : "Salaires au quotient 4 metro/DOM 40 % - Declarant 2" ;
+CODSIR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YK : "Restitution des recoupements dans le FLR       " ;
+COMPENSACI : calculee : "Compensation restitution credit impot sur PS suite a fusion IR/PS" ;
+COMPENSANV : calculee : "Compensation restitution admission non val sur PS suite a fusion IR/PS" ;
+COMPENSIR : calculee : "Compensation IR suite a fusion IR/PS" ;
+COMPENSPPE : calculee : "Compensation restitution PPE  sur PS suite a fusion IR/PS" ;
+COMPENSPS : calculee : "Compensation PS suite a fusion IR/PS" ;
+COPETO : calculee : "Taux de penalite du a la saisie des codes 9YT et 9YW" ;
+COPETOISF : calculee : "ISF : Taux de penalite du a la saisie des codes 9XT " ;
+COTF1 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias FCT : "Nb d'annees cotisations footballeurs - PAC 1" ;
+COTF2 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias FDT : "Nb d'annees cotisations footballeurs - PAC 2" ;
+COTF3 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias FET : "Nb d'annees cotisations footballeurs PAC 3" ;
+COTF4 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias FFT : "Nb d'annees cotisations footballeurs - PAC 4" ;
+COTFC : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias FBT : "Nb d'annees cotisations footballeurs - Declarant 2" ;
+COTFV : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 0 nat_code = 1 alias FAT : "Nb d'annees cotisations footballeurs - Declarant 1" ;
+CRCFA : calculee : "Credit d'impot revenus etrangers" ;
+CRDIE : calculee : "Credit d'impot convention franco-allemande" ;
+CRESINTER : calculee : "Credit pret sans interet" ;
+CRICH : calculee : "Credit recherche 8NJ plafonne" ;
+CRIGA : saisie revenu classe = 0 priorite = 51 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 sanction = 0 nat_code = 1 alias 8TE : "Credit d'impot centre de prevention agree" ;
+CRSE1D : calculee : "cont. reve source etrangere due" ;
+CRSE2D : calculee : "cont. reve source etrangere due" ;
+CRSE3D : calculee : "cont. reve source etrangere due" ;
+CRSE4D : calculee : "cont. reve source etrangere due" ;
+CRSE5D : calculee : "cont. reve source etrangere due" ;
+CSAL : calculee : "Cont. salariale de 2,5 %" ;
+CSALBASE_A : calculee base : "correctif : csal calculee effectivement anterieure" ;
+CSALD : calculee : "Cont. salariale due" ;
+CSAL_A : calculee base : "correctif : CSal anterieure" ;
+CSGD : calculee : "CSG due" ;
+CSG_A : calculee base : "correctif : CSG anterieure" ;
+CVNBASE_A : calculee base : "correctif : base calculee effectivement anterieure" ;
+CVND : calculee : "CVN due" ;
+CVNSALC : calculee : "Contribution salariale de 10 %" ;
+CVN_A : calculee base : "correctif : CVNSAL anterieure" ;
+DABNCNP11731 : calculee base : "Deficit 5MT pour 1731" ;
+DABNCNP1P2 : calculee base : "Deficit  pour 1731" ;
+DABNCNP21731 : calculee base : "Deficit 5LT pour 1731" ;
+DABNCNP2P2 : calculee base : "Deficit  pour 1731" ;
+DABNCNP31731 : calculee base : "Deficit 5KT pour 1731" ;
+DABNCNP3P2 : calculee base : "Deficit  pour 1731" ;
+DABNCNP41731 : calculee base : "Deficit 5JT pour 1731" ;
+DABNCNP4P2 : calculee base : "Deficit  pour 1731" ;
+DABNCNP51731 : calculee base : "Deficit 5IT pour 1731" ;
+DABNCNP5P2 : calculee base : "Deficit  pour 1731" ;
+DABNCNP61731 : calculee base : "Deficit 5HT pour 1731" ;
+DABNCNP6P2 : calculee base : "Deficit 5HT pour 1731" ;
+DAGRI11731 : calculee base : "Deficit 5QQ pour 1731" ;
+DAGRI21731 : calculee base : "Deficit 5QP pour 1731" ;
+DAGRI31731 : calculee base : "Deficit 5QO pour 1731" ;
+DAGRI41731 : calculee base : "Deficit 5QN pour 1731" ;
+DAGRI51731 : calculee base : "Deficit 5QG pour 1731" ;
+DAGRI61731 : calculee base : "Deficit 5QF pour 1731" ;
+DAR : calculee : "Deficits anterieurs reportables" ;
+DAR_REP : calculee : "Deficits anterieurs reportables pour calcul report" ;
+DATDEPETR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 sanction = 0 nat_code = 0 alias 9YD : "Date depart a l'etranger " ;
+DATISFAA : calculee base : "date isf annee" ;
+DATISFDIFA : calculee base : "date isf annee" ;
+DATISFDIFM : calculee base : "date isf mois" ;
+DATISFMM : calculee base : "date isf mois" ;
+DATISFTOT : calculee base : "date isf aa + mm" ;
+DATRETETR : saisie revenu classe = 0 priorite = 60 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 sanction = 0 nat_code = 0 alias 9YR : "Date retour en France     " ;
+DCP : calculee : "Deduction pour souscription societe de PECHE (SOFIPECHE)" ;
+DCSG : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 9 sanction = 0 nat_code = 1 alias 6DE : "CSG deductible" ;
+DCSGIM_A : calculee base : "csg deductible provisoire anterieure" ;
+DDCSG : calculee : "Libelle CSG deductible" ;
+DEC11 : calculee : "Decote totale" ;
+DEC11TOUT : calculee base : "DEC11 dernier evt pour calcul de DEFRI" ;
+DEC12 : calculee : "Decote totale" ;
+DEC31 : calculee : "Impot KIR (suprression des reductions)" ;
+DEC32 : calculee : "Impot KIR (suprression des reductions)" ;
+DEC6 : calculee : "Decote pour la taxation du 8VV (art. 168)" ;
+DEDIV : calculee : "Deductions diverses" ;
+DEF8ZU1731 : calculee : "Somme des revenus categoriels nets hors BA" ;
+DEF8ZUP2 : calculee : "Somme des revenus categoriels nets hors BA" ;
+DEF8ZUTOUT : calculee base : "Somme des revenus categoriels nets hors BA" ;
+DEFAA01731 : calculee base : "Deficit 6FL pour 1731" ;
+DEFAA11731 : calculee base : "Deficit 6FE pour 1731" ;
+DEFAA21731 : calculee base : "Deficit 6FD pour 1731" ;
+DEFAA31731 : calculee base : "Deficit 6FC pour 1731" ;
+DEFAA41731 : calculee base : "Deficit 6FB pour 1731" ;
+DEFAA51731 : calculee base : "Deficit 6FA pour 1731" ;
+DEFBIC11731 : calculee base : "Deficit 5RW pour 1731" ;
+DEFBIC21731 : calculee base : "Deficit 5RR pour 1731" ;
+DEFBIC31731 : calculee base : "Deficit 5RQ pour 1731" ;
+DEFBIC41731 : calculee base : "Deficit 5RP pour 1731" ;
+DEFBIC51731 : calculee base : "Deficit 5RO pour 1731" ;
+DEFBIC61731 : calculee base : "Deficit 5RN pour 1731" ;
+DEFRCM1731 : calculee base : "Deficit 2AA pour 1731" ;
+DEFRCM21731 : calculee base : "Deficit 2AL pour 1731" ;
+DEFRCM31731 : calculee base : "Deficit 2AM pour 1731" ;
+DEFRCM41731 : calculee base : "Deficit 2AN pour 1731" ;
+DEFRCM51731 : calculee base : "Deficit 2AQ pour 1731" ;
+DEFRCM61731 : calculee base : "Deficit 2AR pour 1731" ;
+DEFZU : saisie revenu classe = 0 priorite = 51 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 11 sanction = 0 nat_code = 0 alias 8ZU : "Penalit art. 1731 bis : deficits de source etrangere" type REEL ;
+DEFZU1731 : calculee base : "Deficit 8ZU pour 1731" ;
+DENOCEPP2 : calculee base : "Deficit  pour 1731" ;
+DFA : calculee : "Deduction pour frais d'accueil" ;
+DFCE : calculee : "Deficit foncier apres imputation deficits 3CE" ;
+DFCE1731R : calculee : "Deficit foncier apres imputation deficits 3CE" ;
+DFCG : calculee : "Deficit foncier apres imputation deficits 3CG" ;
+DFCG1731R : calculee : "Deficit foncier apres imputation deficits 3CG" ;
+DISFE : calculee : "ISF : ISF paye a l etranger a imputer sur ISF net des reductions ISF " ;
+DISQUONB : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 1 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 5 sanction = 0 nat_code = 1 alias NTS : "Distributions taxees au quotient - Nb d'annees" ;
+DMOND : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 11 sanction = 0 nat_code = 1 alias 8ZY : "Deficit net mondial (taux moyen pour les non-residents)" ;
+DMOND1731 : calculee base : "Deficit 8ZY pour 1731" ;
+DMONDP2 : calculee : "Somme des revenus categoriels nets hors BA" ;
+DMONDTOUT : calculee base : "Somme des revenus categoriels nets hors BA" ;
+DNOCEP1731 : calculee base : "Deficit 5SP pour 1731" ;
+DNOCEPC1731 : calculee base : "Deficit 5NU pour 1731" ;
+DNOCEPP1731 : calculee base : "Deficit 5OU pour 1731" ;
+DOMABDB : calculee : "DOM : abattement non utilise calcule sur les droits au bareme" ;
+DOMAVTD : calculee : "DOM : avantage impot PV  taux minore DOM" ;
+DOMAVTG : calculee : "DOM : avantage impot PV  taux minore GUY" ;
+DOMAVTO : calculee : "DOM : avantage taux minore" ;
+DOMDOM : calculee : "DOM : calcul avantage maximum sur l impot proportionnel" ;
+DOMITPD : calculee : "DOM : impot PV  taux minore dom" ;
+DOMITPG : calculee : "DOM : impot PV  taux minore GUY" ;
+DPA : calculee : "Deduction pour pensions alimentaires" ;
+DPAE : calculee : "Deduction pour pension alimentaire etudiant" ;
+DRCF : calculee : "Deficit foncier imputable sur le RBG" ;
+DRCF1731R : calculee : "Deficit foncier imputable sur le RBG" ;
+DRF : calculee : "Deficit foncier imputable sur le RBG" ;
+DS011 : calculee : "Droits simples issus du bareme" ;
+DS012 : calculee : "Droits simples issus du bareme" ;
+DS013 : calculee : "Droits simples issus du bareme" ;
+DS014 : calculee : "Droits simples issus du bareme" ;
+DS015 : calculee : "Droits simples issus du bareme" ;
+DS016 : calculee : "Droits simples issus du bareme 8VV art. 168" ;
+DS021 : calculee : "Droits simples issus du bareme" ;
+DS022 : calculee : "Droits simples issus du bareme" ;
+DS023 : calculee : "Droits simples issus du bareme" ;
+DS024 : calculee : "Droits simples issus du bareme" ;
+DS026 : calculee : "Droits simples issus du bareme 8VV art. 168" ;
+DS1 : calculee : "Droits simples issus du bareme" ;
+DS2 : calculee : "Droits simples issus du bareme" ;
+DS3 : calculee : "Droits simples issus du bareme" ;
+DS4 : calculee : "Droits simples issus du bareme" ;
+DS5 : calculee : "Droits simples issus du bareme" ;
+DS511 : calculee : "Droits simples issus du bareme" ;
+DS512 : calculee : "Droits simples issus du bareme" ;
+DS515 : calculee : "Droits simples issus du bareme" ;
+DS521 : calculee : "Droits simples issus du bareme" ;
+DS522 : calculee : "Droits simples issus du bareme" ;
+EAC : calculee : "Nombre d'enfants a charge pour calcul du nombre de parts" ;
+EXO1 : calculee : "Indicateur d'exoneration pour revenus faibles" ;
+FCPI : saisie revenu classe = 0 priorite = 31 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 1 rapcat = 10 sanction = 0 nat_code = 1 alias 7GQ : "Souscriptions de parts de FCPI" ;
+FLAG_1731 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 0 ind_abat = 0 acompte = 0 avfisc = 1 rapcat = 13 sanction = 0 nat_code = 0 alias V_FLAG_1731 : "flag pour calcul article 1731" ;
+FLAG_3WANEG : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 0 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias V_FLAG_3WANE : "flag pour calcul Exit Tax  passage acompte negatif 3WA" ;
+FLAG_3WBNEG : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 0 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias V_FLAG_3WBNE : "flag pour calcul Exit Tax  passage acompte negatif 3WB" ;
+FLAG_ACO : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 0 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias V_FLAG_ACO : "flag pour calcul CIRELANCE passage acompte" ;
+FLAG_EXIT : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 0 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias V_FLAG_EXIT : "flag pour calcul Exit Tax  passage acompte" ;
+FONCINB : saisie revenu classe = 1 priorite = 10 categorie_TL = 20 cotsoc = 1 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 7 sanction = 0 nat_code = 1 alias NBA : "Revenus fonciers taxes au quotient - Nb d'annees" ;
+FRD11731 : calculee base : "Frais TS retenu pour 1731" ;
+FRD21731 : calculee base : "Frais TS retenu pour 1731" ;
+FRD31731 : calculee base : "Frais TS retenu pour 1731" ;
+FRD41731 : calculee base : "Frais TS retenu pour 1731" ;
+FRDC1731 : calculee base : "Frais TS retenu pour 1731" ;
+FRDV1731 : calculee base : "Frais TS retenu pour 1731" ;
+FRDVP2 : calculee : "Somme des revenus categoriels nets hors BA" ;
+FRN11731 : calculee base : "Frais TS declare pour 1731" ;
+FRN17311 : calculee base : "Frais TS retenu pour 1731" ;
+FRN17312 : calculee base : "Frais TS retenu pour 1731" ;
+FRN17313 : calculee base : "Frais TS retenu pour 1731" ;
+FRN17314 : calculee base : "Frais TS retenu pour 1731" ;
+FRN1731C : calculee base : "Frais TS retenu pour 1731" ;
+FRN1731V : calculee base : "Frais TS retenu pour 1731" ;
+FRN21731 : calculee base : "Frais TS declare pour 1731" ;
+FRN31731 : calculee base : "Frais TS declare pour 1731" ;
+FRN41731 : calculee base : "Frais TS declare pour 1731" ;
+FRNC1731 : calculee base : "Frais TS declare pour 1731" ;
+FRNRET1 : calculee base : "Frais TS retenu pour 1731" ;
+FRNRET2 : calculee base : "Frais TS retenu pour 1731" ;
+FRNRET3 : calculee base : "Frais TS retenu pour 1731" ;
+FRNRET4 : calculee base : "Frais TS retenu pour 1731" ;
+FRNRETC : calculee base : "Frais TS retenu pour 1731" ;
+FRNRETENU1 : calc
\ No newline at end of file
diff --git a/sources2013m_3_8/tgvH.m b/sources2013m_3_8/tgvH.m
new file mode 100644
index 0000000000000000000000000000000000000000..5941daed4e03521d378289a8d369f5f2e0b01755
--- /dev/null
+++ b/sources2013m_3_8/tgvH.m
@@ -0,0 +1,426 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAN : calculee : "Revenus ouvrant droit a l'abattement unique nets de frais" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+1RCM_I2FA : calculee : "RCM Q1 avec 2FA apres imputaion 2CA avant imputation 2AA" ;
+1RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+1RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2CKIMP : calculee restituee : "RCM prel. faofaitaire  : montant impute" ;
+2CKREST : calculee restituee : "RCM prel. forfaitaire  : montant restitution" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAR : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+2REVF1731R : calculee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+3REVF1731R : calculee : "Revenus fonciers exceptionnels imposables" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+3VVIMP : calculee restituee : "Prelevement liberatoire 45% : montant impute" ;
+3VVREST : calculee restituee : "Prelevement liberatoire 45% : montant restitution" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 2" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 1" ;
+4BAHQC1731R : calculee : "ba hors quotient vous" ;
+4BAHQP1731R : calculee : "ba hors quotient vous" ;
+4BAHQV1731R : calculee : "ba hors quotient vous" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Declarant 2" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Declarant 1" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQC1731R : calculee : "ba hors quotient vous quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQP1731R : calculee : "ba hors quotient vous quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOT1731R : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQTOTNET1731R : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4BAQV1731R : calculee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREC1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREC1731R : calculee : "Part du deficit sur code revenu majore " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREP1731R : calculee : "Part du deficit sur code revenu majore " ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV1731R : calculee : "Part du deficit sur code revenu majore " ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RENT1 : calculee : "pour calculer A10RENT en cas de 1731bis" ;
+A10RENT1731 : calculee base : "A10RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RFOR1731 : calculee base : "A10RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RNOUV : calculee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RNOUV1731 : calculee base : "A10RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RSOC : calculee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10RSOC1731 : calculee base : "A10RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC : calculee : "A2 : Investissements locatif social - reduction" ;
+A10TOURSOC1731 : calculee base : "A10TOURSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC_1 : calculee : "A10REEL : Investissements locatif social - reduction sans 1731bis" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RENT1 : calculee : "pour calculer A11RENT en cas de 1731bis" ;
+A11RENT1731 : calculee base : "A11RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RFOR1731 : calculee base : "A11RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RNOUV : calculee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RNOUV1731 : calculee base : "A11RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RSOC : calculee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11RSOC1731 : calculee base : "A11RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11TOURSOC : calculee : "A2 : Investissements locatif social - reduction" ;
+A12REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A12RENT : calculee : "Calcul de AUBAINE12 : Reduction Invt DOM ds cadre entreprise" ;
+A12RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A12RENT1731 : calculee base : "A12RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RESTIMOA : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RESTIMOE : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RETRESTIMO : calculee : " Plaf av fiscaux - Travaux de restauration immo - reduction calcule" ;
+A12RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE12, reductions invt forestier retenues" ;
+A12RFOR1731 : calculee base : "A12RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RNOUV : calculee : "Calcul de AUBAINE12 : Reduction Capital de societes nouvelles" ;
+A12RNOUV1731 : calculee base : "A12RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RRESTIMO : calculee restituee : "Plaf av fiscaux -Travaux de restauration immobiliere - reduction" ;
+A12RRESTIMO_1 : calculee : "Plaf av fiscaux - Travaux de restauration immo - reduc" ;
+A12RSOC : calculee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A12RSOC1731 : calculee base : "A12RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12TOURSOC : calculee : "A2 : Investissements locatif social - reduction" ;
+A13REELA : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13REELB : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13RENT : calculee : "Calcul de AUBAINE13 : Reduction Invt DOM ds cadre entreprise" ;
+A13RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A13RENT1731 : calculee base : "A13RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A13RFOR1731 : calculee base : "A13RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RNOUV : calculee : "Calcul de AUBAINE13 : Reduction Capital de societes nouvelles" ;
+A13RNOUV1731 : calculee base : "A13RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RSOC : calculee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AAIDE1731 : calculee base : "AAIDE retenu  a la fin 1er traitement si 1731bis" ;
+AAIDE_P : calculee base : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABADO1 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO2 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO31 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO32 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO4 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO6 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADON1 : calculee : "Abattement DOM" ;
+ABADON2 : calculee : "Abattement DOM" ;
+ABADON31 : calculee : "Abattement DOM" ;
+ABADON32 : calculee : "Abattement DOM" ;
+ABADON4 : calculee : "Abattement DOM" ;
+ABADON6 : calculee : "Abattement DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAGU1 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU2 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU3 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU31 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU32 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU4 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU6 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABATOT1 : calculee : "Abattement DOM" ;
+ABATOT2 : calculee : "Abattement DOM" ;
+ABATOT31 : calculee : "Abattement DOM" ;
+ABATOT32 : calculee : "Abattement DOM" ;
+ABATOT4 : calculee : "Abattement DOM" ;
+ABATOT6 : calculee : "Abattement DOM" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1166.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VB : "Abat. pour duree de detention dirigeant - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VA : "Abat. pour duree de detention dirigeant - Plus-value" ;
+ABDOMDAJ : calculee : "Abattement frais pro proratise pour DAJ" ;
+ABDOMDBJ : calculee : "Abattement frais pro proratise pour DBJ" ;
+ABDOMEAJ : calculee : "Abattement frais pro proratise pour EAJ" ;
+ABDOMEBJ : calculee : "Abattement frais pro proratise pour EBJ" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPVNOSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WD : "P.V sans sursis de paiement : abat. si depart retraite du dirigeant" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee restituee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee restituee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTPATEFRFR : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTS1AJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1AP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1TT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1UT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VK : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACEL1731 : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACEL2012 : calculee restituee : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL20121731 : calculee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACEL2012_P : calculee base : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL2012_R : calculee : "Scellier engagement et fini en 2012- Retenu  pour report si 1731bis" ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM1731 : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELCOM_P : calculee base : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM_R : calculee : " Scellier report -pour calculer RIVCELCOM si 1731bis" ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELFABC : calculee restituee : "Investissement Scellier 2013 engagement 2012" ;
+ACELFABC1731 : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFABC_P : calculee base : "Investissement Scellier 2013 engagement 2012" ;
+ACELFABC_R : calculee : " Scellier report - pour calculer RRCEL2013A si 1731bis" ;
+ACELFD : calculee restituee : "Investissement Scellier 2013 engagement 2012 Polynesie - Retenu  " ;
+ACELFD1731 : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFD_P : calculee base : "Investissement Scellier 2013 engagement 2012 Polynesie - Retenu  " ;
+ACELFD_R : calculee : " Scellier report - pour calculer RRCEL2013A si 1731bis" ;
+ACELHJK : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHJK1731 : calculee base : " Scellier report - Retenu 7HJ 7HK a la fin 1er traitement si 1731bis" ;
+ACELHJK_P : calculee base : "Investissement Scellier - Retenu  " ;
+ACELHJK_R : calculee : " Scellier report -pour calculer RIVCELJK1 si 1731bis" ;
+ACELHL : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHL1731 : calculee base : " Scellier report - Retenu 7HL a la fin 1er traitement si 1731bis" ;
+ACELHL_P : calculee base : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHL_R : calculee : " Scellier report - pour calculer RIVCELHLM1 si 1731bis" ;
+ACELHM : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHM1731 : calculee base : " Scellier report - Retenu 7HM a la fin 1er traitement si 1731bis" ;
+ACELHM_P : calculee base : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHM_R : calculee : " Scellier report - pour calculer RIVCELHLM1 si 1731bis" ;
+ACELHNO : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHNO1731 : calculee base : " Scellier report - Retenu 7HNO a la fin 1er traitement si 1731bis" ;
+ACELHNO_P : calculee base : "Investissement Scellier - Retenu  " ;
+ACELHNO_R : calculee : " Scellier report - pour calculer RIVCELHNO1 si 1731bis" ;
+ACELJBGL : calculee restituee : "Investissement Scellier engagement avant 2012- Retenu  " ;
+ACELJBGL1731 : calculee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACELJBGL_P : calculee base : "Investissement Scellier engagement avant 2012- Retenu  " ;
+ACELJBGL_R : calculee : " Scellier report - pour calculer RIVCELJBGL1 si 1731bis" ;
+ACELJOQR : calculee restituee : "Investissement Scellier COM 2012- Retenu  " ;
+ACELJOQR1731 : calculee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACELJOQR_P : calculee base : "Investissement Scellier COM 2012- Retenu  " ;
+ACELJOQR_R : calculee : " Scellier report -pour calculer RIVCELJOQR si 1731bis" ;
+ACELJP : calculee restituee : "Investissement Scellier engagement avant 2012 Polynesie - Retenu  " ;
+ACELJP1731 : calculee base : " Scellier report - Retenu  7JP a la fin 1er traitement si 1731bis" ;
+ACELJP_P : calculee base : "Investissement Scellier engagement avant 2012 Polynesie - Retenu  " ;
+ACELJP_R : calculee : " Scellier report - pour calculer RIVCELJP1 si 1731bis" ;
+ACELMET : calculee restituee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNBGL : calculee restituee : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNBGL1731 : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELNBGL_P : calculee base : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNBGL_R : calculee : " Scellier report - pour calculer RIVCELNBGL1 si 1731bis" ;
+ACELNQ : calculee restituee : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELNQ1731 : calculee base : " Scellier report - Retenu 7NQ a la fin 1er traitement si 1731bis" ;
+ACELNQ_P : calculee base : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELNQ_R : calculee : "Scellier - pour calculer report avec ou sans 1731 bis  " ;
+ACELREPGJ : calculee restituee : "Investissement Scellier report reduction - Retenu 7GJ" ;
+ACELREPGJ1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGJ_P : calculee base : "Investissement Scellier report reduction - Retenu 7GJ" ;
+ACELREPGK : calculee restituee : "Investissement Scellier report reduction - Retenu 7GK" ;
+ACELREPGK1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGK_P : calculee base : "Investissement Scellier report reduction - Retenu 7GK" ;
+ACELREPGL : calculee restituee : "Investissement Scellier report reduction - Retenu 7GL" ;
+ACELREPGL1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGL_P : calculee base : "Investissement Scellier report reduction - Retenu 7GL" ;
+ACELREPGP : calculee restituee : "Investissement Scellier report reduction - Retenu 7GP" ;
+ACELREPGP1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGP_P : calculee base : "Investissement Scellier report reduction - Retenu 7GP" ;
+ACELREPGS : calculee restituee : "Investissement Scellier report reduction - Retenu 7GS" ;
+ACELREPGS1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGS_P : calculee base : "Investissement Scellier report reduction - Retenu 7GS" ;
+ACELREPGT : calculee restituee : "Investissement Scellier report reduction - Retenu 7GT" ;
+ACELREPGT1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGT_P : calculee base : "Investissement Scellier report reduction - Retenu 7GT" ;
+ACELREPGU : calculee restituee : "Investissement Scellier report reduction - Retenu 7GU" ;
+ACELREPGU1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGU_P : calculee base : "Investissement Scellier report reduction - Retenu 7GU" ;
+ACELREPGV : calculee restituee : "Investissement Scellier report reduction - Retenu 7GV" ;
+ACELREPGV1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGV_P : calculee base : "Investissement Scellier report reduction - Retenu 7GV" ;
+ACELREPGW : calculee restituee : "Investissement Scellier report reduction - Retenu 7GW" ;
+ACELREPGW1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGW_P : calculee base : "Investissement Scellier report reduction - Retenu 7GW" ;
+ACELREPGX : calculee restituee : "Investissement Scellier report reduction - Retenu 7GX" ;
+ACELREPGX1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGX_P : calculee base : "Investissement Scellier report reduction - Retenu 7GX" ;
+ACELREPHA : calculee restituee : "Investissement Scellier report reduction - Retenu 7HA" ;
+ACELREPHA1731 : calculee base : " Scellier report - Retenu 7HA a la fin 1er traitement si 1731bis" ;
+ACELREPHA_P : calculee base : "Investissement Scell
\ No newline at end of file
diff --git a/sources2013m_3_8/tgvI.m b/sources2013m_3_8/tgvI.m
new file mode 100644
index 0000000000000000000000000000000000000000..a2f33830383eef7fc2ad7d1246697361d3f989a6
--- /dev/null
+++ b/sources2013m_3_8/tgvI.m
@@ -0,0 +1,419 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 13 Application iliad
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAN : calculee : "Revenus ouvrant droit a l'abattement unique nets de frais" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+1RCM_I2FA : calculee : "RCM Q1 avec 2FA apres imputaion 2CA avant imputation 2AA" ;
+1RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+1RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2CKIMP : calculee restituee : "RCM prel. faofaitaire  : montant impute" ;
+2CKREST : calculee restituee : "RCM prel. forfaitaire  : montant restitution" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAR : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+2REVF1731R : calculee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+3REVF1731R : calculee : "Revenus fonciers exceptionnels imposables" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+3VVIMP : calculee restituee : "Prelevement liberatoire 45% : montant impute" ;
+3VVREST : calculee restituee : "Prelevement liberatoire 45% : montant restitution" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 2" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 1" ;
+4BAHQC1731R : calculee : "ba hors quotient vous" ;
+4BAHQP1731R : calculee : "ba hors quotient vous" ;
+4BAHQV1731R : calculee : "ba hors quotient vous" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Declarant 2" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Declarant 1" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQC1731R : calculee : "ba hors quotient vous quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQP1731R : calculee : "ba hors quotient vous quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOT1731R : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQTOTNET1731R : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4BAQV1731R : calculee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREC1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREC1731R : calculee : "Part du deficit sur code revenu majore " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREP1731R : calculee : "Part du deficit sur code revenu majore " ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV1731R : calculee : "Part du deficit sur code revenu majore " ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee restituee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RENT1 : calculee : "pour calculer A10RENT en cas de 1731bis" ;
+A10RENT1731 : calculee restituee base : "A10RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RFOR : calculee restituee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RFOR1731 : calculee restituee base : "A10RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RNOUV : calculee restituee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RNOUV1731 : calculee restituee base : "A10RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10RSOC1731 : calculee restituee base : "A10RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A10TOURSOC1731 : calculee restituee base : "A10TOURSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC_1 : calculee restituee : "A10REEL : Investissements locatif social - reduction sans 1731bis" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee restituee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RENT1 : calculee : "pour calculer A11RENT en cas de 1731bis" ;
+A11RENT1731 : calculee restituee base : "A11RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RFOR : calculee restituee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RFOR1731 : calculee restituee base : "A11RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RNOUV : calculee restituee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RNOUV1731 : calculee restituee base : "A11RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11RSOC1731 : calculee restituee base : "A11RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A12REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A12RENT : calculee restituee : "Calcul de AUBAINE12 : Reduction Invt DOM ds cadre entreprise" ;
+A12RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A12RENT1731 : calculee restituee base : "A12RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RESTIMOA : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RESTIMOE : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RETRESTIMO : calculee restituee : " Plaf av fiscaux - Travaux de restauration immo - reduction calcule" ;
+A12RFOR : calculee restituee : "Plaf-av-fisco, calcul AUBAINE12, reductions invt forestier retenues" ;
+A12RFOR1731 : calculee restituee base : "A12RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RNOUV : calculee restituee : "Calcul de AUBAINE12 : Reduction Capital de societes nouvelles" ;
+A12RNOUV1731 : calculee restituee base : "A12RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RRESTIMO : calculee restituee : "Plaf av fiscaux -Travaux de restauration immobiliere - reduction" ;
+A12RRESTIMO_1 : calculee : "Plaf av fiscaux - Travaux de restauration immo - reduc" ;
+A12RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A12RSOC1731 : calculee restituee base : "A12RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A13REELA : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13REELB : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13RENT : calculee restituee : "Calcul de AUBAINE13 : Reduction Invt DOM ds cadre entreprise" ;
+A13RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A13RENT1731 : calculee restituee base : "A13RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RFOR : calculee restituee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A13RFOR1731 : calculee restituee base : "A13RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RNOUV : calculee restituee : "Calcul de AUBAINE13 : Reduction Capital de societes nouvelles" ;
+A13RNOUV1731 : calculee restituee base : "A13RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AAIDE1731 : calculee restituee base : "AAIDE retenu  a la fin 1er traitement si 1731bis" ;
+AAIDE_P : calculee base : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+AB20_RAPPEL : saisie penalite alias V_A20_RAPPEL : "Champ indicateur perte abattement 20% dans une ligne rappel" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABADO1 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO2 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO31 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO32 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO4 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO6 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADON1 : calculee : "Abattement DOM" ;
+ABADON2 : calculee : "Abattement DOM" ;
+ABADON31 : calculee : "Abattement DOM" ;
+ABADON32 : calculee : "Abattement DOM" ;
+ABADON4 : calculee : "Abattement DOM" ;
+ABADON6 : calculee : "Abattement DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAGU1 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU2 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU3 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU31 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU32 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU4 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU6 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABATOT1 : calculee : "Abattement DOM" ;
+ABATOT2 : calculee : "Abattement DOM" ;
+ABATOT31 : calculee : "Abattement DOM" ;
+ABATOT32 : calculee : "Abattement DOM" ;
+ABATOT4 : calculee : "Abattement DOM" ;
+ABATOT6 : calculee : "Abattement DOM" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1166.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VB : "Abat. pour duree de detention dirigeant - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VA : "Abat. pour duree de detention dirigeant - Plus-value" ;
+ABDOMDAJ : calculee : "Abattement frais pro proratise pour DAJ" ;
+ABDOMDBJ : calculee : "Abattement frais pro proratise pour DBJ" ;
+ABDOMEAJ : calculee : "Abattement frais pro proratise pour EAJ" ;
+ABDOMEBJ : calculee : "Abattement frais pro proratise pour EBJ" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPVNOSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WD : "P.V sans sursis de paiement : abat. si depart retraite du dirigeant" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee restituee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee restituee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTPATEFRFR : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTS1AJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1AP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1TT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1UT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VK : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACEL1731 : calculee restituee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACEL2012 : calculee restituee : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL20121731 : calculee restituee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACEL2012_P : calculee base : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL2012_R : calculee : "Scellier engagement et fini en 2012- Retenu  pour report si 1731bis" ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM1731 : calculee restituee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELCOM_P : calculee base : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM_R : calculee : " Scellier report -pour calculer RIVCELCOM si 1731bis" ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELFABC : calculee restituee : "Investissement Scellier 2013 engagement 2012" ;
+ACELFABC1731 : calculee restituee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFABC_P : calculee base : "Investissement Scellier 2013 engagement 2012" ;
+ACELFABC_R : calculee : " Scellier report - pour calculer RRCEL2013A si 1731bis" ;
+ACELFD : calculee restituee : "Investissement Scellier 2013 engagement 2012 Polynesie - Retenu  " ;
+ACELFD1731 : calculee restituee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFD_P : calculee base : "Investissement Scellier 2013 engagement 2012 Polynesie - Retenu  " ;
+ACELFD_R : calculee : " Scellier report - pour calculer RRCEL2013A si 1731bis" ;
+ACELHJK : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHJK1731 : calculee restituee base : " Scellier report - Retenu 7HJ 7HK a la fin 1er traitement si 1731bis" ;
+ACELHJK_P : calculee base : "Investissement Scellier - Retenu  " ;
+ACELHJK_R : calculee : " Scellier report -pour calculer RIVCELJK1 si 1731bis" ;
+ACELHL : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHL1731 : calculee restituee base : " Scellier report - Retenu 7HL a la fin 1er traitement si 1731bis" ;
+ACELHL_P : calculee base : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHL_R : calculee : " Scellier report - pour calculer RIVCELHLM1 si 1731bis" ;
+ACELHM : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHM1731 : calculee restituee base : " Scellier report - Retenu 7HM a la fin 1er traitement si 1731bis" ;
+ACELHM_P : calculee base : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHM_R : calculee : " Scellier report - pour calculer RIVCELHLM1 si 1731bis" ;
+ACELHNO : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHNO1731 : calculee restituee base : " Scellier report - Retenu 7HNO a la fin 1er traitement si 1731bis" ;
+ACELHNO_P : calculee base : "Investissement Scellier - Retenu  " ;
+ACELHNO_R : calculee : " Scellier report - pour calculer RIVCELHNO1 si 1731bis" ;
+ACELJBGL : calculee restituee : "Investissement Scellier engagement avant 2012- Retenu  " ;
+ACELJBGL1731 : calculee restituee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACELJBGL_P : calculee base : "Investissement Scellier engagement avant 2012- Retenu  " ;
+ACELJBGL_R : calculee : " Scellier report - pour calculer RIVCELJBGL1 si 1731bis" ;
+ACELJOQR : calculee restituee : "Investissement Scellier COM 2012- Retenu  " ;
+ACELJOQR1731 : calculee restituee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACELJOQR_P : calculee base : "Investissement Scellier COM 2012- Retenu  " ;
+ACELJOQR_R : calculee : " Scellier report -pour calculer RIVCELJOQR si 1731bis" ;
+ACELJP : calculee restituee : "Investissement Scellier engagement avant 2012 Polynesie - Retenu  " ;
+ACELJP1731 : calculee restituee base : " Scellier report - Retenu  7JP a la fin 1er traitement si 1731bis" ;
+ACELJP_P : calculee base : "Investissement Scellier engagement avant 2012 Polynesie - Retenu  " ;
+ACELJP_R : calculee : " Scellier report - pour calculer RIVCELJP1 si 1731bis" ;
+ACELMET : calculee restituee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNBGL : calculee restituee : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNBGL1731 : calculee restituee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELNBGL_P : calculee base : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNBGL_R : calculee : " Scellier report - pour calculer RIVCELNBGL1 si 1731bis" ;
+ACELNQ : calculee restituee : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELNQ1731 : calculee restituee base : " Scellier report - Retenu 7NQ a la fin 1er traitement si 1731bis" ;
+ACELNQ_P : calculee base : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELNQ_R : calculee : "Scellier - pour calculer report avec ou sans 1731 bis  " ;
+ACELREPGJ : calculee restituee : "Investissement Scellier report reduction - Retenu 7GJ" ;
+ACELREPGJ1731 : calculee restituee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGJ_P : calculee base : "Investissement Scellier report reduction - Retenu 7GJ" ;
+ACELREPGK : calculee restituee : "Investissement Scellier report reduction - Retenu 7GK" ;
+ACELREPGK1731 : calculee restituee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGK_P : calculee base : "Investissement Scellier report reduction - Retenu 7GK" ;
+ACELREPGL : calculee restituee : "Investissement Scellier report reduction - Retenu 7GL" ;
+ACELREPGL1731 : calculee restituee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGL_P : calculee base : "Investissement Scellier report reduction - Retenu 7GL" ;
+ACELREPGP : calculee restituee : "Investissement Scellier report reduction - Retenu 7GP" ;
+ACELREPGP1731 : calculee restituee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGP_P : calculee base : "Investissement Scellier report reduction - Retenu 7GP" ;
+ACELREPGS : calculee restituee : "Investissement Scellier report reduction - Retenu 7GS" ;
+ACELREPGS1731 : calculee restituee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGS_P : calculee base : "Investissement Scellier report reduction - Retenu 7GS" ;
+ACELREPGT : calculee restituee : "Investissement Scellier report reduction - Retenu 7GT" ;
+ACELREPGT1731 : calculee restituee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGT_P : calculee base : "Investissement Scellier report reduction - Retenu 7GT" ;
+ACELREPGU : calculee restituee : "Investissement Scellier report reduction - Retenu 7GU" ;
+ACELREPGU1731 : calculee restituee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGU_P : calculee base : "Investissement Scellier report reduction - Retenu 7GU" ;
+ACELREPGV : calculee restituee : "Investissement Scellier report reduction - Retenu 7GV" ;
+ACELREPGV1731 : calculee restituee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGV_P : calculee base : "Investisseme
\ No newline at end of file
diff --git a/sources2013m_3_8/tgvO.m b/sources2013m_3_8/tgvO.m
new file mode 100644
index 0000000000000000000000000000000000000000..866b36f8f93d66785e3b3a500e2dd91e96adb10b
--- /dev/null
+++ b/sources2013m_3_8/tgvO.m
@@ -0,0 +1,424 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 13 Application oceans
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAN : calculee : "Revenus ouvrant droit a l'abattement unique nets de frais" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+1RCM_I2FA : calculee : "RCM Q1 avec 2FA apres imputaion 2CA avant imputation 2AA" ;
+1RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+1RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2CKIMP : calculee restituee : "RCM prel. faofaitaire  : montant impute" ;
+2CKREST : calculee restituee : "RCM prel. forfaitaire  : montant restitution" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAR : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+2REVF1731R : calculee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+3REVF1731R : calculee : "Revenus fonciers exceptionnels imposables" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+3VVIMP : calculee restituee : "Prelevement liberatoire 45% : montant impute" ;
+3VVREST : calculee restituee : "Prelevement liberatoire 45% : montant restitution" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 2" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 1" ;
+4BAHQC1731R : calculee : "ba hors quotient vous" ;
+4BAHQP1731R : calculee : "ba hors quotient vous" ;
+4BAHQV1731R : calculee : "ba hors quotient vous" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Declarant 2" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Declarant 1" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQC1731R : calculee : "ba hors quotient vous quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQP1731R : calculee : "ba hors quotient vous quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOT1731R : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQTOTNET1731R : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4BAQV1731R : calculee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREC1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREC1731R : calculee : "Part du deficit sur code revenu majore " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREP1731R : calculee : "Part du deficit sur code revenu majore " ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV1731R : calculee : "Part du deficit sur code revenu majore " ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee restituee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RENT1 : calculee : "pour calculer A10RENT en cas de 1731bis" ;
+A10RENT1731 : calculee base : "A10RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RFOR1731 : calculee base : "A10RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RNOUV : calculee restituee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RNOUV1731 : calculee base : "A10RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10RSOC1731 : calculee base : "A10RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A10TOURSOC1731 : calculee base : "A10TOURSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC_1 : calculee restituee : "A10REEL : Investissements locatif social - reduction sans 1731bis" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee restituee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RENT1 : calculee : "pour calculer A11RENT en cas de 1731bis" ;
+A11RENT1731 : calculee base : "A11RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RFOR1731 : calculee base : "A11RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RNOUV : calculee restituee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RNOUV1731 : calculee base : "A11RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11RSOC1731 : calculee base : "A11RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A12REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A12RENT : calculee restituee : "Calcul de AUBAINE12 : Reduction Invt DOM ds cadre entreprise" ;
+A12RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A12RENT1731 : calculee base : "A12RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RESTIMOA : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RESTIMOE : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RETRESTIMO : calculee restituee : " Plaf av fiscaux - Travaux de restauration immo - reduction calcule" ;
+A12RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE12, reductions invt forestier retenues" ;
+A12RFOR1731 : calculee base : "A12RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RNOUV : calculee restituee : "Calcul de AUBAINE12 : Reduction Capital de societes nouvelles" ;
+A12RNOUV1731 : calculee base : "A12RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RRESTIMO : calculee restituee : "Plaf av fiscaux -Travaux de restauration immobiliere - reduction" ;
+A12RRESTIMO_1 : calculee : "Plaf av fiscaux - Travaux de restauration immo - reduc" ;
+A12RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A12RSOC1731 : calculee base : "A12RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A13REELA : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13REELB : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13RENT : calculee restituee : "Calcul de AUBAINE13 : Reduction Invt DOM ds cadre entreprise" ;
+A13RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A13RENT1731 : calculee base : "A13RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A13RFOR1731 : calculee base : "A13RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RNOUV : calculee restituee : "Calcul de AUBAINE13 : Reduction Capital de societes nouvelles" ;
+A13RNOUV1731 : calculee base : "A13RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AAIDE1731 : calculee base : "AAIDE retenu  a la fin 1er traitement si 1731bis" ;
+AAIDE_P : calculee base : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+AB20_RAPPEL : saisie penalite alias V_A20_RAPPEL : "Champ indicateur perte abattement 20% dans une ligne rappel" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABADO1 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO2 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO31 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO32 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO4 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO6 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADON1 : calculee : "Abattement DOM" ;
+ABADON2 : calculee : "Abattement DOM" ;
+ABADON31 : calculee : "Abattement DOM" ;
+ABADON32 : calculee : "Abattement DOM" ;
+ABADON4 : calculee : "Abattement DOM" ;
+ABADON6 : calculee : "Abattement DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAGU1 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU2 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU3 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU31 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU32 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU4 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU6 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABATOT1 : calculee : "Abattement DOM" ;
+ABATOT2 : calculee : "Abattement DOM" ;
+ABATOT31 : calculee : "Abattement DOM" ;
+ABATOT32 : calculee : "Abattement DOM" ;
+ABATOT4 : calculee : "Abattement DOM" ;
+ABATOT6 : calculee : "Abattement DOM" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1166.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VB : "Abat. pour duree de detention dirigeant - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VA : "Abat. pour duree de detention dirigeant - Plus-value" ;
+ABDOMDAJ : calculee : "Abattement frais pro proratise pour DAJ" ;
+ABDOMDBJ : calculee : "Abattement frais pro proratise pour DBJ" ;
+ABDOMEAJ : calculee : "Abattement frais pro proratise pour EAJ" ;
+ABDOMEBJ : calculee : "Abattement frais pro proratise pour EBJ" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPVNOSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WD : "P.V sans sursis de paiement : abat. si depart retraite du dirigeant" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee restituee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee restituee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTPATEFRFR : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTS1AJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1AP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1TT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1UT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VK : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACEL1731 : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACEL2012 : calculee restituee : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL20121731 : calculee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACEL2012_P : calculee base : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL2012_R : calculee : "Scellier engagement et fini en 2012- Retenu  pour report si 1731bis" ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM1731 : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELCOM_P : calculee base : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM_R : calculee : " Scellier report -pour calculer RIVCELCOM si 1731bis" ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELFABC : calculee restituee : "Investissement Scellier 2013 engagement 2012" ;
+ACELFABC1731 : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFABC_P : calculee base : "Investissement Scellier 2013 engagement 2012" ;
+ACELFABC_R : calculee : " Scellier report - pour calculer RRCEL2013A si 1731bis" ;
+ACELFD : calculee restituee : "Investissement Scellier 2013 engagement 2012 Polynesie - Retenu  " ;
+ACELFD1731 : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFD_P : calculee base : "Investissement Scellier 2013 engagement 2012 Polynesie - Retenu  " ;
+ACELFD_R : calculee : " Scellier report - pour calculer RRCEL2013A si 1731bis" ;
+ACELHJK : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHJK1731 : calculee base : " Scellier report - Retenu 7HJ 7HK a la fin 1er traitement si 1731bis" ;
+ACELHJK_P : calculee base : "Investissement Scellier - Retenu  " ;
+ACELHJK_R : calculee : " Scellier report -pour calculer RIVCELJK1 si 1731bis" ;
+ACELHL : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHL1731 : calculee base : " Scellier report - Retenu 7HL a la fin 1er traitement si 1731bis" ;
+ACELHL_P : calculee base : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHL_R : calculee : " Scellier report - pour calculer RIVCELHLM1 si 1731bis" ;
+ACELHM : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHM1731 : calculee base : " Scellier report - Retenu 7HM a la fin 1er traitement si 1731bis" ;
+ACELHM_P : calculee base : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHM_R : calculee : " Scellier report - pour calculer RIVCELHLM1 si 1731bis" ;
+ACELHNO : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHNO1731 : calculee base : " Scellier report - Retenu 7HNO a la fin 1er traitement si 1731bis" ;
+ACELHNO_P : calculee base : "Investissement Scellier - Retenu  " ;
+ACELHNO_R : calculee : " Scellier report - pour calculer RIVCELHNO1 si 1731bis" ;
+ACELJBGL : calculee restituee : "Investissement Scellier engagement avant 2012- Retenu  " ;
+ACELJBGL1731 : calculee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACELJBGL_P : calculee base : "Investissement Scellier engagement avant 2012- Retenu  " ;
+ACELJBGL_R : calculee : " Scellier report - pour calculer RIVCELJBGL1 si 1731bis" ;
+ACELJOQR : calculee restituee : "Investissement Scellier COM 2012- Retenu  " ;
+ACELJOQR1731 : calculee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACELJOQR_P : calculee base : "Investissement Scellier COM 2012- Retenu  " ;
+ACELJOQR_R : calculee : " Scellier report -pour calculer RIVCELJOQR si 1731bis" ;
+ACELJP : calculee restituee : "Investissement Scellier engagement avant 2012 Polynesie - Retenu  " ;
+ACELJP1731 : calculee base : " Scellier report - Retenu  7JP a la fin 1er traitement si 1731bis" ;
+ACELJP_P : calculee base : "Investissement Scellier engagement avant 2012 Polynesie - Retenu  " ;
+ACELJP_R : calculee : " Scellier report - pour calculer RIVCELJP1 si 1731bis" ;
+ACELMET : calculee restituee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNBGL : calculee restituee : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNBGL1731 : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELNBGL_P : calculee base : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNBGL_R : calculee : " Scellier report - pour calculer RIVCELNBGL1 si 1731bis" ;
+ACELNQ : calculee restituee : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELNQ1731 : calculee base : " Scellier report - Retenu 7NQ a la fin 1er traitement si 1731bis" ;
+ACELNQ_P : calculee base : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELNQ_R : calculee : "Scellier - pour calculer report avec ou sans 1731 bis  " ;
+ACELREPGJ : calculee restituee : "Investissement Scellier report reduction - Retenu 7GJ" ;
+ACELREPGJ1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGJ_P : calculee base : "Investissement Scellier report reduction - Retenu 7GJ" ;
+ACELREPGK : calculee restituee : "Investissement Scellier report reduction - Retenu 7GK" ;
+ACELREPGK1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGK_P : calculee base : "Investissement Scellier report reduction - Retenu 7GK" ;
+ACELREPGL : calculee restituee : "Investissement Scellier report reduction - Retenu 7GL" ;
+ACELREPGL1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGL_P : calculee base : "Investissement Scellier report reduction - Retenu 7GL" ;
+ACELREPGP : calculee restituee : "Investissement Scellier report reduction - Retenu 7GP" ;
+ACELREPGP1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGP_P : calculee base : "Investissement Scellier report reduction - Retenu 7GP" ;
+ACELREPGS : calculee restituee : "Investissement Scellier report reduction - Retenu 7GS" ;
+ACELREPGS1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGS_P : calculee base : "Investissement Scellier report reduction - Retenu 7GS" ;
+ACELREPGT : calculee restituee : "Investissement Scellier report reduction - Retenu 7GT" ;
+ACELREPGT1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGT_P : calculee base : "Investissement Scellier report reduction - Retenu 7GT" ;
+ACELREPGU : calculee restituee : "Investissement Scellier report reduction - Retenu 7GU" ;
+ACELREPGU1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGU_P : calculee base : "Investissement Scellier report reduction - Retenu 7GU" ;
+ACELREPGV : calculee restituee : "Investissement Scellier report reduction - Retenu 7GV" ;
+ACELREPGV1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGV_P : calculee base : "Investissement Scellier report reduction - Retenu 7GV" ;
+ACELREPGW : calculee restituee : "Investissement Scellier report reduction - Retenu 7GW" ;
+ACELREPGW1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGW_P : calculee base : "Investissement Scellier report reduction - Retenu 7GW" ;
+ACELREPGX : calculee restituee : "Investissement Scellier report reduction - Retenu 7GX" ;
+ACELREPGX1
\ No newline at end of file
diff --git a/sources2013m_3_8/tgvP.m b/sources2013m_3_8/tgvP.m
new file mode 100644
index 0000000000000000000000000000000000000000..050953a498685811ea72e1735c7143ffeb4f14a9
--- /dev/null
+++ b/sources2013m_3_8/tgvP.m
@@ -0,0 +1,422 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2011 
+#au titre des revenus perçus en 2010. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 13 Application pro
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+1RAN : calculee : "Revenus ouvrant droit a l'abattement unique nets de frais" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+1RCM_I2FA : calculee : "RCM Q1 avec 2FA apres imputaion 2CA avant imputation 2AA" ;
+1RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+1RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2CKIMP : calculee : "RCM prel. faofaitaire  : montant impute" ;
+2CKREST : calculee : "RCM prel. forfaitaire  : montant restitution" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAR : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+2REVF1731R : calculee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+3REVF1731R : calculee : "Revenus fonciers exceptionnels imposables" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+3VVIMP : calculee : "Prelevement liberatoire 45% : montant impute" ;
+3VVREST : calculee : "Prelevement liberatoire 45% : montant restitution" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 2" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 1" ;
+4BAHQC1731R : calculee : "ba hors quotient vous" ;
+4BAHQP1731R : calculee : "ba hors quotient vous" ;
+4BAHQV1731R : calculee : "ba hors quotient vous" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Declarant 2" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Declarant 1" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQC1731R : calculee : "ba hors quotient vous quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQP1731R : calculee : "ba hors quotient vous quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOT1731R : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQTOTNET1731R : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4BAQV1731R : calculee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREC1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREC1731R : calculee : "Part du deficit sur code revenu majore " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREP1731R : calculee : "Part du deficit sur code revenu majore " ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV1731R : calculee : "Part du deficit sur code revenu majore " ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee restituee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RENT1 : calculee : "pour calculer A10RENT en cas de 1731bis" ;
+A10RENT1731 : calculee base : "A10RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RFOR1731 : calculee base : "A10RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RNOUV : calculee restituee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RNOUV1731 : calculee base : "A10RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10RSOC1731 : calculee base : "A10RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A10TOURSOC1731 : calculee base : "A10TOURSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC_1 : calculee restituee : "A10REEL : Investissements locatif social - reduction sans 1731bis" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee restituee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RENT1 : calculee : "pour calculer A11RENT en cas de 1731bis" ;
+A11RENT1731 : calculee base : "A11RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RFOR1731 : calculee base : "A11RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RNOUV : calculee restituee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RNOUV1731 : calculee base : "A11RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11RSOC1731 : calculee base : "A11RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A12REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A12RENT : calculee restituee : "Calcul de AUBAINE12 : Reduction Invt DOM ds cadre entreprise" ;
+A12RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A12RENT1731 : calculee base : "A12RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RESTIMOA : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RESTIMOE : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RETRESTIMO : calculee restituee : " Plaf av fiscaux - Travaux de restauration immo - reduction calcule" ;
+A12RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE12, reductions invt forestier retenues" ;
+A12RFOR1731 : calculee base : "A12RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RNOUV : calculee restituee : "Calcul de AUBAINE12 : Reduction Capital de societes nouvelles" ;
+A12RNOUV1731 : calculee base : "A12RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RRESTIMO : calculee restituee : "Plaf av fiscaux -Travaux de restauration immobiliere - reduction" ;
+A12RRESTIMO_1 : calculee : "Plaf av fiscaux - Travaux de restauration immo - reduc" ;
+A12RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A12RSOC1731 : calculee base : "A12RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A13REELA : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13REELB : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13RENT : calculee restituee : "Calcul de AUBAINE13 : Reduction Invt DOM ds cadre entreprise" ;
+A13RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A13RENT1731 : calculee base : "A13RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A13RFOR1731 : calculee base : "A13RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RNOUV : calculee restituee : "Calcul de AUBAINE13 : Reduction Capital de societes nouvelles" ;
+A13RNOUV1731 : calculee base : "A13RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AAIDE1731 : calculee base : "AAIDE retenu  a la fin 1er traitement si 1731bis" ;
+AAIDE_P : calculee restituee base : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABADO1 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO2 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO31 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO32 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO4 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO6 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADON1 : calculee : "Abattement DOM" ;
+ABADON2 : calculee : "Abattement DOM" ;
+ABADON31 : calculee : "Abattement DOM" ;
+ABADON32 : calculee : "Abattement DOM" ;
+ABADON4 : calculee : "Abattement DOM" ;
+ABADON6 : calculee : "Abattement DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAGU1 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU2 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU3 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU31 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU32 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU4 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU6 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABATOT1 : calculee : "Abattement DOM" ;
+ABATOT2 : calculee : "Abattement DOM" ;
+ABATOT31 : calculee : "Abattement DOM" ;
+ABATOT32 : calculee : "Abattement DOM" ;
+ABATOT4 : calculee : "Abattement DOM" ;
+ABATOT6 : calculee : "Abattement DOM" ;
+ABAT_ENF_MARIES : const=5698.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1166.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VB : "Abat. pour duree de detention dirigeant - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VA : "Abat. pour duree de detention dirigeant - Plus-value" ;
+ABDOMDAJ : calculee : "Abattement frais pro proratise pour DAJ" ;
+ABDOMDBJ : calculee : "Abattement frais pro proratise pour DBJ" ;
+ABDOMEAJ : calculee : "Abattement frais pro proratise pour EAJ" ;
+ABDOMEBJ : calculee : "Abattement frais pro proratise pour EBJ" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPVNOSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WD : "P.V sans sursis de paiement : abat. si depart retraite du dirigeant" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTPATEFRFR : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTS1AJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1AP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1TT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1UT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VK : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACEL1731 : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACEL2012 : calculee restituee : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL20121731 : calculee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACEL2012_P : calculee restituee base : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL2012_R : calculee : "Scellier engagement et fini en 2012- Retenu  pour report si 1731bis" ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM1731 : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELCOM_P : calculee restituee base : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM_R : calculee : " Scellier report -pour calculer RIVCELCOM si 1731bis" ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELFABC : calculee restituee : "Investissement Scellier 2013 engagement 2012" ;
+ACELFABC1731 : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFABC_P : calculee restituee base : "Investissement Scellier 2013 engagement 2012" ;
+ACELFABC_R : calculee : " Scellier report - pour calculer RRCEL2013A si 1731bis" ;
+ACELFD : calculee restituee : "Investissement Scellier 2013 engagement 2012 Polynesie - Retenu  " ;
+ACELFD1731 : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFD_P : calculee restituee base : "Investissement Scellier 2013 engagement 2012 Polynesie - Retenu  " ;
+ACELFD_R : calculee : " Scellier report - pour calculer RRCEL2013A si 1731bis" ;
+ACELHJK : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHJK1731 : calculee base : " Scellier report - Retenu 7HJ 7HK a la fin 1er traitement si 1731bis" ;
+ACELHJK_P : calculee restituee base : "Investissement Scellier - Retenu  " ;
+ACELHJK_R : calculee : " Scellier report -pour calculer RIVCELJK1 si 1731bis" ;
+ACELHL : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHL1731 : calculee base : " Scellier report - Retenu 7HL a la fin 1er traitement si 1731bis" ;
+ACELHL_P : calculee restituee base : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHL_R : calculee : " Scellier report - pour calculer RIVCELHLM1 si 1731bis" ;
+ACELHM : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHM1731 : calculee base : " Scellier report - Retenu 7HM a la fin 1er traitement si 1731bis" ;
+ACELHM_P : calculee restituee base : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHM_R : calculee : " Scellier report - pour calculer RIVCELHLM1 si 1731bis" ;
+ACELHNO : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHNO1731 : calculee base : " Scellier report - Retenu 7HNO a la fin 1er traitement si 1731bis" ;
+ACELHNO_P : calculee restituee base : "Investissement Scellier - Retenu  " ;
+ACELHNO_R : calculee : " Scellier report - pour calculer RIVCELHNO1 si 1731bis" ;
+ACELJBGL : calculee restituee : "Investissement Scellier engagement avant 2012- Retenu  " ;
+ACELJBGL1731 : calculee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACELJBGL_P : calculee restituee base : "Investissement Scellier engagement avant 2012- Retenu  " ;
+ACELJBGL_R : calculee : " Scellier report - pour calculer RIVCELJBGL1 si 1731bis" ;
+ACELJOQR : calculee restituee : "Investissement Scellier COM 2012- Retenu  " ;
+ACELJOQR1731 : calculee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACELJOQR_P : calculee restituee base : "Investissement Scellier COM 2012- Retenu  " ;
+ACELJOQR_R : calculee : " Scellier report -pour calculer RIVCELJOQR si 1731bis" ;
+ACELJP : calculee restituee : "Investissement Scellier engagement avant 2012 Polynesie - Retenu  " ;
+ACELJP1731 : calculee base : " Scellier report - Retenu  7JP a la fin 1er traitement si 1731bis" ;
+ACELJP_P : calculee restituee base : "Investissement Scellier engagement avant 2012 Polynesie - Retenu  " ;
+ACELJP_R : calculee : " Scellier report - pour calculer RIVCELJP1 si 1731bis" ;
+ACELMET : calculee restituee : "Invest. Scellier metropole 2010- Avis Facture - Retenu  7HJ ou 7HN" ;
+ACELNBGL : calculee restituee : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNBGL1731 : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELNBGL_P : calculee restituee base : "Investissement Scellier engagement avant 2011- Retenu  " ;
+ACELNBGL_R : calculee : " Scellier report - pour calculer RIVCELNBGL1 si 1731bis" ;
+ACELNQ : calculee restituee : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELNQ1731 : calculee base : " Scellier report - Retenu 7NQ a la fin 1er traitement si 1731bis" ;
+ACELNQ_P : calculee restituee base : "Investissement Scellier engagement avant 2011 Polynesie - Retenu  " ;
+ACELNQ_R : calculee : "Scellier - pour calculer report avec ou sans 1731 bis  " ;
+ACELREPGJ : calculee restituee : "Investissement Scellier report reduction - Retenu 7GJ" ;
+ACELREPGJ1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGJ_P : calculee restituee base : "Investissement Scellier report reduction - Retenu 7GJ" ;
+ACELREPGK : calculee restituee : "Investissement Scellier report reduction - Retenu 7GK" ;
+ACELREPGK1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGK_P : calculee restituee base : "Investissement Scellier report reduction - Retenu 7GK" ;
+ACELREPGL : calculee restituee : "Investissement Scellier report reduction - Retenu 7GL" ;
+ACELREPGL1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGL_P : calculee restituee base : "Investissement Scellier report reduction - Retenu 7GL" ;
+ACELREPGP : calculee restituee : "Investissement Scellier report reduction - Retenu 7GP" ;
+ACELREPGP1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGP_P : calculee restituee base : "Investissement Scellier report reduction - Retenu 7GP" ;
+ACELREPGS : calculee restituee : "Investissement Scellier report reduction - Retenu 7GS" ;
+ACELREPGS1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGS_P : calculee restituee base : "Investissement Scellier report reduction - Retenu 7GS" ;
+ACELREPGT : calculee restituee : "Investissement Scellier report reduction - Retenu 7GT" ;
+ACELREPGT1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGT_P : calculee restituee base : "Investissement Scellier report reduction - Retenu 7GT" ;
+ACELREPGU : calculee restituee : "Investissement Scellier report reduction - Retenu 7GU" ;
+ACELREPGU1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGU_P : calculee restituee base : "Investissement Scellier report reduction - Retenu 7GU" ;
+ACELREPGV : calculee restituee : "Investissement Scellier report reduction - Retenu 7GV" ;
+ACELREPGV1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGV_P : calculee restituee base : "Investissement Scellier report reduction - Retenu 7GV" ;
+ACELREPGW : calculee restituee : "Investissement Scellier report reduction - Retenu 7GW" ;
+ACELREPGW1731 : calculee base : " Scellier report reduc - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELREPGW_P : calculee restituee base : "Investissement Scellier report reduction - Retenu 7GW" ;
+ACELREPGX : calculee restituee : "Investissement 
\ No newline at end of file
diff --git a/sources2014m_2_15/LICENCE b/sources2014m_2_15/LICENCE
new file mode 100644
index 0000000000000000000000000000000000000000..0e5d105a724ee12923254ddfcb29e543f2f54ead
--- /dev/null
+++ b/sources2014m_2_15/LICENCE
@@ -0,0 +1,550 @@
+
+  CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL
+
+Version 2.1 du 2013-06-21
+
+
+    Avertissement
+
+Ce contrat est une licence de logiciel libre issue d'une concertation
+entre ses auteurs afin que le respect de deux grands principes préside à
+sa rédaction:
+
+  * d'une part, le respect des principes de diffusion des logiciels
+    libres: accès au code source, droits étendus conférés aux utilisateurs,
+  * d'autre part, la désignation d'un droit applicable, le droit
+    français, auquel elle est conforme, tant au regard du droit de la
+    responsabilité civile que du droit de la propriété intellectuelle et
+    de la protection qu'il offre aux auteurs et titulaires des droits
+    patrimoniaux sur un logiciel.
+
+Les auteurs de la licence CeCILL (Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre])
+sont:
+
+Commissariat à l'énergie atomique et aux énergies alternatives - CEA,
+établissement public de recherche à caractère scientifique, technique et
+industriel, dont le siège est situé 25 rue Leblanc, immeuble Le Ponant
+D, 75015 Paris.
+
+Centre National de la Recherche Scientifique - CNRS, établissement
+public à caractère scientifique et technologique, dont le siège est
+situé 3 rue Michel-Ange, 75794 Paris cedex 16.
+
+Institut National de Recherche en Informatique et en Automatique -
+Inria, établissement public à caractère scientifique et technologique,
+dont le siège est situé Domaine de Voluceau, Rocquencourt, BP 105, 78153
+Le Chesnay cedex.
+
+
+    Préambule
+
+Ce contrat est une licence de logiciel libre dont l'objectif est de
+conférer aux utilisateurs la liberté de modification et de
+redistribution du logiciel régi par cette licence dans le cadre d'un
+modèle de diffusion en logiciel libre.
+
+L'exercice de ces libertés est assorti de certains devoirs à la charge
+des utilisateurs afin de préserver ce statut au cours des
+redistributions ultérieures.
+
+L'accessibilité au code source et les droits de copie, de modification
+et de redistribution qui en découlent ont pour contrepartie de n'offrir
+aux utilisateurs qu'une garantie limitée et de ne faire peser sur
+l'auteur du logiciel, le titulaire des droits patrimoniaux et les
+concédants successifs qu'une responsabilité restreinte.
+
+A cet égard l'attention de l'utilisateur est attirée sur les risques
+associés au chargement, à l'utilisation, à la modification et/ou au
+développement et à la reproduction du logiciel par l'utilisateur étant
+donné sa spécificité de logiciel libre, qui peut le rendre complexe à
+manipuler et qui le réserve donc à des développeurs ou des
+professionnels avertis possédant des connaissances informatiques
+approfondies. Les utilisateurs sont donc invités à charger et tester
+l'adéquation du logiciel à leurs besoins dans des conditions permettant
+d'assurer la sécurité de leurs systèmes et/ou de leurs données et, plus
+généralement, à l'utiliser et l'exploiter dans les mêmes conditions de
+sécurité. Ce contrat peut être reproduit et diffusé librement, sous
+réserve de le conserver en l'état, sans ajout ni suppression de clauses.
+
+Ce contrat est susceptible de s'appliquer à tout logiciel dont le
+titulaire des droits patrimoniaux décide de soumettre l'exploitation aux
+dispositions qu'il contient.
+
+Une liste de questions fréquemment posées se trouve sur le site web
+officiel de la famille des licences CeCILL 
+(http://www.cecill.info/index.fr.html) pour toute clarification qui
+serait nécessaire.
+
+
+    Article 1 - DEFINITIONS
+
+Dans ce contrat, les termes suivants, lorsqu'ils seront écrits avec une
+lettre capitale, auront la signification suivante:
+
+Contrat: désigne le présent contrat de licence, ses éventuelles versions
+postérieures et annexes.
+
+Logiciel: désigne le logiciel sous sa forme de Code Objet et/ou de Code
+Source et le cas échéant sa documentation, dans leur état au moment de
+l'acceptation du Contrat par le Licencié.
+
+Logiciel Initial: désigne le Logiciel sous sa forme de Code Source et
+éventuellement de Code Objet et le cas échéant sa documentation, dans
+leur état au moment de leur première diffusion sous les termes du Contrat.
+
+Logiciel Modifié: désigne le Logiciel modifié par au moins une
+Contribution.
+
+Code Source: désigne l'ensemble des instructions et des lignes de
+programme du Logiciel et auquel l'accès est nécessaire en vue de
+modifier le Logiciel.
+
+Code Objet: désigne les fichiers binaires issus de la compilation du
+Code Source.
+
+Titulaire: désigne le ou les détenteurs des droits patrimoniaux d'auteur
+sur le Logiciel Initial.
+
+Licencié: désigne le ou les utilisateurs du Logiciel ayant accepté le
+Contrat.
+
+Contributeur: désigne le Licencié auteur d'au moins une Contribution.
+
+Concédant: désigne le Titulaire ou toute personne physique ou morale
+distribuant le Logiciel sous le Contrat.
+
+Contribution: désigne l'ensemble des modifications, corrections,
+traductions, adaptations et/ou nouvelles fonctionnalités intégrées dans
+le Logiciel par tout Contributeur, ainsi que tout Module Interne.
+
+Module: désigne un ensemble de fichiers sources y compris leur
+documentation qui permet de réaliser des fonctionnalités ou services
+supplémentaires à ceux fournis par le Logiciel.
+
+Module Externe: désigne tout Module, non dérivé du Logiciel, tel que ce
+Module et le Logiciel s'exécutent dans des espaces d'adressage
+différents, l'un appelant l'autre au moment de leur exécution.
+
+Module Interne: désigne tout Module lié au Logiciel de telle sorte
+qu'ils s'exécutent dans le même espace d'adressage.
+
+GNU GPL: désigne la GNU General Public License dans sa version 2 ou
+toute version ultérieure, telle que publiée par Free Software Foundation
+Inc.
+
+GNU Affero GPL: désigne la GNU Affero General Public License dans sa
+version 3 ou toute version ultérieure, telle que publiée par Free
+Software Foundation Inc.
+
+EUPL: désigne la Licence Publique de l'Union européenne dans sa version
+1.1 ou toute version ultérieure, telle que publiée par la Commission
+Européenne.
+
+Parties: désigne collectivement le Licencié et le Concédant.
+
+Ces termes s'entendent au singulier comme au pluriel.
+
+
+    Article 2 - OBJET
+
+Le Contrat a pour objet la concession par le Concédant au Licencié d'une
+licence non exclusive, cessible et mondiale du Logiciel telle que
+définie ci-après à l'article 5 <#etendue> pour toute la durée de
+protection des droits portant sur ce Logiciel.
+
+
+    Article 3 - ACCEPTATION
+
+3.1 L'acceptation par le Licencié des termes du Contrat est réputée
+acquise du fait du premier des faits suivants:
+
+  * (i) le chargement du Logiciel par tout moyen notamment par
+    téléchargement à partir d'un serveur distant ou par chargement à
+    partir d'un support physique;
+  * (ii) le premier exercice par le Licencié de l'un quelconque des
+    droits concédés par le Contrat.
+
+3.2 Un exemplaire du Contrat, contenant notamment un avertissement
+relatif aux spécificités du Logiciel, à la restriction de garantie et à
+la limitation à un usage par des utilisateurs expérimentés a été mis à
+disposition du Licencié préalablement à son acceptation telle que
+définie à l'article 3.1 <#acceptation-acquise> ci dessus et le Licencié
+reconnaît en avoir pris connaissance.
+
+
+    Article 4 - ENTREE EN VIGUEUR ET DUREE
+
+
+      4.1 ENTREE EN VIGUEUR
+
+Le Contrat entre en vigueur à la date de son acceptation par le Licencié
+telle que définie en 3.1 <#acceptation-acquise>.
+
+
+      4.2 DUREE
+
+Le Contrat produira ses effets pendant toute la durée légale de
+protection des droits patrimoniaux portant sur le Logiciel.
+
+
+    Article 5 - ETENDUE DES DROITS CONCEDES
+
+Le Concédant concède au Licencié, qui accepte, les droits suivants sur
+le Logiciel pour toutes destinations et pour la durée du Contrat dans
+les conditions ci-après détaillées.
+
+Par ailleurs, si le Concédant détient ou venait à détenir un ou
+plusieurs brevets d'invention protégeant tout ou partie des
+fonctionnalités du Logiciel ou de ses composants, il s'engage à ne pas
+opposer les éventuels droits conférés par ces brevets aux Licenciés
+successifs qui utiliseraient, exploiteraient ou modifieraient le
+Logiciel. En cas de cession de ces brevets, le Concédant s'engage à
+faire reprendre les obligations du présent alinéa aux cessionnaires.
+
+
+      5.1 DROIT D'UTILISATION
+
+Le Licencié est autorisé à utiliser le Logiciel, sans restriction quant
+aux domaines d'application, étant ci-après précisé que cela comporte:
+
+ 1.
+
+    la reproduction permanente ou provisoire du Logiciel en tout ou
+    partie par tout moyen et sous toute forme.
+
+ 2.
+
+    le chargement, l'affichage, l'exécution, ou le stockage du Logiciel
+    sur tout support.
+
+ 3.
+
+    la possibilité d'en observer, d'en étudier, ou d'en tester le
+    fonctionnement afin de déterminer les idées et principes qui sont à
+    la base de n'importe quel élément de ce Logiciel; et ceci, lorsque
+    le Licencié effectue toute opération de chargement, d'affichage,
+    d'exécution, de transmission ou de stockage du Logiciel qu'il est en
+    droit d'effectuer en vertu du Contrat.
+
+
+      5.2 DROIT D'APPORTER DES CONTRIBUTIONS
+
+Le droit d'apporter des Contributions comporte le droit de traduire,
+d'adapter, d'arranger ou d'apporter toute autre modification au Logiciel
+et le droit de reproduire le logiciel en résultant.
+
+Le Licencié est autorisé à apporter toute Contribution au Logiciel sous
+réserve de mentionner, de façon explicite, son nom en tant qu'auteur de
+cette Contribution et la date de création de celle-ci.
+
+
+      5.3 DROIT DE DISTRIBUTION
+
+Le droit de distribution comporte notamment le droit de diffuser, de
+transmettre et de communiquer le Logiciel au public sur tout support et
+par tout moyen ainsi que le droit de mettre sur le marché à titre
+onéreux ou gratuit, un ou des exemplaires du Logiciel par tout procédé.
+
+Le Licencié est autorisé à distribuer des copies du Logiciel, modifié ou
+non, à des tiers dans les conditions ci-après détaillées.
+
+
+        5.3.1 DISTRIBUTION DU LOGICIEL SANS MODIFICATION
+
+Le Licencié est autorisé à distribuer des copies conformes du Logiciel,
+sous forme de Code Source ou de Code Objet, à condition que cette
+distribution respecte les dispositions du Contrat dans leur totalité et
+soit accompagnée:
+
+ 1.
+
+    d'un exemplaire du Contrat,
+
+ 2.
+
+    d'un avertissement relatif à la restriction de garantie et de
+    responsabilité du Concédant telle que prévue aux articles 8
+    <#responsabilite> et 9 <#garantie>,
+
+et que, dans le cas où seul le Code Objet du Logiciel est redistribué,
+le Licencié permette un accès effectif au Code Source complet du
+Logiciel pour une durée d'au moins 3 ans à compter de la distribution du
+logiciel, étant entendu que le coût additionnel d'acquisition du Code
+Source ne devra pas excéder le simple coût de transfert des données.
+
+
+        5.3.2 DISTRIBUTION DU LOGICIEL MODIFIE
+
+Lorsque le Licencié apporte une Contribution au Logiciel, les conditions
+de distribution du Logiciel Modifié en résultant sont alors soumises à
+l'intégralité des dispositions du Contrat.
+
+Le Licencié est autorisé à distribuer le Logiciel Modifié, sous forme de
+code source ou de code objet, à condition que cette distribution
+respecte les dispositions du Contrat dans leur totalité et soit
+accompagnée:
+
+ 1.
+
+    d'un exemplaire du Contrat,
+
+ 2.
+
+    d'un avertissement relatif à la restriction de garantie et de
+    responsabilité du Concédant telle que prévue aux articles 8
+    <#responsabilite> et 9 <#garantie>,
+
+et, dans le cas où seul le code objet du Logiciel Modifié est redistribué,
+
+ 3.
+
+    d'une note précisant les conditions d'accès effectif au code source
+    complet du Logiciel Modifié, pendant une période d'au moins 3 ans à
+    compter de la distribution du Logiciel Modifié, étant entendu que le
+    coût additionnel d'acquisition du code source ne devra pas excéder
+    le simple coût de transfert des données.
+
+
+        5.3.3 DISTRIBUTION DES MODULES EXTERNES
+
+Lorsque le Licencié a développé un Module Externe les conditions du
+Contrat ne s'appliquent pas à ce Module Externe, qui peut être distribué
+sous un contrat de licence différent.
+
+
+        5.3.4 COMPATIBILITE AVEC D'AUTRES LICENCES
+
+Le Licencié peut inclure un code soumis aux dispositions d'une des
+versions de la licence GNU GPL, GNU Affero GPL et/ou EUPL dans le
+Logiciel modifié ou non et distribuer l'ensemble sous les conditions de
+la même version de la licence GNU GPL, GNU Affero GPL et/ou EUPL.
+
+Le Licencié peut inclure le Logiciel modifié ou non dans un code soumis
+aux dispositions d'une des versions de la licence GNU GPL, GNU Affero
+GPL et/ou EUPL et distribuer l'ensemble sous les conditions de la même
+version de la licence GNU GPL, GNU Affero GPL et/ou EUPL.
+
+
+    Article 6 - PROPRIETE INTELLECTUELLE
+
+
+      6.1 SUR LE LOGICIEL INITIAL
+
+Le Titulaire est détenteur des droits patrimoniaux sur le Logiciel
+Initial. Toute utilisation du Logiciel Initial est soumise au respect
+des conditions dans lesquelles le Titulaire a choisi de diffuser son
+oeuvre et nul autre n'a la faculté de modifier les conditions de
+diffusion de ce Logiciel Initial.
+
+Le Titulaire s'engage à ce que le Logiciel Initial reste au moins régi
+par le Contrat et ce, pour la durée visée à l'article 4.2 <#duree>.
+
+
+      6.2 SUR LES CONTRIBUTIONS
+
+Le Licencié qui a développé une Contribution est titulaire sur celle-ci
+des droits de propriété intellectuelle dans les conditions définies par
+la législation applicable.
+
+
+      6.3 SUR LES MODULES EXTERNES
+
+Le Licencié qui a développé un Module Externe est titulaire sur celui-ci
+des droits de propriété intellectuelle dans les conditions définies par
+la législation applicable et reste libre du choix du contrat régissant
+sa diffusion.
+
+
+      6.4 DISPOSITIONS COMMUNES
+
+Le Licencié s'engage expressément:
+
+ 1.
+
+    à ne pas supprimer ou modifier de quelque manière que ce soit les
+    mentions de propriété intellectuelle apposées sur le Logiciel;
+
+ 2.
+
+    à reproduire à l'identique lesdites mentions de propriété
+    intellectuelle sur les copies du Logiciel modifié ou non.
+
+Le Licencié s'engage à ne pas porter atteinte, directement ou
+indirectement, aux droits de propriété intellectuelle du Titulaire et/ou
+des Contributeurs sur le Logiciel et à prendre, le cas échéant, à
+l'égard de son personnel toutes les mesures nécessaires pour assurer le
+respect des dits droits de propriété intellectuelle du Titulaire et/ou
+des Contributeurs.
+
+
+    Article 7 - SERVICES ASSOCIES
+
+7.1 Le Contrat n'oblige en aucun cas le Concédant à la réalisation de
+prestations d'assistance technique ou de maintenance du Logiciel.
+
+Cependant le Concédant reste libre de proposer ce type de services. Les
+termes et conditions d'une telle assistance technique et/ou d'une telle
+maintenance seront alors déterminés dans un acte séparé. Ces actes de
+maintenance et/ou assistance technique n'engageront que la seule
+responsabilité du Concédant qui les propose.
+
+7.2 De même, tout Concédant est libre de proposer, sous sa seule
+responsabilité, à ses licenciés une garantie, qui n'engagera que lui,
+lors de la redistribution du Logiciel et/ou du Logiciel Modifié et ce,
+dans les conditions qu'il souhaite. Cette garantie et les modalités
+financières de son application feront l'objet d'un acte séparé entre le
+Concédant et le Licencié.
+
+
+    Article 8 - RESPONSABILITE
+
+8.1 Sous réserve des dispositions de l'article 8.2
+<#limite-responsabilite>, le Licencié a la faculté, sous réserve de
+prouver la faute du Concédant concerné, de solliciter la réparation du
+préjudice direct qu'il subirait du fait du Logiciel et dont il apportera
+la preuve.
+
+8.2 La responsabilité du Concédant est limitée aux engagements pris en
+application du Contrat et ne saurait être engagée en raison notamment:
+(i) des dommages dus à l'inexécution, totale ou partielle, de ses
+obligations par le Licencié, (ii) des dommages directs ou indirects
+découlant de l'utilisation ou des performances du Logiciel subis par le
+Licencié et (iii) plus généralement d'un quelconque dommage indirect. En
+particulier, les Parties conviennent expressément que tout préjudice
+financier ou commercial (par exemple perte de données, perte de
+bénéfices, perte d'exploitation, perte de clientèle ou de commandes,
+manque à gagner, trouble commercial quelconque) ou toute action dirigée
+contre le Licencié par un tiers, constitue un dommage indirect et
+n'ouvre pas droit à réparation par le Concédant.
+
+
+    Article 9 - GARANTIE
+
+9.1 Le Licencié reconnaît que l'état actuel des connaissances
+scientifiques et techniques au moment de la mise en circulation du
+Logiciel ne permet pas d'en tester et d'en vérifier toutes les
+utilisations ni de détecter l'existence d'éventuels défauts. L'attention
+du Licencié a été attirée sur ce point sur les risques associés au
+chargement, à l'utilisation, la modification et/ou au développement et à
+la reproduction du Logiciel qui sont réservés à des utilisateurs avertis.
+
+Il relève de la responsabilité du Licencié de contrôler, par tous
+moyens, l'adéquation du produit à ses besoins, son bon fonctionnement et
+de s'assurer qu'il ne causera pas de dommages aux personnes et aux biens.
+
+9.2 Le Concédant déclare de bonne foi être en droit de concéder
+l'ensemble des droits attachés au Logiciel (comprenant notamment les
+droits visés à l'article 5 <#etendue>).
+
+9.3 Le Licencié reconnaît que le Logiciel est fourni "en l'état" par le
+Concédant sans autre garantie, expresse ou tacite, que celle prévue à
+l'article 9.2 <#bonne-foi> et notamment sans aucune garantie sur sa
+valeur commerciale, son caractère sécurisé, innovant ou pertinent.
+
+En particulier, le Concédant ne garantit pas que le Logiciel est exempt
+d'erreur, qu'il fonctionnera sans interruption, qu'il sera compatible
+avec l'équipement du Licencié et sa configuration logicielle ni qu'il
+remplira les besoins du Licencié.
+
+9.4 Le Concédant ne garantit pas, de manière expresse ou tacite, que le
+Logiciel ne porte pas atteinte à un quelconque droit de propriété
+intellectuelle d'un tiers portant sur un brevet, un logiciel ou sur tout
+autre droit de propriété. Ainsi, le Concédant exclut toute garantie au
+profit du Licencié contre les actions en contrefaçon qui pourraient être
+diligentées au titre de l'utilisation, de la modification, et de la
+redistribution du Logiciel. Néanmoins, si de telles actions sont
+exercées contre le Licencié, le Concédant lui apportera son expertise
+technique et juridique pour sa défense. Cette expertise technique et
+juridique est déterminée au cas par cas entre le Concédant concerné et
+le Licencié dans le cadre d'un protocole d'accord. Le Concédant dégage
+toute responsabilité quant à l'utilisation de la dénomination du
+Logiciel par le Licencié. Aucune garantie n'est apportée quant à
+l'existence de droits antérieurs sur le nom du Logiciel et sur
+l'existence d'une marque.
+
+
+    Article 10 - RESILIATION
+
+10.1 En cas de manquement par le Licencié aux obligations mises à sa
+charge par le Contrat, le Concédant pourra résilier de plein droit le
+Contrat trente (30) jours après notification adressée au Licencié et
+restée sans effet.
+
+10.2 Le Licencié dont le Contrat est résilié n'est plus autorisé à
+utiliser, modifier ou distribuer le Logiciel. Cependant, toutes les
+licences qu'il aura concédées antérieurement à la résiliation du Contrat
+resteront valides sous réserve qu'elles aient été effectuées en
+conformité avec le Contrat.
+
+
+    Article 11 - DISPOSITIONS DIVERSES
+
+
+      11.1 CAUSE EXTERIEURE
+
+Aucune des Parties ne sera responsable d'un retard ou d'une défaillance
+d'exécution du Contrat qui serait dû à un cas de force majeure, un cas
+fortuit ou une cause extérieure, telle que, notamment, le mauvais
+fonctionnement ou les interruptions du réseau électrique ou de
+télécommunication, la paralysie du réseau liée à une attaque
+informatique, l'intervention des autorités gouvernementales, les
+catastrophes naturelles, les dégâts des eaux, les tremblements de terre,
+le feu, les explosions, les grèves et les conflits sociaux, l'état de
+guerre...
+
+11.2 Le fait, par l'une ou l'autre des Parties, d'omettre en une ou
+plusieurs occasions de se prévaloir d'une ou plusieurs dispositions du
+Contrat, ne pourra en aucun cas impliquer renonciation par la Partie
+intéressée à s'en prévaloir ultérieurement.
+
+11.3 Le Contrat annule et remplace toute convention antérieure, écrite
+ou orale, entre les Parties sur le même objet et constitue l'accord
+entier entre les Parties sur cet objet. Aucune addition ou modification
+aux termes du Contrat n'aura d'effet à l'égard des Parties à moins
+d'être faite par écrit et signée par leurs représentants dûment habilités.
+
+11.4 Dans l'hypothèse où une ou plusieurs des dispositions du Contrat
+s'avèrerait contraire à une loi ou à un texte applicable, existants ou
+futurs, cette loi ou ce texte prévaudrait, et les Parties feraient les
+amendements nécessaires pour se conformer à cette loi ou à ce texte.
+Toutes les autres dispositions resteront en vigueur. De même, la
+nullité, pour quelque raison que ce soit, d'une des dispositions du
+Contrat ne saurait entraîner la nullité de l'ensemble du Contrat.
+
+
+      11.5 LANGUE
+
+Le Contrat est rédigé en langue française et en langue anglaise, ces
+deux versions faisant également foi.
+
+
+    Article 12 - NOUVELLES VERSIONS DU CONTRAT
+
+12.1 Toute personne est autorisée à copier et distribuer des copies de
+ce Contrat.
+
+12.2 Afin d'en préserver la cohérence, le texte du Contrat est protégé
+et ne peut être modifié que par les auteurs de la licence, lesquels se
+réservent le droit de publier périodiquement des mises à jour ou de
+nouvelles versions du Contrat, qui posséderont chacune un numéro
+distinct. Ces versions ultérieures seront susceptibles de prendre en
+compte de nouvelles problématiques rencontrées par les logiciels libres.
+
+12.3 Tout Logiciel diffusé sous une version donnée du Contrat ne pourra
+faire l'objet d'une diffusion ultérieure que sous la même version du
+Contrat ou une version postérieure, sous réserve des dispositions de
+l'article 5.3.4 <#compatibilite>.
+
+
+    Article 13 - LOI APPLICABLE ET COMPETENCE TERRITORIALE
+
+13.1 Le Contrat est régi par la loi française. Les Parties conviennent
+de tenter de régler à l'amiable les différends ou litiges qui
+viendraient à se produire par suite ou à l'occasion du Contrat.
+
+13.2 A défaut d'accord amiable dans un délai de deux (2) mois à compter
+de leur survenance et sauf situation relevant d'une procédure d'urgence,
+les différends ou litiges seront portés par la Partie la plus diligente
+devant les Tribunaux compétents de Paris.
+
+
diff --git a/sources2014m_2_15/chap-1.m b/sources2014m_2_15/chap-1.m
new file mode 100644
index 0000000000000000000000000000000000000000..6005a42d9f0a9016884560382109e78d3989b874
--- /dev/null
+++ b/sources2014m_2_15/chap-1.m
@@ -0,0 +1,603 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+                                                                           #
+  ####   #    #    ##    #####      #     #####  #####   ######           ##
+ #    #  #    #   #  #   #    #     #       #    #    #  #               # #
+ #       ######  #    #  #    #     #       #    #    #  #####             #
+ #       #    #  ######  #####      #       #    #####   #                 #
+ #    #  #    #  #    #  #          #       #    #   #   #                 #
+  ####   #    #  #    #  #          #       #    #    #  ###### #######  #####
+ #
+ #
+ #
+ #
+ #
+ #                         CALCUL DU NET A PAYER
+ #
+ #
+ #
+ #
+ #
+ #
+regle 101:
+application : bareme  ;
+RC1 = positif( NAPI + 1 - SEUIL_12 ) +0 ;
+regle 1010:
+application : batch, iliad ;
+NAPT = NAPTEMPCX-TOTIRPSANT;
+NAPTIR = IRNET + TAXANET + TAXLOYNET + PCAPNET + HAUTREVNET
+	    - IRESTITIR;
+
+regle 10101:
+application : batch, iliad ;
+NAPCOROLIR = (TOTIRCUM - NONMER -RECUMIR + NONREST) * positif(20 - V_NOTRAIT) 
+            + max(0, (TOTIRCUM - NONMER - RECUMIR+NONREST) - (V_TOTIRANT -V_NONMERANT - V_ANTREIR+V_NONRESTANT)) * positif_ou_nul(V_NOTRAIT-20);
+NAPCOROLCS = max(0, NAPCR61 - V_ANTCR);
+regle 10111:
+application : iliad,batch ;
+RC1 = si ( NAPINI - V_ANTIR - IRCUM_A + RECUMBIS >= SEUIL_12 )
+      alors (1)
+      sinon (0)
+      finsi;
+regle 1013 :
+application : iliad , batch ;
+IAVIMBIS = IRB + PIR ;
+IAVIMO = (max(0,max(I[DGFIP][2017]1-ADO1,IMI)-RED) + ITP + REI + PIR)
+                 * V_CR2;
+regle 1012:
+application : bareme , iliad , batch ;
+NAPI = ( IRD + PIRD - IRANT ) 
+       + TAXASSUR
+       + IPCAPTAXT
+       + IHAUTREVT
+       + TAXLOY
+       + RASAR * V_CR2 ;
+regle 104114:
+application : iliad , batch ;
+INTMS = inf( MOISAN / 10000 );
+INTAN = (( MOISAN/10000 - INTMS )*10000)  * present(MOISAN) ;
+TXINT = (positif(2006-arr(INTAN))*max(0, (INTAN - (V_ANREV+1) )* 12 + INTMS - 6 ) * TXMOISRETARD 
+         + positif_ou_nul(V_ANREV-2006)*max(0, (INTAN - (V_ANREV+1) )* 12 + INTMS - 6 ) * TXMOISRETAR[DGFIP][2017] 
+         + (1-positif(2006-arr(INTAN)))*(1-positif_ou_nul(V_ANREV-2006))
+	   * (((2006 - (V_ANREV+1))*12 - 6) * (TXMOISRETARD * positif(2006 - (V_ANREV+1)) + TXMOISRETAR[DGFIP][2017] * null(2006-(V_ANREV+1)))
+	      + ((INTAN - 2006)*12 + INTMS) * TXMOISRETAR[DGFIP][2017])
+          ) 
+            * present(MOISAN);
+COPETO = si (CMAJ = 7 ou CMAJ = 10 ou CMAJ = 17 ou CMAJ = 18)
+         alors (10)
+         sinon
+              ( si (CMAJ = 8 ou CMAJ = 11)
+                alors (40)
+                sinon (80)
+                finsi )
+         finsi;
+regle 1041140:
+application : iliad , batch ;
+CSTOTSSPENA = max(0,CSG + RDSN + PRS + BREGV + CVNSALC + CDIS + CGLOA + RSE1N  + RSE2N + RSE3N + RSE4N + RSE5N);
+PTOIR = arr(BTO * COPETO / 100)                
+	 + arr(BTO * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr((BTOINR) * TXINT / 100) ;
+PTOPRS =( arr(max(0,PRS-PRSPROV) * COPETO / 100)                
+         + arr(max(0,PRS-PRSPROV-PS9YP) * TXINT / 100) ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PTOCSG =( arr(max(0,CSG-CSGIM) * COPETO / 100)                
+         + arr(max(0,CSG-CSGIM-CS9YP) * TXINT / 100) ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTORSE1 = (arr(max(0,RSE1 -CIRSE1 -CSPROVYD) * COPETO / 100) 
+               + arr(max(0,RSE1 -CIRSE1 -CSPROVYD-RSE19YP) * TXINT / 100)
+          ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTORSE2 = (arr(max(0,RSE2 -CIRSE2 -CSPROVRSE2) * COPETO / 100) 
+               + arr(max(0,RSE2 -CIRSE2 -CSPROVRSE2-RSE29YP) * TXINT / 100)
+          ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTORSE3 = (arr(max(0,RSE3 -CIRSE3 -CSPROVYG) * COPETO / 100) 
+               + arr(max(0,RSE3 -CIRSE3 -CSPROVYG-RSE39YP) * TXINT / 100)
+          ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTORSE4 = (arr(max(0,RSE4 -CIRSE4 -CSPROVRSE4) * COPETO / 100)
+               + arr(max(0,RSE4 -CIRSE4 -CSPROVRSE4-RSE49YP) * TXINT / 100)
+          ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTORSE5 = (arr(max(0,RSE5 -CIRSE5 -CSPROVYE) * COPETO / 100) 
+               + arr(max(0,RSE5 -CIRSE5 -CSPROVYE-RSE59YP) * TXINT / 100)
+          ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTOREGV = (arr(BREGV  * COPETO / 100) + arr(max(0,BREGV-REGV9YP) * TXINT / 100)) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PTORDS =( arr(max(0,RDSN-CRDSIM) * COPETO / 100)                
+         + arr(max(0,RDSN-CRDSIM-RD9YP) * TXINT / 100) ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PTOTAXA= arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * COPETO / 100)
+	 + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)-TAXA9YI) * TXINT / 100) ;
+PTOTPCAP= arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * COPETO / 100)
+	 + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)-CAP9YI) * TXINT / 100) ;
+PTOTLOY = arr(max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * COPETO / 100)
+	 + arr(max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)-LOY9YI) * TXINT / 100) ;
+
+PTOTCHR= arr(max(0,IHAUTREVT+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * COPETO / 100)
+	 + arr(max(0,IHAUTREVT+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * COPETO /100) * positif(null(CMAJ-10)+null(CMAJ-17))
+         + arr(max(0,IHAUTREVT+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)-CHR9YI) * TXINT / 100) ;
+
+PTOCVN = (arr(max(0,CVNSALC - COD8YT) * COPETO / 100) + arr(max(0,CVNSALC - COD8YT-CVN9YP) * TXINT / 100))                
+         * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTOCDIS = (arr(max(0,CDIS-CDISPROV) * COPETO / 100) + arr(max(0,CDISC-CDISPROV-CDIS9YP) * TXINT / 100)) 
+          * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTOGLOA = (arr(max(0,CGLOA-COD8YL) * COPETO / 100) + arr(max(0,CGLOA-COD8YL-GLO9YP) * TXINT / 100)) 
+          * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+
+regle 1041141:
+application : iliad , batch ;
+BINRIR = max( 0 ,IRN-IRANT) + max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT))
+         + max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR))
+         + max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))
+                           +min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT))
+         + max(0,IHAUTREVT+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+TAXLOY));
+BINRPS = max(0,CSG-CSGIM)+ max(0,RDSN-CRDSIM) + max(0,PRS-PRSPROV) + max(0,CVNSALC - COD8YT) + max(0,CDIS - CDISPROV)
+        + max(0,CGLOA-COD8YL) + max(0,RSE1-CSPROVYD) + max(0,RSE2-CSPROVRSE2) + max(0,RSE3-CSPROVYG) 
+        + max(0,RSE4-CSPROVRSE4) + max(0,RSE5-CSPROVYE)+BREGV;
+VAR9YIIR= arr(ACODELAISINR * BINRIR/(BINRIR+BINRPS));
+VAR9YIPS = max(0,ACODELAISINR - VAR9YIIR);
+IR9YI  = arr(VAR9YIIR * max( 0 , IRN - IRANT )/BINRIR);
+TAXA9YI = positif(IPCAPTAXT + TAXLOY + IHAUTREVT) * arr(VAR9YIIR * max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT))/BINRIR)
+          + (1-positif(IPCAPTAXT + TAXLOY + IHAUTREVT)) * max(0,VAR9YIIR - IR9YI) ;
+CAP9YI = positif(TAXLOY + IHAUTREVT) * arr(VAR9YIIR * max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR))/BINRIR) 
+          + (1-positif(TAXLOY + IHAUTREVT)) * max(0,VAR9YIIR - IR9YI - TAXA9YI);
+LOY9YI = positif(IHAUTREVT) * arr(VAR9YIIR * max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))
+                      +min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT))/BINRIR)
+        +(1-positif(IHAUTREVT)) *  max(0,VAR9YIIR - IR9YI - TAXA9YI - CAP9YI);
+CHR9YI = max(0,VAR9YIIR -IR9YI-TAXA9YI-CAP9YI-LOY9YI);
+CS9YP = positif(RDSN+PRS + CVNSALC+CDIS+CGLOA+RSE1+RSE2+RSE3+RSE4+RSE5+BREGV) * arr(VAR9YIPS * (CSG-CSGIM)/BINRPS) 
+        + (1-positif(RDSN+PRS + CVNSALC+CDIS+CGLOA+RSE1+RSE2+RSE3+RSE4+RSE5+BREGV)) * VAR9YIPS;
+RD9YP = positif(PRS + CVNSALC+CDIS+CGLOA+RSE1+RSE2+RSE3+RSE4+RSE5+BREGV) * arr(VAR9YIPS * (RDSN-CRDSIM)/BINRPS) 
+        + (1-positif(PRS + CVNSALC+CDIS+CGLOA+RSE1+RSE2+RSE3+RSE4+RSE5+BREGV)) * max(0,VAR9YIPS-CS9YP);
+PS9YP = positif(CVNSALC+CDIS+CGLOA+RSE1+RSE2+RSE3+RSE4+RSE5+BREGV) * arr(VAR9YIPS * (PRS-PRSPROV)/BINRPS)
+       + (1-positif(CVNSALC+CDIS+CGLOA+RSE1+RSE2+RSE3+RSE4+RSE5+BREGV)) * max(0,VAR9YIPS-CS9YP-RD9YP);  
+CVN9YP = positif(CDIS+CGLOA+RSE1+RSE2+RSE3+RSE4+RSE5+BREGV) * arr(VAR9YIPS * (CVNSALC - COD8YT)/BINRPS)
+       +(1-positif(CDIS+CGLOA+RSE1+RSE2+RSE3+RSE4+RSE5+BREGV)) * max(0,VAR9YIPS-CS9YP-RD9YP-PS9YP);
+CDIS9YP = positif(CGLOA+RSE1+RSE2+RSE3+RSE4+RSE5+BREGV) * arr(VAR9YIPS * (CDIS - CDISPROV)/BINRPS)
+       +(1-positif(CGLOA+RSE1+RSE2+RSE3+RSE4+RSE5+BREGV)) * max(0,VAR9YIPS-CS9YP-RD9YP-PS9YP-CVN9YP);
+GLO9YP = positif(RSE1+RSE2+RSE3+RSE4+RSE5+BREGV) * arr(VAR9YIPS * (CGLOA-COD8YL) /BINRPS)
+       +(1-positif(RSE1+RSE2+RSE3+RSE4+RSE5+BREGV)) * max(0,VAR9YIPS-CS9YP-RD9YP-PS9YP-CVN9YP-CDIS9YP);
+RSE19YP = positif(RSE2+RSE3+RSE4+RSE5+BREGV) * arr(VAR9YIPS * (RSE1-CSPROVYD)/BINRPS)
+       +(1-positif(RSE2+RSE3+RSE4+RSE5+BREGV)) * max(0,VAR9YIPS-CS9YP-RD9YP-PS9YP-CVN9YP-CDIS9YP-GLO9YP);
+RSE29YP = positif(RSE3+RSE4+RSE5+BREGV) * arr(VAR9YIPS * (RSE2-CSPROVRSE2)/BINRPS)
+       +(1-positif(RSE3+RSE4+RSE5+BREGV)) * max(0,VAR9YIPS-CS9YP-RD9YP-PS9YP-CVN9YP-CDIS9YP-GLO9YP-RSE19YP);
+RSE39YP = positif(RSE4+RSE5+BREGV) * arr(VAR9YIPS * (RSE3-CSPROVYG)/BINRPS)
+       +(1-positif(RSE4+RSE5+BREGV)) * max(0,VAR9YIPS-CS9YP-RD9YP-PS9YP-CVN9YP-CDIS9YP-GLO9YP-RSE19YP-RSE29YP);
+RSE49YP = positif(RSE5+BREGV) * arr(VAR9YIPS * (RSE4-CSPROVRSE4)/BINRPS)
+       +(1-positif(RSE5+BREGV)) * max(0,VAR9YIPS-CS9YP-RD9YP-PS9YP-CVN9YP-CDIS9YP-GLO9YP-RSE19YP-RSE29YP-RSE39YP);
+RSE59YP = positif(BREGV) * arr(VAR9YIPS * (RSE5-CSPROVYE)/BINRPS)
+       +(1-positif(BREGV)) * max(0,VAR9YIPS-CS9YP-RD9YP-PS9YP-CVN9YP-CDIS9YP-GLO9YP-RSE19YP-RSE29YP-RSE39YP-RSE49YP);
+REGV9YP = max(0,VAR9YIPS-CS9YP-RD9YP-PS9YP-CVN9YP-CDIS9YP-GLO9YP-RSE19YP-RSE29YP-RSE39YP-RSE49YP-RSE59YP );
+BTO = max( 0 , IRN - IRANT )
+           * positif( IAM[DGFIP][2017] + 1 - SEUIL_61 );
+BTOINR = max( 0 , IRN - IR9YI - IRANT ) * positif( IAM[DGFIP][2017] + 1 - SEUIL_61 );
+regle 10211:
+application : bareme , batch , iliad ;
+IRD = IRN * (positif(5 - V_IND_TRAIT)
+              +
+              (1-positif(5-V_IND_TRAIT)) * (
+              positif_ou_nul(IRN+PIR-SEUIL_12) 
+             + (1 - positif(IRN + PIR))
+             ));
+regle 10213:
+application : iliad , batch;
+
+PRSD = NAPPS - V_PSANT ;
+
+CSGD = NAPCS - V_CSANT ;
+
+RDSD = NAPRD - V_RDANT ;
+
+CVND = NAPCVN - V_CVNANT ;
+
+REGVD = NAPREGV - V_REGVANT ;
+
+CGLOAD = NAPGLOA - V_GLOANT ;
+
+CDISD = NAPCDIS - V_CDISANT ;
+CRSE1D = NAPRSE1 - V_RSE1ANT ;
+CRSE2D = NAPRSE2 - V_RSE2ANT ;
+CRSE3D = NAPRSE3 - V_RSE3ANT ;
+CRSE4D = NAPRSE4 - V_RSE4ANT ;
+CRSE5D = NAPRSE5 - V_RSE5ANT ;
+
+regle 10214:
+application : iliad,batch ;
+CSGAC = max(0,CSGC - CICSG);
+CSNET = max(0,(CSGC + PCSG - CICSG - CSGIM)) ;
+
+RDSAC = max(0,RDSC - CIRDS);
+RDNET = max(0,(RDSC + PRDS - CIRDS - CRDSIM));
+
+PRSNET = max(0,(PRSC + PPRS - CIPRS - PRSPROV))  ;
+
+CVNAC  =  CVNSALC;
+CVNNET  =  max(0,(CVNSALC + PCVN - COD8YT));
+
+REGVNET  = BREGV + PREGV ;
+
+CDISAC = CDISC ;
+CDISNET = max(0,(CDISC + PCDIS - CDISPROV))  ;
+CGLOAAC = CGLOA ;
+CGLOANET = max(0,(CGLOA + PGLOA-COD8YL ))  ;
+regle 102141:
+application : iliad,batch ;
+
+RSE1AC = max(0,RSE1 - CIRSE1)  ;
+RSE1NET = max(0,(RSE1 + PRSE1 - CIRSE1 - CSPROVYD))  ;
+
+RSE2AC = max(0,RSE2 - CIRSE2)  ;
+RSE2NET = max(0, RSE8TV - CIRSE8TV - CSPROVYF) + max(0, RSE8SA - CIRSE8SA - CSPROVYN) + PRSE2 ;
+
+RSE3AC = max(0,RSE3 - CIRSE3 )  ;
+RSE3NET = max(0,(RSE3 + PRSE3 - CIRSE3 - CSPROVYG))  ;
+
+RSE4AC = max(0,RSE4 - CIRSE4 )  ;
+RSE4NET = max(0, RSE8TX - CIRSE8TX - CSPROVYH) + max(0, RSE8SB - CIRSE8SB - CSPROVYP) + PRSE4 ;
+
+RSE5AC = max(0,RSE5 - CIRSE5)  ;
+RSE5NET = max(0,(RSE5 + PRSE5 - CIRSE5 - CSPROVYE))  ;
+
+RSENETTOT = RSE1NET + RSE2NET + RSE3NET + RSE4NET + RSE5NET;
+regle 102142:
+application : iliad,batch ;
+TOTCRBRUT = max(0,CSGC + PCSG - CICSG - CSGIM +RDSC + PRDS - CIRDS - CRDSIM+ PRSC + PPRS - CIPRS - PRSPROV
+                       + CVNSALC + PCVN - COD8YT + BREGV + PREGV +CDISC + PCDIS - CDISPROV + CGLOA + PGLOA - COD8YL
+                       +RSE1 + PRSE1+RSE2 + PRSE2+ RSE3 + PRSE3+RSE4 + PRSE4+ RSE5 + PRSE5
+                       - CIRSE1 - CSPROVYD - CIRSE5 - CSPROVYE - CIRSE2 - CSPROVRSE2
+                       - CIRSE3 - CSPROVYG - CIRSE4 - CSPROVRSE4);
+TOTCRNET = CSNET+ RDNET+ PRSNET+ CVNNET+ REGVNET +CDISNET+CGLOANET+ RSE1NET+ RSE2NET+ RSE3NET+ RSE4NET+ RSE5NET;
+regle 10201:
+application : batch , iliad ;
+
+IARD = IAR - IAR_A ;
+
+regle 1041:
+application :  iliad, batch ;
+PIRD = PIR * (positif(5 - V_IND_TRAIT)
+              +
+              (1-positif(5-V_IND_TRAIT)) * (
+              positif_ou_nul(IRN+PIR-SEUIL_12) 
+              + 
+              (1-positif(IRN+PIR)) 
+             ))
+    - 
+              PIR_A * ( positif_ou_nul(PIR_A-SEUIL_12) 
+               + 
+              (1-positif(PIR_A))  
+              );
+PPRSD = PPRS * CSREC - PPRS_A * CSRECA ;
+PCSGD = PCSG* CSREC - PCSG_A * CSRECA ;
+PRDSD = PRDS * CSREC - PRDS_A * CSRECA;
+PTOTD = PIRD  ;
+regle 114:
+application : iliad , batch ;
+
+BPRS = arr(RDRFPS * (1-null(4-V_REGCO))
+          + (COD8XK + COD8YK + RDRV + RDRCM + RDNP + RDNCP + RDPTP + ESFP + R1649 + PREREV)
+                * (1-V_CNR)) * (1 - positif( present(RE168) + present(TAX1649)))
+          + (RE168 + TAX1649) * (1-V_CNR);
+
+BPRSAPS = arr(RDRFAPS * (1-null(4-V_REGCO))
+          + (RDRVAPS + RDRCMAPS + RDNP + ESFP + R1649 + PREREV)
+                * (1-V_CNR)) * (1 - positif( present(RE168) + present(TAX1649)))
+          + (RE168 + TAX1649) * (1-V_CNR);
+
+
+regle 113:
+application : iliad , batch ;
+PRSC = arr( BPRS * T_PREL_SOC /100 ) * (1 - positif(ANNUL2042)) ;
+PRSCAPS = arr( BPRSAPS * T_PREL_SOC /100 ) * (1 - positif(ANNUL2042)) ;
+regle 103103 :
+application : iliad , batch ;
+PRS = max(0,PRSC - CIPRS);
+PRSAPS = PRSCAPS - CIPRSAPS;
+regle 1031 :
+application : iliad , batch ;
+CSGC = arr( BCSG * T_CSG / 100) * (1 - positif(ANNUL2042)) ;
+CSGCAPS = arr( BCSGAPS * T_CSG / 100) * (1 - positif(ANNUL2042)) ;
+regle 103101 :
+application : iliad , batch ;
+
+RSE1 = arr(BRSE1 * TXTQ/100) * (1 - positif(ANNUL2042)) ;
+
+BRSE8TV = ALLECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+BRSE8SA = COD8SA * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+RSE2 = arr(BRSE8TV * TXTV/100) * (1 - positif(ANNUL2042))
+       + arr(BRSE8SA * TXTV/100) * (1 - positif(ANNUL2042)) ;
+
+RSE3 = arr(BRSE3 * TXTW/100) * (1 - positif(ANNUL2042)) ;
+
+BRSE8TX = PENECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+BRSE8SB = COD8SB * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+RSE4 = arr(BRSE8TX * TXTX/100) * (1 - positif(ANNUL2042))
+       + arr(BRSE8SB * TXTX/100) * (1 - positif(ANNUL2042)) ;
+
+RSE5 = arr(BRSE5 * TX075/100) * (1 - positif(ANNUL2042)) ;
+
+RSETOT = RSE1 + RSE2 + RSE3 + RSE4 + RSE5;
+
+
+regle 1031011 :
+application : iliad , batch ;
+CSG = max(0,CSGC - CICSG) ;
+CSGAPS = max(0,CSGCAPS - CICSGAPS) ;
+RSE1N = max(0,RSE1 - CIRSE1) ;
+RSE2N = max(0,RSE2  - CIRSE2) ;
+RSE3N = max(0,RSE3 - CIRSE3);
+RSE4N = max(0,RSE4  - CIRSE4) ;
+RSE5N = max(0,RSE5 - CIRSE5) ;
+
+regle 10311:
+application : iliad , batch ;
+RDRF = max(0 , RFCF + RFMIC - MICFR - RFDANT) * (1 - positif(ART1731BIS))
+       + max(0 , RFCF + RFMIC - MICFR + DEFRF4BC)  * positif(ART1731BIS);
+
+RDRFPS = max(0 , RFCFPS + RFMIC - MICFR - RFDANT)* (1 - positif(ART1731BIS))
+       + max(0 , RRFI + REVRF + DEFRF4BC) * positif(ART1731BIS);
+
+RDRFAPS = max(0 , RFCFAPS + RFMIC - MICFR - RFDANT ) * (1 - positif(ART1731BIS))
+       + max(0 , RFCFAPS + RFMIC - MICFR +  DEFRF4BD+DEFRF4BC ) * positif(ART1731BIS);
+RDRCM1 =  TRCMABD + DRTNC + RAVC + RCMNAB + RTCAR + RCMPRIVM
+		+ RCMIMPAT
+		- RCMSOC
+                  -  positif(RCMRDS)
+		       * min(RCMRDS ,  
+			 RCMABD + REVACT
+                       + RCMAV + PROVIE
+                       + RCMHAD  + DISQUO
+                       + RCMHAB + INTERE
+		       + RCMTNC + REVPEA
+                       + CO[DGFIP][2017]FA )
+		       ;
+RDRCM1NEG = min(0,RDRCM1);
+RDRCM1NEGPLAF  = min(CO[DGFIP][2017]FA,abs(RDRCM1));
+RDRCM1BIS = (1-positif(RDRCM1)) * RDRCM1NEGPLAF * (-1)
+           + positif_ou_nul(RDRCM1) * RDRCM1;
+RDRCM = RDRCM1BIS + CO[DGFIP][2017]FA;
+RDRCM1APS =  RCMABD + RCMTNC + RCMAV + RCMHAD + RCMHAB + REGPRIVM
+		+ RCMIMPAT
+		- RCMSOC
+                  -  positif(RCMRDS)
+		       * min(RCMRDS ,  
+			 RCMABD 
+                       + RCMAV 
+                       + RCMHAD 
+                       + RCMHAB
+		       + RCMTNC
+                       + CO[DGFIP][2017]FA )
+		       ;
+RDRCM1NEGAPS = min(0,RDRCM1APS);
+RDRCM1NEGPLAFAPS  = min(CO[DGFIP][2017]FA,abs(RDRCM1APS));
+RDRCM1BISAPS = (1-positif(RDRCM1APS)) * RDRCM1NEGPLAFAPS * (-1)
+           + positif_ou_nul(RDRCM1APS) * RDRCM1APS;
+RDRCMAPS = RDRCM1BISAPS + CO[DGFIP][2017]FA;
+RDRV = RVBCSG ;
+RDRVAPS = arr(RVB1 * TXRVT1 / 100)
+         + arr(RVB2 * TXRVT2 / 100)
+         + arr(RVB3 * TXRVT3 / 100)
+         + arr(RVB4 * TXRVT4 / 100) ;
+
+RDNP =  RCSV + RCSC + RCSP 
+        + max(0,NPLOCNETSF) * (1-null(V_REGCO - 2)) * (1-null(V_REGCO - 4)) ;
+
+
+        
+
+PVTAUXPS = BPVSJ + BPVSK + BPV18V + BPV18C + BPCOPTV + BPCOPTC + BPV40V + BPV40C + BPCOSAV + BPCOSAC + PEA + GAINPEA ;
+
+RDNCP = (PVBARPS + PVTAUXPS) * (1 - positif(IPVLOC)) ;
+RDPTP = BA[DGFIP][2017]AV + BA[DGFIP][2017]AC + BA[DGFIP][2017]AP
+       + BA1AV + BA1AC + BA1AP
+       + max(0,MIB1AV - MIBDEV) + max(0,MIB1AC - MIBDEC) + max(0,MIB1AP - MIBDEP)
+       + B[DGFIP][2017]AV + B[DGFIP][2017]AC + B[DGFIP][2017]AP
+       + max(0,MIBN[DGFIP][2017]AV - MIBNPDEV) + max(0,MIBN[DGFIP][2017]AC - MIBNPDEC) + max(0,MIBN[DGFIP][2017]AP - MIBNPDEP)
+       + B[DGFIP][2017]AV + B[DGFIP][2017]AC + B[DGFIP][2017]AP
+       + max(0,BNCPRO1AV - BNCPRODEV) + max(0,BNCPRO1AC - BNCPRODEC) + max(0,BNCPRO1AP - BNCPRODEP)
+       + BN1AV + BN1AC + BN1AP
+       + max(0,BNCN[DGFIP][2017]AV - BNCNPDEV) + max(0,BNCN[DGFIP][2017]AC - BNCNPDEC) + max(0,BNCN[DGFIP][2017]AP - BNCNPDEP)
+       + PVINVE + PVINCE + PVINPE
+       + PVSOCV + PVSOCC
+       ;
+RGLOA = GLDGRATV + GLDGRATC;
+
+
+BCSG = arr(RDRFPS * (1-null(4-V_REGCO)) 
+	    + (COD8XK + COD8YK + RDRV + RDRCM + RDNP + RDNCP + RDPTP + ESFP + R1649 + PREREV)*(1-V_CNR)
+          ) * (1 - positif(present(RE168) + present(TAX1649))) 
+	 + (RE168 + TAX1649) * (1-V_CNR);
+
+BCSGAPS = arr(RDRFAPS * (1-null(4-V_REGCO))
+	  + (RDRVAPS + RDRCMAPS + RDNP + ESFP + R1649 + PREREV)*(1-V_CNR)) * (1 - positif(present(RE168) + present(TAX1649))) 
+	 + (RE168 + TAX1649) * (1-V_CNR);
+
+
+BRSE1 = SALECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSE2 = (ALLECS + COD8SA) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSE3 = INDECS * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSE4 = (PENECS + COD8SB) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BRSE5 = SALECSG * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+
+BRSETOT = BRSE1 + BRSE2 + BRSE3 + BRSE4 + BRSE5;
+regle 10311111:
+application : iliad , batch ;
+PRSETOT = PRSE1 + PRSE2 + PRSE3 + PRSE4 + PRSE5;
+RETRSETOT = RETRSE1 + RETRSE2 + RETRSE3 + RETRSE4 + RETRSE5;
+RSEPROVTOT = CSPROVYD + CSPROVYE + CSPROVYF + CSPROVYN + CSPROVYG + CSPROVYH + CSPROVYP;
+NMAJRSE1TOT = NMAJRSE11 + NMAJRSE21 + NMAJRSE31 + NMAJRSE41 + NMAJRSE51;
+NMAJRSE4TOT = NMAJRSE14 + NMAJRSE24 + NMAJRSE34 + NMAJRSE44 + NMAJRSE54;
+
+regle 103111:
+application : iliad , batch ;
+
+BDCSG = min ((BCSG) * (1-V_CNR), max( 0, (RDRFPS+RDRV +RDNP+ max(0,RDRCM1) + PVBARPS - IPPNCS)  * (1-V_CNR) ))  
+	   * (1 - positif(present(RE168)+present(TAX1649))) * (1- positif(ABDETPLUS))
+      + min ((BCSG) * (1-V_CNR), BDCSG3VA) ;
+
+regle 103112:
+application : iliad , batch ;
+
+DGLOD = positif(CSREC+V_GLOANT) * arr((BGLOA-(COD8YL/0.075)) * TX051/100) * (1 - positif(present(RE168)+present(TAX1649)))
+	  * positif(NAPCR61);
+IDGLO = si (V_IND_TRAIT = 4) 
+        alors ((arr((BGLOA -(COD8YL/0.075))* TX051 / 100)) * positif(CSREC))
+
+        sinon  
+              (abs(DGLOD - V_IDGLOANT))
+        finsi ;
+
+CSGDED3UA = positif(ABDETPLUS +0) * min( arr((ABDETPLUS + COD3UA + 0) * TX051/100) , COD3UA) ;
+
+CSGDEDAUTRE = positif(ABDETPLUS +0) * arr(( PVBARPS - ABDETPLUS - COD3UA + 0) * TX051/100) ; 
+
+CSGDED = max(0 , CSGDED3UA + CSGDEDAUTRE) ;
+
+PVBAR3VA = positif(CSGDED)* arr( CSGDED * 100/TX051) ;
+
+BDCSG3VA = positif(ABDETPLUS) *  max(0, RDRV + max(0,RDRCM1) + RDRFPS + RDNP + PVBAR3VA - IPPNCS) * (1-V_CNR) 
+                              * (1 - positif(present(RE168)+present(TAX1649)));
+
+regle 103114 :
+application :  batch , iliad ;
+
+
+BDRSE1 = max(0,SALECS-REVCSXA-arr(CSPROVYD/(TX075/100))
+            ) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BDRSE2 = max(0,ALLECS-REVCSXC-arr(CSPROVYF/(TX066/100))
+            ) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BDRSE3 = max(0,INDECS-REVCSXD-arr(CSPROVYG/(TX062/100))
+            ) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BDRSE4 = max(0,PENECS-REVCSXE-arr(CSPROVYH/(TX038/100))
+            ) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+BDRSE5 = max(0,SALECSG-REVCSXB-arr(CSPROVYE/(TX075/100))
+            ) * (1 - positif(present(RE168) + present(TAX1649))) * (1-V_CNR) ;
+
+DRSED = (arr(BDRSE1 * TXTQDED/100) + arr(BDRSE2 * TXTVDED/100)
+	   + arr(BDRSE3 * TXTWDED/100) + arr(BDRSE4 * TXTXDED/100) + arr(BDRSE5 * TX051/100)
+        ) * positif(CSREC+V_IDRSEANT) * positif(NAPCR61) ;
+
+IDRSE = si (V_IND_TRAIT = 4)
+	alors (positif(CSREC)*(arr(BDRSE1 * TXTQDED/100) + arr(BDRSE2 * TXTVDED/100) 
+                               + arr(BDRSE3 * TXTWDED/100) + arr(BDRSE4 * TXTXDED/100) 
+                               + arr(BDRSE5 * TX051/100)
+                              )
+              )
+	sinon
+	      (abs(DRSED - V_IDRSEANT))
+	finsi ;
+
+regle 1031121 :
+application : batch,iliad ;
+DCSGD = positif(CSREC+V_IDANT) * (arr(BDCSG * T_IDCSG / 100) - DCSGIM-DCSGIM_A)  * positif(NAPCR61);
+IDCSG = si (V_IND_TRAIT = 4) 
+        alors ((arr(BDCSG * T_IDCSG / 100)-DCSGIM) * positif(CSREC))
+        sinon ( 
+               si (CRDEG = 0 et NAPCRP = 0)
+                   alors (0)
+                   sinon (abs(DCSGD - V_IDANT ))
+               finsi )
+        finsi ;
+regle 10312 :
+application : iliad , batch ;
+BRDS = arr(RDRFPS * (1-null(4-V_REGCO)) 
+	     + (COD8XK + COD8YK + RDRV + RDRCM + RDNP + RDNCP + RDPTP + RGLOA  
+                 + SALECS + SALECSG + ALLECS + INDECS + PENECS + COD8SA + COD8SB 
+                 + ESFP + R1649 + PREREV) * (1-V_CNR)
+          ) * (1 - positif(present(RE168) + present(TAX1649))) 
+       + (RE168 + TAX1649) * (1-V_CNR);
+
+BRDSAPS = arr(RDRFAPS * (1-null(4-V_REGCO))
+	       + (RDRVAPS + RDRCMAPS + RDNP + SALECS + SALECSG + ALLECS + INDECS + PENECS + ESFP + R1649 + PREREV)
+				  *(1-V_CNR)
+             ) * (1 - positif(present(RE168) + present(TAX1649))) 
+	 + (RE168 + TAX1649) * (1-V_CNR);
+
+
+regle 10313 :
+application : iliad , batch ;
+RDSC = arr( BRDS * T_RDS / 100 ) * (1 - positif(ANNUL2042));
+RDSCAPS = arr( BRDSAPS * T_RDS / 100 ) * (1 - positif(ANNUL2042));
+regle 103102 :
+application : iliad , batch ;
+RDSN = RDSC - CIRDS;
+RDSNAPS = RDSCAPS - CIRDSAPS;
+RDSNAC = RDSCAC - CIRDSAC;
+regle 117180:                                                             
+application : iliad , batch ;                               
+                                                                          
+CSRTF = (RDPTP + PVINVE+PVINCE+PVINPE 
+         + somme(i=V,C,P:BN1Ai + B[DGFIP][2017]Ai                          
+         + B[DGFIP][2017]Ai + BA1Ai )) * (1 - positif(IPVLOC)); 
+RDRTF = CSRTF  ;                                                          
+PSRTF = CSRTF  ;                                                          
+regle 119:
+application : iliad , batch ;
+BASSURV3 = max(0,CESSASSV - LIM_ASSUR3);
+BASSURV2 = max(0,CESSASSV - BASSURV3 - LIM_ASSUR2);
+BASSURV1 = max(0,CESSASSV - BASSURV3 - BASSURV2 - LIM_ASSUR1);
+BASSURC3 = max(0,CESSASSC - LIM_ASSUR3);
+BASSURC2 = max(0,(CESSASSC -BASSURC3) - LIM_ASSUR2);
+BASSURC1 = max(0,(CESSASSC - BASSURC3 -BASSURC2) - LIM_ASSUR1);
+BASSURV = CESSASSV;
+BASSURC = CESSASSC;
+TAXASSURV = arr(BASSURV1 * TX_ASSUR1/100 + BASSURV2 * TX_ASSUR2/100 + BASSURV3 * TX_ASSUR3/100) * (1 - positif(RE168 + TAX1649));
+TAXASSURC = arr(BASSURC1 * TX_ASSUR1/100 + BASSURC2 * TX_ASSUR2/100 + BASSURC3 * TX_ASSUR3/100) * (1 - positif(RE168 + TAX1649));
+TAXASSUR = TAXASSURV + TAXASSURC;
+regle 1120 :
+application : iliad , batch ;
+
+BCVNSAL = (CVNSALAV + CVNSALAC+GLDGRATV+GLDGRATC) * (1-positif(present(TAX1649)+present(RE168)));
+B3SVN  = (CVNSALAV + CVNSALAC) * (1-positif(present(TAX1649)+present(RE168)));
+CVNSALC = arr( BCVNSAL * TX10 / 100 ) * (1 - positif(ANNUL2042));
+
+BGLOA = (GLDGRATV+GLDGRATC) * (1-V_CNR) * (1-positif(present(TAX1649)+present(RE168)));
+CGLOA = arr( BGLOA * TX075 / 100 ) * (1 - positif(ANNUL2042));
+
+BGLOACNR = (GLDGRATV+GLDGRATC) * V_CNR * (1-positif(present(TAX1649)+present(RE168)));
+
+regle 1125 :
+application : iliad , batch ;
+
+BCDIS = (GSALV + GSALC) * (1 - V_CNR)* (1-positif(present(TAX1649)+present(RE168))) ;
+
+CDISC = arr(BCDIS * TCDIS / 100) * (1 - positif(ANNUL2042)) ;
+
+CDIS = CDISC ;
+regle 1130 :
+application : iliad , batch ;
+
+BREGV = CO[DGFIP][2017]LA * (1 - V_CNR)* (1-positif(present(TAX1649)+present(RE168))) ;
+MREGV = BREGV ;
diff --git a/sources2014m_2_15/chap-2.m b/sources2014m_2_15/chap-2.m
new file mode 100644
index 0000000000000000000000000000000000000000..3ec35d9971e15a410acf8a00b968a0116fc487c9
--- /dev/null
+++ b/sources2014m_2_15/chap-2.m
@@ -0,0 +1,346 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #     CHAPITRE 2. CALCUL DU NET A PAYER
+ #
+ #
+ #
+regle 20100:
+application : batch, iliad ;
+NAPINI = ( IRN + PIR - IRANT )* (1 - INDTXMIN) *(1 - INDTXMOY)
+       + min(0, IRN + PIR - IRANT) * (INDTXMIN + INDTXMOY)
+       + max(0, IRN + PIR - IRANT) * 
+                                (INDTXMIN*positif((IAVIMBIS-NAPCRPAVIM)-SEUIL_61 )
+			       + INDTXMOY* positif((IAVIMO-NAPCRPAVIM)-SEUIL_61))
+                      + RASAR * V_CR2;
+RC1INI = positif( NAPINI + 1 - SEUIL_12 ) ;
+regle 20101:
+application : batch, iliad ;
+NAPTOT = IRCUM + TAXACUM + PCAPCUM + TAXLOYCUM + HAUTREVCUM  - RECUMIR;
+regle 20103:
+application : iliad ,batch;
+NAPTOTA = V_IRPSANT - V_ANTRE;
+NAPTOTAIR = V_TOTIRANT - V_ANTREIR;
+TOTCRA = V_ANTCR ;
+TOTIRPSANT = V_IRPSANT - V_NONMERANT + V_NONRESTANT - V_ANTRE;
+regle 20104:
+application : iliad ;
+OCEDIMP = IRNIN ;
+regle 20105:
+application : batch, iliad ;
+IRNIN = (IRN - IRANT) * positif(IRN - IRANT) ;
+regle isf 201050:
+application : batch, iliad ;
+ISF4BASE = ISF4BIS * positif_ou_nul(ISF4BIS - SEUIL_12);  
+ISFIN = ISF4BASE ;
+regle 201051:
+application : batch, iliad;
+IRNIN_INR = max(0,IRN - IRANT - IR9YI) * positif(IRN - IRANT) ;
+CSBASE_INR = max(0,CSG - CSGIM  - CS9YP);
+RDBASE_INR = max(0,RDSN - CRDSIM  - RD9YP);
+PSBASE_INR = max(0,PRS - PRSPROV  - PS9YP);
+CVNBASE_INR = max(0,CVNSALC - COD8YT  - CVN9YP);
+CDISBASE_INR = max(0,CDIS - CDISPROV  - CDIS9YP);
+GLOBASE_INR = max(0,CGLOA - COD8YL  - GLO9YP);
+REGVBASE_INR = max(0,BREGV - REGV9YP);
+RSE1BASE_INR = max(0,RSE1N - CSPROVYD - RSE19YP);
+RSE2BASE_INR = max(0, max(0, RSE8TV - CIRSE8TV - CSPROVYF) + max(0, RSE8SA -CIRSE8SA - CSPROVYN) - RSE29YP);
+RSE3BASE_INR = max(0,RSE3N - CSPROVYG - RSE39YP);
+RSE4BASE_INR = max(0, max(0, RSE8TX - CIRSE8TX - CSPROVYH) + max(0, RSE8SB -CIRSE8SB - CSPROVYP) - RSE49YP);
+RSE5BASE_INR = max(0,RSE5N - CSPROVYE - RSE59YP);
+TAXABASE_INR = arr(max(TAXASSUR - TAXA9YI + min(0,IRN - IRANT),0)) * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+PCAPBASE_INR = arr(max(IPCAPTAXT - CAP9YI + min(0,IRN - IRANT + TAXASSUR),0)) * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+LOYBASE_INR = arr(max(TAXLOY - LOY9YI + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT),0)) * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+CHRBASE_INR = arr(max(IHAUTREVT - CHR9YI + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT+TAXLOY),0)) * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+CSBASE = CSG - CSGIM ;
+RDBASE = RDSN - CRDSIM ;
+PSBASE = PRS - PRSPROV ;
+CVNBASE = CVNSALC - COD8YT ;
+CDISBASE = CDIS - CDISPROV ;
+GLOBASE = CGLOA - COD8YL ;
+RSE1BASE = RSE1N - CSPROVYD;
+RSE2BASE = max(0, RSE8TV - CIRSE8TV - CSPROVYF) + max(0, RSE8SA - CIRSE8SA - CSPROVYN) ;
+RSE3BASE = RSE3N - CSPROVYG;
+RSE4BASE = max(0, RSE8TX - CIRSE8TX - CSPROVYH) + max(0, RSE8SB -CIRSE8SB - CSPROVYP) ;
+RSE5BASE = RSE5N - CSPROVYE;
+REGVBASE = BREGV;
+TAXABASE = arr(max(TAXASSUR + min(0,IRN - IRANT),0)) * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+PCAPBASE = arr(max(IPCAPTAXT + min(0,IRN - IRANT + TAXASSUR),0)) * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+LOYBASE = arr(max(TAXLOY + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT),0)) * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+CHRBASE = arr(max(IHAUTREVT + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT+TAXLOY),0)) * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+
+IRBASE_I = (IRN -IRANT)*positif(IRN+1-SEUIL_12);
+
+IRBASE_N = (IRN - IRANT)*(1 - positif (IRN-IRANT + TAXABASE_IRECT+CAPBASE_IRECT+HRBASE_IRECT))
+           + (IAN - min( IAN , IRE )) * positif (IRN-IRANT + TAXABASE_IRECT+CAPBASE_IRECT+HRBASE_IRECT);
+TAXABASE_I = TAXASSUR * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+TAXABASE_N = arr(max(TAXASSUR + min(0,IRN - IRANT),0)) * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+CAPBASE_I = IPCAPTAXT * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+CAPBASE_N = arr(max(IPCAPTAXT + min(0,IRN - IRANT + TAXASSUR),0)) * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+LOYBASE_I = TAXLOY * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+LOYBASE_N = arr(max(TAXLOY + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT),0)) * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+HRBASE_I = IHAUTREVT * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+HRBASE_N = arr(max(IHAUTREVT + min(0,IRN - IRANT + TAXASSUR+IPCAPTAXT+TAXLOY),0)) * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+
+IRNN = IRNIN;
+
+regle 20106:
+application : iliad;
+PIR = (
+       INCIR_NET
+       + NMAJ1 + NMAJ3 + NMAJ4 
+       + arr((BTOINR) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT)))
+       ;
+PPRS = (
+       INCPS_NET
+       + NMAJ[DGFIP][2017] + NMAJP4
+       + arr(max(0,PRS-PRSPROV-PS9YP) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PCSG = (
+       INCCS_NET
+       + NMAJC1 + NMAJC4
+         + arr(max(0,CSG-CSGIM-CS9YP) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PRDS = (
+       INCRD_NET
+       + NMAJR1 + NMAJR4
+         + arr(max(0,RDSN-CRDSIM-RD9YP) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PCVN = (
+       INCCVN_NET
+       + NMAJCVN1 + NMAJCVN4
+         + arr(max(0,(CVNSALC - COD8YT)-CVN9YP) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PREGV = (
+       INCREGV_NET
+       + NMAJREGV1 + NMAJREGV4
+         + arr( max(0,BREGV - REGV9YP) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PTAXA = (
+       INCTAXA_NET
+       + NMAJTAXA1 + NMAJTAXA3 + NMAJTAXA4
+         + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)-TAXA9YI) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PPCAP = (
+       INCPCAP_NET
+       + NMAJPCA[DGFIP][2017] + NMAJPCAP3 + NMAJPCAP4
+         + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)-CAP9YI) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PTAXLOY = (
+       INCLOY_NET
+       + NMAJLOY1 + NMAJLOY3 + NMAJLOY4
+         + arr(max(0,LOYELEV- min(LOYELEV+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)-LOY9YI) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PHAUTREV  = (
+       INCCHR_NET
+       + NMAJCHR1 + NMAJCHR3 + NMAJCHR4
+         + arr(max(0,IHAUTREVT+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+LOYELEV)-CHR9YI) * TXINT / 100)* (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+PGLOA = (
+       INCGLOA_NET
+       + NMAJGLO1 + NMAJGLO4
+         + arr((max(0,CGLOA  - COD8YL-GLO9YP)* TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT)))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PRSE1 = (
+       INCRSE1_NET
+       + NMAJRSE11 + NMAJRSE14
+         + arr(max(0,RSE1 -CIRSE1 -CSPROVYD-RSE19YP)* TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PRSE2 = (
+      		  INCRSE2_NET
+       		+ NMAJRSE21 + NMAJRSE24
+        	+ arr(max(0,(max(0,RSE8TV -CIRSE8TV -CSPROVYF)+ max(0, RSE8SA -CIRSE8SA - CSPROVYN)-RSE29YP)) * TXINT / 100
+                     ) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))
+        ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PRSE3 = (
+       INCRSE3_NET
+       + NMAJRSE31 + NMAJRSE34
+         + arr(max(0,RSE3 -CIRSE3 -CSPROVYG-RSE39YP)* TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PRSE4 = (
+      	          INCRSE4_NET
+       		+ NMAJRSE41 + NMAJRSE44
+        	+ arr(max(0,max(0,RSE8TX -CIRSE8TX -CSPROVYH)+ max(0, RSE8SB -CIRSE8SB - CSPROVYP)-RSE49YP) * TXINT / 100
+                     ) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))
+        ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PRSE5 = (
+       INCRSE5_NET
+       + NMAJRSE51 + NMAJRSE54
+         + arr(max(0,RSE5 -CIRSE5 -CSPROVYE-RSE59YP)* TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+PCDIS = (
+       INCCDIS_NET
+       + NMAJCDIS1 + NMAJCDIS4
+         + arr(max(0,CDIS-CDISPROV-CDIS9YP) * TXINT / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PDEG = max(0,PIR_A + PTAXA_A + PPCAP_A - PTAXLOY_A - PCHR_A - PIR - PTAXA - PPCAP - PTAXLOY - PHAUTREV);
+
+regle 201061:
+application : batch , iliad  ;
+PTOTIRCS = PIR + PTAXA + PTAXLOY + PHAUTREV + PPCAP +
+           PPRS + PCSG + PRDS + PCDIS + PREGV + PCVN +
+	   PGLOA + PRSE1 + PRSE2 + PRSE3 + PRSE4 + PRSE5 ;
+
+TOTPENIR = PIR + PTAXA + PTAXLOY + PHAUTREV + PPCAP ;
+
+TOTPENCS = PPRS+ PCSG + PRDS + PCVN + PREGV + PCDIS + PGLOA + PRSE1 + PRSE2 + PRSE3 + PRSE4 + PRSE5;
+
+INCTOTIR = RETIR + RETTAXA + RETPCAP + RETLOY + RETHAUTREV ;
+
+INCTOTCS = RETCS+RETRD+RETPS+RETCVN+RETREGV+RETCDIS+RETGLOA
+           +RETRSE1+RETRSE2+RETRSE3+RETRSE4+RETRSE5 ;
+
+RETIRCSTOT = INCTOTIR + INCTOTCS ;
+
+regle 20107:
+application : batch  ;
+PIR = PTOIR * positif_ou_nul(IAM[DGFIP][2017] - SEUIL_61) ;
+PPRS = PTOPRS ;
+PCSG = PTOCSG ;
+PRSE1 = PTORSE1 ;
+PRSE2 = PTORSE2 ;
+PRSE3 = PTORSE3 ;
+PRSE4 = PTORSE4 ;
+PRSE5 = PTORSE5 ;
+PREGV = PTOREGV ;
+PRDS = PTORDS ;
+PTAXA = PTOTAXA ;
+PPCAP = PTOTPCAP ;
+PTAXLOY = PTOTLOY ;
+PHAUTREV = PTOTCHR ;
+PCVN = PTOCVN ;
+PCDIS = PTOCDIS ;
+PGLOA = PTOGLOA ;
+
+regle 20109:
+application : iliad , batch ;
+PTOT = PIR ;
+regle 20110:
+application : iliad ;
+ILI_SYNT_IR =  positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR) * max(0 , IRCUM - NONMER + NONREST - PIR)
+              + (1 - positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR)) * (TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR) ;
+
+PIRNEG = abs(min(0 , IRCUM - NONMER + NONREST - PIR)) ;
+
+ILI_SYNT_TAXA = positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR) * max(0,TAXACUM - PTAXA - PIRNEG)
+               + (1 - positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR)) * 0 ;
+
+PTAXANEG = abs(min(0 , TAXACUM - PTAXA - PIRNEG)) ;
+
+ILI_SYNT_CAP = positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR) * max(0 , PCAPCUM - PPCAP - PTAXANEG)
+               + (1 - positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR)) * 0 ;
+
+PPCAPNEG = abs(min(0 , PCAPCUM - PPCAP - PTAXANEG)) ;
+
+ILI_SYNT_LOY = positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR) * max(0 , TAXLOYCUM - PTAXLOY - PPCAPNEG)
+               + (1 - positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR)) * 0 ;
+
+PTAXLOYNEG = abs(min(0 , TAXLOYCUM - PTAXLOY - PPCAPNEG)) ;
+
+ILI_SYNT_CHR = positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR) * max(0 , HAUTREVCUM - PHAUTREV - PTAXLOYNEG)
+               + (1 - positif(TOTIRCUM - NONMER - RECUMIR + NONREST - TOTPENIR)) * 0 ;
+
+ILI_SYNT_TOTIR = ILI_SYNT_IR + ILI_SYNT_TAXA + ILI_SYNT_CAP + ILI_SYNT_LOY + ILI_SYNT_CHR ;
+
+regle 201101:
+application : iliad , batch ;
+
+ILIIRNET =  positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR) * max(0,IRCUM-PIR)
+	      + (1 - positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR)) * (TOTIRCUM - RECUMIR - TOTPENIR);
+
+PIRNETNEG =  max(0,PIR-IRCUM);
+
+ILITAXANET = positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR) * max(0,TAXACUM - PTAXA - PIRNETNEG)
+	       + (1 - positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR)) * 0;
+
+PTAXANETNEG =  max(0,PIR+PTAXA-IRCUM-TAXACUM);
+
+ILICAPNET = positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR) * max(0,PCAPCUM -PPCAP-PTAXANETNEG)
+	       + (1 - positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR)) * 0;
+
+PPCAPNETNEG =  max(0,PIR+PTAXA+PPCAP-IRCUM-TAXACUM-PCAPCUM);
+
+ILILOYNET = positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR) * max(0,TAXLOYCUM-PTAXLOY-PPCAPNETNEG)
+	       + (1 - positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR)) * 0;
+
+PTAXLOYNETNEG =  max(0,PIR+PTAXA+PPCAP+PTAXLOY-IRCUM-TAXACUM-PCAPCUM-TAXLOYCUM);
+
+ILICHRNET = positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR) * max(0,HAUTREVCUM-PHAUTREV-PTAXLOYNETNEG) 
+	       + (1 - positif_ou_nul(TOTIRCUM - RECUMIR - TOTPENIR)) * 0;
+
+ILITOTIRNET = ILIIRNET + ILITAXANET + ILICAPNET + ILILOYNET + ILICHRNET;
+
+ILITOTPSNET = max(0, NAPCR61 - TOTPENCS) ;
+
+TOTIRE = IREP - ITRED - IRE - INE ;
+
+TOTTP = TTPVQ + REVTP ;
+
+regle 201102:
+application : batch ;
+
+
+MAJOTOT28IR = NMAJ1     +
+               NMAJTAXA1 +
+               NMAJPCA[DGFIP][2017] +
+               NMAJLOY1  +
+               NMAJCHR1 ;
+
+MAJOTOT28PS = NMAJC1 +
+               NMAJR1    +
+                NMAJ[DGFIP][2017]    +
+                NMAJCVN1  +
+                NMAJREGV1  +
+                NMAJCDIS1 +
+                NMAJGLO1  +
+                NMAJRSE11 +
+                NMAJRSE21 +
+                NMAJRSE31 +
+                NMAJRSE41 +
+                NMAJRSE51 ;
+
+MAJO1728TOT = MAJOTOT28IR + MAJOTOT28PS ;
+
+regle 20111:
+application : iliad ;
+DEC_CGA_AGA = BAFV + BAFC + BAFP
+            + BAHREV - (BAHDEV * (1 - positif(ART1731BIS) ))
+            + BAHREC - (BAHDEC * (1 - positif(ART1731BIS) ))
+            + BAHREP - (BAHDEP * (1 - positif(ART1731BIS) ))
+            + BIHNOV - (BIHDNV * (1 - positif(ART1731BIS) ))
+            + BIHNOC - (BIHDNC * (1 - positif(ART1731BIS) ))
+            + BIHNOP - (BIHDNP * (1 - positif(ART1731BIS) ))
+            + BICHREV - (min(BICHDEV,BICHDEV1731+0) * positif(ART1731BIS) + BICHDEV * (1 - ART1731BIS))
+            + BICHREC - (min(BICHDEC,BICHDEC1731+0) * positif(ART1731BIS) + BICHDEC * (1 - ART1731BIS)) 
+            + BICHREP - (min(BICHDEP,BICHDE[DGFIP][2017]731+0) * positif(ART1731BIS) + BICHDEP * (1 - ART1731BIS)) 
+            + BNHREV - (BNHDEV * (1 - positif(ART1731BIS) ))
+            + BNHREC - (BNHDEC * (1 - positif(ART1731BIS) ))
+            + BNHREP - (BNHDEP * (1 - positif(ART1731BIS) ))
+            + ANOCEP - (min(DNOCEP,DNOCE[DGFIP][2017]731+0) * positif(ART1731BIS) + DNOCEP * (1 - ART1731BIS))
+            + ANOVEP - (min(DNOCEPC,DNOCEPC1731+0) * positif(ART1731BIS) + DNOCEPC * (1 - ART1731BIS))
+            + ANOPEP - (min(DNOCEPP,DNOCEP[DGFIP][2017]731+0) * positif(ART1731BIS) + DNOCEPP * (1 - ART1731BIS))
+	    ;
+MAJ_CGA_AGA =  arr(SUPREV * (BAFV + BAFC + BAFP))
+	    + arr(SUPREV * max(0,BAHREV - (BAHDEV * (1 - positif(ART1731BIS) ))))
+            + arr(SUPREV * max(0,BAHREC - (BAHDEC * (1 - positif(ART1731BIS) ))))
+            + arr(SUPREV * max(0,BAHREP - (BAHDEP * (1 - positif(ART1731BIS) ))))
+            + arr(SUPREV * max(0,BIHNOV - (BIHDNV * (1 - positif(ART1731BIS) )) ))
+            + arr(SUPREV * max(0,BIHNOC - (BIHDNC * (1 - positif(ART1731BIS) )) ))
+            + arr(SUPREV * max(0,BIHNOP - (BIHDNP * (1 - positif(ART1731BIS) )) ))
+            + arr(SUPREV * max(0,BICHREV - (min(BICHDEV,BICHDEV1731+0) * positif(ART1731BIS) + BICHDEV * (1 - ART1731BIS)) ))
+            + arr(SUPREV * max(0,BICHREC - (min(BICHDEC,BICHDEC1731+0) * positif(ART1731BIS) + BICHDEC * (1 - ART1731BIS)) ))
+            + arr(SUPREV * max(0,BICHREP - (min(BICHDEP,BICHDE[DGFIP][2017]731+0) * positif(ART1731BIS) + BICHDEP * (1 - ART1731BIS)) ))
+            + arr(SUPREV * max(0,BNHREV - (BNHDEV * (1 - positif(ART1731BIS) ))))
+            + arr(SUPREV * max(0,BNHREC - (BNHDEC * (1 - positif(ART1731BIS) ))))
+            + arr(SUPREV * max(0,BNHREP - (BNHDEP * (1 - positif(ART1731BIS) ))))
+            + arr(SUPREV * max(0,ANOCEP - (min(DNOCEP,DNOCE[DGFIP][2017]731+0) * positif(ART1731BIS) + DNOCEP * (1 - ART1731BIS))))
+            + arr(SUPREV * max(0,ANOVEP - (min(DNOCEPC,DNOCEPC1731+0) * positif(ART1731BIS) + DNOCEPC * (1 - ART1731BIS))))
+            + arr(SUPREV * max(0,ANOPEP - (min(DNOCEPP,DNOCEP[DGFIP][2017]731+0) * positif(ART1731BIS) + DNOCEPP * (1 - ART1731BIS))))
+	    ;
+TOT_CGA_AGA = DEC_CGA_AGA + MAJ_CGA_AGA;
diff --git a/sources2014m_2_15/chap-3.m b/sources2014m_2_15/chap-3.m
new file mode 100644
index 0000000000000000000000000000000000000000..b0948206144ab1717f2c21e1e594b7716812178a
--- /dev/null
+++ b/sources2014m_2_15/chap-3.m
@@ -0,0 +1,648 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+                                                                         #####
+  ####   #    #    ##    #####      #     #####  #####   ######         #     #
+ #    #  #    #   #  #   #    #     #       #    #    #  #                    #
+ #       ######  #    #  #    #     #       #    #    #  #####           #####
+ #       #    #  ######  #####      #       #    #####   #                    #
+ #    #  #    #  #    #  #          #       #    #   #   #              #     #
+  ####   #    #  #    #  #          #       #    #    #  ###### #######  #####
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                       CALCUL DE L'IMPOT NET
+ #
+ #
+ #
+ #
+ #
+ #
+regle 301:
+application : bareme , iliad , batch  ;
+
+IRN = min( 0, IAN + AVFISCOPTER - IRE ) + max( 0, IAN + AVFISCOPTER - IRE ) * positif( IAM[DGFIP][2017] + 1 - SEUIL_61) ;
+
+
+regle 3010:
+application : bareme , iliad , batch  ;
+
+IAR = min( 0, IAN + AVFISCOPTER - IRE ) + max( 0, IAN + AVFISCOPTER - IRE ) ;
+
+regle 302:
+application : iliad , batch  ;
+CREREVET =  min(arr((BPTP3 + BPTPD + BPTPG) * TX16/100),arr(CIIMPPRO * TX_CREREVET/100 ))
+	  + min(arr(BPT[DGFIP][2017]9 * TX19/100),arr(CIIMPPRO2 * TX19/100 ));
+
+CIIMPPROTOT = CIIMPPRO + CIIMPPRO2 ;
+regle 30202:
+application : iliad , batch  ;
+ICI8XFH = min(arr(BPT[DGFIP][2017]8 * TX18/100),arr(COD8XF * TX18/100 ))
+      + min(arr(BPTP4I * TX30/100),arr(COD8XG * TX30/100 ))
+      + min(arr(BPTP40 * TX41/100),arr(COD8XH * TX41/100 ));
+ICI8XV  = min(arr(RCM2FA * TX24/100),arr(COD8XV * TX24/100 )) * (1 - positif(null(2 - V_REGCO)+null(4-V_REGCO)));
+ICIGLO = min(arr(BPT[DGFIP][2017]8 * TX18/100),arr(COD8XF * TX18/100 ))
+      + min(arr(RCM2FA * TX24/100),arr(COD8XV * TX24/100 )) * (1 - positif(null(2 - V_REGCO)+null(4-V_REGCO)))
+      + min(arr(BPTP4I * TX30/100),arr(COD8XG * TX30/100 ))
+      + min(arr(BPTP40 * TX41/100),arr(COD8XH * TX41/100 ));
+
+CIGLOTOT = COD8XF + COD8XG + COD8XH; 
+CI8XV = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET,ICI8XV));
+CI8XFH = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CI8XV,ICI8XFH));
+CIGLO = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET,ICIGLO));
+regle 3025:
+application : iliad , batch  ;
+
+ICREREVET = max(0,min(IA[DGFIP][2017]1 + ITP - CIRCMAVFT - IRETS - min(IA[DGFIP][2017]1 , CRCFA), min(ITP,CREREVET)));
+
+regle 3026:
+application : iliad , batch , bareme ;
+
+INE = (CIRCMAVFT + IRETS + min(max(0,IA[DGFIP][2017]1-CIRCMAVFT-IRETS) , CRCFA) + ICREREVET + CIGLO + CICULTUR + CIGPA + CIDONENTR + CICORSE + CIRECH + CICOMPEMPL)
+            * (1-positif(RE168+TAX1649));
+
+IAN = max( 0, (IRB - AVFISCOPTER + ((- CIRCMAVFT
+				     - IRETS
+                                     - min(max(0,IA[DGFIP][2017]1-CIRCMAVFT-IRETS) , CRCFA) 
+                                     - ICREREVET
+                                     - CIGLO
+                                     - CICULTUR
+                                     - CIGPA
+                                     - CIDONENTR
+                                     - CICORSE
+				     - CIRECH 
+                                     - CICOMPEMPL)
+                                   * (1 - positif(RE168 + TAX1649)))
+                  + min(TAXASSUR+0 , max(0,INE-IRB+AVFISCOPTER)) 
+                  + min(IPCAPTAXTOT+0 , max(0,INE-IRB+AVFISCOPTER - min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))))
+                  + min(TAXLOY+0 ,max(0,INE-IRB+AVFISCOPTER - min(IPCAPTAXTOT+0 , max(0,INE-IRB+AVFISCOPTER - min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))))
+										  - min(TAXASSUR+0 , max(0,INE-IRB+AVFISCOPTER))))
+	      )
+         )
+ ;
+
+regle 3021:
+application : iliad , batch  ;
+IRE = (1- positif(RE168+TAX1649+0)) * (
+                      CIDIREPARGNE + EPAV + CRICH + CICORSENOW 
+                    + CIGE + CIDEVDUR + CITEC
+                    +  IPELUS + CICA + CIGARD + CISYND 
+                    + CIPRETUD + CIADCRE + CIHABPRIN + CREFAM 
+                    + CREAPP +CREAGRIBIO + CREPROSP + CRESINTER 
+                    + CREFORMCHENT + CREINTERESSE + CREARTS + CICONGAGRI 
+                    + CRERESTAU + CILOYIMP + AUTOVERSLIB
+                    + PPETOTX - PPERSA
+                    + C[DGFIP][2017]CK + CIFORET + CIEXCEDENT
+                    + COD8TL * (1 - positif(RE168 + TAX1649))
+	                              );
+IRE2 = IRE + (BCIGA * (1 - positif(RE168+TAX1649))); 
+regle 3022:
+application : iliad , batch  ;
+
+CRICH =  IPRECH * (1 - positif(RE168+TAX1649));
+regle 30221:
+application : iliad , batch  ;
+CIRCMAVFT = max(0,min(IRB + TAXASSUR + IPCAPTAXTOT +TAXLOY - AVFISCOPTER , RCMAVFT * (1 - positif(null(2 - V_REGCO)+null(4-V_REGCO)))));
+regle 302229:
+application : iliad , batch  ;
+CIEXCEDENT =  arr((COD3VE * TX45/100) + (COD3UV * TX30/100))* (1 - positif(RE168 + TAX1649));
+regle 30222:
+application : iliad , batch  ;
+CIDIREPARGNE = DIREPARGNE * (1 - positif(RE168 + TAX1649)) * (1 - positif(null(2 - V_REGCO)+null(4-V_REGCO)));
+C[DGFIP][2017]CK = CO[DGFIP][2017]CK * (1 - positif(RE168 + TAX1649)) * (1 - positif(null(2 - V_REGCO)+null(4-V_REGCO)));
+regle 30226:
+application : batch, iliad;
+CICA =  arr(BAILOC98 * TX_BAIL / 100) * (1 - positif(RE168 + TAX1649)) ;
+regle 3023:
+application : iliad , batch  ;
+CRCFA = (arr(IPQ1 * REGCI / (RB018XR + TONEQUO )) * (1 - positif(RE168+TAX1649)));
+regle 30231:
+application : iliad , batch  ;
+IRETS = max(0,min(min(COD8PA,IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT)*present(COD8PA)+(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT)*(1-present(COD8PA)) , (IPSOUR * (1 - positif(RE168+TAX1649))))) ;
+regle 3023101:
+application : iliad , batch  ;
+CRDIE = max(0,min(IRB-REI-AVFISCOPTER-CIRCMAVFT-IRETS,(min(IA[DGFIP][2017]1-CIRCMAVFT-IRETS,CRCFA) * (1 - positif(RE168+TAX1649)))));
+CRDIE2 = -CRDIE+0;
+regle 3023102:
+application : iliad , batch  ;
+BCIAQCUL = arr(CIAQCUL * TX_CIAQCUL / 100);
+CICULTUR = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-REI-IRETS-CRDIE-ICREREVET-CIGLO,min(IA[DGFIP][2017]1+ITP+TAXASSUR+TAXLOY +IPCAPTAXTOT+CHRAPRES,BCIAQCUL)));
+regle 3023103:
+application : iliad , batch  ;
+BCIGA = CRIGA;
+CIGPA = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CIGLO-CICULTUR,BCIGA));
+regle 3023104:
+application : iliad , batch  ;
+BCIDONENTR = RDMECENAT * (1-V_CNR) ;
+CIDONENTR = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-REI-IRETS-CRDIE-ICREREVET-CIGLO-CICULTUR-CIGPA,BCIDONENTR));
+regle 3023105:
+application : iliad , batch  ;
+CICORSE = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IPPRICORSE-IRETS-CRDIE-ICREREVET-CIGLO-CICULTUR-CIGPA-CIDONENTR,CIINVCORSE+IPREPCORSE));
+CICORSEAVIS = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY-AVFISCOPTER-CIRCMAVFT-IPPRICORSE-IRETS-CRDIE-ICREREVET-CIGLO-CICULTUR-CIGPA-CIDONENTR,CIINVCORSE+IPREPCORSE))+CICORSENOW;
+TOTCORSE = CIINVCORSE + IPREPCORSE + CICORSENOW;
+regle 3023106:
+application : iliad , batch  ;
+CIRECH = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CIGLO-CICULTUR-CIGPA-CIDONENTR-CICORSE,IPCHER));
+regle 30231061:
+application : iliad , batch  ;
+CICOMPEMPL = max(0,min(IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CIGLO-CICULTUR-CIGPA-CIDONENTR-CICORSE-CIRECH,COD8UW));
+
+DIEMPLOI = (COD8UW + COD8TL) * (1 - positif(RE168+TAX1649)) ;
+
+CIEMPLOI = (CICOMPEMPL + COD8TL) * (1 - positif(RE168+TAX1649)) ;
+
+IRECR = abs(min(0 ,IRB+TAXASSUR+IPCAPTAXTOT+TAXLOY -AVFISCOPTER-CIRCMAVFT-IRETS-CRDIE-ICREREVET-CIGLO-CICULTUR-CIGPA-CIDONENTR-CICORSE-CIRECH-CICOMPEMPL));
+regle 30231051:
+application : iliad , batch  ;
+REPCORSE = abs(CIINVCORSE+IPREPCORSE-CICORSE) ;
+REPRECH = abs(IPCHER - CIRECH) ;
+REPCICE = abs(COD8UW - CICOMPEMPL) ;
+regle 3023107:
+application : iliad , batch  ;
+CICONGAGRI = CRECONGAGRI * (1-V_CNR) ;
+regle 30231071:
+application : iliad , batch  ;
+BCICAP = min(IPCAPTAXTOT,arr((PRELIBXT - arr(PRELIBXT * TX10/100))*T_PCAPTAX/100));
+BCICAPAVIS = max(0,(PRELIBXT - arr(PRELIBXT * TX10/100)));
+CICAP = max(0,min(IRB + TAXASSUR + IPCAPTAXTOT +TAXLOY +CHRAPRES - AVFISCOPTER ,min(IPCAPTAXTOT,BCICAP)));
+regle 30231072:
+application : iliad , batch  ;
+BCICHR = arr(CHRAPRES * (REGCI*(1-present(COD8XY))+COD8XY+0) / (REVKIREHR - TEFFHRC+COD8YJ));
+CICHR = max(0,min(IRB + TAXASSUR + IPCAPTAXTOT +TAXLOY +CHRAPRES - AVFISCOPTER-CICAP ,min(CHRAPRES,BCICHR)));
+regle 407015:
+application : iliad , batch  ;
+BCOS = max(0 , min(RDSYVO+0,arr(TX_BASECOTSYN/100*
+                                   (TSBV*IND_10V
+                                   - BPCOSAV + EXPRV)))) 
+       + max(0 , min(RDSYCJ+0,arr(TX_BASECOTSYN/100*
+                                   (TSBC*IND_10C
+                                   - BPCOSAC + EXPRC)))) 
+       + min(RDSYPP+0,arr(TX_BASECOTSYN/100* (somme(i=1..4:TSBi *IND_10i + EXPRi))))  ;
+
+CISYND = arr(TX_REDCOTSYN/100 * BCOS) * (1 - V_CNR) ;
+
+DSYND = RDSYVO + RDSYCJ + RDSYPP ;
+
+ASYND = BCOS * (1-V_CNR) ;
+
+regle 3023108:
+application : iliad , batch ;
+
+IAVF = IRE - EPAV + CICORSE + CICULTUR + CIGPA + CIRCMAVFT ;
+
+
+DIAV[DGFIP][2017] = (BCIGA + IPRECH + IPCHER + IPELUS + RCMAVFT + DIREPARGNE + COD3VE + COD3UV) * (1 - positif(RE168+TAX1649)) + CIRCMAVFT * positif(RE168+TAX1649);
+
+
+IAV[DGFIP][2017] = (CIDIREPARGNE + IPRECH + CIRECH + IPELUS + CIRCMAVFT + CIGPA + CIEXCEDENT + 0) * (1 - positif(RE168 + TAX1649))
+        + CIRCMAVFT * positif(RE168 + TAX1649) ;
+
+IAVFGP = IAV[DGFIP][2017] + CREFAM + CREAPP ;
+
+regle 3023109:
+application : iliad , batch ;
+
+[DGFIP][2017]DH = EPAV ;
+
+regle 30231011:
+application : iliad , batch  ;
+BTANTGECUM   = (V_BTGECUM * (1 - present(DEPMOBIL)) + DEPMOBIL);
+BTANTGECUMWL = (V_BTGECUMWL * (1 - present(COD7WD)) + COD7WD);
+[DGFIP][2017]GE = max( (   PLAF_GE2 * (1 + BOOL_0AM)
+             + PLAF_GE2_PACQAR * (V_0CH + V_0DP)
+             + PLAF_GE2_PAC * (V_0CR + V_0CF + V_0DJ + V_0DN)  
+              ) - BTANTGECUM
+             , 0
+             ) ;
+BGEDECL = RDTECH + RDEQPAHA ;
+BGEPAHA = min(RDEQPAHA , [DGFIP][2017]GE) * (1 - V_CNR);
+[DGFIP][2017]GEWL = max(0,[DGFIP][2017]GE + PLAF_GE2 * (1 + BOOL_0AM) -  BGEPAHA - BTANTGECUMWL);
+
+BGTECH = min(RDTECH , [DGFIP][2017]GEWL) * (1 - V_CNR) ;
+TOTBGE = BGTECH + BGEPAHA ;
+RGEPAHA =  (BGEPAHA * TX25 / 100 ) * (1 - V_CNR) ;
+RGTECH = (BGTECH * TX40 / 100 ) * (1 - V_CNR) ;
+CIGE = arr (RGTECH + RGEPAHA ) * (1 - positif(RE168 + TAX1649)) * (1 - V_CNR) ;
+GECUM = min([DGFIP][2017]GE,BGEPAHA + BGTECH)+BTANTGECUM ;
+GECUMWL = max(0,BGTECH + BGEPAHA - min([DGFIP][2017]GE,BGEPAHA + BGTECH)+BTANTGECUMWL) ;
+DAIDC = CREAIDE ;
+AAIDC = BADCRE * (1-V_CNR) ;
+CIADCRE = arr (BADCRE * TX_AIDOMI /100) * (1 - positif(RE168 + TAX1649)) * (1 - V_CNR) ;
+regle 30231012:
+application : iliad , batch  ;
+DLOYIMP = LOYIMP ;
+ALOYIMP = DLOYIMP;
+CILOYIMP = arr(ALOYIMP*TX_LOYIMP/100) * (1 - positif(RE168 + TAX1649)) ;
+regle 30231014:
+application : iliad , batch  ;
+
+DDEVDUR = 
+  CIBOIBAIL  + COD7SA  + CINRJBAIL  + COD7SB  + CRENRJ  + COD7SC  + TRAMURWC  
+ + COD7WB  + CINRJ  + COD7RG  + TRATOIVG  + COD7VH  + CIDE[DGFIP][2017]5  + COD7RH  
+ + MATISOSI  + COD7RI  + TRAVITWT  + COD7WU  + MATISOSJ  + COD7RJ  + VOLISO  
+ + COD7RK  + PORENT  + COD7RL  + CHAUBOISN  + COD7RN  + POMPESP  + COD7RP  
+ + POMPESR  + COD7RR  + CHAUFSOL  + COD7RS  + POMPESQ  + COD7RQ  + ENERGIEST  
+ + COD7RT  + DIAGPERF  + COD7TV  + RESCHAL  + COD7TW  + COD7RV  + COD7RW  + COD7RZ  ;
+
+PDEVDUR = max( (   PLAF_DEVDUR * (1 + BOOL_0AM)
+                  + PLAF_GE2_PACQAR * (V_0CH+V_0DP)
+	          + PLAF_GE2_PAC * (V_0CR+V_0CF+V_0DJ+V_0DN) 
+		 ) - (V_BTDEVDUR*(1-present(DEPCHOBAS))+DEPCHOBAS) , 0 );
+BQRESS = positif(CIBOIBAIL + CINRJBAIL + CRENRJ + CINRJ + CIDE[DGFIP][2017]5 + MATISOSI + MATISOSJ + VOLISO + PORENT
+                                          + CHAUBOISN + POMPESP + POMPESR + CHAUFSOL + POMPESQ + ENERGIEST + DIAGPERF + RESCHAL
+                                          + TRAMURWC + TRATOIVG + TRAVITWT) * 1
+        + 0;
+BQTRAV = positif((present(TRAVITWT)+present(COD7WU)) * (present(TRAMURWC)+present(COD7WB))
+                +(present(TRAVITWT)+present(COD7WU)) * (present(TRATOIVG)+present(COD7VH))
+                +(present(TRAVITWT)+present(COD7WU)) * (present(CHAUBOISN)+present(COD7RN))
+                +(present(TRAVITWT)+present(COD7WU)) * (present(POMPESR)+present(COD7RR)+present(CHAUFSOL)+present(COD7RS))
+                +(present(TRAVITWT)+present(COD7WU)) * (present(CIBOIBAIL)+present(COD7SA)+present(CINRJBAIL)+present(COD7SB)
+                                                       +present(POMPESP)+present(COD7RP)+present(POMPESQ)+present(COD7RQ)
+                                                       +present(ENERGIEST)+present(COD7RT))
+                +(present(TRAMURWC)+present(COD7WB)) * (present(TRATOIVG)+present(COD7VH))
+                +(present(TRAMURWC)+present(COD7WB)) * (present(CHAUBOISN)+present(COD7RN))
+                +(present(TRAMURWC)+present(COD7WB)) * (present(POMPESR)+present(COD7RR)+present(CHAUFSOL)+present(COD7RS))
+                +(present(TRAMURWC)+present(COD7WB)) * (present(CIBOIBAIL)+present(COD7SA)+present(CINRJBAIL)+present(COD7SB)
+                                                       +present(POMPESP)+present(COD7RP)+present(POMPESQ)+present(COD7RQ)
+                                                       +present(ENERGIEST)+present(COD7RT))
+                +(present(TRATOIVG)+present(COD7VH)) * (present(CHAUBOISN)+present(COD7RN))
+                +(present(TRATOIVG)+present(COD7VH)) * (present(CHAUBOISN)+present(COD7RN))
+                +(present(TRATOIVG)+present(COD7VH)) * (present(POMPESR)+present(COD7RR)+present(CHAUFSOL)+present(COD7RS))
+                +(present(TRATOIVG)+present(COD7VH)) * (present(CIBOIBAIL)+present(COD7SA)+present(CINRJBAIL)+present(COD7SB)
+                                                       +present(POMPESP)+present(COD7RP)+present(POMPESQ)+present(COD7RQ)
+                                                       +present(ENERGIEST)+present(COD7RT))
+                +(present(CHAUBOISN)+present(COD7RN)) * (present(POMPESR)+present(COD7RR)+present(CHAUFSOL)+present(COD7RS))
+                +(present(CHAUBOISN)+present(COD7RN)) * (present(CIBOIBAIL)+present(COD7SA)+present(CINRJBAIL)+present(COD7SB)
+                                                       +present(POMPESP)+present(COD7RP)+present(POMPESQ)+present(COD7RQ)
+                                                       +present(ENERGIEST)+present(COD7RT))
+                +(present(POMPESR)+present(COD7RR)+present(CHAUFSOL)+present(COD7RS)) * (present(CIBOIBAIL)+present(COD7SA)+present(CINRJBAIL)+present(COD7SB)
+                                                       +present(POMPESP)+present(COD7RP)+present(POMPESQ)+present(COD7RQ)
+                                                       +present(ENERGIEST)+present(COD7RT))
+                ) + 0;
+
+
+PLA[DGFIP][2017]M = null(1-V_REGCO) * arr(  24043 
+                                + 2808.5 * min( (NBPT - 1) * 4 , 2 ) * positif( NBPT -1 )
+                                + 2210.5 * ( (NBPT - 1.5) * 4 ) * positif( NBPT - 1.5 )
+                              );
+
+PLA[DGFIP][2017]MGR = null(5-V_REGCO) * arr( 29058  
+                                + 3082 * min( (NBPT - 1) * 4 , 2 ) * positif( NBPT -1 )
+                                + 2938.5  * min( (NBPT - 1.5) * 4 , 2 ) * positif( NBPT - 1.5 )
+                                + 2210.5  *  ( (NBPT - 2) * 4 ) * positif( NBPT - 2 )
+                                );
+
+PLA[DGFIP][2017]GM = positif(null(6-V_REGCO)+null(7-V_REGCO)) * arr( 31843  
+                                                        + 3082 * min( (NBPT - 1) * 4 , 4 ) * positif( NBPT -1 )
+                                                        + 2624.5  * min( (NBPT - 2) * 4 , 2 ) * positif( NBPT - 2 )
+                                                        + 2210.5  *  ( (NBPT - 2.5) * 4 ) * positif( NBPT - 2.5 )
+                                                        );
+
+
+PLA[DGFIP][2017]M = null(1-V_REGCO) * arr(  25005 
+                               + 2921 * min( (NBPT - 1) * 4 , 2 ) * positif( NBPT -1 )
+                               + 2299 * ( (NBPT - 1.5) * 4 ) * positif( NBPT - 1.5 )
+                              );
+
+
+PLA[DGFIP][2017]MGR = null(5-V_REGCO) * arr( 30220  
+                                + 3205.5 * min( (NBPT - 1) * 4 , 2 ) * positif( NBPT -1 )
+                                + 3056  * min( (NBPT - 1.5) * 4 , 2 ) * positif( NBPT - 1.5 )
+                                + 2299  *  ( (NBPT - 2) * 4 ) * positif( NBPT - 2 )
+                                );
+
+
+PLA[DGFIP][2017]GM = positif(null(6-V_REGCO)+null(7-V_REGCO)) * arr( 33117  
+                                                        + 3205.5 * min( (NBPT - 1) * 4 , 4 ) * positif( NBPT -1 )
+                                                        + 2729.5  * min( (NBPT - 2) * 4 , 2 ) * positif( NBPT - 2 )
+                                                        + 2299  *  ( (NBPT - 2.5) * 4 ) * positif( NBPT - 2.5 )
+                                                        );
+
+
+PLA[DGFIP][2017] = PLA[DGFIP][2017]M + PLA[DGFIP][2017]MGR + PLA[DGFIP][2017]GM;
+PLA[DGFIP][2017] = PLA[DGFIP][2017]M + PLA[DGFIP][2017]MGR + PLA[DGFIP][2017]GM;
+
+RESS = positif(positif_ou_nul(PLA[DGFIP][2017] - ((V_BTRFRN2+0)*(1-present(RFRN2))+RFRN2)) 
+                + (1-positif_ou_nul(PLA[DGFIP][2017] - ((V_BTRFRN2+0)*(1-present(RFRN2))+RFRN2))) * 
+                                      positif_ou_nul(PLA[DGFIP][2017] - ((V_BTRFRN1+0)*(1-present(RFRN1))+RFRN1))+present(COD7WX));
+
+BDEV30 =  min(PDEVDUR,COD7SA  + COD7SB  + COD7SC  + COD7WB  + COD7RG  + COD7VH  + COD7RH  + COD7RI
+                    + COD7WU  + COD7RJ  + COD7RK  + COD7RL  + COD7RN  + COD7RP  + COD7RR  + COD7RS
+                    + COD7RQ  + COD7RT  + COD7TV  + COD7TW  + COD7RV  + COD7RW  + COD7RZ)
+              * positif(positif(BQRESS)*positif(BQTRAV)
+                       +positif(BQRESS)*null(BQTRAV)*null(RESS)
+                       +positif(BQRESS)*null(BQTRAV)*positif(RESS)
+                       +positif(BQRESS)*null(BQTRAV)*positif(RESS)*present(CRECHOBOI)
+                       +null(BQRESS))
+                  ;
+
+BDEV25 =  min(max(0,PDEVDUR-BDEV30),CIBOIBAIL  + CINRJBAIL  + TRAMURWC  + TRATOIVG  + TRAVITWT
+                                  + CHAUBOISN  + POMPESP  + POMPESR  + CHAUFSOL  + POMPESQ  + ENERGIEST)
+              * positif(positif(BQRESS)*positif(BQTRAV));
+
+BDEV15 =  min(max(0,PDEVDUR-BDEV30-BDEV25),CRENRJ  + CINRJ  + CIDE[DGFIP][2017]5  + MATISOSI  + MATISOSJ
+                                         + VOLISO  + PORENT  + DIAGPERF  + RESCHAL)
+              * positif(positif(BQRESS)*positif(BQTRAV))
+
+        + min(max(0,PDEVDUR-BDEV30),( CIBOIBAIL  + CINRJBAIL  + CRENRJ  + TRAMURWC  + CINRJ  + TRATOIVG  + CIDE[DGFIP][2017]5  + MATISOSI  + TRAVITWT
+                                    + MATISOSJ  + VOLISO  + PORENT  + CHAUBOISN  + POMPESP  + POMPESR  + CHAUFSOL  + POMPESQ  + ENERGIEST
+                                    + DIAGPERF  + RESCHAL) * (1-present(COD7WX)) + present(COD7WX) * COD7WX) 
+              *positif(positif(BQRESS)*null(BQTRAV)*positif(RESS)*(1-present(CRECHOBOI)))
+
+        + min(max(0,PDEVDUR-BDEV30),(CIBOIBAIL  + CINRJBAIL  + CRENRJ  + TRAMURWC  + CINRJ  + TRATOIVG  + CIDE[DGFIP][2017]5
+                                   + MATISOSI  + CHAUBOISN  + POMPESP  + POMPESR  + CHAUFSOL  + POMPESQ  + ENERGIEST  
+                                   + DIAGPERF  + RESCHAL)* (1-present(COD7WX)) + present(COD7WX) * COD7WX)
+              * positif(positif(BQRESS)*null(BQTRAV)*positif(RESS)*present(CRECHOBOI))
+          ;
+
+ADEVDUR = BDEV30 + BDEV25 + BDEV15; 
+
+CIDEVDUR = arr( BDEV30 * TX30/100
+               +BDEV25 * TX25/100
+               +BDEV15 * TX15/100
+      	      )  * (1 - positif(RE168 + TAX1649)) * (1 - V_CNR) ;
+
+DEVDURCUM = ADEVDUR + (V_BTDEVDUR*(1-present(DEPCHOBAS))+DEPCHOBAS);
+regle 30231015:
+application : iliad , batch  ;
+DTEC = RISKTEC;
+ATEC = positif(DTEC) * DTEC;
+CITEC = arr (ATEC * TX40/100);
+regle 30231016:
+application : iliad , batch  ;
+DPRETUD = PRETUD + PRETUDANT ;
+APRETUD = max(min(PRETUD,LIM_PRETUD) + min(PRETUDANT,LIM_PRETUD*CASEPRETUD),0) * (1-V_CNR) ;
+
+CIPRETUD = arr(APRETUD*TX_PRETUD/100) * (1 - positif(RE168 + TAX1649)) * (1-V_CNR) ;
+regle 30231017:
+application : iliad , batch  ;
+
+EM7 = somme (i=0..7: min (1 , max(0 , V_0Fi + AG_LIMFG - V_ANREV)))
+      + (1 - positif(somme(i=0..7:V_0Fi) + 0)) * V_0CF ;
+
+EM7QAR = somme (i=0..5: min (1 , max(0 , V_0Hi + AG_LIMFG - V_ANREV)))
+         + somme (j=0..3: min (1 , max(0 , V_0Pj + AG_LIMFG - V_ANREV)))
+         + (1 - positif(somme(i=0..5: V_0Hi) + somme(j=0..3: V_0Pj) + 0)) * (V_0CH + V_0DP) ;
+
+BRFG = min(RDGAR[DGFIP][2017],PLAF_REDGARD) + min(RDGAR[DGFIP][2017],PLAF_REDGARD)
+       + min(RDGARD3,PLAF_REDGARD) + min(RDGARD4,PLAF_REDGARD)
+       + min(RDGAR[DGFIP][2017]QAR,PLAF_REDGARDQAR) + min(RDGAR[DGFIP][2017]QAR,PLAF_REDGARDQAR)
+       + min(RDGARD3QAR,PLAF_REDGARDQAR) + min(RDGARD4QAR,PLAF_REDGARDQAR)
+       ;
+RFG = arr ( (BRFG) * TX_REDGARD /100 ) * (1 -V_CNR);
+DGARD = somme(i=1..4:RDGARDi)+somme(i=1..4:RDGARDiQAR);
+AGARD = (BRFG) * (1-V_CNR) ;
+CIGARD = RFG * (1 - positif(RE168 + TAX1649)) ;
+regle 30231018:
+application : iliad , batch  ;
+
+PREHAB = PREHABT + PREHABTN + PREHABTN1 + PREHABT1 + PREHABT2 + PREHABTN2 + PREHABTVT ;
+
+BCIHP = max(( PLAFHABPRIN * (1 + BOOL_0AM) * (1+positif(V_0AP+V_0AF+V_0CG+V_0CI+V_0CR))
+                 + (PLAFHABPRINENF/2) * (V_0CH + V_0DP)
+                 + PLAFHABPRINENF * (V_0CR + V_0CF + V_0DJ + V_0DN)
+                  )
+             ,0);
+
+BCIHABPRIN1 = min(BCIHP , PREHABT) * (1 - V_CNR) ;
+BCIHABPRIN2 = min(max(0,BCIHP-BCIHABPRIN1),PREHABT1) * (1 - V_CNR);
+BCIHABPRIN3 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2),PREHABTN) * (1 - V_CNR);
+BCIHABPRIN4 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2-BCIHABPRIN3),PREHABTN1) * (1 - V_CNR);
+BCIHABPRIN5 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2-BCIHABPRIN3-BCIHABPRIN4),PREHABT2) * (1 - V_CNR);
+BCIHABPRIN6 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2-BCIHABPRIN3-BCIHABPRIN4-BCIHABPRIN5),PREHABTN2) * (1 - V_CNR);
+BCIHABPRIN7 = min(max(0,BCIHP-BCIHABPRIN1-BCIHABPRIN2-BCIHABPRIN3-BCIHABPRIN4-BCIHABPRIN5-BCIHABPRIN6),PREHABTVT) * (1 - V_CNR);
+
+BCIHABPRIN = BCIHABPRIN1 + BCIHABPRIN2 + BCIHABPRIN3 + BCIHABPRIN4 + BCIHABPRIN5 + BCIHABPRIN6 + BCIHABPRIN7 ;
+
+CIHABPRIN = arr((BCIHABPRIN1 * TX40/100)
+                + (BCIHABPRIN2 * TX40/100)
+                + (BCIHABPRIN3 * TX30/100)
+                + (BCIHABPRIN4 * TX25/100)
+                + (BCIHABPRIN5 * TX20/100)
+                + (BCIHABPRIN6 * TX15/100)
+                + (BCIHABPRIN7 * TX10/100))
+                * (1 - positif(RE168 + TAX1649)) * (1 - V_CNR);
+regle 30231020:
+application : iliad , batch  ;
+
+BDCIFORET  = RDFORESTRA + SINISFORET + COD7UA + COD7UB + RDFORESTGES + COD7UI;
+BCIFORETUA = max(0,min(COD7UA,max(0,PLAF_FOREST1 * (1 + BOOL_0AM)))) * (1-V_CNR);
+BCIFORETUB = max(0,min(COD7UB,max(0,PLAF_FOREST1 * (1 + BOOL_0AM)-BCIFORETUA))) * (1-V_CNR);
+BCIFORETUP = max(0,min(RDFORESTRA,PLAF_FOREST1 * (1 + BOOL_0AM)-BCIFORETUA-BCIFORETUB)) * (1-V_CNR);
+BCIFORETUT = max(0,min(SINISFORET,max(0,PLAF_FOREST1 * (1 + BOOL_0AM)-BCIFORETUA-BCIFORETUB-BCIFORETUP))) * (1-V_CNR);
+BCIFORETUI = max(0,min(COD7UI,max(0,PLAF_FOREST2 * (1 + BOOL_0AM))))  * (1-V_CNR);
+BCIFORETUQ = max(0,min(RDFORESTGES, PLAF_FOREST2 * (1 + BOOL_0AM)-BCIFORETUI)) * (1-V_CNR);
+BCIFORET  = BCIFORETUP+BCIFORETUT+BCIFORETUA+BCIFORETUB+BCIFORETUQ+BCIFORETUI;
+CIFORET = arr(BCIFORETUP * TX18/100 + BCIFORETUT * TX18/100 + BCIFORETUA * TX25/100 + BCIFORETUB * TX25/100
+             + BCIFORETUQ * TX18/100 + BCIFORETUI * TX25/100); 
+regle 30231025:
+application : iliad , batch  ;
+
+REPCIFAD = max(0,COD7UA - PLAF_FOREST1 * (1+ BOOL_0AM)) * (1-V_CNR);
+REPCIFADSIN = (positif_ou_nul(COD7UA - PLAF_FOREST1 * (1+ BOOL_0AM)) * COD7UB
+            + (1-positif_ou_nul(COD7UA - PLAF_FOREST1 * (1+ BOOL_0AM))) * max(0,COD7UB - (PLAF_FOREST1 * (1+ BOOL_0AM) - COD7UA))) * (1-V_CNR);
+REPCIF = (positif_ou_nul(COD7UA + COD7UB - PLAF_FOREST1 * (1+ BOOL_0AM)) * RDFORESTRA
+            + (1-positif_ou_nul(COD7UA + COD7UB- PLAF_FOREST1 * (1+ BOOL_0AM))) * max(0,RDFORESTRA - (PLAF_FOREST1 * (1+ BOOL_0AM) - COD7UA-COD7UB))) * (1-V_CNR);
+
+REPCIFSIN = (positif_ou_nul(COD7UA + COD7UB + RDFORESTRA - PLAF_FOREST1 * (1+ BOOL_0AM)) * SINISFORET
+            + (1-positif_ou_nul(COD7UA + COD7UB+ RDFORESTRA- PLAF_FOREST1 * (1+ BOOL_0AM))) * max(0,SINISFORET - (PLAF_FOREST1 * (1+ BOOL_0AM) - COD7UA-COD7UB-RDFORESTRA))) * (1-V_CNR);
+ 
+regle 302311:
+application : iliad , batch ;
+CICSG = min( CSGC , arr( IPPNCS * T_CSG/100 ));
+CICSGAPS = min( CSGCAPS , arr( IPPNCS * T_CSG/100 ));
+CIRDS = min( RDSC , arr( (IPPNCS+REVCSXA+REVCSXB+REVCSXC+REVCSXD+REVCSXE+COD8XI+COD8XJ) * T_RDS/100 ));
+CIRDSAPS = min( RDSCAPS , arr( (IPPNCS+REVCSXA+REVCSXB+REVCSXC+REVCSXD+REVCSXE) * T_RDS/100 ));
+CIPRS = min( PRSC , arr( IPPNCS * T_PREL_SOC/100 ));
+CIPRSAPS = min( PRSCAPS , arr( IPPNCS * T_PREL_SOC/100 ));
+
+CIRSE1 = min( RSE1 , arr( REVCSXA * TX075/100 ));
+
+RSE8TV = arr(BRSE8TV * TXTV/100) * (1 - positif(ANNUL2042));
+RSE8SA = arr(BRSE8SA * TXTV/100) * (1 - positif(ANNUL2042));
+CIRSE8TV = min( RSE8TV , arr( REVCSXC * TX066/100 )) ;
+CIRSE8SA = min( RSE8SA , arr(COD8XI * TX066/100 )) ;
+CIRSE2 = CIRSE8TV + CIRSE8SA ; 
+
+CIRSE3 = min( RSE3 , arr( REVCSXD * TX062/100 ));
+
+RSE8TX = arr(BRSE8TX * TXTX/100) * (1 - positif(ANNUL2042));
+RSE8SB = arr(BRSE8SB * TXTX/100) * (1 - positif(ANNUL2042));
+CIRSE8TX = min( RSE8TX , arr( REVCSXE * TX038/100 )) ;
+CIRSE8SB = min( RSE8SB , arr( COD8XJ * TX038/100 ));
+CIRSE4 = CIRSE8TX + CIRSE8SB ;
+
+CIRSE5 = min( RSE5 , arr( REVCSXB * TX075/100 ));
+
+CIRSETOT = CIRSE1 + CIRSE2 + CIRSE3 + CIRSE4 + CIRSE5;
+
+
+
+regle 30400:
+application : iliad , batch  ;
+PPE_DATE_DEB = positif(V_0AV+0) * positif(V_0AZ+0) * (V_0AZ+0)
+              + positif(DATRETETR+0) * (DATRETETR+0) * null(V_0AZ+0) ;
+
+PPE_DATE_FIN = positif(BOOL_0AM) * positif(V_0AZ+0) * (V_0AZ+0)
+              + positif(DATDEPETR+0) * (DATDEPETR+0) * null(V_0AZ+0) ;
+regle 30500:
+application : iliad , batch  ;
+PPE_DEBJJMMMM =  PPE_DATE_DEB + (01010000+V_ANREV) * null(PPE_DATE_DEB+0);
+PPE_DEBJJMM = arr( (PPE_DEBJJMMMM - V_ANREV)/10000);
+PPE_DEBJJ =  inf(PPE_DEBJJMM/100);
+PPE_DEBMM =  PPE_DEBJJMM -  (PPE_DEBJJ*100);
+PPE_DEBRANG= PPE_DEBJJ 
+             + (PPE_DEBMM - 1 ) * 30;
+regle 30501:
+application : iliad , batch  ;
+PPE_FINJJMMMM =  PPE_DATE_FIN + (30120000+V_ANREV) * null(PPE_DATE_FIN+0);
+PPE_FINJJMM = arr( (PPE_FINJJMMMM - V_ANREV)/10000);
+PPE_FINJJ =  inf(PPE_FINJJMM/100);
+PPE_FINMM =  PPE_FINJJMM -  (PPE_FINJJ*100);
+PPE_FINRANG= PPE_FINJJ 
+             + (PPE_FINMM - 1 ) * 30
+             - 1 * positif (PPE_DATE_FIN);
+regle 30503:
+application : iliad , batch  ;
+PPE_DEBUT = PPE_DEBRANG ;
+PPE_FIN   = PPE_FINRANG ;
+PPENBJ = max(1, arr(min(PPENBJAN , PPE_FIN - PPE_DEBUT + 1))) ;
+regle 30508:
+application : iliad , batch  ;
+PPETX1 = PPE_TX1 ;
+PPETX2 = PPE_TX2 ;
+PPETX3 = PPE_TX3 ;
+regle 30510:
+application : iliad , batch  ;
+PPE_BOOL_ACT_COND = positif(
+
+
+   positif ( TSHALLOV ) 
+ + positif ( TSHALLOC ) 
+ + positif ( TSHALLO1 ) 
+ + positif ( TSHALLO2 ) 
+ + positif ( TSHALLO3 ) 
+ + positif ( TSHALLO4 ) 
+ + positif ( GL[DGFIP][2017]V ) 
+ + positif ( GL[DGFIP][2017]V ) 
+ + positif ( GLD3V ) 
+ + positif ( GL[DGFIP][2017]C ) 
+ + positif ( GL[DGFIP][2017]C ) 
+ + positif ( GLD3C ) 
+ + positif ( BPCOSAV ) 
+ + positif ( BPCOSAC ) 
+ + positif ( TSASSUV ) 
+ + positif ( TSASSUC ) 
+ + positif( CARTSV ) * positif( CARTSNBAV )
+ + positif( CARTSC ) * positif( CARTSNBAC )
+ + positif( CARTS[DGFIP][2017] ) * positif( CARTSNBA[DGFIP][2017] )
+ + positif( CARTS[DGFIP][2017] ) * positif( CARTSNBA[DGFIP][2017] )
+ + positif( CARTSP3 ) * positif( CARTSNBAP3 )
+ + positif( CARTSP4 ) * positif( CARTSNBAP4 )
+ + positif ( FEXV ) 
+ + positif ( BAFV ) 
+ + positif ( BAFPVV ) 
+ + positif ( BAEXV ) 
+ + positif ( BACREV ) + positif ( 4BACREV )
+ + positif  (BACDEV * (1 - positif(ART1731BIS)) ) 
+ + positif ( BAHEXV ) 
+ + positif ( BAHREV ) + positif ( 4BAHREV )
+ + positif ( BAHDEV * (1 - positif(ART1731BIS) )) 
+ + positif ( MIBEXV ) 
+ + positif ( MIBVENV ) 
+ + positif ( MIBPRESV ) 
+ + positif ( MIBPVV ) 
+ + positif ( BICEXV ) 
+ + positif ( BICNOV ) 
+ + positif ( BICDNV * (1 - positif(ART1731BIS) ) ) 
+ + positif ( BIHEXV ) 
+ + positif ( BIHNOV ) 
+ + positif ( BIHDNV * (1 - positif(ART1731BIS) )) 
+ + positif ( FEXC ) 
+ + positif ( BAFC ) 
+ + positif ( BAFPVC ) 
+ + positif ( BAEXC ) 
+ + positif ( BACREC ) + positif ( 4BACREC )
+ + positif (BACDEC * (1 - positif(ART1731BIS) ) ) 
+ + positif ( BAHEXC ) 
+ + positif ( BAHREC ) + positif ( 4BAHREC )
+ + positif ( BAHDEC * (1 - positif(ART1731BIS) ) )  
+ + positif ( MIBEXC ) 
+ + positif ( MIBVENC ) 
+ + positif ( MIBPRESC ) 
+ + positif ( MIBPVC ) 
+ + positif ( BICEXC ) 
+ + positif ( BICNOC ) 
+ + positif ( BICDNC * (1 - positif(ART1731BIS) ) ) 
+ + positif ( BIHEXC ) 
+ + positif ( BIHNOC ) 
+ + positif ( BIHDNC * (1 - positif(ART1731BIS) ))  
+ + positif ( FEXP ) 
+ + positif ( BAFP ) 
+ + positif ( BAFPVP ) 
+ + positif ( BAEXP ) 
+ + positif ( BACREP ) + positif ( 4BACREP )
+ + positif  (BACDEP * (1 - positif(ART1731BIS))) 
+ + positif ( BAHEXP ) 
+ + positif ( BAHREP ) + positif ( 4BAHREP )
+ + positif ( BAHDEP * (1 - positif(ART1731BIS) )) 
+ + positif ( MIBEXP ) 
+ + positif ( MIBVENP ) 
+ + positif ( MIBPRESP ) 
+ + positif ( BICEXP ) 
+ + positif ( MIBPVP ) 
+ + positif ( BICNOP ) 
+ + positif ( BICDNP * (1 - positif(ART1731BIS) )) 
+ + positif ( BIHEXP ) 
+ + positif ( BIHNOP ) 
+ + positif ( BIHDNP * (1 - positif(ART1731BIS) ) )
+ + positif ( BNCPROEXV ) 
+ + positif ( BNCPROV ) 
+ + positif ( BNCPROPVV ) 
+ + positif ( BNCEXV ) 
+ + positif ( BNCREV ) 
+ + positif ( BNCDEV * (1 - positif(ART1731BIS) )) 
+ + positif ( BNHEXV ) 
+ + positif ( BNHREV ) 
+ + positif ( BNHDEV * (1 - positif(ART1731BIS) ) ) 
+ + positif ( BNCCRV ) 
+ + positif ( BNCPROEXC ) 
+ + positif ( BNCPROC ) 
+ + positif ( BNCPROPVC ) 
+ + positif ( BNCEXC ) 
+ + positif ( BNCREC ) 
+ + positif ( BNCDEC * (1 - positif(ART1731BIS) )) 
+ + positif ( BNHEXC ) 
+ + positif ( BNHREC ) 
+ + positif ( BNHDEC * (1 - positif(ART1731BIS))) 
+ + positif ( BNCCRC ) 
+ + positif ( BNCPROEXP ) 
+ + positif ( BNCPROP ) 
+ + positif ( BNCPROPVP ) 
+ + positif ( BNCEXP ) 
+ + positif ( BNCREP ) 
+ + positif ( BNCDEP * (1 - positif(ART1731BIS) )) 
+ + positif ( BNHEXP ) 
+ + positif ( BNHREP ) 
+ + positif ( BNHDEP * (1 - posi
diff --git a/sources2014m_2_15/chap-4.m b/sources2014m_2_15/chap-4.m
new file mode 100644
index 0000000000000000000000000000000000000000..3f9e95119e69a559ec89a1509fb28540c674593e
--- /dev/null
+++ b/sources2014m_2_15/chap-4.m
@@ -0,0 +1,760 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ 
+  ####   #    #    ##    #####      #     #####  #####   ######      #    
+ #    #  #    #   #  #   #    #     #       #    #    #  #           #    #
+ #       ######  #    #  #    #     #       #    #    #  #####       #    #
+ #       #    #  ######  #####      #       #    #####   #           ######
+ #    #  #    #  #    #  #          #       #    #   #   #                #
+  ####   #    #  #    #  #          #       #    #    #  ######           #
+regle 401:
+application : bareme, iliad , batch  ;
+IRB = IAM[DGFIP][2017]; 
+IRB2 = IAM[DGFIP][2017] + TAXASSUR + IPCAPTAXTOT + TAXLOY + CHRAPRES;
+regle 40101:
+application : iliad , batch  ;
+KIR =   IAMD3 ;
+regle 4011:
+application : bareme , iliad , batch  ;
+IAM[DGFIP][2017] = IBM13 ;
+IAM[DGFIP][2017] = IBM23 ;
+IAM[DGFIP][2017]TH = positif_ou_nul(IBM23 - SEUIL_61)*IBM23;
+regle 40110:
+application : bareme , iliad , batch  ;
+IAMD3 = IBM33 - min(ACP3, IMPIM3);
+regle 402112:
+application : iliad , batch  ;
+ANG3 = IAD32 - IAD31;
+regle 40220:
+application : iliad , batch  ;
+ACP3 = max (0 ,
+ somme (a=1..4: min(arr(CHENFa * TX_DPAEAV/100) , SEUIL_AVMAXETU)) - ANG3)
+        * (1 - positif(V_CR2 + IPVLOC)) * positif(ANG3) * positif(IMPIM3);
+regle 403:
+application : bareme ,iliad , batch  ;
+
+IBM13 = IA[DGFIP][2017]1 + ITP + REI + AUTOVERSSUP + TAXASSUR + IPCAPTAXTOT  + TAXLOY + CHRAPRES + AVFISCOPTER ;
+
+IBM23 = IA[DGFIP][2017]1 + ITP + REI + AUTOVERSSUP + AVFISCOPTER ;
+
+regle 404:
+application : bareme , iliad , batch  ;
+IBM33 = IAD31 + ITP + REI;
+regle 4041:
+application : iliad , batch  ;
+DOMITPD = arr(BN1 + SPEPV + B[DGFIP][2017]2F + BA1) * (TX11/100) * positif(V_EAD);
+DOMITPG = arr(BN1 + SPEPV + B[DGFIP][2017]2F + BA1) * (TX09/100) * positif(V_EAG);
+DOMAVTD = arr((BN1 + SPEPV + B[DGFIP][2017]2F + BA1) * TX05/100) * positif(V_EAD);
+DOMAVTG = arr((BN1 + SPEPV + B[DGFIP][2017]2F + BA1) * TX07/100) * positif(V_EAG);
+DOMAVTO = DOMAVTD + DOMAVTG;
+DOMABDB = max(PLAF_RABDOM - ABADO , 0) * positif(V_EAD)
+          + max(PLAF_RABGUY - ABAGU , 0) * positif(V_EAG);
+DOMDOM = max(DOMAVTO - DOMABDB , 0) * positif(V_EAD + V_EAG);
+ITP = arr((BPT[DGFIP][2017] * TX225/100) 
+       + (BPTPVT * TX19/100) 
+       + (BPTP4 * TX30/100) 
+       +  DOMITPD + DOMITPG
+       + (BPTP3 * TX16/100) 
+       + (BPTP40 * TX41/100)
+       + DOMDOM * positif(V_EAD + V_EAG)
+       + (BPT[DGFIP][2017]8 * TX18/100)
+       + (BPTPSJ * TX19/100)
+       + (BPT[DGFIP][2017]4 * TX24/100)
+	  )
+       * (1-positif(IPVLOC)) * (1 - positif(present(TAX1649)+present(RE168))); 
+regle 40412:
+application : iliad , batch  ;
+REVTP = BPT[DGFIP][2017] +BPTPVT+BPTP4+BTP3A+BPTP40+ BPT[DGFIP][2017]4+BPT[DGFIP][2017]8 +BPTPSJ;
+regle 40413:
+application : iliad , batch  ;
+BTP3A = (BN1 + SPEPV + B[DGFIP][2017]2F + BA1) * (1 - positif( IPVLOC ));
+BPTPD = BTP3A * positif(V_EAD)*(1-positif(present(TAX1649)+present(RE168)));
+BPTPG = BTP3A * positif(V_EAG)*(1-positif(present(TAX1649)+present(RE168)));
+BPTP3 = BTP3A * (1 - positif(V_EAD + V_EAG))*(1-positif(present(TAX1649)+present(RE168)));
+BTP3G = (BPVRCM) * (1 - positif( IPVLOC ));
+BT[DGFIP][2017] = PEA * (1 - positif( IPVLOC ));
+BPT[DGFIP][2017] = BT[DGFIP][2017]*(1-positif(present(TAX1649)+present(RE168)));
+BTPVT = GAINPEA * (1 - positif( IPVLOC ));
+BPTPVT = BTPVT*(1-positif(present(TAX1649)+present(RE168)));
+
+BT[DGFIP][2017]8 = (BPV18V + BPV18C) * (1 - positif( IPVLOC ));
+BPT[DGFIP][2017]8 = BT[DGFIP][2017]8 * (1-positif(present(TAX1649)+present(RE168))) ;
+
+BPTP4 = (BPCOPTV + BPCOPTC + BPVSK) * (1 - positif(IPVLOC)) * (1 - positif(present(TAX1649) + present(RE168))) ;
+BPTP4I = (BPCOPTV + BPCOPTC) * (1 - positif(IPVLOC)) * (1 - positif(present(TAX1649) + present(RE168))) ;
+BTPSK = BPVSK * (1 - positif( IPVLOC ));
+BPTPSK = BTPSK * (1-positif(present(TAX1649)+present(RE168))) ;
+
+BTP40 = (BPV40V + BPV40C) * (1 - positif( IPVLOC )) ;
+BPTP40 = BTP40 * (1-positif(present(TAX1649)+present(RE168))) ;
+
+BT[DGFIP][2017] = PVIMPOS * (1 - positif( IPVLOC ));
+BPT[DGFIP][2017] = BT[DGFIP][2017] * (1-positif(present(TAX1649)+present(RE168))) ;
+BTPSJ = BPVSJ * (1 - positif( IPVLOC ));
+BPTPSJ = BTPSJ * (1-positif(present(TAX1649)+present(RE168))) ;
+BTPSB = PVTAXSB * (1 - positif( IPVLOC ));
+BPTPSB = BTPSB * (1-positif(present(TAX1649)+present(RE168))) ;
+BPT[DGFIP][2017]9 = (BPVSJ + GAINPEA) * (1 - positif( IPVLOC )) * (1 - positif(present(TAX1649) + present(RE168))) ;
+BPT[DGFIP][2017]4 = RCM2FA *(1-positif(present(TAX1649)+present(RE168))) * (1 - positif(null(2-V_REGCO) + null(4-V_REGCO)));
+ITPRCM = arr(BPT[DGFIP][2017]4 * TX24/100);
+
+BPTPDIV = BT[DGFIP][2017] * (1-positif(present(TAX1649)+present(RE168))) ;
+
+regle 4042:
+application : iliad , batch  ;
+
+
+REI = IPREP+IPPRICORSE;
+
+regle 40421:
+application : iliad , batch  ;
+
+
+PPERSATOT = RSAFOYER + RSAPAC1 + RSAPAC2 ;
+
+PPERSA = min(PPETOTX , PPERSATOT) * (1 - V_CNR) ;
+
+PPEFINAL = PPETOTX - PPERSA ;
+
+regle 405:
+application : bareme , iliad , batch  ;
+
+
+IA[DGFIP][2017]1 = ( max(0,IDOM11-DEC11-RED) *(1-positif(V_CR2+IPVLOC))
+        + positif(V_CR2+IPVLOC) *max(0 , IDOM11 - RED) )
+                                * (1-positif(RE168+TAX1649))
+        + positif(RE168+TAX1649) * IDOM16;
+regle 40510:
+application : bareme , iliad , batch  ;
+IREXITI = (present(FLAG_EXIT) * ((1-positif(FLAG_3WBNEG)) * abs(NAPTIR - V_NAPTIR3WB) 
+           + positif(FLAG_3WBNEG) * abs(NAPTIR + V_NAPTIR3WB)) * positif(present(PVIMPOS)+present(CODRWB)))
+          * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+IREXITS = (
+           ((1-positif(FLAG_3WANEG)) * abs(V_NAPTIR3WA+V_NAPTIR3WB*positif(FLAG_3WBNEG)-V_NAPTIR3WB*(1-positif(FLAG_3WBNEG))) 
+           + positif(FLAG_3WANEG) * abs(-V_NAPTIR3WA + V_NAPTIR3WB*positif(FLAG_3WBNEG)-V_NAPTIR3WB*(1-positif(FLAG_3WBNEG)))) * positif(present(PVIMPOS)+present(CODRWB))
+           + ((1-positif(FLAG_3WANEG)) * abs(V_NAPTIR3WA-NAPTIR)
+           + positif(FLAG_3WANEG) * abs(-V_NAPTIR3WA -NAPTIR)) * (1-positif(present(PVIMPOS)+present(CODRWB)))
+          ) 
+          * present(FLAG_EXIT) * positif(present(PVSURSI)+present(CODRWA))
+          * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+IREXIT = IREXITI + IREXITS ;
+
+EXITTAX3 = ((positif(FLAG_3WBNEG) * (-1) * ( V_NAPTIR3WB) + (1-positif(FLAG_3WBNEG)) * (V_NAPTIR3WB)) * positif(present(PVIMPOS)+present(CODRWB))
+            + NAPTIR * positif(present(PVSURSI)+present(CODRWA)) * (1-positif(present(PVIMPOS)+present(CODRWB))))
+           * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+PVCREA = PVSURSI + CODRWA ;
+
+PVCREB = PVIMPOS + CODRWB ;
+
+regle 406:
+application : bareme , iliad , batch  ;
+IAD31 = ((IDOM31-DEC31)*(1-positif(V_CR2+IPVLOC)))
+        +(positif(V_CR2+IPVLOC)*IDOM31);
+IAD32 = ((IDOM32-DEC32)*(1-positif(V_CR2+IPVLOC)))
+        +(positif(V_CR2+IPVLOC)*IDOM32);
+
+regle 4052:
+application : bareme , iliad , batch  ;
+
+IMPIM3 =  IAD31 ;
+
+regle 4061:
+application : bareme , iliad , batch  ;
+pour z = 1,2:
+DEC1z = ( min (max( arr((SEUIL_DECOTE1 * (1 - BOOL_0AM)) + (SEUIL_DECOTE2 * BOOL_0AM) - IDOM1z),0),IDOM1z) * (1 - V_ANC_BAR)
+        + min (max( arr(SEUIL_DECOTEA/2 - (IDOM1z/2)),0),IDOM1z) * V_ANC_BAR)
+        * (1 - V_CNR) ;
+
+pour z = 1,2:
+DEC3z = ( min (max( arr((SEUIL_DECOTE1 * (1 - BOOL_0AM)) + (SEUIL_DECOTE2 * BOOL_0AM) - IDOM3z),0),IDOM3z) * (1 - V_ANC_BAR)
+        + min (max( arr(SEUIL_DECOTEA/2 - (IDOM3z/2)),0),IDOM3z) * V_ANC_BAR)
+        * (1 - V_CNR) ;
+
+DEC6 = ( min (max( arr((SEUIL_DECOTE1 * (1 - BOOL_0AM)) + (SEUIL_DECOTE2 * BOOL_0AM) - IDOM16),0),IDOM16) * (1 - V_ANC_BAR)
+       + min (max( arr(SEUIL_DECOTEA/2 - (IDOM16/2)),0),IDOM16) * V_ANC_BAR)
+       * (1 - V_CNR) ;
+
+regle 407:
+application : iliad   , batch ;
+      
+RED =  RCOTFOR + RSURV + RCOMP + RHEBE + RREPA + RDIFAGRI + RDONS
+       + RDUFLOTOT + RPINELTOT
+       + RCELTOT
+       + RRESTIMO * (1-V_INDTEO)  + V_RRESTIMOXY * V_INDTEO
+       + RFIPC + RFIPDOM + RAIDE + RNOUV + RPLAFREPME4
+       + RTOURREP 
+       + RTOUREPA + RTOUHOTR  
+       + RLOGDOM + RLOGSOC + RDOMSOC1 + RLOCENT + RCOLENT
+       + RRETU + RINNO + RRPRESCOMP + RFOR 
+       + RSOUFIP + RRIRENOV + RSOCREPR + RRESIMEUB + RRESINEUV + RRESIVIEU 
+       + RCODOU
+       + RLOCIDEFG + RCODJT + RCODJU
+       + RREDMEUB + RREDREP + RILMIX + RILMIY + RINVRED + RILMIH + RILMJC
+       + RILMIZ + RILMJI + RILMJS + RMEUBLE + RPROREP + RREPNPRO + RREPMEU 
+       + RILMIC + RILMIB + RILMIA + RILMJY + RILMJX + RILMJW + RILMJV
+       + RILMOA + RILMOB + RILMOC + RILMOD + RILMOE
+       + RILMPA + RILMPB + RILMPC + RILMPD + RILMPE
+       + RIDOMPROE3   
+       + RPATNAT1 + RPATNAT2 + RPATNAT3 + RPATNAT
+       + RFORET + RCREAT + RCINE ;
+
+REDTL = ASURV + ACOMP ;
+
+CIMPTL = ATEC + ADEVDUR + TOTBGE ;
+
+regle 4070:
+application : bareme ;
+RED = V_9UY;
+regle 4025:
+application : iliad , batch  ;
+
+PLAFDOMPRO1 = max(0 , RR[DGFIP][2017]_1-RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOTOT-RPINELTOT-RNOUV
+                          -RPLAFREPME4-RFOR-RTOURREP-RTOUHOTR-RTOUREPA-RCELTOT-RLOCNPRO
+                          -RPATNATOT-RDOMSOC1-RLOGSOC ) ;
+                          
+
+RIDOMPROE3 = (RIDOMPROE3_1 * (1-ART1731BIS)
+              + min(RIDOMPROE3_1 , max(RIDOMPROE3_P+RIDOMPROE3[DGFIP][2017], RIDOMPROE31731+0) * (1-PREM8_11)) * ART1731BIS) * (1-V_CNR);
+                  
+
+
+RIDOMPROTOT_1 = RIDOMPROE3_1 ;
+RIDOMPROTOT = RIDOMPROE3 ;
+
+
+RINVEST = RIDOMPROE3 ;
+
+
+DIDOMPRO = ( RIDOMPRO * (1-ART1731BIS) 
+             + min( RIDOMPRO, max(DIDOMPRO_P+DIDOMPRO[DGFIP][2017] , DIDOMPRO1731+0 )*(1-PREM8_11)) * ART1731BIS ) * (1 - V_CNR) ;
+
+regle 40749:
+application : iliad , batch  ;
+
+DFORET = FORET ;
+
+AFORET_1 = max(min(DFORET,LIM_FORET),0) * (1-V_CNR) ;
+
+AFORET = max( 0 , AFORET_1  * (1-ART1731BIS) 
+                  + min( AFORET_1 , max(AFORET_P + AFORET[DGFIP][2017] , AFORET1731+0) * (1-PREM8_11)) * ART1731BIS
+            ) * (1-V_CNR) ;
+
+RAFORET = arr(AFORET_1*TX_FORET/100) ;
+
+RFORET_1 =  max( min( RAFORET , IDOM11-DEC11-RCOTFOR_1-RREPA_1-RAIDE_1-RDIFAGRI_1) , 0 ) ;
+
+RFORET =  max( 0 , RFORET_1 * (1-ART1731BIS) 
+                   + min( RFORET_1 , max( RFORET_P+RFORET[DGFIP][2017] , RFORET1731+0 ) * (1-PREM8_11)) * ART1731BIS ) ;
+
+regle 4075:
+application : iliad , batch ;
+
+DFIPC = FIPCORSE ;
+
+AFIPC_1 = max( min(DFIPC , LIM_FIPCORSE * (1 + BOOL_0AM)) , 0) * (1 - V_CNR) ;
+
+AFIPC = max( 0, AFIPC_1 * (1-ART1731BIS)
+                + min( AFIPC_1 , max( AFIPC_P + AFIPC[DGFIP][2017] , AFIPC1731+0 ) * (1-PREM8_11)) * ART1731BIS
+           ) * (1 - V_CNR) ;
+
+RFIPCORSE = arr(AFIPC_1 * TX_FIPCORSE/100) * (1 - V_CNR) ;
+
+RFIPC_1 = max( min( RFIPCORSE , IDOM11-DEC11-RCOTFOR_1-RREPA_1-RAIDE_1-RDIFAGRI_1-RFORET_1-RFIPDOM_1) , 0) ;
+
+RFIPC = max( 0, RFIPC_1 * (1 - ART1731BIS) 
+                + min( RFIPC_1 , max(RFIPC_P+RFIPC[DGFIP][2017] , RFIPC1731+0 ) * (1-PREM8_11)) * ART1731BIS ) ;
+
+regle 40751:
+application : iliad , batch ;
+
+DFIPDOM = FIPDOMCOM ;
+
+AFIPDOM_1 = max( min(DFIPDOM , LIMFIPDOM * (1 + BOOL_0AM)) , 0) * (1 - V_CNR) ;
+
+AFIPDOM = max( 0 , AFIPDOM_1 * (1 - ART1731BIS)
+               + min( AFIPDOM_1 , max(AFIPDOM_P+ AFIPDOM[DGFIP][2017] , AFIPDOM1731+0) * (1-PREM8_11)) * ART1731BIS
+	     ) * (1 - V_CNR) ;
+
+RFIPDOMCOM = arr(AFIPDOM_1 * TXFIPDOM/100);
+
+RFIPDOM_1 = max( min( RFIPDOMCOM , IDOM11-DEC11-RCOTFOR_1-RREPA_1-RAIDE_1-RDIFAGRI_1-RFORET_1),0);
+
+RFIPDOM = max( 0 , RFIPDOM_1 * (1 - ART1731BIS) 
+                   + min( RFIPDOM_1, max(RFIPDOM_P+RFIPDOM[DGFIP][2017] ,  RFIPDOM1731+0 ) * (1-PREM8_11)) * ART1731BIS ) ;
+
+regle 4076:
+application : iliad , batch  ;
+BSURV = min( RDRESU , PLAF_RSURV + PLAF_COMPSURV * (EAC + V_0DN) + PLAF_COMPSURVQAR * (V_0CH + V_0DP) );
+
+RRS = arr( BSURV * TX_REDSURV / 100 ) * (1 - V_CNR);
+
+DSURV = RDRESU;
+
+ASURV = (BSURV * (1-ART1731BIS)
+         + min( BSURV , max( ASURV_P + ASURV[DGFIP][2017] , ASURV1731+0 ) * (1-PREM8_11)) * ART1731BIS
+        )  * (1-V_CNR);
+
+RSURV_1 = max( min( RRS , IDOM11-DEC11-RCOTFOR_1-RREPA_1-RAIDE_1-RDIFAGRI_1-RFORET_1-RFIPDOM_1-RFIPC_1
+			              -RCINE_1-RRESTIMO_1-RSOCREPR_1-RRPRESCOMP_1-RHEBE_1 ) , 0 ) ;
+
+RSURV = max( 0 , RSURV_1 * (1-ART1731BIS) 
+                 + min( RSURV_1, max(RSURV_P+RSURV[DGFIP][2017] , RSURV1731+0 ) * (1-PREM8_11)) * ART1731BIS ) ;
+
+regle 4100:
+application : iliad , batch ;
+
+RRCN = arr(  min( CINE1 , min( max(SOFIRNG,RNG) * TX_CINE3/100 , PLAF_CINE )) * TX_CINE1/100
+        + min( CINE2 , max( min( max(SOFIRNG,RNG) * TX_CINE3/100 , PLAF_CINE ) - CINE1 , 0)) * TX_CINE2/100 
+       ) * (1 - V_CNR) ;
+
+DCINE = CINE1 + CINE2 ;
+
+ACINE_1 = max(0,min( CINE1 + CINE2 , min( arr(SOFIRNG * TX_CINE3/100) , PLAF_CINE ))) * (1 - V_CNR) ;
+
+ACINE = max( 0, ACINE_1 * (1-ART1731BIS) 
+                + min( ACINE_1 , max(ACINE_P+ACINE[DGFIP][2017] , ACINE1731+0 ) * (1-PREM8_11)) * ART1731BIS
+           ) * (1-V_CNR) ; 
+
+RCINE_1 = max( min( RRCN , IDOM11-DEC11-RCOTFOR_1-RREPA_1-RAIDE_1-RDIFAGRI_1-RFORET_1-RFIPDOM_1-RFIPC_1) , 0 ) ;
+
+RCINE = max( 0, RCINE_1 * (1-ART1731BIS) 
+                + min( RCINE_1 , max(RCINE_P+RCINE[DGFIP][2017] , RCINE1731+0 ) * (1-PREM8_11)) * ART1731BIS ) ;
+
+regle 4176:
+application : iliad , batch  ;
+BSOUFIP = min( FFIP , LIM_SOUFIP * (1 + BOOL_0AM));
+
+RFIP = arr( BSOUFIP * TX_REDFIP / 100 ) * (1 - V_CNR);
+
+DSOUFIP = FFIP;
+
+ASOUFIP = (BSOUFIP * (1-ART1731BIS) 
+           + min( BSOUFIP , max(ASOUFIP_P + ASOUFIP[DGFIP][2017] , ASOUFI[DGFIP][2017]731+0) * (1-PREM8_11)) * ART1731BIS
+          ) * (1-V_CNR) ;
+
+RSOUFIP_1 = max( min( RFIP , IDOM11-DEC11-RCOTFOR_1-RREPA_1-RAIDE_1-RDIFAGRI_1-RFORET_1-RFIPDOM_1-RFIPC_1
+			   -RCINE_1-RRESTIMO_1-RSOCREPR_1-RRPRESCOMP_1-RHEBE_1-RSURV_1-RINNO_1) , 0 ) ;
+
+RSOUFIP = max( 0 , RSOUFIP_1 * (1-ART1731BIS) 
+                   + min( RSOUFIP_1 , max(RSOUFIP_P+RSOUFIP[DGFIP][2017] , RSOUFI[DGFIP][2017]731+0) * (1-PREM8_11)) * ART1731BIS ) ;
+
+regle 4200:
+application : iliad , batch  ;
+
+BRENOV = min(RIRENOV,PLAF_RENOV) ;
+
+RENOV = arr( BRENOV * TX_RENOV / 100 ) * (1 - V_CNR) ;
+
+DRIRENOV = RIRENOV ;
+
+ARIRENOV = (BRENOV * (1-ART1731BIS) 
+            + min( BRENOV, max(ARIRENOV_P + ARIRENOV[DGFIP][2017] , ARIRENOV1731+0) * (1-PREM8_11)) * ART1731BIS 
+           ) * (1 - V_CNR) ;
+
+RRIRENOV_1 = max(min(RENOV , IDOM11-DEC11-RCOTFOR_1-RREPA_1-RAIDE_1-RDIFAGRI_1-RFORET_1-RFIPDOM_1-RFIPC_1-RCINE_1
+			     -RRESTIMO_1-RSOCREPR_1-RRPRESCOMP_1-RHEBE_1-RSURV_1-RINNO_1-RSOUFIP_1) , 0 ) ;
+
+RRIRENOV = max( 0 , RRIRENOV_1 * (1-ART1731BIS) 
+                    + min(RRIRENOV_1 , max(RRIRENOV_P+RRIRENOV[DGFIP][2017] , RRIRENOV1731+0) * (1-PREM8_11)) * ART1731BIS ) ;
+
+regle 40771:
+application : iliad , batch  ;
+
+RFC = min(RDCOM,PLAF_FRCOMPTA * max(1,NBACT)) * present(RDCOM)*(1-V_CNR);
+
+NCOMP = ( max(1,NBACT)* present(RDCOM) * (1-ART1731BIS) + min( max(1,NBACT)* present(RDCOM) , NCOM[DGFIP][2017]731+0) * ART1731BIS ) * (1-V_CNR);
+
+DCOMP = RDCOM;
+
+ACOMP =  RFC * (1-ART1731BIS) 
+         + min( RFC , max(ACOMP_P + ACOMP[DGFIP][2017] , ACOM[DGFIP][2017]731+0 ) * (1-PREM8_11)) * ART1731BIS ;
+
+regle 10040771:
+application :  iliad , batch  ;
+RCOMP_1 = max(min( RFC , RR[DGFIP][2017]-RLOGDOM-RCREAT) , 0) ;
+
+RCOMP = max( 0 , RCOMP_1 * (1-ART1731BIS) 
+                 + min( RCOMP_1 ,max(RCOMP_P+RCOMP[DGFIP][2017] , RCOM[DGFIP][2017]731+0 ) * (1-PREM8_11)) * ART1731BIS ) ;
+
+regle 4077:
+application : iliad , batch  ;
+
+
+
+
+DUFREPFI = DUFLOFI ;
+
+DDUFLOGIH = DUFLOGI + DUFLOGH ;
+
+DDUFLOEKL = DUFLOEK + DUFLOEL ;
+
+DPIQABCD = PINELQA + PINELQB + PINELQC + PINELQD ;
+
+
+
+ADUFREPFI = DUFLOFI * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+ADUFLOEKL_1 = ( arr( min( DUFLOEL + 0, LIMDUFLO) / 9 ) 
+              + arr( min( DUFLOEK + 0, LIMDUFLO - min( DUFLOEL + PINELQD + PINELQC + 0, LIMDUFLO)) / 9 )
+              ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ;
+
+ADUFLOEKL = ADUFLOEKL_1 * (1-ART1731BIS) ;
+
+
+APIQABCD_1 = ( arr( min(PINELQD + 0, LIMDUFLO - min( DUFLOEL + 0, LIMDUFLO)) /9 ) 
+                + arr( min(PINELQB + 0, LIMDUFLO - min( DUFLOEL + PINELQD + PINELQC + DUFLOEK + 0, LIMDUFLO)) / 9 ) 
+                + arr(min( PINELQC + 0, LIMDUFLO - min( DUFLOEL + PINELQD + 0, LIMDUFLO)) /6 )
+                + arr(min( PINELQA + 0, LIMDUFLO - min( DUFLOEL + PINELQD + PINELQC + DUFLOEK + PINELQB + 0, LIMDUFLO)) / 6)
+              ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ;
+
+APIQABCD = APIQABCD_1 * (1-ART1731BIS) ;
+
+ADUFLOGIH_1 = ( arr( min( DUFLOGI + 0, LIMDUFLO) / 9 ) +
+              arr( min( DUFLOGH + 0, LIMDUFLO - min( DUFLOGI + 0, LIMDUFLO)) / 9 )
+              ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ;
+
+ADUFLOGIH =  ADUFLOGIH_1 * (1-ART1731BIS) 
+             + min( ADUFLOGIH_1, max(ADUFLOGIH_P + ADUFLOGIH[DGFIP][2017] , ADUFLOGIH1731 +0 ) * (1-PREM8_11)) * ART1731BIS ;
+
+
+
+RDUFLO_EKL = ( arr(arr( min( DUFLOEL + 0, LIMDUFLO) / 9 ) * (TX29/100))
+              + arr(arr( min( DUFLOEK + 0, LIMDUFLO - min( DUFLOEL + PINELQD + PINELQC + 0, LIMDUFLO)) / 9 ) * (TX18/100))
+              ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ;
+
+RPI_QABCD = ( arr(arr( min(PINELQD + 0, LIMDUFLO - min( DUFLOEL + 0, LIMDUFLO)) /9 ) * (TX29/100)) 
+                + arr(arr( min(PINELQB + 0, LIMDUFLO - min( DUFLOEL + PINELQD + PINELQC + DUFLOEK + 0, LIMDUFLO)) / 9 ) * (TX18/100)) 
+                + arr(arr(min( PINELQC + 0, LIMDUFLO - min( DUFLOEL + PINELQD + 0, LIMDUFLO)) /6 ) * (TX23/100))
+                + arr(arr(min( PINELQA + 0, LIMDUFLO - min( DUFLOEL + PINELQD + PINELQC + DUFLOEK + PINELQB + 0, LIMDUFLO)) / 6) * (TX12/100))
+               ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ;
+
+
+
+RDUFLO_GIH = ( arr( arr( min( DUFLOGI + 0, LIMDUFLO) / 9 ) * (TX29/100)) +
+              arr( arr( min( DUFLOGH + 0, LIMDUFLO - min( DUFLOGI + 0, LIMDUFLO)) / 9 ) * (TX18/100))
+             ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ;
+
+
+regle 40772:
+application : iliad , batch  ;
+
+
+RDUFREPFI = max( 0, min( ADUFREPFI , RR[DGFIP][2017]-RLOGDOM-RCREAT-RCOMP-RRETU-RDONS)) ;
+
+RDUFLOGIH_1 = max( 0, min( RDUFLO_GIH , RR[DGFIP][2017]-RLOGDOM-RCREAT-RCOMP-RRETU-RDONS
+                                            -RDUFREPFI)) ;
+
+RDUFLOGIH = max( 0, RDUFLOGIH_1 * (1 - ART1731BIS) 
+                    + min ( RDUFLOGIH_1 , max(RDUFLOGIH_P+RDUFLOGIH[DGFIP][2017] , RDUFLOGIH1731+0 ) * (1-PREM8_11)) * ART1731BIS ) ;
+
+RDUFLOEKL_1 = max( 0, min( RDUFLO_EKL , RR[DGFIP][2017]-RLOGDOM-RCREAT-RCOMP-RRETU-RDONS
+                                            -RDUFREPFI-RDUFLOGIH)) ;
+
+RDUFLOEKL = max( 0, RDUFLOEKL_1 * (1 - ART1731BIS))  ;
+
+RPIQABCD_1 = max( 0, min( RPI_QABCD , RR[DGFIP][2017]-RLOGDOM-RCREAT-RCOMP-RRETU-RDONS
+                                            -RDUFREPFI-RDUFLOGIH-RDUFLOEKL)) ;
+
+RPIQABCD = max( 0, RPIQABCD_1 * (1 - ART1731BIS)) ;
+
+RDUFLOTOT = RDUFREPFI + RDUFLOGIH + RDUFLOEKL ;
+RPINELTOT = RPIQABCD ;
+
+regle 40773:
+application : iliad , batch  ;
+
+RIVDUEKL = ( arr( arr( min( DUFLOEL + 0, LIMDUFLO) / 9 ) * (TX29/100)) 
+              + arr(arr( min( DUFLOEK + 0, LIMDUFLO - min( DUFLOEL + PINELQD + PINELQC + 0, LIMDUFLO)) / 9 ) * (TX18/100))
+              ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ;
+
+RIVDUEKL8 = max (0 , ( arr( min( DUFLOEL + 0, LIMDUFLO) * (TX29/100)) 
+                         + arr( min( DUFLOEK + 0, LIMDUFLO - min( DUFLOEL + PINELQD + PINELQC + 0, LIMDUFLO)) * (TX18/100))
+                        ) 
+                          - 8 * RIVDUEKL  
+                   ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ; 
+
+
+RIVPIQBD =  ( arr(arr( min(PINELQD + 0, LIMDUFLO - min( DUFLOEL + 0, LIMDUFLO)) /9 ) * (TX29/100))
+            + arr(arr( min(PINELQB + 0, LIMDUFLO - min( DUFLOEL + PINELQD + PINELQC + DUFLOEK + 0, LIMDUFLO)) / 9 ) * (TX18/100))
+            ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ; 
+
+RIVPIQBD8 = max (0 , ( arr( min(PINELQD + 0, LIMDUFLO - min( DUFLOEL + 0, LIMDUFLO)) * (TX29/100)) + 
+                        arr( min(PINELQB + 0, LIMDUFLO - min( DUFLOEL + PINELQD + PINELQC + DUFLOEK + 0, LIMDUFLO)) * (TX18/100))
+                    ) 
+                          - 8 * RIVPIQBD  
+                ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ; 
+
+RIVPIQAC = ( arr(arr(min( PINELQC + 0, LIMDUFLO - min( DUFLOEL + PINELQD + 0, LIMDUFLO)) /6 ) * (TX23/100))
+           + arr(arr(min( PINELQA + 0, LIMDUFLO - min( DUFLOEL + PINELQD + PINELQC + DUFLOEK + PINELQB + 0, LIMDUFLO)) / 6) * (TX12/100))
+           ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ;
+
+RIVPIQAC5 = max (0 , ( arr( min(PINELQC + 0, LIMDUFLO - min( DUFLOEL + PINELQD + 0, LIMDUFLO)) * (TX23/100)) + 
+                        arr( min(PINELQA + 0, LIMDUFLO - min( DUFLOEL + PINELQD + PINELQC + DUFLOEK + PINELQB + 0, LIMDUFLO)) * (TX12/100))
+                     ) 
+                          - 5 * RIVPIQAC  
+                ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ; 
+
+
+RIVDUGIH = ( arr( arr( min( DUFLOGI + 0, LIMDUFLO) / 9 ) * (TX29/100)) +
+                arr( arr( min( DUFLOGH + 0, LIMDUFLO - min( DUFLOGI + 0, LIMDUFLO)) / 9 ) * (TX18/100))
+              ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ;
+
+RIVDUGIH8 = max (0 , ( arr( min( DUFLOGI + 0, LIMDUFLO) * (TX29/100)) +
+                          arr( min( DUFLOGH + 0, LIMDUFLO - min( DUFLOGI + 0, LIMDUFLO)) * (TX18/100))
+                     ) 
+                          - 8 * RIVDUGIH  
+                   ) * ( 1 - null( 4-V_REGCO )) * ( 1 - null( 2-V_REGCO )) ; 
+
+REPDUEKL = RIVDUEKL * 7 + RIVDUEKL8 ;
+REPIQBD = RIVPIQBD * 7 + RIVPIQBD8 ;
+REPIQAC = RIVPIQAC * 4 + RIVPIQAC5 ;
+REPDUGIH = RIVDUGIH * 7 + RIVDUGIH8 ;
+
+regle 4078:
+application : iliad , batch  ;
+BCEL_FABC = arr ( min( CELLIERFA + CELLIERFB + CELLIERFC , LIMCELLIER ) /9 );
+
+BCEL_FD = arr ( min( CELLIERFD , LIMCELLIER ) /5 );
+
+BCEL_2012 = arr( min(( CELLIERJA + CELLIERJD + CELLIERJE + CELLIERJF + CELLIERJH + CELLIERJJ 
+		     + CELLIERJK + CELLIERJM + CELLIERJN + 0 ), LIMCELLIER ) /9 );
+
+BCEL_JOQR = arr( min(( CELLIERJO + CELLIERJQ + CELLIERJR + 0 ), LIMCELLIER ) /5 );
+
+BCEL_2011 = arr( min(( CELLIERNA + CELLIERNC + CELLIERND + CELLIERNE + CELLIERNF + CELLIERNH
+		     + CELLIERNI + CELLIERNJ + CELLIERNK + CELLIERNM + CELLIERNN + CELLIERNO  + 0 ), LIMCELLIER ) /9 );
+
+BCELCOM2011 = arr( min(( CELLIERNP + CELLIERNR + CELLIERNS + CELLIERNT + 0 ), LIMCELLIER ) /5 );
+
+BCEL_NBGL = arr( min(( CELLIERNB + CELLIERNG + CELLIERNL + 0), LIMCELLIER ) /9 );
+
+BCEL_NQ = arr( min(( CELLIERNQ + 0), LIMCELLIER ) /5 );
+
+BCEL_JBGL = arr( min(( CELLIERJB + CELLIERJG + CELLIERJL + 0), LIMCELLIER ) /9 );
+
+BCEL_JP = arr( min(( CELLIERJP + 0), LIMCELLIER ) /5 );
+
+
+BCEL_HNO = arr ( min ((CELLIERHN + CELLIERHO + 0 ), LIMCELLIER ) /9 );
+BCEL_HJK = arr ( min ((CELLIERHJ + CELLIERHK + 0 ), LIMCELLIER ) /9 );
+
+BCEL_HL = arr ( min ((CELLIERHL + 0 ), LIMCELLIER ) /9 );
+BCEL_HM = arr ( min ((CELLIERHM + 0 ), LIMCELLIER ) /9 );
+
+
+DCELRREDLA = CELRREDLA;
+
+ACELRREDLA = (CELRREDLA * (1-ART1731BIS) 
+              + min (CELRREDLA, max(ACELRREDLA_P+ACELRREDLA[DGFIP][2017] , ACELRREDLA1731 +0)*(1-PREM8_11)) * ART1731BIS 
+             ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLB = CELRREDLB;
+
+ACELRREDLB = (CELRREDLB * (1-ART1731BIS) 
+              + min (CELRREDLB, max(ACELRREDLB_P+ACELRREDLB[DGFIP][2017] , ACELRREDLB1731 +0)*(1-PREM8_11)) * ART1731BIS 
+             ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLE = CELRREDLE;
+
+ACELRREDLE = (CELRREDLE * (1-ART1731BIS)
+              + min (CELRREDLE , max(ACELRREDLE_P+ACELRREDLE[DGFIP][2017] , ACELRREDLE1731 +0)*(1-PREM8_11)) * ART1731BIS 
+             ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLN = CELRREDLN;
+
+ACELRREDLN = (CELRREDLN * (1-ART1731BIS) 
+              + min (CELRREDLN, max(ACELRREDLN_P+ACELRREDLN[DGFIP][2017] , ACELRREDLN1731 +0)*(1-PREM8_11)) * ART1731BIS 
+             ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLM = CELRREDLM;
+
+ACELRREDLM = (CELRREDLM * (1-ART1731BIS) 
+              + min (CELRREDLM, max(ACELRREDLM_P+ACELRREDLM[DGFIP][2017] , ACELRREDLM1731 +0)*(1-PREM8_11)) * ART1731BIS
+	     ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLC = CELRREDLC;
+
+ACELRREDLC = (CELRREDLC * (1-ART1731BIS) 
+              + min (CELRREDLC, max(ACELRREDLC_P+ACELRREDLC[DGFIP][2017] , ACELRREDLC1731 +0)*(1-PREM8_11)) * ART1731BIS 
+	     ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLD = CELRREDLD;
+
+ACELRREDLD = (CELRREDLD * (1-ART1731BIS) 
+              + min (CELRREDLD, max(ACELRREDLD_P+ACELRREDLD[DGFIP][2017] , ACELRREDL[DGFIP][2017]731 +0)*(1-PREM8_11)) * ART1731BIS 
+	     ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLS = CELRREDLS;
+
+ACELRREDLS = (CELRREDLS * (1-ART1731BIS) 
+              + min (CELRREDLS, max(ACELRREDLS_P+ACELRREDLS[DGFIP][2017] , ACELRREDLS1731 +0)*(1-PREM8_11)) * ART1731BIS
+	     ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLT = CELRREDLT;
+
+ACELRREDLT = (CELRREDLT * (1-ART1731BIS) 
+              + min (CELRREDLT, max(ACELRREDLT_P+ACELRREDLT[DGFIP][2017] , ACELRREDLT1731 +0)*(1-PREM8_11)) * ART1731BIS
+	     ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLF = CELRREDLF;
+
+ACELRREDLF = (CELRREDLF * (1-ART1731BIS) 
+              + min (CELRREDLF, max(ACELRREDLF_P+ACELRREDLF[DGFIP][2017] , ACELRREDL[DGFIP][2017]731 +0)*(1-PREM8_11)) * ART1731BIS 
+	     ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLZ = CELRREDLZ;
+
+ACELRREDLZ = (CELRREDLZ * (1-ART1731BIS) 
+              + min (CELRREDLZ, max(ACELRREDLZ_P+ACELRREDLZ[DGFIP][2017] , ACELRREDLZ1731 +0)*(1-PREM8_11)) * ART1731BIS
+	     ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDLX = CELRREDLX;
+
+ACELRREDLX = (CELRREDLX * (1-ART1731BIS) 
+              + min (CELRREDLX, max(ACELRREDLX_P+ACELRREDLX[DGFIP][2017] , ACELRREDLX1731 +0)*(1-PREM8_11)) * ART1731BIS
+	     ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+
+DCELRREDMG = CELRREDMG;
+
+ACELRREDMG = (CELRREDMG * (1-ART1731BIS) 
+              + min (CELRREDMG, max(ACELRREDMG_P+ACELRREDMG[DGFIP][2017] , ACELRREDM[DGFIP][2017]731 +0)*(1-PREM8_11)) * ART1731BIS
+	     ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELRREDMH = CELRREDMH;
+
+ACELRREDMH = (CELRREDMH * (1-ART1731BIS) 
+              + min (CELRREDMH, max(ACELRREDMH_P+ACELRREDMH[DGFIP][2017] , ACELRREDMH1731 +0)*(1-PREM8_11)) * ART1731BIS
+	     ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHS = CELREPHS; 
+
+
+ACELREPHS = ( CELREPHS * (1 - ART1731BIS) 
+             + min( CELREPHS , max(ACELREPHS_P+ACELREPHS[DGFIP][2017] , ACELREPHS1731 + 0 )*(1-PREM8_11)) * ART1731BIS 
+            ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ; 
+
+DCELREPHR = CELREPHR ;    
+
+
+ACELREPHR = ( CELREPHR * (1 - ART1731BIS) 
+             + min( CELREPHR , max(ACELREPHR_P+ACELREPHR[DGFIP][2017] , ACELREPHR1731 + 0 )*(1-PREM8_11)) * ART1731BIS 
+            ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ; 
+
+
+DCELREPHU = CELREPHU ; 
+
+
+ACELREPHU = ( CELREPHU * (1 - ART1731BIS) 
+             + min( CELREPHU , max(ACELREPHU_P+ACELREPHU[DGFIP][2017] , ACELREPHU1731 + 0 )*(1-PREM8_11)) * ART1731BIS 
+            ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ; 
+
+DCELREPHT = CELREPHT; 
+
+
+ACELREPHT = ( CELREPHT * (1 - ART1731BIS) 
+             + min( CELREPHT , max(ACELREPHT_P+ACELREPHT[DGFIP][2017] , ACELREPHT1731 + 0 )*(1-PREM8_11)) * ART1731BIS 
+            ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ; 
+
+DCELREPHZ = CELREPHZ; 
+
+
+ACELREPHZ = ( CELREPHZ * (1 - ART1731BIS) 
+             + min( CELREPHZ , max(ACELREPHZ_P+ACELREPHZ[DGFIP][2017] , ACELREPHZ1731 + 0 )*(1-PREM8_11)) * ART1731BIS 
+            ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ; 
+
+DCELREPHX = CELREPHX; 
+
+
+ACELREPHX = ( CELREPHX * (1 - ART1731BIS) 
+             + min( CELREPHX , max(ACELREPHX_P+ACELREPHX[DGFIP][2017] , ACELREPHX1731 + 0 )*(1-PREM8_11)) * ART1731BIS 
+            ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ; 
+
+
+DCELREPHW = CELREPHW; 
+
+
+ACELREPHW = ( CELREPHW * (1 - ART1731BIS) 
+             + min( CELREPHW , max(ACELREPHW_P+ACELREPHW[DGFIP][2017] , ACELREPHW1731 + 0 )*(1-PREM8_11)) * ART1731BIS 
+            ) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ; 
+
+DCELREPHV = CELREPHV; 
+
+ACELREPHV = ( CELREPHV * (1 - ART1731BIS) 
+             + min( CELREPHV , max(ACELREPHV_P+ACELREPHV[DGFIP][2017] , ACELREPHV1731 + 0 )*(1-PREM8_11)) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHF = CELREPHF; 
+
+ACELREPHF = ( CELREPHF * (1 - ART1731BIS) 
+             + min( CELREPHF , max(ACELREPHF_P+ACELREPHF[DGFIP][2017] , ACELREPH[DGFIP][2017]731 + 0 )*(1-PREM8_11)) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHE = CELREPHE ;    
+
+ACELREPHE = ( CELREPHE * (1 - ART1731BIS) 
+             + min( CELREPHE , max(ACELREPHE_P+ACELREPHE[DGFIP][2017] , ACELREPHE1731 + 0 )*(1-PREM8_11)) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHD = CELREPHD; 
+
+ACELREPHD = ( CELREPHD * (1 - ART1731BIS) 
+             + min( CELREPHD , max(ACELREPHD_P+ACELREPHD[DGFIP][2017] , ACELREPH[DGFIP][2017]731 + 0 )*(1-PREM8_11)) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHH = CELREPHH; 
+
+ACELREPHH = ( CELREPHH * (1 - ART1731BIS) 
+             + min( CELREPHH , max(ACELREPHH_P+ACELREPHH[DGFIP][2017] , ACELREPHH1731 + 0 )*(1-PREM8_11)) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHG = CELREPHG; 
+
+ACELREPHG = ( CELREPHG * (1 - ART1731BIS) 
+             + min( CELREPHG , max(ACELREPHG_P+ACELREPHG[DGFIP][2017] , ACELREPH[DGFIP][2017]731 + 0 )*(1-PREM8_11)) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHB = CELREPHB; 
+
+ACELREPHB = ( CELREPHB * (1 - ART1731BIS) 
+             + min( CELREPHB , max(ACELREPHB_P+ACELREPHB[DGFIP][2017] , ACELREPHB1731 + 0 )*(1-PREM8_11)) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPHA = CELREPHA; 
+
+ACELREPHA = ( CELREPHA * (1 - ART1731BIS) 
+             + min( CELREPHA , max(ACELREPHA_P+ACELREPHA[DGFIP][2017] , ACELREPHA1731 + 0 )*(1-PREM8_11)) * ART1731BIS)
+	        * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPGU = CELREPGU; 
+
+ACELREPGU = (CELREPGU * (1 - ART1731BIS) 
+             + min( CELREPGU , max (ACELREPGU_P+ACELREPGU[DGFIP][2017] , ACELREPGU1731 + 0 )*(1-PREM8_11)) * ART1731BIS)
+		* (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) ;
+
+DCELREPGX = CE
diff --git a/sources2014m_2_15/chap-51.m b/sources2014m_2_15/chap-51.m
new file mode 100644
index 0000000000000000000000000000000000000000..c5fc6c2d9ec4215f36b706cace64c3f81bc60cd3
--- /dev/null
+++ b/sources2014m_2_15/chap-51.m
@@ -0,0 +1,397 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+  ####   #    #    ##    #####         #####      #
+ #    #  #    #   #  #   #    #        #          #
+ #       ######  #    #  #    #        #          #
+ #       #    #  ######  #####         #####      #
+ #    #  #    #  #    #  #                 #      #
+  ####   #    #  #    #  #     #####   #####      #
+ #
+ #
+ #
+ #
+ #
+ #
+ #           CALCUL DES DROITS SIMPLES RESULTANT DU TAUX PROGRESSIF
+ #
+ #
+ #
+ #
+ #
+ #
+regle 5010:
+application : bareme , iliad , batch  ;
+IMT11 = max(I[DGFIP][2017]1-ADO1 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IMT12 = max(I[DGFIP][2017]1 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IMTANT11 = max(IDANT11-ADO1 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IMTANT12 = max(IDANT11 , IMI)*(1-INDTXMOY)
+         + IMO * INDTXMOY ;
+IPHQ = arr(IMT11 * (IMPFHQ1 / I[DGFIP][2017]1)) ;
+IPHQ2 = arr(IMT12 * (IMPFHQ1 / I[DGFIP][2017]1)) ;
+IPHQANT2 = arr(IMTANT12 * (IMPFHQANT1 / IDANT11)) ;
+IPQT = IMT11 - IPHQ;
+IPQT2 = IMT12 - IPHQ2;
+regle 502:
+application : bareme , iliad , batch  ;
+pour z = 1,2:
+I[DGFIP][2017]z =  arr( IPQz * arr(RIz+REVQUOQHT) / arr(RB0z+TONEQUO) );
+IDANT11 =  arr( IPQANT1 * arr(R[DGFIP][2017]+REVQUOQHT) / arr(RB01+TONEQUO) );
+I[DGFIP][2017]4 = IN04;
+I[DGFIP][2017]6 = IN06;
+IMPFHQ1 = (1-positif((VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS)))) * EXO1 * arr(I[DGFIP][2017]1 * IPQ01 / IPQ1);
+IMPFHQANT1 = (1-positif((VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS)))) * EXO1 
+             * arr(IDANT11 * IPQANT01 / IPQANT1);
+regle 5021:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+IPQz = IPQ0z*EXO1 + IPQ100z;
+IPQANT1 = IPQANT01*EXO1 + IPQANT1001;
+IPQ5 = IPQ05 + IPQ1005;
+regle 50201:
+application : iliad , batch  ;
+pour z = 1,2:
+IDOM3z = (positif(IND_TDR) * IDOM14)
+         +
+     ((1-positif(IND_TDR)) * ((V_CR2 * IDOM1z) + ((1-V_CR2) * ((I[DGFIP][2017]z - ADO3z)* (1-positif(INDCODDAJ)) + ITOTDOM3z * positif(INDCODDAJ)))));
+regle 50211:
+application : iliad , batch  ;
+SEUILEXO = SEUIL_EXO1 + (SEUIL_EXO2 - SEUIL_EXO1)
+           * positif_ou_nul( max(AGV,AGC) - LIM_AGE_EXO );
+EXO1 =   (1-ART1731BIS) * ( (1-min(abs((VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS))) 
+				+ (VARIPTEFP * positif(ART1731BIS) + IPTEFP * (1 - ART1731BIS))+INDTEFF , 1)) * 
+                                  positif(R1649+PREREV + RG + TOTALQUO +(AB
+                                          *(1-present(IPVLOC)))-SEUILEXO)   
+            + 
+            (min(abs((VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS))) 
+			     + (VARIPTEFP * positif(ART1731BIS) + IPTEFP * (1 - ART1731BIS)) +INDTEFF, 1)) )
+       + ART1731BIS * ( (1-min(abs((VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS)))
+                                + (VARIPTEFP * positif(ART1731BIS) + IPTEFP * (1 - ART1731BIS))+INDTEFF , 1)) *
+                                  positif(R1649+PREREV + RG + SOMDEFICIT + TOTALQUO +(AB
+                                          *(1-present(IPVLOC)))-SEUILEXO)
+            +
+            (min(abs((VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS)))
+                             + (VARIPTEFP * positif(ART1731BIS) + IPTEFP * (1 - ART1731BIS)) +INDTEFF, 1)) )
+        ; 
+regle 502110:
+application :  bareme  ;
+EXO1 =   present(V_9ZZ);
+
+regle 5022:
+application : iliad , batch  ;
+IMI = arr (BMI * TX_MIN_MET / 100 
+              + arr(PRODOM + PROGUY) * TX_MIN_DOM / 100) 
+          * V_CR2;
+IMO = arr (BMI * TMOY / 100
+              + arr(PRODOM + PROGUY) * TX_MIN_DOM / 100) 
+          * V_CR2;
+RASAR = arr (BRAS * TX_RASAR / 100) ;
+regle 50221:
+application : bareme , iliad , batch  ;
+BMI = arr( R[DGFIP][2017] + REVQUO - PRODOM - PROGUY ) ;
+regle 50222:
+application : iliad , batch  ;
+TMOY = inf(IPQ5/(max(0,RB05 + TONEQUOM)) * 10000) / 100 * V_CR2;
+regle 503:
+application : bareme , iliad , batch  ;
+pour z=1,2,5,7:
+IQUOTOTz = IN5z - IN0z;
+IQUOTOTANT1 = INANT51 - INANT01;
+regle 50299:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRWBz = positif(TEGLRWA+TEGLRVG+somme(i=1..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTz * TERPQRWB / TETONEQUO1)
+         + (1 - positif(TEGLRWA+TEGLRVG+somme(i=1..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * IQUOTOTz ;
+ZIPQANTRWB = positif(TEGLRWA+TEGLRVG+somme(i=1..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTANT1 * TERPQRWB / TETONEQUO1)
+         + (1 - positif(TEGLRWA+TEGLRVG+somme(i=1..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * IQUOTOTANT1 ;
+ZIPQRWB5 = positif(TEGLRWA+TEGLRVG+somme(i=1..4:TEGLiM)+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+          * arr(IQUOTOT5 * TERPQRWBM / TETONEQUOM1)
+         + (1 - positif(TEGLRWA+TEGLRVG+somme(i=1..4:TEGLiM)+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * IQUOTOT7 ;
+pour z=1,2:
+ZIPQRWAz = positif(TEGLRVG+somme(i=1..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTz * TERPQRWA / TETONEQUO1)
+         + (1 - positif(TEGLRVG+somme(i=1..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTz-ZIPQRWBz) ;
+ZIPQANTRWA = positif(TEGLRVG+somme(i=1..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTANT1 * TERPQRWA / TETONEQUO1)
+         + (1 - positif(TEGLRVG+somme(i=1..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTANT1 -ZIPQANTRWB);
+ZIPQRWA5 = positif(TEGLRVG+somme(i=1..4:TEGLiM)+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+          * arr(IQUOTOT5 * TERPQRWAM / TETONEQUOM1)
+         + (1 - positif(TEGLRVG+somme(i=1..4:TEGLiM)+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * (IQUOTOT7 -ZIPQRWB5);
+pour z=1,2:
+ZIPQRVGz = positif(somme(i=1..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTz * TERPQRVG / TETONEQUO1)
+         + (1 - positif(somme(i=1..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTz-ZIPQRWBz-ZIPQRWAz) ;
+ZIPQANTRVG = positif(somme(i=1..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTANT1 * TERPQRVG / TETONEQUO1)
+         + (1 - positif(somme(i=1..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTANT1 -ZIPQANTRWB-ZIPQANTRWA);
+ZIPQRV[DGFIP][2017] = positif(somme(i=1..4:TEGLiM)+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+          * arr(IQUOTOT5 * TERPQRVGM / TETONEQUOM1)
+         + (1 - positif(somme(i=1..4:TEGLiM)+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * (IQUOTOT7-ZIPQRWB5-ZIPQRWA5) ;
+pour z=1,2:
+ZIPQ1z = positif(somme(i=2..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTz * TERPQ1 / TETONEQUO1)
+         + (1 - positif(somme(i=2..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTz -ZIPQRWBz-ZIPQRWAz- ZIPQRVGz) ;
+ZIPQANT11 = positif(somme(i=2..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTANT1 * TERPQ1 / TETONEQUO1)
+         + (1 - positif(somme(i=2..4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTANT1-ZIPQANTRWB-ZIPQANTRWA-ZIPQANTRVG) ;
+ZIPQ15 = positif(somme(i=2..4:TEGLiM)+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+          * arr(IQUOTOT5 * TERPQ1M / TETONEQUOM1)
+         + (1 - positif(somme(i=2..4:TEGLiM)+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * (IQUOTOT7 -ZIPQRWB5-ZIPQRWA5-ZIPQRV[DGFIP][2017]);
+pour z=1,2:
+ZIPQ2z = positif(somme(i=3,4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTz * TERPQ2 / TETONEQUO1)
+         + (1 - positif(somme(i=3,4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTz-ZIPQRWBz-ZIPQRWAz- ZIPQRVGz-ZIPQ1z) ;
+ZIPQANT21 = positif(somme(i=3,4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTANT1 * TERPQ2 / TETONEQUO1)
+         + (1 - positif(somme(i=3,4:TEGLi)+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTANT1 -ZIPQANTRWB-ZIPQANTRWA-ZIPQANTRVG-ZIPQANT11);
+ZIPQ25 = positif(somme(i=3,4:TEGLiM)+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+          * arr(IQUOTOT5 * TERPQ2M / TETONEQUOM1)
+         + (1 - positif(somme(i=3,4:TEGLiM)+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * (IQUOTOT7 -ZIPQRWB5-ZIPQRWA5-ZIPQRV[DGFIP][2017]-ZIPQ15);
+pour z=1,2:
+ZIPQ3z = positif(TEGL4+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTz * TERPQ3 / TETONEQUO1)
+         + (1 - positif(TEGL4+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTz -ZIPQRWBz-ZIPQRWAz- ZIPQRVGz-somme(x=1,2:ZIPQxz));
+ZIPQANT31 = positif(TEGL4+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTANT1 * TERPQ3 / TETONEQUO1)
+         + (1 - positif(TEGL4+TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTANT1 -ZIPQANTRWB-ZIPQANTRWA-ZIPQANTRVG-somme(x=1,2:ZIPQANTx1));
+ZIPQ35 = positif(TEGL4M+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+          * arr(IQUOTOT5 * TERPQ3M / TETONEQUOM1)
+         + (1 - positif(TEGL4M+TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * (IQUOTOT7 -ZIPQRWB5-ZIPQRWA5-ZIPQRV[DGFIP][2017]-somme(x=1,2:ZIPQx5));
+pour z=1,2:
+ZIPQ4z = positif(TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTz * TERPQ4 / TETONEQUO1)
+         + (1 - positif(TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTz -ZIPQRWBz-ZIPQRWAz- ZIPQRVGz-somme(x=1..3:ZIPQxz));
+ZIPQANT41 = positif(TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+          * arr(IQUOTOTANT1 * TERPQ4 / TETONEQUO1)
+         + (1 - positif(TEGLFTOT+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * (IQUOTOTANT1 -ZIPQANTRWB-ZIPQANTRWA-ZIPQANTRVG-somme(x=1..3:ZIPQANTx1));
+ZIPQ45 = positif(TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+          * arr(IQUOTOT5 * TERPQ4M / TETONEQUOM1)
+         + (1 - positif(TEGLFTOTM+TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * (IQUOTOT7 -ZIPQRWB5-ZIPQRWA5-ZIPQRV[DGFIP][2017]-somme(x=1..3:ZIPQx5));
+regle 50341:
+application : bareme , iliad , batch  ;
+ZIPQ1TOT= somme(i=1..4 : ZIPQ[DGFIP][2017])+ZIPQRV[DGFIP][2017]+ZIPQRWB1+ZIPQRWA1;
+ZIPQ2TOT= somme(i=1..4 : ZIPQ[DGFIP][2017])+ZIPQRV[DGFIP][2017]+ZIPQRWB2+ZIPQRWA2;
+ZIPQ5TOT= somme(i=1..4 : ZIPQ[DGFIP][2017])+ZIPQRV[DGFIP][2017]+ZIPQRWB5+ZIPQRWA5;
+ZIPQANT1TOT= somme(i=1..4 : ZIPQANT[DGFIP][2017])+ZIPQANTRVG+ZIPQANTRWB+ZIPQANTRWA;
+regle 5034:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQFVz = positif(somme(i=C,1..4:TEGLFi)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTz*TERPQFV/TETONEQUO1)
+         + (1 - positif(somme(i=C,1..4:TEGLFi)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT);
+ZIPQFANTV1 = positif(somme(i=C,1..4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTANT1*TERPQFV/TETONEQUO1)
+         + (1 - positif(somme(i=C,1..4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT) ;
+ZIPQFV5 = positif(somme(i=C,1..4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+		* arr(IQUOTOT5*TERPQFVM/TETONEQUOM1)
+         + (1 - positif(somme(i=C,1..4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT);
+pour z=1,2:
+ZIPQFCz = positif(somme(i=1..4:TEGLFi)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTz*TERPQFC/TETONEQUO1)
+         + (1 - positif(somme(i=1..4:TEGLFi)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-ZIPQFVz);
+ZIPQFANTC1 = positif(somme(i=1..4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTANT1*TERPQFC/TETONEQUO1)
+         + (1 - positif(somme(i=1..4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANTV1) ;
+ZIPQFC5 = positif(somme(i=1..4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+		* arr(IQUOTOT5*TERPQFCM/TETONEQUOM1)
+         + (1 - positif(somme(i=C,1..4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-ZIPQFV5);
+pour z=1,2:
+ZIPQ[DGFIP][2017]z = positif(somme(i=2,3,4:TEGLFi)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTz*TERPQ[DGFIP][2017]/TETONEQUO1)
+         + (1 - positif(somme(i=2..4:TEGLFiM)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C:ZIPQFxz));
+ZIPQFANT11 = positif(somme(i=2..4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTANT1*TERPQ[DGFIP][2017]/TETONEQUO1)
+         + (1 - positif(somme(i=2..4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C:ZIPQFANTx1)) ;
+ZIPQ[DGFIP][2017]5 = positif(somme(i=2,3,4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+		* arr(IQUOTOT5*TERPQ[DGFIP][2017]M/TETONEQUOM1)
+         + (1 - positif(somme(i=2..4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C:ZIPQFx5));
+pour z=1,2:
+ZIPQ[DGFIP][2017]z = positif(somme(i=3,4:TEGLFi)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTz*TERPQ[DGFIP][2017]/TETONEQUO1)
+         + (1 - positif(somme(i=3,4:TEGLFi)+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C,1:ZIPQFxz));
+ZIPQFANT21 = positif(somme(i=3,4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTANT1*TERPQ[DGFIP][2017]/TETONEQUO1)
+         + (1 - positif(somme(i=3,4 : TEGLFi) +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C,1:ZIPQFANTx1)) ;
+ZIPQ[DGFIP][2017]5 = positif(somme(i=3,4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+		* arr(IQUOTOT5*TERPQ[DGFIP][2017]M/TETONEQUOM1)
+         + (1 - positif(somme(i=3,4 : TEGLFiM) +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C,1:ZIPQFx5));
+pour z=1,2:
+ZIPQF3z = positif(TEGLF4+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTz*TERPQF3/TETONEQUO1)
+         + (1 - positif(TEGLF4+TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C,1,2:ZIPQFxz));
+ZIPQFANT31 = positif(TEGLF4 +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTANT1*TERPQF3/TETONEQUO1)
+         + (1 - positif(TEGLF4 +TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C,1,2:ZIPQFANTx1)) ;
+ZIPQF35 = positif(TEGLF4M +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+		* arr(IQUOTOT5*TERPQF3M/TETONEQUOM1)
+         + (1 - positif(TEGLF4M +TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C,1,2:ZIPQFx5));
+pour z=1,2:
+ZIPQF4z = positif(TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTz*TERPQF4/TETONEQUO1)
+         + (1 - positif(TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT))
+		* (IQUOTOTz-ZIPQzTOT-somme(x=V,C,1..3:ZIPQFxz));
+ZIPQFANT41 = positif(TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) 
+		* arr(IQUOTOTANT1*TERPQF4/TETONEQUO1)
+         + (1 - positif(TEGLPALIMTOT+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) 
+		* (IQUOTOTANT1-ZIPQANT1TOT-somme(x=V,C,1..3:ZIPQFANTx1)) ;
+ZIPQF45 = positif(TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) 
+		* arr(IQUOTOT5*TERPQF4M/TETONEQUOM1)
+         + (1 - positif(TEGLPALIMTOTM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) 
+		* (IQUOTOT5-ZIPQ5TOT-somme(x=V,C,1..3:ZIPQFx5));
+ZIPQ[DGFIP][2017]TOT= somme(i=V,C,1..4 : ZIPQF[DGFIP][2017]);
+ZIPQ[DGFIP][2017]TOT= somme(i=V,C,1..4 : ZIPQF[DGFIP][2017]);
+ZIPQ[DGFIP][2017]TOT= somme(i=V,C,1..4 : ZIPQF[DGFIP][2017]);
+ZIPQFANT1TOT= somme(i=V,C,1..4 : ZIPQFANT[DGFIP][2017]);
+regle 50396:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQPALIMVz = positif(somme(i=C,1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPALIMV/TETONEQUO1)
+         + (1 - positif(somme(i=C,1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT);
+ZIPQPALIMANTV1 = positif(somme(i=C,1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT ) * arr(IQUOTOTANT1*TERPQPALIMV/TETONEQUO1)
+         + (1 - positif(somme(i=C,1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT
+        );
+ZIPQPALIMV5 = positif(somme(i=C,1..4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPALIMVM/TETONEQUOM1)
+         + (1 - positif(somme(i=C,1..4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQ[DGFIP][2017]TOT );
+pour z=1,2:
+ZIPQPALIMCz = positif(somme(i=1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPALIMC/TETONEQUO1)
+         + (1 - positif(somme(i=1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMVz);
+ZIPQPALIMANTC1 = positif(somme(i=1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT ) * arr(IQUOTOTANT1*TERPQPALIMC/TETONEQUO1)
+         + (1 - positif(somme(i=1..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANTV1
+        );
+ZIPQPALIMC5 = positif(somme(i=1..4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPALIMCM/TETONEQUOM1)
+         + (1 - positif(somme(i=1..4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQ[DGFIP][2017]TOT-ZIPQPALIMV5 );
+pour z=1,2:
+ZIPQPALIM1z = positif(somme(i=2..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPALIM1/TETONEQUO1)
+         + (1 - positif(somme(i=2..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C:ZIPQPALIMiz));
+ZIPQPALIMANT11 = positif(somme(i=2..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT ) * arr(IQUOTOTANT1*TERPQPALIM1/TETONEQUO1)
+         + (1 - positif(somme(i=2..4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C:ZIPQPALIMANT[DGFIP][2017])
+        );
+ZIPQPALIM15 = positif(somme(i=2..4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPALIM1M/TETONEQUOM1)
+         + (1 - positif(somme(i=2..4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQ[DGFIP][2017]TOT-somme(i=V,C:ZIPQPALIM[DGFIP][2017]));
+pour z=1,2:
+ZIPQPALIM2z = positif(somme(i=3,4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPALIM2/TETONEQUO1)
+         + (1 - positif(somme(i=3,4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C,1:ZIPQPALIMiz));
+ZIPQPALIMANT21 = positif(somme(i=3,4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT ) * arr(IQUOTOTANT1*TERPQPALIM2/TETONEQUO1)
+         + (1 - positif(somme(i=3,4:TEGLPALIMi)+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C,1:ZIPQPALIMANT[DGFIP][2017])
+        );
+ZIPQPALIM25 = positif(somme(i=3,4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPALIM2M/TETONEQUOM1)
+         + (1 - positif(somme(i=3,4:TEGLPALIMiM)+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQ[DGFIP][2017]TOT-somme(i=V,C,1:ZIPQPALIM[DGFIP][2017]));
+pour z=1,2:
+ZIPQPALIM3z = positif(TEGLPALIM4+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPALIM3/TETONEQUO1)
+         + (1 - positif(TEGLPALIM4+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C,1..2:ZIPQPALIMiz));
+ZIPQPALIMANT31 = positif(TEGLPALIM4+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT ) * arr(IQUOTOTANT1*TERPQPALIM3/TETONEQUO1)
+         + (1 - positif(TEGLPALIM4+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C,1..2:ZIPQPALIMANT[DGFIP][2017])
+        );
+ZIPQPALIM35 = positif(TEGLPALIM4M+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPALIM3M/TETONEQUOM1)
+         + (1 - positif(TEGLPALIM4M+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQ[DGFIP][2017]TOT-somme(i=V,C,1..2:ZIPQPALIM[DGFIP][2017]));
+pour z=1,2:
+ZIPQPALIM4z = positif(TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQPALIM4/TETONEQUO1)
+         + (1 - positif(TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-somme(i=V,C,1..3:ZIPQPALIMiz));
+ZIPQPALIMANT41 = positif(TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT ) * arr(IQUOTOTANT1*TERPQPALIM4/TETONEQUO1)
+         + (1 - positif(TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRCMTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-somme(i=V,C,1..3:ZIPQPALIMANT[DGFIP][2017])
+        );
+ZIPQPALIM45 = positif(TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQPALIM4M/TETONEQUOM1)
+         + (1 - positif(TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQ[DGFIP][2017]TOT-somme(i=V,C,1..3:ZIPQPALIM[DGFIP][2017]));
+ZIPQPALIM1TOT= somme(i=V,C,1..4 : ZIPQPALIM[DGFIP][2017]);
+ZIPQPALIM2TOT= somme(i=V,C,1..4 : ZIPQPALIM[DGFIP][2017]);
+ZIPQPALIM5TOT= somme(i=V,C,1..4 : ZIPQPALIM[DGFIP][2017]);
+ZIPQPALIMANT1TOT= somme(i=V,C,1..4 : ZIPQPALIMANT[DGFIP][2017]);
+regle 50397:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMDCz = positif(TEGLRCMFU+TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQRCMDC/TETONEQUO1)
+         + (1 - positif(TEGLRCMFU+TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT);
+ZIPQRCMDCANT1 = positif(TEGLRCMFU+TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTANT1*TERPQRCMDC/TETONEQUO1)
+         + (1 - positif(TEGLRCMFU+TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT
+        );
+ZIPQRCMDC5 = positif(TEGLRCMFUM+TEGLRCMCHM+TEGLRCMTSM+TEGLRCMGOM+TEGLRCMTRM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQRCMDCM/TETONEQUOM1)
+         + (1 - positif(TEGLRCMFUM+TEGLRCMCHM+TEGLRCMTSM+TEGLRCMGOM+TEGLRCMTRM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRCMTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQ[DGFIP][2017]TOT-ZIPQPALIM5TOT);
+regle 50398:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMFUz = positif(TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQRCMFU/TETONEQUO1)
+         + (1 - positif(TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz);
+ZIPQRCMFUANT1 = positif(TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTANT1*TERPQRCMFU/TETONEQUO1)
+         + (1 - positif(TEGLRCMCH+TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1
+        );
+ZIPQRCMFU5 = positif(TEGLRCMCHM+TEGLRCMTSM+TEGLRCMGOM+TEGLRCMTRM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQRCMFUM/TETONEQUOM1)
+         + (1 - positif(TEGLRCMCHM+TEGLRCMTSM+TEGLRCMGOM+TEGLRCMTRM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQ[DGFIP][2017]TOT-ZIPQPALIM5TOT-ZIPQRCMDC5);
+regle 50401:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMCHz =    positif(TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTz*TERPQRCMCH/TETONEQUO1)
+         + (1 - positif(TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTz-ZIPQzTOT-ZIPQFzTOT-ZIPQPALIMzTOT-ZIPQRCMDCz-ZIPQRCMFUz);
+ZIPQRCMCHANT1 = positif(TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRFTOT) * arr(IQUOTOTANT1*TERPQRCMCH/TETONEQUO1)
+         + (1 - positif(TEGLRCMTS+TEGLRCMGO+TEGLRCMTR+TEGLTSTOT+TEGLTSREMPTOT+TEGLPRRTOT+TEGLPRRZTOT+TEGLRVOTOT+TEGLRFTOT)) * 
+         (IQUOTOTANT1-ZIPQANT1TOT-ZIPQFANT1TOT-ZIPQPALIMANT1TOT-ZIPQRCMDCANT1-ZIPQRCMFUANT1
+        );
+ZIPQRCMCH5 =    positif(TEGLRCMTSM+TEGLRCMGOM+TEGLRCMTRM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRFTOTM) *arr(IQUOTOT5*TERPQRCMCHM/TETONEQUOM1)
+         + (1 - positif(TEGLRCMTSM+TEGLRCMGOM+TEGLRCMTRM+TEGLTSTOTM+TEGLTSREMPTOTM+TEGLPRRTOTM+TEGLPRRZTOTM+TEGLRVOTOTM+TEGLRFTOTM)) * 
+           (IQUOTOT5-ZIPQ5TOT-ZIPQ[DGFIP][2017]TOT-ZIPQPALIM5TOT-ZIPQRCMDC5-ZIPQRCMFU5);
+regle 50402:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+ZIPQRCMTRz = positif(
diff --git a/sources2014m_2_15/chap-52.m b/sources2014m_2_15/chap-52.m
new file mode 100644
index 0000000000000000000000000000000000000000..708058c16f2dd2b065d167f5476d4d9799f3604b
--- /dev/null
+++ b/sources2014m_2_15/chap-52.m
@@ -0,0 +1,159 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 507:
+application : bareme , iliad , batch  ;
+
+TAUX1 = ((TX_BAR1 * (1 - V_ANC_BAR) + TX_BAR1A * V_ANC_BAR) - TX_BAR0 ) ;
+TAUX2 = (TX_BAR2  - (TX_BAR1 * (1 - V_ANC_BAR) + TX_BAR1A * V_ANC_BAR)) ;
+TAUX3 = (TX_BAR3  - TX_BAR2 ) ;
+TAUX4 = (TX_BAR4  - TX_BAR3 ) ;
+TAUX5 = (TX_BAR5  - TX_BAR4 ) ;
+
+regle 50700:
+application : bareme , iliad , batch  ;
+pour x=0,5;y=1,2;z=1,2:
+DSxyz = max( QFxyz - (LIM_BAR1 * (1 - V_ANC_BAR) + LIM_BAR1A * V_ANC_BAR) , 0 ) * (TAUX1   / 100)
+      + max( QFxyz - (LIM_BAR2 * (1 - V_ANC_BAR) + LIM_BAR2A * V_ANC_BAR) , 0 ) * (TAUX2   / 100)
+      + max( QFxyz - (LIM_BAR3 * (1 - V_ANC_BAR) + LIM_BAR3A * V_ANC_BAR) , 0 ) * (TAUX3   / 100)
+      + max( QFxyz - (LIM_BAR4 * (1 - V_ANC_BAR) + LIM_BAR4A * V_ANC_BAR) , 0 ) * (TAUX4   / 100)
+      + max( QFxyz - (LIM_BAR5 * (1 - V_ANC_BAR) + LIM_BAR5A * V_ANC_BAR) , 0 ) * (TAUX5   / 100);
+
+regle 50702:
+application : iliad , batch  ;
+WTXMARJ = (RB51) / ( NB1 * null(PLAFQF) + NB2 *null(1-PLAFQF)) ;
+TXMARJ = max ( positif (WTXMARJ - (LIM_BAR1 * (1 - V_ANC_BAR) + LIM_BAR1A * V_ANC_BAR)) * (TX_BAR1 * (1 - V_ANC_BAR) + TX_BAR1A * V_ANC_BAR) , 
+                max ( positif (WTXMARJ - (LIM_BAR2 * (1 - V_ANC_BAR) + LIM_BAR2A * V_ANC_BAR)) * TX_BAR2 , 
+                      max ( positif (WTXMARJ - (LIM_BAR3 * (1 - V_ANC_BAR) + LIM_BAR3A * V_ANC_BAR)) * TX_BAR3 , 
+                             max ( positif (WTXMARJ - (LIM_BAR4 * (1 - V_ANC_BAR) + LIM_BAR4A * V_ANC_BAR)) * TX_BAR4 ,
+                                   max ( positif (WTXMARJ - (LIM_BAR5 * (1 - V_ANC_BAR) + LIM_BAR5A * V_ANC_BAR)) * TX_BAR5 , 0
+				       )
+                                 )
+                          )
+                     )
+              )
+
+          * ( 1 - positif ( 
+                              present ( NRBASE ) 
+                            + present ( NRINET ) 
+                            + present ( IPTEFP ) 
+                            + present ( IPTEFN ) 
+                            + present ( PRODOM ) 
+                            + present ( PROGUY ) 
+                          )              
+             )
+          * (1- null(2 - V_REGCO))
+  * positif(IDRS2+IPQ1);
+
+
+
+regle 5071:
+application : bareme , iliad , batch  ;
+pour y=1,2:
+DS0y4 = max( Q[DGFIP][2017]y4 - (LIM_BAR1 * (1 - V_ANC_BAR) + LIM_BAR1A * V_ANC_BAR) , 0 ) * (TAUX1 /100)
+      + max( Q[DGFIP][2017]y4 - (LIM_BAR2 * (1 - V_ANC_BAR) + LIM_BAR2A * V_ANC_BAR) , 0 ) * (TAUX2 /100)
+      + max( Q[DGFIP][2017]y4 - (LIM_BAR3 * (1 - V_ANC_BAR) + LIM_BAR3A * V_ANC_BAR) , 0 ) * (TAUX3 /100)
+      + max( Q[DGFIP][2017]y4 - (LIM_BAR4 * (1 - V_ANC_BAR) + LIM_BAR4A * V_ANC_BAR) , 0 ) * (TAUX4 /100)
+      + max( Q[DGFIP][2017]y4 - (LIM_BAR5 * (1 - V_ANC_BAR) + LIM_BAR5A * V_ANC_BAR) , 0 ) * (TAUX5 /100);
+pour x=0,5;y=1,2:
+DSxy5 = max( QFxy5 - (LIM_BAR1 * (1 - V_ANC_BAR) + LIM_BAR1A * V_ANC_BAR) , 0 ) * (TAUX1 /100)
+      + max( QFxy5 - (LIM_BAR2 * (1 - V_ANC_BAR) + LIM_BAR2A * V_ANC_BAR) , 0 ) * (TAUX2 /100)
+      + max( QFxy5 - (LIM_BAR3 * (1 - V_ANC_BAR) + LIM_BAR3A * V_ANC_BAR) , 0 ) * (TAUX3 /100)
+      + max( QFxy5 - (LIM_BAR4 * (1 - V_ANC_BAR) + LIM_BAR4A * V_ANC_BAR) , 0 ) * (TAUX4 /100)
+      + max( QFxy5 - (LIM_BAR5 * (1 - V_ANC_BAR) + LIM_BAR5A * V_ANC_BAR) , 0 ) * (TAUX5 /100);
+pour y=1,2:
+DS0y6 = max( Q[DGFIP][2017]y6 - (LIM_BAR1 * (1 - V_ANC_BAR) + LIM_BAR1A * V_ANC_BAR) , 0 ) * (TAUX1 /100)
+      + max( Q[DGFIP][2017]y6 - (LIM_BAR2 * (1 - V_ANC_BAR) + LIM_BAR2A * V_ANC_BAR) , 0 ) * (TAUX2 /100)
+      + max( Q[DGFIP][2017]y6 - (LIM_BAR3 * (1 - V_ANC_BAR) + LIM_BAR3A * V_ANC_BAR) , 0 ) * (TAUX3 /100)
+      + max( Q[DGFIP][2017]y6 - (LIM_BAR4 * (1 - V_ANC_BAR) + LIM_BAR4A * V_ANC_BAR) , 0 ) * (TAUX4 /100)
+      + max( Q[DGFIP][2017]y6 - (LIM_BAR5 * (1 - V_ANC_BAR) + LIM_BAR5A * V_ANC_BAR) , 0 ) * (TAUX5 /100);
+regle 508:
+application : bareme , iliad , batch  ;
+NB1 = NBPT ;
+NB2 = 1 + BOOL_0AM + BOOL_0AZ * V_0AV ;
+regle 5080:
+application : bareme , iliad , batch  ;
+pour y=1,2;z=1,2:
+Q[DGFIP][2017]yz = arr(RB0z) / NBy;
+pour y=1,2;z=1,2:
+Q[DGFIP][2017]yz = arr(RB5z) / NBy;
+pour y=1,2:
+Q[DGFIP][2017]y4 = arr(RB04) / NBy;
+pour x=0,5;y=1,2:
+QFxy5 = arr(RBx5) / NBy;
+pour y=1,2:
+Q[DGFIP][2017]y6 = arr(RB06) / NBy;
+
+regle 66991:
+application : iliad, batch ;
+
+RNIBAR13 = ( (13465 * positif(positif(V_ANREV - V_0DA - 65) + positif(V_0AP + 0))
+            + 12353 * (1 - positif(positif(V_ANREV - V_0DA - 65) + positif(V_0AP + 0)))) * null(NBPT - 1)
+           + 14414 * null(NBPT - 1.25)
+           + 15917 * null(NBPT - 1.5)
+           + 17420 * null(NBPT - 1.75)
+           + 18922 * null(NBPT - 2)
+           + 20425 * null(NBPT - 2.25)
+           + 21928 * null(NBPT - 2.5)
+           + (23581 * positif(positif(V_ANREV - V_0DA - 65) + positif(V_0AP + 0)) * (1 - BOOL_0AM)
+            + 23431 * (1 - positif(positif(V_ANREV - V_0DA - 65) + positif(V_0AP + 0)))) * null(NBPT - 2.75)
+           + 24933 * null(NBPT - 3)
+           + 26436 * null(NBPT - 3.25)
+           + 27939 * null(NBPT - 3.5)
+           + 29442 * null(NBPT - 3.75)
+           + 30944 * null(NBPT - 4)
+           + 32447 * null(NBPT - 4.25)
+           + 33950 * null(NBPT - 4.5)
+           + 35453 * null(NBPT - 4.75)
+           + 36955 * null(NBPT - 5)
+           + 38458 * null(NBPT - 5.25)
+           + 39961 * null(NBPT - 5.5)
+           + 41464 * null(NBPT - 5.75)
+           + 42966 * null(NBPT - 6)
+           + 44470 * null(NBPT - 6.25)
+           + 45980 * null(NBPT - 6.5)
+           + 47476 * null(NBPT - 6.75)
+           + 48980 * null(NBPT - 7)
+           + 50480 * null(NBPT - 7.25)
+           + 51985 * null(NBPT - 7.5)
+           + 53487 * null(NBPT - 7.75)
+           + 54990 * null(NBPT - 8)
+           + 56493 * null(NBPT - 8.25)
+           + 57995 * null(NBPT - 8.5)
+           + 59497 * null(NBPT - 8.75)
+           + 61000 * null(NBPT - 9)
+           + 62504 * null(NBPT - 9.25)
+           + 64005 * null(NBPT - 9.5)
+           + 65515 * null(NBPT - 9.75)
+           + 67010 * null(NBPT - 10) ) ;
+
+CODMESGOUV = positif(NBPT - 10) + positif(LIG74 + LIGTTPVQ) + null(2 - V_REGCO) + null(4 - V_REGCO) + positif(CESSASSV + CESSASSC + PCAPTAXV + PCAPTAXC + LOYELEV + 0) 
+             + positif(IPROP + AVFISCOPTER + IPREP + IPPRICORSE) ;
+
+MESGOUV = (  1 * null(IDRS3 - IDEC) * positif_ou_nul(RNI - RNIBAR13)
+           + 2 * positif(IDRS3 - IDEC + 0) * positif(IDEC + 0)) * (1 - positif(CODMESGOUV)) * (1 - positif(RNIBAR13 - RNI))
+           + 3 * positif(CODMESGOUV + positif(RNIBAR13 - RNI) + (1 - positif(null(IDRS3 - IDEC) * positif_ou_nul(RNI - RNIBAR13) + positif(IDRS3 - IDEC + 0) * positif(IDEC + 0)))) ;
+
+MESGOUV2 = (  4 * null(IDRS3 - IDEC) * positif_ou_nul(RNI - RNIBAR13)
+            + 5 * positif(IDRS3 - IDEC + 0) * positif(IDEC + 0)
+            + 6 * positif(RNIBAR13 - RNI)) * (1 - positif(CODMESGOUV))
+            + 7 * positif(CODMESGOUV + (1 - positif(null(IDRS3 - IDEC) * positif_ou_nul(RNI - RNIBAR13) + positif(IDRS3 - IDEC + 0) * positif(IDEC + 0) + positif(RNIBAR13 - RNI)))) ;
+
+
diff --git a/sources2014m_2_15/chap-6.m b/sources2014m_2_15/chap-6.m
new file mode 100644
index 0000000000000000000000000000000000000000..3e9ba77e80d833faf0aa1aab4027b5237844b866
--- /dev/null
+++ b/sources2014m_2_15/chap-6.m
@@ -0,0 +1,123 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #  
+                                                                        
+  ####   #    #    ##    #####      #     #####  #####   ######          #####
+ #    #  #    #   #  #   #    #     #       #    #    #  #              #
+ #       ######  #    #  #    #     #       #    #    #  #####          # ####
+ #       #    #  ######  #####      #       #    #####   #              #     #
+ #    #  #    #  #    #  #          #       #    #   #   #              #     #
+  ####   #    #  #    #  #          #       #    #    #  ######   ####   #####
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                      CALCUL DU NOMBRE DE PARTS
+ #
+ #
+ #
+ #
+ #
+regle 601:
+application :  batch , iliad   ;
+NBPT =  ((NSM + NPA + NIN + NSP + NBQAR)* 10)/10 ;
+
+NBPOTE = V_0CF + V_0CH + V_0CR + V_0DJ + V_0DN + V_0DP ;
+
+NBFOTH = (1 + BOOL_0AM) + V_0CF + (V_0CH/2) + V_0CR + V_0DJ + V_0DN ;
+
+regle 6010:
+application : bareme ;
+NBPT =  (1 - present(V_9VV)) * ((NSM + NPA + NIN + NSP + NBQAR)* 10)/10 
+      + V_9VV ;
+regle 6011:
+application : bareme , iliad , batch  ;
+NSM = 1 + BOOL_0AM + V_0AV * min(BOOL_0AZ + EAC + V_0CH + V_0CR, 1 ) +
+    ( V_0AV * BOOL_0AZ * V_0AW * (1 - V_0AP) * (1 - V_0AF) / 2 ) ;
+regle 6012:
+application : bareme , iliad , batch  ;
+NPA = PAC - 0.5 * min( PAC, 2 ) ;
+regle 60121:
+application : bareme , iliad , batch  ;
+PAC = EAC + V_0CR;
+regle 60122:
+application : bareme ;
+EAC = ((V_0CF + V_0DJ) * (1 - present(V_9XX)))  + V_9XX ;
+regle 601220:
+application : batch , iliad ;
+EAC = (V_0CF + V_0DJ) ;
+regle 6013:
+application : bareme , iliad , batch  ;
+NIN =  ( V_0AP + V_0AF + V_0CG + V_0CR ) * 0.5;
+regle 6014:
+application : bareme , iliad , batch  ;
+NSP = NPS + NSA + NCC;
+regle 60141:
+application : bareme , iliad , batch  ;
+NCC = V_0AS * BOOL_0AM * (1 - positif(V_0AP + V_0AF)) * 0.5 *
+      positif(max( AGV + 1 - LIM_AGE_LET_S, AGC + 1 - LIM_AGE_LET_S ));
+regle 60142:
+application : bareme , iliad , batch  ;
+NPS = positif(PAC) * V_0BT * positif( 2 - NSM ) * 0.5 ;
+regle 60143:
+application : bareme , iliad , batch  ;
+NSA = (1 - positif(PAC+V_0CH)) 
+          * min( V_0AG
+	       + (V_0AL * (1 - positif (V_0AN))) * ( 1 - positif(positif(V_0AW)*positif_ou_nul(AGV-LIM_AGE_LET_S)))	
+               + V_0AW * positif(max(AGV + 1 - LIM_AGE_LET_S, AGC + 1 - LIM_AGE_LET_S)) 
+                , 1 )
+      * ( 1 - V_0AP ) * positif(2 - NSM) * 0.5;
+ 
+NSA2 = min( (1 - positif(PAC+V_0CH))
+              *
+       (null(SFUTILE - 14)
+        + null (SFUTILE - 7)
+        + null (SFUTILE - 15) * (1-positif(NIN))    
+       )
+        +
+           null(SFUTILE -7) * BOOL_0AZ * V_0AV
+       , 1)
+* 0.5;
+regle 60200:
+application : bareme , iliad , batch  ;
+
+
+BOOL_0BT = positif ( V_0BT+0 ) * positif ( V_0AC + V_0AD + 0);
+
+NBQAR1 =   null (V_0CF+V_0CR+V_0DJ+0)    * (  1/2 * (V_0CH-2) * positif (V_0CH- 2) 
+                                + 1/4 * positif (V_0CH+0) 
+                                + 1/4 * positif(V_0CH-1)
+                               );
+NBQAR2 =   null(V_0CF+V_0CR+V_0DJ-1) * (1/2 * (V_0CH -1 ) * positif(V_0CH -1) 
+                               + 1/4 * positif (V_0CH+0) 
+                           );
+NBQAR3 =   positif_ou_nul(V_0CF+V_0CR+V_0DJ-2) * 1/2 * V_0CH ;
+
+NBQAR4 =  1/4 * V_0CI ;
+
+NBQART =  BOOL_0BT * null(V_0CF+V_0CR+V_0DJ+0) 
+                     * (1/4 * null (V_0CH  -1) + 1/2 *  positif_ou_nul (V_0CH  - 2)) ;
+
+NBQAR = NBQAR1 + NBQAR2 + NBQAR3 + NBQAR4 + NBQART;
diff --git a/sources2014m_2_15/chap-7.m b/sources2014m_2_15/chap-7.m
new file mode 100644
index 0000000000000000000000000000000000000000..2ee906bcfa15a0f5b13244f28a8f5b7cbca04d0b
--- /dev/null
+++ b/sources2014m_2_15/chap-7.m
@@ -0,0 +1,320 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+ #
+                                                                        #######
+  ####   #    #    ##    #####      #     #####  #####   ######         #    #
+ #    #  #    #   #  #   #    #     #       #    #    #  #                  #
+ #       ######  #    #  #    #     #       #    #    #  #####             #
+ #       #    #  ######  #####      #       #    #####   #                #
+ #    #  #    #  #    #  #          #       #    #   #   #                #
+  ####   #    #  #    #  #          #       #    #    #  ###### #######   #
+ #
+ #
+ #
+ #
+ #
+ #
+ #
+ #                           REVENU IMPOSABLE
+ #
+ #                           ET       CHARGES
+ #
+ #
+ #
+ #
+regle 700:
+application : bareme , iliad , batch  ;
+pour z=1,2:
+RB5z = max( 0, RB0z + TETONEQUO1) ;
+RB55 = max( 0, RB05 + TETONEQUOM1) ;
+regle 701:
+application : bareme , iliad , batch  ;
+ZONIPTEFP =  (VARIPTEFP * positif(ART1731BIS) + IPTEFP * (1 - ART1731BIS)) ;
+ZONIPTEFN =  (VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS)) ;
+RB01 = (R[DGFIP][2017] * (1 - positif((VARIPTEFP * positif(ART1731BIS) + IPTEFP * (1 - ART1731BIS)) 
+			   + (VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS)) +INDTEFF))) 
+	+ 
+           (ZONIPTEFP + (PVIMPOS * positif(ZONIPTEFP)+ (ZONIPTEFN+PVIMPOS)*positif(ZONIPTEFN-PVIMPOS) +(PVIMPOS-ZONIPTEFN)*positif(ZONIPTEFN)*(1-positif(ZONIPTEFN-PVIMPOS))) * null(1-FLAG_EXIT)
+            +((PVIMPOS+PVSURSI)*positif(ZONIPTEFP) + (ZONIPTEFN+PVSURSI)*positif(ZONIPTEFN-PVSURSI) +(PVSURSI-ZONIPTEFN)*positif(ZONIPTEFN)*(1-positif(ZONIPTEFN-PVSURSI))) * null(2 -FLAG_EXIT) 
+                                                                    + RFROBOR * V_INDTEO * positif(ZONIPTEFP))
+
+	+TEFFREVTOT* (1-positif
+              (ZONIPTEFP + (PVIMPOS * positif(ZONIPTEFP)+ (ZONIPTEFN+PVIMPOS)*positif(ZONIPTEFN-PVIMPOS) +(PVIMPOS-ZONIPTEFN)*positif(ZONIPTEFN)*(1-positif(ZONIPTEFN-PVIMPOS))) * null(1-FLAG_EXIT)
+             +((PVSURSI+PVIMPOS)*positif(ZONIPTEFP) + (ZONIPTEFN+PVSURSI)*positif(ZONIPTEFN-PVSURSI) +(PVSURSI-ZONIPTEFN)*positif(ZONIPTEFN)*(1-positif(ZONIPTEFN-PVSURSI))) * null(2 -FLAG_EXIT) 
+                                                                    ))*INDTEFF;
+RB018XR = (RNG * (1 - positif((VARIPTEFP * positif(ART1731BIS) + IPTEFP * (1 - ART1731BIS)) 
+			   + (VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS)) +INDTEFF))) 
+	+ 
+           ((ABVIE + ABMAR) *positif(ZONIPTEFP) +ZONIPTEFP + (PVIMPOS * positif(ZONIPTEFP)+ (ZONIPTEFN+PVIMPOS)*positif(ZONIPTEFN-PVIMPOS) +(PVIMPOS-ZONIPTEFN)*positif(ZONIPTEFN)*(1-positif(ZONIPTEFN-PVIMPOS))) * null(1-FLAG_EXIT)
+            +((PVIMPOS+PVSURSI)*positif(ZONIPTEFP) + (ZONIPTEFN+PVSURSI)*positif(ZONIPTEFN-PVSURSI) +(PVSURSI-ZONIPTEFN)*positif(ZONIPTEFN)*(1-positif(ZONIPTEFN-PVSURSI))) * null(2 -FLAG_EXIT) 
+                                                                    + RFROBOR * V_INDTEO * positif(ZONIPTEFP))
+
+	+(ABMAR + ABTPATEF +TEFFREVTOT)* (1-positif
+              (ZONIPTEFP + (PVIMPOS * positif(ZONIPTEFP)+ (ZONIPTEFN+PVIMPOS)*positif(ZONIPTEFN-PVIMPOS) +(PVIMPOS-ZONIPTEFN)*positif(ZONIPTEFN)*(1-positif(ZONIPTEFN-PVIMPOS))) * null(1-FLAG_EXIT)
+             +((PVSURSI+PVIMPOS)*positif(ZONIPTEFP) + (ZONIPTEFN+PVSURSI)*positif(ZONIPTEFN-PVSURSI) +(PVSURSI-ZONIPTEFN)*positif(ZONIPTEFN)*(1-positif(ZONIPTEFN-PVSURSI))) * null(2 -FLAG_EXIT) 
+                                                                    ))*INDTEFF;
+
+
+
+RB02 = (R[DGFIP][2017] * (1 - positif((VARIPTEFP * positif(ART1731BIS) + IPTEFP * (1 - ART1731BIS)) 
+			+ (VARIPTEFN * positif(ART1731BIS) + IPTEFN * (1 - ART1731BIS))+ INDTEFF))) 
+	+
+             (ZONIPTEFP  + (PVIMPOS * positif(ZONIPTEFP)+ (ZONIPTEFN+PVIMPOS)*positif(ZONIPTEFN-PVIMPOS) +(PVIMPOS-ZONIPTEFN)*positif(ZONIPTEFN)*(1-positif(ZONIPTEFN-PVIMPOS)))* null(1-FLAG_EXIT)
+           + ((PVSURSI+PVIMPOS)*positif(ZONIPTEFP) + (ZONIPTEFN+PVSURSI)*positif(ZONIPTEFN-PVSURSI) +(PVSURSI-ZONIPTEFN)*positif(ZONIPTEFN)*(1-positif(ZONIPTEFN-PVSURSI))) * null(2 -FLAG_EXIT) 
+                                                                      +RFROBOR * V_INDTEO * positif(ZONIPTEFP)+ DPAE) 
+	+ TEFFREVTOT* (1-positif
+              (ZONIPTEFP+(PVIMPOS * positif(ZONIPTEFP)+ (ZONIPTEFN+PVIMPOS)*positif(ZONIPTEFN-PVIMPOS) +(PVIMPOS-ZONIPTEFN)*positif(ZONIPTEFN)*(1-positif(ZONIPTEFN-PVIMPOS))) * null(1-FLAG_EXIT)
+            + ((PVSURSI+PVIMPOS)*positif(ZONIPTEFP) + (ZONIPTEFN+PVSURSI)*positif(ZONIPTEFN-PVSURSI) +(PVSURSI-ZONIPTEFN)*positif(ZONIPTEFN)*(1-positif(ZONIPTEFN-PVSURSI))) * null(2 -FLAG_EXIT)
+                                                                     ))*INDTEFF;
+RB04 = IND_TDR;
+regle 70105:
+application : iliad , bareme , batch ;
+RB05 = (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS));
+RB06 = RE168+TAX1649;
+regle 7011:
+application : iliad , batch  ;
+TONEQUO1 = somme(x=1..4:RPQx) + somme(x=V,C,1..4: RPQFx) + somme(x=V,C,1..4: RPQPALIMx) + somme(x=1,2 : RPQRFx)
+	 + RPQRCMDC + RPQRCMFU  + RPQRCMCH  + RPQRCMTR  + RPQRCMTS + RPQRCMGO +somme(x=V,C,1..4 : RPQPRRx) + somme(x=V,C,1..4 : RPQPRRZx) + RPQRVO  + RPQRVO5  + RPQRVO6  + RPQRVO7
+	 + somme(x=V,C,1..4 : RPQTSx) + somme(x=V,C,1..4 : RPQTSREMPx)+ RPQRVG + RPQRWB * null(1-FLAG_EXIT) + (RPQRWB+RPQRWA) * null(2 -FLAG_EXIT);
+TONEQUOM1 = somme(x=1..4:RPQxM) + somme(x=V,C,1..4: RPQFxM) + somme(x=V,C,1..4: RPQPALIMxM) + somme(x=1,2 : RPQRFxM)
+	 + RPQRCMDCM + RPQRCMFUM  + RPQRCMCHM  + RPQRCMTRM  + RPQRCMTSM + RPQRCMGOM +somme(x=V,C,1..4 : RPQPRRxM) +somme(x=V,C,1..4 : RPQPRRZxM)+ RPQRVOM  + RPQRVO5M  + RPQRVO6M  + RPQRVO7M
+	 + somme(x=V,C,1..4 : RPQTSxM) + somme(x=V,C,1..4 : RPQTSREMPxM)+ RPQRVGM + RPQRWBM * null(1-FLAG_EXIT) + (RPQRWBM+RPQRWAM) * null(2 -FLAG_EXIT);
+TONEQUO1T = somme(x=1..4:TRPQx) + somme(x=V,C,1..4: TRPQFx) + somme(x=V,C,1..4: TRPQPALIMx) + somme(x=1,2 : TRPQRFx)
+	 + TRPQRCMDC + TRPQRCMFU  + TRPQRCMCH  + TRPQRCMTR  + TRPQRCMTS + TRPQRCMGO +somme(x=V,C,1..4 : TRPQPRRx) + somme(x=V,C,1..4 : TRPQPRRZx) + TRPQRVO  + TRPQRVO5  + TRPQRVO6  + TRPQRVO7
+	 + somme(x=V,C,1..4 : TRPQTSx) + somme(x=V,C,1..4 : TRPQTSREMPx)+ TRPQRVG + TRPQRWB * null(1-FLAG_EXIT) + (TRPQRWB+TRPQRWA) * null(2 -FLAG_EXIT);
+TONEQUOM1T = somme(x=1..4:TRPQxM) + somme(x=V,C,1..4: TRPQFxM) + somme(x=V,C,1..4: TRPQPALIMxM) + somme(x=1,2 : TRPQRFxM)
+	 + TRPQRCMDCM + TRPQRCMFUM  + TRPQRCMCHM  + TRPQRCMTRM  + TRPQRCMTSM + TRPQRCMGOM +somme(x=V,C,1..4 : TRPQPRRxM) +somme(x=V,C,1..4 : TRPQPRRZxM)+ TRPQRVOM  + TRPQRVO5M  + TRPQRVO6M  + TRPQRVO7M
+	 + somme(x=V,C,1..4 : TRPQTSxM) + somme(x=V,C,1..4 : TRPQTSREMPxM)+ TRPQRVGM + TRPQRWBM * null(1-FLAG_EXIT) + (TRPQRWBM+TRPQRWAM) * null(2 -FLAG_EXIT);
+TETONEQUO1 = TONEQUO1 * (1-positif(INDTEFF)) + TONEQUO1T * positif(INDTEFF);
+TETONEQUOM1 = TONEQUOM1 * (1-positif(INDTEFF)) + TONEQUOM1T * positif(INDTEFF);
+regle 70111  :
+application : iliad , batch  ;
+REV1 = GLN1 * (1-INDTEFF) + TGLN1 * INDTEFF;
+REV2 = GLN2 * (1-INDTEFF) + TGLN2 * INDTEFF;   
+REV3 = GLN3 * (1-INDTEFF) + TGLN3 * INDTEFF;
+REV4V = GLN4DAJV;
+REV4RAJV = max(CARTSV -ABTSRAJ,0);
+REV4C = GLN4DBJC;
+REV4RBJC = max(CARTSC -ABTSRBJ,0);
+REV4VC = GLN4DAJV + GLN4DBJC;
+REV4 = 4BAQTOTNET+GLN4V + GLN4C;
+REV4TVC = GLN4V + GLN4C;
+REVF = somme(i=V,C,1..4: PENFi);
+REVALIM = somme (i=V,C,1..4: PENALIMi) * (1-INDTEFF) + somme (i=V,C,1..4: TPENALIMi) * INDTEFF;
+REVALIMQHT = somme (i=V,C,1..4: PENALIMi);
+REVTS = somme (i=V,C,1..4:TSNN2TSi) * (1-INDTEFF) + somme (i=V,C,1..4:TTSNN2TSi) * INDTEFF;
+REVTSQHT = somme (i=V,C,1..4:TSNN2TSi);
+REVTSREMP = somme (i=V,C,1..4:TSNN2REMPi)*(1-INDTEFF)+ somme (i=V,C,1..4:TTSNN2REMPi)*INDTEFF;
+REVTSREMPQHT = somme (i=V,C,1..4:TSNN2REMPi);
+REVPRR = somme (i=V,C,1..4:PRR2i+PRR2Zi)*(1-INDTEFF)+somme (i=V,C,1..4:TPRR2i+TPRR2Zi)*INDTEFF;
+REVPRRQHT = somme (i=V,C,1..4:PRR2i+PRR2Zi);
+REVRVO = T2RV;
+REVRCM = 2RCM + 3RCM + 4RCM + 5RCM + 6RCM + 7RCM;
+REVRF = 2REVF+3REVF;
+REVQTOT = CODRWB * null(1-FLAG_EXIT) + (CODRWB+CODRWA) * null(2 -FLAG_EXIT) + CODRVG+somme(i=1..4 : REVi) + REVALIM + REVF+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF;
+REVQTOTQHT = CODRWB * null(1-FLAG_EXIT) + (CODRWB+CODRWA) * null(2 -FLAG_EXIT) + CODRVG+somme(i=1..3 : GLNi) + REV4 + REVALIMQHT + REVF+REVTSQHT+REVTSREMPQHT+REVPRRQHT+REVRVO+REVRCM+REVRF;
+regle 70112  :
+application : iliad , batch  ;
+GLRWB = (positif(CODRWA+CODRVG+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * CODRWB / TOTALQUOHT) +
+     (1 - positif(CODRWA+CODRVG+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * TONEQUOHT) * positif(null(1-FLAG_EXIT)+null(2-FLAG_EXIT));
+GLRWA = (positif(CODRVG+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * CODRWA / TOTALQUOHT) +
+     (1 - positif(CODRVG+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLRWB)) * null(2-FLAG_EXIT);
+GLRVG = positif(REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * CODRVG / TOTALQUOHT) +
+     (1 - positif(REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLRWB-GLRWA);
+GL1 = positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * GLN1 / TOTALQUOHT) +
+     (1 - positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLRVG-GLRWB-GLRWA);
+GL2 = positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * GLN2 / TOTALQUOHT) +
+     (1 - positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLRWB-GLRWA-GLRVG-GL1);
+GL3 = positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * GLN3 / TOTALQUOHT) +
+     (1 - positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLRWB-GLRWA -GLRVG- GL1 - GL2);
+GL4V = arr(TONEQUOHT * REV4V / TOTALQUOHT);
+GL4C = arr(TONEQUOHT * REV4C / TOTALQUOHT);
+GL4RAJV = arr(TONEQUOHT * REV4RAJV / TOTALQUOHT);
+GL4RBJC = arr(TONEQUOHT * REV4RBJC / TOTALQUOHT);
+GL4VC = arr(TONEQUOHT * REV4VC / TOTALQUOHT);
+GL4TVC = arr(TONEQUOHT * REV4TVC / TOTALQUOHT);
+GL4 = positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * REV4 / TOTALQUOHT) +
+     (1 - positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLRWB-GLRWA -GLRVG- GL1 - GL2 - GL3);
+GLTOT = somme(i=1..4:GLi)+GLRVG+GLRWB+GLRWA;
+GLFV = positif(PENFC+PEN[DGFIP][2017]+PEN[DGFIP][2017]+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENFV / TOTALQUOHT) +
+      (1 - positif(PENFC+PEN[DGFIP][2017]+PEN[DGFIP][2017]+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT);
+GLFC = positif(PEN[DGFIP][2017]+PEN[DGFIP][2017]+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENFC / TOTALQUOHT) +
+      (1 - positif(PEN[DGFIP][2017]+PEN[DGFIP][2017]+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFV);
+GL[DGFIP][2017] = positif(PEN[DGFIP][2017]+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PEN[DGFIP][2017] / TOTALQUOHT) +
+      (1 - positif(PEN[DGFIP][2017]+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFV-GLFC);
+GL[DGFIP][2017] = positif(PEN[DGFIP][2017]+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PEN[DGFIP][2017] / TOTALQUOHT) +
+      (1 - positif(PEN[DGFIP][2017]+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFV-GLFC-GL[DGFIP][2017]);
+GLF3 = positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENF3 / TOTALQUOHT) +
+      (1 - positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFV-GLFC-GL[DGFIP][2017]-GL[DGFIP][2017]);
+GLF4 = positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENF4 / TOTALQUOHT) +
+      (1 - positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFV-GLFC-GL[DGFIP][2017]-GL[DGFIP][2017]-GLF3);
+GLFTOT = somme(i=V,C,1..4:GLFi);
+GLPALIMV = positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENALIMV / TOTALQUOHT) +
+      (1 - positif(PENALIMC+PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT);
+GLPALIMC = positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENALIMC / TOTALQUOHT) +
+      (1 - positif(PENALIM1+PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMV);
+GLPALIM1 = positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENALIM1 / TOTALQUOHT) +
+      (1 - positif(PENALIM2+PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMV-GLPALIMC);
+GLPALIM2 = positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENALIM2 / TOTALQUOHT) +
+      (1 - positif(PENALIM3+PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMV-GLPALIMC-GLPALIM1);
+GLPALIM3 = positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENALIM3 / TOTALQUOHT) +
+      (1 - positif(PENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMV-GLPALIMC-GLPALIM1-GLPALIM2);
+GLPALIM4 = positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PENALIM4 / TOTALQUOHT) +
+      (1 - positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMV-GLPALIMC-GLPALIM1-GLPALIM2-GLPALIM3);
+GLPALIMTOT = somme(i=V,C,1..4:GLPALIMi);
+GLTSV = positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2TSV / TOTALQUOHT) +
+      (1 - positif(TSNN2TSC+TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT);
+GLTSC = positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2TSC / TOTALQUOHT) +
+      (1 - positif(TSNN2TS1+TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSV);
+GLTS1 = positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2TS1 / TOTALQUOHT) +
+      (1 - positif(TSNN2TS2+TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC);
+GLTS2 = positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2TS2 / TOTALQUOHT) +
+      (1 - positif(TSNN2TS3+TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC-GLTS1);
+GLTS3 = positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2TS3 / TOTALQUOHT) +
+      (1 - positif(TSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC-GLTS1-GLTS2);
+GLTS4 = positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2TS4 / TOTALQUOHT) +
+      (1 - positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSV-GLTSC-GLTS1-GLTS2-GLTS3);
+GLTSTOT = somme(i=V,C,1..4:GLTSi);
+GLTSREMPV = positif(TSNN2REMPC+TSNN2REM[DGFIP][2017]+TSNN2REM[DGFIP][2017]+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2REMPV / TOTALQUOHT) +
+      (1 - positif(TSNN2REMPC+TSNN2REM[DGFIP][2017]+TSNN2REM[DGFIP][2017]+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLTSTOT-GLPALIMTOT);
+GLTSREMPC = positif(TSNN2REM[DGFIP][2017]+TSNN2REM[DGFIP][2017]+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2REMPC / TOTALQUOHT) +
+      (1 - positif(TSNN2REM[DGFIP][2017]+TSNN2REM[DGFIP][2017]+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV);
+GLTSREM[DGFIP][2017] = positif(TSNN2REM[DGFIP][2017]+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2REM[DGFIP][2017] / TOTALQUOHT) +
+      (1 - positif(TSNN2REM[DGFIP][2017]+TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC);
+GLTSREM[DGFIP][2017] = positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2REM[DGFIP][2017] / TOTALQUOHT) +
+      (1 - positif(TSNN2REMP3+TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC-GLTSREM[DGFIP][2017]);
+GLTSREMP3 = positif(TSNN2REMP4+TSNN2REMPC+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2REMP3 / TOTALQUOHT) +
+      (1 - positif(TSNN2REMP4+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC-GLTSREM[DGFIP][2017]-GLTSREM[DGFIP][2017]);
+GLTSREMP4 = positif(REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * TSNN2REMP4 / TOTALQUOHT) +
+      (1 - positif(REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPV-GLTSREMPC-GLTSREM[DGFIP][2017]-GLTSREM[DGFIP][2017]-GLTSREMP3);
+GLTSREMPTOT = somme(i=V,C,1..4:GLTSREMPi);
+GLPRRV = positif(PRR2C+PRR21+PRR22+PRR23+PRR24+PRR2ZV+PRR2ZC+PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR2V / TOTALQUOHT) +
+      (1 - positif(PRR2C+PRR21+PRR22+PRR23+PRR24+PRR2ZV+PRR2ZC+PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT);
+GLPRRC = positif(PRR21+PRR22+PRR23+PRR24+PRR2ZV+PRR2ZC+PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR2C / TOTALQUOHT) +
+      (1 - positif(PRR21+PRR22+PRR23+PRR24+PRR2ZV+PRR2ZC+PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV);
+GLPRR1 = positif(PRR22+PRR23+PRR24+PRR2ZV+PRR2ZC+PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR21 / TOTALQUOHT) +
+      (1 - positif(PRR22+PRR23+PRR24+PRR2ZV+PRR2ZC+PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC);
+GLPRR2 = positif(PRR23+PRR24+PRR2ZV+PRR2ZC+PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR22 / TOTALQUOHT) +
+      (1 - positif(PRR23+PRR24+PRR2ZV+PRR2ZC+PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1);
+GLPRR3 = positif(PRR24+PRR2ZV+PRR2ZC+PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR23 / TOTALQUOHT) +
+      (1 - positif(PRR24+PRR2ZV+PRR2ZC+PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2);
+GLPRR4 = positif(PRR2ZV+PRR2ZC+PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR24 / TOTALQUOHT) +
+      (1 - positif(PRR2ZV+PRR2ZC+PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2-GLPRR3);
+GLPRRZV = positif(PRR2ZC+PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR2ZV / TOTALQUOHT) +
+      (1 - positif(PRR2ZC+PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2-GLPRR3-GLPRR4);
+GLPRRZC = positif(PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR2ZC / TOTALQUOHT) +
+      (1 - positif(PRR2Z1+PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2-GLPRR3-GLPRR4-GLPRRZV);
+GLPRRZ1 = positif(PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR2Z1 / TOTALQUOHT) +
+      (1 - positif(PRR2Z2+PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2-GLPRR3-GLPRR4-GLPRRZV-GLPRRZC);
+GLPRRZ2 = positif(PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR2Z2 / TOTALQUOHT) +
+      (1 - positif(PRR2Z3+PRR2Z4+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2-GLPRR3-GLPRR4-GLPRRZV-GLPRRZC-GLPRRZ1);
+GLPRRZ3 = positif(PRR2Z4+REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR2Z3 / TOTALQUOHT) +
+      (1 - positif(PRR2Z4+REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2-GLPRR3-GLPRR4-GLPRRZV-GLPRRZC-GLPRRZ1-GLPRRZ2);
+GLPRRZ4 = positif(REVRVO+REVRCM+REVRF)*arr(TONEQUOHT * PRR2Z4 / TOTALQUOHT) +
+      (1 - positif(REVRVO+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRV-GLPRRC-GLPRR1-GLPRR2-GLPRR3-GLPRR4-GLPRRZV-GLPRRZC-GLPRRZ1-GLPRRZ2-GLPRRZ3);
+GLPRRTOT = somme(i=V,C,1..4:GLPRRi+GLPRRZi);
+GLRVO = positif(2RV2 + 2RV3 + 2RV4 +REVRCM+REVRF)*arr(TONEQUOHT * 2RV1 / TOTALQUOHT) +
+      (1 - positif(2RV2 + 2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT);
+GLRVO5 = positif(2RV3 + 2RV4+REVRCM+REVRF)*arr(TONEQUOHT * 2RV2 / TOTALQUOHT) +
+      (1 - positif(2RV3 + 2RV4+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVO);
+GLRVO6 = positif(2RV4+REVRCM+REVRF)*arr(TONEQUOHT * 2RV3 / TOTALQUOHT) +
+      (1 - positif(2RV4+REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLPRRTOT-GLTSREMPTOT-GLRVO-GLRVO5);
+GLRVO7 = positif(REVRCM+REVRF)*arr(TONEQUOHT * 2RV4 / TOTALQUOHT) +
+      (1 - positif(REVRCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVO-GLRVO5-GLRVO6);
+GLRVOTOT = GLRVO + GLRVO5 + GLRVO6 + GLRVO7;
+GLRCMDC  = positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUOHT * 2RCM / TOTALQUOHT) +
+      (1 - positif(3RCM+4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT);
+GLRCMFU  = positif(4RCM+5RCM+6RCM+7RCM+REVRF)*arr(TONEQUOHT * 3RCM / TOTALQUOHT) +
+      (1 - positif(4RCM+5RCM+6RCM+7RCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC);
+GLRCMCH  = positif(5RCM+6RCM+7RCM+REVRF)*arr(TONEQUOHT * 4RCM / TOTALQUOHT) +
+      (1 - positif(5RCM+6RCM+7RCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU);
+GLRCMTS  = positif(6RCM+7RCM+REVRF)*arr(TONEQUOHT * 5RCM / TOTALQUOHT) +
+      (1 - positif(6RCM+7RCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU - GLRCMCH);
+GLRCMGO = positif(7RCM+REVRF)*arr(TONEQUOHT * 6RCM / TOTALQUOHT) +
+      (1 - positif(7RCM+REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU - GLRCMCH - GLRCMTS);
+GLRCMTR  = positif(REVRF)*arr(TONEQUOHT * 7RCM / TOTALQUOHT) +
+      (1 - positif(REVRF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT - GLRCMDC - GLRCMFU - GLRCMCH - GLRCMGO - GLRCMTS);
+GLRCMTOT = GLRCMDC + GLRCMFU + GLRCMCH + GLRCMGO + GLRCMTR + GLRCMTS;
+GLR[DGFIP][2017]  = positif(3REVF)*arr(TONEQUOHT * 2REVF / TOTALQUOHT) +
+      (1 - positif(3REVF)) * (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT-GLRCMTOT);
+GLR[DGFIP][2017]  = (TONEQUOHT-GLTOT-GLFTOT-GLPALIMTOT-GLTSTOT-GLTSREMPTOT-GLPRRTOT-GLRVOTOT-GLRCMTOT-GLR[DGFIP][2017]);
+GLRFTOT = GLR[DGFIP][2017] + GLR[DGFIP][2017];
+regle 701121  :
+application : iliad , batch  ;
+TGLRWB = (positif(CODRWA+CODRVG+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * CODRWB / TOTALQUO) +
+     (1 - positif(CODRWA+CODRVG+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * TONEQUO) * positif(null(1-FLAG_EXIT)+null(2-FLAG_EXIT));
+TGLRWA = (positif(CODRVG+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * CODRWA / TOTALQUO) +
+     (1 - positif(CODRVG+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLRWB)) * null(2-FLAG_EXIT);
+TGLRVG = positif(REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * CODRVG / TOTALQUO) +
+     (1 - positif(REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLRWB-TGLRWA);
+TGL1 = positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TGLN1 / TOTALQUO) +
+     (1 - positif(REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLRWB-TGLRWA-TGLRVG);
+TGL2 = positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TGLN2 / TOTALQUO) +
+     (1 - positif(REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLRWB-TGLRWA-TGLRVG-TGL1);
+TGL3 = positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TGLN3 / TOTALQUO) +
+     (1 - positif(REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO -TGLRWB-TGLRWA-TGLRVG- TGL1 - TGL2);
+TGL4V = arr(TONEQUO * REV4V / TOTALQUO);
+TGL4C = arr(TONEQUO * REV4C / TOTALQUO);
+TGL4RAJV = arr(TONEQUO * REV4RAJV / TOTALQUO);
+TGL4RBJC = arr(TONEQUO * REV4RBJC / TOTALQUO);
+TGL4VC = arr(TONEQUO * REV4VC / TOTALQUO);
+TGL4TVC = arr(TONEQUO * REV4TVC / TOTALQUO);
+TGL4 = positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * REV4 / TOTALQUO) +
+     (1 - positif(REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO -TGLRWB-TGLRWA-TGLRVG- TGL1 - TGL2 - TGL3);
+TGLTOT = somme(i=1..4:TGLi)+TGLRVG+TGLRWB+TGLRWA;
+TGLFV = positif(PENFC+PEN[DGFIP][2017]+PEN[DGFIP][2017]+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENFV / TOTALQUO) +
+      (1 - positif(PENFC+PEN[DGFIP][2017]+PEN[DGFIP][2017]+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT);
+TGLFC = positif(PEN[DGFIP][2017]+PEN[DGFIP][2017]+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENFC / TOTALQUO) +
+      (1 - positif(PEN[DGFIP][2017]+PEN[DGFIP][2017]+PENF3+PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFV);
+TGL[DGFIP][2017] = positif(PEN[DGFIP][2017]+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PEN[DGFIP][2017] / TOTALQUO) +
+      (1 - positif(PEN[DGFIP][2017]+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFV-TGLFC);
+TGL[DGFIP][2017] = positif(PEN[DGFIP][2017]+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PEN[DGFIP][2017] / TOTALQUO) +
+      (1 - positif(PEN[DGFIP][2017]+PENF3+PENF4+REV1+REV2+REV3+REV4+REVF+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFV-TGLFC-TGL[DGFIP][2017]);
+TGLF3 = positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF3 / TOTALQUO) +
+      (1 - positif(PENF4+REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFV-TGLFC-TGL[DGFIP][2017]-TGL[DGFIP][2017]);
+TGLF4 = positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * PENF4 / TOTALQUO) +
+      (1 - positif(REVALIM+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFV-TGLFC-TGL[DGFIP][2017]-TGL[DGFIP][2017]-TGLF3);
+TGLFTOT = somme(i=V,C,1..4:TGLFi);
+TGLPALIMV = positif(TPENALIMC+TPENALIM1+TPENALIM2+TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPENALIMV / TOTALQUO) +
+      (1 - positif(TPENALIMC+TPENALIM1+TPENALIM2+TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT);
+TGLPALIMC = positif(TPENALIM1+TPENALIM2+TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPENALIMC / TOTALQUO) +
+      (1 - positif(TPENALIM1+TPENALIM2+TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMV);
+TGLPALIM1 = positif(TPENALIM2+TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPENALIM1 / TOTALQUO) +
+      (1 - positif(TPENALIM2+TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMV-TGLPALIMC);
+TGLPALIM2 = positif(TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPENALIM2 / TOTALQUO) +
+      (1 - positif(TPENALIM3+TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMV-TGLPALIMC-TGLPALIM1);
+TGLPALIM3 = positif(TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPENALIM3 / TOTALQUO) +
+      (1 - positif(TPENALIM4+REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMV-TGLPALIMC-TGLPALIM1-TGLPALIM2);
+TGLPALIM4 = positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TPENALIM4 / TOTALQUO) +
+      (1 - positif(REVTS+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMV-TGLPALIMC-TGLPALIM1-TGLPALIM2-TGLPALIM3);
+TGLPALIMTOT = somme(i=V,C,1..4:TGLPALIMi);
+TGLTSV = positif(TTSNN2TSC+TTSNN2TS1+TTSNN2TS2+TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2TSV / TOTALQUO) +
+      (1 - positif(TTSNN2TSC+TTSNN2TS1+TTSNN2TS2+TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT);
+TGLTSC = positif(TTSNN2TS1+TTSNN2TS2+TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2TSC / TOTALQUO) +
+      (1 - positif(TTSNN2TS1+TTSNN2TS2+TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSV);
+TGLTS1 = positif(TTSNN2TS2+TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2TS1 / TOTALQUO) +
+      (1 - positif(TTSNN2TS2+TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-GLTOT-GLFTOT-GLPALIMTOT-TGLTSV-TGLTSC);
+TGLTS2 = positif(TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2TS2 / TOTALQUO) +
+      (1 - positif(TTSNN2TS3+TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSV-TGLTSC-TGLTS1);
+TGLTS3 = positif(TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr(TONEQUO * TTSNN2TS3 / TOTALQUO) +
+      (1 - positif(TTSNN2TS4+REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)) * (TONEQUO-TGLTOT-TGLFTOT-TGLPALIMTOT-TGLTSV-TGLTSC-TGLTS1-TGLTS2);
+TGLTS4 = positif(REVTSREMP+REVPRR+REVRVO+REVRCM+REVRF)*arr
diff --git a/sources2014m_2_15/chap-81.m b/sources2014m_2_15/chap-81.m
new file mode 100644
index 0000000000000000000000000000000000000000..6a8470600beddd2bf05490b59761ea38d1a61507
--- /dev/null
+++ b/sources2014m_2_15/chap-81.m
@@ -0,0 +1,378 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #                         REVENUS CATEGORIELS NETS
+ #
+ #
+regle 811:
+application : iliad , batch  ;
+pour i=V,C,1,2,3,4:
+TSBNi = TSHALLOi + ALLOi;
+TSHALLOP=TSHALLO1+TSHALLO2+TSHALLO3+TSHALLO4;
+ALLOP=ALLO1+ALLO2+ALLO3+ALLO4;
+TSBNP=TSHALLOP+ALLOP;
+
+pour i=V,C:
+2TSNi = CARTSi + REMPLAi;
+pour i=1,2,3,4:
+2TSNi = CARTSPi + REMPLAPi;
+EXTSV = TSBNV + BPCOSAV + GLDGRATV + 2TSNV;
+EXTSC = TSBNC + BPCOSAC + GLDGRATC + 2TSNC;
+GATASAV = BPCOSAV + GLDGRATV ;
+GATASAC = BPCOSAC + GLDGRATC ;
+
+pour i=1..4:
+EXTSi = TSBNi + 2TSNi;
+TSBV = EXTSV + somme(x=1..3:GLDxV)+CODDAJ+CODEAJ;
+TSBC = EXTSC + somme(x=1..3:GLDxC)+CODDBJ+CODEBJ;
+pour i=1,2,3,4:
+TSBi = EXTSi;
+TSBP = somme(i=1..4:TSBi);
+pour i=V,C,1..4:
+PRBi = PRBRi + PALIi + PENINi;
+
+2PRBV = CARPEV + PENSALV + CODRAZ;
+2PRBC = CARPEC + PENSALC + CODRBZ;
+2PRB1 = CARPE[DGFIP][2017] + PENSAL[DGFIP][2017] + CODRCZ;
+2PRB2 = CARPE[DGFIP][2017] + PENSAL[DGFIP][2017] + CODRDZ;
+2PRB3 = CARPEP3 + PENSALP3 + CODREZ;
+2PRB4 = CARPEP4 + PENSALP4 + CODRFZ;
+pour i=V,C:
+EXPRi = PRBi + 2PRBi + PEBFi;
+pour i=1..4:
+EXPRi = PRBi + 2PRBi + PEBFi;
+pour i = V,C,1..4:
+EXSPBi = EXTSi + EXPRi ;
+regle 812:
+application : iliad , batch  ;
+pour i = V,C,1..4:
+TPS10i = arr (TSBi * TX_DEDFORFTS /100);
+pour i = V,C,P:
+PTPS10i = arr (PERPSALi * TX_DEDFORFTS /100);
+pour i = V,C,1..4:
+DFNi =  min( PLAF_DEDFORFTS , TPS10i );
+pour i = V,C,P:
+PDFNi =  min( PLAF_DEDFORFTS , PTPS10i );
+regle 813:
+application : iliad , batch  ;
+pour i = V,C,1..4:
+DEDMINi = positif(DETSi)* MIN_DEMEMPLOI + (1- positif(DETSi))* MIN_DEDSFORFTS;
+pour i = V,C:
+PDEDMINi = DEDMINi;
+PDEDMINP = positif(DETS1)* MIN_DEMEMPLOI 
+	   + (1- positif(DETS1))* MIN_DEDSFORFTS;
+
+pour i = V,C,1..4:
+10MINSi= max( min(TSBi,DEDMINi) , DFNi );
+pour i = V,C,P:
+[DGFIP][2017]0MINSi= max( min(PERPSALi,PDEDMINi) , PDFNi );
+pour i = V,C,1..4:
+IND_10MIN_0i = positif(DEDMINi - DFNi ) * positif (TSBi );
+pour i = V,C,P:
+PIND_10MIN_0i = positif(PDEDMINi - PDFNi ) * positif (PERPSALi );
+pour i = V,C,1..4 :
+IND_MINi = 1 - positif( IND_10MIN_0i );
+pour i = V,C,P :
+PIND_MINi = 1 - positif( PIND_10MIN_0i );
+regle 814:
+application : iliad , batch  ;
+
+FRNP = FRN1 + FRN2 + FRN3 + FRN4;
+10MINSP = 10MINS1 + 10MINS2 + 10MINS3 + 10MINS4;
+FRDPROVV = TSBNV + PRV + PALIV - APRV;
+FRDPROVC = TSBNC + PRC + PALIC - APRC;
+FRDPROV1 = TSBN1 + PRBR1 + PAL[DGFIP][2017] - APR1;
+FRDPROV2 = TSBN2 + PRBR2 + PAL[DGFIP][2017] - APR2;
+FRDPROV3 = TSBN3 + PRBR3 + PALI3 - APR3;
+FRDPROV4 = TSBN4 + PRBR4 + PALI4 - APR4;
+FRDPROVP = FRDPROV1 +FRDPROV2 +FRDPROV3 +FRDPROV4;
+FRDP = (1-positif(PREM8_11)) * FRNP * positif(FRNP - 10MINSP)
+        + null(4-V_IND_TRAIT) * positif(PREM8_11) * min(FRNP,FRDPROVP)
+        + null(5-V_IND_TRAIT) * positif(PREM8_11) * min(FRNP,max(FRDPROVP[DGFIP][2017],FRDPROV[DGFIP][2017]731));
+pour i = V,C:
+FRDi = (1-positif(PREM8_11)) * FRNi * positif(FRNi - 10MINSi)
+        + null(4-V_IND_TRAIT) * positif(PREM8_11) * min(FRNi,FRDPROVi)
+        +  null(5-V_IND_TRAIT) * positif(PREM8_11) * min(FRNi,min(FRDPROVi,max(FRDPROVi[DGFIP][2017],FRDPROV[DGFIP][2017]731)));
+FR[DGFIP][2017] = (1-positif(PREM8_11)) * FRN1 * positif(FRN1 - 10MINS1)
+        + null(4-V_IND_TRAIT) * (positif(PREM8_11) * min(FRN1,FRDPROV1) * positif(FRN2+FRN3+FRN4)
+                                 + positif(PREM8_11) * max(0,FRDP) * (1-positif(FRN2+FRN3+FRN4)))
+        + null(5-V_IND_TRAIT) * (positif(PREM8_11) * min(FRN1,min(FRDPROV1,max(FRDPROV1[DGFIP][2017],FRDPROV11731))) * positif(FRN2+FRN3+FRN4)
+                                 + positif(PREM8_11) * max(0,FRDP) * (1-positif(FRN2+FRN3+FRN4)));
+FR[DGFIP][2017] = (1-positif(PREM8_11)) * FRN2 * positif(FRN2 - 10MINS2)
+        + null(4-V_IND_TRAIT) * (positif(PREM8_11) * min(FRN2,FRDPROV2) * positif(FRN3+FRN4)
+                                 + positif(PREM8_11) * max(0,FRDP-FR[DGFIP][2017]) * (1-positif(FRN3+FRN4)))
+        + null(5-V_IND_TRAIT) * (positif(PREM8_11) * min(FRN2,min(FRDPROV2,max(FRDPROV2[DGFIP][2017],FRDPROV21731))) * positif(FRN3+FRN4)
+                                 + positif(PREM8_11) * max(0,FRDP-FR[DGFIP][2017]) * (1-positif(FRN3+FRN4)));
+FRD3 = (1-positif(PREM8_11)) * FRN3 * positif(FRN3 - 10MINS3)
+        + null(4-V_IND_TRAIT) * (positif(PREM8_11) * min(FRN3,FRDPROV3) * positif(FRN4)
+                                 + positif(PREM8_11) * max(0,FRDP-FR[DGFIP][2017]-FR[DGFIP][2017]) * (1-positif(FRN4)))
+        + null(5-V_IND_TRAIT) * (positif(PREM8_11) * min(FRN3,min(FRDPROV3,max(FRDPROV3[DGFIP][2017],FRDPROV31731))) * positif(FRN4)
+                                 + positif(PREM8_11) * max(0,FRDP-FR[DGFIP][2017]-FR[DGFIP][2017]) * (1-positif(FRN4)))
+              ;
+FRD4 = max(0,FRDP - FR[DGFIP][2017] - FR[DGFIP][2017] - FRD3);
+pour i = V,C,1..4:
+FRDAi = FRNi * positif (FRNi - 10MINSi);
+PFRDV = (FRDV+CO[DGFIP][2017]AE) * positif ((FRDV+CO[DGFIP][2017]AE) - [DGFIP][2017]0MINSV);
+PFRDC = (FRDC+CO[DGFIP][2017]BE) * positif ((FRDC+CO[DGFIP][2017]BE) - [DGFIP][2017]0MINSC);
+PFRDP = (FR[DGFIP][2017]+CO[DGFIP][2017]CE) * positif ((FR[DGFIP][2017]+CO[DGFIP][2017]CE) - [DGFIP][2017]0MINSP);
+pour i = V,C,1..4:
+IND_10i = positif_ou_nul( 10MINSi - FRDi) ;
+PIND_10V = positif_ou_nul( [DGFIP][2017]0MINSV - (FRDV+CO[DGFIP][2017]AE)) ;
+PIND_10C = positif_ou_nul( [DGFIP][2017]0MINSC - (FRDC+CO[DGFIP][2017]BE)) ;
+PIND_10P = positif_ou_nul( [DGFIP][2017]0MINSP - (FR[DGFIP][2017]+CO[DGFIP][2017]CE)) ;
+pour i = V,C,1..4:
+FPTi = max(FRDi, 10MINSi);
+pour i = V,C,1..4:
+INDEFTSi = positif_ou_nul(TSBi - FRDi);
+pour i = V,C,P:
+PFPTi = max(PFRDi, [DGFIP][2017]0MINSi);
+pour i = V,C,1..4:
+[DGFIP][2017]0Mi = IND_MINi *DFNi 
+        + (1 - IND_MINi)* 10MINSi ; 
+pour i = V,C,P:
+P[DGFIP][2017]0Mi = PIND_MINi *PDFNi 
+        + (1 - PIND_MINi)* [DGFIP][2017]0MINSi ; 
+pour i = V,C,1..4:
+RE[DGFIP][2017]0i =  IND_10i * [DGFIP][2017]0Mi + (1-IND_10i) * FPTi ;
+pour i = V,C,P:
+PRE[DGFIP][2017]0i =  PIND_10i * P[DGFIP][2017]0Mi + (1-PIND_10i) * PFPTi ;
+ABTS1AJ=positif(TSHALLOV) * arr(RE[DGFIP][2017]0V*(TSHALLOV)/TSBV);
+ABTS1AP=positif(ALLOV) * (
+                    positif(BPCOSAV+GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) * arr(RE[DGFIP][2017]0V*(ALLOV)/TSBV)
+                 + (1-positif(BPCOSAV+GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * max(0,RE[DGFIP][2017]0V-ABTS1AJ)
+                          );
+ABTS3VJ=positif(BPCOSAV) * (
+                      positif(GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) * arr(RE[DGFIP][2017]0V*(BPCOSAV)/TSBV)
+                 + (1-positif(GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * max(0,RE[DGFIP][2017]0V-ABTS1AJ-ABTS1AP)
+                          );
+ABTS1TT=positif(GLDGRATV) *( 
+                        positif(CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) *  arr(RE[DGFIP][2017]0V*(GLDGRATV)/TSBV)
+                 + (1-positif(CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * max(0,RE[DGFIP][2017]0V-ABTS1AJ-ABTS1AP-ABTS3VJ)
+                          );
+ABTSRAJ=positif(CARTSV) *( 
+                        positif(REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) *  arr(RE[DGFIP][2017]0V*(CARTSV)/TSBV)
+                 + (1-positif(REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * max(0,RE[DGFIP][2017]0V-ABTS1AJ-ABTS1AP-ABTS3VJ-ABTS1TT)
+                          );
+ABTSRAP=positif(REMPLAV) * (
+                        positif(CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) *  arr(RE[DGFIP][2017]0V*(REMPLAV)/TSBV)
+                 + (1-positif(CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * max(0,RE[DGFIP][2017]0V-ABTS1AJ-ABTS1AP-ABTS1TT-ABTS3VJ-ABTSRAJ)
+                          );
+ABTSV = ABTS1AJ + ABTS1AP +ABTS3VJ +ABTS1TT +ABTSRAJ+ABTSRAP;
+ABDOMDAJ = positif(CODDAJ) * 
+	   (positif(CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) * arr(RE[DGFIP][2017]0V*CODDAJ/TSBV)
+	   + (1-positif(CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * max(0,RE[DGFIP][2017]0V-ABTSV))+0;
+ABDOMEAJ = positif(CODEAJ) * 
+	   (positif(GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) * arr(RE[DGFIP][2017]0V*CODEAJ/TSBV)
+	   + (1-positif(GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * max(0,RE[DGFIP][2017]0V-ABTSV-ABDOMDAJ))+0;
+ABGL1V = positif(GL[DGFIP][2017]V) * 
+	   (positif(GL[DGFIP][2017]V+GLD3V) * arr(RE[DGFIP][2017]0V*GL[DGFIP][2017]V/TSBV)
+	   + (1-positif(GL[DGFIP][2017]V+GLD3V)) * max(0,RE[DGFIP][2017]0V-ABTSV-ABDOMDAJ-ABDOMEAJ))+0;
+ABGL2V = positif(GL[DGFIP][2017]V) * 
+	   (positif(GLD3V) * arr(RE[DGFIP][2017]0V*GL[DGFIP][2017]V/TSBV)
+	   + (1-positif(GLD3V)) * max(0,RE[DGFIP][2017]0V-ABTSV-ABDOMDAJ-ABDOMEAJ-ABGL1V))+0;
+ABGL3V = max(0,RE[DGFIP][2017]0V-ABTSV-ABDOMDAJ-ABDOMEAJ-ABGL1V-ABGL2V)+0;
+ABTS1BJ=arr(RE[DGFIP][2017]0C*(TSHALLOC)/TSBC);
+ABTS1BP=positif(ALLOC) * (
+                    positif(BPCOSAC+GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(RE[DGFIP][2017]0C*(ALLOC)/TSBC)
+                 + (1-positif(BPCOSAC+GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * max(0,RE[DGFIP][2017]0C-ABTS1BJ)
+                          );
+ABTS3VK=positif(BPCOSAC) * (
+                    positif(GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(RE[DGFIP][2017]0C*(BPCOSAC)/TSBC)
+                 + (1-positif(GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * max(0,RE[DGFIP][2017]0C-ABTS1BJ-ABTS1BP)
+                          );
+ABTS1UT=positif(GLDGRATC) * (
+                    positif(CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(RE[DGFIP][2017]0C*(GLDGRATC)/TSBC)
+                 + (1-positif(CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * max(0,RE[DGFIP][2017]0C-ABTS1BJ-ABTS1BP-ABTS3VK)
+                          );
+ABTSRBJ=positif(CARTSC) * (
+                    positif(REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(RE[DGFIP][2017]0C*(CARTSC)/TSBC)
+                 + (1-positif(REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * max(0,RE[DGFIP][2017]0C-ABTS1BJ-ABTS1BP-ABTS3VK-ABTS1UT)
+                          );
+ABTSRBP=positif(REMPLAC) * (
+                    positif(CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(RE[DGFIP][2017]0C*(REMPLAC)/TSBC)
+                 + (1-positif(CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * max(0,RE[DGFIP][2017]0C-ABTS1BJ-ABTS1BP-ABTS3VK-ABTS1UT-ABTSRBJ)
+                          );
+ABTSC = ABTS1BJ + ABTS1BP +ABTS3VK +ABTS1UT +ABTSRBJ+ABTSRBP;
+ABDOMDBJ = positif(CODDBJ) * 
+	   (positif(CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(RE[DGFIP][2017]0C*CODDBJ/TSBC)
+	   + (1-positif(CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * max(0,RE[DGFIP][2017]0C-ABTSC))+0;
+ABDOMEBJ = positif(CODEBJ) * 
+	   (positif(GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(RE[DGFIP][2017]0C*CODEBJ/TSBC)
+	   + (1-positif(GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * max(0,RE[DGFIP][2017]0C-ABTSC-ABDOMDBJ))+0;
+ABGL1C = positif(GL[DGFIP][2017]C) * 
+	   (positif(GL[DGFIP][2017]C+GLD3C) * arr(RE[DGFIP][2017]0C*GL[DGFIP][2017]C/TSBC)
+	   + (1-positif(GL[DGFIP][2017]C+GLD3C)) * max(0,RE[DGFIP][2017]0C-ABTSC-ABDOMDBJ-ABDOMEBJ))+0;
+ABGL2C = positif(GL[DGFIP][2017]C) * 
+	   (positif(GLD3C) * arr(RE[DGFIP][2017]0C*GL[DGFIP][2017]C/TSBC)
+	   + (1-positif(GLD3C)) * max(0,RE[DGFIP][2017]0C-ABTSC-ABDOMDBJ-ABDOMEBJ-ABGL1C))+0;
+ABGL3C = max(0,RE[DGFIP][2017]0C-ABTSC-ABDOMDBJ-ABDOMEBJ-ABGL1C-ABGL2C)+0;
+ABTS1CJ=arr(RE[DGFIP][2017]01*(TSHALLO1)/TSB1);
+ABTS1CP=positif(ALLO1) * (
+                  positif(CARTS[DGFIP][2017]+REMPLA[DGFIP][2017]) * arr(RE[DGFIP][2017]01*(ALLO1)/TSB1)
+                + (1-positif(CARTS[DGFIP][2017]+REMPLA[DGFIP][2017])) * max(0,RE[DGFIP][2017]01-ABTS1CJ));
+ABTSRCJ=positif(CARTS[DGFIP][2017]) * (
+                    positif(REMPLA[DGFIP][2017]) * arr(RE[DGFIP][2017]01*(CARTS[DGFIP][2017])/TSB1)
+                 + (1-positif(REMPLA[DGFIP][2017])) * max(0,RE[DGFIP][2017]01-ABTS1CJ-ABTS1CP));
+ABTSRCP=max(0,RE[DGFIP][2017]01 - (ABTS1CJ  +ABTS1CP +ABTSRCJ))+0;
+ABTS1DJ=arr(RE[DGFIP][2017]02*(TSHALLO2)/TSB2);
+ABTS1DP=positif(ALLO2) * (
+                  positif(CARTS[DGFIP][2017]+REMPLA[DGFIP][2017]) * arr(RE[DGFIP][2017]02*(ALLO2)/TSB2)
+                + (1-positif(CARTS[DGFIP][2017]+REMPLA[DGFIP][2017])) * max(0,RE[DGFIP][2017]02-ABTS1DJ));
+ABTSRDJ=positif(CARTS[DGFIP][2017]) * (
+                    positif(REMPLA[DGFIP][2017]) * arr(RE[DGFIP][2017]02*(CARTS[DGFIP][2017])/TSB2)
+                 + (1-positif(REMPLA[DGFIP][2017])) * max(0,RE[DGFIP][2017]02-ABTS1DJ-ABTS1DP));
+ABTSRDP=max(0,RE[DGFIP][2017]02 - (ABTS1DJ  +ABTS1DP +ABTSRDJ))+0;
+ABTS1EJ=arr(RE[DGFIP][2017]03*(TSHALLO3)/TSB3);
+ABTS1EP=positif(ALLO3) * (
+                  positif(CARTSP3+REMPLAP3) * arr(RE[DGFIP][2017]03*(ALLO3)/TSB3)
+                + (1-positif(CARTSP3+REMPLAP3)) * max(0,RE[DGFIP][2017]03-ABTS1EJ));
+ABTSREJ=positif(CARTSP3) * (
+                    positif(REMPLAP3) * arr(RE[DGFIP][2017]03*(CARTSP3)/TSB3)
+                 + (1-positif(REMPLAP3)) * max(0,RE[DGFIP][2017]03-ABTS1EJ-ABTS1EP));
+ABTSREP=max(0,RE[DGFIP][2017]03 - (ABTS1EJ  +ABTS1EP +ABTSREJ)) +0;
+ABTS1FJ=arr(RE[DGFIP][2017]04*(TSHALLO4)/TSB4);
+ABTS1FP=positif(ALLO4) * (
+                  positif(CARTSP4+REMPLAP4) * arr(RE[DGFIP][2017]04*(ALLO4)/TSB4)
+                + (1-positif(CARTSP4+REMPLAP4)) * max(0,RE[DGFIP][2017]04-ABTS1FJ));
+ABTSRFJ=positif(CARTSP4) * (
+                    positif(REMPLAP4) * arr(RE[DGFIP][2017]04*(CARTSP4)/TSB4)
+                 + (1-positif(REMPLAP4)) * max(0,RE[DGFIP][2017]04-ABTS1FJ-ABTS1FP));
+ABTSRFP=max(0,RE[DGFIP][2017]04 - (ABTS1FJ  +ABTS1FP +ABTSRFJ))+0;
+regle 817:
+application : iliad , batch  ;
+ABGLTV = somme (x=1..3: ABGLxV)+ABDOMDAJ + ABDOMEAJ;
+ABGLTC = somme (x=1..3: ABGLxC)+ABDOMDBJ + ABDOMEBJ;
+regle 8178888:
+application : iliad , batch  ;
+TSN1AJ = TSHALLOV - ABTS1AJ;
+TSN1AP = ALLOV - ABTS1AP;
+TSN3VJ = BPCOSAV - ABTS3VJ;
+TSN1TT = GLDGRATV - ABTS1TT;
+TSNRAJ = (CARTSV - ABTSRAJ) ;
+TSNRAP = (REMPLAV - ABTSRAP);
+TSNDAJ = (CODDAJ - ABDOMDAJ);
+TSNEAJ = (CODEAJ - ABDOMEAJ);
+TSNGL1V = (GL[DGFIP][2017]V - ABGL1V);
+TSNGL2V = (GL[DGFIP][2017]V - ABGL2V);
+TSNGL3V = (GLD3V - ABGL3V);
+TSN1BJ = TSHALLOC - ABTS1BJ;
+TSN1BP = ALLOC - ABTS1BP;
+TSN3VK = BPCOSAC - ABTS3VK;
+TSN1UT = GLDGRATC - ABTS1UT;
+TSNRBJ = (CARTSC - ABTSRBJ);
+TSNRBP = (REMPLAC - ABTSRBP);
+TSNDBJ = (CODDBJ - ABDOMDBJ);
+TSNEBJ = (CODEBJ - ABDOMEBJ);
+TSNGL1C = (GL[DGFIP][2017]C - ABGL1C);
+TSNGL2C = (GL[DGFIP][2017]C - ABGL2C);
+TSNGL3C = (GLD3C - ABGL3C);
+TSN1CJ = TSHALLO1 - ABTS1CJ;
+TSN1CP = ALLO1 - ABTS1CP;
+TSNRCJ = (CARTS[DGFIP][2017] - ABTSRCJ);
+TSNRCP = (REMPLA[DGFIP][2017] - ABTSRCP);
+TSN1DJ = TSHALLO2 - ABTS1DJ;
+TSN1DP = ALLO2 - ABTS1DP;
+TSNRDJ = (CARTS[DGFIP][2017] - ABTSRDJ);
+TSNRDP = (REMPLA[DGFIP][2017] - ABTSRDP);
+TSN1EJ = TSHALLO3 - ABTS1EJ;
+TSN1EP = ALLO3 - ABTS1EP;
+TSNREJ = (CARTSP3 - ABTSREJ);
+TSNREP = (REMPLAP3 - ABTSREP);
+TSN1FJ = TSHALLO4 - ABTS1FJ;
+TSN1FP = ALLO4 - ABTS1FP;
+TSNRFJ = (CARTSP4 - ABTSRFJ);
+TSNRFP = (REMPLAP4 - ABTSRFP);
+regle 818:
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+PLRi = min ( MIN_DEDPR , EXPRi );
+pour i = V,C,1,2,3,4:
+APBi = max( PLRi , (EXPRi*TX_DEDPER/100));
+pour i = V,C,1,2,3,4:
+IND_APBi = positif_ou_nul(PLRi- (EXPRi * TX_DEDPER/100));
+PL_PB = arr(PLAF_DEDPRFOYER -somme (i=V,C,1..4: APBi * IND_APBi));
+regle 819:
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+ABPRi = arr ( (1 - IND_APBi) * 
+ min(APBi,(PL_PB * APBi / somme(x=V,C,1..4:APBx * (1 - IND_APBx))))
+ + IND_APBi * APBi );
+regle 8110:
+application : iliad , batch  ;
+APRV  =  IND_APBV * ABPRV 
+       + (1-IND_APBV)* min ( ABPRV , PL_PB); 
+APRC  =  IND_APBC * ABPRC 
+       + (1-IND_APBC)* min ( ABPRC , PL_PB - (1-IND_APBV)*APRV ); 
+APR1  =  IND_APB1 * ABPR1 
+       + (1-IND_APB1)* min ( ABPR1 , PL_PB - (1-IND_APBV)*APRV 
+			- (1-IND_APBC)*APRC);
+APR2  =  IND_APB2 * ABPR2
+       + (1-IND_APB2)* min ( ABPR2 , PL_PB - (1-IND_APBV)*APRV 
+                       - (1-IND_APBC)*APRC - (1-IND_APB1)*APR1 ); 
+APR3  =  IND_APB3 * ABPR3
+       + (1-IND_APB3)* min ( ABPR3 , PL_PB - (1-IND_APBV)*APRV 
+                       - (1-IND_APBC)*APRC - (1-IND_APB1)*APR1  
+                       - (1-IND_APB2)*APR2 ); 
+APR4  =  IND_APB4 * ABPR4 
+       + (1-IND_APB4)* min ( ABPR4 , PL_PB - (1-IND_APBV)*APRV 
+                       - (1-IND_APBC)*APRC - (1-IND_APB1)*APR1  
+                       - (1-IND_APB2)*APR2 - (1-IND_APB3)*APR3 ); 
+regle 8111:
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+PRNNi = EXPRi - APRi;
+PRNNP = PRNN1 + PRNN2 + PRNN3 + PRNN4;
+regle 8112:
+application : iliad , batch  ;
+TSNTV =  TSN1AJ+TSN1AP+TSN3VJ+TSN1TT+TSNRAJ+TSNRAP 
+        +TSNDAJ+TSNEAJ+TSNGL1V+TSNGL2V+TSNGL3V ;
+TSNTC = TSN1BJ+TSN1BP+TSN3VK+TSN1UT+TSNRBJ+TSNRBP
+       +TSNDBJ+TSNEBJ+TSNGL1C+TSNGL2C+TSNGL3C ;
+TSNT1 =  TSN1CJ + TSN1CP + TSNRCJ + TSNRCP;
+TSNT2 =  TSN1DJ + TSN1DP + TSNRDJ + TSNRDP;
+TSNT3 =  TSN1EJ+ TSN1EP+ TSNREJ+ TSNREP ;
+TSNT4 =  TSN1FJ+ TSN1FP+ TSNRFJ+ TSNRFP ;
+regle 8113:
+application : iliad , batch  ;
+pour i =V,C,1,2,3,4:
+TSNi = positif (-TSNTi) * min (0 , TSNTi + PRNNi)
+     + positif_ou_nul (TSNTi) * TSNTi;
+pour i =V,C,1,2,3,4:
+PRNi = positif (-TSNTi) * positif (TSNTi + PRNNi) * (TSNTi + PRNNi)
+       + positif_ou_nul (TSNTi) * PRNNi;
+
+FRDVREP =  positif(ART1731BIS) *  max(0,FRNV - FRDV) * null(IND_10V)
+                       +  max(0,FRNV1731 - 10MINSV) * IND_10V * positif(FRNV1731)
+                             ;
+FRDCREP =  positif(ART1731BIS) *  max(0,FRNC - FRDC) * null(IND_10C)
+                       +  max(0,FRNC1731 - 10MINSC) * IND_10C * positif(FRNC1731)
+                             ;
+FR[DGFIP][2017]REP =  positif(ART1731BIS) *  max(0,(max(0,(FRN1-FR[DGFIP][2017])) - PRN1 * (1-positif(FRN1-FR[DGFIP][2017])))* null(IND_101)
+                                       +(max(0,(FRN2-FR[DGFIP][2017])) - PRN2 * (1-positif(FRN2-FR[DGFIP][2017])) )* null(IND_102)
+                                       +(max(0,(FRN3-FRD3)) - PRN3 * (1-positif(FRN3-FRD3)))* null(IND_103)
+                                       +(max(0,(FRN4-FRD4)) - PRN4 * (1-positif(FRN4-FRD4)))* null(IND_104) 
+                                       + max(0,FRN11731 - 10MINS1) * IND_101 * positif(FRN11731)
+                                       + max(0,FRN21731 - 10MINS2) * IND_102 * positif(FRN21731)
+                                       + max(0,FRN31731 - 10MINS3) * IND_103 * positif(FRN31731)
+                                       + max(0,FRN41731 - 10MINS4) * IND_104 * positif(FRN41731))
+                                     ;
+FRDREPTOT =   positif(ART1731BIS) *  (FRDAV - FRDV + FRDAC - FRDC + FRDA1 - FR[DGFIP][2017] + FRDA2 - FR[DGFIP][2017]
+                                     + FRDA3 - FRD3 + FRDA4 - FRD4);
diff --git a/sources2014m_2_15/chap-82.m b/sources2014m_2_15/chap-82.m
new file mode 100644
index 0000000000000000000000000000000000000000..e9e4b4a30c41d2ecf4d3c76318ea5367447a9fd6
--- /dev/null
+++ b/sources2014m_2_15/chap-82.m
@@ -0,0 +1,370 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 82000:
+application : iliad , batch  ;
+RCMRABD = arr(RCMABD * 40/100);
+
+2RCMRABD = arr(REVACT * 40/100);
+
+TRCMRABD = RCMRABD + 2RCMRABD;
+RCMRTNC = arr(RCMTNC * 40/100);
+
+2RCMRTNC = arr(REVPEA * 40/100);
+
+TRCMRTNC = RCMRTNC + 2RCMRTNC;
+RCMRNABD = RCMABD - RCMRABD;
+
+2RCMRNABD = REVACT - 2RCMRABD;
+RCMRNTNC = RCMTNC - RCMRTNC ;
+
+2RCMRNTNC = REVPEA - 2RCMRTNC ;
+REGPRIVM = arr(REGPRIV * MAJREV);
+
+2REGPRIVM = arr(RESTUC * MAJREV);
+TRCMABD = RCMABD + REVACT;
+RCMAB = RCMRNABD + 2RCMRNABD ;
+DRTNC = RCMTNC + REVPEA;
+RTNC = RCMRNTNC + 2RCMRNTNC ;
+RAVC = RCMAV + PROVIE;
+RCMNAB = RCMHAD + DISQUO ;
+RTCAR = RCMHAB + INTERE;
+RCMPRIV = REGPRIV + RESTUC;
+RCMPRIVM = REGPRIVM + 2REGPRIVM ;
+RCMFRTEMP = min(RCMAB + RTNC + RAVC + RCMNAB + RTCAR + RCMPRIVM,RCMFR);
+BRCMBIS = RCMAB + RTNC + RAVC + RCMNAB + RTCAR + RCMPRIVM;
+regle 82001:
+application : iliad , batch ;
+FRAN = positif(RCMABD) * 
+          (null(4-V_IND_TRAIT) * (
+                                   positif(REVACT+RTCAR+RCMNAB) *
+                                     arr((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,BRCMTOT+0)*ART1731BIS) * RCMABD / max (1,TRCMABD + RTCAR+RCMNAB))
+                                + (1 - positif(REVACT+RTCAR+RCMNAB)) *
+                                    (RCMFR*(1-positif(ART1731BIS))+min(RCMFR,BRCMTOT+0)*ART1731BIS)
+                                 )
+         + null(5-V_IND_TRAIT) * (
+                                   positif(REVACT+RTCAR+RCMNAB) *
+                                     arr((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,max(max(BRCMTOT[DGFIP][2017],BRCMTOT_P),BRCMTOT1731+0))*ART1731BIS
+                                         ) * RCMABD / max (1,TRCMABD + RTCAR+RCMNAB)
+                                        )
+                                  + (1 - positif(REVACT+RTCAR+RCMNAB)) *
+                                      (RCMFR*(1-positif(ART1731BIS))+min(RCMFR,max(max(BRCMTOT[DGFIP][2017],BRCMTOT_P),BRCMTOT1731+0))*ART1731BIS)
+                                 )
+          ) ;
+
+
+2FRAN = positif(REVACT) * (
+          null(4-V_IND_TRAIT) * (
+                                  positif(RTCAR+RCMNAB) * 
+                                    arr((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,BRCMTOT+0)*ART1731BIS) * REVACT/ max (1,TRCMABD + RTCAR+RCMNAB) ) 
+                               + (1 - positif(RTCAR+RCMNAB)) *
+                                  ((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,BRCMTOT+0)*ART1731BIS) - FRAN)
+                                )
+        + null(5-V_IND_TRAIT) * (
+                                  positif(RTCAR+RCMNAB)* 
+                                    arr((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,max(max(BRCMTOT[DGFIP][2017],BRCMTOT_P+0),BRCMTOT1731+0))*ART1731BIS
+                                        ) * REVACT/ max (1,TRCMABD + RTCAR+RCMNAB) 
+                                       ) 
+                                + (1 - positif(RTCAR+RCMNAB)) *
+                                    ((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,max(max(BRCMTOT[DGFIP][2017],BRCMTOT_P+0),BRCMTOT1731+0))*ART1731BIS) - FRAN)
+                                )
+               );
+
+FRAR = positif(RCMHAB) * (
+        null(4-V_IND_TRAIT) * (
+            positif(INTERE+RCMNAB) * arr((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,BRCMTOT+0)*ART1731BIS) * RCMHAB / max (1,TRCMABD + RTCAR+RCMNAB) ) +
+                  (1 - positif(INTERE+RCMNAB))
+                 * ((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,BRCMTOT+0)*ART1731BIS) - FRAN - 2FRAN))
+        + null(5-V_IND_TRAIT) * (
+            positif(INTERE+RCMNAB) * arr((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,max(max(BRCMTOT[DGFIP][2017],BRCMTOT_P),BRCMTOT1731+0))*ART1731BIS) * RCMHAB / max (1,TRCMABD + RTCAR+RCMNAB) ) +
+                     (1 - positif(INTERE+RCMNAB))
+                          * ((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,max(max(BRCMTOT[DGFIP][2017],BRCMTOT_P),BRCMTOT1731+0))*ART1731BIS) - FRAN - 2FRAN)));
+2FRAR = positif(INTERE) * (
+        null(4-V_IND_TRAIT) * (
+              positif(RCMNAB)* arr((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,BRCMTOT+0)*ART1731BIS) * INTERE/ max (1,TRCMABD + RTCAR+RCMNAB) ) +
+              (1 - positif(RCMNAB)) * ((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,BRCMTOT+0)*ART1731BIS) -FRAN-2FRAN-FRAR))
+        + null(5-V_IND_TRAIT) * (
+              positif(RCMNAB)* arr((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,max(max(BRCMTOT[DGFIP][2017],BRCMTOT_P),BRCMTOT1731+0))*ART1731BIS) * INTERE/ max (1,TRCMABD + RTCAR+RCMNAB) ) +
+              (1 - positif(RCMNAB)) * ((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,max(max(BRCMTOT[DGFIP][2017],BRCMTOT_P),BRCMTOT1731+0))*ART1731BIS) -FRAN-2FRAN-FRAR)));
+FRAU = positif(RCMHAD) * (
+        null(4-V_IND_TRAIT) * (
+                   positif(DISQUO) * arr((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,BRCMTOT+0)*ART1731BIS) * RCMHAD / max (1,TRCMABD + RTCAR + RCMNAB)) 
+                + (1 - positif(DISQUO)) * ((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,BRCMTOT+0)*ART1731BIS) - FRAN - 2FRAN - FRAR - 2FRAR))
+
+      + null(5-V_IND_TRAIT) * (
+          positif(DISQUO) * arr((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,max(max(BRCMTOT[DGFIP][2017],BRCMTOT_P),BRCMTOT1731+0))*ART1731BIS
+                                ) * RCMHAD / max (1,TRCMABD + RTCAR + RCMNAB) 
+                               ) 
+        + (1 - positif(DISQUO)) * ((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,max(max(BRCMTOT[DGFIP][2017],BRCMTOT_P),BRCMTOT1731+0))*ART1731BIS) 
+                                     - FRAN - 2FRAN - FRAR - 2FRAR
+                                  )
+                             )
+                        );
+2FRAU = null(4-V_IND_TRAIT) * (((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,BRCMTOT+0)*ART1731BIS) - FRAN - 2FRAN - FRAR - 2FRAR - FRAU ) * positif(DISQUO))
+        + null(5-V_IND_TRAIT) * (
+               ((RCMFR*(1-positif(ART1731BIS))+min(RCMFR,max(max(BRCMTOT[DGFIP][2017],BRCMTOT_P),BRCMTOT1731+0))*ART1731BIS) - FRAN - 2FRAN - FRAR - 2FRAR - FRAU ) * positif(DISQUO));
+
+regle 82002:
+application : iliad , batch ;
+1RAN = (1 - positif(EXFR)) * (RCMRNABD - FRAN)
+	+ positif(EXFR) * 0;
+2RAN = (1 - positif(EXFR)) * (2RCMRNABD - 2FRAN)
+	+ positif(EXFR) * 0;
+TRAN = 1RAN + 2RAN ;
+1RAR = (1 - positif(EXFR)) * (RCMHAB - FRAR)
+	+ positif(EXFR) * 0;
+2RAR = (1 - positif(EXFR)) * (INTERE - 2FRAR) + positif(EXFR) * 0;
+TRAR = 1RAR + 2RAR ;
+1RAU = (1 - positif(EXFR)) * (RCMHAD - FRAU)
+	+ positif(EXFR) * 0;
+2RAU = (1 - positif(EXFR)) * (DISQUO - 2FRAU) + positif(EXFR) * 0;
+TRAU = 1RAU + 2RAU ;
+regle 82003:
+application : iliad , batch ;
+ABRCM2 = min( ABTAV , RAVC);
+regle 82007:
+application : iliad , batch ;
+ABAVC = positif(RCMAV) * arr( ABRCM2 * RCMAV / RAVC );
+2ABAVC = positif(PROVIE) * min(arr( ABRCM2 * PROVIE / RAVC ) , ABRCM2 - ABAVC);
+TABAVC = ABAVC + 2ABAVC ;
+regle 82008:
+application : iliad , batch ;
+RNTNC = RTNC ;
+RNAVC = RAVC - TABAVC;
+regle 820091:
+application : iliad , batch ;
+RCMFRART1731 = null(4- V_IND_TRAIT)* PREM8_11 * max( 0, min(RCMFR,BRCMBIS))
+             + null(5-V_IND_TRAIT) * max( 0, min(RCMFR,max(BRCM1731,max(BRCM_P,BRCM[DGFIP][2017]))));
+regle 820093:
+application : iliad , batch ;
+EXFR =  max( 0, RCMFR*(1-positif(ART1731BIS))+min(RCMFR,max(max(BRCMTOT[DGFIP][2017],BRCMTOT_P),BRCMTOT1731+0))*ART1731BIS - RCMAB - RTCAR - RCMNAB);
+regle 82010:
+application : iliad , batch ;
+1RIA = 1RAN ;
+2RIA = 2RAN ;
+1RNC = RCMRNTNC ;
+2RNC = 2RCMRNTNC ;
+RCAV = max ( 0 , RCMAV-ABAVC) ;
+2RCAV = max ( 0 , PROVIE-2ABAVC) ;
+1RAO = max( 0 , REGPRIVM);
+2RAO = max( 0 , 2REGPRIVM);
+R2FA = max(0,CO[DGFIP][2017]FA);
+TRCM1 = 1RNC + RCAV + 1RAO;
+TRCM = TRCM1 + 2RNC + 2RCAV + 2RAO ;
+regle 82011:
+application : iliad , batch ;
+FR[DGFIP][2017] = positif(EXFR) * arr( (EXFR * TRCM1)/ TRCM)
+	+ (1 - positif(EXFR)) * 0 ;
+FR[DGFIP][2017] = positif(EXFR) * min(arr(EXFR * 2RNC/ TRCM), EXFR - FR[DGFIP][2017])
+        + (1 - positif(EXFR)) * 0 ;
+FRG3 = positif(EXFR) * min(arr(EXFR * 2RCAV/ TRCM), EXFR - FR[DGFIP][2017] - FR[DGFIP][2017])
+        + (1 - positif(EXFR)) * 0 ;
+FR[DGFIP][2017] = positif(EXFR) * max(0,EXFR - FR[DGFIP][2017] -FR[DGFIP][2017] - FRG3)
+        + (1 - positif(EXFR)) * 0 ;
+regle 82012:
+application : iliad , batch ;
+DFRCMNBIS = (positif(RCMAB + RTCAR + RCMNAB)
+        * (1 - positif(RTNC+RAVC+RCMPRIVM))
+        * max(0, RCMFR
+                        - RCMAB
+                        - RTCAR
+                        - RCMNAB)
+
++ (1 - positif(RCMAB + RTCAR + RCMNAB))
+        * positif(RTNC+RAVC+RCMPRIVM)
+        * max(0, RCMFR
+                        - RTNC
+                        - (RAVC - TABAVC)
+                        - RCMPRIVM)
++ positif(RCMAB + RTCAR + RCMNAB)
+   * positif(RTNC+RAVC+RCMPRIVM)
+   * max(0, RCMFR
+                        - RCMAB
+                        - RCMNAB
+                        - RTNC
+                        - (RAVC - TABAVC)
+                        - RTCAR
+                        - RCMPRIVM)
++ (1 - positif(RCMAB + RTCAR + RCMNAB))
+        * (1 - positif(RTNC+RAVC+RCMPRIVM))
+        * max(0, RCMFR))  ;
+DFRCMN = DFRCMNBIS * (1-positif(ART1731BIS)) 
+        + (RCMFR - RCMFRART1731) * positif(ART1731BIS) ;
+regle 82013:
+application : iliad , batch ;
+1RCM_I = si( (V_REGCO + 0) dans (1,3,5,6,7) )
+alors  (((1-positif(DFRCMN)) * (1RIA+1RNC+1RAR+1RAU+1RAO+RCAV-FR[DGFIP][2017]) -positif(DFRCMN)*0 ) * (1-positif(ART1731BIS))
+       + (positif(ART1731BIS) * (1RIA+1RNC+1RAR+1RAU+1RAO+RCAV-FR[DGFIP][2017]) -positif(DFRCMN)*0))
+sinon (0)
+finsi;
+
+2RCM_I =  si( (V_REGCO + 0)  dans (1,3,5,6,7))
+              alors ((1- positif(DFRCMN)) * 2RIA * (1-positif(ART1731BIS))
+                   + 2RIA * positif(ART1731BIS))
+              sinon (0)
+          finsi;
+3RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+             alors  ((1- positif(DFRCMN)) * (2RNC-FR[DGFIP][2017]) * (1-positif(ART1731BIS))
+                   + (2RNC-FR[DGFIP][2017]) * positif(ART1731BIS))
+             sinon (0)
+         finsi;
+4RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+             alors  ((1- positif(DFRCMN)) * (2RCAV-FRG3) * (1-positif(ART1731BIS))
+                  +  (2RCAV-FRG3) * positif(ART1731BIS))
+             sinon (0)
+         finsi;
+5RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+             alors ((1- positif(DFRCMN)) * 2RAU * (1-positif(ART1731BIS))
+                  + 2RAU * positif(ART1731BIS))
+             sinon (0)
+         finsi;
+6RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+             alors  ((1- positif(DFRCMN)) * (2RAO-FR[DGFIP][2017]) * (1-positif(ART1731BIS))
+                 +   (2RAO-FR[DGFIP][2017]) * positif(ART1731BIS))
+             sinon (0)
+         finsi;
+7RCM_I = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+             alors  ((1- positif(DFRCMN)) * 2RAR * (1-positif(ART1731BIS))
+                 +   2RAR * positif(ART1731BIS))
+             sinon (0)
+         finsi;
+RCM_I = 1RCM_I + 2RCM_I + 3RCM_I + 4RCM_I + 5RCM_I + 6RCM_I + 7RCM_I;
+regle 82014:
+application : iliad , batch ;
+REPRCM = (DEFRCM + DEFRCM2 + DEFRCM3 + DEFRCM4 + DEFRCM5 + DEFRCM6);
+REPRCMB =  max(0,BRCM + BRCMQ - RCMFR);
+REPRCMBIS = (DEFRCM + DEFRCM2 + DEFRCM3 + DEFRCM4 + DEFRCM5 + DEFRCM6) * (1-positif(ART1731BIS))
+         +  min(DEFRCM + DEFRCM2 + DEFRCM3 + DEFRCM4 + DEFRCM5 + DEFRCM6,max(REPRCM1731,max(REPRCM_P,REPRCM[DGFIP][2017]))) * ART1731BIS * (1-PREM8_11)
+         +  0 * ART1731BIS * PREM8_11;
+REPRCM1 = positif(REPRCMBIS) * arr( (REPRCMBIS * 1RCM_I)/ RCM_I)
+	+ (1 - positif(REPRCMBIS)) * 0 ;
+REPRCM2 = positif(REPRCMBIS) * min(arr((REPRCMBIS * 2RCM_I)/ RCM_I), REPRCMBIS - REPRCM1)
+        + (1 - positif(REPRCMBIS)) * 0 ;
+REPRCM3 = positif(REPRCMBIS) * min(arr((REPRCMBIS * 3RCM_I)/ RCM_I), REPRCMBIS - REPRCM1 - REPRCM2)
+        + (1 - positif(REPRCMBIS)) * 0 ;
+REPRCM4 = positif(REPRCMBIS) * min(arr((REPRCMBIS * 4RCM_I)/ RCM_I), REPRCMBIS - REPRCM1 - REPRCM2 - REPRCM3)
+        + (1 - positif(REPRCMBIS)) * 0 ;
+REPRCM5 = positif(REPRCMBIS) * min(arr((REPRCMBIS * 5RCM_I)/ RCM_I), REPRCMBIS - REPRCM1 - REPRCM2 - REPRCM3 - REPRCM4)
+        + (1 - positif(REPRCMBIS)) * 0 ;
+REPRCM6 = positif(REPRCMBIS) * min(arr((REPRCMBIS * 6RCM_I)/ RCM_I), REPRCMBIS - REPRCM1 - REPRCM2 - REPRCM3 - REPRCM4 - REPRCM5)
+        + (1 - positif(REPRCMBIS)) * 0 ;
+REPRCM7 = positif(REPRCMBIS) * max(0,REPRCMBIS - REPRCM1 -REPRCM2 - REPRCM3 - REPRCM4 - REPRCM5  - REPRCM6 )
+        + (1 - positif(REPRCMBIS)) * 0 ;
+regle 82015:
+application : iliad , batch ;
+DFRCM5 =  (DEFRCM6 * positif(DFRCMN)
+         + DEFRCM6 * positif(DEFRCM+DEFRCM2+DEFRCM3+DEFRCM4+DEFRCM5- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM6 - (RCM_I -DEFRCM- DEFRCM2-DEFRCM3-DEFRCM4-DEFRCM5))
+         * positif_ou_nul(RCM_I -DEFRCM-DEFRCM2-DEFRCM3-DEFRCM4-DEFRCM5) * (1-positif(DFRCMN)))
+	 * (1-positif(ART1731BIS))
+           + min(DEFRCM6,REPRCM - REPRCMBIS) * positif(ART1731BIS*(1-PREM8_11))
+           + DEFRCM6 * positif(ART1731BIS*PREM8_11);
+DFRCM4 =  (DEFRCM5 * positif(DFRCMN)
+         + DEFRCM5 * positif(DEFRCM+DEFRCM2+DEFRCM3+DEFRCM4- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM5 - (RCM_I -DEFRCM- DEFRCM2-DEFRCM3-DEFRCM4))
+         * positif_ou_nul(RCM_I -DEFRCM- DEFRCM2-DEFRCM3-DEFRCM4) * (1-positif(DFRCMN)))
+	 * (1-positif(ART1731BIS))
+           + min(DEFRCM5,REPRCM - REPRCMBIS - DFRCM5 ) * positif(ART1731BIS*(1-PREM8_11))
+           + DEFRCM5 * positif(ART1731BIS*PREM8_11);
+DFRCM3 =  (DEFRCM4 * positif(DFRCMN)
+         + DEFRCM4 * positif(DEFRCM+DEFRCM2+DEFRCM3- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM4 - (RCM_I -DEFRCM)) * positif_ou_nul(RCM_I -DEFRCM-DEFRCM2-DEFRCM3) * (1-positif(DFRCMN)))
+	 * (1-positif(ART1731BIS))
+           + min(DEFRCM4,REPRCM - REPRCMBIS - DFRCM5 - DFRCM4 ) * positif(ART1731BIS*(1-PREM8_11))
+           + DEFRCM4 * positif(ART1731BIS*PREM8_11);
+DFRCM2 =  (DEFRCM3 * positif(DFRCMN)
+         + DEFRCM3 * positif(DEFRCM+DEFRCM2- RCM_I) * (1-positif(DFRCMN))
+         + max( 0, DEFRCM3 - (RCM_I -DEFRCM)) * positif_ou_nul(RCM_I -DEFRCM-DEFRCM2) * (1-positif(DFRCMN)))
+	 * (1-positif(ART1731BIS))
+           + min(DEFRCM3,REPRCM - REPRCMBIS - DFRCM5 - DFRCM4-DFRCM3) * positif(ART1731BIS*(1-PREM8_11))
+           + DEFRCM3 * positif(ART1731BIS*PREM8_11);
+DFRCM1 =  (DEFRCM2 * positif(DFRCMN)
+           + DEFRCM2 * positif(DEFRCM - RCM_I) * (1-positif(DFRCMN))
+           + max( 0, DEFRCM2 - (RCM_I-DEFRCM)) * positif_ou_nul(RCM_I-DEFRCM) * (1-positif(DFRCMN)))
+	 * (1-positif(ART1731BIS)) 
+           + min(DEFRCM2,REPRCM - REPRCMBIS  - DFRCM5 - DFRCM4-DFRCM3-DFRCM2) * positif(ART1731BIS*(1-PREM8_11))
+           + DEFRCM2 * positif(ART1731BIS*PREM8_11);
+regle 82016:
+application : iliad , batch ;
+RCM = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+alors (( (1-positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(1RCM_I-REPRCM1))
+         -positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)*0 
+      ) * (1-positif(ART1731BIS))
+      + positif(ART1731BIS) * max(0,(1RCM_I-REPRCM1))
+      )
+sinon (0)
+finsi;
+RCM2FA = CO[DGFIP][2017]FA * (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))); 
+2RCM = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+alors (( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(2RCM_I-REPRCM2))
+      ) * (1-positif(ART1731BIS))
+      + positif(ART1731BIS) * max(0,(2RCM_I-REPRCM2))
+      )
+sinon (0)
+finsi;
+3RCM = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+alors (( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(3RCM_I-REPRCM3))
+      ) * (1-positif(ART1731BIS))
+      + positif(ART1731BIS) * max(0,(3RCM_I-REPRCM3))
+      )
+sinon (0)
+finsi;
+4RCM = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+alors (( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(4RCM_I-REPRCM4))
+      ) * (1-positif(ART1731BIS))
+      + positif(ART1731BIS) * max(0,(4RCM_I-REPRCM4))
+      )
+sinon (0)
+finsi;
+5RCM = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+alors (( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(5RCM_I-REPRCM5))
+      ) * (1-positif(ART1731BIS))
+      + positif(ART1731BIS) * max(0,(5RCM_I-REPRCM5))
+      )
+sinon (0)
+finsi;
+6RCM = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+alors (( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(6RCM_I-REPRCM6))
+      ) * (1-positif(ART1731BIS))
+      + positif(ART1731BIS) * max(0,(6RCM_I-REPRCM6))
+      )
+sinon (0)
+finsi;
+7RCM = si( (V_REGCO + 0)  dans (1,3,5,6,7))
+alors (( (1- positif(DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5)) * max(0,(7RCM_I-REPRCM7))
+      ) * (1-positif(ART1731BIS))
+      + positif(ART1731BIS) * max(0,(7RCM_I-REPRCM7))
+      )
+sinon (0)
+finsi;
+DFRCM = (DFRCMN + DFRCM1+DFRCM2+DFRCM3+DFRCM4+DFRCM5) * (1-positif(null(2-V_REGCO)+null(4-V_REGCO)));
+RCMEXCREF = max(0,TRCMRABD + TRCMRTNC) * (1 - positif(null(2-V_REGCO) + null(4-V_REGCO)));
+regle 82100:
+application : iliad , batch ;
+ABTAV = PLAF_RCMAV1 * (1 + BOOL_0AM) ;
+regle 82107:
+application : iliad , batch ;
+BPLIB = (min( RCMLIB, max(0 , ABTAV - RAVC) ) * (1 - V_CNR));
+regle 82110:
+application : iliad , batch ;
+EPAV = arr(BPLIB * TX_PREVLIB/100);
+regle 82111:
+application : iliad , batch ;
+VAREPRCM = min(DEFRCM + DEFRCM2 + DEFRCM3 + DEFRCM4 + DEFRCM5 + DEFRCM6,1RCM_I + 2RCM_I +3RCM_I +4RCM_I +5RCM_I +6RCM_I +7RCM_I );
diff --git a/sources2014m_2_15/chap-83.m b/sources2014m_2_15/chap-83.m
new file mode 100644
index 0000000000000000000000000000000000000000..696255f3b13e2cbadd9384fc1785d3e3500967cc
--- /dev/null
+++ b/sources2014m_2_15/chap-83.m
@@ -0,0 +1,79 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 831:
+application : iliad , batch  ;
+RRFI = (RFON + DRCF + max(0,RFMIC - MICFR - RFDANT )) * (1-positif(ART1731BIS))
+       + (RFON + DRCF + max(0,RFMIC - MICFR - DEFRF4BD )) * positif(ART1731BIS);
+RRFIPS = RRFI; 
+regle 8312:
+application : iliad , batch  ;
+MICFR = present(RFMIC) * arr(RFMIC * TX_MICFON/100);
+regle 8316:
+application : iliad , batch ;
+RMF = max(0,RFMIC - MICFR);
+RMFN = max(0,RFMIC - MICFR - RFDANT  )* (1 - positif(ART1731BIS))
+     + max(0,RFMIC - MICFR - DEFRF4BD) * positif(ART1731BIS);
+regle 832:
+application : iliad , batch  ;
+RFCD = RFORDI + FONCI + REAMOR;
+regle 833:
+application : iliad , batch  ;
+VARRFDORD = min(RFCD,RFDORD);
+RFCE = max(0,RFCD- RFDORD) * (1 - positif(ART1731BIS))
+        + max(0,RFCD- DEFRF4BB) * positif(ART1731BIS);
+RFCEAPS = max(0,RFORDI- RFDORD) * (1 - positif(ART1731BIS))
+         + max(0,RFORDI- DEFRF4BB) *  positif(ART1731BIS);
+RFCEPS = max(0,RFCD-RFDORD)* (1 - positif(ART1731BIS))
+         +  max(0,RFCD-DEFRF4BB) * positif(ART1731BIS);
+
+DFCE = min(0,RFCD- RFDORD) * (1 - positif(ART1731BIS))
+       +  min(0,RFCD- DEFRF4BB)  * positif(ART1731BIS);
+
+RFCF = max(0,RFCE-(RFDHIS * (1 - positif(PREM8_11))));
+RFCFPS = (RFCEPS-RFDHIS* (1 - positif(PREM8_11)));
+RFCFAPS = max(0,RFCEAPS-(RFDHIS * (1 - positif(PREM8_11))));
+
+DRCF  = min(0,RFCE-(RFDHIS * (1 - positif(PREM8_11))));
+VARRFDANT = min(RFCF+RFMIC - MICFR,RFDANT);
+RFCG = max(0,RFCF- RFDANT) * (1 - positif(ART1731BIS))
+       + max(0,RFCF- DEFRF4BD) * positif(ART1731BIS);
+DFCG = min(0,RFCF- RFDANT) * (1 - positif(ART1731BIS))
+       + min(0,RFCF- DEFRF4BD) * positif(ART1731BIS);
+regle 834:
+application : iliad , batch  ;
+RFON = arr(RFCG*RFORDI/RFCD);
+2REVF = min( arr ((RFCG)*(FONCI)/RFCD) , RFCG-RFON);
+3REVF = min( arr (RFCG*(REAMOR)/RFCD) , RFCG-RFON-2REVF);
+RFQ = FONCI + REAMOR;
+regle 834113:
+application : iliad ;
+DEF4BB = RFORDI + RFMIC * 0.70 + FONCI + REAMOR - max(0,RFORDI+ RFMIC * 0.70 + FONCI + REAMOR - RFDORD);
+DEFRF4BB = min(RFDORD,max(DEF4BB1731,max(DEF4BB_P,DEF4BB[DGFIP][2017]))) * DEFRIRF * (1-PREM8_11) ;
+regle 834115:
+application : iliad ;
+DEF4BD = RFORDI + RFMIC * 0.70 + FONCI + REAMOR-RFDORD - RFDHIS- max(0,RFORDI+ RFMIC * 0.70 + FONCI + REAMOR-RFDORD - RFDHIS-RFDANT);
+DEFRF4BD = min(RFDANT,max(DEF4B[DGFIP][2017]731,max(DEF4BD_P,DEF4BD[DGFIP][2017])))* DEFRIRF * (1-PREM8_11) ;
+DEF4BC = max(0, RFORDI-RFDORD);
+DEFRF4BC = max(0,min(RFDHIS,-max(DEF4BC1731,max(DEF4BC_P,DEF4BC[DGFIP][2017]))+RFDHIS)) * positif(DEFRIGLOBINF+DEFRIGLOBSUP) * (1-PREM8_11);
+regle 834117:
+application : iliad ;
+DEFRFNONI = max(0,RFDORD + RFDANT - DEFRF4BB - DEFRF4BD);
+ 
diff --git a/sources2014m_2_15/chap-84.m b/sources2014m_2_15/chap-84.m
new file mode 100644
index 0000000000000000000000000000000000000000..ea615bf69ed96fa64880870a7a00f44c78ef22be
--- /dev/null
+++ b/sources2014m_2_15/chap-84.m
@@ -0,0 +1,224 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 801 :
+application : iliad , batch  ;
+BA1AF =  BA[DGFIP][2017]AP  + BA[DGFIP][2017]AC  + BA[DGFIP][2017]AV  ;
+regle 840 :
+application : iliad , batch  ;
+BARSV = BAHREV + 4BAHREV - BAHDEV * (1 - positif(ART1731BIS*PREM8_11));
+BARSREVV = BAHREV +4BAHREV;
+BARSC = BAHREC + 4BAHREC - BAHDEC * (1 - positif(ART1731BIS*PREM8_11));
+BARSREVC = BAHREC +4BAHREC;
+BARSP = BAHREP + 4BAHREP - BAHDEP * (1 - positif(ART1731BIS*PREM8_11));
+BARSREVP = BAHREP +4BAHREP;
+BARAV = BACREV + 4BACREV - BACDEV * (1 - positif(ART1731BIS*PREM8_11));
+BARREVAV = BACREV + 4BACREV;
+BARAC = BACREC  + 4BACREC - BACDEC * (1 - positif(ART1731BIS*PREM8_11));
+BARREVAC = BACREC + 4BACREC;
+BARAP = BACREP + 4BACREP -BACDEP * (1 - positif(ART1731BIS*PREM8_11));
+BARREVAP = BACREP + 4BACREP;
+regle 8421:
+application : iliad , batch  ;
+pour i =V,C,P:
+DEFBACREi = positif(4BACREi) * arr((((BACDEi * (1 - positif(ART1731BIS*PREM8_11)))) * BACREi) / BARREVAi) 
+				   + (1 - positif(4BACREi)) * (BACDEi * (1 - positif(ART1731BIS*PREM8_11))) ;
+pour i =V,C,P:
+4DEFBACREi = positif(4BACREi) * (((BACDEi * (1 - positif(ART1731BIS*PREM8_11)))) - DEFBACREi);
+regle 8422234:
+application : iliad ;
+SOMBARET = 4BACREV + 4BACREC + 4BACREP + (4BAHREV + 4BAHREC +4BAHREP) * MAJREV;
+SOMBARREVT = 4BAQV + 4BAQC +4BAQP ;
+PROQDEFBAT =  (max(0,SOMBARET-SOMBARREVT) / DEFBANIF ) * positif(DEFBANIF);
+regle 84211:
+application : iliad , batch  ;
+BANV = (BACREV - DEFBACREV) * positif_ou_nul(BARAV) + BARAV * (1-positif(BARAV));
+BANC = (BACREC - DEFBACREC) * positif_ou_nul(BARAC) + BARAC * (1-positif(BARAC));
+BANP = (BACREP - DEFBACREP) * positif_ou_nul(BARAP) + BARAP * (1-positif(BARAP));
+BAEV = (4BACREV - 4DEFBACREV) * positif_ou_nul(BARAV) + 0;
+BAEC = (4BACREC - 4DEFBACREC) * positif_ou_nul(BARAC) + 0;
+BAEP = (4BACREP - 4DEFBACREP) * positif_ou_nul(BARAP) + 0;
+regle 842111:
+application : iliad , batch  ;
+pour i =V,C,P:
+DEFBAHREi = positif(4BAHREi) * arr(((BAHDEi * (1 - positif(ART1731BIS*PREM8_11))) * BAHREi) / BARSREVi) 
+					      + (1 - positif(4BAHREi)) * (BAHDEi * (1 - positif(ART1731BIS*PREM8_11))) ;
+pour i =V,C,P:
+4DEFBAHREi = positif(4BAHREi) * ((BAHDEi * (1 - positif(ART1731BIS*PREM8_11) )) - DEFBAHREi) ;
+regle 843:
+application : iliad , batch  ;
+BAMV = arr((BAHREV - DEFBAHREV) * MAJREV) * positif_ou_nul(BARSV) + BARSV * (1-positif(BARSV));
+BAMC = arr((BAHREC - DEFBAHREC) * MAJREV) * positif_ou_nul(BARSC) + BARSC * (1-positif(BARSC));
+BAMP = arr((BAHREP - DEFBAHREP) * MAJREV) * positif_ou_nul(BARSP) + BARSP * (1-positif(BARSP));
+BAEMV = (arr((4BAHREV - 4DEFBAHREV)* MAJREV)) * positif_ou_nul(BARSV) + 0;
+BAEMC = (arr((4BAHREC - 4DEFBAHREC)* MAJREV)) * positif_ou_nul(BARSC) + 0;
+BAEMP = (arr((4BAHREP - 4DEFBAHREP)* MAJREV)) * positif_ou_nul(BARSP) + 0;
+regle 844:
+application : iliad , batch  ;
+BAFORV = arr(BAFV*MAJREV)+BAFORESTV+BAFPVV;
+BAFORC = arr(BAFC*MAJREV)+BAFORESTC+BAFPVC;
+BAFORP = arr(BAFP*MAJREV)+BAFORESTP+BAFPVP;
+regle 8441:
+application : iliad , batch  ;
+BAHQV = BANV + BAMV + BAFORV;
+BAHQC = BANC + BAMC + BAFORC;
+BAHQP = BANP + BAMP + BAFORP;
+regle 845:
+application : iliad , batch  ;
+4BAQV = max(0,(4BACREV - 4DEFBACREV))*positif_ou_nul(BARAV)+arr(max(0,(4BAHREV - 4DEFBAHREV))*MAJREV) * positif_ou_nul(BARSV);
+4BAQC = max(0,(4BACREC - 4DEFBACREC))*positif_ou_nul(BARAC)+arr(max(0,(4BAHREC - 4DEFBAHREC))*MAJREV) * positif_ou_nul(BARSC);
+4BAQP = max(0,(4BACREP - 4DEFBACREP))*positif_ou_nul(BARAP)+arr(max(0,(4BAHREP - 4DEFBAHREP))*MAJREV) * positif_ou_nul(BARSP);
+regle 8451:
+application : iliad , batch  ;
+BAQV = BAEV + BAEMV;
+BAQC = BAEC + BAEMC;
+BAQP = BAEP + BAEMP;
+regle 84551:
+application : iliad , batch  ;
+BA1V = BA1AV + BA[DGFIP][2017]AV ;
+BA1C = BA1AC + BA[DGFIP][2017]AC ;
+BA1P = BA1AP + BA[DGFIP][2017]AP ;
+regle 84552:
+application : iliad , batch  ;
+BAHQT=BAHQV+BAHQC+BAHQP;
+regle 8455299:
+application : iliad , batch  ;
+DAGRIIMP = max(0,min(BAHQV+BAHQC+BAHQP + BAQV + BAQC + BAQP,DAGRI6 +DAGR[DGFIP][2017] +DAGRI4 + DAGRI3 + DAGR[DGFIP][2017] + DAGR[DGFIP][2017]));
+TOTDAGRI =  min(DAGRI6 +DAGR[DGFIP][2017] +DAGRI4 + DAGRI3 + DAGR[DGFIP][2017] + DAGR[DGFIP][2017] ,max(DAGRIIM[DGFIP][2017]731,max(DAGRIIMP_P,DAGRIIMP[DGFIP][2017]))) * positif(ART1731BIS*(1-PREM8_11))
+             + DAGRIIMP * (1-positif(ART1731BIS))
+             + 0 * positif(ART1731BIS*PREM8_11);
+regle 845529:
+application : iliad , batch  ;
+BAHQTOT=BAHQV+BAHQC+BAHQP-TOTDAGRI*(1-ART1731BIS);
+BAHQTOTMAXP=positif_ou_nul(BAHQT) * (max(0,BAHQV+BAHQC+BAHQP-TOTDAGRI));
+regle 8455255:
+application : iliad , batch;
+BAHQTOTMAXN=positif_ou_nul(BAHQT) * min(0,BAHQV+BAHQC+BAHQP-TOTDAGRI*(1-ART1731BIS));
+BAHQTOTMIN=positif(-BAHQT) * BAHQT;
+regle 84513:
+application : iliad , batch  ;
+BAQT = BAQV + BAQC + BAQP;
+BAQTOT = max(0,BAQV + BAQC + BAQP + BAHQTOTMAXN);
+BAQTOTN = min(0,BAQV + BAQC + BAQP + BAHQTOTMAXN);
+BAQTOTMIN = min(0,BAQV + BAQC + BAQP + BAHQTOTMIN);
+BAQTOTAV = positif_ou_nul(BAQT + BAHQT) * BAQTOT + (1 - positif(BAQT + BAHQT)) * 0;
+regle 845138:
+application : iliad , batch  ;
+4BAQTOT = somme(x=V,C,P: 4BAQx) ;
+4BAQTOTNET = positif(4BAQTOT) * (
+                     max(0, 4BAQTOT + (BAHQTOTMIN + BAHQTOTMAXN) ) * positif((1-ART1731BIS)+(1-positif(DEFRIBASUP+DEFRIGLOBSUP))*(1-PREM8_11))
+                     + max(0,min(4BAQV+4BAQC+4BAQP+arr(DEFBANIF*PROQDEFBAT)
+                      ,4BACREV+4BACREC+4BACREP+(4BAHREV+4BAHREC+4BAHREP)*MAJREV ))* positif(DEFRIBASUP+DEFRIGLOBSUP)*(1-PREM8_11));
+regle 845111:
+application : iliad , batch  ;
+BA1 = BA1V + BA1C + BA1P; 
+regle 846:
+application : iliad , batch  ;
+BANOR = (BAHQTOTMAXP + BAQTOTMIN) * (1-ART1731BIS)
+        + (BAHQTOTMAXP + BAQTOTMIN + arr(DEFBANIF * (1-PROQDEFBAT))) * ART1731BIS * (1-PREM8_11)
+        + (BAHQTOTMAXP + BAQTOTMIN) * ART1731BIS * PREM8_11;
+
+regle 847:
+application : iliad , batch  ;
+
+DEFBA2 = ((1-positif(BAHQT+BAQT)) * (DAGR[DGFIP][2017])
+                 + positif(BAHQT+BAQT) *
+                 abs(min(max(BAHQT+BAQT-DAGRI6-DAGR[DGFIP][2017]-DAGRI4-DAGRI3-DAGR[DGFIP][2017],0)-DAGR[DGFIP][2017],DAGR[DGFIP][2017]))
+                 * positif_ou_nul(DAGR[DGFIP][2017]-max(BAHQT+BAQT-DAGRI6-DAGR[DGFIP][2017]-DAGRI4-DAGRI3-DAGR[DGFIP][2017],0))
+                 * (1 - positif(IPVLOC)))
+                 * (1-positif(ART1731BIS))
+                  + min(DAGR[DGFIP][2017],DAGRI-DBAIP) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + DAGR[DGFIP][2017] * positif(positif(ART1731BIS*PREM8_11)+null(8-CMAJ)+null(11-CMAJ));
+DEFBA3 = ((1-positif(BAHQT+BAQT)) * (DAGR[DGFIP][2017])
+                 + positif(BAHQT+BAQT) *
+                 abs(min(max(BAHQT+BAQT-DAGRI6-DAGR[DGFIP][2017]-DAGRI4-DAGRI3,0)-DAGR[DGFIP][2017],DAGR[DGFIP][2017]))
+                 * positif_ou_nul(DAGR[DGFIP][2017]-max(BAHQT+BAQT-DAGRI6-DAGR[DGFIP][2017]-DAGRI4-DAGRI3,0))
+                 * (1 - positif(IPVLOC)))
+                 * (1-positif(ART1731BIS))
+                  + min(DAGR[DGFIP][2017],DAGRI-DBAIP-DEFBA2) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + DAGR[DGFIP][2017] * positif(positif(ART1731BIS*PREM8_11)+null(8-CMAJ)+null(11-CMAJ));
+DEFBA4 = ((1-positif(BAHQT+BAQT)) * (DAGRI3)
+                 + positif(BAHQT+BAQT) *
+                 abs(min(max(BAHQT+BAQT-DAGRI6-DAGR[DGFIP][2017]-DAGRI4,0)-DAGRI3,DAGRI3))
+                 * positif_ou_nul(DAGRI3-max(BAHQT+BAQT-DAGRI6-DAGR[DGFIP][2017]-DAGRI4,0))
+                 * (1 - positif(IPVLOC)))
+                 * (1-positif(ART1731BIS))
+                  + min(DAGRI3,DAGRI-DBAIP-DEFBA2-DEFBA3) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + DAGRI3 * positif(positif(ART1731BIS*PREM8_11)+null(8-CMAJ)+null(11-CMAJ));
+DEFBA5 = ((1-positif(BAHQT+BAQT)) * (DAGRI4)
+                 + positif(BAHQT+BAQT) *
+                 abs(min(max(BAHQT+BAQT-DAGRI6-DAGR[DGFIP][2017],0)-DAGRI4,DAGRI4))
+                 * positif_ou_nul(DAGRI4-max(BAHQT+BAQT-DAGRI6-DAGR[DGFIP][2017],0))
+                 * (1 - positif(IPVLOC)))
+                 * (1-positif(ART1731BIS))
+                  + min(DAGRI4,DAGRI-DBAIP-DEFBA2-DEFBA3-DEFBA4) *positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + DAGRI4 * positif(positif(ART1731BIS*PREM8_11)+null(8-CMAJ)+null(11-CMAJ));
+
+DEFBA6 = ((1-positif(BAHQT+BAQT)) * (DAGR[DGFIP][2017])
+                 + positif(BAHQT+BAQT) *
+                 abs(min(max(BAHQT+BAQT-DAGRI6,0)-DAGR[DGFIP][2017],DAGR[DGFIP][2017]))
+                 * positif_ou_nul(DAGR[DGFIP][2017]-max(BAHQT+BAQT-DAGRI6,0))
+                 * (1 - positif(IPVLOC)))
+                 * (1-positif(ART1731BIS))
+                  + min(DAGR[DGFIP][2017],DAGRI-DBAIP-DEFBA2-DEFBA3-DEFBA4-DEFBA5)* positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + DAGR[DGFIP][2017] * positif(positif(ART1731BIS*PREM8_11)+null(8-CMAJ)+null(11-CMAJ));
+DEFBA1 = ((1-positif(BAHQT+BAQT)) * (abs(BAHQT+BAQT)-abs(DEFIBA))
+                 + positif(BAHQT+BAQT) *
+                 positif_ou_nul(DAGR[DGFIP][2017]+DAGRI4+DAGRI3+DAGR[DGFIP][2017]+DAGR[DGFIP][2017]-BAHQT-BAQT)
+                 * (DAGR[DGFIP][2017]+DAGRI4+DAGRI3+DAGR[DGFIP][2017]+DAGR[DGFIP][2017]-BAHQT-BAQT)
+                  * null(DEFBA2+DEFBA3+DEFBA4+DEFBA5+DEFBA6)
+                 * (1 - positif(IPVLOC)))
+                 * (1-positif(ART1731BIS))
+                 +  DEFBANIF * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                 + (BACDEV +BACDEC +BACDEP +BAHDEV +BAHDEC +BAHDEP) * positif(positif(ART1731BIS*PREM8_11)+null(8-CMAJ)+null(11-CMAJ))*(1-positif(SEUIL_IMPDEFBA + 1 - SHBA - (REVTP-BA1) - REVQTOTQHT));
+regle 848:
+application : iliad , batch  ;
+DEFIBAANT = positif_ou_nul(BAQT+BAHQTOT-(min(DAGR[DGFIP][2017],DAGR[DGFIP][2017]1731+0) * positif(ART1731BIS) + DAGR[DGFIP][2017] * (1 - ART1731BIS))
+				       -(min(DAGR[DGFIP][2017],DAGR[DGFIP][2017]1731+0) * positif(ART1731BIS) + DAGR[DGFIP][2017] * (1 - ART1731BIS))
+				       -(min(DAGRI3,DAGRI31731+0) * positif(ART1731BIS) + DAGRI3 * (1 - ART1731BIS))
+				       -(min(DAGRI4,DAGRI41731+0) * positif(ART1731BIS) + DAGRI4 * (1 - ART1731BIS))
+				       -(min(DAGR[DGFIP][2017],DAGR[DGFIP][2017]1731+0) * positif(ART1731BIS) + DAGR[DGFIP][2017] * (1 - ART1731BIS))
+				       -(min(DAGRI6,DAGRI61731+0) * positif(ART1731BIS) + DAGRI6 * (1 - ART1731BIS)))
+            * ((min(DAGR[DGFIP][2017],DAGR[DGFIP][2017]1731+0) * positif(ART1731BIS) + DAGR[DGFIP][2017] * (1 - ART1731BIS))
+	    -(min(DAGR[DGFIP][2017],DAGR[DGFIP][2017]1731+0) * positif(ART1731BIS) + DAGR[DGFIP][2017] * (1 - ART1731BIS))
+	    -(min(DAGRI3,DAGRI31731+0) * positif(ART1731BIS) + DAGRI3 * (1 - ART1731BIS))
+	    -(min(DAGRI4,DAGRI41731+0) * positif(ART1731BIS) + DAGRI4 * (1 - ART1731BIS))
+	    -(min(DAGR[DGFIP][2017],DAGR[DGFIP][2017]1731+0) * positif(ART1731BIS) + DAGR[DGFIP][2017] * (1 - ART1731BIS))
+	    -(min(DAGRI6,DAGRI61731+0) * positif(ART1731BIS) + DAGRI6 * (1 - ART1731BIS)))
+            + positif_ou_nul((min(DAGR[DGFIP][2017],DAGR[DGFIP][2017]1731+0) * positif(ART1731BIS) + DAGR[DGFIP][2017] * (1 - ART1731BIS))
+	    +(min(DAGR[DGFIP][2017],DAGR[DGFIP][2017]1731+0) * positif(ART1731BIS) + DAGR[DGFIP][2017] * (1 - ART1731BIS))
+	    +(min(DAGRI3,DAGRI31731+0) * positif(ART1731BIS) + DAGRI3 * (1 - ART1731BIS))
+	    +(min(DAGRI4,DAGRI41731+0) * positif(ART1731BIS) + DAGRI4 * (1 - ART1731BIS))
+	    +(min(DAGR[DGFIP][2017],DAGR[DGFIP][2017]1731+0) * positif(ART1731BIS) + DAGR[DGFIP][2017] * (1 - ART1731BIS))
+	    +(min(DAGRI6,DAGRI61731+0) * positif(ART1731BIS) + DAGRI6 * (1 - ART1731BIS))-BAQT-BAHQTOT)
+            * (BAQT+BAHQTOT);
+regle 849:
+application : iliad , batch  ;
+DAGRI = DAGR[DGFIP][2017]+DAGR[DGFIP][2017]+DAGRI3+DAGRI4+DAGR[DGFIP][2017]+DAGRI6;
+VAREDAGRI = min(DAGRI,BAHQV+BAHQC+BAHQP);
+regle 850:
+application : iliad , batch  ;
+BAQTOTAVIS = 4BAQTOTNET;
+regle 8509:
+application : iliad , batch  ;
+SOMDEFBANI = BACDEV+BAHDEV+BACDEC+BAHDEC+BACDEP+BAHDEP;
+DEFBANI = (BAHQV+BAHQC+BAHQP-TOTDAGRI+4BAQV+4BAQC+4BAQP +DBAIP+SOMDEFBANI); 
+DEFBANIF = positif(DEFRIBASUP+DEFRIGLOBSUP) * (1-PREM8_11) * max(0,min(SOMDEFBANI,
+                                            -(max(DEFBAN[DGFIP][2017]731,max(DEFBANI_P,DEFBANI[DGFIP][2017]))-SOMDEFBANI)));
diff --git a/sources2014m_2_15/chap-85.m b/sources2014m_2_15/chap-85.m
new file mode 100644
index 0000000000000000000000000000000000000000..53d8ba3d6d7f2c156b8a738ab3d9af503ca639b0
--- /dev/null
+++ b/sources2014m_2_15/chap-85.m
@@ -0,0 +1,470 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+regle 8501 :
+application : iliad , batch  ;
+ pour i= V,C,P:                                           
+BIPTAi = (BICNOi - (BICDNi * (1 - positif(ART1731BIS*PREM8_11))) );           
+pour i= V,C,P:                                           
+BIPTTAi = (BIPTAi + B[DGFIP][2017]Ai);              
+regle 8503 :
+application : iliad , batch  ;
+
+pour i= V,C,P:                                           
+BINTAi = (BICREi -  BICDEi * (1 - positif(ART1731BIS*PREM8_11)) );        
+                                                         
+pour i= V,C,P:                                           
+BINTTAi = (BINTAi + B[DGFIP][2017]Ai);           
+regle 8506 :
+application : iliad , batch  ;
+ 
+pour i= V,C,P:                                           
+B[DGFIP][2017]2Ai = B[DGFIP][2017]Ai +  B[DGFIP][2017]Ai;
+
+regle 8508 :
+application : iliad , batch  ;
+
+pour i= V,C,P:                                           
+BITAi = BIPTAi + BINTAi;
+
+pour i= V,C,P:                                           
+BITTAi = BITAi + B[DGFIP][2017]2Ai;
+regle 857:
+application : iliad , batch  ;
+B[DGFIP][2017] = somme(i=V,C,P:B[DGFIP][2017]i);
+B[DGFIP][2017] = somme(i=V,C,P:B[DGFIP][2017]i);
+regle 8571:
+application : iliad , batch  ;
+pour i = V,C,P:
+B[DGFIP][2017]i = B[DGFIP][2017]Ai;
+pour i = V,C,P:
+B[DGFIP][2017]i = B[DGFIP][2017]Ai;
+regle 8580:
+application : iliad , batch ;
+pour i = V,P,C:
+BIHTAi = max(0,arr((BIHNOi - (BIHDNi * (1 - positif(ART1731BIS*PREM8_11)))) * MAJREV))
+         + min(0,(BIHNOi - (BIHDNi * (1 - positif(ART1731BIS*PREM8_11) ))) );
+
+pour i = V,P,C:
+BINHTAi = max(0,arr((BICHREi - BICHDEi * (1 - positif(ART1731BIS*PREM8_11)))*MAJREV))
+          + min(0,(BICHREi -  BICHDEi * (1 - positif(ART1731BIS*PREM8_11))))  ;
+regle 85200:
+application : iliad , batch ;
+
+pour i = V,C,P:
+MIB_TVENi = MIBVENi + MIBNPVENi + MIBGITEi+LOCGITi;
+
+pour i = V,C,P:
+MIB_TPRESi = MIBPRESi + MIBNPPRESi + MIBMEUi;
+
+pour i = V,C,P:
+MIB_TTi = MIB_TVENi + MIB_TPRESi;
+
+regle 85240:
+application : iliad , batch ;
+
+pour i = V,C,P:
+MIB_AVi = min ( MIB_TVENi,
+                         (max(MIN_MBIC,
+                              arr( MIB_TVENi*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+PMIB_AVi = min ( MIBVENi,
+                         (max(MIN_MBIC,
+                              arr( MIBVENi*TX_MIBVEN/100))
+                         )
+              );
+
+
+pour i = V,C,P:
+MIB_APi = min ( MIB_TPRESi,
+                         (max(MIN_MBIC,
+                              arr(MIB_TPRESi*TX_MIBPRES/100))
+                         )
+               );
+pour i = V,C,P:
+PMIB_APi = min ( MIBPRESi,
+                         (max(MIN_MBIC,
+                              arr(MIBPRESi*TX_MIBPRES/100))
+                         )
+               );
+
+
+
+regle 85250:
+application : iliad , batch ;
+
+pour i = V,C,P:
+MIB_ABVi = max(0,arr(MIB_AVi * MIBVENi / MIB_TVENi));
+pour i = V,C,P:
+MIB_ABNPVi = max(0,arr(MIB_AVi * MIBNPVENi / MIB_TVENi))* positif(present(MIBGITEi)+present(LOCGITi))
+	      + (MIB_AVi - MIB_ABVi) * (1 - positif(present(MIBGITEi)+present(LOCGITi)));
+pour i = V,C,P:
+MIB_ABNPVLi = (MIB_AVi - MIB_ABVi - MIB_ABNPVi) * positif(present(MIBGITEi)+present(LOCGITi));
+
+pour i = V,C,P:
+MIB_ABPi = max(0,arr(MIB_APi * MIBPRESi / MIB_TPRESi));
+pour i = V,C,P:
+MIB_ABNPPi = max(0,arr(MIB_APi * MIBNPPRESi / MIB_TPRESi)) * present(MIBMEUi)
+	      + (MIB_APi - MIB_ABPi) * (1 - present(MIBMEUi));
+pour i = V,C,P:
+MIB_ABNPPLi = (MIB_APi - MIB_ABPi - MIB_ABNPPi) *  present(MIBMEUi);
+
+
+regle 85260:
+application : iliad , batch ;
+
+pour i = V,C,P:
+MIB_NETVi = MIBVENi - MIB_ABVi;
+MIBNETVF = somme(i=V,C,P:MIB_NETVi) ;
+pour i = V,C,P:
+MIB_NETNPVi = MIBNPVENi - MIB_ABNPVi;
+MIBNETNPVF = somme(i=V,C,P:MIB_NETNPVi);
+pour i = V,C,P:
+MIB_NETNPVLi = MIBGITEi+ LOCGITi - MIB_ABNPVLi;
+pour i = V,C,P:
+MIBNETNPVLSi = arr(MIB_NETNPVLi * MIBGITEi / (MIBGITEi + LOCGITi));
+pour i = V,C,P:
+MIBNETNPVLNSi = MIB_NETNPVLi - MIBNETNPVLSi;
+MIBNETNPVLF = somme(i=V,C,P:MIB_NETNPVLi);
+
+pour i = V,C,P:
+MIB_NETPi = MIBPRESi - MIB_ABPi;
+MIBNETPF = somme(i=V,C,P:MIB_NETPi) ;
+pour i = V,C,P:
+MIB_NETNPPi = MIBNPPRESi - MIB_ABNPPi;
+MIBNETNPPF = somme(i=V,C,P:MIB_NETNPPi);
+pour i = V,C,P:
+MIB_NETNPPLi = MIBMEUi - MIB_ABNPPLi;
+MIBNETNPPLF = somme(i=V,C,P:MIB_NETNPPLi);
+
+pour i = V,C,P:
+PMIB_NETVi = MIBVENi - PMIB_AVi;
+pour i = V,C,P:
+PMIB_NETPi = MIBPRESi - PMIB_APi;
+
+
+
+regle 85265:
+application : iliad , batch ;
+MIB_NETCT = MIBPVV + MIBPVC + MIBPVP - BICPMVCTV - BICPMVCTC - BICPMVCTP;
+
+MIB_NETNPCT = MIBNPPVV + MIBNPPVC + MIBNPPVP - MIBNPDCT ;
+
+
+regle 85270:
+application : iliad , batch ;
+
+pour i=V,C,P:
+MIB_[DGFIP][2017]Ai = MIB1Ai - MIBDEi ;
+pour i=V,C,P:
+MIB_N[DGFIP][2017]Ai = MIBN[DGFIP][2017]Ai - MIBNPDEi ;
+pour i=V,C,P:
+MIB_1Ai = max(0,MIB_[DGFIP][2017]Ai + MIB_N[DGFIP][2017]Ai);
+MIB_1AF = max (0, somme(i=V,C,P:MIB_1Ai));
+regle 85390:
+application : iliad , batch ;
+pour i = V,C,P:
+REVIB[DGFIP][2017]2i = BIH1i + BIH2i + B[DGFIP][2017]Ai + B[DGFIP][2017]Ai;
+regle 85700:
+application : iliad , batch ;
+BICPF = somme(i=V,C,P:BIPTAi+BIHTAi+MIB_NETVi+MIB_NETPi) + MIB_NETCT  ; 
+regle 85730:
+application : iliad , batch ;
+DEFNP  = somme (i=1,2,3,4,5,6:(min(DEFBICi,DEFBIC[DGFIP][2017]731+0) * positif(ART1731BIS*PREM8_11) + DEFBICi * (1 - positif(ART1731BIS*PREM8_11))));
+TOTDEFNP = null(4-V_IND_TRAIT) * DEFNP
+	 + null(5-V_IND_TRAIT) * (ART1731BIS * ( 
+                                     min(DEFNP,DEFNP[DGFIP][2017]731) * (1-PREM8_11)
+                                   + 0 * PREM8_11
+                                              )
+                                +  min(DEFNP,DEFNP[DGFIP][2017]731) * (1-ART1731BIS));
+regle 857301:
+application : iliad , batch ;
+pour i = V,C,P:
+BICNPi = BINTAi+BINHTAi+  MIB_NETNPVi + MIB_NETNPPi ;
+regle 857302:
+application : iliad , batch ;
+BICNPF = (1-positif(DEFRIBIC)*(1-PREM8_11)) * max(0,somme(i=V,C,P:BICNPi)+MIB_NETNPCT - DEFNPI) 
+         + positif(DEFRIBIC)*(1-PREM8_11) * max(0,somme(i=V,C,P:BICNPi)+MIB_NETNPCT - DEFNPI + DEFBICNPF) ; 
+regle 857303:
+application : iliad , batch ;
+DEFNPI = (abs(min( DEFNP , somme(i=V,C,P:BICNPi*positif(BICNPi))+MIB_NETNPCT))) * positif(BICNPV+BICNPC+BICNPP+MIB_NETNPCT)
+	 * (1-positif(ART1731BIS))
+         + ART1731BIS * (1-PREM8_11) * min(DEFBIC6+DEFBIC5+DEFBIC4+DEFBIC3+DEFBIC2+DEFBIC1,max(DEFNP[DGFIP][2017]731,max(DEFNPI_P,DEFNPI[DGFIP][2017])));
+regle 85740:
+application : iliad , batch ;
+BICNPR = somme(i=V,C,P:BINTAi);
+regle 85750:
+application : iliad , batch ;
+B[DGFIP][2017]2F = somme(i=V,C,P:REVIB[DGFIP][2017]2i) + MIB_1AF  ; 
+regle 85900:
+application : iliad , batch  ;                   
+pour i=V,C,P:                                       
+BICIMPi = BIHTAi +  BIPTAi + MIB_NETVi + MIB_NETPi;
+BIN = BICPF + BICNPF ;
+regle 85960:
+application : batch, iliad ;
+
+
+
+DCTMIB = (BICPMVCTV + BICPMVCTC + BICPMVCTP) * positif_ou_nul(BIPN+MIB_NETCT)
+	 + (1-positif_ou_nul(BIPN+MIB_NETCT)) * ((BICPMVCTV +BICPMVCTC +BICPMVCTP ) - abs(BIPN+MIB_NETCT))
+	 + (1-positif_ou_nul(BIPN+MIB_NETCT)) * null((BICPMVCTV +BICPMVCTC +BICPMVCTP) - abs(BIPN+MIB_NETCT)) * (BICPMVCTV +BICPMVCTC +BICPMVCTP)
+	 ;
+DCTMIBNP = MIBNPDCT * positif_ou_nul(BINNV+BINNC+BINNP+MIB_NETNPCT)
+	 + (1-positif_ou_nul(BINNV+BINNC+BINNP+MIB_NETNPCT)) * (MIBNPDCT - abs(BINNV+BINNC+BINNP+MIB_NETNPCT))
+	 + (1-positif_ou_nul(BINNV+BINNC+BINNP+MIB_NETNPCT)) * null(MIBNPDCT - abs(BINNV+BINNC+BINNP+MIB_NETNPCT))*MIBNPDCT
+	 ;
+regle 90000:
+application : iliad , batch  ;                   
+VARLOCDEFPROCGAV = min(max(LOCPROCGAV,max(LOCPROCGAV_P,LOCPROCGAV[DGFIP][2017])),LOCDEFPROCGAV);
+VARLOCDEFPROCGAC = min(max(LOCPROCGAC,max(LOCPROCGAC_P,LOCPROCGAC[DGFIP][2017])),LOCDEFPROCGAC);
+VARLOCDEFPROCGAP = min(max(LOCPROCGAP,max(LOCPROCGAP_P,LOCPROCGAP[DGFIP][2017])),LOCDEFPROCGAP);
+VARLOCDEFPROV = min(max(LOCPROV,max(LOCPROV_P,LOCPROV[DGFIP][2017])),LOCDEFPROV);
+VARLOCDEFPROC = min(max(LOCPROC,max(LOCPROC_P,LOCPROC[DGFIP][2017])),LOCDEFPROC);
+VARLOCDEFPROP = min(max(LOCPROP,max(LOCPROP_P,LOCPROP[DGFIP][2017])),LOCDEFPROP);
+DEPLOCV = (LOCPROCGAV - LOCDEFPROCGAV) + (LOCPROV - LOCDEFPROV) ;
+DEPLOCC = (LOCPROCGAC - LOCDEFPROCGAC) + (LOCPROC - LOCDEFPROC) ;
+DEPLOCP = (LOCPROCGAP - LOCDEFPROCGAP) + (LOCPROP - LOCDEFPROP) ;
+DENPLOCAFFV = positif(present(LOCNPCGAV) + present(LOCGITCV) + present(LOCDEFNPCGAV) + present(LOCNPV) + present(LOCGITHCV) + present(LOCDEFNPV)) ;
+DENPLOCAFFC = positif(present(LOCNPCGAC) + present(LOCGITCC) + present(LOCDEFNPCGAC) + present(LOCNPC) + present(LOCGITHCC) + present(LOCDEFNPC)) ;
+DENPLOCAFFP = positif(present(LOCNPCGAPAC) + present(LOCGITCP) + present(LOCDEFNPCGAPAC) + present(LOCNPPAC) + present(LOCGITHCP) + present(LOCDEFNPPAC)) ;
+
+DENPLOCV = (LOCNPCGAV + LOCGITCV - LOCDEFNPCGAV) + (LOCNPV + LOCGITHCV - LOCDEFNPV) ;
+DENPLOCC = (LOCNPCGAC + LOCGITCC - LOCDEFNPCGAC) + (LOCNPC + LOCGITHCC - LOCDEFNPC) ;
+DENPLOCP = (LOCNPCGAPAC + LOCGITCP - LOCDEFNPCGAPAC) + (LOCNPPAC + LOCGITHCP - LOCDEFNPPAC) ;
+
+PLOCCGAV = LOCPROCGAV - (LOCDEFPROCGAV * (1 - positif(ART1731BIS*PREM8_11) ));
+PLOCCGAC = LOCPROCGAC - (LOCDEFPROCGAC * (1 - positif(ART1731BIS*PREM8_11) ));
+PLOCCGAPAC = LOCPROCGAP - (LOCDEFPROCGAP * (1 - positif(ART1731BIS*PREM8_11) ));
+VARLOCDEFNPCGAV = min(max(LOCNPCGAV+LOCGITCV,max(LOCNPCGAV_P+LOCGITCV_P,LOCNPCGAV[DGFIP][2017]+LOCGITCV[DGFIP][2017])),LOCDEFNPCGAV);
+VARLOCDEFNPCGAC = min(max(LOCNPCGAC+LOCGITCC,max(LOCNPCGAC_P+LOCGITCC_P,LOCNPCGAC[DGFIP][2017]+LOCGITCC[DGFIP][2017])),LOCDEFNPCGAC);
+VARLOCDEFNPCGAP = min(max(LOCNPCGAPAC+LOCGITCP,max(LOCNPCGAPAC_P+LOCGITCP_P,LOCNPCGAPAC[DGFIP][2017]+LOCGITCP[DGFIP][2017])),LOCDEFNPCGAPAC);
+NPLOCCGAV = LOCNPCGAV + LOCGITCV - LOCDEFNPCGAV * (1 - positif(ART1731BIS*PREM8_11));
+NPLOCCGAC = LOCNPCGAC + LOCGITCC - LOCDEFNPCGAC * (1 - positif(ART1731BIS*PREM8_11));
+NPLOCCGAPAC = LOCNPCGAPAC + LOCGITCP - LOCDEFNPCGAPAC * (1 - positif(ART1731BIS*PREM8_11));
+NPLOCCGASSV = LOCNPCGAV + LOCGITCV - LOCDEFNPCGAV;
+NPLOCCGASSC = LOCNPCGAC + LOCGITCC - LOCDEFNPCGAC;
+NPLOCCGASSPAC = LOCNPCGAPAC + LOCGITCP - LOCDEFNPCGAPAC;
+NPLOCCGASV = arr(NPLOCCGAV * LOCNPCGAV / (LOCNPCGAV + LOCGITCV))* present(LOCNPCGAV) + min(0,NPLOCCGAV) * (1-present(LOCNPCGAV));
+NPLOCCGASC = arr(NPLOCCGAC * LOCNPCGAC / (LOCNPCGAC + LOCGITCC))* present(LOCNPCGAC) + min(0,NPLOCCGAC) * (1-present(LOCNPCGAC));
+NPLOCCGASP = arr(NPLOCCGAPAC * LOCNPCGAPAC / (LOCNPCGAPAC + LOCGITCP))* present(LOCNPCGAPAC) + min(0,NPLOCCGAPAC) * (1-present(LOCNPCGAPAC));
+NPLOCCGANSV = NPLOCCGAV - NPLOCCGASV;
+NPLOCCGANSC = NPLOCCGAC - NPLOCCGASC;
+NPLOCCGANSP = NPLOCCGAPAC - NPLOCCGASP;
+PLOCV = min(0,LOCPROV - (LOCDEFPROV * (1 - positif(ART1731BIS*PREM8_11) )))
+				 * positif_ou_nul((LOCDEFPROV * (1 - positif(ART1731BIS*PREM8_11) )) - LOCPROV)
+	       + arr(max(0, LOCPROV - (LOCDEFPROV * (1 - positif(ART1731BIS*PREM8_11) ))) * MAJREV) 
+						       * positif(LOCPROV - (LOCDEFPROV * (1 - positif(ART1731BIS*PREM8_11) )));
+PLOCC = min(0,LOCPROC - (LOCDEFPROC * (1 - positif(ART1731BIS*PREM8_11) ))) 
+			  * positif_ou_nul((LOCDEFPROC * (1 - positif(ART1731BIS*PREM8_11) ))- LOCPROC) 
+	       + arr(max(0, LOCPROC - (LOCDEFPROC * (1 - positif(ART1731BIS*PREM8_11) ))) * MAJREV) 
+					  * positif(LOCPROC - (LOCDEFPROC * (1 - positif(ART1731BIS*PREM8_11) )));
+PLOCPAC = min(0,LOCPROP - (LOCDEFPROP * (1 - positif(ART1731BIS*PREM8_11) ))) 
+			      * positif_ou_nul((LOCDEFPROP * (1 - positif(ART1731BIS*PREM8_11) ))- LOCPROP) 
+	       + arr(max(0, LOCPROP - (LOCDEFPROP * (1 - positif(ART1731BIS*PREM8_11) ))) * MAJREV) 
+				   * positif(LOCPROP - (LOCDEFPROP * (1 - positif(ART1731BIS*PREM8_11) )));
+VARLOCDEFNPV = min(LOCDEFNPV,max(LOCNPV+LOCGITHCV,max(LOCNPV_P+LOCGITHCV_P,LOCNPV[DGFIP][2017]+LOCGITHCV[DGFIP][2017])));
+VARLOCDEFNPC = min(LOCDEFNPC,max(LOCNPC+ LOCGITHCC,max(LOCNPC_P+LOCGITHCC_P,LOCNPC[DGFIP][2017]+LOCGITHCC[DGFIP][2017])));
+VARLOCDEFNPP = min(LOCDEFNPPAC,max(LOCNPPAC+LOCGITHCP,max(LOCNPP_P+LOCGITHCP_P,LOCNPP[DGFIP][2017]+LOCGITHCP[DGFIP][2017])));
+NPLOCV = min(0,LOCNPV + LOCGITHCV - LOCDEFNPV * (1 - positif(ART1731BIS*PREM8_11))) 
+				       * positif_ou_nul(LOCDEFNPV * (1 - positif(ART1731BIS*PREM8_11))- LOCNPV- LOCGITHCV ) 
+	       + arr(max(0, LOCNPV + LOCGITHCV - LOCDEFNPV * (1 - positif(ART1731BIS*PREM8_11))) * MAJREV) 
+				 * positif(LOCNPV + LOCGITHCV - LOCDEFNPV * (1 - positif(ART1731BIS*PREM8_11)));
+
+NPLOCC = min(0,LOCNPC + LOCGITHCC - LOCDEFNPC * (1 - positif(ART1731BIS*PREM8_11))) 
+				       * positif_ou_nul(LOCDEFNPC * (1 - positif(ART1731BIS*PREM8_11))- LOCNPC- LOCGITHCC ) 
+	       + arr(max(0, LOCNPC + LOCGITHCC - LOCDEFNPC * (1 - positif(ART1731BIS*PREM8_11))) * MAJREV) 
+						 * positif(LOCNPC + LOCGITHCC - LOCDEFNPC * (1 - positif(ART1731BIS*PREM8_11)));
+
+NPLOCPAC = min(0,LOCNPPAC + LOCGITHCP - LOCDEFNPPAC * (1 - positif(ART1731BIS*PREM8_11))) 
+				       * positif_ou_nul( LOCDEFNPPAC * (1 - positif(ART1731BIS*PREM8_11))- LOCNPPAC- LOCGITHCP ) 
+	       + arr(max(0, LOCNPPAC + LOCGITHCP - LOCDEFNPPAC * (1 - positif(ART1731BIS*PREM8_11))) * MAJREV) 
+						 * positif(LOCNPPAC + LOCGITHCP - LOCDEFNPPAC * (1 - positif(ART1731BIS*PREM8_11)));
+NPLOCSSV = min(0,LOCNPV + LOCGITHCV - LOCDEFNPV) 
+				       * positif_ou_nul(LOCDEFNPV- LOCNPV- LOCGITHCV ) 
+	       + arr(max(0, LOCNPV + LOCGITHCV - LOCDEFNPV) * MAJREV) 
+				 * positif(LOCNPV + LOCGITHCV -LOCDEFNPC );
+
+NPLOCSSC = min(0,LOCNPC + LOCGITHCC - LOCDEFNPC) 
+				       * positif_ou_nul(LOCDEFNPC- LOCNPC- LOCGITHCC ) 
+	       + arr(max(0, LOCNPC + LOCGITHCC - LOCDEFNPC) * MAJREV) 
+						 * positif(LOCNPC + LOCGITHCC - LOCDEFNPC);
+
+NPLOCSSPAC = min(0,LOCNPPAC + LOCGITHCP - LOCDEFNPPAC) 
+				       * positif_ou_nul(LOCDEFNPPAC- LOCNPPAC- LOCGITHCP ) 
+	       + arr(max(0, LOCNPPAC + LOCGITHCP - LOCDEFNPPAC) * MAJREV) 
+						 * positif(LOCNPPAC + LOCGITHCP - LOCDEFNPPAC);
+NPLOCSV = arr(NPLOCV * LOCNPV / (LOCNPV + LOCGITHCV))* positif(LOCNPV) + min(0,NPLOCV) * (1-positif(LOCNPV));
+NPLOCSC = arr(NPLOCC * LOCNPC / (LOCNPC + LOCGITHCC))* present(LOCNPC) + min(0,NPLOCC) * (1-positif(LOCNPC));
+NPLOCSP = arr(NPLOCPAC * LOCNPPAC / (LOCNPPAC + LOCGITHCP))* positif(LOCNPPAC) + min(0,NPLOCPAC) * (1-positif(LOCNPPAC));
+NPLOCNSV = NPLOCV - NPLOCSV;
+NPLOCNSC =  NPLOCC - NPLOCSC;
+NPLOCNSP = NPLOCPAC - NPLOCSP;
+regle 90010:
+application : iliad , batch  ;                   
+PLOCNETV = PLOCCGAV + PLOCV;
+PLOCNETC = PLOCCGAC + PLOCC;
+PLOCNETPAC = PLOCCGAPAC + PLOCPAC;
+NPLOCNETTV = NPLOCCGAV + NPLOCV + MIB_NETNPVLV + MIB_NETNPPLV ;
+NPLOCNETTC = NPLOCCGAC + NPLOCC + MIB_NETNPVLC + MIB_NETNPPLC ;
+NPLOCNETTPAC = NPLOCCGAPAC + NPLOCPAC + MIB_NETNPVLP + MIB_NETNPPLP ;
+NPLOCNETTSV = NPLOCCGASV + NPLOCSV + MIBNETNPVLSV + MIB_NETNPPLV ;
+NPLOCNETTSC = NPLOCCGASC + NPLOCSC + MIBNETNPVLSC + MIB_NETNPPLC ;
+NPLOCNETTSP = NPLOCCGASP + NPLOCSP + MIBNETNPVLSP + MIB_NETNPPLP ;
+NPLOCNETV = NPLOCCGAV + NPLOCV ;
+NPLOCNETC = NPLOCCGAC + NPLOCC ;
+NPLOCNETPAC = NPLOCCGAPAC + NPLOCPAC ;
+regle 90020:
+application : iliad , batch  ;                   
+PLOCNETF = PLOCNETV + PLOCNETC + PLOCNETPAC;
+TOTDEFLOCNP = LNPRODE[DGFIP][2017]0 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODE[DGFIP][2017]
+		+ LNPRODEF4 + LNPRODEF3 + LNPRODE[DGFIP][2017] + LNPRODE[DGFIP][2017];
+TOTDEFLOCNPBIS = null(4-V_IND_TRAIT) * (LNPRODE[DGFIP][2017]0 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODE[DGFIP][2017]+ LNPRODEF4 + LNPRODEF3 + LNPRODE[DGFIP][2017] + LNPRODE[DGFIP][2017] ) * (1-positif(ART1731BIS*PREM8_11))
+                + null(5-V_IND_TRAIT) * max(0,min(LNPRODE[DGFIP][2017]0 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODE[DGFIP][2017]+ LNPRODEF4 + LNPRODEF3 + LNPRODE[DGFIP][2017] + LNPRODE[DGFIP][2017],
+		TOTDEFLOCN[DGFIP][2017]731*ART1731BIS*(1-PREM8_11)+ (LNPRODE[DGFIP][2017]0 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODE[DGFIP][2017]+ LNPRODEF4 + LNPRODEF3 + LNPRODE[DGFIP][2017] + LNPRODE[DGFIP][2017])*(1-positif(ART1731BIS*PREM8_11))));
+TOTDEFLOCNPPS = LNPRODE[DGFIP][2017]0 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODE[DGFIP][2017]
+	        + LNPRODEF4 + LNPRODEF3 + LNPRODE[DGFIP][2017] + LNPRODE[DGFIP][2017];
+NPLOCNET[DGFIP][2017]0 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODE[DGFIP][2017]0,LNPRODE[DGFIP][2017]01731+0) * positif(ART1731BIS*PREM8_11) + LNPRODE[DGFIP][2017]0 * (1 - positif(ART1731BIS*PREM8_11)))
+						      +(min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF9 * (1 - positif(ART1731BIS*PREM8_11))));
+NPLOCNETF9 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODE[DGFIP][2017]0,LNPRODE[DGFIP][2017]01731+0) * positif(ART1731BIS*PREM8_11) + LNPRODE[DGFIP][2017]0 * (1 - positif(ART1731BIS*PREM8_11))) 
+						      +(min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF9 * (1 - positif(ART1731BIS*PREM8_11))) 
+						      +(min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF8 * (1 - positif(ART1731BIS*PREM8_11))));
+NPLOCNETF8 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODE[DGFIP][2017]0,LNPRODE[DGFIP][2017]01731+0) * positif(ART1731BIS*PREM8_11) + LNPRODE[DGFIP][2017]0 * (1 - positif(ART1731BIS*PREM8_11))) 
+						      +(min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF9 * (1 - positif(ART1731BIS*PREM8_11))) 
+						      +(min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF8 * (1 - positif(ART1731BIS*PREM8_11))) 
+						      +(min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF7 * (1 - positif(ART1731BIS*PREM8_11))));
+NPLOCNETF7 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODE[DGFIP][2017]0,LNPRODE[DGFIP][2017]01731+0) * positif(ART1731BIS*PREM8_11) + LNPRODE[DGFIP][2017]0 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS*PREM8_11)  + LNPRODEF9 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS*PREM8_11)  + LNPRODEF8 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS*PREM8_11)  + LNPRODEF7 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF6,LNPRODEF61731+0) * positif(ART1731BIS*PREM8_11)  + LNPRODEF6 * (1 - positif(ART1731BIS*PREM8_11))));
+NPLOCNETF6 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODE[DGFIP][2017]0,LNPRODE[DGFIP][2017]01731+0) * positif(ART1731BIS*PREM8_11) + LNPRODE[DGFIP][2017]0 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS*PREM8_11)  + LNPRODEF9 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS*PREM8_11)  + LNPRODEF8 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS*PREM8_11)  + LNPRODEF7 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF6,LNPRODEF61731+0) * positif(ART1731BIS*PREM8_11)  + LNPRODEF6 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODE[DGFIP][2017],LNPRODE[DGFIP][2017]1731+0) * positif(ART1731BIS*PREM8_11)  + LNPRODE[DGFIP][2017] * (1 - positif(ART1731BIS*PREM8_11))));
+NPLOCNET[DGFIP][2017] = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODE[DGFIP][2017]0,LNPRODE[DGFIP][2017]01731+0) * positif(ART1731BIS*PREM8_11) + LNPRODE[DGFIP][2017]0 * (1 - positif(ART1731BIS*PREM8_11))) 
+                                                  + (min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS*PREM8_11)  + LNPRODEF9 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS*PREM8_11)  + LNPRODEF8 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS*PREM8_11)  + LNPRODEF7 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF6,LNPRODEF61731+0) * positif(ART1731BIS*PREM8_11)  + LNPRODEF6 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODE[DGFIP][2017],LNPRODE[DGFIP][2017]1731+0) * positif(ART1731BIS*PREM8_11)  + LNPRODE[DGFIP][2017] * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF4,LNPRODEF41731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF4 * (1 - positif(ART1731BIS*PREM8_11))));
+NPLOCNETF4 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODE[DGFIP][2017]0,LNPRODE[DGFIP][2017]01731+0) * positif(ART1731BIS*PREM8_11) + LNPRODE[DGFIP][2017]0 * (1 - positif(ART1731BIS*PREM8_11))) 
+                                                  + (min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF9 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF8 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF7 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF6,LNPRODEF61731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF6 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODE[DGFIP][2017],LNPRODE[DGFIP][2017]1731+0) * positif(ART1731BIS*PREM8_11) + LNPRODE[DGFIP][2017] * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF4,LNPRODEF41731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF4 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF3,LNPRODEF31731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF3 * (1 - positif(ART1731BIS*PREM8_11))));
+NPLOCNETF3 = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODE[DGFIP][2017]0,LNPRODE[DGFIP][2017]01731+0) * positif(ART1731BIS*PREM8_11) + LNPRODE[DGFIP][2017]0 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF9 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF8 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF7 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF6,LNPRODEF61731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF6 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODE[DGFIP][2017],LNPRODE[DGFIP][2017]1731+0) * positif(ART1731BIS*PREM8_11) + LNPRODE[DGFIP][2017] * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF4,LNPRODEF41731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF4 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF3,LNPRODEF31731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF3 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODE[DGFIP][2017],LNPRODE[DGFIP][2017]1731+0) * positif(ART1731BIS*PREM8_11) + LNPRODE[DGFIP][2017] * (1 - positif(ART1731BIS*PREM8_11))) );
+NPLOCNET[DGFIP][2017] = NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-((min(LNPRODE[DGFIP][2017]0,LNPRODE[DGFIP][2017]01731+0) * positif(ART1731BIS*PREM8_11) + LNPRODE[DGFIP][2017]0 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF9,LNPRODEF91731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF9 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF8,LNPRODEF81731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF8 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF7,LNPRODEF71731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF7 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF6,LNPRODEF61731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF6 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODE[DGFIP][2017],LNPRODE[DGFIP][2017]1731+0) * positif(ART1731BIS*PREM8_11) + LNPRODE[DGFIP][2017] * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF4,LNPRODEF41731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF4 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODEF3,LNPRODEF31731+0) * positif(ART1731BIS*PREM8_11) + LNPRODEF3 * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODE[DGFIP][2017],LNPRODE[DGFIP][2017]1731+0) * positif(ART1731BIS*PREM8_11) + LNPRODE[DGFIP][2017] * (1 - positif(ART1731BIS*PREM8_11))) 
+						  + (min(LNPRODE[DGFIP][2017],LNPRODE[DGFIP][2017]1731+0) * positif(ART1731BIS*PREM8_11) + LNPRODE[DGFIP][2017] * (1 - positif(ART1731BIS*PREM8_11))));
+regle 90020195:
+application : iliad ,batch;               
+NPLOCNETF = positif((1-positif(DEFRILOC))+PREM8_11) * max(0,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC - DNPLOCIMPU)
+         + positif(DEFRILOC)*(1-PREM8_11) *  max(0,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC- DNPLOCIMPU+DEFLOCNPF);
+NPLOCNETSF = max(0,NPLOCNETTSV + NPLOCNETTSC + NPLOCNETTSP-TOTDEFLOCNPBIS);
+regle 90020197:
+application : iliad ,batch;               
+DNPLOCIMPU = (1-DEFRILOC) * (1-PREM8_11) * max(0,min(TOTDEFLOCNP,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC))
+	     + positif(DEFRILOC)*(1-PREM8_11) *
+                      min(LNPRODE[DGFIP][2017]0+LNPRODEF9+LNPRODEF8+LNPRODEF7+LNPRODEF6+LNPRODE[DGFIP][2017]+LNPRODEF4+LNPRODEF3+LNPRODE[DGFIP][2017]+LNPRODE[DGFIP][2017],
+                            max(DNPLOCIMPU1731,max(DNPLOCIMPU_P,DNPLOCIMPU[DGFIP][2017])));
+
+NPLOCNETFHDEFANT = max(0,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC);
+DEFNPLOCF = min(0,NPLOCNETTV + NPLOCNETTC + NPLOCNETTPAC-(TOTDEFLOCNPBIS-LNPRODE[DGFIP][2017]0));
+DEFNONPLOC = abs(DEFNPLOCF) ;
+regle 90030:
+application : iliad , batch  ;
+DEFLOC2 = ((1-positif(NPLOCNET[DGFIP][2017]))
+             * abs(min(max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODE[DGFIP][2017]-LNPRODEF4-LNPRODEF3-LNPRODE[DGFIP][2017],0)-LNPRODE[DGFIP][2017],LNPRODE[DGFIP][2017]))
+             * positif_ou_nul(LNPRODE[DGFIP][2017]-max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODE[DGFIP][2017]-LNPRODEF4-LNPRODEF3-LNPRODE[DGFIP][2017],0)))
+                      * (1-positif(ART1731BIS)) 
+                  + min(LNPRODE[DGFIP][2017],TOTDEFLOCNP - DNPLOCIMPU) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + LNPRODE[DGFIP][2017] * ART1731BIS* positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ));
+DEFLOC3 =((1- positif(NPLOCNETF3))
+             * abs(min(max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODE[DGFIP][2017]-LNPRODEF4-LNPRODEF3,0)-LNPRODE[DGFIP][2017],LNPRODE[DGFIP][2017]))
+             * positif_ou_nul(LNPRODE[DGFIP][2017]-max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODE[DGFIP][2017]-LNPRODEF4-LNPRODEF3,0)))
+                      * (1-positif(ART1731BIS))
+                  + min(LNPRODE[DGFIP][2017],TOTDEFLOCNP - DNPLOCIMPU - DEFLOC2) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + LNPRODE[DGFIP][2017] * ART1731BIS* positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ));
+DEFLOC4 =((1- positif(NPLOCNETF4))
+             * abs(min(max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODE[DGFIP][2017]-LNPRODEF4,0)-LNPRODEF3,LNPRODEF3))
+             * positif_ou_nul(LNPRODEF3-max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODE[DGFIP][2017]-LNPRODEF4,0)))
+                      * (1-positif(ART1731BIS))
+                  + min(LNPRODEF3,TOTDEFLOCNP - DNPLOCIMPU - DEFLOC2-DEFLOC3) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + LNPRODEF3 * ART1731BIS* positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ));
+DEFLOC5 = ((1- positif(NPLOCNET[DGFIP][2017]))
+             * abs(min(max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6 -LNPRODE[DGFIP][2017],0)-LNPRODEF4,LNPRODEF4))
+             * positif_ou_nul(LNPRODEF4-max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6-LNPRODE[DGFIP][2017],0)))
+                      * (1-positif(ART1731BIS))
+                  + min(LNPRODEF4,TOTDEFLOCNP - DNPLOCIMPU - DEFLOC2-DEFLOC3-DEFLOC4) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + LNPRODEF4 * ART1731BIS* positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ));
+DEFLOC6 = ((1- positif(NPLOCNETF6))
+             * abs(min(max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6,0)-LNPRODE[DGFIP][2017],LNPRODE[DGFIP][2017]))
+             * positif_ou_nul(LNPRODE[DGFIP][2017]-max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9-LNPRODEF8-LNPRODEF7-LNPRODEF6,0)))
+                      * (1-positif(ART1731BIS))
+                  + min(LNPRODE[DGFIP][2017],TOTDEFLOCNP - DNPLOCIMPU - DEFLOC2-DEFLOC3-DEFLOC4-DEFLOC5) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + LNPRODE[DGFIP][2017] * ART1731BIS* positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ));
+DEFLOC7 = ((1- positif(NPLOCNETF7))
+             * abs(min(max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9-LNPRODEF8-LNPRODEF7,0)-LNPRODEF6,LNPRODEF6))
+             * positif_ou_nul(LNPRODEF6-max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9-LNPRODEF8-LNPRODEF7,0)))
+                      * (1-positif(ART1731BIS))
+                  + min(LNPRODEF6,TOTDEFLOCNP - DNPLOCIMPU - DEFLOC2-DEFLOC3-DEFLOC4-DEFLOC5-DEFLOC6) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + LNPRODEF6 * ART1731BIS* positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ));
+DEFLOC8 = ((1- positif(NPLOCNETF8))
+             * abs(min(max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9-LNPRODEF8,0)-LNPRODEF7,LNPRODEF7))
+             * positif_ou_nul(LNPRODEF7-max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9-LNPRODEF8,0)))
+                      * (1-positif(ART1731BIS))
+                  + min(LNPRODEF7,TOTDEFLOCNP - DNPLOCIMPU - DEFLOC2-DEFLOC3-DEFLOC4-DEFLOC5-DEFLOC6-DEFLOC7) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + LNPRODEF7 * ART1731BIS* positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ));
+DEFLOC9 = ((1- positif(NPLOCNETF9))
+             * abs(min(max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9,0)-LNPRODEF8,LNPRODEF8))
+             * positif_ou_nul(LNPRODEF8-max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0-LNPRODEF9,0)))
+                      * (1-positif(ART1731BIS))
+                  + min(LNPRODEF8,TOTDEFLOCNP - DNPLOCIMPU - DEFLOC2-DEFLOC3-DEFLOC4-DEFLOC5-DEFLOC6-DEFLOC7-DEFLOC8) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + LNPRODEF8 * ART1731BIS* positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ));
+DEFLOC10 = ((1- positif(NPLOCNET[DGFIP][2017]0))
+             * abs(min(max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0,0)-LNPRODEF9,LNPRODEF9))
+             * positif_ou_nul(LNPRODEF9-max(NPLOCNETFHDEFANT-LNPRODE[DGFIP][2017]0,0)))
+                      * (1-positif(ART1731BIS)) 
+                  + min(LNPRODEF9,TOTDEFLOCNP - DNPLOCIMPU - DEFLOC2-DEFLOC3-DEFLOC4-DEFLOC5-DEFLO
diff --git a/sources2014m_2_15/chap-86.m b/sources2014m_2_15/chap-86.m
new file mode 100644
index 0000000000000000000000000000000000000000..8e5266f17deac207f2f1b4297b87434320d2b0a0
--- /dev/null
+++ b/sources2014m_2_15/chap-86.m
@@ -0,0 +1,219 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 8610 :
+application : iliad , batch  ;
+BNNSV = positif(BNHREV - (BNHDEV * (1 - positif(ART1731BIS*PREM8_11))))
+				   * arr((BNHREV-(BNHDEV * (1 - positif(ART1731BIS*PREM8_11))))*MAJREV) 
+				+ (1-positif_ou_nul(BNHREV-(BNHDEV * (1 - positif(ART1731BIS*PREM8_11)))))
+				   *(BNHREV-(BNHDEV * (1 - positif(ART1731BIS*PREM8_11) )));
+
+BNNSC = positif(BNHREC - (BNHDEC * (1 - positif(ART1731BIS*PREM8_11))))
+				   * arr((BNHREC-(BNHDEC * (1 - positif(ART1731BIS*PREM8_11))))*MAJREV) 
+				+ (1-positif_ou_nul(BNHREC-(BNHDEC * (1 - positif(ART1731BIS*PREM8_11)))))
+				   *(BNHREC-(BNHDEC * (1 - positif(ART1731BIS*PREM8_11) )));
+
+BNNSP = positif(BNHREP - (BNHDEP * (1 - positif(ART1731BIS*PREM8_11) )))
+				   * arr((BNHREP-(BNHDEP * (1 - positif(ART1731BIS*PREM8_11))))*MAJREV) 
+				+ (1-positif_ou_nul(BNHREP-(BNHDEP * (1 - positif(ART1731BIS*PREM8_11)))))
+				   *(BNHREP-(BNHDEP * (1 - positif(ART1731BIS*PREM8_11) )));
+
+BNNAV = (BNCREV - BNCDEV * (1 - positif(ART1731BIS*PREM8_11))) ;
+BNNAC = (BNCREC - BNCDEC * (1 - positif(ART1731BIS*PREM8_11))) ;
+BNNAP = (BNCREP - BNCDEP * (1 - positif(ART1731BIS*PREM8_11))) ;
+BNNAAV = (BNCAABV - BNCAADV * (1 - positif(ART1731BIS*PREM8_11))) ;
+BNNAAC = (BNCAABC - BNCAADC * (1 - positif(ART1731BIS*PREM8_11))) ;
+BNNAAP = (BNCAABP - BNCAADP * (1 - positif(ART1731BIS*PREM8_11))) ;
+regle 862:
+application : iliad , batch  ;
+VARDNOCEPV = min(max(DNOCEP,max(DNOCEP_P,DNOCEP[DGFIP][2017])),ANOCEP);
+VARDNOCEPC = min(max(DNOCEPC,max(DNOCEPC_P,DNOCEPC[DGFIP][2017])),ANOVEP);
+VARDNOCEPP = min(max(DNOCEPP,max(DNOCEPP_P,DNOCEPP[DGFIP][2017])),ANOPEP);
+NOCEPV = ANOCEP - DNOCEP + (BNCAABV - BNCAADV); 
+
+NOCEPC = ANOVEP - DNOCEPC + (BNCAABC - BNCAADC); 
+
+NOCEPP = ANOPEP - DNOCEPP + (BNCAABP - BNCAADP); 
+
+NOCEPIMPV = positif(ANOCEP - DNOCEP * (1 - positif(ART1731BIS*PREM8_11)))
+		    *arr((ANOCEP- DNOCEP * (1 - positif(ART1731BIS*PREM8_11)))*MAJREV) 
+	   + positif_ou_nul(DNOCEP * (1 - positif(ART1731BIS*PREM8_11))-ANOCEP)
+	           *(ANOCEP- DNOCEP * (1 - positif(ART1731BIS*PREM8_11)))+BNNAAV;
+
+NOCEPIMPC = positif(ANOVEP - DNOCEPC * (1 - positif(ART1731BIS*PREM8_11)))
+			    *arr((ANOVEP- DNOCEPC * (1 - positif(ART1731BIS*PREM8_11)))*MAJREV) 
+	   + positif_ou_nul(DNOCEPC * (1 - positif(ART1731BIS*PREM8_11))-ANOVEP)
+			    *(ANOVEP- DNOCEPC * (1 - positif(ART1731BIS*PREM8_11)))+BNNAAC;
+
+NOCEPIMPP = positif(ANOPEP - DNOCEPP * (1 - positif(ART1731BIS*PREM8_11)))
+				    *arr((ANOPEP- DNOCEPP * (1 - positif(ART1731BIS*PREM8_11)))*MAJREV) 
+	   + positif_ou_nul(DNOCEPP * (1 - positif(ART1731BIS*PREM8_11))-ANOPEP)
+				    *(ANOPEP- DNOCEPP * (1 - positif(ART1731BIS*PREM8_11)))+BNNAAP;
+
+NOCEPIMP = NOCEPIMPV+NOCEPIMPC+NOCEPIMPP;
+
+TOTDABNCNP = null(4-V_IND_TRAIT) * (DABNCNP6 + DABNCN[DGFIP][2017] + DABNCNP4 + DABNCNP3 + DABNCN[DGFIP][2017] + DABNCN[DGFIP][2017]) * (1-positif(ART1731BIS*PREM8_11))
+	   + null(5-V_IND_TRAIT) * max(0,min(DABNCNP6 + DABNCN[DGFIP][2017] + DABNCNP4 + DABNCNP3 + DABNCN[DGFIP][2017] + DABNCN[DGFIP][2017],TOTDABNCN[DGFIP][2017]731*ART1731BIS*(1-PREM8_11)+
+				      (DABNCNP6 + DABNCN[DGFIP][2017] + DABNCNP4 + DABNCNP3 + DABNCN[DGFIP][2017] + DABNCN[DGFIP][2017]) * (1-positif(ART1731BIS*PREM8_11)))); 
+
+regle 862019:
+application : iliad ,batch ;
+BNN = (somme(i=V,C,P:BNRi) + SPENETPF + max(0,SPENETNPF + NOCEPIMP - TOTDABNCNP)) * (1-ART1731BIS)
+      + (somme(i=V,C,P:BNRi) + SPENETPF + max(0,SPENETNPF + NOCEPIMP - DIDABNCNP+DEFBNCNPF)) * ART1731BIS*(1-PREM8_11)
+      + (somme(i=V,C,P:BNRi) + SPENETPF + max(0,SPENETNPF + NOCEPIMP)) * ART1731BIS*PREM8_11
+        ;
+regle 8621:
+application : iliad , batch  ;
+pour i = V,C,P:
+BNNi =  BNRi + SPENETi;
+regle 86211:
+application : iliad , batch  ;
+pour i = V,C,P:
+BNRi = BNNSi + BNNAi;
+BNRTOT = BNRV + BNRC + BNRP;
+regle 863:
+application : iliad , batch  ;
+BN1 = somme(i=V,C,P:BN1i);
+regle 8631:
+application : iliad , batch  ;
+pour i = V,C,P:
+BN1i = BN1Ai + PVINiE + INVENTi;
+regle 864:                                                                    
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPETOTi = BNCPROi + BNCNPi;
+regle 8641:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPEBASABi=SPETOTi;
+pour i = V,C,P:                                                                 
+SPEABi = arr((max(MIN_SPEBNC,(SPEBASABi * SPETXAB/100))) * 
+                       positif_ou_nul(SPETOTi - MIN_SPEBNC)) +
+          arr((min(MIN_SPEBNC,SPEBASABi )) * 
+                       positif(MIN_SPEBNC - SPETOTi)); 
+regle 86411:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPEABPi = arr((SPEABi * BNCPROi)/SPETOTi);                                  
+pour i = V,C,P:                                                                 
+SPEABNPi = SPEABi - SPEABPi;                                  
+regle 8642:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPENETPi = max (0,(BNCPROi - SPEABPi));                                    
+pour i = V,C,P:                                                                 
+SPENETNPi = max (0,(BNCNPi - SPEABNPi));
+pour i = V,C,P:                                                                 
+SPENETi = SPENETPi + SPENETNPi;
+SPENET = somme(i=V,C,P:(SPENETi));
+regle 8650:
+application : iliad , batch  ;                          
+SPENETCT = BNCPROPVV + BNCPROPVC + BNCPROPVP - BNCPMVCTV - BNCPMVCTC - BNCPMVCTP  ;
+SPENETNPCT = BNCNPPVV + BNCNPPVC + BNCNPPVP - BNCNPDCT;
+regle 8660:
+application : iliad , batch  ;                          
+SPENETPF = somme(i=V,C,P:SPENETPi) + SPENETCT;
+SPENETNPF = somme(i=V,C,P:SPENETNPi) + SPENETNPCT;                                    
+BNCNPTOT = SPENETPF + SPENETNPF;
+regle 8680:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+SPEPVPi = BNCPRO1Ai - BNCPRODEi;
+pour i = V,C,P:                                                                 
+SPEPVNPi = BNCN[DGFIP][2017]Ai - BNCNPDEi;
+SPEPV = somme(i=V,C,P:max(0,SPEPVPi + SPEPVNPi));
+
+regle 8690:
+application :  iliad , batch  ;                          
+
+DCTSPE = positif_ou_nul(BNRTOT+SPENETPF) * BNCPMVCTV
+        + ( 1 - positif_ou_nul(BNRTOT+SPENETPF)) * (BNCPMVCTV-abs(BNRTOT+SPENETPF))
+        + ( 1 - positif_ou_nul(BNRTOT+SPENETPF)) * null(BNCPMVCTV-abs(BNRTOT+SPENETPF))* BNCPMVCTV
+	;
+DCTSPENP = positif_ou_nul(NOCEPIMP+SPENETNPF) * BNCNPDCT
+        + ( 1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (BNCNPDCT-abs(NOCEPIMP+SPENETNPF))
+        + ( 1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * null(BNCNPDCT-abs(NOCEPIMP+SPENETNPF)) * BNCNPDCT
+	;
+regle 8691:
+application : iliad , batch  ;
+
+BNCD[DGFIP][2017] = ((1-positif_ou_nul(NOCEPIMP+SPENETNPF)) * abs(NOCEPIMP+SPENETNPF)
+                + positif_ou_nul(NOCEPIMP+SPENETNPF)
+                * positif_ou_nul(DABNCN[DGFIP][2017]+DABNCNP4+DABNCNP3+DABNCN[DGFIP][2017]+DABNCN[DGFIP][2017]-NOCEPIMP-SPENETNPF)
+                * (DABNCN[DGFIP][2017]+DABNCNP4+DABNCNP3+DABNCN[DGFIP][2017]+DABNCN[DGFIP][2017]-NOCEPIMP-SPENETNPF)
+                * null(BNCDF6+BNCD[DGFIP][2017]+BNCDF4+BNCDF3+BNCD[DGFIP][2017]))
+		* (1-positif(ART1731BIS))
+                 +  DEFBNCNPF * positif(ART1731BIS*(1-PREM8_11))
+                 + (DNOCEP +DNOCEPC +DNOCEPP +BNCAADV +BNCAADC +BNCAADP) * positif(ART1731BIS*PREM8_11);
+regle 86911:
+application : iliad , batch  ;                          
+BNCD[DGFIP][2017] = ((1-positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCN[DGFIP][2017])
+                + positif_ou_nul(NOCEPIMP+SPENETNPF)
+                * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCN[DGFIP][2017]-DABNCNP4-DABNCNP3-DABNCN[DGFIP][2017],0)-DABNCN[DGFIP][2017],DABNCN[DGFIP][2017])*(-1)
+                * positif_ou_nul(DABNCN[DGFIP][2017]-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCN[DGFIP][2017]-DABNCNP4-DABNCNP3-DABNCN[DGFIP][2017],0)))
+		 * (1-positif(ART1731BIS))
+                  + min(DABNCN[DGFIP][2017],DABNCNP - DIDABNCNP) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + DABNCN[DGFIP][2017] * positif(positif(ART1731BIS*PREM8_11)+null(8-CMAJ)+null(11-CMAJ));
+
+
+regle 86912:
+application : iliad , batch  ;                          
+BNCDF3 = ((1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCN[DGFIP][2017])
+                 + positif_ou_nul(NOCEPIMP+SPENETNPF)
+                 * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCN[DGFIP][2017]-DABNCNP4-DABNCNP3,0)-DABNCN[DGFIP][2017],DABNCN[DGFIP][2017])*(-1)
+                 * positif_ou_nul(DABNCN[DGFIP][2017]-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCN[DGFIP][2017]-DABNCNP4-DABNCNP3,0)))
+		 * (1-positif(ART1731BIS))
+                  + min(DABNCN[DGFIP][2017],DABNCNP - DIDABNCNP-BNCD[DGFIP][2017]) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + DABNCN[DGFIP][2017] * positif(positif(ART1731BIS*PREM8_11)+null(8-CMAJ)+null(11-CMAJ));
+regle 86913:
+application : iliad , batch  ;                          
+BNCDF4 = ((1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP3)
+                 + positif_ou_nul(NOCEPIMP+SPENETNPF)
+                 * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCN[DGFIP][2017]-DABNCNP4,0)-DABNCNP3,DABNCNP3)*(-1)
+                 * positif_ou_nul(DABNCNP3-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCN[DGFIP][2017]-DABNCNP4,0)))
+		 * (1-positif(ART1731BIS))
+                  + min(DABNCNP3,DABNCNP - DIDABNCNP-BNCD[DGFIP][2017]-BNCDF3) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + DABNCNP3 * positif(positif(ART1731BIS*PREM8_11)+null(8-CMAJ)+null(11-CMAJ));
+
+regle 86914:
+application : iliad , batch  ;                          
+BNCD[DGFIP][2017] = ((1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCNP4)
+                 + positif_ou_nul(NOCEPIMP+SPENETNPF)
+                 * min(max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCN[DGFIP][2017],0)-DABNCNP4,DABNCNP4)*(-1)
+                 * positif_ou_nul(DABNCNP4-max(NOCEPIMP+SPENETNPF-DABNCNP6-DABNCN[DGFIP][2017],0)))
+		 * (1-positif(ART1731BIS)) 
+                  + min(DABNCNP4,DABNCNP - DIDABNCNP-BNCD[DGFIP][2017]-BNCDF3-BNCDF4) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + DABNCNP4 * positif(positif(ART1731BIS*PREM8_11)+null(8-CMAJ)+null(11-CMAJ));
+regle 86915:
+application : iliad , batch  ;                          
+BNCDF6 = ((1 - positif_ou_nul(NOCEPIMP+SPENETNPF)) * (DABNCN[DGFIP][2017])
+                 + positif_ou_nul(NOCEPIMP+SPENETNPF)
+                 * min(max(NOCEPIMP+SPENETNPF-DABNCNP6,0)-DABNCN[DGFIP][2017],DABNCN[DGFIP][2017])*(-1)
+                 * positif_ou_nul(DABNCN[DGFIP][2017]-max(NOCEPIMP+SPENETNPF-DABNCNP6,0)))
+		 * (1-positif(ART1731BIS))
+                  + min(DABNCN[DGFIP][2017],DABNCNP - DIDABNCNP-BNCD[DGFIP][2017]-BNCDF3-BNCDF4-BNCD[DGFIP][2017]) * positif(ART1731BIS*(1-positif(PREM8_11+null(8-CMAJ)+null(11-CMAJ))))
+                  + DABNCN[DGFIP][2017] * positif(positif(ART1731BIS*PREM8_11)+null(8-CMAJ)+null(11-CMAJ));
+
+regle 8692:
+application : iliad , batch  ;                          
+DABNCNP = DABNCN[DGFIP][2017] + DABNCN[DGFIP][2017] + DABNCNP3 + DABNCNP4 + DABNCN[DGFIP][2017] + DABNCNP6;
+VAREDABNCNP = min(DABNCNP,SPENETNPF + NOCEPIMP);
+DEFBNCNP = (NOCEPIMP+SPENETNPF+DIDABNCNP+DNOCEP+DNOCEPC+DNOCEPP+BNCAADV+BNCAADC+BNCAADP );
+DEFBNCNPF = DEFRIBNC * (1-PREM8_11) * max(0,min(DNOCEP+DNOCEPC+DNOCEPP+BNCAADV+BNCAADC+BNCAADP,-(max(DEFBNCN[DGFIP][2017]731,max(DEFBNCNP_P,DEFBNCNP[DGFIP][2017]))-DNOCEP-DNOCEPC-DNOCEPP-BNCAADV-BNCAADC-BNCAADP)));
diff --git a/sources2014m_2_15/chap-87.m b/sources2014m_2_15/chap-87.m
new file mode 100644
index 0000000000000000000000000000000000000000..aa7fdf5db620e387979a1ed0b363174c482e95bf
--- /dev/null
+++ b/sources2014m_2_15/chap-87.m
@@ -0,0 +1,226 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 8740:
+application : iliad , batch ;
+XFORFAIT  = somme(i=V,C,P: FEXi);
+regle 8741:
+application : iliad , batch ;
+XACCESS  = somme(i=V,C,P: XACCESSi);
+regle 8745:
+application : iliad , batch ;
+pour i = V,P,C:
+XBAi = BAHEXi + BAEXi ;
+pour i = V,P,C:
+XBIPi = BIHEXi + BICEXi;
+pour i = V,P,C:
+XBINPi = BICNPHEXi + BICNPEXi;
+pour i = V,P,C:
+XBNi = BNHEXi + BNCEXi ;
+pour i = V,P,C:
+XBNNPi = BNCNPREXi+BNCNPREXAAi ;
+regle 872:
+application : iliad , batch ;
+pour i=V,C,P:
+XBICHDi = (BICEXi + BICNOi)  ;
+pour i=V,C,P:
+XBICNETi = XBICHDi - (BICDNi * (1 - positif(ART1731BIS) ))  ;
+pour i=V,C,P:
+XBICSi =  XBICNETi + BA1Ai ;
+pour i=V,C,P:
+XBICNPHDi = BICNPEXi + BICREi ;
+pour i=V,C,P:
+XBICNPNETi = XBICNPHDi - (min(BICDEi,BICDE[DGFIP][2017]731+0) * positif(ART1731BIS) + BICDEi * (1 - ART1731BIS));
+pour i=V,C,P:
+XBICNPSi =  XBICNPNETi + B[DGFIP][2017]Ai ;
+pour  i = V,C,P:
+XBITi = max (0 , XBICNETi + max (0,XBICNPNETi )); 
+pour  i = V,C,P:
+XBISi = positif(max(0,XBICNETi + max(0,XBICNPNETi)))
+        * ( B[DGFIP][2017]Ai  + B[DGFIP][2017]Ai  );
+
+pour i=V,C,P:
+XBICIMPi =  XBICHDi + XBICNPHDi ;
+regle 8728:
+application : iliad , batch ;
+pour i=V,C:
+XTSBi =  somme(x=1..3:GLDxi) + TSBNi + BPCOSAi + TSASSUi + XETRANi + EXOCETi 
+	 + GLDGRATi;
+
+pour i=1,2,3,4:
+XTSBi =  TSBNi ;
+pour i=V,C:
+XEXTSi = XTSBi + CARTSi + REMPLAi;
+pour i=1,2,3,4:
+XEXTSi = XTSBi + CARTSPi + REMPLAPi;
+regle 8731:
+application : iliad , batch ;
+pour i = V,C,1,2,3,4:
+XTPS10i = arr (XEXTSi * TX_DEDFORFTS /100);
+pour i = V,C,1,2,3,4:
+XDFNi =  min( PLAF_DEDFORFTS , XTPS10i );
+regle 8729:
+application : iliad , batch ;
+pour i = V,C,1,2,3,4:
+X10MINSi= max( min(XTSBi,DEDMINi) , XDFNi );
+pour i = V,C,1,2,3,4:
+XIND_10i= positif_ou_nul(X10MINSi-FRNi);
+pour i = V,C,1,2,3,4:
+XDFi = X10MINSi  ;
+pour i = V,C,1,2,3,4:
+XFPTi = XDFi * XIND_10i + FRDi * (1 - XIND_10i);
+pour i = V,C,1,2,3,4:
+XTSNTi =  XEXTSi - XFPTi;
+regle 8734:
+application : iliad , batch ;
+pour i = V,C,1,2,3,4:
+XTSNi = positif (-XTSNTi) * min (0 , XTSNTi)
+     + positif_ou_nul (XTSNTi) * XTSNTi;
+regle 8735:
+application : iliad , batch ;
+pour i = V,C:
+XTSi = XTSNi -  somme(x=1..3: max(0,GLDxi - ABGLxi));
+pour i = V,C:
+XTSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (TSASSUi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * TSASSUi;
+pour i = V,C:
+XETSNNi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (XETRANi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * XETRANi;
+pour i = V,C:
+XEXOCETi = arr( positif(XTSNi) * 
+         XTSNi  
+         * (EXOCETi/XEXTSi)) * XIND_10i
+	 + (1-XIND_10i) * EXOCETi;
+XEXOCET = somme(i=V,C:XEXOCETi);
+
+regle 876:
+application : iliad , batch ;
+XELU = ELURASC + ELURASV ;
+regle 880:
+application : iliad , batch ;
+
+PVTAUX = (BPVSJ + BPVSK + BPV18V + BPV18C + BPCOPTV + BPCOPTC + BPV40V + BPV40C + PEA + GAINPEA);
+regle 875:
+application : iliad , batch ;
+GLN2NET = arr(GLN2 * GL2 / REV2);
+GLN3NET = arr(GLN3 * GL3 / REV3);
+QUOKIRE =   TEGL1 + TEGL2 + TEGL3 + RPQ4
+             + somme (x=V,C,1..4 : TERPQPRRx+TERPQPRRZx+ TEGLFx+ TERPQTSx+ TERPQTSREMPx+TERPQPALIMx)
+             + TERPQR[DGFIP][2017] + TEGLR[DGFIP][2017] + TERPQRCMDC + TERPQRCMFU + TERPQRCMCH
+             + TERPQRCMTS + TERPQRCMGO + TERPQRCMTR + TERPQRVO + TERPQRVO5 + TERPQRVO6 + TERPQRVO7;
+regle 8727:
+application : iliad , batch ;
+
+VARREVKIRE =  BPCAPTAXV + BPCAPTAXC
+              + somme( i=V,C,P: XBAi+XBIPi+XBINPi+XBNi+XBNNPi)
+              + somme (i=V,C,P: MIBEXi + MIBNPEXi + BNCPROEXi + XSPENPi)
+              + somme (i=V,C,P: BNCCRi)
+              + somme (i=V,C,P: BNCCRFi)
+              + somme (i=V,C: XETSNNi)
+              + somme (i=V,C: XEXOCETi)
+              + somme (i=V,C: XTSNNi)
+              + somme (i=V,C: XTSNNTYi)
+              + somme (i=V,C,1,2,3,4: XHSUPTSNNi)
+              + XFORFAIT + XACCESS 
+              + RCMLIB + PPLIB 
+              + GAINABDET
+              + RCMEXCREF
+              + RCM2FA
+              + XELU 
+              + RCMIMPAT
+              + PVIMMO
+              + PVMOBNR
+              + PVTITRESOC
+              + BTP3A
+              + (1 - positif( IPVLOC )) * (1-positif(present(TAX1649)+present(RE168))) * (
+                PVTAUX                                                                      )
+	      ;
+PVTXEF[DGFIP][2017] = max(0,(BPVRCM + COD3SG + COD3SL + ABDETPLUS + ABIMPPV) - (DPVRCM + COD3SH + COD3SM + ABDETMOINS + ABIMPMV)) ;
+PVTXEFF = (PVTAXSB + BPVRCM - PVTXEF[DGFIP][2017]) * positif(present(IPTEFN) + present(IPTEFP)) ;
+REVKIRE = (1-null(IND_TDR)) *
+ arr (
+       max ( 0, ( 
+                  (1-positif((max(0,VARIPTEFP-PVTXEFF) * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+		  +((VARIPTEFN+PVTXEFF*present(IPTEFN)) * positif(ART1731BIS) + (IPTEFN+PVTXEFF*present(IPTEFN)) * (1 - ART1731BIS))+INDTEFF)) * (R[DGFIP][2017]RFR)  
+                  + positif((max(0,VARIPTEFP-PVTXEFF) * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+		  +((VARIPTEFN+PVTXEFF*present(IPTEFN)) * positif(ART1731BIS) + (IPTEFN+PVTXEFF*present(IPTEFN)) * (1 - ART1731BIS))+INDTEFF) 
+					 * (max(0,VARIPTEFP-PVTXEFF) * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+                  + positif((max(0,VARIPTEFP-PVTXEFF) * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+		  +((VARIPTEFN+PVTXEFF*present(IPTEFN)) * positif(ART1731BIS) + (IPTEFN+PVTXEFF*present(IPTEFN)) * (1 - ART1731BIS))+INDTEFF) 
+                  * positif(- TEFFN - DRBG - RNIDF + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) + QUOKIRE)*
+		   ( (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO)))
+		   + QUOKIRE
+                   ) 
+                  + max(0,TEFFREVTOTRFR*INDTEFF) * (1-positif((max(0,VARIPTEFP- PVTXEFF) * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))))
+                )
+                * (1-present(IND_TDR))
+                + 
+                   IND_TDR
+		   + (1-positif((max(0,VARIPTEFP - PVTXEFF)* positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+					   +((VARIPTEFN+PVTXEFF*present(IPTEFN)) * positif(ART1731BIS) + (IPTEFN+PVTXEFF*present(IPTEFN))* (1 - ART1731BIS))+INDTEFF)) * 
+		     (QUOKIRE + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) )
+		   +  VARREVKIRE
+             )
+       ) 
+       ;
+
+pour i=V,C,P:
+BNCCREAi = BNCCRi + BNCCRFi ;
+QUOKIREHR =   TGL1 + TGL2 + TGL3 + TGL4
+             + somme (x=V,C,1..4 : TGLPRRx+TGLPRRZx+ TGLFx+ TGLTSx+ TGLTSREMPx+TGLPALIMx)
+             + TGLR[DGFIP][2017] + TGLR[DGFIP][2017] + TGLRCMDC + TGLRCMFU + TGLRCMCH
+             + TGLRCMTS + TGLRCMGO + TGLRCMTR + TGLRVO + TGLRVO5 + TGLRVO6 + TGLRVO7;
+REVKIREHR =  ((1-null(IND_TDR)) *
+ arr (
+       max ( 0, ( 
+                  (1-positif((max(0,VARIPTEFP-PVTXEFF)  * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+		  +((VARIPTEFN+PVTXEFF*present(IPTEFN))  * positif(ART1731BIS) + (IPTEFN+ PVTXEFF*present(IPTEFN)) * (1 - ART1731BIS))+INDTEFF)) * (R[DGFIP][2017]RFRHR)  
+                  + positif((max(0,VARIPTEFP-PVTXEFF)  * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+		  +((VARIPTEFN+PVTXEFF*present(IPTEFN))  * positif(ART1731BIS) + (IPTEFN+ PVTXEFF*present(IPTEFN)) * (1 - ART1731BIS))+INDTEFF) 
+				* (max(0,VARIPTEFP-PVTXEFF)  * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+                  + positif((max(0,VARIPTEFP-PVTXEFF)  * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+			  +((VARIPTEFN+PVTXEFF*present(IPTEFN))  * positif(ART1731BIS) + (IPTEFN+PVTXEFF*present(IPTEFN))  * (1 - ART1731BIS))+INDTEFF) 
+                   * positif(- TEFFN - DRBG - RNIDF + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) + QUOKIREHR)*
+		   ( (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO))) 
+		   + QUOKIREHR 
+                   ) 
+                  + max(0,TEFFREVTOTRFRHR*INDTEFF) * (1-positif((max(0,VARIPTEFP- PVTXEFF) * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))))
+                )
+                * (1-present(IND_TDR))
+                + 
+                   IND_TDR
+		   + (1-positif((max(0,VARIPTEFP- PVTXEFF) * positif(ART1731BIS) + max(0,IPTEFP-PVTXEFF) * (1 - ART1731BIS))
+		   +((VARIPTEFN+PVTXEFF*present(IPTEFN)) * positif(ART1731BIS) + (IPTEFN+PVTXEFF*present(IPTEFN)) * (1 - ART1731BIS))+INDTEFF)) * 
+		     (QUOKIREHR + (APERPV + APERPC + APERPP)* (1 - positif(null(2-V_REGCO) + null(4-V_REGCO)))) 
+		   +  VARREVKIRE
+             )
+       ) 
+              ) * (1-present(COD8YM)) + COD8YM     ;
+regle 410 :
+application : batch, iliad;
+CDEVDUR_NBJ = PPENBJ;
+CKIREDUR = arr(REVKIRE * 360/CDEVDUR_NBJ);
+REVKIREDUR2 = CKIREDUR ;
+
+
diff --git a/sources2014m_2_15/chap-88.m b/sources2014m_2_15/chap-88.m
new file mode 100644
index 0000000000000000000000000000000000000000..fbe3f100b7fcfde0dccbf353e2cc37fd41d876c1
--- /dev/null
+++ b/sources2014m_2_15/chap-88.m
@@ -0,0 +1,225 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 881:
+application : iliad , batch  ;
+pour i = V,C;x=1..3:
+GLNAVxi = max (GLDxi - ABGLxi,0) * INDEFTSi;
+GLDOMAVDAJV = max (CODDAJ - ABDOMDAJ,0) * INDEFTSV;
+GLDOMAVEAJV = max (CODEAJ - ABDOMEAJ,0) * INDEFTSV;
+GLDOMAVDBJC = max (CODDBJ - ABDOMDBJ,0) * INDEFTSC;
+GLDOMAVEBJC = max (CODEBJ - ABDOMEBJ,0) * INDEFTSC;
+GLN1V = max (GL[DGFIP][2017]V - ABGL1V,0) * INDEFTSV;
+GLN2V = max (GL[DGFIP][2017]V - ABGL2V,0) * INDEFTSV;
+GLN3V = max (GLD3V - ABGL3V,0) * INDEFTSV;
+GLN4DAJV = max(CODDAJ - ABDOMDAJ,0) * INDEFTSV;
+GLN4V = (max(CODDAJ - ABDOMDAJ,0)+max(CODEAJ - ABDOMEAJ,0)) * INDEFTSV;
+GLN1C = max (GL[DGFIP][2017]C - ABGL1C,0) * INDEFTSC;
+GLN2C = max (GL[DGFIP][2017]C - ABGL2C,0) * INDEFTSC;
+GLN3C = max (GLD3C - ABGL3C,0) * INDEFTSC;
+GLN4DBJC = max(CODDBJ - ABDOMDBJ,0) * INDEFTSC;
+GLN4C = (max(CODDBJ - ABDOMDBJ,0)+max(CODEBJ - ABDOMEBJ,0)) * INDEFTSC;
+regle 882:
+application : iliad , batch  ;
+TSV = TSNV - somme(x=1..3: max(0,GLDxV - ABGLxV))-max(CODDAJ - ABDOMDAJ,0)-max(CODEAJ - ABDOMEAJ,0);
+TSC = TSNC - somme(x=1..3: max(0,GLDxC - ABGLxC))-max(CODDBJ - ABDOMDBJ,0)-max(CODEBJ - ABDOMEBJ,0);
+pour i=1..4:
+TSi = TSNi;
+pour i=V,C:
+TPRi = TSNi + PRNi - somme(x=1..3: GLNxi);
+pour i=1..4:
+TPRi = TSNi + PRNi;
+pour i = V,C :
+TSNNi =  positif(TSi) *arr(TSi *(TSBNi + BPCOSAi + GLDGRATi)/EXTSi )
+          + (1 -positif(TSi)) * TSi ;
+pour i = 1..4 :
+TSNNi = (positif(TSi) * arr(TSi * TSBNi /EXTSi )
+            + (1 -positif(TSi)) * TSi)  ;
+pour i = V,C :
+TSNN2i = ( positif(TSi)
+                * ( positif(CARTSi+REMPLAi) 
+                          * arr(TSi * 2TSNi / EXTSi )
+                    + (1 -positif(CARTSi+REMPLAi)) 
+                          * (TSi - TSNNi)));
+TSNN2VAFF = ( positif(TSV)
+                * ( positif(CARTSV+REMPLAV) 
+                          * arr(TSV * 2TSNV / EXTSV )
+                    + (1 -positif(CARTSV+REMPLAV)) 
+                          * (TSV - TSNNV))
+         + positif(CODDAJ + CODEAJ) * (max(CODDAJ - ABDOMDAJ,0)+max(CODEAJ - ABDOMEAJ,0))) ;
+TSNN2CAFF = ( positif(TSC)
+                * ( positif(CARTSC+REMPLAC) 
+                          * arr(TSC * 2TSNC / EXTSC )
+                    + (1 -positif(CARTSC+REMPLAC)) 
+                          * (TSC - TSNNC))
+         + positif(CODDBJ + CODEBJ) * (max(CODDBJ - ABDOMDBJ,0)+max(CODEBJ - ABDOMEBJ,0))) ;
+pour i = 1..4 :
+TSNN2i = ( positif(TSi)
+               * ( positif(CARTSPi+REMPLAPi) 
+                          * arr(TSi * 2TSNi /EXTSi )
+                    + (1 -positif(CARTSPi+REMPLAPi)) 
+                          * (TSi - TSNNi))) ;
+pour i = 1..4 :
+TSNN2iAFF = ( positif(TSi)
+               * ( positif(CARTSPi+REMPLAPi) 
+                          * arr(TSi * 2TSNi /EXTSi )
+                    + (1 -positif(CARTSPi+REMPLAPi)) 
+                          * (TSi - TSNNi))) ;
+
+TSNN2PAFF = somme(i=1..4:TSNN2iAFF) ;
+
+pour i = V,C :
+TSNN2TSi = ( positif(TSi)
+                * ( positif(REMPLAi) 
+                          * arr(TSi * CARTSi / EXTSi )
+                    + (1 -positif(REMPLAi)) 
+                          * (TSi - TSNNi))) ;
+pour i = 1..4 :
+TSNN2TSi = ( positif(TSi)
+               * ( positif(REMPLAPi) 
+                          * arr(TSi * CARTSPi /EXTSi )
+                    + (1 -positif(REMPLAPi)) 
+                          * (TSi - TSNNi))) ;
+pour i = V,C :
+TSNN2REMPi = (positif(TSi) * (TSi - TSNNi-TSNN2TSi)) ;
+pour i = 1..4 :
+TSNN2REMPi = (positif(TSi) * (TSi - TSNNi-TSNN2TSi)) ;
+
+regle 883:
+application : iliad , batch  ;
+pour i = V,C,1..4:
+PRRi = arr(PRNi * PRBi / EXPRi);
+PRR2V = positif(PEBFV+PENSALV+CODRAZ) * arr(PRNV * CARPEV / EXPRV)
+           +  (1 -positif(PEBFV+PENSALV+CODRAZ)) * (PRNV -PRRV)   ;
+PRR2C = positif(PEBFC+PENSALC+CODRBZ) * arr(PRNC * CARPEC / EXPRC)
+           +  (1 -positif(PEBFC+PENSALC+CODRBZ)) * (PRNC -PRRC)   ;
+PRR21 = positif(PEB[DGFIP][2017]+PENSAL[DGFIP][2017]+CODRCZ) * arr(PRN1 * CARPE[DGFIP][2017] / EXPR1 )
+           +  (1 -positif(PEB[DGFIP][2017]+PENSAL[DGFIP][2017]+CODRCZ)) * (PRN1 -PRR1);
+PRR22 = positif(PEB[DGFIP][2017]+PENSAL[DGFIP][2017]+CODRDZ) * arr(PRN2 * CARPE[DGFIP][2017] / EXPR2 )
+           +  (1 -positif(PEB[DGFIP][2017]+PENSAL[DGFIP][2017]+CODRDZ)) * (PRN2 -PRR2);
+PRR23 = positif(PEBF3+PENSALP3+CODREZ) * arr(PRN3 * CARPEP3 / EXPR3 )
+           +  (1 -positif(PEBF3+PENSALP3+CODREZ)) * (PRN3 -PRR3);
+PRR24 = positif(PEBF4+PENSALP4+CODRFZ) * arr(PRN4 * CARPEP4 / EXPR4 )
+           +  (1 -positif(PEBF4+PENSALP4+CODRFZ)) * (PRN4 -PRR4);
+PRR2ZV = positif(PEBFV+PENSALV) * arr(PRNV * CODRAZ / EXPRV)
+           +  (1 -positif(PEBFV+PENSALV)) * (PRNV -PRRV-PRR2V)   ;
+PRR2ZC = positif(PEBFC+PENSALC) * arr(PRNC * CODRBZ / EXPRC)
+           +  (1 -positif(PEBFC+PENSALC)) * (PRNC -PRRC-PRR2C)   ;
+PRR2Z1 = positif(PEB[DGFIP][2017]+PENSAL[DGFIP][2017]) * arr(PRN1 * CODRCZ / EXPR1 )
+           +  (1 -positif(PEB[DGFIP][2017]+PENSAL[DGFIP][2017])) * (PRN1 -PRR1-PRR21);
+PRR2Z2 = positif(PEB[DGFIP][2017]+PENSAL[DGFIP][2017]) * arr(PRN2 * CODRDZ / EXPR2 )
+           +  (1 -positif(PEB[DGFIP][2017]+PENSAL[DGFIP][2017])) * (PRN2 -PRR2-PRR22);
+PRR2Z3 = positif(PEBF3+PENSALP3) * arr(PRN3 * CODREZ / EXPR3 )
+           +  (1 -positif(PEBF3+PENSALP3)) * (PRN3 -PRR3-PRR23);
+PRR2Z4 = positif(PEBF4+PENSALP4) * arr(PRN4 * CODRFZ / EXPR4 )
+           +  (1 -positif(PEBF4+PENSALP4)) * (PRN4 -PRR4-PRR24);
+PRR2ZP = PRR2Z1 + PRR2Z2 + PRR2Z3 + PRR2Z4;
+pour i = V,C:
+PENFi =  positif(PENSALi) * arr(PRNi * PEBFi / EXPRi)
+       + (1 - positif(PENSALi)) * max(0,(PRNi -PRRi -PRR2i-PRR2Zi));
+pour i = 1..4:
+PENFi =  positif(PENSALPi) * arr(PRNi * PEBFi / EXPRi)
+        + (1- positif(PENSALPi)) * (PRNi -PRRi -PRR2i-PRR2Zi);
+pour i = V,C:
+PENALIMi = positif(EXPRi) * (PRNi -PRRi -PRR2i -PRR2Zi- PENFi) ;
+pour i = 1..4:
+PENALIMi = positif(EXPRi) * (PRNi -PRRi -PRR2i -PRR2Zi- PENFi) ;
+regle 884:
+application : iliad , batch  ;
+pour i = 1,2,3,4:
+RVi = arr(RVBi * TXRVTi / 100);
+RVTOT = RV1 + RV2 + RV3 + RV4;
+regle 885:
+application : iliad , batch  ;
+2RV1 = arr(RENTAX * TXRVT1 / 100);
+2RV2 = arr(RENTAX5 * TXRVT2 / 100);
+2RV3 = arr(RENTAX6 * TXRVT3 / 100);
+2RV4 = arr(RENTAX7 * TXRVT4 / 100);
+T2RV = 2RV1 + 2RV2 + 2RV3 + 2RV4;
+regle 886:
+application : iliad , batch  ;
+RVBCSG = arr((RVB1 + RENTAX) * TXRVT1 / 100) 
+       + arr((RVB2 + RENTAX5) * TXRVT2 / 100) 
+       + arr((RVB3 + RENTAX6) * TXRVT3 / 100) 
+       + arr((RVB4 + RENTAX7) * TXRVT4 / 100) ;
+
+regle 887:
+application : iliad , batch  ;
+TSPR = TSPRT + RVTOT ;
+regle 888:
+application : iliad , batch  ;
+pour i=V,C,1..4:
+TSPRi = (TSNNi + PRRi) * (1-PREM8_11) + max(0,TSNNi + PRRi) * PREM8_11;
+pour i=V,C,1..4:
+TSPRDi = min(0,TSNNi + PRRi)* ART1731BIS ;
+TSPRP = somme(i=1..4:TSPRi) * (1-PREM8_11) + max(0,TSNN1+PRR1+TSNN2+PRR2+TSNN3+PRR3+TSNN4+PRR4) * PREM8_11 ;
+TSPRTOT = somme(i=V,C,1..4:TSPRi)*(1-ART1731BIS) + max(0,TSNNV+PRRV+TSNNC+PRRC+TSNN1+PRR1+TSNN2+PRR2+TSNN3+PRR3+TSNN4+PRR4)*ART1731BIS;
+TSPRDP = somme(i=1..4:TSPRDi) ;
+TSNNT = abs(TSNNV + PRRV
+          + TSNNC + PRRC
+          + TSNN1 + PRR1
+          + TSNN2 + PRR2
+          + TSNN3 + PRR3
+          + TSNN4 + PRR4) 
+         * (1-positif(TSNNV + PRRV + TSNNC + PRRC+ TSNN1 + PRR1 + TSNN2 + PRR2 + TSNN3 + PRR3 + TSNN4 + PRR4 ));
+regle 8887:
+application : iliad , batch  ;
+pour i=V,C,1..4:
+FRNRETENUi = max(0,FRNRETi + TSPRDi);
+regle 8810:
+application : iliad , batch  ;
+TSNN2P = somme(i=1..4: TSNN2i);
+PRR2P =somme(i=1..4: PRR2i);
+PENFP = PEN[DGFIP][2017] + PEN[DGFIP][2017] + PENF3 + PENF4 ;
+PENALIMP = PENALIM1 + PENALIM2 + PENALIM3 + PENALIM4;
+
+regle 8811:
+application : iliad , batch ;
+TSQVO = 2TSNV+CODDAJ+CODEAJ;
+TSQCJ = 2TSNC+CODDBJ+CODEBJ;
+TSQPC = somme(i=1..4: 2TSNi ) ;
+PRQVO =  CARPEV + PEBFV;
+PRQCJ =  CARPEC + PEBFC; 
+PRQPC =  CARPE[DGFIP][2017]+PEB[DGFIP][2017] 
+      +  CARPE[DGFIP][2017]+PEB[DGFIP][2017]
+      +  CARPEP3+PEBF3
+      +  CARPEP4+PEBF4;
+PRQZV =  CODRAZ;
+PRQZC =  CODRBZ; 
+PRQZP =  CODRCZ +CODRDZ+CODREZ+CODRFZ;
+PENSALP = PENSAL[DGFIP][2017] + PENSAL[DGFIP][2017] + PENSALP3 + PENSALP4;
+regle 8812:
+application : iliad , batch ;
+PRQNV = 2PRBV;
+PRQNC = 2PRBC; 
+PRQNP = somme(i=1..4: 2PRBi) ;
+PENSTOTV = PRR2V + PRR2ZV + PENALIMV;
+PENSTOTC = PRR2C + PRR2ZC + PENALIMC;
+PENSTOTP = PRR2P + PRR2Z1 + PRR2Z2 + PRR2Z3 + PRR2Z4 + PENALIMP;
+regle 8815:
+application : iliad , batch ;
+pour i=V,C:
+BPCAPTAXi = PCAPTAXi - arr(PCAPTAXi * TX_DEDPER/100);
+pour i=V,C:
+IPCAPTAXi = arr(BPCAPTAXi * T_PCAPTAX/100);
+IPCAPTAXTOT = somme(i=V,C:IPCAPTAXi);
+regle 8816:
+application : iliad , batch ;
+IPCAPTAXT = IPCAPTAXTOT - CICAP;
diff --git a/sources2014m_2_15/chap-aff.m b/sources2014m_2_15/chap-aff.m
new file mode 100644
index 0000000000000000000000000000000000000000..c9888f81aede8fea193d2d7dde30ce14f01daaff
--- /dev/null
+++ b/sources2014m_2_15/chap-aff.m
@@ -0,0 +1,630 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 111011:
+application : iliad ;
+
+CONST0 = 0;
+CONST1 = 1;
+CONST2 = 2;
+CONST3 = 3;
+CONST4 = 4;
+CONST10 = 10;
+CONST20 = 20;
+CONST40 = 40;
+
+regle 1110:
+application : batch, iliad;
+
+LI[DGFIP][2017] = (1 - positif(IPVLOC)) * (1 - positif(RE168 + TAX1649)) * IND_REV ;
+
+LI[DGFIP][2017]1 = (1 - positif(RE168 + TAX1649)) * (1 - positif(ANNUL2042)) * IND_REV ;
+
+LI[DGFIP][2017] = (1 - positif(RE168 + TAX1649)) ;
+
+LI[DGFIP][2017] = (1 - positif(ANNUL2042)) ;
+
+LIG3 = positif(positif(CMAJ + 0) 
+	+ positif_ou_nul(MAJTX1 - 40) + positif_ou_nul(MAJTX4 - 40)
+        + positif_ou_nul(MAJTXPCA[DGFIP][2017] - 40) + positif_ou_nul(MAJTXPCAP4 - 40)
+        + positif_ou_nul(MAJTXLOY1 - 40) + positif_ou_nul(MAJTXLOY4 - 40)
+        + positif_ou_nul(MAJTXCHR1 - 40) + positif_ou_nul(MAJTXCHR4 - 40)
+	+ positif_ou_nul(MAJTXC1 - 40) + positif_ou_nul(MAJTXC4 - 40) 
+        + positif_ou_nul(MAJTXCVN1 - 40) + positif_ou_nul(MAJTXCVN4 - 40)
+	+ positif_ou_nul(MAJTXCDIS1 - 40) + positif_ou_nul(MAJTXCDIS4 - 40)
+        + positif_ou_nul(MAJTXGLO1 - 40) + positif_ou_nul(MAJTXGLO4 - 40)
+        + positif_ou_nul(MAJTXRSE11 - 40) + positif_ou_nul(MAJTXRSE14 - 40)
+        + positif_ou_nul(MAJTXRSE51 - 40) + positif_ou_nul(MAJTXRSE54 - 40)
+	+ positif_ou_nul(MAJTXRSE21 - 40) + positif_ou_nul(MAJTXRSE24 - 40)
+        + positif_ou_nul(MAJTXRSE31 - 40) + positif_ou_nul(MAJTXRSE34 - 40)
+        + positif_ou_nul(MAJTXRSE41 - 40) + positif_ou_nul(MAJTXRSE44 - 40)
+        + positif_ou_nul(MAJTXTAXA4 - 40)) ;
+
+regle 1110010:
+application : batch , iliad ;
+
+
+LI[DGFIP][2017]010 = (INDV * INDC * INDP) * (1 - ART1731BIS) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]020 = (INDV * (1 - INDC) * (1 - INDP)) * (1 - ART1731BIS) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]030 = (INDC * (1 - INDV) * (1 - INDP)) * (1 - ART1731BIS) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]040 = (INDP * (1 - INDV) * (1 - INDC)) * (1 - ART1731BIS) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]050 = (INDV * INDC * (1 - INDP)) * (1 - ART1731BIS) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]060 = (INDV * INDP * (1 - INDC)) * (1 - ART1731BIS) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]070 = (INDC * INDP * (1 - INDV)) * (1 - ART1731BIS) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]0YT = (INDV * INDC * INDP) * ART1731BIS * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]0YT = (INDV * (1 - INDC) * (1 - INDP)) * ART1731BIS * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LIG30YT = (INDC * (1 - INDV) * (1 - INDP)) * ART1731BIS * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LIG40YT = (INDP * (1 - INDV) * (1 - INDC)) * ART1731BIS * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]0YT = (INDV * INDC * (1 - INDP)) * ART1731BIS * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LIG60YT = (INDV * INDP * (1 - INDC)) * ART1731BIS * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LIG70YT = (INDC * INDP * (1 - INDV)) * ART1731BIS * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+regle 11110:
+application : batch , iliad ;
+LI[DGFIP][2017]0V = positif_ou_nul(TSBNV + PRBV + BPCOSAV + GLDGRATV + positif([DGFIP][2017]0AV * null(TSBNV + PRBV + BPCOSAV + GLDGRATV))) ;
+LI[DGFIP][2017]0C = positif_ou_nul(TSBNC + PRBC + BPCOSAC + GLDGRATC + positif([DGFIP][2017]0AC * null(TSBNC + PRBC + BPCOSAC + GLDGRATC))) ;
+LI[DGFIP][2017]0P = positif_ou_nul(somme(i=1..4:TSBNi + PRBi) + positif([DGFIP][2017]0AP * null(somme(i=1..4:TSBNi + PRBi)))) ;
+LI[DGFIP][2017]0 = positif(LI[DGFIP][2017]0V + LI[DGFIP][2017]0C + LI[DGFIP][2017]0P) ;
+regle 11000:
+application : batch , iliad ;
+
+LI[DGFIP][2017]100 = positif(T2RV) * (1 - positif(IPVLOC)) ;
+
+LIG899 = positif(RVTOT + LI[DGFIP][2017]100 + LIG910 + BRCMQ + RCMFR + REPRCM + LIGRCMABT + LI[DGFIP][2017]RCMABT + LIGPV3VG + LIGPV3WB + LIGPV3VE 
+		  + RCMLIB + LI[DGFIP][2017]9 + LIG30 + RFQ + 2REVF + 3REVF + LI[DGFIP][2017]130 + VLHAB + DFANT + ESFP + RE168 + TAX1649 + R1649 + PREREV)
+		 * (1 - positif(LI[DGFIP][2017]010 + LI[DGFIP][2017]020 + LI[DGFIP][2017]030 + LI[DGFIP][2017]040 + LI[DGFIP][2017]050 + LI[DGFIP][2017]060 + LI[DGFIP][2017]070)) 
+		 * (1 - ART1731BIS) ; 
+
+LIG900 = positif(RVTOT + LI[DGFIP][2017]100 + LIG910 + BRCMQ + RCMFR + REPRCM + LIGRCMABT + LI[DGFIP][2017]RCMABT + LIGPV3VG + LIGPV3WB + LIGPV3VE 
+		  + RCMLIB + LI[DGFIP][2017]9 + LIG30 + RFQ + 2REVF + 3REVF + LI[DGFIP][2017]130 + VLHAB + DFANT + ESFP + RE168 + TAX1649 + R1649 + PREREV)
+		 * positif(LI[DGFIP][2017]010 + LI[DGFIP][2017]020 + LI[DGFIP][2017]030 + LI[DGFIP][2017]040 + LI[DGFIP][2017]050 + LI[DGFIP][2017]060 + LI[DGFIP][2017]070) 
+		 * (1 - ART1731BIS) ; 
+
+LIG899YT = positif(RVTOT + LI[DGFIP][2017]100 + LIG910 + BRCMQ + RCMFR + REPRCM + LIGRCMABT + LI[DGFIP][2017]RCMABT + LIGPV3VG + LIGPV3WB + LIGPV3VE 
+		   + RCMLIB + LI[DGFIP][2017]9 + LIG30 + RFQ + 2REVF + 3REVF + LI[DGFIP][2017]130 + VLHAB + DFANT + ESFP + RE168 + TAX1649 + R1649 + PREREV)
+		 * (1 - positif(LI[DGFIP][2017]0YT + LI[DGFIP][2017]0YT + LIG30YT + LIG40YT + LI[DGFIP][2017]0YT + LIG60YT + LIG70YT)) 
+		 * ART1731BIS ; 
+
+LIG900YT = positif(RVTOT + LI[DGFIP][2017]100 + LIG910 + BRCMQ + RCMFR + REPRCM + LIGRCMABT + LI[DGFIP][2017]RCMABT + LIGPV3VG + LIGPV3WB + LIGPV3VE 
+		   + RCMLIB + LI[DGFIP][2017]9 + LIG30 + RFQ + 2REVF + 3REVF + LI[DGFIP][2017]130 + VLHAB + DFANT + ESFP + RE168 + TAX1649 + R1649 + PREREV)
+		 * positif(LI[DGFIP][2017]0YT + LI[DGFIP][2017]0YT + LIG30YT + LIG40YT + LI[DGFIP][2017]0YT + LIG60YT + LIG70YT) 
+		 * ART1731BIS ; 
+
+regle 111440:
+application : batch , iliad ;
+
+LIG4401 =  positif(V_FORVA) * (1 - positif_ou_nul(BAFV)) * LI[DGFIP][2017] ;
+
+LIG4402 =  positif(V_FORCA) * (1 - positif_ou_nul(BAFC)) * LI[DGFIP][2017] ;
+
+LIG4403 =  positif(V_FORPA) * (1 - positif_ou_nul(BAFP)) * LI[DGFIP][2017] ;
+
+regle 11113:
+application : iliad , batch ;
+
+LI[DGFIP][2017]3 =  positif(present(BACDEV)+ present(BACREV)
+               + present(BAHDEV) +present(BAHREV)
+               + present(BACDEC) +present(BACREC)
+               + present(BAHDEC)+ present(BAHREC)
+               + present(BACDEP)+ present(BACREP)
+               + present(BAHDEP)+ present(BAHREP)
+               + present(4BAHREV) + present(4BAHREC) + present(4BAHREP)
+               + present(4BACREV) + present(4BACREC) + present(4BACREP)
+               + present(BAFV) + present(BAFC) + present(BAFP)
+	       + present(BAFORESTV) + present(BAFORESTC) 
+	       + present(BAFORESTP)
+               + present(BAFPVV) + present(BAFPVC) + present(BAFPVP))
+	* (1 - positif(IPVLOC)) * (1 - positif(ANNUL2042)) * LI[DGFIP][2017] ;
+
+regle 111135:
+application : batch , iliad ;
+
+4BAQLV = positif(4BACREV + 4BAHREV) ;
+4BAQLC = positif(4BACREC + 4BAHREC) ;
+4BAQLP = positif(4BACREP + 4BAHREP) ;
+
+regle 111134:
+application : iliad , batch ;
+
+LI[DGFIP][2017]34V = positif(present(BAFV) + present(BAHREV) + present(BAHDEV) + present(BACREV) + present(BACDEV)+ present(BAFPVV)+present(BAFORESTV)) ;
+LI[DGFIP][2017]34C = positif(present(BAFC) + present(BAHREC) + present(BAHDEC) + present(BACREC) + present(BACDEC)+ present(BAFPVC)+present(BAFORESTC)) ;
+LI[DGFIP][2017]34P = positif(present(BAFP) + present(BAHREP) + present(BAHDEP) + present(BACREP) + present(BACDEP)+ present(BAFPVP)+present(BAFORESTP)) ;
+LI[DGFIP][2017]34 = positif(LI[DGFIP][2017]34V + LI[DGFIP][2017]34C + LI[DGFIP][2017]34P+present(DAGRI6)+present(DAGR[DGFIP][2017])+present(DAGRI4)+present(DAGRI3)+present(DAGR[DGFIP][2017])+present(DAGR[DGFIP][2017])) 
+		* (1 - positif(IPVLOC)) * (1 - positif(abs(DEFIBA))) * (1 - positif(ANNUL2042)) * LI[DGFIP][2017] ;
+
+LIGDBAIP = positif_ou_nul(DBAIP) * positif(DAGR[DGFIP][2017] + DAGR[DGFIP][2017] + DAGRI3 + DAGRI4 + DAGR[DGFIP][2017] + DAGRI6) * (1 - positif(IPVLOC))
+			  * positif(abs(abs(BAHQTOT)+abs(BAQTOT)-(DAGRI6+DAGR[DGFIP][2017]+DAGRI4+DAGRI3+DAGR[DGFIP][2017]+DAGR[DGFIP][2017]))) * LI[DGFIP][2017] ;
+regle 111136:
+application : iliad ,batch;
+LI[DGFIP][2017]36 = positif(4BAQV + 4BAQC + 4BAQP) * (1 - positif(IPVLOC)) * (1 - positif(ANNUL2042)) * LI[DGFIP][2017] ;
+
+regle 111590:
+application : iliad, batch ;
+pour i = V,C,P:
+LIG_BICPi =        (
+  present ( BICNOi )                          
+ + present (BICDNi )                          
+ + present (BIHNOi )                          
+ + present (BIHDNi )                          
+                  ) * (1 - positif(ANNUL2042)) * LI[DGFIP][2017] ;
+
+LIG_BICP = LIG_BICPV + LIG_BICPC + LIG_BICPP ;
+
+LIG_DEFNPI = positif(
+   present ( DEFBIC6 ) 
+ + present ( DEFBIC5 ) 
+ + present ( DEFBIC4 ) 
+ + present ( DEFBIC3 ) 
+ + present ( DEFBIC2 )
+ + present ( DEFBIC1 )
+            )
+  * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LIGMLOC = positif(present(MIBMEUV) + present(MIBMEUC) + present(MIBMEUP)
+		+ present(MIBGITEV) + present(MIBGITEC) + present(MIBGITEP)
+		+ present(LOCGITV) + present(LOCGITC) + present(LOCGITP))
+	  * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+ 
+LIGMLOCAB = positif(MLOCABV + MLOCABC + MLOCABP) * LI[DGFIP][2017]  * LI[DGFIP][2017] ; 
+
+LIGMIBMV = positif(BICPMVCTV + BICPMVCTC + BICPMVCTP) * (1 - null(4 - V_REGCO)) * LI[DGFIP][2017] ;
+
+LIGBNCMV = positif(BNCPMVCTV + BNCPMVCTC + BNCPMVCTP) * (1 - null(4 - V_REGCO)) * LI[DGFIP][2017] ;
+
+LIGPLOC = positif(LOCPROCGAV + LOCPROCGAC + LOCPROCGAP + LOCDEFPROCGAV + LOCDEFPROCGAC + LOCDEFPROCGAP 
+		+ LOCPROV + LOCPROC + LOCPROP + LOCDEFPROV +LOCDEFPROC + LOCDEFPROP)
+		   * (1 - null(4 - V_REGCO)) * LI[DGFIP][2017] ;
+
+LIGNPLOC = positif(LOCNPCGAV + LOCNPCGAC + LOCNPCGAPAC + LOCDEFNPCGAV + LOCDEFNPCGAC + LOCDEFNPCGAPAC
+		   + LOCNPV + LOCNPC + LOCNPPAC + LOCDEFNPV + LOCDEFNPC + LOCDEFNPPAC
+		   + LOCGITCV + LOCGITCC + LOCGITCP + LOCGITHCV + LOCGITHCC + LOCGITHCP)
+		   *  (1-null(4 - V_REGCO)) * LI[DGFIP][2017] ;
+
+LIGNPLOCF = positif(LOCNPCGAV + LOCNPCGAC + LOCNPCGAPAC + LOCDEFNPCGAV + LOCDEFNPCGAC + LOCDEFNPCGAPAC
+		   + LOCNPV + LOCNPC + LOCNPPAC + LOCDEFNPV + LOCDEFNPC + LOCDEFNPPAC
+                   + LNPRODE[DGFIP][2017]0 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODE[DGFIP][2017]
+                   + LNPRODEF4 + LNPRODEF3 + LNPRODE[DGFIP][2017] + LNPRODE[DGFIP][2017]
+		   + LOCGITCV + LOCGITCC + LOCGITCP + LOCGITHCV + LOCGITHCC + LOCGITHCP)
+		   *  (1-null(4 - V_REGCO)) * LI[DGFIP][2017] ;
+
+LIGDEFNPLOC = positif(TOTDEFLOCNP) *  (1-null(4 - V_REGCO)) ;
+
+LIGDFLOCNPF = positif(DEFLOCNPF) * positif(DEFRILOC) * (1 - PREM8_11) ;
+
+LIGLOCNSEUL = positif(LIGNPLOC + LIGDEFNPLOC + LIGNPLOCF) ;
+
+LIGLOCSEUL = 1 - positif(LIGNPLOC + LIGDEFNPLOC + LIGNPLOCF) ;
+
+regle 1115901:
+application : iliad,batch;
+
+LIG_BICNPF = 
+       positif(
+   present (BICDEC)
+ + present (BICDEP)
+ + present (BICDEV)
+ + present (BICHDEC)
+ + present (BICHDEP)
+ + present (BICHDEV)
+ + present (BICHREC)
+ + present (BICHREP)
+ + present (BICHREV)
+ + present (BICREC)
+ + present (BICREP)
+ + present (BICREV)
+ + present ( DEFBIC6 ) 
+ + present ( DEFBIC5 ) 
+ + present ( DEFBIC4 ) 
+ + present ( DEFBIC3 ) 
+ + present ( DEFBIC2 )
+ + present ( DEFBIC1 )
+)
+                   * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 11117:
+application : iliad,batch;
+LIG_BNCNF = positif (present(BNCV) + present(BNCC) + present(BNCP)) ;
+
+LIGNOCEP = (present(NOCEPV) + present(NOCEPC) + present(NOCEPP)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LIGNOCEPIMP = (present(NOCEPIMPV) + present(NOCEPIMPC) + present(NOCEPIMPP)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LIGDAB = positif(present(DABNCNP6) + present(DABNCN[DGFIP][2017]) + present(DABNCNP4)
+		 + present(DABNCNP3) + present(DABNCN[DGFIP][2017]) + present(DABNCN[DGFIP][2017])) 
+		* LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LIGDIDAB = positif_ou_nul(DIDABNCNP) * positif(LIGDAB) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+
+LIGDEFBNCNPF = positif(DEFBNCNPF) * positif(DEFRIBNC) * null(PREM8_11) ;
+LIGDEFBANIF  = positif (DEFBANIF) * positif(DEFRIBASUP + DEFRIGLOBSUP) * (1-PREM8_11);
+LIGDEFBICNPF = positif (DEFBICNPF) * DEFRIBIC * (1-PREM8_11);
+LIGDEFRFNONI = positif (DEFRFNONI) * DEFRIRF * (1-PREM8_11);
+
+LIGBNCIF = ( positif (LIGNOCEP) * (1 - positif(LIG3250) + null(BNCIF)) 
+             + (null(BNCIF) * positif(LIGBNCDF)) 
+	     + null(BNCIF) * (1 - positif_ou_nul(NOCEPIMP+SPENETNPF-DABNCNP6 -DABNCN[DGFIP][2017] -DABNCNP4 -DABNCNP3 -DABNCN[DGFIP][2017] -DABNCN[DGFIP][2017]))
+             + positif (LIGDEFBNCNPF)
+             + positif(
+   present (DABNCNP6)
+ + present (DABNCN[DGFIP][2017])
+ + present (DABNCNP4)
+ + present (DABNCNP3)
+ + present (DABNCN[DGFIP][2017])
+ + present (DABNCN[DGFIP][2017])
+ + present (BNCAADV)
+ + present (DNOCEPC)
+ + present (DNOCEPP)
+ + present (BNCAADC)
+ + present (BNCAADP)
+ + present (DNOCEP)
+ + present (BNCNPV)
+ + present (BNCNPC)
+ + present (BNCNPP)
+ + present (BNCNPPVV)
+ + present (BNCNPPVC)
+ + present (BNCNPPVP)
+ + present (BNCAABV)
+ + present (ANOCEP)
+ + present (BNCAABC)
+ + present (ANOVEP)
+ + present (BNCAABP)
+ + present (ANOPEP)
+                        )
+           )
+	     * (1 - positif(LIGSPENPNEG + LIGSPENPPOS)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 125:
+application : batch, iliad;
+LIG910 = positif(present(RCMABD) + present(RCMTNC) + present(RCMAV) + present(RCMHAD) 
+	         + present(RCMHAB) + present(REGPRIV) + (1-present(BRCMQ)) *(present(RCMFR))
+                ) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 1111130: 
+application : iliad , batch ;
+LI[DGFIP][2017]130 = positif(present(REPSOF)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 1111950:
+application : iliad, batch;
+LI[DGFIP][2017]950 = INDREV1A8 *  positif_ou_nul(REVKIRE) 
+                    * (1 - positif_ou_nul(IND_TDR)) 
+                    * (1 - positif(ANNUL2042 + 0)) ;
+
+regle 11129:
+application : batch, iliad;
+LI[DGFIP][2017]9 = positif(present(RFORDI) + present(RFDHIS) + present(RFDANT) +
+                present(RFDORD)) * (1 - positif(IPVLOC))
+                * (1 - positif(LIG30)) * LI[DGFIP][2017] * LI[DGFIP][2017] * IND_REV ;
+regle 11130:
+application : iliad, batch ;
+LIG30 = positif(RFMIC) * (1 - positif(IPVLOC)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGREVRF = positif(present(FONCI) + present(REAMOR)) * (1 - positif(IPVLOC)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 11149:
+application : batch, iliad;
+LIG49 =  INDREV1A8 * positif_ou_nul(DRBG) * LI[DGFIP][2017] ;
+regle 11152:
+application :  iliad, batch;
+LI[DGFIP][2017]2 = positif(present(CHEN[DGFIP][2017]) + present(CHEN[DGFIP][2017]) + present(CHENF3) + present(CHENF4) 
+                 + present(NCHEN[DGFIP][2017]) + present(NCHEN[DGFIP][2017]) + present(NCHENF3) + present(NCHENF4)) 
+	     * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 11158:
+application : iliad, batch;
+LI[DGFIP][2017]8 = (present(PAAV) + present(PAAP)) * positif(LI[DGFIP][2017]2) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 111585:
+application : iliad, batch;
+LI[DGFIP][2017]85 = (present(PAAP) + present(PAAV)) * (1 - positif(LI[DGFIP][2017]8)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIG65 = positif(LI[DGFIP][2017]2 + LI[DGFIP][2017]8 + LI[DGFIP][2017]85 
+                + present(CHRFAC) + present(CHNFAC) + present(CHRDED)
+		+ present(DPERPV) + present(DPERPC) + present(DPERPP)
+                + LIGREPAR)  
+       * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 111555:
+application : iliad, batch;
+LIGDPREC = present(CHRFAC) * (1 - positif(ANNUL2042)) * LI[DGFIP][2017];
+
+LIGDFACC = (positif(20-V_NOTRAIT+0) * positif(DFACC)
+           + (1 - positif(20-V_NOTRAIT+0)) * present(DFACC)) * (1 - positif(ANNUL2042)) * LI[DGFIP][2017] ;
+regle 1111390:
+application : batch, iliad;
+LI[DGFIP][2017]390 = positif(positif(ABMAR) + (1 - positif(R[DGFIP][2017])) * positif(V_0DN)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 11168:
+application : batch, iliad;
+LIG68 = INDREV1A8 * (1 - positif(abs(RNIDF))) * LI[DGFIP][2017] ;
+regle 1111420:
+application : iliad,batch;
+LIGTTPVQ = positif(
+                   positif(CARTSV) + positif(CARTSC) + positif(CARTS[DGFIP][2017]) + positif(CARTS[DGFIP][2017])+ positif(CARTSP3)+ positif(CARTSP4)
+                   + positif(REMPLAV) + positif(REMPLAC) + positif(REMPLA[DGFIP][2017]) + positif(REMPLA[DGFIP][2017])+ positif(REMPLAP3)+ positif(REMPLAP4)
+                   + positif(PEBFV) + positif(PEBFC) + positif(PEB[DGFIP][2017]) + positif(PEB[DGFIP][2017])+ positif(PEBF3)+ positif(PEBF4)
+                   + positif(CARPEV) + positif(CARPEC) + positif(CARPE[DGFIP][2017]) + positif(CARPE[DGFIP][2017])+ positif(CARPEP3)+ positif(CARPEP4)
+                   + positif(CODRAZ) + positif(CODRBZ) + positif(CODRCZ) + positif(CODRDZ) + positif(CODREZ) + positif(CODRFZ) 
+                   + positif(PENSALV) + positif(PENSALC) + positif(PENSAL[DGFIP][2017]) + positif(PENSAL[DGFIP][2017])+ positif(PENSALP3)+ positif(PENSALP4)
+                   + positif(RENTAX) + positif(RENTAX5) + positif(RENTAX6) + positif(RENTAX7)
+                   + positif(REVACT) + positif(REVPEA) + positif(PROVIE) + positif(DISQUO) + positif(RESTUC) + positif(INTERE)
+                   + positif(FONCI) + positif(REAMOR)
+                   + positif(4BACREV) + positif(4BACREC)+positif(4BACREP)+positif(4BAHREV)+positif(4BAHREC)+positif(4BAHREP)
+                   + positif(GL[DGFIP][2017]V) + positif(GL[DGFIP][2017]C) + positif(GL[DGFIP][2017]V) + positif(GL[DGFIP][2017]C) + positif(GLD3V) + positif(GLD3C)
+                   + positif(CODDAJ) + positif(CODEAJ) + positif(CODDBJ)+ positif(CODEBJ)   
+                   + positif(CODRVG)
+                  ) * LI[DGFIP][2017] * LI[DGFIP][2017] * (1 - null(4-V_REGCO)) ;
+
+regle 111721:
+application : batch, iliad;
+
+LI[DGFIP][2017]430 = positif(BPTP3) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]431 = positif(BPT[DGFIP][2017]8) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]432 = positif(BPT[DGFIP][2017]9) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 111722:
+application : batch, iliad;
+LIG815 = V_EAD * positif(BPTPD) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIG816 = V_EAG * positif(BPTPG) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGTX[DGFIP][2017]25 = positif(PEA+0) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGTX[DGFIP][2017]4 = positif(BPT[DGFIP][2017]4) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGTXF30 = positif_ou_nul(BPCOPTV + BPCOPTC + BPVSK) * LI[DGFIP][2017]  * LI[DGFIP][2017] ;
+LIGTXF40 = positif(BPV40V + BPV40C + 0) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+regle 111723:
+application : batch, iliad ;
+
+LIGCESDOM = positif(BPTPDIV) * positif(PVTAXSB) * positif(V_EAD + 0) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LIGCESDOMG = positif(BPTPDIV) * positif(PVTAXSB) * positif(V_EAG + 0) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+regle 11181:
+application : batch , iliad ;
+ 
+LIG81 = positif(present(RDDOUP) + present(DONAUTRE) + present(REPDON03) + present(REPDON04) 
+                + present(REPDON05) + present(REPDON06) + present(REPDON07) + present(COD7UH)
+                + positif(EXCEDANTA))
+        * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+regle 1111500:
+application : iliad, batch ;
+
+LI[DGFIP][2017]500 = positif((positif(IPMOND) * positif(present(IPTEFP)+positif(VARIPTEFP)*present(DEFZU))) + positif(INDTEFF) * positif(TEFFREVTOT)) 
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) * (1 - positif(DEFRIMOND)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]510 = positif((positif(IPMOND) * present(IPTEFN)) + positif(INDTEFF) * (1 - positif(TEFFREVTOT))) 
+	      * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) * (1 - positif(DEFRIMOND)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]500YT = positif((positif(IPMOND) * positif(present(IPTEFP)+positif(VARIPTEFP)*present(DEFZU))) + positif(INDTEFF) * positif(TEFFREVTOT)) 
+	     * positif(positif(max(0,IPTEFP+DEFZU-IPTEFN))+positif(max(0,RMOND+DEFZU-DMOND)))* (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) * positif(DEFRIMOND) * LI[DGFIP][2017] * LI[DGFIP][2017];
+
+LI[DGFIP][2017]510YT =  positif(null(max(0,RMOND+DEFZU-DMOND))+null(max(0,IPTEFP+DEFZU-IPTEFN))) * (1 - null(2 - V_REGCO)) * (1 - null(4 - V_REGCO)) * positif(DEFRIMOND) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+regle 1111522:
+application : iliad, batch ;
+LI[DGFIP][2017]522 = (1 - present(IND_TDR)) * (1 - INDTXMIN) * (1 - INDTXMOY) * V_CR2 * LI[DGFIP][2017] ;
+regle 1111523:
+application : batch, iliad;
+LI[DGFIP][2017]523 = (1 - present(IND_TDR)) * null(V_REGCO - 4) * LI[DGFIP][2017] ;
+regle 11175:
+application : iliad, batch ;
+LIG75 = (1 - INDTXMIN) * (1 - INDTXMOY) * (1 - (LI[DGFIP][2017]500+ LI[DGFIP][2017]500YT)) * (1 - (LI[DGFIP][2017]510+ LI[DGFIP][2017]510YT)) * INDREV1A8 * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]545 = (1 - present(IND_TDR)) * INDTXMIN * positif(IND_REV) * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]760 = (1 - present(IND_TDR)) * INDTXMOY * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]546 = positif(PRODOM + PROGUY) * (1 - positif(V_EAD + V_EAG)) * LI[DGFIP][2017] ;
+
+LI[DGFIP][2017]550 = (1 - present(IND_TDR)) * INDTXMOY * LI[DGFIP][2017] ;
+
+LIG74 = (1 - present(IND_TDR)) * (1 - INDTXMIN) * positif(LI[DGFIP][2017]500 + LI[DGFIP][2017]510 + LI[DGFIP][2017]500YT + LI[DGFIP][2017]510YT) * LI[DGFIP][2017] ;
+
+regle 11180:
+application : batch, iliad ;
+LIG80 = positif(present(RDREP) + present(DONETRAN)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 11188:
+application : iliad , batch ;
+LIGRSOCREPR = positif(present(RSOCREPRISE)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 1111740:
+application : batch , iliad ;
+LI[DGFIP][2017]740 = positif(RECOMP) * LI[DGFIP][2017] ;
+regle 1111780:
+application : batch , iliad ;
+LI[DGFIP][2017]780 = positif(RDCOM + NBACT) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 111981:
+application : batch, iliad;
+LIG98B = positif(LIG80 + LIGFIPC + LIGFIPDOM + present(DAIDE)
+                 + LIGDUFLOT + LIGPINEL + LIG7CY
+                 + LIGREDAGRI + LIGFORET + LIGRESTIMO  
+	         + LIGCINE + LIGRSOCREPR + LIGCOTFOR 
+	         + present(PRESCOM[DGFIP][2017]000) + present(RDPRESREPORT) + present(FCPI) 
+		 + present(DSOUFIP) + LIGRIRENOV + present(DFOREST) 
+		 + present(DHEBE) + present(DSURV)
+	         + LIGLOGDOM + LIGREPTOUR + LIGLOCHOTR
+	         + LIGREPHA + LIGCREAT + LI[DGFIP][2017]780 + LI[DGFIP][2017]040 + LIG81 + LIGLOGSOC
+	         + LIGDOMSOC1 
+		 + somme (i=A,B,E,M,C,D,S,F,Z,N,T,X : LIGCELLi) + LIGCELMG + LIGCELMH
+		 + somme (i=A,B,D,E,F,H,G,L,M,S,R,U,T,Z,X,W,V : LIGCELHi) 
+                 + somme (i=U,X,T,S,W,P,L,V,K,J : LIGCELGi)
+                 + somme (i=A,B,C,D,E,F,G,H,I,J,K,L : LIGCELYi)
+		 + LIGCELHNO + LIGCELHJK + LIGCELNQ + LIGCELCOM + LIGCELNBGL
+		 + LIGCEL + LIGCELJP + LIGCELJBGL + LIGCELJOQR + LIGCEL2012
+                 + LIGCELFD + LIGCELFABC
+                 + LIGILMPA + LIGILMPB + LIGILMPC + LIGILMPD + LIGILMPE
+                 + LIGILMOA + LIGILMOB + LIGILMOC + LIGILMOD + LIGILMOE
+		 + LIGREDMEUB + LIGREDREP + LIGILMIX + LIGILMIY + LIGINVRED + LIGILMIH  + LIGILMJC + LIGILMIZ 
+                 + LIGILMJI + LIGILMJS + LIGMEUBLE + LIGPROREP + LIGREPNPRO + LIGMEUREP + LIGILMIC + LIGILMIB 
+                 + LIGILMIA + LIGILMJY + LIGILMJX + LIGILMJW + LIGILMJV 
+		 + LIGRESIMEUB + LIGRESINEUV + LIGRESIVIEU + LIGLOCIDEFG + LIGCODJTJU
+                 + LIGCODOU
+		 + present(DNOUV) + LIGLOCENT + LIGCOLENT + LIGRIDOMPRO
+		 + LIGPATNAT1 + LIGPATNAT2 + LIGPATNAT3+LIGPATNAT4) 
+           * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LIGRED = LIG98B * (1 - positif(RIDEFRI)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LIGREDYT = LIG98B * positif(RIDEFRI) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+regle 1111820:
+application : batch , iliad ;
+
+LI[DGFIP][2017]820 = positif(ABADO + ABAGU + RECOMP) * LI[DGFIP][2017] ;
+
+regle 111106:
+application : iliad , batch ;
+
+LI[DGFIP][2017]06 = positif(RETIR) ;
+LIGINRTAX = positif(RETTAXA) ;
+LI[DGFIP][2017]0622 = positif(RETIR22) ;
+LIGINRTAX22 = positif(RETTAXA22) ;
+ZIG_INT22 = positif(RETCS22 + RETPS22 + RETR[DGFIP][2017]2 + RETCVN22) ;
+
+LIGINRPCAP = positif(RETPCAP) ;
+LIGINRPCA[DGFIP][2017] = positif(RETPCA[DGFIP][2017]2) ;
+LIGINRLOY = positif(RETLOY) ;
+LIGINRLOY2 = positif(RETLOY22) ;
+
+LIGINRHAUT = positif(RETHAUTREV) ;
+LIGINRHAUT2 = positif(RETCHR22) ;
+regle 111107:
+application : iliad, batch;
+
+LIG_172810 = TYPE2 * positif(NMAJ1) ;
+
+LIGTAXA17281 = TYPE2 * positif(NMAJTAXA1) ;
+
+LIGPCA[DGFIP][2017]7281 = TYPE2 * positif(NMAJPCA[DGFIP][2017]) ;
+
+LIGCHR17281 = TYPE2 * positif(NMAJCHR1) ;
+
+LIG_NMAJ1 = TYPE2 * positif(NMAJ1) ;
+LIG_NMAJ3 = TYPE2 * positif(NMAJ3) ;
+LIG_NMAJ4 = TYPE2 * positif(NMAJ4) ;
+
+LIGNMAJTAXA1 = TYPE2 * positif(NMAJTAXA1) ;
+LIGNMAJTAXA3 = TYPE2 * positif(NMAJTAXA3) ;
+LIGNMAJTAXA4 = TYPE2 * positif(NMAJTAXA4) ;
+
+LIGNMAJPCA[DGFIP][2017] = TYPE2 * positif(NMAJPCA[DGFIP][2017]) ;
+LIGNMAJPCAP3 = TYPE2 * positif(NMAJPCAP3) ;
+LIGNMAJPCAP4 = TYPE2 * positif(NMAJPCAP4) ;
+LIGNMAJLOY1 = TYPE2 * positif(NMAJLOY1) ;
+LIGNMAJLOY3 = TYPE2 * positif(NMAJLOY3) ;
+LIGNMAJLOY4 = TYPE2 * positif(NMAJLOY4) ;
+
+LIGNMAJCHR1 = TYPE2 * positif(NMAJCHR1) ;
+LIGNMAJCHR3 = TYPE2 * positif(NMAJCHR3) ;
+LIGNMAJCHR4 = TYPE2 * positif(NMAJCHR4) ;
+
+regle 11119:
+application : batch, iliad;
+LI[DGFIP][2017]09 = positif(IPSOUR + REGCI + LIGPVETR + LIGCULTURE + LIGMECENAT 
+		  + LIGCORSE + LI[DGFIP][2017]305 + LIGEMPLOI + LIGC[DGFIP][2017]CK + LIGCICAP + LIGCI8XV + LIGCIGLO + LIGREGCI
+		  + LIGBPLIB + LIGCIGE + LIGDEVDUR 
+                  + LIGCICA + LIGCIGARD + LIG82
+		  + LIGPRETUD + LIGSALDOM + LIGCIFORET + LIGHABPRIN
+		  + LIGCREFAM + LIGCREAPP + LIGCREBIO  + LIGPRESINT + LIGCREPROSP + LIGINTER
+		  + LIGRESTAU + LIGCONGA + LIGMETART 
+		  + LIGCREFORM + LIGLOYIMP 
+		  + LIGVERSLIB + LIGCITEC + INDLIGPPE
+		   ) 
+               * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LIGCRE[DGFIP][2017] = positif(REGCI + LIGPVETR + LIGCICAP + LIGREGCI + LIGCI8XV + LIGCIGLO + 0) 
+	    * (1 - positif(IPSOUR + LIGCULTURE + LIGMECENAT + LIGCORSE + LI[DGFIP][2017]305 + LIGEMPLOI + LIGC[DGFIP][2017]CK + LIGBPLIB + LIGCIGE + LIGDEVDUR 
+		           + LIGCICA + LIGCIGARD + LIG82 + LIGPRETUD + LIGSALDOM + LIGCIFORET + LIGHABPRIN + LIGCREFAM + LIGCREAPP 
+		           + LIGCREBIO + LIGPRESINT + LIGCREPROSP + LIGINTER + LIGRESTAU + LIGCONGA + LIGMETART
+		           + LIGCREFORM + LIGLOYIMP + LIGVERSLIB + LIGCITEC + 0))
+	    ;
+
+LIGCRE[DGFIP][2017] = (1 - positif(REGCI + LIGPVETR + LIGCICAP + LIGREGCI + LIGCI8XV + LIGCIGLO + 0)) 
+	    * positif(IPSOUR + LIGCULTURE + LIGMECENAT + LIGCORSE + LI[DGFIP][2017]305 + LIGEMPLOI + LIGC[DGFIP][2017]CK + LIGBPLIB + LIGCIGE + LIGDEVDUR 
+		      + LIGCICA + LIGCIGARD + LIG82 + LIGPRETUD + LIGSALDOM + LIGCIFORET + LIGHABPRIN + LIGCREFAM + LIGCREAPP 
+		      + LIGCREBIO + LIGPRESINT + LIGCREPROSP + LIGINTER + LIGRESTAU + LIGCONGA + LIGMETART
+		      + LIGCREFORM + LIGLOYIMP + LIGVERSLIB + LIGCITEC + 0)
+	    ;
+
+LIGCRED3 = positif(REGCI + LIGPVETR + LIGCICAP + LIGREGCI + LIGCI8XV + LIGCIGLO + 0) 
+	    * positif(IPSOUR + LIGCULTURE + LIGMECENAT + LIGCORSE + LI[DGFIP][2017]305 + LIGEMPLOI + LIGC[DGFIP][2017]CK + LIGBPLIB + LIGCIGE + LIGDEVDUR
+		      + LIGCICA + LIGCIGARD + LIG82 + LIGPRETUD + LIGSALDOM + LIGCIFORET + LIGHABPRIN + LIGCREFAM + LIGCREAPP 
+		      + LIGCREBIO + LIGPRESINT + LIGCREPROSP + LIGINTER + LIGRESTAU + LIGCONGA + LIGMETART
+		      + LIGCREFORM + LIGLOYIMP + LIGVERSLIB + LIGCITEC + 0)
+           ;
+regle 11120:
+application : batch, iliad ;
+
+LIGPVETR = positif(present(CIIMPPRO) + present(CIIMPPRO2)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGCICAP = present(PRELIBXT) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGREGCI = positif(present(REGCI) + present(COD8XY)) * positif(CICHR) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGCI8XV = present(COD8XV) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGCIGLO = positif(present(COD8XF) + present(COD8XG) + present(COD8XH)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LIGCULTURE = present(CIAQCUL) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGMECENAT = present(RDMECENAT) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGCORSE = positif(present(CIINVCORSE) + present(IPREPCORSE) + present(CICORSENOW)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LI[DGFIP][2017]305 = positif(DIAV[DGFIP][2017]) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGEMPLOI = positif(COD8UW + COD8TL) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGC[DGFIP][2017]CK = positif(CO[DGFIP][2017]CK) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGBPLIB = present(RCMLIB) * LI[DGFIP][2017] * (1 - null(4-V_REGCO)) * LI[DGFIP][2017] ;
+LIGCIGE = positif(RDTECH + RDEQPAHA) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGDEVDUR = positif(DDEVDUR) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGCICA = positif(BAILOC98) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGCIGARD = positif(DGARD) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIG82 = positif(present(RDSYVO) + present(RDSYCJ) + present(RDSYPP) ) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGPRETUD = positif(PRETUD+PRETUDANT) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGSALDOM = present(CREAIDE) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGCIFORET = positif(BDCIFORET) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGHABPRIN = positif(present(PREHABT) + present(PREHABT1) + present(PREHABT2) + present(PREHABTN) 
+                     + present(PREHABTN1) + present(PREHABTN2) + present(PREHABTVT)
+                    ) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGCREFAM = positif(CREFAM) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGCREAPP = positif(CREAPP) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGCREBIO = positif(CREAGRIBIO) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGPRESINT = positif(PRESINTER) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGCREPROSP = positif(CREPROSP) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGINTER = positif(CREINTERESSE) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGRESTAU = positif(CRERESTAU) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGCONGA = positif(CRECONGAGRI) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGMETART = positif(CREARTS) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGCREFORM = positif(CREFORMCHENT) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGLOYIMP = positif(LOYIMP) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGVERSLIB = positif(AUTOVERSLIB) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGCITEC = positif(DTEC) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+
+LIGCREAT = positif(DCREAT + DCREATHANDI) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 1112030:
+application : batch, iliad ;
+
+LIGNRBASE = positif(present(NRINET) + present(NRBASE)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+LIGBASRET = positif(present(IMPRET) + present(BASRET)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 1112332:
+application :  iliad, batch ;
+LIGAVFISC = positif(AVFISCOPTER) * LI[DGFIP][2017] * LI[DGFIP][2017] ; 
+regle 1112040:
+application : batch, iliad;
+LI[DGFIP][2017]040 = positif(DNBE + RNBE + RRETU) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 1112041:
+application : iliad, batch ;
+LIGRDCSG = positif(positif(V_BTCSGDED) + present(DCSG) + present(RCMSOC)) * LI[DGFIP][2017] * LI[DGFIP][2017] ;
+regle 1111
diff --git a/sources2014m_2_15/chap-cinr.m b/sources2014m_2_15/chap-cinr.m
new file mode 100644
index 0000000000000000000000000000000000000000..815c67db7747133b07fab9ae43ac97facdd4657f
--- /dev/null
+++ b/sources2014m_2_15/chap-cinr.m
@@ -0,0 +1,750 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle corrective base_HR 1311:
+application :  iliad ;
+IRNIN_R99R = max(0,max(IRNIN_INR,IRNIN_PA-ACODELAISINR))*positif(IND_PASSAGE-1);
+CSG_R99R = max(0,max(CSBASE_INR*CSREC,CSG_PA))*positif(IND_PASSAGE-1);
+RDS_R99R = max(0,max(RDBASE_INR*CSREC,CRDS_PA))*positif(IND_PASSAGE-1);
+PRS_R99R = max(0,max(PSBASE_INR*CSREC,PRS_PA))*positif(IND_PASSAGE-1);
+CDIS_R99R = max(0,max(CDISBASE_INR*CSREC,CDIS_PA))*positif(IND_PASSAGE-1);
+TAXA_R99R = max(0,max(TAXABASE_INR,TAXA_PA))*positif(IND_PASSAGE-1);
+ISF_R99R = max(0,max(ISF4BASE,ISF_PA))*positif(IND_PASSAGEISF-1);
+CHR_R99R = max(0,max(CHRBASE_INR,CHR_PA))*positif(IND_PASSAGE-1);
+PCAP_R99R = max(0,max(PCAPBASE_INR,PCAP_PA))*positif(IND_PASSAGE-1);
+RSE1_R99R = max(0,max(RSE1BASE_INR,RSE1_PA))*positif(IND_PASSAGE-1);
+RSE2_R99R = max(0,max(RSE2BASE_INR,RSE2_PA))*positif(IND_PASSAGE-1);
+RSE3_R99R = max(0,max(RSE3BASE_INR,RSE3_PA))*positif(IND_PASSAGE-1);
+RSE4_R99R = max(0,max(RSE4BASE_INR,RSE4_PA))*positif(IND_PASSAGE-1);
+RSE5_R99R = max(0,max(RSE5BASE_INR,RSE5_PA))*positif(IND_PASSAGE-1);
+CVN_R99R = max(0,max(CVNBASE_INR,CVN_PA))*positif(IND_PASSAGE-1);
+LOY_R99R = max(0,max(LOYBASE_INR,LOY_PA))*positif(IND_PASSAGE-1);
+GLO_R99R = max(0,max(GLOBASE_INR,GLO_PA))*positif(IND_PASSAGE-1);
+REGV_R99R = max(0,max(REGVBASE_INR,REGV_PA))*positif(IND_PASSAGE-1);
+regle corrective base_inr_r9901 1313:
+application :  iliad ;
+IRNIN_R9901 = max(0,max(IRNIN_INR,IRNIN_INR_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(IRNIN_INR,IRNIN_PA-ACODELAISINR))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             + IRNIN_R9901_A;
+CSG_R9901 = max(0,max(CSBASE_INR*CSREC,CSG_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CSBASE_INR*CSREC,CSG_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CSG_R9901_A;
+RDS_R9901 = max(0,max(RDBASE_INR*CSREC,RDS_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RDBASE_INR*CSREC,CRDS_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RDS_R9901_A;
+PRS_R9901 = max(0,max(PSBASE_INR*CSREC,PRS_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(PSBASE_INR*CSREC,PRS_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +PRS_R9901_A;
+CDIS_R9901 = max(0,max(CDISBASE_INR*CSREC,CDIS_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CDISBASE_INR*CSREC,CDIS_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CDIS_R9901_A;
+TAXA_R9901 = max(0,max(TAXABASE_INR,TAXA_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(TAXABASE_INR,TAXA_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +TAXA_R9901_A;
+ISF_R9901 = max(0,max(ISF4BASE,ISF_P))*null(IND_PASSR9901ISF-2)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+	     + max(0,max(ISF4BASE,ISF_PA))*null(IND_PASSR9901ISF-3)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +ISF_R9901_A;
+CHR_R9901 = max(0,max(CHRBASE_INR,CHR_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CHRBASE_INR,CHR_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CHR_R9901_A;
+PCAP_R9901 = max(0,max(PCAPBASE_INR,PCAP_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(PCAPBASE_INR,PCAP_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +PCAP_R9901_A;
+RSE1_R9901 = max(0,max(RSE1BASE_INR,RSE1_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE1BASE_INR,RSE1_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE1_R9901_A;
+RSE2_R9901 = max(0,max(RSE2BASE_INR,RSE2_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE2BASE_INR,RSE2_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE2_R9901_A;
+RSE3_R9901 = max(0,max(RSE3BASE_INR,RSE3_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE3BASE_INR,RSE3_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE3_R9901_A;
+RSE4_R9901 = max(0,max(RSE4BASE_INR,RSE4_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE4BASE_INR,RSE4_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE4_R9901_A;
+RSE5_R9901 = max(0,max(RSE5BASE_INR,RSE5_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(RSE5BASE_INR,RSE5_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +RSE5_R9901_A;
+LOY_R9901 = max(0,max(LOYBASE_INR,LOY_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(LOYBASE_INR,LOY_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +LOY_R9901_A;
+CVN_R9901 = max(0,max(CVNBASE_INR,CVN_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(CVNBASE_INR,CVN_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +CVN_R9901_A;
+GLO_R9901 = max(0,max(GLOBASE_INR,GLO_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(GLOBASE_INR,GLO_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +GLO_R9901_A;
+REGV_R9901 = max(0,max(REGVBASE_INR,REGV_P))*null(IND_PASSR9901-1)*(1-positif(FLAG_RETARD+FLAG_DEFAUT))
+             + max(0,max(REGVBASE_INR,REGV_PA))*null(IND_PASSR9901-2)*positif(FLAG_RETARD+FLAG_DEFAUT)
+             +REGV_R9901_A;
+regle corrective base_inr_pri 1312:
+application :  iliad ;
+IRNIN_PRECT = max(0,IRNIN_INR);
+CSG_PRECT = max(0,CSBASE_INR*CSREC);
+RDS_PRECT = max(0,RDBASE_INR*CSREC);
+PRS_PRECT = max(0,PSBASE_INR*CSREC);
+CDIS_PRECT = max(0,CDISBASE_INR*CSREC);
+TAXA_PRECT = max(0,TAXABASE_INR);
+ISF_PRECT = max(0,ISF4BASE);
+CHR_PRECT = max(0,CHRBASE_INR);
+PCAP_PRECT = max(0,PCAPBASE_INR);
+RSE1_PRECT = max(0,RSE1BASE_INR);
+RSE2_PRECT = max(0,RSE2BASE_INR);
+RSE3_PRECT = max(0,RSE3BASE_INR);
+RSE4_PRECT = max(0,RSE4BASE_INR);
+RSE5_PRECT = max(0,RSE5BASE_INR);
+LOY_PRECT = max(0,LOYBASE_INR);
+CVN_PRECT = max(0,CVNBASE_INR);
+GLO_PRECT = max(0,GLOBASE_INR);
+REGV_PRECT = max(0,REGVBASE_INR);
+regle corrective base_inr_ref 1300:
+application :  iliad ;
+IRNIN_REFP = max(0,max(IRNIN_INR,(IRNIN_INR_P*(1-FLAG_PRIM*FLAG_9YT)+(IRNIN_PA-ACODELAISINR))));
+CSG_REFP = max(0,max(CSBASE_INR*CSRECINR,(CSBASE_INR_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CSG_PA)));
+RDS_REFP = max(0,max(RDBASE_INR*CSRECINR,(RDBASE_INR_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CRDS_PA)));
+PRS_REFP = max(0,max(PSBASE_INR*CSRECINR,(PSBASE_INR_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+PRS_PA)));
+CDIS_REFP = max(0,max(CDISBASE_INR*CSRECINR,(CDISBASE_INR_P*CSREC_P*(1-FLAG_PRIM*FLAG_9YT)+CDIS_PA)));
+TAXA_REFP = max(0,max(TAXABASE_INR,TAXABASE_INR_P*(1-FLAG_PRIM*FLAG_9YT)+TAXA_PA));
+CHR_REFP = max(0,max(CHRBASE_INR,CHRBASE_INR_P*(1-FLAG_PRIM*FLAG_9YT)+CHR_PA));
+PCAP_REFP = max(0,max(PCAPBASE_INR,PCAPBASE_INR_P*(1-FLAG_PRIM*FLAG_9YT)+PCAP_PA));
+RSE1_REFP = max(0,max(RSE1BASE_INR,RSE1BASE_INR_P*(1-FLAG_PRIM*FLAG_9YT)+RSE1_PA));
+RSE2_REFP = max(0,max(RSE2BASE_INR,RSE2BASE_INR_P*(1-FLAG_PRIM*FLAG_9YT)+RSE2_PA));
+RSE3_REFP = max(0,max(RSE3BASE_INR,RSE3BASE_INR_P*(1-FLAG_PRIM*FLAG_9YT)+RSE3_PA));
+RSE4_REFP = max(0,max(RSE4BASE_INR,RSE4BASE_INR_P*(1-FLAG_PRIM*FLAG_9YT)+RSE4_PA));
+RSE5_REFP = max(0,max(RSE5BASE_INR,RSE5BASE_INR_P*(1-FLAG_PRIM*FLAG_9YT)+RSE5_PA));
+LOY_REFP = max(0,max(LOYBASE_INR,LOYBASE_INR_P*(1-FLAG_PRIM*FLAG_9YT)+LOY_PA));
+CVN_REFP = max(0,max(CVNBASE_INR,CVNBASE_INR_P*(1-FLAG_PRIM*FLAG_9YT)+CVN_PA));
+GLO_REFP = max(0,max(GLOBASE_INR,GLOBASE_INR_P*(1-FLAG_PRIM*FLAG_9YT)+GLO_PA));
+REGV_REFP = max(0,max(REGVBASE_INR,REGVBASE_INR_P*(1-FLAG_PRIM*FLAG_9YT)+REGV_PA));
+IRNIN_REF= max(IRNIN_REFP,max(IRNIN_REF_A-ACODELAISINR,IRNIN_INR_A-ACODELAISINR));
+CSG_REF= max(CSG_REFP,max(CSG_REF_A*CSRECA,CSBASE_INR_A*CSRECA));
+RDS_REF= max(RDS_REFP,max(RDS_REF_A*CSRECA,RDBASE_INR_A*CSRECA));
+PRS_REF= max(PRS_REFP,max(PRS_REF_A*CSRECA,PSBASE_INR_A*CSRECA));
+CDIS_REF= max(CDIS_REFP,max(CDIS_REF_A*CSRECA,CDISBASE_INR_A*CSRECA));
+TAXA_REF= max(TAXA_REFP,max(TAXA_REF_A,TAXABASE_INR_A));
+CHR_REF= max(CHR_REFP,max(CHR_REF_A,CHRBASE_INR_A));
+PCAP_REF= max(PCAP_REFP,max(PCAP_REF_A,PCAPBASE_INR_A));
+RSE1_REF= max(RSE1_REFP,max(RSE1_REF_A,RSE1BASE_INR_A));
+RSE2_REF= max(RSE2_REFP,max(RSE2_REF_A,RSE2BASE_INR_A));
+RSE3_REF= max(RSE3_REFP,max(RSE3_REF_A,RSE3BASE_INR_A));
+RSE4_REF= max(RSE4_REFP,max(RSE4_REF_A,RSE4BASE_INR_A));
+RSE5_REF= max(RSE5_REFP,max(RSE5_REF_A,RSE5BASE_INR_A));
+LOY_REF= max(LOY_REFP,max(LOY_REF_A,LOYBASE_INR_A));
+CVN_REF= max(CVN_REFP,max(CVN_REF_A,CVNBASE_INR_A));
+GLO_REF= max(GLO_REFP,max(GLO_REF_A,GLOBASE_INR_A));
+REGV_REF= max(REGV_REFP,max(REGV_REF_A,REGVBASE_INR_A));
+IRNIN_RECT=IRNIN_INR;
+IRNIN_R = IRNIN_REF_A;
+INDFLAGCIR = positif(FLAG_C02+FLAG_C22) * positif(IRNIN_REF_A);
+INDFLAGCCSG = positif(FLAG_C02+FLAG_C22) * positif(CSG_REF_A);
+RDS_R = RDS_REF_A;
+INDFLAGCRDS = positif(FLAG_C02+FLAG_C22) * positif(RDS_REF_A);
+PRS_R = PRS_REF_A;
+INDFLAGCPRS = positif(FLAG_C02+FLAG_C22) * positif(PRS_REF_A);
+CDIS_R = CDIS_REF_A;
+INDFLAGCCDIS = positif(FLAG_C02+FLAG_C22) * positif(CDIS_REF_A);
+TAXA_R = TAXA_REF_A;
+INDFLAGCTAXA = positif(FLAG_C02+FLAG_C22) * positif(TAXA_REF_A);
+CHR_R = CHR_REF_A;
+INDFLAGCCHR = positif(FLAG_C02+FLAG_C22) * positif(CHR_REF_A);
+PCAP_R = PCAP_REF_A;
+INDFLAGCPCAP = positif(FLAG_C02+FLAG_C22) * positif(PCAP_REF_A);
+RSE1_R = RSE1_REF_A;
+INDFLAGCRSE1 = positif(FLAG_C02+FLAG_C22) * positif(RSE1_REF_A);
+RSE2_R = RSE2_REF_A;
+INDFLAGCRSE2 = positif(FLAG_C02+FLAG_C22) * positif(RSE2_REF_A);
+RSE3_R = RSE3_REF_A;
+INDFLAGCRSE3 = positif(FLAG_C02+FLAG_C22) * positif(RSE3_REF_A);
+RSE4_R = RSE4_REF_A;
+INDFLAGCRSE4 = positif(FLAG_C02+FLAG_C22) * positif(RSE4_REF_A);
+RSE5_R = RSE5_REF_A;
+INDFLAGCRSE5 = positif(FLAG_C02+FLAG_C22) * positif(RSE5_REF_A);
+LOY_R = LOY_REF_A;
+INDFLAGCLOY = positif(FLAG_C02+FLAG_C22) * positif(LOY_REF_A);
+CVN_R = CVN_REF_A;
+INDFLAGCCVN = positif(FLAG_C02+FLAG_C22) * positif(CVN_REF_A);
+GLO_R = GLO_REF_A;
+INDFLAGCGLO = positif(FLAG_C02+FLAG_C22) * positif(GLO_REF_A);
+REGV_R = REGV_REF_A;
+INDFLAGCREGV = positif(FLAG_C02+FLAG_C22) * positif(REGV_REF_A);
+ISF_REFP = max(0,max(ISF4BASE,ISF_P*(1-FLAG_PRIM*FLAG_9XT)+ISF_PA));
+ISF_REF= max(ISF_REFP,max(ISF_REF_A,ISF4BASE_A));
+ISF_R = ISF_REF_A;
+INDFLAGCISF = positif(FLAG_C02+FLAG_C22) * positif(ISF_REF_A);
+regle corrective base_inr_ntl 1301:
+application :  iliad ;
+INRCHR_NTL10 = INRCHR_NTLPROV * null(2 - FLAG_INR);
+regle corrective base_inr_intertl 1301999:
+application :  iliad ;
+INRCHR_TL15 = INRCHR_NTL15 ;
+CHR_NTL15 = CHRBASE_INR;
+IRNIN_NTLDEC = IRNIN_INR;
+INRIR_NTLDEC = INRIR_NTL+INR_IR_TARDIF * null(1-IND_PASSAGE);
+INRIR_NTLADEC = INRIR_NTL_A;
+INR_IR_NTL=max(0,INRIR_NTL+INR_IR_TARDIF * null(1-IND_PASSAGE));
+CSG_NTLDEC = CSBASE_INR;
+INRCSG_NTLDEC = INRCSG_NTL+INR_CSG_TARDIF * null(1-IND_PASSAGE);
+INRCSG_NTLADEC = INRCSG_NTL_A;
+INR_CSG_NTL=INRCSG_NTL+INR_CSG_TARDIF * null(1-IND_PASSAGE);
+PRS_NTLDEC = PSBASE_INR;
+INRPRS_NTLDEC = INRPRS_NTL+INR_PS_TARDIF * null(1-IND_PASSAGE);
+INRPS_NTLADEC = INRPRS_NTL_A;
+INR_PS_NTL=INRPRS_NTL+INR_PS_TARDIF * null(1-IND_PASSAGE);
+CRDS_NTLDEC = RDBASE_INR;
+INRCRDS_NTLDEC = INRCRDS_NTL+INR_CRDS_TARDIF * null(1-IND_PASSAGE);
+INRCRDS_NTLADEC = INRCRDS_NTL_A;
+INR_CRDS_NTL=INRCRDS_NTL+INR_CRDS_TARDIF * null(1-IND_PASSAGE);
+CDIS_NTLDEC = CDISBASE_INR;
+INRCDIS_NTLDEC = INRCDIS_NTL+INR_CDIS_TARDIF * null(1-IND_PASSAGE);
+INRCDIS_NTLADEC = INRCDIS_NTL_A;
+INR_CDIS_NTL=INRCDIS_NTL+INR_CDIS_TARDIF * null(1-IND_PASSAGE);
+TAXA_NTLDEC = TAXABASE_INR;
+INRTAXA_NTLDEC = INRTAXA_NTL+INR_TAXAGA_TARDIF * null(1-IND_PASSAGE);
+INRTAXA_NTLADEC = INRTAXA_NTL_A;
+INR_TAXAGA_NTL=INRTAXA_NTL+INR_TAXAGA_TARDIF * null(1-IND_PASSAGE);
+ISF_NTLDEC = ISF4BASE;
+INRISF_NTLDEC = INRISF_NTL+INR_ISF_TARDIF * null(1-IND_PASSAGEISF);
+INRISF_NTLADEC = INRISF_NTL_A;
+INR_ISF_NTL=INRISF_NTL+INR_ISF_TARDIF * null(1-IND_PASSAGEISF);
+CHR_NTLDEC = CHRBASE_INR;
+INRCHR_NTLDEC = INRCHR_NTL+INR_CHR_TARDIF * null(1-IND_PASSAGE);
+INRCHR_NTLADEC = INRCHR_NTL_A;
+INR_CHR_NTL=INRCHR_NTL+INR_CHR_TARDIF * null(1-IND_PASSAGE);
+PCAP_NTLDEC = PCAPBASE_INR;
+INRPCAP_NTLDEC = INRPCAP_NTL+INR_PCAP_TARDIF * null(1-IND_PASSAGE);
+INRPCAP_NTLADEC = INRPCAP_NTL_A;
+INR_PCAP_NTL=INRPCAP_NTL+INR_PCAP_TARDIF * null(1-IND_PASSAGE);
+RSE1_NTLDEC = RSE1BASE_INR;
+INRRSE1_NTLDEC = INRRSE1_NTL+INR_RSE1_TARDIF * null(1-IND_PASSAGE);
+INRRSE1_NTLADEC = INRRSE1_NTL_A;
+INR_RSE1_NTL=INRRSE1_NTL+INR_RSE1_TARDIF * null(1-IND_PASSAGE);
+RSE2_NTLDEC = RSE2BASE_INR;
+INRRSE2_NTLDEC = INRRSE2_NTL+INR_RSE2_TARDIF * null(1-IND_PASSAGE);
+INRRSE2_NTLADEC = INRRSE2_NTL_A;
+INR_RSE2_NTL=INRRSE2_NTL+INR_RSE2_TARDIF * null(1-IND_PASSAGE);
+RSE3_NTLDEC = RSE3BASE_INR;
+INRRSE3_NTLDEC = INRRSE3_NTL+INR_RSE3_TARDIF * null(1-IND_PASSAGE);
+INRRSE3_NTLADEC = INRRSE3_NTL_A;
+INR_RSE3_NTL=INRRSE3_NTL+INR_RSE3_TARDIF * null(1-IND_PASSAGE);
+RSE4_NTLDEC = RSE4BASE_INR;
+INRRSE4_NTLDEC = INRRSE4_NTL+INR_RSE4_TARDIF * null(1-IND_PASSAGE);
+INRRSE4_NTLADEC = INRRSE4_NTL_A;
+INR_RSE4_NTL=INRRSE4_NTL+INR_RSE4_TARDIF * null(1-IND_PASSAGE);
+RSE5_NTLDEC = RSE5BASE_INR;
+INRRSE5_NTLDEC = INRRSE5_NTL+INR_RSE5_TARDIF * null(1-IND_PASSAGE);
+INRRSE5_NTLADEC = INRRSE5_NTL_A;
+INR_RSE5_NTL=INRRSE5_NTL+INR_RSE5_TARDIF * null(1-IND_PASSAGE);
+LOY_NTLDEC = LOYBASE_INR;
+INRLOY_NTLDEC = INRLOY_NTL+INR_LOY_TARDIF * null(1-IND_PASSAGE);
+INRLOY_NTLADEC = INRLOY_NTL_A;
+INR_LOY_NTL=INRLOY_NTL+INR_LOY_TARDIF * null(1-IND_PASSAGE);
+CVN_NTLDEC = CVNBASE_INR;
+INRCVN_NTLDEC = INRCVN_NTL+INR_CVN_TARDIF * null(1-IND_PASSAGE);
+INRCVN_NTLADEC = INRCVN_NTL_A;
+INR_CVN_NTL=INRCVN_NTL+INR_CVN_TARDIF * null(1-IND_PASSAGE);
+GLO_NTLDEC = GLOBASE_INR;
+INRGLO_NTLDEC = INRGLO_NTL+INR_GLO_TARDIF * null(1-IND_PASSAGE);
+INRGLO_NTLADEC = INRGLO_NTL_A;
+INR_GLO_NTL=INRGLO_NTL+INR_GLO_TARDIF * null(1-IND_PASSAGE);
+REGV_NTLDEC = REGVBASE_INR;
+INRREGV_NTLDEC = INRREGV_NTL+INR_REGV_TARDIF * null(1-IND_PASSAGE);
+INRREGV_NTLADEC = INRREGV_NTL_A;
+INR_REGV_NTL=INRREGV_NTL+INR_REGV_TARDIF * null(1-IND_PASSAGE);
+regle corrective base_ABAT98 130111:
+application :  iliad ;
+DO_INR_IR98 = DO_INR_IR982;
+IRNIN_NTLDEC_198 = IRNIN_INR;
+DO_INR_CSG98 = DO_INR_CSG982;
+CSG_NTLDEC_198 = CSBASE_INR;
+DO_INR_PRS98 = DO_INR_PRS982;
+PRS_NTLDEC_198 = PSBASE_INR;
+DO_INR_CRDS98 = DO_INR_CRDS982;
+CRDS_NTLDEC_198 = RDBASE_INR;
+DO_INR_CDIS98 = DO_INR_CDIS982;
+CDIS_NTLDEC_198 = CDISBASE_INR;
+DO_INR_TAXA98 = DO_INR_TAXA982;
+TAXA_NTLDEC_198 = TAXABASE_INR;
+DO_INR_CHR98 = DO_INR_CHR982;
+CHR_NTLDEC_198 = CHRBASE_INR;
+DO_INR_PCAP98 = DO_INR_PCAP982;
+PCAP_NTLDEC_198 = PCAPBASE_INR;
+DO_INR_RSE198 = DO_INR_RSE1982;
+RSE1_NTLDEC_198 = RSE1BASE_INR;
+DO_INR_RSE298 = DO_INR_RSE2982;
+RSE2_NTLDEC_198 = RSE2BASE_INR;
+DO_INR_RSE398 = DO_INR_RSE3982;
+RSE3_NTLDEC_198 = RSE3BASE_INR;
+DO_INR_RSE498 = DO_INR_RSE4982;
+RSE4_NTLDEC_198 = RSE4BASE_INR;
+DO_INR_RSE598 = DO_INR_RSE5982;
+RSE5_NTLDEC_198 = RSE5BASE_INR;
+DO_INR_LOY98 = DO_INR_LOY982;
+LOY_NTLDEC_198 = LOYBASE_INR;
+DO_INR_CVN98 = DO_INR_CVN982;
+CVN_NTLDEC_198 = CVNBASE_INR;
+DO_INR_GLO98 = DO_INR_GLO982;
+GLO_NTLDEC_198 = GLOBASE_INR;
+DO_INR_REGV98 = DO_INR_REGV982;
+REGV_NTLDEC_198 = REGVBASE_INR;
+regle corrective base_inr_ntl22 130199:
+application :  iliad ;
+INRCHR_NTL10_1 = INRCHR_NTLPROV_1 * null(2 - FLAG_INR);
+regle corrective base_INR 13011:
+application :  iliad ;
+INRCHR_TL15_1 = INRCHR_NTL15_1 ;
+CHR_NTL15_1 = CHRBASE_INR;
+IRNIN_NTLDEC_1 = IRNIN_INR;
+INRIR_NTLDEC_1 = INRIR_NTL_1;
+INRIR_NTLADEC_1 = INRIR_NTL_1_A;
+INR_IR_NTL_1=INRIR_NTL_1;
+CSG_NTLDEC_1 = CSBASE_INR;
+INRCSG_NTLDEC_1 = INRCSG_NTL_1;
+INRCSG_NTLADEC_1 = INRCSG_NTL_1_A;
+INR_CSG_NTL_1=INRCSG_NTL_1;
+PRS_NTLDEC_1 = PSBASE_INR;
+INRPRS_NTLDEC_1 = INRPRS_NTL_1;
+INRPS_NTLADEC_1 = INRPRS_NTL_1_A;
+INR_PS_NTL_1=INRPRS_NTL_1;
+CRDS_NTLDEC_1 = RDBASE_INR;
+INRCRDS_NTLDEC_1 = INRCRDS_NTL_1;
+INRCRDS_NTLADEC_1 = INRCRDS_NTL_1_A;
+INR_CRDS_NTL_1=INRCRDS_NTL_1;
+CDIS_NTLDEC_1 = CDISBASE_INR;
+INRCDIS_NTLDEC_1 = INRCDIS_NTL_1;
+INRCDIS_NTLADEC_1 = INRCDIS_NTL_1_A;
+INR_CDIS_NTL_1=INRCDIS_NTL_1;
+TAXA_NTLDEC_1 = TAXABASE_INR;
+INRTAXA_NTLDEC_1 = INRTAXA_NTL_1;
+INRTAXA_NTLADEC_1 = INRTAXA_NTL_1_A;
+INR_TAXAGA_NTL_1=INRTAXA_NTL_1;
+CHR_NTLDEC_1 = CHRBASE_INR;
+INRCHR_NTLDEC_1 = INRCHR_NTL_1;
+INRCHR_NTLADEC_1 = INRCHR_NTL_1_A;
+INR_CHR_NTL_1=INRCHR_NTL_1;
+PCAP_NTLDEC_1 = PCAPBASE_INR;
+INRPCAP_NTLDEC_1 = INRPCAP_NTL_1;
+INRPCAP_NTLADEC_1 = INRPCAP_NTL_1_A;
+INR_PCAP_NTL_1=INRPCAP_NTL_1;
+RSE1_NTLDEC_1 = RSE1BASE_INR;
+INRRSE1_NTLDEC_1 = INRRSE1_NTL_1;
+INRRSE1_NTLADEC_1 = INRRSE1_NTL_1_A;
+INR_RSE1_NTL_1=INRRSE1_NTL_1;
+RSE2_NTLDEC_1 = RSE2BASE_INR;
+INRRSE2_NTLDEC_1 = INRRSE2_NTL_1;
+INRRSE2_NTLADEC_1 = INRRSE2_NTL_1_A;
+INR_RSE2_NTL_1=INRRSE2_NTL_1;
+RSE3_NTLDEC_1 = RSE3BASE_INR;
+INRRSE3_NTLDEC_1 = INRRSE3_NTL_1;
+INRRSE3_NTLADEC_1 = INRRSE3_NTL_1_A;
+INR_RSE3_NTL_1=INRRSE3_NTL_1;
+RSE4_NTLDEC_1 = RSE4BASE_INR;
+INRRSE4_NTLDEC_1 = INRRSE4_NTL_1;
+INRRSE4_NTLADEC_1 = INRRSE4_NTL_1_A;
+INR_RSE4_NTL_1=INRRSE4_NTL_1;
+RSE5_NTLDEC_1 = RSE5BASE_INR;
+INRRSE5_NTLDEC_1 = INRRSE5_NTL_1;
+INRRSE5_NTLADEC_1 = INRRSE5_NTL_1_A;
+INR_RSE5_NTL_1=INRRSE5_NTL_1;
+LOY_NTLDEC_1 = LOYBASE_INR;
+INRLOY_NTLDEC_1 = INRLOY_NTL_1;
+INRLOY_NTLADEC_1 = INRLOY_NTL_1_A;
+INR_LOY_NTL_1=INRLOY_NTL_1;
+CVN_NTLDEC_1 = CVNBASE_INR;
+INRCVN_NTLDEC_1 = INRCVN_NTL_1;
+INRCVN_NTLADEC_1 = INRCVN_NTL_1_A;
+INR_CVN_NTL_1=INRCVN_NTL_1;
+GLO_NTLDEC_1 = GLOBASE_INR;
+INRGLO_NTLDEC_1 = INRGLO_NTL_1;
+INRGLO_NTLADEC_1 = INRGLO_NTL_1_A;
+INR_GLO_NTL_1=INRGLO_NTL_1;
+REGV_NTLDEC_1 = REGVBASE_INR;
+INRREGV_NTLDEC_1 = INRREGV_NTL_1;
+INRREGV_NTLADEC_1 = INRREGV_NTL_1_A;
+INR_REGV_NTL_1=INRREGV_NTL_1;
+regle corrective base_ABAT99 130222:
+application :  iliad ;
+DO_INR_IR99 = DO_INR_IR992;
+DO_INR_CSG99 = DO_INR_CSG992;
+DO_INR_PRS99 = DO_INR_PRS992;
+DO_INR_CRDS99 = DO_INR_CRDS992;
+DO_INR_CDIS99 = DO_INR_CDIS992;
+DO_INR_TAXA99 = DO_INR_TAXA992;
+DO_INR_CHR99 = DO_INR_CHR992;
+DO_INR_PCAP99 = DO_INR_PCAP992;
+DO_INR_RSE199 = DO_INR_RSE1992;
+DO_INR_RSE299 = DO_INR_RSE2992;
+DO_INR_RSE399 = DO_INR_RSE3992;
+DO_INR_RSE499 = DO_INR_RSE4992;
+DO_INR_RSE599 = DO_INR_RSE5992;
+DO_INR_LOY99 = DO_INR_LOY992;
+DO_INR_CVN99 = DO_INR_CVN992;
+DO_INR_GLO99 = DO_INR_GLO992;
+DO_INR_REGV99 = DO_INR_REGV992;
+IRNIN_TLDEC_199=IRNIN_INR;
+CSG_TLDEC_199=CSBASE_INR;
+PRS_TLDEC_199=PSBASE_INR;
+RDS_TLDEC_199=RDBASE_INR;
+CDIS_TLDEC_199=CDISBASE_INR;
+TAXA_TLDEC_199=TAXABASE_INR;
+CHR_TLDEC_199=CHRBASE_INR;
+PCAP_TLDEC_199=PCAPBASE_INR;
+RSE1_TLDEC_199=RSE1BASE_INR;
+RSE2_TLDEC_199=RSE2BASE_INR;
+RSE3_TLDEC_199=RSE3BASE_INR;
+RSE4_TLDEC_199=RSE4BASE_INR;
+RSE5_TLDEC_199=RSE5BASE_INR;
+LOY_TLDEC_199=LOYBASE_INR;
+CVN_TLDEC_199=CVNBASE_INR;
+GLO_TLDEC_199=GLOBASE_INR;
+REGV_TLDEC_199=REGVBASE_INR;
+regle corrective base_inr_tl 1302:
+application :  iliad ;
+IRNIN_TLDEC=IRNIN_INR;
+INRIR_TLADEC = INRIR_TLACQ;
+INRIR_TL_AD=INRIR_TL_A;
+INRIR_TLDEC = INRIR_TLA+INRIR_RETDEF*null(INRIR_RETDEF_A);
+INR_IR_TL=INRIR_TLACQ* (1-IND_RJLJ);
+CSG_TLDEC=CSBASE_INR;
+INRCSG_TLADEC = INRCSG_TLACQ;
+INRCSG_TL_AD = INRCSG_TL_A;
+INRCSG_TLDEC = INRCSG_TLA + INRCSG_RETDEF * null(INRCSG_RETDEF_A);
+INR_CSG_TL=INRCSG_TLACQ* (1-IND_RJLJ);
+PRS_TLDEC=PSBASE_INR;
+INRPRS_TLADEC = INRPRS_TLACQ;
+INRPRS_TL_AD = INRPRS_TL_A;
+INRPRS_TLDEC = INRPRS_TLA + INRPRS_RETDEF * null(INRPRS_RETDEF_A);
+INR_PS_TL=INRPRS_TLACQ* (1-IND_RJLJ);
+RDS_TLDEC=RDBASE_INR;
+INRCRDS_TLADEC = INRCRDS_TLACQ;
+INRCRDS_TL_AD = INRCRDS_TL_A;
+INRCRDS_TLDEC = INRCRDS_TLA + INRCRDS_RETDEF * null(INRCRDS_RETDEF_A);
+INR_CRDS_TL=INRCRDS_TLACQ* (1-IND_RJLJ);
+CDIS_TLDEC=CDISBASE_INR;
+INRCDIS_TLADEC = INRCDIS_TLACQ;
+INRCDIS_TL_AD = INRCDIS_TL_A;
+INRCDIS_TLDEC = INRCDIS_TLA + INRCDIS_RETDEF * null(INRCDIS_RETDEF_A);
+INR_CDIS_TL=INRCDIS_TLACQ* (1-IND_RJLJ);
+TAXA_TLDEC=TAXABASE_INR;
+INRTAXA_TLADEC = INRTAXA_TLACQ;
+INRTAXA_TL_AD = INRTAXA_TL_A;
+INRTAXA_TLDEC = INRTAXA_TLA + INRTAXA_RETDEF * null(INRTAXA_RETDEF_A);
+INR_TAXAGA_TL=INRTAXA_TLACQ * (1-IND_RJLJ);
+CHR_TLDEC=CHRBASE_INR;
+INRCHR_TLADEC = INRCHR_TLACQ;
+INRCHR_TL_AD = INRCHR_TL_A;
+INRCHR_TLDEC = INRCHR_TLA + INRCHR_RETDEF * null(INRCHR_RETDEF_A);
+INR_CHR_TL=INRCHR_TLACQ * (1-IND_RJLJ);
+PCAP_TLDEC=PCAPBASE_INR;
+INRPCAP_TLADEC = INRPCAP_TLACQ;
+INRPCAP_TL_AD = INRPCAP_TL_A;
+INRPCAP_TLDEC = INRPCAP_TLA + INRPCAP_RETDEF * null(INRPCAP_RETDEF_A);
+INR_PCAP_TL=INRPCAP_TLACQ * (1-IND_RJLJ);
+RSE1_TLDEC=RSE1BASE_INR;
+INRRSE1_TLADEC = INRRSE1_TLACQ;
+INRRSE1_TL_AD = INRRSE1_TL_A;
+INRRSE1_TLDEC = INRRSE1_TLA + INRRSE1_RETDEF * null(INRRSE1_RETDEF_A);
+INR_RSE1_TL=INRRSE1_TLACQ * (1-IND_RJLJ);
+RSE2_TLDEC=RSE2BASE_INR;
+INRRSE2_TLADEC = INRRSE2_TLACQ;
+INRRSE2_TL_AD = INRRSE2_TL_A;
+INRRSE2_TLDEC = INRRSE2_TLA + INRRSE2_RETDEF * null(INRRSE2_RETDEF_A);
+INR_RSE2_TL=INRRSE2_TLACQ * (1-IND_RJLJ);
+RSE3_TLDEC=RSE3BASE_INR;
+INRRSE3_TLADEC = INRRSE3_TLACQ;
+INRRSE3_TL_AD = INRRSE3_TL_A;
+INRRSE3_TLDEC = INRRSE3_TLA + INRRSE3_RETDEF * null(INRRSE3_RETDEF_A);
+INR_RSE3_TL=INRRSE3_TLACQ * (1-IND_RJLJ);
+RSE4_TLDEC=RSE4BASE_INR;
+INRRSE4_TLADEC = INRRSE4_TLACQ;
+INRRSE4_TL_AD = INRRSE4_TL_A;
+INRRSE4_TLDEC = INRRSE4_TLA + INRRSE4_RETDEF * null(INRRSE4_RETDEF_A);
+INR_RSE4_TL=INRRSE4_TLACQ * (1-IND_RJLJ);
+RSE5_TLDEC=RSE5BASE_INR;
+INRRSE5_TLADEC = INRRSE5_TLACQ;
+INRRSE5_TL_AD = INRRSE5_TL_A;
+INRRSE5_TLDEC = INRRSE5_TLA + INRRSE5_RETDEF * null(INRRSE5_RETDEF_A);
+INR_RSE5_TL=INRRSE5_TLACQ * (1-IND_RJLJ);
+LOY_TLDEC=LOYBASE_INR;
+INRLOY_TLADEC = INRLOY_TLACQ;
+INRLOY_TL_AD = INRLOY_TL_A;
+INRLOY_TLDEC = INRLOY_TLA + INRLOY_RETDEF * null(INRLOY_RETDEF_A);
+INR_LOY_TL=INRLOY_TLACQ * (1-IND_RJLJ);
+CVN_TLDEC=CVNBASE_INR;
+INRCVN_TLADEC = INRCVN_TLACQ;
+INRCVN_TL_AD = INRCVN_TL_A;
+INRCVN_TLDEC = INRCVN_TLA + INRCVN_RETDEF * null(INRCVN_RETDEF_A);
+INR_CVN_TL=INRCVN_TLACQ * (1-IND_RJLJ);
+GLO_TLDEC=GLOBASE_INR;
+INRGLO_TLADEC = INRGLO_TLACQ;
+INRGLO_TL_AD = INRGLO_TL_A;
+INRGLO_TLDEC = INRGLO_TLA + INRGLO_RETDEF * null(INRGLO_RETDEF_A);
+INR_GLO_TL=INRGLO_TLACQ * (1-IND_RJLJ);
+REGV_TLDEC=REGVBASE_INR;
+INRREGV_TLADEC = INRREGV_TLACQ;
+INRREGV_TL_AD = INRREGV_TL_A;
+INRREGV_TLDEC = INRREGV_TLA + INRREGV_RETDEF * null(INRREGV_RETDEF_A);
+INR_REGV_TL=INRREGV_TLACQ * (1-IND_RJLJ);
+regle corrective base_inr_tl22 13022:
+application :  iliad ;
+INRIR_TLADEC_12 = INRIR_TLADEC_1;
+INR_IR_TL_1=INRIR_TLACQ_1* (1-IND_RJLJ);
+INRCSG_TLADEC_12 = INRCSG_TLADEC_1;
+INR_CSG_TL_1=INRCSG_TLACQ_1* (1-IND_RJLJ);
+INRPRS_TLADEC_12 = INRPRS_TLADEC_1;
+INR_PS_TL_1=INRPRS_TLACQ_1* (1-IND_RJLJ);
+INRCRDS_TLADEC_12 = INRCRDS_TLADEC_1;
+INR_CRDS_TL_1=INRCRDS_TLACQ_1* (1-IND_RJLJ);
+INRCDIS_TLADEC_12 = INRCDIS_TLADEC_1;
+INR_CDIS_TL_1=INRCDIS_TLACQ_1* (1-IND_RJLJ);
+INRTAXA_TLADEC_12 = INRTAXA_TLADEC_1;
+INR_TAXAGA_TL_1=INRTAXA_TLACQ_1 * (1-IND_RJLJ);
+INRCHR_TLADEC_12 = INRCHR_TLADEC_1;
+INR_CHR_TL_1=INRCHR_TLACQ_1 * (1-IND_RJLJ);
+INRPCAP_TLADEC_12 = INRPCAP_TLADEC_1;
+INR_PCAP_TL_1=INRPCAP_TLACQ_1 * (1-IND_RJLJ);
+INRRSE1_TLADEC_12 = INRRSE1_TLADEC_1;
+INR_RSE1_TL_1=INRRSE1_TLACQ_1 * (1-IND_RJLJ);
+INRRSE2_TLADEC_12 = INRRSE2_TLADEC_1;
+INR_RSE2_TL_1=INRRSE2_TLACQ_1 * (1-IND_RJLJ);
+INRRSE3_TLADEC_12 = INRRSE3_TLADEC_1;
+INR_RSE3_TL_1=INRRSE3_TLACQ_1 * (1-IND_RJLJ);
+INRRSE4_TLADEC_12 = INRRSE4_TLADEC_1;
+INR_RSE4_TL_1=INRRSE4_TLACQ_1 * (1-IND_RJLJ);
+INRRSE5_TLADEC_12 = INRRSE5_TLADEC_1;
+INR_RSE5_TL_1=INRRSE5_TLACQ_1 * (1-IND_RJLJ);
+INRLOY_TLADEC_12 = INRLOY_TLADEC_1;
+INR_LOY_TL_1=INRLOY_TLACQ_1 * (1-IND_RJLJ);
+INRCVN_TLADEC_12 = INRCVN_TLADEC_1;
+INR_CVN_TL_1=INRCVN_TLACQ_1 * (1-IND_RJLJ);
+INRGLO_TLADEC_12 = INRGLO_TLADEC_1;
+INR_GLO_TL_1=INRGLO_TLACQ_1 * (1-IND_RJLJ);
+INRREGV_TLADEC_12 = INRREGV_TLADEC_1;
+INR_REGV_TL_1=INRREGV_TLACQ_1 * (1-IND_RJLJ);
+RETIR2 = INCIR_NET2;
+RETPS2 = INCPS_NET2;
+RETCS2 = INCCS_NET2;
+RETCDIS2 = INCCDIS_NET2;
+RETR[DGFIP][2017] = INCRD_NET2;
+RETTAXA2 = INCTAXA_NET2;
+RETCHR2 = INCCHR_NET2;
+RETPCA[DGFIP][2017] = INCPCAP_NET2;
+RETRSE12 = INCRSE1_NET2;
+RETRSE22 = INCRSE2_NET2;
+RETRSE32 = INCRSE3_NET2;
+RETRSE42 = INCRSE4_NET2;
+RETRSE52 = INCRSE5_NET2;
+RETLOY2 = INCLOY_NET2;
+RETCVN2 = INCCVN_NET2;
+RETGLOA2 = INCGLO_NET2;
+RETREGV2 = INCREGV_NET2;
+RETIR22 = (INRIR_NTLDEC_1+INRIR_TLDEC_1+ INRIR_NTL_1_A+INRIR_TL_1_A) * positif(RETIR2);
+RETCS22 = (INRCSG_NTLDEC_1+INRCSG_TLDEC_1+ INRCSG_NTL_1_A+INRCSG_TL_1_A) * positif(RETCS2);
+RETR[DGFIP][2017]2 = (INRCRDS_NTLDEC_1+INRCRDS_TLDEC_1+ INRCRDS_NTL_1_A+INRCRDS_TL_1_A) * positif(RETR[DGFIP][2017]);
+RETPS22 = (INRPRS_NTLDEC_1+INRPRS_TLDEC_1+ INRPRS_NTL_1_A+INRPRS_TL_1_A) * positif(RETPS2);
+RETCDIS22 = (INRCDIS_NTLDEC_1+INRCDIS_TLDEC_1+ INRCDIS_NTL_1_A+INRCDIS_TL_1_A) * positif(RETCDIS2);
+RETTAXA22 = (INRTAXA_NTLDEC_1+INRTAXA_TLDEC_1+ INRTAXA_NTL_1_A+INRTAXA_TL_1_A) * positif(RETTAXA2);
+RETCHR22 = (INRCHR_NTLDEC_1+INRCHR_TLDEC_1+ INRCHR_NTL_1_A+INRCHR_TL_1_A) * positif(RETCHR2);
+RETPCA[DGFIP][2017]2 = (INRPCAP_NTLDEC_1+INRPCAP_TLDEC_1+ INRPCAP_NTL_1_A+INRPCAP_TL_1_A) * positif(RETPCA[DGFIP][2017]);
+RETRSE122 = (INRRSE1_NTLDEC_1+INRRSE1_TLDEC_1+ INRRSE1_NTL_1_A+INRRSE1_TL_1_A) * positif(RETRSE12);
+RETRSE222 = (INRRSE2_NTLDEC_1+INRRSE2_TLDEC_1+ INRRSE2_NTL_1_A+INRRSE2_TL_1_A) * positif(RETRSE22);
+RETRSE322 = (INRRSE3_NTLDEC_1+INRRSE3_TLDEC_1+ INRRSE3_NTL_1_A+INRRSE3_TL_1_A) * positif(RETRSE32);
+RETRSE422 = (INRRSE4_NTLDEC_1+INRRSE4_TLDEC_1+ INRRSE4_NTL_1_A+INRRSE4_TL_1_A) * positif(RETRSE42);
+RETRSE522 = (INRRSE5_NTLDEC_1+INRRSE5_TLDEC_1+ INRRSE5_NTL_1_A+INRRSE5_TL_1_A) * positif(RETRSE52);
+RETLOY22 = (INRLOY_NTLDEC_1+INRLOY_TLDEC_1+ INRLOY_NTL_1_A+INRLOY_TL_1_A) * positif(RETLOY2);
+RETCVN22 = (INRCVN_NTLDEC_1+INRCVN_TLDEC_1+ INRCVN_NTL_1_A+INRCVN_TL_1_A) * positif(RETCVN2);
+RETGLOA22 = (INRGLO_NTLDEC_1+INRGLO_TLDEC_1+ INRGLO_NTL_1_A+INRGLO_TL_1_A) * positif(RETGLOA2);
+RETREGV22 = (INRREGV_NTLDEC_1+INRREGV_TLDEC_1+ INRREGV_NTL_1_A+INRREGV_TL_1_A) * positif(RETREGV2);
+INR_NTL_GLOB_IR = INR_NTL_GLOB_IR2;
+INR_TL_GLOB_IR = INR_TL_GLOB_IR2;
+INR_TOT_GLOB_IR = INR_TOT_GLOB_IR2;
+DO_INR_IR = DO_INR_IR2;
+DO_IR = DO_IR2;
+SUP_IR_MAX = SUP_IR_MAX2;
+INCIR_TL = INCIR_TL2;
+INCIR_TL_1 = INCIR_TL_12;
+INRIR_NET = INRIR_NET2;
+INRIR_NET_1 = INRIR_NET_12;
+INIR_TL = INIR_TL2;
+INIR_TL_1 = INIR_TL_12;
+INCIR_NET = INCIR_NET2;
+IR_PRI= IR_PR[DGFIP][2017];
+IR_ANT= IR_ANT2;
+IR_NTL= IR_NTL2;
+IR_TL=IR_TL2;
+IR_NTL_1=IR_NTL_12;
+IR_TL_1=IR_TL_12;
+IR_REF_INR=IRNIN_REF;
+INR_NTL_GLOB_CSG = INR_NTL_GLOB_CS[DGFIP][2017];
+INR_TL_GLOB_CSG = INR_TL_GLOB_CS[DGFIP][2017];
+INR_TOT_GLOB_CSG = INR_TOT_GLOB_CS[DGFIP][2017];
+DO_INR_CSG = DO_INR_CS[DGFIP][2017];
+DO_CSG = DO_CS[DGFIP][2017];
+SUP_CSG_MAX = SUP_CSG_MAX2;
+INRCSG_NET = INRCSG_NET2;
+INRCSG_NET_1 = INRCSG_NET_12;
+INCCS_NET = INCCS_NET2;
+INCS_TL = INCS_TL2;
+INCS_TL_1 = INCS_TL_12;
+INCCS_TL = INCCS_TL2;
+INCCS_TL_1 = INCCS_TL_12;
+CSG_PRI=CSG_PR[DGFIP][2017];
+CSG_ANT=CSG_ANT2;
+CSG_NTL=CSG_NTL2;
+CSG_NTL_1=CSG_NTL_12;
+CSG_TL=CSG_TL2;
+CSG_TL_1=CSG_TL_12;
+CSG_REF_INR=CSG_REF;
+INR_NTL_GLOB_CRDS = INR_NTL_GLOB_CRDS2;
+INR_TL_GLOB_CRDS = INR_TL_GLOB_CRDS2;
+INR_TOT_GLOB_CRDS = INR_TOT_GLOB_CRDS2;
+DO_INR_CRDS = DO_INR_CRDS2;
+DO_CRDS = DO_CRDS2;
+SUP_CRDS_MAX = SUP_CRDS_MAX2;
+INCRD_TL = INCRD_TL2;
+INCRD_TL_1 = INCRD_TL_12;
+INRRDS_NET = INRRDS_NET2;
+INRRDS_NET_1 = INRRDS_NET_12;
+INRD_TL = INRD_TL2;
+INRD_TL_1 = INRD_TL_12;
+INCRD_NET = INCRD_NET2;
+CRDS_PRI=CRDS_PR[DGFIP][2017];
+CRDS_ANT=CRDS_ANT2;
+CRDS_NTL=CRDS_NTL2;
+CRDS_NTL_1=CRDS_NTL_12;
+CRDS_TL=CRDS_TL2;
+CRDS_TL_1=CRDS_TL_12;
+CRDS_REF_INR=RDS_REF;
+INR_NTL_GLOB_PS = INR_NTL_GLOB_PS2;
+INR_TL_GLOB_PS = INR_TL_GLOB_PS2;
+INR_TOT_GLOB_PS = INR_TOT_GLOB_PS2;
+DO_INR_PS = DO_INR_PS2;
+DO_PS = DO_PS2;
+SUP_PS_MAX = SUP_PS_MAX2;
+INCPS_TL = INCPS_TL2;
+INCPS_TL_1 = INCPS_TL_12;
+INRPRS_NET = INRPRS_NET2; 
+INRPRS_NET_1 = INRPRS_NET_12; 
+INPS_TL = INPS_TL2;
+INPS_TL_1 = INPS_TL_12;
+INCPS_NET = INCPS_NET2;
+PS_PRI= PS_PR[DGFIP][2017];
+PS_ANT=PS_ANT2;
+PS_NTL=PS_NTL2;
+PS_NTL_1=PS_NTL_12;
+PS_TL=PS_TL2;
+PS_TL_1=PS_TL_12;
+PS_REF_INR=PRS_REF;
+INR_NTL_GLOB_CDIS = INR_NTL_GLOB_CDIS2;
+INR_TL_GLOB_CDIS = INR_TL_GLOB_CDIS2;
+INR_TOT_GLOB_CDIS = INR_TOT_GLOB_CDIS2;
+DO_INR_CDIS = DO_INR_CDIS2;
+DO_CDIS = DO_CDIS2;
+SUP_CDIS_MAX = SUP_CDIS_MAX2;
+INCCDIS_TL = INCCDIS_TL2;
+INCCDIS_TL_1 = INCCDIS_TL_12;
+INRCDIS_NET = INRCDIS_NET2; 
+INRCDIS_NET_1 = INRCDIS_NET_12; 
+INCDIS_TL = INCDIS_TL2;
+INCDIS_TL_1 = INCDIS_TL_12;
+INCCDIS_NET = INCCDIS_NET2;
+CDIS_PRI= CDIS_PR[DGFIP][2017];
+CDIS_ANT=CDIS_ANT2;
+CDIS_NTL=CDIS_NTL2;
+CDIS_NTL_1=CDIS_NTL_12;
+CDIS_TL=CDIS_TL2;
+CDIS_TL_1=CDIS_TL_12;
+CDIS_REF_INR=CDIS_REF;
+INR_NTL_GLOB_TAXA = INR_NTL_GLOB_TAXA2;
+INR_TL_GLOB_TAXA = INR_TL_GLOB_TAXA2;
+INR_TOT_GLOB_TAXA = INR_TOT_GLOB_TAXA2;
+DO_INR_TAXAGA = DO_INR_TAXA2;
+DO_TAXA = DO_TAXA2;
+SUP_TAXA_MAX = SUP_TAXA_MAX2;
+INCTAXA_TL = INCTAXA_TL2;
+INCTAXA_TL_1 = INCTAXA_TL_12;
+INTAXA_TL = INTAXA_TL2;
+INTAXA_TL_1 = INTAXA_TL_12;
+INRTAXA_NET = INRTAXA_NET2;
+INRTAXA_NET_1 = INRTAXA_NET_12;
+INCTAXA_NET = INCTAXA_NET2;
+TAXAGA_PRI=TAXAGA_PR[DGFIP][2017];
+TAXAGA_ANT=TAXAGA_ANT2;
+TAXAGA_NTL=TAXAGA_NTL2;
+TAXAGA_NTL_1=TAXAGA_NTL_12;
+TAXA_TL=TAXAGA_TL2;
+TAXAGA_TL_1=TAXAGA_TL_12;
+TAXA_REF_INR=TAXA_REF;
+INR_NTL_GLOB_CHR = INR_NTL_GLOB_CHR2;
+INR_TL_GLOB_CHR = INR_TL_GLOB_CHR2;
+INR_TOT_GLOB_CHR = INR_TOT_GLOB_CHR2;
+DO_INR_CHR = DO_INR_CHR2;
+DO_CHR = DO_CHR2;
+SUP_CHR_MAX = SUP_CHR_MAX2;
+INCCHR_TL = INCCHR_TL2;
+INCCHR_TL_1 = INCCHR_TL_12;
+INCHR_TL = INCHR_TL2;
+INCHR_TL_1 = INCHR_TL_12;
+INRCHR_NET = INRCHR_NET2;
+INRCHR_NET_1 = INRCHR_NET_12;
+INCCHR_NET = INCCHR_NET2;
+CHR_PRI=CHR_PR[DGFIP][2017];
+CHR_ANT=CHR_ANT2;
+CHR_NTL=CHR_NTL2;
+CHR_NTL_1=CHR_NTL_12;
+CHREV_TL=CHR_TL2;
+CHR_TL_1=CHR_TL_12;
+CHR_REF_INR=CHR_REF;
+INR_NTL_GLOB_PCAP = INR_NTL_GLOB_PCA[DGFIP][2017];
+INR_TL_GLOB_PCAP = INR_TL_GLOB_PCA[DGFIP][2017];
+INR_TOT_GLOB_PCAP = INR_TOT_GLOB_PCA[DGFIP][2017];
+DO_INR_PCAP = DO_INR_PCA[DGFIP][2017];
+DO_PCAP = DO_PCA[DGFIP][2017];
+SUP_PCAP_MAX = SUP_PCAP_MAX2;
+INCPCAP_TL = INCPCAP_TL2;
+INCPCAP_TL_1 = INCPCAP_TL_12;
+INPCAP_TL = INPCAP_TL2;
+INPCAP_TL_1 = INPCAP_TL_12;
+INRPCAP_NET = INRPCAP_NET2;
+INRPCAP_NET_1 = INRPCAP_NET_12;
+INCPCAP_NET = INCPCAP_NET2;
+PCAP_PRI=PCAP_PR[DGFIP][2017];
+PCAP_ANT=PCAP_ANT2;
+PCAP_NTL=PCAP_NTL2;
+PCAP_NTL_1=PCAP_NTL_12;
+PPCAP_TL=PCAP_TL2;
+PCAP_TL_1=PCAP_TL_12;
+PCAP_REF_INR=PCAP_REF;
+INR_NTL_GLOB_RSE1 = INR_NTL_GLOB_RSE12;
+INR_TL_GLOB_RSE1 = INR_TL_GLOB_RSE12;
+INR_TOT_GLOB_RSE1 = INR_TOT_GLOB_RSE12;
+DO_INR_RSE1 = DO_INR_RSE12;
+DO_RSE1 = DO_RSE12;
+SUP_RSE1_MAX = SUP_RSE1_MAX2;
+INCRSE1_TL = INCRSE1_TL2;
+INCRSE1_TL_1 = INCRSE1_TL_12;
+INRSE1_TL = INRSE1_TL2;
+INRSE1_TL_1 = INRSE1_TL_12;
+INRRSE1_NET = INRRSE1_NET2;
+INRRSE1_NET_1 = INRRSE1_NET_12;
+INCRSE1_NET = INCRSE1_NET2;
+RSE1_PRI=RSE1_PR[DGFIP][2017];
+RSE1_ANT=RSE1_ANT2;
+RSE1_NTL=RSE1_NTL2;
+RSE1_NTL_1=RSE1
diff --git a/sources2014m_2_15/chap-cmajo.m b/sources2014m_2_15/chap-cmajo.m
new file mode 100644
index 0000000000000000000000000000000000000000..82a40e991bb8b7c29280abdc31e3ec92a1e406f6
--- /dev/null
+++ b/sources2014m_2_15/chap-cmajo.m
@@ -0,0 +1,727 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle corrective base_stratemajo 120:
+application :  iliad ;
+DEFRIMAJ_DEF = DEFRIMAJ ;
+MAJOIR07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR07TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR07TARDIF_P) ;
+MAJOIR08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR08TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR08TARDIF_P) ;
+MAJOIR17_1TARD_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR17_1TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR17_1TARDIF_P) ;
+MAJOIR17_2TARD_DEF = FLAG_RETARD * 
+		((1 - positif(PROPIR_A)) * MAJOIR17_2TARDIF_D 
+		  + positif(PROPIR_A) * MAJOIR17_2TARDIF_P) ;
+MAJOIRTARDIF_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) 
+			* (somme(x = 07,08 : MAJOIR0xTARDIF_DEF)
+		    + MAJOIR17_1TARD_DEF + MAJOIR17_2TARD_DEF)
+		    + (1 - positif(FLAG_TRTARDIF) * positif(FLAG_RETARD))
+		    * MAJOIRTARDIF_REF ;
+MAJOLO07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPLOY_A)) * MAJOLO07TARDIF_D 
+		  + positif(PROPLOY_A) * MAJOLO07TARDIF_P) ;
+MAJOLO08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPLOY_A)) * MAJOLO08TARDIF_D 
+		  + positif(PROPLOY_A) * MAJOLO08TARDIF_P) ;
+MAJOLO17_1TARD_DEF = FLAG_RETARD *  
+		((1 - positif(PROPLOY_A)) * MAJOLO17_1TARDIF_D 
+		  + positif(PROPLOY_A) * MAJOLO17_1TARDIF_P) ;
+MAJOLO17_2TARD_DEF = FLAG_RETARD *  
+		((1 - positif(PROPLOY_A)) * MAJOLO17_2TARDIF_D 
+		  + positif(PROPLOY_A) * MAJOLO17_2TARDIF_P) ;
+MAJOLOYTARDIF_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) 
+			* (somme(x = 07,08 : MAJOLO0xTARDIF_DEF)
+		    + MAJOLO17_1TARD_DEF + MAJOLO17_2TARD_DEF)
+		    + (1 - positif(FLAG_TRTARDIF) * positif(FLAG_RETARD))
+		    * MAJOLOYTARDIF_REF ;
+
+
+MAJOHR07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPHR_A)) * MAJOHR07TARDIF_D 
+		  + positif(PROPHR_A) * MAJOHR07TARDIF_P) ;
+MAJOHR08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPHR_A)) * MAJOHR08TARDIF_D 
+		  + positif(PROPHR_A) * MAJOHR08TARDIF_P) ;
+MAJOHR17_1TARD_DEF = FLAG_RETARD * 
+		((1 - positif(PROPHR_A)) * MAJOHR17_1TARDIF_D 
+		  + positif(PROPHR_A) * MAJOHR17_1TARDIF_P) ;
+MAJOHR17_2TARD_DEF = FLAG_RETARD * 
+		((1 - positif(PROPHR_A)) * MAJOHR17_2TARDIF_D 
+		  + positif(PROPHR_A) * MAJOHR17_2TARDIF_P) ;
+MAJOHRTARDIF_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) 
+			* (somme(x = 07,08 : MAJOHR0xTARDIF_DEF)
+		    + MAJOHR17_1TARD_DEF + MAJOHR17_2TARD_DEF)
+		    + (1 - positif(FLAG_TRTARDIF) * positif(FLAG_RETARD))
+		    * MAJOHRTARDIF_REF ;
+MAJOCS07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPCS_A)) * MAJOCS07TARDIF_D 
+		  + positif(PROPCS_A) * MAJOCS07TARDIF_P) ;
+MAJOCS08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPCS_A)) * MAJOCS08TARDIF_D 
+		  + positif(PROPCS_A) * MAJOCS08TARDIF_P) ;
+MAJOCS17TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPCS_A)) * MAJOCS17TARDIF_D 
+		  + positif(PROPCS_A) * MAJOCS17TARDIF_P) ;
+MAJOCSTARDIF_DEF = somme(x = 07,08,17 : MAJOCSxTARDIF_DEF);
+MAJOPS07TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPPS_A)) * MAJOPS07TARDIF_D 
+		  + positif(PROPPS_A) * MAJOPS07TARDIF_P) ;
+MAJOPS08TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPPS_A)) * MAJOPS08TARDIF_D 
+		  + positif(PROPPS_A) * MAJOPS08TARDIF_P) ;
+MAJOPS17TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPPS_A)) * MAJOPS17TARDIF_D 
+		  + positif(PROPPS_A) * MAJOPS17TARDIF_P) ;
+MAJOPSTARDIF_DEF = somme(x = 07,08,17 : MAJOPSxTARDIF_DEF);
+MAJOR[DGFIP][2017]7TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPRD_A)) * MAJOR[DGFIP][2017]7TARDIF_D 
+		  + positif(PROPRD_A) * MAJOR[DGFIP][2017]7TARDIF_P) ;
+
+MAJOR[DGFIP][2017]8TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPRD_A)) * MAJOR[DGFIP][2017]8TARDIF_D 
+		  + positif(PROPRD_A) * MAJOR[DGFIP][2017]8TARDIF_P) ;
+
+MAJOR[DGFIP][2017]7TARDIF_DEF = FLAG_RETARD * 
+		((1 - positif(PROPRD_A)) * MAJOR[DGFIP][2017]7TARDIF_D 
+		  + positif(PROPRD_A) * MAJOR[DGFIP][2017]7TARDIF_P) ;
+
+MAJORDTARDIF_DEF = somme(x = 07,08,17 : MAJORDxTARDIF_DEF);
+
+MAJOCVN07TARD_DEF = FLAG_RETARD * MAJOCVN07TARDIF_D;
+
+MAJOCVN08TARD_DEF = FLAG_RETARD * MAJOCVN08TARDIF_D;
+
+MAJOCVN17TARD_DEF = FLAG_RETARD * MAJOCVN17TARDIF_D;
+
+MAJOCVNTARDIF_DEF = somme(x = 07,08,17 : MAJOCVNxTARD_DEF);
+
+MAJOREGV07TARD_DEF = FLAG_RETARD * MAJOREGV07TARDIF_D;
+
+MAJOREGV08TARD_DEF = FLAG_RETARD * MAJOREGV08TARDIF_D;
+
+MAJOREGV17TARD_DEF = FLAG_RETARD * MAJOREGV17TARDIF_D;
+
+MAJOREGVTARDIF_DEF = somme(x = 07,08,17 : MAJOREGVxTARD_DEF);
+
+MAJOCDIS07TARD_DEF = FLAG_RETARD * MAJOCDIS07TARDIF_D;
+
+MAJOCDIS08TARD_DEF = FLAG_RETARD * MAJOCDIS08TARDIF_D;
+
+MAJOCDIS17TARD_DEF = FLAG_RETARD * MAJOCDIS17TARDIF_D;
+
+MAJOCDISTARDIF_DEF = somme(x = 07,08,17 : MAJOCDISxTARD_DEF);
+
+MAJOGLO07TARD_DEF = FLAG_RETARD * MAJOGLO07TARDIF_D;
+
+MAJOGLO08TARD_DEF = FLAG_RETARD * MAJOGLO08TARDIF_D;
+
+MAJOGLO17TARD_DEF = FLAG_RETARD * MAJOGLO17TARDIF_D;
+
+MAJOGLOTARDIF_DEF = somme(x = 07,08,17 : MAJOGLOxTARD_DEF);
+
+MAJORSE107TARD_DEF = FLAG_RETARD * MAJORSE107TARDIF_D;
+MAJORSE108TARD_DEF = FLAG_RETARD * MAJORSE108TARDIF_D;
+MAJORSE117TARD_DEF = FLAG_RETARD * MAJORSE117TARDIF_D;
+MAJORSE1TARDIF_DEF = somme(x = 07,08,17 : MAJORSE1xTARD_DEF);
+MAJORSE207TARD_DEF = FLAG_RETARD * MAJORSE207TARDIF_D;
+MAJORSE208TARD_DEF = FLAG_RETARD * MAJORSE208TARDIF_D;
+MAJORSE217TARD_DEF = FLAG_RETARD * MAJORSE217TARDIF_D;
+MAJORSE2TARDIF_DEF = somme(x = 07,08,17 : MAJORSE2xTARD_DEF);
+MAJORSE307TARD_DEF = FLAG_RETARD * MAJORSE307TARDIF_D;
+MAJORSE308TARD_DEF = FLAG_RETARD * MAJORSE308TARDIF_D;
+MAJORSE317TARD_DEF = FLAG_RETARD * MAJORSE317TARDIF_D;
+MAJORSE3TARDIF_DEF = somme(x = 07,08,17 : MAJORSE3xTARD_DEF);
+
+MAJORSE407TARD_DEF = FLAG_RETARD * MAJORSE407TARDIF_D;
+
+MAJORSE408TARD_DEF = FLAG_RETARD * MAJORSE408TARDIF_D;
+
+MAJORSE417TARD_DEF = FLAG_RETARD * MAJORSE417TARDIF_D;
+
+MAJORSE4TARDIF_DEF = somme(x = 07,08,17 : MAJORSE4xTARD_DEF);
+
+MAJORSE507TARD_DEF = FLAG_RETARD * MAJORSE507TARDIF_D;
+
+MAJORSE508TARD_DEF = FLAG_RETARD * MAJORSE508TARDIF_D;
+
+MAJORSE517TARD_DEF = FLAG_RETARD * MAJORSE517TARDIF_D;
+
+MAJORSE5TARDIF_DEF = somme(x = 07,08,17 : MAJORSE5xTARD_DEF);
+
+MAJOTA07TARDIF_DEF = FLAG_RETARD * MAJOTAXA07TARDIF_D;
+MAJOTA08TARDIF_DEF = FLAG_RETARD * MAJOTAXA08TARDIF_D;
+MAJOTA17_1TARD_DEF = FLAG_RETARD * MAJOTA17_1TARDIF_D; 
+MAJOTA17_2TARD_DEF = FLAG_RETARD * MAJOTA17_2TARDIF_D; 
+MAJOTAXATARDIF_DEF = somme(x = 07,08 : MAJOTA0xTARDIF_DEF)
+		+ MAJOTA17_1TARD_DEF + MAJOTA17_2TARD_DEF;
+MAJOC[DGFIP][2017]7TARDIF_DEF = FLAG_RETARD * MAJOCA[DGFIP][2017]7TARDIF_D;
+MAJOC[DGFIP][2017]8TARDIF_DEF = FLAG_RETARD * MAJOCA[DGFIP][2017]8TARDIF_D;
+MAJOC[DGFIP][2017]7_1TARD_DEF = FLAG_RETARD * MAJOC[DGFIP][2017]7_1TARDIF_D; 
+MAJOC[DGFIP][2017]7_2TARD_DEF = FLAG_RETARD * MAJOC[DGFIP][2017]7_2TARDIF_D; 
+MAJOCAPTARDIF_DEF = somme(x = 07,08 : MAJOC[DGFIP][2017]xTARDIF_DEF)
+		+ MAJOC[DGFIP][2017]7_1TARD_DEF + MAJOC[DGFIP][2017]7_2TARD_DEF;
+PROPIR_DEF = PROPIR;
+PROPLOY_DEF = PROPLOY;
+PROPHR_DEF = PROPHR;
+
+PROPCS_DEF = PROPCS;
+PROPPS_DEF = PROPPS;
+PROPRD_DEF = PROPRD;
+IRBASE_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) * IRBASE
+		+ (1 - positif(FLAG_TRTARDIF)) * IRBASE_REF;
+IRNINTARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * IRBASE
+		  + FLAG_TRTARDIF_R * SUPIR[00]
+                  + FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRBASE) 
+		    * (positif(FLAG_RECTIF) * min(SUPIR[2],IRBASE)
+		      + (1 - positif(FLAG_RECTIF)) * min(IRBASE,IRBASE_REF))
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRBASE))
+		      * (positif(FLAG_RECTIF) * min(SUPIR[00],IRBASE)
+                     + (1 - positif(FLAG_RECTIF)) * IRBASE_REF)
+		      )
+                  + (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+                            * (positif(FLAG_RECTIF) * SUPIR[00]
+                               + (1 - positif(FLAG_RECTIF)) * IRNINTARDIF_A)
+		  ));
+
+LOYTARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * LOYBASE_MAJO
+		+ FLAG_TRTARDIF_R * SUPLOY[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(LOYTARDIF_A - LOYBASE_MAJO) * min(SUPLOY[2],TAXLOY)
+		    + (1 - positif(TARDIFEVT2) * positif(LOYTARDIF_A - LOYBASE_MAJO)) 
+		      * (positif(FLAG_RECTIF) * min(SUPLOY[00], TAXLOY)
+		    + (1 - positif(FLAG_RECTIF)) * LOYTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPLOY[00]
+			  + (1 - positif(FLAG_RECTIF)) * LOYTARDIF_A)
+		  ));
+HRTARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * HRBASE_MAJO
+		+ FLAG_TRTARDIF_R * SUPHR[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(HRTARDIF_A - HRBASE_MAJO) * min(SUPHR[2],IHAUTREVT)
+		    + (1 - positif(TARDIFEVT2) * positif(HRTARDIF_A - HRBASE_MAJO)) 
+		      * (positif(FLAG_RECTIF) * min(SUPHR[00],IHAUTREVT)
+		    + (1 - positif(FLAG_RECTIF)) * HRTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPHR[00]
+			  + (1 - positif(FLAG_RECTIF)) * HRTARDIF_A)
+		  ));
+CSGTARDIF_DEF = max(0,
+                      FLAG_RETARD *
+	                	(FLAG_TRTARDIF * CSBASE
+		                 + FLAG_TRTARDIF_R * SUPCS[00]
+		                 + FLAG_TRTARDIF_F *
+                                      (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPCS[2],CSG)
+		                       + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		                         * (positif(FLAG_RECTIF) * min(SUPCS[00],CSG)
+		                       + (1 - positif(FLAG_RECTIF)) * CSGTARDIF_A)
+		                      )
+	                	 + (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+		                   * (positif(FLAG_RECTIF) * SUPCS[00]
+		                 + (1 - positif(FLAG_RECTIF)) * CSGTARDIF_A)
+		                 )
+                   );
+PRSTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * PSBASE
+		+ FLAG_TRTARDIF_R * SUPPS[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPPS[2],PRS)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPPS[00],PRS)
+		    + (1 - positif(FLAG_RECTIF)) * PRSTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPPS[00]
+			  + (1 - positif(FLAG_RECTIF)) * PRSTARDIF_A)
+		));
+RDSTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RDBASE
+		+ FLAG_TRTARDIF_R * SUPRD[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRD[2],RDSN)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRD[00],RDSN)
+		     + (1 - positif(FLAG_RECTIF)) * RDSTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRD[00]
+			  + (1 - positif(FLAG_RECTIF)) * RDSTARDIF_A)
+		));
+
+CVNTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * CVNBASE
+		+ FLAG_TRTARDIF_R * SUPCVN[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPCVN[2],CVNSALC)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCVN[00],CVNSALC)
+		     + (1 - positif(FLAG_RECTIF)) * CVNTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPCVN[00]
+			  + (1 - positif(FLAG_RECTIF)) * CVNTARDIF_A)
+		));
+
+REGVTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * REGVBASE
+		+ FLAG_TRTARDIF_R * SUPREGV[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPREGV[2],BREGV)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPREGV[00],BREGV)
+		     + (1 - positif(FLAG_RECTIF)) * REGVTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPREGV[00]
+			  + (1 - positif(FLAG_RECTIF)) * REGVTARDIF_A)
+		));
+
+CDISTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * CDISBASE
+		+ FLAG_TRTARDIF_R * SUPCDIS[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPCDIS[2],CDIS)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCDIS[00],CDIS)
+		     + (1 - positif(FLAG_RECTIF)) * CDISTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPCDIS[00]
+			  + (1 - positif(FLAG_RECTIF)) * CDISTARDIF_A)
+		));
+GLOTARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * GLOBASE
+		+ FLAG_TRTARDIF_R * SUPGLO[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPGLO[2],CGLOA)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPGLO[00],CGLOA)
+		     + (1 - positif(FLAG_RECTIF)) * GLOTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPGLO[00]
+			  + (1 - positif(FLAG_RECTIF)) * GLOTARDIF_A)
+		));
+TAXATARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * TAXABASE_MAJO
+		+ FLAG_TRTARDIF_R * SUPTAXA[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(TAXATARDIF_A - TAXABASE_MAJO) * min(SUPTAXA[2],TAXASSUR)
+		    + (1 - positif(TARDIFEVT2) * positif(TAXATARDIF_A - TAXABASE_MAJO)) 
+		      * (positif(FLAG_RECTIF) * min(SUPTAXA[00],TAXASSUR)
+		    + (1 - positif(FLAG_RECTIF)) * TAXATARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPTAXA[00]
+			  + (1 - positif(FLAG_RECTIF)) * TAXATARDIF_A)
+		  ));
+CAPTARDIF_DEF = max(0,FLAG_RETARD *
+		  (FLAG_TRTARDIF * CAPBASE_MAJO
+		+ FLAG_TRTARDIF_R * SUPCAP[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(CAPTARDIF_A - CAPBASE_MAJO) * min(SUPCAP[2],IPCAPTAXT)
+		    + (1 - positif(TARDIFEVT2) * positif(CAPTARDIF_A - CAPBASE_MAJO)) 
+		      * (positif(FLAG_RECTIF) * min(SUPCAP[00], IPCAPTAXT)
+		    + (1 - positif(FLAG_RECTIF)) * CAPTARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPCAP[00]
+			  + (1 - positif(FLAG_RECTIF)) * CAPTARDIF_A)
+		  ));
+RSE1TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE1BASE
+		+ FLAG_TRTARDIF_R * SUPRSE1[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE1[2],RSE1)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE1[00],RSE1)
+		     + (1 - positif(FLAG_RECTIF)) * RSE1TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE1[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE1TARDIF_A)
+		));
+RSE2TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE2BASE
+		+ FLAG_TRTARDIF_R * SUPRSE2[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE2[2],RSE2)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE2[00],RSE2)
+		     + (1 - positif(FLAG_RECTIF)) * RSE2TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE2[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE1TARDIF_A)
+		));
+RSE3TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE3BASE
+		+ FLAG_TRTARDIF_R * SUPRSE3[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE3[2],RSE3)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE3[00],RSE3)
+		     + (1 - positif(FLAG_RECTIF)) * RSE3TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE3[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE3TARDIF_A)
+		));
+RSE4TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE4BASE
+		+ FLAG_TRTARDIF_R * SUPRSE4[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE4[2],RSE4)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE4[00],RSE4)
+		     + (1 - positif(FLAG_RECTIF)) * RSE4TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE4[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE4TARDIF_A)
+		));
+RSE5TARDIF_DEF = max(0,FLAG_RETARD *
+		(FLAG_TRTARDIF * RSE5BASE
+		+ FLAG_TRTARDIF_R * SUPRSE5[00]
+		+ FLAG_TRTARDIF_F *
+                    (positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN) * min(SUPRSE5[2],RSE5)
+		    + (1 - positif(TARDIFEVT2) * positif(IRNINTARDIF_A - IRNIN)) 
+		      * (positif(FLAG_RECTIF) * min(SUPRSE5[00],RSE5)
+		     + (1 - positif(FLAG_RECTIF)) * RSE5TARDIF_A)
+		      )
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+			* (positif(FLAG_RECTIF) * SUPRSE5[00]
+			  + (1 - positif(FLAG_RECTIF)) * RSE5TARDIF_A)
+		));
+IRNINMAJOP_DEF = max(IRNIN_MAJOP,IRNINMAJOP_A);
+LOYMAJOP_DEF = max(LOY_MAJOP,LOYMAJOP_A);
+HRMAJOP_DEF = max(HR_MAJOP,HRMAJOP_A);
+CSGMAJOP_DEF = max(CSG_MAJOP,CSGMAJOP_A);
+RDSMAJOP_DEF =  max(RDS_MAJOP,RDSMAJOP_A);
+PRSMAJOP_DEF =  max(PRS_MAJOP,PRSMAJOP_A);
+regle corrective base_stratemajo 12000:
+application :  iliad ;
+
+
+MAJOIS[DGFIP][2017]7TARD_DEF = FLAG_RETARD * MAJOIS[DGFIP][2017]7TARDIF_D;
+MAJOIS[DGFIP][2017]8TARD_DEF = FLAG_RETARD * MAJOIS[DGFIP][2017]8TARDIF_D;
+MAJOIS[DGFIP][2017]7TARD_DEF = FLAG_RETARD * MAJOIS[DGFIP][2017]7TARDIF_D;
+MAJOISFTARDIF_DEF = somme(x = 07,08,17 : MAJOISFxTARD_DEF);
+
+ISFTARDIF_DEF = max(0,FLAG_RETARD *
+                (FLAG_TRTARDIF * ISF4BASE
+		+ FLAG_TRTARDIF_R * SUPISF[00]
+		+ FLAG_TRTARDIF_F *
+		(positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISFIN) * min(SUPISF[2],ISFNET)
+		+ (1 - positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISFIN))
+		* (positif(FLAG_RECTIF) * min(SUPISF[00],ISFNET)
+		+ (1 - positif(FLAG_RECTIF)) * ISFTARDIF_A)
+		)
+		+ (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+		* (positif(FLAG_RECTIF) * SUPISF[00]
+		+ (1 - positif(FLAG_RECTIF)) * ISFTARDIF_A)
+		));
+
+ISFBASE_DEF = positif(FLAG_TRTARDIF) * positif(FLAG_RETARD) * ISF4BASE
+               + (1 - positif(FLAG_TRTARDIF)) * ISFBASE_REF;
+ISFINTARDIF_DEF = max(0,FLAG_RETARD *
+(FLAG_TRTARDIF * ISF4BASE
++ FLAG_TRTARDIF_R * SUPISF[00]
+ + FLAG_TRTARDIF_F *
+ (positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISF4BASE)
+ * (positif(FLAG_RECTIF) * min(SUPISF[2],ISF4BASE)
+ + (1 - positif(FLAG_RECTIF)) * min(ISF4BASE,ISFBASE_REF))
+ + (1 - positif(TARDIFEVT2) * positif(ISFINTARDIF_A - ISF4BASE))
+  * (positif(FLAG_RECTIF) * min(SUPISF[00],ISF4BASE)
+  + (1 - positif(FLAG_RECTIF)) * ISFBASE_REF)
+  )
+  + (1 - positif(FLAG_TRTARDIF+FLAG_TRTARDIF_R+FLAG_TRTARDIF_F+FLAG_TRMAJOP))
+  * (positif(FLAG_RECTIF) * SUPISF[00]
+  + (1 - positif(FLAG_RECTIF)) * ISFINTARDIF_A)
+    ));
+
+
+
+regle corrective base_stratemajo 121:
+application :  iliad ;
+pour x = 07,08,11,31:
+MAJOPIRx_DEF = max(MAJOIR_Px,MAJOPIRx_A);
+MAJOPIR10_1DEF = max(MAJOIR_[DGFIP][2017]0_1,MAJOPIR10_1A);
+MAJOPIR10_2DEF = max(MAJOIR_[DGFIP][2017]0_2,MAJOPIR10_2A);
+MAJOPIR17_1DEF = max(MAJOIR_[DGFIP][2017]7_1,MAJOPIR17_1A);
+MAJOPIR17_2DEF = max(MAJOIR_[DGFIP][2017]7_2,MAJOPIR17_2A);
+
+MAJOPIR_DEF = max(MAJOPIR_TOT,MAJOPIR_A);
+
+pour x = 07,08,11,31:
+MAJOPLOx_DEF = max(MAJOLOY_Px,MAJOPLOx_A);
+MAJOPLO10_1DEF = max(MAJOLOY_[DGFIP][2017]0_1,MAJOPLO10_1A);
+MAJOPLO10_2DEF = max(MAJOLOY_[DGFIP][2017]0_2,MAJOPLO10_2A);
+MAJOPLO17_1DEF = max(MAJOLOY_[DGFIP][2017]7_1,MAJOPLO17_1A);
+MAJOPLO17_2DEF = max(MAJOLOY_[DGFIP][2017]7_2,MAJOPLO17_2A);
+
+MAJOPLOY_DEF = max(MAJOPLOY_TOT,MAJOPLOY_A);
+
+pour x = 07,08,11,31:
+MAJOPHRx_DEF = max(MAJOHR_Px,MAJOPHRx_A);
+MAJOPHR10_1DEF = max(MAJOHR_[DGFIP][2017]0_1,MAJOPHR10_1A);
+MAJOPHR10_2DEF = max(MAJOHR_[DGFIP][2017]0_2,MAJOPHR10_2A);
+MAJOPHR17_1DEF = max(MAJOHR_[DGFIP][2017]7_1,MAJOPHR17_1A);
+MAJOPHR17_2DEF = max(MAJOHR_[DGFIP][2017]7_2,MAJOPHR17_2A);
+
+MAJOPHR_DEF = max(MAJOPHR_TOT,MAJOPHR_A);
+
+pour x = 07,08,10,11,17,31:
+MAJOPCSx_DEF = max(MAJOCS_Px,MAJOPCSx_A);
+MAJOPCS_DEF = max(MAJOPCS_TOT,MAJOPCS_A);
+pour x = 07,08,10,11,17,31:
+MAJOPRDx_DEF = max(MAJORD_Px,MAJOPRDx_A);
+MAJOPRD_DEF = max(MAJOPRD_TOT,MAJOPRD_A);
+pour x = 07,08,10,11,17,31:
+MAJOPPSx_DEF = max(MAJOPS_Px,MAJOPPSx_A);
+MAJOPPS_DEF = max(MAJOPPS_TOT,MAJOPPS_A);
+regle corrective base_stratemajo 122:
+application :  iliad ;
+MAJOIRST_DEF = MAJOIR_ST ;
+
+MAJOTAXAST_DEF = MAJOTAXA_ST;
+MAJOCAPST_DEF = MAJOCAP_ST;
+MAJOLOYST_DEF = MAJOLOY_ST;
+MAJOHRST_DEF = MAJOHR_ST;
+
+MAJOCSST_DEF = MAJOCS_ST;
+MAJORDST_DEF = MAJORD_ST;
+MAJOPSST_DEF = MAJOPS_ST;
+MAJOCVNST_DEF = MAJOCVN_ST;
+MAJOREGVST_DEF = MAJOREGV_ST;
+MAJOCDISST_DEF = MAJOCDIS_ST;
+MAJOGLOST_DEF = MAJOGLO_ST;
+
+MAJORSE1ST_DEF = MAJORSE1_ST;
+MAJORSE2ST_DEF = MAJORSE2_ST;
+MAJORSE3ST_DEF = MAJORSE3_ST;
+MAJORSE4ST_DEF = MAJORSE4_ST;
+MAJORSE5ST_DEF = MAJORSE5_ST;
+TNAPCR[X] = NAPCRINR;
+
+TIRBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(IRBASE,TIRBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(IRBASE,IRNIN_P))
+            + (1 - null(X)) * max(IRBASE,TIRBASE[FLAG_DERSTTR]);
+TIRBASEDEF[X] = IRBASE;
+TPCAPBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CAPBASE_MAJO,TPCAPBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CAPBASE_MAJO,PCAPBRUT_P))
+           + (1 - null(X)) * max(CAPBASE_MAJO,TPCAPBASE[FLAG_DERSTTR]);
+TPCAPBASEDEF[X] = CAPBASE_MAJO;
+
+
+TLOYBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(LOYBASE_MAJO,TLOYBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(LOYBASE_MAJO, LOYBRUT_P))
+           + (1 - null(X)) * max(LOYBASE_MAJO,TLOYBASE[FLAG_DERSTTR]);
+TLOYBASEDEF[X] = LOYBASE_MAJO;
+TCHRBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(HRBASE_MAJO,TCHRBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(HRBASE_MAJO,CHRBRUT_P))
+           + (1 - null(X)) * max(HRBASE_MAJO,TCHRBASE[FLAG_DERSTTR]);
+TCHRBASEDEF[X] = HRBASE_MAJO;
+TTAXABASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(TAXABASE_MAJO,TTAXABASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(TAXABASE_MAJO,TAXABRUT_P))
+           + (1 - null(X)) * max(TAXABASE_MAJO,TTAXABASE[FLAG_DERSTTR]);
+TTAXABASEDEF[X] = TAXABASE_MAJO;
+TCSBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CSBASE,TCSBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CSBASE,CSG_P))
+           + (1 - null(X)) * max(CSBASE,TCSBASE[FLAG_DERSTTR]);
+TRDBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RDBASE,TRDBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RDBASE,RDS_P))
+           + (1 - null(X)) * max(RDBASE,TRDBASE[FLAG_DERSTTR]);
+TPSBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(PSBASE,TPSBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(PSBASE,PRS_P))
+           + (1 - null(X)) * max(PSBASE,TPSBASE[FLAG_DERSTTR]);
+
+TCVNBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CVNBASE,TCVNBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CVNBASE,CVN_P))
+           + (1 - null(X)) * max(CVNBASE,TCVNBASE[FLAG_DERSTTR]);
+
+TREGVBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(REGVBASE,TREGVBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(REGVBASE , REGV_P))
+           + (1 - null(X)) * max(REGVBASE,TREGVBASE[FLAG_DERSTTR]);
+TCDISBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(CDISBASE,TCDISBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(CDISBASE,CDIS_P))
+           + (1 - null(X)) * max(CDISBASE,TCDISBASE[FLAG_DERSTTR]);
+
+TGLOBASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(GLOBASE,TGLOBASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(GLOBASE,GLO_P))
+           + (1 - null(X)) * max(GLOBASE,TGLOBASE[FLAG_DERSTTR]);
+TRSE1BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE1BASE,TRSE1BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE1BASE,RSE1_P))
+           + (1 - null(X)) * max(RSE1BASE,TRSE1BASE[FLAG_DERSTTR]);
+TRSE2BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE2BASE,TRSE2BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE2BASE,RSE2_P))
+           + (1 - null(X)) * max(RSE2BASE,TRSE2BASE[FLAG_DERSTTR]);
+TRSE3BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE3BASE,TRSE3BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE3BASE,RSE3_P))
+           + (1 - null(X)) * max(RSE3BASE,TRSE3BASE[FLAG_DERSTTR]);
+TRSE4BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE4BASE,TRSE4BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE4BASE,RSE4_P))
+           + (1 - null(X)) * max(RSE4BASE,TRSE4BASE[FLAG_DERSTTR]);
+
+TRSE5BASE[X] = null(X) * 
+	    ( positif(FLAG_RETARD) * positif(FLAG_RECTIF)* max(RSE5BASE,TRSE5BASE[FLAG_DERSTTR]) 
+	     + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF)) * max(RSE5BASE,RSE5_P))
+           + (1 - null(X)) * max(RSE5BASE,TRSE5BASE[FLAG_DERSTTR]);
+
+MAJOIR01 = TMAJOIR[24] * STR_TR24
+	   + TMAJOIR[01] * null(CSTRATE1 - 1);
+
+MAJOIR02_1 = TMAJOIR[22] * STR_TR22 
+	   + TMAJOIR[01] * null(CSTRATE1 - 2);
+
+MAJOIR02_1_NTL = T2MAJOIR[17] * STR_TR17
+	   + T2MAJOIR[01] * null(CSTRATE1 - 2);
+MAJOIR02_2_NTL = T2MAJOIR[18] * STR_TR18 * (1 - positif(TIRBASE[18]-TIRBASE[22]) * positif(TIRBASE[22])) * (1 - IND_RJLJ)
+               + positif(TIRBASE[18] - TIRBASE[22]) * (1 - IND_RJLJ) * positif(TIRBASE[22])
+                * arr(max(0,(TIRBASE[18] - TIRBASE[0] - (TIRBASE[18] - TIRBASEDEF[22]))) * TX1758A/100) * STR_TR18
+               + T2MAJOIR[01] * null(CSTRATE1 - 2);
+
+
+MAJOIR02_1_NTL15 = T2MAJOIR[19] * STR_TR19;
+
+
+
+MAJOIR02_2_NTL15 = T2MAJOIR[20] * STR_TR20 * (1 - positif(TIRBASE[20]-TIRBASE[22]) * positif(TIRBASE[22])) * (1 - IND_RJLJ)
+               + positif(TIRBASE[20] - TIRBASE[22]) * (1 - IND_RJLJ) * positif(TIRBASE[22])
+                * arr(max(0,(TIRBASE[20] - TIRBASE[0] - (TIRBASE[20] - TIRBASEDEF[22]))) * TX1758A/100) * STR_TR20 ;
+
+MAJOIR02_1_TL = T2MAJOIR[21] * STR_TR21;
+
+MAJOIR02_2_TL = T2MAJOIR[22] * STR_TR22;
+MAJOIR02_2 = MAJOIR02_2_TL + MAJOIR02_2_NTL + MAJOIR02_2_NTL15 ;
+
+MAJOIR03 = TMAJOIR[13] * STR_TR13 
+	   + TMAJOIR[01] * null(CSTRATE1 - 3);
+MAJOIR04 = TMAJOIR[08] * STR_TR08 
+	   + TMAJOIR[01] * null(CSTRATE1 - 4);
+MAJOIR05 = TMAJOIR[07] * STR_TR07 
+	   + TMAJOIR[01] * null(CSTRATE1 - 5);
+MAJOIR06 = TMAJOIR[03] * STR_TR03
+	   + TMAJOIR[01] * null(CSTRATE1 - 6);
+MAJOIR07 = TMAJOIR[16] * STR_TR16 
+	   + TMAJOIR[01] * null(CSTRATE1 - 7)
+	   + max(0,MAJOIR07TARDIF_DEF) ;
+MAJOIR08 = TMAJOIR[11] * STR_TR11 
+	   + TMAJOIR[01] * null(CSTRATE1 - 8)
+	   + max(0,MAJOIR08TARDIF_DEF) ;
+MAJOIR10_1 = TMAJOIR[14] * STR_TR14 
+	   + TMAJOIR[01] * null(CSTRATE1 - 10);
+MAJOIR10_2 = T2MAJOIR[14] * STR_TR14
+	   + T2MAJOIR[01] * null(CSTRATE1 - 10);
+MAJOIR11 = TMAJOIR[10] * STR_TR10 
+	   + TMAJOIR[01] * null(CSTRATE1 - 11);
+MAJOIR17_1 = TMAJOIR[15] * STR_TR15  
+	   + TMAJOIR[01] * null(CSTRATE1 - 17)
+	   + max(0,MAJOIR17_1TARD_DEF);
+MAJOIR17_2 = T2MAJOIR[15] * STR_TR15
+	   + T2MAJOIR[01] * null(CSTRATE1 - 17)
+	   + max(0,MAJOIR17_2TARD_DEF);
+MAJOIR22 = TMAJOIR[23] * STR_TR23 
+	   + TMAJOIR[01] * null(CSTRATE1 - 22);
+MAJOIR30 = TMAJOIR[09] * STR_TR09 
+	   + TMAJOIR[01] * null(CSTRATE1 - 30);
+MAJOIR31 = TMAJOIR[06] * STR_TR06 
+	   + TMAJOIR[01] * null(CSTRATE1 - 31);
+MAJOIR32 = TMAJOIR[05] * STR_TR05 
+	   + TMAJOIR[01] * null(CSTRATE1 - 32);
+MAJOIR55 = TMAJOIR[12] * STR_TR12
+	   + TMAJOIR[01] * null(CSTRATE1 - 55);
+MAJOIR99 = (TMAJOIR[00] * STR_TR00 
+	   + TMAJOIR[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99)) ;
+MAJOPS01 = TMAJOPS[24] * STR_TR24 
+	   + TMAJOPS[01] * null(CSTRATE1 - 1);
+MAJOPS02 = TMAJOPS[22] * STR_TR22 
+	   + TMAJOPS[01] * null(CSTRATE1 - 2);
+MAJOPS03 = TMAJOPS[13] * STR_TR13 
+	   + TMAJOPS[01] * null(CSTRATE1 - 3);
+MAJOPS04 = TMAJOPS[08] * STR_TR08 
+	   + TMAJOPS[01] * null(CSTRATE1 - 4);
+MAJOPS05 = TMAJOPS[07] * STR_TR07 
+	   + TMAJOPS[01] * null(CSTRATE1 - 5);
+MAJOPS06 = TMAJOPS[03] * STR_TR03
+	   + TMAJOPS[01] * null(CSTRATE1 - 6);
+MAJOPS07 = TMAJOPS[16] * STR_TR16 
+	   + TMAJOPS[01] * null(CSTRATE1 - 7)
+           + max(0,MAJOPS07TARDIF_DEF) ;
+MAJOPS08 = TMAJOPS[11] * STR_TR11 
+	   + TMAJOPS[01] * null(CSTRATE1 - 8)
+           + max(0,MAJOPS08TARDIF_DEF) ;
+MAJOPS10 = TMAJOPS[14] * STR_TR14 
+	   + TMAJOPS[01] * null(CSTRATE1 - 10);
+MAJOPS11 = TMAJOPS[10] * STR_TR10 
+	   + TMAJOPS[01] * null(CSTRATE1 - 11);
+MAJOPS17 = TMAJOPS[15] * STR_TR15 
+	   + TMAJOPS[01] * null(CSTRATE1 - 17)
+           + max(0,MAJOPS17TARDIF_DEF) ;
+MAJOPS22 = TMAJOPS[23] * STR_TR23 
+	   + TMAJOPS[01] * null(CSTRATE1 - 22);
+MAJOPS30 = TMAJOPS[09] * STR_TR09 
+	   + TMAJOPS[01] * null(CSTRATE1 - 30);
+MAJOPS31 = TMAJOPS[06] * STR_TR06 
+	   + TMAJOPS[01] * null(CSTRATE1 - 31);
+MAJOPS32 = TMAJOPS[05] * STR_TR05 
+	   + TMAJOPS[01] * null(CSTRATE1 - 32);
+MAJOPS55 = TMAJOPS[12] * STR_TR12 
+	   + TMAJOPS[01] * null(CSTRATE1 - 55);
+MAJOPS99 = (TMAJOPS[00] * STR_TR00 
+	   + TMAJOPS[01] * null(CSTRATE1 - 99)) * (1 - positif(CSTRATE99));
+MAJOCS01 = TMAJOCS[24] * STR_TR24 
+	   + TMAJOCS[01] * null(CSTRATE1 - 1);
+MAJOCS02 = TMAJOCS[22] * STR_TR22 
+	   + TMAJOCS[01] * null(CSTRATE1 - 2);
+MAJOCS03 = TMAJOCS[13] * STR_TR13 
+	   + TMAJOCS[01] * null(CSTRATE1 - 3);
+MAJOCS04 = TMAJOCS[08] * STR_TR08 
+	   + TMAJOCS[01] * null(CSTRATE1 - 4);
+MAJOCS05 = TMAJOCS[07] * STR_TR07 
+	   + TMAJOCS[01] * null(CSTRATE1 - 5);
+MAJOCS06 = TMAJOCS[03] * STR_TR03
+	   + TMAJOCS[01] * null(CSTRATE1 - 6);
+M
diff --git a/sources2014m_2_15/chap-cor.m b/sources2014m_2_15/chap-cor.m
new file mode 100644
index 0000000000000000000000000000000000000000..a94b915c822c9a1b9cdf562f631399d126f210ac
--- /dev/null
+++ b/sources2014m_2_15/chap-cor.m
@@ -0,0 +1,456 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+regle  corrective base_INITIAL 1080:
+application     : iliad ;
+PRS_P = PRS;
+CSG_P = CSG;
+RDS_P = RDSN;
+IRNIN_P = IRN ;
+IRNIN_INR_P = IRNIN_INR;
+CSBASE_INR_P = CSBASE_INR;
+PSBASE_INR_P = PSBASE_INR;
+RDBASE_INR_P = RDBASE_INR;
+CDISBASE_INR_P = CDISBASE_INR;
+CVNBASE_INR_P = CVNBASE_INR;
+GLOBASE_INR_P = GLOBASE_INR;
+RSE1BASE_INR_P = RSE1BASE_INR;
+RSE2BASE_INR_P = RSE2BASE_INR;
+RSE3BASE_INR_P = RSE3BASE_INR;
+RSE4BASE_INR_P = RSE4BASE_INR;
+RSE5BASE_INR_P = RSE5BASE_INR;
+TAXABASE_INR_P = TAXABASE_INR;
+PCAPBASE_INR_P = PCAPBASE_INR;
+LOYBASE_INR_P = LOYBASE_INR;
+CHRBASE_INR_P = CHRBASE_INR;
+REGVBASE_INR_P = REGVBASE_INR;
+CSREC_P = CSREC;
+NAPCR_P = NAPCR;
+TAXA_P = TAXABASE ;
+CHR_P = CHRBASE ;
+TAXABRUT_P = TAXASSUR ;
+PCAPBRUT_P = IPCAPTAXT ;
+CHRBRUT_P = IHAUTREVT ;
+PCAP_P = PCAPBASE ;
+RSE1_P = RSE1BASE ;
+RSE2_P = RSE2BASE ;
+RSE3_P = RSE3BASE ;
+RSE4_P = RSE4BASE ;
+CDIS_P = CDISBASE ;
+VAR7WY_P = DEPCHOBAS;
+VAR7WZ_P = DEPMOBIL;
+VAR7WD_P = COD7WD;
+ISF_P = ISF4BASE;
+
+ACOTFOR_P = ACOTFOR ;
+RCOTFOR_P = RCOTFOR ;
+AREPA_P = AREPA ;
+RREPA_P = RREPA ;
+AAIDE_P = AAIDE ;
+RAIDE_P = RAIDE ;
+ADIFAGRI_P = ADIFAGRI ;
+RDIFAGRI_P = RDIFAGRI ;
+AFORET_P = AFORET ;
+RFORET_P = RFORET ;
+AFIPDOM_P = AFIPDOM ;
+RFIPDOM_P = RFIPDOM ;
+AFIPC_P = AFIPC ;
+RFIPC_P = RFIPC ;
+ACINE_P = ACINE ;
+RCINE_P = RCINE ;
+ARESTIMO_P = ARESTIMO ;
+RRESTIMO_P = RRESTIMO ; 
+ASOCREPR_P = ASOCREPR ;
+RSOCREPR_P = RSOCREPR ;
+APRESCOMP_P = APRESCOMP ;
+RRPRESCOMP_P = RRPRESCOMP ;
+AHEBE_P = AHEBE ;
+RHEBE_P = RHEBE ;
+ASURV_P = ASURV ;
+RSURV_P = RSURV ;
+BFCPI_P = BFCPI ;
+RINNO_P = RINNO ;
+ASOUFIP_P = ASOUFIP ; 
+RSOUFIP_P = RSOUFIP ; 
+ARIRENOV_P = ARIRENOV ; 
+RRIRENOV_P = RRIRENOV ; 
+ALOGDOM_P = ALOGDOM ;
+RLOGDOM_P = RLOGDOM ;
+ACREAT_P = ACREAT ;
+RCREAT_P = RCREAT ;
+ACOMP_P = ACOMP ;
+RCOMP_P = RCOMP ;
+RRETU_P = RRETU ;
+ADONS_P = ADONS ;
+RDONS_P = RDONS ;
+ADUFLOGIH_P = ADUFLOGIH ;
+RDUFLOGIH_P = RDUFLOGIH ;
+ANOUV_P = ANOUV ;
+RNOUV_P = RNOUV ;
+AFOREST_P = AFOREST ;
+RFOR_P = RFOR ;
+ATOURREP_P = ATOURREP ;
+RTOURREP_P = RTOURREP ;
+ATOUHOTR_P = ATOUHOTR ;
+RTOUHOTR_P = RTOUHOTR ;
+ATOUREPA_P = ATOUREPA ;
+RTOUREPA_P = RTOUREPA ;
+ACELRREDLA_P = ACELRREDLA ; 
+RCELRREDLA_P = RCELRREDLA ; 
+ACELRREDLB_P = ACELRREDLB ;
+RCELRREDLB_P = RCELRREDLB ;
+ACELRREDLE_P = ACELRREDLE ;
+RCELRREDLE_P = RCELRREDLE ;
+ACELRREDLM_P = ACELRREDLM ;
+RCELRREDLM_P = RCELRREDLM ;
+ACELRREDLC_P = ACELRREDLC ;
+RCELRREDLC_P = RCELRREDLC ;
+ACELRREDLD_P = ACELRREDLD ;
+RCELRREDLD_P = RCELRREDLD ;
+ACELRREDLS_P = ACELRREDLS ;
+RCELRREDLS_P = RCELRREDLS ;
+ACELRREDLF_P = ACELRREDLF ;
+RCELRREDLF_P = RCELRREDLF ;
+ACELRREDLZ_P = ACELRREDLZ ;
+RCELRREDLZ_P = RCELRREDLZ ;
+ACELRREDMG_P = ACELRREDMG ;
+RCELRREDMG_P = RCELRREDMG ;
+ACELREPHS_P = ACELREPHS ;
+RCELREPHS_P = RCELREPHS ;
+ACELREPHR_P = ACELREPHR ;
+RCELREPHR_P = RCELREPHR ;
+ACELREPHU_P = ACELREPHU ;
+RCELREPHU_P = RCELREPHU ;
+ACELREPHT_P = ACELREPHT ;
+RCELREPHT_P = RCELREPHT ;
+ACELREPHZ_P = ACELREPHZ ;
+RCELREPHZ_P = RCELREPHZ ;
+ACELREPHX_P = ACELREPHX ;
+RCELREPHX_P = RCELREPHX ;
+ACELREPHW_P = ACELREPHW ;
+RCELREPHW_P = RCELREPHW ;
+ACELREPHV_P = ACELREPHV ;
+RCELREPHV_P = RCELREPHV ;
+ACELREPHF_P = ACELREPHF ;
+RCELREPHF_P = RCELREPHF ;
+ACELREPHE_P = ACELREPHE ;
+RCELREPHE_P = RCELREPHE ;
+ACELREPHD_P = ACELREPHD ;
+RCELREPHD_P = RCELREPHD ;
+ACELREPHH_P = ACELREPHH ;
+RCELREPHH_P = RCELREPHH ;
+ACELREPHG_P = ACELREPHG ;
+RCELREPHG_P = RCELREPHG ;
+ACELREPHB_P = ACELREPHB ;
+RCELREPHB_P = RCELREPHB ;
+ACELREPHA_P = ACELREPHA ;
+RCELREPHA_P = RCELREPHA ;
+ACELREPGU_P = ACELREPGU ;
+RCELREPGU_P = RCELREPGU ;
+ACELREPGX_P = ACELREPGX ;
+RCELREPGX_P = RCELREPGX ;
+ACELREPGT_P = ACELREPGT ;
+RCELREPGT_P = RCELREPGT ;
+ACELREPGS_P = ACELREPGS ;
+RCELREPGS_P = RCELREPGS ;
+ACELREPGW_P = ACELREPGW ;
+RCELREPGW_P = RCELREPGW ;
+ACELREPGP_P = ACELREPGP ;
+RCELREPGP_P = RCELREPGP ;
+ACELREPGL_P = ACELREPGL ;
+RCELREPGL_P = RCELREPGL ;
+ACELREPGV_P = ACELREPGV ;
+RCELREPGV_P = RCELREPGV ;
+ACELREPGK_P = ACELREPGK ;
+RCELREPGK_P = RCELREPGK ;
+ACELREPGJ_P = ACELREPGJ ;
+RCELREPGJ_P = RCELREPGJ ;
+ACELHM_P = ACELHM ;
+RCELHM_P = RCELHM ;
+
+
+ACELHL_P = ACELHL ;
+RCELHL_P = RCELHL ;
+ACELHNO_P = ACELHNO ;
+RCELHNO_P = RCELHNO ;
+ACELHJK_P = ACELHJK ;
+RCELHJK_P = RCELHJK ;
+ACELNQ_P = ACELNQ ;
+RCELNQ_P = RCELNQ ;
+ACELNBGL_P = ACELNBGL ;
+RCELNBGL_P = RCELNBGL ;
+ACELCOM_P = ACELCOM ;
+RCELCOM_P = RCELCOM ;
+ACEL_P = ACEL ;
+RCEL_P = RCEL ;
+ACELJP_P = ACELJP ;
+RCELJP_P = RCELJP ;
+ACELJBGL_P = ACELJBGL ;
+RCELJBGL_P = RCELJBGL ;
+ACELJOQR_P = ACELJOQR ; 
+RCELJOQR_P = RCELJOQR ; 
+ACEL2012_P = ACEL2012 ;
+RCEL2012_P = RCEL2012 ;
+ACELFD_P = ACELFD ; 
+RCELFD_P = RCELFD ; 
+ACELFABC_P = ACELFABC ;
+RCELFABC_P = RCELFABC ;
+AREDMEUB_P = AREDMEUB ; 
+RREDMEUB_P = RREDMEUB ; 
+AREDREP_P = AREDREP ;
+RREDREP_P = RREDREP ;
+AILMIX_P = AILMIX ; 
+RILMIX_P = RILMIX ; 
+AILMIY_P = AILMIY ;
+RILMIY_P = RILMIY ;
+AINVRED_P = AINVRED ; 
+RINVRED_P = RINVRED ; 
+AILMIH_P = AILMIH ;
+RILMIH_P = RILMIH ;
+AILMJC_P = AILMJC ;
+RILMJC_P = RILMJC ;
+AILMIZ_P = AILMIZ ;
+RILMIZ_P = RILMIZ ;
+AILMJI_P = AILMJI ;
+RILMJI_P = RILMJI ;
+AILMJS_P = AILMJS ;
+RILMJS_P = RILMJS ;
+AMEUBLE_P = AMEUBLE ;
+RMEUBLE_P = RMEUBLE ;
+APROREP_P = APROREP ;
+RPROREP_P = RPROREP ;
+AREPNPRO_P = AREPNPRO ; 
+RREPNPRO_P = RREPNPRO ; 
+AREPMEU_P = AREPMEU ; 
+RREPMEU_P = RREPMEU ; 
+AILMIC_P = AILMIC ;
+RILMIC_P = RILMIC ;
+AILMIB_P = AILMIB ; 
+RILMIB_P = RILMIB ; 
+AILMIA_P = AILMIA ; 
+RILMIA_P = RILMIA ; 
+AILMJY_P = AILMJY ;
+RILMJY_P = RILMJY ;
+AILMJX_P = AILMJX ;
+RILMJX_P = RILMJX ;
+AILMJW_P = AILMJW ; 
+RILMJW_P = RILMJW ; 
+AILMJV_P = AILMJV ; 
+RILMJV_P = RILMJV ; 
+ARESIMEUB_P = ARESIMEUB ;
+RRESIMEUB_P = RRESIMEUB ;
+RCODIW_P = RCODIW ;
+RCODIM_P = RCODIM ;
+RCODIL_P = RCODIL ;
+RCODIN_P = RCODIN ;
+RCODIV_P = RCODIV ;
+RCODIJ_P = RCODIJ ;
+RCODIE_P = RCODIE ;
+RCODIF_P = RCODIF ;
+RCODIG_P = RCODIG ;
+RCODID_P = RCODID ;
+RCODJU_P = RCODJU ;
+RCODJT_P = RCODJT ; 
+APATNAT1_P = APATNAT1 ;
+RPATNAT1_P = RPATNAT1 ;
+APATNAT2_P = APATNAT2 ;
+RPATNAT2_P = RPATNAT2 ;
+APATNAT3_P = APATNAT3 ;
+RPATNAT3_P = RPATNAT3 ;
+APATNAT_P = APATNAT ;
+RPATNAT_P = RPATNAT ;
+ADOMSOC1_P = ADOMSOC1 ; 
+RDOMSOC1_P = RDOMSOC1 ; 
+ALOGSOC_P = ALOGSOC ; 
+RLOGSOC_P = RLOGSOC ; 
+DIDOMPRO_P = DIDOMPRO ;
+RIDOMPROE3_P = RIDOMPROE3 ;
+ACOLENT_P = ACOLENT ;
+RCOLENT_P = RCOLENT ;
+ALOCENT_P = ALOCENT ;
+RLOCENT_P = RLOCENT ;
+
+ITRED_P = ITRED ; 
+BICREV_P = BICREV;
+BICREC_P = BICREC;
+BICREP_P = BICREP;
+BICHREV_P = BICHREV;
+BICHREC_P = BICHREC;
+BICHREP_P = BICHREP;
+DNOCEP_P = DNOCEP;
+DNOCEPC_P = DNOCEPC;
+DNOCEPP_P = DNOCEPP;
+BNCAADV_P = BNCAADV;
+BNCDEC_P = BNCDEC;
+BNCDEP_P = BNCDEP;
+BNCDEV_P = BNCDEV;
+BNCAADC_P = BNCAADC;
+BNCAADP_P = BNCAADP;
+BAHDEV_P = VARBAHDEV;
+BAHDEC_P = VARBAHDEC;
+BAHDEP_P = VARBAHDEP;
+BACDEV_P = VARBACDEV;
+BACDEC_P = VARBACDEC;
+BACDEP_P = VARBACDEP;
+RCMFR_P = min(RCMAB + RTNC + RAVC + RCMNAB + RTCAR + RCMPRIVM,RCMFR);
+RCMFRNET_P = max(0,RCMFR - RCMAB - RTNC - RAVC - RCMNAB - RTCAR - RCMPRIVM);
+TSNNV_P = abs(TSNNV) * min(0,TSNNV);
+TSNNC_P = abs(TSNNC) * min(0,TSNNC);
+TSNN1_P = abs(TSNN1) * min(0,TSNN1);
+TSNN2_P = abs(TSNN2) * min(0,TSNN2);
+TSNN3_P = abs(TSNN3) * min(0,TSNN3);
+TSNN4_P = abs(TSNN4) * min(0,TSNN4);
+TSNNT_P = abs(TSNNT) * min(0,TSNNT);
+FRDV_P = FRDV;
+FRDC_P = FRDC;
+FR[DGFIP][2017]_P = FR[DGFIP][2017];
+FR[DGFIP][2017]_P = FR[DGFIP][2017];
+FRD3_P = FRD3;
+FRD4_P = FRD4;
+TFRDV_P = TFRDV;
+TFRDC_P = TFRDC;
+TFR[DGFIP][2017]_P = TFR[DGFIP][2017];
+TFR[DGFIP][2017]_P = TFR[DGFIP][2017];
+TFRD3_P = TFRD3;
+TFRD4_P = TFRD4;
+SOMMEBA_P = SOMMEBA;
+SOMMEBIC_P = SOMMEBIC;
+SOMMELOC_P = SOMMELOC;
+SOMMEBNC_P = SOMMEBNC;
+SOMMERF_P = SOMMERF;
+SOMMERCM_P = SOMMERCM;
+TSBV_P = TSBV;
+TSBC_P = TSBC;
+TSB1_P = TSB1;
+TSB2_P = TSB2;
+TSB3_P = TSB3;
+TSB4_P = TSB4;
+TSBP_P = TSB1 +TSB2 +TSB3 + TSB4;
+TTSBV_P = TTSBV;
+TTSBC_P = TTSBC;
+TTSB1_P = TTSB1;
+TTSB2_P = TTSB2;
+TTSB3_P = TTSB3;
+TTSB4_P = TTSB4;
+RRCM_P = RRCM;
+REVRCM_P = REVRCM;
+RRFI_P = RRFI;
+REVRF_P = REVRF;
+RBAT_P = RBAT;
+BAQTOTAVIS_P = BAQTOTAVIS;
+BICNPF_P = BICNPF;
+BNCIF_P = BNCIF;
+BAHREV_P = BAHREV;
+4BAHREV_P = 4BAHREV;
+BAHREC_P = BAHREC;
+4BAHREC_P = 4BAHREC;
+BAHREP_P = BAHREP;
+4BAHREP_P = 4BAHREP;
+BACREV_P = BACREV;
+4BACREV_P = 4BACREV;
+BACREC_P = BACREC;
+4BACREC_P = 4BACREC;
+BACREP_P = BACREP;
+4BACREP_P = 4BACREP;
+LOCPROCGAV_P = LOCPROCGAV;
+LOCPROCGAC_P = LOCPROCGAC;
+LOCPROCGAP_P = LOCPROCGAP;
+LOCPROV_P = LOCPROV;
+LOCPROC_P = LOCPROC;
+LOCPROP_P = LOCPROP;
+LOCNPCGAV_P = LOCNPCGAV;
+LOCGITCV_P = LOCGITCV;
+LOCNPCGAC_P = LOCNPCGAC;
+LOCGITCC_P = LOCGITCC;
+LOCNPCGAPAC_P = LOCNPCGAPAC;
+LOCGITCP_P = LOCGITCP;
+LOCNPV_P = LOCNPV;
+LOCNPC_P = LOCNPC;
+LOCNPPAC_P = LOCNPPAC;
+BNHREV_P = BNHREV;
+BNHREC_P = BNHREC;
+BNHREP_P = BNHREP;
+BNCREV_P = BNCREV;
+BNCREC_P = BNCREC;
+BNCREP_P = BNCREP;
+BNCAABV_P = BNCAABV;
+BNCAABC_P = BNCAABC;
+BNCAABP_P = BNCAABP;
+LOCGITHCV_P = LOCGITHCV;
+LOCGITHCC_P = LOCGITHCC;
+LOCGITHCP_P = LOCGITHCP;
+RFDHIS_P = RFDHIS;
+DFRCMNBIS_P = DFRCMNBIS;
+TSPRV_P = TSPRV;
+TSPRC_P = TSPRC;
+TSPRP_P = TSPRP;
+ESFP_P = ESFP;
+TSPR_P = TSPR;
+RCM_P = RCM;
+BIN_P = BIN;
+BNN_P = BNN;
+PLOCNETF_P = PLOCNETF;
+NPLOCNETF_P = NPLOCNETF;
+BRCMTOT_P = BRCMTOT;
+DFBICNPF_P = DFBICNPF;
+DEFNPI_P = DEFNPI;
+DEFLOCNP_P = DEFLOCNP;
+DNPLOCIMPU_P = DNPLOCIMPU;
+DEFBNCNP_P = DEFBNCNP;
+DIDABNCN[DGFIP][2017]_P = DIDABNCN[DGFIP][2017];
+DEFBANI_P = DEFBANI;
+REPRCM_P = REPRCMB;
+BRCM_P = BRCMBIS;
+BRCMQ_P = BRCMQ;
+DEF4BB_P = DEF4BB;
+DEF4BD_P = DEF4BD;
+DFANTPROV_P = DFANTPROV;
+DAGRIIMP_P = DAGRIIMP;
+TOTALQUO_P = TOTALQUO;
+
+regle corrective base_anterieure_cor 11:
+application : iliad ;
+ANTINDIRPS = INDIRPS ;
+ANTPPETOT = PPETOTX ;
+ANTPPEREST2A = PPEREST2A ;
+ANTPPEIM[DGFIP][2017]A = PPEIM[DGFIP][2017]A ;
+IND_PASSAGE_A = IND_PASSAGE;
+IND_PASSR9901_A = IND_PASSR9901;
+INR_GLO_TARDIF_A=INR_GLO_TARDIF;
+TXINR_A=TXINR;
+TXINRRED_A=TXINRRED;
+TXINRREDISF_A=TXINRREDISF;
+TXINR_PA_A = TXINR_PA;
+TXINRISF_PA_A = TXINRISF_PA;
+TINR_A=TINR;
+TXINRISF_A=TXINRISF;
+RETXISF_A=RETXISF;
+TINR_1_A=TINR_1;
+NBREMOISCS2_A=NBREMOISCS2;
+NBREMOISCS222_A=NBREMOISCS222;
+NBREMOIS2_A=NBREMOIS2;
+NBREMOIS222_A=NBREMOIS222;
+NBREMOIS2ISF_A=NBREMOIS2ISF;
+NBREMOIS222ISF_A=NBREMOIS222ISF;
+INDACOINR_A=present(ACODELAISINR);
+IND_PASSAGEISF_A = IND_PASSAGEISF;
+IND_PASSR9901ISF_A = IND_PASSR9901ISF;
+
diff --git a/sources2014m_2_15/chap-ctl.m b/sources2014m_2_15/chap-ctl.m
new file mode 100644
index 0000000000000000000000000000000000000000..0b281356537ccb173b954a86c04000bf78767583
--- /dev/null
+++ b/sources2014m_2_15/chap-ctl.m
@@ -0,0 +1,99 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle corrective base_tl_init 1202:
+application :  iliad ;
+
+
+TL_MF = IND_TL_MF;
+RNI_INIT = RNI * (1 - positif(TEFFP)) * (1 - positif(IPTEFN + RMOND)) ;
+EFF_INIT = TEFFP ;
+PVQ_INIT = TTPVQ ;
+PV_INIT  = BPTP3 + BPT[DGFIP][2017] + BPTP4 + BPTP40 + BPT[DGFIP][2017]8 + BPTPD + BPTPG + BPT[DGFIP][2017]9 + BPT[DGFIP][2017]4 ;
+RI_INIT  = (REDTL + CIMPTL) * (1-V_CNR) ;
+CRDS_INIT = BCSG ;
+BRDS_INIT = BRDS ;
+BPRS_INIT = BPRS ;
+TAXAGA_INIT = BASSURV + BASSURC ;
+PCAP_INIT = BPCAPTAXV + BPCAPTAXC ;
+LOY_INIT = LOYELEV ;
+CHR_INIT  = REVKIREHR + (RFRH2 + RFRH1) * positif(HRCONDTHEO) ;
+CVN_INIT = CVNSALAV + CVNSALAC + GLDGRATV + GLDGRATC ;
+CDIS_INIT = GSALV + GSALC ;
+GLO_INIT = GLDGRATV + GLDGRATC ;
+RSE1_INIT = BRSE1 ;
+RSE2_INIT = BRSE2 ;
+RSE3_INIT = BRSE3 ;
+RSE4_INIT = BRSE4 ;
+RSE5_INIT = BRSE5 ;
+
+regle corrective  base_tl 1204:
+application :  iliad ;
+
+
+RNI_TL = RNI * (1 - positif(TEFFP)) * (1 - positif(IPTEFN + RMOND)) ;
+EFF_TL = TEFFP ;
+PVQ_TL = TTPVQ ;
+PV_TL  = BPTP3 + BPT[DGFIP][2017] + BPTP4 + BPTP40 + BPT[DGFIP][2017]8 + BPTPD + BPTPG + BPT[DGFIP][2017]9 + BPT[DGFIP][2017]4 ;
+RI_TL  = (REDTL + CIMPTL) * (1 - V_CNR) ;
+RDS_TL  = BCSG ;
+BRDS_TL = BRDS ;
+BPRS_TL = BPRS ;
+TAXAGA_TL = BASSURV + BASSURC ;
+PCAP_TL = BPCAPTAXV + BPCAPTAXC ;
+LOYA_TL = LOYELEV ;
+CHR_TL  = REVKIREHR + (RFRH2 + RFRH1) * positif(HRCONDTHEO) ;
+CVNA_TL = CVNSALAV + CVNSALAC + GLDGRATV + GLDGRATC ;
+CDISA_TL = GSALV + GSALC;
+GLOA_TL = GLDGRATV + GLDGRATC ;
+RSE1A_TL = BRSE1 ;
+RSE2A_TL = BRSE2 ;
+RSE3A_TL = BRSE3 ;
+RSE4A_TL = BRSE4 ;
+RSE5A_TL = BRSE5 ;
+
+regle corrective base_tl_rect 1206:
+application :  iliad ;
+
+
+RNI_RECT = RNI * (1 - positif(TEFFP)) * (1 - positif(IPTEFN + RMOND)) ;
+EFF_RECT = TEFFP ;
+PVQ_RECT = TTPVQ ;
+PV_RECT  = BPTP3 + BPT[DGFIP][2017] + BPTP4 + BPTP40 + BPT[DGFIP][2017]8 + BPTPD + BPTPG + BPT[DGFIP][2017]9 + BPT[DGFIP][2017]4 ;
+RI_RECT  = RI_INIT - (REDTL + CIMPTL) * (1-V_CNR) ;
+CRDS_RECT = BCSG ;
+BRDS_RECT = BRDS ;
+BPRS_RECT = BPRS ;
+TAXAGA_RECT = BASSURV + BASSURC ;
+PCAP_RECT = BPCAPTAXV + BPCAPTAXC ;
+LOY_RECT = LOYELEV ;
+CHR_RECT  = REVKIREHR + (RFRH2 + RFRH1) * positif(HRCONDTHEO) ;
+CVN_RECT = CVNSALAV + CVNSALAC + GLDGRATV + GLDGRATC ;
+CDIS_RECT = GSALV + GSALC ;
+GLO_RECT = GLDGRATV + GLDGRATC ;
+RSE1_RECT = BRSE1 ;
+RSE2_RECT = BRSE2 ;
+RSE3_RECT = BRSE3 ;
+RSE4_RECT = BRSE4 ;
+RSE5_RECT = BRSE5 ;
+
+CSG_RECT = CSG ;
+PS_RECT  = PRS ;
+
diff --git a/sources2014m_2_15/chap-ini.m b/sources2014m_2_15/chap-ini.m
new file mode 100644
index 0000000000000000000000000000000000000000..51cfd35e27ffb89c8805ae94ad8e0b7112503993
--- /dev/null
+++ b/sources2014m_2_15/chap-ini.m
@@ -0,0 +1,498 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle irisf 1:
+application : bareme,batch,iliad;
+BIDON=1;
+
+regle irisf 1000140:
+application :  iliad;
+APPLI_GP      = 0 ;
+APPLI_ILIAD   = 1 ;
+APPLI_BATCH   = 0 ;
+regle irisf 1000150:
+application :  batch;
+APPLI_GP      = 0 ;
+APPLI_ILIAD   = 0 ;
+APPLI_BATCH   = 1 ;
+regle 1000717:
+application : batch, iliad ;
+SOMMEA71701 = positif(CELLIERJA) + positif(CELLIERJB) + positif(CELLIERJD) + positif(CELLIERJE)
+	     + positif(CELLIERJF) + positif(CELLIERJG) + positif(CELLIERJH) + positif(CELLIERJJ)
+	     + positif(CELLIERJK) + positif(CELLIERJL) + positif(CELLIERJM) + positif(CELLIERJN)
+	     + positif(CELLIERJO) + positif(CELLIERJP) + positif(CELLIERJQ) + positif(CELLIERJR) 
+	     + 0 ;
+
+SOMMEA71702 = positif(CELLIERNA) + positif(CELLIERNB) + positif(CELLIERNC) + positif(CELLIERND)
+             + positif(CELLIERNE) + positif(CELLIERNF) + positif(CELLIERNG) + positif(CELLIERNH) 
+	     + positif(CELLIERNI) + positif(CELLIERNJ) + positif(CELLIERNK) + positif(CELLIERNL)
+	     + positif(CELLIERNM) + positif(CELLIERNN) + positif(CELLIERNO) + positif(CELLIERNP) 
+	     + positif(CELLIERNQ) + positif(CELLIERNR) + positif(CELLIERNS) + positif(CELLIERNT) 
+	     + 0 ;
+
+regle 1000718:
+application : batch, iliad ;
+
+SOMMEA718 = (
+
+   present( BAFV ) + (1 - null( V_FORVA+0 ))
+ + present( BAFORESTV ) + present( BAFPVV ) + present( BA[DGFIP][2017]AV ) 
+ + present( BAFC ) + (1 - null( V_FORCA+0 ))
+ + present( BAFORESTC ) + present( BAFPVC ) + present( BA[DGFIP][2017]AC ) 
+ + present( BAFP ) + (1 - null( V_FORPA+0 ))
+ + present( BAFORESTP ) + present( BAFPVP ) + present( BA[DGFIP][2017]AP ) 
+ + present( BACREV ) + present( 4BACREV ) + present( BA1AV ) + present( BACDEV ) 
+ + present( BACREC ) + present( 4BACREC ) + present( BA1AC ) + present( BACDEC ) 
+ + present( BACREP ) + present( 4BACREP ) + present( BA1AP ) + present( BACDEP ) 
+ + present( BAHREV ) + present( 4BAHREV ) + present( BAHDEV ) 
+ + present( BAHREC ) + present( 4BAHREC ) + present( BAHDEC ) 
+ + present( BAHREP ) + present( 4BAHREP ) + present( BAHDEP ) 
+
+ + present( MIBVENV ) + present( MIBPRESV ) + present( MIBPVV ) + present( MIB1AV ) + present( MIBDEV ) + present( BICPMVCTV )
+ + present( MIBVENC ) + present( MIBPRESC ) + present( MIBPVC ) + present( MIB1AC ) + present( MIBDEC ) + present( BICPMVCTC )
+ + present( MIBVENP ) + present( MIBPRESP ) + present( MIBPVP ) + present( MIB1AP ) + present( MIBDEP ) + present( BICPMVCTP )
+ + present( BICNOV ) + present( LOCPROCGAV ) + present( B[DGFIP][2017]AV ) + present( BICDNV ) + present( LOCDEFPROCGAV )
+ + present( BICNOC ) + present( LOCPROCGAC ) + present( B[DGFIP][2017]AC ) + present( BICDNC ) + present( LOCDEFPROCGAC )
+ + present( BICNOP ) + present( LOCPROCGAP ) + present( B[DGFIP][2017]AP ) + present( BICDNP ) + present( LOCDEFPROCGAP )
+ + present( BIHNOV ) + present( LOCPROV ) + present( BIHDNV ) + present( LOCDEFPROV )
+ + present( BIHNOC ) + present( LOCPROC ) + present( BIHDNC ) + present( LOCDEFPROC )
+ + present( BIHNOP ) + present( LOCPROP ) + present( BIHDNP ) + present( LOCDEFPROP )
+
+ + present( MIBMEUV ) + present( MIBGITEV ) + present( LOCGITV ) + present( MIBNPVENV ) + present( MIBNPPRESV ) 
+ + present( MIBNPPVV ) + present( MIBN[DGFIP][2017]AV ) + present( MIBNPDEV ) 
+ + present( MIBMEUC ) + present( MIBGITEC ) + present( LOCGITC ) + present( MIBNPVENC ) + present( MIBNPPRESC ) 
+ + present( MIBNPPVC ) + present( MIBN[DGFIP][2017]AC ) + present( MIBNPDEC ) 
+ + present( MIBMEUP ) + present( MIBGITEP ) + present( LOCGITP ) + present( MIBNPVENP ) + present( MIBNPPRESP ) 
+ + present( MIBNPPVP ) + present( MIBN[DGFIP][2017]AP ) + present( MIBNPDEP ) 
+ + present( MIBNPDCT ) 
+ + present( BICREV ) + present( LOCNPCGAV ) + present( LOCGITCV ) + present( B[DGFIP][2017]AV ) + present( BICDEV ) + present( LOCDEFNPCGAV )
+ + present( BICREC ) + present( LOCNPCGAC ) + present( LOCGITCC ) + present( B[DGFIP][2017]AC ) + present( BICDEC ) + present( LOCDEFNPCGAC )
+ + present( BICREP ) + present( LOCNPCGAPAC ) + present( LOCGITCP ) + present( B[DGFIP][2017]AP ) + present( BICDEP ) + present( LOCDEFNPCGAPAC )
+ + present( BICHREV ) + present( LOCNPV ) + present( LOCGITHCV ) + present( BICHDEV ) + present( LOCDEFNPV )
+ + present( BICHREC ) + present( LOCNPC ) + present( LOCGITHCC ) + present( BICHDEC ) + present( LOCDEFNPC )
+ + present( BICHREP ) + present( LOCNPPAC ) + present( LOCGITHCP ) + present( BICHDEP ) + present( LOCDEFNPPAC )
+
+ + present( BNCPROV ) + present( BNCPROPVV ) + present( BNCPRO1AV ) + present( BNCPRODEV ) + present( BNCPMVCTV )
+ + present( BNCPROC ) + present( BNCPROPVC ) + present( BNCPRO1AC ) + present( BNCPRODEC ) + present( BNCPMVCTC )
+ + present( BNCPROP ) + present( BNCPROPVP ) + present( BNCPRO1AP ) + present( BNCPRODEP ) + present( BNCPMVCTP )
+ + present( BNCREV ) + present( BN1AV ) + present( BNCDEV ) 
+ + present( BNCREC ) + present( BN1AC ) + present( BNCDEC ) 
+ + present( BNCREP ) + present( BN1AP ) + present( BNCDEP ) 
+ + present( BNHREV ) + present( BNHDEV ) 
+ + present( BNHREC ) + present( BNHDEC ) 
+ + present( BNHREP ) + present( BNHDEP ) 
+
+ + present( BNCNPV ) + present( BNCNPPVV ) + present( BNCN[DGFIP][2017]AV ) + present( BNCNPDEV ) 
+ + present( BNCNPC ) + present( BNCNPPVC ) + present( BNCN[DGFIP][2017]AC ) + present( BNCNPDEC ) 
+ + present( BNCNPP ) + present( BNCNPPVP ) + present( BNCN[DGFIP][2017]AP ) + present( BNCNPDEP ) 
+ + present( BNCNPDCT ) 
+ + present ( BNCAABV ) + present( ANOCEP ) + present( PVINVE ) 
+ + present( INVENTV ) + present ( BNCAADV ) + present( DNOCEP ) 
+ + present ( BNCAABC ) + present( ANOVEP ) + present( PVINCE ) 
+ + present( INVENTC ) + present ( BNCAADC ) + present( DNOCEPC )
+ + present ( BNCAABP ) + present( ANOPEP ) + present( PVINPE ) 
+ + present ( INVENTP ) + present ( BNCAADP ) + present( DNOCEPP )
+ + 0
+            ) ;
+
+regle 1000719:
+application : batch, iliad ;
+
+SOMMEA719 = (
+
+   present( BAEXV ) + present ( BACREV ) + present( 4BACREV ) + present ( BA1AV ) + present ( BACDEV ) 
+ + present( BAEXC ) + present ( BACREC ) + present( 4BACREC ) + present ( BA1AC ) + present ( BACDEC ) 
+ + present( BAEXP ) + present ( BACREP ) + present( 4BACREP ) + present ( BA1AP ) + present ( BACDEP ) 
+ + present( BAHEXV ) + present ( BAHREV ) + present( 4BAHREV ) + present ( BAHDEV ) 
+ + present( BAHEXC ) + present ( BAHREC ) + present( 4BAHREC ) + present ( BAHDEC ) 
+ + present( BAHEXP ) + present ( BAHREP ) + present( 4BAHREP ) + present ( BAHDEP ) 
+
+ + present( BICEXV ) + present ( BICNOV ) + present ( LOCPROCGAV )
+ + present ( B[DGFIP][2017]AV ) + present ( BICDNV ) + present ( LOCDEFPROCGAV )
+ + present( BICEXC ) + present ( BICNOC ) + present ( LOCPROCGAC )
+ + present ( B[DGFIP][2017]AC ) + present ( BICDNC ) + present ( LOCDEFPROCGAC )
+ + present( BICEXP ) + present ( BICNOP ) + present ( LOCPROCGAP )
+ + present ( B[DGFIP][2017]AP ) + present ( BICDNP ) + present ( LOCDEFPROCGAP )
+ + present( BIHEXV ) + present ( BIHNOV ) + present ( LOCPROV )
+ + present ( BIHDNV ) + present ( LOCDEFPROV )
+ + present( BIHEXC ) + present ( BIHNOC ) + present ( LOCPROC )
+ + present ( BIHDNC ) + present ( LOCDEFPROC )
+ + present( BIHEXP ) + present ( BIHNOP ) + present ( LOCPROP )
+ + present ( BIHDNP ) + present ( LOCDEFPROP )
+
+ + present( BICNPEXV ) + present ( BICREV ) + present( LOCNPCGAV )
+ + present ( B[DGFIP][2017]AV ) + present ( BICDEV ) + present( LOCDEFNPCGAV )
+ + present( BICNPEXC ) + present ( BICREC ) + present( LOCNPCGAC )
+ + present ( B[DGFIP][2017]AC ) + present ( BICDEC ) + present( LOCDEFNPCGAC )
+ + present( BICNPEXP ) + present ( BICREP ) + present( LOCNPCGAPAC )
+ + present ( B[DGFIP][2017]AP ) + present ( BICDEP ) + present( LOCDEFNPCGAPAC )
+ + present( BICNPHEXV ) + present ( BICHREV ) + present ( LOCNPV )
+ + present ( BICHDEV ) + present ( LOCDEFNPV )
+ + present( BICNPHEXC ) + present ( BICHREC ) + present ( LOCNPC )
+ + present ( BICHDEC ) + present ( LOCDEFNPC )
+ + present( BICNPHEXP ) + present ( BICHREP ) + present ( LOCNPPAC )
+ + present ( BICHDEP ) + present ( LOCDEFNPPAC )
+
+ + present( BNCEXV ) + present ( BNCREV ) + present ( BN1AV ) + present ( BNCDEV ) 
+ + present( BNCEXC ) + present ( BNCREC ) + present ( BN1AC ) + present ( BNCDEC ) 
+ + present( BNCEXP ) + present ( BNCREP ) + present ( BN1AP ) + present ( BNCDEP ) 
+ + present( BNHEXV ) + present ( BNHREV ) + present ( BNHDEV ) 
+ + present( BNHEXC ) + present ( BNHREC ) + present ( BNHDEC ) 
+ + present( BNHEXP ) + present ( BNHREP ) + present ( BNHDEP )
+ + present( XHONOAAV ) + present( XHONOV ) 
+ + present( XHONOAAC ) + present( XHONOC ) 
+ + present( XHONOAAP ) + present( XHONOP )
+
+ + present ( BNCNPREXAAV ) + present ( BNCAABV )   + present ( BNCAADV )  + present ( BNCNPREXV ) 
+ + present( ANOCEP ) + present( DNOCEP ) + present( PVINVE ) + present( INVENTV )
+ + present ( BNCNPREXAAC ) + present ( BNCAABC ) + present ( BNCAADC ) + present ( BNCNPREXC )
+ + present( ANOVEP ) + present( DNOCEPC ) + present( PVINCE ) + present( INVENTC )
+ + present ( BNCNPREXAAP ) + present ( BNCAABP ) + present ( BNCAADP ) + present ( BNCNPREXP )
+ + present( ANOPEP ) + present( DNOCEPP ) + present( PVINPE ) + present( INVENTP )
+
+ + 0
+        ) ;
+
+regle 1000530:
+application : batch, iliad;
+
+SOMMEA030 =     
+                somme(i=1..4: positif(TSHALLOi) + positif(ALLOi)
+		+ positif(CARTSPi) + positif(REMPLAPi)
+		+ positif(CARTSNBAPi) + positif(REMPLANBPi)
+                + positif(PRBRi)
+		+ positif(CARPEPi) + positif(CARPENBAPi)
+                + positif(PALIi) + positif(FRNi) + positif(PPETPPi) + positif(PPENHPi)
+		+ positif(PENSALPi) + positif(PENSALNBPi)
+		)
+ + positif(RSAPAC1) + positif(RSAPAC2)
+ + positif(FEXP)  + positif(BAFP)  + positif(BAFORESTP) + positif(BAFPVP)  + positif(BA[DGFIP][2017]AP)
+ + positif(BAEXP)  + positif(BACREP) + positif(4BACREP)  
+ + positif(BA1AP)  + positif(BACDEP * (1 - positif(ART1731BIS) ))
+ + positif(BAHEXP)  + positif(BAHREP) + positif(4BAHREP) 
+ + positif(BAHDEP * (1 - positif(ART1731BIS) )) 
+ + positif(MIBEXP) + positif(MIBVENP) + positif(MIBPRESP)  + positif(MIBPVP)  + positif(MIB1AP)  + positif(MIBDEP)
+ + positif(BICPMVCTP) + positif(BICEXP) + positif(BICNOP) + positif(B[DGFIP][2017]AP)  
+ + positif(BICDNP * (1 - positif(ART1731BIS) )) 
+ + positif(BIHEXP) + positif(BIHNOP) + positif(BIHDNP * (1 - positif(ART1731BIS) ))  
+ + positif(MIBNPEXP)  + positif(MIBNPVENP)  + positif(MIBNPPRESP)  + positif(MIBNPPVP)  + positif(MIBN[DGFIP][2017]AP)  + positif(MIBNPDEP)
+ + positif(BICNPEXP)  + positif(BICREP) + positif(B[DGFIP][2017]AP)  + positif(min(BICDEP,BICDE[DGFIP][2017]731+0) * positif(ART1731BIS) + BICDEP * (1 - ART1731BIS))  
+ + positif(BICNPHEXP) + positif(BICHREP) + positif(min(BICHDEP,BICHDE[DGFIP][2017]731+0) * positif(ART1731BIS) + BICHDEP * (1 - ART1731BIS)) 
+ + positif(BNCPROEXP)  + positif(BNCPROP)  + positif(BNCPROPVP)  + positif(BNCPRO1AP)  + positif(BNCPRODEP) + positif(BNCPMVCTP)
+ + positif(BNCEXP)  + positif(BNCREP) + positif(BN1AP) 
+ + positif(BNCDEP * (1 - positif(ART1731BIS) ))
+ + positif(BNHEXP)  + positif(BNHREP)  + positif(BNHDEP * (1 - positif(ART1731BIS) )) + positif(BNCCRP)
+ + positif(BNCNPP)  + positif(BNCNPPVP)  + positif(BNCN[DGFIP][2017]AP)  + positif(BNCNPDEP)
+ + positif(ANOPEP) + positif(PVINPE) + positif(INVENTP) + positif(min(DNOCEPP,DNOCEP[DGFIP][2017]731+0) * positif(ART1731BIS) + DNOCEPP * (1 - ART1731BIS)) + positif(BNCCRFP)
+ + positif(BNCAABP) + positif(min(BNCAADP,BNCAAD[DGFIP][2017]731+0) * positif(ART1731BIS) + BNCAADP * (1 - ART1731BIS))
+ + positif(RCSP) + positif(PPEACP) + positif(PPENJP)
+ + positif(BAPERPP) + positif(BIPERPP) 
+ + positif(PERPP) + positif(PERP_COTP) + positif(RACCOTP) + positif(PLAF_PERPP)
+ + somme(i=1..4: positif(PEBFi))
+ + positif( COT[DGFIP][2017] ) + positif( COT[DGFIP][2017] ) + positif( COTF3 ) + positif( COTF4 )
+ + positif (BNCNPREXAAP) + positif (BNCNPREXP)
+ + positif(AUTOBICVP) + positif(AUTOBICPP) 
+ + positif(AUTOBNCP) + positif(LOCPROCGAP) 
+ + positif(LOCDEFPROCGAP * (1 - positif(ART1731BIS) ))
+ + positif(LOCPROP) + positif(LOCDEFPROP * (1 - positif(ART1731BIS) )) 
+ + positif(LOCNPCGAPAC) + positif(LOCGITCP) + positif(LOCGITHCP) 
+ + positif(min(LOCDEFNPCGAPAC,LOCDEFNPCGAPAC1731+0) * positif(ART1731BIS) + LOCDEFNPCGAPAC * (1 - ART1731BIS))
+ + positif(LOCNPPAC) + positif(min(LOCDEFNPPAC,LOCDEFNPPAC1731+0) * positif(ART1731BIS) + LOCDEFNPPAC * (1 - ART1731BIS)) 
+ + positif(XHONOAAP) + positif(XHONOP) + positif(XSPENPP)
+ + positif(BANOCGAP) + positif(MIBMEUP) + positif(MIBGITEP) + positif(LOCGITP) 
+ + positif(SALEXT1) + positif(CO[DGFIP][2017]CD) + positif(CO[DGFIP][2017]CE) + positif(PPEXT1) + positif(CO[DGFIP][2017]CH)
+ + positif(SALEXT2) + positif(CO[DGFIP][2017]DD) + positif(CO[DGFIP][2017]DE) + positif(PPEXT2) + positif(CO[DGFIP][2017]DH)
+ + positif(SALEXT3) + positif(CO[DGFIP][2017]ED) + positif(CO[DGFIP][2017]EE) + positif(PPEXT3) + positif(CO[DGFIP][2017]EH)
+ + positif(SALEXT4) + positif(CO[DGFIP][2017]FD) + positif(CO[DGFIP][2017]FE) + positif(PPEXT4) + positif(CO[DGFIP][2017]FH)
+ + positif(RDSYPP)
+ + positif(PENIN1) + positif(PENIN2) + positif(PENIN3) + positif(PENIN4)
+ + positif(CODRCZ) + positif(CODRDZ) + positif(CODREZ) + positif(CODRFZ)
+ + 0 ;
+
+regle 1000531:
+application : batch, iliad;
+
+SOMMEA031 = (
+
+   positif( TSHALLOC ) + positif( ALLOC ) + positif( PRBRC ) 
+ + positif( PALIC ) + positif( GSALC ) + positif( TSASSUC ) + positif( XETRANC ) 
+ + positif( EXOCETC ) + positif( FRNC ) 
+ + positif( PPETPC ) + positif( PPENHC )  + positif( PCAPTAXC )
+ + positif( CARTSC ) + positif( PENSALC ) + positif( REMPLAC ) + positif( CARPEC ) 
+ + positif( GLDGRATC ) 
+ + positif( GL[DGFIP][2017]C ) + positif( GL[DGFIP][2017]C ) + positif( GLD3C ) 
+
+ + positif( BPV18C ) + positif( BPCOPTC ) + positif( BPV40C ) 
+ + positif( BPCOSAC ) + positif( CVNSALAC )
+
+ + positif( FEXC ) + positif( BAFC ) + positif( BAFORESTC ) + positif( BAFPVC ) + positif( BA[DGFIP][2017]AC ) 
+ + positif( BAEXC ) + positif( BACREC ) + positif( 4BACREC ) + positif( BA1AC ) 
+ + positif(BACDEC * (1 - positif(ART1731BIS) )) 
+ + positif( BAHEXC ) + positif( BAHREC ) + positif( 4BAHREC ) 
+ + positif (BAHDEC * (1 - positif(ART1731BIS) ))   + positif( BAPERPC ) + positif( BANOCGAC ) 
+ + positif( AUTOBICVC ) + positif( AUTOBICPC ) + positif( AUTOBNCC ) 
+ + positif( MIBEXC ) + positif( MIBVENC ) + positif( MIBPRESC ) + positif( MIBPVC ) 
+ + positif( MIB1AC ) + positif( MIBDEC ) + positif( BICPMVCTC )
+ + positif( BICEXC ) + positif( BICNOC ) + positif( LOCPROCGAC ) + positif( B[DGFIP][2017]AC ) 
+ + positif (BICDNC * (1 - positif(ART1731BIS) ))  
+ + positif (LOCDEFPROCGAC * (1 - positif(ART1731BIS) ))
+ + positif( BIHEXC ) + positif( BIHNOC ) + positif( LOCPROC ) + positif(BIHDNC * (1 - positif(ART1731BIS) ))  
+ + positif (LOCDEFPROC * (1 - positif(ART1731BIS) )) 
+ + positif( BIPERPC ) 
+ + positif( MIBNPEXC ) + positif( MIBNPVENC ) + positif( MIBNPPRESC ) + positif( MIBNPPVC ) + positif( MIBN[DGFIP][2017]AC ) + positif( MIBNPDEC ) 
+ + positif( BICNPEXC ) + positif( BICREC ) + positif( LOCNPCGAC ) + positif( B[DGFIP][2017]AC ) 
+ + positif (min(BICDEC,BICDEC1731+0) * positif(ART1731BIS) + BICDEC * (1 - ART1731BIS))
+ + positif (min(LOCDEFNPCGAC,LOCDEFNPCGAC1731+0) * positif(ART1731BIS) + LOCDEFNPCGAC * (1 - ART1731BIS))
+ + positif( MIBMEUC ) + positif( MIBGITEC ) + positif( LOCGITC ) + positif( LOCGITCC ) + positif( LOCGITHCC )
+ + positif( BICNPHEXC ) + positif( BICHREC ) + positif( LOCNPC ) 
+ + positif (min(BICHDEC,BICHDEC1731+0) * positif(ART1731BIS) + BICHDEC * (1 - ART1731BIS)) 
+ + positif (min(LOCDEFNPC,LOCDEFNPC1731+0) * positif(ART1731BIS) + LOCDEFNPC * (1 - ART1731BIS)) 
+ + positif( BNCPROEXC ) + positif( BNCPROC ) + positif( BNCPROPVC ) + positif( BNCPRO1AC ) + positif( BNCPRODEC ) + positif( BNCPMVCTC )
+ + positif( BNCEXC ) + positif( BNCREC ) + positif( BN1AC ) 
+ + positif (BNCDEC * (1 - positif(ART1731BIS) ))  
+ + positif( BNHEXC ) + positif( BNHREC ) + positif (BNHDEC * (1 - positif(ART1731BIS) )) + positif( BNCCRC ) + positif( CESSASSC )
+ + positif( XHONOAAC ) + positif( XHONOC ) + positif( XSPENPC )
+ + positif( BNCNPC ) + positif( BNCNPPVC ) + positif( BNCN[DGFIP][2017]AC ) + positif( BNCNPDEC ) 
+ + positif( BNCNPREXAAC ) + positif( BNCAABC ) + positif(min(BNCAADC,BNCAADC1731+0) * positif(ART1731BIS) + BNCAADC * (1 - ART1731BIS)) + positif( BNCNPREXC ) + positif( ANOVEP )
+ + positif( PVINCE ) + positif( INVENTC ) + positif (min(DNOCEPC,DNOCEPC1731+0) * positif(ART1731BIS) + DNOCEPC * (1 - ART1731BIS)) + positif( BNCCRFC )
+ + positif( RCSC ) + positif( PVSOCC ) + positif( PPEACC ) + positif( PPENJC ) 
+ + positif( PEBFC ) 
+ + positif( PERPC ) + positif( PERP_COTC ) + positif( RACCOTC ) + positif( PLAF_PERPC )
+ + positif( PERPPLAFCC ) + positif( PERPPLAFNUC1 ) + positif( PERPPLAFNUC2 ) + positif( PERPPLAFNUC3 )
+ + positif( ELURASC )
+ + positif(CODDBJ) + positif(CODEBJ)  
+ + positif(SALEXTC) + positif(CO[DGFIP][2017]BD) + positif(CO[DGFIP][2017]BE) + positif(PPEXTC) + positif(CO[DGFIP][2017]BH)
+ + positif(RDSYCJ)
+ + positif(PENINC) + positif(CODRBZ)
+
+ + 0 ) ;
+regle 1000804:
+application : iliad , batch;  
+
+
+SOMMEA804 = SOMMEANOEXP 
+	    + positif ( GL[DGFIP][2017]V ) + positif ( GL[DGFIP][2017]V ) + positif ( GLD3V ) 
+            + positif ( GL[DGFIP][2017]C ) + positif ( GL[DGFIP][2017]C ) + positif ( GLD3C ) 
+           ;
+
+SOMMEA805 = SOMMEANOEXP + positif(CODDAJ) + positif(CODEAJ) + positif(CODDBJ) + positif(CODEBJ) 
+            + positif ( CARTSV ) + positif ( CARTSNBAV ) + positif ( CARTSC ) + positif ( CARTSNBAC ) ;
+
+regle 10009931:
+application : iliad , batch;  
+
+SOMMEA899 = present( BICEXV ) + present( BICNOV ) + present( B[DGFIP][2017]AV ) + present( BICDNV )
+            + present( BICEXC ) + present( BICNOC ) + present( B[DGFIP][2017]AC ) + present( BICDNC )
+	    + present( BICEXP ) + present( BICNOP ) + present( B[DGFIP][2017]AP ) + present( BICDNP )
+	    + present( BIHEXV ) + present( BIHNOV ) + present( BIHDNV )
+	    + present( BIHEXC ) + present( BIHNOC ) + present( BIHDNC )
+	    + present( BIHEXP ) + present( BIHNOP ) + present( BIHDNP )
+	    ;
+
+SOMMEA859 = present( BICEXV ) + present( BICNOV ) + present( B[DGFIP][2017]AV ) + present( BICDNV )
+            + present( BICEXC ) + present( BICNOC ) + present( B[DGFIP][2017]AC ) + present( BICDNC )
+	    + present( BICEXP ) + present( BICNOP ) + present( B[DGFIP][2017]AP ) + present( BICDNP )
+	    + present( BIHEXV ) + present( BIHNOV ) + present( BIHDNV )
+	    + present( BIHEXC ) + present( BIHNOC ) + present( BIHDNC )
+	    + present( BIHEXP ) + present( BIHNOP ) + present( BIHDNP )
+	    ;
+
+SOMMEA860 = present( BICEXV ) + present( BICNOV ) + present( B[DGFIP][2017]AV ) + present( BICDNV )
+            + present( BICEXC ) + present( BICNOC ) + present( B[DGFIP][2017]AC ) + present( BICDNC )
+	    + present( BICEXP ) + present( BICNOP ) + present( B[DGFIP][2017]AP ) + present( BICDNP )
+	    + present( BIHEXV ) + present( BIHNOV ) + present( BIHDNV )
+	    + present( BIHEXC ) + present( BIHNOC ) + present( BIHDNC )
+	    + present( BIHEXP ) + present( BIHNOP ) + present( BIHDNP )
+            + present( BNCEXV ) + present( BNCREV ) + present( BN1AV ) + present( BNCDEV )
+	    + present( BNCEXC ) + present( BNCREC ) + present( BN1AC ) + present( BNCDEC )
+	    + present( BNCEXP ) + present( BNCREP ) + present( BN1AP ) + present( BNCDEP )
+	    + present( BNHEXV ) + present( BNHREV ) + present( BNHDEV )
+	    + present( BNHEXC ) + present( BNHREC ) + present( BNHDEC )
+	    + present( BNHEXP ) + present( BNHREP ) + present( BNHDEP )
+            ;
+
+SOMMEA895 = present( BAEXV ) + present( BACREV ) + present( 4BACREV )
+            + present( BA1AV ) + present( BACDEV )
+            + present( BAEXC ) + present( BACREC ) + present( 4BACREC )
+            + present( BA1AC ) + present( BACDEC )
+	    + present( BAEXP ) + present( BACREP ) + present( 4BACREP )
+	    + present( BA1AP ) + present( BACDEP )
+	    + present( BAHEXV ) + present( BAHREV ) + present( 4BAHREV )
+	    + present( BAHDEV )
+	    + present( BAHEXC ) + present( BAHREC ) + present( 4BAHREC )
+	    + present( BAHDEC )
+	    + present( BAHEXP ) + present( BAHREP ) + present( 4BAHREP )
+	    + present( BAHDEP )
+	    + present( FEXV ) + present( BAFV ) + (1 - null( V_FORVA+0 )) + present( BAFPVV ) + present( BA[DGFIP][2017]AV )
+            + present( FEXC ) + present( BAFC ) + (1 - null( V_FORCA+0 )) + present( BAFPVC ) + present( BA[DGFIP][2017]AC )
+            + present( FEXP ) + present( BAFP ) + (1 - null( V_FORPA+0 )) + present( BAFPVP ) + present( BA[DGFIP][2017]AP ) 
+	    ;
+
+SOMMEA898 = SOMMEA895 ;
+
+SOMMEA881 =  
+	     present( BAEXV ) + present( BACREV ) + present( 4BACREV ) + present( BA1AV ) + present( BACDEV )
+           + present( BAEXC ) + present( BACREC ) + present( 4BACREC ) + present( BA1AC ) + present( BACDEC )
+	   + present( BAEXP ) + present( BACREP ) + present( 4BACREP ) + present( BA1AP ) + present( BACDEP )
+	   + present( BAHEXV ) + present( BAHREV ) + present( 4BAHREV ) + present( BAHDEV )
+	   + present( BAHEXC ) + present( BAHREC ) + present( 4BAHREC ) + present( BAHDEC )
+	   + present( BAHEXP ) + present( BAHREP ) + present( 4BAHREP ) + present( BAHDEP )
+
+	   + present( BICEXV ) + present( BICNOV ) + present( B[DGFIP][2017]AV ) + present( BICDNV )
+	   + present( BICEXC ) + present( BICNOC ) + present( B[DGFIP][2017]AC )
+	   + present( BICDNC ) + present( BICEXP ) + present( BICNOP ) 
+	   + present( B[DGFIP][2017]AP ) + present( BICDNP ) + present( BIHEXV ) + present( BIHNOV )
+	   + present( BIHDNV ) + present( BIHEXC )
+	   + present( BIHNOC ) + present( BIHDNC ) 
+	   + present( BIHEXP ) + present( BIHNOP ) + present( BIHDNP )
+	   + present( BICNPEXV ) + present( BICREV ) + present( B[DGFIP][2017]AV )
+	   + present( BICDEV ) + present( BICNPEXC ) + present( BICREC ) 
+	   + present( B[DGFIP][2017]AC ) + present( BICDEC ) + present( BICNPEXP ) + present( BICREP )
+	   + present( B[DGFIP][2017]AP ) + present( BICDEP ) + present( BICNPHEXV )
+	   + present( BICHREV ) + present( BICHDEV ) 
+	   + present( BICNPHEXC ) + present( BICHREC ) + present( BICHDEC )
+	   + present( BICNPHEXP ) + present( BICHREP ) 
+	   + present( BICHDEP ) 
+	   + present( LOCPROCGAV ) + present( LOCDEFPROCGAV ) 
+	   + present( LOCPROCGAC ) + present( LOCDEFPROCGAC ) 
+	   + present( LOCPROCGAP ) + present( LOCDEFPROCGAP )
+	   + present( LOCPROV ) + present( LOCDEFPROV ) + present( LOCPROC )
+	   + present( LOCDEFPROC ) + present( LOCPROP ) + present( LOCDEFPROP )
+	   + present( LOCNPCGAV ) + present( LOCGITCV ) + present( LOCDEFNPCGAV ) 
+	   + present( LOCNPCGAC ) + present( LOCGITCC ) + present( LOCDEFNPCGAC ) 
+	   + present( LOCNPCGAPAC ) + present( LOCGITCP ) + present( LOCDEFNPCGAPAC )
+	   + present( LOCNPV ) + present( LOCGITHCV ) + present( LOCDEFNPV ) 
+	   + present( LOCNPC ) + present( LOCGITHCC ) + present( LOCDEFNPC ) 
+	   + present( LOCNPPAC ) + present( LOCGITHCP ) + present( LOCDEFNPPAC )
+           + present( BAPERPV ) + present( BAPERPC ) + present( BAPERPP)
+           + present( BANOCGAV ) + present( BANOCGAC ) + present( BANOCGAP )
+
+	   + present( BNCEXV ) + present( BNCREV ) + present( BN1AV ) + present( BNCDEV ) 
+	   + present( BNCEXC ) + present( BNCREC ) + present( BN1AC ) + present( BNCDEC )
+	   + present( BNCEXP ) + present( BNCREP ) + present( BN1AP ) + present( BNCDEP ) 
+	   + present( BNHEXV ) + present( BNHREV ) + present( BNHDEV ) 
+	   + present( BNHEXC ) + present( BNHREC ) + present( BNHDEC ) 
+	   + present( BNHEXP ) + present( BNHREP ) + present( BNHDEP ) 
+           + present( XHONOAAV ) + present( XHONOV ) 
+	   + present( XHONOAAC ) + present( XHONOC ) 
+	   + present( XHONOAAP ) + present( XHONOP )
+
+	   + present ( BNCAABV ) + present ( ANOCEP ) + present ( INVENTV ) 
+	   + present ( PVINVE ) + present ( BNCAADV ) + present ( DNOCEP ) 
+	   + present ( BNCAABC ) + present ( ANOVEP ) + present ( INVENTC ) 
+	   + present ( PVINCE ) + present ( BNCAADC ) + present ( DNOCEPC )
+	   + present ( BNCAABP ) + present ( ANOPEP ) + present ( INVENTP )
+	   + present ( PVINPE ) + present ( BNCAADP ) + present ( DNOCEPP )
+           + present( BNCNPREXAAV ) + present( BNCNPREXAAC ) + present( BNCNPREXAAP )
+           + present( BNCNPREXV ) + present( BNCNPREXC ) + present( BNCNPREXP )
+	   ;
+
+SOMMEA858 = SOMMEA881 + present(TSHALLOV) + present(TSHALLOC) + present(TSASSUV) + present(TSASSUC)
+                      + present(RFMIC) + present(RFORDI) + present(RFDORD) + present(RFDHIS) ;
+
+SOMMEA861 = SOMMEA881 ;
+
+SOMMEA890 = SOMMEA881  + present( TSHALLOV ) + present( TSHALLOC ) 
+		       + present( CARTSV ) + present( CARTSC )
+		       + present( CARTSNBAV ) + present( CARTSNBAC ) ;
+
+SOMMEA891 = SOMMEA881 ;
+
+SOMMEA892 = SOMMEA881 ;
+
+SOMMEA893 = SOMMEA881 ;
+
+SOMMEA894 = SOMMEA881 ;
+
+SOMMEA896 = SOMMEA881 ;
+
+SOMMEA897 = SOMMEA881 ;
+
+SOMMEA885 =  present( BA1AV ) + present( BA1AC ) + present( BA1AP )
+           + present( B[DGFIP][2017]AV ) + present( B[DGFIP][2017]AC ) + present( B[DGFIP][2017]AP ) 
+	   + present( BN1AV ) + present( BN1AC ) + present( BN1AP ) ;
+
+SOMMEA880 =  present ( BICEXV ) + present ( BICNOV ) + present ( B[DGFIP][2017]AV )
+           + present ( BICDNV ) + present ( BICEXC ) + present ( BICNOC )
+	   + present ( B[DGFIP][2017]AC ) + present ( BICDNC ) 
+	   + present ( BICEXP ) + present ( BICNOP ) + present ( B[DGFIP][2017]AP )
+	   + present ( BICDNP ) + present ( BIHEXV ) + present ( BIHNOV )
+           + present ( BIHDNV ) + present ( BIHEXC )
+	   + present ( BIHNOC ) + present ( BIHDNC ) 
+	   + present ( BIHEXP ) + present ( BIHNOP ) + present ( BIHDNP )
+	   + present ( LOCPROCGAV ) + present ( LOCDEFPROCGAV ) + present ( LOCPROCGAC )
+	   + present ( LOCDEFPROCGAC ) + present ( LOCPROCGAP ) + present ( LOCDEFPROCGAP )
+	   + present ( LOCPROV ) + present ( LOCDEFPROV ) + present ( LOCPROC )
+	   + present ( LOCDEFPROC ) + present ( LOCPROP ) + present ( LOCDEFPROP )
+	   ;
+
+SOMMEA874 =  somme(i=V,C,1,2,3,4:present(TSHALLOi) + present(ALLOi) + present(PRBRi) + present(PALIi) + present(PENINi))
+            + present ( CARTSV ) + present ( CARTSC ) + present ( CARTS[DGFIP][2017] )
+            + present ( CARTS[DGFIP][2017] ) + present ( CARTSP3) + present ( CARTSP4 )
+            + present ( CARTSNBAV ) + present ( CARTSNBAC ) + present ( CARTSNBA[DGFIP][2017] )
+            + present ( CARTSNBA[DGFIP][2017] ) + present ( CARTSNBAP3) + present ( CARTSNBAP4 )
+            + present ( REMPLAV ) + present ( REMPLAC ) + present ( REMPLA[DGFIP][2017] )
+            + present ( REMPLA[DGFIP][2017] ) + present ( REMPLAP3 ) + present ( REMPLAP4 )
+            + present ( REMPLANBV ) + present ( REMPLANBC ) + present ( REMPLANB[DGFIP][2017] )
+            + present ( REMPLANB[DGFIP][2017] ) + present ( REMPLANBP3 ) + present ( REMPLANBP4 )
+            + present ( CARPEV ) + present ( CARPEC ) + present ( CARPE[DGFIP][2017] )
+            + present ( CARPE[DGFIP][2017] ) + present ( CARPEP3 ) + present ( CARPEP4 )
+            + present ( CARPENBAV ) + present ( CARPENBAC ) + present ( CARPENBA[DGFIP][2017] )
+            + present ( CARPENBA[DGFIP][2017] ) + present ( CARPENBAP3 ) + present ( CARPENBAP4 )
+            + present ( PENSALV ) + present ( PENSALC ) + present ( PENSAL[DGFIP][2017] )
+            + present ( PENSAL[DGFIP][2017] ) + present ( PENSALP3 ) + present ( PENSALP4 )
+            + present ( PENSALNBV ) + present ( PENSALNBC ) + present ( PENSALNB[DGFIP][2017] )
+            + present ( PENSALNB[DGFIP][2017] ) + present ( PENSALNBP3 ) + present ( PENSALNBP4 )
+	    + somme(k=V,C,P: somme (i=C,H: present(BIiNOk)  
+		           + somme(j = N: present(BIiDjk))) 
+	                   + somme (i = I: present(B[DGFIP][2017]Ak)) 
+		  )
+            + present(CODRAZ) + present(CODRBZ) + present(CODRCZ) 
+            + present(CODRDZ) + present(CODREZ) + present(CODRFZ)
+	    + present ( RVB1 ) + present ( RVB2 ) + present ( RVB3 ) + present ( RVB4 )
+	    + present ( RENTAX ) + present ( RENTAX5 ) + present ( RENTAX6 ) + present ( RENTAX7 )
+	    + present ( RENTAXNB ) + present ( RENTAXNB5 ) + present ( RENTAXNB6 ) + present ( RENTAXNB7 )
+	    + present( RCMABD ) + present( RCMHAD ) + present( REGPRIV ) + present( RCMIMPAT )
+	    + present( REVACT ) + present( DISQUO ) + present( RESTUC )
+	    + present( REVACTNB ) + present( DISQUONB ) + present ( RESTUCNB )
+            + present( CO[DGFIP][2017]FA ) + present( RCMHAB ) + present( INTERE )
+	    + present ( MIBVENV ) + present ( MIBPRESV ) + present ( MIB1AV ) + present ( MIBDEV ) 
+	    + present ( MIBVENC ) + present ( MIBPRESC ) + present ( MIB1AC ) + present ( MIBDEC ) 
+	    + present ( MIBVENP ) + present ( MIBPRESP ) + present ( MIB1AP ) + present ( MIBDEP ) 
+	    + present( LOCPROCGAV ) + present( LOCDEFPROCGAV ) + present( LOCPROCGAC )
+	    + present( LOCDEFPROCGAC ) + present( LOCPROCGAP ) + present( LOCDEFPROCGAP )
+	    + present( LOCPROV ) + present( LOCDEFPROV ) + present( LOCPROC )
+	    + present( LOCDEFPROC ) + present( LOCPROP ) + present( LOCDEFPROP )
+	    + present( BICREV ) + present( LOCNPCGAV ) + present( LOCGITCV ) + present( B[DGFIP][2017]AV ) + present( BICDEV ) + present( LOCDEFNPCGAV ) 
+	    + present( BICREC ) + present( LOCNPCGAC ) + present( LOCGITCC ) + present( B[DGFIP][2017]AC ) + present( BICDEC ) + present( LOCDEFNPCGAC ) 
+	    + present( BICREP ) + present( LOCNPCGAPAC ) + present( LOCGITCP ) + present( B[DGFIP][2017]AP  ) + present( BICDEP ) + present( LOCDEFNPCGAPAC )
+	    + present( BICHREV ) + present( LOCNPV ) + present( LOCGITHCV ) + present( BICHDEV ) + present( LOCDEFNPV ) 
+	    + present( BICHREC ) + present( LOCNPC ) + present( LOCGITHCC ) + present( BICHDEC ) + present( LOCDEFNPC ) 
+	    + present( BICHREP ) + present( LOCNPPAC ) + present( LOCGITHCP ) + present( BICHDEP ) + present( LOCDEFNPPAC )
+	    + present( MIBMEUV ) + present( MIBGITEV ) + present( LOCGITV ) + present( MIBNPVENV ) 
+	    + present( MIBNPPRESV ) + present( MIBN[DGFIP][2017]AV ) + present( MIBNPDEV ) 
+	    + present( MIBMEUC ) + present( MIBGITEC ) + present( LOCGITC ) + present( MIBNPVENC ) 
+	    + present( MIBNPPRESC ) + present( MIBN[DGFIP][2017]AC ) + present( MIBNPDEC ) 
+	    + present( MIBMEUP ) + present( MIBGITEP ) + present( LOCGITP ) + present( MIBNPVENP ) 
+	    + present( MIBNPPRESP ) + present( MIBN[DGFIP][2017]AP ) + present( MIBNPDEP ) 
+	    + present ( BNCREV ) + present ( BN1AV ) + present ( BNCDEV )
+	    + present ( BNCREC ) + present ( BN1AC ) + present ( BNCDEC )
+	    + present ( BNCREP ) + present ( BN1AP ) + present ( BNCDEP )
+	
diff --git a/sources2014m_2_15/chap-inr.m b/sources2014m_2_15/chap-inr.m
new file mode 100644
index 0000000000000000000000000000000000000000..ec7e7401847207dd2299a51f401457c5a233dd3b
--- /dev/null
+++ b/sources2014m_2_15/chap-inr.m
@@ -0,0 +1,502 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #
+ #     CHAPITRE 2. CALCUL DU NET A PAYER
+ #
+ #
+ #
+regle corrective 10801:
+application : iliad;
+TXINR = max(0,(NBMOIS * TXMOISRETAR[DGFIP][2017]) + max(0,(NBMOIS2 * TXMOISRETAR[DGFIP][2017])));
+
+TXINRRED = max(0,(NBMOIS * TXMOISRETAR[DGFIP][2017]*TXMOISRED*2) + max(0,(NBMOIS2 * TXMOISRETAR[DGFIP][2017] * TXMOISRED * 2)));
+
+regle corrective 1081:
+application : iliad ;
+IND_PASSAGE = positif(FLAG_DEFAUT + FLAG_RETARD) + IND_PASSAGE_A;
+IND_PASSR9901 = 1 + IND_PASSR9901_A;
+IRNIN_PA = IRNIN_INR * null(1 - IND_PASSAGE) + IRNIN_PA_A;
+TXINR_PA = TXINR * null(1 - IND_PASSAGE) + TXINR_PA_A;
+INRIR_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * ( 
+             arr(IRNIN_INR * TXINR / 100) * positif(IRNIN_INR) * null(1 - IND_PASSAGE) 
+             + INRIR_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,IRNIN_PA - IR9YI) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                                );
+INR_IR_TARDIF = ((arr(IRNIN_INR * TXINR/100) * positif(IRNIN_INR) * null(1-IND_PASSAGE)+ INR_IR_TARDIF_A*(1-positif(ACODELAISINR)))
+		  + arr(max(0,IRNIN_PA - ACODELAISINR) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)) * FLAG_RETARD * (1-IND_RJLJ);
+CSG_PA = CSG * null(1 - IND_PASSAGE) + CSG_PA_A;
+INRCSG_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+                arr((CSG-CSGIM-CS9YP) * TXINR / 100) * null(IND_PASSAGE - 1)
+             + INRCSG_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,CSG_PA - CS9YP) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                                );
+INR_CSG_TARDIF = (arr((CSBASE_INR) * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CSG_TARDIF_A) * (1-IND_RJLJ);
+PRS_PA = PRS * null(1 - IND_PASSAGE) + PRS_PA_A;
+INRPRS_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+             arr((PRS-PRSPROV-PS9YP) * TXINR / 100) * null(IND_PASSAGE - 1)
+                                )
+             + INRPRS_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,PRS_PA - PS9YP) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                        ;
+INR_PS_TARDIF = (arr((PSBASE_INR) * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_PS_TARDIF_A) * (1-IND_RJLJ);
+CRDS_PA = RDSN * null(1 - IND_PASSAGE) + CRDS_PA_A;
+INRCRDS_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+             arr((RDBASE_INR) * TXINR / 100) * null(IND_PASSAGE - 1)
+                                )
+             + INRCRDS_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,CRDS_PA - RD9YP) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                        ;
+INR_CRDS_TARDIF = (arr((RDBASE_INR) * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CRDS_TARDIF_A) * (1-IND_RJLJ);
+TAXA_PA = TAXABASE * null(1 - IND_PASSAGE) + TAXA_PA_A;
+INRTAXA_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+               arr(TAXABASE_INR * TXINR / 100) * null(IND_PASSAGE - 1)
+                                )
+             + INRTAXA_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,TAXA_PA - TAXA9YI) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                        ;
+INR_TAXAGA_TARDIF = (arr(TAXABASE_INR * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_TAXA_TARDIF_A) * (1-IND_RJLJ);
+CHR_PA = CHRBASE * null(1 - IND_PASSAGE) + CHR_PA_A;
+INRCHR_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+               arr(CHRBASE_INR * TXINR / 100) * null(IND_PASSAGE - 1)
+                                )
+             + INRCHR_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,CHR_PA - CHR9YI) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                        ;
+INR_CHR_TARDIF = (arr(CHRBASE_INR * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CHR_TARDIF_A) * (1-IND_RJLJ);
+PCAP_PA = PCAPBASE * null(1 - IND_PASSAGE) + PCAP_PA_A;
+INRPCAP_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+               arr(PCAPBASE_INR * TXINR / 100) * null(IND_PASSAGE - 1)
+                                )
+             + INRPCAP_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,PCAP_PA - CAP9YI) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                        ;
+INR_PCAP_TARDIF = (arr(PCAPBASE_INR * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_PCAP_TARDIF_A) * (1-IND_RJLJ);
+RSE1_PA = RSE1BASE * null(1 - IND_PASSAGE) + RSE1_PA_A;
+INRRSE1_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+               arr(RSE1BASE_INR * TXINR / 100) * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE1_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,RSE1_PA - RSE19YP) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                        ;
+INR_RSE1_TARDIF = (arr(RSE1BASE_INR * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE1_TARDIF_A) * (1-IND_RJLJ);
+RSE2_PA = RSE2BASE * null(1 - IND_PASSAGE) + RSE2_PA_A;
+INRRSE2_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+               arr(RSE2BASE_INR * TXINR / 100) * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE2_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,RSE2_PA - RSE29YP) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                        ;
+INR_RSE2_TARDIF = (arr(RSE2BASE_INR * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE2_TARDIF_A) * (1-IND_RJLJ);
+RSE3_PA = RSE3BASE * null(1 - IND_PASSAGE) + RSE3_PA_A;
+INRRSE3_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+               arr(RSE3BASE_INR * TXINR / 100) * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE3_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,RSE3_PA - RSE39YP) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                        ;
+INR_RSE3_TARDIF = (arr(RSE3BASE_INR * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE3_TARDIF_A) * (1-IND_RJLJ);
+RSE4_PA = RSE4BASE * null(1 - IND_PASSAGE) + RSE4_PA_A;
+INRRSE4_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+               arr(RSE4BASE_INR * TXINR / 100) * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE4_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,RSE4_PA - RSE49YP) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                        ;
+INR_RSE4_TARDIF = (arr(RSE4BASE_INR * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE4_TARDIF_A) * (1-IND_RJLJ);
+CDIS_PA = CDISBASE * null(1 - IND_PASSAGE) + CDIS_PA_A;
+INRCDIS_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+               arr(CDISBASE_INR * TXINR / 100) * null(IND_PASSAGE - 1)
+                                )
+             + INRCDIS_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,CDIS_PA - CDIS9YP) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                        ;
+INR_CDIS_TARDIF = (arr(CDISBASE_INR * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CDIS_TARDIF_A) * (1-IND_RJLJ);
+RSE5_PA = RSE5BASE * null(1 - IND_PASSAGE) + RSE5_PA_A;
+INRRSE5_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+               arr(RSE5BASE_INR * TXINR / 100) * null(IND_PASSAGE - 1)
+                                )
+             + INRRSE5_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,RSE5_PA - RSE59YP) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                        ;
+INR_RSE5_TARDIF = (arr(RSE5BASE_INR * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_RSE5_TARDIF_A) * (1-IND_RJLJ);
+LOY_PA = LOYBASE * null(1 - IND_PASSAGE) + LOY_PA_A;
+INRLOY_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+               arr(LOYBASE_INR * TXINR / 100) * null(IND_PASSAGE - 1)
+                                )
+             + INRLOY_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,LOY_PA - LOY9YI) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                        ;
+INR_LOY_TARDIF = (arr(LOYBASE_INR * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_LOY_TARDIF_A) * (1-IND_RJLJ);
+REGV_PA = REGVBASE * null(1 - IND_PASSAGE) + REGV_PA_A;
+INRREGV_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+               arr(REGVBASE_INR * TXINR / 100) * null(IND_PASSAGE - 1)
+                                )
+             + INRREGV_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,REGV_PA - REGV9YP) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                        ;
+CVN_PA = CVNBASE * null(1 - IND_PASSAGE) + CVN_PA_A;
+INRCVN_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+               arr(CVNBASE_INR * TXINR / 100) * null(IND_PASSAGE - 1)
+                                )
+             + INRCVN_RETDEF_A* (1-positif(ACODELAISINR))
+		  + arr(max(0,CVN_PA - CVN9YP) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                        ;
+INR_CVN_TARDIF = (arr(CVNBASE_INR * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_CVN_TARDIF_A) * (1-IND_RJLJ);
+GLO_PA = GLOBASE * null(1 - IND_PASSAGE) + GLO_PA_A;
+INRGLO_RETDEF = (1 - IND_RJLJ) * FLAG_DEFAUT * (
+               arr(GLOBASE_INR * TXINR / 100) * null(IND_PASSAGE - 1)
+                                )
+             + INRGLO_RETDEF_A * (1-positif(ACODELAISINR))
+		  + arr(max(0,GLO_PA - GLO9YP) * TXINR_PA/100) * positif(IND_PASSAGE -1)* positif(ACODELAISINR)
+                        ;
+INR_GLO_TARDIF = (arr(GLOBASE_INR * TXINR/100) * FLAG_RETARD * null(1-IND_PASSAGE)+INR_GLO_TARDIF_A) * (1-IND_RJLJ);
+regle corrective 10811:
+application :  iliad ;
+IRNIN_TLDEC_1=IRNIN_INR;
+CSG_TLDEC_1=CSG;
+PRS_TLDEC_1=PRS;
+RDS_TLDEC_1=RDSN;
+TAXA_TLDEC_1=TAXASSUR;
+CHR_TLDEC_1=IHAUTREVT;
+PCAP_TLDEC_1=IPCAPTAXT;
+RSE1_TLDEC_1=RSE1;
+RSE2_TLDEC_1=RSE2;
+RSE3_TLDEC_1=RSE3;
+RSE4_TLDEC_1=RSE4;
+CDIS_TLDEC_1=CDIS;
+RSE5_TLDEC_1=RSE5;
+LOY_TLDEC_1=TAXLOY;
+CVN_TLDEC_1=CVNSALC;
+GLO_TLDEC_1=CGLOA;
+REGV_TLDEC_1=BREGV;
+regle corrective 108112:
+application : iliad ;
+INRIR_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			 null(2-FLAG_INR) * positif(IRNIN_INR - IRNIN_R99R)
+                       * (
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0) )
+            * arr((IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * positif(IRNIN_INR-max(IRNIN_RECT * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * arr((IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+                   +  null(3-FLAG_INR) * positif(IRNIN_INR - IRNIN_REF)
+                       * (
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0) )
+            * arr((min(IRNIN_INR,IRNIN_TLDEC_1) - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(IRNIN_INR - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * positif(IRNIN_INR-max(IRNIN_RECT * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0))
+            * arr((min(IRNIN_INR,IRNIN_TLDEC_1) - max(IRNIN_REF * (1-present(IRNIN_NTLDEC_198)),IRNIN_NTLDEC_198+0)) * (TXINR / 100))
+            * positif(FLAG_DEFAUT+FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                             )
+            + INRIR_RETDEF * null(IND_PASSAGE - 1)
+                                                )
+                                               ;
+INRCSG_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			 null(2 - FLAG_INR) * positif(CSG-CSG_R99R) 
+			* (
+            (positif(CSG * positif(CSG+PRS+RDSN-SEUIL_61) - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))))
+            * arr((CSG - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198)))-CSGIM-CS9YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_61)  - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))))
+            * arr((CSG - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198)))-CSGIM-CS9YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                              )
+                      + null(3 - FLAG_INR) * positif(CSG-CSG_REF) 
+			* (
+            (positif(CSG * positif(CSG+PRS+RDSN-SEUIL_61) - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))))
+            * arr((min(CSG,CSG_TLDEC_1) - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198)))-CSGIM-CS9YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CSG* positif(CSG+PRS+RDSN-SEUIL_61)  - max(CSG_NTLDEC_198,CSG_REF* (1-present(CSG_NTLDEC_198))+0))
+            * arr((min(CSG,CSG_TLDEC_1) - max(CSG_NTLDEC_198,CSG_REF)* (1-present(CSG_NTLDEC_198))-CSGIM-CS9YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+			    )
+            + INRCSG_RETDEF * null(IND_PASSAGE - 1)
+                              )
+             ;
+INRPRS_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+			   null(2 - FLAG_INR) * positif(PRS-PRS_R99R) 
+			   * (
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_61)  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0)) 
+            * arr((PRS  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV-PS9YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PRS * positif(CSG+PRS+RDSN-SEUIL_61) - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0))
+            * arr((PRS - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV-PS9YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                        )
+                        + null(3 - FLAG_INR) * positif(PRS-PRS_REF) 
+			   * (
+            (positif(PRS* positif(CSG+PRS+RDSN-SEUIL_61)  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0)) 
+            * arr((min(PRS,PRS_TLDEC_1)  - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV-PS9YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PRS * positif(CSG+PRS+RDSN-SEUIL_61) - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198))+0))
+            * arr((min(PRS,PRS_TLDEC_1) - max(PRS_NTLDEC_198,PRS_REF* (1-present(PRS_NTLDEC_198)))-PRSPROV-PS9YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                        )
+            + INRPRS_RETDEF * null(IND_PASSAGE - 1)
+                            )
+             ;
+INRCRDS_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RDSN - RDS_R99R) 
+		      * (
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_61) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((RDSN - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM-RD9YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_61) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((RDSN -max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM-RD9YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                         )
+                    +  null(3 - FLAG_INR) * positif(RDSN - RDS_REF) 
+		      * (
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_61) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((min(RDSN,RDS_TLDEC_1) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM-RD9YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RDSN * positif(CSG+PRS+RDSN-SEUIL_61) - max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198))+0))
+            * arr((min(RDSN,RDS_TLDEC_1) -max(CRDS_NTLDEC_198,RDS_REF* (1-present(CRDS_NTLDEC_198)))-CRDSIM-RD9YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                         )
+            + INRCRDS_RETDEF * null(IND_PASSAGE - 1)
+                            )
+             ;
+INRTAXA_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		     null(2 - FLAG_INR) * positif(TAXABASE - TAXA_R99R) 
+		     * (
+             (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))-TAXA9YI) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))-TAXA9YI) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		     + null(3 - FLAG_INR) * positif(TAXABASE - TAXA_REF) 
+		     * (
+             (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((min(TAXABASE,TAXA_TLDEC_1) - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))-TAXA9YI) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(TAXABASE - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198))+0))
+            * arr((min(TAXABASE,TAXA_TLDEC_1) - max(TAXA_NTLDEC_198,TAXA_REF* (1-present(TAXA_NTLDEC_198)))-TAXA9YI) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRTAXA_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRCDIS_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(CDISBASE - CDIS_R99R) 
+		       * (
+             (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198))+0))
+            * arr((CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV-CDIS9YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198))+0)) 
+            * arr((CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV-CDIS9YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(CDISBASE - CDIS_REF) 
+		       * (
+             (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF+0))
+            * arr((min(CDISBASE,CDIS_TLDEC_1) - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV-CDIS9YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CDISBASE - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198))+0))
+            * arr((min(CDISBASE,CDIS_TLDEC_1) - max(CDIS_NTLDEC_198,CDIS_REF* (1-present(CDIS_NTLDEC_198)))-CDISPROV-CDIS9YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRCDIS_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRCHR_NTLPROV = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(CHRBASE - CHR_R99R) 
+		       * (
+             (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198))+0))
+            * arr((CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))-CHR9YI) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198))+0)) 
+            * arr((CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))-CHR9YI) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(CHRBASE - CHR_REF) 
+		       * (
+             (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF+0))
+            * arr((min(CHRBASE,CHR_TLDEC_1) - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))-CHR9YI) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(CHRBASE - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198))+0))
+            * arr((min(CHRBASE,CHR_TLDEC_1) - max(CHR_NTLDEC_198,CHR_REF* (1-present(CHR_NTLDEC_198)))-CHR9YI) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRCHR_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRCHR_NTL15 = (INRCHR_NTLPROV - INRCHR_NTL10) * null(2 - FLAG_INR); 
+INRCHR_NTL = INRCHR_NTL10;
+INRPCAP_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(PCAPBASE - PCAP_R99R) 
+		       * (
+             (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198))+0))
+            * arr((PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))-CAP9YI) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198))+0)) 
+            * arr((PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))-CAP9YI) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(PCAPBASE - PCAP_REF) 
+		       * (
+             (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF+0))
+            * arr((min(PCAPBASE,PCAP_TLDEC_1) - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))-CAP9YI) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(PCAPBASE - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198))+0))
+            * arr((min(PCAPBASE,PCAP_TLDEC_1) - max(PCAP_NTLDEC_198,PCAP_REF* (1-present(PCAP_NTLDEC_198)))-CAP9YI) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRPCAP_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE1_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE1BASE - RSE1_R99R) 
+		       * (
+             (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198))+0))
+            * arr((RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))-CSPROVYD-RSE19YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198))+0)) 
+            * arr((RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))-CSPROVYD-RSE19YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE1BASE - RSE1_REF) 
+		       * (
+             (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF+0))
+            * arr((min(RSE1BASE,RSE1_TLDEC_1) - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))-CSPROVYD-RSE19YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE1BASE - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198))+0))
+            * arr((min(RSE1BASE,RSE1_TLDEC_1) - max(RSE1_NTLDEC_198,RSE1_REF* (1-present(RSE1_NTLDEC_198)))-CSPROVYD-RSE19YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE1_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE2_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE2BASE - RSE2_R99R) 
+		       * (
+             (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198))+0))
+            * arr((RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))-CSPROVYF-CSPROVYN-RSE29YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198))+0)) 
+            * arr((RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))-CSPROVYF-CSPROVYN-RSE29YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE2BASE - RSE2_REF) 
+		       * (
+             (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF+0))
+            * arr((min(RSE2BASE,RSE2_TLDEC_1) - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))-CSPROVYF-CSPROVYN-RSE29YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE2BASE - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198))+0))
+            * arr((min(RSE2BASE,RSE2_TLDEC_1) - max(RSE2_NTLDEC_198,RSE2_REF* (1-present(RSE2_NTLDEC_198)))-CSPROVYF-CSPROVYN-RSE29YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE2_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE3_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE3BASE - RSE3_R99R) 
+		       * (
+             (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198))+0))
+            * arr((RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))-CSPROVYG-RSE39YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198))+0)) 
+            * arr((RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))-CSPROVYG-RSE39YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE3BASE - RSE3_REF) 
+		       * (
+             (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF+0))
+            * arr((min(RSE3BASE,RSE3_TLDEC_1) - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))-CSPROVYG-RSE39YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE3BASE - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198))+0))
+            * arr((min(RSE3BASE,RSE3_TLDEC_1) - max(RSE3_NTLDEC_198,RSE3_REF* (1-present(RSE3_NTLDEC_198)))-CSPROVYG-RSE39YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE3_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE4_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE4BASE - RSE4_R99R) 
+		       * (
+             (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198))+0))
+            * arr((RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))-CSPROVYH-CSPROVYP-RSE49YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198))+0)) 
+            * arr((RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))-CSPROVYH-CSPROVYP-RSE49YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE4BASE - RSE4_REF) 
+		       * (
+             (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF+0))
+            * arr((min(RSE4BASE,RSE4_TLDEC_1) - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))-CSPROVYH-CSPROVYP-RSE49YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE4BASE - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198))+0))
+            * arr((min(RSE4BASE,RSE4_TLDEC_1) - max(RSE4_NTLDEC_198,RSE4_REF* (1-present(RSE4_NTLDEC_198)))-CSPROVYH-CSPROVYP-RSE49YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+            + INRRSE4_RETDEF * null(IND_PASSAGE - 1)
+                            )
+	     ; 
+INRRSE5_NTL = (1 - IND_RJLJ) * (1-FLAG_NINR) * (
+		       null(2 - FLAG_INR) * positif(RSE5BASE - RSE5_R99R) 
+		       * (
+             (positif(RSE5BASE - max(RSE5_NTLDEC_198,RSE5_REF* (1-present(RSE5_NTLDEC_198))+0))
+            * arr((RSE5BASE - max(RSE5_NTLDEC_198,RSE5_REF* (1-present(RSE5_NTLDEC_198)))-CSPROVYE-RSE59YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE5BASE - max(RSE5_NTLDEC_198,RSE5_REF* (1-present(RSE5_NTLDEC_198))+0)) 
+            * arr((RSE5BASE - max(RSE5_NTLDEC_198,RSE5_REF* (1-present(RSE5_NTLDEC_198)))-CSPROVYE-RSE59YP) * (TXINR / 100))
+            * positif(FLAG_DEFAUT + FLAG_RETARD) * positif(IND_PASSAGE - 1))
+                                                             )
+		       + null(3 - FLAG_INR) * positif(RSE5BASE - RSE5_REF) 
+		       * (
+             (positif(RSE5BASE - max(RSE5_NTLDEC_198,RSE5_REF+0))
+            * arr((min(RSE5BASE,RSE5_TLDEC_1) - max(RSE5_NTLDEC_198,RSE5_REF* (1-present(RSE5_NTLDEC_198)))-CSPROVYE-RSE59YP) * (TXINR / 100))
+            * null(FLAG_DEFAUT + FLAG_RETARD))
+            +
+            (positif(RSE5BASE - max(RSE5_NTLDEC_198,RSE5_REF* (1-present(RSE5_NTLDEC_198))+0))
+            * arr((min(RSE5BASE,RSE5_TLDEC_1) - max(RSE5_NTLDEC_198,RSE5_REF* (1-present(RSE5_NTLDE
diff --git a/sources2014m_2_15/chap-isf.m b/sources2014m_2_15/chap-isf.m
new file mode 100644
index 0000000000000000000000000000000000000000..e8bd990d3c4364b58f37fefad186eb7ed2afc546
--- /dev/null
+++ b/sources2014m_2_15/chap-isf.m
@@ -0,0 +1,262 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle isf 77001:
+application : iliad , batch  ;
+DISFBASE =  ISFBASE;  
+		     
+regle isf 77010:
+application : iliad , batch ;
+TR2_ISF = arr( max(0, min( DISFBASE , LIM_TR2_ISF ) - (LIM_TR1_ISF)) * (TX_TR2_ISF/10000)) ;
+TR3_ISF = arr( max(0, min( DISFBASE , LIM_TR3_ISF ) - (LIM_TR2_ISF)) * (TX_TR3_ISF/10000)) ;
+TR4_ISF = arr( max(0, min( DISFBASE , LIM_TR4_ISF  ) - (LIM_TR3_ISF)) * (TX_TR4_ISF/100)) ;
+TR5_ISF = arr( max(0, min( DISFBASE , LIM_TR5_ISF  ) - (LIM_TR4_ISF)) * (TX_TR5_ISF/10000)) ;
+TR6_ISF = arr( max(0, DISFBASE - LIM_TR5_ISF) * (TX_TR6_ISF/1000)) ;
+
+IS[DGFIP][2017] = TR2_ISF + TR3_ISF + TR4_ISF + TR5_ISF + TR6_ISF;
+
+regle isf 77015:
+application :  iliad , batch ;
+ISFDEC = arr((17500 - ( (TX_TR5_ISF/10000) * ISFBASE)) 
+		  * positif(ISFBASE-LIM_ISFINF)*positif(LIM_ISFDEC - ISFBASE))
+	 * positif(IS[DGFIP][2017]); 
+
+DISFDEC = ISFDEC;
+
+regle isf 77020:
+application :  iliad , batch ;
+ISFBRUT = arr((IS[DGFIP][2017] - ISFDEC) * positif( LIM_ISFDEC - 1 - ISFBASE )
+	     + IS[DGFIP][2017] * (1-positif(LIM_ISFDEC - 1 - ISFBASE))) ;
+
+regle isf 77030:
+application : iliad , batch  ;
+DISFPMED = ISFPMEDI ;
+DISFPMEI = ISFPMEIN ;
+AISFPMED = arr(ISFPMEDI * (TX50/100)) ;
+AISFPMEI = arr(ISFPMEIN * (TX50/100)) ;
+RISFPMED_1 = min(45000, AISFPMED);
+RISFPMEI_1 = max(0, min(45000 - RISFPMED_1, AISFPMEI));
+
+
+DISFFIP = ISFFIP ;
+DISFFCPI = ISFFCPI ;
+AISFFIP = arr(ISFFIP * (TX50/100)) ;
+AISFFCPI = arr(ISFFCPI * (TX50/100)) ;
+RISFFIP_1 = min(18000, AISFFIP);
+RISFFCPI_1 = max(0, min(18000 -  RISFFIP_1, AISFFCPI));
+
+regle isf 77040:
+application : iliad , batch  ;
+PLAF_ISFRED = 50000 * (1-positif(ISFPMEDI+ISFPMEIN+ISFFIP+ISFFCPI))
+	      + 45000 * positif(ISFPMEDI+ISFPMEIN+ISFFIP+ISFFCPI) ;
+
+DISFDONF = ISFDONF ;
+DISFDONCEE = ISFDONEURO ;
+
+AISFDONF =arr(ISFDONF * (TX75/100)) ;
+AISFDONCEE = arr(ISFDONEURO * (TX75/100)) ;
+
+RISFDONF_1 = min( PLAF_ISFRED , AISFDONF);
+RISFDONCEE_1 = max(0, min( PLAF_ISFRED - RISFDONF_1, AISFDONCEE)); 
+
+regle isf 77050:
+application : iliad , batch  ;
+RISFDONF_2 = min(PLAF_ISFRED, RISFDONF_1);
+RISFDONCEE_2 = max(0, min(PLAF_ISFRED - RISFDONF_1, RISFDONCEE_1));
+RISFPMED_2 = max(0, min(PLAF_ISFRED - RISFDONF_1 - RISFDONCEE_1, RISFPMED_1));
+RISFPMEI_2 = max(0, min(PLAF_ISFRED - RISFDONF_1 - RISFDONCEE_1 - RISFPMED_1, RISFPMEI_1));
+RISFFIP_2 = max(0, min(PLAF_ISFRED - RISFDONF_1 - RISFDONCEE_1 - RISFPMED_1 - RISFPMEI_1, 
+		     RISFFIP_1));
+RISFFCPI_2 = max(0, min(PLAF_ISFRED - RISFDONF_1 - RISFDONCEE_1 - RISFPMED_1 - RISFPMEI_1 
+		       - RISFFIP_1, RISFFCPI_1 ));
+
+
+
+
+
+RISFDONF = max( min( RISFDONF_2, ISFBRUT) , 0) 
+             * positif(( 1 - null( CODE_2042 - 8 )) * ( 1 - null( CMAJ_ISF - 8)) * ( 1 - null( CMAJ_ISF -34)))
+         + max( min( RISFDONF_2, ISFBRUT) , 0) 
+             * (1 - positif(( 1-null( CODE_2042 - 8 )) * ( 1-null( CMAJ_ISF - 8)) * ( 1-null( CMAJ_ISF -34)))) * COD9ZA ;
+           
+
+RISFDONCEE = max( min( RISFDONCEE_2, ISFBRUT - RISFDONF), 0)
+             * positif(( 1 - null( CODE_2042 - 8 )) * ( 1 - null( CMAJ_ISF - 8)) * ( 1 - null( CMAJ_ISF -34)))
+           + max( min( RISFDONCEE_2, ISFBRUT - RISFDONF), 0)
+             * (1 - positif(( 1-null( CODE_2042 - 8 )) * ( 1-null( CMAJ_ISF - 8)) * ( 1-null( CMAJ_ISF -34)))) * COD9ZA ;
+
+
+
+RISFPMED = max( min( RISFPMED_2, ISFBRUT - RISFDONF - RISFDONCEE), 0)
+             * positif(( 1 - null( CODE_2042 - 8 )) * ( 1 - null( CMAJ_ISF - 8)) * ( 1 - null( CMAJ_ISF -34)))
+         + max( min( RISFPMED_2, ISFBRUT - RISFDONF - RISFDONCEE), 0) 
+             * (1 - positif(( 1-null( CODE_2042 - 8 )) * ( 1-null( CMAJ_ISF - 8)) * ( 1-null( CMAJ_ISF -34)))) * COD9ZA ;
+            
+
+
+
+RISFPMEI = max( min( RISFPMEI_2, ISFBRUT - RISFDONF - RISFDONCEE - RISFPMED), 0)
+             * positif(( 1 - null( CODE_2042 - 8 )) * ( 1 - null( CMAJ_ISF - 8)) * ( 1 - null( CMAJ_ISF -34)))
+         + max( min( RISFPMEI_2, ISFBRUT - RISFDONF - RISFDONCEE - RISFPMED), 0) 
+             * (1 - positif(( 1-null( CODE_2042 - 8 )) * ( 1-null( CMAJ_ISF - 8)) * ( 1-null( CMAJ_ISF -34)))) * COD9ZA ;
+
+
+
+RISFFIP = max( min( RISFFIP_2, ISFBRUT - RISFDONF - RISFDONCEE - RISFPMED - RISFPMEI), 0)
+             * positif(( 1 - null( CODE_2042 - 8 )) * ( 1 - null( CMAJ_ISF - 8)) * ( 1 - null( CMAJ_ISF -34)))
+         + max( min( RISFFIP_2, ISFBRUT - RISFDONF - RISFDONCEE - RISFPMED - RISFPMEI), 0) 
+             * (1 - positif(( 1-null( CODE_2042 - 8 )) * ( 1-null( CMAJ_ISF - 8)) * ( 1-null( CMAJ_ISF -34)))) * COD9ZA ;
+
+
+
+RISFFCPI = max( min( RISFFCPI_2, ISFBRUT - RISFDONF - RISFDONCEE 
+		                         - RISFPMED - RISFPMEI - RISFFIP ), 0)
+             * positif(( 1 - null( CODE_2042 - 8 )) * ( 1 - null( CMAJ_ISF - 8)) * ( 1 - null( CMAJ_ISF -34)))
+         + max( min( RISFFCPI_2, ISFBRUT - RISFDONF - RISFDONCEE
+		                         - RISFPMED - RISFPMEI - RISFFIP ), 0)
+             * (1 - positif(( 1-null( CODE_2042 - 8 )) * ( 1-null( CMAJ_ISF - 8)) * ( 1-null( CMAJ_ISF -34)))) * COD9ZA ;
+
+
+
+regle isf 77066:
+application : iliad , batch  ;
+REDISF = RISFDONF + RISFDONCEE + RISFPMED
+         + RISFPMEI + RISFFIP + RISFFCPI ;
+
+TXTOISF = RETXISF + COPETOISF ;
+
+regle isf 77065:
+application : iliad , batch  ;
+ISFTRED =  RISFDONF + RISFDONCEE + RISFPMED
+         + RISFPMEI + RISFFIP + RISFFCPI + RISFE ;
+
+regle isf 77070:
+application : iliad , batch  ;
+ISFNETRED = max(0, ISFBRUT - RISFDONF - RISFDONCEE - RISFPMED - RISFPMEI - RISFFIP - RISFFCPI) ;   
+
+regle isf 77075:
+application : iliad , batch  ;
+DISFPLAF = ISFPLAF ; 
+
+RISFPLAF = max(0,  ISFNETRED * positif(ISFPLAF - ISFNETRED)
+		 + ISFPLAF * (1-positif(ISFPLAF - ISFNETRED)));
+
+regle isf 77076:
+application : iliad , batch  ;
+ISFPOSTPLAF = max(0, ISFNETRED - RISFPLAF); 
+
+regle isf 77080:
+application : iliad , batch  ;
+DISFE = ISFETRANG ;
+
+RISFE = positif(DISFBASE)*positif(ISFETRANG)*( min(ISFPOSTPLAF , ISFETRANG));
+
+regle isf 77090:
+application : iliad , batch  ;
+
+IS[DGFIP][2017] = max(0, ISFPOSTPLAF - RISFE) ;
+
+regle isf 77200:
+application : iliad , batch  ;
+
+COPETOISF = si (CMAJ_ISF = 7 ou CMAJ_ISF = 17 ou CMAJ_ISF = 18)
+            alors (10)
+	    sinon
+		 ( si (CMAJ_ISF = 8 ou CMAJ_ISF = 34)
+		       alors (40)
+		       finsi )
+            finsi;
+
+NMAJIS[DGFIP][2017] = max (0, MAJO1728ISF + arr(IS[DGFIP][2017] * COPETOISF/100) * positif_ou_nul(IS[DGFIP][2017] - SEUIL_12)
+                + FLAG_TRTARDIF * MAJOISFTARDIF_D 
+               + FLAG_TRTARDIF_F * MAJOISFTARDIF_D
+	       - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOISFTARDIF_R
+				    + (1 - positif(FLAG_RECTIF)) * MAJOISFTARDIF_A)
+	       );
+
+
+
+TXP[DGFIP][2017]728ISF =si (V_CODP[DGFIP][2017]728ISF=07 ou V_CODP[DGFIP][2017]728ISF=17 ou V_CODP[DGFIP][2017]728ISF=18)
+	     alors (10)
+	     sinon
+	          (si (V_CODP[DGFIP][2017]728ISF=08 ou V_CODP[DGFIP][2017]728ISF=34)
+	           alors (40)
+		   finsi)
+	     finsi ;
+
+
+MAJTXIS[DGFIP][2017] = (1 - positif(V_NBCO[DGFIP][2017]728ISF))
+             * ((1 - positif(CMAJ_ISF)) * positif(NMAJIS[DGFIP][2017]) * TXP[DGFIP][2017]728ISF + positif(CMAJ_ISF) * COPETOISF)
+             + positif(V_NBCO[DGFIP][2017]728ISF) * (-1) ;
+regle isf 77210:
+application : iliad , batch  ;
+INTMSISF = inf( MOISAN_ISF / 10000 );
+INTANISF = (( MOISAN_ISF/10000 - INTMSISF )*10000)  * present(MOISAN_ISF) ;
+TXINTISF =  (max(0, (INTANISF - (V_ANREV+1) )* 12 + INTMSISF - 6 ) * TXMOISRETAR[DGFIP][2017])
+	    * present(MOISAN_ISF);
+PTOISF = arr(IS[DGFIP][2017] * COPETOISF / 100) + arr(IS[DGFIP][2017] * TXINTISF / 100) ;
+RETISF = (RETIS[DGFIP][2017] + arr(IS[DGFIP][2017] * TXINTISF/100))* positif_ou_nul(ISF4BIS - SEUIL_12) ;
+RETXISF = positif(CMAJ_ISF) * TXINTISF
+               + (TXINRISF * (1-positif(TXINRISF_A)) + (-1) * positif(TXINRISF_A) * positif(TXINRISF) 
+		   * positif(positif(TXINRISF - TXINRISF_A)+positif(TXINRISF_A-TXINRISF)))
+               + (TXINRISF * positif(TXINRISF_A) * null(TXINRISF - TXINRISF_A))
+               ;
+
+
+NATMAJISF = positif(positif(RETISF) * positif(NMAJIS[DGFIP][2017])+positif(NMAJIS[DGFIP][2017]))
+	    + 2 * positif(RETISF) * (1-positif(NMAJIS[DGFIP][2017]));
+
+regle isf 77215:
+application : iliad , batch  ;
+
+
+
+PISF = ( INCISF_NET 
+	 + NMAJIS[DGFIP][2017] 
+         + arr(IS[DGFIP][2017] * TXINTISF / 100) * (1-positif(FLAG_PRIM+FLAG_RETARD+FLAG_DEFAUT))) ;
+
+regle isf 77219 :
+application : iliad , batch ;
+
+NAPISFTOT = IS[DGFIP][2017] + PISF ;
+
+regle isf 77220:
+application : iliad , batch ;
+
+ISFNET = NAPISFTOT ; 
+
+regle isf 77221:
+application : iliad , batch ;
+
+ISFNAP = ISFCUM - V_ANTISF ;
+
+regle isf 77230:
+application : iliad, batch ;
+
+ILI_SYNT_ISF = (1 - positif_ou_nul(ISF4BIS - SEUIL_12)) * null(V_ANTISF+0) * ISF4BIS
+               + positif_ou_nul(ISF4BIS - SEUIL_12) * ISF4BIS ;
+               
+
+regle isf 77270:
+application : iliad, batch ;
+
+
+ISF4BIS= max( 0, IS[DGFIP][2017] ) ; 
+
diff --git a/sources2014m_2_15/chap-majo.m b/sources2014m_2_15/chap-majo.m
new file mode 100644
index 0000000000000000000000000000000000000000..e2d7c5a73cd1ee109bea7a1967928a824d6dbfcd
--- /dev/null
+++ b/sources2014m_2_15/chap-majo.m
@@ -0,0 +1,764 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle isf 232:
+application : iliad ;
+SUPISF[X] = positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X)
+            * max(ISF4BASE,0)
+            + (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+	     * max(0,ISF4BASE - (TISF4BASE[FLAG_DERSTTR]));
+
+regle 23111:
+application : iliad ;
+IRBASE = IRN - IRANT ;
+
+TAXABASE_MAJO = TAXASSUR * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+CAPBASE_MAJO = IPCAPTAXT * positif(IAM[DGFIP][2017] + 1 - SEUIL_61);
+LOYBASE_MAJO = TAXLOY * positif(IAM[DGFIP][2017]  + 1 - SEUIL_61);
+HRBASE_MAJO = IHAUTREVT * positif(IAM[DGFIP][2017]  + 1 - SEUIL_61);
+
+CSBASE_MAJO = (CSG - CSGIM) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RDBASE_MAJO = (RDSN - CRDSIM) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+PSBASE_MAJO = (PRS - PRSPROV) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+CVNBASE_MAJO = (CVNSALC - COD8YT) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+REGVBASE_MAJO = BREGV * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+CDISBASE_MAJO = (CDIS - CDISPROV) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+GLOBASE_MAJO = (CGLOA - COD8YL) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RSE1BASE_MAJO = (RSE1N - CSPROVYD) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RSE2BASE_MAJO = (max(0, RSE8TV - CIRSE8TV - CSPROVYF) + max(0, RSE8SA - CIRSE8SA - CSPROVYN)
+                ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RSE3BASE_MAJO = (RSE3N - CSPROVYG) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RSE4BASE_MAJO = (max(0, RSE8TX - CIRSE8TX - CSPROVYH) + max(0, RSE8SB -CIRSE8SB - CSPROVYP)
+                ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RSE5BASE_MAJO = (RSE5N - CSPROVYE) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+regle corrective 23112:
+application :   iliad ;
+TOT_BASE_MAJO = IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + HRBASE_MAJO + LOYBASE_MAJO ;
+
+TOT_REF = TIRBASE[FLAG_DERSTTR] +TTAXABASE[FLAG_DERSTTR] + TLOYBASE[FLAG_DERSTTR]
+	 +TPCAPBASE[FLAG_DERSTTR]+TCHRBASE[FLAG_DERSTTR];
+
+
+TAXA_ISO = TAXASSUR * positif(IAM[DGFIP][2017] + 1 - SEUIL_61) ; 
+CAP_ISO  = IPCAPTAXT * positif(IAM[DGFIP][2017] + 1 - SEUIL_61) ; 
+HR_ISO   = IHAUTREVT  * positif(IAM[DGFIP][2017] + 1 - SEUIL_61) ; 
+
+PENA_RESTIT = max(0, IRBASE - TIRBASE[FLAG_DERSTTR]);
+
+NOPENA_RESTIT = max(0 , min( IRBASE - TIRBASE[FLAG_DERSTTR] ,
+			     max( 0, IRBASE + TTAXABASE[FLAG_DERSTTR]+TPCAPBASE[FLAG_DERSTTR]
+					    + TLOYBASE[FLAG_DERSTTR]  +TCHRBASE[FLAG_DERSTTR])
+                           )
+	   );
+
+SUPIR[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                   * min( max(0, max(TIRBASE[FLAG_DERSTTR] , IRBASE)) ,
+                          max(0, IRBASE2042_FIC )
+                        )
+
+
+	      + ( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		  * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+		  * PENA_RESTIT
+
+
+              + ( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+                  * (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+                  * (1 - positif(null(X-1)))
+	          * ((1 - positif(TARDIFEVT2)*null(X-2))
+                      * NOPENA_RESTIT 
+                      + positif(TARDIFEVT2) * null(X-2) * TIRBASE[FLAG_DERSTTR]
+	            )
+
+           + (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13)))) 
+              *  null(X-1)*positif( null(CSTRATE1 - 1) + null(CSTRATE1 - 7) + null(CSTRATE1 - 8)
+			           +null(CSTRATE1 - 10)+ null(CSTRATE1 - 11)+ null(CSTRATE1 - 17)
+                                   +null(CSTRATE1 - 18)) 
+			               * NOPENA_RESTIT
+
+           + null(X-1)*positif( null(CSTRATE1 - 3)
+	                       +null(CSTRATE1 - 4)
+			       +null(CSTRATE1 - 5)
+			       +null(CSTRATE1 - 6)
+		               +null(CSTRATE1 - 55)) 
+                              		* PENA_RESTIT ; 
+
+
+SU[DGFIP][2017]IR[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                    * max(IRBASE,0)
+	      + ((positif(null(X-14)+null(X-15)+null(X-18)+null(X-20)+null(X-22))
+                    * PENA_RESTIT 
+	          )
+	          + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20)))* 0)
+                 * (1 - positif(null(X-1))) 
+           + null(X-1)*positif( null(CSTRATE1 - 1)
+                               +null(CSTRATE1 - 17)
+	                       +null(CSTRATE1 - 2)
+			       +null(CSTRATE1 - 10)
+		               +null(CSTRATE1 - 30)) 
+	             * PENA_RESTIT;
+
+SUPCS[X] =  positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X)
+             * min( max(0, max (TCSBASE[0] ,CSBASE_MAJO)) ,
+                           max(0, CSBASE2042_FIC )
+                  )
+          +  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+             * max(0, CSBASE_MAJO - TCSBASE[FLAG_DERSTTR]) ;
+
+
+SUPPS[X] =  positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X)
+             * min( max(0, max (TPSBASE[0] , PSBASE_MAJO)) ,
+                           max(0, PSBASE2042_FIC )
+                  )
+          +  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+             * max(0, PSBASE_MAJO - TPSBASE[FLAG_DERSTTR]) ;
+
+
+SUPRD[X] =  positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X)
+             * min( max(0, max (TRDBASE[0] ,RDBASE_MAJO)) ,
+                           max(0, RDBASE2042_FIC )
+                  )
+          +  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+             * max(0, RDBASE_MAJO - TRDBASE[FLAG_DERSTTR]) ;
+
+
+SUPGLO[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+           * max(0, GLOBASE_MAJO - TGLOBASE[FLAG_DERSTTR]) ;
+
+SUPCDIS[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+           * max(0, CDISBASE_MAJO - TCDISBASE[FLAG_DERSTTR]) ;
+
+SUPCVN[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+           * max(0, CVNBASE_MAJO - TCVNBASE[FLAG_DERSTTR]) ;
+
+SUPREGV[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+           * max(0, REGVBASE_MAJO - TREGVBASE[FLAG_DERSTTR]) ;
+
+SUPRSE1[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+           * max(0, RSE1BASE_MAJO - TRSE1BASE[FLAG_DERSTTR]) ;
+
+
+SUPRSE2[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+           * max(0, RSE2BASE_MAJO - TRSE2BASE[FLAG_DERSTTR]) ;
+
+
+SUPRSE3[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+           * max(0, RSE3BASE_MAJO - TRSE3BASE[FLAG_DERSTTR]) ;
+
+
+SUPRSE4[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+           * max(0, RSE4BASE_MAJO - TRSE4BASE[FLAG_DERSTTR]) ;
+
+SUPRSE5[X] =  (1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+           * max(0, RSE5BASE_MAJO - TRSE5BASE[FLAG_DERSTTR]) ;
+
+SUPTAXA[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                      * max( TAXABASE_MAJO , 0 ) 
+
+
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+		 * max( 0, TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR])
+
+
+              + ( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		* (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+                * max( 0, min( TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR],
+				     max( 0, IRBASE + TAXABASE_MAJO + TPCAPBASE[FLAG_DERSTTR] + TLOYBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR] )
+                             )
+                     );
+
+
+
+SU[DGFIP][2017]TAXA[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                      * max( 0, min( TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR],
+				     max( 0, IRBASE + TAXABASE_MAJO + TPCAPBASE[FLAG_DERSTTR] + TLOYBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR] )
+                                   )
+                           )
+
+
+	      + positif(20 - V_NOTRAIT) * positif(null(X-14))
+                      * max( 0, min( TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR],
+				     max( 0, IRBASE + TAXABASE_MAJO + TPCAPBASE[FLAG_DERSTTR] + TLOYBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR] )
+                                   )
+                           )
+
+	      + (1-positif(20 - V_NOTRAIT)) * positif(null(X-14))
+		* max( 0, TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR])
+	        
+	      + positif(null(X-15)+null(X-18)+null(X-22))
+		* max( 0, TAXABASE_MAJO - TTAXABASE[FLAG_DERSTTR])
+
+	     + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-22))) * 0
+	     ;
+
+
+SUPCAP[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                     * max( 0 , CAPBASE_MAJO )
+
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+                 * max( 0, CAPBASE_MAJO - TPCAPBASE[FLAG_DERSTTR] )
+
+	+( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		* (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+	        * max(0, min( CAPBASE_MAJO - TPCAPBASE[FLAG_DERSTTR] , 
+	                      max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + TLOYBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR] )
+                            )
+                     );
+                
+SU[DGFIP][2017]CAP[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+	             * max(0, min( CAPBASE_MAJO - TPCAPBASE[FLAG_DERSTTR] , 
+	                           max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + TLOYBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR] )
+                                 )
+                           )
+
+
+              + positif(20 - V_NOTRAIT) * positif(null(X-14))            
+	             * max(0, min( CAPBASE_MAJO - TPCAPBASE[FLAG_DERSTTR] , 
+	                           max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + TLOYBASE[FLAG_DERSTTR] + TCHRBASE[FLAG_DERSTTR] )
+                                 )
+                           )
+              + (1-positif(20 - V_NOTRAIT)) * positif(null(X-14))
+		* max(0, CAPBASE_MAJO - TPCAPBASE[FLAG_DERSTTR])
+                      
+              + positif(null(X-15)+null(X-18)+null(X-20)+null(X-22))
+	         * max(0, CAPBASE_MAJO - TPCAPBASE[FLAG_DERSTTR]) 
+                 
+              + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20)+null(X-22))) * 0
+	      ;
+
+SUPLOY[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                     * max( 0 , LOYBASE_MAJO )
+
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+                 * max(0 , LOYBASE_MAJO - TLOYBASE[FLAG_DERSTTR])
+
+
+	+( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		* (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+                * max(0 , min( LOYBASE_MAJO - TLOYBASE[FLAG_DERSTTR] ,
+		               max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO + TCHRBASE[FLAG_DERSTTR] )
+                             )
+                      );
+
+SU[DGFIP][2017]LOY[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                     * max(0 , min( LOYBASE_MAJO - TLOYBASE[FLAG_DERSTTR] ,
+				    max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO + TCHRBASE[FLAG_DERSTTR] )
+                                  )
+                          )
+
+              + positif(20 - V_NOTRAIT) * positif(null(X-14))
+                     * max(0 , min( LOYBASE_MAJO - TLOYBASE[FLAG_DERSTTR] ,
+				    max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO + TCHRBASE[FLAG_DERSTTR] )
+                                  )
+                          )
+
+              + (1-positif(20 - V_NOTRAIT)) * positif(null(X-14))
+                * max(0 , LOYBASE_MAJO - TLOYBASE[FLAG_DERSTTR])
+
+              + positif(null(X-15)+null(X-18)+null(X-20)+null(X-22))
+                * max(0 , LOYBASE_MAJO - TLOYBASE[FLAG_DERSTTR])
+		
+              + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20)+null(X-22))) * 0
+	      ;
+
+SUPHR[X] =  null(X) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                    * max( 0 , HRBASE_MAJO )
+
+
+	      +( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		 * positif(null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))
+		 * max( 0, HRBASE_MAJO - TCHRBASE[FLAG_DERSTTR] )
+
+
+              + ( 1 - positif(FLAG_RETARD) * positif(FLAG_RECTIF) * null(X))
+		* (1 - positif((null(X-3)+null(X-7)+null(X-8)+null(X-12)+null(X-13))))
+                * max(0 , min( HRBASE_MAJO - TCHRBASE[FLAG_DERSTTR] ,
+			       max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO + HRBASE_MAJO )
+                             )
+                     );
+
+
+SU[DGFIP][2017]HR[X] = null(X) * null(CODE_2042 - 17) * positif(FLAG_RETARD) * positif(FLAG_RECTIF)
+                     * max(0 , min( HRBASE_MAJO - TCHRBASE[FLAG_DERSTTR] ,
+				    max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO + HRBASE_MAJO )
+                                  )
+                          )
+
+              + positif(20 - V_NOTRAIT) * positif(null(X-14))
+                     * max(0 , min( HRBASE_MAJO - TCHRBASE[FLAG_DERSTTR] ,
+				    max( 0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO + HRBASE_MAJO )
+                                  )
+                          )
+
+              + (1-positif(20 - V_NOTRAIT)) * positif(null(X-14))
+	             * max(0 , HRBASE_MAJO - TCHRBASE[FLAG_DERSTTR])
+
+              + positif(null(X-15)+null(X-18)+null(X-20)+null(X-22))
+                * max(0 , HRBASE_MAJO - TCHRBASE[FLAG_DERSTTR])
+		
+              + (1 - positif(null(X-14)+null(X-15)+null(X-18)+null(X-20)+null(X-22))) * 0
+	      ;
+
+regle corrective 23113:
+application : iliad;
+TMAJOIR[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPIR[X] * TAUX_STRATE/100 ));
+T2MAJOIR[X] = (1 - null(1 - IND_RJLJ))
+	     * (
+
+	     (positif(null(X - 0) * null(CODE_2042 - 17) 
+		 +null(X-14)+null(X-15)+null(X-18)+null(X-20)+null(X-22))
+        	*(positif(null(X-21)+null(X-22))*TL_IR*arr(SU[DGFIP][2017]IR[X] * TX1758A/100)
+	          +(1-null(X-22)) * arr(SU[DGFIP][2017]IR[X] * TX1758A/100)))
+
+
+	      + null(X-1) 
+	                  * positif(null(X - 1) * null(CSTRATE1 - 17)
+                               +null(CSTRATE1 - 1)
+	                       +null(CSTRATE1 - 2)
+			       +null(CSTRATE1 - 10)
+		               +null(CSTRATE1 - 30)) * arr(SU[DGFIP][2017]IR[X] * TX1758A/100)
+
+                 ); 
+
+MAJOIR_ST = MAJOIRST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOIR[X] + T2MAJOIR[X];
+TMAJOCS[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCS[X] * TAUX_STRATE/100 ));
+MAJOCS_ST = MAJOCSST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCS[X] ;
+
+TMAJOPS[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPPS[X] * TAUX_STRATE/100 ));
+MAJOPS_ST = MAJOPSST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOPS[X] ;
+
+
+TMAJORD[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRD[X] * TAUX_STRATE/100 ));
+MAJORD_ST = MAJORDST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORD[X] ;
+
+TMAJOCVN[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCVN[X] * TAUX_STRATE/100 ));
+MAJOCVN_ST = MAJOCVNST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCVN[X] ;
+
+TMAJOREGV[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPREGV[X] * TAUX_STRATE/100 ));
+MAJOREGV_ST = MAJOREGVST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOREGV[X] ;
+
+TMAJOCDIS[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCDIS[X] * TAUX_STRATE/100 ));
+
+MAJOCDIS_ST = MAJOCDISST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCDIS[X] ;
+TMAJOGLO[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPGLO[X] * TAUX_STRATE/100 ));
+MAJOGLO_ST = MAJOGLOST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOGLO[X] ;
+TMAJORSE1[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE1[X] * TAUX_STRATE/100 ));
+MAJORSE1_ST = MAJORSE1ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE1[X] ;
+TMAJORSE2[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE2[X] * TAUX_STRATE/100 ));
+MAJORSE2_ST = MAJORSE2ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE2[X] ;
+TMAJORSE3[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE3[X] * TAUX_STRATE/100 ));
+MAJORSE3_ST = MAJORSE3ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE3[X] ;
+TMAJORSE4[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE4[X] * TAUX_STRATE/100 ));
+MAJORSE4_ST = MAJORSE4ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE4[X] ;
+TMAJORSE5[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPRSE5[X] * TAUX_STRATE/100 ));
+MAJORSE5_ST = MAJORSE5ST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJORSE5[X] ;
+TMAJOTAXA[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPTAXA[X] * TAUX_STRATE/100 ));
+T2MAJOTAXA[X] = (1 - null(1 - IND_RJLJ))
+
+	     * (positif(null(X - 0) * null(CODE_2042 - 17) 
+	        + null(X-14)+null(X-15)+null(X-18)+null(X-22))
+		*(null(X-22)*TL_TAXAGA*arr(SU[DGFIP][2017]TAXA[X] * TX1758A/100)
+		  +(1-null(X-22)) * arr(SU[DGFIP][2017]TAXA[X] * TX1758A/100)));
+
+MAJOTAXA_ST = MAJOTAXAST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOTAXA[X] + T2MAJOTAXA[X];
+TMAJOHR[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPHR[X] * TAUX_STRATE/100 ));
+T2MAJOHR[X] = (1 - null(1 - IND_RJLJ))
+
+	     * (positif(null(X - 0) * null(CODE_2042 - 17) 
+	        + null(X-14)+null(X-15)+null(X-18)+null(X-20)+null(X-22))
+		*(positif(null(X-20)+null(X-22))*TL_CHR*arr(SU[DGFIP][2017]HR[X] * TX1758A/100)
+		  +(1-positif(null(X-20)+null(X-22))) * arr(SU[DGFIP][2017]HR[X] * TX1758A/100)));
+MAJOHR_ST = MAJOHRST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOHR[X] + T2MAJOHR[X];
+TMAJOCAP[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPCAP[X] * TAUX_STRATE/100 ));
+T2MAJOCAP[X] = (1 - null(1 - IND_RJLJ))
+
+	     * (positif(null(X - 0) * null(CODE_2042 - 17) 
+	        + null(X-14)+null(X-15)+null(X-18)+null(X-22))
+		*(null(X-22)*TL_CAP*arr(SU[DGFIP][2017]CAP[X] * TX1758A/100)
+		  +(1-null(X-22)) * arr(SU[DGFIP][2017]CAP[X] * TX1758A/100)));
+MAJOCAP_ST = MAJOCAPST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOCAP[X] + T2MAJOCAP[X];
+TMAJOLOY[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPLOY[X] * TAUX_STRATE/100 ));
+T2MAJOLOY[X] = (1 - null(1 - IND_RJLJ))
+
+	     * (positif(null(X - 0) * null(CODE_2042 - 17) 
+	        + null(X-14)+null(X-15)+null(X-18)+null(X-22))
+		*(null(X-22)*TL_LOY*arr(SU[DGFIP][2017]LOY[X] * TX1758A/100)
+		  +(1-null(X-22)) * arr(SU[DGFIP][2017]LOY[X] * TX1758A/100)));
+MAJOLOY_ST = MAJOLOYST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOLOY[X] + T2MAJOLOY[X];
+regle isf 233:
+application : iliad;
+TMAJOISF[X] = (1 - null((1 - IND_RJLJ) + (10 - TAUX_STRATE)))
+	     * arr( (SUPISF[X] * TAUX_STRATE/100 ));
+MAJOISF_ST = MAJOISFST_DEF * (1 - positif(FLAG_1STRATE)) + 
+            TMAJOISF[X] ;
+regle corrective 23114:
+application : iliad;
+
+MAJOIR07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+			* STR_TR16 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR17_2TARDIF = max(0,arr(FLAG_TRTARDIF * TX1758A/100 *
+                            min(min(IRBASE2042_FIC,IRBASE),
+                                max(0, IRBASE)
+                               )
+                            )
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              ); 
+MAJOIR_TARDIF = somme(x = 07,08: MAJOIR0x_TARDIF) 
+		+ MAJOIR17_1TARDIF + MAJOIR17_2TARDIF;
+MAJOCS07_TARDIF = max(0,arr(FLAG_TRTARDIF * CSBASE_MAJO * TAUX_2042/100)
+			* STR_TR16 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCS08_TARDIF = max(0,arr(FLAG_TRTARDIF * CSBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCS17_TARDIF = max(0,arr(FLAG_TRTARDIF * CSBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOCS_TARDIF = somme(x = 07,08,17 : MAJOCSx_TARDIF);
+MAJOPS07_TARDIF = max(0,arr(FLAG_TRTARDIF * PSBASE_MAJO * TAUX_2042/100)
+			* STR_TR16 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOPS08_TARDIF = max(0,arr(FLAG_TRTARDIF * PSBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOPS17_TARDIF = max(0,arr(FLAG_TRTARDIF * PSBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOPS_TARDIF = somme(x = 07,08,17 : MAJOPSx_TARDIF);
+MAJOR[DGFIP][2017]7_TARDIF = max(0,arr(FLAG_TRTARDIF * RDBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOR[DGFIP][2017]8_TARDIF = max(0,arr(FLAG_TRTARDIF * RDBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJOR[DGFIP][2017]7_TARDIF = max(0,arr(FLAG_TRTARDIF * RDBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	);
+MAJORD_TARDIF = somme(x = 07,08,17 : MAJORDx_TARDIF);
+
+MAJOCVN07_TARDIF = max(0,arr(FLAG_TRTARDIF * CVNBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+
+MAJOCVN08_TARDIF = max(0,arr(FLAG_TRTARDIF * CVNBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+
+MAJOCVN17_TARDIF = max(0,arr(FLAG_TRTARDIF * CVNBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+
+MAJOCVN_TARDIF = somme(x = 07,08,17 : MAJOCVNx_TARDIF);
+
+MAJOREGV07_TARDIF = max(0,arr(FLAG_TRTARDIF * REGVBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+
+MAJOREGV08_TARDIF = max(0,arr(FLAG_TRTARDIF * REGVBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+
+MAJOREGV17_TARDIF = max(0,arr(FLAG_TRTARDIF * REGVBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+
+MAJOREGV_TARDIF = somme(x = 07,08,17 : MAJOREGVx_TARDIF);
+
+MAJOCDIS07_TARDIF = max(0,arr(FLAG_TRTARDIF * CDISBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOCDIS08_TARDIF = max(0,arr(FLAG_TRTARDIF * CDISBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOCDIS17_TARDIF = max(0,arr(FLAG_TRTARDIF * CDISBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOCDIS_TARDIF = somme(x = 07,08,17 : MAJOCDISx_TARDIF);
+
+MAJOGLO07_TARDIF = max(0,arr(FLAG_TRTARDIF * GLOBASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+
+MAJOGLO08_TARDIF = max(0,arr(FLAG_TRTARDIF * GLOBASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+
+MAJOGLO17_TARDIF = max(0,arr(FLAG_TRTARDIF * GLOBASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+
+MAJOGLO_TARDIF = somme(x = 07,08,17 : MAJOGLOx_TARDIF);
+
+MAJORSE107_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE1BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+
+MAJORSE108_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE1BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE117_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE1BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+
+MAJORSE1_TARDIF = somme(x = 07,08,17 : MAJORSE1x_TARDIF);
+
+MAJORSE207_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE2BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE208_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE2BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE217_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE2BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE2_TARDIF = somme(x = 07,08,17 : MAJORSE2x_TARDIF);
+MAJORSE307_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE3BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE308_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE3BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE317_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE3BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE3_TARDIF = somme(x = 07,08,17 : MAJORSE3x_TARDIF);
+MAJORSE407_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE4BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE408_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE4BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE417_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE4BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE4_TARDIF = somme(x = 07,08,17 : MAJORSE4x_TARDIF);
+MAJORSE507_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE5BASE_MAJO * TAUX_2042/100)
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE508_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE5BASE_MAJO * TAUX_2042/100)
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE517_TARDIF = max(0,arr(FLAG_TRTARDIF * RSE5BASE_MAJO * TAUX_2042/100)
+			* STR_TR15 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJORSE5_TARDIF = somme(x = 07,08,17 : MAJORSE5x_TARDIF);
+MAJOHR07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+LOYBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+
+MAJOHR08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+LOYBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	                );
+MAJOHR17_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+LOYBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+MAJOHR17_2TARDIF = max(0,arr(FLAG_TRTARDIF * TX1758A/100 *
+                            min(min(HRBASE2042_FIC,HRBASE_MAJO),
+			        max(0, IRBASE+TAXABASE_MAJO+CAPBASE_MAJO+LOYBASE_MAJO+HRBASE_MAJO)
+                               )
+                           )
+
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	              );
+MAJOHR_TARDIF = somme(x = 07,08 : MAJOHR0x_TARDIF) 
+		+ MAJOHR17_1TARDIF + MAJOHR17_2TARDIF;
+MAJOCA[DGFIP][2017]7_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                             min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                )
+                            )
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOCA[DGFIP][2017]8_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+			     min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                )
+                             )
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOCA[DGFIP][2017]7_1TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                              min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			          max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                 )
+                             )
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOCA[DGFIP][2017]7_2TARDIF = max(0,arr(FLAG_TRTARDIF * TX1758A/100 *
+                              min(min(CAPBASE2042_FIC,CAPBASE_MAJO),
+			          max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO)
+                                 )
+                             )
+			* STR_TR15
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+MAJOCAP_TARDIF = somme(x = 07,08 : MAJOCA[DGFIP][2017]x_TARDIF) 
+		+ MAJOCA[DGFIP][2017]7_1TARDIF + MAJOCA[DGFIP][2017]7_2TARDIF;
+MAJOLO07_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+                             min(min(LOYBASE2042_FIC,LOYBASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO)
+                                )
+                            )
+			* STR_TR16
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
+
+MAJOLO08_TARDIF = max(0,arr(FLAG_TRTARDIF * TAUX_2042/100 *
+			     min(min(LOYBASE2042_FIC,LOYBASE_MAJO),
+			         max(0, IRBASE + TAXABASE_MAJO + CAPBASE_MAJO + LOYBASE_MAJO)
+                                )
+                             )
+			* STR_TR11 
+			* (1 - null((1 -IND_RJLJ) + (10 - TAUX_2042)))
+	               );
diff --git a/sources2014m_2_15/chap-perp.m b/sources2014m_2_15/chap-perp.m
new file mode 100644
index 0000000000000000000000000000000000000000..93d2d2feb59377b49c3799758f83f5a6695c1402
--- /dev/null
+++ b/sources2014m_2_15/chap-perp.m
@@ -0,0 +1,703 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+                                                                       
+  ####   #    #    ##    #####      #     #####  #####   ######         
+ #    #  #    #   #  #   #    #     #       #    #    #  #          
+ #       ######  #    #  #    #     #       #    #    #  #####      
+ #       #    #  ######  #####      #       #    #####   #             
+ #    #  #    #  #    #  #          #       #    #   #   #              
+  ####   #    #  #    #  #          #       #    #    #  ######  
+regle 31000:
+application : iliad , batch  ;
+PERP_BOOL = positif(null(1-(V_0CF+V_0CH+V_0CR+V_0DJ+V_0DN+V_0DP)) *
+          null(
+   present( TSHALLO2 ) 
+ + present( ALLO2 ) 
+ + present( TSHALLO3 ) 
+ + present( ALLO3 ) 
+ + present( TSHALLO4 ) 
+ + present( ALLO4 ) 
+ + present( FRN2 ) 
+ + present( FRN3 ) 
+ + present(FRN4)
+ + present(CARTS[DGFIP][2017])
+ + present(CARTSP3)
+ + present(CARTSP4)
+ + present(REMPLA[DGFIP][2017])
+ + present(REMPLAP3)
+ + present(REMPLAP4)
+ )); 
+regle 31002:
+application : iliad , batch  ;
+PERPSALV = 
+  TSHALLOV  
+ + ALLOV  
+ + GL[DGFIP][2017]V  
+ + GL[DGFIP][2017]V  
+ + GLD3V  
+ + GLDGRATV
+ + BPCOSAV  
+ + TSASSUV  
+ + CARTSV  
+ + REMPLAV
+ + CODDAJ
+ + CODEAJ
+ + max(0,SALEXTV - CO[DGFIP][2017]AD)
+ ;
+PERPSALC = 
+   TSHALLOC  
+ + ALLOC  
+ + GL[DGFIP][2017]C  
+ + GL[DGFIP][2017]C  
+ + GLD3C  
+ + GLDGRATC
+ + BPCOSAC  
+ + TSASSUC  
+ + CARTSC  
+ + REMPLAC
+ + CODDBJ
+ + CODEBJ
+ + max(0,SALEXTC - CO[DGFIP][2017]BD)
+ ;
+PERPSALP = PERP_BOOL * (
+   TSHALLO1  
+ + ALLO1  
+ + CARTS[DGFIP][2017]
+ + REMPLA[DGFIP][2017]
+ + max(0,SALEXT1 - CO[DGFIP][2017]CD)
+ )
+ ;
+regle 31003:
+application : iliad , batch  ;
+PERPSALDV = PRE[DGFIP][2017]0V;
+PERPSALDC = PRE[DGFIP][2017]0C;
+PERPSALDP = PRE[DGFIP][2017]0P * PERP_BOOL;
+regle 31004:
+application : iliad , batch  ;
+PERPSALNV = PERPSALV - PERPSALDV + ELURASV;
+PERPSALNC = PERPSALC - PERPSALDC + ELURASC;
+PERPSALNP = PERPSALP -PERPSALDP ;
+regle 31005:
+application : iliad , batch  ;
+PERPBANV = 
+   FEXV  
+ + BAFV  
+ + BAFPVV  
+ + BAEXV  
+ + BACREV  
+ - (BACDEV * (1 - positif(ART1731BIS) ))  
+ + BAHEXV 
+ + BAHREV  
+ - (BAHDEV * (1 - positif(ART1731BIS) )) 
+ + BAPERPV
+ + 4BACREV  
+ + 4BAHREV 
+ + BAFORESTV
+ + BANOCGAV
+ ;
+PERPBANC = 
+   FEXC  
+ + BAFC  
+ + BAFPVC  
+ + BAEXC  
+ + BACREC  
+ - (BACDEC * (1 - positif(ART1731BIS) ))
+ + BAHEXC  
+ + BAHREC  
+ - (BAHDEC * (1 - positif(ART1731BIS) )) 
+ + BAPERPC 
+ + 4BACREC  
+ + 4BAHREC 
+ + BAFORESTC
+ + BANOCGAC
+ ;
+PERPBANP = PERP_BOOL * (
+   FEXP  
+ + BAFP  
+ + BAFPVP  
+ + BAEXP  
+ + BACREP  
+ - (BACDEP * (1 - positif(ART1731BIS) ))
+ + BAHEXP  
+ + BAHREP  
+ - (BAHDEP * (1 - positif(ART1731BIS) ))
+ + BAPERPP
+ + 4BACREP  
+ + 4BAHREP ) 
+ + BAFORESTP
+ + BANOCGAP
+ ;
+regle 31006:
+application :  iliad , batch  ;
+PERPBICMNV =TPMIB_NETPV+TPMIB_NETVV+MIBEXV+MIBPVV-BICPMVCTV;
+PERPBICMNC =TPMIB_NETPC+TPMIB_NETVC+MIBEXC+MIBPVC-BICPMVCTC;
+PERPBICMNP =(TPMIB_NETPP+TPMIB_NETVP+MIBEXP+MIBPVP-BICPMVCTP) * PERP_BOOL;
+regle 31007:
+application : iliad , batch  ;
+PERPBICPNV =
+   BICEXV  
+ + BICNOV  
+ - (BICDNV * (1 - positif(ART1731BIS) )) 
+ + BIHEXV  
+ + BIHNOV  
+ - (BIHDNV * (1 - positif(ART1731BIS) )) 
+ + BIPERPV 
+ + LOCPROCGAV
+ - (LOCDEFPROCGAV * (1 - positif(ART1731BIS) ))
+ + LOCPROV
+ - (LOCDEFPROV * (1 - positif(ART1731BIS) ))
+ ;
+PERPBICPNC =
+   BICEXC  
+ + BICNOC  
+ -  (BICDNC * (1 - positif(ART1731BIS) ))
+ + BIHEXC  
+ + BIHNOC  
+ - (BIHDNC * (1 - positif(ART1731BIS) ))
+ + BIPERPC  
+ + LOCPROCGAC
+ - (LOCDEFPROCGAC * (1 - positif(ART1731BIS) ))
+ + LOCPROC
+ - (LOCDEFPROC * (1 - positif(ART1731BIS) ))
+;
+PERPBICPNP = PERP_BOOL * (
+   BICEXP  
+ + BICNOP  
+ -  (BICDNP * (1 - positif(ART1731BIS) ))
+ + BIHEXP  
+ + BIHNOP  
+ - (BIHDNP * (1 - positif(ART1731BIS) )) 
+ + BIPERPP 
+ + LOCPROCGAP
+ - (LOCDEFPROCGAP * (1 - positif(ART1731BIS) ))
+ + LOCPROP
+ - (LOCDEFPROP * (1 - positif(ART1731BIS) )));
+regle 31008:
+application : iliad , batch  ;
+PERPBNCMNV =  BNCPROEXV + max(0,(BNCPROV+AUTOBNCV) - max(arr((BNCPROV+AUTOBNCV) * SPETXAB/100),MIN_SPEBNC))
+                     + BNCPROPVV-BNCPMVCTV;
+PERPBNCMNC =  BNCPROEXC + max(0,(BNCPROC+AUTOBNCC) - max(arr((BNCPROC+AUTOBNCC) * SPETXAB/100),MIN_SPEBNC))
+                     + BNCPROPVC-BNCPMVCTC;
+PERPBNCMNP =  PERP_BOOL * (
+              BNCPROEXP + max(0,(BNCPROP+AUTOBNCP) - max(arr((BNCPROP+AUTOBNCP) * SPETXAB/100),MIN_SPEBNC))
+                     + BNCPROPVP-BNCPMVCTP);
+regle 31009:
+application :  iliad , batch  ;
+PERPBNCPNV =  
+   BNCEXV  
+ + BNCREV  
+ - (BNCDEV * (1 - positif(ART1731BIS) )) 
+ + BNHEXV  
+ + BNHREV  
+ - (BNHDEV * (1 - positif(ART1731BIS) ))
+ + BNCCRV
+ ;
+PERPBNCPNC =  
+   BNCEXC  
+ + BNCREC  
+ - (BNCDEC * (1 - positif(ART1731BIS) )) 
+ + BNHEXC  
+ + BNHREC  
+ - (BNHDEC * (1 - positif(ART1731BIS) ))
+ + BNCCRC
+ ;
+PERPBNCPNP =  PERP_BOOL * (
+   BNCEXP  
+ + BNCREP  
+ - (BNCDEP * (1 - positif(ART1731BIS) )) 
+ + BNHEXP  
+ + BNHREP  
+ - (BNHDEP * (1 - positif(ART1731BIS) ))
+ + BNCCRP
+ ); 
+regle 31010:
+application :  iliad , batch  ;
+PERPNONSALV = PERPBANV + PERPBICMNV + PERPBICPNV + PERPBNCMNV + PERPBNCPNV;
+PERPNONSALC = PERPBANC + PERPBICMNC + PERPBICPNC + PERPBNCMNC + PERPBNCPNC;
+PERPNONSALP = PERPBANP + PERPBICMNP + PERPBICPNP + PERPBNCMNP + PERPBNCPNP;
+regle 31011:
+application :  iliad , batch  ;
+PERPREVTOTV = max(0,PERPSALNV + PERPNONSALV) ;
+PERPREVTOTC = max(0,PERPSALNC + PERPNONSALC) ;
+PERPREVTOTP = max(0,PERPSALNP + PERPNONSALP) ;
+regle 31012:
+application : iliad , batch  ;
+
+pour i =V,C:
+PERP_INDi = positif( 0 +
+  positif(TSHALLOi)  
+ + positif(ALLOi)    
+ + positif(GL[DGFIP][2017]i)  + positif(GL[DGFIP][2017]i) + positif(GLD3i) 
+ + positif(GLDGRATi)
+ + positif(BPCOSAi)  + positif(TSASSUi) + positif(CARTSi) 
++ positif(FEXi)  + positif(BAFi)  + positif(BAFPVi) + positif(BAEXi)  
++ positif(BACREi) + positif(4BACREi) 
++ positif(BACDEi * (1 - positif(ART1731BIS) ))  + positif(BAHEXi)  
++ positif(BAHREi) + positif(4BAHREi) 
++ positif(BAHDEi * (1 - positif(ART1731BIS) ))  + positif(BAPERPi) 
++ positif(MIBEXi) + positif(MIBVENi) + positif(MIBPRESi) + positif(MIBPVi)
++ positif(AUTOBICVi) + positif(AUTOBICPi)
++ positif(BICEXi) + positif(BICNOi) + positif(BICDNi * (1 - positif(ART1731BIS) ))  
++ positif(BIHEXi) + positif(BIHNOi)  
++ positif(BIHDNi * (1 - positif(ART1731BIS) )) + positif(BIPERPi) 
++ positif(LOCPROCGAi) 
+- positif(LOCDEFPROCGAi * (1 - positif(ART1731BIS) ))
++ positif(LOCPROi) 
+-  positif(LOCDEFPROi * (1 - positif(ART1731BIS) ))
++ positif(BNCPROEXi) + positif(BNCPROi) + positif(BNCPROPVi)
++ positif(AUTOBNCi) 
++ positif(BNCEXi) + positif(BNCREi) + positif(BNCDEi * (1 - positif(ART1731BIS) )) + positif(BNHEXi)  
++ positif(BNHREi) + positif(BNHDEi * (1 - positif(ART1731BIS) )) + positif(BNCCRi) );
+
+PERP_INDP = positif( 0+
+  positif(TSHALLO1)    
+ + positif(ALLO1)    
++ positif(FEXP)  + positif(BAFP)  + positif(BAFPVP)  + positif(BAEXP)  
++ positif(BACREP) + positif(4BACREP) 
++ positif(BACDEP * (1 - positif(ART1731BIS) ))  + positif(BAHEXP)  
++ positif(BAHREP) + positif(4BAHREP) 
++ positif(BAHDEP * (1 - positif(ART1731BIS) ))  + positif(BAPERPP) 
++ positif(MIBEXP) + positif(MIBVENP) + positif(MIBPRESP) + positif(MIBPVP)
++ positif(AUTOBICVP) + positif(AUTOBICPP)
++ positif(BICEXP) + positif(BICNOP) + positif(BICDNP * (1 - positif(ART1731BIS) ))  
++ positif(BIHEXP) + positif(BIHNOP)  
++ positif(BIHDNP * (1 - positif(ART1731BIS) )) + positif(BIPERPP) 
++ positif(LOCPROCGAP) 
+- positif(LOCDEFPROCGAP * (1 - positif(ART1731BIS) )) 
++ positif(LOCPROP) 
+-  positif(LOCDEFPROP * (1 - positif(ART1731BIS) ))   
++ positif(BNCPROEXP) + positif(BNCPROP) + positif(BNCPROPVP)
++ positif(AUTOBNCP)
++ positif(BNCEXP) + positif(BNCREP) + positif(BNCDEP * (1 - positif(ART1731BIS) )) + positif(BNHEXP)  
++ positif(BNHREP) + positif(BNHDEP * (1 - positif(ART1731BIS) )) + positif(BNCCRP) );
+
+regle 31013:
+application : iliad , batch  ;
+
+PERPINDV = positif(
+	    (positif(positif(PERP_INDV)
+	      + (1 - positif(PERP_INDV))
+		 * (1 - positif(PRBRV+PALIV)))
+	    * positif(INDREV1A8))
+	    + (1 - positif(PERP_INDV)) * positif(PRBRV+PALIV) 
+			* positif(PERP_COTV) 
+	    +PERPMUTU * (1 - positif(PERP_INDV+PERP_COTV)))
+	    * (1 - PERP_NONV)
+	    * (1 -V_CNR) ;
+PERPINDC = positif(
+	    (positif(positif(PERP_INDC)
+	      + (1 - positif(PERP_INDC))
+		 * (1 - positif(PRBRC+PALIC)))
+	    * positif(INDREV1A8))
+	    + (1 - positif(PERP_INDC)) * positif(PRBRC+PALIC)
+			* positif(PERP_COTC) 
+	    +PERPMUTU * (1 - positif(PERP_INDC+PERP_COTC)))		
+	    * (1 - PERP_NONC)
+	    * BOOL_0AM
+	    * (1 -V_CNR) ;
+PERPINDP = positif(
+	    (positif(positif(PERP_INDP)
+	      + (1 - positif(PERP_INDP))
+		 * (1 - positif(PRBR1+PALIP)))
+	    * positif(INDREV1A8))
+	    + (1 - positif(PERP_INDP)) * positif(PRBR1+PALIP)
+			* positif(PERP_COTP) 
+	    )
+	    * PERP_BOOL
+	    * (1 -V_CNR) ;
+
+regle 31014:
+application : iliad , batch  ;
+PERPINDCV = positif(V_BTPERPTOTV + PERPPLAFCV 
+		+ PERPPLAFNUV1 + PERPPLAFNUV2 +PERPPLAFNUNV
+		+ PERP_COTV + RACCOTV) 
+	    * PERPINDV
+	    * (1 -V_CNR);
+PERPINDCC = BOOL_0AM 
+	    * positif(V_BTPERPTOTC + PERPPLAFCC 
+		+ PERPPLAFNUC1 + PERPPLAFNUC2 +PERPPLAFNUNC
+		+ PERP_COTC + RACCOTC) 
+	    * PERPINDC
+            * (1 -V_CNR);
+PERPINDCP = PERP_BOOL 
+	  * positif(V_BTPERPTOTP + PERPPLAFCP 
+		+ PERPPLAFNU[DGFIP][2017] + PERPPLAFNU[DGFIP][2017] +PERPPLAFNUNP
+		+ PERP_COTP + RACCOTP) 
+	+0
+	   * (1 -V_CNR);
+regle 31015:
+application : iliad , batch  ;
+PERPPLAFV = positif(PERPINDV) *
+	      max(0,positif(PERPREVTOTV) 
+	      * (max(min(arr(PERPREVTOTV * TX_PERPPLAF/100),LIM_PERPMAX),LIM_PERPMIN)-PERPV)
+            + (1 - positif(PERPREVTOTV)) * (LIM_PERPMIN - PERPV) 
+               )
+ 	   * (1 -V_CNR);
+PERPPLAFC = positif(PERPINDC) * BOOL_0AM * 
+		max(0,positif(PERPREVTOTC) 
+		* (max(min(arr(PERPREVTOTC * TX_PERPPLAF/100),LIM_PERPMAX),LIM_PERPMIN)-PERPC)
+                + (1 - positif(PERPREVTOTC)) * (LIM_PERPMIN - PERPC)
+                   ) 
+ 	   * (1 -V_CNR);
+PERPPLAFP = positif(PERPINDP) *
+	      max(0,positif(PERPREVTOTP) 
+	      * (max(min(arr(PERPREVTOTP * TX_PERPPLAF/100),LIM_PERPMAX),LIM_PERPMIN)-PERPP)
+            + (1 - positif(PERPREVTOTP)) * (LIM_PERPMIN - PERPP) 
+               )
+ 	   * (1 -V_CNR);
+regle 31016:
+application : iliad , batch  ;
+pour i =V,C,P:
+PERPPLAFTi = PERPINDi 
+	     * max(0,PERPPLAFi + PERPPLAFNUNi + PERPPLAFNU1i + PERPPLAFNU2i) 
+	     * (1 - V_CNR);
+regle 31017:
+application : iliad , batch  ;
+pour i =V,C,P:
+PERPPLATiANT = (1 - positif(present(PERPPLAFCi) + present(PERPPLAFNU[DGFIP][2017])
+		+ present(PERPPLAFNU[DGFIP][2017]) + present(PERPPLAFNUi3)))
+		* V_BTPERPTOTi
+		+ positif(present(PERPPLAFCi) + present(PERPPLAFNU[DGFIP][2017])
+		+ present(PERPPLAFNU[DGFIP][2017]) + present(PERPPLAFNUi3))
+		 *(PERPPLAFCi + PERPPLAFNU[DGFIP][2017] + PERPPLAFNU[DGFIP][2017] + PERPPLAFNUi3);
+pour i =V,C,P:
+PERPPLAFiANT = present(PERPPLAFCi) * PERPPLAFCi
+	      + (1 - present(PERPPLAFCi)) * V_BTPERPi;
+pour i =V,C,P:
+PERPPLAFNU[DGFIP][2017]ANT = present(PERPPLAFNU[DGFIP][2017]) * PERPPLAFNU[DGFIP][2017]
+ 		+(1 - present(PERPPLAFNU[DGFIP][2017])) * V_BTPERPNU[DGFIP][2017] ;
+pour i =V,C,P:
+PERPPLAFNUi3ANT = present(PERPPLAFNUi3) * PERPPLAFNUi3
+ 		+(1 - present(PERPPLAFNUi3)) * V_BTPERPNUi3 ;
+regle 31018:
+application : iliad , batch  ;
+PERPPLAFNUTV = (1 - positif(PERP_CON[DGFIP][2017])) * (1 - positif(PERP_CON[DGFIP][2017]))
+		* max(PERPPLATVANT - RPERPV,0)
+		+ positif(PERP_CON[DGFIP][2017]) * 0
+		+ positif(PERP_CON[DGFIP][2017]) * max(0,PERPPLATVANT - RPERPV - RPERPMUTC - RACCOTC)
+		;
+PERPPLAFNUTC = (1 - positif(PERP_CON[DGFIP][2017])) * (1 - positif(PERP_CON[DGFIP][2017]))
+		* max(PERPPLATCANT - RPERPC,0)
+		+ positif(PERP_CON[DGFIP][2017]) * max(0,PERPPLATCANT - RPERPC - RPERPMUTV - RACCOTV)
+		+ positif(PERP_CON[DGFIP][2017]) * 0
+		;
+PERPPLAFNUTP = max(PERPPLATPANT - RPERPP,0) ;
+PERPPLAFNUV = (1 - positif(PERP_CON[DGFIP][2017])) * (1 - positif(PERP_CON[DGFIP][2017]))
+		* ((1 - positif(PERPIMPATRIE+0)) * max(0,PERPPLAFVANT - RPERPV)
+	         + positif(PERPIMPATRIE+0) * max(0,PERPPLAFV - RPERPV))
+	       + positif(PERP_CON[DGFIP][2017]) * 0
+	       + positif(PERP_CON[DGFIP][2017]) 
+	       * ((1 - positif(PERPIMPATRIE))
+		 * max(0,PERPPLAFVANT - RPERPV - RPERPMUTC - RACCOTC)
+		 + positif(PERPIMPATRIE)
+		 * max(0,PERPPLAFV - RPERPV - RPERPMUTC - RACCOTC))
+	       ;
+PERPPLAFNUC = (1 - positif(PERP_CON[DGFIP][2017])) * (1 - positif(PERP_CON[DGFIP][2017]))
+		* ((1 - positif(PERPIMPATRIE+0)) * max(0,PERPPLAFCANT - RPERPC)
+	         + positif(PERPIMPATRIE+0) * max(0,PERPPLAFC - RPERPC))
+	       + positif(PERP_CON[DGFIP][2017]) 
+	       * ((1 - positif(PERPIMPATRIE))
+	       * max(0,PERPPLAFCANT - RPERPC - RPERPMUTV - RACCOTV)
+		 + positif(PERPIMPATRIE)
+	       * max(0,PERPPLAFC - RPERPC - RPERPMUTV - RACCOTV))
+	       + positif(PERP_CON[DGFIP][2017]) * 0
+	       ;
+PERPPLAFNUP = (1 - positif(PERPIMPATRIE+0)) * max(0,PERPPLAFPANT - RPERPP)
+	       + positif(PERPIMPATRIE+0) * max(0,PERPPLAFP - RPERPP)
+	       ;
+pour i =V,C,P:
+PERPPLAFNUNi = max(0,PERPPLAFNUi);
+PERPPLAFNU3V = (1 - positif(PERP_CON[DGFIP][2017])) * (1 - positif(PERP_CON[DGFIP][2017]))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFNUV) * PERPPLAFNUV3ANT
+	             + (1 - positif(PERPPLAFNUV)) 
+		    * max(0,PERPPLAFNUV3ANT - (RPERPV - PERPPLAFVANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_CON[DGFIP][2017]) * 0
+   		+ positif(PERP_CON[DGFIP][2017]) * (positif(PERPPLAFNUV) * PERPPLAFNUV3ANT
+			+ (1 - positif(PERPPLAFNUV)) *max(0,PERPPLAFNUV3ANT - (RPERPV + RPERPMUTC  + RACCOTC- PERPPLAFVANT)))
+		    ;
+PERPPLAFNU3C = (1 - positif(PERP_CON[DGFIP][2017])) * (1 - positif(PERP_CON[DGFIP][2017]))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFNUC) * PERPPLAFNUC3ANT
+	             + (1 - positif(PERPPLAFNUC)) 
+		    * max(0,PERPPLAFNUC3ANT - (RPERPC - PERPPLAFCANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_CON[DGFIP][2017]) * (positif(PERPPLAFNUC) * PERPPLAFNUC3ANT
+			+ (1 - positif(PERPPLAFNUC)) *max(0,PERPPLAFNUC3ANT - (RPERPC + RPERPMUTV  + RACCOTV- PERPPLAFCANT)))
+   		+ positif(PERP_CON[DGFIP][2017]) * 0
+		    ;
+PERPPLAFNU3P = (1 - positif(PERPIMPATRIE+0)) 
+		* (
+		  max(0,positif(PERPPLAFNUP) * PERPPLAFNUP3ANT
+	             + (1 - positif(PERPPLAFNUP+0)) 
+		    * (PERPPLAFNUP3ANT - (RPERPP - PERPPLAFPANT)))
+		    )
+		 + positif(PERPIMPATRIE+0) * 0 ;
+PERPPLAFNU2V = (1 - positif(PERP_CON[DGFIP][2017])) * (1 - positif(PERP_CON[DGFIP][2017]))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV) 
+				* PERPPLAFNUV2ANT
+	          + (1 - positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV)) 
+		    * max(0,PERPPLAFNUV2ANT - (RPERPV - PERPPLAFVANT - PERPPLAFNUV3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_CON[DGFIP][2017]) * 0
+   		+ positif(PERP_CON[DGFIP][2017]) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV - RPERPMUTC- RACCOTC) 
+				* PERPPLAFNUV2ANT
+	          + (1 - positif(PERPPLAFVANT + PERPPLAFNUV3ANT - RPERPV - RPERPMUTC - RACCOTC)) 
+		    * max(0,PERPPLAFNUV2ANT - (RPERPV + RPERPMUTC + RACCOTC) - (PERPPLAFVANT + PERPPLAFNUV3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+		;
+PERPPLAFNU2C = (1 - positif(PERP_CON[DGFIP][2017])) * (1 - positif(PERP_CON[DGFIP][2017]))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		* (positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC) 
+				* PERPPLAFNUC2ANT
+	          + (1 - positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC)) 
+		    * max(0,PERPPLAFNUC2ANT - (RPERPC - PERPPLAFCANT - PERPPLAFNUC3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_CON[DGFIP][2017]) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+		    * (positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC - RPERPMUTV - RACCOTV) 
+				* PERPPLAFNUC2ANT
+	          + (1 - positif(PERPPLAFCANT + PERPPLAFNUC3ANT - RPERPC - RPERPMUTV - RACCOTV )) 
+		    * max(0,PERPPLAFNUC2ANT - (RPERPC + RPERPMUTV  + RACCOTV) - (PERPPLAFCANT + PERPPLAFNUC3ANT)))
+		    + positif(PERPIMPATRIE+0) * 0 )
+   		+ positif(PERP_CON[DGFIP][2017]) * 0
+		;
+PERPPLAFNU2P = (1 - positif(PERPIMPATRIE+0)) 
+             * (
+             max(0,positif(PERPPLAFPANT + PERPPLAFNUP3ANT - RPERPP) 
+             * PERPPLAFNU[DGFIP][2017]ANT
+             + (1 - positif(PERPPLAFPANT + PERPPLAFNUP3ANT - RPERPP)) 
+             * max(0,PERPPLAFNU[DGFIP][2017]ANT - (RPERPP - PERPPLAFPANT - PERPPLAFNUP3ANT)))
+             )
+             + positif(PERPIMPATRIE+0) * 0 ;
+PERPPLAFNU1V = (1 - positif(PERP_CON[DGFIP][2017])) * (1 - positif(PERP_CON[DGFIP][2017]))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTV - PERPPLAFNUNV - PERPPLAFNU3V - PERPPLAFNU2V,0)
+	       	+ positif(PERPIMPATRIE+0) * 0 )
+		+ positif(PERP_CON[DGFIP][2017]) * 0
+		+ positif(PERP_CON[DGFIP][2017]) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTV - PERPPLAFNUNV - PERPPLAFNU3V - PERPPLAFNU2V,0)
+   		+ positif(PERP_CON[DGFIP][2017]) * 0)
+	       ;
+PERPPLAFNU1C = (1 - positif(PERP_CON[DGFIP][2017])) * (1 - positif(PERP_CON[DGFIP][2017]))
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTC - PERPPLAFNUNC - PERPPLAFNU3C - PERPPLAFNU2C,0)
+	       	+ positif(PERPIMPATRIE+0) * 0 )
+		+ positif(PERP_CON[DGFIP][2017]) 
+		* ((1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTC - PERPPLAFNUNC - PERPPLAFNU3C - PERPPLAFNU2C,0)
+		    + positif(PERPIMPATRIE+0) * 0) 
+		+ positif(PERP_CON[DGFIP][2017]) * 0
+	       ;
+PERPPLAFNU1P = (1 - positif(PERPIMPATRIE+0)) 
+	         * max(PERPPLAFNUTP - PERPPLAFNUNP - PERPPLAFNU3P - PERPPLAFNU2P,0)
+	       + positif(PERPIMPATRIE+0) * 0 ;
+regle 31019:
+application : iliad , batch  ;
+PERP_NONV = positif(
+		(1 - positif(PERP_INDV)) * (1 - positif(PRBRV+PALIV))
+		* (1 - positif(PERP_COTV))
+		* (1 - positif(PERP_INDC)) * positif(PRBRC+PALIC)
+	  ) ;
+PERP_NONC = BOOL_0AM * positif(
+		(1 - positif(PERP_INDC)) * (1 - positif(PRBRC+PALIC))
+		* (1 - positif(PERP_COTC))
+		* (1 - positif(PERP_INDV)) * positif(PRBRV+PALIV)
+	  ) ;
+PERP_NONP = PERP_BOOL * positif(PERP_NONC + PERP_NONV) ;
+regle 31020:
+application : iliad , batch  ;
+pour i=V,C,P:
+PERPPLAFCOMi = positif(PERPIMPATRIE) * PERPPLAFi *3
+	      + (1 - positif(PERPIMPATRIE)) * 0;
+pour i=V,C,P:
+PERPPLAFIMPi = positif(PERPIMPATRIE) * (PERPPLAFCOMi + PERPPLAFi)
+	      + (1 - positif(PERPIMPATRIE)) * 0;
+regle 31021:
+application : iliad , batch  ;
+PERP_MUT = positif(PERPMUTU)
+	   * positif(V_0AM+V_0AO)
+	   * (1 - positif(V_0AC+V_0AD+V_0AV))
+	   ;
+PERP_CON[DGFIP][2017] =  positif(PERP_MUT)
+	      *((1 - positif(PERPIMPATRIE))
+	      * positif(PERP_COTV  - PERPPLATVANT)
+	      * positif(PERPPLATCANT - PERP_COTC)
+	      + positif(PERPIMPATRIE)
+	      * positif(PERP_COTV  - PERPPLAFIMPV)
+	      * positif(PERPPLAFIMPC - PERP_COTC)
+	      );
+PERP_CON[DGFIP][2017] =  positif(PERP_MUT) 
+	      *((1 - positif(PERPIMPATRIE))
+	      * positif(PERP_COTC  - PERPPLATCANT)
+	      * positif(PERPPLATVANT - PERP_COTV)
+	      + positif(PERPIMPATRIE)
+	      * positif(PERP_COTC  - PERPPLAFIMPC)
+	      * positif(PERPPLAFIMPV - PERP_COTV)
+	      );
+PERPPLAFMUTV = positif(PERP_CON[DGFIP][2017])
+	      *((1 - positif(PERPIMPATRIE))
+	       * (PERPPLATVANT + max(0,PERPPLATCANT - PERP_COTC))
+	      + positif(PERPIMPATRIE)
+	       * (PERPPLAFIMPV + max(0,PERPPLAFIMPC - PERP_COTC))
+	      );
+PERPPLAFMUTC = positif(PERP_CON[DGFIP][2017])
+	      *((1 - positif(PERPIMPATRIE))
+	       * (PERPPLATCANT + max(0,PERPPLATVANT - PERP_COTV))
+	      + positif(PERPIMPATRIE)
+	       * (PERPPLAFIMPC + max(0,PERPPLAFIMPV - PERP_COTV))
+	      );
+regle 310211:
+application : iliad , batch  ;
+PERPPLAFMU1V = positif(PERP_CON[DGFIP][2017]) 
+	      *((1 - positif(PERPIMPATRIE)) * (PERPPLATVANT + RPERPMUTV)
+	      + positif(PERPIMPATRIE) * (PERPPLAFIMPV + RPERPMUTV))
+		+ positif(PERP_CON[DGFIP][2017]) 
+	      *((1 - positif(PERPIMPATRIE)) * (PERPPLATVANT - RPERPMUTC)
+	      + positif(PERPIMPATRIE) * (PERPPLAFIMPV - RPERPMUTC));
+PERPPLAFMU1C = positif(PERP_CON[DGFIP][2017]) 
+	      *((1 - positif(PERPIMPATRIE)) * (PERPPLATCANT - RPERPMUTV)
+	      + positif(PERPIMPATRIE) * (PERPPLAFIMPC - RPERPMUTV))
+		+ positif(PERP_CON[DGFIP][2017]) 
+      		*((1 - positif(PERPIMPATRIE)) * (PERPPLATCANT + RPERPMUTC)
+      		+positif(PERPIMPATRIE) *(PERPPLAFIMPC + RPERPMUTC));
+regle 31022:
+application : iliad , batch  ;
+pour i =V,C,P:
+DPERPi = PERP_COTi + RACCOTi;
+RPERPV = (1 - positif(PERP_CON[DGFIP][2017])) * (1 - positif(PERP_CON[DGFIP][2017])) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTV,PERPPLATVANT) + RACCOTV)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTV,PERPPLAFIMPV) + RACCOTV))
+	 + positif(PERP_CON[DGFIP][2017]) 
+		* (min(PERP_COTV,PERPPLAFMUTV) + RACCOTV)
+	 + positif(PERP_CON[DGFIP][2017]) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTV,PERPPLATVANT) + RACCOTV)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTV,PERPPLAFIMPV) + RACCOTV))
+	 ;
+RPERPC = (1 - positif(PERP_CON[DGFIP][2017])) * (1 - positif(PERP_CON[DGFIP][2017])) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTC,PERPPLATCANT) + RACCOTC)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTC,PERPPLAFIMPC) + RACCOTC))
+	 + positif(PERP_CON[DGFIP][2017]) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTC,PERPPLATCANT) + RACCOTC)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTC,PERPPLAFIMPC) + RACCOTC))
+	 + positif(PERP_CON[DGFIP][2017]) * (min(PERP_COTC,PERPPLAFMUTC) + RACCOTC)
+	 ;
+RPERPP = ( (1 - positif(PERPIMPATRIE))
+		 * max(0,min(PERP_COTP,PERPPLATPANT) + RACCOTP)
+	    + positif(PERPIMPATRIE)
+		 * max(0,min(PERP_COTP,PERPPLAFIMPP) + RACCOTP)
+	  );	
+APERPV = (1 - V_CNR) * max(min(RPERPV,RBG - RPALE - RPALP - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD), 0);
+APERPC = (1 - V_CNR) * max(min(RPERPC,RBG - RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV), 0);
+APERPP = (1 - V_CNR) * max(min(RPERPP,RBG - RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV - APERPC), 0);
+TAPERPV = (1 - V_CNR) * max(min(RPERPV,RBG*(1-INDTEFF)+ TEFFREVTOT3 - RPALE - RPALP - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD), 0);
+TAPERPC = (1 - V_CNR) * max(min(RPERPC,RBG *(1-INDTEFF)+ TEFFREVTOT3- RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV), 0);
+TAPERPP = (1 - V_CNR) * max(min(RPERPP,RBG *(1-INDTEFF)+ TEFFREVTOT3- RPALE - RPALP  - RFACC
+        - RDDIV - DDCSG + TOTALQUO -SDD - APERPV - APERPC), 0);
+regle 310225:
+application :  iliad , batch  ;
+PERPDCOTV = (1 - positif(PERP_CON[DGFIP][2017])) * (1 - positif(PERP_CON[DGFIP][2017])) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTV,PERPPLATVANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTV,PERPPLAFIMPV))
+	 + positif(PERP_CON[DGFIP][2017]) 
+		* min(PERP_COTV,PERPPLAFMU1V)
+	 + positif(PERP_CON[DGFIP][2017]) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTV,PERPPLATVANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTV,PERPPLAFIMPV))
+	 ;
+PERPDCOTC = (1 - positif(PERP_CON[DGFIP][2017])) * (1 - positif(PERP_CON[DGFIP][2017])) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTC,PERPPLATCANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTC,PERPPLAFIMPC))
+	 + positif(PERP_CON[DGFIP][2017]) 
+          * ((1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTC,PERPPLATCANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTC,PERPPLAFIMPC))
+	 + positif(PERP_CON[DGFIP][2017]) * min(PERP_COTC,PERPPLAFMU1C)
+	 ;
+PERPDCOTP = ( (1 - positif(PERPIMPATRIE))
+		 * min(PERP_COTP,PERPPLATPANT)
+	    + positif(PERPIMPATRIE)
+		 * min(PERP_COTP,PERPPLAFIMPP)
+	  );	
+regle 31023:
+application : iliad , batch  ;
+RPERPMUTV = positif(PERP_CON[DGFIP][2017]) 
+	      *((1 - positif(PERPIMPATRIE))
+		* max(0,min(PERP_COTV - PERPPLATVANT,PERPPLATCANT - PERP_COTC))
+	      + positif(PERPIMPATRIE)
+		* max(0,min(PERP_COTV - PERPPLAFIMPV,PERPPLAFIMPC - PERP_COTC))
+		);
+RPERPMUTC = positif(PERP_CON[DGFIP][2017]) 
+	      *((1 - positif(PERPIMPATRIE))
+		* max(0,min(PERP_COTC - PERPPLATCANT,PERPPLATVANT - PERP_COTV))
+	      + positif(PERPIMPATRIE)
+		* max(0,min(PERP_COTC - PERPPLAFIMPC,PERPPLAFIMPV - PERP_COTV))
+		);
+regle 31024:
+application : iliad , batch  ;
+IND_BTANC = null(V_IND_TRAIT -4)
+           * (positif(APPLI_OCEANS) * 1
+	    + positif(APPLI_COLBERT)
+	    + positif(APPLI_BATCH) * V_BTANC
+	    + positif(APPLI_ILIAD) * ( positif(V_CALCULIR) * 1
+				     + (1 - positif(V_CALCULIR)) * V_BTANC)
+	     )
+	     + null(V_IND_TRAIT - 5) * 1;
+pour i = V,C,P :
+PERPINDAFFi = positif(PERPINDi 
+		* (1 - V_CNR) * (1 - positif(ANNUL2042))
+		* ((null(IND_BTANC - 1)
+		* (positif(PERPIMPATRIE+0)
+		* positif(PERPPLAFNUNi+PERPPLAFi+positif_ou_nul(PERPi)*positif(PERPREVTOTi))
+		+ (1 - positif(PERPIMPATRIE+0))
+		* (present(PERPPLAFCi) + present(V_BTPERPi)) 
+		* (present(PERPPLAFNU[DGFIP][2017]) + present(V_BTPERPNU[DGFIP][2017]))
+	        * (present(PERPPLAFNU[DGFIP][2017]) + present(V_BTPERPNU[DGFIP][2017]))
+		* (present(PERPPLAFNUi3) + present(V_BTPERPNUi3))
+	        ))
+		+((null(IND_BTANC - 2)
+		* positif(V_BTPERPi + V_BTPERPNU[DGFIP][2017] + V_BTPERPNU[DGFIP][2017] + V_BTPERPNUi3
+		     + PERPPLAFCi + PERPPLAFNU[DGFIP][2017] + PERPPLAFNU[DGFIP][2017] + PERPPLAFNUi3)))));
diff --git a/sources2014m_2_15/chap-plaf.m b/sources2014m_2_15/chap-plaf.m
new file mode 100644
index 0000000000000000000000000000000000000000..6aa2a971a4abcd3308b0c1650415253b10901840
--- /dev/null
+++ b/sources2014m_2_15/chap-plaf.m
@@ -0,0 +1,472 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+regle 8200:
+application : iliad , batch  ;
+LIMIT12 = 18000 + max(0, arr( max(0, R[DGFIP][2017] + TONEQUO1) * (4/100))) 
+		     * (1 - positif((VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS))))
+	        + max(0, 
+		      arr( max(0, 
+				(VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS)) 
+				 + TONEQUOM1
+			      )* (4/100))
+		      ) 
+		      * positif( (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS)) );
+LIMIT11 = 18000 + max(0, arr( max(0, R[DGFIP][2017] + TONEQUO1) * (6/100))) 
+		     * (1 - positif( (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS))))
+	        + max(0, 
+		      arr( max(0, 
+			        (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS)) 
+				  + TONEQUOM1
+			      ) * (6/100))
+		      ) 
+		      * positif( (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS)) );
+LIMIT10 = 20000 + max(0, arr( max(0, R[DGFIP][2017] + TONEQUO1) * (8/100))) 
+		     * (1 - positif( (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS))))
+	        + max(0, 
+		      arr( max(0,
+				(VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS))
+				  + TONEQUOM1
+			      ) * (8/100))
+		     ) 
+		     * positif( (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS)));
+LIMIT9 = 25000 + max(0, arr( max(0, R[DGFIP][2017] + TONEQUO1) * (10/100))) 
+		    * (1 - positif( (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS))))
+               + max(0, 
+		     arr( max(0,
+			       (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS))
+				 + TONEQUOM1
+			     ) * (10/100))
+		    ) 
+		    * positif( (VARRMOND * positif(ART1731BIS) + RMOND * (1 - ART1731BIS)));
+		     
+regle 8201:
+application : iliad , batch  ;
+NAPSANSPENA = NAPTIR - (PIR+PTAXA+PPCAP+PHAUTREV+PTAXLOY) * positif(abs(NAPTIR)) ; 
+AVFISCO = V_NAPTEO * (1 - 2 * V_NEGTEO) - NAPSANSPENA ;
+
+regle 8202:
+application : iliad , batch  ;
+AVFISCOPTER = AVPLAF9 + AVPLA[DGFIP][2017]0 + AVPLA[DGFIP][2017]1 + AVPLA[DGFIP][2017]2 + AVPLA[DGFIP][2017]3 ;
+regle 82463:
+application : iliad , batch  ;
+
+A13RSOC = max(0, arr( RSOC4+RSOC8 + RSOC34+RSOC38 - ( RSOC4+RSOC8 + RSOC34+RSOC38 )*(TX65/100))
+             ) * (1 - V_CNR) * (1-ART1731BIS) ;
+
+regle 82462:
+application : iliad , batch  ;
+
+
+A12RSOC = max(0, arr(RSOC3+RSOC7 + RSOC26+RSOC30 + RSOC33+RSOC37 
+                      - ( RSOC3+RSOC7 + RSOC26+RSOC30 + RSOC33+RSOC37 )*(TX65/100))
+             ) * (1 - V_CNR) * (1-ART1731BIS); 
+
+regle 82461:
+application : iliad , batch  ;
+
+A11RSOC = max(0, arr( RSOC2+RSOC6 + RSOC19+RSOC22 + RSOC25+RSOC29 + RSOC32+RSOC36
+                      - (RSOC2+RSOC6 + RSOC19+RSOC22 + RSOC25+RSOC29 + RSOC32+RSOC36)*(TX65/100))
+
+             ) * (1-ART1731BIS) * (1 - V_CNR);
+
+
+regle 8246:
+application :  iliad , batch  ;
+
+A10RSOC = max(0, arr( RSOC1+RSOC5 + RSOC14+RSOC16 + RSOC18+RSOC21 + RSOC24+RSOC28 + RSOC31+RSOC35
+                      - (RSOC1+RSOC5 + RSOC14+RSOC16 + RSOC18+RSOC21 + RSOC24+RSOC28 + RSOC31+RSOC35)*(TX65/100)) 
+
+             )*(1-ART1731BIS) * (1 - V_CNR);
+
+
+regle 82473:
+application : iliad , batch  ;
+
+
+A13RENT1 = ( RENT18 + RENT24 + RLOC106 + RLOC112  
+           + max (0 , RENT12+RENT36 + RENT06+RENT30 +
+                      RLOC100+RLOC124 + RLOC94+RLOC120
+                    - ( arr((RENT12+RENT36)*(5263/10000)) + arr((RENT06+RENT30)*(625/1000)) +
+                        arr((RLOC100+RLOC124)*(5263/10000)) + arr((RLOC94+RLOC120)*(625/1000))
+                       ))
+             ) * (1 - V_CNR);
+
+A13RENT = max(0, A13RENT1 * (1-ART1731BIS) + min( A13RENT1731+0 , A13RENT1 ) *ART1731BIS ) * (1 - V_CNR);
+
+
+regle 82472:
+application : iliad , batch  ;
+
+
+A12RENT1 = ( RENT17 + RENT23 + RLOC105 + RLOC111 + RLOC67 + RLOC74
+           + max (0 , RENT11+RENT35 + RENT05+RENT29
+                    + RLOC60+RLOC88 + RLOC53+RLOC81 + RLOC99+RLOC123 + RLOC93+RLOC119
+                    - (arr((RENT11+RENT35)*(5263/10000)) + arr((RENT05+RENT29)*(625/1000)) +
+                       arr((RLOC60+RLOC88)*(5263/10000)) + arr((RLOC53+RLOC81)*(625/1000)) +
+                       arr((RLOC99+RLOC123)*(5263/10000)) + arr((RLOC93+RLOC119)*(625/1000))))
+            ) * (1 - V_CNR);
+
+A12RENT = max(0, A12RENT1 * (1-ART1731BIS) + min( A12RENT1731+0 , A12RENT1 ) *ART1731BIS ) * (1 - V_CNR);
+
+regle 82471:
+application : iliad , batch  ;
+
+A11RENT1 = ( RENT14+RENT20+RENT16+RENT22+RLOC102+RLOC108+RLOC104+RLOC110  
+            +RLOC34+RLOC63+RLOC70+RLOC66+RLOC73 
+           + max (0 , RLOC29+RLOC44 + RLOC24+RLOC39 + RLOC56+RLOC84 + RLOC49+RLOC77
+                    + RLOC59+RLOC87 + RLOC52+RLOC80
+                    + RENT08+RENT32 + RENT02+RENT26 + RENT10+RENT34 + RENT04+RENT28
+                    + RLOC96+RLOC116 + RLOC90+RLOC114 + RLOC98+RLOC122 + RLOC92+RLOC118
+
+                   - ( arr((RLOC29+RLOC44)*(5263/10000)) + arr((RLOC24+RLOC39)*(625/1000)) +
+                       arr((RLOC56+RLOC84)*(5263/10000)) + arr((RLOC49+RLOC77)*(625/1000)) +
+                       arr((RLOC59+RLOC87)*(5263/10000)) + arr((RLOC52+RLOC80)*(625/1000)) +
+                       arr((RENT08+RENT32)*(5263/10000)) + arr((RENT02+RENT26)*(625/1000)) +
+                       arr((RENT10+RENT34)*(5263/10000)) + arr((RENT04+RENT28)*(625/1000)) +
+                       arr((RLOC96+RLOC116)*(5263/10000))+ arr((RLOC90+RLOC114)*(625/1000))+
+                       arr((RLOC98+RLOC122)*(5263/10000))+ arr((RLOC92+RLOC118)*(625/1000))))
+            ) * (1 - V_CNR);
+
+A11RENT = max(0, A11RENT1 * (1-ART1731BIS) + min( A11RENT1731+0 , A11RENT1 ) *ART1731BIS ) * (1 - V_CNR);
+
+regle 8247:
+application : iliad , batch  ;
+
+A10RENT1 = ( RENT13+RENT19+RENT15+RENT21+RLOC101+RLOC107+RLOC103+RLOC109 
+             +RLOC13+RLOC31+RLOC33+RLOC62+RLOC69+RLOC65+RLOC72 
+           + max (0 , RLOC11+RLOC17 + RLOC09+RLOC15 + RLOC26+RLOC41 + RLOC21+RLOC36 + RLOC28+RLOC43 
+                    + RLOC55+RLOC83 + RLOC48+RLOC76 + RLOC58+RLOC86 + RLOC51+RLOC79 + RLOC23+RLOC38
+                    + RENT07+RENT31 + RENT01+RENT25 + RENT09+RENT33 + RENT03+RENT27
+                    + RLOC95+RLOC115 + RLOC89+RLOC113 + RLOC97+RLOC121 + RLOC91+RLOC117
+
+                    - (arr((RLOC11+RLOC17)*(50/100)) + arr((RLOC09+RLOC15)*(60/100)) +
+                       arr((RLOC26+RLOC41)*(50/100)) + arr((RLOC21+RLOC36)*(60/100)) +
+                       arr((RLOC55+RLOC83)*(50/100)) + arr((RLOC48+RLOC76)*(60/100)) +
+                       arr((RLOC28+RLOC43)*(5263/10000)) + arr((RLOC23+RLOC38)*(625/1000)) +
+                       arr((RLOC58+RLOC86)*(5263/10000)) + arr((RLOC51+RLOC79)*(625/1000)) +
+                       arr((RENT07+RENT31)*(5263/10000)) + arr((RENT01+RENT25)*(625/1000))+
+                       arr((RENT09+RENT33)*(5263/10000)) + arr((RENT03+RENT27)*(625/1000))+
+                       arr((RLOC95+RLOC115)*(5263/10000)) + arr((RLOC89+RLOC113)*(625/1000)) +
+                       arr((RLOC97+RLOC121)*(5263/10000)) + arr((RLOC91+RLOC117)*(625/1000))))
+            ) * (1 - V_CNR);
+
+A10RENT = max(0, A10RENT1 * (1-ART1731BIS) + min( A10RENT1731+0 , A10RENT1 ) *ART1731BIS ) * (1 - V_CNR);
+
+regle 82492:
+application : iliad , batch  ;
+
+PLAFRED_FORTRA = max( 0, PLAF_FOREST1 * (1 + BOOL_0AM) - ACOTFOR);
+
+BASE7UXI = max(0, min (REPSINFOR+REPFOR + REPSINFOR1+REPFOR1 + REPSINFOR2 + REPFOR2+REPSINFOR2+ REPFOR3+REPSINFOR4 , PLAFRED_FORTRA)
+			   - (REPSINFOR+REPFOR + REPSINFOR1+REPFOR1 + REPSINFOR2 + REPFOR2+REPSINFOR2)) * (1 - V_CNR) ;
+
+BA13UXI = arr((BASE7UXI)* TX18 / 100 );
+regle 824921:
+application : iliad , batch  ;
+A13UXI = max(0, min( BA13UXI ,IDOM11-DEC11-RCOTFOR-RREPA-RAIDE-RDIFAGRI-RFORET-RFIPDOM-RFIPC-RCINE
+                                          -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV
+                                          -RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOTOT-RPINELTOT-RNOUV-RPLAFREPME4
+                                          -A9RFOR-A10RFOR-A11RFOR-A12RFOR )
+             ) * (1-ART1731BIS) ;
+
+regle 824922:
+application : iliad , batch  ;
+
+BASE7UN = (min (RDFOREST, PLAF_FOREST * (1 + BOOL_0AM))) * (1 - V_CNR) ;
+BA14UN  = arr(BASE7UN * TX18 / 100 ) ;
+
+A14UN = max(0,
+	       min( BA14UN ,IDOM11-DEC11-RCOTFOR-RREPA-RAIDE-RDIFAGRI-RFORET-RFIPDOM-RFIPC-RCINE
+                                          -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV
+                                          -RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOTOT-RPINELTOT-RNOUV-RPLAFREPME4
+                                          -A9RFOR-A10RFOR-A11RFOR-A12RFOR-A13UXI) 
+             ) * (1-ART1731BIS) ;
+
+
+
+regle 824923:
+application : iliad , batch  ;
+A13RFOR = ( A13UXI + A14UN ) * (1-ART1731BIS) ; 
+
+
+        
+regle 824910:
+application : iliad , batch  ;
+
+BASE7UWH = max(0, min (REPFOR+REPSINFOR + REPFOR1+REPSINFOR1 + REPFOR2+REPSINFOR2+REPSINFOR3 , PLAFRED_FORTRA)
+			   - (REPFOR+REPSINFOR + REPFOR1+REPSINFOR1+REPSINFOR2)) * (1 - V_CNR) ;
+
+BA12RFOR  = arr(BASE7UWH * TX18 / 100 ) ;
+
+A12RFOR = max(0,
+	       min( BA12RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RAIDE-RDIFAGRI-RFORET-RFIPDOM-RFIPC-RCINE
+                                          -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV
+                                          -RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOTOT-RPINELTOT-RNOUV-RPLAFREPME4
+                                          -A9RFOR-A10RFOR-A11RFOR)
+
+             ) * (1-ART1731BIS) ;
+
+regle 82491:
+application : iliad , batch  ;
+
+BASE7UVG = max(0, min (REPFOR + REPSINFOR + REPFOR1 + REPSINFOR1 + REPSINFOR2 , PLAFRED_FORTRA)
+			   - (REPFOR + REPSINFOR + REPSINFOR1)) * (1 - V_CNR) ;
+
+BA11RFOR  = arr(BASE7UVG * TX22 / 100 ) ;
+
+A11RFOR = max(0,
+	       min( BA11RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RAIDE-RDIFAGRI-RFORET-RFIPDOM-RFIPC-RCINE
+                                          -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV
+                                          -RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOTOT-RPINELTOT-RNOUV-RPLAFREPME4
+                                          -A9RFOR-A10RFOR)
+             ) * (1-ART1731BIS) ;
+
+
+regle 8249:
+application : iliad , batch  ;
+BASE7UTF = max(0, min (REPFOR + REPSINFOR + REPSINFOR1, PLAFRED_FORTRA) - REPSINFOR)
+            * (1 - V_CNR) ;
+
+BA10RFOR  = arr(BASE7UTF * TX25 / 100 ) ;
+
+A10RFOR = max(0,
+	       min( BA10RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RAIDE-RDIFAGRI-RFORET-RFIPDOM-RFIPC-RCINE
+                                          -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV
+                                          -RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOTOT-RPINELTOT-RNOUV-RPLAFREPME4
+                                          -A9RFOR )
+             ) * (1-ART1731BIS) ;
+
+
+regle 82500:
+application : iliad , batch  ;
+
+BA9RFOR  = arr( min ( REPSINFOR , PLAFRED_FORTRA) * TX25 / 100 ) * (1 - V_CNR) ;
+
+A9RFOR = max(0,
+	       min( BA9RFOR ,IDOM11-DEC11-RCOTFOR-RREPA-RAIDE-RDIFAGRI-RFORET-RFIPDOM-RFIPC-RCINE
+                                          -RRESTIMO-RSOCREPR-RRPRESCOMP-RHEBE-RSURV-RINNO-RSOUFIP-RRIRENOV
+                                          -RLOGDOM-RCREAT-RCOMP-RRETU-RDONS-RDUFLOTOT-RPINELTOT-RNOUV-RPLAFREPME4) 
+             ) * (1-ART1731BIS) ;
+
+
+
+regle 8252:
+application : iliad , batch  ;
+A10TOURSOC_1 = RTOURREP*positif(REPINVTOU)
+             + RTOUHOTR*positif(INVLOGHOT) * (1-positif(null(2-V_REGCO)+null(4-V_REGCO)))
+             + RTOUREPA*positif(INVLOGREHA);
+
+A10TOURSOC = max(0, A10TOURSOC_1 * (1-ART1731BIS)
+                  + min(A10TOURSOC1731+0 , A10TOURSOC_1) * ART1731BIS
+                );
+
+regle 8250:
+application : iliad , batch  ;
+
+A13REELA =  RCOTFOR
+         + RFIPDOM + RAIDE
+	 + RFIPC  
+         + RINNO + RSOUFIP + RRIRENOV 
+         + RDUFLOEKL
+         + RPINELTOT
+         + A13RFOR 
+           + arr(RSNCF + RSNCU + RSNCC + RSNCR + RPLAFREPME4)
+	 + RCODOU
+           + CIDEVDUR + CIGARD + CIADCRE 
+	   + CIHABPRIN + CILOYIMP 
+           + CIFORET
+
+
+         +  RDUFREPFI
+         +  RDUFLOGIH
+	 + RCODJT
+         + RILMPE + RILMOA
+        + RPATNAT ;
+
+
+A13REELB = RCINE 
+           + RLOG32 + RLOG39
+           + A13RSOC
+           + A13RENT ;
+
+regle 8254:
+application : iliad , batch  ;
+
+
+AUBAINE13A = max(0, min(V_A13REELA, V_DIFTEOREEL)) ;
+AUBAINE13B = max(0, min(V_A13REELB, V_DIFTEOREEL - AUBAINE13A)) ;
+
+regle 8255:
+application : iliad , batch  ;
+
+A12REEL = A12RFOR 
+
+          + A12RRESTIMO
+
+         + RLO[DGFIP][2017]5 * (1-ART1731BIS) + min (RLO[DGFIP][2017]51731+0 , RLO[DGFIP][2017]5) * ART1731BIS
+         + RLOG31 * (1-ART1731BIS)
+         + RLOG38 * (1-ART1731BIS)
+
+         + RTOURREP * positif(COD7UY) + RTOUREPA * positif(COD7UZ)
+
+          + arr( RSNCN + RSNCQ )
+
+         + RCELRREDMG + RCELRREDMH
+         + RCELREPGV + RCELREPGJ
+         + RCELREPYJ + RCELREPYB + RCELREPYI + RCELREPYA
+         + RCELJOQR + RCEL2012 + RCELFD + RCELFABC 
+
+         + RCODIF + RCODIG + RCODID
+         + RILMJV + RILMJS + RCODJU
+         + RILMPD + RILMOB
+
+        + RPATNAT3
+
+        + A12RSOC   
+
+        + A12RENT ;
+
+regle 8256:
+application : iliad , batch  ;
+
+AUBAINE12 = max( 0, min( V_A12REEL , V_DIFTEOREEL - AUBAINE13A - AUBAINE13B ))   ;
+
+regle 8260:
+application : iliad , batch  ;
+A11REEL = (RLO[DGFIP][2017]6 + RLO[DGFIP][2017]1 + RLO[DGFIP][2017]4) * (1 - ART1731BIS)
+	  + (min(RLO[DGFIP][2017]61731+0,RLO[DGFIP][2017]6) + min(RLO[DGFIP][2017]11731+0,RLO[DGFIP][2017]1) + min(RLO[DGFIP][2017]41731+0, RLO[DGFIP][2017]4)) * ART1731BIS
+          + RLO[DGFIP][2017]8 + RLOG30
+          + RLOG35 +RLOG37
+
+
+        + A11RSOC
+
+         + arr( RSNCM )
+
+        + RCELRREDLF + RCELRREDLZ + RCELRREDLX
+        + RCELREPHG + RCELREPHA + RCELREPGW + RCELREPGL + RCELREPGK 
+        + RCELREPYK + RCELREPYD + RCELREPYC
+        + RCELCOM + RCEL + RCELJP + RCELJBGL
+
+        + RCODIE + RCODIN + RCODIV + RCODIJ
+        + RILMIZ + RILMIA  
+        + RILMJI + RILMJW
+        + RILMPC + RILMOC
+
+         + RTOURREP*positif(INVLOCXN) + RTOUREPA*positif(INVLOCXV)
+
+        + RPATNAT2  
+
+        + A11RENT
+
+        + A11RFOR ;
+regle 8261:
+application : iliad , batch  ;
+
+AUBAINE11 = max( 0, min( V_A11REEL , V_DIFTEOREEL - AUBAINE13A-AUBAINE13B-AUBAINE12 ));
+regle 8262:
+application : iliad , batch  ;
+
+
+A10REEL = (RLO[DGFIP][2017]1 + RLO[DGFIP][2017]3 + RLO[DGFIP][2017]5 + RLO[DGFIP][2017]8 + RLO[DGFIP][2017]0 + RLO[DGFIP][2017]3 + RLO[DGFIP][2017]6 + RLO[DGFIP][2017]7 + RLO[DGFIP][2017]9) * (1-ART1731BIS)
+	  + (min(RLO[DGFIP][2017]11731+0, RLO[DGFIP][2017]1) + min(RLO[DGFIP][2017]31731+0 , RLO[DGFIP][2017]3) + min(RLO[DGFIP][2017]51731+0, RLO[DGFIP][2017]5)
+	    + min(RLO[DGFIP][2017]81731+0, RLO[DGFIP][2017]8) + min(RLO[DGFIP][2017]01731+0, RLO[DGFIP][2017]0) + min(RLO[DGFIP][2017]31731+0, RLO[DGFIP][2017]3)) * ART1731BIS
+          + RLOG33 + RLOG34 + RLOG36
+          
+
+         + A10RSOC  
+
+          + arr( RSNCL ) 
+
+         + A10RENT 
+
+         + RCELRREDLC + RCELRREDLD + RCELRREDLS + RCELRREDLT
+         + RCELREPHW + RCELREPHV + RCELREPHD + RCELREPHH 
+         + RCELREPHB + RCELREPGX + RCELREPGS + RCELREPGP 
+         + RCELREPYL + RCELREPYF + RCELREPYE
+	 + RCELHJK + RCELNQ + RCELNBGL
+
+         + RINVRED + RREPMEU + RCODIM
+	 + RCODIL 
+	 + RILMIH + RILMIB + RILMJC +RILMJX 
+         + RILMPB + RILMOD
+
+         + A10TOURSOC
+
+	 + RPATNAT1
+
+         + A10RFOR ;
+
+regle 8263:
+application : iliad , batch  ;
+ 
+AUBAINE10 = max( 0, min( V_A10REEL , V_DIFTEOREEL - AUBAINE13A-AUBAINE13B-AUBAINE12-AUBAINE11 ));
+
+regle 8280:
+application : iliad , batch  ;
+
+AUBAINE9 = max(0, V_DIFTEOREEL - AUBAINE13A - AUBAINE13B - AUBAINE12 - AUBAINE11 - AUBAINE10);
+regle 8290:
+application : iliad , batch  ;
+AVPLA[DGFIP][2017]3A = max(0, AUBAINE13A - LIM10000 ) * positif(V_DIFTEOREEL) ;
+
+AVPLA[DGFIP][2017]3B = max(0, min(AUBAINE13A , LIM10000) + AUBAINE13B - LIM18000 ) * positif(V_DIFTEOREEL) ;
+
+AVPLA[DGFIP][2017]3 = AVPLA[DGFIP][2017]3A + AVPLA[DGFIP][2017]3B;
+
+AVPLA[DGFIP][2017]2 = max(0, AUBAINE13A + AUBAINE13B + AUBAINE12 
+                  - AVPLA[DGFIP][2017]3 - LIMIT12) * positif(V_DIFTEOREEL);
+
+AVPLA[DGFIP][2017]1 = max(0, AUBAINE13A + AUBAINE13B + AUBAINE12 + AUBAINE11 
+                  - AVPLA[DGFIP][2017]3 - AVPLA[DGFIP][2017]2 - LIMIT11) * positif(V_DIFTEOREEL);
+
+AVPLA[DGFIP][2017]0 = max(0, AUBAINE13A + AUBAINE13B + AUBAINE12 + AUBAINE11 + AUBAINE10 
+                  - AVPLA[DGFIP][2017]3 - AVPLA[DGFIP][2017]2 - AVPLA[DGFIP][2017]1 - LIMIT10) * positif(V_DIFTEOREEL);
+
+AVPLAF9  = max(0, AUBAINE13A + AUBAINE13B + AUBAINE12 + AUBAINE11 + AUBAINE10 + AUBAINE9 
+                  - AVPLA[DGFIP][2017]3 - AVPLA[DGFIP][2017]2 - AVPLA[DGFIP][2017]1 - AVPLA[DGFIP][2017]0 - LIMIT9) * positif(V_DIFTEOREEL);
+
+regle 8321:
+application : iliad , batch  ;
+RFTEO = RFORDI + RFROBOR; 
+regle 8331:
+application : iliad , batch  ;
+
+
+RFNTEO = (RFORDI + RFROBOR - min(
+                                     min(RFDORD,RFDOR[DGFIP][2017]731+0) * positif(ART1731BIS) + RFDORD * (1 - ART1731BIS)
+                          
+			           + min(RFDANT,RFDANT1731+0) * positif(ART1731BIS) + RFDANT * (1 - ART1731BIS) ,
+                              
+                                    RFORDI + RFROBOR
+                                ) 
+                           - RFDHIS * (1 - ART1731BIS)      
+
+         ) * present(RFROBOR) + RRFI * (1-present(RFROBOR));
+
+regle 8341:
+application : iliad , batch  ;
+RRFTEO = RFNTEO;
+ 
+
+
+
diff --git a/sources2014m_2_15/chap-teff.m b/sources2014m_2_15/chap-teff.m
new file mode 100644
index 0000000000000000000000000000000000000000..22afaa84545abc2013fb6fea9617073d18d9e628
--- /dev/null
+++ b/sources2014m_2_15/chap-teff.m
@@ -0,0 +1,575 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 99991000:
+application : iliad , batch ;
+
+pour i = V,C,P:
+TMIB_TVENi = MIBVENi + AUTOBICVi + MIBNPVENi + MIBGITEi+LOCGITi;
+
+pour i = V,C,P:
+TMIB_TPRESi = MIBPRESi + AUTOBICPi + MIBNPPRESi + MIBMEUi;
+
+pour i = V,C,P:
+TMIB_TTi = TMIB_TVENi + TMIB_TPRESi;
+regle 99991004:
+application : iliad , batch ;
+
+
+pour i = V,C,P:
+TMIB_AVi = min ( TMIB_TVENi,
+                         (max(MIN_MBIC,
+                              arr( (TMIB_TVENi)*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+TMIB_VENTAi = min ( (MIBVENi + MIBNPVENi),
+                         (max(MIN_MBIC,
+                              arr( (MIBVENi + MIBNPVENi)*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+TMIB_AUTOAVi= TMIB_AVi - TMIB_VENTAi; 
+
+
+pour i = V,C,P:
+TMIB_APi = min ( TMIB_TPRESi,
+                         (max(MIN_MBIC,
+                              arr( (TMIB_TPRESi)*TX_MIBPRES/100))
+                         )
+               );
+pour i = V,C,P:
+TMIB_PRESAi = min ( (MIBPRESi + MIBNPPRESi),
+                         (max(MIN_MBIC,
+                              arr( (MIBPRESi + MIBNPPRESi)*TX_MIBPRES/100))
+                         )
+               );
+pour i = V,C,P:
+TMIB_AUTOAPi= TMIB_APi - TMIB_PRESAi; 
+pour i = V,C,P:
+TPMIB_AVi = min ( (MIBVENi + AUTOBICVi),
+                         (max(MIN_MBIC,
+                              arr( (MIBVENi+ AUTOBICVi)*TX_MIBVEN/100))
+                         )
+              );
+pour i = V,C,P:
+TPMIB_APi = min ( (MIBPRESi+ AUTOBICPi),
+                         (max(MIN_MBIC,
+                              arr( (MIBPRESi+ AUTOBICPi)*TX_MIBPRES/100))
+                         )
+               );
+
+
+regle 99991005:
+application : iliad , batch ;
+
+pour i = V,C,P:
+TMIB_ABVi = max(0,arr(TMIB_AVi * (MIBVENi + AUTOBICVi)/ (TMIB_TVENi)));
+pour i = V,C,P:
+TMIB_ABNPVi = max(0,arr(TMIB_AVi * MIBNPVENi / TMIB_TVENi))* positif(present(MIBGITEi)+present(LOCGITi))
+	      + (TMIB_AVi - TMIB_ABVi) * (1 - positif(present(MIBGITEi)+present(LOCGITi)));
+pour i = V,C,P:
+TMIB_ABNPVLi = (TMIB_AVi - TMIB_ABVi - TMIB_ABNPVi) *  positif(present(MIBGITEi)+present(LOCGITi));
+
+pour i = V,C,P:
+TMIB_ABPi = max(0,arr(TMIB_APi * (MIBPRESi + AUTOBICPi)/ (TMIB_TPRESi)));
+pour i = V,C,P:
+TMIB_ABNPPi = max(0,arr(TMIB_APi * MIBNPPRESi / (TMIB_TPRESi))) * present(MIBMEUi)
+	      + (TMIB_APi - TMIB_ABPi) * (1 - present(MIBMEUi));
+pour i = V,C,P:
+TMIB_ABNPPLi = (TMIB_APi - TMIB_ABPi - TMIB_ABNPPi) *  present(MIBMEUi);
+
+
+regle 99991006:
+application : iliad , batch ;
+pour i = V,C,P:
+TPMIB_NETVi = MIBVENi + AUTOBICVi - TPMIB_AVi;
+pour i = V,C,P:
+TPMIB_NETPi = MIBPRESi + AUTOBICPi - TPMIB_APi;
+
+pour i = V,C,P:
+TMIB_NETVi = MIBVENi + AUTOBICVi - TMIB_ABVi;
+TMIBNETVF = somme(i=V,C,P:TMIB_NETVi) ;
+pour i = V,C,P:
+TMIB_NETNPVi = MIBNPVENi - TMIB_ABNPVi;
+TMIBNETNPVF = somme(i=V,C,P:TMIB_NETNPVi);
+
+pour i = V,C,P:
+TMIB_NETPi = MIBPRESi + AUTOBICPi - TMIB_ABPi;
+TMIBNETPF = somme(i=V,C,P:TMIB_NETPi) ;
+pour i = V,C,P:
+TMIB_NETNPPi = MIBNPPRESi - TMIB_ABNPPi;
+TMIBNETNPPF = somme(i=V,C,P:TMIB_NETNPPi);
+
+TBICPABV =   arr((TMIB_ABVV * AUTOBICVV/(MIBVENV+AUTOBICVV))
+          + (TMIB_ABPV * AUTOBICPV/(MIBPRESV+AUTOBICPV)));
+
+TBICPROVC = max(0,arr((TMIB_ABVC * AUTOBICVC/(MIBVENC+AUTOBICVC)) + (TMIB_ABPC * AUTOBICPC/(MIBPRESC+AUTOBICPC))));
+
+TBICPABC =  min(TBICPROVC,arr((TMIB_ABVC * AUTOBICVC/(MIBVENC+AUTOBICVC))
+          + (TMIB_ABPC * AUTOBICPC/(MIBPRESC+AUTOBICPC))));
+
+TBICPROVP = max(0,arr((TMIB_ABVP * AUTOBICVP/(MIBVENP+AUTOBICVP)) + (TMIB_ABPP * AUTOBICPP/(MIBPRESP+AUTOBICPP))));
+
+TBICPABP =  min(TBICPROVP,arr((TMIB_ABVP * AUTOBICVP/(MIBVENP+AUTOBICVP))
+          + (TMIB_ABPP* AUTOBICPP/(MIBPRESP+AUTOBICPP))));
+
+TBICNPABV = arr((TMIB_ABNPVV /(MIBNPVENV))
+          + (TMIB_ABNPPV /(MIBNPPRESV)));
+TBICNPPROVC = max(0,arr((TMIB_ABNPVC /(MIBNPVENC)) + (TMIB_ABNPPC /(MIBNPPRESC))));
+TBICNPABC = min(TBICNPPROVC,arr((TMIB_ABNPVC /(MIBNPVENC))
+          + (TMIB_ABNPPC /(MIBNPPRESC))));
+TBICNPPROVP = max(0,arr((TMIB_ABNPVP /(MIBNPVENP)) + (TMIB_ABNPPP /(MIBNPPRESP))));
+TBICNPABP = min(TBICNPPROVP,arr((TMIB_ABNPVP /(MIBNPVENP))
+          + (TMIB_ABNPPP /(MIBNPPRESP))));
+ABICPDECV = AUTOBICVV + AUTOBICPV;
+ABICPDECC = AUTOBICVC + AUTOBICPC;
+ABICPDECP = AUTOBICVP + AUTOBICPP;
+ABICPNETV =  AUTOBICVV + AUTOBICPV - max(0,TMIB_AUTOAVV-TMIB_ABNPVLV) -max(0,TMIB_AUTOAPV-TMIB_ABNPPLV);
+ABICPNETC =  AUTOBICVC + AUTOBICPC - max(0,TMIB_AUTOAVC-TMIB_ABNPVLC) -max(0,TMIB_AUTOAPC-TMIB_ABNPPLC);
+ABICPNETP =  AUTOBICVP + AUTOBICPP - max(0,TMIB_AUTOAVP-TMIB_ABNPVLP) -max(0,TMIB_AUTOAPP-TMIB_ABNPPLP);
+
+AUTOBICPNET = ABICPNETV + ABICPNETC + ABICPNETP;
+regle 99991009:                                                                    
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPETOTi = BNCPROi + AUTOBNCi + BNCNPi ;
+regle 99991010:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPEBASABi=TSPETOTi;
+pour i = V,C,P:                                                                 
+TSPEABi = arr((max(MIN_SPEBNC,(TSPEBASABi * SPETXAB/100))) * 
+                       positif_ou_nul(TSPETOTi - MIN_SPEBNC)) +
+          arr((min(MIN_SPEBNC,TSPEBASABi )) * 
+                       positif(MIN_SPEBNC - TSPETOTi)); 
+regle 99991011:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPEABPi = arr((TSPEABi * (BNCPROi + AUTOBNCi))/TSPETOTi);                                  
+pour i = V,C,P:                                                                 
+TBNCPABi = arr(TSPEABPi * AUTOBNCi/(BNCPROi+AUTOBNCi)); 
+pour i = V,C,P:                                                                 
+TBNCTOTABi = arr(TSPEABi * (AUTOBNCi)/(TSPETOTi)); 
+
+pour i = V,C,P:                                                                 
+TSPEABNPi = TSPEABi - TSPEABPi;                                  
+pour i = V,C,P:                                                                 
+TBNCNPABi = (TBNCTOTABi - TBNCPABi) ;
+
+pour i = V,C,P:                                                                 
+ABNCPDECi =  AUTOBNCi; 
+pour i = V,C,P:                                                                 
+ABNCPNETi =  AUTOBNCi - TBNCPABi; 
+pour i = V,C,P:                                                                 
+HONODECi = XHONOi + XHONOAAi;
+pour i = V,C,P:                                                                 
+HONONETi = arr(XHONOi * MAJREV) + XHONOAAi ;
+AUTOBNCPNET = ABNCPNETV + ABNCPNETC + ABNCPNETP;
+HONONET = HONONETV + HONONETC + HONONETP;
+regle 99991012:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TSPENETPi = max (0,(BNCPROi  + AUTOBNCi - TSPEABPi));
+pour i = V,C,P:                                                                 
+TSPENETNPi = max (0,(BNCNPi - TSPEABNPi));
+pour i = V,C,P:                                                                 
+TSPENETi = TSPENETPi + TSPENETNPi;
+TSPENET = somme(i=V,C,P:(TSPENETi));
+regle 99991020:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TXSPEAAi = BNCREi + XHONOAAi - (BNCDEi * (1 - positif(ART1731BIS) ));
+regle 99991022:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TXSPEHi = max(0,arr((BNHREi + XHONOi - (BNHDEi * (1 - positif(ART1731BIS) )))*MAJREV))
+	 + min(0,(BNHREi + XHONOi - (BNHDEi * (1 - positif(ART1731BIS) ))));
+regle 99991024:
+application : iliad , batch  ;                          
+pour i = V,C,P:                                                                 
+TXSPENETi = TXSPEAAi + TXSPEHi;
+regle 99991026:
+application : iliad , batch  ;                          
+TXSPENET = somme(i=V,C,P:(TXSPENETi));
+ #
+ #                         REVENUS CATEGORIELS NETS
+ #                 TS
+ #
+regle 99992000:
+application : iliad , batch  ;
+TTSBNV = TSHALLOV + ALLOV+max(0,SALEXTV - CO[DGFIP][2017]AD);
+TTSBNC = TSHALLOC + ALLOC+max(0,SALEXTC - CO[DGFIP][2017]BD);
+TTSBN1 = TSHALLO1 + ALLO1+max(0,SALEXT1 - CO[DGFIP][2017]CD);
+TTSBN2 = TSHALLO2 + ALLO2+max(0,SALEXT2 - CO[DGFIP][2017]DD);
+TTSBN3 = TSHALLO3 + ALLO3+max(0,SALEXT3 - CO[DGFIP][2017]ED);
+TTSBN4 = TSHALLO4 + ALLO4+max(0,SALEXT4 - CO[DGFIP][2017]FD);
+TTSHALLOP=TSHALLO1+TSHALLO2+TSHALLO3+TSHALLO4;
+TALLOP=ALLO1+ALLO2+ALLO3+ALLO4;
+TTSBNP=TTSHALLOP+TALLOP;
+
+pour i=V,C:
+T2TSNi = CARTSi + REMPLAi;
+pour i=1,2,3,4:
+T2TSNi = CARTSPi + REMPLAPi;
+TEXTSV = TTSBNV + BPCOSAV + GLDGRATV + T2TSNV;
+TEXTSC = TTSBNC + BPCOSAC + GLDGRATC + T2TSNC;
+TGATASAV = BPCOSAV + GLDGRATV ;
+TGATASAC = BPCOSAC + GLDGRATC ;
+
+pour i=1..4:
+TEXTSi = TTSBNi + T2TSNi;
+TTSBV = TEXTSV + somme(x=1..3:GLDxV)+CODDAJ+CODEAJ ;
+TTSBC = TEXTSC + somme(x=1..3:GLDxC)+CODDBJ+CODEBJ ;
+pour i=1,2,3,4:
+TTSBi = TEXTSi;
+TTSBP = somme(i=1..4:TTSBi);
+pour i=V,C,1..4:
+TPRBi = PRBRi + PALIi + PENINi;
+
+T2PRBV = CARPEV + PENSALV + CODRAZ;
+T2PRBC = CARPEC + PENSALC + CODRBZ;
+T2PRB1 = CARPE[DGFIP][2017] + PENSAL[DGFIP][2017] + CODRCZ;
+T2PRB2 = CARPE[DGFIP][2017] + PENSAL[DGFIP][2017] + CODRDZ;
+T2PRB3 = CARPEP3 + PENSALP3 + CODREZ;
+T2PRB4 = CARPEP4 + PENSALP4 + CODRFZ;
+TEXPRV = TPRBV + CO[DGFIP][2017]AH + T2PRBV + PEBFV;
+TEXPRC = TPRBC + CO[DGFIP][2017]BH + T2PRBC + PEBFC;
+TEXPR1 = TPRB1 + CO[DGFIP][2017]CH + T2PRB1 + PEB[DGFIP][2017];
+TEXPR2 = TPRB2 + CO[DGFIP][2017]DH + T2PRB2 + PEB[DGFIP][2017];
+TEXPR3 = TPRB3 + CO[DGFIP][2017]EH + T2PRB3 + PEBF3;
+TEXPR4 = TPRB4 + CO[DGFIP][2017]FH + T2PRB4 + PEBF4;
+pour i = V,C,1..4:
+TEXSPBi = TEXTSi + TEXPRi ;
+regle 99992100:
+application : iliad , batch  ;
+pour i = V,C,1..4:
+TTPS10i = arr (TTSBi * TX_DEDFORFTS /100);
+pour i = V,C,1..4:
+TDFNi =  min( PLAF_DEDFORFTS , TTPS10i );
+regle 99992200:
+application : iliad , batch  ;
+pour i = V,C,1..4:
+TDEDMINi = positif(DETSi)* MIN_DEMEMPLOI + (1- positif(DETSi))* MIN_DEDSFORFTS;
+pour i = V,C,1..4:
+T10MINSi= max( min(TTSBi,TDEDMINi) , TDFNi );
+pour i = V,C,1..4:
+TIND_10MIN_0i = positif(TDEDMINi - TDFNi ) * positif (TTSBi );
+pour i = V,C,1..4 :
+TIND_MINi = 1 - positif( TIND_10MIN_0i );
+regle 99992300:
+application : iliad , batch  ;
+T10MINSP = T10MINS1 + T10MINS2 + T10MINS3 + T10MINS4;
+TFRDPROVV = TTSBNV + TPRV + PALIV - TAPRV;
+TFRDPROVC = TTSBNC + TPRC + PALIC - TAPRC;
+TFRDPROV1 = TTSBN1 + PRBR1 + PAL[DGFIP][2017] - TAPR1;
+TFRDPROV2 = TTSBN2 + PRBR2 + PAL[DGFIP][2017] - TAPR2;
+TFRDPROV3 = TTSBN3 + PRBR3 + PALI3 - TAPR3;
+TFRDPROV4 = TTSBN4 + PRBR4 + PALI4 - TAPR4;
+TFRDPROVP = TFRDPROV1 +TFRDPROV2 +TFRDPROV3 +TFRDPROV4;
+TFRDP = (1-positif(PREM8_11)) * (FRNP+CO[DGFIP][2017]CE+CO[DGFIP][2017]DE+CO[DGFIP][2017]EE+CO[DGFIP][2017]FE) * positif(FRNP+CO[DGFIP][2017]CE+CO[DGFIP][2017]DE+CO[DGFIP][2017]EE+CO[DGFIP][2017]FE - T10MINSP)
+      + null(4-V_IND_TRAIT) * positif(PREM8_11) * min(FRNP+CO[DGFIP][2017]CE+CO[DGFIP][2017]DE+CO[DGFIP][2017]EE+CO[DGFIP][2017]FE,TFRDPROVP)
+      + null(5-V_IND_TRAIT) * positif(PREM8_11) * min(FRNP+CO[DGFIP][2017]CE+CO[DGFIP][2017]DE+CO[DGFIP][2017]EE+CO[DGFIP][2017]FE,max(TFRDPROVP[DGFIP][2017],TFRDPROV[DGFIP][2017]731));
+
+TFRDV = (1-positif(PREM8_11)) * (FRNV+CO[DGFIP][2017]AE) * positif(FRNV+CO[DGFIP][2017]AE - T10MINSV)
+                + null(4-V_IND_TRAIT) * positif(PREM8_11) * min(FRNV+CO[DGFIP][2017]AE,TFRDPROVV)
+                + null(5-V_IND_TRAIT) * positif(PREM8_11) * min(FRNV+CO[DGFIP][2017]AE,min(TFRDPROVV,max(TFRDPROVV[DGFIP][2017],TFRDPROVV1731)));
+
+TFRDC = (1-positif(ART1731BIS)) * (FRNC+CO[DGFIP][2017]BE) * positif(FRNC+CO[DGFIP][2017]BE - T10MINSC)
+        + null(4-V_IND_TRAIT) * positif(PREM8_11) * min(FRNC+CO[DGFIP][2017]BE,TFRDPROVC)
+        + null(5-V_IND_TRAIT) * positif(PREM8_11) * min(FRNC+CO[DGFIP][2017]BE,min(TFRDPROVC,max(TFRDPROVC[DGFIP][2017],TFRDPROVC1731)));
+
+
+
+TFR[DGFIP][2017] = (1-positif(PREM8_11)) * (FRN1+CO[DGFIP][2017]CE) * positif(FRN1+CO[DGFIP][2017]CE - T10MINS1)
+        + null(4-V_IND_TRAIT) * (positif(PREM8_11) * min(FRN1+CO[DGFIP][2017]CE,TFRDPROV1) * positif(FRN2+FRN3+FRN4+CO[DGFIP][2017]DE+CO[DGFIP][2017]EE+CO[DGFIP][2017]FE)
+                                        + positif(PREM8_11) * max(0,TFRDP) * (1-positif(FRN2+FRN3+FRN4+CO[DGFIP][2017]DE+CO[DGFIP][2017]EE+CO[DGFIP][2017]FE)))
+        + null(5-V_IND_TRAIT) * (positif(PREM8_11) * min(FRN1+CO[DGFIP][2017]CE,min(TFRDPROV1,max(TFRDPROV1[DGFIP][2017],TFRDPROV11731))) * positif(FRN2+FRN3+FRN4+CO[DGFIP][2017]DE+CO[DGFIP][2017]EE+CO[DGFIP][2017]FE)
+                                        + positif(PREM8_11) * max(0,TFRDP) * (1-positif(FRN2+FRN3+FRN4+CO[DGFIP][2017]DE+CO[DGFIP][2017]EE+CO[DGFIP][2017]FE)));
+
+
+
+TFR[DGFIP][2017] = (1-positif(PREM8_11)) * (FRN2+CO[DGFIP][2017]DE) * positif(FRN2+CO[DGFIP][2017]DE - T10MINS2)
+        + null(4-V_IND_TRAIT) * (positif(PREM8_11) * min(FRN2+CO[DGFIP][2017]DE,TFRDPROV2) * positif(FRN3+FRN4+CO[DGFIP][2017]EE+CO[DGFIP][2017]FE)
+                                        + positif(PREM8_11) * max(0,TFRDP-TFR[DGFIP][2017]) * (1-positif(FRN3+FRN4+CO[DGFIP][2017]EE+CO[DGFIP][2017]FE)))
+        + null(5-V_IND_TRAIT) * (positif(PREM8_11) * min(FRN2+CO[DGFIP][2017]DE,min(TFRDPROV2,max(TFRDPROV2[DGFIP][2017],TFRDPROV21731))) * positif(FRN3+FRN4+CO[DGFIP][2017]EE+CO[DGFIP][2017]FE)
+                                        + positif(PREM8_11) * max(0,TFRDP-TFR[DGFIP][2017]) * (1-positif(FRN3+FRN4+CO[DGFIP][2017]EE+CO[DGFIP][2017]FE)));
+
+
+
+TFRD3 = (1-positif(PREM8_11)) * (FRN3+CO[DGFIP][2017]EE) * positif(FRN3+CO[DGFIP][2017]EE - T10MINS3)
+        + null(4-V_IND_TRAIT) * (positif(PREM8_11) * min(FRN3+CO[DGFIP][2017]EE,TFRDPROV3) * positif(FRN4+CO[DGFIP][2017]FE)
+                                        + positif(PREM8_11) * max(0,TFRDP-TFR[DGFIP][2017]-TFR[DGFIP][2017]) * (1-positif(FRN4+CO[DGFIP][2017]FE)))
+        + null(5-V_IND_TRAIT) * (positif(PREM8_11) * min(FRN3+CO[DGFIP][2017]EE,min(TFRDPROV3,max(TFRDPROV3[DGFIP][2017],TFRDPROV31731))) * positif(FRN4+CO[DGFIP][2017]FE)
+                                        + positif(PREM8_11) * max(0,TFRDP-TFR[DGFIP][2017]-TFR[DGFIP][2017]) * (1-positif(FRN4+CO[DGFIP][2017]FE)));
+
+
+
+TFRD4 =  max(0,TFRDP - TFR[DGFIP][2017] - TFR[DGFIP][2017] - TFRD3);
+
+TIND_10V = positif_ou_nul( T10MINSV - (TFRDV+CO[DGFIP][2017]AE) ) ;
+TIND_10C = positif_ou_nul( T10MINSC - (TFRDC+CO[DGFIP][2017]BE) ) ;
+TIND_101 = positif_ou_nul( T10MINS1 - (TFR[DGFIP][2017]+CO[DGFIP][2017]CE) ) ;
+TIND_102 = positif_ou_nul( T10MINS2 - (TFR[DGFIP][2017]+CO[DGFIP][2017]DE) ) ;
+TIND_103 = positif_ou_nul( T10MINS3 - (TFRD3+CO[DGFIP][2017]EE) ) ;
+TIND_104 = positif_ou_nul( T10MINS4 - (TFRD4+CO[DGFIP][2017]FE) ) ;
+pour i = V,C,1..4:
+TFPTi = max(TFRDi, T10MINSi);
+pour i = V,C,1..4:
+T[DGFIP][2017]0Mi = TIND_MINi *TDFNi 
+        + (1 - TIND_MINi)* T10MINSi ; 
+pour i = V,C,1..4:
+TRE[DGFIP][2017]0i =  TIND_10i * T[DGFIP][2017]0Mi + (1-TIND_10i) * TFPTi ;
+TABTS1AJ=positif(SALEXTV+ALLOV+BPCOSAV+GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) * arr(TRE[DGFIP][2017]0V*(TSHALLOV)/TTSBV)
+        + (1-positif(SALEXTV+ALLOV+BPCOSAV+GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * TRE[DGFIP][2017]0V;
+TABTS1AC=positif(ALLOV+BPCOSAV+GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) * arr(TRE[DGFIP][2017]0V*(max(0,SALEXTV-CO[DGFIP][2017]AD))/TTSBV)
+        + (1-positif(ALLOV+BPCOSAV+GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * max(0,TRE[DGFIP][2017]0V-TABTS1AJ);
+TABTS1AP=positif(BPCOSAV+GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) * arr(TRE[DGFIP][2017]0V*(ALLOV)/TTSBV)
+        + (1-positif(BPCOSAV+GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * max(0,TRE[DGFIP][2017]0V-TABTS1AJ-TABTS1AC);
+TABTS3VJ=positif(GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) * arr(TRE[DGFIP][2017]0V*(BPCOSAV)/TTSBV)
+        + (1-positif(GLDGRATV+CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * max(0,TRE[DGFIP][2017]0V-TABTS1AJ-TABTS1AC-TABTS1AP);
+TABTS1TT=positif(CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) * arr(TRE[DGFIP][2017]0V*(GLDGRATV)/TTSBV)
+        + (1-positif(CARTSV+REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * max(0,TRE[DGFIP][2017]0V-TABTS1AJ-TABTS1AC-TABTS1AP-TABTS3VJ);
+TABTSRAJ=positif(REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) * arr(TRE[DGFIP][2017]0V*(CARTSV)/TTSBV)
+        + (1-positif(REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * max(0,TRE[DGFIP][2017]0V-TABTS1AJ-TABTS1AC-TABTS1AP-TABTS3VJ-TABTS1TT);
+TABTSRAP=positif(REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) * arr(TRE[DGFIP][2017]0V*(REMPLAV)/TTSBV)
+        + (1-positif(REMPLAV+CODDAJ+CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * max(0,TRE[DGFIP][2017]0V-TABTS1AJ-TABTS1AC-TABTS1AP-TABTS3VJ-TABTS1TT-TABTSRAJ);
+TABTSV = TABTS1AJ + TABTS1AC +TABTS1AP +TABTS3VJ +TABTS1TT +TABTSRAJ+TABTSRAP;
+TABTS1BJ=positif(SALEXTC+ALLOC+BPCOSAC+GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(TRE[DGFIP][2017]0C*(TSHALLOC)/TTSBC)
+        + (1-positif(SALEXTC+ALLOC+BPCOSAC+GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * TRE[DGFIP][2017]0C;
+TABTS1BC=positif(ALLOC+BPCOSAC+GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(TRE[DGFIP][2017]0C*(max(0,SALEXTC-CO[DGFIP][2017]BD))/TTSBC)
+        + (1-positif(ALLOC+BPCOSAC+GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * max(0,TRE[DGFIP][2017]0C-TABTS1BJ);
+TABTS1BP=positif(BPCOSAC+GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(TRE[DGFIP][2017]0C*(ALLOC)/TTSBC)
+        + (1-positif(BPCOSAC+GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * max(0,TRE[DGFIP][2017]0C-TABTS1BJ-TABTS1BC);
+TABTS3VK=positif(GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(TRE[DGFIP][2017]0C*(BPCOSAC)/TTSBC)
+        + (1-positif(GLDGRATC+CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * max(0,TRE[DGFIP][2017]0C-TABTS1BJ-TABTS1BC-TABTS1BP);
+TABTS1UT=positif(CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(TRE[DGFIP][2017]0C*(GLDGRATC)/TTSBC)
+        + (1-positif(CARTSC+REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * max(0,TRE[DGFIP][2017]0C-TABTS1BJ-TABTS1BC-TABTS1BP-TABTS3VK);
+TABTSRBJ=positif(REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(TRE[DGFIP][2017]0C*(CARTSC)/TTSBC)
+        + (1-positif(REMPLAC+CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * max(0,TRE[DGFIP][2017]0C-TABTS1BJ-TABTS1BC-TABTS1BP-TABTS3VK-TABTS1UT);
+TABTSRBP=positif(CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(TRE[DGFIP][2017]0C*(REMPLAC)/TTSBC)
+        + (1-positif(CODDBJ+CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * max(0,TRE[DGFIP][2017]0C-TABTS1BJ-TABTS1BC-TABTS1BP-TABTS3VK-TABTS1UT-TABTSRBJ);
+TABTSC = TABTS1BJ + TABTS1BC +TABTS1BP +TABTS3VK +TABTS1UT +TABTSRBJ+TABTSRBP;
+regle 99992500:
+application : iliad , batch  ;
+TABDOMDAJ = positif(CODDAJ) *
+           (positif(CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) * arr(TRE[DGFIP][2017]0V*CODDAJ/TTSBV)
+           + (1-positif(CODEAJ+GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * max(0,TRE[DGFIP][2017]0V-TABTSV))+0;
+TABDOMEAJ = positif(CODEAJ) *
+           (positif(GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V) * arr(TRE[DGFIP][2017]0V*CODEAJ/TTSBV)
+           + (1-positif(GL[DGFIP][2017]V+GL[DGFIP][2017]V+GLD3V)) * max(0,TRE[DGFIP][2017]0V-TABTSV-TABDOMDAJ))+0;
+TABDOMDBJ = positif(CODDBJ) *
+           (positif(CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(TRE[DGFIP][2017]0C*CODDBJ/TTSBC)
+           + (1-positif(CODEBJ+GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * max(0,TRE[DGFIP][2017]0C-TABTSC))+0;
+TABDOMEBJ = positif(CODEBJ) *
+           (positif(GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C) * arr(TRE[DGFIP][2017]0C*CODEBJ/TTSBC)
+           + (1-positif(GL[DGFIP][2017]C+GL[DGFIP][2017]C+GLD3C)) * max(0,TRE[DGFIP][2017]0C-TABTSC-TABDOMDBJ))+0;
+TABGL1V = positif(GL[DGFIP][2017]V) *
+           (positif(GL[DGFIP][2017]V+GLD3V) * arr(TRE[DGFIP][2017]0V*GL[DGFIP][2017]V/TTSBV)
+           + (1-positif(GL[DGFIP][2017]V+GLD3V)) * max(0,TRE[DGFIP][2017]0V-TABTSV-TABDOMDAJ-TABDOMEAJ))+0;
+TABGL1C = positif(GL[DGFIP][2017]C) *
+           (positif(GL[DGFIP][2017]C+GLD3C) * arr(TRE[DGFIP][2017]0C*GL[DGFIP][2017]C/TTSBC)
+           + (1-positif(GL[DGFIP][2017]C+GLD3C)) * max(0,TRE[DGFIP][2017]0C-TABTSC-TABDOMDBJ-TABDOMEBJ))+0;
+TABGL2V = positif(GL[DGFIP][2017]V) *
+           (positif(GLD3V) * arr(TRE[DGFIP][2017]0V*GL[DGFIP][2017]V/TTSBV)
+           + (1-positif(GLD3V)) * max(0,TRE[DGFIP][2017]0V-TABTSV-TABDOMDAJ-TABDOMEAJ-TABGL1V))+0;
+TABGL2C = positif(GL[DGFIP][2017]C) *
+           (positif(GLD3C) * arr(TRE[DGFIP][2017]0C*GL[DGFIP][2017]C/TTSBC)
+           + (1-positif(GLD3C)) * max(0,TRE[DGFIP][2017]0C-TABTSC-TABDOMDBJ-TABDOMEBJ-TABGL1C))+0;
+TABGL3V = positif(GLD3V) * max(0,TRE[DGFIP][2017]0V-TABTSV-TABDOMDAJ-TABDOMEAJ-TABGL1V-TABGL2V)+0;
+TABGL3C = positif(GLD3C) * max(0,TRE[DGFIP][2017]0C-TABTSC-TABDOMDBJ-TABDOMEBJ-TABGL1C-TABGL2C)+0;
+TABTS1CJ=arr(TRE[DGFIP][2017]01*(TSHALLO1)/TTSB1);
+TABTS1CC=positif(ALLO1+CARTS[DGFIP][2017]+REMPLA[DGFIP][2017]) * arr(TRE[DGFIP][2017]01*(max(0,SALEXT1-CO[DGFIP][2017]CD))/TTSB1)
+        + (1-positif(ALLO1+CARTS[DGFIP][2017]+REMPLA[DGFIP][2017])) * max(0,TRE[DGFIP][2017]01-TABTS1CJ);
+TABTS1CP=positif(CARTS[DGFIP][2017]+REMPLA[DGFIP][2017]) * arr(TRE[DGFIP][2017]01*(ALLO1)/TTSB1)
+        + (1-positif(CARTS[DGFIP][2017]+REMPLA[DGFIP][2017])) * max(0,TRE[DGFIP][2017]01-TABTS1CJ-TABTS1CC);
+TABTSRCJ=positif(REMPLA[DGFIP][2017]) * arr(TRE[DGFIP][2017]01*(CARTS[DGFIP][2017])/TTSB1)
+        + (1-positif(REMPLA[DGFIP][2017])) * max(0,TRE[DGFIP][2017]01-TABTS1CJ-TABTS1CC-TABTS1CP);
+TABTSRCP=max(0,TRE[DGFIP][2017]01 -TABTS1CJ  -TABTS1CC-TABTS1CP -TABTSRCJ);
+TABTS1DJ=arr(TRE[DGFIP][2017]02*(TSHALLO2)/TTSB2);
+TABTS1DC=positif(ALLO2+CARTS[DGFIP][2017]+REMPLA[DGFIP][2017]) * arr(TRE[DGFIP][2017]02*(max(0,SALEXT2-CO[DGFIP][2017]DD))/TTSB2)
+        + (1-positif(ALLO2+CARTS[DGFIP][2017]+REMPLA[DGFIP][2017])) * max(0,TRE[DGFIP][2017]02-TABTS1DJ);
+TABTS1DP=positif(CARTS[DGFIP][2017]+REMPLA[DGFIP][2017]) * arr(TRE[DGFIP][2017]02*(ALLO2)/TTSB2)
+        + (1-positif(CARTS[DGFIP][2017]+REMPLA[DGFIP][2017])) * max(0,TRE[DGFIP][2017]02-TABTS1DJ-TABTS1DC);
+TABTSRDJ=positif(REMPLA[DGFIP][2017]) * arr(TRE[DGFIP][2017]02*(CARTS[DGFIP][2017])/TTSB2)
+        + (1-positif(REMPLA[DGFIP][2017])) * max(0,TRE[DGFIP][2017]02-TABTS1DJ-TABTS1DC-TABTS1DP);
+TABTSRDP=max(0,TRE[DGFIP][2017]02- TABTS1DJ  -TABTS1DC-TABTS1DP -TABTSRDJ);
+TABTS1EJ=arr(TRE[DGFIP][2017]03*(TSHALLO3)/TTSB3);
+TABTS1EC=positif(ALLO3+CARTSP3+REMPLAP3) * arr(TRE[DGFIP][2017]03*(max(0,SALEXT3-CO[DGFIP][2017]ED))/TTSB3)
+        + (1-positif(ALLO3+CARTSP3+REMPLAP3)) * max(0,TRE[DGFIP][2017]03-TABTS1EJ);
+TABTS1EP=positif(CARTSP3+REMPLAP3) * arr(TRE[DGFIP][2017]03*(ALLO3)/TTSB3)
+        + (1-positif(CARTSP3+REMPLAP3)) * max(0,TRE[DGFIP][2017]03-TABTS1EJ-TABTS1EC);
+TABTSREJ=positif(REMPLAP3) * arr(TRE[DGFIP][2017]03*(CARTSP3)/TTSB3)
+        + (1-positif(REMPLAP3)) * max(0,TRE[DGFIP][2017]03-TABTS1EJ-TABTS1EC-TABTS1EP);
+TABTSREP=max(0,TRE[DGFIP][2017]03- TABTS1EJ  -TABTS1EC-TABTS1EP -TABTSREJ);
+TABTS1FJ=arr(TRE[DGFIP][2017]04*(TSHALLO4)/TTSB4);
+TABTS1FC=positif(ALLO4+CARTSP4+REMPLAP4) * arr(TRE[DGFIP][2017]04*(max(0,SALEXT4-CO[DGFIP][2017]FD))/TTSB4)
+        + (1-positif(ALLO4+CARTSP4+REMPLAP4)) * max(0,TRE[DGFIP][2017]04-TABTS1FJ);
+TABTS1FP=positif(CARTSP4+REMPLAP4) * arr(TRE[DGFIP][2017]04*(ALLO4)/TTSB4)
+        + (1-positif(CARTSP4+REMPLAP4)) * max(0,TRE[DGFIP][2017]04-TABTS1FJ-TABTS1FC);
+TABTSRFJ=positif(REMPLAP4) * arr(TRE[DGFIP][2017]04*(CARTSP4)/TTSB4)
+        + (1-positif(REMPLAP4)) * max(0,TRE[DGFIP][2017]04-TABTS1FJ-TABTS1FC-TABTS1FP);
+TABTSRFP=max(0,TRE[DGFIP][2017]04 - TABTS1FJ  -TABTS1FC-TABTS1FP -TABTSRFJ);
+regle 99992600:
+application : iliad , batch  ;
+TABGLTV = somme (x=1..3: TABGLxV)+TABDOMDAJ + TABDOMEAJ;
+TABGLTC = somme (x=1..3: TABGLxC)+TABDOMDBJ + TABDOMEBJ;
+regle 899999999:
+application : iliad , batch  ;
+TTSN1AJ = TSHALLOV - TABTS1AJ;
+TTSN1AC = max(0,SALEXTV-CO[DGFIP][2017]AD)- TABTS1AC;
+TTSN1AP = ALLOV - TABTS1AP;
+TTSN3VJ = BPCOSAV - TABTS3VJ;
+TTSN1TT = GLDGRATV - TABTS1TT;
+TTSNRAJ = (CARTSV - TABTSRAJ) ;
+TTSNRAP = (REMPLAV - TABTSRAP);
+TTSNDAJ = (CODDAJ - TABDOMDAJ);
+TTSNEAJ = (CODEAJ - TABDOMEAJ);
+TTSNGL1V = (GL[DGFIP][2017]V - TABGL1V);
+TTSNGL2V = (GL[DGFIP][2017]V - TABGL2V);
+TTSNGL3V = (GLD3V - TABGL3V);
+TTSN1BJ = TSHALLOC - TABTS1BJ;
+TTSN1BC = max(0,SALEXTC-CO[DGFIP][2017]BD)- TABTS1BC;
+TTSN1BP = ALLOC - TABTS1BP;
+TTSN3VK = BPCOSAC - TABTS3VK;
+TTSN1UT = GLDGRATC - TABTS1UT;
+TTSNRBJ = (CARTSC - TABTSRBJ);
+TTSNRBP = (REMPLAC - TABTSRBP);
+TTSNDBJ = (CODDBJ - TABDOMDBJ);
+TTSNEBJ = (CODEBJ - TABDOMEBJ);
+TTSNGL1C = (GL[DGFIP][2017]C - TABGL1C);
+TTSNGL2C = (GL[DGFIP][2017]C - TABGL2C);
+TTSNGL3C = (GLD3C - TABGL3C);
+TTSN1CJ = TSHALLO1 - TABTS1CJ;
+TTSN1CC = max(0,SALEXT1-CO[DGFIP][2017]CD)- TABTS1CC;
+TTSN1CP = ALLO1 - TABTS1CP;
+TTSNRCJ = (CARTS[DGFIP][2017] - TABTSRCJ);
+TTSNRCP = (REMPLA[DGFIP][2017] - TABTSRCP);
+TTSN1DJ = TSHALLO2 - TABTS1DJ;
+TTSN1DC = max(0,SALEXT2-CO[DGFIP][2017]DD)- TABTS1DC;
+TTSN1DP = ALLO2 - TABTS1DP;
+TTSNRDJ = (CARTS[DGFIP][2017] - TABTSRDJ);
+TTSNRDP = (REMPLA[DGFIP][2017] - TABTSRDP);
+TTSN1EJ = TSHALLO3 - TABTS1EJ;
+TTSN1EC = max(0,SALEXT3-CO[DGFIP][2017]ED)- TABTS1EC;
+TTSN1EP = ALLO3 - TABTS1EP;
+TTSNREJ = (CARTSP3 - TABTSREJ);
+TTSNREP = (REMPLAP3 - TABTSREP);
+TTSN1FJ = TSHALLO4 - TABTS1FJ;
+TTSN1FC = max(0,SALEXT4-CO[DGFIP][2017]FD)- TABTS1FC;
+TTSN1FP = ALLO4 - TABTS1FP;
+TTSNRFJ = (CARTSP4 - TABTSRFJ);
+TTSNRFP = (REMPLAP4 - TABTSRFP);
+
+CUMSALEXTEF = TTSN1AC + TTSN1BC + TTSN1CC + TTSN1DC + TTSN1EC + TTSN1FC ;
+regle 99992700:
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+TPLRi = min ( MIN_DEDPR , TEXPRi );
+pour i = V,C,1,2,3,4:
+TAPBi = max( TPLRi , (TEXPRi*TX_DEDPER/100));
+pour i = V,C,1,2,3,4:
+TIND_APBi = positif_ou_nul(TPLRi- (TEXPRi * TX_DEDPER/100));
+TPL_PB = arr(PLAF_DEDPRFOYER -somme (i=V,C,1..4: TAPBi * TIND_APBi));
+regle 99992800:
+application : iliad , batch  ;
+TABPRV = arr ( (1 - TIND_APBV) * 
+             min(TAPBV,(TPL_PB * TAPBV / somme(x=V,C,1..4:TAPBx * (1 - TIND_APBx))))
+           + TIND_APBV * TAPBV );
+TABPRC = arr ( (1 - TIND_APBC) * 
+             min(TAPBC,
+                       positif(TEXPR1+TEXPR2+TEXPR3+TEXPR4)*(TPL_PB * TAPBC / somme(x=V,C,1..4:TAPBx * (1 - TIND_APBx)))
+                     + (1-positif(TEXPR1+TEXPR2+TEXPR3+TEXPR4))* (max(0,TPL_PB - TABPRV)))
+           + TIND_APBC * TAPBC );
+TABPR1 = arr ( (1 - TIND_APB1) * 
+             min(TAPB1,
+                       positif(TEXPR2+TEXPR3+TEXPR4)*(TPL_PB * TAPB1 / somme(x=V,C,1..4:TAPBx * (1 - TIND_APBx)))
+                     + (1-positif(TEXPR2+TEXPR3+TEXPR4))* (max(0,TPL_PB - TABPRV-TABPRC)))
+           + TIND_APB1 * TAPB1 );
+TABPR2 = arr ( (1 - TIND_APB2) * 
+             min(TAPB2,
+                       positif(TEXPR3+TEXPR4)*(TPL_PB * TAPB2 / somme(x=V,C,1..4:TAPBx * (1 - TIND_APBx)))
+                     + (1-positif(TEXPR3+TEXPR4))* (max(0,TPL_PB - TABPRV-TABPRC-TABPR1)))
+           + TIND_APB2 * TAPB2 );
+TABPR3 = arr ( (1 - TIND_APB3) * 
+             min(TAPB3,
+                       positif(TEXPR4)*(TPL_PB * TAPB3 / somme(x=V,C,1..4:TAPBx * (1 - TIND_APBx)))
+                     + (1-positif(TEXPR4))* (max(0,TPL_PB - TABPRV-TABPRC-TABPR1-TABPR2)))
+           + TIND_APB3 * TAPB3 );
+TABPR4 = arr ( (1 - TIND_APB4) * 
+             min(TAPB4,(max(0,TPL_PB -TABPRV-TABPRC-TABPR1-TABPR2-TABPR3)))
+           + TIND_APB4 * TAPB4 );
+regle 99992900:
+application : iliad , batch  ;
+TAPRV  =  TIND_APBV * TABPRV 
+       + (1-TIND_APBV)* min ( TABPRV , TPL_PB); 
+TAPRC  =  TIND_APBC * TABPRC 
+       + (1-TIND_APBC)* min ( TABPRC , TPL_PB - (1-TIND_APBV)*TAPRV ); 
+TAPR1  =  TIND_APB1 * TABPR1 
+       + (1-TIND_APB1)* min ( TABPR1 , TPL_PB - (1-TIND_APBV)*TAPRV 
+			- (1-TIND_APBC)*TAPRC);
+TAPR2  =  TIND_APB2 * TABPR2
+       + (1-TIND_APB2)* min ( TABPR2 , TPL_PB - (1-TIND_APBV)*TAPRV 
+                       - (1-TIND_APBC)*TAPRC - (1-TIND_APB1)*TAPR1 ); 
+TAPR3  =  TIND_APB3 * TABPR3
+       + (1-TIND_APB3)* min ( TABPR3 , TPL_PB - (1-TIND_APBV)*TAPRV 
+                       - (1-TIND_APBC)*TAPRC - (1-TIND_APB1)*TAPR1  
+                       - (1-TIND_APB2)*TAPR2 ); 
+TAPR4  =  TIND_APB4 * TABPR4 
+       + (1-TIND_APB4)* min ( TABPR4 , TPL_PB - (1-TIND_APBV)*TAPRV 
+                       - (1-TIND_APBC)*TAPRC - (1-TIND_APB1)*TAPR1  
+                       - (1-TIND_APB2)*TAPR2 - (1-TIND_APB3)*TAPR3 ); 
+regle 99992110:
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+TPRNNi = TEXPRi - TAPRi;
+regle 99992120:
+application : iliad , batch  ;
+TTSNTV =  TTSN1AJ+TTSN1AC+TTSN1AP+TTSN3VJ+TTSN1TT+TTSNRAJ+TTSNRAP
+        +TTSNDAJ+TTSNEAJ+TTSNGL1V+TTSNGL2V+TTSNGL3V ;
+TTSNTC = TTSN1BJ+TTSN1BC+TTSN1BP+TTSN3VK+TTSN1UT+TTSNRBJ+TTSNRBP
+       +TTSNDBJ+TTSNEBJ+TTSNGL1C+TTSNGL2C+TTSNGL3C ;
+TTSNT1 =  TTSN1CJ +TTSN1CC+ TTSN1CP + TTSNRCJ + TTSNRCP;
+TTSNT2 =  TTSN1DJ +TTSN1DC+ TTSN1DP + TTSNRDJ + TTSNRDP;
+TTSNT3 =  TTSN1EJ+TTSN1EC+ TTSN1EP+ TTSNREJ+ TTSNREP ;
+TTSNT4 =  TTSN1FJ+TTSN1FC+ TTSN1FP+ TTSNRFJ+ TTSNRFP ;
+regle 99992130:
+application : iliad , batch  ;
+pour i =V,C,1,2,3,4:
+TTSNi = positif (-TTSNTi) * min (0 , TTSNTi + TPRNNi)
+     + positif_ou_nul (TTSNTi) * TTSNTi;
+pour i =V,C,1,2,3,4:
+TPRNi = positif (-TTSNTi) * positif (TTSNTi + TPRNNi) * (TTSNTi + TPRNNi)
+       + positif_ou_nul (TTSNTi) * TPRNNi;
+
+regle 99992210:
+application : iliad , batch  ;
+pour i = V,C;x=1..3:
+TGLNAVxi = max (GLDxi - TABGLxi,0);
+TGLDOMAVDAJV = max (CODDAJ - TABDOMDAJ,0);
+TGLDOMAVEAJV = max (CODEAJ - TABDOMEAJ,0);
+TGLDOMAVDBJC = max (CODDBJ - TABDOMDBJ,0);
+TGLDOMAVEBJC = max (CODEBJ - TABDOMEBJ,0);
+TGLN1V = max (GL[DGFIP][2017]V - TABGL1V,0);
+TGLN2V = max (GL[DGFIP][2017]V - TABGL2V,0);
+TGLN3V = max (GLD3V - TABGL3V,0);
+TGLN4V = max(CODDAJ - TABDOMDAJ,0)+max(CODEAJ - TABDOMEAJ,0);
+TGLN1C = max (GL[DGFIP][2017]C - TABGL1C,0);
+TGLN2C = 
diff --git a/sources2014m_2_15/chap-thr.m b/sources2014m_2_15/chap-thr.m
new file mode 100644
index 0000000000000000000000000000000000000000..b2ea24f2d49b22c5ff1f325577ae44a037367830
--- /dev/null
+++ b/sources2014m_2_15/chap-thr.m
@@ -0,0 +1,48 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 80000:
+application : iliad , batch  ;
+HRBTRFR1 = V_BTRFRHR1 * (1-positif_ou_nul(RFRH1)) + RFRH1;
+HRBTRFR2 = V_BTRFRHR2 * (1-positif_ou_nul(RFRH2)) + RFRH2;
+HRNBTRFR = positif_ou_nul(V_BTRFRHR1 * (1-positif(RFRH1)) + RFRH1) + positif_ou_nul(V_BTRFRHR2 * (1-positif(RFRH2)) + RFRH2);
+HRMOYBTRFR = arr((HRBTRFR1 + HRBTRFR2) /2);
+HRLIM15 = positif_ou_nul(REVKIREHR - (1.5 * HRMOYBTRFR));
+HRLIMBTRFR2 = positif_ou_nul(LIMHR1 * (1+BOOL_0AM) - HRBTRFR2);
+HRLIMBTRFR1 = positif_ou_nul(LIMHR1 * (1+BOOL_0AM) - HRBTRFR1);
+HRCONDTHEO = positif(null(2-HRNBTRFR)*positif(HRLIM15)*positif(HRLIMBTRFR1*HRLIMBTRFR2)* (1-positif(CASECHR+0)));
+HRBASEFRAC = arr((REVKIREHR - HRMOYBTRFR) / 2);
+HRBASELISSE = HRBASEFRAC + HRMOYBTRFR;
+CHRREEL1 = positif_ou_nul(LIMHRTX1 * (1+BOOL_0AM)-REVKIREHR) * ((REVKIREHR - LIMHR1 * (1+BOOL_0AM))*TXHR1/100)
+                       + (LIMHR1 * (1+BOOL_0AM) * TXHR1/100) * positif(REVKIREHR - LIMHRTX1 * (1+BOOL_0AM));
+CHRREEL2 = max(0,(REVKIREHR - LIMHR2*(1+BOOL_0AM))*TXHR2/100);
+CHRREELTOT = arr(max(0,CHRREEL1 + CHRREEL2));
+CHRTHEO11 = arr(positif_ou_nul(LIMHRTX1 * (1+BOOL_0AM)-HRBASELISSE) * ((HRBASELISSE - LIMHR1 * (1+BOOL_0AM))*TXHR1/100)
+                        + (LIMHR1 * (1+BOOL_0AM) * TXHR1/100)* positif(HRBASELISSE - LIMHRTX1 * (1+BOOL_0AM)));
+CHRTHEO21 = arr(max(0,(HRBASELISSE - LIMHR2*(1+BOOL_0AM))*TXHR2/100));
+CHRTHEOTOT = arr(max(0,CHRTHEO11 + CHRTHEO21)*2);
+BHAUTREV = max(0 , REVKIREHR - LIMHR1 * (1 + BOOL_0AM)) ;
+CHRAVANT = (max(0,min(CHRREELTOT,CHRTHEOTOT)) * HRCONDTHEO
+                     + CHRREELTOT * (1-HRCONDTHEO) ) ;
+CHRTEFF = arr(CHRAVANT * (REVKIREHR - TEFFHRC+COD8YJ)/ REVKIREHR);
+CHRAPRES = CHRAVANT * (1-positif(positif(IPMOND)+positif(INDTEFF))) + CHRTEFF * positif(positif(IPMOND)+positif(INDTEFF));
+regle 80005:
+application : iliad , batch  ;
+IHAUTREVT = max(0,CHRAPRES - CICHR);
diff --git a/sources2014m_2_15/chap-tl.m b/sources2014m_2_15/chap-tl.m
new file mode 100644
index 0000000000000000000000000000000000000000..e2970b7a4046bc82c341fac0a0ba079adcdef1de
--- /dev/null
+++ b/sources2014m_2_15/chap-tl.m
@@ -0,0 +1,161 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+regle 21700:
+application : iliad ;
+
+
+RAP_RNI    = RNI_TL - RNI_INIT ;
+RAP_EFF    = EFF_TL - EFF_INIT ;
+RAP_PVQ    = PVQ_TL - PVQ_INIT ;
+RAP_PV     = PV_TL - PV_INIT ;
+RAP_RI     = - RI_TL + RI_INIT ;
+RAP_CI     = CI_TL ;
+RAP_CRDS   = RDS_TL - CRDS_INIT ;
+RAP_RDS    = BRDS_TL - BRDS_INIT ;
+RAP_PRS    = BPRS_TL - BPRS_INIT ;
+RAP_TAXAGA = TAXAGA_TL - TAXAGA_INIT ;
+RAP_CAP    = PCAP_TL - PCAP_INIT ;
+RAP_LOY    = LOYA_TL - LOY_INIT ;
+RAP_CHR    = CHR_TL - CHR_INIT ;
+RAP_CVN    = CVNA_TL - CVN_INIT ;
+RAP_CDIS   = CDISA_TL - CDIS_INIT ;
+RAP_GLO    = GLOA_TL - GLO_INIT ;
+RAP_RSE1   = RSE1A_TL - RSE1_INIT ;
+RAP_RSE2   = RSE2A_TL - RSE2_INIT ;
+RAP_RSE3   = RSE3A_TL - RSE3_INIT ;
+RAP_RSE4   = RSE4A_TL - RSE4_INIT ;
+RAP_RSE5   = RSE5A_TL - RSE5_INIT ;
+
+
+NUM_IR_TL = max(0 , RAP_RNI
+                   + RAP_EFF
+                   + RAP_PVQ
+                   + RAP_PV
+                   + RAP_RI 
+                   + RAP_CI) ;
+
+NUM_CS_TL     = max(0 , RAP_CRDS) ;
+NUM_RD_TL     = max(0 , RAP_RDS) ;
+NUM_PS_TL     = max(0 , RAP_PRS) ;
+
+NUM_TAXAGA_TL = max(0 , RAP_TAXAGA) ; 
+NUM_CAP_TL    = max(0 , RAP_CAP) ;
+NUM_LOY_TL    = max(0 , RAP_LOY) ;
+NUM_CHR_TL    = max(0 , RAP_CHR) ;
+
+NUM_CVN_TL    = max(0 , RAP_CVN) ;
+NUM_CDIS_TL   = max(0 , RAP_CDIS) ;
+NUM_GLO_TL    = max(0 , RAP_GLO) ;
+
+NUM_RSE1_TL   = max(0 , RAP_RSE1) ;
+NUM_RSE2_TL   = max(0 , RAP_RSE2) ;
+NUM_RSE3_TL   = max(0 , RAP_RSE3) ;
+NUM_RSE4_TL   = max(0 , RAP_RSE4) ;
+NUM_RSE5_TL   = max(0 , RAP_RSE5) ;
+
+regle 21710 :
+application : iliad ;
+
+
+DEN_IR_TL = max(0 , RNI_RECT 
+                   + EFF_RECT
+                   + PVQ_RECT
+                   + PV_RECT
+                   + RI_RECT 
+                   + CI_RECT) ;
+
+DEN_CS_TL     = max(0 , CRDS_RECT) ;
+DEN_RD_TL     = max(0 , BRDS_RECT) ;
+DEN_PS_TL     = max(0 , BPRS_RECT) ;
+
+DEN_TAXAGA_TL = max(0 , TAXAGA_RECT) ;
+DEN_CAP_TL    = max(0 , PCAP_RECT) ;
+DEN_LOY_TL    = max(0 , LOY_RECT) ;
+DEN_CHR_TL    = max(0 , CHR_RECT) ;
+
+DEN_CVN_TL    = max(0 , CVN_RECT) ;
+DEN_CDIS_TL   = max(0 , CDIS_RECT) ;
+DEN_GLO_TL    = max(0 , GLO_RECT) ;
+
+DEN_RSE1_TL = max(0 , RSE1_RECT) ;
+DEN_RSE2_TL = max(0 , RSE2_RECT) ;
+DEN_RSE3_TL = max(0 , RSE3_RECT) ;
+DEN_RSE4_TL = max(0 , RSE4_RECT) ;
+DEN_RSE5_TL = max(0 , RSE5_RECT) ;
+
+regle 21720 :
+application : iliad ;
+enchaineur : ENCH_TL ;
+
+RETARPRIM = null(V_IND_TRAIT - 4) * null(CMAJ - 7) ;
+
+TL_IR = (1 - positif(TL_MF*positif(MFIR+0)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT+PASS_TLIR))
+            * positif(positif (NUM_IR_TL+0) * positif (DEN_IR_TL+0) * positif(NUM_IR_TL / DEN_IR_TL  - 0.05))
+           + positif(TL_MF*positif(MFIR+0) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT + PASS_TLIR) ;
+
+TL_CS = (1 - positif(TL_MF*positif(MFCS) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT)) * positif(NUM_CS_TL / DEN_CS_TL  - 0.05) 
+         + positif(TL_MF*positif(MFCS) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_RD = (1 - positif(TL_MF*positif(MFRD) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT)) * positif(NUM_RD_TL / DEN_RD_TL  - 0.05)
+         + positif(TL_MF*positif(MFRD) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_PS = (1 - positif(TL_MF*positif(MFPS) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT)) * positif(NUM_PS_TL / DEN_PS_TL  - 0.05)
+         + positif(TL_MF*positif(MFPS) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT) ;
+
+
+TL_TAXAGA = ( 1 - positif(TL_MF * positif(MFTAXAGA) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT)) * (positif(TL_MF * positif(MFTAXAGA) + positif(NUM_TAXAGA_TL / DEN_TAXAGA_TL - 0.05)))
+            + positif(TL_MF * positif(MFTAXAGA) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_CAP = ( 1 - positif(TL_MF * positif(MFPCAP) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT)) * (positif(TL_MF * positif(MFPCAP) + positif(NUM_CAP_TL / DEN_CAP_TL - 0.05)))
+            + positif(TL_MF * positif(MFPCAP) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_LOY = ( 1 - positif(TL_MF * positif(MFLOY) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT)) * (positif(TL_MF * positif(MFLOY) + positif(NUM_LOY_TL / DEN_LOY_TL - 0.05)))
+            + positif(TL_MF * positif(MFLOY) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_CHR = ( 1 - positif(TL_MF * positif(MFIR + MFPCAP) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT)) * (positif(TL_MF * positif(MFIR + MFPCAP) + positif(NUM_CHR_TL / DEN_CHR_TL - 0.05)))
+            + positif(TL_MF * positif(MFIR + MFPCAP) * (1 - null(MFCHR7)) + RETARPRIM + FLAG_RETARD + FLAG_DEFAUT) ;
+
+TL_CVN = (1 - positif(TL_MF * positif(MFCVN)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFCVN) + positif (NUM_CVN_TL / DEN_CVN_TL  - 0.05 )) )
+	 + positif(TL_MF * positif(MFCVN)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_CDIS = (1 - positif(TL_MF * positif(MFCDIS)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFCDIS) + positif (NUM_CDIS_TL / DEN_CDIS_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFCDIS)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_GLO = (1 - positif(TL_MF * positif(MFGLO)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFGLO) + positif (NUM_GLO_TL / DEN_GLO_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFGLO)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE1 = (1 - positif(TL_MF * positif(MFRSE1)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE1) + positif (NUM_RSE1_TL / DEN_RSE1_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE1)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE2 = (1 - positif(TL_MF * positif(MFRSE2)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE2) + positif (NUM_RSE2_TL / DEN_RSE2_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE2)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE3 = (1 - positif(TL_MF * positif(MFRSE3)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE3) + positif (NUM_RSE3_TL / DEN_RSE3_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE3)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE4 = (1 - positif(TL_MF * positif(MFRSE4)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE4) + positif (NUM_RSE4_TL / DEN_RSE4_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE4)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_RSE5 = (1 - positif(TL_MF * positif(MFRSE5)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT)) * (positif(TL_MF * positif(MFRSE5) + positif (NUM_RSE5_TL / DEN_RSE5_TL  - 0.05 )) )
+         + positif(TL_MF * positif(MFRSE5)+RETARPRIM+FLAG_RETARD+FLAG_DEFAUT) ;
+
+TL_REGV = 1 ;
+
diff --git a/sources2014m_2_15/coc1.m b/sources2014m_2_15/coc1.m
new file mode 100644
index 0000000000000000000000000000000000000000..8acc64944dc91c165b95205ea2d822994a68dd31
--- /dev/null
+++ b/sources2014m_2_15/coc1.m
@@ -0,0 +1,956 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 2020:
+application : batch , iliad ;
+
+si
+   APPLI_COLBERT + APPLI_ILIAD = 1
+   et
+   V_IND_TRAIT > 0
+   et
+   CHNFAC > 9
+ 
+alors erreur A00101 ;
+verif 20201:
+application : batch , iliad ;
+
+si
+   APPLI_COLBERT + APPLI_ILIAD = 1
+   et
+   V_IND_TRAIT > 0
+   et
+   NBACT > 9
+
+alors erreur A00102 ;
+verif 20202:
+application : batch , iliad ;
+
+si
+   APPLI_COLBERT + APPLI_ILIAD = 1
+   et
+   V_IND_TRAIT > 0
+   et
+   (
+    RDENS > 9
+    ou
+    RDENL > 9
+    ou
+    RDENU > 9
+    ou
+    RDENSQAR > 9
+    ou
+    RDENLQAR > 9
+    ou
+    RDENUQAR > 9
+   )
+
+alors erreur A00103 ;
+verif 20203:
+application : batch , iliad ;
+
+si
+   APPLI_COLBERT + APPLI_ILIAD = 1
+   et
+   V_IND_TRAIT > 0
+   et
+   ASCAPA > 9
+
+alors erreur A00104 ;
+verif 1005:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT > 0
+   et
+   ((RBG > 99999999)
+    ou
+    (BCSG > 99999999)
+    ou
+    (BRDS > 99999999)
+    ou
+    (BPRS > 99999999)
+    ou
+    (GSALV > 99999999)
+    ou
+    (GSALC > 99999999)
+    ou
+    (CVNSALAV > 99999999)
+    ou
+    (CVNSALAC > 99999999))
+
+alors erreur A00105 ;
+verif 7332:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   LOYIMP > 99999
+
+alors erreur A00106 ;
+verif isf 1007:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT > 0
+   et
+   ((ISFDONEURO > 99999999)
+    ou
+    (ISFDONF > 99999999)
+    ou
+    (ISFETRANG > 99999999)
+    ou
+    (ISFFCPI > 99999999)
+    ou
+    (ISFFIP > 99999999)
+    ou
+    (ISFPMEDI > 99999999)
+    ou
+    (ISFPMEIN > 99999999)
+    ou
+    (ISFBASE > 99999999)
+    ou
+    (ISFVBPAT > 99999999))
+
+alors erreur A00107 ;
+verif 3416:
+application : batch ;
+si
+   V_IND_TRAIT > 0
+   et
+   positif(V_0AB + 0) = 1
+   et
+   (positif(V_0AX + 0) = 0
+    ou
+    positif(V_0AM + V_0AO + 0) = 1)
+
+alors erreur A004 ;
+verif 3417:
+application : batch ;
+si
+   V_IND_TRAIT > 0
+   et
+   positif(V_0AX + 0) = 1
+   et
+   positif(V_0AC + V_0AD + V_0AV + 0) = 1
+   et
+   positif(V_0AB + 0) = 0
+
+alors erreur A005 ;
+verif 3003:
+application : iliad , batch ;
+si
+   V_0AM + 0 = 1
+   et
+   V_0AG + V_0AN + V_0AW + V_0AL + 0 > 0
+
+alors erreur A01001 ;
+verif 3513:
+application : iliad , batch ;
+si
+   V_0AO + 0 = 1
+   et
+   V_0AG + V_0AL + V_0AN + V_0AW + V_0AU + 0 > 0
+
+alors erreur A01002 ;
+verif 3004:
+application : iliad , batch ;
+si
+   V_0AV + 0 = 1
+   et
+   BOOL_0AZ != 1
+   et
+   V_0AF + V_0AS + V_0AU + 0 > 0
+
+alors erreur A01003 ;
+verif 3005:
+application : iliad , batch ;
+si
+   V_0AC + 0 = 1
+   et
+   V_0AF + V_0AS + V_0AU + 0 > 0
+
+alors erreur A01004 ;
+verif 3006:
+application : iliad , batch ;
+si
+   V_0AD + 0 = 1
+   et
+   V_0AF + V_0AS + V_0AU + 0 > 0
+
+alors erreur A01005 ;
+verif 3010:
+application : iliad , batch ;
+si
+   V_0AC = 1
+   et
+   V_0AG = 1
+
+alors erreur A01006 ;
+verif 3011:
+application : iliad , batch ;
+si
+   V_0AD = 1
+   et
+   V_0AG = 1
+
+alors erreur A01007 ;
+verif 3012:
+application : iliad , batch ;
+si
+   V_0AV = 1
+   et
+   V_INDG = 1
+   et
+   V_0AG = 1
+   ou
+   (present(V_0AZ) = 1 et V_0AV = 1 et BOOL_0AZ != 1 et V_INDG = 1 et V_0AG = 1)
+
+alors erreur A01008 ;
+verif 3007:
+application : iliad , batch ;
+si
+   V_0AM + 0 = 1
+   et
+   V_0BT + 0 = 1
+
+alors erreur A01009 ;
+verif 3514:
+application : iliad , batch ;
+si
+   V_0AO + 0 = 1
+   et
+   V_0BT+0 = 1
+
+alors erreur A01010 ;
+verif 3009:
+application : iliad , batch ;
+si
+   V_0AP + V_0AF + V_0AS + V_0AW + V_0AL + V_0AN + V_0AG + V_0BT + 0 > 0
+   et
+   positif(V_0AM + V_0AO + V_0AC + V_0AD + V_0AV + 0) != 1
+
+alors erreur A01011 ;
+verif 3600:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_0DN + V_0DP + 0 = 1
+
+alors erreur A011 ;
+verif 3100:
+application : iliad , batch ;
+
+si
+   V_0CF + 0 < V_0CG
+
+alors erreur A01201 ;
+verif 3101:
+application : iliad , batch ;
+
+si
+   V_0CI + 0 > V_0CH +0
+
+alors erreur A01202 ;
+verif 3013:
+application : iliad , batch ;
+si
+   (V_IND_TRAIT = 4
+    et
+    (V_0DA < (V_ANREV - 124) ou V_0DA > V_ANREV ou V_0DB < (V_ANREV - 124) ou V_0DB > V_ANREV))
+   ou
+   (V_IND_TRAIT = 5
+    et
+    ((positif(V_0DB) = 1 et ( V_0DB < (V_ANREV - 124) ou V_0DB > V_ANREV ) )
+     ou
+     (V_0DA < (V_ANREV - 124) ou V_0DA > V_ANREV)))
+
+alors erreur A013 ;
+verif 5001:
+application : iliad , batch ;
+
+si
+   NBPT > 20
+
+alors erreur A015 ;
+verif 171:
+application : iliad , batch;
+
+si
+   APPLI_COLBERT + APPLI_OCEANS = 0
+   et
+   V_ZDC = 1
+   et
+   somme(i=X,Y,Z: positif(V_0Ai)) > 1
+
+alors erreur A01701 ;
+verif 172:
+application : iliad , batch ;
+
+si
+   APPLI_COLBERT + APPLI_OCEANS = 0
+   et
+   V_ZDC = 4
+   et
+   (
+    positif(V_0AZ + 0) = 0
+    ou
+    V_0AM + V_0AO + (V_0AC + V_0AD + V_0AV) * V_0AB + 0 = 0
+   )
+
+alors erreur A01702 ;
+verif 173:
+application : iliad , batch ;
+si
+   APPLI_COLBERT + APPLI_OCEANS = 0
+   et
+   V_ZDC = 1
+   et
+   positif(V_0AX) = 1
+   et
+   V_0AM + V_0AO + 0 = 0
+
+alors erreur A01703 ;
+verif 174:
+application : iliad , batch ;
+si
+   APPLI_COLBERT + APPLI_OCEANS = 0
+   et
+   V_ZDC = 1
+   et
+   positif(V_0AY) = 1
+   et
+   V_0AD + 0 = 0
+
+alors erreur A01704 ;
+verif 175:
+application : batch, iliad;
+
+si
+   APPLI_COLBERT + APPLI_OCEANS = 0
+   et
+   V_ZDC = 1
+   et
+   positif(V_0AZ) = 1
+   et
+   V_0AV + V_0AM + 0 = 0
+
+alors erreur A01705 ;
+verif 18:
+application : batch ;
+
+si
+   APPLI_COLBERT = 0
+   et
+   null(10 - V_NOTRAIT) = 1
+   et
+   V_ZDC + 0 = 0
+   et
+   positif(V_0AZ) = 1
+   et
+   V_0AV + V_0AM + V_0AO + 0 = 0
+
+alors erreur A018 ;
+verif 3610:
+application : iliad , batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT > 0
+   et
+   (V_0CF > 19 ou V_0CG > 19 ou V_0CH > 19 ou V_0CI > 19 ou V_0CR > 19 ou V_0DJ > 19 ou V_0DN > 19 ou V_0DP > 19)
+
+alors erreur A019 ;
+verif 3630:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   ((positif(V_0CF + 0) != 1
+     et
+     (pour un i dans 0..7: positif(V_0Fi + 0) = 1))
+    ou
+    (positif(V_0CH + 0) != 1
+     et
+     (pour un i dans 0..5: positif(V_0Hi) = 1)))
+
+alors erreur A021 ;
+verif 22:
+application : batch, iliad ;
+
+si
+   APPLI_OCEANS + APPLI_COLBERT = 0
+   et
+   V_NOTRAIT = 10
+   et
+   (pour un i dans 0..5: V_BT0Fi = V_ANREV - 18)
+   et
+   (pour un i dans 0..5: V_0Ji = V_ANREV - 18)
+
+alors erreur A022 ;
+verif 1340:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_NOTRAIT+0 < 20
+   et
+   V_IND_TRAIT + 0 = 4
+   et
+   (
+    (present(V_0AX) = 1
+     et
+     (inf( ( V_0AX - V_ANREV ) / 1000000) > 31
+      ou
+      inf( ( V_0AX - V_ANREV ) / 1000000) = 0))
+    ou
+    (present(V_0AY) = 1
+     et
+     (inf( ( V_0AY - V_ANREV ) / 1000000) > 31
+      ou
+      inf( ( V_0AY - V_ANREV ) / 1000000) = 0))
+    ou
+    (present(V_0AZ) = 1
+     et
+     (inf( ( V_0AZ - V_ANREV ) / 1000000) > 31
+      ou
+      inf( ( V_0AZ - V_ANREV ) / 1000000) = 0))
+   )
+
+alors erreur A02301 ;
+verif 1341:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT > 0
+   et
+   V_IND_TRAIT + 0 = 4
+   et
+   (
+    (present(V_0AX) = 1
+     et
+     (
+     (    inf ( V_0AX / 10000) * 10000
+        - inf ( V_0AX / 1000000)* 1000000
+     )/10000 > 12
+   ou
+     (    inf ( V_0AX / 10000) * 10000
+        - inf ( V_0AX / 1000000)* 1000000
+     )/10000 =0
+   )
+)
+ou
+(  present(V_0AY) =1
+ et
+  (
+     (    inf ( V_0AY / 10000) * 10000
+        - inf ( V_0AY / 1000000)* 1000000
+     )/10000 > 12
+   ou
+     (    inf ( V_0AY / 10000) * 10000
+        - inf ( V_0AY / 1000000)* 1000000
+     )/10000 =0
+   )
+)
+ou
+(  present(V_0AZ) =1
+ et
+  (
+     (    inf ( V_0AZ / 10000) * 10000
+        - inf ( V_0AZ / 1000000)* 1000000
+     )/10000 > 12
+   ou
+     (    inf ( V_0AZ / 10000) * 10000
+        - inf ( V_0AZ / 1000000)* 1000000
+     )/10000 =0
+   )
+)
+)
+
+alors erreur A02302 ;
+verif 1342:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT > 0
+   et
+   V_IND_TRAIT + 0 = 4
+   et
+   (
+    (present(V_0AX) = 1
+     et
+     (V_0AX - inf(V_0AX/ 10000) * 10000) != V_ANREV
+     et
+     (V_0AX - inf(V_0AX/ 10000) * 10000) != V_ANREV - 1)
+    ou
+    (present(V_0AY) = 1
+     et
+     (V_0AY - inf(V_0AY/ 10000) * 10000) != V_ANREV)
+    ou
+    (present(V_0AZ) = 1
+     et
+     (V_0AZ - inf(V_0AZ/ 10000) * 10000) != V_ANREV)
+   )
+
+alors erreur A02303 ;
+verif 1352:
+application : batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   (
+    (present(V_0AX) = 1
+     et
+     V_0AX + 0 < 1010000 + (V_ANREV - 1))
+    ou
+    (present(V_0AY) = 1
+     et
+     V_0AY + 0 < 1010000 + V_ANREV)
+    ou
+    (present(V_0AZ) = 1
+     et
+     V_0AZ + 0 < 1010000 + V_ANREV)
+   )
+
+alors erreur A02402 ;
+verif 1353:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT > 0
+   et
+   (
+      ( V_IND_TRAIT+0 = 4 et (
+       (  present(V_0AX) =1
+           et
+        ( V_0AX + 0 < (1010000 + (V_ANREV - 1)))
+       )
+           ou
+       (  present(V_0AY) =1
+           et
+        ( V_0AY + 0 < (1010000 + V_ANREV))
+       )
+           ou
+       (  present(V_0AZ) =1
+           et
+        ( V_0AZ + 0 < (1010000 + V_ANREV))
+       ))
+      )
+       ou
+       ( V_IND_TRAIT = 5 et (
+        (  positif(V_0AX) =1
+            et
+         ( V_0AX + 0 < (1010000 + (V_ANREV - 1)))
+        )
+            ou
+        (  positif(V_0AY) =1
+            et
+         ( V_0AY + 0 < (1010000 + V_ANREV))
+        )
+            ou
+        (  positif(V_0AZ) =1
+            et
+         ( V_0AZ + 0 < (1010000 + V_ANREV))
+        )
+       ))
+   )
+
+alors erreur A02402 ;
+verif 30:
+application : batch , iliad ;
+
+si
+   V_0CF + V_0CG + V_0CH + V_0CI + V_0CR + V_0DJ + V_0DN + V_0DP + 0 = 0
+   et
+   SOMMEA030 > 0
+
+alors erreur A030 ;
+verif 1202:
+application : batch , iliad ;
+
+si
+   V_0AC + V_0AD + 0 > 0
+   et
+   SOMMEA031 > 0
+
+alors erreur A031 ;
+verif 3200:
+application : bareme ;
+
+si
+   V_9VV < 2
+   et
+   V_0AM + V_0AO + 0 = 1
+
+alors erreur A063 ;
+verif 3201:
+application : bareme ;
+
+si
+   (V_9VV < 1.25
+    et
+    (V_0AC = 1 ou V_0AD = 1)
+    et
+    V_9XX = 1)
+   ou
+   (V_9VV < 2.25
+    et
+    (BOOL_0AM = 1 ou V_0AV = 1)
+    et
+    V_9XX = 1)
+   ou
+   (V_9VV = 1.25
+    et
+    V_0BT = 1
+    et
+    V_9XX=1)
+
+alors erreur A064 ;
+verif 3700:
+application : bareme ;
+
+si
+   ((V_9VV / 0.25) - arr(V_9VV / 0.25)) != 0
+
+alors erreur A06501 ;
+verif 3701:
+application : bareme ;
+
+si
+   V_9VV < 1
+   ou
+   V_9VV > 99.75
+
+alors erreur A06502 ;
+verif 3203:
+application : bareme ;
+
+si
+   V_9VV < 2
+   et
+   V_0AV + V_0AZ = 2
+
+alors erreur A066 ;
+verif 77:
+application : batch , iliad ;
+
+si
+   positif(COD8XK + 0) = 1
+   et
+   V_REGCO + 0 != 3
+
+alors erreur A077 ;
+verif 78:
+application : batch , iliad ;
+
+si
+   positif(COD8YK + 0) = 1
+   et
+   ((V_REGCO+0) dans (2,3,4))
+
+alors erreur A078 ;
+verif 79:
+application : batch , iliad ;
+
+si
+   positif_ou_nul(BRAS) = 1
+   et
+   V_CNR2 + 0 != 1
+
+alors erreur A079 ;
+verif 4080:
+application : batch , iliad ;
+
+si
+   (V_NOTRAIT + 0 < 20
+    et
+    present(BRAS) = 1 et V_REGCO+0 != 2 et V_CNR2+0 = 1)
+   ou
+   (V_NOTRAIT >= 20
+    et
+    positif(BRAS) = 1 et V_REGCO+0 != 2 et V_CNR2+0 = 1)
+
+alors erreur A080 ;
+verif 4050:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT > 0
+   et
+   VALREGCO non dans (1,2,4)
+
+alors erreur A082 ;
+verif 4060:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_NOTRAIT+0 = 10
+   et
+   (VALREGCO = 2 ou VALREGCO = 4)
+   et
+   V_CNR2 + 0 != 1
+
+alors erreur A083 ;
+verif 5500:
+application : iliad , batch ;
+
+si
+   (V_NOTRAIT + 0 < 20
+    et
+    (NRBASE >= 0 ou NRINET >= 0)
+    et
+    V_REGCO != 3)
+   ou
+   (V_NOTRAIT + 0 > 20
+    et
+    (NRBASE > 0 ou NRINET > 0)
+    et
+    V_REGCO != 3)
+
+alors erreur A085 ;
+verif 4260:
+application : iliad , batch ;
+
+si
+   positif(present(NRBASE) + present(NRINET)) = 1
+   et
+   present(NRBASE) + present(NRINET) < 2
+
+alors erreur A086 ;
+verif 5502:
+application : iliad , batch ;
+
+si
+   (V_NOTRAIT + 0 < 20
+    et
+    V_CNR + 0 = 1
+    et
+    IND_TDR >= 0)
+   ou
+   (V_NOTRAIT + 0 > 20
+    et
+    V_CNR + 0 = 1
+    et
+    IND_TDR > 0)
+
+alors erreur A087 ;
+verif 4100:
+application : iliad , batch ;
+
+si
+   (IPTEFP + IPTEFN
+    + SALEXTV + SALEXTC + SALEXT1 + SALEXT2 + SALEXT3 + SALEXT4
+    + CO[DGFIP][2017]AH + CO[DGFIP][2017]BH + CO[DGFIP][2017]CH + CO[DGFIP][2017]DH + CO[DGFIP][2017]EH + CO[DGFIP][2017]FH
+    + PRODOM + PROGUY
+    + CODDAJ + CODDBJ + CODEAJ + CODEBJ + 0) > 0
+   et
+   (V_REGCO + 0 = 2
+    ou
+    V_REGCO + 0 = 4)
+
+alors erreur A088 ;
+verif 4010:
+application : iliad ,  batch ;
+
+si
+   APPLI_OCEANS + APPLI_BATCH = 1
+   et
+   V_8ZT >= 0
+   et
+   V_REGCO+0 != 2
+
+alors erreur A089 ;
+verif 4015:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   (( V_8ZT >= 0 et V_CR2+0 != 1 et V_NOTRAIT + 0 < 20)
+    ou
+    ( V_8ZT > 0 et V_CR2+0 != 1 et V_NOTRAIT >= 20))
+
+alors erreur A089 ;
+verif 90:
+application : iliad , batch ;
+
+si
+    V_IND_TRAIT + 0 > 0
+    et
+    V_8ZT > ( somme(i=V,C,1..4: TPRi)
+              + somme (i=1..3: GLNiV)
+              + somme (i=1..3: GLNiC)
+              + RVTOT + T2RV
+              + 2 )
+
+alors erreur A090 ;
+verif 4130:
+application : iliad , batch ;
+
+si
+   (V_NOTRAIT + 0 < 20
+    et
+    (present(RMOND) = 1 ou present(DMOND) = 1)
+    et V_REGCO+0 != 2)
+   ou
+   (V_NOTRAIT >= 20
+    et
+    (positif(RMOND) = 1 ou positif(DMOND) = 1)
+    et V_REGCO+0 != 2)
+
+alors erreur A091 ;
+verif 4140:
+application : iliad , batch;
+
+si
+   (V_NOTRAIT + 0 < 20
+    et
+    ((positif(IPTXMO) = 1 et present(DMOND) != 1 et present(RMOND) != 1)
+     ou
+     ((present(RMOND) = 1 ou present(DMOND) = 1) et positif(IPTXMO+0) != 1)))
+   ou
+   (V_NOTRAIT >= 20
+    et
+    ((positif(IPTXMO) = 1 et positif(DMOND) != 1 et positif(RMOND) != 1)
+     ou
+     ((positif(RMOND) = 1 ou positif(DMOND) = 1) et positif(IPTXMO+0) != 1)))
+
+alors erreur A092 ;
+verif 4150:
+application : iliad , batch ;
+
+si
+   (V_NOTRAIT + 0 < 20
+    et
+    present(RMOND) = 1
+    et
+    present(DMOND) = 1)
+   ou
+   (V_NOTRAIT >= 20
+    et
+    positif(RMOND) = 1
+    et
+    positif(DMOND) = 1)
+
+alors erreur A093 ;
+verif 4020:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT + 0 > 0
+   et
+   (V_REGCO+0) dans (1,2,3,5,6,7)
+   et
+   positif(IPVLOC + 0) = 1
+
+alors erreur A094 ;
+verif 95:
+application : iliad , batch ;
+
+si
+   V_REGCO + 0 = 4
+   et
+   IPVLOC + 0 = 0
+   et (
+       ( V_IND_TRAIT + 0 = 4
+        et V_0AM + V_0AO + V_0AC + V_0AD + V_0AV + 0 != 0)
+      ou
+       ( V_IND_TRAIT + 0 = 5
+        et positif(ANNUL2042 + 0) = 0)
+      )
+alors erreur A095 ;
+verif 96:
+application : batch , iliad ;
+
+si
+   V_REGCO dans (2,3,4)
+   et
+   ((V_IND_TRAIT = 4 et BASRET >= 0 et IMPRET >= 0)
+    ou
+    (V_IND_TRAIT = 5 et BASRET > 0 et IMPRET > 0))
+
+alors erreur A096 ;
+verif 97:
+application : batch , iliad ;
+
+si
+   present(PERPIMPATRIE) = 1
+   et
+   V_CNR = 1
+   et
+   (V_REGCO = 2
+    ou
+    V_REGCO = 4)
+
+alors erreur A097 ;
+verif 9810:
+application : batch , iliad ;
+
+si
+   positif(PVMOBNR + 0) = 1
+   et
+   V_REGCO != 2
+   et
+   V_REGCO != 4
+
+alors erreur A09801 ;
+verif 9820:
+application : batch , iliad ;
+
+si
+   positif(COD3VE + 0) = 1
+   et
+   V_REGCO != 2
+   et
+   V_REGCO != 4
+ 
+alors erreur A09802 ;
+verif 9830:
+application : batch , iliad ;
+
+si
+   positif(COD3UV + 0) = 1
+   et
+   V_REGCO != 2
+   et
+   V_REGCO != 4
+ 
+alors erreur A09803 ;
diff --git a/sources2014m_2_15/coc2.m b/sources2014m_2_15/coc2.m
new file mode 100644
index 0000000000000000000000000000000000000000..e48f09e5b51c9b400da7eac22d3b113aa862d7c7
--- /dev/null
+++ b/sources2014m_2_15/coc2.m
@@ -0,0 +1,690 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 1391:
+application : iliad , batch ;
+
+si
+   ((V_IND_TRAIT = 4 )
+     et
+    (
+     CARPENBAV < 2 ou CARPENBAV > 45
+     ou
+     CARPENBAC < 2 ou CARPENBAC > 45
+     ou
+     CARPENBA[DGFIP][2017] < 2 ou CARPENBA[DGFIP][2017] > 45
+     ou
+     CARPENBA[DGFIP][2017] < 2 ou CARPENBA[DGFIP][2017] > 45
+     ou
+     CARPENBAP3 < 2 ou CARPENBAP3 > 45
+     ou
+     CARPENBAP4 < 2 ou CARPENBAP4 > 45
+     ou
+     PENSALNBV < 2 ou PENSALNBV > 45
+     ou
+     PENSALNBC < 2 ou PENSALNBC > 45
+     ou
+     PENSALNB[DGFIP][2017] < 2 ou PENSALNB[DGFIP][2017] > 45
+     ou
+     PENSALNB[DGFIP][2017] < 2 ou PENSALNB[DGFIP][2017] > 45
+     ou
+     PENSALNBP3 < 2 ou PENSALNBP3 > 45
+     ou
+     PENSALNBP4 < 2 ou PENSALNBP4 > 45
+     ou
+     RENTAXNB < 2 ou RENTAXNB > 45
+     ou
+     RENTAXNB5 < 2 ou RENTAXNB5 > 45
+     ou
+     RENTAXNB6 < 2 ou RENTAXNB6 > 45
+     ou
+     RENTAXNB7 < 2 ou RENTAXNB7 > 45
+     ou
+     CODNAZ < 2 ou CODNAZ > 45
+     ou
+     CODNBZ < 2 ou CODNBZ > 45
+     ou
+     CODNCZ < 2 ou CODNCZ > 45
+     ou
+     CODNDZ < 2 ou CODNDZ > 45
+     ou
+     CODNEZ < 2 ou CODNEZ > 45
+     ou
+     CODNFZ < 2 ou CODNFZ > 45
+    )
+   )
+   ou
+   ((V_IND_TRAIT = 5 )
+     et
+    (
+     CARPENBAV = 1 ou CARPENBAV > 45
+     ou
+     CARPENBAC = 1 ou CARPENBAC > 45
+     ou
+     CARPENBA[DGFIP][2017] = 1 ou CARPENBA[DGFIP][2017] > 45
+     ou
+     CARPENBA[DGFIP][2017] = 1 ou CARPENBA[DGFIP][2017] > 45
+     ou
+     CARPENBAP3 = 1 ou CARPENBAP3 > 45
+     ou
+     CARPENBAP4 = 1 ou CARPENBAP4 > 45
+     ou
+     PENSALNBV = 1 ou PENSALNBV > 45
+     ou
+     PENSALNBC = 1 ou PENSALNBC > 45
+     ou
+     PENSALNB[DGFIP][2017] = 1 ou PENSALNB[DGFIP][2017] > 45
+     ou
+     PENSALNB[DGFIP][2017] = 1 ou PENSALNB[DGFIP][2017] > 45
+     ou
+     PENSALNBP3 = 1 ou PENSALNBP3 > 45
+     ou
+     PENSALNBP4 = 1 ou PENSALNBP4 > 45
+     ou
+     RENTAXNB = 1 ou RENTAXNB > 45
+     ou
+     RENTAXNB5 = 1 ou RENTAXNB5 > 45
+     ou
+     RENTAXNB6 = 1 ou RENTAXNB6 > 45
+     ou
+     RENTAXNB7 = 1 ou RENTAXNB7 > 45
+     ou
+     CODNAZ = 1 ou CODNAZ > 45
+     ou
+     CODNBZ = 1 ou CODNBZ > 45
+     ou
+     CODNCZ = 1 ou CODNCZ > 45
+     ou
+     CODNDZ = 1 ou CODNDZ > 45
+     ou
+     CODNEZ = 1 ou CODNEZ > 45
+     ou
+     CODNFZ = 1 ou CODNFZ > 45
+    )
+   )
+alors erreur A13901 ;
+verif 1392:
+application : iliad , batch ;
+
+si
+  (V_IND_TRAIT = 4
+    et
+    (
+     (positif(CARPEV) + present(CARPENBAV) = 1)
+     ou
+     (positif(CARPEC) + present(CARPENBAC) = 1)
+     ou
+     (positif(CARPE[DGFIP][2017]) + present(CARPENBA[DGFIP][2017]) = 1)
+     ou
+     (positif(CARPE[DGFIP][2017]) + present(CARPENBA[DGFIP][2017]) = 1)
+     ou
+     (positif(CARPEP3) + present(CARPENBAP3) = 1)
+     ou
+     (positif(CARPEP4) + present(CARPENBAP4) = 1)
+     ou
+     (positif(PENSALV) + present(PENSALNBV) = 1)
+     ou
+     (positif(PENSALC) + present(PENSALNBC) = 1)
+     ou
+     (positif(PENSAL[DGFIP][2017]) + present(PENSALNB[DGFIP][2017]) = 1)
+     ou
+     (positif(PENSAL[DGFIP][2017]) + present(PENSALNB[DGFIP][2017]) = 1)
+     ou
+     (positif(PENSALP3) + present(PENSALNBP3) = 1)
+     ou
+     (positif(PENSALP4) + present(PENSALNBP4) = 1)
+     ou
+     (positif(RENTAX) + present(RENTAXNB) = 1)
+     ou
+     (positif(RENTAX5) + present(RENTAXNB5) = 1)
+     ou
+     (positif(RENTAX6) + present(RENTAXNB6) = 1)
+     ou
+     (positif(RENTAX7) + present(RENTAXNB7) = 1)
+     ou
+     (positif(CODRAZ) + present(CODNAZ) = 1)
+     ou
+     (positif(CODRBZ) + present(CODNBZ) = 1)
+     ou
+     (positif(CODRCZ) + present(CODNCZ) = 1)
+     ou
+     (positif(CODRDZ) + present(CODNDZ) = 1)
+     ou
+     (positif(CODREZ) + present(CODNEZ) = 1)
+     ou
+     (positif(CODRFZ) + present(CODNFZ) = 1)
+    )
+  )
+  ou
+  (V_IND_TRAIT = 5
+    et
+    (
+     (positif(CARPEV) + positif(CARPENBAV) = 1)
+     ou
+     (positif(CARPEC) + positif(CARPENBAC) = 1)
+     ou
+     (positif(CARPE[DGFIP][2017]) + positif(CARPENBA[DGFIP][2017]) = 1)
+     ou
+     (positif(CARPE[DGFIP][2017]) + positif(CARPENBA[DGFIP][2017]) = 1)
+     ou
+     (positif(CARPEP3) + positif(CARPENBAP3) = 1)
+     ou
+     (positif(CARPEP4) + positif(CARPENBAP4) = 1)
+     ou
+     (positif(PENSALV) + positif(PENSALNBV) = 1)
+     ou
+     (positif(PENSALC) + positif(PENSALNBC) = 1)
+     ou
+     (positif(PENSAL[DGFIP][2017]) + positif(PENSALNB[DGFIP][2017]) = 1)
+     ou
+     (positif(PENSAL[DGFIP][2017]) + positif(PENSALNB[DGFIP][2017]) = 1)
+     ou
+     (positif(PENSALP3) + positif(PENSALNBP3) = 1)
+     ou
+     (positif(PENSALP4) + positif(PENSALNBP4) = 1)
+     ou
+     (positif(RENTAX) + positif(RENTAXNB) = 1)
+     ou
+     (positif(RENTAX5) + positif(RENTAXNB5) = 1)
+     ou
+     (positif(RENTAX6) + positif(RENTAXNB6) = 1)
+     ou
+     (positif(RENTAX7) + positif(RENTAXNB7) = 1)
+     ou
+     (positif(CODRAZ) + positif(CODNAZ) = 1)
+     ou
+     (positif(CODRBZ) + positif(CODNBZ) = 1)
+     ou
+     (positif(CODRCZ) + positif(CODNCZ) = 1)
+     ou
+     (positif(CODRDZ) + positif(CODNDZ) = 1)
+     ou
+     (positif(CODREZ) + positif(CODNEZ) = 1)
+     ou
+     (positif(CODRFZ) + positif(CODNFZ) = 1)
+    )
+  )
+alors erreur A13902 ;
+verif 14010:
+application : iliad , batch ;
+
+si
+   ((V_IND_TRAIT = 4 )
+     et
+    (
+     CARTSNBAV < 2 ou CARTSNBAV > 45
+     ou
+     CARTSNBAC < 2 ou CARTSNBAC > 45
+     ou
+     CARTSNBA[DGFIP][2017] < 2 ou CARTSNBA[DGFIP][2017] > 45
+     ou
+     CARTSNBA[DGFIP][2017] < 2 ou CARTSNBA[DGFIP][2017] > 45
+     ou
+     CARTSNBAP3 < 2 ou CARTSNBAP3 > 45
+     ou
+     CARTSNBAP4 < 2 ou CARTSNBAP4 > 45
+     ou
+     REMPLANBV < 2 ou REMPLANBV > 45
+     ou
+     REMPLANBC < 2 ou REMPLANBC > 45
+     ou
+     REMPLANB[DGFIP][2017] < 2 ou REMPLANB[DGFIP][2017] > 45
+     ou
+     REMPLANB[DGFIP][2017] < 2 ou REMPLANB[DGFIP][2017] > 45
+     ou
+     REMPLANBP3 < 2 ou REMPLANBP3 > 45
+     ou
+     REMPLANBP4 < 2 ou REMPLANBP4 > 45
+    )
+   )
+   ou
+   ((V_IND_TRAIT = 5 )
+     et
+    (
+     CARTSNBAV = 1 ou CARTSNBAV > 45
+     ou
+     CARTSNBAC = 1 ou CARTSNBAC > 45
+     ou
+     CARTSNBA[DGFIP][2017] = 1 ou CARTSNBA[DGFIP][2017] > 45
+     ou
+     CARTSNBA[DGFIP][2017] = 1 ou CARTSNBA[DGFIP][2017] > 45
+     ou
+     CARTSNBAP3 = 1 ou CARTSNBAP3 > 45
+     ou
+     CARTSNBAP4 = 1 ou CARTSNBAP4 > 45
+     ou
+     REMPLANBV = 1 ou REMPLANBV > 45
+     ou
+     REMPLANBC = 1 ou REMPLANBC > 45
+     ou
+     REMPLANB[DGFIP][2017] = 1 ou REMPLANB[DGFIP][2017] > 45
+     ou
+     REMPLANB[DGFIP][2017] = 1 ou REMPLANB[DGFIP][2017] > 45
+     ou
+     REMPLANBP3 = 1 ou REMPLANBP3 > 45
+     ou
+     REMPLANBP4 = 1 ou REMPLANBP4 > 45
+    )
+   )
+alors erreur A14001 ;
+verif 1402:
+application : iliad , batch ;
+
+si
+  (V_IND_TRAIT = 4
+    et
+    (
+     (positif(CARTSV) + present(CARTSNBAV) = 1)
+     ou
+     (positif(CARTSC) + present(CARTSNBAC) = 1)
+     ou
+     (positif(CARTS[DGFIP][2017]) + present(CARTSNBA[DGFIP][2017]) = 1)
+     ou
+     (positif(CARTS[DGFIP][2017]) + present(CARTSNBA[DGFIP][2017]) = 1)
+     ou
+     (positif(CARTSP3) + present(CARTSNBAP3) = 1)
+     ou
+     (positif(CARTSP4) + present(CARTSNBAP4) = 1)
+     ou
+     (positif(REMPLAV) + present(REMPLANBV) = 1)
+     ou
+     (positif(REMPLAC) + present(REMPLANBC) = 1)
+     ou
+     (positif(REMPLA[DGFIP][2017]) + present(REMPLANB[DGFIP][2017]) = 1)
+     ou
+     (positif(REMPLA[DGFIP][2017]) + present(REMPLANB[DGFIP][2017]) = 1)
+     ou
+     (positif(REMPLAP3) + present(REMPLANBP3) = 1)
+     ou
+     (positif(REMPLAP4) + present(REMPLANBP4) = 1)
+    )
+  )
+  ou
+  (V_IND_TRAIT = 5
+    et
+    (
+     (positif(CARTSV) + positif(CARTSNBAV) = 1)
+     ou
+     (positif(CARTSC) + positif(CARTSNBAC) = 1)
+     ou
+     (positif(CARTS[DGFIP][2017]) + positif(CARTSNBA[DGFIP][2017]) = 1)
+     ou
+     (positif(CARTS[DGFIP][2017]) + positif(CARTSNBA[DGFIP][2017]) = 1)
+     ou
+     (positif(CARTSP3) + positif(CARTSNBAP3) = 1)
+     ou
+     (positif(CARTSP4) + positif(CARTSNBAP4) = 1)
+     ou
+     (positif(REMPLAV) + positif(REMPLANBV) = 1)
+     ou
+     (positif(REMPLAC) + positif(REMPLANBC) = 1)
+     ou
+     (positif(REMPLA[DGFIP][2017]) + positif(REMPLANB[DGFIP][2017]) = 1)
+     ou
+     (positif(REMPLA[DGFIP][2017]) + positif(REMPLANB[DGFIP][2017]) = 1)
+     ou
+     (positif(REMPLAP3) + positif(REMPLANBP3) = 1)
+     ou
+     (positif(REMPLAP4) + positif(REMPLANBP4) = 1)
+    )
+  )
+alors erreur A14002 ;
+verif 14110:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   (COTFV + 0 > 25
+    ou
+    COTFC + 0 > 25
+    ou
+    COT[DGFIP][2017] + 0 > 25
+    ou
+    COT[DGFIP][2017] + 0 > 25
+    ou
+    COTF3 + 0 > 25
+    ou
+    COTF4 + 0 > 25)
+
+alors erreur A14101 ;
+verif 1412:
+application : iliad , batch ;
+
+si
+   (V_IND_TRAIT = 4
+    et
+    (
+     (positif(PEBFV) + present(COTFV) = 1)
+     ou
+     (positif(PEBFC) + present(COTFC) = 1)
+     ou
+     (positif(PEB[DGFIP][2017]) + present(COT[DGFIP][2017]) = 1)
+     ou
+     (positif(PEB[DGFIP][2017]) + present(COT[DGFIP][2017]) = 1)
+     ou
+     (positif(PEBF3) + present(COTF3) = 1)
+     ou
+     (positif(PEBF4) + present(COTF4) = 1)
+     ou
+     (positif(COTFV) + present(PEBFV) = 1)
+     ou
+     (positif(COTFC) + present(PEBFC) = 1)
+     ou
+     (positif(COT[DGFIP][2017]) + present(PEB[DGFIP][2017]) = 1)
+     ou
+     (positif(COT[DGFIP][2017]) + present(PEB[DGFIP][2017]) = 1)
+     ou
+     (positif(COTF3) + present(PEBF3) = 1)
+     ou
+     (positif(COTF4) + present(PEBF4) = 1)
+    )
+   )
+   ou
+   (V_IND_TRAIT = 5
+    et
+    (
+     (positif(PEBFV) + positif(COTFV) = 1)
+     ou
+     (positif(PEBFC) + positif(COTFC) = 1)
+     ou
+     (positif(PEB[DGFIP][2017]) + positif(COT[DGFIP][2017]) = 1)
+     ou
+     (positif(PEB[DGFIP][2017]) + positif(COT[DGFIP][2017]) = 1)
+     ou
+     (positif(PEBF3) + positif(COTF3) = 1)
+     ou
+     (positif(PEBF4) + positif(COTF4) = 1)
+     ou
+     (positif(COTFV) + positif(PEBFV) = 1)
+     ou
+     (positif(COTFC) + positif(PEBFC) = 1)
+     ou
+     (positif(COT[DGFIP][2017]) + positif(PEB[DGFIP][2017]) = 1)
+     ou
+     (positif(COT[DGFIP][2017]) + positif(PEB[DGFIP][2017]) = 1)
+     ou
+     (positif(COTF3) + positif(PEBF3) = 1)
+     ou
+     (positif(COTF4) + positif(PEBF4) = 1)
+    )
+   )
+
+alors erreur A14102 ;
+verif 143:
+application : iliad , batch ;
+
+si
+    (
+ ( FRNV + CO[DGFIP][2017]AE > 0 et (present(TSHALLOV) + present(ALLOV) + present(SALEXTV)) = 0 )
+     ou
+ ( FRNC + CO[DGFIP][2017]BE > 0 et (present(TSHALLOC) + present(ALLOC) + present(SALEXTC)) = 0 )
+     ou
+ ( FRN1 + CO[DGFIP][2017]CE > 0 et (present(TSHALLO1) + present(ALLO1) + present(SALEXT1)) = 0 )
+     ou
+ ( FRN2 + CO[DGFIP][2017]DE > 0 et (present(TSHALLO2) + present(ALLO2) + present(SALEXT2)) = 0 )
+     ou
+ ( FRN3 + CO[DGFIP][2017]EE > 0 et (present(TSHALLO3) + present(ALLO3) + present(SALEXT3)) = 0 )
+     ou
+ ( FRN4 + CO[DGFIP][2017]FE > 0 et (present(TSHALLO4) + present(ALLO4) + present(SALEXT4)) = 0 )
+    )
+alors erreur A143 ;
+verif 1441:
+application : iliad , batch ;
+
+si
+   TSHALLOV + 0 < GSALV + 0
+   et
+   GSALV + 0 > 0
+
+alors erreur A14401 ;
+verif 1442:
+application : iliad , batch ;
+
+si
+   TSHALLOC + 0 < GSALC + 0
+   et
+   GSALC + 0 > 0
+
+alors erreur A14402 ;
+verif non_auto_cc 146:
+application : iliad , batch ;
+
+si (
+     ( DETSV=1 et
+       positif(present(TSHALLOV) + present(ALLOV) + present(CARTSV) + present(CARTSNBAV) + present(REMPLAV) + present(REMPLANBV)) = 0 )
+ ou
+     ( DETSC=1 et
+       positif(present(TSHALLOC) + present(ALLOC) + present(CARTSC) + present(CARTSNBAC) + present(REMPLAC) + present(REMPLANBC))=0 )
+ ou
+     ( DETS1=1 et
+       positif(present(TSHALLO1) + present(ALLO1) + present(CARTS[DGFIP][2017]) + present(CARTSNBA[DGFIP][2017]) + present(REMPLA[DGFIP][2017]) + present(REMPLANB[DGFIP][2017]))=0 )
+ ou
+     ( DETS2=1 et
+       positif(present(TSHALLO2) + present(ALLO2) + present(CARTS[DGFIP][2017]) + present(CARTSNBA[DGFIP][2017]) + present(REMPLA[DGFIP][2017]) + present(REMPLANB[DGFIP][2017]))=0 )
+ ou
+     ( DETS3=1 et
+       positif(present(TSHALLO3) + present(ALLO3) + present(CARTSP3) + present(CARTSNBAP3) + present(REMPLAP3) + present(REMPLANBP3))=0 )
+ ou
+     ( DETS4=1 et
+       positif(present(TSHALLO4) + present(ALLO4) + present(CARTSP4) + present(CARTSNBAP4) + present(REMPLAP4) + present(REMPLANBP4))=0 )
+        )
+alors erreur A146 ;
+verif 153:
+application : iliad , batch ;
+
+si
+   (
+       (positif(PPETPV + 0) = 1 et (positif(PPENHV + 0) = 1 ou positif(PPEXTV + 0) = 1))
+    ou (positif(PPETPC + 0) = 1 et (positif(PPENHC + 0) = 1 ou positif(PPEXTC + 0) = 1))
+    ou (positif(PPETP[DGFIP][2017] + 0) = 1 et (positif(PPENH[DGFIP][2017] + 0) = 1 ou positif(PPEXT1 + 0) = 1))
+    ou (positif(PPETP[DGFIP][2017] + 0) = 1 et (positif(PPENH[DGFIP][2017] + 0) = 1 ou positif(PPEXT2 + 0) = 1))
+    ou (positif(PPETPP3 + 0) = 1 et (positif(PPENHP3 + 0) = 1 ou positif(PPEXT3 + 0) = 1))
+    ou (positif(PPETPP4 + 0) = 1 et (positif(PPENHP4 + 0) = 1 ou positif(PPEXT4 + 0) = 1))
+   )
+
+alors erreur A153 ;
+verif 154:
+application : iliad , batch ;
+
+si
+      (positif(CO[DGFIP][2017]AD + 0) = 1 et present(SALEXTV) = 0)
+   ou (positif(CO[DGFIP][2017]BD + 0) = 1 et present(SALEXTC) = 0)
+   ou (positif(CO[DGFIP][2017]CD + 0) = 1 et present(SALEXT1) = 0)
+   ou (positif(CO[DGFIP][2017]DD + 0) = 1 et present(SALEXT2) = 0)
+   ou (positif(CO[DGFIP][2017]ED + 0) = 1 et present(SALEXT3) = 0)
+   ou (positif(CO[DGFIP][2017]FD + 0) = 1 et present(SALEXT4) = 0)
+
+alors erreur A154 ;
+verif non_auto_cc 2181:
+application : iliad , batch ;
+
+si
+   RCMAVFT > PLAF_AF
+   et
+   positif(RCMABD + REVACT + REVACTNB + RCMHAD + DISQUO + DISQUONB + RCMHAB
+                           + INTERE + INTERENB + RCMTNC + REVPEA + CO[DGFIP][2017]FA + 0) = 0
+
+alors erreur A21801 ;
+verif non_auto_cc 2182:
+application : iliad , batch ;
+
+si
+   DIREPARGNE > PLAF_AF
+   et
+   PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + DISQUONB + INTERE + INTERENB + CO[DGFIP][2017]FA + BPVRCM + 0 = 0
+
+alors erreur A21802 ;
+verif 2201:
+application : batch ;
+
+si
+   APPLI_COLBERT = 0
+   et
+   V_NOTRAIT + 0 = 10
+   et
+   ((RCMAVFT > PLAF_A[DGFIP][2017]
+     et
+     RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE + RCMTNC + REVPEA + CO[DGFIP][2017]FA > 0
+     et
+     RCMAVFT > arr((RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE + RCMTNC + REVPEA + CO[DGFIP][2017]FA) * 40/100))
+    ou
+    (DIREPARGNE > PLAF_A[DGFIP][2017]
+     et
+     PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE + CO[DGFIP][2017]FA + BPVRCM > 0
+     et
+     DIREPARGNE > arr((PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE + CO[DGFIP][2017]FA + BPVRCM) * 60/100 )))
+
+alors erreur A220 ;
+verif 2202:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   ((V_IND_TRAIT + 0 = 5 et V_NOTRAIT + 0 > 14) ou V_NOTRAIT + 0 = 14)
+   et
+   ((RCMAVFT > PLAF_A[DGFIP][2017]
+     et
+     RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE + RCMTNC + REVPEA + CO[DGFIP][2017]FA > 0
+     et
+     RCMAVFT > arr((RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE + RCMTNC + REVPEA + CO[DGFIP][2017]FA) * 40/ 100))
+    ou
+    (DIREPARGNE > PLAF_A[DGFIP][2017]
+     et
+     PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE + CO[DGFIP][2017]FA + BPVRCM > 0
+     et
+     DIREPARGNE > arr((PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE + CO[DGFIP][2017]FA + BPVRCM) * 60/100 )))
+
+alors erreur A220 ;
+verif 221:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CO[DGFIP][2017]LA) + positif(CO[DGFIP][2017]LB) > 1
+
+alors erreur A221 ;
+verif 2231:
+application : iliad , batch ;
+
+si
+  ((V_IND_TRAIT = 4 )
+   et
+   (
+    REVACTNB < 2 ou REVACTNB > 20
+    ou
+    REVPEANB < 2 ou REVPEANB > 20
+    ou
+    PROVIENB < 2 ou PROVIENB > 20
+    ou
+    DISQUONB < 2 ou DISQUONB > 20
+    ou
+    RESTUCNB < 2 ou RESTUCNB > 20
+    ou
+    INTERENB < 2 ou INTERENB > 20
+   )
+  )
+  ou
+  ((V_IND_TRAIT = 5 )
+   et
+   (
+    REVACTNB = 1 ou REVACTNB > 20
+    ou
+    REVPEANB = 1 ou REVPEANB > 20
+    ou
+    PROVIENB = 1 ou PROVIENB > 20
+    ou
+    DISQUONB = 1 ou DISQUONB > 20
+    ou
+    RESTUCNB = 1 ou RESTUCNB > 20
+    ou
+    INTERENB = 1 ou INTERENB > 20
+   )
+  )
+alors erreur A22301 ;
+verif 2232:
+application : iliad , batch ;
+
+si
+   (V_IND_TRAIT = 4
+    et
+    (
+     positif(REVACT) + present(REVACTNB) = 1
+     ou
+     positif(REVPEA) + present(REVPEANB) = 1
+     ou
+     positif(PROVIE) + present(PROVIENB) = 1
+     ou
+     positif(DISQUO) + present(DISQUONB) = 1
+     ou
+     positif(RESTUC) + present(RESTUCNB) = 1
+     ou
+     positif(INTERE) + present(INTERENB) = 1
+    )
+   )
+   ou
+   (V_IND_TRAIT = 5
+    et
+    (
+     positif(REVACT) + positif(REVACTNB) = 1
+     ou
+     positif(REVPEA) + positif(REVPEANB) = 1
+     ou
+     positif(PROVIE) + positif(PROVIENB) = 1
+     ou
+     positif(DISQUO) + positif(DISQUONB) = 1
+     ou
+     positif(RESTUC) + positif(RESTUCNB) = 1
+     ou
+     positif(INTERE) + positif(INTERENB) = 1
+    )
+   )
+alors erreur A22302 ;
+verif 224:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CO[DGFIP][2017]CK + 0 > 80
+   et
+   positif(RCMABD + REVACT + RCMHAD + DISQUO + RCMHAB + INTERE + RCMTNC + REVPEA + CO[DGFIP][2017]FA + 0) = 0
+
+alors erreur A224 ;
+verif 225:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CO[DGFIP][2017]FA + 0 > 2000
+
+alors erreur A225 ;
+verif 226:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CO[DGFIP][2017]FA + 0) + positif(RCMHAB + 0) > 1
+
+alors erreur A226 ;
diff --git a/sources2014m_2_15/coc3.m b/sources2014m_2_15/coc3.m
new file mode 100644
index 0000000000000000000000000000000000000000..c8a5821152e584b01528db6088be73e97800ad00
--- /dev/null
+++ b/sources2014m_2_15/coc3.m
@@ -0,0 +1,413 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 320:
+application : iliad , batch ;
+
+si
+   DPVRCM > 0
+   et
+   BPVRCM + PEA + GAINPEA > 0
+
+alors erreur A320 ;
+verif 321:
+application : iliad , batch ;
+
+si
+
+   positif(ABDETPLUS + 0) + positif(ABDETMOINS + 0) = 2
+
+alors erreur A321;
+verif 323:
+application : iliad , batch ;
+
+si
+   positif(ABIMPPV + 0) = 1
+   et
+   positif(ABIMPMV + 0) = 1
+
+alors erreur A323 ;
+verif 325:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(PVSURSI + 0) + positif(COD3WM + 0) = 1
+
+alors erreur A325 ;
+verif 326:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(PVIMPOS + 0) + positif(ABPVNOSURSIS + 0) = 1
+
+alors erreur A326 ;
+verif 3271:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CODRVG + 0) + positif(CODNVG + 0) = 1
+
+alors erreur A32701 ;
+verif 3272:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CODNVG + 0) = 1
+   et
+   null(4 - CODNVG) = 0
+
+alors erreur A32702 ;
+verif 3281:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CODRWA + 0) + positif(CODNWA + 0) = 1
+
+alors erreur A32801 ;
+verif 3282:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CODNWA + 0) = 1
+   et
+   null(4 - CODNWA) = 0
+
+alors erreur A32802 ;
+verif 3291:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CODRWB + 0) + positif(CODNWB + 0) = 1
+
+alors erreur A32901 ;
+verif 3292:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CODNWB + 0) = 1
+   et
+   null(4 - CODNWB) = 0
+
+alors erreur A32902 ;
+verif 420:
+application : batch , iliad ;
+
+si
+   RFMIC > 0
+   et
+   (RFORDI > 0 ou RFDORD > 0 ou RFDHIS > 0 ou FONCI > 0 ou REAMOR > 0 et FONCINB > 0 ou REAMORNB > 0)
+
+alors erreur A420 ;
+verif 421:
+application : batch , iliad;
+
+si 
+   V_IND_TRAIT > 0
+   et
+   RFMIC > LIM_MICFON
+  
+alors erreur A421 ;
+verif 422:
+application : batch , iliad ;
+
+si
+   LOYIMP > 0 et ( present(RFORDI) = 0
+                et
+                   present(FONCI) = 0
+                et
+                   present(FONCINB) = 0
+                et
+                   present(REAMOR) = 0
+                et
+                   present(REAMORNB) = 0
+                et
+                   present(RFDORD) = 0
+                et
+                   present(RFDHIS) = 0
+                et
+                   present(RFMIC) = 0)
+
+alors erreur A422 ;
+verif 423:
+application : batch , iliad ;
+
+si
+   RFROBOR > 0
+   et
+   RFDANT > 0
+   et
+   present(RFORDI) = 0
+   et
+   present(RFDORD) = 0
+   et
+   present(RFDHIS) = 0
+   
+alors erreur A423 ;
+verif 424:
+application : batch , iliad ;
+
+si
+   RFROBOR > 0
+   et
+   (FONCI > 0
+    ou
+    REAMOR > 0)
+
+alors erreur A424 ;
+verif 4251:
+application : iliad , batch ;
+
+si
+   (V_IND_TRAIT = 4
+    et
+    (FONCINB < 2 ou FONCINB > 30))
+   ou
+   (V_IND_TRAIT = 5
+    et
+    (FONCINB = 1 ou FONCINB > 30))
+
+alors erreur A42501 ;
+verif 4252:
+application : iliad , batch ;
+
+si
+   (V_IND_TRAIT = 4
+    et
+    positif(FONCI) + present(FONCINB) = 1)
+   ou
+   (V_IND_TRAIT = 5
+    et
+    positif(FONCI) + positif(FONCINB) = 1)
+
+alors erreur A42502 ;
+verif 4261:
+application : iliad , batch ;
+
+si
+   (V_IND_TRAIT = 4
+    et
+    (REAMORNB < 2 ou REAMORNB > 14))
+   ou
+   (V_IND_TRAIT = 5
+    et
+    (REAMORNB = 1 ou REAMORNB > 14))
+
+alors erreur A42601 ;
+verif 4262:
+application : iliad , batch ;
+
+si
+   (V_IND_TRAIT = 4
+    et
+    positif(REAMOR) + present(REAMORNB) = 1)
+   ou
+   (V_IND_TRAIT = 5
+    et
+    positif(REAMOR) + positif(REAMORNB) = 1)
+
+alors erreur A42602 ;
+verif 534:
+application : batch , iliad ;
+
+si
+   APPLI_COLBERT + APPLI_OCEANS = 0
+   et
+   positif_ou_nul(NAPT) = 0
+   et
+   (V_BTNATIMP+0) dans (1,11,71,81)
+   et
+   (positif(V_FORVA + 0) = 1
+    ou
+    positif(V_FORCA + 0) = 1
+    ou
+    positif(V_FORPA + 0) = 1)
+
+alors erreur A534 ;
+verif 538: 
+application : iliad , batch ;
+
+si
+   (RCSV > 0 et SOMMEA538VB = 0)
+   ou
+   (RCSC > 0 et SOMMEA538CB = 0)
+   ou
+   (RCSP > 0 et SOMMEA538PB = 0)
+
+alors erreur A538 ;
+verif 542:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   (
+    (PPEACV+0 > 0 et PPENJV+0 > 0)
+    ou
+    (PPEACC+0 > 0 et PPENJC+0 > 0)
+    ou
+    (PPEACP+0 > 0 et PPENJP+0 > 0)
+   )
+
+alors erreur A542 ;
+verif 600:
+application : iliad , batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   positif(PERPIMPATRIE+0) != 1
+   et
+   V_REGCO+0 != 2 et V_REGCO+0 != 4
+   et
+   V_CNR+0 != 1
+   et
+   ((positif(PERP_COTV+0) > 0 et
+     present(PERPPLAFCV)*present(PERPPLAFNUV1)*present(PERPPLAFNUV2)*present(PERPPLAFNUV3) = 0)
+    ou
+    (positif(PERP_COTC+0) > 0 et
+     present(PERPPLAFCC)*present(PERPPLAFNUC1)*present(PERPPLAFNUC2)*present(PERPPLAFNUC3) = 0)
+    ou
+    (positif(PERP_COTP+0) > 0 et
+     present(PERPPLAFCP)*present(PERPPLAFNU[DGFIP][2017])*present(PERPPLAFNU[DGFIP][2017])*present(PERPPLAFNUP3) = 0))
+
+alors erreur A600 ;
+verif 601:
+application : iliad , batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_REGCO+0 != 2 et V_REGCO+0 != 4
+   et
+   positif(PERPIMPATRIE+0) != 1
+   et
+   (PERPPLAFCV > LIM_PERPMAXBT
+    ou
+    PERPPLAFCC > LIM_PERPMAXBT)
+
+alors erreur A601 ;
+verif 602:
+application : iliad , batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_REGCO+0 != 2 et V_REGCO+0 != 4
+   et
+   ((positif(RACCOTV+0) > 0 et positif(PERP_COTV+0) = 0)
+    ou
+    (positif(RACCOTC+0) > 0 et positif(PERP_COTC+0) = 0)
+    ou
+    (positif(RACCOTP+0) > 0 et positif(PERP_COTP+0) = 0))
+
+alors erreur A602 ;
+verif 603:
+application : iliad , batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   positif(PERPIMPATRIE + 0) != 1
+   et
+   positif(V_CALCULIR + 0) = 0
+   et
+   V_REGCO+0 != 2 et V_REGCO+0 != 4
+   et
+  (
+  (positif_ou_nul(PLAF_PERPV) = 1 et
+            (present(PERPPLAFCV) = 0 et present(PERPPLAFNUV1) = 0
+             et present(PERPPLAFNUV2) = 0 et present(PERPPLAFNUV3) = 0 ))
+  ou
+  (positif_ou_nul(PLAF_PERPC) = 1 et
+            (present(PERPPLAFCC) = 0 et present(PERPPLAFNUC1) = 0
+             et present(PERPPLAFNUC2) = 0 et present(PERPPLAFNUC3) = 0 ))
+  ou
+  (positif_ou_nul(PLAF_PERPP) = 1 et
+            (present(PERPPLAFCP) = 0 et present(PERPPLAFNU[DGFIP][2017]) = 0
+             et present(PERPPLAFNU[DGFIP][2017]) = 0 et present(PERPPLAFNUP3) = 0 ))
+  ou
+  (positif_ou_nul(PLAF_PERPV) = 1
+                 et (PERPPLAFCV+PERPPLAFNUV1+PERPPLAFNUV2+PERPPLAFNUV3 =
+                      V_BTPERPV+V_BTPERPNUV1+V_BTPERPNUV2+V_BTPERPNUV3) )
+  ou
+  (positif_ou_nul(PLAF_PERPC) = 1
+                 et (PERPPLAFCC+PERPPLAFNUC1+PERPPLAFNUC2+PERPPLAFNUC3 =
+                      V_BTPERPC+V_BTPERPNUC1+V_BTPERPNUC2+V_BTPERPNUC3) )
+  ou
+  (positif_ou_nul(PLAF_PERPP) = 1
+                 et (PERPPLAFCP+PERPPLAFNU[DGFIP][2017]+PERPPLAFNU[DGFIP][2017]+PERPPLAFNUP3 =
+                      V_BTPERPP+V_BTPERPNU[DGFIP][2017]+V_BTPERPNU[DGFIP][2017]+V_BTPERPNUP3) )
+  )
+alors erreur A603 ;
+verif 604:
+application : iliad , batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   (positif(PERPMUTU) = 1 et (V_0AM + V_0AO = 1) et ((V_REGCO+0) dans (1,3,5,6,7))
+    et positif(PERPIMPATRIE+0) = 0
+    et (present(PERPPLAFCV) = 0 ou present(PERPPLAFNUV1) = 0
+        ou present(PERPPLAFNUV2) = 0 ou present(PERPPLAFNUV3) = 0
+        ou present(PERPPLAFCC) = 0 ou present(PERPPLAFNUC1) = 0
+        ou present(PERPPLAFNUC2) = 0 ou present(PERPPLAFNUC3) =0))
+alors erreur A604 ;
+verif 6051:
+application : iliad , batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT > 0
+   et
+   PERPV + 0 < EXOCETV + 0
+   et
+   positif(EXOCETV + 0) = 1
+
+alors erreur A60501 ;
+verif 6052:
+application : iliad , batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT > 0
+   et
+   PERPC + 0 < EXOCETC + 0
+   et
+   positif(EXOCETC + 0) = 1
+
+alors erreur A60502 ;
diff --git a/sources2014m_2_15/coc4.m b/sources2014m_2_15/coc4.m
new file mode 100644
index 0000000000000000000000000000000000000000..af680419bfba46fd6d5de34369d8d38c79af7f4b
--- /dev/null
+++ b/sources2014m_2_15/coc4.m
@@ -0,0 +1,663 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 700:
+application : iliad ,batch ;
+
+si
+   RDCOM > 0
+   et
+   SOMMEA700 = 0
+
+alors erreur A700 ;
+verif 702:
+application : batch , iliad ;
+
+si
+   (V_REGCO+0) dans (1,3,5,6,7)
+   et
+   INTDIFAGRI * positif(INTDIFAGRI) + 0 > RCMHAB * positif(RCMHAB) + CO[DGFIP][2017]FA * positif(CO[DGFIP][2017]FA) + 0
+
+alors erreur A702 ;
+verif 703:
+application : batch , iliad ;
+
+si
+ (
+  ( (positif(PRETUD+0) = 1 ou positif(PRETUDANT+0) = 1)
+   et
+    V_0DA < 1979
+   et
+    positif(BOOL_0AM+0) = 0 )
+  ou
+  ( (positif(PRETUD+0) = 1 ou positif(PRETUDANT+0) = 1)
+   et
+   positif(BOOL_0AM+0) = 1
+   et
+   V_0DA < 1979
+   et
+   V_0DB < 1979 )
+  )
+alors erreur A703 ;
+verif 704:
+application : batch , iliad ;
+
+si
+   (positif(CASEPRETUD + 0) = 1 et positif(PRETUDANT + 0) = 0)
+   ou
+   (positif(CASEPRETUD + 0) = 0 et positif(PRETUDANT + 0) = 1)
+
+alors erreur A704 ;
+verif 705:
+application : batch , iliad ;
+
+si
+   CONVCREA + 0 > 15
+   et
+   V_IND_TRAIT > 0
+
+alors erreur A705 ;
+verif 706:
+application : batch , iliad ;
+
+si
+   CONVHAND + 0 > CONVCREA + 0
+   et
+   V_IND_TRAIT > 0
+
+alors erreur A706 ;
+verif 2610:
+application : batch , iliad ;
+
+si
+   RDENS + RDENL + RDENU > V_0CF + V_0DJ + V_0DN + 0
+
+alors erreur A70701 ;
+verif 2615:
+application : batch , iliad ;
+
+si
+   RDENSQAR + RDENLQAR + RDENUQAR > V_0CH + V_0DP + 0
+
+alors erreur A70702 ;
+verif 2642:
+application : iliad , batch;
+
+si
+   V_IND_TRAIT > 0
+   et
+   (
+    RINVLOCINV + 0 > LIMLOC2
+    ou
+    RINVLOCREA + 0 > LIMLOC2
+    ou
+    INVLOCHOTR + 0 > LIMLOC2
+    ou
+    REPINVTOU + 0 > LIMLOC2
+    ou
+    INVLOGREHA + 0 > LIMLOC2
+    ou
+    INVLOGHOT + 0 > LIMLOC2
+    ou
+    INVLOCXN + 0 > LIMLOC2
+    ou
+    INVLOCXV + 0 > LIMLOC2
+    ou
+    COD7UY + 0 > LIMLOC2
+    ou
+    COD7UZ + 0 > LIMLOC2
+   )
+
+alors erreur A708 ;
+verif 7091:
+application : batch , iliad ;
+
+si
+   SOMMEA709 > 1
+
+alors erreur A70901 ;
+verif 7092:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(INVLOCHOTR) + positif(INVLOGHOT) > 1
+
+alors erreur A70902 ;
+verif 710:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CREAIDE + 0) * positif(RVAIDE + 0) = 1
+
+alors erreur A710 ;
+verif 7111:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   INAIDE > 0
+   et
+   positif(RVAIDE + RVAIDAS + CREAIDE + 0) = 0
+
+alors erreur A71101 ;
+verif 7112:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(ASCAPA + 0) + positif(RVAIDAS + 0) = 1
+
+alors erreur A71102 ;
+verif 7113:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   PREMAIDE > 0
+   et
+   positif(RVAIDE + RVAIDAS + CREAIDE + 0) = 0
+
+alors erreur A71103 ;
+verif 712:
+application : batch , iliad ;
+
+si
+   PRESCOM[DGFIP][2017]000 + 0 > PRESCOMPJUGE
+   et
+   positif(PRESCOMPJUGE) = 1
+
+alors erreur A712 ;
+verif non_auto_cc 2698:
+application : batch , iliad ;
+
+si
+   (PRESCOMPJUGE + 0 > 0 et PRESCOM[DGFIP][2017]000 + 0 = 0)
+   ou
+   (PRESCOMPJUGE + 0 = 0 et PRESCOM[DGFIP][2017]000 + 0 > 0)
+
+alors erreur A713 ;
+verif 714:
+application : batch , iliad ;
+
+si
+   RDPRESREPORT + 0 > 0
+   et
+   PRESCOMPJUGE + PRESCOM[DGFIP][2017]000 + 0 > 0
+
+alors erreur A714 ;
+verif 715:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   RDPRESREPORT + 0 > LIM_REPCOMPENS
+
+alors erreur A715 ;
+verif 716:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   ((SUBSTITRENTE < PRESCOM[DGFIP][2017]000 + 0)
+    ou
+    (SUBSTITRENTE > 0 et present(PRESCOM[DGFIP][2017]000) = 0))
+
+alors erreur A716 ;
+verif 7171:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CELLIERFA) + positif(CELLIERFB) + positif(CELLIERFC) + positif(CELLIERFD) > 1
+
+alors erreur A71701 ;
+verif 7172:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   SOMMEA71701 > 1
+
+alors erreur A71702 ;
+verif 7173:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   SOMMEA71702 > 1
+
+alors erreur A71703 ;
+verif 7174:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CELLIERHJ) + positif(CELLIERHK) + positif(CELLIERHN) + positif(CELLIERHO) > 1
+
+alors erreur A71704 ;
+verif 7175:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CELLIERHL) + positif(CELLIERHM) > 1
+
+alors erreur A71705 ;
+verif 718:
+application : batch , iliad ;
+
+si
+   CIAQCUL > 0
+   et
+   SOMMEA718 = 0
+
+alors erreur A718 ;
+verif 719:
+application : batch , iliad ;
+
+si
+   RDMECENAT > 0
+   et
+   SOMMEA719 = 0
+
+alors erreur A719 ;
+verif 7301:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   REPFOR + 0 > 0
+   et
+   REPSINFOR1 + 0 > 0
+
+alors erreur A73001 ;
+verif 7302:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   REPFOR1 + 0 > 0
+   et
+   REPSINFOR2 + 0 > 0
+
+alors erreur A73002 ;
+verif 7303:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   REPFOR2 + 0 > 0
+   et
+   REPSINFOR3 + 0 > 0
+
+alors erreur A73003 ;
+verif 7304:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   REPFOR3 + 0 > 0
+   et
+   REPSINFOR4 + 0 > 0
+
+alors erreur A73004 ;
+verif 731:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CASEPRETUD + 0 > 5
+
+alors erreur A731 ;
+verif 732:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   present(V_0SA) = 0
+   et
+   positif(V_BTRFRN1 + RFRN1 + 0) * positif(V_BTRFRN2 + RFRN2 + 0) = 0
+   et
+   positif(COD7RX + 0) = 0
+   et
+   positif(CIBOIBAIL + CINRJBAIL + CRENRJ + TRAMURWC + CINRJ + TRATOIVG + CIDE[DGFIP][2017]5 
+           + MATISOSI + TRAVITWT + MATISOSJ + VOLISO + PORENT + CHAUBOISN + POMPESP 
+           + POMPESR + CHAUFSOL + POMPESQ + ENERGIEST + DIAGPERF + RESCHAL + 0) = 1
+   et
+   BQTRAV = 0
+
+alors erreur A732 ;
+verif 734:
+application : batch , iliad ;
+
+si
+    positif(PTZDEVDUR + 0) = 1
+    et
+    positif(PTZDEVDURN + 0) = 1
+
+alors erreur A734 ;
+verif 735:
+application : batch , iliad ;
+
+si
+   positif(PTZDEVDUR + 0) + positif(PTZDEVDURN + 0) = 1
+   et
+   positif(CIBOIBAIL + CINRJBAIL + CRENRJ + TRAMURWC + CINRJ + TRATOIVG + CIDE[DGFIP][2017]5 + MATISOSI + TRAVITWT + MATISOSJ 
+           + VOLISO + PORENT + CHAUBOISN + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + DIAGPERF + RESCHAL 
+           + COD7SA + COD7SB + COD7SC + COD7WB + COD7RG + COD7VH + COD7RH + COD7RI + COD7WU + COD7RJ + COD7RK + COD7RL 
+           + COD7RN + COD7RP + COD7RR + COD7RS + COD7RQ + COD7RT + COD7TV + COD7TW + COD7RV + COD7RW + COD7RZ + 0) = 0
+
+alors erreur A735 ;
+verif 736:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(DUFLOEK) + positif(DUFLOEL) + positif(PINELQA) + positif(PINELQB) + positif(PINELQC) + positif(PINELQD) + 0 > 2
+
+alors erreur A736 ;
+verif 737:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(COD7RX + V_0AX + V_0AY + V_0AZ + V_BTXYZ1 + V_BTXYZ2 + 0) = 1
+   et
+   1 - positif_ou_nul(COD7WX) = 1
+   et
+   positif(CIBOIBAIL + CINRJBAIL + CRENRJ + TRAMURWC + CINRJ + TRATOIVG + CIDE[DGFIP][2017]5 
+           + MATISOSI + TRAVITWT + MATISOSJ + VOLISO + PORENT + CHAUBOISN + POMPESP 
+           + POMPESR + CHAUFSOL + POMPESQ + ENERGIEST + DIAGPERF + RESCHAL + 0) = 1
+   et
+   BQTRAV = 0
+
+alors erreur A737 ;
+verif 739:
+application : batch , iliad ;
+
+si
+   positif(OPTPLA[DGFIP][2017]5 + 0) = 1
+   et
+   SOMMEA739 = 0
+
+alors erreur A739 ;
+verif 7401:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   (CODHAE + CODHAJ + 0) > PLAF_INVDOM5
+   et
+   positif(CODHAO + CODHAT + CODHAY + CODHBG + 0) = 0
+
+alors erreur A74001 ;
+verif 7402:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   (CODHAO + CODHAT + CODHAY + CODHBG + 0) > PLAF_INVDOM6
+   et
+   positif(CODHAE + CODHAJ + 0) = 0
+
+alors erreur A74002 ;
+verif 7403:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CODHAE + CODHAJ + 0) = 1
+   et
+   positif(CODHAO + CODHAT + CODHAY + CODHBG + 0) = 1
+   et
+   (CODHAE + CODHAJ + CODHAO + CODHAT + CODHAY + CODHBG + 0) > PLAF_INVDOM6
+
+alors erreur A74003 ;
+verif 741:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   ((CELREPHR + 0 > PLAF_99999)
+    ou
+    (CELREPHS + 0 > PLAF_99999)
+    ou
+    (CELREPHT + 0 > PLAF_99999)
+    ou
+    (CELREPHU + 0 > PLAF_99999)
+    ou
+    (CELREPHV + 0 > PLAF_99999)
+    ou
+    (CELREPHW + 0 > PLAF_99999)
+    ou
+    (CELREPHX + 0 > PLAF_99999)
+    ou
+    (CELREPHZ + 0 > PLAF_99999))
+
+alors erreur A741 ;
+verif 743:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   (REPMEUBLE + 0 > PLAF_99999
+    ou
+    INVREPMEU + 0 > PLAF_99999
+    ou
+    INVREPNPRO + 0 > PLAF_99999
+    ou
+    INVNPROREP + 0 > PLAF_99999)
+
+alors erreur A743 ;
+verif 744:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   RISKTEC + 0 > PLAF_TEC
+
+alors erreur A744 ;
+verif 7461:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CODHAE * positif(CODHAE + 0) > CODHAD * positif(CODHAD + 0) + 0
+
+alors erreur A74601 ;
+verif 7462:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CODHAJ * positif(CODHAJ + 0) > CODHAI * positif(CODHAI + 0) + 0
+
+alors erreur A74602 ;
+verif 7463:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CODHAO * positif(CODHAO + 0) > CODHAN * positif(CODHAN + 0) + 0
+
+alors erreur A74603 ;
+verif 7464:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CODHAT * positif(CODHAT + 0) > CODHAS * positif(CODHAS + 0) + 0
+
+alors erreur A74604 ;
+verif 7465:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CODHAY * positif(CODHAY + 0) > CODHAX * positif(CODHAX + 0) + 0
+
+alors erreur A74605 ;
+verif 7466:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CODHBG * positif(CODHBG + 0) > CODHBF * positif(CODHBF + 0) + 0
+
+alors erreur A74606 ;
+verif 747:
+application : iliad , batch ;
+
+si
+   FIPDOMCOM + 0 > 0
+   et
+   V_EAD + V_EAG + 0 = 0
+
+alors erreur A747 ;
+verif 748:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CRECHOBOI + 0) = 1
+   et
+   positif(CIBOIBAIL + CINRJBAIL + CRENRJ + TRAMURWC + CINRJ + TRATOIVG + CIDE[DGFIP][2017]5 + MATISOSI + TRAVITWT + MATISOSJ 
+           + VOLISO + PORENT + CHAUBOISN + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + DIAGPERF + RESCHAL 
+           + COD7SA + COD7SB + COD7SC + COD7WB + COD7RG + COD7VH + COD7RH + COD7RI + COD7WU + COD7RJ + COD7RK + COD7RL 
+           + COD7RN + COD7RP + COD7RR + COD7RS + COD7RQ + COD7RT + COD7TV + COD7TW + COD7RV + COD7RW + COD7RZ + 0) = 0
+
+alors erreur A748 ;
+verif 7491:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2 et V_REGCO+0 != 4
+   et
+   positif(CRECHOBOI + 0) = 0
+   et
+   COD7WX + 0 > (CIBOIBAIL + CINRJBAIL + CRENRJ + TRAMURWC + CINRJ + TRATOIVG + CIDE[DGFIP][2017]5 + MATISOSI + TRAVITWT + MATISOSJ
+                 + VOLISO + PORENT + CHAUBOISN + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + DIAGPERF + RESCHAL + 0)
+
+alors erreur A74901 ;
+verif 7492:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2 et V_REGCO+0 != 4
+   et
+   positif(CRECHOBOI + 0) = 1
+   et
+   COD7WX + 0 > (CIBOIBAIL + CINRJBAIL + CRENRJ + TRAMURWC + CINRJ + TRATOIVG + CIDE[DGFIP][2017]5 + MATISOSI 
+                 + CHAUBOISN + POMPESP + POMPESQ + POMPESR + CHAUFSOL + ENERGIEST + DIAGPERF + RESCHAL + 0)
+
+alors erreur A74902 ;
+verif 7511:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(TRAVITWT + 0) + positif(MATISOSJ + 0) > 1
+
+alors erreur A75101 ;
+verif 7512:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(COD7WU + 0) + positif(COD7RJ + 0) > 1
+
+alors erreur A75102 ;
+verif 7513:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(TRAMURWC + 0) + positif(CINRJ + 0) > 1
+
+alors erreur A75103 ;
+verif 7514:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(COD7WB + 0) + positif(COD7RG + 0) > 1
+
+alors erreur A75104 ;
+verif 7515:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(TRATOIVG + 0) + positif(CIDE[DGFIP][2017]5 + 0) > 1
+
+alors erreur A75105 ;
+verif 7516:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(COD7VH + 0) + positif(COD7RH + 0) > 1
+
+alors erreur A75106 ;
diff --git a/sources2014m_2_15/coc5.m b/sources2014m_2_15/coc5.m
new file mode 100644
index 0000000000000000000000000000000000000000..f835829e730e5592a1be6d7f5d58278e168aef97
--- /dev/null
+++ b/sources2014m_2_15/coc5.m
@@ -0,0 +1,738 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 800:
+application : iliad , batch ;
+
+si
+   RG + 2 < PRODOM + PROGUY
+
+alors erreur A800 ;
+verif 8021:
+application : iliad , batch ;
+
+si
+   (V_NOTRAIT >= 20
+    et
+    IPTEFP > 0
+    et
+    IPTEFN > 0)
+   ou
+   (V_NOTRAIT + 0 < 20
+    et
+    IPTEFP >= 0
+    et
+    IPTEFN >= 0
+    et
+    V_ROLCSG+0 < 40)
+
+alors erreur A80201 ;
+verif 8022:
+application : iliad , batch ;
+
+si
+   (
+    V_NOTRAIT + 0 < 20
+    et
+    IPTEFP + IPTEFN >= 0
+    et
+    PRODOM + PROGUY + CODDAJ + CODDBJ + CODEAJ + CODEBJ >= 0
+   )
+   ou
+   (
+    V_NOTRAIT >= 20
+    et
+    IPTEFP + IPTEFN > 0
+    et
+    PRODOM + PROGUY + CODDAJ + CODDBJ + CODEAJ + CODEBJ > 0
+   )
+
+alors erreur A80202 ;
+verif 8023:
+application : iliad , batch ;
+si
+   (
+    V_NOTRAIT + 0 < 20
+    et
+    SOMMEA802 > 0
+    et
+    PRODOM + PROGUY + CODDAJ + CODDBJ + CODEAJ + CODEBJ >= 0
+   )
+   ou
+   (
+    V_NOTRAIT >= 20
+    et
+    SOMMEA802 > 0
+    et
+    PRODOM + PROGUY + CODDAJ + CODDBJ + CODEAJ + CODEBJ > 0
+   )
+
+alors erreur A80203 ;
+verif 803:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(CODDAJ + CODDBJ + CODEAJ + CODEBJ + 0) = 1
+   et
+   V_REGCO + 0 != 1
+
+alors erreur A803 ;
+verif 804:
+application : iliad , batch ;
+
+si
+   PROGUY + PRODOM + CODDAJ + CODEAJ + CODDBJ + CODEBJ+ 0 > 0
+   et
+   SOMMEA804 > 0
+
+alors erreur A804 ;
+verif 805:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(TREVEX) = 1
+   et
+   SOMMEA805 = 0
+
+alors erreur A805 ;
+verif 806:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(PROGUY + PRODOM + CODDAJ + CODEAJ + CODDBJ + CODEBJ + 0) = 1
+   et
+   ((positif(CARTSNBAV + 0) = 1
+     et    
+     null(CARTSNBAV - 4) = 0)
+   ou
+    (positif(CARTSNBAC + 0) = 1
+     et 
+     null(CARTSNBAC - 4) = 0))
+
+alors erreur A806 ;
+verif 807:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(PRELIBXT + 0) = 1
+   et
+   positif(PCAPTAXV + PCAPTAXC + 0) = 0
+
+alors erreur A807 ;
+verif 821:
+application : iliad , batch ;
+
+si
+   (V_IND_TRAIT > 0 )
+   et
+   present(BASRET) + present(IMPRET) = 1
+
+alors erreur A821 ;
+verif corrective 850:
+application : iliad ;
+
+si 
+   APPLI_OCEANS = 0 
+   et 
+   V_NOTRAIT > 20
+   et
+   (positif(CSPROVYD) = 1
+    ou
+    positif(CSPROVYE) = 1
+    ou
+    positif(CSPROVYF) = 1
+    ou
+    positif(CSPROVYG) = 1
+    ou
+    positif(CSPROVYH) = 1
+    ou
+    positif(COD8YL) = 1
+    ou
+    positif(CSPROVYN) = 1
+    ou
+    positif(CSPROVYP) = 1
+    ou
+    positif(COD8YT) = 1
+    ou
+    positif(CDISPROV) = 1
+    ou
+    positif(IRANT) = 1
+    ou
+    positif(CRDSIM) = 1
+    ou
+    positif(CSGIM) = 1
+    ou
+    positif(DCSGIM) = 1
+    ou
+    positif(PRSPROV) = 1)
+
+alors erreur A850 ;
+verif corrective 851:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_NOTRAIT > 20
+   et
+   positif(CRDSIM) = 1
+
+alors erreur A851 ;
+verif corrective 852:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   present(CSGIM) = 1
+   et
+   V_NOTRAIT > 20
+
+alors erreur A852 ;
+verif corrective 853:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   present(PRSPROV) = 1
+   et
+   V_NOTRAIT > 20
+
+alors erreur A853 ;
+verif 858:
+application : iliad , batch ;
+
+si
+   COD8TL + COD8UW + 0 > 0
+   et
+   SOMMEA858 = 0
+
+alors erreur A858 ;
+verif 859:
+application : iliad , batch ;
+
+si
+   PRESINTER > 0
+   et
+   SOMMEA859 = 0
+
+alors erreur A859 ;
+verif 862:
+application : iliad , batch ;
+
+si
+   AUTOVERSLIB > 0
+   et
+   SOMMEA862 = 0
+
+alors erreur A862 ;
+verif corrective 8630:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   positif(AUTOVERSSUP + 0) = 1
+   et
+   positif(AUTOBICVV + AUTOBICPV + AUTOBNCV
+           + AUTOBICVC + AUTOBICPC + AUTOBNCC
+           + AUTOBICVP + AUTOBICPP + AUTOBNCP + 0) = 0
+
+alors erreur A863 ;
+verif 864:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   COD8YL + 0 > CGLOA + 0
+
+alors erreur A864 ;
+verif 865:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   COD8YT + 0 > CVNSALC + 0
+
+alors erreur A865 ;
+verif 8661:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CSPROVYD + 0 > max(0 , RSE1 + PRSE1 - CIRSE1) + 0
+
+alors erreur A86601 ;
+verif 8662:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CSPROVYE + 0 > max(0 , RSE5 + PRSE5 - CIRSE5) + 0
+
+alors erreur A86602 ;
+verif 8663:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CSPROVYF + 0 > max(0 , RSE8TV + arr(max(0 , RSE8TV - CIRSE8TV - CSPROVYF) * TXINT/100) - CIRSE8TV) + 0
+
+alors erreur A86603 ;
+verif 8664:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CSPROVYG + 0 > max(0 , RSE3 + PRSE3 - CIRSE3) + 0
+
+alors erreur A86604 ;
+verif 8665:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CSPROVYH + 0 > max(0 , RSE8TX + arr(max(0 , RSE8TX - CIRSE8TX - CSPROVYH) * TXINT/100) - CIRSE8TX) + 0
+
+alors erreur A86605 ;
+verif 8666:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CSPROVYN + 0 > max(0 , RSE8SA + arr(max(0 , RSE8SA - CIRSE8SA - CSPROVYN) * TXINT/100) - CIRSE8SA) + 0
+
+alors erreur A86606 ;
+verif 8667:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   CSPROVYP + 0 > max(0 , RSE8SB + arr(max(0 , RSE8SB - CIRSE8SB - CSPROVYP) * TXINT/100) - CIRSE8SB) + 0
+
+alors erreur A86607 ;
+verif 868:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT + 0 > 0
+   et
+   (CDISPROV + 0 > CDIS + 0
+    ou
+    (positif(CDISPROV + 0) = 1 et positif(GSALV + GSALC + 0) = 0))
+
+alors erreur A868 ;
+verif 870:
+application : batch , iliad ;
+
+si
+   positif(DCSGIM) = 1 
+   et 
+   positif(CSGIM + 0) != 1
+    
+alors erreur A870 ;
+verif 871:
+application : batch , iliad ;
+
+si
+   CRDSIM > RDSN
+
+alors erreur A871 ;
+verif 872:
+application : iliad , batch ;
+
+si
+   V_IND_TRAIT + 0 > 0
+   et
+   PRSPROV > PRS
+
+alors erreur A872 ;
+verif 873:
+application : iliad , batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   CSGIM > CSG
+    
+alors erreur A873 ;
+verif 874:
+application : iliad , batch ;
+
+si
+   IPSOUR >= 0
+   et
+   V_CNR + 0 = 0
+   et
+   SOMMEA874 = 0
+
+alors erreur A874 ;
+verif 875:
+application : iliad , batch ;
+
+si
+   max(0 , IRB + TAXASSUR + IPCAPTAXT + TAXLOY + IHAUTREVT + PTOTD
+               - IAVT - RCMAVFT - CICA - [DGFIP][2017]DH - CICORSE - CIRECH - CICAP
+               - CICHR - CICULTUR - CREREVET - CIGLO - CIDONENTR) < IRANT
+
+alors erreur A875 ;
+verif 877:
+application : iliad , batch ;
+
+si
+   (IPRECH + 0 > 0 ou IPCHER + 0 > 0)
+   et
+   SOMMEA877 = 0
+
+alors erreur A877 ;
+verif 8781:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(REVCSXA + 0) = 1
+   et
+   positif(SALECS + 0) = 0
+
+alors erreur A87801 ;
+verif 8782:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(REVCSXB + 0) = 1
+   et
+   positif(SALECSG + 0) = 0
+
+alors erreur A87802 ;
+verif 8783:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(REVCSXC + 0) = 1
+   et
+   positif(ALLECS + 0) = 0
+
+alors erreur A87803 ;
+verif 8784:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(REVCSXD + 0) = 1
+   et
+   positif(INDECS + 0) = 0
+
+alors erreur A87804 ;
+verif 8785:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(REVCSXE + 0) = 1
+   et
+   positif(PENECS + 0) = 0
+
+alors erreur A87805 ;
+verif 8786:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(COD8XI + 0) = 1
+   et
+   positif(COD8SA + 0) = 0
+
+alors erreur A87806 ;
+verif 8787:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   positif(COD8XJ + 0) = 1
+   et
+   positif(COD8SB + 0) = 0
+
+alors erreur A87807 ;
+verif 879:
+application : iliad , batch ;
+
+si
+   CIINVCORSE + CICORSENOW + 0 > 0
+   et
+   SOMMEA879 = 0
+
+alors erreur A879 ;
+verif 880:
+application : iliad , batch ;
+
+si
+   CRIGA > 0
+   et
+   SOMMEA880 = 0
+
+alors erreur A880 ;
+verif 881:
+application : iliad , batch ;
+
+si
+   CREFAM > 0
+   et
+   SOMMEA881 = 0
+
+alors erreur A881 ;
+verif 8821:
+application : iliad , batch ;
+
+si
+  (
+   IPMOND > 0
+   et
+   (present(IPTEFP) = 0 et present(IPTEFN) = 0)
+  )
+  ou
+  (
+   (present(IPTEFP) = 1 ou present(IPTEFN) = 1)
+   et
+   present(IPMOND) = 0
+  )
+
+alors erreur A88201 ;
+verif 8822:
+application : iliad , batch ;
+
+si
+   (present(IPMOND)
+    + present(SALEXTV) + present(SALEXTC) + present(SALEXT1) + present(SALEXT2) + present(SALEXT3) + present(SALEXT4)
+    + present(CO[DGFIP][2017]AH) + present(CO[DGFIP][2017]BH) + present(CO[DGFIP][2017]CH) + present(CO[DGFIP][2017]DH) + present(CO[DGFIP][2017]EH) + present(CO[DGFIP][2017]FH)) = 0
+   et
+   positif_ou_nul(TEFFHRC + COD8YJ) = 1
+
+alors erreur A88202 ;
+verif 883:
+application : iliad , batch ;
+
+si
+   IPBOCH > 0
+   et
+   CIIMPPRO + CIIMPPRO2 + REGCI + PRELIBXT + COD8XF + COD8XG + COD8XH + COD8XV + COD8XY + 0 = 0
+
+alors erreur A883 ;
+verif 884:
+application : iliad , batch ;
+
+si
+   REGCI + COD8XY > 0
+   et
+   SOMMEA884 = 0
+
+alors erreur A884 ;
+verif 8851:
+application : iliad , batch ;
+
+si
+   positif(CIIMPPRO2 + 0) = 1
+   et
+   present(BPVSJ) = 0
+
+alors erreur A88501 ;
+verif 8852:
+application : iliad , batch ;
+
+si
+   positif(COD8XV + 0) = 1
+   et
+   present(CO[DGFIP][2017]FA) = 0
+
+alors erreur A88502 ;
+verif 8853:
+application : iliad , batch ;
+
+si
+   positif(CIIMPPRO + 0) = 1
+   et
+   somme(i=V,C,P:present(BA1Ai) + present(B[DGFIP][2017]Ai) + present(BN1Ai)) = 0
+
+alors erreur A88503 ;
+verif 8854:
+application : iliad , batch ;
+
+si
+   positif(COD8XF + 0) = 1
+   et
+   present(BPV18V) + present(BPV18C) = 0
+
+alors erreur A88504 ;
+verif 8855:
+application : iliad , batch ;
+
+si
+   positif(COD8XG + 0) = 1
+   et
+   present(BPCOPTV) + present(BPCOPTC) = 0
+
+alors erreur A88505 ;
+verif 8856:
+application : iliad , batch ;
+
+si
+   positif(COD8XH + 0) = 1
+   et
+   present(BPV40V) + present(BPV40C) = 0
+
+alors erreur A88506 ;
+verif 886:
+application : iliad , batch ;
+
+si
+   IPPNCS > 0
+   et
+   positif(REGCI + CIIMPPRO + CIIMPPRO2 + COD8XV + COD8XF + COD8XG + COD8XH + COD8PA + 0) != 1
+
+alors erreur A886 ;
+verif 887:
+application : iliad , batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   REGCI + 0 > IPBOCH + 0
+
+alors erreur A887 ;
+verif 888:
+application : iliad , batch ;
+
+si
+   IPELUS > 0
+   et
+   positif(present(TSHALLOV) + present(TSHALLOC) + present(CARTSV) + present(CARTSC) + present(CARTSNBAV) + present(CARTSNBAC)) = 0
+   et
+   positif(present(ALLOV) + present(ALLOC) + present(REMPLAV) + present(REMPLAC) + present(REMPLANBV) + present(REMPLANBC)) = 0
+
+alors erreur A888 ;
+verif 889:
+application : iliad , batch ;
+
+si
+   (APPLI_OCEANS = 0)
+   et
+   REVFONC + 0 > IND_TDR + 0
+   et
+   present(IND_TDR) = 0
+
+alors erreur A889 ;
+verif 890:
+application : iliad , batch ;
+
+si
+   CREAPP > 0
+   et
+   SOMMEA890 = 0
+
+alors erreur A890 ;
+verif 891:
+application : iliad , batch ;
+
+si
+   CREPROSP > 0
+   et
+   SOMMEA891 = 0
+
+alors erreur A891 ;
+verif 893:
+application : iliad , batch ;
+
+si
+   CREFORMCHENT > 0
+   et
+   SOMMEA893 = 0
+
+alors erreur A893 ;
+verif 894:
+application : iliad , batch ;
+
+si
+   CREINTERESSE > 0
+   et
+   SOMMEA894 = 0
+
+alors erreur A894 ;
+verif 895:
+application : iliad , batch ;
+
+si
+   CREAGRIBIO > 0
+   et
+   SOMMEA895 = 0
+
+alors erreur A895 ;
+verif 896:
+application : iliad , batch ;
+
+si
+   CREARTS > 0
+   et
+   SOMMEA896 = 0
+
+alors erreur A896 ;
+verif 898:
+application : iliad , batch ;
+
+si
+   CRECONGAGRI > 0
+   et
+   SOMMEA898 = 0
+
+alors erreur A898 ;
+verif 899:
+application : iliad , batch ;
+
+si
+   CRERESTAU > 0
+   et
+   SOMMEA899 = 0
+
+alors erreur A899 ;
diff --git a/sources2014m_2_15/coc7.m b/sources2014m_2_15/coc7.m
new file mode 100644
index 0000000000000000000000000000000000000000..75a29ac12a81b1444b7e50d466959a97a97237de
--- /dev/null
+++ b/sources2014m_2_15/coc7.m
@@ -0,0 +1,844 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 9611:
+application : iliad , batch ;
+si
+	( 
+	CMAJ != 7 et ((APPLI_BATCH = 1 et APPLI_COLBERT = 0)
+                    ou APPLI_OCEANS = 1
+                    ou (APPLI_ILIAD = 1 et
+                          non ( V_CALCULIR+0=1
+                               ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56)
+                              )
+                        )
+	             )
+	)
+	ou
+	( 
+	CMAJ2 != 7 et CMAJ2 != 0 et ((APPLI_BATCH = 1 et APPLI_COLBERT = 0)
+                                   ou APPLI_OCEANS = 1
+                                   ou (APPLI_ILIAD = 1 et
+                                       non ( V_CALCULIR+0=1
+                                            ou (V_NOTRAIT+0) dans (16,23,26,33,36,43,46,53,56)
+                              )
+                        )
+	             )
+        )
+        
+alors erreur A96101;
+verif 9612:
+application : batch , iliad ;
+si
+       (
+       CMAJ non dans ( 7..8 ) et CMAJ non dans (10..11) et CMAJ non dans (17..18)  
+     et (  (APPLI_ILIAD = 1 et
+                   ( V_CALCULIR + 0 = 1 ou (V_NOTRAIT + 0) dans (16,23,26,33,36,43,46,53,56))
+           )
+           ou APPLI_COLBERT = 1)
+       )
+       ou
+       (
+       CMAJ2 non dans ( 7..8 ) et CMAJ2 non dans (10..11) et CMAJ2 non dans (17..18) et CMAJ2 != 0
+     et (  (APPLI_ILIAD = 1 et
+                   ( V_CALCULIR + 0 = 1 ou (V_NOTRAIT + 0) dans (16,23,26,33,36,43,46,53,56))
+           )
+           ou APPLI_COLBERT = 1)
+       )
+alors erreur A96102;
+verif isf 9613:
+application : batch , iliad ;
+
+si  
+       (
+       		( CMAJ_ISF non dans ( 7,8,17,18,34 )  et V_IND_TRAIT+0 = 4 )
+   
+                ou
+
+       		( CMAJ_ISF non dans ( 0,7,8,17,18,34 )  et V_IND_TRAIT+0 = 5 )
+       )
+alors erreur A96103;
+verif 9621:
+application : iliad , batch ;
+si
+          ( present(CMAJ)=1 et present(MOISAN)=0 )
+          ou
+          ( present(CMAJ2)=1 et present(MOISAN2)=0 )
+
+alors erreur A96201 ;
+verif 9622:
+application : iliad , batch ;
+si
+          (  present(CMAJ)=0 et present(MOISAN)=1)
+          ou
+          (  present(CMAJ2)=0 et present(MOISAN2)=1)
+
+alors erreur A96202 ;
+verif isf 9623:
+application : iliad , batch ;
+si
+          ( present(CMAJ_ISF)=1 et present(MOISAN_ISF)=0 )
+
+alors erreur A96203 ;
+verif isf 9624:
+application : iliad , batch ;
+si
+          (  present(CMAJ_ISF)=0 et present(MOISAN_ISF)=1)
+
+alors erreur A96204;
+verif 9631:
+application : iliad , batch ;
+si
+        (V_IND_TRAIT > 0 )
+       et
+        (
+        inf(MOISAN/10000) non dans (01..12)
+        ou
+        inf(MOISAN2/10000) non dans (00..12)
+        )
+alors erreur A96301;
+verif 9632:
+application : iliad ;
+
+si (APPLI_COLBERT=0) et (
+   (
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+3
+et
+ arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+4
+   )
+   ou
+   (
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+3
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != V_ANREV+4
+et
+ arr( (MOISAN2/10000 - inf(MOISAN2/10000))*10000 ) != 0
+   ))
+alors erreur A96302 ;
+verif 7317:
+application : batch ;
+
+si
+   APPLI_COLBERT = 1
+   et
+   (
+    arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+1
+    et
+    arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+2
+    et
+    arr( (MOISAN/10000 - inf(MOISAN/10000))*10000 ) != V_ANREV+3
+   )
+
+alors erreur A96302 ;
+verif isf 9633:
+application : iliad , batch ;
+si
+        (
+                (V_IND_TRAIT+0 = 4 et inf(MOISAN_ISF/10000) non dans (01..12) )
+                ou
+                (V_IND_TRAIT+0 = 5 et inf(MOISAN_ISF/10000) non dans (01..12) et MOISAN_ISF != 0 )
+        )
+alors erreur A96303 ;
+verif isf 9634:
+application : iliad , batch ;
+si (APPLI_OCEANS = 0) et
+   (
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+3
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+4
+   )
+
+alors erreur A96304 ;
+verif isf 73171:
+application : batch ;
+si (APPLI_COLBERT=1) et  (
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+1
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+2
+et
+ arr( (MOISAN_ISF/10000 - inf(MOISAN_ISF/10000))*10000 ) != V_ANREV+3
+   )
+alors erreur A96304 ;
+verif 9641:
+application : iliad , batch ;
+si
+	(
+       ((inf( DATDEPETR/1000000 ) non dans (01..31)) et V_IND_TRAIT+0 = 4)
+ou
+       ((inf( DATDEPETR/1000000 ) non dans (01..31)) et V_IND_TRAIT = 5 et DATDEPETR != 0)
+	) 
+alors erreur A96401;
+verif 9642:
+application : iliad , batch ;
+si
+	(
+       ((inf( (DATDEPETR/1000000 - inf(DATDEPETR/1000000))*100 ) non dans (01..12)) et (V_IND_TRAIT+0= 4))
+ou
+       ((inf( (DATDEPETR/1000000 - inf(DATDEPETR/1000000))*100 ) non dans (01..12)) 
+		et V_IND_TRAIT = 5 et DATDEPETR != 0)
+	) 
+alors erreur A96402;
+verif 9643:
+application : iliad , batch ;
+si (
+ ((arr( (DATDEPETR/10000 - inf(DATDEPETR/10000))*10000 ) != V_ANREV) et V_IND_TRAIT+0 = 4)
+ou
+ ((arr( (DATDEPETR/10000 - inf(DATDEPETR/10000))*10000 ) != V_ANREV) 
+		et V_IND_TRAIT = 5 et DATDEPETR != 0)
+   ) 
+alors erreur A96403;
+verif 9651:
+application : iliad , batch ;
+si
+	(
+       ((inf( DATRETETR/1000000) non dans (01..31)) et V_IND_TRAIT+0 = 4)
+	ou
+       ((inf( DATRETETR/1000000) non dans (01..31)) et V_IND_TRAIT = 5 et DATRETETR != 0)
+	) 
+alors erreur A96501;
+verif 9652:
+application : iliad , batch ;
+si
+	(
+       ((inf( (DATRETETR/1000000 - inf(DATRETETR/1000000))*100 ) non dans (01..12)) et V_IND_TRAIT+0 = 4)
+	ou
+       ((inf( (DATRETETR/1000000 - inf(DATRETETR/1000000))*100 ) non dans (01..12)) 
+	et V_IND_TRAIT = 5 et DATRETETR != 0)
+	) 
+alors erreur A96502 ;
+verif 9653:
+application : iliad , batch ;
+si (
+ ((arr( (DATRETETR/10000 - inf(DATRETETR/10000))*10000 ) != V_ANREV) et V_IND_TRAIT+0 = 4)
+ou
+ ((arr( (DATRETETR/10000 - inf(DATRETETR/10000))*10000 ) != V_ANREV) 
+            et V_IND_TRAIT = 5 et DATRETETR != 0)
+   ) 
+alors erreur A96503 ;
+verif 966:
+application : iliad , batch ;
+
+si
+   DATDEPETR > 0 
+   et 
+   DATRETETR > 0
+	 
+alors erreur A966 ;
+verif isf 967:
+application : iliad , batch ;
+
+si
+   V_ZDC = 4
+   et
+   positif(V_0AZ + 0) = 1
+   et
+   positif(ISFBASE + 0) = 1
+
+alors erreur A967 ;
+verif isf 9801:
+application : iliad , batch ;
+
+si
+   V_NOTRAIT + 0 < 14
+   et
+   V_IND_TRAIT + 0 = 4
+   et
+   ISFBASE <= LIM_ISFINF
+
+alors erreur A98001 ;
+verif isf 9802:
+application :  iliad , batch ;
+
+si
+   V_NOTRAIT + 0 < 14
+   et
+   V_IND_TRAIT + 0 = 4
+   et
+   ISFBASE >= LIM_ISFSUP
+
+alors erreur A98002 ;
+verif isf 9803:
+application : iliad ;
+
+si
+   ((V_NOTRAIT + 0 = 14) ou (V_NOTRAIT+0 = 16))
+   et
+   present(ISFBASE) = 1
+   et
+   ISFBASE + 0 <= LIM_ISFINF
+
+alors erreur A98003 ;
+verif isf 9804:
+application : iliad ;
+
+si
+   ISFBASE + 0 != 0
+   et
+   V_NOTRAIT + 0 > 20
+   et
+   ISFBASE + 0 <= LIM_ISFINF
+
+alors erreur A98004 ;
+verif isf 9805:
+application : iliad ;
+
+si
+   V_NOTRAIT + 0 > 13
+   et
+   ISFBASE + 0 >= LIM_ISFSUP
+
+alors erreur A98005 ;
+verif isf 981:
+application : iliad , batch ;
+
+
+si
+   present(ISFBASE) = 0
+   et
+   (ISFPMEDI + ISFPMEIN + ISFFIP + ISFFCPI + ISFDONF + ISFPLAF + ISFVBPAT + ISFDONEURO + ISFETRANG + ISFCONCUB + ISFPART + 0) > 0
+
+alors erreur A981 ;
+verif isf 982:
+application : batch ,iliad ;
+
+si
+   V_IND_TRAIT + 0 > 0
+   et
+   positif(ISF_LIMINF + 0) + positif(ISF_LIMSUP + 0) = 2
+
+alors erreur A982 ;
+verif isf 983:
+application : batch , iliad ;
+
+si (APPLI_OCEANS=0) et
+      (
+                  (V_IND_TRAIT + 0 = 4)
+                  et
+                  (
+                  positif(ISFCONCUB + 0 ) = 1
+                  et
+                        (positif(V_0AM + V_0AO + 0 ) = 1
+                         ou
+                                (positif(V_0AC + V_0AD + V_0AV + 0 )=1
+                                 et
+                                 positif(V_0AB + 0)= 1
+                                )
+                        )
+                  )
+        )
+alors erreur A983 ;
+verif isf 984:
+application : batch , iliad ;
+
+si
+      (
+                  (V_IND_TRAIT + 0 = 4)
+                  et
+                  (
+                  positif(ISFPART + 0 ) = 1
+                  et
+                        (positif(V_0AM + V_0AO + 0 ) = 1
+                         ou
+                                (positif(V_0AC + V_0AD + V_0AV + 0 )=1
+                                 et
+                                 positif(V_0AB + 0)= 0
+                                )
+                        )
+                   )
+        )
+alors erreur A984 ;
+verif isf 985:
+application : batch , iliad ;
+
+si
+      positif(ISF_LIMINF + ISF_LIMSUP + 0) = 1
+      et
+      ISFBASE > LIM_ISFINF
+      et
+      ISFBASE < LIM_ISFSUP
+
+alors erreur A985 ;
+verif isf 986:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_NOTRAIT > 13
+   et
+   ISFCONCUB + 0 > 0
+   et
+   ISFPART + 0 > 0
+
+alors erreur A986 ;
+verif isf 9871:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_NOTRAIT + 0 = 14
+   et
+   V_ETCVL + 0 = 1
+   et
+   ISFCONCUB + ISFPART + 0 = 0
+
+alors erreur A98701 ;
+verif isf 9872:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_NOTRAIT + 0 = 14
+   et
+   present(V_ETCVL) = 1
+   et
+   V_ETCVL + 0 = 0
+   et
+   ISFCONCUB + ISFPART + 0 > 0
+
+alors erreur A98702 ;
+verif 990:
+application : iliad ;
+
+si
+   positif(present(RE168) + present(TAX1649)) = 1
+   et
+   present(IPVLOC) = 1
+
+alors erreur A990 ;
+verif 991:
+application : iliad ;
+
+si
+   positif(FLAGDERNIE+0) = 1
+   et
+   positif(null(V_NOTRAIT - 23) + null(V_NOTRAIT - 33) + null(V_NOTRAIT - 43) + null(V_NOTRAIT - 53) + null(V_NOTRAIT - 63)) = 1
+   et
+   NAPCR61 > V_ANTCR
+
+alors erreur A991 ;
+verif 9921:
+application : iliad ;
+si
+                      ((DEFRI = 1)  et (PREM8_11 >0) et (VARR30R32>0))
+alors erreur A992 ;
+verif 9922:
+application : iliad ;
+si
+                      ((DEFRI = 1) et (PREM8_11 =0) et (CODERAPHOR>0))
+alors erreur A992 ;
+verif 9923:
+application : iliad ;
+si
+                     ( ((DEFRITS = 1) ou (DEFRIGLOBSUP = 1) ou (DEFRIGLOBINF = 1))et
+                   (
+  SALEXTV
+ + CO[DGFIP][2017]AD
+ + CO[DGFIP][2017]AE
+ + PPEXTV
+ + CO[DGFIP][2017]AH
+ + CO[DGFIP][2017]BH
+ + CO[DGFIP][2017]CH
+ + CO[DGFIP][2017]DH
+ + CO[DGFIP][2017]EH
+ + CO[DGFIP][2017]FH
+ + AUTOBICVV
+ + AUTOBICPV
+ + AUTOBNCV
+ + AUTOBICVC
+ + AUTOBICPC
+ + AUTOBNCC
+ + AUTOBICVP
+ + AUTOBICPP
+ + AUTOBNCP
+ + XHONOAAV
+ + XHONOV
+ + XHONOAAC
+ + XHONOC
+ + XHONOAAP
+ + XHONOP > 0) )
+
+alors erreur A992 ;
+verif 10000:
+application : iliad ;
+
+   si positif( 4BACREC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 4BACREC ;
+   si positif( 4BACREP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 4BACREP ;
+   si positif( 4BACREV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 4BACREV ;
+   si positif( 4BAHREC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 4BAHREC ;
+   si positif( 4BAHREP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 4BAHREP ;
+   si positif( 4BAHREV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 4BAHREV ;
+   si positif( ABDETMOINS ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 ABDETMOINS ;
+   si positif( ABDETPLUS ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 ABDETPLUS ;
+   si positif( ABIMPMV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 ABIMPMV ;
+   si positif( ABIMPPV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 ABIMPPV ;
+   si positif( ABPVNOSURSIS ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 ABPVNOSURSIS ;
+   si positif( ACODELAISINR ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 ACODELAISINR ;
+   si positif( ALLECS ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 ALLECS ;
+   si positif( ALLO1 ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 ALLO1 ;
+   si positif( ALLO2 ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 ALLO2 ;
+   si positif( ALLO3 ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 ALLO3 ;
+   si positif( ALLO4 ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 ALLO4 ;
+   si positif( ALLOC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 ALLOC ;
+   si positif( ALLOV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 ALLOV ;
+   si positif( ANOCEP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 ANOCEP ;
+   si positif( ANOPEP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 ANOPEP ;
+   si positif( ANOVEP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 ANOVEP ;
+   si positif( ASCAPA ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 ASCAPA ;
+   si positif( AUTOBICPC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 AUTOBICPC ;
+   si positif( AUTOBICPP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 AUTOBICPP ;
+   si positif( AUTOBICPV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 AUTOBICPV ;
+   si positif( AUTOBICVC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 AUTOBICVC ;
+   si positif( AUTOBICVP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 AUTOBICVP ;
+   si positif( AUTOBICVV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 AUTOBICVV ;
+   si positif( AUTOBNCC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 AUTOBNCC ;
+   si positif( AUTOBNCP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 AUTOBNCP ;
+   si positif( AUTOBNCV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 AUTOBNCV ;
+   si positif( AUTOVERSLIB ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 AUTOBNCV ;
+   si positif( AUTOVERSSUP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 AUTOVERSSUP ;
+   si positif( AVETRAN ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 AVETRAN ;
+   si positif( BA1AC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BA1AC ;
+   si positif( BA1AP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BA1AP ;
+   si positif( BA1AV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BA1AV ;
+   si positif( BACDEC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BACDEC ;
+   si positif( BACDEP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BACDEP ;
+   si positif( BACDEV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BACDEV ;
+   si positif( BACREC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BACREC ;
+   si positif( BACREP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BACREP ;
+   si positif( BACREV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BACREV ;
+   si positif( BAEXC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAEXC ;
+   si positif( BAEXP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAEXP ;
+   si positif( BAEXV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BAEXV ;
+   si positif( BA[DGFIP][2017]AC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BA[DGFIP][2017]AC ;
+   si positif( BA[DGFIP][2017]AP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BA[DGFIP][2017]AP ;
+   si positif( BA[DGFIP][2017]AV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BA[DGFIP][2017]AV ;
+   si positif( BAFC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAFC ;
+   si positif( BAFORESTC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAFORESTC ;
+   si positif( BAFORESTP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BAFORESTP ;
+   si positif( BAFORESTV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAFORESTV ;
+   si positif( BAFP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAFP ;
+   si positif( BAFPVC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BAFPVC ;
+   si positif( BAFPVP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAFPVP ;
+   si positif( BAFPVV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAFPVV ;
+   si positif( BAFV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BAFV ;
+   si positif( BAHDEC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAHDEC ;
+   si positif( BAHDEP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAHDEP ;
+   si positif( BAHDEV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BAHDEV ;
+   si positif( BAHEXC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAHEXC ;
+   si positif( BAHEXP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAHEXP ;
+   si positif( BAHEXV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BAHEXV ;
+   si positif( BAHREC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAHREC ;
+   si positif( BAHREP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAHREP ;
+   si positif( BAHREV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BAHREV ;
+   si positif( BAILOC98 ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAILOC98 ;
+   si positif( BANOCGAC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BANOCGAC ;
+   si positif( BANOCGAP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BANOCGAP ;
+   si positif( BANOCGAV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BANOCGAV ;
+   si positif( BAPERPC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAPERPC ;
+   si positif( BAPERPP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BAPERPP ;
+   si positif( BAPERPV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BAPERPV ;
+   si positif( BASRET ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BASRET ;
+   si positif( B[DGFIP][2017]AC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 B[DGFIP][2017]AC ;
+   si positif( B[DGFIP][2017]AP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 B[DGFIP][2017]AP ;
+   si positif( B[DGFIP][2017]AV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 B[DGFIP][2017]AV ;
+   si positif( B[DGFIP][2017]AC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 B[DGFIP][2017]AC ;
+   si positif( B[DGFIP][2017]AP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 B[DGFIP][2017]AP ;
+   si positif( B[DGFIP][2017]AV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 B[DGFIP][2017]AV ;
+   si positif( BICDEC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICDEC ;
+   si positif( BICDEP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICDEP ;
+   si positif( BICDEV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICDEV ;
+   si positif( BICDNC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BICDNC ;
+   si positif( BICDNP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICDNP ;
+   si positif( BICDNV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BICDNV ;
+   si positif( BICEXC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BICEXC ;
+   si positif( BICEXP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICEXP ;
+   si positif( BICEXV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICEXV ;
+   si positif( BICHDEC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BICHDEC ;
+   si positif( BICHDEP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICHDEP ;
+   si positif( BICHDEV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BICHDEV ;
+   si positif( BICHREC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BICHREC ;
+   si positif( BICHREP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICHREP ;
+   si positif( BICHREV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICHREV ;
+   si positif( BICNOC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BICNOC ;
+   si positif( BICNOP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICNOP ;
+   si positif( BICNOV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICNOV ;
+   si positif( BICNPEXC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BICNPEXC ;
+   si positif( BICNPEXP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICNPEXP ;
+   si positif( BICNPEXV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICNPEXV ;
+   si positif( BICNPHEXC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BICNPHEXC ;
+   si positif( BICNPHEXP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICNPHEXP ;
+   si positif( BICNPHEXV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICNPHEXV ;
+   si positif( BICPMVCTC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BICPMVCTC ;
+   si positif( BICPMVCTP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICPMVCTP ;
+   si positif( BICPMVCTV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICPMVCTV ;
+   si positif( BICREC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BICREC ;
+   si positif( BICREP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICREP ;
+   si positif( BICREV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BICREV ;
+   si positif( BIGREST ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BIGREST ;
+   si positif( BIHDNC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BIHDNC ;
+   si positif( BIHDNP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BIHDNP ;
+   si positif( BIHDNV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BIHDNV ;
+   si positif( BIHEXC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BIHEXC ;
+   si positif( BIHEXP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BIHEXP ;
+   si positif( BIHEXV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BIHEXV ;
+   si positif( BIHNOC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BIHNOC ;
+   si positif( BIHNOP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BIHNOP ;
+   si positif( BIHNOV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BIHNOV ;
+   si positif( BIPERPC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BIPERPC ;
+   si positif( BIPERPP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BIPERPP ;
+   si positif( BIPERPV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BIPERPV ;
+   si positif( BN1AC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BN1AC ;
+   si positif( BN1AP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BN1AP ;
+   si positif( BN1AV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BN1AV ;
+   si positif( BNCAABC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCAABC ;
+   si positif( BNCAABP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCAABP ;
+   si positif( BNCAABV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCAABV ;
+   si positif( BNCAADC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCAADC ;
+   si positif( BNCAADP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCAADP ;
+   si positif( BNCAADV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCAADV ;
+   si positif( BNCCRC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCCRC ;
+   si positif( BNCCRFC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCCRFC ;
+   si positif( BNCCRFP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCCRFP ;
+   si positif( BNCCRFV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCCRFV ;
+   si positif( BNCCRP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCCRP ;
+   si positif( BNCCRV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCCRV ;
+   si positif( BNCDEC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCDEC ;
+   si positif( BNCDEP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCDEP ;
+   si positif( BNCDEV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCDEV ;
+   si positif( BNCEXC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCEXC ;
+   si positif( BNCEXP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCEXP ;
+   si positif( BNCEXV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCEXV ;
+   si positif( BNCN[DGFIP][2017]AC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCN[DGFIP][2017]AC ;
+   si positif( BNCN[DGFIP][2017]AP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCN[DGFIP][2017]AP ;
+   si positif( BNCN[DGFIP][2017]AV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCN[DGFIP][2017]AV ;
+   si positif( BNCNPC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCNPC ;
+   si positif( BNCNPDCT ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCNPDCT ;
+   si positif( BNCNPDEC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCNPDEC ;
+   si positif( BNCNPDEP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCNPDEP ;
+   si positif( BNCNPDEV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCNPDEV ;
+   si positif( BNCNPP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCNPP ;
+   si positif( BNCNPPVC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCNPPVC ;
+   si positif( BNCNPPVP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCNPPVP ;
+   si positif( BNCNPPVV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCNPPVV ;
+   si positif( BNCNPREXAAC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCNPREXAAC ;
+   si positif( BNCNPREXAAP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCNPREXAAP ;
+   si positif( BNCNPREXAAV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCNPREXAAV ;
+   si positif( BNCNPREXC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCNPREXC ;
+   si positif( BNCNPREXP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCNPREXP ;
+   si positif( BNCNPREXV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCNPREXV ;
+   si positif( BNCNPV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCNPV ;
+   si positif( BNCPMVCTC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCPMVCTC ;
+   si positif( BNCPMVCTP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCPMVCTP ;
+   si positif( BNCPMVCTV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCPMVCTV ;
+   si positif( BNCPRO1AC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCPRO1AC ;
+   si positif( BNCPRO1AP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCPRO1AP ;
+   si positif( BNCPRO1AV ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCPRO1AV ;
+   si positif( BNCPROC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCPROC ;
+   si positif( BNCPRODEC ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0
+      alors erreur A99301 BNCPRODEC ;
+   si positif( BNCPRODEP ) = 1 et positif(ANNUL2042) = 1 et APPLI_OCEANS = 0 
+      alors erreur A99301 BNCPRODEP ;
+   si positif( BNCPRODEV 
diff --git a/sources2014m_2_15/coi1.m b/sources2014m_2_15/coi1.m
new file mode 100644
index 0000000000000000000000000000000000000000..07792b616c2bf5871ea3c66d95191e2f6328156c
--- /dev/null
+++ b/sources2014m_2_15/coi1.m
@@ -0,0 +1,1119 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 2572:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   1 - V_CNR > 0
+   et
+   positif(RNOUV) = 1
+   et
+   positif(RDSNO) = 1
+   et
+   positif(CINE1 + CINE2) = 1
+
+alors erreur D[DGFIP][2017]2 ;
+verif 1104:
+application : iliad , batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   1 - V_CNR > 0
+   et
+   RCMFR > LIM_CONTROLE
+   et
+   ((RCMFR > 0.30 * ( RCMABD + RCMHAD + REVACT + DISQUO + RCMHAB + INTERE + 0 ))
+    ou
+    ((RCMABD + RCMHAD + REVACT + DISQUO + RCMHAB + INTERE + 0 = 0)
+     et
+     (RCMTNC + RCMAV + REGPRIV + REVPEA + PROVIE + RESTUC + 0 > 0)))
+
+alors erreur D[DGFIP][2017]3 ;
+verif 1103:
+application : iliad , batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   1 - V_CNR > 0
+   et
+   V_REGCO+0 != 2 et V_REGCO+0 != 4
+   et
+   ((RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE + RCMTNC + REVPEA + CO[DGFIP][2017]FA + 0 > 0
+     et
+     RCMAVFT > ((1/3) * (RCMABD + RCMHAD + RCMHAB + REVACT + DISQUO + INTERE + RCMTNC + REVPEA + CO[DGFIP][2017]FA)) +  PLAF_AF)
+    ou
+    (DIREPARGNE > ((PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE + CO[DGFIP][2017]FA + BPVRCM) * (538/1000)) + PLAF_AF
+     et
+     PPLIB + RCMLIB + RCMHAD + RCMHAB + DISQUO + INTERE + CO[DGFIP][2017]FA + BPVRCM + 0 > 0))
+
+alors erreur D[DGFIP][2017]4 ;
+verif 5050:
+application : batch , iliad ;
+
+si
+   APPLI_COLBERT + APPLI_OCEANS = 0
+   et
+   V_ZDC + 0 = 0
+   et
+   V_BTMUL = 0
+   et
+   V_0AX+0 = 0 et V_0AY+0 = 0 et V_0AZ+0= 0
+   et
+   V_BTRNI > LIM_BTRN[DGFIP][2017]0
+   et
+   RNI < V_BTRNI/5
+   et
+   V_BTANC + 0 = 1
+   et
+   ((V_BTN[DGFIP][2017] + 0) non dans (50,92))
+   et
+   V_IND_TRAIT = 4
+
+alors erreur D[DGFIP][2017]5 ;
+verif 3645:
+application : batch, iliad ;
+si (APPLI_OCEANS = 0 ) et (
+   (
+    ( RINVLOCINV + 0  > (LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) + positif(V_0AM + V_0AO)))
+   ou
+    ( RINVLOCREA + 0  > (LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) + positif(V_0AM + V_0AO)))
+   ou
+    ( INVLOCHOTR + 0  > (LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) + positif(V_0AM + V_0AO)))
+   ou
+    ( REPINVTOU + 0  > (LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) + positif(V_0AM + V_0AO)))
+   ou
+    ( INVLOGREHA + 0  > (LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) + positif(V_0AM + V_0AO)))
+   ou
+    ( INVLOGHOT + 0  > (LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) + positif(V_0AM + V_0AO)))
+   ou
+    ( INVLOCXN + 0  > (LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) + positif(V_0AM + V_0AO)))
+   ou
+    ( INVLOCXV + 0  > (LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) + positif(V_0AM + V_0AO)))
+   ou
+    ( COD7UY + 0  > (LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) + positif(V_0AM + V_0AO)))
+   ou
+    ( COD7UZ + 0  > (LIM_INVLOC3 * ( 1 + V_0AM + V_0AO ) + positif(V_0AM + V_0AO)))
+   )
+ et
+     (RTOURREP + RTOUHOTR + RTOUREPA + 0 > 0)
+                           )
+alors erreur D[DGFIP][2017]6 ;
+verif 1330:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   pour un i dans V,C,P:
+   (
+    (MIBVENi + MIBNPVENi + MIBGITEi + LOCGITi > LIM_MIBVEN)
+    ou
+    (MIBPRESi + MIBNPPRESi + MIBMEUi > LIM_MIBPRES)
+    ou
+    (MIBVENi + MIBNPVENi + MIBGITEi + LOCGITi + MIBPRESi + MIBNPPRESi + MIBMEUi <= LIM_MIBVEN
+     et
+     MIBPRESi + MIBNPPRESi + MIBMEUi > LIM_MIBPRES)
+    ou
+    (MIBVENi + MIBNPVENi + MIBGITEi + LOCGITi + MIBPRESi + MIBNPPRESi + MIBMEUi > LIM_MIBVEN)
+    ou
+    (BNCPROi + BNCNPi > LIM_SPEBNC)
+  )
+
+alors erreur D[DGFIP][2017]8 ;
+verif 3647:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_REGCO != 2
+   et
+   V_REGCO != 4
+   et
+   positif(PRETUDANT + 0) = 1
+   et
+   positif(V_BTPRETUD + 0) = 1
+   et
+   V_IND_TRAIT = 4
+
+alors erreur D[DGFIP][2017]9 ;
+verif 5205:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   (
+    (CIGARD > 0
+     et
+     1 - V_CNR > 0
+     et
+     positif(RDGAR[DGFIP][2017]) + positif(RDGAR[DGFIP][2017]) + positif(RDGARD3) + positif(RDGARD4) > EM7 + 0)
+    ou
+    (CIGARD > 0
+     et
+     1 - V_CNR > 0
+     et
+     positif(RDGAR[DGFIP][2017]QAR) + positif(RDGAR[DGFIP][2017]QAR) + positif(RDGARD3QAR) + positif(RDGARD4QAR) > EM7QAR + 0)
+   )
+
+alors erreur D[DGFIP][2017]0 ;
+verif 1605:
+application : batch, iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   RFMIC > 0
+   et
+   RFDANT> 0
+
+alors erreur D[DGFIP][2017]1 ;
+verif 5203:
+application : iliad,batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   positif(present(BAFV) + present(BAFC)) = 1
+   et
+   positif(  present ( BICEXV ) + present ( BICEXC ) + present ( BICNOV )
+           + present ( BICNOC )
+           + present ( B[DGFIP][2017]AV ) + present ( B[DGFIP][2017]AC ) + present ( BICDNV )
+           + present ( BICDNC )
+           + present ( BIHEXV ) + present ( BIHEXC ) + present ( BIHNOV )
+           + present ( BIHNOC )
+           + present ( BIHDNV ) + present ( BIHDNC )
+           + present ( BNCEXV ) + present ( BNCEXC )
+           + present ( BNCREV ) + present ( BNCREC ) + present ( BN1AV )
+           + present ( BN1AC ) + present ( BNCDEV ) + present ( BNCDEC )
+           + present ( BNHEXV ) + present ( BNHEXC ) + present ( BNHREV )
+           + present ( BNHREC ) + present ( BNHDEV ) + present ( BNHDEC )
+           + present ( LOCPROCGAV ) + present ( LOCPROCGAC ) + present ( LOCDEFPROCGAV )
+           + present ( LOCDEFPROCGAC ) + present ( LOCPROV ) + present ( LOCPROC )
+           + present ( LOCDEFPROV ) + present ( LOCDEFPROC )) = 1
+
+alors erreur D[DGFIP][2017]3 ;
+verif 1606:
+application : iliad , batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   1 - V_CNR > 0
+   et
+   RCMRDS > (LIM_CONTROLE + RCMABD + RCMAV + RCMHAD + RCMTNC
+                          + REVACT + PROVIE + DISQUO + REVPEA
+                          + RCMHAB + INTERE + CO[DGFIP][2017]FA)
+
+alors erreur D[DGFIP][2017]4 ;
+verif 1616:
+application : iliad , batch ;
+
+si (APPLI_OCEANS=0) et (
+          (
+                ( RDPRESREPORT +0  > V_BTPRESCOMP  +  LIM_REPORT )
+           ou
+                ( PRESCOM[DGFIP][2017]000 + PRESCOMPJUGE  +0 > LIM_REPORT  et
+                   V_BTPRESCOMP  + 0> 0 )
+           ou
+                ( RDPRESREPORT +0  > LIM_REPORT et V_BTPRESCOMP+0 = 0 )
+          )
+          et
+          (
+              1 - V_CNR > 0
+          )
+          et
+          (
+              RPRESCOMP > 0
+          )
+         et
+          ((APPLI_ILIAD = 1 et V_NOTRAIT+0 < 16)
+             ou APPLI_COLBERT = 1
+             ou ((V_BTN[DGFIP][2017]+0) non dans (50,92) et APPLI_BATCH = 1))
+                       )
+alors erreur D[DGFIP][2017]5 ;
+verif 2022:
+application : batch , iliad ;
+
+si
+   APPLI_BATCH + APPLI_ILIAD + APPLI_OCEANS = 1
+   et
+   1 - V_CNR > 0
+   et
+   CHRFAC > 0
+   et
+   V_0CR > 0
+   et
+   RFACC != 0
+
+alors erreur D[DGFIP][2017]6 ;
+verif 5000:
+application : iliad , batch ;
+
+si
+   APPLI_COLBERT + APPLI_OCEANS = 0
+   et
+   NBPT > (V_BTNB[DGFIP][2017] + 4 * APPLI_ILIAD + 400 * APPLI_BATCH)
+   et
+   V_BTNB[DGFIP][2017] + 0 > 0
+   et
+   V_IND_TRAIT = 4 et V_BTANC = 1 et ((V_BTN[DGFIP][2017] + 0) non dans (50,92))
+   et
+   V_BTMUL != 1 et V_CODILIAD = 1
+   et
+   (V_BT0AC = V_0AC ou V_BT0AM = V_0AM ou V_BT0AO = V_0AO ou V_BT0AD = V_0AD ou V_BT0AV = V_0AV)
+
+ alors erreur D[DGFIP][2017]7 ;
+verif 5103:
+application : batch , iliad ;
+
+si
+   APPLI_COLBERT + APPLI_OCEANS = 0
+   et
+   DAR > LIM_CONTROLE
+   et
+   V_BTRNI > 0
+   et
+   ((V_BTN[DGFIP][2017]+0) non dans (50,92))
+   et
+   V_IND_TRAIT = 4
+
+alors erreur D[DGFIP][2017]8 ;
+verif 2562:
+application : iliad , batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   NBACT > SOMMEA700
+   et
+   (V_REGCO+0) dans (1,3,5,6,7)
+
+alors erreur D[DGFIP][2017]9 ;
+verif 5104:
+application : batch , iliad ;
+
+si
+   APPLI_COLBERT + APPLI_OCEANS = 0
+   et
+   V_BTANC = 1
+   et
+   DAGR[DGFIP][2017] + DAGR[DGFIP][2017] + DAGRI3 + DAGRI4 + DAGR[DGFIP][2017] + DAGRI6 > LIM_CONTROLE + V_BTDBA
+   et
+   V_IND_TRAIT = 4
+
+alors erreur D[DGFIP][2017]0 ;
+verif 2575:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   1 - V_CNR > 0
+   et
+   ( RVAIDE + RVAIDAS + CREAIDE + 0) > (LIM_AIDOMI3 * (1 - positif(PREMAIDE)) + LIM_PREMAIDE2 * positif(PREMAIDE))
+   et
+   INAIDE = 1
+   et
+   (positif(V_0AP+0)=0
+    et positif(V_0AF+0)=0
+    et positif(V_0CG+0)=0
+    et positif(V_0CI+0)=0
+    et positif(V_0CR+0)=0
+   )
+
+alors erreur D[DGFIP][2017]1 ;
+verif 2010:
+application : batch , iliad ;
+
+si
+   APPLI_COLBERT + APPLI_OCEANS = 0
+   et
+   (V_BTCSGDED * (1-present(DCSG)) + DCSG) * (1-null(4 -V_REGCO)) > V_BTCSGDED +  LIM_CONTROLE
+   et
+   1 - V_CNR > 0
+   et
+   RDCSG > 0
+   et
+   ((APPLI_ILIAD = 1 et V_NOTRAIT+0 < 16)
+    ou
+    ((V_BTN[DGFIP][2017]+0) non dans (50,92) et APPLI_BATCH = 1))
+
+alors erreur D[DGFIP][2017]2 ;
+verif 1607:
+application : batch ,iliad ;
+
+si
+   APPLI_COLBERT + APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   (BAILOC98 > V_BTBAILOC98
+    ou
+    (present(BAILOC98) = 1 et present(V_BTBAILOC98) = 0))
+
+alors erreur D[DGFIP][2017]4 ;
+verif 2540:
+application : batch , iliad ;
+
+si
+   APPLI_COLBERT + APPLI_BATCH + APPLI_ILIAD = 1
+   et
+   RFORDI + FONCI + REAMOR + RFDORD + RFDHIS + RFDANT > LIM_BTREVFONC
+   et
+   V_BTANC = 1
+   et
+   V_BTIRF = 0
+   et
+   V_IND_TRAIT = 4
+
+alors erreur D[DGFIP][2017]6 ;
+verif 5108:
+application : batch, iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   (1 - V_CNR) > 0
+   et
+   (REPSNO3 > LIM_CONTROLE + V_BTPME4
+    ou
+    REPSNO2 > LIM_CONTROLE + V_BTPME3
+    ou
+    REPSNO1 > LIM_CONTROLE + V_BTPME2
+    ou
+    REPSNON > LIM_CONTROLE + V_BTPME1
+    ou
+    COD7CQ > LIM_CONTROLE + V_BTITENT1
+    ou
+    COD7CR > LIM_CONTROLE + V_BTITENT2)
+   et
+   positif(NATIMP + 0) = 1
+
+alors erreur D[DGFIP][2017]7 ;
+verif 51091:
+application : batch, iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   CREPROSP > 0
+   et
+   positif(V_BTCREPROSP + 0) = 1
+   et
+   V_IND_TRAIT = 4
+
+alors erreur D[DGFIP][2017]8 ;
+verif 5110:
+application : batch , iliad ;
+si
+   APPLI_OCEANS = 0
+   et
+   V_CNR + 0 = 0
+   et
+   positif(NATIMP) = 1
+   et
+   ((REPDON03 > LIM_CONTROLE + V_BTDONS5)
+    ou
+    (REPDON04 > LIM_CONTROLE + V_BTDONS4)
+    ou
+    (REPDON05 > LIM_CONTROLE + V_BTDONS3)
+    ou
+    (REPDON06 > LIM_CONTROLE + V_BTDONS2)
+    ou
+    (REPDON07 > LIM_CONTROLE + V_BTDONS1))
+   et
+   V_IND_TRAIT = 4
+
+alors erreur D[DGFIP][2017]9 ;
+verif 5112:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_REGCO + 0 = 1
+   et
+   positif(PRODOM + PROGUY + 0) = 0
+   et
+   positif(COD7RZ + 0) = 1
+
+alors erreur DD30 ;
+verif 5114:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_REGCO+0 != 2 et V_REGCO+0 != 4
+   et
+   COD8SA + COD8SB + 0 > PCAPTAXV + PCAPTAXC + 0
+
+alors erreur DD31 ;
+verif 6632:
+application : batch , iliad ;
+si 
+   APPLI_OCEANS = 0 
+   et
+   (1 - V_CNR > 0) 
+   et 
+   V_REGCO+0 !=2 
+   et 
+   V_REGCO+0 != 4
+   et
+  positif(CREAIDE+0) > 0
+  et
+  (
+  (1 - BOOL_0AM) *
+   (present(TSHALLOV) + present(ALLOV) + present(GL[DGFIP][2017]V) + present(GL[DGFIP][2017]V) + present(GLD3V)
+   + present(BPCOSAV) + present(TSASSUV) + present(XETRANV)
+   + present(CARTSV) + present(REMPLAV) 
+   + present(CODDAJ) + present(CODEAJ) + present(SALEXTV)
+   + present(FEXV) + present(BAFV) + positif(V_FORVA) + present(BAFORESTV)
+   + present(BAFPVV) + present(BA[DGFIP][2017]AV) + present(BAEXV) + present(BACREV)
+   + present(BACDEV) + present(BAHEXV) + present(BAHREV) + present(BAHDEV)
+   + present(BA1AV) + present(BAPERPV)
+   + present(MIBEXV) + present(MIBVENV) + present(MIBPRESV) + present(MIBPVV)
+   + present(MIB1AV) + present(MIBDEV)
+   + present( BICPMVCTV )
+   + present(BICEXV)
+   + present(BICNOV) + present(BICDNV)
+   + present(BIHEXV) + present(BIHNOV) + present(BIHDNV)
+   + present(B[DGFIP][2017]AV) + present(BIPERPV)
+   + present(BNCPROEXV) + present(BNCPROV) + present(BNCPROPVV) + present(BNCPRO1AV)
+   + present(BNCPRODEV) + present(BNCPMVCTV) + present(BNCEXV) + present(BNCREV)
+   + present(BNCDEV) + present(BNHEXV) + present(BNHREV) + present(BNHDEV)
+   + present(BN1AV) + present(BNCCRV) + present(CESSASSV)
+   + present(AUTOBICVV) + present(AUTOBICPV) + present(LOCPROCGAV)
+   + present(LOCDEFPROCGAV) + present(LOCPROV) + present(LOCDEFPROV)
+   + present(AUTOBNCV) + present(XHONOAAV) + present(XHONOV)
+   + present(GLDGRATV) + present(BICPMVCTV))
+
++ (1 - positif(V_0AP+V_0AF)) * BOOL_0AM *
+   (present(TSHALLOV) + present(ALLOV) + present(GL[DGFIP][2017]V) + present(GL[DGFIP][2017]V) + present(GLD3V)
+    + present(BPCOSAV) + present(TSASSUV) + present(XETRANV)
+    + present(CARTSV) + present(REMPLAV) 
+    + present(CODDAJ) + present(CODEAJ) + present(SALEXTV)
+    + present(FEXV) + present(BAFV) + positif(V_FORVA) + present(BAFORESTV)
+    + present(BAFPVV) + present(BA[DGFIP][2017]AV) + present(BAEXV) + present(BACREV)
+    + present(BACDEV) + present(BAHEXV) + present(BAHREV) + present(BAHDEV)
+    + present(BA1AV) + present(BAPERPV)
+    + present(MIBEXV) + present(MIBVENV) + present(MIBPRESV) + present(MIBPVV)
+    + present(MIB1AV) + present(MIBDEV) + present(BICEXV)
+    + present(BICPMVCTV) + present(BICNOV) + present(BICDNV)
+    + present(BIHEXV) + present(BIHNOV) + present(BIHDNV)
+    + present(B[DGFIP][2017]AV) + present(BIPERPV)
+    + present(BNCPROEXV) + present(BNCPROV) + present(BNCPROPVV) + present(BNCPRO1AV)
+    + present(BNCPRODEV) + present(BNCPMVCTV) + present(BNCEXV) + present(BNCREV)
+    + present(BNCDEV) + present(BNHEXV) + present(BNHREV) + present(BNHDEV)
+    + present(BN1AV) + present(BNCCRV) + present(CESSASSV)
+    + present(AUTOBICVV) + present(AUTOBICPV) + present(LOCPROCGAV)
+    + present(LOCDEFPROCGAV) + present(LOCPROV) + present(LOCDEFPROV)
+    + present(AUTOBNCV) + present(XHONOAAV) + present(XHONOV)
+    + present(GLDGRATV) + present(BICPMVCTV))
+   *
+   (present(TSHALLOC) + present(ALLOC) + present(GL[DGFIP][2017]C) + present(GL[DGFIP][2017]C) + present(GLD3C)
+    + present(BPCOSAC) + present(TSASSUC) + present(XETRANC)
+    + present(CARTSC) + present(REMPLAC) 
+    + present(FEXC) + present(BAFC) + positif(V_FORCA) + present(BAFORESTC)
+    + present(CODDBJ) + present(CODEBJ) + present(SALEXTC)
+    + present(BAFPVC) + present(BA[DGFIP][2017]AC) + present(BAEXC) + present(BACREC)
+    + present(BACDEC) + present(BAHEXC) + present(BAHREC) + present(BAHDEC)
+    + present(BA1AC) + present(BAPERPC)
+    + present(MIBEXC) + present(MIBVENC) + present(MIBPRESC) + present(MIBPVC)
+    + present(MIB1AC) + present(MIBDEC) + present(BICEXC)
+    + present(BICPMVCTC) + present(BICNOC) + present(BICDNC)
+    + present(BIHEXC) + present(BIHNOC) + present(BIHDNC)
+    + present(B[DGFIP][2017]AC) + present(BIPERPC)
+    + present(BNCPROEXC) + present(BNCPROC) + present(BNCPROPVC) + present(BNCPRO1AC)
+    + present(BNCPRODEC) + present(BNCEXC) + present(BNCREC)
+    + present(BNCDEC) + present(BNHEXC) + present(BNHREC) + present(BNHDEC)
+    + present(BN1AC) + present(BNCCRC) + present(CESSASSC)
+    + present(AUTOBICVC) + present(AUTOBICVC) + present(LOCPROCGAC)
+    + present(LOCDEFPROCGAC) + present(LOCPROC) + present(LOCDEFPROC)
+    + present(AUTOBNCC) + present(XHONOAAC) + present(XHONOC)
+    + present(GLDGRATC) + present(BICPMVCTC) + present(BNCPMVCTC))
+
+  + BOOL_0AM * positif(V_0AF) *
+   (present(TSHALLOV) + present(ALLOV) + present(GL[DGFIP][2017]V) + present(GL[DGFIP][2017]V) + present(GLD3V)
+   + present(BPCOSAV) + present(TSASSUV) + present(XETRANV)
+   + present(CARTSV) + present(REMPLAV) 
+   + present(CODDAJ) + present(CODEAJ) + present(SALEXTV)
+   + present(FEXV) + present(BAFV) + positif(V_FORVA) + present(BAFORESTV)
+   + present(BAFPVV) + present(BA[DGFIP][2017]AV) + present(BAEXV) + present(BACREV)
+   + present(BACDEV) + present(BAHEXV) + present(BAHREV) + present(BAHDEV)
+   + present(BA1AV) + present(BAPERPV)
+   + present(MIBEXV) + present(MIBVENV) + present(MIBPRESV) + present(MIBPVV)
+   + present(MIB1AV) + present(MIBDEV) + present(BICEXV)
+   + present( BICPMVCTV )
+   + present(BICNOV) + present(BICDNV)
+   + present(BIHEXV) + present(BIHNOV) + present(BIHDNV)
+   + present(B[DGFIP][2017]AV) + present(BIPERPV)
+   + present(BNCPROEXV) + present(BNCPROV) + present(BNCPROPVV) + present(BNCPRO1AV)
+   + present(BNCPRODEV) + present(BNCPMVCTV) + present(BNCEXV) + present(BNCREV)
+   + present(BNCDEV) + present(BNHEXV) + present(BNHREV) + present(BNHDEV)
+   + present(BN1AV) + present(BNCCRV) + present(CESSASSV)
+   + present(AUTOBICVV) + present(AUTOBICPV) + present(LOCPROCGAV)
+   + present(LOCDEFPROCGAV) + present(LOCPROV) + present(LOCDEFPROV)
+   + present(AUTOBNCV) + present(XHONOAAV) + present(XHONOV)
+   + present(GLDGRATV) + present(BICPMVCTV))
+
+  + BOOL_0AM * positif(V_0AP) *
+   (present(TSHALLOC) + present(ALLOC) + present(GL[DGFIP][2017]C) + present(GL[DGFIP][2017]C) + present(GLD3C)
+   + present(BPCOSAC) + present(TSASSUC) + present(XETRANC)
+   + present(CARTSC) + present(REMPLAC) 
+   + present(CODDBJ) + present(CODEBJ) + present(SALEXTC)
+   + present(FEXC) + present(BAFC) + positif(V_FORCA) + present(BAFORESTC)
+   + present(BAFPVC) + present(BA[DGFIP][2017]AC) + present(BAEXC) + present(BACREC)
+   + present(BACDEC) + present(BAHEXC) + present(BAHREC) + present(BAHDEC)
+   + present(BA1AC) + present(BAPERPC)
+   + present(MIBEXC) + present(MIBVENC) + present(MIBPRESC) + present(MIBPVC)
+   + present(MIB1AC) + present(MIBDEC) + present(BICEXC)
+   + present(BICNOC) + present(BICDNC)
+   + present(BIHEXC) + present(BIHNOC) + present(BIHDNC)
+   + present(B[DGFIP][2017]AC) + present(BIPERPC)
+   + present(BNCPROEXC) + present(BNCPROC) + present(BNCPROPVC) + present(BNCPRO1AC)
+   + present(BNCPRODEC) + present(BNCEXC) + present(BNCREC)
+   + present(BNCDEC) + present(BNHEXC) + present(BNHREC) + present(BNHDEC)
+   + present(BN1AC) + present(BNCCRC) + present(CESSASSC)
+   + present(AUTOBICVC) + present(AUTOBICVC) + present(LOCPROCGAC)
+   + present(LOCDEFPROCGAC) + present(LOCPROC) + present(LOCDEFPROC)
+   + present(AUTOBNCC) + present(XHONOAAC) + present(XHONOC)
+   + present(GLDGRATC) + present(BICPMVCTC) + present(BNCPMVCTC))
+
+   = 0
+   )
+alors erreur DD32 ;
+verif 3400:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et (
+   1 - V_CNR > 0
+   et
+   V_REGCO+0 !=2
+   et
+   V_REGCO+0 != 4
+   et
+   positif(FIPCORSE+0) = 1
+   et
+   positif(FFIP + FCPI) = 1
+                         )
+alors erreur DD34;
+verif 3900:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   positif(PERPIMPATRIE + 0) = 1
+   et
+   positif(V_BTPERPIMP + 0) = 1
+   et
+   V_IND_TRAIT = 4
+
+alors erreur DD35 ;
+verif 3910:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   1 - V_CNR > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   V_IND_TRAIT = 4
+   et
+   PTZDEVDURN > 0
+   et
+   (V_BTRFRN3 + 0 > PLAF_RFRN3
+    ou
+    RFRN3 + 0 > PLAF_RFRN3
+    ou
+    positif(V_BTRFRN3 + RFRN3 + 0) = 0)
+
+alors erreur DD3601 ;
+verif 3911:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   1 - V_CNR > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   V_IND_TRAIT = 4
+   et
+   PTZDEVDUR > 0
+   et
+   (V_BTRFRN2 + 0 > 25000 + (10000 * BOOL_0AM) + (3750 * (V_0CH + V_0DP + 2 * (V_0CF + V_0DJ + V_0DN + V_0CR)))
+    ou
+    RFRN2 + 0 > 25000 + (10000 * BOOL_0AM) + (3750 * (V_0CH + V_0DP + 2 * (V_0CF + V_0DJ + V_0DN + V_0CR)))
+    ou
+    positif(V_BTRFRN2 + V_BTRFRN1 + RFRN2 + RFRN1 + 0) = 0)
+
+alors erreur DD3602 ;
+verif 3920:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   1 - V_CNR > 0
+   et
+   V_REGCO+0 !=2
+   et
+   V_REGCO+0 != 4
+   et
+   V_IND_TRAIT = 4
+   et
+   positif(V_BTRFRN2 + 0) = 1
+   et
+   (pour un i dans V,C,P:
+    (AUTOBICVi > LIM_MIBVEN)
+    ou
+    (AUTOBICPi > LIM_MIBPRES)
+    ou
+    (AUTOBICVi + AUTOBICPi > LIM_MIBVEN)
+    ou
+    (AUTOBNCi > LIM_SPEBNC))
+
+alors erreur DD37 ;
+verif 3930:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   1 - V_CNR > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   V_IND_TRAIT = 4
+   et
+   V_BTRFRN2 + 0 > arr(LIM_BARN2 * V_BTNB[DGFIP][2017])
+   et
+   pour un i dans V,C,P: positif(AUTOBICVi + AUTOBICPi + AUTOBNCi) = 1
+
+alors erreur DD3801 ;
+verif 3940:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   1 - V_CNR > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   V_IND_TRAIT = 4
+   et
+   positif(V_BTRFRN2 + 0) = 0
+   et
+   1 - positif_ou_nul(RFRN2) = 1
+   et
+   pour un i dans V,C,P: positif(AUTOBICVi + AUTOBICPi + AUTOBNCi) = 1
+
+alors erreur DD3802 ;
+verif 3410:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017]1 + REPGRORE[DGFIP][2017]2 + REPGRORE[DGFIP][2017]3 > LIM_CONTROLE + V_BTNUREPAR
+
+alors erreur DD39 ;
+verif 3420:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   CELRREDLA + CELRREDLB + CELRREDLE + CELRREDLM + CELRREDLN > LIM_CONTROLE + V_BTRRCEL4
+
+alors erreur DD40 ;
+verif 3430:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   REDMEUBLE + REDREPNPRO + LOCMEUBIX + LOCMEUBIY + COD7PA > LIM_CONTROLE + V_BTRILMN[DGFIP][2017]
+
+alors erreur DD41 ;
+verif 3440:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (REPFOR + REPFOR1 + REPFOR2 + REPFOR3 > LIM_CONTROLE + V_BTFOREST
+    ou
+    REPSINFOR + REPSINFOR1 + REPSINFOR2 + REPSINFOR3 + REPSINFOR4 > LIM_CONTROLE + V_BTSINFOR)
+
+alors erreur DD42 ;
+verif 3450:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (INVOMREP + NRETROC50 + NRETROC40 + INVENDI + INVOMENTMN + RETROCOMLH
+   + RETROCOMMB + INVOMENTKT + RETROCOMLI + RETROCOMMC + INVOMENTKU
+   + INVOMQV + INVRETRO1 + INVRETRO2 + INVIMP + INVDOMRET50 + INVDOMRET60
+   + INVDIR2009 + INVENDEB2009 + INVOMRETPA + INVOMRETPB + INVOMRETPD
+   + INVOMRETPE + INVOMRETPF + INVOMRETPH + INVOMRETPI + INVOMRETPJ + INVOMRETPL
+   + INVOMRETPM + INVOMRETPN + INVOMRETPO + INVOMRETPP + INVOMRETPR + INVOMRETPS
+   + INVOMRETPT + INVOMRETPU + INVOMRETPW + INVOMRETPX + INVOMRETPY
+   + INVOMENTRG + INVOMENTRI + INVOMENTRJ + INVOMENTRK + INVOMENTRL + INVOMENTRM
+   + INVOMENTRO + INVOMENTRP + INVOMENTRQ + INVOMENTRR + INVOMENTRT + INVOMENTRU
+   + INVOMENTRV + INVOMENTRW + INVOMENTRY
+   + INVOMENTNU + INVOMENTNV + INVOMENTNW + INVOMENTNY
+   + CODHSA + CODHSB + CODHSC + CODHSE + CODHSF + CODHSG + CODHSH + CODHSJ + CODHSK
+   + CODHSL + CODHSM + CODHSO + CODHSP + CODHSQ + CODHSR + CODHST + CODHSU + CODHSV
+   + CODHSW + CODHSY + CODHSZ + CODHTA + CODHTB + CODHTD
+   > LIM_CONTROLE + V_BTREPOMENT)
+
+alors erreur DD43 ;
+verif 3460:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (INVSOCNRET + INVOMSOCKH + INVOMSOCKI + INVSOC2010 + INVOMSOCQU 
+    + INVLOGSOC + INVOMSOCQJ + INVOMSOCQS + INVOMSOCQW + INVOMSOCQX 
+    + CODHRA + CODHRB + CODHRC + CODHRD > LIM_CONTROLE + V_BTREPOMSOC)
+
+alors erreur DD44 ;
+verif 3470:
+application : batch , iliad ;
+
+si (APPLI_OCEANS = 0) et (
+
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (CELREPHR > LIMLOC2
+    ou
+    CELREPHS > LIMLOC2
+    ou
+    CELREPHT > LIMLOC2
+    ou
+    CELREPHU > LIMLOC2
+    ou
+    CELREPHV > LIMLOC2
+    ou
+    CELREPHW > LIMLOC2
+    ou
+    CELREPHX > LIMLOC2
+    ou
+    CELREPHZ > LIMLOC2)
+                        )
+alors erreur DD45 ;
+verif 3480:
+application : batch , iliad ;
+si (APPLI_OCEANS = 0) et (
+   V_IND_TRAIT > 0
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   (INVREPMEU > LIMLOC2
+    ou
+    INVREPNPRO > LIMLOC2
+    ou
+    INVNPROREP > LIMLOC2
+    ou
+    REPMEUBLE > LIMLOC2)
+                           )
+alors erreur DD46 ;
+verif 34201:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   CELRREDLC + CELRREDLD + CELRREDLS + CELRREDLT > LIM_CONTROLE + V_BTRRCEL3
+
+alors erreur DD48 ;
+verif 34301:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   INVREDMEU + LOCMEUBIH + LOCMEUBJC + COD7PB > LIM_CONTROLE + V_BTRILMNP4
+
+alors erreur DD49 ;
+verif 3490:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   PATNAT1 + PATNAT2 + PATNAT3 + PATNAT4 > LIM_CONTROLE + V_BTPATNAT
+
+alors erreur D[DGFIP][2017]0 ;
+verif 34901:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+    LNPRODE[DGFIP][2017]0 + LNPRODEF9 + LNPRODEF8 + LNPRODEF7 + LNPRODEF6 + LNPRODE[DGFIP][2017]
+    + LNPRODEF4 + LNPRODEF3 + LNPRODE[DGFIP][2017] + LNPRODE[DGFIP][2017] > LIM_CONTROLE + V_BTDEFNPLOC
+
+alors erreur D[DGFIP][2017]2 ;
+verif 34902:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   DEFBIC6 + DEFBIC5 + DEFBIC4 + DEFBIC3 + DEFBIC2 + DEFBIC1 > LIM_CONTROLE + V_BTBICDF
+
+alors erreur D[DGFIP][2017]3 ;
+verif 4110:
+application : iliad , batch ;
+
+si
+   SALECSG + SALECS + ALLECS + INDECS + PENECS + 0 > 0
+   et
+   SOMMED[DGFIP][2017]5 = 0
+
+alors erreur D[DGFIP][2017]5 ;
+verif 1257:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   CELRREDLF + CELRREDLZ + CELRREDLX > LIM_CONTROLE + V_BTRRCEL2
+
+alors erreur D[DGFIP][2017]7 ;
+verif 1258:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   LOCMEUBIZ + LOCMEUBJI + COD7PC > LIM_CONTROLE + V_BTRILMNP3
+
+alors erreur D[DGFIP][2017]8 ;
+verif 12611:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT > 0
+   et
+   positif(CVNSALAV + 0) = 1
+   et
+   positif(BPV18V + BPCOPTV + BPV40V + BPCOSAV + 0) = 0
+
+alors erreur DD6101 ;
+verif 12612:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT > 0
+   et
+   positif(CVNSALAC + 0) = 1
+   et
+   positif(BPV18C + BPCOPTC + BPV40C + BPCOSAC + 0) = 0
+
+alors erreur DD6102 ;
+verif 1263:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT > 0
+   et
+   IPTEFP < RNI + 0
+
+alors erreur DD63 ;
+verif 1264:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   CELRREDMG + CELRREDMH > LIM_CONTROLE + V_BTRRCEL1
+
+alors erreur DD64 ;
+verif 1265:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   LOCMEUBJS + COD7PD > LIM_CONTROLE + V_BTRILMN[DGFIP][2017]
+
+alors erreur DD65 ;
+verif 1266:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   COD7PE > LIM_CONTROLE + V_BTRILMN[DGFIP][2017]
+
+alors erreur DD66 ;
+verif 1267:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT = 4
+   et
+   V_REGCO+0 != 2
+   et
+   V_REGCO+0 != 4
+   et
+   COD7CY > LIM_CONTROLE + V_BTPLAFPME
+
+alors erreur DD67 ;
diff --git a/sources2014m_2_15/coi2.m b/sources2014m_2_15/coi2.m
new file mode 100644
index 0000000000000000000000000000000000000000..6a29d7bb9bc71ff7f3099d7a1ce27212d8cac03a
--- /dev/null
+++ b/sources2014m_2_15/coi2.m
@@ -0,0 +1,272 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 2500:
+application : iliad , batch ;
+si
+   APPLI_OCEANS = 0
+   et
+   FRNV > (TSHALLOV + ALLOV) * 0.10
+   et
+   RDSYVO > 0
+   et
+   PRBRV + CARPEV + PENINV + CODRAZ + PALIV + PENSALV + 0 = 0
+
+alors erreur [DGFIP][2017]0101 ;
+verif 2501:
+application : iliad , batch ;
+si
+   APPLI_OCEANS = 0
+   et
+   FRNC > (TSHALLOC + ALLOC) * 0.10
+   et
+   RDSYCJ > 0
+   et
+   PRBRC + CARPEC + PENINC + CODRBZ + PALIC + PENSALC + 0 = 0
+
+alors erreur [DGFIP][2017]0102 ;
+verif 2502:
+application : iliad, batch ;
+si
+   APPLI_OCEANS = 0
+   et
+(
+  (
+   (
+    ( FRN1 > (TSHALLO1 + ALLO1) *0.10)
+          et (PRBR1 + CARPE[DGFIP][2017] + PENIN1 + CODRCZ + PAL[DGFIP][2017] + PENSAL[DGFIP][2017] + 0 = 0)
+   )
+   ou
+   (
+     ( FRN2 > (TSHALLO2 + ALLO2) *0.10)
+          et (PRBR2 + CARPE[DGFIP][2017] + PENIN2 + CODRDZ + PAL[DGFIP][2017] + PENSAL[DGFIP][2017] + 0 = 0)
+   )
+   ou
+   (
+     ( FRN3 > (TSHALLO3 + ALLO3) *0.10)
+          et (PRBR3 + CARPEP3 + PENIN3 + CODREZ + PALI3 + PENSALP3 + 0 = 0)
+   )
+   ou
+   (
+     ( FRN4 > (TSHALLO4 + ALLO4) *0.10)
+          et (PRBR4 + CARPEP4 + PENIN4 + CODRFZ + PALI4 + PENSALP4 + 0 = 0)
+   )
+  ) et RDSYPP > 0
+)
+alors erreur [DGFIP][2017]0103 ;
+verif 2566:
+application : batch , iliad ;
+
+si
+   APPLI_COLBERT + APPLI_BATCH + APPLI_ILIAD = 1
+   et
+   CHRFAC > 0
+   et
+   CHNFAC + 0 = 0
+   et
+   positif(NATIMP) = 1
+   et
+   V_CNR = 0
+
+alors erreur [DGFIP][2017]08 ;
+verif 2565:
+application : batch , iliad ;
+
+si
+   APPLI_COLBERT + APPLI_BATCH + APPLI_ILIAD = 1
+   et
+   RDCOM > 0
+   et
+   NBACT + 0  = 0
+   et
+   positif(NATIMP) = 1
+
+alors erreur [DGFIP][2017]09 ;
+verif 3301:
+application : iliad, batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+  (
+        V_0AV  = 1
+        et
+       (
+       (
+        positif(XETRANC) + positif(EXOCETC) + positif(FRNC)
+        + positif(PENINC) + positif(CODRBZ)
+        + positif(TSHALLOC) + positif(CODDBJ) + positif(CODEBJ) + positif(ALLOC)
+        + positif(SALEXTC) + positif(CO[DGFIP][2017]BD) + positif(CO[DGFIP][2017]BE) + positif(PPEXTC) + positif(CO[DGFIP][2017]BH)
+        + positif(PRBC) + somme(i=2..4:positif(iPRBC)) + positif(PEBFC)
+        + positif(CARTSC) + positif(REMPLAC) + positif(CARPEC) + positif(PENSALC)
+        + somme (i=1..3: positif (GLDiC)) + somme (i=A: positif(BiFC) + somme(j=A: positif(B[DGFIP][2017]jC)))
+        + somme (i=H,C:
+                        somme(j= A,N: somme(k=R,D: positif(BjikEC))) +
+                        somme(j=N: positif(BIiDjC)) + positif(BIiNOC)
+          )
+        + positif(BICREC) + positif(B[DGFIP][2017]AC) + positif(BICDEC)
+        + positif(TSASSUC)
+        + positif(PPETPC) + positif(PPENHC)
+        + positif(GSALC) + positif(PCAPTAXC)
+
+ + positif( FEXC ) + positif( BAFC ) + positif( BAFORESTC ) + positif( BAFPVC ) + positif( BA[DGFIP][2017]AC )
+ + positif( BAEXC ) + positif( BACREC ) + positif( 4BACREC ) + positif( BA1AC )
+ + positif(BACDEC)
+ + positif( BAHEXC ) + positif( BAHREC ) + positif( 4BAHREC )
+ + positif( BAHDEC ) + positif( BAPERPC ) + positif( BANOCGAC )
+ + positif( AUTOBICVC ) + positif( AUTOBICPC ) + positif( MIBEXC ) + positif( MIBVENC )
+ + positif( MIBPRESC ) + positif( MIBPVC ) + positif( MIB1AC ) + positif( MIBDEC )
+ + positif( BICEXC ) + positif( BICNOC ) + positif( LOCPROCGAC )
+ + positif( B[DGFIP][2017]AC ) + positif(BICDNC )
+ + positif( LOCDEFPROCGAC )
+ + positif( BIHEXC ) + positif( BIHNOC ) + positif( LOCPROC )
+ + positif( BIHDNC ) + positif( BIPERPC )
+ + positif( LOCDEFPROC )
+ + positif( MIBMEUC ) + positif( MIBGITEC ) + positif( MIBNPEXC ) + positif( MIBNPVENC )
+ + positif( MIBNPPRESC ) + positif( MIBNPPVC ) + positif( MIBN[DGFIP][2017]AC ) + positif( MIBNPDEC )
+ + positif( BICNPEXC ) + positif( BICREC ) + positif( LOCNPCGAC )
+ + positif( B[DGFIP][2017]AC ) + positif( LOCDEFNPCGAC)
+ + positif( BICNPHEXC ) + positif( BICHREC ) + positif( LOCNPC )
+ + positif( BICHDEC)
+ + positif(LOCDEFNPC)
+ + positif( AUTOBNCC ) + positif( BNCPROEXC ) + positif( BNCPROC )
+ + positif( BNCPROPVC ) + positif( BNCPRO1AC ) + positif( BNCPRODEC )
+ + positif( BNCEXC ) + positif( BNCREC ) + positif( BN1AC )
+ + positif( BNCDEC )
+ + positif( BNHEXC ) + positif( BNHREC ) + positif( BNHDEC )
+ + positif ( BNCCRC ) + positif ( CESSASSC ) + positif( XHONOAAC ) + positif( XHONOC )
+ + positif( BNCNPC ) + positif( BNCNPPVC ) + positif( BNCN[DGFIP][2017]AC ) + positif( BNCNPDEC )
+ + positif( BNCNPREXAAC ) + positif( BNCAABC ) + positif( BNCNPREXC ) + positif( ANOVEP )
+ + positif( INVENTC ) + positif( PVINCE ) + positif( BNCAADC)
+ + positif( DNOCEPC ) + positif( BNCCRFC )
+ + positif( RCSC ) + positif( BANOCGAC ) + positif( PVSOCC ) + positif( PPEACC ) + positif( PPENJC )
+
+ + positif( PERPC ) + positif( PERP_COTC ) + positif( RACCOTC ) + positif( PLAF_PERPC )
+ + positif ( PERPPLAFCC ) + positif ( PERPPLAFNUC1 ) + positif ( PERPPLAFNUC2 ) + positif ( PERPPLAFNUC3 )
+ + positif ( RDSYCJ )
+ + positif( ELURASC )
+     )
+        > 0
+     )
+   )
+alors erreur [DGFIP][2017]10 ;
+verif 3210:
+application : iliad , batch ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   (V_0AM + V_0AO + 0 = 1) et V_0AS = 1 et V_0AP+0 = 0 et V_0AF+0 = 0
+   et
+   V_ANREV - V_0DA < 75
+   et
+   V_ANREV - V_0DB < 75
+
+alors erreur [DGFIP][2017]11 ;
+verif 3221:
+application : batch , iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   (V_0AM + V_0AO + 0 = 0 )
+   et
+   V_0AZ + 0 = 0
+   et
+   V_0AP + 0 = 0
+   et
+   V_0AW = 1
+   et
+   V_ANREV - V_0DA < 75
+  
+alors erreur [DGFIP][2017]12 ;
+verif 3214:
+application : batch , iliad ;
+
+si 
+   APPLI_OCEANS + APPLI_COLBERT = 0 
+   et
+    (
+       V_BT0CF >0
+          et V_0CH >0
+              et positif(V_0CF+0) != 1
+                   et V_BT0CF + 0 = somme(i=0..5:positif(V_BT0Fi+0))
+                     et V_BT0CH + 0 = somme(i=0..5:positif(V_BT0Hi+0))
+                       et V_0CF + 0 = somme(i=0..5:positif(V_0Fi+0))
+                         et V_0CH + 0 = somme(i=0..5:positif(V_0Hi+0))
+                           et ((     V_0CH < V_BT0CF   )
+                                ou
+                               (     V_0CH = V_BT0CF
+                                  et somme(i=0..5:V_0Hi+0) != somme(i=0..5:V_BT0Fi+0)         )
+                                ou
+                               (     V_0CH = V_BT0CF
+                                  et somme(i=0..5:V_0Hi+0) = somme(i=0..5:V_BT0Fi+0)
+                                  et somme(i=0..5: (1/V_0Hi)) != somme(i=0..5: (1/V_BT0Fi))   )
+                               ou
+                               (     V_0CH > V_BT0CF
+        et somme(i=0..5:positif(somme(j=0..5:null(V_0Hj - V_BT0Fi)))*V_BT0Fi) != somme(i=0..5:V_BT0Fi)
+                               )
+                               ou
+                               (     V_0CH > V_BT0CF
+        et somme(i=0..5:positif(somme(j=0..5:null(V_0Hj - V_BT0Fi)))*V_BT0Fi) = somme(i=0..5:V_BT0Fi)
+        et somme(i=0..5:positif(somme(j=0..5:null(V_0Hi - V_BT0Fj)))*V_0Hi) < somme(i=0..5:V_BT0Fi)
+                               )
+                              )
+    )
+   et
+   V_IND_TRAIT = 4
+
+alors erreur [DGFIP][2017]14 ;
+verif 3216:
+application : batch , iliad ;
+si
+   V_IND_TRAIT = 4
+   et
+   V_REGCO != 2
+   et
+   V_REGCO != 4
+   et
+   (
+    DEFRCM + 0 > V_BTDFRCM1 + PLAF_PRECONS * (1 - positif(V_BTDFRCM1))
+    ou
+    DEFRCM2 + 0 > V_BTDFRCM2 + PLAF_PRECONS * (1 - positif(V_BTDFRCM2))
+    ou
+    DEFRCM3 + 0 > V_BTDFRCM3 + PLAF_PRECONS * (1 - positif(V_BTDFRCM3))
+    ou
+    DEFRCM4 + 0 > V_BTDFRCM4 + PLAF_PRECONS * (1 - positif(V_BTDFRCM4))
+    ou
+    DEFRCM5 + 0 > V_BTDFRCM5 + PLAF_PRECONS * (1 - positif(V_BTDFRCM5))
+    ou
+    DEFRCM6 + 0 > V_BTDFRCM6 + PLAF_PRECONS * (1 - positif(V_BTDFRCM6)))
+
+alors erreur [DGFIP][2017]15 ;
+verif 3217:
+application : batch , iliad ;
+
+si
+   V_IND_TRAIT > 0
+   et
+   V_REGCO != 2
+   et
+   V_REGCO != 4
+   et
+   positif(PVSURSI + PVIMPOS + CODRWA + CODRWB + 0) = 1
+
+alors erreur [DGFIP][2017]16 ;
diff --git a/sources2014m_2_15/coi3.m b/sources2014m_2_15/coi3.m
new file mode 100644
index 0000000000000000000000000000000000000000..859604f37874cd1f505b8a9b77dd91bfad4e85eb
--- /dev/null
+++ b/sources2014m_2_15/coi3.m
@@ -0,0 +1,356 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif 1301:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT > 0
+   et
+   (BAFV > PLAF_FORFBA
+    ou
+    BAFC > PLAF_FORFBA
+    ou
+    BAFP > PLAF_FORFBA)
+
+alors erreur IM02 ;
+verif 2205:
+application : batch , iliad ;
+
+si
+   APPLI_COLBERT + APPLI_OCEANS + APPLI_ILIAD = 1
+   et
+   V_IND_TRAIT > 0
+   et
+   CREFAM + 0 > 500000
+
+alors erreur IM03 ;
+verif 2504:
+application : batch , iliad ;
+
+si
+   APPLI_COLBERT + APPLI_ILIAD + APPLI_OCEANS = 1
+   et
+   V_IND_TRAIT > 0
+   et
+   CREPROSP > LIM_PROSP
+
+alors erreur IM08 ;
+verif 2009:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   present (V_BTCO2044P) = 1
+   et
+   present (CO2044P)   = 0
+   et
+   V_IND_TRAIT = 4
+
+alors erreur IM09 ;
+verif 3110:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   present(V_CALCULIR) = 0
+   et
+   V_0CF+0 != somme (i = 0..7: positif(V_0Fi+0))
+
+alors erreur IM1101 ;
+verif 3111:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   present(V_CALCULIR) = 0
+   et
+   V_0CG != somme (i = 0, 1, 2, 3: positif(V_0Gi+0))
+
+alors erreur IM1102 ;
+verif 3118:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   present(V_CALCULIR) = 0
+   et
+   V_0CH != somme (i = 0,1,2,3,4,5: positif(V_0Hi+0))
+
+alors erreur IM1103 ;
+verif 3116:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   present(V_CALCULIR) = 0
+   et
+   V_0CI != somme (i = 0, 1, 2, 3: positif(V_0Ii+0))
+
+alors erreur IM1104 ;
+verif 3112:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   present(V_CALCULIR) = 0
+   et
+   V_0CR != somme (i = 0, 1, 2, 3: positif(V_0Ri+0))
+
+alors erreur IM1105 ;
+verif 3113:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   present(V_CALCULIR) = 0
+   et
+   V_0DJ != somme (i = 0, 1, 2, 3: positif(V_0Ji+0))
+
+alors erreur IM1106 ;
+verif 3114:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   present(V_CALCULIR) = 0
+   et
+   V_0DN != somme (i = 0, 1, 2, 3: positif(V_0Ni+0))
+
+alors erreur IM1107 ;
+verif 3117:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   present(V_CALCULIR) = 0
+   et
+   V_0DP !=  positif(V_0[DGFIP][2017]+0)
+
+alors erreur IM1108 ;
+verif 3215:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   positif(null(V_NOTRAIT - 23) + null(V_NOTRAIT - 33) + null(V_NOTRAIT - 43) + null(V_NOTRAIT - 53) + null(V_NOTRAIT - 63)) = 0
+   et
+   IREST >= LIM_RESTIT
+
+alors erreur IM14 ;
+verif 1108:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT + 0 = 4
+   et
+   V_NOTRAIT + 0 < 14
+   et
+   ((RCMAVFT > PLAF_AF
+     et
+     RCMABD + REVACT + RCMHAD + DISQUO + RCMHAB + INTERE + RCMTNC + REVPEA + CO[DGFIP][2017]FA > 0
+     et
+     RCMAVFT > arr(40 * (RCMABD + REVACT + RCMHAD + DISQUO + RCMHAB + INTERE + RCMTNC + REVPEA + CO[DGFIP][2017]FA) / 100))
+    ou
+    (DIREPARGNE > PLAF_AF
+     et
+     PPLIB + RCMLIB + RCMHAD + DISQUO + RCMHAB + INTERE + CO[DGFIP][2017]FA + BPVRCM > 0
+     et
+     DIREPARGNE > arr(60 * (PPLIB + RCMLIB + RCMHAD + DISQUO + RCMHAB + INTERE + CO[DGFIP][2017]FA + BPVRCM) / 100)))
+
+alors erreur IM1501 ;
+verif 1109:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_NOTRAIT + 0 >= 14
+   et
+   ((RCMAVFT > PLAF_AF
+     et
+     RCMAVFT <= PLAF_A[DGFIP][2017]
+     et
+     RCMABD + REVACT + RCMHAD + DISQUO + RCMHAB + INTERE + RCMTNC + REVPEA + CO[DGFIP][2017]FA > 0
+     et
+     RCMAVFT > arr(40 * (RCMABD + REVACT + RCMHAD + DISQUO + RCMHAB + INTERE + RCMTNC + REVPEA + CO[DGFIP][2017]FA) / 100))
+    ou
+    (DIREPARGNE > PLAF_AF
+     et
+     DIREPARGNE <= PLAF_A[DGFIP][2017]
+     et
+     PPLIB + RCMLIB + RCMHAD + DISQUO + RCMHAB + INTERE + CO[DGFIP][2017]FA + BPVRCM > 0
+     et
+     DIREPARGNE > arr(60 * (PPLIB + RCMLIB + RCMHAD + DISQUO + RCMHAB + INTERE + CO[DGFIP][2017]FA + BPVRCM) / 100)))
+
+alors erreur IM1502 ;
+verif 5060:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_ZDC+0 = 0
+   et
+   V_BTMUL+0 = 0
+   et
+   V_0AX+0 = 0 et V_0AY+0 = 0 et V_0AZ+0 = 0 et V_0AO+0 = 0
+   et
+   V_BTRNI > LIM_BTRNI
+   et
+   RNI > V_BTRNI * 9
+   et
+   RNI < 100000
+   et
+   V_IND_TRAIT = 4
+
+alors erreur IM1601 ;
+verif 5061:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_ZDC+0 = 0
+   et
+   V_BTMUL+0 = 0
+   et
+   V_0AX+0 = 0 et V_0AY+0 = 0 et V_0AZ+0 = 0 et V_0AO+0 = 0
+   et
+   V_BTRNI > LIM_BTRNI
+   et
+   RNI > V_BTRNI * 5
+   et
+   RNI >= 100000
+   et
+   V_IND_TRAIT = 4
+
+alors erreur IM1602 ;
+verif 5101:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_BTIMP > LIM_BTIMP
+   et
+   IINET >= V_BTIMP * 2
+   et
+   V_ZDC+0 = 0
+   et
+   V_IND_TRAIT = 4
+
+alors erreur IM17 ;
+verif 5102:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_BTIMP > LIM_BTIMP
+   et
+   IINET <= V_BTIMP / 2
+   et
+   V_ZDC+0 = 0
+   et
+   V_IND_TRAIT = 4
+
+alors erreur IM18 ;
+verif 3620:
+application : iliad ;
+si
+   APPLI_OCEANS = 0
+   et
+   (V_IND_TRAIT = 4
+    et V_BT0CF + 0 = somme(i=0..5:positif(V_BT0Fi+0))
+    et V_BT0CH + 0 = somme(i=0..5:positif(V_BT0Hi+0))
+    et V_0CF + 0 = somme(i=0..5:positif(V_0Fi+0))
+    et V_0CH + 0 = somme(i=0..5:positif(V_0Hi+0))
+    et
+     (
+       V_BT0CH + V_BT0CF + 0 > V_0CH + V_0CF
+       ou
+       (V_BT0CF = 1 et V_0CF =1 et V_0CH + 0 = 0 et pour un i dans 0,1: V_0Fi = V_ANREV )
+       ou
+       (V_BT0CF = 1 et V_0CH =1 et V_0CF + 0 = 0 et pour un i dans 0,1: V_0Hi = V_ANREV )
+       ou
+       (V_BT0CH = 1 et V_0CH =1 et V_0CF + 0 = 0 et pour un i dans 0,1: V_0Hi = V_ANREV )
+       ou
+       (V_BT0CH = 1 et V_0CF =1 et V_0CH + 0 = 0 et pour un i dans 0,1: V_0Fi = V_ANREV )
+     )
+   )
+alors erreur IM19 ;
+verif 5100:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_NOTRAIT + 0 != 14
+   et
+   V_BTANC + 0 = 1
+   et
+   ((V_BTN[DGFIP][2017]+0 )non dans (50,92))
+   et
+   V_BTIMP + 0 <= 0
+   et
+   IINET > LIM_BTIMP * 2
+   et
+   V_ZDC + 0 = 0
+   et 
+   V_IND_TRAIT = 4
+
+alors erreur IM20 ;
+verif 20091:
+application : iliad ;
+
+si
+   APPLI_OCEANS = 0
+   et
+   V_IND_TRAIT > 0
+   et
+   positif(ANNUL2042) = 1
+
+alors erreur IM40 ;
+verif 4380:
+application : iliad ;
+si
+                    (FLAGDERNIE+0 = 1) et  ((DEFRI = 1)  et (PREM8_11=1) et (((VARR30+0=0)et (VARR32+0=0)) ou ((DEFRIGLOB=0) et (RIDEFRI=0))))
+alors erreur IM42 ;
+
+verif 4382:
+application : iliad ;
+si
+                    (FLAGDERNIE+0 = 1) et  ((DEFRI = 1)  et (PREM8_11=0) et (VARR10+0=0) et (ANO1731=0))
+alors erreur IM42 ;
diff --git a/sources2014m_2_15/errB.m b/sources2014m_2_15/errB.m
new file mode 100644
index 0000000000000000000000000000000000000000..80008f6d4752164e70a2e8f1f72a783871f25bf1
--- /dev/null
+++ b/sources2014m_2_15/errB.m
@@ -0,0 +1,30 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 14 Application bareme
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A063:anomalie :"A":"063":"00":"nombre de parts incompatible avec sit.  de famille":"N";
+A064:anomalie :"A":"064":"00":"nombre de parts incompatible avec sit.  de famille et pers.  a charge":"N";
+A06501:anomalie :"A":"065":"01":"LE NOMBRE DE PARTS DOIT ETRE UN MULTIPLE DE 0,25":"N";
+A06502:anomalie :"A":"065":"02":"LE NOMBRE DE PARTS DOIT ETRE COMPRIS ENTRE 1 ET 99,75":"N";
+A066:anomalie :"A":"066":"00":"nombre de parts incompatible avec sit.  de famille":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
diff --git a/sources2014m_2_15/errH.m b/sources2014m_2_15/errH.m
new file mode 100644
index 0000000000000000000000000000000000000000..aaf740e68912a92843cb3a7d9d2862e33b90c504
--- /dev/null
+++ b/sources2014m_2_15/errH.m
@@ -0,0 +1,333 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)":"N";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).":"N";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)":"N";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A00108:anomalie :"A":"001":"08":"MONTANT VARIABLE RESTITUEE SUPERIEUR A 8 CARACTERES":"N";
+A00109:anomalie :"A":"001":"09":"LES CODES PRIS EN CHARGE SUR 9YG SONT ERRONES":"N";
+A00110:anomalie :"A":"001":"10":"LES MONTANTS SAISIS RUBRIQUES 0 A 8 EXCEDENT 8 CARACTERES":"N";
+A004:anomalie :"A":"004":"00":"CASE B COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A005:anomalie :"A":"005":"00":"CASE B NON COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION C, D OU V":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES G, N, W, L":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES G, N, U, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, U, S":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S, U":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT 1 OU DU DECLARANT 2 EST INVRAISEMBLABLE":"N";
+A015:anomalie :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A01701:anomalie :"A":"017":"01":"CASE DC = D, UNE SEULE DATE PEUT ETRE SAISIE.":"N";
+A01702:anomalie :"A":"017":"02":"CASE DC=Z, INDIQUEZ M OU O DANS SITUATION ET DATE DECES CJT OU PACSE.":"N";
+A01703:anomalie :"A":"017":"03":"CASE DC = D. DATE MARIAGE OU PACS SAISIE. LA SITUATION DOIT ETRE M OU O.":"N";
+A01704:anomalie :"A":"017":"04":"CASE DC = D. DATE DIVORCE OU RUPTURE SAISIE. LA SITUATION DOIT ETRE D":"N";
+A01705:anomalie :"A":"017":"05":"CASE DC = D. DATE DECES CJT SAISIE. LA SITUATION DE FAMILLE DOIT ETRE V OU M":"N";
+A018:anomalie :"A":"018":"00":"SITUATION NECESSITANT LA SAISIE DE LA CASE DC. ARRETEZ LA TRANSACTION.":"N";
+A019:anomalie :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A021:anomalie :"A":"021":"00":"ATTENTION DATES DE NAISSANCE PAC PRISES EN CHARGE SANS CODE 0CF, 0CH":"N";
+A022:anomalie :"A":"022":"00":"UN ENFANT NE EN 1996 EST A LA FOIS COMPTE A CHARGE ET RATTACHE: A VERIFIER":"N";
+A02301:anomalie :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:anomalie :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:anomalie :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENTE DE 2013 OU 2014":"N";
+A02401:anomalie :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:anomalie :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:anomalie :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:anomalie :"A":"031":"00":"REV. OU CHARGE AU NOM DU DECLARANT 2 POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A077:anomalie :"A":"077":"00":"UTILISATION DU CODE 8XK UNIQUEMENT DANS LES DIRECTIONS B31 ET 060":"N";
+A078:anomalie :"A":"078":"00":"CODE 8YK : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A079:anomalie :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:anomalie :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A082:anomalie :"A":"082":"00":"LE CODE REGIME D IMPOSITION EST DIFFERENT DE 1,2 ou 4":"N";
+A083:anomalie :"A":"083":"00":"UTILISATION DU CODE 8ZA UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A085:anomalie :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:anomalie :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:anomalie :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:anomalie :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:anomalie :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:anomalie :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:anomalie :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:anomalie :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:anomalie :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:anomalie :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:anomalie :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:anomalie :"A":"096":"00":"CODES 8YO ET 8YI : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A09801:anomalie :"A":"098":"01":"LIGNE 3SE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09802:anomalie :"A":"098":"02":"LIGNE 3VE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09803:anomalie :"A":"098":"03":"LIGNE 3UV INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A13901:anomalie :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:anomalie :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:anomalie :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:anomalie :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:anomalie :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:anomalie :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:anomalie :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:anomalie :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:anomalie :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:anomalie :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A153:anomalie :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A154:anomalie :"A":"154":"00":"SAISIE IMPOT ACQUITTE A L'ETRANGER SANS SALAIRE CORRESPONDANT":"N";
+A21801:anomalie :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:anomalie :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A220:anomalie :"A":"220":"00":"CREDIT D'IMPOT ( 2AB , 2BG ) EXAGERE : VERIFIEZ VOTRE SAISIE":"N";
+A221:anomalie :"A":"221":"00":"LE MONTANT LIGNE 2LA EST INCOMPATIBLE AVEC MONTANT LIGNE 2LB : COMPENSER":"N";
+A22301:anomalie :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:anomalie :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A224:anomalie :"A":"224":"00":"CREDIT D'IMPOT 2CK > 80 E SANS REVENU CORRESPONDANT":"N";
+A225:anomalie :"A":"225":"00":"LE MONTANT 2FA NE PEUT EXCEDER 2000 E":"N";
+A226:anomalie :"A":"226":"00":"INCOMPATIBILITE ENTRE MONTANT LIGNE 2TR ET MONTANT LIGNE 2FA":"N";
+A320:anomalie :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM, 3VT (PEA)":"N";
+A321:anomalie :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A323:anomalie :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A325:anomalie :"A":"325":"00":"PRESENCE OBLIGATOIRE DE 3WM EN PRESENCE DE 3WA":"N";
+A326:anomalie :"A":"326":"00":"PRESENCE OBLIGATOIRE DE 3WD EN PRESENCE DE 3WB":"N";
+A32701:anomalie :"A":"327":"01":"LE CODE RVG DOIT ETRE ASSOCIE A NVG ET INVERSEMENT":"N";
+A32702:anomalie :"A":"327":"02":"LE CODE NVG NE PEUT PRENDRE QUE 4 COMME VALEUR":"N";
+A32801:anomalie :"A":"328":"01":"LE CODE RWA DOIT ETRE ASSOCIE A NWA ET INVERSEMENT":"N";
+A32802:anomalie :"A":"328":"02":"LE CODE NWA NE PEUT PRENDRE QUE 4 COMME VALEUR":"N";
+A32901:anomalie :"A":"329":"01":"LE CODE RWB DOIT ETRE ASSOCIE A NWB ET INVERSEMENT":"N";
+A32902:anomalie :"A":"329":"02":"LE CODE NWB NE PEUT PRENDRE QUE 4 COMME VALEUR":"N";
+A420:anomalie :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:anomalie :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:anomalie :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:anomalie :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:anomalie :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:anomalie :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:anomalie :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:anomalie :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:anomalie :"A":"538":"00":"REVENUS A IMPOSER AUX PRELEVEMENTS SOCIAUX SANS REVENU CORRESPONDANT":"N";
+A542:anomalie :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:anomalie :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:anomalie :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (DECLAR. 1, DECLAR. 2) NE PEUT DEPASSER 29 626 E":"N";
+A602:anomalie :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A603:anomalie :"A":"603":"00":"LES LIGNES 6PS, 6PT, 6PU SONT REMPLIES SANS MISE A JOUR DU PLAFOND":"N";
+A604:anomalie :"A":"604":"00":"MUTUALISATION DEMANDEE (6QR) SANS PLAFOND CORRESPONDANT POUR LES DEUX DECLARANTS":"N";
+A60501:anomalie :"A":"605":"01":"LE MONTANT 6 QS NE PEUT ETRE INFERIEUR AU MONTANT DE 1 SM":"N";
+A60502:anomalie :"A":"605":"02":"LE MONTANT 6 QT NE PEUT ETRE INFERIEUR AU MONTANT DE 1 DN":"N";
+A700:anomalie :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A702:anomalie :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR OU 2FA":"N";
+A703:anomalie :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC DECLARANTS NES AVANT 1979":"N";
+A704:anomalie :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A705:anomalie :"A":"705":"00":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A706:anomalie :"A":"706":"00":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70701:anomalie :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:anomalie :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:anomalie :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A70901:anomalie :"A":"709":"01":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XI A 7UZ":"N";
+A70902:anomalie :"A":"709":"02":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XK OU 7XR":"N";
+A710:anomalie :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:anomalie :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:anomalie :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:anomalie :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:anomalie :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:anomalie :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:anomalie :"A":"714":"00":"REPORT 2013 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2014 (7WO ET 7WN)":"N";
+A715:anomalie :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:anomalie :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:anomalie :"A":"717":"01":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7FA A 7FD":"N";
+A71702:anomalie :"A":"717":"02":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7JA A 7JR":"N";
+A71703:anomalie :"A":"717":"03":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71704:anomalie :"A":"717":"04":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7HJ, 7HK, 7HN ET 7HO":"N";
+A71705:anomalie :"A":"717":"05":"INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:anomalie :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:anomalie :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A73001:anomalie :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TF":"N";
+A73002:anomalie :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TG":"N";
+A73003:anomalie :"A":"730":"03":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UW ET 7TH":"N";
+A73004:anomalie :"A":"730":"04":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UX ET 7TI":"N";
+A731:anomalie :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5":"N";
+A732:anomalie :"A":"732":"00":"POUR DEPENSES AVANT 1/9 : ABSENCE DE RFR 2012, 2013 ET DE BOUQUET DE TRAVAUX":"N";
+A734:anomalie :"A":"734":"00":"LES CASES 7WE ET 7WG NE PEUVENT PAS ETRE SIMULTANEMENT COCHEES":"N";
+A735:anomalie :"A":"735":"00":"CASES 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7SD A 7RZ":"N";
+A736:anomalie :"A":"736":"00":"PLUS DE DEUX LIGNES SAISIES PARMI 7EK, 7EL, 7QA, 7QB, 7QC, 7QD":"N";
+A737:anomalie :"A":"737":"00":"CIDD : CASE 7RX COCHEE EN L'ABSENCE DE BOUQUET ET SANS SAISIE DU CODE 7WX":"N";
+A739:anomalie :"A":"739":"00":"CASE HQA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:anomalie :"A":"740":"01":"LE TOTAL LIGNES HAE + HAJ NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74002:anomalie :"A":"740":"02":"LE TOTAL LIGNES HAO + HAT + HAY + HBG NE PEUT ETRE SUPERIEUR A 229 500 E":"N";
+A74003:anomalie :"A":"740":"03":"LE TOTAL HAE + HAJ + HAO + HAT + HAY + HBG NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:anomalie :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A743:anomalie :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:anomalie :"A":"744":"00":"LE MONTANT PORTE LIGNE 7WR NE PEUT DEPASSER 60 000 E":"N";
+A74601:anomalie :"A":"746":"01":"LE MONTANT LIGNE HAE NE PEUT EXCEDER LE MONTANT LIGNE HAD":"N";
+A74602:anomalie :"A":"746":"02":"LE MONTANT LIGNE HAJ NE PEUT EXCEDER LE MONTANT LIGNE HAI":"N";
+A74603:anomalie :"A":"746":"03":"LE MONTANT LIGNE HAO NE PEUT EXCEDER LE MONTANT LIGNE HAN":"N";
+A74604:anomalie :"A":"746":"04":"LE MONTANT LIGNE HAT NE PEUT EXCEDER LE MONTANT LIGNE HAS":"N";
+A74605:anomalie :"A":"746":"05":"LE MONTANT LIGNE HAY NE PEUT EXCEDER LE MONTANT LIGNE HAX":"N";
+A74606:anomalie :"A":"746":"06":"LE MONTANT LIGNE HBG NE PEUT EXCEDER LE MONTANT LIGNE HBF":"N";
+A747:anomalie :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A748:anomalie :"A":"748":"00":"CASE 7WK COCHEE SANS MONTANT LIGNE 7SD A 7RZ":"N";
+A74901:anomalie :"A":"749":"01":"LE MONTANT 7WX EST SUPERIEUR AUX DEPENSES DECLAREES (IMMEUBLE COLLECTIF)":"N";
+A74902:anomalie :"A":"749":"02":"LE MONTANT 7WX EST SUPERIEUR AUX DEPENSES DECLAREES (MAISON INDIVIDUELLE)":"N";
+A75101:anomalie :"A":"751":"01":"CODE 7WT AVEC CODE 7SJ INCOMPATIBLES":"N";
+A75102:anomalie :"A":"751":"02":"CODE 7WU AVEC CODE 7RJ INCOMPATIBLES":"N";
+A75103:anomalie :"A":"751":"03":"CODE 7WC AVEC CODE 7SG INCOMPATIBLES":"N";
+A75104:anomalie :"A":"751":"04":"CODE 7WB AVEC CODE 7RG INCOMPATIBLES":"N";
+A75105:anomalie :"A":"751":"05":"CODE 7VG AVEC CODE 7SH INCOMPATIBLES":"N";
+A75106:anomalie :"A":"751":"06":"CODE 7VH AVEC CODE 7RH INCOMPATIBLES":"N";
+A800:anomalie :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:anomalie :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:anomalie :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF 8ZR/8ZN ET PRORATA METRO-DOM":"N";
+A80203:anomalie :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF AUTOMATIQUE ET PRORATA METRO-DOM":"N";
+A803:anomalie :"A":"803":"00":"CODES DAJ, DBJ, EAJ, EBJ PRIS EN CHARGE DANS DIRECTION AUTRE QUE METROPOLE":"N";
+A804:anomalie :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:anomalie :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A806:anomalie :"A":"806":"00":"PRESENCE DE PRORATA METRO/DOM, VALEUR DE NAJ ET NBJ DOIT ETRE EGALE A 4":"N";
+A807:anomalie :"A":"807":"00":"SAISIE CODE 8XT SANS LIGNE 1AT OU 1BT":"N";
+A821:anomalie :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A858:anomalie :"A":"858":"00":"LES LIGNES 8TL, 8UW SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A859:anomalie :"A":"859":"00":"LA LIGNE 8WC EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:anomalie :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A864:anomalie :"A":"864":"00":"CSG A 7,5 % PROVISOIRE SUR GAINS LIGNE 1TT, 1UT > CSG DUE":"N";
+A865:anomalie :"A":"865":"00":"CONTRIBUTION SALARIALE PROVISOIRE 10 % (8YT) > A CONTRIBUTION DUE":"N";
+A86601:anomalie :"A":"866":"01":"CSG A 7,5% PROVISOIRE (8YD) >  CSG DUE":"N";
+A86602:anomalie :"A":"866":"02":"CSG A 7,5% PROVISOIRE (8YE) > CSG DUE":"N";
+A86603:anomalie :"A":"866":"03":"CSG A 6,6% PROVISOIRE (8YF) > CSG DUE":"N";
+A86604:anomalie :"A":"866":"04":"CSG A 6,2% PROVISOIRE (8YG) > CSG DUE":"N";
+A86605:anomalie :"A":"866":"05":"CSG A 3,8% PROVISOIRE (8YH) > CSG DUE":"N";
+A86606:anomalie :"A":"866":"06":"CSG A 6,6% PROVISOIRE (8YN) > CSG DUE":"N";
+A86607:anomalie :"A":"866":"07":"CSG A 3,8% PROVISOIRE (8YP) > CSG DUE":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A870:anomalie :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:anomalie :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:anomalie :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A87801:anomalie :"A":"878":"01":"SAISIE CODE 8XA SANS REVENU LIGNE 8TQ":"N";
+A87802:anomalie :"A":"878":"02":"SAISIE CODE 8XB SANS REVENU LIGNE 8TR":"N";
+A87803:anomalie :"A":"878":"03":"SAISIE CODE 8XC SANS REVENU LIGNE 8TV":"N";
+A87804:anomalie :"A":"878":"04":"SAISIE CODE 8XD SANS REVENU LIGNE 8TW":"N";
+A87805:anomalie :"A":"878":"05":"SAISIE CODE 8XE SANS REVENU LIGNE 8TX":"N";
+A87806:anomalie :"A":"878":"06":"SAISIE CODE 8XI SANS REVENU LIGNE 8SA":"N";
+A87807:anomalie :"A":"878":"07":"SAISIE CODE 8XJ SANS REVENU LIGNE 8SB":"N";
+A879:anomalie :"A":"879":"00":"LA LIGNE 8TG, 8TS EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:anomalie :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:anomalie :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A88201:anomalie :"A":"882":"01":"LA LIGNE 8TI EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN OU INVERSEMENT":"N";
+A88202:anomalie :"A":"882":"02":"SAISIE DU CODE 8YC, 8YJ SANS PRISE EN CHARGE DE TAUX EFFECTIF":"N";
+A883:anomalie :"A":"883":"00":"LIGNE 8TK REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP, 8XQ, 8XT, 8XF, 8XG, 8XH, 8XV":"N";
+A884:anomalie :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A88501:anomalie :"A":"885":"01":"PRISE EN CHARGE DU CODE 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A88502:anomalie :"A":"885":"02":"PRISE EN CHARGE DU CODE 8XV SANS REVENU LIGNE 2FA CORRESPONDANT":"N";
+A88503:anomalie :"A":"885":"03":"PRISE EN CHARGE DU CODE 8XP SANS GAIN CORRESPONDANT":"N";
+A88504:anomalie :"A":"885":"04":"PRISE EN CHARGE DU CODE 8XF SANS GAIN CORRESPONDANT":"N";
+A88505:anomalie :"A":"885":"05":"PRISE EN CHARGE DU CODE 8XG SANS GAIN CORRESPONDANT":"N";
+A88506:anomalie :"A":"885":"06":"PRISE EN CHARGE DU CODE 8XH SANS GAIN CORRESPONDANT":"N";
+A886:anomalie :"A":"886":"00":"SAISIE DE 8TU SANS PRISE EN CHARGE DE 8XR,8XP,8XQ,8XV,8XF,8XG,8XH OU 8PA":"N";
+A887:anomalie :"A":"887":"00":"REVENU NET CODE 8XR SUPERIEUR AU MONTANT LIGNE 8TK":"N";
+A888:anomalie :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A889:anomalie :"A":"889":"00":"SAISIE CODE 8 FV SANS PRISE EN CHARGE DU CODE 8 ZK":"N";
+A890:anomalie :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:anomalie :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:anomalie :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:anomalie :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:anomalie :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:anomalie :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:anomalie :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:anomalie :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A950:anomalie :"A":"950":"00":"NATIMP OU PPENATREST DIFFERENT DES VALEURS ADMISES":"N";
+A951:anomalie :"A":"951":"00":"CODINI DIFFERENT DES VALEURS ADMISES":"N";
+A954:anomalie :"A":"954":"00":"NATIMPIR DIFFERENT DES VALEURS ADMISES":"N";
+A955:anomalie :"A":"955":"00":"NATCRP DIFFERENT DES VALEURS ADMISES":"N";
+A960:anomalie :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:anomalie :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:anomalie :"A":"961":"02":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96103:anomalie :"A":"961":"03":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17, 18 ET 34)":"N";
+A96201:anomalie :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:anomalie :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:anomalie :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:anomalie :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:anomalie :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:anomalie :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2015, 2016 OU 2017":"N";
+A96303:anomalie :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:anomalie :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2015, 2016 OU 2017":"N";
+A96401:anomalie :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:anomalie :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:anomalie :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2014":"N";
+A96501:anomalie :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:anomalie :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:anomalie :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2014":"N";
+A966:anomalie :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A967:anomalie :"A":"967":"00":"PRESENCE LIGNE 9HI (ISF) DANS LA PERIODE AVANT DECES DU DECLARANT2":"N";
+A98001:anomalie :"A":"980":"01":"BASE ISF 9HI <= 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:anomalie :"A":"980":"02":"BASE ISF 9HI >= 2 570 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A981:anomalie :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:anomalie :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:anomalie :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:anomalie :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:anomalie :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:anomalie :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:anomalie :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:anomalie :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+A99301:anomalie :"A":"993":"01":"ANNULATION 2042: RAMENER LES REVENUS A 0.":"N";
+A99302:anomalie :"A":"993":"02":"SUPPRESSION du code 9YA impossible, veuillez ressaisir une declaration":"N";
+AS0101:anomalie :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C":"N";
+AS0102:anomalie :"A":"S01":"02":"INCOMPATIBILITE ENTRE DATE DE MARIAGE AVEC OPTION B ET SITUATION M OU O":"N";
+AS0103:anomalie :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE MARIAGE SANS OPTION B ET SITUATION C, D OU V":"N";
+AS0104:anomalie :"A":"S01":"04":"INCOMPATIBILITE ENTRE DATE DE DIVORCE ET SITUATION M OU O":"N";
+AS0105:anomalie :"A":"S01":"05":"INCOMPATIBILITE ENTRE DATES DE DIVORCE ET DE DECES DU CJT ET SITUATION M":"N";
+AS0106:anomalie :"A":"S01":"06":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION D":"N";
+AS02:anomalie :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE":"N";
+AS11:anomalie :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE":"N";
+D[DGFIP][2017]2:discordance :"D":"[DGFIP][2017]2":"00":"VERIFIER LE CUMUL DE 7CF (CAPITAL PME) AVEC 7FN, 7GN ":"N";
+D[DGFIP][2017]3:discordance :"D":"[DGFIP][2017]3":"00":"MONTANT DES FRAIS RCM EXAGERE OU FRAIS AVEC REVENU LIGNE 2FU 2CH 2GO":"N";
+D[DGFIP][2017]4:discordance :"D":"[DGFIP][2017]4":"00":"MONTANT DU CREDIT D'IMPOT EXAGERE":"N";
+D[DGFIP][2017]5:discordance :"D":"[DGFIP][2017]5":"00":"LE REVENU IMPOSABLE EST < AU 1/5 E PAR RAPPORT A CELUI DE N-1":"N";
+D[DGFIP][2017]6:discordance :"D":"[DGFIP][2017]6":"00":"REPORT 7XI,7XP,7XN,7UY,7XJ,7XQ,7XV,7UZ,7XK,7XR > 8333 E OU 16667 E ":"N";
+D[DGFIP][2017]8:discordance :"D":"[DGFIP][2017]8":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+D[DGFIP][2017]9:discordance :"D":"[DGFIP][2017]9":"00":"CREDIT PRET ETUDIANT LIGNE 7TD DEJA OBTENU EN N-1":"N";
+D[DGFIP][2017]0:discordance :"D":"[DGFIP][2017]0":"00":"ENFANTS BENEFICIANT DE FRAIS DE GARDE > AU NOMBRE D'ENFANTS < 7 ANS":"N";
+D[DGFIP][2017]1:discordance :"D":"[DGFIP][2017]1":"00":"REGIME MICRO-FONCIER (4BE) AVEC DEFICITS FONCIERS ANTERIEURS (4BD)":"N";
+D[DGFIP][2017]3:discordance :"D":"[DGFIP][2017]3":"00":"SITUATION FORFAITAIRE A DENONCER SELON LES TERMES DE L'ARTICLE 69A2 DU CGI":"N";
+D[DGFIP][2017]4:discordance :"D":"[DGFIP][2017]4":"00":"LE MONTANT 2CG EST > AU TOTAL DES LIGNES 2DC + 2CH + 2TS + 2FA":"N";
+D[DGFIP][2017]5:discordance :"D":"[DGFIP][2017]5":"00":"LE MONTANT 7WP (REPORT 2013) EST > AU MONTANT CALCULE DE N-1":"N";
+D[DGFIP][2017]6:discordance :"D":"[DGFIP][2017]6":"00":"FRAIS D'ACCUEIL ET PERSONNE A CHARGE AVEC CARTE D'INVALIDITE":"N";
+D[DGFIP][2017]7:discordance :"D":"[DGFIP][2017]7":"00":"ACCROISSEMENT DU NOMBRE DE PARTS > 4 PAR RAPPORT A N-1":"N";
+D[DGFIP][2017]8:discordance :"D":"[DGFIP][2017]8":"00":"DEFICIT ANTERIEUR 6FA A 6FL INCOMPATIBLE AVEC REVENU IMPOSABLE EN N-1":"N";
+D[DGFIP][2017]9:discordance :"D":"[DGFIP][2017]9":"00":"NOMBRE LIGNE 7FG > NOMBRE DE RUBRIQUES ADMISES DU o5":"N";
+D[DGFIP][2017]0:discordance :"D":"[DGFIP][2017]0":"00":"DEFICIT AGRICOLE ANTERIEUR DECLARE (5QF A 5QQ) SANS DEFICIT EN N-1":"N";
+D[DGFIP][2017]1:discordance :"D":"[DGFIP][2017]1":"00":"SAISIE DE 7DF,7DB ET 7DG SANS INVALIDITE CADRE A (CODE PF) OU C (CODE G,I,R)":"N";
+D[DGFIP][2017]2:discordance :"D":"[DGFIP][2017]2":"00":"LE MONTANT DE CSG DEDUCTIBLE EST SUPERIEUR AU MONTANT N-1":"N";
+D[DGFIP][2017]4:discordance :"D":"[DGFIP][2017]4":"00":"MONTANT 4TQ 2014 > A 4TP 1999 - 4TQ 1999 A 4TQ 2013":"N";
+D[DGFIP][2017]6:discordance :"D":"[DGFIP][2017]6":"00":"REVENU OU DEFICIT FONCIER DECLARE (4BA A 4BD) SANS MONTANT EN N-1":"N";
+D[DGFIP][2017]7:discordance :"D":"[DGFIP][2017]7":"00":"LE MONTANT 7CL,7CM,7CN,7CC,7CQ,7CR (REPORTS) EST > AU MONTANT CALCULE DE N-1":"N";
+D[DGFIP][2017]8:discordance :"D":"[DGFIP][2017]8":"00":"CREDIT 8WB DEJA OBTENU EN N-1 : 1SEUL CREDIT PAR ENTREPRISE":"N";
+D[DGFIP][2017]9:discordance :"D":"[DGFIP][2017]9":"00":"LE MONTANT 7XS,7XT,7XU,7XW,7XY (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD30:discordance :"D":"D30":"00":"CREDIT 7RZ POUR UN CONTRIBUABLE DOMICILIE EN METROPOLE":"N";
+DD31:discordance :"D":"D31":"00":"8SA + 8SB SUPERIEUR A 1AT + 1BT OU A
diff --git a/sources2014m_2_15/errI.m b/sources2014m_2_15/errI.m
new file mode 100644
index 0000000000000000000000000000000000000000..bc84c3e6ee6c2cf54d207678a5946f7d32d3aaed
--- /dev/null
+++ b/sources2014m_2_15/errI.m
@@ -0,0 +1,349 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 14 Application iliad
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)":"N";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).":"N";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)":"N";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A00108:anomalie :"A":"001":"08":"MONTANT VARIABLE RESTITUEE SUPERIEUR A 8 CARACTERES":"N";
+A00109:anomalie :"A":"001":"09":"LES CODES PRIS EN CHARGE SUR 9YG SONT ERRONES":"N";
+A00110:anomalie :"A":"001":"10":"LES MONTANTS SAISIS RUBRIQUES 0 A 8 EXCEDENT 8 CARACTERES":"N";
+A004:anomalie :"A":"004":"00":"CASE B COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A005:anomalie :"A":"005":"00":"CASE B NON COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION C, D OU V":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES G, N, W, L":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES G, N, U, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, U, S":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S, U":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT 1 OU DU DECLARANT 2 EST INVRAISEMBLABLE":"N";
+A015:anomalie :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A01701:anomalie :"A":"017":"01":"CASE DC = D, UNE SEULE DATE PEUT ETRE SAISIE.":"N";
+A01702:anomalie :"A":"017":"02":"CASE DC=Z, INDIQUEZ M OU O DANS SITUATION ET DATE DECES CJT OU PACSE.":"N";
+A01703:anomalie :"A":"017":"03":"CASE DC = D. DATE MARIAGE OU PACS SAISIE. LA SITUATION DOIT ETRE M OU O.":"N";
+A01704:anomalie :"A":"017":"04":"CASE DC = D. DATE DIVORCE OU RUPTURE SAISIE. LA SITUATION DOIT ETRE D":"N";
+A01705:anomalie :"A":"017":"05":"CASE DC = D. DATE DECES CJT SAISIE. LA SITUATION DE FAMILLE DOIT ETRE V OU M":"N";
+A018:anomalie :"A":"018":"00":"SITUATION NECESSITANT LA SAISIE DE LA CASE DC. ARRETEZ LA TRANSACTION.":"N";
+A019:anomalie :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A021:anomalie :"A":"021":"00":"ATTENTION DATES DE NAISSANCE PAC PRISES EN CHARGE SANS CODE 0CF, 0CH":"N";
+A022:anomalie :"A":"022":"00":"UN ENFANT NE EN 1996 EST A LA FOIS COMPTE A CHARGE ET RATTACHE: A VERIFIER":"N";
+A02301:anomalie :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:anomalie :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:anomalie :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENTE DE 2013 OU 2014":"N";
+A02401:anomalie :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:anomalie :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:anomalie :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:anomalie :"A":"031":"00":"REV. OU CHARGE AU NOM DU DECLARANT 2 POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A041:anomalie :"A":"041":"00":"Code revenu 8VV, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A042:anomalie :"A":"042":"00":"Code revenu 8VW, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A043:anomalie :"A":"043":"00":"Revenus 8VV et 8VW saisis simultanement, supprimer un des deux codes":"N";
+A044:anomalie :"A":"044":"00":"Code revenu 8VX, saisir le code penalite 32":"N";
+A045:anomalie :"A":"045":"00":"Code penalite 32 accepte uniquement avec le code 8VX":"N";
+A046:anomalie :"A":"046":"00":"CODE REVENU 8WW, SAISIR LE CODE PENALITE 30":"N";
+A047:anomalie :"A":"047":"00":"CODE PENALITE 30 ACCEPTE UNIQUEMENT AVEC LE CODE REVENU 8WW":"N";
+A048:anomalie :"A":"048":"00":"CE CODE PENALITE NE S'APPLIQUE QU'AUX BIC, BNC,BA":"N";
+A077:anomalie :"A":"077":"00":"UTILISATION DU CODE 8XK UNIQUEMENT DANS LES DIRECTIONS B31 ET 060":"N";
+A078:anomalie :"A":"078":"00":"CODE 8YK : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A079:anomalie :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:anomalie :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A082:anomalie :"A":"082":"00":"LE CODE REGIME D IMPOSITION EST DIFFERENT DE 1,2 ou 4":"N";
+A083:anomalie :"A":"083":"00":"UTILISATION DU CODE 8ZA UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A085:anomalie :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:anomalie :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:anomalie :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:anomalie :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:anomalie :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:anomalie :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:anomalie :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:anomalie :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:anomalie :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:anomalie :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:anomalie :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:anomalie :"A":"096":"00":"CODES 8YO ET 8YI : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A09801:anomalie :"A":"098":"01":"LIGNE 3SE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09802:anomalie :"A":"098":"02":"LIGNE 3VE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09803:anomalie :"A":"098":"03":"LIGNE 3UV INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A13901:anomalie :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:anomalie :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:anomalie :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:anomalie :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:anomalie :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:anomalie :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:anomalie :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:anomalie :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:anomalie :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:anomalie :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A153:anomalie :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A154:anomalie :"A":"154":"00":"SAISIE IMPOT ACQUITTE A L'ETRANGER SANS SALAIRE CORRESPONDANT":"N";
+A21801:anomalie :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:anomalie :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A220:anomalie :"A":"220":"00":"CREDIT D'IMPOT ( 2AB , 2BG ) EXAGERE : VERIFIEZ VOTRE SAISIE":"N";
+A221:anomalie :"A":"221":"00":"LE MONTANT LIGNE 2LA EST INCOMPATIBLE AVEC MONTANT LIGNE 2LB : COMPENSER":"N";
+A22301:anomalie :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:anomalie :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A224:anomalie :"A":"224":"00":"CREDIT D'IMPOT 2CK > 80 E SANS REVENU CORRESPONDANT":"N";
+A225:anomalie :"A":"225":"00":"LE MONTANT 2FA NE PEUT EXCEDER 2000 E":"N";
+A226:anomalie :"A":"226":"00":"INCOMPATIBILITE ENTRE MONTANT LIGNE 2TR ET MONTANT LIGNE 2FA":"N";
+A320:anomalie :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM, 3VT (PEA)":"N";
+A321:anomalie :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A323:anomalie :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A325:anomalie :"A":"325":"00":"PRESENCE OBLIGATOIRE DE 3WM EN PRESENCE DE 3WA":"N";
+A326:anomalie :"A":"326":"00":"PRESENCE OBLIGATOIRE DE 3WD EN PRESENCE DE 3WB":"N";
+A32701:anomalie :"A":"327":"01":"LE CODE RVG DOIT ETRE ASSOCIE A NVG ET INVERSEMENT":"N";
+A32702:anomalie :"A":"327":"02":"LE CODE NVG NE PEUT PRENDRE QUE 4 COMME VALEUR":"N";
+A32801:anomalie :"A":"328":"01":"LE CODE RWA DOIT ETRE ASSOCIE A NWA ET INVERSEMENT":"N";
+A32802:anomalie :"A":"328":"02":"LE CODE NWA NE PEUT PRENDRE QUE 4 COMME VALEUR":"N";
+A32901:anomalie :"A":"329":"01":"LE CODE RWB DOIT ETRE ASSOCIE A NWB ET INVERSEMENT":"N";
+A32902:anomalie :"A":"329":"02":"LE CODE NWB NE PEUT PRENDRE QUE 4 COMME VALEUR":"N";
+A420:anomalie :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:anomalie :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:anomalie :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:anomalie :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:anomalie :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:anomalie :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:anomalie :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:anomalie :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:anomalie :"A":"538":"00":"REVENUS A IMPOSER AUX PRELEVEMENTS SOCIAUX SANS REVENU CORRESPONDANT":"N";
+A542:anomalie :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:anomalie :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:anomalie :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (DECLAR. 1, DECLAR. 2) NE PEUT DEPASSER 29 626 E":"N";
+A602:anomalie :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A603:anomalie :"A":"603":"00":"LES LIGNES 6PS, 6PT, 6PU SONT REMPLIES SANS MISE A JOUR DU PLAFOND":"N";
+A604:anomalie :"A":"604":"00":"MUTUALISATION DEMANDEE (6QR) SANS PLAFOND CORRESPONDANT POUR LES DEUX DECLARANTS":"N";
+A60501:anomalie :"A":"605":"01":"LE MONTANT 6 QS NE PEUT ETRE INFERIEUR AU MONTANT DE 1 SM":"N";
+A60502:anomalie :"A":"605":"02":"LE MONTANT 6 QT NE PEUT ETRE INFERIEUR AU MONTANT DE 1 DN":"N";
+A700:anomalie :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A702:anomalie :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR OU 2FA":"N";
+A703:anomalie :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC DECLARANTS NES AVANT 1979":"N";
+A704:anomalie :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A705:anomalie :"A":"705":"00":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A706:anomalie :"A":"706":"00":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70701:anomalie :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:anomalie :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:anomalie :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A70901:anomalie :"A":"709":"01":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XI A 7UZ":"N";
+A70902:anomalie :"A":"709":"02":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XK OU 7XR":"N";
+A710:anomalie :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:anomalie :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:anomalie :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:anomalie :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:anomalie :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:anomalie :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:anomalie :"A":"714":"00":"REPORT 2013 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2014 (7WO ET 7WN)":"N";
+A715:anomalie :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:anomalie :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:anomalie :"A":"717":"01":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7FA A 7FD":"N";
+A71702:anomalie :"A":"717":"02":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7JA A 7JR":"N";
+A71703:anomalie :"A":"717":"03":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71704:anomalie :"A":"717":"04":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7HJ, 7HK, 7HN ET 7HO":"N";
+A71705:anomalie :"A":"717":"05":"INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:anomalie :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:anomalie :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A72001:anomalie :"A":"720":"01":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE M":"N";
+A72002:anomalie :"A":"720":"02":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE C":"N";
+A72003:anomalie :"A":"720":"03":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR C OU M AU LIEU DE R":"N";
+A721:anomalie :"A":"721":"00":"SENS P IMPOSSIBLE POUR UN CODE ABSENT DE LA 2042":"N";
+A72201:anomalie :"A":"722":"01":"LE MONTANT DU RAPPEL EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72202:anomalie :"A":"722":"02":"LE MONTANT DE LA MINO EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72203:anomalie :"A":"722":"03":"LE MONTANT DE LA CORRECTION EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72204:anomalie :"A":"722":"04":"LE MONTANT DE LA RECTIF EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72206:anomalie :"A":"722":"06":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72207:discordance :"D":"722":"07":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72301:anomalie :"A":"723":"01":"LE MONTANT DU C02 AVEC 2042_RECT EST SUPERIEUR A CELUI DU R02 AVEC INDICATEUR":"N";
+A72302:anomalie :"A":"723":"02":"ANNULATION OU MINORATION DE R02 ET 2042_RECT S'EFFECTUE AVEC C02 et 2042_RECT":"N";
+A724:anomalie :"A":"724":"00":"Majorations 80% apres 2 MED supprimees a compter du 01/01/2006":"N";
+A725:anomalie :"A":"725":"00":"PROCEDURE DE REGULARISATION INTERDITE EN CAS DE NON DEPOT OU DEPOT TARDIF":"N";
+A73001:anomalie :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TF":"N";
+A73002:anomalie :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TG":"N";
+A73003:anomalie :"A":"730":"03":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UW ET 7TH":"N";
+A73004:anomalie :"A":"730":"04":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UX ET 7TI":"N";
+A731:anomalie :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5":"N";
+A732:anomalie :"A":"732":"00":"POUR DEPENSES AVANT 1/9 : ABSENCE DE RFR 2012, 2013 ET DE BOUQUET DE TRAVAUX":"N";
+A734:anomalie :"A":"734":"00":"LES CASES 7WE ET 7WG NE PEUVENT PAS ETRE SIMULTANEMENT COCHEES":"N";
+A735:anomalie :"A":"735":"00":"CASES 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7SD A 7RZ":"N";
+A736:anomalie :"A":"736":"00":"PLUS DE DEUX LIGNES SAISIES PARMI 7EK, 7EL, 7QA, 7QB, 7QC, 7QD":"N";
+A737:anomalie :"A":"737":"00":"CIDD : CASE 7RX COCHEE EN L'ABSENCE DE BOUQUET ET SANS SAISIE DU CODE 7WX":"N";
+A739:anomalie :"A":"739":"00":"CASE HQA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:anomalie :"A":"740":"01":"LE TOTAL LIGNES HAE + HAJ NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74002:anomalie :"A":"740":"02":"LE TOTAL LIGNES HAO + HAT + HAY + HBG NE PEUT ETRE SUPERIEUR A 229 500 E":"N";
+A74003:anomalie :"A":"740":"03":"LE TOTAL HAE + HAJ + HAO + HAT + HAY + HBG NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:anomalie :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A743:anomalie :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:anomalie :"A":"744":"00":"LE MONTANT PORTE LIGNE 7WR NE PEUT DEPASSER 60 000 E":"N";
+A74601:anomalie :"A":"746":"01":"LE MONTANT LIGNE HAE NE PEUT EXCEDER LE MONTANT LIGNE HAD":"N";
+A74602:anomalie :"A":"746":"02":"LE MONTANT LIGNE HAJ NE PEUT EXCEDER LE MONTANT LIGNE HAI":"N";
+A74603:anomalie :"A":"746":"03":"LE MONTANT LIGNE HAO NE PEUT EXCEDER LE MONTANT LIGNE HAN":"N";
+A74604:anomalie :"A":"746":"04":"LE MONTANT LIGNE HAT NE PEUT EXCEDER LE MONTANT LIGNE HAS":"N";
+A74605:anomalie :"A":"746":"05":"LE MONTANT LIGNE HAY NE PEUT EXCEDER LE MONTANT LIGNE HAX":"N";
+A74606:anomalie :"A":"746":"06":"LE MONTANT LIGNE HBG NE PEUT EXCEDER LE MONTANT LIGNE HBF":"N";
+A747:anomalie :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A748:anomalie :"A":"748":"00":"CASE 7WK COCHEE SANS MONTANT LIGNE 7SD A 7RZ":"N";
+A74901:anomalie :"A":"749":"01":"LE MONTANT 7WX EST SUPERIEUR AUX DEPENSES DECLAREES (IMMEUBLE COLLECTIF)":"N";
+A74902:anomalie :"A":"749":"02":"LE MONTANT 7WX EST SUPERIEUR AUX DEPENSES DECLAREES (MAISON INDIVIDUELLE)":"N";
+A75101:anomalie :"A":"751":"01":"CODE 7WT AVEC CODE 7SJ INCOMPATIBLES":"N";
+A75102:anomalie :"A":"751":"02":"CODE 7WU AVEC CODE 7RJ INCOMPATIBLES":"N";
+A75103:anomalie :"A":"751":"03":"CODE 7WC AVEC CODE 7SG INCOMPATIBLES":"N";
+A75104:anomalie :"A":"751":"04":"CODE 7WB AVEC CODE 7RG INCOMPATIBLES":"N";
+A75105:anomalie :"A":"751":"05":"CODE 7VG AVEC CODE 7SH INCOMPATIBLES":"N";
+A75106:anomalie :"A":"751":"06":"CODE 7VH AVEC CODE 7RH INCOMPATIBLES":"N";
+A760:anomalie :"A":"760":"00":"LE SENS DU RAPPEL SAISI N'APPARTIENT PAS AUX VALEURS POSSIBLES":"N";
+A770:anomalie :"A":"770":"00":"SI LE CODE RAPPEL EST P, LE CODE MAJO DOIT ETRE 07,08,10,11,17,18 ou 31":"N";
+A780:anomalie :"A":"780":"00":"MOIS OU ANNEE DE LA DATE DE NOTIFICATION INVRAISEMBLABLE":"N";
+A800:anomalie :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:anomalie :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:anomalie :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF 8ZR/8ZN ET PRORATA METRO-DOM":"N";
+A80203:anomalie :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF AUTOMATIQUE ET PRORATA METRO-DOM":"N";
+A803:anomalie :"A":"803":"00":"CODES DAJ, DBJ, EAJ, EBJ PRIS EN CHARGE DANS DIRECTION AUTRE QUE METROPOLE":"N";
+A804:anomalie :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:anomalie :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A806:anomalie :"A":"806":"00":"PRESENCE DE PRORATA METRO/DOM, VALEUR DE NAJ ET NBJ DOIT ETRE EGALE A 4":"N";
+A807:anomalie :"A":"807":"00":"SAISIE CODE 8XT SANS LIGNE 1AT OU 1BT":"N";
+A821:anomalie :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A850:anomalie :"A":"850":"00":"PRESENCE D UN CODE D IMPOSITION PROVISOIRE - TRAITEMENT CORRECTIF IMPOSSIBLE":"N";
+A851:anomalie :"A":"851":"00":"SAISIE DU CODE 8ZJ INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A852:anomalie :"A":"852":"00":"SAISIE DU CODE 8ZL INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A853:anomalie :"A":"853":"00":"SAISIE DU CODE 8ZS INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A854:anomalie :"A":"854":"00":"SAISIE DU CODE 8YV INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A858:anomalie :"A":"858":"00":"LES LIGNES 8TL, 8UW SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A859:anomalie :"A":"859":"00":"LA LIGNE 8WC EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:anomalie :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A863:anomalie :"A":"863":"00":"LE CODE 8UX EST SAISI SANS REVENU AUTO-ENTREPRENEUR":"N";
+A864:anomalie :"A":"864":"00":"CSG A 7,5 % PROVISOIRE SUR GAINS LIGNE 1TT, 1UT > CSG DUE":"N";
+A865:anomalie :"A":"865":"00":"CONTRIBUTION SALARIALE PROVISOIRE 10 % (8YT) > A CONTRIBUTION DUE":"N";
+A86601:anomalie :"A":"866":"01":"CSG A 7,5% PROVISOIRE (8YD) >  CSG DUE":"N";
+A86602:anomalie :"A":"866":"02":"CSG A 7,5% PROVISOIRE (8YE) > CSG DUE":"N";
+A86603:anomalie :"A":"866":"03":"CSG A 6,6% PROVISOIRE (8YF) > CSG DUE":"N";
+A86604:anomalie :"A":"866":"04":"CSG A 6,2% PROVISOIRE (8YG) > CSG DUE":"N";
+A86605:anomalie :"A":"866":"05":"CSG A 3,8% PROVISOIRE (8YH) > CSG DUE":"N";
+A86606:anomalie :"A":"866":"06":"CSG A 6,6% PROVISOIRE (8YN) > CSG DUE":"N";
+A86607:anomalie :"A":"866":"07":"CSG A 3,8% PROVISOIRE (8YP) > CSG DUE":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A870:anomalie :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:anomalie :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:anomalie :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A87801:anomalie :"A":"878":"01":"SAISIE CODE 8XA SANS REVENU LIGNE 8TQ":"N";
+A87802:anomalie :"A":"878":"02":"SAISIE CODE 8XB SANS REVENU LIGNE 8TR":"N";
+A87803:anomalie :"A":"878":"03":"SAISIE CODE 8XC SANS REVENU LIGNE 8TV":"N";
+A87804:anomalie :"A":"878":"04":"SAISIE CODE 8XD SANS REVENU LIGNE 8TW":"N";
+A87805:anomalie :"A":"878":"05":"SAISIE CODE 8XE SANS REVENU LIGNE 8TX":"N";
+A87806:anomalie :"A":"878":"06":"SAISIE CODE 8XI SANS REVENU LIGNE 8SA":"N";
+A87807:anomalie :"A":"878":"07":"SAISIE CODE 8XJ SANS REVENU LIGNE 8SB":"N";
+A879:anomalie :"A":"879":"00":"LA LIGNE 8TG, 8TS EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:anomalie :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:anomalie :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A88201:anomalie :"A":"882":"01":"LA LIGNE 8TI EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN OU INVERSEMENT":"N";
+A88202:anomalie :"A":"882":"02":"SAISIE DU CODE 8YC, 8YJ SANS PRISE EN CHARGE DE TAUX EFFECTIF":"N";
+A883:anomalie :"A":"883":"00":"LIGNE 8TK REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP, 8XQ, 8XT, 8XF, 8XG, 8XH, 8XV":"N";
+A884:anomalie :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A88501:anomalie :"A":"885":"01":"PRISE EN CHARGE DU CODE 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A88502:anomalie :"A":"885":"02":"PRISE EN CHARGE DU CODE 8XV SANS REVENU LIGNE 2FA CORRESPONDANT":"N";
+A88503:anomalie :"A":"885":"03":"PRISE EN CHARGE DU CODE 8XP SANS GAIN CORRESPONDANT":"N";
+A88504:anomalie :"A":"885":"04":"PRISE EN CHARGE DU CODE 8XF SANS GAIN CORRESPONDANT":"N";
+A88505:anomalie :"A":"885":"05":"PRISE EN CHARGE DU CODE 8XG SANS GAIN CORRESPONDANT":"N";
+A88506:anomalie :"A":"885":"06":"PRISE EN CHARGE DU CODE 8XH SANS GAIN CORRESPONDANT":"N";
+A886:anomalie :"A":"886":"00":"SAISIE DE 8TU SANS PRISE EN CHARGE DE 8XR,8XP,8XQ,8XV,8XF,8XG,8XH OU 8PA":"N";
+A887:anomalie :"A":"887":"00":"REVENU NET CODE 8XR SUPERIEUR AU MONTANT LIGNE 8TK":"N";
+A888:anomalie :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A889:anomalie :"A":"889":"00":"SAISIE CODE 8 FV SANS PRISE EN CHARGE DU CODE 8 ZK":"N";
+A890:anomalie :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:anomalie :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:anomalie :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:anomalie :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:anomalie :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:anomalie :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:anomalie :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:anomalie :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A950:anomalie :"A":"950":"00":"NATIMP OU PPENATREST DIFFERENT DES VALEURS ADMISES":"N";
+A951:anomalie :"A":"951":"00":"CODINI DIFFERENT DES VALEURS ADMISES":"N";
+A954:anomalie :"A":"954":"00":"NATIMPIR DIFFERENT DES VALEURS ADMISES":"N";
+A955:anomalie :"A":"955":"00":"NATCRP DIFFERENT DES VALEURS ADMISES":"N";
+A960:anomalie :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:anomalie :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:anomalie :"A":"961":"02":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96103:anomalie :"A":"961":"03":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17, 18 ET 34)":"N";
+A96201:anomalie :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:anomalie :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:anomalie :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:anomalie :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:anomalie :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:anomalie :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2015, 2016 OU 2017":"N";
+A96303:anomalie :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:anomalie :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2015, 2016 OU 2017":"N";
+A96401:anomalie :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:anomalie :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:anomalie :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2014":"N";
+A96501:anomalie :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:anomalie :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:anomalie :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2014":"N";
+A966:anomalie :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A967:anomalie :"A":"967":"00":"PRESENCE LIGNE 9HI (ISF) DANS LA PERIODE AVANT DECES DU DECLARANT2":"N";
+A96801:anomalie :"A":"968":"01":"CODE 9YT AVEC VALEUR A 0 ET 9YU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96802:anomalie :"A":"968":"02":"CODE 9YU AVEC VALEUR A 0 ET 9YT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96803:anomalie :"A":"968":"03":"CODE 9XT AVEC VALEUR A 0 ET 9XU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96804:anomalie :"A":"968":"04":"CODE 9XU AVEC VALEUR A 0 ET 9XT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96901:anomalie :"A":"969":"01":"R99 SUR LE CODE 9YT ET ABSENCE DE R99 SUR LE CODE 9YU DANS LE MEME EVT":"N";
+A96902:anomalie :"A":"969":"02":"R99 SUR LE CODE 9YU ET ABSENCE DE R99 SUR LE CODE 9YT DANS LE MEME EVT":"N";
+A96903:anomalie :"A":"969":"03":"R99 SUR LE CODE 9XT ET ABSENCE DE R99 SUR LE CODE 9XU DANS LE MEME EVT":"N";
+A96904:anomalie :"A":"969":"04":"R99 SUR LE CODE 9XU ET ABSENCE DE R99 SUR LE CODE 9XT DANS LE MEME EVT":"N";
+A970:anomalie :"A":"970":"00":"PRESENCE D'UN TAUX DE PENALITE POUR UNE MINORATION":"N";
+A971:anomalie :"A":"971":"00":"ABSENCE D'UN TAUX DE PENALITE POUR UN RAPPEL":"N";
+A98001:anomalie :"A":"980":"01":"BASE ISF 9HI <= 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:anomalie :"A":"980":"02":"BASE ISF 9HI >= 2 570 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A98003:anomalie :"A":"980":"03":"LA BASE ISF NE PEUT ETRE INFERIEURE OU EGALE A 1 300 000":"O";
+A98004:anomalie :"A":"980":"04":"LA BASE ISF, INFERIEURE OU EGALE A 1 300 000 E, EST DIFFERENTE DE 0 E":"O";
+A98005:anomalie :"A":"980":"05":"LA BASE ISF NE PEUT ETRE SUPERIEURE OU EGALE A 2 570 000 E":"O";
+A981:anomalie :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:anomalie :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:anomalie :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:anomalie :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:anomalie :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:anomalie :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:anomalie :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:anomalie :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+A990:anomalie :"A":"990":"00":" CODE 8VV INCOMPATIBLE AVEC REGIME VALEUR LOCATIVE":"N";
+A991:anomalie :"A":"991":"00":"CONTENTIEUX AVEC HAUSSE DES PS. REALISER UN TRAITEMENT DIFFERENCIE POUR CES PS.":"N";
+A992:anomalie :"A":"992":"00":"Art. 1731 bis : Calcul automatique des penalites impossible. traitement manuel.":"N";
+A99301:anomalie :"A":"993":"01":"ANNULATION 2042: RAMENER LES REVENUS A 0.":"N";
+A99302:anomalie :"A":"993":"02":"SUPPRESSION du code 9YA impossible, veuillez ressaisir une declaration":"N";
+AS0101:anomalie :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C":"N";
+AS0102:anomalie :"A":"S01":"02":"INCOMPATIBIL
diff --git a/sources2014m_2_15/errO.m b/sources2014m_2_15/errO.m
new file mode 100644
index 0000000000000000000000000000000000000000..65b61f6a00e7502283a0924613a7856961d96862
--- /dev/null
+++ b/sources2014m_2_15/errO.m
@@ -0,0 +1,330 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 14 Application oceans
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)":"N";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).":"N";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)":"N";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A00108:anomalie :"A":"001":"08":"MONTANT VARIABLE RESTITUEE SUPERIEUR A 8 CARACTERES":"N";
+A00109:anomalie :"A":"001":"09":"LES CODES PRIS EN CHARGE SUR 9YG SONT ERRONES":"N";
+A00110:anomalie :"A":"001":"10":"LES MONTANTS SAISIS RUBRIQUES 0 A 8 EXCEDENT 8 CARACTERES":"N";
+A004:anomalie :"A":"004":"00":"CASE B COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A005:anomalie :"A":"005":"00":"CASE B NON COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION C, D OU V":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES G, N, W, L":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES G, N, U, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, U, S":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S, U":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT 1 OU DU DECLARANT 2 EST INVRAISEMBLABLE":"N";
+A015:discordance :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A019:anomalie :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A02301:discordance :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:discordance :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:discordance :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENTE DE 2013 OU 2014":"N";
+A02401:discordance :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:discordance :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:discordance :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:discordance :"A":"031":"00":"REV. OU CHARGE AU NOM DU DECLARANT 2 POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A041:anomalie :"A":"041":"00":"Code revenu 8VV, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A042:anomalie :"A":"042":"00":"Code revenu 8VW, saisir code penalite 99, 07, 08, 10, 11, 17 ou 18 ":"N";
+A043:anomalie :"A":"043":"00":"Revenus 8VV et 8VW saisis simultanement, supprimer un des deux codes":"N";
+A044:anomalie :"A":"044":"00":"Code revenu 8VX, saisir le code penalite 32":"N";
+A045:anomalie :"A":"045":"00":"Code penalite 32 accepte uniquement avec le code 8VX":"N";
+A046:discordance :"A":"046":"00":"CODE REVENU 8WW, SAISIR LE CODE PENALITE 30":"N";
+A047:discordance :"A":"047":"00":"CODE PENALITE 30 ACCEPTE UNIQUEMENT AVEC LE CODE REVENU 8WW":"N";
+A048:discordance :"A":"048":"00":"CE CODE PENALITE NE S'APPLIQUE QU'AUX BIC, BNC,BA":"N";
+A077:discordance :"A":"077":"00":"UTILISATION DU CODE 8XK UNIQUEMENT DANS LES DIRECTIONS B31 ET 060":"N";
+A078:anomalie :"A":"078":"00":"CODE 8YK : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A079:discordance :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:discordance :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A085:discordance :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:discordance :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:discordance :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:discordance :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:discordance :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:discordance :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:discordance :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:discordance :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:discordance :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:discordance :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:discordance :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:discordance :"A":"096":"00":"CODES 8YO ET 8YI : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A09801:anomalie :"A":"098":"01":"LIGNE 3SE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09802:anomalie :"A":"098":"02":"LIGNE 3VE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09803:anomalie :"A":"098":"03":"LIGNE 3UV INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A13901:discordance :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:discordance :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:discordance :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:discordance :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:discordance :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:discordance :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:discordance :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:discordance :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:discordance :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:discordance :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A153:discordance :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A154:discordance :"A":"154":"00":"SAISIE IMPOT ACQUITTE A L'ETRANGER SANS SALAIRE CORRESPONDANT":"N";
+A21801:discordance :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:discordance :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A22301:discordance :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:discordance :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A224:discordance :"A":"224":"00":"CREDIT D'IMPOT 2CK > 80 E SANS REVENU CORRESPONDANT":"N";
+A225:discordance :"A":"225":"00":"LE MONTANT 2FA NE PEUT EXCEDER 2000 E":"N";
+A226:discordance :"A":"226":"00":"INCOMPATIBILITE ENTRE MONTANT LIGNE 2TR ET MONTANT LIGNE 2FA":"N";
+A320:discordance :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM, 3VT (PEA)":"N";
+A321:discordance :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A323:discordance :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A325:discordance :"A":"325":"00":"PRESENCE OBLIGATOIRE DE 3WM EN PRESENCE DE 3WA":"N";
+A326:discordance :"A":"326":"00":"PRESENCE OBLIGATOIRE DE 3WD EN PRESENCE DE 3WB":"N";
+A32701:discordance :"A":"327":"01":"LE CODE RVG DOIT ETRE ASSOCIE A NVG ET INVERSEMENT":"N";
+A32702:discordance :"A":"327":"02":"LE CODE NVG NE PEUT PRENDRE QUE 4 COMME VALEUR":"N";
+A32801:discordance :"A":"328":"01":"LE CODE RWA DOIT ETRE ASSOCIE A NWA ET INVERSEMENT":"N";
+A32802:discordance :"A":"328":"02":"LE CODE NWA NE PEUT PRENDRE QUE 4 COMME VALEUR":"N";
+A32901:discordance :"A":"329":"01":"LE CODE RWB DOIT ETRE ASSOCIE A NWB ET INVERSEMENT":"N";
+A32902:discordance :"A":"329":"02":"LE CODE NWB NE PEUT PRENDRE QUE 4 COMME VALEUR":"N";
+A420:discordance :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:discordance :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:discordance :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:discordance :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:discordance :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:discordance :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:discordance :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:discordance :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:discordance :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:discordance :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:discordance :"A":"538":"00":"REVENUS A IMPOSER AUX PRELEVEMENTS SOCIAUX SANS REVENU CORRESPONDANT":"N";
+A542:discordance :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:discordance :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:discordance :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (DECLAR. 1, DECLAR. 2) NE PEUT DEPASSER 29 626 E":"N";
+A602:discordance :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A603:discordance :"A":"603":"00":"LES LIGNES 6PS, 6PT, 6PU SONT REMPLIES SANS MISE A JOUR DU PLAFOND":"N";
+A700:discordance :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A702:discordance :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR OU 2FA":"N";
+A703:discordance :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC DECLARANTS NES AVANT 1979":"N";
+A704:discordance :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A705:discordance :"A":"705":"00":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A706:discordance :"A":"706":"00":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70701:discordance :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:discordance :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:discordance :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A70901:discordance :"A":"709":"01":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XI A 7UZ":"N";
+A70902:discordance :"A":"709":"02":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XK OU 7XR":"N";
+A710:discordance :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:discordance :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:discordance :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:discordance :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:discordance :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:discordance :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:discordance :"A":"714":"00":"REPORT 2013 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2014 (7WO ET 7WN)":"N";
+A715:discordance :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:discordance :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:discordance :"A":"717":"01":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7FA A 7FD":"N";
+A71702:discordance :"A":"717":"02":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7JA A 7JR":"N";
+A71703:discordance :"A":"717":"03":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71704:discordance :"A":"717":"04":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7HJ, 7HK, 7HN ET 7HO":"N";
+A71705:discordance :"A":"717":"05":"INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:discordance :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:discordance :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A72001:anomalie :"A":"720":"01":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE M":"N";
+A72002:anomalie :"A":"720":"02":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR R AU LIEU DE C":"N";
+A72003:anomalie :"A":"720":"03":"SENS INCOMPATIBLE AVEC LA SITUATION INITIALE, SAISIR C OU M AU LIEU DE R":"N";
+A721:anomalie :"A":"721":"00":"SENS P IMPOSSIBLE POUR UN CODE ABSENT DE LA 2042":"N";
+A72201:anomalie :"A":"722":"01":"LE MONTANT DU RAPPEL EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72202:anomalie :"A":"722":"02":"LE MONTANT DE LA MINO EST > A LA VALEUR DU CODE CELLULE AVANT CONTROLE":"N";
+A72203:anomalie :"A":"722":"03":"LE MONTANT DE LA CORRECTION EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72204:anomalie :"A":"722":"04":"LE MONTANT DE LA RECTIF EST > A LA VALEUR DU CODE CELLULE DE LA 2042":"N";
+A72206:anomalie :"A":"722":"06":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72207:discordance :"D":"722":"07":"LE MONTANT DE LA CORRECTION EST > AUX RAPPELS EFFECTUES SUR CE CODE":"N";
+A72301:anomalie :"A":"723":"01":"LE MONTANT DU C02 AVEC 2042_RECT EST SUPERIEUR A CELUI DU R02 AVEC INDICATEUR":"N";
+A72302:anomalie :"A":"723":"02":"ANNULATION OU MINORATION DE R02 ET 2042_RECT S'EFFECTUE AVEC C02 et 2042_RECT":"N";
+A724:anomalie :"A":"724":"00":"Majorations 80% apres 2 MED supprimees a compter du 01/01/2006":"N";
+A725:anomalie :"A":"725":"00":"PROCEDURE DE REGULARISATION INTERDITE EN CAS DE NON DEPOT OU DEPOT TARDIF":"N";
+A73001:discordance :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TF":"N";
+A73002:discordance :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TG":"N";
+A73003:discordance :"A":"730":"03":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UW ET 7TH":"N";
+A73004:discordance :"A":"730":"04":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UX ET 7TI":"N";
+A731:discordance :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5":"N";
+A732:discordance :"A":"732":"00":"POUR DEPENSES AVANT 1/9 : ABSENCE DE RFR 2012, 2013 ET DE BOUQUET DE TRAVAUX":"N";
+A734:discordance :"A":"734":"00":"LES CASES 7WE ET 7WG NE PEUVENT PAS ETRE SIMULTANEMENT COCHEES":"N";
+A735:discordance :"A":"735":"00":"CASES 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7SD A 7RZ":"N";
+A736:discordance :"A":"736":"00":"PLUS DE DEUX LIGNES SAISIES PARMI 7EK, 7EL, 7QA, 7QB, 7QC, 7QD":"N";
+A737:discordance :"A":"737":"00":"CIDD : CASE 7RX COCHEE EN L'ABSENCE DE BOUQUET ET SANS SAISIE DU CODE 7WX":"N";
+A739:discordance :"A":"739":"00":"CASE HQA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:discordance :"A":"740":"01":"LE TOTAL LIGNES HAE + HAJ NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74002:discordance :"A":"740":"02":"LE TOTAL LIGNES HAO + HAT + HAY + HBG NE PEUT ETRE SUPERIEUR A 229 500 E":"N";
+A74003:discordance :"A":"740":"03":"LE TOTAL HAE + HAJ + HAO + HAT + HAY + HBG NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:discordance :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A743:discordance :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:discordance :"A":"744":"00":"LE MONTANT PORTE LIGNE 7WR NE PEUT DEPASSER 60 000 E":"N";
+A74601:discordance :"A":"746":"01":"LE MONTANT LIGNE HAE NE PEUT EXCEDER LE MONTANT LIGNE HAD":"N";
+A74602:discordance :"A":"746":"02":"LE MONTANT LIGNE HAJ NE PEUT EXCEDER LE MONTANT LIGNE HAI":"N";
+A74603:discordance :"A":"746":"03":"LE MONTANT LIGNE HAO NE PEUT EXCEDER LE MONTANT LIGNE HAN":"N";
+A74604:discordance :"A":"746":"04":"LE MONTANT LIGNE HAT NE PEUT EXCEDER LE MONTANT LIGNE HAS":"N";
+A74605:discordance :"A":"746":"05":"LE MONTANT LIGNE HAY NE PEUT EXCEDER LE MONTANT LIGNE HAX":"N";
+A74606:discordance :"A":"746":"06":"LE MONTANT LIGNE HBG NE PEUT EXCEDER LE MONTANT LIGNE HBF":"N";
+A747:discordance :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A748:discordance :"A":"748":"00":"CASE 7WK COCHEE SANS MONTANT LIGNE 7SD A 7RZ":"N";
+A74901:discordance :"A":"749":"01":"LE MONTANT 7WX EST SUPERIEUR AUX DEPENSES DECLAREES (IMMEUBLE COLLECTIF)":"N";
+A74902:discordance :"A":"749":"02":"LE MONTANT 7WX EST SUPERIEUR AUX DEPENSES DECLAREES (MAISON INDIVIDUELLE)":"N";
+A75101:discordance :"A":"751":"01":"CODE 7WT AVEC CODE 7SJ INCOMPATIBLES":"N";
+A75102:discordance :"A":"751":"02":"CODE 7WU AVEC CODE 7RJ INCOMPATIBLES":"N";
+A75103:discordance :"A":"751":"03":"CODE 7WC AVEC CODE 7SG INCOMPATIBLES":"N";
+A75104:discordance :"A":"751":"04":"CODE 7WB AVEC CODE 7RG INCOMPATIBLES":"N";
+A75105:discordance :"A":"751":"05":"CODE 7VG AVEC CODE 7SH INCOMPATIBLES":"N";
+A75106:discordance :"A":"751":"06":"CODE 7VH AVEC CODE 7RH INCOMPATIBLES":"N";
+A760:discordance :"A":"760":"00":"LE SENS DU RAPPEL SAISI N'APPARTIENT PAS AUX VALEURS POSSIBLES":"N";
+A770:discordance :"A":"770":"00":"SI LE CODE RAPPEL EST P, LE CODE MAJO DOIT ETRE 07,08,10,11,17,18 ou 31":"N";
+A780:discordance :"A":"780":"00":"MOIS OU ANNEE DE LA DATE DE NOTIFICATION INVRAISEMBLABLE":"N";
+A800:discordance :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:discordance :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:discordance :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF 8ZR/8ZN ET PRORATA METRO-DOM":"N";
+A80203:discordance :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF AUTOMATIQUE ET PRORATA METRO-DOM":"N";
+A803:discordance :"A":"803":"00":"CODES DAJ, DBJ, EAJ, EBJ PRIS EN CHARGE DANS DIRECTION AUTRE QUE METROPOLE":"N";
+A804:discordance :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:discordance :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A806:discordance :"A":"806":"00":"PRESENCE DE PRORATA METRO/DOM, VALEUR DE NAJ ET NBJ DOIT ETRE EGALE A 4":"N";
+A807:discordance :"A":"807":"00":"SAISIE CODE 8XT SANS LIGNE 1AT OU 1BT":"N";
+A821:discordance :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A854:anomalie :"A":"854":"00":"SAISIE DU CODE 8YV INCOMPATIBLE AVEC UN TRAITEMENT CORRECTIF":"N";
+A858:discordance :"A":"858":"00":"LES LIGNES 8TL, 8UW SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A859:discordance :"A":"859":"00":"LA LIGNE 8WC EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:discordance :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A863:anomalie :"A":"863":"00":"LE CODE 8UX EST SAISI SANS REVENU AUTO-ENTREPRENEUR":"N";
+A864:discordance :"A":"864":"00":"CSG A 7,5 % PROVISOIRE SUR GAINS LIGNE 1TT, 1UT > CSG DUE":"N";
+A865:discordance :"A":"865":"00":"CONTRIBUTION SALARIALE PROVISOIRE 10 % (8YT) > A CONTRIBUTION DUE":"N";
+A86601:discordance :"A":"866":"01":"CSG A 7,5% PROVISOIRE (8YD) >  CSG DUE":"N";
+A86602:discordance :"A":"866":"02":"CSG A 7,5% PROVISOIRE (8YE) > CSG DUE":"N";
+A86603:discordance :"A":"866":"03":"CSG A 6,6% PROVISOIRE (8YF) > CSG DUE":"N";
+A86604:discordance :"A":"866":"04":"CSG A 6,2% PROVISOIRE (8YG) > CSG DUE":"N";
+A86605:discordance :"A":"866":"05":"CSG A 3,8% PROVISOIRE (8YH) > CSG DUE":"N";
+A86606:discordance :"A":"866":"06":"CSG A 6,6% PROVISOIRE (8YN) > CSG DUE":"N";
+A86607:discordance :"A":"866":"07":"CSG A 3,8% PROVISOIRE (8YP) > CSG DUE":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A870:discordance :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:discordance :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:discordance :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A87801:discordance :"A":"878":"01":"SAISIE CODE 8XA SANS REVENU LIGNE 8TQ":"N";
+A87802:discordance :"A":"878":"02":"SAISIE CODE 8XB SANS REVENU LIGNE 8TR":"N";
+A87803:discordance :"A":"878":"03":"SAISIE CODE 8XC SANS REVENU LIGNE 8TV":"N";
+A87804:discordance :"A":"878":"04":"SAISIE CODE 8XD SANS REVENU LIGNE 8TW":"N";
+A87805:discordance :"A":"878":"05":"SAISIE CODE 8XE SANS REVENU LIGNE 8TX":"N";
+A87806:discordance :"A":"878":"06":"SAISIE CODE 8XI SANS REVENU LIGNE 8SA":"N";
+A87807:discordance :"A":"878":"07":"SAISIE CODE 8XJ SANS REVENU LIGNE 8SB":"N";
+A879:discordance :"A":"879":"00":"LA LIGNE 8TG, 8TS EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:discordance :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:discordance :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A88201:discordance :"A":"882":"01":"LA LIGNE 8TI EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN OU INVERSEMENT":"N";
+A88202:discordance :"A":"882":"02":"SAISIE DU CODE 8YC, 8YJ SANS PRISE EN CHARGE DE TAUX EFFECTIF":"N";
+A883:discordance :"A":"883":"00":"LIGNE 8TK REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP, 8XQ, 8XT, 8XF, 8XG, 8XH, 8XV":"N";
+A884:discordance :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A88501:discordance :"A":"885":"01":"PRISE EN CHARGE DU CODE 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A88502:discordance :"A":"885":"02":"PRISE EN CHARGE DU CODE 8XV SANS REVENU LIGNE 2FA CORRESPONDANT":"N";
+A88503:discordance :"A":"885":"03":"PRISE EN CHARGE DU CODE 8XP SANS GAIN CORRESPONDANT":"N";
+A88504:discordance :"A":"885":"04":"PRISE EN CHARGE DU CODE 8XF SANS GAIN CORRESPONDANT":"N";
+A88505:discordance :"A":"885":"05":"PRISE EN CHARGE DU CODE 8XG SANS GAIN CORRESPONDANT":"N";
+A88506:discordance :"A":"885":"06":"PRISE EN CHARGE DU CODE 8XH SANS GAIN CORRESPONDANT":"N";
+A886:discordance :"A":"886":"00":"SAISIE DE 8TU SANS PRISE EN CHARGE DE 8XR,8XP,8XQ,8XV,8XF,8XG,8XH OU 8PA":"N";
+A888:discordance :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A890:discordance :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:discordance :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:discordance :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:discordance :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:discordance :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:discordance :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:discordance :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:discordance :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A950:discordance :"A":"950":"00":"NATIMP OU PPENATREST DIFFERENT DES VALEURS ADMISES":"N";
+A951:discordance :"A":"951":"00":"CODINI DIFFERENT DES VALEURS ADMISES":"N";
+A954:discordance :"A":"954":"00":"NATIMPIR DIFFERENT DES VALEURS ADMISES":"N";
+A955:discordance :"A":"955":"00":"NATCRP DIFFERENT DES VALEURS ADMISES":"N";
+A960:discordance :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:discordance :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:discordance :"A":"961":"02":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96103:discordance :"A":"961":"03":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17, 18 ET 34)":"N";
+A96201:discordance :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:discordance :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:discordance :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:discordance :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:discordance :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:discordance :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2015, 2016 OU 2017":"N";
+A96303:discordance :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:discordance :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2015, 2016 OU 2017":"N";
+A96401:discordance :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:discordance :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:discordance :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2014":"N";
+A96501:discordance :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:discordance :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:discordance :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2014":"N";
+A966:discordance :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A96801:anomalie :"A":"968":"01":"CODE 9YT AVEC VALEUR A 0 ET 9YU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96802:anomalie :"A":"968":"02":"CODE 9YU AVEC VALEUR A 0 ET 9YT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96803:anomalie :"A":"968":"03":"CODE 9XT AVEC VALEUR A 0 ET 9XU AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96804:anomalie :"A":"968":"04":"CODE 9XU AVEC VALEUR A 0 ET 9XT AVEC VALEUR DIFFERENTE DE 0  DANS LE MEME EVT":"N";
+A96901:anomalie :"A":"969":"01":"R99 SUR LE CODE 9YT ET ABSENCE DE R99 SUR LE CODE 9YU DANS LE MEME EVT":"N";
+A96902:anomalie :"A":"969":"02":"R99 SUR LE CODE 9YU ET ABSENCE DE R99 SUR LE CODE 9YT DANS LE MEME EVT":"N";
+A96903:anomalie :"A":"969":"03":"R99 SUR LE CODE 9XT ET ABSENCE DE R99 SUR LE CODE 9XU DANS LE MEME EVT":"N";
+A96904:anomalie :"A":"969":"04":"R99 SUR LE CODE 9XU ET ABSENCE DE R99 SUR LE CODE 9XT DANS LE MEME EVT":"N";
+A970:anomalie :"A":"970":"00":"PRESENCE D'UN TAUX DE PENALITE POUR UNE MINORATION":"N";
+A971:anomalie :"A":"971":"00":"ABSENCE D'UN TAUX DE PENALITE POUR UN RAPPEL":"N";
+A98001:discordance :"A":"980":"01":"BASE ISF 9HI <= 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:discordance :"A":"980":"02":"BASE ISF 9HI >= 2 570 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A98003:discordance :"A":"980":"03":"LA BASE ISF NE PEUT ETRE INFERIEURE OU EGALE A 1 300 000":"O";
+A98004:discordance :"A":"980":"04":"LA BASE ISF, INFERIEURE OU EGALE A 1 300 000 E, EST DIFFERENTE DE 0 E":"O";
+A98005:discordance :"A":"980":"05":"LA BASE ISF NE PEUT ETRE SUPERIEURE OU EGALE A 2 570 000 E":"O";
+A981:discordance :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:discordance :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:discordance :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:discordance :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:discordance :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:discordance :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:discordance :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:discordance :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+A990:discordance :"A":"990":"00":" CODE 8VV INCOMPATIBLE AVEC REGIME VALEUR LOCATIVE":"N";
+A992:discordance :"A":"992":"00":"Art. 1731 bis : Calcul automatique des penalites impossible. traitement manuel.":"N";
+A99301:anomalie :"A":"993":"01":"ANNULATION 2042: RAMENER LES REVENUS A 0.":"N";
+A99302:anomalie :"A":"993":"02":"SUPPRESSION du code 9YA impossible, veuillez ressaisir une declaration":"N";
+AS0101:discordance :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C":"N";
+AS0102:discordance :"A":"S01":"02":"INCOMPATIBILITE ENTRE DATE DE MARIAGE AVEC OPTION B ET SITUATION M OU O":"N";
+AS0103:discordance :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE MARIAGE SANS OPTION B ET SITUATION C, D OU V":"N";
+AS0104:discordance :"A":"S01":"04":"INCOMPATIBILITE ENTRE DATE DE DIVORCE ET SITUATION M OU O":"N";
+AS0105:discordance :"A":"S01":"05":"INCOMPATIBILITE ENTRE DATES DE DIVORCE ET DE DECES DU CJT ET SITUATION M":"N";
+AS0106:discordance :"A":"S01":"06":"INCOMPATIBILITE ENTRE DATE
diff --git a/sources2014m_2_15/errP.m b/sources2014m_2_15/errP.m
new file mode 100644
index 0000000000000000000000000000000000000000..31d64a4d327b7399bc475ceb175cb3e0c1e65023
--- /dev/null
+++ b/sources2014m_2_15/errP.m
@@ -0,0 +1,333 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 14 Application pro
+A000:anomalie :"A":"000":"00":"SAISIE D UN MONTANT NEGATIF":"N";
+A00101:anomalie :"A":"001":"01":"LE NBRE DE PERS. ACCUEILLIES NE PEUT EXCEDER 9 (6EV)":"N";
+A00102:anomalie :"A":"001":"02":"LE NOMBRE D'EXPLOITATIONS NE PEUT EXCEDER 9 (7FG).":"N";
+A00103:anomalie :"A":"001":"03":"LE NOMBRE D'ENFANTS SCOLARISES NE PEUT EXCEDER 9(7EA,7EC,7EF,7EB,7ED,7EG)":"N";
+A00104:anomalie :"A":"001":"04":"LE NOMBRE D'ASCENDANTS DE PLUS DE 65 ANS NE PEUT EXCEDER 9 (7DL)":"N";
+A00105:anomalie :"A":"001":"05":"LE REVENU BRUT GLOBAL IR OU LA BASE CSG,CRDS,PS,C.S NE PEUT EXCEDER 8 CHIFFRES":"N";
+A00106:anomalie :"A":"001":"06":"LES PRIMES LOYERS IMPAYES NE PEUVENT ETRE > A 99.999 E":"N";
+A00107:anomalie :"A":"001":"07":"LES MONTANTS DECLARES A L'ISF NE PEUVENT EXCEDER 8 CARACTERES":"O";
+A00108:anomalie :"A":"001":"08":"MONTANT VARIABLE RESTITUEE SUPERIEUR A 8 CARACTERES":"N";
+A00109:anomalie :"A":"001":"09":"LES CODES PRIS EN CHARGE SUR 9YG SONT ERRONES":"N";
+A00110:anomalie :"A":"001":"10":"LES MONTANTS SAISIS RUBRIQUES 0 A 8 EXCEDENT 8 CARACTERES":"N";
+A004:anomalie :"A":"004":"00":"CASE B COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION M OU O":"N";
+A005:anomalie :"A":"005":"00":"CASE B NON COCHEE ET LIGNE X INCOMPATIBLES AVEC SITUATION C, D OU V":"N";
+A01001:anomalie :"A":"010":"01":"INCOHERENCE ENTRE LA SITUATION M ET LES CODES G, N, W, L":"N";
+A01002:anomalie :"A":"010":"02":"INCOHERENCE ENTRE LA SITUATION O ET LES CODES G, N, U, W, L":"N";
+A01003:anomalie :"A":"010":"03":"INCOHERENCE ENTRE LA SITUATION V ET LES CODES F, U, S":"N";
+A01004:anomalie :"A":"010":"04":"INCOHERENCE ENTRE LA SITUATION C ET LES CODES F, S, U":"N";
+A01005:anomalie :"A":"010":"05":"INCOHERENCE ENTRE LA SITUATION D ET LES CODES F, S, U":"N";
+A01006:anomalie :"A":"010":"06":"INCOHERENCE ENTRE LA SITUATION C ET LE CODE G":"N";
+A01007:anomalie :"A":"010":"07":"INCOHERENCE ENTRE LA SITUATION D ET LE CODE G":"N";
+A01008:anomalie :"A":"010":"08":"INCOHERENCE ENTRE LA SITUATION DE VEUF ET LE CODE G":"N";
+A01009:anomalie :"A":"010":"09":"INCOHERENCE ENTRE LA SITUATION M ET LE CODE T":"N";
+A01010:anomalie :"A":"010":"10":"INCOHERENCE ENTRE LA SITUATION O ET LE CODE T.":"N";
+A01011:anomalie :"A":"010":"11":"CODES P, F, S, G, N, W, L, T SAISIS SANS CODES M, O, C, D, V":"N";
+A01012:anomalie :"A":"010":"12":"CODES SITUATION DE FAMILLE NON VALIDES":"N";
+A011:anomalie :"A":"011":"00":"LE NOMBRE D' ENF. RATTACHES CASES N+P NE PEUT ETRE < A 2":"N";
+A01201:anomalie :"A":"012":"01":"LE NOMBRE D'ENF. LIGNE G NE PEUT ETRE > AU NOMBRE PORTE LIGNE F":"N";
+A01202:anomalie :"A":"012":"02":"LE NOMBRE D'ENF. LIGNE I NE PEUT ETRE > AU NOMBRE PORTE LIGNE H":"N";
+A013:anomalie :"A":"013":"00":"LA DATE DE NAISSANCE DU DECLARANT 1 OU DU DECLARANT 2 EST INVRAISEMBLABLE":"N";
+A015:discordance :"A":"015":"00":"ATTENTION, CALCUL NON EFFECTUE PAR L'ESI":"N";
+A019:discordance :"A":"019":"00":"ATTENTION CALCUL NON EFFECTUE PAR L'ESI":"N";
+A021:anomalie :"A":"021":"00":"ATTENTION DATES DE NAISSANCE PAC PRISES EN CHARGE SANS CODE 0CF, 0CH":"N";
+A02301:anomalie :"A":"023":"01":"LE JOUR DE L EVENEMENT EST DIFFERENT DE 01 A 31":"N";
+A02302:anomalie :"A":"023":"02":"LE MOIS DE L EVENEMENT EST DIFFERENT DE 01 A 12":"N";
+A02303:anomalie :"A":"023":"03":"L'ANNEE DE L EVENEMENT EST DIFFERENTE DE 2013 OU 2014":"N";
+A02401:anomalie :"A":"024":"00":"PRISE EN CHARGE DU JOUR SANS SAISE DU MOIS OU INVERSEMENT":"N";
+A02402:anomalie :"A":"024":"00":"LA DATE DE L EVENEMENT SAISIE EST INCOMPLETE":"N";
+A030:anomalie :"A":"030":"00":"REV. OU CHARGE AU NOM DE PERSONNES A CHARGE SANS DECLARATION DE P.A.C.":"N";
+A031:anomalie :"A":"031":"00":"REV. OU CHARGE AU NOM DU DECLARANT 2 POUR UN CELIBATAIRE OU UN DIVORCE":"N";
+A077:anomalie :"A":"077":"00":"UTILISATION DU CODE 8XK UNIQUEMENT DANS LES DIRECTIONS B31 ET 060":"N";
+A078:anomalie :"A":"078":"00":"CODE 8YK : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A079:anomalie :"A":"079":"00":"UTILISATION DU CODE 8ZB UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A080:anomalie :"A":"080":"00":"CODE 8ZB INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A082:anomalie :"A":"082":"00":"LE CODE REGIME D IMPOSITION EST DIFFERENT DE 1,2 ou 4":"N";
+A083:anomalie :"A":"083":"00":"UTILISATION DU CODE 8ZA UNIQUEMENT POUR DES CONTRIBUABLES NON RESIDENTS":"N";
+A085:anomalie :"A":"085":"00":"UTILISATION CODES 8ZO ET 8ZI UNIQUEMENT DANS LES DIRECTIONS B31 OU 060":"N";
+A086:anomalie :"A":"086":"00":"LE CODE 8ZO EST PRIS EN CHARGE SANS CODE 8ZI OU RECIPROQUEMENT":"N";
+A087:anomalie :"A":"087":"00":"CODE 8ZK INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A088:anomalie :"A":"088":"00":"INCOMPAT.ENTRE TX EFF. OU PRORATA DOM ET TX MIN. OU VALEUR LOCATIVE":"N";
+A089:anomalie :"A":"089":"00":"CODE 8ZT INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A090:anomalie :"A":"090":"00":"LE MONTANT 8ZT EST > AU REVENU NET IMPOSABLE DU .1":"N";
+A091:anomalie :"A":"091":"00":"CODE 8ZW OU 8ZY INCOMPATIBLE AVEC REGIME AUTRE QUE LE TAUX MINIMUM":"N";
+A092:anomalie :"A":"092":"00":"LA LIGNE 8TM EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZW OU 8ZY OU INV.":"N";
+A093:anomalie :"A":"093":"00":"INCOMPATIBILITE ENTRE 8ZW ET 8ZY (TAUX MOYEN)":"N";
+A094:anomalie :"A":"094":"00":"REGIME D'IMPOSITION INCOMPATIBLE AVEC CODE 8ZH (NON RESIDENTS).":"N";
+A095:anomalie :"A":"095":"00":"NON RESIDENTS : LA VALEUR LOCATIVE (8ZH) DOIT ETRE INDIQUEE.":"N";
+A096:anomalie :"A":"096":"00":"CODES 8YO ET 8YI : CONTRIBUABLES NE RELEVANT PAS DU SIP NON RESIDENT":"N";
+A097:anomalie :"A":"097":"00":"CODE 6QW INCOMPATIBLE AVEC TAUX MINIMUM OU VALEUR LOCATIVE":"N";
+A09801:anomalie :"A":"098":"01":"LIGNE 3SE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09802:anomalie :"A":"098":"02":"LIGNE 3VE INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A09803:anomalie :"A":"098":"03":"LIGNE 3UV INCOMPATIBLE AVEC REGIME AUTRE QUE TX MINIMUM ET VALEUR LOCATIVE":"N";
+A13901:anomalie :"A":"139":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A13902:anomalie :"A":"139":"02":"PENSIONS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14001:anomalie :"A":"140":"01":"LE NB D'ANNEES D'ECHEANCE N'EST PAS COMPRIS ENTRE 2 ET 45":"N";
+A14002:anomalie :"A":"140":"02":"SALAIRES AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A14101:anomalie :"A":"141":"01":"LE NOMBRE D'ANNEES DE COTISATIONS EST SUPERIEUR A 25":"N";
+A14102:anomalie :"A":"141":"02":"IMPOSITION DES FOOTBALLEURS: REVOIR LA CODIFICATION":"N";
+A143:anomalie :"A":"143":"00":"PRESENCE DE FRAIS REELS SANS REVENU CORRESPONDANT":"N";
+A14401:anomalie :"A":"144":"01":"LE MONTANT 1AJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1NY":"N";
+A14402:anomalie :"A":"144":"02":"LE MONTANT 1BJ NE PEUT ETRE INFERIEUR AU MONTANT DE 1OY":"N";
+A146:anomalie :"A":"146":"00":"CODE DEMANDEUR D'EMPLOI DE PLUS D'UN AN SANS SALAIRE CORRESPONDANT":"N";
+A153:anomalie :"A":"153":"00":"INDICATION D'UNE ACTIVITE A TEMPS PLEIN ET PARTIEL POUR LA MEME PERSONNE":"N";
+A154:anomalie :"A":"154":"00":"SAISIE IMPOT ACQUITTE A L'ETRANGER SANS SALAIRE CORRESPONDANT":"N";
+A21801:anomalie :"A":"218":"01":"CREDIT D'IMPOT (2AB) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A21802:anomalie :"A":"218":"02":"CREDIT D'IMPOT (2BG) > 80 EUROS SANS REVENU CORRESPONDANT":"N";
+A22301:anomalie :"A":"223":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 20":"N";
+A22302:anomalie :"A":"223":"02":"RCM AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A224:anomalie :"A":"224":"00":"CREDIT D'IMPOT 2CK > 80 E SANS REVENU CORRESPONDANT":"N";
+A225:anomalie :"A":"225":"00":"LE MONTANT 2FA NE PEUT EXCEDER 2000 E":"N";
+A226:anomalie :"A":"226":"00":"INCOMPATIBILITE ENTRE MONTANT LIGNE 2TR ET MONTANT LIGNE 2FA":"N";
+A320:anomalie :"A":"320":"00":"INCOMPATIBILITE ENTRE 3VH(PERTES) ET 3VG (GAINS), 3VE(GAINS DOM), 3VM, 3VT (PEA)":"N";
+A321:anomalie :"A":"321":"00":"INCOMPATIBILITE ENTRE 3VA(ABATT. SUR PV) ET 3VB (ABATT. SUR MOINS VALUE)":"N";
+A323:anomalie :"A":"323":"00":"INCOMPATIBILITE ENTRE 3VQ (ABATT. SUR P.V) ET 3VR (ABATT. SUR MOINS VALUE)":"N";
+A325:anomalie :"A":"325":"00":"PRESENCE OBLIGATOIRE DE 3WM EN PRESENCE DE 3WA":"N";
+A326:anomalie :"A":"326":"00":"PRESENCE OBLIGATOIRE DE 3WD EN PRESENCE DE 3WB":"N";
+A32701:anomalie :"A":"327":"01":"LE CODE RVG DOIT ETRE ASSOCIE A NVG ET INVERSEMENT":"N";
+A32702:anomalie :"A":"327":"02":"LE CODE NVG NE PEUT PRENDRE QUE 4 COMME VALEUR":"N";
+A32801:anomalie :"A":"328":"01":"LE CODE RWA DOIT ETRE ASSOCIE A NWA ET INVERSEMENT":"N";
+A32802:anomalie :"A":"328":"02":"LE CODE NWA NE PEUT PRENDRE QUE 4 COMME VALEUR":"N";
+A32901:anomalie :"A":"329":"01":"LE CODE RWB DOIT ETRE ASSOCIE A NWB ET INVERSEMENT":"N";
+A32902:anomalie :"A":"329":"02":"LE CODE NWB NE PEUT PRENDRE QUE 4 COMME VALEUR":"N";
+A420:anomalie :"A":"420":"00":"LE REGIME MICRO FONCIER (4BE) EST INCOMPATIBLE AVEC LES LIGNES 4BA,4BB,4BC":"N";
+A421:anomalie :"A":"421":"00":"LE MONTANT PORTE LIGNE 4BE NE PEUT DEPASSER 15000 E":"N";
+A422:anomalie :"A":"422":"00":"MONTANT PORTE LIGNE 4BF SANS REVENU OU DEFICIT FONCIER CORRESPONDANT":"N";
+A423:anomalie :"A":"423":"00":"INCOHERENCE ENTRE SAISIE LIGNE 4 BY ET LIGNE 4 BD (SANS 4 BA, 4 BB, 4 BC)":"N";
+A424:anomalie :"A":"424":"00":"LIGNE 4 BY SAISIE AVEC CODE QUOTIENT (RBA , SBA) : TRAITEMENT PAR 1551 MI":"N";
+A42501:anomalie :"A":"425":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 30":"N";
+A42502:anomalie :"A":"425":"02":"REVENUS FONCIERS AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A42601:anomalie :"A":"426":"01":"LE NB D ANNEES D ECHEANCE N EST PAS COMPRIS ENTRE 2 ET 14":"N";
+A42602:anomalie :"A":"426":"02":"REINTEGRATION AMORTISSEMENT AU QUOTIENT : REVOIR LA CODIFICATION":"N";
+A534:anomalie :"A":"534":"00":"FORFAIT A FIXER POUR CONTRIBUABLE RESTITUABLE (IMP. OU REST. PART. EN N-1)":"N";
+A538:anomalie :"A":"538":"00":"REVENUS A IMPOSER AUX PRELEVEMENTS SOCIAUX SANS REVENU CORRESPONDANT":"N";
+A542:anomalie :"A":"542":"00":"INDICATION D'UNE ACTIVITE SUR L'ANNEE COMPLETE AVEC SAISIE NOMBRE DE JOURS":"N";
+A600:anomalie :"A":"600":"00":"COTISATIONS EPARGNE RETRAITE 6RS, 6RT, 6RU SANS PLAFOND CORRESPONDANT":"N";
+A601:anomalie :"A":"601":"00":"LE MONTANT APS, APT MIS A JOUR (DECLAR. 1, DECLAR. 2) NE PEUT DEPASSER 29 626 E":"N";
+A602:anomalie :"A":"602":"00":"RACHATS DE COTISATIONS LIGNE 6SS, 6ST, 6SU SANS COTISATION CORRESPONDANTE":"N";
+A604:anomalie :"A":"604":"00":"MUTUALISATION DEMANDEE (6QR) SANS PLAFOND CORRESPONDANT POUR LES DEUX DECLARANTS":"N";
+A60501:anomalie :"A":"605":"01":"LE MONTANT 6 QS NE PEUT ETRE INFERIEUR AU MONTANT DE 1 SM":"N";
+A60502:anomalie :"A":"605":"02":"LE MONTANT 6 QT NE PEUT ETRE INFERIEUR AU MONTANT DE 1 DN":"N";
+A700:anomalie :"A":"700":"00":"MONTANT PORTE LIGNE 7FF SANS REVENU CORRESPONDANT":"N";
+A702:anomalie :"A":"702":"00":"LE MONTANT 7UM NE PEUT ETRE SUPERIEUR AU REVENU 2TR OU 2FA":"N";
+A703:anomalie :"A":"703":"00":"CREDIT INTERETS PRET ETUDIANT (7UK,7TD) AVEC DECLARANTS NES AVANT 1979":"N";
+A704:anomalie :"A":"704":"00":"SAISIE DU CODE 7VO SANS PRISE EN CHARGE DE MONTANT LIGNE 7TD ET INVERSEMENT":"N";
+A705:anomalie :"A":"705":"00":"LE CHIFFRE DE LA LIGNE 7LY NE PEUT ETRE SUPERIEUR A 15":"N";
+A706:anomalie :"A":"706":"00":"LE CHIFFRE LIGNE 7MY EST SUPERIEUR AU CHIFFRE DE 7LY":"N";
+A70701:anomalie :"A":"707":"01":"TOTAL LIGNES 7 EA + 7 EC + 7 EF > TOTAL PAC (CODES F, J, N)":"N";
+A70702:anomalie :"A":"707":"02":"TOTAL LIGNES 7 EB + 7 ED + 7 EG > TOTAL PAC (CODES H,P)":"N";
+A708:anomalie :"A":"708":"00":"LE MONTANT DU REPORT NE PEUT DEPASSER 33 333 E":"N";
+A70901:anomalie :"A":"709":"01":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XI A 7UZ":"N";
+A70902:anomalie :"A":"709":"02":"SAISIE DE PLUS D'UNE LIGNE REPORT PARMI LIGNES 7XK OU 7XR":"N";
+A710:anomalie :"A":"710":"00":"SAISIE DES LIGNES 7DB + 7DF INCOMPATIBLES":"N";
+A71101:anomalie :"A":"711":"01":"SAISIE DU CODE 7DG SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A71102:anomalie :"A":"711":"02":"SAISIE DU CODE 7DL SANS PRISE EN CHARGE DE MONTANT LIGNE 7DD OU INVERSEMENT":"N";
+A71103:anomalie :"A":"711":"03":"SAISIE DU CODE 7DQ SANS PRISE EN CHARGE DE MONTANT LIGNE 7DB,7DD OU 7DF":"N";
+A712:anomalie :"A":"712":"00":"LE MONTANT PORTE LIGNE 7WN NE PEUT DEPASSER LE MONTANT 7WO":"N";
+A713:anomalie :"A":"713":"00":"PRESENCE D UN MONTANT LIGNE 7WN SANS MONTANT 7WO OU RECIPROQUEMENT":"N";
+A714:anomalie :"A":"714":"00":"REPORT 2013 (7WP) INCOMPATIBLE AVEC VERSEMENTS 2014 (7WO ET 7WN)":"N";
+A715:anomalie :"A":"715":"00":"LE MONTANT LIGNE 7WP NE PEUT DEPASSER 30 500 E":"N";
+A716:anomalie :"A":"716":"00":"LE MONTANT 7WM EST INFERIEUR AU MONTANT 7WN":"N";
+A71701:anomalie :"A":"717":"01":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7FA A 7FD":"N";
+A71702:anomalie :"A":"717":"02":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7JA A 7JR":"N";
+A71703:anomalie :"A":"717":"03":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7NA A 7NT":"N";
+A71704:anomalie :"A":"717":"04":"SAISIE DE PLUS D'UNE LIGNE PARMI LES LIGNES 7HJ, 7HK, 7HN ET 7HO":"N";
+A71705:anomalie :"A":"717":"05":"INCOMPATIBILITE ENTRE LIGNES 7HL ET 7HM":"N";
+A718:anomalie :"A":"718":"00":"LA LIGNE 7UO EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A719:anomalie :"A":"719":"00":"LA LIGNE 7US EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A73001:anomalie :"A":"730":"01":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UU ET 7TF":"N";
+A73002:anomalie :"A":"730":"02":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UV ET 7TG":"N";
+A73003:anomalie :"A":"730":"03":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UW ET 7TH":"N";
+A73004:anomalie :"A":"730":"04":"TRAVAUX FORESTIERS : INCOMPATIBILITE ENTRE LIGNES 7UX ET 7TI":"N";
+A731:anomalie :"A":"731":"00":"LE CHIFFRE DE LA LIGNE 7VO NE PEUT ETRE SUPERIEUR A 5":"N";
+A732:anomalie :"A":"732":"00":"POUR DEPENSES AVANT 1/9 : ABSENCE DE RFR 2012, 2013 ET DE BOUQUET DE TRAVAUX":"N";
+A734:anomalie :"A":"734":"00":"LES CASES 7WE ET 7WG NE PEUVENT PAS ETRE SIMULTANEMENT COCHEES":"N";
+A735:anomalie :"A":"735":"00":"CASES 7WE OU 7WG COCHEE SANS PRISE EN CHARGE LIGNES 7SD A 7RZ":"N";
+A736:anomalie :"A":"736":"00":"PLUS DE DEUX LIGNES SAISIES PARMI 7EK, 7EL, 7QA, 7QB, 7QC, 7QD":"N";
+A737:anomalie :"A":"737":"00":"CIDD : CASE 7RX COCHEE EN L'ABSENCE DE BOUQUET ET SANS SAISIE DU CODE 7WX":"N";
+A739:anomalie :"A":"739":"00":"CASE HQA COCHEE SANS PRISE EN CHARGE LIGNE CORRESPONDANTE":"N";
+A74001:anomalie :"A":"740":"01":"LE TOTAL LIGNES HAE + HAJ NE PEUT ETRE SUPERIEUR A 270 000 E":"N";
+A74002:anomalie :"A":"740":"02":"LE TOTAL LIGNES HAO + HAT + HAY + HBG NE PEUT ETRE SUPERIEUR A 229 500 E":"N";
+A74003:anomalie :"A":"740":"03":"LE TOTAL HAE + HAJ + HAO + HAT + HAY + HBG NE PEUT EXCEDER LES LIMITES ADMISES":"N";
+A741:anomalie :"A":"741":"00":"LE MONTANT DES REPORTS NE PEUT DEPASSER 99 999 E":"N";
+A743:anomalie :"A":"743":"00":"LE MONTANT PORTE LIGNE 7IK, 7IP, 7IQ, 7IR NE PEUT DEPASSER 99 999 E":"N";
+A744:anomalie :"A":"744":"00":"LE MONTANT PORTE LIGNE 7WR NE PEUT DEPASSER 60 000 E":"N";
+A74601:anomalie :"A":"746":"01":"LE MONTANT LIGNE HAE NE PEUT EXCEDER LE MONTANT LIGNE HAD":"N";
+A74602:anomalie :"A":"746":"02":"LE MONTANT LIGNE HAJ NE PEUT EXCEDER LE MONTANT LIGNE HAI":"N";
+A74603:anomalie :"A":"746":"03":"LE MONTANT LIGNE HAO NE PEUT EXCEDER LE MONTANT LIGNE HAN":"N";
+A74604:anomalie :"A":"746":"04":"LE MONTANT LIGNE HAT NE PEUT EXCEDER LE MONTANT LIGNE HAS":"N";
+A74605:anomalie :"A":"746":"05":"LE MONTANT LIGNE HAY NE PEUT EXCEDER LE MONTANT LIGNE HAX":"N";
+A74606:anomalie :"A":"746":"06":"LE MONTANT LIGNE HBG NE PEUT EXCEDER LE MONTANT LIGNE HBF":"N";
+A747:anomalie :"A":"747":"00":"MONTANT LIGNE 7FL POUR UN CONTRIBUABLE NON DOMICILIE DANS UN DOM":"N";
+A748:anomalie :"A":"748":"00":"CASE 7WK COCHEE SANS MONTANT LIGNE 7SD A 7RZ":"N";
+A74901:anomalie :"A":"749":"01":"LE MONTANT 7WX EST SUPERIEUR AUX DEPENSES DECLAREES (IMMEUBLE COLLECTIF)":"N";
+A74902:anomalie :"A":"749":"02":"LE MONTANT 7WX EST SUPERIEUR AUX DEPENSES DECLAREES (MAISON INDIVIDUELLE)":"N";
+A75101:anomalie :"A":"751":"01":"CODE 7WT AVEC CODE 7SJ INCOMPATIBLES":"N";
+A75102:anomalie :"A":"751":"02":"CODE 7WU AVEC CODE 7RJ INCOMPATIBLES":"N";
+A75103:anomalie :"A":"751":"03":"CODE 7WC AVEC CODE 7SG INCOMPATIBLES":"N";
+A75104:anomalie :"A":"751":"04":"CODE 7WB AVEC CODE 7RG INCOMPATIBLES":"N";
+A75105:anomalie :"A":"751":"05":"CODE 7VG AVEC CODE 7SH INCOMPATIBLES":"N";
+A75106:anomalie :"A":"751":"06":"CODE 7VH AVEC CODE 7RH INCOMPATIBLES":"N";
+A800:anomalie :"A":"800":"00":"LE MONTANT 8ZP OU 8ZV EST > AU REVENU BRUT GLOBAL":"N";
+A80201:anomalie :"A":"802":"01":"INCOMPATIBILITE ENTRE 8ZR ET 8ZN (TX EFFECTIF)":"N";
+A80202:anomalie :"A":"802":"02":"INCOMPATIBILITE ENTRE TX EFFECTIF 8ZR/8ZN ET PRORATA METRO-DOM":"N";
+A80203:anomalie :"A":"802":"03":"INCOMPATIBILITE ENTRE TX EFFECTIF AUTOMATIQUE ET PRORATA METRO-DOM":"N";
+A803:anomalie :"A":"803":"00":"CODES DAJ, DBJ, EAJ, EBJ PRIS EN CHARGE DANS DIRECTION AUTRE QUE METROPOLE":"N";
+A804:anomalie :"A":"804":"00":"INCOMPATIBILITE ENTRE METRO/DOM ET REV. AU QUOTIENT":"N";
+A805:anomalie :"A":"805":"00":"SAISIE DE REVENUS EXCEP. OU DIFF. LIGNE XX SANS CODIFICATION":"N";
+A806:anomalie :"A":"806":"00":"PRESENCE DE PRORATA METRO/DOM, VALEUR DE NAJ ET NBJ DOIT ETRE EGALE A 4":"N";
+A807:anomalie :"A":"807":"00":"SAISIE CODE 8XT SANS LIGNE 1AT OU 1BT":"N";
+A821:anomalie :"A":"821":"00":"IMPOSITION RETOUR EN FRANCE : CODE 8 YO SAISI SANS CODE 8 YI":"N";
+A858:anomalie :"A":"858":"00":"LES LIGNES 8TL, 8UW SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A859:anomalie :"A":"859":"00":"LA LIGNE 8WC EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A862:anomalie :"A":"862":"00":"LA LIGNE 8 UY EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A864:anomalie :"A":"864":"00":"CSG A 7,5 % PROVISOIRE SUR GAINS LIGNE 1TT, 1UT > CSG DUE":"N";
+A865:anomalie :"A":"865":"00":"CONTRIBUTION SALARIALE PROVISOIRE 10 % (8YT) > A CONTRIBUTION DUE":"N";
+A86601:anomalie :"A":"866":"01":"CSG A 7,5% PROVISOIRE (8YD) >  CSG DUE":"N";
+A86602:anomalie :"A":"866":"02":"CSG A 7,5% PROVISOIRE (8YE) > CSG DUE":"N";
+A86603:anomalie :"A":"866":"03":"CSG A 6,6% PROVISOIRE (8YF) > CSG DUE":"N";
+A86604:anomalie :"A":"866":"04":"CSG A 6,2% PROVISOIRE (8YG) > CSG DUE":"N";
+A86605:anomalie :"A":"866":"05":"CSG A 3,8% PROVISOIRE (8YH) > CSG DUE":"N";
+A86606:anomalie :"A":"866":"06":"CSG A 6,6% PROVISOIRE (8YN) > CSG DUE":"N";
+A86607:anomalie :"A":"866":"07":"CSG A 3,8% PROVISOIRE (8YP) > CSG DUE":"N";
+A868:anomalie :"A":"868":"00":"CONTRIBUTION SALARIALE PROVISOIRE 30 % (8YW) > A CONTRIBUTION DUE":"N";
+A870:anomalie :"A":"870":"00":"SAISIE DU CODE 8ZM SANS PRISE EN CHARGE DU CODE 8ZL":"N";
+A871:anomalie :"A":"871":"00":"MONTANT CRDS PROVISOIRE (8ZJ) > AU MONTANT DE CRDS DU":"N";
+A872:anomalie :"A":"872":"00":"MONTANT DU PS PROVISOIRE (8ZS) > AU MONTANT DU PS DU":"N";
+A873:anomalie :"A":"873":"00":"MONTANT CSG PROVISOIRE (8ZL) > AU MONTANT DE CSG DU":"N";
+A874:anomalie :"A":"874":"00":"LA LIGNE 8TA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A875:anomalie :"A":"875":"00":"MONTANT IMPOT PROVISOIRE (8ZG) > AU MONTANT DE l'IMPOT DU ":"N";
+A877:anomalie :"A":"877":"00":"LES LIGNES 8TB, 8TC SONT REMPLIES SANS REVENU CORRESPONDANT":"N";
+A87801:anomalie :"A":"878":"01":"SAISIE CODE 8XA SANS REVENU LIGNE 8TQ":"N";
+A87802:anomalie :"A":"878":"02":"SAISIE CODE 8XB SANS REVENU LIGNE 8TR":"N";
+A87803:anomalie :"A":"878":"03":"SAISIE CODE 8XC SANS REVENU LIGNE 8TV":"N";
+A87804:anomalie :"A":"878":"04":"SAISIE CODE 8XD SANS REVENU LIGNE 8TW":"N";
+A87805:anomalie :"A":"878":"05":"SAISIE CODE 8XE SANS REVENU LIGNE 8TX":"N";
+A87806:anomalie :"A":"878":"06":"SAISIE CODE 8XI SANS REVENU LIGNE 8SA":"N";
+A87807:anomalie :"A":"878":"07":"SAISIE CODE 8XJ SANS REVENU LIGNE 8SB":"N";
+A879:anomalie :"A":"879":"00":"LA LIGNE 8TG, 8TS EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A880:anomalie :"A":"880":"00":"LA LIGNE 8TE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A881:anomalie :"A":"881":"00":"LA LIGNE 8UZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A88201:anomalie :"A":"882":"01":"LA LIGNE 8TI EST REMPLIE SANS PRISE EN CHARGE DU CODE 8ZR OU 8ZN OU INVERSEMENT":"N";
+A88202:anomalie :"A":"882":"02":"SAISIE DU CODE 8YC, 8YJ SANS PRISE EN CHARGE DE TAUX EFFECTIF":"N";
+A883:anomalie :"A":"883":"00":"LIGNE 8TK REMPLIE SANS PRISE EN CHARGE DE 8XR, 8XP, 8XQ, 8XT, 8XF, 8XG, 8XH, 8XV":"N";
+A884:anomalie :"A":"884":"00":"PRISE EN CHARGE DU CODE 8XR SANS REVENU CORRESPONDANT":"N";
+A88501:anomalie :"A":"885":"01":"PRISE EN CHARGE DU CODE 8XQ SANS PLUS-VALUE CORRESPONDANTE":"N";
+A88502:anomalie :"A":"885":"02":"PRISE EN CHARGE DU CODE 8XV SANS REVENU LIGNE 2FA CORRESPONDANT":"N";
+A88503:anomalie :"A":"885":"03":"PRISE EN CHARGE DU CODE 8XP SANS GAIN CORRESPONDANT":"N";
+A88504:anomalie :"A":"885":"04":"PRISE EN CHARGE DU CODE 8XF SANS GAIN CORRESPONDANT":"N";
+A88505:anomalie :"A":"885":"05":"PRISE EN CHARGE DU CODE 8XG SANS GAIN CORRESPONDANT":"N";
+A88506:anomalie :"A":"885":"06":"PRISE EN CHARGE DU CODE 8XH SANS GAIN CORRESPONDANT":"N";
+A886:anomalie :"A":"886":"00":"SAISIE DE 8TU SANS PRISE EN CHARGE DE 8XR,8XP,8XQ,8XV,8XF,8XG,8XH OU 8PA":"N";
+A887:anomalie :"A":"887":"00":"REVENU NET CODE 8XR SUPERIEUR AU MONTANT LIGNE 8TK":"N";
+A888:anomalie :"A":"888":"00":"LA LIGNE 8TH EST REMPLIE SANS REVENU DES LIGNES 1AJ, 1BJ, 1AP, 1BP":"N";
+A889:anomalie :"A":"889":"00":"SAISIE CODE 8 FV SANS PRISE EN CHARGE DU CODE 8 ZK":"N";
+A890:anomalie :"A":"890":"00":"LA LIGNE 8TZ EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A891:anomalie :"A":"891":"00":"LA LIGNE 8WB EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A893:anomalie :"A":"893":"00":"LA LIGNE 8WD EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A894:anomalie :"A":"894":"00":"LA LIGNE 8WE EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A895:anomalie :"A":"895":"00":"LA LIGNE 8WA EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A896:anomalie :"A":"896":"00":"LA LIGNE 8WR EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A898:anomalie :"A":"898":"00":"LA LIGNE 8WT EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A899:anomalie :"A":"899":"00":"LA LIGNE 8WU EST REMPLIE SANS REVENU CORRESPONDANT":"N";
+A910:anomalie :"A":"910":"00":"PRESENCE D'UNE CASE A COCHER : CE CODE NE PEUT PRENDRE QU'UNE VALEUR DE 0 OU 1":"N";
+A960:anomalie :"A":"960":"00":"L'AMENDE NE PEUT ETRE INFERIEURE A 15 E":"N";
+A96101:anomalie :"A":"961":"01":"LE CODE MAJORATION 9YT EST DIFFERENT DE 07":"N";
+A96102:anomalie :"A":"961":"02":"LE CODE MAJORATION 9YT N'EST PAS VALIDE (07 A 11,17 ET 18)":"N";
+A96103:anomalie :"A":"961":"03":"LE CODE MAJORATION 9XT N'EST PAS VALIDE (07, 08, 17, 18 ET 34)":"N";
+A96201:anomalie :"A":"962":"01":"LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"N";
+A96202:anomalie :"A":"962":"02":"LE CODE MAJORATION N'EST PAS INDIQUE":"N";
+A96203:anomalie :"A":"962":"03":"ISF : LA DATE DE DEPOT DE LA DECLARATION N'EST PAS INDIQUEE":"O";
+A96204:anomalie :"A":"962":"04":"ISF : LE CODE MAJORATION N'EST PAS INDIQUE":"O";
+A96301:anomalie :"A":"963":"01":"LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"N";
+A96302:anomalie :"A":"963":"02":"L'ANNEE DU DEPOT EST DIFFERENTE DE 2015, 2016 OU 2017":"N";
+A96303:anomalie :"A":"963":"03":"ISF : LE MOIS DU DEPOT EST DIFFERENT DE 01 A 12":"O";
+A96304:anomalie :"A":"963":"04":"ISF : L'ANNEE DU DEPOT EST DIFFERENTE DE 2015, 2016 OU 2017":"N";
+A96401:anomalie :"A":"964":"01":"LE JOUR DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 31":"N";
+A96402:anomalie :"A":"964":"02":"LE MOIS DU DEPART A L'ETRANGER EST DIFFERENT DE 01 A 12":"N";
+A96403:anomalie :"A":"964":"03":"L'ANNEE DU DEPART A L'ETRANGER EST DIFFERENTE DE 2014":"N";
+A96501:anomalie :"A":"965":"01":"LE JOUR DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 31":"N";
+A96502:anomalie :"A":"965":"02":"LE MOIS DU RETOUR EN FRANCE EST DIFFERENT DE 01 A 12":"N";
+A96503:anomalie :"A":"965":"03":"L'ANNEE DU RETOUR EN FRANCE EST DIFFERENTE DE 2014":"N";
+A966:anomalie :"A":"966":"00":"UNE SEULE DATE DE DEPART OU DE RETOUR PEUT ETRE PRISE EN CHARGE":"N";
+A98001:anomalie :"A":"980":"01":"BASE ISF 9HI <= 1 300 000 E : SUPPRIMER 9HI ET SAISIR 9GY = X":"O";
+A98002:anomalie :"A":"980":"02":"BASE ISF 9HI >= 2 570 000 E : SUPPRIMER 9HI ET SAISIR 9GZ = X":"O";
+A981:anomalie :"A":"981":"00":"LA BASE NETTE IMPOSABLE ISF DE LA LIGNE 9HI DOIT ETRE SAISIE":"O";
+A982:anomalie :"A":"982":"00":"ISF : SAISIE SIMULTANEE DES CODES 9 GY ET 9 GZ":"O";
+A983:anomalie :"A":"983":"00":"ISF : INCOMPATIBILITE ENTRE 9GL ET SITUATION M, O OU C, D, V AVEC CASE B":"O";
+A984:anomalie :"A":"984":"00":"ISF : LIGNE 9GM INCOMPATIBLE AVEC SITUATION M, O OU C, D, V SANS OPTION CASE B":"O";
+A985:anomalie :"A":"985":"00":"ISF : 9 GY OU 9 GZ SAISI POUR UNE BASE 9HI ADMISE":"O";
+A986:anomalie :"A":"986":"00":"ISF : 9 GL et 9GM incompatibles":"O";
+A98701:anomalie :"A":"987":"01":"ISF: ETAT CIVIL REMPLI SANS CODE 9GL OU 9GM":"O";
+A98702:anomalie :"A":"987":"02":"ISF: CODE 9GL OU 9GM SANS ETAT CIVIL":"O";
+A989:anomalie :"A":"989":"00":"ISF : Utiliser la meme penalite art. 1728 que lors du traitement primitif.":"O";
+A992:anomalie :"A":"992":"00":"Art. 1731 bis : Calcul automatique des penalites impossible. traitement manuel.":"N";
+AS0101:anomalie :"A":"S01":"01":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION DE FAMILLE C":"N";
+AS0102:anomalie :"A":"S01":"02":"INCOMPATIBILITE ENTRE DATE DE MARIAGE AVEC OPTION B ET SITUATION M OU O":"N";
+AS0103:anomalie :"A":"S01":"03":"INCOMPATIBILITE ENTRE DATE DE MARIAGE SANS OPTION B ET SITUATION C, D OU V":"N";
+AS0104:anomalie :"A":"S01":"04":"INCOMPATIBILITE ENTRE DATE DE DIVORCE ET SITUATION M OU O":"N";
+AS0105:anomalie :"A":"S01":"05":"INCOMPATIBILITE ENTRE DATES DE DIVORCE ET DE DECES DU CJT ET SITUATION M":"N";
+AS0106:anomalie :"A":"S01":"06":"INCOMPATIBILITE ENTRE DATE DE DECES DU CJT ET SITUATION D":"N";
+AS02:anomalie :"A":"S02":"00":"ANNEE DE NAISSANCE INVRAISEMBLABLE POUR UNE PERSONNE A CHARGE":"N";
+AS11:anomalie :"A":"S11":"00":"DATE DE NAISSANCE ABSENTE":"N";
+D[DGFIP][2017]2:discordance :"D":"[DGFIP][2017]2":"00":"VERIFIER LE CUMUL DE 7CF (CAPITAL PME) AVEC 7FN, 7GN ":"N";
+D[DGFIP][2017]3:discordance :"D":"[DGFIP][2017]3":"00":"MONTANT DES FRAIS RCM EXAGERE OU FRAIS AVEC REVENU LIGNE 2FU 2CH 2GO":"N";
+D[DGFIP][2017]4:discordance :"D":"[DGFIP][2017]4":"00":"MONTANT DU CREDIT D'IMPOT EXAGERE":"N";
+D[DGFIP][2017]6:discordance :"D":"[DGFIP][2017]6":"00":"REPORT 7XI,7XP,7XN,7UY,7XJ,7XQ,7XV,7UZ,7XK,7XR > 8333 E OU 16667 E ":"N";
+D[DGFIP][2017]8:discordance :"D":"[DGFIP][2017]8":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+D[DGFIP][2017]9:discordance :"D":"[DGFIP][2017]9":"00":"CREDIT PRET ETUDIANT LIGNE 7TD DEJA OBTENU EN N-1":"N";
+D[DGFIP][2017]0:discordance :"D":"[DGFIP][2017]0":"00":"ENFANTS BENEFICIANT DE FRAIS DE GARDE > AU NOMBRE D'ENFANTS < 7 ANS":"N";
+D[DGFIP][2017]1:discordance :"D":"[DGFIP][2017]1":"00":"REGIME MICRO-FONCIER (4BE) AVEC DEFICITS FONCIERS ANTERIEURS (4BD)":"N";
+D[DGFIP][2017]3:discordance :"D":"[DGFIP][2017]3":"00":"SITUATION FORFAITAIRE A DENONCER SELON LES TERMES DE L'ARTICLE 69A2 DU CGI":"N";
+D[DGFIP][2017]4:discordance :"D":"[DGFIP][2017]4":"00":"LE MONTANT 2CG EST > AU TOTAL DES LIGNES 2DC + 2CH + 2TS + 2FA":"N";
+D[DGFIP][2017]5:discordance :"D":"[DGFIP][2017]5":"00":"LE MONTANT 7WP (REPORT 2013) EST > AU MONTANT CALCULE DE N-1":"N";
+D[DGFIP][2017]6:discordance :"D":"[DGFIP][2017]6":"00":"FRAIS D'ACCUEIL ET PERSONNE A CHARGE AVEC CARTE D'INVALIDITE":"N";
+D[DGFIP][2017]9:discordance :"D":"[DGFIP][2017]9":"00":"NOMBRE LIGNE 7FG > NOMBRE DE RUBRIQUES ADMISES DU o5":"N";
+D[DGFIP][2017]1:discordance :"D":"[DGFIP][2017]1":"00":"SAISIE DE 7DF,7DB ET 7DG SANS INVALIDITE CADRE A (CODE PF) OU C (CODE G,I,R)":"N";
+D[DGFIP][2017]7:discordance :"D":"[DGFIP][2017]7":"00":"LE MONTANT 7CL,7CM,7CN,7CC,7CQ,7CR (REPORTS) EST > AU MONTANT CALCULE DE N-1":"N";
+D[DGFIP][2017]8:discordance :"D":"[DGFIP][2017]8":"00":"CREDIT 8WB DEJA OBTENU EN N-1 : 1SEUL CREDIT PAR ENTREPRISE":"N";
+D[DGFIP][2017]9:discordance :"D":"[DGFIP][2017]9":"00":"LE MONTANT 7XS,7XT,7XU,7XW,7XY (REPORT) EST > AU MONTANT CALCULE DE N-1":"N";
+DD30:discordance :"D":"D30":"00":"CREDIT 7RZ POUR UN CONTRIBUABLE DOMICILIE EN METROPOLE":"N";
+DD31:discordance :"D":"D31":"00":"8SA + 8SB SUPERIEUR A 1AT + 1BT OU ABSENCE DE 1AT ET 1BT":"N";
+DD32:discordance :"D":"D32":"00":"CREDIT SALARIE A DOMICILE SANS REVENU D ACTIVITE : VERIFIEZ LA SITUATION":"N";
+DD34:discordance :"D":"D34":"00":"VERIFIER LE CUMUL 7FM AVEC 7FQ, 7GQ":"N";
+DD35:discordance :"D":"D35":"00":"CASE NOUVEAU RESIDENT LIGNE 6QW DEJA SAISIE EN N-1":"N";
+DD3601:discordance :"D":"D36":"01":"CASE 7WG COCHEE AVEC UN RFR 2011 SUPERIEUR A 30 000 E":"N";
+DD3602:discordance :"D":"D36":"02":"CASE 7WE COCHEE AVEC UN RFR 2012 OU 2013 > AUX LIMITES":"N";
+DD37:discordance :"D":"D37":"00":"VERIFIER LE MONTANT AU REGARD DES LIMITES ADMISES":"N";
+DD3801:discordance :"D":"D38":"01":"REGIME AUTO-ENTREPRENEUR AVEC RFR 2012 SUPERIEUR A LIMITE ADMISE":"N";
+DD3802:discordance :"D":"D38":"02":"REGIME AUTO-ENTREPRENEUR SANS RFR DE 2012":"N";
+DD39:discordance :"D":"D39":"00":"LE MONTANT 6 HJ, 6HK, 6HL, 6HM, 6HN (REPORTS) EST > AU MONTANT CALCULE DE N-1":"N";
+DD40:discordance :"D":"D40":"00":"LE MONTANT 7LA, 7LB, 7LE, 7LM, 7LN (REPORTS) EST > AU MONTANT CALCULE DE N-1":"N";
+DD41:discordance :"D":"D41":"00":"LE MONTANT 7IS, 7IU, 7IX, 7IY, 7PA (REPORTS) EST > AU MONTANT CALCULE DE N-1":"N";
+DD42:discordance :"D":"D42":"00":"LE MONTANT 7UU,7TE,7UV,7TF,7UW,7TG,7UX,7TH,7TI EST > AU MONTANT CALCULE N-1":"N";
+DD43:discordance :"D":"D43":"00":"REPORTS REDUCTION INVEST. DOM ENTREPRISE SONT > AUX MONTANTS CALCULES DE N-1":"N";
+DD44:discordance :"D":"D44":"00":"REPORTS REDUCTION LOGEMENT SOCIAL SONT > AUX MONTANTS CALCULES DE N-1":"N";
+DD45:discordance :"D":"D45":"00":"REPORT 'SCELLIER'  > 33 333 E":"N";
+DD46:discordance :"D":"D46":"00":"REPORT LIGNE 7IP, 7IQ, 7IR, 7IK > 33 333 E":"N";
+DD48:discordance :"D":"D48":"00":"LE MONTANT 7LC, 7LD, 7LS, 7LT (REPORTS) EST > AU MONTANT CALCULE DE N-1":"N";
+DD49:discordance :"D":"D49":"00":"LE MONTANT 7IT, 7IH, 7JC, 7PB (REPORTS) EST > AU MONTANT CALCULE DE N-1":"N";
+D[DGFIP][2017]0:discordance :"D":"[DGFIP][2017]0":"00":"LE MONTANT 7KB, 7KC, 7KD, 7KE (REPORTS) EST > AU MONTANT CALCULE DE N-1":"N";
+D[DGFIP][2017]2:discordance :"D":"[DGFIP][2017]2":"00":"DEFICIT LOC. MEUB. NON PROF. DECLARE (5GA A 5GJ) > A DEFICIT CALCULE EN N-1":"N";
+D[DGFIP][2017]3:discordance :"D":"[DGFIP][2017]3":"00":"DEFICIT BIC NON PROF. DECLARE (5RN A 5RW) > A DEFICIT CALCULE EN N-1":"N";
+D[
diff --git a/sources2014m_2_15/horizoc.m b/sources2014m_2_15/horizoc.m
new file mode 100644
index 0000000000000000000000000000000000000000..4ec6673d12e15f08adfbbba52c42ac986806f8eb
--- /dev/null
+++ b/sources2014m_2_15/horizoc.m
@@ -0,0 +1,52 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+verif corrective horizontale 760 :
+application : iliad ;
+si          (
+            V_IND_TRAIT > 0
+	    et
+            SENS_RAPPEL non dans (1, 2, 3, 4)
+	    )
+alors erreur A760;
+verif corrective horizontale 770 :
+application : iliad ;
+si          (
+            V_IND_TRAIT > 0
+	    et
+            SENS_RAPPEL = 4 
+	    et 
+            PEN_RAPPEL non dans (07, 08, 09, 10, 11, 12, 17, 18, 31)
+	    )
+alors erreur A770;
+verif corrective horizontale 780 :
+application : iliad ;
+si
+ (
+            V_IND_TRAIT > 0
+	    et
+	    (
+            ANNEE_RAPPEL <= V_ANREV
+            ou
+            MOIS_RAPPEL non dans ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 )
+	    )
+ )
+
+alors erreur A780;
diff --git a/sources2014m_2_15/horizoi.m b/sources2014m_2_15/horizoi.m
new file mode 100644
index 0000000000000000000000000000000000000000..cba9751bbc8f2ad2f44756961c87a39cff2b285a
--- /dev/null
+++ b/sources2014m_2_15/horizoi.m
@@ -0,0 +1,57 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+verif corrective horizontale 19 :
+application : iliad ;
+si
+   (
+      ( COD_RAPPEL = 1 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 2 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 3 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 4 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 5 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 6 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 7 et MONT_RAPPEL > 19) ou
+      ( COD_RAPPEL = 8 et MONT_RAPPEL > 19)
+   )
+alors erreur A019;
+verif corrective horizontale 1401 :
+application : iliad ;
+si
+    (
+      COD_RAPPEL = 1401 et MONT_RAPPEL > 45 
+     )
+alors erreur A14001;
+verif corrective horizontale 1411 :
+application : iliad ;
+si
+    (
+      COD_RAPPEL = 1411 et MONT_RAPPEL > 25 
+     )
+alors erreur A14101;
+verif corrective horizontale 20200 :
+application : iliad ;
+si
+  (
+    COD_RAPPEL = 2020 et MONT_RAPPEL > 9
+
+  )
+alors erreur A00101;
diff --git a/sources2014m_2_15/res-ser1.m b/sources2014m_2_15/res-ser1.m
new file mode 100644
index 0000000000000000000000000000000000000000..5aa10d0241b4e5b776a602e516c409417ce36628
--- /dev/null
+++ b/sources2014m_2_15/res-ser1.m
@@ -0,0 +1,661 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+ #####   ######   ####    #####     #     #####   ########
+ #    #  #       #          #       #       #     #      #
+ #    #  #####    ####      #       #       #      #    #
+ #####   #            #     #       #       #       ####
+ #   #   #       #    #     #       #       #      #    #
+ #    #  ######   ####      #       #       #     ########
+ #
+ #
+ #
+ #
+ #                 RES-SER1.m
+ #                 ===========
+ #
+ #
+ #                      zones restituees par l'application
+ #
+ #
+ #
+ #
+ #
+ #
+regle 9500:
+application :  iliad , bareme ,batch;
+MCDV = 1 * positif(V_0AM + 0)
+     + 2 * positif(V_0AC + 0)
+     + 3 * positif(V_0AD + 0)
+     + 4 * positif(V_0AV + 0)
+     + 5 * positif(V_0AO + 0);
+SFM = si  ( BOOL_0AM=1 ) 
+          alors ( si (V_0AP+0=1)
+                  alors ( si (V_0AF+0=1)
+                          alors (1)
+                          sinon (2)
+                          finsi)
+                  sinon ( si (V_0AF+0=1) 
+                          alors (3)
+                          sinon ( si ( V_0AS+0=1 et
+                          (AGV >= LIM_AGE_LET_S ou AGC >= LIM_AGE_LET_S)
+                                      )
+                                  alors (4)
+                                  finsi)
+                          finsi)
+                  finsi)
+       finsi;
+regle 9501:
+application : batch , iliad, bareme ;
+
+BOOL_V = positif(V_0AV+0) * positif(1 - BOOL_0AZ) 
+			  * ((1 - positif(PAC + V_0CH + 0))
+			     + positif(PAC + V_0CH + 0) * (3 - null(EAC + V_0CH + 0))) ;
+BOOL_CDV = positif( BOOL_V + V_0AC + V_0AD + 0);
+BOOL_PACSFL = 1 - positif( PAC +V_0CH + 0);
+BOOL_W = positif(V_0AW + 0) * positif_ou_nul( AGV - LIM_AGE_LET_S );
+SFC[DGFIP][2017] = ( 15 * positif(V_0AN + 0) * (1 - positif(V_0AP + 0)) * (1 - positif(V_0AG + 0)) * (1 - BOOL_W)         
+ 
+       + 2 * positif(V_0AP + 0) * (1-positif(V_0AL+0))          
+
+
+       + 14 * positif(V_0AG + 0) * (1 - positif(V_0AP + 0)) * (1 - BOOL_W)                   
+
+       + 7 * BOOL_W * (1 - positif(V_0AP + 0)))
+       
+       * (1-positif(V_0AL+0)) * BOOL_CDV * BOOL_PACSFL;
+
+regle 9507:
+application : batch , iliad ,  bareme ;
+SFL = positif (V_0AL + 0) * BOOL_CDV * BOOL_PACSFL *
+
+      ( 2 * positif(V_0AP + 0) 
+
+      + 9 * ( 1 - BOOL_W ) * positif( 1- V_0AP + 0) * positif(1-(V_0AG + 0)) * positif (1-(V_0AN+0))  
+
+      + 7 * BOOL_W * positif(1-(V_0AP + 0)) 
+
+      + 15 * positif (V_0AN +0) * ( 1 - BOOL_W ) * positif(1-(V_0AG + 0)) * positif(1-(V_0AP + 0)) 
+
+      + 14 * positif (V_0AG +0) * ( 1 - BOOL_W ) * positif(1-(V_0AP + 0))) ;
+regle 9502:
+application : batch , iliad , bareme ;
+
+
+
+SFC[DGFIP][2017] = positif(PAC+V_0CH) * positif(V_0AC + V_0AD + null(2- BOOL_V)) *
+	(
+		positif(V_0AP+0) * ( 10 * positif(V_0BT+0) * (1-positif(V_0AV))
+ 			            + 2 * positif(V_0AV)
+                                    + 2 * (1 - positif(V_0AV)) *(1 - positif(V_0BT+0)))
+          + (1-positif(V_0AP+0)) * ( 11 * positif(V_0BT+0)) * (1-positif(V_0AV+0))
+	);
+regle 9503:
+application : batch , iliad , bareme ;
+
+SFV1 = 2 * positif(V_0AP + 0) * null(BOOL_V - 3) ;
+
+regle 9504:
+application : batch , iliad ,  bareme ;
+SFV2 = si ( V_0AV+0=1 et BOOL_0AZ =1)
+       alors (si (V_0AP+0=1)
+              alors (si (V_0AF+0=1)
+                     alors (1)
+                     sinon (2)
+                     finsi)
+              sinon (si (V_0AF+0=1)
+                     alors (3)
+                     sinon (si (V_0AW+0=1)
+                            alors (7)
+                            finsi)
+                     finsi)  
+              finsi)
+        finsi;
+regle 9505:
+application : batch , iliad , bareme ;
+
+BOOL_0AM = positif(positif(V_0AM + 0) + positif(V_0AO + 0)) ;
+
+regle 9506:
+application : batch , iliad , bareme ;
+SFUTILE = SFM + SFC[DGFIP][2017] + SFC[DGFIP][2017] + SFV1 + SFV2 + SFL ;
+regle 9510:
+application : batch , iliad ;
+NATPENA = si ((APPLI_COLBERT+APPLI_ILIAD+APPLI_COLBERT=1) et  
+	     (CMAJ =7 ou CMAJ =8 ou CMAJ=9 ou CMAJ=10 ou CMAJ=11 ou CMAJ=12 ou CMAJ=17 ou CMAJ=18 ))
+          alors (1)
+          sinon ( si ( CMAJ = 2 )
+                  alors (2)
+                  sinon ( si ( CMAJ=3 ou CMAJ=4 ou CMAJ=5 ou CMAJ=6 ) 
+                          alors (4)
+                          finsi
+                        )
+                  finsi
+                 )
+           finsi;
+regle 901:
+application : iliad ;
+TSALV = TSBNV;
+TSALC = TSBNC;
+regle 902:
+application : iliad , batch  ;
+TSALP = TSBN1 + TSBN2 + TSBN3 + TSBN4;
+regle 903 :
+application : iliad , batch  ;
+pour i = V,C,1..4:
+[DGFIP][2017]0Ai = si (IND_10i = 0 ou
+       (IND_10i = 1 et IND_10MIN_0i = 0))
+        alors (max(FRDAi,DFNi))
+       finsi;
+regle 90301 :
+application :  iliad , batch  ;
+[DGFIP][2017]0AP = somme(i=1..4:[DGFIP][2017]0Ai);  
+regle 90302 :
+application : iliad , batch  ;
+pour i = V,C,1..4:
+[DGFIP][2017]0Bi = si (IND_10i = 1 et IND_10MIN_0i = 1)
+        alors (10MINSi)
+       finsi;
+regle 90303 :
+application : iliad , batch  ;
+[DGFIP][2017]0BP = somme(i=1..4:[DGFIP][2017]0Bi);
+regle 904 :
+application : iliad , batch  ;
+pour i = V,C,1,2,3,4:
+DEDSi =  (10MINSi - DFNi) * (1-positif([DGFIP][2017]0Bi)) * IND_10i ;
+regle 90401 :
+application :  iliad , batch  ;
+DEDSP = somme( i=1..4: DEDSi ) ;
+regle 905 :
+application : iliad , batch ;
+PRV = PRBRV;
+PRC = PRBRC;
+PRP = PRBR1 + PRBR2 + PRBR3 + PRBR4 ;
+PRZV = PENINV;
+PRZC = PENINC;
+PRZP = PENIN1 + PENIN2 + PENIN3 + PENIN4 ;
+PALIP = PAL[DGFIP][2017] + PAL[DGFIP][2017] + PALI3 + PALI4;
+regle 906 :
+application : iliad , batch  ;
+pour i = V,C:
+AB10i = APRi;
+AB10P = APR1 + APR2 + APR3 + APR4 ;
+regle 909:
+application : iliad , batch ;
+TSPRT =  (TSNNV + PRRV
+        + TSNNC + PRRC
+        + TSNN1 + PRR1
+        + TSNN2 + PRR2
+        + TSNN3 + PRR3
+        + TSNN4 + PRR4);
+regle 9011 :
+application : iliad , batch ;
+pour i = V,C,P:
+RBAi = BAHREi + 4BAHREi
+     + BACREi + 4BACREi
+     + BAFORESTi
+     + BAFi + BAFPVi- BACDEi - BAHDEi;
+regle 9013 :
+application : iliad , batch ;
+pour i= V,C,P:
+BIPi =
+   BICNOi  
+ - BICDNi
+ + BIHNOi  
+ - BIHDNi
+  ; 
+
+pour i= V,C,P:                                           
+BIPNi = BIPTAi + BIHTAi ;                        
+BIPN  = BIPNV + BIPNC + BIPNP ;                          
+                                                         
+
+pour i= V,C,P:                                           
+MIBRi = MIBVENi + MIBPRESi ;
+MIBR = somme(i=V,P,C: MIBRi);
+pour i= V,C,P:                                           
+MLOCDECi = MIBGITEi + LOCGITi + MIBMEUi ;
+pour i= V,C,P:                                           
+MIBRABi = MIB_ABVi + MIB_ABPi ;
+pour i= V,C,P:                                           
+MLOCABi = MIB_ABNPVLi + MIB_ABNPPLi ;
+pour i= V,C,P:                                           
+MIBRNETi = max (0,MIBRi - MIBRABi );
+MIBRNET = somme(i=V,C,P:MIBRNETi);
+pour i= V,C,P:                                           
+MLOCNETi = max (0,MLOCDECi - MLOCABi );
+MLOCNET = somme(i=V,C,P:MLOCNETi);
+pour i= V,C,P:                                           
+MIBNPRi = MIBNPVENi + MIBNPPRESi ;
+pour i= V,C,P:                                           
+MIBNPRABi = MIB_ABNPVi + MIB_ABNPPi ;
+pour i= V,C,P:                                           
+MIBNPRNETi = max (0,MIBNPRi - MIBNPRABi );
+regle 9014 :
+application : iliad , batch  ;
+
+pour i=V,C,P:
+BINi = 
+   BICREi  
+ - BICDEi 
+ + BICHREi  
+ - BICHDEi
+ ;  
+
+regle 90141 :
+application : iliad , batch  ;
+
+pour i=V,C,P:
+BINNi= BINTAi + BINHTAi;
+regle 9015 :
+application : iliad , batch  ;
+BNCV = BNHREV + BNCREV - BNHDEV - BNCDEV;
+BNCC = BNHREC + BNCREC - BNHDEC - BNCDEC;
+BNCP = BNHREP + BNCREP - BNHDEP - BNCDEP;
+BNCAFFV = positif(present(BNHREV) + present(BNCREV) + present(BNHDEV) + present(BNCDEV));
+BNCAFFC = positif(present(BNHREC) + present(BNCREC) + present(BNHDEC) + present(BNCDEC));
+BNCAFFP = positif(present(BNHREP) + present(BNCREP) + present(BNHDEP) + present(BNCDEP));
+regle 9016 :
+application : iliad , batch  ;
+DIDABNCN[DGFIP][2017] = min(NOCEPIMP+SPENETNPF, DABNCN[DGFIP][2017]+DABNCN[DGFIP][2017]+DABNCNP3+DABNCNP4+DABNCN[DGFIP][2017]+DABNCNP6);
+DIDABNCNP =  min(DABNCN[DGFIP][2017]+DABNCN[DGFIP][2017]+DABNCNP3+DABNCNP4+DABNCN[DGFIP][2017]+DABNCNP6,max(DIDABNCN[DGFIP][2017]1731,max(DIDABNCN[DGFIP][2017]_P,DIDABNCN[DGFIP][2017][DGFIP][2017]))) * positif(DEFRIBNC)*(1-PREM8_11)
+             + max(0,min(NOCEPIMP+SPENETNPF, DABNCN[DGFIP][2017]+DABNCN[DGFIP][2017]+DABNCNP3+DABNCNP4+DABNCN[DGFIP][2017]+DABNCNP6)) * (1-positif(DEFRIBNC))
+             + 0 * PREM8_11;
+regle 90249 :
+application : iliad , batch ;
+
+BNCIF = (1-positif(ART1731BIS)) *  max (0,NOCEPIMP+SPENETNPF-DABNCNP6 -DABNCN[DGFIP][2017] -DABNCNP4 -DABNCNP3 -DABNCN[DGFIP][2017] -DABNCN[DGFIP][2017]) 
+        + positif(ART1731BIS) * ((1-positif(DEFRIBNC)*(1-PREM8_11)) * max (0,NOCEPIMP+SPENETNPF-DIDABNCNP)
+                                  + positif(DEFRIBNC)*(1-PREM8_11) * max (0,NOCEPIMP+SPENETNPF-DIDABNCNP+DEFBNCNP)
+                                )
+          ;
+regle 9024 :
+application : iliad , batch ;
+BRCM = RCMABD + RCMTNC + RCMAV + RCMHAD + RCMHAB + REGPRIV;
+regle 90240 :
+application : iliad , batch ;
+BRCMQ = REVACT + REVPEA + PROVIE + DISQUO + RESTUC + INTERE;
+BRCMTOT = RCMAB + RTNC + RAVC + RCMNAB + RTCAR + RCMPRIVM;
+regle 90241 :
+application : iliad , batch  ;
+RRCM = max(0,RCM);
+regle 9026 :
+application : iliad , batch  ;
+B1FIS = max( RCM+2RCM+3RCM+4RCM+5RCM+6RCM+7RCM , 0 );
+regle 9028 :
+application : iliad , batch  ;
+DRFRP = ((1-positif(IPVLOC)) * (abs (DFCE+DFCG) * (1-positif(RFMIC))
+             + positif(RFMIC) *  abs(min(0,RFMIC - MICFR - RFDANT)) ))
+             * (1-positif(ART1731BIS))
+             + ART1731BIS * DEFRFNONI;
+regle 9030 :
+application :  iliad , batch  ;
+
+
+DLMRN1TXM = - min(0,MIB_NETCT *(1-positif(MIBNETPTOT))
+                          +SPENETCT * (1 - positif(SPENETPF)));
+DLMRN1 = ((1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)) * abs(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+                 + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+                 * positif_ou_nul(DEFBIC5+DEFBIC4+DEFBIC3+DEFBIC2+DEFBIC1-(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))
+                 * (DEFBIC5+DEFBIC4+DEFBIC3+DEFBIC2+DEFBIC1-(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))
+                 * null(DLMRN6+DLMRN5+DLMRN4+DLMRN3+DLMRN2))
+		 * (1-positif(ART1731BIS))
+		 + (
+                   DEFBICNPF * positif(ART1731BIS*(1-PREM8_11)))
+                 + (BICHDEV+BICHDEC+BICHDEP+BICDEV+BICDEC+BICDEP) * positif(ART1731BIS*PREM8_11);
+regle 903092 :
+application :  iliad , batch  ;
+DLMRN2 = positif(DEFBIC1) * (
+                 ((1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))* DEFBIC1
+                 + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+                 * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3-DEFBIC2,0)-DEFBIC1,DEFBIC1)*(-1)
+                 * positif_ou_nul(DEFBIC1-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3-DEFBIC2,0)))
+		 * (1-positif(ART1731BIS))
+                  + min(DEFBIC1,DEFNP - DEFNPI) * positif(ART1731BIS*(1-PREM8_11))
+                  + DEFBIC1 * positif(ART1731BIS*PREM8_11));
+regle 903093 :
+application :  iliad , batch  ;
+DLMRN3 = positif(DEFBIC2) * (
+                  ((1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))* DEFBIC2
+                  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+* min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3,0)-DEFBIC2,DEFBIC2)*(-1)
+                  * positif_ou_nul(DEFBIC2-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4-DEFBIC3,0)))
+		 * (1-positif(ART1731BIS))
+                  + min(DEFBIC2,DEFNP - DEFNPI-DLMRN2) * positif(ART1731BIS*(1-PREM8_11))
+                  + DEFBIC2 * positif(ART1731BIS*PREM8_11));
+regle 903094 :
+application :  iliad , batch  ;
+DLMRN4 = positif(DEFBIC3) * (
+                  ((1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT))  * DEFBIC3
+                  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+                  * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4,0)-DEFBIC3,DEFBIC3)*(-1)
+                  * positif_ou_nul(DEFBIC3-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5-DEFBIC4,0)))
+		 * (1-positif(ART1731BIS))
+                  + min(DEFBIC3,DEFNP - DEFNPI-DLMRN2-DLMRN3) * positif(ART1731BIS*(1-PREM8_11))
+                  + DEFBIC3 * positif(ART1731BIS*PREM8_11));
+regle 903095 :
+application :  iliad , batch  ;
+DLMRN5 = positif(DEFBIC4) * (
+                  ((1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)) * DEFBIC4
+                  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+                  * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5,0)-DEFBIC4,DEFBIC4)*(-1)
+                  * positif_ou_nul(DEFBIC4-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6-DEFBIC5,0)))
+		 * (1-positif(ART1731BIS))
+                  + min(DEFBIC4,DEFNP - DEFNPI-DLMRN2-DLMRN3-DLMRN4) * positif(ART1731BIS*(1-PREM8_11))
+                  + DEFBIC4 * positif(ART1731BIS*PREM8_11));
+regle 903096 :
+application :  iliad , batch  ;
+DLMRN6 =  positif(DEFBIC5) * (
+                  ((1-positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)) * DEFBIC5
+                  + positif_ou_nul(somme(i=V,C,P:BICNPi)+MIB_NETNPCT)
+                  * min(max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6,0)-DEFBIC5,DEFBIC5)*(-1)
+                  * positif_ou_nul(DEFBIC5-max(somme(i=V,C,P:BICNPi)+MIB_NETNPCT-DEFBIC6,0)))
+		 * (1-positif(ART1731BIS))
+                  + min(DEFBIC5,DEFNP - DEFNPI-DLMRN2-DLMRN3-DLMRN4-DLMRN5) * positif(ART1731BIS*(1-PREM8_11))
+                  + DEFBIC5 * positif(ART1731BIS*PREM8_11));
+regle 903097 :
+application :  iliad , batch  ;
+DLMRN = max(0, DEFNP - BICNPV*positif(BICNPV)-BICNPC*positif(BICNPC)-BICNPP*positif(BICNPP)
+                     + abs(BICNPV)*(1-positif(BICNPV))*null(DLMRN1)
+                     + abs(BICNPC)*(1-positif(BICNPC))*null(DLMRN1)
+                     + abs(BICNPP)*(1-positif(BICNPP))*null(DLMRN1)) + DLMRN1;
+TOTDLMRN = somme(i=1..6:DLMRNi);
+DLMRNTXM = max(0,DEFNP - BICNPV*positif(BICNPV)-BICNPC*positif(BICNPC)-BICNPP*positif(BICNPP)
+         +MIB_NETCT+MIB_NETNPCT+SPENETCT+SPENETNPCT + DLMRN1 
+               );
+regle 90305: 
+application :  iliad , batch  ;
+DRCVM = DPVRCM ;
+regle 9031 :
+application : iliad , batch  ;
+BALNP = max(0,NOCEPIMP);
+NOCEP =           ANOCEP - ((min(DNOCEP,DNOCE[DGFIP][2017]731+0) * positif(ART1731BIS) + DNOCEP * (1 - positif(ART1731BIS*PREM8_11))) 
+			 +(min(DABNCNP6,DABNCNP61731+0) * positif(ART1731BIS) + DABNCNP6 * (1 - positif(ART1731BIS*PREM8_11)))
+			 +(min(DABNCN[DGFIP][2017],DABNCN[DGFIP][2017]1731+0) * positif(ART1731BIS) + DABNCN[DGFIP][2017] * (1 - positif(ART1731BIS*PREM8_11)))
+                         +(min(DABNCNP4,DABNCNP41731+0) * positif(ART1731BIS) + DABNCNP4 * (1 - positif(ART1731BIS*PREM8_11)))
+                         +(min(DABNCNP3,DABNCNP31731+0) * positif(ART1731BIS) + DABNCNP3 * (1 - positif(ART1731BIS*PREM8_11)))
+                         +(min(DABNCN[DGFIP][2017],DABNCN[DGFIP][2017]1731+0) * positif(ART1731BIS) + DABNCN[DGFIP][2017] * (1 - positif(ART1731BIS*PREM8_11)))
+                         +(min(DABNCN[DGFIP][2017],DABNCN[DGFIP][2017]1731+0) * positif(ART1731BIS) + DABNCN[DGFIP][2017] * (1 - positif(ART1731BIS*PREM8_11))));
+regle 9032 :
+application : iliad , batch  ;
+DALNP = (1-positif(IPVLOC)) * (BNCD[DGFIP][2017]+BNCD[DGFIP][2017]+BNCDF3+BNCDF4+BNCD[DGFIP][2017]+BNCDF6);
+regle 9033 :
+application :  iliad , batch  ;
+DESV =  REPSOF;
+regle 9042 :
+application : batch, iliad  ;
+VLHAB = max ( 0 , IPVLOC ) ;
+regle 9043 :
+application : iliad , batch  ;
+DFANT = (DEFAA5 + DEFAA4 + DEFAA3 + DEFAA2 + DEFAA1 + DEFAA0) * (1 - positif(ART1731BIS*PREM8_11) ) * (1 - positif(IPVLOC));
+DFANTPROV = min(0,(RG - DAR ) *(1-positif(RE168+TAX1649)) + positif(RE168+TAX1649) * (RE168+TAX1649)) + SOMDEFICIT;
+DFANTIMPU = (1 - positif(IPVLOC)) * (
+                        (DEFAA5 + DEFAA4 + DEFAA3 + DEFAA2 + DEFAA1 + DEFAA0) * (1 - positif(ART1731BIS)) 
+                        +  max(0,min(SOMDEFICIT,-max(DFANTPROV1731,max(DFANTPROV_P,DFANTPROV[DGFIP][2017]))+SOMDEFICIT))
+                                     * positif(DEFRIGLOBINF+DEFRIGLOBSUP) * (1-PREM8_11));
+DAR_REP =  somme (i=0..4:DEFAAi ) * (1 - positif(IPVLOC));
+regle 9044 :
+application : iliad , batch  ;
+RRBG = ((RG - DAR ) *(1-positif(RE168+TAX1649)) + positif(RE168+TAX1649) * (RE168+TAX1649)) * (1-ART1731BIS)
+        + ((RG - (DAR - DFANTIMPU)) *(1-positif(RE168+TAX1649)) + positif(RE168+TAX1649) * (RE168+TAX1649)) * ART1731BIS;
+RRRBG = max(0 , RRBG);
+DRBG = min(0 , RRBG);
+regle 9045 :
+application : iliad , batch  ;
+
+DDCSG = (V_BTCSGDED * (1-present(DCSG)) + DCSG) * (1-null(4 -V_REGCO)) 
+        + positif(RCMSOC+0) * (1 - positif(null(2-V_REGCO)+null(4-V_REGCO)))
+                            * (1 - positif(present(RE168)+present(TAX1649)))
+          * arr( min( RCMSOC , RCMABD + REVACT + RCMAV + PROVIE + RCMHAD + DISQUO + RCMHAB + INTERE ) 
+                    * TX051/100) ; 
+
+RDCSG = max (min(DDCSG , RBG + TOTALQUO - SDD) , 0);
+regle 9047 :
+application : iliad , batch  ;
+DPALE =  somme(i=1..4:CHENFi+NCHENFi);
+RPALE = max(0,min(somme(i=1..4:min(NCHENFi,LIM_PENSALENF)+min(arr(CHENFi*MAJREV),LIM_PENSALENF)),
+                RBG-DDCSG+TOTALQUO-SDD)) *(1-V_CNR);
+regle 9049 :
+application : iliad , batch  ;
+DNETU = somme(i=1..4: CHENFi);
+RNETU = max(0,min(somme(i=1..4:min(CHENFi,LIM_PENSALENF)),
+                RBG+TOTALQUO-SDD-RPALE)) *(1-V_CNR);
+regle 9050 :
+application : iliad , batch  ;
+DPREC = CHNFAC;
+regle 9051 :
+application : iliad , batch  ;
+DFACC = CHRFAC;
+RFACC = max( min(DFA,RBG - RPALE - RPALP  - DDCSG + TOTALQUO - SDD) , 0);
+regle 9052 :
+application : iliad ;
+TRANSFERT = R1649+PREREV+RE168+TAX1649;
+regle 9054 :
+application : iliad , batch  ;
+RPALP = max( min(TOTPA,RBG - RPALE - DDCSG + TOTALQUO - SDD) , 0 ) * (1 -V_CNR);
+DPALP = PAAV + PAAP ;
+regle 9055 :
+application : iliad , batch  ;
+DEDIV = (1-positif(RE168+TAX1649))*CHRDED;
+RDDIV = max( min(DEDIV * (1 - V_CNR),RBG - RPALE - RPALP - RFACC - DDCSG + TOTALQUO - SDD ) , 0 );
+
+regle 90551 :
+application : iliad , batch  ;
+
+NUPROPT = REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017]1 + REPGRORE[DGFIP][2017]2 + REPGRORE[DGFIP][2017]3 + NUPROP ;
+
+NUREPAR = min(NUPROPT , max(0,min(PLAF_NUREPAR, RRBG - RPALE - RPALP - RFACC - RDDIV - APERPV - APERPC - APERPP - DDCSG + TOTALQUO - SDD))) 
+	  * ((V_REGCO+0) dans (1,3,5,6,7)) ;
+
+REPNUREPART = max( NUPROPT - NUREPAR , 0 ) ;
+ 
+REPAR5 = max( REPGRORE[DGFIP][2017] - NUREPAR , 0 ) * ((V_REGCO+0) dans (1,3,5,6,7)) ;
+
+REPAR4 = ( positif_ou_nul(REPGRORE[DGFIP][2017] - NUREPAR) * REPGRORE[DGFIP][2017]
+	 + (1-positif_ou_nul(REPGRORE[DGFIP][2017] - NUREPAR)) * max(REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017] - NUREPAR , 0 )) * ((V_REGCO+0) dans (1,3,5,6,7)) ;
+
+REPAR3 = ( positif_ou_nul(REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017] - NUREPAR) * REPGRORE[DGFIP][2017]1
+	 + (1-positif_ou_nul(REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017] - NUREPAR)) * max( REPGRORE[DGFIP][2017]1 + REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017] - NUREPAR , 0 )) * ((V_REGCO+0) dans (1,3,5,6,7)) ;
+
+REPAR2 = ( positif_ou_nul(REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017]1 - NUREPAR) * REPGRORE[DGFIP][2017]2
+	 + (1-positif_ou_nul(REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017]1 - NUREPAR)) * max( REPGRORE[DGFIP][2017]2 + REPGRORE[DGFIP][2017]1 + REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017] - NUREPAR , 0 )) * ((V_REGCO+0) dans (1,3,5,6,7)) ;
+
+REPAR1 = ( positif_ou_nul(REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017]1 + REPGRORE[DGFIP][2017]2 - NUREPAR) * REPGRORE[DGFIP][2017]3
+	 + (1-positif_ou_nul(REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017]1 + REPGRORE[DGFIP][2017]2 - NUREPAR)) 
+                                                                               * max( REPGRORE[DGFIP][2017]3 + REPGRORE[DGFIP][2017]2 + REPGRORE[DGFIP][2017]1 + REPGRORE[DGFIP][2017] + REPGRORE[DGFIP][2017] - NUREPAR , 0 )) * ((V_REGCO+0) dans (1,3,5,6,7)) ;
+
+REPAR = max( REPNUREPART - REPAR5 - REPAR4 - REPAR3 - REPAR2 - REPAR1, 0 ) * ((V_REGCO+0) dans (1,3,5,6,7)) ;
+
+REPNUREPAR =  REPAR5 + REPAR4 + REPAR3 + REPAR2 + REPAR1 + REPAR ;
+
+regle 9059 :
+application : iliad , batch  ;
+CHTOT = max( 0 , 
+   min( DPA + DFA + (1-positif(RE168+TAX1649))*CHRDED + APERPV + APERPC + APERPP + NUREPAR , RBG
+       - DDCSG + TOTALQUO - SDD) 
+           )  * (1-V_CNR);
+regle 9060 :
+application : iliad , batch  ;
+ABMAR = min(ABTMA,  max(RNG + TOTALQUO - SDD - SDC - ABTPA , 0));
+regle 9061 :
+application : iliad , batch  ;
+ABVIE = min(ABTPA,max(RNG+TOTALQUO-SDD-SDC,0));
+regle 9062 :
+application : iliad , batch  ;
+RNI =   (1-ART1731BIS) * (positif(RG+R1649+PREREV) * arr(R[DGFIP][2017]) * (1-positif(RE168+TAX1649)) + (RE168+TAX1649) * positif(RE168+TAX1649))
+        + ART1731BIS * (positif(RG+R1649+PREREV+SOMDEFICIT) * arr(R[DGFIP][2017]) * (1-positif(RE168+TAX1649)) + (RE168+TAX1649) * positif(RE168+TAX1649));
+regle 9063 :
+application :  iliad , batch  ;
+TOTALQUORET = min(TOTALQUO,max(TOTALQUO1731,max(TOTALQUO_P,TOTALQUO[DGFIP][2017])));
+RNIDF = (1 - positif_ou_nul( RG-DAR+TOTALQUO )) 
+         * (
+         (1 - positif_ou_nul(RG + TOTALQUO)) *
+          (((RG + TOTALQUO) * (-1)) + DAR_REP)
+         + null(RG+TOTALQUO) * (DAR_REP)
+         + positif(RG + TOTALQUO) *
+           (positif(RG + TOTALQUO - DEFAA5) * (RG + TOTALQUO - DAR )
+	   + (1 -positif(RG + TOTALQUO - DEFAA5)) * DAR_REP)
+           ) * (1-positif(ART1731BIS))
+        + max(0,FRNV-FRDV+FRNC-FRDC+FRN1-FR[DGFIP][2017]+FRN2-FR[DGFIP][2017]+FRN3-FRD3+FRN4-FRD4+SOMDEFICITHTS-DEFAA5
+                - (BACDEV + BAHDEV + BACDEC + BAHDEC + BACDEP + BAHDEP ) * (1-positif(SEUIL_IMPDEFBA + 1 - SHBA - (REVTP-BA1) -(
+                                somme(i=1..3 : GLNi) +max(0,4BAQV+4BAQC+4BAQP + BAHQTOTMIN + BAHQTOTMAXN) +GLN4V + GLN4C+ somme (i=V,C,1..4: PENALIMi)+
+                                somme(i=V,C,1..4: PENFi)+somme (i=V,C,1..4:TSNN2TSi)+somme (i=V,C,1..4:TSNN2REMPi)
+                               +somme (i=V,C,1..4:PRR2i)+T2RV+2RCM + 3RCM + 4RCM + 5RCM + 6RCM + 7RCM+2REVF+3REVF )))) * positif(ART1731BIS) * PREM8_11
+        + ( positif(DFANTIMPU - DFANT) * max(0,DFANTIMPU - TOTALQUORET - DEFAA5)
+         + (1-positif(DFANTIMPU - DFANT)) * max(0,DFANTIMPU-TOTALQUORET- max(0,DEFAA5+DFANTIMPU-TOTALQUORET-DFANT))
+           ) * positif(ART1731BIS)  * (1-PREM8_11)
+           ;
+
+RNID[DGFIP][2017] = (((1-positif_ou_nul(RG + TOTALQUO)) * DEFAA0
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5 -DEFAA4 -DEFAA3 -DEFAA2 -DEFAA1,0) -DEFAA0, DEFAA0)*(-1)
+     * positif_ou_nul(DEFAA0 -max(RG+TOTALQUO-DEFAA5 -DEFAA4 -DEFAA3 -DEFAA2 -DEFAA1,0)))
+          * (1-positif(ART1731BIS))
+                  + min(DEFAA0,RNIDF) * positif(ART1731BIS*(1-PREM8_11))
+                  + DEFAA0 * positif(ART1731BIS*PREM8_11));
+
+RNID[DGFIP][2017] = (((1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA1)
+        + positif_ou_nul(RG + TOTALQUO) *
+        min(max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2,0)-DEFAA1,DEFAA1)*(-1)
+        * positif_ou_nul(DEFAA1-max(RG+TOTALQUO-DEFAA5-DEFAA4-DEFAA3-DEFAA2,0)))
+          * (1-positif(ART1731BIS))
+                  + min(DEFAA1,RNIDF - RNID[DGFIP][2017]) * positif(ART1731BIS*(1-PREM8_11))
+                  + DEFAA1 * positif(ART1731BIS*PREM8_11));
+
+RNIDF3 = (((1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA2)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5 -DEFAA4 -DEFAA3,0) -DEFAA2, DEFAA2)*(-1)
+     * positif_ou_nul(DEFAA2 -max(RG+TOTALQUO-DEFAA5 -DEFAA4 -DEFAA3,0)))
+          * (1-positif(ART1731BIS))
+                  + min(DEFAA2,RNIDF - RNID[DGFIP][2017] - RNID[DGFIP][2017]) * positif(ART1731BIS*(1-PREM8_11))
+                  + DEFAA2 * positif(ART1731BIS*PREM8_11));
+
+RNIDF4 = (((1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA3)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5 -DEFAA4,0) -DEFAA3, DEFAA3)*(-1)
+     * positif_ou_nul(DEFAA3 -max(RG+TOTALQUO-DEFAA5 -DEFAA4,0)))
+          * (1-positif(ART1731BIS))
+                  + min(DEFAA3,RNIDF - RNID[DGFIP][2017] - RNID[DGFIP][2017] - RNIDF3) * positif(ART1731BIS*(1-PREM8_11))
+                  + DEFAA3 * positif(ART1731BIS*PREM8_11));
+
+RNID[DGFIP][2017] = (((1 - positif_ou_nul(RG + TOTALQUO)) * (DEFAA4)
+        + positif_ou_nul(RG + TOTALQUO) * 
+        min(max(RG+TOTALQUO-DEFAA5,0) -DEFAA4, DEFAA4)*(-1) * positif_ou_nul(DEFAA4 -max(RG+TOTALQUO-DEFAA5,0)))
+          * (1-positif(ART1731BIS))
+                  + min(DEFAA4,RNIDF - RNID[DGFIP][2017] - RNID[DGFIP][2017] - RNIDF3 - RNIDF4) * positif(ART1731BIS*(1-PREM8_11))
+                  + DEFAA4 * positif(ART1731BIS*PREM8_11));
+RNID[DGFIP][2017] = ((1-positif(RG + TOTALQUO)) * (RG + TOTALQUO) * (-1))
+          * (1-positif(ART1731BIS))
+        + 
+                    (RNIDF - RNID[DGFIP][2017] - RNID[DGFIP][2017] - RNIDF3 - RNIDF4 - RNID[DGFIP][2017]) * positif(ART1731BIS);
+regle 90631 :
+application : batch,iliad ;
+RNICOL = (RNI + RNIDF);
+regle 9064 :
+application : iliad , batch  ;
+TTPVQ = TONEQUOHT;
+regle 9069 :
+application : iliad , batch  ;
+TEFF = VARIPTEFP - VARIPTEFN + TEFFREVTOT ; 
+TEFFP_1 = max(0, TEFF);
+TEFFP_2 = (max(0, TEFF) * null(SOMMEMOND_2+0)
+        + positif(SOMMEMOND_2) *  max(0,IPTEFP+DEFZU-IPTEFN)) * (1-PREM8_11)
+         + max(0,IPTEFP+DEFZU-IPTEFN) * PREM8_11;
+TEFFP = TEFFP_1 * (1-positif(SOMMEMOND_2))+ TEFFP_2* positif(positif(SOMMEMOND_2+0)+PREM8_11);
+TEFFN_1 = (1-positif_ou_nul(TEFF)) * ( min(0, TEFF) * (-1) ) + 0;
+TEFFN_2 = ((1-positif_ou_nul(TEFF)) * ( min(0, TEFF) * (-1) ) + 0) * null(SOMMEMOND_2+0) * (1-PREM8_11) + 0;
+TEFFN = TEFFN_1 * (1-positif(SOMMEMOND_2)) + TEFFN_2 * positif(SOMMEMOND_2);
+RDMO = TEFF + (VARRMOND * positif(SOMMEMOND_2) + RMOND * (1 - positif(SOMMEMOND_2*PREM8_11)))
+                           - (VARDMOND * positif(SOMMEMOND_2) + DMOND * (1 - positif(SOMMEMOND_2*PREM8_11)));
+
+RMONDT = positif(RMOND + DEFZU - DMOND) * (RMOND + DEFZU - DMOND) ;
+
+DMONDT = max(0 , RMOND + DEFZU - DMOND) ;
+RMOND_1 =  RMOND;
+RMOND_2 =  (max(0,RMOND + DEFZU - DMOND) * positif(SOMMEMOND_2) * (1-PREM8_11)
+           + RMOND *  null(SOMMEMOND_2+0)) * (1-PREM8_11)
+           + max(0,RMOND + DEFZU - DMOND) * PREM8_11 ;
+DMOND_1 =  DMOND;
+DMOND_2 =  DMOND *  null(SOMMEMOND_2+0)+0*(1-PREM8_11);
+regle 90691 :
+application : iliad , batch ;
+FRF = somme (i=V,C,1,2,3,4: FRDi * (1-IND_10i))*(1-positif(APPLI_COLBERT+APPLI_OCEANS));
+regle 9070 :
+application : iliad , batch;
+QUOHPV = somme(i=VO,CJ,PC:TSQi + PRQi)+ PALIQV + PALIQC + PALIQP
+       + BAQV + BAQC + BAQP
+       + BRCMQ + RFQ + somme(x=1..3;i=V,C:GLDxi) ;
+regle 90705:
+application : iliad ;
+TX_CSG = T_CSG * (1-positif(APPLI_OCEANS));
+TX_RDS = T_RDS * (1-positif(APPLI_OCEANS));
+TX_PREL_SOC = (positif(V_EAG + V_EAD) * (T_PREL_SOCDOM)
+              + positif(( 1-V_EAD ) * ( 1-V_EAG )) * (T_PREL_SOC))
+	      * (1-V_CNR) * (1-positif(APPLI_OCEANS));
+TX_IDCSG = T_IDCSG * (1-positif(APPLI_OCEANS));
+regle 90707:
+application : batch, iliad ;
+
+SURIMP = IPSURSI ;
+
+REPPLU = CREDPVREP + V_BTPVREP * (1-present(CREDPVREP)) ;
+
+regle 90708:
+application : iliad ;
+INDM14 = positif_ou_nul(IREST - LIM_RESTIT) * (1-positif(APPLI_OCEANS));
+regle 90709:
+application : iliad ;
+INDDEFICIT = positif(RNID[DGFIP][2017] + DEFBA6 + DEFBA5 + DEFBA4 + DEFBA3 + DEFBA2 +DEFBA1
+		   + DRFRP + DLMRN1 + DALNP + IRECR + DPVRCM + MIBDREPV + MIBDREPC
+                   + MIBDREPP + MIBDREPNPV + MIBDREPNPC + MIBDREPNPP + SPEDREPV + SPEDREPC
+                   + SPEDREPP + SPEDREPNPV + SPEDREPNPC + SPEDREPNPP) * (1-positif(APPLI_OCEANS));
+regle 4070121:
+application : iliad , batch  ;
+RP = somme (i=V,C: TSNNi + TSNN2i + BICIMPi + BICNPi + BNNi +  max(0,BANi) + BAEi)
+                 + (min (0,BANV) + min (0,BANC)) *
+                 (1 - positif(1 + SEUIL_IMPDEFBA - SHBA - REVQTOTQHT
+                 - (REVTP - BA1)  ))
+                 + max(0 , ANOCEP - ((min(DNOCEP,DNOCE[DGFIP][2017]731+0) * positif(ART1731BIS) + DNOCEP * (1 - positif(ART1731BIS*PREM8_11)))
+		 +(min(DABNCNP6,DABNCNP61731+0) * positif(ART1731BIS) + DABNCNP6 * (1 - positif(ART1731BIS*PREM8_11)))
+		 +(min(DABNCN[DGFIP][2017],DABNCN[DGFIP][2017]1731+0) * positif(ART1731BIS) + DABNCN[DGFIP][2017] * (1 - positif(ART1731BIS*PREM8_11)))
+		 +(min(DABNCNP4,DABNCNP41731+0) * positif(ART1731BIS) + DABNCNP4 * (1 - positif(ART1731BIS*PREM8_11)))
+		 +(min(DABNCNP3,DABNCNP31731+0) * positif(ART1731BIS) + DABNCNP3 * (1 - positif(ART1731BIS*PREM8_11)))
+		 +(min(DABNCN[DGFIP][2017],DABNCN[DGFIP][2017]1731+0) * positif(ART1731BIS) + DABNCN[DGFIP][2017] * (1 - positif(ART1731BIS*PREM8_11)))
+		 +(min(DABNCN[DGFIP][2017],DABNCN[DGFIP][2017]1731+0) * positif(ART1731BIS) + DABNCN[DGFIP][2017] * (1 - positif(ART1731BIS*PREM8_11)))
+		 ) ) + somme(i=1..3:GLNi) ;
+
+regle 666998:
+application :  iliad, batch;
+
+AGREPAPER = PALIV + PALIC + PALIP + PENSALV + PENSALC + PENSALP ;
+
+AGREPARET = RPALE + RPALP ;
+
+AGREPPE = max(0,PPETOTX-PPERSA) ;
+
+AGREDTARDIF = positif(RETIR + RETTAXA + RETPCAP + RETLOY + RETHAUTREV + RETCS + RETRD + RETPS
+                      + RETCVN + RETCDIS + RETGLOA + RETRSE1 + RETRSE2 + RETRSE3 + RETRSE4 + RETRSE5 + RETREGV
+                      + RETARPRIM + FLAG_RETARD + 0) ;
+AGABAT = ABVIE + ABMAR;
+AGREVTP = REVTP;
+AGREI = REI;
+AGPENA = PTOTIRCS ;
+AGRECI = max(0,INE + IRE + CICAP + CICHR - AGREPPE);
+AGRECITOT = INE + IRE + CICAP + CICHR;
diff --git a/sources2014m_2_15/res-ser2.m b/sources2014m_2_15/res-ser2.m
new file mode 100644
index 0000000000000000000000000000000000000000..3831fd2e07336bf2b1e4e94faeb3e0122f4b03b9
--- /dev/null
+++ b/sources2014m_2_15/res-ser2.m
@@ -0,0 +1,617 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+
+ #
+ #
+ #
+ # #####   ######   ####    #####     #     #####  
+ # #    #  #       #          #       #       #   
+ # #    #  #####    ####      #       #       #  
+ # #####   #            #     #       #       # 
+ # #   #   #       #    #     #       #       # 
+ # #    #  ######   ####      #       #       # 
+ #
+ #      #####   #####   #####   #
+ #          #   #   #   #   #   #
+ #      #####   #   #   #   #   #
+ #      #       #   #   #   #   #
+ #      #####   #####   #####   #
+ #
+ #
+ #
+ #
+ #                     RES-SER2.m
+ #                    =============
+ #
+ #
+ #                      zones restituees par l'application
+ #
+ #
+regle 9071 :
+application : iliad , batch ;
+IDRS = INDTXMIN*IMI + 
+       INDTXMOY*IMO + 
+       (1-INDTXMIN) * (1-INDTXMOY) * max(0,IPHQ2 - ADO1) ;
+regle 907100 :
+application : iliad , batch, bareme ;
+RECOMP = max(0 ,( IPHQANT2 - IPHQ2 )*(1-INDTXMIN) * (1-INDTXMOY)) 
+         * (1 - positif(IPMOND+INDTEFF)) ;
+regle 907101 :
+application : iliad , batch ;
+IDRSANT = INDTXMIN*IMI + INDTXMOY*IMO 
+         + (1-INDTXMIN) * (1-INDTXMOY) * max(0,IPHQANT2 - ADO1) ;
+IDRS2 = (1 - positif(IPMOND+INDTEFF))  * 
+        ( 
+         IDRSANT + ( positif(ABADO)*ABADO + positif(ABAGU)*ABAGU )
+                  * positif(IDRSANT)
+         + IPHQANT2 * (1 - positif(IDRSANT))
+         + positif(RE168+TAX1649) * IAM[DGFIP][2017]
+        )
+   + positif(IPMOND+INDTEFF) 
+         * ( IDRS*(1-positif(IPHQ2)) + IPHQ2 * positif(IPHQ2) );
+
+IDRS3 = IDRT ;
+regle 90710 :
+application : iliad , batch ;
+PLAFQF = positif(IS521 - PLANT - IS511) * ( positif(abs(TEFF)) * positif(IDRS) + (1 - positif(abs(TEFF))) );
+regle 907105 :
+application : iliad , batch ;
+REVMETRO = max(0,RG - PRODOM - PROGUY);
+regle 90711 :
+application : iliad , batch ;
+
+RGPAR =   positif(positif(PRODOM)+positif(CODDAJ)+positif(CODDBJ)) * 1 
+       +  positif(positif(PROGUY)+positif(CODEAJ)+positif(CODEBJ)) * 2
+       +  positif(positif(PROGUY)+positif(CODEAJ)+positif(CODEBJ))*positif(positif(PRODOM)+positif(CODDAJ)+positif(CODDBJ)) 
+       ;
+
+regle 9074 :
+application : iliad , batch ;
+IBAEX = (IPQT2) * (1 - INDTXMIN) * (1 - INDTXMOY);
+regle 9080 :
+application : iliad , batch ;
+
+PRELIB = PPLIB + RCMLIB ;
+
+regle 9091 :
+application : iliad , batch ;
+IDEC = DEC11 * (1 - positif(V_CR2 + V_CNR + IPVLOC));
+regle 9092 :
+application : iliad , batch ;
+IPROP = ITP ;
+regle 9093 :
+application : iliad , batch ;
+
+IREP = REI ;
+
+regle 90981 :
+application : batch, iliad ;
+RETIR = RETIR2 + arr(BTOINR * TXINT/100) ;
+
+RETTAXA = RETTAXA2 + arr(max(0,TAXASSUR-TAXA9YI- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN - IRANT)) * TXINT/100) ;
+RETPCAP = RETPCA[DGFIP][2017]+arr(max(0,IPCAPTAXT-CAP9YI- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN - IRANT+TAXASSUR)) * TXINT/100) ;
+RETLOY = RETLOY2+arr(max(0,TAXLOY-LOY9YI- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))
+                           +min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT)) * TXINT/100) ;
+RETHAUTREV = RETCHR2 + arr(max(0,IHAUTREVT-CHR9YI+min(0,IRN - IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * TXINT/100) ;
+
+RETCS = RETCS2 + arr(max(0, CSG-CS9YP-CSGIM) * TXINT/100)* positif_ou_nul(CSTOTSSPENA - SEUIL_61) ;
+
+RETRD = RETR[DGFIP][2017] + arr(max(0, RDSN-RD9YP-CRDSIM) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RETPS = RETPS2 + arr(max(0, PRS-PS9YP-PRSPROV) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RETCVN = RETCVN2 + arr(max(0, CVNSALC-CVN9YP - COD8YT) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+RETREGV = RETREGV2 + arr(max(0, BREGV-REGV9YP) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RETCDIS = RETCDIS2 + arr(max(0, CDIS-CDIS9YP - CDISPROV) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RETGLOA = RETGLOA2 + arr(max(0, CGLOA-GLO9YP-COD8YL) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RETRSE1 = RETRSE12 + arr(max(0, RSE1N-RSE19YP-CSPROVYD) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RETRSE2 = RETRSE22 + arr((max(0, max(0, RSE8TV - CIRSE8TV - CSPROVYF) + max(0, RSE8SA -CIRSE8SA - CSPROVYN) - RSE29YP)) * TXINT/100
+                        ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RETRSE3 = RETRSE32 + arr(max(0, RSE3N-RSE39YP-CSPROVYG) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RETRSE4 = RETRSE42 + arr((max(0, max(0, RSE8TX - CIRSE8TX - CSPROVYH) + max(0, RSE8SB -CIRSE8SB - CSPROVYP) - RSE49YP)) * TXINT/100
+                        ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+RETRSE5 = RETRSE52 + arr(max(0, RSE5N-RSE59YP-CSPROVYE) * TXINT/100) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+regle 90984 :
+application : batch, iliad ;
+MAJOIRTARDIF_A1 = MAJOIRTARDIF_A - MAJOIR17_2TARDIF_A;
+MAJOTAXATARDIF_A1 = MAJOTAXATARDIF_A - MAJOTA17_2TARDIF_A;
+MAJOCAPTARDIF_A1 = MAJOCAPTARDIF_A - MAJOC[DGFIP][2017]7_2TARDIF_A;
+MAJOLOYTARDIF_A1 = MAJOLOYTARDIF_A - MAJOLO17_2TARDIF_A;
+MAJOHRTARDIF_A1 = MAJOHRTARDIF_A - MAJOHR17_2TARDIF_A;
+MAJOIRTARDIF_[DGFIP][2017] = MAJOIRTARDIF_D - MAJOIR17_2TARDIF_D;
+MAJOTAXATARDIF_[DGFIP][2017] = MAJOTAXATARDIF_D - MAJOTA17_2TARDIF_D;
+MAJOCAPTARDIF_[DGFIP][2017] = MAJOCAPTARDIF_D - MAJOC[DGFIP][2017]7_2TARDIF_D;
+MAJOLOYTARDIF_[DGFIP][2017] = MAJOLOYTARDIF_D - MAJOLO17_2TARDIF_D;
+MAJOHRTARDIF_[DGFIP][2017] = MAJOHRTARDIF_D - MAJOHR17_2TARDIF_D;
+MAJOIRTARDIF_[DGFIP][2017] = MAJOIRTARDIF_P - MAJOIR17_2TARDIF_P;
+MAJOLOYTARDIF_[DGFIP][2017] = MAJOLOYTARDIF_P - MAJOLO17_2TARDIF_P;
+MAJOHRTARDIF_[DGFIP][2017] = MAJOHRTARDIF_P - MAJOHR17_2TARDIF_P;
+MAJOIRTARDIF_R1 = MAJOIRTARDIF_R - MAJOIR17_2TARDIF_R;
+MAJOTAXATARDIF_R1 = MAJOTAXATARDIF_R - MAJOTA17_2TARDIF_R;
+MAJOCAPTARDIF_R1 = MAJOCAPTARDIF_R - MAJOC[DGFIP][2017]7_2TARDIF_R;
+MAJOLOYTARDIF_R1 = MAJOLOYTARDIF_R - MAJOLO17_2TARDIF_R;
+MAJOHRTARDIF_R1 = MAJOHRTARDIF_R - MAJOHR17_2TARDIF_R;
+NMAJ1 = max(0,MAJO1728IR + arr(BTO * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOIRTARDIF_[DGFIP][2017]
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPIR_A) * MAJOIRTARDIF_[DGFIP][2017]
+		  + (1 - positif(PROPIR_A) ) * MAJOIRTARDIF_[DGFIP][2017])
+		- FLAG_TRTARDIF_F * (1 - positif(PROPIR_A))
+				    * ( positif(FLAG_RECTIF) * MAJOIRTARDIF_R1
+				     + (1 - positif(FLAG_RECTIF)) * MAJOIRTARDIF_A1)
+		);
+NMAJTAXA1 = max(0,MAJO1728TAXA + arr(max(0,TAXASSUR- min(TAXASSUR+0,max(0,INE-IRB+AVFISCOPTER))+min(0,IRN-IRANT)) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOTAXATARDIF_[DGFIP][2017]
+		+ FLAG_TRTARDIF_F * MAJOTAXATARDIF_[DGFIP][2017]
+        	- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOTAXATARDIF_R1
+				     + (1 - positif(FLAG_RECTIF)) * MAJOTAXATARDIF_A1)
+		);
+NMAJPCA[DGFIP][2017] = max(0,MAJO1728PCAP + arr(max(0,IPCAPTAXT- min(IPCAPTAXT+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR))+min(0,IRN-IRANT+TAXASSUR)) * COPETO/100)
+                + FLAG_TRTARDIF * MAJOCAPTARDIF_[DGFIP][2017]
+                + FLAG_TRTARDIF_F * MAJOCAPTARDIF_[DGFIP][2017]
+                - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOCAPTARDIF_R1
+                + (1 - positif(FLAG_RECTIF)) * MAJOCAPTARDIF_A1)
+                );
+NMAJLOY1 = max(0,MAJO1728LOY + arr(max(0,TAXLOY- min(TAXLOY+0,max(0,INE-IRB+AVFISCOPTER-TAXASSUR-IPCAPTAXT))+min(0,IRN-IRANT+TAXASSUR+IPCAPTAXT)) * COPETO/100)
+                + FLAG_TRTARDIF * MAJOLOYTARDIF_[DGFIP][2017]
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPLOY_A) * MAJOLOYTARDIF_[DGFIP][2017]
+		  + (1 - positif(PROPLOY_A) ) * MAJOLOYTARDIF_[DGFIP][2017])
+		- FLAG_TRTARDIF_F * (1 - positif(PROPLOY_A))
+				    * ( positif(FLAG_RECTIF) * MAJOLOYTARDIF_R1
+				     + (1 - positif(FLAG_RECTIF)) * MAJOLOYTARDIF_A1)
+
+                );
+NMAJCHR1 = max(0,MAJO1728CHR + arr(max(0,IHAUTREVT+min(0,IRN-IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * COPETO/100)
+                + FLAG_TRTARDIF * MAJOHRTARDIF_[DGFIP][2017]
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPIR_A) * MAJOHRTARDIF_[DGFIP][2017]
+		  + (1 - positif(PROPIR_A) ) * MAJOHRTARDIF_[DGFIP][2017])
+		- FLAG_TRTARDIF_F * (1 - positif(PROPIR_A))
+				    * ( positif(FLAG_RECTIF) * MAJOHRTARDIF_R1
+				     + (1 - positif(FLAG_RECTIF)) * MAJOHRTARDIF_A1)
+                );
+NMAJC1 = max(0,MAJO1728CS + arr((CSG - CSGIM) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOCSTARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPCS_A) * MAJOCSTARDIF_P 
+		  + (1 - positif(PROPCS_A) ) * MAJOCSTARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPCS_A))
+				    * ( positif(FLAG_RECTIF) * MAJOCSTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCSTARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJR1 = max(0,MAJO1728RD + arr((RDSN - CRDSIM) * COPETO/100) 
+		+ FLAG_TRTARDIF * MAJORDTARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPRD_A) * MAJORDTARDIF_P 
+		  + (1 - positif(PROPRD_A) ) * MAJORDTARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPCS_A))
+				    * ( positif(FLAG_RECTIF) * MAJORDTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORDTARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJ[DGFIP][2017] = max(0,MAJO1728PS + arr((PRS - PRSPROV) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJOPSTARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPPS_A) * MAJOPSTARDIF_P 
+		  + (1 - positif(PROPPS_A) ) * MAJOPSTARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPPS_A))
+				    * ( positif(FLAG_RECTIF) * MAJOPSTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOPSTARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJCVN1 = max(0,MAJO1728CVN + arr((CVNSALC - COD8YT) * COPETO/100)
+		+ FLAG_TRTARDIF * MAJOCVNTARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJOCVNTARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOCVNTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCVNTARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJREGV1 = max(0,MAJO1728REGV + arr(BREGV * COPETO/100)) * (1 - V_CNR) ;
+
+
+NMAJCDIS1 = max(0,MAJO1728CDIS + arr((CDIS - CDISPROV) * COPETO/100)  * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJOCDISTARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJOCDISTARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOCDISTARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOCDISTARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJGLO1 = max(0,MAJO1728GLO + arr((CGLOA-COD8YL) * COPETO/100)
+                + FLAG_TRTARDIF * MAJOGLOTARDIF_D
+                + FLAG_TRTARDIF_F  * MAJOGLOTARDIF_D
+                - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOGLOTARDIF_R
+                                     + (1 - positif(FLAG_RECTIF)) * MAJOGLOTARDIF_A)
+              ) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJRSE11 = max(0,MAJO1728RSE1 + arr((RSE1N - CSPROVYD) * COPETO/100)  
+		+ FLAG_TRTARDIF * MAJORSE1TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE1TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE1TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE1TARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJRSE21 = max(0,MAJO1728RSE2 + arr(( max(0, RSE8TV - CIRSE8TV - CSPROVYF) + max(0, RSE8SA -CIRSE8SA - CSPROVYN )) * COPETO/100) * (1 - V_CNR)
+		+ FLAG_TRTARDIF * MAJORSE2TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE2TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE2TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE2TARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJRSE31 = max(0,MAJO1728RSE3 + arr((RSE3N - CSPROVYG)* COPETO/100) 
+		+ FLAG_TRTARDIF * MAJORSE3TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE3TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE3TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE3TARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJRSE41 = max(0,MAJO1728RSE4 + arr((max(0, RSE8TX - CIRSE8TX - CSPROVYH) + max(0, RSE8SB -CIRSE8SB - CSPROVYP)) * COPETO/100) 
+		+ FLAG_TRTARDIF * MAJORSE4TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE4TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE4TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE4TARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+NMAJRSE51 = max(0,MAJO1728RSE5 + arr((RSE5N - CSPROVYE) * COPETO/100) 
+		+ FLAG_TRTARDIF * MAJORSE5TARDIF_D
+		+ FLAG_TRTARDIF_F  * MAJORSE5TARDIF_D
+		- FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJORSE5TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJORSE5TARDIF_A)
+		) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+
+
+NMAJ3 = max(0,MAJO1758AIR + arr(BTO * COPETO/100) * positif(null(CMAJ-10)+null(CMAJ-17)) 
+		+ FLAG_TRTARDIF * MAJOIR17_2TARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPIR_A) * MAJOIR17_2TARDIF_P 
+		  + (1 - positif(PROPIR_A) ) * MAJOIR17_2TARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPIR_A))
+				    * ( positif(FLAG_RECTIF) * MAJOIR17_2TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOIR17_2TARDIF_A)
+		);
+NMAJTAXA3 = max(0,MAJO1758ATAXA + arr(max(0,TAXASSUR+min(0,IRN-IRANT)) * COPETO/100)
+					* positif(null(CMAJ-10)+null(CMAJ-17)) 
+		+ FLAG_TRTARDIF * MAJOTA17_2TARDIF_D
+		);
+NMAJPCAP3 = max(0,MAJO1758APCAP + arr(max(0,IPCAPTAXT+min(0,IRN-IRANT+TAXASSUR)) * COPETO/100)
+                * positif(null(CMAJ-10)+null(CMAJ-17))
+                + FLAG_TRTARDIF * MAJOC[DGFIP][2017]7_2TARDIF_D
+		);
+NMAJLOY3 = max(0,MAJO1758ALOY + arr(max(0,TAXLOY+min(0,IRN-IRANT+TAXASSUR+IPCAPTAXT)) * COPETO/100) * positif(null(CMAJ-10)+null(CMAJ-17)) 
+		+ FLAG_TRTARDIF * MAJOLO17_2TARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPLOY_A) * MAJOLO17_2TARDIF_P 
+		  + (1 - positif(PROPLOY_A) ) * MAJOLO17_2TARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPLOY_A))
+				    * ( positif(FLAG_RECTIF) * MAJOLO17_2TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOLO17_2TARDIF_A)
+		);
+
+NMAJCHR3 = max(0,MAJO1758ACHR + arr(max(0,IHAUTREVT+min(0,IRN-IRANT+TAXASSUR+IPCAPTAXT+TAXLOY)) * COPETO/100) * positif(null(CMAJ-10)+null(CMAJ-17)) 
+		+ FLAG_TRTARDIF * MAJOHR17_2TARDIF_D
+		+ FLAG_TRTARDIF_F 
+		* (positif(PROPHR_A) * MAJOHR17_2TARDIF_P 
+		  + (1 - positif(PROPHR_A) ) * MAJOHR17_2TARDIF_D)
+		- FLAG_TRTARDIF_F * (1 - positif(PROPHR_A))
+				    * ( positif(FLAG_RECTIF) * MAJOHR17_2TARDIF_R
+				     + (1 - positif(FLAG_RECTIF)) * MAJOHR17_2TARDIF_A)
+		);
+
+NMAJ4    =      somme (i=03..06,30,32,55: MAJOIRi);
+NMAJTAXA4  =    somme (i=03..06,55: MAJOTAXAi);
+NMAJPCAP4 =  somme(i=03..06,55:MAJOCAPi);
+NMAJLOY4 = somme(i=03..06,55:MAJOLOYi);
+NMAJCHR4 =  somme(i=03..06,30,32,55:MAJOHRi);
+
+NMAJC4 =  somme(i=03..06,30,32,55:MAJOCSi) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJR4 =  somme(i=03..06,30,32,55:MAJORDi) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJP4 =  somme(i=03..06,30,32,55:MAJOPSi) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJCVN4 =  somme(i=03..06,55:MAJOCVNi) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJCDIS4 =  somme(i=03..06,55:MAJOCDISi) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJGLO4 =  somme(i=03..06,55:MAJOGLOi) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJRSE14 =  somme(i=03..06,55:MAJORSE1i) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJRSE24 =  somme(i=03..06,55:MAJORSE2i) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJRSE34 =  somme(i=03..06,55:MAJORSE3i) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJRSE44 =  somme(i=03..06,55:MAJORSE4i) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+NMAJRSE54 =  somme(i=03..06,55:MAJORSE5i) * positif_ou_nul(CSTOTSSPENA - SEUIL_61);
+regle isf 9094 :
+application : batch, iliad ;
+MAJOISFTARDIF_A1 = MAJOISFTARDIF_A - MAJOIS[DGFIP][2017]7TARDIF_A;
+MAJOISFTARDIF_[DGFIP][2017] = MAJOISFTARDIF_D - MAJOIS[DGFIP][2017]7TARDIF_D;
+MAJOISFTARDIF_R1 = MAJOISFTARDIF_R - MAJOIS[DGFIP][2017]7TARDIF_R;
+NMAJIS[DGFIP][2017]BIS = max(0,MAJO1728ISF + arr(ISF4BASE * COPETO/100)
+                   + FLAG_TRTARDIF * MAJOISFTARDIF_D
+                   + FLAG_TRTARDIF_F * MAJOISFTARDIF_D
+                   - FLAG_TRTARDIF_F * ( positif(FLAG_RECTIF) * MAJOISFTARDIF_R
+					 + (1 - positif(FLAG_RECTIF)) * MAJOISFTARDIF_A)
+                 );
+regle 90101 :
+application : iliad , batch ;
+
+IAVIM = IRB + PTOT + TAXASSUR + PTAXA + IPCAPTAXTOT + PPCAP + TAXLOY + PTAXLOY + CHRAPRES + PHAUTREV ;
+
+IAVIM2 = IRB + PTOT ;
+
+regle 90113 :
+application : iliad , batch ;
+CDBA = positif_ou_nul(SEUIL_IMPDEFBA-SHBA-(REVTP-BA1)
+      -REVQTOTQHT);
+AGRBG = SHBA + (REVTP-BA1) + REVQTOTQHT ;
+
+regle 901130 :
+application : iliad , batch ;
+DBAIP =  TOTDAGRI;
+
+regle 901131 :
+application : iliad , batch ;
+
+RBAT = max (0 , BANOR) ;
+
+regle 901132 :
+application : iliad , batch ;
+DEFIBA = (min(max(1+SEUIL_IMPDEFBA-SHBA-(REVTP-BA1)
+      -REVQTOTQHT,0),1)) * min( 0 , BANOR ) ;
+regle 901133 :
+application :  iliad, batch ;
+NAPALEG = abs(NAPT) ;
+
+INDNAP = 1 - positif_ou_nul(NAPT) ;
+
+GAINDBLELIQ = max(0 , V_ANC_NAP - NAPT) * positif(null(MESGOUV - 1) + null(MESGOUV - 2) + null(MESGOUV2 - 4) + null(MESGOUV2 - 5)) ;
+
+
+GAINPOURCLIQ = (1 - null(V_ANC_NAP*(1-2*V_IND_NAP))) * (V_ANC_NAP*(1-2*V_IND_NAP) - NAPT)/ V_ANC_NAP*(1-2*V_IND_NAP)  * (1 - V_CNR2);
+
+ANCNAP = V_ANC_NAP * (1-2*V_IND_NAP) ;
+
+
+INDPPEMENS = positif( ( positif(IRESTIT - 180) 
+		       + positif((-1)*ANCNAP - 180) 
+                       + positif(IRESTIT - IRNET - 180) * null(V_IND_TRAIT-5)
+		      ) * positif(PPETOTX - PPERSA - 180) )
+	           * (1 - V_CNR) ;
+
+BASPPEMENS = INDPPEMENS * min(max(IREST,(-1)*ANCNAP*positif((-1)*ANCNAP)),PPETOTX-PPERSA) * null(V_IND_TRAIT-4) 
+            + INDPPEMENS * max(0,min(IRESTIT-IRNET,PPETOTX-PPERSA)) * null(V_IND_TRAIT-5) ;
+
+regle 90114 :
+application : iliad , batch ;
+IINET = max(0, NAPTEMPCX- TOTIRPSANT);
+IINETIR = max(0 , NAPTIR) ;
+
+regle 901140 :
+application : bareme  ;
+
+IINET = IRNET * positif ( IRNET - SEUIL_61 ) ;
+
+regle 9011410 :
+application : bareme , iliad , batch ;
+IRNET2 =  (IAR + PIR - IRANT) * (1 - INDTXMIN)  * (1 - INDTXMOY)
+         + min(0, IAR + PIR - IRANT) * (INDTXMIN + INDTXMOY)
+         + max(0, IAR + PIR - IRANT) *
+                                   (INDTXMIN * positif(IAVIMBIS - SEUIL_TXMIN)
+                                  + INDTXMOY * positif(IAVIMO - SEUIL_TXMIN))
+         ;
+regle 901141 :
+application : iliad , batch ;
+
+IRNETTER = max ( 0 ,   IRNET2
+                       + (TAXASSUR + PTAXA - min(TAXASSUR+PTAXA+0,max(0,INE-IRB+AVFISCOPTER))
+                        - max(0,TAXASSUR + PTAXA  - min(TAXASSUR + PTAXA + 0,max(0,INE-IRB+AVFISCOPTER))+ min(0,IRNET2)))
+                       + (IPCAPTAXT + PPCAP - min(IPCAPTAXT + PPCAP,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA))
+                        - max(0,IPCAPTAXT+PPCAP -min(IPCAPTAXT+PPCAP,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA ))+ min(0,TAXANEG)))
+                       + (TAXLOY + PTAXLOY - min(TAXLOY + PTAXLOY,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA-IPCAPTAXT-PPCAP))
+                        - max(0,TAXLOY+PTAXLOY -min(TAXLOY+PTAXLOY,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA-IPCAPTAXT-PPCAP ))+ min(0,PCAPNEG)))
+                       + (IHAUTREVT + PHAUTREV - max(0,IHAUTREVT+PHAUTREV + min(0,LOYELEVNEG)))
+                )
+                       ;
+IRNETBIS = max(0 , IRNETTER - PIR * positif(SEUIL_12 - IRNETTER + PIR) 
+				  * positif(SEUIL_12 - PIR) 
+				  * positif_ou_nul(IRNETTER - SEUIL_12)) ;
+
+regle 901143 :
+application : iliad , batch ;
+IRNET =  null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * IRNETBIS * positif_ou_nul(IRB - min(max(0,IRB-AVFISCOPTER),INE))
+          + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+                    *
+                    (
+                    ((positif(IRE) + positif_ou_nul(IAVIM - SEUIL_61) * (1 - positif(IRE)))
+                    *
+                    max(0, CHRNEG + NRINET + IMPRET + (RASAR * V_CR2) + (IRNETBIS * positif(positif_ou_nul(IAVIM - SEUIL_61)) 
+		                                                                  * positif_ou_nul(IRB - min(max(0,IRB-AVFISCOPTER),INE)))     
+                      ) * (1 - positif(IRESTIT)))
+                    + ((1 - positif_ou_nul(IAVIM - SEUIL_61)) * (1 - positif(IRE)) * max(0, CHRNEG + NRINET + IMPRET + (RASAR * V_CR2)))
+                    ) ;
+regle 901144 :
+application : iliad , batch ;
+TOTNET = max (0,NAPTIR);
+regle 9011411 :
+application : iliad , batch ;
+TAXANEG = min(0 , TAXASSUR + PTAXA - min(TAXASSUR + PTAXA + 0 , max(0,INE-IRB+AVFISCOPTER)) + min(0 , IRNET2)) ;
+TAXNET = positif(TAXASSUR)
+	  * max(0 , TAXASSUR + PTAXA  - min(TAXASSUR + PTAXA + 0,max(0,INE-IRB+AVFISCOPTER)) + min(0 , IRNET2)) ;
+TAXANET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * TAXNET
+	   + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+             * (positif_ou_nul(IAM[DGFIP][2017] - SEUIL_61) * TAXNET + (1 - positif_ou_nul(IAM[DGFIP][2017]  - SEUIL_61)) * 0) ;
+
+regle 90114111 :
+application : iliad , batch ;
+PCAPNEG =  min(0,IPCAPTAXT+PPCAP -min(IPCAPTAXT+PPCAP,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA ))+ min(0,TAXANEG)) ;
+PCAPTAXNET = positif(IPCAPTAXT)
+                * max(0,IPCAPTAXT+PPCAP -min(IPCAPTAXT+PPCAP,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA ))+ min(0,TAXANEG)) ;
+PCAPNET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * PCAPTAXNET
+	   + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+			* ( positif_ou_nul(IAM[DGFIP][2017]  - SEUIL_61) * PCAPTAXNET + (1 - positif_ou_nul(IAM[DGFIP][2017] - SEUIL_61)) * 0 ) ;
+
+regle 90114112 :
+application : iliad , batch ;
+LOYELEVNEG =  min(0,TAXLOY + PTAXLOY -min(TAXLOY + PTAXLOY,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA-IPCAPTAXT-PPCAP ))+ min(0,PCAPNEG)) ;
+LOYELEVNET = positif(LOYELEV)
+                * max(0,TAXLOY+PTAXLOY -min(TAXLOY+PTAXLOY,max(0,INE-IRB+AVFISCOPTER- TAXASSUR - PTAXA-IPCAPTAXT-PPCAP ))+ min(0,PCAPNEG)) ;
+TAXLOYNET = null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * LOYELEVNET
+                + positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+                * ( positif_ou_nul(IAM[DGFIP][2017] - SEUIL_61) * LOYELEVNET + (1 - positif_ou_nul(IAM[DGFIP][2017] - SEUIL_61)) * 0 ) ;
+
+
+regle 901141111 :
+application : iliad , batch ;
+CHRNEG = min(0 , IHAUTREVT + PHAUTREV + min(0 , LOYELEVNEG)) ;
+CHRNET = positif(IHAUTREVT)
+                * max(0,IHAUTREVT+PHAUTREV + min(0,LOYELEVNEG))
+               ;
+HAUTREVNET = (null(NRINET + IMPRET + (RASAR * V_CR2) + 0) * CHRNET
+              +
+              positif(NRINET + IMPRET + (RASAR * V_CR2) + 0)
+              * ( positif_ou_nul(IAM[DGFIP][2017] - SEUIL_61) * CHRNET
+              + (1 - positif_ou_nul(IAM[DGFIP][2017] - SEUIL_61)) * 0 )
+              ) 
+              ;
+regle 9011412 :
+application : bareme ;
+
+IRNET = max(0 , IRNET2 + RECOMP) ;
+
+regle 9011413 :
+application : iliad , batch ;
+
+IRPROV = min (IRANT , IAR + PIR) * positif(IRANT) ;
+
+regle 9012401 :
+application : batch , iliad ;
+NAPPSAVIM = (PRS + PPRS ) ;
+NAPCSAVIM = (CSG + PCSG ) ;
+NAPRDAVIM = (RDSN + PRDS) ;
+NAPCVNAVIM = (CVNSALC + PCVN) ;
+NAPREGVAVIM = (BREGV + PREGV) ;
+NAPCDISAVIM = (CDIS + PCDIS) ;
+NAPGLOAVIM = (CGLOA + PGLOA-COD8YL) ;
+NAPRSE1AVIM = (RSE1N + PRSE1) ;
+NAPRSE2AVIM = (RSE2N + PRSE2) ;
+NAPRSE3AVIM = (RSE3N + PRSE3) ;
+NAPRSE4AVIM = (RSE4N + PRSE4) ;
+NAPRSE5AVIM = (RSE5N + PRSE5) ;
+NAPCRPAVIM = max(0 , NAPPSAVIM + NAPCSAVIM + NAPRDAVIM + NAPCVNAVIM  + NAPREGVAVIM + NAPCDISAVIM 
+                     + NAPGLOAVIM + NAPRSE1AVIM + NAPRSE2AVIM + NAPRSE3AVIM + NAPRSE4AVIM + NAPRSE5AVIM);
+NAPCRAC = PRSAC+CSGAC+RDSNAC + CDIS + RSE1N + RSE2N + RSE3N + RSE4N + RSE5N ;
+regle 90114010 :
+application : batch , iliad ;
+NAPCRPIAM[DGFIP][2017] = PRS+CSG+RDSN +CVNSALC + CDIS + CGLOA + RSE1N + RSE2N + RSE3N + RSE4N + RSE5N ;
+regle 9011402 :
+application : batch , iliad ;
+NAPCS      =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  CSNET  ;
+NAPRD      =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  RDNET  ;
+NAPPS      =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  PRSNET  ;
+NAPCVN     =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  CVNNET  ;
+NAPREGV     =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) * REGVNET  ;
+NAPCDIS    =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  CDISNET  ;
+NAPGLOA    =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  CGLOANET  ;
+NAPRSE1    =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  RSE1NET  ;
+NAPRSE2    =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  RSE2NET  ;
+NAPRSE3    =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  RSE3NET  ;
+NAPRSE4    =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  RSE4NET  ;
+NAPRSE5    =  positif(SEUIL_61 - VARPS61) * 0 +  (1- positif(SEUIL_61 - VARPS61)) *  RSE5NET  ;
+NAPCR[DGFIP][2017] = max(0 , NAPPS + NAPCS + NAPRD + NAPCVN + NAPCDIS + NAPGLOA + NAPRSE1 + NAPRSE2 + NAPRSE3 + NAPRSE4 + NAPRSE5);
+regle 9011407 :
+application : iliad , batch ;
+IKIRN = KIR ;
+
+IMPTHNET = max(0 , (IRB * positif_ou_nul(IRB-SEUIL_61)-INE-IRE)
+		       * positif_ou_nul((IRB*positif_ou_nul(IRB-SEUIL_61)-INE-IRE)-SEUIL_12)) 
+	     * (1 - V_CNR) ;
+
+regle 90115 :
+application : iliad , batch ;
+IRESTIT = abs(min(0 , IRN + PIR + NRINET + IMPRET + RASAR
+                    + (TAXASSUR + PTAXA - min(TAXASSUR+PTAXA+0,max(0,INE-IRB+AVFISCOPTER)))
+                    + (IPCAPTAXT + PPCAP - min(IPCAPTAXT + PPCAP,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA)))
+                    + (TAXLOY + PTAXLOY - min(TAXLOY + PTAXLOY,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA-IPCAPTAXT-PPCAP)))
+                    + ((IHAUTREVT + PHAUTREV) 
+                      -min((IHAUTREVT + PHAUTREV),max(0,INE-IRB+AVFISCOPTER-TAXASSUR-PTAXA-IPCAPTAXT-PPCAP-TAXLOY - PTAXLOY)))
+                    + null(4-V_IND_TRAIT)* max(0 ,  TOTCR - CSGIM - CRDSIM - PRSPROV - COD8YT - CDISPROV -COD8YL-CSPROVYD
+                                                          -CSPROVYE - CSPROVYF - CSPROVYN - CSPROVYG - CSPROVYH - CSPROVYP )
+                             * positif_ou_nul((TOTCR - CSGIM - CRDSIM - PRSPROV - COD8YT - CDISPROV -COD8YL-CSPROVYD
+                                                     - CSPROVYE-CSPROVYF- CSPROVYN-CSPROVYG-CSPROVYH - CSPROVYP) - SEUIL_61) 
+                    + null(5-V_IND_TRAIT) * max(0 , (TOTCR - CSGIM - CRDSIM - PRSPROV - COD8YT - CDISPROV -COD8YL-CSPROVYD
+                                                           - CSPROVYE-CSPROVYF- CSPROVYN -CSPROVYG-CSPROVYH- CSPROVYP))
+                          * positif_ou_nul((TOTCR - CSGIM - CRDSIM - PRSPROV - COD8YT - CDISPROV -COD8YL-CSPROVYD
+                                                  -CSPROVYE-CSPROVYF- CSPROVYN-CSPROVYG-CSPROVYH- CSPROVYP) - SEUIL_61) 
+                 )
+             ) ;
+regle 90115001 :
+application : iliad , batch ;
+IRESTITIR = abs(min(0 , IRN + PIR + NRINET + IMPRET + RASAR
+                    + (TAXASSUR + PTAXA - min(TAXASSUR+PTAXA+0,max(0,INE-IRB+AVFISCOPTER)))
+                    + (IPCAPTAXT + PPCAP - min(IPCAPTAXT + PPCAP,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA)))
+                    + (TAXLOY + PTAXLOY - min(TAXLOY + PTAXLOY,max(0,INE-IRB+AVFISCOPTER -TAXASSUR-PTAXA-IPCAPTAXT-PPCAP)))
+                    + ((IHAUTREVT + PHAUTREV) -min((IHAUTREVT + PHAUTREV),max(0,INE-IRB+AVFISCOPTER-TAXASSUR-PTAXA-IPCAPTAXT-PPCAP-TAXLOY - PTAXLOY)))
+                 )
+             ) ;
+regle 901151 :
+application : iliad , batch ;
+IREST = max(0,max(0,-(NAPTEMPCX)) - max(0,-(TOTIRPSANT)));
+regle 9011511 :
+application : iliad , batch ;
+IRESTIR = max(0 , IRESTITIR - RECUMBISIR);
+IINETCALC = max(0,NAPTEMP - TOTIRPSANT);
+VARNON = IRPSCUM -RECUM - TOTIRPSANT;
+NONMER  =  positif(20 - V_NOTRAIT) * (
+                                           positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM) * IRPSCUM
+                                          + (1-positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM)) * 0
+                                     )
+        + (1-positif(20-V_NOTRAIT)) * (
+                          positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM) * (
+                                                                                              positif(SEUIL_12 - abs(TOTIRPSANT))* max(0,IRPSCUM-RECUM-TOTIRPSANT)
+                                                                                            + (1-positif(SEUIL_12 - abs(TOTIRPSANT))) * IRPSCUM
+                                                                                   )
+                   + (1-positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM)) * (
+                                                                                           positif(positif(SEUIL_12-VARNON) * positif(VARNON)
+                                                                                                  + positif(SEUIL_8-abs(VARNON)) * (1-positif(VARNON)))
+                                                                                                    * max(0,IRPSCUM-RECUM-TOTIRPSANT)
+                                                                                       +(1-positif(positif(SEUIL_12-VARNON) * positif(VARNON)
+                                                                                                 + positif(SEUIL_8-abs(VARNON)) * (1-positif(VARNON))))
+                                                                                                    * 0
+                                                                                  )
+                                      );
+
+
+NONREST  =  positif(20 - V_NOTRAIT) * (
+                                           positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM) * RECUM
+                                        + (1-positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM)) * 0 
+                                      )
+        + (1-positif(20-V_NOTRAIT)) * (
+                          positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM) * (
+                                                                                              positif(SEUIL_12 - abs(TOTIRPSANT))* max(0,TOTIRPSANT - (IRPSCUM-RECUM))
+                                                                                            + (1-positif(SEUIL_12 - abs(TOTIRPSANT))) * RECUM
+                                                                                   )
+                   + (1-positif(SEUIL_8 - RECUM) * positif(SEUIL_12 - IRPSCUM)) * (
+                                                                                           positif(positif(SEUIL_12-VARNON) * positif(VARNON)
+                                                                                                  + positif(SEUIL_8-abs(VARNON)) * (1-positif(VARNON)))
+                                                                                                      * max(0,TOTIRPSANT - (IRPSCUM-RECUM))
+                                                                                       +(1-positif(positif(SEUIL_12-VARNON) * positif(VARNON)
+                                                                                                 + positif(SEUIL_8-abs(VARNON)) * (1-positif(VARNON))))
+                                   
diff --git a/sources2014m_2_15/tgvB.m b/sources2014m_2_15/tgvB.m
new file mode 100644
index 0000000000000000000000000000000000000000..35f46e9fb8498300ffdf0b916fd247d3db21c370
--- /dev/null
+++ b/sources2014m_2_15/tgvB.m
@@ -0,0 +1,355 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 14 Application bareme
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1TOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINS21731 : calculee base : "Indicateur frais reels" ;
+10MINS2[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINS2TOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINS31731 : calculee base : "Indicateur frais reels" ;
+10MINS3[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINS3TOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINS41731 : calculee base : "Indicateur frais reels" ;
+10MINS4[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINS4TOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINSC1731 : calculee base : "Indicateur frais reels" ;
+10MINSC[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINSCTOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINSV1731 : calculee base : "Indicateur frais reels" ;
+10MINSV[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINSVTOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+4BACREC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BACREP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BACREV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BAHREC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BAHREP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BAHREV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A12REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13REELA : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13REELB : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A14REELA : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A14REELB : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+ABADO : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO1 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO2 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO31 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO32 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO4 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO6 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADON1 : calculee : "Abattement DOM" ;
+ABADON2 : calculee : "Abattement DOM" ;
+ABADON31 : calculee : "Abattement DOM" ;
+ABADON32 : calculee : "Abattement DOM" ;
+ABADON4 : calculee : "Abattement DOM" ;
+ABADON6 : calculee : "Abattement DOM" ;
+ABAGU : calculee : "Abattement en impot sur les revenus GUYANE" ;
+ABAGU1 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU2 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU3 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU31 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU32 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU4 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU6 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABATOT1 : calculee : "Abattement DOM" ;
+ABATOT2 : calculee : "Abattement DOM" ;
+ABATOT31 : calculee : "Abattement DOM" ;
+ABATOT32 : calculee : "Abattement DOM" ;
+ABATOT4 : calculee : "Abattement DOM" ;
+ABATOT6 : calculee : "Abattement DOM" ;
+ABAT_ENF_MARIES : const=5726.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1172.00000  ;
+ABSPRNG : calculee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTPATEFRFR : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ACODELAISINR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 9YI : "Acomptes verses pour calcul base interet de retard IR" ;
+ACP3 : calculee : "Avantage complementaire sur pensions alimentaires KIR" ;
+ADO1 : calculee : "Abattement DOM" ;
+ADO2 : calculee : "Abattement DOM" ;
+ADO31 : calculee : "Abattement DOM" ;
+ADO32 : calculee : "Abattement DOM" ;
+ADO4 : calculee : "Abattement DOM" ;
+ADO6 : calculee : "Abattement DOM 8VV art. 168" ;
+ADUFLOEKL_1 : calculee : "reduc non plaf. art 1731bis" ;
+ADUFLOGIH_1 : calculee : "reduc non plaf. art 1731bis" ;
+AGC : calculee : "Age du conjoint" ;
+AGV : calculee : "Age du declarant" ;
+AG_LIMFG : const=7.00000  ;
+ANNUL2042 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 0 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YA : "Case a cocher : Annulation de la declaration " type BOOLEEN ;
+APERPC : calculee : "bse retenu PERP" ;
+APERPCTEF : calculee : "bse retenu PERP tx eff" ;
+APERPCTEFRFR : calculee : "bse retenu PERP tx eff" ;
+APERPP : calculee : "bse retenu PERP" ;
+APERPPTEF : calculee : "bse retenu PERP tx eff" ;
+APERPPTEFRFR : calculee : "bse retenu PERP tx eff" ;
+APERPV : calculee : "bse retenu PERP" ;
+APERPVTEF : calculee : "bse retenu PERP tx eff" ;
+APERPVTEFRFR : calculee : "bse retenu PERP tx eff" ;
+APIQABCD_1 : calculee : "reduc non plaf. art 1731bis" ;
+APPLI_BATCH : calculee : "booleen  ; vaut 1 si appli batch 0 sinon" ;
+APPLI_COLBERT : saisie contexte classe = 0 priorite = 0 categorie_TL = 0 alias V_COLBERT : "Appli_Colbert" type BOOLEEN ;
+APPLI_GP : calculee : "booleen  ; vaut 1 si appli GP     0 inon" ;
+APPLI_ILIAD : calculee : "booleen  ; vaut 1 si appli ILIAD 0 sinon" ;
+APPLI_OCEANS : saisie contexte classe = 0 priorite = 0 categorie_TL = 0 alias V_OCEANS : "Appli_Oceans" ;
+APPLI_PRO : calculee : "booleen  ; vaut 1 si appli PRO    0 inon" ;
+ART1731 : calculee restituee base : "indicateur art1731 bis empechant benefice reduc et deficit " ;
+ART1731BIS : calculee restituee base : "indicateur art1731 bis empechant benefice reduc et deficit " ;
+ASCAPA : saisie famille classe = 0 priorite = 31 categorie_TL = 10 nat_code = 1 alias 7DL : "Nb d'ascendants a l'APA de plus de 65 ans" ;
+AUBAINE10 : calculee : "avantage en impot (A2) lie a avantages fiscaux 2010" ;
+AUBAINE11 : calculee : "avantage en impot (A1) lie a avantages fiscaux 2011" ;
+AUBAINE12 : calculee : "avantage en impot (A4) lie a avantages fiscaux 2011" ;
+AUBAINE13A : calculee : "avantage en impot sur avantages fiscaux 2013 reduc hors DOM SOFICA" ;
+AUBAINE13B : calculee : "avantage en impot sur avantages fiscaux 2013 reduc DOM SOFICA" ;
+AUBAINE9 : calculee : "avantage en impot (A3) lie a av. fiscaux 2009 pris en compte en 2011" ;
+AUTOVERSSUP : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 11 sanction = 0 nat_code = 0 alias 8UX : "Auto-entrepreneur : supplement de versement liberatoire" ;
+AVFISCO : calculee restituee base : "economie d impot susceptible d etre plafonnee." ;
+AVFISCOP : calculee restituee base : "economie d impot plafonnee." ;
+AVFISCOPTER : calculee base : "Plafonnement des avantages fiscaux. variable visible dans cresource" ;
+AVPLA[DGFIP][2017]0 : calculee : "Plafonnement 2010 avantages fiscaux (2010/2010)" ;
+AVPLA[DGFIP][2017]1 : calculee : "Plafonnement 2011 avantages fiscaux (2011/2011)" ;
+AVPLA[DGFIP][2017]2 : calculee : "Plafonnement 2012 avantages fiscaux (2012/2012)" ;
+AVPLA[DGFIP][2017]3 : calculee : "Plafonnement 2013 avantages fiscaux (2013/2013)" ;
+AVPLA[DGFIP][2017]3A : calculee : "Plafonnement 2013 avantages fiscaux hors reduc DOM et SOFICA" ;
+AVPLA[DGFIP][2017]3B : calculee : "Plafonnement 2013 avantages fiscaux reduc DOM et SOFICA" ;
+AVPLAF9 : calculee : "Plafonnement 2009 avantages fiscaux (2009/2010)" ;
+BA1 : calculee : "Plus-values BA imposables pour le foyer" ;
+BACDEC1731 : calculee base : "Deficit 5IF pour 1731" ;
+BACDEC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BACDE[DGFIP][2017]731 : calculee base : "Deficit 5JF pour 1731" ;
+BACDEP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BACDEV1731 : calculee base : "Deficit 5HF pour 1731" ;
+BACDEV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BACREC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BACREP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BACREV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BAHDEC1731 : calculee base : "Deficit 5IL pour 1731" ;
+BAHDEC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BAHDE[DGFIP][2017]731 : calculee base : "Deficit 5JL pour 1731" ;
+BAHDEP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BAHDEV1731 : calculee base : "Deficit 5HF pour 1731" ;
+BAHDEV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BAHREC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BAHREP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BAHREV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BANOR : calculee : "Benefices agricoles taxes suivant l'imposition normale" ;
+BANOR1731R : calculee : "Benefices agricoles taxes suivant l'imposition normale" ;
+BASPPEMENS : calculee : "Base PPE mensuel" ;
+BCICHR : calculee base : "Impot Hauts Revenus credit impot" ;
+BCIDONENTR : calculee : "base limitee du Credit d'impot dons oeuvres entreprises" ;
+BCIGA : calculee : "base limitee du Credit d'impot groupement de prevention agree" ;
+BCS[DGFIP][2017] : calculee restituee : "Base CSG article 1731" ;
+BICDEC1731 : calculee base : "Deficit 5OF pour 1731" ;
+BICDEC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BICDE[DGFIP][2017]731 : calculee base : "Deficit 5PF pour 1731" ;
+BICDEP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BICDEV1731 : calculee base : "Deficit 5NF pour 1731" ;
+BICDEV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BICDNC1731 : calculee base : "Deficit 5LF pour 1731" ;
+BICDNC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BICDN[DGFIP][2017]731 : calculee base : "Deficit 5MF pour 1731" ;
+BICDNP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BICDNV1731 : calculee base : "Deficit 5KF pour 1731" ;
+BICDNV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BICHDEC1731 : calculee base : "Deficit 5OL pour 1731" ;
+BICHDEC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BICHDE[DGFIP][2017]731 : calculee base : "Deficit 5PL pour 1731" ;
+BICHDEP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BICHDEV1731 : calculee base : "Deficit 5NL pour 1731" ;
+BICHDEV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BICHREC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BICHREP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BICHREV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BICREC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BICREP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BICREV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BIDON : calculee : "variable bidon pour test" ;
+BIGREST : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YJ : "Restitution >= 10 000 e non validee par le RDC et taxee a la 4eme IR" type REEL ;
+BIHDNC1731 : calculee base : "Deficit 5LL pour 1731" ;
+BIHDNC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BIHDN[DGFIP][2017]731 : calculee base : "Deficit 5ML pour 1731" ;
+BIHDNP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BIHDNV1731 : calculee base : "Deficit 5KL pour 1731" ;
+BIHDNV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BIN1731 : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BMI : calculee : "Base taux minimum metropole" ;
+BNCAABC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BNCAABP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BNCAABV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BNCAADC1731 : calculee base : "Deficit 5RG pour 1731" ;
+BNCAADC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BNCAAD[DGFIP][2017]731 : calculee base : "Deficit 5SG pour 1731" ;
+BNCAADP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BNCAADV1731 : calculee base : "Deficit 5JJ pour 1731" ;
+BNCAADV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BNCDEC1731 : calculee base : "Deficit 5RE pour 1731" ;
+BNCDEC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BNCDE[DGFIP][2017]731 : calculee base : "Deficit 5SE pour 1731" ;
+BNCDEP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BNCDEV1731 : calculee base : "Deficit 5QE pour 1731" ;
+BNCDEV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BNCEXP : saisie revenu classe = 0 priorite = 10 categorie_TL = 15 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 0 nat_code = 0 alias 5SB : "BNC prof. sous AA - Revenus exoneres - PAC" ;
+BNCREC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BNCREP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BNCREV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BNHDEC1731 : calculee base : "Deficit 5RK pour 1731" ;
+BNHDEC[DGFIP][2017] : calculee : "Somme des revenus categoriels nets hors BA" ;
+BNHDE[DGFIP][2017]731 : calculee base : "Deficit 5SK pour 1731" ;
+BNHDEP[DGFIP][2017] : calculee : "Somme des revenus categoriels nets hors BA" ;
+BNHDEV1731 : calculee base : "Deficit 5QK pour 1731" ;
+BNHDEV[DGFIP][2017] : calculee : "Somme des revenus categoriels nets hors BA" ;
+BNHREC[DGFIP][2017] : calculee : "Somme des revenus categoriels nets hors BA" ;
+BNHREP[DGFIP][2017] : calculee : "Somme des revenus categoriels nets hors BA" ;
+BNHREV[DGFIP][2017] : calculee : "Somme des revenus categoriels nets hors BA" ;
+BNN1731 : calculee base : "Somme des revenus categoriels nets hors BA" ;
+BOOLENF : calculee : "Zone Situation de Famille - Presence d'enfants a charges" ;
+BOOL_0AM : calculee : "Zone Situation de Famille - Veufs sans EAC" ;
+BOOL_0AZ : calculee : "booleen : vaut 1 si vauf dans  l annee" ;
+BOOL_0BT : calculee : "booleen : case OBT retenue" ;
+BOOL_CDV : calculee : "Booleen - vaut 1 si  celibataire, divorce, separe ou veuf." ;
+BOOL_PACSFL : calculee : "Booleen - vaut 0 si  PAC ou 0CH" ;
+BOOL_V : calculee : "Zone Situation de Famille - Veufs sans EAC" ;
+BOOL_W : calculee : "Booleen - vaut 1 si  W et personne d au moins 75 ans" ;
+BPCAPTAXC : calculee : "Base pension capital taxable conjoint" ;
+BPCAPTAXV : calculee : "Base pension capital taxable vous" ;
+BPRS2 : calculee restituee : "Base prelevement social 1% anterieur" ;
+BRCM1731 : calculee base : "Report deficit 2AA 2AL apres art 1731" ;
+BRCMBIS : calculee base : "base RCM 2CA  pour 1731 pour avis" ;
+BRCMBISB : calculee base : "base RCM   pour 1731 pour bareme" ;
+BRCMBISQ : calculee base : "base RCM   pour 1731 quotient" ;
+BRCM[DGFIP][2017] : calculee base : "Report deficit 2AA 2AL apres art 1731" ;
+BRCMQ1731 : calculee base : "Report deficit 2AA 2AL apres art 1731" ;
+BRCMQ[DGFIP][2017] : calculee base : "Report deficit 2AA 2AL apres art 1731" ;
+BRCMQ_P : calculee base : "Report deficit 2AA 2AL apres art 1731" ;
+BRCMTOT1731 : calculee base : "Base RCM pour 1731" ;
+BRCMTOT[DGFIP][2017] : calculee base : "Base RCM pour 1731" ;
+BRCM_P : calculee base : "Report deficit 2AA 2AL apres art 1731" ;
+BRDS2 : calculee restituee : "Base CRDS" ;
+CAP_ISO_RECT : calculee base : "IR apres prise en compte de tous rappels" ;
+CARPENBAC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NBS : "Pensions taxees au quotient : nombre d'annees - Declarant 2" ;
+CARPENBA[DGFIP][2017] : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NCS : "Pensions taxees au quotient : nombre d'annees - PAC 1" ;
+CARPENBA[DGFIP][2017] : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NDS : "Pensions taxees au quotient : nombre d'annees - PAC 2" ;
+CARPENBAP3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NES : "Pensions taxees au quotient : nombre d'annees - PAC 3" ;
+CARPENBAP4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NFS : "Pensions taxees au quotient : nombre d'annees - PAC 4" ;
+CARPENBAV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NAS : "Pensions taxees au quotient : nombre d'annees - Declarant 1" ;
+CARTSNBAC : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NBJ : "Salaires taxes au quotient : nombre d'annees - Declarant 2" ;
+CARTSNBA[DGFIP][2017] : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NCJ : "Salaires taxes au quotient : nombre d'annees - PAC 1" ;
+CARTSNBA[DGFIP][2017] : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NDJ : "Salaires taxes au quotient : nombre d'annees - PAC 2" ;
+CARTSNBAP3 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NEJ : "Salaires taxes au quotient : nombre d'annees - PAC 3" ;
+CARTSNBAP4 : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NFJ : "Salaires taxes au quotient : nombre d'annees - PAC 4" ;
+CARTSNBAV : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NAJ : "Salaires taxes au quotient : nombre d'annees - Declarant 1" ;
+CDIS : calculee : "Contribution sociale salariale" ;
+CDISBASE_A : calculee base : "correctif : cdis calculee effectivement anterieure" ;
+CDISD : calculee : "Cont. soc. salariale due 30%" ;
+CDIS_A : calculee base : "correctif : Cdis anterieure" ;
+CGAIND : calculee : "Cont. salariale 8% due" ;
+CGAINSAL : calculee : "Contribution salariale de 8 %" ;
+CGLOAD : calculee : "Contrib. GLO  due" ;
+CGLOA_A : calculee base : "correctif : CGLOA anterieure" ;
+CHRAPRES : calculee base : "Impot Hauts Revenus apres calcul  tx eff ou non" ;
+CHRAVANT : calculee base : "Impot Hauts Revenus avant tx eff." ;
+CHRBASE_A : calculee base : "correctif : base calculee effectivement anterieure" ;
+CHRDED : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 9 sanction = 9 nat_code = 1 alias 6DD : "Deductions diverses" ;
+CHRNEG : calculee : "taxe + INR + majo" ;
+CHRNEG_NOP : calculee : "CHRNEG hors penalite" ;
+CHRNET : calculee : "cont haut rev.  + INR + majo" ;
+CHRREEL1 : calculee : "Haut revenu calcul contrib." ;
+CHRREEL2 : calculee : "Haut revenu calcul contrib." ;
+CHRREELTOT : calculee : "Haut revenu calcul contrib. theorique total" ;
+CHRTEFF : calculee base : "Impot Hauts Revenus tx eff " ;
+CHRTHEO1 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEO11 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEO2 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEO21 : calculee : "Haut revenu calcul contrib. theorique" ;
+CHRTHEOTOT : calculee : "Haut revenu calcul contrib. theorique total" ;
+CHR_ISO_RECT : calculee base : "IR apres prise en compte de tous rappels" ;
+C[DGFIP][2017]CK : calculee : "Credit d'impot RCM ligne 2CK" ;
+CICA_A : calculee base : "correctif : credit impot TADB  anterieur" ;
+CICHR : calculee base : "Impot Hauts Revenus credit impot" ;
+CICOMPEMPL : calculee : "Credit d'impot competitivite emploi" ;
+CICORSE : calculee : "Credit d'impot investissement Corse" ;
+CICORSEAVIS : calculee : "Credit d'impot investissement Corse pour avis avec 8TS" ;
+CICULTUR : calculee : "Credit d'impot investissement biens cultures retenu" ;
+CIDONENTR : calculee : "Credit d'impot dons oeuvre entreprise" ;
+CIGLO : calculee : "Credit d'impot sur gain de levee d option retenu" ;
+CIGPA : calculee : "Credit d'impot groupement de prevention agree" ;
+CIMPTL : calculee : "Total des credits d'impot pour le calcul de la TL" ;
+CIRCMAVFT : calculee : "Credit d'impot ligne 2AB" ;
+CIRECH : calculee : "Credit d'impot recherche" ;
+CMAJ : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 1 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 11 sanction = 0 nat_code = 0 alias 9YT : "Code majoration           " ;
+CMAJ2 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 0 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 11 sanction = 0 nat_code = 0 alias V_CMAJ2 : "Code majoration           " ;
+CMAJ_ISF : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 0 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 0 sanction = 0 nat_code = 0 alias 9XT : "ISF : code majoration           " ;
+CO2047 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YH : "Case a cocher si le contribuable a souscrit une declaration 2047 " ;
+CO2102 : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YG : "Code permettant l'edition de la lettre 754K  " type BOOLEEN ;
+COD8PA : saisie revenu classe = 0 priorite = 51 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 sanction = 0 nat_code = 1 alias 8PA : "Plafond calcule pour credit declare en 8TA (impot paye a l'etranger)" ;
+COD8PQ : saisie revenu classe = 0 priorite = 51 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 11 sanction = 0 nat_code = 0 alias 8PQ : "Base PS des non résidents hors EEE" ;
+COD9YP : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 9YP : "Acomptes verses pour calcul base interet de retard PS" ;
+COD9ZA : saisie revenu classe = 0 priorite = 60 categorie_TL = 10 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 10 sanction = 0 nat_code = 1 alias 9ZA : "Case a cocher : Non application de l'article 1731 bis" type BOOLEEN ;
+COD9ZV : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9ZV : "Liste CRES (PPE)" type BOOLEEN ;
+CODCHA : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YF : "Code chargement (nb de codes saisis)" ;
+CODDAJ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 8 nat_code = 0 alias DAJ : "Salaires au quotient 4 metro/DOM 30 % - Declarant 1" ;
+CODDBJ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 8 nat_code = 0 alias DBJ : "Salaires au quotient 4 metro/DOM 30 % - Declarant 2" ;
+CODEAJ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 8 nat_code = 0 alias EAJ : "Salaires au quotient 4 metro/DOM 40 % - Declarant 1" ;
+CODEBJ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 8 nat_code = 0 alias EBJ : "Salaires au quotient 4 metro/DOM 40 % - Declarant 2" ;
+CODNAZ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NAZ : "Pensions invalidite taxees au quotient : nb d'annees - Declarant 1" ;
+CODNBZ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NBZ : "Pensions invalidite taxees au quotient : nb d'annees - Declarant 2" ;
+CODNCZ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NCZ : "Pensions invalidite taxees au quotient : nb d'annees - PAC 1" ;
+CODNDZ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NDZ : "Pensions invalidite taxees au quotient : nb d'annees - PAC 2" ;
+CODNEZ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NEZ : "Pensions invalidite taxees au quotient : nb d'annees - PAC 3" ;
+CODNFZ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias NFZ : "Pensions invalidite taxees au quotient : nb d'annees - PAC 4" ;
+CODRAZ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 8 nat_code = 0 alias RAZ : "Pensions invalidite taxees au quotient - Declarant 1" ;
+CODRBZ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 8 nat_code = 0 alias RBZ : "Pensions invalidite taxees au quotient - Declarant 2" ;
+CODRCZ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 8 nat_code = 0 alias RCZ : "Pensions invalidite taxees au quotient - PAC 1" ;
+CODRDZ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 8 nat_code = 0 alias RDZ : "Pensions invalidite taxees au quotient - PAC 2" ;
+CODREZ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 8 nat_code = 0 alias REZ : "Pensions invalidite taxees au quotient - PAC 3" ;
+CODRFZ : saisie revenu classe = 0 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 8 nat_code = 0 alias RFZ : "Pensions invalidite taxees au quotient - PAC 4" ;
+CODSIR : saisie revenu classe = 0 priorite = 60 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 0 alias 9YK : "Restitution des recoupements dans le FLR       " ;
+COMPENSACI : calculee : "Compensation restitution credit impot sur PS suite a fusion IR/PS" ;
+COMPENSANV : calculee : "Compensation restitution admission non val sur PS suite a fusion IR/PS" ;
+COMPENSIR : calculee : "Compensation IR suite a fusion IR/PS" ;
+COMPENSPPE : calculee : "Compensation restitution PPE  sur PS suite a fusion IR/PS" ;
+COMPENSPS : calculee : "Compensation PS suite a fusion IR/PS" ;
+COPETO : calculee : "Taux de penalite du a la saisie des codes 9YT et 9YW" ;
+COPETOISF : calculee : "ISF : Taux de penalite du a la saisie des codes 9XT " ;
+COT[DGFIP][2017] : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias FCT : "Nb d'annees cotisations footballeurs - PAC 1" ;
+COT[DGFIP][2017] : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias FDT : "Nb d'annees cotisations footballeurs - PAC 2" ;
+COTF3 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias FET : "Nb d'annees cotisations footballeurs PAC 3" ;
+COTF4 : saisie revenu classe = 0 priorite = 11 categorie_TL = 20 cotsoc = 5 ind_abat = 1 acompte = 0 avfisc = 0 rapcat = 4 sanction = 9 nat_code = 1 alias FFT : "Nb d'annees cotisations foo
diff --git a/sources2014m_2_15/tgvH.m b/sources2014m_2_15/tgvH.m
new file mode 100644
index 0000000000000000000000000000000000000000..6e46bebf9083f10cf799cd315fb65ae5983545d4
--- /dev/null
+++ b/sources2014m_2_15/tgvH.m
@@ -0,0 +1,413 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS1TOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS21731 : calculee base : "Indicateur frais reels" ;
+10MINS2[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINS2TOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS31731 : calculee base : "Indicateur frais reels" ;
+10MINS3[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINS3TOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS41731 : calculee base : "Indicateur frais reels" ;
+10MINS4[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINS4TOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC1731 : calculee base : "Indicateur frais reels" ;
+10MINSC[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINSCTOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINSP : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV1731 : calculee base : "Indicateur frais reels" ;
+10MINSV[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINSVTOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+1RAN : calculee : "Revenus ouvrant droit a l'abattement unique nets de frais" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+1RCM_[DGFIP][2017]FA : calculee : "RCM Q1 avec 2FA apres imputaion 2CA avant imputation 2AA" ;
+1RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+1RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2CKIMP : calculee restituee : "RCM prel. faofaitaire  : montant impute" ;
+2CKREST : calculee restituee : "RCM prel. forfaitaire  : montant restitution" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAR : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+3VVIMP : calculee restituee : "Prelevement liberatoire 45% : montant impute" ;
+3VVREST : calculee restituee : "Prelevement liberatoire 45% : montant restitution" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 2" ;
+4BACREC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BACREC_P : calculee base : "code rev initial pour 1731 bis" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BACREP_P : calculee base : "code rev initial pour 1731 bis" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 1" ;
+4BACREV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BACREV_P : calculee base : "code rev initial pour 1731 bis" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Declarant 2" ;
+4BAHREC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BAHREC_P : calculee base : "code rev initial pour 1731 bis" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BAHREP_P : calculee base : "code rev initial pour 1731 bis" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Declarant 1" ;
+4BAHREV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BAHREV_P : calculee base : "code rev initial pour 1731 bis" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RENT1 : calculee : "pour calculer A10RENT en cas de 1731bis" ;
+A10RENT1731 : calculee base : "A10RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RENT[DGFIP][2017] : calculee base : "A10RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RFOR1731 : calculee base : "A10RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RFOR[DGFIP][2017] : calculee base : "A10RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RNOUV : calculee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RNOUV1731 : calculee base : "A10RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RNOUV[DGFIP][2017] : calculee base : "A10RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RSOC : calculee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10RSOC1731 : calculee base : "A10RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RSOC[DGFIP][2017] : calculee base : "A10RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC : calculee : "A2 : Investissements locatif social - reduction" ;
+A10TOURSOC1731 : calculee base : "A10TOURSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC[DGFIP][2017] : calculee base : "A10TOURSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC_1 : calculee : "A10REEL : Investissements locatif social - reduction sans 1731bis" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RENT1 : calculee : "pour calculer A11RENT en cas de 1731bis" ;
+A11RENT1731 : calculee base : "A11RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RENT[DGFIP][2017] : calculee base : "A11RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RFOR1731 : calculee base : "A11RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RFOR[DGFIP][2017] : calculee base : "A11RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RNOUV : calculee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RNOUV1731 : calculee base : "A11RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RNOUV[DGFIP][2017] : calculee base : "A11RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RSOC : calculee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11RSOC1731 : calculee base : "A11RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RSOC[DGFIP][2017] : calculee base : "A11RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11TOURSOC : calculee : "A2 : Investissements locatif social - reduction" ;
+A12REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A12RENT : calculee : "Calcul de AUBAINE12 : Reduction Invt DOM ds cadre entreprise" ;
+A12RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A12RENT1731 : calculee base : "A12RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RENT[DGFIP][2017] : calculee base : "A12RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RESTIMOA : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RESTIMOE : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RETRESTIMO : calculee : " Plaf av fiscaux - Travaux de restauration immo - reduction calcule" ;
+A12RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE12, reductions invt forestier retenues" ;
+A12RFOR1731 : calculee base : "A12RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RFOR[DGFIP][2017] : calculee base : "A12RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RNOUV : calculee : "Calcul de AUBAINE12 : Reduction Capital de societes nouvelles" ;
+A12RNOUV1731 : calculee base : "A12RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RNOUV[DGFIP][2017] : calculee base : "A12RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RRESTIMO : calculee restituee : "Plaf av fiscaux -Travaux de restauration immobiliere - reduction" ;
+A12RRESTIMO_1 : calculee : "Plaf av fiscaux - Travaux de restauration immo - reduc" ;
+A12RSOC : calculee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A12RSOC1731 : calculee base : "A12RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RSOC[DGFIP][2017] : calculee base : "A12RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12TOURSOC : calculee : "A2 : Investissements locatif social - reduction" ;
+A1314RSOC : calculee : "plaf av fiscaux : Invest DOM 2013 2014 logement social - reduction" ;
+A13REELA : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13REELB : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13RENT : calculee : "Calcul de AUBAINE13 : Reduction Invt DOM 2013 2014 ds cadre entreprise" ;
+A13RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A13RENT1731 : calculee base : "A13RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A13RFOR1731 : calculee base : "A13RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RFOR[DGFIP][2017] : calculee base : "A13RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RNOUV : calculee : "Calcul de AUBAINE13 : Reduction Capital de societes nouvelles" ;
+A13RNOUV1731 : calculee base : "A13RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RSOC : calculee : "plaf av fiscaux : Invest DOM 2013 2014 logement social - reduction" ;
+A13UXI : calculee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A14REELA : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A14REELB : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A14UN : calculee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A9RFOR : calculee : "Plaf-av-fisco,  reductions invt forestier retenues" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AAIDE1731 : calculee base : "AAIDE retenu  a la fin 1er traitement si 1731bis" ;
+AAIDE[DGFIP][2017] : calculee base : "AAIDE retenu  a la fin 1er traitement si 1731bis" ;
+AAIDE_P : calculee base : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABADO1 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO2 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO31 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO32 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO4 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO6 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADON1 : calculee : "Abattement DOM" ;
+ABADON2 : calculee : "Abattement DOM" ;
+ABADON31 : calculee : "Abattement DOM" ;
+ABADON32 : calculee : "Abattement DOM" ;
+ABADON4 : calculee : "Abattement DOM" ;
+ABADON6 : calculee : "Abattement DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAGU1 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU2 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU3 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU31 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU32 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU4 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU6 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABATOT1 : calculee : "Abattement DOM" ;
+ABATOT2 : calculee : "Abattement DOM" ;
+ABATOT31 : calculee : "Abattement DOM" ;
+ABATOT32 : calculee : "Abattement DOM" ;
+ABATOT4 : calculee : "Abattement DOM" ;
+ABATOT6 : calculee : "Abattement DOM" ;
+ABAT_ENF_MARIES : const=5726.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1172.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VB : "Abat. pour duree de detention dirigeant - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VA : "Abat. pour duree de detention dirigeant - Plus-value" ;
+ABDOMDAJ : calculee : "Abattement frais pro proratise pour DAJ" ;
+ABDOMDBJ : calculee : "Abattement frais pro proratise pour DBJ" ;
+ABDOMEAJ : calculee : "Abattement frais pro proratise pour EAJ" ;
+ABDOMEBJ : calculee : "Abattement frais pro proratise pour EBJ" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPVNOSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WD : "Base aux prelevements sociaux en cas de paiement immediat" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee restituee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee restituee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTPATEFRFR : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTS1AJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1AP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1TT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1UT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VK : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACEL1731 : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACEL2012 : calculee restituee : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL20121731 : calculee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACEL2012[DGFIP][2017] : calculee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACEL2012_P : calculee base : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL2012_R : calculee : "Scellier engagement et fini en 2012- Retenu  pour report si 1731bis" ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM1731 : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELCOM[DGFIP][2017] : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELCOM_P : calculee base : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM_R : calculee : " Scellier report -pour calculer RIVCELCOM si 1731bis" ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELFABC : calculee restituee : "Investissement Scellier 2013 engagement 2012" ;
+ACELFABC1731 : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFABC[DGFIP][2017] : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFABC_P : calculee base : "Investissement Scellier 2013 engagement 2012" ;
+ACELFABC_R : calculee : " Scellier report - pour calculer RRCEL2013A si 1731bis" ;
+ACELFD : calculee restituee : "Investissement Scellier 2013 engagement 2012 Polynesie - Retenu  " ;
+ACELF[DGFIP][2017]731 : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFD[DGFIP][2017] : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFD_P : calculee base : "Investissement Scellier 2013 engagement 2012 Polynesie - Retenu  " ;
+ACELFD_R : calculee : " Scellier report - pour calculer RRCEL2013A si 1731bis" ;
+ACELHJK : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHJK1731 : calculee base : " Scellier report - Retenu 7HJ 7HK a la fin 1er traitement si 1731bis" ;
+ACELHJK[DGFIP][2017] : calculee base : " Scellier report - Retenu 7HJ 7HK a la fin 1er traitement si 1731bis" ;
+ACELHJK_P : calculee base : "Investissement Scellier - Retenu  " ;
+ACELHJK_R : calculee : " Scellier report -pour calculer RIVCELJK1 si 1731bis" ;
+ACELHL : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHL1731 : calculee base : " Scellier report - Retenu 7HL a la fin 1er traitement si 1731bis" ;
+ACELHL[DGFIP][2017] : calculee base : " Scellier report - Retenu 7HL a la fin 1er traitement si 1731bis" ;
+ACELHL_P : calculee base : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHL_R : calculee : " Scellier report - pour calculer RIVCELHLM1 si 1731bis" ;
+ACELHM : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHM1731 : calculee base : " Scellier report - Retenu 7HM a la fin 1er traitement si 1731bis" ;
+ACELHM[DGFIP][2017] : calculee base : " Scellier report - Retenu 7HM a la fin 1er traitement si 1731bis" ;
+ACELHM_P : calculee base : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHM_R : calculee : " Scellier report - pour calculer RIVCELHLM1 si 1731bis" ;
+ACELHNO : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHNO1731 : calculee base : " Scellier report - Retenu 7HNO a la fin 1er traitement si 1731bis" ;
+ACELHNO[DGFIP][2017] : calculee base : " Scellier report - Retenu 7HNO a la fin 1er traitement si 1731bis" ;
+ACELHNO_P : calculee base : "Investissemen
diff --git a/sources2014m_2_15/tgvI.m b/sources2014m_2_15/tgvI.m
new file mode 100644
index 0000000000000000000000000000000000000000..6690e470f49aaf88e937b79c309eacc05a8b7629
--- /dev/null
+++ b/sources2014m_2_15/tgvI.m
@@ -0,0 +1,405 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 14 Application iliad
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee restituee : "deductions hors droits d'auteur plafonnees" ;
+10MINS1TOUT : calculee restituee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINS2 : calculee restituee : "deductions hors droits d'auteur plafonnees" ;
+10MINS21731 : calculee restituee base : "Indicateur frais reels" ;
+10MINS2[DGFIP][2017] : calculee restituee base : "Indicateur frais reels" ;
+10MINS2TOUT : calculee restituee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINS3 : calculee restituee : "deductions hors droits d'auteur plafonnees" ;
+10MINS31731 : calculee restituee base : "Indicateur frais reels" ;
+10MINS3[DGFIP][2017] : calculee restituee base : "Indicateur frais reels" ;
+10MINS3TOUT : calculee restituee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINS4 : calculee restituee : "deductions hors droits d'auteur plafonnees" ;
+10MINS41731 : calculee restituee base : "Indicateur frais reels" ;
+10MINS4[DGFIP][2017] : calculee restituee base : "Indicateur frais reels" ;
+10MINS4TOUT : calculee restituee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINSC : calculee restituee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC1731 : calculee restituee base : "Indicateur frais reels" ;
+10MINSC[DGFIP][2017] : calculee restituee base : "Indicateur frais reels" ;
+10MINSCTOUT : calculee restituee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINSP : calculee restituee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee restituee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV1731 : calculee restituee base : "Indicateur frais reels" ;
+10MINSV[DGFIP][2017] : calculee restituee base : "Indicateur frais reels" ;
+10MINSVTOUT : calculee restituee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+1RAN : calculee : "Revenus ouvrant droit a l'abattement unique nets de frais" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+1RCM_[DGFIP][2017]FA : calculee : "RCM Q1 avec 2FA apres imputaion 2CA avant imputation 2AA" ;
+1RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+1RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2CKIMP : calculee restituee : "RCM prel. faofaitaire  : montant impute" ;
+2CKREST : calculee restituee : "RCM prel. forfaitaire  : montant restitution" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAR : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+2REV[DGFIP][2017]731R : calculee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+3REV[DGFIP][2017]731R : calculee : "Revenus fonciers exceptionnels imposables" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+3VVIMP : calculee restituee : "Prelevement liberatoire 45% : montant impute" ;
+3VVREST : calculee restituee : "Prelevement liberatoire 45% : montant restitution" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 2" ;
+4BACREC[DGFIP][2017] : calculee restituee base : "Somme des revenus categoriels nets hors BA" ;
+4BACREC_P : calculee base : "code rev initial pour 1731 bis" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREP[DGFIP][2017] : calculee restituee base : "Somme des revenus categoriels nets hors BA" ;
+4BACREP_P : calculee base : "code rev initial pour 1731 bis" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 1" ;
+4BACREV[DGFIP][2017] : calculee restituee base : "Somme des revenus categoriels nets hors BA" ;
+4BACREV_P : calculee base : "code rev initial pour 1731 bis" ;
+4BAHQC1731R : calculee : "ba hors quotient vous" ;
+4BAHQ[DGFIP][2017]731R : calculee : "ba hors quotient vous" ;
+4BAHQV1731R : calculee : "ba hors quotient vous" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Declarant 2" ;
+4BAHREC[DGFIP][2017] : calculee restituee base : "Somme des revenus categoriels nets hors BA" ;
+4BAHREC_P : calculee base : "code rev initial pour 1731 bis" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREP[DGFIP][2017] : calculee restituee base : "Somme des revenus categoriels nets hors BA" ;
+4BAHREP_P : calculee base : "code rev initial pour 1731 bis" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Declarant 1" ;
+4BAHREV[DGFIP][2017] : calculee restituee base : "Somme des revenus categoriels nets hors BA" ;
+4BAHREV_P : calculee base : "code rev initial pour 1731 bis" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQC1731R : calculee : "ba hors quotient vous quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQ[DGFIP][2017]731R : calculee : "ba hors quotient vous quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOT1731R : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQTOTNET1731R : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4BAQV1731R : calculee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREC1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACRE[DGFIP][2017]731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREC1731R : calculee : "Part du deficit sur code revenu majore " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHRE[DGFIP][2017]731R : calculee : "Part du deficit sur code revenu majore " ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV1731R : calculee : "Part du deficit sur code revenu majore " ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee restituee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RENT1 : calculee : "pour calculer A10RENT en cas de 1731bis" ;
+A10RENT1731 : calculee restituee base : "A10RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RENT[DGFIP][2017] : calculee restituee base : "A10RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RFOR : calculee restituee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RFOR1731 : calculee restituee base : "A10RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RFOR[DGFIP][2017] : calculee restituee base : "A10RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RNOUV : calculee restituee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RNOUV1731 : calculee restituee base : "A10RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RNOUV[DGFIP][2017] : calculee restituee base : "A10RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10RSOC1731 : calculee restituee base : "A10RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RSOC[DGFIP][2017] : calculee restituee base : "A10RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A10TOURSOC1731 : calculee restituee base : "A10TOURSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC[DGFIP][2017] : calculee restituee base : "A10TOURSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC_1 : calculee restituee : "A10REEL : Investissements locatif social - reduction sans 1731bis" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee restituee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RENT1 : calculee : "pour calculer A11RENT en cas de 1731bis" ;
+A11RENT1731 : calculee restituee base : "A11RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RENT[DGFIP][2017] : calculee restituee base : "A11RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RFOR : calculee restituee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RFOR1731 : calculee restituee base : "A11RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RFOR[DGFIP][2017] : calculee restituee base : "A11RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RNOUV : calculee restituee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RNOUV1731 : calculee restituee base : "A11RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RNOUV[DGFIP][2017] : calculee restituee base : "A11RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11RSOC1731 : calculee restituee base : "A11RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RSOC[DGFIP][2017] : calculee restituee base : "A11RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A12REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A12RENT : calculee restituee : "Calcul de AUBAINE12 : Reduction Invt DOM ds cadre entreprise" ;
+A12RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A12RENT1731 : calculee restituee base : "A12RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RENT[DGFIP][2017] : calculee restituee base : "A12RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RESTIMOA : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RESTIMOE : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RETRESTIMO : calculee restituee : " Plaf av fiscaux - Travaux de restauration immo - reduction calcule" ;
+A12RFOR : calculee restituee : "Plaf-av-fisco, calcul AUBAINE12, reductions invt forestier retenues" ;
+A12RFOR1731 : calculee restituee base : "A12RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RFOR[DGFIP][2017] : calculee restituee base : "A12RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RNOUV : calculee restituee : "Calcul de AUBAINE12 : Reduction Capital de societes nouvelles" ;
+A12RNOUV1731 : calculee restituee base : "A12RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RNOUV[DGFIP][2017] : calculee restituee base : "A12RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RRESTIMO : calculee restituee : "Plaf av fiscaux -Travaux de restauration immobiliere - reduction" ;
+A12RRESTIMO_1 : calculee : "Plaf av fiscaux - Travaux de restauration immo - reduc" ;
+A12RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A12RSOC1731 : calculee restituee base : "A12RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RSOC[DGFIP][2017] : calculee restituee base : "A12RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A1314RSOC : calculee restituee : "plaf av fiscaux : Invest DOM 2013 2014 logement social - reduction" ;
+A13REELA : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13REELB : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13RENT : calculee restituee : "Calcul de AUBAINE13 : Reduction Invt DOM 2013 2014 ds cadre entreprise" ;
+A13RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A13RENT1731 : calculee restituee base : "A13RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RFOR : calculee restituee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A13RFOR1731 : calculee restituee base : "A13RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RFOR[DGFIP][2017] : calculee restituee base : "A13RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RNOUV : calculee restituee : "Calcul de AUBAINE13 : Reduction Capital de societes nouvelles" ;
+A13RNOUV1731 : calculee restituee base : "A13RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RSOC : calculee restituee : "plaf av fiscaux : Invest DOM 2013 2014 logement social - reduction" ;
+A13UXI : calculee restituee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A14REELA : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A14REELB : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A14UN : calculee restituee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A9RFOR : calculee restituee : "Plaf-av-fisco,  reductions invt forestier retenues" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AAIDE1731 : calculee restituee base : "AAIDE retenu  a la fin 1er traitement si 1731bis" ;
+AAIDE[DGFIP][2017] : calculee restituee base : "AAIDE retenu  a la fin 1er traitement si 1731bis" ;
+AAIDE_P : calculee base : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+AB20_RAPPEL : saisie penalite alias V_A20_RAPPEL : "Champ indicateur perte abattement 20% dans une ligne rappel" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABADO1 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO2 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO31 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO32 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO4 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO6 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADON1 : calculee : "Abattement DOM" ;
+ABADON2 : calculee : "Abattement DOM" ;
+ABADON31 : calculee : "Abattement DOM" ;
+ABADON32 : calculee : "Abattement DOM" ;
+ABADON4 : calculee : "Abattement DOM" ;
+ABADON6 : calculee : "Abattement DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAGU1 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU2 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU3 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU31 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU32 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU4 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU6 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABATOT1 : calculee : "Abattement DOM" ;
+ABATOT2 : calculee : "Abattement DOM" ;
+ABATOT31 : calculee : "Abattement DOM" ;
+ABATOT32 : calculee : "Abattement DOM" ;
+ABATOT4 : calculee : "Abattement DOM" ;
+ABATOT6 : calculee : "Abattement DOM" ;
+ABAT_ENF_MARIES : const=5726.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1172.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VB : "Abat. pour duree de detention dirigeant - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VA : "Abat. pour duree de detention dirigeant - Plus-value" ;
+ABDOMDAJ : calculee : "Abattement frais pro proratise pour DAJ" ;
+ABDOMDBJ : calculee : "Abattement frais pro proratise pour DBJ" ;
+ABDOMEAJ : calculee : "Abattement frais pro proratise pour EAJ" ;
+ABDOMEBJ : calculee : "Abattement frais pro proratise pour EBJ" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPVNOSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WD : "Base aux prelevements sociaux en cas de paiement immediat" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee restituee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee restituee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTPATEFRFR : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTS1AJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1AP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1TT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1UT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VK : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACEL1731 : calculee restituee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACEL2012 : calculee restituee : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL20121731 : calculee restituee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACEL2012[DGFIP][2017] : calculee restituee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACEL2012_P : calculee base : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL2012_R : calculee : "Scellier engagement et fini en 2012- Retenu  pour report si 1731bis" ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM1731 : calculee restituee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELCOM[DGFIP][2017] : calculee restituee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELCOM_P : calculee base : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM_R : calculee : " Scellier report -pour calculer RIVCELCOM si 1731bis" ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELFABC : calculee restituee : "Investissement Scellier 2013 engagement 2012" ;
+ACELFABC1731 : calculee restituee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFABC[DGFIP][2017] : calculee restituee base : " Scellier  - 
diff --git a/sources2014m_2_15/tgvO.m b/sources2014m_2_15/tgvO.m
new file mode 100644
index 0000000000000000000000000000000000000000..15c9e27436f6450ddde9a971448d3e32ac88b8a8
--- /dev/null
+++ b/sources2014m_2_15/tgvO.m
@@ -0,0 +1,413 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 14 Application oceans
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS1TOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS21731 : calculee base : "Indicateur frais reels" ;
+10MINS2[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINS2TOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS31731 : calculee base : "Indicateur frais reels" ;
+10MINS3[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINS3TOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS41731 : calculee base : "Indicateur frais reels" ;
+10MINS4[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINS4TOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC1731 : calculee base : "Indicateur frais reels" ;
+10MINSC[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINSCTOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINSP : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV1731 : calculee base : "Indicateur frais reels" ;
+10MINSV[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINSVTOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+1RAN : calculee : "Revenus ouvrant droit a l'abattement unique nets de frais" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+1RCM_[DGFIP][2017]FA : calculee : "RCM Q1 avec 2FA apres imputaion 2CA avant imputation 2AA" ;
+1RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+1RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2CKIMP : calculee restituee : "RCM prel. faofaitaire  : montant impute" ;
+2CKREST : calculee restituee : "RCM prel. forfaitaire  : montant restitution" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAR : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+2REV[DGFIP][2017]731R : calculee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+3REV[DGFIP][2017]731R : calculee : "Revenus fonciers exceptionnels imposables" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+3VVIMP : calculee restituee : "Prelevement liberatoire 45% : montant impute" ;
+3VVREST : calculee restituee : "Prelevement liberatoire 45% : montant restitution" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 2" ;
+4BACREC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BACREC_P : calculee base : "code rev initial pour 1731 bis" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BACREP_P : calculee base : "code rev initial pour 1731 bis" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 1" ;
+4BACREV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BACREV_P : calculee base : "code rev initial pour 1731 bis" ;
+4BAHQC1731R : calculee : "ba hors quotient vous" ;
+4BAHQ[DGFIP][2017]731R : calculee : "ba hors quotient vous" ;
+4BAHQV1731R : calculee : "ba hors quotient vous" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Declarant 2" ;
+4BAHREC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BAHREC_P : calculee base : "code rev initial pour 1731 bis" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BAHREP_P : calculee base : "code rev initial pour 1731 bis" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Declarant 1" ;
+4BAHREV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BAHREV_P : calculee base : "code rev initial pour 1731 bis" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQC1731R : calculee : "ba hors quotient vous quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQ[DGFIP][2017]731R : calculee : "ba hors quotient vous quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOT1731R : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQTOTNET1731R : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4BAQV1731R : calculee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREC1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACRE[DGFIP][2017]731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREC1731R : calculee : "Part du deficit sur code revenu majore " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHRE[DGFIP][2017]731R : calculee : "Part du deficit sur code revenu majore " ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV1731R : calculee : "Part du deficit sur code revenu majore " ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee restituee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RENT1 : calculee : "pour calculer A10RENT en cas de 1731bis" ;
+A10RENT1731 : calculee base : "A10RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RENT[DGFIP][2017] : calculee base : "A10RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RFOR1731 : calculee base : "A10RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RFOR[DGFIP][2017] : calculee base : "A10RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RNOUV : calculee restituee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RNOUV1731 : calculee base : "A10RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RNOUV[DGFIP][2017] : calculee base : "A10RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10RSOC1731 : calculee base : "A10RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RSOC[DGFIP][2017] : calculee base : "A10RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A10TOURSOC1731 : calculee base : "A10TOURSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC[DGFIP][2017] : calculee base : "A10TOURSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC_1 : calculee restituee : "A10REEL : Investissements locatif social - reduction sans 1731bis" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee restituee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RENT1 : calculee : "pour calculer A11RENT en cas de 1731bis" ;
+A11RENT1731 : calculee base : "A11RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RENT[DGFIP][2017] : calculee base : "A11RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RFOR1731 : calculee base : "A11RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RFOR[DGFIP][2017] : calculee base : "A11RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RNOUV : calculee restituee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RNOUV1731 : calculee base : "A11RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RNOUV[DGFIP][2017] : calculee base : "A11RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11RSOC1731 : calculee base : "A11RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RSOC[DGFIP][2017] : calculee base : "A11RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A12REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A12RENT : calculee restituee : "Calcul de AUBAINE12 : Reduction Invt DOM ds cadre entreprise" ;
+A12RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A12RENT1731 : calculee base : "A12RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RENT[DGFIP][2017] : calculee base : "A12RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RESTIMOA : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RESTIMOE : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RETRESTIMO : calculee restituee : " Plaf av fiscaux - Travaux de restauration immo - reduction calcule" ;
+A12RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE12, reductions invt forestier retenues" ;
+A12RFOR1731 : calculee base : "A12RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RFOR[DGFIP][2017] : calculee base : "A12RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RNOUV : calculee restituee : "Calcul de AUBAINE12 : Reduction Capital de societes nouvelles" ;
+A12RNOUV1731 : calculee base : "A12RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RNOUV[DGFIP][2017] : calculee base : "A12RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RRESTIMO : calculee restituee : "Plaf av fiscaux -Travaux de restauration immobiliere - reduction" ;
+A12RRESTIMO_1 : calculee : "Plaf av fiscaux - Travaux de restauration immo - reduc" ;
+A12RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A12RSOC1731 : calculee base : "A12RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RSOC[DGFIP][2017] : calculee base : "A12RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A1314RSOC : calculee restituee : "plaf av fiscaux : Invest DOM 2013 2014 logement social - reduction" ;
+A13REELA : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13REELB : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13RENT : calculee restituee : "Calcul de AUBAINE13 : Reduction Invt DOM 2013 2014 ds cadre entreprise" ;
+A13RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A13RENT1731 : calculee base : "A13RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A13RFOR1731 : calculee base : "A13RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RFOR[DGFIP][2017] : calculee base : "A13RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RNOUV : calculee restituee : "Calcul de AUBAINE13 : Reduction Capital de societes nouvelles" ;
+A13RNOUV1731 : calculee base : "A13RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RSOC : calculee restituee : "plaf av fiscaux : Invest DOM 2013 2014 logement social - reduction" ;
+A13UXI : calculee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A14REELA : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A14REELB : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A14UN : calculee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A9RFOR : calculee : "Plaf-av-fisco,  reductions invt forestier retenues" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AAIDE1731 : calculee base : "AAIDE retenu  a la fin 1er traitement si 1731bis" ;
+AAIDE[DGFIP][2017] : calculee base : "AAIDE retenu  a la fin 1er traitement si 1731bis" ;
+AAIDE_P : calculee base : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+AB20_RAPPEL : saisie penalite alias V_A20_RAPPEL : "Champ indicateur perte abattement 20% dans une ligne rappel" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABADO1 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO2 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO31 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO32 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO4 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO6 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADON1 : calculee : "Abattement DOM" ;
+ABADON2 : calculee : "Abattement DOM" ;
+ABADON31 : calculee : "Abattement DOM" ;
+ABADON32 : calculee : "Abattement DOM" ;
+ABADON4 : calculee : "Abattement DOM" ;
+ABADON6 : calculee : "Abattement DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAGU1 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU2 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU3 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU31 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU32 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU4 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU6 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABATOT1 : calculee : "Abattement DOM" ;
+ABATOT2 : calculee : "Abattement DOM" ;
+ABATOT31 : calculee : "Abattement DOM" ;
+ABATOT32 : calculee : "Abattement DOM" ;
+ABATOT4 : calculee : "Abattement DOM" ;
+ABATOT6 : calculee : "Abattement DOM" ;
+ABAT_ENF_MARIES : const=5726.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1172.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VB : "Abat. pour duree de detention dirigeant - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VA : "Abat. pour duree de detention dirigeant - Plus-value" ;
+ABDOMDAJ : calculee : "Abattement frais pro proratise pour DAJ" ;
+ABDOMDBJ : calculee : "Abattement frais pro proratise pour DBJ" ;
+ABDOMEAJ : calculee : "Abattement frais pro proratise pour EAJ" ;
+ABDOMEBJ : calculee : "Abattement frais pro proratise pour EBJ" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPVNOSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WD : "Base aux prelevements sociaux en cas de paiement immediat" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee restituee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee restituee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTPATEFRFR : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTS1AJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1AP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1TT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1UT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VK : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACEL1731 : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACEL2012 : calculee restituee : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL20121731 : calculee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACEL2012[DGFIP][2017] : calculee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACEL2012_P : calculee base : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL2012_R : calculee : "Scellier engagement et fini en 2012- Retenu  pour report si 1731bis" ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM1731 : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELCOM[DGFIP][2017] : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELCOM_P : calculee base : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM_R : calculee : " Scellier report -pour calculer RIVCELCOM si 1731bis" ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELFABC : calculee restituee : "Investissement Scellier 2013 engagement 2012" ;
+ACELFABC1731 : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFABC[DGFIP][2017] : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFABC_P : calculee base : "Investissement Scellier 2013 engagement 2012" ;
+ACELFABC_R : calculee : " Scellier report - pour calculer RRCEL2013A si 1731bis" ;
+ACELFD : calculee restituee : "Investissement Scellier 2013 engagement 2012 Polynesie - Retenu  " ;
+ACELF[DGFIP][2017]731 : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFD[DGFIP][2017] : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFD_P : calculee base : "Investissement Scellier 2013 engagement 2012 Polynesie - Retenu  " ;
+ACELFD_R : calculee : " Scellier report - pour calculer RRCEL2013A si 1731bis" ;
+ACELHJK : calculee restituee : "Investissement Scellier - Retenu  
diff --git a/sources2014m_2_15/tgvP.m b/sources2014m_2_15/tgvP.m
new file mode 100644
index 0000000000000000000000000000000000000000..2831db191f185d9e42fbfc0ed02f173699f714c8
--- /dev/null
+++ b/sources2014m_2_15/tgvP.m
@@ -0,0 +1,425 @@
+#*************************************************************************************************************************
+#
+#Copyright or © or Copr.[DGFIP][2017]
+#
+#Ce logiciel a été initialement développé par la Direction Générale des 
+#Finances Publiques pour permettre le calcul de l'impôt sur le revenu 2015 
+#au titre des revenus perçus en 2014. La présente version a permis la 
+#génération du moteur de calcul des chaînes de taxation des rôles d'impôt 
+#sur le revenu de ce millésime.
+#
+#Ce logiciel est régi par la licence CeCILL 2.1 soumise au droit français 
+#et respectant les principes de diffusion des logiciels libres. Vous pouvez 
+#utiliser, modifier et/ou redistribuer ce programme sous les conditions de 
+#la licence CeCILL 2.1 telle que diffusée par le CEA, le CNRS et l'INRIA  sur 
+#le site "http://www.cecill.info".
+#
+#Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris 
+#connaissance de la licence CeCILL 2.1 et que vous en avez accepté les termes.
+#
+#**************************************************************************************************************************
+# Millesime 14 Application pro
+application bareme;
+application batch;
+application iliad;
+application oceans;
+application pro;
+enchaineur BASE_STRATEMAJO application:  iliad, oceans ;
+enchaineur ENCH_ABAT20 application:  iliad, oceans ;
+enchaineur ENCH_TEST application:  batch ;
+enchaineur ENCH_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_NTL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_REF application:  iliad, oceans ;
+enchaineur SAUVE_BASE_INR_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_INIT application:  iliad, oceans ;
+enchaineur SAUVE_BASE_TL_RECT application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_NTL application:  iliad, oceans ;
+enchaineur SV_BASE_INTER_TL application:  iliad, oceans ;
+10MINS1 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS2 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS21731 : calculee base : "Indicateur frais reels" ;
+10MINS2[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINS2TOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINS3 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS31731 : calculee base : "Indicateur frais reels" ;
+10MINS3[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINS3TOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINS4 : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINS41731 : calculee base : "Indicateur frais reels" ;
+10MINS4[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINS4TOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINSC : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSC1731 : calculee base : "Indicateur frais reels" ;
+10MINSC[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINSCTOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+10MINSP : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV : calculee : "deductions hors droits d'auteur plafonnees" ;
+10MINSV1731 : calculee base : "Indicateur frais reels" ;
+10MINSV[DGFIP][2017] : calculee base : "Indicateur frais reels" ;
+10MINSVTOUT : calculee base : "10 pourcent TS dernier evt pour calcul de DEFRI" ;
+1RAN : calculee : "Revenus ouvrant droit a l'abattement unique nets de frais" ;
+1RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique code 2GO" ;
+1RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+1RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+1RCM_I : calculee : "RCM Q1 apres imputaion 2CA avant imputation 2AA" ;
+1RCM_[DGFIP][2017]FA : calculee : "RCM Q1 avec 2FA apres imputaion 2CA avant imputation 2AA" ;
+1RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+1RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation.Q2" ;
+2ABRAN : calculee : "Abattement RCM sur revenus actions et parts.Q2" ;
+2ABTNC : calculee : "Abattement RCM sur titres non cotes PEA.Q2" ;
+2CKIMP : calculee : "RCM prel. faofaitaire  : montant impute" ;
+2CKREST : calculee : "RCM prel. forfaitaire  : montant restitution" ;
+2FRAN : calculee : "Prorata des frais sur RCM ouvrant droit a abattement.Q2" ;
+2FRAR : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement" ;
+2FRAU : calculee : "Prorata des frais sur RCM n'ouvrant pas droit a abattement.Q2" ;
+2PRB1 : calculee : "Pensions brutes totales" ;
+2PRB2 : calculee : "Pensions brutes totales" ;
+2PRB3 : calculee : "Pensions brutes totales" ;
+2PRB4 : calculee : "Pensions brutes totales" ;
+2PRBC : calculee : "Pensions brutes totales" ;
+2PRBV : calculee : "Pensions brutes totales" ;
+2RAN : calculee : "Revenus ouvrant droit a l'abattement general nets de frais.Q2" ;
+2RAO : calculee : "Revenus n'ouvrant pas droit a abattement unique AGO" ;
+2RAR : calculee : "Revenus n'ouvrant pas droit a abattement unique" ;
+2RAU : calculee : "Revenus n'ouvrant pas droit a abattement unique nets de frais" ;
+2RCAV : calculee : "Revenus ass-vie et capitalisation imposables.Q2" ;
+2RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 2" ;
+2RCMRABD : calculee : "montant de la refaction sur ADC" ;
+2RCMRNABD : calculee : "revenus nets de la refaction sur ADC" ;
+2RCMRNTNC : calculee : "revenus nets de la refaction sur AFU" ;
+2RCMRTNC : calculee : "montant de la refaction sur AFU" ;
+2RCM_I : calculee : "RCM Q2 apres imputaion 2CA avant imputation 2AA" ;
+2REGPRIVM : calculee : "montant majore de 2GO" ;
+2REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+2REV[DGFIP][2017]731R : calculee : "Revenus fonciers exceptionnels imposables" ;
+2RIA : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RNC : calculee : "Revenus ouvrant droit a abattement nets imposables" ;
+2RV1 : calculee : "Montant imposable des RV quotient 2 - de 50 ans" ;
+2RV2 : calculee : "Montant imposable des RV quotient 2 - 50 a 59 ans" ;
+2RV3 : calculee : "Montant imposable des RV quotient 2 - 60 a 69 ans" ;
+2RV4 : calculee : "Montant imposable des RV quotient 2 + de 69 ans" ;
+2TSN1 : calculee : " somme TS + allocation  " ;
+2TSN2 : calculee : " somme TS + allocation  " ;
+2TSN3 : calculee : " somme TS + allocation  " ;
+2TSN4 : calculee : " somme TS + allocation  " ;
+2TSNC : calculee : " somme TS + allocation  " ;
+2TSNV : calculee : " somme TS + allocation  " ;
+3PRB1 : calculee : "Pensions brutes totales" ;
+3PRB2 : calculee : "Pensions brutes totales" ;
+3PRB3 : calculee : "Pensions brutes totales" ;
+3PRB4 : calculee : "Pensions brutes totales" ;
+3PRBC : calculee : "Pensions brutes totales" ;
+3PRBV : calculee : "Pensions brutes totales" ;
+3RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 3" ;
+3RCM_I : calculee : "RCM Q3 apres imputaion 2CA avant imputation 2AA" ;
+3REVF : calculee restituee : "Revenus fonciers exceptionnels imposables" ;
+3REV[DGFIP][2017]731R : calculee : "Revenus fonciers exceptionnels imposables" ;
+3TSN1 : calculee : " somme TS + allocation  " ;
+3TSN2 : calculee : " somme TS + allocation  " ;
+3TSN3 : calculee : " somme TS + allocation  " ;
+3TSN4 : calculee : " somme TS + allocation  " ;
+3TSNC : calculee : " somme TS + allocation  " ;
+3TSNV : calculee : " somme TS + allocation  " ;
+3VVIMP : calculee : "Prelevement liberatoire 45% : montant impute" ;
+3VVREST : calculee : "Prelevement liberatoire 45% : montant restitution" ;
+4BACREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CIC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 2" ;
+4BACREC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BACREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CJC : "BA exceptionnels sous CGA - Quotient 4 - PAC" ;
+4BACREP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BACREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CHC : "BA exceptionnels sous CGA - Quotient 4 - Declarant 1" ;
+4BACREV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BAHQC1731R : calculee : "ba hors quotient vous" ;
+4BAHQ[DGFIP][2017]731R : calculee : "ba hors quotient vous" ;
+4BAHQV1731R : calculee : "ba hors quotient vous" ;
+4BAHREC : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CII : "BA exceptionnels hors CGA - Quotient 4 - Declarant 2" ;
+4BAHREC[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BAHREP : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CJI : "BA exceptionnels hors CGA - Quotient 4 - PAC" ;
+4BAHREP[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BAHREV : saisie revenu classe = 2 priorite = 10 categorie_TL = 20 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 8 sanction = 2 nat_code = 0 alias CHI : "BA exceptionnels hors CGA - Quotient 4 - Declarant 1" ;
+4BAHREV[DGFIP][2017] : calculee base : "Somme des revenus categoriels nets hors BA" ;
+4BAQC : calculee restituee : "ba hors quotient conj quotient 4" ;
+4BAQC1731R : calculee : "ba hors quotient vous quotient 4" ;
+4BAQLC : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLP : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQLV : calculee restituee : "ba hors quotient quotient 4 affich." ;
+4BAQP : calculee restituee : "ba hors quotient pac quotient 4" ;
+4BAQ[DGFIP][2017]731R : calculee : "ba hors quotient vous quotient 4" ;
+4BAQTOT : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOT1731R : calculee : "ba  quotient total foyer quotient 1/4" ;
+4BAQTOTNET : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQTOTNET1731R : calculee : "ba  quotient total net foyer quotient 1/4" ;
+4BAQV : calculee restituee : "ba hors quotient vous quotient 4" ;
+4BAQV1731R : calculee : "ba hors quotient vous quotient 4" ;
+4DEFBACREC : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREC1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREP : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACRE[DGFIP][2017]731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBACREV1731R : calculee : "Part du deficit sur code revenu quotient 4" ;
+4DEFBAHREC : calculee : "Part du deficit sur code revenu majore quotient 4 " ;
+4DEFBAHREC1731R : calculee : "Part du deficit sur code revenu majore " ;
+4DEFBAHREP : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHRE[DGFIP][2017]731R : calculee : "Part du deficit sur code revenu majore " ;
+4DEFBAHREV : calculee : "Part du deficit sur code revenu majore quotient 4" ;
+4DEFBAHREV1731R : calculee : "Part du deficit sur code revenu majore " ;
+4PRB1 : calculee : "Pensions brutes totales" ;
+4PRB2 : calculee : "Pensions brutes totales" ;
+4PRB3 : calculee : "Pensions brutes totales" ;
+4PRB4 : calculee : "Pensions brutes totales" ;
+4PRBC : calculee : "Pensions brutes totales" ;
+4PRBV : calculee : "Pensions brutes totales" ;
+4RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient 4" ;
+4RCM_I : calculee : "RCM Q4 apres imputaion 2CA avant imputation 2AA" ;
+4TSN1 : calculee : " somme TS + allocation  " ;
+4TSN2 : calculee : " somme TS + allocation  " ;
+4TSN3 : calculee : " somme TS + allocation  " ;
+4TSN4 : calculee : " somme TS + allocation  " ;
+4TSNC : calculee : " somme TS + allocation  " ;
+4TSNV : calculee : " somme TS + allocation  " ;
+5RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+5RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+6RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+6RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+7RCM : calculee restituee : "Revenus de capitaux mobiliers imposables taxes au quotient " ;
+7RCM_I : calculee : "RCM Q apres imputaion 2CA avant imputation 2AA" ;
+A10REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A10RENT : calculee restituee : "Calcul de AUBAINE10 : Reduction Invt DOM ds cadre entreprise" ;
+A10RENT1 : calculee : "pour calculer A10RENT en cas de 1731bis" ;
+A10RENT1731 : calculee base : "A10RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RENT[DGFIP][2017] : calculee base : "A10RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE10, reductions invt forestier retenues" ;
+A10RFOR1731 : calculee base : "A10RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RFOR[DGFIP][2017] : calculee base : "A10RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RNOUV : calculee restituee : "Calcul de AUBAINE10 : Reduction Capital de societes nouvelles" ;
+A10RNOUV1731 : calculee base : "A10RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RNOUV[DGFIP][2017] : calculee base : "A10RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A10RSOC1731 : calculee base : "A10RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10RSOC[DGFIP][2017] : calculee base : "A10RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A10TOURSOC1731 : calculee base : "A10TOURSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC[DGFIP][2017] : calculee base : "A10TOURSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A10TOURSOC_1 : calculee restituee : "A10REEL : Investissements locatif social - reduction sans 1731bis" ;
+A11REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A11RENT : calculee restituee : "Calcul de AUBAINE11 : Reduction Invt DOM ds cadre entreprise" ;
+A11RENT1 : calculee : "pour calculer A11RENT en cas de 1731bis" ;
+A11RENT1731 : calculee base : "A11RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RENT[DGFIP][2017] : calculee base : "A11RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE11, reductions invt forestier retenues" ;
+A11RFOR1731 : calculee base : "A11RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RFOR[DGFIP][2017] : calculee base : "A11RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RNOUV : calculee restituee : "Calcul de AUBAINE11 : Reduction Capital de societes nouvelles" ;
+A11RNOUV1731 : calculee base : "A11RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RNOUV[DGFIP][2017] : calculee base : "A11RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A11RSOC1731 : calculee base : "A11RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11RSOC[DGFIP][2017] : calculee base : "A11RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A11TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A12REEL : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A12RENT : calculee restituee : "Calcul de AUBAINE12 : Reduction Invt DOM ds cadre entreprise" ;
+A12RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A12RENT1731 : calculee base : "A12RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RENT[DGFIP][2017] : calculee base : "A12RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RESTIMOA : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RESTIMOE : calculee : "Plaf av fiscaux - Travaux de restauration immobiliere - retenu" ;
+A12RETRESTIMO : calculee restituee : " Plaf av fiscaux - Travaux de restauration immo - reduction calcule" ;
+A12RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE12, reductions invt forestier retenues" ;
+A12RFOR1731 : calculee base : "A12RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RFOR[DGFIP][2017] : calculee base : "A12RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RNOUV : calculee restituee : "Calcul de AUBAINE12 : Reduction Capital de societes nouvelles" ;
+A12RNOUV1731 : calculee base : "A12RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RNOUV[DGFIP][2017] : calculee base : "A12RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RRESTIMO : calculee restituee : "Plaf av fiscaux -Travaux de restauration immobiliere - reduction" ;
+A12RRESTIMO_1 : calculee : "Plaf av fiscaux - Travaux de restauration immo - reduc" ;
+A12RSOC : calculee restituee : "plaf av fiscaux : Investissements DOM logement social - reduction" ;
+A12RSOC1731 : calculee base : "A12RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12RSOC[DGFIP][2017] : calculee base : "A12RSOC plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A12TOURSOC : calculee restituee : "A2 : Investissements locatif social - reduction" ;
+A1314RSOC : calculee restituee : "plaf av fiscaux : Invest DOM 2013 2014 logement social - reduction" ;
+A13REELA : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13REELB : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A13RENT : calculee restituee : "Calcul de AUBAINE13 : Reduction Invt DOM 2013 2014 ds cadre entreprise" ;
+A13RENT1 : calculee : "pour calculer A12RENT en cas de 1731bis" ;
+A13RENT1731 : calculee base : "A13RENTplaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RFOR : calculee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A13RFOR1731 : calculee base : "A13RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RFOR[DGFIP][2017] : calculee base : "A13RFOR av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RNOUV : calculee restituee : "Calcul de AUBAINE13 : Reduction Capital de societes nouvelles" ;
+A13RNOUV1731 : calculee base : "A13RNOUV plaf av fiscaux a la fin 1er traitement si 1731bis" ;
+A13RSOC : calculee restituee : "plaf av fiscaux : Invest DOM 2013 2014 logement social - reduction" ;
+A13UXI : calculee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A14REELA : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A14REELB : calculee restituee : "boucle reelle : reductions et credit dans plafonnement avantages fisc." ;
+A14UN : calculee : "Plaf-av-fisco, calcul AUBAINE13, reductions invt forestier retenues" ;
+A9RFOR : calculee : "Plaf-av-fisco,  reductions invt forestier retenues" ;
+AAIDC : calculee restituee : "Aide a domicile credit d'impot" ;
+AAIDE : calculee restituee : "Aide a domicile" ;
+AAIDE1731 : calculee base : "AAIDE retenu  a la fin 1er traitement si 1731bis" ;
+AAIDE[DGFIP][2017] : calculee base : "AAIDE retenu  a la fin 1er traitement si 1731bis" ;
+AAIDE_P : calculee restituee base : "Aide a domicile" ;
+AB : calculee : "Total des abattements TSPR, CGA et AA" ;
+AB10C : calculee restituee : "Abattement special de 10% Conjoint" ;
+AB10P : calculee restituee : "Abattement special de 10% Personnes a charge" ;
+AB10V : calculee restituee : "Abattement special de 10% Vous" ;
+ABADO : calculee restituee : "Abattement en impot sur les revenus DOM" ;
+ABADO1 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO2 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO31 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO32 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO4 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADO6 : calculee : "Abattement en impot sur les revenus DOM" ;
+ABADON1 : calculee : "Abattement DOM" ;
+ABADON2 : calculee : "Abattement DOM" ;
+ABADON31 : calculee : "Abattement DOM" ;
+ABADON32 : calculee : "Abattement DOM" ;
+ABADON4 : calculee : "Abattement DOM" ;
+ABADON6 : calculee : "Abattement DOM" ;
+ABAGU : calculee restituee : "Abattement en impot sur les revenus GUYANE" ;
+ABAGU1 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU2 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU3 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU31 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU32 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU4 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABAGU6 : calculee : "Abattement en impot sur les revenus GUY" ;
+ABATOT1 : calculee : "Abattement DOM" ;
+ABATOT2 : calculee : "Abattement DOM" ;
+ABATOT31 : calculee : "Abattement DOM" ;
+ABATOT32 : calculee : "Abattement DOM" ;
+ABATOT4 : calculee : "Abattement DOM" ;
+ABATOT6 : calculee : "Abattement DOM" ;
+ABAT_ENF_MARIES : const=5726.00000  ;
+ABAT_FENF_MARIES : const=4023.00000  ;
+ABAT_UNVIEUX : const=1172.00000  ;
+ABAVC : calculee : "Abattement RCM sur ass-vie et capitalisation" ;
+ABDETMOINS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VB : "Abat. pour duree de detention dirigeant - Moins-value" ;
+ABDETPLUS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VA : "Abat. pour duree de detention dirigeant - Plus-value" ;
+ABDOMDAJ : calculee : "Abattement frais pro proratise pour DAJ" ;
+ABDOMDBJ : calculee : "Abattement frais pro proratise pour DBJ" ;
+ABDOMEAJ : calculee : "Abattement frais pro proratise pour EAJ" ;
+ABDOMEBJ : calculee : "Abattement frais pro proratise pour EBJ" ;
+ABGL1C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL1V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL2V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3C : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGL3V : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTC : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABGLTV : calculee : "part de l'abattement pour frais sur gains de levee d'option" ;
+ABICPDECC : calculee restituee : "auto entrepreneurs BIC pro declare conjoint" ;
+ABICPDECP : calculee restituee : "auto entrepreneurs BIC pro declare pac" ;
+ABICPDECV : calculee restituee : "auto entrepreneurs BIC pro declare vous" ;
+ABICPNET : calculee restituee : "auto entrepreneurs BIC pro net" ;
+ABICPNETC : calculee restituee : "auto entrepreneurs BIC pro net conjoint" ;
+ABICPNETP : calculee restituee : "auto entrepreneurs BIC pro net pro" ;
+ABICPNETV : calculee restituee : "auto entrepreneurs BIC pro net vous" ;
+ABIMPMV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 1 restituee alias 3VR : "Moins-values non imputables (50 %) des impatries" type REEL ;
+ABIMPPV : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3VQ : "Plus-values exonerees (50 %) des impatries" type REEL ;
+ABMAR : calculee restituee : "Abattement enfants maries a charge" ;
+ABNCPDEC : calculee restituee : "auto entrepreneurs BnC pro declare" ;
+ABNCPDECC : calculee restituee : "rev non pro bnc conjoint" ;
+ABNCPDECP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPDECV : calculee restituee : "rev non pro bnc vous" ;
+ABNCPNET : calculee restituee : "auto entrepreneurs BnC pro net" ;
+ABNCPNETC : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETP : calculee restituee : "rev non pro bnc pac" ;
+ABNCPNETV : calculee restituee : "rev non pro bnc pac" ;
+ABPR1 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR2 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR3 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPR4 : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRC : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPRV : calculee : "Abattement brut avant ajustement (pensions retraites 10%)" ;
+ABPVNOSURSIS : saisie revenu classe = 8 priorite = 42 categorie_TL = 20 cotsoc = 10 ind_abat = 0 acompte = 0 avfisc = 0 rapcat = 6 sanction = 0 nat_code = 0 restituee alias 3WD : "Base aux prelevements sociaux en cas de paiement immediat" ;
+ABRAN : calculee : "Abattement RCM sur revenus actions et parts" ;
+ABRCM1 : calculee : "Abattement RCM general utilise" ;
+ABRCM2 : calculee : "Abattement RCM assurance-vie utilise" ;
+ABRCMNU : calculee : "montant RCM abattement non utilise" ;
+ABSPE : calculee : "indicateur abattements speciaux personnes agees" ;
+ABSPRNG : calculee : "SIMULIR rng correspondant aux abattements speciaux" ;
+ABSRE : calculee restituee : "Abattements speciaux, en restitution ( l4)" type REEL ;
+ABSTELE : saisie revenu classe = 0 priorite = 20 categorie_TL = 60 cotsoc = 5 ind_abat = 0 acompte = 1 avfisc = 0 rapcat = 13 sanction = 0 nat_code = 1 alias 0RA : "Case a cocher : absence de television" type BOOLEEN ;
+ABTAV : calculee : "Abattement sur les RCM d'assurance-vie" ;
+ABTGE : calculee : "Abattement general sur les RCM" ;
+ABTMA : calculee : "Abattement pour enfants maries a charge" ;
+ABTNC : calculee : "Abattement RCM sur titres non cotes PEA" ;
+ABTPA : calculee : "Abattement personnes agees ou invalides" ;
+ABTPATEF : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTPATEFRFR : calculee : "Abattement personnes agees ou invalides tx eff" ;
+ABTS1AJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1AP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1BP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1CP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1DP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1EP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1FP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1TT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS1UT : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTS3VK : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSC : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRAP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRBP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRCP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRDP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSREP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFJ : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSRFP : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABTSV : calculee : "part de l'abattement pour frais sur TS normaux" ;
+ABVIE : calculee restituee : "Abattement personnes agees invalides" ;
+ACEL : calculee restituee : "Investissement Scellier engagement et fini en 2011- Retenu  " ;
+ACEL1731 : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACEL2012 : calculee restituee : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL20121731 : calculee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACEL2012[DGFIP][2017] : calculee base : " Scellier report - Retenu   a la fin 1er traitement si 1731bis" ;
+ACEL2012_P : calculee restituee base : "Investissement Scellier engagement et fini en 2012- Retenu  " ;
+ACEL2012_R : calculee : "Scellier engagement et fini en 2012- Retenu  pour report si 1731bis" ;
+ACELCOM : calculee restituee : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM1731 : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELCOM[DGFIP][2017] : calculee base : " Scellier report - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELCOM_P : calculee restituee base : "Investissement Scellier COM 2011- Retenu  " ;
+ACELCOM_R : calculee : " Scellier report -pour calculer RIVCELCOM si 1731bis" ;
+ACELDO : calculee restituee : "Investissement Scellier DOM- Avis Facture - Retenu  7HK ou 7HO" ;
+ACELFABC : calculee restituee : "Investissement Scellier 2013 engagement 2012" ;
+ACELFABC1731 : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFABC[DGFIP][2017] : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFABC_P : calculee restituee base : "Investissement Scellier 2013 engagement 2012" ;
+ACELFABC_R : calculee : " Scellier report - pour calculer RRCEL2013A si 1731bis" ;
+ACELFD : calculee restituee : "Investissement Scellier 2013 engagement 2012 Polynesie - Retenu  " ;
+ACELF[DGFIP][2017]731 : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFD[DGFIP][2017] : calculee base : " Scellier  - Retenu  a la fin 1er traitement si 1731bis" ;
+ACELFD_P : calculee restituee base : "Investissement Scellier 2013 engagement 2012 Polynesie - Retenu  " ;
+ACELFD_R : calculee : " Scellier report - pour calculer RRCEL2013A si 1731bis" ;
+ACELHJK : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHJK1731 : calculee base : " Scellier report - Retenu 7HJ 7HK a la fin 1er traitement si 1731bis" ;
+ACELHJK[DGFIP][2017] : calculee base : " Scellier report - Retenu 7HJ 7HK a la fin 1er traitement si 1731bis" ;
+ACELHJK_P : calculee restituee base : "Investissement Scellier - Retenu  " ;
+ACELHJK_R : calculee : " Scellier report -pour calculer RIVCELJK1 si 1731bis" ;
+ACELHL : calculee restituee : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHL1731 : calculee base : " Scellier report - Retenu 7HL a la fin 1er traitement si 1731bis" ;
+ACELHL[DGFIP][2017] : calculee base : " Scellier report - Retenu 7HL a la fin 1er traitement si 1731bis" ;
+ACELHL_P : calculee restituee base : "Scellier metropole -DOM hors plafond- Avis Facture - Retenu  7HL" ;
+ACELHL_R : calculee : " Scellier report - pour calculer RIVCELHLM1 si 1731bis" ;
+ACELHM : calculee restituee : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHM1731 : calculee base : " Scellier report - Retenu 7HM a la fin 1er traitement si 1731bis" ;
+ACELHM[DGFIP][2017] : calculee base : " Scellier report - Retenu 7HM a la fin 1er traitement si 1731bis" ;
+ACELHM_P : calculee restituee base : "Invest. Scellier DOM dans plafond- Avis Facture - Retenu  7HM" ;
+ACELHM_R : calculee : " Scellier report - pour calculer RIVCELHLM1 si 1731bis" ;
+ACELHNO : calculee restituee : "Investissement Scellier - Retenu  " ;
+ACELHNO1731 : calculee base : " Scellier report - Retenu 7HNO a la fin 1er traitement si 1731bis" ;
+ACELHNO[DGFIP][2017] : calculee base : " Scellier report - Retenu 7HNO a la fin 1er traitement si 1731bis" ;
+ACELHNO_P : calculee restituee base : "Investissement Scellier - Retenu  " ;
+ACELHNO_R : calculee : " Scellier report - pour calculer RIVCELHNO1 si 1731bis" ;
+ACELJBGL : calculee restituee