{"id":57892,"date":"2026-03-23T12:16:37","date_gmt":"2026-03-23T12:16:37","guid":{"rendered":"https:\/\/fxtrendo.com\/?page_id=57892"},"modified":"2026-03-23T12:20:59","modified_gmt":"2026-03-23T12:20:59","slug":"realtime-price-2","status":"publish","type":"page","link":"https:\/\/fxtrendo.com\/ru\/realtime-price-2\/","title":{"rendered":"Realtime price"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"57892\" class=\"elementor elementor-57892 elementor-57888\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a64a992 e-flex e-con-boxed e-con e-parent\" data-id=\"a64a992\" 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<div class=\"elementor-element elementor-element-cf4c06a e-con-full e-flex e-con e-child\" data-id=\"cf4c06a\" 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-5e31ac6 elementor-widget elementor-widget-heading\" data-id=\"5e31ac6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">\u0426\u0435\u043d\u044b \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u044b \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-41b3bda elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"41b3bda\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">\u0412 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0442\u044c \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0448\u0438\u0440\u043e\u043a\u043e\u0433\u043e \u0441\u043f\u0435\u043a\u0442\u0440\u0430 \u0430\u043a\u0442\u0438\u0432\u043e\u0432: \u0432\u0430\u043b\u044e\u0442\u043d\u044b\u0445 \u043f\u0430\u0440 (\u0444\u043e\u0440\u0435\u043a\u0441), \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442, \u0434\u0440\u0430\u0433\u043e\u0446\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u0430\u043b\u043b\u043e\u0432, \u044d\u043d\u0435\u0440\u0433\u043e\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u0435\u0439, \u0444\u043e\u043d\u0434\u043e\u0432\u044b\u0445 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0445 \u0430\u043a\u0446\u0438\u0439.<\/span>\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-57f8980 e-flex e-con-boxed e-con e-parent\" data-id=\"57f8980\" 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-60ed7bc e-n-tabs-none elementor-widget elementor-widget-n-tabs\" data-id=\"60ed7bc\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;tabs_justify_horizontal&quot;:&quot;start&quot;,&quot;horizontal_scroll_mobile&quot;:&quot;enable&quot;,&quot;horizontal_scroll&quot;:&quot;disable&quot;}\" data-widget_type=\"nested-tabs.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-tabs\" data-widget-number=\"101636028\" aria-label=\"\u0412\u043a\u043b\u0430\u0434\u043a\u0438. \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0439\u0442\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u0430\u0432\u0438\u0448 Enter \u0438\u043b\u0438 Space, \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0439\u0442\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Escape \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0439\u0442\u0435\u0441\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u0430\u0432\u0438\u0448 \u0441\u043e \u0441\u0442\u0440\u0435\u043b\u043a\u0430\u043c\u0438.\">\n\t\t\t<div class=\"e-n-tabs-heading\" role=\"tablist\">\n\t\t\t\t\t<button id=\"e-n-tab-title-1016360281\" data-tab-title-id=\"e-n-tab-title-1016360281\" class=\"e-n-tab-title\" aria-selected=\"true\" data-tab-index=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"e-n-tab-content-1016360281\" style=\"--n-tabs-title-order: 1;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\t\u0424\u043e\u0440\u0435\u043a\u0441\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t<button id=\"e-n-tab-title-1016360282\" data-tab-title-id=\"e-n-tab-title-1016360282\" class=\"e-n-tab-title\" aria-selected=\"false\" data-tab-index=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"e-n-tab-content-1016360282\" style=\"--n-tabs-title-order: 2;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\t\u041a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t<button id=\"e-n-tab-title-1016360283\" data-tab-title-id=\"e-n-tab-title-1016360283\" class=\"e-n-tab-title\" aria-selected=\"false\" data-tab-index=\"3\" role=\"tab\" tabindex=\"-1\" aria-controls=\"e-n-tab-content-1016360283\" style=\"--n-tabs-title-order: 3;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\t\u041c\u0435\u0442\u0430\u043b\u043b\u044b\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t<button id=\"e-n-tab-title-1016360284\" data-tab-title-id=\"e-n-tab-title-1016360284\" class=\"e-n-tab-title\" aria-selected=\"false\" data-tab-index=\"4\" role=\"tab\" tabindex=\"-1\" aria-controls=\"e-n-tab-content-1016360284\" style=\"--n-tabs-title-order: 4;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\t\u0410\u043a\u0446\u0438\u0438\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t<button id=\"e-n-tab-title-1016360285\" data-tab-title-id=\"e-n-tab-title-1016360285\" class=\"e-n-tab-title\" aria-selected=\"false\" data-tab-index=\"5\" role=\"tab\" tabindex=\"-1\" aria-controls=\"e-n-tab-content-1016360285\" style=\"--n-tabs-title-order: 5;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\t\u042d\u043d\u0435\u0440\u0433\u0435\u0442\u0438\u043a\u0430\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t<button id=\"e-n-tab-title-1016360286\" data-tab-title-id=\"e-n-tab-title-1016360286\" class=\"e-n-tab-title\" aria-selected=\"false\" data-tab-index=\"6\" role=\"tab\" tabindex=\"-1\" aria-controls=\"e-n-tab-content-1016360286\" style=\"--n-tabs-title-order: 6;\">\n\t\t\t\t\t\t<span class=\"e-n-tab-title-text\">\n\t\t\t\t\u0418\u043d\u0434\u0435\u043a\u0441\u044b\t\t\t<\/span>\n\t\t<\/button>\n\t\t\t\t\t<\/div>\n\t\t\t<div class=\"e-n-tabs-content\">\n\t\t\t\t<div id=\"e-n-tab-content-1016360281\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-1016360281\" data-tab-index=\"1\" style=\"--n-tabs-title-order: 1;\" class=\"e-active elementor-element elementor-element-e3a53da e-con-full e-flex e-con e-child\" data-id=\"e3a53da\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7f17d7f elementor-widget elementor-widget-shortcode\" data-id=\"7f17d7f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div id=\"price_list_69d2e798ad75c_container\" class=\"price-list-container\">\r\n        <div id=\"price_list_69d2e798ad75c_searchwrap\" class=\"price-list-search\" style=\"margin-bottom:8px; display:flex; align-items:center; gap:8px;\">\r\n            <button type=\"button\" id=\"price_list_69d2e798ad75c_searchbtn\" aria-expanded=\"false\" aria-controls=\"price_list_69d2e798ad75c_searchinput\" style=\"border:none;background: unset !important;\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/search-normal.svg\" \/><\/button>\r\n            <input type=\"text\" id=\"price_list_69d2e798ad75c_searchinput\" placeholder=\"Search...\"  style=\"display:none; max-width:220px; padding:6px 8px; border:1px solid #ccc; border-radius:6px;\" \/>\r\n        <\/div><div class=\"table-price-sc\"><table id=\"price_list_69d2e798ad75c_table\" class=\"price-list-table\" border=\"1\" cellpadding=\"5\" cellspacing=\"0\"><thead><tr>\r\n                    <th>\u0421\u0438\u043c\u0432\u043e\u043b<\/th>\r\n                    <th>\u041f\u0440\u043e\u0434\u0430\u0436\u0430<\/th>\r\n                    <th>\u041f\u043e\u043a\u0443\u043f\u043a\u0430<\/th>\r\n                    <th>\u0421\u043f\u0440\u0435\u0434<\/th>\r\n                <\/tr><\/thead><tbody id=\"price_list_69d2e798ad75c_tbody\">\r\n                    <tr><td colspan=\"4\">Loading...<\/td><\/tr>\r\n                <\/tbody><\/table>\r\n    <\/div>\r\n    <\/div><script>\r\n    (function(){\r\n        const symbols         = \"usdjpy,eurusd,gbpusd,eurjpy,audchf,usdcad,eurcad,eurgbp,chfjpy,eurchf,audcad,eurnzd,euraud,usdchf,audjpy,gbpaud,nzdusd,gbpnzd,cadchf,usdsgd,gbpchf,cadjpy,gbpcad,nzdchf,gbpjpy,usdcnh,audusd,audnzd,nzdjpy,nzdcad,usdzar\";\r\n        const searchEnabled   = true;\r\n        const searchSymbols   = \"usdjpy,eurusd,gbpusd,eurjpy,audchf,usdcad,eurcad,eurgbp,chfjpy,eurchf,audcad,eurnzd,euraud,usdchf,audjpy,gbpaud,nzdusd,gbpnzd,cadchf,usdsgd,gbpchf,cadjpy,gbpcad,nzdchf,gbpjpy,usdcnh,audusd,audnzd,nzdjpy,nzdcad,usdzar,btcusd,ethusd,xrpusd,eosusd,dshusd,ltcusd,bchusd,dotusd,lnkusd,adausd,xlmusd,bnbusd,xmrusd,iotusd,xtzusd,bsvusd,dogusd,glmusd,ksmusd,avxusd,solusd,uniusd,mtcusd,xauusd,xpdusd,xptusd,xagusd,xaueur,xaugbp,xaujpy,xauaud,xauchf,xagaud,xageur,fb,bac,dis,pg,jnj,amzn,v,aapl,nvda,wmt,pypl,jpm,msft,tsla,goog,ma,unh,hd,xbrusd,xtiusd,xngusd,us30,us500,de40,ustec,uk100,jp225,f40,stoxx50,aus200\";\r\n        const ajaxUrl         = \"https:\/\/fxtrendo.com\/wp-admin\/admin-ajax.php\";\r\n        const tbodyId         = \"price_list_69d2e798ad75c_tbody\";\r\n        const nonce           = \"64cfaef835\";\r\n\r\n        const searchWrapId    = \"price_list_69d2e798ad75c_searchwrap\";\r\n        const searchInputId   = \"price_list_69d2e798ad75c_searchinput\";\r\n        const searchBtnId     = \"price_list_69d2e798ad75c_searchbtn\";\r\n\r\n        let previousBuyValues  = {};\r\n        let previousSellValues = {};\r\n        let displayedData      = []; \/\/ data for current tab (price list)\r\n        let masterData         = []; \/\/ optional full dataset for searching across tabs\r\n\r\n        function toNum(v){\r\n            const n = parseFloat(v);\r\n            return Number.isFinite(n) ? n : NaN;\r\n        }\r\n\r\n        function normalizeArrayMaybe(data){\r\n            \/\/ Accept array or { getSymbol: [...] }\r\n            if (Array.isArray(data)) return data;\r\n            if (data && Array.isArray(data.getSymbol)) return data.getSymbol;\r\n            return [];\r\n        }\r\n\r\n        function fetchSymbols(list){\r\n            const url = ajaxUrl + \"?action=get_symbol_data&symbols=\" + encodeURIComponent(list) + \"&_ajax_nonce=\" + encodeURIComponent(nonce);\r\n            return fetch(url, { credentials: \"same-origin\" })\r\n                .then(r => r.json())\r\n                .then(j => {\r\n                    if (!j || !(\"success\" in j)) throw new Error(\"Unexpected response\");\r\n                    if (!j.success) throw new Error((j.data && j.data.message) || \"Unknown error\");\r\n                    return normalizeArrayMaybe(j.data);\r\n                });\r\n        }\r\n\r\n        function renderRows(rows){\r\n            let html = \"\";\r\n            rows.forEach(item => {\r\n                const name  = (item && (item.name || item.Symbol || item.symbol)) || \"\";\r\n                const sellV = item && (item.Ask  ?? item.ask  ?? item.sell ?? item.Sell);\r\n                const buyV  = item && (item.Bid  ?? item.bid  ?? item.buy  ?? item.Buy);\r\n                const sellN = toNum(sellV);\r\n                const buyN  = toNum(buyV);\r\n                const sellStr = (sellV !== undefined && sellV !== null) ? String(sellV) : \"\";\r\n                const buyStr  = (buyV  !== undefined && buyV  !== null) ? String(buyV)  : \"\";\r\n                const image = (item && (item.image || item.icon || \"\")) || \"\";\r\n                const sb   = item.symbol || \"\";\r\n                let spread = \"-\";\r\n                if (Number.isFinite(sellN) && Number.isFinite(buyN)) {\r\n                    const s = sellN - buyN;\r\n                    spread = (Math.abs(s) >= 1 ? s.toFixed(2) : s.toFixed(4));\r\n                }\r\n\r\n                let buyColor = \"white\";\r\n                let buyText  = buyStr;\r\n                if (name && Number.isFinite(buyN) && previousBuyValues[name] !== undefined) {\r\n                    const prev = previousBuyValues[name];\r\n                    if (Number.isFinite(prev)) {\r\n                        if (buyN > prev) { buyColor = \"green\"; buyText = \"+\" + buyStr; }\r\n                        else if (buyN < prev) { buyColor = \"red\"; buyText = \"-\" + buyStr; }\r\n                    }\r\n                }\r\n\r\n                let sellColor = \"white\";\r\n                let sellText  = sellStr;\r\n                if (name && Number.isFinite(sellN) && previousSellValues[name] !== undefined) {\r\n                    const prev = previousSellValues[name];\r\n                    if (Number.isFinite(prev)) {\r\n                        if (sellN > prev) { sellColor = \"green\"; sellText = \"+\" + sellStr; }\r\n                        else if (sellN < prev) { sellColor = \"red\"; sellText = \"-\" + sellStr; }\r\n                    }\r\n                }\r\n\r\n                if (name) {\r\n                    previousBuyValues[name]  = buyN;\r\n                    previousSellValues[name] = sellN;\r\n                }\r\n\r\n                html += \"<tr style='border-radius: 16px; background: rgba(112, 112, 112, 0.15); backdrop-filter: blur(4px); margin-top: 10px; margin-bottom: 10px;'>\";\r\n                html += '<td class=\"name-cell\"><a href=\"\/chart\/' + encodeURIComponent(sb) + '\/\"><img decoding=\"async\" src=\"' + image + '\" alt=\"' + name + '\" \/>' + name + '<\/a><\/td>';\r\n                html += '<td class=\"sell-cell\" style=\"color: ' + sellColor + ';\">' + sellText + '<\/td>';\r\n                html += '<td class=\"buy-cell\" style=\"color: ' + buyColor + ';\">' + buyText + '<\/td>';\r\n                html += '<td class=\"sp-cell\">' + spread + '<\/td>';\r\n                html += \"<\/tr>\";\r\n            });\r\n            document.getElementById(tbodyId).innerHTML = html || \"<tr><td colspan='4'>No data<\/td><\/tr>\";\r\n        }\r\n\r\n        function updateDisplayToOriginal(){\r\n            renderRows(displayedData);\r\n        }\r\n\r\n        function handleSearch(query){\r\n            const q = (query || \"\").trim().toLowerCase();\r\n            if (!q) { updateDisplayToOriginal(); return; }\r\n\r\n            \/\/ Search across masterData if available; fallback to displayedData\r\n            const base = (masterData.length ? masterData : displayedData);\r\n            const filtered = base.filter(it => {\r\n                const nm = (it && (it.name || it.Symbol || it.symbol) || \"\").toLowerCase();\r\n                return nm.includes(q);\r\n            });\r\n            renderRows(filtered);\r\n        }\r\n\r\n        function attachSearchUI(){\r\n            if (!searchEnabled) return;\r\n\r\n            const btn = document.getElementById(searchBtnId);\r\n            const input = document.getElementById(searchInputId);\r\n            if (!btn || !input) return;\r\n\r\n            let open = false;\r\n            btn.addEventListener(\"click\", function(){\r\n                open = !open;\r\n                btn.setAttribute(\"aria-expanded\", open ? \"true\" : \"false\");\r\n                input.style.display = open ? \"block\" : \"none\";\r\n                if (open) { input.focus(); }\r\n                if (!open) { input.value = \"\"; updateDisplayToOriginal(); }\r\n            });\r\n\r\n            let t = null;\r\n            input.addEventListener(\"input\", function(){\r\n                const v = input.value;\r\n                if (t) clearTimeout(t);\r\n                t = setTimeout(() => handleSearch(v), 200);\r\n            });\r\n        }\r\n\r\n        \/\/ Initial load\r\n        Promise.all([\r\n            fetchSymbols(symbols).then(arr => { displayedData = arr || []; }).catch(() => { displayedData = []; }),\r\n            (searchEnabled && searchSymbols ? fetchSymbols(searchSymbols).then(arr => { masterData = arr || []; }).catch(() => { masterData = []; }) : Promise.resolve() )\r\n        ])\r\n        .then(() => {\r\n            renderRows(displayedData);\r\n            attachSearchUI();\r\n        })\r\n        .catch(e => {\r\n            document.getElementById(tbodyId).innerHTML = \"<tr><td colspan='4'>Error: \" + e + \"<\/td><\/tr>\";\r\n        });\r\n\r\n        \/\/ No auto-refresh by default\r\n        \/\/ setInterval(() => { \/* you can add refresh if needed *\/ }, 5000);\r\n        \r\n        \r\n        \r\n    })();\r\n    <\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div id=\"e-n-tab-content-1016360282\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-1016360282\" data-tab-index=\"2\" style=\"--n-tabs-title-order: 2;\" class=\" elementor-element elementor-element-fe730ec e-con-full e-flex e-con e-child\" data-id=\"fe730ec\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c01eee8 elementor-widget elementor-widget-shortcode\" data-id=\"c01eee8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div id=\"price_list_69d2e798adb17_container\" class=\"price-list-container\">\r\n        <div id=\"price_list_69d2e798adb17_searchwrap\" class=\"price-list-search\" style=\"margin-bottom:8px; display:flex; align-items:center; gap:8px;\">\r\n            <button type=\"button\" id=\"price_list_69d2e798adb17_searchbtn\" aria-expanded=\"false\" aria-controls=\"price_list_69d2e798adb17_searchinput\" style=\"border:none;background: unset !important;\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/search-normal.svg\" \/><\/button>\r\n            <input type=\"text\" id=\"price_list_69d2e798adb17_searchinput\" placeholder=\"Search...\"  style=\"display:none; max-width:220px; padding:6px 8px; border:1px solid #ccc; border-radius:6px;\" \/>\r\n        <\/div><div class=\"table-price-sc\"><table id=\"price_list_69d2e798adb17_table\" class=\"price-list-table\" border=\"1\" cellpadding=\"5\" cellspacing=\"0\"><thead><tr>\r\n                    <th>\u0421\u0438\u043c\u0432\u043e\u043b<\/th>\r\n                    <th>\u041f\u0440\u043e\u0434\u0430\u0436\u0430<\/th>\r\n                    <th>\u041f\u043e\u043a\u0443\u043f\u043a\u0430<\/th>\r\n                    <th>\u0421\u043f\u0440\u0435\u0434<\/th>\r\n                <\/tr><\/thead><tbody id=\"price_list_69d2e798adb17_tbody\">\r\n                    <tr><td colspan=\"4\">Loading...<\/td><\/tr>\r\n                <\/tbody><\/table>\r\n    <\/div>\r\n    <\/div><script>\r\n    (function(){\r\n        const symbols         = \"btcusd,ethusd,xrpusd,eosusd,dshusd,ltcusd,bchusd,dotusd,lnkusd,adausd,xlmusd,bnbusd,xmrusd,iotusd,xtzusd,bsvusd,dogusd,glmusd,ksmusd,avxusd,solusd,uniusd,mtcusd\";\r\n        const searchEnabled   = true;\r\n        const searchSymbols   = \"usdjpy,eurusd,gbpusd,eurjpy,audchf,usdcad,eurcad,eurgbp,chfjpy,eurchf,audcad,eurnzd,euraud,usdchf,audjpy,gbpaud,nzdusd,gbpnzd,cadchf,usdsgd,gbpchf,cadjpy,gbpcad,nzdchf,gbpjpy,usdcnh,audusd,audnzd,nzdjpy,nzdcad,usdzar,btcusd,ethusd,xrpusd,eosusd,dshusd,ltcusd,bchusd,dotusd,lnkusd,adausd,xlmusd,bnbusd,xmrusd,iotusd,xtzusd,bsvusd,dogusd,glmusd,ksmusd,avxusd,solusd,uniusd,mtcusd,xauusd,xpdusd,xptusd,xagusd,xaueur,xaugbp,xaujpy,xauaud,xauchf,xagaud,xageur,fb,bac,dis,pg,jnj,amzn,v,aapl,nvda,wmt,pypl,jpm,msft,tsla,goog,ma,unh,hd,xbrusd,xtiusd,xngusd,us30,us500,de40,ustec,uk100,jp225,f40,stoxx50,aus200\";\r\n        const ajaxUrl         = \"https:\/\/fxtrendo.com\/wp-admin\/admin-ajax.php\";\r\n        const tbodyId         = \"price_list_69d2e798adb17_tbody\";\r\n        const nonce           = \"64cfaef835\";\r\n\r\n        const searchWrapId    = \"price_list_69d2e798adb17_searchwrap\";\r\n        const searchInputId   = \"price_list_69d2e798adb17_searchinput\";\r\n        const searchBtnId     = \"price_list_69d2e798adb17_searchbtn\";\r\n\r\n        let previousBuyValues  = {};\r\n        let previousSellValues = {};\r\n        let displayedData      = []; \/\/ data for current tab (price list)\r\n        let masterData         = []; \/\/ optional full dataset for searching across tabs\r\n\r\n        function toNum(v){\r\n            const n = parseFloat(v);\r\n            return Number.isFinite(n) ? n : NaN;\r\n        }\r\n\r\n        function normalizeArrayMaybe(data){\r\n            \/\/ Accept array or { getSymbol: [...] }\r\n            if (Array.isArray(data)) return data;\r\n            if (data && Array.isArray(data.getSymbol)) return data.getSymbol;\r\n            return [];\r\n        }\r\n\r\n        function fetchSymbols(list){\r\n            const url = ajaxUrl + \"?action=get_symbol_data&symbols=\" + encodeURIComponent(list) + \"&_ajax_nonce=\" + encodeURIComponent(nonce);\r\n            return fetch(url, { credentials: \"same-origin\" })\r\n                .then(r => r.json())\r\n                .then(j => {\r\n                    if (!j || !(\"success\" in j)) throw new Error(\"Unexpected response\");\r\n                    if (!j.success) throw new Error((j.data && j.data.message) || \"Unknown error\");\r\n                    return normalizeArrayMaybe(j.data);\r\n                });\r\n        }\r\n\r\n        function renderRows(rows){\r\n            let html = \"\";\r\n            rows.forEach(item => {\r\n                const name  = (item && (item.name || item.Symbol || item.symbol)) || \"\";\r\n                const sellV = item && (item.Ask  ?? item.ask  ?? item.sell ?? item.Sell);\r\n                const buyV  = item && (item.Bid  ?? item.bid  ?? item.buy  ?? item.Buy);\r\n                const sellN = toNum(sellV);\r\n                const buyN  = toNum(buyV);\r\n                const sellStr = (sellV !== undefined && sellV !== null) ? String(sellV) : \"\";\r\n                const buyStr  = (buyV  !== undefined && buyV  !== null) ? String(buyV)  : \"\";\r\n                const image = (item && (item.image || item.icon || \"\")) || \"\";\r\n                const sb   = item.symbol || \"\";\r\n                let spread = \"-\";\r\n                if (Number.isFinite(sellN) && Number.isFinite(buyN)) {\r\n                    const s = sellN - buyN;\r\n                    spread = (Math.abs(s) >= 1 ? s.toFixed(2) : s.toFixed(4));\r\n                }\r\n\r\n                let buyColor = \"white\";\r\n                let buyText  = buyStr;\r\n                if (name && Number.isFinite(buyN) && previousBuyValues[name] !== undefined) {\r\n                    const prev = previousBuyValues[name];\r\n                    if (Number.isFinite(prev)) {\r\n                        if (buyN > prev) { buyColor = \"green\"; buyText = \"+\" + buyStr; }\r\n                        else if (buyN < prev) { buyColor = \"red\"; buyText = \"-\" + buyStr; }\r\n                    }\r\n                }\r\n\r\n                let sellColor = \"white\";\r\n                let sellText  = sellStr;\r\n                if (name && Number.isFinite(sellN) && previousSellValues[name] !== undefined) {\r\n                    const prev = previousSellValues[name];\r\n                    if (Number.isFinite(prev)) {\r\n                        if (sellN > prev) { sellColor = \"green\"; sellText = \"+\" + sellStr; }\r\n                        else if (sellN < prev) { sellColor = \"red\"; sellText = \"-\" + sellStr; }\r\n                    }\r\n                }\r\n\r\n                if (name) {\r\n                    previousBuyValues[name]  = buyN;\r\n                    previousSellValues[name] = sellN;\r\n                }\r\n\r\n                html += \"<tr style='border-radius: 16px; background: rgba(112, 112, 112, 0.15); backdrop-filter: blur(4px); margin-top: 10px; margin-bottom: 10px;'>\";\r\n                html += '<td class=\"name-cell\"><a href=\"\/chart\/' + encodeURIComponent(sb) + '\/\"><img decoding=\"async\" src=\"' + image + '\" alt=\"' + name + '\" \/>' + name + '<\/a><\/td>';\r\n                html += '<td class=\"sell-cell\" style=\"color: ' + sellColor + ';\">' + sellText + '<\/td>';\r\n                html += '<td class=\"buy-cell\" style=\"color: ' + buyColor + ';\">' + buyText + '<\/td>';\r\n                html += '<td class=\"sp-cell\">' + spread + '<\/td>';\r\n                html += \"<\/tr>\";\r\n            });\r\n            document.getElementById(tbodyId).innerHTML = html || \"<tr><td colspan='4'>No data<\/td><\/tr>\";\r\n        }\r\n\r\n        function updateDisplayToOriginal(){\r\n            renderRows(displayedData);\r\n        }\r\n\r\n        function handleSearch(query){\r\n            const q = (query || \"\").trim().toLowerCase();\r\n            if (!q) { updateDisplayToOriginal(); return; }\r\n\r\n            \/\/ Search across masterData if available; fallback to displayedData\r\n            const base = (masterData.length ? masterData : displayedData);\r\n            const filtered = base.filter(it => {\r\n                const nm = (it && (it.name || it.Symbol || it.symbol) || \"\").toLowerCase();\r\n                return nm.includes(q);\r\n            });\r\n            renderRows(filtered);\r\n        }\r\n\r\n        function attachSearchUI(){\r\n            if (!searchEnabled) return;\r\n\r\n            const btn = document.getElementById(searchBtnId);\r\n            const input = document.getElementById(searchInputId);\r\n            if (!btn || !input) return;\r\n\r\n            let open = false;\r\n            btn.addEventListener(\"click\", function(){\r\n                open = !open;\r\n                btn.setAttribute(\"aria-expanded\", open ? \"true\" : \"false\");\r\n                input.style.display = open ? \"block\" : \"none\";\r\n                if (open) { input.focus(); }\r\n                if (!open) { input.value = \"\"; updateDisplayToOriginal(); }\r\n            });\r\n\r\n            let t = null;\r\n            input.addEventListener(\"input\", function(){\r\n                const v = input.value;\r\n                if (t) clearTimeout(t);\r\n                t = setTimeout(() => handleSearch(v), 200);\r\n            });\r\n        }\r\n\r\n        \/\/ Initial load\r\n        Promise.all([\r\n            fetchSymbols(symbols).then(arr => { displayedData = arr || []; }).catch(() => { displayedData = []; }),\r\n            (searchEnabled && searchSymbols ? fetchSymbols(searchSymbols).then(arr => { masterData = arr || []; }).catch(() => { masterData = []; }) : Promise.resolve() )\r\n        ])\r\n        .then(() => {\r\n            renderRows(displayedData);\r\n            attachSearchUI();\r\n        })\r\n        .catch(e => {\r\n            document.getElementById(tbodyId).innerHTML = \"<tr><td colspan='4'>Error: \" + e + \"<\/td><\/tr>\";\r\n        });\r\n\r\n        \/\/ No auto-refresh by default\r\n        \/\/ setInterval(() => { \/* you can add refresh if needed *\/ }, 5000);\r\n        \r\n        \r\n        \r\n    })();\r\n    <\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div id=\"e-n-tab-content-1016360283\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-1016360283\" data-tab-index=\"3\" style=\"--n-tabs-title-order: 3;\" class=\" elementor-element elementor-element-b7182f1 e-con-full e-flex e-con e-child\" data-id=\"b7182f1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fd4f171 elementor-widget elementor-widget-shortcode\" data-id=\"fd4f171\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div id=\"price_list_69d2e798add7a_container\" class=\"price-list-container\">\r\n        <div id=\"price_list_69d2e798add7a_searchwrap\" class=\"price-list-search\" style=\"margin-bottom:8px; display:flex; align-items:center; gap:8px;\">\r\n            <button type=\"button\" id=\"price_list_69d2e798add7a_searchbtn\" aria-expanded=\"false\" aria-controls=\"price_list_69d2e798add7a_searchinput\" style=\"border:none;background: unset !important;\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/search-normal.svg\" \/><\/button>\r\n            <input type=\"text\" id=\"price_list_69d2e798add7a_searchinput\" placeholder=\"Search...\"  style=\"display:none; max-width:220px; padding:6px 8px; border:1px solid #ccc; border-radius:6px;\" \/>\r\n        <\/div><div class=\"table-price-sc\"><table id=\"price_list_69d2e798add7a_table\" class=\"price-list-table\" border=\"1\" cellpadding=\"5\" cellspacing=\"0\"><thead><tr>\r\n                    <th>\u0421\u0438\u043c\u0432\u043e\u043b<\/th>\r\n                    <th>\u041f\u0440\u043e\u0434\u0430\u0436\u0430<\/th>\r\n                    <th>\u041f\u043e\u043a\u0443\u043f\u043a\u0430<\/th>\r\n                    <th>\u0421\u043f\u0440\u0435\u0434<\/th>\r\n                <\/tr><\/thead><tbody id=\"price_list_69d2e798add7a_tbody\">\r\n                    <tr><td colspan=\"4\">Loading...<\/td><\/tr>\r\n                <\/tbody><\/table>\r\n    <\/div>\r\n    <\/div><script>\r\n    (function(){\r\n        const symbols         = \"xauusd,xpdusd,xptusd,xagusd,xaueur,xaugbp,xaujpy,xauaud,xauchf,xagaud,xageur\";\r\n        const searchEnabled   = true;\r\n        const searchSymbols   = \"usdjpy,eurusd,gbpusd,eurjpy,audchf,usdcad,eurcad,eurgbp,chfjpy,eurchf,audcad,eurnzd,euraud,usdchf,audjpy,gbpaud,nzdusd,gbpnzd,cadchf,usdsgd,gbpchf,cadjpy,gbpcad,nzdchf,gbpjpy,usdcnh,audusd,audnzd,nzdjpy,nzdcad,usdzar,btcusd,ethusd,xrpusd,eosusd,dshusd,ltcusd,bchusd,dotusd,lnkusd,adausd,xlmusd,bnbusd,xmrusd,iotusd,xtzusd,bsvusd,dogusd,glmusd,ksmusd,avxusd,solusd,uniusd,mtcusd,xauusd,xpdusd,xptusd,xagusd,xaueur,xaugbp,xaujpy,xauaud,xauchf,xagaud,xageur,fb,bac,dis,pg,jnj,amzn,v,aapl,nvda,wmt,pypl,jpm,msft,tsla,goog,ma,unh,hd,xbrusd,xtiusd,xngusd,us30,us500,de40,ustec,uk100,jp225,f40,stoxx50,aus200\";\r\n        const ajaxUrl         = \"https:\/\/fxtrendo.com\/wp-admin\/admin-ajax.php\";\r\n        const tbodyId         = \"price_list_69d2e798add7a_tbody\";\r\n        const nonce           = \"64cfaef835\";\r\n\r\n        const searchWrapId    = \"price_list_69d2e798add7a_searchwrap\";\r\n        const searchInputId   = \"price_list_69d2e798add7a_searchinput\";\r\n        const searchBtnId     = \"price_list_69d2e798add7a_searchbtn\";\r\n\r\n        let previousBuyValues  = {};\r\n        let previousSellValues = {};\r\n        let displayedData      = []; \/\/ data for current tab (price list)\r\n        let masterData         = []; \/\/ optional full dataset for searching across tabs\r\n\r\n        function toNum(v){\r\n            const n = parseFloat(v);\r\n            return Number.isFinite(n) ? n : NaN;\r\n        }\r\n\r\n        function normalizeArrayMaybe(data){\r\n            \/\/ Accept array or { getSymbol: [...] }\r\n            if (Array.isArray(data)) return data;\r\n            if (data && Array.isArray(data.getSymbol)) return data.getSymbol;\r\n            return [];\r\n        }\r\n\r\n        function fetchSymbols(list){\r\n            const url = ajaxUrl + \"?action=get_symbol_data&symbols=\" + encodeURIComponent(list) + \"&_ajax_nonce=\" + encodeURIComponent(nonce);\r\n            return fetch(url, { credentials: \"same-origin\" })\r\n                .then(r => r.json())\r\n                .then(j => {\r\n                    if (!j || !(\"success\" in j)) throw new Error(\"Unexpected response\");\r\n                    if (!j.success) throw new Error((j.data && j.data.message) || \"Unknown error\");\r\n                    return normalizeArrayMaybe(j.data);\r\n                });\r\n        }\r\n\r\n        function renderRows(rows){\r\n            let html = \"\";\r\n            rows.forEach(item => {\r\n                const name  = (item && (item.name || item.Symbol || item.symbol)) || \"\";\r\n                const sellV = item && (item.Ask  ?? item.ask  ?? item.sell ?? item.Sell);\r\n                const buyV  = item && (item.Bid  ?? item.bid  ?? item.buy  ?? item.Buy);\r\n                const sellN = toNum(sellV);\r\n                const buyN  = toNum(buyV);\r\n                const sellStr = (sellV !== undefined && sellV !== null) ? String(sellV) : \"\";\r\n                const buyStr  = (buyV  !== undefined && buyV  !== null) ? String(buyV)  : \"\";\r\n                const image = (item && (item.image || item.icon || \"\")) || \"\";\r\n                const sb   = item.symbol || \"\";\r\n                let spread = \"-\";\r\n                if (Number.isFinite(sellN) && Number.isFinite(buyN)) {\r\n                    const s = sellN - buyN;\r\n                    spread = (Math.abs(s) >= 1 ? s.toFixed(2) : s.toFixed(4));\r\n                }\r\n\r\n                let buyColor = \"white\";\r\n                let buyText  = buyStr;\r\n                if (name && Number.isFinite(buyN) && previousBuyValues[name] !== undefined) {\r\n                    const prev = previousBuyValues[name];\r\n                    if (Number.isFinite(prev)) {\r\n                        if (buyN > prev) { buyColor = \"green\"; buyText = \"+\" + buyStr; }\r\n                        else if (buyN < prev) { buyColor = \"red\"; buyText = \"-\" + buyStr; }\r\n                    }\r\n                }\r\n\r\n                let sellColor = \"white\";\r\n                let sellText  = sellStr;\r\n                if (name && Number.isFinite(sellN) && previousSellValues[name] !== undefined) {\r\n                    const prev = previousSellValues[name];\r\n                    if (Number.isFinite(prev)) {\r\n                        if (sellN > prev) { sellColor = \"green\"; sellText = \"+\" + sellStr; }\r\n                        else if (sellN < prev) { sellColor = \"red\"; sellText = \"-\" + sellStr; }\r\n                    }\r\n                }\r\n\r\n                if (name) {\r\n                    previousBuyValues[name]  = buyN;\r\n                    previousSellValues[name] = sellN;\r\n                }\r\n\r\n                html += \"<tr style='border-radius: 16px; background: rgba(112, 112, 112, 0.15); backdrop-filter: blur(4px); margin-top: 10px; margin-bottom: 10px;'>\";\r\n                html += '<td class=\"name-cell\"><a href=\"\/chart\/' + encodeURIComponent(sb) + '\/\"><img decoding=\"async\" src=\"' + image + '\" alt=\"' + name + '\" \/>' + name + '<\/a><\/td>';\r\n                html += '<td class=\"sell-cell\" style=\"color: ' + sellColor + ';\">' + sellText + '<\/td>';\r\n                html += '<td class=\"buy-cell\" style=\"color: ' + buyColor + ';\">' + buyText + '<\/td>';\r\n                html += '<td class=\"sp-cell\">' + spread + '<\/td>';\r\n                html += \"<\/tr>\";\r\n            });\r\n            document.getElementById(tbodyId).innerHTML = html || \"<tr><td colspan='4'>No data<\/td><\/tr>\";\r\n        }\r\n\r\n        function updateDisplayToOriginal(){\r\n            renderRows(displayedData);\r\n        }\r\n\r\n        function handleSearch(query){\r\n            const q = (query || \"\").trim().toLowerCase();\r\n            if (!q) { updateDisplayToOriginal(); return; }\r\n\r\n            \/\/ Search across masterData if available; fallback to displayedData\r\n            const base = (masterData.length ? masterData : displayedData);\r\n            const filtered = base.filter(it => {\r\n                const nm = (it && (it.name || it.Symbol || it.symbol) || \"\").toLowerCase();\r\n                return nm.includes(q);\r\n            });\r\n            renderRows(filtered);\r\n        }\r\n\r\n        function attachSearchUI(){\r\n            if (!searchEnabled) return;\r\n\r\n            const btn = document.getElementById(searchBtnId);\r\n            const input = document.getElementById(searchInputId);\r\n            if (!btn || !input) return;\r\n\r\n            let open = false;\r\n            btn.addEventListener(\"click\", function(){\r\n                open = !open;\r\n                btn.setAttribute(\"aria-expanded\", open ? \"true\" : \"false\");\r\n                input.style.display = open ? \"block\" : \"none\";\r\n                if (open) { input.focus(); }\r\n                if (!open) { input.value = \"\"; updateDisplayToOriginal(); }\r\n            });\r\n\r\n            let t = null;\r\n            input.addEventListener(\"input\", function(){\r\n                const v = input.value;\r\n                if (t) clearTimeout(t);\r\n                t = setTimeout(() => handleSearch(v), 200);\r\n            });\r\n        }\r\n\r\n        \/\/ Initial load\r\n        Promise.all([\r\n            fetchSymbols(symbols).then(arr => { displayedData = arr || []; }).catch(() => { displayedData = []; }),\r\n            (searchEnabled && searchSymbols ? fetchSymbols(searchSymbols).then(arr => { masterData = arr || []; }).catch(() => { masterData = []; }) : Promise.resolve() )\r\n        ])\r\n        .then(() => {\r\n            renderRows(displayedData);\r\n            attachSearchUI();\r\n        })\r\n        .catch(e => {\r\n            document.getElementById(tbodyId).innerHTML = \"<tr><td colspan='4'>Error: \" + e + \"<\/td><\/tr>\";\r\n        });\r\n\r\n        \/\/ No auto-refresh by default\r\n        \/\/ setInterval(() => { \/* you can add refresh if needed *\/ }, 5000);\r\n        \r\n        \r\n        \r\n    })();\r\n    <\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div id=\"e-n-tab-content-1016360284\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-1016360284\" data-tab-index=\"4\" style=\"--n-tabs-title-order: 4;\" class=\" elementor-element elementor-element-5a43862 e-flex e-con-boxed e-con e-child\" data-id=\"5a43862\" 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-121ded6 elementor-widget elementor-widget-shortcode\" data-id=\"121ded6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div id=\"price_list_69d2e798adfd4_container\" class=\"price-list-container\">\r\n        <div id=\"price_list_69d2e798adfd4_searchwrap\" class=\"price-list-search\" style=\"margin-bottom:8px; display:flex; align-items:center; gap:8px;\">\r\n            <button type=\"button\" id=\"price_list_69d2e798adfd4_searchbtn\" aria-expanded=\"false\" aria-controls=\"price_list_69d2e798adfd4_searchinput\" style=\"border:none;background: unset !important;\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/search-normal.svg\" \/><\/button>\r\n            <input type=\"text\" id=\"price_list_69d2e798adfd4_searchinput\" placeholder=\"Search...\"  style=\"display:none; max-width:220px; padding:6px 8px; border:1px solid #ccc; border-radius:6px;\" \/>\r\n        <\/div><div class=\"table-price-sc\"><table id=\"price_list_69d2e798adfd4_table\" class=\"price-list-table\" border=\"1\" cellpadding=\"5\" cellspacing=\"0\"><thead><tr>\r\n                    <th>\u0421\u0438\u043c\u0432\u043e\u043b<\/th>\r\n                    <th>\u041f\u0440\u043e\u0434\u0430\u0436\u0430<\/th>\r\n                    <th>\u041f\u043e\u043a\u0443\u043f\u043a\u0430<\/th>\r\n                    <th>\u0421\u043f\u0440\u0435\u0434<\/th>\r\n                <\/tr><\/thead><tbody id=\"price_list_69d2e798adfd4_tbody\">\r\n                    <tr><td colspan=\"4\">Loading...<\/td><\/tr>\r\n                <\/tbody><\/table>\r\n    <\/div>\r\n    <\/div><script>\r\n    (function(){\r\n        const symbols         = \"fb,bac,dis,pg,jnj,amzn,v,aapl,nvda,wmt,pypl,jpm,msft,tsla,goog,ma,unh,hd\";\r\n        const searchEnabled   = true;\r\n        const searchSymbols   = \"usdjpy,eurusd,gbpusd,eurjpy,audchf,usdcad,eurcad,eurgbp,chfjpy,eurchf,audcad,eurnzd,euraud,usdchf,audjpy,gbpaud,nzdusd,gbpnzd,cadchf,usdsgd,gbpchf,cadjpy,gbpcad,nzdchf,gbpjpy,usdcnh,audusd,audnzd,nzdjpy,nzdcad,usdzar,btcusd,ethusd,xrpusd,eosusd,dshusd,ltcusd,bchusd,dotusd,lnkusd,adausd,xlmusd,bnbusd,xmrusd,iotusd,xtzusd,bsvusd,dogusd,glmusd,ksmusd,avxusd,solusd,uniusd,mtcusd,xauusd,xpdusd,xptusd,xagusd,xaueur,xaugbp,xaujpy,xauaud,xauchf,xagaud,xageur,fb,bac,dis,pg,jnj,amzn,v,aapl,nvda,wmt,pypl,jpm,msft,tsla,goog,ma,unh,hd,xbrusd,xtiusd,xngusd,us30,us500,de40,ustec,uk100,jp225,f40,stoxx50,aus200\";\r\n        const ajaxUrl         = \"https:\/\/fxtrendo.com\/wp-admin\/admin-ajax.php\";\r\n        const tbodyId         = \"price_list_69d2e798adfd4_tbody\";\r\n        const nonce           = \"64cfaef835\";\r\n\r\n        const searchWrapId    = \"price_list_69d2e798adfd4_searchwrap\";\r\n        const searchInputId   = \"price_list_69d2e798adfd4_searchinput\";\r\n        const searchBtnId     = \"price_list_69d2e798adfd4_searchbtn\";\r\n\r\n        let previousBuyValues  = {};\r\n        let previousSellValues = {};\r\n        let displayedData      = []; \/\/ data for current tab (price list)\r\n        let masterData         = []; \/\/ optional full dataset for searching across tabs\r\n\r\n        function toNum(v){\r\n            const n = parseFloat(v);\r\n            return Number.isFinite(n) ? n : NaN;\r\n        }\r\n\r\n        function normalizeArrayMaybe(data){\r\n            \/\/ Accept array or { getSymbol: [...] }\r\n            if (Array.isArray(data)) return data;\r\n            if (data && Array.isArray(data.getSymbol)) return data.getSymbol;\r\n            return [];\r\n        }\r\n\r\n        function fetchSymbols(list){\r\n            const url = ajaxUrl + \"?action=get_symbol_data&symbols=\" + encodeURIComponent(list) + \"&_ajax_nonce=\" + encodeURIComponent(nonce);\r\n            return fetch(url, { credentials: \"same-origin\" })\r\n                .then(r => r.json())\r\n                .then(j => {\r\n                    if (!j || !(\"success\" in j)) throw new Error(\"Unexpected response\");\r\n                    if (!j.success) throw new Error((j.data && j.data.message) || \"Unknown error\");\r\n                    return normalizeArrayMaybe(j.data);\r\n                });\r\n        }\r\n\r\n        function renderRows(rows){\r\n            let html = \"\";\r\n            rows.forEach(item => {\r\n                const name  = (item && (item.name || item.Symbol || item.symbol)) || \"\";\r\n                const sellV = item && (item.Ask  ?? item.ask  ?? item.sell ?? item.Sell);\r\n                const buyV  = item && (item.Bid  ?? item.bid  ?? item.buy  ?? item.Buy);\r\n                const sellN = toNum(sellV);\r\n                const buyN  = toNum(buyV);\r\n                const sellStr = (sellV !== undefined && sellV !== null) ? String(sellV) : \"\";\r\n                const buyStr  = (buyV  !== undefined && buyV  !== null) ? String(buyV)  : \"\";\r\n                const image = (item && (item.image || item.icon || \"\")) || \"\";\r\n                const sb   = item.symbol || \"\";\r\n                let spread = \"-\";\r\n                if (Number.isFinite(sellN) && Number.isFinite(buyN)) {\r\n                    const s = sellN - buyN;\r\n                    spread = (Math.abs(s) >= 1 ? s.toFixed(2) : s.toFixed(4));\r\n                }\r\n\r\n                let buyColor = \"white\";\r\n                let buyText  = buyStr;\r\n                if (name && Number.isFinite(buyN) && previousBuyValues[name] !== undefined) {\r\n                    const prev = previousBuyValues[name];\r\n                    if (Number.isFinite(prev)) {\r\n                        if (buyN > prev) { buyColor = \"green\"; buyText = \"+\" + buyStr; }\r\n                        else if (buyN < prev) { buyColor = \"red\"; buyText = \"-\" + buyStr; }\r\n                    }\r\n                }\r\n\r\n                let sellColor = \"white\";\r\n                let sellText  = sellStr;\r\n                if (name && Number.isFinite(sellN) && previousSellValues[name] !== undefined) {\r\n                    const prev = previousSellValues[name];\r\n                    if (Number.isFinite(prev)) {\r\n                        if (sellN > prev) { sellColor = \"green\"; sellText = \"+\" + sellStr; }\r\n                        else if (sellN < prev) { sellColor = \"red\"; sellText = \"-\" + sellStr; }\r\n                    }\r\n                }\r\n\r\n                if (name) {\r\n                    previousBuyValues[name]  = buyN;\r\n                    previousSellValues[name] = sellN;\r\n                }\r\n\r\n                html += \"<tr style='border-radius: 16px; background: rgba(112, 112, 112, 0.15); backdrop-filter: blur(4px); margin-top: 10px; margin-bottom: 10px;'>\";\r\n                html += '<td class=\"name-cell\"><a href=\"\/chart\/' + encodeURIComponent(sb) + '\/\"><img decoding=\"async\" src=\"' + image + '\" alt=\"' + name + '\" \/>' + name + '<\/a><\/td>';\r\n                html += '<td class=\"sell-cell\" style=\"color: ' + sellColor + ';\">' + sellText + '<\/td>';\r\n                html += '<td class=\"buy-cell\" style=\"color: ' + buyColor + ';\">' + buyText + '<\/td>';\r\n                html += '<td class=\"sp-cell\">' + spread + '<\/td>';\r\n                html += \"<\/tr>\";\r\n            });\r\n            document.getElementById(tbodyId).innerHTML = html || \"<tr><td colspan='4'>No data<\/td><\/tr>\";\r\n        }\r\n\r\n        function updateDisplayToOriginal(){\r\n            renderRows(displayedData);\r\n        }\r\n\r\n        function handleSearch(query){\r\n            const q = (query || \"\").trim().toLowerCase();\r\n            if (!q) { updateDisplayToOriginal(); return; }\r\n\r\n            \/\/ Search across masterData if available; fallback to displayedData\r\n            const base = (masterData.length ? masterData : displayedData);\r\n            const filtered = base.filter(it => {\r\n                const nm = (it && (it.name || it.Symbol || it.symbol) || \"\").toLowerCase();\r\n                return nm.includes(q);\r\n            });\r\n            renderRows(filtered);\r\n        }\r\n\r\n        function attachSearchUI(){\r\n            if (!searchEnabled) return;\r\n\r\n            const btn = document.getElementById(searchBtnId);\r\n            const input = document.getElementById(searchInputId);\r\n            if (!btn || !input) return;\r\n\r\n            let open = false;\r\n            btn.addEventListener(\"click\", function(){\r\n                open = !open;\r\n                btn.setAttribute(\"aria-expanded\", open ? \"true\" : \"false\");\r\n                input.style.display = open ? \"block\" : \"none\";\r\n                if (open) { input.focus(); }\r\n                if (!open) { input.value = \"\"; updateDisplayToOriginal(); }\r\n            });\r\n\r\n            let t = null;\r\n            input.addEventListener(\"input\", function(){\r\n                const v = input.value;\r\n                if (t) clearTimeout(t);\r\n                t = setTimeout(() => handleSearch(v), 200);\r\n            });\r\n        }\r\n\r\n        \/\/ Initial load\r\n        Promise.all([\r\n            fetchSymbols(symbols).then(arr => { displayedData = arr || []; }).catch(() => { displayedData = []; }),\r\n            (searchEnabled && searchSymbols ? fetchSymbols(searchSymbols).then(arr => { masterData = arr || []; }).catch(() => { masterData = []; }) : Promise.resolve() )\r\n        ])\r\n        .then(() => {\r\n            renderRows(displayedData);\r\n            attachSearchUI();\r\n        })\r\n        .catch(e => {\r\n            document.getElementById(tbodyId).innerHTML = \"<tr><td colspan='4'>Error: \" + e + \"<\/td><\/tr>\";\r\n        });\r\n\r\n        \/\/ No auto-refresh by default\r\n        \/\/ setInterval(() => { \/* you can add refresh if needed *\/ }, 5000);\r\n        \r\n        \r\n        \r\n    })();\r\n    <\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div id=\"e-n-tab-content-1016360285\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-1016360285\" data-tab-index=\"5\" style=\"--n-tabs-title-order: 5;\" class=\" elementor-element elementor-element-652f5e5 e-flex e-con-boxed e-con e-child\" data-id=\"652f5e5\" 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-a99571b elementor-widget elementor-widget-shortcode\" data-id=\"a99571b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div id=\"price_list_69d2e798ae242_container\" class=\"price-list-container\">\r\n        <div id=\"price_list_69d2e798ae242_searchwrap\" class=\"price-list-search\" style=\"margin-bottom:8px; display:flex; align-items:center; gap:8px;\">\r\n            <button type=\"button\" id=\"price_list_69d2e798ae242_searchbtn\" aria-expanded=\"false\" aria-controls=\"price_list_69d2e798ae242_searchinput\" style=\"border:none;background: unset !important;\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/search-normal.svg\" \/><\/button>\r\n            <input type=\"text\" id=\"price_list_69d2e798ae242_searchinput\" placeholder=\"Search...\"  style=\"display:none; max-width:220px; padding:6px 8px; border:1px solid #ccc; border-radius:6px;\" \/>\r\n        <\/div><div class=\"table-price-sc\"><table id=\"price_list_69d2e798ae242_table\" class=\"price-list-table\" border=\"1\" cellpadding=\"5\" cellspacing=\"0\"><thead><tr>\r\n                    <th>\u0421\u0438\u043c\u0432\u043e\u043b<\/th>\r\n                    <th>\u041f\u0440\u043e\u0434\u0430\u0436\u0430<\/th>\r\n                    <th>\u041f\u043e\u043a\u0443\u043f\u043a\u0430<\/th>\r\n                    <th>\u0421\u043f\u0440\u0435\u0434<\/th>\r\n                <\/tr><\/thead><tbody id=\"price_list_69d2e798ae242_tbody\">\r\n                    <tr><td colspan=\"4\">Loading...<\/td><\/tr>\r\n                <\/tbody><\/table>\r\n    <\/div>\r\n    <\/div><script>\r\n    (function(){\r\n        const symbols         = \"xbrusd,xtiusd,xngusd\";\r\n        const searchEnabled   = true;\r\n        const searchSymbols   = \"usdjpy,eurusd,gbpusd,eurjpy,audchf,usdcad,eurcad,eurgbp,chfjpy,eurchf,audcad,eurnzd,euraud,usdchf,audjpy,gbpaud,nzdusd,gbpnzd,cadchf,usdsgd,gbpchf,cadjpy,gbpcad,nzdchf,gbpjpy,usdcnh,audusd,audnzd,nzdjpy,nzdcad,usdzar,btcusd,ethusd,xrpusd,eosusd,dshusd,ltcusd,bchusd,dotusd,lnkusd,adausd,xlmusd,bnbusd,xmrusd,iotusd,xtzusd,bsvusd,dogusd,glmusd,ksmusd,avxusd,solusd,uniusd,mtcusd,xauusd,xpdusd,xptusd,xagusd,xaueur,xaugbp,xaujpy,xauaud,xauchf,xagaud,xageur,fb,bac,dis,pg,jnj,amzn,v,aapl,nvda,wmt,pypl,jpm,msft,tsla,goog,ma,unh,hd,xbrusd,xtiusd,xngusd,us30,us500,de40,ustec,uk100,jp225,f40,stoxx50,aus200\";\r\n        const ajaxUrl         = \"https:\/\/fxtrendo.com\/wp-admin\/admin-ajax.php\";\r\n        const tbodyId         = \"price_list_69d2e798ae242_tbody\";\r\n        const nonce           = \"64cfaef835\";\r\n\r\n        const searchWrapId    = \"price_list_69d2e798ae242_searchwrap\";\r\n        const searchInputId   = \"price_list_69d2e798ae242_searchinput\";\r\n        const searchBtnId     = \"price_list_69d2e798ae242_searchbtn\";\r\n\r\n        let previousBuyValues  = {};\r\n        let previousSellValues = {};\r\n        let displayedData      = []; \/\/ data for current tab (price list)\r\n        let masterData         = []; \/\/ optional full dataset for searching across tabs\r\n\r\n        function toNum(v){\r\n            const n = parseFloat(v);\r\n            return Number.isFinite(n) ? n : NaN;\r\n        }\r\n\r\n        function normalizeArrayMaybe(data){\r\n            \/\/ Accept array or { getSymbol: [...] }\r\n            if (Array.isArray(data)) return data;\r\n            if (data && Array.isArray(data.getSymbol)) return data.getSymbol;\r\n            return [];\r\n        }\r\n\r\n        function fetchSymbols(list){\r\n            const url = ajaxUrl + \"?action=get_symbol_data&symbols=\" + encodeURIComponent(list) + \"&_ajax_nonce=\" + encodeURIComponent(nonce);\r\n            return fetch(url, { credentials: \"same-origin\" })\r\n                .then(r => r.json())\r\n                .then(j => {\r\n                    if (!j || !(\"success\" in j)) throw new Error(\"Unexpected response\");\r\n                    if (!j.success) throw new Error((j.data && j.data.message) || \"Unknown error\");\r\n                    return normalizeArrayMaybe(j.data);\r\n                });\r\n        }\r\n\r\n        function renderRows(rows){\r\n            let html = \"\";\r\n            rows.forEach(item => {\r\n                const name  = (item && (item.name || item.Symbol || item.symbol)) || \"\";\r\n                const sellV = item && (item.Ask  ?? item.ask  ?? item.sell ?? item.Sell);\r\n                const buyV  = item && (item.Bid  ?? item.bid  ?? item.buy  ?? item.Buy);\r\n                const sellN = toNum(sellV);\r\n                const buyN  = toNum(buyV);\r\n                const sellStr = (sellV !== undefined && sellV !== null) ? String(sellV) : \"\";\r\n                const buyStr  = (buyV  !== undefined && buyV  !== null) ? String(buyV)  : \"\";\r\n                const image = (item && (item.image || item.icon || \"\")) || \"\";\r\n                const sb   = item.symbol || \"\";\r\n                let spread = \"-\";\r\n                if (Number.isFinite(sellN) && Number.isFinite(buyN)) {\r\n                    const s = sellN - buyN;\r\n                    spread = (Math.abs(s) >= 1 ? s.toFixed(2) : s.toFixed(4));\r\n                }\r\n\r\n                let buyColor = \"white\";\r\n                let buyText  = buyStr;\r\n                if (name && Number.isFinite(buyN) && previousBuyValues[name] !== undefined) {\r\n                    const prev = previousBuyValues[name];\r\n                    if (Number.isFinite(prev)) {\r\n                        if (buyN > prev) { buyColor = \"green\"; buyText = \"+\" + buyStr; }\r\n                        else if (buyN < prev) { buyColor = \"red\"; buyText = \"-\" + buyStr; }\r\n                    }\r\n                }\r\n\r\n                let sellColor = \"white\";\r\n                let sellText  = sellStr;\r\n                if (name && Number.isFinite(sellN) && previousSellValues[name] !== undefined) {\r\n                    const prev = previousSellValues[name];\r\n                    if (Number.isFinite(prev)) {\r\n                        if (sellN > prev) { sellColor = \"green\"; sellText = \"+\" + sellStr; }\r\n                        else if (sellN < prev) { sellColor = \"red\"; sellText = \"-\" + sellStr; }\r\n                    }\r\n                }\r\n\r\n                if (name) {\r\n                    previousBuyValues[name]  = buyN;\r\n                    previousSellValues[name] = sellN;\r\n                }\r\n\r\n                html += \"<tr style='border-radius: 16px; background: rgba(112, 112, 112, 0.15); backdrop-filter: blur(4px); margin-top: 10px; margin-bottom: 10px;'>\";\r\n                html += '<td class=\"name-cell\"><a href=\"\/chart\/' + encodeURIComponent(sb) + '\/\"><img decoding=\"async\" src=\"' + image + '\" alt=\"' + name + '\" \/>' + name + '<\/a><\/td>';\r\n                html += '<td class=\"sell-cell\" style=\"color: ' + sellColor + ';\">' + sellText + '<\/td>';\r\n                html += '<td class=\"buy-cell\" style=\"color: ' + buyColor + ';\">' + buyText + '<\/td>';\r\n                html += '<td class=\"sp-cell\">' + spread + '<\/td>';\r\n                html += \"<\/tr>\";\r\n            });\r\n            document.getElementById(tbodyId).innerHTML = html || \"<tr><td colspan='4'>No data<\/td><\/tr>\";\r\n        }\r\n\r\n        function updateDisplayToOriginal(){\r\n            renderRows(displayedData);\r\n        }\r\n\r\n        function handleSearch(query){\r\n            const q = (query || \"\").trim().toLowerCase();\r\n            if (!q) { updateDisplayToOriginal(); return; }\r\n\r\n            \/\/ Search across masterData if available; fallback to displayedData\r\n            const base = (masterData.length ? masterData : displayedData);\r\n            const filtered = base.filter(it => {\r\n                const nm = (it && (it.name || it.Symbol || it.symbol) || \"\").toLowerCase();\r\n                return nm.includes(q);\r\n            });\r\n            renderRows(filtered);\r\n        }\r\n\r\n        function attachSearchUI(){\r\n            if (!searchEnabled) return;\r\n\r\n            const btn = document.getElementById(searchBtnId);\r\n            const input = document.getElementById(searchInputId);\r\n            if (!btn || !input) return;\r\n\r\n            let open = false;\r\n            btn.addEventListener(\"click\", function(){\r\n                open = !open;\r\n                btn.setAttribute(\"aria-expanded\", open ? \"true\" : \"false\");\r\n                input.style.display = open ? \"block\" : \"none\";\r\n                if (open) { input.focus(); }\r\n                if (!open) { input.value = \"\"; updateDisplayToOriginal(); }\r\n            });\r\n\r\n            let t = null;\r\n            input.addEventListener(\"input\", function(){\r\n                const v = input.value;\r\n                if (t) clearTimeout(t);\r\n                t = setTimeout(() => handleSearch(v), 200);\r\n            });\r\n        }\r\n\r\n        \/\/ Initial load\r\n        Promise.all([\r\n            fetchSymbols(symbols).then(arr => { displayedData = arr || []; }).catch(() => { displayedData = []; }),\r\n            (searchEnabled && searchSymbols ? fetchSymbols(searchSymbols).then(arr => { masterData = arr || []; }).catch(() => { masterData = []; }) : Promise.resolve() )\r\n        ])\r\n        .then(() => {\r\n            renderRows(displayedData);\r\n            attachSearchUI();\r\n        })\r\n        .catch(e => {\r\n            document.getElementById(tbodyId).innerHTML = \"<tr><td colspan='4'>Error: \" + e + \"<\/td><\/tr>\";\r\n        });\r\n\r\n        \/\/ No auto-refresh by default\r\n        \/\/ setInterval(() => { \/* you can add refresh if needed *\/ }, 5000);\r\n        \r\n        \r\n        \r\n    })();\r\n    <\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div id=\"e-n-tab-content-1016360286\" role=\"tabpanel\" aria-labelledby=\"e-n-tab-title-1016360286\" data-tab-index=\"6\" style=\"--n-tabs-title-order: 6;\" class=\" elementor-element elementor-element-19f4eba e-flex e-con-boxed e-con e-child\" data-id=\"19f4eba\" 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-a8444c3 elementor-widget elementor-widget-shortcode\" data-id=\"a8444c3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div id=\"price_list_69d2e798ae49e_container\" class=\"price-list-container\">\r\n        <div id=\"price_list_69d2e798ae49e_searchwrap\" class=\"price-list-search\" style=\"margin-bottom:8px; display:flex; align-items:center; gap:8px;\">\r\n            <button type=\"button\" id=\"price_list_69d2e798ae49e_searchbtn\" aria-expanded=\"false\" aria-controls=\"price_list_69d2e798ae49e_searchinput\" style=\"border:none;background: unset !important;\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/search-normal.svg\" \/><\/button>\r\n            <input type=\"text\" id=\"price_list_69d2e798ae49e_searchinput\" placeholder=\"Search...\"  style=\"display:none; max-width:220px; padding:6px 8px; border:1px solid #ccc; border-radius:6px;\" \/>\r\n        <\/div><div class=\"table-price-sc\"><table id=\"price_list_69d2e798ae49e_table\" class=\"price-list-table\" border=\"1\" cellpadding=\"5\" cellspacing=\"0\"><thead><tr>\r\n                    <th>\u0421\u0438\u043c\u0432\u043e\u043b<\/th>\r\n                    <th>\u041f\u0440\u043e\u0434\u0430\u0436\u0430<\/th>\r\n                    <th>\u041f\u043e\u043a\u0443\u043f\u043a\u0430<\/th>\r\n                    <th>\u0421\u043f\u0440\u0435\u0434<\/th>\r\n                <\/tr><\/thead><tbody id=\"price_list_69d2e798ae49e_tbody\">\r\n                    <tr><td colspan=\"4\">Loading...<\/td><\/tr>\r\n                <\/tbody><\/table>\r\n    <\/div>\r\n    <\/div><script>\r\n    (function(){\r\n        const symbols         = \"us30,us500,de40,ustec,uk100,jp225,f40,stoxx50,aus200\";\r\n        const searchEnabled   = true;\r\n        const searchSymbols   = \"usdjpy,eurusd,gbpusd,eurjpy,audchf,usdcad,eurcad,eurgbp,chfjpy,eurchf,audcad,eurnzd,euraud,usdchf,audjpy,gbpaud,nzdusd,gbpnzd,cadchf,usdsgd,gbpchf,cadjpy,gbpcad,nzdchf,gbpjpy,usdcnh,audusd,audnzd,nzdjpy,nzdcad,usdzar,btcusd,ethusd,xrpusd,eosusd,dshusd,ltcusd,bchusd,dotusd,lnkusd,adausd,xlmusd,bnbusd,xmrusd,iotusd,xtzusd,bsvusd,dogusd,glmusd,ksmusd,avxusd,solusd,uniusd,mtcusd,xauusd,xpdusd,xptusd,xagusd,xaueur,xaugbp,xaujpy,xauaud,xauchf,xagaud,xageur,fb,bac,dis,pg,jnj,amzn,v,aapl,nvda,wmt,pypl,jpm,msft,tsla,goog,ma,unh,hd,xbrusd,xtiusd,xngusd,us30,us500,de40,ustec,uk100,jp225,f40,stoxx50,aus200\";\r\n        const ajaxUrl         = \"https:\/\/fxtrendo.com\/wp-admin\/admin-ajax.php\";\r\n        const tbodyId         = \"price_list_69d2e798ae49e_tbody\";\r\n        const nonce           = \"64cfaef835\";\r\n\r\n        const searchWrapId    = \"price_list_69d2e798ae49e_searchwrap\";\r\n        const searchInputId   = \"price_list_69d2e798ae49e_searchinput\";\r\n        const searchBtnId     = \"price_list_69d2e798ae49e_searchbtn\";\r\n\r\n        let previousBuyValues  = {};\r\n        let previousSellValues = {};\r\n        let displayedData      = []; \/\/ data for current tab (price list)\r\n        let masterData         = []; \/\/ optional full dataset for searching across tabs\r\n\r\n        function toNum(v){\r\n            const n = parseFloat(v);\r\n            return Number.isFinite(n) ? n : NaN;\r\n        }\r\n\r\n        function normalizeArrayMaybe(data){\r\n            \/\/ Accept array or { getSymbol: [...] }\r\n            if (Array.isArray(data)) return data;\r\n            if (data && Array.isArray(data.getSymbol)) return data.getSymbol;\r\n            return [];\r\n        }\r\n\r\n        function fetchSymbols(list){\r\n            const url = ajaxUrl + \"?action=get_symbol_data&symbols=\" + encodeURIComponent(list) + \"&_ajax_nonce=\" + encodeURIComponent(nonce);\r\n            return fetch(url, { credentials: \"same-origin\" })\r\n                .then(r => r.json())\r\n                .then(j => {\r\n                    if (!j || !(\"success\" in j)) throw new Error(\"Unexpected response\");\r\n                    if (!j.success) throw new Error((j.data && j.data.message) || \"Unknown error\");\r\n                    return normalizeArrayMaybe(j.data);\r\n                });\r\n        }\r\n\r\n        function renderRows(rows){\r\n            let html = \"\";\r\n            rows.forEach(item => {\r\n                const name  = (item && (item.name || item.Symbol || item.symbol)) || \"\";\r\n                const sellV = item && (item.Ask  ?? item.ask  ?? item.sell ?? item.Sell);\r\n                const buyV  = item && (item.Bid  ?? item.bid  ?? item.buy  ?? item.Buy);\r\n                const sellN = toNum(sellV);\r\n                const buyN  = toNum(buyV);\r\n                const sellStr = (sellV !== undefined && sellV !== null) ? String(sellV) : \"\";\r\n                const buyStr  = (buyV  !== undefined && buyV  !== null) ? String(buyV)  : \"\";\r\n                const image = (item && (item.image || item.icon || \"\")) || \"\";\r\n                const sb   = item.symbol || \"\";\r\n                let spread = \"-\";\r\n                if (Number.isFinite(sellN) && Number.isFinite(buyN)) {\r\n                    const s = sellN - buyN;\r\n                    spread = (Math.abs(s) >= 1 ? s.toFixed(2) : s.toFixed(4));\r\n                }\r\n\r\n                let buyColor = \"white\";\r\n                let buyText  = buyStr;\r\n                if (name && Number.isFinite(buyN) && previousBuyValues[name] !== undefined) {\r\n                    const prev = previousBuyValues[name];\r\n                    if (Number.isFinite(prev)) {\r\n                        if (buyN > prev) { buyColor = \"green\"; buyText = \"+\" + buyStr; }\r\n                        else if (buyN < prev) { buyColor = \"red\"; buyText = \"-\" + buyStr; }\r\n                    }\r\n                }\r\n\r\n                let sellColor = \"white\";\r\n                let sellText  = sellStr;\r\n                if (name && Number.isFinite(sellN) && previousSellValues[name] !== undefined) {\r\n                    const prev = previousSellValues[name];\r\n                    if (Number.isFinite(prev)) {\r\n                        if (sellN > prev) { sellColor = \"green\"; sellText = \"+\" + sellStr; }\r\n                        else if (sellN < prev) { sellColor = \"red\"; sellText = \"-\" + sellStr; }\r\n                    }\r\n                }\r\n\r\n                if (name) {\r\n                    previousBuyValues[name]  = buyN;\r\n                    previousSellValues[name] = sellN;\r\n                }\r\n\r\n                html += \"<tr style='border-radius: 16px; background: rgba(112, 112, 112, 0.15); backdrop-filter: blur(4px); margin-top: 10px; margin-bottom: 10px;'>\";\r\n                html += '<td class=\"name-cell\"><a href=\"\/chart\/' + encodeURIComponent(sb) + '\/\"><img decoding=\"async\" src=\"' + image + '\" alt=\"' + name + '\" \/>' + name + '<\/a><\/td>';\r\n                html += '<td class=\"sell-cell\" style=\"color: ' + sellColor + ';\">' + sellText + '<\/td>';\r\n                html += '<td class=\"buy-cell\" style=\"color: ' + buyColor + ';\">' + buyText + '<\/td>';\r\n                html += '<td class=\"sp-cell\">' + spread + '<\/td>';\r\n                html += \"<\/tr>\";\r\n            });\r\n            document.getElementById(tbodyId).innerHTML = html || \"<tr><td colspan='4'>No data<\/td><\/tr>\";\r\n        }\r\n\r\n        function updateDisplayToOriginal(){\r\n            renderRows(displayedData);\r\n        }\r\n\r\n        function handleSearch(query){\r\n            const q = (query || \"\").trim().toLowerCase();\r\n            if (!q) { updateDisplayToOriginal(); return; }\r\n\r\n            \/\/ Search across masterData if available; fallback to displayedData\r\n            const base = (masterData.length ? masterData : displayedData);\r\n            const filtered = base.filter(it => {\r\n                const nm = (it && (it.name || it.Symbol || it.symbol) || \"\").toLowerCase();\r\n                return nm.includes(q);\r\n            });\r\n            renderRows(filtered);\r\n        }\r\n\r\n        function attachSearchUI(){\r\n            if (!searchEnabled) return;\r\n\r\n            const btn = document.getElementById(searchBtnId);\r\n            const input = document.getElementById(searchInputId);\r\n            if (!btn || !input) return;\r\n\r\n            let open = false;\r\n            btn.addEventListener(\"click\", function(){\r\n                open = !open;\r\n                btn.setAttribute(\"aria-expanded\", open ? \"true\" : \"false\");\r\n                input.style.display = open ? \"block\" : \"none\";\r\n                if (open) { input.focus(); }\r\n                if (!open) { input.value = \"\"; updateDisplayToOriginal(); }\r\n            });\r\n\r\n            let t = null;\r\n            input.addEventListener(\"input\", function(){\r\n                const v = input.value;\r\n                if (t) clearTimeout(t);\r\n                t = setTimeout(() => handleSearch(v), 200);\r\n            });\r\n        }\r\n\r\n        \/\/ Initial load\r\n        Promise.all([\r\n            fetchSymbols(symbols).then(arr => { displayedData = arr || []; }).catch(() => { displayedData = []; }),\r\n            (searchEnabled && searchSymbols ? fetchSymbols(searchSymbols).then(arr => { masterData = arr || []; }).catch(() => { masterData = []; }) : Promise.resolve() )\r\n        ])\r\n        .then(() => {\r\n            renderRows(displayedData);\r\n            attachSearchUI();\r\n        })\r\n        .catch(e => {\r\n            document.getElementById(tbodyId).innerHTML = \"<tr><td colspan='4'>Error: \" + e + \"<\/td><\/tr>\";\r\n        });\r\n\r\n        \/\/ No auto-refresh by default\r\n        \/\/ setInterval(() => { \/* you can add refresh if needed *\/ }, 5000);\r\n        \r\n        \r\n        \r\n    })();\r\n    <\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\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\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e88ace0 e-flex e-con-boxed e-con e-parent\" data-id=\"e88ace0\" 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-50a4181 elementor-widget elementor-widget-heading\" data-id=\"50a4181\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u0426\u0435\u043d\u044b \u0430\u043a\u0442\u0438\u0432\u043e\u0432 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043c\u0438\u0440\u043e\u0432\u044b\u0445 \u0440\u044b\u043d\u043a\u0430\u0445<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-29bcddc elementor-widget elementor-widget-text-editor\" data-id=\"29bcddc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u043a\u043e\u0442\u0438\u0440\u043e\u0432\u043a\u0430\u043c \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u2014 \u043e\u0434\u043d\u043e \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u0440\u0435\u0439\u0434\u0435\u0440\u043e\u0432. \u0412 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0442\u043e\u0447\u043d\u044b\u0435 \u0438 \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0446\u0435\u043d\u044b \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u044b: \u0432\u0430\u043b\u044e\u0442\u043d\u044b\u0435 \u043f\u0430\u0440\u044b, \u0437\u043e\u043b\u043e\u0442\u043e, \u043d\u0435\u0444\u0442\u044c, \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b, \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0438 \u0430\u043a\u0446\u0438\u0438. \u042d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u0441\u0432\u043e\u0435\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u044b\u043d\u043e\u0447\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u044b\u0442\u044c \u043d\u0430 \u0448\u0430\u0433 \u0432\u043f\u0435\u0440\u0435\u0434\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0446\u0435\u043d.<\/p>\t\t\t\t\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-286ec85 e-flex e-con-boxed e-con e-parent\" data-id=\"286ec85\" 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-42cd94d elementor-widget elementor-widget-heading\" data-id=\"42cd94d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u041f\u043e\u0447\u0435\u043c\u0443 \u0446\u0435\u043d\u044b \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0442 Trendo \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f9d4ef2 elementor-widget elementor-widget-text-editor\" data-id=\"f9d4ef2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043a\u043e\u0442\u0438\u0440\u043e\u0432\u043e\u043a Trendo \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u0430\u043c \u043b\u0438\u043a\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u0438, \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0441\u0432\u0435\u0440\u0445\u0431\u044b\u0441\u0442\u0440\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u043e\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 100 \u0442\u043e\u0440\u0433\u0443\u0435\u043c\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u042d\u0442\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u0435 \u0438 \u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0441\u043a\u0430\u043b\u044c\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0446\u0435\u043d\u044b \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0440\u0438\u0441\u043a\u0430\u043c\u0438.<\/p>\t\t\t\t\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-da849dc e-flex e-con-boxed e-con e-parent\" data-id=\"da849dc\" 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-6b5a7de e-con-full e-flex e-con e-child\" data-id=\"6b5a7de\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-392a791 min-box-he elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"392a791\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\"><g id=\"vuesax\/bulk\/mobile\"><g id=\"mobile\"><path id=\"Vector\" opacity=\"0.4\" d=\"M32.48 4H15.52C10 4 8 6 8 11.62V36.38C8 42 10 44 15.52 44H32.46C38 44 40 42 40 36.38V11.62C40 6 38 4 32.48 4Z\" fill=\"#00B781\"><\/path><path id=\"Vector_2\" d=\"M28 12.5H20C19.18 12.5 18.5 11.82 18.5 11C18.5 10.18 19.18 9.5 20 9.5H28C28.82 9.5 29.5 10.18 29.5 11C29.5 11.82 28.82 12.5 28 12.5Z\" fill=\"white\"><\/path><path id=\"Vector_3\" d=\"M24 38.5996C25.933 38.5996 27.5 37.0326 27.5 35.0996C27.5 33.1666 25.933 31.5996 24 31.5996C22.067 31.5996 20.5 33.1666 20.5 35.0996C20.5 37.0326 22.067 38.5996 24 38.5996Z\" fill=\"white\"><\/path><\/g><\/g><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\t\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t\u041a\u043e\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0442 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043e\u0442 \u043f\u043e\u0441\u0442\u0430\u0432\u0449\u0438\u043a\u043e\u0432 \u043b\u0438\u043a\u0432\u0438\u0434\u043d\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u0431\u0435\u0437 \u043f\u043e\u0441\u0440\u0435\u0434\u043d\u0438\u043a\u043e\u0432. \u041a\u0430\u0436\u0434\u044b\u0439 \u0442\u0438\u043a \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u044b \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0443\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0442\u043e\u0440\u0433\u043e\u0432\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7a32665 e-con-full e-flex e-con e-child\" data-id=\"7a32665\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-182c0cb min-box-he elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"182c0cb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\"><g id=\"vuesax\/bulk\/shield-tick\"><g id=\"shield-tick\"><path id=\"Vector\" opacity=\"0.4\" d=\"M21.9216 4.12016L10.9216 8.24016C8.82156 9.04016 7.10156 11.5202 7.10156 13.7802V29.9802C7.10156 31.6002 8.16156 33.7402 9.46156 34.7002L20.4616 42.9202C22.4016 44.3802 25.5816 44.3802 27.5216 42.9202L38.5216 34.7002C39.8216 33.7202 40.8816 31.6002 40.8816 29.9802V13.7802C40.8816 11.5402 39.1616 9.04016 37.0616 8.26016L26.0616 4.14016C24.9416 3.70016 23.0616 3.70016 21.9216 4.12016Z\" fill=\"#00B781\"><\/path><path id=\"Vector_2\" d=\"M21.3166 28.4602C20.9366 28.4602 20.5566 28.3202 20.2566 28.0202L17.0366 24.8002C16.4566 24.2202 16.4566 23.2602 17.0366 22.6802C17.6166 22.1002 18.5766 22.1002 19.1566 22.6802L21.3166 24.8402L28.8566 17.3002C29.4366 16.7202 30.3966 16.7202 30.9766 17.3002C31.5566 17.8802 31.5566 18.8402 30.9766 19.4202L22.3766 28.0202C22.0766 28.3202 21.6966 28.4602 21.3166 28.4602Z\" fill=\"white\"><\/path><\/g><\/g><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\t\u0411\u043e\u043b\u0435\u0435 100 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0432 \u043e\u0434\u043d\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t\n\n\u0412\u0441\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0438 \u0432\u0442\u043e\u0440\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u044b\u0435 \u0432\u0430\u043b\u044e\u0442\u043d\u044b\u0435 \u043f\u0430\u0440\u044b, \u0434\u0440\u0430\u0433\u043e\u0446\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u0430\u043b\u043b\u044b, \u044d\u043d\u0435\u0440\u0433\u043e\u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u0438\u043d\u0434\u0435\u043a\u0441\u044b, \u0430\u043a\u0446\u0438\u0438 \u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u0432 \u0435\u0434\u0438\u043d\u043e\u043c \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u0435, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u0439 \u043f\u043e\u0440\u0442\u0444\u0435\u043b\u044c \u0432 \u043e\u0434\u043d\u043e\u043c \u043e\u043a\u043d\u0435.\n\n\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5e56587 e-con-full e-flex e-con e-child\" data-id=\"5e56587\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-407ef40 min-box-he elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"407ef40\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\"><g id=\"vuesax\/bulk\/chart\"><g id=\"chart\"><g id=\"chart_2\"><path id=\"Vector\" opacity=\"0.4\" d=\"M32.38 4H15.62C8.34 4 4 8.34 4 15.62V32.36C4 39.66 8.34 44 15.62 44H32.36C39.64 44 43.98 39.66 43.98 32.38V15.62C44 8.34 39.66 4 32.38 4Z\" fill=\"#00B781\"><\/path><path id=\"Vector_2\" d=\"M14 28.6998C13.18 28.6998 12.5 28.0198 12.5 27.1998V20.7998C12.5 19.9798 13.18 19.2998 14 19.2998C14.82 19.2998 15.5 19.9798 15.5 20.7998V27.2198C15.5 28.0398 14.82 28.6998 14 28.6998Z\" fill=\"white\"><\/path><path id=\"Vector_3\" d=\"M24 32.1803C23.18 32.1803 22.5 31.5003 22.5 30.6803V17.3203C22.5 16.5003 23.18 15.8203 24 15.8203C24.82 15.8203 25.5 16.5003 25.5 17.3203V30.6803C25.5 31.5003 24.82 32.1803 24 32.1803Z\" fill=\"white\"><\/path><path id=\"Vector_4\" d=\"M34 28.6998C33.18 28.6998 32.5 28.0198 32.5 27.1998V20.7998C32.5 19.9798 33.18 19.2998 34 19.2998C34.82 19.2998 35.5 19.9798 35.5 20.7998V27.2198C35.5 28.0398 34.82 28.6998 34 28.6998Z\" fill=\"white\"><\/path><\/g><\/g><\/g><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\t\u041f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u0435 \u0438 \u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t\u041a\u043e\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0431\u0435\u0437 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0439, \u0441 \u043f\u043e\u043b\u043d\u043e\u0439 \u0433\u043b\u0443\u0431\u0438\u043d\u043e\u0439 \u0440\u044b\u043d\u043a\u0430, \u043f\u043e\u043b\u043d\u044b\u043c \u0430\u0440\u0445\u0438\u0432\u043e\u043c \u0446\u0435\u043d \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u043c\u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u043c\u0438 \u2014 \u0432\u0441\u0451 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b\u0438 \u0442\u043e\u0440\u0433\u043e\u0432\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\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-9968aec e-flex e-con-boxed e-con e-parent\" data-id=\"9968aec\" 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-5f2467b elementor-widget elementor-widget-heading\" data-id=\"5f2467b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u0413\u043e\u0442\u043e\u0432\u044b \u043d\u0430\u0447\u0430\u0442\u044c \u0442\u043e\u0440\u0433\u043e\u0432\u0430\u0442\u044c \u0441 Trendo?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-664f894 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"664f894\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0439\u0442\u0435\u0441\u044c \u0437\u0430 \u043c\u0438\u043d\u0443\u0442\u0443 \u0438 \u043d\u0430\u0447\u043d\u0438\u0442\u0435 \u0442\u043e\u0440\u0433\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u043d\u0430\u0448\u0435\u0439 \u044d\u043a\u0441\u043a\u043b\u044e\u0437\u0438\u0432\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435.<\/span>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0ca5de6 elementor-align-right elementor-mobile-align-center cutomicon elementor-widget elementor-widget-button\" data-id=\"0ca5de6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><g id=\"vuesax\/outline\/arrow-right\"><g id=\"arrow-right\"><path id=\"Vector\" d=\"M14.4291 18.8201C14.2391 18.8201 14.0491 18.7501 13.8991 18.6001C13.6091 18.3101 13.6091 17.8301 13.8991 17.5401L19.4391 12.0001L13.8991 6.46012C13.6091 6.17012 13.6091 5.69012 13.8991 5.40012C14.1891 5.11012 14.6691 5.11012 14.9591 5.40012L21.0291 11.4701C21.3191 11.7601 21.3191 12.2401 21.0291 12.5301L14.9591 18.6001C14.8091 18.7501 14.6191 18.8201 14.4291 18.8201Z\" fill=\"white\"><\/path><path id=\"Vector_2\" d=\"M20.33 12.75H3.5C3.09 12.75 2.75 12.41 2.75 12C2.75 11.59 3.09 11.25 3.5 11.25H20.33C20.74 11.25 21.08 11.59 21.08 12C21.08 12.41 20.74 12.75 20.33 12.75Z\" fill=\"white\"><\/path><\/g><\/g><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0441\u0447\u0451\u0442<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e0e41c elementor-align-left elementor-mobile-align-center cutomicon elementor-widget elementor-widget-button\" data-id=\"8e0e41c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\"><g id=\"vuesax\/outline\/arrow-right\"><g id=\"arrow-right\"><path id=\"Vector\" d=\"M14.4291 19.3191C14.2391 19.3191 14.0491 19.2491 13.8991 19.0991C13.6091 18.8091 13.6091 18.3291 13.8991 18.0391L19.4391 12.4991L13.8991 6.95914C13.6091 6.66914 13.6091 6.18914 13.8991 5.89914C14.1891 5.60914 14.6691 5.60914 14.9591 5.89914L21.0291 11.9691C21.3191 12.2591 21.3191 12.7391 21.0291 13.0291L14.9591 19.0991C14.8091 19.2491 14.6191 19.3191 14.4291 19.3191Z\" fill=\"#00B781\"><\/path><path id=\"Vector_2\" d=\"M20.33 13.25H3.5C3.09 13.25 2.75 12.91 2.75 12.5C2.75 12.09 3.09 11.75 3.5 11.75H20.33C20.74 11.75 21.08 12.09 21.08 12.5C21.08 12.91 20.74 13.25 20.33 13.25Z\" fill=\"#00B781\"><\/path><\/g><\/g><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">\u0414\u0435\u043c\u043e-\u0441\u0447\u0451\u0442<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\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>\u0426\u0435\u043d\u044b \u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u044b \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0412 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0442\u044c \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0448\u0438\u0440\u043e\u043a\u043e\u0433\u043e \u0441\u043f\u0435\u043a\u0442\u0440\u0430 \u0430\u043a\u0442\u0438\u0432\u043e\u0432: \u0432\u0430\u043b\u044e\u0442\u043d\u044b\u0445 \u043f\u0430\u0440 (\u0444\u043e\u0440\u0435\u043a\u0441), \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442, \u0434\u0440\u0430\u0433\u043e\u0446\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u0430\u043b\u043b\u043e\u0432, \u044d\u043d\u0435\u0440\u0433\u043e\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u0435\u0439, \u0444\u043e\u043d\u0434\u043e\u0432\u044b\u0445 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0445 \u0430\u043a\u0446\u0438\u0439. \u0424\u043e\u0440\u0435\u043a\u0441 \u041a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b \u041c\u0435\u0442\u0430\u043b\u043b\u044b \u0410\u043a\u0446\u0438\u0438 \u042d\u043d\u0435\u0440\u0433\u0435\u0442\u0438\u043a\u0430 \u0418\u043d\u0434\u0435\u043a\u0441\u044b Symbol Sell Buy Spread Loading&#8230; Symbol Sell Buy Spread Loading&#8230; Symbol Sell Buy Spread Loading&#8230; Symbol Sell Buy Spread Loading&#8230; [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":48917,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"fxtrendo_post_editor":0,"footnotes":""},"class_list":["post-57892","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"fxtrendo_editor":0,"_links":{"self":[{"href":"https:\/\/fxtrendo.com\/ru\/wp-json\/wp\/v2\/pages\/57892","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fxtrendo.com\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fxtrendo.com\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fxtrendo.com\/ru\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/fxtrendo.com\/ru\/wp-json\/wp\/v2\/comments?post=57892"}],"version-history":[{"count":1,"href":"https:\/\/fxtrendo.com\/ru\/wp-json\/wp\/v2\/pages\/57892\/revisions"}],"predecessor-version":[{"id":57896,"href":"https:\/\/fxtrendo.com\/ru\/wp-json\/wp\/v2\/pages\/57892\/revisions\/57896"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fxtrendo.com\/ru\/wp-json\/wp\/v2\/media\/48917"}],"wp:attachment":[{"href":"https:\/\/fxtrendo.com\/ru\/wp-json\/wp\/v2\/media?parent=57892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}