PageSourceSearch

https://highflux.pages.dev/assets/js/564b8aba.e865b04f.js

js highflux.pages.dev collected 2026-10-03 05:12:53 UTC 23,954 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[970],{7182:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>s,contentTitle:()=>r,default:()=>c,frontMatter:()=>t,metadata:()=>o,toc:()=>a});var A=i(6070),l=i(5710);const t={sidebar_position:30},r="Code reviews",o={id:"quickstart/code-reviews",title:"Code reviews",description:"HighFlux lets you directly create & merge pull requests on GitHub for performing code reviews.",source:"@site/docs/quickstart/code-reviews.md",sourceDirName:"quickstart",slug:"/quickstart/code-reviews",permalink:"/docs/quickstart/code-reviews",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:30,frontMatter:{sidebar_position:30},sidebar:"tutorialSidebar",previous:{title:"Working on your task",permalink:"/docs/quickstart/working-on-your-task"},next:{title:"Finishing your task",permalink:"/docs/quickstart/finishing-your-task"}},s={},a=[{value:"Typical Workflow",id:"typical-workflow",level:2},{value:"Sending your code for review",id:"sending-your-code-for-review",level:2},{value:"Creating a code review",id:"creating-a-code-review",level:2},{value:"Applying code review feedback and sending for re-review",id:"applying-code-review-feedback-and-sending-for-re-review",level:2},{value:"Merging your Pull Request",id:"merging-your-pr",level:2},{value:"Renaming a Pull Request",id:"renaming-your-pr",level:2}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.R)(),...e.components},{Details:t}=n;return t||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(n.h1,{id:"code-reviews",children:"Code reviews"}),"\n",(0,A.jsxs)(n.admonition,{type:"info",children:[(0,A.jsx)(n.p,{children:(0,A.jsx)(n.strong,{children:"HighFlux lets you directly create & merge pull requests on GitHub for performing code reviews."})}),(0,A.jsx)(n.p,{children:(0,A.jsxs)(n.strong,{children:["If you haven't already, make sure you've ",(0,A.jsx)(n.a,{href:"/docs/github",children:"enabled GitHub"}),"."]})})]}),"\n",(0,A.jsx)(n.h2,{id:"typical-workflow",children:"Typical Workflow"}),"\n",(0,A.jsx)(n.p,{children:"Working on a WIP with a GitHub code review (Pull Request) takes the following form:"}),"\n",(0,A.jsxs)(n.p,{children:["Lines marked in ",(0,A.jsx)(n.strong,{children:"bold"})," indicate HighFlux operations."]}),"\n",(0,A.jsxs)(n.ol,{children:["\n",(0,A.jsx)(n.li,{children:(0,A.jsx)(n.strong,{children:"Create a WIP"})}),"\n",(0,A.jsx)(n.li,{children:"Implement the functionality"}),"\n",(0,A.jsxs)(n.li,{children:[(0,A.jsx)(n.strong,{children:"Create a review"})," (Pull Request)"]}),"\n",(0,A.jsxs)(n.li,{children:["Do ",(0,A.jsx)(n.code,{children:"{"}),"\n",(0,A.jsxs)(n.ol,{children:["\n",(0,A.jsx)(n.li,{children:"Peers review your code and send you comments using GitHub"}),"\n",(0,A.jsx)(n.li,{children:"You implement their changes"}),"\n",(0,A.jsxs)(n.li,{children:[(0,A.jsx)(n.strong,{children:"Update the review"})," with a description of what you changed"]}),"\n"]}),"\n"]}),"\n",(0,A.jsxs)(n.li,{children:[(0,A.jsx)(n.code,{children:"}"})," While there are no more comments from peers"]}),"\n",(0,A.jsxs)(n.li,{children:["You ",(0,A.jsx)(n.strong,{children:"merge your WIP"})]}),"\n"]}),"\n",(0,A.jsx)(n.h2,{id:"sending-your-code-for-review",children:"Sending your code for review"}),"\n",(0,A.jsxs)(n.p,{children:["If your team allows non-reviewed code to be committed to trunk, and you just want to finish your task and move on to the next one, proceed to the ",(0,A.jsx)(n.a,{href:"finishing-your-task",children:"Finish your task"})," section now."]}),"\n",(0,A.jsx)(n.p,{children:"In addition, HighFlux contains specific support for the GitHub Pull Request flow, which is described in this section."}),"\n",(0,A.jsx)(n.h2,{id:"creating-a-code-review",children:"Creating a code review"}),"\n",(0,A.jsxs)(n.p,{children:["You create a new code review using the GUI ",(0,A.jsx)(n.img,{alt:"Create Review",src:i(7184).A+"",width:"132",height:"51"})," button."]}),"\n",(0,A.jsx)(n.p,{children:"Or through the CLI:"}),"\n",(0,A.jsx)(n.pre,{children:(0,A.jsx)(n.code,{className:"language-shell",children:"hf review create \n"})}),"\n",(0,A.jsx)(n.p,{children:"This will create a new PR, using the WIP's title as the description."}),"\n",(0,A.jsxs)(t,{children:[(0,A.jsx)("summary",{children:"Shortcut: Rename your WIP while creating the PR"}),(0,A.jsx)(n.pre,{children:(0,A.jsx)(n.code,{className:"language-shell",children:'hf review create "my pr title"\n'})}),(0,A.jsx)(n.p,{children:"Will create the PR with the given title, and change the WIP's title as well."})]}),"\n",(0,A.jsx)(n.p,{children:(0,A.jsx)(n.strong,{children:'A new GitHub Pull Request will be created and linked to your WIP under a branch called "review/[WIP-ID]".'})}),"\n",(0,A.jsx)(n.h2,{id:"applying-code-review-feedback-and-sending-for-re-review",children:"Applying code review feedback and sending for re-review"}),"\n",(0,A.jsxs)(n.p,{children:["Once you implement the suggestion made by your reviewer and want to send an update for the code review, you can do so using the ",(0,A.jsx)(n.img,{alt:"Update Review",src:i(8633).A+"",width:"136",height:"45"}),"\nbutton, or using the CLI:"]}),"\n",(0,A.jsx)(n.pre,{children:(0,A.jsx)(n.code,{className:"language-shell",children:'hf review update "description of update"\n'})}),"\n",(0,A.jsx)(n.p,{children:"This will update your GitHub Pull Request with the changes made since the creation of the review, or the last time you updated the review."}),"\n",(0,A.jsx)(n.p,{children:"Continue implementing the review changes, and updating them, until you get the approval."}),"\n",(0,A.jsx)(n.h2,{id:"merging-your-pr",children:"Merging your Pull Request"}),"\n",(0,A.jsx)(n.p,{children:"Once your work is done, and you have gotten any optional necessary PR approvals from your peer(s),\nYou can merge your Pull Request by issuing a CLI command:"}),"\n",(0,A.jsx)(n.pre,{children:(0,A.jsx)(n.code,{className:"language-shell",children:"hf review merge\n"})}),"\n",(0,A.jsx)(n.p,{children:"or change the PR title while applying, with:"}),"\n",(0,A.jsx)(n.pre,{children:(0,A.jsx)(n.code,{className:"language-shell",children:'hf review merge "new title"\n'})}),"\n",(0,A.jsx)(n.p,{children:"or using the MERGE button in the UI. "}),"\n",(0,A.jsxs)(n.ul,{children:["\n",(0,A.jsx)(n.li,{children:'If no "new name for the PR" is supplied, the existing PR name will be used.'}),"\n"]}),"\n",(0,A.jsx)(n.p,{children:"You can use the GUI to do this, by clicking on the button."}),"\n",(0,A.jsx)(n.h2,{id:"renaming-your-pr",children:"Renaming a Pull Request"}),"\n",(0,A.jsx)(n.p,{children:"Once you rename a PR, the WIP title will change and vice versa."}),"\n",(0,A.jsxs)(n.p,{children:["For instance, if your current WIP ",(0,A.jsx)(n.code,{children:"BG-123"}),' is titled "Adding a new button", and you create a code review, the GitHub PR will have the same title.']}),"\n",(0,A.jsxs)(n.p,{children:["Once you rename your WIP, either via the GUI or by ",(0,A.jsx)(n.code,{children:"hf title 'adding a new blue button'"}),", the PR's title will change as well."]})]})}function c(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,A.jsx)(n,{...e,children:(0,A.jsx)(d,{...e})}):d(e)}},7184:(e,n,i)=>{i.d(n,{A:()=>A});const A="data:image/png;
1base64,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"},8633:(e,n,i)=>{i.d(n,{A:()=>A});const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIgAAAAtCAYAAAB1ayMPAAAK5mlDQ1BJQ0MgUHJvZmlsZQAASImVlwdUU9kWhs+96SGhJYQiJfQmSCeAlNADKEgHUQlJSEIJIQUVOzI4gmNBRQSVAR0RUXB0qGNBLNgGwd4nyKCijoMFRVGZCzzCzLz13ltvr3Vyvuzss8/ed52T9V8AyClssTgLVgcgWySTRIf40xOTkum4JwALdAEBkIAhmyMVM6OiIgBiU/Pf7f0tAI3P1+3Gc/377//VNLk8KQcAKAXhNK6Uk41wBzK+csQSGQAohIHpYpl4nH9DmCpBCkR4ZJz5E4wmjXPaJNMnYmKjAxB2AQBPYrMlfABIfoifnsfhI3lIqQg7iLhCEcKbEfbhCNhchHsQnpmdnTPOnxG2QuLFAJDNEGak/SUn/2/505T52Wy+kif7mjB8oFAqzmIv/T8fzf+27Cz51B4WyCAJJKHRkwzdycwJV7IobW7kFAu5U/HQHYE8NG6KOdKA5CnmsgPDlWuz5kZMcbowmKXMI2PFTjFPGhQzxZKcaOVe6ZIA5hSzJdP7yjPjlH4Bj6XMny+ITZjiPGH83CmWZsaET8cEKP0SebSyfp4oxH9632Bl79nSv/QrZCnXygSxocre2dP180TM6ZzSRGVtXF5g0HRMnDJeLPNX7iXOilLG87JClH5pXoxyrQw5nNNro5TPMIM
1dFjXFIBYIgByIABfwgASkgRyQBWSADgKBEEiBGPnGBshxkvGWyMabC8gRL5UI+QIZnYncQB6dJeLYz6Q7OTg5ATB+nyePyFvaxD2FaJemfbkdAHgUI07+tI9tCkDbEwAo76d9pm8m78qJHo5ckjfpQ49/YAARqAEq8m9hCEyBFbADTsANeAE/EATCQCTSSRJYCDhIP9lIJ4vBcrAGFIESsBlsBxWgCuwFB8BhcBS0gOPgNDgPLoMecBPcBwowAF6AIfAejEIQhIPIEAXShYwgc8gWcoIYkA8UBEVA0VASlArxIREkh5ZDa6ESqBSqgKqhOuhHqA06DV2EeqG7UB80CL2BPsEomARTYQPYAp4FM2AmHA7HwgtgPpwL58OF8Ea4HK6BD8HN8Gn4MnwTVsAv4GEUQKmgaChjlB2KgQpARaKSUekoCWolqhhVhqpBNaDaUV2o6ygF6iXqIxqLpqDpaDu0FzoUHYfmoHPRK9Eb0BXoA+hm9Fn0dXQfegj9FUPG6GNsMZ4YFiYRw8csxhRhyjD7MU2Yc5ibmAHMeywWS8NaYt2xodgkbAZ2GXYDdje2EduB7cX2Y4dxOJwuzhbnjYvEsXEyXBFuJ+4Q7hTuGm4AN4JXwRvhnfDB+GS8CF+AL8MfxJ/EX8M/xY8S1AnmBE9CJIFLWErYRNhHaCdcJQwQRokaREuiNzGWmEFcQywnNhDPER8Q36qoqJioeKjMUxGqrFYpVzmickGlT+UjSZNkQwogpZDkpI2kWlIH6S7pLZlMtiD7kZPJMvJGch35DPkReUSVomqvylLlqq5SrVRtVr2m+kqNoGauxlRbqJavVqZ2TO2q2kt1grqFeoA6W32leqV6m/pt9WENioajRqRGtsYGjYMaFzWeaeI0LTSDNLmahZp7Nc9o9lNQFFNKAIVDWUvZRzlHGaBiqZZUFjWDWkI9TO2mDmlparloxWst0arUOqGloKFoFjQWLYu2iXaUdov2SdtAm6nN016v3aB9TfuDzgwdPx2eTrFOo85NnU+6dN0g3UzdLbotug/10Ho2evP0Fuvt0Tun93IGdYbXDM6M4hlHZ9zTh/Vt9KP1l+nv1b+iP2xgaBBiIDbYaXDG4KUhzdDPMMNwm+FJw0EjipGPkdBom9Epo+d0LTqTnkUvp5+lDxnrG4cay42rjbuNR00sTeJMCkwaTR6aEk0Zpumm20w7TYfMjMzmmC03qze7Z04wZ5gLzHeYd5l/sLC0SLBYZ9Fi8cxSx5JlmW9Zb/nAimzla5VrVWN1wxprzbDOtN5t3WMD27jaCGwqba7awrZutkLb3ba9MzEzPWaKZtbMvG1HsmPa5dnV2/XZ0+wj7AvsW+xfzTKblTxry6yuWV8dXB2yHPY53HfUdAxzLHBsd3zjZOPEcap0uuFMdg52XuXc6vzaxdaF57LH5Y4rxXWO6zrXTtcvbu5uErcGt0F3M/dU913utxlURhRjA+OCB8bD32OVx3GPj55unjLPo55/eNl5ZXod9Ho223I2b/a+2f3eJt5s72pvhQ/dJ9Xnex+Fr7Ev27fG97GfqR/Xb7/fU6Y1M4N5iPnK38Ff4t/k/yHAM2BFQEcgKjAksDiwO0gzKC6oIuhRsEkwP7g+eCjENWRZSEcoJjQ8dEvobZYBi8OqYw2FuYetCDsbTgqPCa8IfxxhEyGJaJ8Dzwmbs3XOg7nmc0VzWyJBJCtya+TDKMuo3Kif52HnRc2rnPck2jF6eXRXDCVmUczBmPex/rGbYu/HWcXJ4zrj1eJT4uviPyQEJpQmKBJnJa5IvJyklyRMak3GJccn708enh80f/v8gRTXlKKUWwssFyxZcHGh3sKshScWqS1iLzqWiklNSD2Y+pkdya5hD6ex0nalDXECODs4L7h+3G3cQZ43r5T3NN07vTT9Gd+bv5U/KPAVlAleCgOEFcLXGaEZVRkfMiMzazPHshKyGrPx2anZbSJNUabobI5hzpKcXrGtuEisyPXM3Z47JAmX7JdC0gXSVhkVEU5X5Fbyb+R9eT55lXkji+MXH1uisUS05MpSm6Xrlz7ND87/YRl6GWdZ53Lj5WuW961grqheCa1MW9m5ynRV4aqB1SGrD6whrslc80uBQ0Fpwbu1CWvbCw0KVxf2fxPyTX2RapGk6PY6r3VV36K/FX7bvd55/c71X4u5xZdKHErKSj5v4Gy49J3jd+XfjW1M39i9yW3Tns3YzaLNt7b4bjlQqlGaX9q/dc7W5m30bcXb3m1ftP1imUtZ1Q7iDvkORXlEeetOs52bd36uEFTcrPSvbNylv2v9rg+7ubuv7fHb01BlUFVS9el74fd3qkOqm2ssasr2Yvfm7X2yL35f1w+MH+r26+0v2f+lVlSrOBB94Gyde13dQf2Dm+rhenn94KGUQz2HAw+3Ntg1VDfSGkuOgCPyI89/TP3x1tHwo53HGMcafjL/aVcTpam4GWpe2jzUImhRtCa19raFtXW2e7U3/Wz/c+1x4+OVJ7RObDpJPFl4cuxU/qnhDnHHy9P80/2dizrvn0k8c+PsvLPd58LPXTgffP5MF7Pr1AXvC8cvel5su8S41HLZ7XLzFdcrTb+4/tLU7dbdfNX9amuPR0977+zek9d8r52+Hnj9/A3Wjcs3597svRV3687tlNuKO9w7z+5m3X19L+/e6P3VDzAPih+qPyx7pP+o5lfrXxsVbooTfYF9Vx7HPL7fz+l/8Zv0t88DhU/IT8qeGj2te+b07Phg8GDP8/nPB16IX4y+LPpd4/ddr6xe/fSH3x9XhhKHBl5LXo+92fBW923tO5d3ncNRw4/eZ78f/VA8ojty4CPjY9enhE9PRxd/xn0u/2L9pf1r+NcHY9ljY2K2hD0hBVDIgNPTAXhTi+jlJEQ7IFqaOH9Sb08YNPmOMEHgP/GkJp8wNwBq/QCIWw1ABKJR9iDDHGESMo/LpFg/ADs7K8e/TJru7DSZi4SoTczI2NhbAwBw7QB8kYyNje4eG/uyDyn2LgAduZM6f9ywyNtPqaUuDpT3QjWJ4B82+Q7wlx7/OYPxClzAP+c/AY9IIiDF8FHsAAAAYmVYSWZNTQAqAAAACAACARIAAwAAAAEAAQAAh2kABAAAAAEAAAAmAAAAAAADkoYABwAAABIAAABQoAIABAAAAAEAAACIoAMABAAAAAEAAAAtAAAAAEFTQ0lJAAAAU2NyZWVuc2hvdE5FUKsAAAI8aVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj40NTwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlVzZXJDb21tZW50PlNjcmVlbnNob3Q8L2V4aWY6VXNlckNvbW1lbnQ+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xMzY8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KIpABoAAACV1JREFUeAHtXAtQlNcV/nZZQDCAYEBBFOID5WFEg0YNPqiI8YFRkxg7nfiIiTOpfcVWbTPppNM2EztNGlvTZIrxmUxGUzWprSEiCSo+UCC8TEwUecQaxQeL5Q270Hsu3J9//+zisllG2b1n5ue+7z3n3O+ee+7/30XXzgiSpAZsaEBvI19mSw1wDUiASCB0qwGDtVK561jTiuvm6XQ6m8IpANGCQpu22YMs6NMaIHCo51oLFg4QUYFCdbxPSy6Zt0sDAhAUCrCIPOrAIEBhK7RrFFmpT2pAgEIbkjACJIa2tjYuHIVfXjmP7cd3Irc8D82m5j4ptGS6ZxrwNnhj4vAErJ62EtFDoqHXd51bOHBaW1vbBTie3/0TtJhaejaCrO0SGiCgvL3iTcR0gkQARU/goGd79k4JDpeYaseEoB2Ddg/CgnA3qCcFILlleY71LFu5jAZyy3O/CxBCi7nNjBaz3FpcZqYdFKSZuRfCgoguFAsiMmTo3hoQ24sIu1xW99aLlF6lAQKHIL06ITJl6L4a0OKBWxBtpvuqR0qu1YDcYrQakWkLDUiAWKhDJrQakADRakSmLTSgfO63yHUgkTp+AZLjZuGNT/6KihsVvIfY8FisSXoW/8o/iM++zMKzM5/B2KFjeVl7exuKvilm+UdRebOS5w0JDMOGBet5nL3Ow7Xb13Dsq2ycuni6I0/1d/28dQgfOBSb2XjlneM9MelxTBudqKrVFX3xg5eQMPwhLElY3JXZGcsoycChwnSLfDWvJnMrCioLkf31Seu8qlqWXS/Dt8arSBz9CP52eAsusTQRfdfYtPQVNLY24ncH/gDB66sH/8TlVI+n6g5pn23Fc0mrUXL5HLYd28GLnpi4BPER4/DSvpd5enxEPFZOX4HdJ95Ffvnn6ubfO+40CxIZHIHEqKnw63efwlRQ/0CeNyQojOdFh43h6YbmetSzZ+nDT+LAzz/AimlP8/L+3v15eTgDSn1LA1LGpmDL8s1Ym/y80idFQvyD8dTkpbzuvHFzlbKmlkbcbrgNmlDiJfL+YTxNeewiA8IGhPL8fp7eSj6VNbU2KX2IiJrXVtbfKjYBxOus2CReRc0r9SEekouATeMnxcwU3WF0aBRfQPQyimhEyHBex9fbh6fV44m+BG+hAwaDFqCgJRMXYe64RzE0KJxnTRk1mfd1q65aVHFa6DQL0hOOXjm4CXVNdfD08MThDYfwwylPYVf2u0oXpy7m4PX0N9DPsx/eWrmFrY7l+KT4sLIaZ8cl8xVZdr2cgSgZf898m7f9T+HHoIcs0czoGcivKMDvP/yj0q+IvH96D46dPy6S3YaCV5qMj17Yj/nx8/DpF1lKG8GrksEiJFdtUy2mM2v2ztHtvEhYtoySI+qq34mL8dQFhZVF3OL4+/jDoPdA1OAoXkzAuHxmH2KHxKCmoUax3Oq23zfuNAviCCOmNhNfvV4eXlab08pOLzoMvU6vbE1Ucc7Y2SitKsWenL0IZxNHXyB7QqEBoRgxaAR/IoMj7Wo6oP8AXu9qzTWL+gG+AUpf1KeXwQtkcbLY1kmfz8mKEhFAbtbeREFFoUV7bWJ48ANKf4MCBvHiAgYQIpJz0ohJPE7yTx75cGd+DAori3nc2X/uigUhc20ym9g9hIdASnj/1B6bcl0xXuFlYoLIOpBvszVrG44yK/Cb1I0cMHSXxV5aP3+dUtVYb0TypkeVtDayc802eLBVSxaEVnJa1jsWVebHz2VWpWube3LLMpBlyyjJxMIJqZjKthryoWLCorH3zD/Rxnyv7mjHmq7+M899io17X+TjUps4Jjfx8fXVCzhyLhPPzFiFBxjA/X38UPhN98Drbszuyu4KQJKiZ/IPhMWXS5jjtRM5pWds8ih8muZOPyGFWQ+i6vpq5mNEgABEW85m5hDa+8Lvz4deh/h6bb7DhJ28cBIm9jFz6qgpGBM2GhMix3PrIBgm53ZX9m6RxH+rOwB9tiyX+yVkOfSd1/kINHeilWmr0dDcwKvVMX+GiHyaqv9d51sJWZF/FxzC6dIc/D
1RlLduel/E6Rfe6BTHW13BGI++P5B43JchxJRJlPMH+LP/HKu6DiHR34fQx03jxpaqO08Ac5rgSbRSnHZ4Cxg17UFlpnVk2g6tM4eJ0YbNSZ8FW5kOQv7T7xHs4sjGd+wK0fQgiR9JaX/SFnE5uBGhPDwOqbleh+PKdtwE6kdF4WiLr9QPm9JJ/c5r5aBeuXQQ5pQsnLGC3/1pw/tuvtE2cknaaBclhiDaZf8y8/eXMjJrZXuyNZeyk0cBOI3ll+T1idhg7fZCXTgqZMWYGPmfOJl2DJHM6avBI7M/9EDvY5RaiEP9B2P5cGlLiZtsNkPHD4kE3qATR0bS06pJIWg0JCDXsGewfYlFOvAqrRgU1bKGQ9SAii7E4YRH3P2gbtcfCkcxNrV3XPenYeqvuFpOtkG+l9cy6FDGgUV9keWl7I/2Q39Mb5DSAkIJ/8d4vsSjhMfw6dQMDixknLpzAgdyPuInsCfN0RKSHHMJ9Z/fzUwopRFgPOtEIZ5FCWsH0Dua19L/w+wx3GuvpxB9ZVNlxfBfePPKWRZ61RMXNCuYHxGHgfQOVYsGryKBt82xaB0DyKvLZVmjkjmoG8xnsoZcX/9ai2tpdP8OtUgJIh6OaxxYK+W9E5NsQQESZRUMnJXS1tbXtNOCs1+Y4qUtwT55MLD2S+pYGjm7IhKenJwwGA7/A7DQLolaDvPis1kbfjt/V9yB9W3Xuwb0EiHvMs8NSSoA4rDr3aCgB4h7z7LCUHCDid5gO9yIbuqwG2Ftg2/8bwmWlloLZ1IAWDx0WBDr+CtdmK1ngFhqg1/hEapCw3+jq+QuRmJCefTJ3C425mZCxITEcHAQQ8fAthkCyKHahtCJuBgi1uGQ9HotN5cbCqgWJDY/Brx55AaMCRsKg65UXrGp+ZPwe0QDNdRSb8/WJ69g9mxgFIAIkOvH/QRobG1FZWYnq6moYjUa0tMgfc98jc9irbHh5eSEwMBBBQUGIiIiAr68vB4n4/yA6k8nUThzQr7oJJDdu3AD7gKd8FbXnE3WvSiA77xUNCAtBQPDz80NwcDB8fHwsLAj3QxgwGAY6/nmdtbBXuJOd3hMa4ABQOaTaNDFpEEiiUACECiguyfU1oJ5/dVxIrmNA4EjQAkKbFg1k6FoaEKAQUmnT/wfSNgZVq/zvHwAAAABJRU5ErkJggg=="},5710:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>o});var A=i(758);const l={},t=A.createContext(l);function r(e){const n=A.useContext(t);return A.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),A.createElement(t.Provider,{value:n},e.children)}}}]);

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.