PageSourceSearch

https://1day1vid.com/src/pages/ArchivesPage.tsx

js 1day1vid.com collected 2026-10-05 17:56:17 UTC 27,430 bytes, 310 lines download raw bytes

1import { createHotContext as __vite__createHotContext } from "/@vite/client";import.meta.hot = __vite__createHotContext("/src/pages/ArchivesPage.tsx");import __vite__cjsImport0_react_jsxDevRuntime from "/node_modules/.vite/deps/react_jsx-dev-runtime.js?v=d71ca497"; const jsxDEV = __vite__cjsImport0_react_jsxDevRuntime["jsxDEV"];
2var _s = $RefreshSig$();
3import __vite__cjsImport1_react from "/node_modules/.vite/deps/react.js?v=d71ca497"; const useState = __vite__cjsImport1_react["useState"]; const useEffect = __vite__cjsImport1_react["useEffect"];
4import { Link } from "/node_modules/.vite/deps/react-router-dom.js?v=d71ca497";
5import { ArrowLeft, ThumbsUp, Heart, ThumbsDown, Film, Lock } from "/node_modules/.vite/deps/lucide-react.js?v=d71ca497";
6const PASSWORD = "bb8";
7export default function ArchivesPage() {
8  _s();
9  const [isAuthenticated, setIsAuthenticated] = useState(
10    sessionStorage.getItem("1day1vid_auth") === "true"
11  );
12  const [password, setPassword] = useState("");
13  const [authError, setAuthError] = useState(false);
14  const [archives, setArchives] = useState([]);
15  const [loading, setLoading] = useState(true);
16  const handleLogin = (e) => {
17    e.preventDefault();
18    if (password === PASSWORD) {
19      sessionStorage.setItem("1day1vid_auth", "true");
20      setIsAuthenticated(true);
21      setAuthError(false);
22    } else {
23      setAuthError(true);
24    }
25  };
26  useEffect(() => {
27    if (!isAuthenticated) return;
28    const fetchArchives = async () => {
29      try {
30        const res = await fetch("/api/archives");
31        const data = await res.json();
32        setArchives(data.archives);
33      } catch (err) {
34        console.error("Failed to fetch archives:", err);
35      } finally {
36        setLoading(false);
37      }
38    };
39    fetchArchives();
40  }, [isAuthenticated]);
41  if (!isAuthenticated) {
42    return /* @__PURE__ */ jsxDEV("div", { className: "w-full min-h-full bg-gray-900 flex items-center justify-center p-8", children: /* @__PURE__ */ jsxDEV("form", { onSubmit: handleLogin, className: "bg-gray-800 p-8 rounded-2xl w-full max-w-sm", children: [
43      /* @__PURE__ */ jsxDEV("div", { className: "flex justify-center mb-6", children: /* @__PURE__ */ jsxDEV(Lock, { className: "w-12 h-12 text-gray-400" }, void 0, false, {
44        fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
45        lineNumber: 58,
46        columnNumber: 13
47      }, this) }, void 0, false, {
48        fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
49        lineNumber: 57,
50        columnNumber: 11
51      }, this),
52      /* @__PURE__ */ jsxDEV("h1", { className: "text-xl font-bold text-center mb-6", children: "Acces protege" }, void 0, false, {
53        fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
54        lineNumber: 60,
55        columnNumber: 11
56      }, this),
57      /* @__PURE__ */ jsxDEV(
58        "input",
59        {
60          type: "password",
61          value: password,
62          onChange: (e) => setPassword(e.target.value),
63          placeholder: "Mot de passe",
64          className: `w-full px-4 py-3 bg-gray-700 rounded-lg mb-4 focus:outline-none focus:ring-2 ${authError ? "ring-2 ring-red-500" : "focus:ring-blue-500"}`,
65          autoFocus: true
66        },
67        void 0,
68        false,
69        {
70          fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
71          lineNumber: 61,
72          columnNumber: 11
73        },
74        this
75      ),
76      authError && /* @__PURE__ */ jsxDEV("p", { className: "text-red-500 text-sm mb-4", children: "Mot de passe incorrect" }, void 0, false, {
77        fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
78        lineNumber: 71,
79        columnNumber: 25
80      }, this),
81      /* @__PURE__ */ jsxDEV(
82        "button",
83        {
84          type: "submit",
85          className: "w-full py-3 bg-blue-600 hover:bg-blue-700 rounded-lg font-medium transition-colors",
86          children: "Entrer"
87        },
88        void 0,
89        false,
90        {
91          fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
92          lineNumber: 72,
93          columnNumber: 11
94        },
95        this
96      )
97    ] }, void 0, true, {
98      fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
99      lineNumber: 56,
100      columnNumber: 9
101    }, this) }, void 0, false, {
102      fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
103      lineNumber: 55,
104      columnNumber: 7
105    }, this);
106  }
107  const formatDate = (dateStr) => {
108    return new Date(dateStr).toLocaleDateString("fr-FR", {
109      day: "numeric",
110      month: "long",
111      year: "numeric"
112    });
113  };
114  return /* @__PURE__ */ jsxDEV("div", { className: "w-full min-h-full bg-gray-900 p-8", children: /* @__PURE__ */ jsxDEV("div", { className: "max-w-3xl mx-auto", children: [
115    /* @__PURE__ */ jsxDEV("div", { className: "flex items-center gap-4 mb-8", children: [
116      /* @__PURE__ */ jsxDEV(
117        Link,
118        {
119          to: "/",
120          className: "p-2 hover:bg-gray-800 rounded-lg transition-colors",
121          children: /* @__PURE__ */ jsxDEV(ArrowLeft, { className: "w-6 h-6" }, void 0, false, {
122            fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
123            lineNumber: 100,
124            columnNumber: 13
125          }, this)
126        },
127        void 0,
128        false,
129        {
130          fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
131          lineNumber: 96,
132          columnNumber: 11
133        },
134        this
135      ),
136      /* @__PURE__ */ jsxDEV("h1", { className: "text-2xl font-bold", children: "Archives" }, void 0, false, {
137        fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
138        lineNumber: 102,
139        columnNumber: 11
140      }, this)
141    ] }, void 0, true, {
142      fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
143      lineNumber: 95,
144      columnNumber: 9
145    }, this),
146    loading ? /* @__PURE__ */ jsxDEV("div", { className: "text-center py-12 text-gray-400", children: "Chargement..." }, void 0, false, {
147      fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
148      lineNumber: 106,
149      columnNumber: 9
150    }, this) : archives.length === 0 ? /* @__PURE__ */ jsxDEV("div", { className: "text-center py-12", children: [
151      /* @__PURE__ */ jsxDEV(Film, { className: "w-16 h-16 mx-auto text-gray-600 mb-4" }, void 0, false, {
152        fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
153        lineNumber: 111,
154        columnNumber: 13
155      }, this),
156      /* @__PURE__ */ jsxDEV("p", { className: "text-gray-400", children: "Aucune video archivee" }, void 0, false, {
157        fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
158        lineNumber: 112,
159        columnNumber: 13
160      }, this)
161    ] }, void 0, true, {
162      fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
163      lineNumber: 110,
164      columnNumber: 9
165    }, this) : /* @__PURE__ */ jsxDEV("div", { className: "space-y-4", children: archives.map(
166      (archive, index) => /* @__PURE__ */ jsxDEV(
167        "div",
168        {
169          className: "bg-gray-800 rounded-xl p-4 flex items-center justify-between",
170          children: [
171            /* @__PURE__ */ jsxDEV("div", { className: "flex items-center gap-4", children: [
172              /* @__PURE__ */ jsxDEV("div", { className: "w-12 h-12 bg-gray-700 rounded-lg flex items-center justify-center", children: /* @__PURE__ */ jsxDEV(Film, { className: "w-6 h-6 text-gray-400" }, void 0, false, {
173                fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
174                lineNumber: 123,
175                columnNumber: 21
176              }, this) }, void 0, false, {
177                fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
178                lineNumber: 122,
179                columnNumber: 19
180              }, this),
181              /* @__PURE__ */ jsxDEV("div", { children: [
182                /* @__PURE__ */ jsxDEV("p", { className: "font-medium", children: archive.original_name }, void 0, false, {
183                  fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
184                  lineNumber: 126,
185                  columnNumber: 21
186                }, this),
187                /* @__PURE__ */ jsxDEV("p", { className: "text-sm text-gray-400", children: formatDate(archive.uploaded_at) }, void 0, false, {
188                  fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
189                  lineNumber: 127,
190                  columnNumber: 21
191                }, this)
192              ] }, void 0, true, {
193                fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
194                lineNumber: 125,
195                columnNumber: 19
196              }, this)
197            ] }, void 0, true, {
198              fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
199              lineNumber: 121,
200              columnNumber: 17
201            }, this),
202            /* @__PURE__ */ jsxDEV("div", { className: "flex items-center gap-6", children: [
203              /* @__PURE__ */ jsxDEV("div", { className: "flex items-center gap-2 text-green-500", children: [
204                /* @__PURE__ */ jsxDEV(ThumbsUp, { className: "w-5 h-5" }, void 0, false, {
205                  fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
206                  lineNumber: 135,
207                  columnNumber: 21
208                }, this),
209                /* @__PURE__ */ jsxDEV("span", { className: "font-medium", children: archive.thumbs_up }, void 0, false, {
210                  fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
211                  lineNumber: 136,
212                  columnNumber: 21
213                }, this)
214              ] }, void 0, true, {
215                fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
216                lineNumber: 134,
217                columnNumber: 19
218              }, this),
219              /* @__PURE__ */ jsxDEV("div", { className: "flex items-center gap-2 text-red-500", children: [
220                /* @__PURE__ */ jsxDEV(Heart, { className: "w-5 h-5" }, void 0, false, {
221                  fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
222                  lineNumber: 139,
223                  columnNumber: 21
224                }, this),
225                /* @__PURE__ */ jsxDEV("span", { className: "font-medium", children: archive.hearts }, void 0, false, {
226                  fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
227                  lineNumber: 140,
228                  columnNumber: 21
229                }, this)
230              ] }, void 0, true, {
231                fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
232                lineNumber: 138,
233                columnNumber: 19
234              }, this),
235              /* @__PURE__ */ jsxDEV("div", { className: "flex items-center gap-2 text-gray-400", children: [
236                /* @__PURE__ */ jsxDEV(ThumbsDown, { className: "w-5 h-5" }, void 0, false, {
237                  fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
238                  lineNumber: 143,
239                  columnNumber: 21
240                }, this),
241                /* @__PURE__ */ jsxDEV("span", { className: "font-medium", children: archive.thumbs_down }, void 0, false, {
242                  fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
243                  lineNumber: 144,
244                  columnNumber: 21
245                }, this)
246              ] }, void 0, true, {
247                fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
248                lineNumber: 142,
249                columnNumber: 19
250              }, this)
251            ] }, void 0, true, {
252              fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
253              lineNumber: 133,
254              columnNumber: 17
255            }, this)
256          ]
257        },
258        index,
259        true,
260        {
261          fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
262          lineNumber: 117,
263          columnNumber: 11
264        },
265        this
266      )
267    ) }, void 0, false, {
268      fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
269      lineNumber: 115,
270      columnNumber: 9
271    }, this)
272  ] }, void 0, true, {
273    fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
274    lineNumber: 93,
275    columnNumber: 7
276  }, this) }, void 0, false, {
277    fileName: "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx",
278    lineNumber: 92,
279    columnNumber: 5
280  }, this);
281}
282_s(ArchivesPage, "v16M0A4XhvzHxOxvvY/xizFZYDM=");
283_c = ArchivesPage;
284var _c;
285$RefreshReg$(_c, "ArchivesPage");
286import * as RefreshRuntime from "/@react-refresh";
287const inWebWorker = typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope;
288if (import.meta.hot && !inWebWorker) {
289  if (!window.$RefreshReg$) {
290    throw new Error(
291      "@vitejs/plugin-react can't detect preamble. Something is wrong."
292    );
293  }
294  RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => {
295    RefreshRuntime.registerExportsForReactRefresh("/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx", currentExports);
296    import.meta.hot.accept((nextExports) => {
297      if (!nextExports) return;
298      const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate("/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx", currentExports, nextExports);
299      if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage);
300    });
301  });
302}
303function $RefreshReg$(type, id) {
304  return RefreshRuntime.register(type, "/home/clad/1day1vid/frontend/src/pages/ArchivesPage.tsx " + id);
305}
306function $RefreshSig$() {
307  return RefreshRuntime.createSignatureFunctionForTransform();
308}
309
310//# sourceMappingURL=data:application/json;base64,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BQUE7QUFBQSx1QkFBbUQ7QUFBQSxtQkFGckQ7QUFBQTtBQUFBO0FBQUE7QUFBQSxxQkFHQTtBQUFBLGlCQVpGO0FBQUE7QUFBQTtBQUFBO0FBQUEsbUJBYUE7QUFBQTtBQUFBO0FBQUEsUUE1QktMO0FBQUFBLFFBRFA7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQThCQTtBQUFBLElBQ0QsS0FqQ0g7QUFBQTtBQUFBO0FBQUE7QUFBQSxXQWtDQTtBQUFBLE9BeERKO0FBQUE7QUFBQTtBQUFBO0FBQUEsU0EwREEsS0EzREY7QUFBQTtBQUFBO0FBQUE7QUFBQSxTQTREQTtBQUVKO0FBQUNyQyxHQTFJdUJELGNBQVk7QUFBQTRDLEtBQVo1QztBQUFZLElBQUE0QztBQUFBQyxhQUFBRCxJQUFBIiwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJMaW5rIiwiQXJyb3dMZWZ0IiwiVGh1bWJzVXAiLCJIZWFydCIsIlRodW1ic0Rvd24iLCJGaWxtIiwiTG9jayIsIlBBU1NXT1JEIiwiQXJjaGl2ZXNQYWdlIiwiX3MiLCJpc0F1dGhlbnRpY2F0ZWQiLCJzZXRJc0F1dGhlbnRpY2F0ZWQiLCJzZXNzaW9uU3RvcmFnZSIsImdldEl0ZW0iLCJwYXNzd29yZCIsInNldFBhc3N3b3JkIiwiYXV0aEVycm9yIiwic2V0QXV0aEVycm9yIiwiYXJjaGl2ZXMiLCJzZXRBcmNoaXZlcyIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiaGFuZGxlTG9naW4iLCJlIiwicHJldmVudERlZmF1bHQiLCJzZXRJdGVtIiwiZmV0Y2hBcmNoaXZlcyIsInJlcyIsImZldGNoIiwiZGF0YSIsImpzb24iLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJ0YXJnZXQiLCJ2YWx1ZSIsImZvcm1hdERhdGUiLCJkYXRlU3RyIiwiRGF0ZSIsInRvTG9jYWxlRGF0ZVN0cmluZyIsImRheSIsIm1vbnRoIiwieWVhciIsImxlbmd0aCIsIm1hcCIsImFyY2hpdmUiLCJpbmRleCIsIm9yaWdpbmFsX25hbWUiLCJ1cGxvYWRlZF9hdCIsInRodW1ic191cCIsImhlYXJ0cyIsInRodW1ic19kb3duIiwiX2MiLCIkUmVmcmVzaFJlZyQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOlsiQXJjaGl2ZXNQYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcbmltcG9ydCB7IEFycm93TGVmdCwgVGh1bWJzVXAsIEhlYXJ0LCBUaHVtYnNEb3duLCBGaWxtLCBMb2NrIH0gZnJvbSAnbHVjaWRlLXJlYWN0J1xuXG5jb25zdCBQQVNTV09SRCA9ICdiYjgnXG5cbmludGVyZmFjZSBBcmNoaXZlRW50cnkge1xuICBvcmlnaW5hbF9uYW1lOiBzdHJpbmdcbiAgdXBsb2FkZWRfYXQ6IHN0cmluZ1xuICBhcmNoaXZlZF9hdDogc3RyaW5nXG4gIHRodW1ic191cDogbnVtYmVyXG4gIGhlYXJ0czogbnVtYmVyXG4gIHRodW1ic19kb3duOiBudW1iZXJcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQXJjaGl2ZXNQYWdlKCkge1xuICBjb25zdCBbaXNBdXRoZW50aWNhdGVkLCBzZXRJc0F1dGhlbnRpY2F0ZWRdID0gdXNlU3RhdGUoXG4gICAgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnMWRheTF2aWRfYXV0aCcpID09PSAndHJ1ZSdcbiAgKVxuICBjb25zdCBbcGFzc3dvcmQsIHNldFBhc3N3b3JkXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbYXV0aEVycm9yLCBzZXRBdXRoRXJyb3JdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgW2FyY2hpdmVzLCBzZXRBcmNoaXZlc10gPSB1c2VTdGF0ZTxBcmNoaXZlRW50cnlbXT4oW10pXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpXG5cbiAgY29uc3QgaGFuZGxlTG9naW4gPSAoZTogUmVhY3QuRm9ybUV2ZW50KSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgaWYgKHBhc3N3b3JkID09PSBQQVNTV09SRCkge1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnMWRheTF2aWRfYXV0aCcsICd0cnVlJylcbiAgICAgIHNldElzQXV0aGVudGljYXRlZCh0cnVlKVxuICAgICAgc2V0QXV0aEVycm9yKGZhbHNlKVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRBdXRoRXJyb3IodHJ1ZSlcbiAgICB9XG4gI
310H1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNBdXRoZW50aWNhdGVkKSByZXR1cm5cbiAgICBjb25zdCBmZXRjaEFyY2hpdmVzID0gYXN5bmMgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goJy9hcGkvYXJjaGl2ZXMnKVxuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzLmpzb24oKVxuICAgICAgICBzZXRBcmNoaXZlcyhkYXRhLmFyY2hpdmVzKVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBhcmNoaXZlczonLCBlcnIpXG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgfVxuICAgIH1cbiAgICBmZXRjaEFyY2hpdmVzKClcbiAgfSwgW2lzQXV0aGVudGljYXRlZF0pXG5cbiAgaWYgKCFpc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LWZ1bGwgbWluLWgtZnVsbCBiZy1ncmF5LTkwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBwLThcIj5cbiAgICAgICAgPGZvcm0gb25TdWJtaXQ9e2hhbmRsZUxvZ2lufSBjbGFzc05hbWU9XCJiZy1ncmF5LTgwMCBwLTggcm91bmRlZC0yeGwgdy1mdWxsIG1heC13LXNtXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktY2VudGVyIG1iLTZcIj5cbiAgICAgICAgICAgIDxMb2NrIGNsYXNzTmFtZT1cInctMTIgaC0xMiB0ZXh0LWdyYXktNDAwXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGQgdGV4dC1jZW50ZXIgbWItNlwiPkFjY2VzIHByb3RlZ2U8L2gxPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgIHZhbHVlPXtwYXNzd29yZH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0UGFzc3dvcmQoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJNb3QgZGUgcGFzc2VcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgdy1mdWxsIHB4LTQgcHktMyBiZy1ncmF5LTcwMCByb3VuZGVkLWxnIG1iLTQgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiAke1xuICAgICAgICAgICAgICBhdXRoRXJyb3IgPyAncmluZy0yIHJpbmctcmVkLTUwMCcgOiAnZm9jdXM6cmluZy1ibHVlLTUwMCdcbiAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgLz5cbiAgICAgICAgICB7YXV0aEVycm9yICYmIDxwIGNsYXNzTmFtZT1cInRleHQtcmVkLTUwMCB0ZXh0LXNtIG1iLTRcIj5Nb3QgZGUgcGFzc2UgaW5jb3JyZWN0PC9wPn1cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCBweS0zIGJnLWJsdWUtNjAwIGhvdmVyOmJnLWJsdWUtNzAwIHJvdW5kZWQtbGcgZm9udC1tZWRpdW0gdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEVudHJlclxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Zvcm0+XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cblxuICBjb25zdCBmb3JtYXREYXRlID0gKGRhdGVTdHI6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlU3RyKS50b0xvY2FsZURhdGVTdHJpbmcoJ2ZyLUZSJywge1xuICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICBtb250aDogJ2xvbmcnLFxuICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsIG1pbi1oLWZ1bGwgYmctZ3JheS05MDAgcC04XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTN4bCBteC1hdXRvXCI+XG4gICAgICAgIHsvKiBIZWFkZXIgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTQgbWItOFwiPlxuICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICB0bz1cIi9cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwicC0yIGhvdmVyOmJnLWdyYXktODAwIHJvdW5kZWQtbGcgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxBcnJvd0xlZnQgY2xhc3NOYW1lPVwidy02IGgtNlwiIC8+XG4gICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LWJvbGRcIj5BcmNoaXZlczwvaDE+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgcHktMTIgdGV4dC1ncmF5LTQwMFwiPlxuICAgICAgICAgICAgQ2hhcmdlbWVudC4uLlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogYXJjaGl2ZXMubGVuZ3RoID09PSAwID8gKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgcHktMTJcIj5cbiAgICAgICAgICAgIDxGaWxtIGNsYXNzTmFtZT1cInctMTYgaC0xNiBteC1hdXRvIHRleHQtZ3JheS02MDAgbWItNFwiIC8+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNDAwXCI+QXVjdW5lIHZpZGVvIGFyY2hpdmVlPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS00XCI+XG4gICAgICAgICAgICB7YXJjaGl2ZXMubWFwKChhcmNoaXZlLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJiZy1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTEyIGgtMTIgYmctZ3JheS03MDAgcm91bmRlZC1sZyBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8RmlsbSBjbGFzc05hbWU9XCJ3LTYgaC02IHRleHQtZ3JheS00MDBcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb250LW1lZGl1bVwiPnthcmNoaXZlLm9yaWdpbmFsX25hbWV9PC9wPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtZ3JheS00MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7Zm9ybWF0RGF0ZShhcmNoaXZlLnVwbG9hZGVkX2F0KX1cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC02XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtZ3JlZW4tNTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxUaHVtYnNVcCBjbGFzc05hbWU9XCJ3LTUgaC01XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1tZWRpdW1cIj57YXJjaGl2ZS50aHVtYnNfdXB9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtcmVkLTUwMFwiPlxuICAgICAgICAgICAgICAgICAgICA8SGVhcnQgY2xhc3NOYW1lPVwidy01IGgtNVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtXCI+e2FyY2hpdmUuaGVhcnRzfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LWdyYXktNDAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxUaHVtYnNEb3duIGNsYXNzTmFtZT1cInctNSBoLTVcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmb250LW1lZGl1bVwiPnthcmNoaXZlLnRodW1ic19kb3dufTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJmaWxlIjoiL2hvbWUvY2xhZC8xZGF5MXZpZC9mcm9udGVuZC9zcmMvcGFnZXMvQXJjaGl2ZXNQYWdlLnRzeCJ9

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.