HTTP/1.1 200 OK
Date: Wed, 15 Apr 2026 19:12:01 GMT
Server: Apache
Content-Type: application/json
Connection: close
Transfer-Encoding: chunked

2000
[{"target":"compet_liste_15306457_view_phase_view_tab_poule_view","html":"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n\n<div id=\"compet_liste_15306457_view_phase_view_tab_poule_view\" style=\"width:100%\">\n  <div class=\"cadre\">\n    <div class=\"titre\" style=\"vertical-align:middle\">\n      <i class=\"fa fa-arrow-circle-left fa-colored fa-lg\" onclick=\"jQuery('#compet_liste_15306457_view_phase_view_tab_poule_view').addClass('hide')\" style=\"cursor:pointer\" title=\"Fermer\">\n      </i>\n      <span onclick=\"jQuery('#compet_liste_15306457_view_phase_view_tab_poule_view').addClass('hide')\" style=\"cursor:pointer\" title=\"Fermer\"><span style=\"margin-right:5px\">QUART DE FINALE 1/8 &mdash; 29/03/2026 &mdash; BLOIS</span></span>\n    </div>\n    <div class=\"contenu\">\n      <div>\n        Club organisateur : \n        15047\n         \n        ACADEMIE BLESOISE DE BILLARD\n      </div>\n      <div>\n        Distance : \n        Normale\n      </div>\n      <div>\n        Points : \n        40\n      </div>\n      <div>\n        Reprises : \n        &mdash;\n      </div>\n      <div style=\"float:right;margin-left:1em\">\n        <button class=\"submit\" id=\"compet_liste_15306457_view_phase_view_tab_poule_view_liste_btn\" onclick=\"jQuery('#compet_liste_15306457_view_phase_view_tab_poule_view_liste_btn').hide();jQuery('#compet_liste_15306457_view_phase_view_tab_poule_view_liste_vue').hide();jQuery('#compet_liste_15306457_view_phase_view_tab_poule_view_synth_btn').show();jQuery('#compet_liste_15306457_view_phase_view_tab_poule_view_synth_vue').show()\">\n          Afficher la synth&egrave;se\n        </button>\n        <button class=\"submit hide\" id=\"compet_liste_15306457_view_phase_view_tab_poule_view_synth_btn\" onclick=\"jQuery('#compet_liste_15306457_view_phase_view_tab_poule_view_synth_btn').hide();jQuery('#compet_liste_15306457_view_phase_view_tab_poule_view_synth_vue').hide();jQuery('#compet_liste_15306457_view_phase_view_tab_poule_view_liste_btn').show();jQuery('#compet_liste_15306457_view_phase_view_tab_poule_view_liste_vue').show()\">\n          Afficher les matchs\n        </button>\n      </div>\n      <div style=\"clear:both\">\n        <div id=\"compet_liste_15306457_view_phase_view_tab_poule_view_liste_vue\">\n          <div id=\"compet_liste_15306457_view_phase_view_tab_poule_view_joueurs\">\n            <div class=\"liste\">\n              <div style=\"float:right\">\n              </div>\n              <h2>\n                Liste des joueurs\n              </h2>\n              <div style=\"clear:both\">\n              </div>\n              <div style=\"float:right\">\n                <a href=\"./?cs=4.52cadae8b2511cd4c55f5937e111b1bbefb05d4b8329a9feafc6e638e56d7c53fbb5fb11d4ddf24808ed6c8ce9ba4ca8f5a3\" style=\"font-size:0.8em;margin-left:1em\" target=\"_blank\">T&eacute;l&eacute;charger le classement</a>\n                <a href=\"./?cs=4.f9ca8fe99043c10f5f8f10a0d82f712b68459e6d4797618ea63004085798b6d153df617c620fb9527df2b5e307fa3c6e2dae\" style=\"font-size:0.8em;margin-left:1em\" target=\"_blank\">T&eacute;l&eacute;charger les matchs</a>\n              </div>\n              <table id=\"compet_liste_15306457_view_phase_view_tab_poule_view_joueurs_joueur_list\" style=\"width:100%\">\n                <tr>\n                  <th class=\"l\">\n                    Licence\n                  </th>\n                  <th class=\"l\">\n                    Nom\n                  </th>\n                  <th class=\"l\">\n                    Pr&eacute;nom\n                  </th>\n                  <th class=\"c\">\n                    Ranking\n                  </th>\n                  <th class=\"c\">\n                    Rang CNR\n                  </th>\n                  <th class=\"l\">\n                    Club\n                  </th>\n                  <th class=\"c\" title=\"Classement\">\n                    Clt\n                  </th>\n                  <th class=\"c\" title=\"Total points de matchs\">\n                    PM\n                  </th>\n                  <th class=\"c\" title=\"Nombre de victoires\">\n                    V\n                  </th>\n                  <th class=\"c\" title=\"Nombre de matchs jou&eacute;s\">\n                    M\n                  </th>\n                  <th class=\"c\" title=\"Total points de carambolage\">\n                    PT\n                  </th>\n                  <th class=\"c\" title=\"Total points de carambolage poule\">\n                    PP\n                  </th>\n                  <th class=\"c\" title=\"Total des reprises\">\n                    R\n                  </th>\n                  <th class=\"c\" title=\"Meilleure s&eacute;rie\">\n                    MS\n                  </th>\n                  <th class=\"c\" title=\"Moyenne table\">\n                    MT\n                  </th>\n                  <th class=\"c\" title=\"Moyenne poule\">\n                    MP\n                  </th>\n                  <th class=\"c\" title=\"Moyenne particuli&egrave;re poule\">\n                    MPART\n                  </th>\n                </tr>\n                <tr id=\"compet_liste_15306457_view_phase_view_tab_poule_view_joueurs_joueur_view_17471151\">\n                  <td class=\"l\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    126321 N\n                  </td>\n                  <td class=\"l\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76c
2000
c3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    TACHOIRE\n                  </td>\n                  <td class=\"l\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    ADRIEN\n                  </td>\n                  <td class=\"c\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    &mdash;\n                  </td>\n                  <td class=\"c\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    &mdash;\n                  </td>\n                  <td class=\"l\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    ACADEMIE DE BILLARD D ARGENTEUIL\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    1\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                           
2000
           jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    2\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    1\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    1\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    40\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    40\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=
2000
\"cursor:pointer;color:#2040a0\">\n                    36\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    8\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    1,111\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    1,111\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.8eff5bd818a0f9487226abc05a2a06ddc26ac17ecdb549b4ad9e0181a26fa27793c612e198056af6efc9b121a3743cf39a04f08634d1a9434606dd5faad6c2ecaeb64a28eb66b5a4850fc55ed6da9a622908c97a593ac4b13d467e5635c94878f76cc3dc78d4320732b9b0a62d0a4273027494158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    1,111\n                  </td>\n                </tr>\n                <tr id=\"compet_liste_15306457_view_phase_view_tab_poule_view_joueurs_joueur_view_17471152\">\n                  <td class=\"l\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    019535 J\n                  </td>\n                  <td class=\"l\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                        
2000
                              jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    LELIEVRE\n                  </td>\n                  <td class=\"l\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    VINCENT\n                  </td>\n                  <td class=\"c\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    &mdash;\n                  </td>\n                  <td class=\"c\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    &mdash;\n                  </td>\n                  <td class=\"l\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    DON BOSCO BILLARD NANTES\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b7656
2000
3f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    2\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    0\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    0\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    1\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    26\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    26\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n               
2000
                                   });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    36\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    5\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    0,722\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    0,722\n                  </td>\n                  <td class=\"r\" onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.c6ff5bd818a0f9487226abc05a2a06ddc26ac9857a02decc1557309285d08474be504627cfcdaa44de4481927da679f41a976a69688ec9044932ba6c3ab6cfaa1bf415b717c66e6e0d726c2d071c66b20276a46fb9c8170a018720ebe4a725cb678df42afb0648b76563f968b48e32fbf6f394158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    &mdash;\n                  </td>\n                </tr>\n              </table>\n            </div>\n            <div id=\"compet_liste_15306457_view_phase_view_tab_poule_view_joueurs_joueur_view\">\n            </div>\n          </div>\n          <div id=\"compet_liste_15306457_view_phase_view_tab_poule_view_matchs\">\n            <div class=\"liste\">\n              <div style=\"float:right\">\n              </div>\n              <h2>\n                Matchs\n              </h2>\n              <div style=\"clear:both\">\n              </div>\n              <table id=\"compet_liste_15306457_view_phase_view_tab_poule_view_matchs_match_list\" style=\"width:100%\">\n                <tr>\n                  <th>\n                    Num&eacute;ro\n                  </th>\n                  <th>\n                    Date\n                  </th>\n                  <th>\n                    Billard\n                  </th>\n                  <th>\n                    Joueur \n                  </th>\n                  <th>\n                    Points\n                  </th>\n                  <th>\n                    Reprises\n                  </th>\n                  <th>\n                    Meilleure s&eacute;rie\n                  </th>\n                  <th>\n                    Moyenne\n                  </th>\n                  <th>\n                    Joueur 2\n                  </th>\n                  <th>\n                    Points\n               
2000
   </th>\n                  <th>\n                    Reprises\n                  </th>\n                  <th>\n                    Meilleure s&eacute;rie\n                  </th>\n                  <th>\n                    Moyenne\n                  </th>\n                </tr>\n                <tr id=\"compet_liste_15306457_view_phase_view_tab_poule_view_matchs_match_view_17482615\">\n                  <td onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.29ff04d58b82ad0f8dfc68d0d6a197e9bf092ecea8df08d9912ec6ad004d47530850a9b26e0f27a8ed08e029f032c627468d8607d5692b65672ff84de97bcdd6533dc3ecf1daffa7957330a89ecb9cf8e75e7265f2d4e5a9768ac607ed94d0b5b569ee43fd511e93bd24277359a3e4c20d1c94158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    1\n                  </td>\n                  <td onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.29ff04d58b82ad0f8dfc68d0d6a197e9bf092ecea8df08d9912ec6ad004d47530850a9b26e0f27a8ed08e029f032c627468d8607d5692b65672ff84de97bcdd6533dc3ecf1daffa7957330a89ecb9cf8e75e7265f2d4e5a9768ac607ed94d0b5b569ee43fd511e93bd24277359a3e4c20d1c94158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    29/03/2026\n                  </td>\n                  <td onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.29ff04d58b82ad0f8dfc68d0d6a197e9bf092ecea8df08d9912ec6ad004d47530850a9b26e0f27a8ed08e029f032c627468d8607d5692b65672ff84de97bcdd6533dc3ecf1daffa7957330a89ecb9cf8e75e7265f2d4e5a9768ac607ed94d0b5b569ee43fd511e93bd24277359a3e4c20d1c94158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    3m10\n                  </td>\n                  <td onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.29ff04d58b82ad0f8dfc68d0d6a197e9bf092ecea8df08d9912ec6ad004d47530850a9b26e0f27a8ed08e029f032c627468d8607d5692b65672ff84de97bcdd6533dc3ecf1daffa7957330a89ecb9cf8e75e7265f2d4e5a9768ac607ed94d0b5b569ee43fd511e93bd24277359a3e4c20d1c94158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    LELIEVRE\n                     \n                    VINCENT\n                  </td>\n                  <td onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.29ff04d58b82ad0f8dfc68d0d6a197e9bf092ecea8df08d9912ec6ad004d47530850a9b26e0f27a8ed08e029f032c627468d8607d5692b65672ff84de97bcdd6533dc3ecf1daffa7957330a89ecb9cf8e75e7265f2d4e5a9768ac607ed94d0b5b569ee43fd511e93bd24277359a3e4c20d1c94158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    26\n                  </td>\n                  <td onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuer
2000
y('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.29ff04d58b82ad0f8dfc68d0d6a197e9bf092ecea8df08d9912ec6ad004d47530850a9b26e0f27a8ed08e029f032c627468d8607d5692b65672ff84de97bcdd6533dc3ecf1daffa7957330a89ecb9cf8e75e7265f2d4e5a9768ac607ed94d0b5b569ee43fd511e93bd24277359a3e4c20d1c94158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    36\n                  </td>\n                  <td onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.29ff04d58b82ad0f8dfc68d0d6a197e9bf092ecea8df08d9912ec6ad004d47530850a9b26e0f27a8ed08e029f032c627468d8607d5692b65672ff84de97bcdd6533dc3ecf1daffa7957330a89ecb9cf8e75e7265f2d4e5a9768ac607ed94d0b5b569ee43fd511e93bd24277359a3e4c20d1c94158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    5\n                  </td>\n                  <td onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.29ff04d58b82ad0f8dfc68d0d6a197e9bf092ecea8df08d9912ec6ad004d47530850a9b26e0f27a8ed08e029f032c627468d8607d5692b65672ff84de97bcdd6533dc3ecf1daffa7957330a89ecb9cf8e75e7265f2d4e5a9768ac607ed94d0b5b569ee43fd511e93bd24277359a3e4c20d1c94158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    0,722\n                  </td>\n                  <td onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.29ff04d58b82ad0f8dfc68d0d6a197e9bf092ecea8df08d9912ec6ad004d47530850a9b26e0f27a8ed08e029f032c627468d8607d5692b65672ff84de97bcdd6533dc3ecf1daffa7957330a89ecb9cf8e75e7265f2d4e5a9768ac607ed94d0b5b569ee43fd511e93bd24277359a3e4c20d1c94158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    TACHOIRE\n                     \n                    ADRIEN\n                  </td>\n                  <td onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.29ff04d58b82ad0f8dfc68d0d6a197e9bf092ecea8df08d9912ec6ad004d47530850a9b26e0f27a8ed08e029f032c627468d8607d5692b65672ff84de97bcdd6533dc3ecf1daffa7957330a89ecb9cf8e75e7265f2d4e5a9768ac607ed94d0b5b569ee43fd511e93bd24277359a3e4c20d1c94158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    40\n                  </td>\n                  <td onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.29ff04d58b82ad0f8dfc68d0d6a197e9bf092ecea8df08d9912ec6ad004d47530850a9b26e0f27a8ed08e029f032c627468d
2000
8607d5692b65672ff84de97bcdd6533dc3ecf1daffa7957330a89ecb9cf8e75e7265f2d4e5a9768ac607ed94d0b5b569ee43fd511e93bd24277359a3e4c20d1c94158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    36\n                  </td>\n                  <td onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.29ff04d58b82ad0f8dfc68d0d6a197e9bf092ecea8df08d9912ec6ad004d47530850a9b26e0f27a8ed08e029f032c627468d8607d5692b65672ff84de97bcdd6533dc3ecf1daffa7957330a89ecb9cf8e75e7265f2d4e5a9768ac607ed94d0b5b569ee43fd511e93bd24277359a3e4c20d1c94158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    8\n                  </td>\n                  <td onclick=\"jQuery(this).parent().siblings().removeClass('actif');jQuery(this).parent().addClass('actif');jQuery.ajax({ \ncontentType: 'application/x-www-form-urlencoded; charset=utf-8',\nmethod: 'post',\nsuccess: function(data) {\n\t\t                      jQuery.each(data, function(i,d) {\n\t\t                          if (d.target) {\n\t\t                              if (jQuery('#'+d.target).is(':visible')) {\n                                                  jQuery('#'+d.target).fadeOut(0, function() {\n                                                      jQuery('#'+d.target).replaceWith(d.html)\n                                                  });\n                                                  jQuery('#'+d.target).fadeIn(0);\n                                              } else {\n                                                  jQuery('#'+d.target).replaceWith(d.html)\n                                              }\n                                          }\n                                      });\n                                  },\nurl: './?cs=4z.29ff04d58b82ad0f8dfc68d0d6a197e9bf092ecea8df08d9912ec6ad004d47530850a9b26e0f27a8ed08e029f032c627468d8607d5692b65672ff84de97bcdd6533dc3ecf1daffa7957330a89ecb9cf8e75e7265f2d4e5a9768ac607ed94d0b5b569ee43fd511e93bd24277359a3e4c20d1c94158d1abaa1d44c1d51fd3fa3e0e199'\n });\" style=\"cursor:pointer;color:#2040a0\">\n                    1,111\n                  </td>\n                </tr>\n              </table>\n            </div>\n            <div id=\"compet_liste_15306457_view_phase_view_tab_poule_view_matchs_match_view\">\n            </div>\n          </div>\n        </div>\n        <div class=\"hide\" id=\"compet_liste_15306457_view_phase_view_tab_poule_view_synth_vue\">\n          <div style=\"text-align:right;margin-left:1em\">\n            <a href=\"./?cs=4.f8cab8b7ca5baff65bd493741068c3c6bec6f880e80de27ad9d420cb882ceb0fd2c4ac096273612ca174ef420529a5f8e39b\" target=\"_blank\">Ouvrir dans une nouvelle fen&ecirc;tre</a>\n          </div>\n          <div class=\"liste\" id=\"compet_liste_15306457_view_phase_view_tab_poule_view_synthese\">\n            <table style=\"margin:auto\">\n              <thead>\n                <thead>\n                  <tr>\n                    <th>\n                      <table style=\"width:100%\">\n                        <tbody>\n                          <tr>\n                            <td class=\"l\" style=\"width: 30%;vertical-align:bottom\">\n                              Clt\n                            </td>\n                            <td class=\"r\" style=\"width: 30%;vertical-align:bottom\">\n                              MGP\n                            </td>\n                            <td class=\"r\" style=\"width: 40%;vertical-align:bottom\">\n                              %V\n                            </td>\n                          </tr>\n                        </tbody>\n                      </table>\n                    </th>\n                    <th>\n                      <div>\n                        TACHOIRE\n                      </div>\n                      <div>\n                        ADRIEN\n                      </div>\n                    </th>\n                    <th>\n                      <div>\n                        LELIEVRE\n                      </div>\n                      <div>\n                        VINCENT\n                      </div>\n                    </th>\n                    <th>\n                      Totaux\n                    </th>\n                  </tr>\n                </thead>\n                <tbody>\n                  <tr>\n                    <th>\n                      <div>\n                        TACHOIRE\n                         \n                        ADRIEN\n                      </div>\n                      <div class=\"comment\">\n                        ACADEMIE DE BILLARD D ARGENTEUIL\n                      </div>\n                      <div>\n                        <table style=\"width:100%\">\n                          <tbody>\n                            <tr>\n                              <td class=\"l\" style=\"width: 30%\">\n                                1\n                              </td>\n                              <td class=\"r\" style=\"width: 30%\">\n                                1,111\n                              </td>\n                              <td class=\"r\" style=\"width: 40%\">\n                                100.00\n                                %\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                    </th>\n                    <td style=\"border:solid 1px #808080; border-collapse:collapse;padding:0;text-align:center;vertical-align:middle\">\n                      &ndash;\n                    </td>\n                    <td style=\"border:solid 1px #808080; border-collapse:collapse;padding:0;text-align:center;vertical-align:middle\">\n                      <div style=\"display:inline-block\">\n                        <table>\n                          <tbody>\n                            <tr>\n                              <td class=\"l\" style=\"padding:.1em .4em\" width=\"40%\">\n                                40\n                              </td>\n                              <td class=\"c\" style=\"padding:.1em .4em\" width=\"20%\">\n                              </td>\n                              <td class=\"r\" style=\"padding:.1em .4em\" width=\"40%\">\n                                36\n                              </td>\n                            </tr>\n                            <tr>\n                              <td class=\"l\" style=\"padding:.1em .4em\" width=\"40%\">\n                              </td>\n                              <td class=\"c\" style=\"padding:.1em .4em;background-color:#DB794F\" width=\"20%\">\n                                2\n                              </td>\n                              <td class=\"r\" style=\"padding:.1em .4em\" width=\"40%\">\n                              </td>\n                            </tr>\n                            <tr>\n                              <td class=\"l\" style=\"padding:.1em .4em\" width=\"40%\">\n                                8\n                              </td>\n     
1e49
                         <td class=\"c\" style=\"padding:.1em .4em\" width=\"20%\">\n                              </td>\n                              <td class=\"r\" style=\"padding:.1em .4em\" width=\"40%\">\n                                1,111\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                    </td>\n                    <td style=\"border:solid 1px #808080; border-collapse:collapse;padding:0;text-align:center;vertical-align:middle\">\n                      <div style=\"display:inline-block\">\n                        <table>\n                          <tbody>\n                            <tr>\n                              <td class=\"l\" style=\"padding:.1em .4em\" width=\"40%\">\n                                40\n                              </td>\n                              <td class=\"c\" style=\"padding:.1em .4em\" width=\"20%\">\n                              </td>\n                              <td class=\"r\" style=\"padding:.1em .4em\" width=\"40%\">\n                                36\n                              </td>\n                            </tr>\n                            <tr>\n                              <td class=\"l\" style=\"padding:.1em .4em\" width=\"40%\">\n                              </td>\n                              <td class=\"c\" style=\"padding:.1em .4em\" width=\"20%\">\n                                2\n                              </td>\n                              <td class=\"r\" style=\"padding:.1em .4em\" width=\"40%\">\n                              </td>\n                            </tr>\n                            <tr>\n                              <td class=\"l\" style=\"padding:.1em .4em\" width=\"40%\">\n                                8\n                              </td>\n                              <td class=\"c\" style=\"padding:.1em .4em\" width=\"20%\">\n                              </td>\n                              <td class=\"r\" style=\"padding:.1em .4em\" width=\"40%\">\n                                1,111\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                    </td>\n                  </tr>\n                  <tr>\n                    <th>\n                      <div>\n                        LELIEVRE\n                         \n                        VINCENT\n                      </div>\n                      <div class=\"comment\">\n                        DON BOSCO BILLARD NANTES\n                      </div>\n                      <div>\n                        <table style=\"width:100%\">\n                          <tbody>\n                            <tr>\n                              <td class=\"l\" style=\"width: 30%\">\n                                2\n                              </td>\n                              <td class=\"r\" style=\"width: 30%\">\n                                0,722\n                              </td>\n                              <td class=\"r\" style=\"width: 40%\">\n                                0.00\n                                %\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                    </th>\n                    <td style=\"border:solid 1px #808080; border-collapse:collapse;padding:0;text-align:center;vertical-align:middle\">\n                      <div style=\"display:inline-block\">\n                        <table>\n                          <tbody>\n                            <tr>\n                              <td class=\"l\" style=\"padding:.1em .4em\" width=\"40%\">\n                                26\n                              </td>\n                              <td class=\"c\" style=\"padding:.1em .4em\" width=\"20%\">\n                              </td>\n                              <td class=\"r\" style=\"padding:.1em .4em\" width=\"40%\">\n                                36\n                              </td>\n                            </tr>\n                            <tr>\n                              <td class=\"l\" style=\"padding:.1em .4em\" width=\"40%\">\n                              </td>\n                              <td class=\"c\" style=\"padding:.1em .4em;background-color:#55BFFF\" width=\"20%\">\n                                0\n                              </td>\n                              <td class=\"r\" style=\"padding:.1em .4em\" width=\"40%\">\n                              </td>\n                            </tr>\n                            <tr>\n                              <td class=\"l\" style=\"padding:.1em .4em\" width=\"40%\">\n                                5\n                              </td>\n                              <td class=\"c\" style=\"padding:.1em .4em\" width=\"20%\">\n                              </td>\n                              <td class=\"r\" style=\"padding:.1em .4em\" width=\"40%\">\n                                0,722\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                    </td>\n                    <td style=\"border:solid 1px #808080; border-collapse:collapse;padding:0;text-align:center;vertical-align:middle\">\n                      &ndash;\n                    </td>\n                    <td style=\"border:solid 1px #808080; border-collapse:collapse;padding:0;text-align:center;vertical-align:middle\">\n                      <div style=\"display:inline-block\">\n                        <table>\n                          <tbody>\n                            <tr>\n                              <td class=\"l\" style=\"padding:.1em .4em\" width=\"40%\">\n                                26\n                              </td>\n                              <td class=\"c\" style=\"padding:.1em .4em\" width=\"20%\">\n                              </td>\n                              <td class=\"r\" style=\"padding:.1em .4em\" width=\"40%\">\n                                36\n                              </td>\n                            </tr>\n                            <tr>\n                              <td class=\"l\" style=\"padding:.1em .4em\" width=\"40%\">\n                              </td>\n                              <td class=\"c\" style=\"padding:.1em .4em\" width=\"20%\">\n                                0\n                              </td>\n                              <td class=\"r\" style=\"padding:.1em .4em\" width=\"40%\">\n                              </td>\n                            </tr>\n                            <tr>\n                              <td class=\"l\" style=\"padding:.1em .4em\" width=\"40%\">\n                                5\n                              </td>\n                              <td class=\"c\" style=\"padding:.1em .4em\" width=\"20%\">\n                              </td>\n                              <td class=\"r\" style=\"padding:.1em .4em\" width=\"40%\">\n                                0,722\n                              </td>\n                            </tr>\n                          </tbody>\n                        </table>\n                      </div>\n                    </td>\n                  </tr>\n                </tbody>\n              </thead>\n            </table>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n\n"}]
0

