@leximpact/socio-fiscal-openfisca-json
Version:
JSON & YAML data extracted from OpenFisca-France with Indirect Taxation source code (parameters, variables, etc)
15,112 lines • 584 kB
JSON
{
"default_value": 0,
"definition_period": "year",
"dtype": "float32",
"entity": "foyer_fiscal",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"formulas": {
"2013-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "foyer_fiscal",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 35,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 37,
"end_col_offset": 43,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 45,
"end_col_offset": 55,
"end_lineno": 1,
"lineno": 1
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Expr",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": "\n Duflot\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 140,
"end_lineno": 5,
"lineno": 5,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 28,
"end_lineno": 5,
"id": "duflot_pinel_denormandie",
"lineno": 5
}
],
"value": {
"ast_class": "Attribute",
"attr": "duflot_pinel_denormandie",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 140,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "investissements_immobiliers",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 115,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "calcul_reductions_impots",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "impot_revenu",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 5,
"lineno": 5,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 5,
"id": "period",
"lineno": 5
}
],
"ast_class": "Call",
"col_offset": 31,
"end_col_offset": 49,
"end_lineno": 5,
"func": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 5,
"id": "parameters",
"lineno": 5
},
"keywords": [],
"lineno": 5
}
}
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 8,
"lineno": 8,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 8,
"id": "f7gi",
"lineno": 8
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 8,
"lineno": 8,
"value": "f7gi"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 8,
"id": "period",
"lineno": 8
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 8,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 8,
"id": "foyer_fiscal",
"lineno": 8
},
"keywords": [],
"lineno": 8
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 57,
"end_lineno": 10,
"lineno": 10,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 10,
"id": "inv_om",
"lineno": 10
}
],
"value": {
"args": [
{
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 50,
"end_lineno": 10,
"lineno": 10,
"value": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 42,
"end_lineno": 10,
"id": "duflot_pinel_denormandie",
"lineno": 10
}
},
{
"ast_class": "Name",
"col_offset": 52,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 10,
"id": "f7gi",
"lineno": 10
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 57,
"end_lineno": 10,
"func": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 17,
"end_lineno": 10,
"id": "min_",
"lineno": 10
},
"keywords": [],
"lineno": 10
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 80,
"end_lineno": 12,
"lineno": 12,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 9,
"end_lineno": 12,
"id": "ri_om",
"lineno": 12
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 19,
"end_col_offset": 79,
"end_lineno": 12,
"left": {
"ast_class": "BinOp",
"col_offset": 19,
"end_col_offset": 75,
"end_lineno": 12,
"left": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 12,
"id": "inv_om",
"lineno": 12
},
"lineno": 12,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 75,
"end_lineno": 12,
"lineno": 12,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 67,
"end_lineno": 12,
"lineno": 12,
"value": {
"ast_class": "Name",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 52,
"end_lineno": 12,
"id": "duflot_pinel_denormandie",
"lineno": 12
}
}
}
},
"lineno": 12,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 78,
"end_col_offset": 79,
"end_lineno": 12,
"lineno": 12,
"value": 9
}
}
],
"ast_class": "Call",
"col_offset": 12,
"end_col_offset": 80,
"end_lineno": 12,
"func": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 18,
"end_lineno": 12,
"id": "around",
"lineno": 12
},
"keywords": [],
"lineno": 12
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 16,
"end_lineno": 14,
"lineno": 14,
"value": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 14,
"id": "ri_om",
"lineno": 14
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 16,
"end_lineno": 14,
"lineno": 1,
"name": "formula_2013_01_01"
},
"documentation": "\nDuflot\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_om",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.plafond"
],
"source_code": "def formula_2013_01_01(foyer_fiscal, period, parameters):\n '''\n Duflot\n '''\n duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie\n\n # Duflot année N, 2013\n f7gi = foyer_fiscal('f7gi', period) # Outre-Mer\n\n inv_om = min_(duflot_pinel_denormandie.plafond, f7gi)\n\n ri_om = around(inv_om * duflot_pinel_denormandie.location_9_ans.taux_om / 9)\n\n return ri_om\n",
"start_line_number": 601,
"stop_line_number": 615,
"variables": [
"f7gi"
]
},
"2014-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "foyer_fiscal",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 35,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 37,
"end_col_offset": 43,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 45,
"end_col_offset": 55,
"end_lineno": 1,
"lineno": 1
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Expr",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 7,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 7,
"lineno": 2,
"value": "\n Duflot + Pinel\n NB: I count the reports of past Duflot investments towards Métropole,\n even though they may contain OM investments as well (only relevant after 2015,\n but since there are no separate cases, nothing one can potentially do).\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 140,
"end_lineno": 8,
"lineno": 8,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 28,
"end_lineno": 8,
"id": "duflot_pinel_denormandie",
"lineno": 8
}
],
"value": {
"ast_class": "Attribute",
"attr": "duflot_pinel_denormandie",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 140,
"end_lineno": 8,
"lineno": 8,
"value": {
"ast_class": "Attribute",
"attr": "investissements_immobiliers",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 115,
"end_lineno": 8,
"lineno": 8,
"value": {
"ast_class": "Attribute",
"attr": "calcul_reductions_impots",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 8,
"lineno": 8,
"value": {
"ast_class": "Attribute",
"attr": "impot_revenu",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 8,
"lineno": 8,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 8,
"id": "period",
"lineno": 8
}
],
"ast_class": "Call",
"col_offset": 31,
"end_col_offset": 49,
"end_lineno": 8,
"func": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 8,
"id": "parameters",
"lineno": 8
},
"keywords": [],
"lineno": 8
}
}
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 11,
"lineno": 11,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 11,
"id": "f7gi",
"lineno": 11
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 11,
"lineno": 11,
"value": "f7gi"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 11,
"id": "period",
"lineno": 11
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 11,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 11,
"id": "foyer_fiscal",
"lineno": 11
},
"keywords": [],
"lineno": 11
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 14,
"lineno": 14,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 14,
"id": "f7el",
"lineno": 14
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 14,
"lineno": 14,
"value": "f7el"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 14,
"id": "period",
"lineno": 14
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 14,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 14,
"id": "foyer_fiscal",
"lineno": 14
},
"keywords": [],
"lineno": 14
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 17,
"lineno": 17,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 17,
"id": "f7qc",
"lineno": 17
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 17,
"lineno": 17,
"value": "f7qc_2018"
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 17,
"id": "period",
"lineno": 17
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 17,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 17,
"id": "foyer_fiscal",
"lineno": 17
},
"keywords": [],
"lineno": 17
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 18,
"lineno": 18,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 18,
"id": "f7qd",
"lineno": 18
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 18,
"lineno": 18,
"value": "f7qd_2018"
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 18,
"id": "period",
"lineno": 18
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 18,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 18,
"id": "foyer_fiscal",
"lineno": 18
},
"keywords": [],
"lineno": 18
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 123,
"end_lineno": 21,
"lineno": 21,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 14,
"end_lineno": 21,
"id": "reduc_2013",
"lineno": 21
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 24,
"end_col_offset": 122,
"end_lineno": 21,
"left": {
"ast_class": "BinOp",
"col_offset": 24,
"end_col_offset": 118,
"end_lineno": 21,
"left": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 71,
"end_lineno": 21,
"lineno": 21,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 63,
"end_lineno": 21,
"lineno": 21,
"value": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 21,
"id": "duflot_pinel_denormandie",
"lineno": 21
}
}
},
"lineno": 21,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 79,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 111,
"end_lineno": 21,
"lineno": 21,
"value": {
"ast_class": "Name",
"col_offset": 79,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 103,
"end_lineno": 21,
"id": "duflot_pinel_denormandie",
"lineno": 21
}
},
{
"ast_class": "Name",
"col_offset": 113,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 117,
"end_lineno": 21,
"id": "f7gi",
"lineno": 21
}
],
"ast_class": "Call",
"col_offset": 74,
"end_col_offset": 118,
"end_lineno": 21,
"func": {
"ast_class": "Name",
"col_offset": 74,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 78,
"end_lineno": 21,
"id": "min_",
"lineno": 21
},
"keywords": [],
"lineno": 21
}
},
"lineno": 21,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 121,
"end_col_offset": 122,
"end_lineno": 21,
"lineno": 21,
"value": 9
}
}
],
"ast_class": "Call",
"col_offset": 17,
"end_col_offset": 123,
"end_lineno": 21,
"func": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 21,
"id": "around",
"lineno": 21
},
"keywords": [],
"lineno": 21
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 67,
"end_lineno": 24,
"lineno": 24,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 13,
"end_lineno": 24,
"id": "inv_29_om",
"lineno": 24
}
],
"value": {
"args": [
{
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 53,
"end_lineno": 24,
"lineno": 24,
"value": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 45,
"end_lineno": 24,
"id": "duflot_pinel_denormandie",
"lineno": 24
}
},
{
"ast_class": "BinOp",
"col_offset": 55,
"end_col_offset": 66,
"end_lineno": 24,
"left": {
"ast_class": "Name",
"col_offset": 55,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 59,
"end_lineno": 24,
"id": "f7el",
"lineno": 24
},
"lineno": 24,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 62,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 66,
"end_lineno": 24,
"id": "f7qd",
"lineno": 24
}
}
],
"ast_class": "Call",
"col_offset": 16,
"end_col_offset": 67,
"end_lineno": 24,
"func": {
"ast_class": "Name",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 20,
"end_lineno": 24,
"id": "min_",
"lineno": 24
},
"keywords": [],
"lineno": 24
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 72,
"end_lineno": 25,
"lineno": 25,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 13,
"end_lineno": 25,
"id": "inv_23_om",
"lineno": 25
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 21,
"end_col_offset": 65,
"end_lineno": 25,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 53,
"end_lineno": 25,
"lineno": 25,
"value": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 45,
"end_lineno": 25,
"id": "duflot_pinel_denormandie",
"lineno": 25
}
},
"lineno": 25,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 56,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 65,
"end_lineno": 25,
"id": "inv_29_om",
"lineno": 25
}
},
{
"ast_class": "Name",
"col_offset": 67,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 71,
"end_lineno": 25,
"id": "f7qc",
"lineno": 25
}
],
"ast_class": "Call",
"col_offset": 16,
"end_col_offset": 72,
"end_lineno": 25,
"func": {
"ast_class": "Name",
"col_offset": 16,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 20,
"end_lineno": 25,
"id": "min_",
"lineno": 25
},
"keywords": [],
"lineno": 25
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 96,
"end_lineno": 28,
"lineno": 27,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 9,
"end_lineno": 27,
"id": "reduc",
"lineno": 27
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 12,
"end_col_offset": 96,
"end_lineno": 28,
"left": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 20,
"end_col_offset": 81,
"end_lineno": 28,
"left": {
"ast_class": "BinOp",
"col_offset": 21,
"end_col_offset": 84,
"end_lineno": 27,
"left": {
"ast_class": "BinOp",
"col_offset": 21,
"end_col_offset": 80,
"end_lineno": 27,
"left": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 27,
"id": "inv_29_om",
"lineno": 27
},
"lineno": 27,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 80,
"end_lineno": 27,
"lineno": 27,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 72,
"end_lineno": 27,
"lineno": 27,
"value": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 57,
"end_lineno": 27,
"id": "duflot_pinel_denormandie",
"lineno": 27
}
}
}
},
"lineno": 27,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 83,
"end_col_offset": 84,
"end_lineno": 27,
"lineno": 27,
"value": 9
}
},
"lineno": 27,
"op": {
"ast_class": "Add"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 80,
"end_lineno": 28,
"left": {
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 76,
"end_lineno": 28,
"left": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 28,
"id": "inv_23_om",
"lineno": 28
},
"lineno": 28,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 76,
"end_lineno": 28,
"lineno": 28,
"value": {
"ast_class": "Attribute",
"attr": "location_6_ans",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 68,
"end_lineno": 28,
"lineno": 28,
"value": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 53,
"end_lineno": 28,
"id": "duflot_pinel_denormandie",
"lineno": 28
}
}
}
},
"lineno": 28,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 79,
"end_col_offset": 80,
"end_lineno": 28,
"lineno": 28,
"value": 6
}
}
],
"ast_class": "Call",
"col_offset": 10,
"end_col_offset": 81,
"end_lineno": 28,
"func": {
"ast_class": "Name",
"col_offset": 10,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 28,
"id": "around",
"lineno": 28
},
"keywords": [],
"lineno": 28
}
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 82,
"end_lineno": 28,
"func": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 19,
"end_lineno": 27,
"id": "around",
"lineno": 27
},
"keywords": [],
"lineno": 27
},
"lineno": 27,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 86,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 96,
"end_lineno": 28,
"id": "reduc_2013",
"lineno": 28
}
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 16,
"end_lineno": 30,
"lineno": 30,
"value": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 30,
"id": "reduc",
"lineno": 30
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 16,
"end_lineno": 30,
"lineno": 1,
"name": "formula_2014_01_01"
},
"documentation": "\nDuflot + Pinel\nNB: I count the reports of past Duflot investments towards Métropole,\neven though they may contain OM investments as well (only relevant after 2015,\nbut since there are no separate cases, nothing one can potentially do).\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_6_ans.taux_om",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_om",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.plafond"
],
"source_code": "def formula_2014_01_01(foyer_fiscal, period, parameters):\n '''\n Duflot + Pinel\n NB: I count the reports of past Duflot investments towards Métropole,\n even though they may contain OM investments as well (only relevant after 2015,\n but since there are no separate cases, nothing one can potentially do).\n '''\n duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie\n\n # Duflot année N, 2013\n f7gi = foyer_fiscal('f7gi', period) # Outre-Mer\n\n # Duflot année N, 2014\n f7el = foyer_fiscal('f7el', period) # Outre-Mer\n\n # Pinel année N, 2014\n f7qc = foyer_fiscal('f7qc_2018', period) # Outre-Mer, 6 ans\n f7qd = foyer_fiscal('f7qd_2018', period) # Outre-Mer, 9 ans\n\n # Duflot 2013\n reduc_2013 = around(duflot_pinel_denormandie.location_9_ans.taux_om * min_(duflot_pinel_denormandie.plafond, f7gi) / 9)\n\n # Duflot et Pinel 2014\n inv_29_om = min_(duflot_pinel_denormandie.plafond, f7el + f7qd)\n inv_23_om = min_(duflot_pinel_denormandie.plafond - inv_29_om, f7qc)\n\n reduc = (around((inv_29_om * duflot_pinel_denormandie.location_9_ans.taux_om / 9)\n + around(inv_23_om * duflot_pinel_denormandie.location_6_ans.taux_om / 6))) + reduc_2013\n\n return reduc\n",
"start_line_number": 616,
"stop_line_number": 646,
"variables": [
"f7el",
"f7gi",
"f7qc_2018",
"f7qd_2018"
]
},
"2015-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "foyer_fiscal",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 35,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 37,
"end_col_offset": 43,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 45,
"end_col_offset": 55,
"end_lineno": 1,
"lineno": 1
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Expr",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": "\n Duflot + Pinel\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 140,
"end_lineno": 5,
"lineno": 5,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 28,
"end_lineno": 5,
"id": "duflot_pinel_denormandie",
"lineno": 5
}
],
"value": {
"ast_class": "Attribute",
"attr": "duflot_pinel_denormandie",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 140,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "investissements_immobiliers",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 115,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "calcul_reductions_impots",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "impot_revenu",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 5,
"lineno": 5,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 5,
"id": "period",
"lineno": 5
}
],
"ast_class": "Call",
"col_offset": 31,
"end_col_offset": 49,
"end_lineno": 5,
"func": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 5,
"id": "parameters",
"lineno": 5
},
"keywords": [],
"lineno": 5
}
}
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 8,
"lineno": 8,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 8,
"id": "f7gi",
"lineno": 8
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 8,
"lineno": 8,
"value": "f7gi"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 8,
"id": "period",
"lineno": 8
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 8,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 8,
"id": "foyer_fiscal",
"lineno": 8
},
"keywords": [],
"lineno": 8
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 11,
"lineno": 11,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 11,
"id": "f7el",
"lineno": 11
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 11,
"lineno": 11,
"value": "f7el"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 11,
"id": "period",
"lineno": 11
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 11,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 11,
"id": "foyer_fiscal",
"lineno": 11
},
"keywords": [],
"lineno": 11
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 14,
"lineno": 14,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 14,
"id": "f7qc",
"lineno": 14
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 14,
"lineno": 14,
"value": "f7qc_2018"
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 14,
"id": "period",
"lineno": 14
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 14,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 14,
"id": "foyer_fiscal",
"lineno": 14
},
"keywords": [],
"lineno": 14
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 44,
"end_lineno": 15,
"lineno": 15,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 15,
"id": "f7qd",
"lineno": 15
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 15,
"lineno": 15,
"value": "f7qd_2018"
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 15,
"id": "period",
"lineno": 15
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 44,
"end_lineno": 15,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 15,
"id": "foyer_fiscal",
"lineno": 15
},
"keywords": [],
"lineno": 15
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 115,
"end_lineno": 18,
"lineno": 18,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 14,
"end_lineno": 18,
"id": "reduc_2013",
"lineno": 18
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 115,
"end_lineno": 18,
"left": {
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 111,
"end_lineno": 18,
"left": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 18,
"lineno": 18,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 18,
"lineno": 18,
"value": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 18,
"id": "duflot_pinel_denormandie",
"lineno": 18
}
}
},
"lineno": 18,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 72,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 104,
"end_lineno": 18,
"lineno": 18,
"value": {
"ast_class": "Name",
"col_offset": 72,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 96,
"end_lineno": 18,
"id": "duflot_pinel_denormandie",
"lineno": 18
}
},
{
"ast_class": "Name",
"col_offset": 106,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 110,
"end_lineno": 18,
"id": "f7gi",
"lineno": 18
}
],
"ast_class": "Call",
"col_offset": 67,
"end_col_offset": 111,
"end_lineno": 18,
"func": {
"ast_class": "Name",
"col_offset": 67,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 71,
"end_lineno": 18,
"id": "min_",
"lineno": 18
},
"keywords": [],
"lineno": 18
}
},
"lineno": 18,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 114,
"end_col_offset": 115,
"end_lineno": 18,
"lineno": 18,
"value": 9
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 131,
"end_lineno": 22,
"lineno": 21,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 14,
"end_lineno": 21,
"id": "reduc_2014",
"lineno": 21
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 18,
"end_col_offset": 130,
"end_lineno": 22,
"left": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 25,
"end_col_offset": 130,
"end_lineno": 21,
"left": {
"ast_class": "BinOp",
"col_offset": 25,
"end_col_offset": 126,
"end_lineno": 21,
"left": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 72,
"end_lineno": 21,
"lineno": 21,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 21,
"lineno": 21,
"value": {
"ast_class": "Name",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 49,
"end_lineno": 21,
"id": "duflot_pinel_denormandie",
"lineno": 21
}
}
},
"lineno": 21,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 80,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 112,
"end_lineno": 21,
"lineno": 21,
"value": {
"ast_class": "Name",
"col_offset": 80,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 104,
"end_lineno": 21,
"id": "duflot_pinel_denormandie",
"lineno": 21
}
},
{
"ast_class": "BinOp",
"col_offset": 114,
"end_col_offset": 125,
"end_lineno": 21,
"left": {
"ast_class": "Name",
"col_offset": 114,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 118,
"end_lineno": 21,
"id": "f7el",
"lineno": 21
},
"lineno": 21,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 121,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 125,
"end_lineno": 21,
"id": "f7qd",
"lineno": 21
}
}
],
"ast_class": "Call",
"col_offset": 75,
"end_col_offset": 126,
"end_lineno": 21,
"func": {
"ast_class": "Name",
"col_offset": 75,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 21,
"id": "min_",
"lineno": 21
},
"keywords": [],
"lineno": 21
}
},
"lineno": 21,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 129,
"end_col_offset": 130,
"end_lineno": 21,
"lineno": 21,
"value": 9
}
}
],
"ast_class": "Call",
"col_offset": 18,
"end_col_offset": 131,
"end_lineno": 21,
"func": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 21,
"id": "around",
"lineno": 21
},
"keywords": [],
"lineno": 21
},
"lineno": 21,
"op": {
"ast_class": "Add"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 129,
"end_lineno": 22,
"left": {
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 125,
"end_lineno": 22,
"left": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 22,
"lineno": 22,
"value": {
"ast_class": "Attribute",
"attr": "location_6_ans",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 22,
"lineno": 22,
"value": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 22,
"id": "duflot_pinel_denormandie",
"lineno": 22
}
}
},
"lineno": 22,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 72,
"end_col_offset": 118,
"end_lineno": 22,
"left": {
"ast_class": "BinOp",
"col_offset": 72,
"end_col_offset": 111,
"end_lineno": 22,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 72,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 104,
"end_lineno": 22,
"lineno": 22,
"value": {
"ast_class": "Name",
"col_offset": 72,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 96,
"end_lineno": 22,
"id": "duflot_pinel_denormandie",
"lineno": 22
}
},
"lineno": 22,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 107,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 111,
"end_lineno": 22,
"id": "f7el",
"lineno": 22
}
},
"lineno": 22,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 114,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 118,
"end_lineno": 22,
"id": "f7qd",
"lineno": 22
}
},
{
"ast_class": "Name",
"col_offset": 120,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 124,
"end_lineno": 22,
"id": "f7qc",
"lineno": 22
}
],
"ast_class": "Call",
"col_offset": 67,
"end_col_offset": 125,
"end_lineno": 22,
"func": {
"ast_class": "Name",
"col_offset": 67,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 71,
"end_lineno": 22,
"id": "min_",
"lineno": 22
},
"keywords": [],
"lineno": 22
}
},
"lineno": 22,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 128,
"end_col_offset": 129,
"end_lineno": 22,
"lineno": 22,
"value": 6
}
}
],
"ast_class": "Call",
"col_offset": 10,
"end_col_offset": 130,
"end_lineno": 22,
"func": {
"ast_class": "Name",
"col_offset": 10,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 22,
"id": "around",
"lineno": 22
},
"keywords": [],
"lineno": 22
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 45,
"lineno": 24,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 24,
"end_lineno": 24,
"id": "cases_investissement",
"lineno": 24
}
],
"value": {
"ast_class": "Dict",
"col_offset": 27,
"end_col_offset": 9,
"end_lineno": 45,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 25,
"lineno": 25,
"value": 2015
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 30,
"lineno": 30,
"value": 2016
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 35,
"lineno": 35,
"value": 2017
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 40,
"lineno": 40,
"value": 2018
}
],
"lineno": 24,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 26,
"lineno": 26,
"value": "f7qh"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 26,
"lineno": 26,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 26,
"lineno": 26,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 26,
"lineno": 26
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 27,
"lineno": 27,
"value": "f7qg"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 27,
"lineno": 27,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 27,
"lineno": 27,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 27,
"lineno": 27
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 28,
"lineno": 28,
"value": "f7qf"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 28,
"lineno": 28,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 28,
"lineno": 28,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 28,
"lineno": 28
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 29,
"lineno": 29,
"value": "f7qe"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 29,
"lineno": 29,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 29,
"lineno": 29,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 29,
"lineno": 29
}
],
"end_col_offset": 37,
"end_lineno": 29,
"lineno": 25
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 31,
"lineno": 31,
"value": "f7ql_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 31,
"lineno": 31,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 39,
"end_lineno": 31,
"lineno": 31,
"value": "outremer"
}
],
"end_col_offset": 40,
"end_lineno": 31,
"lineno": 31
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 32,
"lineno": 32,
"value": "f7qk_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 32,
"lineno": 32,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 39,
"end_lineno": 32,
"lineno": 32,
"value": "outremer"
}
],
"end_col_offset": 40,
"end_lineno": 32,
"lineno": 32
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 33,
"lineno": 33,
"value": "f7qj_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 33,
"lineno": 33,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 40,
"end_lineno": 33,
"lineno": 33,
"value": "metropole"
}
],
"end_col_offset": 41,
"end_lineno": 33,
"lineno": 33
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 34,
"lineno": 34,
"value": "f7qi_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 34,
"lineno": 34,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 40,
"end_lineno": 34,
"lineno": 34,
"value": "metropole"
}
],
"end_col_offset": 41,
"end_lineno": 34,
"lineno": 34
}
],
"end_col_offset": 42,
"end_lineno": 34,
"lineno": 30
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 36,
"lineno": 36,
"value": "f7qp"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 36,
"lineno": 36,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 36,
"lineno": 36,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 36,
"lineno": 36
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 37,
"lineno": 37,
"value": "f7qo"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 37,
"lineno": 37,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 37,
"lineno": 37,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 37,
"lineno": 37
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 38,
"lineno": 38,
"value": "f7qn"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 38,
"lineno": 38,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 38,
"lineno": 38,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 38,
"lineno": 38
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 39,
"lineno": 39,
"value": "f7qm"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 39,
"lineno": 39,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 39,
"lineno": 39,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 39,
"lineno": 39
}
],
"end_col_offset": 37,
"end_lineno": 39,
"lineno": 35
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 41,
"lineno": 41,
"value": "f7qu"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 41,
"lineno": 41,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 41,
"lineno": 41,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 41,
"lineno": 41
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 42,
"lineno": 42,
"value": "f7qt"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 42,
"lineno": 42,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 42,
"lineno": 42,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 42,
"lineno": 42
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 43,
"lineno": 43,
"value": "f7qs"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 43,
"lineno": 43,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 43,
"lineno": 43,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 43,
"lineno": 43
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 44,
"lineno": 44,
"value": "f7qr"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 44,
"lineno": 44,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 44,
"lineno": 44,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 44,
"lineno": 44
}
],
"end_col_offset": 37,
"end_lineno": 44,
"lineno": 40
}
]
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 52,
"lineno": 47,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 47,
"id": "cases_report",
"lineno": 47
}
],
"value": {
"ast_class": "Dict",
"col_offset": 19,
"end_col_offset": 9,
"end_lineno": 52,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 48,
"lineno": 48,
"value": 2014
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 49,
"lineno": 49,
"value": 2015
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 50,
"lineno": 50,
"value": 2016
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 51,
"lineno": 51,
"value": 2017
}
],
"lineno": 47,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 26,
"end_lineno": 48,
"lineno": 48,
"value": "f7ci_2019"
},
{
"ast_class": "Constant",
"col_offset": 28,
"end_col_offset": 34,
"end_lineno": 48,
"lineno": 48,
"value": "f7di"
}
],
"end_col_offset": 35,
"end_lineno": 48,
"lineno": 48
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 49,
"lineno": 49,
"value": "f7dz"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 49,
"lineno": 49,
"value": "f7ez"
}
],
"end_col_offset": 30,
"end_lineno": 49,
"lineno": 49
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 50,
"lineno": 50,
"value": "f7sz"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 50,
"lineno": 50,
"value": "f7tz"
}
],
"end_col_offset": 30,
"end_lineno": 50,
"lineno": 50
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 51,
"lineno": 51,
"value": "f7rc"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 51,
"lineno": 51,
"value": "f7rd"
}
],
"end_col_offset": 30,
"end_lineno": 51,
"lineno": 51
}
]
}
},
{
"args": {
"args": [
{
"arg": "cases",
"ast_class": "arg",
"col_offset": 40,
"end_col_offset": 45,
"end_lineno": 54,
"lineno": 54
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 46,
"end_lineno": 55,
"lineno": 55,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 55,
"id": "reduction",
"lineno": 55
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 20,
"end_col_offset": 46,
"end_lineno": 55,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 44,
"end_lineno": 55,
"lineno": 55,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 55,
"id": "foyer_fiscal",
"lineno": 55
}
},
"keywords": [],
"lineno": 55
}
},
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 54,
"end_lineno": 56,
"lineno": 56,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 25,
"end_lineno": 56,
"id": "depenses_cumulees",
"lineno": 56
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 28,
"end_col_offset": 54,
"end_lineno": 56,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 52,
"end_lineno": 56,
"lineno": 56,
"value": {
"ast_class": "Name",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 56,
"id": "foyer_fiscal",
"lineno": 56
}
},
"keywords": [],
"lineno": 56
}
},
{
"ast_class": "For",
"body": [
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 58,
"lineno": 58,
"targets": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"elts": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 20,
"end_lineno": 58,
"id": "variable",
"lineno": 58
},
{
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 27,
"end_lineno": 58,
"id": "duree",
"lineno": 58
},
{
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 33,
"end_lineno": 58,
"id": "zone",
"lineno": 58
}
],
"end_col_offset": 33,
"end_lineno": 58,
"lineno": 58
}
],
"value": {
"ast_class": "Name",
"col_offset": 36,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 58,
"id": "case",
"lineno": 58
}
},
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 52,
"end_lineno": 59,
"lineno": 59,
"targets": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 19,
"end_lineno": 59,
"id": "depense",
"lineno": 59
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 59,
"id": "variable",
"lineno": 59
},
{
"ast_class": "Name",
"col_offset": 45,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 59,
"id": "period",
"lineno": 59
}
],
"ast_class": "Call",
"col_offset": 22,
"end_col_offset": 52,
"end_lineno": 59,
"func": {
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 34,
"end_lineno": 59,
"id": "foyer_fiscal",
"lineno": 59
},
"keywords": [],
"lineno": 59
}
},
{
"ast_class": "If",
"body": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 175,
"end_lineno": 62,
"lineno": 62,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 62,
"id": "reduction",
"lineno": 62
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 174,
"end_lineno": 62,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 166,
"end_lineno": 62,
"left": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 62,
"lineno": 62,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 62,
"lineno": 62,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 62,
"id": "duflot_pinel_denormandie",
"lineno": 62
}
}
},
"lineno": 62,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 100,
"end_col_offset": 101,
"end_lineno": 62,
"lineno": 62,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 103,
"end_col_offset": 155,
"end_lineno": 62,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 135,
"end_lineno": 62,
"lineno": 62,
"value": {
"ast_class": "Name",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 127,
"end_lineno": 62,
"id": "duflot_pinel_denormandie",
"lineno": 62
}
},
"lineno": 62,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 138,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 155,
"end_lineno": 62,
"id": "depenses_cumulees",
"lineno": 62
}
}
],
"ast_class": "Call",
"col_offset": 95,
"end_col_offset": 156,
"end_lineno": 62,
"func": {
"ast_class": "Name",
"col_offset": 95,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 62,
"id": "max_",
"lineno": 62
},
"keywords": [],
"lineno": 62
},
{
"ast_class": "Name",
"col_offset": 158,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 165,
"end_lineno": 62,
"id": "depense",
"lineno": 62
}
],
"ast_class": "Call",
"col_offset": 90,
"end_col_offset": 166,
"end_lineno": 62,
"func": {
"ast_class": "Name",
"col_offset": 90,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 94,
"end_lineno": 62,
"id": "min_",
"lineno": 62
},
"keywords": [],
"lineno": 62
}
},
"lineno": 62,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 169,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 174,
"end_lineno": 62,
"id": "duree",
"lineno": 62
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 175,
"end_lineno": 62,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 62,
"id": "around",
"lineno": 62
},
"keywords": [],
"lineno": 62
}
}
],
"col_offset": 16,
"end_col_offset": 175,
"end_lineno": 64,
"lineno": 61,
"orelse": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 175,
"end_lineno": 64,
"lineno": 64,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 64,
"id": "reduction",
"lineno": 64
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 174,
"end_lineno": 64,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 166,
"end_lineno": 64,
"left": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 64,
"lineno": 64,
"value": {
"ast_class": "Attribute",
"attr": "location_6_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 64,
"lineno": 64,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 64,
"id": "duflot_pinel_denormandie",
"lineno": 64
}
}
},
"lineno": 64,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 100,
"end_col_offset": 101,
"end_lineno": 64,
"lineno": 64,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 103,
"end_col_offset": 155,
"end_lineno": 64,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 135,
"end_lineno": 64,
"lineno": 64,
"value": {
"ast_class": "Name",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 127,
"end_lineno": 64,
"id": "duflot_pinel_denormandie",
"lineno": 64
}
},
"lineno": 64,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 138,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 155,
"end_lineno": 64,
"id": "depenses_cumulees",
"lineno": 64
}
}
],
"ast_class": "Call",
"col_offset": 95,
"end_col_offset": 156,
"end_lineno": 64,
"func": {
"ast_class": "Name",
"col_offset": 95,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 64,
"id": "max_",
"lineno": 64
},
"keywords": [],
"lineno": 64
},
{
"ast_class": "Name",
"col_offset": 158,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 165,
"end_lineno": 64,
"id": "depense",
"lineno": 64
}
],
"ast_class": "Call",
"col_offset": 90,
"end_col_offset": 166,
"end_lineno": 64,
"func": {
"ast_class": "Name",
"col_offset": 90,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 94,
"end_lineno": 64,
"id": "min_",
"lineno": 64
},
"keywords": [],
"lineno": 64
}
},
"lineno": 64,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 169,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 174,
"end_lineno": 64,
"id": "duree",
"lineno": 64
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 175,
"end_lineno": 64,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 64,
"id": "around",
"lineno": 64
},
"keywords": [],
"lineno": 64
}
}
],
"col_offset": 16,
"end_col_offset": 175,
"end_lineno": 64,
"lineno": 63,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 21,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 30,
"end_col_offset": 31,
"end_lineno": 63,
"lineno": 63,
"value": 6
}
],
"end_col_offset": 31,
"end_lineno": 63,
"left": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 63,
"id": "duree",
"lineno": 63
},
"lineno": 63,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"test": {
"ast_class": "Compare",
"col_offset": 19,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 28,
"end_col_offset": 29,
"end_lineno": 61,
"lineno": 61,
"value": 9
}
],
"end_col_offset": 29,
"end_lineno": 61,
"left": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 61,
"id": "duree",
"lineno": 61
},
"lineno": 61,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"col_offset": 12,
"end_col_offset": 175,
"end_lineno": 64,
"lineno": 60,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 15,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 33,
"end_lineno": 60,
"lineno": 60,
"value": "outremer"
}
],
"end_col_offset": 33,
"end_lineno": 60,
"left": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 19,
"end_lineno": 60,
"id": "zone",
"lineno": 60
},
"lineno": 60,
"ops": [
{
"ast_class": "Eq"
}
]
}
},
{
"ast_class": "AugAssign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 65,
"lineno": 65,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 65,
"id": "depenses_cumulees",
"lineno": 65
},
"value": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 65,
"id": "depense",
"lineno": 65
}
}
],
"col_offset": 8,
"end_col_offset": 40,
"end_lineno": 65,
"iter": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 57,
"id": "cases",
"lineno": 57
},
"lineno": 57,
"orelse": [],
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 57,
"id": "case",
"lineno": 57
}
},
{
"ast_class": "Return",
"col_offset": 8,
"end_col_offset": 24,
"end_lineno": 66,
"lineno": 66,
"value": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 66,
"id": "reduction",
"lineno": 66
}
}
],
"col_offset": 4,
"decorator_list": [],
"end_col_offset": 24,
"end_lineno": 66,
"lineno": 54,
"name": "calcul_reduction_investissement"
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 37,
"end_lineno": 68,
"lineno": 68,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 68,
"id": "annee_fiscale",
"lineno": 68
}
],
"value": {
"ast_class": "Attribute",
"attr": "year",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 68,
"lineno": 68,
"value": {
"ast_class": "Attribute",
"attr": "start",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 68,
"lineno": 68,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 68,
"id": "period",
"lineno": 68
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 146,
"end_lineno": 69,
"lineno": 69,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 69,
"id": "range_year_investissement",
"lineno": 69
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 37,
"end_col_offset": 145,
"end_lineno": 69,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 41,
"elt": {
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 46,
"end_lineno": 69,
"id": "year",
"lineno": 69
},
"end_col_offset": 90,
"end_lineno": 69,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 65,
"end_col_offset": 69,
"end_lineno": 69,
"lineno": 69,
"value": 2015
},
{
"ast_class": "BinOp",
"col_offset": 71,
"end_col_offset": 88,
"end_lineno": 69,
"left": {
"ast_class": "Name",
"col_offset": 71,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 84,
"end_lineno": 69,
"id": "annee_fiscale",
"lineno": 69
},
"lineno": 69,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Constant",
"col_offset": 87,
"end_col_offset": 88,
"end_lineno": 69,
"lineno": 69,
"value": 1
}
}
],
"ast_class": "Call",
"col_offset": 59,
"end_col_offset": 89,
"end_lineno": 69,
"func": {
"ast_class": "Name",
"col_offset": 59,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 69,
"id": "range",
"lineno": 69
},
"keywords": [],
"lineno": 69
},
"target": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 55,
"end_lineno": 69,
"id": "year",
"lineno": 69
}
}
],
"lineno": 69
}
],
"ast_class": "Call",
"col_offset": 37,
"end_col_offset": 91,
"end_lineno": 69,
"func": {
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 69,
"id": "set",
"lineno": 69
},
"keywords": [],
"lineno": 69
},
"lineno": 69,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 98,
"elt": {
"ast_class": "Name",
"col_offset": 99,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 103,
"end_lineno": 69,
"id": "year",
"lineno": 69
},
"end_col_offset": 144,
"end_lineno": 69,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 116,
"end_col_offset": 143,
"end_lineno": 69,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 141,
"end_lineno": 69,
"lineno": 69,
"value": {
"ast_class": "Name",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 136,
"end_lineno": 69,
"id": "cases_investissement",
"lineno": 69
}
},
"keywords": [],
"lineno": 69
},
"target": {
"ast_class": "Name",
"col_offset": 108,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 112,
"end_lineno": 69,
"id": "year",
"lineno": 69
}
}
],
"lineno": 69
}
],
"ast_class": "Call",
"col_offset": 94,
"end_col_offset": 145,
"end_lineno": 69,
"func": {
"ast_class": "Name",
"col_offset": 94,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 69,
"id": "set",
"lineno": 69
},
"keywords": [],
"lineno": 69
}
}
],
"ast_class": "Call",
"col_offset": 32,
"end_col_offset": 146,
"end_lineno": 69,
"func": {
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 36,
"end_lineno": 69,
"id": "list",
"lineno": 69
},
"keywords": [],
"lineno": 69
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 126,
"end_lineno": 70,
"lineno": 70,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 70,
"id": "range_year_report",
"lineno": 70
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 29,
"end_col_offset": 125,
"end_lineno": 70,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 33,
"elt": {
"ast_class": "Name",
"col_offset": 34,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 70,
"id": "year",
"lineno": 70
},
"end_col_offset": 78,
"end_lineno": 70,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 57,
"end_col_offset": 61,
"end_lineno": 70,
"lineno": 70,
"value": 2014
},
{
"ast_class": "Name",
"col_offset": 63,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 76,
"end_lineno": 70,
"id": "annee_fiscale",
"lineno": 70
}
],
"ast_class": "Call",
"col_offset": 51,
"end_col_offset": 77,
"end_lineno": 70,
"func": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 70,
"id": "range",
"lineno": 70
},
"keywords": [],
"lineno": 70
},
"target": {
"ast_class": "Name",
"col_offset": 43,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 47,
"end_lineno": 70,
"id": "year",
"lineno": 70
}
}
],
"lineno": 70
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 79,
"end_lineno": 70,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 70,
"id": "set",
"lineno": 70
},
"keywords": [],
"lineno": 70
},
"lineno": 70,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 86,
"elt": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 91,
"end_lineno": 70,
"id": "year",
"lineno": 70
},
"end_col_offset": 124,
"end_lineno": 70,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 104,
"end_col_offset": 123,
"end_lineno": 70,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 121,
"end_lineno": 70,
"lineno": 70,
"value": {
"ast_class": "Name",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 116,
"end_lineno": 70,
"id": "cases_report",
"lineno": 70
}
},
"keywords": [],
"lineno": 70
},
"target": {
"ast_class": "Name",
"col_offset": 96,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 100,
"end_lineno": 70,
"id": "year",
"lineno": 70
}
}
],
"lineno": 70
}
],
"ast_class": "Call",
"col_offset": 82,
"end_col_offset": 125,
"end_lineno": 70,
"func": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 85,
"end_lineno": 70,
"id": "set",
"lineno": 70
},
"keywords": [],
"lineno": 70
}
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 126,
"end_lineno": 70,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 70,
"id": "list",
"lineno": 70
},
"keywords": [],
"lineno": 70
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 128,
"end_lineno": 72,
"lineno": 72,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 72,
"id": "reduction_cumulee",
"lineno": 72
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 28,
"elt": {
"args": [
{
"ast_class": "Subscript",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 72,
"lineno": 72,
"slice": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 86,
"end_lineno": 72,
"id": "year",
"lineno": 72
},
"value": {
"ast_class": "Name",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 81,
"end_lineno": 72,
"id": "cases_investissement",
"lineno": 72
}
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 88,
"end_lineno": 72,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 60,
"end_lineno": 72,
"id": "calcul_reduction_investissement",
"lineno": 72
},
"keywords": [],
"lineno": 72
},
"end_col_offset": 127,
"end_lineno": 72,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 101,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 126,
"end_lineno": 72,
"id": "range_year_investissement",
"lineno": 72
},
"target": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 97,
"end_lineno": 72,
"id": "year",
"lineno": 72
}
}
],
"lineno": 72
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 128,
"end_lineno": 72,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 72,
"id": "sum",
"lineno": 72
},
"keywords": [],
"lineno": 72
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 107,
"end_lineno": 73,
"lineno": 73,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 73,
"id": "report",
"lineno": 73
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 17,
"elt": {
"args": [
{
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 35,
"end_lineno": 73,
"id": "case",
"lineno": 73
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 73,
"id": "period",
"lineno": 73
}
],
"ast_class": "Call",
"col_offset": 18,
"end_col_offset": 44,
"end_lineno": 73,
"func": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 73,
"id": "foyer_fiscal",
"lineno": 73
},
"keywords": [],
"lineno": 73
},
"end_col_offset": 106,
"end_lineno": 73,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 57,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 74,
"end_lineno": 73,
"id": "range_year_report",
"lineno": 73
},
"target": {
"ast_class": "Name",
"col_offset": 49,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 53,
"end_lineno": 73,
"id": "year",
"lineno": 73
}
},
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Subscript",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 105,
"end_lineno": 73,
"lineno": 73,
"slice": {
"ast_class": "Name",
"col_offset": 100,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 104,
"end_lineno": 73,
"id": "year",
"lineno": 73
},
"value": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 73,
"id": "cases_report",
"lineno": 73
}
},
"target": {
"ast_class": "Name",
"col_offset": 79,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 83,
"end_lineno": 73,
"id": "case",
"lineno": 73
}
}
],
"lineno": 73
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 107,
"end_lineno": 73,
"func": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 73,
"id": "sum",
"lineno": 73
},
"keywords": [],
"lineno": 73
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 63,
"end_lineno": 75,
"lineno": 75,
"value": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 63,
"end_lineno": 75,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 50,
"end_lineno": 75,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 37,
"end_lineno": 75,
"left": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 75,
"id": "reduction_cumulee",
"lineno": 75
},
"lineno": 75,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 75,
"id": "report",
"lineno": 75
}
},
"lineno": 75,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 50,
"end_lineno": 75,
"id": "reduc_2013",
"lineno": 75
}
},
"lineno": 75,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 53,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 63,
"end_lineno": 75,
"id": "reduc_2014",
"lineno": 75
}
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 63,
"end_lineno": 75,
"lineno": 1,
"name": "formula_2015_01_01"
},
"documentation": "\nDuflot + Pinel\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_6_ans.taux_om",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_om",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.plafond"
],
"source_code": "def formula_2015_01_01(foyer_fiscal, period, parameters):\n '''\n Duflot + Pinel\n '''\n duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie\n\n # Duflot année N, 2013\n f7gi = foyer_fiscal('f7gi', period) # Outre-Mer\n\n # Duflot année N, 2014\n f7el = foyer_fiscal('f7el', period) # Outre-Mer\n\n # Pinel année N, 2014\n f7qc = foyer_fiscal('f7qc_2018', period) # Outre-Mer, 6 ans\n f7qd = foyer_fiscal('f7qd_2018', period) # Outre-Mer, 9 ans\n\n # Duflot 2013\n reduc_2013 = duflot_pinel_denormandie.location_9_ans.taux_om * min_(duflot_pinel_denormandie.plafond, f7gi) / 9\n\n # Duflot et Pinel 2014\n reduc_2014 = (around(duflot_pinel_denormandie.location_9_ans.taux_om * min_(duflot_pinel_denormandie.plafond, f7el + f7qd) / 9)\n + around(duflot_pinel_denormandie.location_6_ans.taux_om * min_(duflot_pinel_denormandie.plafond - f7el - f7qd, f7qc) / 6))\n\n cases_investissement = {\n 2015: [\n ('f7qh', 9, 'outremer'),\n ('f7qg', 6, 'outremer'),\n ('f7qf', 9, 'metropole'),\n ('f7qe', 6, 'metropole')],\n 2016: [\n ('f7ql_2019', 9, 'outremer'),\n ('f7qk_2019', 6, 'outremer'),\n ('f7qj_2019', 9, 'metropole'),\n ('f7qi_2019', 6, 'metropole')],\n 2017: [\n ('f7qp', 9, 'outremer'),\n ('f7qo', 6, 'outremer'),\n ('f7qn', 9, 'metropole'),\n ('f7qm', 6, 'metropole')],\n 2018: [\n ('f7qu', 9, 'outremer'),\n ('f7qt', 6, 'outremer'),\n ('f7qs', 9, 'metropole'),\n ('f7qr', 6, 'metropole')],\n }\n\n cases_report = {\n 2014: ['f7ci_2019', 'f7di'],\n 2015: ['f7dz', 'f7ez'],\n 2016: ['f7sz', 'f7tz'],\n 2017: ['f7rc', 'f7rd'],\n }\n\n def calcul_reduction_investissement(cases):\n reduction = foyer_fiscal.empty_array()\n depenses_cumulees = foyer_fiscal.empty_array()\n for case in cases:\n variable, duree, zone = case\n depense = foyer_fiscal(variable, period)\n if zone == 'outremer':\n if duree == 9:\n reduction += around(duflot_pinel_denormandie.location_9_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n elif duree == 6:\n reduction += around(duflot_pinel_denormandie.location_6_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n depenses_cumulees += depense\n return reduction\n\n annee_fiscale = period.start.year\n range_year_investissement = list(set([year for year in range(2015, annee_fiscale + 1)]) & set([year for year in cases_investissement.keys()]))\n range_year_report = list(set([year for year in range(2014, annee_fiscale)]) & set([year for year in cases_report.keys()]))\n\n reduction_cumulee = sum([calcul_reduction_investissement(cases_investissement[year]) for year in range_year_investissement])\n report = sum([foyer_fiscal(case, period) for year in range_year_report for case in cases_report[year]])\n\n return reduction_cumulee + report + reduc_2013 + reduc_2014\n",
"start_line_number": 647,
"stop_line_number": 722,
"variables": [
"f7el",
"f7gi",
"f7qc_2018",
"f7qd_2018"
]
},
"2019-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "foyer_fiscal",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 35,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 37,
"end_col_offset": 43,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 45,
"end_col_offset": 55,
"end_lineno": 1,
"lineno": 1
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Expr",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": "\n Duflot + Pinel + Denormandie\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 140,
"end_lineno": 5,
"lineno": 5,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 28,
"end_lineno": 5,
"id": "duflot_pinel_denormandie",
"lineno": 5
}
],
"value": {
"ast_class": "Attribute",
"attr": "duflot_pinel_denormandie",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 140,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "investissements_immobiliers",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 115,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "calcul_reductions_impots",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "impot_revenu",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 5,
"lineno": 5,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 5,
"id": "period",
"lineno": 5
}
],
"ast_class": "Call",
"col_offset": 31,
"end_col_offset": 49,
"end_lineno": 5,
"func": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 5,
"id": "parameters",
"lineno": 5
},
"keywords": [],
"lineno": 5
}
}
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 29,
"lineno": 7,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 24,
"end_lineno": 7,
"id": "cases_investissement",
"lineno": 7
}
],
"value": {
"ast_class": "Dict",
"col_offset": 27,
"end_col_offset": 9,
"end_lineno": 29,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 8,
"lineno": 8,
"value": 2019
}
],
"lineno": 7,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 9,
"lineno": 9,
"value": "f7ql_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 9,
"lineno": 9,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 39,
"end_lineno": 9,
"lineno": 9,
"value": "outremer"
}
],
"end_col_offset": 40,
"end_lineno": 9,
"lineno": 9
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 10,
"lineno": 10,
"value": "f7qp"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 10,
"lineno": 10,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 10,
"lineno": 10,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 10,
"lineno": 10
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 11,
"lineno": 11,
"value": "f7qu"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 11,
"lineno": 11,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 11,
"lineno": 11,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 11,
"lineno": 11
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 12,
"lineno": 12,
"value": "f7qq"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 12,
"lineno": 12,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 12,
"lineno": 12,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 12,
"lineno": 12
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 13,
"lineno": 13,
"value": "f7nd"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 13,
"lineno": 13,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 13,
"lineno": 13,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 13,
"lineno": 13
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 14,
"lineno": 14,
"value": "f7qk_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 14,
"lineno": 14,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 39,
"end_lineno": 14,
"lineno": 14,
"value": "outremer"
}
],
"end_col_offset": 40,
"end_lineno": 14,
"lineno": 14
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 15,
"lineno": 15,
"value": "f7qo"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 15,
"lineno": 15,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 15,
"lineno": 15,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 15,
"lineno": 15
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 16,
"lineno": 16,
"value": "f7qt"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 16,
"lineno": 16,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 16,
"lineno": 16,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 16,
"lineno": 16
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 17,
"lineno": 17,
"value": "f7qy"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 17,
"lineno": 17,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 17,
"lineno": 17,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 17,
"lineno": 17
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 18,
"lineno": 18,
"value": "f7nc"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 18,
"lineno": 18,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 18,
"lineno": 18,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 18,
"lineno": 18
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 19,
"lineno": 19,
"value": "f7qj_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 19,
"lineno": 19,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 40,
"end_lineno": 19,
"lineno": 19,
"value": "metropole"
}
],
"end_col_offset": 41,
"end_lineno": 19,
"lineno": 19
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 20,
"lineno": 20,
"value": "f7qn"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 20,
"lineno": 20,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 20,
"lineno": 20,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 20,
"lineno": 20
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 21,
"lineno": 21,
"value": "f7qs"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 21,
"lineno": 21,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 21,
"lineno": 21,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 21,
"lineno": 21
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 22,
"lineno": 22,
"value": "f7qx"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 22,
"lineno": 22,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 22,
"lineno": 22,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 22,
"lineno": 22
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 23,
"lineno": 23,
"value": "f7nb"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 23,
"lineno": 23,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 23,
"lineno": 23,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 23,
"lineno": 23
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 24,
"end_lineno": 24,
"lineno": 24,
"value": "f7qi_2019"
},
{
"ast_class": "Constant",
"col_offset": 26,
"end_col_offset": 27,
"end_lineno": 24,
"lineno": 24,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 29,
"end_col_offset": 40,
"end_lineno": 24,
"lineno": 24,
"value": "metropole"
}
],
"end_col_offset": 41,
"end_lineno": 24,
"lineno": 24
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 25,
"lineno": 25,
"value": "f7qm"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 25,
"lineno": 25,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 25,
"lineno": 25,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 25,
"lineno": 25
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 26,
"lineno": 26,
"value": "f7qr"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 26,
"lineno": 26,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 26,
"lineno": 26,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 26,
"lineno": 26
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 27,
"lineno": 27,
"value": "f7qw"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 27,
"lineno": 27,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 27,
"lineno": 27,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 27,
"lineno": 27
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 28,
"lineno": 28,
"value": "f7na"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 28,
"lineno": 28,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 28,
"lineno": 28,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 28,
"lineno": 28
}
],
"end_col_offset": 37,
"end_lineno": 28,
"lineno": 8
}
]
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 37,
"lineno": 31,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 31,
"id": "cases_report",
"lineno": 31
}
],
"value": {
"ast_class": "Dict",
"col_offset": 19,
"end_col_offset": 9,
"end_lineno": 37,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 32,
"lineno": 32,
"value": 2014
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 33,
"lineno": 33,
"value": 2015
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 34,
"lineno": 34,
"value": 2016
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 35,
"lineno": 35,
"value": 2017
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 36,
"lineno": 36,
"value": 2018
}
],
"lineno": 31,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 26,
"end_lineno": 32,
"lineno": 32,
"value": "f7ci_2019"
},
{
"ast_class": "Constant",
"col_offset": 28,
"end_col_offset": 34,
"end_lineno": 32,
"lineno": 32,
"value": "f7di"
}
],
"end_col_offset": 35,
"end_lineno": 32,
"lineno": 32
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 33,
"lineno": 33,
"value": "f7dz"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 33,
"lineno": 33,
"value": "f7ez"
}
],
"end_col_offset": 30,
"end_lineno": 33,
"lineno": 33
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 34,
"lineno": 34,
"value": "f7sz"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 34,
"lineno": 34,
"value": "f7tz"
}
],
"end_col_offset": 30,
"end_lineno": 34,
"lineno": 34
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 35,
"lineno": 35,
"value": "f7rc"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 35,
"lineno": 35,
"value": "f7rd"
}
],
"end_col_offset": 30,
"end_lineno": 35,
"lineno": 35
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 36,
"lineno": 36,
"value": "f7rg"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 36,
"lineno": 36,
"value": "f7rh"
}
],
"end_col_offset": 30,
"end_lineno": 36,
"lineno": 36
}
]
}
},
{
"args": {
"args": [
{
"arg": "cases",
"ast_class": "arg",
"col_offset": 40,
"end_col_offset": 45,
"end_lineno": 39,
"lineno": 39
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 46,
"end_lineno": 40,
"lineno": 40,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 40,
"id": "reduction",
"lineno": 40
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 20,
"end_col_offset": 46,
"end_lineno": 40,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 44,
"end_lineno": 40,
"lineno": 40,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 40,
"id": "foyer_fiscal",
"lineno": 40
}
},
"keywords": [],
"lineno": 40
}
},
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 54,
"end_lineno": 41,
"lineno": 41,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 25,
"end_lineno": 41,
"id": "depenses_cumulees",
"lineno": 41
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 28,
"end_col_offset": 54,
"end_lineno": 41,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 52,
"end_lineno": 41,
"lineno": 41,
"value": {
"ast_class": "Name",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 41,
"id": "foyer_fiscal",
"lineno": 41
}
},
"keywords": [],
"lineno": 41
}
},
{
"ast_class": "For",
"body": [
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 43,
"lineno": 43,
"targets": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"elts": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 20,
"end_lineno": 43,
"id": "variable",
"lineno": 43
},
{
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 27,
"end_lineno": 43,
"id": "duree",
"lineno": 43
},
{
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 33,
"end_lineno": 43,
"id": "zone",
"lineno": 43
}
],
"end_col_offset": 33,
"end_lineno": 43,
"lineno": 43
}
],
"value": {
"ast_class": "Name",
"col_offset": 36,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 43,
"id": "case",
"lineno": 43
}
},
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 52,
"end_lineno": 44,
"lineno": 44,
"targets": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 19,
"end_lineno": 44,
"id": "depense",
"lineno": 44
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 44,
"id": "variable",
"lineno": 44
},
{
"ast_class": "Name",
"col_offset": 45,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 44,
"id": "period",
"lineno": 44
}
],
"ast_class": "Call",
"col_offset": 22,
"end_col_offset": 52,
"end_lineno": 44,
"func": {
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 34,
"end_lineno": 44,
"id": "foyer_fiscal",
"lineno": 44
},
"keywords": [],
"lineno": 44
}
},
{
"ast_class": "If",
"body": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 175,
"end_lineno": 47,
"lineno": 47,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 47,
"id": "reduction",
"lineno": 47
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 174,
"end_lineno": 47,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 166,
"end_lineno": 47,
"left": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 47,
"lineno": 47,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 47,
"lineno": 47,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 47,
"id": "duflot_pinel_denormandie",
"lineno": 47
}
}
},
"lineno": 47,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 100,
"end_col_offset": 101,
"end_lineno": 47,
"lineno": 47,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 103,
"end_col_offset": 155,
"end_lineno": 47,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 135,
"end_lineno": 47,
"lineno": 47,
"value": {
"ast_class": "Name",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 127,
"end_lineno": 47,
"id": "duflot_pinel_denormandie",
"lineno": 47
}
},
"lineno": 47,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 138,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 155,
"end_lineno": 47,
"id": "depenses_cumulees",
"lineno": 47
}
}
],
"ast_class": "Call",
"col_offset": 95,
"end_col_offset": 156,
"end_lineno": 47,
"func": {
"ast_class": "Name",
"col_offset": 95,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 47,
"id": "max_",
"lineno": 47
},
"keywords": [],
"lineno": 47
},
{
"ast_class": "Name",
"col_offset": 158,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 165,
"end_lineno": 47,
"id": "depense",
"lineno": 47
}
],
"ast_class": "Call",
"col_offset": 90,
"end_col_offset": 166,
"end_lineno": 47,
"func": {
"ast_class": "Name",
"col_offset": 90,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 94,
"end_lineno": 47,
"id": "min_",
"lineno": 47
},
"keywords": [],
"lineno": 47
}
},
"lineno": 47,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 169,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 174,
"end_lineno": 47,
"id": "duree",
"lineno": 47
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 175,
"end_lineno": 47,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 47,
"id": "around",
"lineno": 47
},
"keywords": [],
"lineno": 47
}
}
],
"col_offset": 16,
"end_col_offset": 175,
"end_lineno": 49,
"lineno": 46,
"orelse": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 175,
"end_lineno": 49,
"lineno": 49,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 49,
"id": "reduction",
"lineno": 49
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 174,
"end_lineno": 49,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 166,
"end_lineno": 49,
"left": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 49,
"lineno": 49,
"value": {
"ast_class": "Attribute",
"attr": "location_6_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 49,
"lineno": 49,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 49,
"id": "duflot_pinel_denormandie",
"lineno": 49
}
}
},
"lineno": 49,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 100,
"end_col_offset": 101,
"end_lineno": 49,
"lineno": 49,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 103,
"end_col_offset": 155,
"end_lineno": 49,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 135,
"end_lineno": 49,
"lineno": 49,
"value": {
"ast_class": "Name",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 127,
"end_lineno": 49,
"id": "duflot_pinel_denormandie",
"lineno": 49
}
},
"lineno": 49,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 138,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 155,
"end_lineno": 49,
"id": "depenses_cumulees",
"lineno": 49
}
}
],
"ast_class": "Call",
"col_offset": 95,
"end_col_offset": 156,
"end_lineno": 49,
"func": {
"ast_class": "Name",
"col_offset": 95,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 49,
"id": "max_",
"lineno": 49
},
"keywords": [],
"lineno": 49
},
{
"ast_class": "Name",
"col_offset": 158,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 165,
"end_lineno": 49,
"id": "depense",
"lineno": 49
}
],
"ast_class": "Call",
"col_offset": 90,
"end_col_offset": 166,
"end_lineno": 49,
"func": {
"ast_class": "Name",
"col_offset": 90,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 94,
"end_lineno": 49,
"id": "min_",
"lineno": 49
},
"keywords": [],
"lineno": 49
}
},
"lineno": 49,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 169,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 174,
"end_lineno": 49,
"id": "duree",
"lineno": 49
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 175,
"end_lineno": 49,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 49,
"id": "around",
"lineno": 49
},
"keywords": [],
"lineno": 49
}
}
],
"col_offset": 16,
"end_col_offset": 175,
"end_lineno": 49,
"lineno": 48,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 21,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 30,
"end_col_offset": 31,
"end_lineno": 48,
"lineno": 48,
"value": 6
}
],
"end_col_offset": 31,
"end_lineno": 48,
"left": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 48,
"id": "duree",
"lineno": 48
},
"lineno": 48,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"test": {
"ast_class": "Compare",
"col_offset": 19,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 28,
"end_col_offset": 29,
"end_lineno": 46,
"lineno": 46,
"value": 9
}
],
"end_col_offset": 29,
"end_lineno": 46,
"left": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 46,
"id": "duree",
"lineno": 46
},
"lineno": 46,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"col_offset": 12,
"end_col_offset": 175,
"end_lineno": 49,
"lineno": 45,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 15,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 33,
"end_lineno": 45,
"lineno": 45,
"value": "outremer"
}
],
"end_col_offset": 33,
"end_lineno": 45,
"left": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 19,
"end_lineno": 45,
"id": "zone",
"lineno": 45
},
"lineno": 45,
"ops": [
{
"ast_class": "Eq"
}
]
}
},
{
"ast_class": "AugAssign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 50,
"lineno": 50,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 50,
"id": "depenses_cumulees",
"lineno": 50
},
"value": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 50,
"id": "depense",
"lineno": 50
}
}
],
"col_offset": 8,
"end_col_offset": 40,
"end_lineno": 50,
"iter": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 42,
"id": "cases",
"lineno": 42
},
"lineno": 42,
"orelse": [],
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 42,
"id": "case",
"lineno": 42
}
},
{
"ast_class": "Return",
"col_offset": 8,
"end_col_offset": 24,
"end_lineno": 51,
"lineno": 51,
"value": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 51,
"id": "reduction",
"lineno": 51
}
}
],
"col_offset": 4,
"decorator_list": [],
"end_col_offset": 24,
"end_lineno": 51,
"lineno": 39,
"name": "calcul_reduction_investissement"
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 37,
"end_lineno": 53,
"lineno": 53,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 53,
"id": "annee_fiscale",
"lineno": 53
}
],
"value": {
"ast_class": "Attribute",
"attr": "year",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 53,
"lineno": 53,
"value": {
"ast_class": "Attribute",
"attr": "start",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 53,
"lineno": 53,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 53,
"id": "period",
"lineno": 53
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 146,
"end_lineno": 54,
"lineno": 54,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 54,
"id": "range_year_investissement",
"lineno": 54
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 37,
"end_col_offset": 145,
"end_lineno": 54,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 41,
"elt": {
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 46,
"end_lineno": 54,
"id": "year",
"lineno": 54
},
"end_col_offset": 90,
"end_lineno": 54,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 65,
"end_col_offset": 69,
"end_lineno": 54,
"lineno": 54,
"value": 2016
},
{
"ast_class": "BinOp",
"col_offset": 71,
"end_col_offset": 88,
"end_lineno": 54,
"left": {
"ast_class": "Name",
"col_offset": 71,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 84,
"end_lineno": 54,
"id": "annee_fiscale",
"lineno": 54
},
"lineno": 54,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Constant",
"col_offset": 87,
"end_col_offset": 88,
"end_lineno": 54,
"lineno": 54,
"value": 1
}
}
],
"ast_class": "Call",
"col_offset": 59,
"end_col_offset": 89,
"end_lineno": 54,
"func": {
"ast_class": "Name",
"col_offset": 59,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 54,
"id": "range",
"lineno": 54
},
"keywords": [],
"lineno": 54
},
"target": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 55,
"end_lineno": 54,
"id": "year",
"lineno": 54
}
}
],
"lineno": 54
}
],
"ast_class": "Call",
"col_offset": 37,
"end_col_offset": 91,
"end_lineno": 54,
"func": {
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 54,
"id": "set",
"lineno": 54
},
"keywords": [],
"lineno": 54
},
"lineno": 54,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 98,
"elt": {
"ast_class": "Name",
"col_offset": 99,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 103,
"end_lineno": 54,
"id": "year",
"lineno": 54
},
"end_col_offset": 144,
"end_lineno": 54,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 116,
"end_col_offset": 143,
"end_lineno": 54,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 141,
"end_lineno": 54,
"lineno": 54,
"value": {
"ast_class": "Name",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 136,
"end_lineno": 54,
"id": "cases_investissement",
"lineno": 54
}
},
"keywords": [],
"lineno": 54
},
"target": {
"ast_class": "Name",
"col_offset": 108,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 112,
"end_lineno": 54,
"id": "year",
"lineno": 54
}
}
],
"lineno": 54
}
],
"ast_class": "Call",
"col_offset": 94,
"end_col_offset": 145,
"end_lineno": 54,
"func": {
"ast_class": "Name",
"col_offset": 94,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 54,
"id": "set",
"lineno": 54
},
"keywords": [],
"lineno": 54
}
}
],
"ast_class": "Call",
"col_offset": 32,
"end_col_offset": 146,
"end_lineno": 54,
"func": {
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 36,
"end_lineno": 54,
"id": "list",
"lineno": 54
},
"keywords": [],
"lineno": 54
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 126,
"end_lineno": 55,
"lineno": 55,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 55,
"id": "range_year_report",
"lineno": 55
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 29,
"end_col_offset": 125,
"end_lineno": 55,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 33,
"elt": {
"ast_class": "Name",
"col_offset": 34,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 55,
"id": "year",
"lineno": 55
},
"end_col_offset": 78,
"end_lineno": 55,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 57,
"end_col_offset": 61,
"end_lineno": 55,
"lineno": 55,
"value": 2014
},
{
"ast_class": "Name",
"col_offset": 63,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 76,
"end_lineno": 55,
"id": "annee_fiscale",
"lineno": 55
}
],
"ast_class": "Call",
"col_offset": 51,
"end_col_offset": 77,
"end_lineno": 55,
"func": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 55,
"id": "range",
"lineno": 55
},
"keywords": [],
"lineno": 55
},
"target": {
"ast_class": "Name",
"col_offset": 43,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 47,
"end_lineno": 55,
"id": "year",
"lineno": 55
}
}
],
"lineno": 55
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 79,
"end_lineno": 55,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 55,
"id": "set",
"lineno": 55
},
"keywords": [],
"lineno": 55
},
"lineno": 55,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 86,
"elt": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 91,
"end_lineno": 55,
"id": "year",
"lineno": 55
},
"end_col_offset": 124,
"end_lineno": 55,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 104,
"end_col_offset": 123,
"end_lineno": 55,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 121,
"end_lineno": 55,
"lineno": 55,
"value": {
"ast_class": "Name",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 116,
"end_lineno": 55,
"id": "cases_report",
"lineno": 55
}
},
"keywords": [],
"lineno": 55
},
"target": {
"ast_class": "Name",
"col_offset": 96,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 100,
"end_lineno": 55,
"id": "year",
"lineno": 55
}
}
],
"lineno": 55
}
],
"ast_class": "Call",
"col_offset": 82,
"end_col_offset": 125,
"end_lineno": 55,
"func": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 85,
"end_lineno": 55,
"id": "set",
"lineno": 55
},
"keywords": [],
"lineno": 55
}
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 126,
"end_lineno": 55,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 55,
"id": "list",
"lineno": 55
},
"keywords": [],
"lineno": 55
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 128,
"end_lineno": 57,
"lineno": 57,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 57,
"id": "reduction_cumulee",
"lineno": 57
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 28,
"elt": {
"args": [
{
"ast_class": "Subscript",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 57,
"lineno": 57,
"slice": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 86,
"end_lineno": 57,
"id": "year",
"lineno": 57
},
"value": {
"ast_class": "Name",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 81,
"end_lineno": 57,
"id": "cases_investissement",
"lineno": 57
}
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 88,
"end_lineno": 57,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 60,
"end_lineno": 57,
"id": "calcul_reduction_investissement",
"lineno": 57
},
"keywords": [],
"lineno": 57
},
"end_col_offset": 127,
"end_lineno": 57,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 101,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 126,
"end_lineno": 57,
"id": "range_year_investissement",
"lineno": 57
},
"target": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 97,
"end_lineno": 57,
"id": "year",
"lineno": 57
}
}
],
"lineno": 57
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 128,
"end_lineno": 57,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 57,
"id": "sum",
"lineno": 57
},
"keywords": [],
"lineno": 57
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 107,
"end_lineno": 58,
"lineno": 58,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 58,
"id": "report",
"lineno": 58
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 17,
"elt": {
"args": [
{
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 35,
"end_lineno": 58,
"id": "case",
"lineno": 58
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 58,
"id": "period",
"lineno": 58
}
],
"ast_class": "Call",
"col_offset": 18,
"end_col_offset": 44,
"end_lineno": 58,
"func": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 58,
"id": "foyer_fiscal",
"lineno": 58
},
"keywords": [],
"lineno": 58
},
"end_col_offset": 106,
"end_lineno": 58,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 57,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 74,
"end_lineno": 58,
"id": "range_year_report",
"lineno": 58
},
"target": {
"ast_class": "Name",
"col_offset": 49,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 53,
"end_lineno": 58,
"id": "year",
"lineno": 58
}
},
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Subscript",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 105,
"end_lineno": 58,
"lineno": 58,
"slice": {
"ast_class": "Name",
"col_offset": 100,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 104,
"end_lineno": 58,
"id": "year",
"lineno": 58
},
"value": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 58,
"id": "cases_report",
"lineno": 58
}
},
"target": {
"ast_class": "Name",
"col_offset": 79,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 83,
"end_lineno": 58,
"id": "case",
"lineno": 58
}
}
],
"lineno": 58
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 107,
"end_lineno": 58,
"func": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 58,
"id": "sum",
"lineno": 58
},
"keywords": [],
"lineno": 58
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 37,
"end_lineno": 60,
"lineno": 60,
"value": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 37,
"end_lineno": 60,
"left": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 60,
"id": "reduction_cumulee",
"lineno": 60
},
"lineno": 60,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 60,
"id": "report",
"lineno": 60
}
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 37,
"end_lineno": 60,
"lineno": 1,
"name": "formula_2019_01_01"
},
"documentation": "\nDuflot + Pinel + Denormandie\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_6_ans.taux_om",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_om",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.plafond"
],
"source_code": "def formula_2019_01_01(foyer_fiscal, period, parameters):\n '''\n Duflot + Pinel + Denormandie\n '''\n duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie\n\n cases_investissement = {\n 2019: [ # A compter de 2019, le plafonnement de la base de calcul est commun à tous les investissements réalisés\n ('f7ql_2019', 9, 'outremer'), # Pinel 2016\n ('f7qp', 9, 'outremer'), # Pinel 2017\n ('f7qu', 9, 'outremer'), # Pinel 2018\n ('f7qq', 9, 'outremer'), # Pinel 2019\n ('f7nd', 9, 'outremer'), # Denormandie\n ('f7qk_2019', 6, 'outremer'), # Pinel 2016\n ('f7qo', 6, 'outremer'), # Pinel 2017\n ('f7qt', 6, 'outremer'), # Pinel 2018\n ('f7qy', 6, 'outremer'), # Pinel\n ('f7nc', 6, 'outremer'), # Denormandie\n ('f7qj_2019', 9, 'metropole'), # Pinel 2016\n ('f7qn', 9, 'metropole'), # Pinel 2017\n ('f7qs', 9, 'metropole'), # Pinel 2018\n ('f7qx', 9, 'metropole'), # Pinel 2019\n ('f7nb', 9, 'metropole'), # Denormandie\n ('f7qi_2019', 6, 'metropole'), # Pinel 2016\n ('f7qm', 6, 'metropole'), # Pinel 2017\n ('f7qr', 6, 'metropole'), # Pinel 2018\n ('f7qw', 6, 'metropole'), # Pinel 2019\n ('f7na', 6, 'metropole')], # Denormandie\n }\n\n cases_report = {\n 2014: ['f7ci_2019', 'f7di'],\n 2015: ['f7dz', 'f7ez'],\n 2016: ['f7sz', 'f7tz'],\n 2017: ['f7rc', 'f7rd'],\n 2018: ['f7rg', 'f7rh'],\n }\n\n def calcul_reduction_investissement(cases):\n reduction = foyer_fiscal.empty_array()\n depenses_cumulees = foyer_fiscal.empty_array()\n for case in cases:\n variable, duree, zone = case\n depense = foyer_fiscal(variable, period)\n if zone == 'outremer':\n if duree == 9:\n reduction += around(duflot_pinel_denormandie.location_9_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n elif duree == 6:\n reduction += around(duflot_pinel_denormandie.location_6_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n depenses_cumulees += depense\n return reduction\n\n annee_fiscale = period.start.year\n range_year_investissement = list(set([year for year in range(2016, annee_fiscale + 1)]) & set([year for year in cases_investissement.keys()]))\n range_year_report = list(set([year for year in range(2014, annee_fiscale)]) & set([year for year in cases_report.keys()]))\n\n reduction_cumulee = sum([calcul_reduction_investissement(cases_investissement[year]) for year in range_year_investissement])\n report = sum([foyer_fiscal(case, period) for year in range_year_report for case in cases_report[year]])\n\n return reduction_cumulee + report\n",
"start_line_number": 723,
"stop_line_number": 783
},
"2020-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "foyer_fiscal",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 35,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 37,
"end_col_offset": 43,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 45,
"end_col_offset": 55,
"end_lineno": 1,
"lineno": 1
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Expr",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 6,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 6,
"lineno": 2,
"value": "\n Duflot + Pinel + Denormandie\n NB: it is not clear whether the extension of the Pinel investment should also\n count towards the ceiling of € 300K. I will assume it does.\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 140,
"end_lineno": 7,
"lineno": 7,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 28,
"end_lineno": 7,
"id": "duflot_pinel_denormandie",
"lineno": 7
}
],
"value": {
"ast_class": "Attribute",
"attr": "duflot_pinel_denormandie",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 140,
"end_lineno": 7,
"lineno": 7,
"value": {
"ast_class": "Attribute",
"attr": "investissements_immobiliers",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 115,
"end_lineno": 7,
"lineno": 7,
"value": {
"ast_class": "Attribute",
"attr": "calcul_reductions_impots",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 7,
"lineno": 7,
"value": {
"ast_class": "Attribute",
"attr": "impot_revenu",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 7,
"lineno": 7,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 7,
"id": "period",
"lineno": 7
}
],
"ast_class": "Call",
"col_offset": 31,
"end_col_offset": 49,
"end_lineno": 7,
"func": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 7,
"id": "parameters",
"lineno": 7
},
"keywords": [],
"lineno": 7
}
}
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 35,
"lineno": 9,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 24,
"end_lineno": 9,
"id": "cases_investissement",
"lineno": 9
}
],
"value": {
"ast_class": "Dict",
"col_offset": 27,
"end_col_offset": 9,
"end_lineno": 35,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 10,
"lineno": 10,
"value": 2019
}
],
"lineno": 9,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 11,
"lineno": 11,
"value": "f7qp"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 11,
"lineno": 11,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 11,
"lineno": 11,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 11,
"lineno": 11
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 12,
"lineno": 12,
"value": "f7qu"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 12,
"lineno": 12,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 12,
"lineno": 12,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 12,
"lineno": 12
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 13,
"lineno": 13,
"value": "f7qq"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 13,
"lineno": 13,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 13,
"lineno": 13,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 13,
"lineno": 13
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 14,
"lineno": 14,
"value": "f7nd"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 14,
"lineno": 14,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 14,
"lineno": 14,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 14,
"lineno": 14
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 15,
"lineno": 15,
"value": "f7qd"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 15,
"lineno": 15,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 15,
"lineno": 15,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 15,
"lineno": 15
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 16,
"lineno": 16,
"value": "f7nh"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 16,
"lineno": 16,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 16,
"lineno": 16,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 16,
"lineno": 16
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 17,
"lineno": 17,
"value": "f7qo"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 17,
"lineno": 17,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 17,
"lineno": 17,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 17,
"lineno": 17
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 18,
"lineno": 18,
"value": "f7qt"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 18,
"lineno": 18,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 18,
"lineno": 18,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 18,
"lineno": 18
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 19,
"lineno": 19,
"value": "f7qy"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 19,
"lineno": 19,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 19,
"lineno": 19,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 19,
"lineno": 19
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 20,
"lineno": 20,
"value": "f7nc"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 20,
"lineno": 20,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 20,
"lineno": 20,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 20,
"lineno": 20
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 21,
"lineno": 21,
"value": "f7qc"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 21,
"lineno": 21,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 21,
"lineno": 21,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 21,
"lineno": 21
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 22,
"lineno": 22,
"value": "f7ng"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 22,
"lineno": 22,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 22,
"lineno": 22,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 22,
"lineno": 22
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 23,
"lineno": 23,
"value": "f7qn"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 23,
"lineno": 23,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 23,
"lineno": 23,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 23,
"lineno": 23
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 24,
"lineno": 24,
"value": "f7qs"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 24,
"lineno": 24,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 24,
"lineno": 24,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 24,
"lineno": 24
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 25,
"lineno": 25,
"value": "f7qx"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 25,
"lineno": 25,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 25,
"lineno": 25,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 25,
"lineno": 25
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 26,
"lineno": 26,
"value": "f7nb"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 26,
"lineno": 26,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 26,
"lineno": 26,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 26,
"lineno": 26
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 27,
"lineno": 27,
"value": "f7qb"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 27,
"lineno": 27,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 27,
"lineno": 27,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 27,
"lineno": 27
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 28,
"lineno": 28,
"value": "f7nf"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 28,
"lineno": 28,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 28,
"lineno": 28,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 28,
"lineno": 28
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 29,
"lineno": 29,
"value": "f7qm"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 29,
"lineno": 29,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 29,
"lineno": 29,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 29,
"lineno": 29
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 30,
"lineno": 30,
"value": "f7qr"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 30,
"lineno": 30,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 30,
"lineno": 30,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 30,
"lineno": 30
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 31,
"lineno": 31,
"value": "f7qw"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 31,
"lineno": 31,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 31,
"lineno": 31,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 31,
"lineno": 31
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 32,
"lineno": 32,
"value": "f7na"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 32,
"lineno": 32,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 32,
"lineno": 32,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 32,
"lineno": 32
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 33,
"lineno": 33,
"value": "f7qa"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 33,
"lineno": 33,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 33,
"lineno": 33,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 33,
"lineno": 33
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 34,
"lineno": 34,
"value": "f7ne"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 34,
"lineno": 34,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 34,
"lineno": 34,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 34,
"lineno": 34
}
],
"end_col_offset": 37,
"end_lineno": 34,
"lineno": 10
}
]
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 44,
"lineno": 37,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 37,
"id": "cases_report",
"lineno": 37
}
],
"value": {
"ast_class": "Dict",
"col_offset": 19,
"end_col_offset": 9,
"end_lineno": 44,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 38,
"lineno": 38,
"value": 2014
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 39,
"lineno": 39,
"value": 2015
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 40,
"lineno": 40,
"value": 2016
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 41,
"lineno": 41,
"value": 2017
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 42,
"lineno": 42,
"value": 2018
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 43,
"lineno": 43,
"value": 2019
}
],
"lineno": 37,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 38,
"lineno": 38,
"value": "f7di"
}
],
"end_col_offset": 22,
"end_lineno": 38,
"lineno": 38
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 39,
"lineno": 39,
"value": "f7dz"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 39,
"lineno": 39,
"value": "f7ez"
}
],
"end_col_offset": 30,
"end_lineno": 39,
"lineno": 39
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 40,
"lineno": 40,
"value": "f7sz"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 40,
"lineno": 40,
"value": "f7tz"
}
],
"end_col_offset": 30,
"end_lineno": 40,
"lineno": 40
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 41,
"lineno": 41,
"value": "f7rc"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 41,
"lineno": 41,
"value": "f7rd"
}
],
"end_col_offset": 30,
"end_lineno": 41,
"lineno": 41
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 42,
"lineno": 42,
"value": "f7rg"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 42,
"lineno": 42,
"value": "f7rh"
}
],
"end_col_offset": 30,
"end_lineno": 42,
"lineno": 42
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 43,
"lineno": 43,
"value": "f7lm"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 43,
"lineno": 43,
"value": "f7mm"
},
{
"ast_class": "Constant",
"col_offset": 31,
"end_col_offset": 37,
"end_lineno": 43,
"lineno": 43,
"value": "f7jc"
},
{
"ast_class": "Constant",
"col_offset": 39,
"end_col_offset": 45,
"end_lineno": 43,
"lineno": 43,
"value": "f7jd"
}
],
"end_col_offset": 46,
"end_lineno": 43,
"lineno": 43
}
]
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 47,
"lineno": 47,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 47,
"id": "f7rs",
"lineno": 47
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 47,
"lineno": 47,
"value": "f7rs"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 47,
"id": "period",
"lineno": 47
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 47,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 47,
"id": "foyer_fiscal",
"lineno": 47
},
"keywords": [],
"lineno": 47
}
},
{
"args": {
"args": [
{
"arg": "cases",
"ast_class": "arg",
"col_offset": 40,
"end_col_offset": 45,
"end_lineno": 49,
"lineno": 49
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 46,
"end_lineno": 50,
"lineno": 50,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 50,
"id": "reduction",
"lineno": 50
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 20,
"end_col_offset": 46,
"end_lineno": 50,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 44,
"end_lineno": 50,
"lineno": 50,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 50,
"id": "foyer_fiscal",
"lineno": 50
}
},
"keywords": [],
"lineno": 50
}
},
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 54,
"end_lineno": 51,
"lineno": 51,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 25,
"end_lineno": 51,
"id": "depenses_cumulees",
"lineno": 51
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 28,
"end_col_offset": 54,
"end_lineno": 51,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 52,
"end_lineno": 51,
"lineno": 51,
"value": {
"ast_class": "Name",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 51,
"id": "foyer_fiscal",
"lineno": 51
}
},
"keywords": [],
"lineno": 51
}
},
{
"ast_class": "For",
"body": [
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 53,
"lineno": 53,
"targets": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"elts": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 20,
"end_lineno": 53,
"id": "variable",
"lineno": 53
},
{
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 27,
"end_lineno": 53,
"id": "duree",
"lineno": 53
},
{
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 33,
"end_lineno": 53,
"id": "zone",
"lineno": 53
}
],
"end_col_offset": 33,
"end_lineno": 53,
"lineno": 53
}
],
"value": {
"ast_class": "Name",
"col_offset": 36,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 53,
"id": "case",
"lineno": 53
}
},
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 52,
"end_lineno": 54,
"lineno": 54,
"targets": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 19,
"end_lineno": 54,
"id": "depense",
"lineno": 54
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 54,
"id": "variable",
"lineno": 54
},
{
"ast_class": "Name",
"col_offset": 45,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 54,
"id": "period",
"lineno": 54
}
],
"ast_class": "Call",
"col_offset": 22,
"end_col_offset": 52,
"end_lineno": 54,
"func": {
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 34,
"end_lineno": 54,
"id": "foyer_fiscal",
"lineno": 54
},
"keywords": [],
"lineno": 54
}
},
{
"ast_class": "If",
"body": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 175,
"end_lineno": 57,
"lineno": 57,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 57,
"id": "reduction",
"lineno": 57
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 174,
"end_lineno": 57,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 166,
"end_lineno": 57,
"left": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 57,
"lineno": 57,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 57,
"lineno": 57,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 57,
"id": "duflot_pinel_denormandie",
"lineno": 57
}
}
},
"lineno": 57,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 100,
"end_col_offset": 101,
"end_lineno": 57,
"lineno": 57,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 103,
"end_col_offset": 155,
"end_lineno": 57,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 135,
"end_lineno": 57,
"lineno": 57,
"value": {
"ast_class": "Name",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 127,
"end_lineno": 57,
"id": "duflot_pinel_denormandie",
"lineno": 57
}
},
"lineno": 57,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 138,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 155,
"end_lineno": 57,
"id": "depenses_cumulees",
"lineno": 57
}
}
],
"ast_class": "Call",
"col_offset": 95,
"end_col_offset": 156,
"end_lineno": 57,
"func": {
"ast_class": "Name",
"col_offset": 95,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 57,
"id": "max_",
"lineno": 57
},
"keywords": [],
"lineno": 57
},
{
"ast_class": "Name",
"col_offset": 158,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 165,
"end_lineno": 57,
"id": "depense",
"lineno": 57
}
],
"ast_class": "Call",
"col_offset": 90,
"end_col_offset": 166,
"end_lineno": 57,
"func": {
"ast_class": "Name",
"col_offset": 90,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 94,
"end_lineno": 57,
"id": "min_",
"lineno": 57
},
"keywords": [],
"lineno": 57
}
},
"lineno": 57,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 169,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 174,
"end_lineno": 57,
"id": "duree",
"lineno": 57
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 175,
"end_lineno": 57,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 57,
"id": "around",
"lineno": 57
},
"keywords": [],
"lineno": 57
}
}
],
"col_offset": 16,
"end_col_offset": 175,
"end_lineno": 59,
"lineno": 56,
"orelse": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 175,
"end_lineno": 59,
"lineno": 59,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 59,
"id": "reduction",
"lineno": 59
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 174,
"end_lineno": 59,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 166,
"end_lineno": 59,
"left": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 59,
"lineno": 59,
"value": {
"ast_class": "Attribute",
"attr": "location_6_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 59,
"lineno": 59,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 59,
"id": "duflot_pinel_denormandie",
"lineno": 59
}
}
},
"lineno": 59,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 100,
"end_col_offset": 101,
"end_lineno": 59,
"lineno": 59,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 103,
"end_col_offset": 155,
"end_lineno": 59,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 135,
"end_lineno": 59,
"lineno": 59,
"value": {
"ast_class": "Name",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 127,
"end_lineno": 59,
"id": "duflot_pinel_denormandie",
"lineno": 59
}
},
"lineno": 59,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 138,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 155,
"end_lineno": 59,
"id": "depenses_cumulees",
"lineno": 59
}
}
],
"ast_class": "Call",
"col_offset": 95,
"end_col_offset": 156,
"end_lineno": 59,
"func": {
"ast_class": "Name",
"col_offset": 95,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 59,
"id": "max_",
"lineno": 59
},
"keywords": [],
"lineno": 59
},
{
"ast_class": "Name",
"col_offset": 158,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 165,
"end_lineno": 59,
"id": "depense",
"lineno": 59
}
],
"ast_class": "Call",
"col_offset": 90,
"end_col_offset": 166,
"end_lineno": 59,
"func": {
"ast_class": "Name",
"col_offset": 90,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 94,
"end_lineno": 59,
"id": "min_",
"lineno": 59
},
"keywords": [],
"lineno": 59
}
},
"lineno": 59,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 169,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 174,
"end_lineno": 59,
"id": "duree",
"lineno": 59
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 175,
"end_lineno": 59,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 59,
"id": "around",
"lineno": 59
},
"keywords": [],
"lineno": 59
}
}
],
"col_offset": 16,
"end_col_offset": 175,
"end_lineno": 59,
"lineno": 58,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 21,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 30,
"end_col_offset": 31,
"end_lineno": 58,
"lineno": 58,
"value": 6
}
],
"end_col_offset": 31,
"end_lineno": 58,
"left": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 58,
"id": "duree",
"lineno": 58
},
"lineno": 58,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"test": {
"ast_class": "Compare",
"col_offset": 19,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 28,
"end_col_offset": 29,
"end_lineno": 56,
"lineno": 56,
"value": 9
}
],
"end_col_offset": 29,
"end_lineno": 56,
"left": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 56,
"id": "duree",
"lineno": 56
},
"lineno": 56,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"col_offset": 12,
"end_col_offset": 175,
"end_lineno": 59,
"lineno": 55,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 15,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 33,
"end_lineno": 55,
"lineno": 55,
"value": "outremer"
}
],
"end_col_offset": 33,
"end_lineno": 55,
"left": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 19,
"end_lineno": 55,
"id": "zone",
"lineno": 55
},
"lineno": 55,
"ops": [
{
"ast_class": "Eq"
}
]
}
},
{
"ast_class": "AugAssign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 60,
"lineno": 60,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 60,
"id": "depenses_cumulees",
"lineno": 60
},
"value": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 60,
"id": "depense",
"lineno": 60
}
}
],
"col_offset": 8,
"end_col_offset": 40,
"end_lineno": 60,
"iter": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 52,
"id": "cases",
"lineno": 52
},
"lineno": 52,
"orelse": [],
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 52,
"id": "case",
"lineno": 52
}
},
{
"ast_class": "Return",
"col_offset": 8,
"end_col_offset": 24,
"end_lineno": 61,
"lineno": 61,
"value": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 61,
"id": "reduction",
"lineno": 61
}
}
],
"col_offset": 4,
"decorator_list": [],
"end_col_offset": 24,
"end_lineno": 61,
"lineno": 49,
"name": "calcul_reduction_investissement"
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 37,
"end_lineno": 63,
"lineno": 63,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 63,
"id": "annee_fiscale",
"lineno": 63
}
],
"value": {
"ast_class": "Attribute",
"attr": "year",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 63,
"lineno": 63,
"value": {
"ast_class": "Attribute",
"attr": "start",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 63,
"lineno": 63,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 63,
"id": "period",
"lineno": 63
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 146,
"end_lineno": 64,
"lineno": 64,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 64,
"id": "range_year_investissement",
"lineno": 64
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 37,
"end_col_offset": 145,
"end_lineno": 64,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 41,
"elt": {
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 46,
"end_lineno": 64,
"id": "year",
"lineno": 64
},
"end_col_offset": 90,
"end_lineno": 64,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 65,
"end_col_offset": 69,
"end_lineno": 64,
"lineno": 64,
"value": 2016
},
{
"ast_class": "BinOp",
"col_offset": 71,
"end_col_offset": 88,
"end_lineno": 64,
"left": {
"ast_class": "Name",
"col_offset": 71,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 84,
"end_lineno": 64,
"id": "annee_fiscale",
"lineno": 64
},
"lineno": 64,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Constant",
"col_offset": 87,
"end_col_offset": 88,
"end_lineno": 64,
"lineno": 64,
"value": 1
}
}
],
"ast_class": "Call",
"col_offset": 59,
"end_col_offset": 89,
"end_lineno": 64,
"func": {
"ast_class": "Name",
"col_offset": 59,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 64,
"id": "range",
"lineno": 64
},
"keywords": [],
"lineno": 64
},
"target": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 55,
"end_lineno": 64,
"id": "year",
"lineno": 64
}
}
],
"lineno": 64
}
],
"ast_class": "Call",
"col_offset": 37,
"end_col_offset": 91,
"end_lineno": 64,
"func": {
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 64,
"id": "set",
"lineno": 64
},
"keywords": [],
"lineno": 64
},
"lineno": 64,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 98,
"elt": {
"ast_class": "Name",
"col_offset": 99,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 103,
"end_lineno": 64,
"id": "year",
"lineno": 64
},
"end_col_offset": 144,
"end_lineno": 64,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 116,
"end_col_offset": 143,
"end_lineno": 64,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 141,
"end_lineno": 64,
"lineno": 64,
"value": {
"ast_class": "Name",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 136,
"end_lineno": 64,
"id": "cases_investissement",
"lineno": 64
}
},
"keywords": [],
"lineno": 64
},
"target": {
"ast_class": "Name",
"col_offset": 108,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 112,
"end_lineno": 64,
"id": "year",
"lineno": 64
}
}
],
"lineno": 64
}
],
"ast_class": "Call",
"col_offset": 94,
"end_col_offset": 145,
"end_lineno": 64,
"func": {
"ast_class": "Name",
"col_offset": 94,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 64,
"id": "set",
"lineno": 64
},
"keywords": [],
"lineno": 64
}
}
],
"ast_class": "Call",
"col_offset": 32,
"end_col_offset": 146,
"end_lineno": 64,
"func": {
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 36,
"end_lineno": 64,
"id": "list",
"lineno": 64
},
"keywords": [],
"lineno": 64
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 126,
"end_lineno": 65,
"lineno": 65,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 65,
"id": "range_year_report",
"lineno": 65
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 29,
"end_col_offset": 125,
"end_lineno": 65,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 33,
"elt": {
"ast_class": "Name",
"col_offset": 34,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 65,
"id": "year",
"lineno": 65
},
"end_col_offset": 78,
"end_lineno": 65,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 57,
"end_col_offset": 61,
"end_lineno": 65,
"lineno": 65,
"value": 2014
},
{
"ast_class": "Name",
"col_offset": 63,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 76,
"end_lineno": 65,
"id": "annee_fiscale",
"lineno": 65
}
],
"ast_class": "Call",
"col_offset": 51,
"end_col_offset": 77,
"end_lineno": 65,
"func": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 65,
"id": "range",
"lineno": 65
},
"keywords": [],
"lineno": 65
},
"target": {
"ast_class": "Name",
"col_offset": 43,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 47,
"end_lineno": 65,
"id": "year",
"lineno": 65
}
}
],
"lineno": 65
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 79,
"end_lineno": 65,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 65,
"id": "set",
"lineno": 65
},
"keywords": [],
"lineno": 65
},
"lineno": 65,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 86,
"elt": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 91,
"end_lineno": 65,
"id": "year",
"lineno": 65
},
"end_col_offset": 124,
"end_lineno": 65,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 104,
"end_col_offset": 123,
"end_lineno": 65,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 121,
"end_lineno": 65,
"lineno": 65,
"value": {
"ast_class": "Name",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 116,
"end_lineno": 65,
"id": "cases_report",
"lineno": 65
}
},
"keywords": [],
"lineno": 65
},
"target": {
"ast_class": "Name",
"col_offset": 96,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 100,
"end_lineno": 65,
"id": "year",
"lineno": 65
}
}
],
"lineno": 65
}
],
"ast_class": "Call",
"col_offset": 82,
"end_col_offset": 125,
"end_lineno": 65,
"func": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 85,
"end_lineno": 65,
"id": "set",
"lineno": 65
},
"keywords": [],
"lineno": 65
}
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 126,
"end_lineno": 65,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 65,
"id": "list",
"lineno": 65
},
"keywords": [],
"lineno": 65
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 128,
"end_lineno": 67,
"lineno": 67,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 67,
"id": "reduction_cumulee",
"lineno": 67
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 28,
"elt": {
"args": [
{
"ast_class": "Subscript",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 67,
"lineno": 67,
"slice": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 86,
"end_lineno": 67,
"id": "year",
"lineno": 67
},
"value": {
"ast_class": "Name",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 81,
"end_lineno": 67,
"id": "cases_investissement",
"lineno": 67
}
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 88,
"end_lineno": 67,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 60,
"end_lineno": 67,
"id": "calcul_reduction_investissement",
"lineno": 67
},
"keywords": [],
"lineno": 67
},
"end_col_offset": 127,
"end_lineno": 67,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 101,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 126,
"end_lineno": 67,
"id": "range_year_investissement",
"lineno": 67
},
"target": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 97,
"end_lineno": 67,
"id": "year",
"lineno": 67
}
}
],
"lineno": 67
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 128,
"end_lineno": 67,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 67,
"id": "sum",
"lineno": 67
},
"keywords": [],
"lineno": 67
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 107,
"end_lineno": 68,
"lineno": 68,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 68,
"id": "report",
"lineno": 68
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 17,
"elt": {
"args": [
{
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 35,
"end_lineno": 68,
"id": "case",
"lineno": 68
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 68,
"id": "period",
"lineno": 68
}
],
"ast_class": "Call",
"col_offset": 18,
"end_col_offset": 44,
"end_lineno": 68,
"func": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 68,
"id": "foyer_fiscal",
"lineno": 68
},
"keywords": [],
"lineno": 68
},
"end_col_offset": 106,
"end_lineno": 68,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 57,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 74,
"end_lineno": 68,
"id": "range_year_report",
"lineno": 68
},
"target": {
"ast_class": "Name",
"col_offset": 49,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 53,
"end_lineno": 68,
"id": "year",
"lineno": 68
}
},
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Subscript",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 105,
"end_lineno": 68,
"lineno": 68,
"slice": {
"ast_class": "Name",
"col_offset": 100,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 104,
"end_lineno": 68,
"id": "year",
"lineno": 68
},
"value": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 68,
"id": "cases_report",
"lineno": 68
}
},
"target": {
"ast_class": "Name",
"col_offset": 79,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 83,
"end_lineno": 68,
"id": "case",
"lineno": 68
}
}
],
"lineno": 68
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 107,
"end_lineno": 68,
"func": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 68,
"id": "sum",
"lineno": 68
},
"keywords": [],
"lineno": 68
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 138,
"end_lineno": 70,
"lineno": 70,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 15,
"end_lineno": 70,
"id": "prorogation",
"lineno": 70
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 25,
"end_col_offset": 137,
"end_lineno": 70,
"left": {
"ast_class": "BinOp",
"col_offset": 25,
"end_col_offset": 133,
"end_lineno": 70,
"left": {
"args": [
{
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 30,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 70,
"lineno": 70,
"value": {
"ast_class": "Name",
"col_offset": 30,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 54,
"end_lineno": 70,
"id": "duflot_pinel_denormandie",
"lineno": 70
}
},
{
"ast_class": "Name",
"col_offset": 64,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 68,
"end_lineno": 70,
"id": "f7rs",
"lineno": 70
}
],
"ast_class": "Call",
"col_offset": 25,
"end_col_offset": 69,
"end_lineno": 70,
"func": {
"ast_class": "Name",
"col_offset": 25,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 29,
"end_lineno": 70,
"id": "min_",
"lineno": 70
},
"keywords": [],
"lineno": 70
},
"lineno": 70,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Attribute",
"attr": "taux_prolong1_6ans",
"col_offset": 72,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 133,
"end_lineno": 70,
"lineno": 70,
"value": {
"ast_class": "Attribute",
"attr": "taux_prolongation",
"col_offset": 72,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 114,
"end_lineno": 70,
"lineno": 70,
"value": {
"ast_class": "Name",
"col_offset": 72,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 96,
"end_lineno": 70,
"id": "duflot_pinel_denormandie",
"lineno": 70
}
}
}
},
"lineno": 70,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 136,
"end_col_offset": 137,
"end_lineno": 70,
"lineno": 70,
"value": 3
}
}
],
"ast_class": "Call",
"col_offset": 18,
"end_col_offset": 138,
"end_lineno": 70,
"func": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 70,
"id": "around",
"lineno": 70
},
"keywords": [],
"lineno": 70
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 51,
"end_lineno": 72,
"lineno": 72,
"value": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 51,
"end_lineno": 72,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 37,
"end_lineno": 72,
"left": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 72,
"id": "reduction_cumulee",
"lineno": 72
},
"lineno": 72,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 72,
"id": "report",
"lineno": 72
}
},
"lineno": 72,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 72,
"id": "prorogation",
"lineno": 72
}
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 51,
"end_lineno": 72,
"lineno": 1,
"name": "formula_2020_01_01"
},
"documentation": "\nDuflot + Pinel + Denormandie\nNB: it is not clear whether the extension of the Pinel investment should also\ncount towards the ceiling of € 300K. I will assume it does.\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_6_ans.taux_om",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_om",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.plafond",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans"
],
"source_code": "def formula_2020_01_01(foyer_fiscal, period, parameters):\n '''\n Duflot + Pinel + Denormandie\n NB: it is not clear whether the extension of the Pinel investment should also\n count towards the ceiling of € 300K. I will assume it does.\n '''\n duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie\n\n cases_investissement = {\n 2019: [ # A compter de 2019, le plafonnement de la base de calcul est commun à tous les investissements réalisés\n ('f7qp', 9, 'outremer'), # Pinel 2017\n ('f7qu', 9, 'outremer'), # Pinel 2018\n ('f7qq', 9, 'outremer'), # Pinel 2019\n ('f7nd', 9, 'outremer'), # Denormandie 2019\n ('f7qd', 9, 'outremer'), # Pinel 2020\n ('f7nh', 9, 'outremer'), # Denormandie 2020\n ('f7qo', 6, 'outremer'), # Pinel 2017\n ('f7qt', 6, 'outremer'), # Pinel 2018\n ('f7qy', 6, 'outremer'), # Pinel 2019\n ('f7nc', 6, 'outremer'), # Denormandie 2019\n ('f7qc', 6, 'outremer'), # Pinel 2020\n ('f7ng', 6, 'outremer'), # Denormandie 2020\n ('f7qn', 9, 'metropole'), # Pinel 2017\n ('f7qs', 9, 'metropole'), # Pinel 2018\n ('f7qx', 9, 'metropole'), # Pinel 2019\n ('f7nb', 9, 'metropole'), # Denormandie 2019\n ('f7qb', 9, 'metropole'), # Pinel 2020\n ('f7nf', 9, 'metropole'), # Denormandie 2020\n ('f7qm', 6, 'metropole'), # Pinel 2017\n ('f7qr', 6, 'metropole'), # Pinel 2018\n ('f7qw', 6, 'metropole'), # Pinel 2019\n ('f7na', 6, 'metropole'), # Denormandie 2019\n ('f7qa', 6, 'metropole'), # Pinel 2020\n ('f7ne', 6, 'metropole')], # Denormandie 2020\n }\n\n cases_report = {\n 2014: ['f7di'],\n 2015: ['f7dz', 'f7ez'],\n 2016: ['f7sz', 'f7tz'],\n 2017: ['f7rc', 'f7rd'],\n 2018: ['f7rg', 'f7rh'],\n 2019: ['f7lm', 'f7mm', 'f7jc', 'f7jd'], # Pinel et Denormandie\n }\n\n # Première prorogation, 6 ans, 2014\n f7rs = foyer_fiscal('f7rs', period) # Outre-Mer, 6 ans\n\n def calcul_reduction_investissement(cases):\n reduction = foyer_fiscal.empty_array()\n depenses_cumulees = foyer_fiscal.empty_array()\n for case in cases:\n variable, duree, zone = case\n depense = foyer_fiscal(variable, period)\n if zone == 'outremer':\n if duree == 9:\n reduction += around(duflot_pinel_denormandie.location_9_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n elif duree == 6:\n reduction += around(duflot_pinel_denormandie.location_6_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n depenses_cumulees += depense\n return reduction\n\n annee_fiscale = period.start.year\n range_year_investissement = list(set([year for year in range(2016, annee_fiscale + 1)]) & set([year for year in cases_investissement.keys()]))\n range_year_report = list(set([year for year in range(2014, annee_fiscale)]) & set([year for year in cases_report.keys()]))\n\n reduction_cumulee = sum([calcul_reduction_investissement(cases_investissement[year]) for year in range_year_investissement])\n report = sum([foyer_fiscal(case, period) for year in range_year_report for case in cases_report[year]])\n\n prorogation = around(min_(duflot_pinel_denormandie.plafond, f7rs) * duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans / 3)\n\n return reduction_cumulee + report + prorogation\n",
"start_line_number": 784,
"stop_line_number": 856,
"variables": [
"f7rs"
]
},
"2021-01-01": {
"ast": {
"args": {
"args": [
{
"arg": "foyer_fiscal",
"ast_class": "arg",
"col_offset": 23,
"end_col_offset": 35,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "period",
"ast_class": "arg",
"col_offset": 37,
"end_col_offset": 43,
"end_lineno": 1,
"lineno": 1
},
{
"arg": "parameters",
"ast_class": "arg",
"col_offset": 45,
"end_col_offset": 55,
"end_lineno": 1,
"lineno": 1
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Expr",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": {
"ast_class": "Constant",
"col_offset": 4,
"end_col_offset": 7,
"end_lineno": 4,
"lineno": 2,
"value": "\n Duflot + Pinel + Denormandie\n "
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 140,
"end_lineno": 5,
"lineno": 5,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 28,
"end_lineno": 5,
"id": "duflot_pinel_denormandie",
"lineno": 5
}
],
"value": {
"ast_class": "Attribute",
"attr": "duflot_pinel_denormandie",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 140,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "investissements_immobiliers",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 115,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "calcul_reductions_impots",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 5,
"lineno": 5,
"value": {
"ast_class": "Attribute",
"attr": "impot_revenu",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 62,
"end_lineno": 5,
"lineno": 5,
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 48,
"end_lineno": 5,
"id": "period",
"lineno": 5
}
],
"ast_class": "Call",
"col_offset": 31,
"end_col_offset": 49,
"end_lineno": 5,
"func": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 41,
"end_lineno": 5,
"id": "parameters",
"lineno": 5
},
"keywords": [],
"lineno": 5
}
}
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 36,
"lineno": 7,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 24,
"end_lineno": 7,
"id": "cases_investissement",
"lineno": 7
}
],
"value": {
"ast_class": "Dict",
"col_offset": 27,
"end_col_offset": 9,
"end_lineno": 36,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 8,
"lineno": 8,
"value": 2019
}
],
"lineno": 7,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 9,
"lineno": 9,
"value": "f7qq"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 9,
"lineno": 9,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 9,
"lineno": 9,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 9,
"lineno": 9
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 10,
"lineno": 10,
"value": "f7nd"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 10,
"lineno": 10,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 10,
"lineno": 10,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 10,
"lineno": 10
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 11,
"lineno": 11,
"value": "f7qd"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 11,
"lineno": 11,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 11,
"lineno": 11,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 11,
"lineno": 11
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 12,
"lineno": 12,
"value": "f7nh"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 12,
"lineno": 12,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 12,
"lineno": 12,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 12,
"lineno": 12
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 13,
"lineno": 13,
"value": "f7ql"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 13,
"lineno": 13,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 13,
"lineno": 13,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 13,
"lineno": 13
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 14,
"lineno": 14,
"value": "f7nl"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 14,
"lineno": 14,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 14,
"lineno": 14,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 14,
"lineno": 14
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 15,
"lineno": 15,
"value": "f7qt"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 15,
"lineno": 15,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 15,
"lineno": 15,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 15,
"lineno": 15
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 16,
"lineno": 16,
"value": "f7qy"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 16,
"lineno": 16,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 16,
"lineno": 16,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 16,
"lineno": 16
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 17,
"lineno": 17,
"value": "f7nc"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 17,
"lineno": 17,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 17,
"lineno": 17,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 17,
"lineno": 17
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 18,
"lineno": 18,
"value": "f7qc"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 18,
"lineno": 18,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 18,
"lineno": 18,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 18,
"lineno": 18
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 19,
"lineno": 19,
"value": "f7ng"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 19,
"lineno": 19,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 19,
"lineno": 19,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 19,
"lineno": 19
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 20,
"lineno": 20,
"value": "f7qk"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 20,
"lineno": 20,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 20,
"lineno": 20,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 20,
"lineno": 20
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 21,
"lineno": 21,
"value": "f7nk"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 21,
"lineno": 21,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 34,
"end_lineno": 21,
"lineno": 21,
"value": "outremer"
}
],
"end_col_offset": 35,
"end_lineno": 21,
"lineno": 21
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 22,
"lineno": 22,
"value": "f7qs"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 22,
"lineno": 22,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 22,
"lineno": 22,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 22,
"lineno": 22
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 23,
"lineno": 23,
"value": "f7qx"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 23,
"lineno": 23,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 23,
"lineno": 23,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 23,
"lineno": 23
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 24,
"lineno": 24,
"value": "f7nb"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 24,
"lineno": 24,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 24,
"lineno": 24,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 24,
"lineno": 24
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 25,
"lineno": 25,
"value": "f7qb"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 25,
"lineno": 25,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 25,
"lineno": 25,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 25,
"lineno": 25
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 26,
"lineno": 26,
"value": "f7nf"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 26,
"lineno": 26,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 26,
"lineno": 26,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 26,
"lineno": 26
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 27,
"lineno": 27,
"value": "f7qj"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 27,
"lineno": 27,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 27,
"lineno": 27,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 27,
"lineno": 27
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 28,
"lineno": 28,
"value": "f7nj"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 28,
"lineno": 28,
"value": 9
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 28,
"lineno": 28,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 28,
"lineno": 28
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 29,
"lineno": 29,
"value": "f7qr"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 29,
"lineno": 29,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 29,
"lineno": 29,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 29,
"lineno": 29
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 30,
"lineno": 30,
"value": "f7qw"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 30,
"lineno": 30,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 30,
"lineno": 30,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 30,
"lineno": 30
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 31,
"lineno": 31,
"value": "f7na"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 31,
"lineno": 31,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 31,
"lineno": 31,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 31,
"lineno": 31
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 32,
"lineno": 32,
"value": "f7qa"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 32,
"lineno": 32,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 32,
"lineno": 32,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 32,
"lineno": 32
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 33,
"lineno": 33,
"value": "f7ne"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 33,
"lineno": 33,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 33,
"lineno": 33,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 33,
"lineno": 33
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 34,
"lineno": 34,
"value": "f7qi"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 34,
"lineno": 34,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 34,
"lineno": 34,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 34,
"lineno": 34
},
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 13,
"end_col_offset": 19,
"end_lineno": 35,
"lineno": 35,
"value": "f7ni"
},
{
"ast_class": "Constant",
"col_offset": 21,
"end_col_offset": 22,
"end_lineno": 35,
"lineno": 35,
"value": 6
},
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 35,
"end_lineno": 35,
"lineno": 35,
"value": "metropole"
}
],
"end_col_offset": 36,
"end_lineno": 35,
"lineno": 35
}
],
"end_col_offset": 37,
"end_lineno": 35,
"lineno": 8
}
]
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 9,
"end_lineno": 46,
"lineno": 38,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 38,
"id": "cases_report",
"lineno": 38
}
],
"value": {
"ast_class": "Dict",
"col_offset": 19,
"end_col_offset": 9,
"end_lineno": 46,
"keys": [
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 39,
"lineno": 39,
"value": 2014
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 40,
"lineno": 40,
"value": 2015
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 41,
"lineno": 41,
"value": 2016
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 42,
"lineno": 42,
"value": 2017
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 43,
"lineno": 43,
"value": 2018
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 44,
"lineno": 44,
"value": 2019
},
{
"ast_class": "Constant",
"col_offset": 8,
"end_col_offset": 12,
"end_lineno": 45,
"lineno": 45,
"value": 2020
}
],
"lineno": 38,
"values": [
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 39,
"lineno": 39,
"value": "f7di"
}
],
"end_col_offset": 22,
"end_lineno": 39,
"lineno": 39
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 40,
"lineno": 40,
"value": "f7ez"
}
],
"end_col_offset": 22,
"end_lineno": 40,
"lineno": 40
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 41,
"lineno": 41,
"value": "f7sz"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 41,
"lineno": 41,
"value": "f7tz"
}
],
"end_col_offset": 30,
"end_lineno": 41,
"lineno": 41
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 42,
"lineno": 42,
"value": "f7rc"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 42,
"lineno": 42,
"value": "f7rd"
}
],
"end_col_offset": 30,
"end_lineno": 42,
"lineno": 42
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 43,
"lineno": 43,
"value": "f7rg"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 43,
"lineno": 43,
"value": "f7rh"
}
],
"end_col_offset": 30,
"end_lineno": 43,
"lineno": 43
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 44,
"lineno": 44,
"value": "f7lm"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 44,
"lineno": 44,
"value": "f7mm"
},
{
"ast_class": "Constant",
"col_offset": 31,
"end_col_offset": 37,
"end_lineno": 44,
"lineno": 44,
"value": "f7jc"
},
{
"ast_class": "Constant",
"col_offset": 39,
"end_col_offset": 45,
"end_lineno": 44,
"lineno": 44,
"value": "f7jd"
}
],
"end_col_offset": 46,
"end_lineno": 44,
"lineno": 44
},
{
"ast_class": "List",
"col_offset": 14,
"ctx": {
"ast_class": "Load"
},
"elts": [
{
"ast_class": "Constant",
"col_offset": 15,
"end_col_offset": 21,
"end_lineno": 45,
"lineno": 45,
"value": "f7jp"
},
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 29,
"end_lineno": 45,
"lineno": 45,
"value": "f7jq"
},
{
"ast_class": "Constant",
"col_offset": 31,
"end_col_offset": 37,
"end_lineno": 45,
"lineno": 45,
"value": "f7jt"
},
{
"ast_class": "Constant",
"col_offset": 39,
"end_col_offset": 45,
"end_lineno": 45,
"lineno": 45,
"value": "f7ju"
}
],
"end_col_offset": 46,
"end_lineno": 45,
"lineno": 45
}
]
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 49,
"lineno": 49,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 49,
"id": "f7rs",
"lineno": 49
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 49,
"lineno": 49,
"value": "f7rs"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 49,
"id": "period",
"lineno": 49
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 49,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 49,
"id": "foyer_fiscal",
"lineno": 49
},
"keywords": [],
"lineno": 49
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 50,
"lineno": 50,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 50,
"id": "f7ry",
"lineno": 50
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 50,
"lineno": 50,
"value": "f7ry"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 50,
"id": "period",
"lineno": 50
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 50,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 50,
"id": "foyer_fiscal",
"lineno": 50
},
"keywords": [],
"lineno": 50
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 39,
"end_lineno": 53,
"lineno": 53,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 8,
"end_lineno": 53,
"id": "f7sy",
"lineno": 53
}
],
"value": {
"args": [
{
"ast_class": "Constant",
"col_offset": 24,
"end_col_offset": 30,
"end_lineno": 53,
"lineno": 53,
"value": "f7sy"
},
{
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 53,
"id": "period",
"lineno": 53
}
],
"ast_class": "Call",
"col_offset": 11,
"end_col_offset": 39,
"end_lineno": 53,
"func": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 23,
"end_lineno": 53,
"id": "foyer_fiscal",
"lineno": 53
},
"keywords": [],
"lineno": 53
}
},
{
"args": {
"args": [
{
"arg": "cases",
"ast_class": "arg",
"col_offset": 40,
"end_col_offset": 45,
"end_lineno": 55,
"lineno": 55
}
],
"ast_class": "arguments",
"defaults": [],
"kw_defaults": [],
"kwonlyargs": [],
"posonlyargs": []
},
"ast_class": "FunctionDef",
"body": [
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 46,
"end_lineno": 56,
"lineno": 56,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 56,
"id": "reduction",
"lineno": 56
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 20,
"end_col_offset": 46,
"end_lineno": 56,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 44,
"end_lineno": 56,
"lineno": 56,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 56,
"id": "foyer_fiscal",
"lineno": 56
}
},
"keywords": [],
"lineno": 56
}
},
{
"ast_class": "Assign",
"col_offset": 8,
"end_col_offset": 54,
"end_lineno": 57,
"lineno": 57,
"targets": [
{
"ast_class": "Name",
"col_offset": 8,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 25,
"end_lineno": 57,
"id": "depenses_cumulees",
"lineno": 57
}
],
"value": {
"args": [],
"ast_class": "Call",
"col_offset": 28,
"end_col_offset": 54,
"end_lineno": 57,
"func": {
"ast_class": "Attribute",
"attr": "empty_array",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 52,
"end_lineno": 57,
"lineno": 57,
"value": {
"ast_class": "Name",
"col_offset": 28,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 57,
"id": "foyer_fiscal",
"lineno": 57
}
},
"keywords": [],
"lineno": 57
}
},
{
"ast_class": "For",
"body": [
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 59,
"lineno": 59,
"targets": [
{
"ast_class": "Tuple",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"elts": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 20,
"end_lineno": 59,
"id": "variable",
"lineno": 59
},
{
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 27,
"end_lineno": 59,
"id": "duree",
"lineno": 59
},
{
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 33,
"end_lineno": 59,
"id": "zone",
"lineno": 59
}
],
"end_col_offset": 33,
"end_lineno": 59,
"lineno": 59
}
],
"value": {
"ast_class": "Name",
"col_offset": 36,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 59,
"id": "case",
"lineno": 59
}
},
{
"ast_class": "Assign",
"col_offset": 12,
"end_col_offset": 52,
"end_lineno": 60,
"lineno": 60,
"targets": [
{
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 19,
"end_lineno": 60,
"id": "depense",
"lineno": 60
}
],
"value": {
"args": [
{
"ast_class": "Name",
"col_offset": 35,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 60,
"id": "variable",
"lineno": 60
},
{
"ast_class": "Name",
"col_offset": 45,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 60,
"id": "period",
"lineno": 60
}
],
"ast_class": "Call",
"col_offset": 22,
"end_col_offset": 52,
"end_lineno": 60,
"func": {
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 34,
"end_lineno": 60,
"id": "foyer_fiscal",
"lineno": 60
},
"keywords": [],
"lineno": 60
}
},
{
"ast_class": "If",
"body": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 175,
"end_lineno": 63,
"lineno": 63,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 63,
"id": "reduction",
"lineno": 63
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 174,
"end_lineno": 63,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 166,
"end_lineno": 63,
"left": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 63,
"lineno": 63,
"value": {
"ast_class": "Attribute",
"attr": "location_9_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 63,
"lineno": 63,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 63,
"id": "duflot_pinel_denormandie",
"lineno": 63
}
}
},
"lineno": 63,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 100,
"end_col_offset": 101,
"end_lineno": 63,
"lineno": 63,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 103,
"end_col_offset": 155,
"end_lineno": 63,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 135,
"end_lineno": 63,
"lineno": 63,
"value": {
"ast_class": "Name",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 127,
"end_lineno": 63,
"id": "duflot_pinel_denormandie",
"lineno": 63
}
},
"lineno": 63,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 138,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 155,
"end_lineno": 63,
"id": "depenses_cumulees",
"lineno": 63
}
}
],
"ast_class": "Call",
"col_offset": 95,
"end_col_offset": 156,
"end_lineno": 63,
"func": {
"ast_class": "Name",
"col_offset": 95,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 63,
"id": "max_",
"lineno": 63
},
"keywords": [],
"lineno": 63
},
{
"ast_class": "Name",
"col_offset": 158,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 165,
"end_lineno": 63,
"id": "depense",
"lineno": 63
}
],
"ast_class": "Call",
"col_offset": 90,
"end_col_offset": 166,
"end_lineno": 63,
"func": {
"ast_class": "Name",
"col_offset": 90,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 94,
"end_lineno": 63,
"id": "min_",
"lineno": 63
},
"keywords": [],
"lineno": 63
}
},
"lineno": 63,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 169,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 174,
"end_lineno": 63,
"id": "duree",
"lineno": 63
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 175,
"end_lineno": 63,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 63,
"id": "around",
"lineno": 63
},
"keywords": [],
"lineno": 63
}
}
],
"col_offset": 16,
"end_col_offset": 175,
"end_lineno": 65,
"lineno": 62,
"orelse": [
{
"ast_class": "If",
"body": [
{
"ast_class": "AugAssign",
"col_offset": 20,
"end_col_offset": 175,
"end_lineno": 65,
"lineno": 65,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 65,
"id": "reduction",
"lineno": 65
},
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 174,
"end_lineno": 65,
"left": {
"ast_class": "BinOp",
"col_offset": 40,
"end_col_offset": 166,
"end_lineno": 65,
"left": {
"ast_class": "Attribute",
"attr": "taux_om",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 65,
"lineno": 65,
"value": {
"ast_class": "Attribute",
"attr": "location_6_ans",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 79,
"end_lineno": 65,
"lineno": 65,
"value": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 65,
"id": "duflot_pinel_denormandie",
"lineno": 65
}
}
},
"lineno": 65,
"op": {
"ast_class": "Mult"
},
"right": {
"args": [
{
"args": [
{
"ast_class": "Constant",
"col_offset": 100,
"end_col_offset": 101,
"end_lineno": 65,
"lineno": 65,
"value": 0
},
{
"ast_class": "BinOp",
"col_offset": 103,
"end_col_offset": 155,
"end_lineno": 65,
"left": {
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 135,
"end_lineno": 65,
"lineno": 65,
"value": {
"ast_class": "Name",
"col_offset": 103,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 127,
"end_lineno": 65,
"id": "duflot_pinel_denormandie",
"lineno": 65
}
},
"lineno": 65,
"op": {
"ast_class": "Sub"
},
"right": {
"ast_class": "Name",
"col_offset": 138,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 155,
"end_lineno": 65,
"id": "depenses_cumulees",
"lineno": 65
}
}
],
"ast_class": "Call",
"col_offset": 95,
"end_col_offset": 156,
"end_lineno": 65,
"func": {
"ast_class": "Name",
"col_offset": 95,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 65,
"id": "max_",
"lineno": 65
},
"keywords": [],
"lineno": 65
},
{
"ast_class": "Name",
"col_offset": 158,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 165,
"end_lineno": 65,
"id": "depense",
"lineno": 65
}
],
"ast_class": "Call",
"col_offset": 90,
"end_col_offset": 166,
"end_lineno": 65,
"func": {
"ast_class": "Name",
"col_offset": 90,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 94,
"end_lineno": 65,
"id": "min_",
"lineno": 65
},
"keywords": [],
"lineno": 65
}
},
"lineno": 65,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Name",
"col_offset": 169,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 174,
"end_lineno": 65,
"id": "duree",
"lineno": 65
}
}
],
"ast_class": "Call",
"col_offset": 33,
"end_col_offset": 175,
"end_lineno": 65,
"func": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 39,
"end_lineno": 65,
"id": "around",
"lineno": 65
},
"keywords": [],
"lineno": 65
}
}
],
"col_offset": 16,
"end_col_offset": 175,
"end_lineno": 65,
"lineno": 64,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 21,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 30,
"end_col_offset": 31,
"end_lineno": 64,
"lineno": 64,
"value": 6
}
],
"end_col_offset": 31,
"end_lineno": 64,
"left": {
"ast_class": "Name",
"col_offset": 21,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 64,
"id": "duree",
"lineno": 64
},
"lineno": 64,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"test": {
"ast_class": "Compare",
"col_offset": 19,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 28,
"end_col_offset": 29,
"end_lineno": 62,
"lineno": 62,
"value": 9
}
],
"end_col_offset": 29,
"end_lineno": 62,
"left": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 62,
"id": "duree",
"lineno": 62
},
"lineno": 62,
"ops": [
{
"ast_class": "Eq"
}
]
}
}
],
"col_offset": 12,
"end_col_offset": 175,
"end_lineno": 65,
"lineno": 61,
"orelse": [],
"test": {
"ast_class": "Compare",
"col_offset": 15,
"comparators": [
{
"ast_class": "Constant",
"col_offset": 23,
"end_col_offset": 33,
"end_lineno": 61,
"lineno": 61,
"value": "outremer"
}
],
"end_col_offset": 33,
"end_lineno": 61,
"left": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 19,
"end_lineno": 61,
"id": "zone",
"lineno": 61
},
"lineno": 61,
"ops": [
{
"ast_class": "Eq"
}
]
}
},
{
"ast_class": "AugAssign",
"col_offset": 12,
"end_col_offset": 40,
"end_lineno": 66,
"lineno": 66,
"op": {
"ast_class": "Add"
},
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 66,
"id": "depenses_cumulees",
"lineno": 66
},
"value": {
"ast_class": "Name",
"col_offset": 33,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 66,
"id": "depense",
"lineno": 66
}
}
],
"col_offset": 8,
"end_col_offset": 40,
"end_lineno": 66,
"iter": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 58,
"id": "cases",
"lineno": 58
},
"lineno": 58,
"orelse": [],
"target": {
"ast_class": "Name",
"col_offset": 12,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 16,
"end_lineno": 58,
"id": "case",
"lineno": 58
}
},
{
"ast_class": "Return",
"col_offset": 8,
"end_col_offset": 24,
"end_lineno": 67,
"lineno": 67,
"value": {
"ast_class": "Name",
"col_offset": 15,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 24,
"end_lineno": 67,
"id": "reduction",
"lineno": 67
}
}
],
"col_offset": 4,
"decorator_list": [],
"end_col_offset": 24,
"end_lineno": 67,
"lineno": 55,
"name": "calcul_reduction_investissement"
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 37,
"end_lineno": 69,
"lineno": 69,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 17,
"end_lineno": 69,
"id": "annee_fiscale",
"lineno": 69
}
],
"value": {
"ast_class": "Attribute",
"attr": "year",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 69,
"lineno": 69,
"value": {
"ast_class": "Attribute",
"attr": "start",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 69,
"lineno": 69,
"value": {
"ast_class": "Name",
"col_offset": 20,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 26,
"end_lineno": 69,
"id": "period",
"lineno": 69
}
}
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 146,
"end_lineno": 70,
"lineno": 70,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 29,
"end_lineno": 70,
"id": "range_year_investissement",
"lineno": 70
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 37,
"end_col_offset": 145,
"end_lineno": 70,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 41,
"elt": {
"ast_class": "Name",
"col_offset": 42,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 46,
"end_lineno": 70,
"id": "year",
"lineno": 70
},
"end_col_offset": 90,
"end_lineno": 70,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 65,
"end_col_offset": 69,
"end_lineno": 70,
"lineno": 70,
"value": 2016
},
{
"ast_class": "BinOp",
"col_offset": 71,
"end_col_offset": 88,
"end_lineno": 70,
"left": {
"ast_class": "Name",
"col_offset": 71,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 84,
"end_lineno": 70,
"id": "annee_fiscale",
"lineno": 70
},
"lineno": 70,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Constant",
"col_offset": 87,
"end_col_offset": 88,
"end_lineno": 70,
"lineno": 70,
"value": 1
}
}
],
"ast_class": "Call",
"col_offset": 59,
"end_col_offset": 89,
"end_lineno": 70,
"func": {
"ast_class": "Name",
"col_offset": 59,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 64,
"end_lineno": 70,
"id": "range",
"lineno": 70
},
"keywords": [],
"lineno": 70
},
"target": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 55,
"end_lineno": 70,
"id": "year",
"lineno": 70
}
}
],
"lineno": 70
}
],
"ast_class": "Call",
"col_offset": 37,
"end_col_offset": 91,
"end_lineno": 70,
"func": {
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 40,
"end_lineno": 70,
"id": "set",
"lineno": 70
},
"keywords": [],
"lineno": 70
},
"lineno": 70,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 98,
"elt": {
"ast_class": "Name",
"col_offset": 99,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 103,
"end_lineno": 70,
"id": "year",
"lineno": 70
},
"end_col_offset": 144,
"end_lineno": 70,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 116,
"end_col_offset": 143,
"end_lineno": 70,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 141,
"end_lineno": 70,
"lineno": 70,
"value": {
"ast_class": "Name",
"col_offset": 116,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 136,
"end_lineno": 70,
"id": "cases_investissement",
"lineno": 70
}
},
"keywords": [],
"lineno": 70
},
"target": {
"ast_class": "Name",
"col_offset": 108,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 112,
"end_lineno": 70,
"id": "year",
"lineno": 70
}
}
],
"lineno": 70
}
],
"ast_class": "Call",
"col_offset": 94,
"end_col_offset": 145,
"end_lineno": 70,
"func": {
"ast_class": "Name",
"col_offset": 94,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 70,
"id": "set",
"lineno": 70
},
"keywords": [],
"lineno": 70
}
}
],
"ast_class": "Call",
"col_offset": 32,
"end_col_offset": 146,
"end_lineno": 70,
"func": {
"ast_class": "Name",
"col_offset": 32,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 36,
"end_lineno": 70,
"id": "list",
"lineno": 70
},
"keywords": [],
"lineno": 70
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 126,
"end_lineno": 71,
"lineno": 71,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 71,
"id": "range_year_report",
"lineno": 71
}
],
"value": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 29,
"end_col_offset": 125,
"end_lineno": 71,
"left": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 33,
"elt": {
"ast_class": "Name",
"col_offset": 34,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 38,
"end_lineno": 71,
"id": "year",
"lineno": 71
},
"end_col_offset": 78,
"end_lineno": 71,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [
{
"ast_class": "Constant",
"col_offset": 57,
"end_col_offset": 61,
"end_lineno": 71,
"lineno": 71,
"value": 2014
},
{
"ast_class": "Name",
"col_offset": 63,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 76,
"end_lineno": 71,
"id": "annee_fiscale",
"lineno": 71
}
],
"ast_class": "Call",
"col_offset": 51,
"end_col_offset": 77,
"end_lineno": 71,
"func": {
"ast_class": "Name",
"col_offset": 51,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 56,
"end_lineno": 71,
"id": "range",
"lineno": 71
},
"keywords": [],
"lineno": 71
},
"target": {
"ast_class": "Name",
"col_offset": 43,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 47,
"end_lineno": 71,
"id": "year",
"lineno": 71
}
}
],
"lineno": 71
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 79,
"end_lineno": 71,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 32,
"end_lineno": 71,
"id": "set",
"lineno": 71
},
"keywords": [],
"lineno": 71
},
"lineno": 71,
"op": {
"ast_class": "BitAnd"
},
"right": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 86,
"elt": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 91,
"end_lineno": 71,
"id": "year",
"lineno": 71
},
"end_col_offset": 124,
"end_lineno": 71,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"args": [],
"ast_class": "Call",
"col_offset": 104,
"end_col_offset": 123,
"end_lineno": 71,
"func": {
"ast_class": "Attribute",
"attr": "keys",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 121,
"end_lineno": 71,
"lineno": 71,
"value": {
"ast_class": "Name",
"col_offset": 104,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 116,
"end_lineno": 71,
"id": "cases_report",
"lineno": 71
}
},
"keywords": [],
"lineno": 71
},
"target": {
"ast_class": "Name",
"col_offset": 96,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 100,
"end_lineno": 71,
"id": "year",
"lineno": 71
}
}
],
"lineno": 71
}
],
"ast_class": "Call",
"col_offset": 82,
"end_col_offset": 125,
"end_lineno": 71,
"func": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 85,
"end_lineno": 71,
"id": "set",
"lineno": 71
},
"keywords": [],
"lineno": 71
}
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 126,
"end_lineno": 71,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 71,
"id": "list",
"lineno": 71
},
"keywords": [],
"lineno": 71
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 128,
"end_lineno": 73,
"lineno": 73,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 21,
"end_lineno": 73,
"id": "reduction_cumulee",
"lineno": 73
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 28,
"elt": {
"args": [
{
"ast_class": "Subscript",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 87,
"end_lineno": 73,
"lineno": 73,
"slice": {
"ast_class": "Name",
"col_offset": 82,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 86,
"end_lineno": 73,
"id": "year",
"lineno": 73
},
"value": {
"ast_class": "Name",
"col_offset": 61,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 81,
"end_lineno": 73,
"id": "cases_investissement",
"lineno": 73
}
}
],
"ast_class": "Call",
"col_offset": 29,
"end_col_offset": 88,
"end_lineno": 73,
"func": {
"ast_class": "Name",
"col_offset": 29,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 60,
"end_lineno": 73,
"id": "calcul_reduction_investissement",
"lineno": 73
},
"keywords": [],
"lineno": 73
},
"end_col_offset": 127,
"end_lineno": 73,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 101,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 126,
"end_lineno": 73,
"id": "range_year_investissement",
"lineno": 73
},
"target": {
"ast_class": "Name",
"col_offset": 93,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 97,
"end_lineno": 73,
"id": "year",
"lineno": 73
}
}
],
"lineno": 73
}
],
"ast_class": "Call",
"col_offset": 24,
"end_col_offset": 128,
"end_lineno": 73,
"func": {
"ast_class": "Name",
"col_offset": 24,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 27,
"end_lineno": 73,
"id": "sum",
"lineno": 73
},
"keywords": [],
"lineno": 73
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 107,
"end_lineno": 74,
"lineno": 74,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 10,
"end_lineno": 74,
"id": "report",
"lineno": 74
}
],
"value": {
"args": [
{
"ast_class": "ListComp",
"col_offset": 17,
"elt": {
"args": [
{
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 35,
"end_lineno": 74,
"id": "case",
"lineno": 74
},
{
"ast_class": "Name",
"col_offset": 37,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 43,
"end_lineno": 74,
"id": "period",
"lineno": 74
}
],
"ast_class": "Call",
"col_offset": 18,
"end_col_offset": 44,
"end_lineno": 74,
"func": {
"ast_class": "Name",
"col_offset": 18,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 74,
"id": "foyer_fiscal",
"lineno": 74
},
"keywords": [],
"lineno": 74
},
"end_col_offset": 106,
"end_lineno": 74,
"generators": [
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Name",
"col_offset": 57,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 74,
"end_lineno": 74,
"id": "range_year_report",
"lineno": 74
},
"target": {
"ast_class": "Name",
"col_offset": 49,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 53,
"end_lineno": 74,
"id": "year",
"lineno": 74
}
},
{
"ast_class": "comprehension",
"ifs": [],
"is_async": 0,
"iter": {
"ast_class": "Subscript",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 105,
"end_lineno": 74,
"lineno": 74,
"slice": {
"ast_class": "Name",
"col_offset": 100,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 104,
"end_lineno": 74,
"id": "year",
"lineno": 74
},
"value": {
"ast_class": "Name",
"col_offset": 87,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 99,
"end_lineno": 74,
"id": "cases_report",
"lineno": 74
}
},
"target": {
"ast_class": "Name",
"col_offset": 79,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 83,
"end_lineno": 74,
"id": "case",
"lineno": 74
}
}
],
"lineno": 74
}
],
"ast_class": "Call",
"col_offset": 13,
"end_col_offset": 107,
"end_lineno": 74,
"func": {
"ast_class": "Name",
"col_offset": 13,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 74,
"id": "sum",
"lineno": 74
},
"keywords": [],
"lineno": 74
}
},
{
"ast_class": "Assign",
"col_offset": 4,
"end_col_offset": 131,
"end_lineno": 77,
"lineno": 76,
"targets": [
{
"ast_class": "Name",
"col_offset": 4,
"ctx": {
"ast_class": "Store"
},
"end_col_offset": 15,
"end_lineno": 76,
"id": "prorogation",
"lineno": 76
}
],
"value": {
"ast_class": "BinOp",
"col_offset": 19,
"end_col_offset": 130,
"end_lineno": 77,
"left": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 26,
"end_col_offset": 138,
"end_lineno": 76,
"left": {
"ast_class": "BinOp",
"col_offset": 26,
"end_col_offset": 134,
"end_lineno": 76,
"left": {
"args": [
{
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 63,
"end_lineno": 76,
"lineno": 76,
"value": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 55,
"end_lineno": 76,
"id": "duflot_pinel_denormandie",
"lineno": 76
}
},
{
"ast_class": "Name",
"col_offset": 65,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 69,
"end_lineno": 76,
"id": "f7rs",
"lineno": 76
}
],
"ast_class": "Call",
"col_offset": 26,
"end_col_offset": 70,
"end_lineno": 76,
"func": {
"ast_class": "Name",
"col_offset": 26,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 30,
"end_lineno": 76,
"id": "min_",
"lineno": 76
},
"keywords": [],
"lineno": 76
},
"lineno": 76,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Attribute",
"attr": "taux_prolong1_6ans",
"col_offset": 73,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 134,
"end_lineno": 76,
"lineno": 76,
"value": {
"ast_class": "Attribute",
"attr": "taux_prolongation",
"col_offset": 73,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 115,
"end_lineno": 76,
"lineno": 76,
"value": {
"ast_class": "Name",
"col_offset": 73,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 97,
"end_lineno": 76,
"id": "duflot_pinel_denormandie",
"lineno": 76
}
}
}
},
"lineno": 76,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 137,
"end_col_offset": 138,
"end_lineno": 76,
"lineno": 76,
"value": 3
}
}
],
"ast_class": "Call",
"col_offset": 19,
"end_col_offset": 139,
"end_lineno": 76,
"func": {
"ast_class": "Name",
"col_offset": 19,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 25,
"end_lineno": 76,
"id": "around",
"lineno": 76
},
"keywords": [],
"lineno": 76
},
"lineno": 76,
"op": {
"ast_class": "Add"
},
"right": {
"args": [
{
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 129,
"end_lineno": 77,
"left": {
"ast_class": "BinOp",
"col_offset": 17,
"end_col_offset": 125,
"end_lineno": 77,
"left": {
"args": [
{
"ast_class": "Attribute",
"attr": "plafond",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 54,
"end_lineno": 77,
"lineno": 77,
"value": {
"ast_class": "Name",
"col_offset": 22,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 46,
"end_lineno": 77,
"id": "duflot_pinel_denormandie",
"lineno": 77
}
},
{
"ast_class": "Name",
"col_offset": 56,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 60,
"end_lineno": 77,
"id": "f7ry",
"lineno": 77
}
],
"ast_class": "Call",
"col_offset": 17,
"end_col_offset": 61,
"end_lineno": 77,
"func": {
"ast_class": "Name",
"col_offset": 17,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 21,
"end_lineno": 77,
"id": "min_",
"lineno": 77
},
"keywords": [],
"lineno": 77
},
"lineno": 77,
"op": {
"ast_class": "Mult"
},
"right": {
"ast_class": "Attribute",
"attr": "taux_prolong1_6ans",
"col_offset": 64,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 125,
"end_lineno": 77,
"lineno": 77,
"value": {
"ast_class": "Attribute",
"attr": "taux_prolongation",
"col_offset": 64,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 106,
"end_lineno": 77,
"lineno": 77,
"value": {
"ast_class": "Name",
"col_offset": 64,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 88,
"end_lineno": 77,
"id": "duflot_pinel_denormandie",
"lineno": 77
}
}
}
},
"lineno": 77,
"op": {
"ast_class": "Div"
},
"right": {
"ast_class": "Constant",
"col_offset": 128,
"end_col_offset": 129,
"end_lineno": 77,
"lineno": 77,
"value": 3
}
}
],
"ast_class": "Call",
"col_offset": 10,
"end_col_offset": 130,
"end_lineno": 77,
"func": {
"ast_class": "Name",
"col_offset": 10,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 16,
"end_lineno": 77,
"id": "around",
"lineno": 77
},
"keywords": [],
"lineno": 77
}
}
},
{
"ast_class": "Return",
"col_offset": 4,
"end_col_offset": 58,
"end_lineno": 79,
"lineno": 79,
"value": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 58,
"end_lineno": 79,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 51,
"end_lineno": 79,
"left": {
"ast_class": "BinOp",
"col_offset": 11,
"end_col_offset": 37,
"end_lineno": 79,
"left": {
"ast_class": "Name",
"col_offset": 11,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 28,
"end_lineno": 79,
"id": "reduction_cumulee",
"lineno": 79
},
"lineno": 79,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 31,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 37,
"end_lineno": 79,
"id": "report",
"lineno": 79
}
},
"lineno": 79,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 40,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 51,
"end_lineno": 79,
"id": "prorogation",
"lineno": 79
}
},
"lineno": 79,
"op": {
"ast_class": "Add"
},
"right": {
"ast_class": "Name",
"col_offset": 54,
"ctx": {
"ast_class": "Load"
},
"end_col_offset": 58,
"end_lineno": 79,
"id": "f7sy",
"lineno": 79
}
}
}
],
"col_offset": 0,
"decorator_list": [],
"end_col_offset": 58,
"end_lineno": 79,
"lineno": 1,
"name": "formula_2021_01_01"
},
"documentation": "\nDuflot + Pinel + Denormandie\n",
"file_path": "openfisca_france/model/prelevements_obligatoires/impot_revenu/reductions_impot_plafonnees.py",
"parameters": [
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_6_ans.taux_om",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.location_9_ans.taux_om",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.plafond",
"impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans"
],
"source_code": "def formula_2021_01_01(foyer_fiscal, period, parameters):\n '''\n Duflot + Pinel + Denormandie\n '''\n duflot_pinel_denormandie = parameters(period).impot_revenu.calcul_reductions_impots.investissements_immobiliers.duflot_pinel_denormandie\n\n cases_investissement = {\n 2019: [ # A compter de 2019, le plafonnement de la base de calcul est commun à tous les investissements réalisés\n ('f7qq', 9, 'outremer'), # Pinel 2019\n ('f7nd', 9, 'outremer'), # Denormandie 2019\n ('f7qd', 9, 'outremer'), # Pinel 2020\n ('f7nh', 9, 'outremer'), # Denormandie 2020\n ('f7ql', 9, 'outremer'), # Pinel 2021\n ('f7nl', 9, 'outremer'), # Denormandie 2021\n ('f7qt', 6, 'outremer'), # Pinel 2018\n ('f7qy', 6, 'outremer'), # Pinel 2019\n ('f7nc', 6, 'outremer'), # Denormandie 2019\n ('f7qc', 6, 'outremer'), # Pinel 2020\n ('f7ng', 6, 'outremer'), # Denormandie 2020\n ('f7qk', 6, 'outremer'), # Pinel 2021\n ('f7nk', 6, 'outremer'), # Denormandie 2021\n ('f7qs', 9, 'metropole'), # Pinel 2018\n ('f7qx', 9, 'metropole'), # Pinel 2019\n ('f7nb', 9, 'metropole'), # Denormandie 2019\n ('f7qb', 9, 'metropole'), # Pinel 2020\n ('f7nf', 9, 'metropole'), # Denormandie 2020\n ('f7qj', 9, 'metropole'), # Pinel 2021\n ('f7nj', 9, 'metropole'), # Denormandie 2021\n ('f7qr', 6, 'metropole'), # Pinel 2018\n ('f7qw', 6, 'metropole'), # Pinel 2019\n ('f7na', 6, 'metropole'), # Denormandie 2019\n ('f7qa', 6, 'metropole'), # Pinel 2020\n ('f7ne', 6, 'metropole'), # Denormandie 2020\n ('f7qi', 6, 'metropole'), # Pinel 2021\n ('f7ni', 6, 'metropole')], # Denormandie 2021\n }\n\n cases_report = {\n 2014: ['f7di'],\n 2015: ['f7ez'],\n 2016: ['f7sz', 'f7tz'],\n 2017: ['f7rc', 'f7rd'],\n 2018: ['f7rg', 'f7rh'],\n 2019: ['f7lm', 'f7mm', 'f7jc', 'f7jd'], # Pinel et Denormandie\n 2020: ['f7jp', 'f7jq', 'f7jt', 'f7ju'], # Pinel et Denormandie\n }\n\n # Première prorogation, 6 ans\n f7rs = foyer_fiscal('f7rs', period) # Outre-Mer, 2014\n f7ry = foyer_fiscal('f7ry', period) # Outre-Mer, 2015\n\n # Prorogation reports, 6 ans\n f7sy = foyer_fiscal('f7sy', period) # Outre-Mer, 2014\n\n def calcul_reduction_investissement(cases):\n reduction = foyer_fiscal.empty_array()\n depenses_cumulees = foyer_fiscal.empty_array()\n for case in cases:\n variable, duree, zone = case\n depense = foyer_fiscal(variable, period)\n if zone == 'outremer':\n if duree == 9:\n reduction += around(duflot_pinel_denormandie.location_9_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n elif duree == 6:\n reduction += around(duflot_pinel_denormandie.location_6_ans.taux_om * min_(max_(0, duflot_pinel_denormandie.plafond - depenses_cumulees), depense) / duree)\n depenses_cumulees += depense\n return reduction\n\n annee_fiscale = period.start.year\n range_year_investissement = list(set([year for year in range(2016, annee_fiscale + 1)]) & set([year for year in cases_investissement.keys()]))\n range_year_report = list(set([year for year in range(2014, annee_fiscale)]) & set([year for year in cases_report.keys()]))\n\n reduction_cumulee = sum([calcul_reduction_investissement(cases_investissement[year]) for year in range_year_investissement])\n report = sum([foyer_fiscal(case, period) for year in range_year_report for case in cases_report[year]])\n\n prorogation = (around(min_(duflot_pinel_denormandie.plafond, f7rs) * duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans / 3)\n + around(min_(duflot_pinel_denormandie.plafond, f7ry) * duflot_pinel_denormandie.taux_prolongation.taux_prolong1_6ans / 3))\n\n return reduction_cumulee + report + prorogation + f7sy\n",
"start_line_number": 857,
"stop_line_number": 936,
"variables": [
"f7rs",
"f7ry",
"f7sy"
]
}
},
"json_type": "number",
"label": "Réduction d'impôt Duflot - Pinel - Denormandie",
"last_value_still_valid_on": "2021-01-01",
"name": "duflot_pinel_denormandie_om",
"referring_variables": [
"reductions",
"reductions_plafonnees_om_sofica"
],
"start_line_number": 595,
"stop_line_number": 936,
"value_type": "float"
}