PageSourceSearch

https://www.ibf.com.kh/assets/EventsListPage.d066a9c8.js

js ibf.com.kh collected 2026-10-09 21:43:19 UTC 20,976 bytes, 212 lines download raw bytes

1import { Q as QImg } from "./QImg.2c2206c3.js";
2import { _ as _export_sfc, a8 as useRouter, r as ref, o as onMounted, m as openBlock, A as createBlock, x as withCtx, aK as Plugin, aL as contentAPI, p as createBaseVNode, j as createVNode, n as createElementBlock, y as renderList, F as Fragment, aN as QCard, C as QSeparator, aM as QCardSection, Q as QIcon, t as toDisplayString, B as createTextVNode, v as createCommentVNode, b3 as QCardActions, a5 as QBtn, R as Notify } from "./index.6f7a794b.js";
3import { Q as QSpace } from "./QSpace.7ae45c8f.js";
4import { Q as QTooltip } from "./QTooltip.5e4bf348.js";
5import { Q as QPage } from "./QPage.89183c37.js";
6import { B as BackBtnPrimary } from "./BackBtnPrimary.eb804f1c.js";
7import { T as TitleSubtitleComponent } from "./TitleSubtitleComponent.c8e2bb80.js";
8import { c as copyToClipboard } from "./copy-to-clipboard.51f3d532.js";
9import { s as slugifyEvent, e as eventDetailAbsoluteUrl } from "./eventDetailUrl.8ebded9d.js";
10import "./position-engine.d1b7c8f1.js";
11import "./selection.31c0c870.js";
12import "./QItem.0e5842fe.js";
13var EventsListPage_vue_vue_type_style_index_0_scoped_true_lang = "";
14const _hoisted_1 = { class: "ibf-container-1200 q-pa-sm" };
15const _hoisted_2 = {
16  class: "q-mb-md bg-white",
17  style: { "width": "100px" },
18  square: ""
19};
20const _hoisted_3 = { class: "row q-col-gutter-lg q-py-md" };
21const _hoisted_4 = { class: "row items-center" };
22const _hoisted_5 = { class: "row items-center text-weight-medium text-grey-6 ibf-h10" };
23const _hoisted_6 = {
24  class: "text-weight-medium text-grey-8 ibf-h10 ellipsis-3-lines q-py-sm",
25  style: { "height": "80px" }
26};
27const _hoisted_7 = { class: "text-grey-6 row items-center q-py-xs" };
28const _hoisted_8 = { key: 0 };
29const _hoisted_9 = ["href"];
30const _hoisted_10 = {
31  key: 1,
32  class: "text-grey ibf-h11 text-weight-medium",
33  style: { "pointer-events": "none", "opacity": "0.6" }
34};
35const defaultImage = "https://d3vqngrz5yv56i.cloudfront.net/images/rTYPOAXSuiutbxoQShcoSUAxVnpNDQl9sEXLFcN0.jpg";
36const _sfc_main = {
37  __name: "EventsListPage",
38  setup(__props) {
39    const router = useRouter();
40    const eventList = ref([]);
41    const fetchEventData = async () => {
42      try {
43        Plugin.show();
44        const { data } = await contentAPI.get("/api/get/event");
45        eventList.value = data.data;
46      } catch (err) {
47        eventList.value = null;
48        console.error("Failed to fetch event", err);
49      } finally {
50        Plugin.hide();
51      }
52    };
53    onMounted(() => {
54      fetchEventData();
55    });
56    function goToDetail(itemEvent) {
57      const slug = slugifyEvent(itemEvent);
58      if (!slug)
59        return;
60      router.push({ name: "event-detail-page", params: { slug } });
61    }
62    async function copyEventLink(itemEvent) {
63      const url = eventDetailAbsoluteUrl(itemEvent, router);
64      if (!url) {
65        Notify.create({
66          type: "negative",
67          position: "top-right",
68          message: "Could not build event link."
69        });
70        return;
71      }
72      try {
73        await copyToClipboard(url);
74        Notify.create({
75          type: "positive",
76          position: "top-right",
77          message: "Event link copied \u2014 paste into your QR generator."
78        });
79      } catch {
80        Notify.create({
81          type: "negative",
82          position: "top-right",
83          message: "Failed to copy link."
84        });
85      }
86    }
87    return (_ctx, _cache) => {
88      return openBlock(), createBlock(QPage, {
89        padding: "",
90        style: { "min-height": "800px" }
91      }, {
92        default: withCtx(() => [
93          createBaseVNode("div", _hoisted_1, [
94            createBaseVNode("div", _hoisted_2, [
95              createVNode(BackBtnPrimary, {
96                route_name: "home-page",
97                style: { "width": "100px" }
98              })
99            ]),
100            createVNode(TitleSubtitleComponent, null, {
101              title: withCtx(() => [..._cache[0] || (_cache[0] = [
102                createBaseVNode("div", { class: "ibf-h3" }, "Events & Updates", -1)
103              ])]),
104              _: 1
105            }),
106            createBaseVNode("div", _hoisted_3, [
107              (openBlock(true), createElementBlock(Fragment, null, renderList(eventList.value, (itemEvent) => {
108                return openBlock(), createElementBlock("div", {
109                  class: "col-12 col-md-4",
110                  key: itemEvent.id
111                }, [
112                  createVNode(QCard, {
113                    class: "ibf-card-3",
114                    square: "",
115                    style: { "height": "510px", "display": "flex", "flex-direction": "column" }
116                  }, {
117                    default: withCtx(() => [
118                      createVNode(QImg, {
119                        fit: 1 / 16,
120                        src: itemEvent.image || defaultImage,
121                        width: "100%",
122                        height: "240px"
123                      }, null, 8, ["src"]),
124                      createVNode(QSeparator, {
125                        inset: "",
126                        color: "grey-4"
127                      }),
128                      createVNode(QCardSection, { class: "q-gutter-y-sm" }, {
129                        default: withCtx(() => [
130                          createBaseVNode("div", _hoisted_4, [
131                            createBaseVNode("div", _hoisted_5, [
132                              createVNode(QIcon, {
133                                name: "event",
134                                size: "18px",
135                                class: "q-mr-xs"
136                              }),
137                              createBaseVNode("span", null, toDisplayString(itemEvent.publish_date), 1)
138                            ])
139                          ]),
140                          createBaseVNode("div", _hoisted_6, toDisplayString(itemEvent.title), 1),
141                          createBaseVNode("div", _hoisted_7, [
142                            createVNode(QIcon, {
143                              name: "mdi-map-marker",
144                              size: "xs",
145                              class: "q-mr-xs"
146                            }),
147                            createTextVNode(" " + toDisplayString(itemEvent.location || "Not yet"), 1)
148                          ]),
149                          itemEvent.link ? (openBlock(), createElementBlock("div", _hoisted_8, [
150                            itemEvent.is_active ? (openBlock(), createElementBlock("a", {
151                              key: 0,
152                              href: itemEvent.link,
153                              target: "_blank",
154                              class: "text-primary ibf-h11 text-weight-medium"
155                            }, " Register Here ", 8, _hoisted_9)) : (openBlock(), createElementBlock("span", _hoisted_10, " Registration Closeds "))
156                          ])) : createCommentVNode("", true)
157                        ]),
158                        _: 2
159                      }, 1024),
160                      createVNode(QSpace),
161                      createVNode(QCardActions, {
162                        align: "right",
163                        class: "q-gutter-xs"
164                      }, {
165                        default: withCtx(() => [
166                          createVNode(QBtn, {
167                            flat: "",
168                            dense: "",
169                            color: "primary",
170                            size: "md",
171                            icon: "mdi-link-variant",
172                            class: "text-weight-medium text-capitalize",
173                            onClick: ($event) => copyEventLink(itemEvent)
174                          }, {
175                            default: withCtx(() => [
176                              createVNode(QTooltip, null, {
177                                default: withCtx(() => [..._cache[1] || (_cache[1] = [
178                                  createTextVNode("Copy event link for QR", -1)
179                                ])]),
180                                _: 1
181                              })
182                            ]),
183                            _: 1
184                          }, 8, ["onClick"]),
185                          createVNode(QBtn, {
186                            flat: "",
187                            color: "grey-6",
188                            size: "md",
189                            label: "Learn More",
190                            "icon-right": "mdi-chevron-right",
191                            class: "text-weight-medium text-capitalize",
192                            onClick: ($event) => goToDetail(itemEvent)
193                          }, null, 8, ["onClick"])
194                        ]),
195                        _: 2
196                      }, 1024)
197                    ]),
198                    _: 2
199                  }, 1024)
200                ]);
201              }), 128))
202            ])
203          ])
204        ]),
205        _: 1
206      });
207    };
208  }
209};
210var EventsListPage = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-23fd20c9"], ["__file", "EventsListPage.vue"]]);
211export { EventsListPage as default };
212//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRzTGlzdFBhZ2UuZDA2NmE5YzguanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9ldmVudHMvRXZlbnRzTGlzdFBhZ2UudnVlIl0sInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cbiAgPHEtcGFnZSBwYWRkaW5nIHN0eWxlPVwibWluLWhlaWdodDogODAwcHhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaWJmLWNvbnRhaW5lci0x
212MjAwIHEtcGEtc21cIj5cbiAgICAgIDwhLS0gYnRuIGJhY2sgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwicS1tYi1tZCBiZy13aGl0ZVwiIHN0eWxlPVwid2lkdGg6IDEwMHB4XCIgc3F1YXJlPlxuICAgICAgICA8QmFja0J0blByaW1hcnkgcm91dGVfbmFtZT1cImhvbWUtcGFnZVwiIHN0eWxlPVwid2lkdGg6IDEwMHB4XCIgLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIFRpdGxlIC0tPlxuICAgICAgPFRpdGxlU3VidGl0bGVDb21wb25lbnQ+XG4gICAgICAgIDx0ZW1wbGF0ZSAjdGl0bGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImliZi1oM1wiPkV2ZW50cyAmIFVwZGF0ZXM8L2Rpdj5cbiAgICAgICAgPC90ZW1wbGF0ZT5cbiAgICAgIDwvVGl0bGVTdWJ0aXRsZUNvbXBvbmVudD5cblxuICAgICAgPCEtLSBHZXQgRXZlbnRzIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBxLWNvbC1ndXR0ZXItbGcgcS1weS1tZFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTRcIlxuICAgICAgICAgIHYtZm9yPVwiaXRlbUV2ZW50IGluIGV2ZW50TGlzdFwiXG4gICAgICAgICAgOmtleT1cIml0ZW1FdmVudC5pZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8cS1jYXJkXG4gICAgICAgICAgICBjbGFzcz1cImliZi1jYXJkLTNcIlxuICAgICAgICAgICAgc3F1YXJlXG4gICAgICAgICAgICBzdHlsZT1cImhlaWdodDogNTEwcHg7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW5cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDwhLS0gaW1hZ2UgLS0+XG4gICAgICAgICAgICA8cS1pbWdcbiAgICAgICAgICAgICAgOmZpdD1cIjEgLyAxNlwiXG4gICAgICAgICAgICAgIDpzcmM9XCJpdGVtRXZlbnQuaW1hZ2UgfHwgZGVmYXVsdEltYWdlXCJcbiAgICAgICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMjQwcHhcIlxuICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgPHEtc2VwYXJhdG9yIGluc2V0IGNvbG9yPVwiZ3JleS00XCIgLz5cblxuICAgICAgICAgICAgPHEtY2FyZC1zZWN0aW9uIGNsYXNzPVwicS1ndXR0ZXIteS1zbVwiPlxuICAgICAgICAgICAgICA8IS0tIHB1Ymxpc2ggZGF0ZSArIGZlZSAtLT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInJvdyBpdGVtcy1jZW50ZXIgdGV4dC13ZWlnaHQtbWVkaXVtIHRleHQtZ3JleS02IGliZi1oMTBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxxLWljb24gbmFtZT1cImV2ZW50XCIgc2l6ZT1cIjE4cHhcIiBjbGFzcz1cInEtbXIteHNcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbUV2ZW50LnB1Ymxpc2hfZGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwhLS0gdGl0bGUgLS0+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtd2VpZ2h0LW1lZGl1bSB0ZXh0LWdyZXktOCBpYmYtaDEwIGVsbGlwc2lzLTMtbGluZXMgcS1weS1zbVwiXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDgwcHhcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaXRlbUV2ZW50LnRpdGxlIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8IS0tIExvY2F0aW9uIC0tPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1ncmV5LTYgcm93IGl0ZW1zLWNlbnRlciBxLXB5LXhzXCI+XG4gICAgICAgICAgICAgICAgPHEtaWNvbiBuYW1lPVwibWRpLW1hcC1tYXJrZXJcIiBzaXplPVwieHNcIiBjbGFzcz1cInEtbXIteHNcIiAvPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW1FdmVudC5sb2NhdGlvbiB8fCBcIk5vdCB5ZXRcIiB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPCEtLSBSZWdpc3RlciBCdXR0b24gLS0+XG4gICAgICAgICAgICAgIDxkaXYgdi1pZj1cIml0ZW1FdmVudC5saW5rXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgIHYtaWY9XCJpdGVtRXZlbnQuaXNfYWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgIDpocmVmPVwiaXRlbUV2ZW50LmxpbmtcIlxuICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1wcmltYXJ5IGliZi1oMTEgdGV4dC13ZWlnaHQtbWVkaXVtXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBSZWdpc3RlciBIZXJlXG4gICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIHYtZWxzZVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWdyZXkgaWJmLWgxMSB0ZXh0LXdlaWdodC1tZWRpdW1cIlxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJwb2ludGVyLWV2ZW50czogbm9uZTsgb3BhY2l0eTogMC42XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBSZWdpc3RyYXRpb24gQ2xvc2Vkc1xuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3EtY2FyZC1zZWN0aW9uPlxuXG4gICAgICAgICAgICA8cS1zcGFjZSAvPlxuICAgICAgICAgICAgPCEtLSBidG4gbGVhcm4gbW9yZSAtLT5cbiAgICAgICAgICAgIDxxLWNhcmQtYWN0aW9ucyBhbGlnbj1cInJpZ2h0XCIgY2xhc3M9XCJxLWd1dHRlci14c1wiPlxuICAgICAgICAgICAgICA8cS1idG5cbiAgICAgICAgICAgICAgICBmbGF0XG4gICAgICAgICAgICAgICAgZGVuc2VcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJtZFwiXG4gICAgICAgICAgICAgICAgaWNvbj1cIm1kaS1saW5rLXZhcmlhbnRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC13ZWlnaHQtbWVkaXVtIHRleHQtY2FwaXRhbGl6ZVwiXG4gICAgICAgICAgICAgICAgQGNsaWNrPVwiY29weUV2ZW50TGluayhpdGVtRXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxxLXRvb2x0aXA+Q29weSBldmVudCBsaW5rIGZvciBRUjwvcS10b29sdGlwPlxuICAgICAgICAgICAgICA8L3EtYnRuPlxuICAgICAgICAgICAgICA8cS1idG5cbiAgICAgICAgICAgICAgICBmbGF0XG4gICAgICAgICAgICAgICAgY29sb3I9XCJncmV5LTZcIlxuICAgICAgICAgICAgICAgI
212HNpemU9XCJtZFwiXG4gICAgICAgICAgICAgICAgbGFiZWw9XCJMZWFybiBNb3JlXCJcbiAgICAgICAgICAgICAgICBpY29uLXJpZ2h0PVwibWRpLWNoZXZyb24tcmlnaHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC13ZWlnaHQtbWVkaXVtIHRleHQtY2FwaXRhbGl6ZVwiXG4gICAgICAgICAgICAgICAgQGNsaWNrPVwiZ29Ub0RldGFpbChpdGVtRXZlbnQpXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvcS1jYXJkLWFjdGlvbnM+XG4gICAgICAgICAgPC9xLWNhcmQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvcS1wYWdlPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdCBzZXR1cD5cbmltcG9ydCBCYWNrQnRuUHJpbWFyeSBmcm9tIFwic3JjL2NvbXBvbmVudHMvdG9vbHMvQmFja0J0blByaW1hcnkudnVlXCI7XG5pbXBvcnQgVGl0bGVTdWJ0aXRsZUNvbXBvbmVudCBmcm9tIFwiLi4vaG9tZS9jb21wb25lbnQvVGl0bGVTdWJ0aXRsZUNvbXBvbmVudC52dWVcIjtcbmltcG9ydCB7IG9uTW91bnRlZCwgcmVmIH0gZnJvbSBcInZ1ZVwiO1xuaW1wb3J0IHsgdXNlUm91dGVyIH0gZnJvbSBcInZ1ZS1yb3V0ZXJcIjtcbmltcG9ydCB7IGNvbnRlbnRBUEkgfSBmcm9tIFwic3JjL2Jvb3QvYXhpb3NcIjtcbmltcG9ydCB7IExvYWRpbmcsIE5vdGlmeSwgY29weVRvQ2xpcGJvYXJkIH0gZnJvbSBcInF1YXNhclwiO1xuaW1wb3J0IHtcbiAgc2x1Z2lmeUV2ZW50LFxuICBldmVudERldGFpbEFic29sdXRlVXJsLFxufSBmcm9tIFwiLi9ldmVudERldGFpbFVybFwiO1xuXG5jb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKTtcbmNvbnN0IGRlZmF1bHRJbWFnZSA9XG4gIFwiaHR0cHM6Ly9kM3ZxbmdyejV5djU2aS5jbG91ZGZyb250Lm5ldC9pbWFnZXMvclRZUE9BWFN1aXV0YnhvUVNoY29TVUF4Vm5wTkRRbDlzRVhMRmNOMC5qcGdcIjtcblxuY29uc3QgZXZlbnRMaXN0ID0gcmVmKFtdKTtcblxuY29uc3QgZmV0Y2hFdmVudERhdGEgPSBhc3luYyAoKSA9PiB7XG4gIHRyeSB7XG4gICAgTG9hZGluZy5zaG93KCk7XG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCBjb250ZW50QVBJLmdldChcIi9hcGkvZ2V0L2V2ZW50XCIpO1xuICAgIGV2ZW50TGlzdC52YWx1ZSA9IGRhdGEuZGF0YTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgZXZlbnRMaXN0LnZhbHVlID0gbnVsbDtcbiAgICBjb25zb2xlLmVycm9yKFwiRmFpbGVkIHRvIGZldGNoIGV2ZW50XCIsIGVycik7XG4gIH0gZmluYWxseSB7XG4gICAgTG9hZGluZy5oaWRlKCk7XG4gIH1cbn07XG5cbm9uTW91bnRlZCgoKSA9PiB7XG4gIGZldGNoRXZlbnREYXRhKCk7XG59KTtcblxuZnVuY3Rpb24gZ29Ub0RldGFpbChpdGVtRXZlbnQpIHtcbiAgY29uc3Qgc2x1ZyA9IHNsdWdpZnlFdmVudChpdGVtRXZlbnQpO1xuICBpZiAoIXNsdWcpIHJldHVybjtcbiAgcm91dGVyLnB1c2goeyBuYW1lOiBcImV2ZW50LWRldGFpbC1wYWdlXCIsIHBhcmFtczogeyBzbHVnIH0gfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNvcHlFdmVudExpbmsoaXRlbUV2ZW50KSB7XG4gIGNvbnN0IHVybCA9IGV2ZW50RGV0YWlsQWJzb2x1dGVVcmwoaXRlbUV2ZW50LCByb3V0ZXIpO1xuICBpZiAoIXVybCkge1xuICAgIE5vdGlmeS5jcmVhdGUoe1xuICAgICAgdHlwZTogXCJuZWdhdGl2ZVwiLFxuICAgICAgcG9zaXRpb246IFwidG9wLXJpZ2h0XCIsXG4gICAgICBtZXNzYWdlOiBcIkNvdWxkIG5vdCBidWlsZCBldmVudCBsaW5rLlwiLFxuICAgIH0pO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRyeSB7XG4gICAgYXdhaXQgY29weVRvQ2xpcGJvYXJkKHVybCk7XG4gICAgTm90aWZ5LmNyZWF0ZSh7XG4gICAgICB0eXBlOiBcInBvc2l0aXZlXCIsXG4gICAgICBwb3NpdGlvbjogXCJ0b3AtcmlnaHRcIixcbiAgICAgIG1lc3NhZ2U6IFwiRXZlbnQgbGluayBjb3BpZWQg4oCUIHBhc3RlIGludG8geW91ciBRUiBnZW5lcmF0b3IuXCIsXG4gICAgfSk7XG4gIH0gY2F0Y2gge1xuICAgIE5vdGlmeS5jcmVhdGUoe1xuICAgICAgdHlwZTogXCJuZWdhdGl2ZVwiLFxuICAgICAgcG9zaXRpb246IFwidG9wLXJpZ2h0XCIsXG4gICAgICBtZXNzYWdlOiBcIkZhaWxlZCB0byBjb3B5IGxpbmsuXCIsXG4gICAgfSk7XG4gIH1cbn1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4uY2FyZC1iYWNrZ3JvdW5kLTEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xufVxuPC9zdHlsZT5cbiJdLCJuYW1lcyI6WyJMb2FkaW5nIiwiX2NyZWF0ZUJsb2NrIiwiX2NyZWF0ZUVsZW1lbnRWTm9kZSIsIl9jcmVhdGVWTm9kZSIsIl9jcmVhdGVFbGVtZW50QmxvY2siLCJfRnJhZ21lbnQiLCJfcmVuZGVyTGlzdCIsIl90b0Rpc3BsYXlTdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE0SEEsTUFBTSxlQUNKOzs7O0FBRkYsVUFBTSxTQUFTLFVBQVM7QUFJeEIsVUFBTSxZQUFZLElBQUksQ0FBQSxDQUFFO0FBRXhCLFVBQU0saUJBQWlCLFlBQVk7QUFDakMsVUFBSTtBQUNGQSxlQUFRLEtBQUk7QUFDWixjQUFNLEVBQUUsS0FBSSxJQUFLLE1BQU0sV0FBVyxJQUFJLGdCQUFnQjtBQUN0RCxrQkFBVSxRQUFRLEtBQUs7QUFBQSxNQUN4QixTQUFRLEtBQVA7QUFDQSxrQkFBVSxRQUFRO0FBQ2xCLGdCQUFRLE1BQU0seUJBQXlCLEdBQU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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.