1import __vite__cjsImport0_react_jsxDevRuntime from "/node_modules/.vite/deps/react_jsx-dev-runtime.js?v=e8ce80ae"; const _jsxDEV = __vite__cjsImport0_react_jsxDevRuntime["jsxDEV"]; 2import __vite__cjsImport1_reactDom_client from "/node_modules/.vite/deps/react-dom_client.js?v=e8ce80ae"; const createRoot = __vite__cjsImport1_reactDom_client["createRoot"]; 3// Axios 4import axios from "/node_modules/.vite/deps/axios.js?v=e8ce80ae"; 5import { Chart, registerables } from "/node_modules/.vite/deps/chart__js.js?v=e8ce80ae"; 6import { QueryClient, QueryClientProvider } from "/node_modules/.vite/deps/react-query.js?v=e8ce80ae"; 7// Apps 8import { MetronicI18nProvider } from "/src/config/i18n/Metronici18n.tsx"; 9import "/src/config/assets/sass/style.react.scss"; 10import "/src/config/assets/fonticon/fonticon.css"; 11import "/src/config/assets/keenicons/duotone/style.css"; 12import "/src/config/assets/keenicons/outline/style.css"; 13import "/src/config/assets/keenicons/solid/style.css"; 14import "/src/config/assets/sass/style.scss"; 15import { AppRoutes } from "/src/app/routing/AppRoutes.tsx"; 16import { AuthProvider, removeAuth, setupAxios } from "/src/app/modules/auth/index.ts"; 17setupAxios(axios); 18Chart.register(...registerables); 19// Service Worker Registration 20if ('serviceWorker' in navigator) { 21 window.addEventListener('load', ()=>{ 22 navigator.serviceWorker.register('/sw.js').then((registration)=>{ 23 console.log('[SW] Registered with scope:', registration.scope); 24 registration.onupdatefound = ()=>{ 25 const newWorker = registration.installing; 26 newWorker?.addEventListener('statechange', ()=>{ 27 if (newWorker.state === 'installed' && navigator.serviceWorker.controller) { 28 console.log('[SW] New version available'); 29 } 30 }); 31 }; 32 }).catch((err)=>console.error('[SW] Registration failed:', err)); 33 }); 34} 35const queryClient = new QueryClient({ 36 defaultOptions: { 37 queries: { 38 refetchOnWindowFocus: false, 39 retry: 1 40 } 41 } 42}); 43const container = document.getElementById('root'); 44if (container) { 45 createRoot(container).render(/*#__PURE__*/ _jsxDEV(QueryClientProvider, { 46 client: queryClient, 47 children: /*#__PURE__*/ _jsxDEV(MetronicI18nProvider, { 48 children: /*#__PURE__*/ _jsxDEV(AuthProvider, { 49 children: /*#__PURE__*/ _jsxDEV(AppRoutes, {}, void 0, false, { 50 fileName: "/data/sixsigma/six-sigma-ui/src/main.tsx", 51 lineNumber: 57, 52 columnNumber: 11 53 }, this) 54 }, void 0, false, { 55 fileName: "/data/sixsigma/six-sigma-ui/src/main.tsx", 56 lineNumber: 56, 57 columnNumber: 9 58 }, this) 59 }, void 0, false, { 60 fileName: "/data/sixsigma/six-sigma-ui/src/main.tsx", 61 lineNumber: 55, 62 columnNumber: 7 63 }, this) 64 }, void 0, false, { 65 fileName: "/data/sixsigma/six-sigma-ui/src/main.tsx", 66 lineNumber: 54, 67 columnNumber: 5 68 }, this)); 69} 70const LOGIN_PATH = '/login'; 71// â FIXED (onclick instead of addEventListener) 72export function show401ErrorAlert(message) { 73 const alertElement = document.getElementById('custom-401alert'); 74 const alertMessageElement = document.getElementById('alert-401message'); 75 if (alertElement && alertMessageElement) { 76 alertMessageElement.innerHTML = message; 77 alertElement.style.display = 'block'; 78 const okButton = document.getElementById('401-ok-button'); 79 if (okButton) { 80 okButton.onclick = ()=>{ 81 alertElement.style.display = 'none'; 82 removeAuth(); 83 window.location.href = LOGIN_PATH; 84 }; 85 } 86 } 87} 88export function hide401ErrorAlert() { 89 const alertElement = document.getElementById('custom-401alert'); 90 const okButton = document.getElementById('401-ok-button'); 91 if (alertElement && okButton) { 92 okButton.onclick = ()=>{ 93 alertElement.style.display = 'none'; 94 removeAuth(); 95 window.location.href = LOGIN_PATH; 96 }; 97 } 98} 99export function showErrorAlert(message) { 100 const alertElement = document.getElementById('custom-alert'); 101 const messageElement = document.getElementById('alert-message'); 102 if (alertElement && messageElement) { 103 messageElement.innerHTML = message; 104 alertElement.style.display = 'block'; 105 } 106} 107export function hideErrorAlert() { 108 const alertElement = document.getElementById('custom-alert'); 109 if (alertElement) { 110 alertElement.style.display = 'none'; 111 } 112} 113export function showErrorAlertPopup(message) { 114 const alertElement = document.getElementById('custom-alert-popup'); 115 const messageElement = document.getElementById('alert-message-popup'); 116 if (alertElement && messageElement) { 117 messageElement.innerHTML = message; 118 alertElement.style.display = 'block'; 119 } 120} 121export function hideErrorAlertPopup() { 122 const alertElement = document.getElementById('custom-alert-popup'); 123 if (alertElement) { 124 alertElement.style.display = 'none'; 125 } 126} 127// â FIXED warnAlert 128export function warnAlert(message) { 129 return new Promise((resolve)=>{ 130 const alertElement = document.getElementById('custom-alert-warn'); 131 const messageElement = document.getElementById('warn-alert-msg'); 132 const closeButton = alertElement?.querySelector('.btn-icon'); 133 if (alertElement && messageElement) { 134 const existingButtons = alertElement.querySelectorAll('button'); 135 existingButtons.forEach((button)=>button.remove()); 136 messageElement.innerHTML = message; 137 alertElement.style.display = 'flex'; 138 const buttonContainer = document.createElement('div'); 139 buttonContainer.className = 'ms-auto d-flex justify-content-end mt-3 mt-sm-0'; 140 const cancelButton = document.createElement('button'); 141 cancelButton.innerHTML = 'Cancel'; 142 cancelButton.className = 'btn btn-sm btn-secondary me-2'; 143 buttonContainer.appendChild(cancelButton); 144 const confirmButton = document.createElement('button'); 145 confirmButton.innerHTML = 'OK'; 146 confirmButton.className = 'btn btn-sm btn-danger me-2'; 147 buttonContainer.appendChild(confirmButton); 148 alertElement.querySelector('.alert.alert-dismissible')?.appendChild(buttonContainer); 149 confirmButton.onclick = ()=>{ 150 alertElement.style.display = 'none'; 151 resolve(true); 152 }; 153 cancelButton.onclick = ()=>{ 154 alertElement.style.display = 'none'; 155 resolve(false); 156 }; 157 if (closeButton) { 158 closeButton.onclick = ()=>{ 159 resolve(false); 160 }; 161 } 162 } 163 }); 164} 165let successTimeoutId; 166export function showSuccessAlert(message) { 167 const successElements = document.querySelectorAll("#custom-success-id"); 168 const messageElements = document.querySelectorAll('#success-message-id'); 169 if (successElements.length > 0 && messageElements.length > 0) {
170 messageElements.forEach((element)=>{ 171 element.innerHTML = message; 172 }); 173 successElements.forEach((element)=>{ 174 element.style.display = "block"; 175 }); 176 successTimeoutId = window.setTimeout(()=>{ 177 hideSuccessAlert(); 178 }, 4000); 179 } 180} 181export function hideSuccessAlert() { 182 const successElements = document.querySelectorAll("#custom-success-id"); 183 if (successElements.length > 0) { 184 successElements.forEach((element)=>{ 185 element.style.display = "none"; 186 }); 187 if (successTimeoutId) { 188 clearTimeout(successTimeoutId); 189 } 190 } 191} 192function handleClickOutside(event) { 193 const alertElement = document.getElementById('custom-alert'); 194 if (alertElement && alertElement.style.display === 'block') { 195 hideErrorAlert(); 196 } 197} 198 199//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJvb3QgfSBmcm9tICdyZWFjdC1kb20vY2xpZW50J1xuLy8gQXhpb3NcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcydcbmltcG9ydCB7IENoYXJ0LCByZWdpc3RlcmFibGVzIH0gZnJvbSAnY2hhcnQuanMnXG5pbXBvcnQgeyBRdWVyeUNsaWVudCwgUXVlcnlDbGllbnRQcm92aWRlciB9IGZyb20gJ3JlYWN0LXF1ZXJ5J1xuaW1wb3J0IHsgUmVhY3RRdWVyeURldnRvb2xzIH0gZnJvbSAncmVhY3QtcXVlcnkvZGV2dG9vbHMnXG4vLyBBcHBzXG5pbXBvcnQgeyBNZXRyb25pY0kxOG5Qcm92aWRlciB9IGZyb20gJy4vY29uZmlnL2kxOG4vTWV0cm9uaWNpMThuJ1xuaW1wb3J0ICcuL2NvbmZpZy9hc3NldHMvc2Fzcy9zdHlsZS5yZWFjdC5zY3NzJ1xuaW1wb3J0ICcuL2NvbmZpZy9hc3NldHMvZm9udGljb24vZm9udGljb24uY3NzJ1xuaW1wb3J0ICcuL2NvbmZpZy9hc3NldHMva2Vlbmljb25zL2R1b3RvbmUvc3R5bGUuY3NzJ1xuaW1wb3J0ICcuL2NvbmZpZy9hc3NldHMva2Vlbmljb25zL291dGxpbmUvc3R5bGUuY3NzJ1xuaW1wb3J0ICcuL2NvbmZpZy9hc3NldHMva2Vlbmljb25zL3NvbGlkL3N0eWxlLmNzcydcbmltcG9ydCAnLi9jb25maWcvYXNzZXRzL3Nhc3Mvc3R5bGUuc2NzcydcbmltcG9ydCB7IEFwcFJvdXRlcyB9IGZyb20gJy4vYXBwL3JvdXRpbmcvQXBwUm91dGVzJ1xuaW1wb3J0IHsgQXV0aFByb3ZpZGVyLCByZW1vdmVBdXRoLCBzZXR1cEF4aW9zIH0gZnJvbSAnLi9hcHAvbW9kdWxlcy9hdXRoJ1xuXG5zZXR1cEF4aW9zKGF4aW9zKVxuQ2hhcnQucmVnaXN0ZXIoLi4ucmVnaXN0ZXJhYmxlcylcblxuLy8gU2VydmljZSBXb3JrZXIgUmVnaXN0cmF0aW9uXG5pZiAoJ3NlcnZpY2VXb3JrZXInIGluIG5hdmlnYXRvcikge1xuICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcbiAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlclxuICAgICAgLnJlZ2lzdGVyKCcvc3cuanMnKVxuICAgICAgLnRoZW4oKHJlZ2lzdHJhdGlvbikgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnW1NXXSBSZWdpc3RlcmVkIHdpdGggc2NvcGU6JywgcmVnaXN0cmF0aW9uLnNjb3BlKTtcblxuICAgICAgICByZWdpc3RyYXRpb24ub251cGRhdGVmb3VuZCA9ICgpID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdXb3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZztcbiAgICAgICAgICBuZXdXb3JrZXI/LmFkZEV2ZW50TGlzdGVuZXIoJ3N0YXRlY2hhbmdlJywgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKG5ld1dvcmtlci5zdGF0ZSA9PT0gJ2luc3RhbGxlZCcgJiYgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlcikge1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZygnW1NXXSBOZXcgdmVyc2lvbiBhdmFpbGFibGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycikgPT4gY29uc29sZS5lcnJvcignW1NXXSBSZWdpc3RyYXRpb24gZmFpbGVkOicsIGVycikpO1xuICB9KTtcbn1cblxuY29uc3QgcXVlcnlDbGllbnQgPSBuZXcgUXVlcnlDbGllbnQoe1xuICBkZWZhdWx0T3B0aW9uczoge1xuICAgIHF1ZXJpZXM6IHtcbiAgICAgIHJlZmV0Y2hPbldpbmRvd0ZvY3VzOiBmYWxzZSxcbiAgICAgIHJldHJ5OiAxLFxuICAgIH0sXG4gIH0sXG59KVxuY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jvb3QnKVxuXG5pZiAoY29udGFpbmVyKSB7XG4gIGNyZWF0ZVJvb3QoY29udGFpbmVyKS5yZW5kZXIoXG4gICAgPFF1ZXJ5Q2xpZW50UHJvdmlkZXIgY2xpZW50PXtxdWVyeUNsaWVudH0+XG4gICAgICA8TWV0cm9uaWNJMThuUHJvdmlkZXI+XG4gICAgICAgIDxBdXRoUHJvdmlkZXI+XG4gICAgICAgICAgPEFwcFJvdXRlcyAvPlxuICAgICAgICA8L0F1dGhQcm92aWRlcj5cbiAgICAgIDwvTWV0cm9uaWNJMThuUHJvdmlkZXI+XG4gICAgPC9RdWVyeUNsaWVudFByb3ZpZGVyPlxuICApXG59XG5cbmNvbnN0IExPR0lOX1BBVEggPSAnL2xvZ2luJ1xuXG4vLyDinIUgRklYRUQgKG9uY2xpY2sgaW5zdGVhZCBvZiBhZGRFdmVudExpc3RlbmVyKVxuZXhwb3J0IGZ1bmN0aW9uIHNob3c0MDFFcnJvckFsZXJ0KG1lc3NhZ2U6IHN0cmluZykge1xuICBjb25zdCBhbGVydEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3VzdG9tLTQwMWFsZXJ0Jyk7XG4gIGNvbnN0IGFsZXJ0TWVzc2FnZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWxlcnQtNDAxbWVzc2FnZScpO1xuXG4gIGlmIChhbGVydEVsZW1lbnQgJiYgYWxlcnRNZXNzYWdlRWxlbWVudCkge1xuICAgIGFsZXJ0TWVzc2FnZUVsZW1lbnQuaW5uZXJIVE1MID0gbWVzc2FnZTtcbiAgICBhbGVydEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG5cbiAgICBjb25zdCBva0J1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCc0MDEtb2stYnV0dG9uJyk7XG4gICAgaWYgKG9rQnV0dG9uKSB7XG4gICAgICBva0J1dHRvbi5vbmNsaWNrID0gKCkgPT4ge1xuICAgICAgICBhbGVydEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgcmVtb3ZlQXV0aCgpO1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IExPR0lOX1BBVEg7XG4gICAgICB9O1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaGlkZTQwMUVycm9yQWxlcnQoKSB7XG4gIGNvbnN0IGFsZXJ0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjdXN0b20tNDAxYWxlcnQnKTtcbiAgY29uc3Qgb2tCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnNDAxLW9rLWJ1dHRvbicpO1xuXG4gIGlmIChhbGVydEVsZW1lbnQgJiYgb2tCdXR0b24pIHtcbiAgICBva0J1dHRvbi5vbmNsaWNrID0gKCkgPT4ge1xuICAgICAgYWxlcnRFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICByZW1vdmVBdXRoKCk7XG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IExPR0lOX1BBVEg7XG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2hvd0Vycm9yQWxlcnQobWVzc2FnZTogc3RyaW5nKSB7XG4gIGNvbnN0IGFsZXJ0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjdXN0b20tYWxlcnQnKTtcbiAgY29uc3QgbWVzc2FnZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWxlcnQtbWVzc2FnZScpO1xuXG4gIGlmIChhbGVydEVsZW1lbnQgJiYgbWVzc2FnZUVsZW1lbnQpIHtcbiAgICBtZXNzYWdlRWxlbWVudC5pbm5lckhUTUwgPSBtZXNzYWdlO1xuICAgIGFsZXJ0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaGlkZUVycm9yQWxlcnQoKSB7XG4gIGNvbnN0IGFsZXJ0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjdXN0b20tYWxlcnQnKTtcbiAgaWYgKGFsZXJ0RWxlbWVudCkge1xuICAgIGFsZXJ0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaG93RXJyb3JBbGVydFBvcHVwKG1lc3NhZ2U6IHN0cmluZykge1xuICBjb25zdCBhbGVydEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3VzdG9tLWFsZXJ0LXBvcHVwJyk7XG4gIGNvbnN0IG1lc3NhZ2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FsZXJ0LW1lc3NhZ2UtcG9wdXAnKTtcblxuICBpZiAoYWxlcnRFbGVtZW50ICYmIG1lc3NhZ2VFbGVtZW50KSB7XG4gICAgbWVzc2FnZUVsZW1lbnQuaW5uZXJIVE1MID0gbWVzc2FnZTtcbiAgICBhbGVydEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhpZGVFcnJvckFsZXJ0UG9wdXAoKSB7XG4gIGNvbnN0IGFsZXJ0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjdXN0b20tYWxlcnQtcG9wdXAnKTtcbiAgaWYgKGFsZXJ0RWxlbWVudCkge1xuICAgIGFsZXJ0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICB9XG59XG5cbi8vIOKchSBGSVhFRCB3YXJuQWxlcnRcbmV4cG9ydCBmdW5jdGlvbiB3YXJuQWxlcnQobWVzc2FnZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIHJldHVybi
199BuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IGFsZXJ0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjdXN0b20tYWxlcnQtd2FybicpO1xuICAgIGNvbnN0IG1lc3NhZ2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dhcm4tYWxlcnQtbXNnJyk7XG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSBhbGVydEVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJy5idG4taWNvbicpO1xuXG4gICAgaWYgKGFsZXJ0RWxlbWVudCAmJiBtZXNzYWdlRWxlbWVudCkge1xuICAgICAgY29uc3QgZXhpc3RpbmdCdXR0b25zID0gYWxlcnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbicpO1xuICAgICAgZXhpc3RpbmdCdXR0b25zLmZvckVhY2goYnV0dG9uID0+IGJ1dHRvbi5yZW1vdmUoKSk7XG5cbiAgICAgIG1lc3NhZ2VFbGVtZW50LmlubmVySFRNTCA9IG1lc3NhZ2U7XG4gICAgICBhbGVydEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdmbGV4JztcblxuICAgICAgY29uc3QgYnV0dG9uQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICBidXR0b25Db250YWluZXIuY2xhc3NOYW1lID0gJ21zLWF1dG8gZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgbXQtMyBtdC1zbS0wJztcblxuICAgICAgY29uc3QgY2FuY2VsQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XG4gICAgICBjYW5jZWxCdXR0b24uaW5uZXJIVE1MID0gJ0NhbmNlbCc7XG4gICAgICBjYW5jZWxCdXR0b24uY2xhc3NOYW1lID0gJ2J0biBidG4tc20gYnRuLXNlY29uZGFyeSBtZS0yJztcbiAgICAgIGJ1dHRvbkNvbnRhaW5lci5hcHBlbmRDaGlsZChjYW5jZWxCdXR0b24pO1xuXG4gICAgICBjb25zdCBjb25maXJtQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XG4gICAgICBjb25maXJtQnV0dG9uLmlubmVySFRNTCA9ICdPSyc7XG4gICAgICBjb25maXJtQnV0dG9uLmNsYXNzTmFtZSA9ICdidG4gYnRuLXNtIGJ0bi1kYW5nZXIgbWUtMic7XG4gICAgICBidXR0b25Db250YWluZXIuYXBwZW5kQ2hpbGQoY29uZmlybUJ1dHRvbik7XG5cbiAgICAgIGFsZXJ0RWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuYWxlcnQuYWxlcnQtZGlzbWlzc2libGUnKT8uYXBwZW5kQ2hpbGQoYnV0dG9uQ29udGFpbmVyKTtcblxuICAgICAgY29uZmlybUJ1dHRvbi5vbmNsaWNrID0gKCkgPT4ge1xuICAgICAgICBhbGVydEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgIH07XG5cbiAgICAgIGNhbmNlbEJ1dHRvbi5vbmNsaWNrID0gKCkgPT4ge1xuICAgICAgICBhbGVydEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgcmVzb2x2ZShmYWxzZSk7XG4gICAgICB9O1xuXG4gICAgICBpZiAoY2xvc2VCdXR0b24pIHtcbiAgICAgICAgKGNsb3NlQnV0dG9uIGFzIEhUTUxFbGVtZW50KS5vbmNsaWNrID0gKCkgPT4ge1xuICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59XG5cbmxldCBzdWNjZXNzVGltZW91dElkOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBzaG93U3VjY2Vzc0FsZXJ0KG1lc3NhZ2U6IHN0cmluZykge1xuICBjb25zdCBzdWNjZXNzRWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiI2N1c3RvbS1zdWNjZXNzLWlkXCIpO1xuICBjb25zdCBtZXNzYWdlRWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjc3VjY2Vzcy1tZXNzYWdlLWlkJyk7XG5cbiAgaWYgKHN1Y2Nlc3NFbGVtZW50cy5sZW5ndGggPiAwICYmIG1lc3NhZ2VFbGVtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgbWVzc2FnZUVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgIChlbGVtZW50IGFzIEhUTUxFbGVtZW50KS5pbm5lckhUTUwgPSBtZXNzYWdlO1xuICAgIH0pO1xuXG4gICAgc3VjY2Vzc0VsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgIChlbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gXCJibG9ja1wiO1xuICAgIH0pO1xuXG4gICAgc3VjY2Vzc1RpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGhpZGVTdWNjZXNzQWxlcnQoKTtcbiAgICB9LCA0MDAwKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaGlkZVN1Y2Nlc3NBbGVydCgpIHtcbiAgY29uc3Qgc3VjY2Vzc0VsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIiNjdXN0b20tc3VjY2Vzcy1pZFwiKTtcblxuICBpZiAoc3VjY2Vzc0VsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICBzdWNjZXNzRWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgKGVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgICB9KTtcblxuICAgIGlmIChzdWNjZXNzVGltZW91dElkKSB7XG4gICAgICBjbGVhclRpbWVvdXQoc3VjY2Vzc1RpbWVvdXRJZCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUNsaWNrT3V0c2lkZShldmVudDogTW91c2VFdmVudCkge1xuICBjb25zdCBhbGVydEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3VzdG9tLWFsZXJ0Jyk7XG4gIGlmIChhbGVydEVsZW1lbnQgJiYgYWxlcnRFbGVtZW50LnN0eWxlLmRpc3BsYXkgPT09ICdibG9jaycpIHtcbiAgICBoaWRlRXJyb3JBbGVydCgpO1xuICB9XG59Il0sIm5hbWVzIjpbImNyZWF0ZVJvb3QiLCJheGlvcyIsIkNoYXJ0IiwicmVnaXN0ZXJhYmxlcyIsIlF1ZXJ5Q2xpZW50IiwiUXVlcnlDbGllbnRQcm92aWRlciIsIk1ldHJvbmljSTE4blByb3ZpZGVyIiwiQXBwUm91dGVzIiwiQXV0aFByb3ZpZGVyIiwicmVtb3ZlQXV0aCIsInNldHVwQXhpb3MiLCJyZWdpc3RlciIsIm5hdmlnYXRvciIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJzZXJ2aWNlV29ya2VyIiwidGhlbiIsInJlZ2lzdHJhdGlvbiIsImNvbnNvbGUiLCJsb2ciLCJzY29wZSIsIm9udXBkYXRlZm91bmQiLCJuZXdXb3JrZXIiLCJpbnN0YWxsaW5nIiwic3RhdGUiLCJjb250cm9sbGVyIiwiY2F0Y2giLCJlcnIiLCJlcnJvciIsInF1ZXJ5Q2xpZW50Iiwi
199ZGVmYXVsdE9wdGlvbnMiLCJxdWVyaWVzIiwicmVmZXRjaE9uV2luZG93Rm9jdXMiLCJyZXRyeSIsImNvbnRhaW5lciIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJyZW5kZXIiLCJjbGllbnQiLCJMT0dJTl9QQVRIIiwic2hvdzQwMUVycm9yQWxlcnQiLCJtZXNzYWdlIiwiYWxlcnRFbGVtZW50IiwiYWxlcnRNZXNzYWdlRWxlbWVudCIsImlubmVySFRNTCIsInN0eWxlIiwiZGlzcGxheSIsIm9rQnV0dG9uIiwib25jbGljayIsImxvY2F0aW9uIiwiaHJlZiIsImhpZGU0MDFFcnJvckFsZXJ0Iiwic2hvd0Vycm9yQWxlcnQiLCJtZXNzYWdlRWxlbWVudCIsImhpZGVFcnJvckFsZXJ0Iiwic2hvd0Vycm9yQWxlcnRQb3B1cCIsImhpZGVFcnJvckFsZXJ0UG9wdXAiLCJ3YXJuQWxlcnQiLCJQcm9taXNlIiwicmVzb2x2ZSIsImNsb3NlQnV0dG9uIiwicXVlcnlTZWxlY3RvciIsImV4aXN0aW5nQnV0dG9ucyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJmb3JFYWNoIiwiYnV0dG9uIiwicmVtb3ZlIiwiYnV0dG9uQ29udGFpbmVyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImNhbmNlbEJ1dHRvbiIsImFwcGVuZENoaWxkIiwiY29uZmlybUJ1dHRvbiIsInN1Y2Nlc3NUaW1lb3V0SWQiLCJzaG93U3VjY2Vzc0FsZXJ0Iiwic3VjY2Vzc0VsZW1lbnRzIiwibWVzc2FnZUVsZW1lbnRzIiwibGVuZ3RoIiwiZWxlbWVudCIsInNldFRpbWVvdXQiLCJoaWRlU3VjY2Vzc0FsZXJ0IiwiY2xlYXJUaW1lb3V0IiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiZXZlbnQiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O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
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.