From 06d01ed45fec5e403bf29006fd5050923c91720e Mon Sep 17 00:00:00 2001
From: Spyros Argyropoulos <spyros.argyropoulos@cern.ch>
Date: Sat, 17 Aug 2024 13:25:07 +0300
Subject: [PATCH] Adding Pseudoscalar_2HDMI model

---
 DM/Pseudoscalar_2HDMI.txt                    |    4 +
 DM/Pseudoscalar_2HDMI/CT_couplings.py        | 1475 ++++++++++++
 DM/Pseudoscalar_2HDMI/CT_vertices.py         | 1379 +++++++++++
 DM/Pseudoscalar_2HDMI/Pseudoscalar_2HDMI.log |   93 +
 DM/Pseudoscalar_2HDMI/__init__.py            |   50 +
 DM/Pseudoscalar_2HDMI/coupling_orders.py     |   21 +
 DM/Pseudoscalar_2HDMI/couplings.py           | 1203 ++++++++++
 DM/Pseudoscalar_2HDMI/decays.py              |  185 ++
 DM/Pseudoscalar_2HDMI/function_library.py    |   71 +
 DM/Pseudoscalar_2HDMI/lorentz.py             |  162 ++
 DM/Pseudoscalar_2HDMI/object_library.py      |  373 +++
 DM/Pseudoscalar_2HDMI/parameters.py          |  786 +++++++
 DM/Pseudoscalar_2HDMI/particles.py           |  461 ++++
 DM/Pseudoscalar_2HDMI/propagators.py         |   35 +
 DM/Pseudoscalar_2HDMI/restrict_WMET.dat      |  154 ++
 DM/Pseudoscalar_2HDMI/restrict_aligned.dat   |  154 ++
 DM/Pseudoscalar_2HDMI/restrict_bbMET_5FS.dat |  154 ++
 DM/Pseudoscalar_2HDMI/restrict_default.dat   |  154 ++
 DM/Pseudoscalar_2HDMI/restrict_relic.dat     |  154 ++
 DM/Pseudoscalar_2HDMI/vertices.py            | 2195 ++++++++++++++++++
 DM/Pseudoscalar_2HDMI/write_param_card.py    |  182 ++
 model_list.txt                               |    6 +
 22 files changed, 9451 insertions(+)
 create mode 100644 DM/Pseudoscalar_2HDMI.txt
 create mode 100644 DM/Pseudoscalar_2HDMI/CT_couplings.py
 create mode 100644 DM/Pseudoscalar_2HDMI/CT_vertices.py
 create mode 100644 DM/Pseudoscalar_2HDMI/Pseudoscalar_2HDMI.log
 create mode 100644 DM/Pseudoscalar_2HDMI/__init__.py
 create mode 100644 DM/Pseudoscalar_2HDMI/coupling_orders.py
 create mode 100644 DM/Pseudoscalar_2HDMI/couplings.py
 create mode 100644 DM/Pseudoscalar_2HDMI/decays.py
 create mode 100644 DM/Pseudoscalar_2HDMI/function_library.py
 create mode 100644 DM/Pseudoscalar_2HDMI/lorentz.py
 create mode 100644 DM/Pseudoscalar_2HDMI/object_library.py
 create mode 100644 DM/Pseudoscalar_2HDMI/parameters.py
 create mode 100644 DM/Pseudoscalar_2HDMI/particles.py
 create mode 100644 DM/Pseudoscalar_2HDMI/propagators.py
 create mode 100644 DM/Pseudoscalar_2HDMI/restrict_WMET.dat
 create mode 100644 DM/Pseudoscalar_2HDMI/restrict_aligned.dat
 create mode 100644 DM/Pseudoscalar_2HDMI/restrict_bbMET_5FS.dat
 create mode 100644 DM/Pseudoscalar_2HDMI/restrict_default.dat
 create mode 100644 DM/Pseudoscalar_2HDMI/restrict_relic.dat
 create mode 100644 DM/Pseudoscalar_2HDMI/vertices.py
 create mode 100755 DM/Pseudoscalar_2HDMI/write_param_card.py

diff --git a/DM/Pseudoscalar_2HDMI.txt b/DM/Pseudoscalar_2HDMI.txt
new file mode 100644
index 00000000..5fd3192d
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI.txt
@@ -0,0 +1,4 @@
+Requestor: Spyros Argyropoulos
+Content: Equivalent of Pseudoscalar_2HDM UFO (2HDM+a model) but with Type-I Yukawa couplings
+Paper: http://arxiv.org/abs/2404.05704
+Source: https://github.com/LHC-DMWG/model-repository/tree/master/models/Pseudoscalar_2HDMI
\ No newline at end of file
diff --git a/DM/Pseudoscalar_2HDMI/CT_couplings.py b/DM/Pseudoscalar_2HDMI/CT_couplings.py
new file mode 100644
index 00000000..935bc7c5
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/CT_couplings.py
@@ -0,0 +1,1475 @@
+# This file was automatically created by FeynRules 2.3.43
+# Mathematica version: 12.1.0 for Mac OS X x86 (64-bit) (March 14, 2020)
+# Date: Wed 3 May 2023 19:36:55
+
+
+from object_library import all_couplings, Coupling
+
+from function_library import complexconjugate, re, im, csc, sec, acsc, asec, cot
+
+
+
+R2GC_299_1 = Coupling(name = 'R2GC_299_1',
+                      value = '(ee**2*complex(0,1)*G**2)/(216.*cmath.pi**2)',
+                      order = {'QCD':2,'QED':2})
+
+R2GC_299_2 = Coupling(name = 'R2GC_299_2',
+                      value = '(ee**2*complex(0,1)*G**2)/(54.*cmath.pi**2)',
+                      order = {'QCD':2,'QED':2})
+
+R2GC_300_3 = Coupling(name = 'R2GC_300_3',
+                      value = '-(ee*complex(0,1)*G**3)/(144.*cmath.pi**2)',
+                      order = {'QCD':3,'QED':1})
+
+R2GC_300_4 = Coupling(name = 'R2GC_300_4',
+                      value = '(ee*complex(0,1)*G**3)/(72.*cmath.pi**2)',
+                      order = {'QCD':3,'QED':1})
+
+R2GC_301_5 = Coupling(name = 'R2GC_301_5',
+                      value = '-(complex(0,1)*G**2*MB**2)/(8.*cmath.pi**2)',
+                      order = {'QCD':2})
+
+R2GC_301_6 = Coupling(name = 'R2GC_301_6',
+                      value = '-(complex(0,1)*G**2*MC**2)/(8.*cmath.pi**2)',
+                      order = {'QCD':2})
+
+R2GC_301_7 = Coupling(name = 'R2GC_301_7',
+                      value = '-(complex(0,1)*G**2*MD**2)/(8.*cmath.pi**2)',
+                      order = {'QCD':2})
+
+R2GC_301_8 = Coupling(name = 'R2GC_301_8',
+                      value = '-(complex(0,1)*G**2*MS**2)/(8.*cmath.pi**2)',
+                      order = {'QCD':2})
+
+R2GC_301_9 = Coupling(name = 'R2GC_301_9',
+                      value = '-(complex(0,1)*G**2*MT**2)/(8.*cmath.pi**2)',
+                      order = {'QCD':2})
+
+R2GC_301_10 = Coupling(name = 'R2GC_301_10',
+                       value = '-(complex(0,1)*G**2*MU**2)/(8.*cmath.pi**2)',
+                       order = {'QCD':2})
+
+R2GC_302_11 = Coupling(name = 'R2GC_302_11',
+                       value = '(cw*ee**2*complex(0,1)*G**2)/(288.*cmath.pi**2*sw) - (ee**2*complex(0,1)*G**2*sw)/(864.*cw*cmath.pi**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_302_12 = Coupling(name = 'R2GC_302_12',
+                       value = '(cw*ee**2*complex(0,1)*G**2)/(144.*cmath.pi**2*sw) - (5*ee**2*complex(0,1)*G**2*sw)/(432.*cw*cmath.pi**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_303_13 = Coupling(name = 'R2GC_303_13',
+                       value = '-(cw*ee*complex(0,1)*G**3)/(192.*cmath.pi**2*sw) + (ee*complex(0,1)*G**3*sw)/(576.*cw*cmath.pi**2)',
+                       order = {'QCD':3,'QED':1})
+
+R2GC_303_14 = Coupling(name = 'R2GC_303_14',
+                       value = '(cw*ee*complex(0,1)*G**3)/(192.*cmath.pi**2*sw) - (5*ee*complex(0,1)*G**3*sw)/(576.*cw*cmath.pi**2)',
+                       order = {'QCD':3,'QED':1})
+
+R2GC_304_15 = Coupling(name = 'R2GC_304_15',
+                       value = '(-3*cw*ee*complex(0,1)*G**3)/(64.*cmath.pi**2*sw) - (3*ee*complex(0,1)*G**3*sw)/(64.*cw*cmath.pi**2)',
+                       order = {'QCD':3,'QED':1})
+
+R2GC_304_16 = Coupling(name = 'R2GC_304_16',
+                       value = '(3*cw*ee*complex(0,1)*G**3)/(64.*cmath.pi**2*sw) + (3*ee*complex(0,1)*G**3*sw)/(64.*cw*cmath.pi**2)',
+                       order = {'QCD':3,'QED':1})
+
+R2GC_305_17 = Coupling(name = 'R2GC_305_17',
+                       value = '(ee**2*complex(0,1)*G**2)/(288.*cmath.pi**2) + (cw**2*ee**2*complex(0,1)*G**2)/(192.*cmath.pi**2*sw**2) + (5*ee**2*complex(0,1)*G**2*sw**2)/(1728.*cw**2*cmath.pi**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_305_18 = Coupling(name = 'R2GC_305_18',
+                       value = '-(ee**2*complex(0,1)*G**2)/(288.*cmath.pi**2) + (cw**2*ee**2*complex(0,1)*G**2)/(192.*cmath.pi**2*sw**2) + (17*ee**2*complex(0,1)*G**2*sw**2)/(1728.*cw**2*cmath.pi**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_306_19 = Coupling(name = 'R2GC_306_19',
+                       value = '-(complex(0,1)*G**2*TH3x3**2*ymb**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_306_20 = Coupling(name = 'R2GC_306_20',
+                       value = '-(complex(0,1)*G**2*TH3x3**2*ymc**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_306_21 = Coupling(name = 'R2GC_306_21',
+                       value = '-(complex(0,1)*G**2*TH3x3**2*ymdo**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_306_22 = Coupling(name = 'R2GC_306_22',
+                       value = '-(complex(0,1)*G**2*TH3x3**2*yms**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_306_23 = Coupling(name = 'R2GC_306_23',
+                       value = '-(complex(0,1)*G**2*TH3x3**2*ymt**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_306_24 = Coupling(name = 'R2GC_306_24',
+                       value = '-(complex(0,1)*G**2*TH3x3**2*ymup**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_307_25 = Coupling(name = 'R2GC_307_25',
+                       value = '-(complex(0,1)*G**2*TH3x3*TH3x4*ymb**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_307_26 = Coupling(name = 'R2GC_307_26',
+                       value = '-(complex(0,1)*G**2*TH3x3*TH3x4*ymc**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_307_27 = Coupling(name = 'R2GC_307_27',
+                       value = '-(complex(0,1)*G**2*TH3x3*TH3x4*ymdo**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_307_28 = Coupling(name = 'R2GC_307_28',
+                       value = '-(complex(0,1)*G**2*TH3x3*TH3x4*yms**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_307_29 = Coupling(name = 'R2GC_307_29',
+                       value = '-(complex(0,1)*G**2*TH3x3*TH3x4*ymt**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_307_30 = Coupling(name = 'R2GC_307_30',
+                       value = '-(complex(0,1)*G**2*TH3x3*TH3x4*ymup**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_308_31 = Coupling(name = 'R2GC_308_31',
+                       value = '-(complex(0,1)*G**2*TH3x4**2*ymb**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_308_32 = Coupling(name = 'R2GC_308_32',
+                       value = '-(complex(0,1)*G**2*TH3x4**2*ymc**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_308_33 = Coupling(name = 'R2GC_308_33',
+                       value = '-(complex(0,1)*G**2*TH3x4**2*ymdo**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_308_34 = Coupling(name = 'R2GC_308_34',
+                       value = '-(complex(0,1)*G**2*TH3x4**2*yms**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_308_35 = Coupling(name = 'R2GC_308_35',
+                       value = '-(complex(0,1)*G**2*TH3x4**2*ymt**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_308_36 = Coupling(name = 'R2GC_308_36',
+                       value = '-(complex(0,1)*G**2*TH3x4**2*ymup**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_309_37 = Coupling(name = 'R2GC_309_37',
+                       value = '(complex(0,1)*G**2*MB*TH2x1*ymb)/(8.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*MB*TH1x1*yb)/(8.*cmath.pi**2*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':1})
+
+R2GC_309_38 = Coupling(name = 'R2GC_309_38',
+                       value = '(complex(0,1)*G**2*MC*TH2x1*ymc)/(8.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*MC*TH1x1*yc)/(8.*cmath.pi**2*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':1})
+
+R2GC_309_39 = Coupling(name = 'R2GC_309_39',
+                       value = '(complex(0,1)*G**2*MD*TH2x1*ymdo)/(8.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*MD*TH1x1*ydo)/(8.*cmath.pi**2*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':1})
+
+R2GC_309_40 = Coupling(name = 'R2GC_309_40',
+                       value = '(complex(0,1)*G**2*MS*TH2x1*yms)/(8.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*MS*TH1x1*ys)/(8.*cmath.pi**2*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':1})
+
+R2GC_309_41 = Coupling(name = 'R2GC_309_41',
+                       value = '(complex(0,1)*G**2*MT*TH2x1*ymt)/(8.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*MT*TH1x1*yt)/(8.*cmath.pi**2*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':1})
+
+R2GC_309_42 = Coupling(name = 'R2GC_309_42',
+                       value = '(complex(0,1)*G**2*MU*TH2x1*ymup)/(8.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*MU*TH1x1*yup)/(8.*cmath.pi**2*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':1})
+
+R2GC_310_43 = Coupling(name = 'R2GC_310_43',
+                       value = '(complex(0,1)*G**2*MB*TH2x2*ymb)/(8.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*MB*TH1x2*yb)/(8.*cmath.pi**2*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':1})
+
+R2GC_310_44 = Coupling(name = 'R2GC_310_44',
+                       value = '(complex(0,1)*G**2*MC*TH2x2*ymc)/(8.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*MC*TH1x2*yc)/(8.*cmath.pi**2*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':1})
+
+R2GC_310_45 = Coupling(name = 'R2GC_310_45',
+                       value = '(complex(0,1)*G**2*MD*TH2x2*ymdo)/(8.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*MD*TH1x2*ydo)/(8.*cmath.pi**2*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':1})
+
+R2GC_310_46 = Coupling(name = 'R2GC_310_46',
+                       value = '(complex(0,1)*G**2*MS*TH2x2*yms)/(8.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*MS*TH1x2*ys)/(8.*cmath.pi**2*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':1})
+
+R2GC_310_47 = Coupling(name = 'R2GC_310_47',
+                       value = '(complex(0,1)*G**2*MT*TH2x2*ymt)/(8.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*MT*TH1x2*yt)/(8.*cmath.pi**2*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':1})
+
+R2GC_310_48 = Coupling(name = 'R2GC_310_48',
+                       value = '(complex(0,1)*G**2*MU*TH2x2*ymup)/(8.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*MU*TH1x2*yup)/(8.*cmath.pi**2*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':1})
+
+R2GC_311_49 = Coupling(name = 'R2GC_311_49',
+                       value = '(complex(0,1)*G**2*TH3x3*yb*ymb)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_311_50 = Coupling(name = 'R2GC_311_50',
+                       value = '(complex(0,1)*G**2*TH3x3*yc*ymc)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_311_51 = Coupling(name = 'R2GC_311_51',
+                       value = '(complex(0,1)*G**2*TH3x3*ydo*ymdo)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_311_52 = Coupling(name = 'R2GC_311_52',
+                       value = '(complex(0,1)*G**2*TH3x3*yms*ys)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_311_53 = Coupling(name = 'R2GC_311_53',
+                       value = '(complex(0,1)*G**2*TH3x3*ymt*yt)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_311_54 = Coupling(name = 'R2GC_311_54',
+                       value = '(complex(0,1)*G**2*TH3x3*ymup*yup)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_312_55 = Coupling(name = 'R2GC_312_55',
+                       value = '(complex(0,1)*G**2*TH3x4*yb*ymb)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_312_56 = Coupling(name = 'R2GC_312_56',
+                       value = '(complex(0,1)*G**2*TH3x4*yc*ymc)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_312_57 = Coupling(name = 'R2GC_312_57',
+                       value = '(complex(0,1)*G**2*TH3x4*ydo*ymdo)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_312_58 = Coupling(name = 'R2GC_312_58',
+                       value = '(complex(0,1)*G**2*TH3x4*yms*ys)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_312_59 = Coupling(name = 'R2GC_312_59',
+                       value = '(complex(0,1)*G**2*TH3x4*ymt*yt)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_312_60 = Coupling(name = 'R2GC_312_60',
+                       value = '(complex(0,1)*G**2*TH3x4*ymup*yup)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_313_61 = Coupling(name = 'R2GC_313_61',
+                       value = '-(complex(0,1)*G**2*yb**2)/(16.*cmath.pi**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_313_62 = Coupling(name = 'R2GC_313_62',
+                       value = '-(complex(0,1)*G**2*yc**2)/(16.*cmath.pi**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_313_63 = Coupling(name = 'R2GC_313_63',
+                       value = '-(complex(0,1)*G**2*ydo**2)/(16.*cmath.pi**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_313_64 = Coupling(name = 'R2GC_313_64',
+                       value = '-(complex(0,1)*G**2*ys**2)/(16.*cmath.pi**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_313_65 = Coupling(name = 'R2GC_313_65',
+                       value = '-(complex(0,1)*G**2*yt**2)/(16.*cmath.pi**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_313_66 = Coupling(name = 'R2GC_313_66',
+                       value = '-(complex(0,1)*G**2*yup**2)/(16.*cmath.pi**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_314_67 = Coupling(name = 'R2GC_314_67',
+                       value = '-(complex(0,1)*G**2*TH1x1**2*yb**2)/(16.*cmath.pi**2) - (complex(0,1)*G**2*TH2x1**2*ymb**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) + (complex(0,1)*G**2*TH1x1*TH2x1*yb*ymb)/(4.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_314_68 = Coupling(name = 'R2GC_314_68',
+                       value = '-(complex(0,1)*G**2*TH1x1**2*yc**2)/(16.*cmath.pi**2) - (complex(0,1)*G**2*TH2x1**2*ymc**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) + (complex(0,1)*G**2*TH1x1*TH2x1*yc*ymc)/(4.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_314_69 = Coupling(name = 'R2GC_314_69',
+                       value = '-(complex(0,1)*G**2*TH1x1**2*ydo**2)/(16.*cmath.pi**2) - (complex(0,1)*G**2*TH2x1**2*ymdo**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) + (complex(0,1)*G**2*TH1x1*TH2x1*ydo*ymdo)/(4.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_314_70 = Coupling(name = 'R2GC_314_70',
+                       value = '-(complex(0,1)*G**2*TH2x1**2*yms**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) - (complex(0,1)*G**2*TH1x1**2*ys**2)/(16.*cmath.pi**2) + (complex(0,1)*G**2*TH1x1*TH2x1*yms*ys)/(4.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_314_71 = Coupling(name = 'R2GC_314_71',
+                       value = '-(complex(0,1)*G**2*TH2x1**2*ymt**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) - (complex(0,1)*G**2*TH1x1**2*yt**2)/(16.*cmath.pi**2) + (complex(0,1)*G**2*TH1x1*TH2x1*ymt*yt)/(4.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_314_72 = Coupling(name = 'R2GC_314_72',
+                       value = '-(complex(0,1)*G**2*TH2x1**2*ymup**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) - (complex(0,1)*G**2*TH1x1**2*yup**2)/(16.*cmath.pi**2) + (complex(0,1)*G**2*TH1x1*TH2x1*ymup*yup)/(4.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_315_73 = Coupling(name = 'R2GC_315_73',
+                       value = '-(complex(0,1)*G**2*TH1x1*TH1x2*yb**2)/(16.*cmath.pi**2) - (complex(0,1)*G**2*TH2x1*TH2x2*ymb**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) + (complex(0,1)*G**2*TH1x2*TH2x1*yb*ymb)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) + (complex(0,1)*G**2*TH1x1*TH2x2*yb*ymb)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_315_74 = Coupling(name = 'R2GC_315_74',
+                       value = '-(complex(0,1)*G**2*TH1x1*TH1x2*yc**2)/(16.*cmath.pi**2) - (complex(0,1)*G**2*TH2x1*TH2x2*ymc**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) + (complex(0,1)*G**2*TH1x2*TH2x1*yc*ymc)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) + (complex(0,1)*G**2*TH1x1*TH2x2*yc*ymc)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_315_75 = Coupling(name = 'R2GC_315_75',
+                       value = '-(complex(0,1)*G**2*TH1x1*TH1x2*ydo**2)/(16.*cmath.pi**2) - (complex(0,1)*G**2*TH2x1*TH2x2*ymdo**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) + (complex(0,1)*G**2*TH1x2*TH2x1*ydo*ymdo)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) + (complex(0,1)*G**2*TH1x1*TH2x2*ydo*ymdo)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_315_76 = Coupling(name = 'R2GC_315_76',
+                       value = '-(complex(0,1)*G**2*TH2x1*TH2x2*yms**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) - (complex(0,1)*G**2*TH1x1*TH1x2*ys**2)/(16.*cmath.pi**2) + (complex(0,1)*G**2*TH1x2*TH2x1*yms*ys)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) + (complex(0,1)*G**2*TH1x1*TH2x2*yms*ys)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_315_77 = Coupling(name = 'R2GC_315_77',
+                       value = '-(complex(0,1)*G**2*TH2x1*TH2x2*ymt**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) - (complex(0,1)*G**2*TH1x1*TH1x2*yt**2)/(16.*cmath.pi**2) + (complex(0,1)*G**2*TH1x2*TH2x1*ymt*yt)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) + (complex(0,1)*G**2*TH1x1*TH2x2*ymt*yt)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_315_78 = Coupling(name = 'R2GC_315_78',
+                       value = '-(complex(0,1)*G**2*TH2x1*TH2x2*ymup**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) - (complex(0,1)*G**2*TH1x1*TH1x2*yup**2)/(16.*cmath.pi**2) + (complex(0,1)*G**2*TH1x2*TH2x1*ymup*yup)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) + (complex(0,1)*G**2*TH1x1*TH2x2*ymup*yup)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_316_79 = Coupling(name = 'R2GC_316_79',
+                       value = '-(complex(0,1)*G**2*TH1x2**2*yb**2)/(16.*cmath.pi**2) - (complex(0,1)*G**2*TH2x2**2*ymb**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) + (complex(0,1)*G**2*TH1x2*TH2x2*yb*ymb)/(4.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_316_80 = Coupling(name = 'R2GC_316_80',
+                       value = '-(complex(0,1)*G**2*TH1x2**2*yc**2)/(16.*cmath.pi**2) - (complex(0,1)*G**2*TH2x2**2*ymc**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) + (complex(0,1)*G**2*TH1x2*TH2x2*yc*ymc)/(4.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_316_81 = Coupling(name = 'R2GC_316_81',
+                       value = '-(complex(0,1)*G**2*TH1x2**2*ydo**2)/(16.*cmath.pi**2) - (complex(0,1)*G**2*TH2x2**2*ymdo**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) + (complex(0,1)*G**2*TH1x2*TH2x2*ydo*ymdo)/(4.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_316_82 = Coupling(name = 'R2GC_316_82',
+                       value = '-(complex(0,1)*G**2*TH2x2**2*yms**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) - (complex(0,1)*G**2*TH1x2**2*ys**2)/(16.*cmath.pi**2) + (complex(0,1)*G**2*TH1x2*TH2x2*yms*ys)/(4.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_316_83 = Coupling(name = 'R2GC_316_83',
+                       value = '-(complex(0,1)*G**2*TH2x2**2*ymt**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) - (complex(0,1)*G**2*TH1x2**2*yt**2)/(16.*cmath.pi**2) + (complex(0,1)*G**2*TH1x2*TH2x2*ymt*yt)/(4.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_316_84 = Coupling(name = 'R2GC_316_84',
+                       value = '-(complex(0,1)*G**2*TH2x2**2*ymup**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) - (complex(0,1)*G**2*TH1x2**2*yup**2)/(16.*cmath.pi**2) + (complex(0,1)*G**2*TH1x2*TH2x2*ymup*yup)/(4.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_317_85 = Coupling(name = 'R2GC_317_85',
+                       value = '(ee**2*complex(0,1)*G**2)/(96.*cmath.pi**2*sw**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_318_86 = Coupling(name = 'R2GC_318_86',
+                       value = '-(complex(0,1)*G**2*ymb**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) - (complex(0,1)*G**2*ymt**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_318_87 = Coupling(name = 'R2GC_318_87',
+                       value = '-(complex(0,1)*G**2*ymc**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) - (complex(0,1)*G**2*yms**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_318_88 = Coupling(name = 'R2GC_318_88',
+                       value = '-(complex(0,1)*G**2*ymdo**2)/(8.*cmath.pi**2*tanbeta**2*vev**2) - (complex(0,1)*G**2*ymup**2)/(8.*cmath.pi**2*tanbeta**2*vev**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_319_89 = Coupling(name = 'R2GC_319_89',
+                       value = '(complex(0,1)*G**2*yb*ymb)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) + (complex(0,1)*G**2*ymt*yt)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_319_90 = Coupling(name = 'R2GC_319_90',
+                       value = '(complex(0,1)*G**2*yc*ymc)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) + (complex(0,1)*G**2*yms*ys)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_319_91 = Coupling(name = 'R2GC_319_91',
+                       value = '(complex(0,1)*G**2*ydo*ymdo)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) + (complex(0,1)*G**2*ymup*yup)/(8.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_320_92 = Coupling(name = 'R2GC_320_92',
+                       value = '-(complex(0,1)*G**2*yb**2)/(16.*cmath.pi**2) - (complex(0,1)*G**2*yt**2)/(16.*cmath.pi**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_320_93 = Coupling(name = 'R2GC_320_93',
+                       value = '-(complex(0,1)*G**2*yc**2)/(16.*cmath.pi**2) - (complex(0,1)*G**2*ys**2)/(16.*cmath.pi**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_320_94 = Coupling(name = 'R2GC_320_94',
+                       value = '-(complex(0,1)*G**2*ydo**2)/(16.*cmath.pi**2) - (complex(0,1)*G**2*yup**2)/(16.*cmath.pi**2)',
+                       order = {'QCD':2,'QED':2})
+
+R2GC_323_95 = Coupling(name = 'R2GC_323_95',
+                       value = '-G**4/(192.*cmath.pi**2)',
+                       order = {'QCD':4})
+
+R2GC_323_96 = Coupling(name = 'R2GC_323_96',
+                       value = 'G**4/(64.*cmath.pi**2)',
+                       order = {'QCD':4})
+
+R2GC_324_97 = Coupling(name = 'R2GC_324_97',
+                       value = '-(complex(0,1)*G**4)/(192.*cmath.pi**2)',
+                       order = {'QCD':4})
+
+R2GC_324_98 = Coupling(name = 'R2GC_324_98',
+                       value = '(complex(0,1)*G**4)/(64.*cmath.pi**2)',
+                       order = {'QCD':4})
+
+R2GC_325_99 = Coupling(name = 'R2GC_325_99',
+                       value = '(complex(0,1)*G**4)/(192.*cmath.pi**2)',
+                       order = {'QCD':4})
+
+R2GC_325_100 = Coupling(name = 'R2GC_325_100',
+                        value = '-(complex(0,1)*G**4)/(64.*cmath.pi**2)',
+                        order = {'QCD':4})
+
+R2GC_326_101 = Coupling(name = 'R2GC_326_101',
+                        value = '-(complex(0,1)*G**4)/(48.*cmath.pi**2)',
+                        order = {'QCD':4})
+
+R2GC_327_102 = Coupling(name = 'R2GC_327_102',
+                        value = '(complex(0,1)*G**4)/(288.*cmath.pi**2)',
+                        order = {'QCD':4})
+
+R2GC_327_103 = Coupling(name = 'R2GC_327_103',
+                        value = '-(complex(0,1)*G**4)/(32.*cmath.pi**2)',
+                        order = {'QCD':4})
+
+R2GC_328_104 = Coupling(name = 'R2GC_328_104',
+                        value = '-(complex(0,1)*G**4)/(16.*cmath.pi**2)',
+                        order = {'QCD':4})
+
+R2GC_328_105 = Coupling(name = 'R2GC_328_105',
+                        value = '(complex(0,1)*G**4)/(4.*cmath.pi**2)',
+                        order = {'QCD':4})
+
+R2GC_329_106 = Coupling(name = 'R2GC_329_106',
+                        value = '(-3*complex(0,1)*G**4)/(64.*cmath.pi**2)',
+                        order = {'QCD':4})
+
+R2GC_329_107 = Coupling(name = 'R2GC_329_107',
+                        value = '(-23*complex(0,1)*G**4)/(64.*cmath.pi**2)',
+                        order = {'QCD':4})
+
+R2GC_330_108 = Coupling(name = 'R2GC_330_108',
+                        value = '(ee*complex(0,1)*G**2)/(18.*cmath.pi**2)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_331_109 = Coupling(name = 'R2GC_331_109',
+                        value = '-(complex(0,1)*G**3)/(6.*cmath.pi**2)',
+                        order = {'QCD':3})
+
+R2GC_332_110 = Coupling(name = 'R2GC_332_110',
+                        value = '-(ee*complex(0,1)*G**2)/(9.*cmath.pi**2)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_342_111 = Coupling(name = 'R2GC_342_111',
+                        value = '(complex(0,1)*G**2)/(12.*cmath.pi**2)',
+                        order = {'QCD':2})
+
+R2GC_345_112 = Coupling(name = 'R2GC_345_112',
+                        value = '(complex(0,1)*G**2*MB)/(6.*cmath.pi**2)',
+                        order = {'QCD':2})
+
+R2GC_346_113 = Coupling(name = 'R2GC_346_113',
+                        value = '(cw*ee*complex(0,1)*G**2)/(12.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_347_114 = Coupling(name = 'R2GC_347_114',
+                        value = '-(ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_348_115 = Coupling(name = 'R2GC_348_115',
+                        value = '-(G**2*yb)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_349_116 = Coupling(name = 'R2GC_349_116',
+                        value = '-(complex(0,1)*G**2*TH2x1*ymb)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yb)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_350_117 = Coupling(name = 'R2GC_350_117',
+                        value = '-(complex(0,1)*G**2*TH2x2*ymb)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yb)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_351_118 = Coupling(name = 'R2GC_351_118',
+                        value = '(G**2*TH3x3*ymb)/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_352_119 = Coupling(name = 'R2GC_352_119',
+                        value = '(G**2*TH3x4*ymb)/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_356_120 = Coupling(name = 'R2GC_356_120',
+                        value = '(complex(0,1)*G**2*MC)/(6.*cmath.pi**2)',
+                        order = {'QCD':2})
+
+R2GC_357_121 = Coupling(name = 'R2GC_357_121',
+                        value = '-(cw*ee*complex(0,1)*G**2)/(12.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_358_122 = Coupling(name = 'R2GC_358_122',
+                        value = '(ee*complex(0,1)*G**2*sw)/(9.*cw*cmath.pi**2)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_359_123 = Coupling(name = 'R2GC_359_123',
+                        value = '(G**2*yc)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_360_124 = Coupling(name = 'R2GC_360_124',
+                        value = '-(complex(0,1)*G**2*TH2x1*ymc)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yc)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_361_125 = Coupling(name = 'R2GC_361_125',
+                        value = '-(complex(0,1)*G**2*TH2x2*ymc)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yc)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_362_126 = Coupling(name = 'R2GC_362_126',
+                        value = '-(G**2*TH3x3*ymc)/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_363_127 = Coupling(name = 'R2GC_363_127',
+                        value = '-(G**2*TH3x4*ymc)/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_367_128 = Coupling(name = 'R2GC_367_128',
+                        value = '(complex(0,1)*G**2*MD)/(6.*cmath.pi**2)',
+                        order = {'QCD':2})
+
+R2GC_370_129 = Coupling(name = 'R2GC_370_129',
+                        value = '-(G**2*ydo)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_371_130 = Coupling(name = 'R2GC_371_130',
+                        value = '-(complex(0,1)*G**2*TH2x1*ymdo)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*ydo)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_372_131 = Coupling(name = 'R2GC_372_131',
+                        value = '-(complex(0,1)*G**2*TH2x2*ymdo)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*ydo)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_373_132 = Coupling(name = 'R2GC_373_132',
+                        value = '(G**2*TH3x3*ymdo)/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_374_133 = Coupling(name = 'R2GC_374_133',
+                        value = '(G**2*TH3x4*ymdo)/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_378_134 = Coupling(name = 'R2GC_378_134',
+                        value = '(complex(0,1)*G**2*MS)/(6.*cmath.pi**2)',
+                        order = {'QCD':2})
+
+R2GC_379_135 = Coupling(name = 'R2GC_379_135',
+                        value = '-(ee*complex(0,1)*G**2)/(6.*cmath.pi**2*sw*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_382_136 = Coupling(name = 'R2GC_382_136',
+                        value = '-(complex(0,1)*G**2*yc)/(3.*cmath.pi**2)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_383_137 = Coupling(name = 'R2GC_383_137',
+                        value = '(complex(0,1)*G**2*ymc*cmath.sqrt(2))/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_384_138 = Coupling(name = 'R2GC_384_138',
+                        value = '-(complex(0,1)*G**2*yms*cmath.sqrt(2))/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_385_139 = Coupling(name = 'R2GC_385_139',
+                        value = '(G**2*TH3x3*yms)/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_386_140 = Coupling(name = 'R2GC_386_140',
+                        value = '(G**2*TH3x4*yms)/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_387_141 = Coupling(name = 'R2GC_387_141',
+                        value = '(complex(0,1)*G**2*ys)/(3.*cmath.pi**2)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_388_142 = Coupling(name = 'R2GC_388_142',
+                        value = '-(G**2*ys)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_389_143 = Coupling(name = 'R2GC_389_143',
+                        value = '-(complex(0,1)*G**2*TH2x1*yms)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*ys)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_390_144 = Coupling(name = 'R2GC_390_144',
+                        value = '-(complex(0,1)*G**2*TH2x2*yms)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*ys)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_394_145 = Coupling(name = 'R2GC_394_145',
+                        value = '(complex(0,1)*G**2*MT)/(6.*cmath.pi**2)',
+                        order = {'QCD':2})
+
+R2GC_398_146 = Coupling(name = 'R2GC_398_146',
+                        value = '(complex(0,1)*G**2*yb)/(3.*cmath.pi**2)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_399_147 = Coupling(name = 'R2GC_399_147',
+                        value = '-(complex(0,1)*G**2*ymb*cmath.sqrt(2))/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_400_148 = Coupling(name = 'R2GC_400_148',
+                        value = '(complex(0,1)*G**2*ymt*cmath.sqrt(2))/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_401_149 = Coupling(name = 'R2GC_401_149',
+                        value = '-(G**2*TH3x3*ymt)/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_402_150 = Coupling(name = 'R2GC_402_150',
+                        value = '-(G**2*TH3x4*ymt)/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_403_151 = Coupling(name = 'R2GC_403_151',
+                        value = '-(complex(0,1)*G**2*yt)/(3.*cmath.pi**2)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_404_152 = Coupling(name = 'R2GC_404_152',
+                        value = '(G**2*yt)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_405_153 = Coupling(name = 'R2GC_405_153',
+                        value = '-(complex(0,1)*G**2*TH2x1*ymt)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yt)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_406_154 = Coupling(name = 'R2GC_406_154',
+                        value = '-(complex(0,1)*G**2*TH2x2*ymt)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yt)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_407_155 = Coupling(name = 'R2GC_407_155',
+                        value = '(complex(0,1)*G**2)/(48.*cmath.pi**2)',
+                        order = {'QCD':2})
+
+R2GC_407_156 = Coupling(name = 'R2GC_407_156',
+                        value = '(3*complex(0,1)*G**2)/(32.*cmath.pi**2)',
+                        order = {'QCD':2})
+
+R2GC_408_157 = Coupling(name = 'R2GC_408_157',
+                        value = '-(complex(0,1)*G**2)/(16.*cmath.pi**2)',
+                        order = {'QCD':2})
+
+R2GC_409_158 = Coupling(name = 'R2GC_409_158',
+                        value = 'G**3/(24.*cmath.pi**2)',
+                        order = {'QCD':3})
+
+R2GC_409_159 = Coupling(name = 'R2GC_409_159',
+                        value = '(11*G**3)/(64.*cmath.pi**2)',
+                        order = {'QCD':3})
+
+R2GC_410_160 = Coupling(name = 'R2GC_410_160',
+                        value = '(31*complex(0,1)*G**4)/(64.*cmath.pi**2)',
+                        order = {'QCD':4})
+
+R2GC_411_161 = Coupling(name = 'R2GC_411_161',
+                        value = '(5*complex(0,1)*G**4)/(48.*cmath.pi**2)',
+                        order = {'QCD':4})
+
+R2GC_411_162 = Coupling(name = 'R2GC_411_162',
+                        value = '(19*complex(0,1)*G**4)/(32.*cmath.pi**2)',
+                        order = {'QCD':4})
+
+R2GC_412_163 = Coupling(name = 'R2GC_412_163',
+                        value = '(23*complex(0,1)*G**4)/(192.*cmath.pi**2)',
+                        order = {'QCD':4})
+
+R2GC_413_164 = Coupling(name = 'R2GC_413_164',
+                        value = '(7*complex(0,1)*G**4)/(64.*cmath.pi**2)',
+                        order = {'QCD':4})
+
+R2GC_414_165 = Coupling(name = 'R2GC_414_165',
+                        value = '(-17*complex(0,1)*G**4)/(64.*cmath.pi**2)',
+                        order = {'QCD':4})
+
+R2GC_415_166 = Coupling(name = 'R2GC_415_166',
+                        value = '(-7*complex(0,1)*G**4)/(32.*cmath.pi**2)',
+                        order = {'QCD':4})
+
+R2GC_419_167 = Coupling(name = 'R2GC_419_167',
+                        value = '(complex(0,1)*G**2*MU)/(6.*cmath.pi**2)',
+                        order = {'QCD':2})
+
+R2GC_423_168 = Coupling(name = 'R2GC_423_168',
+                        value = '(complex(0,1)*G**2*ydo)/(3.*cmath.pi**2)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_424_169 = Coupling(name = 'R2GC_424_169',
+                        value = '-(complex(0,1)*G**2*ymdo*cmath.sqrt(2))/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_425_170 = Coupling(name = 'R2GC_425_170',
+                        value = '(complex(0,1)*G**2*ymup*cmath.sqrt(2))/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_426_171 = Coupling(name = 'R2GC_426_171',
+                        value = '-(G**2*TH3x3*ymup)/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_427_172 = Coupling(name = 'R2GC_427_172',
+                        value = '-(G**2*TH3x4*ymup)/(3.*cmath.pi**2*tanbeta*vev)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_428_173 = Coupling(name = 'R2GC_428_173',
+                        value = '-(complex(0,1)*G**2*yup)/(3.*cmath.pi**2)',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_429_174 = Coupling(name = 'R2GC_429_174',
+                        value = '(G**2*yup)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_430_175 = Coupling(name = 'R2GC_430_175',
+                        value = '-(complex(0,1)*G**2*TH2x1*ymup)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yup)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+R2GC_431_176 = Coupling(name = 'R2GC_431_176',
+                        value = '-(complex(0,1)*G**2*TH2x2*ymup)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yup)/(3.*cmath.pi**2*cmath.sqrt(2))',
+                        order = {'QCD':2,'QED':1})
+
+UVGC_321_1 = Coupling(name = 'UVGC_321_1',
+                      value = {-1:'(51*G**3)/(128.*cmath.pi**2)'},
+                      order = {'QCD':3})
+
+UVGC_322_2 = Coupling(name = 'UVGC_322_2',
+                      value = {-1:'G**3/(128.*cmath.pi**2)'},
+                      order = {'QCD':3})
+
+UVGC_323_3 = Coupling(name = 'UVGC_323_3',
+                      value = {-1:'(3*G**4)/(512.*cmath.pi**2)'},
+                      order = {'QCD':4})
+
+UVGC_323_4 = Coupling(name = 'UVGC_323_4',
+                      value = {-1:'(-3*G**4)/(512.*cmath.pi**2)'},
+                      order = {'QCD':4})
+
+UVGC_324_5 = Coupling(name = 'UVGC_324_5',
+                      value = {-1:'(3*complex(0,1)*G**4)/(512.*cmath.pi**2)'},
+                      order = {'QCD':4})
+
+UVGC_324_6 = Coupling(name = 'UVGC_324_6',
+                      value = {-1:'(-3*complex(0,1)*G**4)/(512.*cmath.pi**2)'},
+                      order = {'QCD':4})
+
+UVGC_326_7 = Coupling(name = 'UVGC_326_7',
+                      value = {-1:'-(complex(0,1)*G**4)/(128.*cmath.pi**2)'},
+                      order = {'QCD':4})
+
+UVGC_326_8 = Coupling(name = 'UVGC_326_8',
+                      value = {-1:'(complex(0,1)*G**4)/(128.*cmath.pi**2)'},
+                      order = {'QCD':4})
+
+UVGC_327_9 = Coupling(name = 'UVGC_327_9',
+                      value = {-1:'(-3*complex(0,1)*G**4)/(256.*cmath.pi**2)'},
+                      order = {'QCD':4})
+
+UVGC_327_10 = Coupling(name = 'UVGC_327_10',
+                       value = {-1:'(3*complex(0,1)*G**4)/(256.*cmath.pi**2)'},
+                       order = {'QCD':4})
+
+UVGC_328_11 = Coupling(name = 'UVGC_328_11',
+                       value = {-1:'-(complex(0,1)*G**4)/(24.*cmath.pi**2)'},
+                       order = {'QCD':4})
+
+UVGC_328_12 = Coupling(name = 'UVGC_328_12',
+                       value = {-1:'(47*complex(0,1)*G**4)/(128.*cmath.pi**2)'},
+                       order = {'QCD':4})
+
+UVGC_329_13 = Coupling(name = 'UVGC_329_13',
+                       value = {-1:'(-253*complex(0,1)*G**4)/(512.*cmath.pi**2)'},
+                       order = {'QCD':4})
+
+UVGC_329_14 = Coupling(name = 'UVGC_329_14',
+                       value = {-1:'(5*complex(0,1)*G**4)/(512.*cmath.pi**2)'},
+                       order = {'QCD':4})
+
+UVGC_330_15 = Coupling(name = 'UVGC_330_15',
+                       value = {-1:'(ee*complex(0,1)*G**2)/(36.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_331_16 = Coupling(name = 'UVGC_331_16',
+                       value = {-1:'(-13*complex(0,1)*G**3)/(48.*cmath.pi**2)'},
+                       order = {'QCD':3})
+
+UVGC_332_17 = Coupling(name = 'UVGC_332_17',
+                       value = {-1:'-(ee*complex(0,1)*G**2)/(18.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_342_18 = Coupling(name = 'UVGC_342_18',
+                       value = {-1:'( (complex(0,1)*G**2)/(6.*cmath.pi**2) if MB else -(complex(0,1)*G**2)/(12.*cmath.pi**2) ) + (complex(0,1)*G**2)/(12.*cmath.pi**2)',0:'( (5*complex(0,1)*G**2)/(12.*cmath.pi**2) - (complex(0,1)*G**2*reglog(MB/MU_R))/(2.*cmath.pi**2) if MB else (complex(0,1)*G**2)/(12.*cmath.pi**2) ) - (complex(0,1)*G**2)/(12.*cmath.pi**2)'},
+                       order = {'QCD':2})
+
+UVGC_343_19 = Coupling(name = 'UVGC_343_19',
+                       value = {-1:'( (ee*complex(0,1)*G**2)/(18.*cmath.pi**2) if MB else -(ee*complex(0,1)*G**2)/(36.*cmath.pi**2) )',0:'( (5*ee*complex(0,1)*G**2)/(36.*cmath.pi**2) - (ee*complex(0,1)*G**2*reglog(MB/MU_R))/(6.*cmath.pi**2) if MB else (ee*complex(0,1)*G**2)/(36.*cmath.pi**2) ) - (ee*complex(0,1)*G**2)/(36.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_344_20 = Coupling(name = 'UVGC_344_20',
+                       value = {-1:'( 0 if MB else (complex(0,1)*G**3)/(48.*cmath.pi**2) )'},
+                       order = {'QCD':3})
+
+UVGC_344_21 = Coupling(name = 'UVGC_344_21',
+                       value = {-1:'( 0 if MC else (complex(0,1)*G**3)/(48.*cmath.pi**2) )'},
+                       order = {'QCD':3})
+
+UVGC_344_22 = Coupling(name = 'UVGC_344_22',
+                       value = {-1:'( 0 if MD else (complex(0,1)*G**3)/(48.*cmath.pi**2) )'},
+                       order = {'QCD':3})
+
+UVGC_344_23 = Coupling(name = 'UVGC_344_23',
+                       value = {-1:'(-19*complex(0,1)*G**3)/(128.*cmath.pi**2)'},
+                       order = {'QCD':3})
+
+UVGC_344_24 = Coupling(name = 'UVGC_344_24',
+                       value = {-1:'-(complex(0,1)*G**3)/(128.*cmath.pi**2)'},
+                       order = {'QCD':3})
+
+UVGC_344_25 = Coupling(name = 'UVGC_344_25',
+                       value = {-1:'( 0 if MS else (complex(0,1)*G**3)/(48.*cmath.pi**2) )'},
+                       order = {'QCD':3})
+
+UVGC_344_26 = Coupling(name = 'UVGC_344_26',
+                       value = {-1:'( 0 if MT else (complex(0,1)*G**3)/(48.*cmath.pi**2) )'},
+                       order = {'QCD':3})
+
+UVGC_344_27 = Coupling(name = 'UVGC_344_27',
+                       value = {-1:'( 0 if MU else (complex(0,1)*G**3)/(48.*cmath.pi**2) )'},
+                       order = {'QCD':3})
+
+UVGC_344_28 = Coupling(name = 'UVGC_344_28',
+                       value = {-1:'( -(complex(0,1)*G**3)/(6.*cmath.pi**2) if MB else (complex(0,1)*G**3)/(12.*cmath.pi**2) )',0:'( (-5*complex(0,1)*G**3)/(12.*cmath.pi**2) + (complex(0,1)*G**3*reglog(MB/MU_R))/(2.*cmath.pi**2) if MB else -(complex(0,1)*G**3)/(12.*cmath.pi**2) ) + (complex(0,1)*G**3)/(12.*cmath.pi**2)'},
+                       order = {'QCD':3})
+
+UVGC_345_29 = Coupling(name = 'UVGC_345_29',
+                       value = {-1:'( (complex(0,1)*G**2*MB)/(6.*cmath.pi**2) if MB else -(complex(0,1)*G**2*MB)/(12.*cmath.pi**2) ) + (complex(0,1)*G**2*MB)/(3.*cmath.pi**2)',0:'( (3*complex(0,1)*G**2*MB)/(4.*cmath.pi**2) - (complex(0,1)*G**2*MB*reglog(MB/MU_R))/cmath.pi**2 if MB else (complex(0,1)*G**2*MB)/(12.*cmath.pi**2) ) - (complex(0,1)*G**2*MB)/(12.*cmath.pi**2)'},
+                       order = {'QCD':2})
+
+UVGC_346_30 = Coupling(name = 'UVGC_346_30',
+                       value = {-1:'( (cw*ee*complex(0,1)*G**2)/(12.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2) if MB else -(cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) ) + (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2)',0:'( (5*cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (5*ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) - (cw*ee*complex(0,1)*G**2*reglog(MB/MU_R))/(4.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw*reglog(MB/MU_R))/(12.*cw*cmath.pi**2) if MB else (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) ) - (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_347_31 = Coupling(name = 'UVGC_347_31',
+                       value = {-1:'( -(ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2) if MB else (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2) ) - (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2)',0:'( (-5*ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2) + (ee*complex(0,1)*G**2*sw*reglog(MB/MU_R))/(6.*cw*cmath.pi**2) if MB else -(ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2) ) + (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_348_32 = Coupling(name = 'UVGC_348_32',
+                       value = {-1:'( -(G**2*yb)/(6.*cmath.pi**2*cmath.sqrt(2)) if MB else (G**2*yb)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (G**2*yb)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (-3*G**2*yb)/(4.*cmath.pi**2*cmath.sqrt(2)) + (G**2*yb*reglog(MB/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MB else -(G**2*yb)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (G**2*yb)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_349_33 = Coupling(name = 'UVGC_349_33',
+                       value = {-1:'( -(complex(0,1)*G**2*TH2x1*ymb)/(6.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yb)/(6.*cmath.pi**2*cmath.sqrt(2)) if MB else (complex(0,1)*G**2*TH2x1*ymb)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*yb)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (complex(0,1)*G**2*TH2x1*ymb)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yb)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (-3*complex(0,1)*G**2*TH2x1*ymb)/(4.*cmath.pi**2*tanbeta*vev) + (3*complex(0,1)*G**2*TH1x1*yb)/(4.*cmath.pi**2*cmath.sqrt(2)) + (complex(0,1)*G**2*TH2x1*ymb*reglog(MB/MU_R))/(cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*yb*reglog(MB/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MB else -(complex(0,1)*G**2*TH2x1*ymb)/(12.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yb)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (complex(0,1)*G**2*TH2x1*ymb)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*yb)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_350_34 = Coupling(name = 'UVGC_350_34',
+                       value = {-1:'( -(complex(0,1)*G**2*TH2x2*ymb)/(6.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yb)/(6.*cmath.pi**2*cmath.sqrt(2)) if MB else (complex(0,1)*G**2*TH2x2*ymb)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*yb)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (complex(0,1)*G**2*TH2x2*ymb)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yb)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (-3*complex(0,1)*G**2*TH2x2*ymb)/(4.*cmath.pi**2*tanbeta*vev) + (3*complex(0,1)*G**2*TH1x2*yb)/(4.*cmath.pi**2*cmath.sqrt(2)) + (complex(0,1)*G**2*TH2x2*ymb*reglog(MB/MU_R))/(cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*yb*reglog(MB/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MB else -(complex(0,1)*G**2*TH2x2*ymb)/(12.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yb)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (complex(0,1)*G**2*TH2x2*ymb)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*yb)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_351_35 = Coupling(name = 'UVGC_351_35',
+                       value = {-1:'( (G**2*TH3x3*ymb)/(6.*cmath.pi**2*tanbeta*vev) if MB else -(G**2*TH3x3*ymb)/(12.*cmath.pi**2*tanbeta*vev) ) + (G**2*TH3x3*ymb)/(3.*cmath.pi**2*tanbeta*vev)',0:'( (3*G**2*TH3x3*ymb)/(4.*cmath.pi**2*tanbeta*vev) - (G**2*TH3x3*ymb*reglog(MB/MU_R))/(cmath.pi**2*tanbeta*vev) if MB else (G**2*TH3x3*ymb)/(12.*cmath.pi**2*tanbeta*vev) ) - (G**2*TH3x3*ymb)/(12.*cmath.pi**2*tanbeta*vev)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_352_36 = Coupling(name = 'UVGC_352_36',
+                       value = {-1:'( (G**2*TH3x4*ymb)/(6.*cmath.pi**2*tanbeta*vev) if MB else -(G**2*TH3x4*ymb)/(12.*cmath.pi**2*tanbeta*vev) ) + (G**2*TH3x4*ymb)/(3.*cmath.pi**2*tanbeta*vev)',0:'( (3*G**2*TH3x4*ymb)/(4.*cmath.pi**2*tanbeta*vev) - (G**2*TH3x4*ymb*reglog(MB/MU_R))/(cmath.pi**2*tanbeta*vev) if MB else (G**2*TH3x4*ymb)/(12.*cmath.pi**2*tanbeta*vev) ) - (G**2*TH3x4*ymb)/(12.*cmath.pi**2*tanbeta*vev)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_353_37 = Coupling(name = 'UVGC_353_37',
+                       value = {-1:'( (complex(0,1)*G**2)/(6.*cmath.pi**2) if MC else -(complex(0,1)*G**2)/(12.*cmath.pi**2) ) + (complex(0,1)*G**2)/(12.*cmath.pi**2)',0:'( (5*complex(0,1)*G**2)/(12.*cmath.pi**2) - (complex(0,1)*G**2*reglog(MC/MU_R))/(2.*cmath.pi**2) if MC else (complex(0,1)*G**2)/(12.*cmath.pi**2) ) - (complex(0,1)*G**2)/(12.*cmath.pi**2)'},
+                       order = {'QCD':2})
+
+UVGC_354_38 = Coupling(name = 'UVGC_354_38',
+                       value = {-1:'( -(ee*complex(0,1)*G**2)/(9.*cmath.pi**2) if MC else (ee*complex(0,1)*G**2)/(18.*cmath.pi**2) )',0:'( (-5*ee*complex(0,1)*G**2)/(18.*cmath.pi**2) + (ee*complex(0,1)*G**2*reglog(MC/MU_R))/(3.*cmath.pi**2) if MC else -(ee*complex(0,1)*G**2)/(18.*cmath.pi**2) ) + (ee*complex(0,1)*G**2)/(18.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_355_39 = Coupling(name = 'UVGC_355_39',
+                       value = {-1:'( -(complex(0,1)*G**3)/(6.*cmath.pi**2) if MC else (complex(0,1)*G**3)/(12.*cmath.pi**2) )',0:'( (-5*complex(0,1)*G**3)/(12.*cmath.pi**2) + (complex(0,1)*G**3*reglog(MC/MU_R))/(2.*cmath.pi**2) if MC else -(complex(0,1)*G**3)/(12.*cmath.pi**2) ) + (complex(0,1)*G**3)/(12.*cmath.pi**2)'},
+                       order = {'QCD':3})
+
+UVGC_356_40 = Coupling(name = 'UVGC_356_40',
+                       value = {-1:'( (complex(0,1)*G**2*MC)/(6.*cmath.pi**2) if MC else -(complex(0,1)*G**2*MC)/(12.*cmath.pi**2) ) + (complex(0,1)*G**2*MC)/(3.*cmath.pi**2)',0:'( (3*complex(0,1)*G**2*MC)/(4.*cmath.pi**2) - (complex(0,1)*G**2*MC*reglog(MC/MU_R))/cmath.pi**2 if MC else (complex(0,1)*G**2*MC)/(12.*cmath.pi**2) ) - (complex(0,1)*G**2*MC)/(12.*cmath.pi**2)'},
+                       order = {'QCD':2})
+
+UVGC_357_41 = Coupling(name = 'UVGC_357_41',
+                       value = {-1:'( -(cw*ee*complex(0,1)*G**2)/(12.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2) if MC else (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) ) - (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2)',0:'( (-5*cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (5*ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) + (cw*ee*complex(0,1)*G**2*reglog(MC/MU_R))/(4.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw*reglog(MC/MU_R))/(12.*cw*cmath.pi**2) if MC else -(cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) ) + (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_358_42 = Coupling(name = 'UVGC_358_42',
+                       value = {-1:'( (ee*complex(0,1)*G**2*sw)/(9.*cw*cmath.pi**2) if MC else -(ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2) ) + (ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2)',0:'( (5*ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2) - (ee*complex(0,1)*G**2*sw*reglog(MC/MU_R))/(3.*cw*cmath.pi**2) if MC else (ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2) ) - (ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_359_43 = Coupling(name = 'UVGC_359_43',
+                       value = {-1:'( (G**2*yc)/(6.*cmath.pi**2*cmath.sqrt(2)) if MC else -(G**2*yc)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (G**2*yc)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (3*G**2*yc)/(4.*cmath.pi**2*cmath.sqrt(2)) - (G**2*yc*reglog(MC/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MC else (G**2*yc)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (G**2*yc)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_360_44 = Coupling(name = 'UVGC_360_44',
+                       value = {-1:'( -(complex(0,1)*G**2*TH2x1*ymc)/(6.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yc)/(6.*cmath.pi**2*cmath.sqrt(2)) if MC else (complex(0,1)*G**2*TH2x1*ymc)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*yc)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (complex(0,1)*G**2*TH2x1*ymc)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yc)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (-3*complex(0,1)*G**2*TH2x1*ymc)/(4.*cmath.pi**2*tanbeta*vev) + (3*complex(0,1)*G**2*TH1x1*yc)/(4.*cmath.pi**2*cmath.sqrt(2)) + (complex(0,1)*G**2*TH2x1*ymc*reglog(MC/MU_R))/(cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*yc*reglog(MC/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MC else -(complex(0,1)*G**2*TH2x1*ymc)/(12.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yc)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (complex(0,1)*G**2*TH2x1*ymc)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*yc)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_361_45 = Coupling(name = 'UVGC_361_45',
+                       value = {-1:'( -(complex(0,1)*G**2*TH2x2*ymc)/(6.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yc)/(6.*cmath.pi**2*cmath.sqrt(2)) if MC else (complex(0,1)*G**2*TH2x2*ymc)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*yc)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (complex(0,1)*G**2*TH2x2*ymc)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yc)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (-3*complex(0,1)*G**2*TH2x2*ymc)/(4.*cmath.pi**2*tanbeta*vev) + (3*complex(0,1)*G**2*TH1x2*yc)/(4.*cmath.pi**2*cmath.sqrt(2)) + (complex(0,1)*G**2*TH2x2*ymc*reglog(MC/MU_R))/(cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*yc*reglog(MC/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MC else -(complex(0,1)*G**2*TH2x2*ymc)/(12.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yc)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (complex(0,1)*G**2*TH2x2*ymc)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*yc)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_362_46 = Coupling(name = 'UVGC_362_46',
+                       value = {-1:'( -(G**2*TH3x3*ymc)/(6.*cmath.pi**2*tanbeta*vev) if MC else (G**2*TH3x3*ymc)/(12.*cmath.pi**2*tanbeta*vev) ) - (G**2*TH3x3*ymc)/(3.*cmath.pi**2*tanbeta*vev)',0:'( (-3*G**2*TH3x3*ymc)/(4.*cmath.pi**2*tanbeta*vev) + (G**2*TH3x3*ymc*reglog(MC/MU_R))/(cmath.pi**2*tanbeta*vev) if MC else -(G**2*TH3x3*ymc)/(12.*cmath.pi**2*tanbeta*vev) ) + (G**2*TH3x3*ymc)/(12.*cmath.pi**2*tanbeta*vev)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_363_47 = Coupling(name = 'UVGC_363_47',
+                       value = {-1:'( -(G**2*TH3x4*ymc)/(6.*cmath.pi**2*tanbeta*vev) if MC else (G**2*TH3x4*ymc)/(12.*cmath.pi**2*tanbeta*vev) ) - (G**2*TH3x4*ymc)/(3.*cmath.pi**2*tanbeta*vev)',0:'( (-3*G**2*TH3x4*ymc)/(4.*cmath.pi**2*tanbeta*vev) + (G**2*TH3x4*ymc*reglog(MC/MU_R))/(cmath.pi**2*tanbeta*vev) if MC else -(G**2*TH3x4*ymc)/(12.*cmath.pi**2*tanbeta*vev) ) + (G**2*TH3x4*ymc)/(12.*cmath.pi**2*tanbeta*vev)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_364_48 = Coupling(name = 'UVGC_364_48',
+                       value = {-1:'( (complex(0,1)*G**2)/(6.*cmath.pi**2) if MD else -(complex(0,1)*G**2)/(12.*cmath.pi**2) ) + (complex(0,1)*G**2)/(12.*cmath.pi**2)',0:'( (5*complex(0,1)*G**2)/(12.*cmath.pi**2) - (complex(0,1)*G**2*reglog(MD/MU_R))/(2.*cmath.pi**2) if MD else (complex(0,1)*G**2)/(12.*cmath.pi**2) ) - (complex(0,1)*G**2)/(12.*cmath.pi**2)'},
+                       order = {'QCD':2})
+
+UVGC_365_49 = Coupling(name = 'UVGC_365_49',
+                       value = {-1:'( (ee*complex(0,1)*G**2)/(18.*cmath.pi**2) if MD else -(ee*complex(0,1)*G**2)/(36.*cmath.pi**2) )',0:'( (5*ee*complex(0,1)*G**2)/(36.*cmath.pi**2) - (ee*complex(0,1)*G**2*reglog(MD/MU_R))/(6.*cmath.pi**2) if MD else (ee*complex(0,1)*G**2)/(36.*cmath.pi**2) ) - (ee*complex(0,1)*G**2)/(36.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_366_50 = Coupling(name = 'UVGC_366_50',
+                       value = {-1:'( -(complex(0,1)*G**3)/(6.*cmath.pi**2) if MD else (complex(0,1)*G**3)/(12.*cmath.pi**2) )',0:'( (-5*complex(0,1)*G**3)/(12.*cmath.pi**2) + (complex(0,1)*G**3*reglog(MD/MU_R))/(2.*cmath.pi**2) if MD else -(complex(0,1)*G**3)/(12.*cmath.pi**2) ) + (complex(0,1)*G**3)/(12.*cmath.pi**2)'},
+                       order = {'QCD':3})
+
+UVGC_367_51 = Coupling(name = 'UVGC_367_51',
+                       value = {-1:'( (complex(0,1)*G**2*MD)/(6.*cmath.pi**2) if MD else -(complex(0,1)*G**2*MD)/(12.*cmath.pi**2) ) + (complex(0,1)*G**2*MD)/(3.*cmath.pi**2)',0:'( (3*complex(0,1)*G**2*MD)/(4.*cmath.pi**2) - (complex(0,1)*G**2*MD*reglog(MD/MU_R))/cmath.pi**2 if MD else (complex(0,1)*G**2*MD)/(12.*cmath.pi**2) ) - (complex(0,1)*G**2*MD)/(12.*cmath.pi**2)'},
+                       order = {'QCD':2})
+
+UVGC_368_52 = Coupling(name = 'UVGC_368_52',
+                       value = {-1:'( (cw*ee*complex(0,1)*G**2)/(12.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2) if MD else -(cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) ) + (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2)',0:'( (5*cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (5*ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) - (cw*ee*complex(0,1)*G**2*reglog(MD/MU_R))/(4.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw*reglog(MD/MU_R))/(12.*cw*cmath.pi**2) if MD else (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) ) - (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_369_53 = Coupling(name = 'UVGC_369_53',
+                       value = {-1:'( -(ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2) if MD else (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2) ) - (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2)',0:'( (-5*ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2) + (ee*complex(0,1)*G**2*sw*reglog(MD/MU_R))/(6.*cw*cmath.pi**2) if MD else -(ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2) ) + (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_370_54 = Coupling(name = 'UVGC_370_54',
+                       value = {-1:'( -(G**2*ydo)/(6.*cmath.pi**2*cmath.sqrt(2)) if MD else (G**2*ydo)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (G**2*ydo)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (-3*G**2*ydo)/(4.*cmath.pi**2*cmath.sqrt(2)) + (G**2*ydo*reglog(MD/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MD else -(G**2*ydo)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (G**2*ydo)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_371_55 = Coupling(name = 'UVGC_371_55',
+                       value = {-1:'( -(complex(0,1)*G**2*TH2x1*ymdo)/(6.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*ydo)/(6.*cmath.pi**2*cmath.sqrt(2)) if MD else (complex(0,1)*G**2*TH2x1*ymdo)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*ydo)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (complex(0,1)*G**2*TH2x1*ymdo)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*ydo)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (-3*complex(0,1)*G**2*TH2x1*ymdo)/(4.*cmath.pi**2*tanbeta*vev) + (3*complex(0,1)*G**2*TH1x1*ydo)/(4.*cmath.pi**2*cmath.sqrt(2)) + (complex(0,1)*G**2*TH2x1*ymdo*reglog(MD/MU_R))/(cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*ydo*reglog(MD/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MD else -(complex(0,1)*G**2*TH2x1*ymdo)/(12.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*ydo)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (complex(0,1)*G**2*TH2x1*ymdo)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*ydo)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_372_56 = Coupling(name = 'UVGC_372_56',
+                       value = {-1:'( -(complex(0,1)*G**2*TH2x2*ymdo)/(6.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*ydo)/(6.*cmath.pi**2*cmath.sqrt(2)) if MD else (complex(0,1)*G**2*TH2x2*ymdo)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*ydo)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (complex(0,1)*G**2*TH2x2*ymdo)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*ydo)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (-3*complex(0,1)*G**2*TH2x2*ymdo)/(4.*cmath.pi**2*tanbeta*vev) + (3*complex(0,1)*G**2*TH1x2*ydo)/(4.*cmath.pi**2*cmath.sqrt(2)) + (complex(0,1)*G**2*TH2x2*ymdo*reglog(MD/MU_R))/(cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*ydo*reglog(MD/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MD else -(complex(0,1)*G**2*TH2x2*ymdo)/(12.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*ydo)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (complex(0,1)*G**2*TH2x2*ymdo)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*ydo)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_373_57 = Coupling(name = 'UVGC_373_57',
+                       value = {-1:'( (G**2*TH3x3*ymdo)/(6.*cmath.pi**2*tanbeta*vev) if MD else -(G**2*TH3x3*ymdo)/(12.*cmath.pi**2*tanbeta*vev) ) + (G**2*TH3x3*ymdo)/(3.*cmath.pi**2*tanbeta*vev)',0:'( (3*G**2*TH3x3*ymdo)/(4.*cmath.pi**2*tanbeta*vev) - (G**2*TH3x3*ymdo*reglog(MD/MU_R))/(cmath.pi**2*tanbeta*vev) if MD else (G**2*TH3x3*ymdo)/(12.*cmath.pi**2*tanbeta*vev) ) - (G**2*TH3x3*ymdo)/(12.*cmath.pi**2*tanbeta*vev)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_374_58 = Coupling(name = 'UVGC_374_58',
+                       value = {-1:'( (G**2*TH3x4*ymdo)/(6.*cmath.pi**2*tanbeta*vev) if MD else -(G**2*TH3x4*ymdo)/(12.*cmath.pi**2*tanbeta*vev) ) + (G**2*TH3x4*ymdo)/(3.*cmath.pi**2*tanbeta*vev)',0:'( (3*G**2*TH3x4*ymdo)/(4.*cmath.pi**2*tanbeta*vev) - (G**2*TH3x4*ymdo*reglog(MD/MU_R))/(cmath.pi**2*tanbeta*vev) if MD else (G**2*TH3x4*ymdo)/(12.*cmath.pi**2*tanbeta*vev) ) - (G**2*TH3x4*ymdo)/(12.*cmath.pi**2*tanbeta*vev)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_375_59 = Coupling(name = 'UVGC_375_59',
+                       value = {-1:'( (complex(0,1)*G**2)/(6.*cmath.pi**2) if MS else -(complex(0,1)*G**2)/(12.*cmath.pi**2) ) + (complex(0,1)*G**2)/(12.*cmath.pi**2)',0:'( (5*complex(0,1)*G**2)/(12.*cmath.pi**2) - (complex(0,1)*G**2*reglog(MS/MU_R))/(2.*cmath.pi**2) if MS else (complex(0,1)*G**2)/(12.*cmath.pi**2) ) - (complex(0,1)*G**2)/(12.*cmath.pi**2)'},
+                       order = {'QCD':2})
+
+UVGC_376_60 = Coupling(name = 'UVGC_376_60',
+                       value = {-1:'( (ee*complex(0,1)*G**2)/(18.*cmath.pi**2) if MS else -(ee*complex(0,1)*G**2)/(36.*cmath.pi**2) )',0:'( (5*ee*complex(0,1)*G**2)/(36.*cmath.pi**2) - (ee*complex(0,1)*G**2*reglog(MS/MU_R))/(6.*cmath.pi**2) if MS else (ee*complex(0,1)*G**2)/(36.*cmath.pi**2) ) - (ee*complex(0,1)*G**2)/(36.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_377_61 = Coupling(name = 'UVGC_377_61',
+                       value = {-1:'( -(complex(0,1)*G**3)/(6.*cmath.pi**2) if MS else (complex(0,1)*G**3)/(12.*cmath.pi**2) )',0:'( (-5*complex(0,1)*G**3)/(12.*cmath.pi**2) + (complex(0,1)*G**3*reglog(MS/MU_R))/(2.*cmath.pi**2) if MS else -(complex(0,1)*G**3)/(12.*cmath.pi**2) ) + (complex(0,1)*G**3)/(12.*cmath.pi**2)'},
+                       order = {'QCD':3})
+
+UVGC_378_62 = Coupling(name = 'UVGC_378_62',
+                       value = {-1:'( (complex(0,1)*G**2*MS)/(6.*cmath.pi**2) if MS else -(complex(0,1)*G**2*MS)/(12.*cmath.pi**2) ) + (complex(0,1)*G**2*MS)/(3.*cmath.pi**2)',0:'( (3*complex(0,1)*G**2*MS)/(4.*cmath.pi**2) - (complex(0,1)*G**2*MS*reglog(MS/MU_R))/cmath.pi**2 if MS else (complex(0,1)*G**2*MS)/(12.*cmath.pi**2) ) - (complex(0,1)*G**2*MS)/(12.*cmath.pi**2)'},
+                       order = {'QCD':2})
+
+UVGC_379_63 = Coupling(name = 'UVGC_379_63',
+                       value = {-1:'( -(ee*complex(0,1)*G**2)/(12.*cmath.pi**2*sw*cmath.sqrt(2)) if MC else (ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) )',0:'( (-5*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) + (ee*complex(0,1)*G**2*reglog(MC/MU_R))/(4.*cmath.pi**2*sw*cmath.sqrt(2)) if MC else -(ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) ) + (ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_379_64 = Coupling(name = 'UVGC_379_64',
+                       value = {-1:'( -(ee*complex(0,1)*G**2)/(12.*cmath.pi**2*sw*cmath.sqrt(2)) if MS else (ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) )',0:'( (-5*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) + (ee*complex(0,1)*G**2*reglog(MS/MU_R))/(4.*cmath.pi**2*sw*cmath.sqrt(2)) if MS else -(ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) ) + (ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_379_65 = Coupling(name = 'UVGC_379_65',
+                       value = {-1:'-(ee*complex(0,1)*G**2)/(12.*cmath.pi**2*sw*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_380_66 = Coupling(name = 'UVGC_380_66',
+                       value = {-1:'( (cw*ee*complex(0,1)*G**2)/(12.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2) if MS else -(cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) ) + (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2)',0:'( (5*cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (5*ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) - (cw*ee*complex(0,1)*G**2*reglog(MS/MU_R))/(4.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw*reglog(MS/MU_R))/(12.*cw*cmath.pi**2) if MS else (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) ) - (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_381_67 = Coupling(name = 'UVGC_381_67',
+                       value = {-1:'( -(ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2) if MS else (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2) ) - (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2)',0:'( (-5*ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2) + (ee*complex(0,1)*G**2*sw*reglog(MS/MU_R))/(6.*cw*cmath.pi**2) if MS else -(ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2) ) + (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_382_68 = Coupling(name = 'UVGC_382_68',
+                       value = {-1:'( -(complex(0,1)*G**2*yc)/(12.*cmath.pi**2) if MC else (complex(0,1)*G**2*yc)/(24.*cmath.pi**2) )',0:'( (-13*complex(0,1)*G**2*yc)/(24.*cmath.pi**2) + (3*complex(0,1)*G**2*yc*reglog(MC/MU_R))/(4.*cmath.pi**2) if MC else -(complex(0,1)*G**2*yc)/(24.*cmath.pi**2) ) + (complex(0,1)*G**2*yc)/(24.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_382_69 = Coupling(name = 'UVGC_382_69',
+                       value = {-1:'( -(complex(0,1)*G**2*yc)/(12.*cmath.pi**2) if MS else (complex(0,1)*G**2*yc)/(24.*cmath.pi**2) )',0:'( (-5*complex(0,1)*G**2*yc)/(24.*cmath.pi**2) + (complex(0,1)*G**2*yc*reglog(MS/MU_R))/(4.*cmath.pi**2) if MS else -(complex(0,1)*G**2*yc)/(24.*cmath.pi**2) ) + (complex(0,1)*G**2*yc)/(24.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_382_70 = Coupling(name = 'UVGC_382_70',
+                       value = {-1:'-(complex(0,1)*G**2*yc)/(3.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_383_71 = Coupling(name = 'UVGC_383_71',
+                       value = {-1:'( (complex(0,1)*G**2*ymc)/(6.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MC else -(complex(0,1)*G**2*ymc)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) )',0:'( (13*complex(0,1)*G**2*ymc)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) - (3*complex(0,1)*G**2*ymc*reglog(MC/MU_R))/(2.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MC else (complex(0,1)*G**2*ymc)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) ) - (complex(0,1)*G**2*ymc)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_383_72 = Coupling(name = 'UVGC_383_72',
+                       value = {-1:'( (complex(0,1)*G**2*ymc)/(6.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MS else -(complex(0,1)*G**2*ymc)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) )',0:'( (5*complex(0,1)*G**2*ymc)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) - (complex(0,1)*G**2*ymc*reglog(MS/MU_R))/(2.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MS else (complex(0,1)*G**2*ymc)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) ) - (complex(0,1)*G**2*ymc)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_383_73 = Coupling(name = 'UVGC_383_73',
+                       value = {-1:'(complex(0,1)*G**2*ymc*cmath.sqrt(2))/(3.*cmath.pi**2*tanbeta*vev)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_384_74 = Coupling(name = 'UVGC_384_74',
+                       value = {-1:'( -(complex(0,1)*G**2*yms)/(6.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MC else (complex(0,1)*G**2*yms)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) )',0:'( (-5*complex(0,1)*G**2*yms)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) + (complex(0,1)*G**2*yms*reglog(MC/MU_R))/(2.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MC else -(complex(0,1)*G**2*yms)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) ) + (complex(0,1)*G**2*yms)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_384_75 = Coupling(name = 'UVGC_384_75',
+                       value = {-1:'( -(complex(0,1)*G**2*yms)/(6.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MS else (complex(0,1)*G**2*yms)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) )',0:'( (-13*complex(0,1)*G**2*yms)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) + (3*complex(0,1)*G**2*yms*reglog(MS/MU_R))/(2.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MS else -(complex(0,1)*G**2*yms)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) ) + (complex(0,1)*G**2*yms)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_384_76 = Coupling(name = 'UVGC_384_76',
+                       value = {-1:'-(complex(0,1)*G**2*yms*cmath.sqrt(2))/(3.*cmath.pi**2*tanbeta*vev)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_385_77 = Coupling(name = 'UVGC_385_77',
+                       value = {-1:'( (G**2*TH3x3*yms)/(6.*cmath.pi**2*tanbeta*vev) if MS else -(G**2*TH3x3*yms)/(12.*cmath.pi**2*tanbeta*vev) ) + (G**2*TH3x3*yms)/(3.*cmath.pi**2*tanbeta*vev)',0:'( (3*G**2*TH3x3*yms)/(4.*cmath.pi**2*tanbeta*vev) - (G**2*TH3x3*yms*reglog(MS/MU_R))/(cmath.pi**2*tanbeta*vev) if MS else (G**2*TH3x3*yms)/(12.*cmath.pi**2*tanbeta*vev) ) - (G**2*TH3x3*yms)/(12.*cmath.pi**2*tanbeta*vev)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_386_78 = Coupling(name = 'UVGC_386_78',
+                       value = {-1:'( (G**2*TH3x4*yms)/(6.*cmath.pi**2*tanbeta*vev) if MS else -(G**2*TH3x4*yms)/(12.*cmath.pi**2*tanbeta*vev) ) + (G**2*TH3x4*yms)/(3.*cmath.pi**2*tanbeta*vev)',0:'( (3*G**2*TH3x4*yms)/(4.*cmath.pi**2*tanbeta*vev) - (G**2*TH3x4*yms*reglog(MS/MU_R))/(cmath.pi**2*tanbeta*vev) if MS else (G**2*TH3x4*yms)/(12.*cmath.pi**2*tanbeta*vev) ) - (G**2*TH3x4*yms)/(12.*cmath.pi**2*tanbeta*vev)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_387_79 = Coupling(name = 'UVGC_387_79',
+                       value = {-1:'( (complex(0,1)*G**2*ys)/(12.*cmath.pi**2) if MC else -(complex(0,1)*G**2*ys)/(24.*cmath.pi**2) )',0:'( (5*complex(0,1)*G**2*ys)/(24.*cmath.pi**2) - (complex(0,1)*G**2*ys*reglog(MC/MU_R))/(4.*cmath.pi**2) if MC else (complex(0,1)*G**2*ys)/(24.*cmath.pi**2) ) - (complex(0,1)*G**2*ys)/(24.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_387_80 = Coupling(name = 'UVGC_387_80',
+                       value = {-1:'( (complex(0,1)*G**2*ys)/(12.*cmath.pi**2) if MS else -(complex(0,1)*G**2*ys)/(24.*cmath.pi**2) )',0:'( (13*complex(0,1)*G**2*ys)/(24.*cmath.pi**2) - (3*complex(0,1)*G**2*ys*reglog(MS/MU_R))/(4.*cmath.pi**2) if MS else (complex(0,1)*G**2*ys)/(24.*cmath.pi**2) ) - (complex(0,1)*G**2*ys)/(24.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_387_81 = Coupling(name = 'UVGC_387_81',
+                       value = {-1:'(complex(0,1)*G**2*ys)/(3.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_388_82 = Coupling(name = 'UVGC_388_82',
+                       value = {-1:'( -(G**2*ys)/(6.*cmath.pi**2*cmath.sqrt(2)) if MS else (G**2*ys)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (G**2*ys)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (-3*G**2*ys)/(4.*cmath.pi**2*cmath.sqrt(2)) + (G**2*ys*reglog(MS/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MS else -(G**2*ys)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (G**2*ys)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_389_83 = Coupling(name = 'UVGC_389_83',
+                       value = {-1:'( -(complex(0,1)*G**2*TH2x1*yms)/(6.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*ys)/(6.*cmath.pi**2*cmath.sqrt(2)) if MS else (complex(0,1)*G**2*TH2x1*yms)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*ys)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (complex(0,1)*G**2*TH2x1*yms)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*ys)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (-3*complex(0,1)*G**2*TH2x1*yms)/(4.*cmath.pi**2*tanbeta*vev) + (3*complex(0,1)*G**2*TH1x1*ys)/(4.*cmath.pi**2*cmath.sqrt(2)) + (complex(0,1)*G**2*TH2x1*yms*reglog(MS/MU_R))/(cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*ys*reglog(MS/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MS else -(complex(0,1)*G**2*TH2x1*yms)/(12.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*ys)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (complex(0,1)*G**2*TH2x1*yms)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*ys)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_390_84 = Coupling(name = 'UVGC_390_84',
+                       value = {-1:'( -(complex(0,1)*G**2*TH2x2*yms)/(6.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*ys)/(6.*cmath.pi**2*cmath.sqrt(2)) if MS else (complex(0,1)*G**2*TH2x2*yms)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*ys)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (complex(0,1)*G**2*TH2x2*yms)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*ys)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (-3*complex(0,1)*G**2*TH2x2*yms)/(4.*cmath.pi**2*tanbeta*vev) + (3*complex(0,1)*G**2*TH1x2*ys)/(4.*cmath.pi**2*cmath.sqrt(2)) + (complex(0,1)*G**2*TH2x2*yms*reglog(MS/MU_R))/(cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*ys*reglog(MS/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MS else -(complex(0,1)*G**2*TH2x2*yms)/(12.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*ys)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (complex(0,1)*G**2*TH2x2*yms)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*ys)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_391_85 = Coupling(name = 'UVGC_391_85',
+                       value = {-1:'( (complex(0,1)*G**2)/(6.*cmath.pi**2) if MT else -(complex(0,1)*G**2)/(12.*cmath.pi**2) ) + (complex(0,1)*G**2)/(12.*cmath.pi**2)',0:'( (5*complex(0,1)*G**2)/(12.*cmath.pi**2) - (complex(0,1)*G**2*reglog(MT/MU_R))/(2.*cmath.pi**2) if MT else (complex(0,1)*G**2)/(12.*cmath.pi**2) ) - (complex(0,1)*G**2)/(12.*cmath.pi**2)'},
+                       order = {'QCD':2})
+
+UVGC_392_86 = Coupling(name = 'UVGC_392_86',
+                       value = {-1:'( -(ee*complex(0,1)*G**2)/(9.*cmath.pi**2) if MT else (ee*complex(0,1)*G**2)/(18.*cmath.pi**2) )',0:'( (-5*ee*complex(0,1)*G**2)/(18.*cmath.pi**2) + (ee*complex(0,1)*G**2*reglog(MT/MU_R))/(3.*cmath.pi**2) if MT else -(ee*complex(0,1)*G**2)/(18.*cmath.pi**2) ) + (ee*complex(0,1)*G**2)/(18.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_393_87 = Coupling(name = 'UVGC_393_87',
+                       value = {-1:'( -(complex(0,1)*G**3)/(6.*cmath.pi**2) if MT else (complex(0,1)*G**3)/(12.*cmath.pi**2) )',0:'( (-5*complex(0,1)*G**3)/(12.*cmath.pi**2) + (complex(0,1)*G**3*reglog(MT/MU_R))/(2.*cmath.pi**2) if MT else -(complex(0,1)*G**3)/(12.*cmath.pi**2) ) + (complex(0,1)*G**3)/(12.*cmath.pi**2)'},
+                       order = {'QCD':3})
+
+UVGC_394_88 = Coupling(name = 'UVGC_394_88',
+                       value = {-1:'( (complex(0,1)*G**2*MT)/(6.*cmath.pi**2) if MT else -(complex(0,1)*G**2*MT)/(12.*cmath.pi**2) ) + (complex(0,1)*G**2*MT)/(3.*cmath.pi**2)',0:'( (3*complex(0,1)*G**2*MT)/(4.*cmath.pi**2) - (complex(0,1)*G**2*MT*reglog(MT/MU_R))/cmath.pi**2 if MT else (complex(0,1)*G**2*MT)/(12.*cmath.pi**2) ) - (complex(0,1)*G**2*MT)/(12.*cmath.pi**2)'},
+                       order = {'QCD':2})
+
+UVGC_395_89 = Coupling(name = 'UVGC_395_89',
+                       value = {-1:'( -(ee*complex(0,1)*G**2)/(12.*cmath.pi**2*sw*cmath.sqrt(2)) if MB else (ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) )',0:'( (-5*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) + (ee*complex(0,1)*G**2*reglog(MB/MU_R))/(4.*cmath.pi**2*sw*cmath.sqrt(2)) if MB else -(ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) ) + (ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_395_90 = Coupling(name = 'UVGC_395_90',
+                       value = {-1:'( -(ee*complex(0,1)*G**2)/(12.*cmath.pi**2*sw*cmath.sqrt(2)) if MT else (ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) )',0:'( (-5*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) + (ee*complex(0,1)*G**2*reglog(MT/MU_R))/(4.*cmath.pi**2*sw*cmath.sqrt(2)) if MT else -(ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) ) + (ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_396_91 = Coupling(name = 'UVGC_396_91',
+                       value = {-1:'( -(cw*ee*complex(0,1)*G**2)/(12.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2) if MT else (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) ) - (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2)',0:'( (-5*cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (5*ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) + (cw*ee*complex(0,1)*G**2*reglog(MT/MU_R))/(4.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw*reglog(MT/MU_R))/(12.*cw*cmath.pi**2) if MT else -(cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) ) + (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_397_92 = Coupling(name = 'UVGC_397_92',
+                       value = {-1:'( (ee*complex(0,1)*G**2*sw)/(9.*cw*cmath.pi**2) if MT else -(ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2) ) + (ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2)',0:'( (5*ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2) - (ee*complex(0,1)*G**2*sw*reglog(MT/MU_R))/(3.*cw*cmath.pi**2) if MT else (ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2) ) - (ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_398_93 = Coupling(name = 'UVGC_398_93',
+                       value = {-1:'( (complex(0,1)*G**2*yb)/(12.*cmath.pi**2) if MB else -(complex(0,1)*G**2*yb)/(24.*cmath.pi**2) )',0:'( (13*complex(0,1)*G**2*yb)/(24.*cmath.pi**2) - (3*complex(0,1)*G**2*yb*reglog(MB/MU_R))/(4.*cmath.pi**2) if MB else (complex(0,1)*G**2*yb)/(24.*cmath.pi**2) ) - (complex(0,1)*G**2*yb)/(24.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_398_94 = Coupling(name = 'UVGC_398_94',
+                       value = {-1:'( (complex(0,1)*G**2*yb)/(12.*cmath.pi**2) if MT else -(complex(0,1)*G**2*yb)/(24.*cmath.pi**2) )',0:'( (5*complex(0,1)*G**2*yb)/(24.*cmath.pi**2) - (complex(0,1)*G**2*yb*reglog(MT/MU_R))/(4.*cmath.pi**2) if MT else (complex(0,1)*G**2*yb)/(24.*cmath.pi**2) ) - (complex(0,1)*G**2*yb)/(24.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_398_95 = Coupling(name = 'UVGC_398_95',
+                       value = {-1:'(complex(0,1)*G**2*yb)/(3.*cmath.pi**2)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_399_96 = Coupling(name = 'UVGC_399_96',
+                       value = {-1:'( -(complex(0,1)*G**2*ymb)/(6.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MB else (complex(0,1)*G**2*ymb)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) )',0:'( (-13*complex(0,1)*G**2*ymb)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) + (3*complex(0,1)*G**2*ymb*reglog(MB/MU_R))/(2.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MB else -(complex(0,1)*G**2*ymb)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) ) + (complex(0,1)*G**2*ymb)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_399_97 = Coupling(name = 'UVGC_399_97',
+                       value = {-1:'( -(complex(0,1)*G**2*ymb)/(6.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MT else (complex(0,1)*G**2*ymb)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) )',0:'( (-5*complex(0,1)*G**2*ymb)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) + (complex(0,1)*G**2*ymb*reglog(MT/MU_R))/(2.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MT else -(complex(0,1)*G**2*ymb)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) ) + (complex(0,1)*G**2*ymb)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_399_98 = Coupling(name = 'UVGC_399_98',
+                       value = {-1:'-(complex(0,1)*G**2*ymb*cmath.sqrt(2))/(3.*cmath.pi**2*tanbeta*vev)'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_400_99 = Coupling(name = 'UVGC_400_99',
+                       value = {-1:'( (complex(0,1)*G**2*ymt)/(6.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MB else -(complex(0,1)*G**2*ymt)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) )',0:'( (5*complex(0,1)*G**2*ymt)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) - (complex(0,1)*G**2*ymt*reglog(MB/MU_R))/(2.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MB else (complex(0,1)*G**2*ymt)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) ) - (complex(0,1)*G**2*ymt)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))'},
+                       order = {'QCD':2,'QED':1})
+
+UVGC_400_100 = Coupling(name = 'UVGC_400_100',
+                        value = {-1:'( (complex(0,1)*G**2*ymt)/(6.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MT else -(complex(0,1)*G**2*ymt)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) )',0:'( (13*complex(0,1)*G**2*ymt)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) - (3*complex(0,1)*G**2*ymt*reglog(MT/MU_R))/(2.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MT else (complex(0,1)*G**2*ymt)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) ) - (complex(0,1)*G**2*ymt)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_400_101 = Coupling(name = 'UVGC_400_101',
+                        value = {-1:'(complex(0,1)*G**2*ymt*cmath.sqrt(2))/(3.*cmath.pi**2*tanbeta*vev)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_401_102 = Coupling(name = 'UVGC_401_102',
+                        value = {-1:'( -(G**2*TH3x3*ymt)/(6.*cmath.pi**2*tanbeta*vev) if MT else (G**2*TH3x3*ymt)/(12.*cmath.pi**2*tanbeta*vev) ) - (G**2*TH3x3*ymt)/(3.*cmath.pi**2*tanbeta*vev)',0:'( (-3*G**2*TH3x3*ymt)/(4.*cmath.pi**2*tanbeta*vev) + (G**2*TH3x3*ymt*reglog(MT/MU_R))/(cmath.pi**2*tanbeta*vev) if MT else -(G**2*TH3x3*ymt)/(12.*cmath.pi**2*tanbeta*vev) ) + (G**2*TH3x3*ymt)/(12.*cmath.pi**2*tanbeta*vev)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_402_103 = Coupling(name = 'UVGC_402_103',
+                        value = {-1:'( -(G**2*TH3x4*ymt)/(6.*cmath.pi**2*tanbeta*vev) if MT else (G**2*TH3x4*ymt)/(12.*cmath.pi**2*tanbeta*vev) ) - (G**2*TH3x4*ymt)/(3.*cmath.pi**2*tanbeta*vev)',0:'( (-3*G**2*TH3x4*ymt)/(4.*cmath.pi**2*tanbeta*vev) + (G**2*TH3x4*ymt*reglog(MT/MU_R))/(cmath.pi**2*tanbeta*vev) if MT else -(G**2*TH3x4*ymt)/(12.*cmath.pi**2*tanbeta*vev) ) + (G**2*TH3x4*ymt)/(12.*cmath.pi**2*tanbeta*vev)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_403_104 = Coupling(name = 'UVGC_403_104',
+                        value = {-1:'( -(complex(0,1)*G**2*yt)/(12.*cmath.pi**2) if MB else (complex(0,1)*G**2*yt)/(24.*cmath.pi**2) )',0:'( (-5*complex(0,1)*G**2*yt)/(24.*cmath.pi**2) + (complex(0,1)*G**2*yt*reglog(MB/MU_R))/(4.*cmath.pi**2) if MB else -(complex(0,1)*G**2*yt)/(24.*cmath.pi**2) ) + (complex(0,1)*G**2*yt)/(24.*cmath.pi**2)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_403_105 = Coupling(name = 'UVGC_403_105',
+                        value = {-1:'( -(complex(0,1)*G**2*yt)/(12.*cmath.pi**2) if MT else (complex(0,1)*G**2*yt)/(24.*cmath.pi**2) )',0:'( (-13*complex(0,1)*G**2*yt)/(24.*cmath.pi**2) + (3*complex(0,1)*G**2*yt*reglog(MT/MU_R))/(4.*cmath.pi**2) if MT else -(complex(0,1)*G**2*yt)/(24.*cmath.pi**2) ) + (complex(0,1)*G**2*yt)/(24.*cmath.pi**2)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_403_106 = Coupling(name = 'UVGC_403_106',
+                        value = {-1:'-(complex(0,1)*G**2*yt)/(3.*cmath.pi**2)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_404_107 = Coupling(name = 'UVGC_404_107',
+                        value = {-1:'( (G**2*yt)/(6.*cmath.pi**2*cmath.sqrt(2)) if MT else -(G**2*yt)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (G**2*yt)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (3*G**2*yt)/(4.*cmath.pi**2*cmath.sqrt(2)) - (G**2*yt*reglog(MT/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MT else (G**2*yt)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (G**2*yt)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_405_108 = Coupling(name = 'UVGC_405_108',
+                        value = {-1:'( -(complex(0,1)*G**2*TH2x1*ymt)/(6.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yt)/(6.*cmath.pi**2*cmath.sqrt(2)) if MT else (complex(0,1)*G**2*TH2x1*ymt)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*yt)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (complex(0,1)*G**2*TH2x1*ymt)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yt)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (-3*complex(0,1)*G**2*TH2x1*ymt)/(4.*cmath.pi**2*tanbeta*vev) + (3*complex(0,1)*G**2*TH1x1*yt)/(4.*cmath.pi**2*cmath.sqrt(2)) + (complex(0,1)*G**2*TH2x1*ymt*reglog(MT/MU_R))/(cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*yt*reglog(MT/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MT else -(complex(0,1)*G**2*TH2x1*ymt)/(12.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yt)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (complex(0,1)*G**2*TH2x1*ymt)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*yt)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_406_109 = Coupling(name = 'UVGC_406_109',
+                        value = {-1:'( -(complex(0,1)*G**2*TH2x2*ymt)/(6.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yt)/(6.*cmath.pi**2*cmath.sqrt(2)) if MT else (complex(0,1)*G**2*TH2x2*ymt)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*yt)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (complex(0,1)*G**2*TH2x2*ymt)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yt)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (-3*complex(0,1)*G**2*TH2x2*ymt)/(4.*cmath.pi**2*tanbeta*vev) + (3*complex(0,1)*G**2*TH1x2*yt)/(4.*cmath.pi**2*cmath.sqrt(2)) + (complex(0,1)*G**2*TH2x2*ymt*reglog(MT/MU_R))/(cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*yt*reglog(MT/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MT else -(complex(0,1)*G**2*TH2x2*ymt)/(12.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yt)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (complex(0,1)*G**2*TH2x2*ymt)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*yt)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_407_110 = Coupling(name = 'UVGC_407_110',
+                        value = {-1:'( 0 if MB else -(complex(0,1)*G**2)/(24.*cmath.pi**2) ) + (complex(0,1)*G**2)/(24.*cmath.pi**2)',0:'( -(complex(0,1)*G**2*reglog(MB/MU_R))/(12.*cmath.pi**2) if MB else 0 )'},
+                        order = {'QCD':2})
+
+UVGC_407_111 = Coupling(name = 'UVGC_407_111',
+                        value = {-1:'( 0 if MC else -(complex(0,1)*G**2)/(24.*cmath.pi**2) ) + (complex(0,1)*G**2)/(24.*cmath.pi**2)',0:'( -(complex(0,1)*G**2*reglog(MC/MU_R))/(12.*cmath.pi**2) if MC else 0 )'},
+                        order = {'QCD':2})
+
+UVGC_407_112 = Coupling(name = 'UVGC_407_112',
+                        value = {-1:'( 0 if MD else -(complex(0,1)*G**2)/(24.*cmath.pi**2) ) + (complex(0,1)*G**2)/(24.*cmath.pi**2)',0:'( -(complex(0,1)*G**2*reglog(MD/MU_R))/(12.*cmath.pi**2) if MD else 0 )'},
+                        order = {'QCD':2})
+
+UVGC_407_113 = Coupling(name = 'UVGC_407_113',
+                        value = {-1:'( 0 if MS else -(complex(0,1)*G**2)/(24.*cmath.pi**2) ) + (complex(0,1)*G**2)/(24.*cmath.pi**2)',0:'( -(complex(0,1)*G**2*reglog(MS/MU_R))/(12.*cmath.pi**2) if MS else 0 )'},
+                        order = {'QCD':2})
+
+UVGC_407_114 = Coupling(name = 'UVGC_407_114',
+                        value = {-1:'( 0 if MT else -(complex(0,1)*G**2)/(24.*cmath.pi**2) ) + (complex(0,1)*G**2)/(24.*cmath.pi**2)',0:'( -(complex(0,1)*G**2*reglog(MT/MU_R))/(12.*cmath.pi**2) if MT else 0 )'},
+                        order = {'QCD':2})
+
+UVGC_407_115 = Coupling(name = 'UVGC_407_115',
+                        value = {-1:'( 0 if MU else -(complex(0,1)*G**2)/(24.*cmath.pi**2) ) + (complex(0,1)*G**2)/(24.*cmath.pi**2)',0:'( -(complex(0,1)*G**2*reglog(MU/MU_R))/(12.*cmath.pi**2) if MU else 0 )'},
+                        order = {'QCD':2})
+
+UVGC_408_116 = Coupling(name = 'UVGC_408_116',
+                        value = {-1:'( 0 if MB else (complex(0,1)*G**2)/(24.*cmath.pi**2) ) - (complex(0,1)*G**2)/(24.*cmath.pi**2)',0:'( (complex(0,1)*G**2*reglog(MB/MU_R))/(12.*cmath.pi**2) if MB else 0 )'},
+                        order = {'QCD':2})
+
+UVGC_408_117 = Coupling(name = 'UVGC_408_117',
+                        value = {-1:'( 0 if MC else (complex(0,1)*G**2)/(24.*cmath.pi**2) ) - (complex(0,1)*G**2)/(24.*cmath.pi**2)',0:'( (complex(0,1)*G**2*reglog(MC/MU_R))/(12.*cmath.pi**2) if MC else 0 )'},
+                        order = {'QCD':2})
+
+UVGC_408_118 = Coupling(name = 'UVGC_408_118',
+                        value = {-1:'( 0 if MD else (complex(0,1)*G**2)/(24.*cmath.pi**2) ) - (complex(0,1)*G**2)/(24.*cmath.pi**2)',0:'( (complex(0,1)*G**2*reglog(MD/MU_R))/(12.*cmath.pi**2) if MD else 0 )'},
+                        order = {'QCD':2})
+
+UVGC_408_119 = Coupling(name = 'UVGC_408_119',
+                        value = {-1:'(3*complex(0,1)*G**2)/(64.*cmath.pi**2)'},
+                        order = {'QCD':2})
+
+UVGC_408_120 = Coupling(name = 'UVGC_408_120',
+                        value = {-1:'(-3*complex(0,1)*G**2)/(64.*cmath.pi**2)'},
+                        order = {'QCD':2})
+
+UVGC_408_121 = Coupling(name = 'UVGC_408_121',
+                        value = {-1:'( 0 if MS else (complex(0,1)*G**2)/(24.*cmath.pi**2) ) - (complex(0,1)*G**2)/(24.*cmath.pi**2)',0:'( (complex(0,1)*G**2*reglog(MS/MU_R))/(12.*cmath.pi**2) if MS else 0 )'},
+                        order = {'QCD':2})
+
+UVGC_408_122 = Coupling(name = 'UVGC_408_122',
+                        value = {-1:'( 0 if MT else (complex(0,1)*G**2)/(24.*cmath.pi**2) ) - (complex(0,1)*G**2)/(24.*cmath.pi**2)',0:'( (complex(0,1)*G**2*reglog(MT/MU_R))/(12.*cmath.pi**2) if MT else 0 )'},
+                        order = {'QCD':2})
+
+UVGC_408_123 = Coupling(name = 'UVGC_408_123',
+                        value = {-1:'( 0 if MU else (complex(0,1)*G**2)/(24.*cmath.pi**2) ) - (complex(0,1)*G**2)/(24.*cmath.pi**2)',0:'( (complex(0,1)*G**2*reglog(MU/MU_R))/(12.*cmath.pi**2) if MU else 0 )'},
+                        order = {'QCD':2})
+
+UVGC_409_124 = Coupling(name = 'UVGC_409_124',
+                        value = {-1:'( 0 if MB else -G**3/(16.*cmath.pi**2) ) + G**3/(24.*cmath.pi**2)',0:'( -(G**3*reglog(MB/MU_R))/(12.*cmath.pi**2) if MB else 0 )'},
+                        order = {'QCD':3})
+
+UVGC_409_125 = Coupling(name = 'UVGC_409_125',
+                        value = {-1:'( 0 if MC else -G**3/(16.*cmath.pi**2) ) + G**3/(24.*cmath.pi**2)',0:'( -(G**3*reglog(MC/MU_R))/(12.*cmath.pi**2) if MC else 0 )'},
+                        order = {'QCD':3})
+
+UVGC_409_126 = Coupling(name = 'UVGC_409_126',
+                        value = {-1:'( 0 if MD else -G**3/(16.*cmath.pi**2) ) + G**3/(24.*cmath.pi**2)',0:'( -(G**3*reglog(MD/MU_R))/(12.*cmath.pi**2) if MD else 0 )'},
+                        order = {'QCD':3})
+
+UVGC_409_127 = Coupling(name = 'UVGC_409_127',
+                        value = {-1:'( 0 if MS else -G**3/(16.*cmath.pi**2) ) + G**3/(24.*cmath.pi**2)',0:'( -(G**3*reglog(MS/MU_R))/(12.*cmath.pi**2) if MS else 0 )'},
+                        order = {'QCD':3})
+
+UVGC_409_128 = Coupling(name = 'UVGC_409_128',
+                        value = {-1:'( 0 if MT else -G**3/(16.*cmath.pi**2) ) + G**3/(24.*cmath.pi**2)',0:'( -(G**3*reglog(MT/MU_R))/(12.*cmath.pi**2) if MT else 0 )'},
+                        order = {'QCD':3})
+
+UVGC_409_129 = Coupling(name = 'UVGC_409_129',
+                        value = {-1:'( 0 if MU else -G**3/(16.*cmath.pi**2) ) + G**3/(24.*cmath.pi**2)',0:'( -(G**3*reglog(MU/MU_R))/(12.*cmath.pi**2) if MU else 0 )'},
+                        order = {'QCD':3})
+
+UVGC_410_130 = Coupling(name = 'UVGC_410_130',
+                        value = {-1:'( 0 if MB else -(complex(0,1)*G**4)/(12.*cmath.pi**2) )',0:'( -(complex(0,1)*G**4*reglog(MB/MU_R))/(12.*cmath.pi**2) if MB else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_410_131 = Coupling(name = 'UVGC_410_131',
+                        value = {-1:'( 0 if MC else -(complex(0,1)*G**4)/(12.*cmath.pi**2) )',0:'( -(complex(0,1)*G**4*reglog(MC/MU_R))/(12.*cmath.pi**2) if MC else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_410_132 = Coupling(name = 'UVGC_410_132',
+                        value = {-1:'( 0 if MD else -(complex(0,1)*G**4)/(12.*cmath.pi**2) )',0:'( -(complex(0,1)*G**4*reglog(MD/MU_R))/(12.*cmath.pi**2) if MD else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_410_133 = Coupling(name = 'UVGC_410_133',
+                        value = {-1:'(523*complex(0,1)*G**4)/(512.*cmath.pi**2)'},
+                        order = {'QCD':4})
+
+UVGC_410_134 = Coupling(name = 'UVGC_410_134',
+                        value = {-1:'(13*complex(0,1)*G**4)/(512.*cmath.pi**2)'},
+                        order = {'QCD':4})
+
+UVGC_410_135 = Coupling(name = 'UVGC_410_135',
+                        value = {-1:'( 0 if MS else -(complex(0,1)*G**4)/(12.*cmath.pi**2) )',0:'( -(complex(0,1)*G**4*reglog(MS/MU_R))/(12.*cmath.pi**2) if MS else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_410_136 = Coupling(name = 'UVGC_410_136',
+                        value = {-1:'( 0 if MT else -(complex(0,1)*G**4)/(12.*cmath.pi**2) )',0:'( -(complex(0,1)*G**4*reglog(MT/MU_R))/(12.*cmath.pi**2) if MT else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_410_137 = Coupling(name = 'UVGC_410_137',
+                        value = {-1:'( 0 if MU else -(complex(0,1)*G**4)/(12.*cmath.pi**2) )',0:'( -(complex(0,1)*G**4*reglog(MU/MU_R))/(12.*cmath.pi**2) if MU else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_411_138 = Coupling(name = 'UVGC_411_138',
+                        value = {-1:'( 0 if MB else -(complex(0,1)*G**4)/(12.*cmath.pi**2) ) + (complex(0,1)*G**4)/(12.*cmath.pi**2)',0:'( -(complex(0,1)*G**4*reglog(MB/MU_R))/(12.*cmath.pi**2) if MB else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_411_139 = Coupling(name = 'UVGC_411_139',
+                        value = {-1:'( 0 if MC else -(complex(0,1)*G**4)/(12.*cmath.pi**2) ) + (complex(0,1)*G**4)/(12.*cmath.pi**2)',0:'( -(complex(0,1)*G**4*reglog(MC/MU_R))/(12.*cmath.pi**2) if MC else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_411_140 = Coupling(name = 'UVGC_411_140',
+                        value = {-1:'( 0 if MD else -(complex(0,1)*G**4)/(12.*cmath.pi**2) ) + (complex(0,1)*G**4)/(12.*cmath.pi**2)',0:'( -(complex(0,1)*G**4*reglog(MD/MU_R))/(12.*cmath.pi**2) if MD else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_411_141 = Coupling(name = 'UVGC_411_141',
+                        value = {-1:'(147*complex(0,1)*G**4)/(128.*cmath.pi**2)'},
+                        order = {'QCD':4})
+
+UVGC_411_142 = Coupling(name = 'UVGC_411_142',
+                        value = {-1:'(3*complex(0,1)*G**4)/(128.*cmath.pi**2)'},
+                        order = {'QCD':4})
+
+UVGC_411_143 = Coupling(name = 'UVGC_411_143',
+                        value = {-1:'( 0 if MS else -(complex(0,1)*G**4)/(12.*cmath.pi**2) ) + (complex(0,1)*G**4)/(12.*cmath.pi**2)',0:'( -(complex(0,1)*G**4*reglog(MS/MU_R))/(12.*cmath.pi**2) if MS else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_411_144 = Coupling(name = 'UVGC_411_144',
+                        value = {-1:'( 0 if MT else -(complex(0,1)*G**4)/(12.*cmath.pi**2) ) + (complex(0,1)*G**4)/(12.*cmath.pi**2)',0:'( -(complex(0,1)*G**4*reglog(MT/MU_R))/(12.*cmath.pi**2) if MT else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_411_145 = Coupling(name = 'UVGC_411_145',
+                        value = {-1:'( 0 if MU else -(complex(0,1)*G**4)/(12.*cmath.pi**2) ) + (complex(0,1)*G**4)/(12.*cmath.pi**2)',0:'( -(complex(0,1)*G**4*reglog(MU/MU_R))/(12.*cmath.pi**2) if MU else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_412_146 = Coupling(name = 'UVGC_412_146',
+                        value = {-1:'(147*complex(0,1)*G**4)/(512.*cmath.pi**2)'},
+                        order = {'QCD':4})
+
+UVGC_412_147 = Coupling(name = 'UVGC_412_147',
+                        value = {-1:'(21*complex(0,1)*G**4)/(512.*cmath.pi**2)'},
+                        order = {'QCD':4})
+
+UVGC_413_148 = Coupling(name = 'UVGC_413_148',
+                        value = {-1:'( 0 if MB else (complex(0,1)*G**4)/(12.*cmath.pi**2) )',0:'( (complex(0,1)*G**4*reglog(MB/MU_R))/(12.*cmath.pi**2) if MB else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_413_149 = Coupling(name = 'UVGC_413_149',
+                        value = {-1:'( 0 if MC else (complex(0,1)*G**4)/(12.*cmath.pi**2) )',0:'( (complex(0,1)*G**4*reglog(MC/MU_R))/(12.*cmath.pi**2) if MC else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_413_150 = Coupling(name = 'UVGC_413_150',
+                        value = {-1:'( 0 if MD else (complex(0,1)*G**4)/(12.*cmath.pi**2) )',0:'( (complex(0,1)*G**4*reglog(MD/MU_R))/(12.*cmath.pi**2) if MD else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_413_151 = Coupling(name = 'UVGC_413_151',
+                        value = {-1:'(-85*complex(0,1)*G**4)/(512.*cmath.pi**2)'},
+                        order = {'QCD':4})
+
+UVGC_413_152 = Coupling(name = 'UVGC_413_152',
+                        value = {-1:'(-19*complex(0,1)*G**4)/(512.*cmath.pi**2)'},
+                        order = {'QCD':4})
+
+UVGC_413_153 = Coupling(name = 'UVGC_413_153',
+                        value = {-1:'( 0 if MS else (complex(0,1)*G**4)/(12.*cmath.pi**2) )',0:'( (complex(0,1)*G**4*reglog(MS/MU_R))/(12.*cmath.pi**2) if MS else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_413_154 = Coupling(name = 'UVGC_413_154',
+                        value = {-1:'( 0 if MT else (complex(0,1)*G**4)/(12.*cmath.pi**2) )',0:'( (complex(0,1)*G**4*reglog(MT/MU_R))/(12.*cmath.pi**2) if MT else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_413_155 = Coupling(name = 'UVGC_413_155',
+                        value = {-1:'( 0 if MU else (complex(0,1)*G**4)/(12.*cmath.pi**2) )',0:'( (complex(0,1)*G**4*reglog(MU/MU_R))/(12.*cmath.pi**2) if MU else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_414_156 = Coupling(name = 'UVGC_414_156',
+                        value = {-1:'( 0 if MB else (complex(0,1)*G**4)/(12.*cmath.pi**2) ) - (complex(0,1)*G**4)/(24.*cmath.pi**2)',0:'( (complex(0,1)*G**4*reglog(MB/MU_R))/(12.*cmath.pi**2) if MB else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_414_157 = Coupling(name = 'UVGC_414_157',
+                        value = {-1:'( 0 if MC else (complex(0,1)*G**4)/(12.*cmath.pi**2) ) - (complex(0,1)*G**4)/(24.*cmath.pi**2)',0:'( (complex(0,1)*G**4*reglog(MC/MU_R))/(12.*cmath.pi**2) if MC else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_414_158 = Coupling(name = 'UVGC_414_158',
+                        value = {-1:'( 0 if MD else (complex(0,1)*G**4)/(12.*cmath.pi**2) ) - (complex(0,1)*G**4)/(24.*cmath.pi**2)',0:'( (complex(0,1)*G**4*reglog(MD/MU_R))/(12.*cmath.pi**2) if MD else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_414_159 = Coupling(name = 'UVGC_414_159',
+                        value = {-1:'(-341*complex(0,1)*G**4)/(512.*cmath.pi**2)'},
+                        order = {'QCD':4})
+
+UVGC_414_160 = Coupling(name = 'UVGC_414_160',
+                        value = {-1:'(-11*complex(0,1)*G**4)/(512.*cmath.pi**2)'},
+                        order = {'QCD':4})
+
+UVGC_414_161 = Coupling(name = 'UVGC_414_161',
+                        value = {-1:'( 0 if MS else (complex(0,1)*G**4)/(12.*cmath.pi**2) ) - (complex(0,1)*G**4)/(24.*cmath.pi**2)',0:'( (complex(0,1)*G**4*reglog(MS/MU_R))/(12.*cmath.pi**2) if MS else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_414_162 = Coupling(name = 'UVGC_414_162',
+                        value = {-1:'( 0 if MT else (complex(0,1)*G**4)/(12.*cmath.pi**2) ) - (complex(0,1)*G**4)/(24.*cmath.pi**2)',0:'( (complex(0,1)*G**4*reglog(MT/MU_R))/(12.*cmath.pi**2) if MT else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_414_163 = Coupling(name = 'UVGC_414_163',
+                        value = {-1:'( 0 if MU else (complex(0,1)*G**4)/(12.*cmath.pi**2) ) - (complex(0,1)*G**4)/(24.*cmath.pi**2)',0:'( (complex(0,1)*G**4*reglog(MU/MU_R))/(12.*cmath.pi**2) if MU else 0 )'},
+                        order = {'QCD':4})
+
+UVGC_415_164 = Coupling(name = 'UVGC_415_164',
+                        value = {-1:'(-83*complex(0,1)*G**4)/(128.*cmath.pi**2)'},
+                        order = {'QCD':4})
+
+UVGC_415_165 = Coupling(name = 'UVGC_415_165',
+                        value = {-1:'(-5*complex(0,1)*G**4)/(128.*cmath.pi**2)'},
+                        order = {'QCD':4})
+
+UVGC_416_166 = Coupling(name = 'UVGC_416_166',
+                        value = {-1:'( (complex(0,1)*G**2)/(6.*cmath.pi**2) if MU else -(complex(0,1)*G**2)/(12.*cmath.pi**2) ) + (complex(0,1)*G**2)/(12.*cmath.pi**2)',0:'( (5*complex(0,1)*G**2)/(12.*cmath.pi**2) - (complex(0,1)*G**2*reglog(MU/MU_R))/(2.*cmath.pi**2) if MU else (complex(0,1)*G**2)/(12.*cmath.pi**2) ) - (complex(0,1)*G**2)/(12.*cmath.pi**2)'},
+                        order = {'QCD':2})
+
+UVGC_417_167 = Coupling(name = 'UVGC_417_167',
+                        value = {-1:'( -(ee*complex(0,1)*G**2)/(9.*cmath.pi**2) if MU else (ee*complex(0,1)*G**2)/(18.*cmath.pi**2) )',0:'( (-5*ee*complex(0,1)*G**2)/(18.*cmath.pi**2) + (ee*complex(0,1)*G**2*reglog(MU/MU_R))/(3.*cmath.pi**2) if MU else -(ee*complex(0,1)*G**2)/(18.*cmath.pi**2) ) + (ee*complex(0,1)*G**2)/(18.*cmath.pi**2)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_418_168 = Coupling(name = 'UVGC_418_168',
+                        value = {-1:'( -(complex(0,1)*G**3)/(6.*cmath.pi**2) if MU else (complex(0,1)*G**3)/(12.*cmath.pi**2) )',0:'( (-5*complex(0,1)*G**3)/(12.*cmath.pi**2) + (complex(0,1)*G**3*reglog(MU/MU_R))/(2.*cmath.pi**2) if MU else -(complex(0,1)*G**3)/(12.*cmath.pi**2) ) + (complex(0,1)*G**3)/(12.*cmath.pi**2)'},
+                        order = {'QCD':3})
+
+UVGC_419_169 = Coupling(name = 'UVGC_419_169',
+                        value = {-1:'( (complex(0,1)*G**2*MU)/(6.*cmath.pi**2) if MU else -(complex(0,1)*G**2*MU)/(12.*cmath.pi**2) ) + (complex(0,1)*G**2*MU)/(3.*cmath.pi**2)',0:'( (3*complex(0,1)*G**2*MU)/(4.*cmath.pi**2) - (complex(0,1)*G**2*MU*reglog(MU/MU_R))/cmath.pi**2 if MU else (complex(0,1)*G**2*MU)/(12.*cmath.pi**2) ) - (complex(0,1)*G**2*MU)/(12.*cmath.pi**2)'},
+                        order = {'QCD':2})
+
+UVGC_420_170 = Coupling(name = 'UVGC_420_170',
+                        value = {-1:'( -(ee*complex(0,1)*G**2)/(12.*cmath.pi**2*sw*cmath.sqrt(2)) if MD else (ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) )',0:'( (-5*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) + (ee*complex(0,1)*G**2*reglog(MD/MU_R))/(4.*cmath.pi**2*sw*cmath.sqrt(2)) if MD else -(ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) ) + (ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2))'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_420_171 = Coupling(name = 'UVGC_420_171',
+                        value = {-1:'( -(ee*complex(0,1)*G**2)/(12.*cmath.pi**2*sw*cmath.sqrt(2)) if MU else (ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) )',0:'( (-5*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) + (ee*complex(0,1)*G**2*reglog(MU/MU_R))/(4.*cmath.pi**2*sw*cmath.sqrt(2)) if MU else -(ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2)) ) + (ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw*cmath.sqrt(2))'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_421_172 = Coupling(name = 'UVGC_421_172',
+                        value = {-1:'( -(cw*ee*complex(0,1)*G**2)/(12.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(36.*cw*cmath.pi**2) if MU else (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) ) - (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2)',0:'( (-5*cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (5*ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) + (cw*ee*complex(0,1)*G**2*reglog(MU/MU_R))/(4.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw*reglog(MU/MU_R))/(12.*cw*cmath.pi**2) if MU else -(cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) + (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2) ) + (cw*ee*complex(0,1)*G**2)/(24.*cmath.pi**2*sw) - (ee*complex(0,1)*G**2*sw)/(72.*cw*cmath.pi**2)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_422_173 = Coupling(name = 'UVGC_422_173',
+                        value = {-1:'( (ee*complex(0,1)*G**2*sw)/(9.*cw*cmath.pi**2) if MU else -(ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2) ) + (ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2)',0:'( (5*ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2) - (ee*complex(0,1)*G**2*sw*reglog(MU/MU_R))/(3.*cw*cmath.pi**2) if MU else (ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2) ) - (ee*complex(0,1)*G**2*sw)/(18.*cw*cmath.pi**2)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_423_174 = Coupling(name = 'UVGC_423_174',
+                        value = {-1:'( (complex(0,1)*G**2*ydo)/(12.*cmath.pi**2) if MD else -(complex(0,1)*G**2*ydo)/(24.*cmath.pi**2) )',0:'( (13*complex(0,1)*G**2*ydo)/(24.*cmath.pi**2) - (3*complex(0,1)*G**2*ydo*reglog(MD/MU_R))/(4.*cmath.pi**2) if MD else (complex(0,1)*G**2*ydo)/(24.*cmath.pi**2) ) - (complex(0,1)*G**2*ydo)/(24.*cmath.pi**2)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_423_175 = Coupling(name = 'UVGC_423_175',
+                        value = {-1:'( (complex(0,1)*G**2*ydo)/(12.*cmath.pi**2) if MU else -(complex(0,1)*G**2*ydo)/(24.*cmath.pi**2) )',0:'( (5*complex(0,1)*G**2*ydo)/(24.*cmath.pi**2) - (complex(0,1)*G**2*ydo*reglog(MU/MU_R))/(4.*cmath.pi**2) if MU else (complex(0,1)*G**2*ydo)/(24.*cmath.pi**2) ) - (complex(0,1)*G**2*ydo)/(24.*cmath.pi**2)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_423_176 = Coupling(name = 'UVGC_423_176',
+                        value = {-1:'(complex(0,1)*G**2*ydo)/(3.*cmath.pi**2)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_424_177 = Coupling(name = 'UVGC_424_177',
+                        value = {-1:'( -(complex(0,1)*G**2*ymdo)/(6.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MD else (complex(0,1)*G**2*ymdo)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) )',0:'( (-13*complex(0,1)*G**2*ymdo)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) + (3*complex(0,1)*G**2*ymdo*reglog(MD/MU_R))/(2.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MD else -(complex(0,1)*G**2*ymdo)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) ) + (complex(0,1)*G**2*ymdo)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_424_178 = Coupling(name = 'UVGC_424_178',
+                        value = {-1:'( -(complex(0,1)*G**2*ymdo)/(6.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MU else (complex(0,1)*G**2*ymdo)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) )',0:'( (-5*complex(0,1)*G**2*ymdo)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) + (complex(0,1)*G**2*ymdo*reglog(MU/MU_R))/(2.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MU else -(complex(0,1)*G**2*ymdo)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) ) + (complex(0,1)*G**2*ymdo)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_424_179 = Coupling(name = 'UVGC_424_179',
+                        value = {-1:'-(complex(0,1)*G**2*ymdo*cmath.sqrt(2))/(3.*cmath.pi**2*tanbeta*vev)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_425_180 = Coupling(name = 'UVGC_425_180',
+                        value = {-1:'( (complex(0,1)*G**2*ymup)/(6.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MD else -(complex(0,1)*G**2*ymup)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) )',0:'( (5*complex(0,1)*G**2*ymup)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) - (complex(0,1)*G**2*ymup*reglog(MD/MU_R))/(2.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MD else (complex(0,1)*G**2*ymup)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) ) - (complex(0,1)*G**2*ymup)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_425_181 = Coupling(name = 'UVGC_425_181',
+                        value = {-1:'( (complex(0,1)*G**2*ymup)/(6.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MU else -(complex(0,1)*G**2*ymup)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) )',0:'( (13*complex(0,1)*G**2*ymup)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) - (3*complex(0,1)*G**2*ymup*reglog(MU/MU_R))/(2.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) if MU else (complex(0,1)*G**2*ymup)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2)) ) - (complex(0,1)*G**2*ymup)/(12.*cmath.pi**2*tanbeta*vev*cmath.sqrt(2))'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_425_182 = Coupling(name = 'UVGC_425_182',
+                        value = {-1:'(complex(0,1)*G**2*ymup*cmath.sqrt(2))/(3.*cmath.pi**2*tanbeta*vev)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_426_183 = Coupling(name = 'UVGC_426_183',
+                        value = {-1:'( -(G**2*TH3x3*ymup)/(6.*cmath.pi**2*tanbeta*vev) if MU else (G**2*TH3x3*ymup)/(12.*cmath.pi**2*tanbeta*vev) ) - (G**2*TH3x3*ymup)/(3.*cmath.pi**2*tanbeta*vev)',0:'( (-3*G**2*TH3x3*ymup)/(4.*cmath.pi**2*tanbeta*vev) + (G**2*TH3x3*ymup*reglog(MU/MU_R))/(cmath.pi**2*tanbeta*vev) if MU else -(G**2*TH3x3*ymup)/(12.*cmath.pi**2*tanbeta*vev) ) + (G**2*TH3x3*ymup)/(12.*cmath.pi**2*tanbeta*vev)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_427_184 = Coupling(name = 'UVGC_427_184',
+                        value = {-1:'( -(G**2*TH3x4*ymup)/(6.*cmath.pi**2*tanbeta*vev) if MU else (G**2*TH3x4*ymup)/(12.*cmath.pi**2*tanbeta*vev) ) - (G**2*TH3x4*ymup)/(3.*cmath.pi**2*tanbeta*vev)',0:'( (-3*G**2*TH3x4*ymup)/(4.*cmath.pi**2*tanbeta*vev) + (G**2*TH3x4*ymup*reglog(MU/MU_R))/(cmath.pi**2*tanbeta*vev) if MU else -(G**2*TH3x4*ymup)/(12.*cmath.pi**2*tanbeta*vev) ) + (G**2*TH3x4*ymup)/(12.*cmath.pi**2*tanbeta*vev)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_428_185 = Coupling(name = 'UVGC_428_185',
+                        value = {-1:'( -(complex(0,1)*G**2*yup)/(12.*cmath.pi**2) if MD else (complex(0,1)*G**2*yup)/(24.*cmath.pi**2) )',0:'( (-5*complex(0,1)*G**2*yup)/(24.*cmath.pi**2) + (complex(0,1)*G**2*yup*reglog(MD/MU_R))/(4.*cmath.pi**2) if MD else -(complex(0,1)*G**2*yup)/(24.*cmath.pi**2) ) + (complex(0,1)*G**2*yup)/(24.*cmath.pi**2)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_428_186 = Coupling(name = 'UVGC_428_186',
+                        value = {-1:'( -(complex(0,1)*G**2*yup)/(12.*cmath.pi**2) if MU else (complex(0,1)*G**2*yup)/(24.*cmath.pi**2) )',0:'( (-13*complex(0,1)*G**2*yup)/(24.*cmath.pi**2) + (3*complex(0,1)*G**2*yup*reglog(MU/MU_R))/(4.*cmath.pi**2) if MU else -(complex(0,1)*G**2*yup)/(24.*cmath.pi**2) ) + (complex(0,1)*G**2*yup)/(24.*cmath.pi**2)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_428_187 = Coupling(name = 'UVGC_428_187',
+                        value = {-1:'-(complex(0,1)*G**2*yup)/(3.*cmath.pi**2)'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_429_188 = Coupling(name = 'UVGC_429_188',
+                        value = {-1:'( (G**2*yup)/(6.*cmath.pi**2*cmath.sqrt(2)) if MU else -(G**2*yup)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (G**2*yup)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (3*G**2*yup)/(4.*cmath.pi**2*cmath.sqrt(2)) - (G**2*yup*reglog(MU/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MU else (G**2*yup)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (G**2*yup)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_430_189 = Coupling(name = 'UVGC_430_189',
+                        value = {-1:'( -(complex(0,1)*G**2*TH2x1*ymup)/(6.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yup)/(6.*cmath.pi**2*cmath.sqrt(2)) if MU else (complex(0,1)*G**2*TH2x1*ymup)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*yup)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (complex(0,1)*G**2*TH2x1*ymup)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yup)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (-3*complex(0,1)*G**2*TH2x1*ymup)/(4.*cmath.pi**2*tanbeta*vev) + (3*complex(0,1)*G**2*TH1x1*yup)/(4.*cmath.pi**2*cmath.sqrt(2)) + (complex(0,1)*G**2*TH2x1*ymup*reglog(MU/MU_R))/(cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*yup*reglog(MU/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MU else -(complex(0,1)*G**2*TH2x1*ymup)/(12.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x1*yup)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (complex(0,1)*G**2*TH2x1*ymup)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x1*yup)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                        order = {'QCD':2,'QED':1})
+
+UVGC_431_190 = Coupling(name = 'UVGC_431_190',
+                        value = {-1:'( -(complex(0,1)*G**2*TH2x2*ymup)/(6.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yup)/(6.*cmath.pi**2*cmath.sqrt(2)) if MU else (complex(0,1)*G**2*TH2x2*ymup)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*yup)/(12.*cmath.pi**2*cmath.sqrt(2)) ) - (complex(0,1)*G**2*TH2x2*ymup)/(3.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yup)/(3.*cmath.pi**2*cmath.sqrt(2))',0:'( (-3*complex(0,1)*G**2*TH2x2*ymup)/(4.*cmath.pi**2*tanbeta*vev) + (3*complex(0,1)*G**2*TH1x2*yup)/(4.*cmath.pi**2*cmath.sqrt(2)) + (complex(0,1)*G**2*TH2x2*ymup*reglog(MU/MU_R))/(cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*yup*reglog(MU/MU_R))/(cmath.pi**2*cmath.sqrt(2)) if MU else -(complex(0,1)*G**2*TH2x2*ymup)/(12.*cmath.pi**2*tanbeta*vev) + (complex(0,1)*G**2*TH1x2*yup)/(12.*cmath.pi**2*cmath.sqrt(2)) ) + (complex(0,1)*G**2*TH2x2*ymup)/(12.*cmath.pi**2*tanbeta*vev) - (complex(0,1)*G**2*TH1x2*yup)/(12.*cmath.pi**2*cmath.sqrt(2))'},
+                        order = {'QCD':2,'QED':1})
+
diff --git a/DM/Pseudoscalar_2HDMI/CT_vertices.py b/DM/Pseudoscalar_2HDMI/CT_vertices.py
new file mode 100644
index 00000000..156c59ae
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/CT_vertices.py
@@ -0,0 +1,1379 @@
+# This file was automatically created by FeynRules 2.3.43
+# Mathematica version: 12.1.0 for Mac OS X x86 (64-bit) (March 14, 2020)
+# Date: Wed 3 May 2023 19:36:57
+
+
+from object_library import all_vertices, all_CTvertices, Vertex, CTVertex
+import particles as P
+import CT_couplings as C
+import lorentz as L
+
+
+V_1 = CTVertex(name = 'V_1',
+               type = 'R2',
+               particles = [ P.g, P.g, P.g ],
+               color = [ 'f(1,2,3)' ],
+               lorentz = [ L.VVV2 ],
+               loop_particles = [ [ [P.b], [P.c], [P.d], [P.s], [P.t], [P.u] ], [ [P.g] ] ],
+               couplings = {(0,0,0):C.R2GC_409_158,(0,0,1):C.R2GC_409_159})
+
+V_2 = CTVertex(name = 'V_2',
+               type = 'R2',
+               particles = [ P.g, P.g, P.g, P.g ],
+               color = [ 'd(-1,1,3)*d(-1,2,4)', 'd(-1,1,3)*f(-1,2,4)', 'd(-1,1,4)*d(-1,2,3)', 'd(-1,1,4)*f(-1,2,3)', 'd(-1,2,3)*f(-1,1,4)', 'd(-1,2,4)*f(-1,1,3)', 'f(-1,1,2)*f(-1,3,4)', 'f(-1,1,3)*f(-1,2,4)', 'f(-1,1,4)*f(-1,2,3)', 'Identity(1,2)*Identity(3,4)', 'Identity(1,3)*Identity(2,4)', 'Identity(1,4)*Identity(2,3)' ],
+               lorentz = [ L.VVVV10, L.VVVV2, L.VVVV3, L.VVVV5 ],
+               loop_particles = [ [ [P.b], [P.c], [P.d], [P.s], [P.t], [P.u] ], [ [P.g] ] ],
+               couplings = {(2,1,0):C.R2GC_325_99,(2,1,1):C.R2GC_325_100,(0,1,0):C.R2GC_325_99,(0,1,1):C.R2GC_325_100,(6,1,0):C.R2GC_328_104,(6,1,1):C.R2GC_415_166,(4,1,0):C.R2GC_323_95,(4,1,1):C.R2GC_323_96,(3,1,0):C.R2GC_323_95,(3,1,1):C.R2GC_323_96,(8,1,0):C.R2GC_324_97,(8,1,1):C.R2GC_324_98,(7,1,0):C.R2GC_329_106,(7,1,1):C.R2GC_414_165,(5,1,0):C.R2GC_323_95,(5,1,1):C.R2GC_323_96,(1,1,0):C.R2GC_323_95,(1,1,1):C.R2GC_323_96,(11,0,0):C.R2GC_327_102,(11,0,1):C.R2GC_327_103,(10,0,0):C.R2GC_327_102,(10,0,1):C.R2GC_327_103,(9,0,1):C.R2GC_326_101,(2,2,0):C.R2GC_325_99,(2,2,1):C.R2GC_325_100,(0,2,0):C.R2GC_325_99,(0,2,1):C.R2GC_325_100,(4,2,0):C.R2GC_323_95,(4,2,1):C.R2GC_323_96,(3,2,0):C.R2GC_323_95,(3,2,1):C.R2GC_323_96,(8,2,0):C.R2GC_324_97,(8,2,1):C.R2GC_413_164,(6,2,0):C.R2GC_411_161,(6,2,1):C.R2GC_411_162,(7,2,0):C.R2GC_329_106,(7,2,1):C.R2GC_329_107,(5,2,0):C.R2GC_323_95,(5,2,1):C.R2GC_323_96,(1,2,0):C.R2GC_323_95,(1,2,1):C.R2GC_323_96,(2,3,0):C.R2GC_325_99,(2,3,1):C.R2GC_325_100,(0,3,0):C.R2GC_325_99,(0,3,1):C.R2GC_325_100,(4,3,0):C.R2GC_323_95,(4,3,1):C.R2GC_323_96,(3,3,0):C.R2GC_323_95,(3,3,1):C.R2GC_323_96,(8,3,0):C.R2GC_324_97,(8,3,1):C.R2GC_410_160,(6,3,0):C.R2GC_328_104,(6,3,1):C.R2GC_328_105,(7,3,0):C.R2GC_412_163,(7,3,1):C.R2GC_325_100,(5,3,0):C.R2GC_323_95,(5,3,1):C.R2GC_323_96,(1,3,0):C.R2GC_323_95,(1,3,1):C.R2GC_323_96})
+
+V_3 = CTVertex(name = 'V_3',
+               type = 'R2',
+               particles = [ P.d__tilde__, P.u, P.h__minus__ ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               loop_particles = [ [ [P.d, P.g, P.u] ] ],
+               couplings = {(0,0,0):C.R2GC_425_170,(0,1,0):C.R2GC_424_169})
+
+V_4 = CTVertex(name = 'V_4',
+               type = 'R2',
+               particles = [ P.s__tilde__, P.c, P.h__minus__ ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               loop_particles = [ [ [P.c, P.g, P.s] ] ],
+               couplings = {(0,0,0):C.R2GC_383_137,(0,1,0):C.R2GC_384_138})
+
+V_5 = CTVertex(name = 'V_5',
+               type = 'R2',
+               particles = [ P.b__tilde__, P.t, P.h__minus__ ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               loop_particles = [ [ [P.b, P.g, P.t] ] ],
+               couplings = {(0,0,0):C.R2GC_400_148,(0,1,0):C.R2GC_399_147})
+
+V_6 = CTVertex(name = 'V_6',
+               type = 'R2',
+               particles = [ P.u__tilde__, P.d, P.h__plus__ ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               loop_particles = [ [ [P.d, P.g, P.u] ] ],
+               couplings = {(0,0,0):C.R2GC_424_169,(0,1,0):C.R2GC_425_170})
+
+V_7 = CTVertex(name = 'V_7',
+               type = 'R2',
+               particles = [ P.c__tilde__, P.s, P.h__plus__ ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               loop_particles = [ [ [P.c, P.g, P.s] ] ],
+               couplings = {(0,0,0):C.R2GC_384_138,(0,1,0):C.R2GC_383_137})
+
+V_8 = CTVertex(name = 'V_8',
+               type = 'R2',
+               particles = [ P.t__tilde__, P.b, P.h__plus__ ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               loop_particles = [ [ [P.b, P.g, P.t] ] ],
+               couplings = {(0,0,0):C.R2GC_399_147,(0,1,0):C.R2GC_400_148})
+
+V_9 = CTVertex(name = 'V_9',
+               type = 'R2',
+               particles = [ P.u__tilde__, P.d, P.G__plus__ ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               loop_particles = [ [ [P.d, P.g, P.u] ] ],
+               couplings = {(0,0,0):C.R2GC_423_168,(0,1,0):C.R2GC_428_173})
+
+V_10 = CTVertex(name = 'V_10',
+                type = 'R2',
+                particles = [ P.c__tilde__, P.s, P.G__plus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS3, L.FFS5 ],
+                loop_particles = [ [ [P.c, P.g, P.s] ] ],
+                couplings = {(0,0,0):C.R2GC_387_141,(0,1,0):C.R2GC_382_136})
+
+V_11 = CTVertex(name = 'V_11',
+                type = 'R2',
+                particles = [ P.t__tilde__, P.b, P.G__plus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS3, L.FFS5 ],
+                loop_particles = [ [ [P.b, P.g, P.t] ] ],
+                couplings = {(0,0,0):C.R2GC_398_146,(0,1,0):C.R2GC_403_151})
+
+V_12 = CTVertex(name = 'V_12',
+                type = 'R2',
+                particles = [ P.d__tilde__, P.d, P.G0 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.d, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_370_129})
+
+V_13 = CTVertex(name = 'V_13',
+                type = 'R2',
+                particles = [ P.s__tilde__, P.s, P.G0 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.g, P.s] ] ],
+                couplings = {(0,0,0):C.R2GC_388_142})
+
+V_14 = CTVertex(name = 'V_14',
+                type = 'R2',
+                particles = [ P.b__tilde__, P.b, P.G0 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.b, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_348_115})
+
+V_15 = CTVertex(name = 'V_15',
+                type = 'R2',
+                particles = [ P.d__tilde__, P.u, P.G__minus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS3, L.FFS5 ],
+                loop_particles = [ [ [P.d, P.g, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_428_173,(0,1,0):C.R2GC_423_168})
+
+V_16 = CTVertex(name = 'V_16',
+                type = 'R2',
+                particles = [ P.s__tilde__, P.c, P.G__minus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS3, L.FFS5 ],
+                loop_particles = [ [ [P.c, P.g, P.s] ] ],
+                couplings = {(0,0,0):C.R2GC_382_136,(0,1,0):C.R2GC_387_141})
+
+V_17 = CTVertex(name = 'V_17',
+                type = 'R2',
+                particles = [ P.b__tilde__, P.t, P.G__minus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS3, L.FFS5 ],
+                loop_particles = [ [ [P.b, P.g, P.t] ] ],
+                couplings = {(0,0,0):C.R2GC_403_151,(0,1,0):C.R2GC_398_146})
+
+V_18 = CTVertex(name = 'V_18',
+                type = 'R2',
+                particles = [ P.u__tilde__, P.u, P.G0 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.g, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_429_174})
+
+V_19 = CTVertex(name = 'V_19',
+                type = 'R2',
+                particles = [ P.c__tilde__, P.c, P.G0 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.c, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_359_123})
+
+V_20 = CTVertex(name = 'V_20',
+                type = 'R2',
+                particles = [ P.t__tilde__, P.t, P.G0 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.g, P.t] ] ],
+                couplings = {(0,0,0):C.R2GC_404_152})
+
+V_21 = CTVertex(name = 'V_21',
+                type = 'R2',
+                particles = [ P.u__tilde__, P.u, P.h1 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS2 ],
+                loop_particles = [ [ [P.g, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_430_175})
+
+V_22 = CTVertex(name = 'V_22',
+                type = 'R2',
+                particles = [ P.u__tilde__, P.u, P.h2 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS2 ],
+                loop_particles = [ [ [P.g, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_431_176})
+
+V_23 = CTVertex(name = 'V_23',
+                type = 'R2',
+                particles = [ P.u__tilde__, P.u, P.h3 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.g, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_426_171})
+
+V_24 = CTVertex(name = 'V_24',
+                type = 'R2',
+                particles = [ P.u__tilde__, P.u, P.h4 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.g, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_427_172})
+
+V_25 = CTVertex(name = 'V_25',
+                type = 'R2',
+                particles = [ P.c__tilde__, P.c, P.h1 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS2 ],
+                loop_particles = [ [ [P.c, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_360_124})
+
+V_26 = CTVertex(name = 'V_26',
+                type = 'R2',
+                particles = [ P.c__tilde__, P.c, P.h2 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS2 ],
+                loop_particles = [ [ [P.c, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_361_125})
+
+V_27 = CTVertex(name = 'V_27',
+                type = 'R2',
+                particles = [ P.c__tilde__, P.c, P.h3 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.c, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_362_126})
+
+V_28 = CTVertex(name = 'V_28',
+                type = 'R2',
+                particles = [ P.c__tilde__, P.c, P.h4 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.c, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_363_127})
+
+V_29 = CTVertex(name = 'V_29',
+                type = 'R2',
+                particles = [ P.t__tilde__, P.t, P.h1 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS2 ],
+                loop_particles = [ [ [P.g, P.t] ] ],
+                couplings = {(0,0,0):C.R2GC_405_153})
+
+V_30 = CTVertex(name = 'V_30',
+                type = 'R2',
+                particles = [ P.t__tilde__, P.t, P.h2 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS2 ],
+                loop_particles = [ [ [P.g, P.t] ] ],
+                couplings = {(0,0,0):C.R2GC_406_154})
+
+V_31 = CTVertex(name = 'V_31',
+                type = 'R2',
+                particles = [ P.t__tilde__, P.t, P.h3 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.g, P.t] ] ],
+                couplings = {(0,0,0):C.R2GC_401_149})
+
+V_32 = CTVertex(name = 'V_32',
+                type = 'R2',
+                particles = [ P.t__tilde__, P.t, P.h4 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.g, P.t] ] ],
+                couplings = {(0,0,0):C.R2GC_402_150})
+
+V_33 = CTVertex(name = 'V_33',
+                type = 'R2',
+                particles = [ P.d__tilde__, P.d, P.h1 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS2 ],
+                loop_particles = [ [ [P.d, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_371_130})
+
+V_34 = CTVertex(name = 'V_34',
+                type = 'R2',
+                particles = [ P.d__tilde__, P.d, P.h2 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS2 ],
+                loop_particles = [ [ [P.d, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_372_131})
+
+V_35 = CTVertex(name = 'V_35',
+                type = 'R2',
+                particles = [ P.d__tilde__, P.d, P.h3 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.d, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_373_132})
+
+V_36 = CTVertex(name = 'V_36',
+                type = 'R2',
+                particles = [ P.d__tilde__, P.d, P.h4 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.d, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_374_133})
+
+V_37 = CTVertex(name = 'V_37',
+                type = 'R2',
+                particles = [ P.s__tilde__, P.s, P.h1 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS2 ],
+                loop_particles = [ [ [P.g, P.s] ] ],
+                couplings = {(0,0,0):C.R2GC_389_143})
+
+V_38 = CTVertex(name = 'V_38',
+                type = 'R2',
+                particles = [ P.s__tilde__, P.s, P.h2 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS2 ],
+                loop_particles = [ [ [P.g, P.s] ] ],
+                couplings = {(0,0,0):C.R2GC_390_144})
+
+V_39 = CTVertex(name = 'V_39',
+                type = 'R2',
+                particles = [ P.s__tilde__, P.s, P.h3 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.g, P.s] ] ],
+                couplings = {(0,0,0):C.R2GC_385_139})
+
+V_40 = CTVertex(name = 'V_40',
+                type = 'R2',
+                particles = [ P.s__tilde__, P.s, P.h4 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.g, P.s] ] ],
+                couplings = {(0,0,0):C.R2GC_386_140})
+
+V_41 = CTVertex(name = 'V_41',
+                type = 'R2',
+                particles = [ P.b__tilde__, P.b, P.h1 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS2 ],
+                loop_particles = [ [ [P.b, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_349_116})
+
+V_42 = CTVertex(name = 'V_42',
+                type = 'R2',
+                particles = [ P.b__tilde__, P.b, P.h2 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS2 ],
+                loop_particles = [ [ [P.b, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_350_117})
+
+V_43 = CTVertex(name = 'V_43',
+                type = 'R2',
+                particles = [ P.b__tilde__, P.b, P.h3 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.b, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_351_118})
+
+V_44 = CTVertex(name = 'V_44',
+                type = 'R2',
+                particles = [ P.b__tilde__, P.b, P.h4 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS1 ],
+                loop_particles = [ [ [P.b, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_352_119})
+
+V_45 = CTVertex(name = 'V_45',
+                type = 'R2',
+                particles = [ P.u__tilde__, P.u, P.a ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV1 ],
+                loop_particles = [ [ [P.g, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_332_110})
+
+V_46 = CTVertex(name = 'V_46',
+                type = 'R2',
+                particles = [ P.c__tilde__, P.c, P.a ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV1 ],
+                loop_particles = [ [ [P.c, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_332_110})
+
+V_47 = CTVertex(name = 'V_47',
+                type = 'R2',
+                particles = [ P.t__tilde__, P.t, P.a ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV1 ],
+                loop_particles = [ [ [P.g, P.t] ] ],
+                couplings = {(0,0,0):C.R2GC_332_110})
+
+V_48 = CTVertex(name = 'V_48',
+                type = 'R2',
+                particles = [ P.d__tilde__, P.d, P.a ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV1 ],
+                loop_particles = [ [ [P.d, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_330_108})
+
+V_49 = CTVertex(name = 'V_49',
+                type = 'R2',
+                particles = [ P.s__tilde__, P.s, P.a ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV1 ],
+                loop_particles = [ [ [P.g, P.s] ] ],
+                couplings = {(0,0,0):C.R2GC_330_108})
+
+V_50 = CTVertex(name = 'V_50',
+                type = 'R2',
+                particles = [ P.b__tilde__, P.b, P.a ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV1 ],
+                loop_particles = [ [ [P.b, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_330_108})
+
+V_51 = CTVertex(name = 'V_51',
+                type = 'R2',
+                particles = [ P.u__tilde__, P.u, P.g ],
+                color = [ 'T(3,2,1)' ],
+                lorentz = [ L.FFV1 ],
+                loop_particles = [ [ [P.g, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_331_109})
+
+V_52 = CTVertex(name = 'V_52',
+                type = 'R2',
+                particles = [ P.c__tilde__, P.c, P.g ],
+                color = [ 'T(3,2,1)' ],
+                lorentz = [ L.FFV1 ],
+                loop_particles = [ [ [P.c, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_331_109})
+
+V_53 = CTVertex(name = 'V_53',
+                type = 'R2',
+                particles = [ P.t__tilde__, P.t, P.g ],
+                color = [ 'T(3,2,1)' ],
+                lorentz = [ L.FFV1 ],
+                loop_particles = [ [ [P.g, P.t] ] ],
+                couplings = {(0,0,0):C.R2GC_331_109})
+
+V_54 = CTVertex(name = 'V_54',
+                type = 'R2',
+                particles = [ P.d__tilde__, P.d, P.g ],
+                color = [ 'T(3,2,1)' ],
+                lorentz = [ L.FFV1 ],
+                loop_particles = [ [ [P.d, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_331_109})
+
+V_55 = CTVertex(name = 'V_55',
+                type = 'R2',
+                particles = [ P.s__tilde__, P.s, P.g ],
+                color = [ 'T(3,2,1)' ],
+                lorentz = [ L.FFV1 ],
+                loop_particles = [ [ [P.g, P.s] ] ],
+                couplings = {(0,0,0):C.R2GC_331_109})
+
+V_56 = CTVertex(name = 'V_56',
+                type = 'R2',
+                particles = [ P.b__tilde__, P.b, P.g ],
+                color = [ 'T(3,2,1)' ],
+                lorentz = [ L.FFV1 ],
+                loop_particles = [ [ [P.b, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_331_109})
+
+V_57 = CTVertex(name = 'V_57',
+                type = 'R2',
+                particles = [ P.d__tilde__, P.u, P.W__minus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV2 ],
+                loop_particles = [ [ [P.d, P.g, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_379_135})
+
+V_58 = CTVertex(name = 'V_58',
+                type = 'R2',
+                particles = [ P.s__tilde__, P.c, P.W__minus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV2 ],
+                loop_particles = [ [ [P.c, P.g, P.s] ] ],
+                couplings = {(0,0,0):C.R2GC_379_135})
+
+V_59 = CTVertex(name = 'V_59',
+                type = 'R2',
+                particles = [ P.b__tilde__, P.t, P.W__minus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV2 ],
+                loop_particles = [ [ [P.b, P.g, P.t] ] ],
+                couplings = {(0,0,0):C.R2GC_379_135})
+
+V_60 = CTVertex(name = 'V_60',
+                type = 'R2',
+                particles = [ P.u__tilde__, P.d, P.W__plus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV2 ],
+                loop_particles = [ [ [P.d, P.g, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_379_135})
+
+V_61 = CTVertex(name = 'V_61',
+                type = 'R2',
+                particles = [ P.c__tilde__, P.s, P.W__plus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV2 ],
+                loop_particles = [ [ [P.c, P.g, P.s] ] ],
+                couplings = {(0,0,0):C.R2GC_379_135})
+
+V_62 = CTVertex(name = 'V_62',
+                type = 'R2',
+                particles = [ P.t__tilde__, P.b, P.W__plus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV2 ],
+                loop_particles = [ [ [P.b, P.g, P.t] ] ],
+                couplings = {(0,0,0):C.R2GC_379_135})
+
+V_63 = CTVertex(name = 'V_63',
+                type = 'R2',
+                particles = [ P.u__tilde__, P.u, P.Z ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV2, L.FFV3 ],
+                loop_particles = [ [ [P.g, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_357_121,(0,1,0):C.R2GC_358_122})
+
+V_64 = CTVertex(name = 'V_64',
+                type = 'R2',
+                particles = [ P.c__tilde__, P.c, P.Z ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV2, L.FFV3 ],
+                loop_particles = [ [ [P.c, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_357_121,(0,1,0):C.R2GC_358_122})
+
+V_65 = CTVertex(name = 'V_65',
+                type = 'R2',
+                particles = [ P.t__tilde__, P.t, P.Z ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV2, L.FFV3 ],
+                loop_particles = [ [ [P.g, P.t] ] ],
+                couplings = {(0,0,0):C.R2GC_357_121,(0,1,0):C.R2GC_358_122})
+
+V_66 = CTVertex(name = 'V_66',
+                type = 'R2',
+                particles = [ P.d__tilde__, P.d, P.Z ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV2, L.FFV3 ],
+                loop_particles = [ [ [P.d, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_346_113,(0,1,0):C.R2GC_347_114})
+
+V_67 = CTVertex(name = 'V_67',
+                type = 'R2',
+                particles = [ P.s__tilde__, P.s, P.Z ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV2, L.FFV3 ],
+                loop_particles = [ [ [P.g, P.s] ] ],
+                couplings = {(0,0,0):C.R2GC_346_113,(0,1,0):C.R2GC_347_114})
+
+V_68 = CTVertex(name = 'V_68',
+                type = 'R2',
+                particles = [ P.b__tilde__, P.b, P.Z ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFV2, L.FFV3 ],
+                loop_particles = [ [ [P.b, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_346_113,(0,1,0):C.R2GC_347_114})
+
+V_69 = CTVertex(name = 'V_69',
+                type = 'R2',
+                particles = [ P.u__tilde__, P.u ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FF1, L.FF2, L.FF3, L.FF4 ],
+                loop_particles = [ [ [P.g, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_419_167,(0,2,0):C.R2GC_419_167,(0,1,0):C.R2GC_342_111,(0,3,0):C.R2GC_342_111})
+
+V_70 = CTVertex(name = 'V_70',
+                type = 'R2',
+                particles = [ P.c__tilde__, P.c ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FF1, L.FF2, L.FF3, L.FF4 ],
+                loop_particles = [ [ [P.c, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_356_120,(0,2,0):C.R2GC_356_120,(0,1,0):C.R2GC_342_111,(0,3,0):C.R2GC_342_111})
+
+V_71 = CTVertex(name = 'V_71',
+                type = 'R2',
+                particles = [ P.t__tilde__, P.t ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FF1, L.FF2, L.FF3, L.FF4 ],
+                loop_particles = [ [ [P.g, P.t] ] ],
+                couplings = {(0,0,0):C.R2GC_394_145,(0,2,0):C.R2GC_394_145,(0,1,0):C.R2GC_342_111,(0,3,0):C.R2GC_342_111})
+
+V_72 = CTVertex(name = 'V_72',
+                type = 'R2',
+                particles = [ P.d__tilde__, P.d ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FF1, L.FF2, L.FF3, L.FF4 ],
+                loop_particles = [ [ [P.d, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_367_128,(0,2,0):C.R2GC_367_128,(0,1,0):C.R2GC_342_111,(0,3,0):C.R2GC_342_111})
+
+V_73 = CTVertex(name = 'V_73',
+                type = 'R2',
+                particles = [ P.s__tilde__, P.s ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FF1, L.FF2, L.FF3, L.FF4 ],
+                loop_particles = [ [ [P.g, P.s] ] ],
+                couplings = {(0,0,0):C.R2GC_378_134,(0,2,0):C.R2GC_378_134,(0,1,0):C.R2GC_342_111,(0,3,0):C.R2GC_342_111})
+
+V_74 = CTVertex(name = 'V_74',
+                type = 'R2',
+                particles = [ P.b__tilde__, P.b ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FF1, L.FF2, L.FF3, L.FF4 ],
+                loop_particles = [ [ [P.b, P.g] ] ],
+                couplings = {(0,0,0):C.R2GC_345_112,(0,2,0):C.R2GC_345_112,(0,1,0):C.R2GC_342_111,(0,3,0):C.R2GC_342_111})
+
+V_75 = CTVertex(name = 'V_75',
+                type = 'R2',
+                particles = [ P.g, P.g ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VV1, L.VV2, L.VV3 ],
+                loop_particles = [ [ [P.b] ], [ [P.b], [P.c], [P.d], [P.s], [P.t], [P.u] ], [ [P.c] ], [ [P.d] ], [ [P.g] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                couplings = {(0,0,4):C.R2GC_408_157,(0,1,0):C.R2GC_301_5,(0,1,2):C.R2GC_301_6,(0,1,3):C.R2GC_301_7,(0,1,5):C.R2GC_301_8,(0,1,6):C.R2GC_301_9,(0,1,7):C.R2GC_301_10,(0,2,1):C.R2GC_407_155,(0,2,4):C.R2GC_407_156})
+
+V_76 = CTVertex(name = 'V_76',
+                type = 'R2',
+                particles = [ P.g, P.g, P.h1 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVS1 ],
+                loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_309_37,(0,0,1):C.R2GC_309_38,(0,0,2):C.R2GC_309_39,(0,0,3):C.R2GC_309_40,(0,0,4):C.R2GC_309_41,(0,0,5):C.R2GC_309_42})
+
+V_77 = CTVertex(name = 'V_77',
+                type = 'R2',
+                particles = [ P.g, P.g, P.h2 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVS1 ],
+                loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_310_43,(0,0,1):C.R2GC_310_44,(0,0,2):C.R2GC_310_45,(0,0,3):C.R2GC_310_46,(0,0,4):C.R2GC_310_47,(0,0,5):C.R2GC_310_48})
+
+V_78 = CTVertex(name = 'V_78',
+                type = 'R2',
+                particles = [ P.g, P.g, P.W__minus__, P.W__plus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVVV2, L.VVVV3, L.VVVV5 ],
+                loop_particles = [ [ [P.b, P.t], [P.c, P.s], [P.d, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_317_85,(0,1,0):C.R2GC_317_85,(0,2,0):C.R2GC_317_85})
+
+V_79 = CTVertex(name = 'V_79',
+                type = 'R2',
+                particles = [ P.a, P.g, P.g, P.Z ],
+                color = [ 'Identity(2,3)' ],
+                lorentz = [ L.VVVV2, L.VVVV3, L.VVVV5 ],
+                loop_particles = [ [ [P.b], [P.d], [P.s] ], [ [P.c], [P.t], [P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_302_11,(0,0,1):C.R2GC_302_12,(0,1,0):C.R2GC_302_11,(0,1,1):C.R2GC_302_12,(0,2,0):C.R2GC_302_11,(0,2,1):C.R2GC_302_12})
+
+V_80 = CTVertex(name = 'V_80',
+                type = 'R2',
+                particles = [ P.g, P.g, P.Z, P.Z ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVVV2, L.VVVV3, L.VVVV5 ],
+                loop_particles = [ [ [P.b], [P.d], [P.s] ], [ [P.c], [P.t], [P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_305_17,(0,0,1):C.R2GC_305_18,(0,1,0):C.R2GC_305_17,(0,1,1):C.R2GC_305_18,(0,2,0):C.R2GC_305_17,(0,2,1):C.R2GC_305_18})
+
+V_81 = CTVertex(name = 'V_81',
+                type = 'R2',
+                particles = [ P.a, P.a, P.g, P.g ],
+                color = [ 'Identity(3,4)' ],
+                lorentz = [ L.VVVV2, L.VVVV3, L.VVVV5 ],
+                loop_particles = [ [ [P.b], [P.d], [P.s] ], [ [P.c], [P.t], [P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_299_1,(0,0,1):C.R2GC_299_2,(0,1,0):C.R2GC_299_1,(0,1,1):C.R2GC_299_2,(0,2,0):C.R2GC_299_1,(0,2,1):C.R2GC_299_2})
+
+V_82 = CTVertex(name = 'V_82',
+                type = 'R2',
+                particles = [ P.g, P.g, P.g, P.Z ],
+                color = [ 'd(1,2,3)', 'f(1,2,3)' ],
+                lorentz = [ L.VVVV1, L.VVVV2, L.VVVV3, L.VVVV5 ],
+                loop_particles = [ [ [P.b], [P.d], [P.s] ], [ [P.c], [P.t], [P.u] ] ],
+                couplings = {(1,0,0):C.R2GC_304_15,(1,0,1):C.R2GC_304_16,(0,1,0):C.R2GC_303_13,(0,1,1):C.R2GC_303_14,(0,2,0):C.R2GC_303_13,(0,2,1):C.R2GC_303_14,(0,3,0):C.R2GC_303_13,(0,3,1):C.R2GC_303_14})
+
+V_83 = CTVertex(name = 'V_83',
+                type = 'R2',
+                particles = [ P.a, P.g, P.g, P.g ],
+                color = [ 'd(2,3,4)' ],
+                lorentz = [ L.VVVV2, L.VVVV3, L.VVVV5 ],
+                loop_particles = [ [ [P.b], [P.d], [P.s] ], [ [P.c], [P.t], [P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_300_3,(0,0,1):C.R2GC_300_4,(0,1,0):C.R2GC_300_3,(0,1,1):C.R2GC_300_4,(0,2,0):C.R2GC_300_3,(0,2,1):C.R2GC_300_4})
+
+V_84 = CTVertex(name = 'V_84',
+                type = 'R2',
+                particles = [ P.g, P.g, P.G0, P.G0 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVSS1 ],
+                loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_313_61,(0,0,1):C.R2GC_313_62,(0,0,2):C.R2GC_313_63,(0,0,3):C.R2GC_313_64,(0,0,4):C.R2GC_313_65,(0,0,5):C.R2GC_313_66})
+
+V_85 = CTVertex(name = 'V_85',
+                type = 'R2',
+                particles = [ P.g, P.g, P.G__minus__, P.G__plus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVSS1 ],
+                loop_particles = [ [ [P.b, P.t] ], [ [P.c, P.s] ], [ [P.d, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_320_92,(0,0,1):C.R2GC_320_93,(0,0,2):C.R2GC_320_94})
+
+V_86 = CTVertex(name = 'V_86',
+                type = 'R2',
+                particles = [ P.g, P.g, P.G__minus__, P.h__plus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVSS1 ],
+                loop_particles = [ [ [P.b, P.t] ], [ [P.c, P.s] ], [ [P.d, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_319_89,(0,0,1):C.R2GC_319_90,(0,0,2):C.R2GC_319_91})
+
+V_87 = CTVertex(name = 'V_87',
+                type = 'R2',
+                particles = [ P.g, P.g, P.G__plus__, P.h__minus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVSS1 ],
+                loop_particles = [ [ [P.b, P.t] ], [ [P.c, P.s] ], [ [P.d, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_319_89,(0,0,1):C.R2GC_319_90,(0,0,2):C.R2GC_319_91})
+
+V_88 = CTVertex(name = 'V_88',
+                type = 'R2',
+                particles = [ P.g, P.g, P.h__minus__, P.h__plus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVSS1 ],
+                loop_particles = [ [ [P.b, P.t] ], [ [P.c, P.s] ], [ [P.d, P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_318_86,(0,0,1):C.R2GC_318_87,(0,0,2):C.R2GC_318_88})
+
+V_89 = CTVertex(name = 'V_89',
+                type = 'R2',
+                particles = [ P.g, P.g, P.h1, P.h1 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVSS1 ],
+                loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_314_67,(0,0,1):C.R2GC_314_68,(0,0,2):C.R2GC_314_69,(0,0,3):C.R2GC_314_70,(0,0,4):C.R2GC_314_71,(0,0,5):C.R2GC_314_72})
+
+V_90 = CTVertex(name = 'V_90',
+                type = 'R2',
+                particles = [ P.g, P.g, P.h1, P.h2 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVSS1 ],
+                loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_315_73,(0,0,1):C.R2GC_315_74,(0,0,2):C.R2GC_315_75,(0,0,3):C.R2GC_315_76,(0,0,4):C.R2GC_315_77,(0,0,5):C.R2GC_315_78})
+
+V_91 = CTVertex(name = 'V_91',
+                type = 'R2',
+                particles = [ P.g, P.g, P.h2, P.h2 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVSS1 ],
+                loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_316_79,(0,0,1):C.R2GC_316_80,(0,0,2):C.R2GC_316_81,(0,0,3):C.R2GC_316_82,(0,0,4):C.R2GC_316_83,(0,0,5):C.R2GC_316_84})
+
+V_92 = CTVertex(name = 'V_92',
+                type = 'R2',
+                particles = [ P.g, P.g, P.G0, P.h3 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVSS1 ],
+                loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_311_49,(0,0,1):C.R2GC_311_50,(0,0,2):C.R2GC_311_51,(0,0,3):C.R2GC_311_52,(0,0,4):C.R2GC_311_53,(0,0,5):C.R2GC_311_54})
+
+V_93 = CTVertex(name = 'V_93',
+                type = 'R2',
+                particles = [ P.g, P.g, P.h3, P.h3 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVSS1 ],
+                loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_306_19,(0,0,1):C.R2GC_306_20,(0,0,2):C.R2GC_306_21,(0,0,3):C.R2GC_306_22,(0,0,4):C.R2GC_306_23,(0,0,5):C.R2GC_306_24})
+
+V_94 = CTVertex(name = 'V_94',
+                type = 'R2',
+                particles = [ P.g, P.g, P.G0, P.h4 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVSS1 ],
+                loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_312_55,(0,0,1):C.R2GC_312_56,(0,0,2):C.R2GC_312_57,(0,0,3):C.R2GC_312_58,(0,0,4):C.R2GC_312_59,(0,0,5):C.R2GC_312_60})
+
+V_95 = CTVertex(name = 'V_95',
+                type = 'R2',
+                particles = [ P.g, P.g, P.h3, P.h4 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVSS1 ],
+                loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_307_25,(0,0,1):C.R2GC_307_26,(0,0,2):C.R2GC_307_27,(0,0,3):C.R2GC_307_28,(0,0,4):C.R2GC_307_29,(0,0,5):C.R2GC_307_30})
+
+V_96 = CTVertex(name = 'V_96',
+                type = 'R2',
+                particles = [ P.g, P.g, P.h4, P.h4 ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.VVSS1 ],
+                loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                couplings = {(0,0,0):C.R2GC_308_31,(0,0,1):C.R2GC_308_32,(0,0,2):C.R2GC_308_33,(0,0,3):C.R2GC_308_34,(0,0,4):C.R2GC_308_35,(0,0,5):C.R2GC_308_36})
+
+V_97 = CTVertex(name = 'V_97',
+                type = 'UV',
+                particles = [ P.g, P.g, P.g ],
+                color = [ 'f(1,2,3)' ],
+                lorentz = [ L.VVV1, L.VVV2, L.VVV3 ],
+                loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.g] ], [ [P.ghG] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                couplings = {(0,1,0):C.UVGC_409_124,(0,1,1):C.UVGC_409_125,(0,1,2):C.UVGC_409_126,(0,1,5):C.UVGC_409_127,(0,1,6):C.UVGC_409_128,(0,1,7):C.UVGC_409_129,(0,2,3):C.UVGC_321_1,(0,0,4):C.UVGC_322_2})
+
+V_98 = CTVertex(name = 'V_98',
+                type = 'UV',
+                particles = [ P.g, P.g, P.g, P.g ],
+                color = [ 'd(-1,1,3)*d(-1,2,4)', 'd(-1,1,3)*f(-1,2,4)', 'd(-1,1,4)*d(-1,2,3)', 'd(-1,1,4)*f(-1,2,3)', 'd(-1,2,3)*f(-1,1,4)', 'd(-1,2,4)*f(-1,1,3)', 'f(-1,1,2)*f(-1,3,4)', 'f(-1,1,3)*f(-1,2,4)', 'f(-1,1,4)*f(-1,2,3)', 'Identity(1,2)*Identity(3,4)', 'Identity(1,3)*Identity(2,4)', 'Identity(1,4)*Identity(2,3)' ],
+                lorentz = [ L.VVVV10, L.VVVV2, L.VVVV3, L.VVVV5 ],
+                loop_particles = [ [ [P.b] ], [ [P.b], [P.c], [P.d], [P.s], [P.t], [P.u] ], [ [P.c] ], [ [P.d] ], [ [P.g] ], [ [P.ghG] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                couplings = {(2,1,4):C.UVGC_324_6,(2,1,5):C.UVGC_324_5,(0,1,4):C.UVGC_324_6,(0,1,5):C.UVGC_324_5,(6,1,0):C.UVGC_414_156,(6,1,2):C.UVGC_414_157,(6,1,3):C.UVGC_414_158,(6,1,4):C.UVGC_415_164,(6,1,5):C.UVGC_415_165,(6,1,6):C.UVGC_414_161,(6,1,7):C.UVGC_414_162,(6,1,8):C.UVGC_414_163,(4,1,4):C.UVGC_323_3,(4,1,5):C.UVGC_323_4,(3,1,4):C.UVGC_323_3,(3,1,5):C.UVGC_323_4,(8,1,4):C.UVGC_324_5,(8,1,5):C.UVGC_324_6,(7,1,0):C.UVGC_414_156,(7,1,2):C.UVGC_414_157,(7,1,3):C.UVGC_414_158,(7,1,4):C.UVGC_414_159,(7,1,5):C.UVGC_414_160,(7,1,6):C.UVGC_414_161,(7,1,7):C.UVGC_414_162,(7,1,8):C.UVGC_414_163,(5,1,4):C.UVGC_323_3,(5,1,5):C.UVGC_323_4,(1,1,4):C.UVGC_323_3,(1,1,5):C.UVGC_323_4,(11,0,4):C.UVGC_327_9,(11,0,5):C.UVGC_327_10,(10,0,4):C.UVGC_327_9,(10,0,5):C.UVGC_327_10,(9,0,4):C.UVGC_326_7,(9,0,5):C.UVGC_326_8,(2,2,4):C.UVGC_324_6,(2,2,5):C.UVGC_324_5,(0,2,4):C.UVGC_324_6,(0,2,5):C.UVGC_324_5,(4,2,4):C.UVGC_323_3,(4,2,5):C.UVGC_323_4,(3,2,4):C.UVGC_323_3,(3,2,5):C.UVGC_323_4,(8,2,0):C.UVGC_413_148,(8,2,2):C.UVGC_413_149,(8,2,3):C.UVGC_413_150,(8,2,4):C.UVGC_413_151,(8,2,5):C.UVGC_413_152,(8,2,6):C.UVGC_413_153,(8,2,7):C.UVGC_413_154,(8,2,8):C.UVGC_413_155,(6,2,0):C.UVGC_411_138,(6,2,2):C.UVGC_411_139,(6,2,3):C.UVGC_411_140,(6,2,4):C.UVGC_411_141,(6,2,5):C.UVGC_411_142,(6,2,6):C.UVGC_411_143,(6,2,7):C.UVGC_411_144,(6,2,8):C.UVGC_411_145,(7,2,1):C.UVGC_328_11,(7,2,4):C.UVGC_329_13,(7,2,5):C.UVGC_329_14,(5,2,4):C.UVGC_323_3,(5,2,5):C.UVGC_323_4,(1,2,4):C.UVGC_323_3,(1,2,5):C.UVGC_323_4,(2,3,4):C.UVGC_324_6,(2,3,5):C.UVGC_324_5,(0,3,4):C.UVGC_324_6,(0,3,5):C.UVGC_324_5,(4,3,4):C.UVGC_323_3,(4,3,5):C.UVGC_323_4,(3,3,4):C.UVGC_323_3,(3,3,5):C.UVGC_323_4,(8,3,0):C.UVGC_410_130,(8,3,2):C.UVGC_410_131,(8,3,3):C.UVGC_410_132,(8,3,4):C.UVGC_410_133,(8,3,5):C.UVGC_410_134,(8,3,6):C.UVGC_410_135,(8,3,7):C.UVGC_410_136,(8,3,8):C.UVGC_410_137,(6,3,1):C.UVGC_328_11,(6,3,4):C.UVGC_328_12,(6,3,5):C.UVGC_326_7,(7,3,0):C.UVGC_411_138,(7,3,2):C.UVGC_411_139,(7,3,3):C.UVGC_411_140,(7,3,4):C.UVGC_412_146,(7,3,5):C.UVGC_412_147,(7,3,6):C.UVGC_411_143,(7,3,7):C.UVGC_411_144,(7,3,8):C.UVGC_411_145,(5,3,4):C.UVGC_323_3,(5,3,5):C.UVGC_323_4,(1,3,4):C.UVGC_323_3,(1,3,5):C.UVGC_323_4})
+
+V_99 = CTVertex(name = 'V_99',
+                type = 'UV',
+                particles = [ P.d__tilde__, P.u, P.h__minus__ ],
+                color = [ 'Identity(1,2)' ],
+                lorentz = [ L.FFS3, L.FFS5 ],
+                loop_particles = [ [ [P.d, P.g] ], [ [P.d, P.g, P.u] ], [ [P.g, P.u] ] ],
+                couplings = {(0,0,0):C.UVGC_425_180,(0,0,2):C.UVGC_425_181,(0,0,1):C.UVGC_425_182,(0,1,0):C.UVGC_424_177,(0,1,2):C.UVGC_424_178,(0,1,1):C.UVGC_424_179})
+
+V_100 = CTVertex(name = 'V_100',
+                 type = 'UV',
+                 particles = [ P.s__tilde__, P.c, P.h__minus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS3, L.FFS5 ],
+                 loop_particles = [ [ [P.c, P.g] ], [ [P.c, P.g, P.s] ], [ [P.g, P.s] ] ],
+                 couplings = {(0,0,0):C.UVGC_383_71,(0,0,2):C.UVGC_383_72,(0,0,1):C.UVGC_383_73,(0,1,0):C.UVGC_384_74,(0,1,2):C.UVGC_384_75,(0,1,1):C.UVGC_384_76})
+
+V_101 = CTVertex(name = 'V_101',
+                 type = 'UV',
+                 particles = [ P.b__tilde__, P.t, P.h__minus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS3, L.FFS5 ],
+                 loop_particles = [ [ [P.b, P.g] ], [ [P.b, P.g, P.t] ], [ [P.g, P.t] ] ],
+                 couplings = {(0,0,0):C.UVGC_400_99,(0,0,2):C.UVGC_400_100,(0,0,1):C.UVGC_400_101,(0,1,0):C.UVGC_399_96,(0,1,2):C.UVGC_399_97,(0,1,1):C.UVGC_399_98})
+
+V_102 = CTVertex(name = 'V_102',
+                 type = 'UV',
+                 particles = [ P.u__tilde__, P.d, P.h__plus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS3, L.FFS5 ],
+                 loop_particles = [ [ [P.d, P.g] ], [ [P.d, P.g, P.u] ], [ [P.g, P.u] ] ],
+                 couplings = {(0,0,0):C.UVGC_424_177,(0,0,2):C.UVGC_424_178,(0,0,1):C.UVGC_424_179,(0,1,0):C.UVGC_425_180,(0,1,2):C.UVGC_425_181,(0,1,1):C.UVGC_425_182})
+
+V_103 = CTVertex(name = 'V_103',
+                 type = 'UV',
+                 particles = [ P.c__tilde__, P.s, P.h__plus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS3, L.FFS5 ],
+                 loop_particles = [ [ [P.c, P.g] ], [ [P.c, P.g, P.s] ], [ [P.g, P.s] ] ],
+                 couplings = {(0,0,0):C.UVGC_384_74,(0,0,2):C.UVGC_384_75,(0,0,1):C.UVGC_384_76,(0,1,0):C.UVGC_383_71,(0,1,2):C.UVGC_383_72,(0,1,1):C.UVGC_383_73})
+
+V_104 = CTVertex(name = 'V_104',
+                 type = 'UV',
+                 particles = [ P.t__tilde__, P.b, P.h__plus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS3, L.FFS5 ],
+                 loop_particles = [ [ [P.b, P.g] ], [ [P.b, P.g, P.t] ], [ [P.g, P.t] ] ],
+                 couplings = {(0,0,0):C.UVGC_399_96,(0,0,2):C.UVGC_399_97,(0,0,1):C.UVGC_399_98,(0,1,0):C.UVGC_400_99,(0,1,2):C.UVGC_400_100,(0,1,1):C.UVGC_400_101})
+
+V_105 = CTVertex(name = 'V_105',
+                 type = 'UV',
+                 particles = [ P.u__tilde__, P.d, P.G__plus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS3, L.FFS5 ],
+                 loop_particles = [ [ [P.d, P.g] ], [ [P.d, P.g, P.u] ], [ [P.g, P.u] ] ],
+                 couplings = {(0,0,0):C.UVGC_423_174,(0,0,2):C.UVGC_423_175,(0,0,1):C.UVGC_423_176,(0,1,0):C.UVGC_428_185,(0,1,2):C.UVGC_428_186,(0,1,1):C.UVGC_428_187})
+
+V_106 = CTVertex(name = 'V_106',
+                 type = 'UV',
+                 particles = [ P.c__tilde__, P.s, P.G__plus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS3, L.FFS5 ],
+                 loop_particles = [ [ [P.c, P.g] ], [ [P.c, P.g, P.s] ], [ [P.g, P.s] ] ],
+                 couplings = {(0,0,0):C.UVGC_387_79,(0,0,2):C.UVGC_387_80,(0,0,1):C.UVGC_387_81,(0,1,0):C.UVGC_382_68,(0,1,2):C.UVGC_382_69,(0,1,1):C.UVGC_382_70})
+
+V_107 = CTVertex(name = 'V_107',
+                 type = 'UV',
+                 particles = [ P.t__tilde__, P.b, P.G__plus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS3, L.FFS5 ],
+                 loop_particles = [ [ [P.b, P.g] ], [ [P.b, P.g, P.t] ], [ [P.g, P.t] ] ],
+                 couplings = {(0,0,0):C.UVGC_398_93,(0,0,2):C.UVGC_398_94,(0,0,1):C.UVGC_398_95,(0,1,0):C.UVGC_403_104,(0,1,2):C.UVGC_403_105,(0,1,1):C.UVGC_403_106})
+
+V_108 = CTVertex(name = 'V_108',
+                 type = 'UV',
+                 particles = [ P.d__tilde__, P.d, P.G0 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.d, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_370_54})
+
+V_109 = CTVertex(name = 'V_109',
+                 type = 'UV',
+                 particles = [ P.s__tilde__, P.s, P.G0 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.g, P.s] ] ],
+                 couplings = {(0,0,0):C.UVGC_388_82})
+
+V_110 = CTVertex(name = 'V_110',
+                 type = 'UV',
+                 particles = [ P.b__tilde__, P.b, P.G0 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.b, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_348_32})
+
+V_111 = CTVertex(name = 'V_111',
+                 type = 'UV',
+                 particles = [ P.d__tilde__, P.u, P.G__minus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS3, L.FFS5 ],
+                 loop_particles = [ [ [P.d, P.g] ], [ [P.d, P.g, P.u] ], [ [P.g, P.u] ] ],
+                 couplings = {(0,0,0):C.UVGC_428_185,(0,0,2):C.UVGC_428_186,(0,0,1):C.UVGC_428_187,(0,1,0):C.UVGC_423_174,(0,1,2):C.UVGC_423_175,(0,1,1):C.UVGC_423_176})
+
+V_112 = CTVertex(name = 'V_112',
+                 type = 'UV',
+                 particles = [ P.s__tilde__, P.c, P.G__minus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS3, L.FFS5 ],
+                 loop_particles = [ [ [P.c, P.g] ], [ [P.c, P.g, P.s] ], [ [P.g, P.s] ] ],
+                 couplings = {(0,0,0):C.UVGC_382_68,(0,0,2):C.UVGC_382_69,(0,0,1):C.UVGC_382_70,(0,1,0):C.UVGC_387_79,(0,1,2):C.UVGC_387_80,(0,1,1):C.UVGC_387_81})
+
+V_113 = CTVertex(name = 'V_113',
+                 type = 'UV',
+                 particles = [ P.b__tilde__, P.t, P.G__minus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS3, L.FFS5 ],
+                 loop_particles = [ [ [P.b, P.g] ], [ [P.b, P.g, P.t] ], [ [P.g, P.t] ] ],
+                 couplings = {(0,0,0):C.UVGC_403_104,(0,0,2):C.UVGC_403_105,(0,0,1):C.UVGC_403_106,(0,1,0):C.UVGC_398_93,(0,1,2):C.UVGC_398_94,(0,1,1):C.UVGC_398_95})
+
+V_114 = CTVertex(name = 'V_114',
+                 type = 'UV',
+                 particles = [ P.u__tilde__, P.u, P.G0 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.g, P.u] ] ],
+                 couplings = {(0,0,0):C.UVGC_429_188})
+
+V_115 = CTVertex(name = 'V_115',
+                 type = 'UV',
+                 particles = [ P.c__tilde__, P.c, P.G0 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.c, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_359_43})
+
+V_116 = CTVertex(name = 'V_116',
+                 type = 'UV',
+                 particles = [ P.t__tilde__, P.t, P.G0 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.g, P.t] ] ],
+                 couplings = {(0,0,0):C.UVGC_404_107})
+
+V_117 = CTVertex(name = 'V_117',
+                 type = 'UV',
+                 particles = [ P.u__tilde__, P.u, P.h1 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS2 ],
+                 loop_particles = [ [ [P.g, P.u] ] ],
+                 couplings = {(0,0,0):C.UVGC_430_189})
+
+V_118 = CTVertex(name = 'V_118',
+                 type = 'UV',
+                 particles = [ P.u__tilde__, P.u, P.h2 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS2 ],
+                 loop_particles = [ [ [P.g, P.u] ] ],
+                 couplings = {(0,0,0):C.UVGC_431_190})
+
+V_119 = CTVertex(name = 'V_119',
+                 type = 'UV',
+                 particles = [ P.u__tilde__, P.u, P.h3 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.g, P.u] ] ],
+                 couplings = {(0,0,0):C.UVGC_426_183})
+
+V_120 = CTVertex(name = 'V_120',
+                 type = 'UV',
+                 particles = [ P.u__tilde__, P.u, P.h4 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.g, P.u] ] ],
+                 couplings = {(0,0,0):C.UVGC_427_184})
+
+V_121 = CTVertex(name = 'V_121',
+                 type = 'UV',
+                 particles = [ P.c__tilde__, P.c, P.h1 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS2 ],
+                 loop_particles = [ [ [P.c, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_360_44})
+
+V_122 = CTVertex(name = 'V_122',
+                 type = 'UV',
+                 particles = [ P.c__tilde__, P.c, P.h2 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS2 ],
+                 loop_particles = [ [ [P.c, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_361_45})
+
+V_123 = CTVertex(name = 'V_123',
+                 type = 'UV',
+                 particles = [ P.c__tilde__, P.c, P.h3 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.c, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_362_46})
+
+V_124 = CTVertex(name = 'V_124',
+                 type = 'UV',
+                 particles = [ P.c__tilde__, P.c, P.h4 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.c, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_363_47})
+
+V_125 = CTVertex(name = 'V_125',
+                 type = 'UV',
+                 particles = [ P.t__tilde__, P.t, P.h1 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS2 ],
+                 loop_particles = [ [ [P.g, P.t] ] ],
+                 couplings = {(0,0,0):C.UVGC_405_108})
+
+V_126 = CTVertex(name = 'V_126',
+                 type = 'UV',
+                 particles = [ P.t__tilde__, P.t, P.h2 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS2 ],
+                 loop_particles = [ [ [P.g, P.t] ] ],
+                 couplings = {(0,0,0):C.UVGC_406_109})
+
+V_127 = CTVertex(name = 'V_127',
+                 type = 'UV',
+                 particles = [ P.t__tilde__, P.t, P.h3 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.g, P.t] ] ],
+                 couplings = {(0,0,0):C.UVGC_401_102})
+
+V_128 = CTVertex(name = 'V_128',
+                 type = 'UV',
+                 particles = [ P.t__tilde__, P.t, P.h4 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.g, P.t] ] ],
+                 couplings = {(0,0,0):C.UVGC_402_103})
+
+V_129 = CTVertex(name = 'V_129',
+                 type = 'UV',
+                 particles = [ P.d__tilde__, P.d, P.h1 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS2 ],
+                 loop_particles = [ [ [P.d, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_371_55})
+
+V_130 = CTVertex(name = 'V_130',
+                 type = 'UV',
+                 particles = [ P.d__tilde__, P.d, P.h2 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS2 ],
+                 loop_particles = [ [ [P.d, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_372_56})
+
+V_131 = CTVertex(name = 'V_131',
+                 type = 'UV',
+                 particles = [ P.d__tilde__, P.d, P.h3 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.d, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_373_57})
+
+V_132 = CTVertex(name = 'V_132',
+                 type = 'UV',
+                 particles = [ P.d__tilde__, P.d, P.h4 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.d, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_374_58})
+
+V_133 = CTVertex(name = 'V_133',
+                 type = 'UV',
+                 particles = [ P.s__tilde__, P.s, P.h1 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS2 ],
+                 loop_particles = [ [ [P.g, P.s] ] ],
+                 couplings = {(0,0,0):C.UVGC_389_83})
+
+V_134 = CTVertex(name = 'V_134',
+                 type = 'UV',
+                 particles = [ P.s__tilde__, P.s, P.h2 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS2 ],
+                 loop_particles = [ [ [P.g, P.s] ] ],
+                 couplings = {(0,0,0):C.UVGC_390_84})
+
+V_135 = CTVertex(name = 'V_135',
+                 type = 'UV',
+                 particles = [ P.s__tilde__, P.s, P.h3 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.g, P.s] ] ],
+                 couplings = {(0,0,0):C.UVGC_385_77})
+
+V_136 = CTVertex(name = 'V_136',
+                 type = 'UV',
+                 particles = [ P.s__tilde__, P.s, P.h4 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.g, P.s] ] ],
+                 couplings = {(0,0,0):C.UVGC_386_78})
+
+V_137 = CTVertex(name = 'V_137',
+                 type = 'UV',
+                 particles = [ P.b__tilde__, P.b, P.h1 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS2 ],
+                 loop_particles = [ [ [P.b, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_349_33})
+
+V_138 = CTVertex(name = 'V_138',
+                 type = 'UV',
+                 particles = [ P.b__tilde__, P.b, P.h2 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS2 ],
+                 loop_particles = [ [ [P.b, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_350_34})
+
+V_139 = CTVertex(name = 'V_139',
+                 type = 'UV',
+                 particles = [ P.b__tilde__, P.b, P.h3 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.b, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_351_35})
+
+V_140 = CTVertex(name = 'V_140',
+                 type = 'UV',
+                 particles = [ P.b__tilde__, P.b, P.h4 ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFS1 ],
+                 loop_particles = [ [ [P.b, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_352_36})
+
+V_141 = CTVertex(name = 'V_141',
+                 type = 'UV',
+                 particles = [ P.u__tilde__, P.u, P.a ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV1, L.FFV4 ],
+                 loop_particles = [ [ [P.g, P.u] ] ],
+                 couplings = {(0,0,0):C.UVGC_332_17,(0,1,0):C.UVGC_417_167})
+
+V_142 = CTVertex(name = 'V_142',
+                 type = 'UV',
+                 particles = [ P.c__tilde__, P.c, P.a ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV1, L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.c, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_332_17,(0,1,0):C.UVGC_354_38,(0,2,0):C.UVGC_354_38})
+
+V_143 = CTVertex(name = 'V_143',
+                 type = 'UV',
+                 particles = [ P.t__tilde__, P.t, P.a ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV1, L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.g, P.t] ] ],
+                 couplings = {(0,0,0):C.UVGC_332_17,(0,1,0):C.UVGC_392_86,(0,2,0):C.UVGC_392_86})
+
+V_144 = CTVertex(name = 'V_144',
+                 type = 'UV',
+                 particles = [ P.d__tilde__, P.d, P.a ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV1, L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.d, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_330_15,(0,1,0):C.UVGC_365_49,(0,2,0):C.UVGC_365_49})
+
+V_145 = CTVertex(name = 'V_145',
+                 type = 'UV',
+                 particles = [ P.s__tilde__, P.s, P.a ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV1, L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.g, P.s] ] ],
+                 couplings = {(0,0,0):C.UVGC_330_15,(0,1,0):C.UVGC_376_60,(0,2,0):C.UVGC_376_60})
+
+V_146 = CTVertex(name = 'V_146',
+                 type = 'UV',
+                 particles = [ P.b__tilde__, P.b, P.a ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV1, L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.b, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_330_15,(0,1,0):C.UVGC_343_19,(0,2,0):C.UVGC_343_19})
+
+V_147 = CTVertex(name = 'V_147',
+                 type = 'UV',
+                 particles = [ P.u__tilde__, P.u, P.g ],
+                 color = [ 'T(3,2,1)' ],
+                 lorentz = [ L.FFV1, L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.g] ], [ [P.ghG] ], [ [P.g, P.u] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                 couplings = {(0,0,5):C.UVGC_331_16,(0,1,0):C.UVGC_344_20,(0,1,1):C.UVGC_344_21,(0,1,2):C.UVGC_344_22,(0,1,3):C.UVGC_344_23,(0,1,4):C.UVGC_344_24,(0,1,6):C.UVGC_344_25,(0,1,7):C.UVGC_344_26,(0,1,8):C.UVGC_344_27,(0,1,5):C.UVGC_418_168,(0,2,0):C.UVGC_344_20,(0,2,1):C.UVGC_344_21,(0,2,2):C.UVGC_344_22,(0,2,3):C.UVGC_344_23,(0,2,4):C.UVGC_344_24,(0,2,6):C.UVGC_344_25,(0,2,7):C.UVGC_344_26,(0,2,8):C.UVGC_344_27,(0,2,5):C.UVGC_418_168})
+
+V_148 = CTVertex(name = 'V_148',
+                 type = 'UV',
+                 particles = [ P.c__tilde__, P.c, P.g ],
+                 color = [ 'T(3,2,1)' ],
+                 lorentz = [ L.FFV1, L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.c, P.g] ], [ [P.d] ], [ [P.g] ], [ [P.ghG] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                 couplings = {(0,0,2):C.UVGC_331_16,(0,1,0):C.UVGC_344_20,(0,1,1):C.UVGC_344_21,(0,1,3):C.UVGC_344_22,(0,1,4):C.UVGC_344_23,(0,1,5):C.UVGC_344_24,(0,1,6):C.UVGC_344_25,(0,1,7):C.UVGC_344_26,(0,1,8):C.UVGC_344_27,(0,1,2):C.UVGC_355_39,(0,2,0):C.UVGC_344_20,(0,2,1):C.UVGC_344_21,(0,2,3):C.UVGC_344_22,(0,2,4):C.UVGC_344_23,(0,2,5):C.UVGC_344_24,(0,2,6):C.UVGC_344_25,(0,2,7):C.UVGC_344_26,(0,2,8):C.UVGC_344_27,(0,2,2):C.UVGC_355_39})
+
+V_149 = CTVertex(name = 'V_149',
+                 type = 'UV',
+                 particles = [ P.t__tilde__, P.t, P.g ],
+                 color = [ 'T(3,2,1)' ],
+                 lorentz = [ L.FFV1, L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.g] ], [ [P.ghG] ], [ [P.g, P.t] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                 couplings = {(0,0,5):C.UVGC_331_16,(0,1,0):C.UVGC_344_20,(0,1,1):C.UVGC_344_21,(0,1,2):C.UVGC_344_22,(0,1,3):C.UVGC_344_23,(0,1,4):C.UVGC_344_24,(0,1,6):C.UVGC_344_25,(0,1,7):C.UVGC_344_26,(0,1,8):C.UVGC_344_27,(0,1,5):C.UVGC_393_87,(0,2,0):C.UVGC_344_20,(0,2,1):C.UVGC_344_21,(0,2,2):C.UVGC_344_22,(0,2,3):C.UVGC_344_23,(0,2,4):C.UVGC_344_24,(0,2,6):C.UVGC_344_25,(0,2,7):C.UVGC_344_26,(0,2,8):C.UVGC_344_27,(0,2,5):C.UVGC_393_87})
+
+V_150 = CTVertex(name = 'V_150',
+                 type = 'UV',
+                 particles = [ P.d__tilde__, P.d, P.g ],
+                 color = [ 'T(3,2,1)' ],
+                 lorentz = [ L.FFV1, L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.d, P.g] ], [ [P.g] ], [ [P.ghG] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                 couplings = {(0,0,3):C.UVGC_331_16,(0,1,0):C.UVGC_344_20,(0,1,1):C.UVGC_344_21,(0,1,2):C.UVGC_344_22,(0,1,4):C.UVGC_344_23,(0,1,5):C.UVGC_344_24,(0,1,6):C.UVGC_344_25,(0,1,7):C.UVGC_344_26,(0,1,8):C.UVGC_344_27,(0,1,3):C.UVGC_366_50,(0,2,0):C.UVGC_344_20,(0,2,1):C.UVGC_344_21,(0,2,2):C.UVGC_344_22,(0,2,4):C.UVGC_344_23,(0,2,5):C.UVGC_344_24,(0,2,6):C.UVGC_344_25,(0,2,7):C.UVGC_344_26,(0,2,8):C.UVGC_344_27,(0,2,3):C.UVGC_366_50})
+
+V_151 = CTVertex(name = 'V_151',
+                 type = 'UV',
+                 particles = [ P.s__tilde__, P.s, P.g ],
+                 color = [ 'T(3,2,1)' ],
+                 lorentz = [ L.FFV1, L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.g] ], [ [P.ghG] ], [ [P.g, P.s] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                 couplings = {(0,0,5):C.UVGC_331_16,(0,1,0):C.UVGC_344_20,(0,1,1):C.UVGC_344_21,(0,1,2):C.UVGC_344_22,(0,1,3):C.UVGC_344_23,(0,1,4):C.UVGC_344_24,(0,1,6):C.UVGC_344_25,(0,1,7):C.UVGC_344_26,(0,1,8):C.UVGC_344_27,(0,1,5):C.UVGC_377_61,(0,2,0):C.UVGC_344_20,(0,2,1):C.UVGC_344_21,(0,2,2):C.UVGC_344_22,(0,2,3):C.UVGC_344_23,(0,2,4):C.UVGC_344_24,(0,2,6):C.UVGC_344_25,(0,2,7):C.UVGC_344_26,(0,2,8):C.UVGC_344_27,(0,2,5):C.UVGC_377_61})
+
+V_152 = CTVertex(name = 'V_152',
+                 type = 'UV',
+                 particles = [ P.b__tilde__, P.b, P.g ],
+                 color = [ 'T(3,2,1)' ],
+                 lorentz = [ L.FFV1, L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.b] ], [ [P.b, P.g] ], [ [P.c] ], [ [P.d] ], [ [P.g] ], [ [P.ghG] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                 couplings = {(0,0,1):C.UVGC_331_16,(0,1,0):C.UVGC_344_20,(0,1,2):C.UVGC_344_21,(0,1,3):C.UVGC_344_22,(0,1,4):C.UVGC_344_23,(0,1,5):C.UVGC_344_24,(0,1,6):C.UVGC_344_25,(0,1,7):C.UVGC_344_26,(0,1,8):C.UVGC_344_27,(0,1,1):C.UVGC_344_28,(0,2,0):C.UVGC_344_20,(0,2,2):C.UVGC_344_21,(0,2,3):C.UVGC_344_22,(0,2,4):C.UVGC_344_23,(0,2,5):C.UVGC_344_24,(0,2,6):C.UVGC_344_25,(0,2,7):C.UVGC_344_26,(0,2,8):C.UVGC_344_27,(0,2,1):C.UVGC_344_28})
+
+V_153 = CTVertex(name = 'V_153',
+                 type = 'UV',
+                 particles = [ P.d__tilde__, P.u, P.W__minus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV2 ],
+                 loop_particles = [ [ [P.d, P.g] ], [ [P.d, P.g, P.u] ], [ [P.g, P.u] ] ],
+                 couplings = {(0,0,0):C.UVGC_420_170,(0,0,2):C.UVGC_420_171,(0,0,1):C.UVGC_379_65})
+
+V_154 = CTVertex(name = 'V_154',
+                 type = 'UV',
+                 particles = [ P.s__tilde__, P.c, P.W__minus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV2 ],
+                 loop_particles = [ [ [P.c, P.g] ], [ [P.c, P.g, P.s] ], [ [P.g, P.s] ] ],
+                 couplings = {(0,0,0):C.UVGC_379_63,(0,0,2):C.UVGC_379_64,(0,0,1):C.UVGC_379_65})
+
+V_155 = CTVertex(name = 'V_155',
+                 type = 'UV',
+                 particles = [ P.b__tilde__, P.t, P.W__minus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV2 ],
+                 loop_particles = [ [ [P.b, P.g] ], [ [P.b, P.g, P.t] ], [ [P.g, P.t] ] ],
+                 couplings = {(0,0,0):C.UVGC_395_89,(0,0,2):C.UVGC_395_90,(0,0,1):C.UVGC_379_65})
+
+V_156 = CTVertex(name = 'V_156',
+                 type = 'UV',
+                 particles = [ P.u__tilde__, P.d, P.W__plus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV2 ],
+                 loop_particles = [ [ [P.d, P.g] ], [ [P.d, P.g, P.u] ], [ [P.g, P.u] ] ],
+                 couplings = {(0,0,0):C.UVGC_420_170,(0,0,2):C.UVGC_420_171,(0,0,1):C.UVGC_379_65})
+
+V_157 = CTVertex(name = 'V_157',
+                 type = 'UV',
+                 particles = [ P.c__tilde__, P.s, P.W__plus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV2 ],
+                 loop_particles = [ [ [P.c, P.g] ], [ [P.c, P.g, P.s] ], [ [P.g, P.s] ] ],
+                 couplings = {(0,0,0):C.UVGC_379_63,(0,0,2):C.UVGC_379_64,(0,0,1):C.UVGC_379_65})
+
+V_158 = CTVertex(name = 'V_158',
+                 type = 'UV',
+                 particles = [ P.t__tilde__, P.b, P.W__plus__ ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV2 ],
+                 loop_particles = [ [ [P.b, P.g] ], [ [P.b, P.g, P.t] ], [ [P.g, P.t] ] ],
+                 couplings = {(0,0,0):C.UVGC_395_89,(0,0,2):C.UVGC_395_90,(0,0,1):C.UVGC_379_65})
+
+V_159 = CTVertex(name = 'V_159',
+                 type = 'UV',
+                 particles = [ P.u__tilde__, P.u, P.Z ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.g, P.u] ] ],
+                 couplings = {(0,0,0):C.UVGC_421_172,(0,1,0):C.UVGC_422_173})
+
+V_160 = CTVertex(name = 'V_160',
+                 type = 'UV',
+                 particles = [ P.c__tilde__, P.c, P.Z ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.c, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_357_41,(0,1,0):C.UVGC_358_42})
+
+V_161 = CTVertex(name = 'V_161',
+                 type = 'UV',
+                 particles = [ P.t__tilde__, P.t, P.Z ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.g, P.t] ] ],
+                 couplings = {(0,0,0):C.UVGC_396_91,(0,1,0):C.UVGC_397_92})
+
+V_162 = CTVertex(name = 'V_162',
+                 type = 'UV',
+                 particles = [ P.d__tilde__, P.d, P.Z ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.d, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_368_52,(0,1,0):C.UVGC_369_53})
+
+V_163 = CTVertex(name = 'V_163',
+                 type = 'UV',
+                 particles = [ P.s__tilde__, P.s, P.Z ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.g, P.s] ] ],
+                 couplings = {(0,0,0):C.UVGC_380_66,(0,1,0):C.UVGC_381_67})
+
+V_164 = CTVertex(name = 'V_164',
+                 type = 'UV',
+                 particles = [ P.b__tilde__, P.b, P.Z ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FFV2, L.FFV3 ],
+                 loop_particles = [ [ [P.b, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_346_30,(0,1,0):C.UVGC_347_31})
+
+V_165 = CTVertex(name = 'V_165',
+                 type = 'UV',
+                 particles = [ P.u__tilde__, P.u ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FF1, L.FF2, L.FF3, L.FF4 ],
+                 loop_particles = [ [ [P.g, P.u] ] ],
+                 couplings = {(0,0,0):C.UVGC_419_169,(0,2,0):C.UVGC_419_169,(0,1,0):C.UVGC_416_166,(0,3,0):C.UVGC_416_166})
+
+V_166 = CTVertex(name = 'V_166',
+                 type = 'UV',
+                 particles = [ P.c__tilde__, P.c ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FF1, L.FF2, L.FF3, L.FF4 ],
+                 loop_particles = [ [ [P.c, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_356_40,(0,2,0):C.UVGC_356_40,(0,1,0):C.UVGC_353_37,(0,3,0):C.UVGC_353_37})
+
+V_167 = CTVertex(name = 'V_167',
+                 type = 'UV',
+                 particles = [ P.t__tilde__, P.t ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FF1, L.FF2, L.FF3, L.FF4 ],
+                 loop_particles = [ [ [P.g, P.t] ] ],
+                 couplings = {(0,0,0):C.UVGC_394_88,(0,2,0):C.UVGC_394_88,(0,1,0):C.UVGC_391_85,(0,3,0):C.UVGC_391_85})
+
+V_168 = CTVertex(name = 'V_168',
+                 type = 'UV',
+                 particles = [ P.d__tilde__, P.d ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FF1, L.FF2, L.FF3, L.FF4 ],
+                 loop_particles = [ [ [P.d, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_367_51,(0,2,0):C.UVGC_367_51,(0,1,0):C.UVGC_364_48,(0,3,0):C.UVGC_364_48})
+
+V_169 = CTVertex(name = 'V_169',
+                 type = 'UV',
+                 particles = [ P.s__tilde__, P.s ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FF1, L.FF2, L.FF3, L.FF4 ],
+                 loop_particles = [ [ [P.g, P.s] ] ],
+                 couplings = {(0,0,0):C.UVGC_378_62,(0,2,0):C.UVGC_378_62,(0,1,0):C.UVGC_375_59,(0,3,0):C.UVGC_375_59})
+
+V_170 = CTVertex(name = 'V_170',
+                 type = 'UV',
+                 particles = [ P.b__tilde__, P.b ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.FF1, L.FF2, L.FF3, L.FF4 ],
+                 loop_particles = [ [ [P.b, P.g] ] ],
+                 couplings = {(0,0,0):C.UVGC_345_29,(0,2,0):C.UVGC_345_29,(0,1,0):C.UVGC_342_18,(0,3,0):C.UVGC_342_18})
+
+V_171 = CTVertex(name = 'V_171',
+                 type = 'UV',
+                 particles = [ P.g, P.g ],
+                 color = [ 'Identity(1,2)' ],
+                 lorentz = [ L.VV1, L.VV3 ],
+                 loop_particles = [ [ [P.b] ], [ [P.c] ], [ [P.d] ], [ [P.g] ], [ [P.ghG] ], [ [P.s] ], [ [P.t] ], [ [P.u] ] ],
+                 couplings = {(0,0,0):C.UVGC_408_116,(0,0,1):C.UVGC_408_117,(0,0,2):C.UVGC_408_118,(0,0,3):C.UVGC_408_119,(0,0,4):C.UVGC_408_120,(0,0,5):C.UVGC_408_121,(0,0,6):C.UVGC_408_122,(0,0,7):C.UVGC_408_123,(0,1,0):C.UVGC_407_110,(0,1,1):C.UVGC_407_111,(0,1,2):C.UVGC_407_112,(0,1,5):C.UVGC_407_113,(0,1,6):C.UVGC_407_114,(0,1,7):C.UVGC_407_115})
+
diff --git a/DM/Pseudoscalar_2HDMI/Pseudoscalar_2HDMI.log b/DM/Pseudoscalar_2HDMI/Pseudoscalar_2HDMI.log
new file mode 100644
index 00000000..9129f965
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/Pseudoscalar_2HDMI.log
@@ -0,0 +1,93 @@
+# This file was automatically created by FeynRules 2.3.43
+# Mathematica version: 12.1.0 for Mac OS X x86 (64-bit) (March 14, 2020)
+# Date: Wed 13 March 2024 09:34:13
+
+
+# 
+# This is the logfile for the model Pseudoscalar_2HDM
+
+# Authors: S. Argyropoulos, U. Haisch and I. Kalaitzidou
+# Model version: 1.0
+# Checking the Quantum numbers
+   * Electric charge defined.
+# Checking the Lagrangians
+   * All Lagrangians are ok.
+#
+# Particle definitions
+#
+
+   * No particles removed. All particles correspond to GenInt setup.
+
+# Automatically assigned PDG numbers
+   * Assigned PDG number 9000001 to particle ghA
+   * Assigned PDG number 9000002 to particle ghZ
+   * Assigned PDG number 9000003 to particle ghWp
+   * Assigned PDG number 9000004 to particle ghWm
+
+
+# Compulsory PDG codes:
+   * Class SM leptons complete.
+   * Class SM neutrinos complete.
+   * Class SM quarks complete.
+   * Class SM gauge bosons complete.
+#
+# Parameter definitions
+#
+
+   * All parameters are ok.
+
+
+# Vertices
+   * Calling FeynmanRules for 1 Lagrangians.
+   * Number of classes vertices: 229
+   * Number of flavored vertices: 378
+   * Saved vertices in InterfaceRun[ 1 ].
+   * Checked QNumber conservation.
+      - Quantum number GhostNumber conserved in all vertices.
+      - Quantum number LeptonNumber conserved in all vertices.
+      - Quantum number Q conserved in all vertices.
+      - Quantum number Y conserved in all vertices.
+   * particles.py written.
+   * parameters.py written.
+#
+# Vertex definitions
+#
+
+   * 364 vertices written.
+   * vertices.py written.
+#
+# Lorentz structure definitions
+#
+
+   * 37 lorentz structures written.
+   * lorentz.py written.
+#
+# Coupling definitions
+#
+
+   * 298 couplings written.
+   * couplings.py written.
+#
+# Coupling order definitions
+#
+
+   * 0 couplings orders written.
+   * coupling_orders.py written.
+#
+# Decay definitions
+#
+
+   * 16 decays written.
+   * decay.py not written
+#
+# CTCoupling definitions
+#
+
+   * 366 CTcouplings written.
+   * CT_couplings.py written.
+#
+# CTVertex definitions
+#
+
+   * 171 CTvertices written.
+   * CT_vertices.py written.
diff --git a/DM/Pseudoscalar_2HDMI/__init__.py b/DM/Pseudoscalar_2HDMI/__init__.py
new file mode 100644
index 00000000..3d024b4c
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/__init__.py
@@ -0,0 +1,50 @@
+
+import particles
+import couplings
+import lorentz
+import parameters
+import vertices
+import coupling_orders
+#import write_param_card
+import propagators
+import object_library
+import function_library
+
+
+all_particles = particles.all_particles
+all_vertices = vertices.all_vertices
+all_couplings = couplings.all_couplings
+all_lorentz = lorentz.all_lorentz
+all_parameters = parameters.all_parameters
+all_orders = coupling_orders.all_orders
+all_functions = function_library.all_functions
+all_propagators = propagators.all_propagators
+
+try:
+   import decays
+except ImportError:
+   pass
+else:
+   all_decays = decays.all_decays
+
+try:
+   import form_factors
+except ImportError:
+   pass
+else:
+   all_form_factors = form_factors.all_form_factors
+
+try:
+   import CT_vertices
+except ImportError:
+   pass
+else:
+   all_CTvertices = CT_vertices.all_CTvertices
+
+
+gauge = [0, 1]
+
+
+__author__ = "M. Bauer, U. Haisch and F. Kahlhoefer"
+__date__ = "11. 9. 2017"
+__version__= "2.0"
diff --git a/DM/Pseudoscalar_2HDMI/coupling_orders.py b/DM/Pseudoscalar_2HDMI/coupling_orders.py
new file mode 100644
index 00000000..191efa15
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/coupling_orders.py
@@ -0,0 +1,21 @@
+# This file was automatically created by FeynRules 2.3.43
+# Mathematica version: 12.1.0 for Mac OS X x86 (64-bit) (March 14, 2020)
+# Date: Wed 3 May 2023 19:36:55
+
+
+from object_library import all_orders, CouplingOrder
+
+
+QCD = CouplingOrder(name = 'QCD',
+                    expansion_order = 99,
+                    hierarchy = 1,
+                    perturbative_expansion = 1)
+
+QED = CouplingOrder(name = 'QED',
+                    expansion_order = 99,
+                    hierarchy = 2)
+
+DS = CouplingOrder(name = 'DS',
+                   expansion_order = 99,
+                   hierarchy = 1)
+
diff --git a/DM/Pseudoscalar_2HDMI/couplings.py b/DM/Pseudoscalar_2HDMI/couplings.py
new file mode 100644
index 00000000..3de99796
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/couplings.py
@@ -0,0 +1,1203 @@
+# This file was automatically created by FeynRules 2.3.43
+# Mathematica version: 12.1.0 for Mac OS X x86 (64-bit) (March 14, 2020)
+# Date: Wed 3 May 2023 19:36:55
+
+
+from object_library import all_couplings, Coupling
+
+from function_library import complexconjugate, re, im, csc, sec, acsc, asec, cot
+
+
+
+GC_1 = Coupling(name = 'GC_1',
+                value = '-(ee*complex(0,1))/3.',
+                order = {'QED':1})
+
+GC_10 = Coupling(name = 'GC_10',
+                 value = 'complex(0,1)*G',
+                 order = {'QCD':1})
+
+GC_100 = Coupling(name = 'GC_100',
+                  value = 'ee**2*complex(0,1)*TH1x1*TH1x2 + (cw**2*ee**2*complex(0,1)*TH1x1*TH1x2)/(2.*sw**2) + (ee**2*complex(0,1)*sw**2*TH1x1*TH1x2)/(2.*cw**2) + ee**2*complex(0,1)*TH2x1*TH2x2 + (cw**2*ee**2*complex(0,1)*TH2x1*TH2x2)/(2.*sw**2) + (ee**2*complex(0,1)*sw**2*TH2x1*TH2x2)/(2.*cw**2)',
+                  order = {'QED':2})
+
+GC_101 = Coupling(name = 'GC_101',
+                  value = '-6*complex(0,1)*l1*TH1x1**3*TH1x2 - 9*complex(0,1)*l6*TH1x1**2*TH1x2*TH2x1 - 3*complex(0,1)*l3*TH1x1*TH1x2*TH2x1**2 - 3*complex(0,1)*l4*TH1x1*TH1x2*TH2x1**2 - 6*complex(0,1)*l5*TH1x1*TH1x2*TH2x1**2 - 3*complex(0,1)*l7*TH1x2*TH2x1**3 - 3*complex(0,1)*l6*TH1x1**3*TH2x2 - 3*complex(0,1)*l3*TH1x1**2*TH2x1*TH2x2 - 3*complex(0,1)*l4*TH1x1**2*TH2x1*TH2x2 - 6*complex(0,1)*l5*TH1x1**2*TH2x1*TH2x2 - 9*complex(0,1)*l7*TH1x1*TH2x1**2*TH2x2 - 6*complex(0,1)*l2*TH2x1**3*TH2x2',
+                  order = {'QED':2})
+
+GC_102 = Coupling(name = 'GC_102',
+                  value = '-(complex(0,1)*l3*TH1x2**2) - 2*complex(0,1)*l7*TH1x2*TH2x2 - 2*complex(0,1)*l2*TH2x2**2',
+                  order = {'QED':2})
+
+GC_103 = Coupling(name = 'GC_103',
+                  value = '-2*complex(0,1)*l1*TH1x2**2 - 2*complex(0,1)*l6*TH1x2*TH2x2 - complex(0,1)*l3*TH2x2**2',
+                  order = {'QED':2})
+
+GC_104 = Coupling(name = 'GC_104',
+                  value = '-2*complex(0,1)*l1*TH1x2**2 - 2*complex(0,1)*l6*TH1x2*TH2x2 - complex(0,1)*l3*TH2x2**2 - complex(0,1)*l4*TH2x2**2 + 2*complex(0,1)*l5*TH2x2**2',
+                  order = {'QED':2})
+
+GC_105 = Coupling(name = 'GC_105',
+                  value = '-(complex(0,1)*l6*TH1x2**2) - complex(0,1)*l4*TH1x2*TH2x2 - 2*complex(0,1)*l5*TH1x2*TH2x2 - complex(0,1)*l7*TH2x2**2',
+                  order = {'QED':2})
+
+GC_106 = Coupling(name = 'GC_106',
+                  value = '(ee**2*complex(0,1)*TH1x2**2)/(2.*sw**2) + (ee**2*complex(0,1)*TH2x2**2)/(2.*sw**2)',
+                  order = {'QED':2})
+
+GC_107 = Coupling(name = 'GC_107',
+                  value = 'ee**2*complex(0,1)*TH1x2**2 + (cw**2*ee**2*complex(0,1)*TH1x2**2)/(2.*sw**2) + (ee**2*complex(0,1)*sw**2*TH1x2**2)/(2.*cw**2) + ee**2*complex(0,1)*TH2x2**2 + (cw**2*ee**2*complex(0,1)*TH2x2**2)/(2.*sw**2) + (ee**2*complex(0,1)*sw**2*TH2x2**2)/(2.*cw**2)',
+                  order = {'QED':2})
+
+GC_108 = Coupling(name = 'GC_108',
+                  value = '-6*complex(0,1)*l1*TH1x1**2*TH1x2**2 - 6*complex(0,1)*l6*TH1x1*TH1x2**2*TH2x1 - complex(0,1)*l3*TH1x2**2*TH2x1**2 - complex(0,1)*l4*TH1x2**2*TH2x1**2 - 2*complex(0,1)*l5*TH1x2**2*TH2x1**2 - 6*complex(0,1)*l6*TH1x1**2*TH1x2*TH2x2 - 4*complex(0,1)*l3*TH1x1*TH1x2*TH2x1*TH2x2 - 4*complex(0,1)*l4*TH1x1*TH1x2*TH2x1*TH2x2 - 8*complex(0,1)*l5*TH1x1*TH1x2*TH2x1*TH2x2 - 6*complex(0,1)*l7*TH1x2*TH2x1**2*TH2x2 - complex(0,1)*l3*TH1x1**2*TH2x2**2 - complex(0,1)*l4*TH1x1**2*TH2x2**2 - 2*complex(0,1)*l5*TH1x1**2*TH2x2**2 - 6*complex(0,1)*l7*TH1x1*TH2x1*TH2x2**2 - 6*complex(0,1)*l2*TH2x1**2*TH2x2**2',
+                  order = {'QED':2})
+
+GC_109 = Coupling(name = 'GC_109',
+                  value = '-6*complex(0,1)*l1*TH1x1*TH1x2**3 - 3*complex(0,1)*l6*TH1x2**3*TH2x1 - 9*complex(0,1)*l6*TH1x1*TH1x2**2*TH2x2 - 3*complex(0,1)*l3*TH1x2**2*TH2x1*TH2x2 - 3*complex(0,1)*l4*TH1x2**2*TH2x1*TH2x2 - 6*complex(0,1)*l5*TH1x2**2*TH2x1*TH2x2 - 3*complex(0,1)*l3*TH1x1*TH1x2*TH2x2**2 - 3*complex(0,1)*l4*TH1x1*TH1x2*TH2x2**2 - 6*complex(0,1)*l5*TH1x1*TH1x2*TH2x2**2 - 9*complex(0,1)*l7*TH1x2*TH2x1*TH2x2**2 - 3*complex(0,1)*l7*TH1x1*TH2x2**3 - 6*complex(0,1)*l2*TH2x1*TH2x2**3',
+                  order = {'QED':2})
+
+GC_11 = Coupling(name = 'GC_11',
+                 value = 'complex(0,1)*G**2',
+                 order = {'QCD':2})
+
+GC_110 = Coupling(name = 'GC_110',
+                  value = '-6*complex(0,1)*l1*TH1x2**4 - 12*complex(0,1)*l6*TH1x2**3*TH2x2 - 6*complex(0,1)*l3*TH1x2**2*TH2x2**2 - 6*complex(0,1)*l4*TH1x2**2*TH2x2**2 - 12*complex(0,1)*l5*TH1x2**2*TH2x2**2 - 12*complex(0,1)*l7*TH1x2*TH2x2**3 - 6*complex(0,1)*l2*TH2x2**4',
+                  order = {'QED':2})
+
+GC_111 = Coupling(name = 'GC_111',
+                  value = '-(ee**2*TH3x3)/(2.*cw)',
+                  order = {'QED':2})
+
+GC_112 = Coupling(name = 'GC_112',
+                  value = '(ee**2*TH3x3)/(2.*cw)',
+                  order = {'QED':2})
+
+GC_113 = Coupling(name = 'GC_113',
+                  value = '-(complex(0,1)*l6*TH3x3)',
+                  order = {'QED':2})
+
+GC_114 = Coupling(name = 'GC_114',
+                  value = '-3*complex(0,1)*l6*TH3x3',
+                  order = {'QED':2})
+
+GC_115 = Coupling(name = 'GC_115',
+                  value = '-(complex(0,1)*l7*TH3x3)',
+                  order = {'QED':2})
+
+GC_116 = Coupling(name = 'GC_116',
+                  value = '(ee*TH3x3)/(2.*sw)',
+                  order = {'QED':1})
+
+GC_117 = Coupling(name = 'GC_117',
+                  value = '-(ee**2*TH3x3)/(2.*sw)',
+                  order = {'QED':2})
+
+GC_118 = Coupling(name = 'GC_118',
+                  value = '(ee**2*TH3x3)/(2.*sw)',
+                  order = {'QED':2})
+
+GC_119 = Coupling(name = 'GC_119',
+                  value = '(ee**2*complex(0,1)*TH3x3**2)/(2.*sw**2)',
+                  order = {'QED':2})
+
+GC_12 = Coupling(name = 'GC_12',
+                 value = 'complex(0,1)*I1a11',
+                 order = {'QED':1})
+
+GC_120 = Coupling(name = 'GC_120',
+                  value = '-(complex(0,1)*l4*TH3x3)/2. - complex(0,1)*l5*TH3x3',
+                  order = {'QED':2})
+
+GC_121 = Coupling(name = 'GC_121',
+                  value = '(l4*TH1x1*TH3x3)/2. - l5*TH1x1*TH3x3',
+                  order = {'QED':2})
+
+GC_122 = Coupling(name = 'GC_122',
+                  value = '-(l4*TH1x1*TH3x3)/2. + l5*TH1x1*TH3x3',
+                  order = {'QED':2})
+
+GC_123 = Coupling(name = 'GC_123',
+                  value = '(l4*TH1x2*TH3x3)/2. - l5*TH1x2*TH3x3',
+                  order = {'QED':2})
+
+GC_124 = Coupling(name = 'GC_124',
+                  value = '-(l4*TH1x2*TH3x3)/2. + l5*TH1x2*TH3x3',
+                  order = {'QED':2})
+
+GC_125 = Coupling(name = 'GC_125',
+                  value = '(cw*ee*TH2x1*TH3x3)/(2.*sw) + (ee*sw*TH2x1*TH3x3)/(2.*cw)',
+                  order = {'QED':1})
+
+GC_126 = Coupling(name = 'GC_126',
+                  value = '-(complex(0,1)*l6*TH1x1**2*TH3x3) - 4*complex(0,1)*l5*TH1x1*TH2x1*TH3x3 - complex(0,1)*l7*TH2x1**2*TH3x3',
+                  order = {'QED':2})
+
+GC_127 = Coupling(name = 'GC_127',
+                  value = '(cw*ee*TH2x2*TH3x3)/(2.*sw) + (ee*sw*TH2x2*TH3x3)/(2.*cw)',
+                  order = {'QED':1})
+
+GC_128 = Coupling(name = 'GC_128',
+                  value = '-(complex(0,1)*l6*TH1x1*TH1x2*TH3x3) - 2*complex(0,1)*l5*TH1x2*TH2x1*TH3x3 - 2*complex(0,1)*l5*TH1x1*TH2x2*TH3x3 - complex(0,1)*l7*TH2x1*TH2x2*TH3x3',
+                  order = {'QED':2})
+
+GC_129 = Coupling(name = 'GC_129',
+                  value = '-(complex(0,1)*l6*TH1x2**2*TH3x3) - 4*complex(0,1)*l5*TH1x2*TH2x2*TH3x3 - complex(0,1)*l7*TH2x2**2*TH3x3',
+                  order = {'QED':2})
+
+GC_13 = Coupling(name = 'GC_13',
+                 value = 'complex(0,1)*I1a22',
+                 order = {'QED':1})
+
+GC_130 = Coupling(name = 'GC_130',
+                  value = 'ee**2*complex(0,1)*TH3x3**2 + (cw**2*ee**2*complex(0,1)*TH3x3**2)/(2.*sw**2) + (ee**2*complex(0,1)*sw**2*TH3x3**2)/(2.*cw**2)',
+                  order = {'QED':2})
+
+GC_131 = Coupling(name = 'GC_131',
+                  value = '-(ee**2*TH3x4)/(2.*cw)',
+                  order = {'QED':2})
+
+GC_132 = Coupling(name = 'GC_132',
+                  value = '(ee**2*TH3x4)/(2.*cw)',
+                  order = {'QED':2})
+
+GC_133 = Coupling(name = 'GC_133',
+                  value = '-(complex(0,1)*l6*TH3x4)',
+                  order = {'QED':2})
+
+GC_134 = Coupling(name = 'GC_134',
+                  value = '-3*complex(0,1)*l6*TH3x4',
+                  order = {'QED':2})
+
+GC_135 = Coupling(name = 'GC_135',
+                  value = '-(complex(0,1)*l7*TH3x4)',
+                  order = {'QED':2})
+
+GC_136 = Coupling(name = 'GC_136',
+                  value = '(ee*TH3x4)/(2.*sw)',
+                  order = {'QED':1})
+
+GC_137 = Coupling(name = 'GC_137',
+                  value = '-(ee**2*TH3x4)/(2.*sw)',
+                  order = {'QED':2})
+
+GC_138 = Coupling(name = 'GC_138',
+                  value = '(ee**2*TH3x4)/(2.*sw)',
+                  order = {'QED':2})
+
+GC_139 = Coupling(name = 'GC_139',
+                  value = '(ee**2*complex(0,1)*TH3x3*TH3x4)/(2.*sw**2)',
+                  order = {'QED':2})
+
+GC_14 = Coupling(name = 'GC_14',
+                 value = 'complex(0,1)*I1a33',
+                 order = {'QED':1})
+
+GC_140 = Coupling(name = 'GC_140',
+                  value = '(ee**2*complex(0,1)*TH3x4**2)/(2.*sw**2)',
+                  order = {'QED':2})
+
+GC_141 = Coupling(name = 'GC_141',
+                  value = '-(complex(0,1)*l4*TH3x4)/2. - complex(0,1)*l5*TH3x4',
+                  order = {'QED':2})
+
+GC_142 = Coupling(name = 'GC_142',
+                  value = '(l4*TH1x1*TH3x4)/2. - l5*TH1x1*TH3x4',
+                  order = {'QED':2})
+
+GC_143 = Coupling(name = 'GC_143',
+                  value = '-(l4*TH1x1*TH3x4)/2. + l5*TH1x1*TH3x4',
+                  order = {'QED':2})
+
+GC_144 = Coupling(name = 'GC_144',
+                  value = '(l4*TH1x2*TH3x4)/2. - l5*TH1x2*TH3x4',
+                  order = {'QED':2})
+
+GC_145 = Coupling(name = 'GC_145',
+                  value = '-(l4*TH1x2*TH3x4)/2. + l5*TH1x2*TH3x4',
+                  order = {'QED':2})
+
+GC_146 = Coupling(name = 'GC_146',
+                  value = '(cw*ee*TH2x1*TH3x4)/(2.*sw) + (ee*sw*TH2x1*TH3x4)/(2.*cw)',
+                  order = {'QED':1})
+
+GC_147 = Coupling(name = 'GC_147',
+                  value = '-(complex(0,1)*l6*TH1x1**2*TH3x4) - 4*complex(0,1)*l5*TH1x1*TH2x1*TH3x4 - complex(0,1)*l7*TH2x1**2*TH3x4',
+                  order = {'QED':2})
+
+GC_148 = Coupling(name = 'GC_148',
+                  value = '(cw*ee*TH2x2*TH3x4)/(2.*sw) + (ee*sw*TH2x2*TH3x4)/(2.*cw)',
+                  order = {'QED':1})
+
+GC_149 = Coupling(name = 'GC_149',
+                  value = '-(complex(0,1)*l6*TH1x1*TH1x2*TH3x4) - 2*complex(0,1)*l5*TH1x2*TH2x1*TH3x4 - 2*complex(0,1)*l5*TH1x1*TH2x2*TH3x4 - complex(0,1)*l7*TH2x1*TH2x2*TH3x4',
+                  order = {'QED':2})
+
+GC_15 = Coupling(name = 'GC_15',
+                 value = '-(complex(0,1)*I2a11)',
+                 order = {'QED':1})
+
+GC_150 = Coupling(name = 'GC_150',
+                  value = '-(complex(0,1)*l6*TH1x2**2*TH3x4) - 4*complex(0,1)*l5*TH1x2*TH2x2*TH3x4 - complex(0,1)*l7*TH2x2**2*TH3x4',
+                  order = {'QED':2})
+
+GC_151 = Coupling(name = 'GC_151',
+                  value = 'ee**2*complex(0,1)*TH3x3*TH3x4 + (cw**2*ee**2*complex(0,1)*TH3x3*TH3x4)/(2.*sw**2) + (ee**2*complex(0,1)*sw**2*TH3x3*TH3x4)/(2.*cw**2)',
+                  order = {'QED':2})
+
+GC_152 = Coupling(name = 'GC_152',
+                  value = 'ee**2*complex(0,1)*TH3x4**2 + (cw**2*ee**2*complex(0,1)*TH3x4**2)/(2.*sw**2) + (ee**2*complex(0,1)*sw**2*TH3x4**2)/(2.*cw**2)',
+                  order = {'QED':2})
+
+GC_153 = Coupling(name = 'GC_153',
+                  value = '-(gPXd*TH4x3)',
+                  order = {'DS':1})
+
+GC_154 = Coupling(name = 'GC_154',
+                  value = '-(muP*TH4x3)',
+                  order = {'QED':2})
+
+GC_155 = Coupling(name = 'GC_155',
+                  value = 'muP*TH4x3',
+                  order = {'QED':2})
+
+GC_156 = Coupling(name = 'GC_156',
+                  value = '-(complex(0,1)*muP*TH2x1*TH4x3)',
+                  order = {'QED':2})
+
+GC_157 = Coupling(name = 'GC_157',
+                  value = '-(complex(0,1)*muP*TH2x2*TH4x3)',
+                  order = {'QED':2})
+
+GC_158 = Coupling(name = 'GC_158',
+                  value = '2*complex(0,1)*muP*TH1x1*TH3x3*TH4x3',
+                  order = {'QED':2})
+
+GC_159 = Coupling(name = 'GC_159',
+                  value = '2*complex(0,1)*muP*TH1x2*TH3x3*TH4x3',
+                  order = {'QED':2})
+
+GC_16 = Coupling(name = 'GC_16',
+                 value = '-(complex(0,1)*I2a22)',
+                 order = {'QED':1})
+
+GC_160 = Coupling(name = 'GC_160',
+                  value = '-(complex(0,1)*l7*TH3x3**2) - 2*complex(0,1)*lP*TH4x3**2',
+                  order = {'QED':2})
+
+GC_161 = Coupling(name = 'GC_161',
+                  value = '-(complex(0,1)*l3*TH3x3**2) - 2*complex(0,1)*lP1*TH4x3**2',
+                  order = {'QED':2})
+
+GC_162 = Coupling(name = 'GC_162',
+                  value = '-(complex(0,1)*l3*TH3x3**2) - complex(0,1)*l4*TH3x3**2 - 2*complex(0,1)*l5*TH3x3**2 - 2*complex(0,1)*lP1*TH4x3**2',
+                  order = {'QED':2})
+
+GC_163 = Coupling(name = 'GC_163',
+                  value = '-2*complex(0,1)*l2*TH3x3**2 - 2*complex(0,1)*lP2*TH4x3**2',
+                  order = {'QED':2})
+
+GC_164 = Coupling(name = 'GC_164',
+                  value = '-(complex(0,1)*l3*TH1x1**2*TH3x3**2) - complex(0,1)*l4*TH1x1**2*TH3x3**2 + 2*complex(0,1)*l5*TH1x1**2*TH3x3**2 - 2*complex(0,1)*l7*TH1x1*TH2x1*TH3x3**2 - 2*complex(0,1)*l2*TH2x1**2*TH3x3**2 - 2*complex(0,1)*lP1*TH1x1**2*TH4x3**2 - 4*complex(0,1)*lP*TH1x1*TH2x1*TH4x3**2 - 2*complex(0,1)*lP2*TH2x1**2*TH4x3**2',
+                  order = {'QED':2})
+
+GC_165 = Coupling(name = 'GC_165',
+                  value = '-(complex(0,1)*l3*TH1x1*TH1x2*TH3x3**2) - complex(0,1)*l4*TH1x1*TH1x2*TH3x3**2 + 2*complex(0,1)*l5*TH1x1*TH1x2*TH3x3**2 - complex(0,1)*l7*TH1x2*TH2x1*TH3x3**2 - complex(0,1)*l7*TH1x1*TH2x2*TH3x3**2 - 2*complex(0,1)*l2*TH2x1*TH2x2*TH3x3**2 - 2*complex(0,1)*lP1*TH1x1*TH1x2*TH4x3**2 - 2*complex(0,1)*lP*TH1x2*TH2x1*TH4x3**2 - 2*complex(0,1)*lP*TH1x1*TH2x2*TH4x3**2 - 2*complex(0,1)*lP2*TH2x1*TH2x2*TH4x3**2',
+                  order = {'QED':2})
+
+GC_166 = Coupling(name = 'GC_166',
+                  value = '-(complex(0,1)*l3*TH1x2**2*TH3x3**2) - complex(0,1)*l4*TH1x2**2*TH3x3**2 + 2*complex(0,1)*l5*TH1x2**2*TH3x3**2 - 2*complex(0,1)*l7*TH1x2*TH2x2*TH3x3**2 - 2*complex(0,1)*l2*TH2x2**2*TH3x3**2 - 2*complex(0,1)*lP1*TH1x2**2*TH4x3**2 - 4*complex(0,1)*lP*TH1x2*TH2x2*TH4x3**2 - 2*complex(0,1)*lP2*TH2x2**2*TH4x3**2',
+                  order = {'QED':2})
+
+GC_167 = Coupling(name = 'GC_167',
+                  value = '-3*complex(0,1)*l7*TH3x3**3 - 6*complex(0,1)*lP*TH3x3*TH4x3**2',
+                  order = {'QED':2})
+
+GC_168 = Coupling(name = 'GC_168',
+                  value = '-6*complex(0,1)*l2*TH3x3**4 - 12*complex(0,1)*lP2*TH3x3**2*TH4x3**2',
+                  order = {'QED':2})
+
+GC_169 = Coupling(name = 'GC_169',
+                  value = '-(gPXd*TH4x4)',
+                  order = {'DS':1})
+
+GC_17 = Coupling(name = 'GC_17',
+                 value = '-(complex(0,1)*I2a33)',
+                 order = {'QED':1})
+
+GC_170 = Coupling(name = 'GC_170',
+                  value = '-(muP*TH4x4)',
+                  order = {'QED':2})
+
+GC_171 = Coupling(name = 'GC_171',
+                  value = 'muP*TH4x4',
+                  order = {'QED':2})
+
+GC_172 = Coupling(name = 'GC_172',
+                  value = '-(complex(0,1)*muP*TH2x1*TH4x4)',
+                  order = {'QED':2})
+
+GC_173 = Coupling(name = 'GC_173',
+                  value = '-(complex(0,1)*muP*TH2x2*TH4x4)',
+                  order = {'QED':2})
+
+GC_174 = Coupling(name = 'GC_174',
+                  value = '2*complex(0,1)*muP*TH1x1*TH3x4*TH4x4',
+                  order = {'QED':2})
+
+GC_175 = Coupling(name = 'GC_175',
+                  value = '2*complex(0,1)*muP*TH1x2*TH3x4*TH4x4',
+                  order = {'QED':2})
+
+GC_176 = Coupling(name = 'GC_176',
+                  value = 'complex(0,1)*muP*TH1x1*TH3x4*TH4x3 + complex(0,1)*muP*TH1x1*TH3x3*TH4x4',
+                  order = {'QED':2})
+
+GC_177 = Coupling(name = 'GC_177',
+                  value = 'complex(0,1)*muP*TH1x2*TH3x4*TH4x3 + complex(0,1)*muP*TH1x2*TH3x3*TH4x4',
+                  order = {'QED':2})
+
+GC_178 = Coupling(name = 'GC_178',
+                  value = '-(complex(0,1)*l7*TH3x3*TH3x4) - 2*complex(0,1)*lP*TH4x3*TH4x4',
+                  order = {'QED':2})
+
+GC_179 = Coupling(name = 'GC_179',
+                  value = '-(complex(0,1)*l3*TH3x3*TH3x4) - 2*complex(0,1)*lP1*TH4x3*TH4x4',
+                  order = {'QED':2})
+
+GC_18 = Coupling(name = 'GC_18',
+                 value = '-(complex(0,1)*I3a11)',
+                 order = {'QED':1})
+
+GC_180 = Coupling(name = 'GC_180',
+                  value = '-(complex(0,1)*l3*TH3x3*TH3x4) - complex(0,1)*l4*TH3x3*TH3x4 - 2*complex(0,1)*l5*TH3x3*TH3x4 - 2*complex(0,1)*lP1*TH4x3*TH4x4',
+                  order = {'QED':2})
+
+GC_181 = Coupling(name = 'GC_181',
+                  value = '-2*complex(0,1)*l2*TH3x3*TH3x4 - 2*complex(0,1)*lP2*TH4x3*TH4x4',
+                  order = {'QED':2})
+
+GC_182 = Coupling(name = 'GC_182',
+                  value = '-(complex(0,1)*l3*TH1x1**2*TH3x3*TH3x4) - complex(0,1)*l4*TH1x1**2*TH3x3*TH3x4 + 2*complex(0,1)*l5*TH1x1**2*TH3x3*TH3x4 - 2*complex(0,1)*l7*TH1x1*TH2x1*TH3x3*TH3x4 - 2*complex(0,1)*l2*TH2x1**2*TH3x3*TH3x4 - 2*complex(0,1)*lP1*TH1x1**2*TH4x3*TH4x4 - 4*complex(0,1)*lP*TH1x1*TH2x1*TH4x3*TH4x4 - 2*complex(0,1)*lP2*TH2x1**2*TH4x3*TH4x4',
+                  order = {'QED':2})
+
+GC_183 = Coupling(name = 'GC_183',
+                  value = '-(complex(0,1)*l3*TH1x1*TH1x2*TH3x3*TH3x4) - complex(0,1)*l4*TH1x1*TH1x2*TH3x3*TH3x4 + 2*complex(0,1)*l5*TH1x1*TH1x2*TH3x3*TH3x4 - complex(0,1)*l7*TH1x2*TH2x1*TH3x3*TH3x4 - complex(0,1)*l7*TH1x1*TH2x2*TH3x3*TH3x4 - 2*complex(0,1)*l2*TH2x1*TH2x2*TH3x3*TH3x4 - 2*complex(0,1)*lP1*TH1x1*TH1x2*TH4x3*TH4x4 - 2*complex(0,1)*lP*TH1x2*TH2x1*TH4x3*TH4x4 - 2*complex(0,1)*lP*TH1x1*TH2x2*TH4x3*TH4x4 - 2*complex(0,1)*lP2*TH2x1*TH2x2*TH4x3*TH4x4',
+                  order = {'QED':2})
+
+GC_184 = Coupling(name = 'GC_184',
+                  value = '-(complex(0,1)*l3*TH1x2**2*TH3x3*TH3x4) - complex(0,1)*l4*TH1x2**2*TH3x3*TH3x4 + 2*complex(0,1)*l5*TH1x2**2*TH3x3*TH3x4 - 2*complex(0,1)*l7*TH1x2*TH2x2*TH3x3*TH3x4 - 2*complex(0,1)*l2*TH2x2**2*TH3x3*TH3x4 - 2*complex(0,1)*lP1*TH1x2**2*TH4x3*TH4x4 - 4*complex(0,1)*lP*TH1x2*TH2x2*TH4x3*TH4x4 - 2*complex(0,1)*lP2*TH2x2**2*TH4x3*TH4x4',
+                  order = {'QED':2})
+
+GC_185 = Coupling(name = 'GC_185',
+                  value = '-3*complex(0,1)*l7*TH3x3**2*TH3x4 - 2*complex(0,1)*lP*TH3x4*TH4x3**2 - 4*complex(0,1)*lP*TH3x3*TH4x3*TH4x4',
+                  order = {'QED':2})
+
+GC_186 = Coupling(name = 'GC_186',
+                  value = '-6*complex(0,1)*l2*TH3x3**3*TH3x4 - 6*complex(0,1)*lP2*TH3x3*TH3x4*TH4x3**2 - 6*complex(0,1)*lP2*TH3x3**2*TH4x3*TH4x4',
+                  order = {'QED':2})
+
+GC_187 = Coupling(name = 'GC_187',
+                  value = '-(complex(0,1)*l7*TH3x4**2) - 2*complex(0,1)*lP*TH4x4**2',
+                  order = {'QED':2})
+
+GC_188 = Coupling(name = 'GC_188',
+                  value = '-(complex(0,1)*l3*TH3x4**2) - 2*complex(0,1)*lP1*TH4x4**2',
+                  order = {'QED':2})
+
+GC_189 = Coupling(name = 'GC_189',
+                  value = '-(complex(0,1)*l3*TH3x4**2) - complex(0,1)*l4*TH3x4**2 - 2*complex(0,1)*l5*TH3x4**2 - 2*complex(0,1)*lP1*TH4x4**2',
+                  order = {'QED':2})
+
+GC_19 = Coupling(name = 'GC_19',
+                 value = '-(complex(0,1)*I3a22)',
+                 order = {'QED':1})
+
+GC_190 = Coupling(name = 'GC_190',
+                  value = '-2*complex(0,1)*l2*TH3x4**2 - 2*complex(0,1)*lP2*TH4x4**2',
+                  order = {'QED':2})
+
+GC_191 = Coupling(name = 'GC_191',
+                  value = '-(complex(0,1)*l3*TH1x1**2*TH3x4**2) - complex(0,1)*l4*TH1x1**2*TH3x4**2 + 2*complex(0,1)*l5*TH1x1**2*TH3x4**2 - 2*complex(0,1)*l7*TH1x1*TH2x1*TH3x4**2 - 2*complex(0,1)*l2*TH2x1**2*TH3x4**2 - 2*complex(0,1)*lP1*TH1x1**2*TH4x4**2 - 4*complex(0,1)*lP*TH1x1*TH2x1*TH4x4**2 - 2*complex(0,1)*lP2*TH2x1**2*TH4x4**2',
+                  order = {'QED':2})
+
+GC_192 = Coupling(name = 'GC_192',
+                  value = '-(complex(0,1)*l3*TH1x1*TH1x2*TH3x4**2) - complex(0,1)*l4*TH1x1*TH1x2*TH3x4**2 + 2*complex(0,1)*l5*TH1x1*TH1x2*TH3x4**2 - complex(0,1)*l7*TH1x2*TH2x1*TH3x4**2 - complex(0,1)*l7*TH1x1*TH2x2*TH3x4**2 - 2*complex(0,1)*l2*TH2x1*TH2x2*TH3x4**2 - 2*complex(0,1)*lP1*TH1x1*TH1x2*TH4x4**2 - 2*complex(0,1)*lP*TH1x2*TH2x1*TH4x4**2 - 2*complex(0,1)*lP*TH1x1*TH2x2*TH4x4**2 - 2*complex(0,1)*lP2*TH2x1*TH2x2*TH4x4**2',
+                  order = {'QED':2})
+
+GC_193 = Coupling(name = 'GC_193',
+                  value = '-(complex(0,1)*l3*TH1x2**2*TH3x4**2) - complex(0,1)*l4*TH1x2**2*TH3x4**2 + 2*complex(0,1)*l5*TH1x2**2*TH3x4**2 - 2*complex(0,1)*l7*TH1x2*TH2x2*TH3x4**2 - 2*complex(0,1)*l2*TH2x2**2*TH3x4**2 - 2*complex(0,1)*lP1*TH1x2**2*TH4x4**2 - 4*complex(0,1)*lP*TH1x2*TH2x2*TH4x4**2 - 2*complex(0,1)*lP2*TH2x2**2*TH4x4**2',
+                  order = {'QED':2})
+
+GC_194 = Coupling(name = 'GC_194',
+                  value = '-3*complex(0,1)*l7*TH3x3*TH3x4**2 - 4*complex(0,1)*lP*TH3x4*TH4x3*TH4x4 - 2*complex(0,1)*lP*TH3x3*TH4x4**2',
+                  order = {'QED':2})
+
+GC_195 = Coupling(name = 'GC_195',
+                  value = '-6*complex(0,1)*l2*TH3x3**2*TH3x4**2 - 2*complex(0,1)*lP2*TH3x4**2*TH4x3**2 - 8*complex(0,1)*lP2*TH3x3*TH3x4*TH4x3*TH4x4 - 2*complex(0,1)*lP2*TH3x3**2*TH4x4**2',
+                  order = {'QED':2})
+
+GC_196 = Coupling(name = 'GC_196',
+                  value = '-3*complex(0,1)*l7*TH3x4**3 - 6*complex(0,1)*lP*TH3x4*TH4x4**2',
+                  order = {'QED':2})
+
+GC_197 = Coupling(name = 'GC_197',
+                  value = '-6*complex(0,1)*l2*TH3x3*TH3x4**3 - 6*complex(0,1)*lP2*TH3x4**2*TH4x3*TH4x4 - 6*complex(0,1)*lP2*TH3x3*TH3x4*TH4x4**2',
+                  order = {'QED':2})
+
+GC_198 = Coupling(name = 'GC_198',
+                  value = '-6*complex(0,1)*l2*TH3x4**4 - 12*complex(0,1)*lP2*TH3x4**2*TH4x4**2',
+                  order = {'QED':2})
+
+GC_199 = Coupling(name = 'GC_199',
+                  value = '-(ee**2*complex(0,1)*vev)/(2.*cw)',
+                  order = {'QED':1})
+
+GC_2 = Coupling(name = 'GC_2',
+                value = '(2*ee*complex(0,1))/3.',
+                order = {'QED':1})
+
+GC_20 = Coupling(name = 'GC_20',
+                 value = '-(complex(0,1)*I3a33)',
+                 order = {'QED':1})
+
+GC_200 = Coupling(name = 'GC_200',
+                  value = '-(ee**2*vev)/(4.*sw**2)',
+                  order = {'QED':1})
+
+GC_201 = Coupling(name = 'GC_201',
+                  value = '(ee**2*vev)/(4.*sw**2)',
+                  order = {'QED':1})
+
+GC_202 = Coupling(name = 'GC_202',
+                  value = '-(ee**2*vev)/(2.*sw)',
+                  order = {'QED':1})
+
+GC_203 = Coupling(name = 'GC_203',
+                  value = '(ee**2*complex(0,1)*vev)/(2.*sw)',
+                  order = {'QED':1})
+
+GC_204 = Coupling(name = 'GC_204',
+                  value = '(ee**2*vev)/(2.*sw)',
+                  order = {'QED':1})
+
+GC_205 = Coupling(name = 'GC_205',
+                  value = '-(ee**2*complex(0,1)*TH1x1*vev)/(4.*sw**2)',
+                  order = {'QED':1})
+
+GC_206 = Coupling(name = 'GC_206',
+                  value = '(ee**2*complex(0,1)*TH1x1*vev)/(2.*sw**2)',
+                  order = {'QED':1})
+
+GC_207 = Coupling(name = 'GC_207',
+                  value = '-(ee**2*complex(0,1)*TH1x2*vev)/(4.*sw**2)',
+                  order = {'QED':1})
+
+GC_208 = Coupling(name = 'GC_208',
+                  value = '(ee**2*complex(0,1)*TH1x2*vev)/(2.*sw**2)',
+                  order = {'QED':1})
+
+GC_209 = Coupling(name = 'GC_209',
+                  value = '-(ee**2*vev)/(4.*cw) - (cw*ee**2*vev)/(4.*sw**2)',
+                  order = {'QED':1})
+
+GC_21 = Coupling(name = 'GC_21',
+                 value = 'complex(0,1)*I4a11',
+                 order = {'QED':1})
+
+GC_210 = Coupling(name = 'GC_210',
+                  value = '(ee**2*vev)/(4.*cw) - (cw*ee**2*vev)/(4.*sw**2)',
+                  order = {'QED':1})
+
+GC_211 = Coupling(name = 'GC_211',
+                  value = '-(ee**2*vev)/(4.*cw) + (cw*ee**2*vev)/(4.*sw**2)',
+                  order = {'QED':1})
+
+GC_212 = Coupling(name = 'GC_212',
+                  value = '(ee**2*vev)/(4.*cw) + (cw*ee**2*vev)/(4.*sw**2)',
+                  order = {'QED':1})
+
+GC_213 = Coupling(name = 'GC_213',
+                  value = '-(ee**2*complex(0,1)*TH1x1*vev)/2. - (cw**2*ee**2*complex(0,1)*TH1x1*vev)/(4.*sw**2) - (ee**2*complex(0,1)*sw**2*TH1x1*vev)/(4.*cw**2)',
+                  order = {'QED':1})
+
+GC_214 = Coupling(name = 'GC_214',
+                  value = 'ee**2*complex(0,1)*TH1x1*vev + (cw**2*ee**2*complex(0,1)*TH1x1*vev)/(2.*sw**2) + (ee**2*complex(0,1)*sw**2*TH1x1*vev)/(2.*cw**2)',
+                  order = {'QED':1})
+
+GC_215 = Coupling(name = 'GC_215',
+                  value = '-(ee**2*complex(0,1)*TH1x2*vev)/2. - (cw**2*ee**2*complex(0,1)*TH1x2*vev)/(4.*sw**2) - (ee**2*complex(0,1)*sw**2*TH1x2*vev)/(4.*cw**2)',
+                  order = {'QED':1})
+
+GC_216 = Coupling(name = 'GC_216',
+                  value = 'ee**2*complex(0,1)*TH1x2*vev + (cw**2*ee**2*complex(0,1)*TH1x2*vev)/(2.*sw**2) + (ee**2*complex(0,1)*sw**2*TH1x2*vev)/(2.*cw**2)',
+                  order = {'QED':1})
+
+GC_217 = Coupling(name = 'GC_217',
+                  value = '-(complex(0,1)*l6*TH1x1*vev) - (complex(0,1)*l4*TH2x1*vev)/2. - complex(0,1)*l5*TH2x1*vev',
+                  order = {'QED':1})
+
+GC_218 = Coupling(name = 'GC_218',
+                  value = '-2*complex(0,1)*l1*TH1x1*vev - complex(0,1)*l6*TH2x1*vev',
+                  order = {'QED':1})
+
+GC_219 = Coupling(name = 'GC_219',
+                  value = '-(complex(0,1)*l3*TH1x1*vev) - complex(0,1)*l7*TH2x1*vev',
+                  order = {'QED':1})
+
+GC_22 = Coupling(name = 'GC_22',
+                 value = 'complex(0,1)*I4a22',
+                 order = {'QED':1})
+
+GC_220 = Coupling(name = 'GC_220',
+                  value = '-6*complex(0,1)*l1*TH1x1**3*vev - 9*complex(0,1)*l6*TH1x1**2*TH2x1*vev - 3*complex(0,1)*l3*TH1x1*TH2x1**2*vev - 3*complex(0,1)*l4*TH1x1*TH2x1**2*vev - 6*complex(0,1)*l5*TH1x1*TH2x1**2*vev - 3*complex(0,1)*l7*TH2x1**3*vev',
+                  order = {'QED':1})
+
+GC_221 = Coupling(name = 'GC_221',
+                  value = '-(complex(0,1)*l6*TH1x2*vev) - (complex(0,1)*l4*TH2x2*vev)/2. - complex(0,1)*l5*TH2x2*vev',
+                  order = {'QED':1})
+
+GC_222 = Coupling(name = 'GC_222',
+                  value = '-2*complex(0,1)*l1*TH1x2*vev - complex(0,1)*l6*TH2x2*vev',
+                  order = {'QED':1})
+
+GC_223 = Coupling(name = 'GC_223',
+                  value = '-(complex(0,1)*l3*TH1x2*vev) - complex(0,1)*l7*TH2x2*vev',
+                  order = {'QED':1})
+
+GC_224 = Coupling(name = 'GC_224',
+                  value = '-6*complex(0,1)*l1*TH1x1**2*TH1x2*vev - 6*complex(0,1)*l6*TH1x1*TH1x2*TH2x1*vev - complex(0,1)*l3*TH1x2*TH2x1**2*vev - complex(0,1)*l4*TH1x2*TH2x1**2*vev - 2*complex(0,1)*l5*TH1x2*TH2x1**2*vev - 3*complex(0,1)*l6*TH1x1**2*TH2x2*vev - 2*complex(0,1)*l3*TH1x1*TH2x1*TH2x2*vev - 2*complex(0,1)*l4*TH1x1*TH2x1*TH2x2*vev - 4*complex(0,1)*l5*TH1x1*TH2x1*TH2x2*vev - 3*complex(0,1)*l7*TH2x1**2*TH2x2*vev',
+                  order = {'QED':1})
+
+GC_225 = Coupling(name = 'GC_225',
+                  value = '-6*complex(0,1)*l1*TH1x1*TH1x2**2*vev - 3*complex(0,1)*l6*TH1x2**2*TH2x1*vev - 6*complex(0,1)*l6*TH1x1*TH1x2*TH2x2*vev - 2*complex(0,1)*l3*TH1x2*TH2x1*TH2x2*vev - 2*complex(0,1)*l4*TH1x2*TH2x1*TH2x2*vev - 4*complex(0,1)*l5*TH1x2*TH2x1*TH2x2*vev - complex(0,1)*l3*TH1x1*TH2x2**2*vev - complex(0,1)*l4*TH1x1*TH2x2**2*vev - 2*complex(0,1)*l5*TH1x1*TH2x2**2*vev - 3*complex(0,1)*l7*TH2x1*TH2x2**2*vev',
+                  order = {'QED':1})
+
+GC_226 = Coupling(name = 'GC_226',
+                  value = '-6*complex(0,1)*l1*TH1x2**3*vev - 9*complex(0,1)*l6*TH1x2**2*TH2x2*vev - 3*complex(0,1)*l3*TH1x2*TH2x2**2*vev - 3*complex(0,1)*l4*TH1x2*TH2x2**2*vev - 6*complex(0,1)*l5*TH1x2*TH2x2**2*vev - 3*complex(0,1)*l7*TH2x2**3*vev',
+                  order = {'QED':1})
+
+GC_227 = Coupling(name = 'GC_227',
+                  value = '(l4*TH3x3*vev)/2. - l5*TH3x3*vev',
+                  order = {'QED':1})
+
+GC_228 = Coupling(name = 'GC_228',
+                  value = '-(l4*TH3x3*vev)/2. + l5*TH3x3*vev',
+                  order = {'QED':1})
+
+GC_229 = Coupling(name = 'GC_229',
+                  value = '-(complex(0,1)*l6*TH1x1*TH3x3*vev) - 2*complex(0,1)*l5*TH2x1*TH3x3*vev',
+                  order = {'QED':1})
+
+GC_23 = Coupling(name = 'GC_23',
+                 value = 'complex(0,1)*I4a33',
+                 order = {'QED':1})
+
+GC_230 = Coupling(name = 'GC_230',
+                  value = '-(complex(0,1)*l6*TH1x2*TH3x3*vev) - 2*complex(0,1)*l5*TH2x2*TH3x3*vev',
+                  order = {'QED':1})
+
+GC_231 = Coupling(name = 'GC_231',
+                  value = '(l4*TH3x4*vev)/2. - l5*TH3x4*vev',
+                  order = {'QED':1})
+
+GC_232 = Coupling(name = 'GC_232',
+                  value = '-(l4*TH3x4*vev)/2. + l5*TH3x4*vev',
+                  order = {'QED':1})
+
+GC_233 = Coupling(name = 'GC_233',
+                  value = '-(complex(0,1)*l6*TH1x1*TH3x4*vev) - 2*complex(0,1)*l5*TH2x1*TH3x4*vev',
+                  order = {'QED':1})
+
+GC_234 = Coupling(name = 'GC_234',
+                  value = '-(complex(0,1)*l6*TH1x2*TH3x4*vev) - 2*complex(0,1)*l5*TH2x2*TH3x4*vev',
+                  order = {'QED':1})
+
+GC_235 = Coupling(name = 'GC_235',
+                  value = '-(complex(0,1)*l3*TH1x1*TH3x3**2*vev) - complex(0,1)*l4*TH1x1*TH3x3**2*vev + 2*complex(0,1)*l5*TH1x1*TH3x3**2*vev - complex(0,1)*l7*TH2x1*TH3x3**2*vev - 2*complex(0,1)*lP1*TH1x1*TH4x3**2*vev - 2*complex(0,1)*lP*TH2x1*TH4x3**2*vev',
+                  order = {'QED':1})
+
+GC_236 = Coupling(name = 'GC_236',
+                  value = '-(complex(0,1)*l3*TH1x2*TH3x3**2*vev) - complex(0,1)*l4*TH1x2*TH3x3**2*vev + 2*complex(0,1)*l5*TH1x2*TH3x3**2*vev - complex(0,1)*l7*TH2x2*TH3x3**2*vev - 2*complex(0,1)*lP1*TH1x2*TH4x3**2*vev - 2*complex(0,1)*lP*TH2x2*TH4x3**2*vev',
+                  order = {'QED':1})
+
+GC_237 = Coupling(name = 'GC_237',
+                  value = '-(complex(0,1)*l3*TH1x1*TH3x3*TH3x4*vev) - complex(0,1)*l4*TH1x1*TH3x3*TH3x4*vev + 2*complex(0,1)*l5*TH1x1*TH3x3*TH3x4*vev - complex(0,1)*l7*TH2x1*TH3x3*TH3x4*vev - 2*complex(0,1)*lP1*TH1x1*TH4x3*TH4x4*vev - 2*complex(0,1)*lP*TH2x1*TH4x3*TH4x4*vev',
+                  order = {'QED':1})
+
+GC_238 = Coupling(name = 'GC_238',
+                  value = '-(complex(0,1)*l3*TH1x2*TH3x3*TH3x4*vev) - complex(0,1)*l4*TH1x2*TH3x3*TH3x4*vev + 2*complex(0,1)*l5*TH1x2*TH3x3*TH3x4*vev - complex(0,1)*l7*TH2x2*TH3x3*TH3x4*vev - 2*complex(0,1)*lP1*TH1x2*TH4x3*TH4x4*vev - 2*complex(0,1)*lP*TH2x2*TH4x3*TH4x4*vev',
+                  order = {'QED':1})
+
+GC_239 = Coupling(name = 'GC_239',
+                  value = '-(complex(0,1)*l3*TH1x1*TH3x4**2*vev) - complex(0,1)*l4*TH1x1*TH3x4**2*vev + 2*complex(0,1)*l5*TH1x1*TH3x4**2*vev - complex(0,1)*l7*TH2x1*TH3x4**2*vev - 2*complex(0,1)*lP1*TH1x1*TH4x4**2*vev - 2*complex(0,1)*lP*TH2x1*TH4x4**2*vev',
+                  order = {'QED':1})
+
+GC_24 = Coupling(name = 'GC_24',
+                 value = '-(complex(0,1)*I5a11)',
+                 order = {'QED':1})
+
+GC_240 = Coupling(name = 'GC_240',
+                  value = '-(complex(0,1)*l3*TH1x2*TH3x4**2*vev) - complex(0,1)*l4*TH1x2*TH3x4**2*vev + 2*complex(0,1)*l5*TH1x2*TH3x4**2*vev - complex(0,1)*l7*TH2x2*TH3x4**2*vev - 2*complex(0,1)*lP1*TH1x2*TH4x4**2*vev - 2*complex(0,1)*lP*TH2x2*TH4x4**2*vev',
+                  order = {'QED':1})
+
+GC_241 = Coupling(name = 'GC_241',
+                  value = '-(yb/cmath.sqrt(2))',
+                  order = {'QED':1})
+
+GC_242 = Coupling(name = 'GC_242',
+                  value = '-(yc/cmath.sqrt(2))',
+                  order = {'QED':1})
+
+GC_243 = Coupling(name = 'GC_243',
+                  value = 'yc/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_244 = Coupling(name = 'GC_244',
+                  value = '-(ydo/cmath.sqrt(2))',
+                  order = {'QED':1})
+
+GC_245 = Coupling(name = 'GC_245',
+                  value = '-(complex(0,1)*ye)',
+                  order = {'QED':1})
+
+GC_246 = Coupling(name = 'GC_246',
+                  value = '-(ye/cmath.sqrt(2))',
+                  order = {'QED':1})
+
+GC_247 = Coupling(name = 'GC_247',
+                  value = '-(complex(0,1)*ym)',
+                  order = {'QED':1})
+
+GC_248 = Coupling(name = 'GC_248',
+                  value = '-(ym/cmath.sqrt(2))',
+                  order = {'QED':1})
+
+GC_249 = Coupling(name = 'GC_249',
+                  value = '(TH3x3*ymb)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_25 = Coupling(name = 'GC_25',
+                 value = '-(complex(0,1)*I5a22)',
+                 order = {'QED':1})
+
+GC_250 = Coupling(name = 'GC_250',
+                  value = '(TH3x4*ymb)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_251 = Coupling(name = 'GC_251',
+                  value = '(complex(0,1)*TH2x1*ymb)/(tanbeta*vev) - (complex(0,1)*TH1x1*yb)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_252 = Coupling(name = 'GC_252',
+                  value = '(complex(0,1)*TH2x2*ymb)/(tanbeta*vev) - (complex(0,1)*TH1x2*yb)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_253 = Coupling(name = 'GC_253',
+                  value = '-((TH3x3*ymc)/(tanbeta*vev))',
+                  order = {'QED':1})
+
+GC_254 = Coupling(name = 'GC_254',
+                  value = '(TH3x3*ymc)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_255 = Coupling(name = 'GC_255',
+                  value = '-((TH3x4*ymc)/(tanbeta*vev))',
+                  order = {'QED':1})
+
+GC_256 = Coupling(name = 'GC_256',
+                  value = '(TH3x4*ymc)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_257 = Coupling(name = 'GC_257',
+                  value = '(complex(0,1)*TH2x1*ymc)/(tanbeta*vev) - (complex(0,1)*TH1x1*yc)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_258 = Coupling(name = 'GC_258',
+                  value = '(complex(0,1)*TH2x2*ymc)/(tanbeta*vev) - (complex(0,1)*TH1x2*yc)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_259 = Coupling(name = 'GC_259',
+                  value = '(TH3x3*ymdo)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_26 = Coupling(name = 'GC_26',
+                 value = '-(complex(0,1)*I5a33)',
+                 order = {'QED':1})
+
+GC_260 = Coupling(name = 'GC_260',
+                  value = '(TH3x4*ymdo)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_261 = Coupling(name = 'GC_261',
+                  value = '(complex(0,1)*TH2x1*ymdo)/(tanbeta*vev) - (complex(0,1)*TH1x1*ydo)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_262 = Coupling(name = 'GC_262',
+                  value = '(complex(0,1)*TH2x2*ymdo)/(tanbeta*vev) - (complex(0,1)*TH1x2*ydo)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_263 = Coupling(name = 'GC_263',
+                  value = '(complex(0,1)*yme*cmath.sqrt(2))/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_264 = Coupling(name = 'GC_264',
+                  value = '(TH3x3*yme)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_265 = Coupling(name = 'GC_265',
+                  value = '(TH3x4*yme)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_266 = Coupling(name = 'GC_266',
+                  value = '(complex(0,1)*TH2x1*yme)/(tanbeta*vev) - (complex(0,1)*TH1x1*ye)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_267 = Coupling(name = 'GC_267',
+                  value = '(complex(0,1)*TH2x2*yme)/(tanbeta*vev) - (complex(0,1)*TH1x2*ye)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_268 = Coupling(name = 'GC_268',
+                  value = '(complex(0,1)*ymm*cmath.sqrt(2))/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_269 = Coupling(name = 'GC_269',
+                  value = '(TH3x3*ymm)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_27 = Coupling(name = 'GC_27',
+                 value = 'complex(0,1)*I6a11',
+                 order = {'QED':1})
+
+GC_270 = Coupling(name = 'GC_270',
+                  value = '(TH3x4*ymm)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_271 = Coupling(name = 'GC_271',
+                  value = '(complex(0,1)*TH2x1*ymm)/(tanbeta*vev) - (complex(0,1)*TH1x1*ym)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_272 = Coupling(name = 'GC_272',
+                  value = '(complex(0,1)*TH2x2*ymm)/(tanbeta*vev) - (complex(0,1)*TH1x2*ym)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_273 = Coupling(name = 'GC_273',
+                  value = '(TH3x3*yms)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_274 = Coupling(name = 'GC_274',
+                  value = '(TH3x4*yms)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_275 = Coupling(name = 'GC_275',
+                  value = '-((TH3x3*ymt)/(tanbeta*vev))',
+                  order = {'QED':1})
+
+GC_276 = Coupling(name = 'GC_276',
+                  value = '-((TH3x4*ymt)/(tanbeta*vev))',
+                  order = {'QED':1})
+
+GC_277 = Coupling(name = 'GC_277',
+                  value = '(complex(0,1)*ymtau*cmath.sqrt(2))/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_278 = Coupling(name = 'GC_278',
+                  value = '(TH3x3*ymtau)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_279 = Coupling(name = 'GC_279',
+                  value = '(TH3x4*ymtau)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_28 = Coupling(name = 'GC_28',
+                 value = 'complex(0,1)*I6a22',
+                 order = {'QED':1})
+
+GC_280 = Coupling(name = 'GC_280',
+                  value = '-((TH3x3*ymup)/(tanbeta*vev))',
+                  order = {'QED':1})
+
+GC_281 = Coupling(name = 'GC_281',
+                  value = '(TH3x3*ymup)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_282 = Coupling(name = 'GC_282',
+                  value = '-((TH3x4*ymup)/(tanbeta*vev))',
+                  order = {'QED':1})
+
+GC_283 = Coupling(name = 'GC_283',
+                  value = '(TH3x4*ymup)/(tanbeta*vev)',
+                  order = {'QED':1})
+
+GC_284 = Coupling(name = 'GC_284',
+                  value = '-(ys/cmath.sqrt(2))',
+                  order = {'QED':1})
+
+GC_285 = Coupling(name = 'GC_285',
+                  value = '(complex(0,1)*TH2x1*yms)/(tanbeta*vev) - (complex(0,1)*TH1x1*ys)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_286 = Coupling(name = 'GC_286',
+                  value = '(complex(0,1)*TH2x2*yms)/(tanbeta*vev) - (complex(0,1)*TH1x2*ys)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_287 = Coupling(name = 'GC_287',
+                  value = '-(yt/cmath.sqrt(2))',
+                  order = {'QED':1})
+
+GC_288 = Coupling(name = 'GC_288',
+                  value = 'yt/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_289 = Coupling(name = 'GC_289',
+                  value = '(complex(0,1)*TH2x1*ymt)/(tanbeta*vev) - (complex(0,1)*TH1x1*yt)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_29 = Coupling(name = 'GC_29',
+                 value = 'complex(0,1)*I6a33',
+                 order = {'QED':1})
+
+GC_290 = Coupling(name = 'GC_290',
+                  value = '(complex(0,1)*TH2x2*ymt)/(tanbeta*vev) - (complex(0,1)*TH1x2*yt)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_291 = Coupling(name = 'GC_291',
+                  value = '-(complex(0,1)*ytau)',
+                  order = {'QED':1})
+
+GC_292 = Coupling(name = 'GC_292',
+                  value = '-(ytau/cmath.sqrt(2))',
+                  order = {'QED':1})
+
+GC_293 = Coupling(name = 'GC_293',
+                  value = '(complex(0,1)*TH2x1*ymtau)/(tanbeta*vev) - (complex(0,1)*TH1x1*ytau)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_294 = Coupling(name = 'GC_294',
+                  value = '(complex(0,1)*TH2x2*ymtau)/(tanbeta*vev) - (complex(0,1)*TH1x2*ytau)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_295 = Coupling(name = 'GC_295',
+                  value = '-(yup/cmath.sqrt(2))',
+                  order = {'QED':1})
+
+GC_296 = Coupling(name = 'GC_296',
+                  value = 'yup/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_297 = Coupling(name = 'GC_297',
+                  value = '(complex(0,1)*TH2x1*ymup)/(tanbeta*vev) - (complex(0,1)*TH1x1*yup)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_298 = Coupling(name = 'GC_298',
+                  value = '(complex(0,1)*TH2x2*ymup)/(tanbeta*vev) - (complex(0,1)*TH1x2*yup)/cmath.sqrt(2)',
+                  order = {'QED':1})
+
+GC_3 = Coupling(name = 'GC_3',
+                value = '-(ee*complex(0,1))',
+                order = {'QED':1})
+
+GC_30 = Coupling(name = 'GC_30',
+                 value = 'complex(0,1)*I7a11',
+                 order = {'QED':1})
+
+GC_31 = Coupling(name = 'GC_31',
+                 value = 'complex(0,1)*I7a22',
+                 order = {'QED':1})
+
+GC_32 = Coupling(name = 'GC_32',
+                 value = 'complex(0,1)*I7a33',
+                 order = {'QED':1})
+
+GC_33 = Coupling(name = 'GC_33',
+                 value = '-(complex(0,1)*I8a11)',
+                 order = {'QED':1})
+
+GC_34 = Coupling(name = 'GC_34',
+                 value = '-(complex(0,1)*I8a22)',
+                 order = {'QED':1})
+
+GC_35 = Coupling(name = 'GC_35',
+                 value = '-(complex(0,1)*I8a33)',
+                 order = {'QED':1})
+
+GC_36 = Coupling(name = 'GC_36',
+                 value = '-2*complex(0,1)*l1',
+                 order = {'QED':2})
+
+GC_37 = Coupling(name = 'GC_37',
+                 value = '-4*complex(0,1)*l1',
+                 order = {'QED':2})
+
+GC_38 = Coupling(name = 'GC_38',
+                 value = '-6*complex(0,1)*l1',
+                 order = {'QED':2})
+
+GC_39 = Coupling(name = 'GC_39',
+                 value = '-4*complex(0,1)*l2',
+                 order = {'QED':2})
+
+GC_4 = Coupling(name = 'GC_4',
+                value = 'ee*complex(0,1)',
+                order = {'QED':1})
+
+GC_40 = Coupling(name = 'GC_40',
+                 value = '-(complex(0,1)*l3)',
+                 order = {'QED':2})
+
+GC_41 = Coupling(name = 'GC_41',
+                 value = '-(complex(0,1)*l3) - complex(0,1)*l4',
+                 order = {'QED':2})
+
+GC_42 = Coupling(name = 'GC_42',
+                 value = '-4*complex(0,1)*l5',
+                 order = {'QED':2})
+
+GC_43 = Coupling(name = 'GC_43',
+                 value = '-(complex(0,1)*l6)',
+                 order = {'QED':2})
+
+GC_44 = Coupling(name = 'GC_44',
+                 value = '-2*complex(0,1)*l6',
+                 order = {'QED':2})
+
+GC_45 = Coupling(name = 'GC_45',
+                 value = '-2*complex(0,1)*l7',
+                 order = {'QED':2})
+
+GC_46 = Coupling(name = 'GC_46',
+                 value = '(ee**2*complex(0,1))/(2.*sw**2)',
+                 order = {'QED':2})
+
+GC_47 = Coupling(name = 'GC_47',
+                 value = '-((ee**2*complex(0,1))/sw**2)',
+                 order = {'QED':2})
+
+GC_48 = Coupling(name = 'GC_48',
+                 value = '(cw**2*ee**2*complex(0,1))/sw**2',
+                 order = {'QED':2})
+
+GC_49 = Coupling(name = 'GC_49',
+                 value = 'ee/(2.*sw)',
+                 order = {'QED':1})
+
+GC_5 = Coupling(name = 'GC_5',
+                value = 'ee**2*complex(0,1)',
+                order = {'QED':2})
+
+GC_50 = Coupling(name = 'GC_50',
+                 value = '(ee*complex(0,1))/(sw*cmath.sqrt(2))',
+                 order = {'QED':1})
+
+GC_51 = Coupling(name = 'GC_51',
+                 value = '-((cw*ee*complex(0,1))/sw)',
+                 order = {'QED':1})
+
+GC_52 = Coupling(name = 'GC_52',
+                 value = '(cw*ee*complex(0,1))/sw',
+                 order = {'QED':1})
+
+GC_53 = Coupling(name = 'GC_53',
+                 value = '-ee**2/(2.*sw)',
+                 order = {'QED':2})
+
+GC_54 = Coupling(name = 'GC_54',
+                 value = 'ee**2/(2.*sw)',
+                 order = {'QED':2})
+
+GC_55 = Coupling(name = 'GC_55',
+                 value = '(-2*cw*ee**2*complex(0,1))/sw',
+                 order = {'QED':2})
+
+GC_56 = Coupling(name = 'GC_56',
+                 value = '(ee*complex(0,1)*sw)/(3.*cw)',
+                 order = {'QED':1})
+
+GC_57 = Coupling(name = 'GC_57',
+                 value = '(-2*ee*complex(0,1)*sw)/(3.*cw)',
+                 order = {'QED':1})
+
+GC_58 = Coupling(name = 'GC_58',
+                 value = '(ee*complex(0,1)*sw)/cw',
+                 order = {'QED':1})
+
+GC_59 = Coupling(name = 'GC_59',
+                 value = '-(cw*ee*complex(0,1))/(2.*sw) - (ee*complex(0,1)*sw)/(6.*cw)',
+                 order = {'QED':1})
+
+GC_6 = Coupling(name = 'GC_6',
+                value = '2*ee**2*complex(0,1)',
+                order = {'QED':2})
+
+GC_60 = Coupling(name = 'GC_60',
+                 value = '(cw*ee*complex(0,1))/(2.*sw) - (ee*complex(0,1)*sw)/(6.*cw)',
+                 order = {'QED':1})
+
+GC_61 = Coupling(name = 'GC_61',
+                 value = '-(cw*ee*complex(0,1))/(2.*sw) + (ee*complex(0,1)*sw)/(2.*cw)',
+                 order = {'QED':1})
+
+GC_62 = Coupling(name = 'GC_62',
+                 value = '(cw*ee*complex(0,1))/(2.*sw) + (ee*complex(0,1)*sw)/(2.*cw)',
+                 order = {'QED':1})
+
+GC_63 = Coupling(name = 'GC_63',
+                 value = '(cw*ee**2*complex(0,1))/sw - (ee**2*complex(0,1)*sw)/cw',
+                 order = {'QED':2})
+
+GC_64 = Coupling(name = 'GC_64',
+                 value = '-(ee**2*complex(0,1)) + (cw**2*ee**2*complex(0,1))/(2.*sw**2) + (ee**2*complex(0,1)*sw**2)/(2.*cw**2)',
+                 order = {'QED':2})
+
+GC_65 = Coupling(name = 'GC_65',
+                 value = 'ee**2*complex(0,1) + (cw**2*ee**2*complex(0,1))/(2.*sw**2) + (ee**2*complex(0,1)*sw**2)/(2.*cw**2)',
+                 order = {'QED':2})
+
+GC_66 = Coupling(name = 'GC_66',
+                 value = '-(ee**2*complex(0,1)*TH1x1)/(2.*cw)',
+                 order = {'QED':2})
+
+GC_67 = Coupling(name = 'GC_67',
+                 value = '-(ee*complex(0,1)*TH1x1)/(2.*sw)',
+                 order = {'QED':1})
+
+GC_68 = Coupling(name = 'GC_68',
+                 value = '(ee*complex(0,1)*TH1x1)/(2.*sw)',
+                 order = {'QED':1})
+
+GC_69 = Coupling(name = 'GC_69',
+                 value = '(ee**2*complex(0,1)*TH1x1)/(2.*sw)',
+                 order = {'QED':2})
+
+GC_7 = Coupling(name = 'GC_7',
+                value = '-ee**2/(2.*cw)',
+                order = {'QED':2})
+
+GC_70 = Coupling(name = 'GC_70',
+                 value = '-(cw*ee*TH1x1)/(2.*sw) - (ee*sw*TH1x1)/(2.*cw)',
+                 order = {'QED':1})
+
+GC_71 = Coupling(name = 'GC_71',
+                 value = '-(ee**2*complex(0,1)*TH1x2)/(2.*cw)',
+                 order = {'QED':2})
+
+GC_72 = Coupling(name = 'GC_72',
+                 value = '-(ee*complex(0,1)*TH1x2)/(2.*sw)',
+                 order = {'QED':1})
+
+GC_73 = Coupling(name = 'GC_73',
+                 value = '(ee*complex(0,1)*TH1x2)/(2.*sw)',
+                 order = {'QED':1})
+
+GC_74 = Coupling(name = 'GC_74',
+                 value = '(ee**2*complex(0,1)*TH1x2)/(2.*sw)',
+                 order = {'QED':2})
+
+GC_75 = Coupling(name = 'GC_75',
+                 value = '-(cw*ee*TH1x2)/(2.*sw) - (ee*sw*TH1x2)/(2.*cw)',
+                 order = {'QED':1})
+
+GC_76 = Coupling(name = 'GC_76',
+                 value = '-(ee**2*complex(0,1)*TH2x1)/(2.*cw)',
+                 order = {'QED':2})
+
+GC_77 = Coupling(name = 'GC_77',
+                 value = '-(ee*complex(0,1)*TH2x1)/(2.*sw)',
+                 order = {'QED':1})
+
+GC_78 = Coupling(name = 'GC_78',
+                 value = '(ee*complex(0,1)*TH2x1)/(2.*sw)',
+                 order = {'QED':1})
+
+GC_79 = Coupling(name = 'GC_79',
+                 value = '(ee**2*complex(0,1)*TH2x1)/(2.*sw)',
+                 order = {'QED':2})
+
+GC_8 = Coupling(name = 'GC_8',
+                value = 'ee**2/(2.*cw)',
+                order = {'QED':2})
+
+GC_80 = Coupling(name = 'GC_80',
+                 value = '(l4*TH2x1)/2. - l5*TH2x1',
+                 order = {'QED':2})
+
+GC_81 = Coupling(name = 'GC_81',
+                 value = '-(l4*TH2x1)/2. + l5*TH2x1',
+                 order = {'QED':2})
+
+GC_82 = Coupling(name = 'GC_82',
+                 value = '-(complex(0,1)*l3*TH1x1**2) - 2*complex(0,1)*l7*TH1x1*TH2x1 - 2*complex(0,1)*l2*TH2x1**2',
+                 order = {'QED':2})
+
+GC_83 = Coupling(name = 'GC_83',
+                 value = '-2*complex(0,1)*l1*TH1x1**2 - 2*complex(0,1)*l6*TH1x1*TH2x1 - complex(0,1)*l3*TH2x1**2',
+                 order = {'QED':2})
+
+GC_84 = Coupling(name = 'GC_84',
+                 value = '-2*complex(0,1)*l1*TH1x1**2 - 2*complex(0,1)*l6*TH1x1*TH2x1 - complex(0,1)*l3*TH2x1**2 - complex(0,1)*l4*TH2x1**2 + 2*complex(0,1)*l5*TH2x1**2',
+                 order = {'QED':2})
+
+GC_85 = Coupling(name = 'GC_85',
+                 value = '-(complex(0,1)*l6*TH1x1**2) - complex(0,1)*l4*TH1x1*TH2x1 - 2*complex(0,1)*l5*TH1x1*TH2x1 - complex(0,1)*l7*TH2x1**2',
+                 order = {'QED':2})
+
+GC_86 = Coupling(name = 'GC_86',
+                 value = '(ee**2*complex(0,1)*TH1x1**2)/(2.*sw**2) + (ee**2*complex(0,1)*TH2x1**2)/(2.*sw**2)',
+                 order = {'QED':2})
+
+GC_87 = Coupling(name = 'GC_87',
+                 value = 'ee**2*complex(0,1)*TH1x1**2 + (cw**2*ee**2*complex(0,1)*TH1x1**2)/(2.*sw**2) + (ee**2*complex(0,1)*sw**2*TH1x1**2)/(2.*cw**2) + ee**2*complex(0,1)*TH2x1**2 + (cw**2*ee**2*complex(0,1)*TH2x1**2)/(2.*sw**2) + (ee**2*complex(0,1)*sw**2*TH2x1**2)/(2.*cw**2)',
+                 order = {'QED':2})
+
+GC_88 = Coupling(name = 'GC_88',
+                 value = '-6*complex(0,1)*l1*TH1x1**4 - 12*complex(0,1)*l6*TH1x1**3*TH2x1 - 6*complex(0,1)*l3*TH1x1**2*TH2x1**2 - 6*complex(0,1)*l4*TH1x1**2*TH2x1**2 - 12*complex(0,1)*l5*TH1x1**2*TH2x1**2 - 12*complex(0,1)*l7*TH1x1*TH2x1**3 - 6*complex(0,1)*l2*TH2x1**4',
+                 order = {'QED':2})
+
+GC_89 = Coupling(name = 'GC_89',
+                 value = '-(ee**2*complex(0,1)*TH2x2)/(2.*cw)',
+                 order = {'QED':2})
+
+GC_9 = Coupling(name = 'GC_9',
+                value = '-G',
+                order = {'QCD':1})
+
+GC_90 = Coupling(name = 'GC_90',
+                 value = '-(ee*complex(0,1)*TH2x2)/(2.*sw)',
+                 order = {'QED':1})
+
+GC_91 = Coupling(name = 'GC_91',
+                 value = '(ee*complex(0,1)*TH2x2)/(2.*sw)',
+                 order = {'QED':1})
+
+GC_92 = Coupling(name = 'GC_92',
+                 value = '(ee**2*complex(0,1)*TH2x2)/(2.*sw)',
+                 order = {'QED':2})
+
+GC_93 = Coupling(name = 'GC_93',
+                 value = '(l4*TH2x2)/2. - l5*TH2x2',
+                 order = {'QED':2})
+
+GC_94 = Coupling(name = 'GC_94',
+                 value = '-(l4*TH2x2)/2. + l5*TH2x2',
+                 order = {'QED':2})
+
+GC_95 = Coupling(name = 'GC_95',
+                 value = '-(complex(0,1)*l3*TH1x1*TH1x2) - complex(0,1)*l7*TH1x2*TH2x1 - complex(0,1)*l7*TH1x1*TH2x2 - 2*complex(0,1)*l2*TH2x1*TH2x2',
+                 order = {'QED':2})
+
+GC_96 = Coupling(name = 'GC_96',
+                 value = '-2*complex(0,1)*l1*TH1x1*TH1x2 - complex(0,1)*l6*TH1x2*TH2x1 - complex(0,1)*l6*TH1x1*TH2x2 - complex(0,1)*l3*TH2x1*TH2x2',
+                 order = {'QED':2})
+
+GC_97 = Coupling(name = 'GC_97',
+                 value = '-2*complex(0,1)*l1*TH1x1*TH1x2 - complex(0,1)*l6*TH1x2*TH2x1 - complex(0,1)*l6*TH1x1*TH2x2 - complex(0,1)*l3*TH2x1*TH2x2 - complex(0,1)*l4*TH2x1*TH2x2 + 2*complex(0,1)*l5*TH2x1*TH2x2',
+                 order = {'QED':2})
+
+GC_98 = Coupling(name = 'GC_98',
+                 value = '-(complex(0,1)*l6*TH1x1*TH1x2) - (complex(0,1)*l4*TH1x2*TH2x1)/2. - complex(0,1)*l5*TH1x2*TH2x1 - (complex(0,1)*l4*TH1x1*TH2x2)/2. - complex(0,1)*l5*TH1x1*TH2x2 - complex(0,1)*l7*TH2x1*TH2x2',
+                 order = {'QED':2})
+
+GC_99 = Coupling(name = 'GC_99',
+                 value = '(ee**2*complex(0,1)*TH1x1*TH1x2)/(2.*sw**2) + (ee**2*complex(0,1)*TH2x1*TH2x2)/(2.*sw**2)',
+                 order = {'QED':2})
+
diff --git a/DM/Pseudoscalar_2HDMI/decays.py b/DM/Pseudoscalar_2HDMI/decays.py
new file mode 100644
index 00000000..e2377b5b
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/decays.py
@@ -0,0 +1,185 @@
+# This file was automatically created by FeynRules 2.3.43
+# Mathematica version: 12.1.0 for Mac OS X x86 (64-bit) (March 14, 2020)
+# Date: Wed 3 May 2023 19:36:55
+
+
+from object_library import all_decays, Decay
+import particles as P
+
+
+Decay_b = Decay(name = 'Decay_b',
+                particle = P.b,
+                partial_widths = {(P.h__minus__,P.t):'((3*I1a33*MB**2*complexconjugate(I1a33) - 3*I1a33*mhc**2*complexconjugate(I1a33) - 6*I2a33*MB*MT*complexconjugate(I1a33) + 3*I1a33*MT**2*complexconjugate(I1a33) + 3*I2a33*MB**2*complexconjugate(I2a33) - 3*I2a33*mhc**2*complexconjugate(I2a33) - 6*I1a33*MB*MT*complexconjugate(I2a33) + 3*I2a33*MT**2*complexconjugate(I2a33))*cmath.sqrt(MB**4 - 2*MB**2*mhc**2 + mhc**4 - 2*MB**2*MT**2 - 2*mhc**2*MT**2 + MT**4))/(96.*cmath.pi*abs(MB)**3)',
+                                  (P.W__minus__,P.t):'(((3*ee**2*MB**2)/(2.*sw**2) + (3*ee**2*MT**2)/(2.*sw**2) + (3*ee**2*MB**4)/(2.*MW**2*sw**2) - (3*ee**2*MB**2*MT**2)/(MW**2*sw**2) + (3*ee**2*MT**4)/(2.*MW**2*sw**2) - (3*ee**2*MW**2)/sw**2)*cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4))/(96.*cmath.pi*abs(MB)**3)'})
+
+Decay_c = Decay(name = 'Decay_c',
+                particle = P.c,
+                partial_widths = {(P.h__plus__,P.s):'((3*I3a22*MC**2*complexconjugate(I3a22) - 3*I3a22*mhc**2*complexconjugate(I3a22) - 6*I4a22*MC*MS*complexconjugate(I3a22) + 3*I3a22*MS**2*complexconjugate(I3a22) + 3*I4a22*MC**2*complexconjugate(I4a22) - 3*I4a22*mhc**2*complexconjugate(I4a22) - 6*I3a22*MC*MS*complexconjugate(I4a22) + 3*I4a22*MS**2*complexconjugate(I4a22))*cmath.sqrt(MC**4 - 2*MC**2*mhc**2 + mhc**4 - 2*MC**2*MS**2 - 2*mhc**2*MS**2 + MS**4))/(96.*cmath.pi*abs(MC)**3)',
+                                  (P.W__plus__,P.s):'(((3*ee**2*MC**2)/(2.*sw**2) + (3*ee**2*MS**2)/(2.*sw**2) + (3*ee**2*MC**4)/(2.*MW**2*sw**2) - (3*ee**2*MC**2*MS**2)/(MW**2*sw**2) + (3*ee**2*MS**4)/(2.*MW**2*sw**2) - (3*ee**2*MW**2)/sw**2)*cmath.sqrt(MC**4 - 2*MC**2*MS**2 + MS**4 - 2*MC**2*MW**2 - 2*MS**2*MW**2 + MW**4))/(96.*cmath.pi*abs(MC)**3)'})
+
+Decay_d = Decay(name = 'Decay_d',
+                particle = P.d,
+                partial_widths = {(P.h__minus__,P.u):'((3*I1a11*MD**2*complexconjugate(I1a11) - 3*I1a11*mhc**2*complexconjugate(I1a11) - 6*I2a11*MD*MU*complexconjugate(I1a11) + 3*I1a11*MU**2*complexconjugate(I1a11) + 3*I2a11*MD**2*complexconjugate(I2a11) - 3*I2a11*mhc**2*complexconjugate(I2a11) - 6*I1a11*MD*MU*complexconjugate(I2a11) + 3*I2a11*MU**2*complexconjugate(I2a11))*cmath.sqrt(MD**4 - 2*MD**2*mhc**2 + mhc**4 - 2*MD**2*MU**2 - 2*mhc**2*MU**2 + MU**4))/(96.*cmath.pi*abs(MD)**3)',
+                                  (P.W__minus__,P.u):'(((3*ee**2*MD**2)/(2.*sw**2) + (3*ee**2*MU**2)/(2.*sw**2) + (3*ee**2*MD**4)/(2.*MW**2*sw**2) - (3*ee**2*MD**2*MU**2)/(MW**2*sw**2) + (3*ee**2*MU**4)/(2.*MW**2*sw**2) - (3*ee**2*MW**2)/sw**2)*cmath.sqrt(MD**4 - 2*MD**2*MU**2 + MU**4 - 2*MD**2*MW**2 - 2*MU**2*MW**2 + MW**4))/(96.*cmath.pi*abs(MD)**3)'})
+
+Decay_e__minus__ = Decay(name = 'Decay_e__minus__',
+                         particle = P.e__minus__,
+                         partial_widths = {(P.h__minus__,P.ve):'((Me**2 - mhc**2)*((2*Me**2*yme**2)/(tanbeta**2*vev**2) - (2*mhc**2*yme**2)/(tanbeta**2*vev**2)))/(32.*cmath.pi*abs(Me)**3)',
+                                           (P.W__minus__,P.ve):'((Me**2 - MW**2)*((ee**2*Me**2)/(2.*sw**2) + (ee**2*Me**4)/(2.*MW**2*sw**2) - (ee**2*MW**2)/sw**2))/(32.*cmath.pi*abs(Me)**3)'})
+
+Decay_h1 = Decay(name = 'Decay_h1',
+                 particle = P.h1,
+                 partial_widths = {(P.b,P.b__tilde__):'((-12*MB**2*TH1x1**2*yb**2 + 3*mh1**2*TH1x1**2*yb**2 - (24*MB**2*TH2x1**2*ymb**2)/(tanbeta**2*vev**2) + (6*mh1**2*TH2x1**2*ymb**2)/(tanbeta**2*vev**2) + (24*MB**2*TH1x1*TH2x1*yb*ymb*cmath.sqrt(2))/(tanbeta*vev) - (6*mh1**2*TH1x1*TH2x1*yb*ymb*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(-4*MB**2*mh1**2 + mh1**4))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.c,P.c__tilde__):'((-12*MC**2*TH1x1**2*yc**2 + 3*mh1**2*TH1x1**2*yc**2 - (24*MC**2*TH2x1**2*ymc**2)/(tanbeta**2*vev**2) + (6*mh1**2*TH2x1**2*ymc**2)/(tanbeta**2*vev**2) + (24*MC**2*TH1x1*TH2x1*yc*ymc*cmath.sqrt(2))/(tanbeta*vev) - (6*mh1**2*TH1x1*TH2x1*yc*ymc*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(-4*MC**2*mh1**2 + mh1**4))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.d,P.d__tilde__):'((-12*MD**2*TH1x1**2*ydo**2 + 3*mh1**2*TH1x1**2*ydo**2 - (24*MD**2*TH2x1**2*ymdo**2)/(tanbeta**2*vev**2) + (6*mh1**2*TH2x1**2*ymdo**2)/(tanbeta**2*vev**2) + (24*MD**2*TH1x1*TH2x1*ydo*ymdo*cmath.sqrt(2))/(tanbeta*vev) - (6*mh1**2*TH1x1*TH2x1*ydo*ymdo*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(-4*MD**2*mh1**2 + mh1**4))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.e__minus__,P.e__plus__):'((-4*Me**2*TH1x1**2*ye**2 + mh1**2*TH1x1**2*ye**2 - (8*Me**2*TH2x1**2*yme**2)/(tanbeta**2*vev**2) + (2*mh1**2*TH2x1**2*yme**2)/(tanbeta**2*vev**2) + (8*Me**2*TH1x1*TH2x1*ye*yme*cmath.sqrt(2))/(tanbeta*vev) - (2*mh1**2*TH1x1*TH2x1*ye*yme*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(-4*Me**2*mh1**2 + mh1**4))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.h2,P.h2):'((36*l1**2*TH1x1**2*TH1x2**4*vev**2 + 36*l1*l6*TH1x1*TH1x2**4*TH2x1*vev**2 + 9*l6**2*TH1x2**4*TH2x1**2*vev**2 + 72*l1*l6*TH1x1**2*TH1x2**3*TH2x2*vev**2 + 24*l1*l3*TH1x1*TH1x2**3*TH2x1*TH2x2*vev**2 + 24*l1*l4*TH1x1*TH1x2**3*TH2x1*TH2x2*vev**2 + 48*l1*l5*TH1x1*TH1x2**3*TH2x1*TH2x2*vev**2 + 36*l6**2*TH1x1*TH1x2**3*TH2x1*TH2x2*vev**2 + 12*l3*l6*TH1x2**3*TH2x1**2*TH2x2*vev**2 + 12*l4*l6*TH1x2**3*TH2x1**2*TH2x2*vev**2 + 24*l5*l6*TH1x2**3*TH2x1**2*TH2x2*vev**2 + 12*l1*l3*TH1x1**2*TH1x2**2*TH2x2**2*vev**2 + 12*l1*l4*TH1x1**2*TH1x2**2*TH2x2**2*vev**2 + 24*l1*l5*TH1x1**2*TH1x2**2*TH2x2**2*vev**2 + 36*l6**2*TH1x1**2*TH1x2**2*TH2x2**2*vev**2 + 30*l3*l6*TH1x1*TH1x2**2*TH2x1*TH2x2**2*vev**2 + 30*l4*l6*TH1x1*TH1x2**2*TH2x1*TH2x2**2*vev**2 + 60*l5*l6*TH1x1*TH1x2**2*TH2x1*TH2x2**2*vev**2 + 36*l1*l7*TH1x1*TH1x2**2*TH2x1*TH2x2**2*vev**2 + 4*l3**2*TH1x2**2*TH2x1**2*TH2x2**2*vev**2 + 8*l3*l4*TH1x2**2*TH2x1**2*TH2x2**2*vev**2 + 4*l4**2*TH1x2**2*TH2x1**2*TH2x2**2*vev**2 + 16*l3*l5*TH1x2**2*TH2x1**2*TH2x2**2*vev**2 + 16*l4*l5*TH1x2**2*TH2x1**2*TH2x2**2*vev**2 + 16*l5**2*TH1x2**2*TH2x1**2*TH2x2**2*vev**2 + 18*l6*l7*TH1x2**2*TH2x1**2*TH2x2**2*vev**2 + 12*l3*l6*TH1x1**2*TH1x2*TH2x2**3*vev**2 + 12*l4*l6*TH1x1**2*TH1x2*TH2x2**3*vev**2 + 24*l5*l6*TH1x1**2*TH1x2*TH2x2**3*vev**2 + 4*l3**2*TH1x1*TH1x2*TH2x1*TH2x2**3*vev**2 + 8*l3*l4*TH1x1*TH1x2*TH2x1*TH2x2**3*vev**2 + 4*l4**2*TH1x1*TH1x2*TH2x1*TH2x2**3*vev**2 + 16*l3*l5*TH1x1*TH1x2*TH2x1*TH2x2**3*vev**2 + 16*l4*l5*TH1x1*TH1x2*TH2x1*TH2x2**3*vev**2 + 16*l5**2*TH1x1*TH1x2*TH2x1*TH2x2**3*vev**2 + 36*l6*l7*TH1x1*TH1x2*TH2x1*TH2x2**3*vev**2 + 12*l3*l7*TH1x2*TH2x1**2*TH2x2**3*vev**2 + 12*l4*l7*TH1x2*TH2x1**2*TH2x2**3*vev**2 + 24*l5*l7*TH1x2*TH2x1**2*TH2x2**3*vev**2 + l3**2*TH1x1**2*TH2x2**4*vev**2 + 2*l3*l4*TH1x1**2*TH2x2**4*vev**2 + l4**2*TH1x1**2*TH2x2**4*vev**2 + 4*l3*l5*TH1x1**2*TH2x2**4*vev**2 + 4*l4*l5*TH1x1**2*TH2x2**4*vev**2 + 4*l5**2*TH1x1**2*TH2x2**4*vev**2 + 6*l3*l7*TH1x1*TH2x1*TH2x2**4*vev**2 + 6*l4*l7*TH1x1*TH2x1*TH2x2**4*vev**2 + 12*l5*l7*TH1x1*TH2x1*TH2x2**4*vev**2 + 9*l7**2*TH2x1**2*TH2x2**4*vev**2)*cmath.sqrt(mh1**4 - 4*mh1**2*mh2**2))/(32.*cmath.pi*abs(mh1)**3)',
+                                   (P.h3,P.h3):'((4*muP**2*TH1x1**2*TH3x3**2*TH4x3**2 - 4*l3*muP*TH1x1**2*TH3x3**3*TH4x3*vev - 4*l4*muP*TH1x1**2*TH3x3**3*TH4x3*vev + 8*l5*muP*TH1x1**2*TH3x3**3*TH4x3*vev - 4*l7*muP*TH1x1*TH2x1*TH3x3**3*TH4x3*vev - 8*lP1*muP*TH1x1**2*TH3x3*TH4x3**3*vev - 8*lP*muP*TH1x1*TH2x1*TH3x3*TH4x3**3*vev + l3**2*TH1x1**2*TH3x3**4*vev**2 + 2*l3*l4*TH1x1**2*TH3x3**4*vev**2 + l4**2*TH1x1**2*TH3x3**4*vev**2 - 4*l3*l5*TH1x1**2*TH3x3**4*vev**2 - 4*l4*l5*TH1x1**2*TH3x3**4*vev**2 + 4*l5**2*TH1x1**2*TH3x3**4*vev**2 + 2*l3*l7*TH1x1*TH2x1*TH3x3**4*vev**2 + 2*l4*l7*TH1x1*TH2x1*TH3x3**4*vev**2 - 4*l5*l7*TH1x1*TH2x1*TH3x3**4*vev**2 + l7**2*TH2x1**2*TH3x3**4*vev**2 + 4*l3*lP1*TH1x1**2*TH3x3**2*TH4x3**2*vev**2 + 4*l4*lP1*TH1x1**2*TH3x3**2*TH4x3**2*vev**2 - 8*l5*lP1*TH1x1**2*TH3x3**2*TH4x3**2*vev**2 + 4*l3*lP*TH1x1*TH2x1*TH3x3**2*TH4x3**2*vev**2 + 4*l4*lP*TH1x1*TH2x1*TH3x3**2*TH4x3**2*vev**2 - 8*l5*lP*TH1x1*TH2x1*TH3x3**2*TH4x3**2*vev**2 + 4*l7*lP1*TH1x1*TH2x1*TH3x3**2*TH4x3**2*vev**2 + 4*l7*lP*TH2x1**2*TH3x3**2*TH4x3**2*vev**2 + 4*lP1**2*TH1x1**2*TH4x3**4*vev**2 + 8*lP*lP1*TH1x1*TH2x1*TH4x3**4*vev**2 + 4*lP**2*TH2x1**2*TH4x3**4*vev**2)*cmath.sqrt(mh1**4 - 4*mh1**2*mh3**2))/(32.*cmath.pi*abs(mh1)**3)',
+                                   (P.h3,P.h4):'((muP**2*TH1x1**2*TH3x4**2*TH4x3**2 + 2*muP**2*TH1x1**2*TH3x3*TH3x4*TH4x3*TH4x4 + muP**2*TH1x1**2*TH3x3**2*TH4x4**2 - 2*l3*muP*TH1x1**2*TH3x3*TH3x4**2*TH4x3*vev - 2*l4*muP*TH1x1**2*TH3x3*TH3x4**2*TH4x3*vev + 4*l5*muP*TH1x1**2*TH3x3*TH3x4**2*TH4x3*vev - 2*l7*muP*TH1x1*TH2x1*TH3x3*TH3x4**2*TH4x3*vev - 2*l3*muP*TH1x1**2*TH3x3**2*TH3x4*TH4x4*vev - 2*l4*muP*TH1x1**2*TH3x3**2*TH3x4*TH4x4*vev + 4*l5*muP*TH1x1**2*TH3x3**2*TH3x4*TH4x4*vev - 2*l7*muP*TH1x1*TH2x1*TH3x3**2*TH3x4*TH4x4*vev - 4*lP1*muP*TH1x1**2*TH3x4*TH4x3**2*TH4x4*vev - 4*lP*muP*TH1x1*TH2x1*TH3x4*TH4x3**2*TH4x4*vev - 4*lP1*muP*TH1x1**2*TH3x3*TH4x3*TH4x4**2*vev - 4*lP*muP*TH1x1*TH2x1*TH3x3*TH4x3*TH4x4**2*vev + l3**2*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 + 2*l3*l4*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 + l4**2*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 - 4*l3*l5*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 - 4*l4*l5*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 + 4*l5**2*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 + 2*l3*l7*TH1x1*TH2x1*TH3x3**2*TH3x4**2*vev**2 + 2*l4*l7*TH1x1*TH2x1*TH3x3**2*TH3x4**2*vev**2 - 4*l5*l7*TH1x1*TH2x1*TH3x3**2*TH3x4**2*vev**2 + l7**2*TH2x1**2*TH3x3**2*TH3x4**2*vev**2 + 4*l3*lP1*TH1x1**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l4*lP1*TH1x1**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 - 8*l5*lP1*TH1x1**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l3*lP*TH1x1*TH2x1*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l4*lP*TH1x1*TH2x1*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 - 8*l5*lP*TH1x1*TH2x1*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l7*lP1*TH1x1*TH2x1*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l7*lP*TH2x1**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*lP1**2*TH1x1**2*TH4x3**2*TH4x4**2*vev**2 + 8*lP*lP1*TH1x1*TH2x1*TH4x3**2*TH4x4**2*vev**2 + 4*lP**2*TH2x1**2*TH4x3**2*TH4x4**2*vev**2)*cmath.sqrt(mh1**4 - 2*mh1**2*mh3**2 + mh3**4 - 2*mh1**2*mh4**2 - 2*mh3**2*mh4**2 + mh4**4))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.h3,P.Z):'((-(ee**2*mh1**2*TH2x1**2*TH3x3**2) - ee**2*mh3**2*TH2x1**2*TH3x3**2 + (ee**2*mh1**4*TH2x1**2*TH3x3**2)/(2.*MZ**2) - (ee**2*mh1**2*mh3**2*TH2x1**2*TH3x3**2)/MZ**2 + (ee**2*mh3**4*TH2x1**2*TH3x3**2)/(2.*MZ**2) + (ee**2*MZ**2*TH2x1**2*TH3x3**2)/2. - (cw**2*ee**2*mh1**2*TH2x1**2*TH3x3**2)/(2.*sw**2) - (cw**2*ee**2*mh3**2*TH2x1**2*TH3x3**2)/(2.*sw**2) + (cw**2*ee**2*mh1**4*TH2x1**2*TH3x3**2)/(4.*MZ**2*sw**2) - (cw**2*ee**2*mh1**2*mh3**2*TH2x1**2*TH3x3**2)/(2.*MZ**2*sw**2) + (cw**2*ee**2*mh3**4*TH2x1**2*TH3x3**2)/(4.*MZ**2*sw**2) + (cw**2*ee**2*MZ**2*TH2x1**2*TH3x3**2)/(4.*sw**2) - (ee**2*mh1**2*sw**2*TH2x1**2*TH3x3**2)/(2.*cw**2) - (ee**2*mh3**2*sw**2*TH2x1**2*TH3x3**2)/(2.*cw**2) + (ee**2*mh1**4*sw**2*TH2x1**2*TH3x3**2)/(4.*cw**2*MZ**2) - (ee**2*mh1**2*mh3**2*sw**2*TH2x1**2*TH3x3**2)/(2.*cw**2*MZ**2) + (ee**2*mh3**4*sw**2*TH2x1**2*TH3x3**2)/(4.*cw**2*MZ**2) + (ee**2*MZ**2*sw**2*TH2x1**2*TH3x3**2)/(4.*cw**2))*cmath.sqrt(mh1**4 - 2*mh1**2*mh3**2 + mh3**4 - 2*mh1**2*MZ**2 - 2*mh3**2*MZ**2 + MZ**4))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.h4,P.h4):'((4*muP**2*TH1x1**2*TH3x4**2*TH4x4**2 - 4*l3*muP*TH1x1**2*TH3x4**3*TH4x4*vev - 4*l4*muP*TH1x1**2*TH3x4**3*TH4x4*vev + 8*l5*muP*TH1x1**2*TH3x4**3*TH4x4*vev - 4*l7*muP*TH1x1*TH2x1*TH3x4**3*TH4x4*vev - 8*lP1*muP*TH1x1**2*TH3x4*TH4x4**3*vev - 8*lP*muP*TH1x1*TH2x1*TH3x4*TH4x4**3*vev + l3**2*TH1x1**2*TH3x4**4*vev**2 + 2*l3*l4*TH1x1**2*TH3x4**4*vev**2 + l4**2*TH1x1**2*TH3x4**4*vev**2 - 4*l3*l5*TH1x1**2*TH3x4**4*vev**2 - 4*l4*l5*TH1x1**2*TH3x4**4*vev**2 + 4*l5**2*TH1x1**2*TH3x4**4*vev**2 + 2*l3*l7*TH1x1*TH2x1*TH3x4**4*vev**2 + 2*l4*l7*TH1x1*TH2x1*TH3x4**4*vev**2 - 4*l5*l7*TH1x1*TH2x1*TH3x4**4*vev**2 + l7**2*TH2x1**2*TH3x4**4*vev**2 + 4*l3*lP1*TH1x1**2*TH3x4**2*TH4x4**2*vev**2 + 4*l4*lP1*TH1x1**2*TH3x4**2*TH4x4**2*vev**2 - 8*l5*lP1*TH1x1**2*TH3x4**2*TH4x4**2*vev**2 + 4*l3*lP*TH1x1*TH2x1*TH3x4**2*TH4x4**2*vev**2 + 4*l4*lP*TH1x1*TH2x1*TH3x4**2*TH4x4**2*vev**2 - 8*l5*lP*TH1x1*TH2x1*TH3x4**2*TH4x4**2*vev**2 + 4*l7*lP1*TH1x1*TH2x1*TH3x4**2*TH4x4**2*vev**2 + 4*l7*lP*TH2x1**2*TH3x4**2*TH4x4**2*vev**2 + 4*lP1**2*TH1x1**2*TH4x4**4*vev**2 + 8*lP*lP1*TH1x1*TH2x1*TH4x4**4*vev**2 + 4*lP**2*TH2x1**2*TH4x4**4*vev**2)*cmath.sqrt(mh1**4 - 4*mh1**2*mh4**2))/(32.*cmath.pi*abs(mh1)**3)',
+                                   (P.h4,P.Z):'((-(ee**2*mh1**2*TH2x1**2*TH3x4**2) - ee**2*mh4**2*TH2x1**2*TH3x4**2 + (ee**2*mh1**4*TH2x1**2*TH3x4**2)/(2.*MZ**2) - (ee**2*mh1**2*mh4**2*TH2x1**2*TH3x4**2)/MZ**2 + (ee**2*mh4**4*TH2x1**2*TH3x4**2)/(2.*MZ**2) + (ee**2*MZ**2*TH2x1**2*TH3x4**2)/2. - (cw**2*ee**2*mh1**2*TH2x1**2*TH3x4**2)/(2.*sw**2) - (cw**2*ee**2*mh4**2*TH2x1**2*TH3x4**2)/(2.*sw**2) + (cw**2*ee**2*mh1**4*TH2x1**2*TH3x4**2)/(4.*MZ**2*sw**2) - (cw**2*ee**2*mh1**2*mh4**2*TH2x1**2*TH3x4**2)/(2.*MZ**2*sw**2) + (cw**2*ee**2*mh4**4*TH2x1**2*TH3x4**2)/(4.*MZ**2*sw**2) + (cw**2*ee**2*MZ**2*TH2x1**2*TH3x4**2)/(4.*sw**2) - (ee**2*mh1**2*sw**2*TH2x1**2*TH3x4**2)/(2.*cw**2) - (ee**2*mh4**2*sw**2*TH2x1**2*TH3x4**2)/(2.*cw**2) + (ee**2*mh1**4*sw**2*TH2x1**2*TH3x4**2)/(4.*cw**2*MZ**2) - (ee**2*mh1**2*mh4**2*sw**2*TH2x1**2*TH3x4**2)/(2.*cw**2*MZ**2) + (ee**2*mh4**4*sw**2*TH2x1**2*TH3x4**2)/(4.*cw**2*MZ**2) + (ee**2*MZ**2*sw**2*TH2x1**2*TH3x4**2)/(4.*cw**2))*cmath.sqrt(mh1**4 - 2*mh1**2*mh4**2 + mh4**4 - 2*mh1**2*MZ**2 - 2*mh4**2*MZ**2 + MZ**4))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.h__plus__,P.W__minus__):'((-(ee**2*mh1**2*TH2x1**2)/(2.*sw**2) - (ee**2*mhc**2*TH2x1**2)/(2.*sw**2) + (ee**2*mh1**4*TH2x1**2)/(4.*MW**2*sw**2) - (ee**2*mh1**2*mhc**2*TH2x1**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH2x1**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH2x1**2)/(4.*sw**2))*cmath.sqrt(mh1**4 - 2*mh1**2*mhc**2 + mhc**4 - 2*mh1**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.h__minus__,P.h__plus__):'((l3**2*TH1x1**2*vev**2 + 2*l3*l7*TH1x1*TH2x1*vev**2 + l7**2*TH2x1**2*vev**2)*cmath.sqrt(mh1**4 - 4*mh1**2*mhc**2))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.h__minus__,P.W__plus__):'((-(ee**2*mh1**2*TH2x1**2)/(2.*sw**2) - (ee**2*mhc**2*TH2x1**2)/(2.*sw**2) + (ee**2*mh1**4*TH2x1**2)/(4.*MW**2*sw**2) - (ee**2*mh1**2*mhc**2*TH2x1**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH2x1**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH2x1**2)/(4.*sw**2))*cmath.sqrt(mh1**4 - 2*mh1**2*mhc**2 + mhc**4 - 2*mh1**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.mu__minus__,P.mu__plus__):'((mh1**2*TH1x1**2*ym**2 - 4*MMU**2*TH1x1**2*ym**2 + (2*mh1**2*TH2x1**2*ymm**2)/(tanbeta**2*vev**2) - (8*MMU**2*TH2x1**2*ymm**2)/(tanbeta**2*vev**2) - (2*mh1**2*TH1x1*TH2x1*ym*ymm*cmath.sqrt(2))/(tanbeta*vev) + (8*MMU**2*TH1x1*TH2x1*ym*ymm*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(mh1**4 - 4*mh1**2*MMU**2))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.s,P.s__tilde__):'(((6*mh1**2*TH2x1**2*yms**2)/(tanbeta**2*vev**2) - (24*MS**2*TH2x1**2*yms**2)/(tanbeta**2*vev**2) + 3*mh1**2*TH1x1**2*ys**2 - 12*MS**2*TH1x1**2*ys**2 - (6*mh1**2*TH1x1*TH2x1*yms*ys*cmath.sqrt(2))/(tanbeta*vev) + (24*MS**2*TH1x1*TH2x1*yms*ys*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(mh1**4 - 4*mh1**2*MS**2))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.t,P.t__tilde__):'(((6*mh1**2*TH2x1**2*ymt**2)/(tanbeta**2*vev**2) - (24*MT**2*TH2x1**2*ymt**2)/(tanbeta**2*vev**2) + 3*mh1**2*TH1x1**2*yt**2 - 12*MT**2*TH1x1**2*yt**2 - (6*mh1**2*TH1x1*TH2x1*ymt*yt*cmath.sqrt(2))/(tanbeta*vev) + (24*MT**2*TH1x1*TH2x1*ymt*yt*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(mh1**4 - 4*mh1**2*MT**2))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.ta__minus__,P.ta__plus__):'(((2*mh1**2*TH2x1**2*ymtau**2)/(tanbeta**2*vev**2) - (8*MTA**2*TH2x1**2*ymtau**2)/(tanbeta**2*vev**2) + mh1**2*TH1x1**2*ytau**2 - 4*MTA**2*TH1x1**2*ytau**2 - (2*mh1**2*TH1x1*TH2x1*ymtau*ytau*cmath.sqrt(2))/(tanbeta*vev) + (8*MTA**2*TH1x1*TH2x1*ymtau*ytau*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(mh1**4 - 4*mh1**2*MTA**2))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.u,P.u__tilde__):'(((6*mh1**2*TH2x1**2*ymup**2)/(tanbeta**2*vev**2) - (24*MU**2*TH2x1**2*ymup**2)/(tanbeta**2*vev**2) + 3*mh1**2*TH1x1**2*yup**2 - 12*MU**2*TH1x1**2*yup**2 - (6*mh1**2*TH1x1*TH2x1*ymup*yup*cmath.sqrt(2))/(tanbeta*vev) + (24*MU**2*TH1x1*TH2x1*ymup*yup*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(mh1**4 - 4*mh1**2*MU**2))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.W__minus__,P.W__plus__):'(((3*ee**4*TH1x1**2*vev**2)/(4.*sw**4) + (ee**4*mh1**4*TH1x1**2*vev**2)/(16.*MW**4*sw**4) - (ee**4*mh1**2*TH1x1**2*vev**2)/(4.*MW**2*sw**4))*cmath.sqrt(mh1**4 - 4*mh1**2*MW**2))/(16.*cmath.pi*abs(mh1)**3)',
+                                   (P.Z,P.Z):'(((9*ee**4*TH1x1**2*vev**2)/2. + (3*ee**4*mh1**4*TH1x1**2*vev**2)/(8.*MZ**4) - (3*ee**4*mh1**2*TH1x1**2*vev**2)/(2.*MZ**2) + (3*cw**4*ee**4*TH1x1**2*vev**2)/(4.*sw**4) + (cw**4*ee**4*mh1**4*TH1x1**2*vev**2)/(16.*MZ**4*sw**4) - (cw**4*ee**4*mh1**2*TH1x1**2*vev**2)/(4.*MZ**2*sw**4) + (3*cw**2*ee**4*TH1x1**2*vev**2)/sw**2 + (cw**2*ee**4*mh1**4*TH1x1**2*vev**2)/(4.*MZ**4*sw**2) - (cw**2*ee**4*mh1**2*TH1x1**2*vev**2)/(MZ**2*sw**2) + (3*ee**4*sw**2*TH1x1**2*vev**2)/cw**2 + (ee**4*mh1**4*sw**2*TH1x1**2*vev**2)/(4.*cw**2*MZ**4) - (ee**4*mh1**2*sw**2*TH1x1**2*vev**2)/(cw**2*MZ**2) + (3*ee**4*sw**4*TH1x1**2*vev**2)/(4.*cw**4) + (ee**4*mh1**4*sw**4*TH1x1**2*vev**2)/(16.*cw**4*MZ**4) - (ee**4*mh1**2*sw**4*TH1x1**2*vev**2)/(4.*cw**4*MZ**2))*cmath.sqrt(mh1**4 - 4*mh1**2*MZ**2))/(32.*cmath.pi*abs(mh1)**3)'})
+
+Decay_h2 = Decay(name = 'Decay_h2',
+                 particle = P.h2,
+                 partial_widths = {(P.b,P.b__tilde__):'((-12*MB**2*TH1x2**2*yb**2 + 3*mh2**2*TH1x2**2*yb**2 - (24*MB**2*TH2x2**2*ymb**2)/(tanbeta**2*vev**2) + (6*mh2**2*TH2x2**2*ymb**2)/(tanbeta**2*vev**2) + (24*MB**2*TH1x2*TH2x2*yb*ymb*cmath.sqrt(2))/(tanbeta*vev) - (6*mh2**2*TH1x2*TH2x2*yb*ymb*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(-4*MB**2*mh2**2 + mh2**4))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.c,P.c__tilde__):'((-12*MC**2*TH1x2**2*yc**2 + 3*mh2**2*TH1x2**2*yc**2 - (24*MC**2*TH2x2**2*ymc**2)/(tanbeta**2*vev**2) + (6*mh2**2*TH2x2**2*ymc**2)/(tanbeta**2*vev**2) + (24*MC**2*TH1x2*TH2x2*yc*ymc*cmath.sqrt(2))/(tanbeta*vev) - (6*mh2**2*TH1x2*TH2x2*yc*ymc*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(-4*MC**2*mh2**2 + mh2**4))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.d,P.d__tilde__):'((-12*MD**2*TH1x2**2*ydo**2 + 3*mh2**2*TH1x2**2*ydo**2 - (24*MD**2*TH2x2**2*ymdo**2)/(tanbeta**2*vev**2) + (6*mh2**2*TH2x2**2*ymdo**2)/(tanbeta**2*vev**2) + (24*MD**2*TH1x2*TH2x2*ydo*ymdo*cmath.sqrt(2))/(tanbeta*vev) - (6*mh2**2*TH1x2*TH2x2*ydo*ymdo*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(-4*MD**2*mh2**2 + mh2**4))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.e__minus__,P.e__plus__):'((-4*Me**2*TH1x2**2*ye**2 + mh2**2*TH1x2**2*ye**2 - (8*Me**2*TH2x2**2*yme**2)/(tanbeta**2*vev**2) + (2*mh2**2*TH2x2**2*yme**2)/(tanbeta**2*vev**2) + (8*Me**2*TH1x2*TH2x2*ye*yme*cmath.sqrt(2))/(tanbeta*vev) - (2*mh2**2*TH1x2*TH2x2*ye*yme*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(-4*Me**2*mh2**2 + mh2**4))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.h1,P.h1):'((36*l1**2*TH1x1**4*TH1x2**2*vev**2 + 72*l1*l6*TH1x1**3*TH1x2**2*TH2x1*vev**2 + 12*l1*l3*TH1x1**2*TH1x2**2*TH2x1**2*vev**2 + 12*l1*l4*TH1x1**2*TH1x2**2*TH2x1**2*vev**2 + 24*l1*l5*TH1x1**2*TH1x2**2*TH2x1**2*vev**2 + 36*l6**2*TH1x1**2*TH1x2**2*TH2x1**2*vev**2 + 12*l3*l6*TH1x1*TH1x2**2*TH2x1**3*vev**2 + 12*l4*l6*TH1x1*TH1x2**2*TH2x1**3*vev**2 + 24*l5*l6*TH1x1*TH1x2**2*TH2x1**3*vev**2 + l3**2*TH1x2**2*TH2x1**4*vev**2 + 2*l3*l4*TH1x2**2*TH2x1**4*vev**2 + l4**2*TH1x2**2*TH2x1**4*vev**2 + 4*l3*l5*TH1x2**2*TH2x1**4*vev**2 + 4*l4*l5*TH1x2**2*TH2x1**4*vev**2 + 4*l5**2*TH1x2**2*TH2x1**4*vev**2 + 36*l1*l6*TH1x1**4*TH1x2*TH2x2*vev**2 + 24*l1*l3*TH1x1**3*TH1x2*TH2x1*TH2x2*vev**2 + 24*l1*l4*TH1x1**3*TH1x2*TH2x1*TH2x2*vev**2 + 48*l1*l5*TH1x1**3*TH1x2*TH2x1*TH2x2*vev**2 + 36*l6**2*TH1x1**3*TH1x2*TH2x1*TH2x2*vev**2 + 30*l3*l6*TH1x1**2*TH1x2*TH2x1**2*TH2x2*vev**2 + 30*l4*l6*TH1x1**2*TH1x2*TH2x1**2*TH2x2*vev**2 + 60*l5*l6*TH1x1**2*TH1x2*TH2x1**2*TH2x2*vev**2 + 36*l1*l7*TH1x1**2*TH1x2*TH2x1**2*TH2x2*vev**2 + 4*l3**2*TH1x1*TH1x2*TH2x1**3*TH2x2*vev**2 + 8*l3*l4*TH1x1*TH1x2*TH2x1**3*TH2x2*vev**2 + 4*l4**2*TH1x1*TH1x2*TH2x1**3*TH2x2*vev**2 + 16*l3*l5*TH1x1*TH1x2*TH2x1**3*TH2x2*vev**2 + 16*l4*l5*TH1x1*TH1x2*TH2x1**3*TH2x2*vev**2 + 16*l5**2*TH1x1*TH1x2*TH2x1**3*TH2x2*vev**2 + 36*l6*l7*TH1x1*TH1x2*TH2x1**3*TH2x2*vev**2 + 6*l3*l7*TH1x2*TH2x1**4*TH2x2*vev**2 + 6*l4*l7*TH1x2*TH2x1**4*TH2x2*vev**2 + 12*l5*l7*TH1x2*TH2x1**4*TH2x2*vev**2 + 9*l6**2*TH1x1**4*TH2x2**2*vev**2 + 12*l3*l6*TH1x1**3*TH2x1*TH2x2**2*vev**2 + 12*l4*l6*TH1x1**3*TH2x1*TH2x2**2*vev**2 + 24*l5*l6*TH1x1**3*TH2x1*TH2x2**2*vev**2 + 4*l3**2*TH1x1**2*TH2x1**2*TH2x2**2*vev**2 + 8*l3*l4*TH1x1**2*TH2x1**2*TH2x2**2*vev**2 + 4*l4**2*TH1x1**2*TH2x1**2*TH2x2**2*vev**2 + 16*l3*l5*TH1x1**2*TH2x1**2*TH2x2**2*vev**2 + 16*l4*l5*TH1x1**2*TH2x1**2*TH2x2**2*vev**2 + 16*l5**2*TH1x1**2*TH2x1**2*TH2x2**2*vev**2 + 18*l6*l7*TH1x1**2*TH2x1**2*TH2x2**2*vev**2 + 12*l3*l7*TH1x1*TH2x1**3*TH2x2**2*vev**2 + 12*l4*l7*TH1x1*TH2x1**3*TH2x2**2*vev**2 + 24*l5*l7*TH1x1*TH2x1**3*TH2x2**2*vev**2 + 9*l7**2*TH2x1**4*TH2x2**2*vev**2)*cmath.sqrt(-4*mh1**2*mh2**2 + mh2**4))/(32.*cmath.pi*abs(mh2)**3)',
+                                   (P.h3,P.h3):'((4*muP**2*TH1x2**2*TH3x3**2*TH4x3**2 - 4*l3*muP*TH1x2**2*TH3x3**3*TH4x3*vev - 4*l4*muP*TH1x2**2*TH3x3**3*TH4x3*vev + 8*l5*muP*TH1x2**2*TH3x3**3*TH4x3*vev - 4*l7*muP*TH1x2*TH2x2*TH3x3**3*TH4x3*vev - 8*lP1*muP*TH1x2**2*TH3x3*TH4x3**3*vev - 8*lP*muP*TH1x2*TH2x2*TH3x3*TH4x3**3*vev + l3**2*TH1x2**2*TH3x3**4*vev**2 + 2*l3*l4*TH1x2**2*TH3x3**4*vev**2 + l4**2*TH1x2**2*TH3x3**4*vev**2 - 4*l3*l5*TH1x2**2*TH3x3**4*vev**2 - 4*l4*l5*TH1x2**2*TH3x3**4*vev**2 + 4*l5**2*TH1x2**2*TH3x3**4*vev**2 + 2*l3*l7*TH1x2*TH2x2*TH3x3**4*vev**2 + 2*l4*l7*TH1x2*TH2x2*TH3x3**4*vev**2 - 4*l5*l7*TH1x2*TH2x2*TH3x3**4*vev**2 + l7**2*TH2x2**2*TH3x3**4*vev**2 + 4*l3*lP1*TH1x2**2*TH3x3**2*TH4x3**2*vev**2 + 4*l4*lP1*TH1x2**2*TH3x3**2*TH4x3**2*vev**2 - 8*l5*lP1*TH1x2**2*TH3x3**2*TH4x3**2*vev**2 + 4*l3*lP*TH1x2*TH2x2*TH3x3**2*TH4x3**2*vev**2 + 4*l4*lP*TH1x2*TH2x2*TH3x3**2*TH4x3**2*vev**2 - 8*l5*lP*TH1x2*TH2x2*TH3x3**2*TH4x3**2*vev**2 + 4*l7*lP1*TH1x2*TH2x2*TH3x3**2*TH4x3**2*vev**2 + 4*l7*lP*TH2x2**2*TH3x3**2*TH4x3**2*vev**2 + 4*lP1**2*TH1x2**2*TH4x3**4*vev**2 + 8*lP*lP1*TH1x2*TH2x2*TH4x3**4*vev**2 + 4*lP**2*TH2x2**2*TH4x3**4*vev**2)*cmath.sqrt(mh2**4 - 4*mh2**2*mh3**2))/(32.*cmath.pi*abs(mh2)**3)',
+                                   (P.h3,P.h4):'((muP**2*TH1x2**2*TH3x4**2*TH4x3**2 + 2*muP**2*TH1x2**2*TH3x3*TH3x4*TH4x3*TH4x4 + muP**2*TH1x2**2*TH3x3**2*TH4x4**2 - 2*l3*muP*TH1x2**2*TH3x3*TH3x4**2*TH4x3*vev - 2*l4*muP*TH1x2**2*TH3x3*TH3x4**2*TH4x3*vev + 4*l5*muP*TH1x2**2*TH3x3*TH3x4**2*TH4x3*vev - 2*l7*muP*TH1x2*TH2x2*TH3x3*TH3x4**2*TH4x3*vev - 2*l3*muP*TH1x2**2*TH3x3**2*TH3x4*TH4x4*vev - 2*l4*muP*TH1x2**2*TH3x3**2*TH3x4*TH4x4*vev + 4*l5*muP*TH1x2**2*TH3x3**2*TH3x4*TH4x4*vev - 2*l7*muP*TH1x2*TH2x2*TH3x3**2*TH3x4*TH4x4*vev - 4*lP1*muP*TH1x2**2*TH3x4*TH4x3**2*TH4x4*vev - 4*lP*muP*TH1x2*TH2x2*TH3x4*TH4x3**2*TH4x4*vev - 4*lP1*muP*TH1x2**2*TH3x3*TH4x3*TH4x4**2*vev - 4*lP*muP*TH1x2*TH2x2*TH3x3*TH4x3*TH4x4**2*vev + l3**2*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 + 2*l3*l4*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 + l4**2*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 - 4*l3*l5*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 - 4*l4*l5*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 + 4*l5**2*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 + 2*l3*l7*TH1x2*TH2x2*TH3x3**2*TH3x4**2*vev**2 + 2*l4*l7*TH1x2*TH2x2*TH3x3**2*TH3x4**2*vev**2 - 4*l5*l7*TH1x2*TH2x2*TH3x3**2*TH3x4**2*vev**2 + l7**2*TH2x2**2*TH3x3**2*TH3x4**2*vev**2 + 4*l3*lP1*TH1x2**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l4*lP1*TH1x2**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 - 8*l5*lP1*TH1x2**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l3*lP*TH1x2*TH2x2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l4*lP*TH1x2*TH2x2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 - 8*l5*lP*TH1x2*TH2x2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l7*lP1*TH1x2*TH2x2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l7*lP*TH2x2**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*lP1**2*TH1x2**2*TH4x3**2*TH4x4**2*vev**2 + 8*lP*lP1*TH1x2*TH2x2*TH4x3**2*TH4x4**2*vev**2 + 4*lP**2*TH2x2**2*TH4x3**2*TH4x4**2*vev**2)*cmath.sqrt(mh2**4 - 2*mh2**2*mh3**2 + mh3**4 - 2*mh2**2*mh4**2 - 2*mh3**2*mh4**2 + mh4**4))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.h3,P.Z):'((-(ee**2*mh2**2*TH2x2**2*TH3x3**2) - ee**2*mh3**2*TH2x2**2*TH3x3**2 + (ee**2*mh2**4*TH2x2**2*TH3x3**2)/(2.*MZ**2) - (ee**2*mh2**2*mh3**2*TH2x2**2*TH3x3**2)/MZ**2 + (ee**2*mh3**4*TH2x2**2*TH3x3**2)/(2.*MZ**2) + (ee**2*MZ**2*TH2x2**2*TH3x3**2)/2. - (cw**2*ee**2*mh2**2*TH2x2**2*TH3x3**2)/(2.*sw**2) - (cw**2*ee**2*mh3**2*TH2x2**2*TH3x3**2)/(2.*sw**2) + (cw**2*ee**2*mh2**4*TH2x2**2*TH3x3**2)/(4.*MZ**2*sw**2) - (cw**2*ee**2*mh2**2*mh3**2*TH2x2**2*TH3x3**2)/(2.*MZ**2*sw**2) + (cw**2*ee**2*mh3**4*TH2x2**2*TH3x3**2)/(4.*MZ**2*sw**2) + (cw**2*ee**2*MZ**2*TH2x2**2*TH3x3**2)/(4.*sw**2) - (ee**2*mh2**2*sw**2*TH2x2**2*TH3x3**2)/(2.*cw**2) - (ee**2*mh3**2*sw**2*TH2x2**2*TH3x3**2)/(2.*cw**2) + (ee**2*mh2**4*sw**2*TH2x2**2*TH3x3**2)/(4.*cw**2*MZ**2) - (ee**2*mh2**2*mh3**2*sw**2*TH2x2**2*TH3x3**2)/(2.*cw**2*MZ**2) + (ee**2*mh3**4*sw**2*TH2x2**2*TH3x3**2)/(4.*cw**2*MZ**2) + (ee**2*MZ**2*sw**2*TH2x2**2*TH3x3**2)/(4.*cw**2))*cmath.sqrt(mh2**4 - 2*mh2**2*mh3**2 + mh3**4 - 2*mh2**2*MZ**2 - 2*mh3**2*MZ**2 + MZ**4))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.h4,P.h4):'((4*muP**2*TH1x2**2*TH3x4**2*TH4x4**2 - 4*l3*muP*TH1x2**2*TH3x4**3*TH4x4*vev - 4*l4*muP*TH1x2**2*TH3x4**3*TH4x4*vev + 8*l5*muP*TH1x2**2*TH3x4**3*TH4x4*vev - 4*l7*muP*TH1x2*TH2x2*TH3x4**3*TH4x4*vev - 8*lP1*muP*TH1x2**2*TH3x4*TH4x4**3*vev - 8*lP*muP*TH1x2*TH2x2*TH3x4*TH4x4**3*vev + l3**2*TH1x2**2*TH3x4**4*vev**2 + 2*l3*l4*TH1x2**2*TH3x4**4*vev**2 + l4**2*TH1x2**2*TH3x4**4*vev**2 - 4*l3*l5*TH1x2**2*TH3x4**4*vev**2 - 4*l4*l5*TH1x2**2*TH3x4**4*vev**2 + 4*l5**2*TH1x2**2*TH3x4**4*vev**2 + 2*l3*l7*TH1x2*TH2x2*TH3x4**4*vev**2 + 2*l4*l7*TH1x2*TH2x2*TH3x4**4*vev**2 - 4*l5*l7*TH1x2*TH2x2*TH3x4**4*vev**2 + l7**2*TH2x2**2*TH3x4**4*vev**2 + 4*l3*lP1*TH1x2**2*TH3x4**2*TH4x4**2*vev**2 + 4*l4*lP1*TH1x2**2*TH3x4**2*TH4x4**2*vev**2 - 8*l5*lP1*TH1x2**2*TH3x4**2*TH4x4**2*vev**2 + 4*l3*lP*TH1x2*TH2x2*TH3x4**2*TH4x4**2*vev**2 + 4*l4*lP*TH1x2*TH2x2*TH3x4**2*TH4x4**2*vev**2 - 8*l5*lP*TH1x2*TH2x2*TH3x4**2*TH4x4**2*vev**2 + 4*l7*lP1*TH1x2*TH2x2*TH3x4**2*TH4x4**2*vev**2 + 4*l7*lP*TH2x2**2*TH3x4**2*TH4x4**2*vev**2 + 4*lP1**2*TH1x2**2*TH4x4**4*vev**2 + 8*lP*lP1*TH1x2*TH2x2*TH4x4**4*vev**2 + 4*lP**2*TH2x2**2*TH4x4**4*vev**2)*cmath.sqrt(mh2**4 - 4*mh2**2*mh4**2))/(32.*cmath.pi*abs(mh2)**3)',
+                                   (P.h4,P.Z):'((-(ee**2*mh2**2*TH2x2**2*TH3x4**2) - ee**2*mh4**2*TH2x2**2*TH3x4**2 + (ee**2*mh2**4*TH2x2**2*TH3x4**2)/(2.*MZ**2) - (ee**2*mh2**2*mh4**2*TH2x2**2*TH3x4**2)/MZ**2 + (ee**2*mh4**4*TH2x2**2*TH3x4**2)/(2.*MZ**2) + (ee**2*MZ**2*TH2x2**2*TH3x4**2)/2. - (cw**2*ee**2*mh2**2*TH2x2**2*TH3x4**2)/(2.*sw**2) - (cw**2*ee**2*mh4**2*TH2x2**2*TH3x4**2)/(2.*sw**2) + (cw**2*ee**2*mh2**4*TH2x2**2*TH3x4**2)/(4.*MZ**2*sw**2) - (cw**2*ee**2*mh2**2*mh4**2*TH2x2**2*TH3x4**2)/(2.*MZ**2*sw**2) + (cw**2*ee**2*mh4**4*TH2x2**2*TH3x4**2)/(4.*MZ**2*sw**2) + (cw**2*ee**2*MZ**2*TH2x2**2*TH3x4**2)/(4.*sw**2) - (ee**2*mh2**2*sw**2*TH2x2**2*TH3x4**2)/(2.*cw**2) - (ee**2*mh4**2*sw**2*TH2x2**2*TH3x4**2)/(2.*cw**2) + (ee**2*mh2**4*sw**2*TH2x2**2*TH3x4**2)/(4.*cw**2*MZ**2) - (ee**2*mh2**2*mh4**2*sw**2*TH2x2**2*TH3x4**2)/(2.*cw**2*MZ**2) + (ee**2*mh4**4*sw**2*TH2x2**2*TH3x4**2)/(4.*cw**2*MZ**2) + (ee**2*MZ**2*sw**2*TH2x2**2*TH3x4**2)/(4.*cw**2))*cmath.sqrt(mh2**4 - 2*mh2**2*mh4**2 + mh4**4 - 2*mh2**2*MZ**2 - 2*mh4**2*MZ**2 + MZ**4))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.h__plus__,P.W__minus__):'((-(ee**2*mh2**2*TH2x2**2)/(2.*sw**2) - (ee**2*mhc**2*TH2x2**2)/(2.*sw**2) + (ee**2*mh2**4*TH2x2**2)/(4.*MW**2*sw**2) - (ee**2*mh2**2*mhc**2*TH2x2**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH2x2**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH2x2**2)/(4.*sw**2))*cmath.sqrt(mh2**4 - 2*mh2**2*mhc**2 + mhc**4 - 2*mh2**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.h__minus__,P.h__plus__):'((l3**2*TH1x2**2*vev**2 + 2*l3*l7*TH1x2*TH2x2*vev**2 + l7**2*TH2x2**2*vev**2)*cmath.sqrt(mh2**4 - 4*mh2**2*mhc**2))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.h__minus__,P.W__plus__):'((-(ee**2*mh2**2*TH2x2**2)/(2.*sw**2) - (ee**2*mhc**2*TH2x2**2)/(2.*sw**2) + (ee**2*mh2**4*TH2x2**2)/(4.*MW**2*sw**2) - (ee**2*mh2**2*mhc**2*TH2x2**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH2x2**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH2x2**2)/(4.*sw**2))*cmath.sqrt(mh2**4 - 2*mh2**2*mhc**2 + mhc**4 - 2*mh2**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.mu__minus__,P.mu__plus__):'((mh2**2*TH1x2**2*ym**2 - 4*MMU**2*TH1x2**2*ym**2 + (2*mh2**2*TH2x2**2*ymm**2)/(tanbeta**2*vev**2) - (8*MMU**2*TH2x2**2*ymm**2)/(tanbeta**2*vev**2) - (2*mh2**2*TH1x2*TH2x2*ym*ymm*cmath.sqrt(2))/(tanbeta*vev) + (8*MMU**2*TH1x2*TH2x2*ym*ymm*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(mh2**4 - 4*mh2**2*MMU**2))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.s,P.s__tilde__):'(((6*mh2**2*TH2x2**2*yms**2)/(tanbeta**2*vev**2) - (24*MS**2*TH2x2**2*yms**2)/(tanbeta**2*vev**2) + 3*mh2**2*TH1x2**2*ys**2 - 12*MS**2*TH1x2**2*ys**2 - (6*mh2**2*TH1x2*TH2x2*yms*ys*cmath.sqrt(2))/(tanbeta*vev) + (24*MS**2*TH1x2*TH2x2*yms*ys*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(mh2**4 - 4*mh2**2*MS**2))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.t,P.t__tilde__):'(((6*mh2**2*TH2x2**2*ymt**2)/(tanbeta**2*vev**2) - (24*MT**2*TH2x2**2*ymt**2)/(tanbeta**2*vev**2) + 3*mh2**2*TH1x2**2*yt**2 - 12*MT**2*TH1x2**2*yt**2 - (6*mh2**2*TH1x2*TH2x2*ymt*yt*cmath.sqrt(2))/(tanbeta*vev) + (24*MT**2*TH1x2*TH2x2*ymt*yt*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(mh2**4 - 4*mh2**2*MT**2))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.ta__minus__,P.ta__plus__):'(((2*mh2**2*TH2x2**2*ymtau**2)/(tanbeta**2*vev**2) - (8*MTA**2*TH2x2**2*ymtau**2)/(tanbeta**2*vev**2) + mh2**2*TH1x2**2*ytau**2 - 4*MTA**2*TH1x2**2*ytau**2 - (2*mh2**2*TH1x2*TH2x2*ymtau*ytau*cmath.sqrt(2))/(tanbeta*vev) + (8*MTA**2*TH1x2*TH2x2*ymtau*ytau*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(mh2**4 - 4*mh2**2*MTA**2))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.u,P.u__tilde__):'(((6*mh2**2*TH2x2**2*ymup**2)/(tanbeta**2*vev**2) - (24*MU**2*TH2x2**2*ymup**2)/(tanbeta**2*vev**2) + 3*mh2**2*TH1x2**2*yup**2 - 12*MU**2*TH1x2**2*yup**2 - (6*mh2**2*TH1x2*TH2x2*ymup*yup*cmath.sqrt(2))/(tanbeta*vev) + (24*MU**2*TH1x2*TH2x2*ymup*yup*cmath.sqrt(2))/(tanbeta*vev))*cmath.sqrt(mh2**4 - 4*mh2**2*MU**2))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.W__minus__,P.W__plus__):'(((3*ee**4*TH1x2**2*vev**2)/(4.*sw**4) + (ee**4*mh2**4*TH1x2**2*vev**2)/(16.*MW**4*sw**4) - (ee**4*mh2**2*TH1x2**2*vev**2)/(4.*MW**2*sw**4))*cmath.sqrt(mh2**4 - 4*mh2**2*MW**2))/(16.*cmath.pi*abs(mh2)**3)',
+                                   (P.Z,P.Z):'(((9*ee**4*TH1x2**2*vev**2)/2. + (3*ee**4*mh2**4*TH1x2**2*vev**2)/(8.*MZ**4) - (3*ee**4*mh2**2*TH1x2**2*vev**2)/(2.*MZ**2) + (3*cw**4*ee**4*TH1x2**2*vev**2)/(4.*sw**4) + (cw**4*ee**4*mh2**4*TH1x2**2*vev**2)/(16.*MZ**4*sw**4) - (cw**4*ee**4*mh2**2*TH1x2**2*vev**2)/(4.*MZ**2*sw**4) + (3*cw**2*ee**4*TH1x2**2*vev**2)/sw**2 + (cw**2*ee**4*mh2**4*TH1x2**2*vev**2)/(4.*MZ**4*sw**2) - (cw**2*ee**4*mh2**2*TH1x2**2*vev**2)/(MZ**2*sw**2) + (3*ee**4*sw**2*TH1x2**2*vev**2)/cw**2 + (ee**4*mh2**4*sw**2*TH1x2**2*vev**2)/(4.*cw**2*MZ**4) - (ee**4*mh2**2*sw**2*TH1x2**2*vev**2)/(cw**2*MZ**2) + (3*ee**4*sw**4*TH1x2**2*vev**2)/(4.*cw**4) + (ee**4*mh2**4*sw**4*TH1x2**2*vev**2)/(16.*cw**4*MZ**4) - (ee**4*mh2**2*sw**4*TH1x2**2*vev**2)/(4.*cw**4*MZ**2))*cmath.sqrt(mh2**4 - 4*mh2**2*MZ**2))/(32.*cmath.pi*abs(mh2)**3)'})
+
+Decay_h3 = Decay(name = 'Decay_h3',
+                 particle = P.h3,
+                 partial_widths = {(P.b,P.b__tilde__):'(3*mh3**2*TH3x3**2*ymb**2*cmath.sqrt(-4*MB**2*mh3**2 + mh3**4))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh3)**3)',
+                                   (P.c,P.c__tilde__):'(3*mh3**2*TH3x3**2*ymc**2*cmath.sqrt(-4*MC**2*mh3**2 + mh3**4))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh3)**3)',
+                                   (P.d,P.d__tilde__):'(3*mh3**2*TH3x3**2*ymdo**2*cmath.sqrt(-4*MD**2*mh3**2 + mh3**4))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh3)**3)',
+                                   (P.e__minus__,P.e__plus__):'(mh3**2*TH3x3**2*yme**2*cmath.sqrt(-4*Me**2*mh3**2 + mh3**4))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh3)**3)',
+                                   (P.h1,P.h4):'((muP**2*TH1x1**2*TH3x4**2*TH4x3**2 + 2*muP**2*TH1x1**2*TH3x3*TH3x4*TH4x3*TH4x4 + muP**2*TH1x1**2*TH3x3**2*TH4x4**2 - 2*l3*muP*TH1x1**2*TH3x3*TH3x4**2*TH4x3*vev - 2*l4*muP*TH1x1**2*TH3x3*TH3x4**2*TH4x3*vev + 4*l5*muP*TH1x1**2*TH3x3*TH3x4**2*TH4x3*vev - 2*l7*muP*TH1x1*TH2x1*TH3x3*TH3x4**2*TH4x3*vev - 2*l3*muP*TH1x1**2*TH3x3**2*TH3x4*TH4x4*vev - 2*l4*muP*TH1x1**2*TH3x3**2*TH3x4*TH4x4*vev + 4*l5*muP*TH1x1**2*TH3x3**2*TH3x4*TH4x4*vev - 2*l7*muP*TH1x1*TH2x1*TH3x3**2*TH3x4*TH4x4*vev - 4*lP1*muP*TH1x1**2*TH3x4*TH4x3**2*TH4x4*vev - 4*lP*muP*TH1x1*TH2x1*TH3x4*TH4x3**2*TH4x4*vev - 4*lP1*muP*TH1x1**2*TH3x3*TH4x3*TH4x4**2*vev - 4*lP*muP*TH1x1*TH2x1*TH3x3*TH4x3*TH4x4**2*vev + l3**2*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 + 2*l3*l4*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 + l4**2*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 - 4*l3*l5*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 - 4*l4*l5*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 + 4*l5**2*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 + 2*l3*l7*TH1x1*TH2x1*TH3x3**2*TH3x4**2*vev**2 + 2*l4*l7*TH1x1*TH2x1*TH3x3**2*TH3x4**2*vev**2 - 4*l5*l7*TH1x1*TH2x1*TH3x3**2*TH3x4**2*vev**2 + l7**2*TH2x1**2*TH3x3**2*TH3x4**2*vev**2 + 4*l3*lP1*TH1x1**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l4*lP1*TH1x1**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 - 8*l5*lP1*TH1x1**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l3*lP*TH1x1*TH2x1*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l4*lP*TH1x1*TH2x1*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 - 8*l5*lP*TH1x1*TH2x1*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l7*lP1*TH1x1*TH2x1*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l7*lP*TH2x1**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*lP1**2*TH1x1**2*TH4x3**2*TH4x4**2*vev**2 + 8*lP*lP1*TH1x1*TH2x1*TH4x3**2*TH4x4**2*vev**2 + 4*lP**2*TH2x1**2*TH4x3**2*TH4x4**2*vev**2)*cmath.sqrt(mh1**4 - 2*mh1**2*mh3**2 + mh3**4 - 2*mh1**2*mh4**2 - 2*mh3**2*mh4**2 + mh4**4))/(16.*cmath.pi*abs(mh3)**3)',
+                                   (P.h1,P.Z):'((-(ee**2*mh1**2*TH2x1**2*TH3x3**2) - ee**2*mh3**2*TH2x1**2*TH3x3**2 + (ee**2*mh1**4*TH2x1**2*TH3x3**2)/(2.*MZ**2) - (ee**2*mh1**2*mh3**2*TH2x1**2*TH3x3**2)/MZ**2 + (ee**2*mh3**4*TH2x1**2*TH3x3**2)/(2.*MZ**2) + (ee**2*MZ**2*TH2x1**2*TH3x3**2)/2. - (cw**2*ee**2*mh1**2*TH2x1**2*TH3x3**2)/(2.*sw**2) - (cw**2*ee**2*mh3**2*TH2x1**2*TH3x3**2)/(2.*sw**2) + (cw**2*ee**2*mh1**4*TH2x1**2*TH3x3**2)/(4.*MZ**2*sw**2) - (cw**2*ee**2*mh1**2*mh3**2*TH2x1**2*TH3x3**2)/(2.*MZ**2*sw**2) + (cw**2*ee**2*mh3**4*TH2x1**2*TH3x3**2)/(4.*MZ**2*sw**2) + (cw**2*ee**2*MZ**2*TH2x1**2*TH3x3**2)/(4.*sw**2) - (ee**2*mh1**2*sw**2*TH2x1**2*TH3x3**2)/(2.*cw**2) - (ee**2*mh3**2*sw**2*TH2x1**2*TH3x3**2)/(2.*cw**2) + (ee**2*mh1**4*sw**2*TH2x1**2*TH3x3**2)/(4.*cw**2*MZ**2) - (ee**2*mh1**2*mh3**2*sw**2*TH2x1**2*TH3x3**2)/(2.*cw**2*MZ**2) + (ee**2*mh3**4*sw**2*TH2x1**2*TH3x3**2)/(4.*cw**2*MZ**2) + (ee**2*MZ**2*sw**2*TH2x1**2*TH3x3**2)/(4.*cw**2))*cmath.sqrt(mh1**4 - 2*mh1**2*mh3**2 + mh3**4 - 2*mh1**2*MZ**2 - 2*mh3**2*MZ**2 + MZ**4))/(16.*cmath.pi*abs(mh3)**3)',
+                                   (P.h2,P.h4):'((muP**2*TH1x2**2*TH3x4**2*TH4x3**2 + 2*muP**2*TH1x2**2*TH3x3*TH3x4*TH4x3*TH4x4 + muP**2*TH1x2**2*TH3x3**2*TH4x4**2 - 2*l3*muP*TH1x2**2*TH3x3*TH3x4**2*TH4x3*vev - 2*l4*muP*TH1x2**2*TH3x3*TH3x4**2*TH4x3*vev + 4*l5*muP*TH1x2**2*TH3x3*TH3x4**2*TH4x3*vev - 2*l7*muP*TH1x2*TH2x2*TH3x3*TH3x4**2*TH4x3*vev - 2*l3*muP*TH1x2**2*TH3x3**2*TH3x4*TH4x4*vev - 2*l4*muP*TH1x2**2*TH3x3**2*TH3x4*TH4x4*vev + 4*l5*muP*TH1x2**2*TH3x3**2*TH3x4*TH4x4*vev - 2*l7*muP*TH1x2*TH2x2*TH3x3**2*TH3x4*TH4x4*vev - 4*lP1*muP*TH1x2**2*TH3x4*TH4x3**2*TH4x4*vev - 4*lP*muP*TH1x2*TH2x2*TH3x4*TH4x3**2*TH4x4*vev - 4*lP1*muP*TH1x2**2*TH3x3*TH4x3*TH4x4**2*vev - 4*lP*muP*TH1x2*TH2x2*TH3x3*TH4x3*TH4x4**2*vev + l3**2*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 + 2*l3*l4*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 + l4**2*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 - 4*l3*l5*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 - 4*l4*l5*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 + 4*l5**2*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 + 2*l3*l7*TH1x2*TH2x2*TH3x3**2*TH3x4**2*vev**2 + 2*l4*l7*TH1x2*TH2x2*TH3x3**2*TH3x4**2*vev**2 - 4*l5*l7*TH1x2*TH2x2*TH3x3**2*TH3x4**2*vev**2 + l7**2*TH2x2**2*TH3x3**2*TH3x4**2*vev**2 + 4*l3*lP1*TH1x2**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l4*lP1*TH1x2**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 - 8*l5*lP1*TH1x2**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l3*lP*TH1x2*TH2x2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l4*lP*TH1x2*TH2x2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 - 8*l5*lP*TH1x2*TH2x2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l7*lP1*TH1x2*TH2x2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l7*lP*TH2x2**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*lP1**2*TH1x2**2*TH4x3**2*TH4x4**2*vev**2 + 8*lP*lP1*TH1x2*TH2x2*TH4x3**2*TH4x4**2*vev**2 + 4*lP**2*TH2x2**2*TH4x3**2*TH4x4**2*vev**2)*cmath.sqrt(mh2**4 - 2*mh2**2*mh3**2 + mh3**4 - 2*mh2**2*mh4**2 - 2*mh3**2*mh4**2 + mh4**4))/(16.*cmath.pi*abs(mh3)**3)',
+                                   (P.h2,P.Z):'((-(ee**2*mh2**2*TH2x2**2*TH3x3**2) - ee**2*mh3**2*TH2x2**2*TH3x3**2 + (ee**2*mh2**4*TH2x2**2*TH3x3**2)/(2.*MZ**2) - (ee**2*mh2**2*mh3**2*TH2x2**2*TH3x3**2)/MZ**2 + (ee**2*mh3**4*TH2x2**2*TH3x3**2)/(2.*MZ**2) + (ee**2*MZ**2*TH2x2**2*TH3x3**2)/2. - (cw**2*ee**2*mh2**2*TH2x2**2*TH3x3**2)/(2.*sw**2) - (cw**2*ee**2*mh3**2*TH2x2**2*TH3x3**2)/(2.*sw**2) + (cw**2*ee**2*mh2**4*TH2x2**2*TH3x3**2)/(4.*MZ**2*sw**2) - (cw**2*ee**2*mh2**2*mh3**2*TH2x2**2*TH3x3**2)/(2.*MZ**2*sw**2) + (cw**2*ee**2*mh3**4*TH2x2**2*TH3x3**2)/(4.*MZ**2*sw**2) + (cw**2*ee**2*MZ**2*TH2x2**2*TH3x3**2)/(4.*sw**2) - (ee**2*mh2**2*sw**2*TH2x2**2*TH3x3**2)/(2.*cw**2) - (ee**2*mh3**2*sw**2*TH2x2**2*TH3x3**2)/(2.*cw**2) + (ee**2*mh2**4*sw**2*TH2x2**2*TH3x3**2)/(4.*cw**2*MZ**2) - (ee**2*mh2**2*mh3**2*sw**2*TH2x2**2*TH3x3**2)/(2.*cw**2*MZ**2) + (ee**2*mh3**4*sw**2*TH2x2**2*TH3x3**2)/(4.*cw**2*MZ**2) + (ee**2*MZ**2*sw**2*TH2x2**2*TH3x3**2)/(4.*cw**2))*cmath.sqrt(mh2**4 - 2*mh2**2*mh3**2 + mh3**4 - 2*mh2**2*MZ**2 - 2*mh3**2*MZ**2 + MZ**4))/(16.*cmath.pi*abs(mh3)**3)',
+                                   (P.h__plus__,P.W__minus__):'((-(ee**2*mh3**2*TH3x3**2)/(2.*sw**2) - (ee**2*mhc**2*TH3x3**2)/(2.*sw**2) + (ee**2*mh3**4*TH3x3**2)/(4.*MW**2*sw**2) - (ee**2*mh3**2*mhc**2*TH3x3**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH3x3**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH3x3**2)/(4.*sw**2))*cmath.sqrt(mh3**4 - 2*mh3**2*mhc**2 + mhc**4 - 2*mh3**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(16.*cmath.pi*abs(mh3)**3)',
+                                   (P.h__minus__,P.W__plus__):'((-(ee**2*mh3**2*TH3x3**2)/(2.*sw**2) - (ee**2*mhc**2*TH3x3**2)/(2.*sw**2) + (ee**2*mh3**4*TH3x3**2)/(4.*MW**2*sw**2) - (ee**2*mh3**2*mhc**2*TH3x3**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH3x3**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH3x3**2)/(4.*sw**2))*cmath.sqrt(mh3**4 - 2*mh3**2*mhc**2 + mhc**4 - 2*mh3**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(16.*cmath.pi*abs(mh3)**3)',
+                                   (P.mu__minus__,P.mu__plus__):'(mh3**2*TH3x3**2*ymm**2*cmath.sqrt(mh3**4 - 4*mh3**2*MMU**2))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh3)**3)',
+                                   (P.s,P.s__tilde__):'(3*mh3**2*TH3x3**2*yms**2*cmath.sqrt(mh3**4 - 4*mh3**2*MS**2))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh3)**3)',
+                                   (P.t,P.t__tilde__):'(3*mh3**2*TH3x3**2*ymt**2*cmath.sqrt(mh3**4 - 4*mh3**2*MT**2))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh3)**3)',
+                                   (P.ta__minus__,P.ta__plus__):'(mh3**2*TH3x3**2*ymtau**2*cmath.sqrt(mh3**4 - 4*mh3**2*MTA**2))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh3)**3)',
+                                   (P.u,P.u__tilde__):'(3*mh3**2*TH3x3**2*ymup**2*cmath.sqrt(mh3**4 - 4*mh3**2*MU**2))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh3)**3)',
+                                   (P.Xd,P.Xd__tilde__):'(gPXd**2*mh3**2*TH4x3**2*cmath.sqrt(mh3**4 - 4*mh3**2*MXd**2))/(8.*cmath.pi*abs(mh3)**3)'})
+
+Decay_h4 = Decay(name = 'Decay_h4',
+                 particle = P.h4,
+                 partial_widths = {(P.b,P.b__tilde__):'(3*mh4**2*TH3x4**2*ymb**2*cmath.sqrt(-4*MB**2*mh4**2 + mh4**4))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh4)**3)',
+                                   (P.c,P.c__tilde__):'(3*mh4**2*TH3x4**2*ymc**2*cmath.sqrt(-4*MC**2*mh4**2 + mh4**4))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh4)**3)',
+                                   (P.d,P.d__tilde__):'(3*mh4**2*TH3x4**2*ymdo**2*cmath.sqrt(-4*MD**2*mh4**2 + mh4**4))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh4)**3)',
+                                   (P.e__minus__,P.e__plus__):'(mh4**2*TH3x4**2*yme**2*cmath.sqrt(-4*Me**2*mh4**2 + mh4**4))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh4)**3)',
+                                   (P.h1,P.h3):'((muP**2*TH1x1**2*TH3x4**2*TH4x3**2 + 2*muP**2*TH1x1**2*TH3x3*TH3x4*TH4x3*TH4x4 + muP**2*TH1x1**2*TH3x3**2*TH4x4**2 - 2*l3*muP*TH1x1**2*TH3x3*TH3x4**2*TH4x3*vev - 2*l4*muP*TH1x1**2*TH3x3*TH3x4**2*TH4x3*vev + 4*l5*muP*TH1x1**2*TH3x3*TH3x4**2*TH4x3*vev - 2*l7*muP*TH1x1*TH2x1*TH3x3*TH3x4**2*TH4x3*vev - 2*l3*muP*TH1x1**2*TH3x3**2*TH3x4*TH4x4*vev - 2*l4*muP*TH1x1**2*TH3x3**2*TH3x4*TH4x4*vev + 4*l5*muP*TH1x1**2*TH3x3**2*TH3x4*TH4x4*vev - 2*l7*muP*TH1x1*TH2x1*TH3x3**2*TH3x4*TH4x4*vev - 4*lP1*muP*TH1x1**2*TH3x4*TH4x3**2*TH4x4*vev - 4*lP*muP*TH1x1*TH2x1*TH3x4*TH4x3**2*TH4x4*vev - 4*lP1*muP*TH1x1**2*TH3x3*TH4x3*TH4x4**2*vev - 4*lP*muP*TH1x1*TH2x1*TH3x3*TH4x3*TH4x4**2*vev + l3**2*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 + 2*l3*l4*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 + l4**2*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 - 4*l3*l5*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 - 4*l4*l5*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 + 4*l5**2*TH1x1**2*TH3x3**2*TH3x4**2*vev**2 + 2*l3*l7*TH1x1*TH2x1*TH3x3**2*TH3x4**2*vev**2 + 2*l4*l7*TH1x1*TH2x1*TH3x3**2*TH3x4**2*vev**2 - 4*l5*l7*TH1x1*TH2x1*TH3x3**2*TH3x4**2*vev**2 + l7**2*TH2x1**2*TH3x3**2*TH3x4**2*vev**2 + 4*l3*lP1*TH1x1**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l4*lP1*TH1x1**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 - 8*l5*lP1*TH1x1**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l3*lP*TH1x1*TH2x1*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l4*lP*TH1x1*TH2x1*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 - 8*l5*lP*TH1x1*TH2x1*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l7*lP1*TH1x1*TH2x1*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l7*lP*TH2x1**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*lP1**2*TH1x1**2*TH4x3**2*TH4x4**2*vev**2 + 8*lP*lP1*TH1x1*TH2x1*TH4x3**2*TH4x4**2*vev**2 + 4*lP**2*TH2x1**2*TH4x3**2*TH4x4**2*vev**2)*cmath.sqrt(mh1**4 - 2*mh1**2*mh3**2 + mh3**4 - 2*mh1**2*mh4**2 - 2*mh3**2*mh4**2 + mh4**4))/(16.*cmath.pi*abs(mh4)**3)',
+                                   (P.h1,P.Z):'((-(ee**2*mh1**2*TH2x1**2*TH3x4**2) - ee**2*mh4**2*TH2x1**2*TH3x4**2 + (ee**2*mh1**4*TH2x1**2*TH3x4**2)/(2.*MZ**2) - (ee**2*mh1**2*mh4**2*TH2x1**2*TH3x4**2)/MZ**2 + (ee**2*mh4**4*TH2x1**2*TH3x4**2)/(2.*MZ**2) + (ee**2*MZ**2*TH2x1**2*TH3x4**2)/2. - (cw**2*ee**2*mh1**2*TH2x1**2*TH3x4**2)/(2.*sw**2) - (cw**2*ee**2*mh4**2*TH2x1**2*TH3x4**2)/(2.*sw**2) + (cw**2*ee**2*mh1**4*TH2x1**2*TH3x4**2)/(4.*MZ**2*sw**2) - (cw**2*ee**2*mh1**2*mh4**2*TH2x1**2*TH3x4**2)/(2.*MZ**2*sw**2) + (cw**2*ee**2*mh4**4*TH2x1**2*TH3x4**2)/(4.*MZ**2*sw**2) + (cw**2*ee**2*MZ**2*TH2x1**2*TH3x4**2)/(4.*sw**2) - (ee**2*mh1**2*sw**2*TH2x1**2*TH3x4**2)/(2.*cw**2) - (ee**2*mh4**2*sw**2*TH2x1**2*TH3x4**2)/(2.*cw**2) + (ee**2*mh1**4*sw**2*TH2x1**2*TH3x4**2)/(4.*cw**2*MZ**2) - (ee**2*mh1**2*mh4**2*sw**2*TH2x1**2*TH3x4**2)/(2.*cw**2*MZ**2) + (ee**2*mh4**4*sw**2*TH2x1**2*TH3x4**2)/(4.*cw**2*MZ**2) + (ee**2*MZ**2*sw**2*TH2x1**2*TH3x4**2)/(4.*cw**2))*cmath.sqrt(mh1**4 - 2*mh1**2*mh4**2 + mh4**4 - 2*mh1**2*MZ**2 - 2*mh4**2*MZ**2 + MZ**4))/(16.*cmath.pi*abs(mh4)**3)',
+                                   (P.h2,P.h3):'((muP**2*TH1x2**2*TH3x4**2*TH4x3**2 + 2*muP**2*TH1x2**2*TH3x3*TH3x4*TH4x3*TH4x4 + muP**2*TH1x2**2*TH3x3**2*TH4x4**2 - 2*l3*muP*TH1x2**2*TH3x3*TH3x4**2*TH4x3*vev - 2*l4*muP*TH1x2**2*TH3x3*TH3x4**2*TH4x3*vev + 4*l5*muP*TH1x2**2*TH3x3*TH3x4**2*TH4x3*vev - 2*l7*muP*TH1x2*TH2x2*TH3x3*TH3x4**2*TH4x3*vev - 2*l3*muP*TH1x2**2*TH3x3**2*TH3x4*TH4x4*vev - 2*l4*muP*TH1x2**2*TH3x3**2*TH3x4*TH4x4*vev + 4*l5*muP*TH1x2**2*TH3x3**2*TH3x4*TH4x4*vev - 2*l7*muP*TH1x2*TH2x2*TH3x3**2*TH3x4*TH4x4*vev - 4*lP1*muP*TH1x2**2*TH3x4*TH4x3**2*TH4x4*vev - 4*lP*muP*TH1x2*TH2x2*TH3x4*TH4x3**2*TH4x4*vev - 4*lP1*muP*TH1x2**2*TH3x3*TH4x3*TH4x4**2*vev - 4*lP*muP*TH1x2*TH2x2*TH3x3*TH4x3*TH4x4**2*vev + l3**2*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 + 2*l3*l4*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 + l4**2*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 - 4*l3*l5*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 - 4*l4*l5*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 + 4*l5**2*TH1x2**2*TH3x3**2*TH3x4**2*vev**2 + 2*l3*l7*TH1x2*TH2x2*TH3x3**2*TH3x4**2*vev**2 + 2*l4*l7*TH1x2*TH2x2*TH3x3**2*TH3x4**2*vev**2 - 4*l5*l7*TH1x2*TH2x2*TH3x3**2*TH3x4**2*vev**2 + l7**2*TH2x2**2*TH3x3**2*TH3x4**2*vev**2 + 4*l3*lP1*TH1x2**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l4*lP1*TH1x2**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 - 8*l5*lP1*TH1x2**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l3*lP*TH1x2*TH2x2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l4*lP*TH1x2*TH2x2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 - 8*l5*lP*TH1x2*TH2x2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l7*lP1*TH1x2*TH2x2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*l7*lP*TH2x2**2*TH3x3*TH3x4*TH4x3*TH4x4*vev**2 + 4*lP1**2*TH1x2**2*TH4x3**2*TH4x4**2*vev**2 + 8*lP*lP1*TH1x2*TH2x2*TH4x3**2*TH4x4**2*vev**2 + 4*lP**2*TH2x2**2*TH4x3**2*TH4x4**2*vev**2)*cmath.sqrt(mh2**4 - 2*mh2**2*mh3**2 + mh3**4 - 2*mh2**2*mh4**2 - 2*mh3**2*mh4**2 + mh4**4))/(16.*cmath.pi*abs(mh4)**3)',
+                                   (P.h2,P.Z):'((-(ee**2*mh2**2*TH2x2**2*TH3x4**2) - ee**2*mh4**2*TH2x2**2*TH3x4**2 + (ee**2*mh2**4*TH2x2**2*TH3x4**2)/(2.*MZ**2) - (ee**2*mh2**2*mh4**2*TH2x2**2*TH3x4**2)/MZ**2 + (ee**2*mh4**4*TH2x2**2*TH3x4**2)/(2.*MZ**2) + (ee**2*MZ**2*TH2x2**2*TH3x4**2)/2. - (cw**2*ee**2*mh2**2*TH2x2**2*TH3x4**2)/(2.*sw**2) - (cw**2*ee**2*mh4**2*TH2x2**2*TH3x4**2)/(2.*sw**2) + (cw**2*ee**2*mh2**4*TH2x2**2*TH3x4**2)/(4.*MZ**2*sw**2) - (cw**2*ee**2*mh2**2*mh4**2*TH2x2**2*TH3x4**2)/(2.*MZ**2*sw**2) + (cw**2*ee**2*mh4**4*TH2x2**2*TH3x4**2)/(4.*MZ**2*sw**2) + (cw**2*ee**2*MZ**2*TH2x2**2*TH3x4**2)/(4.*sw**2) - (ee**2*mh2**2*sw**2*TH2x2**2*TH3x4**2)/(2.*cw**2) - (ee**2*mh4**2*sw**2*TH2x2**2*TH3x4**2)/(2.*cw**2) + (ee**2*mh2**4*sw**2*TH2x2**2*TH3x4**2)/(4.*cw**2*MZ**2) - (ee**2*mh2**2*mh4**2*sw**2*TH2x2**2*TH3x4**2)/(2.*cw**2*MZ**2) + (ee**2*mh4**4*sw**2*TH2x2**2*TH3x4**2)/(4.*cw**2*MZ**2) + (ee**2*MZ**2*sw**2*TH2x2**2*TH3x4**2)/(4.*cw**2))*cmath.sqrt(mh2**4 - 2*mh2**2*mh4**2 + mh4**4 - 2*mh2**2*MZ**2 - 2*mh4**2*MZ**2 + MZ**4))/(16.*cmath.pi*abs(mh4)**3)',
+                                   (P.h__plus__,P.W__minus__):'((-(ee**2*mh4**2*TH3x4**2)/(2.*sw**2) - (ee**2*mhc**2*TH3x4**2)/(2.*sw**2) + (ee**2*mh4**4*TH3x4**2)/(4.*MW**2*sw**2) - (ee**2*mh4**2*mhc**2*TH3x4**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH3x4**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH3x4**2)/(4.*sw**2))*cmath.sqrt(mh4**4 - 2*mh4**2*mhc**2 + mhc**4 - 2*mh4**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(16.*cmath.pi*abs(mh4)**3)',
+                                   (P.h__minus__,P.W__plus__):'((-(ee**2*mh4**2*TH3x4**2)/(2.*sw**2) - (ee**2*mhc**2*TH3x4**2)/(2.*sw**2) + (ee**2*mh4**4*TH3x4**2)/(4.*MW**2*sw**2) - (ee**2*mh4**2*mhc**2*TH3x4**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH3x4**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH3x4**2)/(4.*sw**2))*cmath.sqrt(mh4**4 - 2*mh4**2*mhc**2 + mhc**4 - 2*mh4**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(16.*cmath.pi*abs(mh4)**3)',
+                                   (P.mu__minus__,P.mu__plus__):'(mh4**2*TH3x4**2*ymm**2*cmath.sqrt(mh4**4 - 4*mh4**2*MMU**2))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh4)**3)',
+                                   (P.s,P.s__tilde__):'(3*mh4**2*TH3x4**2*yms**2*cmath.sqrt(mh4**4 - 4*mh4**2*MS**2))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh4)**3)',
+                                   (P.t,P.t__tilde__):'(3*mh4**2*TH3x4**2*ymt**2*cmath.sqrt(mh4**4 - 4*mh4**2*MT**2))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh4)**3)',
+                                   (P.ta__minus__,P.ta__plus__):'(mh4**2*TH3x4**2*ymtau**2*cmath.sqrt(mh4**4 - 4*mh4**2*MTA**2))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh4)**3)',
+                                   (P.u,P.u__tilde__):'(3*mh4**2*TH3x4**2*ymup**2*cmath.sqrt(mh4**4 - 4*mh4**2*MU**2))/(8.*cmath.pi*tanbeta**2*vev**2*abs(mh4)**3)',
+                                   (P.Xd,P.Xd__tilde__):'(gPXd**2*mh4**2*TH4x4**2*cmath.sqrt(mh4**4 - 4*mh4**2*MXd**2))/(8.*cmath.pi*abs(mh4)**3)'})
+
+Decay_h__plus__ = Decay(name = 'Decay_h__plus__',
+                        particle = P.h__plus__,
+                        partial_widths = {(P.c,P.s__tilde__):'((-3*I1a22*MC**2*complexconjugate(I1a22) + 3*I1a22*mhc**2*complexconjugate(I1a22) + 6*I2a22*MC*MS*complexconjugate(I1a22) - 3*I1a22*MS**2*complexconjugate(I1a22) - 3*I2a22*MC**2*complexconjugate(I2a22) + 3*I2a22*mhc**2*complexconjugate(I2a22) + 6*I1a22*MC*MS*complexconjugate(I2a22) - 3*I2a22*MS**2*complexconjugate(I2a22))*cmath.sqrt(MC**4 - 2*MC**2*mhc**2 + mhc**4 - 2*MC**2*MS**2 - 2*mhc**2*MS**2 + MS**4))/(16.*cmath.pi*abs(mhc)**3)',
+                                          (P.h1,P.W__plus__):'((-(ee**2*mh1**2*TH2x1**2)/(2.*sw**2) - (ee**2*mhc**2*TH2x1**2)/(2.*sw**2) + (ee**2*mh1**4*TH2x1**2)/(4.*MW**2*sw**2) - (ee**2*mh1**2*mhc**2*TH2x1**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH2x1**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH2x1**2)/(4.*sw**2))*cmath.sqrt(mh1**4 - 2*mh1**2*mhc**2 + mhc**4 - 2*mh1**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(16.*cmath.pi*abs(mhc)**3)',
+                                          (P.h2,P.W__plus__):'((-(ee**2*mh2**2*TH2x2**2)/(2.*sw**2) - (ee**2*mhc**2*TH2x2**2)/(2.*sw**2) + (ee**2*mh2**4*TH2x2**2)/(4.*MW**2*sw**2) - (ee**2*mh2**2*mhc**2*TH2x2**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH2x2**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH2x2**2)/(4.*sw**2))*cmath.sqrt(mh2**4 - 2*mh2**2*mhc**2 + mhc**4 - 2*mh2**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(16.*cmath.pi*abs(mhc)**3)',
+                                          (P.h3,P.W__plus__):'((-(ee**2*mh3**2*TH3x3**2)/(2.*sw**2) - (ee**2*mhc**2*TH3x3**2)/(2.*sw**2) + (ee**2*mh3**4*TH3x3**2)/(4.*MW**2*sw**2) - (ee**2*mh3**2*mhc**2*TH3x3**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH3x3**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH3x3**2)/(4.*sw**2))*cmath.sqrt(mh3**4 - 2*mh3**2*mhc**2 + mhc**4 - 2*mh3**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(16.*cmath.pi*abs(mhc)**3)',
+                                          (P.h4,P.W__plus__):'((-(ee**2*mh4**2*TH3x4**2)/(2.*sw**2) - (ee**2*mhc**2*TH3x4**2)/(2.*sw**2) + (ee**2*mh4**4*TH3x4**2)/(4.*MW**2*sw**2) - (ee**2*mh4**2*mhc**2*TH3x4**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH3x4**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH3x4**2)/(4.*sw**2))*cmath.sqrt(mh4**4 - 2*mh4**2*mhc**2 + mhc**4 - 2*mh4**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(16.*cmath.pi*abs(mhc)**3)',
+                                          (P.t,P.b__tilde__):'((-3*I1a33*MB**2*complexconjugate(I1a33) + 3*I1a33*mhc**2*complexconjugate(I1a33) + 6*I2a33*MB*MT*complexconjugate(I1a33) - 3*I1a33*MT**2*complexconjugate(I1a33) - 3*I2a33*MB**2*complexconjugate(I2a33) + 3*I2a33*mhc**2*complexconjugate(I2a33) + 6*I1a33*MB*MT*complexconjugate(I2a33) - 3*I2a33*MT**2*complexconjugate(I2a33))*cmath.sqrt(MB**4 - 2*MB**2*mhc**2 + mhc**4 - 2*MB**2*MT**2 - 2*mhc**2*MT**2 + MT**4))/(16.*cmath.pi*abs(mhc)**3)',
+                                          (P.u,P.d__tilde__):'((-3*I1a11*MD**2*complexconjugate(I1a11) + 3*I1a11*mhc**2*complexconjugate(I1a11) + 6*I2a11*MD*MU*complexconjugate(I1a11) - 3*I1a11*MU**2*complexconjugate(I1a11) - 3*I2a11*MD**2*complexconjugate(I2a11) + 3*I2a11*mhc**2*complexconjugate(I2a11) + 6*I1a11*MD*MU*complexconjugate(I2a11) - 3*I2a11*MU**2*complexconjugate(I2a11))*cmath.sqrt(MD**4 - 2*MD**2*mhc**2 + mhc**4 - 2*MD**2*MU**2 - 2*mhc**2*MU**2 + MU**4))/(16.*cmath.pi*abs(mhc)**3)',
+                                          (P.ve,P.e__plus__):'((-Me**2 + mhc**2)*((-2*Me**2*yme**2)/(tanbeta**2*vev**2) + (2*mhc**2*yme**2)/(tanbeta**2*vev**2)))/(16.*cmath.pi*abs(mhc)**3)',
+                                          (P.vm,P.mu__plus__):'((mhc**2 - MMU**2)*((2*mhc**2*ymm**2)/(tanbeta**2*vev**2) - (2*MMU**2*ymm**2)/(tanbeta**2*vev**2)))/(16.*cmath.pi*abs(mhc)**3)',
+                                          (P.vt,P.ta__plus__):'((mhc**2 - MTA**2)*((2*mhc**2*ymtau**2)/(tanbeta**2*vev**2) - (2*MTA**2*ymtau**2)/(tanbeta**2*vev**2)))/(16.*cmath.pi*abs(mhc)**3)'})
+
+Decay_mu__minus__ = Decay(name = 'Decay_mu__minus__',
+                          particle = P.mu__minus__,
+                          partial_widths = {(P.h__minus__,P.vm):'((-mhc**2 + MMU**2)*((-2*mhc**2*ymm**2)/(tanbeta**2*vev**2) + (2*MMU**2*ymm**2)/(tanbeta**2*vev**2)))/(32.*cmath.pi*abs(MMU)**3)',
+                                            (P.W__minus__,P.vm):'((MMU**2 - MW**2)*((ee**2*MMU**2)/(2.*sw**2) + (ee**2*MMU**4)/(2.*MW**2*sw**2) - (ee**2*MW**2)/sw**2))/(32.*cmath.pi*abs(MMU)**3)'})
+
+Decay_s = Decay(name = 'Decay_s',
+                particle = P.s,
+                partial_widths = {(P.h__minus__,P.c):'((3*I1a22*MC**2*complexconjugate(I1a22) - 3*I1a22*mhc**2*complexconjugate(I1a22) - 6*I2a22*MC*MS*complexconjugate(I1a22) + 3*I1a22*MS**2*complexconjugate(I1a22) + 3*I2a22*MC**2*complexconjugate(I2a22) - 3*I2a22*mhc**2*complexconjugate(I2a22) - 6*I1a22*MC*MS*complexconjugate(I2a22) + 3*I2a22*MS**2*complexconjugate(I2a22))*cmath.sqrt(MC**4 - 2*MC**2*mhc**2 + mhc**4 - 2*MC**2*MS**2 - 2*mhc**2*MS**2 + MS**4))/(96.*cmath.pi*abs(MS)**3)',
+                                  (P.W__minus__,P.c):'(((3*ee**2*MC**2)/(2.*sw**2) + (3*ee**2*MS**2)/(2.*sw**2) + (3*ee**2*MC**4)/(2.*MW**2*sw**2) - (3*ee**2*MC**2*MS**2)/(MW**2*sw**2) + (3*ee**2*MS**4)/(2.*MW**2*sw**2) - (3*ee**2*MW**2)/sw**2)*cmath.sqrt(MC**4 - 2*MC**2*MS**2 + MS**4 - 2*MC**2*MW**2 - 2*MS**2*MW**2 + MW**4))/(96.*cmath.pi*abs(MS)**3)'})
+
+Decay_t = Decay(name = 'Decay_t',
+                particle = P.t,
+                partial_widths = {(P.h__plus__,P.b):'((3*I3a33*MB**2*complexconjugate(I3a33) - 3*I3a33*mhc**2*complexconjugate(I3a33) - 6*I4a33*MB*MT*complexconjugate(I3a33) + 3*I3a33*MT**2*complexconjugate(I3a33) + 3*I4a33*MB**2*complexconjugate(I4a33) - 3*I4a33*mhc**2*complexconjugate(I4a33) - 6*I3a33*MB*MT*complexconjugate(I4a33) + 3*I4a33*MT**2*complexconjugate(I4a33))*cmath.sqrt(MB**4 - 2*MB**2*mhc**2 + mhc**4 - 2*MB**2*MT**2 - 2*mhc**2*MT**2 + MT**4))/(96.*cmath.pi*abs(MT)**3)',
+                                  (P.W__plus__,P.b):'(((3*ee**2*MB**2)/(2.*sw**2) + (3*ee**2*MT**2)/(2.*sw**2) + (3*ee**2*MB**4)/(2.*MW**2*sw**2) - (3*ee**2*MB**2*MT**2)/(MW**2*sw**2) + (3*ee**2*MT**4)/(2.*MW**2*sw**2) - (3*ee**2*MW**2)/sw**2)*cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4))/(96.*cmath.pi*abs(MT)**3)'})
+
+Decay_ta__minus__ = Decay(name = 'Decay_ta__minus__',
+                          particle = P.ta__minus__,
+                          partial_widths = {(P.h__minus__,P.vt):'((-mhc**2 + MTA**2)*((-2*mhc**2*ymtau**2)/(tanbeta**2*vev**2) + (2*MTA**2*ymtau**2)/(tanbeta**2*vev**2)))/(32.*cmath.pi*abs(MTA)**3)',
+                                            (P.W__minus__,P.vt):'((MTA**2 - MW**2)*((ee**2*MTA**2)/(2.*sw**2) + (ee**2*MTA**4)/(2.*MW**2*sw**2) - (ee**2*MW**2)/sw**2))/(32.*cmath.pi*abs(MTA)**3)'})
+
+Decay_u = Decay(name = 'Decay_u',
+                particle = P.u,
+                partial_widths = {(P.h__plus__,P.d):'((3*I3a11*MD**2*complexconjugate(I3a11) - 3*I3a11*mhc**2*complexconjugate(I3a11) - 6*I4a11*MD*MU*complexconjugate(I3a11) + 3*I3a11*MU**2*complexconjugate(I3a11) + 3*I4a11*MD**2*complexconjugate(I4a11) - 3*I4a11*mhc**2*complexconjugate(I4a11) - 6*I3a11*MD*MU*complexconjugate(I4a11) + 3*I4a11*MU**2*complexconjugate(I4a11))*cmath.sqrt(MD**4 - 2*MD**2*mhc**2 + mhc**4 - 2*MD**2*MU**2 - 2*mhc**2*MU**2 + MU**4))/(96.*cmath.pi*abs(MU)**3)',
+                                  (P.W__plus__,P.d):'(((3*ee**2*MD**2)/(2.*sw**2) + (3*ee**2*MU**2)/(2.*sw**2) + (3*ee**2*MD**4)/(2.*MW**2*sw**2) - (3*ee**2*MD**2*MU**2)/(MW**2*sw**2) + (3*ee**2*MU**4)/(2.*MW**2*sw**2) - (3*ee**2*MW**2)/sw**2)*cmath.sqrt(MD**4 - 2*MD**2*MU**2 + MU**4 - 2*MD**2*MW**2 - 2*MU**2*MW**2 + MW**4))/(96.*cmath.pi*abs(MU)**3)'})
+
+Decay_W__plus__ = Decay(name = 'Decay_W__plus__',
+                        particle = P.W__plus__,
+                        partial_widths = {(P.c,P.s__tilde__):'(((-3*ee**2*MC**2)/(2.*sw**2) - (3*ee**2*MS**2)/(2.*sw**2) - (3*ee**2*MC**4)/(2.*MW**2*sw**2) + (3*ee**2*MC**2*MS**2)/(MW**2*sw**2) - (3*ee**2*MS**4)/(2.*MW**2*sw**2) + (3*ee**2*MW**2)/sw**2)*cmath.sqrt(MC**4 - 2*MC**2*MS**2 + MS**4 - 2*MC**2*MW**2 - 2*MS**2*MW**2 + MW**4))/(48.*cmath.pi*abs(MW)**3)',
+                                          (P.h1,P.h__plus__):'((-(ee**2*mh1**2*TH2x1**2)/(2.*sw**2) - (ee**2*mhc**2*TH2x1**2)/(2.*sw**2) + (ee**2*mh1**4*TH2x1**2)/(4.*MW**2*sw**2) - (ee**2*mh1**2*mhc**2*TH2x1**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH2x1**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH2x1**2)/(4.*sw**2))*cmath.sqrt(mh1**4 - 2*mh1**2*mhc**2 + mhc**4 - 2*mh1**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(48.*cmath.pi*abs(MW)**3)',
+                                          (P.h2,P.h__plus__):'((-(ee**2*mh2**2*TH2x2**2)/(2.*sw**2) - (ee**2*mhc**2*TH2x2**2)/(2.*sw**2) + (ee**2*mh2**4*TH2x2**2)/(4.*MW**2*sw**2) - (ee**2*mh2**2*mhc**2*TH2x2**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH2x2**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH2x2**2)/(4.*sw**2))*cmath.sqrt(mh2**4 - 2*mh2**2*mhc**2 + mhc**4 - 2*mh2**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(48.*cmath.pi*abs(MW)**3)',
+                                          (P.h3,P.h__plus__):'((-(ee**2*mh3**2*TH3x3**2)/(2.*sw**2) - (ee**2*mhc**2*TH3x3**2)/(2.*sw**2) + (ee**2*mh3**4*TH3x3**2)/(4.*MW**2*sw**2) - (ee**2*mh3**2*mhc**2*TH3x3**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH3x3**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH3x3**2)/(4.*sw**2))*cmath.sqrt(mh3**4 - 2*mh3**2*mhc**2 + mhc**4 - 2*mh3**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(48.*cmath.pi*abs(MW)**3)',
+                                          (P.h4,P.h__plus__):'((-(ee**2*mh4**2*TH3x4**2)/(2.*sw**2) - (ee**2*mhc**2*TH3x4**2)/(2.*sw**2) + (ee**2*mh4**4*TH3x4**2)/(4.*MW**2*sw**2) - (ee**2*mh4**2*mhc**2*TH3x4**2)/(2.*MW**2*sw**2) + (ee**2*mhc**4*TH3x4**2)/(4.*MW**2*sw**2) + (ee**2*MW**2*TH3x4**2)/(4.*sw**2))*cmath.sqrt(mh4**4 - 2*mh4**2*mhc**2 + mhc**4 - 2*mh4**2*MW**2 - 2*mhc**2*MW**2 + MW**4))/(48.*cmath.pi*abs(MW)**3)',
+                                          (P.t,P.b__tilde__):'(((-3*ee**2*MB**2)/(2.*sw**2) - (3*ee**2*MT**2)/(2.*sw**2) - (3*ee**2*MB**4)/(2.*MW**2*sw**2) + (3*ee**2*MB**2*MT**2)/(MW**2*sw**2) - (3*ee**2*MT**4)/(2.*MW**2*sw**2) + (3*ee**2*MW**2)/sw**2)*cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4))/(48.*cmath.pi*abs(MW)**3)',
+                                          (P.u,P.d__tilde__):'(((-3*ee**2*MD**2)/(2.*sw**2) - (3*ee**2*MU**2)/(2.*sw**2) - (3*ee**2*MD**4)/(2.*MW**2*sw**2) + (3*ee**2*MD**2*MU**2)/(MW**2*sw**2) - (3*ee**2*MU**4)/(2.*MW**2*sw**2) + (3*ee**2*MW**2)/sw**2)*cmath.sqrt(MD**4 - 2*MD**2*MU**2 + MU**4 - 2*MD**2*MW**2 - 2*MU**2*MW**2 + MW**4))/(48.*cmath.pi*abs(MW)**3)',
+                                          (P.ve,P.e__plus__):'((-Me**2 + MW**2)*(-(ee**2*Me**2)/(2.*sw**2) - (ee**2*Me**4)/(2.*MW**2*sw**2) + (ee**2*MW**2)/sw**2))/(48.*cmath.pi*abs(MW)**3)',
+                                          (P.vm,P.mu__plus__):'((-MMU**2 + MW**2)*(-(ee**2*MMU**2)/(2.*sw**2) - (ee**2*MMU**4)/(2.*MW**2*sw**2) + (ee**2*MW**2)/sw**2))/(48.*cmath.pi*abs(MW)**3)',
+                                          (P.vt,P.ta__plus__):'((-MTA**2 + MW**2)*(-(ee**2*MTA**2)/(2.*sw**2) - (ee**2*MTA**4)/(2.*MW**2*sw**2) + (ee**2*MW**2)/sw**2))/(48.*cmath.pi*abs(MW)**3)'})
+
+Decay_Z = Decay(name = 'Decay_Z',
+                particle = P.Z,
+                partial_widths = {(P.b,P.b__tilde__):'((-7*ee**2*MB**2 + ee**2*MZ**2 - (3*cw**2*ee**2*MB**2)/(2.*sw**2) + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) - (17*ee**2*MB**2*sw**2)/(6.*cw**2) + (5*ee**2*MZ**2*sw**2)/(6.*cw**2))*cmath.sqrt(-4*MB**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.c,P.c__tilde__):'((-11*ee**2*MC**2 - ee**2*MZ**2 - (3*cw**2*ee**2*MC**2)/(2.*sw**2) + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) + (7*ee**2*MC**2*sw**2)/(6.*cw**2) + (17*ee**2*MZ**2*sw**2)/(6.*cw**2))*cmath.sqrt(-4*MC**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.d,P.d__tilde__):'((-7*ee**2*MD**2 + ee**2*MZ**2 - (3*cw**2*ee**2*MD**2)/(2.*sw**2) + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) - (17*ee**2*MD**2*sw**2)/(6.*cw**2) + (5*ee**2*MZ**2*sw**2)/(6.*cw**2))*cmath.sqrt(-4*MD**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.e__minus__,P.e__plus__):'((-5*ee**2*Me**2 - ee**2*MZ**2 - (cw**2*ee**2*Me**2)/(2.*sw**2) + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (7*ee**2*Me**2*sw**2)/(2.*cw**2) + (5*ee**2*MZ**2*sw**2)/(2.*cw**2))*cmath.sqrt(-4*Me**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.h1,P.h3):'((-(ee**2*mh1**2*TH2x1**2*TH3x3**2) - ee**2*mh3**2*TH2x1**2*TH3x3**2 + (ee**2*mh1**4*TH2x1**2*TH3x3**2)/(2.*MZ**2) - (ee**2*mh1**2*mh3**2*TH2x1**2*TH3x3**2)/MZ**2 + (ee**2*mh3**4*TH2x1**2*TH3x3**2)/(2.*MZ**2) + (ee**2*MZ**2*TH2x1**2*TH3x3**2)/2. - (cw**2*ee**2*mh1**2*TH2x1**2*TH3x3**2)/(2.*sw**2) - (cw**2*ee**2*mh3**2*TH2x1**2*TH3x3**2)/(2.*sw**2) + (cw**2*ee**2*mh1**4*TH2x1**2*TH3x3**2)/(4.*MZ**2*sw**2) - (cw**2*ee**2*mh1**2*mh3**2*TH2x1**2*TH3x3**2)/(2.*MZ**2*sw**2) + (cw**2*ee**2*mh3**4*TH2x1**2*TH3x3**2)/(4.*MZ**2*sw**2) + (cw**2*ee**2*MZ**2*TH2x1**2*TH3x3**2)/(4.*sw**2) - (ee**2*mh1**2*sw**2*TH2x1**2*TH3x3**2)/(2.*cw**2) - (ee**2*mh3**2*sw**2*TH2x1**2*TH3x3**2)/(2.*cw**2) + (ee**2*mh1**4*sw**2*TH2x1**2*TH3x3**2)/(4.*cw**2*MZ**2) - (ee**2*mh1**2*mh3**2*sw**2*TH2x1**2*TH3x3**2)/(2.*cw**2*MZ**2) + (ee**2*mh3**4*sw**2*TH2x1**2*TH3x3**2)/(4.*cw**2*MZ**2) + (ee**2*MZ**2*sw**2*TH2x1**2*TH3x3**2)/(4.*cw**2))*cmath.sqrt(mh1**4 - 2*mh1**2*mh3**2 + mh3**4 - 2*mh1**2*MZ**2 - 2*mh3**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.h1,P.h4):'((-(ee**2*mh1**2*TH2x1**2*TH3x4**2) - ee**2*mh4**2*TH2x1**2*TH3x4**2 + (ee**2*mh1**4*TH2x1**2*TH3x4**2)/(2.*MZ**2) - (ee**2*mh1**2*mh4**2*TH2x1**2*TH3x4**2)/MZ**2 + (ee**2*mh4**4*TH2x1**2*TH3x4**2)/(2.*MZ**2) + (ee**2*MZ**2*TH2x1**2*TH3x4**2)/2. - (cw**2*ee**2*mh1**2*TH2x1**2*TH3x4**2)/(2.*sw**2) - (cw**2*ee**2*mh4**2*TH2x1**2*TH3x4**2)/(2.*sw**2) + (cw**2*ee**2*mh1**4*TH2x1**2*TH3x4**2)/(4.*MZ**2*sw**2) - (cw**2*ee**2*mh1**2*mh4**2*TH2x1**2*TH3x4**2)/(2.*MZ**2*sw**2) + (cw**2*ee**2*mh4**4*TH2x1**2*TH3x4**2)/(4.*MZ**2*sw**2) + (cw**2*ee**2*MZ**2*TH2x1**2*TH3x4**2)/(4.*sw**2) - (ee**2*mh1**2*sw**2*TH2x1**2*TH3x4**2)/(2.*cw**2) - (ee**2*mh4**2*sw**2*TH2x1**2*TH3x4**2)/(2.*cw**2) + (ee**2*mh1**4*sw**2*TH2x1**2*TH3x4**2)/(4.*cw**2*MZ**2) - (ee**2*mh1**2*mh4**2*sw**2*TH2x1**2*TH3x4**2)/(2.*cw**2*MZ**2) + (ee**2*mh4**4*sw**2*TH2x1**2*TH3x4**2)/(4.*cw**2*MZ**2) + (ee**2*MZ**2*sw**2*TH2x1**2*TH3x4**2)/(4.*cw**2))*cmath.sqrt(mh1**4 - 2*mh1**2*mh4**2 + mh4**4 - 2*mh1**2*MZ**2 - 2*mh4**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.h2,P.h3):'((-(ee**2*mh2**2*TH2x2**2*TH3x3**2) - ee**2*mh3**2*TH2x2**2*TH3x3**2 + (ee**2*mh2**4*TH2x2**2*TH3x3**2)/(2.*MZ**2) - (ee**2*mh2**2*mh3**2*TH2x2**2*TH3x3**2)/MZ**2 + (ee**2*mh3**4*TH2x2**2*TH3x3**2)/(2.*MZ**2) + (ee**2*MZ**2*TH2x2**2*TH3x3**2)/2. - (cw**2*ee**2*mh2**2*TH2x2**2*TH3x3**2)/(2.*sw**2) - (cw**2*ee**2*mh3**2*TH2x2**2*TH3x3**2)/(2.*sw**2) + (cw**2*ee**2*mh2**4*TH2x2**2*TH3x3**2)/(4.*MZ**2*sw**2) - (cw**2*ee**2*mh2**2*mh3**2*TH2x2**2*TH3x3**2)/(2.*MZ**2*sw**2) + (cw**2*ee**2*mh3**4*TH2x2**2*TH3x3**2)/(4.*MZ**2*sw**2) + (cw**2*ee**2*MZ**2*TH2x2**2*TH3x3**2)/(4.*sw**2) - (ee**2*mh2**2*sw**2*TH2x2**2*TH3x3**2)/(2.*cw**2) - (ee**2*mh3**2*sw**2*TH2x2**2*TH3x3**2)/(2.*cw**2) + (ee**2*mh2**4*sw**2*TH2x2**2*TH3x3**2)/(4.*cw**2*MZ**2) - (ee**2*mh2**2*mh3**2*sw**2*TH2x2**2*TH3x3**2)/(2.*cw**2*MZ**2) + (ee**2*mh3**4*sw**2*TH2x2**2*TH3x3**2)/(4.*cw**2*MZ**2) + (ee**2*MZ**2*sw**2*TH2x2**2*TH3x3**2)/(4.*cw**2))*cmath.sqrt(mh2**4 - 2*mh2**2*mh3**2 + mh3**4 - 2*mh2**2*MZ**2 - 2*mh3**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.h2,P.h4):'((-(ee**2*mh2**2*TH2x2**2*TH3x4**2) - ee**2*mh4**2*TH2x2**2*TH3x4**2 + (ee**2*mh2**4*TH2x2**2*TH3x4**2)/(2.*MZ**2) - (ee**2*mh2**2*mh4**2*TH2x2**2*TH3x4**2)/MZ**2 + (ee**2*mh4**4*TH2x2**2*TH3x4**2)/(2.*MZ**2) + (ee**2*MZ**2*TH2x2**2*TH3x4**2)/2. - (cw**2*ee**2*mh2**2*TH2x2**2*TH3x4**2)/(2.*sw**2) - (cw**2*ee**2*mh4**2*TH2x2**2*TH3x4**2)/(2.*sw**2) + (cw**2*ee**2*mh2**4*TH2x2**2*TH3x4**2)/(4.*MZ**2*sw**2) - (cw**2*ee**2*mh2**2*mh4**2*TH2x2**2*TH3x4**2)/(2.*MZ**2*sw**2) + (cw**2*ee**2*mh4**4*TH2x2**2*TH3x4**2)/(4.*MZ**2*sw**2) + (cw**2*ee**2*MZ**2*TH2x2**2*TH3x4**2)/(4.*sw**2) - (ee**2*mh2**2*sw**2*TH2x2**2*TH3x4**2)/(2.*cw**2) - (ee**2*mh4**2*sw**2*TH2x2**2*TH3x4**2)/(2.*cw**2) + (ee**2*mh2**4*sw**2*TH2x2**2*TH3x4**2)/(4.*cw**2*MZ**2) - (ee**2*mh2**2*mh4**2*sw**2*TH2x2**2*TH3x4**2)/(2.*cw**2*MZ**2) + (ee**2*mh4**4*sw**2*TH2x2**2*TH3x4**2)/(4.*cw**2*MZ**2) + (ee**2*MZ**2*sw**2*TH2x2**2*TH3x4**2)/(4.*cw**2))*cmath.sqrt(mh2**4 - 2*mh2**2*mh4**2 + mh4**4 - 2*mh2**2*MZ**2 - 2*mh4**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.h__minus__,P.h__plus__):'((2*ee**2*mhc**2 - (ee**2*MZ**2)/2. - (cw**2*ee**2*mhc**2)/sw**2 + (cw**2*ee**2*MZ**2)/(4.*sw**2) - (ee**2*mhc**2*sw**2)/cw**2 + (ee**2*MZ**2*sw**2)/(4.*cw**2))*cmath.sqrt(-4*mhc**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.mu__minus__,P.mu__plus__):'((-5*ee**2*MMU**2 - ee**2*MZ**2 - (cw**2*ee**2*MMU**2)/(2.*sw**2) + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (7*ee**2*MMU**2*sw**2)/(2.*cw**2) + (5*ee**2*MZ**2*sw**2)/(2.*cw**2))*cmath.sqrt(-4*MMU**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.s,P.s__tilde__):'((-7*ee**2*MS**2 + ee**2*MZ**2 - (3*cw**2*ee**2*MS**2)/(2.*sw**2) + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) - (17*ee**2*MS**2*sw**2)/(6.*cw**2) + (5*ee**2*MZ**2*sw**2)/(6.*cw**2))*cmath.sqrt(-4*MS**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.t,P.t__tilde__):'((-11*ee**2*MT**2 - ee**2*MZ**2 - (3*cw**2*ee**2*MT**2)/(2.*sw**2) + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) + (7*ee**2*MT**2*sw**2)/(6.*cw**2) + (17*ee**2*MZ**2*sw**2)/(6.*cw**2))*cmath.sqrt(-4*MT**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.ta__minus__,P.ta__plus__):'((-5*ee**2*MTA**2 - ee**2*MZ**2 - (cw**2*ee**2*MTA**2)/(2.*sw**2) + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (7*ee**2*MTA**2*sw**2)/(2.*cw**2) + (5*ee**2*MZ**2*sw**2)/(2.*cw**2))*cmath.sqrt(-4*MTA**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.u,P.u__tilde__):'((-11*ee**2*MU**2 - ee**2*MZ**2 - (3*cw**2*ee**2*MU**2)/(2.*sw**2) + (3*cw**2*ee**2*MZ**2)/(2.*sw**2) + (7*ee**2*MU**2*sw**2)/(6.*cw**2) + (17*ee**2*MZ**2*sw**2)/(6.*cw**2))*cmath.sqrt(-4*MU**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.ve,P.ve__tilde__):'(MZ**2*(ee**2*MZ**2 + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (ee**2*MZ**2*sw**2)/(2.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.vm,P.vm__tilde__):'(MZ**2*(ee**2*MZ**2 + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (ee**2*MZ**2*sw**2)/(2.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.vt,P.vt__tilde__):'(MZ**2*(ee**2*MZ**2 + (cw**2*ee**2*MZ**2)/(2.*sw**2) + (ee**2*MZ**2*sw**2)/(2.*cw**2)))/(48.*cmath.pi*abs(MZ)**3)',
+                                  (P.W__minus__,P.W__plus__):'(((-12*cw**2*ee**2*MW**2)/sw**2 - (17*cw**2*ee**2*MZ**2)/sw**2 + (4*cw**2*ee**2*MZ**4)/(MW**2*sw**2) + (cw**2*ee**2*MZ**6)/(4.*MW**4*sw**2))*cmath.sqrt(-4*MW**2*MZ**2 + MZ**4))/(48.*cmath.pi*abs(MZ)**3)'})
+
diff --git a/DM/Pseudoscalar_2HDMI/function_library.py b/DM/Pseudoscalar_2HDMI/function_library.py
new file mode 100644
index 00000000..c96d23f8
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/function_library.py
@@ -0,0 +1,71 @@
+# This file is part of the UFO.
+#
+# This file contains definitions for functions that
+# are extensions of the cmath library, and correspond
+# either to functions that are in cmath, but inconvenient
+# to access from there (e.g. z.conjugate()),
+# or functions that are simply not defined.
+#
+#
+
+__date__ = "22 July 2010"
+__author__ = "claude.duhr@durham.ac.uk"
+
+import cmath
+from object_library import all_functions, Function
+
+#
+# shortcuts for functions from cmath
+#
+
+complexconjugate = Function(name = 'complexconjugate',
+                            arguments = ('z',),
+                            expression = 'z.conjugate()')
+
+
+re = Function(name = 're',
+              arguments = ('z',),
+              expression = 'z.real')
+
+im = Function(name = 'im',
+              arguments = ('z',),
+              expression = 'z.imag')
+
+# New functions (trigonometric)
+
+sec = Function(name = 'sec',
+             arguments = ('z',),
+             expression = '1./cmath.cos(z.real)')
+
+asec = Function(name = 'asec',
+             arguments = ('z',),
+             expression = 'cmath.acos(1./(z.real))')
+
+csc = Function(name = 'csc',
+             arguments = ('z',),
+             expression = '1./cmath.sin(z.real)')
+
+acsc = Function(name = 'acsc',
+             arguments = ('z',),
+             expression = 'cmath.asin(1./(z.real))')
+
+cot = Function(name = 'cot',
+               arguments = ('z',),
+               expression = '1./cmath.tan(z.real)')
+
+# Heaviside theta function
+
+theta_function = Function(name = 'theta_function',
+             arguments = ('x','y','z'),
+             expression = 'y if x else z')
+
+# Auxiliary functions for NLO
+
+cond = Function(name = 'cond',
+                arguments = ('condition','ExprTrue','ExprFalse'),
+                expression = '(ExprTrue if condition==0.0 else ExprFalse)')
+
+reglog = Function(name = 'reglog',
+                arguments = ('z'),
+                expression = '(0.0 if z==0.0 else cmath.log(z.real))')
+
diff --git a/DM/Pseudoscalar_2HDMI/lorentz.py b/DM/Pseudoscalar_2HDMI/lorentz.py
new file mode 100644
index 00000000..96418613
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/lorentz.py
@@ -0,0 +1,162 @@
+# This file was automatically created by FeynRules 2.3.43
+# Mathematica version: 12.1.0 for Mac OS X x86 (64-bit) (March 14, 2020)
+# Date: Wed 3 May 2023 19:36:55
+
+
+from object_library import all_lorentz, Lorentz
+
+from function_library import complexconjugate, re, im, csc, sec, acsc, asec, cot
+try:
+   import form_factors as ForFac 
+except ImportError:
+   pass
+
+
+FF1 = Lorentz(name = 'FF1',
+              spins = [ 2, 2 ],
+              structure = 'ProjM(2,1)')
+
+FF2 = Lorentz(name = 'FF2',
+              spins = [ 2, 2 ],
+              structure = 'P(-1,1)*Gamma(-1,2,-2)*ProjM(-2,1)')
+
+FF3 = Lorentz(name = 'FF3',
+              spins = [ 2, 2 ],
+              structure = 'ProjP(2,1)')
+
+FF4 = Lorentz(name = 'FF4',
+              spins = [ 2, 2 ],
+              structure = 'P(-1,1)*Gamma(-1,2,-2)*ProjP(-2,1)')
+
+VV1 = Lorentz(name = 'VV1',
+              spins = [ 3, 3 ],
+              structure = 'P(1,2)*P(2,2)')
+
+VV2 = Lorentz(name = 'VV2',
+              spins = [ 3, 3 ],
+              structure = 'Metric(1,2)')
+
+VV3 = Lorentz(name = 'VV3',
+              spins = [ 3, 3 ],
+              structure = 'P(-1,2)**2*Metric(1,2)')
+
+UUS1 = Lorentz(name = 'UUS1',
+               spins = [ -1, -1, 1 ],
+               structure = '1')
+
+UUV1 = Lorentz(name = 'UUV1',
+               spins = [ -1, -1, 3 ],
+               structure = 'P(3,2) + P(3,3)')
+
+SSS1 = Lorentz(name = 'SSS1',
+               spins = [ 1, 1, 1 ],
+               structure = '1')
+
+FFS1 = Lorentz(name = 'FFS1',
+               spins = [ 2, 2, 1 ],
+               structure = 'Gamma5(2,1)')
+
+FFS2 = Lorentz(name = 'FFS2',
+               spins = [ 2, 2, 1 ],
+               structure = 'Identity(2,1)')
+
+FFS3 = Lorentz(name = 'FFS3',
+               spins = [ 2, 2, 1 ],
+               structure = 'ProjM(2,1)')
+
+FFS4 = Lorentz(name = 'FFS4',
+               spins = [ 2, 2, 1 ],
+               structure = 'ProjM(2,1) - ProjP(2,1)')
+
+FFS5 = Lorentz(name = 'FFS5',
+               spins = [ 2, 2, 1 ],
+               structure = 'ProjP(2,1)')
+
+FFS6 = Lorentz(name = 'FFS6',
+               spins = [ 2, 2, 1 ],
+               structure = 'ProjM(2,1) + ProjP(2,1)')
+
+FFV1 = Lorentz(name = 'FFV1',
+               spins = [ 2, 2, 3 ],
+               structure = 'Gamma(3,2,1)')
+
+FFV2 = Lorentz(name = 'FFV2',
+               spins = [ 2, 2, 3 ],
+               structure = 'Gamma(3,2,-1)*ProjM(-1,1)')
+
+FFV3 = Lorentz(name = 'FFV3',
+               spins = [ 2, 2, 3 ],
+               structure = 'Gamma(3,2,-1)*ProjP(-1,1)')
+
+FFV4 = Lorentz(name = 'FFV4',
+               spins = [ 2, 2, 3 ],
+               structure = 'Gamma(3,2,-1)*ProjM(-1,1) + Gamma(3,2,-1)*ProjP(-1,1)')
+
+VSS1 = Lorentz(name = 'VSS1',
+               spins = [ 3, 1, 1 ],
+               structure = 'P(1,2) - P(1,3)')
+
+VVS1 = Lorentz(name = 'VVS1',
+               spins = [ 3, 3, 1 ],
+               structure = 'Metric(1,2)')
+
+VVV1 = Lorentz(name = 'VVV1',
+               spins = [ 3, 3, 3 ],
+               structure = 'P(3,1)*Metric(1,2) - 3*P(3,2)*Metric(1,2) - P(3,3)*Metric(1,2) - P(2,1)*Metric(1,3) + P(2,2)*Metric(1,3) + 3*P(2,3)*Metric(1,3) + 2*P(1,2)*Metric(2,3) - 2*P(1,3)*Metric(2,3)')
+
+VVV2 = Lorentz(name = 'VVV2',
+               spins = [ 3, 3, 3 ],
+               structure = 'P(3,1)*Metric(1,2) - P(3,2)*Metric(1,2) - P(2,1)*Metric(1,3) + P(2,3)*Metric(1,3) + P(1,2)*Metric(2,3) - P(1,3)*Metric(2,3)')
+
+VVV3 = Lorentz(name = 'VVV3',
+               spins = [ 3, 3, 3 ],
+               structure = 'P(3,1)*Metric(1,2) - (11*P(3,2)*Metric(1,2))/17. + (3*P(3,3)*Metric(1,2))/17. - P(2,1)*Metric(1,3) - (3*P(2,2)*Metric(1,3))/17. + (11*P(2,3)*Metric(1,3))/17. + (14*P(1,2)*Metric(2,3))/17. - (14*P(1,3)*Metric(2,3))/17.')
+
+SSSS1 = Lorentz(name = 'SSSS1',
+                spins = [ 1, 1, 1, 1 ],
+                structure = '1')
+
+VVSS1 = Lorentz(name = 'VVSS1',
+                spins = [ 3, 3, 1, 1 ],
+                structure = 'Metric(1,2)')
+
+VVVV1 = Lorentz(name = 'VVVV1',
+                spins = [ 3, 3, 3, 3 ],
+                structure = 'Epsilon(1,2,3,4)')
+
+VVVV2 = Lorentz(name = 'VVVV2',
+                spins = [ 3, 3, 3, 3 ],
+                structure = 'Metric(1,4)*Metric(2,3)')
+
+VVVV3 = Lorentz(name = 'VVVV3',
+                spins = [ 3, 3, 3, 3 ],
+                structure = 'Metric(1,3)*Metric(2,4)')
+
+VVVV4 = Lorentz(name = 'VVVV4',
+                spins = [ 3, 3, 3, 3 ],
+                structure = 'Metric(1,4)*Metric(2,3) - Metric(1,3)*Metric(2,4)')
+
+VVVV5 = Lorentz(name = 'VVVV5',
+                spins = [ 3, 3, 3, 3 ],
+                structure = 'Metric(1,2)*Metric(3,4)')
+
+VVVV6 = Lorentz(name = 'VVVV6',
+                spins = [ 3, 3, 3, 3 ],
+                structure = 'Metric(1,4)*Metric(2,3) + Metric(1,3)*Metric(2,4) - 2*Metric(1,2)*Metric(3,4)')
+
+VVVV7 = Lorentz(name = 'VVVV7',
+                spins = [ 3, 3, 3, 3 ],
+                structure = 'Metric(1,4)*Metric(2,3) - Metric(1,2)*Metric(3,4)')
+
+VVVV8 = Lorentz(name = 'VVVV8',
+                spins = [ 3, 3, 3, 3 ],
+                structure = 'Metric(1,3)*Metric(2,4) - Metric(1,2)*Metric(3,4)')
+
+VVVV9 = Lorentz(name = 'VVVV9',
+                spins = [ 3, 3, 3, 3 ],
+                structure = 'Metric(1,4)*Metric(2,3) - (Metric(1,3)*Metric(2,4))/2. - (Metric(1,2)*Metric(3,4))/2.')
+
+VVVV10 = Lorentz(name = 'VVVV10',
+                 spins = [ 3, 3, 3, 3 ],
+                 structure = 'Metric(1,4)*Metric(2,3) + Metric(1,3)*Metric(2,4) + Metric(1,2)*Metric(3,4)')
+
diff --git a/DM/Pseudoscalar_2HDMI/object_library.py b/DM/Pseudoscalar_2HDMI/object_library.py
new file mode 100644
index 00000000..f6db1c00
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/object_library.py
@@ -0,0 +1,373 @@
+##
+##
+## Feynrules Header
+##
+##
+##
+##
+##
+
+import cmath
+import re
+
+class UFOError(Exception):
+        """Exception raised if when inconsistencies are detected in the UFO model."""
+        pass
+
+class UFOBaseClass(object):
+    """The class from which all FeynRules classes are derived."""
+
+    require_args = []
+
+    def __init__(self, *args, **options):
+        assert(len(self.require_args) == len (args))
+    
+        for i, name in enumerate(self.require_args):
+            setattr(self, name, args[i])
+    
+        for (option, value) in options.items():
+            setattr(self, option, value)
+
+    def get(self, name):
+        return getattr(self, name)
+    
+    def set(self, name, value):
+        setattr(self, name, value)
+        
+    def get_all(self):
+        """Return a dictionary containing all the information of the object"""
+        return self.__dict__
+
+    def __str__(self):
+        return self.name
+
+    def nice_string(self):
+        """ return string with the full information """
+        return '\n'.join(['%s \t: %s' %(name, value) for name, value in self.__dict__.items()])
+
+    def __repr__(self):
+        replacements = [
+            ('+','__plus__'),
+            ('-','__minus__'),
+            ('@','__at__'),
+            ('!','__exclam__'),
+            ('?','__quest__'),
+            ('*','__star__'),
+            ('~','__tilde__')
+            ]
+        text = self.name
+        for orig,sub in replacements:
+            text = text.replace(orig,sub)
+        return text
+
+
+
+all_particles = []
+
+class Particle(UFOBaseClass):
+    """A standard Particle"""
+
+    require_args=['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname', 'charge']
+
+    require_args_all = ['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname','counterterm','charge', 'line', 'propagating', 'goldstoneboson', 'propagator']
+
+    def __init__(self, pdg_code, name, antiname, spin, color, mass, width, texname,
+                 antitexname, charge , line=None, propagating=True, counterterm=None, goldstoneboson=False, 
+                 propagator=None, **options):
+
+        args= (pdg_code, name, antiname, spin, color, mass, width, texname,
+                antitexname, float(charge))
+
+        UFOBaseClass.__init__(self, *args,  **options)
+
+        global all_particles
+        all_particles.append(self)
+
+        self.propagating = propagating
+        self.goldstoneboson= goldstoneboson
+
+        self.selfconjugate = (name == antiname)
+        if not line:                                                                                                                                                                                   
+            self.line = self.find_line_type()
+        else:
+            self.line = line
+
+        if propagator:
+            if isinstance(propagator, dict):
+                self.propagator = propagator
+            else:
+                self.propagator = {0: propagator, 1: propagator}
+             
+    def find_line_type(self):
+        """ find how we draw a line if not defined
+        valid output: dashed/straight/wavy/curly/double/swavy/scurly
+        """
+        
+        spin = self.spin
+        color = self.color
+        
+        #use default
+        if spin == 1:
+            return 'dashed'
+        elif spin == 2:
+            if not self.selfconjugate:
+                return 'straight'
+            elif color == 1:
+                return 'swavy'
+            else:
+                return 'scurly'
+        elif spin == 3:
+            if color == 1:
+                return 'wavy'
+            
+            else:
+                return 'curly'
+        elif spin == 5:
+            return 'double'
+        elif spin == -1:
+            return 'dotted'
+        else:
+            return 'dashed' # not supported yet
+        
+    def anti(self):
+        if self.selfconjugate:
+            raise Exception('%s has no anti particle.' % self.name) 
+        outdic = {}
+        for k,v in self.__dict__.items():
+            if k not in self.require_args_all:                
+                outdic[k] = -v
+        if self.color in [1,8]:
+            newcolor = self.color
+        else:
+            newcolor = -self.color
+                
+        return Particle(-self.pdg_code, self.antiname, self.name, self.spin, newcolor, self.mass, self.width,
+                        self.antitexname, self.texname, -self.charge, self.line, self.propagating, self.goldstoneboson, **outdic)
+
+
+
+all_parameters = []
+
+class Parameter(UFOBaseClass):
+
+    require_args=['name', 'nature', 'type', 'value', 'texname']
+
+    def __init__(self, name, nature, type, value, texname, lhablock=None, lhacode=None):
+
+        args = (name,nature,type,value,texname)
+
+        UFOBaseClass.__init__(self, *args)
+
+        args=(name,nature,type,value,texname)
+
+        global all_parameters
+        all_parameters.append(self)
+
+        if (lhablock is None or lhacode is None)  and nature == 'external':
+            raise Exception('Need LHA information for external parameter "%s".' % name)
+        self.lhablock = lhablock
+        self.lhacode = lhacode
+
+all_CTparameters = []
+
+class CTParameter(UFOBaseClass):
+
+    require_args=['name', 'type', 'value', 'texname']
+
+    def __init__(self, name, type, value, texname):
+
+        args = (name,type,value,texname)
+
+        UFOBaseClass.__init__(self, *args)
+
+        global all_CTparameters
+        all_CTparameters.append(self)
+
+    def finite(self):
+        try:
+            return self.value[0]
+        except KeyError:
+            return 'ZERO'
+    
+    def pole(self, x):
+        try:
+            return self.value[-x]
+        except KeyError:
+            return 'ZERO'
+
+all_vertices = []
+
+class Vertex(UFOBaseClass):
+
+    require_args=['name', 'particles', 'color', 'lorentz', 'couplings']
+
+    def __init__(self, name, particles, color, lorentz, couplings, **opt):
+ 
+        args = (name, particles, color, lorentz, couplings)
+
+        UFOBaseClass.__init__(self, *args, **opt)
+
+        args=(particles,color,lorentz,couplings)
+
+        global all_vertices
+        all_vertices.append(self)
+
+all_CTvertices = []
+
+class CTVertex(UFOBaseClass):
+
+    require_args=['name', 'particles', 'color', 'lorentz', 'couplings', 'type', 'loop_particles']
+
+    def __init__(self, name, particles, color, lorentz, couplings, type, loop_particles, **opt):
+ 
+        args = (name, particles, color, lorentz, couplings, type, loop_particles)
+
+        UFOBaseClass.__init__(self, *args, **opt)
+
+        args=(particles,color,lorentz,couplings, type, loop_particles)
+        
+        global all_CTvertices
+        all_CTvertices.append(self)
+
+all_couplings = []
+
+class Coupling(UFOBaseClass):
+
+    require_args=['name', 'value', 'order']
+
+    require_args_all=['name', 'value', 'order', 'loop_particles', 'counterterm']
+
+    def __init__(self, name, value, order, **opt):
+
+        args =(name, value, order)	
+        UFOBaseClass.__init__(self, *args, **opt)
+        global all_couplings
+        all_couplings.append(self)
+
+    def value(self):
+        return self.pole(0)
+
+    def pole(self, x):
+        """ the self.value attribute can be a dictionary directly specifying the Laurent serie using normal
+        parameter or just a string which can possibly contain CTparameter defining the Laurent serie."""
+        
+        if isinstance(self.value,dict):
+            if -x in self.value.keys():
+                return self.value[-x]
+            else:
+                return 'ZERO'
+
+        CTparam=None
+        for param in all_CTparameters:
+           pattern=re.compile(r"(?P<first>\A|\*|\+|\-|\()(?P<name>"+param.name+r")(?P<second>\Z|\*|\+|\-|\))")
+           numberOfMatches=len(pattern.findall(self.value))
+           if numberOfMatches==1:
+               if not CTparam:
+                   CTparam=param
+               else:
+                   raise UFOError("UFO does not support yet more than one occurence of CTParameters in the couplings values.")
+           elif numberOfMatches>1:
+               raise UFOError("UFO does not support yet more than one occurence of CTParameters in the couplings values.")
+
+        if not CTparam:
+            if x==0:
+                return self.value
+            else:
+                return 'ZERO'
+        else:
+            if CTparam.pole(x)=='ZERO':
+                return 'ZERO'
+            else:
+                def substitution(matchedObj):
+                    return matchedObj.group('first')+"("+CTparam.pole(x)+")"+matchedObj.group('second')
+                pattern=re.compile(r"(?P<first>\A|\*|\+|\-|\()(?P<name>"+CTparam.name+r")(?P<second>\Z|\*|\+|\-|\))")
+                return pattern.sub(substitution,self.value)
+
+all_lorentz = []
+
+class Lorentz(UFOBaseClass):
+
+    require_args=['name','spins','structure']
+    
+    def __init__(self, name, spins, structure='external', **opt):
+        args = (name, spins, structure)
+        UFOBaseClass.__init__(self, *args, **opt)
+
+        global all_lorentz
+        all_lorentz.append(self)
+
+
+all_functions = []
+
+class Function(object):
+
+    def __init__(self, name, arguments, expression):
+
+        global all_functions
+        all_functions.append(self)
+
+        self.name = name
+        self.arguments = arguments
+        self.expr = expression
+    
+    def __call__(self, *opt):
+
+        for i, arg in enumerate(self.arguments):
+            exec('%s = %s' % (arg, opt[i] ))
+
+        return eval(self.expr)
+
+all_orders = []
+
+class CouplingOrder(object):
+
+    def __init__(self, name, expansion_order, hierarchy, perturbative_expansion = 0):
+        
+        global all_orders
+        all_orders.append(self)
+
+        self.name = name
+        self.expansion_order = expansion_order
+        self.hierarchy = hierarchy
+        self.perturbative_expansion = perturbative_expansion
+
+all_decays = []
+
+class Decay(UFOBaseClass):
+    require_args = ['particle','partial_widths']
+
+    def __init__(self, particle, partial_widths, **opt):
+        args = (particle, partial_widths)
+        UFOBaseClass.__init__(self, *args, **opt)
+
+        global all_decays
+        all_decays.append(self)
+    
+        # Add the information directly to the particle
+        particle.partial_widths = partial_widths
+
+all_form_factors = []
+
+class FormFactor(UFOBaseClass):
+    require_args = ['name','type','value']
+
+    def __init__(self, name, type, value, **opt):
+        args = (name, type, value)
+        UFOBaseClass.__init__(self, *args, **opt)
+
+        global all_form_factors
+        all_form_factors.append(self)
+
+        
+all_propagators = []
+
+class Propagator(UFOBaseClass):
+    
+    require_args = ['name','numerator','denominator']
+
+    def __init__(self, name, numerator, denominator=None, **opt):
+        args = (name, numerator, denominator)
+        UFOBaseClass.__init__(self, *args, **opt)
+
+        global all_propagators
+        all_propagators.append(self)
diff --git a/DM/Pseudoscalar_2HDMI/parameters.py b/DM/Pseudoscalar_2HDMI/parameters.py
new file mode 100644
index 00000000..cba0080c
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/parameters.py
@@ -0,0 +1,786 @@
+# This file was automatically created by FeynRules 2.3.43
+# Mathematica version: 12.1.0 for Mac OS X x86 (64-bit) (March 14, 2020)
+# Date: Wed 3 May 2023 19:36:55
+
+
+
+from object_library import all_parameters, Parameter
+
+
+from function_library import complexconjugate, re, im, csc, sec, acsc, asec, cot
+
+# This is a default parameter object representing 0.
+ZERO = Parameter(name = 'ZERO',
+                 nature = 'internal',
+                 type = 'real',
+                 value = '0.0',
+                 texname = '0')
+
+# This is a default parameter object representing the renormalization scale (MU_R).
+MU_R = Parameter(name = 'MU_R',
+                 nature = 'external',
+                 type = 'real',
+                 value = 91.188,
+                 texname = '\\text{\\mu_r}',
+                 lhablock = 'LOOP',
+                 lhacode = [1])
+
+# User-defined parameters.
+gPXd = Parameter(name = 'gPXd',
+                 nature = 'external',
+                 type = 'real',
+                 value = 1.,
+                 texname = 'g_{\\text{PXd}}',
+                 lhablock = 'DMINPUTS',
+                 lhacode = [ 1 ])
+
+lam3 = Parameter(name = 'lam3',
+                 nature = 'external',
+                 type = 'real',
+                 value = 0.,
+                 texname = '\\text{lam3}',
+                 lhablock = 'Higgs',
+                 lhacode = [ 1 ])
+
+laP1 = Parameter(name = 'laP1',
+                 nature = 'external',
+                 type = 'real',
+                 value = 0.,
+                 texname = '\\text{laP1}',
+                 lhablock = 'Higgs',
+                 lhacode = [ 2 ])
+
+laP2 = Parameter(name = 'laP2',
+                 nature = 'external',
+                 type = 'real',
+                 value = 0.,
+                 texname = '\\text{laP2}',
+                 lhablock = 'Higgs',
+                 lhacode = [ 3 ])
+
+sinp = Parameter(name = 'sinp',
+                 nature = 'external',
+                 type = 'real',
+                 value = 0.707107,
+                 texname = '\\text{sinp}',
+                 lhablock = 'Higgs',
+                 lhacode = [ 5 ])
+
+aEWM1 = Parameter(name = 'aEWM1',
+                  nature = 'external',
+                  type = 'real',
+                  value = 127.9,
+                  texname = '\\text{aEWM1}',
+                  lhablock = 'SMINPUTS',
+                  lhacode = [ 1 ])
+
+Gf = Parameter(name = 'Gf',
+               nature = 'external',
+               type = 'real',
+               value = 0.000011663900000000002,
+               texname = '\\text{Gf}',
+               lhablock = 'SMINPUTS',
+               lhacode = [ 2 ])
+
+aS = Parameter(name = 'aS',
+               nature = 'external',
+               type = 'real',
+               value = 0.118,
+               texname = '\\text{aS}',
+               lhablock = 'SMINPUTS',
+               lhacode = [ 3 ])
+
+ymdo = Parameter(name = 'ymdo',
+                 nature = 'external',
+                 type = 'real',
+                 value = 0.00504,
+                 texname = '\\text{ymdo}',
+                 lhablock = 'YUKAWA',
+                 lhacode = [ 1 ])
+
+ymup = Parameter(name = 'ymup',
+                 nature = 'external',
+                 type = 'real',
+                 value = 0.00255,
+                 texname = '\\text{ymup}',
+                 lhablock = 'YUKAWA',
+                 lhacode = [ 2 ])
+
+yms = Parameter(name = 'yms',
+                nature = 'external',
+                type = 'real',
+                value = 0.101,
+                texname = '\\text{yms}',
+                lhablock = 'YUKAWA',
+                lhacode = [ 3 ])
+
+ymc = Parameter(name = 'ymc',
+                nature = 'external',
+                type = 'real',
+                value = 1.27,
+                texname = '\\text{ymc}',
+                lhablock = 'YUKAWA',
+                lhacode = [ 4 ])
+
+ymb = Parameter(name = 'ymb',
+                nature = 'external',
+                type = 'real',
+                value = 4.7,
+                texname = '\\text{ymb}',
+                lhablock = 'YUKAWA',
+                lhacode = [ 5 ])
+
+ymt = Parameter(name = 'ymt',
+                nature = 'external',
+                type = 'real',
+                value = 172,
+                texname = '\\text{ymt}',
+                lhablock = 'YUKAWA',
+                lhacode = [ 6 ])
+
+yme = Parameter(name = 'yme',
+                nature = 'external',
+                type = 'real',
+                value = 0.000511,
+                texname = '\\text{yme}',
+                lhablock = 'YUKAWA',
+                lhacode = [ 11 ])
+
+ymm = Parameter(name = 'ymm',
+                nature = 'external',
+                type = 'real',
+                value = 0.10566,
+                texname = '\\text{ymm}',
+                lhablock = 'YUKAWA',
+                lhacode = [ 13 ])
+
+ymtau = Parameter(name = 'ymtau',
+                  nature = 'external',
+                  type = 'real',
+                  value = 1.777,
+                  texname = '\\text{ymtau}',
+                  lhablock = 'YUKAWA',
+                  lhacode = [ 15 ])
+
+tanbeta = Parameter(name = 'tanbeta',
+                    nature = 'external',
+                    type = 'real',
+                    value = 1.,
+                    texname = '\\text{tanbeta}',
+                    lhablock = 'FRBlock',
+                    lhacode = [ 2 ])
+
+sinbma = Parameter(name = 'sinbma',
+                   nature = 'external',
+                   type = 'real',
+                   value = 1.,
+                   texname = '\\text{sinbma}',
+                   lhablock = 'FRBlock',
+                   lhacode = [ 3 ])
+
+MZ = Parameter(name = 'MZ',
+               nature = 'external',
+               type = 'real',
+               value = 91.1876,
+               texname = '\\text{MZ}',
+               lhablock = 'MASS',
+               lhacode = [ 23 ])
+
+Me = Parameter(name = 'Me',
+               nature = 'external',
+               type = 'real',
+               value = 0.000511,
+               texname = '\\text{Me}',
+               lhablock = 'MASS',
+               lhacode = [ 11 ])
+
+MMU = Parameter(name = 'MMU',
+                nature = 'external',
+                type = 'real',
+                value = 0.10566,
+                texname = '\\text{MMU}',
+                lhablock = 'MASS',
+                lhacode = [ 13 ])
+
+MTA = Parameter(name = 'MTA',
+                nature = 'external',
+                type = 'real',
+                value = 1.777,
+                texname = '\\text{MTA}',
+                lhablock = 'MASS',
+                lhacode = [ 15 ])
+
+MU = Parameter(name = 'MU',
+               nature = 'external',
+               type = 'real',
+               value = 0.00255,
+               texname = 'M',
+               lhablock = 'MASS',
+               lhacode = [ 2 ])
+
+MC = Parameter(name = 'MC',
+               nature = 'external',
+               type = 'real',
+               value = 1.27,
+               texname = '\\text{MC}',
+               lhablock = 'MASS',
+               lhacode = [ 4 ])
+
+MT = Parameter(name = 'MT',
+               nature = 'external',
+               type = 'real',
+               value = 172,
+               texname = '\\text{MT}',
+               lhablock = 'MASS',
+               lhacode = [ 6 ])
+
+MD = Parameter(name = 'MD',
+               nature = 'external',
+               type = 'real',
+               value = 0.00504,
+               texname = '\\text{MD}',
+               lhablock = 'MASS',
+               lhacode = [ 1 ])
+
+MS = Parameter(name = 'MS',
+               nature = 'external',
+               type = 'real',
+               value = 0.101,
+               texname = '\\text{MS}',
+               lhablock = 'MASS',
+               lhacode = [ 3 ])
+
+MB = Parameter(name = 'MB',
+               nature = 'external',
+               type = 'real',
+               value = 4.7,
+               texname = '\\text{MB}',
+               lhablock = 'MASS',
+               lhacode = [ 5 ])
+
+mhc = Parameter(name = 'mhc',
+                nature = 'external',
+                type = 'real',
+                value = 750,
+                texname = '\\text{mhc}',
+                lhablock = 'MASS',
+                lhacode = [ 37 ])
+
+mh1 = Parameter(name = 'mh1',
+                nature = 'external',
+                type = 'real',
+                value = 125,
+                texname = '\\text{mh1}',
+                lhablock = 'MASS',
+                lhacode = [ 25 ])
+
+mh2 = Parameter(name = 'mh2',
+                nature = 'external',
+                type = 'real',
+                value = 750,
+                texname = '\\text{mh2}',
+                lhablock = 'MASS',
+                lhacode = [ 35 ])
+
+mh3 = Parameter(name = 'mh3',
+                nature = 'external',
+                type = 'real',
+                value = 500,
+                texname = '\\text{mh3}',
+                lhablock = 'MASS',
+                lhacode = [ 36 ])
+
+mh4 = Parameter(name = 'mh4',
+                nature = 'external',
+                type = 'real',
+                value = 200,
+                texname = '\\text{mh4}',
+                lhablock = 'MASS',
+                lhacode = [ 55 ])
+
+MXd = Parameter(name = 'MXd',
+                nature = 'external',
+                type = 'real',
+                value = 1.,
+                texname = '\\text{MXd}',
+                lhablock = 'MASS',
+                lhacode = [ 52 ])
+
+WZ = Parameter(name = 'WZ',
+               nature = 'external',
+               type = 'real',
+               value = 2.4952,
+               texname = '\\text{WZ}',
+               lhablock = 'DECAY',
+               lhacode = [ 23 ])
+
+WW = Parameter(name = 'WW',
+               nature = 'external',
+               type = 'real',
+               value = 2.085,
+               texname = '\\text{WW}',
+               lhablock = 'DECAY',
+               lhacode = [ 24 ])
+
+WT = Parameter(name = 'WT',
+               nature = 'external',
+               type = 'real',
+               value = 1.50833649,
+               texname = '\\text{WT}',
+               lhablock = 'DECAY',
+               lhacode = [ 6 ])
+
+whc = Parameter(name = 'whc',
+                nature = 'external',
+                type = 'real',
+                value = 1,
+                texname = '\\text{whc}',
+                lhablock = 'DECAY',
+                lhacode = [ 37 ])
+
+Wh1 = Parameter(name = 'Wh1',
+                nature = 'external',
+                type = 'real',
+                value = 1,
+                texname = '\\text{Wh1}',
+                lhablock = 'DECAY',
+                lhacode = [ 25 ])
+
+Wh2 = Parameter(name = 'Wh2',
+                nature = 'external',
+                type = 'real',
+                value = 1,
+                texname = '\\text{Wh2}',
+                lhablock = 'DECAY',
+                lhacode = [ 35 ])
+
+Wh3 = Parameter(name = 'Wh3',
+                nature = 'external',
+                type = 'real',
+                value = 1,
+                texname = '\\text{Wh3}',
+                lhablock = 'DECAY',
+                lhacode = [ 36 ])
+
+Wh4 = Parameter(name = 'Wh4',
+                nature = 'external',
+                type = 'real',
+                value = 1,
+                texname = '\\text{Wh4}',
+                lhablock = 'DECAY',
+                lhacode = [ 55 ])
+
+dm2 = Parameter(name = 'dm2',
+                nature = 'internal',
+                type = 'real',
+                value = '-mh1**2 + mh2**2',
+                texname = '\\text{dm2}')
+
+mA = Parameter(name = 'mA',
+               nature = 'internal',
+               type = 'real',
+               value = 'cmath.sqrt(mh3**2 + mh4**2 + (mh3**2 - mh4**2)*cmath.cos(2*cmath.asin(sinp)))/cmath.sqrt(2)',
+               texname = '\\text{mA}')
+
+mP = Parameter(name = 'mP',
+               nature = 'internal',
+               type = 'real',
+               value = 'cmath.sqrt(mh3**2 + mh4**2 + (-mh3**2 + mh4**2)*cmath.cos(2*cmath.asin(sinp)))/cmath.sqrt(2)',
+               texname = '\\text{mP}')
+
+mu1 = Parameter(name = 'mu1',
+                nature = 'internal',
+                type = 'real',
+                value = '(-mh1**2 - mh2**2 + (-mh1**2 + mh2**2)*cmath.cos(2*(cmath.pi/2. - cmath.asin(sinbma))))/4.',
+                texname = '\\text{mu1}')
+
+mu3 = Parameter(name = 'mu3',
+                nature = 'internal',
+                type = 'real',
+                value = '-((-mh1**2 + mh2**2)*cmath.sin(2*(cmath.pi/2. - cmath.asin(sinbma))))/4.',
+                texname = '\\text{mu3}')
+
+TH1x1 = Parameter(name = 'TH1x1',
+                  nature = 'internal',
+                  type = 'real',
+                  value = 'sinbma',
+                  texname = '\\text{TH1x1}')
+
+TH1x2 = Parameter(name = 'TH1x2',
+                  nature = 'internal',
+                  type = 'real',
+                  value = 'cmath.sqrt(1 - sinbma**2)',
+                  texname = '\\text{TH1x2}')
+
+TH2x1 = Parameter(name = 'TH2x1',
+                  nature = 'internal',
+                  type = 'real',
+                  value = '-cmath.sqrt(1 - sinbma**2)',
+                  texname = '\\text{TH2x1}')
+
+TH2x2 = Parameter(name = 'TH2x2',
+                  nature = 'internal',
+                  type = 'real',
+                  value = 'sinbma',
+                  texname = '\\text{TH2x2}')
+
+TH3x3 = Parameter(name = 'TH3x3',
+                  nature = 'internal',
+                  type = 'real',
+                  value = 'cmath.sqrt(1 - sinp**2)',
+                  texname = '\\text{TH3x3}')
+
+TH3x4 = Parameter(name = 'TH3x4',
+                  nature = 'internal',
+                  type = 'real',
+                  value = 'sinp',
+                  texname = '\\text{TH3x4}')
+
+TH4x3 = Parameter(name = 'TH4x3',
+                  nature = 'internal',
+                  type = 'real',
+                  value = '-sinp',
+                  texname = '\\text{TH4x3}')
+
+TH4x4 = Parameter(name = 'TH4x4',
+                  nature = 'internal',
+                  type = 'real',
+                  value = 'cmath.sqrt(1 - sinp**2)',
+                  texname = '\\text{TH4x4}')
+
+tmc = Parameter(name = 'tmc',
+                nature = 'internal',
+                type = 'real',
+                value = '-(1/tanbeta) + tanbeta',
+                texname = '\\text{tmc}')
+
+aEW = Parameter(name = 'aEW',
+                nature = 'internal',
+                type = 'real',
+                value = '1/aEWM1',
+                texname = '\\text{aEW}')
+
+G = Parameter(name = 'G',
+              nature = 'internal',
+              type = 'real',
+              value = '2*cmath.sqrt(aS)*cmath.sqrt(cmath.pi)',
+              texname = 'G')
+
+lP = Parameter(name = 'lP',
+               nature = 'internal',
+               type = 'real',
+               value = '((-laP1 + laP2)*tanbeta)/(1 + tanbeta**2)',
+               texname = '\\text{lP}')
+
+lP1 = Parameter(name = 'lP1',
+                nature = 'internal',
+                type = 'real',
+                value = '(laP1 + laP2*tanbeta**2)/(1 + tanbeta**2)',
+                texname = '\\text{lP1}')
+
+lP2 = Parameter(name = 'lP2',
+                nature = 'internal',
+                type = 'real',
+                value = '(laP2 + laP1*tanbeta**2)/(1 + tanbeta**2)',
+                texname = '\\text{lP2}')
+
+MW = Parameter(name = 'MW',
+               nature = 'internal',
+               type = 'real',
+               value = 'cmath.sqrt(MZ**2/2. + cmath.sqrt(MZ**4/4. - (aEW*cmath.pi*MZ**2)/(Gf*cmath.sqrt(2))))',
+               texname = '\\text{MW}')
+
+ee = Parameter(name = 'ee',
+               nature = 'internal',
+               type = 'real',
+               value = '2*cmath.sqrt(aEW)*cmath.sqrt(cmath.pi)',
+               texname = 'e')
+
+sw2 = Parameter(name = 'sw2',
+                nature = 'internal',
+                type = 'real',
+                value = '1 - MW**2/MZ**2',
+                texname = '\\text{sw2}')
+
+cw = Parameter(name = 'cw',
+               nature = 'internal',
+               type = 'real',
+               value = 'cmath.sqrt(1 - sw2)',
+               texname = 'c_w')
+
+sw = Parameter(name = 'sw',
+               nature = 'internal',
+               type = 'real',
+               value = 'cmath.sqrt(sw2)',
+               texname = 's_w')
+
+g1 = Parameter(name = 'g1',
+               nature = 'internal',
+               type = 'real',
+               value = 'ee/cw',
+               texname = 'g_1')
+
+gw = Parameter(name = 'gw',
+               nature = 'internal',
+               type = 'real',
+               value = 'ee/sw',
+               texname = 'g_w')
+
+vev = Parameter(name = 'vev',
+                nature = 'internal',
+                type = 'real',
+                value = '(2*MW*sw)/ee',
+                texname = '\\text{vev}')
+
+mu2 = Parameter(name = 'mu2',
+                nature = 'internal',
+                type = 'real',
+                value = '(-mh1**2 - mh2**2 + 8*mhc**2 - 4*lam3*vev**2 - (-mh1**2 + mh2**2)*(3*cmath.cos(2*(cmath.pi/2. - cmath.asin(sinbma))) + (-(1/tanbeta) + tanbeta)*cmath.sin(2*(cmath.pi/2. - cmath.asin(sinbma)))))/4.',
+                texname = '\\text{mu2}')
+
+l1 = Parameter(name = 'l1',
+               nature = 'internal',
+               type = 'real',
+               value = '(mh1**2 + mh2**2 - (-mh1**2 + mh2**2)*cmath.cos(2*(cmath.pi/2. - cmath.asin(sinbma))))/(4.*vev**2)',
+               texname = '\\text{l1}')
+
+l2 = Parameter(name = 'l2',
+               nature = 'internal',
+               type = 'real',
+               value = '(-4*mhc**2*(-(1/tanbeta) + tanbeta)**2 + (mh1**2 + mh2**2)*(1 + (-(1/tanbeta) + tanbeta)**2) + 2*lam3*(-(1/tanbeta) + tanbeta)**2*vev**2 + (-mh1**2 + mh2**2)*((-7 + 3/tanbeta**2 + 3*tanbeta**2)*cmath.cos(2*(cmath.pi/2. - cmath.asin(sinbma))) - (tanbeta**(-3) - 5/tanbeta + 5*tanbeta - tanbeta**3)*cmath.sin(2*(cmath.pi/2. - cmath.asin(sinbma)))))/(4.*vev**2)',
+               texname = '\\text{l2}')
+
+l3 = Parameter(name = 'l3',
+               nature = 'internal',
+               type = 'real',
+               value = '(mh1**2 + mh2**2 - 4*mhc**2 + 4*lam3*vev**2 + (-mh1**2 + mh2**2)*(3*cmath.cos(2*(cmath.pi/2. - cmath.asin(sinbma))) + (-(1/tanbeta) + tanbeta)*cmath.sin(2*(cmath.pi/2. - cmath.asin(sinbma)))))/(2.*vev**2)',
+               texname = '\\text{l3}')
+
+l4 = Parameter(name = 'l4',
+               nature = 'internal',
+               type = 'real',
+               value = '(2*mA**2 + mh1**2 + mh2**2 - 4*mhc**2 + (-mh1**2 + mh2**2)*cmath.cos(2*(cmath.pi/2. - cmath.asin(sinbma))))/(2.*vev**2)',
+               texname = '\\text{l4}')
+
+l5 = Parameter(name = 'l5',
+               nature = 'internal',
+               type = 'real',
+               value = '(-2*mA**2 + mh1**2 + mh2**2 + (-mh1**2 + mh2**2)*cmath.cos(2*(cmath.pi/2. - cmath.asin(sinbma))))/(4.*vev**2)',
+               texname = '\\text{l5}')
+
+l6 = Parameter(name = 'l6',
+               nature = 'internal',
+               type = 'real',
+               value = '((-mh1**2 + mh2**2)*sinbma*cmath.sqrt(1 - sinbma**2))/vev**2',
+               texname = '\\text{l6}')
+
+l7 = Parameter(name = 'l7',
+               nature = 'internal',
+               type = 'real',
+               value = '((-mh1**2 - mh2**2 + 4*mhc**2)*(-(1/tanbeta) + tanbeta) - 2*lam3*(-(1/tanbeta) + tanbeta)*vev**2 - (-mh1**2 + mh2**2)*(3*(-(1/tanbeta) + tanbeta)*cmath.cos(2*(cmath.pi/2. - cmath.asin(sinbma))) + (-1 + (-(1/tanbeta) + tanbeta)**2)*cmath.sin(2*(cmath.pi/2. - cmath.asin(sinbma)))))/(2.*vev**2)',
+               texname = '\\text{l7}')
+
+muP = Parameter(name = 'muP',
+                nature = 'internal',
+                type = 'real',
+                value = '((mh3**2 - mh4**2)*cmath.sin(2*cmath.asin(sinp)))/(2.*vev)',
+                texname = '\\mu _P')
+
+yb = Parameter(name = 'yb',
+               nature = 'internal',
+               type = 'real',
+               value = '(ymb*cmath.sqrt(2))/vev',
+               texname = '\\text{yb}')
+
+yc = Parameter(name = 'yc',
+               nature = 'internal',
+               type = 'real',
+               value = '(ymc*cmath.sqrt(2))/vev',
+               texname = '\\text{yc}')
+
+ydo = Parameter(name = 'ydo',
+                nature = 'internal',
+                type = 'real',
+                value = '(ymdo*cmath.sqrt(2))/vev',
+                texname = '\\text{ydo}')
+
+ye = Parameter(name = 'ye',
+               nature = 'internal',
+               type = 'real',
+               value = '(yme*cmath.sqrt(2))/vev',
+               texname = '\\text{ye}')
+
+ym = Parameter(name = 'ym',
+               nature = 'internal',
+               type = 'real',
+               value = '(ymm*cmath.sqrt(2))/vev',
+               texname = '\\text{ym}')
+
+ys = Parameter(name = 'ys',
+               nature = 'internal',
+               type = 'real',
+               value = '(yms*cmath.sqrt(2))/vev',
+               texname = '\\text{ys}')
+
+yt = Parameter(name = 'yt',
+               nature = 'internal',
+               type = 'real',
+               value = '(ymt*cmath.sqrt(2))/vev',
+               texname = '\\text{yt}')
+
+ytau = Parameter(name = 'ytau',
+                 nature = 'internal',
+                 type = 'real',
+                 value = '(ymtau*cmath.sqrt(2))/vev',
+                 texname = '\\text{ytau}')
+
+yup = Parameter(name = 'yup',
+                nature = 'internal',
+                type = 'real',
+                value = '(ymup*cmath.sqrt(2))/vev',
+                texname = '\\text{yup}')
+
+I1a11 = Parameter(name = 'I1a11',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = '-((ymup*cmath.sqrt(2))/(tanbeta*vev))',
+                  texname = '\\text{I1a11}')
+
+I1a22 = Parameter(name = 'I1a22',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = '-((ymc*cmath.sqrt(2))/(tanbeta*vev))',
+                  texname = '\\text{I1a22}')
+
+I1a33 = Parameter(name = 'I1a33',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = '-((ymt*cmath.sqrt(2))/(tanbeta*vev))',
+                  texname = '\\text{I1a33}')
+
+I2a11 = Parameter(name = 'I2a11',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = '-((ymdo*cmath.sqrt(2))/(tanbeta*vev))',
+                  texname = '\\text{I2a11}')
+
+I2a22 = Parameter(name = 'I2a22',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = '-((yms*cmath.sqrt(2))/(tanbeta*vev))',
+                  texname = '\\text{I2a22}')
+
+I2a33 = Parameter(name = 'I2a33',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = '-((ymb*cmath.sqrt(2))/(tanbeta*vev))',
+                  texname = '\\text{I2a33}')
+
+I3a11 = Parameter(name = 'I3a11',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = '-((ymdo*cmath.sqrt(2))/(tanbeta*vev))',
+                  texname = '\\text{I3a11}')
+
+I3a22 = Parameter(name = 'I3a22',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = '-((yms*cmath.sqrt(2))/(tanbeta*vev))',
+                  texname = '\\text{I3a22}')
+
+I3a33 = Parameter(name = 'I3a33',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = '-((ymb*cmath.sqrt(2))/(tanbeta*vev))',
+                  texname = '\\text{I3a33}')
+
+I4a11 = Parameter(name = 'I4a11',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = '-((ymup*cmath.sqrt(2))/(tanbeta*vev))',
+                  texname = '\\text{I4a11}')
+
+I4a22 = Parameter(name = 'I4a22',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = '-((ymc*cmath.sqrt(2))/(tanbeta*vev))',
+                  texname = '\\text{I4a22}')
+
+I4a33 = Parameter(name = 'I4a33',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = '-((ymt*cmath.sqrt(2))/(tanbeta*vev))',
+                  texname = '\\text{I4a33}')
+
+I5a11 = Parameter(name = 'I5a11',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = 'ydo',
+                  texname = '\\text{I5a11}')
+
+I5a22 = Parameter(name = 'I5a22',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = 'ys',
+                  texname = '\\text{I5a22}')
+
+I5a33 = Parameter(name = 'I5a33',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = 'yb',
+                  texname = '\\text{I5a33}')
+
+I6a11 = Parameter(name = 'I6a11',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = 'yup',
+                  texname = '\\text{I6a11}')
+
+I6a22 = Parameter(name = 'I6a22',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = 'yc',
+                  texname = '\\text{I6a22}')
+
+I6a33 = Parameter(name = 'I6a33',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = 'yt',
+                  texname = '\\text{I6a33}')
+
+I7a11 = Parameter(name = 'I7a11',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = 'yup',
+                  texname = '\\text{I7a11}')
+
+I7a22 = Parameter(name = 'I7a22',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = 'yc',
+                  texname = '\\text{I7a22}')
+
+I7a33 = Parameter(name = 'I7a33',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = 'yt',
+                  texname = '\\text{I7a33}')
+
+I8a11 = Parameter(name = 'I8a11',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = 'ydo',
+                  texname = '\\text{I8a11}')
+
+I8a22 = Parameter(name = 'I8a22',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = 'ys',
+                  texname = '\\text{I8a22}')
+
+I8a33 = Parameter(name = 'I8a33',
+                  nature = 'internal',
+                  type = 'complex',
+                  value = 'yb',
+                  texname = '\\text{I8a33}')
+
diff --git a/DM/Pseudoscalar_2HDMI/particles.py b/DM/Pseudoscalar_2HDMI/particles.py
new file mode 100644
index 00000000..6f267f7b
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/particles.py
@@ -0,0 +1,461 @@
+# This file was automatically created by FeynRules 2.3.43
+# Mathematica version: 12.1.0 for Mac OS X x86 (64-bit) (March 14, 2020)
+# Date: Wed 3 May 2023 19:36:55
+
+
+from __future__ import division
+from object_library import all_particles, Particle
+import parameters as Param
+
+import propagators as Prop
+
+a = Particle(pdg_code = 22,
+             name = 'a',
+             antiname = 'a',
+             spin = 3,
+             color = 1,
+             mass = Param.ZERO,
+             width = Param.ZERO,
+             texname = 'a',
+             antitexname = 'a',
+             charge = 0,
+             GhostNumber = 0,
+             LeptonNumber = 0,
+             Y = 0)
+
+Z = Particle(pdg_code = 23,
+             name = 'Z',
+             antiname = 'Z',
+             spin = 3,
+             color = 1,
+             mass = Param.MZ,
+             width = Param.WZ,
+             texname = 'Z',
+             antitexname = 'Z',
+             charge = 0,
+             GhostNumber = 0,
+             LeptonNumber = 0,
+             Y = 0)
+
+W__plus__ = Particle(pdg_code = 24,
+                     name = 'W+',
+                     antiname = 'W-',
+                     spin = 3,
+                     color = 1,
+                     mass = Param.MW,
+                     width = Param.WW,
+                     texname = 'W+',
+                     antitexname = 'W-',
+                     charge = 1,
+                     GhostNumber = 0,
+                     LeptonNumber = 0,
+                     Y = 0)
+
+W__minus__ = W__plus__.anti()
+
+g = Particle(pdg_code = 21,
+             name = 'g',
+             antiname = 'g',
+             spin = 3,
+             color = 8,
+             mass = Param.ZERO,
+             width = Param.ZERO,
+             texname = 'g',
+             antitexname = 'g',
+             charge = 0,
+             GhostNumber = 0,
+             LeptonNumber = 0,
+             Y = 0)
+
+ghA = Particle(pdg_code = 9000001,
+               name = 'ghA',
+               antiname = 'ghA~',
+               spin = -1,
+               color = 1,
+               mass = Param.ZERO,
+               width = Param.ZERO,
+               texname = 'ghA',
+               antitexname = 'ghA~',
+               charge = 0,
+               GhostNumber = 1,
+               LeptonNumber = 0,
+               Y = 0)
+
+ghA__tilde__ = ghA.anti()
+
+ghZ = Particle(pdg_code = 9000002,
+               name = 'ghZ',
+               antiname = 'ghZ~',
+               spin = -1,
+               color = 1,
+               mass = Param.MZ,
+               width = Param.ZERO,
+               texname = 'ghZ',
+               antitexname = 'ghZ~',
+               charge = 0,
+               GhostNumber = 1,
+               LeptonNumber = 0,
+               Y = 0)
+
+ghZ__tilde__ = ghZ.anti()
+
+ghWp = Particle(pdg_code = 9000003,
+                name = 'ghWp',
+                antiname = 'ghWp~',
+                spin = -1,
+                color = 1,
+                mass = Param.MW,
+                width = Param.ZERO,
+                texname = 'ghWp',
+                antitexname = 'ghWp~',
+                charge = 1,
+                GhostNumber = 1,
+                LeptonNumber = 0,
+                Y = 0)
+
+ghWp__tilde__ = ghWp.anti()
+
+ghWm = Particle(pdg_code = 9000004,
+                name = 'ghWm',
+                antiname = 'ghWm~',
+                spin = -1,
+                color = 1,
+                mass = Param.MW,
+                width = Param.ZERO,
+                texname = 'ghWm',
+                antitexname = 'ghWm~',
+                charge = -1,
+                GhostNumber = 1,
+                LeptonNumber = 0,
+                Y = 0)
+
+ghWm__tilde__ = ghWm.anti()
+
+ghG = Particle(pdg_code = 82,
+               name = 'ghG',
+               antiname = 'ghG~',
+               spin = -1,
+               color = 8,
+               mass = Param.ZERO,
+               width = Param.ZERO,
+               texname = 'ghG',
+               antitexname = 'ghG~',
+               charge = 0,
+               GhostNumber = 1,
+               LeptonNumber = 0,
+               Y = 0)
+
+ghG__tilde__ = ghG.anti()
+
+ve = Particle(pdg_code = 12,
+              name = 've',
+              antiname = 've~',
+              spin = 2,
+              color = 1,
+              mass = Param.ZERO,
+              width = Param.ZERO,
+              texname = 've',
+              antitexname = 've~',
+              charge = 0,
+              GhostNumber = 0,
+              LeptonNumber = 1,
+              Y = 0)
+
+ve__tilde__ = ve.anti()
+
+vm = Particle(pdg_code = 14,
+              name = 'vm',
+              antiname = 'vm~',
+              spin = 2,
+              color = 1,
+              mass = Param.ZERO,
+              width = Param.ZERO,
+              texname = 'vm',
+              antitexname = 'vm~',
+              charge = 0,
+              GhostNumber = 0,
+              LeptonNumber = 1,
+              Y = 0)
+
+vm__tilde__ = vm.anti()
+
+vt = Particle(pdg_code = 16,
+              name = 'vt',
+              antiname = 'vt~',
+              spin = 2,
+              color = 1,
+              mass = Param.ZERO,
+              width = Param.ZERO,
+              texname = 'vt',
+              antitexname = 'vt~',
+              charge = 0,
+              GhostNumber = 0,
+              LeptonNumber = 1,
+              Y = 0)
+
+vt__tilde__ = vt.anti()
+
+e__minus__ = Particle(pdg_code = 11,
+                      name = 'e-',
+                      antiname = 'e+',
+                      spin = 2,
+                      color = 1,
+                      mass = Param.Me,
+                      width = Param.ZERO,
+                      texname = 'e-',
+                      antitexname = 'e+',
+                      charge = -1,
+                      GhostNumber = 0,
+                      LeptonNumber = 1,
+                      Y = 0)
+
+e__plus__ = e__minus__.anti()
+
+mu__minus__ = Particle(pdg_code = 13,
+                       name = 'mu-',
+                       antiname = 'mu+',
+                       spin = 2,
+                       color = 1,
+                       mass = Param.MMU,
+                       width = Param.ZERO,
+                       texname = 'mu-',
+                       antitexname = 'mu+',
+                       charge = -1,
+                       GhostNumber = 0,
+                       LeptonNumber = 1,
+                       Y = 0)
+
+mu__plus__ = mu__minus__.anti()
+
+ta__minus__ = Particle(pdg_code = 15,
+                       name = 'ta-',
+                       antiname = 'ta+',
+                       spin = 2,
+                       color = 1,
+                       mass = Param.MTA,
+                       width = Param.ZERO,
+                       texname = 'ta-',
+                       antitexname = 'ta+',
+                       charge = -1,
+                       GhostNumber = 0,
+                       LeptonNumber = 1,
+                       Y = 0)
+
+ta__plus__ = ta__minus__.anti()
+
+u = Particle(pdg_code = 2,
+             name = 'u',
+             antiname = 'u~',
+             spin = 2,
+             color = 3,
+             mass = Param.MU,
+             width = Param.ZERO,
+             texname = 'u',
+             antitexname = 'u~',
+             charge = 2/3,
+             GhostNumber = 0,
+             LeptonNumber = 0,
+             Y = 0)
+
+u__tilde__ = u.anti()
+
+c = Particle(pdg_code = 4,
+             name = 'c',
+             antiname = 'c~',
+             spin = 2,
+             color = 3,
+             mass = Param.MC,
+             width = Param.ZERO,
+             texname = 'c',
+             antitexname = 'c~',
+             charge = 2/3,
+             GhostNumber = 0,
+             LeptonNumber = 0,
+             Y = 0)
+
+c__tilde__ = c.anti()
+
+t = Particle(pdg_code = 6,
+             name = 't',
+             antiname = 't~',
+             spin = 2,
+             color = 3,
+             mass = Param.MT,
+             width = Param.WT,
+             texname = 't',
+             antitexname = 't~',
+             charge = 2/3,
+             GhostNumber = 0,
+             LeptonNumber = 0,
+             Y = 0)
+
+t__tilde__ = t.anti()
+
+d = Particle(pdg_code = 1,
+             name = 'd',
+             antiname = 'd~',
+             spin = 2,
+             color = 3,
+             mass = Param.MD,
+             width = Param.ZERO,
+             texname = 'd',
+             antitexname = 'd~',
+             charge = -1/3,
+             GhostNumber = 0,
+             LeptonNumber = 0,
+             Y = 0)
+
+d__tilde__ = d.anti()
+
+s = Particle(pdg_code = 3,
+             name = 's',
+             antiname = 's~',
+             spin = 2,
+             color = 3,
+             mass = Param.MS,
+             width = Param.ZERO,
+             texname = 's',
+             antitexname = 's~',
+             charge = -1/3,
+             GhostNumber = 0,
+             LeptonNumber = 0,
+             Y = 0)
+
+s__tilde__ = s.anti()
+
+b = Particle(pdg_code = 5,
+             name = 'b',
+             antiname = 'b~',
+             spin = 2,
+             color = 3,
+             mass = Param.MB,
+             width = Param.ZERO,
+             texname = 'b',
+             antitexname = 'b~',
+             charge = -1/3,
+             GhostNumber = 0,
+             LeptonNumber = 0,
+             Y = 0)
+
+b__tilde__ = b.anti()
+
+G0 = Particle(pdg_code = 250,
+              name = 'G0',
+              antiname = 'G0',
+              spin = 1,
+              color = 1,
+              mass = Param.MZ,
+              width = Param.WZ,
+              texname = 'G0',
+              antitexname = 'G0',
+              goldstone = True,
+              charge = 0,
+              GhostNumber = 0,
+              LeptonNumber = 0,
+              Y = 0)
+
+G__plus__ = Particle(pdg_code = 251,
+                     name = 'G+',
+                     antiname = 'G-',
+                     spin = 1,
+                     color = 1,
+                     mass = Param.MW,
+                     width = Param.WW,
+                     texname = 'G+',
+                     antitexname = 'G-',
+                     goldstone = True,
+                     charge = 1,
+                     GhostNumber = 0,
+                     LeptonNumber = 0,
+                     Y = 0)
+
+G__minus__ = G__plus__.anti()
+
+h__plus__ = Particle(pdg_code = 37,
+                     name = 'h+',
+                     antiname = 'h-',
+                     spin = 1,
+                     color = 1,
+                     mass = Param.mhc,
+                     width = Param.whc,
+                     texname = 'h+',
+                     antitexname = 'h-',
+                     charge = 1,
+                     GhostNumber = 0,
+                     LeptonNumber = 0,
+                     Y = 0)
+
+h__minus__ = h__plus__.anti()
+
+h1 = Particle(pdg_code = 25,
+              name = 'h1',
+              antiname = 'h1',
+              spin = 1,
+              color = 1,
+              mass = Param.mh1,
+              width = Param.Wh1,
+              texname = 'h1',
+              antitexname = 'h1',
+              charge = 0,
+              GhostNumber = 0,
+              LeptonNumber = 0,
+              Y = 0)
+
+h2 = Particle(pdg_code = 35,
+              name = 'h2',
+              antiname = 'h2',
+              spin = 1,
+              color = 1,
+              mass = Param.mh2,
+              width = Param.Wh2,
+              texname = 'h2',
+              antitexname = 'h2',
+              charge = 0,
+              GhostNumber = 0,
+              LeptonNumber = 0,
+              Y = 0)
+
+h3 = Particle(pdg_code = 36,
+              name = 'h3',
+              antiname = 'h3',
+              spin = 1,
+              color = 1,
+              mass = Param.mh3,
+              width = Param.Wh3,
+              texname = 'h3',
+              antitexname = 'h3',
+              charge = 0,
+              GhostNumber = 0,
+              LeptonNumber = 0,
+              Y = 0)
+
+h4 = Particle(pdg_code = 55,
+              name = 'h4',
+              antiname = 'h4',
+              spin = 1,
+              color = 1,
+              mass = Param.mh4,
+              width = Param.Wh4,
+              texname = 'h4',
+              antitexname = 'h4',
+              charge = 0,
+              GhostNumber = 0,
+              LeptonNumber = 0,
+              Y = 0)
+
+Xd = Particle(pdg_code = 52,
+              name = 'Xd',
+              antiname = 'Xd~',
+              spin = 2,
+              color = 1,
+              mass = Param.MXd,
+              width = Param.ZERO,
+              texname = 'Xd',
+              antitexname = 'Xd~',
+              charge = 0,
+              GhostNumber = 0,
+              LeptonNumber = 0,
+              Y = 0)
+
+Xd__tilde__ = Xd.anti()
+
diff --git a/DM/Pseudoscalar_2HDMI/propagators.py b/DM/Pseudoscalar_2HDMI/propagators.py
new file mode 100644
index 00000000..afd2520e
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/propagators.py
@@ -0,0 +1,35 @@
+# This file was automatically created  by FeynRules 2.0 (static file)
+# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010)
+# Date: Mon 1 Oct 2012 14:58:26
+
+from object_library import all_propagators, Propagator
+
+
+# define only once the denominator since this is always the same
+denominator = "P('mu', id) * P('mu', id) - Mass(id) * Mass(id) + complex(0,1) * Mass(id) * Width(id)"
+
+# propagator for the scalar
+S = Propagator(name = "S",
+               numerator = "complex(0,1)",
+               denominator = denominator
+               )
+
+# propagator for the incoming fermion # the one for the outcomming is computed on the flight
+F = Propagator(name = "F",
+                numerator = "complex(0,1) * (Gamma('mu', 1, 2) * P('mu', id) + Mass(id) * Identity(1, 2))",
+                denominator = denominator
+               )
+
+# massive vector in the unitary gauge, can't be use for massless particles
+V1 = Propagator(name = "V1",
+                numerator = "complex(0,1) * (-1 * Metric(1, 2) + Metric(1,'mu')* P('mu', id) * P(2, id) / Mass(id)**2)",
+                denominator = denominator
+               )
+
+# massless vector and massive vector in unitary gauge
+V2 = Propagator(name = "V2",
+                numerator = "complex(0,-1) * Metric(1, 2)",
+                denominator =  "P('mu', id) * P('mu', id)"
+               )
+
+
diff --git a/DM/Pseudoscalar_2HDMI/restrict_WMET.dat b/DM/Pseudoscalar_2HDMI/restrict_WMET.dat
new file mode 100644
index 00000000..0de2841c
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/restrict_WMET.dat
@@ -0,0 +1,154 @@
+######################################################################
+## PARAM_CARD AUTOMATICALY GENERATED BY MG5 FOLLOWING UFO MODEL   ####
+######################################################################
+##                                                                  ##
+##  Width set on Auto will be computed following the information    ##
+##        present in the decay.py files of the model.               ##
+##        See  arXiv:1402.1178 for more details.                    ##
+##                                                                  ##
+######################################################################
+
+###################################
+## INFORMATION FOR DMINPUTS
+###################################
+Block dminputs 
+    1 2.0000e+00 # gPXd 
+
+###################################
+## INFORMATION FOR FRBLOCK
+###################################
+Block frblock 
+    2 2.00000e+00 # tanbeta 
+    3 5.00000e-01 # sinbma 
+
+###################################
+## INFORMATION FOR HIGGS
+###################################
+Block higgs 
+    1 2.000000e+00 # lam3 
+    2 3.000000e+00 # laP1 
+    3 4.000000e+00 # laP2 
+    5 7.071070e-01 # sinp 
+
+###################################
+## INFORMATION FOR LOOP
+###################################
+Block loop 
+    1 9.118800e+01 # MU_R 
+
+###################################
+## INFORMATION FOR MASS
+###################################
+Block mass 
+    1 0.000000e+00 # MD 
+    2 0.000000e+00 # MU 
+    3 0.000000e+00 # MS 
+    4 0.000000e+00 # MC 
+    5 0.000000e+00 # MB 
+    6 1.720000e+02 # MT 
+   11 0.000000e+00 # Me 
+   13 0.000000e+00 # MMU 
+   15 1.777000e+00 # MTA 
+   23 9.118760e+01 # MZ 
+   25 1.250000e+02 # mh1 
+   35 5.000000e+02 # mh2 
+   36 6.000000e+02 # mh3 
+   37 7.000000e+02 # mhc 
+   52 1.000000e+01 # MXd 
+   55 2.000000e+02 # mh4 
+## Dependent parameters, given by model restrictions.
+## Those values should be edited following the 
+## analytical expression. MG5 ignores those values 
+## but they are important for interfacing the output of MG5
+## to external program such as Pythia.
+  12 0.000000 # ve : 0.0 
+  14 0.000000 # vm : 0.0 
+  16 0.000000 # vt : 0.0 
+  21 0.000000 # g : 0.0 
+  22 0.000000 # a : 0.0 
+  24 79.824660 # w+ : cmath.sqrt(MZ__exp__2/2. + cmath.sqrt(MZ__exp__4/4. - (aEW*cmath.pi*MZ__exp__2)/(Gf*sqrt__2))) 
+  9000002 91.187600 # ghz : MZ 
+  9000003 79.824660 # ghwp : MW 
+  9000004 79.824660 # ghwm : MW 
+
+###################################
+## INFORMATION FOR SMINPUTS
+###################################
+Block sminputs 
+    1 1.279000e+02 # aEWM1 
+    2 1.166390e-05 # Gf 
+    3 1.180000e-01 # aS 
+
+###################################
+## INFORMATION FOR YUKAWA
+###################################
+Block yukawa 
+    1 5.040000e-03 # ymdo 
+    2 2.550000e-03 # ymup 
+    3 1.010000e-01 # yms 
+    4 1.270000e+00 # ymc 
+    5 4.700000e+00 # ymb 
+    6 1.720000e+02 # ymt 
+   11 5.110000e-04 # yme 
+   13 1.056600e-01 # ymm 
+   15 1.777000e+00 # ymtau 
+
+###################################
+## INFORMATION FOR DECAY
+###################################
+DECAY   6 1.508336e+00 # WT 
+DECAY  23 2.495200e+00 # WZ 
+DECAY  24 2.085000e+00 # WW 
+DECAY  25 2.000000e+00 # Wh1 
+DECAY  35 2.000000e+00 # Wh2 
+DECAY  36 2.000000e+00 # Wh3 
+DECAY  37 2.000000e+00 # whc 
+DECAY  55 2.000000e+00 # Wh4 
+## Dependent parameters, given by model restrictions.
+## Those values should be edited following the 
+## analytical expression. MG5 ignores those values 
+## but they are important for interfacing the output of MG5
+## to external program such as Pythia.
+DECAY  1 0.000000 # d : 0.0 
+DECAY  2 0.000000 # u : 0.0 
+DECAY  3 0.000000 # s : 0.0 
+DECAY  4 0.000000 # c : 0.0 
+DECAY  5 0.000000 # b : 0.0 
+DECAY  11 0.000000 # e- : 0.0 
+DECAY  12 0.000000 # ve : 0.0 
+DECAY  13 0.000000 # mu- : 0.0 
+DECAY  14 0.000000 # vm : 0.0 
+DECAY  15 0.000000 # ta- : 0.0 
+DECAY  16 0.000000 # vt : 0.0 
+DECAY  21 0.000000 # g : 0.0 
+DECAY  22 0.000000 # a : 0.0 
+DECAY  52 0.000000 # xd : 0.0 
+#===========================================================
+# QUANTUM NUMBERS OF NEW STATE(S) (NON SM PDG CODE)
+#===========================================================
+
+Block QNUMBERS 37  # h+ 
+        1 3  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 1  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 35  # h2 
+        1 0  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 0  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 36  # h3 
+        1 0  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 0  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 55  # h4 
+        1 0  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 0  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 52  # xd 
+        1 0  # 3 times electric charge
+        2 2  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 1  # Particle/Antiparticle distinction (0=own anti)
diff --git a/DM/Pseudoscalar_2HDMI/restrict_aligned.dat b/DM/Pseudoscalar_2HDMI/restrict_aligned.dat
new file mode 100644
index 00000000..a5d59200
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/restrict_aligned.dat
@@ -0,0 +1,154 @@
+######################################################################
+## PARAM_CARD AUTOMATICALY GENERATED BY MG5 FOLLOWING UFO MODEL   ####
+######################################################################
+##                                                                  ##
+##  Width set on Auto will be computed following the information    ##
+##        present in the decay.py files of the model.               ##
+##        See  arXiv:1402.1178 for more details.                    ##
+##                                                                  ##
+######################################################################
+
+###################################
+## INFORMATION FOR DMINPUTS
+###################################
+Block dminputs 
+    1 2.0000e+00 # gPXd 
+
+###################################
+## INFORMATION FOR FRBLOCK
+###################################
+Block frblock 
+    2 2.00000e+00 # tanbeta 
+    3 1.0 # sinbma 
+
+###################################
+## INFORMATION FOR HIGGS
+###################################
+Block higgs 
+    1 2.000000e+00 # lam3 
+    2 3.000000e+00 # laP1 
+    3 4.000000e+00 # laP2 
+    5 7.071070e-01 # sinp 
+
+###################################
+## INFORMATION FOR LOOP
+###################################
+Block loop 
+    1 9.118800e+01 # MU_R 
+
+###################################
+## INFORMATION FOR MASS
+###################################
+Block mass 
+    1 0.000000e+00 # MD 
+    2 0.000000e+00 # MU 
+    3 0.000000e+00 # MS 
+    4 0.000000e+00 # MC 
+    5 4.700000e+00 # MB 
+    6 1.720000e+02 # MT 
+   11 0.000000e+00 # Me 
+   13 0.000000e+00 # MMU 
+   15 1.777000e+00 # MTA 
+   23 9.118760e+01 # MZ 
+   25 1.250000e+02 # mh1 
+   35 5.000000e+02 # mh2 
+   36 6.000000e+02 # mh3 
+   37 7.000000e+02 # mhc 
+   52 1.000000e+01 # MXd 
+   55 2.000000e+02 # mh4 
+## Dependent parameters, given by model restrictions.
+## Those values should be edited following the 
+## analytical expression. MG5 ignores those values 
+## but they are important for interfacing the output of MG5
+## to external program such as Pythia.
+  12 0.000000 # ve : 0.0 
+  14 0.000000 # vm : 0.0 
+  16 0.000000 # vt : 0.0 
+  21 0.000000 # g : 0.0 
+  22 0.000000 # a : 0.0 
+  24 79.824660 # w+ : cmath.sqrt(MZ__exp__2/2. + cmath.sqrt(MZ__exp__4/4. - (aEW*cmath.pi*MZ__exp__2)/(Gf*sqrt__2))) 
+  9000002 91.187600 # ghz : MZ 
+  9000003 79.824660 # ghwp : MW 
+  9000004 79.824660 # ghwm : MW 
+
+###################################
+## INFORMATION FOR SMINPUTS
+###################################
+Block sminputs 
+    1 1.279000e+02 # aEWM1 
+    2 1.166390e-05 # Gf 
+    3 1.180000e-01 # aS 
+
+###################################
+## INFORMATION FOR YUKAWA
+###################################
+Block yukawa 
+    1 0.000000e+00 # ymdo 
+    2 0.000000e+00 # ymup 
+    3 0.000000e+00 # yms 
+    4 0.000000e+00 # ymc 
+    5 4.700000e+00 # ymb 
+    6 1.720000e+02 # ymt 
+   11 0.000000e+00 # yme 
+   13 0.000000e+00 # ymm 
+   15 1.777000e+00 # ymtau 
+
+###################################
+## INFORMATION FOR DECAY
+###################################
+DECAY   6 1.508336e+00 # WT 
+DECAY  23 2.495200e+00 # WZ 
+DECAY  24 2.085000e+00 # WW 
+DECAY  25 2.000000e+00 # Wh1 
+DECAY  35 2.000000e+00 # Wh2 
+DECAY  36 2.000000e+00 # Wh3 
+DECAY  37 2.000000e+00 # whc 
+DECAY  55 2.000000e+00 # Wh4 
+## Dependent parameters, given by model restrictions.
+## Those values should be edited following the 
+## analytical expression. MG5 ignores those values 
+## but they are important for interfacing the output of MG5
+## to external program such as Pythia.
+DECAY  1 0.000000 # d : 0.0 
+DECAY  2 0.000000 # u : 0.0 
+DECAY  3 0.000000 # s : 0.0 
+DECAY  4 0.000000 # c : 0.0 
+DECAY  5 0.000000 # b : 0.0 
+DECAY  11 0.000000 # e- : 0.0 
+DECAY  12 0.000000 # ve : 0.0 
+DECAY  13 0.000000 # mu- : 0.0 
+DECAY  14 0.000000 # vm : 0.0 
+DECAY  15 0.000000 # ta- : 0.0 
+DECAY  16 0.000000 # vt : 0.0 
+DECAY  21 0.000000 # g : 0.0 
+DECAY  22 0.000000 # a : 0.0 
+DECAY  52 0.000000 # xd : 0.0 
+#===========================================================
+# QUANTUM NUMBERS OF NEW STATE(S) (NON SM PDG CODE)
+#===========================================================
+
+Block QNUMBERS 37  # h+ 
+        1 3  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 1  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 35  # h2 
+        1 0  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 0  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 36  # h3 
+        1 0  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 0  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 55  # h4 
+        1 0  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 0  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 52  # xd 
+        1 0  # 3 times electric charge
+        2 2  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 1  # Particle/Antiparticle distinction (0=own anti)
diff --git a/DM/Pseudoscalar_2HDMI/restrict_bbMET_5FS.dat b/DM/Pseudoscalar_2HDMI/restrict_bbMET_5FS.dat
new file mode 100644
index 00000000..2a65a685
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/restrict_bbMET_5FS.dat
@@ -0,0 +1,154 @@
+######################################################################
+## PARAM_CARD AUTOMATICALY GENERATED BY MG5 FOLLOWING UFO MODEL   ####
+######################################################################
+##                                                                  ##
+##  Width set on Auto will be computed following the information    ##
+##        present in the decay.py files of the model.               ##
+##        See  arXiv:1402.1178 for more details.                    ##
+##                                                                  ##
+######################################################################
+
+###################################
+## INFORMATION FOR DMINPUTS
+###################################
+Block dminputs 
+    1 2.0000e+00 # gPXd 
+
+###################################
+## INFORMATION FOR FRBLOCK
+###################################
+Block frblock 
+    2 2.00000e+00 # tanbeta 
+    3 5.00000e-01 # sinbma 
+
+###################################
+## INFORMATION FOR HIGGS
+###################################
+Block higgs 
+    1 2.000000e+00 # lam3 
+    2 3.000000e+00 # laP1 
+    3 4.000000e+00 # laP2 
+    5 7.071070e-01 # sinp 
+
+###################################
+## INFORMATION FOR LOOP
+###################################
+Block loop 
+    1 9.118800e+01 # MU_R 
+
+###################################
+## INFORMATION FOR MASS
+###################################
+Block mass 
+    1 0.000000e+00 # MD 
+    2 0.000000e+00 # MU 
+    3 0.000000e+00 # MS 
+    4 0.000000e+00 # MC 
+    5 0.000000e+00 # MB 
+    6 1.720000e+02 # MT 
+   11 0.000000e+00 # Me 
+   13 0.000000e+00 # MMU 
+   15 1.777000e+00 # MTA 
+   23 9.118760e+01 # MZ 
+   25 1.250000e+02 # mh1 
+   35 5.000000e+02 # mh2 
+   36 6.000000e+02 # mh3 
+   37 7.000000e+02 # mhc 
+   52 1.000000e+01 # MXd 
+   55 2.000000e+02 # mh4 
+## Dependent parameters, given by model restrictions.
+## Those values should be edited following the 
+## analytical expression. MG5 ignores those values 
+## but they are important for interfacing the output of MG5
+## to external program such as Pythia.
+  12 0.000000 # ve : 0.0 
+  14 0.000000 # vm : 0.0 
+  16 0.000000 # vt : 0.0 
+  21 0.000000 # g : 0.0 
+  22 0.000000 # a : 0.0 
+  24 79.824660 # w+ : cmath.sqrt(MZ__exp__2/2. + cmath.sqrt(MZ__exp__4/4. - (aEW*cmath.pi*MZ__exp__2)/(Gf*sqrt__2))) 
+  9000002 91.187600 # ghz : MZ 
+  9000003 79.824660 # ghwp : MW 
+  9000004 79.824660 # ghwm : MW 
+
+###################################
+## INFORMATION FOR SMINPUTS
+###################################
+Block sminputs 
+    1 1.279000e+02 # aEWM1 
+    2 1.166390e-05 # Gf 
+    3 1.180000e-01 # aS 
+
+###################################
+## INFORMATION FOR YUKAWA
+###################################
+Block yukawa 
+    1 0.000000e+00 # ymdo 
+    2 0.000000e+00 # ymup 
+    3 0.000000e+00 # yms 
+    4 0.000000e+00 # ymc 
+    5 4.700000e+00 # ymb 
+    6 1.720000e+02 # ymt 
+   11 0.000000e+00 # yme 
+   13 0.000000e+00 # ymm 
+   15 1.777000e+00 # ymtau 
+
+###################################
+## INFORMATION FOR DECAY
+###################################
+DECAY   6 1.508336e+00 # WT 
+DECAY  23 2.495200e+00 # WZ 
+DECAY  24 2.085000e+00 # WW 
+DECAY  25 2.000000e+00 # Wh1 
+DECAY  35 2.000000e+00 # Wh2 
+DECAY  36 2.000000e+00 # Wh3 
+DECAY  37 2.000000e+00 # whc 
+DECAY  55 2.000000e+00 # Wh4 
+## Dependent parameters, given by model restrictions.
+## Those values should be edited following the 
+## analytical expression. MG5 ignores those values 
+## but they are important for interfacing the output of MG5
+## to external program such as Pythia.
+DECAY  1 0.000000 # d : 0.0 
+DECAY  2 0.000000 # u : 0.0 
+DECAY  3 0.000000 # s : 0.0 
+DECAY  4 0.000000 # c : 0.0 
+DECAY  5 0.000000 # b : 0.0 
+DECAY  11 0.000000 # e- : 0.0 
+DECAY  12 0.000000 # ve : 0.0 
+DECAY  13 0.000000 # mu- : 0.0 
+DECAY  14 0.000000 # vm : 0.0 
+DECAY  15 0.000000 # ta- : 0.0 
+DECAY  16 0.000000 # vt : 0.0 
+DECAY  21 0.000000 # g : 0.0 
+DECAY  22 0.000000 # a : 0.0 
+DECAY  52 0.000000 # xd : 0.0 
+#===========================================================
+# QUANTUM NUMBERS OF NEW STATE(S) (NON SM PDG CODE)
+#===========================================================
+
+Block QNUMBERS 37  # h+ 
+        1 3  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 1  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 35  # h2 
+        1 0  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 0  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 36  # h3 
+        1 0  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 0  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 55  # h4 
+        1 0  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 0  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 52  # xd 
+        1 0  # 3 times electric charge
+        2 2  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 1  # Particle/Antiparticle distinction (0=own anti)
diff --git a/DM/Pseudoscalar_2HDMI/restrict_default.dat b/DM/Pseudoscalar_2HDMI/restrict_default.dat
new file mode 100644
index 00000000..baf57475
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/restrict_default.dat
@@ -0,0 +1,154 @@
+######################################################################
+## PARAM_CARD AUTOMATICALY GENERATED BY MG5 FOLLOWING UFO MODEL   ####
+######################################################################
+##                                                                  ##
+##  Width set on Auto will be computed following the information    ##
+##        present in the decay.py files of the model.               ##
+##        See  arXiv:1402.1178 for more details.                    ##
+##                                                                  ##
+######################################################################
+
+###################################
+## INFORMATION FOR DMINPUTS
+###################################
+Block dminputs 
+    1 2.0000e+00 # gPXd 
+
+###################################
+## INFORMATION FOR FRBLOCK
+###################################
+Block frblock 
+    2 2.00000e+00 # tanbeta 
+    3 5.00000e-01 # sinbma 
+
+###################################
+## INFORMATION FOR HIGGS
+###################################
+Block higgs 
+    1 2.000000e+00 # lam3 
+    2 3.000000e+00 # laP1 
+    3 4.000000e+00 # laP2 
+    5 7.071070e-01 # sinp 
+
+###################################
+## INFORMATION FOR LOOP
+###################################
+Block loop 
+    1 9.118800e+01 # MU_R 
+
+###################################
+## INFORMATION FOR MASS
+###################################
+Block mass 
+    1 0.000000e+00 # MD 
+    2 0.000000e+00 # MU 
+    3 0.000000e+00 # MS 
+    4 0.000000e+00 # MC 
+    5 4.700000e+00 # MB 
+    6 1.720000e+02 # MT 
+   11 0.000000e+00 # Me 
+   13 0.000000e+00 # MMU 
+   15 1.777000e+00 # MTA 
+   23 9.118760e+01 # MZ 
+   25 1.250000e+02 # mh1 
+   35 5.000000e+02 # mh2 
+   36 6.000000e+02 # mh3 
+   37 7.000000e+02 # mhc 
+   52 1.000000e+01 # MXd 
+   55 2.000000e+02 # mh4 
+## Dependent parameters, given by model restrictions.
+## Those values should be edited following the 
+## analytical expression. MG5 ignores those values 
+## but they are important for interfacing the output of MG5
+## to external program such as Pythia.
+  12 0.000000 # ve : 0.0 
+  14 0.000000 # vm : 0.0 
+  16 0.000000 # vt : 0.0 
+  21 0.000000 # g : 0.0 
+  22 0.000000 # a : 0.0 
+  24 79.824660 # w+ : cmath.sqrt(MZ__exp__2/2. + cmath.sqrt(MZ__exp__4/4. - (aEW*cmath.pi*MZ__exp__2)/(Gf*sqrt__2))) 
+  9000002 91.187600 # ghz : MZ 
+  9000003 79.824660 # ghwp : MW 
+  9000004 79.824660 # ghwm : MW 
+
+###################################
+## INFORMATION FOR SMINPUTS
+###################################
+Block sminputs 
+    1 1.279000e+02 # aEWM1 
+    2 1.166390e-05 # Gf 
+    3 1.180000e-01 # aS 
+
+###################################
+## INFORMATION FOR YUKAWA
+###################################
+Block yukawa 
+    1 0.000000e+00 # ymdo 
+    2 0.000000e+00 # ymup 
+    3 0.000000e+00 # yms 
+    4 0.000000e+00 # ymc 
+    5 4.700000e+00 # ymb 
+    6 1.720000e+02 # ymt 
+   11 0.000000e+00 # yme 
+   13 0.000000e+00 # ymm 
+   15 1.777000e+00 # ymtau 
+
+###################################
+## INFORMATION FOR DECAY
+###################################
+DECAY   6 1.508336e+00 # WT 
+DECAY  23 2.495200e+00 # WZ 
+DECAY  24 2.085000e+00 # WW 
+DECAY  25 2.000000e+00 # Wh1 
+DECAY  35 2.000000e+00 # Wh2 
+DECAY  36 2.000000e+00 # Wh3 
+DECAY  37 2.000000e+00 # whc 
+DECAY  55 2.000000e+00 # Wh4 
+## Dependent parameters, given by model restrictions.
+## Those values should be edited following the 
+## analytical expression. MG5 ignores those values 
+## but they are important for interfacing the output of MG5
+## to external program such as Pythia.
+DECAY  1 0.000000 # d : 0.0 
+DECAY  2 0.000000 # u : 0.0 
+DECAY  3 0.000000 # s : 0.0 
+DECAY  4 0.000000 # c : 0.0 
+DECAY  5 0.000000 # b : 0.0 
+DECAY  11 0.000000 # e- : 0.0 
+DECAY  12 0.000000 # ve : 0.0 
+DECAY  13 0.000000 # mu- : 0.0 
+DECAY  14 0.000000 # vm : 0.0 
+DECAY  15 0.000000 # ta- : 0.0 
+DECAY  16 0.000000 # vt : 0.0 
+DECAY  21 0.000000 # g : 0.0 
+DECAY  22 0.000000 # a : 0.0 
+DECAY  52 0.000000 # xd : 0.0 
+#===========================================================
+# QUANTUM NUMBERS OF NEW STATE(S) (NON SM PDG CODE)
+#===========================================================
+
+Block QNUMBERS 37  # h+ 
+        1 3  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 1  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 35  # h2 
+        1 0  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 0  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 36  # h3 
+        1 0  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 0  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 55  # h4 
+        1 0  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 0  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 52  # xd 
+        1 0  # 3 times electric charge
+        2 2  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 1  # Particle/Antiparticle distinction (0=own anti)
diff --git a/DM/Pseudoscalar_2HDMI/restrict_relic.dat b/DM/Pseudoscalar_2HDMI/restrict_relic.dat
new file mode 100644
index 00000000..dc5b4e84
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/restrict_relic.dat
@@ -0,0 +1,154 @@
+######################################################################
+## PARAM_CARD AUTOMATICALY GENERATED BY MG5 FOLLOWING UFO MODEL   ####
+######################################################################
+##                                                                  ##
+##  Width set on Auto will be computed following the information    ##
+##        present in the decay.py files of the model.               ##
+##        See  arXiv:1402.1178 for more details.                    ##
+##                                                                  ##
+######################################################################
+
+###################################
+## INFORMATION FOR DMINPUTS
+###################################
+Block dminputs 
+    1 2.0000e+00 # gPXd 
+
+###################################
+## INFORMATION FOR FRBLOCK
+###################################
+Block frblock 
+    2 2.00000e+00 # tanbeta 
+    3 5.00000e-01 # sinbma 
+
+###################################
+## INFORMATION FOR HIGGS
+###################################
+Block higgs 
+    1 2.000000e+00 # lam3 
+    2 3.000000e+00 # laP1 
+    3 4.000000e+00 # laP2 
+    5 7.071070e-01 # sinp 
+
+###################################
+## INFORMATION FOR LOOP
+###################################
+Block loop 
+    1 9.118800e+01 # MU_R 
+
+###################################
+## INFORMATION FOR MASS
+###################################
+Block mass
+    1 5.040000e-03 # MD 
+    2 2.550000e-03 # MU 
+    3 1.010000e-01  # MS 
+    4 1.270000e+00 # MC 
+    5 4.700000e+00 # MB 
+    6 1.720000e+02 # MT 
+   11 5.110000e-04 # Me 
+   13 1.056600e-01 # MMU 
+   15 1.777000e+00 # MTA 
+   23 9.118760e+01 # MZ 
+   25 1.250000e+02 # mh1 
+   35 5.000000e+02 # mh2 
+   36 6.000000e+02 # mh3 
+   37 7.000000e+02 # mhc 
+   52 1.000000e+01 # MXd 
+   55 2.000000e+02 # mh4 
+## Dependent parameters, given by model restrictions.
+## Those values should be edited following the 
+## analytical expression. MG5 ignores those values 
+## but they are important for interfacing the output of MG5
+## to external program such as Pythia.
+  12 0.000000 # ve : 0.0 
+  14 0.000000 # vm : 0.0 
+  16 0.000000 # vt : 0.0 
+  21 0.000000 # g : 0.0 
+  22 0.000000 # a : 0.0 
+  24 79.824660 # w+ : cmath.sqrt(MZ__exp__2/2. + cmath.sqrt(MZ__exp__4/4. - (aEW*cmath.pi*MZ__exp__2)/(Gf*sqrt__2))) 
+  9000002 91.187600 # ghz : MZ 
+  9000003 79.824660 # ghwp : MW 
+  9000004 79.824660 # ghwm : MW 
+
+###################################
+## INFORMATION FOR SMINPUTS
+###################################
+Block sminputs 
+    1 1.279000e+02 # aEWM1 
+    2 1.166390e-05 # Gf 
+    3 1.180000e-01 # aS 
+
+###################################
+## INFORMATION FOR YUKAWA
+###################################
+Block yukawa 
+    1 5.040000e-03 # ymdo 
+    2 2.550000e-03 # ymup 
+    3 1.010000e-01 # yms 
+    4 1.270000e+00 # ymc 
+    5 4.700000e+00 # ymb 
+    6 1.720000e+02 # ymt 
+   11 5.110000e-04 # yme 
+   13 1.056600e-01 # ymm 
+   15 1.777000e+00 # ymtau 
+
+###################################
+## INFORMATION FOR DECAY
+###################################
+DECAY   6 1.508336e+00 # WT 
+DECAY  23 2.495200e+00 # WZ 
+DECAY  24 2.085000e+00 # WW 
+DECAY  25 2.000000e+00 # Wh1 
+DECAY  35 2.000000e+00 # Wh2 
+DECAY  36 2.000000e+00 # Wh3 
+DECAY  37 2.000000e+00 # whc 
+DECAY  55 2.000000e+00 # Wh4 
+## Dependent parameters, given by model restrictions.
+## Those values should be edited following the 
+## analytical expression. MG5 ignores those values 
+## but they are important for interfacing the output of MG5
+## to external program such as Pythia.
+DECAY  1 0.000000 # d : 0.0 
+DECAY  2 0.000000 # u : 0.0 
+DECAY  3 0.000000 # s : 0.0 
+DECAY  4 0.000000 # c : 0.0 
+DECAY  5 0.000000 # b : 0.0 
+DECAY  11 0.000000 # e- : 0.0 
+DECAY  12 0.000000 # ve : 0.0 
+DECAY  13 0.000000 # mu- : 0.0 
+DECAY  14 0.000000 # vm : 0.0 
+DECAY  15 0.000000 # ta- : 0.0 
+DECAY  16 0.000000 # vt : 0.0 
+DECAY  21 0.000000 # g : 0.0 
+DECAY  22 0.000000 # a : 0.0 
+DECAY  52 0.000000 # xd : 0.0 
+#===========================================================
+# QUANTUM NUMBERS OF NEW STATE(S) (NON SM PDG CODE)
+#===========================================================
+
+Block QNUMBERS 37  # h+ 
+        1 3  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 1  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 35  # h2 
+        1 0  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 0  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 36  # h3 
+        1 0  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 0  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 55  # h4 
+        1 0  # 3 times electric charge
+        2 1  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 0  # Particle/Antiparticle distinction (0=own anti)
+Block QNUMBERS 52  # xd 
+        1 0  # 3 times electric charge
+        2 2  # number of spin states (2S+1)
+        3 1  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 1  # Particle/Antiparticle distinction (0=own anti)
diff --git a/DM/Pseudoscalar_2HDMI/vertices.py b/DM/Pseudoscalar_2HDMI/vertices.py
new file mode 100644
index 00000000..decad0d1
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/vertices.py
@@ -0,0 +1,2195 @@
+# This file was automatically created by FeynRules 2.3.43
+# Mathematica version: 12.1.0 for Mac OS X x86 (64-bit) (March 14, 2020)
+# Date: Wed 3 May 2023 19:36:55
+
+
+from object_library import all_vertices, Vertex
+import particles as P
+import couplings as C
+import lorentz as L
+
+
+V_1 = Vertex(name = 'V_1',
+             particles = [ P.G0, P.G0, P.G0, P.G0 ],
+             color = [ '1' ],
+             lorentz = [ L.SSSS1 ],
+             couplings = {(0,0):C.GC_38})
+
+V_2 = Vertex(name = 'V_2',
+             particles = [ P.G0, P.G0, P.G__minus__, P.G__plus__ ],
+             color = [ '1' ],
+             lorentz = [ L.SSSS1 ],
+             couplings = {(0,0):C.GC_36})
+
+V_3 = Vertex(name = 'V_3',
+             particles = [ P.G__minus__, P.G__minus__, P.G__plus__, P.G__plus__ ],
+             color = [ '1' ],
+             lorentz = [ L.SSSS1 ],
+             couplings = {(0,0):C.GC_37})
+
+V_4 = Vertex(name = 'V_4',
+             particles = [ P.h__minus__, P.h__minus__, P.h__plus__, P.h__plus__ ],
+             color = [ '1' ],
+             lorentz = [ L.SSSS1 ],
+             couplings = {(0,0):C.GC_39})
+
+V_5 = Vertex(name = 'V_5',
+             particles = [ P.G0, P.G0, P.h__minus__, P.h__plus__ ],
+             color = [ '1' ],
+             lorentz = [ L.SSSS1 ],
+             couplings = {(0,0):C.GC_40})
+
+V_6 = Vertex(name = 'V_6',
+             particles = [ P.G__minus__, P.G__plus__, P.h__minus__, P.h__plus__ ],
+             color = [ '1' ],
+             lorentz = [ L.SSSS1 ],
+             couplings = {(0,0):C.GC_41})
+
+V_7 = Vertex(name = 'V_7',
+             particles = [ P.G__plus__, P.G__plus__, P.h__minus__, P.h__minus__ ],
+             color = [ '1' ],
+             lorentz = [ L.SSSS1 ],
+             couplings = {(0,0):C.GC_42})
+
+V_8 = Vertex(name = 'V_8',
+             particles = [ P.G__minus__, P.G__minus__, P.h__plus__, P.h__plus__ ],
+             color = [ '1' ],
+             lorentz = [ L.SSSS1 ],
+             couplings = {(0,0):C.GC_42})
+
+V_9 = Vertex(name = 'V_9',
+             particles = [ P.G0, P.G0, P.G__plus__, P.h__minus__ ],
+             color = [ '1' ],
+             lorentz = [ L.SSSS1 ],
+             couplings = {(0,0):C.GC_43})
+
+V_10 = Vertex(name = 'V_10',
+              particles = [ P.G__minus__, P.G__plus__, P.G__plus__, P.h__minus__ ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_44})
+
+V_11 = Vertex(name = 'V_11',
+              particles = [ P.G0, P.G0, P.G__minus__, P.h__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_43})
+
+V_12 = Vertex(name = 'V_12',
+              particles = [ P.G__minus__, P.G__minus__, P.G__plus__, P.h__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_44})
+
+V_13 = Vertex(name = 'V_13',
+              particles = [ P.G__plus__, P.h__minus__, P.h__minus__, P.h__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_45})
+
+V_14 = Vertex(name = 'V_14',
+              particles = [ P.G__minus__, P.h__minus__, P.h__plus__, P.h__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_45})
+
+V_15 = Vertex(name = 'V_15',
+              particles = [ P.a, P.a, P.G__minus__, P.G__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.VVSS1 ],
+              couplings = {(0,0):C.GC_6})
+
+V_16 = Vertex(name = 'V_16',
+              particles = [ P.a, P.a, P.h__minus__, P.h__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.VVSS1 ],
+              couplings = {(0,0):C.GC_6})
+
+V_17 = Vertex(name = 'V_17',
+              particles = [ P.a, P.G__minus__, P.G__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.VSS1 ],
+              couplings = {(0,0):C.GC_3})
+
+V_18 = Vertex(name = 'V_18',
+              particles = [ P.a, P.h__minus__, P.h__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.VSS1 ],
+              couplings = {(0,0):C.GC_3})
+
+V_19 = Vertex(name = 'V_19',
+              particles = [ P.ghA, P.ghWm__tilde__, P.W__minus__ ],
+              color = [ '1' ],
+              lorentz = [ L.UUV1 ],
+              couplings = {(0,0):C.GC_3})
+
+V_20 = Vertex(name = 'V_20',
+              particles = [ P.ghA, P.ghWp__tilde__, P.W__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.UUV1 ],
+              couplings = {(0,0):C.GC_4})
+
+V_21 = Vertex(name = 'V_21',
+              particles = [ P.ghWm, P.ghA__tilde__, P.G__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.UUS1 ],
+              couplings = {(0,0):C.GC_204})
+
+V_22 = Vertex(name = 'V_22',
+              particles = [ P.ghWm, P.ghA__tilde__, P.W__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.UUV1 ],
+              couplings = {(0,0):C.GC_3})
+
+V_23 = Vertex(name = 'V_23',
+              particles = [ P.ghWm, P.ghWm__tilde__, P.G0 ],
+              color = [ '1' ],
+              lorentz = [ L.UUS1 ],
+              couplings = {(0,0):C.GC_200})
+
+V_24 = Vertex(name = 'V_24',
+              particles = [ P.ghWm, P.ghWm__tilde__, P.a ],
+              color = [ '1' ],
+              lorentz = [ L.UUV1 ],
+              couplings = {(0,0):C.GC_4})
+
+V_25 = Vertex(name = 'V_25',
+              particles = [ P.ghWm, P.ghWm__tilde__, P.Z ],
+              color = [ '1' ],
+              lorentz = [ L.UUV1 ],
+              couplings = {(0,0):C.GC_52})
+
+V_26 = Vertex(name = 'V_26',
+              particles = [ P.ghWm, P.ghZ__tilde__, P.G__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.UUS1 ],
+              couplings = {(0,0):C.GC_211})
+
+V_27 = Vertex(name = 'V_27',
+              particles = [ P.ghWm, P.ghZ__tilde__, P.W__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.UUV1 ],
+              couplings = {(0,0):C.GC_51})
+
+V_28 = Vertex(name = 'V_28',
+              particles = [ P.ghWp, P.ghA__tilde__, P.G__minus__ ],
+              color = [ '1' ],
+              lorentz = [ L.UUS1 ],
+              couplings = {(0,0):C.GC_202})
+
+V_29 = Vertex(name = 'V_29',
+              particles = [ P.ghWp, P.ghA__tilde__, P.W__minus__ ],
+              color = [ '1' ],
+              lorentz = [ L.UUV1 ],
+              couplings = {(0,0):C.GC_4})
+
+V_30 = Vertex(name = 'V_30',
+              particles = [ P.ghWp, P.ghWp__tilde__, P.G0 ],
+              color = [ '1' ],
+              lorentz = [ L.UUS1 ],
+              couplings = {(0,0):C.GC_201})
+
+V_31 = Vertex(name = 'V_31',
+              particles = [ P.ghWp, P.ghWp__tilde__, P.a ],
+              color = [ '1' ],
+              lorentz = [ L.UUV1 ],
+              couplings = {(0,0):C.GC_3})
+
+V_32 = Vertex(name = 'V_32',
+              particles = [ P.ghWp, P.ghWp__tilde__, P.Z ],
+              color = [ '1' ],
+              lorentz = [ L.UUV1 ],
+              couplings = {(0,0):C.GC_51})
+
+V_33 = Vertex(name = 'V_33',
+              particles = [ P.ghWp, P.ghZ__tilde__, P.G__minus__ ],
+              color = [ '1' ],
+              lorentz = [ L.UUS1 ],
+              couplings = {(0,0):C.GC_210})
+
+V_34 = Vertex(name = 'V_34',
+              particles = [ P.ghWp, P.ghZ__tilde__, P.W__minus__ ],
+              color = [ '1' ],
+              lorentz = [ L.UUV1 ],
+              couplings = {(0,0):C.GC_52})
+
+V_35 = Vertex(name = 'V_35',
+              particles = [ P.ghZ, P.ghWm__tilde__, P.G__minus__ ],
+              color = [ '1' ],
+              lorentz = [ L.UUS1 ],
+              couplings = {(0,0):C.GC_212})
+
+V_36 = Vertex(name = 'V_36',
+              particles = [ P.ghZ, P.ghWm__tilde__, P.W__minus__ ],
+              color = [ '1' ],
+              lorentz = [ L.UUV1 ],
+              couplings = {(0,0):C.GC_51})
+
+V_37 = Vertex(name = 'V_37',
+              particles = [ P.ghZ, P.ghWp__tilde__, P.G__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.UUS1 ],
+              couplings = {(0,0):C.GC_209})
+
+V_38 = Vertex(name = 'V_38',
+              particles = [ P.ghZ, P.ghWp__tilde__, P.W__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.UUV1 ],
+              couplings = {(0,0):C.GC_52})
+
+V_39 = Vertex(name = 'V_39',
+              particles = [ P.ghG, P.ghG__tilde__, P.g ],
+              color = [ 'f(1,2,3)' ],
+              lorentz = [ L.UUV1 ],
+              couplings = {(0,0):C.GC_9})
+
+V_40 = Vertex(name = 'V_40',
+              particles = [ P.g, P.g, P.g ],
+              color = [ 'f(1,2,3)' ],
+              lorentz = [ L.VVV2 ],
+              couplings = {(0,0):C.GC_9})
+
+V_41 = Vertex(name = 'V_41',
+              particles = [ P.g, P.g, P.g, P.g ],
+              color = [ 'f(-1,1,2)*f(3,4,-1)', 'f(-1,1,3)*f(2,4,-1)', 'f(-1,1,4)*f(2,3,-1)' ],
+              lorentz = [ L.VVVV4, L.VVVV7, L.VVVV8 ],
+              couplings = {(1,1):C.GC_11,(0,0):C.GC_11,(2,2):C.GC_11})
+
+V_42 = Vertex(name = 'V_42',
+              particles = [ P.d__tilde__, P.u, P.h__minus__ ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS3, L.FFS5 ],
+              couplings = {(0,0):C.GC_12,(0,1):C.GC_15})
+
+V_43 = Vertex(name = 'V_43',
+              particles = [ P.s__tilde__, P.c, P.h__minus__ ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS3, L.FFS5 ],
+              couplings = {(0,0):C.GC_13,(0,1):C.GC_16})
+
+V_44 = Vertex(name = 'V_44',
+              particles = [ P.b__tilde__, P.t, P.h__minus__ ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS3, L.FFS5 ],
+              couplings = {(0,0):C.GC_14,(0,1):C.GC_17})
+
+V_45 = Vertex(name = 'V_45',
+              particles = [ P.u__tilde__, P.d, P.h__plus__ ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS3, L.FFS5 ],
+              couplings = {(0,0):C.GC_18,(0,1):C.GC_21})
+
+V_46 = Vertex(name = 'V_46',
+              particles = [ P.c__tilde__, P.s, P.h__plus__ ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS3, L.FFS5 ],
+              couplings = {(0,0):C.GC_19,(0,1):C.GC_22})
+
+V_47 = Vertex(name = 'V_47',
+              particles = [ P.t__tilde__, P.b, P.h__plus__ ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS3, L.FFS5 ],
+              couplings = {(0,0):C.GC_20,(0,1):C.GC_23})
+
+V_48 = Vertex(name = 'V_48',
+              particles = [ P.ve__tilde__, P.e__minus__, P.h__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.FFS3 ],
+              couplings = {(0,0):C.GC_263})
+
+V_49 = Vertex(name = 'V_49',
+              particles = [ P.vm__tilde__, P.mu__minus__, P.h__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.FFS3 ],
+              couplings = {(0,0):C.GC_268})
+
+V_50 = Vertex(name = 'V_50',
+              particles = [ P.vt__tilde__, P.ta__minus__, P.h__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.FFS3 ],
+              couplings = {(0,0):C.GC_277})
+
+V_51 = Vertex(name = 'V_51',
+              particles = [ P.u__tilde__, P.d, P.G__plus__ ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS3, L.FFS5 ],
+              couplings = {(0,0):C.GC_24,(0,1):C.GC_27})
+
+V_52 = Vertex(name = 'V_52',
+              particles = [ P.c__tilde__, P.s, P.G__plus__ ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS3, L.FFS5 ],
+              couplings = {(0,0):C.GC_25,(0,1):C.GC_28})
+
+V_53 = Vertex(name = 'V_53',
+              particles = [ P.t__tilde__, P.b, P.G__plus__ ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS3, L.FFS5 ],
+              couplings = {(0,0):C.GC_26,(0,1):C.GC_29})
+
+V_54 = Vertex(name = 'V_54',
+              particles = [ P.d__tilde__, P.d, P.G0 ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS4 ],
+              couplings = {(0,0):C.GC_244})
+
+V_55 = Vertex(name = 'V_55',
+              particles = [ P.s__tilde__, P.s, P.G0 ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS4 ],
+              couplings = {(0,0):C.GC_284})
+
+V_56 = Vertex(name = 'V_56',
+              particles = [ P.b__tilde__, P.b, P.G0 ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS4 ],
+              couplings = {(0,0):C.GC_241})
+
+V_57 = Vertex(name = 'V_57',
+              particles = [ P.ve__tilde__, P.e__minus__, P.G__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.FFS3 ],
+              couplings = {(0,0):C.GC_245})
+
+V_58 = Vertex(name = 'V_58',
+              particles = [ P.vm__tilde__, P.mu__minus__, P.G__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.FFS3 ],
+              couplings = {(0,0):C.GC_247})
+
+V_59 = Vertex(name = 'V_59',
+              particles = [ P.vt__tilde__, P.ta__minus__, P.G__plus__ ],
+              color = [ '1' ],
+              lorentz = [ L.FFS3 ],
+              couplings = {(0,0):C.GC_291})
+
+V_60 = Vertex(name = 'V_60',
+              particles = [ P.e__plus__, P.e__minus__, P.G0 ],
+              color = [ '1' ],
+              lorentz = [ L.FFS4 ],
+              couplings = {(0,0):C.GC_246})
+
+V_61 = Vertex(name = 'V_61',
+              particles = [ P.mu__plus__, P.mu__minus__, P.G0 ],
+              color = [ '1' ],
+              lorentz = [ L.FFS4 ],
+              couplings = {(0,0):C.GC_248})
+
+V_62 = Vertex(name = 'V_62',
+              particles = [ P.ta__plus__, P.ta__minus__, P.G0 ],
+              color = [ '1' ],
+              lorentz = [ L.FFS4 ],
+              couplings = {(0,0):C.GC_292})
+
+V_63 = Vertex(name = 'V_63',
+              particles = [ P.d__tilde__, P.u, P.G__minus__ ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS3, L.FFS5 ],
+              couplings = {(0,0):C.GC_30,(0,1):C.GC_33})
+
+V_64 = Vertex(name = 'V_64',
+              particles = [ P.s__tilde__, P.c, P.G__minus__ ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS3, L.FFS5 ],
+              couplings = {(0,0):C.GC_31,(0,1):C.GC_34})
+
+V_65 = Vertex(name = 'V_65',
+              particles = [ P.b__tilde__, P.t, P.G__minus__ ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS3, L.FFS5 ],
+              couplings = {(0,0):C.GC_32,(0,1):C.GC_35})
+
+V_66 = Vertex(name = 'V_66',
+              particles = [ P.u__tilde__, P.u, P.G0 ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS3, L.FFS5 ],
+              couplings = {(0,0):C.GC_296,(0,1):C.GC_295})
+
+V_67 = Vertex(name = 'V_67',
+              particles = [ P.c__tilde__, P.c, P.G0 ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS3, L.FFS5 ],
+              couplings = {(0,0):C.GC_243,(0,1):C.GC_242})
+
+V_68 = Vertex(name = 'V_68',
+              particles = [ P.t__tilde__, P.t, P.G0 ],
+              color = [ 'Identity(1,2)' ],
+              lorentz = [ L.FFS3, L.FFS5 ],
+              couplings = {(0,0):C.GC_288,(0,1):C.GC_287})
+
+V_69 = Vertex(name = 'V_69',
+              particles = [ P.e__plus__, P.ve, P.h__minus__ ],
+              color = [ '1' ],
+              lorentz = [ L.FFS5 ],
+              couplings = {(0,0):C.GC_263})
+
+V_70 = Vertex(name = 'V_70',
+              particles = [ P.mu__plus__, P.vm, P.h__minus__ ],
+              color = [ '1' ],
+              lorentz = [ L.FFS5 ],
+              couplings = {(0,0):C.GC_268})
+
+V_71 = Vertex(name = 'V_71',
+              particles = [ P.ta__plus__, P.vt, P.h__minus__ ],
+              color = [ '1' ],
+              lorentz = [ L.FFS5 ],
+              couplings = {(0,0):C.GC_277})
+
+V_72 = Vertex(name = 'V_72',
+              particles = [ P.G0, P.G__minus__, P.G__plus__, P.h3 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_113})
+
+V_73 = Vertex(name = 'V_73',
+              particles = [ P.G0, P.G__minus__, P.G__plus__, P.h4 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_133})
+
+V_74 = Vertex(name = 'V_74',
+              particles = [ P.G__minus__, P.G__plus__, P.h1 ],
+              color = [ '1' ],
+              lorentz = [ L.SSS1 ],
+              couplings = {(0,0):C.GC_218})
+
+V_75 = Vertex(name = 'V_75',
+              particles = [ P.G__minus__, P.G__plus__, P.h2 ],
+              color = [ '1' ],
+              lorentz = [ L.SSS1 ],
+              couplings = {(0,0):C.GC_222})
+
+V_76 = Vertex(name = 'V_76',
+              particles = [ P.G__minus__, P.G__plus__, P.h1, P.h1 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_83})
+
+V_77 = Vertex(name = 'V_77',
+              particles = [ P.G__minus__, P.G__plus__, P.h1, P.h2 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_96})
+
+V_78 = Vertex(name = 'V_78',
+              particles = [ P.G__minus__, P.G__plus__, P.h2, P.h2 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_103})
+
+V_79 = Vertex(name = 'V_79',
+              particles = [ P.G__minus__, P.G__plus__, P.h3, P.h3 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_161})
+
+V_80 = Vertex(name = 'V_80',
+              particles = [ P.G__minus__, P.G__plus__, P.h3, P.h4 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_179})
+
+V_81 = Vertex(name = 'V_81',
+              particles = [ P.G__minus__, P.G__plus__, P.h4, P.h4 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_188})
+
+V_82 = Vertex(name = 'V_82',
+              particles = [ P.G0, P.G0, P.G0, P.h3 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_114})
+
+V_83 = Vertex(name = 'V_83',
+              particles = [ P.G0, P.G0, P.G0, P.h4 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_134})
+
+V_84 = Vertex(name = 'V_84',
+              particles = [ P.G0, P.G0, P.h1 ],
+              color = [ '1' ],
+              lorentz = [ L.SSS1 ],
+              couplings = {(0,0):C.GC_218})
+
+V_85 = Vertex(name = 'V_85',
+              particles = [ P.G0, P.G0, P.h2 ],
+              color = [ '1' ],
+              lorentz = [ L.SSS1 ],
+              couplings = {(0,0):C.GC_222})
+
+V_86 = Vertex(name = 'V_86',
+              particles = [ P.G0, P.G0, P.h1, P.h1 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_84})
+
+V_87 = Vertex(name = 'V_87',
+              particles = [ P.G0, P.G0, P.h1, P.h2 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_97})
+
+V_88 = Vertex(name = 'V_88',
+              particles = [ P.G0, P.G0, P.h2, P.h2 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_104})
+
+V_89 = Vertex(name = 'V_89',
+              particles = [ P.G0, P.G0, P.h3, P.h3 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_162})
+
+V_90 = Vertex(name = 'V_90',
+              particles = [ P.G0, P.G0, P.h3, P.h4 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_180})
+
+V_91 = Vertex(name = 'V_91',
+              particles = [ P.G0, P.G0, P.h4, P.h4 ],
+              color = [ '1' ],
+              lorentz = [ L.SSSS1 ],
+              couplings = {(0,0):C.GC_189})
+
+V_92 = Vertex(name = 'V_92',
+              particles = [ P.G0, P.h1, P.h3 ],
+              color = [ '1' ],
+              lorentz = [ L.SSS1 ],
+              couplings = {(0,0):C.GC_156})
+
+V_93 = Vertex(name = 'V_93',
+              particles = [ P.G0, P.h1, P.h3 ],
+              color = [ '1' ],
+              lorentz = [ L.SSS1 ],
+              couplings = {(0,0):C.GC_229})
+
+V_94 = Vertex(name = 'V_94',
+              particles = [ P.G0, P.h1, P.h4 ],
+              color = [ '1' ],
+              lorentz = [ L.SSS1 ],
+              couplings = {(0,0):C.GC_172})
+
+V_95 = Vertex(name = 'V_95',
+              particles = [ P.G0, P.h1, P.h4 ],
+              color = [ '1' ],
+              lorentz = [ L.SSS1 ],
+              couplings = {(0,0):C.GC_233})
+
+V_96 = Vertex(name = 'V_96',
+              particles = [ P.G0, P.h2, P.h3 ],
+              color = [ '1' ],
+              lorentz = [ L.SSS1 ],
+              couplings = {(0,0):C.GC_157})
+
+V_97 = Vertex(name = 'V_97',
+              particles = [ P.G0, P.h2, P.h3 ],
+              color = [ '1' ],
+              lorentz = [ L.SSS1 ],
+              couplings = {(0,0):C.GC_230})
+
+V_98 = Vertex(name = 'V_98',
+              particles = [ P.G0, P.h2, P.h4 ],
+              color = [ '1' ],
+              lorentz = [ L.SSS1 ],
+              couplings = {(0,0):C.GC_173})
+
+V_99 = Vertex(name = 'V_99',
+              particles = [ P.G0, P.h2, P.h4 ],
+              color = [ '1' ],
+              lorentz = [ L.SSS1 ],
+              couplings = {(0,0):C.GC_234})
+
+V_100 = Vertex(name = 'V_100',
+               particles = [ P.G0, P.h1, P.h1, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_126})
+
+V_101 = Vertex(name = 'V_101',
+               particles = [ P.G0, P.h1, P.h1, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_147})
+
+V_102 = Vertex(name = 'V_102',
+               particles = [ P.G0, P.h1, P.h2, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_128})
+
+V_103 = Vertex(name = 'V_103',
+               particles = [ P.G0, P.h1, P.h2, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_149})
+
+V_104 = Vertex(name = 'V_104',
+               particles = [ P.G0, P.h2, P.h2, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_129})
+
+V_105 = Vertex(name = 'V_105',
+               particles = [ P.G0, P.h2, P.h2, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_150})
+
+V_106 = Vertex(name = 'V_106',
+               particles = [ P.G0, P.h3, P.h3, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_167})
+
+V_107 = Vertex(name = 'V_107',
+               particles = [ P.G0, P.h3, P.h3, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_185})
+
+V_108 = Vertex(name = 'V_108',
+               particles = [ P.G0, P.h3, P.h4, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_194})
+
+V_109 = Vertex(name = 'V_109',
+               particles = [ P.G0, P.h4, P.h4, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_196})
+
+V_110 = Vertex(name = 'V_110',
+               particles = [ P.h1, P.h1, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_220})
+
+V_111 = Vertex(name = 'V_111',
+               particles = [ P.h1, P.h1, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_224})
+
+V_112 = Vertex(name = 'V_112',
+               particles = [ P.h1, P.h2, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_225})
+
+V_113 = Vertex(name = 'V_113',
+               particles = [ P.h1, P.h3, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_158})
+
+V_114 = Vertex(name = 'V_114',
+               particles = [ P.h1, P.h3, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_235})
+
+V_115 = Vertex(name = 'V_115',
+               particles = [ P.h1, P.h3, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_176})
+
+V_116 = Vertex(name = 'V_116',
+               particles = [ P.h1, P.h3, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_237})
+
+V_117 = Vertex(name = 'V_117',
+               particles = [ P.h1, P.h4, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_174})
+
+V_118 = Vertex(name = 'V_118',
+               particles = [ P.h1, P.h4, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_239})
+
+V_119 = Vertex(name = 'V_119',
+               particles = [ P.h2, P.h2, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_226})
+
+V_120 = Vertex(name = 'V_120',
+               particles = [ P.h2, P.h3, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_159})
+
+V_121 = Vertex(name = 'V_121',
+               particles = [ P.h2, P.h3, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_236})
+
+V_122 = Vertex(name = 'V_122',
+               particles = [ P.h2, P.h3, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_177})
+
+V_123 = Vertex(name = 'V_123',
+               particles = [ P.h2, P.h3, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_238})
+
+V_124 = Vertex(name = 'V_124',
+               particles = [ P.h2, P.h4, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_175})
+
+V_125 = Vertex(name = 'V_125',
+               particles = [ P.h2, P.h4, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_240})
+
+V_126 = Vertex(name = 'V_126',
+               particles = [ P.h1, P.h1, P.h1, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_88})
+
+V_127 = Vertex(name = 'V_127',
+               particles = [ P.h1, P.h1, P.h1, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_101})
+
+V_128 = Vertex(name = 'V_128',
+               particles = [ P.h1, P.h1, P.h2, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_108})
+
+V_129 = Vertex(name = 'V_129',
+               particles = [ P.h1, P.h1, P.h3, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_164})
+
+V_130 = Vertex(name = 'V_130',
+               particles = [ P.h1, P.h1, P.h3, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_182})
+
+V_131 = Vertex(name = 'V_131',
+               particles = [ P.h1, P.h1, P.h4, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_191})
+
+V_132 = Vertex(name = 'V_132',
+               particles = [ P.h1, P.h2, P.h2, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_109})
+
+V_133 = Vertex(name = 'V_133',
+               particles = [ P.h1, P.h2, P.h3, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_165})
+
+V_134 = Vertex(name = 'V_134',
+               particles = [ P.h1, P.h2, P.h3, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_183})
+
+V_135 = Vertex(name = 'V_135',
+               particles = [ P.h1, P.h2, P.h4, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_192})
+
+V_136 = Vertex(name = 'V_136',
+               particles = [ P.h2, P.h2, P.h2, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_110})
+
+V_137 = Vertex(name = 'V_137',
+               particles = [ P.h2, P.h2, P.h3, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_166})
+
+V_138 = Vertex(name = 'V_138',
+               particles = [ P.h2, P.h2, P.h3, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_184})
+
+V_139 = Vertex(name = 'V_139',
+               particles = [ P.h2, P.h2, P.h4, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_193})
+
+V_140 = Vertex(name = 'V_140',
+               particles = [ P.h3, P.h3, P.h3, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_168})
+
+V_141 = Vertex(name = 'V_141',
+               particles = [ P.h3, P.h3, P.h3, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_186})
+
+V_142 = Vertex(name = 'V_142',
+               particles = [ P.h3, P.h3, P.h4, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_195})
+
+V_143 = Vertex(name = 'V_143',
+               particles = [ P.h3, P.h4, P.h4, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_197})
+
+V_144 = Vertex(name = 'V_144',
+               particles = [ P.h4, P.h4, P.h4, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_198})
+
+V_145 = Vertex(name = 'V_145',
+               particles = [ P.G0, P.G__plus__, P.h1, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_80})
+
+V_146 = Vertex(name = 'V_146',
+               particles = [ P.G0, P.G__plus__, P.h2, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_93})
+
+V_147 = Vertex(name = 'V_147',
+               particles = [ P.G0, P.G__plus__, P.h3, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_120})
+
+V_148 = Vertex(name = 'V_148',
+               particles = [ P.G0, P.G__plus__, P.h4, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_141})
+
+V_149 = Vertex(name = 'V_149',
+               particles = [ P.G__plus__, P.h1, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_217})
+
+V_150 = Vertex(name = 'V_150',
+               particles = [ P.G__plus__, P.h2, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_221})
+
+V_151 = Vertex(name = 'V_151',
+               particles = [ P.G__plus__, P.h3, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_155})
+
+V_152 = Vertex(name = 'V_152',
+               particles = [ P.G__plus__, P.h3, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_228})
+
+V_153 = Vertex(name = 'V_153',
+               particles = [ P.G__plus__, P.h4, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_171})
+
+V_154 = Vertex(name = 'V_154',
+               particles = [ P.G__plus__, P.h4, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_232})
+
+V_155 = Vertex(name = 'V_155',
+               particles = [ P.G__plus__, P.h1, P.h1, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_85})
+
+V_156 = Vertex(name = 'V_156',
+               particles = [ P.G__plus__, P.h1, P.h2, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_98})
+
+V_157 = Vertex(name = 'V_157',
+               particles = [ P.G__plus__, P.h1, P.h3, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_122})
+
+V_158 = Vertex(name = 'V_158',
+               particles = [ P.G__plus__, P.h1, P.h4, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_143})
+
+V_159 = Vertex(name = 'V_159',
+               particles = [ P.G__plus__, P.h2, P.h2, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_105})
+
+V_160 = Vertex(name = 'V_160',
+               particles = [ P.G__plus__, P.h2, P.h3, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_124})
+
+V_161 = Vertex(name = 'V_161',
+               particles = [ P.G__plus__, P.h2, P.h4, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_145})
+
+V_162 = Vertex(name = 'V_162',
+               particles = [ P.G__plus__, P.h3, P.h3, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_160})
+
+V_163 = Vertex(name = 'V_163',
+               particles = [ P.G__plus__, P.h3, P.h4, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_178})
+
+V_164 = Vertex(name = 'V_164',
+               particles = [ P.G__plus__, P.h4, P.h4, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_187})
+
+V_165 = Vertex(name = 'V_165',
+               particles = [ P.G0, P.G__minus__, P.h1, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_81})
+
+V_166 = Vertex(name = 'V_166',
+               particles = [ P.G0, P.G__minus__, P.h2, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_94})
+
+V_167 = Vertex(name = 'V_167',
+               particles = [ P.G0, P.G__minus__, P.h3, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_120})
+
+V_168 = Vertex(name = 'V_168',
+               particles = [ P.G0, P.G__minus__, P.h4, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_141})
+
+V_169 = Vertex(name = 'V_169',
+               particles = [ P.G__minus__, P.h1, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_217})
+
+V_170 = Vertex(name = 'V_170',
+               particles = [ P.G__minus__, P.h2, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_221})
+
+V_171 = Vertex(name = 'V_171',
+               particles = [ P.G__minus__, P.h3, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_154})
+
+V_172 = Vertex(name = 'V_172',
+               particles = [ P.G__minus__, P.h3, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_227})
+
+V_173 = Vertex(name = 'V_173',
+               particles = [ P.G__minus__, P.h4, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_170})
+
+V_174 = Vertex(name = 'V_174',
+               particles = [ P.G__minus__, P.h4, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_231})
+
+V_175 = Vertex(name = 'V_175',
+               particles = [ P.G__minus__, P.h1, P.h1, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_85})
+
+V_176 = Vertex(name = 'V_176',
+               particles = [ P.G__minus__, P.h1, P.h2, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_98})
+
+V_177 = Vertex(name = 'V_177',
+               particles = [ P.G__minus__, P.h1, P.h3, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_121})
+
+V_178 = Vertex(name = 'V_178',
+               particles = [ P.G__minus__, P.h1, P.h4, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_142})
+
+V_179 = Vertex(name = 'V_179',
+               particles = [ P.G__minus__, P.h2, P.h2, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_105})
+
+V_180 = Vertex(name = 'V_180',
+               particles = [ P.G__minus__, P.h2, P.h3, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_123})
+
+V_181 = Vertex(name = 'V_181',
+               particles = [ P.G__minus__, P.h2, P.h4, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_144})
+
+V_182 = Vertex(name = 'V_182',
+               particles = [ P.G__minus__, P.h3, P.h3, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_160})
+
+V_183 = Vertex(name = 'V_183',
+               particles = [ P.G__minus__, P.h3, P.h4, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_178})
+
+V_184 = Vertex(name = 'V_184',
+               particles = [ P.G__minus__, P.h4, P.h4, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_187})
+
+V_185 = Vertex(name = 'V_185',
+               particles = [ P.G0, P.h3, P.h__minus__, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_115})
+
+V_186 = Vertex(name = 'V_186',
+               particles = [ P.G0, P.h4, P.h__minus__, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_135})
+
+V_187 = Vertex(name = 'V_187',
+               particles = [ P.h1, P.h__minus__, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_219})
+
+V_188 = Vertex(name = 'V_188',
+               particles = [ P.h2, P.h__minus__, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSS1 ],
+               couplings = {(0,0):C.GC_223})
+
+V_189 = Vertex(name = 'V_189',
+               particles = [ P.h1, P.h1, P.h__minus__, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_82})
+
+V_190 = Vertex(name = 'V_190',
+               particles = [ P.h1, P.h2, P.h__minus__, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_95})
+
+V_191 = Vertex(name = 'V_191',
+               particles = [ P.h2, P.h2, P.h__minus__, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_102})
+
+V_192 = Vertex(name = 'V_192',
+               particles = [ P.h3, P.h3, P.h__minus__, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_163})
+
+V_193 = Vertex(name = 'V_193',
+               particles = [ P.h3, P.h4, P.h__minus__, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_181})
+
+V_194 = Vertex(name = 'V_194',
+               particles = [ P.h4, P.h4, P.h__minus__, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.SSSS1 ],
+               couplings = {(0,0):C.GC_190})
+
+V_195 = Vertex(name = 'V_195',
+               particles = [ P.u__tilde__, P.u, P.h1 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               couplings = {(0,0):C.GC_297,(0,1):C.GC_297})
+
+V_196 = Vertex(name = 'V_196',
+               particles = [ P.u__tilde__, P.u, P.h2 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               couplings = {(0,0):C.GC_298,(0,1):C.GC_298})
+
+V_197 = Vertex(name = 'V_197',
+               particles = [ P.u__tilde__, P.u, P.h3 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               couplings = {(0,0):C.GC_280,(0,1):C.GC_281})
+
+V_198 = Vertex(name = 'V_198',
+               particles = [ P.u__tilde__, P.u, P.h4 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               couplings = {(0,0):C.GC_282,(0,1):C.GC_283})
+
+V_199 = Vertex(name = 'V_199',
+               particles = [ P.c__tilde__, P.c, P.h1 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               couplings = {(0,0):C.GC_257,(0,1):C.GC_257})
+
+V_200 = Vertex(name = 'V_200',
+               particles = [ P.c__tilde__, P.c, P.h2 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               couplings = {(0,0):C.GC_258,(0,1):C.GC_258})
+
+V_201 = Vertex(name = 'V_201',
+               particles = [ P.c__tilde__, P.c, P.h3 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               couplings = {(0,0):C.GC_253,(0,1):C.GC_254})
+
+V_202 = Vertex(name = 'V_202',
+               particles = [ P.c__tilde__, P.c, P.h4 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               couplings = {(0,0):C.GC_255,(0,1):C.GC_256})
+
+V_203 = Vertex(name = 'V_203',
+               particles = [ P.t__tilde__, P.t, P.h1 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS3, L.FFS5 ],
+               couplings = {(0,0):C.GC_289,(0,1):C.GC_289})
+
+V_204 = Vertex(name = 'V_204',
+               particles = [ P.t__tilde__, P.t, P.h2 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS6 ],
+               couplings = {(0,0):C.GC_290})
+
+V_205 = Vertex(name = 'V_205',
+               particles = [ P.t__tilde__, P.t, P.h3 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS4 ],
+               couplings = {(0,0):C.GC_275})
+
+V_206 = Vertex(name = 'V_206',
+               particles = [ P.t__tilde__, P.t, P.h4 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS4 ],
+               couplings = {(0,0):C.GC_276})
+
+V_207 = Vertex(name = 'V_207',
+               particles = [ P.d__tilde__, P.d, P.h1 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS6 ],
+               couplings = {(0,0):C.GC_261})
+
+V_208 = Vertex(name = 'V_208',
+               particles = [ P.d__tilde__, P.d, P.h2 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS6 ],
+               couplings = {(0,0):C.GC_262})
+
+V_209 = Vertex(name = 'V_209',
+               particles = [ P.d__tilde__, P.d, P.h3 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS4 ],
+               couplings = {(0,0):C.GC_259})
+
+V_210 = Vertex(name = 'V_210',
+               particles = [ P.d__tilde__, P.d, P.h4 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS4 ],
+               couplings = {(0,0):C.GC_260})
+
+V_211 = Vertex(name = 'V_211',
+               particles = [ P.s__tilde__, P.s, P.h1 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS6 ],
+               couplings = {(0,0):C.GC_285})
+
+V_212 = Vertex(name = 'V_212',
+               particles = [ P.s__tilde__, P.s, P.h2 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS6 ],
+               couplings = {(0,0):C.GC_286})
+
+V_213 = Vertex(name = 'V_213',
+               particles = [ P.s__tilde__, P.s, P.h3 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS4 ],
+               couplings = {(0,0):C.GC_273})
+
+V_214 = Vertex(name = 'V_214',
+               particles = [ P.s__tilde__, P.s, P.h4 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS4 ],
+               couplings = {(0,0):C.GC_274})
+
+V_215 = Vertex(name = 'V_215',
+               particles = [ P.b__tilde__, P.b, P.h1 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS6 ],
+               couplings = {(0,0):C.GC_251})
+
+V_216 = Vertex(name = 'V_216',
+               particles = [ P.b__tilde__, P.b, P.h2 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS6 ],
+               couplings = {(0,0):C.GC_252})
+
+V_217 = Vertex(name = 'V_217',
+               particles = [ P.b__tilde__, P.b, P.h3 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS4 ],
+               couplings = {(0,0):C.GC_249})
+
+V_218 = Vertex(name = 'V_218',
+               particles = [ P.b__tilde__, P.b, P.h4 ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFS4 ],
+               couplings = {(0,0):C.GC_250})
+
+V_219 = Vertex(name = 'V_219',
+               particles = [ P.e__plus__, P.e__minus__, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.FFS6 ],
+               couplings = {(0,0):C.GC_266})
+
+V_220 = Vertex(name = 'V_220',
+               particles = [ P.e__plus__, P.e__minus__, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.FFS6 ],
+               couplings = {(0,0):C.GC_267})
+
+V_221 = Vertex(name = 'V_221',
+               particles = [ P.e__plus__, P.e__minus__, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.FFS4 ],
+               couplings = {(0,0):C.GC_264})
+
+V_222 = Vertex(name = 'V_222',
+               particles = [ P.e__plus__, P.e__minus__, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.FFS4 ],
+               couplings = {(0,0):C.GC_265})
+
+V_223 = Vertex(name = 'V_223',
+               particles = [ P.mu__plus__, P.mu__minus__, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.FFS6 ],
+               couplings = {(0,0):C.GC_271})
+
+V_224 = Vertex(name = 'V_224',
+               particles = [ P.mu__plus__, P.mu__minus__, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.FFS6 ],
+               couplings = {(0,0):C.GC_272})
+
+V_225 = Vertex(name = 'V_225',
+               particles = [ P.mu__plus__, P.mu__minus__, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.FFS4 ],
+               couplings = {(0,0):C.GC_269})
+
+V_226 = Vertex(name = 'V_226',
+               particles = [ P.mu__plus__, P.mu__minus__, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.FFS4 ],
+               couplings = {(0,0):C.GC_270})
+
+V_227 = Vertex(name = 'V_227',
+               particles = [ P.ta__plus__, P.ta__minus__, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.FFS6 ],
+               couplings = {(0,0):C.GC_293})
+
+V_228 = Vertex(name = 'V_228',
+               particles = [ P.ta__plus__, P.ta__minus__, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.FFS6 ],
+               couplings = {(0,0):C.GC_294})
+
+V_229 = Vertex(name = 'V_229',
+               particles = [ P.ta__plus__, P.ta__minus__, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.FFS4 ],
+               couplings = {(0,0):C.GC_278})
+
+V_230 = Vertex(name = 'V_230',
+               particles = [ P.ta__plus__, P.ta__minus__, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.FFS4 ],
+               couplings = {(0,0):C.GC_279})
+
+V_231 = Vertex(name = 'V_231',
+               particles = [ P.ghZ, P.ghZ__tilde__, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.UUS1 ],
+               couplings = {(0,0):C.GC_213})
+
+V_232 = Vertex(name = 'V_232',
+               particles = [ P.ghZ, P.ghZ__tilde__, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.UUS1 ],
+               couplings = {(0,0):C.GC_215})
+
+V_233 = Vertex(name = 'V_233',
+               particles = [ P.ghWm, P.ghWm__tilde__, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.UUS1 ],
+               couplings = {(0,0):C.GC_205})
+
+V_234 = Vertex(name = 'V_234',
+               particles = [ P.ghWm, P.ghWm__tilde__, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.UUS1 ],
+               couplings = {(0,0):C.GC_207})
+
+V_235 = Vertex(name = 'V_235',
+               particles = [ P.ghWp, P.ghWp__tilde__, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.UUS1 ],
+               couplings = {(0,0):C.GC_205})
+
+V_236 = Vertex(name = 'V_236',
+               particles = [ P.ghWp, P.ghWp__tilde__, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.UUS1 ],
+               couplings = {(0,0):C.GC_207})
+
+V_237 = Vertex(name = 'V_237',
+               particles = [ P.Xd__tilde__, P.Xd, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.FFS1 ],
+               couplings = {(0,0):C.GC_153})
+
+V_238 = Vertex(name = 'V_238',
+               particles = [ P.Xd__tilde__, P.Xd, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.FFS1 ],
+               couplings = {(0,0):C.GC_169})
+
+V_239 = Vertex(name = 'V_239',
+               particles = [ P.a, P.W__minus__, P.G0, P.G__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_53})
+
+V_240 = Vertex(name = 'V_240',
+               particles = [ P.a, P.W__minus__, P.G__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVS1 ],
+               couplings = {(0,0):C.GC_203})
+
+V_241 = Vertex(name = 'V_241',
+               particles = [ P.W__minus__, P.G0, P.G__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_49})
+
+V_242 = Vertex(name = 'V_242',
+               particles = [ P.a, P.W__minus__, P.W__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVV2 ],
+               couplings = {(0,0):C.GC_4})
+
+V_243 = Vertex(name = 'V_243',
+               particles = [ P.W__minus__, P.G__plus__, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_68})
+
+V_244 = Vertex(name = 'V_244',
+               particles = [ P.W__minus__, P.G__plus__, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_73})
+
+V_245 = Vertex(name = 'V_245',
+               particles = [ P.a, P.W__minus__, P.G__plus__, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_69})
+
+V_246 = Vertex(name = 'V_246',
+               particles = [ P.a, P.W__minus__, P.G__plus__, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_74})
+
+V_247 = Vertex(name = 'V_247',
+               particles = [ P.W__minus__, P.h1, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_77})
+
+V_248 = Vertex(name = 'V_248',
+               particles = [ P.W__minus__, P.h2, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_90})
+
+V_249 = Vertex(name = 'V_249',
+               particles = [ P.W__minus__, P.h3, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_116})
+
+V_250 = Vertex(name = 'V_250',
+               particles = [ P.W__minus__, P.h4, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_136})
+
+V_251 = Vertex(name = 'V_251',
+               particles = [ P.a, P.W__minus__, P.h1, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_79})
+
+V_252 = Vertex(name = 'V_252',
+               particles = [ P.a, P.W__minus__, P.h2, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_92})
+
+V_253 = Vertex(name = 'V_253',
+               particles = [ P.a, P.W__minus__, P.h3, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_117})
+
+V_254 = Vertex(name = 'V_254',
+               particles = [ P.a, P.W__minus__, P.h4, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_137})
+
+V_255 = Vertex(name = 'V_255',
+               particles = [ P.a, P.W__plus__, P.G0, P.G__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_54})
+
+V_256 = Vertex(name = 'V_256',
+               particles = [ P.a, P.W__plus__, P.G__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVS1 ],
+               couplings = {(0,0):C.GC_203})
+
+V_257 = Vertex(name = 'V_257',
+               particles = [ P.W__plus__, P.G0, P.G__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_49})
+
+V_258 = Vertex(name = 'V_258',
+               particles = [ P.W__plus__, P.G__minus__, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_67})
+
+V_259 = Vertex(name = 'V_259',
+               particles = [ P.W__plus__, P.G__minus__, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_72})
+
+V_260 = Vertex(name = 'V_260',
+               particles = [ P.a, P.W__plus__, P.G__minus__, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_69})
+
+V_261 = Vertex(name = 'V_261',
+               particles = [ P.a, P.W__plus__, P.G__minus__, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_74})
+
+V_262 = Vertex(name = 'V_262',
+               particles = [ P.W__plus__, P.h1, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_78})
+
+V_263 = Vertex(name = 'V_263',
+               particles = [ P.W__plus__, P.h2, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_91})
+
+V_264 = Vertex(name = 'V_264',
+               particles = [ P.W__plus__, P.h3, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_116})
+
+V_265 = Vertex(name = 'V_265',
+               particles = [ P.W__plus__, P.h4, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_136})
+
+V_266 = Vertex(name = 'V_266',
+               particles = [ P.a, P.W__plus__, P.h1, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_79})
+
+V_267 = Vertex(name = 'V_267',
+               particles = [ P.a, P.W__plus__, P.h2, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_92})
+
+V_268 = Vertex(name = 'V_268',
+               particles = [ P.a, P.W__plus__, P.h3, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_118})
+
+V_269 = Vertex(name = 'V_269',
+               particles = [ P.a, P.W__plus__, P.h4, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_138})
+
+V_270 = Vertex(name = 'V_270',
+               particles = [ P.W__minus__, P.W__plus__, P.G0, P.G0 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_46})
+
+V_271 = Vertex(name = 'V_271',
+               particles = [ P.W__minus__, P.W__plus__, P.G__minus__, P.G__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_46})
+
+V_272 = Vertex(name = 'V_272',
+               particles = [ P.W__minus__, P.W__plus__, P.h__minus__, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_46})
+
+V_273 = Vertex(name = 'V_273',
+               particles = [ P.a, P.a, P.W__minus__, P.W__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVVV6 ],
+               couplings = {(0,0):C.GC_5})
+
+V_274 = Vertex(name = 'V_274',
+               particles = [ P.W__minus__, P.W__plus__, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.VVS1 ],
+               couplings = {(0,0):C.GC_206})
+
+V_275 = Vertex(name = 'V_275',
+               particles = [ P.W__minus__, P.W__plus__, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.VVS1 ],
+               couplings = {(0,0):C.GC_208})
+
+V_276 = Vertex(name = 'V_276',
+               particles = [ P.W__minus__, P.W__plus__, P.h1, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_86})
+
+V_277 = Vertex(name = 'V_277',
+               particles = [ P.W__minus__, P.W__plus__, P.h1, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_99})
+
+V_278 = Vertex(name = 'V_278',
+               particles = [ P.W__minus__, P.W__plus__, P.h2, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_106})
+
+V_279 = Vertex(name = 'V_279',
+               particles = [ P.W__minus__, P.W__plus__, P.h3, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_119})
+
+V_280 = Vertex(name = 'V_280',
+               particles = [ P.W__minus__, P.W__plus__, P.h3, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_139})
+
+V_281 = Vertex(name = 'V_281',
+               particles = [ P.W__minus__, P.W__plus__, P.h4, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_140})
+
+V_282 = Vertex(name = 'V_282',
+               particles = [ P.W__minus__, P.W__plus__, P.Z ],
+               color = [ '1' ],
+               lorentz = [ L.VVV2 ],
+               couplings = {(0,0):C.GC_52})
+
+V_283 = Vertex(name = 'V_283',
+               particles = [ P.W__minus__, P.W__minus__, P.W__plus__, P.W__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVVV6 ],
+               couplings = {(0,0):C.GC_47})
+
+V_284 = Vertex(name = 'V_284',
+               particles = [ P.e__plus__, P.ve, P.G__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.FFS5 ],
+               couplings = {(0,0):C.GC_245})
+
+V_285 = Vertex(name = 'V_285',
+               particles = [ P.mu__plus__, P.vm, P.G__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.FFS5 ],
+               couplings = {(0,0):C.GC_247})
+
+V_286 = Vertex(name = 'V_286',
+               particles = [ P.ta__plus__, P.vt, P.G__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.FFS5 ],
+               couplings = {(0,0):C.GC_291})
+
+V_287 = Vertex(name = 'V_287',
+               particles = [ P.a, P.Z, P.G__minus__, P.G__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_63})
+
+V_288 = Vertex(name = 'V_288',
+               particles = [ P.a, P.Z, P.h__minus__, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_63})
+
+V_289 = Vertex(name = 'V_289',
+               particles = [ P.Z, P.G__minus__, P.G__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_61})
+
+V_290 = Vertex(name = 'V_290',
+               particles = [ P.Z, P.h__minus__, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_61})
+
+V_291 = Vertex(name = 'V_291',
+               particles = [ P.Z, P.G0, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_70})
+
+V_292 = Vertex(name = 'V_292',
+               particles = [ P.Z, P.G0, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_75})
+
+V_293 = Vertex(name = 'V_293',
+               particles = [ P.Z, P.h1, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_125})
+
+V_294 = Vertex(name = 'V_294',
+               particles = [ P.Z, P.h1, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_146})
+
+V_295 = Vertex(name = 'V_295',
+               particles = [ P.Z, P.h2, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_127})
+
+V_296 = Vertex(name = 'V_296',
+               particles = [ P.Z, P.h2, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.VSS1 ],
+               couplings = {(0,0):C.GC_148})
+
+V_297 = Vertex(name = 'V_297',
+               particles = [ P.W__minus__, P.Z, P.G0, P.G__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_8})
+
+V_298 = Vertex(name = 'V_298',
+               particles = [ P.W__minus__, P.Z, P.G__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVS1 ],
+               couplings = {(0,0):C.GC_199})
+
+V_299 = Vertex(name = 'V_299',
+               particles = [ P.W__minus__, P.Z, P.G__plus__, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_66})
+
+V_300 = Vertex(name = 'V_300',
+               particles = [ P.W__minus__, P.Z, P.G__plus__, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_71})
+
+V_301 = Vertex(name = 'V_301',
+               particles = [ P.W__minus__, P.Z, P.h1, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_76})
+
+V_302 = Vertex(name = 'V_302',
+               particles = [ P.W__minus__, P.Z, P.h2, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_89})
+
+V_303 = Vertex(name = 'V_303',
+               particles = [ P.W__minus__, P.Z, P.h3, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_112})
+
+V_304 = Vertex(name = 'V_304',
+               particles = [ P.W__minus__, P.Z, P.h4, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_132})
+
+V_305 = Vertex(name = 'V_305',
+               particles = [ P.W__plus__, P.Z, P.G0, P.G__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_7})
+
+V_306 = Vertex(name = 'V_306',
+               particles = [ P.W__plus__, P.Z, P.G__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVS1 ],
+               couplings = {(0,0):C.GC_199})
+
+V_307 = Vertex(name = 'V_307',
+               particles = [ P.W__plus__, P.Z, P.G__minus__, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_66})
+
+V_308 = Vertex(name = 'V_308',
+               particles = [ P.W__plus__, P.Z, P.G__minus__, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_71})
+
+V_309 = Vertex(name = 'V_309',
+               particles = [ P.W__plus__, P.Z, P.h1, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_76})
+
+V_310 = Vertex(name = 'V_310',
+               particles = [ P.W__plus__, P.Z, P.h2, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_89})
+
+V_311 = Vertex(name = 'V_311',
+               particles = [ P.W__plus__, P.Z, P.h3, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_111})
+
+V_312 = Vertex(name = 'V_312',
+               particles = [ P.W__plus__, P.Z, P.h4, P.h__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_131})
+
+V_313 = Vertex(name = 'V_313',
+               particles = [ P.a, P.W__minus__, P.W__plus__, P.Z ],
+               color = [ '1' ],
+               lorentz = [ L.VVVV9 ],
+               couplings = {(0,0):C.GC_55})
+
+V_314 = Vertex(name = 'V_314',
+               particles = [ P.Z, P.Z, P.G0, P.G0 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_65})
+
+V_315 = Vertex(name = 'V_315',
+               particles = [ P.Z, P.Z, P.G__minus__, P.G__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_64})
+
+V_316 = Vertex(name = 'V_316',
+               particles = [ P.Z, P.Z, P.h__minus__, P.h__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_64})
+
+V_317 = Vertex(name = 'V_317',
+               particles = [ P.Z, P.Z, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.VVS1 ],
+               couplings = {(0,0):C.GC_214})
+
+V_318 = Vertex(name = 'V_318',
+               particles = [ P.Z, P.Z, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.VVS1 ],
+               couplings = {(0,0):C.GC_216})
+
+V_319 = Vertex(name = 'V_319',
+               particles = [ P.Z, P.Z, P.h1, P.h1 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_87})
+
+V_320 = Vertex(name = 'V_320',
+               particles = [ P.Z, P.Z, P.h1, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_100})
+
+V_321 = Vertex(name = 'V_321',
+               particles = [ P.Z, P.Z, P.h2, P.h2 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_107})
+
+V_322 = Vertex(name = 'V_322',
+               particles = [ P.Z, P.Z, P.h3, P.h3 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_130})
+
+V_323 = Vertex(name = 'V_323',
+               particles = [ P.Z, P.Z, P.h3, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_151})
+
+V_324 = Vertex(name = 'V_324',
+               particles = [ P.Z, P.Z, P.h4, P.h4 ],
+               color = [ '1' ],
+               lorentz = [ L.VVSS1 ],
+               couplings = {(0,0):C.GC_152})
+
+V_325 = Vertex(name = 'V_325',
+               particles = [ P.W__minus__, P.W__plus__, P.Z, P.Z ],
+               color = [ '1' ],
+               lorentz = [ L.VVVV6 ],
+               couplings = {(0,0):C.GC_48})
+
+V_326 = Vertex(name = 'V_326',
+               particles = [ P.e__plus__, P.e__minus__, P.a ],
+               color = [ '1' ],
+               lorentz = [ L.FFV1 ],
+               couplings = {(0,0):C.GC_3})
+
+V_327 = Vertex(name = 'V_327',
+               particles = [ P.mu__plus__, P.mu__minus__, P.a ],
+               color = [ '1' ],
+               lorentz = [ L.FFV1 ],
+               couplings = {(0,0):C.GC_3})
+
+V_328 = Vertex(name = 'V_328',
+               particles = [ P.ta__plus__, P.ta__minus__, P.a ],
+               color = [ '1' ],
+               lorentz = [ L.FFV1 ],
+               couplings = {(0,0):C.GC_3})
+
+V_329 = Vertex(name = 'V_329',
+               particles = [ P.u__tilde__, P.u, P.a ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV1 ],
+               couplings = {(0,0):C.GC_2})
+
+V_330 = Vertex(name = 'V_330',
+               particles = [ P.c__tilde__, P.c, P.a ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV1 ],
+               couplings = {(0,0):C.GC_2})
+
+V_331 = Vertex(name = 'V_331',
+               particles = [ P.t__tilde__, P.t, P.a ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV1 ],
+               couplings = {(0,0):C.GC_2})
+
+V_332 = Vertex(name = 'V_332',
+               particles = [ P.d__tilde__, P.d, P.a ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV1 ],
+               couplings = {(0,0):C.GC_1})
+
+V_333 = Vertex(name = 'V_333',
+               particles = [ P.s__tilde__, P.s, P.a ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV1 ],
+               couplings = {(0,0):C.GC_1})
+
+V_334 = Vertex(name = 'V_334',
+               particles = [ P.b__tilde__, P.b, P.a ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV1 ],
+               couplings = {(0,0):C.GC_1})
+
+V_335 = Vertex(name = 'V_335',
+               particles = [ P.u__tilde__, P.u, P.g ],
+               color = [ 'T(3,2,1)' ],
+               lorentz = [ L.FFV1 ],
+               couplings = {(0,0):C.GC_10})
+
+V_336 = Vertex(name = 'V_336',
+               particles = [ P.c__tilde__, P.c, P.g ],
+               color = [ 'T(3,2,1)' ],
+               lorentz = [ L.FFV1 ],
+               couplings = {(0,0):C.GC_10})
+
+V_337 = Vertex(name = 'V_337',
+               particles = [ P.t__tilde__, P.t, P.g ],
+               color = [ 'T(3,2,1)' ],
+               lorentz = [ L.FFV1 ],
+               couplings = {(0,0):C.GC_10})
+
+V_338 = Vertex(name = 'V_338',
+               particles = [ P.d__tilde__, P.d, P.g ],
+               color = [ 'T(3,2,1)' ],
+               lorentz = [ L.FFV1 ],
+               couplings = {(0,0):C.GC_10})
+
+V_339 = Vertex(name = 'V_339',
+               particles = [ P.s__tilde__, P.s, P.g ],
+               color = [ 'T(3,2,1)' ],
+               lorentz = [ L.FFV1 ],
+               couplings = {(0,0):C.GC_10})
+
+V_340 = Vertex(name = 'V_340',
+               particles = [ P.b__tilde__, P.b, P.g ],
+               color = [ 'T(3,2,1)' ],
+               lorentz = [ L.FFV1 ],
+               couplings = {(0,0):C.GC_10})
+
+V_341 = Vertex(name = 'V_341',
+               particles = [ P.d__tilde__, P.u, P.W__minus__ ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV2 ],
+               couplings = {(0,0):C.GC_50})
+
+V_342 = Vertex(name = 'V_342',
+               particles = [ P.s__tilde__, P.c, P.W__minus__ ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV2 ],
+               couplings = {(0,0):C.GC_50})
+
+V_343 = Vertex(name = 'V_343',
+               particles = [ P.b__tilde__, P.t, P.W__minus__ ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV2 ],
+               couplings = {(0,0):C.GC_50})
+
+V_344 = Vertex(name = 'V_344',
+               particles = [ P.u__tilde__, P.d, P.W__plus__ ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV2 ],
+               couplings = {(0,0):C.GC_50})
+
+V_345 = Vertex(name = 'V_345',
+               particles = [ P.c__tilde__, P.s, P.W__plus__ ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV2 ],
+               couplings = {(0,0):C.GC_50})
+
+V_346 = Vertex(name = 'V_346',
+               particles = [ P.t__tilde__, P.b, P.W__plus__ ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV2 ],
+               couplings = {(0,0):C.GC_50})
+
+V_347 = Vertex(name = 'V_347',
+               particles = [ P.e__plus__, P.ve, P.W__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.FFV2 ],
+               couplings = {(0,0):C.GC_50})
+
+V_348 = Vertex(name = 'V_348',
+               particles = [ P.mu__plus__, P.vm, P.W__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.FFV2 ],
+               couplings = {(0,0):C.GC_50})
+
+V_349 = Vertex(name = 'V_349',
+               particles = [ P.ta__plus__, P.vt, P.W__minus__ ],
+               color = [ '1' ],
+               lorentz = [ L.FFV2 ],
+               couplings = {(0,0):C.GC_50})
+
+V_350 = Vertex(name = 'V_350',
+               particles = [ P.ve__tilde__, P.e__minus__, P.W__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.FFV2 ],
+               couplings = {(0,0):C.GC_50})
+
+V_351 = Vertex(name = 'V_351',
+               particles = [ P.vm__tilde__, P.mu__minus__, P.W__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.FFV2 ],
+               couplings = {(0,0):C.GC_50})
+
+V_352 = Vertex(name = 'V_352',
+               particles = [ P.vt__tilde__, P.ta__minus__, P.W__plus__ ],
+               color = [ '1' ],
+               lorentz = [ L.FFV2 ],
+               couplings = {(0,0):C.GC_50})
+
+V_353 = Vertex(name = 'V_353',
+               particles = [ P.u__tilde__, P.u, P.Z ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV2, L.FFV3 ],
+               couplings = {(0,0):C.GC_60,(0,1):C.GC_57})
+
+V_354 = Vertex(name = 'V_354',
+               particles = [ P.c__tilde__, P.c, P.Z ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV2, L.FFV3 ],
+               couplings = {(0,0):C.GC_60,(0,1):C.GC_57})
+
+V_355 = Vertex(name = 'V_355',
+               particles = [ P.t__tilde__, P.t, P.Z ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV2, L.FFV3 ],
+               couplings = {(0,0):C.GC_60,(0,1):C.GC_57})
+
+V_356 = Vertex(name = 'V_356',
+               particles = [ P.d__tilde__, P.d, P.Z ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV2, L.FFV3 ],
+               couplings = {(0,0):C.GC_59,(0,1):C.GC_56})
+
+V_357 = Vertex(name = 'V_357',
+               particles = [ P.s__tilde__, P.s, P.Z ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV2, L.FFV3 ],
+               couplings = {(0,0):C.GC_59,(0,1):C.GC_56})
+
+V_358 = Vertex(name = 'V_358',
+               particles = [ P.b__tilde__, P.b, P.Z ],
+               color = [ 'Identity(1,2)' ],
+               lorentz = [ L.FFV2, L.FFV3 ],
+               couplings = {(0,0):C.GC_59,(0,1):C.GC_56})
+
+V_359 = Vertex(name = 'V_359',
+               particles = [ P.ve__tilde__, P.ve, P.Z ],
+               color = [ '1' ],
+               lorentz = [ L.FFV2 ],
+               couplings = {(0,0):C.GC_62})
+
+V_360 = Vertex(name = 'V_360',
+               particles = [ P.vm__tilde__, P.vm, P.Z ],
+               color = [ '1' ],
+               lorentz = [ L.FFV2 ],
+               couplings = {(0,0):C.GC_62})
+
+V_361 = Vertex(name = 'V_361',
+               particles = [ P.vt__tilde__, P.vt, P.Z ],
+               color = [ '1' ],
+               lorentz = [ L.FFV2 ],
+               couplings = {(0,0):C.GC_62})
+
+V_362 = Vertex(name = 'V_362',
+               particles = [ P.e__plus__, P.e__minus__, P.Z ],
+               color = [ '1' ],
+               lorentz = [ L.FFV2, L.FFV3 ],
+               couplings = {(0,0):C.GC_61,(0,1):C.GC_58})
+
+V_363 = Vertex(name = 'V_363',
+               particles = [ P.mu__plus__, P.mu__minus__, P.Z ],
+               color = [ '1' ],
+               lorentz = [ L.FFV2, L.FFV3 ],
+               couplings = {(0,0):C.GC_61,(0,1):C.GC_58})
+
+V_364 = Vertex(name = 'V_364',
+               particles = [ P.ta__plus__, P.ta__minus__, P.Z ],
+               color = [ '1' ],
+               lorentz = [ L.FFV2, L.FFV3 ],
+               couplings = {(0,0):C.GC_61,(0,1):C.GC_58})
+
diff --git a/DM/Pseudoscalar_2HDMI/write_param_card.py b/DM/Pseudoscalar_2HDMI/write_param_card.py
new file mode 100755
index 00000000..57a85b06
--- /dev/null
+++ b/DM/Pseudoscalar_2HDMI/write_param_card.py
@@ -0,0 +1,182 @@
+
+__date__ = "3 june 2010"
+__author__ = 'olivier.mattelaer@uclouvain.be'
+
+class ParamCardWriter(object):
+    
+    header = \
+    """######################################################################\n""" + \
+    """## PARAM_CARD AUTOMATICALY GENERATED BY THE UFO  #####################\n""" + \
+    """######################################################################\n"""   
+    
+    def __init__(self, filename, list_of_parameters=None, generic=False):
+        """write a valid param_card.dat"""
+        
+        if not list_of_parameters:
+            from parameters import all_parameters
+            list_of_parameters = [param for param in all_parameters if \
+                                                       param.nature=='external']
+        
+        self.generic_output = generic
+        if generic:
+            self.define_not_dep_param(list_of_parameters)
+
+        
+        self.fsock = open(filename, 'w')
+        self.fsock.write(self.header)
+        
+        self.write_card(list_of_parameters)
+    
+    def define_not_dep_param(self, list_of_parameters):
+        """define self.dep_mass and self.dep_width in case that they are 
+        requested in the param_card.dat"""
+        from particles import all_particles
+        
+        self.dep_mass = [(part, part.mass) for part in all_particles \
+                            if part.pdg_code > 0 and \
+                                            part.mass not in list_of_parameters]
+        self.dep_width = [(part, part.width) for part in all_particles\
+                             if part.pdg_code > 0 and \
+                                part.width not in list_of_parameters]        
+    
+    @staticmethod
+    def order_param(obj1, obj2):
+        """ order parameter of a given block """
+        
+        maxlen = min([len(obj1.lhacode), len(obj2.lhacode)])
+    
+        for i in range(maxlen):
+            if obj1.lhacode[i] < obj2.lhacode[i]:
+                return -1
+            elif obj1.lhacode[i] == obj2.lhacode[i]:
+                return 0
+            else:
+                return 1
+        #identical up to the first finish
+        if len(obj1.lhacode) > len(obj2.lhacode):
+            return 1
+        elif  len(obj1.lhacode) == len(obj2.lhacode):
+            return 0
+        else:
+            return -1
+        
+    def write_card(self, all_ext_param):
+        """ """
+        
+        # list all lhablock
+        all_lhablock = set([param.lhablock for param in all_ext_param])
+        
+        # ordonate lhablock alphabeticaly
+        all_lhablock = list(all_lhablock)
+        all_lhablock.sort()
+        # put at the beginning SMINPUT + MASS + DECAY
+        for name in ['DECAY', 'MASS','SMINPUTS']:
+            if name in all_lhablock:
+                all_lhablock.remove(name)
+                all_lhablock.insert(0, name)
+        
+        for lhablock in all_lhablock:
+            self.write_block(lhablock)
+            need_writing = [ param for param in all_ext_param if \
+                                                     param.lhablock == lhablock]
+            from functools import cmp_to_key
+            need_writing.sort(key=cmp_to_key(self.order_param))
+            [self.write_param(param, lhablock) for param in need_writing]
+            
+            if self.generic_output:
+                if lhablock in ['MASS', 'DECAY']:
+                    self.write_dep_param_block(lhablock)
+
+        if self.generic_output:
+            self.write_qnumber()
+                               
+    def write_block(self, name):
+        """ write a comment for a block"""
+        
+        self.fsock.writelines(
+        """\n###################################""" + \
+        """\n## INFORMATION FOR %s""" % name.upper() +\
+        """\n###################################\n"""
+         )
+        if name!='DECAY':
+            self.fsock.write("""Block %s \n""" % name)
+
+    def write_param(self, param, lhablock):
+        
+        lhacode=' '.join(['%3s' % key for key in param.lhacode])
+        if lhablock != 'DECAY':
+            text = """  %s %e # %s \n""" % (lhacode, complex(param.value).real, param.name ) 
+        else:
+            text = '''DECAY %s %e \n''' % (lhacode, complex(param.value).real)
+        self.fsock.write(text) 
+                    
+
+
+    
+    def write_dep_param_block(self, lhablock):
+        import cmath
+        from parameters import all_parameters
+        for parameter in all_parameters:
+            try:
+                exec("%s = %s" % (parameter.name, parameter.value))
+            except Exception:
+                pass
+        text = "##  Not dependent paramater.\n"
+        text += "## Those values should be edited following analytical the \n"
+        text += "## analytical expression. Some generator could simply ignore \n"
+        text += "## those values and use the analytical expression\n"
+        
+        if lhablock == 'MASS':
+            data = self.dep_mass
+            prefix = " "
+        else:
+            data = self.dep_width
+            prefix = "DECAY "
+        for part, param in data:
+            if isinstance(param.value, str):
+                value = complex(eval(param.value)).real
+            else:
+                value = param.value
+            
+            text += """%s %s %f # %s : %s \n""" %(prefix, part.pdg_code, 
+                        value, part.name, param.value)
+        self.fsock.write(text)    
+    
+    sm_pdg = [1,2,3,4,5,6,11,12,13,13,14,15,16,21,22,23,24,25]
+    data="""Block QNUMBERS %(pdg)d  # %(name)s 
+        1 %(charge)d  # 3 times electric charge
+        2 %(spin)d  # number of spin states (2S+1)
+        3 %(color)d  # colour rep (1: singlet, 3: triplet, 8: octet)
+        4 %(antipart)d  # Particle/Antiparticle distinction (0=own anti)\n"""
+    
+    def write_qnumber(self):
+        """ write qnumber """
+        from particles import all_particles
+        
+        text="""#===========================================================\n"""
+        text += """# QUANTUM NUMBERS OF NEW STATE(S) (NON SM PDG CODE)\n"""
+        text += """#===========================================================\n\n"""
+        
+        for part in all_particles:
+            if part.pdg_code in self.sm_pdg or part.pdg_code < 0:
+                continue
+            text += self.data % {'pdg': part.pdg_code,
+                                 'name': part.name,
+                                 'charge': 3 * part.charge,
+                                 'spin': 2 * part.spin + 1,
+                                 'color': part.color,
+                                 'antipart': part.name != part.antiname and 1 or 0}
+        
+        self.fsock.write(text)
+        
+        
+            
+            
+            
+            
+        
+            
+if '__main__' == __name__:
+    ParamCardWriter('./param_card.dat', generic=True)
+    print('write ./param_card.dat')
+    
diff --git a/model_list.txt b/model_list.txt
index d7a346cc..69672e15 100644
--- a/model_list.txt
+++ b/model_list.txt
@@ -594,6 +594,12 @@ Changes: Better handling of b-quark, 5FS, Wt+DM, relic calculations
 Source: https://github.com/LHC-DMWG/model-repository/tree/master/models/Pseudoscalar_2HDM
 JIRA: https://its.cern.ch/jira/browse/AGENE-1652
 
+DM/Pseudoscalar_2HDMI
+Requestor: Spyros Argyropoulos
+Content: Equivalent of Pseudoscalar_2HDM UFO (2HDM+a model) but with Type-I Yukawa couplings
+Paper: http://arxiv.org/abs/2404.05704
+Source: https://github.com/LHC-DMWG/model-repository/tree/master/models/Pseudoscalar_2HDMI
+
 DM/Pseudoscalar_2HDM_FormFactor
 Requestor: Yizhou Cai
 Content: 2HDM+a model with FormFactor
-- 
GitLab