1"use strict";(self.webpackChunkkenp_io=self.webpackChunkkenp_io||[]).push([[155],{7822:function(e,t,n){n.r(t),n.d(t,{Head:function(){return w},default:function(){return b}});var a=n(8453),o=n(6540);function i(e){const t=Object.assign({h2:"h2",a:"a",span:"span",h3:"h3",p:"p"},(0,a.RP)(),e.components),{Box:n,Embed:i,ModelViewer:r}=t;return n||l("Box",!0),i||l("Embed",!0),r||l("ModelViewer",!0),o.createElement(o.Fragment,null,o.createElement(n,{position:"relative",paddingBottom:"56.25%",height:"0",overflow:"hidden",maxWidth:"100%",mb:3},o.createElement(i,{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",src:"https://www.youtube.com/embed/WEaYRuDA0GM",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:!0})),"\n",o.createElement(n,{position:"relative",paddingBottom:"56.25%",height:"0",overflow:"hidden",maxWidth:"100%",mb:3},o.createElement(i,{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",src:"https://www.youtube.com/embed/W9VDdpsXfw8",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:!0})),"\n",o.createElement("br"),"\n",o.createElement("br"),"\n",o.createElement(t.h2,{id:"for-those-who-prefer-a-write-up",style:{position:"relative"}},o.createElement(t.a,{href:"#for-those-who-prefer-a-write-up","aria-label":"for those who prefer a write up permalink",className:"heading-anchor before"},o.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<svg aria-hidden="true" focusable="false" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentcolor" strokeWidth="2"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg>'}})),"For those who prefer a write-up"),"\n",o.createElement(t.h3,{id:"the-full-video-is-better-imo",style:{position:"relative"}},o.createElement(t.a,{href:"#the-full-video-is-better-imo","aria-label":"the full video is better imo permalink",className:"heading-anchor before"},o.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<svg aria-hidden="true" focusable="false" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentcolor" strokeWidth="2"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg>'}})),"(the full video is better imo)"),"\n",o.createElement("br"),"\n",o.createElement("br"),"\n",o.createElement(t.h3,{id:"introduction",style:{position:"relative"}},o.createElement(t.a,{href:"#introduction","aria-label":"introduction permalink",className:"heading-anchor before"},o.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<svg aria-hidden="true" focusable="false" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentcolor" strokeWidth="2"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg>'}})),"Introduction"),"\n",o.createElement(t.p,null,"So I decided to make an Android phone with a Lightning connector! ⦠I know it makes absolutely no sense to do this. After making the first USB-C iPhone, some people suggested I do the opposite. So ok sure, for fun and as a challenge, and thought it would be a good idea to show it to the world on April 1st, so people wouldnât get too mad about it."),"\n",o.createElement(t.p,null,"Now, I know there are iPhone clones running Android out there that were designed from the get-go to have a Lightning port. Those were designed by teams of Chinese engineers, but can a single person like me downgrade a Samsung phone with a Lightning port?"),"\n",o.createElement(t.h3,{id:"yes-heres-how",style:{position:"relative"}},o.createElement(t.a,{href:"#yes-heres-how","aria-label":"yes heres how permalink",className:"heading-anchor before"},o.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<svg aria-hidden="true" focusable="false" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentcolor" strokeWidth="2"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path>
1<line x1="8" y1="12" x2="16" y2="12"></line></svg>'}})),"Yes, hereâs how."),"\n",o.createElement(t.p,null,"Right away I knew it would be difficult. The reason is that usually those charging cables have a few protections. The first one is electrical, I mean the cable only outputs power if it is properly plugged in, otherwise you would always create short-circuits. Not fun."),"\n",o.createElement(t.p,null,"But here it goes a bit further, Apple wants to protect its whole Lightning ecosystem, so when a cable is plugged in, it âtalksâ to the iPhone and each side verifies that they are certified Apple products. Now the problem comes when I want to plug the cable in an Android phone, well itâs going to send some requests to the phone, but wonât hear anything back. There needs to be something in between."),"\n",o.createElement(t.p,null,"And thatâs big big problem number one. Do I need to crack this verification? Surely someone has already done the heavy lifting for me?"),"\n",o.createElement(t.p,null,"You know they build fake iPhone cables in China, right? Well, that means that there are fake iPhone cable factories somewhere in the simulation. And those factories need a way to test those cables, right? So a very niche company created this board right here, whose whole purpose is to test lightning cables."),"\n",o.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<span\n class="gatsby-resp-image-wrapper"\n style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1152px; "\n >\n <a\n class="gatsby-resp-image-link"\n href="/static/04d06198951dc8a0b510487f183ab63b/6297e/boardLightning.png"\n style="display: block"\n target="_blank"\n rel="noopener"\n >\n <span\n class="gatsby-resp-image-background-image"\n style="padding-bottom: 75%; position: relative; bottom: 0; left: 0; background-image: url(\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAABuvAAAbrwFeGpEcAAADtElEQVR42rWUW0xbdRzH6x548s1kgia7+OqDD0YfCC4uMyYDtujgjKGUi3aOSz206w7n9PT0/Htfr/RC7QLtKL2sSNdtTGF1RQtktGy9EWjG2GTKzB7MjMaYJbKt5/wsiMmaPftNvvkl/98vn3x/yS9/geD/EoawqrbzbN9nPuPZHp9eIwlaUX/ArpAG7CwVcavxqBVhYVqNheTsxyFKctRP48dGjKebR1RfSknyLYRhVdsgAHhpq9KhwRrhsHqpVSWdx0YNT5svWqF+3ACHxnXQE/dC5P48tN9yQdOyFQ4UGKif1JSEDHG93ad9QBs0iBL2vSLYIW4De82outPBZEUstfBpULeJTal413yY+2ouwnUl7FxndojzzlwtSRf8pYM3ab55Uv/sIy25iHmUD+VqpQZ1y3ZXJESot/pmevLX26spyC0l+JXiHPx+vwiP7hSgY1oLtTdIkCe9cCJhAksqAGOLMV5xwwdkzL7ZT0hZvVz+agXwm2hgz93ctT9/KszAo59X+AdrOVi/k4X1lUXQT3nhw8sy6CC6ofUSDqccONgR4p16FjxDzr8pmtHSNF1TAQz73Hs3VlN/bazdgtV8ki9mk7C6lIJiZhaMoyPQFKThqAiD1hAOWrMOdAqKJwgcjGbLUxWrOksQxGsVwCvj5/atFRKP7xZ+gNtlYCF9HXKp76CwEAfrhB9agiy0EydBNMqCPxyGgMfJt3V1AKNSP9Fr9WaxWLy/AhgMuvbfy0w/frg8C78UF/jlVBxSySuwshgH21wIaq+dBnbYBn1RA+AhORioM7xULAY5SW0qlAozRVFvVAC1Wtleb8z9x/BVDzgnLLzvoguSl8fg+5gP2qbU0DStgT6ZDLCIEpjEIKgv2fieuAlOBlVPJKRMp6Pp1yvOhnSgPYeQaL1O3HbvzSHhs7pIN2eMOjjb1y6OmQ9wRHqMo0NW7tiMhmtMs9wn3xpK7+lPrTW4id/KZ2NAvWeqKxL2++37TgzRuc9ZWexgAJXeuaCEty+w/PtRE9BzExDZmIUDaRpq03KoyzDQGNWU2mX90eMj7I9yk8ZCfyGp2Uko2AZ2I9nuTqdiSjSoKgidKNNiY7LHbYpsq53J4ufMWfy8Nt/sG8hjXjLf4iPzmGcg3+VQZzvcbEaOFDpa+t/KO0IYqjJK0bs6kj5ikSkP2weUh20EU79lhBP1ajHZMChRNljKtuKosTzTYCKYRgupPKKgFB/0IvTyiz/EVlqEdv1rwY7Rrhffnu+V63P6B6cuOQQxEAELAAAAAElFTkSuQmCC\'); background-size: cover; display: block;"\n ></span>\n <img\n class="gatsby-resp-image-image"\n alt="Lightning Cable Testing Board"\n title=""\n src="/static/04d06198951dc8a0b510487f183ab63b/4ad3a/boardLightning.png"\n srcset="/static/04d06198951dc8a0b510487f183ab63b/477c9/boardLightning.png 288w,\n/static/04d06198951dc8a0b510487f183ab63b/533c1/boardLightning.png 576w,\n/static/04d06198951dc8a0b510487f183ab63b/4ad3a/boardLightning.png 1152w,\n/static/04d06198951dc8a0b510487f183ab63b/b8bf8/boardLightning.png 1728w,\n/static/04d06198951dc8a0b510487f183ab63b/6297e/boardLightning.png 2044w"\n sizes="(max-width: 1152px) 100vw, 1152px"\n style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"\n loading="lazy"\n decoding="async"\n />\n </a>\n </span>'}}),"\n",o.createElement(t.p,null,"So maybe there is a chip on this board that does exactly what I need, letâs investigate. You can plug in your Lightning cable on the right side of the board and on the left side you can have any USB-powered load. What stops me from plugging an Android ph
1one on the left? Well nothing. So now we know that the phone can be charged with a Lightning cable."),"\n",o.createElement(t.p,null,"Does data work, though? Doesnât look like it, but my intuition tells me that maybe it could. On the backside, I see that they ran traces for a USB 2.0 signal. I need to understand this board better."),"\n",o.createElement(t.p,null,"So I remove all the components and create a schematic of the all the connections."),"\n",o.createElement(t.p,null,"I see that the data traces I just mentioned are each connected to two pins each on the lightning connector. There are 8 pins in total. That makes absolutely no sense to me, so let me try to fix that. I remove the connector because the traces are hidden underneath, and then I cut off the extra connections using a scalpel. Now the traces are only connected to the correct pin, and I solder the connector back on top. USB is fully working, wasnât that hard."),"\n",o.createElement(t.p,null,"So now the electronics work, itâs just a game of micro-engineering. Making the whole thing fit inside the phone."),"\n",o.createElement(t.p,null,"Letâs see what weâre dealing with, I disassemble the Samsung Galaxy A51 Iâm working with. I think Iâll see pretty quickly if I have enough room or not."),"\n",o.createElement(t.p,null,"Ouch, the USB-C connector is absolutely tiny. Who said the iPhone couldnât have USB-C because it wouldnât fit? Biggest joke Iâve ever heard. No way the Lightning connector is going to fit because itâs limited by the cutout in the board. Ok major let down, I need to thinkâ¦"),"\n",o.createElement(t.p,null,"I was working on another project, and I was disassembling a Lightning charging and headphone splitter. And while I was disassembling it, itâs the first time I see such a tiny Lightning connector, I mean everywhere I looked it was always the same size. But this one, well, this one is very small. But still, not small enough⦠Interestingly, when I pulled on it, I realized that it is made out of two pieces, the first once holding the pins and the second one is just a frame for the pins. Now, I can try sanding this plastic piece down but itâs not going to be great, itâs too small."),"\n",o.createElement(t.p,null,"Luckily, I recently got my hands on a resin 3D printer, which allows to print super tiny details. Could I make my own custom connector, so that it fits in the phone? You bet."),"\n",o.createElement(r,{src:"customLightning.glb",alt:"Modified claw model",attrs:{class:"panable-model"},cameraOrbit:"136.8deg 82.35deg 123.7m",exposure:"0.89"}),"\n",o.createElement(t.p,null,"First things first, I need to recreate the original piece to see if my measurements have the right tolerances. Once thatâs done, I can start modifying the shape to keep its main function but shave off as much volume as I can. I went through maybe 6 or 7 iterations and at the end I finally got exactly what I needed. Now I didnât want to create a custom PCB for this project as nobody will ever use it, so I activate my steady hands mode and get started with soldering the whole circuit by hand with small wires. It took maybe an hour or two. I had to make some extra room, so I sanded some plastic down with a dremel."),"\n",o.createElement(t.p,null,"To make it short, the first try didnât work because the components were too thick to close the phone properly, so I had to start all over again. But you know you have to be really patient with these projects, it never works on the first time."),"\n",o.createElement(t.span,{dangerouslySetInnerHTML:{__html:'<span\n class="gatsby-resp-image-wrapper"\n style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 1152px; "\n >\n <a\n class="gatsby-resp-image-link"\n href="/static/836638a223256442e07a66a2b8a133f9/12dc6/finalSoldering.png"\n style="display: block"\n target="_blank"\n rel="noopener"\n >\n <span\n class="gatsby-resp-image-background-image"\n style="padding-bottom: 56.59722222222222%; position: relative; bottom: 0; left: 0; background-image: url(\'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAADEklEQVR42jWSW0xUVxSGz6N9ampRbjNcLEnRik1shEER4wAeHGZghjnMMANnbpzDwFyANCLRDq1SmIZSDBUTFFHTgKJtTEEZogYF26ZiDaGxto22aWL70PaFPrYPTb9uSLuTP2vvf/1r/XuvbMnd3MwHIyPYrYfxOB14FAc+dwOhJg+a2oRXcI2OGlS3i1bXXv68/yJ8lcY/D9Jg5WX+fpRBb4eVatnC9JUppK6eHpa/eMid2TkWZm+yODfP/dQtvry9wMzlKSLhMMc6mjg72EnyrTC3rw/z8N4FluZG+Wz+DA9SH9IVa6DKVkPP0W6knr5+lpcf8dfaHzx/+ozvv37Ms2+e8PPTH1hMpZi+eJ73TiboPZGgsyOKJXwM58BlygZvYEpcorr/Y5zRbqz2Q+w/UI50YmiYlZVV1n77nXt3F+nrTzI+PsF3T77l15+es7D0OQPT8yiJIWxiDPHudrShCbwXljAH4sh6N5Z3RokffZMjxxNINqeL5PvDzN+6w8VLHzEkDE6dGuFTMYLZ1R/xjN+k82SSsXOnGR07Q7Q3SWn/NWITc3gDLcgHyrC/fRr/9VW6PllGOlhhxlpTg6nsIFWylbJyM8V7TJjdIcwDU+xu1BkfO8f/6/Eva8h9Z9l1fIxi2UFOZjrlDpXKdyepPDKIZDAaMeYYxfuraPa3YrMryJY69LY4sUgXWYY8ina9ztXJSVIzMwR8PgzGPLINOaRt2UquMZfM9HTy87eRm5uPVFBQwAubNrH5pc1kZ4vmQpiVmcXOwu28IRrlZRvYmraFjPQMtuW/QuGrhewQeG37Dop2FmEqNlGyjj0llJaUIqlqgEOVVewzmdi/by8WuRp7bR11tbXIFZXI5gps1YdprHfS6FRw/Qe34qLe7sDd4MLv8xMKBNFaNCRvk4rfH9wgVfHJQ6EWQiLR3h4RnA/V6yWoqmh+USSiW1FQ6utp9njRQiF0oW3VdXRNFzGMpAgHj0j61l2EYL1xMBgkJNAizutR17SNvRYUeWEa3LhRYIOPx2JEozEikShtbRH+BUgQ8HH402ooAAAAAElFTkSuQmCC\'); background-size: cover; display: block;"\n ></span>\n <img\n class="gatsby-resp-image-image"\n alt="The Custom Lightning connector soldered to the phone'
1s charging board"\n title=""\n src="/static/836638a223256442e07a66a2b8a133f9/4ad3a/finalSoldering.png"\n srcset="/static/836638a223256442e07a66a2b8a133f9/477c9/finalSoldering.png 288w,\n/static/836638a223256442e07a66a2b8a133f9/533c1/finalSoldering.png 576w,\n/static/836638a223256442e07a66a2b8a133f9/4ad3a/finalSoldering.png 1152w,\n/static/836638a223256442e07a66a2b8a133f9/b8bf8/finalSoldering.png 1728w,\n/static/836638a223256442e07a66a2b8a133f9/cb93d/finalSoldering.png 2304w,\n/static/836638a223256442e07a66a2b8a133f9/12dc6/finalSoldering.png 3461w"\n sizes="(max-width: 1152px) 100vw, 1152px"\n style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"\n loading="lazy"\n decoding="async"\n />\n </a>\n </span>'}}),"\n",o.createElement(t.p,null,"So I closed the phone, and the project was done. It worked. Now it was a super fun technical challenge and Iâm relieved that most of you understood that it was kind of a joke for April Foolsâ day."),"\n",o.createElement(t.p,null,"Back to doing serious projects now ;)"),"\n",o.createElement(t.p,null,"Stay tuned, peace!"))}var r=function(e){void 0===e&&(e={});const{wrapper:t}=Object.assign({},(0,a.RP)(),e.components);return t?o.createElement(t,e,o.createElement(i,e)):i(e)};function l(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}var s=n(2917),c=n(6474),h=n(5477),m=n(3930),d=n(6700),p=n(2721),g=n(7528);function u(e){let{data:{mdx:t},children:n,pageContext:a}=e;return o.createElement(p.A,{title:t.frontmatter.title,description:t.excerpt,pathname:t.fields.slug,image:t.frontmatter.image?t.frontmatter.image.url:null,meta:[{name:"author",content:"Ken Pillonel"}]},o.createElement(s.az,{maxWidth:7,mx:"auto",px:[3,4,3]},o.createElement(m.Z),o.createElement(s.az,{as:"article",my:6},o.createElement(s.so,null,o.createElement(s.lf,{color:"neutral.2",fontSize:1,letterSpacing:"tracked",fontWeight:6,display:"flex",alignItems:"center",to:"/writing",mb:3},"â writing")),o.createElement(s.az,{as:"header",mb:6},o.createElement(h.n,{timestamp:t.frontmatter.timestamp,date:t.frontmatter.date}),o.createElement(s.H1,{mt:1,mb:4},t.frontmatter.title)),n),o.createElement(d.F,{posts:a.relatedPosts}),o.createElement(c.w)))}function b(e){return o.createElement(u,e,o.createElement(r,e))}function w(e){let{data:{mdx:t}}=e;return o.createElement(g.k,{title:t.frontmatter.title,description:t.excerpt,pathname:t.fields.slug,image:t.frontmatter.image?t.frontmatter.image.url:null,meta:[{name:"author",content:"Ken Pillonel"}]})}},4663:function(e,t,n){n.d(t,{G:function(){return r}});var a=n(6540),o=n(2917),i=n(5465);const r=()=>{const{setColorMode:e}=(0,a.useContext)(i.Ig);return a.createElement(o.B_,{title:"cycle colour mode",p:1,onClick:e},a.createElement(o.In,{display:"block",type:"themeMode",color:"neutral.1"}))}},5477:function(e,t,n){n.d(t,{n:function(){return i}});var a=n(6540),o=n(2917);const i=e=>{let{date:t,timestamp:n,...i}=e;return a.createElement(o.EY,Object.assign({as:"time",dateTime:n,lineHeight:"solid",color:"neutral.2",fontSize:1},i),t)}},6474:function(e,t,n){n.d(t,{w:function(){return l}});var a=n(6540),o=n(2917);const i=[{title:"About",to:"/"},{title:"Shop",to:"https://shop.kenp.io"},{title:"Writing",to:"/writing"},{title:"Travel",to:"/travel"},{title:"Projects",to:"/projects"},{title:"Press",to:"/press"},{title:"RSS",to:"/rss.xml"}],r=[{title:"Patreon",to:"https://www.patreon.com/ExploringTheSimulation"},{title:"YouTube",to:"https://www.youtube.com/channel/UCGo22VEt5enuQHeQTXcPuzw"},{title:"LinkedIn",to:"https://www.linkedin.com/in/kpillonel/"},{title:"GitHub",to:"https://github.com/kenp-io"},{title:"Twitter",to:"https://twitter.com/kenpillonel"},{title:"Email",to:"mailto:[email protected]"}],l=e=>a.createElement(o.az,Object.assign({as:"footer",pt:[3,6],mb:6},e),a.createElement(o.cy,null,i.map((e=>a.createElement(o.EY,{key:e.to,as:"li",display:"inline-block",mb:0,mr:3},a.createElement(o.lf,{letterSpacing:"tracked",display:"block",fontWeight:7,fontSize:1,to:e.to},e.title))))),a.createElement(o.cy,{display:"block",mb:0},r.map((e=>a.createElement(o.EY,{key:e.to,as:"li",display:"inline-block",mb:0,mr:3},a.createElement(o.lf,{display:"block",fontSize:1,to:e.to},e.title))))))},3930:function(e,t,n){n.d(t,{Z:function(){return r}});var a=n(6540),o=n(2917),i=n(4663);const r=e=>{let{linkTo:t="/"}=e;return a.createElement(o.so,{as:"nav",mx:"auto",my:6,alignItems:["flex-start","center"]},a.createElement(o.az,{display:["block","flex"],alignItems:"center"},a.createElement(o.lf,{to:t,style:{textTransform:"uppercase"},mb:0,mr:2,color:"neutral.1",letterSpacing:"tracked",fontSize:1,fontWeight:7,lineHeight:"solid"},"Ken Pillonel"),a.createElement(o.EY,{color:"neutral.3",fontSize:1,lineHeight:"solid",mt:[1,0],mb:0},"exploring the simulation")),a.createElement(o.az,{flex:1}),a.createElement(i.G,null))}},6700:function(e,t,n){n.d(t,{F:function(){return r}});var a=n(6540),o=n(2917),i=n(5477);const r=e=>{let{posts:t}=e;return a.createElement(o.az,{as:"aside",borderTopWidth:"2px",borderTopColor:"neutral.5",borderTopStyle:"solid",py:4},a.createElement(o.H1,{fontSize:3,mb:3,mt:3}
1,"Related Posts"),a.createElement(o.B8,{pl:4},t.map((e=>a.createElement(o.ck,{key:e.title},a.createElement(o.lf,{to:e.url,color:"neutral.0",title:e.title},e.title," ",a.createElement(i.n,{date:e.date,timestamp:e.timestamp})))))))}},7528:function(e,t,n){n.d(t,{k:function(){return l}});var a=n(6540),o=n(4794);l.defaultProps={lang:"en",meta:[],description:""};const i=e=>{let{url:t,name:n,type:o="website",title:i,description:r,image:l,locale:s}=e;return a.createElement(a.Fragment,null,n&&a.createElement("meta",{property:"og:site_name",content:n}),a.createElement("meta",{property:"og:locale",content:s}),a.createElement("meta",{property:"og:url",content:t}),a.createElement("meta",{property:"og:type",content:o}),a.createElement("meta",{property:"og:title",content:i}),a.createElement("meta",{property:"og:description",content:r}),a.createElement("meta",{property:"og:image",content:l}),a.createElement("meta",{property:"og:image:alt",content:r}))},r=e=>{let{type:t="summary_large_image",username:n,title:o,description:i,image:r}=e;return a.createElement(a.Fragment,null,n&&a.createElement("meta",{name:"twitter:creator",content:n}),a.createElement("meta",{name:"twitter:card",content:t}),a.createElement("meta",{name:"twitter:title",content:o}),a.createElement("meta",{name:"twitter:description",content:i}),a.createElement("meta",{name:"twitter:image",content:r}),a.createElement("meta",{name:"twitter:image:alt",content:i}))};function l(e){let{description:t,meta:n,title:l,image:s,pathname:c="/",article:h=!1}=e;const{site:m}=(0,o.useStaticQuery)("3725303763"),{siteTitle:d,siteUrl:p,author:g}=m.siteMetadata,u="/triangle.png";return a.createElement(a.Fragment,null,a.createElement("title",null,`${l} | ${d}`),[{rel:"stylesheet",type:"text/css",href:"https://rsms.me/inter/inter.css"},{rel:"webmention",href:"https://webmention.io/kenp.io/webmention"},{rel:"pingback",href:"https://webmention.io/kenp.io/xmlrpc"}].map((e=>a.createElement("link",e))),"meta=",[{name:"description",content:t}].concat(n).map((e=>a.createElement("meta",e))),a.createElement(i,{desc:t,image:`${p}${s||u}`,title:l,type:h?"article":"website",url:`${p}${c}`,locale:"en_CA",name:d}),a.createElement(r,{title:l,image:`${p}${s||u}`,desc:t,username:g}))}}}]); 2//# sourceMappingURL=component---src-layouts-post-layout-js-content-file-path-content-posts-worlds-first-lightning-android-index-mdx-49811d877dc84e4ccf78.js.map
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.