{"id":1979,"date":"2025-12-19T17:11:46","date_gmt":"2025-12-19T17:11:46","guid":{"rendered":"https:\/\/comidra.com\/?page_id=1979"},"modified":"2026-05-24T23:54:11","modified_gmt":"2026-05-24T23:54:11","slug":"silver","status":"publish","type":"page","link":"https:\/\/comidra.com\/fr\/silver\/","title":{"rendered":"COMIDRA Silver DATA"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1979\" class=\"elementor elementor-1979\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-adbbb32 elementor-section-full_width elementor-section-height-min-height elementor-section-items-stretch elementor-section-height-default\" data-id=\"adbbb32\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2e5a2363\" data-id=\"2e5a2363\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-79fd94b1 elementor-widget elementor-widget-image-box\" data-id=\"79fd94b1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><div class=\"elementor-image-box-content\"><h3 class=\"elementor-image-box-title\"><a href=\"http:\/\/comidra.com\">COMIDRA.COM<\/a><\/h3><p class=\"elementor-image-box-description\">Comidra is a data site that organizes key commodity market data\u2014such as natural gas and WTI crude oil\u2014so you can grasp it at a glance. It presents multiple indicators in intuitive charts to help you quickly understand complex market moves and use them to support decision-making.<span style=\"font-style: inherit;font-weight: inherit;letter-spacing: -0.1px\"><\/span><\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-62cbd78 e-flex e-con-boxed e-con e-parent\" data-id=\"62cbd78\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c9f923b elementor-align-center elementor-widget elementor-widget-button\" data-id=\"c9f923b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"http:\/\/comidra.com\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Natural Gas<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-58b5de6 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"58b5de6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"http:\/\/comidra.com\/WTI\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">WTI<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2acb876 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"2acb876\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"http:\/\/comidra.com\/gold\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">GOLD<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a43a397 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"a43a397\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"http:\/\/comidra.com\/silver\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">SILVER<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-461bd75 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"461bd75\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"http:\/\/comidra.com\/copper\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">COPPER<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0733e39 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"0733e39\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"http:\/\/comidra.com\/corn\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">CORN<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c002f2d e-flex e-con-boxed e-con e-parent\" data-id=\"c002f2d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-42dc762 e-con-full e-flex e-con e-child\" data-id=\"42dc762\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d37535f elementor-widget elementor-widget-image\" data-id=\"d37535f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/amzn.to\/42PhhBY\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"256\" src=\"https:\/\/comidra.com\/wp-content\/uploads\/2026\/05\/olevs_mens_watch_banner_1200x300_en-1024x256.png\" class=\"attachment-large size-large wp-image-2524\" alt=\"\" srcset=\"https:\/\/comidra.com\/wp-content\/uploads\/2026\/05\/olevs_mens_watch_banner_1200x300_en-1024x256.png 1024w, https:\/\/comidra.com\/wp-content\/uploads\/2026\/05\/olevs_mens_watch_banner_1200x300_en-300x75.png 300w, https:\/\/comidra.com\/wp-content\/uploads\/2026\/05\/olevs_mens_watch_banner_1200x300_en-768x192.png 768w, https:\/\/comidra.com\/wp-content\/uploads\/2026\/05\/olevs_mens_watch_banner_1200x300_en-18x5.png 18w, https:\/\/comidra.com\/wp-content\/uploads\/2026\/05\/olevs_mens_watch_banner_1200x300_en.png 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-470a414 elementor-widget elementor-widget-heading\" data-id=\"470a414\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Silver Investment Chart Overview\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a1ec083 e-flex e-con-boxed e-con e-parent\" data-id=\"a1ec083\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ccd99fa elementor-widget elementor-widget-shortcode\" data-id=\"ccd99fa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div class=\"silver150c-wrap\">\r\n      <div class=\"silver150c-card\">\r\n        <div class=\"silver150c-controls\">\r\n          <strong class=\"silver150c-range-label\">Plage :<\/strong>\r\n          <button type=\"button\" class=\"silver150c-btn\" data-range=\"3\">3M<\/button>\r\n          <button type=\"button\" class=\"silver150c-btn\" data-range=\"12\">1Y<\/button>\r\n          <button type=\"button\" class=\"silver150c-btn\" data-range=\"60\">5Y<\/button>\r\n          <button type=\"button\" class=\"silver150c-btn\" data-range=\"120\">10Y<\/button>\r\n          <button type=\"button\" class=\"silver150c-btn\" data-range=\"all\">ALL<\/button>\r\n          <span class=\"silver150c-flex-spacer\"><\/span>\r\n          <em class=\"silver150c-hint\">Molette\/Pincer=Zoom \u00b7 Maj+Glisser=Zoom bo\u00eete \u00b7 Double-clic=R\u00e9initialiser<\/em>\r\n          <button type=\"button\" class=\"silver150c-btn silver150c-btn-ghost\" data-action=\"reset\">R\u00e9initialiser le zoom<\/button>\r\n          <button type=\"button\" class=\"silver150c-btn silver150c-btn-ghost\" data-action=\"png\">Enregistrer PNG<\/button>\r\n        <\/div>\r\n\r\n        <div class=\"silver150c-title-row\">\r\n          <h3 class=\"silver150c-title\">Donn\u00e9es des \u00c9tats-Unis<\/h3>\r\n        <\/div>\r\n\r\n        <div class=\"silver150c-canvas-wrap\">\r\n          <canvas\r\n            id=\"SILVER_chart150_149\"\r\n            loading=\"lazy\"\r\n            aria-label=\"Donn\u00e9es des \u00c9tats-Unis\"\r\n          ><\/canvas>\r\n        <\/div>\r\n\r\n        <div class=\"silver150c-source-wrap\">\r\n          <a class=\"silver150c-source-pill\" href=\"https:\/\/www.usgs.gov\/\" target=\"_blank\" rel=\"noopener noreferrer\">USGS<\/a>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <style>\r\n      .silver150c-wrap {\r\n        overflow-x: auto;\r\n        -webkit-overflow-scrolling: touch;\r\n        padding: 16px;\r\n        border-radius: 18px;\r\n        background: radial-gradient(circle at top left, #e0f2fe, #fef3c7);\r\n        box-shadow: 0 18px 32px rgba(15,23,42,0.22);\r\n        margin: 8px 0;\r\n      }\r\n      .silver150c-card {\r\n        background: #ffffff;\r\n        border-radius: 14px;\r\n        padding: 14px 16px 16px;\r\n        box-shadow: 0 6px 18px rgba(15,23,42,0.18);\r\n        border: 1px solid rgba(59,130,246,0.35);\r\n      }\r\n      .silver150c-controls {\r\n        display: flex;\r\n        gap: 6px;\r\n        align-items: center;\r\n        margin: 0 0 6px 0;\r\n        flex-wrap: wrap;\r\n        min-width: 720px;\r\n      }\r\n      .silver150c-range-label {\r\n        font: 600 13px system-ui,-apple-system,Segoe UI,Roboto;\r\n        color: #4b5563;\r\n      }\r\n      .silver150c-flex-spacer { flex: 1 1 auto; }\r\n\r\n      .silver150c-btn {\r\n        padding: 6px 10px;\r\n        border-radius: 999px;\r\n        border: 1px solid rgba(37,99,235,0.9);\r\n        background: linear-gradient(135deg,#eff6ff,#e0f2fe);\r\n        font: 500 12px system-ui,-apple-system,Segoe UI,Roboto;\r\n        cursor: pointer;\r\n        color: #1d4ed8;\r\n        box-shadow: 0 1px 2px rgba(15,23,42,0.06);\r\n        transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.05s ease;\r\n      }\r\n      .silver150c-btn:hover {\r\n        background: linear-gradient(135deg,#dbeafe,#bfdbfe);\r\n        box-shadow: 0 2px 4px rgba(15,23,42,0.08);\r\n        transform: translateY(-0.5px);\r\n      }\r\n      .silver150c-btn.is-active {\r\n        background: linear-gradient(135deg,#2563eb,#1d4ed8);\r\n        color: #e5e7eb;\r\n        border-color: #1d4ed8;\r\n        box-shadow: 0 2px 7px rgba(37,99,235,0.55);\r\n      }\r\n      .silver150c-btn-ghost {\r\n        background: #ffffff;\r\n        border-color: rgba(209,213,219,0.9);\r\n        color: #374151;\r\n      }\r\n      .silver150c-btn-ghost.is-active {\r\n        background: #eff6ff;\r\n        border-color: #93c5fd;\r\n        color: #1d4ed8;\r\n      }\r\n      .silver150c-hint {\r\n        font-size: 12px;\r\n        color: #6b7280;\r\n      }\r\n\r\n      .silver150c-title-row {\r\n        display: flex;\r\n        align-items: baseline;\r\n        justify-content: space-between;\r\n        min-width: 720px;\r\n        margin: 0 0 6px 0;\r\n      }\r\n      .silver150c-title {\r\n        margin: 0;\r\n        font: 700 18px system-ui,-apple-system,Segoe UI,Roboto;\r\n        color: #111827;\r\n      }\r\n\r\n      .silver150c-canvas-wrap {\r\n        min-width: 720px;\r\n        height: 480px;\r\n        position: relative;\r\n        background: #ffffff;\r\n        border-radius: 12px;\r\n        border: 1px solid rgba(148,163,184,0.45);\r\n        overflow: hidden;\r\n      }\r\n      .silver150c-canvas-wrap canvas {\r\n        width: 100%;\r\n        height: 100%;\r\n        display: block;\r\n        user-select: none;\r\n        -webkit-user-select: none;\r\n        -webkit-user-drag: none;\r\n        touch-action: none;\r\n        cursor: default;\r\n      }\r\n\r\n      \/* \u2705 (\uc694\uccad) \ud074\ub9ad \uc2dc \uc0dd\uae30\ub294 \ud3ec\ucee4\uc2a4 \uc544\uc6c3\ub77c\uc778\/\ud14c\ub450\ub9ac \uc81c\uac70 *\/\r\n      .silver150c-canvas-wrap canvas:focus,\r\n      .silver150c-canvas-wrap canvas:focus-visible{\r\n        outline: none !important;\r\n        box-shadow: none !important;\r\n      }\r\n      .silver150c-canvas-wrap:focus,\r\n      .silver150c-canvas-wrap:focus-within{\r\n        outline: none !important;\r\n        box-shadow: none !important;\r\n      }\r\n\r\n      .silver150c-source-wrap {\r\n        display: flex;\r\n        justify-content: flex-end;\r\n        min-width: 720px;\r\n        margin-top: 6px;\r\n      }\r\n      .silver150c-source-pill {\r\n        display: inline-block;\r\n        padding: 4px 10px;\r\n        border-radius: 999px;\r\n        background: rgba(255,255,255,0.96);\r\n        border: 1px solid rgba(0,0,0,0.06);\r\n        font: 11px system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\r\n        color: #6b7280;\r\n        box-shadow: 0 2px 6px rgba(15,23,42,0.12);\r\n        text-decoration: none;\r\n        cursor: pointer;\r\n      }\r\n      .silver150c-source-pill:hover {\r\n        text-decoration: underline;\r\n      }\r\n\r\n      @media (max-width: 768px) {\r\n        .silver150c-wrap { padding: 10px; }\r\n        .silver150c-controls { min-width: 0; }\r\n        .silver150c-title-row { min-width: 0; }\r\n        .silver150c-canvas-wrap { min-width: 0; height: 360px; }\r\n        .silver150c-source-wrap { min-width: 0; }\r\n      }\r\n    <\/style>\r\n\r\n    <script>\r\n    (function(){\r\n      const labelsAll   = [\"2011-01-01\",\"2012-01-01\",\"2013-01-01\",\"2014-01-01\",\"2015-01-01\",\"2016-01-01\",\"2017-01-01\",\"2018-01-01\",\"2019-01-01\",\"2020-01-01\",\"2021-01-01\",\"2022-01-01\",\"2023-01-01\",\"2024-01-01\",\"2025-01-01\"];\r\n      const tsAllRaw    = [1293840000,1325376000,1356998400,1388534400,1420070400,1451606400,1483228800,1514764800,1546300800,1577836800,1609459200,1640995200,1672531200,1704067200,1735689600];\r\n      const seriesAll   = [[1120,1060,1050,1180,1090,1150,1030,934,981,1080,1020,1010,1020,1050,1100],[790,796,800,800,1530,1530,1420,1420,1360,1360,1920,1850,1150,1140,1100],[1710,1660,1700,1400,869,866,490,632,627,582,908,1090,1150,955,1000],[5250,4030,3830,3940,5930,6160,5040,4840,4760,6730,6160,4490,4950,4430,7600],[625,837,347,342,817,289,157,604,220,141,137,276,73,113,300],[3800,4720,5460,5730,5000,5710,7570,9150,9860,12334,11064,9299,8643,9910,15000],[7430,5950,6230,6170,6590,7180,4540,4220,5440,8250,7950,6310,7070,6320,9400],[1130000,1000000,767000,614000,505000,551000,549000,506000,512000,661000,811162,703457,756827,912115,1221727],[23300,24300,26700,28000,27600,28600,26500,25900,25800,24100,25000,25600,25500,25300,26000]];\r\n      const seriesNames = [\"Production mini\\u00e8re (\\u00c9.-U.) (t)\",\"Production primaire (\\u00c9.-U.) (t)\",\"Production secondaire (\\u00c9.-U.) (t)\",\"Importations (\\u00c9.-U.) (t)\",\"Exportations (\\u00c9.-U.) (t)\",\"Stocks (\\u00c9.-U.) (t)\",\"Consommation apparente (\\u00c9.-U.) (t)\",\"Valeur unitaire (\\u00c9.-U.) ($\\\/t)\",\"Production mini\\u00e8re mondiale (t)\"];\r\n\r\n      const CANVAS_ID = 'SILVER_chart150_149';\r\n      const UNIT_IDX  = 7; \/\/ $\/\ud1a4\r\n\r\n      const waitMax = 200;\r\n      let waited = 0;\r\n\r\n      const start = () => {\r\n        try {\r\n          const Zoom = (window['chartjs-plugin-zoom'] && (window['chartjs-plugin-zoom'].default || window['chartjs-plugin-zoom'])) || null;\r\n          if (Zoom && window.Chart && Chart.register) {\r\n            Chart.register(Zoom);\r\n          }\r\n        } catch(e) {}\r\n\r\n        const canvas = document.getElementById(CANVAS_ID);\r\n        if (!canvas) return;\r\n        const ctx = canvas.getContext('2d');\r\n\r\n        \/* \u2705 (\uc694\uccad) \ud3ec\ucee4\uc2a4 \uc544\uc6c3\ub77c\uc778 \ubc29\uc9c0: \ud3ec\ucee4\uc2a4\ub418\uba74 \uc989\uc2dc blur *\/\r\n        try {\r\n          canvas.style.outline = 'none';\r\n          canvas.addEventListener('focus', function(){ try { canvas.blur(); } catch(e){} });\r\n        } catch(e){}\r\n\r\n        const existing = window.Chart && Chart.getChart ? Chart.getChart(canvas) : null;\r\n        if (existing) existing.destroy();\r\n\r\n        const tsAll = (tsAllRaw || []).map(t => (typeof t === 'number' ? Math.floor(t) : null));\r\n        const indicesAll = labelsAll.map((_, i) => i);\r\n\r\n        const fmtNum = (n, maxDec=0) => {\r\n          try {\r\n            if (n === null || n === undefined || Number.isNaN(n)) return '';\r\n            return Number(n).toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: maxDec });\r\n          } catch(e){ return n; }\r\n        };\r\n        const fmtUSD = (n) => {\r\n          const v = fmtNum(n, 2);\r\n          return v === '' ? '' : ('$' + v);\r\n        };\r\n\r\n        const hexToRgba = (hex, a) => {\r\n          try {\r\n            const h = (hex || '').replace('#','').trim();\r\n            if (h.length !== 6) return `rgba(0,0,0,${a})`;\r\n            const r = parseInt(h.substring(0,2), 16);\r\n            const g = parseInt(h.substring(2,4), 16);\r\n            const b = parseInt(h.substring(4,6), 16);\r\n            return `rgba(${r},${g},${b},${a})`;\r\n          } catch(e){\r\n            return `rgba(0,0,0,${a})`;\r\n          }\r\n        };\r\n\r\n        const Crosshair2D = {\r\n          id: 'crosshair2d_150_' + CANVAS_ID,\r\n          afterEvent(chart, args) {\r\n            const e = args.event;\r\n            const a = chart.chartArea;\r\n            if (!a) return;\r\n            if (e.type === 'mouseout') {\r\n              chart.$cross2d = null;\r\n              chart.draw();\r\n              return;\r\n            }\r\n            if (e.x >= a.left && e.x <= a.right && e.y >= a.top && e.y <= a.bottom) {\r\n              chart.$cross2d = { x: e.x, y: e.y };\r\n            } else {\r\n              chart.$cross2d = null;\r\n            }\r\n            chart.draw();\r\n          },\r\n          afterDraw(chart) {\r\n            const cross = chart.$cross2d;\r\n            if (!cross) return;\r\n            const { ctx, chartArea:a } = chart;\r\n            ctx.save();\r\n            ctx.strokeStyle = 'rgba(59,130,246,0.5)';\r\n            ctx.lineWidth   = 1;\r\n            ctx.setLineDash([4,3]);\r\n            ctx.beginPath();\r\n            ctx.moveTo(cross.x, a.top);\r\n            ctx.lineTo(cross.x, a.bottom);\r\n            ctx.stroke();\r\n            ctx.beginPath();\r\n            ctx.moveTo(a.left, cross.y);\r\n            ctx.lineTo(a.right, cross.y);\r\n            ctx.stroke();\r\n            ctx.restore();\r\n          }\r\n        };\r\n\r\n        \/\/ \u2705 (\ucd94\uac00) \uc5f0\ub3c4\ub9cc \ucd94\ucd9c (\ud31d\uc5c5 \ud0c0\uc774\ud2c0\/\ucd95 \ub77c\ubca8 \uacf5\ud1b5 \uc0ac\uc6a9 \uac00\ub2a5)\r\n        function yearOnlyLabel_(s){\r\n          try{\r\n            const str = String(s || '');\r\n            const m = str.match(\/^(\\d{4})\/);\r\n            if (m) return m[1];\r\n            const t = Date.parse(str);\r\n            if (!isNaN(t)) return String(new Date(t).getFullYear());\r\n            return str;\r\n          }catch(e){\r\n            return '';\r\n          }\r\n        }\r\n\r\n        const TOOLTIP_ID = '__chart_exttip_left_' + CANVAS_ID;\r\n        const externalTooltipHandler = (context) => {\r\n          const { chart, tooltip } = context;\r\n          const area = chart.chartArea;\r\n          if (!area) return;\r\n\r\n          let tip = document.getElementById(TOOLTIP_ID);\r\n          if (!tip) {\r\n            tip = document.createElement('div');\r\n            tip.id = TOOLTIP_ID;\r\n            tip.style.position = 'fixed';\r\n            tip.style.left = '0';\r\n            tip.style.top  = '0';\r\n            tip.style.opacity = '0';\r\n            tip.style.pointerEvents = 'none';\r\n            tip.style.zIndex = '99999';\r\n            document.body.appendChild(tip);\r\n          }\r\n          if (tooltip.opacity === 0) {\r\n            tip.style.opacity = 0;\r\n            return;\r\n          }\r\n\r\n          \/\/ \u2705 (\uc218\uc815) \ud31d\uc5c5 \uc81c\ubaa9: YYYY-MM-DD \u2192 YYYY\r\n          const titleRaw = (tooltip.title && tooltip.title[0]) ? tooltip.title[0] : '';\r\n          const title = yearOnlyLabel_(titleRaw);\r\n\r\n          const rows = (tooltip.dataPoints || []).map(dp => {\r\n            const ds = chart.data.datasets?.[dp.datasetIndex] || {};\r\n            const color = ds.borderColor || ds.backgroundColor || '#64748b';\r\n            const label = ds.label || '';\r\n\r\n            let v = null;\r\n            if (typeof dp.raw === 'number') v = dp.raw;\r\n            else if (dp.parsed && typeof dp.parsed.y === 'number') v = dp.parsed.y;\r\n\r\n            const isUSD = (ds.yAxisID === 'yLeft');\r\n            const val = (v === null) ? '' : (isUSD ? fmtUSD(v) : fmtNum(v, 0));\r\n\r\n            return `<div style=\"display:flex;align-items:center;justify-content:space-between;gap:12px;\">\r\n                      <span style=\"display:flex;align-items:center;gap:8px;\">\r\n                        <span style=\"width:10px;height:10px;border-radius:2px;background:${color};\r\n                                     border:1px solid rgba(255,255,255,.9);display:inline-block;\"><\/span>\r\n                        <span>${label}<\/span>\r\n                      <\/span>\r\n                      <span style=\"font-weight:600;\">${val}<\/span>\r\n                    <\/div>`;\r\n          }).join('');\r\n\r\n          tip.innerHTML =\r\n            `<div style=\"box-shadow:0 10px 24px rgba(15,23,42,.25);border:1px solid rgba(148,163,184,.7);\r\n                         background:#ffffff;color:#111827;border-radius:12px;padding:10px 12px;\r\n                         min-width:220px;max-width:360px;font:12px system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\">\r\n               <div style=\"color:#0f172a;font-weight:800;margin-bottom:6px;\">${title}<\/div>\r\n               <div style=\"display:flex;flex-direction:column;gap:3px;\">${rows}<\/div>\r\n             <\/div>`;\r\n\r\n          const cr  = chart.canvas.getBoundingClientRect();\r\n          const box = tip.firstElementChild;\r\n          const boxW = box ? box.offsetWidth : 260;\r\n          const boxH = box ? box.offsetHeight : 140;\r\n          const pad  = 8;\r\n\r\n          const left = Math.max(8, cr.left + area.left - boxW - pad);\r\n          const topMin = cr.top + area.top;\r\n          const topMax = cr.top + area.bottom - boxH;\r\n          const rawTop = cr.top + tooltip.caretY - boxH\/2;\r\n          const top = Math.min(Math.max(rawTop, topMin), topMax);\r\n\r\n          tip.style.left = left + 'px';\r\n          tip.style.top  = top  + 'px';\r\n          tip.style.opacity = 1;\r\n        };\r\n\r\n        const tonColors = [\r\n          '#2563eb','#16a34a','#f59e0b','#06b6d4',\r\n          '#ef4444','#8b5cf6','#14b8a6','#64748b'\r\n        ];\r\n        const usdColor = '#111827';\r\n\r\n        const buildDatasets = (idxList) => {\r\n          const ds = [];\r\n          (seriesAll || []).forEach((series, sIdx) => {\r\n            const data = idxList.map(i => series[i]);\r\n            const base = {\r\n              label: (seriesNames && seriesNames[sIdx]) ? seriesNames[sIdx] : ('S' + (sIdx+1)),\r\n              data,\r\n              type: 'line',\r\n              spanGaps: true,\r\n              pointRadius: 0,\r\n              tension: 0.18\r\n            };\r\n\r\n            const isUSD = (sIdx === UNIT_IDX);\r\n\r\n            if (isUSD) {\r\n              base.yAxisID         = 'yLeft';\r\n              base.borderColor     = usdColor;\r\n              base.backgroundColor = usdColor;\r\n              base.borderWidth     = 2.5;\r\n              base.fill            = false;\r\n              base.order           = 3;\r\n            } else {\r\n              base.yAxisID         = 'yRight';\r\n              const c = (sIdx <= 6) ? tonColors[sIdx] : tonColors[7];\r\n              base.borderColor     = c;\r\n              base.backgroundColor = hexToRgba(c, 0.14);\r\n              base.borderWidth     = 1.8;\r\n              base.fill            = 'origin';\r\n              base.order           = 1;\r\n            }\r\n\r\n            ds.push(base);\r\n          });\r\n          return ds;\r\n        };\r\n\r\n        const cfg = {\r\n          type: 'line',\r\n          data: { labels: labelsAll.slice(), datasets: buildDatasets(indicesAll) },\r\n          plugins: [Crosshair2D],\r\n          options: {\r\n            responsive: true,\r\n            maintainAspectRatio: false,\r\n            normalized: true,\r\n            interaction: { mode: 'index', intersect: false },\r\n            plugins: {\r\n              zoom: {\r\n                \/\/ \u2705 [\uc218\uc815] \ud0a4\ubcf4\ub4dc pan\uc774 resetZoom\uacfc \ub3d9\uc77c\ud55c \uc0c1\ud0dc\uba38\uc2e0\uc744 \ud0c0\ub3c4\ub85d pan\uc744 \"\ud65c\uc131\"\uc73c\ub85c \ub450\ub418,\r\n                \/\/ \uc0ac\uc6a9\uc790 \ub9c8\uc6b0\uc2a4 pan\uc740 ALT \ub4dc\ub798\uadf8\uc5d0\uc11c\ub9cc \ub418\uac8c \ub9c9\uc544\ub460(\uc0ac\uc2e4\uc0c1 \ud0a4\ubcf4\ub4dc \uc804\uc6a9)\r\n                pan: { enabled: true, mode: 'x', modifierKey: 'alt' },\r\n                zoom: {\r\n                  wheel: { enabled: true },\r\n                  pinch: { enabled: true },\r\n                  drag: {\r\n                    enabled: true,\r\n                    \/* \u2705 (\uc694\uccad) Shift \uc5c6\uc774 \"\ub4dc\ub798\uadf8\ub9cc\"\uc73c\ub85c \ubc15\uc2a4\uc90c: modifierKey \uc81c\uac70 *\/\r\n                    mode: 'x',\r\n                    threshold: 8,\r\n                    backgroundColor: 'rgba(37,99,235,.10)',\r\n                    borderColor: 'rgba(37,99,235,.7)',\r\n                    borderWidth: 1\r\n                  },\r\n                  mode: 'x'\r\n                }\r\n              },\r\n              tooltip: { enabled: false, external: externalTooltipHandler, mode: 'index', intersect: false },\r\n              legend: {\r\n                position: 'bottom',\r\n                labels: { color: '#374151', font: { size: 12, weight: '500' }, usePointStyle: true, pointStyle: 'line' }\r\n              },\r\n              decimation: { enabled: true, algorithm: 'min-max' },\r\n              title: { display: false }\r\n            },\r\n            scales: {\r\n              x: {\r\n                type: 'category',\r\n                title: { display: true, text: 'Date', color: '#374151', font: { weight: '600' } },\r\n                ticks: {\r\n                  autoSkip: true,\r\n                  maxTicksLimit: (window.innerWidth < 768 ? 6 : 12),\r\n                  maxRotation: 0,\r\n                  minRotation: 0,\r\n                  color: '#4b5563',\r\n                  callback: function(v){\r\n                    try{\r\n                      const label = (typeof v === 'string')\r\n                        ? v\r\n                        : (this && typeof this.getLabelForValue === 'function' ? this.getLabelForValue(v) : String(v));\r\n                      const m = String(label).match(\/^(\\d{4})\/);\r\n                      return m ? m[1] : String(label).slice(0,4);\r\n                    } catch(e){\r\n                      return '';\r\n                    }\r\n                  }\r\n                },\r\n                grid: { display: false, borderColor: 'rgba(148,163,184,0.5)', borderWidth: 1 }\r\n              },\r\n              yLeft: {\r\n                type: 'linear',\r\n                position: 'left',\r\n                title: { display: true, text: 'Valeur unitaire (\u00c9tats-Unis) ($\/t)', color: '#111827', font: { weight: '600' } },\r\n                ticks: { color: '#111827', callback: (v) => { const s = fmtNum(v, 2); return s === '' ? '' : ('$' + s); } },\r\n                grid: { drawOnChartArea: true, color: 'rgba(209,213,219,0.6)', borderColor: 'rgba(156,163,175,0.9)', borderWidth: 1 }\r\n              },\r\n              yRight: {\r\n                type: 'linear',\r\n                position: 'right',\r\n                title: { display: true, text: 'Tonnes (t)', color: '#111827', font: { weight: '600' } },\r\n                ticks: { color: '#111827', callback: (v) => fmtNum(v, 0) },\r\n                grid: { drawOnChartArea: false, borderColor: 'rgba(156,163,175,0.9)', borderWidth: 1 }\r\n              }\r\n            },\r\n            onHover: (evt) => {\r\n              if (!evt?.native) return;\r\n              const isShift = evt.native.shiftKey;\r\n              canvas.style.cursor = isShift ? 'crosshair' : 'default';\r\n            }\r\n          }\r\n        };\r\n\r\n        const chart = new Chart(ctx, cfg);\r\n\r\n        const wrap     = canvas.closest('.silver150c-card') || canvas.closest('.silver150c-wrap') || document;\r\n        const btns     = wrap.querySelectorAll('.silver150c-btn[data-range]');\r\n        const resetBtn = wrap.querySelector('[data-action=\"reset\"]');\r\n        const pngBtn   = wrap.querySelector('[data-action=\"png\"]');\r\n\r\n        const setActive = (key) => {\r\n          btns.forEach(b => b.classList.toggle('is-active', (b.dataset.range === String(key))));\r\n        };\r\n\r\n        const computeIndicesForRange = (rangeKey) => {\r\n          if (rangeKey === 'all') return indicesAll;\r\n\r\n          const months = parseInt(rangeKey, 10);\r\n          if (!Number.isFinite(months) || months <= 0) return indicesAll;\r\n\r\n          const validTs = tsAll.filter(t => Number.isInteger(t) && t > 0);\r\n          if (!validTs.length) return indicesAll;\r\n\r\n          const latest = Math.max.apply(null, validTs);\r\n          const cutDate = new Date(latest * 1000);\r\n          cutDate.setMonth(cutDate.getMonth() - months);\r\n          const cutTs = Math.floor(cutDate.getTime() \/ 1000);\r\n\r\n          const keep = [];\r\n          tsAll.forEach((ts, idx) => {\r\n            if (Number.isInteger(ts) && ts >= cutTs) keep.push(idx);\r\n          });\r\n          return keep.length ? keep : indicesAll;\r\n        };\r\n\r\n        \/* \u2705 (\uc694\uccad) \ubc29\ud5a5\ud0a4 \ud32c\/\ubc94\uc704\ubc84\ud2bc \uc548\uc815\ud654: x.min\/x.max \uc794\uc874\uac12 \uc815\ub9ac *\/\r\n        function s150_clearManualXLimits_(){\r\n          try{\r\n            if (chart && chart.options && chart.options.scales && chart.options.scales.x){\r\n              try { delete chart.options.scales.x.min; } catch(e){}\r\n              try { delete chart.options.scales.x.max; } catch(e){}\r\n            }\r\n          } catch(e){}\r\n        }\r\n        function s150_fixBadXLimits_(){\r\n          try{\r\n            const N = (chart && chart.data && chart.data.labels) ? chart.data.labels.length : 0;\r\n            if (!N) return;\r\n            const xScale = chart.scales && chart.scales.x ? chart.scales.x : null;\r\n            if (!xScale) return;\r\n\r\n            const min = (typeof xScale.min === 'number') ? xScale.min : null;\r\n            const max = (typeof xScale.max === 'number') ? xScale.max : null;\r\n\r\n            if ((min !== null && min < 0) || (max !== null && max > N-1) || (min !== null && max !== null && min >= max)) {\r\n              s150_clearManualXLimits_();\r\n              chart.update('none');\r\n            }\r\n          } catch(e){}\r\n        }\r\n\r\n        const applyRange = (rangeKey) => {\r\n          const idxList   = computeIndicesForRange(rangeKey);\r\n          const newLabels = idxList.map(i => labelsAll[i]);\r\n\r\n          \/* \u2705 (\uc694\uccad) \ubc94\uc704 \ubcc0\uacbd \uc804\uc5d0 \ud32c \uc794\uc874 min\/max \uc81c\uac70 *\/\r\n          s150_clearManualXLimits_();\r\n\r\n          chart.data.labels   = newLabels;\r\n          chart.data.datasets = buildDatasets(idxList);\r\n          chart.update();\r\n\r\n          setActive(rangeKey);\r\n\r\n          \/* \u2705 (\uc694\uccad) resetZoom \uc804\uc5d0\/\ud6c4 min\/max \uaf2c\uc784 \ubc29\uc9c0 *\/\r\n          if (chart.resetZoom) chart.resetZoom();\r\n          s150_fixBadXLimits_();\r\n        };\r\n\r\n        \/\/ \u2605 \ucd08\uae30 \ubc94\uc704: ALL\r\n        applyRange('all');\r\n\r\n        btns.forEach(b => {\r\n          b.addEventListener('click', () => {\r\n            const r = b.dataset.range || 'all';\r\n            applyRange(r);\r\n          });\r\n        });\r\n\r\n        if (resetBtn) {\r\n          resetBtn.addEventListener('click', () => {\r\n            \/* \u2705 (\uc694\uccad) reset\ub3c4 min\/max \uc81c\uac70 \ud6c4 resetZoom *\/\r\n            s150_clearManualXLimits_();\r\n            if (chart.resetZoom) chart.resetZoom();\r\n          });\r\n        }\r\n\r\n        if (pngBtn) {\r\n          pngBtn.addEventListener('click', () => {\r\n            try {\r\n              const url = chart.toBase64Image('image\/png', 1.0);\r\n              const a = document.createElement('a');\r\n              a.href = url;\r\n              a.download = 'SILVER_chart150.png';\r\n              a.click();\r\n            } catch(e) {}\r\n          });\r\n        }\r\n\r\n        canvas.addEventListener('dblclick', () => {\r\n          \/* \u2705 (\uc694\uccad) \ub354\ube14\ud074\ub9ad\ub3c4 min\/max \uc81c\uac70 \ud6c4 resetZoom *\/\r\n          s150_clearManualXLimits_();\r\n          if (chart && chart.resetZoom) chart.resetZoom();\r\n        });\r\n\r\n        \/* \u2705 (\uc694\uccad) \ubc29\ud5a5\ud0a4 \ud32c(\u2190\/\u2192) : \ub4dc\ub798\uadf8\ub294 \uc90c\ub9cc, \uc774\ub3d9\uc740 \ud0a4\ubcf4\ub4dc\ub9cc *\/\r\n        let s150_kb_active = false;\r\n        canvas.addEventListener('mouseenter', () => { s150_kb_active = true; });\r\n        canvas.addEventListener('mouseleave', () => { s150_kb_active = false; });\r\n        canvas.addEventListener('pointerdown', () => { s150_kb_active = true; });\r\n\r\n        \/\/ \u2705 [\uc218\uc815] \ud0a4\ubcf4\ub4dc \ud32c\uc744 chart.pan()\uc73c\ub85c \ucc98\ub9ac \u2192 resetZoom\uc774 \ud56d\uc0c1 1\ud68c\uc5d0 \uc815\uc0c1 \ubcf5\uad6c\r\n        function s150_panByKey_(dir, boost){\r\n          try{\r\n            if (!chart || typeof chart.pan !== 'function') return;\r\n\r\n            const a = chart.chartArea || null;\r\n            let step = a ? Math.max(24, Math.round(a.width * 0.10)) : 80; \/\/ \ud654\uba74\ud3ed\uc758 10% \uc815\ub3c4\r\n            if (boost) step = step * 2;\r\n\r\n            \/\/ ArrowLeft: \uacfc\uac70\ub85c(\uc67c\ucabd) \ubcf4\uae30 \u2192 dx\ub294 + (GOLD \ucf54\ub4dc\uc640 \ub3d9\uc77c \ubc29\ud5a5)\r\n            const dx = (dir < 0) ? step : -step;\r\n\r\n            \/\/ \u2705 \ud575\uc2ec: plugin pan API\ub85c \uc774\ub3d9(\ub0b4\ubd80 \uc0c1\ud0dc \ub3d9\uae30\ud654)\r\n            chart.pan({ x: dx, y: 0 }, undefined, 'none');\r\n\r\n            \/\/ \uc548\uc804\uc7a5\uce58\r\n            s150_fixBadXLimits_();\r\n          } catch(e){}\r\n        }\r\n\r\n        document.addEventListener('keydown', function(ev){\r\n          if (!s150_kb_active) return;\r\n\r\n          if (ev.key === 'ArrowLeft' || ev.key === 'ArrowRight') {\r\n            ev.preventDefault();\r\n            ev.stopPropagation();\r\n            const dir = (ev.key === 'ArrowLeft') ? -1 : 1;\r\n            s150_panByKey_(dir, !!ev.shiftKey);\r\n          }\r\n        }, { passive: false });\r\n\r\n        ['mouseleave','scroll','touchstart','pointerdown','visibilitychange','orientationchange','resize'].forEach(evt => {\r\n          window.addEventListener(evt, () => {\r\n            const t = document.getElementById(TOOLTIP_ID);\r\n            if (t) t.style.opacity = 0;\r\n          }, { passive:true });\r\n        });\r\n      };\r\n\r\n      const boot = () => {\r\n        if (window.Chart && typeof window.Chart === 'function') {\r\n          start();\r\n          return;\r\n        }\r\n        waited++;\r\n        if (waited >= waitMax) return;\r\n        setTimeout(boot, 50);\r\n      };\r\n\r\n      if (document.readyState === 'loading') {\r\n        document.addEventListener('DOMContentLoaded', boot, { once:true });\r\n      } else {\r\n        boot();\r\n      }\r\n    })();\r\n    <\/script>\r\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7da36eb e-con-full e-flex e-con e-child\" data-id=\"7da36eb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-414283d elementor-widget elementor-widget-shortcode\" data-id=\"414283d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div class=\"silver147-wrap\">\r\n      <div class=\"s147-card\">\r\n        <div class=\"s147-controls\">\r\n          <strong class=\"s147-range-label\">P\u00e9riode :<\/strong>\r\n          <button type=\"button\" class=\"s147-btn\" data-range=\"3\">3M<\/button>\r\n          <button type=\"button\" class=\"s147-btn\" data-range=\"all\">ALL<\/button>\r\n          <span class=\"s147-flex-spacer\"><\/span>\r\n          <em class=\"s147-hint\">Molette=Zoom \u00b7 Maj+Glisser=Zoom rect. \u00b7 Double-clic=R\u00e9initialiser<\/em>\r\n          <button type=\"button\" class=\"s147-btn s147-btn-ghost\" data-action=\"reset\">R\u00e9init. zoom<\/button>\r\n          <button type=\"button\" class=\"s147-btn s147-btn-ghost\" data-action=\"png\">Enregistrer PNG<\/button>\r\n        <\/div>\r\n\r\n        <div class=\"s147-title\">US Prix par \u00e9ch\u00e9ance<\/div>\r\n\r\n        <div class=\"s147-canvas-wrap\">\r\n          <canvas id=\"SILVER_chart147_147\" loading=\"lazy\"><\/canvas>\r\n        <\/div>\r\n\r\n        <div class=\"s147-source-wrap\">\r\n          <span class=\"s147-source-pill\">\r\n            <a href=\"https:\/\/finance.yahoo.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Yahoo Finance<\/a>          <\/span>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <style>\r\n      .silver147-wrap{\r\n        overflow-x:auto; -webkit-overflow-scrolling:touch;\r\n        padding:16px; border-radius:18px;\r\n        background:linear-gradient(135deg,#f8fafc,#e2e8f0);\r\n        box-shadow:0 18px 32px rgba(0,0,0,0.18); margin:8px 0;\r\n      }\r\n      .s147-card{\r\n        background:#ffffff; border-radius:14px;\r\n        padding:14px 16px 16px;\r\n        box-shadow:0 6px 18px rgba(0,0,0,0.12);\r\n        border:1px solid rgba(148,163,184,0.55);\r\n        min-width:640px;\r\n      }\r\n      .s147-controls{\r\n        display:flex; gap:6px; align-items:center;\r\n        margin:0 0 8px 0; flex-wrap:wrap;\r\n      }\r\n      .s147-range-label{ font:600 13px system-ui,-apple-system,Segoe UI,Roboto; color:#4b5563; }\r\n      .s147-flex-spacer{ flex:1 1 auto; }\r\n\r\n      .s147-btn{\r\n        padding:6px 10px; border-radius:999px;\r\n        border:1px solid rgba(148,163,184,0.9);\r\n        background:linear-gradient(135deg,#ffffff,#f1f5f9);\r\n        font:500 12px system-ui,-apple-system,Segoe UI,Roboto;\r\n        cursor:pointer; color:#334155;\r\n        box-shadow:0 1px 2px rgba(0,0,0,0.05);\r\n        transition:background .15s ease, box-shadow .15s ease, transform .05s ease;\r\n      }\r\n      .s147-btn:hover{\r\n        background:linear-gradient(135deg,#f8fafc,#e2e8f0);\r\n        box-shadow:0 2px 4px rgba(0,0,0,0.08); transform:translateY(-0.5px);\r\n      }\r\n      .s147-btn.is-active{\r\n        background:linear-gradient(135deg,#0f172a,#334155);\r\n        color:#ffffff; border-color:#0f172a;\r\n        box-shadow:0 2px 6px rgba(15,23,42,0.35);\r\n      }\r\n      .s147-btn-ghost{ background:#ffffff; border-color:rgba(209,213,219,0.9); color:#374151; }\r\n      .s147-btn-ghost.is-active{ background:#eff6ff; border-color:#93c5fd; color:#1d4ed8; }\r\n\r\n      .s147-hint{ font-size:12px; color:#6b7280; }\r\n      .s147-title{ font-weight:800; font-size:18px; color:#0f172a; margin:0 0 6px 0; }\r\n\r\n      .s147-canvas-wrap{\r\n        height:480px; position:relative; background:#ffffff;\r\n        border-radius:12px; border:1px solid rgba(148,163,184,0.45); overflow:hidden;\r\n      }\r\n      .s147-canvas-wrap canvas{\r\n        width:100%; height:100%; display:block; user-select:none; -webkit-user-select:none;\r\n        -webkit-user-drag:none; touch-action:none; cursor:default;\r\n      }\r\n\r\n      .s147-canvas-wrap canvas:focus,\r\n      .s147-canvas-wrap canvas:focus-visible{\r\n        outline: none !important;\r\n        box-shadow: none !important;\r\n      }\r\n      .s147-canvas-wrap:focus,\r\n      .s147-canvas-wrap:focus-within{\r\n        outline: none !important;\r\n        box-shadow: none !important;\r\n      }\r\n\r\n      .s147-source-wrap{ display:flex; justify-content:flex-end; margin-top:6px; }\r\n      .s147-source-pill{\r\n        display:inline-block; padding:4px 10px; border-radius:999px;\r\n        background:rgba(255,255,255,0.96); border:1px solid rgba(0,0,0,0.06);\r\n        font:11px system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\r\n        color:#6b7280; box-shadow:0 2px 6px rgba(0,0,0,0.08);\r\n      }\r\n      .s147-source-pill a{\r\n        color: inherit;\r\n        text-decoration: none;\r\n        font-weight: 600;\r\n      }\r\n      .s147-source-pill a:hover{\r\n        text-decoration: underline;\r\n      }\r\n\r\n      @media (max-width:768px){\r\n        .silver147-wrap{ padding:10px; }\r\n        .s147-card{ min-width:0; }\r\n        .s147-canvas-wrap{ height:360px; }\r\n      }\r\n    <\/style>\r\n\r\n    <script>\r\n      document.addEventListener('DOMContentLoaded', function(){\r\n        const labelsAll   = [\"2025-05-23\",\"2025-05-26\",\"2025-05-27\",\"2025-05-28\",\"2025-05-29\",\"2025-05-30\",\"2025-06-02\",\"2025-06-03\",\"2025-06-04\",\"2025-06-05\",\"2025-06-06\",\"2025-06-09\",\"2025-06-10\",\"2025-06-11\",\"2025-06-12\",\"2025-06-13\",\"2025-06-16\",\"2025-06-17\",\"2025-06-18\",\"2025-06-19\",\"2025-06-20\",\"2025-06-23\",\"2025-06-24\",\"2025-06-25\",\"2025-06-26\",\"2025-06-27\",\"2025-06-30\",\"2025-07-01\",\"2025-07-02\",\"2025-07-03\",\"2025-07-04\",\"2025-07-07\",\"2025-07-08\",\"2025-07-09\",\"2025-07-10\",\"2025-07-11\",\"2025-07-14\",\"2025-07-15\",\"2025-07-16\",\"2025-07-17\",\"2025-07-18\",\"2025-07-21\",\"2025-07-22\",\"2025-07-23\",\"2025-07-24\",\"2025-07-25\",\"2025-07-28\",\"2025-07-29\",\"2025-07-30\",\"2025-07-31\",\"2025-08-01\",\"2025-08-04\",\"2025-08-05\",\"2025-08-06\",\"2025-08-07\",\"2025-08-08\",\"2025-08-11\",\"2025-08-12\",\"2025-08-13\",\"2025-08-14\",\"2025-08-15\",\"2025-08-18\",\"2025-08-19\",\"2025-08-20\",\"2025-08-21\",\"2025-08-22\",\"2025-08-25\",\"2025-08-26\",\"2025-08-27\",\"2025-08-28\",\"2025-08-29\",\"2025-09-02\",\"2025-09-03\",\"2025-09-04\",\"2025-09-05\",\"2025-09-08\",\"2025-09-09\",\"2025-09-10\",\"2025-09-11\",\"2025-09-12\",\"2025-09-15\",\"2025-09-16\",\"2025-09-17\",\"2025-09-18\",\"2025-09-19\",\"2025-09-22\",\"2025-09-23\",\"2025-09-24\",\"2025-09-25\",\"2025-09-26\",\"2025-09-29\",\"2025-09-30\",\"2025-10-01\",\"2025-10-02\",\"2025-10-03\",\"2025-10-06\",\"2025-10-07\",\"2025-10-08\",\"2025-10-09\",\"2025-10-10\",\"2025-10-13\",\"2025-10-14\",\"2025-10-15\",\"2025-10-16\",\"2025-10-17\",\"2025-10-20\",\"2025-10-21\",\"2025-10-22\",\"2025-10-23\",\"2025-10-24\",\"2025-10-27\",\"2025-10-28\",\"2025-10-29\",\"2025-10-30\",\"2025-10-31\",\"2025-11-03\",\"2025-11-04\",\"2025-11-05\",\"2025-11-06\",\"2025-11-07\",\"2025-11-10\",\"2025-11-11\",\"2025-11-12\",\"2025-11-13\",\"2025-11-14\",\"2025-11-17\",\"2025-11-18\",\"2025-11-19\",\"2025-11-20\",\"2025-11-21\",\"2025-11-24\",\"2025-11-25\",\"2025-11-26\",\"2025-11-27\",\"2025-11-28\",\"2025-12-01\",\"2025-12-02\",\"2025-12-03\",\"2025-12-04\",\"2025-12-05\",\"2025-12-08\",\"2025-12-09\",\"2025-12-10\",\"2025-12-11\",\"2025-12-12\",\"2025-12-15\",\"2025-12-16\",\"2025-12-17\",\"2025-12-18\",\"2025-12-19\",\"2025-12-22\",\"2025-12-23\",\"2025-12-24\",\"2025-12-25\",\"2025-12-26\",\"2025-12-29\",\"2025-12-30\",\"2025-12-31\",\"2026-01-01\",\"2026-01-02\",\"2026-01-05\",\"2026-01-06\",\"2026-01-07\",\"2026-01-08\",\"2026-01-09\",\"2026-01-12\",\"2026-01-13\",\"2026-01-14\",\"2026-01-15\",\"2026-01-16\",\"2026-01-19\",\"2026-01-20\",\"2026-01-21\",\"2026-01-22\",\"2026-01-23\",\"2026-01-26\",\"2026-01-27\",\"2026-01-28\",\"2026-01-29\",\"2026-01-30\",\"2026-02-02\",\"2026-02-03\",\"2026-02-04\",\"2026-02-05\",\"2026-02-06\",\"2026-02-09\",\"2026-02-10\",\"2026-02-11\",\"2026-02-12\",\"2026-02-13\",\"2026-02-16\",\"2026-02-17\",\"2026-02-18\",\"2026-02-19\",\"2026-02-20\",\"2026-02-23\",\"2026-02-24\",\"2026-02-25\",\"2026-02-26\",\"2026-02-27\",\"2026-03-02\",\"2026-03-03\",\"2026-03-04\",\"2026-03-05\",\"2026-03-06\",\"2026-03-09\",\"2026-03-10\",\"2026-03-11\",\"2026-03-12\",\"2026-03-13\",\"2026-03-16\",\"2026-03-17\",\"2026-03-18\",\"2026-03-19\",\"2026-03-20\",\"2026-03-23\",\"2026-03-24\",\"2026-03-25\",\"2026-03-26\",\"2026-03-27\",\"2026-03-30\",\"2026-03-31\",\"2026-04-01\",\"2026-04-02\",\"2026-04-03\",\"2026-04-06\",\"2026-04-07\",\"2026-04-08\",\"2026-04-09\",\"2026-04-10\",\"2026-04-13\",\"2026-04-14\",\"2026-04-15\",\"2026-04-16\",\"2026-04-17\",\"2026-04-20\",\"2026-04-21\",\"2026-04-22\",\"2026-04-23\",\"2026-04-24\",\"2026-04-27\",\"2026-04-28\",\"2026-04-29\",\"2026-04-30\",\"2026-05-01\",\"2026-05-04\",\"2026-05-05\",\"2026-05-06\",\"2026-05-07\",\"2026-05-08\",\"2026-05-11\",\"2026-05-12\",\"2026-05-13\",\"2026-05-14\",\"2026-05-15\",\"2026-05-18\",\"2026-05-19\",\"2026-05-20\",\"2026-05-21\",\"2026-05-22\",\"2026-05-25\",\"2026-06-10\",\"2026-06-09\",\"2026-05-26\",\"2026-05-27\",\"2026-05-28\",\"2026-05-29\",\"2026-06-01\",\"2026-06-02\",\"2026-06-03\",\"2026-06-04\",\"2026-06-05\",\"2026-06-08\"];\r\n        const datasetsAll = [{\"label\":\"Juil 2026\",\"data\":[35.185001373291016,null,34.87699890136719,34.73099899291992,34.974998474121094,34.584999084472656,36.25699996948242,36.24800109863281,36.27199935913086,37.433998107910156,37.7760009765625,38.46500015258789,38.34600067138672,37.96900177001953,37.957000732421875,38.047000885009766,38.15399932861328,38.86800003051758,38.64400100708008,null,37.731998443603516,37.928001403808594,37.47100067138672,37.821998596191406,38.321998596191406,37.75199890136719,37.53900146484375,37.777000427246094,38.11899948120117,38.512001037597656,null,38.349998474121094,38.19599914550781,38.07099914550781,38.74700164794922,40.400001525878906,40.1870002746582,39.58399963378906,39.57899856567383,39.76900100708008,39.941001892089844,40.82899856567383,41.077999114990234,41.02899932861328,40.75400161743164,39.87900161743164,39.74599838256836,39.80699920654297,39.250999450683594,38.20100021362305,38.37200164794922,38.784000396728516,39.305999755859375,39.380001068115234,39.832000732421875,40.13100051879883,39.35300064086914,39.566001892089844,40.20199966430664,39.62799835205078,39.527000427246094,39.59299850463867,38.862998962402344,39.284000396728516,39.60300064086914,40.58100128173828,40.24399948120117,40.14799880981445,40.25899887084961,40.77399826049805,41.816001892089844,42.702999114990234,43.185001373291016,42.53499984741211,42.6619987487793,43.00699996948242,42.441001892089844,42.70000076293945,43.25600051879883,43.95100021362305,44.09000015258789,44.05099868774414,43.27299880981445,43.23400115966797,44.09600067138672,45.39099884033203,45.79600143432617,45.387001037597656,46.33399963378906,47.92900085449219,48.324,47.93,48.971,47.632,49.24,49.737,48.822,50.307,48.397,48.508,51.712,51.905,52.667,54.588,51.373,52.652,48.952,48.93,49.976,49.87,48.028,48.594,49.217,49.955,49.496,49.393,48.598,49.357,49.253,49.483,51.683,52.116,54.903,54.634,52.092,52.123,51.916,52.284,51.74,51.325,51.728,52.395,54.399,54.46,57.997,60.025,59.593,59.497,58.344,59.936,59.289,61.769,61.957,65.545,62.927,64.541,64.268,67.878,66.19,68.489,69.608,72.194,72.798,74.71,78.334,71.564,79.126,71.773,72.765,72.131,77.844,82.294,78.815,76.281,80.531,86.382,87.656,92.78,93.711,89.874,94.935,96.027,94.016,97.797,102.891,117.261,107.647,115.268,116.214,79.77,78.141,84.589,85.713,77.849,78.093,83.478,81.605,85.202,76.842,79.105,76.8,74.576,78.767,78.812,83.571,87.853,88.764,92.28,88.221,93.969,89.484,84.076,83.796,82.794,84.921,85.125,90.231,86.161,85.731,81.931,81.269,80.509,78.156,71.722,70.183,69.849,70.075,73.175,68.432,70.319,71.096,75.479,76.659,73.48,null,73.387,72.518,75.951,77.016,77.047,76.218,80.104,80.199,79.273,82.433,80.618,77.044,78.528,76.06,76.94,75.568,73.745,72.088,74.028,76.431,73.522,73.581,77.303,80.18,80.865,85.948,85.591,89.368,85.328,77.547,77.444,75.159,76.181,76.732,76.199,77.865,64.09,65.24,76.606,74.895,75.912,75.875,75.254,75.556,73.694,73.971,69.103,68.585],\"type\":\"line\",\"yAxisID\":\"yRight\",\"fill\":false,\"borderWidth\":4,\"pointRadius\":0,\"tension\":0.2,\"spanGaps\":true,\"borderColor\":\"#000000\",\"backgroundColor\":\"rgba(0,0,0,0.12)\",\"order\":99},{\"label\":\"Ao\\u00fb 2026\",\"data\":[35.28499984741211,null,34.97800064086914,34.832000732421875,35.07600021362305,34.6879997253418,36.36000061035156,36.35200119018555,36.375999450683594,37.53799819946289,37.88199996948242,38.57099914550781,38.45399856567383,38.077999114990234,38.082000732421875,38.17399978637695,38.28099822998047,38.994998931884766,38.770999908447266,null,37.85900115966797,38.055999755859375,37.5989990234375,37.946998596191406,38.446998596191406,37.87699890136719,37.66600036621094,37.90399932861328,38.24700164794922,38.64400100708008,null,38.4900016784668,38.33599853515625,38.21099853515625,38.88800048828125,40.54100036621094,40.32600021362305,39.7239990234375,39.71900177001953,39.909000396728516,40.08100128173828,40.96900177001953,41.21900177001953,41.17100143432617,40.89699935913086,40.02299880981445,39.888999938964844,39.94599914550781,39.388999938964844,38.34000015258789,38.50600051879883,38.91699981689453,39.43899917602539,39.513999938964844,39.98699951171875,40.290000915527344,39.520999908447266,39.73400115966797,40.37799835205078,39.79600143432617,39.68899917602539,39.755001068115234,39.02299880981445,39.441001892089844,39.7599983215332,40.73699951171875,40.4010009765625,40.30500030517578,40.415000915527344,40.933998107910156,41.981998443603516,42.869998931884766,43.35499954223633,42.70199966430664,42.827999114990234,43.17300033569336,42.60499954223633,42.8650016784668,43.42100143432617,44.11800003051758,44.257999420166016,44.215999603271484,43.4370002746582,43.39799880981445,44.2599983215332,45.55500030517578,45.959999084472656,45.55099868774414,46.49599838256836,48.097999572753906,48.499,48.102,49.144,47.801,49.41,49.905,48.992,50.483,48.56,48.67,51.873,52.064,52.827,54.748,51.529,52.81,49.101,49.084,50.134,50.029,48.186,48.757,49.386,50.128,49.667,49.567,48.772,49.532,49.421,49.645,51.847,52.277,55.066,54.798,52.254,52.29,52.08,52.452,51.909,51.497,51.899,52.563,54.571,49.605,58.178,60.218,59.789,59.692,58.531,60.128,59.48,61.969,62.158,65.748,63.122,64.745,64.465,68.08,66.391,68.692,69.819,72.407,73.013,null,78.561,71.789,79.366,72.004,null,72.352,78.075,82.57,79.083,76.548,80.799,86.659,87.956,93.096,94.028,90.19,null,96.351,94.335,98.124,103.24,117.669,108.041,115.668,116.612,80.111,78.431,84.893,86.028,78.144,78.391,83.792,81.91,85.521,77.131,79.385,null,74.841,79.034,79.081,83.847,88.152,89.07,92.594,88.533,94.29,89.799,84.373,84.098,83.098,85.228,85.429,90.546,86.477,86.048,82.234,81.571,80.809,78.449,71.991,70.454,70.116,70.341,73.452,68.697,70.59,71.365,75.761,76.969,73.773,null,73.679,72.808,76.261,77.327,77.358,76.523,80.418,80.516,79.589,82.759,80.932,77.333,78.827,76.355,77.23,75.857,74.019,72.356,74.304,76.712,73.792,73.853,77.598,80.487,81.17,86.275,85.917,89.715,85.651,77.842,77.743,75.44,76.474,77.034,76.499,76.499,64.555,65.494,76.908,75.19,76.205,76.173,75.549,75.853,73.984,74.26,69.373,68.853],\"type\":\"line\",\"yAxisID\":\"yRight\",\"fill\":false,\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.2,\"spanGaps\":true,\"borderColor\":\"#2563eb\",\"backgroundColor\":\"#2563eb\"},{\"label\":\"Sep 2026\",\"data\":[35.42100143432617,null,35.11399841308594,34.96799850463867,35.21200180053711,34.823001861572266,36.494998931884766,36.487998962402344,36.512001037597656,37.67399978637695,38.01900100708008,38.71099853515625,38.59700012207031,38.222999572753906,38.21200180053711,38.30400085449219,38.4109992980957,39.125,38.9010009765625,null,37.98899841308594,38.18600082397461,37.729000091552734,38.07500076293945,38.57500076293945,38.005001068115234,37.79600143432617,38.034000396728516,38.37699890136719,38.77799987792969,null,38.625,38.47100067138672,38.34600067138672,39.02299880981445,40.67399978637695,40.45800018310547,39.856998443603516,39.85300064086914,40.042999267578125,40.21500015258789,41.10300064086914,41.35300064086914,41.30500030517578,41.03200149536133,40.15800094604492,40.02399826049805,40.08000183105469,39.52299880981445,38.4739990234375,38.6349983215332,39.04499816894531,39.56700134277344,39.641998291015625,40.12200164794922,40.428001403808594,39.650001525878906,39.86199951171875,40.513999938964844,39.922000885009766,39.821998596191406,39.888999938964844,39.15599822998047,39.57099914550781,39.88999938964844,40.8650016784668,40.529998779296875,40.435001373291016,40.542999267578125,41.064998626708984,42.11800003051758,43.00699996948242,43.49700164794922,42.84199905395508,42.96699905395508,43.31100082397461,42.74100112915039,43.000999450683594,43.55699920654297,44.255001068115234,44.39500045776367,44.358001708984375,43.577999114990234,43.53900146484375,44.40800094604492,45.70800018310547,46.119998931884766,45.7130012512207,46.66400146484375,48.27299880981445,48.679,48.28,49.322,47.975,49.585,50.077,49.167,50.664,48.729,48.838,52.04,52.229,52.993,54.913,51.69,52.973,49.255,49.243,50.295,50.192,48.349,48.925,49.56,50.305,49.842,49.746,48.952,49.712,49.595,49.813,52.017,52.443,55.233,54.966,52.421,52.462,52.249,52.625,52.084,51.675,52.075,52.736,54.748,55,58.364,60.415,59.99,59.892,58.723,60.324,59.676,62.174,62.364,65.955,63.318,64.95,64.664,68.283,66.594,68.906,70.049,72.637,73.258,75.645,78.83,72.041,79.644,72.274,73.825,72.611,78.359,82.85,79.356,76.797,81.058,86.936,88.239,93.399,94.321,90.482,95.72,96.65,94.629,98.427,103.582,118.038,108.407,116.057,116.998,80.317,78.607,85.118,86.272,78.359,78.629,84.042,82.159,85.784,77.384,79.628,78.49,75.039,79.274,79.319,84.09,88.431,89.349,92.869,88.807,94.578,90.056,84.635,84.358,83.36,85.492,85.689,90.828,86.761,86.335,82.497,81.834,81.078,78.712,72.224,70.709,70.354,70.581,73.713,68.938,70.847,71.619,76.033,77.242,74.038,null,73.943,73.071,76.532,77.604,77.638,76.792,80.696,80.79,79.854,83.038,81.211,77.599,79.097,76.617,77.486,76.119,74.253,72.589,74.552,76.965,74.041,74.109,77.869,80.764,81.45,86.572,86.208,90.02,85.94,78.101,78.005,75.703,76.743,77.306,76.77,78.505,64.68,65.717,77.184,75.455,76.475,76.444,75.817,76.119,74.243,74.516,69.616,69.093],\"type\":\"line\",\"yAxisID\":\"yRight\",\"fill\":false,\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.2,\"spanGaps\":true,\"borderColor\":\"#16a34a\",\"backgroundColor\":\"#16a34a\"},{\"label\":\"Oct 2026\",\"data\":[35.52399826049805,null,35.21799850463867,35.071998596191406,35.316001892089844,34.930999755859375,36.60300064086914,36.59600067138672,36.61899948120117,37.78099822998047,38.125999450683594,38.81999969482422,38.707000732421875,38.33399963378906,38.323001861572266,38.415000915527344,38.52199935913086,39.236000061035156,39.012001037597656,null,38.099998474121094,38.29800033569336,37.840999603271484,38.178001403808594,38.678001403808594,38.108001708984375,37.900001525878906,38.13800048828125,38.48099899291992,38.88199996948242,null,38.73099899291992,38.57899856567383,38.45399856567383,39.13199996948242,40.784000396728516,40.56800079345703,39.96699905395508,39.9630012512207,40.15299987792969,40.32500076293945,41.2140007019043,41.4640007019043,41.41600036621094,41.14899826049805,40.27799987792969,40.14400100708008,40.19300079345703,39.63600158691406,38.5880012512207,38.74800109863281,39.14899826049805,39.67100143432617,39.74599838256836,40.23899841308594,40.555999755859375,39.777000427246094,39.986000061035156,40.63999938964844,40.05400085449219,39.95399856567383,40.020999908447266,39.28499984741211,39.70199966430664,40.020999908447266,40.99800109863281,40.66899871826172,40.57400131225586,40.68199920654297,41.20399856567383,42.2599983215332,43.1510009765625,43.64699935913086,42.992000579833984,43.117000579833984,43.46099853515625,42.89099884033203,43.1510009765625,43.707000732421875,44.404998779296875,44.54600143432617,44.50899887084961,43.729000091552734,43.689998626708984,44.5620002746582,45.861000061035156,46.27299880981445,45.86600112915039,46.823001861572266,48.435001373291016,48.849,48.454,49.497,48.155,49.765,50.256,49.347,50.847,48.923,49.025,52.216,52.405,53.171,55.092,51.867,53.149,49.425,49.414,50.47,50.367,48.524,49.106,49.74,50.487,50.025,49.929,49.133,49.898,49.777,49.989,52.19,52.614,55.403,55.133,52.587,52.625,52.411,52.788,52.247,51.838,52.238,52.899,54.911,51.59,58.531,60.593,60.171,60.074,58.9,60.499,59.85,62.35,62.544,66.139,63.499,65.139,64.851,68.471,66.782,69.097,70.245,72.837,73.462,null,79.042,72.249,79.856,72.482,null,72.807,78.565,83.064,79.565,77.001,81.271,87.154,88.46,93.635,94.565,90.732,95.84,96.913,94.888,98.693,103.85,118.377,108.722,116.378,117.314,80.547,78.818,85.354,86.513,78.595,78.849,84.265,82.376,86.006,77.604,79.847,77.34,75.249,79.488,79.534,84.308,88.663,89.587,93.109,89.046,94.825,90.294,84.864,84.598,83.599,85.732,85.926,91.071,87.007,86.586,82.746,82.08,81.322,78.954,72.452,70.938,70.565,70.793,73.955,69.177,71.092,71.863,76.278,77.502,74.29,null,74.197,73.323,76.789,77.863,77.909,77.061,80.967,81.062,80.122,83.313,81.479,77.862,79.363,76.881,77.748,76.38,74.506,72.839,74.805,77.221,74.297,74.367,78.131,81.034,81.718,86.845,86.488,90.307,86.223,78.373,78.27,75.963,77.007,77.576,77.039,null,69.24,65.961,77.456,75.724,76.746,76.716,76.089,76.393,74.514,74.785,69.879,69.351],\"type\":\"line\",\"yAxisID\":\"yRight\",\"fill\":false,\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.2,\"spanGaps\":true,\"borderColor\":\"#dc2626\",\"backgroundColor\":\"#dc2626\"},{\"label\":\"Nov 2026\",\"data\":[35.757999420166016,null,35.452999114990234,35.30699920654297,35.55099868774414,35.16899871826172,36.840999603271484,36.83300018310547,36.85599899291992,38.016998291015625,38.362998962402344,39.06700134277344,38.95600128173828,38.58599853515625,38.57500076293945,38.66699981689453,38.77399826049805,39.487998962402344,39.263999938964844,null,38.35200119018555,38.55099868774414,38.09400177001953,38.422000885009766,38.922000885009766,38.35200119018555,38.14699935913086,38.3849983215332,38.72800064086914,39.12900161743164,null,38.98099899291992,38.83300018310547,38.70800018310547,39.38800048828125,41.040000915527344,40.82400131225586,40.222999572753906,40.21900177001953,40.409000396728516,40.58100128173828,41.47100067138672,41.72100067138672,41.67300033569336,41.41600036621094,40.54800033569336,40.415000915527344,40.46500015258789,39.909000396728516,38.8650016784668,39.02199935913086,39.404998779296875,39.926998138427734,40.00199890136719,40.53799819946289,40.880001068115234,40.099998474121094,40.301998138427734,40.96099853515625,40.34600067138672,40.24599838256836,40.3129997253418,39.571998596191406,39.98699951171875,40.305999755859375,41.28200149536133,40.946998596191406,40.85200119018555,40.959999084472656,41.483001708984375,42.54100036621094,43.43299865722656,43.92900085449219,43.27399826049805,43.39899826049805,43.742000579833984,43.167999267578125,43.428001403808594,43.98400115966797,44.68199920654297,44.823001861572266,44.7869987487793,44.00600051879883,43.96699905395508,44.845001220703125,46.143001556396484,46.555999755859375,46.150001525878906,47.11800003051758,48.73500061035156,49.154,48.767,49.812,48.462,50.072,50.56,49.652,51.158,49.192,49.285,52.481,52.671,53.441,55.368,52.14,53.42,49.684,49.676,50.739,50.636,48.793,49.386,50.027,50.781,50.321,50.234,49.435,50.211,50.083,50.283,52.478,52.9,55.688,55.411,52.868,52.899,52.683,53.073,52.531,52.122,52.523,53.185,55.196,55.45,58.823,60.921,60.504,60.408,59.223,60.81,60.159,62.683,62.874,66.476,63.812,65.467,65.174,68.797,67.107,69.428,70.585,73.183,73.822,76.26,79.441,72.625,80.241,72.845,73.64,73.144,78.932,83.478,79.97,77.395,81.683,87.594,88.906,94.124,95.061,91.235,96.1,97.402,95.358,99.177,104.383,118.917,109.274,116.953,117.875,80.963,79.165,85.739,86.943,79.009,79.302,84.753,82.851,86.505,78.073,80.292,78.09,75.643,79.911,79.959,84.746,89.149,90.089,93.612,89.548,95.343,90.785,85.342,85.074,84.079,86.214,86.402,91.57,87.513,87.097,83.232,82.558,81.804,79.433,72.895,71.417,71.02,71.26,74.449,69.633,71.589,72.359,76.812,78.049,74.819,null,74.736,73.858,77.347,78.417,78.454,77.59,81.518,81.616,80.669,83.875,82.038,78.39,79.896,77.405,78.259,76.894,74.983,73.313,75.308,77.737,74.81,74.884,78.676,81.602,82.293,87.458,87.079,90.935,86.817,78.914,78.817,76.5,77.554,78.134,77.586,79.245,65.705,66.445,78.012,76.274,77.303,77.274,76.646,76.954,75.062,75.328,70.388,69.863],\"type\":\"line\",\"yAxisID\":\"yRight\",\"fill\":false,\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.2,\"spanGaps\":true,\"borderColor\":\"#f59e0b\",\"backgroundColor\":\"#f59e0b\"},{\"label\":\"D\\u00e9c 2026\",\"data\":[35.841,null,35.538,35.392,35.636,35.255,36.927,36.919,36.942,38.103,38.449,39.167,39.058,38.689,38.678,38.77,38.877,39.591,39.367,null,38.455,38.654,38.197,38.525,39.025,38.455,38.251,38.489,38.832,39.233,null,39.087,38.939,38.814,39.493,41.145,40.929,40.328,40.324,40.514,40.686,41.576,41.826,41.778,41.521,40.654,40.521,40.564,40.008,38.969,39.126,39.509,40.031,40.106,40.642,40.987,40.207,40.409,41.068,40.455,40.356,40.424,39.683,40.098,40.417,41.396,41.062,40.967,41.075,41.598,42.657,43.549,44.045,43.39,43.515,43.858,43.289,43.549,44.105,44.803,44.944,44.909,44.128,44.089,44.968,46.265,46.679,46.273,47.243,48.864,49.291,48.904,49.953,48.603,50.213,50.702,49.795,51.308,49.333,49.429,52.623,52.813,53.588,55.518,52.31,53.59,49.844,49.836,50.899,50.796,48.953,49.551,50.193,50.951,50.492,50.407,49.611,50.387,50.257,50.45,52.633,53.055,55.845,55.567,53.024,53.06,52.838,53.229,52.687,52.266,52.669,53.331,55.342,51,58.97,61.073,60.663,60.566,59.381,60.966,60.315,62.84,63.039,66.641,63.978,65.637,65.345,68.966,67.276,69.601,70.764,73.362,74.002,null,79.634,72.827,80.441,73.045,null,73.34,79.123,83.682,80.169,77.594,81.888,87.799,89.114,94.351,95.295,91.475,null,97.644,95.595,99.418,104.638,119.199,109.57,117.257,118.173,81.203,79.39,85.976,87.183,79.245,79.538,84.991,83.085,86.747,78.305,80.533,null,75.883,80.14,80.19,84.985,89.396,90.328,93.86,89.796,95.596,91.028,85.59,85.33,84.336,86.475,86.661,91.83,87.776,87.363,83.496,82.819,82.065,79.705,73.161,71.689,71.277,71.524,74.729,69.904,71.869,72.64,77.104,78.348,75.111,null,75.032,74.153,77.649,78.719,78.758,77.893,81.82,81.913,80.966,84.177,82.34,78.677,80.189,77.693,78.544,77.179,75.258,73.584,75.587,78.017,75.094,75.17,78.97,81.914,82.609,87.782,87.41,91.267,87.147,79.227,79.125,76.806,77.857,78.441,77.891,null,65.7,66.728,78.322,76.584,77.617,77.588,76.959,77.269,75.376,75.637,70.679,70.155],\"type\":\"line\",\"yAxisID\":\"yRight\",\"fill\":false,\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.2,\"spanGaps\":true,\"borderColor\":\"#7c3aed\",\"backgroundColor\":\"#7c3aed\"},{\"label\":\"Jan 2027\",\"data\":[35.949,null,35.645,35.499,35.743,35.364,37.036,37.028,37.05,38.211,38.559,39.284,39.177,38.81,38.799,38.891,38.998,39.712,39.488,null,38.576,38.775,38.318,38.646,39.146,38.576,38.374,38.612,38.955,39.356,null,39.211,39.062,38.937,39.616,41.268,41.052,40.451,40.447,40.637,40.809,41.699,41.949,41.901,41.644,40.779,40.646,40.686,40.13,39.089,39.246,39.629,40.151,40.226,40.762,41.11,40.33,40.532,41.191,40.58,40.481,40.549,39.808,40.223,40.542,41.523,41.189,41.094,41.202,41.726,42.785,43.678,44.174,43.519,43.644,43.987,43.425,43.685,44.241,44.939,45.08,45.045,44.263,44.224,45.104,46.4,46.818,46.412,47.386,49.01,49.433,49.045,50.111,48.761,50.371,50.861,49.955,51.473,49.478,49.567,52.758,52.948,53.731,55.664,52.446,53.726,49.976,49.968,51.033,50.93,49.087,49.69,50.334,51.095,50.637,50.554,49.76,50.536,50.403,50.59,52.775,53.197,55.988,55.709,53.166,53.206,52.979,53.37,52.828,52.4,52.805,53.467,55.478,50.12,59.107,61.234,60.833,60.736,59.551,61.133,60.482,63.008,63.209,66.811,64.142,65.805,65.514,69.13,67.44,69.768,70.937,73.535,74.177,null,79.821,73.019,80.629,73.225,null,73.512,79.291,83.862,80.353,77.777,82.078,88.001,89.316,94.572,95.523,91.709,null,97.879,95.817,99.644,104.877,119.466,109.822,117.516,118.438,81.381,79.551,86.166,87.379,79.438,79.731,85.211,83.3,86.981,78.52,80.743,null,76.083,80.348,80.399,85.197,89.631,90.578,94.104,90.04,95.846,91.259,85.812,85.552,84.56,86.703,86.888,92.068,88.019,87.609,83.73,83.051,82.297,79.929,73.371,71.907,71.483,71.736,74.953,70.118,72.095,72.868,77.346,78.598,75.349,null,75.274,74.395,77.897,78.968,79.006,78.13,82.073,82.17,81.222,84.438,82.6,78.92,80.437,77.937,78.786,77.421,75.488,73.809,75.821,78.251,75.33,75.411,79.214,82.169,82.865,88.052,87.675,91.537,87.411,79.473,79.37,77.048,78.102,78.689,78.138,null,79.473,66.952,78.573,76.835,77.873,77.843,77.214,77.526,75.625,75.884,70.914,70.392],\"type\":\"line\",\"yAxisID\":\"yRight\",\"fill\":false,\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.2,\"spanGaps\":true,\"borderColor\":\"#0ea5e9\",\"backgroundColor\":\"#0ea5e9\"},{\"label\":\"F\\u00e9v 2027\",\"data\":[36.079,null,35.775,35.629,35.873,35.494,37.166,37.158,37.18,38.341,38.689,39.414,39.305,38.936,38.925,39.017,39.124,39.838,39.614,null,38.702,38.901,38.444,38.772,39.272,38.702,38.498,38.736,39.079,39.48,null,39.334,39.185,39.06,39.739,41.39,41.174,40.573,40.569,40.759,40.931,41.821,42.071,42.023,41.766,40.909,40.776,40.826,40.27,39.229,39.386,39.769,40.291,40.366,40.902,41.253,40.474,40.676,41.335,40.727,40.628,40.696,39.955,40.37,40.689,41.669,41.336,41.241,41.349,41.873,42.933,43.826,44.322,43.667,43.792,44.135,43.575,43.835,44.391,45.089,45.23,45.195,44.412,44.373,45.254,46.547,46.964,46.558,47.532,49.16,49.584,49.195,50.267,48.917,50.527,51.018,50.113,51.638,49.628,49.709,52.898,53.089,53.881,55.817,52.59,53.87,50.117,50.108,51.174,51.071,49.228,49.836,50.481,51.246,50.79,50.709,49.916,50.692,50.557,50.737,52.924,53.346,56.139,55.859,53.316,53.361,53.128,53.52,52.978,52.558,52.965,53.627,55.638,null,59.267,61.408,61.007,60.909,59.723,61.303,60.653,63.18,63.383,66.985,64.31,65.977,65.686,69.299,67.609,69.941,71.116,73.715,74.358,null,80.027,73.225,80.818,73.411,null,73.697,79.471,84.055,80.554,77.978,82.285,88.219,89.539,94.814,95.772,91.964,null,98.136,96.074,99.905,105.152,119.784,110.126,117.828,118.731,81.587,79.717,86.356,87.594,79.649,79.945,85.441,83.526,87.203,78.728,80.945,79.255,76.241,80.522,80.576,85.383,89.839,90.8,94.324,90.261,96.072,91.485,86.02,85.761,84.77,86.917,87.1,92.29,88.241,87.834,83.948,83.266,82.512,80.136,73.55,72.099,71.657,71.923,75.16,70.316,72.304,73.078,77.568,78.827,75.567,null,75.496,74.618,78.127,79.198,79.24,78.36,82.319,82.402,81.454,84.675,82.837,79.15,80.673,78.168,79.014,77.649,75.705,74.025,76.054,78.492,75.567,75.65,79.469,82.433,83.129,88.328,87.931,91.822,87.665,79.705,79.602,77.278,78.34,78.931,78.378,null,65.625,67.165,78.818,77.08,78.122,78.092,77.462,77.776,75.868,76.125,71.134,70.613],\"type\":\"line\",\"yAxisID\":\"yRight\",\"fill\":false,\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.2,\"spanGaps\":true,\"borderColor\":\"#d946ef\",\"backgroundColor\":\"#d946ef\"},{\"label\":\"Mar 2027\",\"data\":[36.162,null,35.858,35.712,35.956,35.58,37.252,37.255,37.277,38.438,38.786,39.508,39.407,39.044,39.033,39.125,39.232,39.946,39.722,null,38.81,39.009,38.552,38.88,39.38,38.81,38.611,38.849,39.192,39.593,null,39.452,39.302,39.177,39.855,41.506,41.29,40.689,40.685,40.875,41.047,41.937,42.187,42.139,41.882,41.02,40.888,40.928,40.372,39.331,39.488,39.871,40.393,40.468,41.004,41.355,40.576,40.778,41.437,40.829,40.735,40.817,40.076,40.491,40.81,41.791,41.458,41.363,41.471,41.995,43.055,43.948,44.444,43.789,43.914,44.258,43.7,43.96,44.516,45.214,45.355,45.321,44.538,44.499,45.38,46.675,47.092,46.687,47.661,49.292,49.716,49.327,50.401,49.052,50.662,51.154,50.253,51.782,49.791,49.875,53.061,53.252,54.044,55.982,52.755,54.035,50.279,50.27,51.336,51.233,49.39,49.998,50.643,51.408,50.952,50.872,50.081,50.857,50.722,50.902,53.088,53.51,56.303,56.02,53.477,53.527,53.294,53.685,53.143,52.704,53.113,53.775,55.786,null,59.415,61.574,61.171,61.073,59.887,61.466,60.816,63.344,63.549,67.151,64.477,66.147,65.858,69.471,67.781,70.114,71.294,73.893,74.542,null,80.207,73.419,81.012,73.609,null,73.9,79.697,84.281,80.773,78.196,82.507,88.442,89.767,95.042,96.006,92.218,null,98.39,96.332,100.164,105.411,120.061,110.407,118.112,119.012,81.802,79.914,86.562,87.81,79.863,80.146,85.651,83.737,87.427,78.939,81.155,null,76.436,80.72,80.781,85.593,90.057,91.032,94.55,90.487,96.306,91.714,86.246,85.988,84.997,87.149,87.332,92.53,88.483,88.079,84.19,83.504,82.749,80.367,73.766,72.321,71.864,72.138,75.386,70.555,72.55,73.326,77.834,79.102,75.834,null,75.761,74.882,78.394,79.465,79.51,78.627,82.596,82.669,81.715,84.95,83.113,79.425,80.952,78.447,79.29,77.925,75.976,74.293,76.325,78.765,75.841,75.931,79.757,82.731,83.429,88.635,88.243,92.13,87.961,79.99,79.881,77.554,78.618,79.21,78.65,null,79.36,67.419,79.096,77.358,78.406,78.374,77.745,78.06,76.151,76.402,71.397,70.875],\"type\":\"line\",\"yAxisID\":\"yRight\",\"fill\":false,\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.2,\"spanGaps\":true,\"borderColor\":\"#059669\",\"backgroundColor\":\"#059669\"},{\"label\":\"Avr 2027\",\"data\":[36.262,null,35.97,35.824,36.068,35.705,37.377,37.385,37.407,38.568,38.916,39.637,39.537,39.174,39.163,39.255,39.362,40.076,39.852,null,38.94,39.139,38.682,39.01,39.51,38.94,38.738,38.976,39.319,39.72,null,39.574,39.424,39.299,39.977,41.628,41.412,40.811,40.807,40.997,41.169,42.059,42.309,42.261,42.004,41.151,41.019,41.068,40.512,39.471,39.628,40.011,40.533,40.608,41.144,41.495,40.716,40.918,41.577,40.969,40.874,40.956,40.215,40.63,40.949,41.93,41.596,41.501,41.609,42.133,43.193,44.086,44.582,43.927,44.052,44.397,43.841,44.101,44.657,45.355,45.496,45.465,44.682,44.643,45.525,46.821,47.238,46.834,47.808,49.441,49.866,49.476,50.554,49.205,50.815,51.314,50.413,51.943,49.945,50.031,53.208,53.399,54.191,56.131,52.903,54.183,50.425,50.416,51.482,51.379,49.536,50.144,50.789,51.554,51.101,51.023,50.234,51.01,50.875,51.055,53.24,53.662,56.455,56.169,53.626,53.681,53.448,53.838,53.296,52.852,53.263,53.925,55.936,null,59.565,61.75,61.345,61.248,60.062,61.64,60.99,63.518,63.725,67.327,64.652,66.325,66.038,69.651,67.961,70.294,71.479,74.078,74.733,null,80.405,73.615,81.208,73.809,null,74.104,79.917,84.502,80.98,78.402,82.717,88.653,89.982,95.281,96.25,92.474,null,98.647,96.587,100.42,105.675,120.355,110.703,118.408,119.304,81.994,80.098,86.772,88.03,80.081,80.366,85.891,83.979,87.675,79.166,81.381,null,76.647,80.933,81.002,85.835,90.307,91.296,94.808,90.745,96.571,91.974,86.492,86.233,85.242,87.399,87.583,92.788,88.755,88.351,84.452,83.762,83.007,80.619,74.004,72.577,72.104,72.378,75.65,70.797,72.798,73.579,78.104,79.381,76.105,null,76.031,75.152,78.666,79.737,79.785,78.9,82.878,82.941,81.976,85.225,83.389,79.681,81.211,78.706,79.546,78.182,76.216,74.533,76.568,79.018,76.095,76.191,80.023,83.012,83.712,88.924,88.523,92.419,88.239,80.257,80.142,77.813,78.879,79.472,78.916,null,67.6,67.669,79.367,77.63,78.684,78.651,78.024,78.339,76.43,76.674,71.655,71.133],\"type\":\"line\",\"yAxisID\":\"yRight\",\"fill\":false,\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.2,\"spanGaps\":true,\"borderColor\":\"#ef4444\",\"backgroundColor\":\"#ef4444\"},{\"label\":\"Mai 2027\",\"data\":[36.371,null,36.067,35.921,36.165,35.79,37.462,37.478,37.501,38.662,39.01,39.731,39.632,39.272,39.261,39.353,39.46,40.174,39.95,null,39.038,39.237,38.78,39.108,39.608,39.038,38.842,39.08,39.423,39.824,null,39.686,39.546,39.421,40.099,41.75,41.534,40.933,40.929,41.119,41.291,42.181,42.431,42.383,42.126,41.271,41.139,41.175,40.619,39.578,39.735,40.118,40.64,40.715,41.251,41.602,40.823,41.025,41.684,41.076,40.983,41.073,40.332,40.747,41.066,42.046,41.713,41.618,41.726,42.25,43.31,44.204,44.7,44.045,44.17,44.517,43.963,44.223,44.779,45.477,45.618,45.587,44.804,44.765,45.648,46.944,47.362,46.958,47.932,49.565,49.991,49.6,50.681,49.333,50.943,51.445,50.544,52.075,50.077,50.171,53.353,53.544,54.336,56.276,53.048,54.328,50.567,50.558,51.624,51.521,49.678,50.286,50.931,51.696,51.261,51.183,50.394,51.17,51.035,51.215,53.399,53.821,56.614,56.324,53.781,53.837,53.604,53.989,53.447,52.99,53.401,54.063,56.074,null,59.703,61.902,61.498,61.401,60.215,61.792,61.143,63.671,63.88,67.482,64.809,66.484,66.199,69.812,68.122,70.456,71.644,74.243,74.899,null,80.576,73.793,81.386,73.991,null,74.288,80.104,84.689,81.18,78.602,82.917,88.854,90.184,95.491,96.466,92.699,null,98.872,96.814,100.647,105.908,120.609,110.959,118.665,119.56,82.234,80.322,86.974,88.246,80.293,80.577,86.085,84.174,87.886,79.38,81.589,null,76.853,81.139,81.203,86.045,90.525,91.531,95.044,90.981,96.813,92.215,86.724,86.465,85.474,87.631,87.815,93.022,88.992,88.589,84.69,83.999,83.244,80.85,74.234,72.803,72.31,72.592,75.878,71.024,73.029,73.809,78.35,79.636,76.357,null,76.283,75.403,78.919,79.991,80.041,79.153,83.137,83.198,82.228,85.48,83.645,79.94,81.47,78.965,79.805,78.441,76.471,74.785,76.822,79.275,76.354,76.455,80.298,83.292,83.993,89.212,88.805,92.703,88.513,80.526,80.406,78.076,79.146,79.741,79.167,null,84.245,67.922,79.623,77.89,78.954,78.92,78.294,78.61,76.703,76.942,71.917,71.39],\"type\":\"line\",\"yAxisID\":\"yRight\",\"fill\":false,\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.2,\"spanGaps\":true,\"borderColor\":\"#a3e635\",\"backgroundColor\":\"#a3e635\"},{\"label\":\"Juin 2027\",\"data\":[36.481,null,36.177,36.031,36.275,35.901,37.573,37.596,37.619,38.78,39.128,39.848,39.753,39.397,39.386,39.478,39.585,40.299,40.075,null,39.163,39.362,38.905,39.233,39.733,39.163,38.968,39.206,39.549,39.95,null,39.814,39.666,39.541,40.218,41.868,41.652,41.051,41.047,41.237,41.409,42.299,42.549,42.501,42.244,41.394,41.262,41.295,40.739,39.698,39.855,40.238,40.76,40.835,41.371,41.722,40.944,41.146,41.805,41.197,41.106,41.204,40.463,40.878,41.197,42.175,41.843,41.748,41.856,42.38,43.44,44.334,44.831,44.176,44.301,44.649,44.097,44.357,44.913,45.611,45.752,45.721,44.938,44.899,45.783,47.08,47.498,47.094,48.068,49.702,50.129,49.738,50.823,49.477,51.087,51.605,50.704,52.236,50.238,50.338,53.519,53.71,54.502,56.442,53.214,54.494,50.727,50.718,51.784,51.681,49.838,50.446,51.091,51.856,51.411,51.333,50.544,51.32,51.185,51.365,53.548,53.97,56.763,56.47,53.927,53.984,53.752,54.129,53.587,53.134,53.544,54.206,56.217,null,59.846,62.078,61.674,61.577,60.391,61.967,61.319,63.847,64.056,67.658,64.985,66.66,66.378,69.991,68.301,70.636,71.827,74.427,75.084,null,80.776,73.991,81.584,74.193,null,74.492,80.311,84.897,81.397,78.818,83.133,89.07,90.401,95.716,96.704,92.947,null,99.121,97.066,100.901,106.164,120.889,111.246,118.953,119.836,82.453,80.524,87.172,88.457,80.505,80.791,86.317,84.406,88.126,79.614,81.816,null,77.046,81.333,81.413,86.263,90.75,91.772,95.286,91.223,97.06,92.461,86.962,86.703,85.712,87.869,88.054,93.263,89.236,88.835,84.936,84.245,83.49,81.078,74.449,73.029,72.521,72.811,76.11,71.255,73.263,74.047,78.603,79.898,76.617,null,76.543,75.663,79.18,80.252,80.303,79.412,83.401,83.459,82.485,85.74,83.906,80.19,81.72,79.215,80.055,78.691,76.718,75.033,77.071,79.527,76.608,76.713,80.566,83.564,84.266,89.492,89.08,92.979,88.78,80.789,80.665,78.335,79.408,80.004,79.443,81.3,67.37,68.169,79.903,78.17,79.234,79.2,78.576,78.892,76.986,77.219,72.167,71.64],\"type\":\"line\",\"yAxisID\":\"yRight\",\"fill\":false,\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.2,\"spanGaps\":true,\"borderColor\":\"#14b8a6\",\"backgroundColor\":\"#14b8a6\"},{\"label\":\"Juil 2027\",\"data\":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],\"type\":\"line\",\"yAxisID\":\"yRight\",\"fill\":false,\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.2,\"spanGaps\":true,\"borderColor\":\"#fb7185\",\"backgroundColor\":\"#fb7185\"}];\r\n        const el    = document.getElementById('SILVER_chart147_147');\r\n        if (!el) return;\r\n\r\n        const wrap  = el.closest('.silver147-wrap');\r\n        const hintEl= wrap ? wrap.querySelector('.s147-hint') : null;\r\n        const btns  = wrap ? wrap.querySelectorAll('.s147-btn[data-range]') : [];\r\n        const resetBtn = wrap ? wrap.querySelector('[data-action=\"reset\"]') : null;\r\n        const pngBtn   = wrap ? wrap.querySelector('[data-action=\"png\"]')   : null;\r\n\r\n        try {\r\n          el.style.outline = 'none';\r\n          el.addEventListener('focus', function(){ try { el.blur(); } catch(e){} });\r\n        } catch(e){}\r\n\r\n        const existing = window.Chart && Chart.getChart(el);\r\n        if (existing) existing.destroy();\r\n\r\n        const isMobileLike = (function(){\r\n          const hasTouch   = ('ontouchstart' in window) || (navigator.maxTouchPoints||0) > 0 || (navigator.msMaxTouchPoints||0) > 0;\r\n          const hasCoarse  = window.matchMedia && (matchMedia('(pointer:coarse)').matches || matchMedia('(hover: none)').matches);\r\n          const uaMobile   = \/Android|iPhone|iPad|iPod|Mobile\/i.test(navigator.userAgent||'');\r\n          const smallScr   = Math.max(screen.width||0, screen.height||0) <= 1024;\r\n          return hasCoarse || (hasTouch && (uaMobile || smallScr));\r\n        })();\r\n        if (isMobileLike && hintEl) { hintEl.style.display = 'none'; }\r\n\r\n        try {\r\n          const zp = window['chartjs-plugin-zoom']\r\n            ? (window['chartjs-plugin-zoom'].default || window['chartjs-plugin-zoom'])\r\n            : null;\r\n          if (zp && window.Chart && Chart.register) { Chart.register(zp); }\r\n        } catch(e){}\r\n\r\n        const Crosshair2D = {\r\n          id: 'crosshair2d',\r\n          afterEvent(chart, args) {\r\n            if (isMobileLike) return;\r\n            const e = args.event, a = chart.chartArea;\r\n            if (!a) return;\r\n            if (e.type === 'mouseout') { chart.$cross2d = null; chart.draw(); return; }\r\n            if (e.x>=a.left && e.x<=a.right && e.y>=a.top && e.y<=a.bottom) chart.$cross2d = {x:e.x,y:e.y};\r\n            else chart.$cross2d = null;\r\n            chart.draw();\r\n          },\r\n          afterDraw(chart, _args, opts) {\r\n            if (isMobileLike) return;\r\n            const cross = chart.$cross2d; if (!cross) return;\r\n            const { ctx, chartArea:a } = chart;\r\n            ctx.save();\r\n            const color=(opts&&opts.color)||'rgba(0,0,0,0.28)',\r\n                  lw=(opts&&opts.lineWidth)||1,\r\n                  dash=(opts&&opts.lineDash)||[3,3];\r\n            ctx.strokeStyle=color; ctx.lineWidth=lw; ctx.setLineDash(dash);\r\n            ctx.beginPath(); ctx.moveTo(cross.x,a.top); ctx.lineTo(cross.x,a.bottom); ctx.stroke();\r\n            ctx.beginPath(); ctx.moveTo(a.left,cross.y); ctx.lineTo(a.right,cross.y); ctx.stroke();\r\n            if (!opts || opts.point!==false){\r\n              ctx.setLineDash([]);\r\n              ctx.fillStyle=(opts&&opts.pointColor)||color;\r\n              ctx.beginPath(); ctx.arc(cross.x,cross.y,(opts&&opts.pointRadius)||2.5,0,Math.PI*2); ctx.fill();\r\n            }\r\n            ctx.restore();\r\n          }\r\n        };\r\n\r\n        let externalTooltipHandler = null;\r\n        if (!isMobileLike) {\r\n          const tipId = '__chart_exttip_left_147_147';\r\n          let tip = document.getElementById(tipId);\r\n          if (!tip) {\r\n            tip = document.createElement('div');\r\n            tip.id = tipId;\r\n            tip.style.position = 'fixed';\r\n            tip.style.left = '0';\r\n            tip.style.top  = '0';\r\n            tip.style.opacity = '0';\r\n            tip.style.pointerEvents = 'none';\r\n            tip.style.zIndex = '99999';\r\n            document.body.appendChild(tip);\r\n          }\r\n\r\n          const fmt = (n)=> (n==null || Number.isNaN(n)) ? '' : Number(n).toLocaleString(undefined,{maximumFractionDigits:1});\r\n          externalTooltipHandler = function(context){\r\n            const { chart, tooltip } = context;\r\n            const area = chart.chartArea; if (!area) return;\r\n            if (tooltip.opacity === 0) { tip.style.opacity = 0; return; }\r\n\r\n            const title = (tooltip.title && tooltip.title[0]) ? tooltip.title[0] : '';\r\n            const rows = (tooltip.dataPoints || []).map(dp => {\r\n              const color = dp.dataset.borderColor || '#888';\r\n              const label = dp.dataset.label || '';\r\n              const val   = (dp.parsed && dp.parsed.y != null) ? fmt(dp.parsed.y) : '';\r\n              return `<div style=\"display:flex;align-items:center;justify-content:space-between;gap:12px;\">\r\n                        <span style=\"display:flex;align-items:center;gap:8px;\">\r\n                          <span style=\"width:10px;height:10px;border-radius:2px;background:${color};border:1px solid rgba(0,0,0,.2);display:inline-block;\"><\/span>\r\n                          <span>${label}<\/span>\r\n                        <\/span>\r\n                        <span style=\"font-weight:600;\">${val}<\/span>\r\n                      <\/div>`;\r\n            }).join('');\r\n\r\n            tip.innerHTML =\r\n              `<div style=\"box-shadow:0 8px 18px rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.12);\r\n                           background:#ffffff;color:#0f172a;border-radius:10px;padding:10px 12px;\r\n                           min-width:200px;max-width:300px;font:12px system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\">\r\n                 <div style=\"color:#0f172a;font-weight:800;margin-bottom:6px;\">${title}<\/div>\r\n                 <div style=\"display:flex;flex-direction:column;gap:3px;\">${rows}<\/div>\r\n               <\/div>`;\r\n\r\n            const cr = chart.canvas.getBoundingClientRect();\r\n            const box = tip.firstElementChild;\r\n            const boxW = box ? box.offsetWidth : 240;\r\n            const boxH = box ? box.offsetHeight : 140;\r\n            const pad = 8;\r\n\r\n            const left = Math.max(8, cr.left + area.left - boxW - pad);\r\n            const topMin = cr.top + area.top;\r\n            const topMax = cr.top + area.bottom - boxH;\r\n            const rawTop = cr.top + tooltip.caretY - boxH\/2;\r\n            const top = Math.min(Math.max(rawTop, topMin), topMax);\r\n\r\n            tip.style.left = left + 'px';\r\n            tip.style.top  = top  + 'px';\r\n            tip.style.opacity = 1;\r\n          };\r\n\r\n          el.addEventListener('mouseleave', () => {\r\n            const t=document.getElementById('__chart_exttip_left_147_147');\r\n            if(t) t.style.opacity=0;\r\n          });\r\n          ['scroll','touchstart','pointerdown','visibilitychange','orientationchange','resize'].forEach(evt => {\r\n            window.addEventListener(evt, ()=>{ const t=document.getElementById('__chart_exttip_left_147_147'); if(t) t.style.opacity=0; }, { passive:true });\r\n          });\r\n        }\r\n\r\n        const tooltipConfig = (!isMobileLike)\r\n          ? { enabled:false, external:externalTooltipHandler, mode:'index', intersect:false }\r\n          : { enabled:true,  mode:'index', intersect:false };\r\n\r\n        const pluginsArr = (!isMobileLike) ? [Crosshair2D] : [];\r\n\r\n        const fmtTick = (n) => {\r\n          try { return (n===0 || n===null || n===undefined) ? '' : Number(n).toLocaleString(); }\r\n          catch(e){ return n; }\r\n        };\r\n\r\n        const chart = new Chart(el.getContext('2d'), {\r\n          type: 'line',\r\n          data: {\r\n            labels: labelsAll.slice(),\r\n            datasets: datasetsAll.map(ds => Object.assign({}, ds, { data: ds.data.slice() }))\r\n          },\r\n          plugins: pluginsArr,\r\n          options: {\r\n            responsive: true,\r\n            maintainAspectRatio: false,\r\n            normalized: true,\r\n            interaction: { mode: 'index', intersect: false },\r\n            plugins: {\r\n              tooltip: tooltipConfig,\r\n              title: { display: false },\r\n              legend: {\r\n                display: true,\r\n                position: 'bottom',\r\n                align: 'center',\r\n                labels: { usePointStyle: true, boxWidth: 10, boxHeight: 10 }\r\n              },\r\n              zoom: {\r\n                \/\/ \u2705 (\uc218\uc815) \ud0a4\ubcf4\ub4dc pan\uc774 resetZoom \uc0c1\ud0dc\uc640 \ub3d9\uae30\ud654\ub418\ub3c4\ub85d pan\uc744 \"\ud65c\uc131\"\uc73c\ub85c \ub460\r\n                \/\/ - \ub9c8\uc6b0\uc2a4 \ub4dc\ub798\uadf8 pan\uc740 ALT \ub204\ub97c \ub54c\ub9cc \uac00\ub2a5(\uc0ac\uc2e4\uc0c1 \ud0a4\ubcf4\ub4dc \uc804\uc6a9\uc73c\ub85c \uc720\uc9c0)\r\n                pan: { enabled: true, mode: 'x', modifierKey: 'alt' },\r\n                zoom: {\r\n                  mode: 'x',\r\n                  wheel: { enabled: true },\r\n                  pinch: { enabled: true },\r\n                  drag:  { enabled: true }\r\n                }\r\n              }\r\n            },\r\n            scales: {\r\n              x: {\r\n                type: 'category',\r\n                title: { display: true, text: 'Date' },\r\n                ticks: { autoSkip: true, maxTicksLimit: (window.innerWidth < 768 ? 6 : 12), maxRotation: 0, minRotation: 0 },\r\n                grid:  { display: false }\r\n              },\r\n              yRight: {\r\n                type: 'linear', position: 'right',\r\n                title: { display: true, text: 'Prix' },\r\n                grid:  { drawOnChartArea: true },\r\n                ticks: { callback: (value) => fmtTick(value) }\r\n              }\r\n            }\r\n          }\r\n        });\r\n\r\n        \/\/ \ubc94\uc704 \ubc84\ud2bc (3M\/ALL) + \ucd08\uae30 3M\r\n        const tsAll = labelsAll.map(l => {\r\n          const t = Date.parse(l);\r\n          return isNaN(t) ? null : Math.floor(t\/1000);\r\n        });\r\n\r\n        const setActive = (key) => {\r\n          btns.forEach(b => b.classList.toggle('is-active', (b.dataset.range === String(key))));\r\n        };\r\n\r\n        function s147_clearManualXLimits_(){\r\n          try{\r\n            if (chart && chart.options && chart.options.scales && chart.options.scales.x){\r\n              try { delete chart.options.scales.x.min; } catch(e){}\r\n              try { delete chart.options.scales.x.max; } catch(e){}\r\n            }\r\n          } catch(e){}\r\n        }\r\n\r\n        function s147_fixBadXLimits_(){\r\n          try{\r\n            const N = (chart && chart.data && chart.data.labels) ? chart.data.labels.length : 0;\r\n            if (!N) return;\r\n            const xScale = chart.scales && chart.scales.x ? chart.scales.x : null;\r\n            if (!xScale) return;\r\n\r\n            const min = (typeof xScale.min === 'number') ? xScale.min : null;\r\n            const max = (typeof xScale.max === 'number') ? xScale.max : null;\r\n\r\n            if ((min !== null && min < 0) || (max !== null && max > N-1) || (min !== null && max !== null && min >= max)) {\r\n              s147_clearManualXLimits_();\r\n              chart.update('none');\r\n            }\r\n          } catch(e){}\r\n        }\r\n\r\n        function applyRange(rangeKey){\r\n          let L = labelsAll.slice();\r\n          let S = datasetsAll.map(ds => ds.data.slice());\r\n\r\n          if (rangeKey !== 'all') {\r\n            const m = parseInt(rangeKey, 10);\r\n            if (m > 0) {\r\n              const validTs = tsAll.filter(t => Number.isInteger(t) && t > 0);\r\n              if (validTs.length) {\r\n                const latest = Math.max.apply(null, validTs);\r\n                const cutDate = new Date(latest * 1000);\r\n                cutDate.setMonth(cutDate.getMonth() - m);\r\n                const cutTs = Math.floor(cutDate.getTime() \/ 1000);\r\n\r\n                const keepIdx = [];\r\n                tsAll.forEach((ts, idx) => { if (Number.isInteger(ts) && ts >= cutTs) keepIdx.push(idx); });\r\n                if (keepIdx.length) {\r\n                  L = keepIdx.map(i => labelsAll[i]);\r\n                  S = datasetsAll.map(ds => keepIdx.map(i => ds.data[i]));\r\n                }\r\n              }\r\n            }\r\n          }\r\n\r\n          s147_clearManualXLimits_();\r\n\r\n          chart.data.labels = L;\r\n          chart.data.datasets.forEach((ds, di) => { ds.data = S[di]; });\r\n          chart.update();\r\n          setActive(rangeKey);\r\n\r\n          if (chart.resetZoom) chart.resetZoom();\r\n          s147_fixBadXLimits_();\r\n        }\r\n\r\n        applyRange('3');\r\n        btns.forEach(b => b.addEventListener('click', () => applyRange(b.dataset.range)));\r\n\r\n        if (resetBtn) resetBtn.addEventListener('click', () => {\r\n          s147_clearManualXLimits_();\r\n          if (chart.resetZoom) chart.resetZoom();\r\n        });\r\n\r\n        if (pngBtn) {\r\n          pngBtn.addEventListener('click', () => {\r\n            try{\r\n              const url = chart.toBase64Image('image\/png', 1.0);\r\n              const a = document.createElement('a');\r\n              a.href = url;\r\n              a.download = 'silver_term_structure_147.png';\r\n              a.click();\r\n            }catch(e){}\r\n          });\r\n        }\r\n\r\n        if (!isMobileLike && chart && chart.resetZoom) {\r\n          el.addEventListener('dblclick', () => {\r\n            s147_clearManualXLimits_();\r\n            chart.resetZoom();\r\n          });\r\n        }\r\n\r\n        if (!isMobileLike) {\r\n          let s147_kb_active = false;\r\n\r\n          el.addEventListener('mouseenter', () => { s147_kb_active = true; });\r\n          el.addEventListener('mouseleave', () => { s147_kb_active = false; });\r\n          el.addEventListener('pointerdown', () => { s147_kb_active = true; });\r\n\r\n          \/\/ \u2705 (\uc218\uc815) x.min\/x.max \uc9c1\uc811 \uc870\uc791 \uc81c\uac70 \u2192 chart.pan() \uc0ac\uc6a9\r\n          function s147_panByKey_(dir){\r\n            try{\r\n              if (!chart || typeof chart.pan !== 'function') return;\r\n\r\n              \/\/ \ud639\uc2dc \uacfc\uac70 \ucf54\ub4dc\uac00 \ub0a8\uae34 min\/max\uac00 \uc788\uc73c\uba74 \uc81c\uac70(\ub9ac\uc14b\/\ubcf5\uad6c \uaf2c\uc784 \ubc29\uc9c0)\r\n              s147_clearManualXLimits_();\r\n\r\n              const a = chart.chartArea || null;\r\n              let step = a ? Math.max(24, Math.round(a.width * 0.10)) : 80; \/\/ \ud654\uba74\ud3ed 10% \uc815\ub3c4\r\n\r\n              \/\/ ArrowLeft: \uacfc\uac70(\uc67c\ucabd)\ub85c \uc774\ub3d9\ud558\ub824\uba74 dx\ub294 + \ub85c(\ud50c\ub7ec\uadf8\uc778 \uae30\uc900)\r\n              const dx = (dir < 0) ? step : -step;\r\n\r\n              chart.pan({ x: dx, y: 0 }, undefined, 'none');\r\n\r\n              s147_fixBadXLimits_();\r\n            } catch(e){}\r\n          }\r\n\r\n          document.addEventListener('keydown', function(ev){\r\n            if (!s147_kb_active) return;\r\n\r\n            if (ev.key === 'ArrowLeft' || ev.key === 'ArrowRight') {\r\n              ev.preventDefault();\r\n              ev.stopPropagation();\r\n              const dir = (ev.key === 'ArrowLeft') ? -1 : 1;\r\n              s147_panByKey_(dir);\r\n            }\r\n          }, { passive: false });\r\n        }\r\n\r\n      });\r\n    <\/script>\r\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1521658 e-flex e-con-boxed e-con e-parent\" data-id=\"1521658\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4465797 elementor-widget elementor-widget-shortcode\" data-id=\"4465797\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div class=\"silver148s-wrap\">\r\n      <div class=\"silver148s-card\">\r\n        <div class=\"silver148s-controls\">\r\n          <strong class=\"silver148s-range-label\">P\u00e9riode :<\/strong>\r\n          <button type=\"button\" class=\"silver148s-btn\" data-range=\"3\">3M<\/button>\r\n          <button type=\"button\" class=\"silver148s-btn\" data-range=\"12\">1Y<\/button>\r\n          <button type=\"button\" class=\"silver148s-btn\" data-range=\"60\">5Y<\/button>\r\n          <button type=\"button\" class=\"silver148s-btn\" data-range=\"120\">10Y<\/button>\r\n          <button type=\"button\" class=\"silver148s-btn\" data-range=\"all\">ALL<\/button>\r\n          <span class=\"silver148s-flex-spacer\"><\/span>\r\n          <em class=\"silver148s-hint\">Molette\/Pincer=Zoom \u00b7 Glisser=Zoom bo\u00eete \u00b7 Double-clic=R\u00e9initialiser \u00b7 Fl\u00e8ches=Pan<\/em>\r\n          <button type=\"button\" class=\"silver148s-btn silver148s-btn-ghost\" data-action=\"reset\">R\u00e9initialiser<\/button>\r\n          <button type=\"button\" class=\"silver148s-btn silver148s-btn-ghost\" data-action=\"png\">Enregistrer PNG<\/button>\r\n        <\/div>\r\n\r\n        <div class=\"silver148s-title-row\">\r\n          <h3 class=\"silver148s-title\">Positions sp\u00e9culatives sur contrats \u00e0 terme sur l\u2019argent (CFTC)<\/h3>\r\n        <\/div>\r\n\r\n        <div class=\"silver148s-canvas-wrap\">\r\n          <canvas\r\n            id=\"SILVER_chart148_148\"\r\n            aria-label=\"Positions sp\u00e9culatives sur contrats \u00e0 terme sur l\u2019argent (CFTC)\"\r\n            tabindex=\"-1\"\r\n          ><\/canvas>\r\n        <\/div>\r\n\r\n        <div class=\"silver148s-source-wrap\">\r\n          <span class=\"silver148s-source-pill\">\r\n            <a href=\"https:\/\/www.cftc.gov\/\" target=\"_blank\" rel=\"noopener noreferrer\">CFTC<\/a>          <\/span>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <style>\r\n      .silver148s-wrap {\r\n        overflow-x: auto;\r\n        -webkit-overflow-scrolling: touch;\r\n        padding: 16px;\r\n        border-radius: 18px;\r\n        background: radial-gradient(circle at top left, #e5e7eb, #f8fafc);\r\n        box-shadow: 0 18px 32px rgba(15,23,42,0.22);\r\n        margin: 8px 0;\r\n      }\r\n      .silver148s-card {\r\n        background: #ffffff;\r\n        border-radius: 14px;\r\n        padding: 14px 16px 16px;\r\n        box-shadow: 0 6px 18px rgba(15,23,42,0.18);\r\n        border: 1px solid rgba(107,114,128,0.35);\r\n      }\r\n      .silver148s-controls {\r\n        display: flex;\r\n        gap: 6px;\r\n        align-items: center;\r\n        margin: 0 0 6px 0;\r\n        flex-wrap: wrap;\r\n        min-width: 720px;\r\n      }\r\n      .silver148s-range-label {\r\n        font: 600 13px system-ui,-apple-system,Segoe UI,Roboto;\r\n        color: #4b5563;\r\n      }\r\n      .silver148s-flex-spacer { flex: 1 1 auto; }\r\n\r\n      .silver148s-btn {\r\n        padding: 6px 10px;\r\n        border-radius: 999px;\r\n        border: 1px solid rgba(75,85,99,0.9);\r\n        background: linear-gradient(135deg,#f3f4f6,#e5e7eb);\r\n        font: 500 12px system-ui,-apple-system,Segoe UI,Roboto;\r\n        cursor: pointer;\r\n        color: #111827;\r\n        box-shadow: 0 1px 2px rgba(15,23,42,0.06);\r\n        transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.05s ease;\r\n      }\r\n      .silver148s-btn:hover {\r\n        background: linear-gradient(135deg,#e5e7eb,#d1d5db);\r\n        box-shadow: 0 2px 4px rgba(15,23,42,0.08);\r\n        transform: translateY(-0.5px);\r\n      }\r\n      .silver148s-btn.is-active {\r\n        background: linear-gradient(135deg,#111827,#374151);\r\n        color: #e5e7eb;\r\n        border-color: #111827;\r\n        box-shadow: 0 2px 7px rgba(17,24,39,0.45);\r\n      }\r\n      .silver148s-btn-ghost {\r\n        background: #ffffff;\r\n        border-color: rgba(209,213,219,0.9);\r\n        color: #374151;\r\n      }\r\n      .silver148s-btn-ghost.is-active {\r\n        background: #f3f4f6;\r\n        border-color: #9ca3af;\r\n        color: #111827;\r\n      }\r\n      .silver148s-hint {\r\n        font-size: 12px;\r\n        color: #6b7280;\r\n      }\r\n\r\n      .silver148s-title-row {\r\n        display: flex;\r\n        align-items: baseline;\r\n        justify-content: space-between;\r\n        min-width: 720px;\r\n        margin: 0 0 6px 0;\r\n      }\r\n      .silver148s-title {\r\n        margin: 0;\r\n        font: 700 18px system-ui,-apple-system,Segoe UI,Roboto;\r\n        color: #111827;\r\n      }\r\n\r\n      .silver148s-canvas-wrap {\r\n        min-width: 720px;\r\n        height: 480px;\r\n        position: relative;\r\n        background: #ffffff;\r\n        border-radius: 12px;\r\n        border: 1px solid rgba(148,163,184,0.45);\r\n        overflow: hidden;\r\n      }\r\n      .silver148s-canvas-wrap canvas {\r\n        width: 100%;\r\n        height: 100%;\r\n        display: block;\r\n        user-select: none;\r\n        -webkit-user-select: none;\r\n        -webkit-user-drag: none;\r\n        touch-action: none;\r\n        cursor: default;\r\n        outline: none !important;\r\n      }\r\n      .silver148s-canvas-wrap:focus,\r\n      .silver148s-canvas-wrap:focus-within,\r\n      .silver148s-canvas-wrap canvas:focus,\r\n      .silver148s-canvas-wrap canvas:focus-visible {\r\n        outline: none !important;\r\n        box-shadow: none !important;\r\n      }\r\n\r\n      .silver148s-source-wrap {\r\n        display: flex;\r\n        justify-content: flex-end;\r\n        min-width: 720px;\r\n        margin-top: 6px;\r\n      }\r\n      .silver148s-source-pill {\r\n        display: inline-block;\r\n        padding: 4px 10px;\r\n        border-radius: 999px;\r\n        background: rgba(255,255,255,0.96);\r\n        border: 1px solid rgba(0,0,0,0.06);\r\n        font: 11px system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\r\n        color: #6b7280;\r\n        box-shadow: 0 2px 6px rgba(15,23,42,0.12);\r\n      }\r\n      .silver148s-source-pill a{\r\n        color: inherit;\r\n        text-decoration: none;\r\n        font-weight: 600;\r\n      }\r\n      .silver148s-source-pill a:hover{\r\n        text-decoration: underline;\r\n      }\r\n\r\n      @media (max-width: 768px) {\r\n        .silver148s-wrap { padding: 10px; }\r\n        .silver148s-controls { min-width: 0; }\r\n        .silver148s-title-row { min-width: 0; }\r\n        .silver148s-canvas-wrap { min-width: 0; height: 360px; }\r\n        .silver148s-source-wrap { min-width: 0; }\r\n      }\r\n    <\/style>\r\n\r\n    <script>\r\n    (function(){\r\n      const labelsAll   = [\"2011-06-14\",\"2011-06-21\",\"2011-06-28\",\"2011-07-05\",\"2011-07-12\",\"2011-07-19\",\"2011-07-26\",\"2011-08-02\",\"2011-08-09\",\"2011-08-16\",\"2011-08-23\",\"2011-08-30\",\"2011-09-06\",\"2011-09-13\",\"2011-09-20\",\"2011-09-27\",\"2011-10-04\",\"2011-10-11\",\"2011-10-18\",\"2011-10-25\",\"2011-11-01\",\"2011-11-08\",\"2011-11-15\",\"2011-11-22\",\"2011-11-29\",\"2011-12-06\",\"2011-12-13\",\"2011-12-20\",\"2011-12-27\",\"2012-01-03\",\"2012-01-10\",\"2012-01-17\",\"2012-01-24\",\"2012-01-31\",\"2012-02-07\",\"2012-02-14\",\"2012-02-21\",\"2012-02-28\",\"2012-03-06\",\"2012-03-13\",\"2012-03-20\",\"2012-03-27\",\"2012-04-03\",\"2012-04-10\",\"2012-04-17\",\"2012-04-24\",\"2012-05-01\",\"2012-05-08\",\"2012-05-15\",\"2012-05-22\",\"2012-05-29\",\"2012-06-05\",\"2012-06-12\",\"2012-06-19\",\"2012-06-26\",\"2012-07-03\",\"2012-07-10\",\"2012-07-17\",\"2012-07-24\",\"2012-07-31\",\"2012-08-07\",\"2012-08-14\",\"2012-08-21\",\"2012-08-28\",\"2012-09-04\",\"2012-09-11\",\"2012-09-18\",\"2012-09-25\",\"2012-10-02\",\"2012-10-09\",\"2012-10-16\",\"2012-10-23\",\"2012-10-30\",\"2012-11-06\",\"2012-11-13\",\"2012-11-20\",\"2012-11-27\",\"2012-12-04\",\"2012-12-11\",\"2012-12-18\",\"2012-12-24\",\"2012-12-31\",\"2013-01-08\",\"2013-01-15\",\"2013-01-22\",\"2013-01-29\",\"2013-02-05\",\"2013-02-12\",\"2013-02-19\",\"2013-02-26\",\"2013-03-05\",\"2013-03-12\",\"2013-03-19\",\"2013-03-26\",\"2013-04-02\",\"2013-04-09\",\"2013-04-16\",\"2013-04-23\",\"2013-04-30\",\"2013-05-07\",\"2013-05-14\",\"2013-05-21\",\"2013-05-28\",\"2013-06-04\",\"2013-06-11\",\"2013-06-18\",\"2013-06-25\",\"2013-07-02\",\"2013-07-09\",\"2013-07-16\",\"2013-07-23\",\"2013-07-30\",\"2013-08-06\",\"2013-08-13\",\"2013-08-20\",\"2013-08-27\",\"2013-09-03\",\"2013-09-10\",\"2013-09-17\",\"2013-09-24\",\"2013-10-01\",\"2013-10-08\",\"2013-10-15\",\"2013-10-22\",\"2013-10-29\",\"2013-11-05\",\"2013-11-12\",\"2013-11-19\",\"2013-11-26\",\"2013-12-03\",\"2013-12-10\",\"2013-12-17\",\"2013-12-24\",\"2013-12-31\",\"2014-01-07\",\"2014-01-14\",\"2014-01-21\",\"2014-01-28\",\"2014-02-04\",\"2014-02-11\",\"2014-02-18\",\"2014-02-25\",\"2014-03-04\",\"2014-03-11\",\"2014-03-18\",\"2014-03-25\",\"2014-04-01\",\"2014-04-08\",\"2014-04-15\",\"2014-04-22\",\"2014-04-29\",\"2014-05-06\",\"2014-05-13\",\"2014-05-20\",\"2014-05-27\",\"2014-06-03\",\"2014-06-10\",\"2014-06-17\",\"2014-06-24\",\"2014-07-01\",\"2014-07-08\",\"2014-07-15\",\"2014-07-22\",\"2014-07-29\",\"2014-08-05\",\"2014-08-12\",\"2014-08-19\",\"2014-08-26\",\"2014-09-02\",\"2014-09-09\",\"2014-09-16\",\"2014-09-23\",\"2014-09-30\",\"2014-10-07\",\"2014-10-14\",\"2014-10-21\",\"2014-10-28\",\"2014-11-04\",\"2014-11-11\",\"2014-11-18\",\"2014-11-25\",\"2014-12-02\",\"2014-12-09\",\"2014-12-16\",\"2014-12-23\",\"2014-12-30\",\"2015-01-06\",\"2015-01-13\",\"2015-01-20\",\"2015-01-27\",\"2015-02-03\",\"2015-02-10\",\"2015-02-17\",\"2015-02-24\",\"2015-03-03\",\"2015-03-10\",\"2015-03-17\",\"2015-03-24\",\"2015-03-31\",\"2015-04-07\",\"2015-04-14\",\"2015-04-21\",\"2015-04-28\",\"2015-05-05\",\"2015-05-12\",\"2015-05-19\",\"2015-05-26\",\"2015-06-02\",\"2015-06-09\",\"2015-06-16\",\"2015-06-23\",\"2015-06-30\",\"2015-07-07\",\"2015-07-14\",\"2015-07-21\",\"2015-07-28\",\"2015-08-04\",\"2015-08-11\",\"2015-08-18\",\"2015-08-25\",\"2015-09-01\",\"2015-09-08\",\"2015-09-15\",\"2015-09-22\",\"2015-09-29\",\"2015-10-06\",\"2015-10-13\",\"2015-10-20\",\"2015-10-27\",\"2015-11-03\",\"2015-11-10\",\"2015-11-17\",\"2015-11-24\",\"2015-12-01\",\"2015-12-08\",\"2015-12-15\",\"2015-12-22\",\"2015-12-29\",\"2016-01-05\",\"2016-01-12\",\"2016-01-19\",\"2016-01-26\",\"2016-02-02\",\"2016-02-09\",\"2016-02-16\",\"2016-02-23\",\"2016-03-01\",\"2016-03-08\",\"2016-03-15\",\"2016-03-22\",\"2016-03-29\",\"2016-04-05\",\"2016-04-12\",\"2016-04-19\",\"2016-04-26\",\"2016-05-03\",\"2016-05-10\",\"2016-05-17\",\"2016-05-24\",\"2016-05-31\",\"2016-06-07\",\"2016-06-14\",\"2016-06-21\",\"2016-06-28\",\"2016-07-05\",\"2016-07-12\",\"2016-07-19\",\"2016-07-26\",\"2016-08-02\",\"2016-08-09\",\"2016-08-16\",\"2016-08-23\",\"2016-08-30\",\"2016-09-06\",\"2016-09-13\",\"2016-09-20\",\"2016-09-27\",\"2016-10-04\",\"2016-10-11\",\"2016-10-18\",\"2016-10-25\",\"2016-11-01\",\"2016-11-08\",\"2016-11-15\",\"2016-11-22\",\"2016-11-29\",\"2016-12-06\",\"2016-12-13\",\"2016-12-20\",\"2016-12-27\",\"2017-01-03\",\"2017-01-10\",\"2017-01-17\",\"2017-01-24\",\"2017-01-31\",\"2017-02-07\",\"2017-02-14\",\"2017-02-21\",\"2017-02-28\",\"2017-03-07\",\"2017-03-14\",\"2017-03-21\",\"2017-03-28\",\"2017-04-04\",\"2017-04-11\",\"2017-04-18\",\"2017-04-25\",\"2017-05-02\",\"2017-05-09\",\"2017-05-16\",\"2017-05-23\",\"2017-05-30\",\"2017-06-06\",\"2017-06-13\",\"2017-06-20\",\"2017-06-27\",\"2017-07-03\",\"2017-07-11\",\"2017-07-18\",\"2017-07-25\",\"2017-08-01\",\"2017-08-08\",\"2017-08-15\",\"2017-08-22\",\"2017-08-29\",\"2017-09-05\",\"2017-09-12\",\"2017-09-19\",\"2017-09-26\",\"2017-10-03\",\"2017-10-10\",\"2017-10-17\",\"2017-10-24\",\"2017-10-31\",\"2017-11-07\",\"2017-11-14\",\"2017-11-21\",\"2017-11-28\",\"2017-12-05\",\"2017-12-12\",\"2017-12-19\",\"2017-12-26\",\"2018-01-02\",\"2018-01-09\",\"2018-01-16\",\"2018-01-23\",\"2018-01-30\",\"2018-02-06\",\"2018-02-13\",\"2018-02-20\",\"2018-02-27\",\"2018-03-06\",\"2018-03-13\",\"2018-03-20\",\"2018-03-27\",\"2018-04-03\",\"2018-04-10\",\"2018-04-17\",\"2018-04-24\",\"2018-05-01\",\"2018-05-08\",\"2018-05-15\",\"2018-05-22\",\"2018-05-29\",\"2018-06-05\",\"2018-06-12\",\"2018-06-19\",\"2018-06-26\",\"2018-07-03\",\"2018-07-10\",\"2018-07-17\",\"2018-07-24\",\"2018-07-31\",\"2018-08-07\",\"2018-08-14\",\"2018-08-21\",\"2018-08-28\",\"2018-09-04\",\"2018-09-11\",\"2018-09-18\",\"2018-09-25\",\"2018-10-02\",\"2018-10-09\",\"2018-10-16\",\"2018-10-23\",\"2018-10-30\",\"2018-11-06\",\"2018-11-13\",\"2018-11-20\",\"2018-11-27\",\"2018-12-04\",\"2018-12-11\",\"2018-12-18\",\"2018-12-24\",\"2018-12-31\",\"2019-01-08\",\"2019-01-15\",\"2019-01-22\",\"2019-01-29\",\"2019-02-05\",\"2019-02-12\",\"2019-02-19\",\"2019-02-26\",\"2019-03-05\",\"2019-03-12\",\"2019-03-19\",\"2019-03-26\",\"2019-04-02\",\"2019-04-09\",\"2019-04-16\",\"2019-04-23\",\"2019-04-30\",\"2019-05-07\",\"2019-05-14\",\"2019-05-21\",\"2019-05-28\",\"2019-06-04\",\"2019-06-11\",\"2019-06-18\",\"2019-06-25\",\"2019-07-02\",\"2019-07-09\",\"2019-07-16\",\"2019-07-23\",\"2019-07-30\",\"2019-08-06\",\"2019-08-13\",\"2019-08-20\",\"2019-08-27\",\"2019-09-03\",\"2019-09-10\",\"2019-09-17\",\"2019-09-24\",\"2019-10-01\",\"2019-10-08\",\"2019-10-15\",\"2019-10-22\",\"2019-10-29\",\"2019-11-05\",\"2019-11-12\",\"2019-11-19\",\"2019-11-26\",\"2019-12-03\",\"2019-12-10\",\"2019-12-17\",\"2019-12-24\",\"2019-12-31\",\"2020-01-07\",\"2020-01-14\",\"2020-01-21\",\"2020-01-28\",\"2020-02-04\",\"2020-02-11\",\"2020-02-18\",\"2020-02-25\",\"2020-03-03\",\"2020-03-10\",\"2020-03-17\",\"2020-03-24\",\"2020-03-31\",\"2020-04-07\",\"2020-04-14\",\"2020-04-21\",\"2020-04-28\",\"2020-05-05\",\"2020-05-12\",\"2020-05-19\",\"2020-05-26\",\"2020-06-02\",\"2020-06-09\",\"2020-06-16\",\"2020-06-23\",\"2020-06-30\",\"2020-07-07\",\"2020-07-14\",\"2020-07-21\",\"2020-07-28\",\"2020-08-04\",\"2020-08-11\",\"2020-08-18\",\"2020-08-25\",\"2020-09-01\",\"2020-09-08\",\"2020-09-15\",\"2020-09-22\",\"2020-09-29\",\"2020-10-06\",\"2020-10-13\",\"2020-10-20\",\"2020-10-27\",\"2020-11-03\",\"2020-11-10\",\"2020-11-17\",\"2020-11-24\",\"2020-12-01\",\"2020-12-08\",\"2020-12-15\",\"2020-12-21\",\"2020-12-29\",\"2021-01-05\",\"2021-01-12\",\"2021-01-19\",\"2021-01-26\",\"2021-02-02\",\"2021-02-09\",\"2021-02-16\",\"2021-02-23\",\"2021-03-02\",\"2021-03-09\",\"2021-03-16\",\"2021-03-23\",\"2021-03-30\",\"2021-04-06\",\"2021-04-13\",\"2021-04-20\",\"2021-04-27\",\"2021-05-04\",\"2021-05-11\",\"2021-05-18\",\"2021-05-25\",\"2021-06-01\",\"2021-06-08\",\"2021-06-15\",\"2021-06-22\",\"2021-06-29\",\"2021-07-06\",\"2021-07-13\",\"2021-07-20\",\"2021-07-27\",\"2021-08-03\",\"2021-08-10\",\"2021-08-17\",\"2021-08-24\",\"2021-08-31\",\"2021-09-07\",\"2021-09-14\",\"2021-09-21\",\"2021-09-28\",\"2021-10-05\",\"2021-10-12\",\"2021-10-19\",\"2021-10-26\",\"2021-11-02\",\"2021-11-09\",\"2021-11-16\",\"2021-11-23\",\"2021-11-30\",\"2021-12-07\",\"2021-12-14\",\"2021-12-21\",\"2021-12-28\",\"2022-01-04\",\"2022-01-11\",\"2022-01-18\",\"2022-01-25\",\"2022-02-01\",\"2022-02-08\",\"2022-02-15\",\"2022-02-22\",\"2022-03-01\",\"2022-03-08\",\"2022-03-15\",\"2022-03-22\",\"2022-03-29\",\"2022-04-05\",\"2022-04-12\",\"2022-04-19\",\"2022-04-26\",\"2022-05-03\",\"2022-05-10\",\"2022-05-17\",\"2022-05-24\",\"2022-05-31\",\"2022-06-07\",\"2022-06-14\",\"2022-06-21\",\"2022-06-28\",\"2022-07-05\",\"2022-07-12\",\"2022-07-19\",\"2022-07-26\",\"2022-08-02\",\"2022-08-09\",\"2022-08-16\",\"2022-08-23\",\"2022-08-30\",\"2022-09-06\",\"2022-09-13\",\"2022-09-20\",\"2022-09-27\",\"2022-10-04\",\"2022-10-11\",\"2022-10-18\",\"2022-10-25\",\"2022-11-01\",\"2022-11-08\",\"2022-11-15\",\"2022-11-22\",\"2022-11-29\",\"2022-12-06\",\"2022-12-13\",\"2022-12-20\",\"2022-12-27\",\"2023-01-03\",\"2023-01-10\",\"2023-01-17\",\"2023-01-24\",\"2023-01-31\",\"2023-02-07\",\"2023-02-14\",\"2023-02-21\",\"2023-02-28\",\"2023-03-07\",\"2023-03-14\",\"2023-03-21\",\"2023-03-28\",\"2023-04-04\",\"2023-04-11\",\"2023-04-18\",\"2023-04-25\",\"2023-05-02\",\"2023-05-09\",\"2023-05-16\",\"2023-05-23\",\"2023-05-30\",\"2023-06-06\",\"2023-06-13\",\"2023-06-20\",\"2023-06-27\",\"2023-07-03\",\"2023-07-11\",\"2023-07-18\",\"2023-07-25\",\"2023-08-01\",\"2023-08-08\",\"2023-08-15\",\"2023-08-22\",\"2023-08-29\",\"2023-09-05\",\"2023-09-12\",\"2023-09-19\",\"2023-09-26\",\"2023-10-03\",\"2023-10-10\",\"2023-10-17\",\"2023-10-24\",\"2023-10-31\",\"2023-11-07\",\"2023-11-14\",\"2023-11-21\",\"2023-11-28\",\"2023-12-05\",\"2023-12-12\",\"2023-12-19\",\"2023-12-26\",\"2024-01-02\",\"2024-01-09\",\"2024-01-16\",\"2024-01-23\",\"2024-01-30\",\"2024-02-06\",\"2024-02-13\",\"2024-02-20\",\"2024-02-27\",\"2024-03-05\",\"2024-03-12\",\"2024-03-19\",\"2024-03-26\",\"2024-04-02\",\"2024-04-09\",\"2024-04-16\",\"2024-04-23\",\"2024-04-30\",\"2024-05-07\",\"2024-05-14\",\"2024-05-21\",\"2024-05-28\",\"2024-06-04\",\"2024-06-11\",\"2024-06-18\",\"2024-06-25\",\"2024-07-02\",\"2024-07-09\",\"2024-07-16\",\"2024-07-23\",\"2024-07-30\",\"2024-08-06\",\"2024-08-13\",\"2024-08-20\",\"2024-08-27\",\"2024-09-03\",\"2024-09-10\",\"2024-09-17\",\"2024-09-24\",\"2024-10-01\",\"2024-10-08\",\"2024-10-15\",\"2024-10-22\",\"2024-10-29\",\"2024-11-05\",\"2024-11-12\",\"2024-11-19\",\"2024-11-26\",\"2024-12-03\",\"2024-12-10\",\"2024-12-17\",\"2024-12-24\",\"2024-12-31\",\"2025-01-07\",\"2025-01-14\",\"2025-01-21\",\"2025-01-28\",\"2025-02-04\",\"2025-02-11\",\"2025-02-18\",\"2025-02-25\",\"2025-03-04\",\"2025-03-11\",\"2025-03-18\",\"2025-03-25\",\"2025-04-01\",\"2025-04-08\",\"2025-04-15\",\"2025-04-22\",\"2025-04-29\",\"2025-05-06\",\"2025-05-13\",\"2025-05-20\",\"2025-05-27\",\"2025-06-03\",\"2025-06-10\",\"2025-06-17\",\"2025-06-24\",\"2025-07-01\",\"2025-07-08\",\"2025-07-15\",\"2025-07-22\",\"2025-07-29\",\"2025-08-05\",\"2025-08-12\",\"2025-08-19\",\"2025-08-26\",\"2025-09-02\",\"2025-09-09\",\"2025-09-16\",\"2025-09-23\",\"2025-09-30\",\"2025-10-07\",\"2025-10-14\",\"2025-10-21\",\"2025-10-28\",\"2025-11-04\",\"2025-11-10\",\"2025-11-18\",\"2025-11-25\",\"2025-12-02\",\"2025-12-09\",\"2025-12-16\",\"2025-12-23\",\"2025-12-30\",\"2026-01-06\",\"2026-01-13\",\"2026-01-20\",\"2026-01-27\",\"2026-02-03\",\"2026-02-10\",\"2026-02-17\",\"2026-02-24\",\"2026-03-03\",\"2026-03-10\",\"2026-03-17\",\"2026-03-24\",\"2026-03-31\",\"2026-04-07\",\"2026-04-14\",\"2026-04-21\",\"2026-04-28\",\"2026-05-05\",\"2026-05-12\",\"2026-05-19\",\"2026-05-26\",\"2026-06-02\"];\r\n      const tsAllRaw    = [1308009600,1308614400,1309219200,1309824000,1310428800,1311033600,1311638400,1312243200,1312848000,1313452800,1314057600,1314662400,1315267200,1315872000,1316476800,1317081600,1317686400,1318291200,1318896000,1319500800,1320105600,1320710400,1321315200,1321920000,1322524800,1323129600,1323734400,1324339200,1324944000,1325548800,1326153600,1326758400,1327363200,1327968000,1328572800,1329177600,1329782400,1330387200,1330992000,1331596800,1332201600,1332806400,1333411200,1334016000,1334620800,1335225600,1335830400,1336435200,1337040000,1337644800,1338249600,1338854400,1339459200,1340064000,1340668800,1341273600,1341878400,1342483200,1343088000,1343692800,1344297600,1344902400,1345507200,1346112000,1346716800,1347321600,1347926400,1348531200,1349136000,1349740800,1350345600,1350950400,1351555200,1352160000,1352764800,1353369600,1353974400,1354579200,1355184000,1355788800,1356307200,1356912000,1357603200,1358208000,1358812800,1359417600,1360022400,1360627200,1361232000,1361836800,1362441600,1363046400,1363651200,1364256000,1364860800,1365465600,1366070400,1366675200,1367280000,1367884800,1368489600,1369094400,1369699200,1370304000,1370908800,1371513600,1372118400,1372723200,1373328000,1373932800,1374537600,1375142400,1375747200,1376352000,1376956800,1377561600,1378166400,1378771200,1379376000,1379980800,1380585600,1381190400,1381795200,1382400000,1383004800,1383609600,1384214400,1384819200,1385424000,1386028800,1386633600,1387238400,1387843200,1388448000,1389052800,1389657600,1390262400,1390867200,1391472000,1392076800,1392681600,1393286400,1393891200,1394496000,1395100800,1395705600,1396310400,1396915200,1397520000,1398124800,1398729600,1399334400,1399939200,1400544000,1401148800,1401753600,1402358400,1402963200,1403568000,1404172800,1404777600,1405382400,1405987200,1406592000,1407196800,1407801600,1408406400,1409011200,1409616000,1410220800,1410825600,1411430400,1412035200,1412640000,1413244800,1413849600,1414454400,1415059200,1415664000,1416268800,1416873600,1417478400,1418083200,1418688000,1419292800,1419897600,1420502400,1421107200,1421712000,1422316800,1422921600,1423526400,1424131200,1424736000,1425340800,1425945600,1426550400,1427155200,1427760000,1428364800,1428969600,1429574400,1430179200,1430784000,1431388800,1431993600,1432598400,1433203200,1433808000,1434412800,1435017600,1435622400,1436227200,1436832000,1437436800,1438041600,1438646400,1439251200,1439856000,1440460800,1441065600,1441670400,1442275200,1442880000,1443484800,1444089600,1444694400,1445299200,1445904000,1446508800,1447113600,1447718400,1448323200,1448928000,1449532800,1450137600,1450742400,1451347200,1451952000,1452556800,1453161600,1453766400,1454371200,1454976000,1455580800,1456185600,1456790400,1457395200,1458000000,1458604800,1459209600,1459814400,1460419200,1461024000,1461628800,1462233600,1462838400,1463443200,1464048000,1464652800,1465257600,1465862400,1466467200,1467072000,1467676800,1468281600,1468886400,1469491200,1470096000,1470700800,1471305600,1471910400,1472515200,1473120000,1473724800,1474329600,1474934400,1475539200,1476144000,1476748800,1477353600,1477958400,1478563200,1479168000,1479772800,1480377600,1480982400,1481587200,1482192000,1482796800,1483401600,1484006400,1484611200,1485216000,1485820800,1486425600,1487030400,1487635200,1488240000,1488844800,1489449600,1490054400,1490659200,1491264000,1491868800,1492473600,1493078400,1493683200,1494288000,1494892800,1495497600,1496102400,1496707200,1497312000,1497916800,1498521600,1499040000,1499731200,1500336000,1500940800,1501545600,1502150400,1502755200,1503360000,1503964800,1504569600,1505174400,1505779200,1506384000,1506988800,1507593600,1508198400,1508803200,1509408000,1510012800,1510617600,1511222400,1511827200,1512432000,1513036800,1513641600,1514246400,1514851200,1515456000,1516060800,1516665600,1517270400,1517875200,1518480000,1519084800,1519689600,1520294400,1520899200,1521504000,1522108800,1522713600,1523318400,1523923200,1524528000,1525132800,1525737600,1526342400,1526947200,1527552000,1528156800,1528761600,1529366400,1529971200,1530576000,1531180800,1531785600,1532390400,1532995200,1533600000,1534204800,1534809600,1535414400,1536019200,1536624000,1537228800,1537833600,1538438400,1539043200,1539648000,1540252800,1540857600,1541462400,1542067200,1542672000,1543276800,1543881600,1544486400,1545091200,1545609600,1546214400,1546905600,1547510400,1548115200,1548720000,1549324800,1549929600,1550534400,1551139200,1551744000,1552348800,1552953600,1553558400,1554163200,1554768000,1555372800,1555977600,1556582400,1557187200,1557792000,1558396800,1559001600,1559606400,1560211200,1560816000,1561420800,1562025600,1562630400,1563235200,1563840000,1564444800,1565049600,1565654400,1566259200,1566864000,1567468800,1568073600,1568678400,1569283200,1569888000,1570492800,1571097600,1571702400,1572307200,1572912000,1573516800,1574121600,1574726400,1575331200,1575936000,1576540800,1577145600,1577750400,1578355200,1578960000,1579564800,1580169600,1580774400,1581379200,1581984000,1582588800,1583193600,1583798400,1584403200,1585008000,1585612800,1586217600,1586822400,1587427200,1588032000,1588636800,1589241600,1589846400,1590451200,1591056000,1591660800,1592265600,1592870400,1593475200,1594080000,1594684800,1595289600,1595894400,1596499200,1597104000,1597708800,1598313600,1598918400,1599523200,1600128000,1600732800,1601337600,1601942400,1602547200,1603152000,1603756800,1604361600,1604966400,1605571200,1606176000,1606780800,1607385600,1607990400,1608508800,1609200000,1609804800,1610409600,1611014400,1611619200,1612224000,1612828800,1613433600,1614038400,1614643200,1615248000,1615852800,1616457600,1617062400,1617667200,1618272000,1618876800,1619481600,1620086400,1620691200,1621296000,1621900800,1622505600,1623110400,1623715200,1624320000,1624924800,1625529600,1626134400,1626739200,1627344000,1627948800,1628553600,1629158400,1629763200,1630368000,1630972800,1631577600,1632182400,1632787200,1633392000,1633996800,1634601600,1635206400,1635811200,1636416000,1637020800,1637625600,1638230400,1638835200,1639440000,1640044800,1640649600,1641254400,1641859200,1642464000,1643068800,1643673600,1644278400,1644883200,1645488000,1646092800,1646697600,1647302400,1647907200,1648512000,1649116800,1649721600,1650326400,1650931200,1651536000,1652140800,1652745600,1653350400,1653955200,1654560000,1655164800,1655769600,1656374400,1656979200,1657584000,1658188800,1658793600,1659398400,1660003200,1660608000,1661212800,1661817600,1662422400,1663027200,1663632000,1664236800,1664841600,1665446400,1666051200,1666656000,1667260800,1667865600,1668470400,1669075200,1669680000,1670284800,1670889600,1671494400,1672099200,1672704000,1673308800,1673913600,1674518400,1675123200,1675728000,1676332800,1676937600,1677542400,1678147200,1678752000,1679356800,1679961600,1680566400,1681171200,1681776000,1682380800,1682985600,1683590400,1684195200,1684800000,1685404800,1686009600,1686614400,1687219200,1687824000,1688342400,1689033600,1689638400,1690243200,1690848000,1691452800,1692057600,1692662400,1693267200,1693872000,1694476800,1695081600,1695686400,1696291200,1696896000,1697500800,1698105600,1698710400,1699315200,1699920000,1700524800,1701129600,1701734400,1702339200,1702944000,1703548800,1704153600,1704758400,1705363200,1705968000,1706572800,1707177600,1707782400,1708387200,1708992000,1709596800,1710201600,1710806400,1711411200,1712016000,1712620800,1713225600,1713830400,1714435200,1715040000,1715644800,1716249600,1716854400,1717459200,1718064000,1718668800,1719273600,1719878400,1720483200,1721088000,1721692800,1722297600,1722902400,1723507200,1724112000,1724716800,1725321600,1725926400,1726531200,1727136000,1727740800,1728345600,1728950400,1729555200,1730160000,1730764800,1731369600,1731974400,1732579200,1733184000,1733788800,1734393600,1734998400,1735603200,1736208000,1736812800,1737417600,1738022400,1738627200,1739232000,1739836800,1740441600,1741046400,1741651200,1742256000,1742860800,1743465600,1744070400,1744675200,1745280000,1745884800,1746489600,1747094400,1747699200,1748304000,1748908800,1749513600,1750118400,1750723200,1751328000,1751932800,1752537600,1753142400,1753747200,1754352000,1754956800,1755561600,1756166400,1756771200,1757376000,1757980800,1758585600,1759190400,1759795200,1760400000,1761004800,1761609600,1762214400,1762732800,1763424000,1764028800,1764633600,1765238400,1765843200,1766448000,1767052800,1767657600,1768262400,1768867200,1769472000,1770076800,1770681600,1771286400,1771891200,1772496000,1773100800,1773705600,1774310400,1774915200,1775520000,1776124800,1776729600,1777334400,1777939200,1778544000,1779148800,1779753600,1780358400];\r\n      const seriesAll   = [[29261,30454,27439,28131,29967,34248,37358,38265,32101,32697,38756,36537,37185,36588,33947,25153,23859,23571,23005,23660,24084,24414,25822,23577,23816,23211,25572,24302,24026,26629,26208,26209,27051,28465,32239,32860,34819,38012,30635,28459,28489,26897,29242,28154,28051,28913,26855,28008,27251,28018,26499,27809,26716,27767,28362,28662,28434,28431,30291,31394,31421,32317,35646,39708,42283,41371,43205,44778,47236,49398,49041,47463,46782,44230,45185,47308,51084,50204,48548,44889,39620,38291,37257,38382,41282,43089,42449,40205,39057,37753,38449,38637,38707,37548,38201,38492,39701,38817,35720,35834,35690,35533,34059,35051,35509,35474,34505,36175,36560,36775,35440,35628,34627,36945,37308,33147,34616,32644,30889,29357,31235,31887,33368,35706,36674,36134,37380,38586,39270,40438,42551,41916,42097,42083,41285,41287,42334,40816,41321,41279,40506,44848,44297,43886,44744,45500,44145,45042,45957,45868,46103,45772,46625,45967,48126,49778,48592,48333,54160,60392,67029,65907,64277,59030,54165,53942,53677,55545,59472,58910,58536,55602,58730,58526,58188,57236,57469,58088,57465,56831,52883,50686,52129,52921,52057,54126,54911,59808,62203,65722,64166,62034,61145,57348,56342,57966,61649,62332,65426,63241,61417,60848,64340,65383,65302,68171,66592,63573,65881,67315,74254,71886,70786,66392,66576,67125,66772,65566,59535,58687,57866,58761,60443,60413,61556,68838,74575,79449,82023,77220,72304,72282,70210,72909,70591,71479,68584,68450,69779,71255,68196,68920,70685,78108,80249,83189,78607,79879,76606,82933,79493,79942,87892,94988,99774,100401,107844,105988,97242,89815,86676,97370,106942,107555,111348,114376,120839,123737,122676,122165,118988,118356,114230,118059,113792,113567,116948,110764,97527,94230,92213,89233,89360,85575,81835,79485,81495,87040,83529,84330,86821,88430,90838,92319,96909,98560,104765,108848,115229,113437,102675,100337,112197,126524,131969,128378,121018,101538,94982,100142,96531,96568,101713,102702,96000,93869,91996,91174,90776,90865,92259,91345,91596,91305,92930,96374,102243,99687,91812,91097,92195,94825,95413,95382,99872,98070,98144,90138,84905,77169,77575,74013,75127,84313,79866,76193,72145,63729,64816,63200,63023,68686,66707,63813,60786,65969,65033,66609,67802,68528,72713,72663,78007,83066,85070,101133,95323,93565,92678,90598,87176,88025,89616,93016,93346,91428,86540,83061,81095,80024,79198,75937,72135,72203,75016,76053,73117,74618,71646,67813,69314,71136,74023,77314,83022,86786,85959,83303,86074,89868,89722,89135,90971,76954,76183,75196,76541,78993,76410,76033,75889,77120,77346,77542,75482,73663,76653,85225,93275,97573,99739,96080,100449,110129,111282,106034,97520,95987,103488,104977,100413,94625,94002,89967,90092,85088,89747,95368,97174,89327,89898,90895,89241,85617,88215,101030,106310,109224,110762,109144,105637,97078,96395,107940,107490,82570,75117,61215,53077,47050,46471,48003,46688,45020,44052,44757,54391,61525,64997,65660,66664,71859,78746,80741,85679,90010,74401,75498,67428,71283,74311,76346,73019,77004,75009,74631,75358,76920,76946,76652,72516,72544,75632,74771,77023,79310,80689,90473,88868,90777,87905,84009,84444,80634,80133,81648,78710,74925,71445,70658,70257,66502,67245,69429,75167,76380,78858,86397,86640,86013,84400,83378,88591,73841,71855,76790,74247,70286,66733,66192,64379,63390,63311,62935,63879,64827,66708,64490,63957,63488,66572,66677,64502,65013,73944,68478,62678,62930,63669,62070,63873,65108,66193,65985,63923,60723,56905,56911,58830,71235,76565,74044,69279,65917,64936,66356,69088,56782,56764,59829,59857,58748,55545,54899,57216,54451,52932,54841,54744,56187,54671,49220,48864,47851,49151,49468,51714,53373,52323,49984,51926,47939,51541,51163,51286,53651,52692,50540,48441,48954,51405,56164,55870,57801,56770,57439,55595,54867,48121,46028,44985,44202,42903,42227,41325,42254,50327,55583,62968,66145,68219,69166,60440,56686,54837,53149,55054,52547,45983,46433,51305,76420,72786,68463,53781,50692,52967,61744,57558,52963,50699,51539,51405,50337,50749,51860,48025,47196,50291,53372,62880,63241,55684,52631,54559,57634,52886,54001,53121,52778,55335,56785,57582,54546,58885,67094,77632,80721,83565,84826,82415,86178,83094,81650,87936,94141,91730,88604,84193,81859,81366,79771,84351,85005,75473,67416,64574,61458,63930,65715,64099,61649,74978,81029,75588,72113,70024,82139,79649,73980,68951,65939,63076,64285,72515,68183,67851,67007,68892,71511,75660,74656,83120,79112,84814,78469,73315,79965,87601,85712,85609,68426,65068,64693,70299,70335,67944,70891,73240,81981,85192,88994,84491,82747,80779,85022,85678,80493,71234,66252,68102,68227,74466,72450,71623,72318,70062,67668,67041,60904,55959,54166,55038,54535,52002,59575,65958,56034,55243,50506,47384,47337,42965,43475,38883,36660,36626,32500,34226,33306,31125,33938,33463,32810,32391,33233,31314,32965,36569,34591,32758,33933],[12674,11131,11441,9296,9464,13499,13445,13414,13713,10769,11745,9694,9978,10301,11409,9728,11959,11623,12653,12638,11910,11474,11375,10953,11722,10581,11905,16874,17171,16991,15137,12816,10934,9374,8652,7192,8154,8009,7443,6643,7320,8242,9187,9968,9644,12442,11271,15445,15777,17221,17941,18015,17107,17665,22140,18956,19652,20775,22132,18358,17741,16730,14446,11070,9853,9889,10650,10768,9118,9573,8913,9327,10565,10111,10775,9347,9809,8932,9048,8900,8977,9104,9163,9810,10189,8285,6588,8133,12601,16016,19846,20529,23656,26144,30055,30577,22103,23816,23530,22183,24896,26718,29468,29695,31806,31570,33668,31528,31539,30140,29759,30653,29160,24236,18800,16767,15769,16810,17083,16705,18460,16881,18600,17498,18225,17231,24344,28555,32648,37537,32598,30368,29999,27402,23950,24798,26466,30324,34333,28645,16971,15911,16388,17222,20372,26487,29641,28780,32858,31751,34052,35393,35088,37891,43038,49012,44486,34996,24830,20093,19148,16629,16752,14918,19802,24245,29526,33021,39917,42373,47624,46780,52104,49584,50451,50405,51537,51146,47033,45077,37427,29095,23670,26432,25744,24104,22872,19869,15929,12375,13593,15170,19822,20009,25135,31994,37238,30209,22314,21160,26872,36523,41410,37760,35964,16891,15611,16728,43335,51643,58697,62005,63993,56839,62331,60829,58367,48729,45501,43129,40394,40020,46180,35554,38453,28052,22865,22151,19578,18843,33314,47028,50817,51019,49331,55902,45193,47746,48153,48772,39238,31334,32097,25426,21532,21262,23127,19995,18533,19504,24986,27931,25424,23560,21001,24526,27573,28786,31358,28184,29635,27731,26699,23894,25594,26724,26449,27660,29242,31101,33999,35153,29876,30031,32224,30932,32086,34961,34634,34944,35140,27097,24091,22969,21668,20445,22130,20107,22635,25419,25530,23829,21356,21298,20935,20283,19953,20831,19806,19984,19797,21225,21509,25142,26454,24491,27405,30171,41327,57138,45358,35154,35772,42044,49319,58337,65721,77169,81400,71448,61500,57481,52745,46759,39285,32203,27256,31884,31552,31918,33087,30910,30293,35230,30970,28897,30503,31356,53479,67255,75106,69365,52377,46278,42654,47112,39723,47189,56105,57880,64531,62500,63760,76329,74443,82934,79866,66696,55835,75724,72834,72005,62782,65613,65636,51403,54421,59344,67996,66899,78294,84487,83752,88675,96182,98586,103138,112035,108498,105540,102453,93435,94385,87030,80195,84523,75587,91763,82374,78779,69949,59880,54192,51764,38063,32763,33784,35147,31791,32773,36519,38866,32658,44433,49101,51886,49864,62210,59992,70148,75999,74984,78303,79751,90144,96072,85096,82565,78759,67008,69284,70929,63024,55368,46985,56202,58251,49273,43636,42852,40182,38647,43273,40152,39338,41099,43004,41690,49177,51963,45182,38385,39014,44875,42434,38608,36582,41971,43389,40269,42220,29275,28758,30063,32697,34267,30170,19247,19390,16172,16754,17449,18180,19515,21137,18984,23463,24336,27773,32295,30042,33936,41145,42916,41810,43255,47093,45609,43860,44727,42974,42874,39539,38655,36062,33901,34101,36132,32220,32021,27175,26716,30018,29091,29131,30934,31177,33184,34089,35226,35113,32007,29984,29225,30590,31824,31067,35309,35296,37049,39178,37532,34930,33005,33486,33539,30991,33554,35659,35531,36883,33572,36527,33970,30378,32302,30558,32811,35516,30053,39905,42170,41450,40604,35323,38151,51073,47785,47578,45501,36216,29145,31387,28098,28319,28373,24244,33097,41685,41144,37415,34189,38645,36285,31782,38605,37606,33355,28528,26287,24268,22490,21332,17677,19902,20370,22659,21376,28696,40747,43743,44645,41548,37495,43211,36032,42041,49702,51540,54827,59171,48246,45985,44343,53651,57739,64498,58013,53963,49226,43218,40550,50274,51264,49762,40648,35085,33774,30958,29746,28586,26402,24843,26867,27757,25971,29911,27551,34590,34522,35083,44256,50685,43446,37863,28893,29044,31865,36373,35542,36267,36806,36625,34728,33713,31674,31318,32489,26931,28443,31013,32558,35861,37632,40457,42831,40090,34611,30754,34930,35468,31434,36061,38038,31003,27528,27814,28943,27893,25920,28600,26938,27226,22880,22696,25064,26524,28408,35384,31352,38455,44360,35205,40047,30570,26116,25197,29885,30418,31614,29056,26838,28600,27998,28475,34497,34547,32201,32501,29958,25388,23937,23295,24840,24093,18355,15493,16169,14606,13529,18040,16907,16680,18831,18664,17398,15992,15784,19218,20634,21309,19616,20293,21025,31350,27919,27688,29118,27944,25431,28180,30288,32759,29402,30360,25607,19999,20439,25303,24762,28351,21910,21119,19967,20356,21083,20190,20849,20228,21211,18542,21820,21544,19347,22258,25574,25058,21086,20576,21984,21553,21761,18543,18513,20085,20042,20323,21451,23860,23645,18840,20945,22052,20519,19814,21056,21249,19682,19359,20443,18113,15277,17751,19772,13006,13705,12623,10240,10888,8728,9244,9265,9559,9393,8829,9513,7154,9073,10458,9920,10535,10007],[16587,19323,15998,18835,20503,20749,23913,24851,18388,21928,27011,26843,27207,26287,22538,15425,11900,11948,10352,11022,12174,12940,14447,12624,12094,12630,13667,7428,6855,9638,11071,13393,16117,19091,23587,25668,26665,30003,23192,21816,21169,18655,20055,18186,18407,16471,15584,12563,11474,10797,8558,9794,9609,10102,6222,9706,8782,7656,8159,13036,13680,15587,21200,28638,32430,31482,32555,34010,38118,39825,40128,38136,36217,34119,34410,37961,41275,41272,39500,35989,30643,29187,28094,28572,31093,34804,35861,32072,26456,21737,18603,18108,15051,11404,8146,7915,17598,15001,12190,13651,10794,8815,4591,5356,3703,3904,837,4647,5021,6635,5681,4975,5467,12709,18508,16380,18847,15834,13806,12652,12775,15006,14768,18208,18449,18903,13036,10031,6622,2901,9953,11548,12098,14681,17335,16489,15868,10492,6988,12634,23535,28937,27909,26664,24372,19013,14504,16262,13099,14117,12051,10379,11537,8076,5088,766,4106,13337,29330,40299,47881,49278,47525,44112,34363,29697,24151,22524,19555,16537,10912,8822,6626,8942,7737,6831,5932,6942,10432,11754,15456,21591,28459,26489,26313,30022,32039,39939,46274,53347,50573,46864,41323,37339,31207,25972,24411,32123,43112,42081,34545,24325,22930,27623,29338,51280,50981,46845,22546,15672,15557,9881,6793,9553,4245,6296,8405,16837,14034,15558,17472,18741,14263,24859,23103,40786,51710,57298,62445,58377,38990,25254,19393,21890,21260,15577,23391,20704,21626,22483,28958,37586,38588,52682,58717,61927,55480,59884,58073,63429,54507,52011,62468,71428,78773,75875,80271,77202,65884,61631,57041,69639,80243,83661,85754,87652,94390,96077,93434,91064,84989,83203,84354,88028,81568,82635,84862,75803,62893,59286,57073,62136,65269,62606,60167,59040,59365,66933,60894,58911,61291,64601,69482,71021,75974,78277,84812,88017,95423,93453,82878,79112,90688,101382,105515,103887,93613,71367,53655,43004,51173,61414,65941,60658,46681,35532,26275,14005,9376,19417,30759,33864,38851,44546,53645,64171,74987,67803,60260,59179,59108,63915,65120,60152,68902,69173,67641,58782,31426,9914,2469,4648,22750,38035,37212,29081,32422,16540,8711,5320,-1508,6186,2947,-12516,-13657,-16965,-14833,-87,11967,-7196,-121,658,15225,17453,19434,49730,40902,34221,24682,23699,8882,3538,5864,4341,-2836,-7158,-16598,-28974,-27403,-25516,-23255,-17498,-22250,-14827,-5179,-8470,-2470,-17145,-10728,-10966,-635,11256,19831,25550,44959,54023,52175,48156,54283,57095,53203,50269,58313,32521,27082,23310,26677,16783,16418,5885,-110,2136,-957,-2209,-14662,-22409,-8443,2660,14516,30565,30455,25151,37425,54761,64297,49832,39269,46714,59852,62125,60231,55978,50729,49815,50754,43989,46743,53678,47997,37364,44716,52510,50227,40742,45781,62422,69728,67253,67373,68875,63417,67803,67637,77877,74793,48303,44947,41968,33687,30878,29717,30554,28508,25505,22915,25773,30928,37189,37224,33365,36622,37923,37601,37825,43869,46755,27308,29889,23568,26556,31337,33472,33480,38349,38947,40730,41257,40788,44726,44631,45341,45828,45614,45680,47892,48376,49512,57289,54779,55551,52792,52002,54460,51409,49543,49824,47643,39616,36149,33609,31079,28970,32315,36424,41681,42841,47867,52843,50981,50482,47517,49806,52064,39871,41477,44488,43689,37475,31217,36139,24474,21220,21861,22331,28556,26676,15635,16705,16379,17987,30356,37532,33115,36915,45625,40105,38434,29833,21984,20926,26458,30919,27548,29700,32141,22118,19299,23556,30302,44948,52297,51554,47947,48240,45034,45986,46429,35406,28068,19082,16114,14103,13997,17404,14005,18419,10891,5139,3204,1360,-4500,974,2879,3508,-4500,-8271,-12784,-4640,-1640,758,8708,7389,1267,-101,1524,13003,17607,16766,17483,19208,22819,29762,31027,30934,29013,31468,25684,27316,13531,11506,9902,-54,-7782,-1219,3462,13361,21283,23718,26595,30603,31952,32360,23815,21958,21124,21475,23736,20058,19052,17990,20292,43862,36925,30831,13324,7861,12877,27133,26804,18033,15231,20105,15344,12299,19746,24332,20211,18253,22398,27452,34280,36303,28458,29751,31863,32570,26362,25593,17737,21426,16880,12425,22377,14499,28315,40978,52435,50836,53147,53212,53359,59340,54494,53652,59461,59644,57183,56403,51692,51901,55978,55834,61056,60165,51380,49061,49081,45289,49324,52186,46059,44742,58298,62198,56924,54715,54032,66355,60431,53346,47642,46323,42783,43260,41165,40264,40163,37889,40948,46080,47480,44368,50361,49710,54454,52862,53316,59526,62298,60950,57258,46516,43949,44726,49943,49252,47754,50042,53012,60770,66650,67174,62947,63400,58521,59448,60620,59407,50658,44268,46549,46466,55923,53937,51538,52276,49739,46217,43181,37259,37119,33221,32986,34016,32188,38519,44709,36352,35884,30063,29271,32060,25214,23703,25877,22955,24003,22260,23338,24578,21881,24673,23904,23417,23562,23720,24160,23892,26111,24671,22223,23926]];\r\n      const seriesNames = [\"Position longue sp\\u00e9culative\",\"Position courte sp\\u00e9culative\",\"Position nette sp\\u00e9culative\"];\r\n\r\n      const CANVAS_ID = 'SILVER_chart148_148';\r\n      const TIP_ID    = '__chart_exttip_left_SILVER_chart148_148';\r\n\r\n      const CMIDRA = window.__CMIDRA__ = window.__CMIDRA__ || {};\r\n      CMIDRA.s148 = CMIDRA.s148 || { charts:{}, binds:{}, zoomRegistered:false, tipGlobalBound:false };\r\n\r\n      if (!CMIDRA.s148.tipGlobalBound) {\r\n        CMIDRA.s148.tipGlobalBound = true;\r\n        const hideAllTips = () => {\r\n          try{\r\n            document.querySelectorAll('[id^=\"__chart_exttip_left_\"]').forEach(el => { el.style.opacity = 0; });\r\n          }catch(e){}\r\n        };\r\n        ['mouseleave','scroll','touchstart','pointerdown','visibilitychange','orientationchange','resize'].forEach(evt => {\r\n          window.addEventListener(evt, hideAllTips, { passive:true });\r\n        });\r\n      }\r\n\r\n      function cleanupOld(){\r\n        try{\r\n          const old = CMIDRA.s148.charts[CANVAS_ID];\r\n          if (old && old.destroy) { old.destroy(); }\r\n          delete CMIDRA.s148.charts[CANVAS_ID];\r\n        }catch(e){}\r\n\r\n        try{\r\n          if (window.Chart && Chart.getChart) {\r\n            const c = document.getElementById(CANVAS_ID);\r\n            if (c) {\r\n              const old2 = Chart.getChart(c);\r\n              if (old2) old2.destroy();\r\n            }\r\n          }\r\n        }catch(e){}\r\n\r\n        const bind = CMIDRA.s148.binds[CANVAS_ID];\r\n        if (bind) {\r\n          try{ if (bind.canvas && bind.onCanvasDblClick)     bind.canvas.removeEventListener('dblclick',   bind.onCanvasDblClick); }catch(e){}\r\n          try{ if (bind.canvas && bind.onCanvasPointerDown)  bind.canvas.removeEventListener('pointerdown', bind.onCanvasPointerDown, bind.canvasPointerOpts||false); }catch(e){}\r\n          try{ if (bind.doc && bind.onDocPointerDown)        bind.doc.removeEventListener('pointerdown',  bind.onDocPointerDown, true); }catch(e){}\r\n          try{ if (bind.win && bind.onWinKeyDown)            bind.win.removeEventListener('keydown',     bind.onWinKeyDown, bind.winKeyOpts||false); }catch(e){}\r\n          delete CMIDRA.s148.binds[CANVAS_ID];\r\n        }\r\n\r\n        try{\r\n          const tip = document.getElementById(TIP_ID);\r\n          if (tip && tip.parentNode) tip.parentNode.removeChild(tip);\r\n        }catch(e){}\r\n      }\r\n\r\n      const fmt = (n) => {\r\n        try {\r\n          if (n === null || n === undefined || Number.isNaN(n)) return '';\r\n          return Number(n).toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 2 });\r\n        } catch(e){ return n; }\r\n      };\r\n\r\n      const start = () => {\r\n        try {\r\n          const Zoom = (window['chartjs-plugin-zoom'] && (window['chartjs-plugin-zoom'].default || window['chartjs-plugin-zoom'])) || null;\r\n          if (Zoom && window.Chart && Chart.register && !CMIDRA.s148.zoomRegistered) {\r\n            Chart.register(Zoom);\r\n            CMIDRA.s148.zoomRegistered = true;\r\n          }\r\n        } catch(e) {}\r\n\r\n        const canvas = document.getElementById(CANVAS_ID);\r\n        if (!canvas) return;\r\n\r\n        \/\/ \ud3ec\ucee4\uc2a4(\ud30c\ub780 \ud14c\ub450\ub9ac) \ucc28\ub2e8\r\n        try { canvas.tabIndex = -1; canvas.setAttribute('tabindex','-1'); } catch(e) {}\r\n\r\n        cleanupOld();\r\n\r\n        const ctx = canvas.getContext('2d');\r\n\r\n        const tsAll = (tsAllRaw || []).map(t => (typeof t === 'number' ? Math.floor(t) : null));\r\n        const indicesAll = labelsAll.map((_, i) => i);\r\n\r\n        const Crosshair2D = {\r\n          id: 'crosshair2d',\r\n          afterEvent(chart, args) {\r\n            const e = args.event;\r\n            const a = chart.chartArea;\r\n            if (!a) return;\r\n            if (e.type === 'mouseout') {\r\n              chart.$cross2d = null;\r\n              chart.draw();\r\n              return;\r\n            }\r\n            if (e.x >= a.left && e.x <= a.right && e.y >= a.top && e.y <= a.bottom) {\r\n              chart.$cross2d = { x: e.x, y: e.y };\r\n            } else {\r\n              chart.$cross2d = null;\r\n            }\r\n            chart.draw();\r\n          },\r\n          afterDraw(chart) {\r\n            const cross = chart.$cross2d;\r\n            if (!cross) return;\r\n            const { ctx, chartArea:a } = chart;\r\n            ctx.save();\r\n            ctx.strokeStyle = 'rgba(107,114,128,0.55)';\r\n            ctx.lineWidth   = 1;\r\n            ctx.setLineDash([4,3]);\r\n            ctx.beginPath();\r\n            ctx.moveTo(cross.x, a.top);\r\n            ctx.lineTo(cross.x, a.bottom);\r\n            ctx.stroke();\r\n            ctx.beginPath();\r\n            ctx.moveTo(a.left, cross.y);\r\n            ctx.lineTo(a.right, cross.y);\r\n            ctx.stroke();\r\n            ctx.restore();\r\n          }\r\n        };\r\n\r\n        const externalTooltipHandler = (context) => {\r\n          const { chart, tooltip } = context;\r\n          const area = chart.chartArea;\r\n          if (!area) return;\r\n\r\n          let tip = document.getElementById(TIP_ID);\r\n          if (!tip) {\r\n            tip = document.createElement('div');\r\n            tip.id = TIP_ID;\r\n            tip.style.position = 'fixed';\r\n            tip.style.left = '0';\r\n            tip.style.top  = '0';\r\n            tip.style.opacity = '0';\r\n            tip.style.pointerEvents = 'none';\r\n            tip.style.zIndex = '99999';\r\n            document.body.appendChild(tip);\r\n          }\r\n          if (tooltip.opacity === 0) {\r\n            tip.style.opacity = 0;\r\n            return;\r\n          }\r\n\r\n          const title = (tooltip.title && tooltip.title[0]) ? tooltip.title[0] : '';\r\n          const rows = (tooltip.dataPoints || []).map(dp => {\r\n            const color = dp.dataset.borderColor || dp.dataset.backgroundColor || '#4b5563';\r\n            const label = dp.dataset.label || '';\r\n\r\n            let v = null;\r\n            if (typeof dp.raw === 'number') v = dp.raw;\r\n            else if (dp.parsed && typeof dp.parsed.y === 'number') v = dp.parsed.y;\r\n\r\n            const val = (v === null) ? '' : fmt(v);\r\n\r\n            return `<div style=\"display:flex;align-items:center;justify-content:space-between;gap:12px;\">\r\n                      <span style=\"display:flex;align-items:center;gap:8px;\">\r\n                        <span style=\"width:10px;height:10px;border-radius:2px;background:${color};\r\n                                     border:1px solid rgba(255,255,255,.9);display:inline-block;\"><\/span>\r\n                        <span>${label}<\/span>\r\n                      <\/span>\r\n                      <span style=\"font-weight:600;\">${val}<\/span>\r\n                    <\/div>`;\r\n          }).join('');\r\n\r\n          tip.innerHTML =\r\n            `<div style=\"box-shadow:0 10px 24px rgba(15,23,42,.25);border:1px solid rgba(148,163,184,.7);\r\n                         background:#ffffff;color:#111827;border-radius:12px;padding:10px 12px;\r\n                         min-width:220px;max-width:340px;font:12px system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\">\r\n               <div style=\"color:#0f172a;font-weight:800;margin-bottom:6px;\">${title}<\/div>\r\n               <div style=\"display:flex;flex-direction:column;gap:3px;\">${rows}<\/div>\r\n             <\/div>`;\r\n\r\n          const cr  = chart.canvas.getBoundingClientRect();\r\n          const box = tip.firstElementChild;\r\n          const boxW = box ? box.offsetWidth : 260;\r\n          const boxH = box ? box.offsetHeight : 140;\r\n          const pad  = 8;\r\n\r\n          const left = Math.max(8, cr.left + area.left - boxW - pad);\r\n          const topMin = cr.top + area.top;\r\n          const topMax = cr.top + area.bottom - boxH;\r\n          const rawTop = cr.top + tooltip.caretY - boxH\/2;\r\n          const top = Math.min(Math.max(rawTop, topMin), topMax);\r\n\r\n          tip.style.left = left + 'px';\r\n          tip.style.top  = top  + 'px';\r\n          tip.style.opacity = 1;\r\n        };\r\n\r\n        const lineColors = ['#16a34a', '#dc2626'];\r\n        const netColor   = '#60a5fa';\r\n        const netBgColor = 'rgba(96,165,250,0.20)';\r\n\r\n        const buildDatasets = (idxList) => {\r\n          const ds = [];\r\n          (seriesAll || []).forEach((series, sIdx) => {\r\n            const data = idxList.map(i => series[i]);\r\n            const base = {\r\n              label: (seriesNames && seriesNames[sIdx]) ? seriesNames[sIdx] : ('S' + (sIdx+1)),\r\n              data: data,\r\n              type: 'line',\r\n              spanGaps: true,\r\n              pointRadius: 0,\r\n              tension: 0.18\r\n            };\r\n\r\n            const isNet = (sIdx === 2);\r\n            if (isNet) {\r\n              base.yAxisID         = 'yRight';\r\n              base.borderColor     = netColor;\r\n              base.backgroundColor = netBgColor;\r\n              base.borderWidth     = 2;\r\n              base.fill            = 'origin';\r\n              base.order           = 1;\r\n            } else {\r\n              base.yAxisID         = 'yLeft';\r\n              const color          = lineColors[sIdx] || '#4b5563';\r\n              base.borderColor     = color;\r\n              base.backgroundColor = color;\r\n              base.borderWidth     = 2;\r\n              base.fill            = false;\r\n              base.order           = 2;\r\n            }\r\n            ds.push(base);\r\n          });\r\n          return ds;\r\n        };\r\n\r\n        const cfg = {\r\n          type: 'line',\r\n          data: {\r\n            labels: labelsAll.slice(),\r\n            datasets: buildDatasets(indicesAll)\r\n          },\r\n          plugins: [Crosshair2D],\r\n          options: {\r\n            responsive: true,\r\n            maintainAspectRatio: false,\r\n            normalized: true,\r\n            interaction: { mode: 'index', intersect: false },\r\n            plugins: {\r\n              zoom: {\r\n                \/\/ \u2705 FIX: \ud0a4\ubcf4\ub4dc pan\uc744 chart.pan()\uc73c\ub85c \ucc98\ub9ac\ud558\uae30 \uc704\ud574 pan \ud65c\uc131\ud654\r\n                \/\/ - \ub9c8\uc6b0\uc2a4 pan\uc740 ALT \ub204\ub97c \ub54c\ub9cc(\uae30\uc874 UX\uc5d0 \uc601\ud5a5 \ucd5c\uc18c)\r\n                pan: { enabled: true, mode: 'x', modifierKey: 'alt' },\r\n                zoom: {\r\n                  wheel: { enabled: true },\r\n                  pinch: { enabled: true },\r\n                  drag: {\r\n                    enabled: true,\r\n                    mode: 'x',\r\n                    threshold: 8,\r\n                    backgroundColor: 'rgba(75,85,99,.10)',\r\n                    borderColor: 'rgba(75,85,99,.65)',\r\n                    borderWidth: 1\r\n                  },\r\n                  mode: 'x'\r\n                }\r\n              },\r\n              tooltip: {\r\n                enabled: false,\r\n                external: externalTooltipHandler,\r\n                mode: 'index',\r\n                intersect: false\r\n              },\r\n              legend: {\r\n                position: 'bottom',\r\n                labels: {\r\n                  color: '#374151',\r\n                  font: { size: 12, weight: '500' },\r\n                  usePointStyle: true,\r\n                  pointStyle: 'line'\r\n                }\r\n              },\r\n              decimation: { enabled: true, algorithm: 'min-max' },\r\n              title: { display: false }\r\n            },\r\n            scales: {\r\n              x: {\r\n                type: 'category',\r\n                title: {\r\n                  display: true,\r\n                  text: 'Date',\r\n                  color: '#374151',\r\n                  font: { weight: '600' }\r\n                },\r\n                ticks: {\r\n                  autoSkip: true,\r\n                  maxTicksLimit: (window.innerWidth < 768 ? 6 : 12),\r\n                  maxRotation: 0,\r\n                  minRotation: 0,\r\n                  color: '#4b5563'\r\n                },\r\n                grid: {\r\n                  display: false,\r\n                  borderColor: 'rgba(148,163,184,0.5)',\r\n                  borderWidth: 1\r\n                }\r\n              },\r\n              yLeft: {\r\n                type: 'linear',\r\n                position: 'left',\r\n                title: {\r\n                  display: true,\r\n                  text: 'Positions longues\/courtes',\r\n                  color: '#111827',\r\n                  font: { weight: '600' }\r\n                },\r\n                ticks: { color: '#111827', callback: (v) => fmt(v) },\r\n                grid: {\r\n                  drawOnChartArea: true,\r\n                  color: 'rgba(209,213,219,0.6)',\r\n                  borderColor: 'rgba(156,163,175,0.9)',\r\n                  borderWidth: 1\r\n                }\r\n              },\r\n              yRight: {\r\n                type: 'linear',\r\n                position: 'right',\r\n                title: {\r\n                  display: true,\r\n                  text: 'Positions nettes',\r\n                  color: '#111827',\r\n                  font: { weight: '600' }\r\n                },\r\n                ticks: { color: '#111827', callback: (v) => fmt(v) },\r\n                grid: {\r\n                  drawOnChartArea: false,\r\n                  borderColor: 'rgba(156,163,175,0.9)',\r\n                  borderWidth: 1\r\n                }\r\n              }\r\n            },\r\n            onHover: (evt) => {\r\n              if (!evt?.native) return;\r\n              canvas.style.cursor = 'crosshair';\r\n            }\r\n          }\r\n        };\r\n\r\n        const chart = new Chart(ctx, cfg);\r\n        CMIDRA.s148.charts[CANVAS_ID] = chart;\r\n\r\n        const wrap     = canvas.closest('.silver148s-card') || canvas.closest('.silver148s-wrap') || document;\r\n        const btns     = wrap.querySelectorAll('.silver148s-btn[data-range]');\r\n        const resetBtn = wrap.querySelector('[data-action=\"reset\"]');\r\n        const pngBtn   = wrap.querySelector('[data-action=\"png\"]');\r\n\r\n        const setActive = (key) => {\r\n          btns.forEach(b => b.classList.toggle('is-active', (b.dataset.range === String(key))));\r\n        };\r\n\r\n        \/\/ \u2705 (\ubc94\uc704 \ubc84\ud2bc \uc624\ub958 \uc218\uc815) x.min\/x.max \uc644\uc804 \ucd08\uae30\ud654\r\n        const clearXWindow = () => {\r\n          try {\r\n            if (chart && chart.options && chart.options.scales && chart.options.scales.x) {\r\n              delete chart.options.scales.x.min;\r\n              delete chart.options.scales.x.max;\r\n              chart.options.scales.x.min = undefined;\r\n              chart.options.scales.x.max = undefined;\r\n            }\r\n          } catch(e) {}\r\n        };\r\n\r\n        const computeIndicesForRange = (rangeKey) => {\r\n          if (rangeKey === 'all') return indicesAll;\r\n\r\n          const months = parseInt(rangeKey, 10);\r\n          if (!Number.isFinite(months) || months <= 0) return indicesAll;\r\n\r\n          const validTs = tsAll.filter(t => Number.isInteger(t) && t > 0);\r\n          if (!validTs.length) return indicesAll;\r\n\r\n          const latest = Math.max.apply(null, validTs);\r\n          const cutDate = new Date(latest * 1000);\r\n          cutDate.setMonth(cutDate.getMonth() - months);\r\n          const cutTs = Math.floor(cutDate.getTime() \/ 1000);\r\n\r\n          const keep = [];\r\n          tsAll.forEach((ts, idx) => {\r\n            if (Number.isInteger(ts) && ts >= cutTs) keep.push(idx);\r\n          });\r\n          return keep.length ? keep : indicesAll;\r\n        };\r\n\r\n        const applyRange = (rangeKey) => {\r\n          \/\/ \u2705 (\ubc94\uc704 \ubc84\ud2bc \uc624\ub958 \uc218\uc815) \uba3c\uc800 \uc90c \uc0c1\ud0dc \ub9ac\uc14b + x.min\/x.max \ucd08\uae30\ud654\r\n          try { if (chart && chart.resetZoom) chart.resetZoom(); } catch(e) {}\r\n          clearXWindow();\r\n\r\n          const idxList   = computeIndicesForRange(rangeKey);\r\n          const newLabels = idxList.map(i => labelsAll[i]);\r\n\r\n          chart.data.labels   = newLabels;\r\n          chart.data.datasets = buildDatasets(idxList);\r\n          chart.update();\r\n\r\n          setActive(rangeKey);\r\n        };\r\n\r\n        \/\/ \ucd08\uae30 \ubc94\uc704: 1\ub144\r\n        applyRange('12');\r\n\r\n        btns.forEach(b => {\r\n          b.onclick = () => {\r\n            const r = b.dataset.range || 'all';\r\n            applyRange(r);\r\n          };\r\n        });\r\n\r\n        if (resetBtn) {\r\n          resetBtn.onclick = () => {\r\n            \/\/ \u2705 (\ubc94\uc704 \ubc84\ud2bc \uc624\ub958 \uc218\uc815) \ud32c(x.min\/x.max)\uae4c\uc9c0 \ud3ec\ud568\ud574\uc11c \uc644\uc804 \ub9ac\uc14b\r\n            clearXWindow();\r\n            try { if (chart && chart.resetZoom) chart.resetZoom(); } catch(e) {}\r\n            try { chart.update(); } catch(e) {}\r\n          };\r\n        }\r\n\r\n        if (pngBtn) {\r\n          pngBtn.onclick = () => {\r\n            try {\r\n              const url = chart.toBase64Image('image\/png', 1.0);\r\n              const a = document.createElement('a');\r\n              a.href = url;\r\n              a.download = 'SILVER_chart148.png';\r\n              a.click();\r\n            } catch(e) {}\r\n          };\r\n        }\r\n\r\n        const onCanvasDblClick = () => {\r\n          \/\/ \u2705 (\ubc94\uc704 \ubc84\ud2bc \uc624\ub958 \uc218\uc815) \ub354\ube14\ud074\ub9ad\ub3c4 \ud32c\uae4c\uc9c0 \ud3ec\ud568\ud574\uc11c \uc644\uc804 \ub9ac\uc14b\r\n          clearXWindow();\r\n          try { if (chart && chart.resetZoom) chart.resetZoom(); } catch(e) {}\r\n          try { chart.update(); } catch(e) {}\r\n        };\r\n        canvas.addEventListener('dblclick', onCanvasDblClick);\r\n\r\n        \/\/ \u2705 \ubc29\ud5a5\ud0a4 \ud32c\r\n        let keyPanActive = false;\r\n\r\n        \/\/ \u2705 FIX: \uae30\uc874 x.min\/x.max \uc9c1\uc811 \uc870\uc791(panXBy) \u2192 chart.pan() \uc0ac\uc6a9 (resetZoom \uc815\uc0c1\ud654)\r\n        const panByKey = (dir, fast) => {\r\n          try {\r\n            if (!chart || typeof chart.pan !== 'function') return;\r\n\r\n            const a = chart.chartArea || null;\r\n            const baseStep = a ? Math.max(24, Math.round(a.width * (fast ? 0.25 : 0.10))) : (fast ? 220 : 90);\r\n\r\n            \/\/ ArrowLeft(\uacfc\uac70\ub85c): dx +, ArrowRight(\ubbf8\ub798\ub85c): dx -\r\n            const dx = (dir < 0) ? baseStep : -baseStep;\r\n\r\n            chart.pan({ x: dx, y: 0 }, undefined, 'none');\r\n          } catch(e) {}\r\n        };\r\n\r\n        const onCanvasPointerDown = () => {\r\n          keyPanActive = true;\r\n          try { if (canvas.blur) canvas.blur(); } catch(e) {}\r\n        };\r\n        const canvasPointerOpts = { passive:true };\r\n        canvas.addEventListener('pointerdown', onCanvasPointerDown, canvasPointerOpts);\r\n\r\n        const onDocPointerDown = (ev) => {\r\n          if (ev && ev.target !== canvas) keyPanActive = false;\r\n        };\r\n        document.addEventListener('pointerdown', onDocPointerDown, true);\r\n\r\n        const onWinKeyDown = (ev) => {\r\n          try {\r\n            if (!keyPanActive) return;\r\n\r\n            const ae = document.activeElement;\r\n            if (ae && (ae.tagName === 'INPUT' || ae.tagName === 'TEXTAREA' || ae.tagName === 'SELECT' || ae.isContentEditable)) return;\r\n\r\n            const k = ev.key;\r\n            if (k === 'ArrowLeft')  { ev.preventDefault(); panByKey(-1, false); return; }\r\n            if (k === 'ArrowRight') { ev.preventDefault(); panByKey( 1, false); return; }\r\n            if (k === 'ArrowUp')    { ev.preventDefault(); panByKey(-1, true);  return; }\r\n            if (k === 'ArrowDown')  { ev.preventDefault(); panByKey( 1, true);  return; }\r\n          } catch(e) {}\r\n        };\r\n        const winKeyOpts = { passive:false };\r\n        window.addEventListener('keydown', onWinKeyDown, winKeyOpts);\r\n\r\n        CMIDRA.s148.binds[CANVAS_ID] = {\r\n          canvas,\r\n          doc: document,\r\n          win: window,\r\n          onCanvasPointerDown,\r\n          canvasPointerOpts,\r\n          onDocPointerDown,\r\n          onWinKeyDown,\r\n          winKeyOpts,\r\n          onCanvasDblClick\r\n        };\r\n      };\r\n\r\n      const waitMax = 200;\r\n      let waited = 0;\r\n\r\n      const boot = () => {\r\n        const chartReady = (window.Chart && typeof window.Chart === 'function');\r\n        const zoomReady  = !!window['chartjs-plugin-zoom'];\r\n\r\n        if (chartReady && zoomReady) {\r\n          start();\r\n          return;\r\n        }\r\n\r\n        waited++;\r\n        if (waited >= waitMax) {\r\n          if (chartReady) start();\r\n          return;\r\n        }\r\n        setTimeout(boot, 50);\r\n      };\r\n\r\n      if (document.readyState === 'loading') {\r\n        document.addEventListener('DOMContentLoaded', boot, { once:true });\r\n      } else {\r\n        boot();\r\n      }\r\n    })();\r\n    <\/script>\r\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-52087d7 e-con-full e-flex e-con e-child\" data-id=\"52087d7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e3d5182 elementor-widget elementor-widget-text-editor\" data-id=\"e3d5182\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The Non-Commercials (Long\/Short) chart shows the size of buy (long) and sell (short) positions held by big players who trade mainly for investment. If longs increase, it generally means more traders expect prices to rise; if shorts increase, it generally means more traders expect prices to fall.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-715d152 e-flex e-con-boxed e-con e-parent\" data-id=\"715d152\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f31b86f elementor-widget elementor-widget-shortcode\" data-id=\"f31b86f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div class=\"silver149c-wrap\">\r\n      <div class=\"silver149c-card\">\r\n        <div class=\"silver149c-controls\">\r\n          <strong class=\"silver149c-range-label\">P\u00e9riode :<\/strong>\r\n          <button type=\"button\" class=\"silver149c-btn\" data-range=\"3\">3M<\/button>\r\n          <button type=\"button\" class=\"silver149c-btn\" data-range=\"12\">1Y<\/button>\r\n          <button type=\"button\" class=\"silver149c-btn\" data-range=\"60\">5Y<\/button>\r\n          <button type=\"button\" class=\"silver149c-btn\" data-range=\"120\">10Y<\/button>\r\n          <button type=\"button\" class=\"silver149c-btn\" data-range=\"all\">ALL<\/button>\r\n          <span class=\"silver149c-flex-spacer\"><\/span>\r\n          <em class=\"silver149c-hint\">Molette\/Pincer=Zoom \u00b7 Maj+Glisser=Zoom bo\u00eete \u00b7 Double-clic=R\u00e9initialiser<\/em>\r\n          <button type=\"button\" class=\"silver149c-btn silver149c-btn-ghost\" data-action=\"reset\">R\u00e9initialiser<\/button>\r\n          <button type=\"button\" class=\"silver149c-btn silver149c-btn-ghost\" data-action=\"png\">Enregistrer PNG<\/button>\r\n        <\/div>\r\n\r\n        <div class=\"silver149c-title-row\">\r\n          <h3 class=\"silver149c-title\">Positions commerciales sur contrats \u00e0 terme sur l\u2019argent (CFTC)<\/h3>\r\n        <\/div>\r\n\r\n        <div class=\"silver149c-canvas-wrap\">\r\n          <canvas\r\n            id=\"SILVER_chart149_148\"\r\n            aria-label=\"Positions commerciales sur contrats \u00e0 terme sur l\u2019argent (CFTC)\"\r\n          ><\/canvas>\r\n        <\/div>\r\n\r\n        <div class=\"silver149c-source-wrap\">\r\n          <span class=\"silver149c-source-pill\">\r\n            <a href=\"https:\/\/www.cftc.gov\/\" target=\"_blank\" rel=\"noopener noreferrer\">CFTC<\/a>          <\/span>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <style>\r\n      .silver149c-wrap {\r\n        overflow-x: auto;\r\n        -webkit-overflow-scrolling: touch;\r\n        padding: 16px;\r\n        border-radius: 18px;\r\n        background: radial-gradient(circle at top left, #e5e7eb, #f8fafc);\r\n        box-shadow: 0 18px 32px rgba(15,23,42,0.22);\r\n        margin: 8px 0;\r\n      }\r\n      .silver149c-card {\r\n        background: #ffffff;\r\n        border-radius: 14px;\r\n        padding: 14px 16px 16px;\r\n        box-shadow: 0 6px 18px rgba(15,23,42,0.18);\r\n        border: 1px solid rgba(107,114,128,0.35);\r\n      }\r\n      .silver149c-controls {\r\n        display: flex;\r\n        gap: 6px;\r\n        align-items: center;\r\n        margin: 0 0 6px 0;\r\n        flex-wrap: wrap;\r\n        min-width: 720px;\r\n      }\r\n      .silver149c-range-label { font: 600 13px system-ui,-apple-system,Segoe UI,Roboto; color:#4b5563; }\r\n      .silver149c-flex-spacer { flex: 1 1 auto; }\r\n\r\n      .silver149c-btn {\r\n        padding: 6px 10px;\r\n        border-radius: 999px;\r\n        border: 1px solid rgba(75,85,99,0.9);\r\n        background: linear-gradient(135deg,#f3f4f6,#e5e7eb);\r\n        font: 500 12px system-ui,-apple-system,Segoe UI,Roboto;\r\n        cursor: pointer;\r\n        color: #111827;\r\n        box-shadow: 0 1px 2px rgba(15,23,42,0.06);\r\n        transition: background .15s ease, box-shadow .15s ease, transform .05s ease;\r\n      }\r\n      .silver149c-btn:hover {\r\n        background: linear-gradient(135deg,#e5e7eb,#d1d5db);\r\n        box-shadow: 0 2px 4px rgba(15,23,42,0.08);\r\n        transform: translateY(-0.5px);\r\n      }\r\n      .silver149c-btn.is-active {\r\n        background: linear-gradient(135deg,#111827,#374151);\r\n        color: #e5e7eb;\r\n        border-color: #111827;\r\n        box-shadow: 0 2px 7px rgba(17,24,39,0.45);\r\n      }\r\n      .silver149c-btn-ghost {\r\n        background: #ffffff;\r\n        border-color: rgba(209,213,219,0.9);\r\n        color: #374151;\r\n      }\r\n      .silver149c-btn-ghost.is-active {\r\n        background: #f3f4f6;\r\n        border-color: #9ca3af;\r\n        color: #111827;\r\n      }\r\n      .silver149c-hint { font-size: 12px; color:#6b7280; }\r\n\r\n      .silver149c-title-row { display:flex; align-items:baseline; justify-content:space-between; min-width:720px; margin:0 0 6px 0; }\r\n      .silver149c-title { margin:0; font:700 18px system-ui,-apple-system,Segoe UI,Roboto; color:#111827; }\r\n\r\n      .silver149c-canvas-wrap {\r\n        min-width: 720px;\r\n        height: 480px;\r\n        position: relative;\r\n        background: #ffffff;\r\n        border-radius: 12px;\r\n        border: 1px solid rgba(148,163,184,0.45);\r\n        overflow: hidden;\r\n      }\r\n      .silver149c-canvas-wrap canvas {\r\n        width: 100%;\r\n        height: 100%;\r\n        display: block;\r\n        user-select: none;\r\n        -webkit-user-select: none;\r\n        -webkit-user-drag: none;\r\n        touch-action: none;\r\n        cursor: default;\r\n      }\r\n      \/* \u2705 \ud3ec\ucee4\uc2a4 \uc544\uc6c3\ub77c\uc778(\ud30c\ub780 \ud14c\ub450\ub9ac) \uc81c\uac70 *\/\r\n      .silver149c-canvas-wrap canvas:focus,\r\n      .silver149c-canvas-wrap canvas:focus-visible {\r\n        outline: none !important;\r\n        box-shadow: none !important;\r\n      }\r\n\r\n      .silver149c-source-wrap { display:flex; justify-content:flex-end; min-width:720px; margin-top:6px; }\r\n      .silver149c-source-pill {\r\n        display:inline-block;\r\n        padding: 4px 10px;\r\n        border-radius: 999px;\r\n        background: rgba(255,255,255,0.96);\r\n        border: 1px solid rgba(0,0,0,0.06);\r\n        font: 11px system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\r\n        color: #6b7280;\r\n        box-shadow: 0 2px 6px rgba(15,23,42,0.12);\r\n      }\r\n      \/* \u2705 \ucd9c\ucc98 \ub9c1\ud06c \ud45c\uc2dc(\ucd9c\ucc98 \uc601\uc5ed\ub9cc) *\/\r\n      .silver149c-source-pill a{\r\n        color: inherit;\r\n        text-decoration: none;\r\n        font-weight: 600;\r\n      }\r\n      .silver149c-source-pill a:hover{\r\n        text-decoration: underline;\r\n      }\r\n\r\n      @media (max-width: 768px) {\r\n        .silver149c-wrap { padding: 10px; }\r\n        .silver149c-controls { min-width: 0; }\r\n        .silver149c-title-row { min-width: 0; }\r\n        .silver149c-canvas-wrap { min-width: 0; height: 360px; }\r\n        .silver149c-source-wrap { min-width: 0; }\r\n      }\r\n    <\/style>\r\n\r\n    <script>\r\n    document.addEventListener('DOMContentLoaded', function(){\r\n      try {\r\n        const Zoom = (window['chartjs-plugin-zoom'] && (window['chartjs-plugin-zoom'].default || window['chartjs-plugin-zoom'])) || null;\r\n        if (Zoom && window.Chart && Chart.register) Chart.register(Zoom);\r\n      } catch(e) {}\r\n\r\n      const labelsAll   = [\"2011-06-14\",\"2011-06-21\",\"2011-06-28\",\"2011-07-05\",\"2011-07-12\",\"2011-07-19\",\"2011-07-26\",\"2011-08-02\",\"2011-08-09\",\"2011-08-16\",\"2011-08-23\",\"2011-08-30\",\"2011-09-06\",\"2011-09-13\",\"2011-09-20\",\"2011-09-27\",\"2011-10-04\",\"2011-10-11\",\"2011-10-18\",\"2011-10-25\",\"2011-11-01\",\"2011-11-08\",\"2011-11-15\",\"2011-11-22\",\"2011-11-29\",\"2011-12-06\",\"2011-12-13\",\"2011-12-20\",\"2011-12-27\",\"2012-01-03\",\"2012-01-10\",\"2012-01-17\",\"2012-01-24\",\"2012-01-31\",\"2012-02-07\",\"2012-02-14\",\"2012-02-21\",\"2012-02-28\",\"2012-03-06\",\"2012-03-13\",\"2012-03-20\",\"2012-03-27\",\"2012-04-03\",\"2012-04-10\",\"2012-04-17\",\"2012-04-24\",\"2012-05-01\",\"2012-05-08\",\"2012-05-15\",\"2012-05-22\",\"2012-05-29\",\"2012-06-05\",\"2012-06-12\",\"2012-06-19\",\"2012-06-26\",\"2012-07-03\",\"2012-07-10\",\"2012-07-17\",\"2012-07-24\",\"2012-07-31\",\"2012-08-07\",\"2012-08-14\",\"2012-08-21\",\"2012-08-28\",\"2012-09-04\",\"2012-09-11\",\"2012-09-18\",\"2012-09-25\",\"2012-10-02\",\"2012-10-09\",\"2012-10-16\",\"2012-10-23\",\"2012-10-30\",\"2012-11-06\",\"2012-11-13\",\"2012-11-20\",\"2012-11-27\",\"2012-12-04\",\"2012-12-11\",\"2012-12-18\",\"2012-12-24\",\"2012-12-31\",\"2013-01-08\",\"2013-01-15\",\"2013-01-22\",\"2013-01-29\",\"2013-02-05\",\"2013-02-12\",\"2013-02-19\",\"2013-02-26\",\"2013-03-05\",\"2013-03-12\",\"2013-03-19\",\"2013-03-26\",\"2013-04-02\",\"2013-04-09\",\"2013-04-16\",\"2013-04-23\",\"2013-04-30\",\"2013-05-07\",\"2013-05-14\",\"2013-05-21\",\"2013-05-28\",\"2013-06-04\",\"2013-06-11\",\"2013-06-18\",\"2013-06-25\",\"2013-07-02\",\"2013-07-09\",\"2013-07-16\",\"2013-07-23\",\"2013-07-30\",\"2013-08-06\",\"2013-08-13\",\"2013-08-20\",\"2013-08-27\",\"2013-09-03\",\"2013-09-10\",\"2013-09-17\",\"2013-09-24\",\"2013-10-01\",\"2013-10-08\",\"2013-10-15\",\"2013-10-22\",\"2013-10-29\",\"2013-11-05\",\"2013-11-12\",\"2013-11-19\",\"2013-11-26\",\"2013-12-03\",\"2013-12-10\",\"2013-12-17\",\"2013-12-24\",\"2013-12-31\",\"2014-01-07\",\"2014-01-14\",\"2014-01-21\",\"2014-01-28\",\"2014-02-04\",\"2014-02-11\",\"2014-02-18\",\"2014-02-25\",\"2014-03-04\",\"2014-03-11\",\"2014-03-18\",\"2014-03-25\",\"2014-04-01\",\"2014-04-08\",\"2014-04-15\",\"2014-04-22\",\"2014-04-29\",\"2014-05-06\",\"2014-05-13\",\"2014-05-20\",\"2014-05-27\",\"2014-06-03\",\"2014-06-10\",\"2014-06-17\",\"2014-06-24\",\"2014-07-01\",\"2014-07-08\",\"2014-07-15\",\"2014-07-22\",\"2014-07-29\",\"2014-08-05\",\"2014-08-12\",\"2014-08-19\",\"2014-08-26\",\"2014-09-02\",\"2014-09-09\",\"2014-09-16\",\"2014-09-23\",\"2014-09-30\",\"2014-10-07\",\"2014-10-14\",\"2014-10-21\",\"2014-10-28\",\"2014-11-04\",\"2014-11-11\",\"2014-11-18\",\"2014-11-25\",\"2014-12-02\",\"2014-12-09\",\"2014-12-16\",\"2014-12-23\",\"2014-12-30\",\"2015-01-06\",\"2015-01-13\",\"2015-01-20\",\"2015-01-27\",\"2015-02-03\",\"2015-02-10\",\"2015-02-17\",\"2015-02-24\",\"2015-03-03\",\"2015-03-10\",\"2015-03-17\",\"2015-03-24\",\"2015-03-31\",\"2015-04-07\",\"2015-04-14\",\"2015-04-21\",\"2015-04-28\",\"2015-05-05\",\"2015-05-12\",\"2015-05-19\",\"2015-05-26\",\"2015-06-02\",\"2015-06-09\",\"2015-06-16\",\"2015-06-23\",\"2015-06-30\",\"2015-07-07\",\"2015-07-14\",\"2015-07-21\",\"2015-07-28\",\"2015-08-04\",\"2015-08-11\",\"2015-08-18\",\"2015-08-25\",\"2015-09-01\",\"2015-09-08\",\"2015-09-15\",\"2015-09-22\",\"2015-09-29\",\"2015-10-06\",\"2015-10-13\",\"2015-10-20\",\"2015-10-27\",\"2015-11-03\",\"2015-11-10\",\"2015-11-17\",\"2015-11-24\",\"2015-12-01\",\"2015-12-08\",\"2015-12-15\",\"2015-12-22\",\"2015-12-29\",\"2016-01-05\",\"2016-01-12\",\"2016-01-19\",\"2016-01-26\",\"2016-02-02\",\"2016-02-09\",\"2016-02-16\",\"2016-02-23\",\"2016-03-01\",\"2016-03-08\",\"2016-03-15\",\"2016-03-22\",\"2016-03-29\",\"2016-04-05\",\"2016-04-12\",\"2016-04-19\",\"2016-04-26\",\"2016-05-03\",\"2016-05-10\",\"2016-05-17\",\"2016-05-24\",\"2016-05-31\",\"2016-06-07\",\"2016-06-14\",\"2016-06-21\",\"2016-06-28\",\"2016-07-05\",\"2016-07-12\",\"2016-07-19\",\"2016-07-26\",\"2016-08-02\",\"2016-08-09\",\"2016-08-16\",\"2016-08-23\",\"2016-08-30\",\"2016-09-06\",\"2016-09-13\",\"2016-09-20\",\"2016-09-27\",\"2016-10-04\",\"2016-10-11\",\"2016-10-18\",\"2016-10-25\",\"2016-11-01\",\"2016-11-08\",\"2016-11-15\",\"2016-11-22\",\"2016-11-29\",\"2016-12-06\",\"2016-12-13\",\"2016-12-20\",\"2016-12-27\",\"2017-01-03\",\"2017-01-10\",\"2017-01-17\",\"2017-01-24\",\"2017-01-31\",\"2017-02-07\",\"2017-02-14\",\"2017-02-21\",\"2017-02-28\",\"2017-03-07\",\"2017-03-14\",\"2017-03-21\",\"2017-03-28\",\"2017-04-04\",\"2017-04-11\",\"2017-04-18\",\"2017-04-25\",\"2017-05-02\",\"2017-05-09\",\"2017-05-16\",\"2017-05-23\",\"2017-05-30\",\"2017-06-06\",\"2017-06-13\",\"2017-06-20\",\"2017-06-27\",\"2017-07-03\",\"2017-07-11\",\"2017-07-18\",\"2017-07-25\",\"2017-08-01\",\"2017-08-08\",\"2017-08-15\",\"2017-08-22\",\"2017-08-29\",\"2017-09-05\",\"2017-09-12\",\"2017-09-19\",\"2017-09-26\",\"2017-10-03\",\"2017-10-10\",\"2017-10-17\",\"2017-10-24\",\"2017-10-31\",\"2017-11-07\",\"2017-11-14\",\"2017-11-21\",\"2017-11-28\",\"2017-12-05\",\"2017-12-12\",\"2017-12-19\",\"2017-12-26\",\"2018-01-02\",\"2018-01-09\",\"2018-01-16\",\"2018-01-23\",\"2018-01-30\",\"2018-02-06\",\"2018-02-13\",\"2018-02-20\",\"2018-02-27\",\"2018-03-06\",\"2018-03-13\",\"2018-03-20\",\"2018-03-27\",\"2018-04-03\",\"2018-04-10\",\"2018-04-17\",\"2018-04-24\",\"2018-05-01\",\"2018-05-08\",\"2018-05-15\",\"2018-05-22\",\"2018-05-29\",\"2018-06-05\",\"2018-06-12\",\"2018-06-19\",\"2018-06-26\",\"2018-07-03\",\"2018-07-10\",\"2018-07-17\",\"2018-07-24\",\"2018-07-31\",\"2018-08-07\",\"2018-08-14\",\"2018-08-21\",\"2018-08-28\",\"2018-09-04\",\"2018-09-11\",\"2018-09-18\",\"2018-09-25\",\"2018-10-02\",\"2018-10-09\",\"2018-10-16\",\"2018-10-23\",\"2018-10-30\",\"2018-11-06\",\"2018-11-13\",\"2018-11-20\",\"2018-11-27\",\"2018-12-04\",\"2018-12-11\",\"2018-12-18\",\"2018-12-24\",\"2018-12-31\",\"2019-01-08\",\"2019-01-15\",\"2019-01-22\",\"2019-01-29\",\"2019-02-05\",\"2019-02-12\",\"2019-02-19\",\"2019-02-26\",\"2019-03-05\",\"2019-03-12\",\"2019-03-19\",\"2019-03-26\",\"2019-04-02\",\"2019-04-09\",\"2019-04-16\",\"2019-04-23\",\"2019-04-30\",\"2019-05-07\",\"2019-05-14\",\"2019-05-21\",\"2019-05-28\",\"2019-06-04\",\"2019-06-11\",\"2019-06-18\",\"2019-06-25\",\"2019-07-02\",\"2019-07-09\",\"2019-07-16\",\"2019-07-23\",\"2019-07-30\",\"2019-08-06\",\"2019-08-13\",\"2019-08-20\",\"2019-08-27\",\"2019-09-03\",\"2019-09-10\",\"2019-09-17\",\"2019-09-24\",\"2019-10-01\",\"2019-10-08\",\"2019-10-15\",\"2019-10-22\",\"2019-10-29\",\"2019-11-05\",\"2019-11-12\",\"2019-11-19\",\"2019-11-26\",\"2019-12-03\",\"2019-12-10\",\"2019-12-17\",\"2019-12-24\",\"2019-12-31\",\"2020-01-07\",\"2020-01-14\",\"2020-01-21\",\"2020-01-28\",\"2020-02-04\",\"2020-02-11\",\"2020-02-18\",\"2020-02-25\",\"2020-03-03\",\"2020-03-10\",\"2020-03-17\",\"2020-03-24\",\"2020-03-31\",\"2020-04-07\",\"2020-04-14\",\"2020-04-21\",\"2020-04-28\",\"2020-05-05\",\"2020-05-12\",\"2020-05-19\",\"2020-05-26\",\"2020-06-02\",\"2020-06-09\",\"2020-06-16\",\"2020-06-23\",\"2020-06-30\",\"2020-07-07\",\"2020-07-14\",\"2020-07-21\",\"2020-07-28\",\"2020-08-04\",\"2020-08-11\",\"2020-08-18\",\"2020-08-25\",\"2020-09-01\",\"2020-09-08\",\"2020-09-15\",\"2020-09-22\",\"2020-09-29\",\"2020-10-06\",\"2020-10-13\",\"2020-10-20\",\"2020-10-27\",\"2020-11-03\",\"2020-11-10\",\"2020-11-17\",\"2020-11-24\",\"2020-12-01\",\"2020-12-08\",\"2020-12-15\",\"2020-12-21\",\"2020-12-29\",\"2021-01-05\",\"2021-01-12\",\"2021-01-19\",\"2021-01-26\",\"2021-02-02\",\"2021-02-09\",\"2021-02-16\",\"2021-02-23\",\"2021-03-02\",\"2021-03-09\",\"2021-03-16\",\"2021-03-23\",\"2021-03-30\",\"2021-04-06\",\"2021-04-13\",\"2021-04-20\",\"2021-04-27\",\"2021-05-04\",\"2021-05-11\",\"2021-05-18\",\"2021-05-25\",\"2021-06-01\",\"2021-06-08\",\"2021-06-15\",\"2021-06-22\",\"2021-06-29\",\"2021-07-06\",\"2021-07-13\",\"2021-07-20\",\"2021-07-27\",\"2021-08-03\",\"2021-08-10\",\"2021-08-17\",\"2021-08-24\",\"2021-08-31\",\"2021-09-07\",\"2021-09-14\",\"2021-09-21\",\"2021-09-28\",\"2021-10-05\",\"2021-10-12\",\"2021-10-19\",\"2021-10-26\",\"2021-11-02\",\"2021-11-09\",\"2021-11-16\",\"2021-11-23\",\"2021-11-30\",\"2021-12-07\",\"2021-12-14\",\"2021-12-21\",\"2021-12-28\",\"2022-01-04\",\"2022-01-11\",\"2022-01-18\",\"2022-01-25\",\"2022-02-01\",\"2022-02-08\",\"2022-02-15\",\"2022-02-22\",\"2022-03-01\",\"2022-03-08\",\"2022-03-15\",\"2022-03-22\",\"2022-03-29\",\"2022-04-05\",\"2022-04-12\",\"2022-04-19\",\"2022-04-26\",\"2022-05-03\",\"2022-05-10\",\"2022-05-17\",\"2022-05-24\",\"2022-05-31\",\"2022-06-07\",\"2022-06-14\",\"2022-06-21\",\"2022-06-28\",\"2022-07-05\",\"2022-07-12\",\"2022-07-19\",\"2022-07-26\",\"2022-08-02\",\"2022-08-09\",\"2022-08-16\",\"2022-08-23\",\"2022-08-30\",\"2022-09-06\",\"2022-09-13\",\"2022-09-20\",\"2022-09-27\",\"2022-10-04\",\"2022-10-11\",\"2022-10-18\",\"2022-10-25\",\"2022-11-01\",\"2022-11-08\",\"2022-11-15\",\"2022-11-22\",\"2022-11-29\",\"2022-12-06\",\"2022-12-13\",\"2022-12-20\",\"2022-12-27\",\"2023-01-03\",\"2023-01-10\",\"2023-01-17\",\"2023-01-24\",\"2023-01-31\",\"2023-02-07\",\"2023-02-14\",\"2023-02-21\",\"2023-02-28\",\"2023-03-07\",\"2023-03-14\",\"2023-03-21\",\"2023-03-28\",\"2023-04-04\",\"2023-04-11\",\"2023-04-18\",\"2023-04-25\",\"2023-05-02\",\"2023-05-09\",\"2023-05-16\",\"2023-05-23\",\"2023-05-30\",\"2023-06-06\",\"2023-06-13\",\"2023-06-20\",\"2023-06-27\",\"2023-07-03\",\"2023-07-11\",\"2023-07-18\",\"2023-07-25\",\"2023-08-01\",\"2023-08-08\",\"2023-08-15\",\"2023-08-22\",\"2023-08-29\",\"2023-09-05\",\"2023-09-12\",\"2023-09-19\",\"2023-09-26\",\"2023-10-03\",\"2023-10-10\",\"2023-10-17\",\"2023-10-24\",\"2023-10-31\",\"2023-11-07\",\"2023-11-14\",\"2023-11-21\",\"2023-11-28\",\"2023-12-05\",\"2023-12-12\",\"2023-12-19\",\"2023-12-26\",\"2024-01-02\",\"2024-01-09\",\"2024-01-16\",\"2024-01-23\",\"2024-01-30\",\"2024-02-06\",\"2024-02-13\",\"2024-02-20\",\"2024-02-27\",\"2024-03-05\",\"2024-03-12\",\"2024-03-19\",\"2024-03-26\",\"2024-04-02\",\"2024-04-09\",\"2024-04-16\",\"2024-04-23\",\"2024-04-30\",\"2024-05-07\",\"2024-05-14\",\"2024-05-21\",\"2024-05-28\",\"2024-06-04\",\"2024-06-11\",\"2024-06-18\",\"2024-06-25\",\"2024-07-02\",\"2024-07-09\",\"2024-07-16\",\"2024-07-23\",\"2024-07-30\",\"2024-08-06\",\"2024-08-13\",\"2024-08-20\",\"2024-08-27\",\"2024-09-03\",\"2024-09-10\",\"2024-09-17\",\"2024-09-24\",\"2024-10-01\",\"2024-10-08\",\"2024-10-15\",\"2024-10-22\",\"2024-10-29\",\"2024-11-05\",\"2024-11-12\",\"2024-11-19\",\"2024-11-26\",\"2024-12-03\",\"2024-12-10\",\"2024-12-17\",\"2024-12-24\",\"2024-12-31\",\"2025-01-07\",\"2025-01-14\",\"2025-01-21\",\"2025-01-28\",\"2025-02-04\",\"2025-02-11\",\"2025-02-18\",\"2025-02-25\",\"2025-03-04\",\"2025-03-11\",\"2025-03-18\",\"2025-03-25\",\"2025-04-01\",\"2025-04-08\",\"2025-04-15\",\"2025-04-22\",\"2025-04-29\",\"2025-05-06\",\"2025-05-13\",\"2025-05-20\",\"2025-05-27\",\"2025-06-03\",\"2025-06-10\",\"2025-06-17\",\"2025-06-24\",\"2025-07-01\",\"2025-07-08\",\"2025-07-15\",\"2025-07-22\",\"2025-07-29\",\"2025-08-05\",\"2025-08-12\",\"2025-08-19\",\"2025-08-26\",\"2025-09-02\",\"2025-09-09\",\"2025-09-16\",\"2025-09-23\",\"2025-09-30\",\"2025-10-07\",\"2025-10-14\",\"2025-10-21\",\"2025-10-28\",\"2025-11-04\",\"2025-11-10\",\"2025-11-18\",\"2025-11-25\",\"2025-12-02\",\"2025-12-09\",\"2025-12-16\",\"2025-12-23\",\"2025-12-30\",\"2026-01-06\",\"2026-01-13\",\"2026-01-20\",\"2026-01-27\",\"2026-02-03\",\"2026-02-10\",\"2026-02-17\",\"2026-02-24\",\"2026-03-03\",\"2026-03-10\",\"2026-03-17\",\"2026-03-24\",\"2026-03-31\",\"2026-04-07\",\"2026-04-14\",\"2026-04-21\",\"2026-04-28\",\"2026-05-05\",\"2026-05-12\",\"2026-05-19\",\"2026-05-26\",\"2026-06-02\"];\r\n      const tsAllRaw    = [1308009600,1308614400,1309219200,1309824000,1310428800,1311033600,1311638400,1312243200,1312848000,1313452800,1314057600,1314662400,1315267200,1315872000,1316476800,1317081600,1317686400,1318291200,1318896000,1319500800,1320105600,1320710400,1321315200,1321920000,1322524800,1323129600,1323734400,1324339200,1324944000,1325548800,1326153600,1326758400,1327363200,1327968000,1328572800,1329177600,1329782400,1330387200,1330992000,1331596800,1332201600,1332806400,1333411200,1334016000,1334620800,1335225600,1335830400,1336435200,1337040000,1337644800,1338249600,1338854400,1339459200,1340064000,1340668800,1341273600,1341878400,1342483200,1343088000,1343692800,1344297600,1344902400,1345507200,1346112000,1346716800,1347321600,1347926400,1348531200,1349136000,1349740800,1350345600,1350950400,1351555200,1352160000,1352764800,1353369600,1353974400,1354579200,1355184000,1355788800,1356307200,1356912000,1357603200,1358208000,1358812800,1359417600,1360022400,1360627200,1361232000,1361836800,1362441600,1363046400,1363651200,1364256000,1364860800,1365465600,1366070400,1366675200,1367280000,1367884800,1368489600,1369094400,1369699200,1370304000,1370908800,1371513600,1372118400,1372723200,1373328000,1373932800,1374537600,1375142400,1375747200,1376352000,1376956800,1377561600,1378166400,1378771200,1379376000,1379980800,1380585600,1381190400,1381795200,1382400000,1383004800,1383609600,1384214400,1384819200,1385424000,1386028800,1386633600,1387238400,1387843200,1388448000,1389052800,1389657600,1390262400,1390867200,1391472000,1392076800,1392681600,1393286400,1393891200,1394496000,1395100800,1395705600,1396310400,1396915200,1397520000,1398124800,1398729600,1399334400,1399939200,1400544000,1401148800,1401753600,1402358400,1402963200,1403568000,1404172800,1404777600,1405382400,1405987200,1406592000,1407196800,1407801600,1408406400,1409011200,1409616000,1410220800,1410825600,1411430400,1412035200,1412640000,1413244800,1413849600,1414454400,1415059200,1415664000,1416268800,1416873600,1417478400,1418083200,1418688000,1419292800,1419897600,1420502400,1421107200,1421712000,1422316800,1422921600,1423526400,1424131200,1424736000,1425340800,1425945600,1426550400,1427155200,1427760000,1428364800,1428969600,1429574400,1430179200,1430784000,1431388800,1431993600,1432598400,1433203200,1433808000,1434412800,1435017600,1435622400,1436227200,1436832000,1437436800,1438041600,1438646400,1439251200,1439856000,1440460800,1441065600,1441670400,1442275200,1442880000,1443484800,1444089600,1444694400,1445299200,1445904000,1446508800,1447113600,1447718400,1448323200,1448928000,1449532800,1450137600,1450742400,1451347200,1451952000,1452556800,1453161600,1453766400,1454371200,1454976000,1455580800,1456185600,1456790400,1457395200,1458000000,1458604800,1459209600,1459814400,1460419200,1461024000,1461628800,1462233600,1462838400,1463443200,1464048000,1464652800,1465257600,1465862400,1466467200,1467072000,1467676800,1468281600,1468886400,1469491200,1470096000,1470700800,1471305600,1471910400,1472515200,1473120000,1473724800,1474329600,1474934400,1475539200,1476144000,1476748800,1477353600,1477958400,1478563200,1479168000,1479772800,1480377600,1480982400,1481587200,1482192000,1482796800,1483401600,1484006400,1484611200,1485216000,1485820800,1486425600,1487030400,1487635200,1488240000,1488844800,1489449600,1490054400,1490659200,1491264000,1491868800,1492473600,1493078400,1493683200,1494288000,1494892800,1495497600,1496102400,1496707200,1497312000,1497916800,1498521600,1499040000,1499731200,1500336000,1500940800,1501545600,1502150400,1502755200,1503360000,1503964800,1504569600,1505174400,1505779200,1506384000,1506988800,1507593600,1508198400,1508803200,1509408000,1510012800,1510617600,1511222400,1511827200,1512432000,1513036800,1513641600,1514246400,1514851200,1515456000,1516060800,1516665600,1517270400,1517875200,1518480000,1519084800,1519689600,1520294400,1520899200,1521504000,1522108800,1522713600,1523318400,1523923200,1524528000,1525132800,1525737600,1526342400,1526947200,1527552000,1528156800,1528761600,1529366400,1529971200,1530576000,1531180800,1531785600,1532390400,1532995200,1533600000,1534204800,1534809600,1535414400,1536019200,1536624000,1537228800,1537833600,1538438400,1539043200,1539648000,1540252800,1540857600,1541462400,1542067200,1542672000,1543276800,1543881600,1544486400,1545091200,1545609600,1546214400,1546905600,1547510400,1548115200,1548720000,1549324800,1549929600,1550534400,1551139200,1551744000,1552348800,1552953600,1553558400,1554163200,1554768000,1555372800,1555977600,1556582400,1557187200,1557792000,1558396800,1559001600,1559606400,1560211200,1560816000,1561420800,1562025600,1562630400,1563235200,1563840000,1564444800,1565049600,1565654400,1566259200,1566864000,1567468800,1568073600,1568678400,1569283200,1569888000,1570492800,1571097600,1571702400,1572307200,1572912000,1573516800,1574121600,1574726400,1575331200,1575936000,1576540800,1577145600,1577750400,1578355200,1578960000,1579564800,1580169600,1580774400,1581379200,1581984000,1582588800,1583193600,1583798400,1584403200,1585008000,1585612800,1586217600,1586822400,1587427200,1588032000,1588636800,1589241600,1589846400,1590451200,1591056000,1591660800,1592265600,1592870400,1593475200,1594080000,1594684800,1595289600,1595894400,1596499200,1597104000,1597708800,1598313600,1598918400,1599523200,1600128000,1600732800,1601337600,1601942400,1602547200,1603152000,1603756800,1604361600,1604966400,1605571200,1606176000,1606780800,1607385600,1607990400,1608508800,1609200000,1609804800,1610409600,1611014400,1611619200,1612224000,1612828800,1613433600,1614038400,1614643200,1615248000,1615852800,1616457600,1617062400,1617667200,1618272000,1618876800,1619481600,1620086400,1620691200,1621296000,1621900800,1622505600,1623110400,1623715200,1624320000,1624924800,1625529600,1626134400,1626739200,1627344000,1627948800,1628553600,1629158400,1629763200,1630368000,1630972800,1631577600,1632182400,1632787200,1633392000,1633996800,1634601600,1635206400,1635811200,1636416000,1637020800,1637625600,1638230400,1638835200,1639440000,1640044800,1640649600,1641254400,1641859200,1642464000,1643068800,1643673600,1644278400,1644883200,1645488000,1646092800,1646697600,1647302400,1647907200,1648512000,1649116800,1649721600,1650326400,1650931200,1651536000,1652140800,1652745600,1653350400,1653955200,1654560000,1655164800,1655769600,1656374400,1656979200,1657584000,1658188800,1658793600,1659398400,1660003200,1660608000,1661212800,1661817600,1662422400,1663027200,1663632000,1664236800,1664841600,1665446400,1666051200,1666656000,1667260800,1667865600,1668470400,1669075200,1669680000,1670284800,1670889600,1671494400,1672099200,1672704000,1673308800,1673913600,1674518400,1675123200,1675728000,1676332800,1676937600,1677542400,1678147200,1678752000,1679356800,1679961600,1680566400,1681171200,1681776000,1682380800,1682985600,1683590400,1684195200,1684800000,1685404800,1686009600,1686614400,1687219200,1687824000,1688342400,1689033600,1689638400,1690243200,1690848000,1691452800,1692057600,1692662400,1693267200,1693872000,1694476800,1695081600,1695686400,1696291200,1696896000,1697500800,1698105600,1698710400,1699315200,1699920000,1700524800,1701129600,1701734400,1702339200,1702944000,1703548800,1704153600,1704758400,1705363200,1705968000,1706572800,1707177600,1707782400,1708387200,1708992000,1709596800,1710201600,1710806400,1711411200,1712016000,1712620800,1713225600,1713830400,1714435200,1715040000,1715644800,1716249600,1716854400,1717459200,1718064000,1718668800,1719273600,1719878400,1720483200,1721088000,1721692800,1722297600,1722902400,1723507200,1724112000,1724716800,1725321600,1725926400,1726531200,1727136000,1727740800,1728345600,1728950400,1729555200,1730160000,1730764800,1731369600,1731974400,1732579200,1733184000,1733788800,1734393600,1734998400,1735603200,1736208000,1736812800,1737417600,1738022400,1738627200,1739232000,1739836800,1740441600,1741046400,1741651200,1742256000,1742860800,1743465600,1744070400,1744675200,1745280000,1745884800,1746489600,1747094400,1747699200,1748304000,1748908800,1749513600,1750118400,1750723200,1751328000,1751932800,1752537600,1753142400,1753747200,1754352000,1754956800,1755561600,1756166400,1756771200,1757376000,1757980800,1758585600,1759190400,1759795200,1760400000,1761004800,1761609600,1762214400,1762732800,1763424000,1764028800,1764633600,1765238400,1765843200,1766448000,1767052800,1767657600,1768262400,1768867200,1769472000,1770076800,1770681600,1771286400,1771891200,1772496000,1773100800,1773705600,1774310400,1774915200,1775520000,1776124800,1776729600,1777334400,1777939200,1778544000,1779148800,1779753600,1780358400];\r\n      const seriesAll   = [[19891,21922,18678,20452,21961,25976,28586,29881,24131,24743,29849,27442,28853,27463,26014,18043,16553,16494,16067,16872,17795,17675,18758,17279,17354,17427,17966,17433,17012,19557,19658,19630,20060,21783,25965,26515,28915,32308,25586,23141,22280,21168,22991,20771,18745,19078,18353,18030,18221,18444,18238,18641,18420,19005,19098,20116,20010,20351,20590,21526,22592,23461,26075,29366,30560,30731,31582,35613,37591,39512,37906,35242,34328,32227,32663,35954,39784,39361,37532,33175,27545,27421,26390,27730,31764,33814,33289,31071,27296,25946,24575,24088,24856,23480,23840,25463,27416,26811,25505,24651,24794,24739,24003,24938,24787,24898,26690,27371,27462,27430,27199,28602,27625,29913,29207,26879,27731,26262,23835,22960,25769,26422,26706,29291,31540,30017,29491,29072,29637,28557,29730,30361,30321,31779,30297,31793,32102,29670,31093,32897,32399,36229,36276,35984,36611,35672,33982,34069,34228,34616,34612,35122,35193,34113,34227,35166,35455,36380,42272,49245,55539,55361,53733,48963,42923,41436,40861,42291,43145,41303,40546,39521,41979,40779,40207,40233,40577,42938,42796,42949,41297,39787,40381,39852,39725,40272,41520,44293,47694,49408,47942,48590,48059,44139,40461,42054,43056,46032,50887,48266,45308,42437,44235,46096,46306,54860,53118,48794,44341,45520,46135,44153,44311,42753,40552,40641,39495,41980,40045,37735,39035,41533,42219,43316,43252,49621,56412,60905,63187,58867,53256,51627,52630,54282,52472,50580,50223,49244,49088,50421,49199,50614,50949,58876,60725,62683,58117,59303,58689,64150,60154,60866,69774,77534,79825,81012,86732,84369,76941,70677,68148,77085,87674,87541,90030,92979,98948,104148,101438,101341,98767,96876,93040,98888,93682,93440,97185,88384,72048,68579,65956,66733,71989,64016,57931,56969,56166,59636,59215,58183,61676,64671,67215,71727,76808,77999,84040,89710,96033,94487,80582,78914,93000,107825,114249,110289,99509,78203,67963,68867,68477,70790,78394,77308,68683,64435,59796,55697,58827,61965,66461,66456,68024,68740,70525,73395,82044,78296,69523,68382,70384,73874,74898,73090,77372,78464,77147,69785,57446,47275,46698,48483,54304,66224,59906,53714,49982,38367,37481,36171,36647,41036,38265,32599,31988,33494,33786,39841,46448,43295,47919,49041,56388,59999,63720,83823,75158,74273,72263,68829,62439,64542,68210,67467,66537,63210,60430,55559,53034,52296,52672,50674,45587,45792,50611,50387,47496,43546,42665,40021,41303,44644,48462,53373,60752,67815,65554,62848,66078,73738,71924,70067,72677,54915,51261,52075,52510,52136,49563,49990,49667,52260,56211,57135,52557,49913,57223,65783,73187,79943,81381,76472,79125,90924,94899,89145,78429,78183,84643,86540,83812,77640,76746,73193,73313,69627,73855,77915,78680,72660,73877,75942,73377,64531,68153,81738,85816,87915,90678,88457,82822,78635,77942,89145,86886,57906,52958,37409,30238,30406,30348,29960,29186,30971,28398,29123,37565,40777,43751,44266,47457,51295,59931,62211,65615,71496,57957,57977,51351,58680,61800,61853,59951,63247,61547,59160,59688,59942,61839,63091,59694,59526,63981,62795,64370,66057,66679,71548,72144,73290,69805,65788,66111,61069,61284,63102,62102,58364,55268,55219,54438,51964,53877,55910,61979,64769,66702,73342,73685,72629,70120,68150,72624,56371,56930,60782,59448,53215,50846,50878,46631,48227,48094,49008,49406,48598,48233,47442,47463,47447,50040,52646,50391,50950,59631,54714,48877,47419,47486,48399,50454,51595,50316,53143,51622,46101,43252,44274,46736,59592,64367,62249,57604,54378,52412,54935,57303,44689,40692,39862,40809,41545,40984,40650,40712,39405,39039,37322,37095,36411,36721,33027,32469,31781,31703,31139,33857,38352,36594,34429,37885,33493,36365,35428,36025,38876,38106,37624,36960,37392,40880,45659,45022,46929,44900,46115,43507,44661,35026,33963,32856,30354,27811,30952,30589,31927,38599,42763,49059,53377,54975,56217,45137,43270,39203,37526,38968,37289,33247,32849,31522,53781,48131,44578,31985,31710,36497,43477,38143,31715,32700,32719,29421,29895,31027,29617,28019,25457,30527,33308,45604,43852,33472,34931,36546,38424,32392,31698,29434,32840,32101,33004,36252,33292,40556,45521,53484,53871,57863,59605,60445,60060,55842,54892,60206,61627,62242,56908,52207,53057,50941,49570,55172,55858,43877,37898,36537,35805,39517,42916,40281,39466,51074,56196,52610,47876,47760,56281,54185,48546,41125,40707,38604,39214,46890,40317,39531,38172,42484,45728,48244,46674,56404,54415,58305,51338,47878,54740,62742,59841,58008,35544,35877,36905,42324,43606,43522,45696,48645,58645,59581,62692,58906,59228,58991,59766,60294,57762,45934,43854,44397,48499,51293,49390,51259,51225,49827,43186,39304,33198,34227,33478,35613,33544,32630,34765,39798,36424,35026,29100,26978,22800,20613,19423,13189,12222,12121,13365,12840,13264,12768,15246,14917,13838,14770,13354,14576,15697,21191,17944,16670,17047],[4946,3814,5451,3647,3633,4008,3791,4340,5021,3843,3394,2983,2447,2742,4670,3689,6161,6239,6553,6058,6023,5352,4903,5874,6065,6063,6976,11554,12260,11207,9026,7479,5156,4415,3001,2748,3053,2609,3963,2811,3927,5618,5678,7129,6621,9364,8793,12127,12518,14325,14596,13654,12678,12928,16684,13974,14667,15893,17575,13796,13527,12907,9420,5052,4364,3976,3990,4259,2627,3138,3087,3626,5218,5589,5645,3739,3299,2969,3602,3652,4542,4882,5497,5418,5449,4548,3219,4733,9320,13361,17123,17800,20841,22405,26337,26072,17967,19163,18327,18048,21099,22758,23324,23004,25444,25323,26512,24421,23527,22983,21383,22102,23430,18451,13039,11863,10084,11166,11781,12421,13932,12157,13853,11626,12200,12137,19732,23822,27808,32332,28581,26652,26996,23967,20715,20634,22288,25674,28715,22947,12179,9525,10709,12610,15963,22876,25296,25699,29085,28336,30151,31480,30805,33276,38453,42804,39270,30142,17765,13043,11588,9418,8683,8496,14364,19401,24812,28228,35624,37081,42249,40611,44535,43700,44926,45093,46254,44360,40549,38161,31385,24140,19164,22904,22455,20946,19713,16190,11850,7686,9057,10660,15620,15117,19942,26517,31552,26415,19453,17682,23358,32283,37724,33918,31600,11920,10520,11844,35651,44779,53304,54774,56859,51751,55303,53636,50587,42213,40368,37815,34986,33899,39900,28316,33610,21469,14439,13003,9834,10271,27229,39422,42772,42842,43201,47982,39607,42105,41197,41872,32750,25218,25932,19132,13004,11662,11562,9730,7933,9449,15734,17603,13756,9631,8665,12646,13792,16171,18946,16761,18987,15666,12096,9879,9045,7112,7796,8224,11505,14860,17311,20489,20542,19001,22929,22320,20494,23877,26502,27513,27555,19066,15852,16177,15412,14327,15591,13701,16139,18967,19343,17897,15438,15625,12844,12338,11874,12278,11188,11086,13066,14129,11830,14751,15685,13983,19298,23827,34862,51020,38617,28714,28168,33378,42364,52602,58630,62058,65913,53745,43427,38936,31064,24493,18096,11217,5978,10585,11657,12935,14110,10774,10560,15357,11616,10274,12562,13238,35814,52924,61006,55670,38501,28122,26472,30117,23555,35349,45771,46693,53082,52114,54680,68432,66252,73832,70898,54598,42248,67181,67402,65654,56978,59208,59101,43079,47422,52212,62242,61002,71249,77176,76152,81445,88828,90927,96135,104482,101109,99047,95355,86744,86851,79191,71636,75563,68344,84379,75379,71659,63580,53798,46673,44561,30706,25104,26323,27675,26159,26009,30023,31267,24915,37059,41774,42359,40204,53860,52095,60918,67206,65998,70350,71332,81988,87920,76759,73843,68872,56682,59458,60945,51361,39268,32337,42283,44469,34287,28855,25658,24226,25020,27812,28990,27107,28995,30839,30330,37542,41083,34032,27803,29204,35319,32674,28841,26948,30901,33499,31899,34855,23417,23235,23193,25197,28935,26212,15471,16227,12432,13726,14512,15395,16482,17931,15180,16099,14670,17033,21244,20219,22552,24781,26195,22988,22840,25182,25850,27373,26423,23720,24266,24127,23982,25052,23489,24420,25808,21864,21459,19011,18849,20772,21138,21664,23275,23499,24304,26138,27400,27861,25626,23113,22431,23839,24338,24600,28839,28942,30625,32569,31128,29439,27343,27992,28213,24148,26851,28674,28963,29441,25766,28359,26839,24076,25783,25293,27133,29920,25468,34891,38472,37470,36735,31630,34512,46923,43918,42819,42391,30603,23514,26422,23702,24341,24901,21353,29754,38281,37741,33008,29818,32514,29427,24203,34142,33091,26809,21087,17297,15687,14206,13776,12247,13447,12855,16585,18291,25502,38016,40482,42404,37933,33818,39103,32175,38294,46067,47543,50452,54539,41883,39012,37872,47527,52170,58600,46637,44615,42522,32248,33378,44077,43146,41460,29484,24997,25925,23367,24054,21182,17728,16206,19152,21666,19647,23686,20874,29209,28645,27773,37642,45213,35651,30866,21646,20154,24973,29246,29305,29361,30828,32397,30590,29929,27531,25971,27033,22341,23053,26024,24092,28530,31920,35766,38380,35114,26998,24795,31147,31346,27452,31671,34842,27701,22373,23384,25107,23822,21839,21842,22322,24805,20060,19749,22367,24044,25475,32088,28509,36700,41987,31327,37375,25744,19727,16362,23932,24562,22974,20255,20667,21956,20698,20510,25457,24487,22577,24147,22008,18595,18013,17270,19183,18523,13683,12153,12471,9678,9729,14982,13645,11455,13021,15272,13240,13059,10646,14432,16249,16900,14769,15499,14882,17570,18438,18983,21002,17045,16385,19023,20724,20157,20039,19999,18399,13780,12763,13254,14449,16989,12859,12325,11014,11586,13724,15189,15251,15433,13812,11648,13827,13795,14301,16235,16560,16280,14738,16111,16574,16351,15528,12523,13535,15453,14126,14906,15693,16266,15986,12328,14321,12958,13310,13569,15791,14023,14537,13418,15092,11156,9008,10667,11724,8206,7653,6153,4842,5074,2975,3121,4088,3651,3440,3500,4486,3970,4854,5430,6380,6615,6603],[14945,18108,13227,16805,18328,21968,24795,25541,19110,20900,26455,24459,26406,24721,21344,14354,10392,10255,9514,10814,11772,12323,13855,11405,11289,11364,10990,5879,4752,8350,10632,12151,14904,17368,22964,23767,25862,29699,21623,20330,18353,15550,17313,13642,12124,9714,9560,5903,5703,4119,3642,4987,5742,6077,2414,6142,5343,4458,3015,7730,9065,10554,16655,24314,26196,26755,27592,31354,34964,36374,34819,31616,29110,26638,27018,32215,36485,36392,33930,29523,23003,22539,20893,22312,26315,29266,30070,26338,17976,12585,7452,6288,4015,1075,-2497,-609,9449,7648,7178,6603,3695,1981,679,1934,-657,-425,178,2950,3935,4447,5816,6500,4195,11462,16168,15016,17647,15096,12054,10539,11837,14265,12853,17665,19340,17880,9759,5250,1829,-3775,1149,3709,3325,7812,9582,11159,9814,3996,2378,9950,20220,26704,25567,23374,20648,12796,8686,8370,5143,6280,4461,3642,4388,837,-4226,-7638,-3815,6238,24507,36202,43951,45943,45050,40467,28559,22035,16049,14063,7521,4222,-1703,-1090,-2556,-2921,-4719,-4860,-5677,-1422,2247,4788,9912,15647,21217,16948,17270,19326,21807,28103,35844,41722,38885,37930,32439,29022,20519,15537,11504,19617,31434,30584,21950,10154,6511,12178,14706,42940,42598,36950,8690,741,-7169,-10621,-12548,-8998,-14751,-12995,-11092,-233,-323,-80,4049,7634,2319,15000,9642,28152,41973,47902,53353,48596,26027,12205,9858,11440,9271,2598,10616,7139,7891,8549,16449,25396,25017,39744,47721,51021,46555,49573,50756,54701,44420,43263,56018,67903,71160,68366,72940,68198,57995,53916,49161,61419,75578,77662,80985,85867,91152,95924,89933,86481,81456,76387,72498,79887,70753,71120,76691,64507,45546,41066,38401,47667,56137,47839,42519,42642,40575,45935,43076,39216,42333,46774,51777,56102,63964,65661,72166,77432,84845,83401,67516,64785,81170,93074,98564,96306,80211,54376,33101,17847,29860,42076,50226,43930,26319,11833,1166,-6361,-7086,8220,23034,27520,36960,44247,52429,62178,76066,67711,57866,55447,56274,63100,64338,57733,65756,68190,64585,56547,21632,-5649,-14308,-7187,15803,38102,33434,23597,26427,3018,-8290,-10522,-16435,-11078,-16415,-35833,-34264,-40338,-37112,-14757,4200,-23886,-19483,-16613,-590,791,4619,40744,27736,22061,10021,7827,-8810,-12634,-7942,-13978,-22291,-27717,-35705,-48923,-48075,-46751,-42683,-36070,-41264,-33399,-21025,-25176,-20848,-40833,-32714,-31638,-22277,-9154,1789,8812,30046,42711,39231,35173,39919,47729,41901,38800,47762,17856,9487,9716,12306,-1724,-2532,-10928,-17539,-13738,-14139,-14197,-29431,-38007,-19536,-8060,4315,23261,21923,15527,27764,51656,62562,46862,33960,43896,55788,60882,59586,52620,48934,44203,46206,40632,43016,47585,41138,31577,39845,48139,44173,29212,35479,52897,58868,57014,57179,56558,47967,55218,54707,65952,61689,28971,26746,21938,14011,17974,16622,15448,13791,14489,10467,13943,21466,26107,26718,23022,27238,28743,35150,36016,42627,48656,32775,32127,23978,32257,38080,37587,35824,39265,36495,35671,35268,34134,39975,41632,40683,40677,43209,41657,42706,42782,43180,47244,46006,45890,41944,40162,42998,38638,37445,38764,37502,29525,26326,24594,21869,20836,24438,28567,33987,36556,42554,46491,45011,43666,40679,42384,44265,29532,32854,34999,34155,26082,20926,25410,11740,9755,10624,12273,17776,14086,1310,3524,4644,5056,19437,29132,23969,27248,35290,29813,27524,17665,9205,10658,17446,21777,17802,23716,27419,11959,10161,17465,25649,42295,48680,48043,43828,42131,38965,42080,40718,26398,15190,1846,327,-859,3051,6832,1609,7230,745,-8745,-10448,-14041,-17818,-8856,-6543,-6091,-15824,-21031,-24743,-8285,-8021,-8093,5637,115,-7712,-7718,-5435,9392,13109,11699,13593,13338,19698,27931,28816,27777,23234,26468,19821,23787,5817,5318,5083,-7288,-17402,-4699,-277,10281,18445,17790,19813,24072,25614,25389,12740,12680,9274,9995,12997,10256,10906,9796,5498,29689,19601,12658,-3781,-6670,1383,16479,13348,568,1354,5267,-2250,-4947,3326,7244,4635,350,6705,11469,23762,21530,8667,14871,16797,16057,8348,6223,-2654,4331,-4599,-8983,4925,-4083,14812,25794,37122,29939,33301,36631,40190,39393,33886,34194,39696,36170,37755,34331,28060,31049,32346,31557,37902,36675,25354,24215,24384,23334,29839,33187,25299,25821,39619,43175,37338,34636,34701,45635,39753,32297,24225,25938,23105,24332,29320,21879,20548,17170,25439,29343,29221,25950,36247,34376,38306,32939,34098,41977,49488,45392,41019,22685,23552,25891,30738,29882,28333,30445,33212,44833,47933,48865,45111,44927,42756,43206,44014,43024,29823,27280,28046,32971,38770,35855,35806,37099,34921,27493,23038,17212,21899,19157,22655,20234,19061,18974,25775,21887,21608,14008,15822,13792,9946,7699,4983,4569,5968,8523,7766,10289,9647,11158,11266,10398,11270,8868,10606,10843,15761,11564,10055,10444]];   \/\/ [ [E..], [F..], [G..] ]\r\n      const seriesNames = [\"Position longue commerciale\",\"Position courte commerciale\",\"Position nette commerciale\"];\r\n\r\n      const canvas = document.getElementById('SILVER_chart149_148');\r\n      if (!canvas) return;\r\n      const ctx = canvas.getContext('2d');\r\n\r\n      const existing = window.Chart && Chart.getChart(canvas);\r\n      if (existing) existing.destroy();\r\n\r\n      const tsAll = (tsAllRaw || []).map(t => (typeof t === 'number' ? Math.floor(t) : null));\r\n      const indicesAll = labelsAll.map((_, i) => i);\r\n\r\n      const fmt = (n) => {\r\n        try {\r\n          if (n === null || n === undefined || Number.isNaN(n)) return '';\r\n          return Number(n).toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 2 });\r\n        } catch(e){ return n; }\r\n      };\r\n\r\n      const Crosshair2D = {\r\n        id: 'crosshair2d',\r\n        afterEvent(chart, args) {\r\n          const e = args.event;\r\n          const a = chart.chartArea;\r\n          if (!a) return;\r\n          if (e.type === 'mouseout') {\r\n            chart.$cross2d = null;\r\n            chart.draw();\r\n            return;\r\n          }\r\n          if (e.x >= a.left && e.x <= a.right && e.y >= a.top && e.y <= a.bottom) {\r\n            chart.$cross2d = { x: e.x, y: e.y };\r\n          } else {\r\n            chart.$cross2d = null;\r\n          }\r\n          chart.draw();\r\n        },\r\n        afterDraw(chart) {\r\n          const cross = chart.$cross2d;\r\n          if (!cross) return;\r\n          const { ctx, chartArea:a } = chart;\r\n          ctx.save();\r\n          ctx.strokeStyle = 'rgba(107,114,128,0.55)';\r\n          ctx.lineWidth   = 1;\r\n          ctx.setLineDash([4,3]);\r\n          ctx.beginPath();\r\n          ctx.moveTo(cross.x, a.top);\r\n          ctx.lineTo(cross.x, a.bottom);\r\n          ctx.stroke();\r\n          ctx.beginPath();\r\n          ctx.moveTo(a.left, cross.y);\r\n          ctx.lineTo(a.right, cross.y);\r\n          ctx.stroke();\r\n          ctx.restore();\r\n        }\r\n      };\r\n\r\n      const externalTooltipHandler = (context) => {\r\n        const { chart, tooltip } = context;\r\n        const area = chart.chartArea;\r\n        if (!area) return;\r\n\r\n        let tip = document.getElementById('__chart_exttip_left_SILVER_chart149_148');\r\n        if (!tip) {\r\n          tip = document.createElement('div');\r\n          tip.id = '__chart_exttip_left_SILVER_chart149_148';\r\n          tip.style.position = 'fixed';\r\n          tip.style.left = '0';\r\n          tip.style.top  = '0';\r\n          tip.style.opacity = '0';\r\n          tip.style.pointerEvents = 'none';\r\n          tip.style.zIndex = '99999';\r\n          document.body.appendChild(tip);\r\n        }\r\n        if (tooltip.opacity === 0) {\r\n          tip.style.opacity = 0;\r\n          return;\r\n        }\r\n\r\n        const title = (tooltip.title && tooltip.title[0]) ? tooltip.title[0] : '';\r\n        const rows = (tooltip.dataPoints || []).map(dp => {\r\n          const color = dp.dataset.borderColor || dp.dataset.backgroundColor || '#4b5563';\r\n          const label = dp.dataset.label || '';\r\n\r\n          let v = null;\r\n          if (typeof dp.raw === 'number') v = dp.raw;\r\n          else if (dp.parsed && typeof dp.parsed.y === 'number') v = dp.parsed.y;\r\n\r\n          const val = (v === null) ? '' : fmt(v);\r\n\r\n          return `<div style=\"display:flex;align-items:center;justify-content:space-between;gap:12px;\">\r\n                    <span style=\"display:flex;align-items:center;gap:8px;\">\r\n                      <span style=\"width:10px;height:10px;border-radius:2px;background:${color};\r\n                                   border:1px solid rgba(255,255,255,.9);display:inline-block;\"><\/span>\r\n                      <span>${label}<\/span>\r\n                    <\/span>\r\n                    <span style=\"font-weight:600;\">${val}<\/span>\r\n                  <\/div>`;\r\n        }).join('');\r\n\r\n        tip.innerHTML =\r\n          `<div style=\"box-shadow:0 10px 24px rgba(15,23,42,.25);border:1px solid rgba(148,163,184,.7);\r\n                       background:#ffffff;color:#111827;border-radius:12px;padding:10px 12px;\r\n                       min-width:220px;max-width:340px;font:12px system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\">\r\n             <div style=\"color:#0f172a;font-weight:800;margin-bottom:6px;\">${title}<\/div>\r\n             <div style=\"display:flex;flex-direction:column;gap:3px;\">${rows}<\/div>\r\n           <\/div>`;\r\n\r\n        const cr  = chart.canvas.getBoundingClientRect();\r\n        const box = tip.firstElementChild;\r\n        const boxW = box ? box.offsetWidth : 260;\r\n        const boxH = box ? box.offsetHeight : 140;\r\n        const pad  = 8;\r\n\r\n        const left = Math.max(8, cr.left + area.left - boxW - pad);\r\n        const topMin = cr.top + area.top;\r\n        const topMax = cr.top + area.bottom - boxH;\r\n        const rawTop = cr.top + tooltip.caretY - boxH\/2;\r\n        const top = Math.min(Math.max(rawTop, topMin), topMax);\r\n\r\n        tip.style.left = left + 'px';\r\n        tip.style.top  = top  + 'px';\r\n        tip.style.opacity = 1;\r\n      };\r\n\r\n      const lineColors = [\r\n        '#16a34a', \/\/ E long\r\n        '#dc2626', \/\/ F short\r\n      ];\r\n      const netColor   = '#60a5fa';                  \/\/ G net\r\n      const netBgColor = 'rgba(96,165,250,0.20)';\r\n\r\n      const buildDatasets = (idxList) => {\r\n        const ds = [];\r\n        (seriesAll || []).forEach((series, sIdx) => {\r\n          const data = idxList.map(i => series[i]);\r\n          const base = {\r\n            label: (seriesNames && seriesNames[sIdx]) ? seriesNames[sIdx] : ('S' + (sIdx+1)),\r\n            data: data,\r\n            type: 'line',\r\n            spanGaps: true,\r\n            pointRadius: 0,\r\n            tension: 0.18\r\n          };\r\n\r\n          const isNet = (sIdx === 2);\r\n          if (isNet) {\r\n            base.yAxisID         = 'yRight';\r\n            base.borderColor     = netColor;\r\n            base.backgroundColor = netBgColor;\r\n            base.borderWidth     = 2;\r\n            base.fill            = 'origin';\r\n            base.order           = 1;\r\n          } else {\r\n            base.yAxisID         = 'yLeft';\r\n            const color          = lineColors[sIdx] || '#4b5563';\r\n            base.borderColor     = color;\r\n            base.backgroundColor = color;\r\n            base.borderWidth     = 2;\r\n            base.fill            = false;\r\n            base.order           = 2;\r\n          }\r\n          ds.push(base);\r\n        });\r\n        return ds;\r\n      };\r\n\r\n      const cfg = {\r\n        type: 'line',\r\n        data: {\r\n          labels: labelsAll.slice(),\r\n          datasets: buildDatasets(indicesAll)\r\n        },\r\n        plugins: [Crosshair2D],\r\n        options: {\r\n          responsive: true,\r\n          maintainAspectRatio: false,\r\n          normalized: true,\r\n          interaction: { mode: 'index', intersect: false },\r\n          plugins: {\r\n            zoom: {\r\n              \/\/ \u2705 FIX: \ud0a4\ubcf4\ub4dc pan\uc744 chart.pan()\uc73c\ub85c \ucc98\ub9ac\ud558\ub824\uba74 pan\uc744 \"\ud65c\uc131\"\uc73c\ub85c \ub46c\uc57c resetZoom\uacfc \ub3d9\uae30\ud654\ub428\r\n              \/\/ - \ub9c8\uc6b0\uc2a4 pan\uc740 ALT \ub204\ub97c \ub54c\ub9cc \uac00\ub2a5(\uc0ac\uc2e4\uc0c1 \ud0a4\ubcf4\ub4dc \uc804\uc6a9 \uc720\uc9c0)\r\n              pan: { enabled: true, mode: 'x', modifierKey: 'alt' },\r\n              zoom: {\r\n                wheel: { enabled: true },\r\n                pinch: { enabled: true },\r\n                drag: {\r\n                  enabled: true,\r\n                  \/\/ \u2705 \ub4dc\ub798\uadf8\ub9cc\uc73c\ub85c \ubc15\uc2a4\uc90c (modifierKey \uc81c\uac70)\r\n                  mode: 'x',\r\n                  threshold: 8,\r\n                  backgroundColor: 'rgba(75,85,99,.10)',\r\n                  borderColor: 'rgba(75,85,99,.65)',\r\n                  borderWidth: 1\r\n                },\r\n                mode: 'x'\r\n              }\r\n            },\r\n            tooltip: {\r\n              enabled: false,\r\n              external: externalTooltipHandler,\r\n              mode: 'index',\r\n              intersect: false\r\n            },\r\n            legend: {\r\n              position: 'bottom',\r\n              labels: {\r\n                color: '#374151',\r\n                font: { size: 12, weight: '500' },\r\n                usePointStyle: true,\r\n                pointStyle: 'line'\r\n              }\r\n            },\r\n            decimation: { enabled: true, algorithm: 'min-max' },\r\n            title: { display: false }\r\n          },\r\n          scales: {\r\n            x: {\r\n              type: 'category',\r\n              title: {\r\n                display: true,\r\n                text: 'Date',\r\n                color: '#374151',\r\n                font: { weight: '600' }\r\n              },\r\n              ticks: {\r\n                autoSkip: true,\r\n                maxTicksLimit: (window.innerWidth < 768 ? 6 : 12),\r\n                maxRotation: 0,\r\n                minRotation: 0,\r\n                color: '#4b5563'\r\n              },\r\n              grid: { display: false }\r\n            },\r\n            yLeft: {\r\n              type: 'linear',\r\n              position: 'left',\r\n              title: {\r\n                display: true,\r\n                text: 'Positions longues\/courtes',\r\n                color: '#111827',\r\n                font: { weight: '600' }\r\n              },\r\n              ticks: { color: '#111827', callback: (v) => fmt(v) },\r\n              grid: { drawOnChartArea: true, color: 'rgba(209,213,219,0.6)' }\r\n            },\r\n            yRight: {\r\n              type: 'linear',\r\n              position: 'right',\r\n              title: {\r\n                display: true,\r\n                text: 'Positions nettes',\r\n                color: '#111827',\r\n                font: { weight: '600' }\r\n              },\r\n              ticks: { color: '#111827', callback: (v) => fmt(v) },\r\n              grid: { drawOnChartArea: false }\r\n            }\r\n          },\r\n          onHover: (evt) => {\r\n            if (!evt?.native) return;\r\n            \/\/ \u2705 \ub4dc\ub798\uadf8\uac00 \uae30\ubcf8 \ubc15\uc2a4\uc90c\uc774\ubbc0\ub85c \ucee4\uc11c\ub294 \ud56d\uc0c1 crosshair\ub85c\r\n            canvas.style.cursor = 'crosshair';\r\n          }\r\n        }\r\n      };\r\n\r\n      const chart = new Chart(ctx, cfg);\r\n\r\n      \/\/ \u2705 \ubc29\ud5a5\ud0a4 \ud32c(\uc88c\/\uc6b0 = \uc774\ub3d9, \uc0c1\/\ud558 = \ud06c\uac8c \uc774\ub3d9) \u2014 \uc548\uc815\uc801\uc73c\ub85c(\ud65c\uc131 \ucc28\ud2b8\ub9cc \ub3d9\uc791)\r\n      const ACTIVE_KEY = '__comidra_active_chart_canvas_id__';\r\n      const setActive = () => { try { window[ACTIVE_KEY] = canvas.id; } catch(e) {} };\r\n\r\n      canvas.addEventListener('pointerdown', setActive, { passive:true });\r\n      canvas.addEventListener('pointerenter', setActive, { passive:true });\r\n      canvas.addEventListener('mousedown', setActive, { passive:true });\r\n      canvas.addEventListener('touchstart', setActive, { passive:true });\r\n\r\n      \/\/ \u2705 FIX: \uae30\uc874 min\/max \uc9c1\uc811 \uc870\uc791 \ubc29\uc2dd \uc81c\uac70 \u2192 chart.pan() \uc0ac\uc6a9 (resetZoom \uc548\uc815\ud654)\r\n      const panByKey = (dir, fast) => {\r\n        try {\r\n          if (!chart || typeof chart.pan !== 'function') return;\r\n\r\n          const a = chart.chartArea || null;\r\n          const baseStep = a ? Math.max(24, Math.round(a.width * (fast ? 0.25 : 0.10))) : (fast ? 220 : 90);\r\n\r\n          \/\/ ArrowLeft(\uacfc\uac70\ub85c): dx +, ArrowRight(\ubbf8\ub798\ub85c): dx -\r\n          const dx = (dir < 0) ? baseStep : -baseStep;\r\n\r\n          chart.pan({ x: dx, y: 0 }, undefined, 'none');\r\n        } catch(e) {}\r\n      };\r\n\r\n      \/\/ \uac01 \ucc28\ud2b8\ubcc4\ub85c \ub9ac\uc2a4\ub108\uac00 \ubd99\uc5b4\ub3c4, \"\ud65c\uc131 \uce94\ubc84\uc2a4\"\ub9cc \ubc18\uc751\ud558\ub3c4\ub85d \uac00\ub4dc\r\n      window.addEventListener('keydown', (e) => {\r\n        try {\r\n          if ((window[ACTIVE_KEY] || null) !== canvas.id) return;\r\n          if (!e || !e.key) return;\r\n\r\n          const k = e.key;\r\n          if (k === 'ArrowLeft')  { e.preventDefault(); panByKey(-1, false); return; }\r\n          if (k === 'ArrowRight') { e.preventDefault(); panByKey( 1, false); return; }\r\n          if (k === 'ArrowUp')    { e.preventDefault(); panByKey(-1, true);  return; }\r\n          if (k === 'ArrowDown')  { e.preventDefault(); panByKey( 1, true);  return; }\r\n        } catch(err) {}\r\n      }, { capture:true });\r\n\r\n      const wrap     = canvas.closest('.silver149c-card') || canvas.closest('.silver149c-wrap') || document;\r\n      const btns     = wrap.querySelectorAll('.silver149c-btn[data-range]');\r\n      const resetBtn = wrap.querySelector('[data-action=\"reset\"]');\r\n      const pngBtn   = wrap.querySelector('[data-action=\"png\"]');\r\n\r\n      const setActiveBtn = (key) => {\r\n        btns.forEach(b => b.classList.toggle('is-active', (b.dataset.range === String(key))));\r\n      };\r\n\r\n      const computeIndicesForRange = (rangeKey) => {\r\n        if (rangeKey === 'all') return indicesAll;\r\n\r\n        const months = parseInt(rangeKey, 10);\r\n        if (!Number.isFinite(months) || months <= 0) return indicesAll;\r\n\r\n        const validTs = tsAll.filter(t => Number.isInteger(t) && t > 0);\r\n        if (!validTs.length) return indicesAll;\r\n\r\n        const latest = Math.max.apply(null, validTs);\r\n        const cutDate = new Date(latest * 1000);\r\n        cutDate.setMonth(cutDate.getMonth() - months);\r\n        const cutTs = Math.floor(cutDate.getTime() \/ 1000);\r\n\r\n        const keep = [];\r\n        tsAll.forEach((ts, idx) => {\r\n          if (Number.isInteger(ts) && ts >= cutTs) keep.push(idx);\r\n        });\r\n        return keep.length ? keep : indicesAll;\r\n      };\r\n\r\n      \/* ==========================================================\r\n       * \u2705 FIX(\uae30\uc874 \ucf54\ub4dc \uc720\uc9c0):\r\n       * - pan\/zoom\uc73c\ub85c \ub0a8\uc740 scales.min\/max \ub54c\ubb38\uc5d0 range \ubc84\ud2bc\uc774 \uba39\ud1b5\ub418\ub294 \ud604\uc0c1 \ubc29\uc9c0\r\n       * - \ubc94\uc704 \ubcc0\uacbd\/\ub9ac\uc14b \uc804\uc5d0 min\/max\ub97c \ucd08\uae30\ud654\r\n       * ========================================================== *\/\r\n      const clearScaleBounds = () => {\r\n        try {\r\n          const sc = chart && chart.options && chart.options.scales ? chart.options.scales : null;\r\n          if (!sc) return;\r\n          if (sc.x)     { sc.x.min = undefined; sc.x.max = undefined; }\r\n          if (sc.yLeft) { sc.yLeft.min = undefined; sc.yLeft.max = undefined; }\r\n          if (sc.yRight){ sc.yRight.min = undefined; sc.yRight.max = undefined; }\r\n        } catch(e) {}\r\n      };\r\n\r\n      const applyRange = (rangeKey) => {\r\n        \/\/ \u2705 FIX: \ubc94\uc704 \ubcc0\uacbd \uc804\uc5d0 \ucd95 bounds \ucd08\uae30\ud654(\ub0a8\uc544\uc788\uc73c\uba74 \uc778\ub371\uc2a4 \ucda9\ub3cc\ub85c \ubc84\ud2bc \ubb34\ubc18\uc751 \uac00\ub2a5)\r\n        clearScaleBounds();\r\n\r\n        const idxList   = computeIndicesForRange(rangeKey);\r\n        const newLabels = idxList.map(i => labelsAll[i]);\r\n\r\n        chart.data.labels   = newLabels;\r\n        chart.data.datasets = buildDatasets(idxList);\r\n\r\n        \/\/ \u2705 FIX: \ub370\uc774\ud130 \uad50\uccb4 \uc9c1\ud6c4\uc5d0\ub3c4 \ud55c\ubc88 \ub354 \ucd08\uae30\ud654(\ud655\uc2e4\ud558\uac8c)\r\n        clearScaleBounds();\r\n\r\n        chart.update();\r\n\r\n        setActiveBtn(rangeKey);\r\n        if (chart.resetZoom) chart.resetZoom();\r\n      };\r\n\r\n      \/\/ \ucd08\uae30 \ubc94\uc704: 1\ub144\r\n      applyRange('12');\r\n\r\n      btns.forEach(b => b.addEventListener('click', () => applyRange(b.dataset.range || 'all')));\r\n\r\n      if (resetBtn) resetBtn.addEventListener('click', () => {\r\n        \/\/ \u2705 FIX: reset\ub3c4 bounds \ub0a8\uc544\uc788\uc73c\uba74 \uaf2c\uc77c \uc218 \uc788\uc5b4 \ucd08\uae30\ud654\ub9cc \ucd94\uac00\r\n        clearScaleBounds();\r\n        try { chart.update('none'); } catch(e) {}\r\n        if (chart.resetZoom) chart.resetZoom();\r\n      });\r\n\r\n      if (pngBtn) {\r\n        pngBtn.addEventListener('click', () => {\r\n          try {\r\n            const url = chart.toBase64Image('image\/png', 1.0);\r\n            const a = document.createElement('a');\r\n            a.href = url;\r\n            a.download = 'SILVER_chart149.png';\r\n            a.click();\r\n          } catch(e) {}\r\n        });\r\n      }\r\n\r\n      \/\/ \u2705 FIX: \ub354\ube14\ud074\ub9ad reset\ub3c4 bounds \uc794\uc7ac \ubc29\uc9c0(\ud0a4\ubcf4\ub4dc pan \ud6c4\uc5d0\ub3c4 \uc989\uc2dc \ubcf5\uad6c)\r\n      canvas.addEventListener('dblclick', () => {\r\n        clearScaleBounds();\r\n        if (chart && chart.resetZoom) chart.resetZoom();\r\n      });\r\n\r\n      ['mouseleave','scroll','touchstart','pointerdown','visibilitychange','orientationchange','resize'].forEach(evt => {\r\n        window.addEventListener(evt, () => {\r\n          const t = document.getElementById('__chart_exttip_left_SILVER_chart149_148');\r\n          if (t) t.style.opacity = 0;\r\n        }, { passive:true });\r\n      });\r\n    });\r\n    <\/script>\r\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-61bfe15 e-con-full e-flex e-con e-child\" data-id=\"61bfe15\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-acf37d9 elementor-widget elementor-widget-text-editor\" data-id=\"acf37d9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The Managed Money (Long\/Short) chart focuses only on professional managers such as funds\/hedge funds within those big players. It helps you see more clearly whether the \u201ccore money\u201d moving the market is leaning bullish (more longs) or bearish (more shorts).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2092a1c e-flex e-con-boxed e-con e-parent\" data-id=\"2092a1c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7124829 elementor-widget elementor-widget-shortcode\" data-id=\"7124829\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div id=\"s151_wrap_150\" class=\"s151-wrap\">\r\n      <div class=\"s151-card\">\r\n        <div class=\"s151-controls\">\r\n          <strong class=\"s151-range-label\">Plage :<\/strong>\r\n          <button type=\"button\" class=\"s151-btn\" data-range=\"3\">3M<\/button>\r\n          <button type=\"button\" class=\"s151-btn\" data-range=\"12\">1Y<\/button>\r\n          <button type=\"button\" class=\"s151-btn\" data-range=\"60\">5Y<\/button>\r\n          <button type=\"button\" class=\"s151-btn\" data-range=\"120\">10Y<\/button>\r\n          <button type=\"button\" class=\"s151-btn\" data-range=\"all\">ALL<\/button>\r\n\r\n          <span class=\"s151-flex-spacer\"><\/span>\r\n          <em class=\"s151-hint\">Molette\/Pincer=Zoom \u00b7 Glisser=Zoom bo\u00eete \u00b7 Double-clic=R\u00e9initialiser \u00b7 Fl\u00e8ches=Pan<\/em>\r\n\r\n          <button type=\"button\" class=\"s151-btn s151-btn-ghost\" data-action=\"reset\">R\u00e9initialiser le zoom<\/button>\r\n          <button type=\"button\" class=\"s151-btn s151-btn-ghost\" data-action=\"png\">Enregistrer PNG<\/button>\r\n        <\/div>\r\n\r\n        <div class=\"s151-title\">SLV ETF (Plus grand fonds argent)<\/div>\r\n\r\n        <div class=\"s151-panels\">\r\n          <div class=\"s151-panel s151-panel-top\">\r\n            <div class=\"s151-panel-label\">Avoirs (G) \/ Prix (D)<\/div>\r\n            <canvas id=\"SILVER151_top_150\" tabindex=\"0\"><\/canvas>\r\n          <\/div>\r\n\r\n          <div class=\"s151-panel s151-panel-bot\">\r\n            <div class=\"s151-panel-label\">Flux (D)<\/div>\r\n            <canvas id=\"SILVER151_bot_150\" tabindex=\"0\"><\/canvas>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"s151-source-wrap\">\r\n          <span class=\"s151-source-pill\">\r\n            <a href=\"https:\/\/www.blackrock.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">BlackRock<\/a>          <\/span>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <style>\r\n      .s151-wrap{\r\n        overflow-x:auto;\r\n        -webkit-overflow-scrolling:touch;\r\n        padding:16px;\r\n        border-radius:18px;\r\n        background:radial-gradient(circle at top left, #e0f2fe, #fef3c7);\r\n        box-shadow:0 18px 32px rgba(15,23,42,0.22);\r\n        margin:8px 0;\r\n      }\r\n      .s151-card{\r\n        background:#ffffff;\r\n        border-radius:14px;\r\n        padding:14px 16px 16px;\r\n        box-shadow:0 6px 18px rgba(15,23,42,0.18);\r\n        border:1px solid rgba(59,130,246,0.35);\r\n      }\r\n      .s151-controls{\r\n        display:flex;\r\n        gap:6px;\r\n        align-items:center;\r\n        margin:0 0 8px 0;\r\n        flex-wrap:wrap;\r\n        min-width:720px;\r\n      }\r\n      .s151-range-label{\r\n        font:600 13px system-ui,-apple-system,Segoe UI,Roboto;\r\n        color:#4b5563;\r\n      }\r\n      .s151-flex-spacer{flex:1 1 auto;}\r\n      .s151-btn{\r\n        padding:6px 10px;\r\n        border-radius:999px;\r\n        border:1px solid rgba(37,99,235,0.9);\r\n        background:linear-gradient(135deg,#eff6ff,#e0f2fe);\r\n        font:500 12px system-ui,-apple-system,Segoe UI,Roboto;\r\n        cursor:pointer;\r\n        color:#1d4ed8;\r\n        box-shadow:0 1px 2px rgba(15,23,42,0.06);\r\n        transition:background .15s ease, box-shadow .15s ease, transform .05s ease;\r\n      }\r\n      .s151-btn:hover{\r\n        background:linear-gradient(135deg,#dbeafe,#bfdbfe);\r\n        box-shadow:0 2px 4px rgba(15,23,42,0.08);\r\n        transform:translateY(-0.5px);\r\n      }\r\n      .s151-btn.is-active{\r\n        background:linear-gradient(135deg,#2563eb,#1d4ed8);\r\n        color:#e5e7eb;\r\n        border-color:#1d4ed8;\r\n        box-shadow:0 2px 7px rgba(37,99,235,0.55);\r\n      }\r\n      .s151-btn-ghost{\r\n        background:#ffffff;\r\n        border-color:rgba(209,213,219,0.9);\r\n        color:#374151;\r\n      }\r\n      .s151-hint{\r\n        font-size:12px;\r\n        color:#6b7280;\r\n      }\r\n      .s151-title{\r\n        margin:0 0 10px 0;\r\n        font:800 18px system-ui,-apple-system,Segoe UI,Roboto;\r\n        color:#111827;\r\n      }\r\n      .s151-panels{\r\n        min-width:720px;\r\n        display:flex;\r\n        flex-direction:column;\r\n        gap:10px;\r\n      }\r\n      .s151-panel{\r\n        position:relative;\r\n        background:#ffffff;\r\n        border-radius:12px;\r\n        border:1px solid rgba(148,163,184,0.45);\r\n        overflow:hidden;\r\n      }\r\n      .s151-panel-label{\r\n        position:absolute;\r\n        left:10px;\r\n        top:8px;\r\n        z-index:2;\r\n        font:700 12px system-ui,-apple-system,Segoe UI,Roboto;\r\n        color:#111827;\r\n        background:rgba(255,255,255,0.9);\r\n        border:1px solid rgba(0,0,0,0.06);\r\n        border-radius:999px;\r\n        padding:3px 10px;\r\n        box-shadow:0 2px 6px rgba(15,23,42,0.08);\r\n        pointer-events:none;\r\n      }\r\n      .s151-panel canvas{\r\n        width:100%;\r\n        height:100%;\r\n        display:block;\r\n        user-select:none;\r\n        -webkit-user-select:none;\r\n        -webkit-user-drag:none;\r\n        touch-action:none;\r\n        cursor:crosshair;\r\n        outline:none !important;\r\n        box-shadow:none !important;\r\n        -webkit-tap-highlight-color:transparent;\r\n      }\r\n      .s151-panel canvas:focus,\r\n      .s151-panel canvas:focus-visible{\r\n        outline:none !important;\r\n        box-shadow:none !important;\r\n      }\r\n      .s151-panel-top{ height:320px; min-height:320px; }\r\n      .s151-panel-bot{ height:220px; min-height:220px; }\r\n\r\n      .s151-source-wrap{\r\n        display:flex;\r\n        justify-content:flex-end;\r\n        min-width:720px;\r\n        margin-top:8px;\r\n      }\r\n      .s151-source-pill{\r\n        display:inline-block;\r\n        padding:4px 10px;\r\n        border-radius:999px;\r\n        background:rgba(255,255,255,0.96);\r\n        border:1px solid rgba(0,0,0,0.06);\r\n        font:11px system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\r\n        color:#6b7280;\r\n        box-shadow:0 2px 6px rgba(15,23,42,0.12);\r\n      }\r\n      .s151-source-pill a{ color:inherit; text-decoration:none; font-weight:600; }\r\n      .s151-source-pill a:hover{ text-decoration:underline; }\r\n\r\n      @media (max-width:768px){\r\n        .s151-wrap{ padding:10px; }\r\n        .s151-controls{ min-width:0; }\r\n        .s151-panels{ min-width:0; }\r\n        .s151-source-wrap{ min-width:0; }\r\n        .s151-panel-top{ height:300px; min-height:300px; }\r\n        .s151-panel-bot{ height:200px; min-height:200px; }\r\n      }\r\n    <\/style>\r\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-04ca63b e-con-full e-flex e-con e-child\" data-id=\"04ca63b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-29b3532 elementor-widget elementor-widget-text-editor\" data-id=\"29b3532\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>SLV is a major exchange-traded fund (ETF) designed to track the price of silver, letting you invest in silver by buying and selling it as easily as a stock. This chart shows the SLV price (black) along with the flow of money going into and out of SLV (net inflows, blue) and the amount of silver the fund actually holds (holdings, green), so you can quickly see whether investment demand is rising or falling and how the price moves with that flow.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6b95c69 e-flex e-con-boxed e-con e-parent\" data-id=\"6b95c69\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5c0bfd2 elementor-widget elementor-widget-shortcode\" data-id=\"5c0bfd2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div class=\"silver152-wrap\">\r\n      <div class=\"s152-card\">\r\n        <div class=\"s152-controls\">\r\n          <strong class=\"s152-range-label\">Plage :<\/strong>\r\n          <button type=\"button\" class=\"s152-btn\" data-range=\"3m\">3M<\/button>\r\n          <button type=\"button\" class=\"s152-btn\" data-range=\"1y\">1Y<\/button>\r\n          <button type=\"button\" class=\"s152-btn\" data-range=\"all\">ALL<\/button>\r\n          <span class=\"s152-flex-spacer\"><\/span>\r\n          <em class=\"s152-hint\">Molette\/Pincer=Zoom \u00b7 Glisser=Zoom bo\u00eete \u00b7 Double-clic=R\u00e9initialiser \u00b7 Fl\u00e8ches=Pan<\/em>\r\n          <button type=\"button\" class=\"s152-btn s152-btn-ghost\" data-action=\"reset\">R\u00e9initialiser le zoom<\/button>\r\n          <button type=\"button\" class=\"s152-btn s152-btn-ghost\" data-action=\"png\">Enregistrer PNG<\/button>\r\n        <\/div>\r\n\r\n        <div class=\"s152-title\">Prix de l\u2019argent et stocks (SHFE\/COMEX)<\/div>\r\n\r\n        <div class=\"s152-canvas-wrap\">\r\n          <canvas id=\"silver_chart152_151_711da55c-46df-4ebe-b21d-5034dc8ccda7\" loading=\"lazy\" tabindex=\"0\"><\/canvas>\r\n        <\/div>\r\n\r\n        <div class=\"s152-source-wrap\">\r\n          <span class=\"s152-source-pill\">Source : <a href=\"https:\/\/www.shfe.com.cn\/\" target=\"_blank\" rel=\"noopener noreferrer\">SHFE<\/a> &amp; <a href=\"https:\/\/www.cmegroup.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">COMEX<\/a><\/span>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <style>\r\n      .silver152-wrap{\r\n        overflow-x:auto;\r\n        -webkit-overflow-scrolling:touch;\r\n        padding:16px;\r\n        border-radius:18px;\r\n        background:linear-gradient(135deg,#f1f5f9,#e2e8f0);\r\n        box-shadow:0 18px 32px rgba(0,0,0,0.18);\r\n        margin:8px 0;\r\n      }\r\n      .s152-card{\r\n        background:#ffffff;\r\n        border-radius:14px;\r\n        padding:14px 16px 16px;\r\n        box-shadow:0 6px 18px rgba(0,0,0,0.12);\r\n        border:1px solid rgba(148,163,184,0.55);\r\n        min-width:640px;\r\n      }\r\n      .s152-controls{\r\n        display:flex;\r\n        gap:6px;\r\n        align-items:center;\r\n        margin:0 0 8px 0;\r\n        flex-wrap:wrap;\r\n      }\r\n      .s152-range-label{\r\n        font:600 13px system-ui,-apple-system,Segoe UI,Roboto;\r\n        color:#4b5563;\r\n      }\r\n      .s152-flex-spacer{flex:1 1 auto;}\r\n      .s152-btn{\r\n        padding:6px 10px;\r\n        border-radius:999px;\r\n        border:1px solid rgba(100,116,139,0.95);\r\n        background:linear-gradient(135deg,#f8fafc,#eef2ff);\r\n        font:500 12px system-ui,-apple-system,Segoe UI,Roboto;\r\n        cursor:pointer;\r\n        color:#334155;\r\n        box-shadow:0 1px 2px rgba(0,0,0,0.05);\r\n        transition:background .15s ease,box-shadow .15s ease,transform .05s ease;\r\n      }\r\n      .s152-btn:hover{\r\n        background:linear-gradient(135deg,#eef2ff,#e2e8f0);\r\n        box-shadow:0 2px 4px rgba(0,0,0,0.08);\r\n        transform:translateY(-0.5px);\r\n      }\r\n      .s152-btn.is-active{\r\n        background:linear-gradient(135deg,#334155,#0f172a);\r\n        color:#e5e7eb;\r\n        border-color:#0f172a;\r\n        box-shadow:0 2px 6px rgba(15,23,42,0.35);\r\n      }\r\n      .s152-btn-ghost{\r\n        background:#ffffff;\r\n        border-color:rgba(209,213,219,0.9);\r\n        color:#374151;\r\n      }\r\n      .s152-hint{\r\n        font-size:12px;\r\n        color:#6b7280;\r\n      }\r\n      .s152-title{\r\n        font-weight:800;\r\n        font-size:18px;\r\n        color:#0f172a;\r\n        margin:0 0 6px 0;\r\n      }\r\n      .s152-canvas-wrap{\r\n        height:420px;\r\n        position:relative;\r\n        background:#ffffff;\r\n        border-radius:12px;\r\n        border:1px solid rgba(148,163,184,0.45);\r\n        overflow:hidden;\r\n      }\r\n      .s152-canvas-wrap canvas{\r\n        width:100%;\r\n        height:100%;\r\n        display:block;\r\n        user-select:none;\r\n        -webkit-user-select:none;\r\n        -webkit-user-drag:none;\r\n        touch-action:none;\r\n        cursor:default;\r\n\r\n        outline:none !important;\r\n        box-shadow:none !important;\r\n        -webkit-tap-highlight-color:transparent;\r\n      }\r\n      .s152-canvas-wrap canvas:focus,\r\n      .s152-canvas-wrap canvas:focus-visible{\r\n        outline:none !important;\r\n        box-shadow:none !important;\r\n      }\r\n      .s152-source-wrap{\r\n        display:flex;\r\n        justify-content:flex-end;\r\n        margin-top:6px;\r\n      }\r\n      .s152-source-pill{\r\n        display:inline-block;\r\n        padding:4px 10px;\r\n        border-radius:999px;\r\n        background:rgba(255,255,255,0.96);\r\n        border:1px solid rgba(0,0,0,0.06);\r\n        font:11px system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\r\n        color:#6b7280;\r\n        box-shadow:0 2px 6px rgba(0,0,0,0.08);\r\n      }\r\n      .s152-source-pill a{\r\n        color:inherit;\r\n        text-decoration:none;\r\n        font-weight:600;\r\n      }\r\n      .s152-source-pill a:hover{\r\n        text-decoration:underline;\r\n      }\r\n      @media (max-width:768px){\r\n        .silver152-wrap{padding:10px;}\r\n        .s152-card{min-width:0;}\r\n        .s152-canvas-wrap{height:360px;}\r\n      }\r\n    <\/style>\r\n\r\n    <script>\r\n    (function(){\r\n      const elId   = \"silver_chart152_151_711da55c-46df-4ebe-b21d-5034dc8ccda7\";\r\n      const labelsAll = [\"2024-07-01\",\"2024-07-02\",\"2024-07-03\",\"2024-07-04\",\"2024-07-05\",\"2024-07-08\",\"2024-07-09\",\"2024-07-10\",\"2024-07-11\",\"2024-07-12\",\"2024-07-15\",\"2024-07-16\",\"2024-07-17\",\"2024-07-18\",\"2024-07-19\",\"2024-07-22\",\"2024-07-23\",\"2024-07-24\",\"2024-07-25\",\"2024-07-26\",\"2024-07-29\",\"2024-07-30\",\"2024-07-31\",\"2024-08-01\",\"2024-08-02\",\"2024-08-05\",\"2024-08-06\",\"2024-08-07\",\"2024-08-08\",\"2024-08-09\",\"2024-08-12\",\"2024-08-13\",\"2024-08-14\",\"2024-08-15\",\"2024-08-16\",\"2024-08-19\",\"2024-08-20\",\"2024-08-21\",\"2024-08-22\",\"2024-08-23\",\"2024-08-26\",\"2024-08-27\",\"2024-08-28\",\"2024-08-29\",\"2024-08-30\",\"2024-09-03\",\"2024-09-04\",\"2024-09-05\",\"2024-09-06\",\"2024-09-09\",\"2024-09-10\",\"2024-09-11\",\"2024-09-12\",\"2024-09-13\",\"2024-09-16\",\"2024-09-17\",\"2024-09-18\",\"2024-09-19\",\"2024-09-20\",\"2024-09-23\",\"2024-09-24\",\"2024-09-25\",\"2024-09-26\",\"2024-09-30\",\"2024-10-01\",\"2024-10-02\",\"2024-10-03\",\"2024-10-04\",\"2024-10-07\",\"2024-10-08\",\"2024-10-09\",\"2024-10-10\",\"2024-10-11\",\"2024-10-14\",\"2024-10-15\",\"2024-10-16\",\"2024-10-17\",\"2024-10-18\",\"2024-10-21\",\"2024-10-22\",\"2024-10-23\",\"2024-10-24\",\"2024-10-25\",\"2024-10-28\",\"2024-10-29\",\"2024-10-30\",\"2024-10-31\",\"2024-11-01\",\"2024-11-04\",\"2024-11-05\",\"2024-11-06\",\"2024-11-08\",\"2024-11-11\",\"2024-11-12\",\"2024-11-13\",\"2024-11-14\",\"2024-11-15\",\"2024-11-18\",\"2024-11-19\",\"2024-11-20\",\"2024-11-21\",\"2024-11-22\",\"2024-11-25\",\"2024-11-26\",\"2024-11-27\",\"2024-11-28\",\"2024-11-29\",\"2024-12-02\",\"2024-12-03\",\"2024-12-04\",\"2024-12-06\",\"2024-12-09\",\"2024-12-10\",\"2024-12-11\",\"2024-12-12\",\"2024-12-13\",\"2024-12-16\",\"2024-12-17\",\"2024-12-18\",\"2024-12-19\",\"2024-12-20\",\"2024-12-23\",\"2024-12-24\",\"2024-12-26\",\"2024-12-27\",\"2024-12-30\",\"2024-12-31\",\"2025-01-02\",\"2025-01-03\",\"2025-01-06\",\"2025-01-07\",\"2025-01-08\",\"2025-01-09\",\"2025-01-10\",\"2025-01-14\",\"2025-01-15\",\"2025-01-16\",\"2025-01-17\",\"2025-01-20\",\"2025-01-21\",\"2025-01-22\",\"2025-01-23\",\"2025-01-24\",\"2025-01-27\",\"2025-01-28\",\"2025-01-29\",\"2025-01-30\",\"2025-01-31\",\"2025-02-03\",\"2025-02-04\",\"2025-02-05\",\"2025-02-06\",\"2025-02-07\",\"2025-02-14\",\"2025-02-17\",\"2025-02-18\",\"2025-02-19\",\"2025-02-20\",\"2025-02-21\",\"2025-02-24\",\"2025-02-25\",\"2025-02-26\",\"2025-02-27\",\"2025-02-28\",\"2025-03-03\",\"2025-03-04\",\"2025-03-07\",\"2025-03-10\",\"2025-03-11\",\"2025-03-12\",\"2025-03-13\",\"2025-03-19\",\"2025-03-21\",\"2025-03-24\",\"2025-03-25\",\"2025-03-27\",\"2025-03-28\",\"2025-03-31\",\"2025-04-01\",\"2025-04-02\",\"2025-04-03\",\"2025-04-04\",\"2025-04-07\",\"2025-04-08\",\"2025-04-09\",\"2025-04-10\",\"2025-04-11\",\"2025-04-14\",\"2025-04-15\",\"2025-04-16\",\"2025-04-17\",\"2025-04-18\",\"2025-04-21\",\"2025-04-22\",\"2025-04-25\",\"2025-04-29\",\"2025-04-30\",\"2025-05-02\",\"2025-05-05\",\"2025-05-06\",\"2025-05-07\",\"2025-05-09\",\"2025-05-12\",\"2025-05-13\",\"2025-05-14\",\"2025-05-15\",\"2025-05-16\",\"2025-05-19\",\"2025-05-20\",\"2025-05-21\",\"2025-05-22\",\"2025-05-23\",\"2025-05-26\",\"2025-05-27\",\"2025-05-28\",\"2025-05-29\",\"2025-05-30\",\"2025-06-02\",\"2025-06-03\",\"2025-06-06\",\"2025-06-11\",\"2025-06-12\",\"2025-06-13\",\"2025-06-16\",\"2025-06-17\",\"2025-06-18\",\"2025-06-19\",\"2025-06-20\",\"2025-06-23\",\"2025-06-24\",\"2025-06-26\",\"2025-06-27\",\"2025-06-30\",\"2025-07-01\",\"2025-07-02\",\"2025-07-03\",\"2025-07-04\",\"2025-07-07\",\"2025-07-08\",\"2025-07-09\",\"2025-07-10\",\"2025-07-11\",\"2025-07-14\",\"2025-07-15\",\"2025-07-16\",\"2025-07-17\",\"2025-07-18\",\"2025-07-21\",\"2025-07-22\",\"2025-07-23\",\"2025-07-25\",\"2025-07-28\",\"2025-07-29\",\"2025-07-30\",\"2025-07-31\",\"2025-08-01\",\"2025-08-04\",\"2025-08-05\",\"2025-08-06\",\"2025-08-07\",\"2025-08-08\",\"2025-08-11\",\"2025-08-12\",\"2025-08-13\",\"2025-08-14\",\"2025-08-15\",\"2025-08-18\",\"2025-08-19\",\"2025-08-20\",\"2025-08-21\",\"2025-08-22\",\"2025-08-25\",\"2025-08-26\",\"2025-08-27\",\"2025-08-28\",\"2025-08-29\",\"2025-09-01\",\"2025-09-02\",\"2025-09-03\",\"2025-09-05\",\"2025-09-08\",\"2025-09-09\",\"2025-09-10\",\"2025-09-11\",\"2025-09-12\",\"2025-09-15\",\"2025-09-16\",\"2025-09-17\",\"2025-09-18\",\"2025-09-19\",\"2025-09-22\",\"2025-09-23\",\"2025-09-24\",\"2025-09-25\",\"2025-09-26\",\"2025-09-29\",\"2025-09-30\",\"2025-10-09\",\"2025-10-10\",\"2025-10-16\",\"2025-10-17\",\"2025-10-20\",\"2025-10-22\",\"2025-10-24\",\"2025-10-27\",\"2025-10-28\",\"2025-10-29\",\"2025-10-31\",\"2025-11-03\",\"2025-11-04\",\"2025-11-11\",\"2025-11-12\",\"2025-11-13\",\"2025-11-14\",\"2025-11-17\",\"2025-11-18\",\"2025-11-19\",\"2025-11-21\",\"2025-11-25\",\"2025-11-26\",\"2025-11-28\",\"2025-12-01\",\"2025-12-02\",\"2025-12-03\",\"2025-12-04\",\"2025-12-05\",\"2025-12-08\",\"2025-12-10\",\"2025-12-11\",\"2025-12-12\",\"2025-12-15\",\"2025-12-16\",\"2025-12-17\",\"2025-12-19\",\"2025-12-22\",\"2025-12-23\",\"2025-12-24\",\"2025-12-26\",\"2025-12-29\",\"2025-12-30\",\"2025-12-31\",\"2026-01-05\",\"2026-01-06\",\"2026-01-07\",\"2026-01-08\",\"2026-01-09\",\"2026-01-12\",\"2026-01-13\",\"2026-01-14\",\"2026-01-15\",\"2026-01-16\",\"2026-01-19\",\"2026-01-20\",\"2026-01-21\",\"2026-01-22\",\"2026-01-23\",\"2026-01-26\",\"2026-01-27\",\"2026-01-28\",\"2026-01-29\",\"2026-01-30\",\"2026-02-02\",\"2026-02-03\",\"2026-02-04\",\"2026-02-05\",\"2026-02-06\",\"2026-02-09\",\"2026-02-10\",\"2026-02-11\",\"2026-02-12\",\"2026-02-13\",\"2026-02-17\",\"2026-02-18\",\"2026-02-19\",\"2026-02-20\",\"2026-02-23\",\"2026-02-24\",\"2026-02-25\",\"2026-02-26\",\"2026-02-27\",\"2026-03-02\",\"2026-03-03\",\"2026-03-04\",\"2026-03-05\",\"2026-03-06\",\"2026-03-09\",\"2026-03-10\",\"2026-03-11\",\"2026-03-12\",\"2026-03-13\",\"2026-03-16\",\"2026-03-17\",\"2026-03-18\",\"2026-03-19\",\"2026-03-20\",\"2026-03-23\",\"2026-03-24\",\"2026-03-27\",\"2026-03-30\",\"2026-03-31\",\"2026-04-02\",\"2026-04-03\",\"2026-04-07\",\"2026-04-08\",\"2026-04-09\",\"2026-04-10\",\"2026-04-13\",\"2026-04-14\",\"2026-04-15\",\"2026-04-16\",\"2026-04-17\",\"2026-04-20\",\"2026-04-21\",\"2026-04-22\",\"2026-04-23\",\"2026-04-24\",\"2026-04-27\",\"2026-04-28\",\"2026-04-29\",\"2026-04-30\",\"2026-05-01\",\"2026-05-04\",\"2026-05-05\",\"2026-05-06\",\"2026-05-07\",\"2026-05-08\",\"2026-05-11\",\"2026-05-12\",\"2026-05-13\",\"2026-05-14\",\"2026-05-15\",\"2026-05-18\",\"2026-05-19\",\"2026-05-20\",\"2026-05-21\",\"2026-05-22\",\"2026-05-25\",\"2026-05-26\",\"2026-05-27\",\"2026-05-28\",\"2026-05-29\",\"2026-06-01\",\"2026-06-02\",\"2026-06-03\",\"2026-06-04\",\"2026-06-05\",\"2026-06-08\",\"2026-06-09\",\"2026-06-10\"];\r\n      const priceAll  = [29.613,29.658,30.842,30.65,31.689,30.913,31.056,31.014,31.671,31.162,30.936,31.458,30.377,30.224,29.299,29.321,29.331,29.316,27.975,28.02,27.866,28.685,29.073,28.607,28.524,27.338,27.341,27.069,27.733,27.715,28.134,27.916,27.469,28.548,28.984,29.44,29.659,29.676,29.185,29.963,30.155,30.125,29.34,29.827,29.003,28.208,28.421,28.96,28.048,28.521,28.484,28.793,29.967,30.929,30.99,30.834,30.542,31.281,31.36,30.94,32.28,31.87,32.195,31.458,31.742,31.92,32.464,32.394,32.004,30.6,30.67,31.24,31.755,31.316,31.756,31.974,31.774,33.234,34.078,35.041,33.839,33.795,33.779,34.001,34.441,34.234,32.953,32.837,32.765,32.934,31.485,31.607,30.768,30.915,30.817,30.724,30.586,31.379,31.417,31.159,31.099,31.495,30.396,30.567,30.455,null,30.987,30.742,31.363,31.786,31.462,32.481,32.612,32.823,31.482,30.892,30.927,30.796,30.61,29.282,29.837,30.06,30.152,30.234,29.819,29.412,29.242,29.9,30.065,30.583,30.686,30.69,31.015,31.314,30.351,31.531,31.725,31.141,null,31.496,31.42,30.712,31.055,30.283,30.755,31.264,32.493,32.265,32.526,33.022,32.976,32.626,32.443,32.855,null,33.373,33.043,33.486,33.012,32.763,31.976,32.419,32.11,31.496,32.31,32.381,32.809,32.53,33.147,33.743,34.306,34.205,33.486,33.45,34.023,34.905,34.814,34.611,34.309,34.65,31.97,29.23,29.604,29.686,30.415,30.759,31.91,32.167,32.297,32.98,32.47,null,32.521,32.905,33.01,33.577,32.828,32.259,32.474,33.381,32.791,32.914,32.624,33.1,32.444,32.68,32.354,32.507,33.174,33.646,33.219,33.609,33.58,33.311,33.16,33.423,33.029,34.694,34.633,36.139,36.261,36.295,36.355,36.448,37.151,36.913,36.368,36.017,36.153,35.701,36.757,36.37,36.172,36.397,36.727,37.084,37.135,36.904,36.749,36.63,37.305,38.955,38.742,38.11,38.119,38.303,38.464,39.334,39.555,39.503,38.365,38.043,38.101,37.739,36.712,36.929,37.328,37.823,37.902,38.294,38.542,37.787,38.002,38.602,38.069,37.975,38.029,37.332,37.773,38.079,39.054,39.051,38.955,39.056,39.703,40.723,41.653,41.592,42.06,41.552,41.902,41.341,41.6,42.149,42.83,42.962,42.917,42.152,42.118,42.952,44.044,44.437,44.02,44.933,46.466,47.016,46.64,47.157,47.247,53.296,50.104,51.384,47.681,48.586,46.594,47.149,47.734,48.16,48.049,47.291,50.62,53.33,53.07,50.59,50.63,50.45,50.79,49.87,50.93,52.92,56.45,58.42,57.98,57.92,56.85,58.42,57.78,60.38,63.93,61.36,62.94,62.7,66.24,66.85,67.91,70.49,71.03,76.49,69.86,77.37,70.13,76.16,80.53,77.14,74.72,78.88,84.61,85.88,90.87,91.88,88.09,93.93,94.21,92.21,95.98,100.93,115.08,105.52,113.11,114.04,78.29,76.78,83.04,84.17,76.53,76.74,82.07,80.22,83.75,75.55,77.85,73.45,77.51,77.57,82.28,86.52,87.46,90.94,87,92.68,88.28,82.92,82.63,81.69,83.82,84.03,89.08,85.07,84.67,80.91,80.26,79.53,77.24,70.9,69.36,69.05,69.27,69.54,70.32,74.69,72.74,73.17,71.83,75.22,76.28,76.32,75.52,79.39,79.49,78.61,81.74,79.95,76.41,77.89,75.46,76.38,75,73.21,71.57,73.53,75.95,73.07,73.11,76.81,79.7,80.39,85.49,85.13,88.89,84.91,77.16,77.07,74.83,75.85,76.41,75.89,78.01,76.31,74.6,75.64,75.62,75.01,75.31,73.48,73.78,68.94,68.43,64.98,64.66];\r\n      const shfeAll   = [null,null,null,null,null,null,null,null,35644439.6,35730700.05,36501674.95,36304301.52,35766773.19,36190134.22,35683470.6,35694466.16,35232781.44,35022354.8,34674419.42,34114064.06,33529434.88,33641480.23,33462432.73,33289526.01,32884973.17,32951428.76,32697437.86,31784838.92,30595679.26,30002465.83,29754712.18,29754615.73,30845554.86,30568415.43,30145504.51,30473602.87,29812262.02,29673628,29884504.74,29367938.7,29359354.45,30311498.81,30568158.22,30877416.25,31645594.04,32130845.26,32851954.35,32580602.05,32452384.87,32452384.87,32475372.66,32327029.11,32033171.29,31718704.84,31718704.84,31718704.84,31572933.35,31938133.68,32030342.02,31937780.02,32548001.19,32960527.42,33426070.23,35738866.34,35738866.34,35738866.34,35738866.34,35738866.34,35738866.34,36172837.12,36278613.07,36242893.59,35773974.95,36694868.79,37948008.44,37779313.47,38165379.63,38613882.55,39683762.94,40170911.05,39905538.79,39369971.66,39369971.66,40737278.61,42065425.95,42065425.95,42760171.43,42708312.27,42727088.31,42224797.2,41971159.96,41513461.93,41385019.7,40704227.64,39937368.03,40156025.26,39881168.53,39228669.12,39225421.9,39398714.42,38885492.06,38966447.64,38234889.55,38028578.21,38241062.49,38637352.59,38204282.04,37804262.45,38202835.25,41721830.92,42116031.22,41995594.52,41656243.39,41620813.27,41077337.05,40546881.88,40219555.13,40854371.62,40714965.99,40462839.83,39837861.47,39561075.69,40357128.18,42831578.24,43930169.25,44310512.58,45306446.26,45752055.6,45539121.21,44813350.26,44025721.27,43698330.21,43073544.76,42262413.57,42020125.54,41255645.09,40974551.12,40785054.61,41605605.97,41810824.18,42783930.83,43498256.12,44629898.1,45121354.41,45121354.41,45121354.41,45121354.41,45121354.41,45121354.41,45121354.41,45110616.06,45589887.24,45967754.96,45892554.37,46751172.2,46338838.88,40107766.99,40873308.41,41016765.05,42316748.33,42463452.19,41841399.54,41589176.94,41059782.74,41160478.88,41006283.9,39449062.49,39290527.16,39071451.97,38399919.33,38381336.2,38486758.5,38642400.26,37815258,36925743.3,37145429.35,37140638.89,37767417.69,37517702.84,37807123.86,38161007.13,38161007.13,36992038.14,35519566.1,33465133.39,32539802.75,31897302.23,31163622.2,30630273.46,30946186.7,30749617.03,30132290.55,29786637.87,29698544.83,29694300.93,29942761.9,30854717.82,30854717.82,30854717.82,30857804.3,30253241.66,30043554.49,29737929.49,29970411.54,29561421.89,29410924.25,28518290.92,28981711.78,29875181.03,30247390.22,30517392.19,30885325.33,30780481.75,31775225.85,32351688.73,33305569.23,34301149.25,34301149.25,34364196.87,35942605.62,39539502.54,39421637.91,38904171.64,38417923.75,39066243.55,39514296.36,39963185.08,39552909.4,40095292.5,40408054.96,40858133.26,41656532.75,41788125.76,43044834.14,43038886.25,43107463.79,43073834.11,42782837.71,42912598.12,42468210.5,41704598.12,41911488.17,39351935.09,39319044.87,38992071.78,39130191.39,38936997.55,38724481.12,38550224.07,38210583.58,38171102.47,38846750.41,38737341.42,38841124.03,38839162.83,38065101.46,37753753.63,37207769.65,37354152,36984225.51,37243006.87,37036438.32,37012228.81,36494248.13,36998500.44,36701845.5,36601245.81,36955547.04,36658249.09,35849850.72,35659132.49,35804389.56,36244597.58,37471630.82,37890394.3,38452164.29,38813249.33,39070487.489225,39450219.957317,40683844.104359,40571123.58678,40199332.353097,40258200.370122,39872937.973614,40078124.038415,39978842.532915,39585960.409463,39269822.118145,38694163.000272,37276958.090144,36929119.162678,36942590.325504,37352705.249133,37193751.957943,37239116.661396,38248071.391197,38332756.457741,38157984.999224,37586183.970943,31580231.601583,29581998.3989,27516216.47761,22238285.614261,21379314.117349,20822205.980264,21136768.884998,21021058.347985,21397736.49515,21182551.548157,21399858.444426,19029512.500594,18745814.312596,18776486.124852,18547572.80906,18305188.330443,18122443.469085,17608481.634439,16694950.321438,17379793.374096,17078830.235467,17968473.543768,19117862.733596,19117862.733596,20146718.774539,21029739.029046,22118299.006367,22482727.718722,23850870.588204,25096872.771471,26393223.023865,27579360.517021,28637152.229875,29319037.41385,28923969.040014,28982869.207728,28924837.110172,28355318.785455,26345318.41,25615753.670342,24298055.322227,22236678.055233,21526435.912785,18693601.481877,17793155.522729,20500827.097246,19941886.36815,20886507.453083,20257092.287509,20213045.76471,20525004.458666,null,19861445.200236,19887873.113915,null,null,18682477.323564,null,null,null,15496917.052051,null,null,null,null,13260864.77895,11249546.224363,10241491.71645,10396522.616404,10998834.702621,11240961.975029,11367185.806058,null,null,null,null,null,11248871.058685,null,null,9857290.2949551,9948598.41521,9885840.157908,9478779.5556026,8768183.7549428,null,null,null,8097454.8800281,9965895.5168639,10499340.703931,10632509.096218,11373744.558358,11153736.999588,11730682.146762,11654484.877395,11720522.510847,11764697.636632,11953615.423469,null,11852919.285216,10872739.474579,10891837.01804,11327415.332552,11805111.125069,12658681.295719,13550285.799561,14712888.946229,15820450.014771,16080999.664964,16744108.812941,null,19017906.062515,19759077.223161,20713857.94401,null,22168647.075494,null,23636392.957845,23728794.203483,24587379.890598,null,null,null,24661937.471891,25331637.522915,26119684.472059,27181237.822262,26779482.09314,27912217.196246,28196076.1377,28876096.578374,31415555.446843,31375141.958406,31981215.681972,31819208.070012,31726067.357203,31760147.148566,31803711.410166,31949032.784656,31763362.223223,31408064.322893,30752735.655584,30815911.872592,31007048.060942,31279461.336618,31270169.77086,30826296.563733,29883154.413143,29462301.140559];\r\n      const comexAll  = [297662608,298178519,297312451,297312451,297910722,299096093,298501546,298496400,298496400,302943778,303103730,303103730,301830553,301920302,301334219,302525985,301909829,303107749,303163411,303461727,302212835,302208915,302738615,302143790,302723006,303804634,303109363,303106485,303018188,302408303,303339890,303374109,304307136,305147484,307919702,307813341,306738676,306508530,306332475,307328555,307311723,307092506,306512021.8,307154850.1,306367413,306331329.1,306222525.1,306017577.1,306016555,306016555,306892066.5,305952280,306156599.3,306139847.7,305926963.4,306483428.9,305964264.1,305883763.6,304377677.2,304985118.6,304946581.6,305338078.2,304698547.3,304129647.8,305053659.2,305067935.5,305498901.5,306593585.3,305873003.9,306932500.4,306932500.4,306023246.1,306014216.7,305367638.7,305955281.7,306126468.2,305299899.1,306501438.4,306533034,307197993.6,307172121.8,307798018.1,307413672.1,307489948.7,307997653.4,307997653.4,308598724.8,308581879.8,308516677.1,309117116.5,310913278.7,312280313.3,312094671.8,312688146.8,311292388.3,311321820.4,310038933.8,308821172.4,309988384.2,309389661,308188894.5,307548172.9,307548498.5,307859774.4,307976038.9,307976038.9,307976038.9,307975038.9,306719643.9,306541101.1,306673678.6,307043260.6,307615537.7,307822396.8,307818021.7,308339728.1,307725181.8,310025361,310617575.8,312399397.6,313574753.8,313338391.3,314826651.6,316160047.1,316032889.5,317295570.1,318618615.4,318895696.7,319008137.2,317707343.3,320047901.6,322563937.3,322899932.8,324448495.3,327590207.5,328799981.1,329401580.9,330737131.8,330737131.8,334317521.2,339669290.8,341915195.8,346838403.9,348603928.5,350561537,352313347.4,353726302.4,355824125.4,359059232.6,358607236.5,359361996.5,360757873.8,363395822.8,377888762.1,377888762.1,380076402.9,385279799.2,388090703.6,389671799.4,392367231.5,395318792.6,398194980.8,403215529.3,408605233.2,408808069.2,413769558.4,424898463.8,430278156.1,433759118.5,436429635.8,440821472.4,453064259.7,458086852.3,460151171.9,463534218.8,468447289,472420049.9,475357558.5,478458427.2,482570131.7,484931212.6,490077011,492042422.6,492994215.3,494816468.3,496236157.6,497475493.9,498195378.3,498846933.7,498568813.9,499103540.5,499103540.5,497894784,496698255.1,497908242.1,499098409,500876246,498978451.8,500643973.7,501316989.6,501468792.5,503581349.8,504719463.2,503481115.4,502874367.7,501750232.3,502163774.6,501490039.5,501069087.6,500598192.6,498504308.1,496694918.6,496694918.6,497302780.7,498373207.6,498127853.7,496007980.4,495395011.9,495085218.7,494719941.2,497946180.4,498200468.2,498460011.1,497510533.7,496583123.5,495735090.5,495735090.5,495467103.7,498389686.3,498310493,500020582.4,499090358.3,499694751.5,501210188.8,500183446.6,499281076.2,499281076.2,498306323.1,497932946.5,497289105.4,495535993.8,494919654.5,496623405.7,496635873.8,497181967.2,496688540.9,497243944.9,497645563,497984759.3,498207098.7,500320749.3,501696630.7,502296559.3,504338309,505219644.3,506661551.4,506602108.7,506311741.3,505984115.1,506121920.4,506492427.1,506441781,507041876.2,507041876.2,507014610.4,507551253.6,507551253.6,508151485.8,508499192.8,508499192.8,508486929.8,508783339,508778300.5,511505128.6,517194775.5,518232360,518232360,518232359.97,516067724.23,518368232.045,518898317.132,520707138.553,523128735.765,524513403.965,527423229.515,527647670.755,524632440.793,525327118.383,524086477.169,524043283.399,524378224.219,526748211.089,527155088.864,529927972.514,530344533.327,531484395.172,530200005.922,526124328.047,522463797.407,512163353.669,509459321.412,506467618.322,501026991.542,496946988.81,492557282.257,488062654.098,485587272.481,482438704.67,482340175.827,482363812.621,478558058.628,478191872.101,476315802.607,475670225.018,469535451.778,465535121.457,462530022.638,460702562.041,459237330.823,458086706.673,456772055.743,455994528.415,455933737.275,456721882.138,457220650.798,457070639.768,456143021.628,456415175.632,455817117.442,453359774.032,454560376.412,453846137.452,452950782.922,453726894.982,450643486.232,450880065.397,451352685.607,449727729.515,449127595.785,448830610.639,449425810.439,449521787.808,449211255.448,null,442479413.876,439740503.176,437485322.007,435671453.097,434360442.87,433382110.44,429156441.133,null,null,422313658.304,418161703.664,416424863.242,415241837.019,415146296.799,411684635.012,408253339.693,405886806.74,405697594.392,403857527.832,400790910.536,398009483.081,394511408.29,390466006.483,386273024.925,381568803.255,379233006.375,376434988.606,371973490.406,368811708.464,367426628.287,366257039.487,364003132.877,364000163.977,361844401.271,360638935.435,360332503.153,357565373.328,355173836.805,352219871.554,351341925.075,349145894.754,346287971.662,345310442.542,344541801.87,344324823.998,341723208.855,339582262.524,337892692.984,335075635.104,334684718.444,332695254.624,332090493.324,null,328297363.74,327589420.883,null,327659953.958,null,326239544.509,null,325122044.422,null,null,null,null,null,319144048.964,318966810.66,319230543.57,316710145.559,316352645.932,315152466.372,315181746.682,315181746.682,315238261.269,314627921.169,314527883.169,315253493.06,314787237.7792,312752505.6622,312752505.6622,312310867.6422,312116807.5522,313197268.2322,313175311.8322,315101192.2212,315101192.2212,315149134.6782,315880247.8412,315857603.9582,314649951.1282,313855399.8882,null,314513681.8992,315712897.499,316490777.415,316489764.015,317200818.312,318678117.717,319278173.769,319217791.889,319191978.419,318809623.344,319359808.464,null];\r\n\r\n      const i18n = {\r\n        price: \"Prix\",\r\n        shfe:  \"Stocks SHFE\",\r\n        comex: \"Stocks COMEX\",\r\n        yL:    \"Prix\",\r\n        yR:    \"Stocks\"      };\r\n\r\n      \/\/ ===== \uc548\uc815\uc131 \uac15\ud654: \uc2a4\ud06c\ub9bd\ud2b8 \ub85c\ub354(\uc911\ubcf5 \ub85c\ub4dc \ubc29\uc9c0) =====\r\n      const CMIDRA = window.__CMIDRA__ = window.__CMIDRA__ || {};\r\n      CMIDRA._promises = CMIDRA._promises || {};\r\n\r\n      function loadScriptOnce(src, isReadyFn){\r\n        try{\r\n          if (typeof isReadyFn === 'function' && isReadyFn()) return Promise.resolve(true);\r\n          if (CMIDRA._promises[src]) return CMIDRA._promises[src];\r\n\r\n          CMIDRA._promises[src] = new Promise((resolve, reject) => {\r\n            if (typeof isReadyFn === 'function' && isReadyFn()) { resolve(true); return; }\r\n\r\n            const existing = Array.from(document.getElementsByTagName('script'))\r\n              .find(s => (s.src || '') === src);\r\n\r\n            if (existing) {\r\n              let tries = 0;\r\n              const tick = () => {\r\n                if (typeof isReadyFn === 'function' && isReadyFn()) { resolve(true); return; }\r\n                tries++;\r\n                if (tries > 50) { resolve(false); return; }\r\n                setTimeout(tick, 100);\r\n              };\r\n              existing.addEventListener('load', () => resolve(true), { once:true });\r\n              existing.addEventListener('error', () => reject(new Error('load fail: ' + src)), { once:true });\r\n              tick();\r\n              return;\r\n            }\r\n\r\n            const s = document.createElement('script');\r\n            s.src = src;\r\n            s.async = true;\r\n            s.onload = () => resolve(true);\r\n            s.onerror = () => reject(new Error('load fail: ' + src));\r\n            document.head.appendChild(s);\r\n          });\r\n\r\n          return CMIDRA._promises[src];\r\n        }catch(e){\r\n          return Promise.reject(e);\r\n        }\r\n      }\r\n\r\n      const CHART_SRC = 'https:\/\/cdn.jsdelivr.net\/npm\/chart.js';\r\n      const ZOOM_SRC  = 'https:\/\/cdn.jsdelivr.net\/npm\/chartjs-plugin-zoom@2.0.1\/dist\/chartjs-plugin-zoom.min.js';\r\n\r\n      \/\/ ===== CFTC(SILVER_chart148) \ubc29\uc2dd\uacfc \ub3d9\uc77c\ud55c \uc804\uc5ed \ub808\uc9c0\uc2a4\ud2b8\ub9ac =====\r\n      CMIDRA.s152 = CMIDRA.s152 || { charts:{}, binds:{}, zoomRegistered:false, tipGlobalBound:false };\r\n\r\n      if (!CMIDRA.s152.tipGlobalBound) {\r\n        CMIDRA.s152.tipGlobalBound = true;\r\n        const hideAllTips = () => {\r\n          try{\r\n            document.querySelectorAll('[id^=\"__chart_exttip_left_\"]').forEach(el => { el.style.opacity = 0; });\r\n          }catch(e){}\r\n        };\r\n        ['mouseleave','scroll','touchstart','pointerdown','visibilitychange','orientationchange','resize'].forEach(evt => {\r\n          window.addEventListener(evt, hideAllTips, { passive:true });\r\n        });\r\n      }\r\n\r\n      function initChart(){\r\n        \/\/ zoom \ub4f1\ub85d(\uc911\ubcf5 \ubc29\uc9c0) \u2014 CFTC \ucc28\ud2b8\uc640 \ub3d9\uc77c\r\n        try{\r\n          const Zoom = window['chartjs-plugin-zoom'] && (window['chartjs-plugin-zoom'].default || window['chartjs-plugin-zoom']);\r\n          if (Zoom && window.Chart && Chart.register && !CMIDRA.s152.zoomRegistered) {\r\n            Chart.register(Zoom);\r\n            CMIDRA.s152.zoomRegistered = true;\r\n          }\r\n        }catch(e){}\r\n\r\n        const canvas = document.getElementById(elId);\r\n        if (!canvas) return;\r\n\r\n        \/\/ (CFTC \ucc28\ud2b8\uc640 \ub3d9\uc77c) \ud3ec\ucee4\uc2a4 \ub9c1 \ubc29\uc9c0\r\n        try { canvas.tabIndex = -1; canvas.setAttribute('tabindex','-1'); } catch(e) {}\r\n\r\n        const CANVAS_ID = String(elId);\r\n        const TIP_ID    = '__chart_exttip_left_' + CANVAS_ID;\r\n\r\n        function cleanupOld(){\r\n          try{\r\n            const old = CMIDRA.s152.charts[CANVAS_ID];\r\n            if (old && old.destroy) { old.destroy(); }\r\n            delete CMIDRA.s152.charts[CANVAS_ID];\r\n          }catch(e){}\r\n\r\n          try{\r\n            if (window.Chart && Chart.getChart) {\r\n              const old2 = Chart.getChart(canvas);\r\n              if (old2) old2.destroy();\r\n            }\r\n          }catch(e){}\r\n\r\n          const bind = CMIDRA.s152.binds[CANVAS_ID];\r\n          if (bind) {\r\n            try{ if (bind.canvas && bind.onCanvasDblClick)    bind.canvas.removeEventListener('dblclick', bind.onCanvasDblClick); }catch(e){}\r\n            try{ if (bind.canvas && bind.onCanvasPointerDown) bind.canvas.removeEventListener('pointerdown', bind.onCanvasPointerDown, bind.canvasPointerOpts||false); }catch(e){}\r\n            try{ if (bind.doc && bind.onDocPointerDown)       bind.doc.removeEventListener('pointerdown', bind.onDocPointerDown, true); }catch(e){}\r\n            try{ if (bind.win && bind.onWinKeyDown)           bind.win.removeEventListener('keydown', bind.onWinKeyDown, bind.winKeyOpts||false); }catch(e){}\r\n            delete CMIDRA.s152.binds[CANVAS_ID];\r\n          }\r\n\r\n          try{\r\n            const tip = document.getElementById(TIP_ID);\r\n            if (tip && tip.parentNode) tip.parentNode.removeChild(tip);\r\n          }catch(e){}\r\n        }\r\n\r\n        cleanupOld();\r\n\r\n        const ctx = canvas.getContext && canvas.getContext('2d');\r\n        if (!ctx || !window.Chart) return;\r\n\r\n        const fmt = (n) => {\r\n          try {\r\n            if (n === null || n === undefined || Number.isNaN(n)) return '';\r\n            return Number(n).toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 3 });\r\n          } catch(e){ return n; }\r\n        };\r\n\r\n        \/\/ ts(\ucd08)\r\n        const tsAll = (labelsAll || []).map(l => {\r\n          const t = Date.parse(l);\r\n          return isNaN(t) ? null : Math.floor(t\/1000);\r\n        });\r\n\r\n        const indicesAll = labelsAll.map((_, i) => i);\r\n\r\n        \/\/ \uc678\ubd80 \ud234\ud301 \u2014 CFTC \ucc28\ud2b8 \ub3d9\uc77c\r\n        const externalTooltipHandler = (context) => {\r\n          const { chart, tooltip } = context;\r\n          const area = chart.chartArea;\r\n          if (!area) return;\r\n\r\n          let tip = document.getElementById(TIP_ID);\r\n          if (!tip) {\r\n            tip = document.createElement('div');\r\n            tip.id = TIP_ID;\r\n            tip.style.position = 'fixed';\r\n            tip.style.left = '0';\r\n            tip.style.top  = '0';\r\n            tip.style.opacity = '0';\r\n            tip.style.pointerEvents = 'none';\r\n            tip.style.zIndex = '99999';\r\n            document.body.appendChild(tip);\r\n          }\r\n          if (!tooltip || tooltip.opacity === 0) {\r\n            tip.style.opacity = 0;\r\n            return;\r\n          }\r\n\r\n          const title = (tooltip.title && tooltip.title[0]) ? tooltip.title[0] : '';\r\n          const rows = (tooltip.dataPoints || []).map(dp => {\r\n            const color = dp.dataset.borderColor || dp.dataset.backgroundColor || '#4b5563';\r\n            const label = dp.dataset.label || '';\r\n\r\n            let v = null;\r\n            if (typeof dp.raw === 'number') v = dp.raw;\r\n            else if (dp.parsed && typeof dp.parsed.y === 'number') v = dp.parsed.y;\r\n\r\n            const val = (v === null) ? '' : fmt(v);\r\n\r\n            return `<div style=\"display:flex;align-items:center;justify-content:space-between;gap:12px;\">\r\n                      <span style=\"display:flex;align-items:center;gap:8px;\">\r\n                        <span style=\"width:10px;height:10px;border-radius:2px;background:${color};\r\n                                     border:1px solid rgba(255,255,255,.9);display:inline-block;\"><\/span>\r\n                        <span>${label}<\/span>\r\n                      <\/span>\r\n                      <span style=\"font-weight:600;\">${val}<\/span>\r\n                    <\/div>`;\r\n          }).join('');\r\n\r\n          tip.innerHTML =\r\n            `<div style=\"box-shadow:0 10px 24px rgba(15,23,42,.25);border:1px solid rgba(148,163,184,.7);\r\n                         background:#ffffff;color:#111827;border-radius:12px;padding:10px 12px;\r\n                         min-width:220px;max-width:340px;font:12px system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\">\r\n               <div style=\"color:#0f172a;font-weight:800;margin-bottom:6px;\">${title}<\/div>\r\n               <div style=\"display:flex;flex-direction:column;gap:3px;\">${rows}<\/div>\r\n             <\/div>`;\r\n\r\n          const cr  = chart.canvas.getBoundingClientRect();\r\n          const box = tip.firstElementChild;\r\n          const boxW = box ? box.offsetWidth : 260;\r\n          const boxH = box ? box.offsetHeight : 140;\r\n          const pad  = 8;\r\n\r\n          const left = Math.max(8, cr.left + area.left - boxW - pad);\r\n          const topMin = cr.top + area.top;\r\n          const topMax = cr.top + area.bottom - boxH;\r\n          const rawTop = cr.top + tooltip.caretY - boxH\/2;\r\n          const top = Math.min(Math.max(rawTop, topMin), topMax);\r\n\r\n          tip.style.left = left + 'px';\r\n          tip.style.top  = top  + 'px';\r\n          tip.style.opacity = 1;\r\n        };\r\n\r\n        \/\/ \ub370\uc774\ud130\uc14b \ube4c\ub354(\uc778\ub371\uc2a4 \uc2ac\ub77c\uc774\uc2f1)\r\n        const colPrice = '#0f172a';\r\n        const colSHFE  = '#06b6d4';\r\n        const colCOMEX = '#f59e0b';\r\n\r\n        const buildDatasets = (idxList) => {\r\n          return [\r\n            {\r\n              type:'line', label:i18n.shfe, yAxisID:'yR',\r\n              data: idxList.map(i => shfeAll[i]),\r\n              tension:0.2, pointRadius:0, borderWidth:2,\r\n              borderColor:colSHFE, backgroundColor:colSHFE, fill:false, spanGaps:true,\r\n              order:1\r\n            },\r\n            {\r\n              type:'line', label:i18n.comex, yAxisID:'yR',\r\n              data: idxList.map(i => comexAll[i]),\r\n              tension:0.2, pointRadius:0, borderWidth:2,\r\n              borderColor:colCOMEX, backgroundColor:colCOMEX, fill:false, spanGaps:true,\r\n              order:1\r\n            },\r\n            {\r\n              type:'line', label:i18n.price, yAxisID:'yL',\r\n              data: idxList.map(i => priceAll[i]),\r\n              tension:0.2, pointRadius:0, borderWidth:2,\r\n              borderColor:colPrice, backgroundColor:colPrice, fill:false, spanGaps:true,\r\n              order:2\r\n            }\r\n          ];\r\n        };\r\n\r\n        \/\/ \u2705 \ud604\uc7ac Range \uae30\uc5b5(\uc90c\/\ud32c \ub9ac\uc14b\uc2dc \uc774 Range \uc0c1\ud0dc\ub85c \u201c\uc644\uc804 \ubcf5\uad6c\u201d)\r\n        let currentRange = '3m';\r\n\r\n        const cfg = {\r\n          type: 'line',\r\n          data: {\r\n            labels: labelsAll.slice(),\r\n            datasets: buildDatasets(indicesAll)\r\n          },\r\n          \/\/ \u2705 (\uc694\uccad) \ud31d\uc5c5 \ub530\ub77c\ub2e4\ub2c8\ub294 \uc810\uc120 \uc81c\uac70: Crosshair \ud50c\ub7ec\uadf8\uc778 \uc0ac\uc6a9 \uc548 \ud568\r\n          plugins: [],\r\n          options: {\r\n            responsive: true,\r\n            maintainAspectRatio: false,\r\n            normalized: true,\r\n            interaction: { mode: 'index', intersect: false },\r\n            plugins: {\r\n              zoom: {\r\n                pan: { enabled: false },\r\n                zoom: {\r\n                  wheel: { enabled: true },\r\n                  pinch: { enabled: true },\r\n                  drag: {\r\n                    enabled: true,\r\n                    mode: 'x', \/\/ \u2705 \uac00\ub85c\ubc29\ud5a5\ub9cc\r\n                    threshold: 8,\r\n                    backgroundColor: 'rgba(75,85,99,.10)',\r\n                    borderColor: 'rgba(75,85,99,.65)',\r\n                    borderWidth: 1\r\n                  },\r\n                  mode: 'x'\r\n                }\r\n              },\r\n              tooltip: {\r\n                enabled: false,\r\n                external: externalTooltipHandler,\r\n                mode: 'index',\r\n                intersect: false\r\n              },\r\n              legend: {\r\n                position: 'bottom',\r\n                labels: {\r\n                  color: '#374151',\r\n                  font: { size: 12, weight: '500' },\r\n                  usePointStyle: true,\r\n                  pointStyle: 'line'\r\n                }\r\n              },\r\n              decimation: { enabled: true, algorithm: 'min-max' },\r\n              title: { display: false }\r\n            },\r\n            scales: {\r\n              x: {\r\n                type: 'category',\r\n                title: {\r\n                  display: true,\r\n                  \/\/ (\uc774\uc804 \ucf54\ub4dc \uc720\uc9c0)\r\n                  text: \"Plage :\",\r\n                  color: '#374151',\r\n                  font: { weight: '600' }\r\n                },\r\n                ticks: {\r\n                  autoSkip: true,\r\n                  maxTicksLimit: (window.innerWidth < 768 ? 6 : 12),\r\n                  maxRotation: 0,\r\n                  minRotation: 0,\r\n                  color: '#4b5563'\r\n                },\r\n                grid: { display: false }\r\n              },\r\n              yL: {\r\n                type: 'linear',\r\n                position: 'left',\r\n                title: {\r\n                  display: true,\r\n                  text: i18n.yL,\r\n                  color: '#111827',\r\n                  font: { weight: '600' }\r\n                },\r\n                ticks: { color: '#111827', callback: (v) => fmt(v) },\r\n                grid: { drawOnChartArea: true, color: 'rgba(209,213,219,0.6)' }\r\n              },\r\n              yR: {\r\n                type: 'linear',\r\n                position: 'right',\r\n                title: {\r\n                  display: true,\r\n                  text: i18n.yR,\r\n                  color: '#111827',\r\n                  font: { weight: '600' }\r\n                },\r\n                ticks: { color: '#111827', callback: (v) => fmt(v) },\r\n                grid: { drawOnChartArea: false }\r\n              }\r\n            },\r\n            onHover: () => { canvas.style.cursor = 'crosshair'; }\r\n          }\r\n        };\r\n\r\n        const chart = new Chart(ctx, cfg);\r\n        CMIDRA.s152.charts[CANVAS_ID] = chart;\r\n\r\n        \/\/ ===== \ubc84\ud2bc\/\ub9ac\uc14b\/\ubc94\uc704 =====\r\n        const wrap     = canvas.closest('.s152-card') || canvas.closest('.silver152-wrap') || document;\r\n        const btns     = wrap.querySelectorAll('.s152-btn[data-range]');\r\n        const resetBtn = wrap.querySelector('[data-action=\"reset\"]');\r\n        const pngBtn   = wrap.querySelector('[data-action=\"png\"]');\r\n\r\n        const setActive = (key) => {\r\n          btns.forEach(b => b.classList.toggle('is-active', (b.dataset.range === String(key))));\r\n        };\r\n\r\n        const clearXWindow = () => {\r\n          try {\r\n            if (chart && chart.options && chart.options.scales && chart.options.scales.x) {\r\n              delete chart.options.scales.x.min;\r\n              delete chart.options.scales.x.max;\r\n              chart.options.scales.x.min = undefined;\r\n              chart.options.scales.x.max = undefined;\r\n            }\r\n          } catch(e) {}\r\n        };\r\n\r\n        const computeIndicesForRange = (rangeKey) => {\r\n          if (rangeKey === 'all') return indicesAll;\r\n\r\n          let monthsBack = null;\r\n          if (rangeKey === '3m') monthsBack = 3;\r\n          if (rangeKey === '1y') monthsBack = 12;\r\n          if (!monthsBack) return indicesAll;\r\n\r\n          const validTs = (tsAll || []).filter(t => Number.isInteger(t) && t > 0);\r\n          if (!validTs.length) return indicesAll;\r\n\r\n          const latest = Math.max.apply(null, validTs);\r\n          const cutDate = new Date(latest * 1000);\r\n          cutDate.setMonth(cutDate.getMonth() - monthsBack);\r\n          const cutTs = Math.floor(cutDate.getTime() \/ 1000);\r\n\r\n          const keep = [];\r\n          (tsAll || []).forEach((ts, idx) => {\r\n            if (Number.isInteger(ts) && ts >= cutTs) keep.push(idx);\r\n          });\r\n          return keep.length ? keep : indicesAll;\r\n        };\r\n\r\n        const applyRange = (rangeKey) => {\r\n          currentRange = String(rangeKey || 'all');\r\n\r\n          try { if (chart && chart.resetZoom) chart.resetZoom(); } catch(e) {}\r\n          clearXWindow();\r\n\r\n          const idxList   = computeIndicesForRange(currentRange);\r\n          const newLabels = idxList.map(i => labelsAll[i]);\r\n\r\n          chart.data.labels   = newLabels;\r\n          chart.data.datasets = buildDatasets(idxList);\r\n          chart.update();\r\n\r\n          setActive(currentRange);\r\n        };\r\n\r\n        \/\/ \u2705 (\uc694\uccad) \uc90c \ubcf5\uad6c \ubb38\uc81c \uc81c\uac70: \u201c\ud604\uc7ac Range \uc0c1\ud0dc\ub85c\u201d \uc644\uc804 \ub9ac\uc14b\r\n        let keyPanActive = false;\r\n        const hardReset = () => {\r\n          try{\r\n            keyPanActive = false;\r\n            const tip = document.getElementById(TIP_ID);\r\n            if (tip) tip.style.opacity = 0;\r\n          }catch(e){}\r\n\r\n          try { if (chart && chart.resetZoom) chart.resetZoom(); } catch(e) {}\r\n          clearXWindow();\r\n\r\n          const idxList   = computeIndicesForRange(currentRange);\r\n          const newLabels = idxList.map(i => labelsAll[i]);\r\n\r\n          chart.data.labels   = newLabels;\r\n          chart.data.datasets = buildDatasets(idxList);\r\n\r\n          try { chart.update(); } catch(e) {}\r\n          setActive(currentRange);\r\n        };\r\n\r\n        \/\/ \ucd08\uae30 \ubc94\uc704: 3M\r\n        applyRange('3m');\r\n\r\n        btns.forEach(b => {\r\n          b.onclick = () => {\r\n            const r = b.dataset.range || 'all';\r\n            applyRange(r);\r\n          };\r\n        });\r\n\r\n        if (resetBtn) resetBtn.onclick = () => hardReset();\r\n\r\n        if (pngBtn) {\r\n          pngBtn.onclick = () => {\r\n            try {\r\n              const url = chart.toBase64Image('image\/png', 1.0);\r\n              const a = document.createElement('a');\r\n              a.href = url;\r\n              a.download = 'silver_shfe_comex_151.png';\r\n              a.click();\r\n            } catch(e) {}\r\n          };\r\n        }\r\n\r\n        const onCanvasDblClick = () => hardReset();\r\n        canvas.addEventListener('dblclick', onCanvasDblClick);\r\n\r\n        \/\/ ===== \ubc29\ud5a5\ud0a4 \ud32c \u2014 CFTC \ucc28\ud2b8 \ub3d9\uc77c(\ud3ec\ucee4\uc2a4 \ub300\uc2e0 pointerdown \ud65c\uc131) =====\r\n        const panXBy = (dir, factor) => {\r\n          try {\r\n            const xScale = chart && chart.scales ? chart.scales.x : null;\r\n            if (!xScale) return;\r\n\r\n            const n = (chart.data && chart.data.labels) ? chart.data.labels.length : 0;\r\n            if (!n) return;\r\n\r\n            let min = Number.isFinite(xScale.min) ? xScale.min : 0;\r\n            let max = Number.isFinite(xScale.max) ? xScale.max : (n - 1);\r\n            if (!Number.isFinite(min) || !Number.isFinite(max)) { min = 0; max = n - 1; }\r\n            if (max < min) { const t = min; min = max; max = t; }\r\n\r\n            const range = Math.max(1, Math.round(max - min));\r\n            const step  = Math.max(1, Math.round(range * factor));\r\n\r\n            let newMin = min + dir * step;\r\n            let newMax = max + dir * step;\r\n\r\n            const last = n - 1;\r\n            if (newMin < 0) { newMax -= newMin; newMin = 0; }\r\n            if (newMax > last) {\r\n              newMin -= (newMax - last);\r\n              newMax = last;\r\n              if (newMin < 0) newMin = 0;\r\n            }\r\n\r\n            chart.options.scales.x.min = newMin;\r\n            chart.options.scales.x.max = newMax;\r\n            chart.update('none');\r\n          } catch(e) {}\r\n        };\r\n\r\n        const onCanvasPointerDown = () => {\r\n          keyPanActive = true;\r\n          try { if (canvas.blur) canvas.blur(); } catch(e) {}\r\n        };\r\n        const canvasPointerOpts = { passive:true };\r\n        canvas.addEventListener('pointerdown', onCanvasPointerDown, canvasPointerOpts);\r\n\r\n        const onDocPointerDown = (ev) => {\r\n          if (ev && ev.target !== canvas) keyPanActive = false;\r\n        };\r\n        document.addEventListener('pointerdown', onDocPointerDown, true);\r\n\r\n        const onWinKeyDown = (ev) => {\r\n          try {\r\n            if (!keyPanActive) return;\r\n\r\n            const ae = document.activeElement;\r\n            if (ae && (ae.tagName === 'INPUT' || ae.tagName === 'TEXTAREA' || ae.tagName === 'SELECT' || ae.isContentEditable)) return;\r\n\r\n            const k = ev.key;\r\n            if (k === 'ArrowLeft')  { ev.preventDefault(); panXBy(-1, 0.15); return; }\r\n            if (k === 'ArrowRight') { ev.preventDefault(); panXBy(+1, 0.15); return; }\r\n            if (k === 'ArrowUp')    { ev.preventDefault(); panXBy(-1, 0.35); return; }\r\n            if (k === 'ArrowDown')  { ev.preventDefault(); panXBy(+1, 0.35); return; }\r\n          } catch(e) {}\r\n        };\r\n        const winKeyOpts = { passive:false };\r\n        window.addEventListener('keydown', onWinKeyDown, winKeyOpts);\r\n\r\n        CMIDRA.s152.binds[CANVAS_ID] = {\r\n          canvas,\r\n          doc: document,\r\n          win: window,\r\n          onCanvasPointerDown,\r\n          canvasPointerOpts,\r\n          onDocPointerDown,\r\n          onWinKeyDown,\r\n          winKeyOpts,\r\n          onCanvasDblClick\r\n        };\r\n      }\r\n\r\n      \/\/ \ub85c\ub4dc \ud750\ub984\r\n      loadScriptOnce(CHART_SRC, () => !!window.Chart)\r\n        .then(() => loadScriptOnce(ZOOM_SRC, () => !!window['chartjs-plugin-zoom']).catch(() => false))\r\n        .then(() => { initChart(); })\r\n        .catch(() => { \/* Chart.js \ub85c\ub4dc \uc2e4\ud328 \uc2dc \uc870\uc6a9\ud788 \uc885\ub8cc *\/ });\r\n\r\n    })();\r\n    <\/script>\r\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-210bc24 elementor-widget elementor-widget-shortcode\" data-id=\"210bc24\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">      <div id=\"s168_wrap_161\" class=\"c168-wrap\">\r\n        <div class=\"c168-card\">\r\n          <div class=\"c168-controls\">\r\n            <strong class=\"c168-range-label\">P\u00e9riode :<\/strong>\r\n            <button type=\"button\" data-range=\"12\"  class=\"c168-btn\">1A<\/button>\r\n            <button type=\"button\" data-range=\"24\"  class=\"c168-btn\">2A<\/button>\r\n            <button type=\"button\" data-range=\"60\"  class=\"c168-btn\">5A<\/button>\r\n            <button type=\"button\" data-range=\"all\" class=\"c168-btn\">TOUT<\/button>\r\n\r\n            <span class=\"c168-flex-spacer\"><\/span>\r\n            <em class=\"c168-hint\">Molette\/Pinch=Zoom \u00b7 Glisser=Zoom bo\u00eete \u00b7 Double-clic=R\u00e9initialiser \u00b7 Fl\u00e8ches=D\u00e9placer (Shift=Plus rapide)<\/em>\r\n\r\n            <button type=\"button\" data-action=\"reset\" class=\"c168-btn c168-btn-ghost\">R\u00e9initialiser le zoom<\/button>\r\n            <button type=\"button\" data-action=\"png\"   class=\"c168-btn c168-btn-ghost\">Enregistrer PNG<\/button>\r\n          <\/div>\r\n\r\n          <div class=\"c168-title\">Bourse des contrats \u00e0 terme de Shanghai (SHFE) \u2014 Argent<\/div>\r\n\r\n          <div class=\"c168-panels\">\r\n            <div class=\"c168-panel c168-panel-price\">\r\n              <div class=\"c168-panel-label\">Prix \/ Stocks<\/div>\r\n              <canvas id=\"SILVER_chart168_p_161\" loading=\"lazy\" tabindex=\"0\"><\/canvas>\r\n            <\/div>\r\n\r\n            <div class=\"c168-panel c168-panel-spread\">\r\n              <div class=\"c168-panel-label\">\u00c9cart<\/div>\r\n              <canvas id=\"SILVER_chart168_s_161\" loading=\"lazy\" tabindex=\"0\"><\/canvas>\r\n            <\/div>\r\n\r\n            <div class=\"c168-panel c168-panel-flow\">\r\n              <div class=\"c168-panel-label\">Int\u00e9r\u00eat ouvert \/ Volume<\/div>\r\n              <canvas id=\"SILVER_chart168_f_161\" loading=\"lazy\" tabindex=\"0\"><\/canvas>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"c168-source-wrap\">\r\n            <a class=\"c168-source-pill\" href=\"https:\/\/www.shfe.com.cn\/\" target=\"_blank\" rel=\"noopener noreferrer\">\r\n              Source : Bourse de Shanghai des contrats \u00e0 terme (SHFE) \u2014 Argent            <\/a>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <style>\r\n        .c168-wrap{\r\n          overflow-x:auto;\r\n          -webkit-overflow-scrolling:touch;\r\n          padding:16px;\r\n          border-radius:18px;\r\n          background:linear-gradient(135deg,#eef2ff,#e0f2fe);\r\n          box-shadow:0 18px 32px rgba(15,23,42,0.18);\r\n          margin:8px 0;\r\n        }\r\n        .c168-card{\r\n          background:#ffffff;\r\n          border-radius:14px;\r\n          padding:14px 16px 16px;\r\n          box-shadow:0 6px 18px rgba(15,23,42,0.14);\r\n          border:1px solid rgba(129,140,248,0.6);\r\n        }\r\n        .c168-controls{\r\n          display:flex;\r\n          gap:6px;\r\n          align-items:center;\r\n          margin:0 0 8px 0;\r\n          flex-wrap:wrap;\r\n          min-width:640px;\r\n        }\r\n        .c168-title{\r\n          font-weight:800;\r\n          font-size:18px;\r\n          color:#0f172a;\r\n          margin:0 0 10px 0;\r\n        }\r\n        .c168-range-label{\r\n          font:600 13px system-ui,-apple-system,Segoe UI,Roboto;\r\n          color:#4b5563;\r\n        }\r\n        .c168-flex-spacer{flex:1 1 auto;}\r\n        .c168-btn{\r\n          padding:6px 10px;\r\n          border-radius:999px;\r\n          border:1px solid rgba(129,140,248,0.9);\r\n          background:linear-gradient(135deg,#eff6ff,#eef2ff);\r\n          font:500 12px system-ui,-apple-system,Segoe UI,Roboto;\r\n          cursor:pointer;\r\n          color:#3730a3;\r\n          box-shadow:0 1px 2px rgba(15,23,42,0.07);\r\n          transition:background .15s ease,box-shadow .15s ease,transform .05s ease;\r\n        }\r\n        .c168-btn:hover{\r\n          background:linear-gradient(135deg,#e0f2fe,#eef2ff);\r\n          box-shadow:0 2px 4px rgba(15,23,42,0.12);\r\n          transform:translateY(-0.5px);\r\n        }\r\n        .c168-btn.is-active{\r\n          background:linear-gradient(135deg,#6366f1,#4f46e5);\r\n          color:#eef2ff;\r\n          border-color:#4338ca;\r\n          box-shadow:0 2px 6px rgba(79,70,229,0.55);\r\n        }\r\n        .c168-btn-ghost{\r\n          background:#ffffff;\r\n          border-color:rgba(209,213,219,0.9);\r\n          color:#374151;\r\n        }\r\n        .c168-hint{\r\n          font-size:12px;\r\n          color:#6b7280;\r\n        }\r\n\r\n        .c168-panels{\r\n          min-width:640px;\r\n          display:flex;\r\n          flex-direction:column;\r\n          gap:10px;\r\n        }\r\n        .c168-panel{\r\n          position:relative;\r\n          background:#ffffff;\r\n          border-radius:12px;\r\n          border:1px solid rgba(148,163,184,0.45);\r\n          overflow:hidden;\r\n        }\r\n        .c168-panel-label{\r\n          position:absolute;\r\n          left:10px;\r\n          top:8px;\r\n          z-index:2;\r\n          font:700 12px system-ui,-apple-system,Segoe UI,Roboto;\r\n          color:#111827;\r\n          background:rgba(255,255,255,0.9);\r\n          border:1px solid rgba(0,0,0,0.06);\r\n          border-radius:999px;\r\n          padding:3px 10px;\r\n          box-shadow:0 2px 6px rgba(15,23,42,0.08);\r\n          pointer-events:none;\r\n        }\r\n\r\n        .c168-panel canvas{\r\n          width:100%;\r\n          height:100%;\r\n          display:block;\r\n          user-select:none;\r\n          -webkit-user-select:none;\r\n          -webkit-user-drag:none;\r\n          touch-action:none;\r\n          cursor:crosshair;\r\n          outline:none !important;\r\n          box-shadow:none !important;\r\n          -webkit-tap-highlight-color:transparent;\r\n        }\r\n        .c168-panel canvas:focus,\r\n        .c168-panel canvas:focus-visible{\r\n          outline:none !important;\r\n          box-shadow:none !important;\r\n        }\r\n\r\n        .c168-panel-price{ height:260px; min-height:260px; }\r\n        .c168-panel-spread{ height:180px; min-height:180px; }\r\n        .c168-panel-flow{ height:240px; min-height:240px; }\r\n\r\n        .c168-source-wrap{\r\n          display:flex;\r\n          justify-content:flex-end;\r\n          min-width:640px;\r\n          margin-top:8px;\r\n        }\r\n        .c168-source-pill{\r\n          display:inline-block;\r\n          padding:4px 10px;\r\n          border-radius:999px;\r\n          background:rgba(255,255,255,0.96);\r\n          border:1px solid rgba(0,0,0,0.06);\r\n          font:11px system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\r\n          color:#6b7280;\r\n          box-shadow:0 2px 6px rgba(15,23,42,0.08);\r\n          text-decoration:none;\r\n        }\r\n\r\n        @media (max-width:768px){\r\n          .c168-wrap{padding:10px;}\r\n          .c168-controls{min-width:0;}\r\n          .c168-panels{min-width:0;}\r\n          .c168-source-wrap{min-width:0;}\r\n          .c168-panel-price{ height:220px; min-height:220px; }\r\n          .c168-panel-spread{ height:160px; min-height:160px; }\r\n          .c168-panel-flow{ height:220px; min-height:220px; }\r\n        }\r\n      <\/style>\r\n\r\n      <script>\r\n        document.addEventListener('DOMContentLoaded', function(){\r\n          try{\r\n            const Zoom = (window['chartjs-plugin-zoom'] && (window['chartjs-plugin-zoom'].default || window['chartjs-plugin-zoom'])) || null;\r\n            if(Zoom && window.Chart && Chart.register){ Chart.register(Zoom); }\r\n          }catch(e){}\r\n\r\n          const wrap = document.getElementById('s168_wrap_161');\r\n          if(!wrap || !window.Chart) return;\r\n\r\n          const labelsAll = [\"2014-05-20\",\"2014-05-21\",\"2014-05-22\",\"2014-05-23\",\"2014-05-26\",\"2014-05-27\",\"2014-05-28\",\"2014-05-29\",\"2014-05-30\",\"2014-06-03\",\"2014-06-04\",\"2014-06-05\",\"2014-06-06\",\"2014-06-09\",\"2014-06-10\",\"2014-06-11\",\"2014-06-12\",\"2014-06-13\",\"2014-06-16\",\"2014-06-17\",\"2014-06-18\",\"2014-06-19\",\"2014-06-20\",\"2014-06-23\",\"2014-06-24\",\"2014-06-25\",\"2014-06-26\",\"2014-06-27\",\"2014-06-30\",\"2014-07-01\",\"2014-07-02\",\"2014-07-03\",\"2014-07-04\",\"2014-07-07\",\"2014-07-08\",\"2014-07-09\",\"2014-07-10\",\"2014-07-11\",\"2014-07-14\",\"2014-07-15\",\"2014-07-16\",\"2014-07-17\",\"2014-07-18\",\"2014-07-21\",\"2014-07-22\",\"2014-07-23\",\"2014-07-24\",\"2014-07-25\",\"2014-07-28\",\"2014-07-29\",\"2014-07-30\",\"2014-07-31\",\"2014-08-01\",\"2014-08-04\",\"2014-08-05\",\"2014-08-06\",\"2014-08-07\",\"2014-08-08\",\"2014-08-11\",\"2014-08-12\",\"2014-08-13\",\"2014-08-14\",\"2014-08-15\",\"2014-08-18\",\"2014-08-19\",\"2014-08-20\",\"2014-08-21\",\"2014-08-22\",\"2014-08-25\",\"2014-08-26\",\"2014-08-27\",\"2014-08-28\",\"2014-08-29\",\"2014-09-01\",\"2014-09-02\",\"2014-09-03\",\"2014-09-04\",\"2014-09-05\",\"2014-09-09\",\"2014-09-10\",\"2014-09-11\",\"2014-09-12\",\"2014-09-15\",\"2014-09-16\",\"2014-09-17\",\"2014-09-18\",\"2014-09-19\",\"2014-09-22\",\"2014-09-23\",\"2014-09-24\",\"2014-09-25\",\"2014-09-26\",\"2014-09-29\",\"2014-09-30\",\"2014-10-08\",\"2014-10-09\",\"2014-10-10\",\"2014-10-13\",\"2014-10-14\",\"2014-10-15\",\"2014-10-16\",\"2014-10-17\",\"2014-10-20\",\"2014-10-21\",\"2014-10-22\",\"2014-10-23\",\"2014-10-24\",\"2014-10-27\",\"2014-10-28\",\"2014-10-29\",\"2014-10-30\",\"2014-10-31\",\"2014-11-03\",\"2014-11-04\",\"2014-11-05\",\"2014-11-06\",\"2014-11-07\",\"2014-11-10\",\"2014-11-11\",\"2014-11-12\",\"2014-11-13\",\"2014-11-14\",\"2014-11-17\",\"2014-11-18\",\"2014-11-19\",\"2014-11-20\",\"2014-11-21\",\"2014-11-24\",\"2014-11-25\",\"2014-11-26\",\"2014-11-27\",\"2014-11-28\",\"2014-12-01\",\"2014-12-02\",\"2014-12-03\",\"2014-12-04\",\"2014-12-05\",\"2014-12-08\",\"2014-12-09\",\"2014-12-10\",\"2014-12-11\",\"2014-12-12\",\"2014-12-15\",\"2014-12-16\",\"2014-12-17\",\"2014-12-18\",\"2014-12-19\",\"2014-12-22\",\"2014-12-23\",\"2014-12-24\",\"2014-12-25\",\"2014-12-26\",\"2014-12-29\",\"2014-12-30\",\"2014-12-31\",\"2015-01-05\",\"2015-01-06\",\"2015-01-07\",\"2015-01-08\",\"2015-01-09\",\"2015-01-12\",\"2015-01-13\",\"2015-01-14\",\"2015-01-15\",\"2015-01-16\",\"2015-01-19\",\"2015-01-20\",\"2015-01-21\",\"2015-01-22\",\"2015-01-23\",\"2015-01-26\",\"2015-01-27\",\"2015-01-28\",\"2015-01-29\",\"2015-01-30\",\"2015-02-02\",\"2015-02-03\",\"2015-02-04\",\"2015-02-05\",\"2015-02-06\",\"2015-02-09\",\"2015-02-10\",\"2015-02-11\",\"2015-02-12\",\"2015-02-13\",\"2015-02-16\",\"2015-02-17\",\"2015-02-25\",\"2015-02-26\",\"2015-02-27\",\"2015-03-02\",\"2015-03-03\",\"2015-03-04\",\"2015-03-05\",\"2015-03-06\",\"2015-03-09\",\"2015-03-10\",\"2015-03-11\",\"2015-03-12\",\"2015-03-13\",\"2015-03-16\",\"2015-03-17\",\"2015-03-18\",\"2015-03-19\",\"2015-03-20\",\"2015-03-23\",\"2015-03-24\",\"2015-03-25\",\"2015-03-26\",\"2015-03-27\",\"2015-03-30\",\"2015-03-31\",\"2015-04-01\",\"2015-04-02\",\"2015-04-03\",\"2015-04-07\",\"2015-04-08\",\"2015-04-09\",\"2015-04-10\",\"2015-04-13\",\"2015-04-14\",\"2015-04-15\",\"2015-04-16\",\"2015-04-17\",\"2015-04-20\",\"2015-04-21\",\"2015-04-22\",\"2015-04-23\",\"2015-04-24\",\"2015-04-27\",\"2015-04-28\",\"2015-04-29\",\"2015-04-30\",\"2015-05-04\",\"2015-05-05\",\"2015-05-06\",\"2015-05-07\",\"2015-05-08\",\"2015-05-11\",\"2015-05-12\",\"2015-05-13\",\"2015-05-14\",\"2015-05-15\",\"2015-05-18\",\"2015-05-19\",\"2015-05-20\",\"2015-05-21\",\"2015-05-22\",\"2015-05-25\",\"2015-05-26\",\"2015-05-27\",\"2015-05-28\",\"2015-05-29\",\"2015-06-01\",\"2015-06-02\",\"2015-06-03\",\"2015-06-04\",\"2015-06-05\",\"2015-06-08\",\"2015-06-09\",\"2015-06-10\",\"2015-06-11\",\"2015-06-12\",\"2015-06-15\",\"2015-06-16\",\"2015-06-17\",\"2015-06-18\",\"2015-06-19\",\"2015-06-23\",\"2015-06-24\",\"2015-06-25\",\"2015-06-26\",\"2015-06-29\",\"2015-06-30\",\"2015-07-01\",\"2015-07-02\",\"2015-07-03\",\"2015-07-06\",\"2015-07-07\",\"2015-07-08\",\"2015-07-09\",\"2015-07-10\",\"2015-07-13\",\"2015-07-14\",\"2015-07-15\",\"2015-07-16\",\"2015-07-17\",\"2015-07-20\",\"2015-07-21\",\"2015-07-22\",\"2015-07-23\",\"2015-07-24\",\"2015-07-27\",\"2015-07-28\",\"2015-07-29\",\"2015-07-30\",\"2015-07-31\",\"2015-08-03\",\"2015-08-04\",\"2015-08-05\",\"2015-08-06\",\"2015-08-07\",\"2015-08-10\",\"2015-08-11\",\"2015-08-12\",\"2015-08-13\",\"2015-08-14\",\"2015-08-17\",\"2015-08-18\",\"2015-08-19\",\"2015-08-20\",\"2015-08-21\",\"2015-08-24\",\"2015-08-25\",\"2015-08-26\",\"2015-08-27\",\"2015-08-28\",\"2015-08-31\",\"2015-09-01\",\"2015-09-02\",\"2015-09-07\",\"2015-09-08\",\"2015-09-09\",\"2015-09-10\",\"2015-09-11\",\"2015-09-14\",\"2015-09-15\",\"2015-09-16\",\"2015-09-17\",\"2015-09-18\",\"2015-09-21\",\"2015-09-22\",\"2015-09-23\",\"2015-09-24\",\"2015-09-25\",\"2015-09-28\",\"2015-09-29\",\"2015-09-30\",\"2015-10-08\",\"2015-10-09\",\"2015-10-12\",\"2015-10-13\",\"2015-10-14\",\"2015-10-15\",\"2015-10-16\",\"2015-10-19\",\"2015-10-20\",\"2015-10-21\",\"2015-10-22\",\"2015-10-23\",\"2015-10-26\",\"2015-10-27\",\"2015-10-28\",\"2015-10-29\",\"2015-10-30\",\"2015-11-02\",\"2015-11-03\",\"2015-11-04\",\"2015-11-05\",\"2015-11-06\",\"2015-11-09\",\"2015-11-10\",\"2015-11-11\",\"2015-11-12\",\"2015-11-13\",\"2015-11-16\",\"2015-11-17\",\"2015-11-18\",\"2015-11-19\",\"2015-11-20\",\"2015-11-23\",\"2015-11-24\",\"2015-11-25\",\"2015-11-26\",\"2015-11-27\",\"2015-11-30\",\"2015-12-01\",\"2015-12-02\",\"2015-12-03\",\"2015-12-04\",\"2015-12-07\",\"2015-12-08\",\"2015-12-09\",\"2015-12-10\",\"2015-12-11\",\"2015-12-14\",\"2015-12-15\",\"2015-12-16\",\"2015-12-17\",\"2015-12-18\",\"2015-12-21\",\"2015-12-22\",\"2015-12-23\",\"2015-12-24\",\"2015-12-25\",\"2015-12-28\",\"2015-12-29\",\"2015-12-30\",\"2015-12-31\",\"2016-01-04\",\"2016-01-05\",\"2016-01-06\",\"2016-01-07\",\"2016-01-08\",\"2016-01-11\",\"2016-01-12\",\"2016-01-13\",\"2016-01-14\",\"2016-01-15\",\"2016-01-18\",\"2016-01-19\",\"2016-01-20\",\"2016-01-21\",\"2016-01-22\",\"2016-01-25\",\"2016-01-26\",\"2016-01-27\",\"2016-01-28\",\"2016-01-29\",\"2016-02-01\",\"2016-02-02\",\"2016-02-03\",\"2016-02-04\",\"2016-02-05\",\"2016-02-15\",\"2016-02-16\",\"2016-02-17\",\"2016-02-18\",\"2016-02-19\",\"2016-02-22\",\"2016-02-23\",\"2016-02-24\",\"2016-02-25\",\"2016-02-26\",\"2016-02-29\",\"2016-03-01\",\"2016-03-02\",\"2016-03-03\",\"2016-03-04\",\"2016-03-07\",\"2016-03-08\",\"2016-03-09\",\"2016-03-10\",\"2016-03-11\",\"2016-03-14\",\"2016-03-15\",\"2016-03-16\",\"2016-03-17\",\"2016-03-18\",\"2016-03-21\",\"2016-03-22\",\"2016-03-23\",\"2016-03-24\",\"2016-03-25\",\"2016-03-28\",\"2016-03-29\",\"2016-03-30\",\"2016-03-31\",\"2016-04-01\",\"2016-04-05\",\"2016-04-06\",\"2016-04-07\",\"2016-04-08\",\"2016-04-11\",\"2016-04-12\",\"2016-04-13\",\"2016-04-14\",\"2016-04-15\",\"2016-04-18\",\"2016-04-19\",\"2016-04-20\",\"2016-04-21\",\"2016-04-22\",\"2016-04-25\",\"2016-04-26\",\"2016-04-27\",\"2016-04-28\",\"2016-04-29\",\"2016-05-03\",\"2016-05-04\",\"2016-05-05\",\"2016-05-06\",\"2016-05-09\",\"2016-05-10\",\"2016-05-11\",\"2016-05-12\",\"2016-05-13\",\"2016-05-16\",\"2016-05-17\",\"2016-05-18\",\"2016-05-19\",\"2016-05-20\",\"2016-05-23\",\"2016-05-24\",\"2016-05-25\",\"2016-05-26\",\"2016-05-27\",\"2016-05-30\",\"2016-05-31\",\"2016-06-01\",\"2016-06-02\",\"2016-06-03\",\"2016-06-06\",\"2016-06-07\",\"2016-06-08\",\"2016-06-13\",\"2016-06-14\",\"2016-06-15\",\"2016-06-16\",\"2016-06-17\",\"2016-06-20\",\"2016-06-21\",\"2016-06-22\",\"2016-06-23\",\"2016-06-24\",\"2016-06-27\",\"2016-06-28\",\"2016-06-29\",\"2016-06-30\",\"2016-07-01\",\"2016-07-04\",\"2016-07-05\",\"2016-07-06\",\"2016-07-07\",\"2016-07-08\",\"2016-07-11\",\"2016-07-12\",\"2016-07-13\",\"2016-07-14\",\"2016-07-15\",\"2016-07-18\",\"2016-07-19\",\"2016-07-20\",\"2016-07-21\",\"2016-07-22\",\"2016-07-25\",\"2016-07-26\",\"2016-07-27\",\"2016-07-28\",\"2016-07-29\",\"2016-08-01\",\"2016-08-02\",\"2016-08-03\",\"2016-08-04\",\"2016-08-05\",\"2016-08-08\",\"2016-08-09\",\"2016-08-10\",\"2016-08-11\",\"2016-08-12\",\"2016-08-15\",\"2016-08-16\",\"2016-08-17\",\"2016-08-18\",\"2016-08-19\",\"2016-08-22\",\"2016-08-23\",\"2016-08-24\",\"2016-08-25\",\"2016-08-26\",\"2016-08-29\",\"2016-08-30\",\"2016-08-31\",\"2016-09-01\",\"2016-09-02\",\"2016-09-05\",\"2016-09-06\",\"2016-09-07\",\"2016-09-08\",\"2016-09-09\",\"2016-09-12\",\"2016-09-13\",\"2016-09-14\",\"2016-09-19\",\"2016-09-20\",\"2016-09-21\",\"2016-09-22\",\"2016-09-23\",\"2016-09-26\",\"2016-09-27\",\"2016-09-28\",\"2016-09-29\",\"2016-09-30\",\"2016-10-10\",\"2016-10-11\",\"2016-10-12\",\"2016-10-13\",\"2016-10-14\",\"2016-10-17\",\"2016-10-18\",\"2016-10-19\",\"2016-10-20\",\"2016-10-21\",\"2016-10-24\",\"2016-10-25\",\"2016-10-26\",\"2016-10-27\",\"2016-10-28\",\"2016-10-31\",\"2016-11-01\",\"2016-11-02\",\"2016-11-03\",\"2016-11-04\",\"2016-11-07\",\"2016-11-08\",\"2016-11-09\",\"2016-11-10\",\"2016-11-11\",\"2016-11-14\",\"2016-11-15\",\"2016-11-16\",\"2016-11-17\",\"2016-11-18\",\"2016-11-21\",\"2016-11-22\",\"2016-11-23\",\"2016-11-24\",\"2016-11-25\",\"2016-11-28\",\"2016-11-29\",\"2016-11-30\",\"2016-12-01\",\"2016-12-02\",\"2016-12-05\",\"2016-12-06\",\"2016-12-07\",\"2016-12-08\",\"2016-12-09\",\"2016-12-12\",\"2016-12-13\",\"2016-12-14\",\"2016-12-15\",\"2016-12-16\",\"2016-12-19\",\"2016-12-20\",\"2016-12-21\",\"2016-12-22\",\"2016-12-23\",\"2016-12-26\",\"2016-12-27\",\"2016-12-28\",\"2016-12-29\",\"2016-12-30\",\"2017-01-03\",\"2017-01-04\",\"2017-01-05\",\"2017-01-06\",\"2017-01-09\",\"2017-01-10\",\"2017-01-11\",\"2017-01-12\",\"2017-01-13\",\"2017-01-16\",\"2017-01-17\",\"2017-01-18\",\"2017-01-19\",\"2017-01-20\",\"2017-01-23\",\"2017-01-24\",\"2017-01-25\",\"2017-01-26\",\"2017-02-03\",\"2017-02-06\",\"2017-02-07\",\"2017-02-08\",\"2017-02-09\",\"2017-02-10\",\"2017-02-13\",\"2017-02-14\",\"2017-02-15\",\"2017-02-16\",\"2017-02-17\",\"2017-02-20\",\"2017-02-21\",\"2017-02-22\",\"2017-02-23\",\"2017-02-24\",\"2017-02-27\",\"2017-02-28\",\"2017-03-01\",\"2017-03-02\",\"2017-03-03\",\"2017-03-06\",\"2017-03-07\",\"2017-03-08\",\"2017-03-09\",\"2017-03-10\",\"2017-03-13\",\"2017-03-14\",\"2017-03-15\",\"2017-03-16\",\"2017-03-17\",\"2017-03-20\",\"2017-03-21\",\"2017-03-22\",\"2017-03-23\",\"2017-03-24\",\"2017-03-27\",\"2017-03-28\",\"2017-03-29\",\"2017-03-30\",\"2017-03-31\",\"2017-04-05\",\"2017-04-06\",\"2017-04-07\",\"2017-04-10\",\"2017-04-11\",\"2017-04-12\",\"2017-04-13\",\"2017-04-14\",\"2017-04-17\",\"2017-04-18\",\"2017-04-19\",\"2017-04-20\",\"2017-04-21\",\"2017-04-24\",\"2017-04-25\",\"2017-04-26\",\"2017-04-27\",\"2017-04-28\",\"2017-05-02\",\"2017-05-03\",\"2017-05-04\",\"2017-05-05\",\"2017-05-08\",\"2017-05-09\",\"2017-05-10\",\"2017-05-11\",\"2017-05-12\",\"2017-05-15\",\"2017-05-16\",\"2017-05-17\",\"2017-05-18\",\"2017-05-19\",\"2017-05-22\",\"2017-05-23\",\"2017-05-24\",\"2017-05-25\",\"2017-05-26\",\"2017-05-31\",\"2017-06-01\",\"2017-06-02\",\"2017-06-05\",\"2017-06-06\",\"2017-06-07\",\"2017-06-08\",\"2017-06-09\",\"2017-06-12\",\"2017-06-13\",\"2017-06-14\",\"2017-06-15\",\"2017-06-16\",\"2017-06-19\",\"2017-06-20\",\"2017-06-21\",\"2017-06-22\",\"2017-06-23\",\"2017-06-26\",\"2017-06-27\",\"2017-06-28\",\"2017-06-29\",\"2017-06-30\",\"2017-07-03\",\"2017-07-04\",\"2017-07-05\",\"2017-07-06\",\"2017-07-07\",\"2017-07-10\",\"2017-07-11\",\"2017-07-12\",\"2017-07-13\",\"2017-07-14\",\"2017-07-17\",\"2017-07-18\",\"2017-07-19\",\"2017-07-20\",\"2017-07-21\",\"2017-07-24\",\"2017-07-25\",\"2017-07-26\",\"2017-07-27\",\"2017-07-28\",\"2017-07-31\",\"2017-08-01\",\"2017-08-02\",\"2017-08-03\",\"2017-08-04\",\"2017-08-07\",\"2017-08-08\",\"2017-08-09\",\"2017-08-10\",\"2017-08-11\",\"2017-08-14\",\"2017-08-15\",\"2017-08-16\",\"2017-08-17\",\"2017-08-18\",\"2017-08-21\",\"2017-08-22\",\"2017-08-23\",\"2017-08-24\",\"2017-08-25\",\"2017-08-28\",\"2017-08-29\",\"2017-08-30\",\"2017-08-31\",\"2017-09-01\",\"2017-09-04\",\"2017-09-05\",\"2017-09-06\",\"2017-09-07\",\"2017-09-08\",\"2017-09-11\",\"2017-09-12\",\"2017-09-13\",\"2017-09-14\",\"2017-09-15\",\"2017-09-18\",\"2017-09-19\",\"2017-09-20\",\"2017-09-21\",\"2017-09-22\",\"2017-09-25\",\"2017-09-26\",\"2017-09-27\",\"2017-09-28\",\"2017-09-29\",\"2017-10-09\",\"2017-10-10\",\"2017-10-11\",\"2017-10-12\",\"2017-10-13\",\"2017-10-16\",\"2017-10-17\",\"2017-10-18\",\"2017-10-19\",\"2017-10-20\",\"2017-10-23\",\"2017-10-24\",\"2017-10-25\",\"2017-10-26\",\"2017-10-27\",\"2017-10-30\",\"2017-10-31\",\"2017-11-01\",\"2017-11-02\",\"2017-11-03\",\"2017-11-06\",\"2017-11-07\",\"2017-11-08\",\"2017-11-09\",\"2017-11-10\",\"2017-11-13\",\"2017-11-14\",\"2017-11-15\",\"2017-11-16\",\"2017-11-17\",\"2017-11-20\",\"2017-11-21\",\"2017-11-22\",\"2017-11-23\",\"2017-11-24\",\"2017-11-27\",\"2017-11-28\",\"2017-11-29\",\"2017-11-30\",\"2017-12-01\",\"2017-12-04\",\"2017-12-05\",\"2017-12-06\",\"2017-12-07\",\"2017-12-08\",\"2017-12-11\",\"2017-12-12\",\"2017-12-13\",\"2017-12-14\",\"2017-12-15\",\"2017-12-18\",\"2017-12-19\",\"2017-12-20\",\"2017-12-21\",\"2017-12-22\",\"2017-12-25\",\"2017-12-26\",\"2017-12-27\",\"2017-12-28\",\"2017-12-29\",\"2018-01-02\",\"2018-01-03\",\"2018-01-04\",\"2018-01-05\",\"2018-01-08\",\"2018-01-09\",\"2018-01-10\",\"2018-01-11\",\"2018-01-12\",\"2018-01-15\",\"2018-01-16\",\"2018-01-17\",\"2018-01-18\",\"2018-01-19\",\"2018-01-22\",\"2018-01-23\",\"2018-01-24\",\"2018-01-25\",\"2018-01-26\",\"2018-01-29\",\"2018-01-30\",\"2018-01-31\",\"2018-02-01\",\"2018-02-02\",\"2018-02-05\",\"2018-02-06\",\"2018-02-07\",\"2018-02-08\",\"2018-02-09\",\"2018-02-12\",\"2018-02-13\",\"2018-02-14\",\"2018-02-22\",\"2018-02-23\",\"2018-02-26\",\"2018-02-27\",\"2018-02-28\",\"2018-03-01\",\"2018-03-02\",\"2018-03-05\",\"2018-03-06\",\"2018-03-07\",\"2018-03-08\",\"2018-03-09\",\"2018-03-12\",\"2018-03-13\",\"2018-03-14\",\"2018-03-15\",\"2018-03-16\",\"2018-03-19\",\"2018-03-20\",\"2018-03-21\",\"2018-03-22\",\"2018-03-23\",\"2018-03-26\",\"2018-03-27\",\"2018-03-28\",\"2018-03-29\",\"2018-03-30\",\"2018-04-02\",\"2018-04-03\",\"2018-04-04\",\"2018-04-09\",\"2018-04-10\",\"2018-04-11\",\"2018-04-12\",\"2018-04-13\",\"2018-04-16\",\"2018-04-17\",\"2018-04-18\",\"2018-04-19\",\"2018-04-20\",\"2018-04-23\",\"2018-04-24\",\"2018-04-25\",\"2018-04-26\",\"2018-04-27\",\"2018-05-02\",\"2018-05-03\",\"2018-05-04\",\"2018-05-07\",\"2018-05-08\",\"2018-05-09\",\"2018-05-10\",\"2018-05-11\",\"2018-05-14\",\"2018-05-15\",\"2018-05-16\",\"2018-05-17\",\"2018-05-18\",\"2018-05-21\",\"2018-05-22\",\"2018-05-23\",\"2018-05-24\",\"2018-05-25\",\"2018-05-28\",\"2018-05-29\",\"2018-05-30\",\"2018-05-31\",\"2018-06-01\",\"2018-06-04\",\"2018-06-05\",\"2018-06-06\",\"2018-06-07\",\"2018-06-08\",\"2018-06-11\",\"2018-06-12\",\"2018-06-13\",\"2018-06-14\",\"2018-06-15\",\"2018-06-19\",\"2018-06-20\",\"2018-06-21\",\"2018-06-22\",\"2018-06-25\",\"2018-06-26\",\"2018-06-27\",\"2018-06-28\",\"2018-06-29\",\"2018-07-02\",\"2018-07-03\",\"2018-07-04\",\"2018-07-05\",\"2018-07-06\",\"2018-07-09\",\"2018-07-10\",\"2018-07-11\",\"2018-07-12\",\"2018-07-13\",\"2018-07-16\",\"2018-07-17\",\"2018-07-18\",\"2018-07-19\",\"2018-07-20\",\"2018-07-23\",\"2018-07-24\",\"2018-07-25\",\"2018-07-26\",\"2018-07-27\",\"2018-07-30\",\"2018-07-31\",\"2018-08-01\",\"2018-08-02\",\"2018-08-03\",\"2018-08-06\",\"2018-08-07\",\"2018-08-08\",\"2018-08-09\",\"2018-08-10\",\"2018-08-13\",\"2018-08-14\",\"2018-08-15\",\"2018-08-16\",\"2018-08-17\",\"2018-08-20\",\"2018-08-21\",\"2018-08-22\",\"2018-08-23\",\"2018-08-24\",\"2018-08-27\",\"2018-08-28\",\"2018-08-29\",\"2018-08-30\",\"2018-08-31\",\"2018-09-03\",\"2018-09-04\",\"2018-09-05\",\"2018-09-06\",\"2018-09-07\",\"2018-09-10\",\"2018-09-11\",\"2018-09-12\",\"2018-09-13\",\"2018-09-14\",\"2018-09-17\",\"2018-09-18\",\"2018-09-19\",\"2018-09-20\",\"2018-09-21\",\"2018-09-25\",\"2018-09-26\",\"2018-09-27\",\"2018-09-28\",\"2018-10-08\",\"2018-10-09\",\"2018-10-10\",\"2018-10-11\",\"2018-10-12\",\"2018-10-15\",\"2018-10-16\",\"2018-10-17\",\"2018-10-18\",\"2018-10-19\",\"2018-10-22\",\"2018-10-23\",\"2018-10-24\",\"2018-10-25\",\"2018-10-26\",\"2018-10-29\",\"2018-10-30\",\"2018-10-31\",\"2018-11-01\",\"2018-11-02\",\"2018-11-05\",\"2018-11-06\",\"2018-11-07\",\"2018-11-08\",\"2018-11-09\",\"2018-11-12\",\"2018-11-13\",\"2018-11-14\",\"2018-11-15\",\"2018-11-16\",\"2018-11-19\",\"2018-11-20\",\"2018-11-21\",\"2018-11-22\",\"2018-11-23\",\"2018-11-26\",\"2018-11-27\",\"2018-11-28\",\"2018-11-29\",\"2018-11-30\",\"2018-12-03\",\"2018-12-04\",\"2018-12-05\",\"2018-12-06\",\"2018-12-07\",\"2018-12-10\",\"2018-12-11\",\"2018-12-12\",\"2018-12-13\",\"2018-12-14\",\"2018-12-17\",\"2018-12-18\",\"2018-12-19\",\"2018-12-20\",\"2018-12-21\",\"2018-12-24\",\"2018-12-25\",\"2018-12-26\",\"2018-12-27\",\"2018-12-28\",\"2019-01-02\",\"2019-01-03\",\"2019-01-04\",\"2019-01-07\",\"2019-01-08\",\"2019-01-09\",\"2019-01-10\",\"2019-01-11\",\"2019-01-14\",\"2019-01-15\",\"2019-01-16\",\"2019-01-17\",\"2019-01-18\",\"2019-01-21\",\"2019-01-22\",\"2019-01-23\",\"2019-01-24\",\"2019-01-25\",\"2019-01-28\",\"2019-01-29\",\"2019-01-30\",\"2019-01-31\",\"2019-02-01\",\"2019-02-11\",\"2019-02-12\",\"2019-02-13\",\"2019-02-14\",\"2019-02-15\",\"2019-02-18\",\"2019-02-19\",\"2019-02-20\",\"2019-02-21\",\"2019-02-22\",\"2019-02-25\",\"2019-02-26\",\"2019-02-27\",\"2019-02-28\",\"2019-03-01\",\"2019-03-04\",\"2019-03-05\",\"2019-03-06\",\"2019-03-07\",\"2019-03-08\",\"2019-03-11\",\"2019-03-12\",\"2019-03-13\",\"2019-03-14\",\"2019-03-15\",\"2019-03-18\",\"2019-03-19\",\"2019-03-20\",\"2019-03-21\",\"2019-03-22\",\"2019-03-25\",\"2019-03-26\",\"2019-03-27\",\"2019-03-28\",\"2019-03-29\",\"2019-04-01\",\"2019-04-02\",\"2019-04-03\",\"2019-04-04\",\"2019-04-08\",\"2019-04-09\",\"2019-04-10\",\"2019-04-11\",\"2019-04-12\",\"2019-04-15\",\"2019-04-16\",\"2019-04-17\",\"2019-04-18\",\"2019-04-19\",\"2019-04-22\",\"2019-04-23\",\"2019-04-24\",\"2019-04-25\",\"2019-04-26\",\"2019-04-29\",\"2019-04-30\",\"2019-05-06\",\"2019-05-07\",\"2019-05-08\",\"2019-05-09\",\"2019-05-10\",\"2019-05-13\",\"2019-05-14\",\"2019-05-15\",\"2019-05-16\",\"2019-05-17\",\"2019-05-20\",\"2019-05-21\",\"2019-05-22\",\"2019-05-23\",\"2019-05-24\",\"2019-05-27\",\"2019-05-28\",\"2019-05-29\",\"2019-05-30\",\"2019-05-31\",\"2019-06-03\",\"2019-06-04\",\"2019-06-05\",\"2019-06-06\",\"2019-06-10\",\"2019-06-11\",\"2019-06-12\",\"2019-06-13\",\"2019-06-14\",\"2019-06-17\",\"2019-06-18\",\"2019-06-19\",\"2019-06-20\",\"2019-06-21\",\"2019-06-24\",\"2019-06-25\",\"2019-06-26\",\"2019-06-27\",\"2019-06-28\",\"2019-07-01\",\"2019-07-02\",\"2019-07-03\",\"2019-07-04\",\"2019-07-05\",\"2019-07-08\",\"2019-07-09\",\"2019-07-10\",\"2019-07-11\",\"2019-07-12\",\"2019-07-15\",\"2019-07-16\",\"2019-07-17\",\"2019-07-18\",\"2019-07-19\",\"2019-07-22\",\"2019-07-23\",\"2019-07-24\",\"2019-07-25\",\"2019-07-26\",\"2019-07-29\",\"2019-07-30\",\"2019-07-31\",\"2019-08-01\",\"2019-08-02\",\"2019-08-05\",\"2019-08-06\",\"2019-08-07\",\"2019-08-08\",\"2019-08-09\",\"2019-08-12\",\"2019-08-13\",\"2019-08-14\",\"2019-08-15\",\"2019-08-16\",\"2019-08-19\",\"2019-08-20\",\"2019-08-21\",\"2019-08-22\",\"2019-08-23\",\"2019-08-26\",\"2019-08-27\",\"2019-08-28\",\"2019-08-29\",\"2019-08-30\",\"2019-09-02\",\"2019-09-03\",\"2019-09-04\",\"2019-09-05\",\"2019-09-06\",\"2019-09-09\",\"2019-09-10\",\"2019-09-11\",\"2019-09-12\",\"2019-09-16\",\"2019-09-17\",\"2019-09-18\",\"2019-09-19\",\"2019-09-20\",\"2019-09-23\",\"2019-09-24\",\"2019-09-25\",\"2019-09-26\",\"2019-09-27\",\"2019-09-30\",\"2019-10-08\",\"2019-10-09\",\"2019-10-10\",\"2019-10-11\",\"2019-10-14\",\"2019-10-15\",\"2019-10-16\",\"2019-10-17\",\"2019-10-18\",\"2019-10-21\",\"2019-10-22\",\"2019-10-23\",\"2019-10-24\",\"2019-10-25\",\"2019-10-28\",\"2019-10-29\",\"2019-10-30\",\"2019-10-31\",\"2019-11-01\",\"2019-11-04\",\"2019-11-05\",\"2019-11-06\",\"2019-11-07\",\"2019-11-08\",\"2019-11-11\",\"2019-11-12\",\"2019-11-13\",\"2019-11-14\",\"2019-11-15\",\"2019-11-18\",\"2019-11-19\",\"2019-11-20\",\"2019-11-21\",\"2019-11-22\",\"2019-11-25\",\"2019-11-26\",\"2019-11-27\",\"2019-11-28\",\"2019-11-29\",\"2019-12-02\",\"2019-12-03\",\"2019-12-04\",\"2019-12-05\",\"2019-12-06\",\"2019-12-09\",\"2019-12-10\",\"2019-12-11\",\"2019-12-12\",\"2019-12-13\",\"2019-12-16\",\"2019-12-17\",\"2019-12-18\",\"2019-12-19\",\"2019-12-20\",\"2019-12-23\",\"2019-12-24\",\"2019-12-25\",\"2019-12-26\",\"2019-12-27\",\"2019-12-30\",\"2019-12-31\",\"2020-01-02\",\"2020-01-03\",\"2020-01-06\",\"2020-01-07\",\"2020-01-08\",\"2020-01-09\",\"2020-01-10\",\"2020-01-13\",\"2020-01-14\",\"2020-01-15\",\"2020-01-16\",\"2020-01-17\",\"2020-01-20\",\"2020-01-21\",\"2020-01-22\",\"2020-01-23\",\"2020-02-03\",\"2020-02-04\",\"2020-02-05\",\"2020-02-06\",\"2020-02-07\",\"2020-02-10\",\"2020-02-11\",\"2020-02-12\",\"2020-02-13\",\"2020-02-14\",\"2020-02-17\",\"2020-02-18\",\"2020-02-19\",\"2020-02-20\",\"2020-02-21\",\"2020-02-24\",\"2020-02-25\",\"2020-02-26\",\"2020-02-27\",\"2020-02-28\",\"2020-03-02\",\"2020-03-03\",\"2020-03-04\",\"2020-03-05\",\"2020-03-06\",\"2020-03-09\",\"2020-03-10\",\"2020-03-11\",\"2020-03-12\",\"2020-03-13\",\"2020-03-16\",\"2020-03-17\",\"2020-03-18\",\"2020-03-19\",\"2020-03-20\",\"2020-03-23\",\"2020-03-24\",\"2020-03-25\",\"2020-03-26\",\"2020-03-27\",\"2020-03-30\",\"2020-03-31\",\"2020-04-01\",\"2020-04-02\",\"2020-04-03\",\"2020-04-07\",\"2020-04-08\",\"2020-04-09\",\"2020-04-10\",\"2020-04-13\",\"2020-04-14\",\"2020-04-15\",\"2020-04-16\",\"2020-04-17\",\"2020-04-20\",\"2020-04-21\",\"2020-04-22\",\"2020-04-23\",\"2020-04-24\",\"2020-04-27\",\"2020-04-28\",\"2020-04-29\",\"2020-04-30\",\"2020-05-06\",\"2020-05-07\",\"2020-05-08\",\"2020-05-11\",\"2020-05-12\",\"2020-05-13\",\"2020-05-14\",\"2020-05-15\",\"2020-05-18\",\"2020-05-19\",\"2020-05-20\",\"2020-05-21\",\"2020-05-22\",\"2020-05-25\",\"2020-05-26\",\"2020-05-27\",\"2020-05-28\",\"2020-05-29\",\"2020-06-01\",\"2020-06-02\",\"2020-06-03\",\"2020-06-04\",\"2020-06-05\",\"2020-06-08\",\"2020-06-09\",\"2020-06-10\",\"2020-06-11\",\"2020-06-12\",\"2020-06-15\",\"2020-06-16\",\"2020-06-17\",\"2020-06-18\",\"2020-06-19\",\"2020-06-22\",\"2020-06-23\",\"2020-06-24\",\"2020-06-29\",\"2020-06-30\",\"2020-07-01\",\"2020-07-02\",\"2020-07-03\",\"2020-07-06\",\"2020-07-07\",\"2020-07-08\",\"2020-07-09\",\"2020-07-10\",\"2020-07-13\",\"2020-07-14\",\"2020-07-15\",\"2020-07-16\",\"2020-07-17\",\"2020-07-20\",\"2020-07-21\",\"2020-07-22\",\"2020-07-23\",\"2020-07-24\",\"2020-07-27\",\"2020-07-28\",\"2020-07-29\",\"2020-07-30\",\"2020-07-31\",\"2020-08-03\",\"2020-08-04\",\"2020-08-05\",\"2020-08-06\",\"2020-08-07\",\"2020-08-10\",\"2020-08-11\",\"2020-08-12\",\"2020-08-13\",\"2020-08-14\",\"2020-08-17\",\"2020-08-18\",\"2020-08-19\",\"2020-08-20\",\"2020-08-21\",\"2020-08-24\",\"2020-08-25\",\"2020-08-26\",\"2020-08-27\",\"2020-08-28\",\"2020-08-31\",\"2020-09-01\",\"2020-09-02\",\"2020-09-03\",\"2020-09-04\",\"2020-09-07\",\"2020-09-08\",\"2020-09-09\",\"2020-09-10\",\"2020-09-11\",\"2020-09-14\",\"2020-09-15\",\"2020-09-16\",\"2020-09-17\",\"2020-09-18\",\"2020-09-21\",\"2020-09-22\",\"2020-09-23\",\"2020-09-24\",\"2020-09-25\",\"2020-09-28\",\"2020-09-29\",\"2020-09-30\",\"2020-10-09\",\"2020-10-12\",\"2020-10-13\",\"2020-10-14\",\"2020-10-15\",\"2020-10-16\",\"2020-10-19\",\"2020-10-20\",\"2020-10-21\",\"2020-10-22\",\"2020-10-23\",\"2020-10-26\",\"2020-10-27\",\"2020-10-28\",\"2020-10-29\",\"2020-10-30\",\"2020-11-02\",\"2020-11-03\",\"2020-11-04\",\"2020-11-05\",\"2020-11-06\",\"2020-11-09\",\"2020-11-10\",\"2020-11-11\",\"2020-11-12\",\"2020-11-13\",\"2020-11-16\",\"2020-11-17\",\"2020-11-18\",\"2020-11-19\",\"2020-11-20\",\"2020-11-23\",\"2020-11-24\",\"2020-11-25\",\"2020-11-26\",\"2020-11-27\",\"2020-11-30\",\"2020-12-01\",\"2020-12-02\",\"2020-12-03\",\"2020-12-04\",\"2020-12-07\",\"2020-12-08\",\"2020-12-09\",\"2020-12-10\",\"2020-12-11\",\"2020-12-14\",\"2020-12-15\",\"2020-12-16\",\"2020-12-17\",\"2020-12-18\",\"2020-12-21\",\"2020-12-22\",\"2020-12-23\",\"2020-12-24\",\"2020-12-25\",\"2020-12-28\",\"2020-12-29\",\"2020-12-30\",\"2020-12-31\",\"2021-01-04\",\"2021-01-05\",\"2021-01-06\",\"2021-01-07\",\"2021-01-08\",\"2021-01-11\",\"2021-01-12\",\"2021-01-13\",\"2021-01-14\",\"2021-01-15\",\"2021-01-18\",\"2021-01-19\",\"2021-01-20\",\"2021-01-21\",\"2021-01-22\",\"2021-01-25\",\"2021-01-26\",\"2021-01-27\",\"2021-01-28\",\"2021-01-29\",\"2021-02-01\",\"2021-02-02\",\"2021-02-03\",\"2021-02-04\",\"2021-02-05\",\"2021-02-08\",\"2021-02-09\",\"2021-02-10\",\"2021-02-18\",\"2021-02-19\",\"2021-02-22\",\"2021-02-23\",\"2021-02-24\",\"2021-02-25\",\"2021-02-26\",\"2021-03-01\",\"2021-03-02\",\"2021-03-03\",\"2021-03-04\",\"2021-03-05\",\"2021-03-08\",\"2021-03-09\",\"2021-03-10\",\"2021-03-11\",\"2021-03-12\",\"2021-03-15\",\"2021-03-16\",\"2021-03-17\",\"2021-03-18\",\"2021-03-19\",\"2021-03-22\",\"2021-03-23\",\"2021-03-24\",\"2021-03-25\",\"2021-03-26\",\"2021-03-29\",\"2021-03-30\",\"2021-03-31\",\"2021-04-01\",\"2021-04-02\",\"2021-04-06\",\"2021-04-07\",\"2021-04-08\",\"2021-04-09\",\"2021-04-12\",\"2021-04-13\",\"2021-04-14\",\"2021-04-15\",\"2021-04-16\",\"2021-04-19\",\"2021-04-20\",\"2021-04-21\",\"2021-04-22\",\"2021-04-23\",\"2021-04-26\",\"2021-04-27\",\"2021-04-28\",\"2021-04-29\",\"2021-04-30\",\"2021-05-06\",\"2021-05-07\",\"2021-05-10\",\"2021-05-11\",\"2021-05-12\",\"2021-05-13\",\"2021-05-14\",\"2021-05-17\",\"2021-05-18\",\"2021-05-19\",\"2021-05-20\",\"2021-05-21\",\"2021-05-24\",\"2021-05-25\",\"2021-05-26\",\"2021-05-27\",\"2021-05-28\",\"2021-05-31\",\"2021-06-01\",\"2021-06-02\",\"2021-06-03\",\"2021-06-04\",\"2021-06-07\",\"2021-06-08\",\"2021-06-09\",\"2021-06-10\",\"2021-06-11\",\"2021-06-15\",\"2021-06-16\",\"2021-06-17\",\"2021-06-18\",\"2021-06-21\",\"2021-06-22\",\"2021-06-23\",\"2021-06-24\",\"2021-06-25\",\"2021-06-28\",\"2021-06-29\",\"2021-06-30\",\"2021-07-01\",\"2021-07-02\",\"2021-07-05\",\"2021-07-06\",\"2021-07-07\",\"2021-07-08\",\"2021-07-09\",\"2021-07-12\",\"2021-07-13\",\"2021-07-14\",\"2021-07-15\",\"2021-07-16\",\"2021-07-19\",\"2021-07-20\",\"2021-07-21\",\"2021-07-22\",\"2021-07-23\",\"2021-07-26\",\"2021-07-27\",\"2021-07-28\",\"2021-07-29\",\"2021-07-30\",\"2021-08-02\",\"2021-08-03\",\"2021-08-04\",\"2021-08-05\",\"2021-08-06\",\"2021-08-09\",\"2021-08-10\",\"2021-08-11\",\"2021-08-12\",\"2021-08-13\",\"2021-08-16\",\"2021-08-17\",\"2021-08-18\",\"2021-08-19\",\"2021-08-20\",\"2021-08-23\",\"2021-08-24\",\"2021-08-25\",\"2021-08-26\",\"2021-08-27\",\"2021-08-30\",\"2021-08-31\",\"2021-09-01\",\"2021-09-02\",\"2021-09-03\",\"2021-09-06\",\"2021-09-07\",\"2021-09-08\",\"2021-09-09\",\"2021-09-10\",\"2021-09-13\",\"2021-09-14\",\"2021-09-15\",\"2021-09-16\",\"2021-09-17\",\"2021-09-22\",\"2021-09-23\",\"2021-09-24\",\"2021-09-27\",\"2021-09-28\",\"2021-09-29\",\"2021-09-30\",\"2021-10-08\",\"2021-10-11\",\"2021-10-12\",\"2021-10-13\",\"2021-10-14\",\"2021-10-15\",\"2021-10-18\",\"2021-10-19\",\"2021-10-20\",\"2021-10-21\",\"2021-10-22\",\"2021-10-25\",\"2021-10-26\",\"2021-10-27\",\"2021-10-28\",\"2021-10-29\",\"2021-11-01\",\"2021-11-02\",\"2021-11-03\",\"2021-11-04\",\"2021-11-05\",\"2021-11-08\",\"2021-11-09\",\"2021-11-10\",\"2021-11-11\",\"2021-11-12\",\"2021-11-15\",\"2021-11-16\",\"2021-11-17\",\"2021-11-18\",\"2021-11-19\",\"2021-11-22\",\"2021-11-23\",\"2021-11-24\",\"2021-11-25\",\"2021-11-26\",\"2021-11-29\",\"2021-11-30\",\"2021-12-01\",\"2021-12-02\",\"2021-12-03\",\"2021-12-06\",\"2021-12-07\",\"2021-12-08\",\"2021-12-09\",\"2021-12-10\",\"2021-12-13\",\"2021-12-14\",\"2021-12-15\",\"2021-12-16\",\"2021-12-17\",\"2021-12-20\",\"2021-12-21\",\"2021-12-22\",\"2021-12-23\",\"2021-12-24\",\"2021-12-27\",\"2021-12-28\",\"2021-12-29\",\"2021-12-30\",\"2021-12-31\",\"2022-01-04\",\"2022-01-05\",\"2022-01-06\",\"2022-01-07\",\"2022-01-10\",\"2022-01-11\",\"2022-01-12\",\"2022-01-13\",\"2022-01-14\",\"2022-01-17\",\"2022-01-18\",\"2022-01-19\",\"2022-01-20\",\"2022-01-21\",\"2022-01-24\",\"2022-01-25\",\"2022-01-26\",\"2022-01-27\",\"2022-01-28\",\"2022-02-07\",\"2022-02-08\",\"2022-02-09\",\"2022-02-10\",\"2022-02-11\",\"2022-02-14\",\"2022-02-15\",\"2022-02-16\",\"2022-02-17\",\"2022-02-18\",\"2022-02-21\",\"2022-02-22\",\"2022-02-23\",\"2022-02-24\",\"2022-02-25\",\"2022-02-28\",\"2022-03-01\",\"2022-03-02\",\"2022-03-03\",\"2022-03-04\",\"2022-03-07\",\"2022-03-08\",\"2022-03-09\",\"2022-03-10\",\"2022-03-11\",\"2022-03-14\",\"2022-03-15\",\"2022-03-16\",\"2022-03-17\",\"2022-03-18\",\"2022-03-21\",\"2022-03-22\",\"2022-03-23\",\"2022-03-24\",\"2022-03-25\",\"2022-03-28\",\"2022-03-29\",\"2022-03-30\",\"2022-03-31\",\"2022-04-01\",\"2022-04-06\",\"2022-04-07\",\"2022-04-08\",\"2022-04-11\",\"2022-04-12\",\"2022-04-13\",\"2022-04-14\",\"2022-04-15\",\"2022-04-18\",\"2022-04-19\",\"2022-04-20\",\"2022-04-21\",\"2022-04-22\",\"2022-04-25\",\"2022-04-26\",\"2022-04-27\",\"2022-04-28\",\"2022-04-29\",\"2022-05-05\",\"2022-05-06\",\"2022-05-09\",\"2022-05-10\",\"2022-05-11\",\"2022-05-12\",\"2022-05-13\",\"2022-05-16\",\"2022-05-17\",\"2022-05-18\",\"2022-05-19\",\"2022-05-20\",\"2022-05-23\",\"2022-05-24\",\"2022-05-25\",\"2022-05-26\",\"2022-05-27\",\"2022-05-30\",\"2022-05-31\",\"2022-06-01\",\"2022-06-02\",\"2022-06-06\",\"2022-06-07\",\"2022-06-08\",\"2022-06-09\",\"2022-06-10\",\"2022-06-13\",\"2022-06-14\",\"2022-06-15\",\"2022-06-16\",\"2022-06-17\",\"2022-06-20\",\"2022-06-21\",\"2022-06-22\",\"2022-06-23\",\"2022-06-24\",\"2022-06-27\",\"2022-06-28\",\"2022-06-29\",\"2022-06-30\",\"2022-07-01\",\"2022-07-04\",\"2022-07-05\",\"2022-07-06\",\"2022-07-07\",\"2022-07-08\",\"2022-07-11\",\"2022-07-12\",\"2022-07-13\",\"2022-07-14\",\"2022-07-15\",\"2022-07-18\",\"2022-07-19\",\"2022-07-20\",\"2022-07-21\",\"2022-07-22\",\"2022-07-25\",\"2022-07-26\",\"2022-07-27\",\"2022-07-28\",\"2022-07-29\",\"2022-08-01\",\"2022-08-02\",\"2022-08-03\",\"2022-08-04\",\"2022-08-05\",\"2022-08-08\",\"2022-08-09\",\"2022-08-10\",\"2022-08-11\",\"2022-08-12\",\"2022-08-15\",\"2022-08-16\",\"2022-08-17\",\"2022-08-18\",\"2022-08-19\",\"2022-08-22\",\"2022-08-23\",\"2022-08-24\",\"2022-08-25\",\"2022-08-26\",\"2022-08-29\",\"2022-08-30\",\"2022-08-31\",\"2022-09-01\",\"2022-09-02\",\"2022-09-05\",\"2022-09-06\",\"2022-09-07\",\"2022-09-08\",\"2022-09-09\",\"2022-09-13\",\"2022-09-14\",\"2022-09-15\",\"2022-09-16\",\"2022-09-19\",\"2022-09-20\",\"2022-09-21\",\"2022-09-22\",\"2022-09-23\",\"2022-09-26\",\"2022-09-27\",\"2022-09-28\",\"2022-09-29\",\"2022-09-30\",\"2022-10-10\",\"2022-10-11\",\"2022-10-12\",\"2022-10-13\",\"2022-10-14\",\"2022-10-17\",\"2022-10-18\",\"2022-10-19\",\"2022-10-20\",\"2022-10-21\",\"2022-10-24\",\"2022-10-25\",\"2022-10-26\",\"2022-10-27\",\"2022-10-28\",\"2022-10-31\",\"2022-11-01\",\"2022-11-02\",\"2022-11-03\",\"2022-11-04\",\"2022-11-07\",\"2022-11-08\",\"2022-11-09\",\"2022-11-10\",\"2022-11-11\",\"2022-11-14\",\"2022-11-15\",\"2022-11-16\",\"2022-11-17\",\"2022-11-18\",\"2022-11-21\",\"2022-11-22\",\"2022-11-23\",\"2022-11-24\",\"2022-11-25\",\"2022-11-28\",\"2022-11-29\",\"2022-11-30\",\"2022-12-01\",\"2022-12-02\",\"2022-12-05\",\"2022-12-06\",\"2022-12-07\",\"2022-12-08\",\"2022-12-09\",\"2022-12-12\",\"2022-12-13\",\"2022-12-14\",\"2022-12-15\",\"2022-12-16\",\"2022-12-19\",\"2022-12-20\",\"2022-12-21\",\"2022-12-22\",\"2022-12-23\",\"2022-12-26\",\"2022-12-27\",\"2022-12-28\",\"2022-12-29\",\"2022-12-30\",\"2023-01-03\",\"2023-01-04\",\"2023-01-05\",\"2023-01-06\",\"2023-01-09\",\"2023-01-10\",\"2023-01-11\",\"2023-01-12\",\"2023-01-13\",\"2023-01-16\",\"2023-01-17\",\"2023-01-18\",\"2023-01-19\",\"2023-01-20\",\"2023-01-30\",\"2023-01-31\",\"2023-02-01\",\"2023-02-02\",\"2023-02-03\",\"2023-02-06\",\"2023-02-07\",\"2023-02-08\",\"2023-02-09\",\"2023-02-10\",\"2023-02-13\",\"2023-02-14\",\"2023-02-15\",\"2023-02-16\",\"2023-02-17\",\"2023-02-20\",\"2023-02-21\",\"2023-02-22\",\"2023-02-23\",\"2023-02-24\",\"2023-02-27\",\"2023-02-28\",\"2023-03-01\",\"2023-03-02\",\"2023-03-03\",\"2023-03-06\",\"2023-03-07\",\"2023-03-08\",\"2023-03-09\",\"2023-03-10\",\"2023-03-13\",\"2023-03-14\",\"2023-03-15\",\"2023-03-16\",\"2023-03-17\",\"2023-03-20\",\"2023-03-21\",\"2023-03-22\",\"2023-03-23\",\"2023-03-24\",\"2023-03-27\",\"2023-03-28\",\"2023-03-29\",\"2023-03-30\",\"2023-03-31\",\"2023-04-03\",\"2023-04-04\",\"2023-04-06\",\"2023-04-07\",\"2023-04-10\",\"2023-04-11\",\"2023-04-12\",\"2023-04-13\",\"2023-04-14\",\"2023-04-17\",\"2023-04-18\",\"2023-04-19\",\"2023-04-20\",\"2023-04-21\",\"2023-04-24\",\"2023-04-25\",\"2023-04-26\",\"2023-04-27\",\"2023-04-28\",\"2023-05-04\",\"2023-05-05\",\"2023-05-08\",\"2023-05-09\",\"2023-05-10\",\"2023-05-11\",\"2023-05-12\",\"2023-05-15\",\"2023-05-16\",\"2023-05-17\",\"2023-05-18\",\"2023-05-19\",\"2023-05-22\",\"2023-05-23\",\"2023-05-24\",\"2023-05-25\",\"2023-05-26\",\"2023-05-29\",\"2023-05-30\",\"2023-05-31\",\"2023-06-01\",\"2023-06-02\",\"2023-06-05\",\"2023-06-06\",\"2023-06-07\",\"2023-06-08\",\"2023-06-09\",\"2023-06-12\",\"2023-06-13\",\"2023-06-14\",\"2023-06-15\",\"2023-06-16\",\"2023-06-19\",\"2023-06-20\",\"2023-06-21\",\"2023-06-26\",\"2023-06-27\",\"2023-06-28\",\"2023-06-29\",\"2023-06-30\",\"2023-07-03\",\"2023-07-04\",\"2023-07-05\",\"2023-07-06\",\"2023-07-07\",\"2023-07-10\",\"2023-07-11\",\"2023-07-12\",\"2023-07-13\",\"2023-07-14\",\"2023-07-17\",\"2023-07-18\",\"2023-07-19\",\"2023-07-20\",\"2023-07-21\",\"2023-07-24\",\"2023-07-25\",\"2023-07-26\",\"2023-07-27\",\"2023-07-28\",\"2023-07-31\",\"2023-08-01\",\"2023-08-02\",\"2023-08-03\",\"2023-08-04\",\"2023-08-07\",\"2023-08-08\",\"2023-08-09\",\"2023-08-10\",\"2023-08-11\",\"2023-08-14\",\"2023-08-15\",\"2023-08-16\",\"2023-08-17\",\"2023-08-18\",\"2023-08-21\",\"2023-08-22\",\"2023-08-23\",\"2023-08-24\",\"2023-08-25\",\"2023-08-28\",\"2023-08-29\",\"2023-08-30\",\"2023-08-31\",\"2023-09-01\",\"2023-09-04\",\"2023-09-05\",\"2023-09-06\",\"2023-09-07\",\"2023-09-08\",\"2023-09-11\",\"2023-09-12\",\"2023-09-13\",\"2023-09-14\",\"2023-09-15\",\"2023-09-18\",\"2023-09-19\",\"2023-09-20\",\"2023-09-21\",\"2023-09-22\",\"2023-09-25\",\"2023-09-26\",\"2023-09-27\",\"2023-09-28\",\"2023-10-09\",\"2023-10-10\",\"2023-10-11\",\"2023-10-12\",\"2023-10-13\",\"2023-10-16\",\"2023-10-17\",\"2023-10-18\",\"2023-10-19\",\"2023-10-20\",\"2023-10-23\",\"2023-10-24\",\"2023-10-25\",\"2023-10-26\",\"2023-10-27\",\"2023-10-30\",\"2023-10-31\",\"2023-11-01\",\"2023-11-02\",\"2023-11-03\",\"2023-11-06\",\"2023-11-07\",\"2023-11-08\",\"2023-11-09\",\"2023-11-10\",\"2023-11-13\",\"2023-11-14\",\"2023-11-15\",\"2023-11-16\",\"2023-11-17\",\"2023-11-20\",\"2023-11-21\",\"2023-11-22\",\"2023-11-23\",\"2023-11-24\",\"2023-11-27\",\"2023-11-28\",\"2023-11-29\",\"2023-11-30\",\"2023-12-01\",\"2023-12-04\",\"2023-12-05\",\"2023-12-06\",\"2023-12-07\",\"2023-12-08\",\"2023-12-11\",\"2023-12-12\",\"2023-12-13\",\"2023-12-14\",\"2023-12-15\",\"2023-12-18\",\"2023-12-19\",\"2023-12-20\",\"2023-12-21\",\"2023-12-22\",\"2023-12-25\",\"2023-12-26\",\"2023-12-27\",\"2023-12-28\",\"2023-12-29\",\"2024-01-02\",\"2024-01-03\",\"2024-01-04\",\"2024-01-05\",\"2024-01-08\",\"2024-01-09\",\"2024-01-10\",\"2024-01-11\",\"2024-01-12\",\"2024-01-15\",\"2024-01-16\",\"2024-01-17\",\"2024-01-18\",\"2024-01-19\",\"2024-01-22\",\"2024-01-23\",\"2024-01-24\",\"2024-01-25\",\"2024-01-26\",\"2024-01-29\",\"2024-01-30\",\"2024-01-31\",\"2024-02-01\",\"2024-02-02\",\"2024-02-05\",\"2024-02-06\",\"2024-02-07\",\"2024-02-08\",\"2024-02-19\",\"2024-02-20\",\"2024-02-21\",\"2024-02-22\",\"2024-02-23\",\"2024-02-26\",\"2024-02-27\",\"2024-02-28\",\"2024-02-29\",\"2024-03-01\",\"2024-03-04\",\"2024-03-05\",\"2024-03-06\",\"2024-03-07\",\"2024-03-08\",\"2024-03-11\",\"2024-03-12\",\"2024-03-13\",\"2024-03-14\",\"2024-03-15\",\"2024-03-18\",\"2024-03-19\",\"2024-03-20\",\"2024-03-21\",\"2024-03-22\",\"2024-03-25\",\"2024-03-26\",\"2024-03-27\",\"2024-03-28\",\"2024-03-29\",\"2024-04-01\",\"2024-04-02\",\"2024-04-03\",\"2024-04-08\",\"2024-04-09\",\"2024-04-10\",\"2024-04-11\",\"2024-04-12\",\"2024-04-15\",\"2024-04-16\",\"2024-04-17\",\"2024-04-18\",\"2024-04-19\",\"2024-04-22\",\"2024-04-23\",\"2024-04-24\",\"2024-04-25\",\"2024-04-26\",\"2024-04-29\",\"2024-04-30\",\"2024-05-06\",\"2024-05-07\",\"2024-05-08\",\"2024-05-09\",\"2024-05-10\",\"2024-05-13\",\"2024-05-14\",\"2024-05-15\",\"2024-05-16\",\"2024-05-17\",\"2024-05-20\",\"2024-05-21\",\"2024-05-22\",\"2024-05-23\",\"2024-05-24\",\"2024-05-27\",\"2024-05-28\",\"2024-05-29\",\"2024-05-30\",\"2024-05-31\",\"2024-06-03\",\"2024-06-04\",\"2024-06-05\",\"2024-06-06\",\"2024-06-07\",\"2024-06-11\",\"2024-06-12\",\"2024-06-13\",\"2024-06-14\",\"2024-06-17\",\"2024-06-18\",\"2024-06-19\",\"2024-06-20\",\"2024-06-21\",\"2024-06-24\",\"2024-06-25\",\"2024-06-26\",\"2024-06-27\",\"2024-06-28\",\"2024-07-01\",\"2024-07-02\",\"2024-07-03\",\"2024-07-04\",\"2024-07-05\",\"2024-07-08\",\"2024-07-09\",\"2024-07-10\",\"2024-07-11\",\"2024-07-12\",\"2024-07-15\",\"2024-07-16\",\"2024-07-17\",\"2024-07-18\",\"2024-07-19\",\"2024-07-22\",\"2024-07-23\",\"2024-07-24\",\"2024-07-25\",\"2024-07-26\",\"2024-07-29\",\"2024-07-30\",\"2024-07-31\",\"2024-08-01\",\"2024-08-02\",\"2024-08-05\",\"2024-08-06\",\"2024-08-07\",\"2024-08-08\",\"2024-08-09\",\"2024-08-12\",\"2024-08-13\",\"2024-08-14\",\"2024-08-15\",\"2024-08-16\",\"2024-08-19\",\"2024-08-20\",\"2024-08-21\",\"2024-08-22\",\"2024-08-23\",\"2024-08-26\",\"2024-08-27\",\"2024-08-28\",\"2024-08-29\",\"2024-08-30\",\"2024-09-02\",\"2024-09-03\",\"2024-09-04\",\"2024-09-05\",\"2024-09-06\",\"2024-09-09\",\"2024-09-10\",\"2024-09-11\",\"2024-09-12\",\"2024-09-13\",\"2024-09-18\",\"2024-09-19\",\"2024-09-20\",\"2024-09-23\",\"2024-09-24\",\"2024-09-25\",\"2024-09-26\",\"2024-09-27\",\"2024-09-30\",\"2024-10-08\",\"2024-10-09\",\"2024-10-10\",\"2024-10-11\",\"2024-10-14\",\"2024-10-15\",\"2024-10-16\",\"2024-10-17\",\"2024-10-18\",\"2024-10-21\",\"2024-10-22\",\"2024-10-23\",\"2024-10-24\",\"2024-10-25\",\"2024-10-28\",\"2024-10-29\",\"2024-10-30\",\"2024-10-31\",\"2024-11-01\",\"2024-11-04\",\"2024-11-05\",\"2024-11-06\",\"2024-11-08\",\"2024-11-11\",\"2024-11-12\",\"2024-11-13\",\"2024-11-14\",\"2024-11-15\",\"2024-11-18\",\"2024-11-19\",\"2024-11-20\",\"2024-11-21\",\"2024-11-22\",\"2024-11-25\",\"2024-11-26\",\"2024-11-27\",\"2024-11-28\",\"2024-11-29\",\"2024-12-02\",\"2024-12-03\",\"2024-12-04\",\"2024-12-05\",\"2024-12-06\",\"2024-12-09\",\"2024-12-10\",\"2024-12-11\",\"2024-12-12\",\"2024-12-13\",\"2024-12-16\",\"2024-12-17\",\"2024-12-18\",\"2024-12-19\",\"2024-12-20\",\"2024-12-23\",\"2024-12-24\",\"2024-12-25\",\"2024-12-26\",\"2024-12-27\",\"2024-12-30\",\"2024-12-31\",\"2025-01-02\",\"2025-01-03\",\"2025-01-06\",\"2025-01-07\",\"2025-01-08\",\"2025-01-09\",\"2025-01-10\",\"2025-01-13\",\"2025-01-14\",\"2025-01-15\",\"2025-01-16\",\"2025-01-17\",\"2025-01-20\",\"2025-01-21\",\"2025-01-22\",\"2025-01-23\",\"2025-01-24\",\"2025-01-27\",\"2025-02-05\",\"2025-02-06\",\"2025-02-07\",\"2025-02-10\",\"2025-02-11\",\"2025-02-12\",\"2025-02-13\",\"2025-02-14\",\"2025-02-17\",\"2025-02-18\",\"2025-02-19\",\"2025-02-20\",\"2025-02-21\",\"2025-02-24\",\"2025-02-25\",\"2025-02-26\",\"2025-02-27\",\"2025-02-28\",\"2025-03-03\",\"2025-03-04\",\"2025-03-05\",\"2025-03-06\",\"2025-03-07\",\"2025-03-10\",\"2025-03-11\",\"2025-03-12\",\"2025-03-13\",\"2025-03-14\",\"2025-03-17\",\"2025-03-18\",\"2025-03-19\",\"2025-03-20\",\"2025-03-21\",\"2025-03-24\",\"2025-03-25\",\"2025-03-26\",\"2025-03-27\",\"2025-03-31\",\"2025-04-01\",\"2025-04-02\",\"2025-04-03\",\"2025-04-07\",\"2025-04-08\",\"2025-04-09\",\"2025-04-10\",\"2025-04-11\",\"2025-04-14\",\"2025-04-15\",\"2025-04-16\",\"2025-04-17\",\"2025-04-18\",\"2025-04-21\",\"2025-04-22\",\"2025-04-23\",\"2025-04-24\",\"2025-04-25\",\"2025-04-28\",\"2025-04-29\",\"2025-04-30\",\"2025-05-06\",\"2025-05-08\",\"2025-05-09\",\"2025-05-12\",\"2025-05-13\",\"2025-05-14\",\"2025-05-15\",\"2025-05-16\",\"2025-05-19\",\"2025-05-20\",\"2025-05-21\",\"2025-05-22\",\"2025-05-23\",\"2025-05-26\",\"2025-05-27\",\"2025-05-28\",\"2025-05-29\",\"2025-05-30\",\"2025-06-09\",\"2025-06-10\",\"2025-06-11\",\"2025-06-12\",\"2025-06-13\",\"2025-06-16\",\"2025-06-17\",\"2025-06-18\",\"2025-06-19\",\"2025-06-20\",\"2025-06-23\",\"2025-06-24\",\"2025-06-25\",\"2025-06-26\",\"2025-06-27\",\"2025-06-30\",\"2025-07-01\",\"2025-07-02\",\"2025-07-03\",\"2025-07-04\",\"2025-07-07\",\"2025-07-08\",\"2025-07-09\",\"2025-07-10\",\"2025-07-11\",\"2025-07-14\",\"2025-07-15\",\"2025-07-16\",\"2025-07-17\",\"2025-07-18\",\"2025-07-21\",\"2025-07-22\",\"2025-07-23\",\"2025-07-24\",\"2025-07-25\",\"2025-07-28\",\"2025-07-29\",\"2025-07-30\",\"2025-07-31\",\"2025-08-01\",\"2025-08-04\",\"2025-08-05\",\"2025-08-06\",\"2025-08-13\",\"2025-08-14\",\"2025-08-15\",\"2025-08-18\",\"2025-08-19\",\"2025-08-20\",\"2025-08-21\",\"2025-08-22\",\"2025-08-25\",\"2025-08-26\",\"2025-08-27\",\"2025-08-28\",\"2025-08-29\",\"2025-09-01\",\"2025-09-02\",\"2025-09-03\",\"2025-09-04\",\"2025-09-05\",\"2025-09-08\",\"2025-09-09\",\"2025-09-10\",\"2025-09-11\",\"2025-09-12\",\"2025-09-15\",\"2025-09-16\",\"2025-09-17\",\"2025-09-18\",\"2025-09-19\",\"2025-09-22\",\"2025-09-23\",\"2025-09-24\",\"2025-09-25\",\"2025-09-26\",\"2025-09-29\",\"2025-09-30\",\"2025-10-09\",\"2025-10-10\",\"2025-10-13\",\"2025-10-14\",\"2025-10-15\",\"2025-10-16\",\"2025-10-17\",\"2025-10-20\",\"2025-10-21\",\"2025-10-22\",\"2025-10-23\",\"2025-10-24\",\"2025-10-27\",\"2025-10-28\",\"2025-10-29\",\"2025-10-30\",\"2025-10-31\",\"2025-11-03\",\"2025-11-04\",\"2025-11-05\",\"2025-11-06\",\"2025-11-07\",\"2025-11-10\",\"2025-11-11\",\"2025-11-12\",\"2025-11-13\",\"2025-11-14\",\"2025-11-17\",\"2025-11-18\",\"2025-11-19\",\"2025-11-20\",\"2025-11-21\",\"2025-11-24\",\"2025-11-25\",\"2025-11-26\",\"2025-11-27\",\"2025-11-28\",\"2025-12-01\",\"2025-12-02\",\"2025-12-03\",\"2025-12-04\",\"2025-12-05\",\"2025-12-08\",\"2025-12-09\",\"2025-12-10\",\"2025-12-11\",\"2025-12-12\",\"2025-12-15\",\"2025-12-16\",\"2025-12-17\",\"2025-12-18\",\"2025-12-19\",\"2025-12-22\",\"2025-12-23\",\"2025-12-24\",\"2025-12-25\",\"2025-12-26\",\"2025-12-29\",\"2025-12-30\",\"2025-12-31\",\"2026-01-05\",\"2026-01-06\",\"2026-01-07\",\"2026-01-08\",\"2026-01-09\",\"2026-01-12\",\"2026-01-13\",\"2026-01-14\",\"2026-01-15\",\"2026-01-16\",\"2026-01-19\",\"2026-01-20\",\"2026-01-21\",\"2026-01-22\",\"2026-01-23\",\"2026-01-26\",\"2026-01-27\",\"2026-01-28\",\"2026-01-29\",\"2026-01-30\",\"2026-02-02\",\"2026-02-03\",\"2026-02-04\",\"2026-02-05\",\"2026-02-06\",\"2026-02-09\",\"2026-02-10\",\"2026-02-11\",\"2026-02-12\",\"2026-02-13\",\"2026-02-24\",\"2026-02-25\",\"2026-02-26\",\"2026-02-27\",\"2026-03-02\",\"2026-03-03\",\"2026-03-04\",\"2026-03-05\",\"2026-03-06\",\"2026-03-09\",\"2026-03-10\",\"2026-03-11\",\"2026-03-12\",\"2026-03-13\",\"2026-03-16\",\"2026-03-17\",\"2026-03-18\",\"2026-03-19\",\"2026-03-20\",\"2026-03-23\",\"2026-03-24\",\"2026-03-25\",\"2026-03-26\",\"2026-03-27\",\"2026-03-30\",\"2026-03-31\",\"2026-04-01\",\"2026-04-02\",\"2026-04-03\",\"2026-04-07\",\"2026-04-08\",\"2026-04-09\",\"2026-04-10\",\"2026-04-13\",\"2026-04-14\",\"2026-04-15\",\"2026-04-16\",\"2026-04-17\",\"2026-04-20\",\"2026-04-21\",\"2026-04-22\",\"2026-04-23\",\"2026-04-24\",\"2026-04-27\",\"2026-04-28\",\"2026-04-29\",\"2026-04-30\",\"2026-05-06\",\"2026-05-07\",\"2026-05-08\",\"2026-05-11\",\"2026-05-12\",\"2026-05-13\",\"2026-05-14\",\"2026-05-15\",\"2026-05-18\",\"2026-05-19\",\"2026-05-20\",\"2026-05-21\",\"2026-05-22\",\"2026-05-25\",\"2026-05-26\",\"2026-05-27\",\"2026-05-28\",\"2026-05-29\",\"2026-06-01\",\"2026-06-02\",\"2026-06-03\",\"2026-06-04\",\"2026-06-05\",\"2026-06-08\",\"2026-06-09\",\"2026-06-10\"];\r\n          const invAll    = [232664,228863,225703,227774,227253,227253,229856,229113,229113,230099,235716,236923,222579,222271,225827,227604,227091,230473,268389,267863,268212,261455,260458,258396,249969,251334,247734,239426,234430,230608,229424,200473,204637,214769,207847,200876,200876,199284,201204,201274,197231,196748,191687,185989,184978,171878,171302,169505,166873,163805,163805,148527,148527,148527,148180,142497,142711,142711,145195,137677,140010,139752,138546,139546,129909,124124,126963,104864,102886,102765,101224,100231,95087,95087,95087,96518,94067,93304,92724,92724,92724,92545,88804,97354,97354,94335,94335,86908,86908,81231,80501,80501,89253,94992,94962,94962,94807,94807,103132,103132,103132,103132,102587,102073,106906,106906,114808,114808,119812,119269,119269,119269,124854,124854,124854,124854,124854,124854,138466,126848,125190,125190,124344,124439,122439,122439,120102,120100,119858,108860,108860,93413,93828,105919,131908,131123,132117,145125,144130,144130,150615,158478,164346,164346,164346,152495,150480,147610,131416,114321,114321,122793,123798,103808,119013,121542,120346,120346,120346,127697,137713,140706,141704,158233,154352,155353,152356,163249,168797,169288,168983,168983,168946,168946,175727,182571,180023,193513,193513,201847,212182,213011,218767,230606,232907,249926,252938,247562,247501,222843,222843,238579,250338,249746,248539,252306,256814,255663,254847,257852,262996,269174,269174,275333,283305,269897,272249,272249,278768,286530,289368,300396,317710,326178,330114,330114,332737,335726,341548,344518,346699,346211,349598,347285,345063,352046,343504,320547,315273,317291,311855,308842,308842,311975,326106,325606,315152,319983,319983,329645,342043,335893,343549,353364,357490,360480,362001,358819,358819,349010,357044,352060,357936,358917,344070,344131,349851,349851,361400,358310,367482,379586,385015,393709,385155,385155,385566,383515,383515,389546,383725,376350,362060,356606,332159,328702,326959,338721,330365,336065,319966,316586,314184,317127,316316,317220,313548,310973,310200,304451,297480,292979,268593,263239,266901,266746,262687,260702,259512,255137,253072,253072,250752,250752,250607,253093,252782,256233,256113,233292,237344,238759,252672,258055,257874,254942,267246,267969,267969,290687,292731,295061,302161,309923,309651,314034,325872,334085,336602,331412,331412,339907,320026,316534,316193,319676,319611,324309,325287,325283,324737,333947,342925,361493,366790,385771,386493,396225,396225,403864,416567,431657,446971,456916,466224,466224,476509,486829,490018,485679,491188,496145,501030,502809,504734,522039,527846,523787,525383,528076,515059,509072,510634,509925,512716,511748,513343,507954,515986,508299,509334,509334,509430,507381,506377,515594,532406,535526,534815,534815,534815,505857,509821,519361,536319,535292,569389,572763,596306,607298,615537,624614,624772,635717,640237,664615,679790,705908,737662,763708,767875,770541,787947,789200,791197,792956,794029,793031,802146,818871,879324,882801,906050,962057,975858,991595,993531,1017513,1026398,1032355,1034848,1054297,1082561,1089373,1105694,1171652,1222739,1238656,1267387,1305024,1315643,1327840,1328399,1333716,1347619,1398434,1405549,1415777,1415558,1452652,1457018,1465839,1474574,1492270,1502599,1509406,1527451,1535330,1535330,1553101,1571846,1601659,1624505,1623517,1634859,1627149,1635788,1678375,1698766,1702933,1728419,1748747,1765397,1767152,1807749,1816417,1839086,1874631,1885374,1892586,1896885,1903628,1962940,1964568,1958494,1958986,1953085,1958748,1965552,1973177,1968012,1964032,1957556,1941120,1931426,1918556,1922248,1903550,1890274,1901459,1893135,1876273,1876720,1881310,1877701,1883879,1893460,1883330,1884816,1891810,1881014,1881913,1878311,1876057,1875658,1879732,1874037,1861165,1851730,1850824,1859646,1877446,1874845,1868931,1871698,1874108,1867741,1886064,1903750,1916025,1915521,1920309,1923262,1911676,1914806,1911836,1911088,1913664,1910904,1925879,1927792,1930273,1939799,1940286,1948253,1951130,1970107,1960585,1958070,1940481,1935288,1930284,1914259,1884224,1874646,1861236,1849548,1842020,1821814,1803540,1789971,1755012,1743448,1732953,1720821,1726132,1717852,1703360,1705417,1703403,1700228,1705654,1701639,1699539,1696579,1694751,1666435,1666404,1674291,1652484,1628786,1631077,1634987,1634236,1649937,1623514,1596288,1582482,1572890,1572415,1567819,1570233,1570075,1571959,1571976,1587073,1588021,1597856,1622566,1638392,1637952,1646731,1659345,1673969,1690866,1693653,1704984,1739040,1752615,1766641,1781859,1777036,1793397,1791657,1788804,1788044,1791522,1823677,1832708,1872008,1868195,1868195,1870900,1874693,1874139,1882306,1885070,1887205,1889501,1901028,1894746,1894806,1897661,1925924,1909774,1905630,1889262,1869465,1858694,1849329,1851168,1857554,1857554,1857554,1863038,1861786,1870994,1874493,1875955,1877936,1901573,1902594,1905689,1930461,1939601,1961848,1955867,1972243,1977120,1979278,1993892,1999370,2003330,2003330,2004260,2002019,2010007,2021885,2045119,2059663,2072985,2074977,2083125,2095857,2094648,2100553,2103014,2108387,2114762,2120051,2131979,2136823,2138239,2125633,2118107,2101465,2087748,2066954,2056390,2018031,2010721,1997955,1992755,1984215,1979180,1950288,1955682,1949104,1958844,1959780,1974174,1970304,1983915,1994925,1995426,1991427,1980024,1954156,1946542,1938615,1936816,1932485,1918484,1906708,1903012,1875871,1831658,1803292,1782476,1778789,1772785,1723416,1690737,1672876,1653836,1633352,1613965,1594166,1585563,1569446,1547477,1550134,1534901,1531873,1532598,1501092,1488863,1478832,1466577,1452395,1446189,1442031,1434512,1435197,1432176,1429076,1428046,1425992,1419052,1421189,1419488,1425306,1420542,1410000,1401701,1387427,1378934,1375156,1371146,1362397,1354425,1355271,1342979,1330057,1308581,1290775,1283826,1277951,1261089,1250455,1241446,1227617,1224713,1211378,1205051,1208013,1196124,1196662,1192321,1196118,1203594,1219271,1224110,1220116,1225737,1238282,1243526,1243526,1253207,1246821,1260543,1257587,1263844,1268577,1270151,1273793,1274090,1273083,1266086,1276982,1270352,1272933,1270399,1274743,1286974,1290488,1298315,1312822,1312822,1313770,1316720,1314485,1316705,1329039,1328733,1329826,1329029,1332990,1331966,1328542,1340706,1330149,1332157,1330627,1325617,1326075,1332571,1322573,1324011,1323507,1318514,1315875,1317671,1312654,1318763,1321014,1320649,1319814,1316991,1320992,1323523,1327705,1321917,1315636,1320310,1317932,1325138,1323261,1321581,1323725,1318194,1318194,1324328,1323332,1317333,1320180,1315159,1317125,1322459,1327938,1347447,1353347,1360044,1357522,1358427,1363747,1365890,1362500,1355630,1356272,1351845,1357461,1348058,1337302,1324691,1321802,1321772,1308711,1307165,1308441,1302789,1300523,1306458,1307339,1309001,1316785,1341852,1343823,1347980,1345011,1342651,1361440,1376118,1376743,1361127,1361324,1353603,1353266,1348091,1337208,1333911,1327738,1327482,1308319,1303572,1310468,1322544,1329880,1326834,1336732,1339009,1344195,1339172,1315509,1316558,1332643,1343397,1343397,1347407,1344936,1344936,1340276,1338771,1364215,1366349,1374775,1378777,1370752,1370032,1372062,1371051,1369836,1363783,1365035,1349438,1344445,1334267,1327460,1321231,1321424,1316838,1322328,1322673,1324050,1318270,1317935,1310986,1297503,1296443,1295938,1297803,1298856,1296594,1286504,1301261,1309706,1309888,1318756,1327639,1329027,1336375,1330028,1330572,1339560,1344338,1323024,1320921,1316129,1293510,1286513,1290805,1298530,1299578,1320571,1323393,1321459,1307348,1305734,1301220,1304228,1313325,1326081,1324285,1321876,1316776,1346890,1344884,1340315,1353049,1349541,1355912,1350253,1354242,1350666,1348215,1346240,1355794,1365089,1362104,1361551,1363088,1365114,1383370,1385264,1394872,1409966,1424189,1423092,1422378,1423645,1427749,1442307,1438447,1431295,1417282,1416446,1413258,1405317,1396078,1387921,1391274,1382384,1377468,1378796,1377799,1377799,1375886,1374381,1373232,1379337,1393540,1393616,1393492,1394784,1396906,1396906,1396312,1392702,1390862,1387340,1376063,1382755,1378135,1370143,1369647,1365663,1361443,1361443,1361443,1361443,1361200,1368284,1366756,1358020,1346038,1335356,1332734,1330576,1324658,1321259,1320111,1313555,1315482,1316207,1293350,1290020,1291157,1289573,1289877,1277338,1287614,1287245,1290320,1288326,1282915,1282915,1280928,1264035,1278059,1274896,1269876,1261078,1262979,1261675,1260597,1257163,1254877,1250958,1257484,1252446,1251417,1250176,1241201,1236198,1220261,1213620,1204730,1171100,1156513,1145760,1124647,1094447,1090478,1089073,1089073,1079153,1075782,1070776,1071454,1071863,1080208,1074035,1070043,1071665,1070659,1087000,1100558,1100558,1106649,1112494,1100634,1100139,1100139,1107064,1074975,1095542,1097016,1109542,1113566,1113566,1132735,1131116,1148074,1158872,1160808,1178982,1188686,1189648,1189753,1188626,1192058,1194400,1181430,1196170,1193673,1191398,1192151,1201063,1221077,1222400,1233334,1238763,1238763,1238763,1237361,1235348,1235348,1235348,1234780,1239690,1241766,1260803,1261011,1260556,1263792,1263895,1264662,1263918,1276544,1265558,1249718,1237316,1232781,1223023,1223023,1223014,1221022,1225912,1221437,1211337,1213659,1215765,1209121,1198819,1199544,1210678,1210678,1212332,1212332,1200184,1186019,1164636,1157990,1154792,1154666,1154666,1148668,1145197,1138585,1129953,1122529,1115222,1115890,1112377,1106652,1098660,1088071,1078614,1088393,1088393,1082828,1082828,1082528,1089206,1089206,1088616,1089694,1094053,1094793,1092882,1096196,1099056,1099056,1103735,1105067,1106058,1112062,1123448,1126290,1143436,1143065,1144073,1143768,1143768,1150051,1156229,1190146,1201121,1210229,1218932,1222262,1220126,1220126,1221889,1237433,1250685,1259786,1272853,1273114,1275418,1283338,1292117,1304475,1311746,1312973,1317944,1314946,1314946,1314946,1323822,1323822,1336650,1340141,1341149,1356126,1368173,1371790,1381667,1383324,1389761,1418231,1419221,1409797,1419533,1418029,1418029,1421863,1427818,1427340,1421336,1422027,1422027,1423824,1422910,1431398,1430888,1435780,1419261,1422017,1415235,1410676,1426529,1426529,1430727,1432068,1436013,1426868,1423281,1428261,1426322,1419529,1413212,1412872,1406418,1396434,1397079,1388013,1394266,1395220,1394221,1422261,1421491,1427273,1427273,1425971,1425971,1430373,1444975,1432566,1426830,1425838,1436837,1439308,1443220,1437949,1435869,1445485,1484670,1496213,1500129,1511610,1527100,1544313,1531910,1542217,1554274,1540277,1563259,1561581,1569441,1563120,1564700,1561333,1589467,1593422,1584899,1595273,1661356,1664959,1668845,1689986,1704997,1716275,1726524,1733269,1750324,1786739,1815506,1835032,1847236,1856997,1859184,1873516,1873516,1886875,1889879,1894878,1896861,1933675,1933761,1955416,1966821,1964698,1982478,1992484,1997901,2031402,2071240,2079406,2076875,2092472,2113854,2119854,2140564,2150559,2186427,2217375,2223833,2253008,2258995,2259861,2259861,2263869,2266861,2288094,2292715,2289718,2293676,2303172,2311180,2353947,2365851,2365851,2365615,2377156,2386885,2390814,2391407,2391407,2389401,2411956,2442713,2462197,2475861,2477713,2484324,2486975,2485817,2482731,2487227,2483165,2484224,2473228,2456317,2412225,2377310,2348336,2317287,2289479,2264413,2277932,2259813,2248966,2246297,2230848,2222509,2214313,2208440,2192369,2166554,2162334,2142945,2159037,2143569,2135878,2131257,2118205,2099499,2102998,2104896,2097596,2083589,2075990,2077481,2069943,2052109,2042616,2022616,2015517,2015822,2017817,2031799,2007305,2006382,2010363,2007088,2017099,2030633,2040972,2060941,2062926,2069873,2066412,2069404,2078633,2080629,2087742,2100774,2096299,2114858,2112879,2106493,2099670,2076640,2079828,2069588,2079565,2082196,2091822,2098926,2085941,2094991,2085534,2088073,2075959,2049682,2039477,2041981,2041177,2054740,2058667,2066976,2066976,2067831,2077535,2082047,2081048,2087138,2093818,2108035,2128563,2131333,2137342,2137342,2133271,2126154,2136780,2155851,2163703,2169858,2172668,2174143,2175788,2191918,2190279,2190096,2185282,2184719,2180629,2179467,2183359,2187496,2208227,2219887,2234032,2248779,2266510,2268876,2258829,2278021,2295354,2305317,2303800,2323641,2354503,2378009,2408218,2410198,2411985,2399248,2399518,2404932,2372879,2372129,2371289,2389072,2385282,2375034,2370867,2352740,2346280,2341170,2327137,2320029,2311470,2307283,2306281,2312874,2312865,2315730,2316166,2320525,2320421,2322744,2320821,2319541,2306888,2308546,2309994,2305952,2310583,2307080,2302413,2307443,2325039,2327750,2320242,2316205,2321690,2343801,2364823,2393864,2412420,2445809,2451464,2454807,2459427,2462699,2485853,2511672,2541191,2563098,2619191,2658722,2673621,2684622,2695595,2698030,2748973,2817740,2832086,2852092,2871603,2902800,2929291,2932232,2961083,2988432,3007504,3022224,3034541,3075528,3070348,3091112,3037120,3008165,2990523,2960427,2914568,2877938,2859220,2854489,2835180,2823003,2821591,2823272,2827770,2818791,2817662,2815494,2827822,2829098,2842291,2845798,2848510,2840506,2840506,2831785,2823410,2824700,2831121,2838470,2846926,2819498,2806365,2794051,2767964,2721119,2690500,2656685,2649471,2627917,2608962,2591952,2588134,2591700,2591842,2592110,2581135,2579062,2578780,2564515,2553192,2536014,2528440,2517572,2510662,2506507,2495879,2491400,2500795,2494259,2480959,2455740,2454496,2458097,2455265,2457507,2452078,2449083,2442669,2454620,2438967,2453462,2459353,2457567,2459013,2452919,2460603,2459981,2452697,2450206,2453784,2443855,2434455,2438975,2427897,2439888,2425448,2421156,2409047,2407822,2385819,2374369,2368813,2356886,2351668,2332805,2330232,2307000,2289553,2287750,2274267,2263357,2246625,2238140,2225823,2192525,2158917,2136263,2127186,2118171,2110930,2103305,2103803,2103040,2095412,2102968,2095333,2092498,2084366,2086065,2088963,2098436,2102150,2102473,2099512,2096216,2096423,2082537,2053730,2040975,2052374,2049974,2051832,2038205,2050881,2048762,2066147,2058830,2056414,2054907,2050498,2037133,2017119,2019386,2014948,2026730,2022226,2023154,2029243,2022659,2015604,2025951,2019538,2034454,2035465,2086749,2095938,2105076,2102913,2103808,2108947,2110891,2125917,2157876,2161289,2159341,2153709,2134442,2134470,2130323,2113749,2087752,2085461,2080510,2081942,2090150,2105525,2104322,2098431,2105852,2112211,2108432,2113329,2126417,2128840,2153754,2160907,2175521,2176711,2212618,2220181,2236063,2229798,2241918,2233401,2228672,2225760,2221006,2228902,2223866,2230478,2233004,2239361,2248329,2237840,2252618,2266756,2270944,2296606,2310490,2289572,2259402,2327516,2354418,2346000,2332888,2283616,2302758,2273409,2292450,2273923,2274584,2259863,2264340,2249731,2244860,2244830,2242052,2243836,2233456,2239896,2253348,2256425,2277896,2321339,2351975,2363556,2359656,2376768,2341142,2311731,2293064,2260782,2237548,2229396,2197734,2203448,2197230,2198567,2211390,2225780,2254099,2263877,2309043,2317432,2327042,2343055,2322367,2316416,2310441,2308376,2313037,2316222,2307463,2321493,2316273,2311787,2321024,2285166,2299088,2306070,2280149,2279459,2314664,2330467,2280852,2295263,2301876,2293522,2301470,2292102,2275657,2218930,2150781,2116076,2094839,2082653,2079169,2084738,2059451,2071146,2049006,2046889,2068495,2074297,2079554,2070549,2064225,2046953,2029418,2014915,2006728,2006428,2006488,1994785,2004135,2017682,2013691,2015989,2005210,1992752,1998343,1989110,1994939,1982050,1971227,1964508,1939837,1927179,1890933,1861301,1874285,1814420,1806340,1799235,1777216,1767674,1760911,1750897,1752178,1742234,1732866,1728886,1724635,1741206,1674966,1657986,1649996,1632360,1630129,1631841,1613419,1597321,1593754,1581444,1570392,1554518,1551370,1542914,1524914,1513684,1491505,1477935,1461414,1459997,1447263,1413296,1424123,1424139,1395399,1385235,1375792,1356628,1366402,1346332,1335621,1344574,1353418,1362349,1375017,1392628,1386950,1385682,1401135,1424524,1442598,1455377,1458024,1471614,1449951,1467783,1473533,1454307,1465494,1457099,1456176,1487600,1486467,1483967,1482741,1454928,1352410,1349574,1368200,1386224,1359997,1379351,1405286,1389836,1395844,1368036,1351811,1348659,1357599,1345542,1302328,1332436,1341603,1325200,1326013,1344253,1351542,1396510,1378819,1425992,1456851,1447906,1448583,1451241,1473803,1460250,1456269,1428238,1411609,1435020,1451404,1467789,1459416,1450055,1476634,1469951,1496286,1516101,1538425,1540452,1618131,1632823,1629243,1650765,1659224,1663337,1705456,1699419,1671728,1695288,1694245,1691605,1658995,1676076,1661846,1715004,1699589,1691250,1743807,1681814,1670680,1687985,1689552,1681461,1707361,1711238,1721261,1737404,1758792,1774805,1784775,1798681,1817068,1984921,1990943,1993818,2008214,2016175,2028141,2038180,2061533,2072862,2080412,2126769,2150944,2154548,2151122,2147038,2126857,2108503,2111842,2091718,2100143,2116613,2106380,2126627,2153102,2160109,2182121,2180899,2184261,2194331,2176504,2173900,2176013,2161983,2127818,2113717,2117384,2102325,2081856,2073235,2059253,2049072,2029463,2038602,2020484,2032206,2021096,2031166,2015631,2014014,2021731,1999509,1998065,1985134,1947143,1912559,1887316,1869689,1865267,1836091,1839314,1837752,1832411,1837912,1841605,1830683,1836927,1845446,1851290,1859302,1856579,1852347,1859530,1873910,1871827,1855838,1859541,1853564,1869880,1856382,1863585,1890165,1881633,1873919,1856725,1849934,1840916,1852623,1850547,1836837,1835772,1810850,1802334,1816204,1805094,1801054,1791394,1810093,1771250,1730035,1699317,1691044,1660682,1679813,1535557,1510409,1502049,1518835,1522418,1513534,1513297,1509719,1500329,1501673,1497180,1489390,1480571,1470692,1459231,1477667,1476069,1499304,1519076,1519623,1521632,1500865,1488239,1463108,1458208,1452904,1447932,1456726,1455517,1451069,1436257,1417182,1409499,1406199,1389268,1380693,1369289,1376954,1369799,1376224,1563297,1562593,1552001,1570136,1561728,1572990,1583420,1560785,1555416,1559531,1557845,1537355,1510582,1511924,1510038,1492510,1484350,1461861,1442076,1433367,1424868,1426366,1414482,1397467,1365137,1351767,1344447,1364686,1362427,1373074,1381221,1389297,1387944,1401293,1382263,1388580,1377059,1373336,1366976,1352974,1341382,1331931,1313605,1286941,1251767,1232511,1216131,1223418,1214992,1239164,1251025,1247582,1176405,1147684,1117801,1089119,1069832,1074590,1089167,1090168,1081744,1027815,1037856,1039192,1056802,1074696,1080820,1096690,1094036,1093557,1107640,1141060,1149157,1145409,1126442,1132535,1104820,1076989,1063415,1055255,1036417,1023576,1016921,1012484,1011235,1018367,1026080,1030621,1042954,1068885,1082981,1103558,1121460,1110688,1089833,1091214,1073352,1075107,1057467,1040028,1041146,1026232,1026394,1034869,1048957,1040154,1044244,1099961,1118610,1163010,1188854,1186100,1196881,1190225,1168017,1152762,1133902,1117877,1114861,1102743,1088700,1073954,1065164,960630,945785,949145,935699,923746,922758,914166,896847,918736,969934,987882,1001252,1006773,1043370,1064196,1061981,1047844,1036237,1003839,1002742,1001342,993091,1013778,1014164,1029702,1019755,1042082,1038972,1060731,1063405,1103751,1115768,1107335,1120242,1144543,1044791,1055263,1073377,1079938,1058171,1055234,1048982,1052225,1043089,1028441,1033541,1032887,1024996,1036328,1049068,1041661,1042931,1030160,1005968,999418,993632,992064,972112,955419,929251,919489,896446,873845,848448,860037,856322,836408,832848,818364,821044,815700,820141,815669,790315,775456,761210,752864,744842,747162,748479,774442,741723,750213,758423,779861,788853,778048,770701,782645,755473,733902,721977,697522,676180,698866,690783,678514,659185,659404,684812,708780,1000401,999849,1026021,1051216,1055216,1035937,1054135,1045852,1056069,1063417,1078916,1094922,1108666,1111349,1135329,1129190,1112471,1125639,1109880,1110222,1095862,1089317,1078495,1061066,1042882,1046367,1040798,1035420,1022837,1024904,1017004,988619,951632,933181,925005,925472,959404,950784,937630,947835,927265,922953,929512,913445,913178,942793,950776,960395,984288,985259,999381,1021810,1013370,1009382,990354,1010097,1005483,996343,986562,982028,993387,996255,993376,1012356,1025187,1039667,1063880,1111603,1125101,1128391,1127280,1112695,1141338,1180315,1175068,1187076,1201026,1234303,1249455,1241201,1224543,1237903,1267071,1308381,1322325,1329990,1328377,1328961,1313338,1305449,1291213,1287218,1266043,1242191,1248992,1240443,1220148,1220047,1225437,1209474,1211992,1189238,1182821,1189430,1201756,1188286,1175844,1188241,1297694,1297867,1309955,1306209,1295654,1294552,1277648,1261149,1250968,1270713,1266377,1258535,1239096,1230487,1255247,1259892,1332211,1366381,1378211,1409188,1423048,1416425,1393851,1369353,1359170,1339737,1314508,1309221,1306972,1283194,1274451,1268557,1294079,1300462,1330729,1352947,1388145,1403431,1403097,1418004,1429757,1445474,1438630,1421234,1413332,1427418,1454124,1441299,1247491,1271302,1275764,1316198,1320761,1301413,1293568,1277102,1280234,1275438,1253074,1252614,1227003,1222072,1215258,1194371,1193793,1180178,1181514,1195725,1197072,1218024,1201913,1176186,1148519,1158680,1155352,1174698,1166931,1175933,1186940,1150581,1104782,1040882,1012101,992117,969297,952708,962534,956420,937219,926468,923728,912786,914191,923596,934421,931324,959689,959785,931982,934459,924953,932184,919463,914782,887018,901432,929222,940799,949197,960641,957380,988320,1006250,1035919,1066885,1158326,1193716,1229816,1226150,1210055,1194931,1215096,1229032,1242994,1230233,1247103,1256831,1276796,1270830,1295663,1299756,1338844,1338659,1340792,1339746,1330695,1334731,1320909,1297158,1303593,1223982,1222959,1212789,1217085,1211076,1204466,1199046,1188482,1188721,1187254,1208269,1204866,1208094,1208033,1183957,1174273,1157291,1161844,1135098,1150782,1141555,1138426,1149446,1140199,1115055,1109123,1113641,1127333,1165498,1178523,1195996,1207227,1215228,1227039,1259949,1265409,1261903,1250339,1252170,1240187,1246569,1243481,1231261,1221428,1203523,1159443,1148624,1149043,1161799,1156855,1158266,1189648,1192282,1186846,1169061,1124456,1063072,1030429,982255,920103,855850,749362,691688,663366,664971,647643,657427,653828,662835,665544,658851,665610,656170,639940,623052,609978,591884,583060,584014,576894,569355,563671,547685,535090,519271,532299,540572,531211,546976,558882,573702,594632,626633,654098,687956,699291,717788,741845,780600,820921,857814,890715,911924,912164,899636,901468,899663,881949,852417,819431,796739,755754,691638,669547,581436,553429,637647,620262,649643,630066,628696,638399,626843,617760,618582,600779,589052,581090,573810,544244,508368,482008,455068,462623,449653,423241,412459,349900,318546,323368,342102,349633,353559,349879,355830,346369,306596,309436,307484,294823,272721,255952,253370,259178,251859,309974,326566,330708,353763,346920,364865,362495,364549,365923,376094,370299,371799,374427,368667,323319,338180,338774,352322,367180,393729,421461,457622,492071,500175,520800,564832,591523,614576,644273,648201,689522,718961,735174,738048,764753,767072,787902,812413,845431,832935,868167,876996,898147,977133,975876,994727,989688,986791,987851,989206,993726,987951,976900,956517,958482,964427,972900,972611,958805,929470,916380];\r\n          const m1All     = [4122,4126,4130,4142,4142,4134,4119,4144,4131,4105,4095,4068,4074,4067,4071,4074,4060,4102,4127,4113,4124,4144,4261,4319,4310,4299,4287,4299,4270,4286,4285,4310,4306,4273,4276,4288,4320,4375,4346,4320,4294,4314,4350,4308,4322,4340,4313,4274,4302,4252,4282,4287,4283,4283,4280,4243,4268,4280,4265,4261,4269,4250,4257,4189,4188,4165,4175,4179,4173,4179,4195,4211,4221,4209,4203,4169,4181,4185,4164,4193,4166,4131,4126,4089,4102,4087,4070,4000,3877,3869,3844,3897,3892,3898,3872,3853,3909,3900,3956,3956,3908,3879,3863,3873,3896,3857,3843,3851,3831,3825,3824,3707,3568,3501,3479,3326,3291,3386,3412,3418,3413,3324,3440,3484,3496,3476,3481,3534,3531,3533,3494,3449,3353,3454,3493,3492,3495,3484,3485,3622,3674,3655,3614,3538,3452,3422,3468,3467,3420,3394,3392,3407,3429,3399,3465,3441,3455,3489,3496,3495,3522,3571,3526,3512,3577,3685,3721,3762,3806,3811,3814,3737,3753,3715,3599,3604,3617,3616,3644,3578,3554,3585,3588,3566,3580,3634,3635,3545,3587,3558,3591,3496,3529,3497,3493,3404,3383,3404,3359,3426,3429,3439,3404,3451,3485,3585,3618,3616,3636,3625,3616,3509,3529,3579,3575,3589,3573,3521,3462,3483,3456,3465,3522,3506,3513,3470,3476,3450,3451,3436,3539,3591,3601,3528,3576,3575,3543,3540,3558,3518,3552,3562,3682,3723,3736,3614,3644,3641,3623,3623,3585,3581,3571,3567,3590,3587,3548,3500,3480,3480,3478,3483,3479,3464,3504,3484,3507,3520,3484,3438,3436,3429,3417,3386,3388,3377,3398,3397,3393,3254,3319,3348,3343,3301,3320,3260,3246,3216,3227,3218,3198,3194,3176,3187,3206,3212,3198,3198,3150,3169,3174,3196,3211,3295,3444,3444,3550,3518,3421,3350,3416,3466,3405,3350,3317,3232,3292,3291,3305,3284,3289,3272,3320,3223,3270,3272,3244,3263,3329,3337,3395,3373,3331,3331,3359,3346,3274,3264,3463,3426,3420,3410,3445,3439,3440,3426,3413,3428,3396,3425,3411,3418,3423,3425,3389,3373,3369,3348,3309,3296,3272,3246,3230,3242,3234,3255,3244,3226,3220,3233,3199,3168,3194,3190,3185,3147,3155,3162,3132,3160,3210,3200,3190,3191,3171,3177,3165,3178,3203,3177,3207,3230,3230,3231,3234,3230,3218,3225,3210,3205,3225,3224,3254,3281,3263,3214,3200,3227,3209,3235,3235,3243,3252,3245,3260,3266,3291,3281,3258,3263,3263,3258,3302,3317,3410,3377,3390,3391,3404,3387,3379,3378,3379,3346,3278,3289,3267,3298,3317,3406,3431,3331,3337,3364,3377,3332,3357,3388,3458,3432,3449,3448,3374,3362,3368,3365,3376,3366,3375,3334,3333,3333,3362,3370,3427,3438,3433,3450,3470,3498,3673,3740,3706,3661,3660,3719,3709,3785,3788,3736,3745,3733,3718,3628,3678,3687,3662,3664,3709,3705,3657,3572,3568,3541,3533,3546,3535,3486,3480,3482,3482,3485,3559,3571,3582,3715,3742,3751,3817,3766,3748,3759,3718,3722,3774,3818,3814,3865,3958,4087,4246,4317,4367,4380,4268,4444,4420,4338,4338,4370,4341,4318,4316,4191,4233,4223,4241,4244,4354,4388,4450,4441,4487,4391,4408,4276,4276,4344,4347,4351,4310,4354,4322,4335,4314,4215,4169,4171,4098,4099,4084,4120,4116,4114,4122,4255,4277,4333,4355,4309,4202,4244,4244,4238,4258,4277,4369,4374,4322,4292,4231,4250,4231,3930,3949,3957,3958,3946,3941,3990,4010,4025,3978,3998,4036,4052,4038,4043,4059,4070,4154,4168,4116,4099,4100,4160,4219,4225,4016,4006,4026,4024,3995,3986,4022,4034,3998,4001,4056,4061,4029,4004,4011,4037,4041,4037,4115,4086,4094,4118,4111,4101,4005,4011,3969,3899,3901,3904,3888,3913,3949,3980,3994,3989,4024,4025,4013,3992,4019,4055,4039,4015,4014,4056,4069,4031,4028,4049,4048,4007,3963,4026,4060,4075,4083,4097,4068,4138,4137,4096,4180,4164,4144,4158,4161,4167,4182,4246,4232,4221,4225,4098,4102,4095,4064,4002,3987,3987,4002,3961,4105,4096,4105,4103,4124,4118,4119,4145,4157,4150,4156,4141,4163,4159,4210,4116,4110,4189,4214,4213,4208,4217,4183,4174,4151,4129,4130,4112,4096,4090,4012,4016,3939,3883,3916,3906,3865,3902,3953,3935,4002,4012,4024,3989,4001,4024,4006,4007,4001,3995,3982,3956,4013,4036,4054,4042,3998,3954,3926,3934,3965,3936,3933,3926,3909,3942,3951,3957,3929,3959,3964,3924,3916,3831,3817,3794,3767,3667,3610,3693,3730,3730,3754,3796,3788,3779,3810,3816,3809,3794,3840,3827,3838,3849,3834,3819,3819,3802,3741,3788,3857,3920,3920,3852,3864,3894,3925,3919,3913,3905,3914,3906,3897,3955,3950,3918,3920,3988,3985,3988,3974,3984,3933,3932,3932,3910,3935,3933,3881,3884,3879,3829,3815,3874,3837,3828,3824,3869,3843,3850,3860,3886,3900,3891,3882,3863,3889,3872,3867,3847,3864,3829,3816,3816,3815,3839,3870,3843,3921,3852,3895,3862,3836,3836,3945,3874,3875,3888,3874,3869,3872,3870,3862,3869,3845,3794,3744,3723,3722,3679,3648,3601,3614,3604,3595,3640,3661,3694,3699,3698,3700,3690,3729,3735,3752,3779,3782,3792,3806,3789,3799,3800,3800,3780,3666,3780,3816,3830,3814,3798,3772,3760,3770,3752,3806,3814,3799,3757,3750,3758,3748,3653,3663,3663,3553,3603,3623,3639,3649,3621,3639,3660,3665,3610,3619,3631,3639,3644,3644,3645,3645,3636,3624,3640,3640,3644,3610,3611,3592,3644,3648,3651,3651,3622,3573,3590,3596,3619,3608,3608,3611,3619,3639,3608,3635,3641,3643,3717,3726,3723,3658,3655,3639,3601,3580,3610,3624,3639,3630,3600,3605,3665,3653,3653,3610,3618,3628,3622,3631,3641,3631,3653,3638,3635,3631,3645,3638,3637,3632,3638,3653,3671,3703,3702,3691,3731,3769,3656,3647,3648,3659,3661,3661,3656,3650,3638,3624,3667,3667,3667,3667,3669,3665,3675,3675,3647,3647,3647,3613,3613,3602,3631,3622,3630,3640,3632,3635,3619,3629,3630,3630,3637,3626,3625,3628,3626,3620,3580,3572,3492,3513,3515,3514,3510,3505,3495,3514,3515,3501,3494,3467,3436,3451,3379,3390,3392,3398,3389,3371,3394,3411,3396,3400,3412,3456,3492,3476,3490,3523,3511,3570,3491,3496,3492,3516,3592,3560,3564,3550,3549,3541,3547,3564,3591,3537,3571,3508,3525,3500,3552,3561,3530,3540,3540,3532,3503,3482,3482,3482,3500,3514,3516,3511,3527,3525,3501,3494,3479,3502,3503,3491,3504,3501,3505,3500,3524,3522,3522,3528,3524,3511,3531,3529,3530,3546,3549,3552,3574,3599,3646,3649,3702,3735,3729,3692,3698,3678,3579,3634,3662,3685,3690,3685,3651,3625,3654,3620,3605,3698,3692,3685,3704,3703,3703,3703,3670,3670,3670,3710,3713,3736,3726,3693,3698,3695,3695,3673,3652,3586,3564,3587,3581,3581,3660,3660,3660,3635,3622,3572,3600,3591,3621,3615,3611,3609,3591,3560,3514,3535,3524,3544,3550,3555,3576,3560,3561,3650,3517,3507,3522,3525,3529,3545,3525,3494,3512,3536,3537,3522,3524,3528,3533,3528,3525,3525,3525,3525,3563,3530,3509,3509,3506,3513,3532,3530,3523,3494,3501,3515,3535,3556,3563,3587,3579,3561,3571,3572,3601,3594,3569,3593,3638,3662,3667,3675,3694,3655,3660,3570,3599,3647,3590,3640,3607,3616,3607,3608,3615,3605,3658,3724,3860,3888,3921,3889,3934,3951,3911,3903,3882,3934,3827,3810,3976,4010,4080,4150,4100,4127,4278,4065,4170,4203,4179,4134,4180,4170,4170,4301,4356,4492,4529,4530,4511,4527,4750,4752,4728,4579,4396,4308,4435,4391,4381,4390,4349,4374,4496,4548,4544,4468,4335,4222,4260,4372,4345,4279,4300,4301,4253,4266,4297,4308,4319,4295,4295,4369,4394,4339,4324,4302,4370,4373,4349,4138,4236,4260,4069,4035,4035,4030,4111,4092,4120,4138,4139,4131,4113,4088,4111,4110,4107,4100,4102,4183,4156,4133,4056,4050,4050,4093,4080,4094,4133,4132,4126,4143,4179,4241,4293,4325,4339,4328,4365,4310,4348,4404,4370,4459,4349,4281,4293,4222,4219,4267,4273,4281,4298,4239,4243,4289,4260,4249,4250,4274,4269,4261,4217,4236,4238,4277,4305,4388,4416,4456,4509,4444,4360,4364,4209,4060,4038,4112,4068,4121,3942,4016,3963,4013,3772,3657,3201,3065,2913,3062,3105,3288,3492,3493,3555,3373,3420,3400,3431,3537,3742,3680,3693,3745,3704,3762,3789,3722,3702,3654,3696,3574,3685,3675,3708,3612,3664,3682,3676,3653,3777,3763,3731,3731,3731,3953,4082,4148,4233,4208,4109,4161,4206,4193,4192,4249,4388,4416,4360,4268,4283,4208,4246,4278,4307,4225,4202,4151,4200,4216,4202,4305,4296,4306,4302,4286,4338,4315,4327,4325,4366,4364,4444,4391,4467,4514,4565,4559,4520,4550,4685,4966,5274,5336,5479,5739,5641,5668,5528,5673,5672,5970,6281,6602,6502,6658,6232,5945,6109,6161,6327,6283,6126,6062,5777,5819,5771,5922,6003,6134,6185,6227,6083,5950,5928,5899,5802,5934,5850,5838,5898,5892,5847,5745,5784,5439,5094,4856,4846,4874,4982,5036,5077,5336,5289,5104,5088,5089,5155,5178,5243,5269,5191,5152,5152,5169,4948,4913,5030,5117,5126,5108,5316,5389,5071,5079,5085,5077,5202,5157,5135,5090,5020,5086,4944,4861,4890,4880,4720,4711,4944,4982,4998,5017,5089,5086,4996,4986,4962,4984,5150,5277,5403,5572,5463,5356,5386,5380,5564,5554,5519,5576,5692,5697,5697,5637,5609,5234,5155,5215,5192,5283,5142,5212,5233,5301,5308,5250,5258,5252,5176,5346,5629,5855,5596,5446,5372,5474,5566,5552,5550,5506,5654,5746,5709,5725,5599,5485,5366,5457,5422,5147,5236,5199,5307,5356,5338,5316,5417,5352,5474,5385,5314,5292,5201,5192,5167,5169,5129,5000,5054,5209,5203,5213,5245,5283,5226,5164,5246,5295,5380,5407,5361,5374,5473,5440,5397,5408,5405,5429,5348,5500,5638,5666,5651,5638,5553,5529,5618,5851,5852,5759,5732,5680,5685,5736,5679,5644,5661,5735,5717,5694,5529,5583,5628,5590,5592,5706,5611,5611,5539,5343,5321,5330,5332,5373,5375,5375,5364,5296,5387,5381,5455,5458,5434,5416,5401,5397,5414,5402,5431,5461,5338,5235,5199,5243,5269,5269,5254,5213,5260,5344,5320,5302,5352,5320,5257,5069,5013,4983,5049,4989,5052,5105,5070,5003,4998,4965,5056,5082,5074,5033,5106,5114,5099,5141,5096,5240,5239,5171,5101,5118,5080,4994,5028,5026,4853,4853,4857,4828,4783,4796,4765,4619,4770,4836,4805,4805,4849,4938,4930,4927,4980,5036,4972,5021,5008,4899,4898,4886,4857,4899,4815,4786,4879,4923,4982,4970,5100,5100,4901,5139,5146,5144,5098,5081,5015,4849,4860,4860,4815,4749,4715,4688,4642,4656,4643,4653,4630,4556,4613,4641,4593,4623,4727,4742,4714,4767,4793,4798,4791,4787,4797,4732,4801,4727,4730,4671,4574,4582,4626,4670,4749,4726,4660,4715,4820,4919,5014,4970,4881,4883,4811,4715,4696,4730,4777,4778,4768,4846,4898,4775,4805,4863,4875,4900,4937,5017,4988,4910,4941,5065,5059,5041,5162,5130,5331,5119,5146,5066,4969,4990,4992,5115,5080,5118,5059,5117,5207,5171,5115,5046,5028,5038,4947,4954,5007,5063,5135,5135,5284,5195,5264,5294,5197,5156,5103,5041,4961,4953,4920,4928,4936,4851,4818,4795,4772,4767,4630,4659,4733,4726,4705,4771,4740,4725,4772,4746,4774,4778,4693,4648,4686,4769,4759,4760,4750,4670,4701,4605,4616,4682,4723,4694,4678,4663,4639,4540,4549,4562,4557,4521,4474,4304,4359,4215,4202,4223,4211,4182,4127,4195,4043,4109,4122,4122,4157,4159,4159,4119,4152,4251,4397,4435,4455,4367,4403,4439,4364,4488,4473,4474,4450,4552,4438,4423,4346,4302,4250,4263,4289,4308,4304,4260,4242,4205,4113,4152,4180,4219,4152,4227,4255,4440,4384,4396,4375,4404,4425,4399,4466,4536,4418,4359,4330,4367,4391,4533,4528,4474,4436,4445,4338,4404,4403,4375,4381,4483,4547,4586,4573,4581,4519,4587,4634,4601,4598,4726,4789,4925,4906,4920,4878,4969,4922,4916,4849,4825,4825,4837,4905,4936,4920,4925,4921,5010,5141,5242,5132,5096,5125,5225,5275,5305,5370,5299,5234,5220,5206,5346,5367,5278,5304,5329,5356,5335,5312,5352,5340,5298,5147,5224,5187,5205,5181,5182,5217,5285,5273,5213,5192,5200,5190,5171,5246,5228,5059,4977,4962,4972,4925,4901,4909,4901,4886,4878,4897,4943,4967,4953,4925,4871,4852,4849,4903,4896,4949,4930,4791,4759,4762,4880,4981,5024,5058,5009,5092,5107,5096,5160,5188,5221,5171,5207,5246,5301,5311,5314,5523,5542,5525,5543,5656,5673,5779,5727,5617,5622,5645,5646,5605,5610,5597,5605,5593,5768,5795,5750,5747,5744,5768,5475,5441,5430,5406,5405,5398,5445,5436,5403,5333,5289,5347,5344,5371,5436,5520,5482,5472,5487,5517,5630,5656,5659,5620,5569,5576,5623,5618,5505,5430,5447,5454,5443,5425,5471,5502,5503,5554,5483,5515,5553,5550,5704,5789,5783,5797,5879,5928,5861,5828,5799,5820,5860,5758,5748,5810,5767,5676,5633,5661,5630,5564,5548,5583,5584,5594,5619,5618,5636,5601,5660,5721,5848,5828,5836,5852,5913,5949,5910,5887,5848,5818,5766,5764,5777,5805,5782,5902,5941,5862,5840,5871,5890,5873,5933,5885,5830,5787,5663,5653,5625,5650,5679,5782,5803,5840,5830,5824,5854,5821,5811,5817,5828,5860,5881,5787,5809,5799,5865,5826,5744,5761,5752,5667,5722,5800,5857,5900,5874,5829,5875,5855,5858,6029,6127,6157,6134,6174,6204,6054,5978,5963,5982,5881,5855,5678,5913,6024,5990,5988,6017,6047,6077,6069,6058,6084,6076,5996,5994,5989,5873,5885,5888,5912,5906,5882,5894,5962,5963,5940,5891,5897,5862,5794,5834,5886,5906,5913,5945,5954,5937,5920,5858,5840,5804,5754,5952,5935,5953,5938,5925,5913,5877,5878,5863,5885,5958,6075,6108,6136,6150,6142,6128,6131,6165,6272,6352,6332,6309,6435,6352,6367,6364,6350,6366,6427,6468,6480,6720,6934,7167,7195,7175,7180,7442,7420,7353,7406,7410,7304,7038,7073,7072,7112,7096,7072,7003,7109,7097,7126,7292,7292,7319,7321,7504,7588,7874,8299,8360,8093,7946,8029,8286,8405,8349,8220,8036,8024,7793,7947,8094,7691,7728,7683,7590,7684,7749,7751,7922,8075,7842,7806,7663,7605,7688,7727,7775,7842,8047,8061,8159,8130,8120,8148,8163,8105,8086,8146,7971,7815,7641,7604,7624,7440,7217,7255,7210,7319,7470,7399,7266,6934,6906,6914,6916,7051,7182,7109,7036,7239,7345,7463,7536,7493,7420,7556,7608,7574,7478,7473,7307,7206,7088,7102,7192,6931,6990,7047,7098,7348,7400,7364,7476,7484,7499,7718,7809,7839,7799,7802,7559,7498,7630,7681,7701,7806,7902,7876,8167,8293,8357,8155,8139,8133,8228,8311,8163,8001,7948,7954,7946,7770,7776,7688,7679,7507,7517,7621,7747,7762,7762,7749,7738,7583,7609,7533,7582,7614,7662,7775,7799,7761,7745,7894,7914,7927,7809,7699,7730,7683,7535,7402,7496,7542,7566,7606,7594,7524,7479,7591,7624,7648,7702,7722,7726,7792,7748,7594,7604,7775,7850,7739,7733,7780,7744,7672,7711,8052,8063,8023,8036,8022,7944,7987,8043,8056,8026,8097,8105,8117,8055,8042,7923,7907,7870,7866,7939,7956,8011,8034,8037,7983,8070,8132,8187,8307,8312,8366,8323,8241,8183,8206,8325,8342,8452,8404,8391,8340,7632,7665,7700,7919,7955,8047,8127,8182,8193,8130,8193,8185,8212,8287,8292,8197,8215,8226,8234,8162,8142,8157,8155,8152,8022,8084,8071,8087,8195,8275,8222,8253,8235,8213,8202,8204,8822,8893,8884,8829,8808,8800,8824,8988,8891,8712,8725,8747,8669,8742,8799,8705,8728,8772,8843,8909,8881,8909,8881,8863,9002,9121,9147,9134,9123,9159,9224,9355,9438,9381,9346,9212,9168,9183,9029,8902,8986,9030,9147,9177,9295,9192,9203,9194,9081,9147,9207,9331,9333,9313,9332,9374,9626,9825,9791,9786,9760,9778,9844,9779,9785,9865,9956,10084,10014,9882,9903,10136,10273,10356,10358,10483,10776,10901,11193,11090,11261,11714,12200,12004,12215,11784,11849,11333,11367,11434,11422,11165,11191,11276,11415,11398,11316,11208,11353,11442,11633,11911,11958,12280,12437,11963,11873,11947,12126,11948,11810,12014,12120,12318,12552,13141,13454,13623,13597,13461,13655,13619,13798,14366,14831,14917,14759,15026,15428,15262,15810,16309,16976,17161,18023,18879,17978,18335,18289,18787,19607,18899,18656,20613,21192,22595,22754,22630,22331,23186,23080,23034,24259,26527,28421,28991,30880,30952,26616,21677,23175,22767,20153,20774,20961,20731,21220,20070,23272,22699,22930,22660,24177,23023,21761,22082,21998,21915,23199,22961,22144,22037,20426,20538,20089,18790,17455,16681,16974,17755,17889,17292,17589,18089,18697,18253,17913,18002,18511,18300,18558,18452,18726,19773,19800,19580,20184,19813,19324,19215,18757,18758,18460,17988,17842,18609,19273,19797,19868,20905,21178,21415,19903,18633,18815,18129,18496,18549,18765,18797,18537,17875,18152,18193,18175,18113,17788,17715,16381,16369,15668];\r\n          const m2All     = [4103,4117,4118,4122,4127,4117,4087,4101,4096,4073,4070,4065,4070,4057,4053,4066,4056,4099,4143,4123,4120,4144,4243,4330,4305,4315,4304,4316,4292,4319,4306,4312,4318,4293,4292,4298,4330,4379,4378,4313,4297,4306,4336,4309,4323,4335,4315,4270,4291,4298,4299,4302,4287,4304,4293,4251,4265,4261,4259,4266,4266,4250,4249,4160,4157,4128,4134,4135,4128,4149,4150,4193,4193,4188,4164,4134,4150,4152,4152,4125,4122,4089,4075,4079,4091,4093,4084,3865,3836,3831,3814,3854,3866,3894,3869,3891,3927,3916,3921,3893,3847,3822,3817,3835,3852,3806,3793,3800,3789,3806,3773,3641,3483,3472,3409,3295,3274,3354,3369,3395,3398,3370,3440,3472,3476,3462,3461,3515,3498,3500,3469,3429,3338,3439,3476,3490,3508,3481,3478,3609,3658,3643,3637,3502,3475,3441,3475,3473,3432,3410,3404,3429,3438,3402,3467,3456,3480,3507,3518,3526,3540,3557,3554,3556,3600,3674,3732,3813,3794,3825,3825,3765,3765,3738,3583,3601,3630,3616,3655,3643,3576,3590,3603,3576,3615,3650,3646,3566,3567,3579,3594,3519,3553,3507,3517,3461,3418,3419,3415,3427,3435,3444,3428,3470,3504,3591,3661,3643,3667,3644,3609,3563,3552,3583,3563,3594,3594,3504,3482,3517,3484,3494,3531,3531,3530,3484,3497,3463,3469,3456,3566,3621,3619,3548,3602,3606,3591,3564,3581,3562,3578,3668,3699,3761,3751,3624,3661,3656,3638,3636,3596,3597,3591,3585,3618,3609,3574,3520,3500,3503,3503,3513,3497,3492,3517,3506,3517,3535,3505,3454,3455,3450,3423,3427,3403,3396,3412,3409,3403,3225,3277,3350,3338,3315,3324,3273,3259,3210,3244,3237,3224,3205,3187,3199,3211,3220,3211,3234,3178,3189,3188,3193,3228,3324,3442,3492,3467,3424,3437,3360,3440,3489,3428,3384,3330,3249,3291,3312,3323,3300,3308,3294,3343,3297,3314,3274,3269,3267,3348,3384,3386,3390,3342,3341,3379,3370,3298,3284,3460,3451,3455,3445,3453,3473,3466,3450,3429,3435,3414,3435,3434,3436,3444,3479,3413,3392,3381,3366,3345,3314,3289,3264,3249,3249,3249,3263,3262,3242,3236,3247,3203,3180,3206,3204,3197,3160,3170,3176,3147,3176,3209,3218,3200,3209,3195,3190,3180,3195,3216,3182,3222,3247,3237,3246,3249,3237,3230,3232,3225,3225,3239,3236,3262,3291,3273,3243,3211,3239,3224,3255,3251,3261,3261,3266,3258,3283,3302,3296,3275,3275,3280,3274,3326,3327,3414,3407,3406,3405,3420,3417,3397,3400,3408,3348,3305,3297,3288,3300,3333,3437,3459,3353,3356,3374,3384,3355,3375,3411,3472,3451,3465,3461,3398,3394,3391,3379,3396,3381,3396,3351,3355,3353,3366,3390,3429,3463,3462,3463,3500,3543,3695,3756,3735,3700,3689,3727,3741,3812,3815,3777,3759,3747,3746,3654,3676,3725,3687,3686,3722,3726,3667,3582,3584,3549,3541,3559,3541,3481,3492,3496,3500,3506,3576,3585,3598,3734,3751,3766,3836,3775,3766,3784,3740,3738,3769,3833,3827,3884,3975,4083,4273,4428,4354,4399,4303,4394,4437,4383,4424,4379,4371,4336,4334,4225,4274,4236,4267,4264,4362,4403,4447,4459,4505,4431,4431,4309,4297,4362,4379,4366,4345,4345,4341,4359,4337,4225,4188,4174,4102,4100,4127,4129,4140,4130,4164,4275,4301,4369,4372,4329,4216,4256,4205,4234,4277,4286,4381,4405,4321,4311,4249,4255,4252,3962,3967,3966,3975,3964,3961,4009,4027,4045,4009,4011,4051,4072,4059,4061,4073,4087,4165,4203,4133,4128,4115,4207,4243,4268,4156,4007,4048,4047,4017,4014,4056,4061,4024,4029,4099,4096,4058,4033,4052,4064,4075,4066,4143,4121,4126,4155,4147,4132,4023,4029,4006,3908,3917,3910,3902,3932,3968,3996,4029,3998,4032,4047,4041,4013,4043,4076,4055,4045,4041,4076,4102,4049,4054,4067,4063,4020,3978,4039,4078,4091,4102,4119,4060,4163,4163,4166,4188,4180,4177,4183,4181,4183,4208,4271,4258,4234,4230,4133,4125,4126,4082,4047,4019,4015,4002,4001,4111,4117,4133,4121,4145,4137,4134,4174,4187,4175,4178,4163,4182,4180,4217,4174,4128,4191,4219,4230,4267,4250,4211,4197,4175,4152,4146,4129,4113,4111,4035,4032,3971,3907,3926,3918,3893,3920,3941,3961,4019,4032,4048,4021,4020,4045,4040,4015,4033,4018,4046,3983,4016,4046,4065,4064,4031,3983,3947,3959,3981,3955,3947,3938,3928,3965,3968,3971,3943,3973,3973,3939,3930,3830,3810,3811,3799,3650,3647,3715,3749,3741,3770,3810,3802,3802,3822,3836,3835,3825,3846,3860,3860,3873,3862,3838,3842,3782,3754,3776,3873,3939,3918,3899,3880,3971,3960,3968,3937,3929,3935,3927,3951,3985,3975,3946,3966,4002,4005,3999,3998,4007,3977,3960,3948,3940,3948,3953,3919,3901,3898,3841,3841,3878,3869,3842,3842,3873,3873,3876,3876,3882,3900,3920,3904,3891,3907,3888,3883,3874,3879,3852,3837,3844,3832,3867,3881,3861,3878,3877,3884,3883,3870,3871,3870,3895,3894,3914,3891,3889,3891,3894,3884,3893,3863,3828,3776,3746,3751,3706,3670,3628,3640,3629,3622,3683,3681,3723,3721,3724,3719,3718,3751,3757,3772,3811,3804,3827,3836,3814,3823,3824,3820,3805,3808,3796,3850,3864,3833,3819,3784,3781,3785,3771,3834,3838,3822,3787,3779,3780,3770,3682,3700,3671,3610,3640,3650,3658,3681,3655,3662,3702,3693,3667,3638,3650,3656,3654,3684,3684,3674,3665,3652,3652,3652,3657,3632,3626,3608,3660,3667,3679,3676,3653,3606,3598,3610,3635,3626,3615,3618,3632,3647,3625,3642,3663,3669,3736,3752,3738,3684,3683,3670,3656,3625,3642,3650,3656,3655,3648,3663,3679,3682,3651,3628,3639,3643,3641,3638,3670,3649,3674,3660,3660,3642,3662,3656,3653,3646,3649,3670,3684,3725,3718,3714,3734,3777,3684,3665,3658,3684,3688,3683,3690,3684,3684,3684,3667,3687,3682,3686,3691,3686,3678,3664,3675,3663,3666,3636,3635,3622,3642,3636,3651,3654,3643,3647,3650,3647,3641,3637,3653,3644,3641,3647,3644,3639,3602,3579,3544,3501,3524,3527,3530,3530,3514,3524,3530,3509,3500,3489,3471,3451,3398,3408,3396,3405,3410,3375,3409,3420,3397,3407,3413,3453,3499,3475,3513,3505,3474,3508,3506,3499,3497,3527,3570,3568,3566,3550,3553,3562,3556,3598,3598,3587,3592,3558,3535,3508,3555,3565,3557,3545,3546,3525,3499,3479,3474,3478,3502,3516,3515,3510,3531,3529,3504,3498,3484,3514,3514,3495,3517,3507,3510,3500,3535,3527,3536,3542,3530,3519,3545,3549,3538,3566,3566,3560,3576,3618,3618,3653,3668,3705,3726,3715,3688,3715,3684,3684,3686,3676,3682,3688,3657,3639,3665,3648,3645,3720,3722,3733,3712,3713,3711,3708,3698,3683,3687,3707,3726,3752,3735,3720,3727,3713,3709,3694,3658,3595,3565,3571,3594,3605,3640,3634,3634,3659,3602,3593,3605,3605,3621,3626,3621,3634,3614,3592,3533,3540,3549,3559,3556,3563,3583,3581,3570,3536,3523,3522,3526,3525,3532,3544,3536,3497,3522,3539,3548,3531,3539,3535,3544,3542,3540,3540,3568,3567,3563,3533,3508,3511,3508,3515,3531,3525,3529,3497,3502,3518,3542,3552,3551,3607,3584,3560,3577,3581,3602,3607,3614,3617,3644,3669,3666,3696,3689,3668,3673,3606,3623,3679,3679,3675,3625,3612,3631,3636,3625,3625,3688,3742,3840,3912,3944,3915,3947,3965,3926,3929,3930,3935,3876,3868,3965,4026,4049,4176,4167,4159,4221,4135,4198,4225,4191,4155,4191,4188,4185,4320,4391,4501,4553,4538,4528,4564,4731,4789,4649,4570,4424,4453,4430,4397,4391,4419,4364,4392,4486,4572,4563,4439,4404,4267,4283,4394,4387,4326,4292,4335,4287,4280,4306,4320,4336,4306,4310,4372,4428,4370,4354,4360,4394,4390,4391,4285,4257,4154,4085,4076,4083,4116,4111,4107,4140,4157,4154,4148,4123,4106,4131,4126,4123,4116,4119,4193,4175,4150,4084,4068,4069,4110,4113,4111,4147,4148,4143,4156,4194,4252,4300,4347,4354,4347,4368,4321,4374,4422,4406,4451,4372,4299,4315,4252,4244,4288,4288,4293,4319,4251,4257,4309,4276,4249,4262,4288,4276,4277,4220,4232,4232,4298,4315,4400,4435,4469,4527,4470,4372,4360,4235,4071,4064,4137,4123,4167,4022,4046,4077,3979,3773,3557,3204,3047,2920,3047,3109,3290,3496,3504,3559,3378,3421,3406,3429,3537,3741,3663,3687,3739,3685,3773,3789,3732,3688,3664,3692,3572,3676,3689,3703,3622,3658,3678,3661,3651,3734,3775,3764,3779,3782,3890,4059,4164,4237,4218,4113,4165,4209,4195,4192,4255,4393,4425,4366,4281,4295,4220,4248,4285,4320,4266,4216,4166,4211,4227,4211,4306,4311,4314,4314,4289,4370,4331,4330,4335,4375,4377,4462,4446,4490,4545,4563,4570,4539,4560,4703,4965,5274,5352,5501,5737,5692,5657,5525,5652,5677,5964,6288,6600,6496,6651,6273,5960,6196,6094,6321,6319,6144,6074,5792,5843,5783,5941,6032,6136,6259,6257,6090,5948,5904,5925,5813,5927,5921,5866,5907,5914,5872,5782,5803,5380,5120,4860,4887,4898,5006,5059,5089,5300,5310,5134,5147,5103,5159,5207,5257,5292,5210,5167,5158,5181,4961,4916,5027,5119,5134,5112,5288,5392,5096,5093,5060,5090,5205,5178,5152,5105,5045,5106,4963,4885,4910,4901,4740,4739,4975,5003,5020,5043,5095,5124,5028,5024,4995,5019,5168,5281,5425,5544,5496,5378,5405,5402,5561,5594,5537,5585,5712,5724,5722,5639,5639,5295,5164,5224,5221,5277,5174,5238,5262,5326,5329,5274,5287,5265,5201,5375,5644,5880,5561,5490,5392,5495,5591,5562,5567,5526,5677,5760,5722,5729,5624,5483,5433,5446,5370,5205,5240,5217,5331,5395,5358,5346,5430,5373,5469,5413,5369,5314,5225,5221,5185,5193,5151,5018,5069,5187,5225,5244,5249,5321,5261,5194,5297,5306,5404,5425,5381,5396,5490,5449,5415,5423,5442,5428,5376,5492,5657,5683,5664,5652,5636,5578,5687,5867,5865,5771,5744,5703,5698,5743,5692,5661,5681,5734,5741,5710,5545,5604,5648,5611,5622,5668,5617,5624,5569,5355,5338,5350,5351,5387,5388,5384,5383,5311,5379,5398,5471,5491,5439,5397,5392,5411,5428,5399,5443,5465,5356,5252,5204,5247,5273,5274,5271,5225,5261,5356,5342,5319,5349,5358,5273,5088,5021,5008,5063,5024,5095,5111,5088,5009,5013,4971,5067,5098,5074,5044,5085,5125,5103,5140,5103,5233,5246,5189,5127,5132,5070,5031,5046,5033,4863,4862,4855,4840,4767,4820,4775,4623,4781,4869,4817,4800,4876,4957,4944,4934,5002,5047,4980,5038,5017,4917,4925,4906,4866,4912,4825,4791,4888,4949,4999,4975,5098,5183,5170,5155,5158,5155,5113,5094,5014,4857,4873,4874,4831,4754,4733,4673,4655,4658,4651,4663,4638,4570,4614,4668,4614,4623,4741,4751,4720,4775,4801,4809,4807,4800,4819,4748,4799,4759,4736,4716,4590,4589,4631,4676,4725,4741,4721,4725,4817,4916,5019,4997,4890,4888,4845,4708,4708,4745,4777,4788,4796,4832,4897,4782,4807,4869,4881,4917,4942,5020,5058,4912,4950,5054,5057,5048,5144,5117,5320,5141,5140,5105,4989,4994,5009,5124,5082,5126,5069,5124,5214,5190,5127,4992,5035,5037,4954,4972,4977,5034,5148,5193,5223,5207,5282,5290,5183,5174,5103,5039,4980,4970,4923,4920,4940,4855,4838,4792,4749,4748,4652,4637,4740,4734,4712,4778,4748,4729,4773,4748,4782,4782,4695,4663,4688,4757,4761,4763,4759,4696,4708,4629,4606,4686,4724,4701,4675,4669,4631,4549,4567,4571,4531,4514,4412,4306,4367,4218,4212,4218,4219,4192,4178,4202,4050,4112,4123,4127,4148,4157,4150,4129,4150,4214,4394,4432,4457,4419,4407,4441,4351,4493,4482,4501,4455,4526,4441,4432,4356,4312,4256,4265,4290,4307,4306,4283,4253,4209,4128,4132,4178,4211,4168,4218,4276,4451,4396,4412,4384,4401,4424,4403,4467,4519,4419,4357,4324,4366,4376,4546,4532,4490,4447,4423,4371,4407,4400,4377,4407,4478,4553,4587,4584,4588,4524,4563,4641,4627,4585,4723,4799,4911,4930,4989,4919,4947,4931,4926,4858,4833,4834,4846,4916,4948,4932,4936,4932,5012,5141,5234,5139,5095,5128,5223,5276,5289,5377,5335,5243,5226,5214,5359,5378,5285,5310,5345,5363,5299,5349,5361,5361,5305,5158,5216,5209,5200,5181,5213,5249,5297,5276,5214,5204,5234,5191,5176,5239,5239,5052,4984,4971,4978,4940,4924,4917,4904,4890,4885,4912,4950,4977,4951,4930,4894,4864,4884,4897,4888,4936,4949,4821,4772,4780,4861,5009,5027,5067,5012,5099,5115,5105,5172,5196,5222,5182,5217,5244,5299,5320,5335,5521,5540,5530,5542,5622,5666,5764,5690,5622,5632,5652,5652,5612,5631,5597,5629,5587,5777,5816,5751,5754,5746,5740,5512,5445,5436,5412,5414,5412,5455,5442,5413,5334,5301,5349,5368,5388,5454,5516,5501,5481,5491,5520,5637,5676,5648,5638,5589,5581,5629,5626,5512,5437,5457,5460,5452,5432,5477,5513,5508,5551,5480,5519,5540,5549,5684,5779,5791,5810,5895,5937,5864,5833,5806,5827,5871,5766,5751,5816,5768,5681,5633,5657,5614,5564,5555,5589,5598,5591,5627,5628,5645,5607,5663,5721,5853,5838,5836,5853,5914,5951,5914,5900,5853,5827,5770,5756,5782,5806,5797,5875,5931,5864,5844,5877,5891,5894,5943,5879,5835,5789,5667,5659,5623,5660,5673,5801,5807,5842,5828,5824,5863,5825,5814,5823,5828,5859,5890,5820,5794,5802,5862,5834,5751,5746,5764,5699,5685,5803,5868,5908,5888,5836,5882,5863,5865,6024,6136,6161,6141,6170,6228,6073,5981,5974,5971,5913,5839,5846,5946,6020,5995,5992,6023,6051,6079,6090,6078,6086,6090,6012,6008,6004,5879,5877,5902,5900,5900,5895,5882,5965,5962,5938,5891,5891,5844,5783,5828,5882,5906,5910,5946,5960,5946,5913,5882,5835,5809,5812,5959,5931,5944,5929,5907,5911,5874,5875,5869,5899,5958,6072,6120,6139,6151,6148,6163,6127,6234,6315,6365,6332,6307,6418,6360,6371,6365,6354,6362,6417,6483,6474,6658,7000,7144,7198,7169,7318,7498,7416,7356,7412,7406,7340,7064,7066,7070,7110,7104,7053,7012,7122,7107,7126,7281,7322,7316,7351,7512,7590,7864,8310,8365,8075,7955,8031,8320,8417,8362,8236,8062,8021,7797,7922,8175,7734,7733,7802,7656,7714,7758,7767,7913,8089,7884,7826,7689,7625,7704,7759,7777,7858,8058,8056,8194,8119,8112,8146,8214,8093,8102,8160,7993,7804,7648,7606,7641,7424,7235,7270,7211,7342,7482,7405,7281,6952,6922,6925,7043,7066,7161,7100,7060,7249,7352,7474,7547,7509,7437,7552,7620,7596,7487,7484,7318,7217,7097,7109,7192,7010,6991,7024,7091,7309,7429,7382,7487,7499,7509,7738,7821,7847,7804,7771,7550,7495,7642,7737,7700,7820,7909,7881,8126,8298,8378,8162,8161,8170,8247,8325,8178,7993,7974,7971,7961,7801,7813,7659,7654,7621,7562,7639,7768,7777,7780,7766,7746,7597,7620,7542,7613,7642,7693,7794,7815,7790,7760,7930,7921,7932,7839,7709,7747,7694,7577,7417,7504,7557,7575,7595,7605,7532,7499,7597,7631,7670,7697,7738,7737,7786,7777,7626,7623,7792,7858,7743,7745,7794,7751,7683,7719,8051,8070,8031,8056,8014,7906,7976,8117,8073,8034,8110,8118,8129,8075,8031,7926,7913,7892,7854,7944,7950,8008,8041,8023,7989,8065,8129,8289,8322,8324,8381,8338,8247,8192,8219,8340,8346,8459,8409,8397,8353,7661,7671,7702,7851,7932,8090,8108,8180,8209,8134,8193,8201,8226,8293,8294,8205,8216,8238,8238,8164,8149,8183,8156,8175,8038,8096,8084,8096,8206,8290,8233,8263,8239,8213,8205,8204,8822,8910,8886,8823,8819,8814,8837,8991,8913,8739,8731,8765,8649,8744,8810,8713,8739,8783,8867,8917,8908,8883,8873,8859,8990,9150,9156,9150,9133,9176,9237,9361,9455,9399,9360,9211,9176,9198,9034,8914,8992,9063,9147,9203,9308,9198,9210,9213,9105,9159,9220,9344,9354,9325,9321,9385,9600,9835,9787,9846,9763,9809,9867,9771,9804,9930,10028,10095,10025,9884,9928,10147,10294,10388,10374,10509,10819,10916,11192,11208,11233,11696,11689,12002,12230,11782,11862,11327,11349,11448,11429,11125,11193,11282,11410,11389,11359,11204,11347,11394,11512,11834,11934,12356,12416,11990,11877,11957,12133,11944,11806,12037,12124,12332,12563,13118,13495,13617,13612,13434,13685,13620,14067,14377,14773,14729,14766,15005,15447,15284,15763,16287,16950,17185,18112,18887,17859,18098,18185,18916,19598,18888,18310,19879,21084,22321,22838,22623,22391,23155,23091,23018,24187,26668,28340,29016,30792,30748,26569,21652,22999,22407,19999,20420,20893,20696,21129,20117,22332,22467,22889,22373,23847,22868,21222,21658,21426,21469,22390,22792,21999,21812,20659,20502,20078,18784,17404,16666,16941,17645,17838,17257,17544,18060,18685,18337,17910,17993,18191,18542,18599,18653,18666,19667,19803,19590,20209,19843,19346,19271,18840,18796,18454,17987,17809,18641,19229,19847,19868,21021,21030,21585,20264,18615,18850,18141,18546,18588,18840,18820,18564,17932,18202,18232,18159,18168,17828,17739,16555,16399,15712];\r\n          const sprAll    = [-19,-9,-12,-20,-15,-17,-32,-43,-35,-32,-25,-3,-4,-10,-18,-8,-4,-3,16,10,-4,0,-18,11,-5,16,17,17,22,33,21,2,12,20,16,10,10,4,32,-7,3,-8,-14,1,1,-5,2,-4,-11,46,17,15,4,21,13,8,-3,-19,-6,5,-3,0,-8,-29,-31,-37,-41,-44,-45,-30,-45,-18,-28,-21,-39,-35,-31,-33,-12,-68,-44,-42,-51,-10,-11,6,14,-135,-41,-38,-30,-43,-26,-4,-3,38,18,16,-35,-63,-61,-57,-46,-38,-44,-51,-50,-51,-42,-19,-51,-66,-85,-29,-70,-31,-17,-32,-43,-23,-15,46,0,-12,-20,-14,-20,-19,-33,-33,-25,-20,-15,-15,-17,-2,13,-3,-7,-13,-16,-12,23,-36,23,19,7,6,12,16,12,22,9,3,2,15,25,18,22,31,18,-14,28,44,23,-11,11,51,-12,14,11,28,12,23,-16,-3,13,0,11,65,22,5,15,10,35,16,11,21,-20,21,3,23,24,10,24,57,35,15,56,1,6,5,24,19,19,6,43,27,31,19,-7,54,23,4,-12,5,21,-17,20,34,28,29,9,25,17,14,21,13,18,20,27,30,18,20,26,31,48,24,23,44,26,106,17,38,15,10,17,15,15,13,11,16,20,18,28,22,26,20,20,23,25,30,18,28,13,22,10,15,21,16,19,21,6,41,15,19,14,12,10,-29,-42,2,-5,14,4,13,13,-6,17,19,26,11,11,12,5,8,13,36,28,20,14,-3,17,29,-2,48,-83,-94,16,10,24,23,23,34,13,17,-1,21,18,16,19,22,23,74,44,2,25,4,19,47,-9,17,11,10,20,24,24,20,-3,25,35,35,8,34,26,24,16,7,18,10,23,18,21,54,24,19,12,18,36,18,17,18,19,7,15,8,18,16,16,14,4,12,12,14,12,13,15,14,15,16,-1,18,10,18,24,13,15,17,13,5,15,17,7,15,15,7,12,7,15,20,14,12,8,10,10,29,11,12,15,20,16,18,9,21,-2,17,11,15,17,12,17,16,24,10,4,30,16,14,16,30,18,22,29,2,27,8,21,2,16,31,28,22,19,10,7,23,18,23,14,19,16,13,24,32,23,14,20,15,21,17,22,20,4,20,2,25,29,13,30,45,22,16,29,39,29,8,32,27,27,41,14,14,28,26,-2,38,25,22,13,21,10,10,16,8,8,13,6,-5,12,14,18,21,17,14,16,19,9,15,19,9,18,25,22,16,-5,15,13,19,17,-4,27,111,-13,19,35,-50,17,45,86,9,30,18,18,34,41,13,26,20,8,15,-3,18,18,40,23,33,21,18,32,15,35,-9,19,24,23,10,19,3,4,1,43,9,24,16,42,20,24,36,17,20,14,12,-39,-4,19,9,12,31,-1,19,18,5,21,32,18,9,17,18,20,19,17,20,31,13,15,20,21,18,14,17,11,35,17,29,15,47,24,43,140,1,22,23,22,28,34,27,26,28,43,35,29,29,41,27,34,29,28,35,32,37,36,31,18,18,37,9,16,6,14,19,19,16,35,9,8,22,28,21,24,21,16,30,27,20,33,18,26,18,15,13,15,13,18,16,19,22,-8,25,26,70,8,16,33,25,20,16,26,25,26,13,5,35,23,31,18,45,32,28,0,40,6,21,28,18,21,19,15,29,30,25,22,22,19,21,7,58,18,2,5,17,59,33,28,23,24,23,16,17,17,21,23,16,32,24,10,12,28,18,-12,26,17,20,24,32,19,21,34,8,32,23,64,27,3,10,11,22,33,29,21,25,16,19,14,12,19,23,17,14,14,14,9,15,14,-1,-7,17,32,-17,37,22,19,11,16,14,14,23,12,20,26,31,6,33,22,24,28,19,23,-20,13,-12,16,19,-2,47,16,77,35,49,24,24,21,21,54,30,25,28,46,14,20,11,24,23,44,28,16,30,13,20,38,17,19,12,26,4,32,14,18,4,30,26,16,-4,0,29,22,28,18,16,16,27,15,23,21,28,17,28,11,18,-43,25,-11,21,34,35,-75,21,19,26,17,20,19,24,22,24,18,34,32,23,29,27,22,27,26,25,27,43,20,29,22,26,19,28,22,22,20,32,22,35,30,25,24,24,20,25,142,16,34,34,19,21,12,21,15,19,28,24,23,30,29,22,22,29,37,8,57,37,27,19,32,34,23,42,28,57,19,19,17,10,40,39,29,29,28,12,12,13,22,15,16,16,19,28,25,31,33,8,14,16,18,7,7,13,8,17,7,22,26,19,26,15,26,28,31,55,45,32,26,17,25,48,58,14,29,-2,18,21,15,19,7,29,18,21,22,25,11,17,18,16,14,11,17,13,22,16,23,3,8,28,18,10,25,27,22,34,34,46,60,0,20,15,19,22,21,3,-11,28,16,19,23,22,20,11,14,21,14,11,12,31,18,11,7,16,18,16,19,18,19,22,7,52,-12,9,13,20,25,19,10,15,8,6,22,35,0,19,18,4,7,21,4,15,9,1,7,1,-3,7,-1,23,-18,-37,-62,15,3,5,11,-22,8,2,0,4,21,9,34,7,50,21,50,10,8,3,4,27,5,6,-7,-4,-3,-8,-4,2,2,-1,-1,4,4,3,4,5,12,11,4,13,6,5,0,11,5,14,14,6,8,14,20,8,20,17,8,2,19,-28,4,-34,-30,-3,23,-10,37,105,50,24,-9,-8,3,6,14,11,28,40,22,30,48,8,10,8,5,28,13,17,-3,13,16,9,27,29,18,14,21,6,9,1,-16,13,24,-20,-26,-26,24,-20,21,5,14,0,11,10,25,23,32,19,5,25,15,6,8,7,21,9,-114,6,15,4,0,3,-1,11,3,10,3,11,9,15,7,11,14,15,15,43,42,0,3,-1,2,2,2,-1,-5,6,3,1,3,7,-4,-12,20,5,-1,6,9,1,13,45,24,6,7,-1,21,-5,13,13,36,24,32,89,35,18,-4,24,28,10,20,30,18,-20,24,23,26,13,14,15,26,48,1,49,58,-11,16,-31,26,67,32,-57,70,28,22,12,21,11,18,15,19,35,9,24,8,17,37,-19,37,-79,-9,28,145,-5,6,10,29,15,18,-10,24,19,-29,69,45,23,22,42,47,-8,34,34,14,9,12,17,11,15,3,34,31,30,58,24,17,42,147,21,-106,16,41,48,86,0,15,20,19,15,17,10,18,20,16,16,16,17,10,19,17,28,18,19,17,33,17,14,16,17,13,15,11,7,22,15,19,3,11,26,18,36,-8,23,18,22,30,25,21,15,12,21,12,14,20,16,0,12,14,7,16,3,-4,-6,21,10,12,19,13,18,26,12,-4,26,11,26,25,55,46,80,30,114,-34,1,-100,3,-18,7,-15,4,2,4,11,4,5,1,6,-2,0,-1,-17,-6,-6,-19,11,0,10,-14,10,-4,-2,-9,14,-5,10,-6,-4,-15,-2,-43,12,33,48,51,-63,-23,16,4,10,4,4,3,2,0,6,5,9,6,13,12,12,2,7,13,41,14,15,11,11,9,1,15,8,12,3,32,16,3,10,9,13,18,55,23,31,-2,11,19,10,18,-1,0,16,22,-2,51,-11,-3,-21,5,-6,7,-2,-6,-7,41,15,87,-67,-6,36,18,12,15,24,12,19,29,2,74,30,7,-2,-24,26,11,-7,71,28,9,22,25,37,19,-59,26,4,41,24,24,23,12,-36,21,30,59,14,4,29,14,23,19,15,6,12,13,3,-3,2,8,4,-28,3,25,14,-25,13,3,21,17,15,25,20,19,24,20,21,20,28,31,21,22,26,6,38,32,38,33,35,18,4,22,-28,33,22,19,22,-3,40,18,9,20,27,25,2,30,61,9,9,29,-6,32,26,29,25,21,24,29,13,25,29,15,25,-35,44,20,21,25,10,17,20,23,14,13,4,25,-2,67,-11,-52,58,4,18,24,39,20,30,13,21,-5,28,55,22,24,29,18,24,22,18,15,-22,22,31,4,38,35,30,51,11,24,18,20,22,17,9,18,15,37,-1,28,-8,19,17,13,14,83,49,69,16,13,12,12,23,13,7,13,17,20,-1,24,16,16,21,20,21,30,-38,6,13,30,12,17,20,19,14,13,9,19,15,-8,17,16,33,5,-19,-9,14,14,-3,12,4,18,17,5,4,4,5,17,12,1,12,22,17,-3,38,16,19,8,25,14,35,43,6,18,6,15,6,11,16,0,11,-21,11,4,-1,7,-7,7,18,26,14,-10,37,18,7,10,9,-2,12,-16,24,10,4,11,33,12,-5,27,19,14,7,22,11,8,17,9,18,27,20,9,13,10,5,9,26,17,5,-2,83,269,16,12,11,15,13,-1,8,13,14,16,5,18,-15,13,2,8,10,8,14,1,27,21,0,14,9,6,8,8,11,16,13,22,16,-2,32,6,45,16,7,5,6,-24,15,61,10,-3,-3,5,27,9,5,34,-7,12,15,0,10,28,-14,-1,7,2,6,6,17,5,3,70,2,9,-11,-2,7,-18,-13,-11,22,-6,39,20,4,17,9,2,8,10,7,7,19,12,-54,7,-1,7,18,-30,-29,13,58,-61,12,18,-4,-14,18,0,-2,19,17,3,-8,4,4,20,-3,-23,-19,22,-22,7,8,7,7,8,4,1,2,8,4,2,15,2,-12,2,3,9,26,7,24,-10,4,1,7,-3,6,-8,9,18,9,-26,-7,-62,2,8,3,10,-5,8,10,51,7,7,3,1,5,-9,-2,-9,10,-2,-37,-3,-3,2,52,4,2,-13,5,9,27,5,-26,3,9,10,10,6,2,1,-1,2,23,11,4,15,-20,-2,-8,16,-9,21,11,12,16,9,-3,-1,4,1,-17,1,-2,-6,-1,-15,13,4,16,11,-22,33,3,-3,2,26,-5,6,1,11,7,5,-24,7,26,-13,-3,10,-14,24,69,41,-22,9,10,9,8,9,9,11,12,12,11,11,2,0,-8,7,-1,3,-2,1,-16,7,36,9,6,8,13,11,7,6,16,7,-36,37,9,21,7,11,-8,22,-5,0,31,32,12,3,1,12,34,1,5,-7,11,-7,7,9,6,15,23,8,3,4,7,15,7,10,-2,5,23,12,35,-6,-8,-13,19,30,13,18,-19,28,3,9,3,7,8,9,12,8,1,11,10,-2,-2,9,21,-2,-2,5,-1,-34,-7,-15,-37,5,10,7,6,7,21,0,24,-6,9,21,1,7,2,-28,37,4,6,6,9,14,10,6,10,1,12,2,24,17,18,-4,19,9,4,3,7,20,-11,18,20,5,6,8,7,7,10,6,9,7,6,11,5,-3,-3,4,-13,-1,-20,-10,8,13,16,9,3,5,7,7,11,8,3,6,1,5,0,-4,-16,0,7,6,14,-3,8,10,9,6,3,0,5,10,0,1,1,2,4,13,5,9,4,-8,5,1,15,-27,-10,2,4,6,1,21,10,-6,5,2,4,6,-2,10,-6,19,4,2,-2,0,9,4,3,6,0,-1,9,33,-15,3,-3,8,7,-15,12,32,-37,3,11,8,14,7,7,8,7,-5,9,4,7,-4,24,19,3,11,-11,32,-16,168,33,-4,5,4,6,4,2,21,20,2,14,16,14,15,6,-8,14,-12,-6,13,-12,3,-1,-2,0,-6,-18,-11,-6,-4,0,-3,1,6,9,-7,24,-5,5,58,7,-4,-9,-9,-18,-2,-3,-3,6,14,0,-3,12,3,1,6,35,-4,69,43,13,0,-2,-17,8,4,1,4,-4,-10,15,-6,-62,66,-23,3,-6,138,56,-4,3,6,-4,36,26,-7,-2,-2,8,-19,9,13,10,0,-11,30,-3,30,8,2,-10,11,5,-18,9,2,34,12,13,16,26,-3,4,-25,81,43,5,119,66,30,9,16,-9,14,42,20,26,20,16,32,2,16,11,-5,35,-11,-8,-2,51,-12,16,14,22,-11,7,2,17,-16,18,15,1,23,12,6,15,18,16,11,127,15,-21,-9,24,10,7,11,11,16,17,-4,12,22,9,11,11,11,9,7,0,79,1,-23,-7,-39,29,18,11,15,10,20,12,8,5,-31,-9,-3,12,56,-1,14,7,5,-41,5,21,7,22,37,19,14,15,-8,26,17,15,31,37,-29,-25,114,45,18,21,15,18,17,8,14,11,9,31,28,31,19,16,29,15,36,7,5,30,10,17,11,42,15,8,15,9,-11,11,8,20,6,7,22,-5,16,11,-6,29,32,19,17,8,4,12,14,7,11,8,-1,7,8,20,-8,-38,-11,74,17,8,13,13,12,20,-11,3,6,22,-12,5,-6,-3,7,-14,6,-5,-3,102,15,12,15,15,6,9,13,15,4,7,5,6,13,29,6,2,-68,-23,43,-19,-2,16,4,0,16,14,6,2,8,1,12,4,2,7,26,1,23,16,12,13,9,11,15,11,10,4,0,3,0,0,17,2,-6,11,14,13,3,22,27,6,18,-20,2,11,8,11,11,24,8,27,-26,-8,-4,-12,29,9,16,10,17,13,6,17,18,14,-1,8,15,5,12,6,33,0,-26,13,6,7,19,24,12,13,13,21,12,-11,11,-26,10,-4,60,3,31,23,-8,19,65,72,11,11,2,25,11,21,32,16,26,43,15,-1,118,-28,-18,-511,-2,15,-2,13,-6,-18,14,7,-40,2,6,-5,-9,43,-4,-6,-48,-121,-77,-24,76,-21,27,4,10,7,-4,-4,23,4,14,11,-23,41,-6,15,-27,30,1,269,11,-58,-188,7,-21,19,22,-47,-22,-26,24,89,8,-119,-237,-104,129,-9,-11,-346,-734,-108,-274,84,-7,60,-31,11,-16,-72,141,-81,25,-88,-204,-47,-25,-176,-360,-154,-354,-68,-35,-91,47,-940,-232,-41,-287,-330,-155,-539,-424,-572,-446,-809,-169,-145,-225,233,-36,-11,-6,-51,-15,-33,-110,-51,-35,-45,-29,-12,84,-3,-9,-320,242,41,201,-60,-106,3,10,25,30,22,56,83,38,-6,-1,-33,32,-44,50,0,116,-148,170,361,-18,35,12,50,39,75,23,27,57,50,39,-16,55,40,24,174,30,44];\r\n          const volAll    = [834064,1044784,929162,867472,533642,519702,1039648,1012282,926130,331016,595648,564360,744208,732708,415544,468098,427918,1016114,932618,861768,702762,909902,3444204,2196170,1348022,1912576,1367410,1386426,1054758,1171912,1040626,1268162,1047144,863510,757104,1056984,1115290,1364508,967482,866364,1210964,643602,1041850,763012,675568,839900,713674,1409672,907070,587080,737586,651860,776128,748038,716312,1193972,786150,797136,595538,417058,509798,689312,455858,1210236,376620,803280,763606,515672,559508,484594,545564,675232,619688,451974,375078,610010,296156,628782,194210,631012,502762,1033502,595432,563458,560492,530212,847750,2495548,1980792,1006062,1845588,1649130,949244,564136,540096,1097514,1388346,1173504,702848,1011052,1702604,1226560,845102,772470,818868,1022366,797558,753268,738686,637124,1449564,2429868,2378864,1239580,1772884,2673690,2853060,4084116,2219120,1545208,1535894,2398364,5045342,2646300,1878582,3706828,1945952,2741632,1234354,2022528,1766192,1371040,2287652,5438852,4684760,2400438,3234076,3193116,1868152,3464596,4187686,2391352,2078862,2297668,4486256,3462248,2357672,1680670,2190242,1986950,939666,683598,1286546,1560464,2403542,517258,2209962,1870974,1440368,1419056,2528202,1821928,2637772,2552976,2166898,3557100,1467614,2690168,3098364,2643574,1839326,1988622,1467574,1457848,2865182,2764312,1916090,2238232,2242272,1751630,2999852,1253914,1466072,1608436,1550870,1671934,594066,399368,803314,965048,1390840,2052890,1811448,1502858,1098378,2197542,1296688,1108910,2350468,1333892,1382788,1233292,1761872,1813660,1410518,2665754,1849716,1453922,1538720,1256666,1584122,1419690,1186588,1533196,1172104,346842,691058,1566750,1094510,1243706,1088392,1163082,1051054,1279322,854758,1282970,945544,1533278,1134814,1517340,2443138,1866340,1671724,620786,1192444,1230906,1156018,886682,1132292,1225956,1369586,2195462,1788072,1628158,1457694,2236302,1184068,1010350,964088,1047516,989304,866576,969728,761616,1615260,904150,1062578,1186734,1148520,720352,740960,684056,957504,736750,940258,798840,1198508,1173204,337790,1161300,766986,720010,863526,1025110,1205872,769018,802882,597054,759186,1899734,1847784,1120058,954728,1130404,611448,1081784,837390,1456324,1520294,1101458,1016444,1193472,1503662,1015846,712220,1247060,867380,1051058,1035426,632234,658900,753870,1341952,2560774,2798750,2368030,1240202,2070318,929020,1528422,1721920,1901776,2602912,2498116,1865920,1583746,1972878,1523796,1049188,1061468,278202,795758,1847328,1133054,1081622,1447538,748830,820164,1453380,1696040,1117156,441878,642608,407652,798614,221160,654860,370748,531088,754380,727656,641504,692500,746288,642376,565208,525596,612064,592768,742566,600756,413528,554554,1381354,821912,427944,372626,424656,552904,453392,753914,557548,534556,378154,754292,619470,676344,563136,566246,613414,1060136,841202,853928,842182,690166,809102,574374,446438,664816,703118,1493462,653670,521018,627184,438050,736774,619490,351186,809070,730338,795270,654688,499792,370036,217852,318102,379354,428158,387162,318446,577216,412364,983996,763352,568620,494606,331926,644842,417696,535832,296568,435756,401602,460010,587640,521794,547016,360978,393922,337580,305938,317354,740508,476516,393100,361190,306288,252928,292692,408942,315032,275536,680418,529498,782366,471490,499698,491266,789562,1692274,1348004,807842,590242,1014400,572166,891280,360320,489606,1461198,763516,594410,652858,714794,304470,268644,373452,549812,363018,413670,219352,232138,279312,302902,438732,629174,823230,780892,459646,820872,1071092,1897552,1856670,1794980,1491092,803644,1067226,1157594,1261496,456580,800562,582222,1065354,962736,876082,684068,709058,951094,688886,516884,625588,893858,654154,672392,483692,525158,480336,582728,618786,418916,433194,505674,287868,516272,333658,359468,397184,421034,410642,686670,808020,460596,428640,460834,383274,1029386,690404,396716,1071694,826502,1523658,854212,1930844,2099286,1168384,1282740,1909354,1186712,1848568,1333314,888552,987950,774106,697396,965286,1055396,728740,800432,512872,1272286,794024,1145836,686184,745348,953118,638610,911584,493366,810518,734816,618164,813192,599302,740630,822818,470726,933650,438374,400440,725470,395712,1273664,574104,608218,434668,730138,817906,384412,879522,518296,612944,802328,669584,634436,379544,415456,674360,974290,679188,603692,516728,761280,545474,475088,512090,593634,520514,527612,405066,542366,579862,449522,502746,560244,410902,741302,685720,472000,406280,715468,478514,750384,667040,708130,514370,556206,1922160,1105870,1319324,1776456,915036,577428,434982,653578,634086,721650,557034,1018632,752046,1025762,773748,767420,929316,601370,993868,705120,528002,1349576,787630,746426,876396,915706,985218,911868,510366,786136,831370,516490,638310,490244,376640,576688,576464,604924,225856,742592,593648,706364,483932,494714,604592,687274,515294,663862,509212,755484,575842,470610,553470,305840,451290,400166,224550,521376,376638,433380,428662,431158,881858,490290,699246,573180,456212,363138,525574,469002,566128,901972,589274,357550,469552,357898,827230,412256,252118,453984,527546,527726,661930,322596,315286,585258,348114,243768,253574,461536,240624,364576,429980,372328,413312,314146,440134,178640,295714,722360,679452,363192,630794,446476,322946,476200,370566,608818,343064,554882,550980,365468,407094,390756,353062,336606,302636,837848,564880,401430,330758,389480,404336,394696,384328,400346,371406,460054,469696,393236,421068,464560,368786,232798,217996,387764,350508,553484,403170,292234,294418,487440,349400,363062,348406,648388,352990,297970,307546,312528,419404,280784,225636,306778,416854,271550,434488,331566,778800,348000,362306,493030,1291306,1145248,836598,526148,619434,555546,408830,368056,392088,526926,368042,291160,562492,503460,393968,327550,353950,345386,447584,351456,791438,406110,714890,874362,742668,716604,644040,459446,949638,545924,886114,468650,573620,443102,383536,1006558,673188,607438,345184,526740,830962,337486,529580,379354,601338,514054,327600,237784,324494,256440,398716,489106,219022,466050,320046,242674,526724,326802,296250,218550,266640,245058,267494,260314,267292,381246,342252,238700,238102,385582,363116,282204,233148,242514,464422,396112,218406,344120,472748,257060,443436,421014,270982,290578,307208,339118,237584,281508,349060,215942,397148,455298,251544,292268,230902,324716,426930,474444,536158,358518,622486,245462,471270,461236,378082,404476,252728,279440,523638,343254,390922,286556,213200,224026,256270,433664,143086,212182,282072,259278,138118,325868,380496,331048,349430,235486,277486,252334,418128,473636,237216,405028,328660,319076,209640,243830,440080,628710,425064,292444,377356,282304,238362,289872,744996,525686,432700,639244,412904,484090,304438,306892,149126,318734,456348,371016,518768,333114,524410,406450,310082,552624,458616,378702,585018,245216,357754,237862,420872,580936,271668,351922,658176,530580,372862,356950,382220,604244,302652,222514,338380,265500,115676,258968,319492,612804,396222,360308,284208,431184,987740,620702,465894,658046,328350,343228,406840,247940,414764,250152,345580,206704,445446,399198,397400,308896,357460,394026,252794,214312,322508,287490,282104,274352,369718,322460,184220,318798,401770,243648,255898,294802,328278,426810,701120,714592,432692,330070,753686,693164,613050,300578,286952,287934,314214,184494,236244,305054,320556,256428,281398,305150,182682,245166,215376,244272,245938,330906,179446,242258,356270,648318,356514,400338,301616,194318,251938,165634,209100,205648,166716,290840,212856,190862,375864,190038,228432,188640,235288,286006,512906,368434,926048,420940,299718,284054,233034,402848,280158,361594,236790,324566,264240,381248,468014,349762,491264,238924,339354,337836,185928,376368,264048,286844,304286,228590,298812,446598,526642,216218,434224,293488,366716,219654,276074,223638,241080,434246,349084,354218,298626,340896,315528,241006,223710,330166,284968,302078,325076,332116,303346,328896,460314,329788,234664,340310,278780,375592,447822,266164,332576,345752,296890,353910,199150,384862,314838,177954,366498,255566,309186,357712,233384,398930,371520,320354,204062,306626,461452,295122,335864,288928,259530,244428,234472,215282,428712,348246,260056,209604,348234,720894,702424,313950,707110,794806,803444,651356,458400,644268,628426,534094,394298,554674,336588,496526,610324,379892,381072,354188,300160,720254,531650,546972,434738,417022,134172,283902,317648,471364,378780,409030,282372,626170,472878,385748,450210,427426,370198,551096,497882,865648,736012,443546,359538,459114,600242,310566,243912,379462,555252,295398,249544,225822,517358,350570,308638,334152,339980,402732,617612,345074,313068,380888,299810,167610,260976,303390,253304,457704,390842,335464,317084,265478,207192,228342,256904,384026,391688,359248,321074,271910,232584,350588,338878,422834,389428,313698,565142,333896,286174,532172,346700,234406,311852,221126,392632,218870,154402,472220,277120,360596,527260,449194,476232,686130,288828,410926,461660,375244,534860,584742,317304,554554,721198,781658,510356,646652,772780,502976,486544,503758,353928,827488,388674,253762,592076,277052,292142,459656,287844,328566,537490,1344998,2184652,2038278,3454260,1431320,1933278,1565582,1497610,1319030,897864,981490,1897868,1788682,2742186,2393460,2438276,3132530,2016336,1787422,2252860,3156772,2640332,1442282,1469920,1078200,1425254,969688,953038,3025070,2047658,3622668,3198976,3871888,2564430,2348934,4822140,3174142,5541226,5014300,3419932,2953810,2272908,990730,1721614,1723150,2258636,1483586,2253310,2473976,2986548,3164244,2657762,2686984,660734,2216314,1954672,2183244,2458544,1522630,2041222,1671508,1528388,1766150,2078886,1362784,1060324,2513252,2845920,1988148,1707576,1647184,1848920,1457872,1566648,2822936,1643116,3181202,2104922,1929896,1805992,1792106,1946198,1260778,2190432,1843922,1477144,1464830,1642532,1495534,1799620,1298890,631902,1313758,1105406,2620158,2392512,1325860,2548756,817204,896658,1419234,2738760,2209650,1035650,999362,1009892,984610,1851104,1877772,1302380,1486048,2193680,1597448,1890508,427039,1214066,1184517,1282841,1326755,1469444,749149,944145,799881,613863,683957,489058,562456,401738,729280,400640,318106,206375,261832,197756,222567,152227,158253,389413,193097,169932,243872,241606,423487,435269,439106,465934,614099,541305,465290,1077717,659122,484175,527492,248006,446104,1045050,643621,339792,635526,652576,348939,42871,988000,992804,937852,878417,449914,859350,598084,565598,745672,414610,317859,445044,413965,457978,423079,246881,221720,511045,511794,447901,441880,620761,490593,488346,625737,554654,359842,381710,528439,291527,337036,309210,477878,970596,1082985,619120,670622,729049,1470155,1489189,1555808,1602364,1366630,1736048,1414798,1302154,1487485,1759697,1671789,1657399,1294939,1743192,1563354,1181909,1236991,1001081,787069,1309273,1566011,1608046,1329117,1248466,744322,847422,1300237,1083750,827118,329838,637894,1302662,1309203,1058775,606023,920504,834760,1318581,1452916,1157987,1445944,977502,1031993,997676,871265,1565634,1004602,2847921,2282093,3062502,3030703,3432520,2477098,3221672,2519281,1433092,3801414,3338988,3653469,3651886,4632119,2391103,3696038,5105342,5413134,3656009,5694407,5187671,2944522,3687558,2654702,1913674,2942250,3789252,2348190,2099045,2178287,2923479,3859379,3020616,1582182,3287669,2020642,1960470,1518865,1443865,1362757,1788839,2111341,1549607,4076046,3413910,3806235,3589013,2552664,2141558,1801643,583110,2132754,1828076,2473195,1854488,2161269,2058227,1640051,1786022,1947985,1661866,1710358,1528526,1257515,2446217,2373001,2000566,1366390,2013553,1438413,2149228,1993685,2481328,1057732,1723457,829953,1344121,1170864,976267,1347363,1275548,1085845,1860176,1511312,1001134,889187,2492111,1617489,1974947,1544636,1589583,1557461,2022047,1559180,1583818,1421871,1255862,1535187,1673809,1930688,1902508,2384282,2777261,2296574,1572217,1241165,1729044,2117309,1925300,1685764,900275,1828731,1243568,1921246,1291060,3174246,1909380,1371024,1255121,1562908,2086142,997405,1240303,1694411,1277954,1358523,1254771,1045410,1538294,2764508,2740365,3070360,2798612,1658995,1751522,1504307,956797,1029902,412371,1182010,1504388,1459398,1346827,1509298,1817999,1708497,1320640,1025794,1492368,1804323,1705684,1255059,1281312,1109354,1140291,1230758,915434,923419,1079972,1223474,1108218,808608,1131758,797336,1451348,953880,1041662,1272206,1011964,844660,419755,775769,934007,841197,828926,957403,901079,928885,1015440,948501,874738,1042928,1093328,899888,1076162,678099,989672,898669,997791,639332,1294115,1250869,1140431,963337,1297807,1066575,1148818,1681437,1498297,1939276,1183643,1614663,1119035,1309345,1181932,1082859,1104083,780216,1072758,770828,1188498,714437,685973,755349,705291,892678,413375,639329,927622,1191922,1094005,679130,554869,689366,608780,772100,427662,631278,642591,510650,719254,515572,832907,689308,688548,636014,579610,631878,739299,553385,1135368,792790,874476,600708,670357,667286,526339,823502,668444,607788,628830,548111,556587,743960,631823,1165250,850612,710019,567186,615019,619534,492457,521740,904954,537006,949403,608982,500672,542732,648144,1107778,528652,677710,597346,533097,904287,410813,594656,673431,567814,723365,591151,556445,661336,1003291,310587,755710,563505,846432,628860,874818,1015886,329417,722631,476457,646765,967859,733017,742195,617319,859275,959727,788297,1185216,615713,991161,826247,939309,662178,522479,669868,732221,556441,807663,527315,675385,1375378,802571,999694,671016,905469,630834,769741,832750,1099734,990033,742830,481463,1104973,862677,1163836,891132,727145,1001659,606435,627597,575100,883122,838041,562824,782273,859997,837316,668159,551171,573197,555012,492177,438585,554906,680440,620451,657641,371138,600957,750190,753591,783691,642519,526738,646974,504055,599271,390454,920386,770738,836997,762628,627326,609234,715853,694903,268097,429613,475446,420537,901353,745921,630570,573040,454583,584315,525907,546546,476520,839074,1143770,734137,551576,980450,706163,719806,1160336,1195801,1690485,1251769,784638,775136,663868,583619,782281,500866,467519,548435,486567,489097,711974,650965,416905,669305,502723,412555,232139,429525,467874,528249,635702,590828,556854,478849,501451,518426,763364,422056,657830,705252,609637,537545,704512,530564,253958,836839,499437,661081,759148,707633,784433,840881,588810,446213,511519,553236,561351,435191,510816,428417,589554,484361,516926,443475,468304,317832,436432,373499,404771,572313,796697,779205,571142,675390,652815,628379,410340,627128,546903,970987,914572,622035,654924,651271,1030929,856843,553508,1195639,1068524,659048,731674,837387,654563,1055280,1020667,822129,613876,475961,740687,743400,785869,663888,589750,966377,1123847,946260,828717,956223,639807,596567,808925,744466,575668,607567,599857,793853,655324,515100,754030,735151,624385,690450,688235,629877,535514,1069666,546803,628880,802367,741149,733273,417889,731627,645997,756958,395605,775803,596354,854774,734866,600102,611706,857029,736952,1049610,783800,817314,977839,758610,458948,685807,754260,680570,962764,976794,618144,624714,636166,779067,1521637,961929,989062,739382,816637,913601,880012,903319,956633,1038842,1251462,1149152,1668459,1374796,1746102,1369989,1146283,1281460,1173577,1034020,1044240,898827,746093,1123707,706950,930525,1364708,1009442,1491783,1481759,2118506,1496924,1113499,1222169,1335175,1554387,1177891,1815383,1407151,1671037,1458936,1166575,1445749,1045417,1091795,979986,746427,1019362,1039193,914732,692284,942194,1199695,1072160,1164436,872194,809336,1000216,1250901,1207620,786532,929993,1444980,1194773,425295,759187,778940,1140396,1614467,1678396,961727,1083953,861004,1393798,933688,689334,1382173,874306,898000,1071488,534910,855067,712746,817063,1095739,651789,869091,823943,743414,898089,573233,1313186,768190,887206,1530974,1333096,839735,1364957,1175484,1477356,1010062,960317,1265261,1065858,1556240,716403,840320,785037,1023538,1113478,974418,622366,1080644,814535,911512,1209569,1389592,1456192,1874715,1224316,1148721,1181835,1320005,1536779,1182624,1284985,1230302,1354425,690522,1210707,1392547,814910,896517,1353724,1870490,1186592,1070882,1082273,979150,1194486,1295589,954187,1246179,1533112,1235054,1155529,750441,1265762,1221207,1038829,942945,714046,725362,1135130,1110406,908268,747214,856462,1047918,978903,846215,537587,1115101,453240,632595,686912,664314,841150,806887,551964,451890,907388,895539,704006,719283,501774,1221610,1129440,1174445,905836,1572865,1066226,1225379,930724,1073212,863579,1220947,1531265,830384,802567,842025,1166109,843924,781688,711294,735941,740090,906956,718316,745072,789314,688897,950344,719502,869681,933846,1109959,728420,972402,700261,1011476,981546,685325,1031026,566369,699707,849429,754047,824898,659255,705945,1269882,1678054,1082641,629311,589627,829197,1018141,729193,792031,786574,939174,602702,869567,850223,726474,796855,1151580,688127,974091,999070,1124467,1363285,870878,887671,1007666,1004734,937050,867437,1055790,872025,707908,1242194,799820,1144711,1115111,1168148,1318353,932329,1411617,1203091,1461142,1118359,1071787,1042468,1064910,570106,2242164,1262892,1557970,1249017,920110,1323120,1534022,1131867,964058,851405,1327635,668509,861080,990870,811795,780793,483562,610974,818626,849443,798921,346727,548951,763069,809107,296119,581080,798998,638744,855826,497525,508671,466753,990651,793325,335287,685243,609237,486661,880793,685176,480990,644772,508745,515232,503097,528836,505833,812911,791313,468457,443551,375799,331734,278600,355972,368427,485546,549846,446075,419955,338696,612948,832398,1151561,1029184,879174,691285,981016,484292,662858,1292737,929573,1184069,690224,558509,1079182,1241311,1031967,539501,752156,773559,1067153,674325,1080386,1841446,1464993,2927240,2634288,2940984,2694221,6253027,3608576,2870622,2487105,2533287,2240265,2138331,1519597,1342699,1397892,1339199,1084126,505735,980218,864740,923075,1701366,1389609,973531,1151052,2363089,1292999,2274427,4841652,3680178,3428457,2760522,1984350,3223002,3720404,3051022,2605838,3780573,2167014,2422622,2357472,2857322,1221376,1346898,2596544,2015088,1787222,1545449,1511058,1831621,2049912,2120420,1265392,1764809,1396488,1518762,1357009,1034120,1583197,1763210,1256516,2560895,1575939,1766840,1484593,2270401,1525870,1328187,2144471,1982758,2028162,1611504,1564507,1399182,2650594,1898975,1490786,1765509,1856544,1494642,2055831,3187172,2576697,1836237,1665405,1999779,1725188,1421891,1495833,1943009,1991301,2002460,1556383,1632109,1528606,1729043,2214290,1233016,1516568,1260210,1369638,1834366,1003133,1427228,1176962,1399581,2416887,1316423,1526939,1652896,1813147,604616,1911514,1505367,1767389,1738392,2477305,1617068,1951134,1966065,969890,1632549,1391599,1366578,1334090,1281924,1464308,1878810,2061149,2582552,1943230,1941456,2065692,1814852,1721001,1434204,1397324,1510142,1479361,1377298,986183,1605063,1191591,1251084,1290601,1009106,1668533,1306774,1559302,1255428,1277066,1338384,1749975,2037681,1468614,1357847,1844478,1301919,1268531,1128412,1097795,1370965,1231434,1675473,1297670,966684,1088399,1505890,1033224,724024,852452,1261896,1187133,1146238,680175,633995,524566,694830,896592,847086,457489,722578,912596,1177651,834500,920530,725695,1383606,1085397,861329,1263855,991400,1094835,1077448,917449,872020,1092340,918226,621838,702759,735195,1271045,1171426,1011365,965361,1306337,1940325,822808,1048349,1003438,1304857,1236269,1013637,1242356,885342,1082258,938834,761977,864575,1042985,743830,1118351,859365,982951,885607,1801354,961114,948623,957857,945150,1062165,872939,644819,998229,703867,1167841,1378729,1134850,1676364,1646503,1564864,1556965,1694078,1423933,1823518,964508,1034123,1500056,1102852,861921,1477982,2117250,1731893,1031846,1066046,838412,883930,508097,1350810,965924,1137536,1182017,1027519,1477415,1012626,970724,681687,1192362,1074516,1018474,925933,841898,825998,857420,847853,1202062,1458778,899821,1085408,1362378,937723,752455,1237971,1215393,1084292,727406,795077,1019952,736886,837534,949707,659064,627713,923327,846376,676826,715924,921222,697289,1686392,1568465,990765,998507,1155692,1090032,880780,1238108,1337546,1599260,970155,1564987,738850,843356,1394017,777541,729382,455050,532607,640354,532407,645203,460303,411181,802381,492092,503121,999631,474254,447460,583887,567531,1516854,968060,1128851,1537386,870863,1406039,1067357,1066280,660300,1454869,823266,978146,1303544,1305261,1023906,1340506,1332060,1293850,1121089,1633403,2294694,1379174,1005687,2624941,2823544,3694421,2982047,3239346,3911463,3700983,2383616,2631399,1562642,1475916,1298693,1760723,1251314,1400021,1521457,1267986,1352754,1390882,1027806,1231110,1873576,1370140,1480976,2510094,2378029,2791606,1758456,1943912,2580885,2949033,2108210,1776405,2051420,2287902,2034413,3619305,3427760,3686823,3302467,2566966,3103281,2048908,2849620,2582854,2766619,3946097,2697642,2872967,2736170,3403156,3102571,2386713,3301271,3355499,2884085,4930646,4154710,3883132,1079343,2896340,3244344,3113931,2284961,2474762,2382636,2724888,3117047,2549685,2734346,1583430,1948125,1820246,1832414,2376284,2534159,2583894,1809945,3009831,1363351,1619975,1904707,3327533,2635875,1971263,1266314,1084057,1109141,1355493,513518,981009,946281,1013224,1328943,1910286,1433023,1190686,942509,1271175,882961,708982,711780,907799,1223835,888417,887270,1254826,1828776,2026252,1943232,1496495,1206162,1307251,1592496,1341387,1409745,1572502,1300327,471898,1132838,1017558,1010071,945202,984875,1290105,1059656,1039360,1223458,808499,1023771,1014300,1142057,924874,959962,813139,898726,393466,797382,1119672,1114069,1392083,1254543,1353723,1653405,1370972,1261780,1441186,1398933,1172892,1115121,876307,1045978,1198082,1259946,1016597,1044555,835948,854779,1090846,1547861,976416,1750556];\r\n          const oiAll     = [610328,583208,589088,567230,557388,590832,574630,584642,535216,539650,547044,534202,507430,502262,462594,450748,440764,445356,471244,436148,440304,463802,562466,573264,579022,545414,508410,521946,495222,474604,464188,459274,482604,440736,432674,437984,459156,503976,462260,436488,448576,446440,418874,420440,435092,458846,464150,483684,457638,464312,463840,471390,460782,465538,500548,544430,534156,559160,545764,539508,541920,545328,545554,484042,483566,473286,487600,491012,501770,510682,513060,567250,566810,561012,563874,574938,582338,579078,583370,599320,601780,658442,642420,618708,610804,614786,617672,754532,742872,733020,762422,706538,665806,648874,638486,668412,714446,662494,667320,727978,687504,667670,676800,670252,646030,686546,687124,697516,670116,663114,747576,798182,728348,769826,855098,868662,882486,778786,765576,751808,756626,824462,698066,636306,633622,627284,613182,605500,598032,587224,583432,597488,610180,494608,485904,473090,479022,478910,474846,507108,499352,515492,504154,470684,445448,410758,427700,452440,468754,452988,449516,436370,418690,424702,406930,424780,464514,416282,426520,413918,420472,409722,395934,419092,397714,483564,491658,521660,538534,525422,538820,546752,537598,535188,515832,484432,465890,482236,456308,441064,463928,445594,413504,413132,386378,351448,336410,333578,365280,399096,410792,414660,445438,449870,445792,508144,530294,535806,604572,601622,618394,624352,631760,612146,597740,610436,591354,572102,579604,537472,554664,552042,547554,514260,480188,484670,488642,541688,543936,545138,558438,561358,548350,585528,568400,616598,625292,665788,651144,685892,714292,658344,642490,635776,639890,643670,634320,640944,643390,628082,688074,711214,635726,692306,607290,462860,450542,469586,457744,486168,477136,482536,460030,467316,466264,471244,489750,538792,574546,607918,638186,656082,646188,652318,627308,634548,613912,578618,598890,650524,636702,655436,612222,620882,632506,638244,617480,617726,599252,598300,440138,446472,450792,486192,480658,526890,524364,562392,562678,576840,592402,611730,619576,607132,598588,595904,596744,582384,655330,661446,644382,615944,606102,643380,652844,552306,553778,520058,503568,521826,528990,530490,500666,484228,493950,473514,441056,430878,429876,416370,426328,434724,396144,397840,413922,434016,455878,433814,415110,421946,420918,425988,400018,410556,424576,415588,410516,378356,374796,412542,436278,433636,473186,488678,487348,479122,476438,483306,470496,499524,473056,478356,492908,479458,464132,452338,447868,441392,460726,450524,447606,437500,443846,474630,495002,506166,523520,520776,525974,526274,595158,573794,555408,541102,561728,551178,520164,516364,546264,520706,507820,497062,495856,496510,494464,519322,547876,502552,481978,535522,507504,506638,501088,509820,505282,486362,501628,516086,519966,516890,499584,520200,552356,515688,514176,514212,511994,500802,498348,482088,496498,483000,481286,491790,482542,518732,511716,499040,496286,499966,499454,501406,518054,498882,504318,508642,519134,526116,543884,542388,533326,552324,596498,592176,583412,567602,582124,594286,659554,685766,692432,642244,652388,667218,685306,670640,654642,673404,799922,740152,803366,756548,667504,677414,671932,676938,659912,661504,662072,649334,660348,663904,667556,692596,766866,818124,850304,879830,875546,986326,948122,963238,825088,810710,811278,877854,843522,874380,869934,832324,817464,816140,832990,798200,826796,827248,802006,824044,776694,761140,755590,755936,745734,748716,735066,725044,729510,721682,726520,700996,662310,671882,643238,636392,638370,665194,684816,687048,629838,618374,632602,654834,629628,635094,661004,661890,668216,801078,779972,750538,742130,686856,701978,693010,682054,759306,775986,823446,787986,775202,746644,744892,766388,712030,711540,707160,710148,708456,747352,739874,774082,783902,800852,762714,754812,725978,712910,736108,712468,719554,696484,712154,719856,711774,712696,732406,722492,734964,737924,734804,707470,699274,680898,681078,692858,670154,682536,674382,658960,648550,633518,618242,623906,635988,628800,672186,639284,655618,633396,622946,608972,583134,560630,556142,596342,607230,610028,617854,641684,673266,639896,646956,642952,661198,707280,716684,722464,721134,720060,741600,749364,678450,636332,628532,659940,689724,753076,899246,719314,689864,683288,693586,718606,729384,792864,797476,823978,833782,871322,843002,829540,848908,852976,866914,881968,877432,938370,908424,966982,979358,979874,936672,798062,786410,789402,756758,764922,756484,745980,770494,768734,760782,740768,735540,744866,741092,739384,733294,734470,738694,720746,729810,759746,718880,709734,713548,691464,691274,678956,667306,658508,619062,646110,662218,674280,677822,669976,787656,812428,765844,743350,719898,711718,764678,749994,727602,818938,804494,793208,759786,766846,671138,652544,645150,623464,626408,656614,655382,672844,677634,640200,645160,647984,633408,634396,629134,609394,638840,634476,637878,650314,624932,647660,662830,718264,629458,610518,624434,649918,658626,672066,664038,658844,641316,646912,629988,612524,592888,585228,582122,613412,626502,658314,660786,674336,686012,698226,701640,700332,693930,667674,657948,654372,641748,630050,606306,594218,577380,553424,544320,555168,559204,557134,580334,572292,562862,548148,562812,584862,592972,585324,536676,572082,594428,605358,603784,605404,594788,605428,611756,610850,643366,662750,741970,736200,753338,792760,828056,760424,725260,707494,718328,684094,678476,664794,661072,662436,654918,644170,660848,640208,620958,620260,616556,612026,626416,619746,663680,662526,694428,704640,650140,715624,656654,631034,712612,687462,702494,727976,718302,707664,704654,732248,744006,697364,689644,707410,736048,749344,719350,686036,670848,633452,632886,633560,634938,632898,639682,641488,628118,645710,627334,627758,617256,618368,617038,591286,610914,630646,639826,620766,629678,662788,620714,617672,619358,617392,616874,615750,604588,607904,648342,611768,589568,590022,601732,592670,588248,621114,601202,600008,595250,592692,597806,593886,580918,582822,600272,567350,573456,575574,586162,577144,582236,602550,619896,618942,628120,637384,653790,677608,678738,677458,700308,707610,701428,724910,678776,666666,665126,654470,650800,645752,643468,634656,625958,603342,609494,591166,603486,591826,603618,614968,641270,645772,652692,681068,668848,646646,658852,671344,677996,686910,706506,697354,705050,715280,732006,735856,737140,755270,796230,786106,822396,836146,820634,822714,794536,785366,788186,820188,847180,878744,895142,914576,883364,878898,903690,853112,878644,866922,856378,860064,852210,862288,908744,947254,928494,947304,905618,903718,900164,896502,925328,966248,953398,939828,907046,917764,926038,924576,921696,892718,866834,871554,862114,868714,900352,872216,837514,815608,819566,831184,813730,828784,833566,830702,837450,840532,835240,847258,854916,836382,825722,833252,831382,823562,850766,817324,806018,819764,805094,808016,812846,798120,800652,775262,775180,765774,795726,801082,769956,853584,834314,802804,915790,869224,669840,667750,673818,667968,657998,660064,661912,654846,648514,654646,672436,673960,673670,682858,687174,693196,708344,709804,693612,705588,724036,793160,770822,786582,761148,751438,744760,740642,749286,742450,734772,732038,743284,744744,728934,741986,766624,775076,773614,792280,821760,839482,852146,827838,807962,827212,833516,846218,860260,840510,826408,832968,841758,860916,878558,875784,880404,870144,873410,869288,856896,855606,863928,865806,872526,863336,868398,859214,845800,811180,790172,783702,773122,742478,757032,756690,757544,766944,775460,768132,767856,750988,763170,761906,761050,756692,774654,753350,753070,749576,731536,729546,700124,687478,680386,682342,688416,685904,706538,730012,750250,745478,728894,714002,697170,678052,662764,654822,663044,671102,668410,647540,641386,658890,647064,637710,637216,636948,682504,663774,646922,656130,658882,637674,626128,624580,614234,613176,618226,616364,632060,670852,722230,750162,782352,781810,787996,776772,785734,801800,794782,795932,799680,783590,791056,807922,780114,790278,799334,790784,796118,833564,834452,814088,786626,764772,762882,806266,825064,826296,824174,844900,853346,871918,854088,841620,858436,848798,838248,819478,820960,851210,885916,901456,900768,899690,898434,904088,902404,880826,866698,856422,867632,863186,879366,891190,892648,882454,868804,869822,851856,843878,869910,871922,876206,886578,886344,889134,874650,895110,913630,918352,916572,920166,902490,898176,894238,908150,894126,879992,862348,844728,812432,812968,833610,822548,813590,801256,812346,786164,771232,775130,793304,795536,793360,774852,744008,734166,730262,777226,768376,745514,738522,725086,745046,756456,764148,739000,792436,773998,808952,781742,763354,742414,794246,770158,776568,812234,869906,873694,851732,824240,819538,847314,836348,828996,833500,827096,832668,839416,836172,866698,957086,1104452,1285956,1372794,1357820,1317556,1383674,1336374,1298614,1300328,1349194,1305404,1251058,1211902,1399726,1322794,1403520,1477296,1469310,1478716,1607868,1491420,1528164,1516650,1478738,1479934,1493478,1474344,1461152,1545808,1631968,1659242,1791114,1733670,1716614,1804894,1810678,1781856,1555830,1324022,1415402,1423624,1331878,1388998,1435214,1422020,1436756,1462866,1575242,1557734,1537000,1405122,1284096,1220702,1239002,1384364,1397224,1417054,1417416,1438144,1469856,1455644,1469416,1546042,1512904,1521700,1525480,1636982,1593352,1504700,1501272,1488070,1531612,1580916,1556580,1484466,1473026,1424610,1411030,1403826,1451784,1447178,1409530,1416412,1411866,1386914,1362786,1356164,1328760,1289768,1276658,1226404,1204578,1198254,1205436,1359996,1334620,1332532,1354690,1351184,1332692,1322038,1318354,1342740,1286224,1304076,1282894,1315928,1419688,1416584,1438082,1495666,1488906,1495830,1534052,753612,792744,801518,783782,783018,768553,773280,771624,758171,746848,758944,772191,776699,775409,730030,717126,716539,719548,744877,757425,767606,778567,779804,796946,786789,777692,777961,762948,772934,764527,744422,717500,661599,678697,692420,668221,676108,691934,684282,681042,691261,726503,705363,700171,700943,688804,695923,690728,681234,684670,706923,679367,677363,675599,691915,698042,696403,687772,686673,671721,664865,674512,671813,671799,679093,676211,676885,680149,667908,674473,653736,642392,646637,607872,592138,573637,566197,544637,537561,536376,536193,595312,581883,560320,559588,557410,638454,639390,601205,656272,624145,593388,589521,645583,616278,667670,672780,708133,697141,677132,662670,650657,666957,670362,689638,677747,668494,687306,661370,654911,649009,655036,653876,620154,602090,595097,579811,651088,600063,610617,604033,605656,627184,709135,652360,747542,720475,717531,684172,664175,673651,778018,761052,686514,677452,708797,704859,701030,710452,729714,734649,748206,786151,765835,777312,786499,783543,753728,729064,737310,739535,754879,714569,733737,712166,734140,719696,735140,757578,755310,770176,801172,781388,805370,790443,796419,794473,805219,819675,820179,827529,827413,794396,848325,822303,820311,823540,819302,871520,818503,819068,786972,768548,775605,822948,823849,833813,825960,807027,827877,806043,830199,805262,800611,811461,795822,799375,783974,780373,774816,772710,768815,766817,781057,769286,754292,735722,751450,734071,732499,717816,723002,725466,706361,693262,733893,720668,705611,698832,730276,736662,727533,749207,760789,749988,770299,748597,732417,716950,722025,744181,768054,761407,749727,743022,706820,706892,713688,718054,725943,715512,728077,722744,722200,741047,744755,729839,706006,655227,653581,663715,670013,655147,655001,658701,673987,695909,670824,654687,643734,640771,655157,669762,738776,698857,652627,649472,647002,595501,583558,554275,564754,586265,618874,638578,620317,640766,598416,579303,581178,566342,578796,598958,572229,578429,564923,566354,573239,557531,548385,545742,603737,551144,569193,557656,570488,583781,567296,569460,585831,607911,583018,551706,545764,550481,559450,559027,543378,547079,566676,572325,582058,566324,569948,580579,590970,573745,567730,562638,566901,569147,549095,581551,630763,646011,614600,607516,589825,584731,651859,713915,672278,617867,593705,576432,565817,583953,558379,560579,562341,631640,577279,559524,578267,569574,562300,564648,567457,593223,552848,538350,595810,597718,605151,602290,584156,577360,580943,567033,565398,580166,570306,551403,563370,568581,544771,559521,566143,544730,561049,552145,569374,572614,624847,653857,642628,617533,592831,569394,563485,582310,567791,552016,540465,549983,557997,551256,566233,631148,636676,634128,621060,624223,599776,588105,586135,627703,614600,613261,582460,572242,578176,584957,591149,587583,588860,585651,578078,622589,600631,588536,591031,566867,594585,597079,591943,597311,608089,603807,611940,601240,609481,622864,611127,616637,589546,592340,584561,587785,632412,641558,623541,636698,638136,631313,614870,607317,607410,612634,611996,641808,646387,634627,657233,639645,637475,659355,657883,657117,718396,724748,731956,725375,707813,711923,694756,706681,719069,710525,690118,679782,676172,699124,704633,707952,689811,700499,712693,718769,737810,781932,731411,721464,723873,690383,705298,694353,703012,696431,698127,680118,679174,670823,669655,685030,666393,687091,695141,710144,734423,742853,702749,693052,680890,680206,676019,665723,693470,708439,711895,716913,695623,688939,670948,633441,622095,645511,639743,644014,656675,650832,651312,640491,639268,649229,642680,653268,647291,684817,658406,637645,643330,647036,647080,638734,660234,665594,659525,638995,637091,643130,641944,648407,661785,674497,673825,700823,673702,673537,698774,659328,647295,651800,647976,633885,652730,667724,664747,669542,690823,705811,723939,721049,717335,713335,695144,692807,710669,698744,710537,735453,724450,698443,710071,729871,724858,733790,749526,766411,795695,785166,753554,749258,749887,737330,741456,752441,742998,725170,715426,713316,747848,769353,744224,730542,736790,740040,746511,772297,765097,807880,820247,769559,750044,750044,759552,780825,786772,838408,774722,773500,811708,818218,881916,881878,852077,879614,876798,891693,892407,902312,899803,900063,923268,897934,905941,898923,905693,893463,887068,828351,816365,833618,853189,843229,849051,845312,853077,865708,853424,870216,851944,847271,846942,853084,834734,830306,857907,853227,865478,872523,866612,861956,822031,864639,841033,866585,901663,880267,876518,861338,862516,857331,836503,825283,816675,806543,792085,793596,797354,787551,795327,793029,721399,714234,727551,714539,700945,745740,784612,803455,831091,846554,866028,856993,856192,875314,847803,900642,902552,933734,918276,914667,904699,941905,943498,937657,950286,999636,1021682,1053314,1045881,1055699,1023977,1054830,1034345,1040004,1034806,1030144,1033170,1039548,1088811,1074324,985423,956250,939766,1008638,1046628,1012984,998463,1008066,1020999,1047554,1068891,1087155,1115065,1064995,1005249,1003575,1007852,1035507,1026247,1015648,979289,1004882,1008097,987613,962606,967917,958208,967958,950217,949761,939756,942519,929906,926933,965241,956278,935536,905807,846076,828210,854881,890614,926028,924163,976757,1017840,1036296,1039360,1062588,1042644,1052789,1061620,1053445,1073166,1061050,1051313,1042073,1034216,1036537,1032199,1042529,1022504,1027154,1007451,1020061,1008778,1093754,1095205,1082272,1055826,1032609,1028504,1003380,998566,1006304,1011643,1040902,1053760,1058755,1014223,996983,998089,1034971,1053746,1021889,1022173,1069673,1074891,1051102,1075768,1105284,1105157,1140308,1114097,1103409,1093757,1102427,1099862,1099138,1077571,1078750,1057246,995212,1053743,1136742,1123377,1119338,1127173,1143468,1098906,1093002,1112294,1107953,1098424,1062968,1064044,1056035,1044945,990150,928782,928378,905906,921335,922666,934796,915058,916890,929568,934322,1002000,970349,978908,977790,965510,940773,939214,922713,923483,948809,950867,915880,900659,888029,898376,888057,889297,906425,905672,911208,925682,920097,1009430,1038992,1052138,1050684,1112575,1086769,1020709,1010561,984988,988622,994280,950523,931060,940858,931593,946591,956799,952707,980733,1011071,1032933,1041105,1042244,1045013,1029834,1025462,1023876,1012829,983686,987591,973539,930517,878494,872901,884987,866409,857477,851565,856698,851901,860820,878357,900173,891360,889164,928494,962514,932677,918852,922388,908292,925886,904486,871185,855267,844687,886602,928415,915486,920012,927562,917569,884575,894088,888422,893375,900040,897423,909054,931232,971795,964156,951205,939455,936171,935367,961953,947769,971202,977259,945173,973479,955841,969081,966185,995709,972077,947119,952559,938161,929086,1047918,1051619,1037205,1023751,1014146,1012913,914856,894221,897732,899890,898227,911811,922008,932064,915194,894935,903440,918360,911786,922210,909906,924341,933280,908405,898535,889017,893031,926877,917808,906781,900447,900584,902855,915741,922705,901989,906941,913153,913778,957892,933420,927480,886124,872087,868481,864877,868016,863113,849847,856783,853004,838755,815517,798702,801953,810428,818149,827801,817834,829912,859679,865561,865987,893308,919474,913402,913787,909848,906494,901516,904423,929903,934286,925281,911904,923285,946255,890367,893329,900459,890382,893917,901480,908141,942217,971190,1004381,1024625,1028118,1026989,1091650,1062209,1034881,1039374,1072816,1044284,1012726,966761,962465,948545,966472,946987,912224,939572,962470,940801,966533,1002683,969747,959865,983768,1028378,1019396,1050091,1001235,1018384,956452,940272,974039,1025376,1040312,1019791,992977,928683,932587,910460,930367,944761,905869,915461,934861,939261,935413,943270,960719,991740,1001033,994143,977594,938331,928082,927810,923824,927048,966748,989057,1004348,1027296,1014415,1007133,1004819,983762,967374,943720,926116,927146,921013,918302,931993,903057,896456,860996,830465,821841,842244,828785,814500,838608,842632,840321,814479,791734,788470,783072,775149,798035,782963,798121,811856,807160,802983,801324,813085,785851,775277,772064,759494,770939,760624,776751,777824,757028,784556,791084,786604,770426,756009,750253,754706,767503,755131,739077,753806,748041,741510,697369,701592,701501,690077,692973,689056,717041,747974,742422,755959,835834,833156,817593,780367,772137,792005,830019,825550,817905,803543,790201,788888,815425,790762,788173,778842,769636,780653,763118,770684,765157,757421,763805,752383,756211,738495,727364,744558,728874,716384,732738,726301,731326,726516,695720,730661,738126,764078,744294,732206,727185,725088,759983,763926,733747,722928,698517,702579,686219,689069,689628,664043,656716,653468,659152,648325,649085,654643,649099,678556,660894,682899,676559,629704,638785,647047,638945,608462,589103,640961,656088,656255,666062,678978,680501,706990,787462,721385,728970,751394,764861,777953,779060,776399,758451,763038,741070,730283,713717,730814,740670,734221,729959,729967,765534,787684,872385,864386,870891,870809,870698,840449,830304,831560,878513,873009,887250,894353,895615,890263,856537,855413,870945,850210,850578,862591,876687,883990,895334,903061,919605,929373,914532,934437,928801,886340,870989,851231,843332,883008,878496,887861,888962,875273,942264,903423,901040,906757,932078,953596,917552,934978,925164,907642,898369,876745,1048234,1008147,999082,961489,931238,926525,916176,976560,912423,889615,878335,873396,871731,883880,889431,860832,860438,841404,927270,916061,898973,919338,881108,874673,957003,1010230,1002555,967257,975546,1019580,996296,998447,994812,964566,951972,859344,846565,835724,797409,785663,792855,784238,789871,784016,784353,761002,763673,755404,739601,730705,730173,775156,757373,740273,762999,773333,865450,861352,851004,838119,828436,835895,836098,837947,831978,901413,891513,895781,847432,832558,867279,937743,930629,934235,913852,912362,846670,785132,784135,771938,836401,812216,838652,829172,837584,804559,807692,759923,754772,739893,721818,702418,688871,681463,694284,691651,691451,680726,688831,698799,712784,725306,751157,782962,762953,713193,719510,727516,741404,710885,695427,691560,704078,747824,784972,799311,791093,796250,789757,793877,787141,770634,809787,791806,788240,773666,755946,798731,783268,771946,785552,794904,819220,789709,774723,722307,697539,640881,638374,682553,675192,672761,677902,714780,718334,738500,743581,719103,711317,696631,680480,693026,708762,730532,725849,706104,691313,657693,648905,583547,611511,582273,569112,563918,558593,555985,540168,504992,502512,523057,508287,524749,530076,513886,504398,504184,497519,492068,492836,489143,488304,482884,479158,473964,478471,472109,458621,455980,441915,444991,449104,452683,455090,461219,469360,452892,439211,440069,445101,449403,452398,456707,475426,488243,500705,503338,508424,520399,521884,517890,494547,478823,474135,467719,458357,470979,482465,493213,494734,500422,508960,515134,488375,482150,484104,490223,490734,484711,490290,486275,486523,488649,473130,477038,480902,490190,502415,505318,503227,499470,504887];\r\n\r\n          const canvP = document.getElementById('SILVER_chart168_p_161');\r\n          const canvS = document.getElementById('SILVER_chart168_s_161');\r\n          const canvF = document.getElementById('SILVER_chart168_f_161');\r\n          if(!canvP || !canvS || !canvF) return;\r\n\r\n          const tsSecAll = labelsAll.map(l=>{\r\n            const t = Date.parse(l);\r\n            return isNaN(t) ? null : Math.floor(t\/1000);\r\n          });\r\n\r\n          const fmt = (n)=>{\r\n            try{\r\n              if(n===null || n===undefined || Number.isNaN(n)) return '';\r\n              return Number(n).toLocaleString(undefined,{minimumFractionDigits:0,maximumFractionDigits:2});\r\n            }catch(e){ return n; }\r\n          };\r\n\r\n          const fmtCompact = (n)=>{\r\n            if(n===null || n===undefined || Number.isNaN(n)) return '';\r\n            const x = Number(n);\r\n            const abs = Math.abs(x);\r\n            if(abs >= 1e9) return (x\/1e9).toFixed(1).replace(\/\\.0$\/,'') + 'B';\r\n            if(abs >= 1e6) return (x\/1e6).toFixed(1).replace(\/\\.0$\/,'') + 'M';\r\n            if(abs >= 1e3) return (x\/1e3).toFixed(0) + 'K';\r\n            return x.toLocaleString();\r\n          };\r\n\r\n          const FIX_Y_LEFT  = 56;\r\n          const FIX_Y_RIGHT = 66;\r\n\r\n          const CrosshairX = {\r\n            id:'crosshairX',\r\n            afterEvent(chart,args){\r\n              const e=args.event, a=chart.chartArea;\r\n              if(!a) return;\r\n              if(e.type==='mouseout'){ chart.$crossX=null; chart.draw(); return; }\r\n              if(e.x>=a.left && e.x<=a.right && e.y>=a.top && e.y<=a.bottom){\r\n                chart.$crossX={x:e.x};\r\n              }else{\r\n                chart.$crossX=null;\r\n              }\r\n              chart.draw();\r\n            },\r\n            afterDraw(chart){\r\n              const cross=chart.$crossX; if(!cross) return;\r\n              const {ctx,chartArea:a}=chart;\r\n              ctx.save();\r\n              ctx.strokeStyle='rgba(37,99,235,0.55)';\r\n              ctx.lineWidth=1;\r\n              ctx.setLineDash([4,3]);\r\n              ctx.beginPath();\r\n              ctx.moveTo(cross.x,a.top);\r\n              ctx.lineTo(cross.x,a.bottom);\r\n              ctx.stroke();\r\n              ctx.restore();\r\n            }\r\n          };\r\n\r\n          const makeExternalTooltip = (idSuffix) => (context)=>{\r\n            const { chart, tooltip } = context;\r\n            const area = chart.chartArea; if(!area) return;\r\n\r\n            const tipId = '__c168_exttip_' + idSuffix;\r\n            let tip = document.getElementById(tipId);\r\n            if(!tip){\r\n              tip=document.createElement('div');\r\n              tip.id=tipId;\r\n              tip.style.position='fixed';\r\n              tip.style.left='0';\r\n              tip.style.top='0';\r\n              tip.style.opacity='0';\r\n              tip.style.pointerEvents='none';\r\n              tip.style.zIndex='99999';\r\n              document.body.appendChild(tip);\r\n            }\r\n            if(tooltip.opacity===0){ tip.style.opacity=0; return; }\r\n\r\n            const title = (tooltip.title && tooltip.title[0]) ? tooltip.title[0] : '';\r\n            const rows = (tooltip.dataPoints || []).map(dp=>{\r\n              const color = dp.dataset.borderColor || dp.dataset.backgroundColor || '#2563eb';\r\n              const label = dp.dataset.label || '';\r\n              let v=null;\r\n              if(typeof dp.raw==='number'){ v=dp.raw; }\r\n              else if(dp.parsed && typeof dp.parsed.y==='number'){ v=dp.parsed.y; }\r\n              const val=(v===null)?'':fmt(v);\r\n              return `<div style=\"display:flex;align-items:center;justify-content:space-between;gap:12px;\">\r\n                        <span style=\"display:flex;align-items:center;gap:8px;\">\r\n                          <span style=\"width:10px;height:10px;border-radius:2px;background:${color};\r\n                                       border:1px solid rgba(255,255,255,.9);display:inline-block;\"><\/span>\r\n                          <span>${label}<\/span>\r\n                        <\/span>\r\n                        <span style=\"font-weight:700;\">${val}<\/span>\r\n                      <\/div>`;\r\n            }).join('');\r\n\r\n            tip.innerHTML =\r\n              `<div style=\"box-shadow:0 10px 24px rgba(15,23,42,.25);border:1px solid rgba(148,163,184,.7);\r\n                           background:#ffffff;color:#111827;border-radius:12px;padding:10px 12px;\r\n                           min-width:220px;max-width:360px;font:12px system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\">\r\n                 <div style=\"color:#0f172a;font-weight:900;margin-bottom:6px;\">${title}<\/div>\r\n                 <div style=\"display:flex;flex-direction:column;gap:3px;\">${rows}<\/div>\r\n               <\/div>`;\r\n\r\n            const cr = chart.canvas.getBoundingClientRect();\r\n            const box = tip.firstElementChild;\r\n            const boxW = box ? box.offsetWidth : 240;\r\n            const boxH = box ? box.offsetHeight : 130;\r\n            const pad  = 8;\r\n\r\n            const left  = Math.max(8, cr.left + area.left - boxW - pad);\r\n            const topMin= cr.top + area.top;\r\n            const topMax= cr.top + area.bottom - boxH;\r\n            const rawTop= cr.top + tooltip.caretY - boxH\/2;\r\n            const top   = Math.min(Math.max(rawTop, topMin), topMax);\r\n\r\n            tip.style.left   = left + 'px';\r\n            tip.style.top    = top  + 'px';\r\n            tip.style.opacity= 1;\r\n          };\r\n\r\n          const buildChartPrice = (labels, inv, m1, m2) => {\r\n            const ctx = canvP.getContext('2d');\r\n            const existing = Chart.getChart(canvP); if(existing) existing.destroy();\r\n\r\n            return new Chart(ctx, {\r\n              type:'line',\r\n              plugins:[CrosshairX],\r\n              data:{\r\n                labels: labels.slice(),\r\n                datasets:[\r\n                  {\r\n                    key:'inv',\r\n                    label: \"Stocks\",\r\n                    data: inv.slice(),\r\n                    yAxisID:'yL',\r\n                    type:'line',\r\n                    fill:'origin',\r\n                    borderWidth:1.6,\r\n                    pointRadius:0,\r\n                    tension:0.2,\r\n                    spanGaps:true,\r\n                    borderColor:'rgba(16,185,129,0.95)',\r\n                    backgroundColor:'rgba(16,185,129,0.22)',\r\n                    order:0\r\n                  },\r\n                  {\r\n                    key:'m1',\r\n                    label: \"\\u00c9ch\\u00e9ance la plus proche\",\r\n                    data: m1.slice(),\r\n                    yAxisID:'y',\r\n                    type:'line',\r\n                    borderWidth:2.5,\r\n                    pointRadius:0,\r\n                    tension:0.25,\r\n                    spanGaps:true,\r\n                    borderColor:'#2563eb',\r\n                    backgroundColor:'#2563eb',\r\n                    order:1\r\n                  },\r\n                  {\r\n                    key:'m2',\r\n                    label: \"\\u00c9ch\\u00e9ance suivante\",\r\n                    data: m2.slice(),\r\n                    yAxisID:'y',\r\n                    type:'line',\r\n                    borderWidth:2.5,\r\n                    pointRadius:0,\r\n                    tension:0.25,\r\n                    spanGaps:true,\r\n                    borderColor:'#f59e0b',\r\n                    backgroundColor:'#f59e0b',\r\n                    order:2\r\n                  }\r\n                ]\r\n              },\r\n              options:{\r\n                responsive:true,\r\n                maintainAspectRatio:false,\r\n                normalized:true,\r\n                animation:false,\r\n                interaction:{ mode:'index', intersect:false },\r\n                plugins:{\r\n                  tooltip:{ enabled:false, external:makeExternalTooltip('p'), mode:'index', intersect:false },\r\n                  legend:{\r\n                    display:true,\r\n                    position:'bottom',\r\n                    labels:{\r\n                      color:'#374151',\r\n                      font:{ size:12, weight:'600' },\r\n                      usePointStyle:true,\r\n                      pointStyle:'line'\r\n                    }\r\n                  },\r\n                  zoom:{\r\n                    pan:{ enabled:true, mode:'x', modifierKey:'alt' },\r\n                    zoom:{\r\n                      wheel:{ enabled:true },\r\n                      pinch:{ enabled:true },\r\n                      drag:{\r\n                        enabled:true, mode:'x', threshold:8,\r\n                        backgroundColor:'rgba(129,140,248,.10)',\r\n                        borderColor:'rgba(79,70,229,.7)',\r\n                        borderWidth:1\r\n                      },\r\n                      mode:'x'\r\n                    }\r\n                  }\r\n                },\r\n                scales:{\r\n                  x:{\r\n                    type:'category',\r\n                    ticks:{\r\n                      autoSkip:true,\r\n                      maxTicksLimit:(window.innerWidth<768?6:10),\r\n                      maxRotation:0, minRotation:0,\r\n                      color:'#4b5563'\r\n                    },\r\n                    grid:{ color:'rgba(148,163,184,0.20)' }\r\n                  },\r\n                  y:{\r\n                    type:'linear',\r\n                    position:'right',\r\n                    afterFit:(s)=>{ try{ s.width = FIX_Y_RIGHT; }catch(e){} },\r\n                    ticks:{ color:'#111827', callback:(v)=>fmt(v) },\r\n                    grid:{ color:'rgba(209,213,219,0.55)' }\r\n                  },\r\n                  yL:{\r\n                    type:'linear',\r\n                    position:'left',\r\n                    afterFit:(s)=>{ try{ s.width = FIX_Y_LEFT; }catch(e){} },\r\n                    ticks:{ color:'#065f46', callback:(v)=>fmtCompact(v) },\r\n                    grid:{ drawOnChartArea:false, drawBorder:false },\r\n                    border:{ display:false }\r\n                  }\r\n                }\r\n              }\r\n            });\r\n          };\r\n\r\n          const buildChartSpread = (labels, spr) => {\r\n            const ctx = canvS.getContext('2d');\r\n            const existing = Chart.getChart(canvS); if(existing) existing.destroy();\r\n\r\n            return new Chart(ctx, {\r\n              type:'line',\r\n              plugins:[CrosshairX],\r\n              data:{\r\n                labels: labels.slice(),\r\n                datasets:[\r\n                  {\r\n                    key:'spread',\r\n                    label: \"\\u00c9cart\",\r\n                    data: spr.slice(),\r\n                    yAxisID:'y',\r\n                    type:'line',\r\n                    fill:true,\r\n                    borderWidth:2,\r\n                    pointRadius:0,\r\n                    tension:0.25,\r\n                    spanGaps:true,\r\n                    borderColor:'#8b5cf6',\r\n                    backgroundColor:'rgba(139,92,246,0.18)',\r\n                    order:1\r\n                  }\r\n                ]\r\n              },\r\n              options:{\r\n                responsive:true,\r\n                maintainAspectRatio:false,\r\n                normalized:true,\r\n                animation:false,\r\n                interaction:{ mode:'index', intersect:false },\r\n                plugins:{\r\n                  tooltip:{ enabled:false, external:makeExternalTooltip('s'), mode:'index', intersect:false },\r\n                  legend:{\r\n                    display:true,\r\n                    position:'bottom',\r\n                    labels:{\r\n                      color:'#374151',\r\n                      font:{ size:12, weight:'600' },\r\n                      usePointStyle:true,\r\n                      pointStyle:'line'\r\n                    }\r\n                  },\r\n                  zoom:{\r\n                    pan:{ enabled:true, mode:'x', modifierKey:'alt' },\r\n                    zoom:{\r\n                      wheel:{ enabled:true },\r\n                      pinch:{ enabled:true },\r\n                      drag:{\r\n                        enabled:true, mode:'x', threshold:8,\r\n                        backgroundColor:'rgba(129,140,248,.10)',\r\n                        borderColor:'rgba(79,70,229,.7)',\r\n                        borderWidth:1\r\n                      },\r\n                      mode:'x'\r\n                    }\r\n                  }\r\n                },\r\n                scales:{\r\n                  x:{\r\n                    type:'category',\r\n                    ticks:{\r\n                      autoSkip:true,\r\n                      maxTicksLimit:(window.innerWidth<768?6:10),\r\n                      maxRotation:0, minRotation:0,\r\n                      color:'#4b5563'\r\n                    },\r\n                    grid:{ color:'rgba(148,163,184,0.20)' }\r\n                  },\r\n                  y:{\r\n                    type:'linear',\r\n                    position:'right',\r\n                    afterFit:(s)=>{ try{ s.width = FIX_Y_RIGHT; }catch(e){} },\r\n                    ticks:{ color:'#111827', callback:(v)=>fmt(v) },\r\n                    grid:{ color:'rgba(209,213,219,0.55)' }\r\n                  },\r\n                  yR:{\r\n                    type:'linear',\r\n                    position:'left',\r\n                    display:true,\r\n                    afterFit:(s)=>{ try{ s.width = FIX_Y_LEFT; }catch(e){} },\r\n                    ticks:{ display:false },\r\n                    grid:{ drawOnChartArea:false, drawBorder:false },\r\n                    border:{ display:false }\r\n                  }\r\n                }\r\n              }\r\n            });\r\n          };\r\n\r\n          const buildChartFlow = (labels, oi, vol) => {\r\n            const ctx = canvF.getContext('2d');\r\n            const existing = Chart.getChart(canvF); if(existing) existing.destroy();\r\n\r\n            return new Chart(ctx, {\r\n              data:{\r\n                labels: labels.slice(),\r\n                datasets:[\r\n                  {\r\n                    key:'oi',\r\n                    label: \"Int\\u00e9r\\u00eat ouvert\",\r\n                    data: oi.slice(),\r\n                    yAxisID:'yOI',\r\n                    type:'line',\r\n                    borderWidth:2.5,\r\n                    pointRadius:0,\r\n                    tension:0.2,\r\n                    spanGaps:true,\r\n                    borderColor:'#ef4444',\r\n                    backgroundColor:'#ef4444',\r\n                    order:1\r\n                  },\r\n                  {\r\n                    key:'vol',\r\n                    label: \"Volume\",\r\n                    data: vol.slice(),\r\n                    yAxisID:'yVOL',\r\n                    type:'bar',\r\n                    borderWidth:0,\r\n                    borderColor:'rgba(2,132,199,0.85)',\r\n                    backgroundColor:'rgba(2,132,199,0.35)',\r\n                    order:2\r\n                  }\r\n                ]\r\n              },\r\n              plugins:[CrosshairX],\r\n              options:{\r\n                responsive:true,\r\n                maintainAspectRatio:false,\r\n                normalized:true,\r\n                animation:false,\r\n                interaction:{ mode:'index', intersect:false },\r\n                plugins:{\r\n                  tooltip:{ enabled:false, external:makeExternalTooltip('f'), mode:'index', intersect:false },\r\n                  legend:{\r\n                    display:true,\r\n                    position:'bottom',\r\n                    labels:{\r\n                      color:'#374151',\r\n                      font:{ size:12, weight:'600' },\r\n                      usePointStyle:true\r\n                    }\r\n                  },\r\n                  zoom:{\r\n                    pan:{ enabled:true, mode:'x', modifierKey:'alt' },\r\n                    zoom:{\r\n                      wheel:{ enabled:true },\r\n                      pinch:{ enabled:true },\r\n                      drag:{\r\n                        enabled:true, mode:'x', threshold:8,\r\n                        backgroundColor:'rgba(129,140,248,.10)',\r\n                        borderColor:'rgba(79,70,229,.7)',\r\n                        borderWidth:1\r\n                      },\r\n                      mode:'x'\r\n                    }\r\n                  }\r\n                },\r\n                scales:{\r\n                  x:{\r\n                    type:'category',\r\n                    ticks:{\r\n                      autoSkip:true,\r\n                      maxTicksLimit:(window.innerWidth<768?6:10),\r\n                      maxRotation:0, minRotation:0,\r\n                      color:'#4b5563'\r\n                    },\r\n                    grid:{ color:'rgba(148,163,184,0.20)' }\r\n                  },\r\n                  yOI:{\r\n                    type:'linear',\r\n                    position:'right',\r\n                    afterFit:(s)=>{ try{ s.width = FIX_Y_RIGHT; }catch(e){} },\r\n                    ticks:{ color:'#ef4444', callback:(v)=>fmtCompact(v) },\r\n                    grid:{ color:'rgba(209,213,219,0.55)' }\r\n                  },\r\n                  yVOL:{\r\n                    type:'linear',\r\n                    position:'left',\r\n                    afterFit:(s)=>{ try{ s.width = FIX_Y_LEFT; }catch(e){} },\r\n                    ticks:{ color:'#0284c7', callback:(v)=>fmtCompact(v) },\r\n                    grid:{ drawOnChartArea:false, drawBorder:false },\r\n                    border:{ display:false }\r\n                  }\r\n                }\r\n              }\r\n            });\r\n          };\r\n\r\n          const syncX = (src, others)=>{\r\n            const x = src.scales && src.scales.x;\r\n            if(!x) return;\r\n            const min = x.min;\r\n            const max = x.max;\r\n            others.forEach(ch=>{\r\n              if(!ch || ch === src) return;\r\n              if(!ch.options || !ch.options.scales || !ch.options.scales.x) return;\r\n              ch.options.scales.x.min = min;\r\n              ch.options.scales.x.max = max;\r\n              ch.update('none');\r\n            });\r\n          };\r\n\r\n          let labels = labelsAll.slice();\r\n          let inv = invAll.slice();\r\n          let m1  = m1All.slice();\r\n          let m2  = m2All.slice();\r\n          let spr = sprAll.slice();\r\n          let vol = volAll.slice();\r\n          let oi  = oiAll.slice();\r\n\r\n          let chartP = buildChartPrice(labels, inv, m1, m2);\r\n          let chartS = buildChartSpread(labels, spr);\r\n          let chartF = buildChartFlow(labels, oi, vol);\r\n\r\n          const attachSyncHooks = (chart, others)=>{\r\n            const z = chart?.options?.plugins?.zoom;\r\n            if(!z) return;\r\n            const oldOnZoom = z.zoom && z.zoom.onZoomComplete;\r\n            const oldOnPan  = z.pan && z.pan.onPanComplete;\r\n\r\n            if(chart.options.plugins.zoom.zoom){\r\n              chart.options.plugins.zoom.zoom.onZoomComplete = ({chart:c})=>{\r\n                try{ syncX(c, others); }catch(e){}\r\n                if(typeof oldOnZoom === 'function') try{ oldOnZoom({chart:c}); }catch(e){}\r\n              };\r\n            }\r\n            if(chart.options.plugins.zoom.pan){\r\n              chart.options.plugins.zoom.pan.onPanComplete = ({chart:c})=>{\r\n                try{ syncX(c, others); }catch(e){}\r\n                if(typeof oldOnPan === 'function') try{ oldOnPan({chart:c}); }catch(e){}\r\n              };\r\n            }\r\n            chart.update('none');\r\n          };\r\n\r\n          attachSyncHooks(chartP, [chartS, chartF]);\r\n          attachSyncHooks(chartS, [chartP, chartF]);\r\n          attachSyncHooks(chartF, [chartP, chartS]);\r\n\r\n          const applyRange = (m)=>{\r\n            let idxKeep = null;\r\n\r\n            if(m !== 'all' && Array.isArray(tsSecAll) && tsSecAll.length){\r\n              const months = parseInt(m,10);\r\n              const validTs = tsSecAll.filter(t=>Number.isInteger(t) && t>0);\r\n              if(validTs.length){\r\n                const latest = Math.max.apply(null, validTs);\r\n                const cutDate = new Date(latest*1000);\r\n                cutDate.setMonth(cutDate.getMonth()-months);\r\n                const cutTs = Math.floor(cutDate.getTime()\/1000);\r\n\r\n                idxKeep = [];\r\n                tsSecAll.forEach((ts,idx)=>{\r\n                  if(Number.isInteger(ts) && ts>=cutTs) idxKeep.push(idx);\r\n                });\r\n              }\r\n            }\r\n\r\n            const sliceByIdx = (arr)=>{\r\n              if(!idxKeep || !idxKeep.length) return arr.slice();\r\n              return idxKeep.map(i => arr[i]);\r\n            };\r\n\r\n            labels = sliceByIdx(labelsAll);\r\n            inv    = sliceByIdx(invAll);\r\n            m1     = sliceByIdx(m1All);\r\n            m2     = sliceByIdx(m2All);\r\n            spr    = sliceByIdx(sprAll);\r\n            vol    = sliceByIdx(volAll);\r\n            oi     = sliceByIdx(oiAll);\r\n\r\n            [chartP, chartS, chartF].forEach(ch=>{\r\n              ch.data.labels = labels;\r\n              ch.options.scales.x.min = undefined;\r\n              ch.options.scales.x.max = undefined;\r\n            });\r\n\r\n            chartP.data.datasets[0].data = inv;\r\n            chartP.data.datasets[1].data = m1;\r\n            chartP.data.datasets[2].data = m2;\r\n\r\n            chartS.data.datasets[0].data = spr;\r\n\r\n            chartF.data.datasets[0].data = oi;\r\n            chartF.data.datasets[1].data = vol;\r\n\r\n            chartP.update();\r\n            chartS.update();\r\n            chartF.update();\r\n\r\n            if(chartP.resetZoom) chartP.resetZoom();\r\n            if(chartS.resetZoom) chartS.resetZoom();\r\n            if(chartF.resetZoom) chartF.resetZoom();\r\n\r\n            btns.forEach(b=>b.classList.toggle('is-active', (b.dataset.range === String(m))));\r\n          };\r\n\r\n          const btns = wrap.querySelectorAll('.c168-btn[data-range]');\r\n          const resetBtn = wrap.querySelector('[data-action=\"reset\"]');\r\n          const pngBtn = wrap.querySelector('[data-action=\"png\"]');\r\n\r\n          btns.forEach(b=> b.addEventListener('click', ()=> applyRange(b.dataset.range) ));\r\n\r\n          if(resetBtn){\r\n            resetBtn.addEventListener('click', ()=>{\r\n              if(chartP.resetZoom) chartP.resetZoom();\r\n              if(chartS.resetZoom) chartS.resetZoom();\r\n              if(chartF.resetZoom) chartF.resetZoom();\r\n            });\r\n          }\r\n\r\n          if(pngBtn){\r\n            pngBtn.addEventListener('click', ()=>{\r\n              try{\r\n                const c1 = canvP, c2 = canvS, c3 = canvF;\r\n                const gap = 10;\r\n\r\n                const w = Math.max(c1.width, c2.width, c3.width);\r\n                const h = c1.height + c2.height + c3.height + gap*2;\r\n\r\n                const out = document.createElement('canvas');\r\n                out.width = w;\r\n                out.height = h;\r\n                const octx = out.getContext('2d');\r\n\r\n                octx.fillStyle = '#ffffff';\r\n                octx.fillRect(0,0,w,h);\r\n\r\n                octx.drawImage(c1, 0, 0);\r\n                octx.drawImage(c2, 0, c1.height + gap);\r\n                octx.drawImage(c3, 0, c1.height + gap + c2.height + gap);\r\n\r\n                const url = out.toDataURL('image\/png', 1.0);\r\n                const a = document.createElement('a');\r\n                a.href = url;\r\n                a.download = 'silver_chart168_shfe.png';\r\n                a.click();\r\n              }catch(e){}\r\n            });\r\n          }\r\n\r\n          applyRange('24');\r\n\r\n          [canvP, canvS, canvF].forEach(cv=>{\r\n            cv.addEventListener('dblclick', ()=>{\r\n              if(chartP.resetZoom) chartP.resetZoom();\r\n              if(chartS.resetZoom) chartS.resetZoom();\r\n              if(chartF.resetZoom) chartF.resetZoom();\r\n            });\r\n            cv.addEventListener('pointerdown', ()=>{\r\n              try{ cv.focus({preventScroll:true}); }catch(e){ try{ cv.focus(); }catch(e2){} }\r\n            }, { passive:true });\r\n          });\r\n\r\n          const panByArrow = (e)=>{\r\n            const k = e.key;\r\n            if(k !== 'ArrowLeft' && k !== 'ArrowRight') return;\r\n            if(!chartP || typeof chartP.pan !== 'function') return;\r\n\r\n            const tag = (e.target && e.target.tagName) ? e.target.tagName.toLowerCase() : '';\r\n            if(tag==='input' || tag==='textarea' || tag==='select' || (e.target && e.target.isContentEditable)) return;\r\n\r\n            const a = chartP.chartArea || null;\r\n            let step = a ? Math.max(24, Math.round(a.width * 0.08)) : 60;\r\n            if(e.shiftKey) step *= 2;\r\n\r\n            const dx = (k === 'ArrowLeft') ? step : -step;\r\n\r\n            e.preventDefault();\r\n            try{\r\n              chartP.pan({ x: dx, y: 0 });\r\n              syncX(chartP, [chartS, chartF]);\r\n            }catch(err){}\r\n          };\r\n\r\n          [canvP, canvS, canvF].forEach(cv=>{\r\n            cv.addEventListener('keydown', panByArrow);\r\n          });\r\n\r\n          ['mouseleave','scroll','touchstart','pointerdown','visibilitychange','orientationchange','resize'].forEach(evt=>{\r\n            window.addEventListener(evt, ()=>{\r\n              ['__c168_exttip_p','__c168_exttip_s','__c168_exttip_f'].forEach(id=>{\r\n                const t=document.getElementById(id);\r\n                if(t) t.style.opacity=0;\r\n              });\r\n            },{passive:true});\r\n          });\r\n        });\r\n      <\/script>\r\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3f9997b e-con-full e-flex e-con e-child\" data-id=\"3f9997b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-21cd5ae elementor-widget elementor-widget-shortcode\" data-id=\"21cd5ae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div id=\"SILVER_chart146_wrap_146\" class=\"silver146-wrap\">\r\n      <div class=\"s146-card\">\r\n        <div class=\"s146-header\">\r\n          <div class=\"s146-title\">Production annuelle &amp; r\u00e9serves d\u2019argent par pays<\/div>\r\n          <div class=\"s146-controls\">\r\n            <button type=\"button\" class=\"s146-btn\" data-range=\"60\">5Y<\/button>\r\n            <button type=\"button\" class=\"s146-btn\" data-range=\"120\">10Y<\/button>\r\n            <button type=\"button\" class=\"s146-btn\" data-range=\"all\">ALL<\/button>\r\n            <span class=\"s146-spacer\"><\/span>\r\n            <button type=\"button\" class=\"s146-btn s146-btn-ghost\" data-action=\"clear\">Effacer<\/button>\r\n            <button type=\"button\" class=\"s146-btn s146-btn-ghost\" data-action=\"all\">Tout s\u00e9lectionner<\/button>\r\n            <button type=\"button\" class=\"s146-btn s146-btn-ghost\" data-action=\"reset\">R\u00e9initialiser le zoom<\/button>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"s146-body\">\r\n          <aside class=\"s146-side\">\r\n            <div class=\"s146-side-top\">\r\n              <div class=\"s146-side-label\">Pays<\/div>\r\n              <div class=\"s146-side-sub\">\u2705 Afficher seulement les pays coch\u00e9s<\/div>\r\n\r\n              <div class=\"s146-metrics\">\r\n                <div class=\"s146-metrics-title\">Indicateurs<\/div>\r\n                <label class=\"s146-metric\">\r\n                  <input type=\"checkbox\" data-metric=\"prod\" checked>\r\n                  <span>Production<\/span>\r\n                <\/label>\r\n                <label class=\"s146-metric\">\r\n                  <input type=\"checkbox\" data-metric=\"res\">\r\n                  <span>R\u00e9serves<\/span>\r\n                <\/label>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"s146-list\"><\/div>\r\n          <\/aside>\r\n\r\n          <main class=\"s146-main\">\r\n            <div class=\"s146-canvas-wrap\">\r\n              <canvas id=\"SILVER_chart146_146\" loading=\"lazy\"><\/canvas>\r\n            <\/div>\r\n            <div class=\"s146-source-wrap\">\r\n              <a class=\"s146-source-pill\" href=\"https:\/\/www.usgs.gov\/\" target=\"_blank\" rel=\"noopener noreferrer\">Source: USGS<\/a>\r\n            <\/div>\r\n          <\/main>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <style>\r\n      .silver146-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:16px;border-radius:18px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);box-shadow:0 18px 32px rgba(0,0,0,0.14);margin:8px 0;}\r\n      .s146-card{background:#fff;border-radius:14px;padding:14px 16px 16px;box-shadow:0 6px 18px rgba(0,0,0,0.10);border:1px solid rgba(148,163,184,0.45);min-width:760px;}\r\n      .s146-header{display:flex;flex-direction:column;gap:10px;}\r\n      .s146-title{font-weight:900;font-size:18px;color:#0f172a;}\r\n      .s146-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}\r\n      .s146-spacer{flex:1 1 auto;}\r\n      .s146-btn{padding:6px 10px;border-radius:999px;border:1px solid rgba(148,163,184,0.9);background:#f8fafc;font:600 12px system-ui,-apple-system,Segoe UI,Roboto;cursor:pointer;color:#0f172a;box-shadow:0 1px 2px rgba(0,0,0,0.05);}\r\n      .s146-btn:hover{background:#eef2ff;}\r\n      .s146-btn.is-active{background:#111827;color:#fff;border-color:#111827;}\r\n      .s146-btn-ghost{background:#fff;}\r\n      .s146-body{display:flex;gap:12px;margin-top:10px;}\r\n      .s146-side{width:260px;flex:0 0 260px;border:1px solid rgba(148,163,184,0.45);border-radius:12px;padding:10px;background:#f8fafc;max-height:560px;display:flex;flex-direction:column;}\r\n      .s146-side-top{display:flex;flex-direction:column;gap:6px;}\r\n      .s146-side-label{font-weight:900;font-size:13px;color:#0f172a;}\r\n      .s146-side-sub{font-weight:600;font-size:12px;color:#64748b;}\r\n\r\n      .s146-metrics{margin-top:6px;padding-top:8px;border-top:1px dashed rgba(148,163,184,0.55);display:flex;flex-direction:column;gap:6px;}\r\n      .s146-metrics-title{font-weight:900;font-size:12px;color:#0f172a;}\r\n      .s146-metric{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:10px;}\r\n      .s146-metric:hover{background:rgba(15,23,42,0.04);}\r\n      .s146-metric input{width:16px;height:16px;}\r\n      .s146-metric span{font:700 12px system-ui,-apple-system,Segoe UI,Roboto;color:#0f172a;}\r\n\r\n      .s146-list{margin-top:10px;overflow:auto;padding-right:4px;}\r\n      .s146-item{display:flex;align-items:center;gap:8px;padding:6px 6px;border-radius:10px;}\r\n      .s146-item:hover{background:rgba(15,23,42,0.04);}\r\n      .s146-item input{width:16px;height:16px;}\r\n      .s146-item span{font:700 12px system-ui,-apple-system,Segoe UI,Roboto;color:#0f172a;}\r\n\r\n      .s146-main{flex:1 1 auto;min-width:520px;}\r\n      .s146-canvas-wrap{height:520px;position:relative;background:#fff;border-radius:12px;border:1px solid rgba(148,163,184,0.45);overflow:hidden;}\r\n      .s146-canvas-wrap canvas{width:100%;height:100%;display:block;touch-action:none;cursor:default;}\r\n\r\n      \/* \u2705 \ud074\ub9ad \uc2dc \uc0dd\uae30\ub294 \ud3ec\ucee4\uc2a4 \uc544\uc6c3\ub77c\uc778\/\ud14c\ub450\ub9ac \uc81c\uac70 *\/\r\n      .s146-canvas-wrap canvas:focus,\r\n      .s146-canvas-wrap canvas:focus-visible{outline:none !important;box-shadow:none !important;}\r\n      .s146-canvas-wrap:focus,\r\n      .s146-canvas-wrap:focus-within{outline:none !important;box-shadow:none !important;}\r\n\r\n      .s146-source-wrap{display:flex;justify-content:flex-end;margin-top:8px;}\r\n      .s146-source-pill{display:inline-block;padding:4px 10px;border-radius:999px;background:#fff;border:1px solid rgba(0,0,0,0.06);font:11px system-ui,-apple-system,Segoe UI,Roboto;color:#64748b;box-shadow:0 2px 6px rgba(0,0,0,0.08);text-decoration:none;}\r\n      .s146-source-pill:hover{text-decoration:underline;}\r\n      @media (max-width:900px){\r\n        .s146-card{min-width:0;}\r\n        .s146-body{flex-direction:column;}\r\n        .s146-side{width:auto;flex:1 1 auto;max-height:260px;}\r\n        .s146-main{min-width:0;}\r\n        .s146-canvas-wrap{height:420px;}\r\n      }\r\n    <\/style>\r\n\r\n    <script>\r\n      (function(){\r\n        const wrapId = \"SILVER_chart146_wrap_146\";\r\n        const canvasId = \"SILVER_chart146_146\";\r\n\r\n        const labelsAll = [\"2009-01-01\",\"2010-01-01\",\"2011-01-01\",\"2012-01-01\",\"2013-01-01\",\"2014-01-01\",\"2015-01-01\",\"2016-01-01\",\"2017-01-01\",\"2018-01-01\",\"2019-01-01\",\"2020-01-01\",\"2021-01-01\",\"2022-01-01\",\"2023-01-01\",\"2024-01-01\",\"2025-01-01\"];\r\n        const seriesByCountry = {\"Mexico\":{\"label\":\"Mexique\",\"prod\":{\"label\":\"Mexique (Production)\",\"data\":[3550,4410,4150,5360,4860,5000,5370,5360,6110,6120,6300,5540,6110,6195,6290,5780,6300],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderColor\":\"#2563eb\",\"backgroundColor\":\"rgba(37,99,235,0.3)\"},\"res\":{\"label\":\"Mexique (R\\u00e9serves)\",\"data\":[37000,37000,37000,37000,37000,37000,37000,37000,37000,37000,37000,37000,37000,37000,37000,37000,37000],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderDash\":[6,3],\"borderColor\":\"#2563eb\",\"backgroundColor\":\"rgba(37,99,235,0.14)\"}},\"China\":{\"label\":\"Chine\",\"prod\":{\"label\":\"Chine (Production)\",\"data\":[2900,3500,3700,3900,4100,4060,3100,2380,3500,3570,3600,3380,3500,3480,3400,3430,3400],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderColor\":\"#16a34a\",\"backgroundColor\":\"rgba(22,163,74,0.3)\"},\"res\":{\"label\":\"Chine (R\\u00e9serves)\",\"data\":[43000,43000,43000,43000,43000,43000,39000,39000,41000,41000,41000,41000,71000,72000,70000,67000,67000],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderDash\":[6,3],\"borderColor\":\"#16a34a\",\"backgroundColor\":\"rgba(22,163,74,0.14)\"}},\"Peru\":{\"label\":\"P\\u00e9rou\",\"prod\":{\"label\":\"P\\u00e9rou (Production)\",\"data\":[3850,3640,3410,3480,3670,3780,3850,4370,4300,4160,3800,2770,3310,3079,3200,3510,3600],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderColor\":\"#dc2626\",\"backgroundColor\":\"rgba(220,38,38,0.3)\"},\"res\":{\"label\":\"P\\u00e9rou (R\\u00e9serves)\",\"data\":[120000,120000,120000,87000,98900,120000,120000,93000,110000,120000,120000,120000,98000,110000,140000,110000,110000],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderDash\":[6,3],\"borderColor\":\"#dc2626\",\"backgroundColor\":\"rgba(220,38,38,0.14)\"}},\"Poland\":{\"label\":\"Pologne\",\"prod\":{\"label\":\"Pologne (Production)\",\"data\":[1200,1180,1170,1150,1200,1260,1180,1270,1290,1470,1700,1250,1300,1316,1320,1320,1300],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderColor\":\"#f59e0b\",\"backgroundColor\":\"rgba(245,158,11,0.3)\"},\"res\":{\"label\":\"Pologne (R\\u00e9serves)\",\"data\":[69000,85000,85000,85000,85000,85000,85000,89000,110000,100000,100000,67000,65000,63000,61000,59000,59000],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderDash\":[6,3],\"borderColor\":\"#f59e0b\",\"backgroundColor\":\"rgba(245,158,11,0.14)\"}},\"Bolivia\":{\"label\":\"Bolivie\",\"prod\":{\"label\":\"Bolivie (Production)\",\"data\":[1300,1260,1210,1210,1290,1340,1190,1350,1240,1190,1200,930,1290,1214,1350,1490,1500],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderColor\":\"#7c3aed\",\"backgroundColor\":\"rgba(124,58,237,0.3)\"},\"res\":{\"label\":\"Bolivie (R\\u00e9serves)\",\"data\":[22000,22000,22000,22000,22000,22000,22000,22000,22000,22000,22000,22000,22000,22000,22000,22000,22000],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderDash\":[6,3],\"borderColor\":\"#7c3aed\",\"backgroundColor\":\"rgba(124,58,237,0.14)\"}},\"Russia\":{\"label\":\"Russie\",\"prod\":{\"label\":\"Russie (Production)\",\"data\":[1400,1150,1350,1500,1720,1330,1430,1570,1120,2100,2100,1320,1320,1280,1240,1280,1200],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderColor\":\"#0ea5e9\",\"backgroundColor\":\"rgba(14,165,233,0.3)\"},\"res\":{\"label\":\"Russie (R\\u00e9serves)\",\"data\":[null,null,null,null,null,20000,20000,55000,45000,45000,45000,45000,45000,92000,92000,92000,92000],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderDash\":[6,3],\"borderColor\":\"#0ea5e9\",\"backgroundColor\":\"rgba(14,165,233,0.14)\"}},\"Chile\":{\"label\":\"Chili\",\"prod\":{\"label\":\"Chili (Production)\",\"data\":[1300,1280,1290,1190,1170,1570,1370,1500,1260,1370,1300,1580,1280,1274,1260,1200,1400],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderColor\":\"#d946ef\",\"backgroundColor\":\"rgba(217,70,239,0.3)\"},\"res\":{\"label\":\"Chili (R\\u00e9serves)\",\"data\":[70000,70000,77000,77000,77000,77000,77000,27000,26000,26000,26000,26000,26000,26000,26000,33000,33000],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderDash\":[6,3],\"borderColor\":\"#d946ef\",\"backgroundColor\":\"rgba(217,70,239,0.14)\"}},\"United States\":{\"label\":\"\\u00c9tats-Unis\",\"prod\":{\"label\":\"\\u00c9tats-Unis (Production)\",\"data\":[1250,1270,1120,1060,1040,1180,1090,1150,1030,934,980,1030,1020,1010,1020,1050,1100],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderColor\":\"#059669\",\"backgroundColor\":\"rgba(5,150,105,0.3)\"},\"res\":{\"label\":\"\\u00c9tats-Unis (R\\u00e9serves)\",\"data\":[25000,25000,25000,25000,25000,25000,25000,25000,25000,25000,25000,26000,23000,23000,23000,23000,23000],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderDash\":[6,3],\"borderColor\":\"#059669\",\"backgroundColor\":\"rgba(5,150,105,0.14)\"}},\"Kazakhstan\":{\"label\":\"Kazakhstan\",\"prod\":{\"label\":\"Kazakhstan (Production)\",\"data\":[null,null,null,null,null,null,null,1180,1200,null,null,435,450,1053,985,850,630],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderColor\":\"#ef4444\",\"backgroundColor\":\"rgba(239,68,68,0.3)\"},\"res\":{\"label\":\"Kazakhstan (R\\u00e9serves)\",\"data\":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderDash\":[6,3],\"borderColor\":\"#ef4444\",\"backgroundColor\":\"rgba(239,68,68,0.14)\"}},\"Australia\":{\"label\":\"Australie\",\"prod\":{\"label\":\"Australie (Production)\",\"data\":[1630,1860,1730,1730,1840,1720,1430,1420,1200,1220,1400,1340,1360,1167,1030,1050,1000],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderColor\":\"#a3e635\",\"backgroundColor\":\"rgba(163,230,53,0.3)\"},\"res\":{\"label\":\"Australie (R\\u00e9serves)\",\"data\":[69000,69000,69000,88000,85000,85000,89000,89000,89000,90000,90000,90000,92000,94000,94000,91000,91000],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderDash\":[6,3],\"borderColor\":\"#a3e635\",\"backgroundColor\":\"rgba(163,230,53,0.14)\"}},\"India\":{\"label\":\"Inde\",\"prod\":{\"label\":\"Inde (Production)\",\"data\":[null,null,null,null,null,null,null,null,null,null,null,null,610,694,813,700,800],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderColor\":\"#14b8a6\",\"backgroundColor\":\"rgba(20,184,166,0.3)\"},\"res\":{\"label\":\"Inde (R\\u00e9serves)\",\"data\":[null,null,null,null,null,null,null,null,null,null,null,null,7200,8000,8000,8000,8000],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderDash\":[6,3],\"borderColor\":\"#14b8a6\",\"backgroundColor\":\"rgba(20,184,166,0.14)\"}},\"Argentina\":{\"label\":\"Argentine\",\"prod\":{\"label\":\"Argentine (Production)\",\"data\":[null,null,null,null,null,null,null,null,1020,1020,1200,710,800,913,808,774,800],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderColor\":\"#fb7185\",\"backgroundColor\":\"rgba(251,113,133,0.3)\"},\"res\":{\"label\":\"Argentine (R\\u00e9serves)\",\"data\":[null,null,null,null,null,null,null,null,null,null,null,null,6500,6500,6500,6500,6500],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderDash\":[6,3],\"borderColor\":\"#fb7185\",\"backgroundColor\":\"rgba(251,113,133,0.14)\"}},\"Sweden\":{\"label\":\"Production mini\\u00e8re mondiale\",\"prod\":{\"label\":\"Production mini\\u00e8re mondiale (Production)\",\"data\":[null,null,23300,24300,26700,28000,27600,28600,26500,25900,25800,24100,25000,null,25500,25300,26000],\"type\":\"line\",\"fill\":true,\"yAxisID\":\"yRight\",\"borderWidth\":2,\"pointRadius\":0,\"tension\":0.25,\"spanGaps\":true,\"borderColor\":\"#64748b\",\"backgroundColor\":\"rgba(100,116,139,0.3)\"}}}; \/\/ { countryKey: {label, prod, res} }\r\n        const countriesOrder = [\"Mexico\",\"China\",\"Peru\",\"Poland\",\"Bolivia\",\"Russia\",\"Chile\",\"United States\",\"Kazakhstan\",\"Australia\",\"India\",\"Argentina\",\"Sweden\"];\r\n        const defaultChecked = [\"Mexico\",\"China\",\"Peru\",\"Poland\",\"Bolivia\",\"Russia\",\"Chile\",\"United States\",\"Kazakhstan\",\"Australia\",\"India\",\"Argentina\"]; \/\/ \u2705 all selected except WORLD_KEY\r\n        const axisTitle = \"Tonnes (t)\";\r\n\r\n        const wrap = document.getElementById(wrapId);\r\n        const el = document.getElementById(canvasId);\r\n        if (!wrap || !el) return;\r\n\r\n        \/\/ ===== \uacf5\uc6a9 \ub808\uc9c0\uc2a4\ud2b8\ub9ac(\uc911\ubcf5 \uc774\ubca4\ud2b8\/\uc2a4\ud06c\ub9bd\ud2b8\/\ucc28\ud2b8 \uc778\uc2a4\ud134\uc2a4 \ubc29\uc9c0) =====\r\n        const CMIDRA = window.__CMIDRA__ = window.__CMIDRA__ || {};\r\n        CMIDRA._promises = CMIDRA._promises || {};\r\n        CMIDRA.s146 = CMIDRA.s146 || { charts:{}, binds:{}, zoomRegistered:false, tipGlobalBound:false };\r\n\r\n        \/\/ \u2705 \ud3ec\ucee4\uc2a4 \uc544\uc6c3\ub77c\uc778 \ubc29\uc9c0\r\n        try{\r\n          el.style.outline = 'none';\r\n          el.addEventListener('focus', function(){ try{ el.blur(); }catch(e){} });\r\n          el.addEventListener('pointerdown', function(){ try{ el.blur(); }catch(e){} });\r\n        }catch(e){}\r\n\r\n        const listEl = wrap.querySelector('.s146-list');\r\n        const rangeBtns = wrap.querySelectorAll('.s146-btn[data-range]');\r\n        const clearBtn  = wrap.querySelector('[data-action=\"clear\"]');\r\n        const allBtn    = wrap.querySelector('[data-action=\"all\"]');\r\n        const resetBtn  = wrap.querySelector('[data-action=\"reset\"]');\r\n\r\n        \/\/ \u2705 Metrics toggles (initial: prod ON, res OFF)\r\n        const prodCb = wrap.querySelector('input[data-metric=\"prod\"]');\r\n        const resCb  = wrap.querySelector('input[data-metric=\"res\"]');\r\n        const enabledTypes = { prod: true, res: false };\r\n\r\n        function loadScriptOnce(src, isReadyFn){\r\n          try{\r\n            if (typeof isReadyFn === 'function' && isReadyFn()) return Promise.resolve(true);\r\n            if (CMIDRA._promises[src]) return CMIDRA._promises[src];\r\n\r\n            CMIDRA._promises[src] = new Promise((resolve, reject) => {\r\n              if (typeof isReadyFn === 'function' && isReadyFn()) { resolve(true); return; }\r\n\r\n              const existing = Array.from(document.getElementsByTagName('script'))\r\n                .find(s => (s.src || '') === src);\r\n\r\n              if (existing) {\r\n                let tries = 0;\r\n                const tick = () => {\r\n                  if (typeof isReadyFn === 'function' && isReadyFn()) { resolve(true); return; }\r\n                  tries++;\r\n                  if (tries > 50) { resolve(false); return; }\r\n                  setTimeout(tick, 100);\r\n                };\r\n                existing.addEventListener('load', () => resolve(true), { once:true });\r\n                existing.addEventListener('error', () => reject(new Error('load fail: ' + src)), { once:true });\r\n                tick();\r\n                return;\r\n              }\r\n\r\n              const s = document.createElement('script');\r\n              s.src = src;\r\n              s.async = true;\r\n              s.onload = () => resolve(true);\r\n              s.onerror = () => reject(new Error('load fail: ' + src));\r\n              document.head.appendChild(s);\r\n            });\r\n\r\n            return CMIDRA._promises[src];\r\n          }catch(e){\r\n            return Promise.reject(e);\r\n          }\r\n        }\r\n\r\n        const CHART_SRC = 'https:\/\/cdn.jsdelivr.net\/npm\/chart.js';\r\n        const ZOOM_SRC  = 'https:\/\/cdn.jsdelivr.net\/npm\/chartjs-plugin-zoom@2.0.1\/dist\/chartjs-plugin-zoom.min.js';\r\n\r\n        \/\/ \u2705 \uc804\uc5ed \ud234\ud301 \uc228\uae40(\ub2e4\ub978 \ucc28\ud2b8\uc640 \ub3d9\uc77c)\r\n        if (!CMIDRA.s146.tipGlobalBound) {\r\n          CMIDRA.s146.tipGlobalBound = true;\r\n          const hideAllTips = () => {\r\n            try{\r\n              document.querySelectorAll('[id^=\"__chart_exttip_left_\"]').forEach(el => { el.style.opacity = 0; });\r\n            }catch(e){}\r\n          };\r\n          ['scroll','touchstart','pointerdown','visibilitychange','orientationchange','resize'].forEach(evt => {\r\n            window.addEventListener(evt, hideAllTips, { passive:true });\r\n          });\r\n        }\r\n\r\n        \/\/ ===== \ub370\uc774\ud130 \ubcf4\uc870 =====\r\n        const tsAll = labelsAll.map(l => {\r\n          const t = Date.parse(l);\r\n          return isNaN(t) ? null : Math.floor(t\/1000);\r\n        });\r\n\r\n        \/\/ \u2705 \ucd08\uae30 \uc120\ud0dd(\uc138\uacc4 \uad11\uc0b0 \uc0dd\uc0b0\ub7c9\ub9cc \ubbf8\uc120\ud0dd)\r\n        const selected = new Set(defaultChecked || []);\r\n\r\n        function renderList(){\r\n          if (!listEl) return;\r\n          listEl.innerHTML = '';\r\n\r\n          (countriesOrder && countriesOrder.length ? countriesOrder : Object.keys(seriesByCountry)).forEach(countryKey => {\r\n            const obj = seriesByCountry[countryKey];\r\n            if (!obj) return;\r\n\r\n            const id = canvasId + '_cb_' + String(countryKey).replace(\/\\W+\/g,'_');\r\n\r\n            const row = document.createElement('label');\r\n            row.className = 's146-item';\r\n            row.setAttribute('for', id);\r\n\r\n            const cb = document.createElement('input');\r\n            cb.type = 'checkbox';\r\n            cb.id = id;\r\n            cb.checked = selected.has(countryKey);\r\n            cb.addEventListener('change', () => {\r\n              if (cb.checked) selected.add(countryKey);\r\n              else selected.delete(countryKey);\r\n              applyRange(currentRange);\r\n            });\r\n\r\n            const sp = document.createElement('span');\r\n            sp.textContent = obj.label || countryKey;\r\n\r\n            row.appendChild(cb);\r\n            row.appendChild(sp);\r\n            listEl.appendChild(row);\r\n          });\r\n        }\r\n\r\n        function buildKeepIdx(rangeKey){\r\n          if (rangeKey === 'all') return null;\r\n          const m = parseInt(rangeKey, 10);\r\n          if (!m || m <= 0) return null;\r\n\r\n          const valid = tsAll.filter(t => Number.isInteger(t) && t > 0);\r\n          if (!valid.length) return null;\r\n\r\n          const latest = Math.max.apply(null, valid);\r\n          const cutDate = new Date(latest * 1000);\r\n          cutDate.setMonth(cutDate.getMonth() - m);\r\n          const cutTs = Math.floor(cutDate.getTime() \/ 1000);\r\n\r\n          const idxs = [];\r\n          tsAll.forEach((ts, idx) => { if (Number.isInteger(ts) && ts >= cutTs) idxs.push(idx); });\r\n          return idxs;\r\n        }\r\n\r\n        function buildDatasets(keepIdx){\r\n          const out = [];\r\n          selected.forEach(countryKey => {\r\n            const obj = seriesByCountry[countryKey];\r\n            if (!obj) return;\r\n\r\n            (['prod','res']).forEach(k => {\r\n              if (!enabledTypes[k]) return;\r\n              if (!obj[k]) return;\r\n\r\n              const base = Object.assign({}, obj[k]);\r\n              const full = (obj[k].data || []);\r\n              base.data = keepIdx ? keepIdx.map(i => full[i]) : full.slice();\r\n              out.push(base);\r\n            });\r\n          });\r\n          return out;\r\n        }\r\n\r\n        function setActiveRangeBtn(key){\r\n          rangeBtns.forEach(b => b.classList.toggle('is-active', (b.dataset.range === String(key))));\r\n        }\r\n\r\n        let chart = null;\r\n        let currentRange = 'all';\r\n\r\n        \/\/ \u2705 (\ud575\uc2ec) \ud32c\/\uc90c\uc774 \ub0a8\uae30\ub294 x.min\/x.max \uc815\ub9ac + \uc644\uc804\ubcf5\uad6c\r\n        function s146_clearManualXLimits_(){\r\n          try{\r\n            if (chart && chart.options && chart.options.scales && chart.options.scales.x){\r\n              try { delete chart.options.scales.x.min; } catch(e){}\r\n              try { delete chart.options.scales.x.max; } catch(e){}\r\n              chart.options.scales.x.min = undefined;\r\n              chart.options.scales.x.max = undefined;\r\n            }\r\n          } catch(e){}\r\n        }\r\n        function s146_hardReset_(){\r\n          try{\r\n            \/\/ \ud234\ud301 \uc228\uae40\r\n            const tipId = '__chart_exttip_left_' + String(canvasId).replace(\/[^A-Za-z0-9_:-]\/g,'');\r\n            const tip = document.getElementById(tipId);\r\n            if (tip) tip.style.opacity = 0;\r\n          }catch(e){}\r\n\r\n          try{ if (chart && chart.resetZoom) chart.resetZoom(); }catch(e){}\r\n          s146_clearManualXLimits_();\r\n\r\n          const keepIdx = buildKeepIdx(currentRange);\r\n          const newLabels = keepIdx ? keepIdx.map(i => labelsAll[i]) : labelsAll.slice();\r\n          const newDatasets = buildDatasets(keepIdx);\r\n\r\n          if (chart){\r\n            chart.data.labels = newLabels;\r\n            chart.data.datasets = newDatasets;\r\n            chart.update();\r\n            try{ if (chart.resetZoom) chart.resetZoom(); }catch(e){}\r\n            s146_clearManualXLimits_();\r\n            chart.update('none');\r\n          }\r\n          setActiveRangeBtn(currentRange);\r\n        }\r\n\r\n        function applyRange(rangeKey){\r\n          currentRange = rangeKey;\r\n          if (!chart) { setActiveRangeBtn(rangeKey); return; }\r\n\r\n          \/\/ \u2705 range \ubc14\uafb8\uba74: (\uc90c\uc0c1\ud0dc\/\ud32c\uc0c1\ud0dc \ud3ec\ud568) \uc644\uc804 \ucd08\uae30\ud654 \ud6c4 \uc7ac\uc801\uc6a9\r\n          try{ if (chart.resetZoom) chart.resetZoom(); }catch(e){}\r\n          s146_clearManualXLimits_();\r\n\r\n          const keepIdx = buildKeepIdx(rangeKey);\r\n          const newLabels = keepIdx ? keepIdx.map(i => labelsAll[i]) : labelsAll.slice();\r\n          const newDatasets = buildDatasets(keepIdx);\r\n\r\n          chart.data.labels = newLabels;\r\n          chart.data.datasets = newDatasets;\r\n          chart.update();\r\n          try{ if (chart.resetZoom) chart.resetZoom(); }catch(e){}\r\n          s146_clearManualXLimits_();\r\n          chart.update('none');\r\n\r\n          setActiveRangeBtn(rangeKey);\r\n        }\r\n\r\n        function syncMetrics(){\r\n          enabledTypes.prod = !!(prodCb && prodCb.checked);\r\n          enabledTypes.res  = !!(resCb  && resCb.checked);\r\n          applyRange(currentRange);\r\n        }\r\n        if (prodCb) prodCb.addEventListener('change', syncMetrics);\r\n        if (resCb)  resCb.addEventListener('change', syncMetrics);\r\n\r\n        \/\/ ===== \uc678\ubd80 \ud234\ud301: \ub2e4\ub978(CFTC) \ucc28\ud2b8\uc640 \ub3d9\uc77c\ud55c \"\uc67c\ucabd \uace0\uc815\ud615\" =====\r\n        function fmt(n){\r\n          try{\r\n            if (n === null || n === undefined || Number.isNaN(n)) return '';\r\n            const v = Number(n);\r\n            return v.toLocaleString(undefined, { maximumFractionDigits: 2 });\r\n          }catch(e){ return '' + n; }\r\n        }\r\n\r\n        \/\/ \u2705 (\ucd94\uac00) \ud234\ud301\/\ucd95 \ub77c\ubca8\uc5d0\uc11c \"\uc5f0\ub3c4\ub9cc\" \ubf51\uae30\r\n        function yearOnlyLabel_(s){\r\n          try{\r\n            const str = String(s || '');\r\n            const m = str.match(\/^(\\d{4})\/);\r\n            if (m) return m[1];\r\n            const t = Date.parse(str);\r\n            if (!isNaN(t)) return String(new Date(t).getFullYear());\r\n            return str;\r\n          }catch(e){\r\n            return '';\r\n          }\r\n        }\r\n\r\n        const TIP_ID = '__chart_exttip_left_' + String(canvasId).replace(\/[^A-Za-z0-9_:-]\/g,'');\r\n\r\n        function getOrCreateTip(){\r\n          let tip = document.getElementById(TIP_ID);\r\n          if (!tip) {\r\n            tip = document.createElement('div');\r\n            tip.id = TIP_ID;\r\n            tip.style.position = 'fixed';\r\n            tip.style.left = '0';\r\n            tip.style.top  = '0';\r\n            tip.style.opacity = '0';\r\n            tip.style.pointerEvents = 'none';\r\n            tip.style.zIndex = '99999';\r\n            document.body.appendChild(tip);\r\n          }\r\n          return tip;\r\n        }\r\n\r\n        const externalTooltipHandler = (context) => {\r\n          const { chart, tooltip } = context;\r\n          const area = chart.chartArea;\r\n          if (!area) return;\r\n\r\n          const tip = getOrCreateTip();\r\n\r\n          if (!tooltip || tooltip.opacity === 0 || !tooltip.dataPoints || !tooltip.dataPoints.length) {\r\n            tip.style.opacity = 0;\r\n            return;\r\n          }\r\n\r\n          \/\/ \u2705 (\uc218\uc815) \ud31d\uc5c5 \uc81c\ubaa9\ub3c4 \uc5f0\ub3c4\ub9cc \ud45c\uc2dc\r\n          const titleRaw = (tooltip.title && tooltip.title[0]) ? tooltip.title[0] : '';\r\n          const title = yearOnlyLabel_(titleRaw);\r\n\r\n          const rows = (tooltip.dataPoints || []).map(dp => {\r\n            const ds = dp.dataset || {};\r\n            const color = ds.borderColor || ds.backgroundColor || '#64748b';\r\n            const label = ds.label || '';\r\n            let raw = dp.raw;\r\n            if (raw && typeof raw === 'object' && raw.y != null) raw = raw.y;\r\n            const val = (typeof raw === 'number' && isFinite(raw)) ? fmt(raw) : (raw == null ? '' : String(raw));\r\n            return `<div style=\"display:flex;align-items:center;justify-content:space-between;gap:12px;\">\r\n                      <span style=\"display:flex;align-items:center;gap:8px;min-width:0;\">\r\n                        <span style=\"width:10px;height:10px;border-radius:2px;background:${color};\r\n                                     border:1px solid rgba(255,255,255,.95);display:inline-block;flex:0 0 auto;\"><\/span>\r\n                        <span style=\"white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;\">${label}<\/span>\r\n                      <\/span>\r\n                      <span style=\"font-weight:700;white-space:nowrap;\">${val}<\/span>\r\n                    <\/div>`;\r\n          }).join('');\r\n\r\n          tip.innerHTML =\r\n            `<div style=\"box-shadow:0 10px 24px rgba(15,23,42,.22);border:1px solid rgba(148,163,184,.70);\r\n                         background:#ffffff;color:#111827;border-radius:12px;padding:10px 12px;\r\n                         min-width:240px;max-width:360px;font:12px system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;\">\r\n               <div style=\"color:#0f172a;font-weight:900;margin-bottom:6px;\">${title}<\/div>\r\n               <div style=\"display:flex;flex-direction:column;gap:4px;\">${rows}<\/div>\r\n             <\/div>`;\r\n\r\n          const cr = chart.canvas.getBoundingClientRect();\r\n          const box = tip.firstElementChild;\r\n          const boxW = box ? box.offsetWidth : 260;\r\n          const boxH = box ? box.offsetHeight : 140;\r\n          const pad = 8;\r\n\r\n          \/\/ \u2705 \uc67c\ucabd \uace0\uc815: \ud50c\ub86f \uc67c\ucabd \ubc14\uae65(\uac00\ub2a5\ud558\uba74)\r\n          const left = Math.max(8, cr.left + area.left - boxW - pad);\r\n\r\n          \/\/ \u2705 \uc138\ub85c\ub9cc caretY \uae30\ubc18\uc73c\ub85c \ub530\ub77c\uac00\ub418, \ucc28\ud2b8 \uc601\uc5ed \uc548\uc5d0\uc11c\ub9cc clamp\r\n          const topMin = cr.top + area.top;\r\n          const topMax = cr.top + area.bottom - boxH;\r\n          const rawTop = cr.top + (tooltip.caretY || ((area.top + area.bottom) \/ 2)) - boxH\/2;\r\n          const top = Math.min(Math.max(rawTop, topMin), topMax);\r\n\r\n          tip.style.left = left + 'px';\r\n          tip.style.top  = top  + 'px';\r\n          tip.style.opacity = 1;\r\n        };\r\n\r\n        \/\/ ===== \ud0a4\ubcf4\ub4dc \ud32c: \ub2e4\ub978 \ucc28\ud2b8 \ubc29\uc2dd(\ud3ec\ucee4\uc2a4 \uc5c6\uc774 pointerdown \ud65c\uc131) =====\r\n        const CANVAS_ID = String(canvasId);\r\n        function cleanupOldInstance(){\r\n          \/\/ \uae30\uc874 \ucc28\ud2b8 \ud30c\uad34\r\n          try{\r\n            const old = CMIDRA.s146.charts[CANVAS_ID];\r\n            if (old && old.destroy) old.destroy();\r\n            delete CMIDRA.s146.charts[CANVAS_ID];\r\n          }catch(e){}\r\n\r\n          try{\r\n            if (window.Chart && Chart.getChart) {\r\n              const old2 = Chart.getChart(el);\r\n              if (old2) old2.destroy();\r\n            }\r\n          }catch(e){}\r\n\r\n          \/\/ \uae30\uc874 \ubc14\uc778\ub529 \uc81c\uac70\r\n          const bind = CMIDRA.s146.binds[CANVAS_ID];\r\n          if (bind) {\r\n            try{ if (bind.canvas && bind.onDblClick) bind.canvas.removeEventListener('dblclick', bind.onDblClick); }catch(e){}\r\n            try{ if (bind.canvas && bind.onPointerDown) bind.canvas.removeEventListener('pointerdown', bind.onPointerDown, bind.pointerOpts||false); }catch(e){}\r\n            try{ if (bind.doc && bind.onDocPointerDown) bind.doc.removeEventListener('pointerdown', bind.onDocPointerDown, true); }catch(e){}\r\n            try{ if (bind.win && bind.onWinKeyDown) bind.win.removeEventListener('keydown', bind.onWinKeyDown, bind.winKeyOpts||false); }catch(e){}\r\n            delete CMIDRA.s146.binds[CANVAS_ID];\r\n          }\r\n\r\n          \/\/ \ud234\ud301 \uc81c\uac70(\uc120\ud0dd: \ub0a8\uaca8\ub3c4 \ubb34\ubc29\ud558\uc9c0\ub9cc \uc7ac\ucd08\uae30\ud654 \uae54\ub054\ud558\uac8c)\r\n          try{\r\n            const tip = document.getElementById(TIP_ID);\r\n            if (tip && tip.parentNode) tip.parentNode.removeChild(tip);\r\n          }catch(e){}\r\n        }\r\n\r\n        function registerZoomOnce(){\r\n          try{\r\n            const Zoom = window['chartjs-plugin-zoom'] && (window['chartjs-plugin-zoom'].default || window['chartjs-plugin-zoom']);\r\n            if (Zoom && window.Chart && Chart.register && !CMIDRA.s146.zoomRegistered) {\r\n              Chart.register(Zoom);\r\n              CMIDRA.s146.zoomRegistered = true;\r\n            }\r\n          }catch(e){}\r\n        }\r\n\r\n        function bindKeyboardPan(chart){\r\n          let keyPanActive = false;\r\n\r\n          function panXBy(dir, factor){\r\n            try{\r\n              const xScale = chart && chart.scales ? chart.scales.x : null;\r\n              if (!xScale) return;\r\n\r\n              const n = (chart.data && chart.data.labels) ? chart.data.labels.length : 0;\r\n              if (!n) return;\r\n\r\n              let min = Number.isFinite(xScale.min) ? xScale.min : 0;\r\n              let max = Number.isFinite(xScale.max) ? xScale.max : (n - 1);\r\n              if (!Number.isFinite(min) || !Number.isFinite(max)) { min = 0; max = n - 1; }\r\n              if (max < min) { const t = min; min = max; max = t; }\r\n\r\n              const range = Math.max(1, Math.round(max - min));\r\n              const step  = Math.max(1, Math.round(range * factor));\r\n\r\n              let newMin = min + dir * step;\r\n              let newMax = max + dir * step;\r\n\r\n              const last = n - 1;\r\n              if (newMin < 0) { newMax -= newMin; newMin = 0; }\r\n              if (newMax > last) {\r\n                newMin -= (newMax - last);\r\n                newMax = last;\r\n                if (newMin < 0) newMin = 0;\r\n              }\r\n\r\n              chart.options.scales.x.min = newMin;\r\n              chart.options.scales.x.max = newMax;\r\n              chart.update('none');\r\n            }catch(e){}\r\n          }\r\n\r\n          const onPointerDown = () => { keyPanActive = true; };\r\n          const pointerOpts = { passive:true };\r\n          el.addEventListener('pointerdown', onPointerDown, pointerOpts);\r\n\r\n          const onDocPointerDown = (ev) => {\r\n            if (ev && ev.target !== el) keyPanActive = false;\r\n          };\r\n          document.addEventListener('pointerdown', onDocPointerDown, true);\r\n\r\n          const onWinKeyDown = (ev) => {\r\n            try{\r\n              if (!keyPanActive) return;\r\n\r\n              const ae = document.activeElement;\r\n              if (ae && (ae.tagName === 'INPUT' || ae.tagName === 'TEXTAREA' || ae.tagName === 'SELECT' || ae.isContentEditable)) return;\r\n\r\n              if (ev.key === 'ArrowLeft')  { ev.preventDefault(); panXBy(-1, 0.15); return; }\r\n              if (ev.key === 'ArrowRight') { ev.preventDefault(); panXBy(+1, 0.15); return; }\r\n              if (ev.key === 'ArrowUp')    { ev.preventDefault(); panXBy(-1, 0.35); return; }\r\n              if (ev.key === 'ArrowDown')  { ev.preventDefault(); panXBy(+1, 0.35); return; }\r\n            }catch(e){}\r\n          };\r\n          const winKeyOpts = { passive:false };\r\n          window.addEventListener('keydown', onWinKeyDown, winKeyOpts);\r\n\r\n          const onDblClick = () => s146_hardReset_();\r\n          el.addEventListener('dblclick', onDblClick);\r\n\r\n          CMIDRA.s146.binds[CANVAS_ID] = {\r\n            canvas: el, doc: document, win: window,\r\n            onPointerDown, pointerOpts,\r\n            onDocPointerDown,\r\n            onWinKeyDown, winKeyOpts,\r\n            onDblClick\r\n          };\r\n        }\r\n\r\n        function init(){\r\n          cleanupOldInstance();\r\n\r\n          const ctx = el.getContext && el.getContext('2d');\r\n          if (!ctx || !window.Chart) return;\r\n\r\n          registerZoomOnce();\r\n\r\n          \/\/ \u2705 \ucc28\ud2b8 \uc0dd\uc131\r\n          chart = new Chart(ctx, {\r\n            type: 'line',\r\n            data: { labels: labelsAll.slice(), datasets: buildDatasets(null) },\r\n            options: {\r\n              responsive:true,\r\n              maintainAspectRatio:false,\r\n              normalized:true,\r\n              interaction:{ mode:'index', intersect:false },\r\n              plugins:{\r\n                legend:{ display:true, position:'bottom', labels:{ usePointStyle:true, boxWidth:10, boxHeight:10 } },\r\n\r\n                \/\/ \u2705 \uc810\uc120\/\uc2ed\uc790\uc120 \uc81c\uac70: \uc678\ubd80\ud234\ud301\ub9cc \uc0ac\uc6a9\r\n                tooltip:{\r\n                  enabled:false,\r\n                  mode:'index',\r\n                  intersect:false,\r\n                  external: externalTooltipHandler\r\n                },\r\n\r\n                zoom:{\r\n                  \/\/ \u2705 \ub4dc\ub798\uadf8 \ud32c \ube44\ud65c\uc131(\ud32c\uc740 \ubc29\ud5a5\ud0a4)\r\n                  pan:{ enabled:false },\r\n                  zoom:{\r\n                    wheel:{ enabled:true },\r\n                    pinch:{ enabled:false },\r\n                    \/\/ \u2705 \ubc15\uc2a4 \uc90c: \uac00\ub85c\ubc29\ud5a5\ub9cc\r\n                    drag:{\r\n                      enabled:true,\r\n                      threshold:8,\r\n                      backgroundColor:'rgba(59,130,246,.08)',\r\n                      borderColor:'rgba(59,130,246,.6)',\r\n                      borderWidth:1,\r\n                      mode:'x'\r\n                    },\r\n                    mode:'x'\r\n                  }\r\n                }\r\n              },\r\n              scales:{\r\n                x:{\r\n                  type:'category',\r\n                  grid:{ display:false },\r\n                  ticks:{\r\n                    autoSkip:true,\r\n                    maxTicksLimit:(window.innerWidth<768?6:12),\r\n                    maxRotation:0,\r\n                    minRotation:0,\r\n                    \/\/ \u2705 (\uc694\uccad) \ub0a0\uc9dc \ud45c\uc2dc\ub97c \"\ub144\ub3c4\"\ub9cc \ubcf4\uc774\ub3c4\ub85d\r\n                    callback:function(value){\r\n                      try{\r\n                        const lab = (this && typeof this.getLabelForValue === 'function')\r\n                          ? this.getLabelForValue(value)\r\n                          : '';\r\n                        return yearOnlyLabel_(lab);\r\n                      }catch(e){\r\n                        return '';\r\n                      }\r\n                    }\r\n                  }\r\n                },\r\n                yRight:{\r\n                  position:'right',\r\n                  title:{ display:true, text: axisTitle },\r\n                  grid:{ drawOnChartArea:true }\r\n                }\r\n              }\r\n            }\r\n          });\r\n\r\n          CMIDRA.s146.charts[CANVAS_ID] = chart;\r\n\r\n          \/\/ \u2705 \ubc84\ud2bc\/\ud1a0\uae00 \uc774\ubca4\ud2b8\r\n          renderList();\r\n\r\n          \/\/ \ucd08\uae30 \ubc94\uc704(\uae30\uc874\ucc98\ub7fc ALL)\r\n          setActiveRangeBtn('all');\r\n          applyRange('all');\r\n\r\n          rangeBtns.forEach(b => b.addEventListener('click', () => applyRange(b.dataset.range)));\r\n\r\n          if (clearBtn) clearBtn.addEventListener('click', () => {\r\n            selected.clear();\r\n            renderList();\r\n            applyRange(currentRange);\r\n          });\r\n\r\n          if (allBtn) allBtn.addEventListener('click', () => {\r\n            Object.keys(seriesByCountry).forEach(c => selected.add(c)); \/\/ \u2705 WORLD \ud3ec\ud568\r\n            renderList();\r\n            applyRange(currentRange);\r\n          });\r\n\r\n          if (resetBtn) resetBtn.addEventListener('click', () => {\r\n            s146_hardReset_();\r\n          });\r\n\r\n          \/\/ \u2705 \ud0a4\ubcf4\ub4dc \ud32c\/\ub354\ube14\ud074\ub9ad \ub9ac\uc14b \ubc14\uc778\ub529\r\n          bindKeyboardPan(chart);\r\n\r\n          \/\/ \u2705 \uce94\ubc84\uc2a4 \ub5a0\ub098\uba74 \ud234\ud301 \uc228\uae40(\uc548\uc815\uc131)\r\n          el.addEventListener('mouseleave', () => {\r\n            try{\r\n              const tip = document.getElementById(TIP_ID);\r\n              if (tip) tip.style.opacity = 0;\r\n            }catch(e){}\r\n          });\r\n        }\r\n\r\n        \/\/ \ub85c\ub4dc \ud750\ub984: chart.js \ud544\uc218, zoom \ud50c\ub7ec\uadf8\uc778\uc740 \uc788\uc73c\uba74 \ub4f1\ub85d\r\n        loadScriptOnce(CHART_SRC, () => !!window.Chart)\r\n          .then(() => loadScriptOnce(ZOOM_SRC, () => !!window['chartjs-plugin-zoom']).catch(() => false))\r\n          .then(() => { init(); })\r\n          .catch(() => { \/* \uc870\uc6a9\ud788 \uc885\ub8cc *\/ });\r\n      })();\r\n    <\/script>\r\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a05a6fe e-flex e-con-boxed e-con e-parent\" data-id=\"a05a6fe\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-71f8021 e-con-full e-flex e-con e-child\" data-id=\"71f8021\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-43d8f22 elementor-widget elementor-widget-text-editor\" data-id=\"43d8f22\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>This data is provided for general informational purposes only and may not be entirely accurate. All investment decisions are solely the responsibility of the investor, and we assume no liability for any losses arising from the use of this data. Please consult a qualified professional if necessary.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-59ad8eb e-flex e-con-boxed e-con e-parent\" data-id=\"59ad8eb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6ab5709 elementor-widget elementor-widget-heading\" data-id=\"6ab5709\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u00a9 2025 Comidra. All rights reserved.  \nComidra provides data-driven insights for smarter commodity investments.\n<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7ef1cce e-flex e-con-boxed e-con e-parent\" data-id=\"7ef1cce\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6b02466 elementor-widget elementor-widget-image\" data-id=\"6b02466\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/comidra.com\/wp-content\/uploads\/elementor\/thumbs\/cropped-logo-razavpn8gx5cvowey8hjmzaqh604h2tc5a9ha01h2k.gif\" title=\"cropped-logo.gif\" alt=\"natural gas investment chart\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9a43522 elementor-widget elementor-widget-text-editor\" data-id=\"9a43522\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h4>comidramaster@gmail.com<\/h4>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-18ae4f7 e-flex e-con-boxed e-con e-parent\" data-id=\"18ae4f7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4110cd7 elementor-widget elementor-widget-heading\" data-id=\"4110cd7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Data sources used in creating this WTI investment chart include Yahoo Finance, the U.S. Energy Information Administration (EIA), Baker Hughes,OPEC\n<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>COMIDRA.COM Comidra is a data site that organizes key commodity market data\u2014such as natural gas and WTI crude oil\u2014so you can grasp it at a glance. It presents multiple indicators in intuitive charts to help you quickly understand complex market moves and use them to support decision-making. Natural Gas WTI GOLD SILVER COPPER CORN Silver [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"unboxed","site-sidebar-style":"unboxed","ast-global-header-display":"disabled","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"disabled","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1979","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/comidra.com\/fr\/wp-json\/wp\/v2\/pages\/1979","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/comidra.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/comidra.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/comidra.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/comidra.com\/fr\/wp-json\/wp\/v2\/comments?post=1979"}],"version-history":[{"count":0,"href":"https:\/\/comidra.com\/fr\/wp-json\/wp\/v2\/pages\/1979\/revisions"}],"wp:attachment":[{"href":"https:\/\/comidra.com\/fr\/wp-json\/wp\/v2\/media?parent=1979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}