<textfill="#1f241c"font-family="'Open Sans Condensed'"font-size="2.9858px"letter-spacing="0px"stroke-width=".37323"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><textPathxlink:href="#h"><tspanfill="#1f241c"font-family="'Open Sans Condensed'"stroke-width=".37323">struct lws</tspan></textPath></text>
<texttransform="rotate(28.489)"x="50.696777"y="20.985275"fill="#ffffff"font-family="'Open Sans Condensed'"font-size="3.4176px"letter-spacing="0px"stroke-width=".42721"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><tspanx="50.696777"y="20.985275"fill="#ffffff"font-family="'Open Sans Condensed'"stroke-width=".42721">tls</tspan></text>
<texttransform="rotate(28.489)"x="53.057144"y="17.30608"fill="#ffffff"fill-opacity=".5124"font-family="'Open Sans Condensed'"font-size="4.0055px"letter-spacing="0px"stroke-width=".50068"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><tspanx="53.057144"y="17.30608"fill="#ffffff"fill-opacity=".5124"font-family="'Open Sans Condensed'"stroke-width=".50068">tls ctx</tspan></text>
<textx="68.064011"y="45.808071"fill="#000000"font-family="'Open Sans Condensed'"font-size="1.63px"letter-spacing="0px"stroke-width=".20375"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><tspanx="68.064011"y="45.808071"fill="#ffffff"font-family="'Open Sans Condensed'"stroke-width=".20375">http1</tspan></text>
<textx="69.767853"y="50.318241"fill="#000000"font-family="'Open Sans Condensed'"font-size="1.63px"letter-spacing="0px"stroke-width=".20375"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><tspanx="69.767853"y="50.318241"fill="#ffffff"font-family="'Open Sans Condensed'"stroke-width=".20375">http2</tspan></text>
<textx="71.179817"y="55.129093"fill="#000000"font-family="'Open Sans Condensed'"font-size="1.63px"letter-spacing="0px"stroke-width=".20375"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><tspanx="71.179817"y="55.129093"fill="#ffffff"font-family="'Open Sans Condensed'"stroke-width=".20375">ws</tspan></text>
<textx="70.876762"y="59.983143"fill="#000000"font-family="'Open Sans Condensed'"font-size="1.63px"letter-spacing="0px"stroke-width=".20375"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><tspanx="70.876762"y="59.983143"fill="#ffffff"font-family="'Open Sans Condensed'"stroke-width=".20375">raw</tspan></text>
<textx="70.149879"y="64.746742"fill="#000000"font-family="'Open Sans Condensed'"font-size="1.63px"letter-spacing="0px"stroke-width=".20375"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><tspanx="70.149879"y="64.746742"fill="#ffffff"font-family="'Open Sans Condensed'"stroke-width=".20375">cgi</tspan></text>
<texttransform="translate(.4009 -.46772)"fill="#0055d4"font-family="'Open Sans Condensed'"font-size="3.4176px"letter-spacing="0px"stroke-width=".42721"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><textPathxlink:href="#j"><tspanfill="#0055d4"font-family="'Open Sans Condensed'"stroke-width=".42721">lws_role</tspan></textPath></text>
<texttransform="rotate(-90 29.678 55.996)"x="-44.194904"y="-46.217644"fill="#008000"font-family="'Open Sans Condensed'"font-size="3.4176px"letter-spacing="0px"stroke-width=".42721"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><textPathxlink:href="#i">protocol</textPath></text>
<texttransform="rotate(25.543)"x="53.502361"y="28.587774"fill="#000000"font-family="'Open Sans Condensed'"font-size="1.63px"letter-spacing="0px"stroke-width=".20375"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><tspanx="53.502361"y="28.587774"fill="#ffffff"font-family="'Open Sans Condensed'"stroke-width=".20375">role</tspan></text>
<textfill="#ffeeaa"font-family="'Open Sans Condensed'"font-size="2.9858px"letter-spacing="0px"stroke-width=".37323"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><textPathxlink:href="#g"><tspanfill="#ffeeaa"font-family="'Open Sans Condensed'"stroke-width=".37323">struct lws_vhost</tspan></textPath></text>
<textfill="#fff6d5"font-family="'Open Sans Condensed'"font-size="2.9858px"letter-spacing="0px"stroke-width=".37323"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><textPathxlink:href="#f"><tspanfill="#fff6d5"font-family="'Open Sans Condensed'"stroke-width=".37323">struct lws_context</tspan></textPath></text>
<texttransform="rotate(25.543)"x="45.184494"y="28.32321"fill="#000000"font-family="'Open Sans Condensed'"font-size="1.1975px"letter-spacing="0px"stroke-width=".14968"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><tspanx="45.184494"y="28.32321"fill="#ffffff"font-family="'Open Sans Condensed'"stroke-width=".14968">protocol</tspan></text>
<gfill="#ff2a2a">
<circlecx="43.799"cy="84.872"r="2.2846"/>
<circlecx="48.977"cy="84.654"r="2.2846"/>
<circlecx="38.754"cy="84.187"r="2.2846"/>
<circlecx="33.743"cy="82.783"r="2.2846"/>
</g>
<textfill="#d40000"font-family="'Open Sans Condensed'"font-size="3.4176px"letter-spacing="0px"stroke-width="1.6146"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><textPathxlink:href="#e">event loops<tspanfill="#d40000"font-family="'Open Sans Condensed'"/></textPath></text>
<gfill="#000000"font-family="'Open Sans Condensed'"font-size="1.63px"letter-spacing="0px"stroke-width=".20375"word-spacing="0px">
<textx="32.110046"y="83.315392"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><tspanx="32.110046"y="83.315392"fill="#ffffff"font-family="'Open Sans Condensed'"stroke-width=".20375">event</tspan></text>
<textx="37.968678"y="84.685555"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><tspanx="37.968678"y="84.685555"fill="#ffffff"font-family="'Open Sans Condensed'"stroke-width=".20375">uv</tspan></text>
<textx="47.890556"y="85.158028"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><tspanx="47.890556"y="85.158028"fill="#ffffff"font-family="'Open Sans Condensed'"stroke-width=".20375">poll</tspan></text>
<textx="43.118603"y="85.299767"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><tspanx="43.118603"y="85.299767"fill="#ffffff"font-family="'Open Sans Condensed'"stroke-width=".20375">ev</tspan></text>
</g>
<texttransform="translate(2.3624 1.4174)"fill="#483e37"font-family="'Open Sans Condensed'"font-size="3.4176px"letter-spacing="0px"stroke-width=".42721"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><textPathxlink:href="#d">TLS backend</textPath></text>
<textx="16.4466"y="49.484085"fill="#ffffff"font-family="'Open Sans Condensed'"font-size="1.63px"letter-spacing="0px"stroke-width=".20375"text-align="center"text-anchor="middle"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1"xml:space="preserve"><tspanx="16.4466"y="49.484085"text-align="center"style="line-height:1">open</tspan><tspanx="16.4466"y="51.114063"text-align="center"style="line-height:1">SSL</tspan></text>
<textx="15.812221"y="55.505154"fill="#ffffff"font-family="'Open Sans Condensed'"font-size="1.63px"letter-spacing="0px"stroke-width=".20375"text-align="center"text-anchor="middle"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1"xml:space="preserve"><tspanx="15.812221"y="55.505154"text-align="center"style="line-height:1">mbed</tspan><tspanx="15.812221"y="57.135132"text-align="center"style="line-height:1">TLS</tspan></text>
<texttransform="rotate(18.076)"x="63.807125"y="1.2534895"fill="#000000"font-family="'Open Sans Condensed'"font-size="2.1167px"letter-spacing="0px"stroke-width=".26458"text-align="center"text-anchor="middle"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1"xml:space="preserve"><tspanx="63.807125"y="1.2534895"text-align="center"style="line-height:1">tcp, udp,</tspan><tspanx="63.807125"y="3.370156"text-align="center"style="line-height:1">unix listen</tspan><tspanx="63.807125"y="5.4868226"text-align="center"style="line-height:1">socket(s)</tspan></text>
<texttransform="rotate(33.374)"x="71.540237"y="5.0364399"fill="#ffffff"font-family="'Open Sans Condensed'"font-size="3.2488px"letter-spacing="0px"stroke-width=".40609"text-align="center"text-anchor="middle"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1"xml:space="preserve"><tspanx="71.540237"y="5.0364399"text-align="center"style="line-height:1">ALPN</tspan><tspanx="71.540237"y="8.2851915"text-align="center"style="line-height:1">SNI</tspan></text>
<texttransform="translate(.26727 .46772)"fill="#000000"font-family="'Open Sans Condensed'"font-size="2.417px"letter-spacing="0px"stroke-width=".30212"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><textPathxlink:href="#l"><tspanfont-family="'Open Sans Condensed'"stroke-width=".30212">ah http headers</tspan></textPath></text>
<gfont-family="'Open Sans Condensed'"letter-spacing="0px"text-anchor="middle"word-spacing="0px">
<texttransform="rotate(26.555)"x="76.934166"y="31.127186"fill="#000000"font-size="2.5688px"stroke-width=".3211"text-align="center"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1"xml:space="preserve"><tspanx="76.934166"y="31.127186"font-family="'Open Sans Condensed'"stroke-width=".3211"text-align="center"text-anchor="middle"style="line-height:1">event loop</tspan></text>
<texttransform="rotate(38.032)"x="61.58363"y="36.673119"fill="#cccccc"font-size="2.4588px"stroke-width=".30735"text-align="center"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1"xml:space="preserve"><tspanx="61.58363"y="36.673119"fill="#cccccc"font-family="'Open Sans Condensed'"stroke-width=".30735"text-align="center"text-anchor="middle"style="line-height:1">logging</tspan></text>
<textfill="#000000"font-family="'Open Sans Condensed'"font-size="2.2084px"letter-spacing="0px"stroke-width=".27605"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><textPathxlink:href="#k"><tspanfont-family="'Open Sans Condensed'"stroke-width=".27605">ws ext: pm-def</tspan></textPath></text>
<gfont-family="'Open Sans Condensed'"letter-spacing="0px"text-anchor="middle"word-spacing="0px">
<texttransform="rotate(-21.452)"x="20.092173"y="36.830799"fill="#ffffff"font-size="2.1167px"stroke-width=".26458"text-align="center"style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><tspanx="20.092173"y="36.830799"fill="#ffffff"font-family="'Open Sans Condensed'"stroke-width=".26458">ssh</tspan></text>
<texttransform="rotate(-15.946)"x="29.145987"y="34.664425"fill="#ffffff"font-size="1.6275px"stroke-width=".20343"text-align="center"style="font-feature-settings:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1.25"xml:space="preserve"><tspanx="29.145987"y="34.664425"fill="#ffffff"font-family="'Open Sans Condensed'"stroke-width=".20343">ACME</tspan></text>
<texttransform="rotate(26.859)"x="77.195198"y="36.191971"fill="#e9ddaf"font-family="'Open Sans Condensed'"font-size="1.8247px"letter-spacing="0px"stroke-width=".22809"text-align="center"text-anchor="middle"word-spacing="0px"style="font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;line-height:1"xml:space="preserve"><tspanx="77.195198"y="36.191971"fill="#e9ddaf"font-family="'Open Sans Condensed'"stroke-width=".22809"text-align="center"text-anchor="middle"style="line-height:1">service thread(s)</tspan></text>