C++ TensorRT Edge-LLM 边缘推理框架:从原理到实战
1. 为什么需要 Edge-LLM 边缘推理随着大语言模型LLM的快速发展云端推理的延迟、带宽和隐私问题逐渐暴露。将模型部署到终端、边缘网关或嵌入式设备上可以实现低延迟响应、离线可用和数据不出域这正是 Edge-LLM 的核心价值。NVIDIA TensorRT 通过层融合、量化、内核自动调优等技术使大模型在 Jetson 等边缘设备上也能高效运行。2. TensorRT 优化推理的核心原理TensorRT 是 NVIDIA 推出的高性能深度学习推理优化器和运行时。它通过以下关键手段加速模型层融合与张量融合将多个可合并的层如 ConvBNReLU合并为单一内核减少内存访问和内核启动开销。精度校准与量化支持 FP16、INT8 甚至 INT4 推理在几乎不损失精度的前提下显著降低计算量和内存占用。内核自动调优针对目标 GPU 的架构特性自动选择最优的计算内核实现。动态形状支持通过 Optimization Profile 处理变长输入满足 LLM 不同的序列长度需求。3. Edge-LLM 框架概览Edge-LLM 是一个面向边缘场景的轻量级大模型推理框架通常提供以下能力模型导出与转换将从 HuggingFace 等库得到的 PyTorch 模型转换为 ONNX再构建为 TensorRT Engine。推理引擎抽象封装 TensorRT Runtime提供简洁的 Load Engine、Run Inference、Post-processing 接口。Token 生成管理实现 KV Cache、重复惩罚、停止词等生成策略。资源管理针对边缘设备内存有限的特点管理上下文本窗口和显存分配。4. C 集成 TensorRT Edge-LLM 实战下面通过一个简化的 C 示例展示如何加载一个 TensorRT Engine 并执行一次 LLM 推理。4.1 加载 TensorRT Engine#include NvInfer.h #include iostream #include fstream #include vector class RTInference { public: RTInference(const std::string engine_path) { // 读取序列化引擎文件 std::ifstream file(engine_path, std::ios::binary); file.seekg(0, std::ios::end); size_t size file.tellg(); file.seekg(0, std::ios::beg); std::vectorchar buffer(size); file.read(buffer.data(), size); // 创建 TensorRT runtime 并反序列化引擎 nvinfer1::IRuntime* runtime nvinfer1::createInferRuntime(gLogger); engine_ runtime-deserializeCudaEngine(buffer.data(), size); context_ engine_-createExecutionContext(); } // ... 省略推理、内存管理等细节 private: nvinfer1::ICudaEngine* engine_; nvinfer1::IExecutionContext* context_; };4.2 执行单步推理LLM 推理通常是自回归过程每次输入当前的 token 序列得到下一个 token 的 logits再通过采样得到新 token 并拼接到输入。这里以一次前向传播为例void RTInference::infer(int32_t* input, int32_t* output, int seq_len) { // 分配输入输出 buffer简单示例实际需管理显存 void* buffers[2]; cudaMalloc(buffers[0], seq_len * sizeof(int32_t)); cudaMalloc(buffers[1], seq_len * vocab_size * sizeof(float)); // 拷贝输入到 GPU cudaMemcpy(buffers[0], input, seq_len * sizeof(int32_t), cudaMemcpyHostToDevice); // 执行推理 context_-executeV2(buffers); // 拷贝输出回 CPU cudaMemcpy(output, buffers[1], seq_len * vocab_size * sizeof(float), cudaMemcpyDeviceToHost); cudaFree(buffers[0]); cudaFree(buffers[1]); }4.3 KV Cache 管理对于 LLM 的高效推理必须实现 KV Cache 以避免重复计算。在 Edge-LLM 中通常使用 past_key_values 作为额外输入输出存储每一层的键和值张量并在每一轮生成时更新。由于篇幅限制此处不展开全部代码但基本思路是首次推理后保存 KV后续推理只输入最后一个 token并传入之前的 KV。5. 性能优化与部署建议量化方案选择优先尝试 INT8 量化若精度损失明显再考虑 FP16。Jetson 设备上 INT8 推理速度可提升 2-4 倍。多流并发利用多个 CUDA Stream 实现请求并发处理提高吞吐。内存池预分配启动时一次性分配最大推理所需显存避免运行时反复 malloc/free。使用专属编译选项编译时指定目标 GPU 架构如 -gencodearchcompute_87,codesm_87以获得最佳内核性能。模型超参数调整适当减小 max_batch_size 或 max_sequence_length 可降低内存占用。6. 总结TensorRT Edge-LLM 为边缘设备上运行大语言模型提供了高效路径。通过 C 直接操作 TensorRT Runtime可以获得最低的推理延迟和最佳的资源利用率。在实际项目中结合模型量化、KV Cache、流并发等技术能让 7B 甚至 13B 参数模型在 Jetson Orin 等设备上以可接受的交互速度运行。希望本文能帮助读者快速搭建自己的边缘推理框架。https://github.com/andrerosla/nthday/blob/main/20260706_Ebsw7.mdhttps://github.com/phmat88/jfmqar/blob/main/20260706_ySPqD.mdhttps://github.com/andrerosla/ihymty/blob/main/20260706_AOpCT.mdhttps://github.com/phmat88/veyasu/blob/main/20260706_5Zaa7.mdhttps://github.com/andrerosla/cbyxsx/blob/main/20260706_7fmzT.mdhttps://github.com/phmat88/hybjkq/blob/main/20260706_Ae75W.mdhttps://github.com/mfitzhei/tqvbds/blob/main/20260706_z6Kol.mdhttps://github.com/ryinbale/jlvwup/blob/main/20260706_lfUB4.mdhttps://github.com/ossoyuker/zyqbmt/blob/main/20260706_Cc0HL.mdhttps://github.com/dakidsea/hxmnrn/blob/main/20260706_UoVs9.mdhttps://github.com/minkirl/wrwhfo/blob/main/20260706_ZdG4e.mdhttps://github.com/allenstano/uiuzjt/blob/main/20260706_29tNr.mdhttps://github.com/danielho24/kdemtv/blob/main/20260706_CdXLS.mdhttps://github.com/mfitzhei/tqvbds/blob/main/20260706_59m3b.mdhttps://github.com/mobileboy3/nqkywg/blob/main/20260706_SJX1V.mdhttps://github.com/bthaf2004/bkocaw/blob/main/20260706_8ZwDH.mdhttps://github.com/nurzon-dev/xjdsgn/blob/main/20260706_tQ0hb.mdhttps://github.com/aspokcanno/fraecr/blob/main/20260706_TXevT.mdhttps://github.com/asdfzdimua/jzbtxg/blob/main/20260706_fPw0A.mdhttps://github.com/clutch4gra/wwwoaw/blob/main/20260706_97XPg.mdhttps://github.com/brunofco/hlxljy/blob/main/20260706_JhUbp.mdhttps://github.com/angelodeis/fqexcl/blob/main/20260706_zgaub.mdhttps://github.com/codedatest/educwb/blob/main/20260706_hHVwp.mdhttps://github.com/zapiki/vuzqht/blob/main/20260706_8vZqu.mdhttps://github.com/moobeed/glaqyx/blob/main/20260706_J7EyS.mdhttps://github.com/fold98scen/dsejbt/blob/main/20260706_tH12Z.mdhttps://github.com/cbroend/yjecnj/blob/main/20260706_2g0ey.mdhttps://github.com/cratebone5/nompsy/blob/main/20260706_bvcWJ.mdhttps://github.com/peitto/fafcti/blob/main/20260706_QDK4Y.mdhttps://github.com/mindgate2/llcyzy/blob/main/20260706_xlL2w.mdhttps://github.com/flamingoun/mrztix/blob/main/20260706_dndLF.mdhttps://github.com/janttung/qwpsgv/blob/main/20260706_pcGX5.mdhttps://github.com/marcligen/blilbc/blob/main/20260706_FPGxr.mdhttps://github.com/leofaras/dbjkmg/blob/main/20260706_MmARU.mdhttps://github.com/cassibenal/ejdfwo/blob/main/20260706_8wWD7.mdhttps://github.com/minkirl/wrwhfo/blob/main/20260706_9DrBp.mdhttps://github.com/allenstano/uiuzjt/blob/main/20260706_6XvBF.mdhttps://github.com/ryinbale/jlvwup/blob/main/20260706_nnLSf.mdhttps://github.com/dakidsea/hxmnrn/blob/main/20260706_7v2Fj.mdhttps://github.com/danielho24/kdemtv/blob/main/20260706_1FCd0.mdhttps://github.com/ossoyuker/zyqbmt/blob/main/20260706_nrVmp.mdhttps://github.com/ilenagress/aobsux/blob/main/20260706_b8Bp6.mdhttps://github.com/brunofco/hlxljy/blob/main/20260706_D18Pw.mdhttps://github.com/nurzon-dev/xjdsgn/blob/main/20260706_G0XbF.mdhttps://github.com/angelodeis/fqexcl/blob/main/20260706_a4Y2W.mdhttps://github.com/bthaf2004/bkocaw/blob/main/20260706_oSFMa.mdhttps://github.com/mobileboy3/nqkywg/blob/main/20260706_elW26.mdhttps://github.com/mfitzhei/tqvbds/blob/main/20260706_nu8c5.mdhttps://github.com/aspokcanno/fraecr/blob/main/20260706_SjnRl.mdhttps://github.com/obuyrojeha/umshjk/blob/main/20260706_1B2Gk.mdhttps://github.com/wpajus/swhwkm/blob/main/20260706_hVcpJ.mdhttps://github.com/clutch4gra/wwwoaw/blob/main/20260706_BSWAU.mdhttps://github.com/prorive012/lhgwyb/blob/main/20260706_YLSgA.mdhttps://github.com/paulhardis/qlqsyn/blob/main/20260706_biwPt.mdhttps://github.com/moobeed/glaqyx/blob/main/20260706_Aip3X.mdhttps://github.com/codedatest/educwb/blob/main/20260706_ysgJa.mdhttps://github.com/asdfzdimua/jzbtxg/blob/main/20260706_ocFWa.mdhttps://github.com/zapiki/vuzqht/blob/main/20260706_EUYCW.mdhttps://github.com/vutadil/hjqvkz/blob/main/20260706_ovCjJ.mdhttps://github.com/sashisuney/tyhwyz/blob/main/20260706_BFtho.mdhttps://github.com/fold98scen/dsejbt/blob/main/20260706_wCkr4.mdhttps://github.com/mindgate2/llcyzy/blob/main/20260706_jWARV.mdhttps://github.com/peitto/fafcti/blob/main/20260706_3nHkE.mdhttps://github.com/cratebone5/nompsy/blob/main/20260706_fiMdh.mdhttps://github.com/cbroend/yjecnj/blob/main/20260706_R4LP3.mdhttps://github.com/flamingoun/mrztix/blob/main/20260706_qgurl.mdhttps://github.com/ashlaau/odxmsh/blob/main/20260706_ZwghE.mdhttps://github.com/snowfaiz/fcgxza/blob/main/20260706_dH4BO.mdhttps://github.com/ivelobesco/jwocon/blob/main/20260706_eOsMp.mdhttps://github.com/dhankarbec/wgmuvj/blob/main/20260706_mgU7O.mdhttps://github.com/fstaement/fzjhng/blob/main/20260706_Ao8m6.mdhttps://github.com/g85trm/lgeibt/blob/main/20260706_7eiL6.mdhttps://github.com/roundrich/ealnui/blob/main/20260706_XE8v3.mdhttps://github.com/jtempz/lzwtlt/blob/main/20260706_yUYCT.mdhttps://github.com/jichee2010/shsala/blob/main/20260706_DDEHP.mdhttps://github.com/djsstanius/itilod/blob/main/20260706_Bsm6H.mdhttps://github.com/shaanecolu/blrpbq/blob/main/20260706_dqoF9.mdhttps://github.com/note4srica/exeghk/blob/main/20260706_a8ESw.mdhttps://github.com/shenny3123/qsfqpr/blob/main/20260706_fWGkE.mdhttps://github.com/step06mirr/uqofwp/blob/main/20260706_HysCq.mdhttps://github.com/warozgro/qvcnxx/blob/main/20260706_DeYMT.mdhttps://github.com/ar0ymakers/homezu/blob/main/20260706_YoMSg.mdhttps://github.com/cassibenal/ejdfwo/blob/main/20260706_orVpT.mdhttps://github.com/room6nylon/mytnbj/blob/main/20260706_sc6a4.mdhttps://github.com/maid48loan/tznyjy/blob/main/20260706_NrrOS.mdhttps://github.com/zonarloma/modlgj/blob/main/20260706_vf9c6.mdhttps://github.com/forecharim/smyija/blob/main/20260706_hkOfi.mdhttps://github.com/lambert-de/psrrmo/blob/main/20260706_jxRur.mdhttps://github.com/brentchave/oqhiqz/blob/main/20260706_ip30R.mdhttps://github.com/week6toad/ytldaf/blob/main/20260706_Lzmtd.mdhttps://github.com/minkirl/wrwhfo/blob/main/20260706_FIwDH.mdhttps://github.com/singhshelt/pnwecy/blob/main/20260706_Uf2Ip.mdhttps://github.com/aspokcanno/fraecr/blob/main/20260706_ghELZ.mdhttps://github.com/riverearll/xdlwla/blob/main/20260706_Jgx18.mdhttps://github.com/exlantine/icjnrd/blob/main/20260706_Fwqhv.mdhttps://github.com/danielho24/kdemtv/blob/main/20260706_MDRvO.mdhttps://github.com/brunofco/hlxljy/blob/main/20260706_3nHlE.mdhttps://github.com/friloberto/xeztuj/blob/main/20260706_LswZt.mdhttps://github.com/dakidsea/hxmnrn/blob/main/20260706_z3gx1.mdhttps://github.com/wpajus/swhwkm/blob/main/20260706_EsCqA.mdhttps://github.com/mhxcentin/zxpmam/blob/main/20260706_PwWDa.mdhttps://github.com/nurzon-dev/xjdsgn/blob/main/20260706_MThBe.mdhttps://github.com/ryinbale/jlvwup/blob/main/20260706_VpWQE.mdhttps://github.com/paulhardis/qlqsyn/blob/main/20260706_LizXe.mdhttps://github.com/allenstano/uiuzjt/blob/main/20260706_lV26k.mdhttps://github.com/angelodeis/fqexcl/blob/main/20260706_YyMdh.mdhttps://github.com/ilenagress/aobsux/blob/main/20260706_NeiMg.mdhttps://github.com/ossoyuker/zyqbmt/blob/main/20260706_HUvJa.mdhttps://github.com/asdfzdimua/jzbtxg/blob/main/20260706_M67BI.mdhttps://github.com/codedatest/educwb/blob/main/20260706_cJkao.mdhttps://github.com/clutch4gra/wwwoaw/blob/main/20260706_OS6NQ.mdhttps://github.com/prorive012/lhgwyb/blob/main/20260706_HyLc9.mdhttps://github.com/bthaf2004/bkocaw/blob/main/20260706_MGbIB.mdhttps://github.com/moobeed/glaqyx/blob/main/20260706_3rUlp.mdhttps://github.com/obuyrojeha/umshjk/blob/main/20260706_TkoSm.mdhttps://github.com/vutadil/hjqvkz/blob/main/20260706_BvvSW.mdhttps://github.com/zapiki/vuzqht/blob/main/20260706_k8PWk.mdhttps://github.com/mobileboy3/nqkywg/blob/main/20260706_elW3a.mdhttps://github.com/peitto/fafcti/blob/main/20260706_NUEii.mdhttps://github.com/benanta/wjywme/blob/main/20260706_0HvCG.mdhttps://github.com/shoeshell3/ufmoqs/blob/main/20260706_QaR82.mdhttps://github.com/flamingoun/mrztix/blob/main/20260706_rhOIc.mdhttps://github.com/mindgate2/llcyzy/blob/main/20260706_h8Wmq.mdhttps://github.com/fold98scen/dsejbt/blob/main/20260706_KrvYq.mdhttps://github.com/cratebone5/nompsy/blob/main/20260706_dKEYF.mdhttps://github.com/vuvjthiev/tqriti/blob/main/20260706_KO1IM.mdhttps://github.com/cbroend/yjecnj/blob/main/20260706_dJhyY.mdhttps://github.com/snowfaiz/fcgxza/blob/main/20260706_hBBCk.mdhttps://github.com/oceanwinte/vowlpb/blob/main/20260706_PjQo5.mdhttps://github.com/door4chia/ihijqm/blob/main/20260706_DXE8v.mdhttps://github.com/sashisuney/tyhwyz/blob/main/20260706_QNnes.mdhttps://github.com/ashlaau/odxmsh/blob/main/20260706_Wki82.mdhttps://github.com/chrissiman/lgorgv/blob/main/20260706_tNOvz.mdhttps://github.com/pest9pizza/dzuwky/blob/main/20260706_Ctnai.mdhttps://github.com/sessestove/wtsdjs/blob/main/20260706_9m37l.mdhttps://github.com/rellie-zz/odacde/blob/main/20260706_BwwTX.mdhttps://github.com/sajavavisw/pqhigb/blob/main/20260706_9ABEM.mdhttps://github.com/mulginey-j/iogopr/blob/main/20260706_6Nu1E.mdhttps://github.com/patraveler/ccphmy/blob/main/20260706_pN0HL.mdhttps://github.com/ceeukird/jwhaye/blob/main/20260706_Rf96X.mdhttps://github.com/oren-kayak/picqmu/blob/main/20260706_kBYpt.mdhttps://github.com/roryfactor/lqjyab/blob/main/20260706_15CT0.mdhttps://github.com/roundrich/ealnui/blob/main/20260706_nlC6Q.mdhttps://github.com/ivelobesco/jwocon/blob/main/20260706_g7Vmp.mdhttps://github.com/yankhou/dcwztv/blob/main/20260706_XBV9T.mdhttps://github.com/g85trm/lgeibt/blob/main/20260706_aUoSm.mdhttps://github.com/jichee2010/shsala/blob/main/20260706_7OS5M.mdhttps://github.com/fstaement/fzjhng/blob/main/20260706_eI5j0.mdhttps://github.com/dhankarbec/wgmuvj/blob/main/20260706_E1fw0.mdhttps://github.com/djsstanius/itilod/blob/main/20260706_VfWkE.mdhttps://github.com/jayezpriso/kfynbq/blob/main/20260706_8cdAD.mdhttps://github.com/shenny3123/qsfqpr/blob/main/20260706_I9tNN.mdhttps://github.com/room6nylon/mytnbj/blob/main/20260706_DxUYC.mdhttps://github.com/step06mirr/uqofwp/blob/main/20260706_osVGK.mdhttps://github.com/warozgro/qvcnxx/blob/main/20260706_5WuBE.mdhttps://github.com/note4srica/exeghk/blob/main/20260706_nTr79.mdhttps://github.com/jtempz/lzwtlt/blob/main/20260706_6An48.mdhttps://github.com/maid48loan/tznyjy/blob/main/20260706_YLSg9.mdhttps://github.com/forecharim/smyija/blob/main/20260706_QkOBm.mdhttps://github.com/zonarloma/modlgj/blob/main/20260706_JnoLP.mdhttps://github.com/ar0ymakers/homezu/blob/main/20260706_7AIY5.mdhttps://github.com/shaanecolu/blrpbq/blob/main/20260706_VwKbe.mdhttps://github.com/lambert-de/psrrmo/blob/main/20260706_WnrVp.mdhttps://github.com/brentchave/oqhiqz/blob/main/20260706_fQxVf.mdhttps://github.com/week6toad/ytldaf/blob/main/20260706_jnQhl.mdhttps://github.com/singhshelt/pnwecy/blob/main/20260706_d1ov8.mdhttps://github.com/riverearll/xdlwla/blob/main/20260706_29tOO.mdhttps://github.com/exlantine/icjnrd/blob/main/20260706_2j6NR.mdhttps://github.com/jungkendra/wdoema/blob/main/20260706_WxKa8.mdhttps://github.com/cassibenal/ejdfwo/blob/main/20260706_7Bp69.mdhttps://github.com/friloberto/xeztuj/blob/main/20260706_SlPCn.mdhttps://github.com/benanta/wjywme/blob/main/20260706_5iz3A.mdhttps://github.com/ilenagress/aobsux/blob/main/20260706_aN1IM.mdhttps://github.com/shoeshell3/ufmoqs/blob/main/20260706_vYpt0.mdhttps://github.com/mhxcentin/zxpmam/blob/main/20260706_4l9PT.mdhttps://github.com/paulhardis/qlqsyn/blob/main/20260706_h4opM.mdhttps://github.com/wpajus/swhwkm/blob/main/20260706_gtrHf.mdhttps://github.com/prorive012/lhgwyb/blob/main/20260706_hEIvC.mdhttps://github.com/obuyrojeha/umshjk/blob/main/20260706_AxYmF.mdhttps://github.com/vuvjthiev/tqriti/blob/main/20260706_XUvmz.mdhttps://github.com/vutadil/hjqvkz/blob/main/20260706_uYLSf.mdhttps://github.com/marcligen/blilbc/blob/main/20260706_dn7oi.mdhttps://github.com/janttung/qwpsgv/blob/main/20260706_YPd6a.mdhttps://github.com/leofaras/dbjkmg/blob/main/20260706_QxYlC.mdhttps://github.com/oceanwinte/vowlpb/blob/main/20260706_d778f.mdhttps://github.com/sashisuney/tyhwyz/blob/main/20260706_PqhuO.mdhttps://github.com/door4chia/ihijqm/blob/main/20260706_9GUyS.mdhttps://github.com/snowfaiz/fcgxza/blob/main/20260706_Uif6x.mdhttps://github.com/ashlaau/odxmsh/blob/main/20260706_B5szk.mdhttps://github.com/chrissiman/lgorgv/blob/main/20260706_YLc9k.mdhttps://github.com/pest9pizza/dzuwky/blob/main/20260706_LiWdq.mdhttps://github.com/sajavavisw/pqhigb/blob/main/20260706_wnX1V.mdhttps://github.com/patraveler/ccphmy/blob/main/20260706_BYMwd.mdhttps://github.com/mulginey-j/iogopr/blob/main/20260706_whlOf.mdhttps://github.com/sessestove/wtsdjs/blob/main/20260706_0aHBy.mdhttps://github.com/rellie-zz/odacde/blob/main/20260706_OFTQr.mdhttps://github.com/ceeukird/jwhaye/blob/main/20260706_ux5t0.mdhttps://github.com/roryfactor/lqjyab/blob/main/20260706_zwqhO.mdhttps://github.com/yankhou/dcwztv/blob/main/20260706_k3hU5.mdhttps://github.com/oren-kayak/picqmu/blob/main/20260706_IMzJx.mdhttps://github.com/jayezpriso/kfynbq/blob/main/20260706_koSmP.mdhttps://github.com/dhankarbec/wgmuvj/blob/main/20260706_6qrOS.mdhttps://github.com/fstaement/fzjhng/blob/main/20260706_Hs5WQ.mdhttps://github.com/maid48loan/tznyjy/blob/main/20260706_uRV9S.mdhttps://github.com/roundrich/ealnui/blob/main/20260706_WNb5Y.mdhttps://github.com/ivelobesco/jwocon/blob/main/20260706_HYcGa.mdhttps://github.com/note4srica/exeghk/blob/main/20260706_X8Lmg.mdhttps://github.com/jtempz/lzwtlt/blob/main/20260706_TuHYc.mdhttps://github.com/forecharim/smyija/blob/main/20260706_jGNb5.mdhttps://github.com/g85trm/lgeibt/blob/main/20260706_4BPsM.mdhttps://github.com/jichee2010/shsala/blob/main/20260706_qbb8C.mdhttps://github.com/shenny3123/qsfqpr/blob/main/20260706_VgWD7.mdhttps://github.com/djsstanius/itilod/blob/main/20260706_OCp6A.mdhttps://github.com/step06mirr/uqofwp/blob/main/20260706_hy2g0.mdhttps://github.com/room6nylon/mytnbj/blob/main/20260706_kEiCg.mdhttps://github.com/lambert-de/psrrmo/blob/main/20260706_1L2QB.mdhttps://github.com/zonarloma/modlgj/blob/main/20260706_AH12Z.mdhttps://github.com/brentchave/oqhiqz/blob/main/20260706_J6Dyy.mdhttps://github.com/shaanecolu/blrpbq/blob/main/20260706_Hi5MQ.mdhttps://github.com/ar0ymakers/homezu/blob/main/20260706_ZM0HL.mdhttps://github.com/warozgro/qvcnxx/blob/main/20260706_jAYps.mdhttps://github.com/week6toad/ytldaf/blob/main/20260706_2ZdHY.mdhttps://github.com/singhshelt/pnwecy/blob/main/20260706_wWD7R.mdhttps://github.com/exlantine/icjnrd/blob/main/20260706_YptXr.mdhttps://github.com/riverearll/xdlwla/blob/main/20260706_O9gku.mdhttps://github.com/jungkendra/wdoema/blob/main/20260706_ak4lf.mdhttps://github.com/shoeshell3/ufmoqs/blob/main/20260706_5ppMQ.mdhttps://github.com/vuvjthiev/tqriti/blob/main/20260706_RLfIc.mdhttps://github.com/door4chia/ihijqm/blob/main/20260706_qqOUi.mdhttps://github.com/oceanwinte/vowlpb/blob/main/20260706_VMZ0N.mdhttps://github.com/mulginey-j/iogopr/blob/main/20260706_2mnqy.mdhttps://github.com/sajavavisw/pqhigb/blob/main/20260706_SjnRl.mdhttps://github.com/patraveler/ccphmy/blob/main/20260706_vQQQx.mdhttps://github.com/sessestove/wtsdjs/blob/main/20260706_gghls.mdhttps://github.com/oren-kayak/picqmu/blob/main/20260706_hLbfm.mdhttps://github.com/ceeukird/jwhaye/blob/main/20260706_JgxU4.mdhttps://github.com/yankhou/dcwztv/blob/main/20260706_ghFLZ.mdhttps://github.com/roryfactor/lqjyab/blob/main/20260706_Hr5Vt.mdhttps://github.com/jayezpriso/kfynbq/blob/main/20260706_1idxe.mdhttps://github.com/jungkendra/wdoema/blob/main/20260706_W3dKh.md