"<!DOCTYPE html>\n<html lang=\"en-US\">\n<head>\n\t<meta charset=\"UTF-8\">\n\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\t<link rel=\"shortcut icon\" href=\"/web/favicon.ico\" type=\"image/x-icon\">\n\t<meta name=\"yandex-verification\" content=\"928f328a2dc90a83\" />\n\t\t<title>About</title>\n\t\n\t<link href=\"/css/new.css?v4\" rel=\"stylesheet\">\n\n\t\n\t<script src=\"https://code.jquery.com/jquery-3.6.0.min.js\" integrity=\"sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=\" crossorigin=\"anonymous\"></script>\n\t<!-- <script src=\"/js/jquery-3.3.1.min.js\" type=\"text/javascript\"></script> -->\n\t<script src=\"/js/js.cookie.js\" type=\"text/javascript\"></script>\n\t<script src=\"/js/jquery-ui.js\" type=\"text/javascript\"></script>\n</head>\n<body>\n\t\t\t<div class=\"alert\"><h4></h4><p></p><div class=\"close\"><svg class=\"f-wht\"><use xlink:href=\"/images/sprite.svg#ico-no\"></use></svg></div></div>\n\t\n\n\t<div class=\"wrap\">\n\t\t<div class=\"left-bar\">\n\t\t\t\n\t\t\t\n\n\t\t\t<div class=\"navbar-header\">\n\t\t\t\t<a class=\"navbar-brand\" href=\"/order\"><img src=\"/images/logo.svg\"><span></span></a>\n\t\t\t</div>\n\n\n\t\t\t<div class=\"collapse navbar-collapse\">\n\t\t\t\t<ul class=\"nav\"><li><a href=\"/site/login\">Вход</a></li></ul>\t\t\t</div>\n\n\t\t\t<div class=\"footer\">\n\t\t\t\t<!-- <a class=\"support\" href=\"/site/support\">Техподдержка</a> -->\n\t\t\t\t<p class=\"copyright\">&copy; TahoCRM 2026</p>\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t\n\t\t<div class=\"content\">\n\t\t\t<div class=\"site-about\">\n    <h1>About</h1>\n\n    <p>\n        This is the About page. You may modify the following file to customize its content:\n    </p>\n\n    <code>/var/www/dev/html/views/site/about.php</code>\n</div>\n\t\t</div>\n\t</div>\n\n\t<div id=\"yii-debug-toolbar\" data-url=\"/debug/default/toolbar?tag=69d6c76f24b00\" data-skip-urls=\"[]\" style=\"display:none\" class=\"yii-debug-toolbar-bottom\"></div><style>#yii-debug-toolbar-logo{position:fixed;right:31px;bottom:4px}@media print{.yii-debug-toolbar{display:none !important}}.yii-debug-toolbar{font:11px Verdana, Arial, sans-serif;text-align:left;width:96px;transition:width .3s ease;z-index:1000000}.yii-debug-toolbar.yii-debug-toolbar_active:not(.yii-debug-toolbar_animating) .yii-debug-toolbar__bar{overflow:visible;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.yii-debug-toolbar.yii-debug-toolbar_iframe_active:not(.yii-debug-toolbar_animating) .yii-debug-toolbar__resize-handle{display:block;height:4px;cursor:ns-resize;margin-bottom:0;z-index:1000001;position:absolute;left:0;right:0}.yii-debug-toolbar:not(.yii-debug-toolbar_active) .yii-debug-toolbar__bar,.yii-debug-toolbar.yii-debug-toolbar_animating .yii-debug-toolbar__bar{height:40px}.yii-debug-toolbar_active{width:100%}.yii-debug-toolbar_active .yii-debug-toolbar__toggle-icon{-webkit-transform:rotate(0);transform:rotate(0)}.yii-debug-toolbar_position_top{margin:0 0 20px 0;width:100%}.yii-debug-toolbar_position_bottom{position:fixed;right:0;bottom:0;margin:0}.yii-debug-toolbar__bar{position:relative;padding:0;font:11px Verdana, Arial, sans-serif;text-align:left;overflow:hidden;box-sizing:content-box;display:flex;flex-wrap:wrap;background:#fff;background:-moz-linear-gradient(top, #fff 0%, #f7f7f7 100%);background:-webkit-linear-gradient(top, #fff 0%, #f7f7f7 100%);background:linear-gradient(to bottom, #fff 0%, #f7f7f7 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f7f7f7', GradientType=0);border:1px solid rgba(0,0,0,0.11);direction:ltr}.yii-debug-toolbar__bar::after{content:'';display:table;clear:both}.yii-debug-toolbar__view{height:0;overflow:hidden;background:white}.yii-debug-toolbar__view iframe{margin:0;padding:10px 0 0;height:100%;width:100%;border:0}.yii-debug-toolbar_iframe_active .yii-debug-toolbar__view{height:100%}.yii-debug-toolbar_iframe_active .yii-debug-toolbar__toggle-icon{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.yii-debug-toolbar_iframe_active .yii-debug-toolbar__external{display:block}.yii-debug-toolbar_iframe_animating .yii-debug-toolbar__view{transition:height .3s ease}.yii-debug-toolbar__block{margin:0;border-right:1px solid rgba(0,0,0,0.11);border-bottom:1px solid rgba(0,0,0,0.11);padding:4px 8px;line-height:32px;white-space:nowrap}@media (max-width: 767.98px){.yii-debug-toolbar__block{flex-grow:1;text-align:center}}.yii-debug-toolbar__block a{display:inline-block;text-decoration:none;color:black}.yii-debug-toolbar__block img{vertical-align:middle;width:30px;height:30px}.yii-debug-toolbar__block_active,.yii-debug-toolbar__ajax:hover{background:#f7f7f7;background:-moz-linear-gradient(top, #f7f7f7 0%, #e0e0e0 100%);background:-webkit-linear-gradient(top, #f7f7f7 0%, #e0e0e0 100%);background:linear-gradient(to bottom, #f7f7f7 0%, #e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7f7f7', endColorstr='#e0e0e0', GradientType=0)}.yii-debug-toolbar__label{display:inline-block;padding:2px 4px;font-size:12px;font-weight:normal;line-height:14px;white-space:nowrap;vertical-align:middle;max-width:100px;overflow-x:hidden;text-overflow:ellipsis;color:#ffffff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#737373;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.yii-debug-toolbar__label:empty{display:none}a.yii-debug-toolbar__label:hover,a.yii-debug-toolbar__label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.yii-debug-toolbar__label_important,.yii-debug-toolbar__label_error{background-color:#b94a48}.yii-debug-toolbar__label_important[href]{background-color:#953b39}.yii-debug-toolbar__label_warning,.yii-debug-toolbar__badge_warning{background-color:#f89406}.yii-debug-toolbar__label_warning[href]{background-color:#c67605}.yii-debug-toolbar__label_success{background-color:#217822}.yii-debug-toolbar__label_success[href]{background-color:#356635}.yii-debug-toolbar__label_info{background-color:#0b72b8}.yii-debug-toolbar__label_info[href]{background-color:#2d6987}.yii-debug-toolbar__label_inverse,.yii-debug-toolbar__badge_inverse{background-color:#333333}.yii-debug-toolbar__label_inverse[href],.yii-debug-toolbar__badge_inverse[href]{background-color:#1a1a1a}.yii-debug-toolbar__title{background:#f7f7f7;background:-moz-linear-gradient(top, #f7f7f7 0%, #e0e0e0 100%);background:-webkit-linear-gradient(top, #f7f7f7 0%, #e0e0e0 100%);background:linear-gradient(to bottom, #f7f7f7 0%, #e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7f7f7', endColorstr='#e0e0e0', GradientType=0)}.yii-debug-toolbar__block_last{width:80px;height:40px;float:left}.yii-debug-toolbar__toggle,.yii-debug-toolbar__external{cursor:pointer;position:absolute;width:30px;height:30px;font-size:25px;font-weight:100;line-height:28px;color:#ffffff;text-align:center;opacity:0.5;filter:alpha(opacity=50);transition:opacity .3s ease}.yii-debug-toolbar__toggle:hover,.yii-debug-toolbar__toggle:focus,.yii-debug-toolbar__external:hover,.yii-debug-toolbar__external:focus{color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.yii-debug-toolbar__toggle-icon,.yii-debug-toolbar__external-icon{display:inline-block;background-position:50% 50%;background-repeat:no-repeat}.yii-debug-toolbar__toggle{right:10px;bottom:4px}.yii-debug-toolbar__toggle-icon{padding:7px 0;width:10px;height:16px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDUwIDUwIj48cGF0aCBmaWxsPSIjNDQ0IiBkPSJNMTUuNTYzIDQwLjgzNmEuOTk3Ljk5NyAwIDAgMCAxLjQxNCAwbDE1LTE1YTEgMSAwIDAgMCAwLTEuNDE0bC0xNS0xNWExIDEgMCAwIDAtMS40MTQgMS40MTRMMjkuODU2IDI1LjEzIDE1LjU2MyAzOS40MmExIDEgMCAwIDAgMCAxLjQxNHoiLz48L3N2Zz4=\");transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.yii-debug-toolbar__external{display:none;right:50px;bottom:4px}.yii-debug-toolbar__external-icon{padding:8px 0;width:14px;height:14px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDUwIDUwIj48cGF0aCBmaWxsPSIjNDQ0IiBkPSJNMzkuNjQyIDkuNzIyYTEuMDEgMS4wMSAwIDAgMC0uMzgyLS4wNzdIMjguMTAzYTEgMSAwIDAgMCAwIDJoOC43NDNMMjEuNyAyNi43OWExIDEgMCAwIDAgMS40MTQgMS40MTVMMzguMjYgMTMuMDZ2OC43NDNhMSAxIDAgMCAwIDIgMFYxMC42NDZhMS4wMDUgMS4wMDUgMCAwIDAtLjYxOC0uOTI0eiIvPjxwYXRoIGQ9Ik0zOS4yNiAyNy45ODVhMSAxIDAgMCAwLTEgMXYxMC42NmgtMjh2LTI4aDEwLjY4M2ExIDEgMCAwIDAgMC0ySDkuMjZhMSAxIDAgMCAwLTEgMXYzMGExIDEgMCAwIDAgMSAxaDMwYTEgMSAwIDAgMCAxLTF2LTExLjY2YTEgMSAwIDAgMC0xLTF6Ii8+PC9zdmc+\")}.yii-debug-toolbar__switch-icon{margin-left:10px;padding:5px 10px;width:18px;height:18px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDUwIDUwIiB2ZXJzaW9uPSIxLjEiPjxwYXRoIGQ9Im00MS4xIDIzYy0wLjYgMC0xIDAuNC0xIDF2MTAuN2wtMjUuNi0wLjFjMCAwIDAtMiAwLTIuOCAwLTAuOC0wLjctMS0xLTAuNmwtMy41IDMuNWMtMC42IDAuNi0wLjYgMS4zIDAgMmwzLjQgMy40YzAuNCAwLjQgMS4xIDAuMiAxLTAuNmwwLTIuOWMwIDAgMjAuOCAwLjEgMjYuNiAwIDAuNiAwIDEtMC40IDEtMXYtMTEuN2MwLTAuNi0wLjQtMS0xLTF6TTkgMjYuOSA5IDI2LjkgOSAyNi45IDkgMjYuOSIvPjxwYXRoIGQ9Im05IDI2LjljMC42IDAgMS0wLjQgMS0xdi0xMC43bDI1LjYgMC4xYzAgMCAwIDIgMCAyLjggMCAwLjggMC43IDEgMSAwLjZsMy41LTMuNWMwLjYtMC42IDAuNi0xLjMgMC0ybC0zLjQtMy40Yy0wLjQtMC40LTEuMS0wLjItMSAwLjZsMCAyLjljMCAwLTIwLjgtMC4xLTI2LjYgMC0wLjYgMC0xIDAuNC0xIDF2MTEuN2MwIDAuNiAwLjQgMSAxIDF6Ii8+PC9zdmc+\")}.yii-debug-toolbar__ajax{position:relative}.yii-debug-toolbar__ajax:hover .yii-debug-toolbar__ajax_info,.yii-debug-toolbar__ajax:focus .yii-debug-toolbar__ajax_info{visibility:visible}.yii-debug-toolbar__ajax a{color:#337ab7}.yii-debug-toolbar__ajax table{width:100%;table-layout:auto;border-spacing:0;border-collapse:collapse}.yii-debug-toolbar__ajax table td{padding:4px;font-size:12px;line-height:normal;vertical-align:top;border-top:1px solid #ddd}.yii-debug-toolbar__ajax table th{padding:4px;font-size:11px;line-height:normal;vertical-align:bottom;border-bottom:2px solid #ddd}.yii-debug-toolbar__ajax_info{visibility:hidden;transition:visibility .2s linear;background-color:white;box-shadow:inset 0 -10px 10px -10px #e1e1e1;position:absolute;bottom:40px;left:-1px;padding:10px;max-width:480px;max-height:480px;word-wrap:break-word;overflow:hidden;overflow-y:auto;box-sizing:border-box;border:1px solid rgba(0,0,0,0.11);z-index:1000001}.yii-debug-toolbar__ajax_request_status{color:white;padding:2px 5px}.yii-debug-toolbar__ajax_request_url{max-width:170px;overflow:hidden;text-overflow:ellipsis}\n</style><script>(function () {\n    'use strict';\n\n    var findToolbar = function () {\n            return document.querySelector('#yii-debug-toolbar');\n        },\n        ajax = function (url, settings) {\n            var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');\n            settings = settings || {};\n            xhr.open(settings.method || 'GET', url, true);\n            xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n            xhr.setRequestHeader('Accept', 'text/html');\n            xhr.onreadystatechange = function () {\n                if (xhr.readyState === 4) {\n                    if (xhr.status === 200 && settings.success) {\n                        settings.success(xhr);\n                    } else if (xhr.status !== 200 && settings.error) {\n                        settings.error(xhr);\n                    }\n                }\n            };\n            xhr.send(settings.data || '');\n        },\n        url,\n        div,\n        toolbarEl = findToolbar(),\n        toolbarAnimatingClass = 'yii-debug-toolbar_animating',\n        barSelector = '.yii-debug-toolbar__bar',\n        viewSelector = '.yii-debug-toolbar__view',\n        blockSelector = '.yii-debug-toolbar__block',\n        toggleSelector = '.yii-debug-toolbar__toggle',\n        externalSelector = '.yii-debug-toolbar__external',\n\n        CACHE_KEY = 'yii-debug-toolbar',\n        ACTIVE_STATE = 'active',\n\n        animationTime = 300,\n\n        activeClass = 'yii-debug-toolbar_active',\n        iframeActiveClass = 'yii-debug-toolbar_iframe_active',\n        iframeAnimatingClass = 'yii-debug-toolbar_iframe_animating',\n        titleClass = 'yii-debug-toolbar__title',\n        blockClass = 'yii-debug-toolbar__block',\n        ignoreClickClass = 'yii-debug-toolbar__ignore_click',\n        blockActiveClass = 'yii-debug-toolbar__block_active',\n        requestStack = [];\n\n    if (toolbarEl) {\n        url = toolbarEl.getAttribute('data-url');\n\n        ajax(url, {\n            success: function (xhr) {\n                div = document.createElement('div');\n                div.innerHTML = xhr.responseText;\n\n                toolbarEl.parentNode && toolbarEl.parentNode.replaceChild(div, toolbarEl);\n\n                showToolbar(findToolbar());\n\n                var event;\n                if (typeof(Event) === 'function') {\n                    event = new Event('yii.debug.toolbar_attached', {'bubbles': true});\n                } else {\n                    event = document.createEvent('Event');\n                    event.initEvent('yii.debug.toolbar_attached', true, true);\n                }\n\n                div.dispatchEvent(event);\n            },\n            error: function (xhr) {\n                toolbarEl.innerText = xhr.responseText;\n            }\n        });\n    }\n\n    function showToolbar(toolbarEl) {\n        var barEl = toolbarEl.querySelector(barSelector),\n            viewEl = toolbarEl.querySelector(viewSelector),\n            toggleEl = toolbarEl.querySelector(toggleSelector),\n            externalEl = toolbarEl.querySelector(externalSelector),\n            blockEls = barEl.querySelectorAll(blockSelector),\n            blockLinksEls = document.querySelectorAll(blockSelector + ':not(.' + titleClass + ') a'),\n            iframeEl = viewEl.querySelector('iframe'),\n            iframeHeight = function () {\n                return (window.innerHeight * (toolbarEl.dataset.height / 100) - barEl.clientHeight) + 'px';\n            },\n            isIframeActive = function () {\n                return toolbarEl.classList.contains(iframeActiveClass);\n            },\n            resizeIframe = function(mouse) {\n                var availableHeight = window.innerHeight - barEl.clientHeight;\n                viewEl.style.height = Math.min(availableHeight, availableHeight - mouse.y) + \"px\";\n            },\n            showIframe = function (href) {\n                toolbarEl.classList.add(iframeAnimatingClass);\n                toolbarEl.classList.add(iframeActiveClass);\n\n                iframeEl.src = externalEl.href = href;\n                iframeEl.removeAttribute('tabindex');\n\n                viewEl.style.height = iframeHeight();\n                setTimeout(function () {\n                    toolbarEl.classList.remove(iframeAnimatingClass);\n                }, animationTime);\n            },\n            hideIframe = function () {\n                toolbarEl.classList.add(iframeAnimatingClass);\n                toolbarEl.classList.remove(iframeActiveClass);\n                iframeEl.setAttribute(\"tabindex\", \"-1\");\n                removeActiveBlocksCls();\n\n                externalEl.href = '#';\n                viewEl.style.height = '';\n                setTimeout(function () {\n                    toolbarEl.classList.remove(iframeAnimatingClass);\n                }, animationTime);\n            },\n            removeActiveBlocksCls = function () {\n                [].forEach.call(blockEls, function (el) {\n                    el.classList.remove(blockActiveClass);\n                });\n            },\n            toggleToolbarClass = function (className) {\n                toolbarEl.classList.add(toolbarAnimatingClass);\n                if (toolbarEl.classList.contains(className)) {\n                    toolbarEl.classList.remove(className);\n                    [].forEach.call(blockLinksEls, function (el) {\n                        el.setAttribute('tabindex', \"-1\");\n                    });\n                } else {\n                    [].forEach.call(blockLinksEls, function (el) {\n                        el.removeAttribute('tabindex');\n                    });\n                    toolbarEl.classList.add(className);\n                }\n                setTimeout(function () {\n                    toolbarEl.classList.remove(toolbarAnimatingClass);\n                }, animationTime);\n            },\n            toggleStorageState = function (key, value) {\n                if (window.localStorage) {\n                    var item = localStorage.getItem(key);\n\n                    if (item) {\n                        localStorage.removeItem(key);\n                    } else {\n                        localStorage.setItem(key, value);\n                    }\n                }\n            },\n            restoreStorageState = function (key) {\n                if (window.localStorage) {\n                    return localStorage.getItem(key);\n                }\n            },\n            togglePosition = function () {\n                if (isIframeActive()) {\n                    hideIframe();\n                } else {\n                    toggleToolbarClass(activeClass);\n                    toggleStorageState(CACHE_KEY, ACTIVE_STATE);\n                }\n            };\n\n        if (restoreStorageState(CACHE_KEY) === ACTIVE_STATE) {\n            var transition = toolbarEl.style.transition;\n            toolbarEl.style.transition = 'none';\n            toolbarEl.classList.add(activeClass);\n            setTimeout(function () {\n                toolbarEl.style.transition = transition;\n            }, animationTime);\n        } else {\n            [].forEach.call(blockLinksEls, function (el) {\n                el.setAttribute('tabindex', \"-1\");\n            });\n        }\n\n        toolbarEl.style.display = 'block';\n\n        window.onresize = function () {\n            if (toolbarEl.classList.contains(iframeActiveClass)) {\n                viewEl.style.height = iframeHeight();\n            }\n        };\n\n        toolbarEl.addEventListener(\"mousedown\", function(e) {\n            if (isIframeActive() && (e.y - toolbarEl.offsetTop < 4 /* 4px click zone */)) {\n                document.addEventListener(\"mousemove\", resizeIframe, false);\n            }\n        }, false);\n\n        document.addEventListener(\"mouseup\", function(){\n            if (isIframeActive()) {\n                document.removeEventListener(\"mousemove\", resizeIframe, false);\n            }\n        }, false);\n\n        barEl.onclick = function (e) {\n            var target = e.target,\n                block = findAncestor(target, blockClass);\n\n            if (block\n                && !block.classList.contains(titleClass)\n                && !block.classList.contains(ignoreClickClass)\n                && e.which !== 2 && !e.ctrlKey // not mouse wheel and not ctrl+click\n            ) {\n                while (target !== this) {\n                    if (target.href) {\n                        removeActiveBlocksCls();\n                        block.classList.add(blockActiveClass);\n                        showIframe(target.href);\n                    }\n                    target = target.parentNode;\n                }\n\n                e.preventDefault();\n            }\n        };\n\n        toggleEl.onclick = togglePosition;\n    }\n\n    function findAncestor(el, cls) {\n        while ((el = el.parentElement) && !el.classList.contains(cls)) ;\n        return el;\n    }\n\n    function renderAjaxRequests() {\n        var requestCounter = document.getElementsByClassName('yii-debug-toolbar__ajax_counter');\n        if (!requestCounter.length) {\n            return;\n        }\n        var ajaxToolbarPanel = document.querySelector('.yii-debug-toolbar__ajax');\n        var tbodies = document.getElementsByClassName('yii-debug-toolbar__ajax_requests');\n        var state = 'ok';\n        if (tbodies.length) {\n            var tbody = tbodies[0];\n            var rows = document.createDocumentFragment();\n            if (requestStack.length) {\n                var firstItem = requestStack.length > 20 ? requestStack.length - 20 : 0;\n                for (var i = firstItem; i < requestStack.length; i++) {\n                    var request = requestStack[i];\n                    var row = document.createElement('tr');\n                    rows.appendChild(row);\n\n                    var methodCell = document.createElement('td');\n                    methodCell.innerHTML = request.method;\n                    row.appendChild(methodCell);\n\n                    var statusCodeCell = document.createElement('td');\n                    var statusCode = document.createElement('span');\n                    if (request.statusCode < 300) {\n                        statusCode.setAttribute('class', 'yii-debug-toolbar__ajax_request_status yii-debug-toolbar__label_success');\n                    } else if (request.statusCode < 400) {\n                        statusCode.setAttribute('class', 'yii-debug-toolbar__ajax_request_status yii-debug-toolbar__label_warning');\n                    } else {\n                        statusCode.setAttribute('class', 'yii-debug-toolbar__ajax_request_status yii-debug-toolbar__label_error');\n                    }\n                    statusCode.textContent = request.statusCode || '-';\n                    statusCodeCell.appendChild(statusCode);\n                    row.appendChild(statusCodeCell);\n\n                    var pathCell = document.createElement('td');\n                    pathCell.className = 'yii-debug-toolbar__ajax_request_url';\n                    pathCell.innerHTML = request.url;\n                    pathCell.setAttribute('title', request.url);\n                    row.appendChild(pathCell);\n\n                    var durationCell = document.createElement('td');\n                    durationCell.className = 'yii-debug-toolbar__ajax_request_duration';\n                    if (request.duration) {\n                        durationCell.innerText = request.duration + \" ms\";\n                    } else {\n                        durationCell.innerText = '-';\n                    }\n                    row.appendChild(durationCell);\n                    row.appendChild(document.createTextNode(' '));\n\n                    var profilerCell = document.createElement('td');\n                    if (request.profilerUrl) {\n                        var profilerLink = document.createElement('a');\n                        profilerLink.setAttribute('href', request.profilerUrl);\n                        profilerLink.innerText = request.profile;\n                        profilerCell.appendChild(profilerLink);\n                    } else {\n                        profilerCell.innerText = 'n/a';\n                    }\n                    row.appendChild(profilerCell);\n\n                    if (request.error) {\n                        if (state !== \"loading\" && i > requestStack.length - 4) {\n                            state = 'error';\n                        }\n                    } else if (request.loading) {\n                        state = 'loading'\n                    }\n                    row.className = 'yii-debug-toolbar__ajax_request';\n                }\n                while (tbody.firstChild) {\n                    tbody.removeChild(tbody.firstChild);\n                }\n                tbody.appendChild(rows);\n            }\n            ajaxToolbarPanel.style.display = 'block';\n        }\n        requestCounter[0].innerText = requestStack.length;\n        var className = 'yii-debug-toolbar__label yii-debug-toolbar__ajax_counter';\n        if (state === 'ok') {\n            className += ' yii-debug-toolbar__label_success';\n        } else if (state === 'error') {\n            className += ' yii-debug-toolbar__label_error';\n        }\n        requestCounter[0].className = className;\n    }\n\n    /**\n     * Should AJAX request to be logged in debug panel\n     *\n     * @param requestUrl\n     * @returns {boolean}\n     */\n    function shouldTrackRequest(requestUrl) {\n        if (!toolbarEl) {\n            return false;\n        }\n        var a = document.createElement('a');\n        a.href = requestUrl;\n        var skipAjaxRequestUrls = JSON.parse(toolbarEl.getAttribute('data-skip-urls'));\n        if (Array.isArray(skipAjaxRequestUrls) && skipAjaxRequestUrls.length && skipAjaxRequestUrls.includes(requestUrl)) {\n            return false;\n        }\n        return a.host === location.host;\n    }\n\n    var proxied = XMLHttpRequest.prototype.open;\n\n    XMLHttpRequest.prototype.open = function (method, url, async, user, pass) {\n        var self = this;\n\n        if (shouldTrackRequest(url)) {\n            var stackElement = {\n                loading: true,\n                error: false,\n                url: url,\n                method: method,\n                start: new Date()\n            };\n            requestStack.push(stackElement);\n            this.addEventListener('readystatechange', function () {\n                if (self.readyState === 4) {\n                    stackElement.duration = self.getResponseHeader('X-Debug-Duration') || new Date() - stackElement.start;\n                    stackElement.loading = false;\n                    stackElement.statusCode = self.status;\n                    stackElement.error = self.status < 200 || self.status >= 400;\n                    stackElement.profile = self.getResponseHeader('X-Debug-Tag');\n                    stackElement.profilerUrl = self.getResponseHeader('X-Debug-Link');\n                    renderAjaxRequests();\n                }\n            }, false);\n            renderAjaxRequests();\n        }\n        proxied.apply(this, Array.prototype.slice.call(arguments));\n    };\n\n    // catch fetch AJAX requests\n    if (window.fetch) {\n        var originalFetch = window.fetch;\n\n        window.fetch = function (input, init) {\n            var method;\n            var url;\n            if (typeof input === 'string') {\n                method = (init && init.method) || 'GET';\n                url = input;\n            } else if (window.URL && input instanceof URL) { // fix https://github.com/yiisoft/yii2-debug/issues/296\n                method = (init && init.method) || 'GET';\n                url = input.href;\n            } else if (window.Request && input instanceof Request) {\n                method = input.method;\n                url = input.url;\n            }\n            var promise = originalFetch(input, init);\n\n            if (shouldTrackRequest(url)) {\n                var stackElement = {\n                    loading: true,\n                    error: false,\n                    url: url,\n                    method: method,\n                    start: new Date()\n                };\n                requestStack.push(stackElement);\n                promise.then(function (response) {\n                    stackElement.duration = response.headers.get('X-Debug-Duration') || new Date() - stackElement.start;\n                    stackElement.loading = false;\n                    stackElement.statusCode = response.status;\n                    stackElement.error = response.status < 200 || response.status >= 400;\n                    stackElement.profile = response.headers.get('X-Debug-Tag');\n                    stackElement.profilerUrl = response.headers.get('X-Debug-Link');\n                    renderAjaxRequests();\n\n                    return response;\n                }).catch(function (error) {\n                    stackElement.loading = false;\n                    stackElement.error = true;\n                    renderAjaxRequests();\n\n                    throw error;\n                });\n                renderAjaxRequests();\n            }\n\n            return promise;\n        };\n    }\n\n})();\n</script>\t<script src=\"/js/main.js?v4\"></script>\n\n\t<!-- <script>\n\t\t$(document).ready(function () {\n\t\t\t$.ajax({\n\t\t\t\ttype:\"GET\",\n\t\t\t\tresponse: 'text',\n\t\t\t\turl: \"/ajax/noti\",\n\t\t\t\tsuccess: function(data) {\n\t\t\t\t\t$(\"#noti\").html(data.list);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t</script>\n\n\t<style>\n\t\t#noti { position:absolute; width: 300px; padding: 0 15px; z-index: 1000; }\n\t</style> -->\n\n</body>\n</html>\n\n"