{"id":220,"date":"2023-05-23T16:50:11","date_gmt":"2023-05-23T14:50:11","guid":{"rendered":"https:\/\/numpx.wpengine.com\/exa-soft-logiciels-et-outils-hpc\/"},"modified":"2026-09-24T17:14:12","modified_gmt":"2026-09-24T15:14:12","slug":"exa-soft-logiciels-et-outils-hpc","status":"publish","type":"page","link":"https:\/\/numpex.org\/fr\/exa-soft-logiciels-et-outils-hpc\/","title":{"rendered":"Exa-SofT : logiciels et outils HPC"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row row_height_percent=\u00a0\u00bb0&Prime; overlay_alpha=\u00a0\u00bb50&Prime; gutter_size=\u00a0\u00bb3&Prime; column_width_percent=\u00a0\u00bb100&Prime; shift_y=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; sticky=\u00a0\u00bbyes\u00a0\u00bb content_parallax=\u00a0\u00bb0&Prime; uncode_shortcode_id=\u00a0\u00bb716742&Prime; css=\u00a0\u00bb.vc_custom_1785869798726{margin-top: 1% !important;}\u00a0\u00bb][vc_column width=\u00a0\u00bb1\/1&Prime;][vc_raw_html]PCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICBOdW1QRXgg4oCUIE1lbnUgZGUgc2VjdGlvbnMgc3RpY2t5IOKAlCB2LjYuNAogIE5hb3MgQWdlbmN5IMK3IDIwMjYtMDktMTAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgoKPHN0eWxlPgogIDpyb290eyAtLW5weC10b3A6IDYwcHg7IH0gLyogaGF1dGV1ciBkdSBoZWFkZXIgVW5jb2RlIHN0aWNreSAqLwogIC5ucHgtc3VibmF2ewogICAgYmFja2dyb3VuZDogI0UwOTkwMDsgLyogb3JhbmdlIGQnYWNjZW50dWF0aW9uIE51bVBFeCAqLwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA4KTsKICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICB3aWR0aDogMTAwJTsKICAgIHotaW5kZXg6IDQwOwogIH0KICAubnB4LXN1Ym5hdltoaWRkZW5deyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KICAubnB4LXN1Ym5hdi5ucHgtc3R1Y2t7IGJvcmRlci1yYWRpdXM6IDAgMCAxMnB4IDEycHg7IH0KICAubnB4LXN1Ym5hdi5ucHgtc3R1Y2t7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB0b3A6IHZhcigtLW5weC10b3ApOwogICAgbGVmdDogMDsgcmlnaHQ6IDA7CiAgfQogIC5ucHgtc3VibmF2X19pbm5lcnsKICAgIC8qIHYuNi40IDogbWV0cmlxdWVzIHBpbG90ZWVzIHBhciB2YXJpYWJsZXMuIExlcyB2YWxldXJzIGRlIHJlcGxpCiAgICAgICBTT05UIGNlbGxlcyBkZSBsYSB2LjYuMiA6IHNhbnMgSlMsIHJlbmR1IGlkZW50aXF1ZS4gKi8KICAgIG1heC13aWR0aDogMTE0MHB4OwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBwYWRkaW5nOiAwIDI0cHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC13cmFwOiBub3dyYXA7CiAgICBnYXA6IDAgdmFyKC0tbnB4LWdhcCwgMTBweCk7CiAgICBtaW4taGVpZ2h0OiA0NnB4OwogICAgcGFkZGluZy10b3A6IDZweDsKICAgIHBhZGRpbmctYm90dG9tOiA2cHg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZm9udC1zaXplOiB2YXIoLS1ucHgtZnMsIDExcHgpOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1ucHgtbHMsIC4xMmVtKTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgb3ZlcmZsb3cteTogaGlkZGVuOwogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOwogICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOwogICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOwogICAgLyogZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc3lzdGVtLXVpLCBzYW5zLXNlcmlmOyAqLwogIH0KICAubnB4LXN1Ym5hdl9faW5uZXI6Oi13ZWJraXQtc2Nyb2xsYmFyeyBkaXNwbGF5OiBub25lOyB9CiAgLyogU3DDqWNpZmljaXTDqSByZW5mb3Jjw6llICsgIWltcG9ydGFudCA6IG5ldXRyYWxpc2UgbGVzIGNvdWxldXJzIGRlIGxpZW5zIGR1IHRow6htZSBVbmNvZGUgKG9yYW5nZSBhdSBzdXJ2b2wvY2xpYykgKi8KICBuYXYubnB4LXN1Ym5hdiAubnB4LXN1Ym5hdl9faW5uZXIgYSwKICBuYXYubnB4LXN1Ym5hdiAubnB4LXN1Ym5hdl9faW5uZXIgYTp2aXNpdGVkewogICAgY29sb3I6IHJnYmEoMjU1LDI1MCwyNDMsLjg4KSAhaW1wb3J0YW50OyAvKiBibGFuYyBjYXNzw6kgKi8KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogICAgcGFkZGluZzogOHB4IHZhcigtLW5weC1weCwgMTRweCk7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIHRyYW5zaXRpb246IGNvbG9yIC4xOHMsIGJhY2tncm91bmQtY29sb3IgLjE4czsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7ICAvKiB2LjYuNCA6IHVuIGxpYmVsbGUgbmUgc2UgY291cGUgamFtYWlzICovCiAgICBmbGV4OiAwIDAgYXV0bzsgICAgICAgLyogdi42LjQgOiBsZXMgcGFzdGlsbGVzIG5lIHNlIGNvbXByaW1lbnQgcGFzICovCiAgfQogIG5hdi5ucHgtc3VibmF2IC5ucHgtc3VibmF2X19pbm5lciBhOmhvdmVyLAogIG5hdi5ucHgtc3VibmF2IC5ucHgtc3VibmF2X19pbm5lciBhOmZvY3VzLAogIG5hdi5ucHgtc3VibmF2IC5ucHgtc3VibmF2X19pbm5lciBhOmFjdGl2ZXsKICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4xMik7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKICB9CiAgbmF2Lm5weC1zdWJuYXYgLm5weC1zdWJuYXZfX2lubmVyIGEubnB4LWFjdGl2ZSwKICBuYXYubnB4LXN1Ym5hdiAubnB4LXN1Ym5hdl9faW5uZXIgYS5ucHgtYWN0aXZlOmhvdmVyewogICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6ICNBODZGMDA7IC8qIG9yYW5nZSBmb25jw6ksIGFwbGF0IHNpbXBsZSAqLwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICB9Cjwvc3R5bGU+Cgo8bmF2IGNsYXNzPSJucHgtc3VibmF2IiBhcmlhLWxhYmVsPSJQYWdlIHNlY3Rpb25zIiBoaWRkZW4+CiAgPGRpdiBjbGFzcz0ibnB4LXN1Ym5hdl9faW5uZXIiPjwvZGl2Pgo8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbigpewogICd1c2Ugc3RyaWN0JzsKCiAgLyogPT09PT09PT09PT09PT09PT09PT0gQ09ORklHIFNJVEUgPT09PT09PT09PT09PT09PT09PT0KICAgICBTZXVsZSB6b25lIMOgIGFkYXB0ZXIgcG91ciByw6l1dGlsaXNlciBsZSBibG9jIGFpbGxldXJzLiAqLwogIHZhciBQUkVGSVggPSAnbmF2LSc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHByw6lmaXhlIGRlcyBSb3cgSUQgw6AgZMOpdGVjdGVyICovCiAgdmFyIFNUUklQICA9IFsvLShlbnxmcikkL2ksIC8tZXhhLVthLXowLTldKyQvaV07ICAgLyogc3VmZml4ZXMgZCd1bmljaXTDqSDDoCBpZ25vcmVyICAqLwoKICAvKiBSZXBsaSBwb3VyIGxlcyBwYWdlcyBQQVMgRU5DT1JFIE1JR1LDiUVTIHZlcnMgbGUgcHLDqWZpeGUgbmF2LQogICAgICh0eXBpcXVlbWVudCBsZXMgdHJhZHVjdGlvbnMgV1BNTCBkb250IGxlcyBSb3cgSUQgbidvbnQgcGFzIMOpdMOpCiAgICAgcmVub21tw6lzKS4gVXRpbGlzw6kgVU5JUVVFTUVOVCBzaSBsYSBwYWdlIG5lIGNvbnRpZW50IGF1Y3VuZSByb3cKICAgICDCqyBuYXYtIMK7LiBSZXByZW5kIGxlcyBjbMOpcyBkZSBsYSB2LjUgOiB1bmUgcm93IG5vbW3DqWUKICAgICDCqyBjb25zb3J0aXVtLWV4YS1tYS1lbiDCuyBvdSBzaW1wbGVtZW50IMKrIGNvbnNvcnRpdW0gwrsgZXN0CiAgICAgcmV0cm91dsOpZS4gTGlzdGUgZmVybcOpZSA9IGF1Y3VuIHJpc3F1ZSBkZSBmYXV4IHBvc2l0aWYuICovCiAgdmFyIExFR0FDWV9LRVlTID0gWwogICAgJ292ZXJ2aWV3JywgJ2NvbnNvcnRpdW0nLCAncmVzdWx0cycsICdtZXRyaWNzJywgJ3NvZnR3YXJlJywKICAgICduZXdzJywgJ2V2ZW50cycsICdhZ2VuZGEnLCAndGVhbScsICdjb250YWN0JwogIF07CgogIHZhciBMQUJFTFMgPSB7CiAgICAvKiBMaWJlbGzDqXMgcHLDqWbDqXLDqXMgcGFyIGNsw6kuIFRvdXRlIGNsw6kgYWJzZW50ZSBlc3QgYWZmaWNow6llCiAgICAgICBjYXBpdGFsaXPDqWUgdGVsbGUgcXVlbGxlIChuYXYtam9pbi11cyAtPiDCqyBKb2luIFVzIMK7KS4gKi8KICAgIGVuOiB7CiAgICAgICdjb25zb3J0aXVtJzogJ0NvbnNvcnRpdW0gJiBXb3JrcGFja2FnZXMnLAogICAgICAncmVzdWx0cyc6ICAgICdSZXN1bHRzICYgSW1wYWN0JywKICAgICAgJ21ldHJpY3MnOiAgICAnUHJvamVjdCBNZXRyaWNzJywKICAgICAgJ3RlYW0nOiAgICAgICAnVGhlIFRlYW0nCiAgICB9LAogICAgZnI6IHsKICAgICAgJ292ZXJ2aWV3JzogICAnUHLDqXNlbnRhdGlvbicsCiAgICAgICdjb25zb3J0aXVtJzogJ0NvbnNvcnRpdW0gZXQgbG90cyBkZSB0cmF2YWlsJywKICAgICAgJ3Jlc3VsdHMnOiAgICAnUsOpc3VsdGF0cyBldCBpbXBhY3QnLAogICAgICAnbWV0cmljcyc6ICAgICdDaGlmZnJlcyBjbMOpcycsCiAgICAgICdzb2Z0d2FyZSc6ICAgJ0xvZ2ljaWVscycsCiAgICAgICduZXdzJzogICAgICAgJ0FjdHVhbGl0w6lzJywKICAgICAgJ2V2ZW50cyc6ICAgICAnw4l2w6huZW1lbnRzJywKICAgICAgJ3RlYW0nOiAgICAgICAnTOKAmcOpcXVpcGUnCiAgICB9CiAgfTsKICB2YXIgU1RJQ0tfTU9ERSA9ICd1bmNvZGUnOyAvKiAndW5jb2RlJyA9IGxhIHJvdyBnw6hyZSBsZSBzdGlja3kgwrcgJ2pzJyA9IGxlIHNjcmlwdCBjb2xsZSBsdWktbcOqbWUgKi8KICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKICB2YXIgREVCVUcgPSAvWz8mXW5weGRlYnVnPTEvLnRlc3Qod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7CiAgZnVuY3Rpb24gbG9nKCl7CiAgICBpZighREVCVUcgfHwgIXdpbmRvdy5jb25zb2xlIHx8ICFjb25zb2xlLmxvZykgcmV0dXJuOwogICAgY29uc29sZS5sb2cuYXBwbHkoY29uc29sZSwgWydbbnB4LXN1Ym5hdl0nXS5jb25jYXQoW10uc2xpY2UuY2FsbChhcmd1bWVudHMpKSk7CiAgfQoKICAvKiAtLS0tIExhbmd1ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgPGh0bWwgbGFuZz4gcG9zw6kgcGFyIFdQTUwuIFJlcGxpcyBzdWNjZXNzaWZzIHNpIGwnYXR0cmlidXQgbWFucXVlIDoKICAgICB1biBhbmPDqnRyZSBwb3J0ZXVyIGRlIGxhbmcsIHB1aXMgbGVzIGNsYXNzZXMgZHUgYm9keS4gKi8KICBmdW5jdGlvbiBkZXRlY3RMYW5nKGVsKXsKICAgIHZhciB0YWcgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdsYW5nJykgfHwgJyc7CiAgICBpZighdGFnICYmIGVsICYmIGVsLmNsb3Nlc3QpewogICAgICB2YXIgaG9zdCA9IGVsLmNsb3Nlc3QoJ1tsYW5nXScpOwogICAgICBpZihob3N0KXsgdGFnID0gaG9zdC5nZXRBdHRyaWJ1dGUoJ2xhbmcnKSB8fCAnJzsgfQogICAgfQogICAgaWYoIXRhZyl7CiAgICAgIHZhciBjbHMgPSAoZG9jdW1lbnQuYm9keSAmJiBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSkgfHwgJyc7CiAgICAgIGlmKC8oPzpsYW5nfGxhbmd1YWdlKS1mclxifGZyW18tXUZSL2kudGVzdChjbHMpKXsgdGFnID0gJ2ZyJzsgfQogICAgfQogICAgcmV0dXJuIC9eZnIvaS50ZXN0KHRhZykgPyAnZnInIDogJ2VuJzsKICB9CgogIGZ1bmN0aW9uIGtleU9mKGlkKXsKICAgIHZhciBrID0gaWQuc2xpY2UoUFJFRklYLmxlbmd0aCkudG9Mb3dlckNhc2UoKTsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBTVFJJUC5sZW5ndGg7IGkrKyl7IGsgPSBrLnJlcGxhY2UoU1RSSVBbaV0sICcnKTsgfQogICAgcmV0dXJuIGs7CiAgfQogIGZ1bmN0aW9uIHRpdGxlQ2FzZShrZXkpewogICAgcmV0dXJuIGtleS5zcGxpdCgnLScpLm1hcChmdW5jdGlvbih3KXsKICAgICAgcmV0dXJuIHcgPyB3LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdy5zbGljZSgxKSA6IHc7CiAgICB9KS5qb2luKCcgJyk7CiAgfQoKICAvKiBEb3VibGUgc8OpY3VyaXTDqSA6IMOpY2FydGUgbGVzIG1lbnVzIGfDqW7DqXLDqXMgcGFyIFdvcmRQcmVzcyBldCB0b3V0IGNlCiAgICAgcXVpIHZpdCBkYW5zIGxhIG5hdmlnYXRpb24gb3UgbGUgaGVhZGVyIOKAlCBpbmNoYW5nw6kgZGVwdWlzIGxhIHYuNi4xLiAqLwogIGZ1bmN0aW9uIGlzU2VjdGlvbkNhbmRpZGF0ZShlbCl7CiAgICB2YXIgdGFnID0gZWwudGFnTmFtZTsKICAgIGlmKHRhZyA9PT0gJ1VMJyB8fCB0YWcgPT09ICdMSScgfHwgdGFnID09PSAnQScgfHwgdGFnID09PSAnTkFWJyl7IHJldHVybiBmYWxzZTsgfQogICAgaWYoZWwuY2xvc2VzdCAmJiBlbC5jbG9zZXN0KCduYXYsIGhlYWRlciwgLm5weC1zdWJuYXYnKSl7IHJldHVybiBmYWxzZTsgfQogICAgcmV0dXJuIHRydWU7CiAgfQoKICBmdW5jdGlvbiBpbkRvY3VtZW50T3JkZXIoYSwgYil7CiAgICB2YXIgcG9zID0gYS5zZWN0aW9uLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIuc2VjdGlvbik7CiAgICByZXR1cm4gKHBvcyAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HKSA\/IC0xIDogMTsKICB9CgogIC8qIC0tLS0gRMOpY291dmVydGUgZGVzIHNlY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgMSkgTW9kZSBub21pbmFsIDogdG91dGVzIGxlcyByb3dzIGRvbnQgbCdpZCBjb21tZW5jZSBwYXIgwqsgbmF2LSDCuy4KICAgICAyKSBSZXBsaSA6IHNpIGV0IHNldWxlbWVudCBzaSBsZSBtb2RlIDEgbmUgZG9ubmUgUklFTiwgb24gY2hlcmNoZQogICAgICAgIGxlcyBjbMOpcyBow6lyaXTDqWVzIGRlIGxhIHYuNSwgYXZlYyBvdSBzYW5zIHN1ZmZpeGUuCiAgICAgUmVudm9pZSB7IGVudHJpZXM6IFsuLi5dLCBtb2RlOiAncHJlZml4JyB8ICdsZWdhY3knIHwgJ25vbmUnIH0uICovCiAgZnVuY3Rpb24gZGlzY292ZXIoZGljdCl7CiAgICB2YXIgc2VlbiA9IE9iamVjdC5jcmVhdGUobnVsbCksIGVudHJpZXMgPSBbXTsKCiAgICBmdW5jdGlvbiBwdXNoKGVsLCBrZXkpewogICAgICBpZighZWwgfHwgIWtleSB8fCBzZWVuW2tleV0peyByZXR1cm47IH0KICAgICAgc2VlbltrZXldID0gdHJ1ZTsKICAgICAgZW50cmllcy5wdXNoKHsgc2VjdGlvbjogZWwsIGtleToga2V5LCBsYWJlbDogZGljdFtrZXldIHx8IHRpdGxlQ2FzZShrZXkpIH0pOwogICAgfQoKICAgIHZhciBmb3VuZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tpZF49IicgKyBQUkVGSVggKyAnIl0nKTsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBmb3VuZC5sZW5ndGg7IGkrKyl7CiAgICAgIGlmKCFpc1NlY3Rpb25DYW5kaWRhdGUoZm91bmRbaV0pKXsgY29udGludWU7IH0KICAgICAgcHVzaChmb3VuZFtpXSwga2V5T2YoZm91bmRbaV0uaWQpKTsKICAgIH0KICAgIGlmKGVudHJpZXMubGVuZ3RoKXsKICAgICAgd2FybklmUGFydGlhbGx5TWlncmF0ZWQoc2Vlbik7CiAgICAgIHJldHVybiB7IGVudHJpZXM6IGVudHJpZXMsIG1vZGU6ICdwcmVmaXgnIH07CiAgICB9CgogICAgZm9yKHZhciBqID0gMDsgaiA8IExFR0FDWV9LRVlTLmxlbmd0aDsgaisrKXsKICAgICAgdmFyIGsgID0gTEVHQUNZX0tFWVNbal07CiAgICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGspIHx8IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tpZF49IicgKyBrICsgJy0iXScpOwogICAgICBpZihlbCAmJiBpc1NlY3Rpb25DYW5kaWRhdGUoZWwpKXsgcHVzaChlbCwgayk7IH0KICAgIH0KICAgIGlmKGVudHJpZXMubGVuZ3RoKXsKICAgICAgZW50cmllcy5zb3J0KGluRG9jdW1lbnRPcmRlcik7IC8qIGxhIGxpc3RlIGRlcyBjbMOpcyBuZSBzdWl0IHBhcyBsJ29yZHJlIGRlIGxhIHBhZ2UgKi8KICAgICAgcmV0dXJuIHsgZW50cmllczogZW50cmllcywgbW9kZTogJ2xlZ2FjeScgfTsKICAgIH0KCiAgICByZXR1cm4geyBlbnRyaWVzOiBlbnRyaWVzLCBtb2RlOiAnbm9uZScgfTsKICB9CgogIC8qIC0tLS0gTWlncmF0aW9uIHBhcnRpZWxsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIENhcyBwacOoZ2UgOiBzdXIgdW5lIG3Dqm1lIHBhZ2UgY2VydGFpbmVzIHJvd3Mgb250IMOpdMOpIHJlbm9tbcOpZXMgZW4KICAgICBuYXYt4oCmIGV0IGQnYXV0cmVzIG5vbi4gTGUgbW9kZSBub21pbmFsIGwnZW1wb3J0ZSBldCBsZXMgcm93cyBub24KICAgICByZW5vbW3DqWVzIGRpc3BhcmFpc3NlbnQgU0lMRU5DSUVVU0VNRU5UIGR1IG1lbnUuIE9uIGxlIHNpZ25hbGUuICovCiAgZnVuY3Rpb24gd2FybklmUGFydGlhbGx5TWlncmF0ZWQoc2Vlbil7CiAgICBpZighd2luZG93LmNvbnNvbGUgfHwgIWNvbnNvbGUud2Fybil7IHJldHVybjsgfQogICAgdmFyIHN0cmFnZ2xlcnMgPSBbXTsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBMRUdBQ1lfS0VZUy5sZW5ndGg7IGkrKyl7CiAgICAgIHZhciBrID0gTEVHQUNZX0tFWVNbaV07CiAgICAgIGlmKHNlZW5ba10peyBjb250aW51ZTsgfSAvKiBkw6lqw6AgcHLDqXNlbnQgdmlhIHVuZSByb3cgbmF2LSAqLwogICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChrKSB8fCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdbaWRePSInICsgayArICctIl0nKTsKICAgICAgaWYoZWwgJiYgaXNTZWN0aW9uQ2FuZGlkYXRlKGVsKSl7IHN0cmFnZ2xlcnMucHVzaChrICsgJyAoIycgKyBlbC5pZCArICcpJyk7IH0KICAgIH0KICAgIGlmKCFzdHJhZ2dsZXJzLmxlbmd0aCl7IHJldHVybjsgfQogICAgY29uc29sZS53YXJuKAogICAgICAnW25weC1zdWJuYXZdIE1pZ3JhdGlvbiBpbmNvbXBsZXRlIHN1ciBjZXR0ZSBwYWdlIDogJyArIHN0cmFnZ2xlcnMubGVuZ3RoICsKICAgICAgJyByb3cocykgcG9ydGVudCBlbmNvcmUgdW4gYW5jaWVuIFJvdyBJRCBldCBzb250IEFCU0VOVEVTIGR1IG1lbnUgLT4gJyArCiAgICAgIHN0cmFnZ2xlcnMuam9pbignLCAnKSArICdcbicgKwogICAgICAnTGVzIHJlbm9tbWVyIGF2ZWMgbGUgcHJlZml4ZSAiJyArIFBSRUZJWCArICciIChleC4gJyArIFBSRUZJWCArIExFR0FDWV9LRVlTWzBdICsgJykuJwogICAgKTsKICB9CgogIC8qIC0tLS0gTWVzc2FnZSBkZSBkaWFnbm9zdGljIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIEludmlzaWJsZSBwb3VyIGxlcyB2aXNpdGV1cnMsIGTDqWNpc2lmIHBvdXIgbGEgcGVyc29ubmUgcXVpIHJlcHJlbmQKICAgICBsZSBkb3NzaWVyIDogb24gZGl0IGNlIHF1aSBhIMOpdMOpIGNoZXJjaMOpIGV0IGNlIHF1aSBhIMOpdMOpIHRyb3V2w6kuICovCiAgZnVuY3Rpb24gd2Fybk5vdGhpbmdGb3VuZCgpewogICAgaWYoIXdpbmRvdy5jb25zb2xlIHx8ICFjb25zb2xlLndhcm4peyByZXR1cm47IH0KICAgIHZhciB3aXRoSWQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbaWRdJyk7CiAgICBjb25zb2xlLndhcm4oCiAgICAgICdbbnB4LXN1Ym5hdl0gQXVjdW5lIHNlY3Rpb24gdHJvdXbDqWUgOiBsYSBiYXJyZSByZXN0ZSBtYXNxdcOpZS5cbicgKwogICAgICAnLSBSZWNoZXJjaMOpIGVuIHByaW9yaXTDqSA6IGRlcyBSb3cgSUQgY29tbWVuw6dhbnQgcGFyICInICsgUFJFRklYICsgJyIgKGV4LiBuYXYtb3ZlcnZpZXcpLlxuJyArCiAgICAgICctIFB1aXMsIGVuIHJlcGxpLCBsZXMgY2xlcyBoZXJpdGVlcyA6ICcgKyBMRUdBQ1lfS0VZUy5qb2luKCcsICcpICsgJy5cbicgKwogICAgICAnLSBQYWdlIGxhbmc9IicgKyAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgnbGFuZycpIHx8ICcoYWJzZW50KScpICsgJyIsICcgKwogICAgICB3aXRoSWQubGVuZ3RoICsgJyBlbGVtZW50KHMpIHBvcnRlbnQgdW4gaWQuXG4nICsKICAgICAgJy0gQ2F1c2UgbGEgcGx1cyBmcmVxdWVudGUgOiBsZXMgUm93IElEIGRlIENFVFRFIHBhZ2UgbmUgc29udCBwYXMgbm9tbWVzLiAnICsKICAgICAgJ1NvdXMgV1BNTCB1bmUgdHJhZHVjdGlvbiBlc3QgdW4gcG9zdCBkaXN0aW5jdCDigJQgcmVub21tZXIgbGVzIFJvdyBJRCBkZSBsYSBwYWdlICcgKwogICAgICAnc291cmNlIG5lIHJlbm9tbWUgcGFzIGNldXggZGUgbGEgdHJhZHVjdGlvbiA6IGlsIGZhdXQgbGVzIHNhaXNpciBzdXIgY2hhcXVlIGxhbmd1ZS5cbicgKwogICAgICAnLSBQb3VyIGxhIGxpc3RlIGRlcyBpZHMgcHJlc2VudHMsIHJlY2hhcmdlciBsYSBwYWdlIGF2ZWMgP25weGRlYnVnPTEnCiAgICApOwogICAgaWYoREVCVUcpewogICAgICB2YXIgaWRzID0gW107CiAgICAgIGZvcih2YXIgaSA9IDA7IGkgPCB3aXRoSWQubGVuZ3RoOyBpKyspeyBpZHMucHVzaCh3aXRoSWRbaV0uaWQpOyB9CiAgICAgIGNvbnNvbGUud2FybignW25weC1zdWJuYXZdIGlkcyBwcmVzZW50cyBzdXIgbGEgcGFnZSA6JywgaWRzKTsKICAgIH0KICB9CgogIC8qIC0tLS0gSW5pdGlhbGlzYXRpb24gZCd1bmUgaW5zdGFuY2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICBSZW52b2llIHRydWUgc2kgbGEgYmFycmUgYSDDqXTDqSBjb25zdHJ1aXRlLCBmYWxzZSBzJ2lsIG4neSBhdmFpdAogICAgIGF1Y3VuZSBzZWN0aW9uIChsJ2luc3RhbmNlIHJlc3RlIGFsb3JzIMOpbGlnaWJsZSDDoCB1bmUgbm91dmVsbGUKICAgICB0ZW50YXRpdmUgOiBkYXRhLW5weC1yZWFkeSBuJ2VzdCBwb3PDqSBxdSdlbiBjYXMgZGUgc3VjY8OocykuICovCiAgZnVuY3Rpb24gaW5pdChuYXYpewogICAgdmFyIGlubmVyID0gbmF2LnF1ZXJ5U2VsZWN0b3IoJy5ucHgtc3VibmF2X19pbm5lcicpOwogICAgaWYoIWlubmVyKXsKICAgICAgbmF2LnNldEF0dHJpYnV0ZSgnZGF0YS1ucHgtcmVhZHknLCAnMScpOyAvKiBiYWxpc2FnZSBpbmF0dGVuZHUgOiBuZSBwYXMgYm91Y2xlciBkZXNzdXMgKi8KICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgdmFyIGxhbmcgID0gZGV0ZWN0TGFuZyhuYXYpOwogICAgdmFyIGRpY3QgID0gTEFCRUxTW2xhbmddIHx8IHt9OwogICAgdmFyIGZvdW5kID0gZGlzY292ZXIoZGljdCk7CiAgICB2YXIgZW50cmllcyA9IGZvdW5kLmVudHJpZXM7CgogICAgaWYoIWVudHJpZXMubGVuZ3RoKXsgcmV0dXJuIGZhbHNlOyB9CgogICAgbmF2LnNldEF0dHJpYnV0ZSgnZGF0YS1ucHgtcmVhZHknLCAnMScpOwogICAgbG9nKCdtb2RlID0nLCBmb3VuZC5tb2RlLCAnfCBsYW5nID0nLCBsYW5nLCAnfCBlbnRyZWVzID0nLCBlbnRyaWVzLm1hcChmdW5jdGlvbihlKXsKICAgICAgcmV0dXJuIGUua2V5ICsgJyAtPiAnICsgZS5sYWJlbCArICcgKCMnICsgZS5zZWN0aW9uLmlkICsgJyknOwogICAgfSkpOwoKICAgIGlubmVyLmlubmVySFRNTCA9ICcnOwogICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uKGUpewogICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgYS5ocmVmID0gJyMnICsgZS5zZWN0aW9uLmlkOwogICAgICBhLnRleHRDb250ZW50ID0gZS5sYWJlbDsKICAgICAgaW5uZXIuYXBwZW5kQ2hpbGQoYSk7CiAgICAgIGUubGluayA9IGE7CiAgICB9KTsKICAgIG5hdi5yZW1vdmVBdHRyaWJ1dGUoJ2hpZGRlbicpOwoKICAgIC8qIC0tLS0gdi42LjQgOiBsYSBiYXJyZSB0aWVudCBzdXIgdW5lIGxpZ25lIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgZmxleC13cmFwOm5vd3JhcCBzdXBwcmltZSBsYSAyZSBsaWduZS4gT24gbWVzdXJlIGV0IG9uIHJldGllbnQgbGUKICAgICAgIFBSRU1JRVIgcGFsaWVyIHF1aSByZW50cmUuIExlIHBhbGllciAwIGVzdCBsZSByZW5kdSB2LjYuMiA6IHVuZQogICAgICAgYmFycmUgcXVpIHJlbnRyYWl0IGRlamEgbmUgYm91Z2UgcGFzIGQndW4gcGl4ZWwuIFNpIG1lbWUgbGUKICAgICAgIHBsYW5jaGVyIGRlYm9yZGUgKHRlbGVwaG9uZSksIGxhIGJhcnJlIGRlZmlsZSBob3Jpem9udGFsZW1lbnQuCiAgICAgICBUb3V0IGVzdCBlbnZlbG9wcGUgOiBlbiBjYXMgZCdlcnJldXIgb24gcmV2aWVudCBhdSBwYWxpZXIgMC4gKi8KICAgIHZhciBTVEVQUyA9IFsKICAgICAgeyBmczogJzExcHgnLCAgIGxzOiAnLjEyZW0nLCBweDogJzE0cHgnLCBnYXA6ICcxMHB4JyB9LCAvKiByZW5kdSB2LjYuMiAqLwogICAgICB7IGZzOiAnMTFweCcsICAgbHM6ICcuMDllbScsIHB4OiAnMTNweCcsIGdhcDogJzlweCcgIH0sCiAgICAgIHsgZnM6ICcxMC41cHgnLCBsczogJy4wN2VtJywgcHg6ICcxMnB4JywgZ2FwOiAnOHB4JyAgfSwKICAgICAgeyBmczogJzEwcHgnLCAgIGxzOiAnLjA2ZW0nLCBweDogJzExcHgnLCBnYXA6ICc3cHgnICB9LAogICAgICB7IGZzOiAnOS41cHgnLCAgbHM6ICcuMDVlbScsIHB4OiAnMTBweCcsIGdhcDogJzZweCcgIH0sCiAgICAgIHsgZnM6ICc5cHgnLCAgICBsczogJy4wNGVtJywgcHg6ICc5cHgnLCAgZ2FwOiAnNXB4JyAgfSAgLyogcGxhbmNoZXIgKi8KICAgIF07CiAgICBmdW5jdGlvbiBhcHBseVN0ZXAocyl7CiAgICAgIHZhciBzdCA9IGlubmVyLnN0eWxlOwogICAgICBzdC5zZXRQcm9wZXJ0eSgnLS1ucHgtZnMnLCAgcy5mcyk7CiAgICAgIHN0LnNldFByb3BlcnR5KCctLW5weC1scycsICBzLmxzKTsKICAgICAgc3Quc2V0UHJvcGVydHkoJy0tbnB4LXB4JywgIHMucHgpOwogICAgICBzdC5zZXRQcm9wZXJ0eSgnLS1ucHgtZ2FwJywgcy5nYXApOwogICAgfQogICAgZnVuY3Rpb24gb3ZlcmZsb3dpbmcoKXsgcmV0dXJuIGlubmVyLnNjcm9sbFdpZHRoID4gaW5uZXIuY2xpZW50V2lkdGggKyAxOyB9CgogICAgdmFyIGZpdHRpbmcgPSBmYWxzZSwgbGFzdFcgPSAtMTsKICAgIGZ1bmN0aW9uIGZpdCgpewogICAgICBpZihmaXR0aW5nKXsgcmV0dXJuOyB9CiAgICAgIGZpdHRpbmcgPSB0cnVlOwogICAgICB0cnl7CiAgICAgICAgLyogQmFycmUgbm9uIG1lc3VyYWJsZSAobWFzcXVlZSwgb25nbGV0IHJlcGxpZSkgOiBuZSByaWVuIGNvbmNsdXJlLiAqLwogICAgICAgIGlmKGlubmVyLmNsaWVudFdpZHRoID4gNDApewogICAgICAgICAgdmFyIGksIGNob3NlbiA9IFNURVBTLmxlbmd0aCAtIDE7CiAgICAgICAgICBmb3IoaSA9IDA7IGkgPCBTVEVQUy5sZW5ndGg7IGkrKyl7CiAgICAgICAgICAgIGFwcGx5U3RlcChTVEVQU1tpXSk7CiAgICAgICAgICAgIGlmKCFvdmVyZmxvd2luZygpKXsgY2hvc2VuID0gaTsgYnJlYWs7IH0KICAgICAgICAgIH0KICAgICAgICAgIGlmKGNob3NlbiAhPT0gaSl7IGFwcGx5U3RlcChTVEVQU1tjaG9zZW5dKTsgfQogICAgICAgICAgbGFzdFcgPSBuYXYuY2xpZW50V2lkdGg7CiAgICAgICAgfQogICAgICB9Y2F0Y2goZXJyKXsKICAgICAgICBhcHBseVN0ZXAoU1RFUFNbMF0pOyAgLyogamFtYWlzIGRlIGJhcnJlIGNhc3NlZSAqLwogICAgICB9CiAgICAgIGZpdHRpbmcgPSBmYWxzZTsKICAgIH0KICAgIGZpdCgpOwoKICAgIC8qIExhIHBvbGljZSBkdSB0aGVtZSBhcnJpdmUgZW4gYXN5bmNocm9uZSA6IHJlbWVzdXJlciBhIHNvbiBhcnJpdmVlLiAqLwogICAgaWYoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbil7CiAgICAgIHRyeXsgZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbihmaXQsIGZpdCk7IH1jYXRjaChlcnIpe30KICAgIH0KICAgIHNldFRpbWVvdXQoZml0LCA2MDApOwogICAgc2V0VGltZW91dChmaXQsIDIwMDApOwoKICAgIC8qIExlIHBhc3NhZ2UgZW4gc3RpY2t5IGNoYW5nZSBsYSBsYXJnZXVyIHNhbnMgZXZlbmVtZW50IHJlc2l6ZS4gKi8KICAgIGlmKHdpbmRvdy5SZXNpemVPYnNlcnZlcil7CiAgICAgIHRyeXsKICAgICAgICBuZXcgUmVzaXplT2JzZXJ2ZXIoZnVuY3Rpb24oKXsKICAgICAgICAgIGlmKG5hdi5jbGllbnRXaWR0aCAhPT0gbGFzdFcpeyBmaXQoKTsgfQogICAgICAgIH0pLm9ic2VydmUobmF2KTsKICAgICAgfWNhdGNoKGVycil7fQogICAgfQoKICAgIC8qIEVuIG1vZGUgZGVmaWxlbWVudCwgZ2FyZGVyIGxhIHBhc3RpbGxlIGFjdGl2ZSB2aXNpYmxlLiAqLwogICAgZnVuY3Rpb24gcmV2ZWFsKGxpbmspewogICAgICBpZighbGluayB8fCAhb3ZlcmZsb3dpbmcoKSl7IHJldHVybjsgfQogICAgICB2YXIgbCA9IGxpbmsub2Zmc2V0TGVmdCwgciA9IGwgKyBsaW5rLm9mZnNldFdpZHRoOwogICAgICB2YXIgdnMgPSBpbm5lci5zY3JvbGxMZWZ0LCB2ZSA9IHZzICsgaW5uZXIuY2xpZW50V2lkdGg7CiAgICAgIGlmKGwgPCB2cyl7IGlubmVyLnNjcm9sbExlZnQgPSBNYXRoLm1heCgwLCBsIC0gMTIpOyB9CiAgICAgIGVsc2UgaWYociA+IHZlKXsgaW5uZXIuc2Nyb2xsTGVmdCA9IHIgLSBpbm5lci5jbGllbnRXaWR0aCArIDEyOyB9CiAgICB9CgogICAgZnVuY3Rpb24gdG9wT2Zmc2V0KCl7CiAgICAgIHZhciB2ID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tbnB4LXRvcCcpOwogICAgICByZXR1cm4gcGFyc2VJbnQodiwgMTApIHx8IDA7CiAgICB9CiAgICAvKiBEw6lmaWxlbWVudCBhdmVjIGNvbXBlbnNhdGlvbiBkZXMgZGV1eCBtZW51cy4gKi8KICAgIGZ1bmN0aW9uIHRvdGFsT2Zmc2V0KCl7IHJldHVybiB0b3BPZmZzZXQoKSArIG5hdi5vZmZzZXRIZWlnaHQgKyA4OyB9CgogICAgLyogLS0tLSBDb2xsYWdlIDogZml4ZWQgKyBwbGFjZWhvbGRlciBhbnRpLXNhdXQgKG1vZGUgJ2pzJykgLS0tLSAqLwogICAgdmFyIHBoID0gbnVsbDsKICAgIGlmKFNUSUNLX01PREUgPT09ICdqcycpewogICAgICBwaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICBwaC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICBuYXYucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocGgsIG5hdik7CiAgICB9CiAgICBmdW5jdGlvbiBzdGljaygpewogICAgICBpZighcGgpeyByZXR1cm47IH0KICAgICAgdmFyIGFuY2hvciA9IChwaC5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScpID8gbmF2IDogcGg7CiAgICAgIHZhciBzaG91bGQgPSBhbmNob3IuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIDw9IHRvcE9mZnNldCgpOwogICAgICBpZihzaG91bGQgJiYgIW5hdi5jbGFzc0xpc3QuY29udGFpbnMoJ25weC1zdHVjaycpKXsKICAgICAgICBwaC5zdHlsZS5oZWlnaHQgID0gbmF2Lm9mZnNldEhlaWdodCArICdweCc7CiAgICAgICAgcGguc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgbmF2LmNsYXNzTGlzdC5hZGQoJ25weC1zdHVjaycpOwogICAgICB9ZWxzZSBpZighc2hvdWxkICYmIG5hdi5jbGFzc0xpc3QuY29udGFpbnMoJ25weC1zdHVjaycpKXsKICAgICAgICBuYXYuY2xhc3NMaXN0LnJlbW92ZSgnbnB4LXN0dWNrJyk7CiAgICAgICAgcGguc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgfQogICAgfQoKICAgIC8qIC0tLS0gU2VjdGlvbiBhY3RpdmUgLS0tLSAqLwogICAgdmFyIGxhc3RDdXJyZW50ID0gbnVsbDsKICAgIGZ1bmN0aW9uIGhpZ2hsaWdodCgpewogICAgICB2YXIgbGltaXQgPSB0b3RhbE9mZnNldCgpICsgNDsKICAgICAgdmFyIGN1cnJlbnQgPSBudWxsOwogICAgICBlbnRyaWVzLmZvckVhY2goZnVuY3Rpb24oZSl7CiAgICAgICAgaWYoZS5zZWN0aW9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCA8PSBsaW1pdCl7IGN1cnJlbnQgPSBlOyB9CiAgICAgIH0pOwogICAgICBlbnRyaWVzLmZvckVhY2goZnVuY3Rpb24oZSl7CiAgICAgICAgZS5saW5rLmNsYXNzTGlzdC50b2dnbGUoJ25weC1hY3RpdmUnLCBlID09PSBjdXJyZW50KTsKICAgICAgfSk7CiAgICAgIGlmKGN1cnJlbnQgIT09IGxhc3RDdXJyZW50KXsKICAgICAgICBsYXN0Q3VycmVudCA9IGN1cnJlbnQ7CiAgICAgICAgaWYoY3VycmVudCl7IHJldmVhbChjdXJyZW50LmxpbmspOyB9CiAgICAgIH0KICAgIH0KCiAgICAvKiAtLS0tIENsaWMgc3VyIHVuZSBlbnRyw6llIC0tLS0gKi8KICAgIHZhciBzbW9vdGggPSAhd2luZG93Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJykubWF0Y2hlczsKICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlKXsKICAgICAgZS5saW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZXYpewogICAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgdmFyIHkgPSBlLnNlY3Rpb24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0IC0gdG90YWxPZmZzZXQoKTsKICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IHksIGJlaGF2aW9yOiBzbW9vdGggPyAnc21vb3RoJyA6ICdhdXRvJyB9KTsKICAgICAgICBoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCAnJywgJyMnICsgZS5zZWN0aW9uLmlkKTsKICAgICAgfSk7CiAgICB9KTsKCiAgICBmdW5jdGlvbiBvblNjcm9sbCgpeyBzdGljaygpOyBoaWdobGlnaHQoKTsgfQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsLCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZnVuY3Rpb24oKXsgZml0KCk7IG9uU2Nyb2xsKCk7IH0pOwogICAgb25TY3JvbGwoKTsKICAgIHJldHVybiB0cnVlOwogIH0KCiAgLyogLS0tLSBBbW9yw6dhZ2UgOiB0b3V0ZXMgbGVzIGluc3RhbmNlcywgYXZlYyBxdWVscXVlcyByZWxhbmNlcyAtLS0tLS0KICAgICBMZXMgcm93cyBVbmNvZGUgcGV1dmVudCDDqnRyZSBpbmplY3TDqWVzIGFwcsOocyBsZSBET01Db250ZW50TG9hZGVkCiAgICAgKGxhenkgLyBBSkFYKSA6IG9uIHJldGVudGUgcGVuZGFudCB+Miw1IHMgYXZhbnQgZGUgY29uY2x1cmUuICovCiAgZnVuY3Rpb24gYm9vdCgpewogICAgdmFyIG5hdnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubnB4LXN1Ym5hdjpub3QoW2RhdGEtbnB4LXJlYWR5XSknKTsKICAgIHZhciBwZW5kaW5nID0gMDsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBuYXZzLmxlbmd0aDsgaSsrKXsKICAgICAgaWYoIWluaXQobmF2c1tpXSkpeyBwZW5kaW5nKys7IH0KICAgIH0KICAgIHJldHVybiBwZW5kaW5nOwogIH0KCiAgZnVuY3Rpb24gcnVuKCl7CiAgICBpZihib290KCkgPT09IDApeyByZXR1cm47IH0KICAgIHZhciB0cmllcyA9IDA7CiAgICB2YXIgdGltZXIgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpewogICAgICB0cmllcysrOwogICAgICB2YXIgbGFzdCA9IHRyaWVzID49IDY7IC8qIDYgeCA0MDAgbXMgKi8KICAgICAgaWYoYm9vdCgpID09PSAwIHx8IGxhc3QpewogICAgICAgIGNsZWFySW50ZXJ2YWwodGltZXIpOwogICAgICAgIGlmKGxhc3QgJiYgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm5weC1zdWJuYXY6bm90KFtkYXRhLW5weC1yZWFkeV0pJykpewogICAgICAgICAgd2Fybk5vdGhpbmdGb3VuZCgpOwogICAgICAgIH0KICAgICAgfQogICAgfSwgNDAwKTsKICB9CgogIGlmKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdsb2FkaW5nJyl7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgcnVuKTsKICB9ZWxzZXsKICAgIHJ1bigpOwogIH0KfSkoKTsKPC9zY3JpcHQ+[\/vc_raw_html][\/vc_column][\/vc_row][vc_row unlock_row_content=\u00a0\u00bbyes\u00a0\u00bb row_height_percent=\u00a0\u00bb0&Prime; override_padding=\u00a0\u00bbyes\u00a0\u00bb h_padding=\u00a0\u00bb5&Prime; top_padding=\u00a0\u00bb4&Prime; bottom_padding=\u00a0\u00bb5&Prime; back_color=\u00a0\u00bbcolor-xsdn\u00a0\u00bb overlay_alpha=\u00a0\u00bb50&Prime; gutter_size=\u00a0\u00bb4&Prime; column_width_percent=\u00a0\u00bb100&Prime; shift_y=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; top_divider=\u00a0\u00bbgradient\u00a0\u00bb bottom_divider=\u00a0\u00bbgradient\u00a0\u00bb inverted_device_order=\u00a0\u00bbyes\u00a0\u00bb content_parallax=\u00a0\u00bb0&Prime; uncode_shortcode_id=\u00a0\u00bb106197&Prime; back_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb][vc_column column_width_percent=\u00a0\u00bb100&Prime; gutter_size=\u00a0\u00bb3&Prime; style=\u00a0\u00bbdark\u00a0\u00bb overlay_alpha=\u00a0\u00bb50&Prime; shift_x=\u00a0\u00bb0&Prime; shift_y=\u00a0\u00bb0&Prime; shift_y_down=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; medium_width=\u00a0\u00bb0&Prime; mobile_width=\u00a0\u00bb0&Prime; css_animation=\u00a0\u00bbalpha-anim\u00a0\u00bb animation_speed=\u00a0\u00bb1000&Prime; sticky=\u00a0\u00bbyes\u00a0\u00bb width=\u00a0\u00bb1\/4&Prime; uncode_shortcode_id=\u00a0\u00bb202619&Prime;][vc_single_image media=\u00a0\u00bb2082&Prime; media_width_percent=\u00a0\u00bb65&Prime; alignment=\u00a0\u00bbcenter\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb575096&Prime;][vc_row_inner row_inner_height_percent=\u00a0\u00bb0&Prime; overlay_alpha=\u00a0\u00bb50&Prime; gutter_size=\u00a0\u00bb4&Prime; shift_y=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; limit_content=\u00a0\u00bb\u00a0\u00bb][vc_column_inner column_width_percent=\u00a0\u00bb100&Prime; gutter_size=\u00a0\u00bb3&Prime; style=\u00a0\u00bbdark\u00a0\u00bb back_color=\u00a0\u00bbcolor-583231&Prime; overlay_alpha=\u00a0\u00bb50&Prime; radius=\u00a0\u00bbstd\u00a0\u00bb shadow=\u00a0\u00bbstd\u00a0\u00bb shift_x=\u00a0\u00bb0&Prime; shift_y=\u00a0\u00bb0&Prime; shift_y_down=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; medium_width=\u00a0\u00bb4&Prime; mobile_width=\u00a0\u00bb0&Prime; width=\u00a0\u00bb1\/1&Prime; uncode_shortcode_id=\u00a0\u00bb159899&Prime; back_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb][vc_custom_heading text_color=\u00a0\u00bbcolor-xsdn\u00a0\u00bb text_size=\u00a0\u00bbh3&Prime; uncode_shortcode_id=\u00a0\u00bb474342&Prime; text_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb subheading=\u00a0\u00bbLogiciels et outils HPC\u00a0\u00bb]Exa-SofT[\/vc_custom_heading][\/vc_column_inner][\/vc_row_inner][\/vc_column][vc_column column_width_percent=\u00a0\u00bb100&Prime; position_vertical=\u00a0\u00bbmiddle\u00a0\u00bb gutter_size=\u00a0\u00bb3&Prime; font_family=\u00a0\u00bbfont-613363&Prime; overlay_alpha=\u00a0\u00bb50&Prime; shift_x=\u00a0\u00bb0&Prime; shift_y=\u00a0\u00bb0&Prime; shift_y_down=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; medium_width=\u00a0\u00bb0&Prime; mobile_width=\u00a0\u00bb0&Prime; css_animation=\u00a0\u00bbalpha-anim\u00a0\u00bb animation_speed=\u00a0\u00bb1000&Prime; width=\u00a0\u00bb3\/4&Prime; uncode_shortcode_id=\u00a0\u00bb484410&Prime;][vc_empty_space empty_h=\u00a0\u00bb1&Prime; el_id=\u00a0\u00bbnav-overview\u00a0\u00bb][vc_custom_heading heading_semantic=\u00a0\u00bbh3&Prime; text_size=\u00a0\u00bbh1&Prime; uncode_shortcode_id=\u00a0\u00bb342781&Prime;]Exa-SofT : Pr\u00e9sentation g\u00e9n\u00e9rale[\/vc_custom_heading][vc_column_text text_lead=\u00a0\u00bbyes\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb168655&Prime;]<\/p>\n<p data-dc-tpl=\"35\" data-om-id=\"565287b5:39\">Exa-SofT fait partie des projets cibl\u00e9s (PC2) du <a href=\"https:\/\/numpex.org\/fr\/programme-numpex\/\">PEPR NumPEx<\/a>, le programme fran\u00e7ais de recherche exploratoire visant \u00e0 pr\u00e9parer l&rsquo;\u00e9cosyst\u00e8me logiciel au calcul exascale.<\/p>\n<p data-dc-tpl=\"36\" data-om-id=\"565287b5:40\">La fin de la loi de Dennard et le ralentissement de la loi de Moore ont pouss\u00e9 les supercalculateurs vers le parall\u00e9lisme massif et l\u2019h\u00e9t\u00e9rog\u00e9n\u00e9it\u00e9 mat\u00e9rielle : les n\u0153uds de calcul exascale combinent des processeurs classiques avec des acc\u00e9l\u00e9rateurs (principalement des GPU d\u2019architectures vari\u00e9es), ainsi que des syst\u00e8mes de m\u00e9moire et des interconnexions de plus en plus complexes. Le d\u00e9veloppement de biblioth\u00e8ques num\u00e9riques et d\u2019applications efficaces, portables et faciles \u00e0 maintenir sur de telles machines n\u2019est plus un simple probl\u00e8me d\u2019ing\u00e9nierie logicielle \u2014 il n\u00e9cessite une recherche disruptive \u00e0 tous les niveaux de la pile logicielle. <\/p>\n<p data-dc-tpl=\"37\" data-om-id=\"565287b5:41\">Plut\u00f4t que d&rsquo;apporter des modifications progressives aux mod\u00e8les de programmation con\u00e7us pour des machines homog\u00e8nes, Exa-SofT adopte une approche globale couvrant plusieurs couches de la pile : mod\u00e8les de programmation, compilateurs, syst\u00e8mes d&rsquo;ex\u00e9cution, biblioth\u00e8ques de communication, biblioth\u00e8ques num\u00e9riques et outils d&rsquo;analyse des performances et de la consommation \u00e9nerg\u00e9tique. L\u2019objectif est de disposer d\u2019une suite logicielle coh\u00e9rente, \u00e9troitement int\u00e9gr\u00e9e et pr\u00eate pour l\u2019exascale, dans laquelle l\u2019expression des algorithmes est dissoci\u00e9e des d\u00e9tails architecturaux de bas niveau. <\/p>\n<p>[\/vc_column_text][vc_empty_space empty_h=\u00a0\u00bb2&Prime;][vc_raw_html]PCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICBOdW1QRXgg4oCUIFBhZ2UgRXhhLVNvZlQg4oCUIE1haW4gc2NpZW50aWZpYyBjaGFsbGVuZ2VzCiAgTmFvcyBBZ2VuY3kgwrcgMjAyNi0wOC0xMiDCtyBCbG9jIGF1dG9ub21lIHBvdXIgVW5jb2RlIChXUCBCYWtlcnkpCgogIE1PREUgRCdFTVBMT0kKICAxLiBEYW5zIGxlIGJhY2stb2ZmaWNlIFVuY29kZSA6IHJvdyA+IGNvbG9ubmUgPiDDqWzDqW1lbnQKICAgICDCqyBDb2RlIEJsb2NrIMK7IChSYXcgSFRNTCkgPiBjb2xsZXIgVE9VVCBjZSBmaWNoaWVyLgogIDIuIExlIGJsb2MgZXN0IGF1dG9ub21lIDogc3R5bGVzIHBvcnTDqXMgZW4gaW5saW5lICsgdW4gPHN0eWxlPgogICAgIHNjb3DDqSAoaG92ZXIgZXQgZ3JpbGxlIHJlc3BvbnNpdmUpLiBBdWN1bmUgZMOpcGVuZGFuY2UgSlMuCiAgMy4gTGEgdHlwbyBow6lyaXRlIGR1IHRow6htZSA7IFBvcHBpbnMgZXN0IGTDqWNsYXLDqWUgZW4gc2Vjb3Vycy4KICBOT1RFIDogY2UgYmxvYyBzZSBwbGFjZSBkYW5zIGxhIHNlY3Rpb24gT3ZlcnZpZXcsIHNvdXMgbGVzCiAgcGFyYWdyYXBoZXMgZCdpbnRyb2R1Y3Rpb24uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KPGRpdiBjbGFzcz0ibnB4c2MiIHN0eWxlPSJmb250LWZhbWlseTonUG9wcGlucycsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sJ1NlZ29lIFVJJyxzYW5zLXNlcmlmIj4KICA8cCBzdHlsZT0ibWFyZ2luOjA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4yZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiM2RTc0N0UiPlByaW5jaXBhdXggZMOpZmlzIHNjaWVudGlmaXF1ZXM8L3A+CiAgPGRpdiBzdHlsZT0ibWFyZ2luOjE2cHggYXV0byAwO21heC13aWR0aDo3MDBweDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MTBweCI+CiAgICA8c3BhbiBzdHlsZT0iYm9yZGVyOjFweCBzb2xpZCByZ2JhKDIyMywxNjIsNDEsLjcpO2JhY2tncm91bmQ6cmdiYSgyMjMsMTYyLDQxLC4wOCk7Ym9yZGVyLXJhZGl1czo5OTlweDtwYWRkaW5nOjlweCAyMHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjojMUMxRTI0O2xldHRlci1zcGFjaW5nOi4wM2VtO3doaXRlLXNwYWNlOm5vd3JhcCI+UHJvZHVjdGl2aXTDqTwvc3Bhbj4KICAgIDxzcGFuIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjIzLDE2Miw0MSwuNyk7YmFja2dyb3VuZDpyZ2JhKDIyMywxNjIsNDEsLjA4KTtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6OXB4IDIwcHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiMxQzFFMjQ7bGV0dGVyLXNwYWNpbmc6LjAzZW07d2hpdGUtc3BhY2U6bm93cmFwIj5Qb3J0YWJpbGl0w6kgZGVzIHBlcmZvcm1hbmNlczwvc3Bhbj4KICAgIDxzcGFuIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjIzLDE2Miw0MSwuNyk7YmFja2dyb3VuZDpyZ2JhKDIyMywxNjIsNDEsLjA4KTtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6OXB4IDIwcHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiMxQzFFMjQ7bGV0dGVyLXNwYWNpbmc6LjAzZW07d2hpdGUtc3BhY2U6bm93cmFwIj5Iw6l0w6lyb2fDqW7DqWl0w6k8L3NwYW4+CiAgICA8c3BhbiBzdHlsZT0iYm9yZGVyOjFweCBzb2xpZCByZ2JhKDIyMywxNjIsNDEsLjcpO2JhY2tncm91bmQ6cmdiYSgyMjMsMTYyLDQxLC4wOCk7Ym9yZGVyLXJhZGl1czo5OTlweDtwYWRkaW5nOjlweCAyMHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjojMUMxRTI0O2xldHRlci1zcGFjaW5nOi4wM2VtO3doaXRlLXNwYWNlOm5vd3JhcCI+w4l2b2x1dGl2aXTDqSBldCByw6lzaWxpZW5jZTwvc3Bhbj4KICAgIDxzcGFuIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjIzLDE2Miw0MSwuNyk7YmFja2dyb3VuZDpyZ2JhKDIyMywxNjIsNDEsLjA4KTtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6OXB4IDIwcHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiMxQzFFMjQ7bGV0dGVyLXNwYWNpbmc6LjAzZW07d2hpdGUtc3BhY2U6bm93cmFwIj5FZmZpY2FjaXTDqSDDqW5lcmfDqXRpcXVlPC9zcGFuPgogIDwvZGl2Pgo8L2Rpdj4=[\/vc_raw_html][vc_row_inner limit_content=\u00a0\u00bb\u00a0\u00bb][vc_column_inner column_width_percent=\u00a0\u00bb100&Prime; align_horizontal=\u00a0\u00bbalign_center\u00a0\u00bb gutter_size=\u00a0\u00bb3&Prime; overlay_alpha=\u00a0\u00bb50&Prime; shift_x=\u00a0\u00bb0&Prime; shift_y=\u00a0\u00bb0&Prime; shift_y_down=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; medium_width=\u00a0\u00bb0&Prime; mobile_width=\u00a0\u00bb0&Prime; width=\u00a0\u00bb1\/1&Prime; uncode_shortcode_id=\u00a0\u00bb790130&Prime;][vc_separator sep_color=\u00a0\u00bbaccent\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb763313&Prime; sep_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb el_width=\u00a0\u00bb15%\u00a0\u00bb][vc_empty_space empty_h=\u00a0\u00bb1&Prime;][vc_column_text text_lead=\u00a0\u00bbsmall\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb190952&Prime;]Ce projet se d\u00e9roule de 2023 \u00e0 2029 et est coordonn\u00e9 par l&rsquo;Inria.[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][vc_row_inner limit_content=\u00a0\u00bb\u00a0\u00bb][vc_column_inner width=\u00a0\u00bb1\/1&Prime;][vc_empty_space empty_h=\u00a0\u00bb2&Prime;][vc_separator sep_color=\u00a0\u00bbcolor-nhtu\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb794634&Prime; sep_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb][vc_empty_space empty_h=\u00a0\u00bb2&Prime; el_id=\u00a0\u00bbnav-consortium\u00a0\u00bb][\/vc_column_inner][\/vc_row_inner][vc_row_inner row_inner_height_percent=\u00a0\u00bb0&Prime; overlay_alpha=\u00a0\u00bb50&Prime; gutter_size=\u00a0\u00bb3&Prime; shift_y=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; uncode_shortcode_id=\u00a0\u00bb143206&Prime; el_id=\u00a0\u00bbevents-exa-soft-en\u00a0\u00bb limit_content=\u00a0\u00bb\u00a0\u00bb][vc_column_inner column_width_percent=\u00a0\u00bb100&Prime; align_horizontal=\u00a0\u00bbalign_center\u00a0\u00bb gutter_size=\u00a0\u00bb3&Prime; style=\u00a0\u00bblight\u00a0\u00bb overlay_alpha=\u00a0\u00bb50&Prime; shift_x=\u00a0\u00bb0&Prime; shift_y=\u00a0\u00bb0&Prime; shift_y_down=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; medium_width=\u00a0\u00bb0&Prime; mobile_width=\u00a0\u00bb0&Prime; width=\u00a0\u00bb1\/1&Prime; uncode_shortcode_id=\u00a0\u00bb205708&Prime;][vc_custom_heading heading_semantic=\u00a0\u00bbh3&Prime; text_size=\u00a0\u00bbh1&Prime; uncode_shortcode_id=\u00a0\u00bb182208&Prime;]Consortium et lots de travail[\/vc_custom_heading][vc_column_text text_lead=\u00a0\u00bbyes\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb180734&Prime;]Exa-SofT regroupe cinq partenaires principaux ainsi qu&rsquo;un partenaire industriel qui a rejoint le projet en 2025.[\/vc_column_text][vc_custom_heading text_color=\u00a0\u00bbaccent\u00a0\u00bb heading_semantic=\u00a0\u00bbh3&Prime; text_size=\u00a0\u00bbh3&Prime; text_transform=\u00a0\u00bbuppercase\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb705097&Prime; text_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb]Consortium[\/vc_custom_heading][\/vc_column_inner][\/vc_row_inner][vc_raw_html]PCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICBOdW1QRXgg4oCUIFBhZ2UgRXhhLVNvZlQg4oCUIENvbnNvcnRpdW0gKGNhcnRlcyAzYiwgcGFzdGlsbGUgY291bGV1ciBsb2dvKQogIE5hb3MgQWdlbmN5IMK3IDIwMjYtMDgtMTIgwrcgQmxvYyBhdXRvbm9tZSBwb3VyIFVuY29kZSAoV1AgQmFrZXJ5KQoKICBNT0RFIEQnRU1QTE9JCiAgMS4gUm93ID4gY29sb25uZSA+IMOpbMOpbWVudCDCqyBDb2RlIEJsb2NrIMK7IChSYXcgSFRNTCkgPiBjb2xsZXIKICAgICBUT1VUIGNlIGZpY2hpZXIuIEJsb2MgYXV0b25vbWUgOiBzdHlsZXMgaW5saW5lICsgdW4gPHN0eWxlPgogICAgIHNjb3DDqSBwb3VyIGxhIGdyaWxsZSByZXNwb25zaXZlLiBBdWN1bmUgZMOpcGVuZGFuY2UgSlMuCiAgMi4gQ2hhcXVlIGNhcnRlIHBvcnRlIHVuZSBwYXN0aWxsZSByb25kZSDDoCBsYSBjb3VsZXVyIGR1IGxvZ28KICAgICBkZSBsJ2luc3RpdHV0aW9uLiBDb3VsZXVycyByZXRlbnVlcyA6CiAgICAgSW5yaWEgI0U2MzMxMiDCtyBDRUEgI0UzMDYxMyDCtyBDTlJTICMwMDI5NEIgwrcKICAgICBUw6lsw6ljb20gU3VkUGFyaXMgI0M4MTAyRSDCtyBVbml2ZXJzaXTDqSBQYXJpcy1TYWNsYXkgIzYzMDAzQwogICAgIChQYW50b25lIDIyOSwgb2ZmaWNpZWwpIMK3IElGUEVOICMwMDM1NEQuCiAgICAg4pqgIENFQSwgQ05SUywgVMOpbMOpY29tIFN1ZFBhcmlzIGV0IElGUEVOIDogYXBwcm94aW1hdGlvbnMgw6AKICAgICBjb25maXJtZXIgYXZlYyBsZXMgY2hhcnRlcyBvZmZpY2llbGxlcyDigJQgY29ycmlnZXIgbGUgaGV4IGRlCiAgICAgbGEgcGFzdGlsbGUgZGlyZWN0ZW1lbnQgZGFucyBsZSBIVE1MIGxlIGNhcyDDqWNow6lhbnQuCiAgMy4gUm93IElEIMOgIHBvc2VyIHN1ciBsYSByb3cgcG9ydGV1c2UgKG1lbnUgc3RpY2t5IHYuNi4xKSA6CiAgICAgbmF2LWNvbnNvcnRpdW0tZXhhLXNvZnQtZW4KICA0LiBUZXh0ZXMgZW4gZHVyIGRhbnMgbGUgSFRNTCA6IHRyYWR1aXRzIHBhciBXUE1MIGNvbW1lCiAgICAgZCdoYWJpdHVkZS4KICA1LiBMYSB0eXBvIGjDqXJpdGUgZHUgdGjDqG1lIDsgUG9wcGlucyBlc3QgZMOpY2xhcsOpZSBlbiBzZWNvdXJzLgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CjxzdHlsZT4KICAubnB4Y28tZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC1hdXRvLXJvd3M6MWZyO2dhcDoxNnB4O2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9CiAgQG1lZGlhKG1pbi13aWR0aDo3NjBweCl7Lm5weGNvLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLDFmcil9fQogIEBtZWRpYShtaW4td2lkdGg6MTEwMHB4KXsubnB4Y28tZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKX19Cjwvc3R5bGU+CjxkaXYgc3R5bGU9Im1heC13aWR0aDoxMTQwcHg7bWFyZ2luOjAgYXV0bztmb250LWZhbWlseTonUG9wcGlucycsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sJ1NlZ29lIFVJJyxzYW5zLXNlcmlmIj4KPGRpdiBjbGFzcz0ibnB4Y28tZ3JpZCI+CiAgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDojRkZGRkZGO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjIwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4O2JveC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDAsMCwwLC4wNSkiPgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OXB4Ij48c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9IndpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7Ym9yZGVyLXJhZGl1czo5OTlweDtiYWNrZ3JvdW5kOiNFNjMzMTI7ZmxleC1zaHJpbms6MCI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTdweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzFDMUUyNDtsZXR0ZXItc3BhY2luZzouMDJlbSI+SW5yaWE8L3NwYW4+PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTFweDtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjE0ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiNDNDJBMEQiPkNvb3JkaW5hdGV1cjwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzLjVweDtjb2xvcjojNUE2MDY4O2xpbmUtaGVpZ2h0OjEuNTUiPmVuIGNvbGxhYm9yYXRpb24gYXZlYyBsJ1VuaXZlcnNpdMOpIGRlIEJvcmRlYXV4LCBsJ0lOUCBkZSBCb3JkZWF1eCwgbCdVbml2ZXJzaXTDqSBkZSBSZW5uZXMsIGwnVW5pdmVyc2l0w6kgZGUgU3RyYXNib3VyZyBldCBsJ1VuaXZlcnNpdMOpIGRlIEdyZW5vYmxlLUFscGVzLiDDiXF1aXBlcyA6IEF2YWxvbiwgQ2FtdXMsIENhc2gsIENvbmNhY2UsIERpdmVyc2UsIFBvbGFyaXMsIFJvbWEsIFN0b3JtLCBUYWRhYW0sIFRvcGFsLiA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNGRkZGRkY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMik7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MjBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMCwwLDAsLjA1KSI+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo5cHgiPjxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0id2lkdGg6MTBweDtoZWlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjk5OXB4O2JhY2tncm91bmQ6I0UzMDYxMztmbGV4LXNocmluazowIj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMUMxRTI0O2xldHRlci1zcGFjaW5nOi4wMmVtIj5DRUE8L3NwYW4+PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTMuNXB4O2NvbG9yOiM1QTYwNjg7bGluZS1oZWlnaHQ6MS41NSI+TGVzIMOpcXVpcGVzIGRlIGxhIE1haXNvbiBkZSBsYSBTaW11bGF0aW9uIGV0IGRlIERBTS48L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNGRkZGRkY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMik7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MjBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMCwwLDAsLjA1KSI+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo5cHgiPjxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0id2lkdGg6MTBweDtoZWlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjk5OXB4O2JhY2tncm91bmQ6IzAwMjk0QjtmbGV4LXNocmluazowIj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMUMxRTI0O2xldHRlci1zcGFjaW5nOi4wMmVtIj5DTlJTPC9zcGFuPjwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzLjVweDtjb2xvcjojNUE2MDY4O2xpbmUtaGVpZ2h0OjEuNTUiPmVuIGNvbGxhYm9yYXRpb24gYXZlYyBsJ1VuaXZlcnNpdMOpIGRlIFRvdWxvdXNlIGV0IGwnVW5pdmVyc2l0w6kgZGUgbGEgU29yYm9ubmUuIMOJcXVpcGVzIDogQVBPIGV0IFNFUElBIChJUklULCBUb3Vsb3VzZSksIFBFUVVBTiAoTElQNiwgUGFyaXMpLiA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNGRkZGRkY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMik7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MjBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMCwwLDAsLjA1KSI+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo5cHgiPjxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0id2lkdGg6MTBweDtoZWlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjk5OXB4O2JhY2tncm91bmQ6I0M4MTAyRTtmbGV4LXNocmluazowIj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMUMxRTI0O2xldHRlci1zcGFjaW5nOi4wMmVtIj5Uw6lsw6ljb20gU3VkUGFyaXM8L3NwYW4+PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTMuNXB4O2NvbG9yOiM1QTYwNjg7bGluZS1oZWlnaHQ6MS41NSI+ZW4gY29sbGFib3JhdGlvbiBhdmVjIGwnRU5TSUlFLiBMJ8OpcXVpcGUgQUNNRVMuIDwvZGl2PgogIDwvZGl2PgogIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I0ZGRkZGRjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwuMDUpIj4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjlweCI+PHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJ3aWR0aDoxMHB4O2hlaWdodDoxMHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7YmFja2dyb3VuZDojNjMwMDNDO2ZsZXgtc2hyaW5rOjAiPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxQzFFMjQ7bGV0dGVyLXNwYWNpbmc6LjAyZW0iPlVuaXZlcnNpdMOpIFBhcmlzLVNhY2xheTwvc3Bhbj48L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMy41cHg7Y29sb3I6IzVBNjA2ODtsaW5lLWhlaWdodDoxLjU1Ij5MJ8OpcXVpcGUgUGFyU3lzIChMSVNOKS48L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNGRkZGRkY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMik7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MjBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMCwwLDAsLjA1KSI+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo5cHgiPjxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0id2lkdGg6MTBweDtoZWlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjk5OXB4O2JhY2tncm91bmQ6IzAwMzU0RDtmbGV4LXNocmluazowIj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMUMxRTI0O2xldHRlci1zcGFjaW5nOi4wMmVtIj5JRlBFTjwvc3Bhbj48L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzouMTRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6IzAwMzU0RCI+UGFydGVuYWlyZSBpbmR1c3RyaWVsLCBhIHJlam9pbnQgbCdlbnRyZXByaXNlIGVuIDIwMjU8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+CjwvZGl2Pg==[\/vc_raw_html][vc_empty_space empty_h=\u00a0\u00bb2&Prime;][vc_row_inner row_inner_height_percent=\u00a0\u00bb0&Prime; overlay_alpha=\u00a0\u00bb50&Prime; gutter_size=\u00a0\u00bb3&Prime; shift_y=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; uncode_shortcode_id=\u00a0\u00bb143206&Prime; el_id=\u00a0\u00bbevents-exa-soft-en\u00a0\u00bb limit_content=\u00a0\u00bb\u00a0\u00bb][vc_column_inner column_width_percent=\u00a0\u00bb100&Prime; align_horizontal=\u00a0\u00bbalign_center\u00a0\u00bb gutter_size=\u00a0\u00bb3&Prime; style=\u00a0\u00bblight\u00a0\u00bb overlay_alpha=\u00a0\u00bb50&Prime; shift_x=\u00a0\u00bb0&Prime; shift_y=\u00a0\u00bb0&Prime; shift_y_down=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; medium_width=\u00a0\u00bb0&Prime; mobile_width=\u00a0\u00bb0&Prime; width=\u00a0\u00bb1\/1&Prime; uncode_shortcode_id=\u00a0\u00bb205708&Prime;][vc_custom_heading text_color=\u00a0\u00bbaccent\u00a0\u00bb heading_semantic=\u00a0\u00bbh3&Prime; text_size=\u00a0\u00bbh3&Prime; text_transform=\u00a0\u00bbuppercase\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb123134&Prime; text_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb]Lot de travaux[\/vc_custom_heading][\/vc_column_inner][\/vc_row_inner][vc_raw_html]PCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICBOdW1QRXgg4oCUIFBhZ2UgRXhhLVNvZlQg4oCUIFByw6lzZW50YXRpb24gZGVzIFdvcmtwYWNrYWdlcwogIE5hb3MgQWdlbmN5IMK3IDIwMjYtMDgtMTIgwrcgQmxvYyBhdXRvbm9tZSBwb3VyIFVuY29kZSAoV1AgQmFrZXJ5KQoKICBNT0RFIEQnRU1QTE9JCiAgMS4gRGFucyBsZSBiYWNrLW9mZmljZSBVbmNvZGUgOiByb3cgPiBjb2xvbm5lID4gw6lsw6ltZW50CiAgICAgwqsgQ29kZSBCbG9jayDCuyAoUmF3IEhUTUwpID4gY29sbGVyIFRPVVQgY2UgZmljaGllci4KICAyLiBMZSBibG9jIGVzdCBhdXRvbm9tZSA6IHN0eWxlcyBwb3J0w6lzIGVuIGlubGluZSArIHVuIDxzdHlsZT4KICAgICBzY29ww6kgKGhvdmVyIGV0IGdyaWxsZSByZXNwb25zaXZlKS4gQXVjdW5lIGTDqXBlbmRhbmNlIEpTLgogIDMuIFJvdyBJRCDDoCBwb3NlciBzdXIgbGEgcm93IHBvcnRldXNlIChtZW51IHN0aWNreSB2LjYuMSkgOgogICAgIG5hdi1jb25zb3J0aXVtLWV4YS1zb2Z0LWVuIChzZWN0aW9uIENvbnNvcnRpdW0gJiBXb3JrcGFja2FnZXMpCiAgNC4gTGEgdHlwbyBow6lyaXRlIGR1IHRow6htZSA7IFBvcHBpbnMgZXN0IGTDqWNsYXLDqWUgZW4gc2Vjb3Vycy4KICBOT1RFIDogZGV1eCBkaXNwb3NpdGlvbnMuIGRhdGEtdj0ic2NoZW1hIiAoZMOpZmF1dCkgcGxhY2UgV1A1IGV0CiAgV1A2IGVuIGNvbG9ubmVzIGxhdMOpcmFsZXMgdHJhbnN2ZXJzYWxlcyBkw6hzIDExMDBweCA7CiAgZGF0YS12PSJncmlkIiBkb25uZSB1bmUgZ3JpbGxlIHNpbXBsZSAzIGNvbG9ubmVzLgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CjxzdHlsZT4KICAubnB4d3AtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC1hdXRvLXJvd3M6MWZyO2dhcDoxNnB4O2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9CiAgQG1lZGlhKG1pbi13aWR0aDo3NjBweCl7Lm5weHdwLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLDFmcil9fQogIEBtZWRpYShtaW4td2lkdGg6MTEwMHB4KXsKICAgIC5ucHh3cC1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoyMzBweCBtaW5tYXgoMCwxZnIpIDIzMHB4fQogICAgLm5weHdwLWdyaWQ6bm90KFtkYXRhLXY9ImdyaWQiXSk+KjpudGgtY2hpbGQoMSl7Z3JpZC1jb2x1bW46MjtncmlkLXJvdzoxfQogICAgLm5weHdwLWdyaWQ6bm90KFtkYXRhLXY9ImdyaWQiXSk+KjpudGgtY2hpbGQoMil7Z3JpZC1jb2x1bW46MjtncmlkLXJvdzoyfQogICAgLm5weHdwLWdyaWQ6bm90KFtkYXRhLXY9ImdyaWQiXSk+KjpudGgtY2hpbGQoMyl7Z3JpZC1jb2x1bW46MjtncmlkLXJvdzozfQogICAgLm5weHdwLWdyaWQ6bm90KFtkYXRhLXY9ImdyaWQiXSk+KjpudGgtY2hpbGQoNCl7Z3JpZC1jb2x1bW46MjtncmlkLXJvdzo0fQogICAgLm5weHdwLWdyaWQ6bm90KFtkYXRhLXY9ImdyaWQiXSk+KjpudGgtY2hpbGQoNSl7Z3JpZC1jb2x1bW46MTtncmlkLXJvdzoxLzU7anVzdGlmeS1jb250ZW50OmNlbnRlcn0KICAgIC5ucHh3cC1ncmlkOm5vdChbZGF0YS12PSJncmlkIl0pPio6bnRoLWNoaWxkKDYpe2dyaWQtY29sdW1uOjM7Z3JpZC1yb3c6MS81O2p1c3RpZnktY29udGVudDpjZW50ZXJ9CiAgICAubnB4d3AtZ3JpZFtkYXRhLXY9ImdyaWQiXXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKX0KICB9CiAgLm5weHdwLWNhcmQ6aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCk7Ym94LXNoYWRvdzowIDhweCAyMnB4IHJnYmEoMCwwLDAsLjEwKX0KICBAbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5ucHh3cC1jYXJke3RyYW5zaXRpb246bm9uZX19Cjwvc3R5bGU+CjxkaXYgY2xhc3M9Im5weHdwLWdyaWQiIGRhdGEtdj0ic2NoZW1hIiBzdHlsZT0ibWF4LXdpZHRoOjExNDBweDttYXJnaW46MCBhdXRvO2ZvbnQtZmFtaWx5OidQb3BwaW5zJyxzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSwnU2Vnb2UgVUknLHNhbnMtc2VyaWYiPgogIDxkaXYgY2xhc3M9Im5weHdwLWNhcmQiIHN0eWxlPSJiYWNrZ3JvdW5kOiNGRkZBRkI7Ym9yZGVyOjEuNXB4IHNvbGlkICNFNTM4NEY7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MjJweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMCwwLDAsLjA1KTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2UsYm94LXNoYWRvdyAuMThzIGVhc2UiPgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtjb2xvcjojRDMyRjQ3Ij4KICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJkaXNwbGF5OmZsZXgiPjxzdmcgd2lkdGg9IjIyIiBoZWlnaHQ9IjIyIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiPjxyZWN0IHg9IjMuMiIgeT0iMy4yIiB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHJ4PSIyIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiPjwvcmVjdD48cmVjdCB4PSI5LjgiIHk9IjkuOCIgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiByeD0iMiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44Ij48L3JlY3Q+PC9zdmc+PC9zcGFuPgogICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4xNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSI+V1AxPC9zcGFuPgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTYuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMUMxRTI0O2xldHRlci1zcGFjaW5nOi4wMmVtO2xpbmUtaGVpZ2h0OjEuMzUiPk1vZMOobGVzIGRlIHByb2dyYW1tYXRpb24gZWZmaWNhY2VzIGV0IG1vZHVsYWlyZXM8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMy41cHg7Y29sb3I6IzVBNjA2ODtsaW5lLWhlaWdodDoxLjU1Ij5DZXMgYXBwcm9jaGVzIGRlIGhhdXQgbml2ZWF1IHBlcm1ldHRlbnQgZCdhYnN0cmFpcmUgbGVzIGFwcGxpY2F0aW9ucyBkZSBsYSBtYWNoaW5lLCBkZSBmYWNpbGl0ZXIgbGUgcG9ydGFnZSBldCBsZSBkw6lib2dhZ2UsIGV0IGQnYW3DqWxpb3JlciBsYSBjb21wb3NhYmlsaXTDqSBkdSBjb2RlIGFpbnNpIHF1ZSBsYSBzw6lwYXJhdGlvbiBkZXMgcHLDqW9jY3VwYXRpb25zLjwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im5weHdwLWNhcmQiIHN0eWxlPSJiYWNrZ3JvdW5kOiNGRkZERjg7Ym9yZGVyOjEuNXB4IHNvbGlkICNGMThCMUI7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MjJweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMCwwLDAsLjA1KTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2UsYm94LXNoYWRvdyAuMThzIGVhc2UiPgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtjb2xvcjojREQ3RTEyIj4KICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJkaXNwbGF5OmZsZXgiPjxzdmcgd2lkdGg9IjIyIiBoZWlnaHQ9IjIyIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik03LjIgNyAzLjQgMTJsMy44IDUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PHBhdGggZD0ibTE2LjggNyAzLjggNS0zLjggNSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJtMTMuMSA2LjktMi44IDVoMi4ybC0xLjQgNC42IDQtNS45aC0yLjNsMS42LTMuN3oiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvc3ZnPjwvc3Bhbj4KICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMTRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UiPldQMjwvc3Bhbj4KICAgIDwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjE2LjVweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzFDMUUyNDtsZXR0ZXItc3BhY2luZzouMDJlbTtsaW5lLWhlaWdodDoxLjM1Ij5PcHRpbWlzYXRpb24gZHUgY29kZSDCqyBqdXN0ZSDDoCB0ZW1wcyDCuzwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzLjVweDtjb2xvcjojNUE2MDY4O2xpbmUtaGVpZ2h0OjEuNTUiPlJlbmRyZSBsZXMgc3lzdMOobWVzIGQnZXjDqWN1dGlvbiByw6lhY3RpZnMgZXQgcHJvYWN0aWZzIGZhY2UgYXUgY29udGV4dGUgbG9naWNpZWwgZXQgbWF0w6lyaWVsIGVuIGNvbWJpbmFudCBsYSBjb21waWxhdGlvbiBKSVQgZXQgbGEgZ2VzdGlvbiBkZXMgdMOiY2hlcyBlbiB0ZW1wcyByw6llbC48L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJucHh3cC1jYXJkIiBzdHlsZT0iYmFja2dyb3VuZDojRkZGRUY4O2JvcmRlcjoxLjVweCBzb2xpZCAjQzdDOTI4O2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjIycHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4O2JveC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDAsMCwwLC4wNSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyBlYXNlLGJveC1zaGFkb3cgLjE4cyBlYXNlIj4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7Y29sb3I6Izk2OTkxRiI+CiAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0iZGlzcGxheTpmbGV4Ij48c3ZnIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgdmlld2JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj48cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTktOWMyLjUgMCA0LjkgMSA2LjcgMi43TDIxIDgiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PHBhdGggZD0iTTIxIDN2NWgtNSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L3N2Zz48L3NwYW4+CiAgICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjE0ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlIj5XUDM8L3NwYW4+CiAgICA8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxNi41cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxQzFFMjQ7bGV0dGVyLXNwYWNpbmc6LjAyZW07bGluZS1oZWlnaHQ6MS4zNSI+U3lzdMOobWVzIGQnZXjDqWN1dGlvbiDDoCBsJ2V4YXNjYWxlPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTMuNXB4O2NvbG9yOiM1QTYwNjg7bGluZS1oZWlnaHQ6MS41NSI+VHJhbnNwb3NpdGlvbiBkZXMgZW52aXJvbm5lbWVudHMgZCdleMOpY3V0aW9uIGJhc8OpcyBzdXIgbGVzIHTDomNoZXMgdmVycyBsJ2V4YXNjYWxlIDogw6l2b2x1dGl2aXTDqSBkZSBsYSBjb21tdW5pY2F0aW9uIGV0IGRlIGxhIHLDqXBhcnRpdGlvbiBkZSBsYSBjaGFyZ2UgZGUgdHJhdmFpbCwgaGnDqXJhcmNoaWVzIGRlIG3DqW1vaXJlIHByb2ZvbmRlcyBldCB0b2zDqXJhbmNlIGF1eCBwYW5uZXMuPC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ibnB4d3AtY2FyZCIgc3R5bGU9ImJhY2tncm91bmQ6I0ZCRkZGQTtib3JkZXI6MS41cHggc29saWQgIzY5QjQyRDtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyMnB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwuMDUpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSI+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2NvbG9yOiM1NUEzMUUiPgogICAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9ImRpc3BsYXk6ZmxleCI+PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdib3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSI+PHJlY3QgeD0iMy42IiB5PSIxMy40IiB3aWR0aD0iNyIgaGVpZ2h0PSI3IiByeD0iMS40IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiPjwvcmVjdD48cmVjdCB4PSIxMy40IiB5PSIxMy40IiB3aWR0aD0iNyIgaGVpZ2h0PSI3IiByeD0iMS40IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiPjwvcmVjdD48cmVjdCB4PSI4LjUiIHk9IjMuNiIgd2lkdGg9IjciIGhlaWdodD0iNyIgcng9IjEuNCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44Ij48L3JlY3Q+PC9zdmc+PC9zcGFuPgogICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4xNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSI+V1A0PC9zcGFuPgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTYuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMUMxRTI0O2xldHRlci1zcGFjaW5nOi4wMmVtO2xpbmUtaGVpZ2h0OjEuMzUiPk1vZHVsZXMgbnVtw6lyaXF1ZXMgZXQgbG9naWNpZWxzIHBvcnRhYmxlcyBldCDDqXZvbHV0aWZzPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTMuNXB4O2NvbG9yOiM1QTYwNjg7bGluZS1oZWlnaHQ6MS41NSI+QmlibGlvdGjDqHF1ZXMgZCdhbGfDqGJyZSBkZW5zZSwgY3JldXNlIGV0IG11bHRpbGluw6lhaXJlICh0ZW5zb3JpZWxsZSkgb3JpZW50w6llcyB0w6JjaGVzLCBjb21wcmVuYW50IGRlcyBhbGdvcml0aG1lcyBkZSBjYWxjdWwgYXBwcm94aW1hdGlmIGV0IGRlIHByw6ljaXNpb24gbWl4dGUuPC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ibnB4d3AtY2FyZCIgc3R5bGU9ImJhY2tncm91bmQ6I0Y5RkJGRjtib3JkZXI6MS41cHggc29saWQgIzNENzZEMjtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyMnB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwuMDUpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSI+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2NvbG9yOiMzRDc2RDIiPgogICAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9ImRpc3BsYXk6ZmxleCI+PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdib3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSI+PHBhdGggZD0iTTQgNHYxNS40aDE2IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjxwYXRoIGQ9Im03LjggMTQuOCAzLjUtNC40IDMgMi42IDQuMy01LjciIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PC9zdmc+PC9zcGFuPgogICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4xNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSI+V1A1PC9zcGFuPgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTYuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMUMxRTI0O2xldHRlci1zcGFjaW5nOi4wMmVtO2xpbmUtaGVpZ2h0OjEuMzUiPkFuYWx5c2UgZXQgcHLDqXZpc2lvbiBkZXMgcGVyZm9ybWFuY2VzPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTMuNXB4O2NvbG9yOiM1QTYwNjg7bGluZS1oZWlnaHQ6MS41NSI+VW4gb3V0aWwgZGUgdHJhw6dhZ2Ugw6l2b2x1dGlmLCBkZXMgYW5hbHlzZXMgYSBwb3N0ZXJpb3JpIGV0IGVuIHRlbXBzIHLDqWVsLCBhaW5zaSBxdSd1bmUgbW9kw6lsaXNhdGlvbiDDqW5lcmfDqXRpcXVlIHBlcm1ldHRhbnQgZCdhbGltZW50ZXIgbGUgbW90ZXVyIGQnZXjDqWN1dGlvbi48L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJucHh3cC1jYXJkIiBzdHlsZT0iYmFja2dyb3VuZDojRkNGOUZGO2JvcmRlcjoxLjVweCBzb2xpZCAjOUU2M0NDO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjIycHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4O2JveC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDAsMCwwLC4wNSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyBlYXNlLGJveC1zaGFkb3cgLjE4cyBlYXNlIj4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7Y29sb3I6IzlFNjNDQyI+CiAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0iZGlzcGxheTpmbGV4Ij48c3ZnIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgdmlld2JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj48cGF0aCBkPSJNNiAxOWMtLjUtNy42IDQuNi0xMy4xIDEzLjYtMTQgLjYgOS0zLjkgMTQuNS0xMS4xIDE0LjItLjkgMC0xLjctLjEtMi41LS4yeiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJtMTMuMiA4LjQtMyA0LjhoMi40bC0xLjUgNC4yIDQuNC01LjZIMTNsMS44LTMuNHoiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvc3ZnPjwvc3Bhbj4KICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMTRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UiPldQNjwvc3Bhbj4KICAgIDwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjE2LjVweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzFDMUUyNDtsZXR0ZXItc3BhY2luZzouMDJlbTtsaW5lLWhlaWdodDoxLjM1Ij5BbmFseXNlIGV0IGdlc3Rpb24gZGUgbGEgY29uc29tbWF0aW9uIMOpbmVyZ8OpdGlxdWU8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMy41cHg7Y29sb3I6IzVBNjA2ODtsaW5lLWhlaWdodDoxLjU1Ij5NZXN1cmUgZXQgbW9kw6lsaXNhdGlvbiBmaW5lcyBkZSBsYSBwdWlzc2FuY2UgZXQgZGUgbCfDqW5lcmdpZSwgcGxhbmlmaWNhdGlvbiB0ZW5hbnQgY29tcHRlIGRlIGxhIGNvbnNvbW1hdGlvbiBkJ8OpbmVyZ2llIGF1IG5pdmVhdSBkZXMgbsWTdWRzLCBldCBwbGFuaWZpY2F0aW9uIGRlcyB0w6JjaGVzIHRlbmFudCBjb21wdGUgZGUgbGEgY29uc29tbWF0aW9uIGQnw6luZXJnaWUgYXUgbml2ZWF1IGR1IGNsdXN0ZXIuPC9kaXY+CiAgPC9kaXY+CjwvZGl2Pgo8cCBzdHlsZT0ibWFyZ2luOjI4cHggYXV0byAwO21heC13aWR0aDo4MjBweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTMuNXB4O2xpbmUtaGVpZ2h0OjEuNztjb2xvcjojNkU3NDdFO2ZvbnQtZmFtaWx5OidQb3BwaW5zJyxzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSwnU2Vnb2UgVUknLHNhbnMtc2VyaWYiPlVuIGxvdCBkZSB0cmF2YWlsIGTDqWRpw6kgw6AgbGEgZ2VzdGlvbiAoV1AwKSBhc3N1cmUgbGEgY29vcmRpbmF0aW9uLCBsYSBkaWZmdXNpb24gZXQgbGEgY29uY2VwdGlvbiBjb25qb2ludGUgYXZlYyBsZXMgYXV0cmVzIHByb2pldHMgTnVtUEV4LiBMZXMgbG90cyBkZSB0cmF2YWlsIFdQNSBldCBXUDYgY29uc3RpdHVlbnQgZGVzIGFjdGl2aXTDqXMgdHJhbnN2ZXJzYWxlcyBjb3V2cmFudCBsJ2Vuc2VtYmxlIGRlIGxhIHBpbGUuIDwvcD4K[\/vc_raw_html][vc_row_inner limit_content=\u00a0\u00bb\u00a0\u00bb][vc_column_inner width=\u00a0\u00bb1\/1&Prime;][vc_empty_space empty_h=\u00a0\u00bb2&Prime;][vc_separator sep_color=\u00a0\u00bbcolor-nhtu\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb794634&Prime; sep_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb][vc_empty_space empty_h=\u00a0\u00bb2&Prime; el_id=\u00a0\u00bbnav-results\u00a0\u00bb][\/vc_column_inner][\/vc_row_inner][vc_row_inner row_inner_height_percent=\u00a0\u00bb0&Prime; overlay_alpha=\u00a0\u00bb50&Prime; gutter_size=\u00a0\u00bb3&Prime; shift_y=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; uncode_shortcode_id=\u00a0\u00bb143206&Prime; el_id=\u00a0\u00bbevents-exa-soft-en\u00a0\u00bb limit_content=\u00a0\u00bb\u00a0\u00bb][vc_column_inner column_width_percent=\u00a0\u00bb100&Prime; align_horizontal=\u00a0\u00bbalign_center\u00a0\u00bb gutter_size=\u00a0\u00bb3&Prime; style=\u00a0\u00bblight\u00a0\u00bb overlay_alpha=\u00a0\u00bb50&Prime; shift_x=\u00a0\u00bb0&Prime; shift_y=\u00a0\u00bb0&Prime; shift_y_down=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; medium_width=\u00a0\u00bb0&Prime; mobile_width=\u00a0\u00bb0&Prime; width=\u00a0\u00bb1\/1&Prime; uncode_shortcode_id=\u00a0\u00bb205708&Prime;][vc_custom_heading heading_semantic=\u00a0\u00bbh3&Prime; text_size=\u00a0\u00bbh1&Prime; uncode_shortcode_id=\u00a0\u00bb601223&Prime;]R\u00e9sultats et impact[\/vc_custom_heading][vc_custom_heading text_color=\u00a0\u00bbaccent\u00a0\u00bb heading_semantic=\u00a0\u00bbh3&Prime; text_size=\u00a0\u00bbh3&Prime; text_transform=\u00a0\u00bbuppercase\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb599933&Prime; text_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb]S\u00e9lection de r\u00e9sultats scientifiques[\/vc_custom_heading][\/vc_column_inner][\/vc_row_inner][vc_raw_html]PCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICBOdW1QRXgg4oCUIFBhZ2UgRXhhLVNvZlQg4oCUIFNlbGVjdGVkIHNjaWVudGlmaWMgcmVzdWx0cyAoY2FydGVzIDJiICsgbW9kYWxlKSDigJQgdjEuMwogIE5hb3MgQWdlbmN5IMK3IDIwMjYtMDgtMTIgwrcgQmxvYyBhdXRvbm9tZSBwb3VyIFVuY29kZSAoV1AgQmFrZXJ5KQoKICBNT0RFIEQnRU1QTE9JCiAgMS4gUm93ID4gY29sb25uZSA+IMOpbMOpbWVudCDCqyBDb2RlIEJsb2NrIMK7IChSYXcgSFRNTCkgPiBjb2xsZXIKICAgICBUT1VUIGNlIGZpY2hpZXIuIEJsb2MgYXV0b25vbWUgOiBzdHlsZXMgc2NvcMOpcyBucHhyaS0gKyBKUwogICAgIHZhbmlsbGEgZW1iYXJxdcOpIChhdWN1bmUgZMOpcGVuZGFuY2UsIGF1Y3VuIGNvbmZsaXQgalF1ZXJ5KS4KICAyLiBDaGFxdWUgY2FydGUgb3V2cmUgdW5lIG1vZGFsZSA6IGTDqXRhaWwgZHUgcsOpc3VsdGF0LCBlbmNhZHLDqQogICAgIMKrIFJlY29nbml0aW9uICYgdXB0YWtlIMK7IChzaSByZW5zZWlnbsOpKSBldCBjYXJ0ZShzKSBkdSBvdSBkZXMKICAgICBXb3JrcGFja2FnZXMgYXNzb2Npw6lzLCByZXByaXNlcyBkdSBkaWFncmFtbWUgV1AuCiAgMy4gUm93IElEIMOgIHBvc2VyIHN1ciBsYSByb3cgcG9ydGV1c2UgKG1lbnUgc3RpY2t5IHYuNi4xKSA6CiAgICAgbmF2LXJlc3VsdHMtZXhhLXNvZnQtZW4KICA0LiBGZXJtZXR1cmUgOiBib3V0b24gw5csIGNsaWMgaG9ycyBtb2RhbGUsIHRvdWNoZSDDiWNoYXAuCiAgICAgQ2xhdmllciA6IEVudHLDqWUgLyBFc3BhY2Ugb3V2cmVudCBsYSBjYXJ0ZSBjaWJsw6llIChUYWIpLgogIDUuIENPTlRFTlUgOiB0ZXh0ZXMgZMOpdGFpbGzDqXMgZXQgbWVudGlvbnMgKHB1YmxpY2F0aW9ucywgcHJpeCkKICAgICBkYW5zIGwnb2JqZXQgREFUQSBkdSBibG9jIEpTIGVuIGJhcyBkZSBmaWNoaWVyIOKAlCB5IGZhaXJlIGxlcwogICAgIG1pc2VzIMOgIGpvdXIgZnV0dXJlcyAocsOpc3Vtw6lzIGRlcyBjYXJ0ZXMgOiBkYW5zIGxlIEhUTUwpLgogIDYuIEJJTElOR1VFIChub3V2ZWF1dMOpIHYxLjEpIDogbGVzIHRleHRlcyBpbmplY3TDqXMgcGFyIGxlIEpTCiAgICAgZGFucyBsYSBtb2RhbGUgKHRpdHJlLCBkw6l0YWlsLCByZWNvbm5haXNzYW5jZSAmIGFkb3B0aW9uLAogICAgIGludGl0dWzDqSDCqyB3b3JrcGFja2FnZSBhc3NvY2nDqSDCuykgw6ljaGFwcGVudCDDoCBXUE1MIOKAlCBpbHMKICAgICBleGlzdGVudCBkb25jIGVuIEVOIGV0IEZSIGRhbnMgbCdvYmpldCBEQVRBIGV0IGxhIGxhbmd1ZSBlc3QKICAgICBsdWUgc3VyIGwnYXR0cmlidXQgbGFuZyBkZSBsYSBiYWxpc2UgaHRtbCAocG9zw6kgcGFyIFdQTUwpLAogICAgIGNvbW1lIGxlIG1lbnUgc3RpY2t5IHYuNi4xLiBMZXMgdGV4dGVzIGVuIGR1ciBkYW5zIGxlIEhUTUwKICAgICAocsOpc3Vtw6lzIGRlcyBjYXJ0ZXMsIGNhcnRlcyBXUCwgZXllYnJvdykgcmVzdGVudCB0cmFkdWl0cwogICAgIHBhciBXUE1MLgogIDcuIE5PVVZFQVVUw4kgdjEuMiA6IGxlIGxpZW4gZGlzY3JldCDCqyBNb3JlIGRldGFpbHMgwrsgZGV2aWVudCB1bgogICAgIGJvdXRvbiBjb250b3VyIGFtYnJlIGFsaWduw6kgw6AgZHJvaXRlIChyZW1wbGkgYXUgc3Vydm9sKSwgZXQKICAgICBsYSBjYXJ0ZSBwcmVuZCB1bmUgYm9yZHVyZSBhbWJyw6llIGF1IHN1cnZvbCDigJQgYWZmb3JkYW5jZSBkZQogICAgIGNsaWMgcmVuZm9yY8OpZSBzdWl0ZSBhdXggdGVzdHMgdXRpbGlzYXRldXJzLgogIDguIExhIHR5cG8gaMOpcml0ZSBkdSB0aMOobWUgOyBQb3BwaW5zIGVzdCBkw6ljbGFyw6llIGVuIHNlY291cnMuCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4KPHN0eWxlPgogIC5ucHhyaS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLWF1dG8tcm93czoxZnI7Z2FwOjE2cHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0KICBAbWVkaWEobWluLXdpZHRoOjc2MHB4KXsubnB4cmktZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKX19CiAgLm5weHJpLWNhcmR7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyBlYXNlLGJveC1zaGFkb3cgLjE4cyBlYXNlLGJvcmRlci1jb2xvciAuMThzIGVhc2UhaW1wb3J0YW50fQogIC5ucHhyaS1jYXJkOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpO2JveC1zaGFkb3c6MCA4cHggMjJweCByZ2JhKDAsMCwwLC4xMCkhaW1wb3J0YW50O2JvcmRlci1jb2xvcjpyZ2JhKDE2OCw4NCw4LC41NSkhaW1wb3J0YW50fQogIC5ucHhyaS1jYXJkOmhvdmVyIC5ucHhyaS1idG57YmFja2dyb3VuZDojQTg1NDA4IWltcG9ydGFudDtjb2xvcjojRkZGRkZGIWltcG9ydGFudH0KICAubnB4cmktY2FyZDpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkICNBODU0MDg7b3V0bGluZS1vZmZzZXQ6M3B4fQogIEBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7Lm5weHJpLWNhcmR7dHJhbnNpdGlvbjpub25lfX0KPC9zdHlsZT4KPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjExNDBweDttYXJnaW46MCBhdXRvO2ZvbnQtZmFtaWx5OidQb3BwaW5zJyxzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSwnU2Vnb2UgVUknLHNhbnMtc2VyaWYiPgo8ZGl2IGNsYXNzPSJucHhyaS1ncmlkIj4KICA8ZGl2IGNsYXNzPSJucHhyaS1jYXJkIiBkYXRhLW5weHJpPSJyZWN1cnNpdmUiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOiNGRkZGRkY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMik7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MjJweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo5cHg7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMCwwLDAsLjA1KTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2UsYm94LXNoYWRvdyAuMThzIGVhc2UiPgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEycHgiPgogICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTYuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMUMxRTI0O2xldHRlci1zcGFjaW5nOi4wMmVtO2xpbmUtaGVpZ2h0OjEuMzUiPlTDomNoZXMgcsOpY3Vyc2l2ZXM8L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2dhcDo2cHg7ZmxleC1zaHJpbms6MCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6I0ZGRkVGODtib3JkZXI6MXB4IHNvbGlkICNDN0M5Mjg7Y29sb3I6Izk2OTkxRjtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjEyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzozcHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXAiPldQMzwvc3Bhbj48L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzLjVweDtjb2xvcjojNUE2MDY4O2xpbmUtaGVpZ2h0OjEuNiI+VW4gbW9kw6hsZSBkZSB0w6JjaGVzIHF1aSBhZmZpbmUgbGUgZ3JhcGhlIGRlIHTDomNoZXMgYXZlYyBsYSBncmFudWxhcml0w6kgYXBwcm9wcmnDqWUg4oCUIGfDqW7DqXJhbGVtZW50IDEwIMOgIDMwICUgcGx1cyByYXBpZGUgcG91ciBsZXMgY2FsY3VscyBkJ2FsZ8OoYnJlIGxpbsOpYWlyZSBkZW5zZXMuPC9kaXY+CiAgICA8c3BhbiBjbGFzcz0ibnB4cmktYnRuIiBzdHlsZT0iYWxpZ24tc2VsZjpmbGV4LWVuZDttYXJnaW4tdG9wOmF1dG87YmFja2dyb3VuZDojRkZGRkZGO2JvcmRlcjoxcHggc29saWQgI0E4NTQwODtjb2xvcjojQTg1NDA4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjYwMDtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6N3B4IDE1cHg7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjdweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyBlYXNlLGNvbG9yIC4xNXMgZWFzZSI+UGx1cyBkJ2luZm9ybWF0aW9ucyA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+4oaSPC9zcGFuPjwvc3Bhbj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJucHhyaS1jYXJkIiBkYXRhLW5weHJpPSJsdSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgc3R5bGU9ImN1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I0ZGRkZGRjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyMnB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjlweDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwuMDUpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSI+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTJweCI+CiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxNi41cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxQzFFMjQ7bGV0dGVyLXNwYWNpbmc6LjAyZW07bGluZS1oZWlnaHQ6MS4zNSI+RmFjdG9yaXNhdGlvbiBMVSDDqXZvbHV0aXZlIGV0IHBvcnRhYmxlIGF2ZWMgcGl2b3RlbWVudCBwYXJ0aWVsPC9kaXY+CiAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6NnB4O2ZsZXgtc2hyaW5rOjAiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOiNGQkZGRkE7Ym9yZGVyOjFweCBzb2xpZCAjNjlCNDJEO2NvbG9yOiM1NUEzMUU7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4xMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6M3B4IDEwcHg7d2hpdGUtc3BhY2U6bm93cmFwIj5XUDQ8L3NwYW4+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMy41cHg7Y29sb3I6IzVBNjA2ODtsaW5lLWhlaWdodDoxLjYiPkhQTCBiYXPDqSBzdXIgbGVzIHTDomNoZXMgc2FucyBzeW5jaHJvbmlzYXRpb25zIGRlIHBpdm90ZW1lbnQg4oCUIGVudmlyb24gOTcgJSBkZXMgcGVyZm9ybWFuY2VzIG9idGVudWVzIHNhbnMgcGl2b3RlbWVudCDDoCBncmFuZGUgw6ljaGVsbGUuPC9kaXY+CiAgICA8c3BhbiBjbGFzcz0ibnB4cmktYnRuIiBzdHlsZT0iYWxpZ24tc2VsZjpmbGV4LWVuZDttYXJnaW4tdG9wOmF1dG87YmFja2dyb3VuZDojRkZGRkZGO2JvcmRlcjoxcHggc29saWQgI0E4NTQwODtjb2xvcjojQTg1NDA4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjYwMDtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6N3B4IDE1cHg7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjdweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyBlYXNlLGNvbG9yIC4xNXMgZWFzZSI+UGx1cyBkJ2luZm9ybWF0aW9ucyA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+4oaSPC9zcGFuPjwvc3Bhbj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJucHhyaS1jYXJkIiBkYXRhLW5weHJpPSJlbmVyZ3kiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOiNGRkZGRkY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMik7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MjJweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo5cHg7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMCwwLDAsLjA1KTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2UsYm94LXNoYWRvdyAuMThzIGVhc2UiPgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEycHgiPgogICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTYuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMUMxRTI0O2xldHRlci1zcGFjaW5nOi4wMmVtO2xpbmUtaGVpZ2h0OjEuMzUiPk1lc3VyZSBwcsOpY2lzZSBkZSBsYSBjb25zb21tYXRpb24gZCfDqW5lcmdpZTwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjZweDtmbGV4LXNocmluazowIj48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDojRjlGQkZGO2JvcmRlcjoxcHggc29saWQgIzNENzZEMjtjb2xvcjojM0Q3NkQyO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMTJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Ym9yZGVyLXJhZGl1czo5OTlweDtwYWRkaW5nOjNweCAxMHB4O3doaXRlLXNwYWNlOm5vd3JhcCI+V1A1PC9zcGFuPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOiNGQ0Y5RkY7Ym9yZGVyOjFweCBzb2xpZCAjOUU2M0NDO2NvbG9yOiM5RTYzQ0M7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4xMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6M3B4IDEwcHg7d2hpdGUtc3BhY2U6bm93cmFwIj5XUDY8L3NwYW4+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMy41cHg7Y29sb3I6IzVBNjA2ODtsaW5lLWhlaWdodDoxLjYiPkVzdGltYXRpb24gZGUgbGEgY29uc29tbWF0aW9uIGQnw6luZXJnaWUgcGFyIHTDomNoZSDDoCB1biBuaXZlYXUgaW5mw6lyaWV1ciDDoCBsYSByw6lzb2x1dGlvbiBkdSBjb21wdGV1ciBkJ8OpbmVyZ2llLCBwZXJtZXR0YW50IHVuZSBwbGFuaWZpY2F0aW9uIHRlbmFudCBjb21wdGUgZGUgbGEgY29uc29tbWF0aW9uIGQnw6luZXJnaWUuPC9kaXY+CiAgICA8c3BhbiBjbGFzcz0ibnB4cmktYnRuIiBzdHlsZT0iYWxpZ24tc2VsZjpmbGV4LWVuZDttYXJnaW4tdG9wOmF1dG87YmFja2dyb3VuZDojRkZGRkZGO2JvcmRlcjoxcHggc29saWQgI0E4NTQwODtjb2xvcjojQTg1NDA4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjYwMDtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6N3B4IDE1cHg7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjdweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyBlYXNlLGNvbG9yIC4xNXMgZWFzZSI+UGx1cyBkJ2luZm9ybWF0aW9ucyA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+4oaSPC9zcGFuPjwvc3Bhbj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJucHhyaS1jYXJkIiBkYXRhLW5weHJpPSJwYWxsYXMiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOiNGRkZGRkY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMik7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MjJweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo5cHg7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMCwwLDAsLjA1KTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2UsYm94LXNoYWRvdyAuMThzIGVhc2UiPgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEycHgiPgogICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTYuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMUMxRTI0O2xldHRlci1zcGFjaW5nOi4wMmVtO2xpbmUtaGVpZ2h0OjEuMzUiPkZvcm1hdCBkZSB0cmFjZSBQYWxsYXM8L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2dhcDo2cHg7ZmxleC1zaHJpbms6MCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6I0Y5RkJGRjtib3JkZXI6MXB4IHNvbGlkICMzRDc2RDI7Y29sb3I6IzNENzZEMjtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjEyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzozcHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXAiPldQNTwvc3Bhbj48L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzLjVweDtjb2xvcjojNUE2MDY4O2xpbmUtaGVpZ2h0OjEuNiI+VW4gZm9ybWF0IGRlIHRyYWNlIHN0cnVjdHVyw6kgcGVybWV0dGFudCBkJ2FuYWx5c2VyIGRlcyB0cmFjZXMgw6AgZ3JhbmRlIMOpY2hlbGxlIGVuIHF1ZWxxdWVzIHNlY29uZGVzIGF1IGxpZXUgZGUgcGx1c2lldXJzIGhldXJlcy48L2Rpdj4KICAgIDxzcGFuIGNsYXNzPSJucHhyaS1idG4iIHN0eWxlPSJhbGlnbi1zZWxmOmZsZXgtZW5kO21hcmdpbi10b3A6YXV0bztiYWNrZ3JvdW5kOiNGRkZGRkY7Ym9yZGVyOjFweCBzb2xpZCAjQTg1NDA4O2NvbG9yOiNBODU0MDg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NjAwO2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzo3cHggMTVweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6N3B4O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzIGVhc2UsY29sb3IgLjE1cyBlYXNlIj5QbHVzIGQnaW5mb3JtYXRpb25zIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj7ihpI8L3NwYW4+PC9zcGFuPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im5weHJpLWNhcmQiIGRhdGEtbnB4cmk9ImNoYW1lbGVvbiIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgc3R5bGU9ImN1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I0ZGRkZGRjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyMnB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjlweDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwuMDUpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSI+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTJweCI+CiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxNi41cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxQzFFMjQ7bGV0dGVyLXNwYWNpbmc6LjAyZW07bGluZS1oZWlnaHQ6MS4zNSI+w4l2b2x1dGlvbnMgZHUgY2Ftw6lsw6lvbjwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjZweDtmbGV4LXNocmluazowIj48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDojRkJGRkZBO2JvcmRlcjoxcHggc29saWQgIzY5QjQyRDtjb2xvcjojNTVBMzFFO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMTJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Ym9yZGVyLXJhZGl1czo5OTlweDtwYWRkaW5nOjNweCAxMHB4O3doaXRlLXNwYWNlOm5vd3JhcCI+V1A0PC9zcGFuPjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTMuNXB4O2NvbG9yOiM1QTYwNjg7bGluZS1oZWlnaHQ6MS42Ij5VbmUgaW50ZXJmYWNlIEMrKyBtb2Rlcm5lLCBjb25mb3JtZSDDoCBzdGQ6OmxpbmFsZyBldCDDqXRlbmR1ZSBhdXggb3DDqXJhdGlvbnMgc3VyIGxlcyB0ZW5zZXVycywgc3VyIFN0YXJQVS48L2Rpdj4KICAgIDxzcGFuIGNsYXNzPSJucHhyaS1idG4iIHN0eWxlPSJhbGlnbi1zZWxmOmZsZXgtZW5kO21hcmdpbi10b3A6YXV0bztiYWNrZ3JvdW5kOiNGRkZGRkY7Ym9yZGVyOjFweCBzb2xpZCAjQTg1NDA4O2NvbG9yOiNBODU0MDg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NjAwO2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzo3cHggMTVweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6N3B4O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzIGVhc2UsY29sb3IgLjE1cyBlYXNlIj5QbHVzIGQnaW5mb3JtYXRpb25zIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj7ihpI8L3NwYW4+PC9zcGFuPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im5weHJpLWNhcmQiIGRhdGEtbnB4cmk9ImFwcHJveCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgc3R5bGU9ImN1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I0ZGRkZGRjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyMnB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjlweDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwuMDUpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSI+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTJweCI+CiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxNi41cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxQzFFMjQ7bGV0dGVyLXNwYWNpbmc6LjAyZW07bGluZS1oZWlnaHQ6MS4zNSI+Q2FsY3VsIGFwcHJveGltYXRpZiBldCDDoCBwcsOpY2lzaW9uIG1peHRlPC9kaXY+CiAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6NnB4O2ZsZXgtc2hyaW5rOjAiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOiNGQkZGRkE7Ym9yZGVyOjFweCBzb2xpZCAjNjlCNDJEO2NvbG9yOiM1NUEzMUU7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4xMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6M3B4IDEwcHg7d2hpdGUtc3BhY2U6bm93cmFwIj5XUDQ8L3NwYW4+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMy41cHg7Y29sb3I6IzVBNjA2ODtsaW5lLWhlaWdodDoxLjYiPkFsZ29yaXRobWVzIGFsw6lhdG9pcmVzIGRlIHJhbmcgZmFpYmxlIMOgIHByw6ljaXNpb24gbWl4dGUgcGVybWV0dGFudCBkZSByw6lkdWlyZSBsZXMgY2\/Du3RzIGV0IGxhIGNvbnNvbW1hdGlvbiBkZSBtw6ltb2lyZSB0b3V0IGVuIGNvbnNlcnZhbnQgdW5lIHByw6ljaXNpb24gZml4ZS48L2Rpdj4KICAgIDxzcGFuIGNsYXNzPSJucHhyaS1idG4iIHN0eWxlPSJhbGlnbi1zZWxmOmZsZXgtZW5kO21hcmdpbi10b3A6YXV0bztiYWNrZ3JvdW5kOiNGRkZGRkY7Ym9yZGVyOjFweCBzb2xpZCAjQTg1NDA4O2NvbG9yOiNBODU0MDg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NjAwO2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzo3cHggMTVweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6N3B4O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzIGVhc2UsY29sb3IgLjE1cyBlYXNlIj5QbHVzIGQnaW5mb3JtYXRpb25zIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj7ihpI8L3NwYW4+PC9zcGFuPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im5weHJpLWNhcmQiIGRhdGEtbnB4cmk9Im1vZGVscyIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgc3R5bGU9ImN1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I0ZGRkZGRjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyMnB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjlweDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwuMDUpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSI+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTJweCI+CiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxNi41cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxQzFFMjQ7bGV0dGVyLXNwYWNpbmc6LjAyZW07bGluZS1oZWlnaHQ6MS4zNSI+TW9kw6hsZXMgZGUgcHJvZ3JhbW1hdGlvbjwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjZweDtmbGV4LXNocmluazowIj48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDojRkZGQUZCO2JvcmRlcjoxcHggc29saWQgI0U1Mzg0Rjtjb2xvcjojRDMyRjQ3O2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMTJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Ym9yZGVyLXJhZGl1czo5OTlweDtwYWRkaW5nOjNweCAxMHB4O3doaXRlLXNwYWNlOm5vd3JhcCI+V1AxPC9zcGFuPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOiNGRkZERjg7Ym9yZGVyOjFweCBzb2xpZCAjRjE4QjFCO2NvbG9yOiNERDdFMTI7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4xMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6M3B4IDEwcHg7d2hpdGUtc3BhY2U6bm93cmFwIj5XUDI8L3NwYW4+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMy41cHg7Y29sb3I6IzVBNjA2ODtsaW5lLWhlaWdodDoxLjYiPlBvbHlLb2trb3MsIFNURisrIGV0IGxlcyBmcmFtZXdvcmtzIGRlIGNvbXBvc2l0aW9uIGV0IGRlIHBhcnRpdGlvbm5lbWVudCBkZXMgZG9ubsOpZXMgQ09NRVQvUFJJU00uPC9kaXY+CiAgICA8c3BhbiBjbGFzcz0ibnB4cmktYnRuIiBzdHlsZT0iYWxpZ24tc2VsZjpmbGV4LWVuZDttYXJnaW4tdG9wOmF1dG87YmFja2dyb3VuZDojRkZGRkZGO2JvcmRlcjoxcHggc29saWQgI0E4NTQwODtjb2xvcjojQTg1NDA4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjYwMDtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6N3B4IDE1cHg7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjdweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyBlYXNlLGNvbG9yIC4xNXMgZWFzZSI+UGx1cyBkJ2luZm9ybWF0aW9ucyA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+4oaSPC9zcGFuPjwvc3Bhbj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJucHhyaS1jYXJkIiBkYXRhLW5weHJpPSJmYXVsdCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgc3R5bGU9ImN1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6I0ZGRkZGRjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyMnB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjlweDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwuMDUpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSI+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTJweCI+CiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxNi41cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxQzFFMjQ7bGV0dGVyLXNwYWNpbmc6LjAyZW07bGluZS1oZWlnaHQ6MS4zNSI+VG9sw6lyYW5jZSBhdXggcGFubmVzPC9kaXY+CiAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6NnB4O2ZsZXgtc2hyaW5rOjAiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOiNGRkZFRjg7Ym9yZGVyOjFweCBzb2xpZCAjQzdDOTI4O2NvbG9yOiM5Njk5MUY7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4xMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtib3JkZXItcmFkaXVzOjk5OXB4O3BhZGRpbmc6M3B4IDEwcHg7d2hpdGUtc3BhY2U6bm93cmFwIj5XUDM8L3NwYW4+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMy41cHg7Y29sb3I6IzVBNjA2ODtsaW5lLWhlaWdodDoxLjYiPlN5c3TDqG1lIGludMOpZ3LDqSBkZSBwb2ludHMgZGUgY29udHLDtGxlIGV0IGRlIHJlZMOpbWFycmFnZSB0cmFuc3BhcmVudCBldCDDoCBmYWlibGUgc3VyY2\/Du3QsIGludMOpZ3LDqSDDoCBTdGFyUFUgZXQgTmV3TWFkZWxlaW5lLjwvZGl2PgogICAgPHNwYW4gY2xhc3M9Im5weHJpLWJ0biIgc3R5bGU9ImFsaWduLXNlbGY6ZmxleC1lbmQ7bWFyZ2luLXRvcDphdXRvO2JhY2tncm91bmQ6I0ZGRkZGRjtib3JkZXI6MXB4IHNvbGlkICNBODU0MDg7Y29sb3I6I0E4NTQwODtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo2MDA7Ym9yZGVyLXJhZGl1czo5OTlweDtwYWRkaW5nOjdweCAxNXB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo3cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMgZWFzZSxjb2xvciAuMTVzIGVhc2UiPlBsdXMgZCdpbmZvcm1hdGlvbnMgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPuKGkjwvc3Bhbj48L3NwYW4+CiAgPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBpZD0ibnB4cmktb3ZlcmxheSIgc3R5bGU9ImRpc3BsYXk6bm9uZTtwb3NpdGlvbjpmaXhlZDtpbnNldDowO3otaW5kZXg6OTk5OTk7YmFja2dyb3VuZDpyZ2JhKDExLDExLDEzLC41NSk7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzozMnB4O2ZvbnQtZmFtaWx5OidQb3BwaW5zJyxzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSwnU2Vnb2UgVUknLHNhbnMtc2VyaWYiPgogIDxkaXYgcm9sZT0iZGlhbG9nIiBhcmlhLW1vZGFsPSJ0cnVlIiBhcmlhLWxhYmVsbGVkYnk9Im5weHJpLXRpdGxlIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDojRkZGRkZGO2JvcmRlci1yYWRpdXM6MTRweDttYXgtd2lkdGg6OTIwcHg7d2lkdGg6MTAwJTttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA2NHB4KTtvdmVyZmxvdzphdXRvO2JveC1zaGFkb3c6MCAyNHB4IDgwcHggcmdiYSgwLDAsMCwuMzUpO3BhZGRpbmc6MzRweCAzNnB4IDMycHgiPgogICAgPGJ1dHRvbiBpZD0ibnB4cmktY2xvc2UiIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iQ2xvc2UiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTRweDtyaWdodDoxNHB4O3dpZHRoOjM0cHg7aGVpZ2h0OjM0cHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xNCk7Ym9yZGVyLXJhZGl1czo5OTlweDtiYWNrZ3JvdW5kOiNGRkZGRkY7Y29sb3I6IzNGNDQ0Qztmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxO2N1cnNvcjpwb2ludGVyIj7DlzwvYnV0dG9uPgogICAgPHAgc3R5bGU9Im1hcmdpbjowO2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjojQTg1NDA4Ij5Sw6lzdWx0YXRzIHNjaWVudGlmaXF1ZXMgc8OpbGVjdGlvbm7DqXM8L3A+CiAgICA8aDIgaWQ9Im5weHJpLXRpdGxlIiBzdHlsZT0ibWFyZ2luOjhweCAwIDA7Zm9udC1zaXplOjIzcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxQzFFMjQ7bGluZS1oZWlnaHQ6MS4zO3BhZGRpbmctcmlnaHQ6NDRweCI+PC9oMj4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6MjhweDttYXJnaW4tdG9wOjIycHg7YWxpZ24taXRlbXM6ZmxleC1zdGFydCI+CiAgICAgIDxkaXYgc3R5bGU9ImZsZXg6MSAxIDM4MHB4O21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjE2cHgiPgogICAgICAgIDxwIGlkPSJucHhyaS1ib2R5IiBzdHlsZT0ibWFyZ2luOjA7Zm9udC1zaXplOjE0LjVweDtsaW5lLWhlaWdodDoxLjc1O2NvbG9yOiMzRjQ0NEMiPjwvcD4KICAgICAgICA8ZGl2IGlkPSJucHhyaS1yZWNvYm94IiBzdHlsZT0iZGlzcGxheTpub25lO2JvcmRlcjoxcHggc29saWQgcmdiYSgyMjMsMTYyLDQxLC41KTtiYWNrZ3JvdW5kOnJnYmEoMjIzLDE2Miw0MSwuMDcpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjE0cHggMTZweCI+CiAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luOjA7Zm9udC1zaXplOjEwLjVweDtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjE2ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiNBODU0MDgiPlJlY29ubmFpc3NhbmNlIGV0IGFkb3B0aW9uPC9wPgogICAgICAgICAgPHAgaWQ9Im5weHJpLXJlY28iIHN0eWxlPSJtYXJnaW46NnB4IDAgMDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxLjY7Y29sb3I6IzNGNDQ0QyI+PC9wPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0iZmxleDowIDEgMzAwcHg7bWluLXdpZHRoOjI2MHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHgiPgogICAgICAgIDxwIGlkPSJucHhyaS13cGgiIHN0eWxlPSJtYXJnaW46MDtmb250LXNpemU6MTAuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMTZlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6IzZFNzQ3RSI+PC9wPgogICAgICAgIDxkaXYgZGF0YS13cD0iMSIgc3R5bGU9ImRpc3BsYXk6bm9uZTtiYWNrZ3JvdW5kOiNGRkZBRkI7Ym9yZGVyOjEuNXB4IHNvbGlkICNFNTM4NEY7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MTZweDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjZweCI+CiAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2NvbG9yOiNEMzJGNDciPjxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0iZGlzcGxheTpmbGV4Ij48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld2JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj48cmVjdCB4PSIzLjIiIHk9IjMuMiIgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiByeD0iMiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44Ij48L3JlY3Q+PHJlY3QgeD0iOS44IiB5PSI5LjgiIHdpZHRoPSIxMSIgaGVpZ2h0PSIxMSIgcng9IjIiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOCI+PC9yZWN0Pjwvc3ZnPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVweDtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjE0ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlIj5XUDE8L3NwYW4+PC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxQzFFMjQ7bGluZS1oZWlnaHQ6MS4zNSI+TW9kw6hsZXMgZGUgcHJvZ3JhbW1hdGlvbiBlZmZpY2FjZXMgZXQgbW9kdWxhaXJlczwvZGl2PgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMi41cHg7Y29sb3I6IzVBNjA2ODtsaW5lLWhlaWdodDoxLjUiPkNlcyBhcHByb2NoZXMgZGUgaGF1dCBuaXZlYXUgcGVybWV0dGVudCBkJ2Fic3RyYWlyZSBsZXMgYXBwbGljYXRpb25zIGRlIGxhIG1hY2hpbmUsIGRlIGZhY2lsaXRlciBsZSBwb3J0YWdlIGV0IGxlIGTDqWJvZ2FnZSwgZXQgZCdhbcOpbGlvcmVyIGxhIGNvbXBvc2FiaWxpdMOpIGR1IGNvZGUgYWluc2kgcXVlIGxhIHPDqXBhcmF0aW9uIGRlcyBwcsOpb2NjdXBhdGlvbnMuPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBkYXRhLXdwPSIyIiBzdHlsZT0iZGlzcGxheTpub25lO2JhY2tncm91bmQ6I0ZGRkRGODtib3JkZXI6MS41cHggc29saWQgI0YxOEIxQjtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxNnB4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NnB4Ij4KICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7Y29sb3I6I0REN0UxMiI+PHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJkaXNwbGF5OmZsZXgiPjxzdmcgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiB2aWV3Ym94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik03LjIgNyAzLjQgMTJsMy44IDUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PHBhdGggZD0ibTE2LjggNyAzLjggNS0zLjggNSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJtMTMuMSA2LjktMi44IDVoMi4ybC0xLjQgNC42IDQtNS45aC0yLjNsMS42LTMuN3oiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvcGF0aD48L3BhdGg+PC9wYXRoPjwvc3ZnPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVweDtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjE0ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlIj5XUDI8L3NwYW4+PC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxQzFFMjQ7bGluZS1oZWlnaHQ6MS4zNSI+T3B0aW1pc2F0aW9uIGR1IGNvZGUgwqsganVzdGUgw6AgdGVtcHMgwrs8L2Rpdj4KICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTIuNXB4O2NvbG9yOiM1QTYwNjg7bGluZS1oZWlnaHQ6MS41Ij5SZW5kcmUgbGVzIHN5c3TDqG1lcyBkJ2V4w6ljdXRpb24gcsOpYWN0aWZzIGV0IHByb2FjdGlmcyBmYWNlIGF1IGNvbnRleHRlIGxvZ2ljaWVsIGV0IG1hdMOpcmllbCBlbiBjb21iaW5hbnQgbGEgY29tcGlsYXRpb24gSklUIGV0IGxhIGdlc3Rpb24gZGVzIHTDomNoZXMgZW4gdGVtcHMgcsOpZWwuPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBkYXRhLXdwPSIzIiBzdHlsZT0iZGlzcGxheTpub25lO2JhY2tncm91bmQ6I0ZGRkVGODtib3JkZXI6MS41cHggc29saWQgI0M3QzkyODtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxNnB4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NnB4Ij4KICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7Y29sb3I6Izk2OTkxRiI+PHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJkaXNwbGF5OmZsZXgiPjxzdmcgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiB2aWV3Ym94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik0yMSAxMmE5IDkgMCAxIDEtOS05YzIuNSAwIDQuOSAxIDYuNyAyLjdMMjEgOCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJNMjEgM3Y1aC01IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvcGF0aD48L3BhdGg+PC9zdmc+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMTRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UiPldQMzwvc3Bhbj48L2Rpdj4KICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTRweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzFDMUUyNDtsaW5lLWhlaWdodDoxLjM1Ij5TeXN0w6htZXMgZCdleMOpY3V0aW9uIMOgIGwnZXhhc2NhbGU8L2Rpdj4KICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTIuNXB4O2NvbG9yOiM1QTYwNjg7bGluZS1oZWlnaHQ6MS41Ij5UcmFuc3Bvc2l0aW9uIGRlcyBlbnZpcm9ubmVtZW50cyBkJ2V4w6ljdXRpb24gYmFzw6lzIHN1ciBsZXMgdMOiY2hlcyB2ZXJzIGwnZXhhc2NhbGUgOiDDqXZvbHV0aXZpdMOpIGRlIGxhIGNvbW11bmljYXRpb24gZXQgZGUgbGEgcsOpcGFydGl0aW9uIGRlIGxhIGNoYXJnZSBkZSB0cmF2YWlsLCBoacOpcmFyY2hpZXMgZGUgbcOpbW9pcmUgcHJvZm9uZGVzIGV0IHRvbMOpcmFuY2UgYXV4IHBhbm5lcy48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGRhdGEtd3A9IjQiIHN0eWxlPSJkaXNwbGF5Om5vbmU7YmFja2dyb3VuZDojRkJGRkZBO2JvcmRlcjoxLjVweCBzb2xpZCAjNjlCNDJEO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjE2cHg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo2cHgiPgogICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtjb2xvcjojNTVBMzFFIj48c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9ImRpc3BsYXk6ZmxleCI+PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdib3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSI+PHJlY3QgeD0iMy42IiB5PSIxMy40IiB3aWR0aD0iNyIgaGVpZ2h0PSI3IiByeD0iMS40IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiPjwvcmVjdD48cmVjdCB4PSIxMy40IiB5PSIxMy40IiB3aWR0aD0iNyIgaGVpZ2h0PSI3IiByeD0iMS40IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjgiPjwvcmVjdD48cmVjdCB4PSI4LjUiIHk9IjMuNiIgd2lkdGg9IjciIGhlaWdodD0iNyIgcng9IjEuNCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44Ij48L3JlY3Q+PC9zdmc+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMTRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UiPldQNDwvc3Bhbj48L2Rpdj4KICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTRweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzFDMUUyNDtsaW5lLWhlaWdodDoxLjM1Ij5Nb2R1bGVzIG51bcOpcmlxdWVzIGV0IGxvZ2ljaWVscyBwb3J0YWJsZXMgZXQgw6l2b2x1dGlmczwvZGl2PgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMi41cHg7Y29sb3I6IzVBNjA2ODtsaW5lLWhlaWdodDoxLjUiPkJpYmxpb3Row6hxdWVzIGQnYWxnw6hicmUgZGVuc2UsIGNyZXVzZSBldCBtdWx0aWxpbsOpYWlyZSAodGVuc29yaWVsbGUpIG9yaWVudMOpZXMgdMOiY2hlcywgY29tcHJlbmFudCBkZXMgYWxnb3JpdGhtZXMgZGUgY2FsY3VsIGFwcHJveGltYXRpZiBldCBkZSBwcsOpY2lzaW9uIG1peHRlLjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgZGF0YS13cD0iNSIgc3R5bGU9ImRpc3BsYXk6bm9uZTtiYWNrZ3JvdW5kOiNGOUZCRkY7Ym9yZGVyOjEuNXB4IHNvbGlkICMzRDc2RDI7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MTZweDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjZweCI+CiAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2NvbG9yOiMzRDc2RDIiPjxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0iZGlzcGxheTpmbGV4Ij48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld2JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj48cGF0aCBkPSJNNCA0djE1LjRoMTYiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+PHBhdGggZD0ibTcuOCAxNC44IDMuNS00LjQgMyAyLjYgNC4zLTUuNyIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48L3BhdGg+PC9wYXRoPjwvc3ZnPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVweDtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjE0ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlIj5XUDU8L3NwYW4+PC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxQzFFMjQ7bGluZS1oZWlnaHQ6MS4zNSI+QW5hbHlzZSBldCBwcsOpdmlzaW9uIGRlcyBwZXJmb3JtYW5jZXM8L2Rpdj4KICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTIuNXB4O2NvbG9yOiM1QTYwNjg7bGluZS1oZWlnaHQ6MS41Ij5VbiBvdXRpbCBkZSB0cmHDp2FnZSDDqXZvbHV0aWYsIGRlcyBhbmFseXNlcyBhIHBvc3RlcmlvcmkgZXQgZW4gdGVtcHMgcsOpZWwsIGFpbnNpIHF1J3VuZSBtb2TDqWxpc2F0aW9uIMOpbmVyZ8OpdGlxdWUgcGVybWV0dGFudCBkJ2FsaW1lbnRlciBsZSBtb3RldXIgZCdleMOpY3V0aW9uLjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgZGF0YS13cD0iNiIgc3R5bGU9ImRpc3BsYXk6bm9uZTtiYWNrZ3JvdW5kOiNGQ0Y5RkY7Ym9yZGVyOjEuNXB4IHNvbGlkICM5RTYzQ0M7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MTZweDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjZweCI+CiAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2NvbG9yOiM5RTYzQ0MiPjxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0iZGlzcGxheTpmbGV4Ij48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld2JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj48cGF0aCBkPSJNNiAxOWMtLjUtNy42IDQuNi0xMy4xIDEzLjYtMTQgLjYgOS0zLjkgMTQuNS0xMS4xIDE0LjItLjkgMC0xLjctLjEtMi41LS4yeiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjwvcGF0aD48cGF0aCBkPSJtMTMuMiA4LjQtMyA0LjhoMi40bC0xLjUgNC4yIDQuNC01LjZIMTNsMS44LTMuNHoiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPjwvcGF0aD48L3BhdGg+PC9zdmc+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMTRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UiPldQNjwvc3Bhbj48L2Rpdj4KICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTRweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzFDMUUyNDtsaW5lLWhlaWdodDoxLjM1Ij5BbmFseXNlIGV0IGdlc3Rpb24gZGUgbGEgY29uc29tbWF0aW9uIMOpbmVyZ8OpdGlxdWU8L2Rpdj4KICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTIuNXB4O2NvbG9yOiM1QTYwNjg7bGluZS1oZWlnaHQ6MS41Ij5NZXN1cmUgZXQgbW9kw6lsaXNhdGlvbiBmaW5lcyBkZSBsYSBwdWlzc2FuY2UgZXQgZGUgbCfDqW5lcmdpZSwgcGxhbmlmaWNhdGlvbiB0ZW5hbnQgY29tcHRlIGRlIGxhIGNvbnNvbW1hdGlvbiBkJ8OpbmVyZ2llIGF1IG5pdmVhdSBkZXMgbsWTdWRzLCBldCBwbGFuaWZpY2F0aW9uIGRlcyB0w6JjaGVzIHRlbmFudCBjb21wdGUgZGUgbGEgY29uc29tbWF0aW9uIGQnw6luZXJnaWUgYXUgbml2ZWF1IGR1IGNsdXN0ZXIuPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZGl2Pgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKICB2YXIgTEFORz0oKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2xhbmcnKXx8JycpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZignZnInKT09PTApPydmcic6J2VuJzsKICB2YXIgV1BIPXtlbjpbJ0Fzc29jaWF0ZWQgd29ya3BhY2thZ2UnLCdBc3NvY2lhdGVkIHdvcmtwYWNrYWdlcyddLGZyOlsnV29ya3BhY2thZ2UgYXNzb2Npw6knLCdXb3JrcGFja2FnZXMgYXNzb2Npw6lzJ119OwogIHZhciBEQVRBPXsKICAgIHJlY3Vyc2l2ZTp7d3BzOlszXSxlbjp7dGl0bGU6IlJlY3Vyc2l2ZSB0YXNraW5nIixib2R5OiJBIG5ldyB0YXNrIG1vZGVsIGxldHMgdGhlIHJ1bnRpbWUgZHluYW1pY2FsbHkgcmVmaW5lIHRoZSB0YXNrIGdyYXBoIGFuZCBhdXRvbWF0aWNhbGx5IGRlY2lkZSB3aGVuIGFuZCBhdCB3aGF0IGdyYW51bGFyaXR5IHRvIHNwbGl0IGEgdGFzaywgYWRhcHRpbmcgdG8gdGhlIHRhcmdldCBoYXJkd2FyZS4gSXQgdHlwaWNhbGx5IHlpZWxkcyBhIDEw4oCTMzAlIHBlcmZvcm1hbmNlIGdhaW4gb24gZGVuc2UgbGluZWFyLWFsZ2VicmEgcm91dGluZXMgYW5kIGltcHJvdmVzIHBlcmZvcm1hbmNlIHBvcnRhYmlsaXR5LiIscmVjbzoiUHVibGlzaGVkIGluIEpQREMgKDIwMjUpLiBCZXN0IFBhcGVyIEF3YXJkIGF0IHRoZSBIZXRlcm9nZW5laXR5IGluIENvbXB1dGluZyBXb3Jrc2hvcCAyMDI2LiJ9LGZyOnt0aXRsZToiVMOiY2hlcyByw6ljdXJzaXZlcyIsYm9keToiVW4gbm91dmVhdSBtb2TDqGxlIGRlIHTDomNoZXMgcGVybWV0IGF1IHN1cHBvcnQgZCdleMOpY3V0aW9uIGRlIHJhZmZpbmVyIGR5bmFtaXF1ZW1lbnQgbGUgZ3JhcGhlIGRlIHTDomNoZXMgZXQgZGUgZMOpY2lkZXIgYXV0b21hdGlxdWVtZW50IHF1YW5kIGV0IMOgIHF1ZWxsZSBncmFudWxhcml0w6kgZMOpY291cGVyIHVuZSB0w6JjaGUsIGVuIHMnYWRhcHRhbnQgYXUgbWF0w6lyaWVsIGNpYmxlLiBJbCBhcHBvcnRlIHR5cGlxdWVtZW50IHVuIGdhaW4gZGUgcGVyZm9ybWFuY2UgZGUgMTAgw6AgMzAgJSBzdXIgbGVzIHJvdXRpbmVzIGQnYWxnw6hicmUgbGluw6lhaXJlIGRlbnNlIGV0IGFtw6lsaW9yZSBsYSBwb3J0YWJpbGl0w6kgZGVzIHBlcmZvcm1hbmNlcy4iLHJlY286IlB1Ymxpw6kgZGFucyBKUERDICgyMDI1KS4gUHJpeCBkdSBtZWlsbGV1ciBhcnRpY2xlIGF1IEhldGVyb2dlbmVpdHkgaW4gQ29tcHV0aW5nIFdvcmtzaG9wIDIwMjYuIn19LAogICAgbHU6e3dwczpbNF0sZW46e3RpdGxlOiJTY2FsYWJsZSwgcG9ydGFibGUgTFUgZmFjdG9yaXphdGlvbiB3aXRoIHBhcnRpYWwgcGl2b3RpbmciLGJvZHk6IkEgZnVsbCB0YXNrLWJhc2VkIGltcGxlbWVudGF0aW9uIG9mIHRoZSBUb3A1MDAgSFBMIGJlbmNobWFyayB0aGF0IHJlbW92ZXMgdGhlIG5vbi1zY2FsYWJsZSBzeW5jaHJvbml6YXRpb25zIG9mIHBpdm90aW5nIHRocm91Z2ggdGFzayBmdXNpbmcvYmF0Y2hpbmcgYW5kIGEgaGlnaGx5IGVmZmljaWVudCBhbGwtcmVkdWNlIG9wZXJhdGlvbiwgcmVhY2hpbmcgYWJvdXQgOTclIG9mIHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgdW5waXZvdGVkIHZlcnNpb24gYXQgc2NhbGUuIixyZWNvOiJCdWxsIChFdmlkZW4pIGlzIGV2YWx1YXRpbmcgdGhlIHRlY2hub2xvZ3kgZm9yIHVwY29taW5nIGV4YXNjYWxlIHN5c3RlbXMuIn0sZnI6e3RpdGxlOiJGYWN0b3Jpc2F0aW9uIExVIHNjYWxhYmxlIGV0IHBvcnRhYmxlIGF2ZWMgcGl2b3RhZ2UgcGFydGllbCIsYm9keToiVW5lIGltcGzDqW1lbnRhdGlvbiBlbnRpw6hyZW1lbnQgw6AgYmFzZSBkZSB0w6JjaGVzIGR1IGJlbmNobWFyayBIUEwgZHUgVG9wNTAwLCBxdWkgc3VwcHJpbWUgbGVzIHN5bmNocm9uaXNhdGlvbnMgbm9uIHNjYWxhYmxlcyBkdSBwaXZvdGFnZSBncsOiY2Ugw6AgbGEgZnVzaW9uIGV0IGF1IHJlZ3JvdXBlbWVudCBkZSB0w6JjaGVzIGV0IMOgIHVuZSBvcMOpcmF0aW9uIGFsbC1yZWR1Y2UgdHLDqHMgZWZmaWNhY2UsIGF0dGVpZ25hbnQgZW52aXJvbiA5NyAlIGRlcyBwZXJmb3JtYW5jZXMgZGUgbGEgdmVyc2lvbiBzYW5zIHBpdm90YWdlIMOgIGdyYW5kZSDDqWNoZWxsZS4iLHJlY286IkJ1bGwgKEV2aWRlbikgw6l2YWx1ZSBsYSB0ZWNobm9sb2dpZSBwb3VyIGxlcyBwcm9jaGFpbnMgc3lzdMOobWVzIGV4YXNjYWxlLiJ9fSwKICAgIGVuZXJneTp7d3BzOls1LDZdLGVuOnt0aXRsZToiRmluZS1ncmFpbiBlbmVyZ3kgbWVhc3VyZW1lbnQiLGJvZHk6IkEgcG9ydGFibGUgZnJhbWV3b3JrIGVzdGltYXRpbmcgcGVyLXRhc2sgZW5lcmd5IGNvbnN1bXB0aW9uIGJlbG93IHRoZSByZXNvbHV0aW9uIG9mIGhhcmR3YXJlIHBvd2VyIG1ldGVycywgZW5hYmxpbmcgZW5lcmd5LWF3YXJlIHNjaGVkdWxpbmcuIixyZWNvOiJQcmVzZW50ZWQgYXQgQ2x1c3RlciAyMDI1LiJ9LGZyOnt0aXRsZToiTWVzdXJlIGZpbmUgZGUgbCfDqW5lcmdpZSIsYm9keToiVW4gY2FkcmUgbG9naWNpZWwgcG9ydGFibGUgZXN0aW1hbnQgbGEgY29uc29tbWF0aW9uIGQnw6luZXJnaWUgcGFyIHTDomNoZSBlbiBkZXNzb3VzIGRlIGxhIHLDqXNvbHV0aW9uIGRlcyB3YXR0bcOodHJlcyBtYXTDqXJpZWxzLCBvdXZyYW50IGxhIHZvaWUgw6AgdW4gb3Jkb25uYW5jZW1lbnQgc2Vuc2libGUgw6AgbCfDqW5lcmdpZS4iLHJlY286IlByw6lzZW50w6kgw6AgQ2x1c3RlciAyMDI1LiJ9fSwKICAgIHBhbGxhczp7d3BzOls1XSxlbjp7dGl0bGU6IlBhbGxhcyB0cmFjZSBmb3JtYXQiLGJvZHk6IkEgc3RydWN0dXJlZCB0cmFjZSBmb3JtYXQgc2VwYXJhdGluZyB0cmFjZSBzdHJ1Y3R1cmUgZnJvbSBidWxrIHBlcmZvcm1hbmNlIGRhdGEsIGFsbG93aW5nIGxhcmdlLXNjYWxlIHRyYWNlcyB0byBiZSBhbmFseXplZCBpbiBzZWNvbmRzIGluc3RlYWQgb2YgaG91cnMgKGV2YWx1YXRlZCBvbiA0MDk2IGNvcmVzIG9mIEplYW4gWmF5KS4iLHJlY286IlByZXNlbnRlZCBhdCBJUERQUyAyMDI1LiJ9LGZyOnt0aXRsZToiRm9ybWF0IGRlIHRyYWNlcyBQYWxsYXMiLGJvZHk6IlVuIGZvcm1hdCBkZSB0cmFjZXMgc3RydWN0dXLDqSBzw6lwYXJhbnQgbGEgc3RydWN0dXJlIGRlIGxhIHRyYWNlIGRlcyBkb25uw6llcyBkZSBwZXJmb3JtYW5jZSB2b2x1bWluZXVzZXMsIHBlcm1ldHRhbnQgZCdhbmFseXNlciBkZXMgdHJhY2VzIMOgIGdyYW5kZSDDqWNoZWxsZSBlbiBxdWVscXVlcyBzZWNvbmRlcyBhdSBsaWV1IGRlIHBsdXNpZXVycyBoZXVyZXMgKMOpdmFsdcOpIHN1ciA0MDk2IGPFk3VycyBkZSBKZWFuIFpheSkuIixyZWNvOiJQcsOpc2VudMOpIMOgIElQRFBTIDIwMjUuIn19LAogICAgY2hhbWVsZW9uOnt3cHM6WzRdLGVuOnt0aXRsZToiQ2hhbWVsZW9uIGV2b2x1dGlvbnMiLGJvZHk6IkEgbW9kZXJuIEMrKyBpbnRlcmZhY2UgYWxpZ25lZCB3aXRoIHN0ZDo6bGluYWxnLCBwbHVzIGFuIGV4dGVuc2lvbiB0byB0ZW5zb3Igb3BlcmF0aW9ucywgb24gdG9wIG9mIHRoZSBTdGFyUFUgcnVudGltZS4iLHJlY286bnVsbH0sZnI6e3RpdGxlOiLDiXZvbHV0aW9ucyBkZSBDaGFtZWxlb24iLGJvZHk6IlVuZSBpbnRlcmZhY2UgQysrIG1vZGVybmUgYWxpZ27DqWUgc3VyIHN0ZDo6bGluYWxnLCBhaW5zaSBxdSd1bmUgZXh0ZW5zaW9uIGF1eCBvcMOpcmF0aW9ucyB0ZW5zb3JpZWxsZXMsIGF1LWRlc3N1cyBkdSBzdXBwb3J0IGQnZXjDqWN1dGlvbiBTdGFyUFUuIixyZWNvOm51bGx9fSwKICAgIGFwcHJveDp7d3BzOls0XSxlbjp7dGl0bGU6IkFwcHJveGltYXRlIGFuZCBtaXhlZC1wcmVjaXNpb24gY29tcHV0aW5nIixib2R5OiJOZXcgcmFuZG9taXplZCwgbWl4ZWQtcHJlY2lzaW9uIGxvdy1yYW5rIGFwcHJveGltYXRpb24gYWxnb3JpdGhtcyByZWR1Y2luZyBjb3N0IGFuZCBtZW1vcnkgYXQgZml4ZWQgYWNjdXJhY3ksIGRldmVsb3BlZCBwYXJ0bHkgd2l0aCBOVklESUEgYXJvdW5kIHByZWNpc2lvbi1lbXVsYXRpb24gbWV0aG9kcy4iLHJlY286bnVsbH0sZnI6e3RpdGxlOiJDYWxjdWwgYXBwcm9jaMOpIGV0IHByw6ljaXNpb24gbWl4dGUiLGJvZHk6IkRlIG5vdXZlYXV4IGFsZ29yaXRobWVzIHJhbmRvbWlzw6lzIGQnYXBwcm94aW1hdGlvbiBkZSByYW5nIGZhaWJsZSBlbiBwcsOpY2lzaW9uIG1peHRlLCByw6lkdWlzYW50IGxlIGNvw7t0IGV0IGxhIG3DqW1vaXJlIMOgIHByw6ljaXNpb24gY29uc3RhbnRlLCBkw6l2ZWxvcHDDqXMgZW4gcGFydGllIGF2ZWMgTlZJRElBIGF1dG91ciBkZXMgbcOpdGhvZGVzIGQnw6ltdWxhdGlvbiBkZSBwcsOpY2lzaW9uLiIscmVjbzpudWxsfX0sCiAgICBtb2RlbHM6e3dwczpbMSwyXSxlbjp7dGl0bGU6IlByb2dyYW1taW5nIG1vZGVscyIsYm9keToiUG9seUtva2tvcywgY291cGxpbmcgdGhlIEtva2tvcyBlY29zeXN0ZW0gd2l0aCBwb2x5aGVkcmFsIG9wdGltaXphdGlvbnM7IFNURisrIGFuZCB0aGUgQ09NRVQvUFJJU00gY29tcG9zaXRpb24gYW5kIGRhdGEtcGFydGl0aW9uaW5nIGZyYW1ld29ya3MuIixyZWNvOm51bGx9LGZyOnt0aXRsZToiTW9kw6hsZXMgZGUgcHJvZ3JhbW1hdGlvbiIsYm9keToiUG9seUtva2tvcywgY291cGxhbnQgbCfDqWNvc3lzdMOobWUgS29ra29zIGF1eCBvcHRpbWlzYXRpb25zIHBvbHnDqWRyaXF1ZXMgOyBTVEYrKyBldCBsZXMgY2FkcmVzIGRlIGNvbXBvc2l0aW9uIGV0IGRlIHBhcnRpdGlvbm5lbWVudCBkZSBkb25uw6llcyBDT01FVC9QUklTTS4iLHJlY286bnVsbH19LAogICAgZmF1bHQ6e3dwczpbM10sZW46e3RpdGxlOiJGYXVsdCB0b2xlcmFuY2UiLGJvZHk6IlRyYW5zcGFyZW50LCBsb3ctb3ZlcmhlYWQgY2hlY2twb2ludC9yZXN0YXJ0IGZvciB0YXNrLWJhc2VkIGFwcGxpY2F0aW9ucyBpbnRlZ3JhdGVkIGludG8gU3RhclBVIGFuZCBOZXdNYWRlbGVpbmUuIixyZWNvOm51bGx9LGZyOnt0aXRsZToiVG9sw6lyYW5jZSBhdXggcGFubmVzIixib2R5OiJVbiBtw6ljYW5pc21lIHRyYW5zcGFyZW50IGV0IMOgIGZhaWJsZSBzdXJjb8O7dCBkZSBzYXV2ZWdhcmRlL3JlcHJpc2UgKGNoZWNrcG9pbnQvcmVzdGFydCkgcG91ciBsZXMgYXBwbGljYXRpb25zIMOgIGJhc2UgZGUgdMOiY2hlcywgaW50w6lncsOpIMOgIFN0YXJQVSBldCBOZXdNYWRlbGVpbmUuIixyZWNvOm51bGx9fQogIH07CiAgdmFyIG92PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCducHhyaS1vdmVybGF5Jyk7CiAgdmFyIHR0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCducHhyaS10aXRsZScpLGJkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCducHhyaS1ib2R5Jyk7CiAgdmFyIHJiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCducHhyaS1yZWNvYm94JykscmM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25weHJpLXJlY28nKSx3aD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbnB4cmktd3BoJyk7CiAgZnVuY3Rpb24gb3BlbihrKXt2YXIgZD1EQVRBW2tdO2lmKCFkKXJldHVybjt2YXIgTD1kW0xBTkddfHxkLmVuOwogICAgdHQudGV4dENvbnRlbnQ9TC50aXRsZTtiZC50ZXh0Q29udGVudD1MLmJvZHk7CiAgICBpZihMLnJlY28pe3JjLnRleHRDb250ZW50PUwucmVjbztyYi5zdHlsZS5kaXNwbGF5PSdibG9jayd9ZWxzZXtyYi5zdHlsZS5kaXNwbGF5PSdub25lJ30KICAgIHdoLnRleHRDb250ZW50PVdQSFtMQU5HXVtkLndwcy5sZW5ndGg+MT8xOjBdOwogICAgdmFyIG1pbmlzPW92LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXdwXScpOwogICAgZm9yKHZhciBpPTA7aTxtaW5pcy5sZW5ndGg7aSsrKXttaW5pc1tpXS5zdHlsZS5kaXNwbGF5PWQud3BzLmluZGV4T2YocGFyc2VJbnQobWluaXNbaV0uZ2V0QXR0cmlidXRlKCdkYXRhLXdwJyksMTApKT4tMT8nZmxleCc6J25vbmUnfQogICAgb3Yuc3R5bGUuZGlzcGxheT0nZmxleCc7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLm92ZXJmbG93PSdoaWRkZW4nO30KICBmdW5jdGlvbiBjbG9zZSgpe292LnN0eWxlLmRpc3BsYXk9J25vbmUnO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5vdmVyZmxvdz0nJ30KICB2YXIgY2FyZHM9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm5weHJpLWNhcmQnKTsKICBmb3IodmFyIGk9MDtpPGNhcmRzLmxlbmd0aDtpKyspeyhmdW5jdGlvbihjKXsKICAgIGMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7b3BlbihjLmdldEF0dHJpYnV0ZSgnZGF0YS1ucHhyaScpKX0pOwogICAgYy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJyxmdW5jdGlvbihlKXtpZihlLmtleT09PSdFbnRlcid8fGUua2V5PT09JyAnKXtlLnByZXZlbnREZWZhdWx0KCk7b3BlbihjLmdldEF0dHJpYnV0ZSgnZGF0YS1ucHhyaScpKX19KTsKICB9KShjYXJkc1tpXSl9CiAgb3YuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0PT09b3YpY2xvc2UoKX0pOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCducHhyaS1jbG9zZScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxjbG9zZSk7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsZnVuY3Rpb24oZSl7aWYoZS5rZXk9PT0nRXNjYXBlJyljbG9zZSgpfSk7Cn0pKCk7Cjwvc2NyaXB0Pgo=[\/vc_raw_html][vc_empty_space empty_h=\u00a0\u00bb2&Prime;][vc_custom_heading text_color=\u00a0\u00bbaccent\u00a0\u00bb heading_semantic=\u00a0\u00bbh3&Prime; text_size=\u00a0\u00bbh3&Prime; text_transform=\u00a0\u00bbuppercase\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb926723&Prime; text_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb]Impact et rayonnement[\/vc_custom_heading][vc_column_text uncode_shortcode_id=\u00a0\u00bb263844&Prime;]<\/p>\n<ul data-dc-tpl=\"180\" data-om-id=\"00665037:184\">\n<li data-dc-tpl=\"181\" data-om-id=\"00665037:185\"><span data-dc-tpl=\"183\" data-om-id=\"00665037:187\">Contribution au lancement de l\u2019 <strong data-dc-tpl=\"184\" data-om-id=\"00665037:188\"><a href=\"https:\/\/numpex.org\/fr\/collaborations-internationales-et-ateliers-inpex\/\" data-dc-tpl=\"185\" data-om-id=\"00665037:189\">action de soutien \u00e0 la coordination \u00ab SPE \u00bb (Strat\u00e9gie pour l\u2019apr\u00e8s-exascale)<\/a><\/strong> et \u00e0 l\u2019 <strong><a href=\"https:\/\/etp4hpc.eu\/strategic-research-agenda\/\">programme de recherche strat\u00e9gique ETP4HPC<\/a><\/strong>.<\/span><\/li>\n<li data-dc-tpl=\"186\" data-om-id=\"00665037:190\"><span data-dc-tpl=\"188\" data-om-id=\"00665037:192\"><strong data-dc-tpl=\"189\" data-om-id=\"00665037:193\">Le Prix de l&rsquo;innovation<\/strong> de l&rsquo;Acad\u00e9mie des sciences a \u00e9t\u00e9 d\u00e9cern\u00e9 \u00e0 Samuel Thibault pour StarPU (WP3).<\/span><\/li>\n<li data-dc-tpl=\"190\" data-om-id=\"00665037:194\"><span data-dc-tpl=\"192\" data-om-id=\"00665037:196\">Nouveaux partenariats entre le monde universitaire et l&rsquo;industrie : <a href=\"https:\/\/www.ifpenergiesnouvelles.fr\/\"><strong data-dc-tpl=\"193\" data-om-id=\"00665037:197\">IFPEN<\/strong><\/a>, <a href=\"https:\/\/www.fz-juelich.de\/en\/jsc\/news\/news-items\/news-flashes\/2025\/exanla-workshop-02-2025\">l\u2019initiative<strong data-dc-tpl=\"194\" data-om-id=\"00665037:198\">ExaNLA<\/strong><\/a> (J\u00fclich), ainsi que des collaborations avec <strong data-dc-tpl=\"195\" data-om-id=\"00665037:199\">NVIDIA<\/strong>, <strong data-dc-tpl=\"196\" data-om-id=\"00665037:200\">Bull\/Eviden<\/strong> et <strong data-dc-tpl=\"197\" data-om-id=\"00665037:201\">ATOS<\/strong>.<\/span><\/li>\n<li data-dc-tpl=\"198\" data-om-id=\"00665037:202\"><span data-dc-tpl=\"200\" data-om-id=\"00665037:204\">Participation \u00e0 la d\u00e9finition de l&rsquo;environnement logiciel <a href=\"https:\/\/hpc.cea.fr\/fr\/AliceRecoque.html\">des futures machines fran\u00e7aises d&rsquo;exascale<\/a> (Jules Verne, Alice Recoque).<\/span><\/li>\n<li data-dc-tpl=\"201\" data-om-id=\"00665037:205\"><span data-dc-tpl=\"203\" data-om-id=\"00665037:207\">Une diffusion continue par le biais de publications dans des revues et lors de congr\u00e8s, ainsi que d&rsquo;\u00e9v\u00e9nements communautaires (COMPAS, IPDPS, Cluster, <a href=\"https:\/\/numpex.org\/fr\/collaborations-internationales-et-ateliers-inpex\/\" data-dc-tpl=\"204\" data-om-id=\"00665037:208\">InPEx<\/a>, atelier MUMPS), compl\u00e9t\u00e9e par des actions de sensibilisation aux STEM \u00e0 l&rsquo;aide d&rsquo;EasyPAP.<\/span><\/li>\n<\/ul>\n<p>[\/vc_column_text][vc_empty_space empty_h=\u00a0\u00bb2&Prime;][vc_raw_html]PCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICBOdW1QRXgg4oCUIFBhZ2UgRXhhLVNvZlQg4oCUIE1haW4gc29mdHdhcmUgKHZhcmlhbnRlIMKrIE1hcmluZSBk4oCZw4l0YXQgwrsgMWIpCiAgTmFvcyBBZ2VuY3kgwrcgMjAyNi0wOC0xMiDCtyBCbG9jIGF1dG9ub21lIHBvdXIgVW5jb2RlIChXUCBCYWtlcnkpCgogIE1PREUgRCdFTVBMT0kKICAxLiBEYW5zIGxlIGJhY2stb2ZmaWNlIFVuY29kZSA6IHJvdyA+IGNvbG9ubmUgPiDDqWzDqW1lbnQKICAgICDCqyBDb2RlIEJsb2NrIMK7IChSYXcgSFRNTCkgPiBjb2xsZXIgVE9VVCBjZSBmaWNoaWVyLgogIDIuIExlIGJsb2MgZXN0IGF1dG9ub21lIDogc3R5bGVzIHBvcnTDqXMgZW4gaW5saW5lICsgdW4gPHN0eWxlPgogICAgIHNjb3DDqSAoaG92ZXIgZXQgZ3JpbGxlIHJlc3BvbnNpdmUpLiBBdWN1bmUgZMOpcGVuZGFuY2UgSlMuCiAgMy4gUm93IElEIMOgIHBvc2VyIHN1ciBsYSByb3cgcG9ydGV1c2UgKG1lbnUgc3RpY2t5IHYuNi4xKSA6CiAgICAgbmF2LXJlc3VsdHMtZXhhLXNvZnQtZW4gKHNlY3Rpb24gUmVzdWx0cyAmIEltcGFjdCkKICA0LiBMYSB0eXBvIGjDqXJpdGUgZHUgdGjDqG1lIDsgUG9wcGlucyBlc3QgZMOpY2xhcsOpZSBlbiBzZWNvdXJzLgogIE5PVEUgOiBwYWxldHRlIGNvdWxldXJzIGRlIGwnw4l0YXQgKHBhc3RpbGxlIE51bVBFeCB2LjQpIOKAlAogIGJsZXUgcHJvZm9uZCAjMTYyMjdBLCBvcmFuZ2UgI0YwODEzQywgYmxldSBjbGFpciAjN0ZBM0Q4LgogIExhIHR1aWxlIENlbGVzdGUgZXN0IHNhbnMgbGllbiAocGFzIGRlIGTDqXDDtHQgcHVibGljIMOgIGNlIGpvdXIpLgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CjxzdHlsZT4KICAubnB4c3ctZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC1hdXRvLXJvd3M6MWZyO2dhcDoxNnB4O2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9CiAgQG1lZGlhKG1pbi13aWR0aDo3NjBweCl7Lm5weHN3LWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLDFmcil9fQogIEBtZWRpYShtaW4td2lkdGg6MTEwMHB4KXsubnB4c3ctZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKX19CiAgLm5weHN3LWNhcmQ6aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCk7Ym9yZGVyLWNvbG9yOnJnYmEoMjQwLDEyOSw2MCwuNzUpIWltcG9ydGFudDtib3gtc2hhZG93OjAgMTBweCAyNnB4IHJnYmEoMjIsMzQsMTIyLC4zNSl9CiAgQG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsubnB4c3ctY2FyZHt0cmFuc2l0aW9uOm5vbmV9fQo8L3N0eWxlPgo8ZGl2IHN0eWxlPSJtYXgtd2lkdGg6MTE0MHB4O21hcmdpbjowIGF1dG87Zm9udC1mYW1pbHk6J1BvcHBpbnMnLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLCdTZWdvZSBVSScsc2Fucy1zZXJpZiI+CjxoMyBzdHlsZT0ibWFyZ2luOjA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxQzFFMjQiPkxvZ2ljaWVscyBwcmluY2lwYXV4PC9oMz4KPGRpdiBjbGFzcz0ibnB4c3ctZ3JpZCIgc3R5bGU9Im1hcmdpbi10b3A6MjZweCI+CiAgPGEgY2xhc3M9Im5weHN3LWNhcmQiIGhyZWY9Imh0dHBzOi8vZ2l0bGFiLmlucmlhLmZyL3N0YXJwdS9zdGFycHUiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBhcmlhLWxhYmVsPSJTdGFyUFUg4oCUIHRhc2stYmFzZWQgcnVudGltZSBzeXN0ZW0iIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojMTYyMjdBO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTQpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjIwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6N3B4O2JveC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDIyLDM0LDEyMiwuMTgpO3RleHQtZGVjb3JhdGlvbjpub25lO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xOHMgZWFzZSxib3JkZXItY29sb3IgLjE4cyBlYXNlLGJveC1zaGFkb3cgLjE4cyBlYXNlIj4KICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi00MnB4O3JpZ2h0Oi00MnB4O3dpZHRoOjk2cHg7aGVpZ2h0Ojk2cHg7Ym9yZGVyOjJweCBzb2xpZCByZ2JhKDI0MCwxMjksNjAsLjU1KTtib3JkZXItcmFkaXVzOjk5OXB4Ij48L3NwYW4+CiAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2JvdHRvbTotNThweDtyaWdodDotMjhweDt3aWR0aDo5NnB4O2hlaWdodDo5NnB4O2JvcmRlcjoycHggc29saWQgcmdiYSgxMjcsMTYzLDIxNiwuNCk7Ym9yZGVyLXJhZGl1czo5OTlweCI+PC9zcGFuPgogICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTRweDtyaWdodDoxNnB4O2ZvbnQtc2l6ZToxMnB4O2NvbG9yOiNGMDgxM0MiPuKGlzwvc3Bhbj4KICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6MTYuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojRkZGRkZGO2xldHRlci1zcGFjaW5nOi4wMmVtIj5TdGFyUFU8L3NwYW4+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzLjVweDtjb2xvcjojQzREMEVDO2xpbmUtaGVpZ2h0OjEuNSI+U3lzdMOobWUgZCdleMOpY3V0aW9uIGJhc8OpIHN1ciBsZXMgdMOiY2hlczwvc3Bhbj4KICA8L2E+CiAgPGEgY2xhc3M9Im5weHN3LWNhcmQiIGhyZWY9Imh0dHBzOi8vZ2l0bGFiLmlucmlhLmZyL3NvbHZlcnN0YWNrL2NoYW1lbGVvbiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGFyaWEtbGFiZWw9IkNoYW1lbGVvbiDigJQgZGVuc2UgbGluZWFyIGFsZ2VicmEgb24gcnVudGltZSBzeXN0ZW1zIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzE2MjI3QTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE0KTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjdweDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgyMiwzNCwxMjIsLjE4KTt0ZXh0LWRlY29yYXRpb246bm9uZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2UsYm9yZGVyLWNvbG9yIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSI+CiAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2JvdHRvbTotNDJweDtyaWdodDotNDJweDt3aWR0aDo5NnB4O2hlaWdodDo5NnB4O2JvcmRlcjoycHggc29saWQgcmdiYSgyNDAsMTI5LDYwLC41NSk7Ym9yZGVyLXJhZGl1czo5OTlweCI+PC9zcGFuPgogICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTU4cHg7cmlnaHQ6LTI4cHg7d2lkdGg6OTZweDtoZWlnaHQ6OTZweDtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMTI3LDE2MywyMTYsLjQpO2JvcmRlci1yYWRpdXM6OTk5cHgiPjwvc3Bhbj4KICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOjE0cHg7cmlnaHQ6MTZweDtmb250LXNpemU6MTJweDtjb2xvcjojRjA4MTNDIj7ihpc8L3NwYW4+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjE2LjVweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRkZGRjtsZXR0ZXItc3BhY2luZzouMDJlbSI+Q2hhbWVsZW9uPC9zcGFuPgogICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMy41cHg7Y29sb3I6I0M0RDBFQztsaW5lLWhlaWdodDoxLjUiPkFsZ8OoYnJlIGxpbsOpYWlyZSBkZW5zZSBzdXIgbGVzIHN5c3TDqG1lcyBkJ2V4w6ljdXRpb248L3NwYW4+CiAgPC9hPgogIDxhIGNsYXNzPSJucHhzdy1jYXJkIiBocmVmPSJodHRwczovL2dpdGxhYi5pbnJpYS5mci9zb2x2ZXJzdGFjay9tYXBoeXMvbWFwaHlzcHAiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBhcmlhLWxhYmVsPSJNYXBoeXMrKyDigJQgc3BhcnNlIGh5YnJpZCBsaW5lYXIgc29sdmVyIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzE2MjI3QTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE0KTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjdweDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgyMiwzNCwxMjIsLjE4KTt0ZXh0LWRlY29yYXRpb246bm9uZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2UsYm9yZGVyLWNvbG9yIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSI+CiAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2JvdHRvbTotNDJweDtyaWdodDotNDJweDt3aWR0aDo5NnB4O2hlaWdodDo5NnB4O2JvcmRlcjoycHggc29saWQgcmdiYSgyNDAsMTI5LDYwLC41NSk7Ym9yZGVyLXJhZGl1czo5OTlweCI+PC9zcGFuPgogICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTU4cHg7cmlnaHQ6LTI4cHg7d2lkdGg6OTZweDtoZWlnaHQ6OTZweDtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMTI3LDE2MywyMTYsLjQpO2JvcmRlci1yYWRpdXM6OTk5cHgiPjwvc3Bhbj4KICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOjE0cHg7cmlnaHQ6MTZweDtmb250LXNpemU6MTJweDtjb2xvcjojRjA4MTNDIj7ihpc8L3NwYW4+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjE2LjVweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRkZGRjtsZXR0ZXItc3BhY2luZzouMDJlbSI+TWFwaHlzKys8L3NwYW4+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzLjVweDtjb2xvcjojQzREMEVDO2xpbmUtaGVpZ2h0OjEuNSI+U29sdmV1ciBsaW7DqWFpcmUgaHlicmlkZSBwb3VyIG1hdHJpY2VzIGNyZXVzZXM8L3NwYW4+CiAgPC9hPgogIDxhIGNsYXNzPSJucHhzdy1jYXJkIiBocmVmPSJodHRwczovL2dpdGxhYi5pbnJpYS5mci9wbTIvcG0yIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgYXJpYS1sYWJlbD0iTmV3TWFkZWxlaW5lIOKAlCBoaWdoLXBlcmZvcm1hbmNlIGNvbW11bmljYXRpb24gbGlicmFyeSIgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiMxNjIyN0E7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xNCk7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MjBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo3cHg7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMjIsMzQsMTIyLC4xOCk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyBlYXNlLGJvcmRlci1jb2xvciAuMThzIGVhc2UsYm94LXNoYWRvdyAuMThzIGVhc2UiPgogICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTQycHg7cmlnaHQ6LTQycHg7d2lkdGg6OTZweDtoZWlnaHQ6OTZweDtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMjQwLDEyOSw2MCwuNTUpO2JvcmRlci1yYWRpdXM6OTk5cHgiPjwvc3Bhbj4KICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi01OHB4O3JpZ2h0Oi0yOHB4O3dpZHRoOjk2cHg7aGVpZ2h0Ojk2cHg7Ym9yZGVyOjJweCBzb2xpZCByZ2JhKDEyNywxNjMsMjE2LC40KTtib3JkZXItcmFkaXVzOjk5OXB4Ij48L3NwYW4+CiAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDoxNHB4O3JpZ2h0OjE2cHg7Zm9udC1zaXplOjEycHg7Y29sb3I6I0YwODEzQyI+4oaXPC9zcGFuPgogICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxNi41cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNGRkZGRkY7bGV0dGVyLXNwYWNpbmc6LjAyZW0iPk5ld01hZGVsZWluZTwvc3Bhbj4KICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6MTMuNXB4O2NvbG9yOiNDNEQwRUM7bGluZS1oZWlnaHQ6MS41Ij5CaWJsaW90aMOocXVlIGRlIGNvbW11bmljYXRpb24gaGF1dGUgcGVyZm9ybWFuY2U8L3NwYW4+CiAgPC9hPgogIDxhIGNsYXNzPSJucHhzdy1jYXJkIiBocmVmPSJodHRwczovL2dpdGxhYi5pbnJpYS5mci9wYWxsYXMvcGFsbGFzIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgYXJpYS1sYWJlbD0iUGFsbGFzIOKAlCBjb21wYWN0IHRyYWNlIHN0b3JhZ2UgYW5kIGFuYWx5c2lzIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzE2MjI3QTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE0KTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjdweDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgyMiwzNCwxMjIsLjE4KTt0ZXh0LWRlY29yYXRpb246bm9uZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2UsYm9yZGVyLWNvbG9yIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSI+CiAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2JvdHRvbTotNDJweDtyaWdodDotNDJweDt3aWR0aDo5NnB4O2hlaWdodDo5NnB4O2JvcmRlcjoycHggc29saWQgcmdiYSgyNDAsMTI5LDYwLC41NSk7Ym9yZGVyLXJhZGl1czo5OTlweCI+PC9zcGFuPgogICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTU4cHg7cmlnaHQ6LTI4cHg7d2lkdGg6OTZweDtoZWlnaHQ6OTZweDtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMTI3LDE2MywyMTYsLjQpO2JvcmRlci1yYWRpdXM6OTk5cHgiPjwvc3Bhbj4KICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOjE0cHg7cmlnaHQ6MTZweDtmb250LXNpemU6MTJweDtjb2xvcjojRjA4MTNDIj7ihpc8L3NwYW4+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjE2LjVweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRkZGRjtsZXR0ZXItc3BhY2luZzouMDJlbSI+UGFsbGFzPC9zcGFuPgogICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMy41cHg7Y29sb3I6I0M0RDBFQztsaW5lLWhlaWdodDoxLjUiPlN0b2NrYWdlIGV0IGFuYWx5c2UgY29tcGFjdHMgZGVzIHRyYWNlczwvc3Bhbj4KICA8L2E+CiAgPGEgY2xhc3M9Im5weHN3LWNhcmQiIGhyZWY9Imh0dHBzOi8vZ2l0bGFiLmNvbS9lenRyYWNlL2V6dHJhY2UiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBhcmlhLWxhYmVsPSJFWlRyYWNlIOKAlCBwZXJmb3JtYW5jZSBhbmFseXNpcyBhbmQgdHJhY2luZyIgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiMxNjIyN0E7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xNCk7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MjBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo3cHg7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMjIsMzQsMTIyLC4xOCk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyBlYXNlLGJvcmRlci1jb2xvciAuMThzIGVhc2UsYm94LXNoYWRvdyAuMThzIGVhc2UiPgogICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTQycHg7cmlnaHQ6LTQycHg7d2lkdGg6OTZweDtoZWlnaHQ6OTZweDtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMjQwLDEyOSw2MCwuNTUpO2JvcmRlci1yYWRpdXM6OTk5cHgiPjwvc3Bhbj4KICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi01OHB4O3JpZ2h0Oi0yOHB4O3dpZHRoOjk2cHg7aGVpZ2h0Ojk2cHg7Ym9yZGVyOjJweCBzb2xpZCByZ2JhKDEyNywxNjMsMjE2LC40KTtib3JkZXItcmFkaXVzOjk5OXB4Ij48L3NwYW4+CiAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDoxNHB4O3JpZ2h0OjE2cHg7Zm9udC1zaXplOjEycHg7Y29sb3I6I0YwODEzQyI+4oaXPC9zcGFuPgogICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxNi41cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNGRkZGRkY7bGV0dGVyLXNwYWNpbmc6LjAyZW0iPkVaVHJhY2U8L3NwYW4+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzLjVweDtjb2xvcjojQzREMEVDO2xpbmUtaGVpZ2h0OjEuNSI+QW5hbHlzZSBkZXMgcGVyZm9ybWFuY2VzIGV0IHRyYcOnYWJpbGl0w6k8L3NwYW4+CiAgPC9hPgogIDxhIGNsYXNzPSJucHhzdy1jYXJkIiBocmVmPSJodHRwczovL2dpdGxhYi5pbnJpYS5mci9jYW11cy9hcG9sbG8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBhcmlhLWxhYmVsPSJBcG9sbG8g4oCUIHBvbHloZWRyYWwgc3BlY3VsYXRpdmUgcGFyYWxsZWxpemF0aW9uIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzE2MjI3QTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE0KTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjdweDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgyMiwzNCwxMjIsLjE4KTt0ZXh0LWRlY29yYXRpb246bm9uZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2UsYm9yZGVyLWNvbG9yIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSI+CiAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2JvdHRvbTotNDJweDtyaWdodDotNDJweDt3aWR0aDo5NnB4O2hlaWdodDo5NnB4O2JvcmRlcjoycHggc29saWQgcmdiYSgyNDAsMTI5LDYwLC41NSk7Ym9yZGVyLXJhZGl1czo5OTlweCI+PC9zcGFuPgogICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTU4cHg7cmlnaHQ6LTI4cHg7d2lkdGg6OTZweDtoZWlnaHQ6OTZweDtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMTI3LDE2MywyMTYsLjQpO2JvcmRlci1yYWRpdXM6OTk5cHgiPjwvc3Bhbj4KICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOjE0cHg7cmlnaHQ6MTZweDtmb250LXNpemU6MTJweDtjb2xvcjojRjA4MTNDIj7ihpc8L3NwYW4+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjE2LjVweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRkZGRjtsZXR0ZXItc3BhY2luZzouMDJlbSI+QXBvbGxvPC9zcGFuPgogICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMy41cHg7Y29sb3I6I0M0RDBFQztsaW5lLWhlaWdodDoxLjUiPlBhcmFsbMOpbGlzYXRpb24gc3DDqWN1bGF0aXZlIHBvbHnDqWRyaXF1ZTwvc3Bhbj4KICA8L2E+CiAgPGEgY2xhc3M9Im5weHN3LWNhcmQiIGhyZWY9Imh0dHBzOi8vZ2l0bGFiLmlyaXQuZnIvc2VwaWEtcHViL21vaml0b3MiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBhcmlhLWxhYmVsPSJNb2ppdE8vUyDigJQgcGVyZm9ybWFuY2UtY291bnRlciBhbmQgZW5lcmd5IG1lYXN1cmVtZW50IiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzE2MjI3QTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE0KTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjdweDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgyMiwzNCwxMjIsLjE4KTt0ZXh0LWRlY29yYXRpb246bm9uZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2UsYm9yZGVyLWNvbG9yIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSI+CiAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2JvdHRvbTotNDJweDtyaWdodDotNDJweDt3aWR0aDo5NnB4O2hlaWdodDo5NnB4O2JvcmRlcjoycHggc29saWQgcmdiYSgyNDAsMTI5LDYwLC41NSk7Ym9yZGVyLXJhZGl1czo5OTlweCI+PC9zcGFuPgogICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTU4cHg7cmlnaHQ6LTI4cHg7d2lkdGg6OTZweDtoZWlnaHQ6OTZweDtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMTI3LDE2MywyMTYsLjQpO2JvcmRlci1yYWRpdXM6OTk5cHgiPjwvc3Bhbj4KICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOjE0cHg7cmlnaHQ6MTZweDtmb250LXNpemU6MTJweDtjb2xvcjojRjA4MTNDIj7ihpc8L3NwYW4+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjE2LjVweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRkZGRjtsZXR0ZXItc3BhY2luZzouMDJlbSI+TW9qaXRPL1M8L3NwYW4+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzLjVweDtjb2xvcjojQzREMEVDO2xpbmUtaGVpZ2h0OjEuNSI+Q29tcHRldXIgZGUgcGVyZm9ybWFuY2VzIGV0IG1lc3VyZSBkZSBsYSBjb25zb21tYXRpb24gZCfDqW5lcmdpZTwvc3Bhbj4KICA8L2E+CiAgPGRpdiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzE2MjI3QTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE0KTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjdweDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgyMiwzNCwxMjIsLjE4KSI+CiAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2JvdHRvbTotNDJweDtyaWdodDotNDJweDt3aWR0aDo5NnB4O2hlaWdodDo5NnB4O2JvcmRlcjoycHggc29saWQgcmdiYSgyNDAsMTI5LDYwLC41NSk7Ym9yZGVyLXJhZGl1czo5OTlweCI+PC9zcGFuPgogICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTU4cHg7cmlnaHQ6LTI4cHg7d2lkdGg6OTZweDtoZWlnaHQ6OTZweDtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMTI3LDE2MywyMTYsLjQpO2JvcmRlci1yYWRpdXM6OTk5cHgiPjwvc3Bhbj4KICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6MTYuNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojRkZGRkZGO2xldHRlci1zcGFjaW5nOi4wMmVtIj5DZWxlc3RlPC9zcGFuPgogICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMy41cHg7Y29sb3I6I0M0RDBFQztsaW5lLWhlaWdodDoxLjUiPkJpYmxpb3Row6hxdWUgZGUgY2FsY3VsIGRlIHRlbnNldXJzPC9zcGFuPgogIDwvZGl2Pgo8L2Rpdj4KPC9kaXY+Cg==[\/vc_raw_html][vc_row_inner limit_content=\u00a0\u00bb\u00a0\u00bb][vc_column_inner width=\u00a0\u00bb1\/1&Prime;][vc_empty_space empty_h=\u00a0\u00bb2&Prime;][vc_separator sep_color=\u00a0\u00bbcolor-nhtu\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb794634&Prime; sep_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb][vc_empty_space empty_h=\u00a0\u00bb2&Prime; el_id=\u00a0\u00bbnav-metrics\u00a0\u00bb][\/vc_column_inner][\/vc_row_inner][vc_raw_html]PCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICBOdW1QRXgg4oCUIFBhZ2UgRXhhLVNvZlQg4oCUIFByb2plY3QgTWV0cmljcyAodmFyaWFudGUgwqsgTWFyaW5lIGTigJnDiXRhdCDCuyAxYikKICBOYW9zIEFnZW5jeSDCtyAyMDI2LTA4LTEyIMK3IEJsb2MgYXV0b25vbWUgcG91ciBVbmNvZGUgKFdQIEJha2VyeSkKCiAgTU9ERSBEJ0VNUExPSQogIDEuIERhbnMgbGUgYmFjay1vZmZpY2UgVW5jb2RlIDogcm93ID4gY29sb25uZSA+IMOpbMOpbWVudAogICAgIMKrIENvZGUgQmxvY2sgwrsgKFJhdyBIVE1MKSA+IGNvbGxlciBUT1VUIGNlIGZpY2hpZXIuCiAgMi4gTGUgYmxvYyBlc3QgYXV0b25vbWUgOiBzdHlsZXMgcG9ydMOpcyBlbiBpbmxpbmUgKyB1biA8c3R5bGU+CiAgICAgc2NvcMOpIChob3ZlciBldCBncmlsbGUgcmVzcG9uc2l2ZSkuIEF1Y3VuZSBkw6lwZW5kYW5jZSBKUy4KICAzLiBSb3cgSUQgw6AgcG9zZXIgc3VyIGxhIHJvdyBwb3J0ZXVzZSAobWVudSBzdGlja3kgdi42LjEpIDoKICAgICBuYXYtbWV0cmljcy1leGEtc29mdC1lbgogIDQuIExhIHR5cG8gaMOpcml0ZSBkdSB0aMOobWUgOyBQb3BwaW5zIGVzdCBkw6ljbGFyw6llIGVuIHNlY291cnMuCiAgTk9URSA6IGwnZXllYnJvdyArIGxlIHRpdHJlIEgyIHNvbnQgaW5jbHVzIDsgbGVzIHJldGlyZXIgc2kgbGEKICByb3cgVW5jb2RlIGZvdXJuaXQgZMOpasOgIHNvbiBwcm9wcmUgdGl0cmUuIE1ldHRyZSDDoCBqb3VyIGxhIGRhdGUKICDCqyBEYXRhIGFzIG9mIMK7IMOgIGNoYXF1ZSBhY3R1YWxpc2F0aW9uIGRlcyBjaGlmZnJlcy4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgo8c3R5bGU+CiAgLm5weG10LWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtYXV0by1yb3dzOjFmcjtnYXA6MTRweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQogIEBtZWRpYShtaW4td2lkdGg6NTYwcHgpey5ucHhtdC1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpfX0KICBAbWVkaWEobWluLXdpZHRoOjExMDBweCl7Lm5weG10LWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcil9fQogIC5ucHhtdC1jYXJkOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpO2JveC1zaGFkb3c6MCA4cHggMjJweCByZ2JhKDIyLDM0LDEyMiwuMzUpfQogIEBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7Lm5weG10LWNhcmR7dHJhbnNpdGlvbjpub25lfX0KPC9zdHlsZT4KPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjExNDBweDttYXJnaW46MCBhdXRvO2ZvbnQtZmFtaWx5OidQb3BwaW5zJyxzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSwnU2Vnb2UgVUknLHNhbnMtc2VyaWYiPgo8cCBzdHlsZT0ibWFyZ2luOjA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4yMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjojQTg1NDA4Ij5JbmRpY2F0ZXVycyBkZSBwcm9qZXQ8L3A+CjxoMiBzdHlsZT0ibWFyZ2luOjEwcHggMCAwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZTpjbGFtcCgyNnB4LDN2dywzMHB4KTtmb250LXdlaWdodDo3MDA7Y29sb3I6IzFDMUUyNDtsaW5lLWhlaWdodDoxLjI1Ij5JbmRpY2F0ZXVycyBkZSBwcm9qZXQ8L2gyPgo8ZGl2IGNsYXNzPSJucHhtdC1ncmlkIiBzdHlsZT0ibWFyZ2luLXRvcDozNnB4Ij4KICA8ZGl2IGNsYXNzPSJucHhtdC1jYXJkIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzE2MjI3QTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE0KTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyNHB4IDIwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OXB4O2JveC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDIyLDM0LDEyMiwuMTgpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSI+CiAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDotMzJweDtyaWdodDotMzJweDt3aWR0aDo5MnB4O2hlaWdodDo5MnB4O2JvcmRlcjoycHggc29saWQgcmdiYSgyNDAsMTI5LDYwLC41NSk7Ym9yZGVyLXJhZGl1czo5OTlweCI+PC9zcGFuPgogICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTE4cHg7cmlnaHQ6LTQ2cHg7d2lkdGg6OTJweDtoZWlnaHQ6OTJweDtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMTI3LDE2MywyMTYsLjQpO2JvcmRlci1yYWRpdXM6OTk5cHgiPjwvc3Bhbj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTozOHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojRkZGRkZGO2xpbmUtaGVpZ2h0OjEiPjg3PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTEuNXB4O2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzouMTRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6I0YwOTEzQyI+UGVyc29ubmVsIGNvbmNlcm7DqTwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41O2NvbG9yOiNDNEQwRUMiPmNoZXJjaGV1cnMsIGVuc2VpZ25hbnRzLWNoZXJjaGV1cnMsIGRvY3RvcmFudHMsIHBvc3QtZG9jdG9yYW50cyBldCBzdGFnaWFpcmVzPC9kaXY+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ibnB4bXQtY2FyZCIgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiMxNjIyN0E7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xNCk7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MjRweCAyMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjlweDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgyMiwzNCwxMjIsLjE4KTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMThzIGVhc2UsYm94LXNoYWRvdyAuMThzIGVhc2UiPgogICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTMycHg7cmlnaHQ6LTMycHg7d2lkdGg6OTJweDtoZWlnaHQ6OTJweDtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMjQwLDEyOSw2MCwuNTUpO2JvcmRlci1yYWRpdXM6OTk5cHgiPjwvc3Bhbj4KICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOi0xOHB4O3JpZ2h0Oi00NnB4O3dpZHRoOjkycHg7aGVpZ2h0OjkycHg7Ym9yZGVyOjJweCBzb2xpZCByZ2JhKDEyNywxNjMsMjE2LC40KTtib3JkZXItcmFkaXVzOjk5OXB4Ij48L3NwYW4+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MzhweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I0ZGRkZGRjtsaW5lLWhlaWdodDoxIj4yMTwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjExLjVweDtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjE0ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiNGMDkxM0MiPkxhYm9yYXRvaXJlcyBldCDDqXF1aXBlczwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im5weG10LWNhcmQiIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojMTYyMjdBO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTQpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjI0cHggMjBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo5cHg7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMjIsMzQsMTIyLC4xOCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyBlYXNlLGJveC1zaGFkb3cgLjE4cyBlYXNlIj4KICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOi0zMnB4O3JpZ2h0Oi0zMnB4O3dpZHRoOjkycHg7aGVpZ2h0OjkycHg7Ym9yZGVyOjJweCBzb2xpZCByZ2JhKDI0MCwxMjksNjAsLjU1KTtib3JkZXItcmFkaXVzOjk5OXB4Ij48L3NwYW4+CiAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDotMThweDtyaWdodDotNDZweDt3aWR0aDo5MnB4O2hlaWdodDo5MnB4O2JvcmRlcjoycHggc29saWQgcmdiYSgxMjcsMTYzLDIxNiwuNCk7Ym9yZGVyLXJhZGl1czo5OTlweCI+PC9zcGFuPgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjM4cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNGRkZGRkY7bGluZS1oZWlnaHQ6MSI+MzE8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMS41cHg7Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4xNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjojRjA5MTNDIj5QdWJsaWNhdGlvbnM8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNTtjb2xvcjojQzREMEVDIj5yw6lmw6lyZW5jw6kgZGFucyBIQUw8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJucHhtdC1jYXJkIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzE2MjI3QTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE0KTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyNHB4IDIwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OXB4O2JveC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDIyLDM0LDEyMiwuMTgpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSI+CiAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDotMzJweDtyaWdodDotMzJweDt3aWR0aDo5MnB4O2hlaWdodDo5MnB4O2JvcmRlcjoycHggc29saWQgcmdiYSgyNDAsMTI5LDYwLC41NSk7Ym9yZGVyLXJhZGl1czo5OTlweCI+PC9zcGFuPgogICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTE4cHg7cmlnaHQ6LTQ2cHg7d2lkdGg6OTJweDtoZWlnaHQ6OTJweDtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMTI3LDE2MywyMTYsLjQpO2JvcmRlci1yYWRpdXM6OTk5cHgiPjwvc3Bhbj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTozOHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojRkZGRkZGO2xpbmUtaGVpZ2h0OjEiPjk8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMS41cHg7Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4xNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjojRjA5MTNDIj5Mb2dpY2llbDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im5weG10LWNhcmQiIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojMTYyMjdBO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTQpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjI0cHggMjBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo5cHg7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMjIsMzQsMTIyLC4xOCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyBlYXNlLGJveC1zaGFkb3cgLjE4cyBlYXNlIj4KICAgIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOi0zMnB4O3JpZ2h0Oi0zMnB4O3dpZHRoOjkycHg7aGVpZ2h0OjkycHg7Ym9yZGVyOjJweCBzb2xpZCByZ2JhKDI0MCwxMjksNjAsLjU1KTtib3JkZXItcmFkaXVzOjk5OXB4Ij48L3NwYW4+CiAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDotMThweDtyaWdodDotNDZweDt3aWR0aDo5MnB4O2hlaWdodDo5MnB4O2JvcmRlcjoycHggc29saWQgcmdiYSgxMjcsMTYzLDIxNiwuNCk7Ym9yZGVyLXJhZGl1czo5OTlweCI+PC9zcGFuPgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjM4cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNGRkZGRkY7bGluZS1oZWlnaHQ6MSI+MTA8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMS41cHg7Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4xNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjojRjA5MTNDIj5MaXZyYWJsZXM8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJucHhtdC1jYXJkIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzE2MjI3QTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE0KTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoyNHB4IDIwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OXB4O2JveC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDIyLDM0LDEyMiwuMTgpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSI+CiAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDotMzJweDtyaWdodDotMzJweDt3aWR0aDo5MnB4O2hlaWdodDo5MnB4O2JvcmRlcjoycHggc29saWQgcmdiYSgyNDAsMTI5LDYwLC41NSk7Ym9yZGVyLXJhZGl1czo5OTlweCI+PC9zcGFuPgogICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTE4cHg7cmlnaHQ6LTQ2cHg7d2lkdGg6OTJweDtoZWlnaHQ6OTJweDtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMTI3LDE2MywyMTYsLjQpO2JvcmRlci1yYWRpdXM6OTk5cHgiPjwvc3Bhbj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTozOHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojRkZGRkZGO2xpbmUtaGVpZ2h0OjEiPn4xMDwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjExLjVweDtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjE0ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiNGMDkxM0MiPkFwcGxpY2F0aW9uczwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KPHAgc3R5bGU9Im1hcmdpbjoxOHB4IDAgMDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTIuNXB4O2NvbG9yOiM1QTYwNjgiPkRvbm7DqWVzIGF1IDMwIGp1aWxsZXQgMjAyNi48L3A+CjwvZGl2Pgo=[\/vc_raw_html][vc_row_inner limit_content=\u00a0\u00bb\u00a0\u00bb][vc_column_inner width=\u00a0\u00bb1\/1&Prime;][vc_empty_space empty_h=\u00a0\u00bb2&Prime;][vc_separator sep_color=\u00a0\u00bbcolor-nhtu\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb794634&Prime; sep_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb][vc_empty_space empty_h=\u00a0\u00bb2&Prime; el_id=\u00a0\u00bbnav-news\u00a0\u00bb][\/vc_column_inner][\/vc_row_inner][vc_row_inner row_inner_height_percent=\u00a0\u00bb0&Prime; overlay_alpha=\u00a0\u00bb50&Prime; gutter_size=\u00a0\u00bb3&Prime; shift_y=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; uncode_shortcode_id=\u00a0\u00bb317861&Prime; el_id=\u00a0\u00bbnews-exa-soft-en\u00a0\u00bb limit_content=\u00a0\u00bb\u00a0\u00bb][vc_column_inner column_width_percent=\u00a0\u00bb100&Prime; align_horizontal=\u00a0\u00bbalign_center\u00a0\u00bb gutter_size=\u00a0\u00bb3&Prime; style=\u00a0\u00bblight\u00a0\u00bb overlay_alpha=\u00a0\u00bb50&Prime; shift_x=\u00a0\u00bb0&Prime; shift_y=\u00a0\u00bb0&Prime; shift_y_down=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; medium_width=\u00a0\u00bb0&Prime; mobile_width=\u00a0\u00bb0&Prime; width=\u00a0\u00bb1\/1&Prime; uncode_shortcode_id=\u00a0\u00bb205708&Prime;][vc_custom_heading text_color=\u00a0\u00bbaccent\u00a0\u00bb heading_semantic=\u00a0\u00bbh6&Prime; text_size=\u00a0\u00bbh6&Prime; text_transform=\u00a0\u00bbuppercase\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb880255&Prime; text_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb]Nouvelles[\/vc_custom_heading][vc_custom_heading heading_semantic=\u00a0\u00bbh3&Prime; text_size=\u00a0\u00bbh1&Prime; uncode_shortcode_id=\u00a0\u00bb119545&Prime;]Derni\u00e8res nouvelles d&rsquo;Exa-SofT[\/vc_custom_heading][uncode_index el_id=\u00a0\u00bbindex-581094100&Prime; isotope_mode=\u00a0\u00bbfitRows\u00a0\u00bb loop=\u00a0\u00bbsize:8|order_by:date|post_type:post|categories:7|taxonomy_count:10&Prime; screen_lg=\u00a0\u00bb1200&Prime; screen_md=\u00a0\u00bb960&Prime; screen_sm=\u00a0\u00bb480&Prime; gutter_size=\u00a0\u00bb3&Prime; post_items=\u00a0\u00bbmedia|featured|onpost|poster,date,title,text|excerpt|140,category|bordered|topright|hide-icon\u00a0\u00bb single_width=\u00a0\u00bb3&Prime; images_size=\u00a0\u00bbthree-two\u00a0\u00bb single_overlay_color=\u00a0\u00bbcolor-wayh\u00a0\u00bb single_overlay_opacity=\u00a0\u00bb50&Prime; single_text_visible=\u00a0\u00bbyes\u00a0\u00bb single_text_anim=\u00a0\u00bbno\u00a0\u00bb single_padding=\u00a0\u00bb2&Prime; single_title_dimension=\u00a0\u00bbh5&Prime; single_border=\u00a0\u00bbyes\u00a0\u00bb single_css_animation=\u00a0\u00bbbottom-t-top\u00a0\u00bb single_animation_delay=\u00a0\u00bb200&Prime; uncode_shortcode_id=\u00a0\u00bb118750&Prime;][\/vc_column_inner][\/vc_row_inner][vc_row_inner limit_content=\u00a0\u00bb\u00a0\u00bb][vc_column_inner width=\u00a0\u00bb1\/1&Prime;][vc_empty_space empty_h=\u00a0\u00bb2&Prime;][vc_separator sep_color=\u00a0\u00bbcolor-nhtu\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb794634&Prime; sep_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb][vc_empty_space empty_h=\u00a0\u00bb2&Prime; el_id=\u00a0\u00bbnav-Events\u00a0\u00bb][\/vc_column_inner][\/vc_row_inner][vc_row_inner row_inner_height_percent=\u00a0\u00bb0&Prime; overlay_alpha=\u00a0\u00bb50&Prime; gutter_size=\u00a0\u00bb3&Prime; shift_y=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; uncode_shortcode_id=\u00a0\u00bb143206&Prime; el_id=\u00a0\u00bbevents-exa-soft-en\u00a0\u00bb limit_content=\u00a0\u00bb\u00a0\u00bb][vc_column_inner column_width_percent=\u00a0\u00bb100&Prime; align_horizontal=\u00a0\u00bbalign_center\u00a0\u00bb gutter_size=\u00a0\u00bb3&Prime; style=\u00a0\u00bblight\u00a0\u00bb overlay_alpha=\u00a0\u00bb50&Prime; shift_x=\u00a0\u00bb0&Prime; shift_y=\u00a0\u00bb0&Prime; shift_y_down=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; medium_width=\u00a0\u00bb0&Prime; mobile_width=\u00a0\u00bb0&Prime; width=\u00a0\u00bb1\/1&Prime; uncode_shortcode_id=\u00a0\u00bb205708&Prime;][vc_custom_heading text_color=\u00a0\u00bbaccent\u00a0\u00bb heading_semantic=\u00a0\u00bbh6&Prime; text_size=\u00a0\u00bbh6&Prime; text_transform=\u00a0\u00bbuppercase\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb103727&Prime; text_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb]R\u00e9servez la date[\/vc_custom_heading][vc_custom_heading heading_semantic=\u00a0\u00bbh3&Prime; text_size=\u00a0\u00bbh1&Prime; uncode_shortcode_id=\u00a0\u00bb725393&Prime;]\u00c9v\u00e9nements Exa-SofT[\/vc_custom_heading][vc_column_text text_lead=\u00a0\u00bbyes\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb204006&Prime;]D\u00e9couvrez les prochains \u00e9v\u00e9nements Exa-SofT : nos s\u00e9minaires et conf\u00e9rences, ainsi que les \u00e9v\u00e9nements de nos partenaires.[\/vc_column_text]\t<div class=\"npx-events npx-events--cols-3\"\n\t\tdata-npx-events\n\t\tdata-layout=\"white\"\n\t\tdata-hover=\"grey\"\n\t\tdata-fill=\"default\"\n\t\tdata-date-motion=\"none\"\n\t\tdata-group=\"none\"\n\t\tdata-past=\"toggle\"\n\t\tdata-card-motion=\"none\"\n\t\tdata-countdown=\"no\"\n\t\t\t\t\t\tdata-badges=\"yes\"\n\t\t\t\t\t\t\t\tdata-shadow=\"accent\"\n\t\tdata-shadow-strength=\"medium\"\n\t\t\t\tdata-row-image=\"thumb\"\n\t\tdata-row-size=\"small\"\n\t\tdata-rail-scale=\"fit\"\n\t\tdata-spine=\"default\"\n\t\tdata-dot=\"default\"\n\t\tdata-spine-hover=\"accent\"\n\t\tdata-dot-hover=\"accent\"\n\t\tdata-row-overlay=\"medium\"\n\t\t\t\t\t\tdata-gap=\"normal\"\n\t\t\t\tdata-carousel=\"no\"\n\t\tdata-carousel-step=\"card\"\n\t\tdata-carousel-direction=\"horizontal\"\n\t\tdata-carousel-visible=\"3\"\n\t\tdata-arrows=\"above\"\n\t\tdata-carousel-fade=\"no\"\n\t\tdata-arrow-size=\"medium\"\n\t\tdata-overlay=\"none\">\n\n\t\t\t\t\t\t<div class=\"npx-filters\">\n\t\t<div class=\"npx-filters__groups\">\n\t\t\t\t<div class=\"npx-filter\" data-npx-filter-group=\"date\">\n\t\t<button type=\"button\" class=\"npx-filter__trigger\" aria-expanded=\"false\">\n\t\t\t<span class=\"npx-filter__label\">Dates<\/span>\n\t\t\t<span class=\"npx-filter__count\" data-npx-selected-count hidden><\/span>\n\t\t<\/button>\n\n\t\t<div class=\"npx-filter__panel npx-filter__panel--dates\" hidden>\n\t\t\t\t\t\t\t<fieldset class=\"npx-chipset\">\n\t\t\t\t\t<legend class=\"npx-chipset__legend\">Ann\u00e9es<\/legend>\n\t\t\t\t\t<div class=\"npx-chipset__options\">\n\t\t\t\t\t\t\t<label class=\"npx-chip npx-chip--any\">\n\t\t<input type=\"checkbox\" data-npx-year\t\t\tvalue=\"\"  checked='checked'>\n\t\t<span class=\"npx-chip__label\">Toutes les ann\u00e9es<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-year\t\t\tvalue=\"2023\" >\n\t\t<span class=\"npx-chip__label\">2023<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-year\t\t\tvalue=\"2024\" >\n\t\t<span class=\"npx-chip__label\">2024<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-year\t\t\tvalue=\"2025\" >\n\t\t<span class=\"npx-chip__label\">2025<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-year\t\t\tvalue=\"2026\" >\n\t\t<span class=\"npx-chip__label\">2026<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-year\t\t\tvalue=\"2027\" >\n\t\t<span class=\"npx-chip__label\">2027<\/span>\n\t<\/label>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/fieldset>\n\t\t\t\n\t\t\t<fieldset class=\"npx-chipset\">\n\t\t\t\t<legend class=\"npx-chipset__legend\">Mois<\/legend>\n\t\t\t\t<div class=\"npx-chipset__options npx-chipset__options--months\">\n\t\t\t\t\t\t<label class=\"npx-chip npx-chip--any\">\n\t\t<input type=\"checkbox\" data-npx-month\t\t\tvalue=\"\"  checked='checked'>\n\t\t<span class=\"npx-chip__label\">Tous les mois<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-month\t\t\tvalue=\"01\" >\n\t\t<span class=\"npx-chip__label\">Jan<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-month\t\t\tvalue=\"02\" >\n\t\t<span class=\"npx-chip__label\">F\u00e9v<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-month\t\t\tvalue=\"03\" >\n\t\t<span class=\"npx-chip__label\">Mar<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-month\t\t\tvalue=\"04\" >\n\t\t<span class=\"npx-chip__label\">Avr<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-month\t\t\tvalue=\"05\" >\n\t\t<span class=\"npx-chip__label\">Mai<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-month\t\t\tvalue=\"06\" >\n\t\t<span class=\"npx-chip__label\">Juin<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-month\t\t\tvalue=\"07\" >\n\t\t<span class=\"npx-chip__label\">Juil<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-month\t\t\tvalue=\"08\" >\n\t\t<span class=\"npx-chip__label\">Ao\u00fbt<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-month\t\t\tvalue=\"09\" >\n\t\t<span class=\"npx-chip__label\">Sep<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-month\t\t\tvalue=\"10\" >\n\t\t<span class=\"npx-chip__label\">Oct<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-month\t\t\tvalue=\"11\" >\n\t\t<span class=\"npx-chip__label\">Nov<\/span>\n\t<\/label>\n\t\t<label class=\"npx-chip\">\n\t\t<input type=\"checkbox\" data-npx-month\t\t\tvalue=\"12\" >\n\t\t<span class=\"npx-chip__label\">D\u00e9c<\/span>\n\t<\/label>\n\t\t\t\t\t<\/div>\n\t\t\t<\/fieldset>\n\n\t\t\t<fieldset class=\"npx-chipset npx-chipset--range\">\n\t\t\t\t<legend class=\"npx-chipset__legend\">Ou une p\u00e9riode pr\u00e9cise<\/legend>\n\t\t\t\t\t\t\t\t<label class=\"npx-filter__field\">\n\t\t\t\t\t<span class=\"npx-filter__field-label\">Du<\/span>\n\t\t\t\t\t<span class=\"npx-filter__control\">\n\t\t\t\t\t\t<input type=\"date\" data-npx-date=\"from\">\n\t\t\t\t\t\t<span class=\"npx-filter__hint\" aria-hidden=\"true\" data-npx-placeholder=\"Choisir une date\">Choisir une date<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/label>\n\t\t\t\t<label class=\"npx-filter__field\">\n\t\t\t\t\t<span class=\"npx-filter__field-label\">Au<\/span>\n\t\t\t\t\t<span class=\"npx-filter__control\">\n\t\t\t\t\t\t<input type=\"date\" data-npx-date=\"to\">\n\t\t\t\t\t\t<span class=\"npx-filter__hint\" aria-hidden=\"true\" data-npx-placeholder=\"Choisir une date\">Choisir une date<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t<\/label>\n\t\t\t<\/fieldset>\n\n\t\t\t<button type=\"button\" class=\"npx-filter__clear\" data-npx-clear-dates hidden>Effacer les dates<\/button>\n\t\t<\/div>\n\t<\/div>\n\t\t<div class=\"npx-filter\" data-npx-filter-group=\"type\">\n\t\t<button type=\"button\" class=\"npx-filter__trigger\" aria-expanded=\"false\">\n\t\t\t<span class=\"npx-filter__label\">Type d\u2019\u00e9v\u00e9nement<\/span>\n\t\t\t<span class=\"npx-filter__count\" data-npx-selected-count hidden><\/span>\n\t\t<\/button>\n\t\t<div class=\"npx-filter__panel\" hidden>\n\t\t\t\t\t\t<ul class=\"npx-filter__list no-list\">\n\t\t\t\t\t\t\t\t\t<li class=\"npx-filter__item\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<input type=\"checkbox\" data-npx-filter=\"type\" value=\"assemblee-generale\">\n\t\t\t\t\t\t\t<span class=\"npx-filter__name\">Assembl\u00e9e g\u00e9n\u00e9rale<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-filter__tally\" data-npx-tally=\"type:assemblee-generale\"><\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"npx-filter__item\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<input type=\"checkbox\" data-npx-filter=\"type\" value=\"atelier\">\n\t\t\t\t\t\t\t<span class=\"npx-filter__name\">Atelier<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-filter__tally\" data-npx-tally=\"type:atelier\"><\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"npx-filter__item\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<input type=\"checkbox\" data-npx-filter=\"type\" value=\"conference\">\n\t\t\t\t\t\t\t<span class=\"npx-filter__name\">Conf\u00e9rence<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-filter__tally\" data-npx-tally=\"type:conference\"><\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<button type=\"button\" class=\"npx-filter__clear\" data-npx-clear-group hidden\n\t\t\t\taria-label=\"Effacer\u00a0: Type d\u2019\u00e9v\u00e9nement\">Effacer<\/button>\n\t\t<\/div>\n\t<\/div>\n\t\t<div class=\"npx-filter\" data-npx-filter-group=\"project\">\n\t\t<button type=\"button\" class=\"npx-filter__trigger\" aria-expanded=\"false\">\n\t\t\t<span class=\"npx-filter__label\">Projet<\/span>\n\t\t\t<span class=\"npx-filter__count\" data-npx-selected-count hidden><\/span>\n\t\t<\/button>\n\t\t<div class=\"npx-filter__panel\" hidden>\n\t\t\t\t\t\t<ul class=\"npx-filter__list no-list\">\n\t\t\t\t\t\t\t\t\t<li class=\"npx-filter__item\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<input type=\"checkbox\" data-npx-filter=\"project\" value=\"exa-atow\">\n\t\t\t\t\t\t\t<span class=\"npx-filter__name\">Exa-AToW<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-filter__tally\" data-npx-tally=\"project:exa-atow\"><\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"npx-filter__item\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<input type=\"checkbox\" data-npx-filter=\"project\" value=\"exa-di\">\n\t\t\t\t\t\t\t<span class=\"npx-filter__name\">Exa-DI<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-filter__tally\" data-npx-tally=\"project:exa-di\"><\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"npx-filter__item\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<input type=\"checkbox\" data-npx-filter=\"project\" value=\"exa-dost\">\n\t\t\t\t\t\t\t<span class=\"npx-filter__name\">Exa-DoST<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-filter__tally\" data-npx-tally=\"project:exa-dost\"><\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"npx-filter__item\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<input type=\"checkbox\" data-npx-filter=\"project\" value=\"exa-ma\">\n\t\t\t\t\t\t\t<span class=\"npx-filter__name\">Exa-MA<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-filter__tally\" data-npx-tally=\"project:exa-ma\"><\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"npx-filter__item\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<input type=\"checkbox\" data-npx-filter=\"project\" value=\"exa-soft\">\n\t\t\t\t\t\t\t<span class=\"npx-filter__name\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-filter__tally\" data-npx-tally=\"project:exa-soft\"><\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"npx-filter__item\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<input type=\"checkbox\" data-npx-filter=\"project\" value=\"numpex\">\n\t\t\t\t\t\t\t<span class=\"npx-filter__name\">NumPEx<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-filter__tally\" data-npx-tally=\"project:numpex\"><\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<button type=\"button\" class=\"npx-filter__clear\" data-npx-clear-group hidden\n\t\t\t\taria-label=\"Effacer\u00a0: Projet\">Effacer<\/button>\n\t\t<\/div>\n\t<\/div>\n\t\t<div class=\"npx-filter\" data-npx-filter-group=\"origin\">\n\t\t<button type=\"button\" class=\"npx-filter__trigger\" aria-expanded=\"false\">\n\t\t\t<span class=\"npx-filter__label\">Organisateur<\/span>\n\t\t\t<span class=\"npx-filter__count\" data-npx-selected-count hidden><\/span>\n\t\t<\/button>\n\t\t<div class=\"npx-filter__panel\" hidden>\n\t\t\t\t\t\t<ul class=\"npx-filter__list no-list\">\n\t\t\t\t\t\t\t\t\t<li class=\"npx-filter__item\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<input type=\"checkbox\" data-npx-filter=\"origin\" value=\"external\">\n\t\t\t\t\t\t\t<span class=\"npx-filter__name\">Externe<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-filter__tally\" data-npx-tally=\"origin:external\"><\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"npx-filter__item\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<input type=\"checkbox\" data-npx-filter=\"origin\" value=\"numpex\">\n\t\t\t\t\t\t\t<span class=\"npx-filter__name\">Organis\u00e9 par Numpex<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-filter__tally\" data-npx-tally=\"origin:numpex\"><\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<button type=\"button\" class=\"npx-filter__clear\" data-npx-clear-group hidden\n\t\t\t\taria-label=\"Effacer\u00a0: Organisateur\">Effacer<\/button>\n\t\t<\/div>\n\t<\/div>\n\t\t\t<\/div>\n\t\t<div class=\"npx-filters__status\">\n\t\t\t<p class=\"npx-filters__results\" data-npx-results aria-live=\"polite\"><\/p>\n\t\t\t<button type=\"button\" class=\"npx-filters__reset\" data-npx-reset hidden>Effacer tous les filtres<\/button>\n\t\t<\/div>\n\t<\/div>\n\t\t\t\n\t\t<section class=\"npx-events__section\" data-npx-section=\"upcoming\">\n\t\t\t\n\t\t\t\t\t\t\t<div class=\"npx-events__grid\">\n\t\t\t\t\t\t\t<article class=\"npx-card npx-card--external npx-card--no-image\" style=\"--npx-type-tint:#a5b1bc;--npx-type-ink:#141618;\"\t\t\t\t\t\tdata-npx-type=\"conference\"\n\t\tdata-npx-projects=\"numpex exa-atow exa-di exa-dost exa-ma exa-soft\"\n\t\t\t\t\t\tdata-npx-origin=\"external\"\n\t\tdata-npx-start=\"20261020\"\n\t\tdata-npx-end=\"20261021\">\n\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\tclass=\"npx-card__datebox\"\n\t\t\t\tdatetime=\"2026-10-20\"\n\t\t\t\t aria-hidden=\"true\">\n\t\t\t\t<span class=\"npx-card__day\">20\u201321<\/span>\n\t\t\t\t<span class=\"npx-card__month\">Oct 2026<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/time>\n\t\t\n\t\t<div class=\"npx-card__aside\">\n\t\t\t\t\t\t\t<span class=\"npx-card__image npx-card__image--placeholder\" aria-hidden=\"true\"><\/span>\n\t\t\t\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__projects npx-card__projects--over\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">NumPEx<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-AToW<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DI<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DoST<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-MA<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"npx-card__main\">\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__type\">Conf\u00e9rence<\/p>\n\t\t\t\n\t\t\t\t\t\t<h3 class=\"npx-card__title\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"npx-card__trigger\" href=\"https:\/\/numpex.org\/fr\/event\/forum-tetratec\/\" aria-haspopup=\"dialog\">\n\t\t\t\t\t\tFORUM TERATEC\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__when\">\t\t\t\t\t<p class=\"npx-card__dates\"><time datetime=\"2026-10-20\">20\u201321 octobre 2026<\/time><\/p>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__action\">\n\t\t\t\t\t<button type=\"button\" class=\"npx-button npx-button--primary npx-card__details\" aria-haspopup=\"dialog\">D\u00e9tails\u2026<\/button>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"npx-card__footer\">\n\t\t\t\t\t\t\t\t\t<p class=\"npx-card__place\">Paris, Palais des Congr\u00e8s<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\n\t\t\n\t\t\t\t\t\t<div class=\"npx-card__preview\" hidden>\t\t\t\t\t<div class=\"npx-preview__band\" style=\"--npx-type-tint:#a5b1bc;--npx-type-ink:#141618;\">\n\t\t\t\t<p class=\"npx-preview__badges\">\n\t\t\t\t\t<span class=\"npx-badge npx-badge--type\">Conf\u00e9rence<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">NumPEx<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-AToW<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DI<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DoST<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-MA<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t<\/p>\n\n\t<h2 class=\"npx-preview__title\">FORUM TERATEC<\/h2>\n\t\t\t<\/div>\n\t\n\t<div class=\"npx-preview__body\">\n\t\t\n\t\t<dl class=\"npx-preview__meta\">\n\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>Quand<\/dt>\n\t\t\t\t\t<dd>20\u201321 octobre 2026<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>O\u00f9<\/dt>\n\t\t\t\t\t<dd>Paris, Palais des Congr\u00e8s<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/dl>\n\n\t\t\n\t\t\t\t\t<p class=\"npx-preview__actions\">\n\t\t\t\t\t\t\t\t\t<a class=\"npx-button npx-button--primary\" href=\"https:\/\/forum-teratec.com\/\">forum-teratec.com<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t<\/div>\n\t\t\t<\/article>\n\t\t\t<article class=\"npx-card npx-card--numpex\"\t\t\t\t\t\tdata-npx-type=\"assemblee-generale\"\n\t\tdata-npx-projects=\"exa-soft\"\n\t\t\t\t\t\tdata-npx-origin=\"numpex\"\n\t\tdata-npx-start=\"20261104\"\n\t\tdata-npx-end=\"20261106\">\n\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\tclass=\"npx-card__datebox\"\n\t\t\t\tdatetime=\"2026-11-04\"\n\t\t\t\t aria-hidden=\"true\">\n\t\t\t\t<span class=\"npx-card__day\">4\u20136<\/span>\n\t\t\t\t<span class=\"npx-card__month\">Nov 2026<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/time>\n\t\t\n\t\t<div class=\"npx-card__aside\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"768\" height=\"430\" src=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2023\/05\/Wallpaper_for_a_science_research_on_super_computing_performance_03-1920px-web-768x430.jpg\" class=\"npx-card__image wp-post-image\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2023\/05\/Wallpaper_for_a_science_research_on_super_computing_performance_03-1920px-web-768x430.jpg 768w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2023\/05\/Wallpaper_for_a_science_research_on_super_computing_performance_03-1920px-web-300x168.jpg 300w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2023\/05\/Wallpaper_for_a_science_research_on_super_computing_performance_03-1920px-web-1024x574.jpg 1024w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2023\/05\/Wallpaper_for_a_science_research_on_super_computing_performance_03-1920px-web-1536x861.jpg 1536w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2023\/05\/Wallpaper_for_a_science_research_on_super_computing_performance_03-1920px-web-350x196.jpg 350w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2023\/05\/Wallpaper_for_a_science_research_on_super_computing_performance_03-1920px-web.jpg 1920w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\t\t\t<p class=\"npx-card__cartouche\">Organis\u00e9 par Numpex<\/p>\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__projects npx-card__projects--over\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"npx-card__main\">\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__type\">Assembl\u00e9e g\u00e9n\u00e9rale<\/p>\n\t\t\t\n\t\t\t\t\t\t<h3 class=\"npx-card__title\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"npx-card__trigger\" href=\"https:\/\/numpex.org\/fr\/event\/assemblee-generale-dexa-soft\/\" aria-haspopup=\"dialog\">\n\t\t\t\t\t\tAssembl\u00e9e g\u00e9n\u00e9rale d&rsquo;Exa-SofT\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__when\">\t\t\t\t\t<p class=\"npx-card__dates\"><time datetime=\"2026-11-04\">4\u20136 novembre 2026<\/time><\/p>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__action\">\n\t\t\t\t\t<button type=\"button\" class=\"npx-button npx-button--primary npx-card__details\" aria-haspopup=\"dialog\">D\u00e9tails\u2026<\/button>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"npx-card__footer\">\n\t\t\t\t\t\t\t\t\t<p class=\"npx-card__place\">Strasbourg, France<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\n\t\t\n\t\t\t\t\t\t<div class=\"npx-card__preview\" hidden>\t\t\t<div class=\"npx-preview__media\">\n\t\t\t<img decoding=\"async\" width=\"840\" height=\"471\" src=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2023\/05\/Wallpaper_for_a_science_research_on_super_computing_performance_03-1920px-web-1024x574.jpg\" class=\"npx-preview__image wp-post-image\" alt=\"\" srcset=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2023\/05\/Wallpaper_for_a_science_research_on_super_computing_performance_03-1920px-web-1024x574.jpg 1024w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2023\/05\/Wallpaper_for_a_science_research_on_super_computing_performance_03-1920px-web-300x168.jpg 300w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2023\/05\/Wallpaper_for_a_science_research_on_super_computing_performance_03-1920px-web-768x430.jpg 768w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2023\/05\/Wallpaper_for_a_science_research_on_super_computing_performance_03-1920px-web-1536x861.jpg 1536w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2023\/05\/Wallpaper_for_a_science_research_on_super_computing_performance_03-1920px-web-350x196.jpg 350w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2023\/05\/Wallpaper_for_a_science_research_on_super_computing_performance_03-1920px-web.jpg 1920w\" sizes=\"(max-width: 840px) 100vw, 840px\" \/>\t\t<\/div>\n\t\n\t<div class=\"npx-preview__body\">\n\t\t\t\t\t\t<p class=\"npx-preview__badges\">\n\t\t\t\t\t<span class=\"npx-badge npx-badge--type\">Assembl\u00e9e g\u00e9n\u00e9rale<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--numpex\">Organis\u00e9 par Numpex<\/span>\n\t\t\t<\/p>\n\n\t<h2 class=\"npx-preview__title\">Assembl\u00e9e g\u00e9n\u00e9rale d&rsquo;Exa-SofT<\/h2>\n\t\t\t\n\t\t<dl class=\"npx-preview__meta\">\n\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>Quand<\/dt>\n\t\t\t\t\t<dd>4\u20136 novembre 2026<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>O\u00f9<\/dt>\n\t\t\t\t\t<dd>Strasbourg, France<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/dl>\n\n\t\t\n\t\t\t<\/div>\n\t<\/div>\n\t\t\t<\/article>\n\t\t\t<article class=\"npx-card npx-card--numpex\"\t\t\t\t\t\tdata-npx-type=\"assemblee-generale\"\n\t\tdata-npx-projects=\"numpex exa-atow exa-di exa-dost exa-ma exa-soft\"\n\t\t\t\t\t\tdata-npx-origin=\"numpex\"\n\t\tdata-npx-start=\"20270315\"\n\t\tdata-npx-end=\"20270317\">\n\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\tclass=\"npx-card__datebox\"\n\t\t\t\tdatetime=\"2027-03-15\"\n\t\t\t\t aria-hidden=\"true\">\n\t\t\t\t<span class=\"npx-card__day\">15\u201317<\/span>\n\t\t\t\t<span class=\"npx-card__month\">Mar 2027<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/time>\n\t\t\n\t\t<div class=\"npx-card__aside\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"768\" height=\"425\" src=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-768x425.png\" class=\"npx-card__image wp-post-image\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-768x425.png 768w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-300x166.png 300w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1024x567.png 1024w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1536x851.png 1536w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-2048x1134.png 2048w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-350x194.png 350w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors.png 2356w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\t\t\t<p class=\"npx-card__cartouche\">Organis\u00e9 par Numpex<\/p>\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__projects npx-card__projects--over\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">NumPEx<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-AToW<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DI<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DoST<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-MA<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"npx-card__main\">\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__type\">Assembl\u00e9e g\u00e9n\u00e9rale<\/p>\n\t\t\t\n\t\t\t\t\t\t<h3 class=\"npx-card__title\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"npx-card__trigger\" href=\"https:\/\/numpex.org\/fr\/event\/assemblee-generale-de-numpex\/\" aria-haspopup=\"dialog\">\n\t\t\t\t\t\tAssembl\u00e9e g\u00e9n\u00e9rale de NumPEx\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__when\">\t\t\t\t\t<p class=\"npx-card__dates\"><time datetime=\"2027-03-15\">15\u201317 mars 2027<\/time><\/p>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__action\">\n\t\t\t\t\t<button type=\"button\" class=\"npx-button npx-button--primary npx-card__details\" aria-haspopup=\"dialog\">D\u00e9tails\u2026<\/button>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"npx-card__footer\">\n\t\t\t\t\t\t\t\t\t<p class=\"npx-card__place\">Toulouse, France<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\n\t\t\n\t\t\t\t\t\t<div class=\"npx-card__preview\" hidden>\t\t\t<div class=\"npx-preview__media\">\n\t\t\t<img decoding=\"async\" width=\"840\" height=\"465\" src=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1024x567.png\" class=\"npx-preview__image wp-post-image\" alt=\"\" srcset=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1024x567.png 1024w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-300x166.png 300w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-768x425.png 768w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1536x851.png 1536w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-2048x1134.png 2048w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-350x194.png 350w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors.png 2356w\" sizes=\"(max-width: 840px) 100vw, 840px\" \/>\t\t<\/div>\n\t\n\t<div class=\"npx-preview__body\">\n\t\t\t\t\t\t<p class=\"npx-preview__badges\">\n\t\t\t\t\t<span class=\"npx-badge npx-badge--type\">Assembl\u00e9e g\u00e9n\u00e9rale<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">NumPEx<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-AToW<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DI<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DoST<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-MA<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--numpex\">Organis\u00e9 par Numpex<\/span>\n\t\t\t<\/p>\n\n\t<h2 class=\"npx-preview__title\">Assembl\u00e9e g\u00e9n\u00e9rale de NumPEx<\/h2>\n\t\t\t\n\t\t<dl class=\"npx-preview__meta\">\n\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>Quand<\/dt>\n\t\t\t\t\t<dd>15\u201317 mars 2027<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>O\u00f9<\/dt>\n\t\t\t\t\t<dd>Toulouse, France<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/dl>\n\n\t\t\n\t\t\t<\/div>\n\t<\/div>\n\t\t\t<\/article>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<p class=\"npx-events__empty\" data-npx-empty hidden>\n\t\t\t\tAucun \u00e9v\u00e9nement \u00e0 venir pour le moment \u2014 consultez les \u00e9v\u00e9nements pass\u00e9s.\t\t\t<\/p>\n\t\t<\/section>\n\n\t\t\t\t\t<div class=\"npx-events__past-switch\">\n\t\t\t\t<button type=\"button\" class=\"npx-button\" data-npx-past-toggle aria-expanded=\"false\" aria-controls=\"npx-events-past\">\n\t\t\t\t\t<span data-npx-past-show>Voir les \u00e9v\u00e9nements pass\u00e9s<\/span>\n\t\t\t\t\t<span data-npx-past-hide hidden>Retour aux \u00e9v\u00e9nements \u00e0 venir<\/span>\n\t\t\t\t<\/button>\n\t\t\t<\/div>\n\n\t\t\t<section class=\"npx-events__section npx-events__section--past\" id=\"npx-events-past\" data-npx-section=\"past\" hidden>\n\t\t\t\t<h2 class=\"npx-events__heading\">\u00c9v\u00e9nements pass\u00e9s<\/h2>\n\t\t\t\t<div class=\"npx-events__grid\">\n\t\t\t\t\t\t\t<article class=\"npx-card npx-card--numpex npx-card--no-image\" style=\"--npx-type-tint:#afc3d3;--npx-type-ink:#141618;\"\t\t\t\t\t\tdata-npx-type=\"\"\n\t\tdata-npx-projects=\"exa-soft\"\n\t\t\t\t\t\tdata-npx-origin=\"numpex\"\n\t\tdata-npx-start=\"20251008\"\n\t\tdata-npx-end=\"20251010\">\n\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\tclass=\"npx-card__datebox\"\n\t\t\t\tdatetime=\"2025-10-08\"\n\t\t\t\t aria-hidden=\"true\">\n\t\t\t\t<span class=\"npx-card__day\">8\u201310<\/span>\n\t\t\t\t<span class=\"npx-card__month\">Oct 2025<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/time>\n\t\t\n\t\t<div class=\"npx-card__aside\">\n\t\t\t\t\t\t\t<span class=\"npx-card__image npx-card__image--placeholder\" aria-hidden=\"true\"><\/span>\n\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\t\t\t<p class=\"npx-card__cartouche\">Organis\u00e9 par Numpex<\/p>\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__projects npx-card__projects--over\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"npx-card__main\">\n\t\t\t\n\t\t\t\n\t\t\t\t\t\t<h3 class=\"npx-card__title\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"npx-card__trigger\" href=\"https:\/\/numpex.org\/fr\/event\/workshop-on-approximate-computing-in-numerical-linear-algebra\/\" aria-haspopup=\"dialog\">\n\t\t\t\t\t\tWorkshop on Approximate Computing in Numerical Linear Algebra\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__when\">\t\t\t\t\t<p class=\"npx-card__dates\"><time datetime=\"2025-10-08\">8\u201310 octobre 2025<\/time><\/p>\n\t\t\t\t\t<p class=\"npx-card__time\">11h30\u201311h30<\/p>\n\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__action\">\n\t\t\t\t\t<button type=\"button\" class=\"npx-button npx-button--primary npx-card__details\" aria-haspopup=\"dialog\">D\u00e9tails\u2026<\/button>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"npx-card__footer\">\n\t\t\t\t\t\t\t\t\t<p class=\"npx-card__place\">Sorbonne University<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\n\t\t\n\t\t\t\t\t\t<div class=\"npx-card__preview\" hidden>\t\t\t\t\t<div class=\"npx-preview__band\" style=\"--npx-type-tint:#afc3d3;--npx-type-ink:#141618;\">\n\t\t\t\t<p class=\"npx-preview__badges\">\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--numpex\">Organis\u00e9 par Numpex<\/span>\n\t\t\t<\/p>\n\n\t<h2 class=\"npx-preview__title\">Workshop on Approximate Computing in Numerical Linear Algebra<\/h2>\n\t\t\t<\/div>\n\t\n\t<div class=\"npx-preview__body\">\n\t\t\n\t\t<dl class=\"npx-preview__meta\">\n\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>Quand<\/dt>\n\t\t\t\t\t<dd>8\u201310 octobre 2025 \u00b7 11h30\u201311h30<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>O\u00f9<\/dt>\n\t\t\t\t\t<dd>Sorbonne University<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/dl>\n\n\t\t\t\t\t<p class=\"npx-preview__text\">The goal of the workshop is to gather experts on approximate numerical linear algebra algorithms, their analysis, implementation on modern hardware, and use in applications. This includes topics such as low-rank approximations, reduced and mixed precision algorithms, randomized algorithms, communication avoiding algori\u2026<\/p>\n\t\t\n\t\t\t\t\t<p class=\"npx-preview__actions\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"npx-button\" href=\"https:\/\/numpex.org\/fr\/event\/workshop-on-approximate-computing-in-numerical-linear-algebra\/\">En savoir plus<\/a>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t<\/div>\n\t\t\t<\/article>\n\t\t\t<article class=\"npx-card npx-card--numpex npx-card--no-image\" style=\"--npx-type-tint:#afc3d3;--npx-type-ink:#141618;\"\t\t\t\t\t\tdata-npx-type=\"conference\"\n\t\tdata-npx-projects=\"exa-soft\"\n\t\t\t\t\t\tdata-npx-origin=\"numpex\"\n\t\tdata-npx-start=\"20250625\"\n\t\tdata-npx-end=\"20250627\">\n\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\tclass=\"npx-card__datebox\"\n\t\t\t\tdatetime=\"2025-06-25\"\n\t\t\t\t aria-hidden=\"true\">\n\t\t\t\t<span class=\"npx-card__day\">25\u201327<\/span>\n\t\t\t\t<span class=\"npx-card__month\">Juin 2025<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/time>\n\t\t\n\t\t<div class=\"npx-card__aside\">\n\t\t\t\t\t\t\t<span class=\"npx-card__image npx-card__image--placeholder\" aria-hidden=\"true\"><\/span>\n\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\t\t\t<p class=\"npx-card__cartouche\">Organis\u00e9 par Numpex<\/p>\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__projects npx-card__projects--over\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"npx-card__main\">\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__type\">Conf\u00e9rence<\/p>\n\t\t\t\n\t\t\t\t\t\t<h3 class=\"npx-card__title\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"npx-card__trigger\" href=\"https:\/\/numpex.org\/fr\/event\/compas-2025-conference-francophone-sur-linformatique-en-parallelisme-architecture-et-systemes\/\" aria-haspopup=\"dialog\">\n\t\t\t\t\t\tCOMPAS 2025 &#8211; Conf\u00e9rence francophone sur l&rsquo;informatique en parall\u00e9lisme, architecture et syst\u00e8mes\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__when\">\t\t\t\t\t<p class=\"npx-card__dates\"><time datetime=\"2025-06-25\">25\u201327 juin 2025<\/time><\/p>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__action\">\n\t\t\t\t\t<button type=\"button\" class=\"npx-button npx-button--primary npx-card__details\" aria-haspopup=\"dialog\">D\u00e9tails\u2026<\/button>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"npx-card__footer\">\n\t\t\t\t\t\t\t\t\t<p class=\"npx-card__place\">Campus Bastide de l\u2019Universit\u00e9 de Bordeaux<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\n\t\t\n\t\t\t\t\t\t<div class=\"npx-card__preview\" hidden>\t\t\t\t\t<div class=\"npx-preview__band\" style=\"--npx-type-tint:#afc3d3;--npx-type-ink:#141618;\">\n\t\t\t\t<p class=\"npx-preview__badges\">\n\t\t\t\t\t<span class=\"npx-badge npx-badge--type\">Conf\u00e9rence<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--numpex\">Organis\u00e9 par Numpex<\/span>\n\t\t\t<\/p>\n\n\t<h2 class=\"npx-preview__title\">COMPAS 2025 &#8211; Conf\u00e9rence francophone sur l&rsquo;informatique en parall\u00e9lisme, architecture et syst\u00e8mes<\/h2>\n\t\t\t<\/div>\n\t\n\t<div class=\"npx-preview__body\">\n\t\t\n\t\t<dl class=\"npx-preview__meta\">\n\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>Quand<\/dt>\n\t\t\t\t\t<dd>25\u201327 juin 2025<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>O\u00f9<\/dt>\n\t\t\t\t\t<dd>Campus Bastide de l\u2019Universit\u00e9 de Bordeaux<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/dl>\n\n\t\t\t\t\t<p class=\"npx-preview__text\">Depuis de nombreuses ann\u00e9es, Compas offre \u00e0 la communaut\u00e9 francophone ou travaillant en France sur ces th\u00e9matiques la possibilit\u00e9 d\u2019\u00e9changer autour d\u2019un programme riche et vari\u00e9. Compas a pour objectif premier de favoriser les rencontres entre chercheurs confirm\u00e9s, jeunes chercheurs et industriels. Compas permet de ren\u2026<\/p>\n\t\t\n\t\t\t\t\t<p class=\"npx-preview__actions\">\n\t\t\t\t\t\t\t\t\t<a class=\"npx-button npx-button--primary\" href=\"https:\/\/2025.compas-conference.fr\/venue\/\">2025.compas-conference.fr\/venue\/<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"npx-button\" href=\"https:\/\/numpex.org\/fr\/event\/compas-2025-conference-francophone-sur-linformatique-en-parallelisme-architecture-et-systemes\/\">En savoir plus<\/a>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t<\/div>\n\t\t\t<\/article>\n\t\t\t<article class=\"npx-card npx-card--numpex npx-card--no-image\" style=\"--npx-type-tint:#afc3d3;--npx-type-ink:#141618;\"\t\t\t\t\t\tdata-npx-type=\"\"\n\t\tdata-npx-projects=\"exa-soft\"\n\t\t\t\t\t\tdata-npx-origin=\"numpex\"\n\t\tdata-npx-start=\"20250523\"\n\t\tdata-npx-end=\"20250523\">\n\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\tclass=\"npx-card__datebox\"\n\t\t\t\tdatetime=\"2025-05-23\"\n\t\t\t\t aria-hidden=\"true\">\n\t\t\t\t<span class=\"npx-card__day\">23<\/span>\n\t\t\t\t<span class=\"npx-card__month\">Mai 2025<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/time>\n\t\t\n\t\t<div class=\"npx-card__aside\">\n\t\t\t\t\t\t\t<span class=\"npx-card__image npx-card__image--placeholder\" aria-hidden=\"true\"><\/span>\n\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\t\t\t<p class=\"npx-card__cartouche\">Organis\u00e9 par Numpex<\/p>\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__projects npx-card__projects--over\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"npx-card__main\">\n\t\t\t\n\t\t\t\n\t\t\t\t\t\t<h3 class=\"npx-card__title\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"npx-card__trigger\" href=\"https:\/\/numpex.org\/fr\/event\/per3s\/\" aria-haspopup=\"dialog\">\n\t\t\t\t\t\tPer3S\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__when\">\t\t\t\t\t<p class=\"npx-card__dates\"><time datetime=\"2025-05-23\">23 mai 2025<\/time><\/p>\n\t\t\t\t\t<p class=\"npx-card__time\">09h00\u201317h00<\/p>\n\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__action\">\n\t\t\t\t\t<button type=\"button\" class=\"npx-button npx-button--primary npx-card__details\" aria-haspopup=\"dialog\">D\u00e9tails\u2026<\/button>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"npx-card__footer\">\n\t\t\t\t\t\t\t\t\t<p class=\"npx-card__place\">Maison des Mines et des Ponts<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\n\t\t\n\t\t\t\t\t\t<div class=\"npx-card__preview\" hidden>\t\t\t\t\t<div class=\"npx-preview__band\" style=\"--npx-type-tint:#afc3d3;--npx-type-ink:#141618;\">\n\t\t\t\t<p class=\"npx-preview__badges\">\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--numpex\">Organis\u00e9 par Numpex<\/span>\n\t\t\t<\/p>\n\n\t<h2 class=\"npx-preview__title\">Per3S<\/h2>\n\t\t\t<\/div>\n\t\n\t<div class=\"npx-preview__body\">\n\t\t\n\t\t<dl class=\"npx-preview__meta\">\n\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>Quand<\/dt>\n\t\t\t\t\t<dd>23 mai 2025 \u00b7 09h00\u201317h00<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>O\u00f9<\/dt>\n\t\t\t\t\t<dd>Maison des Mines et des Ponts<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/dl>\n\n\t\t\t\t\t<p class=\"npx-preview__text\">Per3S is a french workshop centered on performances of storage system and all the issues related to storage at scale\r\nThe terminology used in Per3S for storage includes HPC systems as well as Cloud architectures, the common point between both being scalability. Presentations and talks focus in application, system or ar\u2026<\/p>\n\t\t\n\t\t\t\t\t<p class=\"npx-preview__actions\">\n\t\t\t\t\t\t\t\t\t<a class=\"npx-button npx-button--primary\" href=\"https:\/\/per3s.github.io\/\">Learn more<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"npx-button\" href=\"https:\/\/numpex.org\/fr\/event\/per3s\/\">En savoir plus<\/a>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t<\/div>\n\t\t\t<\/article>\n\t\t\t<article class=\"npx-card npx-card--numpex\"\t\t\t\t\t\tdata-npx-type=\"atelier\"\n\t\tdata-npx-projects=\"numpex exa-soft exa-ma exa-dost exa-di exa-atow\"\n\t\t\t\t\t\tdata-npx-origin=\"numpex\"\n\t\tdata-npx-start=\"20241118\"\n\t\tdata-npx-end=\"20241118\">\n\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\tclass=\"npx-card__datebox\"\n\t\t\t\tdatetime=\"2024-11-18\"\n\t\t\t\t aria-hidden=\"true\">\n\t\t\t\t<span class=\"npx-card__day\">18<\/span>\n\t\t\t\t<span class=\"npx-card__month\">Nov 2024<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/time>\n\t\t\n\t\t<div class=\"npx-card__aside\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"768\" height=\"425\" src=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-768x425.png\" class=\"npx-card__image wp-post-image\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-768x425.png 768w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-300x166.png 300w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1024x567.png 1024w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1536x851.png 1536w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-2048x1134.png 2048w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-350x194.png 350w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors.png 2356w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\t\t\t<p class=\"npx-card__cartouche\">Organis\u00e9 par Numpex<\/p>\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__projects npx-card__projects--over\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">NumPEx<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-MA<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DoST<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DI<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-AToW<\/span>\n\t\t\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"npx-card__main\">\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__type\">Atelier<\/p>\n\t\t\t\n\t\t\t\t\t\t<h3 class=\"npx-card__title\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"npx-card__trigger\" href=\"https:\/\/numpex.org\/fr\/event\/atelier-inter-pepr-quand-lia-et-le-calcul-haute-performance-hpc-rencontrent-la-science-des-materiaux\/\" aria-haspopup=\"dialog\">\n\t\t\t\t\t\tAtelier inter-PEPR \u00ab Quand l&rsquo;IA et le calcul haute performance (HPC) rencontrent la science des mat\u00e9riaux \u00bb\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__when\">\t\t\t\t\t<p class=\"npx-card__dates\"><time datetime=\"2024-11-18\">18 novembre 2024<\/time><\/p>\n\t\t\t\t\t<p class=\"npx-card__time\">08h30\u201317h30<\/p>\n\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__action\">\n\t\t\t\t\t<button type=\"button\" class=\"npx-button npx-button--primary npx-card__details\" aria-haspopup=\"dialog\">D\u00e9tails\u2026<\/button>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"npx-card__footer\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\n\t\t\n\t\t\t\t\t\t<div class=\"npx-card__preview\" hidden>\t\t\t<div class=\"npx-preview__media\">\n\t\t\t<img decoding=\"async\" width=\"840\" height=\"465\" src=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1024x567.png\" class=\"npx-preview__image wp-post-image\" alt=\"\" srcset=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1024x567.png 1024w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-300x166.png 300w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-768x425.png 768w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1536x851.png 1536w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-2048x1134.png 2048w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-350x194.png 350w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors.png 2356w\" sizes=\"(max-width: 840px) 100vw, 840px\" \/>\t\t<\/div>\n\t\n\t<div class=\"npx-preview__body\">\n\t\t\t\t\t\t<p class=\"npx-preview__badges\">\n\t\t\t\t\t<span class=\"npx-badge npx-badge--type\">Atelier<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">NumPEx<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-MA<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DoST<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DI<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-AToW<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--numpex\">Organis\u00e9 par Numpex<\/span>\n\t\t\t<\/p>\n\n\t<h2 class=\"npx-preview__title\">Atelier inter-PEPR \u00ab Quand l&rsquo;IA et le calcul haute performance (HPC) rencontrent la science des mat\u00e9riaux \u00bb<\/h2>\n\t\t\t\n\t\t<dl class=\"npx-preview__meta\">\n\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>Quand<\/dt>\n\t\t\t\t\t<dd>18 novembre 2024 \u00b7 08h30\u201317h30<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/dl>\n\n\t\t\t\t\t<p class=\"npx-preview__text\">La journ\u00e9e \u00ab Inter-PEPR \u00bb, organis\u00e9e conjointement par les PEPR DIADEM, PEPR AI et PEPR NumPEx, se tiendra le 18 novembre 2024 au Centre de l\u2019Intelligence Artificielle de la Sorbonne (SCAI), Espace Forum, situ\u00e9 au 4, place Jussieu, 75005 Paris. Cet \u00e9v\u00e9nement a pour objectif de mettre en avant des travaux de recherche p\u2026<\/p>\n\t\t\n\t\t\t\t\t<p class=\"npx-preview__actions\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"npx-button\" href=\"https:\/\/numpex.org\/fr\/event\/atelier-inter-pepr-quand-lia-et-le-calcul-haute-performance-hpc-rencontrent-la-science-des-materiaux\/\">En savoir plus<\/a>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t<\/div>\n\t\t\t<\/article>\n\t\t\t<article class=\"npx-card npx-card--numpex\"\t\t\t\t\t\tdata-npx-type=\"assemblee-generale\"\n\t\tdata-npx-projects=\"exa-soft\"\n\t\t\t\t\t\tdata-npx-origin=\"numpex\"\n\t\tdata-npx-start=\"20241107\"\n\t\tdata-npx-end=\"20241108\">\n\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\tclass=\"npx-card__datebox\"\n\t\t\t\tdatetime=\"2024-11-07\"\n\t\t\t\t aria-hidden=\"true\">\n\t\t\t\t<span class=\"npx-card__day\">7\u20138<\/span>\n\t\t\t\t<span class=\"npx-card__month\">Nov 2024<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/time>\n\t\t\n\t\t<div class=\"npx-card__aside\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"768\" height=\"425\" src=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-768x425.png\" class=\"npx-card__image wp-post-image\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-768x425.png 768w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-300x166.png 300w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1024x567.png 1024w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1536x851.png 1536w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-2048x1134.png 2048w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-350x194.png 350w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors.png 2356w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\t\t\t<p class=\"npx-card__cartouche\">Organis\u00e9 par Numpex<\/p>\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__projects npx-card__projects--over\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"npx-card__main\">\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__type\">Assembl\u00e9e g\u00e9n\u00e9rale<\/p>\n\t\t\t\n\t\t\t\t\t\t<h3 class=\"npx-card__title\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"npx-card__trigger\" href=\"https:\/\/numpex.org\/fr\/event\/reunion-annuelle-dexa-soft\/\" aria-haspopup=\"dialog\">\n\t\t\t\t\t\tR\u00e9union annuelle d&rsquo;Exa-SofT\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__when\">\t\t\t\t\t<p class=\"npx-card__dates\"><time datetime=\"2024-11-07\">7\u20138 novembre 2024<\/time><\/p>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__action\">\n\t\t\t\t\t<button type=\"button\" class=\"npx-button npx-button--primary npx-card__details\" aria-haspopup=\"dialog\">D\u00e9tails\u2026<\/button>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"npx-card__footer\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\n\t\t\n\t\t\t\t\t\t<div class=\"npx-card__preview\" hidden>\t\t\t<div class=\"npx-preview__media\">\n\t\t\t<img decoding=\"async\" width=\"840\" height=\"465\" src=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1024x567.png\" class=\"npx-preview__image wp-post-image\" alt=\"\" srcset=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1024x567.png 1024w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-300x166.png 300w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-768x425.png 768w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1536x851.png 1536w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-2048x1134.png 2048w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-350x194.png 350w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors.png 2356w\" sizes=\"(max-width: 840px) 100vw, 840px\" \/>\t\t<\/div>\n\t\n\t<div class=\"npx-preview__body\">\n\t\t\t\t\t\t<p class=\"npx-preview__badges\">\n\t\t\t\t\t<span class=\"npx-badge npx-badge--type\">Assembl\u00e9e g\u00e9n\u00e9rale<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--numpex\">Organis\u00e9 par Numpex<\/span>\n\t\t\t<\/p>\n\n\t<h2 class=\"npx-preview__title\">R\u00e9union annuelle d&rsquo;Exa-SofT<\/h2>\n\t\t\t\n\t\t<dl class=\"npx-preview__meta\">\n\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>Quand<\/dt>\n\t\t\t\t\t<dd>7\u20138 novembre 2024<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/dl>\n\n\t\t\n\t\t\t<\/div>\n\t<\/div>\n\t\t\t<\/article>\n\t\t\t<article class=\"npx-card npx-card--numpex\"\t\t\t\t\t\tdata-npx-type=\"conference\"\n\t\tdata-npx-projects=\"exa-soft exa-ma exa-dost exa-di exa-atow numpex\"\n\t\t\t\t\t\tdata-npx-origin=\"numpex\"\n\t\tdata-npx-start=\"20240529\"\n\t\tdata-npx-end=\"20240530\">\n\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\tclass=\"npx-card__datebox\"\n\t\t\t\tdatetime=\"2024-05-29\"\n\t\t\t\t aria-hidden=\"true\">\n\t\t\t\t<span class=\"npx-card__day\">29\u201330<\/span>\n\t\t\t\t<span class=\"npx-card__month\">Mai 2024<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/time>\n\t\t\n\t\t<div class=\"npx-card__aside\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"768\" height=\"197\" src=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline-768x197.png\" class=\"npx-card__image wp-post-image\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline-768x197.png 768w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline-300x77.png 300w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline-1024x263.png 1024w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline-1536x394.png 1536w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline-2048x526.png 2048w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline-350x90.png 350w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline.png 2500w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\t\t\t<p class=\"npx-card__cartouche\">Organis\u00e9 par Numpex<\/p>\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__projects npx-card__projects--over\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-MA<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DoST<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DI<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-AToW<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">NumPEx<\/span>\n\t\t\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"npx-card__main\">\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__type\">Conf\u00e9rence<\/p>\n\t\t\t\n\t\t\t\t\t\t<h3 class=\"npx-card__title\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"npx-card__trigger\" href=\"https:\/\/numpex.org\/fr\/event\/forum-teratec-2024\/\" aria-haspopup=\"dialog\">\n\t\t\t\t\t\tForum Teratec 2024\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__when\">\t\t\t\t\t<p class=\"npx-card__dates\"><time datetime=\"2024-05-29\">29\u201330 mai 2024<\/time><\/p>\n\t\t\t\t\t<p class=\"npx-card__time\">09h00\u201318h00<\/p>\n\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__action\">\n\t\t\t\t\t<button type=\"button\" class=\"npx-button npx-button--primary npx-card__details\" aria-haspopup=\"dialog\">D\u00e9tails\u2026<\/button>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"npx-card__footer\">\n\t\t\t\t\t\t\t\t\t<p class=\"npx-card__place\">Parc Floral de Paris<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\n\t\t\n\t\t\t\t\t\t<div class=\"npx-card__preview\" hidden>\t\t\t<div class=\"npx-preview__media\">\n\t\t\t<img decoding=\"async\" width=\"840\" height=\"216\" src=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline-1024x263.png\" class=\"npx-preview__image wp-post-image\" alt=\"\" srcset=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline-1024x263.png 1024w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline-300x77.png 300w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline-768x197.png 768w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline-1536x394.png 1536w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline-2048x526.png 2048w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline-350x90.png 350w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/TERATEC_LOGO-Couleur_Avec-Baseline.png 2500w\" sizes=\"(max-width: 840px) 100vw, 840px\" \/>\t\t<\/div>\n\t\n\t<div class=\"npx-preview__body\">\n\t\t\t\t\t\t<p class=\"npx-preview__badges\">\n\t\t\t\t\t<span class=\"npx-badge npx-badge--type\">Conf\u00e9rence<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-MA<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DoST<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DI<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-AToW<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">NumPEx<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--numpex\">Organis\u00e9 par Numpex<\/span>\n\t\t\t<\/p>\n\n\t<h2 class=\"npx-preview__title\">Forum Teratec 2024<\/h2>\n\t\t\t\n\t\t<dl class=\"npx-preview__meta\">\n\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>Quand<\/dt>\n\t\t\t\t\t<dd>29\u201330 mai 2024 \u00b7 09h00\u201318h00<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>O\u00f9<\/dt>\n\t\t\t\t\t<dd>Parc Floral de Paris<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/dl>\n\n\t\t\t\t\t<p class=\"npx-preview__text\">Le Forum TERATEC est un \u00e9v\u00e9nement majeur en Europe qui rassemble les meilleurs experts internationaux en calcul haute performance (HPC), en simulation num\u00e9rique, en traitement de donn\u00e9es \u00e0 grande \u00e9chelle, en intelligence artificielle et en informatique quantique. Et les membres de NumPEx sont ravis de faire partie de c\u2026<\/p>\n\t\t\n\t\t\t\t\t<p class=\"npx-preview__actions\">\n\t\t\t\t\t\t\t\t\t<a class=\"npx-button npx-button--primary\" href=\"https:\/\/www.forumteratec.com\/fr\">Learn more<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"npx-button\" href=\"https:\/\/numpex.org\/fr\/event\/forum-teratec-2024\/\">En savoir plus<\/a>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t<\/div>\n\t<\/div>\n\t\t\t<\/article>\n\t\t\t<article class=\"npx-card npx-card--numpex\"\t\t\t\t\t\tdata-npx-type=\"assemblee-generale\"\n\t\tdata-npx-projects=\"exa-soft exa-ma exa-dost exa-di exa-atow\"\n\t\t\t\t\t\tdata-npx-origin=\"numpex\"\n\t\tdata-npx-start=\"20230626\"\n\t\tdata-npx-end=\"20230628\">\n\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\tclass=\"npx-card__datebox\"\n\t\t\t\tdatetime=\"2023-06-26\"\n\t\t\t\t aria-hidden=\"true\">\n\t\t\t\t<span class=\"npx-card__day\">26\u201328<\/span>\n\t\t\t\t<span class=\"npx-card__month\">Juin 2023<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/time>\n\t\t\n\t\t<div class=\"npx-card__aside\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"768\" height=\"425\" src=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-768x425.png\" class=\"npx-card__image wp-post-image\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-768x425.png 768w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-300x166.png 300w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1024x567.png 1024w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1536x851.png 1536w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-2048x1134.png 2048w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-350x194.png 350w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors.png 2356w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\n\t\t\t\n\t\t\t\t\t\t\t\t\t\t<p class=\"npx-card__cartouche\">Organis\u00e9 par Numpex<\/p>\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__projects npx-card__projects--over\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-MA<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DoST<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DI<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-AToW<\/span>\n\t\t\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t<\/div>\n\n\t\t<div class=\"npx-card__main\">\n\t\t\t\n\t\t\t\t\t\t\t<p class=\"npx-card__type\">Assembl\u00e9e g\u00e9n\u00e9rale<\/p>\n\t\t\t\n\t\t\t\t\t\t<h3 class=\"npx-card__title\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"npx-card__trigger\" href=\"https:\/\/numpex.org\/fr\/event\/lancement-de-numpex\/\" aria-haspopup=\"dialog\">\n\t\t\t\t\t\tLancement de NumPEx\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__when\">\t\t\t\t\t<p class=\"npx-card__dates\"><time datetime=\"2023-06-26\">26\u201328 juin 2023<\/time><\/p>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"npx-card__action\">\n\t\t\t\t\t<button type=\"button\" class=\"npx-button npx-button--primary npx-card__details\" aria-haspopup=\"dialog\">D\u00e9tails\u2026<\/button>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t<div class=\"npx-card__footer\">\n\t\t\t\t\t\t\t\t\t<p class=\"npx-card__place\">Perros-Guirec<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\n\t\t\n\t\t\n\t\t\t\t\t\t<div class=\"npx-card__preview\" hidden>\t\t\t<div class=\"npx-preview__media\">\n\t\t\t<img decoding=\"async\" width=\"840\" height=\"465\" src=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1024x567.png\" class=\"npx-preview__image wp-post-image\" alt=\"\" srcset=\"https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1024x567.png 1024w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-300x166.png 300w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-768x425.png 768w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-1536x851.png 1536w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-2048x1134.png 2048w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors-350x194.png 350w, https:\/\/numpex.org\/wp-content\/uploads\/sites\/6\/2024\/07\/FR2030-Digital-for-Exascale-colors.png 2356w\" sizes=\"(max-width: 840px) 100vw, 840px\" \/>\t\t<\/div>\n\t\n\t<div class=\"npx-preview__body\">\n\t\t\t\t\t\t<p class=\"npx-preview__badges\">\n\t\t\t\t\t<span class=\"npx-badge npx-badge--type\">Assembl\u00e9e g\u00e9n\u00e9rale<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-SofT<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-MA<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DoST<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-DI<\/span>\n\t\t\t\t\t<span class=\"npx-badge npx-badge--project\">Exa-AToW<\/span>\n\t\t\t\t\t\t\t<span class=\"npx-badge npx-badge--numpex\">Organis\u00e9 par Numpex<\/span>\n\t\t\t<\/p>\n\n\t<h2 class=\"npx-preview__title\">Lancement de NumPEx<\/h2>\n\t\t\t\n\t\t<dl class=\"npx-preview__meta\">\n\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>Quand<\/dt>\n\t\t\t\t\t<dd>26\u201328 juin 2023<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"npx-preview__meta-row\">\n\t\t\t\t\t<dt>O\u00f9<\/dt>\n\t\t\t\t\t<dd>Perros-Guirec<\/dd>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/dl>\n\n\t\t\n\t\t\t<\/div>\n\t<\/div>\n\t\t\t<\/article>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<p class=\"npx-events__empty\" data-npx-empty hidden>\n\t\t\t\t\tAucun \u00e9v\u00e9nement pass\u00e9 ne correspond \u00e0 ces filtres.\t\t\t\t<\/p>\n\t\t\t<\/section>\n\t\t\n\t\t\n\t\t\t<div class=\"npx-modal\" data-npx-modal data-preview-actions=\"center\" hidden>\n\t\t<div class=\"npx-modal__overlay\" data-npx-modal-close><\/div>\n\t\t<div class=\"npx-modal__dialog\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Aper\u00e7u de l\u2019\u00e9v\u00e9nement\" tabindex=\"-1\">\n\t\t\t<button type=\"button\" class=\"npx-modal__close\" data-npx-modal-close>\n\t\t\t\t<span class=\"npx-modal__close-icon\" aria-hidden=\"true\">&times;<\/span>\n\t\t\t\t<span class=\"screen-reader-text\">Fermer<\/span>\n\t\t\t<\/button>\n\t\t\t<div class=\"npx-modal__content\" data-npx-modal-content><\/div>\n\t\t<\/div>\n\t<\/div>\n\t\t<\/div>\n\t[\/vc_column_inner][\/vc_row_inner][vc_row_inner limit_content=\u00a0\u00bb\u00a0\u00bb][vc_column_inner width=\u00a0\u00bb1\/1&Prime;][vc_empty_space empty_h=\u00a0\u00bb2&Prime;][vc_separator sep_color=\u00a0\u00bbcolor-nhtu\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb794634&Prime; sep_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb][vc_empty_space empty_h=\u00a0\u00bb2&Prime; el_id=\u00a0\u00bbnav-team\u00a0\u00bb][\/vc_column_inner][\/vc_row_inner][vc_row_inner row_inner_height_percent=\u00a0\u00bb0&Prime; row_padding=\u00a0\u00bb0&Prime; overlay_alpha=\u00a0\u00bb50&Prime; gutter_size=\u00a0\u00bb3&Prime; shift_y=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; uncode_shortcode_id=\u00a0\u00bb187116&Prime; limit_content=\u00a0\u00bb\u00a0\u00bb][vc_column_inner column_width_percent=\u00a0\u00bb100&Prime; align_horizontal=\u00a0\u00bbalign_center\u00a0\u00bb gutter_size=\u00a0\u00bb3&Prime; style=\u00a0\u00bblight\u00a0\u00bb overlay_alpha=\u00a0\u00bb50&Prime; shift_x=\u00a0\u00bb0&Prime; shift_y=\u00a0\u00bb0&Prime; shift_y_down=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; medium_width=\u00a0\u00bb0&Prime; mobile_width=\u00a0\u00bb0&Prime; width=\u00a0\u00bb1\/1&Prime; uncode_shortcode_id=\u00a0\u00bb205708&Prime;][vc_custom_heading text_color=\u00a0\u00bbaccent\u00a0\u00bb heading_semantic=\u00a0\u00bbh6&Prime; text_size=\u00a0\u00bbh6&Prime; text_transform=\u00a0\u00bbuppercase\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb433185&Prime; text_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb]L&rsquo;\u00e9quipe[\/vc_custom_heading][vc_custom_heading heading_semantic=\u00a0\u00bbh3&Prime; text_size=\u00a0\u00bbh1&Prime; uncode_shortcode_id=\u00a0\u00bb297271&Prime;]L&rsquo;\u00e9quipe Exa-SofT[\/vc_custom_heading][vc_column_text text_lead=\u00a0\u00bbyes\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb156075&Prime;]D\u00e9couvrez les membres[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][vc_row_inner limit_content=\u00a0\u00bb\u00a0\u00bb][vc_column_inner column_width_percent=\u00a0\u00bb75&Prime; gutter_size=\u00a0\u00bb3&Prime; overlay_alpha=\u00a0\u00bb50&Prime; shift_x=\u00a0\u00bb0&Prime; shift_y=\u00a0\u00bb0&Prime; shift_y_down=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; medium_width=\u00a0\u00bb0&Prime; mobile_width=\u00a0\u00bb0&Prime; width=\u00a0\u00bb1\/1&Prime; uncode_shortcode_id=\u00a0\u00bb176931&Prime;][vc_raw_html]PCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICBOdW1QRXgg4oCUIFBhZ2UgRXhhLVNvZlQg4oCUIFRoZSBUZWFtICgxMiBjYXJ0ZXMgbWVtYnJlcykg4oCUIHYuMQogIE5hb3MgQWdlbmN5IMK3IDIwMjYtMDgtMTUgwrcgQmxvYyBhdXRvbm9tZSBVbmNvZGUgKFdQIEJha2VyeSkKICBSb3cgSUQgOiBuYXYtdGVhbS1leGEtc29mdC1lbiAodmFsZXVyIGR1IGJyaWVmIOKAlCB2ZXJpZmllciBsJ0lECiAgcmVlbCBkZSBsYSByb3cgZW4gYmFjay1vZmZpY2UgYXZhbnQgaW50ZWdyYXRpb24pLiBLaWNrZXIKICBUSEUgVEVBTSArIEgyIMKrIFRoZSBUZWFtIMK7IGVuIGVsZW1lbnRzIFVuY29kZSBuYXRpZnMsIGNlIGJsb2MKICBkZXNzb3VzLgoKICBEZXV4IGZhbWlsbGVzIDogbGVzIDIgY29vcmRpbmF0ZXVycyAoUEkpLCBmaWxldCBvcmFuZ2UgcGxlaW4gZXQKICByb2xlIGVuIG9yYW5nZSwgc3VyIHVuZSBncmlsbGUgZGUgMiBjZW50cmVlIDsgcHVpcyBsYSBwaHJhc2UgZGUKICBsYW5jZW1lbnQgZHUgcHJvamV0IDsgcHVpcyBsZXMgMTAgcmVzcG9uc2FibGVzIGRlIHdvcmstcGFja2FnZSwKICBmaWxldCBiaWNvbG9yZSBldCByb2xlIGVuIGdyaXMuIEF1IHJlcG9zIDogcGhvdG8sIG5vbSBldCByb2xlIDsKICBhdSBzdXJ2b2wgbGEgY2FydGUgc2UgZGVwbGllIHZlcnMgbGUgYmFzICh0aXRyZSwgYWZmaWxpYXRpb24sCiAgbGllbnMpIHNhbnMgZGVjYWxlciBsYSBncmlsbGUuIFN1ciBlY3JhbiB0YWN0aWxlLCBvdSBsZSBzdXJ2b2wKICBuJ2V4aXN0ZSBwYXMsIGxlcyBjYXJ0ZXMgcmVzdGVudCBkZXBsaWVlcy4gMyBjb2xvbm5lcyBlbgogIGRlc2t0b3AsIDIgZW4gdGFibGV0dGUsIDEgZW4gbW9iaWxlLiBaZXJvIEpTLCBDU1Mgc2NvcGUgbnB4ZC0uCgogIFBIT1RPUyBNQU5RVUFOVEVTIOKAlCBUaG9tYXMgSGVyYXVsdCBldCBDaHJpc3RpYW4gUGVyZXogbidvbnQgcGFzCiAgZGUgcG9ydHJhaXQgZW4gbWVkaWF0aGVxdWUuIExldXJzIGNhcnRlcyBhZmZpY2hlbnQgbGV1cnMKICBpbml0aWFsZXMgZGFucyBsZSBtZW1lIGNlcmNsZSwgZW4gYXR0ZW5kYW50IHF1ZSBOdW1QRXgKICBmb3Vybmlzc2UgbGVzIHZpc3VlbHMuIFBvdXIgcGFzc2VyIHVuZSBjYXJ0ZSBlbiBwaG90byA6CiAgcmVtcGxhY2VyIDxkaXYgY2xhc3M9Im5weGQtcmluZyBucHhkLWluaSI+PHNwYW4gYXJpYS1oaWRkZW49ICJ0cnVlIj5YWDwvc3Bhbj48L2Rpdj4gcGFyIDxkaXYgY2xhc3M9Im5weGQtcmluZyI+PGltZyBzcmM9IlVSTCBtZWRpYXRoZXF1ZSIgYWx0PSIiIGxvYWRpbmc9ImxhenkiPjwvZGl2Pi4gUmllbiBkJ2F1dHJlIGEKICB0b3VjaGVyLCBsYSBtaXNlIGVuIHBhZ2UgZXN0IGlkZW50aXF1ZS4KCiAgQUpPVVRFUiBVTiBNRU1CUkUg4oCUIGR1cGxpcXVlciB1biBlbXBsYWNlbWVudCBlbnRpZXIsIGR1CiAgPGRpdiBjbGFzcz0ibnB4ZC1zbG90Ij4gYXUgPC9kaXY+PC9kaXY+IHF1aSBsZSByZWZlcm1lLCBwdWlzIDoKICAxLiBwaG90byBvdSBpbml0aWFsZXMgKHZvaXIgY2ktZGVzc3VzKSA7IDIuIG5vbSBkYW5zCiAgPGgzIGNsYXNzPSJucHhkLW5hbWUiPiA7IDMuIHJvbGUgZGFucyA8cCBjbGFzcz0ibnB4ZC1yb2xlIj4KICAoYWZmaWNoZSBhdSByZXBvcywgZW4gbWFqdXNjdWxlcyBhdXRvbWF0aXF1ZXMpIDsgNC4gZGFucwogIDxwIGNsYXNzPSJucHhkLWRlc2lnIj4gOiB0aXRyZSwgPGJyPiwgcHVpcyBhZmZpbGlhdGlvbiBkYW5zCiAgPHNwYW4gY2xhc3M9Im5weC1hZmYiPiA7IDUuIGZhaXJlIHRvdXJuZXIgbGVzIGRlbGFpcwogIC0tZC8tLWRyIDAvMCDihpIgNTAvMTAwIOKGkiAxMDAvMjAwIChjYXNjYWRlKS4gQWpvdXRlciBsYSBjbGFzc2UKICBucHhkLXBpIGEgbGEgY2FydGUgcG91ciBsYSB0cmFpdGVyIGVuIGNvb3JkaW5hdGV1ci4KCiAgQUpPVVRFUiBVTiBMSUVOIOKAlCB1bmUgaWNvbmUgYWJzZW50ZSBuJ2VzdCBQQVMgZGFucyBsZSBjb2RlLgogIExhIGNhcnRlIGRlIE1hcmMgUGVyYWNoZSBwb3J0ZSBsZXMgcXVhdHJlIDogeSBjb3BpZXIgbGEgYmFsaXNlCiAgPGEgY2xhc3M9Im5weGQtaWMiPiB2b3VsdWUsIGxhIGNvbGxlciBkYW5zIGxlCiAgPGRpdiBjbGFzcz0ibnB4ZC1zb2NpYWwiPiBkZSBsYSBjYXJ0ZSBhIGNvbXBsZXRlciwgcHVpcyBjaGFuZ2VyCiAgbGUgaHJlZiBldCBsJ2FyaWEtbGFiZWwuIFNpdGUsIExpbmtlZEluLCBHaXRIdWIgOiBocmVmPSJVUkwiCiAgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiLiBFLW1haWwgOiBocmVmPSJtYWlsdG864oCmIiBzYW5zCiAgdGFyZ2V0LiBPcmRyZSA6IHNpdGUgwrcgTGlua2VkSW4gwrcgbWFpbCDCtyBHaXRIdWIuIFBsdXNpZXVycwogIGljb25lcyBwYXIgY2FydGUgcydhbGlnbmVudCBzZXVsZXMuCgogIENBRFJBR0UgREVTIFBPUlRSQUlUUyDigJQgbGVzIHZpc3VlbHMgc29udCByZWNhZHJlcyBlbiBjZXJjbGUgcGFyCiAgb2JqZWN0LWZpdDogY292ZXIsIGNlbnRyZSBwYXIgZGVmYXV0LiBVbiBwb3J0cmFpdCB2ZXJ0aWNhbCBwZXV0CiAgZG9uYyBldHJlIGNvdXBlIHNpIGxlIHZpc2FnZSBuJ2VzdCBwYXMgYXUgY2VudHJlLiBQb3VyIGFqdXN0ZXIKICB1bmUgY2FydGUsIGFqb3V0ZXIgb2JqZWN0LXBvc2l0aW9uIHN1ciBzb24gaW1nLCBwYXIgZXhlbXBsZQogIHN0eWxlPSJvYmplY3QtcG9zaXRpb246dG9wIiAodmFsZXVycyB1dGlsZXMgOiB0b3AsIGNlbnRlciwgb3UKICB1biBwb3VyY2VudGFnZSBjb21tZSA1MCUgMzAlKS4KCiAgQ2hhcXVlIGljb25lIGVzdCBhdXRvbm9tZSA6IGxlIGJsb2MgbmUgY29udGllbnQgYXVjdW4KICBpZGVudGlmaWFudCB1bmlxdWUgZXQgc2UgZHVwbGlxdWUgdGVsIHF1ZWwgcG91ciBsYSB2ZXJzaW9uIEZSLgogIFBob3RvcyA6IG1lZGlhdGhlcXVlIGR1IHNpdGUuIFRleHRlcyBlbiBkdXIgOiBXUE1MLgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+CjxzdHlsZT4KLm5weGQtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtjb2x1bW4tZ2FwOjIwcHg7cm93LWdhcDoyOHB4O3dpZHRoOjEwMCU7YWxpZ24taXRlbXM6c3RyZXRjaH0KQG1lZGlhKG1pbi13aWR0aDo2MjBweCl7Lm5weGQtZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKX19CkBtZWRpYShtaW4td2lkdGg6MTAwMHB4KXsubnB4ZC1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpfX0KQG1lZGlhKG1pbi13aWR0aDo2MjBweCl7Lm5weGQtZ3JpZC1waXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKX19CkBtZWRpYShtaW4td2lkdGg6MTAwMHB4KXsubnB4ZC1ncmlkLXBpe2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpfX0KLm5weGQtbGF1bmNoe21hcmdpbjoyNnB4IDAgMzRweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTMuNXB4O2xpbmUtaGVpZ2h0OjEuNjtjb2xvcjojNUE2MDY4fQoubnB4ZC1jYXJke3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtib3JkZXItcmFkaXVzOjEycHg7dGV4dC1hbGlnbjpjZW50ZXI7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGVhc2UsYm94LXNoYWRvdyAuM3MgZWFzZSxib3JkZXItY29sb3IgLjNzIGVhc2V9Ci5ucHhkLXdhdmV7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7aGVpZ2h0OjUwJTtib3JkZXItcmFkaXVzOjEwMCUgMTAwJSAwIDA7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2Zvcm06c2NhbGVZKDApO3RyYW5zZm9ybS1vcmlnaW46Ym90dG9tO3RyYW5zaXRpb246dHJhbnNmb3JtIC41cyBlYXNlLW91dDt0cmFuc2l0aW9uLWRlbGF5OnZhcigtLWQsMG1zKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AscmdiYSgyMiwzNCwxMjIsLjEyKSx0cmFuc3BhcmVudCl9Ci5ucHhkLWNhcmQ6aG92ZXIgLm5weGQtd2F2ZSwubnB4ZC1jYXJkOmZvY3VzLXdpdGhpbiAubnB4ZC13YXZle3RyYW5zZm9ybTpzY2FsZVkoMSl9Ci5ucHhkLXJpbmd7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO3dpZHRoOjEwNHB4O2hlaWdodDoxMDRweDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czo5OTlweDtib3JkZXI6NHB4IHNvbGlkICNFRUYyRkE7YmFja2dyb3VuZDojRUVGMkZBO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC41cyBlYXNlLW91dCx0cmFuc2Zvcm0gLjVzIGVhc2Utb3V0O3RyYW5zaXRpb24tZGVsYXk6dmFyKC0tZHIsMG1zKX0KLm5weGQtY2FyZDpob3ZlciAubnB4ZC1yaW5nLC5ucHhkLWNhcmQ6Zm9jdXMtd2l0aGluIC5ucHhkLXJpbmd7dHJhbnNmb3JtOnNjYWxlKDEuMDUpO2JvcmRlci1jb2xvcjojRjA4MTNDfQoubnB4ZC1yaW5nIGltZ3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y292ZXI7ZGlzcGxheTpibG9jaztib3JkZXItcmFkaXVzOjk5OXB4O3RyYW5zaXRpb246dHJhbnNmb3JtIC41cyBlYXNlLW91dH0KLm5weGQtY2FyZDpob3ZlciAubnB4ZC1yaW5nIGltZywubnB4ZC1jYXJkOmZvY3VzLXdpdGhpbiAubnB4ZC1yaW5nIGltZ3t0cmFuc2Zvcm06c2NhbGUoMS4xKX0KLm5weGQtaW5pe2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MzBweDtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjA0ZW07Y29sb3I6IzE2MjI3QX0KLm5weGQtbmFtZXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luOjE0cHggMCAwO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMDJlbTtsaW5lLWhlaWdodDoxLjM7Y29sb3I6IzE2MjI3QX0KLm5weGQtcm9sZXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luOjZweCAwIDA7Zm9udC1zaXplOjEwLjVweDtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjEyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiM2RTc0N0V9Ci5ucHhkLXBpIC5ucHhkLXJvbGV7Y29sb3I6I0E4NTQwOH0KLm5weGQtZGVzaWd7bWFyZ2luOjA7Zm9udC1zaXplOjEyLjVweDtsaW5lLWhlaWdodDoxLjU1O2NvbG9yOiM1QTYwNjg7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAwJX0KLm5weGQtZGVzaWcgLm5weC1hZmZ7Y29sb3I6IzZFNzQ3RX0KLm5weC1hZmZ7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTEuNXB4O21hcmdpbi10b3A6MnB4fQoubnB4ZC1zb2NpYWx7ZGlzcGxheTpmbGV4O2dhcDoxMnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJX0KLm5weGQtc29jaWFsOmVtcHR5e2Rpc3BsYXk6bm9uZX0KLm5weGQtaWN7ZGlzcGxheTppbmxpbmUtZmxleDt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjojNkU3NDdFO3RyYW5zaXRpb246Y29sb3IgLjE4cyBlYXNlLHRyYW5zZm9ybSAuMThzIGVhc2V9Ci5ucHhkLWljOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpO2NvbG9yOiMxNjIyN0F9Ci5ucHhkLXN2Z3t3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2Rpc3BsYXk6YmxvY2s7ZmlsbDpub25lO3N0cm9rZTpjdXJyZW50Q29sb3I7c3Ryb2tlLXdpZHRoOjEuNztzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmR9Ci5ucHhkLWRlY297cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo5OTlweDtwb2ludGVyLWV2ZW50czpub25lO2JvdHRvbTotNDZweDtsZWZ0Oi00NnB4O3dpZHRoOjEwNHB4O2hlaWdodDoxMDRweDtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMTI3LDE2MywyMTYsLjQ1KX0KCi5ucHhkLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfQoubnB4ZC13cmFwOmhhcygubnB4ZC1jYXJkOmhvdmVyKSwubnB4ZC13cmFwOmhhcygubnB4ZC1jYXJkOmZvY3VzLXdpdGhpbil7ei1pbmRleDo5OTk5fQoubnB4ZC1zbG90e3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoyMzZweH0KLm5weGQtY2FyZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWluLWhlaWdodDoxMDAlO2JhY2tncm91bmQ6I0ZGRkZGRjtib3JkZXI6MXB4IHNvbGlkICNFMkU0RTk7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMCwwLDAsLjA1KTtwYWRkaW5nOjI2cHggMThweCAyNnB4O3otaW5kZXg6MX0KLm5weGQtY2FyZDpob3ZlciwubnB4ZC1jYXJkOmZvY3VzLXdpdGhpbnt6LWluZGV4OjEwO2JvcmRlci1jb2xvcjojMTYyMjdBO2JveC1zaGFkb3c6MCAxNHB4IDMwcHggcmdiYSgyMiwzNCwxMjIsLjE0KX0KLm5weGQtY2FyZDo6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjRweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjMTYyMjdBIDAlLCMxNjIyN0EgNTUlLCNGMDgxM0MgNTUlLCNGMDgxM0MgMTAwJSl9Ci5ucHhkLXBpOjpiZWZvcmV7YmFja2dyb3VuZDojRjA4MTNDfQoubnB4ZC1yZXZlYWx7ZGlzcGxheTpjb250ZW50c30KLm5weGQtZGVzaWd7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO21heC1oZWlnaHQ6MDtvcGFjaXR5OjA7cGFkZGluZy10b3A6MDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4zNXMgZWFzZSxvcGFjaXR5IC4yNXMgZWFzZSxwYWRkaW5nLXRvcCAuMzVzIGVhc2V9Ci5ucHhkLWNhcmQ6aG92ZXIgLm5weGQtZGVzaWcsLm5weGQtY2FyZDpmb2N1cy13aXRoaW4gLm5weGQtZGVzaWd7bWF4LWhlaWdodDoyMjBweDtvcGFjaXR5OjE7cGFkZGluZy10b3A6MTJweH0KLm5weGQtc29jaWFse3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjttYXgtaGVpZ2h0OjA7cGFkZGluZy10b3A6MDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4zNXMgZWFzZSxwYWRkaW5nLXRvcCAuMzVzIGVhc2V9Ci5ucHhkLWNhcmQ6aG92ZXIgLm5weGQtc29jaWFsLC5ucHhkLWNhcmQ6Zm9jdXMtd2l0aGluIC5ucHhkLXNvY2lhbHttYXgtaGVpZ2h0OjYwcHg7cGFkZGluZy10b3A6MTJweH0KCkBtZWRpYSAoaG92ZXI6bm9uZSl7CiAgLm5weGQtc2xvdHtoZWlnaHQ6YXV0b30KICAubnB4ZC1jYXJke3Bvc2l0aW9uOnJlbGF0aXZlfQogIC5ucHhkLWRlc2lne21heC1oZWlnaHQ6bm9uZTtvcGFjaXR5OjE7cGFkZGluZy10b3A6MTJweH0KICAubnB4ZC1zb2NpYWx7bWF4LWhlaWdodDpub25lO3BhZGRpbmctdG9wOjEycHh9Cn0KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7CiAgLm5weGQtY2FyZCwubnB4ZC13YXZlLC5ucHhkLXJpbmcsLm5weGQtcmluZyBpbWcsLm5weGQtZGVzaWcsLm5weGQtc29jaWFsLC5ucHhkLWlje3RyYW5zaXRpb246bm9uZX0KfQo8L3N0eWxlPgo8ZGl2IGNsYXNzPSJucHhkLXdyYXAiIHN0eWxlPSJ3aWR0aDoxMDAlO2ZvbnQtZmFtaWx5OidQb3BwaW5zJyxzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSwnU2Vnb2UgVUknLHNhbnMtc2VyaWYiPgo8ZGl2IGNsYXNzPSJucHhkLWdyaWQgbnB4ZC1ncmlkLXBpIj4KICA8ZGl2IGNsYXNzPSJucHhkLXNsb3QiPjxkaXYgY2xhc3M9Im5weGQtY2FyZCBucHhkLXBpIiBzdHlsZT0iLS1kOjBtczstLWRyOjBtcyI+CiAgICA8c3BhbiBjbGFzcz0ibnB4ZC13YXZlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJucHhkLWRlY28iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+CiAgICA8ZGl2IGNsYXNzPSJucHhkLXJpbmcgbnB4ZC1pbmkiPjxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj5USDwvc3Bhbj48L2Rpdj4KICAgIDxoMyBjbGFzcz0ibnB4ZC1uYW1lIj5UaG9tYXMgSMOpcmF1bHQ8L2gzPgogICAgPHAgY2xhc3M9Im5weGQtcm9sZSI+Q29vcmRpbmF0ZXVyIGRlIHByb2pldDwvcD4KICAgIDxkaXYgY2xhc3M9Im5weGQtcmV2ZWFsIj48cCBjbGFzcz0ibnB4ZC1kZXNpZyI+Q2hlcmNoZXVyIHNlbmlvciwgSW5yaWE8YnIvPjxzcGFuIGNsYXNzPSJucHgtYWZmIj5DZW50cmUgSW5yaWEgZGUgbCdVbml2ZXJzaXTDqSBkZSBCb3JkZWF1eCDigJQgw4lxdWlwZSBkdSBwcm9qZXQgVE9QQUwsIExhQlJJLCBUYWxlbmNlPC9zcGFuPjwvcD48ZGl2IGNsYXNzPSJucHhkLXNvY2lhbCI+PGEgY2xhc3M9Im5weGQtaWMiIGhyZWY9Im1haWx0bzp0aG9tYXMuaGVyYXVsdEBpbnJpYS5mciIgYXJpYS1sYWJlbD0iRS1tYWlsIj48c3ZnIGNsYXNzPSJucHhkLXN2ZyIgdmlld2JveD0iMCAwIDI0IDI0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3QgeD0iMyIgeT0iNSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE0IiByeD0iMiI+PC9yZWN0PjxwYXRoIGQ9Im0zIDcgOSA2IDktNiI+PC9wYXRoPjwvc3ZnPjwvYT48L2Rpdj48L2Rpdj4KICA8L2Rpdj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJucHhkLXNsb3QiPjxkaXYgY2xhc3M9Im5weGQtY2FyZCBucHhkLXBpIiBzdHlsZT0iLS1kOjUwbXM7LS1kcjoxMDBtcyI+CiAgICA8c3BhbiBjbGFzcz0ibnB4ZC13YXZlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJucHhkLWRlY28iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+CiAgICA8ZGl2IGNsYXNzPSJucHhkLXJpbmciPjxpbWcgc3JjPSJodHRwczovL251bXBleC5vcmcvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzYvMjAyNi8wOC9sb3Jpcy1tYXJjaGFsLXByb2ZpbC5qcGciIGFsdD0iIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj4KICAgIDxoMyBjbGFzcz0ibnB4ZC1uYW1lIj5Mb3JpcyBNYXJjaGFsPC9oMz4KICAgIDxwIGNsYXNzPSJucHhkLXJvbGUiPkNvb3JkaW5hdGV1ciBkZSBwcm9qZXQ8L3A+CiAgICA8ZGl2IGNsYXNzPSJucHhkLXJldmVhbCI+PHAgY2xhc3M9Im5weGQtZGVzaWciPkNoZXJjaGV1ciBzZW5pb3IsIENOUlM8YnIvPjxzcGFuIGNsYXNzPSJucHgtYWZmIj5MSVAgKFVNUiA1NjY4KSDigJQgw4lxdWlwZSBkdSBwcm9qZXQgUk9NQSwgRU5TIGRlIEx5b248L3NwYW4+PC9wPjxkaXYgY2xhc3M9Im5weGQtc29jaWFsIj48YSBjbGFzcz0ibnB4ZC1pYyIgaHJlZj0iaHR0cHM6Ly9wZXJzby5lbnMtbHlvbi5mci9sb3Jpcy5tYXJjaGFsLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGFyaWEtbGFiZWw9IlBlcnNvbmFsIHdlYnNpdGUiPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI5Ij48L2NpcmNsZT48cGF0aCBkPSJNMy42IDloMTYuOE0zLjYgMTVoMTYuOCI+PC9wYXRoPjxwYXRoIGQ9Ik0xMiAzYTE1IDE1IDAgMCAxIDAgMThhMTUgMTUgMCAwIDEgMC0xOCI+PC9wYXRoPjwvc3ZnPjwvYT48YSBjbGFzcz0ibnB4ZC1pYyIgaHJlZj0iaHR0cHM6Ly9mci5saW5rZWRpbi5jb20vaW4vbG9yaXMtbWFyY2hhbC0wMmI2Mjc0IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgYXJpYS1sYWJlbD0iTGlua2VkSW4iPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIyIj48L3JlY3Q+PHBhdGggZD0iTTggMTF2NSI+PC9wYXRoPjxwYXRoIGQ9Ik04IDh2LjAxIj48L3BhdGg+PHBhdGggZD0iTTEyIDE2di01Ij48L3BhdGg+PHBhdGggZD0iTTE2IDE2di0zYTIgMiAwIDAgMC00IDAiPjwvcGF0aD48L3N2Zz48L2E+PGEgY2xhc3M9Im5weGQtaWMiIGhyZWY9Im1haWx0bzpsb3Jpcy5tYXJjaGFsQGVucy1seW9uLmZyIiBhcmlhLWxhYmVsPSJFLW1haWwiPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iMTgiIGhlaWdodD0iMTQiIHJ4PSIyIj48L3JlY3Q+PHBhdGggZD0ibTMgNyA5IDYgOS02Ij48L3BhdGg+PC9zdmc+PC9hPjwvZGl2PjwvZGl2PgogIDwvZGl2PjwvZGl2Pgo8L2Rpdj4KPHAgY2xhc3M9Im5weGQtbGF1bmNoIj5DZSBwcm9qZXQgYSDDqXTDqSBsYW5jw6kgc291cyBsYSBjb29yZGluYXRpb24gZGUgUmF5bW9uZCBOYW15c3QgKFVuaXZlcnNpdMOpIGRlIEJvcmRlYXV4KSBldCBkJ0FsZnJlZG8gQnV0dGFyaSAoQ05SUykuPC9wPgo8ZGl2IGNsYXNzPSJucHhkLWdyaWQiPgogIDxkaXYgY2xhc3M9Im5weGQtc2xvdCI+PGRpdiBjbGFzcz0ibnB4ZC1jYXJkIiBzdHlsZT0iLS1kOjBtczstLWRyOjBtcyI+CiAgICA8c3BhbiBjbGFzcz0ibnB4ZC13YXZlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJucHhkLWRlY28iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+CiAgICA8ZGl2IGNsYXNzPSJucHhkLXJpbmciPjxpbWcgc3JjPSJodHRwczovL251bXBleC5vcmcvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzYvMjAyMy8wOC9QZXJhY2hlLU1hcmMtY2FycmUuanBnIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICA8aDMgY2xhc3M9Im5weGQtbmFtZSI+TWFyYyBQw6lyYWNoZTwvaDM+CiAgICA8cCBjbGFzcz0ibnB4ZC1yb2xlIj5Dby1yZXNwb25zYWJsZSBkdSBXUDE8L3A+CiAgICA8ZGl2IGNsYXNzPSJucHhkLXJldmVhbCI+PHAgY2xhc3M9Im5weGQtZGVzaWciPjxici8+PHNwYW4gY2xhc3M9Im5weC1hZmYiPiw8L3NwYW4+IGRpcmVjdHJpY2UgZGUgcmVjaGVyY2hlIGF1IENFQSBldCBjaGVyY2hldXNlPHNwYW4gY2xhc3M9Im5weC1hZmYiPmF1IENFQSDigJQgTGlIUEMgOyBDRUEgREFNIMOObGUtZGUtRnJhbmNlLCBCcnV5w6hyZXMtbGUtQ2jDonRlbDwvc3Bhbj48L3A+PGRpdiBjbGFzcz0ibnB4ZC1zb2NpYWwiPjxhIGNsYXNzPSJucHhkLWljIiBocmVmPSJodHRwczovL3d3dy1saWhwYy5jZWEuZnIvZW4vdGVhbS9wZXJtYW5lbnRzL3BlcmFjaGUuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGFyaWEtbGFiZWw9IlBlcnNvbmFsIHdlYnNpdGUiPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI5Ij48L2NpcmNsZT48cGF0aCBkPSJNMy42IDloMTYuOE0zLjYgMTVoMTYuOCI+PC9wYXRoPjxwYXRoIGQ9Ik0xMiAzYTE1IDE1IDAgMCAxIDAgMThhMTUgMTUgMCAwIDEgMC0xOCI+PC9wYXRoPjwvc3ZnPjwvYT48YSBjbGFzcz0ibnB4ZC1pYyIgaHJlZj0iaHR0cHM6Ly9mci5saW5rZWRpbi5jb20vaW4vcGVyYWNoZS1tYXJjLTc4YWI0MTg5IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgYXJpYS1sYWJlbD0iTGlua2VkSW4iPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIyIj48L3JlY3Q+PHBhdGggZD0iTTggMTF2NSI+PC9wYXRoPjxwYXRoIGQ9Ik04IDh2LjAxIj48L3BhdGg+PHBhdGggZD0iTTEyIDE2di01Ij48L3BhdGg+PHBhdGggZD0iTTE2IDE2di0zYTIgMiAwIDAgMC00IDAiPjwvcGF0aD48L3N2Zz48L2E+PGEgY2xhc3M9Im5weGQtaWMiIGhyZWY9Im1haWx0bzptYXJjLnBlcmFjaGVAY2VhLmZyIiBhcmlhLWxhYmVsPSJFLW1haWwiPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iMTgiIGhlaWdodD0iMTQiIHJ4PSIyIj48L3JlY3Q+PHBhdGggZD0ibTMgNyA5IDYgOS02Ij48L3BhdGg+PC9zdmc+PC9hPjxhIGNsYXNzPSJucHhkLWljIiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vcGVyYWNoZSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGFyaWEtbGFiZWw9IkdpdEh1YiI+PHN2ZyBjbGFzcz0ibnB4ZC1zdmciIHZpZXdib3g9IjAgMCAyNCAyNCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik05IDE5Yy00LjMgMS40LTQuMy0yLjUtNi0zbTEyIDV2LTMuNWMwLTEgLjEtMS40LS41LTIgMi44LS4zIDUuNS0xLjQgNS41LTZhNC42IDQuNiAwIDAgMC0xLjMtMy4yIDQuMiA0LjIgMCAwIDAtLjEtMy4ycy0xLjEtLjMtMy41IDEuM2ExMi4zIDEyLjMgMCAwIDAtNi4yIDBDNi41IDIuOCA1LjQgMy4xIDUuNCAzLjFhNC4yIDQuMiAwIDAgMC0uMSAzLjJBNC42IDQuNiAwIDAgMCA0IDkuNWMwIDQuNiAyLjcgNS43IDUuNSA2LS42LjYtLjYgMS4yLS41IDJWMjEiPjwvcGF0aD48L3N2Zz48L2E+PC9kaXY+PC9kaXY+CiAgPC9kaXY+PC9kaXY+CiAgPGRpdiBjbGFzcz0ibnB4ZC1zbG90Ij48ZGl2IGNsYXNzPSJucHhkLWNhcmQiIHN0eWxlPSItLWQ6NTBtczstLWRyOjEwMG1zIj4KICAgIDxzcGFuIGNsYXNzPSJucHhkLXdhdmUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PHNwYW4gY2xhc3M9Im5weGQtZGVjbyIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj4KICAgIDxkaXYgY2xhc3M9Im5weGQtcmluZyBucHhkLWluaSI+PHNwYW4gYXJpYS1oaWRkZW49InRydWUiPkNQPC9zcGFuPjwvZGl2PgogICAgPGgzIGNsYXNzPSJucHhkLW5hbWUiPkNocmlzdGlhbiBQZXJlejwvaDM+CiAgICA8cCBjbGFzcz0ibnB4ZC1yb2xlIj5Dby1yZXNwb25zYWJsZSBkdSBXUDE8L3A+CiAgICA8ZGl2IGNsYXNzPSJucHhkLXJldmVhbCI+PHAgY2xhc3M9Im5weGQtZGVzaWciPkNoZXJjaGV1ciBzZW5pb3Igw6AgbCdJbnJpYSDigJQgUmVzcG9uc2FibGUgZGUgbCfDqXF1aXBlIGRlIHByb2pldCBBdmFsb248YnIvPjxzcGFuIGNsYXNzPSJucHgtYWZmIj5JbnJpYSDigJQgTElQIChVTVIgNTY2OCksIMOpcXVpcGUgZGUgcHJvamV0IEF2YWxvbiwgTHlvbjwvc3Bhbj48L3A+PGRpdiBjbGFzcz0ibnB4ZC1zb2NpYWwiPjxhIGNsYXNzPSJucHhkLWljIiBocmVmPSJodHRwczovL2F2YWxvbi5lbnMtbHlvbi5mci9+Y3BlcmV6L3dlYi8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBhcmlhLWxhYmVsPSJQZXJzb25hbCB3ZWJzaXRlIj48c3ZnIGNsYXNzPSJucHhkLXN2ZyIgdmlld2JveD0iMCAwIDI0IDI0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iOSI+PC9jaXJjbGU+PHBhdGggZD0iTTMuNiA5aDE2LjhNMy42IDE1aDE2LjgiPjwvcGF0aD48cGF0aCBkPSJNMTIgM2ExNSAxNSAwIDAgMSAwIDE4YTE1IDE1IDAgMCAxIDAtMTgiPjwvcGF0aD48L3N2Zz48L2E+PGEgY2xhc3M9Im5weGQtaWMiIGhyZWY9Im1haWx0bzpDaHJpc3RpYW4uUGVyZXpAaW5yaWEuZnIiIGFyaWEtbGFiZWw9IkUtbWFpbCI+PHN2ZyBjbGFzcz0ibnB4ZC1zdmciIHZpZXdib3g9IjAgMCAyNCAyNCIgYXJpYS1oaWRkZW49InRydWUiPjxyZWN0IHg9IjMiIHk9IjUiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNCIgcng9IjIiPjwvcmVjdD48cGF0aCBkPSJtMyA3IDkgNiA5LTYiPjwvcGF0aD48L3N2Zz48L2E+PC9kaXY+PC9kaXY+CiAgPC9kaXY+PC9kaXY+CiAgPGRpdiBjbGFzcz0ibnB4ZC1zbG90Ij48ZGl2IGNsYXNzPSJucHhkLWNhcmQiIHN0eWxlPSItLWQ6MTAwbXM7LS1kcjoyMDBtcyI+CiAgICA8c3BhbiBjbGFzcz0ibnB4ZC13YXZlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJucHhkLWRlY28iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+CiAgICA8ZGl2IGNsYXNzPSJucHhkLXJpbmciPjxpbWcgc3JjPSJodHRwczovL251bXBleC5vcmcvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzYvMjAyMy8wNy9DbGF1c3MtUGhpbGlwcGUtdWFpLTQ0Mng0NDIuanBnIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICA8aDMgY2xhc3M9Im5weGQtbmFtZSI+UGhpbGlwcGUgQ2xhdXNzPC9oMz4KICAgIDxwIGNsYXNzPSJucHhkLXJvbGUiPkNvLXJlc3BvbnNhYmxlIGR1IFdQMjwvcD4KICAgIDxkaXYgY2xhc3M9Im5weGQtcmV2ZWFsIj48cCBjbGFzcz0ibnB4ZC1kZXNpZyI+UHJvZmVzc2V1ciDigJQgUmVzcG9uc2FibGUgZGUgbCfDqXF1aXBlIGR1IHByb2pldCBDQU1VUzxici8+PHNwYW4gY2xhc3M9Im5weC1hZmYiPlVuaXZlcnNpdMOpIGRlIFN0cmFzYm91cmcg4oCUIElDdWJlIChVTVIgNzM1NyksIMOpcXVpcGUgSUNQUyA7IMOpcXVpcGUgZHUgcHJvamV0IENBTVVTIGRlIGwnSW5yaWE8L3NwYW4+PC9wPjxkaXYgY2xhc3M9Im5weGQtc29jaWFsIj48YSBjbGFzcz0ibnB4ZC1pYyIgaHJlZj0iaHR0cHM6Ly9pY3BzLmljdWJlLnVuaXN0cmEuZnIvaW5kZXgucGhwL1BoaWxpcHBlX0NsYXVzcyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGFyaWEtbGFiZWw9IlBlcnNvbmFsIHdlYnNpdGUiPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI5Ij48L2NpcmNsZT48cGF0aCBkPSJNMy42IDloMTYuOE0zLjYgMTVoMTYuOCI+PC9wYXRoPjxwYXRoIGQ9Ik0xMiAzYTE1IDE1IDAgMCAxIDAgMThhMTUgMTUgMCAwIDEgMC0xOCI+PC9wYXRoPjwvc3ZnPjwvYT48YSBjbGFzcz0ibnB4ZC1pYyIgaHJlZj0iaHR0cHM6Ly9mci5saW5rZWRpbi5jb20vaW4vcGhpbGlwcGUtY2xhdXNzLTdiOTJiNDU5IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgYXJpYS1sYWJlbD0iTGlua2VkSW4iPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIyIj48L3JlY3Q+PHBhdGggZD0iTTggMTF2NSI+PC9wYXRoPjxwYXRoIGQ9Ik04IDh2LjAxIj48L3BhdGg+PHBhdGggZD0iTTEyIDE2di01Ij48L3BhdGg+PHBhdGggZD0iTTE2IDE2di0zYTIgMiAwIDAgMC00IDAiPjwvcGF0aD48L3N2Zz48L2E+PGEgY2xhc3M9Im5weGQtaWMiIGhyZWY9Im1haWx0bzpjbGF1c3NAdW5pc3RyYS5mciIgYXJpYS1sYWJlbD0iRS1tYWlsIj48c3ZnIGNsYXNzPSJucHhkLXN2ZyIgdmlld2JveD0iMCAwIDI0IDI0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3QgeD0iMyIgeT0iNSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE0IiByeD0iMiI+PC9yZWN0PjxwYXRoIGQ9Im0zIDcgOSA2IDktNiI+PC9wYXRoPjwvc3ZnPjwvYT48L2Rpdj48L2Rpdj4KICA8L2Rpdj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJucHhkLXNsb3QiPjxkaXYgY2xhc3M9Im5weGQtY2FyZCIgc3R5bGU9Ii0tZDowbXM7LS1kcjowbXMiPgogICAgPHNwYW4gY2xhc3M9Im5weGQtd2F2ZSIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibnB4ZC1kZWNvIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgPGRpdiBjbGFzcz0ibnB4ZC1yaW5nIG5weGQtaW5pIj48c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+VEc8L3NwYW4+PC9kaXY+CiAgICA8aDMgY2xhc3M9Im5weGQtbmFtZSI+VGhpZXJyeSBHYXV0aWVyPC9oMz4KICAgIDxwIGNsYXNzPSJucHhkLXJvbGUiPkNvLXJlc3BvbnNhYmxlIGR1IFdQMjwvcD4KICAgIDxkaXYgY2xhc3M9Im5weGQtcmV2ZWFsIj48cCBjbGFzcz0ibnB4ZC1kZXNpZyI+Q2hlcmNoZXVyIMOgIGwnSW5yaWE8YnIvPjxzcGFuIGNsYXNzPSJucHgtYWZmIj5DZW50cmUgSW5yaWEgZGUgTHlvbiDigJQgTElQIChVTVIgNTY2OCksIMOpcXVpcGUgZHUgcHJvamV0IEF2YWxvbjwvc3Bhbj48L3A+PGRpdiBjbGFzcz0ibnB4ZC1zb2NpYWwiPjxhIGNsYXNzPSJucHhkLWljIiBocmVmPSJtYWlsdG86dGhpZXJyeS5nYXV0aWVyQGVucy1seW9uLmZyIiBhcmlhLWxhYmVsPSJFLW1haWwiPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iMTgiIGhlaWdodD0iMTQiIHJ4PSIyIj48L3JlY3Q+PHBhdGggZD0ibTMgNyA5IDYgOS02Ij48L3BhdGg+PC9zdmc+PC9hPjwvZGl2PjwvZGl2PgogIDwvZGl2PjwvZGl2PgogIDxkaXYgY2xhc3M9Im5weGQtc2xvdCI+PGRpdiBjbGFzcz0ibnB4ZC1jYXJkIiBzdHlsZT0iLS1kOjUwbXM7LS1kcjoxMDBtcyI+CiAgICA8c3BhbiBjbGFzcz0ibnB4ZC13YXZlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJucHhkLWRlY28iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+CiAgICA8ZGl2IGNsYXNzPSJucHhkLXJpbmciPjxpbWcgc3JjPSJodHRwczovL251bXBleC5vcmcvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzYvMjAyMy8wNy9USElCQVVMVC1TYW11ZWwtdWFpLTExNHgxMTQuanBnIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICA8aDMgY2xhc3M9Im5weGQtbmFtZSI+U2FtdWVsIFRoaWJhdWx0PC9oMz4KICAgIDxwIGNsYXNzPSJucHhkLXJvbGUiPlJlc3BvbnNhYmxlIGR1IFdQMzwvcD4KICAgIDxkaXYgY2xhc3M9Im5weGQtcmV2ZWFsIj48cCBjbGFzcz0ibnB4ZC1kZXNpZyI+PGJyLz48c3BhbiBjbGFzcz0ibnB4LWFmZiI+LDwvc3Bhbj4gcHJvZmVzc2V1ciDDoDxzcGFuIGNsYXNzPSJucHgtYWZmIj5sJ1VuaXZlcnNpdMOpIGRlIEJvcmRlYXV4IOKAlCBMYUJSSSAoVU1SIDU4MDApLCBTQVRBTkFTIDsgw6lxdWlwZSBkdSBwcm9qZXQgU1RPUk0gZGUgbCdJbnJpYSwgVGFsZW5jZTwvc3Bhbj48L3A+PGRpdiBjbGFzcz0ibnB4ZC1zb2NpYWwiPjxhIGNsYXNzPSJucHhkLWljIiBocmVmPSJodHRwczovL2RlcHQtaW5mby5sYWJyaS5mci9+dGhpYmF1bHQvIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgYXJpYS1sYWJlbD0iUGVyc29uYWwgd2Vic2l0ZSI+PHN2ZyBjbGFzcz0ibnB4ZC1zdmciIHZpZXdib3g9IjAgMCAyNCAyNCIgYXJpYS1oaWRkZW49InRydWUiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPjxwYXRoIGQ9Ik0zLjYgOWgxNi44TTMuNiAxNWgxNi44Ij48L3BhdGg+PHBhdGggZD0iTTEyIDNhMTUgMTUgMCAwIDEgMCAxOGExNSAxNSAwIDAgMSAwLTE4Ij48L3BhdGg+PC9zdmc+PC9hPjxhIGNsYXNzPSJucHhkLWljIiBocmVmPSJodHRwczovL2ZyLmxpbmtlZGluLmNvbS9pbi9zYW11ZWwtdGhpYmF1bHQtMmE5ODk4NSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGFyaWEtbGFiZWw9IkxpbmtlZEluIj48c3ZnIGNsYXNzPSJucHhkLXN2ZyIgdmlld2JveD0iMCAwIDI0IDI0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iMiI+PC9yZWN0PjxwYXRoIGQ9Ik04IDExdjUiPjwvcGF0aD48cGF0aCBkPSJNOCA4di4wMSI+PC9wYXRoPjxwYXRoIGQ9Ik0xMiAxNnYtNSI+PC9wYXRoPjxwYXRoIGQ9Ik0xNiAxNnYtM2EyIDIgMCAwIDAtNCAwIj48L3BhdGg+PC9zdmc+PC9hPjxhIGNsYXNzPSJucHhkLWljIiBocmVmPSJtYWlsdG86c2FtdWVsLnRoaWJhdWx0QGxhYnJpLmZyIiBhcmlhLWxhYmVsPSJFLW1haWwiPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iMTgiIGhlaWdodD0iMTQiIHJ4PSIyIj48L3JlY3Q+PHBhdGggZD0ibTMgNyA5IDYgOS02Ij48L3BhdGg+PC9zdmc+PC9hPjxhIGNsYXNzPSJucHhkLWljIiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc3RoaWJhdWwiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBhcmlhLWxhYmVsPSJHaXRIdWIiPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNOSAxOWMtNC4zIDEuNC00LjMtMi41LTYtM20xMiA1di0zLjVjMC0xIC4xLTEuNC0uNS0yIDIuOC0uMyA1LjUtMS40IDUuNS02YTQuNiA0LjYgMCAwIDAtMS4zLTMuMiA0LjIgNC4yIDAgMCAwLS4xLTMuMnMtMS4xLS4zLTMuNSAxLjNhMTIuMyAxMi4zIDAgMCAwLTYuMiAwQzYuNSAyLjggNS40IDMuMSA1LjQgMy4xYTQuMiA0LjIgMCAwIDAtLjEgMy4yQTQuNiA0LjYgMCAwIDAgNCA5LjVjMCA0LjYgMi43IDUuNyA1LjUgNi0uNi42LS42IDEuMi0uNSAyVjIxIj48L3BhdGg+PC9zdmc+PC9hPjwvZGl2PjwvZGl2PgogIDwvZGl2PjwvZGl2PgogIDxkaXYgY2xhc3M9Im5weGQtc2xvdCI+PGRpdiBjbGFzcz0ibnB4ZC1jYXJkIiBzdHlsZT0iLS1kOjEwMG1zOy0tZHI6MjAwbXMiPgogICAgPHNwYW4gY2xhc3M9Im5weGQtd2F2ZSIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibnB4ZC1kZWNvIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgPGRpdiBjbGFzcz0ibnB4ZC1yaW5nIj48aW1nIHNyYz0iaHR0cHM6Ly9udW1wZXgub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy9zaXRlcy82LzIwMjMvMDcvQkFCT1VMSU4tTWFyYy11YWktMTIzeDEyMy5qcGciIGFsdD0iIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj4KICAgIDxoMyBjbGFzcz0ibnB4ZC1uYW1lIj5NYXJjIEJhYm91bGluPC9oMz4KICAgIDxwIGNsYXNzPSJucHhkLXJvbGUiPkNvLXJlc3BvbnNhYmxlIGR1IFdQNDwvcD4KICAgIDxkaXYgY2xhc3M9Im5weGQtcmV2ZWFsIj48cCBjbGFzcz0ibnB4ZC1kZXNpZyI+PGJyLz48c3BhbiBjbGFzcz0ibnB4LWFmZiI+LDwvc3Bhbj4gcHJvZmVzc2V1ciDDoDxzcGFuIGNsYXNzPSJucHgtYWZmIj5sJ1VuaXZlcnNpdMOpIFBhcmlzLVNhY2xheSDigJQgTE1GIChVTVIgOTAyMSksIMOpcXVpcGUgZGUgcHJvamV0IFF1YUNTIGRlIGwnSW5yaWEsIEdpZi1zdXItWXZldHRlPC9zcGFuPjwvcD48ZGl2IGNsYXNzPSJucHhkLXNvY2lhbCI+PGEgY2xhc3M9Im5weGQtaWMiIGhyZWY9Imh0dHBzOi8vbWFyY2JhYi5naXRodWIuaW8vIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgYXJpYS1sYWJlbD0iUGVyc29uYWwgd2Vic2l0ZSI+PHN2ZyBjbGFzcz0ibnB4ZC1zdmciIHZpZXdib3g9IjAgMCAyNCAyNCIgYXJpYS1oaWRkZW49InRydWUiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPjxwYXRoIGQ9Ik0zLjYgOWgxNi44TTMuNiAxNWgxNi44Ij48L3BhdGg+PHBhdGggZD0iTTEyIDNhMTUgMTUgMCAwIDEgMCAxOGExNSAxNSAwIDAgMSAwLTE4Ij48L3BhdGg+PC9zdmc+PC9hPjxhIGNsYXNzPSJucHhkLWljIiBocmVmPSJodHRwczovL2ZyLmxpbmtlZGluLmNvbS9pbi9tYXJjLWJhYm91bGluIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgYXJpYS1sYWJlbD0iTGlua2VkSW4iPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIyIj48L3JlY3Q+PHBhdGggZD0iTTggMTF2NSI+PC9wYXRoPjxwYXRoIGQ9Ik04IDh2LjAxIj48L3BhdGg+PHBhdGggZD0iTTEyIDE2di01Ij48L3BhdGg+PHBhdGggZD0iTTE2IDE2di0zYTIgMiAwIDAgMC00IDAiPjwvcGF0aD48L3N2Zz48L2E+PGEgY2xhc3M9Im5weGQtaWMiIGhyZWY9Im1haWx0bzptYXJjLmJhYm91bGluQGxtZi5jbnJzLmZyIiBhcmlhLWxhYmVsPSJFLW1haWwiPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iMTgiIGhlaWdodD0iMTQiIHJ4PSIyIj48L3JlY3Q+PHBhdGggZD0ibTMgNyA5IDYgOS02Ij48L3BhdGg+PC9zdmc+PC9hPjxhIGNsYXNzPSJucHhkLWljIiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vbWFyY2JhYiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGFyaWEtbGFiZWw9IkdpdEh1YiI+PHN2ZyBjbGFzcz0ibnB4ZC1zdmciIHZpZXdib3g9IjAgMCAyNCAyNCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik05IDE5Yy00LjMgMS40LTQuMy0yLjUtNi0zbTEyIDV2LTMuNWMwLTEgLjEtMS40LS41LTIgMi44LS4zIDUuNS0xLjQgNS41LTZhNC42IDQuNiAwIDAgMC0xLjMtMy4yIDQuMiA0LjIgMCAwIDAtLjEtMy4ycy0xLjEtLjMtMy41IDEuM2ExMi4zIDEyLjMgMCAwIDAtNi4yIDBDNi41IDIuOCA1LjQgMy4xIDUuNCAzLjFhNC4yIDQuMiAwIDAgMC0uMSAzLjJBNC42IDQuNiAwIDAgMCA0IDkuNWMwIDQuNiAyLjcgNS43IDUuNSA2LS42LjYtLjYgMS4yLS41IDJWMjEiPjwvcGF0aD48L3N2Zz48L2E+PC9kaXY+PC9kaXY+CiAgPC9kaXY+PC9kaXY+CiAgPGRpdiBjbGFzcz0ibnB4ZC1zbG90Ij48ZGl2IGNsYXNzPSJucHhkLWNhcmQiIHN0eWxlPSItLWQ6MG1zOy0tZHI6MG1zIj4KICAgIDxzcGFuIGNsYXNzPSJucHhkLXdhdmUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PHNwYW4gY2xhc3M9Im5weGQtZGVjbyIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj4KICAgIDxkaXYgY2xhc3M9Im5weGQtcmluZyI+PGltZyBzcmM9Imh0dHBzOi8vbnVtcGV4Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvNi8yMDIzLzA4L0dVRVJNT1VDSEUtQWJkb3VfY2FycmUuanBnIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICA8aDMgY2xhc3M9Im5weGQtbmFtZSI+QWJkb3UgR3Vlcm1vdWNoZTwvaDM+CiAgICA8cCBjbGFzcz0ibnB4ZC1yb2xlIj5Dby1yZXNwb25zYWJsZSBkdSBXUDQ8L3A+CiAgICA8ZGl2IGNsYXNzPSJucHhkLXJldmVhbCI+PHAgY2xhc3M9Im5weGQtZGVzaWciPjxici8+PHNwYW4gY2xhc3M9Im5weC1hZmYiPiw8L3NwYW4+IG1hw650cmUgZGUgY29uZsOpcmVuY2VzIMOgPHNwYW4gY2xhc3M9Im5weC1hZmYiPmwnVW5pdmVyc2l0w6kgZGUgQm9yZGVhdXgg4oCUIExhQlJJIChVTVIgNTgwMCksIMOpcXVpcGUgVE9QQUwsIFRhbGVuY2U8L3NwYW4+PC9wPjxkaXYgY2xhc3M9Im5weGQtc29jaWFsIj48YSBjbGFzcz0ibnB4ZC1pYyIgaHJlZj0iaHR0cHM6Ly93d3cubGFicmkuZnIvcGVyc28vZ3Vlcm1vdWMvIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgYXJpYS1sYWJlbD0iUGVyc29uYWwgd2Vic2l0ZSI+PHN2ZyBjbGFzcz0ibnB4ZC1zdmciIHZpZXdib3g9IjAgMCAyNCAyNCIgYXJpYS1oaWRkZW49InRydWUiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjkiPjwvY2lyY2xlPjxwYXRoIGQ9Ik0zLjYgOWgxNi44TTMuNiAxNWgxNi44Ij48L3BhdGg+PHBhdGggZD0iTTEyIDNhMTUgMTUgMCAwIDEgMCAxOGExNSAxNSAwIDAgMSAwLTE4Ij48L3BhdGg+PC9zdmc+PC9hPjxhIGNsYXNzPSJucHhkLWljIiBocmVmPSJodHRwczovL2ZyLmxpbmtlZGluLmNvbS9pbi9hYmRvdS1ndWVybW91Y2hlLTMzNzUzYjE1YiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGFyaWEtbGFiZWw9IkxpbmtlZEluIj48c3ZnIGNsYXNzPSJucHhkLXN2ZyIgdmlld2JveD0iMCAwIDI0IDI0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iMiI+PC9yZWN0PjxwYXRoIGQ9Ik04IDExdjUiPjwvcGF0aD48cGF0aCBkPSJNOCA4di4wMSI+PC9wYXRoPjxwYXRoIGQ9Ik0xMiAxNnYtNSI+PC9wYXRoPjxwYXRoIGQ9Ik0xNiAxNnYtM2EyIDIgMCAwIDAtNCAwIj48L3BhdGg+PC9zdmc+PC9hPjxhIGNsYXNzPSJucHhkLWljIiBocmVmPSJtYWlsdG86QWJkb3UuR3Vlcm1vdWNoZUBsYWJyaS5mciIgYXJpYS1sYWJlbD0iRS1tYWlsIj48c3ZnIGNsYXNzPSJucHhkLXN2ZyIgdmlld2JveD0iMCAwIDI0IDI0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3QgeD0iMyIgeT0iNSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE0IiByeD0iMiI+PC9yZWN0PjxwYXRoIGQ9Im0zIDcgOSA2IDktNiI+PC9wYXRoPjwvc3ZnPjwvYT48L2Rpdj48L2Rpdj4KICA8L2Rpdj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJucHhkLXNsb3QiPjxkaXYgY2xhc3M9Im5weGQtY2FyZCIgc3R5bGU9Ii0tZDo1MG1zOy0tZHI6MTAwbXMiPgogICAgPHNwYW4gY2xhc3M9Im5weGQtd2F2ZSIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibnB4ZC1kZWNvIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgPGRpdiBjbGFzcz0ibnB4ZC1yaW5nIj48aW1nIHNyYz0iaHR0cHM6Ly9udW1wZXgub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy9zaXRlcy82LzIwMjMvMDgvVHJhaGF5LUZyYW5jb2lzX2NhcnJlLmpwZyIgYWx0PSIiIGxvYWRpbmc9ImxhenkiPjwvZGl2PgogICAgPGgzIGNsYXNzPSJucHhkLW5hbWUiPkZyYW7Dp29pcyBUcmFoYXk8L2gzPgogICAgPHAgY2xhc3M9Im5weGQtcm9sZSI+UmVzcG9uc2FibGUgZHUgV1A1PC9wPgogICAgPGRpdiBjbGFzcz0ibnB4ZC1yZXZlYWwiPjxwIGNsYXNzPSJucHhkLWRlc2lnIj48YnIvPjxzcGFuIGNsYXNzPSJucHgtYWZmIj4sPC9zcGFuPiBwcm9mZXNzZXVyPHNwYW4gY2xhc3M9Im5weC1hZmYiPsOgIFTDqWzDqWNvbSBTdWRQYXJpcyAoSVAgUGFyaXMpIOKAlCBTQU1PVkFSIChVTVIgNTE1NyksIMOpcXVpcGUgQUNNRVMgOyBJbnJpYSBCRU5BR0lMLCDDiXZyeS1Db3VyY291cm9ubmVzPC9zcGFuPjwvcD48ZGl2IGNsYXNzPSJucHhkLXNvY2lhbCI+PGEgY2xhc3M9Im5weGQtaWMiIGhyZWY9Imh0dHBzOi8vdHJhaGF5LndwLmltdGJzLXRzcC5ldS8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBhcmlhLWxhYmVsPSJQZXJzb25hbCB3ZWJzaXRlIj48c3ZnIGNsYXNzPSJucHhkLXN2ZyIgdmlld2JveD0iMCAwIDI0IDI0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iOSI+PC9jaXJjbGU+PHBhdGggZD0iTTMuNiA5aDE2LjhNMy42IDE1aDE2LjgiPjwvcGF0aD48cGF0aCBkPSJNMTIgM2ExNSAxNSAwIDAgMSAwIDE4YTE1IDE1IDAgMCAxIDAtMTgiPjwvcGF0aD48L3N2Zz48L2E+PGEgY2xhc3M9Im5weGQtaWMiIGhyZWY9Imh0dHBzOi8vZnIubGlua2VkaW4uY29tL2luL2ZyYW4lQzMlQTdvaXMtdHJhaGF5LTgyYWFiMTFiIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgYXJpYS1sYWJlbD0iTGlua2VkSW4iPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIyIj48L3JlY3Q+PHBhdGggZD0iTTggMTF2NSI+PC9wYXRoPjxwYXRoIGQ9Ik04IDh2LjAxIj48L3BhdGg+PHBhdGggZD0iTTEyIDE2di01Ij48L3BhdGg+PHBhdGggZD0iTTE2IDE2di0zYTIgMiAwIDAgMC00IDAiPjwvcGF0aD48L3N2Zz48L2E+PGEgY2xhc3M9Im5weGQtaWMiIGhyZWY9Im1haWx0bzpmcmFuY29pcy50cmFoYXlAdGVsZWNvbS1zdWRwYXJpcy5ldSIgYXJpYS1sYWJlbD0iRS1tYWlsIj48c3ZnIGNsYXNzPSJucHhkLXN2ZyIgdmlld2JveD0iMCAwIDI0IDI0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3QgeD0iMyIgeT0iNSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE0IiByeD0iMiI+PC9yZWN0PjxwYXRoIGQ9Im0zIDcgOSA2IDktNiI+PC9wYXRoPjwvc3ZnPjwvYT48YSBjbGFzcz0ibnB4ZC1pYyIgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RyYWhheSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGFyaWEtbGFiZWw9IkdpdEh1YiI+PHN2ZyBjbGFzcz0ibnB4ZC1zdmciIHZpZXdib3g9IjAgMCAyNCAyNCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik05IDE5Yy00LjMgMS40LTQuMy0yLjUtNi0zbTEyIDV2LTMuNWMwLTEgLjEtMS40LS41LTIgMi44LS4zIDUuNS0xLjQgNS41LTZhNC42IDQuNiAwIDAgMC0xLjMtMy4yIDQuMiA0LjIgMCAwIDAtLjEtMy4ycy0xLjEtLjMtMy41IDEuM2ExMi4zIDEyLjMgMCAwIDAtNi4yIDBDNi41IDIuOCA1LjQgMy4xIDUuNCAzLjFhNC4yIDQuMiAwIDAgMC0uMSAzLjJBNC42IDQuNiAwIDAgMCA0IDkuNWMwIDQuNiAyLjcgNS43IDUuNSA2LS42LjYtLjYgMS4yLS41IDJWMjEiPjwvcGF0aD48L3N2Zz48L2E+PC9kaXY+PC9kaXY+CiAgPC9kaXY+PC9kaXY+CiAgPGRpdiBjbGFzcz0ibnB4ZC1zbG90Ij48ZGl2IGNsYXNzPSJucHhkLWNhcmQiIHN0eWxlPSItLWQ6MTAwbXM7LS1kcjoyMDBtcyI+CiAgICA8c3BhbiBjbGFzcz0ibnB4ZC13YXZlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJucHhkLWRlY28iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+CiAgICA8ZGl2IGNsYXNzPSJucHhkLXJpbmciPjxpbWcgc3JjPSJodHRwczovL251bXBleC5vcmcvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzYvMjAyMy8wNy9EYS1Db3N0YS1HZXJvZ2VzLXVhaS04NTJ4ODUyLmpwZyIgYWx0PSIiIGxvYWRpbmc9ImxhenkiPjwvZGl2PgogICAgPGgzIGNsYXNzPSJucHhkLW5hbWUiPkdlb3JnZXMgRGEgQ29zdGE8L2gzPgogICAgPHAgY2xhc3M9Im5weGQtcm9sZSI+Q28tcmVzcG9uc2FibGUgZHUgV1A2PC9wPgogICAgPGRpdiBjbGFzcz0ibnB4ZC1yZXZlYWwiPjxwIGNsYXNzPSJucHhkLWRlc2lnIj5Qcm9mZXNzZXVyIGVuIGluZm9ybWF0aXF1ZTxici8+IDxzcGFuIGNsYXNzPSJucHgtYWZmIj5Vbml2ZXJzaXTDqSBkZSBUb3Vsb3VzZSDigJQgSVJJVCAoVU1SIDU1MDUpLCDDqXF1aXBlIFNFUElBLCBUb3Vsb3VzZTwvc3Bhbj48L3A+PGRpdiBjbGFzcz0ibnB4ZC1zb2NpYWwiPjxhIGNsYXNzPSJucHhkLWljIiBocmVmPSJodHRwczovL3d3dy5pcml0LmZyL35HZW9yZ2VzLkRhLUNvc3RhLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGFyaWEtbGFiZWw9IlBlcnNvbmFsIHdlYnNpdGUiPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI5Ij48L2NpcmNsZT48cGF0aCBkPSJNMy42IDloMTYuOE0zLjYgMTVoMTYuOCI+PC9wYXRoPjxwYXRoIGQ9Ik0xMiAzYTE1IDE1IDAgMCAxIDAgMThhMTUgMTUgMCAwIDEgMC0xOCI+PC9wYXRoPjwvc3ZnPjwvYT48YSBjbGFzcz0ibnB4ZC1pYyIgaHJlZj0iaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2luL2dlb3JnZXMtZGEtY29zdGEtNWE5MDA0Ni8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBhcmlhLWxhYmVsPSJMaW5rZWRJbiI+PHN2ZyBjbGFzcz0ibnB4ZC1zdmciIHZpZXdib3g9IjAgMCAyNCAyNCIgYXJpYS1oaWRkZW49InRydWUiPjxyZWN0IHg9IjMiIHk9IjMiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiPjwvcmVjdD48cGF0aCBkPSJNOCAxMXY1Ij48L3BhdGg+PHBhdGggZD0iTTggOHYuMDEiPjwvcGF0aD48cGF0aCBkPSJNMTIgMTZ2LTUiPjwvcGF0aD48cGF0aCBkPSJNMTYgMTZ2LTNhMiAyIDAgMCAwLTQgMCI+PC9wYXRoPjwvc3ZnPjwvYT48YSBjbGFzcz0ibnB4ZC1pYyIgaHJlZj0ibWFpbHRvOmdlb3JnZXMuZGEtY29zdGFAaXJpdC5mciIgYXJpYS1sYWJlbD0iRS1tYWlsIj48c3ZnIGNsYXNzPSJucHhkLXN2ZyIgdmlld2JveD0iMCAwIDI0IDI0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3QgeD0iMyIgeT0iNSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE0IiByeD0iMiI+PC9yZWN0PjxwYXRoIGQ9Im0zIDcgOSA2IDktNiI+PC9wYXRoPjwvc3ZnPjwvYT48YSBjbGFzcz0ibnB4ZC1pYyIgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2dlb3JnZXMtZGEtY29zdGEiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBhcmlhLWxhYmVsPSJHaXRIdWIiPjxzdmcgY2xhc3M9Im5weGQtc3ZnIiB2aWV3Ym94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNOSAxOWMtNC4zIDEuNC00LjMtMi41LTYtM20xMiA1di0zLjVjMC0xIC4xLTEuNC0uNS0yIDIuOC0uMyA1LjUtMS40IDUuNS02YTQuNiA0LjYgMCAwIDAtMS4zLTMuMiA0LjIgNC4yIDAgMCAwLS4xLTMuMnMtMS4xLS4zLTMuNSAxLjNhMTIuMyAxMi4zIDAgMCAwLTYuMiAwQzYuNSAyLjggNS40IDMuMSA1LjQgMy4xYTQuMiA0LjIgMCAwIDAtLjEgMy4yQTQuNiA0LjYgMCAwIDAgNCA5LjVjMCA0LjYgMi43IDUuNyA1LjUgNi0uNi42LS42IDEuMi0uNSAyVjIxIj48L3BhdGg+PC9zdmc+PC9hPjwvZGl2PjwvZGl2PgogIDwvZGl2PjwvZGl2PgogIDxkaXYgY2xhc3M9Im5weGQtc2xvdCI+PGRpdiBjbGFzcz0ibnB4ZC1jYXJkIiBzdHlsZT0iLS1kOjBtczstLWRyOjBtcyI+CiAgICA8c3BhbiBjbGFzcz0ibnB4ZC13YXZlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJucHhkLWRlY28iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+CiAgICA8ZGl2IGNsYXNzPSJucHhkLXJpbmciPjxpbWcgc3JjPSJodHRwczovL251bXBleC5vcmcvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzYvMjAyMy8wNy9HVUVSTU9VQ0hFLUFtaW5hLXVhaS0xMjV4MTI1LmpwZyIgYWx0PSIiIGxvYWRpbmc9ImxhenkiPjwvZGl2PgogICAgPGgzIGNsYXNzPSJucHhkLW5hbWUiPkFtaW5hIEd1ZXJtb3VjaGU8L2gzPgogICAgPHAgY2xhc3M9Im5weGQtcm9sZSI+Q28tcmVzcG9uc2FibGUgZHUgV1A2PC9wPgogICAgPGRpdiBjbGFzcz0ibnB4ZC1yZXZlYWwiPjxwIGNsYXNzPSJucHhkLWRlc2lnIj48YnIvPjxzcGFuIGNsYXNzPSJucHgtYWZmIj4sPC9zcGFuPiBtYcOudHJlIGRlIGNvbmbDqXJlbmNlcyDDoDxzcGFuIGNsYXNzPSJucHgtYWZmIj5sJ0lOUCBkZSBCb3JkZWF1eCDigJQgTGFCUkkgKFVNUiA1ODAwKSwgw6lxdWlwZSBkdSBwcm9qZXQgU1RPUk0gZGUgbCdJbnJpYSwgVGFsZW5jZTwvc3Bhbj48L3A+PGRpdiBjbGFzcz0ibnB4ZC1zb2NpYWwiPjxhIGNsYXNzPSJucHhkLWljIiBocmVmPSJtYWlsdG86YW1pbmEuZ3Vlcm1vdWNoZUBsYWJyaS5mciIgYXJpYS1sYWJlbD0iRS1tYWlsIj48c3ZnIGNsYXNzPSJucHhkLXN2ZyIgdmlld2JveD0iMCAwIDI0IDI0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3QgeD0iMyIgeT0iNSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE0IiByeD0iMiI+PC9yZWN0PjxwYXRoIGQ9Im0zIDcgOSA2IDktNiI+PC9wYXRoPjwvc3ZnPjwvYT48L2Rpdj48L2Rpdj4KICA8L2Rpdj48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo=[\/vc_raw_html][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=\u00a0\u00bb1\/1&Prime;][vc_empty_space empty_h=\u00a0\u00bb2&Prime;][vc_separator sep_color=\u00a0\u00bbcolor-nhtu\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb794634&Prime; sep_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb][vc_empty_space empty_h=\u00a0\u00bb2&Prime; el_id=\u00a0\u00bbnav-contact-exa-soft\u00a0\u00bb][\/vc_column_inner][\/vc_row_inner][vc_row_inner row_inner_height_percent=\u00a0\u00bb0&Prime; overlay_alpha=\u00a0\u00bb50&Prime; gutter_size=\u00a0\u00bb3&Prime; shift_y=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; uncode_shortcode_id=\u00a0\u00bb349012&Prime; el_id=\u00a0\u00bbcontact-exa-soft-en\u00a0\u00bb][vc_column_inner column_width_percent=\u00a0\u00bb100&Prime; align_horizontal=\u00a0\u00bbalign_center\u00a0\u00bb gutter_size=\u00a0\u00bb3&Prime; style=\u00a0\u00bblight\u00a0\u00bb overlay_alpha=\u00a0\u00bb50&Prime; shift_x=\u00a0\u00bb0&Prime; shift_y=\u00a0\u00bb0&Prime; shift_y_down=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; medium_width=\u00a0\u00bb0&Prime; mobile_width=\u00a0\u00bb0&Prime; width=\u00a0\u00bb1\/1&Prime; uncode_shortcode_id=\u00a0\u00bb205708&Prime;][vc_custom_heading text_color=\u00a0\u00bbaccent\u00a0\u00bb heading_semantic=\u00a0\u00bbh6&Prime; text_size=\u00a0\u00bbh6&Prime; text_transform=\u00a0\u00bbuppercase\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb107109&Prime; text_color_type=\u00a0\u00bbuncode-palette\u00a0\u00bb]Nous contacter[\/vc_custom_heading][vc_custom_heading heading_semantic=\u00a0\u00bbh3&Prime; text_size=\u00a0\u00bbh1&Prime; uncode_shortcode_id=\u00a0\u00bb119118&Prime;]Restez en contact avec Exa-SofT[\/vc_custom_heading][vc_column_text text_lead=\u00a0\u00bbyes\u00a0\u00bb uncode_shortcode_id=\u00a0\u00bb204562&Prime;]Laissez-nous un message, nous vous contacterons dans les plus brefs d\u00e9lais.[\/vc_column_text]\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f1501-o1\" lang=\"fr-FR\" dir=\"ltr\" data-wpcf7-id=\"1501\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/fr\/wp-json\/wp\/v2\/pages\/220#wpcf7-f1501-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulaire de contact\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"1501\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.2.2\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"fr_FR\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f1501-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/fieldset>\n<div class=\"wpcf7-inline-wrapper\">\n\t<p class=\"wpcf7-inline-field\"><span class=\"wpcf7-form-control-wrap\" data-name=\"your-firstname\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Pr\u00e9nom\" value=\"\" type=\"text\" name=\"your-firstname\" \/><\/span>\n\t<\/p>\n\t<p class=\"wpcf7-inline-field\"><span class=\"wpcf7-form-control-wrap\" data-name=\"your-lastname\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Nom de famille\" value=\"\" type=\"text\" name=\"your-lastname\" \/><\/span>\n\t<\/p>\n<\/div>\n<div class=\"wpcf7-inline-wrapper\">\n\t<p class=\"wpcf7-inline-field\"><span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Email\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span>\n\t<\/p>\n\t<p class=\"wpcf7-inline-field\"><span class=\"wpcf7-form-control-wrap\" data-name=\"your-website\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" aria-invalid=\"false\" placeholder=\"Site web\" value=\"\" type=\"text\" name=\"your-website\" \/><\/span>\n\t<\/p>\n<\/div>\n<div class=\"wpcf7-inline-wrapper\">\n\t<p class=\"wpcf7-inline-field\"><span class=\"wpcf7-form-control-wrap\" data-name=\"your-subject\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" aria-invalid=\"false\" placeholder=\"Sujet\" value=\"\" type=\"text\" name=\"your-subject\" \/><\/span>\n\t<\/p>\n<\/div>\n<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-message\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" aria-invalid=\"false\" placeholder=\"Message\" name=\"your-message\"><\/textarea><\/span>\n<\/p>\n<p><span class=\"wpcf7-form-control-wrap\" data-name=\"accept-this-1\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"accept-this-1\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Cochez ici si vous acceptez nos conditions<a href=\"https:\/\/numpex.org\/privacy-policie\/\">(Politique de confidentialit\u00e9<\/a>)<\/span><\/label><\/span><\/span><\/span>\n<\/p>\n<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner btn btn-accent btn-block\" type=\"submit\" value=\"Cliquez sur le bouton\" \/>\n<\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n[\/vc_column_inner][\/vc_row_inner][\/vc_column][\/vc_row]<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>[vc_row row_height_percent=\u00a0\u00bb0&Prime; overlay_alpha=\u00a0\u00bb50&Prime; gutter_size=\u00a0\u00bb3&Prime; column_width_percent=\u00a0\u00bb100&Prime; shift_y=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; sticky=\u00a0\u00bbyes\u00a0\u00bb content_parallax=\u00a0\u00bb0&Prime; uncode_shortcode_id=\u00a0\u00bb716742&Prime; css=\u00a0\u00bb.vc_custom_1785869798726{margin-top: 1% !important;}\u00a0\u00bb][vc_column width=\u00a0\u00bb1\/1&Prime;][vc_raw_html]PCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICBOdW1QRXgg4oCUIE1lbnUgZGUgc2VjdGlvbnMgc3RpY2t5IOKAlCB2LjYuNAogIE5hb3MgQWdlbmN5IMK3IDIwMjYtMDktMTAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgoKPHN0eWxlPgogIDpyb290eyAtLW5weC10b3A6IDYwcHg7IH0gLyogaGF1dGV1ciBkdSBoZWFkZXIgVW5jb2RlIHN0aWNreSAqLwogIC5ucHgtc3VibmF2ewogICAgYmFja2dyb3VuZDogI0UwOTkwMDsgLyogb3JhbmdlIGQnYWNjZW50dWF0aW9uIE51bVBFeCAqLwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA4KTsKICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICB3aWR0aDogMTAwJTsKICAgIHotaW5kZXg6IDQwOwogIH0KICAubnB4LXN1Ym5hdltoaWRkZW5deyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KICAubnB4LXN1Ym5hdi5ucHgtc3R1Y2t7IGJvcmRlci1yYWRpdXM6IDAgMCAxMnB4IDEycHg7IH0KICAubnB4LXN1Ym5hdi5ucHgtc3R1Y2t7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB0b3A6IHZhcigtLW5weC10b3ApOwogICAgbGVmdDogMDsgcmlnaHQ6IDA7CiAgfQogIC5ucHgtc3VibmF2X19pbm5lcnsKICAgIC8qIHYuNi40IDogbWV0cmlxdWVzIHBpbG90ZWVzIHBhciB2YXJpYWJsZXMuIExlcyB2YWxldXJzIGRlIHJlcGxpCiAgICAgICBTT05UIGNlbGxlcyBkZSBsYSB2LjYuMiA6IHNhbnMgSlMsIHJlbmR1IGlkZW50aXF1ZS4gKi8KICAgIG1heC13aWR0aDogMTE0MHB4OwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBwYWRkaW5nOiAwIDI0cHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC13cmFwOiBub3dyYXA7CiAgICBnYXA6IDAgdmFyKC0tbnB4LWdhcCwgMTBweCk7CiAgICBtaW4taGVpZ2h0OiA0NnB4OwogICAgcGFkZGluZy10b3A6IDZweDsKICAgIHBhZGRpbmctYm90dG9tOiA2cHg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZm9udC1zaXplOiB2YXIoLS1ucHgtZnMsIDExcHgpOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1ucHgtbHMsIC4xMmVtKTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgb3ZlcmZsb3cteTogaGlkZGVuOwogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOwogICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOwogICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOwogICAgLyogZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc3lzdGVtLXVpLCBzYW5zLXNlcmlmOyAqLwogIH0KICAubnB4LXN1Ym5hdl9faW5uZXI6Oi13ZWJraXQtc2Nyb2xsYmFyeyBkaXNwbGF5OiBub25lOyB9CiAgLyogU3DDqWNpZmljaXTDqSByZW5mb3Jjw6llICsgIWltcG9ydGFudCA6IG5ldXRyYWxpc2UgbGVzIGNvdWxldXJzIGRlIGxpZW5zIGR1IHRow6htZSBVbmNvZGUgKG9yYW5nZSBhdSBzdXJ2b2wvY2xpYykgKi8KICBuYXYubnB4LXN1Ym5hdiAubnB4LXN1Ym5hdl9faW5uZXIgYSwKICBuYXYubnB4LXN1Ym5hdiAubnB4LXN1Ym5hdl9faW5uZXIgYTp2aXNpdGVkewogICAgY29sb3I6IHJnYmEoMjU1LDI1MCwyNDMsLjg4KSAhaW1wb3J0YW50OyAvKiBibGFuYyBjYXNzw6kgKi8KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogICAgcGFkZGluZzogOHB4IHZhcigtLW5weC1weCwgMTRweCk7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIHRyYW5zaXRpb246IGNvbG9yIC4xOHMsIGJhY2tncm91bmQtY29sb3IgLjE4czsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7ICAvKiB2LjYuNCA6IHVuIGxpYmVsbGUgbmUgc2UgY291cGUgamFtYWlzICovCiAgICBmbGV4OiAwIDAgYXV0bzsgICAgICAgLyogdi42LjQgOiBsZXMgcGFzdGlsbGVzIG5lIHNlIGNvbXByaW1lbnQgcGFzICovCiAgfQogIG5hdi5ucHgtc3VibmF2IC5ucHgtc3VibmF2X19pbm5lciBhOmhvdmVyLAogIG5hdi5ucHgtc3VibmF2IC5ucHgtc3VibmF2X19pbm5lciBhOmZvY3VzLAogIG5hdi5ucHgtc3VibmF2IC5ucHgtc3VibmF2X19pbm5lciBhOmFjdGl2ZXsKICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4xMik7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKICB9CiAgbmF2Lm5weC1zdWJuYXYgLm5weC1zdWJuYXZfX2lubmVyIGEubnB4LWFjdGl2ZSwKICBuYXYubnB4LXN1Ym5hdiAubnB4LXN1Ym5hdl9faW5uZXIgYS5ucHgtYWN0aXZlOmhvdmVyewogICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6ICNBODZGMDA7IC8qIG9yYW5nZSBmb25jw6ksIGFwbGF0IHNpbXBsZSAqLwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICB9Cjwvc3R5bGU+Cgo8bmF2IGNsYXNzPSJucHgtc3VibmF2IiBhcmlhLWxhYmVsPSJQYWdlIHNlY3Rpb25zIiBoaWRkZW4+CiAgPGRpdiBjbGFzcz0ibnB4LXN1Ym5hdl9faW5uZXIiPjwvZGl2Pgo8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbigpewogICd1c2Ugc3RyaWN0JzsKCiAgLyogPT09PT09PT09PT09PT09PT09PT0gQ09ORklHIFNJVEUgPT09PT09PT09PT09PT09PT09PT0KICAgICBTZXVsZSB6b25lIMOgIGFkYXB0ZXIgcG91ciByw6l1dGlsaXNlciBsZSBibG9jIGFpbGxldXJzLiAqLwogIHZhciBQUkVGSVggPSAnbmF2LSc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHByw6lmaXhlIGRlcyBSb3cgSUQgw6AgZMOpdGVjdGVyICovCiAgdmFyIFNUUklQICA9IFsvLShlbnxmcikkL2ksIC8tZXhhLVthLXowLTldKyQvaV07ICAgLyogc3VmZml4ZXMgZCd1bmljaXTDqSDDoCBpZ25vcmVyICAqLwoKICAvKiBSZXBsaSBwb3VyIGxlcyBwYWdlcyBQQVMgRU5DT1JFIE1JR1LDiUVTIHZlcnMgbGUgcHLDqWZpeGUgbmF2LQogICAgICh0eXBpcXVlbWVudCBsZXMgdHJhZHVjdGlvbnMgV1BNTCBkb250IGxlcyBSb3cgSUQgbidvbnQgcGFzIMOpdMOpCiAgICAgcmVub21tw6lzKS4gVXRpbGlzw6kgVU5JUVVFTUVOVCBzaSBsYSBwYWdlIG5lIGNvbnRpZW50IGF1Y3VuZSByb3cKICAgICDCqyBuYXYtIMK7LiBSZXByZW5kIGxlcyBjbMOpcyBkZSBsYSB2LjUgOiB1bmUgcm93IG5vbW3DqWUKICAgICDCqyBjb25zb3J0aXVtLWV4YS1tYS1lbiDCuyBvdSBzaW1wbGVtZW50IMKrIGNvbnNvcnRpdW0gwrsgZXN0CiAgICAgcmV0cm91dsOpZS4gTGlzdGUgZmVybcOpZSA9IGF1Y3VuIHJpc3F1ZSBkZSBmYXV4IHBvc2l0aWYuICovCiAgdmFyIExFR0FDWV9LRVlTID0gWwogICAgJ292ZXJ2aWV3JywgJ2NvbnNvcnRpdW0nLCAncmVzdWx0cycsICdtZXRyaWNzJywgJ3NvZnR3YXJlJywKICAgICduZXdzJywgJ2V2ZW50cycsICdhZ2VuZGEnLCAndGVhbScsICdjb250YWN0JwogIF07CgogIHZhciBMQUJFTFMgPSB7CiAgICAvKiBMaWJlbGzDqXMgcHLDqWbDqXLDqXMgcGFyIGNsw6kuIFRvdXRlIGNsw6kgYWJzZW50ZSBlc3QgYWZmaWNow6llCiAgICAgICBjYXBpdGFsaXPDqWUgdGVsbGUgcXVlbGxlIChuYXYtam9pbi11cyAtPiDCqyBKb2luIFVzIMK7KS4gKi8KICAgIGVuOiB7CiAgICAgICdjb25zb3J0aXVtJzogJ0NvbnNvcnRpdW0gJiBXb3JrcGFja2FnZXMnLAogICAgICAncmVzdWx0cyc6ICAgICdSZXN1bHRzICYgSW1wYWN0JywKICAgICAgJ21ldHJpY3MnOiAgICAnUHJvamVjdCBNZXRyaWNzJywKICAgICAgJ3RlYW0nOiAgICAgICAnVGhlIFRlYW0nCiAgICB9LAogICAgZnI6IHsKICAgICAgJ292ZXJ2aWV3JzogICAnUHLDqXNlbnRhdGlvbicsCiAgICAgICdjb25zb3J0aXVtJzogJ0NvbnNvcnRpdW0gZXQgbG90cyBkZSB0cmF2YWlsJywKICAgICAgJ3Jlc3VsdHMnOiAgICAnUsOpc3VsdGF0cyBldCBpbXBhY3QnLAogICAgICAnbWV0cmljcyc6ICAgICdDaGlmZnJlcyBjbMOpcycsCiAgICAgICdzb2Z0d2FyZSc6ICAgJ0xvZ2ljaWVscycsCiAgICAgICduZXdzJzogICAgICAgJ0FjdHVhbGl0w6lzJywKICAgICAgJ2V2ZW50cyc6ICAgICAnw4l2w6huZW1lbnRzJywKICAgICAgJ3RlYW0nOiAgICAgICAnTOKAmcOpcXVpcGUnCiAgICB9CiAgfTsKICB2YXIgU1RJQ0tfTU9ERSA9ICd1bmNvZGUnOyAvKiAndW5jb2RlJyA9IGxhIHJvdyBnw6hyZSBsZSBzdGlja3kgwrcgJ2pzJyA9IGxlIHNjcmlwdCBjb2xsZSBsdWktbcOqbWUgKi8KICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKICB2YXIgREVCVUcgPSAvWz8mXW5weGRlYnVnPTEvLnRlc3Qod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7CiAgZnVuY3Rpb24gbG9nKCl7CiAgICBpZighREVCVUcgfHwgIXdpbmRvdy5jb25zb2xlIHx8ICFjb25zb2xlLmxvZykgcmV0dXJuOwogICAgY29uc29sZS5sb2cuYXBwbHkoY29uc29sZSwgWydbbnB4LXN1Ym5hdl0nXS5jb25jYXQoW10uc2xpY2UuY2FsbChhcmd1bWVudHMpKSk7CiAgfQoKICAvKiAtLS0tIExhbmd1ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgPGh0bWwgbGFuZz4gcG9zw6kgcGFyIFdQTUwuIFJlcGxpcyBzdWNjZXNzaWZzIHNpIGwnYXR0cmlidXQgbWFucXVlIDoKICAgICB1biBhbmPDqnRyZSBwb3J0ZXVyIGRlIGxhbmcsIHB1aXMgbGVzIGNsYXNzZXMgZHUgYm9keS4gKi8KICBmdW5jdGlvbiBkZXRlY3RMYW5nKGVsKXsKICAgIHZhciB0YWcgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdsYW5nJykgfHwgJyc7CiAgICBpZighdGFnICYmIGVsICYmIGVsLmNsb3Nlc3QpewogICAgICB2YXIgaG9zdCA9IGVsLmNsb3Nlc3QoJ1tsYW5nXScpOwogICAgICBpZihob3N0KXsgdGFnID0gaG9zdC5nZXRBdHRyaWJ1dGUoJ2xhbmcnKSB8fCAnJzsgfQogICAgfQogICAgaWYoIXRhZyl7CiAgICAgIHZhciBjbHMgPSAoZG9jdW1lbnQuYm9keSAmJiBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSkgfHwgJyc7CiAgICAgIGlmKC8oPzpsYW5nfGxhbmd1YWdlKS1mclxifGZyW18tXUZSL2kudGVzdChjbHMpKXsgdGFnID0gJ2ZyJzsgfQogICAgfQogICAgcmV0dXJuIC9eZnIvaS50ZXN0KHRhZykgPyAnZnInIDogJ2VuJzsKICB9CgogIGZ1bmN0aW9uIGtleU9mKGlkKXsKICAgIHZhciBrID0gaWQuc2xpY2UoUFJFRklYLmxlbmd0aCkudG9Mb3dlckNhc2UoKTsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBTVFJJUC5sZW5ndGg7IGkrKyl7IGsgPSBrLnJlcGxhY2UoU1RSSVBbaV0sICcnKTsgfQogICAgcmV0dXJuIGs7CiAgfQogIGZ1bmN0aW9uIHRpdGxlQ2FzZShrZXkpewogICAgcmV0dXJuIGtleS5zcGxpdCgnLScpLm1hcChmdW5jdGlvbih3KXsKICAgICAgcmV0dXJuIHcgPyB3LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdy5zbGljZSgxKSA6IHc7CiAgICB9KS5qb2luKCcgJyk7CiAgfQoKICAvKiBEb3VibGUgc8OpY3VyaXTDqSA6IMOpY2FydGUgbGVzIG1lbnVzIGfDqW7DqXLDqXMgcGFyIFdvcmRQcmVzcyBldCB0b3V0IGNlCiAgICAgcXVpIHZpdCBkYW5zIGxhIG5hdmlnYXRpb24gb3UgbGUgaGVhZGVyIOKAlCBpbmNoYW5nw6kgZGVwdWlzIGxhIHYuNi4xLiAqLwogIGZ1bmN0aW9uIGlzU2VjdGlvbkNhbmRpZGF0ZShlbCl7CiAgICB2YXIgdGFnID0gZWwudGFnTmFtZTsKICAgIGlmKHRhZyA9PT0gJ1VMJyB8fCB0YWcgPT09ICdMSScgfHwgdGFnID09PSAnQScgfHwgdGFnID09PSAnTkFWJyl7IHJldHVybiBmYWxzZTsgfQogICAgaWYoZWwuY2xvc2VzdCAmJiBlbC5jbG9zZXN0KCduYXYsIGhlYWRlciwgLm5weC1zdWJuYXYnKSl7IHJldHVybiBmYWxzZTsgfQogICAgcmV0dXJuIHRydWU7CiAgfQoKICBmdW5jdGlvbiBpbkRvY3VtZW50T3JkZXIoYSwgYil7CiAgICB2YXIgcG9zID0gYS5zZWN0aW9uLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIuc2VjdGlvbik7CiAgICByZXR1cm4gKHBvcyAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HKSA\/IC0xIDogMTsKICB9CgogIC8qIC0tLS0gRMOpY291dmVydGUgZGVzIHNlY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgMSkgTW9kZSBub21pbmFsIDogdG91dGVzIGxlcyByb3dzIGRvbnQgbCdpZCBjb21tZW5jZSBwYXIgwqsgbmF2LSDCuy4KICAgICAyKSBSZXBsaSA6IHNpIGV0IHNldWxlbWVudCBzaSBsZSBtb2RlIDEgbmUgZG9ubmUgUklFTiwgb24gY2hlcmNoZQogICAgICAgIGxlcyBjbMOpcyBow6lyaXTDqWVzIGRlIGxhIHYuNSwgYXZlYyBvdSBzYW5zIHN1ZmZpeGUuCiAgICAgUmVudm9pZSB7IGVudHJpZXM6IFsuLi5dLCBtb2RlOiAncHJlZml4JyB8ICdsZWdhY3knIHwgJ25vbmUnIH0uICovCiAgZnVuY3Rpb24gZGlzY292ZXIoZGljdCl7CiAgICB2YXIgc2VlbiA9IE9iamVjdC5jcmVhdGUobnVsbCksIGVudHJpZXMgPSBbXTsKCiAgICBmdW5jdGlvbiBwdXNoKGVsLCBrZXkpewogICAgICBpZighZWwgfHwgIWtleSB8fCBzZWVuW2tleV0peyByZXR1cm47IH0KICAgICAgc2VlbltrZXldID0gdHJ1ZTsKICAgICAgZW50cmllcy5wdXNoKHsgc2VjdGlvbjogZWwsIGtleToga2V5LCBsYWJlbDogZGljdFtrZXldIHx8IHRpdGxlQ2FzZShrZXkpIH0pOwogICAgfQoKICAgIHZhciBmb3VuZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tpZF49IicgKyBQUkVGSVggKyAnIl0nKTsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBmb3VuZC5sZW5ndGg7IGkrKyl7CiAgICAgIGlmKCFpc1NlY3Rpb25DYW5kaWRhdGUoZm91bmRbaV0pKXsgY29udGludWU7IH0KICAgICAgcHVzaChmb3VuZFtpXSwga2V5T2YoZm91bmRbaV0uaWQpKTsKICAgIH0KICAgIGlmKGVudHJpZXMubGVuZ3RoKXsKICAgICAgd2FybklmUGFydGlhbGx5TWlncmF0ZWQoc2Vlbik7CiAgICAgIHJldHVybiB7IGVudHJpZXM6IGVudHJpZXMsIG1vZGU6ICdwcmVmaXgnIH07CiAgICB9CgogICAgZm9yKHZhciBqID0gMDsgaiA8IExFR0FDWV9LRVlTLmxlbmd0aDsgaisrKXsKICAgICAgdmFyIGsgID0gTEVHQUNZX0tFWVNbal07CiAgICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGspIHx8IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tpZF49IicgKyBrICsgJy0iXScpOwogICAgICBpZihlbCAmJiBpc1NlY3Rpb25DYW5kaWRhdGUoZWwpKXsgcHVzaChlbCwgayk7IH0KICAgIH0KICAgIGlmKGVudHJpZXMubGVuZ3RoKXsKICAgICAgZW50cmllcy5zb3J0KGluRG9jdW1lbnRPcmRlcik7IC8qIGxhIGxpc3RlIGRlcyBjbMOpcyBuZSBzdWl0IHBhcyBsJ29yZHJlIGRlIGxhIHBhZ2UgKi8KICAgICAgcmV0dXJuIHsgZW50cmllczogZW50cmllcywgbW9kZTogJ2xlZ2FjeScgfTsKICAgIH0KCiAgICByZXR1cm4geyBlbnRyaWVzOiBlbnRyaWVzLCBtb2RlOiAnbm9uZScgfTsKICB9CgogIC8qIC0tLS0gTWlncmF0aW9uIHBhcnRpZWxsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIENhcyBwacOoZ2UgOiBzdXIgdW5lIG3Dqm1lIHBhZ2UgY2VydGFpbmVzIHJvd3Mgb250IMOpdMOpIHJlbm9tbcOpZXMgZW4KICAgICBuYXYt4oCmIGV0IGQnYXV0cmVzIG5vbi4gTGUgbW9kZSBub21pbmFsIGwnZW1wb3J0ZSBldCBsZXMgcm93cyBub24KICAgICByZW5vbW3DqWVzIGRpc3BhcmFpc3NlbnQgU0lMRU5DSUVVU0VNRU5UIGR1IG1lbnUuIE9uIGxlIHNpZ25hbGUuICovCiAgZnVuY3Rpb24gd2FybklmUGFydGlhbGx5TWlncmF0ZWQoc2Vlbil7CiAgICBpZighd2luZG93LmNvbnNvbGUgfHwgIWNvbnNvbGUud2Fybil7IHJldHVybjsgfQogICAgdmFyIHN0cmFnZ2xlcnMgPSBbXTsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBMRUdBQ1lfS0VZUy5sZW5ndGg7IGkrKyl7CiAgICAgIHZhciBrID0gTEVHQUNZX0tFWVNbaV07CiAgICAgIGlmKHNlZW5ba10peyBjb250aW51ZTsgfSAvKiBkw6lqw6AgcHLDqXNlbnQgdmlhIHVuZSByb3cgbmF2LSAqLwogICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChrKSB8fCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdbaWRePSInICsgayArICctIl0nKTsKICAgICAgaWYoZWwgJiYgaXNTZWN0aW9uQ2FuZGlkYXRlKGVsKSl7IHN0cmFnZ2xlcnMucHVzaChrICsgJyAoIycgKyBlbC5pZCArICcpJyk7IH0KICAgIH0KICAgIGlmKCFzdHJhZ2dsZXJzLmxlbmd0aCl7IHJldHVybjsgfQogICAgY29uc29sZS53YXJuKAogICAgICAnW25weC1zdWJuYXZdIE1pZ3JhdGlvbiBpbmNvbXBsZXRlIHN1ciBjZXR0ZSBwYWdlIDogJyArIHN0cmFnZ2xlcnMubGVuZ3RoICsKICAgICAgJyByb3cocykgcG9ydGVudCBlbmNvcmUgdW4gYW5jaWVuIFJvdyBJRCBldCBzb250IEFCU0VOVEVTIGR1IG1lbnUgLT4gJyArCiAgICAgIHN0cmFnZ2xlcnMuam9pbignLCAnKSArICdcbicgKwogICAgICAnTGVzIHJlbm9tbWVyIGF2ZWMgbGUgcHJlZml4ZSAiJyArIFBSRUZJWCArICciIChleC4gJyArIFBSRUZJWCArIExFR0FDWV9LRVlTWzBdICsgJykuJwogICAgKTsKICB9CgogIC8qIC0tLS0gTWVzc2FnZSBkZSBkaWFnbm9zdGljIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIEludmlzaWJsZSBwb3VyIGxlcyB2aXNpdGV1cnMsIGTDqWNpc2lmIHBvdXIgbGEgcGVyc29ubmUgcXVpIHJlcHJlbmQKICAgICBsZSBkb3NzaWVyIDogb24gZGl0IGNlIHF1aSBhIMOpdMOpIGNoZXJjaMOpIGV0IGNlIHF1aSBhIMOpdMOpIHRyb3V2w6kuICovCiAgZnVuY3Rpb24gd2Fybk5vdGhpbmdGb3VuZCgpewogICAgaWYoIXdpbmRvdy5jb25zb2xlIHx8ICFjb25zb2xlLndhcm4peyByZXR1cm47IH0KICAgIHZhciB3aXRoSWQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbaWRdJyk7CiAgICBjb25zb2xlLndhcm4oCiAgICAgICdbbnB4LXN1Ym5hdl0gQXVjdW5lIHNlY3Rpb24gdHJvdXbDqWUgOiBsYSBiYXJyZSByZXN0ZSBtYXNxdcOpZS5cbicgKwogICAgICAnLSBSZWNoZXJjaMOpIGVuIHByaW9yaXTDqSA6IGRlcyBSb3cgSUQgY29tbWVuw6dhbnQgcGFyICInICsgUFJFRklYICsgJyIgKGV4LiBuYXYtb3ZlcnZpZXcpLlxuJyArCiAgICAgICctIFB1aXMsIGVuIHJlcGxpLCBsZXMgY2xlcyBoZXJpdGVlcyA6ICcgKyBMRUdBQ1lfS0VZUy5qb2luKCcsICcpICsgJy5cbicgKwogICAgICAnLSBQYWdlIGxhbmc9IicgKyAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgnbGFuZycpIHx8ICcoYWJzZW50KScpICsgJyIsICcgKwogICAgICB3aXRoSWQubGVuZ3RoICsgJyBlbGVtZW50KHMpIHBvcnRlbnQgdW4gaWQuXG4nICsKICAgICAgJy0gQ2F1c2UgbGEgcGx1cyBmcmVxdWVudGUgOiBsZXMgUm93IElEIGRlIENFVFRFIHBhZ2UgbmUgc29udCBwYXMgbm9tbWVzLiAnICsKICAgICAgJ1NvdXMgV1BNTCB1bmUgdHJhZHVjdGlvbiBlc3QgdW4gcG9zdCBkaXN0aW5jdCDigJQgcmVub21tZXIgbGVzIFJvdyBJRCBkZSBsYSBwYWdlICcgKwogICAgICAnc291cmNlIG5lIHJlbm9tbWUgcGFzIGNldXggZGUgbGEgdHJhZHVjdGlvbiA6IGlsIGZhdXQgbGVzIHNhaXNpciBzdXIgY2hhcXVlIGxhbmd1ZS5cbicgKwogICAgICAnLSBQb3VyIGxhIGxpc3RlIGRlcyBpZHMgcHJlc2VudHMsIHJlY2hhcmdlciBsYSBwYWdlIGF2ZWMgP25weGRlYnVnPTEnCiAgICApOwogICAgaWYoREVCVUcpewogICAgICB2YXIgaWRzID0gW107CiAgICAgIGZvcih2YXIgaSA9IDA7IGkgPCB3aXRoSWQubGVuZ3RoOyBpKyspeyBpZHMucHVzaCh3aXRoSWRbaV0uaWQpOyB9CiAgICAgIGNvbnNvbGUud2FybignW25weC1zdWJuYXZdIGlkcyBwcmVzZW50cyBzdXIgbGEgcGFnZSA6JywgaWRzKTsKICAgIH0KICB9CgogIC8qIC0tLS0gSW5pdGlhbGlzYXRpb24gZCd1bmUgaW5zdGFuY2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICBSZW52b2llIHRydWUgc2kgbGEgYmFycmUgYSDDqXTDqSBjb25zdHJ1aXRlLCBmYWxzZSBzJ2lsIG4neSBhdmFpdAogICAgIGF1Y3VuZSBzZWN0aW9uIChsJ2luc3RhbmNlIHJlc3RlIGFsb3JzIMOpbGlnaWJsZSDDoCB1bmUgbm91dmVsbGUKICAgICB0ZW50YXRpdmUgOiBkYXRhLW5weC1yZWFkeSBuJ2VzdCBwb3PDqSBxdSdlbiBjYXMgZGUgc3VjY8OocykuICovCiAgZnVuY3Rpb24gaW5pdChuYXYpewogICAgdmFyIGlubmVyID0gbmF2LnF1ZXJ5U2VsZWN0b3IoJy5ucHgtc3VibmF2X19pbm5lcicpOwogICAgaWYoIWlubmVyKXsKICAgICAgbmF2LnNldEF0dHJpYnV0ZSgnZGF0YS1ucHgtcmVhZHknLCAnMScpOyAvKiBiYWxpc2FnZSBpbmF0dGVuZHUgOiBuZSBwYXMgYm91Y2xlciBkZXNzdXMgKi8KICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgdmFyIGxhbmcgID0gZGV0ZWN0TGFuZyhuYXYpOwogICAgdmFyIGRpY3QgID0gTEFCRUxTW2xhbmddIHx8IHt9OwogICAgdmFyIGZvdW5kID0gZGlzY292ZXIoZGljdCk7CiAgICB2YXIgZW50cmllcyA9IGZvdW5kLmVudHJpZXM7CgogICAgaWYoIWVudHJpZXMubGVuZ3RoKXsgcmV0dXJuIGZhbHNlOyB9CgogICAgbmF2LnNldEF0dHJpYnV0ZSgnZGF0YS1ucHgtcmVhZHknLCAnMScpOwogICAgbG9nKCdtb2RlID0nLCBmb3VuZC5tb2RlLCAnfCBsYW5nID0nLCBsYW5nLCAnfCBlbnRyZWVzID0nLCBlbnRyaWVzLm1hcChmdW5jdGlvbihlKXsKICAgICAgcmV0dXJuIGUua2V5ICsgJyAtPiAnICsgZS5sYWJlbCArICcgKCMnICsgZS5zZWN0aW9uLmlkICsgJyknOwogICAgfSkpOwoKICAgIGlubmVyLmlubmVySFRNTCA9ICcnOwogICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uKGUpewogICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgYS5ocmVmID0gJyMnICsgZS5zZWN0aW9uLmlkOwogICAgICBhLnRleHRDb250ZW50ID0gZS5sYWJlbDsKICAgICAgaW5uZXIuYXBwZW5kQ2hpbGQoYSk7CiAgICAgIGUubGluayA9IGE7CiAgICB9KTsKICAgIG5hdi5yZW1vdmVBdHRyaWJ1dGUoJ2hpZGRlbicpOwoKICAgIC8qIC0tLS0gdi42LjQgOiBsYSBiYXJyZSB0aWVudCBzdXIgdW5lIGxpZ25lIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgZmxleC13cmFwOm5vd3JhcCBzdXBwcmltZSBsYSAyZSBsaWduZS4gT24gbWVzdXJlIGV0IG9uIHJldGllbnQgbGUKICAgICAgIFBSRU1JRVIgcGFsaWVyIHF1aSByZW50cmUuIExlIHBhbGllciAwIGVzdCBsZSByZW5kdSB2LjYuMiA6IHVuZQogICAgICAgYmFycmUgcXVpIHJlbnRyYWl0IGRlamEgbmUgYm91Z2UgcGFzIGQndW4gcGl4ZWwuIFNpIG1lbWUgbGUKICAgICAgIHBsYW5jaGVyIGRlYm9yZGUgKHRlbGVwaG9uZSksIGxhIGJhcnJlIGRlZmlsZSBob3Jpem9udGFsZW1lbnQuCiAgICAgICBUb3V0IGVzdCBlbnZlbG9wcGUgOiBlbiBjYXMgZCdlcnJldXIgb24gcmV2aWVudCBhdSBwYWxpZXIgMC4gKi8KICAgIHZhciBTVEVQUyA9IFsKICAgICAgeyBmczogJzExcHgnLCAgIGxzOiAnLjEyZW0nLCBweDogJzE0cHgnLCBnYXA6ICcxMHB4JyB9LCAvKiByZW5kdSB2LjYuMiAqLwogICAgICB7IGZzOiAnMTFweCcsICAgbHM6ICcuMDllbScsIHB4OiAnMTNweCcsIGdhcDogJzlweCcgIH0sCiAgICAgIHsgZnM6ICcxMC41cHgnLCBsczogJy4wN2VtJywgcHg6ICcxMnB4JywgZ2FwOiAnOHB4JyAgfSwKICAgICAgeyBmczogJzEwcHgnLCAgIGxzOiAnLjA2ZW0nLCBweDogJzExcHgnLCBnYXA6ICc3cHgnICB9LAogICAgICB7IGZzOiAnOS41cHgnLCAgbHM6ICcuMDVlbScsIHB4OiAnMTBweCcsIGdhcDogJzZweCcgIH0sCiAgICAgIHsgZnM6ICc5cHgnLCAgICBsczogJy4wNGVtJywgcHg6ICc5cHgnLCAgZ2FwOiAnNXB4JyAgfSAgLyogcGxhbmNoZXIgKi8KICAgIF07CiAgICBmdW5jdGlvbiBhcHBseVN0ZXAocyl7CiAgICAgIHZhciBzdCA9IGlubmVyLnN0eWxlOwogICAgICBzdC5zZXRQcm9wZXJ0eSgnLS1ucHgtZnMnLCAgcy5mcyk7CiAgICAgIHN0LnNldFByb3BlcnR5KCctLW5weC1scycsICBzLmxzKTsKICAgICAgc3Quc2V0UHJvcGVydHkoJy0tbnB4LXB4JywgIHMucHgpOwogICAgICBzdC5zZXRQcm9wZXJ0eSgnLS1ucHgtZ2FwJywgcy5nYXApOwogICAgfQogICAgZnVuY3Rpb24gb3ZlcmZsb3dpbmcoKXsgcmV0dXJuIGlubmVyLnNjcm9sbFdpZHRoID4gaW5uZXIuY2xpZW50V2lkdGggKyAxOyB9CgogICAgdmFyIGZpdHRpbmcgPSBmYWxzZSwgbGFzdFcgPSAtMTsKICAgIGZ1bmN0aW9uIGZpdCgpewogICAgICBpZihmaXR0aW5nKXsgcmV0dXJuOyB9CiAgICAgIGZpdHRpbmcgPSB0cnVlOwogICAgICB0cnl7CiAgICAgICAgLyogQmFycmUgbm9uIG1lc3VyYWJsZSAobWFzcXVlZSwgb25nbGV0IHJlcGxpZSkgOiBuZSByaWVuIGNvbmNsdXJlLiAqLwogICAgICAgIGlmKGlubmVyLmNsaWVudFdpZHRoID4gNDApewogICAgICAgICAgdmFyIGksIGNob3NlbiA9IFNURVBTLmxlbmd0aCAtIDE7CiAgICAgICAgICBmb3IoaSA9IDA7IGkgPCBTVEVQUy5sZW5ndGg7IGkrKyl7CiAgICAgICAgICAgIGFwcGx5U3RlcChTVEVQU1tpXSk7CiAgICAgICAgICAgIGlmKCFvdmVyZmxvd2luZygpKXsgY2hvc2VuID0gaTsgYnJlYWs7IH0KICAgICAgICAgIH0KICAgICAgICAgIGlmKGNob3NlbiAhPT0gaSl7IGFwcGx5U3RlcChTVEVQU1tjaG9zZW5dKTsgfQogICAgICAgICAgbGFzdFcgPSBuYXYuY2xpZW50V2lkdGg7CiAgICAgICAgfQogICAgICB9Y2F0Y2goZXJyKXsKICAgICAgICBhcHBseVN0ZXAoU1RFUFNbMF0pOyAgLyogamFtYWlzIGRlIGJhcnJlIGNhc3NlZSAqLwogICAgICB9CiAgICAgIGZpdHRpbmcgPSBmYWxzZTsKICAgIH0KICAgIGZpdCgpOwoKICAgIC8qIExhIHBvbGljZSBkdSB0aGVtZSBhcnJpdmUgZW4gYXN5bmNocm9uZSA6IHJlbWVzdXJlciBhIHNvbiBhcnJpdmVlLiAqLwogICAgaWYoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbil7CiAgICAgIHRyeXsgZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbihmaXQsIGZpdCk7IH1jYXRjaChlcnIpe30KICAgIH0KICAgIHNldFRpbWVvdXQoZml0LCA2MDApOwogICAgc2V0VGltZW91dChmaXQsIDIwMDApOwoKICAgIC8qIExlIHBhc3NhZ2UgZW4gc3RpY2t5IGNoYW5nZSBsYSBsYXJnZXVyIHNhbnMgZXZlbmVtZW50IHJlc2l6ZS4gKi8KICAgIGlmKHdpbmRvdy5SZXNpemVPYnNlcnZlcil7CiAgICAgIHRyeXsKICAgICAgICBuZXcgUmVzaXplT2JzZXJ2ZXIoZnVuY3Rpb24oKXsKICAgICAgICAgIGlmKG5hdi5jbGllbnRXaWR0aCAhPT0gbGFzdFcpeyBmaXQoKTsgfQogICAgICAgIH0pLm9ic2VydmUobmF2KTsKICAgICAgfWNhdGNoKGVycil7fQogICAgfQoKICAgIC8qIEVuIG1vZGUgZGVmaWxlbWVudCwgZ2FyZGVyIGxhIHBhc3RpbGxlIGFjdGl2ZSB2aXNpYmxlLiAqLwogICAgZnVuY3Rpb24gcmV2ZWFsKGxpbmspewogICAgICBpZighbGluayB8fCAhb3ZlcmZsb3dpbmcoKSl7IHJldHVybjsgfQogICAgICB2YXIgbCA9IGxpbmsub2Zmc2V0TGVmdCwgciA9IGwgKyBsaW5rLm9mZnNldFdpZHRoOwogICAgICB2YXIgdnMgPSBpbm5lci5zY3JvbGxMZWZ0LCB2ZSA9IHZzICsgaW5uZXIuY2xpZW50V2lkdGg7CiAgICAgIGlmKGwgPCB2cyl7IGlubmVyLnNjcm9sbExlZnQgPSBNYXRoLm1heCgwLCBsIC0gMTIpOyB9CiAgICAgIGVsc2UgaWYociA+IHZlKXsgaW5uZXIuc2Nyb2xsTGVmdCA9IHIgLSBpbm5lci5jbGllbnRXaWR0aCArIDEyOyB9CiAgICB9CgogICAgZnVuY3Rpb24gdG9wT2Zmc2V0KCl7CiAgICAgIHZhciB2ID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tbnB4LXRvcCcpOwogICAgICByZXR1cm4gcGFyc2VJbnQodiwgMTApIHx8IDA7CiAgICB9CiAgICAvKiBEw6lmaWxlbWVudCBhdmVjIGNvbXBlbnNhdGlvbiBkZXMgZGV1eCBtZW51cy4gKi8KICAgIGZ1bmN0aW9uIHRvdGFsT2Zmc2V0KCl7IHJldHVybiB0b3BPZmZzZXQoKSArIG5hdi5vZmZzZXRIZWlnaHQgKyA4OyB9CgogICAgLyogLS0tLSBDb2xsYWdlIDogZml4ZWQgKyBwbGFjZWhvbGRlciBhbnRpLXNhdXQgKG1vZGUgJ2pzJykgLS0tLSAqLwogICAgdmFyIHBoID0gbnVsbDsKICAgIGlmKFNUSUNLX01PREUgPT09ICdqcycpewogICAgICBwaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICBwaC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICBuYXYucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocGgsIG5hdik7CiAgICB9CiAgICBmdW5jdGlvbiBzdGljaygpewogICAgICBpZighcGgpeyByZXR1cm47IH0KICAgICAgdmFyIGFuY2hvciA9IChwaC5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScpID8gbmF2IDogcGg7CiAgICAgIHZhciBzaG91bGQgPSBhbmNob3IuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIDw9IHRvcE9mZnNldCgpOwogICAgICBpZihzaG91bGQgJiYgIW5hdi5jbGFzc0xpc3QuY29udGFpbnMoJ25weC1zdHVjaycpKXsKICAgICAgICBwaC5zdHlsZS5oZWlnaHQgID0gbmF2Lm9mZnNldEhlaWdodCArICdweCc7CiAgICAgICAgcGguc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgbmF2LmNsYXNzTGlzdC5hZGQoJ25weC1zdHVjaycpOwogICAgICB9ZWxzZSBpZighc2hvdWxkICYmIG5hdi5jbGFzc0xpc3QuY29udGFpbnMoJ25weC1zdHVjaycpKXsKICAgICAgICBuYXYuY2xhc3NMaXN0LnJlbW92ZSgnbnB4LXN0dWNrJyk7CiAgICAgICAgcGguc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgfQogICAgfQoKICAgIC8qIC0tLS0gU2VjdGlvbiBhY3RpdmUgLS0tLSAqLwogICAgdmFyIGxhc3RDdXJyZW50ID0gbnVsbDsKICAgIGZ1bmN0aW9uIGhpZ2hsaWdodCgpewogICAgICB2YXIgbGltaXQgPSB0b3RhbE9mZnNldCgpICsgNDsKICAgICAgdmFyIGN1cnJlbnQgPSBudWxsOwogICAgICBlbnRyaWVzLmZvckVhY2goZnVuY3Rpb24oZSl7CiAgICAgICAgaWYoZS5zZWN0aW9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCA8PSBsaW1pdCl7IGN1cnJlbnQgPSBlOyB9CiAgICAgIH0pOwogICAgICBlbnRyaWVzLmZvckVhY2goZnVuY3Rpb24oZSl7CiAgICAgICAgZS5saW5rLmNsYXNzTGlzdC50b2dnbGUoJ25weC1hY3RpdmUnLCBlID09PSBjdXJyZW50KTsKICAgICAgfSk7CiAgICAgIGlmKGN1cnJlbnQgIT09IGxhc3RDdXJyZW50KXsKICAgICAgICBsYXN0Q3VycmVudCA9IGN1cnJlbnQ7CiAgICAgICAgaWYoY3VycmVudCl7IHJldmVhbChjdXJyZW50LmxpbmspOyB9CiAgICAgIH0KICAgIH0KCiAgICAvKiAtLS0tIENsaWMgc3VyIHVuZSBlbnRyw6llIC0tLS0gKi8KICAgIHZhciBzbW9vdGggPSAhd2luZG93Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJykubWF0Y2hlczsKICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlKXsKICAgICAgZS5saW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZXYpewogICAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgdmFyIHkgPSBlLnNlY3Rpb24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0IC0gdG90YWxPZmZzZXQoKTsKICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IHksIGJlaGF2aW9yOiBzbW9vdGggPyAnc21vb3RoJyA6ICdhdXRvJyB9KTsKICAgICAgICBoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCAnJywgJyMnICsgZS5zZWN0aW9uLmlkKTsKICAgICAgfSk7CiAgICB9KTsKCiAgICBmdW5jdGlvbiBvblNjcm9sbCgpeyBzdGljaygpOyBoaWdobGlnaHQoKTsgfQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsLCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZnVuY3Rpb24oKXsgZml0KCk7IG9uU2Nyb2xsKCk7IH0pOwogICAgb25TY3JvbGwoKTsKICAgIHJldHVybiB0cnVlOwogIH0KCiAgLyogLS0tLSBBbW9yw6dhZ2UgOiB0b3V0ZXMgbGVzIGluc3RhbmNlcywgYXZlYyBxdWVscXVlcyByZWxhbmNlcyAtLS0tLS0KICAgICBMZXMgcm93cyBVbmNvZGUgcGV1dmVudCDDqnRyZSBpbmplY3TDqWVzIGFwcsOocyBsZSBET01Db250ZW50TG9hZGVkCiAgICAgKGxhenkgLyBBSkFYKSA6IG9uIHJldGVudGUgcGVuZGFudCB+Miw1IHMgYXZhbnQgZGUgY29uY2x1cmUuICovCiAgZnVuY3Rpb24gYm9vdCgpewogICAgdmFyIG5hdnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubnB4LXN1Ym5hdjpub3QoW2RhdGEtbnB4LXJlYWR5XSknKTsKICAgIHZhciBwZW5kaW5nID0gMDsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBuYXZzLmxlbmd0aDsgaSsrKXsKICAgICAgaWYoIWluaXQobmF2c1tpXSkpeyBwZW5kaW5nKys7IH0KICAgIH0KICAgIHJldHVybiBwZW5kaW5nOwogIH0KCiAgZnVuY3Rpb24gcnVuKCl7CiAgICBpZihib290KCkgPT09IDApeyByZXR1cm47IH0KICAgIHZhciB0cmllcyA9IDA7CiAgICB2YXIgdGltZXIgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpewogICAgICB0cmllcysrOwogICAgICB2YXIgbGFzdCA9IHRyaWVzID49IDY7IC8qIDYgeCA0MDAgbXMgKi8KICAgICAgaWYoYm9vdCgpID09PSAwIHx8IGxhc3QpewogICAgICAgIGNsZWFySW50ZXJ2YWwodGltZXIpOwogICAgICAgIGlmKGxhc3QgJiYgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm5weC1zdWJuYXY6bm90KFtkYXRhLW5weC1yZWFkeV0pJykpewogICAgICAgICAgd2Fybk5vdGhpbmdGb3VuZCgpOwogICAgICAgIH0KICAgICAgfQogICAgfSwgNDAwKTsKICB9CgogIGlmKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdsb2FkaW5nJyl7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgcnVuKTsKICB9ZWxzZXsKICAgIHJ1bigpOwogIH0KfSkoKTsKPC9zY3JpcHQ+[\/vc_raw_html][\/vc_column][\/vc_row][vc_row unlock_row_content=\u00a0\u00bbyes\u00a0\u00bb row_height_percent=\u00a0\u00bb0&Prime; override_padding=\u00a0\u00bbyes\u00a0\u00bb h_padding=\u00a0\u00bb5&Prime; top_padding=\u00a0\u00bb4&Prime; bottom_padding=\u00a0\u00bb5&Prime; [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"iawp_total_views":440,"footnotes":"","_members_access_role":[],"_members_access_error":""},"class_list":["post-220","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Exa-SofT : logiciels et outils HPC - NumPEx<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/numpex.org\/fr\/exa-soft-logiciels-et-outils-hpc\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Exa-SofT : logiciels et outils HPC - NumPEx\" \/>\n<meta property=\"og:description\" content=\"[vc_row row_height_percent=\u00a0\u00bb0&Prime; overlay_alpha=\u00a0\u00bb50&Prime; gutter_size=\u00a0\u00bb3&Prime; column_width_percent=\u00a0\u00bb100&Prime; shift_y=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; sticky=\u00a0\u00bbyes\u00a0\u00bb content_parallax=\u00a0\u00bb0&Prime; uncode_shortcode_id=\u00a0\u00bb716742&Prime; css=\u00a0\u00bb.vc_custom_1785869798726{margin-top: 1% !important;}\u00a0\u00bb][vc_column width=\u00a0\u00bb1\/1&Prime;][vc_raw_html]PCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICBOdW1QRXgg4oCUIE1lbnUgZGUgc2VjdGlvbnMgc3RpY2t5IOKAlCB2LjYuNAogIE5hb3MgQWdlbmN5IMK3IDIwMjYtMDktMTAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgoKPHN0eWxlPgogIDpyb290eyAtLW5weC10b3A6IDYwcHg7IH0gLyogaGF1dGV1ciBkdSBoZWFkZXIgVW5jb2RlIHN0aWNreSAqLwogIC5ucHgtc3VibmF2ewogICAgYmFja2dyb3VuZDogI0UwOTkwMDsgLyogb3JhbmdlIGQnYWNjZW50dWF0aW9uIE51bVBFeCAqLwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA4KTsKICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICB3aWR0aDogMTAwJTsKICAgIHotaW5kZXg6IDQwOwogIH0KICAubnB4LXN1Ym5hdltoaWRkZW5deyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KICAubnB4LXN1Ym5hdi5ucHgtc3R1Y2t7IGJvcmRlci1yYWRpdXM6IDAgMCAxMnB4IDEycHg7IH0KICAubnB4LXN1Ym5hdi5ucHgtc3R1Y2t7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB0b3A6IHZhcigtLW5weC10b3ApOwogICAgbGVmdDogMDsgcmlnaHQ6IDA7CiAgfQogIC5ucHgtc3VibmF2X19pbm5lcnsKICAgIC8qIHYuNi40IDogbWV0cmlxdWVzIHBpbG90ZWVzIHBhciB2YXJpYWJsZXMuIExlcyB2YWxldXJzIGRlIHJlcGxpCiAgICAgICBTT05UIGNlbGxlcyBkZSBsYSB2LjYuMiA6IHNhbnMgSlMsIHJlbmR1IGlkZW50aXF1ZS4gKi8KICAgIG1heC13aWR0aDogMTE0MHB4OwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBwYWRkaW5nOiAwIDI0cHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC13cmFwOiBub3dyYXA7CiAgICBnYXA6IDAgdmFyKC0tbnB4LWdhcCwgMTBweCk7CiAgICBtaW4taGVpZ2h0OiA0NnB4OwogICAgcGFkZGluZy10b3A6IDZweDsKICAgIHBhZGRpbmctYm90dG9tOiA2cHg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZm9udC1zaXplOiB2YXIoLS1ucHgtZnMsIDExcHgpOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1ucHgtbHMsIC4xMmVtKTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgb3ZlcmZsb3cteTogaGlkZGVuOwogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOwogICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOwogICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOwogICAgLyogZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc3lzdGVtLXVpLCBzYW5zLXNlcmlmOyAqLwogIH0KICAubnB4LXN1Ym5hdl9faW5uZXI6Oi13ZWJraXQtc2Nyb2xsYmFyeyBkaXNwbGF5OiBub25lOyB9CiAgLyogU3DDqWNpZmljaXTDqSByZW5mb3Jjw6llICsgIWltcG9ydGFudCA6IG5ldXRyYWxpc2UgbGVzIGNvdWxldXJzIGRlIGxpZW5zIGR1IHRow6htZSBVbmNvZGUgKG9yYW5nZSBhdSBzdXJ2b2wvY2xpYykgKi8KICBuYXYubnB4LXN1Ym5hdiAubnB4LXN1Ym5hdl9faW5uZXIgYSwKICBuYXYubnB4LXN1Ym5hdiAubnB4LXN1Ym5hdl9faW5uZXIgYTp2aXNpdGVkewogICAgY29sb3I6IHJnYmEoMjU1LDI1MCwyNDMsLjg4KSAhaW1wb3J0YW50OyAvKiBibGFuYyBjYXNzw6kgKi8KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogICAgcGFkZGluZzogOHB4IHZhcigtLW5weC1weCwgMTRweCk7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIHRyYW5zaXRpb246IGNvbG9yIC4xOHMsIGJhY2tncm91bmQtY29sb3IgLjE4czsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7ICAvKiB2LjYuNCA6IHVuIGxpYmVsbGUgbmUgc2UgY291cGUgamFtYWlzICovCiAgICBmbGV4OiAwIDAgYXV0bzsgICAgICAgLyogdi42LjQgOiBsZXMgcGFzdGlsbGVzIG5lIHNlIGNvbXByaW1lbnQgcGFzICovCiAgfQogIG5hdi5ucHgtc3VibmF2IC5ucHgtc3VibmF2X19pbm5lciBhOmhvdmVyLAogIG5hdi5ucHgtc3VibmF2IC5ucHgtc3VibmF2X19pbm5lciBhOmZvY3VzLAogIG5hdi5ucHgtc3VibmF2IC5ucHgtc3VibmF2X19pbm5lciBhOmFjdGl2ZXsKICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4xMik7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKICB9CiAgbmF2Lm5weC1zdWJuYXYgLm5weC1zdWJuYXZfX2lubmVyIGEubnB4LWFjdGl2ZSwKICBuYXYubnB4LXN1Ym5hdiAubnB4LXN1Ym5hdl9faW5uZXIgYS5ucHgtYWN0aXZlOmhvdmVyewogICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6ICNBODZGMDA7IC8qIG9yYW5nZSBmb25jw6ksIGFwbGF0IHNpbXBsZSAqLwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICB9Cjwvc3R5bGU+Cgo8bmF2IGNsYXNzPSJucHgtc3VibmF2IiBhcmlhLWxhYmVsPSJQYWdlIHNlY3Rpb25zIiBoaWRkZW4+CiAgPGRpdiBjbGFzcz0ibnB4LXN1Ym5hdl9faW5uZXIiPjwvZGl2Pgo8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbigpewogICd1c2Ugc3RyaWN0JzsKCiAgLyogPT09PT09PT09PT09PT09PT09PT0gQ09ORklHIFNJVEUgPT09PT09PT09PT09PT09PT09PT0KICAgICBTZXVsZSB6b25lIMOgIGFkYXB0ZXIgcG91ciByw6l1dGlsaXNlciBsZSBibG9jIGFpbGxldXJzLiAqLwogIHZhciBQUkVGSVggPSAnbmF2LSc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHByw6lmaXhlIGRlcyBSb3cgSUQgw6AgZMOpdGVjdGVyICovCiAgdmFyIFNUUklQICA9IFsvLShlbnxmcikkL2ksIC8tZXhhLVthLXowLTldKyQvaV07ICAgLyogc3VmZml4ZXMgZCd1bmljaXTDqSDDoCBpZ25vcmVyICAqLwoKICAvKiBSZXBsaSBwb3VyIGxlcyBwYWdlcyBQQVMgRU5DT1JFIE1JR1LDiUVTIHZlcnMgbGUgcHLDqWZpeGUgbmF2LQogICAgICh0eXBpcXVlbWVudCBsZXMgdHJhZHVjdGlvbnMgV1BNTCBkb250IGxlcyBSb3cgSUQgbidvbnQgcGFzIMOpdMOpCiAgICAgcmVub21tw6lzKS4gVXRpbGlzw6kgVU5JUVVFTUVOVCBzaSBsYSBwYWdlIG5lIGNvbnRpZW50IGF1Y3VuZSByb3cKICAgICDCqyBuYXYtIMK7LiBSZXByZW5kIGxlcyBjbMOpcyBkZSBsYSB2LjUgOiB1bmUgcm93IG5vbW3DqWUKICAgICDCqyBjb25zb3J0aXVtLWV4YS1tYS1lbiDCuyBvdSBzaW1wbGVtZW50IMKrIGNvbnNvcnRpdW0gwrsgZXN0CiAgICAgcmV0cm91dsOpZS4gTGlzdGUgZmVybcOpZSA9IGF1Y3VuIHJpc3F1ZSBkZSBmYXV4IHBvc2l0aWYuICovCiAgdmFyIExFR0FDWV9LRVlTID0gWwogICAgJ292ZXJ2aWV3JywgJ2NvbnNvcnRpdW0nLCAncmVzdWx0cycsICdtZXRyaWNzJywgJ3NvZnR3YXJlJywKICAgICduZXdzJywgJ2V2ZW50cycsICdhZ2VuZGEnLCAndGVhbScsICdjb250YWN0JwogIF07CgogIHZhciBMQUJFTFMgPSB7CiAgICAvKiBMaWJlbGzDqXMgcHLDqWbDqXLDqXMgcGFyIGNsw6kuIFRvdXRlIGNsw6kgYWJzZW50ZSBlc3QgYWZmaWNow6llCiAgICAgICBjYXBpdGFsaXPDqWUgdGVsbGUgcXVlbGxlIChuYXYtam9pbi11cyAtPiDCqyBKb2luIFVzIMK7KS4gKi8KICAgIGVuOiB7CiAgICAgICdjb25zb3J0aXVtJzogJ0NvbnNvcnRpdW0gJiBXb3JrcGFja2FnZXMnLAogICAgICAncmVzdWx0cyc6ICAgICdSZXN1bHRzICYgSW1wYWN0JywKICAgICAgJ21ldHJpY3MnOiAgICAnUHJvamVjdCBNZXRyaWNzJywKICAgICAgJ3RlYW0nOiAgICAgICAnVGhlIFRlYW0nCiAgICB9LAogICAgZnI6IHsKICAgICAgJ292ZXJ2aWV3JzogICAnUHLDqXNlbnRhdGlvbicsCiAgICAgICdjb25zb3J0aXVtJzogJ0NvbnNvcnRpdW0gZXQgbG90cyBkZSB0cmF2YWlsJywKICAgICAgJ3Jlc3VsdHMnOiAgICAnUsOpc3VsdGF0cyBldCBpbXBhY3QnLAogICAgICAnbWV0cmljcyc6ICAgICdDaGlmZnJlcyBjbMOpcycsCiAgICAgICdzb2Z0d2FyZSc6ICAgJ0xvZ2ljaWVscycsCiAgICAgICduZXdzJzogICAgICAgJ0FjdHVhbGl0w6lzJywKICAgICAgJ2V2ZW50cyc6ICAgICAnw4l2w6huZW1lbnRzJywKICAgICAgJ3RlYW0nOiAgICAgICAnTOKAmcOpcXVpcGUnCiAgICB9CiAgfTsKICB2YXIgU1RJQ0tfTU9ERSA9ICd1bmNvZGUnOyAvKiAndW5jb2RlJyA9IGxhIHJvdyBnw6hyZSBsZSBzdGlja3kgwrcgJ2pzJyA9IGxlIHNjcmlwdCBjb2xsZSBsdWktbcOqbWUgKi8KICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKICB2YXIgREVCVUcgPSAvWz8mXW5weGRlYnVnPTEvLnRlc3Qod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7CiAgZnVuY3Rpb24gbG9nKCl7CiAgICBpZighREVCVUcgfHwgIXdpbmRvdy5jb25zb2xlIHx8ICFjb25zb2xlLmxvZykgcmV0dXJuOwogICAgY29uc29sZS5sb2cuYXBwbHkoY29uc29sZSwgWydbbnB4LXN1Ym5hdl0nXS5jb25jYXQoW10uc2xpY2UuY2FsbChhcmd1bWVudHMpKSk7CiAgfQoKICAvKiAtLS0tIExhbmd1ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgPGh0bWwgbGFuZz4gcG9zw6kgcGFyIFdQTUwuIFJlcGxpcyBzdWNjZXNzaWZzIHNpIGwnYXR0cmlidXQgbWFucXVlIDoKICAgICB1biBhbmPDqnRyZSBwb3J0ZXVyIGRlIGxhbmcsIHB1aXMgbGVzIGNsYXNzZXMgZHUgYm9keS4gKi8KICBmdW5jdGlvbiBkZXRlY3RMYW5nKGVsKXsKICAgIHZhciB0YWcgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdsYW5nJykgfHwgJyc7CiAgICBpZighdGFnICYmIGVsICYmIGVsLmNsb3Nlc3QpewogICAgICB2YXIgaG9zdCA9IGVsLmNsb3Nlc3QoJ1tsYW5nXScpOwogICAgICBpZihob3N0KXsgdGFnID0gaG9zdC5nZXRBdHRyaWJ1dGUoJ2xhbmcnKSB8fCAnJzsgfQogICAgfQogICAgaWYoIXRhZyl7CiAgICAgIHZhciBjbHMgPSAoZG9jdW1lbnQuYm9keSAmJiBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSkgfHwgJyc7CiAgICAgIGlmKC8oPzpsYW5nfGxhbmd1YWdlKS1mclxifGZyW18tXUZSL2kudGVzdChjbHMpKXsgdGFnID0gJ2ZyJzsgfQogICAgfQogICAgcmV0dXJuIC9eZnIvaS50ZXN0KHRhZykgPyAnZnInIDogJ2VuJzsKICB9CgogIGZ1bmN0aW9uIGtleU9mKGlkKXsKICAgIHZhciBrID0gaWQuc2xpY2UoUFJFRklYLmxlbmd0aCkudG9Mb3dlckNhc2UoKTsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBTVFJJUC5sZW5ndGg7IGkrKyl7IGsgPSBrLnJlcGxhY2UoU1RSSVBbaV0sICcnKTsgfQogICAgcmV0dXJuIGs7CiAgfQogIGZ1bmN0aW9uIHRpdGxlQ2FzZShrZXkpewogICAgcmV0dXJuIGtleS5zcGxpdCgnLScpLm1hcChmdW5jdGlvbih3KXsKICAgICAgcmV0dXJuIHcgPyB3LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdy5zbGljZSgxKSA6IHc7CiAgICB9KS5qb2luKCcgJyk7CiAgfQoKICAvKiBEb3VibGUgc8OpY3VyaXTDqSA6IMOpY2FydGUgbGVzIG1lbnVzIGfDqW7DqXLDqXMgcGFyIFdvcmRQcmVzcyBldCB0b3V0IGNlCiAgICAgcXVpIHZpdCBkYW5zIGxhIG5hdmlnYXRpb24gb3UgbGUgaGVhZGVyIOKAlCBpbmNoYW5nw6kgZGVwdWlzIGxhIHYuNi4xLiAqLwogIGZ1bmN0aW9uIGlzU2VjdGlvbkNhbmRpZGF0ZShlbCl7CiAgICB2YXIgdGFnID0gZWwudGFnTmFtZTsKICAgIGlmKHRhZyA9PT0gJ1VMJyB8fCB0YWcgPT09ICdMSScgfHwgdGFnID09PSAnQScgfHwgdGFnID09PSAnTkFWJyl7IHJldHVybiBmYWxzZTsgfQogICAgaWYoZWwuY2xvc2VzdCAmJiBlbC5jbG9zZXN0KCduYXYsIGhlYWRlciwgLm5weC1zdWJuYXYnKSl7IHJldHVybiBmYWxzZTsgfQogICAgcmV0dXJuIHRydWU7CiAgfQoKICBmdW5jdGlvbiBpbkRvY3VtZW50T3JkZXIoYSwgYil7CiAgICB2YXIgcG9zID0gYS5zZWN0aW9uLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIuc2VjdGlvbik7CiAgICByZXR1cm4gKHBvcyAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HKSA\/IC0xIDogMTsKICB9CgogIC8qIC0tLS0gRMOpY291dmVydGUgZGVzIHNlY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgMSkgTW9kZSBub21pbmFsIDogdG91dGVzIGxlcyByb3dzIGRvbnQgbCdpZCBjb21tZW5jZSBwYXIgwqsgbmF2LSDCuy4KICAgICAyKSBSZXBsaSA6IHNpIGV0IHNldWxlbWVudCBzaSBsZSBtb2RlIDEgbmUgZG9ubmUgUklFTiwgb24gY2hlcmNoZQogICAgICAgIGxlcyBjbMOpcyBow6lyaXTDqWVzIGRlIGxhIHYuNSwgYXZlYyBvdSBzYW5zIHN1ZmZpeGUuCiAgICAgUmVudm9pZSB7IGVudHJpZXM6IFsuLi5dLCBtb2RlOiAncHJlZml4JyB8ICdsZWdhY3knIHwgJ25vbmUnIH0uICovCiAgZnVuY3Rpb24gZGlzY292ZXIoZGljdCl7CiAgICB2YXIgc2VlbiA9IE9iamVjdC5jcmVhdGUobnVsbCksIGVudHJpZXMgPSBbXTsKCiAgICBmdW5jdGlvbiBwdXNoKGVsLCBrZXkpewogICAgICBpZighZWwgfHwgIWtleSB8fCBzZWVuW2tleV0peyByZXR1cm47IH0KICAgICAgc2VlbltrZXldID0gdHJ1ZTsKICAgICAgZW50cmllcy5wdXNoKHsgc2VjdGlvbjogZWwsIGtleToga2V5LCBsYWJlbDogZGljdFtrZXldIHx8IHRpdGxlQ2FzZShrZXkpIH0pOwogICAgfQoKICAgIHZhciBmb3VuZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tpZF49IicgKyBQUkVGSVggKyAnIl0nKTsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBmb3VuZC5sZW5ndGg7IGkrKyl7CiAgICAgIGlmKCFpc1NlY3Rpb25DYW5kaWRhdGUoZm91bmRbaV0pKXsgY29udGludWU7IH0KICAgICAgcHVzaChmb3VuZFtpXSwga2V5T2YoZm91bmRbaV0uaWQpKTsKICAgIH0KICAgIGlmKGVudHJpZXMubGVuZ3RoKXsKICAgICAgd2FybklmUGFydGlhbGx5TWlncmF0ZWQoc2Vlbik7CiAgICAgIHJldHVybiB7IGVudHJpZXM6IGVudHJpZXMsIG1vZGU6ICdwcmVmaXgnIH07CiAgICB9CgogICAgZm9yKHZhciBqID0gMDsgaiA8IExFR0FDWV9LRVlTLmxlbmd0aDsgaisrKXsKICAgICAgdmFyIGsgID0gTEVHQUNZX0tFWVNbal07CiAgICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGspIHx8IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tpZF49IicgKyBrICsgJy0iXScpOwogICAgICBpZihlbCAmJiBpc1NlY3Rpb25DYW5kaWRhdGUoZWwpKXsgcHVzaChlbCwgayk7IH0KICAgIH0KICAgIGlmKGVudHJpZXMubGVuZ3RoKXsKICAgICAgZW50cmllcy5zb3J0KGluRG9jdW1lbnRPcmRlcik7IC8qIGxhIGxpc3RlIGRlcyBjbMOpcyBuZSBzdWl0IHBhcyBsJ29yZHJlIGRlIGxhIHBhZ2UgKi8KICAgICAgcmV0dXJuIHsgZW50cmllczogZW50cmllcywgbW9kZTogJ2xlZ2FjeScgfTsKICAgIH0KCiAgICByZXR1cm4geyBlbnRyaWVzOiBlbnRyaWVzLCBtb2RlOiAnbm9uZScgfTsKICB9CgogIC8qIC0tLS0gTWlncmF0aW9uIHBhcnRpZWxsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIENhcyBwacOoZ2UgOiBzdXIgdW5lIG3Dqm1lIHBhZ2UgY2VydGFpbmVzIHJvd3Mgb250IMOpdMOpIHJlbm9tbcOpZXMgZW4KICAgICBuYXYt4oCmIGV0IGQnYXV0cmVzIG5vbi4gTGUgbW9kZSBub21pbmFsIGwnZW1wb3J0ZSBldCBsZXMgcm93cyBub24KICAgICByZW5vbW3DqWVzIGRpc3BhcmFpc3NlbnQgU0lMRU5DSUVVU0VNRU5UIGR1IG1lbnUuIE9uIGxlIHNpZ25hbGUuICovCiAgZnVuY3Rpb24gd2FybklmUGFydGlhbGx5TWlncmF0ZWQoc2Vlbil7CiAgICBpZighd2luZG93LmNvbnNvbGUgfHwgIWNvbnNvbGUud2Fybil7IHJldHVybjsgfQogICAgdmFyIHN0cmFnZ2xlcnMgPSBbXTsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBMRUdBQ1lfS0VZUy5sZW5ndGg7IGkrKyl7CiAgICAgIHZhciBrID0gTEVHQUNZX0tFWVNbaV07CiAgICAgIGlmKHNlZW5ba10peyBjb250aW51ZTsgfSAvKiBkw6lqw6AgcHLDqXNlbnQgdmlhIHVuZSByb3cgbmF2LSAqLwogICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChrKSB8fCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdbaWRePSInICsgayArICctIl0nKTsKICAgICAgaWYoZWwgJiYgaXNTZWN0aW9uQ2FuZGlkYXRlKGVsKSl7IHN0cmFnZ2xlcnMucHVzaChrICsgJyAoIycgKyBlbC5pZCArICcpJyk7IH0KICAgIH0KICAgIGlmKCFzdHJhZ2dsZXJzLmxlbmd0aCl7IHJldHVybjsgfQogICAgY29uc29sZS53YXJuKAogICAgICAnW25weC1zdWJuYXZdIE1pZ3JhdGlvbiBpbmNvbXBsZXRlIHN1ciBjZXR0ZSBwYWdlIDogJyArIHN0cmFnZ2xlcnMubGVuZ3RoICsKICAgICAgJyByb3cocykgcG9ydGVudCBlbmNvcmUgdW4gYW5jaWVuIFJvdyBJRCBldCBzb250IEFCU0VOVEVTIGR1IG1lbnUgLT4gJyArCiAgICAgIHN0cmFnZ2xlcnMuam9pbignLCAnKSArICdcbicgKwogICAgICAnTGVzIHJlbm9tbWVyIGF2ZWMgbGUgcHJlZml4ZSAiJyArIFBSRUZJWCArICciIChleC4gJyArIFBSRUZJWCArIExFR0FDWV9LRVlTWzBdICsgJykuJwogICAgKTsKICB9CgogIC8qIC0tLS0gTWVzc2FnZSBkZSBkaWFnbm9zdGljIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIEludmlzaWJsZSBwb3VyIGxlcyB2aXNpdGV1cnMsIGTDqWNpc2lmIHBvdXIgbGEgcGVyc29ubmUgcXVpIHJlcHJlbmQKICAgICBsZSBkb3NzaWVyIDogb24gZGl0IGNlIHF1aSBhIMOpdMOpIGNoZXJjaMOpIGV0IGNlIHF1aSBhIMOpdMOpIHRyb3V2w6kuICovCiAgZnVuY3Rpb24gd2Fybk5vdGhpbmdGb3VuZCgpewogICAgaWYoIXdpbmRvdy5jb25zb2xlIHx8ICFjb25zb2xlLndhcm4peyByZXR1cm47IH0KICAgIHZhciB3aXRoSWQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbaWRdJyk7CiAgICBjb25zb2xlLndhcm4oCiAgICAgICdbbnB4LXN1Ym5hdl0gQXVjdW5lIHNlY3Rpb24gdHJvdXbDqWUgOiBsYSBiYXJyZSByZXN0ZSBtYXNxdcOpZS5cbicgKwogICAgICAnLSBSZWNoZXJjaMOpIGVuIHByaW9yaXTDqSA6IGRlcyBSb3cgSUQgY29tbWVuw6dhbnQgcGFyICInICsgUFJFRklYICsgJyIgKGV4LiBuYXYtb3ZlcnZpZXcpLlxuJyArCiAgICAgICctIFB1aXMsIGVuIHJlcGxpLCBsZXMgY2xlcyBoZXJpdGVlcyA6ICcgKyBMRUdBQ1lfS0VZUy5qb2luKCcsICcpICsgJy5cbicgKwogICAgICAnLSBQYWdlIGxhbmc9IicgKyAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgnbGFuZycpIHx8ICcoYWJzZW50KScpICsgJyIsICcgKwogICAgICB3aXRoSWQubGVuZ3RoICsgJyBlbGVtZW50KHMpIHBvcnRlbnQgdW4gaWQuXG4nICsKICAgICAgJy0gQ2F1c2UgbGEgcGx1cyBmcmVxdWVudGUgOiBsZXMgUm93IElEIGRlIENFVFRFIHBhZ2UgbmUgc29udCBwYXMgbm9tbWVzLiAnICsKICAgICAgJ1NvdXMgV1BNTCB1bmUgdHJhZHVjdGlvbiBlc3QgdW4gcG9zdCBkaXN0aW5jdCDigJQgcmVub21tZXIgbGVzIFJvdyBJRCBkZSBsYSBwYWdlICcgKwogICAgICAnc291cmNlIG5lIHJlbm9tbWUgcGFzIGNldXggZGUgbGEgdHJhZHVjdGlvbiA6IGlsIGZhdXQgbGVzIHNhaXNpciBzdXIgY2hhcXVlIGxhbmd1ZS5cbicgKwogICAgICAnLSBQb3VyIGxhIGxpc3RlIGRlcyBpZHMgcHJlc2VudHMsIHJlY2hhcmdlciBsYSBwYWdlIGF2ZWMgP25weGRlYnVnPTEnCiAgICApOwogICAgaWYoREVCVUcpewogICAgICB2YXIgaWRzID0gW107CiAgICAgIGZvcih2YXIgaSA9IDA7IGkgPCB3aXRoSWQubGVuZ3RoOyBpKyspeyBpZHMucHVzaCh3aXRoSWRbaV0uaWQpOyB9CiAgICAgIGNvbnNvbGUud2FybignW25weC1zdWJuYXZdIGlkcyBwcmVzZW50cyBzdXIgbGEgcGFnZSA6JywgaWRzKTsKICAgIH0KICB9CgogIC8qIC0tLS0gSW5pdGlhbGlzYXRpb24gZCd1bmUgaW5zdGFuY2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICBSZW52b2llIHRydWUgc2kgbGEgYmFycmUgYSDDqXTDqSBjb25zdHJ1aXRlLCBmYWxzZSBzJ2lsIG4neSBhdmFpdAogICAgIGF1Y3VuZSBzZWN0aW9uIChsJ2luc3RhbmNlIHJlc3RlIGFsb3JzIMOpbGlnaWJsZSDDoCB1bmUgbm91dmVsbGUKICAgICB0ZW50YXRpdmUgOiBkYXRhLW5weC1yZWFkeSBuJ2VzdCBwb3PDqSBxdSdlbiBjYXMgZGUgc3VjY8OocykuICovCiAgZnVuY3Rpb24gaW5pdChuYXYpewogICAgdmFyIGlubmVyID0gbmF2LnF1ZXJ5U2VsZWN0b3IoJy5ucHgtc3VibmF2X19pbm5lcicpOwogICAgaWYoIWlubmVyKXsKICAgICAgbmF2LnNldEF0dHJpYnV0ZSgnZGF0YS1ucHgtcmVhZHknLCAnMScpOyAvKiBiYWxpc2FnZSBpbmF0dGVuZHUgOiBuZSBwYXMgYm91Y2xlciBkZXNzdXMgKi8KICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgdmFyIGxhbmcgID0gZGV0ZWN0TGFuZyhuYXYpOwogICAgdmFyIGRpY3QgID0gTEFCRUxTW2xhbmddIHx8IHt9OwogICAgdmFyIGZvdW5kID0gZGlzY292ZXIoZGljdCk7CiAgICB2YXIgZW50cmllcyA9IGZvdW5kLmVudHJpZXM7CgogICAgaWYoIWVudHJpZXMubGVuZ3RoKXsgcmV0dXJuIGZhbHNlOyB9CgogICAgbmF2LnNldEF0dHJpYnV0ZSgnZGF0YS1ucHgtcmVhZHknLCAnMScpOwogICAgbG9nKCdtb2RlID0nLCBmb3VuZC5tb2RlLCAnfCBsYW5nID0nLCBsYW5nLCAnfCBlbnRyZWVzID0nLCBlbnRyaWVzLm1hcChmdW5jdGlvbihlKXsKICAgICAgcmV0dXJuIGUua2V5ICsgJyAtPiAnICsgZS5sYWJlbCArICcgKCMnICsgZS5zZWN0aW9uLmlkICsgJyknOwogICAgfSkpOwoKICAgIGlubmVyLmlubmVySFRNTCA9ICcnOwogICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uKGUpewogICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgYS5ocmVmID0gJyMnICsgZS5zZWN0aW9uLmlkOwogICAgICBhLnRleHRDb250ZW50ID0gZS5sYWJlbDsKICAgICAgaW5uZXIuYXBwZW5kQ2hpbGQoYSk7CiAgICAgIGUubGluayA9IGE7CiAgICB9KTsKICAgIG5hdi5yZW1vdmVBdHRyaWJ1dGUoJ2hpZGRlbicpOwoKICAgIC8qIC0tLS0gdi42LjQgOiBsYSBiYXJyZSB0aWVudCBzdXIgdW5lIGxpZ25lIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgZmxleC13cmFwOm5vd3JhcCBzdXBwcmltZSBsYSAyZSBsaWduZS4gT24gbWVzdXJlIGV0IG9uIHJldGllbnQgbGUKICAgICAgIFBSRU1JRVIgcGFsaWVyIHF1aSByZW50cmUuIExlIHBhbGllciAwIGVzdCBsZSByZW5kdSB2LjYuMiA6IHVuZQogICAgICAgYmFycmUgcXVpIHJlbnRyYWl0IGRlamEgbmUgYm91Z2UgcGFzIGQndW4gcGl4ZWwuIFNpIG1lbWUgbGUKICAgICAgIHBsYW5jaGVyIGRlYm9yZGUgKHRlbGVwaG9uZSksIGxhIGJhcnJlIGRlZmlsZSBob3Jpem9udGFsZW1lbnQuCiAgICAgICBUb3V0IGVzdCBlbnZlbG9wcGUgOiBlbiBjYXMgZCdlcnJldXIgb24gcmV2aWVudCBhdSBwYWxpZXIgMC4gKi8KICAgIHZhciBTVEVQUyA9IFsKICAgICAgeyBmczogJzExcHgnLCAgIGxzOiAnLjEyZW0nLCBweDogJzE0cHgnLCBnYXA6ICcxMHB4JyB9LCAvKiByZW5kdSB2LjYuMiAqLwogICAgICB7IGZzOiAnMTFweCcsICAgbHM6ICcuMDllbScsIHB4OiAnMTNweCcsIGdhcDogJzlweCcgIH0sCiAgICAgIHsgZnM6ICcxMC41cHgnLCBsczogJy4wN2VtJywgcHg6ICcxMnB4JywgZ2FwOiAnOHB4JyAgfSwKICAgICAgeyBmczogJzEwcHgnLCAgIGxzOiAnLjA2ZW0nLCBweDogJzExcHgnLCBnYXA6ICc3cHgnICB9LAogICAgICB7IGZzOiAnOS41cHgnLCAgbHM6ICcuMDVlbScsIHB4OiAnMTBweCcsIGdhcDogJzZweCcgIH0sCiAgICAgIHsgZnM6ICc5cHgnLCAgICBsczogJy4wNGVtJywgcHg6ICc5cHgnLCAgZ2FwOiAnNXB4JyAgfSAgLyogcGxhbmNoZXIgKi8KICAgIF07CiAgICBmdW5jdGlvbiBhcHBseVN0ZXAocyl7CiAgICAgIHZhciBzdCA9IGlubmVyLnN0eWxlOwogICAgICBzdC5zZXRQcm9wZXJ0eSgnLS1ucHgtZnMnLCAgcy5mcyk7CiAgICAgIHN0LnNldFByb3BlcnR5KCctLW5weC1scycsICBzLmxzKTsKICAgICAgc3Quc2V0UHJvcGVydHkoJy0tbnB4LXB4JywgIHMucHgpOwogICAgICBzdC5zZXRQcm9wZXJ0eSgnLS1ucHgtZ2FwJywgcy5nYXApOwogICAgfQogICAgZnVuY3Rpb24gb3ZlcmZsb3dpbmcoKXsgcmV0dXJuIGlubmVyLnNjcm9sbFdpZHRoID4gaW5uZXIuY2xpZW50V2lkdGggKyAxOyB9CgogICAgdmFyIGZpdHRpbmcgPSBmYWxzZSwgbGFzdFcgPSAtMTsKICAgIGZ1bmN0aW9uIGZpdCgpewogICAgICBpZihmaXR0aW5nKXsgcmV0dXJuOyB9CiAgICAgIGZpdHRpbmcgPSB0cnVlOwogICAgICB0cnl7CiAgICAgICAgLyogQmFycmUgbm9uIG1lc3VyYWJsZSAobWFzcXVlZSwgb25nbGV0IHJlcGxpZSkgOiBuZSByaWVuIGNvbmNsdXJlLiAqLwogICAgICAgIGlmKGlubmVyLmNsaWVudFdpZHRoID4gNDApewogICAgICAgICAgdmFyIGksIGNob3NlbiA9IFNURVBTLmxlbmd0aCAtIDE7CiAgICAgICAgICBmb3IoaSA9IDA7IGkgPCBTVEVQUy5sZW5ndGg7IGkrKyl7CiAgICAgICAgICAgIGFwcGx5U3RlcChTVEVQU1tpXSk7CiAgICAgICAgICAgIGlmKCFvdmVyZmxvd2luZygpKXsgY2hvc2VuID0gaTsgYnJlYWs7IH0KICAgICAgICAgIH0KICAgICAgICAgIGlmKGNob3NlbiAhPT0gaSl7IGFwcGx5U3RlcChTVEVQU1tjaG9zZW5dKTsgfQogICAgICAgICAgbGFzdFcgPSBuYXYuY2xpZW50V2lkdGg7CiAgICAgICAgfQogICAgICB9Y2F0Y2goZXJyKXsKICAgICAgICBhcHBseVN0ZXAoU1RFUFNbMF0pOyAgLyogamFtYWlzIGRlIGJhcnJlIGNhc3NlZSAqLwogICAgICB9CiAgICAgIGZpdHRpbmcgPSBmYWxzZTsKICAgIH0KICAgIGZpdCgpOwoKICAgIC8qIExhIHBvbGljZSBkdSB0aGVtZSBhcnJpdmUgZW4gYXN5bmNocm9uZSA6IHJlbWVzdXJlciBhIHNvbiBhcnJpdmVlLiAqLwogICAgaWYoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbil7CiAgICAgIHRyeXsgZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbihmaXQsIGZpdCk7IH1jYXRjaChlcnIpe30KICAgIH0KICAgIHNldFRpbWVvdXQoZml0LCA2MDApOwogICAgc2V0VGltZW91dChmaXQsIDIwMDApOwoKICAgIC8qIExlIHBhc3NhZ2UgZW4gc3RpY2t5IGNoYW5nZSBsYSBsYXJnZXVyIHNhbnMgZXZlbmVtZW50IHJlc2l6ZS4gKi8KICAgIGlmKHdpbmRvdy5SZXNpemVPYnNlcnZlcil7CiAgICAgIHRyeXsKICAgICAgICBuZXcgUmVzaXplT2JzZXJ2ZXIoZnVuY3Rpb24oKXsKICAgICAgICAgIGlmKG5hdi5jbGllbnRXaWR0aCAhPT0gbGFzdFcpeyBmaXQoKTsgfQogICAgICAgIH0pLm9ic2VydmUobmF2KTsKICAgICAgfWNhdGNoKGVycil7fQogICAgfQoKICAgIC8qIEVuIG1vZGUgZGVmaWxlbWVudCwgZ2FyZGVyIGxhIHBhc3RpbGxlIGFjdGl2ZSB2aXNpYmxlLiAqLwogICAgZnVuY3Rpb24gcmV2ZWFsKGxpbmspewogICAgICBpZighbGluayB8fCAhb3ZlcmZsb3dpbmcoKSl7IHJldHVybjsgfQogICAgICB2YXIgbCA9IGxpbmsub2Zmc2V0TGVmdCwgciA9IGwgKyBsaW5rLm9mZnNldFdpZHRoOwogICAgICB2YXIgdnMgPSBpbm5lci5zY3JvbGxMZWZ0LCB2ZSA9IHZzICsgaW5uZXIuY2xpZW50V2lkdGg7CiAgICAgIGlmKGwgPCB2cyl7IGlubmVyLnNjcm9sbExlZnQgPSBNYXRoLm1heCgwLCBsIC0gMTIpOyB9CiAgICAgIGVsc2UgaWYociA+IHZlKXsgaW5uZXIuc2Nyb2xsTGVmdCA9IHIgLSBpbm5lci5jbGllbnRXaWR0aCArIDEyOyB9CiAgICB9CgogICAgZnVuY3Rpb24gdG9wT2Zmc2V0KCl7CiAgICAgIHZhciB2ID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tbnB4LXRvcCcpOwogICAgICByZXR1cm4gcGFyc2VJbnQodiwgMTApIHx8IDA7CiAgICB9CiAgICAvKiBEw6lmaWxlbWVudCBhdmVjIGNvbXBlbnNhdGlvbiBkZXMgZGV1eCBtZW51cy4gKi8KICAgIGZ1bmN0aW9uIHRvdGFsT2Zmc2V0KCl7IHJldHVybiB0b3BPZmZzZXQoKSArIG5hdi5vZmZzZXRIZWlnaHQgKyA4OyB9CgogICAgLyogLS0tLSBDb2xsYWdlIDogZml4ZWQgKyBwbGFjZWhvbGRlciBhbnRpLXNhdXQgKG1vZGUgJ2pzJykgLS0tLSAqLwogICAgdmFyIHBoID0gbnVsbDsKICAgIGlmKFNUSUNLX01PREUgPT09ICdqcycpewogICAgICBwaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICBwaC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICBuYXYucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocGgsIG5hdik7CiAgICB9CiAgICBmdW5jdGlvbiBzdGljaygpewogICAgICBpZighcGgpeyByZXR1cm47IH0KICAgICAgdmFyIGFuY2hvciA9IChwaC5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScpID8gbmF2IDogcGg7CiAgICAgIHZhciBzaG91bGQgPSBhbmNob3IuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIDw9IHRvcE9mZnNldCgpOwogICAgICBpZihzaG91bGQgJiYgIW5hdi5jbGFzc0xpc3QuY29udGFpbnMoJ25weC1zdHVjaycpKXsKICAgICAgICBwaC5zdHlsZS5oZWlnaHQgID0gbmF2Lm9mZnNldEhlaWdodCArICdweCc7CiAgICAgICAgcGguc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgbmF2LmNsYXNzTGlzdC5hZGQoJ25weC1zdHVjaycpOwogICAgICB9ZWxzZSBpZighc2hvdWxkICYmIG5hdi5jbGFzc0xpc3QuY29udGFpbnMoJ25weC1zdHVjaycpKXsKICAgICAgICBuYXYuY2xhc3NMaXN0LnJlbW92ZSgnbnB4LXN0dWNrJyk7CiAgICAgICAgcGguc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgfQogICAgfQoKICAgIC8qIC0tLS0gU2VjdGlvbiBhY3RpdmUgLS0tLSAqLwogICAgdmFyIGxhc3RDdXJyZW50ID0gbnVsbDsKICAgIGZ1bmN0aW9uIGhpZ2hsaWdodCgpewogICAgICB2YXIgbGltaXQgPSB0b3RhbE9mZnNldCgpICsgNDsKICAgICAgdmFyIGN1cnJlbnQgPSBudWxsOwogICAgICBlbnRyaWVzLmZvckVhY2goZnVuY3Rpb24oZSl7CiAgICAgICAgaWYoZS5zZWN0aW9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCA8PSBsaW1pdCl7IGN1cnJlbnQgPSBlOyB9CiAgICAgIH0pOwogICAgICBlbnRyaWVzLmZvckVhY2goZnVuY3Rpb24oZSl7CiAgICAgICAgZS5saW5rLmNsYXNzTGlzdC50b2dnbGUoJ25weC1hY3RpdmUnLCBlID09PSBjdXJyZW50KTsKICAgICAgfSk7CiAgICAgIGlmKGN1cnJlbnQgIT09IGxhc3RDdXJyZW50KXsKICAgICAgICBsYXN0Q3VycmVudCA9IGN1cnJlbnQ7CiAgICAgICAgaWYoY3VycmVudCl7IHJldmVhbChjdXJyZW50LmxpbmspOyB9CiAgICAgIH0KICAgIH0KCiAgICAvKiAtLS0tIENsaWMgc3VyIHVuZSBlbnRyw6llIC0tLS0gKi8KICAgIHZhciBzbW9vdGggPSAhd2luZG93Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJykubWF0Y2hlczsKICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlKXsKICAgICAgZS5saW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZXYpewogICAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgdmFyIHkgPSBlLnNlY3Rpb24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0IC0gdG90YWxPZmZzZXQoKTsKICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IHksIGJlaGF2aW9yOiBzbW9vdGggPyAnc21vb3RoJyA6ICdhdXRvJyB9KTsKICAgICAgICBoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCAnJywgJyMnICsgZS5zZWN0aW9uLmlkKTsKICAgICAgfSk7CiAgICB9KTsKCiAgICBmdW5jdGlvbiBvblNjcm9sbCgpeyBzdGljaygpOyBoaWdobGlnaHQoKTsgfQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsLCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZnVuY3Rpb24oKXsgZml0KCk7IG9uU2Nyb2xsKCk7IH0pOwogICAgb25TY3JvbGwoKTsKICAgIHJldHVybiB0cnVlOwogIH0KCiAgLyogLS0tLSBBbW9yw6dhZ2UgOiB0b3V0ZXMgbGVzIGluc3RhbmNlcywgYXZlYyBxdWVscXVlcyByZWxhbmNlcyAtLS0tLS0KICAgICBMZXMgcm93cyBVbmNvZGUgcGV1dmVudCDDqnRyZSBpbmplY3TDqWVzIGFwcsOocyBsZSBET01Db250ZW50TG9hZGVkCiAgICAgKGxhenkgLyBBSkFYKSA6IG9uIHJldGVudGUgcGVuZGFudCB+Miw1IHMgYXZhbnQgZGUgY29uY2x1cmUuICovCiAgZnVuY3Rpb24gYm9vdCgpewogICAgdmFyIG5hdnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubnB4LXN1Ym5hdjpub3QoW2RhdGEtbnB4LXJlYWR5XSknKTsKICAgIHZhciBwZW5kaW5nID0gMDsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBuYXZzLmxlbmd0aDsgaSsrKXsKICAgICAgaWYoIWluaXQobmF2c1tpXSkpeyBwZW5kaW5nKys7IH0KICAgIH0KICAgIHJldHVybiBwZW5kaW5nOwogIH0KCiAgZnVuY3Rpb24gcnVuKCl7CiAgICBpZihib290KCkgPT09IDApeyByZXR1cm47IH0KICAgIHZhciB0cmllcyA9IDA7CiAgICB2YXIgdGltZXIgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpewogICAgICB0cmllcysrOwogICAgICB2YXIgbGFzdCA9IHRyaWVzID49IDY7IC8qIDYgeCA0MDAgbXMgKi8KICAgICAgaWYoYm9vdCgpID09PSAwIHx8IGxhc3QpewogICAgICAgIGNsZWFySW50ZXJ2YWwodGltZXIpOwogICAgICAgIGlmKGxhc3QgJiYgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm5weC1zdWJuYXY6bm90KFtkYXRhLW5weC1yZWFkeV0pJykpewogICAgICAgICAgd2Fybk5vdGhpbmdGb3VuZCgpOwogICAgICAgIH0KICAgICAgfQogICAgfSwgNDAwKTsKICB9CgogIGlmKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdsb2FkaW5nJyl7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgcnVuKTsKICB9ZWxzZXsKICAgIHJ1bigpOwogIH0KfSkoKTsKPC9zY3JpcHQ+[\/vc_raw_html][\/vc_column][\/vc_row][vc_row unlock_row_content=\u00a0\u00bbyes\u00a0\u00bb row_height_percent=\u00a0\u00bb0&Prime; override_padding=\u00a0\u00bbyes\u00a0\u00bb h_padding=\u00a0\u00bb5&Prime; top_padding=\u00a0\u00bb4&Prime; bottom_padding=\u00a0\u00bb5&Prime; [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/numpex.org\/fr\/exa-soft-logiciels-et-outils-hpc\/\" \/>\n<meta property=\"og:site_name\" content=\"NumPEx\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-24T15:14:12+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/numpex.org\\\/fr\\\/exa-soft-logiciels-et-outils-hpc\\\/\",\"url\":\"https:\\\/\\\/numpex.org\\\/fr\\\/exa-soft-logiciels-et-outils-hpc\\\/\",\"name\":\"Exa-SofT : logiciels et outils HPC - NumPEx\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/numpex.org\\\/fr\\\/#website\"},\"datePublished\":\"2023-05-23T14:50:11+00:00\",\"dateModified\":\"2026-09-24T15:14:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/numpex.org\\\/fr\\\/exa-soft-logiciels-et-outils-hpc\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/numpex.org\\\/fr\\\/exa-soft-logiciels-et-outils-hpc\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/numpex.org\\\/fr\\\/exa-soft-logiciels-et-outils-hpc\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/numpex.org\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Exa-SofT : logiciels et outils HPC\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/numpex.org\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/numpex.org\\\/fr\\\/\",\"name\":\"NumPEx\",\"description\":\"Digital for Exascale\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/numpex.org\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Exa-SofT : logiciels et outils HPC - NumPEx","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/numpex.org\/fr\/exa-soft-logiciels-et-outils-hpc\/","og_locale":"fr_FR","og_type":"article","og_title":"Exa-SofT : logiciels et outils HPC - NumPEx","og_description":"[vc_row row_height_percent=\u00a0\u00bb0&Prime; overlay_alpha=\u00a0\u00bb50&Prime; gutter_size=\u00a0\u00bb3&Prime; column_width_percent=\u00a0\u00bb100&Prime; shift_y=\u00a0\u00bb0&Prime; z_index=\u00a0\u00bb0&Prime; sticky=\u00a0\u00bbyes\u00a0\u00bb content_parallax=\u00a0\u00bb0&Prime; uncode_shortcode_id=\u00a0\u00bb716742&Prime; css=\u00a0\u00bb.vc_custom_1785869798726{margin-top: 1% !important;}\u00a0\u00bb][vc_column width=\u00a0\u00bb1\/1&Prime;][vc_raw_html]PCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICBOdW1QRXgg4oCUIE1lbnUgZGUgc2VjdGlvbnMgc3RpY2t5IOKAlCB2LjYuNAogIE5hb3MgQWdlbmN5IMK3IDIwMjYtMDktMTAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPgoKPHN0eWxlPgogIDpyb290eyAtLW5weC10b3A6IDYwcHg7IH0gLyogaGF1dGV1ciBkdSBoZWFkZXIgVW5jb2RlIHN0aWNreSAqLwogIC5ucHgtc3VibmF2ewogICAgYmFja2dyb3VuZDogI0UwOTkwMDsgLyogb3JhbmdlIGQnYWNjZW50dWF0aW9uIE51bVBFeCAqLwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA4KTsKICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICB3aWR0aDogMTAwJTsKICAgIHotaW5kZXg6IDQwOwogIH0KICAubnB4LXN1Ym5hdltoaWRkZW5deyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KICAubnB4LXN1Ym5hdi5ucHgtc3R1Y2t7IGJvcmRlci1yYWRpdXM6IDAgMCAxMnB4IDEycHg7IH0KICAubnB4LXN1Ym5hdi5ucHgtc3R1Y2t7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB0b3A6IHZhcigtLW5weC10b3ApOwogICAgbGVmdDogMDsgcmlnaHQ6IDA7CiAgfQogIC5ucHgtc3VibmF2X19pbm5lcnsKICAgIC8qIHYuNi40IDogbWV0cmlxdWVzIHBpbG90ZWVzIHBhciB2YXJpYWJsZXMuIExlcyB2YWxldXJzIGRlIHJlcGxpCiAgICAgICBTT05UIGNlbGxlcyBkZSBsYSB2LjYuMiA6IHNhbnMgSlMsIHJlbmR1IGlkZW50aXF1ZS4gKi8KICAgIG1heC13aWR0aDogMTE0MHB4OwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBwYWRkaW5nOiAwIDI0cHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC13cmFwOiBub3dyYXA7CiAgICBnYXA6IDAgdmFyKC0tbnB4LWdhcCwgMTBweCk7CiAgICBtaW4taGVpZ2h0OiA0NnB4OwogICAgcGFkZGluZy10b3A6IDZweDsKICAgIHBhZGRpbmctYm90dG9tOiA2cHg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZm9udC1zaXplOiB2YXIoLS1ucHgtZnMsIDExcHgpOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1ucHgtbHMsIC4xMmVtKTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgb3ZlcmZsb3cteTogaGlkZGVuOwogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOwogICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOwogICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOwogICAgLyogZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc3lzdGVtLXVpLCBzYW5zLXNlcmlmOyAqLwogIH0KICAubnB4LXN1Ym5hdl9faW5uZXI6Oi13ZWJraXQtc2Nyb2xsYmFyeyBkaXNwbGF5OiBub25lOyB9CiAgLyogU3DDqWNpZmljaXTDqSByZW5mb3Jjw6llICsgIWltcG9ydGFudCA6IG5ldXRyYWxpc2UgbGVzIGNvdWxldXJzIGRlIGxpZW5zIGR1IHRow6htZSBVbmNvZGUgKG9yYW5nZSBhdSBzdXJ2b2wvY2xpYykgKi8KICBuYXYubnB4LXN1Ym5hdiAubnB4LXN1Ym5hdl9faW5uZXIgYSwKICBuYXYubnB4LXN1Ym5hdiAubnB4LXN1Ym5hdl9faW5uZXIgYTp2aXNpdGVkewogICAgY29sb3I6IHJnYmEoMjU1LDI1MCwyNDMsLjg4KSAhaW1wb3J0YW50OyAvKiBibGFuYyBjYXNzw6kgKi8KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50OwogICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogICAgcGFkZGluZzogOHB4IHZhcigtLW5weC1weCwgMTRweCk7CiAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgIHRyYW5zaXRpb246IGNvbG9yIC4xOHMsIGJhY2tncm91bmQtY29sb3IgLjE4czsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7ICAvKiB2LjYuNCA6IHVuIGxpYmVsbGUgbmUgc2UgY291cGUgamFtYWlzICovCiAgICBmbGV4OiAwIDAgYXV0bzsgICAgICAgLyogdi42LjQgOiBsZXMgcGFzdGlsbGVzIG5lIHNlIGNvbXByaW1lbnQgcGFzICovCiAgfQogIG5hdi5ucHgtc3VibmF2IC5ucHgtc3VibmF2X19pbm5lciBhOmhvdmVyLAogIG5hdi5ucHgtc3VibmF2IC5ucHgtc3VibmF2X19pbm5lciBhOmZvY3VzLAogIG5hdi5ucHgtc3VibmF2IC5ucHgtc3VibmF2X19pbm5lciBhOmFjdGl2ZXsKICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4xMik7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKICB9CiAgbmF2Lm5weC1zdWJuYXYgLm5weC1zdWJuYXZfX2lubmVyIGEubnB4LWFjdGl2ZSwKICBuYXYubnB4LXN1Ym5hdiAubnB4LXN1Ym5hdl9faW5uZXIgYS5ucHgtYWN0aXZlOmhvdmVyewogICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQ6ICNBODZGMDA7IC8qIG9yYW5nZSBmb25jw6ksIGFwbGF0IHNpbXBsZSAqLwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICB9Cjwvc3R5bGU+Cgo8bmF2IGNsYXNzPSJucHgtc3VibmF2IiBhcmlhLWxhYmVsPSJQYWdlIHNlY3Rpb25zIiBoaWRkZW4+CiAgPGRpdiBjbGFzcz0ibnB4LXN1Ym5hdl9faW5uZXIiPjwvZGl2Pgo8L25hdj4KCjxzY3JpcHQ+CihmdW5jdGlvbigpewogICd1c2Ugc3RyaWN0JzsKCiAgLyogPT09PT09PT09PT09PT09PT09PT0gQ09ORklHIFNJVEUgPT09PT09PT09PT09PT09PT09PT0KICAgICBTZXVsZSB6b25lIMOgIGFkYXB0ZXIgcG91ciByw6l1dGlsaXNlciBsZSBibG9jIGFpbGxldXJzLiAqLwogIHZhciBQUkVGSVggPSAnbmF2LSc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHByw6lmaXhlIGRlcyBSb3cgSUQgw6AgZMOpdGVjdGVyICovCiAgdmFyIFNUUklQICA9IFsvLShlbnxmcikkL2ksIC8tZXhhLVthLXowLTldKyQvaV07ICAgLyogc3VmZml4ZXMgZCd1bmljaXTDqSDDoCBpZ25vcmVyICAqLwoKICAvKiBSZXBsaSBwb3VyIGxlcyBwYWdlcyBQQVMgRU5DT1JFIE1JR1LDiUVTIHZlcnMgbGUgcHLDqWZpeGUgbmF2LQogICAgICh0eXBpcXVlbWVudCBsZXMgdHJhZHVjdGlvbnMgV1BNTCBkb250IGxlcyBSb3cgSUQgbidvbnQgcGFzIMOpdMOpCiAgICAgcmVub21tw6lzKS4gVXRpbGlzw6kgVU5JUVVFTUVOVCBzaSBsYSBwYWdlIG5lIGNvbnRpZW50IGF1Y3VuZSByb3cKICAgICDCqyBuYXYtIMK7LiBSZXByZW5kIGxlcyBjbMOpcyBkZSBsYSB2LjUgOiB1bmUgcm93IG5vbW3DqWUKICAgICDCqyBjb25zb3J0aXVtLWV4YS1tYS1lbiDCuyBvdSBzaW1wbGVtZW50IMKrIGNvbnNvcnRpdW0gwrsgZXN0CiAgICAgcmV0cm91dsOpZS4gTGlzdGUgZmVybcOpZSA9IGF1Y3VuIHJpc3F1ZSBkZSBmYXV4IHBvc2l0aWYuICovCiAgdmFyIExFR0FDWV9LRVlTID0gWwogICAgJ292ZXJ2aWV3JywgJ2NvbnNvcnRpdW0nLCAncmVzdWx0cycsICdtZXRyaWNzJywgJ3NvZnR3YXJlJywKICAgICduZXdzJywgJ2V2ZW50cycsICdhZ2VuZGEnLCAndGVhbScsICdjb250YWN0JwogIF07CgogIHZhciBMQUJFTFMgPSB7CiAgICAvKiBMaWJlbGzDqXMgcHLDqWbDqXLDqXMgcGFyIGNsw6kuIFRvdXRlIGNsw6kgYWJzZW50ZSBlc3QgYWZmaWNow6llCiAgICAgICBjYXBpdGFsaXPDqWUgdGVsbGUgcXVlbGxlIChuYXYtam9pbi11cyAtPiDCqyBKb2luIFVzIMK7KS4gKi8KICAgIGVuOiB7CiAgICAgICdjb25zb3J0aXVtJzogJ0NvbnNvcnRpdW0gJiBXb3JrcGFja2FnZXMnLAogICAgICAncmVzdWx0cyc6ICAgICdSZXN1bHRzICYgSW1wYWN0JywKICAgICAgJ21ldHJpY3MnOiAgICAnUHJvamVjdCBNZXRyaWNzJywKICAgICAgJ3RlYW0nOiAgICAgICAnVGhlIFRlYW0nCiAgICB9LAogICAgZnI6IHsKICAgICAgJ292ZXJ2aWV3JzogICAnUHLDqXNlbnRhdGlvbicsCiAgICAgICdjb25zb3J0aXVtJzogJ0NvbnNvcnRpdW0gZXQgbG90cyBkZSB0cmF2YWlsJywKICAgICAgJ3Jlc3VsdHMnOiAgICAnUsOpc3VsdGF0cyBldCBpbXBhY3QnLAogICAgICAnbWV0cmljcyc6ICAgICdDaGlmZnJlcyBjbMOpcycsCiAgICAgICdzb2Z0d2FyZSc6ICAgJ0xvZ2ljaWVscycsCiAgICAgICduZXdzJzogICAgICAgJ0FjdHVhbGl0w6lzJywKICAgICAgJ2V2ZW50cyc6ICAgICAnw4l2w6huZW1lbnRzJywKICAgICAgJ3RlYW0nOiAgICAgICAnTOKAmcOpcXVpcGUnCiAgICB9CiAgfTsKICB2YXIgU1RJQ0tfTU9ERSA9ICd1bmNvZGUnOyAvKiAndW5jb2RlJyA9IGxhIHJvdyBnw6hyZSBsZSBzdGlja3kgwrcgJ2pzJyA9IGxlIHNjcmlwdCBjb2xsZSBsdWktbcOqbWUgKi8KICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKICB2YXIgREVCVUcgPSAvWz8mXW5weGRlYnVnPTEvLnRlc3Qod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7CiAgZnVuY3Rpb24gbG9nKCl7CiAgICBpZighREVCVUcgfHwgIXdpbmRvdy5jb25zb2xlIHx8ICFjb25zb2xlLmxvZykgcmV0dXJuOwogICAgY29uc29sZS5sb2cuYXBwbHkoY29uc29sZSwgWydbbnB4LXN1Ym5hdl0nXS5jb25jYXQoW10uc2xpY2UuY2FsbChhcmd1bWVudHMpKSk7CiAgfQoKICAvKiAtLS0tIExhbmd1ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgPGh0bWwgbGFuZz4gcG9zw6kgcGFyIFdQTUwuIFJlcGxpcyBzdWNjZXNzaWZzIHNpIGwnYXR0cmlidXQgbWFucXVlIDoKICAgICB1biBhbmPDqnRyZSBwb3J0ZXVyIGRlIGxhbmcsIHB1aXMgbGVzIGNsYXNzZXMgZHUgYm9keS4gKi8KICBmdW5jdGlvbiBkZXRlY3RMYW5nKGVsKXsKICAgIHZhciB0YWcgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdsYW5nJykgfHwgJyc7CiAgICBpZighdGFnICYmIGVsICYmIGVsLmNsb3Nlc3QpewogICAgICB2YXIgaG9zdCA9IGVsLmNsb3Nlc3QoJ1tsYW5nXScpOwogICAgICBpZihob3N0KXsgdGFnID0gaG9zdC5nZXRBdHRyaWJ1dGUoJ2xhbmcnKSB8fCAnJzsgfQogICAgfQogICAgaWYoIXRhZyl7CiAgICAgIHZhciBjbHMgPSAoZG9jdW1lbnQuYm9keSAmJiBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSkgfHwgJyc7CiAgICAgIGlmKC8oPzpsYW5nfGxhbmd1YWdlKS1mclxifGZyW18tXUZSL2kudGVzdChjbHMpKXsgdGFnID0gJ2ZyJzsgfQogICAgfQogICAgcmV0dXJuIC9eZnIvaS50ZXN0KHRhZykgPyAnZnInIDogJ2VuJzsKICB9CgogIGZ1bmN0aW9uIGtleU9mKGlkKXsKICAgIHZhciBrID0gaWQuc2xpY2UoUFJFRklYLmxlbmd0aCkudG9Mb3dlckNhc2UoKTsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBTVFJJUC5sZW5ndGg7IGkrKyl7IGsgPSBrLnJlcGxhY2UoU1RSSVBbaV0sICcnKTsgfQogICAgcmV0dXJuIGs7CiAgfQogIGZ1bmN0aW9uIHRpdGxlQ2FzZShrZXkpewogICAgcmV0dXJuIGtleS5zcGxpdCgnLScpLm1hcChmdW5jdGlvbih3KXsKICAgICAgcmV0dXJuIHcgPyB3LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdy5zbGljZSgxKSA6IHc7CiAgICB9KS5qb2luKCcgJyk7CiAgfQoKICAvKiBEb3VibGUgc8OpY3VyaXTDqSA6IMOpY2FydGUgbGVzIG1lbnVzIGfDqW7DqXLDqXMgcGFyIFdvcmRQcmVzcyBldCB0b3V0IGNlCiAgICAgcXVpIHZpdCBkYW5zIGxhIG5hdmlnYXRpb24gb3UgbGUgaGVhZGVyIOKAlCBpbmNoYW5nw6kgZGVwdWlzIGxhIHYuNi4xLiAqLwogIGZ1bmN0aW9uIGlzU2VjdGlvbkNhbmRpZGF0ZShlbCl7CiAgICB2YXIgdGFnID0gZWwudGFnTmFtZTsKICAgIGlmKHRhZyA9PT0gJ1VMJyB8fCB0YWcgPT09ICdMSScgfHwgdGFnID09PSAnQScgfHwgdGFnID09PSAnTkFWJyl7IHJldHVybiBmYWxzZTsgfQogICAgaWYoZWwuY2xvc2VzdCAmJiBlbC5jbG9zZXN0KCduYXYsIGhlYWRlciwgLm5weC1zdWJuYXYnKSl7IHJldHVybiBmYWxzZTsgfQogICAgcmV0dXJuIHRydWU7CiAgfQoKICBmdW5jdGlvbiBpbkRvY3VtZW50T3JkZXIoYSwgYil7CiAgICB2YXIgcG9zID0gYS5zZWN0aW9uLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIuc2VjdGlvbik7CiAgICByZXR1cm4gKHBvcyAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HKSA\/IC0xIDogMTsKICB9CgogIC8qIC0tLS0gRMOpY291dmVydGUgZGVzIHNlY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgMSkgTW9kZSBub21pbmFsIDogdG91dGVzIGxlcyByb3dzIGRvbnQgbCdpZCBjb21tZW5jZSBwYXIgwqsgbmF2LSDCuy4KICAgICAyKSBSZXBsaSA6IHNpIGV0IHNldWxlbWVudCBzaSBsZSBtb2RlIDEgbmUgZG9ubmUgUklFTiwgb24gY2hlcmNoZQogICAgICAgIGxlcyBjbMOpcyBow6lyaXTDqWVzIGRlIGxhIHYuNSwgYXZlYyBvdSBzYW5zIHN1ZmZpeGUuCiAgICAgUmVudm9pZSB7IGVudHJpZXM6IFsuLi5dLCBtb2RlOiAncHJlZml4JyB8ICdsZWdhY3knIHwgJ25vbmUnIH0uICovCiAgZnVuY3Rpb24gZGlzY292ZXIoZGljdCl7CiAgICB2YXIgc2VlbiA9IE9iamVjdC5jcmVhdGUobnVsbCksIGVudHJpZXMgPSBbXTsKCiAgICBmdW5jdGlvbiBwdXNoKGVsLCBrZXkpewogICAgICBpZighZWwgfHwgIWtleSB8fCBzZWVuW2tleV0peyByZXR1cm47IH0KICAgICAgc2VlbltrZXldID0gdHJ1ZTsKICAgICAgZW50cmllcy5wdXNoKHsgc2VjdGlvbjogZWwsIGtleToga2V5LCBsYWJlbDogZGljdFtrZXldIHx8IHRpdGxlQ2FzZShrZXkpIH0pOwogICAgfQoKICAgIHZhciBmb3VuZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tpZF49IicgKyBQUkVGSVggKyAnIl0nKTsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBmb3VuZC5sZW5ndGg7IGkrKyl7CiAgICAgIGlmKCFpc1NlY3Rpb25DYW5kaWRhdGUoZm91bmRbaV0pKXsgY29udGludWU7IH0KICAgICAgcHVzaChmb3VuZFtpXSwga2V5T2YoZm91bmRbaV0uaWQpKTsKICAgIH0KICAgIGlmKGVudHJpZXMubGVuZ3RoKXsKICAgICAgd2FybklmUGFydGlhbGx5TWlncmF0ZWQoc2Vlbik7CiAgICAgIHJldHVybiB7IGVudHJpZXM6IGVudHJpZXMsIG1vZGU6ICdwcmVmaXgnIH07CiAgICB9CgogICAgZm9yKHZhciBqID0gMDsgaiA8IExFR0FDWV9LRVlTLmxlbmd0aDsgaisrKXsKICAgICAgdmFyIGsgID0gTEVHQUNZX0tFWVNbal07CiAgICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGspIHx8IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tpZF49IicgKyBrICsgJy0iXScpOwogICAgICBpZihlbCAmJiBpc1NlY3Rpb25DYW5kaWRhdGUoZWwpKXsgcHVzaChlbCwgayk7IH0KICAgIH0KICAgIGlmKGVudHJpZXMubGVuZ3RoKXsKICAgICAgZW50cmllcy5zb3J0KGluRG9jdW1lbnRPcmRlcik7IC8qIGxhIGxpc3RlIGRlcyBjbMOpcyBuZSBzdWl0IHBhcyBsJ29yZHJlIGRlIGxhIHBhZ2UgKi8KICAgICAgcmV0dXJuIHsgZW50cmllczogZW50cmllcywgbW9kZTogJ2xlZ2FjeScgfTsKICAgIH0KCiAgICByZXR1cm4geyBlbnRyaWVzOiBlbnRyaWVzLCBtb2RlOiAnbm9uZScgfTsKICB9CgogIC8qIC0tLS0gTWlncmF0aW9uIHBhcnRpZWxsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIENhcyBwacOoZ2UgOiBzdXIgdW5lIG3Dqm1lIHBhZ2UgY2VydGFpbmVzIHJvd3Mgb250IMOpdMOpIHJlbm9tbcOpZXMgZW4KICAgICBuYXYt4oCmIGV0IGQnYXV0cmVzIG5vbi4gTGUgbW9kZSBub21pbmFsIGwnZW1wb3J0ZSBldCBsZXMgcm93cyBub24KICAgICByZW5vbW3DqWVzIGRpc3BhcmFpc3NlbnQgU0lMRU5DSUVVU0VNRU5UIGR1IG1lbnUuIE9uIGxlIHNpZ25hbGUuICovCiAgZnVuY3Rpb24gd2FybklmUGFydGlhbGx5TWlncmF0ZWQoc2Vlbil7CiAgICBpZighd2luZG93LmNvbnNvbGUgfHwgIWNvbnNvbGUud2Fybil7IHJldHVybjsgfQogICAgdmFyIHN0cmFnZ2xlcnMgPSBbXTsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBMRUdBQ1lfS0VZUy5sZW5ndGg7IGkrKyl7CiAgICAgIHZhciBrID0gTEVHQUNZX0tFWVNbaV07CiAgICAgIGlmKHNlZW5ba10peyBjb250aW51ZTsgfSAvKiBkw6lqw6AgcHLDqXNlbnQgdmlhIHVuZSByb3cgbmF2LSAqLwogICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChrKSB8fCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdbaWRePSInICsgayArICctIl0nKTsKICAgICAgaWYoZWwgJiYgaXNTZWN0aW9uQ2FuZGlkYXRlKGVsKSl7IHN0cmFnZ2xlcnMucHVzaChrICsgJyAoIycgKyBlbC5pZCArICcpJyk7IH0KICAgIH0KICAgIGlmKCFzdHJhZ2dsZXJzLmxlbmd0aCl7IHJldHVybjsgfQogICAgY29uc29sZS53YXJuKAogICAgICAnW25weC1zdWJuYXZdIE1pZ3JhdGlvbiBpbmNvbXBsZXRlIHN1ciBjZXR0ZSBwYWdlIDogJyArIHN0cmFnZ2xlcnMubGVuZ3RoICsKICAgICAgJyByb3cocykgcG9ydGVudCBlbmNvcmUgdW4gYW5jaWVuIFJvdyBJRCBldCBzb250IEFCU0VOVEVTIGR1IG1lbnUgLT4gJyArCiAgICAgIHN0cmFnZ2xlcnMuam9pbignLCAnKSArICdcbicgKwogICAgICAnTGVzIHJlbm9tbWVyIGF2ZWMgbGUgcHJlZml4ZSAiJyArIFBSRUZJWCArICciIChleC4gJyArIFBSRUZJWCArIExFR0FDWV9LRVlTWzBdICsgJykuJwogICAgKTsKICB9CgogIC8qIC0tLS0gTWVzc2FnZSBkZSBkaWFnbm9zdGljIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIEludmlzaWJsZSBwb3VyIGxlcyB2aXNpdGV1cnMsIGTDqWNpc2lmIHBvdXIgbGEgcGVyc29ubmUgcXVpIHJlcHJlbmQKICAgICBsZSBkb3NzaWVyIDogb24gZGl0IGNlIHF1aSBhIMOpdMOpIGNoZXJjaMOpIGV0IGNlIHF1aSBhIMOpdMOpIHRyb3V2w6kuICovCiAgZnVuY3Rpb24gd2Fybk5vdGhpbmdGb3VuZCgpewogICAgaWYoIXdpbmRvdy5jb25zb2xlIHx8ICFjb25zb2xlLndhcm4peyByZXR1cm47IH0KICAgIHZhciB3aXRoSWQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbaWRdJyk7CiAgICBjb25zb2xlLndhcm4oCiAgICAgICdbbnB4LXN1Ym5hdl0gQXVjdW5lIHNlY3Rpb24gdHJvdXbDqWUgOiBsYSBiYXJyZSByZXN0ZSBtYXNxdcOpZS5cbicgKwogICAgICAnLSBSZWNoZXJjaMOpIGVuIHByaW9yaXTDqSA6IGRlcyBSb3cgSUQgY29tbWVuw6dhbnQgcGFyICInICsgUFJFRklYICsgJyIgKGV4LiBuYXYtb3ZlcnZpZXcpLlxuJyArCiAgICAgICctIFB1aXMsIGVuIHJlcGxpLCBsZXMgY2xlcyBoZXJpdGVlcyA6ICcgKyBMRUdBQ1lfS0VZUy5qb2luKCcsICcpICsgJy5cbicgKwogICAgICAnLSBQYWdlIGxhbmc9IicgKyAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgnbGFuZycpIHx8ICcoYWJzZW50KScpICsgJyIsICcgKwogICAgICB3aXRoSWQubGVuZ3RoICsgJyBlbGVtZW50KHMpIHBvcnRlbnQgdW4gaWQuXG4nICsKICAgICAgJy0gQ2F1c2UgbGEgcGx1cyBmcmVxdWVudGUgOiBsZXMgUm93IElEIGRlIENFVFRFIHBhZ2UgbmUgc29udCBwYXMgbm9tbWVzLiAnICsKICAgICAgJ1NvdXMgV1BNTCB1bmUgdHJhZHVjdGlvbiBlc3QgdW4gcG9zdCBkaXN0aW5jdCDigJQgcmVub21tZXIgbGVzIFJvdyBJRCBkZSBsYSBwYWdlICcgKwogICAgICAnc291cmNlIG5lIHJlbm9tbWUgcGFzIGNldXggZGUgbGEgdHJhZHVjdGlvbiA6IGlsIGZhdXQgbGVzIHNhaXNpciBzdXIgY2hhcXVlIGxhbmd1ZS5cbicgKwogICAgICAnLSBQb3VyIGxhIGxpc3RlIGRlcyBpZHMgcHJlc2VudHMsIHJlY2hhcmdlciBsYSBwYWdlIGF2ZWMgP25weGRlYnVnPTEnCiAgICApOwogICAgaWYoREVCVUcpewogICAgICB2YXIgaWRzID0gW107CiAgICAgIGZvcih2YXIgaSA9IDA7IGkgPCB3aXRoSWQubGVuZ3RoOyBpKyspeyBpZHMucHVzaCh3aXRoSWRbaV0uaWQpOyB9CiAgICAgIGNvbnNvbGUud2FybignW25weC1zdWJuYXZdIGlkcyBwcmVzZW50cyBzdXIgbGEgcGFnZSA6JywgaWRzKTsKICAgIH0KICB9CgogIC8qIC0tLS0gSW5pdGlhbGlzYXRpb24gZCd1bmUgaW5zdGFuY2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICBSZW52b2llIHRydWUgc2kgbGEgYmFycmUgYSDDqXTDqSBjb25zdHJ1aXRlLCBmYWxzZSBzJ2lsIG4neSBhdmFpdAogICAgIGF1Y3VuZSBzZWN0aW9uIChsJ2luc3RhbmNlIHJlc3RlIGFsb3JzIMOpbGlnaWJsZSDDoCB1bmUgbm91dmVsbGUKICAgICB0ZW50YXRpdmUgOiBkYXRhLW5weC1yZWFkeSBuJ2VzdCBwb3PDqSBxdSdlbiBjYXMgZGUgc3VjY8OocykuICovCiAgZnVuY3Rpb24gaW5pdChuYXYpewogICAgdmFyIGlubmVyID0gbmF2LnF1ZXJ5U2VsZWN0b3IoJy5ucHgtc3VibmF2X19pbm5lcicpOwogICAgaWYoIWlubmVyKXsKICAgICAgbmF2LnNldEF0dHJpYnV0ZSgnZGF0YS1ucHgtcmVhZHknLCAnMScpOyAvKiBiYWxpc2FnZSBpbmF0dGVuZHUgOiBuZSBwYXMgYm91Y2xlciBkZXNzdXMgKi8KICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgdmFyIGxhbmcgID0gZGV0ZWN0TGFuZyhuYXYpOwogICAgdmFyIGRpY3QgID0gTEFCRUxTW2xhbmddIHx8IHt9OwogICAgdmFyIGZvdW5kID0gZGlzY292ZXIoZGljdCk7CiAgICB2YXIgZW50cmllcyA9IGZvdW5kLmVudHJpZXM7CgogICAgaWYoIWVudHJpZXMubGVuZ3RoKXsgcmV0dXJuIGZhbHNlOyB9CgogICAgbmF2LnNldEF0dHJpYnV0ZSgnZGF0YS1ucHgtcmVhZHknLCAnMScpOwogICAgbG9nKCdtb2RlID0nLCBmb3VuZC5tb2RlLCAnfCBsYW5nID0nLCBsYW5nLCAnfCBlbnRyZWVzID0nLCBlbnRyaWVzLm1hcChmdW5jdGlvbihlKXsKICAgICAgcmV0dXJuIGUua2V5ICsgJyAtPiAnICsgZS5sYWJlbCArICcgKCMnICsgZS5zZWN0aW9uLmlkICsgJyknOwogICAgfSkpOwoKICAgIGlubmVyLmlubmVySFRNTCA9ICcnOwogICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uKGUpewogICAgICB2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgYS5ocmVmID0gJyMnICsgZS5zZWN0aW9uLmlkOwogICAgICBhLnRleHRDb250ZW50ID0gZS5sYWJlbDsKICAgICAgaW5uZXIuYXBwZW5kQ2hpbGQoYSk7CiAgICAgIGUubGluayA9IGE7CiAgICB9KTsKICAgIG5hdi5yZW1vdmVBdHRyaWJ1dGUoJ2hpZGRlbicpOwoKICAgIC8qIC0tLS0gdi42LjQgOiBsYSBiYXJyZSB0aWVudCBzdXIgdW5lIGxpZ25lIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgZmxleC13cmFwOm5vd3JhcCBzdXBwcmltZSBsYSAyZSBsaWduZS4gT24gbWVzdXJlIGV0IG9uIHJldGllbnQgbGUKICAgICAgIFBSRU1JRVIgcGFsaWVyIHF1aSByZW50cmUuIExlIHBhbGllciAwIGVzdCBsZSByZW5kdSB2LjYuMiA6IHVuZQogICAgICAgYmFycmUgcXVpIHJlbnRyYWl0IGRlamEgbmUgYm91Z2UgcGFzIGQndW4gcGl4ZWwuIFNpIG1lbWUgbGUKICAgICAgIHBsYW5jaGVyIGRlYm9yZGUgKHRlbGVwaG9uZSksIGxhIGJhcnJlIGRlZmlsZSBob3Jpem9udGFsZW1lbnQuCiAgICAgICBUb3V0IGVzdCBlbnZlbG9wcGUgOiBlbiBjYXMgZCdlcnJldXIgb24gcmV2aWVudCBhdSBwYWxpZXIgMC4gKi8KICAgIHZhciBTVEVQUyA9IFsKICAgICAgeyBmczogJzExcHgnLCAgIGxzOiAnLjEyZW0nLCBweDogJzE0cHgnLCBnYXA6ICcxMHB4JyB9LCAvKiByZW5kdSB2LjYuMiAqLwogICAgICB7IGZzOiAnMTFweCcsICAgbHM6ICcuMDllbScsIHB4OiAnMTNweCcsIGdhcDogJzlweCcgIH0sCiAgICAgIHsgZnM6ICcxMC41cHgnLCBsczogJy4wN2VtJywgcHg6ICcxMnB4JywgZ2FwOiAnOHB4JyAgfSwKICAgICAgeyBmczogJzEwcHgnLCAgIGxzOiAnLjA2ZW0nLCBweDogJzExcHgnLCBnYXA6ICc3cHgnICB9LAogICAgICB7IGZzOiAnOS41cHgnLCAgbHM6ICcuMDVlbScsIHB4OiAnMTBweCcsIGdhcDogJzZweCcgIH0sCiAgICAgIHsgZnM6ICc5cHgnLCAgICBsczogJy4wNGVtJywgcHg6ICc5cHgnLCAgZ2FwOiAnNXB4JyAgfSAgLyogcGxhbmNoZXIgKi8KICAgIF07CiAgICBmdW5jdGlvbiBhcHBseVN0ZXAocyl7CiAgICAgIHZhciBzdCA9IGlubmVyLnN0eWxlOwogICAgICBzdC5zZXRQcm9wZXJ0eSgnLS1ucHgtZnMnLCAgcy5mcyk7CiAgICAgIHN0LnNldFByb3BlcnR5KCctLW5weC1scycsICBzLmxzKTsKICAgICAgc3Quc2V0UHJvcGVydHkoJy0tbnB4LXB4JywgIHMucHgpOwogICAgICBzdC5zZXRQcm9wZXJ0eSgnLS1ucHgtZ2FwJywgcy5nYXApOwogICAgfQogICAgZnVuY3Rpb24gb3ZlcmZsb3dpbmcoKXsgcmV0dXJuIGlubmVyLnNjcm9sbFdpZHRoID4gaW5uZXIuY2xpZW50V2lkdGggKyAxOyB9CgogICAgdmFyIGZpdHRpbmcgPSBmYWxzZSwgbGFzdFcgPSAtMTsKICAgIGZ1bmN0aW9uIGZpdCgpewogICAgICBpZihmaXR0aW5nKXsgcmV0dXJuOyB9CiAgICAgIGZpdHRpbmcgPSB0cnVlOwogICAgICB0cnl7CiAgICAgICAgLyogQmFycmUgbm9uIG1lc3VyYWJsZSAobWFzcXVlZSwgb25nbGV0IHJlcGxpZSkgOiBuZSByaWVuIGNvbmNsdXJlLiAqLwogICAgICAgIGlmKGlubmVyLmNsaWVudFdpZHRoID4gNDApewogICAgICAgICAgdmFyIGksIGNob3NlbiA9IFNURVBTLmxlbmd0aCAtIDE7CiAgICAgICAgICBmb3IoaSA9IDA7IGkgPCBTVEVQUy5sZW5ndGg7IGkrKyl7CiAgICAgICAgICAgIGFwcGx5U3RlcChTVEVQU1tpXSk7CiAgICAgICAgICAgIGlmKCFvdmVyZmxvd2luZygpKXsgY2hvc2VuID0gaTsgYnJlYWs7IH0KICAgICAgICAgIH0KICAgICAgICAgIGlmKGNob3NlbiAhPT0gaSl7IGFwcGx5U3RlcChTVEVQU1tjaG9zZW5dKTsgfQogICAgICAgICAgbGFzdFcgPSBuYXYuY2xpZW50V2lkdGg7CiAgICAgICAgfQogICAgICB9Y2F0Y2goZXJyKXsKICAgICAgICBhcHBseVN0ZXAoU1RFUFNbMF0pOyAgLyogamFtYWlzIGRlIGJhcnJlIGNhc3NlZSAqLwogICAgICB9CiAgICAgIGZpdHRpbmcgPSBmYWxzZTsKICAgIH0KICAgIGZpdCgpOwoKICAgIC8qIExhIHBvbGljZSBkdSB0aGVtZSBhcnJpdmUgZW4gYXN5bmNocm9uZSA6IHJlbWVzdXJlciBhIHNvbiBhcnJpdmVlLiAqLwogICAgaWYoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbil7CiAgICAgIHRyeXsgZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbihmaXQsIGZpdCk7IH1jYXRjaChlcnIpe30KICAgIH0KICAgIHNldFRpbWVvdXQoZml0LCA2MDApOwogICAgc2V0VGltZW91dChmaXQsIDIwMDApOwoKICAgIC8qIExlIHBhc3NhZ2UgZW4gc3RpY2t5IGNoYW5nZSBsYSBsYXJnZXVyIHNhbnMgZXZlbmVtZW50IHJlc2l6ZS4gKi8KICAgIGlmKHdpbmRvdy5SZXNpemVPYnNlcnZlcil7CiAgICAgIHRyeXsKICAgICAgICBuZXcgUmVzaXplT2JzZXJ2ZXIoZnVuY3Rpb24oKXsKICAgICAgICAgIGlmKG5hdi5jbGllbnRXaWR0aCAhPT0gbGFzdFcpeyBmaXQoKTsgfQogICAgICAgIH0pLm9ic2VydmUobmF2KTsKICAgICAgfWNhdGNoKGVycil7fQogICAgfQoKICAgIC8qIEVuIG1vZGUgZGVmaWxlbWVudCwgZ2FyZGVyIGxhIHBhc3RpbGxlIGFjdGl2ZSB2aXNpYmxlLiAqLwogICAgZnVuY3Rpb24gcmV2ZWFsKGxpbmspewogICAgICBpZighbGluayB8fCAhb3ZlcmZsb3dpbmcoKSl7IHJldHVybjsgfQogICAgICB2YXIgbCA9IGxpbmsub2Zmc2V0TGVmdCwgciA9IGwgKyBsaW5rLm9mZnNldFdpZHRoOwogICAgICB2YXIgdnMgPSBpbm5lci5zY3JvbGxMZWZ0LCB2ZSA9IHZzICsgaW5uZXIuY2xpZW50V2lkdGg7CiAgICAgIGlmKGwgPCB2cyl7IGlubmVyLnNjcm9sbExlZnQgPSBNYXRoLm1heCgwLCBsIC0gMTIpOyB9CiAgICAgIGVsc2UgaWYociA+IHZlKXsgaW5uZXIuc2Nyb2xsTGVmdCA9IHIgLSBpbm5lci5jbGllbnRXaWR0aCArIDEyOyB9CiAgICB9CgogICAgZnVuY3Rpb24gdG9wT2Zmc2V0KCl7CiAgICAgIHZhciB2ID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tbnB4LXRvcCcpOwogICAgICByZXR1cm4gcGFyc2VJbnQodiwgMTApIHx8IDA7CiAgICB9CiAgICAvKiBEw6lmaWxlbWVudCBhdmVjIGNvbXBlbnNhdGlvbiBkZXMgZGV1eCBtZW51cy4gKi8KICAgIGZ1bmN0aW9uIHRvdGFsT2Zmc2V0KCl7IHJldHVybiB0b3BPZmZzZXQoKSArIG5hdi5vZmZzZXRIZWlnaHQgKyA4OyB9CgogICAgLyogLS0tLSBDb2xsYWdlIDogZml4ZWQgKyBwbGFjZWhvbGRlciBhbnRpLXNhdXQgKG1vZGUgJ2pzJykgLS0tLSAqLwogICAgdmFyIHBoID0gbnVsbDsKICAgIGlmKFNUSUNLX01PREUgPT09ICdqcycpewogICAgICBwaCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICBwaC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICBuYXYucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocGgsIG5hdik7CiAgICB9CiAgICBmdW5jdGlvbiBzdGljaygpewogICAgICBpZighcGgpeyByZXR1cm47IH0KICAgICAgdmFyIGFuY2hvciA9IChwaC5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScpID8gbmF2IDogcGg7CiAgICAgIHZhciBzaG91bGQgPSBhbmNob3IuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIDw9IHRvcE9mZnNldCgpOwogICAgICBpZihzaG91bGQgJiYgIW5hdi5jbGFzc0xpc3QuY29udGFpbnMoJ25weC1zdHVjaycpKXsKICAgICAgICBwaC5zdHlsZS5oZWlnaHQgID0gbmF2Lm9mZnNldEhlaWdodCArICdweCc7CiAgICAgICAgcGguc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgbmF2LmNsYXNzTGlzdC5hZGQoJ25weC1zdHVjaycpOwogICAgICB9ZWxzZSBpZighc2hvdWxkICYmIG5hdi5jbGFzc0xpc3QuY29udGFpbnMoJ25weC1zdHVjaycpKXsKICAgICAgICBuYXYuY2xhc3NMaXN0LnJlbW92ZSgnbnB4LXN0dWNrJyk7CiAgICAgICAgcGguc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgfQogICAgfQoKICAgIC8qIC0tLS0gU2VjdGlvbiBhY3RpdmUgLS0tLSAqLwogICAgdmFyIGxhc3RDdXJyZW50ID0gbnVsbDsKICAgIGZ1bmN0aW9uIGhpZ2hsaWdodCgpewogICAgICB2YXIgbGltaXQgPSB0b3RhbE9mZnNldCgpICsgNDsKICAgICAgdmFyIGN1cnJlbnQgPSBudWxsOwogICAgICBlbnRyaWVzLmZvckVhY2goZnVuY3Rpb24oZSl7CiAgICAgICAgaWYoZS5zZWN0aW9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCA8PSBsaW1pdCl7IGN1cnJlbnQgPSBlOyB9CiAgICAgIH0pOwogICAgICBlbnRyaWVzLmZvckVhY2goZnVuY3Rpb24oZSl7CiAgICAgICAgZS5saW5rLmNsYXNzTGlzdC50b2dnbGUoJ25weC1hY3RpdmUnLCBlID09PSBjdXJyZW50KTsKICAgICAgfSk7CiAgICAgIGlmKGN1cnJlbnQgIT09IGxhc3RDdXJyZW50KXsKICAgICAgICBsYXN0Q3VycmVudCA9IGN1cnJlbnQ7CiAgICAgICAgaWYoY3VycmVudCl7IHJldmVhbChjdXJyZW50LmxpbmspOyB9CiAgICAgIH0KICAgIH0KCiAgICAvKiAtLS0tIENsaWMgc3VyIHVuZSBlbnRyw6llIC0tLS0gKi8KICAgIHZhciBzbW9vdGggPSAhd2luZG93Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJykubWF0Y2hlczsKICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlKXsKICAgICAgZS5saW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZXYpewogICAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgdmFyIHkgPSBlLnNlY3Rpb24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0IC0gdG90YWxPZmZzZXQoKTsKICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IHksIGJlaGF2aW9yOiBzbW9vdGggPyAnc21vb3RoJyA6ICdhdXRvJyB9KTsKICAgICAgICBoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCAnJywgJyMnICsgZS5zZWN0aW9uLmlkKTsKICAgICAgfSk7CiAgICB9KTsKCiAgICBmdW5jdGlvbiBvblNjcm9sbCgpeyBzdGljaygpOyBoaWdobGlnaHQoKTsgfQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsLCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZnVuY3Rpb24oKXsgZml0KCk7IG9uU2Nyb2xsKCk7IH0pOwogICAgb25TY3JvbGwoKTsKICAgIHJldHVybiB0cnVlOwogIH0KCiAgLyogLS0tLSBBbW9yw6dhZ2UgOiB0b3V0ZXMgbGVzIGluc3RhbmNlcywgYXZlYyBxdWVscXVlcyByZWxhbmNlcyAtLS0tLS0KICAgICBMZXMgcm93cyBVbmNvZGUgcGV1dmVudCDDqnRyZSBpbmplY3TDqWVzIGFwcsOocyBsZSBET01Db250ZW50TG9hZGVkCiAgICAgKGxhenkgLyBBSkFYKSA6IG9uIHJldGVudGUgcGVuZGFudCB+Miw1IHMgYXZhbnQgZGUgY29uY2x1cmUuICovCiAgZnVuY3Rpb24gYm9vdCgpewogICAgdmFyIG5hdnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubnB4LXN1Ym5hdjpub3QoW2RhdGEtbnB4LXJlYWR5XSknKTsKICAgIHZhciBwZW5kaW5nID0gMDsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBuYXZzLmxlbmd0aDsgaSsrKXsKICAgICAgaWYoIWluaXQobmF2c1tpXSkpeyBwZW5kaW5nKys7IH0KICAgIH0KICAgIHJldHVybiBwZW5kaW5nOwogIH0KCiAgZnVuY3Rpb24gcnVuKCl7CiAgICBpZihib290KCkgPT09IDApeyByZXR1cm47IH0KICAgIHZhciB0cmllcyA9IDA7CiAgICB2YXIgdGltZXIgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpewogICAgICB0cmllcysrOwogICAgICB2YXIgbGFzdCA9IHRyaWVzID49IDY7IC8qIDYgeCA0MDAgbXMgKi8KICAgICAgaWYoYm9vdCgpID09PSAwIHx8IGxhc3QpewogICAgICAgIGNsZWFySW50ZXJ2YWwodGltZXIpOwogICAgICAgIGlmKGxhc3QgJiYgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm5weC1zdWJuYXY6bm90KFtkYXRhLW5weC1yZWFkeV0pJykpewogICAgICAgICAgd2Fybk5vdGhpbmdGb3VuZCgpOwogICAgICAgIH0KICAgICAgfQogICAgfSwgNDAwKTsKICB9CgogIGlmKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdsb2FkaW5nJyl7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgcnVuKTsKICB9ZWxzZXsKICAgIHJ1bigpOwogIH0KfSkoKTsKPC9zY3JpcHQ+[\/vc_raw_html][\/vc_column][\/vc_row][vc_row unlock_row_content=\u00a0\u00bbyes\u00a0\u00bb row_height_percent=\u00a0\u00bb0&Prime; override_padding=\u00a0\u00bbyes\u00a0\u00bb h_padding=\u00a0\u00bb5&Prime; top_padding=\u00a0\u00bb4&Prime; bottom_padding=\u00a0\u00bb5&Prime; [&hellip;]","og_url":"https:\/\/numpex.org\/fr\/exa-soft-logiciels-et-outils-hpc\/","og_site_name":"NumPEx","article_modified_time":"2026-09-24T15:14:12+00:00","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/numpex.org\/fr\/exa-soft-logiciels-et-outils-hpc\/","url":"https:\/\/numpex.org\/fr\/exa-soft-logiciels-et-outils-hpc\/","name":"Exa-SofT : logiciels et outils HPC - NumPEx","isPartOf":{"@id":"https:\/\/numpex.org\/fr\/#website"},"datePublished":"2023-05-23T14:50:11+00:00","dateModified":"2026-09-24T15:14:12+00:00","breadcrumb":{"@id":"https:\/\/numpex.org\/fr\/exa-soft-logiciels-et-outils-hpc\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/numpex.org\/fr\/exa-soft-logiciels-et-outils-hpc\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/numpex.org\/fr\/exa-soft-logiciels-et-outils-hpc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/numpex.org\/fr\/"},{"@type":"ListItem","position":2,"name":"Exa-SofT : logiciels et outils HPC"}]},{"@type":"WebSite","@id":"https:\/\/numpex.org\/fr\/#website","url":"https:\/\/numpex.org\/fr\/","name":"NumPEx","description":"Digital for Exascale","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/numpex.org\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/numpex.org\/fr\/wp-json\/wp\/v2\/pages\/220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/numpex.org\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/numpex.org\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/numpex.org\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/numpex.org\/fr\/wp-json\/wp\/v2\/comments?post=220"}],"version-history":[{"count":22,"href":"https:\/\/numpex.org\/fr\/wp-json\/wp\/v2\/pages\/220\/revisions"}],"predecessor-version":[{"id":4214,"href":"https:\/\/numpex.org\/fr\/wp-json\/wp\/v2\/pages\/220\/revisions\/4214"}],"wp:attachment":[{"href":"https:\/\/numpex.org\/fr\/wp-json\/wp\/v2\/media?parent=220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}