tag:blogger.com,1999:blog-48500947643543350962024-03-18T21:25:47.602-07:00Vincent Zimmer's blogThis blog has musings on technology, firmware, UEFI, etcVincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.comBlogger121125tag:blogger.com,1999:blog-4850094764354335096.post-47573202240890150562024-02-24T12:00:00.000-08:002024-02-26T13:36:39.561-08:0027 or Anniversary.Next^12, AI, Runtime<p>Anniversary <br /></p><p>True to form, today is my work anniversary. I started Intel on February 24, 1997 This post also builds on my last posting in this vein <a href="http://vzimmer.blogspot.com/2023/02/26-or-anniversarynext11-and-wisdom-of.html">http://vzimmer.blogspot.com/2023/02/26-or-anniversarynext11-and-wisdom-of.html</a>. At this point I have spent more than half of my life on this planet at this single company. </p><p>Since the last posting I've been back to the office daily, sometimes visiting the Crossroads for lunch, where I had my first sighting of a Cyber Truck.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZujw62Gp36MEDxIbPcr2ob6wMa2TaAP-O4P-l0lZPB_Q1NTor605Ew4mCGqI5WSW5qPln2QuCBiIB3VanOFl3Fz0TKY3gBNJi7a6ZaiM7xVdxJyuh1KhKMK1KY90Q61X8AL0fcCADW8SoHthlrsNeOWylGqjIyh1VH-97aYQo3ZKMqKmK2Ou_ib5yMrQ/s4032/cyber_truck_IMG_0318.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZujw62Gp36MEDxIbPcr2ob6wMa2TaAP-O4P-l0lZPB_Q1NTor605Ew4mCGqI5WSW5qPln2QuCBiIB3VanOFl3Fz0TKY3gBNJi7a6ZaiM7xVdxJyuh1KhKMK1KY90Q61X8AL0fcCADW8SoHthlrsNeOWylGqjIyh1VH-97aYQo3ZKMqKmK2Ou_ib5yMrQ/s320/cyber_truck_IMG_0318.jpg" width="320" /></a></div><div><br /></div><div><br /></div><div>I'd often work through lunch and eat from the local self-serve facilities but the pickings have been slim. So slim that even a 2-month-expired tuna sandwich was eaten by someone.</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitD_gCNH-e7uJbTKMDzYEMTBNiSgFP7MIy81Hn284sV_WDcad0g20PR0UIg2KfQthqc0GTIVNef5B1QhVAyE9OvsnraPfd2iDl67l1wyxJTpEdOibc6ngFa7CvvxLzHY4Jtx6n1kLDAzObUOSGhttW3dNb4_C_1PtXmBR1BWa18CxiQLJyQLrUYxmMu_Y/s4032/no_tuna_IMG_0484(1).jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitD_gCNH-e7uJbTKMDzYEMTBNiSgFP7MIy81Hn284sV_WDcad0g20PR0UIg2KfQthqc0GTIVNef5B1QhVAyE9OvsnraPfd2iDl67l1wyxJTpEdOibc6ngFa7CvvxLzHY4Jtx6n1kLDAzObUOSGhttW3dNb4_C_1PtXmBR1BWa18CxiQLJyQLrUYxmMu_Y/s320/no_tuna_IMG_0484(1).jpg" width="240" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5VX9alAAFo1jLxmt-lvBtQqqJhru3Og1co3qe5acsYX3Ugx53TATzGaz7F8t_R4koeF5dzf6Bb-3Cz0L5Ix_9xd4YJl06G4dM0cbmoFIoAB2repDQ8f30kKBjnwLG9q8j31eJjerMijnx9m5yvU0Ul0Dj4UMYskWkKbZ3yLPiC-LsdIb1JhAXU4UOIGQ/s4032/tuna_IMG_0313(1).jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5VX9alAAFo1jLxmt-lvBtQqqJhru3Og1co3qe5acsYX3Ugx53TATzGaz7F8t_R4koeF5dzf6Bb-3Cz0L5Ix_9xd4YJl06G4dM0cbmoFIoAB2repDQ8f30kKBjnwLG9q8j31eJjerMijnx9m5yvU0Ul0Dj4UMYskWkKbZ3yLPiC-LsdIb1JhAXU4UOIGQ/s320/tuna_IMG_0313(1).jpg" width="320" /></a></div><br /><p><br /></p><p> I last took a sabbatical in 2011 where I smashed up my arm on the 2nd day and ended up w/ 2 surgeries. I still recall the one-handed typing away at the ITJ articles <a href="https://www.intel.com/content/dam/www/public/us/en/documents/research/2011-vol15-iss-1-intel-technology-journal.pdf">https://www.intel.com/content/dam/www/public/us/en/documents/research/2011-vol15-iss-1-intel-technology-journal.pdf</a> that appeared later that year. Typically sabbaticals expire but with the strangeness of COVID there were extensions that turned into a revised evergreen policy where sabbaticals no longer expire. Regrettably, though, one stops accruing time after reaching 16 years. Looks like I need to pull the trigger on at least one month in the upcoming year, viz.,</p><p></p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw60tBiNUcfFkDdyAuyBDUHOImItnmJhAY0bedDEcNX9nIVkTZ4pWKhAtpZfeiUFCjh50fw7cq3rZ8Lpg5pOFbTaZ0r7gTUTmYL9HGse3Dd0ynDqFvRZ_oS0qzhrNesX0rs_9ln_kUUyCyGj6UHohD1awu3ufZs11NhFffxmplYP313I2ZV0-RFBjfJMI/s513/anniv-2-24-2024%20(1).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="166" data-original-width="513" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw60tBiNUcfFkDdyAuyBDUHOImItnmJhAY0bedDEcNX9nIVkTZ4pWKhAtpZfeiUFCjh50fw7cq3rZ8Lpg5pOFbTaZ0r7gTUTmYL9HGse3Dd0ynDqFvRZ_oS0qzhrNesX0rs_9ln_kUUyCyGj6UHohD1awu3ufZs11NhFffxmplYP313I2ZV0-RFBjfJMI/w498-h162/anniv-2-24-2024%20(1).png" width="498" /></a></div><p></p><p>Beyond cyber trucks, old sandwiches, and sabbaticals, the last year has seen a lot of energy around AI. Even the University of Washington lecture series has been dominated by this topic. An interesting talk from Meta was included in <a href="https://www.ece.uw.edu/news-events/lytle-lecture-series/">https://www.ece.uw.edu/news-events/lytle-lecture-series/</a> with slides <a href="https://www.ece.uw.edu/wp-content/uploads/2024/01/lecun-20240124-uw-lyttle.pdf">https://www.ece.uw.edu/wp-content/uploads/2024/01/lecun-20240124-uw-lyttle.pdf</a> and a recording <a href="https://www.youtube.com/watch?v=d_bdU3LsLzE">https://www.youtube.com/watch?v=d_bdU3LsLzE</a>. You can catch me at 6:36 on LHS of the screen</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAXUP7CJp7EoQ23dLGZUofgQv8gQcyvruxefXGR_P0O3_KRULA-2uVeAyC3QbisMykCBX2arKiwwg0Q7Cm4PCA2PAptv9yVFalnOSGDyk2z0q0yRGQz2Fhq4kgkDzFRPGxL3-F-wGUhRxJecZd8wS01mFANvYVsxuVaupgpvSryfXFPIx6-T8UjyO8JAQ/s187/yan-lec-face.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="187" data-original-width="91" height="335" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAXUP7CJp7EoQ23dLGZUofgQv8gQcyvruxefXGR_P0O3_KRULA-2uVeAyC3QbisMykCBX2arKiwwg0Q7Cm4PCA2PAptv9yVFalnOSGDyk2z0q0yRGQz2Fhq4kgkDzFRPGxL3-F-wGUhRxJecZd8wS01mFANvYVsxuVaupgpvSryfXFPIx6-T8UjyO8JAQ/w163-h335/yan-lec-face.JPG" width="163" /></a></div>It's always interesting to be there in person. One comment that intrigued me was a comment from Yann LeCun about the Metaverse build out and GPU procurement. I cannot recall if it was on-tape or off-the-record so I've avoid going further than that.<br /><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUz_-r0ZoWrjjkg2Igbe5AUB0-5QJQuobXK9Q5IkkAx-6FzIzQyTOIm6dnZ8sEK6AUQbh3coQfTkFJ6Egs2nbyhcEE1TVcvmOQsz7GfnAz7ZFl5tVPgnppViwjfVE5S-Jq3QNb6Xh691BJ4fmmIEtpe-IW4VnNgZh-JodmGkjpScVgG9PeabVXeqGt5JY/s4032/yan_lecun_IMG_0369.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUz_-r0ZoWrjjkg2Igbe5AUB0-5QJQuobXK9Q5IkkAx-6FzIzQyTOIm6dnZ8sEK6AUQbh3coQfTkFJ6Egs2nbyhcEE1TVcvmOQsz7GfnAz7ZFl5tVPgnppViwjfVE5S-Jq3QNb6Xh691BJ4fmmIEtpe-IW4VnNgZh-JodmGkjpScVgG9PeabVXeqGt5JY/s320/yan_lecun_IMG_0369.jpg" width="240" /></a></div><div><br /></div><div>This talk was at the Lyceum HUB but all of the other talks were across the street.</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidQVHqDX1Q7s-i16RxFA8PnuvgeoAgqsFDjdIgcRmAYCbdq4ZRJWcZmy8xJUoal9kviv8pkyqXD580rmyM5IalL4HcjoxIEWMkgk5osMGPMJ9rHualTkmK2WXv7vpQCXB7W0LTCEBqy-STXzIbBSx54RLnysrSaLTYU6t9VaMqGYmjDy6rERUxDVNhkIM/s4032/auditorium_entrance_IMG_0341.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidQVHqDX1Q7s-i16RxFA8PnuvgeoAgqsFDjdIgcRmAYCbdq4ZRJWcZmy8xJUoal9kviv8pkyqXD580rmyM5IalL4HcjoxIEWMkgk5osMGPMJ9rHualTkmK2WXv7vpQCXB7W0LTCEBqy-STXzIbBSx54RLnysrSaLTYU6t9VaMqGYmjDy6rERUxDVNhkIM/s320/auditorium_entrance_IMG_0341.jpg" width="240" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhweU7pkDE-CvlbIV-_XhZPkL0Dr62Whn-3CtUk_UNUdozpLkI6uLh6Q2puwhRf8dQXp-puqQBCswXc3XnvnxzjgILkrUxMG-ep9-6ezUwa2qpRwBR0k6-NumxDUeFF-AK5OoMxl955OpaC7YbNuKgWnI3BkDSit8Gcgw9JWP7agTp1ZLw8sftA-UHWkro/s4032/paul_allen_bldg_IMG_0339.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhweU7pkDE-CvlbIV-_XhZPkL0Dr62Whn-3CtUk_UNUdozpLkI6uLh6Q2puwhRf8dQXp-puqQBCswXc3XnvnxzjgILkrUxMG-ep9-6ezUwa2qpRwBR0k6-NumxDUeFF-AK5OoMxl955OpaC7YbNuKgWnI3BkDSit8Gcgw9JWP7agTp1ZLw8sftA-UHWkro/s320/paul_allen_bldg_IMG_0339.jpg" width="240" /></a></div><div><br /></div><div>Another interesting talk <a href="https://www.cs.washington.edu/events/colloquia/details?id=3310">https://www.cs.washington.edu/events/colloquia/details?id=3310</a> was from Fei-Fei Li of Stanford and ImageNet <a href="https://ieeexplore.ieee.org/document/5206848">https://ieeexplore.ieee.org/document/5206848</a> fame.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzpo9Ctp_1lHc61-t36tK2OWDGymWfz4h3K4kNwcUBtzyRwe2cUXNQVXOgDtBO382X394Vd_oMMtwGEqySI-8MSM8nD7KQd_258n4GWjHY0uQUlt010jeklzUkyAoz7MpQzSbpEznVD4PmR_GngGXSJ0NdOtIbFpU_LCyBv6OFQr6Gv8K9FiFBG9gZ11k/s4032/feifei_lee_IMG_0343.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzpo9Ctp_1lHc61-t36tK2OWDGymWfz4h3K4kNwcUBtzyRwe2cUXNQVXOgDtBO382X394Vd_oMMtwGEqySI-8MSM8nD7KQd_258n4GWjHY0uQUlt010jeklzUkyAoz7MpQzSbpEznVD4PmR_GngGXSJ0NdOtIbFpU_LCyBv6OFQr6Gv8K9FiFBG9gZ11k/s320/feifei_lee_IMG_0343.jpg" width="240" /></a></div>This was near the comp sci building<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgliSH1v3s6fFAsn8AQdjcqbuD2YxDVd8XEnnGvK2NHfryg9-OKMyK2vo54lqmqueg9l6KY3AzsWFexi-CXQs_rqjb1YFN-W5Fi7tD0uZGbhPEySWdVxdREAbzy-e-ismjvvHDebiMb6ZBMJ-ZryAUgE9UYgV1mL4jeNfMtFk6qmv1rHaG2T_zK7n2Z7uA/s4032/pauLallen_signage_IMG_0337.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgliSH1v3s6fFAsn8AQdjcqbuD2YxDVd8XEnnGvK2NHfryg9-OKMyK2vo54lqmqueg9l6KY3AzsWFexi-CXQs_rqjb1YFN-W5Fi7tD0uZGbhPEySWdVxdREAbzy-e-ismjvvHDebiMb6ZBMJ-ZryAUgE9UYgV1mL4jeNfMtFk6qmv1rHaG2T_zK7n2Z7uA/s320/pauLallen_signage_IMG_0337.jpg" width="320" /></a></div><div><br /></div><div>LeCun's and Li's talks were like Taylor-Swift-concert-crowds but for techies. Nice to see these thought leaders share their insights and experience in person. </div><div><br /></div>Google Waymo was also in the mix with a talk <a href="https://tcat.cs.washington.edu/events/taskar-center-memorial-distinguished-lecture/">https://tcat.cs.washington.edu/events/taskar-center-memorial-distinguished-lecture/</a> on the challenges of autonomous driving and AI <a href="https://www.youtube.com/watch?v=pK5ChzMsfE0">https://www.youtube.com/watch?v=pK5ChzMsfE0</a><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZhQsyqIgFeQuDpNXnbUZiKNEyTXzFVsPQnrk9Tv18Pp_KWbzFL6Yy431zRSYyRti_4DVFFRrOAHTtng8TB9ACF3sbq5JZwOPsqNxFiYfgxPy4rOxxq1vP16y1xmG5Mj-1_ZJTV03ON5m73xJTpEPEizFSNKypkz9UA8URRs4WFZ9iU8wco0boDRL6u_8/s4032/waymo_IMG_0397.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZhQsyqIgFeQuDpNXnbUZiKNEyTXzFVsPQnrk9Tv18Pp_KWbzFL6Yy431zRSYyRti_4DVFFRrOAHTtng8TB9ACF3sbq5JZwOPsqNxFiYfgxPy4rOxxq1vP16y1xmG5Mj-1_ZJTV03ON5m73xJTpEPEizFSNKypkz9UA8URRs4WFZ9iU8wco0boDRL6u_8/s320/waymo_IMG_0397.jpg" width="240" /></a></div><br /><p><br /></p><p>So let's pivot from AI lectures to a topic closer to home, namely firmware runtime. I chose this topic since one of the most popular posts is on this blog series was UEFI variable runtime <a href="http://vzimmer.blogspot.com/2012/12/accessing-uefi-form-operating-system.html">http://vzimmer.blogspot.com/2012/12/accessing-uefi-form-operating-system.html</a>. I suspect this stems from the fact that most folks have interactions during life of platform at runtime. In our quest for 0-second boot this makes even more sense. </p><p>Regarding how firmware is exposed to the operating system, and thus ultimately the user, at runtime, there are various modalities. </p><p>These include:</p><p></p><ul style="text-align: left;"><li>Static info tables</li><ul><li>Advanced Configuration and Power Interface (ACPI)</li><li>Flattened Device Tree (FDT)</li></ul><li>Interpreter bytecode</li><ul><li>ACPI AML interpreter</li><li>UEFI EBC sandbox</li><li>x86 VDM for video int10h calls</li></ul><li>Native code runtime</li><ul><li>UEFI runtime</li><li>Power9 OPAL</li><li>Platform Runtime Mechanism (PRM)</li></ul><li>Opaque host modes - synchronous and asynchronous activations</li></ul><p></p><ul style="text-align: left;"><ul><li>SMI(SMM)- x64</li><li>SMC(TrustZone)- ARM</li><li>Trap(Machine Mode) - RISC-V</li></ul></ul><p>These are all for the host firmware, or firmware running on the main application processor/core.</p><p>There is also device firmware running in the SOC.</p><p>In addition, at the platform level, the host can signal 'non-host' such as an Embedded Controller (EC) on client and Baseboard Management Controller (BMC) on server.</p><p>Below shows some of the latter </p><p> </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8vRUWkAyVYKdUNTHezRZJkMwyqUa607Uf1xvBiAD3I_GnYlXzsILwF-ezoy_tNn1DWVeXgBm7pTpQ6F4OI3QDBLJe01x7LpiZXkkOuwC7ZrHnxdqi20WhWhXK_UD450WX-xbpMpdmiJjodHRT2jYjY5W6W9AOfYp92BHjXRxQhsnPqAgszqOQJjeeCeY/s780/bmc_generic_Picture1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="337" data-original-width="780" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8vRUWkAyVYKdUNTHezRZJkMwyqUa607Uf1xvBiAD3I_GnYlXzsILwF-ezoy_tNn1DWVeXgBm7pTpQ6F4OI3QDBLJe01x7LpiZXkkOuwC7ZrHnxdqi20WhWhXK_UD450WX-xbpMpdmiJjodHRT2jYjY5W6W9AOfYp92BHjXRxQhsnPqAgszqOQJjeeCeY/s320/bmc_generic_Picture1.png" width="320" /></a></div><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5Kv5XMvCHTjYHX7akXCO6CnjG68pTsAsgU-VGdVmWGcLCUJlwTPQguKhqB4DUsJcYJzhYqV-AcCZ7jHKWSB00vUbTTQxMfQqaBEM-I8SOb8li7o4X_v-Yg2gTbB8e7ZnVatka2Qf8GcDP5Rg40YOuQfFbrNxQt9-4DOZlvQ2sNUmMsoc05QLiv1frlN4/s579/ec_generic_Picture3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="500" data-original-width="579" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5Kv5XMvCHTjYHX7akXCO6CnjG68pTsAsgU-VGdVmWGcLCUJlwTPQguKhqB4DUsJcYJzhYqV-AcCZ7jHKWSB00vUbTTQxMfQqaBEM-I8SOb8li7o4X_v-Yg2gTbB8e7ZnVatka2Qf8GcDP5Rg40YOuQfFbrNxQt9-4DOZlvQ2sNUmMsoc05QLiv1frlN4/s320/ec_generic_Picture3.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyi8ioct0WRQqohtJzpZkzBhGPvVQFgN-yUXe7EMIfmQrJ0-X9nSfK4j8P_43cCQsH44rQ53NOw4ELKEwW-7ZtpI3Y35MZp60bVblwxgDXg2v2O1km8DL3YCyL_7cfm0uDqOW8O5VzsLQGiXZD4EeCP1Jz0Vc7rhIN8DEqG8GyxuqcivwMkubYMHZzzg4/s684/OpenBMC_Picture2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="607" data-original-width="684" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyi8ioct0WRQqohtJzpZkzBhGPvVQFgN-yUXe7EMIfmQrJ0-X9nSfK4j8P_43cCQsH44rQ53NOw4ELKEwW-7ZtpI3Y35MZp60bVblwxgDXg2v2O1km8DL3YCyL_7cfm0uDqOW8O5VzsLQGiXZD4EeCP1Jz0Vc7rhIN8DEqG8GyxuqcivwMkubYMHZzzg4/s320/OpenBMC_Picture2.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG9il77i32Wic6XBcla9LbNVPNqVfYxbxwWoWi258RaQmoLuvOdHnX9EY7U7ZHH9CgrixHibzrn3OIroGB2A0ioSkAqfwn-EiyOyBTszlwcjURERsPrLu_q35WH2DMLClM2eiaA66US5f7J2VbFzErIRn-mr758_EJwr-kPTvwTpAGakGSsqZF59QtVT0/s761/openEC_Picture4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="586" data-original-width="761" height="246" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG9il77i32Wic6XBcla9LbNVPNqVfYxbxwWoWi258RaQmoLuvOdHnX9EY7U7ZHH9CgrixHibzrn3OIroGB2A0ioSkAqfwn-EiyOyBTszlwcjURERsPrLu_q35WH2DMLClM2eiaA66US5f7J2VbFzErIRn-mr758_EJwr-kPTvwTpAGakGSsqZF59QtVT0/s320/openEC_Picture4.png" width="320" /><span> </span></a></div><p></p><p></p><p><br /> from <a href="https://link.springer.com/book/10.1007/978-1-4842-7939-7">https://link.springer.com/book/10.1007/978-1-4842-7939-7</a>.</p><p><br />A lot of the flows are blended. For example, some of the descriptions of ACPI and SMI for errors described in <a href="https://cdrdv2.intel.com/v1/dl/getContent/671067">https://cdrdv2.intel.com/v1/dl/getContent/671067</a> but the paper is light on ACPI.</p><p>Regrettably the collection at <a href="https://www.amazon.com/stores/Vincent-Zimmer/author/B002I6IW4A">https://www.amazon.com/stores/Vincent-Zimmer/author/B002I6IW4A</a> is pretty spare on ACPI, too, although <a href="https://link.springer.com/book/10.1007/978-1-4842-7974-8">https://link.springer.com/book/10.1007/978-1-4842-7974-8</a> covers construction and design in the case studies.</p><p>A curation of ACPI material can be found in the following:</p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;">Public documents on ACPI</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2022</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">Intro to ACPI from ACPI spec</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://uefi.org/specs/ACPI/6.5/01_Introduction.html" style="text-decoration: none;"><span face="Arial,sans-serif" style="-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;">https://uefi.org/specs/ACPI/6.5/01_Introduction.html</span></a></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2019 </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ACPI tutorial</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://acpica.org/sites/acpica/files/asl_tutorial_v20190625.pdf" style="text-decoration: none;"><span face="Arial,sans-serif" style="-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;">https://acpica.org/sites/acpica/files/asl_tutorial_v20190625.pdf</span></a><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"> </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2013</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ACPI and UEFI</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://cdrdv2.intel.com/v1/dl/getContent/671067" style="text-decoration: none;"><span face="Arial,sans-serif" style="-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;">https://cdrdv2.intel.com/v1/dl/getContent/671067</span></a><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"> </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><br /></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ACPI overview
<a href="https://www.intel.com/content/dam/www/public/us/en/documents/research/2009-vol13-iss-1-intel-technology-journal.pdf">https://www.intel.com/content/dam/www/public/us/en/documents/research/2009-vol13-iss-1-intel-technology-journal.pdf</a>
</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><br /></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2009</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ACPI and SMM</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://link.springer.com/article/10.1007/s11416-009-0138-0" style="text-decoration: none;"><span face="Arial,sans-serif" style="-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;">https://link.springer.com/article/10.1007/s11416-009-0138-0</span></a><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"> </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2006</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ACPI attacks</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://www.blackhat.com/presentations/bh-europe-06/bh-eu-06-Heasman.pdf" style="text-decoration: none;"><span face="Arial,sans-serif" style="-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;">https://www.blackhat.com/presentations/bh-europe-06/bh-eu-06-Heasman.pdf</span></a><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"> </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2004</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ACPI HOWTO</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://tldp.org/HOWTO/pdf/ACPI-HOWTO.pdf" style="text-decoration: none;"><span face="Arial,sans-serif" style="-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;">https://tldp.org/HOWTO/pdf/ACPI-HOWTO.pdf</span></a></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2003</span></p><p dir="ltr" id="docs-internal-guid-ca1a67c1-7fff-0c30-03f6-5a5046f860c7" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">IA64 book, including UEFI and ACPI chapter</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://www.amazon.com/Itanium-Architecture-Programmers-Understanding-Processors/dp/0131013726" style="text-decoration: none;"><span face="Arial,sans-serif" style="-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;">https://www.amazon.com/Itanium-Architecture-Programmers-Understanding-Processors/dp/0131013726</span></a></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"> </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2001</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ACPI Book</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://dl.acm.org/doi/book/10.5555/940719" style="text-decoration: none;"><span face="Arial,sans-serif" style="-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;">https://dl.acm.org/doi/book/10.5555/940719</span></a><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"> </span></p><br /><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1997 </span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ACPI implementation guide</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><a href="https://www.baldwin.cx/~phoenix/reference/docs/acpi_impguide.pdf" style="text-decoration: none;"><span face="Arial,sans-serif" style="-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;">https://www.baldwin.cx/~phoenix/reference/docs/acpi_impguide.pdf</span></a><span face="Arial,sans-serif" style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"> </span></p><br />1996 for first spec - full history in <br /><a href="https://en.wikipedia.org/wiki/ACPI">https://en.wikipedia.org/wiki/ACPI</a> <div><br /></div><div> </div><div>A colleague suggested that I should have spent more time in the books writing about ACPI since he spends his time debugging issues on Windows and can quote many instances of poor or misunderstood ACPI constructions. I also chronicled in the past my exchange <a href="https://vzimmer.blogspot.com/2018/">https://vzimmer.blogspot.com/2018/</a> with the Linux kernel leadership on the topic. </div><div><br /></div><div>A lot of people grouse about UEFI and ACPI when in fact it isn't the standard they are critiquing but instead the implementation. Namely, it's often a confusion between interface and implementation. </div><div><br /><p></p></div><div>For example, on topics like the firmware support package (FSP), I hear complaints. I often offer the following dichotomy there:<br /><br /><span> Consumer (caller)</span><br /></div><div><span><br /></span></div><div><span><span> Interface (specification)</span><br /></span></div><div><span><span><br /></span></span></div><div><span><span><span> Producer (implementation)</span><br /></span></span></div><div><span><span><span><br /></span></span></span></div><div><span><span><span><br /></span></span></span></div><div>You can find examples of using FSP (consumer/caller) with EDKII </div><div><a href="https://www.intel.com/content/www/us/en/content-details/671038/a-tour-beyond-bios-using-the-intel-firmware-support-package-2-0-with-edk-ii.html">https://www.intel.com/content/www/us/en/content-details/671038/a-tour-beyond-bios-using-the-intel-firmware-support-package-2-0-with-edk-ii.html</a> or coreboot <a href="https://link.springer.com/chapter/10.1007/978-1-4842-0070-4_4">https://link.springer.com/chapter/10.1007/978-1-4842-0070-4_4</a>. The interface itself is defined at <a href="https://github.com/intel/fsp/wiki">https://github.com/intel/fsp/wiki</a>, and one way of building (producer/implementation)</div><div><a href="https://cdrdv2-public.intel.com/671296/a-tour-beyond-bios-creating-the-intel-firmware-support-package-with-the-efi-developer-kit-ii-fsp2-0.pdf">https://cdrdv2-public.intel.com/671296/a-tour-beyond-bios-creating-the-intel-firmware-support-package-with-the-efi-developer-kit-ii-fsp2-0.pdf</a>. As such, there are 3 layers.</div><div><br /></div><div>Sometimes people grouse about FSP when in fact it's the implementation, not the API. And it has been a long run on FSP. The Intel IOTG folks kicked it off in 2010 and then Jiming and I conspired to have a working group that I've lead/co-lead since 2014 on the same with various other co-leads and collaborators along the way. Some of the outputs of that collaboration that record Maurice, Ravi and Jiming details can be found in the '15 book <a href="https://link.springer.com/book/10.1007/978-1-4842-0070-4">https://link.springer.com/book/10.1007/978-1-4842-0070-4</a>, too. Maurice is now doing great things in fw at MS and Jiming at AMZN, resp., AFAIK. One of my key contributions in those 2013/2014 days was teasing out the FSP spec which was originally an amalgam of silicon details and API's into a couplet of docs, namely the main interface spec, the FSP EAS, and the respective SOC integration guides, such as can be found today in <a href="https://www.intel.com/fsp">https://www.intel.com/fsp</a> and in <a href="https://www.github.com/intel/FSP">https://www.github.com/intel/FSP</a>, respectively. This allowed for creating class drivers for FSP in the various platform code (e.g., coreboot and EDKII at the time) and abstracting SOC specifics. And I should forget how the decade+ of cross-group collaboration allowed for scaling FSP's from embedded to both mainstream client and servers, as demonstrated by the rich postings on Github. It's not a perfect split between EAS and integration guide, though, but as we've struggled with the 2001 Intel Framework API's and 2006+ UEFI PI spec interfaces, building that 'firmware socket' set of abstractions is tough given the variability of silicon and products over time.</div><div><br /></div><div><div>Same with UEFI. The interface is at <a href="https://uefi.org/specifications">https://uefi.org/specifications</a>. Two implementations can be found at <a href="https://github.com/tianocore/edk2/tree/master/MdeModulePkg/Core/Dxe">https://github.com/tianocore/edk2/tree/master/MdeModulePkg/Core/Dxe</a> and <a href="https://github.com/u-boot/u-boot/tree/master/lib/efi">https://github.com/u-boot/u-boot/tree/master/lib/efi</a>, respectively. Most folks complain about the EDKII implementation when they invoke 'UEFI is broken', I feel. This reminds me of the sentiment that some person with the handle of 'the_panopticon' mentioned in <a href="https://news.ycombinator.com/item?id=39481434">https://news.ycombinator.com/item?id=39481434</a>. </div></div><div><br /></div><div>So back to ACPI. The evolution of ACPI in the did-90's predates late 90's EFI. EFI started as a sample and then the Tiano project with EDK and then EDKII subsumed Framework/PI and EFI/UEFI but not the ACPI specification. As such, no modularization of ACPI from the beginning because of Conway's Law (i.e., the folks who owned the UEFI spec and its reference implementation didn't own the ACPI spec for the first nearly 2 decades). In fact a lot of the ACPI table construction on the Intel platforms was derived was the DaVinci/Kittyhawk clean-room C BIOS that pre-dated Tiano in that hotbed of late 90's BIOS innovation called DuPont, WA Intel site. This model of static tables differs from the ARM ecosystem which does dynamic table generation since they started much later on the journey and had a single-team/Linaro view of entering standards-based firmware.</div><div><br /></div><div>An advantage of dynamic table generation is flexibility but a downside is that it is harder to do attestation since the table fields are not known at build time. Even build time calculations, though, are aggravated by patching. So in practice it is not really done, just like a lot of configuration and PCR[1] content not really be reconstructed for some attestation / verifier flows.</div><div><br /></div><div>Thinking about these taxonomies of firmware, from SAL+BIOS to Kittyhawk to ACSFL to EDK to EDKII to slim bootloader to coreboot to.... I realize that I might have the dubious honor of having worked on the broadest variety of host firmware at my employer.</div><div><br /></div><div>Time marches on. In mentioning DaVinci/Kittyhawk workstation BIOS, I realize that my colleagues on that late 90's adventure have largely left the company, from retirement to downsizing to becoming execs at other tech shops (e.g., MS). Similar to the thinning of the crowd of others, such as even my 2015 colleagues from <a href="https://www.usenix.org/conference/woot15/workshop-program/presentation/bazhaniuk">https://www.usenix.org/conference/woot15/workshop-program/presentation/bazhaniuk</a> who have all left for startups (e.g., Eclypsium) or retirement or other big tech (e.g., Amazon). Well, given those statistics and chaos in tech, this might by be my last Next^* blog. Even if it is, though, I have enjoyed the run and people I've met along the way. Hopefully I have re-payed my employer's and colleagues trust with sufficient contributions these last 27 years. </div><div><br /></div><div>Cheers</div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-82725100548925922042024-01-08T06:26:00.000-08:002024-01-08T06:26:28.871-08:00"Advances in Platform Firmware 'Beyond BIOS'" - 20 years later.....<p> A decade has passed since the posting <a href="https://vzimmer.blogspot.com/2014/01/advances-in-platform-firmware-beyond.html">https://vzimmer.blogspot.com/2014/01/advances-in-platform-firmware-beyond.html</a> describing the journey of Tiano <a href="https://github.com/vincentjzimmer/Documents/blob/master/it01043.pdf">https://github.com/vincentjzimmer/Documents/blob/master/it01043.pdf</a>, which at the time was Intel Framework based specifications and the EDK implementation. As such, this month makes 20 years since the article landed on the internet.</p><p>The write-up was curiously available in several languages:</p><p><span> English - </span><a href="https://github.com/vincentjzimmer/Documents/blob/master/it01043_eng.pdf">https://github.com/vincentjzimmer/Documents/blob/master/it01043_eng.pdf</a></p><p><span><span> Portuguese - </span></span><a href="https://github.com/vincentjzimmer/Documents/blob/master/it01043_pg.pdf">https://github.com/vincentjzimmer/Documents/blob/master/it01043_pg.pdf</a></p><p><span><span><span> Japanese - </span></span></span><a href="https://github.com/vincentjzimmer/Documents/blob/master/it01043_j.pdf">https://github.com/vincentjzimmer/Documents/blob/master/it01043_j.pdf</a></p><p><span><span><span> Russian - </span></span></span><a href="https://github.com/vincentjzimmer/Documents/blob/master/it01043_ru.pdf">https://github.com/vincentjzimmer/Documents/blob/master/it01043_ru.pdf</a></p><p><span><span><span> Spanish - </span></span></span><a href="https://github.com/vincentjzimmer/Documents/blob/master/it01043_sp.pdf">https://github.com/vincentjzimmer/Documents/blob/master/it01043_sp.pdf</a></p><p><span><span><span> Chinese - </span></span></span><a href="https://github.com/vincentjzimmer/Documents/blob/master/it01043_cn.pdf">https://github.com/vincentjzimmer/Documents/blob/master/it01043_cn.pdf</a> </p><p>Today the EDK <a href="https://sourceforge.net/projects/edkit/">https://sourceforge.net/projects/edkit/</a> has become <a href="https://github.com/tianocore/edk2">https://github.com/tianocore/edk2</a> and the Framework <a href="https://www.intel.com/content/www/us/en/architecture-and-technology/unified-extensible-firmware-interface/efi-specifications-general-technology.html">https://www.intel.com/content/www/us/en/architecture-and-technology/unified-extensible-firmware-interface/efi-specifications-general-technology.html</a> corpus is UEFI PI <a href="https://uefi.org/specs/PI/1.8/index.html">https://uefi.org/specs/PI/1.8/index.html</a>. The OS-visible interface has gone from EFI 1.10 <a href="https://www.intel.com/content/dam/doc/product-specification/efi-v1-10-specification.pdf">https://www.intel.com/content/dam/doc/product-specification/efi-v1-10-specification.pdf</a> to UEFI <a href="https://uefi.org/specs/UEFI/2.10/">https://uefi.org/specs/UEFI/2.10/</a>, too. </p><p>Given the amount of change over this interval, I always have a tough time refreshing the graphic </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqTf07UBl5jKNz0GCU_7qRBXvdWQNkW10Z3jVx_OWb9AJ_D7CN1TH_u-5fd5SyBGUXR242SBnIlZIb6aVcgjKwzILDaKVUjOELg91DEdIdoPkAR1xmXHxayt_CScSOoQo51FxfdgmHTwV2fxTBMlundOHfWei_324c6-0E3pQIPd42_bW013tHRtr2XtM/s1862/efi-timeline.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1288" data-original-width="1862" height="301" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqTf07UBl5jKNz0GCU_7qRBXvdWQNkW10Z3jVx_OWb9AJ_D7CN1TH_u-5fd5SyBGUXR242SBnIlZIb6aVcgjKwzILDaKVUjOELg91DEdIdoPkAR1xmXHxayt_CScSOoQo51FxfdgmHTwV2fxTBMlundOHfWei_324c6-0E3pQIPd42_bW013tHRtr2XtM/w436-h301/efi-timeline.JPG" width="436" /></a></div><br /><p>Many interesting twists and turns on this journey that started in the late 90's and still continues as we step into the year 2024.</p>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-52005715912281522702023-12-16T07:08:00.000-08:002023-12-19T10:40:13.122-08:00Hacking in the southern hemisphere<p>Last week I had the opportunity to visit <a href="https://en.wikipedia.org/wiki/S%C3%A3o_Paulo">https://en.wikipedia.org/wiki/S%C3%A3o_Paulo</a> for the Hackers 2 Hackers Conference <a href="https://www.h2hc.com.br/en/">https://www.h2hc.com.br/en/</a>. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlCmUZPzKB_O4-iAQXFMxsPK7NxXbJcH-y_zx9hBQ8jkMmlkvGFAqIRdBBLc0qr8YI04X6isjqomYiuoWrASOqS2DWEpOOcZNt_8SmxZTVw1DmsTWcesgRTfsrH_40juQ5Nmcw8vlxuF87XQID6jKoFl4HXY1GAXCD33feRyM_POdCyPSy2ebm7TyQ_p4/s4032/IMG_9651.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="279" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlCmUZPzKB_O4-iAQXFMxsPK7NxXbJcH-y_zx9hBQ8jkMmlkvGFAqIRdBBLc0qr8YI04X6isjqomYiuoWrASOqS2DWEpOOcZNt_8SmxZTVw1DmsTWcesgRTfsrH_40juQ5Nmcw8vlxuF87XQID6jKoFl4HXY1GAXCD33feRyM_POdCyPSy2ebm7TyQ_p4/w372-h279/IMG_9651.jpg" width="372" /></a></div><br /> <p></p><p>I was invited to give a keynote on UEFI security</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW8ld4LI_D_aeF_dPB3juT8dPIiW-_AbVWMoM6Z4gdMHVxSTLlLDQ9WVniQ89Jw4FlLG3ryAc_4YjFBwxdEuolOgIi-Wc4bbSmrP9_z8QrTekihG_do_18fNOfygG5h9u86p_qbN4-oWxKZCQVdyIOcAh5tWOw4lVYjxyA8E5z_mZh1nKfg5uPZV-3J7g/s1403/h2h-2023-agenda.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="691" data-original-width="1403" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW8ld4LI_D_aeF_dPB3juT8dPIiW-_AbVWMoM6Z4gdMHVxSTLlLDQ9WVniQ89Jw4FlLG3ryAc_4YjFBwxdEuolOgIi-Wc4bbSmrP9_z8QrTekihG_do_18fNOfygG5h9u86p_qbN4-oWxKZCQVdyIOcAh5tWOw4lVYjxyA8E5z_mZh1nKfg5uPZV-3J7g/w452-h223/h2h-2023-agenda.png" width="452" /></a></div><br /><p>This is only the 2nd public keynote I have given in my career. The first was back in 2018 <a href="https://www.osfc.io/2018/talks/keynote/">https://www.osfc.io/2018/talks/keynote/</a>. The latter treated open source, whereas this one predominately covered security but with a taste of open source weaved in.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7ke0SwQD9lGefm7_TLWg36qyA3iXX1x0hooGJFb9oCFSU0wwHucY-5e6-r2C-Ap0nyohjtUKp80CanCjC02xdDEcYsyMgKxdCNGqnMxw5KTl2k9fCC5WrvUoXffhLaHrcWFvcRWEiIqVJC6ZCMPT77_MHkZJOtl9nybMVDBPB0ZHkoaM3BTrNTKBTOpM/s1406/h2h-speaker-bio.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="913" data-original-width="1406" height="208" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7ke0SwQD9lGefm7_TLWg36qyA3iXX1x0hooGJFb9oCFSU0wwHucY-5e6-r2C-Ap0nyohjtUKp80CanCjC02xdDEcYsyMgKxdCNGqnMxw5KTl2k9fCC5WrvUoXffhLaHrcWFvcRWEiIqVJC6ZCMPT77_MHkZJOtl9nybMVDBPB0ZHkoaM3BTrNTKBTOpM/s320/h2h-speaker-bio.png" width="320" /></a></div>I was humbled to be in the presence of so many impactful speakers <a href="https://www.h2hc.com.br/en/articles/speaker.html">https://www.h2hc.com.br/en/articles/speaker.html</a>. A taste of other researcher talks can be found in the h2h mention at <a href="https://twitter.com/rcvalle/status/1735790682646712505">https://twitter.com/rcvalle/status/1735790682646712505</a>, including the follow-up blog post <br /><p></p><p> <a href="https://rcvalle.com/blog/2023/12/09/llvm-cfi-and-cross-language-llvm-cfi-support-for-rust/">https://rcvalle.com/blog/2023/12/09/llvm-cfi-and-cross-language-llvm-cfi-support-for-rust/</a>.</p><p>My topic </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHcjPOnTghvnGgmr4iN0Z5BPLb55gta1NH1wxZI2mgj9pVZoyh0BnAsWr3fuQVS20l6pOFoSlS_VrSxrVICaAKC1X3DAp0YBHoRb2R0HFPlUvmSIGB24-3Owuo3tekXUPiu2w1i2TeX7ZfWd6n5r28z0WiqlXgyRO64LgsBro8S2YXm-nnvRusvSbivXo/s4032/IMG_9652.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHcjPOnTghvnGgmr4iN0Z5BPLb55gta1NH1wxZI2mgj9pVZoyh0BnAsWr3fuQVS20l6pOFoSlS_VrSxrVICaAKC1X3DAp0YBHoRb2R0HFPlUvmSIGB24-3Owuo3tekXUPiu2w1i2TeX7ZfWd6n5r28z0WiqlXgyRO64LgsBro8S2YXm-nnvRusvSbivXo/w394-h296/IMG_9652.jpg" width="394" /></a></div><br /> <p></p><p>visited some familiar themes but also included a snapshot of the latest work in mitigations <a href="https://github.com/vincentjzimmer/Documents/blob/master/H2H%20-%20Vincent%20Zimmer%20-%20The%20Story%20of%20UEFI%20(and%20its%20security%20mitigations).pdf">https://github.com/vincentjzimmer/Documents/blob/master/H2H%20-%20Vincent%20Zimmer%20-%20The%20Story%20of%20UEFI%20(and%20its%20security%20mitigations).pdf</a>. <br /></p><p>I was impressed also with the BIOS hacking room where folks like</p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN9BJUZYhf0E-E_dHrspv0tkjfSl0p6kBqSDbm7JKJBk07PVmAqMdOfQZMcHi7SruOEtaJQz7ZdaqcqZfGIEizRng7aa1vqh2o_KQzJPMjye1ybqsamPO-0JOtEawhDCnFGiaripyxeck2hze1l_2709iq-RF0M57udxWtf5pPcnppai5-952gunD0EBw/s4032/IMG_9636.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="417" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN9BJUZYhf0E-E_dHrspv0tkjfSl0p6kBqSDbm7JKJBk07PVmAqMdOfQZMcHi7SruOEtaJQz7ZdaqcqZfGIEizRng7aa1vqh2o_KQzJPMjye1ybqsamPO-0JOtEawhDCnFGiaripyxeck2hze1l_2709iq-RF0M57udxWtf5pPcnppai5-952gunD0EBw/w313-h417/IMG_9636.jpg" width="313" /></a></div><br /><p></p><p>were writing BIOS, debuggers, and other low-level bits from scratch. One of the students brought out </p><p><a href="https://www.degruyter.com/document/doi/10.1515/9781501505690/html?lang=en">https://www.degruyter.com/document/doi/10.1515/9781501505690/html?lang=en</a> and inquired about other learning resources. I realized I have been remiss in refreshing pages like <a href="http://vzimmer.blogspot.com/2020/12/resources-for-starting-with-host.html">http://vzimmer.blogspot.com/2020/12/resources-for-starting-with-host.html</a>.<br /></p><p>As always, the 'hallway track' is the most engaging aspect of the conference. Therein I happened to meet some local firmware security engineers</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg28hsXydxse9pAvqJY2YHLoHSKN0CcpsfDBFt9MELImrm8lBLCzgsy3kSBAeJHJPLAm-4o01uubkpCM5fw0wgEsfYvP9ybKQcJMjaW1fSjhHeIPF1oc-JVUu3-6Dk036KiSKFW3RR29oZTw17Axog-5atIw-Yjau49ywmQbcZ5nxisntBgMozDFCQKDTA/s4032/IMG_9655.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="259" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg28hsXydxse9pAvqJY2YHLoHSKN0CcpsfDBFt9MELImrm8lBLCzgsy3kSBAeJHJPLAm-4o01uubkpCM5fw0wgEsfYvP9ybKQcJMjaW1fSjhHeIPF1oc-JVUu3-6Dk036KiSKFW3RR29oZTw17Axog-5atIw-Yjau49ywmQbcZ5nxisntBgMozDFCQKDTA/w345-h259/IMG_9655.jpg" width="345" /></a></div><br /> and signed a copy of the firmware security book <a href="https://link.springer.com/book/10.1007/978-1-4842-6106-4">https://link.springer.com/book/10.1007/978-1-4842-6106-4</a> that they were using at the university<p></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJrYtHaSf0C3ld0fwcF5FonRrxn3efFee9MW626UmUVujPOXTlBXK1LKUVswyfVTl3njUG3zvauXf4kxj4Cm5SIOrbo1ELhvN4zhY92fpY1y_za3HU0rc37Fccd63oqgOlBNvbQTP2-a-tn7J5KaQCr0EbHZw3Q2nLo-FY1uExeY5-0bcsqO8y6Gy8xEY/s4032/IMG_9653.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="424" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJrYtHaSf0C3ld0fwcF5FonRrxn3efFee9MW626UmUVujPOXTlBXK1LKUVswyfVTl3njUG3zvauXf4kxj4Cm5SIOrbo1ELhvN4zhY92fpY1y_za3HU0rc37Fccd63oqgOlBNvbQTP2-a-tn7J5KaQCr0EbHZw3Q2nLo-FY1uExeY5-0bcsqO8y6Gy8xEY/w318-h424/IMG_9653.jpg" width="318" /></a></div><p>too.</p><p>The city was an interesting study in contradictions. Immediately in front of the hotel I was treated to the scene</p><p> </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglitVk5oSUS18MpJQWj_nxfg7MD3bCIjoagVhi3j7D2VPmRh2hljVVj0cfuISxj8z-OodziJ6WJfoG8dRJpxV2PJ3An318CKEcDPWBx6AyittG61QufEysVzA1nqjc4zO9tEUfU_Y9zSbT6HHj4AwssdcDdA7DwIczwoIC3P-h2ZtEJ_1CnNyx3F5xOGM/s4032/IMG_9626.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglitVk5oSUS18MpJQWj_nxfg7MD3bCIjoagVhi3j7D2VPmRh2hljVVj0cfuISxj8z-OodziJ6WJfoG8dRJpxV2PJ3An318CKEcDPWBx6AyittG61QufEysVzA1nqjc4zO9tEUfU_Y9zSbT6HHj4AwssdcDdA7DwIczwoIC3P-h2ZtEJ_1CnNyx3F5xOGM/s320/IMG_9626.jpg" width="320" /></a></div><br /> And nearby in one direction<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg28ExO7DQ7fFjYaHe8wqaFJViTlOstAolkFtHnh9gLiQB6JfdSCrjBY5Z6qVdE5b76h8oh2ED7NayFXOaVpsXGijVZjuUfAFCdImQaHJsNdz36xdkM5h_d6agaOcOVoBx3WvudSN33s7yw8OyxE-QzJ0vYJ3QQcUPajXtJfpJyhuN6fevSYpKir76tGxE/s4032/img_9627.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg28ExO7DQ7fFjYaHe8wqaFJViTlOstAolkFtHnh9gLiQB6JfdSCrjBY5Z6qVdE5b76h8oh2ED7NayFXOaVpsXGijVZjuUfAFCdImQaHJsNdz36xdkM5h_d6agaOcOVoBx3WvudSN33s7yw8OyxE-QzJ0vYJ3QQcUPajXtJfpJyhuN6fevSYpKir76tGxE/s320/img_9627.jpg" width="240" /></a></div><br /><p><br /></p><p>Whereas a short walk in the other direction yielded a modern mall with high-end stores</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4J-lXMj3BFH_XFNzr3-BSZb2nBPNIZFESjhcRbHBkh_kGJ_1n5h4iFdlZBCnVxJgrZiEO6_hSOshq74m36U9EpL08-RIdZR7I5wA1YJFITAyHCKDN72EzDckJ-8KVREQB5Ap37xGO6mCbDVtGyqU27S6DbIqost9J4Dg_83dYXR2sUV-Y9zV1_4vjYP8/s4032/IMG_9629.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4J-lXMj3BFH_XFNzr3-BSZb2nBPNIZFESjhcRbHBkh_kGJ_1n5h4iFdlZBCnVxJgrZiEO6_hSOshq74m36U9EpL08-RIdZR7I5wA1YJFITAyHCKDN72EzDckJ-8KVREQB5Ap37xGO6mCbDVtGyqU27S6DbIqost9J4Dg_83dYXR2sUV-Y9zV1_4vjYP8/s320/IMG_9629.jpg" width="320" /></a></div><br /><p>And of course long lay-overs and flights provide an opportunity to think of some of my favorite philosophers, such as Alan Watts.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKNwGPo1WfUkXSFHG2T58JjItYiWnXIXJbKMvfN8yEpvMwWmJT5SSXsFUWnrf3ORn5kJSjEIq5wumiUapdrJhoEvQ0_xQTrc9EpKltze3rXwew8xD4jgSErfEKeKBVFKmBN6zRlqoYJsoGT15pL2bs3pEancCqTrCXVMwY4wbKXfQW8gXkE0JVZKeIdlU/s225/IMG_9677.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="225" data-original-width="225" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKNwGPo1WfUkXSFHG2T58JjItYiWnXIXJbKMvfN8yEpvMwWmJT5SSXsFUWnrf3ORn5kJSjEIq5wumiUapdrJhoEvQ0_xQTrc9EpKltze3rXwew8xD4jgSErfEKeKBVFKmBN6zRlqoYJsoGT15pL2bs3pEancCqTrCXVMwY4wbKXfQW8gXkE0JVZKeIdlU/w262-h262/IMG_9677.JPG" width="262" /></a></div><br /><p><br /></p><p>Interesting stuff.</p><p> </p><p><br /></p>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-26664421606042872182023-11-30T21:21:00.000-08:002023-12-03T22:27:15.051-08:00i/o, globalization, pqc, ai, oh yes<p>I talked a bit about the RAID work at Compaq, or the SMART2-SL 'Dazzler' board in my last post <a href="http://vzimmer.blogspot.com/2023/10/october-firmware-events.html">http://vzimmer.blogspot.com/2023/10/october-firmware-events.html</a>. Another interesting thing that landed while at CPQ was I2O <a href="https://en.wikipedia.org/wiki/I2O">https://en.wikipedia.org/wiki/I2O</a>, or 'Intelligent Input / Output.' The idea was to bring intelligent offload engines to open platforms. The Wikipedia post has some views of its history. My view was that version 1.0 was challenging in that it asked the host to do the data movement, not the I/O card. If you are offloading the last thing you want to do is encumber the host with 'more work.' We built an adapter card on top of our CPQ RAID controller to provide the I2O hardware interface and then we mapped the commands into our internal command set. Version 2.0 described having the data mover in the I/O device, which made more sense. </p><p>This reminds me of the cycle of technology. Patterns like offloading I/O from the host CPU, from IBM channel processors of old, I2O gestures, Myrinet smart NICs (woohoo - safe code, Modula3, too) <a href="https://dl.acm.org/doi/pdf/10.1145/319195.319197">https://dl.acm.org/doi/pdf/10.1145/319195.319197</a>, Nitro, DPUs, IPUs,....traversing the 1950's to today.</p><p>The post also mentions UDI. Interesting stuff. Reminds me of the complaint about UEFI that it didn't solve the 2 problems of the BIOS ecosystem - suppliers and having to write a driver 2x - once for pre-OS and again for the OS. UEFI attempted to solve a class of this issue w/ UNDI, both the 'hardware UNDI' and the software UNDI. The former would be architectural hardware like VGA to allow for runtime access. In practice the latter was solved with GOP and the framebuffer at runtime. For I/O this was a mile too far. <br /></p><p>Speaking of blogs, I haven't quite figured out the substack phenomena. Is this the new 'blogger'? I created account <a href="https://panopticon404.substack.com/">https://panopticon404.substack.com/</a> but haven't posted. Google 'the panopticon' and guess my motivation for that name. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2YiGw5T98avK49NA5HQSt_DneBxmWueZS2qr2O_JbuBsgJj2grDYGXH1hsxtSYNfniCuckDWj2eEntuBHYQ-criVJ9TMCWF5SGMXjXZ_F9fl_mH8vGr5y6cP18i4mM8YKoe5L4EZTJYstn03aS25ps-go3SJzKFB49bdhphCxgwVmkYxU9gnD_BmkfdM/s2402/Panopticon.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2402" data-original-width="2179" height="376" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2YiGw5T98avK49NA5HQSt_DneBxmWueZS2qr2O_JbuBsgJj2grDYGXH1hsxtSYNfniCuckDWj2eEntuBHYQ-criVJ9TMCWF5SGMXjXZ_F9fl_mH8vGr5y6cP18i4mM8YKoe5L4EZTJYstn03aS25ps-go3SJzKFB49bdhphCxgwVmkYxU9gnD_BmkfdM/w341-h376/Panopticon.jpg" width="341" /></a></div><br /><p><br /></p><p>I really like blogger. going on 14 years using the service. I had fear initially that when google bought it they'd kill it, but I suspect it's a low-impact enough service like other freebies, including my homepage <a href="https://sites.google.com/site/vincentzimmer/">https://sites.google.com/site/vincentzimmer/</a> that it's not worth closing and generating the associated ill will?</p><p>Unlike blogging at Intel where 1st party sites like 'uefidk.com' (mentioned 9 times in <a href="https://link.springer.com/book/10.1007/978-1-4842-0070-4">https://link.springer.com/book/10.1007/978-1-4842-0070-4</a>, sigh) that went away w/o redirecting the content to somewhere like <a href="http://firmware.intel.com">firmware.intel.com</a>, I realize how ephemeral these sites can be.</p><p>Speaking of substack, <a href="https://www.noahpinion.blog/p/the-next-phase-of-globalization-is">https://www.noahpinion.blog/p/the-next-phase-of-globalization-is</a> had an interesting post around globalization. I still recall how Richard Wirt set up PRC firmware team in '01. Similar teams in Russia. He was 'globalization before globalization was cool' IMHO.</p><p>I enjoy collaborating w/ colleagues across the globe. The 2020 book w Jiewen Yao in Shanghai, PRC. The SPDM paper <a href="https://www.mdpi.com/2410-387X/6/4/48">https://www.mdpi.com/2410-387X/6/4/48</a> w/ Jiewen and Krystian in Gdansk, Poland. Two 2022 books w/ Subrata in Bangalore, India. I think I touched on this point of book author geo's in <a href="http://vzimmer.blogspot.com/2022/10/a-tale-of-two-books.html">http://vzimmer.blogspot.com/2022/10/a-tale-of-two-books.html</a>. </p><p>The SDPM talked about post-quantum cryptography (PQC). This is a space getting attention, and pages 23+ of <a href="https://uefi.org/sites/default/files/resources/USF_Security_Webinar_Final.pdf">https://uefi.org/sites/default/files/resources/USF_Security_Webinar_Final.pdf</a> talk about work for host firmware, including a proposal for accommodating PQC in UEFI <a href="https://bugzilla.tianocore.org/show_bug.cgi?id=4087">https://bugzilla.tianocore.org/show_bug.cgi?id=4087</a>. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIbj3BOmGnXY7P5e7hyphenhyphenyDlcPZKsKQdM2JJ7pZnACcHYc84tMxWCtO3kFJNSmQI8LeExO-_KtQGl-Dn6qJ2WWzb0Ozus9ZEu3ypVhWQC0OWNtCddfrcvdj5th8iIde7uUbj8_6WdLBpS4cJF78kwy0HAxi-Pj6FQ-0R3oYcprE66-s8e0DX399xuM_5TGg/s1698/algorithm-mapping.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="953" data-original-width="1698" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIbj3BOmGnXY7P5e7hyphenhyphenyDlcPZKsKQdM2JJ7pZnACcHYc84tMxWCtO3kFJNSmQI8LeExO-_KtQGl-Dn6qJ2WWzb0Ozus9ZEu3ypVhWQC0OWNtCddfrcvdj5th8iIde7uUbj8_6WdLBpS4cJF78kwy0HAxi-Pj6FQ-0R3oYcprE66-s8e0DX399xuM_5TGg/w439-h247/algorithm-mapping.JPG" width="439" /></a></div>Describes the proposed mapping.<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaVCD-e3UxZCluKf8AwuXypKj7fp16_oD5XDkgB1Mc_hBxIkZroJASub2Lwjb66ZDKlMWb7tTcu9NGIWuZKvFiUFI8pLEUVL8_oFZkjThnE4rRsp5JEipImGtGoQ9HHCVZYE-Bc2D6yfEM-4nNYQjUM6YT2z8148YeRmmVk1gZQYb1MqFJXRuN5j1HAkM/s1752/csna-fw-deadline.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="514" data-original-width="1752" height="154" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaVCD-e3UxZCluKf8AwuXypKj7fp16_oD5XDkgB1Mc_hBxIkZroJASub2Lwjb66ZDKlMWb7tTcu9NGIWuZKvFiUFI8pLEUVL8_oFZkjThnE4rRsp5JEipImGtGoQ9HHCVZYE-Bc2D6yfEM-4nNYQjUM6YT2z8148YeRmmVk1gZQYb1MqFJXRuN5j1HAkM/w525-h154/csna-fw-deadline.JPG" width="525" /></a></div><br /><div>Provides the deadlines. With some of the challenges in evolving the UEFI CA and Secure boot ecosystem <a href="https://uefi.org/sites/default/files/resources/Evolving%20the%20Secure%20Boot%20Ecosystem_Flick%20and%20Sutherland.pdf">https://uefi.org/sites/default/files/resources/Evolving%20the%20Secure%20Boot%20Ecosystem_Flick%20and%20Sutherland.pdf</a> this will be an interesting journey.</div><div><p>The wave keeps flowing</p><p>I argue that the workday is like barbells. There are a spate of meetings from 6am to 10am PST for Europe, Israel and India. Then the PRC workday starts at 5pm PST and pick up India workday at 8pm, netting out to a typical day of 6am to 11pm. </p><p>Luckily Saturday no one has a workday afaik. I recall this theme as a broken record with me given my anecdote on <a href="http://vzimmer.blogspot.com/2021/01/books-and-computers.html">http://vzimmer.blogspot.com/2021/01/books-and-computers.html</a> about the currency trader.</p><p>Occasionally I sneak out to Seattle in the PM to catch events. Recently <a href="https://tech.cornell.edu/people/greg-morrisett/">https://tech.cornell.edu/people/greg-morrisett/</a> was in town to meet with alumni. It was nice to meet the creator of Cyclone & typed assembly. I had to share my tales of woe trying to use Cyclone <a href="https://cyclone.thelanguage.org/">https://cyclone.thelanguage.org/</a> in the early days and was happy to see a mainstream memory-safe systems language like Rust appearing on the scene. This tech inspired some interesting designs on my side, including the below that will expire in 2 weeks, viz.,</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfRQ8x3bcymAYAfQf2K9kQTgGZ9qJtkIqV_shbdAI0eXZMQTwUkFzCOxqDLEZK8XlAQVsUhrP0yeA7RCDirI6DDXI6EJ8otC-_SthzVxHiQtFgQ7Y8RIDgMiH6BLMWCvLcOCk_ny11wRIxsj2Cr-N70No96ik793Fl21zrU047OvbVuQC5snGuGUI5SKY/s2608/type-certification.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1808" data-original-width="2608" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfRQ8x3bcymAYAfQf2K9kQTgGZ9qJtkIqV_shbdAI0eXZMQTwUkFzCOxqDLEZK8XlAQVsUhrP0yeA7RCDirI6DDXI6EJ8otC-_SthzVxHiQtFgQ7Y8RIDgMiH6BLMWCvLcOCk_ny11wRIxsj2Cr-N70No96ik793Fl21zrU047OvbVuQC5snGuGUI5SKY/w389-h270/type-certification.JPG" width="389" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4qPOxomE3LnyMDr-W1Em_ND3kRYQnWcVu-mwr-fbGjVLZX-p8u865ZKTOejd5ebuX-2qjC1ERJKet2BwcommtC4OTsXt6hUot7mufkfaC1WuWvLzZuatNUj2_z3T4d766Wf9xgOe6eZJTVTDDsk6M7rm5rkXiH4Ul5X0wRjFgHYhISFfHJEkrYm0b_cw/s2968/US20030097581A1-20030522-D00003.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2968" data-original-width="2167" height="390" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4qPOxomE3LnyMDr-W1Em_ND3kRYQnWcVu-mwr-fbGjVLZX-p8u865ZKTOejd5ebuX-2qjC1ERJKet2BwcommtC4OTsXt6hUot7mufkfaC1WuWvLzZuatNUj2_z3T4d766Wf9xgOe6eZJTVTDDsk6M7rm5rkXiH4Ul5X0wRjFgHYhISFfHJEkrYm0b_cw/w285-h390/US20030097581A1-20030522-D00003.png" width="285" /></a></div><br /><p><br /></p><p>Greg mentioned the challenges of industry to hire folks for high assurance software work. </p><p>Maybe that problem of moving folks to Rust will be ameliorated by the 'assistant gap' mentioned by IOActive? I dropped in the IOActive event tonight in Bell Town and their CTO talked about "the SDLC process and AI." He mentioned how chess assistants after the Deep Blue event with Karsparov in 1995 had a 10 year run until event an assisted human couldn't beat a machine. He then showed the exponential growth in code writing assistants commencing in 2020 and pondered how much shorter the 'era of assistants' will run for code writers until the day the machine does all of the work and the prevailing 'programming language' becomes English.</p><p>As a quite side-bar on AI, I worked my way through <a href="https://www.amazon.com/gp/product/0137470355/">https://www.amazon.com/gp/product/0137470355/</a> over the thanksgiving holiday. I liked the mixture of math and programming, along with the historical arc it described. I was amused by the point that the early deep learning efforts felt compelled to have a mathematical foundation for their work to 'justify it' whereas with the latest efforts like generative AI people haven't expected such pedagogy if things 'work well.' The book reinforced my assertion that learning the basics of math will serve you well as the trends of tech churn. For example, having mastered the basics of linear algebra, eigenvalues, etc as an undergrad decades ago are still relevant in this deep learning work today. The same holds for statistical signal processing, information theory, and signal detection from the electrical engineering corpus. But the deep learning domain is so expansive and fuses art like big data, software systems, computer architecture (e.g., array processing redux). I can now better appreciate the point Mark R. made in <span face="Arial, sans-serif" style="background-color: white; color: #656d76; font-size: 10.5pt; white-space-collapse: preserve;">38:4 </span><a href="https://www.youtube.com/watch?v=Wx1WBLdUwtg" style="text-decoration-line: none;"><span face="Arial, sans-serif" style="background-color: white; color: #1155cc; font-size: 10.5pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space-collapse: preserve;">https://www.youtube.com/watch?v=Wx1WBLdUwtg</span></a><span face="Arial, sans-serif" style="background-color: white; color: #656d76; font-size: 10.5pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"> </span>about using his summer sabbatical to get more experience with these deep learning frameworks. <br /></p><p>I'm no "Mark R.", of course, but perhaps an option to use my backlog?<br /><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVKGegeD1bZq7gF8ZY0CgzvmpSBm1d5Xmh9v-MTT6pWzUd-FWEbOgpbLHj1cQSsBE8kyw82rDekyLvMXSTiRyHfdVC_JK13hUPjpRvE9LHeTP_f-oU6HnnU2QE0-lqZ8JOKshnzrDUh01KfZCLBCNh29SnWhecx0WM3yk3p6eNBMjDGCKCDnHcZlzuLG4/s573/sabbatical-snap-12-1-2023.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="163" data-original-width="573" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVKGegeD1bZq7gF8ZY0CgzvmpSBm1d5Xmh9v-MTT6pWzUd-FWEbOgpbLHj1cQSsBE8kyw82rDekyLvMXSTiRyHfdVC_JK13hUPjpRvE9LHeTP_f-oU6HnnU2QE0-lqZ8JOKshnzrDUh01KfZCLBCNh29SnWhecx0WM3yk3p6eNBMjDGCKCDnHcZlzuLG4/w394-h112/sabbatical-snap-12-1-2023.png" width="394" /></a></div><br /><p>BTW - the joke used to be that AI was 'the technology that didn't work.' Meaning once an AI technique proved feasible in the corpus they were ejected and relabeled as some domain of engineering. The script seems flipped today in that being labeled 'AI' is a compelling argument for the tech, irrespective of its efficacy.</p><p>So take the barbell day mentioned above and mix in return to office (RTO). It's nice to see an office again. Sometimes I tell folks that I like the office since it's sort of like Pavlov's dog, but instead of 'ringing a bell' to get a response the stimulus is 'sitting in a cubicle.' An interesting observation, though, about others around me post-COVID. I'm not sure if folks are used to WFH and speaking into their USB speakers, or if we are just getting older and losing our hearing, but folks nearby in the office are pretty loud on the phone. Since the bulk of the day is still on the phone for a global team, I'm getting complaints from the folks on the call that my neighbor conversations/background noise is too loud. </p><p>From the file of neighbors in the past, Dupont circa late 90's, I sometimes recall Ken Wiletzki. He retired a week before his 40th bday so could say 'retired in my 30's'. In the following year he'd send pictures of himself mountain biking, etc, but after that he went dark. I guess retirement joy consumed any time of 'sharing retirement' with the folks still in office-land. One interesting tale from Ken is that he claimed that he tried to hire Linus Torvalds, then a computer science student in Finland, to work on his validation team at Intel. Ken created 'kaos' - Ken's Arbitrary OS - for validation of the hardware devices. Ken claimed that Intel couldn't since Linus was overseas and didn't yet have his masters degree. I'm not so sure of this fact since there is no mention in the 'Just for fun' <a href="https://www.amazon.com/Just-Fun-Story-Accidental-Revolutionary/dp/0066620732">https://www.amazon.com/Just-Fun-Story-Accidental-Revolutionary/dp/0066620732</a> bio of Linus. Someone who is mentioned in that book is another Intel colleague H. Peter Anvin who in fact merits 2 appearances - once for getting Linus his first PC, and the second for bringing Linus to the US to work for Transmeta.</p><p>Other interesting meetings in the local region include the Rust meetup at the connector building on the MS campus. Nice finally meeting Ben Stoltz of Oxide in person after talking w/ him many a time during his Google Cloud security tenure. I liked when Ben asked one presenter 'what does that mean for a pertrified (or did he say 'prehistoric'?) C programmer.' My people. </p><p><br /></p></div>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-53667448742518074822023-10-22T16:37:00.010-07:002023-11-27T19:05:57.623-08:00October firmware events <p>Apropos of the 25 year anniversary of the first IBI/EFI/UEFI boot services at week ago, as commemorated at the 20 year milestone in <a href="https://vzimmer.blogspot.com/2018/10/">https://vzimmer.blogspot.com/2018/10/</a> </p><p><span face="Arial, Tahoma, Helvetica, FreeSans, sans-serif" style="background-color: white; color: #222222; font-size: 13.2px;"><span> <span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span> </span>"</span><span face="Arial, Tahoma, Helvetica, FreeSans, sans-serif" style="background-color: white; color: #222222; font-size: 13.2px;">Ken Reneris Oct-14-1998"</span> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivUzgHLq15_GGF7m-mn5w-1JgXyV-3CM-Lp9JXv5Tj8BtnwkcxSDCnacrh_AaG9ETsjy3cZ6uN2SUHJ8GcFo_scQ96NGn5SQZC7pDFYA9LBAjUsKtsMWJzCvxbj1UhXeVxPtsv279EcDubbshZhQxnKFG62KOsiiXOIpPUEr2JRbScMzC81PjUE0R8d0o/s1609/ibi-api.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1603" data-original-width="1609" height="373" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivUzgHLq15_GGF7m-mn5w-1JgXyV-3CM-Lp9JXv5Tj8BtnwkcxSDCnacrh_AaG9ETsjy3cZ6uN2SUHJ8GcFo_scQ96NGn5SQZC7pDFYA9LBAjUsKtsMWJzCvxbj1UhXeVxPtsv279EcDubbshZhQxnKFG62KOsiiXOIpPUEr2JRbScMzC81PjUE0R8d0o/w374-h373/ibi-api.JPG" width="374" /></a></div><br /><p><br /></p><p>there was a question of the coding standards for UEFI <a href="https://twitter.com/bexcran/status/1701071379171619236">https://twitter.com/bexcran/status/1701071379171619236</a> recently which made me think of Ken. I mentioned how that since Ken had come over to Intel from the Windows NT team at Microsoft it was natural to adopt the NT coding standard <a href="https://computernewb.com/~lily/files/Documents/NTDesignWorkbook/coding.pdf">https://computernewb.com/~lily/files/Documents/NTDesignWorkbook/coding.pdf</a> for the original IBI/EFI/UEFI work. This includes the EFI_ERROR macros, inf's, CR macro, TPLs as simplified IRQLs <a href="https://vzimmer.blogspot.com/2015/06/guids-revisions-interrupts.html">https://vzimmer.blogspot.com/2015/06/guids-revisions-interrupts.html</a>, etc. This made IBI/EFI/UEFI a sort of a cultural 'Windows BIOS' given that lineage. </p><p>And Ken as the MS HAL owner continually interfaced with the platform. In fact, standards like ACPI pre-dated IBI/EFI/UEFI by starting in the mid-90's. Ken was deep into that work, too, as evidenced by his solo inventor ship of the now-expired S4 resume patent <a href="https://patents.google.com/patent/US6209088B1/en">https://patents.google.com/patent/US6209088B1/en</a>. </p><div>These UEFI technology elements serve a counterpoint with coreboot, which was LinuxBIOS in 99. The latter have technology elements <a href="https://www2.cs.arizona.edu/~mccann/cstyle.html">https://www2.cs.arizona.edu/~mccann/cstyle.html</a>, KConfig, etc. </div><div class="separator" style="clear: both; text-align: center;"><span style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="688" data-original-width="1318" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCOEZPBKEC9ZZeQokN2_um5dIihnzm3cMGYJWJ08s9W3wnQHeKYlybyflnZzzipRhkBIQ-Kl6ehYguaRiZiTIj1EpLnWK1PBpLTQZOL9o1-SchKpJkGGcswW95HoVZ99lvMfIvPfPSxfLUOneQQCt7wYJFOTKYWXWjf-S2_2eNtPncl7F9khSvZIpFMig/w405-h212/cb-history.JPG" width="405" /></span></div><a href="https://link.springer.com/book/10.1007/978-1-4842-0070-4">https://link.springer.com/book/10.1007/978-1-4842-0070-4</a>. So just as we have had parallel growth of Windows and Linux, there have been threads of 'Windows BIOS' (e.g., EDKII UEFI based) and 'LinuxBIOS' (e.g., coreboot and maybe less so u-boot?).<br /><p>But then again, who uses 'BIOS' <a href="https://basicinputoutput.com/2014/08/will-i-be-jailed-for-saying-uefi-bios.html">https://basicinputoutput.com/2014/08/will-i-be-jailed-for-saying-uefi-bios.html</a>? </p><p>So the blog title is firmware events. Over the last couple of weeks there was a UEFI plugfest in the Portland area and a Open Compute Project (OCP) event in San Jose. As I drove back from the former, I stopped by a bookstore and saw <a href="https://www.amazon.com/Beyond-BIOS-Developing-Extensible-Interface/dp/1501514784">https://www.amazon.com/Beyond-BIOS-Developing-Extensible-Interface/dp/1501514784</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR50bUeK9hrYrgdCdIxG19-yh-l4y9hNCImKEy7YM88_4nemtb_X1OmICQzHPj4XnhljzTcQro5R6arnKXUHKjOxoVRcVuj_i1VPbbjvlm09EUh-doJ2-C7RugftzePfVrglOsGQVhZ1HfTpBMORCgYPHK9_gEHPIxh_zoRRrbt4UkTjJlRjIkv758j_I/s4032/IMG_9175.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="437" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR50bUeK9hrYrgdCdIxG19-yh-l4y9hNCImKEy7YM88_4nemtb_X1OmICQzHPj4XnhljzTcQro5R6arnKXUHKjOxoVRcVuj_i1VPbbjvlm09EUh-doJ2-C7RugftzePfVrglOsGQVhZ1HfTpBMORCgYPHK9_gEHPIxh_zoRRrbt4UkTjJlRjIkv758j_I/w328-h437/IMG_9175.jpg" width="328" /></a></div><br /><p><br /></p><p>on the shelf.</p><p>On that same shelf I saw </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmLDx8pVlhu04RWGpWJ7mDFS4C0fWDwwJIKxnqhW1laqSJu_0SzLyYWOee4EvKNxDdolzxx_rvdMJPzVE9MFe0Yuj2pO97kxg_62KEOEE6vSZr1UKHScg3wAnXcdaJYdtVxX378V7cS214ojL-ZVLod3x82V_YZhjvG-5I1l4PDWa0T6wNoLp52SM1_AA/s4032/IMG_9176.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmLDx8pVlhu04RWGpWJ7mDFS4C0fWDwwJIKxnqhW1laqSJu_0SzLyYWOee4EvKNxDdolzxx_rvdMJPzVE9MFe0Yuj2pO97kxg_62KEOEE6vSZr1UKHScg3wAnXcdaJYdtVxX378V7cS214ojL-ZVLod3x82V_YZhjvG-5I1l4PDWa0T6wNoLp52SM1_AA/s320/IMG_9176.jpg" width="240" /></a></div><br /><p>and</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyLOgpdMwCNBCcgTTRC9nFwOabBApcPtQPkAMa_cESYamD2bQW57-kSnwdxFaIvB8kHusbMGZ4qA6sO6AG1GU6Y3YGQW8g7CcInp4OIVpeBl-HasNs1Yw9zDPm9XvZ6nmrqy2GiIFqeI0nj5iMhzyNLR7qgNuC33xj0rYqWC4orP73Fko7LgDkenw2tgs/s4032/IMG_9177.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="415" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyLOgpdMwCNBCcgTTRC9nFwOabBApcPtQPkAMa_cESYamD2bQW57-kSnwdxFaIvB8kHusbMGZ4qA6sO6AG1GU6Y3YGQW8g7CcInp4OIVpeBl-HasNs1Yw9zDPm9XvZ6nmrqy2GiIFqeI0nj5iMhzyNLR7qgNuC33xj0rYqWC4orP73Fko7LgDkenw2tgs/w311-h415/IMG_9177.jpg" width="311" /></a></div><br /><p>Though not the immediate book neighbor, the nearby <a href="https://www.amazon.com/ARM-Architecture-Reference-Manual-2nd/dp/0201737191">https://www.amazon.com/ARM-Architecture-Reference-Manual-2nd/dp/0201737191</a> reminded me of Dave Jaggar. Back in the mid-1990's we were development hardware RAID controllers at Compaq and using custom ASICs alongside an AMD 29k RISC CPU. I recall Jaggar from ARM coming to visit and explaining the ARM architecture. Part of the discourse included showing a silicon die with a small portion highlighted for the ARM core itself. It was quite a shock for me to so such small mm-squared for a CPU. My firmware lead (lead == sole design & developer) work on the SMART-2SL </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW0pTVaO_k0Im7_vqSTLpA6eTFT9WtEi_5U7BkZwWqskUZP8kW6FaRbuqsqUFzfZB3KgEzU1Gt4GUrF3v7Vb2mR3mY1vXc_5qz082B1QDXnHm5t7p39KI6r5fdJVampytiWca9eGEkGygw-bzrfcRQE5zz_7QvnPLX3vFsDg7D3sgSQHlseIESVDfThxA/s1500/smart-2sl.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="522" data-original-width="1500" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW0pTVaO_k0Im7_vqSTLpA6eTFT9WtEi_5U7BkZwWqskUZP8kW6FaRbuqsqUFzfZB3KgEzU1Gt4GUrF3v7Vb2mR3mY1vXc_5qz082B1QDXnHm5t7p39KI6r5fdJVampytiWca9eGEkGygw-bzrfcRQE5zz_7QvnPLX3vFsDg7D3sgSQHlseIESVDfThxA/w461-h160/smart-2sl.jpg" width="461" /></a></div><br /><p><a href="https://www.amazon.com/Compaq-242777-001-WIDE-SCSI-CONTROLLER-242777001/dp/B0002FDXLQ">https://www.amazon.com/Compaq-242777-001-WIDE-SCSI-CONTROLLER-242777001/dp/B0002FDXLQ</a> is but a memory to be rekindled occasionally by seeing aftermarket examples of this device. In addition to being the first device to not have a non-volatile post write cache, this work gave me the opportunity to do some interesting firmware performance innovations with a colleague <a href="https://patents.google.com/patent/US6341342B1/en">https://patents.google.com/patent/US6341342B1/en</a>. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuzaDXFpzxGqKO_FtZ3ZH7NWRUfU_rScQMgMfsBqupIbQM0k-TQ3FRynS43nqugpDcAO0dTuqQmrBCbi6MgIOwnZOccb6ZwznXf1Y7yTJCYy-oNabSYyAYv12yEQX545LQlKfun4PDIm3Bp0jWSbqxAEupoLOOzJoKekHhBqBahP2vujjvrdd1WA7j1-c/s2634/xfer-buffer.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1453" data-original-width="2634" height="237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuzaDXFpzxGqKO_FtZ3ZH7NWRUfU_rScQMgMfsBqupIbQM0k-TQ3FRynS43nqugpDcAO0dTuqQmrBCbi6MgIOwnZOccb6ZwznXf1Y7yTJCYy-oNabSYyAYv12yEQX545LQlKfun4PDIm3Bp0jWSbqxAEupoLOOzJoKekHhBqBahP2vujjvrdd1WA7j1-c/w428-h237/xfer-buffer.JPG" width="428" /></a></div><br /><p>Speaking of CPQ, it has been a strange migration of companies for me. My original internship was with Texaco, which in turn was purchased by Chevron. Then I did my first full-time firmware development at Daniel Industries, later acquired by Emerson Electric. My first foray into PC BIOS was at Texas Microsystems (TMI) working on industrial computers, which then was acquired by Radisys. Finally, my pre-Intel employer Compaq server group was in turn acquired by Hewlett-Packard, and then split into the enterprise side HPe. Luckily Intel is still Intel.</p><p>So speaking of the development event, it spanned 3 days. I presented on the first day (lower left image)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDejZhEgvDUW5Y6DrJ8AbTBlevaiLKsjueXc3Lq3dX2Vnhudvn5r99qegn1CAiLZimJjrg-hchdln-5YtoQL8vFhnl7ayZJCsNIB2TGZCaXfTd5l-SqLGdAQJRnIdVbCwESyKw8vyuJnjhngjZC1r3Zm-6miFa52BYrMozW2XdFxp9iXYCV30K77uLa3Q/s2796/IMG_9168.PNG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1290" data-original-width="2796" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDejZhEgvDUW5Y6DrJ8AbTBlevaiLKsjueXc3Lq3dX2Vnhudvn5r99qegn1CAiLZimJjrg-hchdln-5YtoQL8vFhnl7ayZJCsNIB2TGZCaXfTd5l-SqLGdAQJRnIdVbCwESyKw8vyuJnjhngjZC1r3Zm-6miFa52BYrMozW2XdFxp9iXYCV30K77uLa3Q/w489-h226/IMG_9168.PNG" width="489" /></a></div><br /><p><br /></p><p><a href="https://uefi.org/sites/default/files/resources/Tuesday_02_Kubacki%20and%20Zimmer_Final.pdf">https://uefi.org/sites/default/files/resources/Tuesday_02_Kubacki%20and%20Zimmer_Final.pdf</a> and final</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP_Q8eGx9ltbrJb4-ae-e_2lf3p5R3VKlvu9ZdA-uIJYNYUTSkBYjzFwjmMvxFBMJ-wKHyazq0K69yjzw3QtWBmQBG3LUrskqBMPywWZ1It9ruPOneMW55Gzfk4in3HpiK09uraI1QtRz2TG-QtZDR0m8-5mmToqCR2CsdKejIjgFYNlXJeGloqeD7__w/s2796/IMG_9174.PNG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1290" data-original-width="2796" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP_Q8eGx9ltbrJb4-ae-e_2lf3p5R3VKlvu9ZdA-uIJYNYUTSkBYjzFwjmMvxFBMJ-wKHyazq0K69yjzw3QtWBmQBG3LUrskqBMPywWZ1It9ruPOneMW55Gzfk4in3HpiK09uraI1QtRz2TG-QtZDR0m8-5mmToqCR2CsdKejIjgFYNlXJeGloqeD7__w/w482-h223/IMG_9174.PNG" width="482" /></a></div><br /><p><br /></p><p>day (rightmost image) <a href="https://uefi.org/sites/default/files/resources/Firmware%20Configuration%20%E2%80%93%20Past%2C%20Present%2C%20and%20Future_Zimmer.pdf">https://uefi.org/sites/default/files/resources/Firmware%20Configuration%20%E2%80%93%20Past%2C%20Present%2C%20and%20Future_Zimmer.pdf</a>. The first day of the event included a description of SPDM <a href="https://www.dmtf.org/standards/spdm">https://www.dmtf.org/standards/spdm</a> and its support introduced into the UEFI 2.10 specification. SPDM is homed at the DMTF but has associated work-product having in groups like UEFI and the Trusted Computing Group (TCG). </p><p>In the Insyde talk Tim Lewis mentioned the growth of attacks on the UEFI network stack after many years of battering SMM. This reminded me of a recent posting I saw <a href="https://www.linaro.org/blog/ledge-blogs-uefi-http-and-https-boot-in-u-boot/">https://www.linaro.org/blog/ledge-blogs-uefi-http-and-https-boot-in-u-boot/</a> where the U-Boot community discussing using <a href="https://savannah.nongnu.org/projects/lwip/">https://savannah.nongnu.org/projects/lwip/</a> which is a similar approach taken in <a href="https://github.com/tianocore/edk2-staging/tree/MpNetworkStack">https://github.com/tianocore/edk2-staging/tree/MpNetworkStack</a> mentioned in <a href="https://uefi.org/sites/default/files/resources/7_Maciej%20Vincent_INTEL_network%20stack%20performance.pdf">https://uefi.org/sites/default/files/resources/7_Maciej%20Vincent_INTEL_network%20stack%20performance.pdf</a>. From the days of discussing HTTP booting in 2009 <a href="https://dblp.org/rec/conf/csreaSAM/Zimmer09.html?view=bibtex">https://dblp.org/rec/conf/csreaSAM/Zimmer09.html?view=bibtex</a> and having the URL boot option mentioned in <a href="https://www.rfc-editor.org/rfc/rfc5970.txt">https://www.rfc-editor.org/rfc/rfc5970.txt</a> has come a long way. Just as EDKII consumes cryptography as a submodule from another community, maybe it's time to do so for the basic networking capabilities.</p><p>Given that AWS started in 2006, it may have a bit short-sighted of me to have said "...emergent compute models such as cloud computing." in that SAM 09 paper.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaoyGonMqoHtr20vSTndbqrlWoIA4GHNfp9K89efinwAyy5frOQgZDqgmVpJ9uzDCFKa39vnbf1wBRICfPa_jrySCt6JPrq4YFofdIcHDgv_1qAZMB2ISjTK6sq3WjNMmoRrr-QsVBoxxQCczoWaqaawVwovp-yo5J2l3xdCRG7kp7sa64-dQ4pvPrCJk/s1531/sam09-cloud.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="980" data-original-width="1531" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaoyGonMqoHtr20vSTndbqrlWoIA4GHNfp9K89efinwAyy5frOQgZDqgmVpJ9uzDCFKa39vnbf1wBRICfPa_jrySCt6JPrq4YFofdIcHDgv_1qAZMB2ISjTK6sq3WjNMmoRrr-QsVBoxxQCczoWaqaawVwovp-yo5J2l3xdCRG7kp7sa64-dQ4pvPrCJk/w413-h265/sam09-cloud.JPG" width="413" /></a></div><br /><p>Maybe I was keying off the 09 date of what I thought was the definitive paper on the cloud, viz., <a href="https://www2.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf">https://www2.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf</a>.</p><p>So back to the topic of this blog, namely firmware events. On that topic, the next week came the Open Compute Project (OCP) event in San Jose. I first presented at OCP in 2015 with Mallik Bulusu <a href="https://cdrdv2.intel.com/v1/dl/getContent/671185">https://cdrdv2.intel.com/v1/dl/getContent/671185</a> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju6D54q6X6870-xrl5c7x-HEQQRRr2X6oRdbnl4GXmzTxzXPrxWjtjzS-U45CE67lnqujP6BkefWc1TIWfEcu31SiUByy7n5IBGdhHp8bSYYn1551_AqwO59U7epbuEyE0RFPW2EBcHD8LY4AqSyKFr2aL6Y8FKSufG_YBCFU6TRpcRTtrHdtZ0drNA2w/s1427/2015-ocp-paper.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1427" data-original-width="1310" height="392" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEju6D54q6X6870-xrl5c7x-HEQQRRr2X6oRdbnl4GXmzTxzXPrxWjtjzS-U45CE67lnqujP6BkefWc1TIWfEcu31SiUByy7n5IBGdhHp8bSYYn1551_AqwO59U7epbuEyE0RFPW2EBcHD8LY4AqSyKFr2aL6Y8FKSufG_YBCFU6TRpcRTtrHdtZ0drNA2w/w360-h392/2015-ocp-paper.JPG" width="360" /></a></div><br /><p><br /></p><p>and then again in 2016 on firmware updates <a href="http://files.opencompute.org/oc/public.php?service=files&t=1f7831234dce58bb875b1b5b24f7154d">http://files.opencompute.org/oc/public.php?service=files&t=1f7831234dce58bb875b1b5b24f7154d</a>. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinJQzfNGje3XQCR3n10JYX-Tgjq1OvvBBOujhuqSEIo1ktsIXw5NwdGnh_PtpnQaXVf-4qiWiaYdjKLrXZBzgR2CY9otfid4Ygin6UV7C1eJufw8Kk63R_bW5Ah1mAvmXVlk1Oa34tc22Eo9_aU9uelr7pGkQZZWTYYIXJyH-Hi0sBJ9rnMXvsbRj6G4s/s1920/2016-ocp-prezo.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1052" data-original-width="1920" height="231" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinJQzfNGje3XQCR3n10JYX-Tgjq1OvvBBOujhuqSEIo1ktsIXw5NwdGnh_PtpnQaXVf-4qiWiaYdjKLrXZBzgR2CY9otfid4Ygin6UV7C1eJufw8Kk63R_bW5Ah1mAvmXVlk1Oa34tc22Eo9_aU9uelr7pGkQZZWTYYIXJyH-Hi0sBJ9rnMXvsbRj6G4s/w422-h231/2016-ocp-prezo.JPG" width="422" /></a></div><br /><p><br /></p><p>This session last week was on the universal payload</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicaJ3MFiTUBpKFHvA23GS-V-yZNU-5ByKbx5VyNQTOcC41n3ureMF-tBfvdlYFm3mELjBD_faYw0RJTPTznxEssLLJvjOvTkPYtti5NeAzrzdIZTTjhPtS10H9GtytLkKLZ6I6cMVCkiDWj7n6JZVX9wAhxpEp4mQ8TaVxsMygL8kxwc57IetLjF5MTNE/s1813/oco-2023.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="412" data-original-width="1813" height="118" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicaJ3MFiTUBpKFHvA23GS-V-yZNU-5ByKbx5VyNQTOcC41n3ureMF-tBfvdlYFm3mELjBD_faYw0RJTPTznxEssLLJvjOvTkPYtti5NeAzrzdIZTTjhPtS10H9GtytLkKLZ6I6cMVCkiDWj7n6JZVX9wAhxpEp4mQ8TaVxsMygL8kxwc57IetLjF5MTNE/w517-h118/oco-2023.JPG" width="517" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivsA0YZ4-2uj64kUMlk9QrXDZtVWsRkvBgy6yWO9-Ge7qDuVgr2s-X1Et4bgsEt72X5qIZGEUORBvOyd1e4sflFLMjbxHr4ZpBQz11cUqtdAclyvJRabO7NkH9PBXamMrQdpAMI7hQod-z4y-zHNKAgXKmHLoBvOWwToZ8EApzJY0qfl_SpcdEbCoiAyA/s856/ocp-2023-details-Screenshot%202023-09-27%20092857.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="735" data-original-width="856" height="331" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivsA0YZ4-2uj64kUMlk9QrXDZtVWsRkvBgy6yWO9-Ge7qDuVgr2s-X1Et4bgsEt72X5qIZGEUORBvOyd1e4sflFLMjbxHr4ZpBQz11cUqtdAclyvJRabO7NkH9PBXamMrQdpAMI7hQod-z4y-zHNKAgXKmHLoBvOWwToZ8EApzJY0qfl_SpcdEbCoiAyA/w385-h331/ocp-2023-details-Screenshot%202023-09-27%20092857.png" width="385" /></a></div><br /><p><br /></p><p>I have been engaged on server platforms since I was hired into Intel in February 1997 to lead the IA-64 (Merced, Itanium) firmware. Along the way we devised ways to facilitate ease of firmware development, like multi-socket cache-as-RAM <a href="https://patents.google.com/patent/US7254676B2/en">https://patents.google.com/patent/US7254676B2/en</a> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA-SNKaSX9PQYxxF7e1WHVIhb6EWL3yNWzW8JHXsft4JzyBMIlP2xTl5uQFPSRekXVYPpzeo5pONSaTycF4IPikCDX_FPR4ecCMsgFOLAkP3LDuDiSwL3DYQb65W65-qHn2ddtknXJ_LkTqMbJAagjVBq8O7PRU7HStISlcHPtRLHrOKMeWpwNVsvvFUI/s2250/US07254676-20070807-D00000.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2250" data-original-width="1924" height="382" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA-SNKaSX9PQYxxF7e1WHVIhb6EWL3yNWzW8JHXsft4JzyBMIlP2xTl5uQFPSRekXVYPpzeo5pONSaTycF4IPikCDX_FPR4ecCMsgFOLAkP3LDuDiSwL3DYQb65W65-qHn2ddtknXJ_LkTqMbJAagjVBq8O7PRU7HStISlcHPtRLHrOKMeWpwNVsvvFUI/w327-h382/US07254676-20070807-D00000.png" width="327" /></a></div><br /><p><br /></p><p>and similar for IA-32 <a href="https://patents.google.com/patent/US8078862B2/en">https://patents.google.com/patent/US8078862B2/en</a>. Palsamy and I also collaborated on UEFI and ACPI for RAS and error support <a href="https://cdrdv2.intel.com/v1/dl/getContent/671067">https://cdrdv2.intel.com/v1/dl/getContent/671067</a>. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSi_ERBbHzzGE4sXTUHD7chp2ayVAcrj2qGXK4Trvv8d42hxbEcuWEY3LGJBTpuGQDRdV4UXueEBC4aXKMIH9qE2DcySMRubtSVCByz8MpJ5X5swgk5ArbLzSkrOYnv33Mk2JpsEuS_nNuUi-M-uxaVcGRIfjYSOZwgiOjejObhTvt45m2JTf4Ue8t1Vs/s1172/acpi-apei-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1172" data-original-width="922" height="373" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSi_ERBbHzzGE4sXTUHD7chp2ayVAcrj2qGXK4Trvv8d42hxbEcuWEY3LGJBTpuGQDRdV4UXueEBC4aXKMIH9qE2DcySMRubtSVCByz8MpJ5X5swgk5ArbLzSkrOYnv33Mk2JpsEuS_nNuUi-M-uxaVcGRIfjYSOZwgiOjejObhTvt45m2JTf4Ue8t1Vs/w294-h373/acpi-apei-Capture.JPG" width="294" /></a></div><br /><p>And all of these threads come together in these recent talks. The SPDM prezo mentioned at the top of the posting here entail facing the post-quantum cryptographic migrations like all of the other standards, including UEFI <a href="https://uefi.org/">https://uefi.org/</a>, TCG <a href="https://trustedcomputinggroup.org/">https://trustedcomputinggroup.org/</a>, and others. The proposal for augmenting UEFI is mentioned in <a href="https://bugzilla.tianocore.org/show_bug.cgi?id=4087">https://bugzilla.tianocore.org/show_bug.cgi?id=4087</a> and some prezos on the topic can be found at <a href="https://uefi.org/sites/default/files/resources/Post%20Quantum%20Webinar.pdf">https://uefi.org/sites/default/files/resources/Post%20Quantum%20Webinar.pdf</a> and <a href="https://uefi.org/sites/default/files/resources/USF_Security_Webinar_Final.pdf">https://uefi.org/sites/default/files/resources/USF_Security_Webinar_Final.pdf</a>. The specific study on SPDM was posted as a pre-print to <a href="https://eprint.iacr.org/2022/1049">https://eprint.iacr.org/2022/1049</a> and then a journal submission in <a href="https://www.mdpi.com/2410-387X/6/4/48">https://www.mdpi.com/2410-387X/6/4/48</a>. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLNobJb8_t-aKCDNWsVagXC39gU23kYx0dHAnt2i-vdIwzzh_-U4chl9PvBPkzIe1UGwEzWrswJDaR_8qk13EDpq0FhTUK-D6ciTc-ypQF678Y2PsJVg8PEMnvir719d9ckFb5BikbWF22B6cTZPwGef6fjJSjF1VTv0LX7pgW7yWFazz4jersvfgNKY0/s2250/spdm-mdpi.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1035" data-original-width="2250" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLNobJb8_t-aKCDNWsVagXC39gU23kYx0dHAnt2i-vdIwzzh_-U4chl9PvBPkzIe1UGwEzWrswJDaR_8qk13EDpq0FhTUK-D6ciTc-ypQF678Y2PsJVg8PEMnvir719d9ckFb5BikbWF22B6cTZPwGef6fjJSjF1VTv0LX7pgW7yWFazz4jersvfgNKY0/w392-h180/spdm-mdpi.JPG" width="392" /></a></div><br /><p>Since SPDM has fixed message sizes, the concept of 'chunking' or breaking up the larger payloads demanded by these post-quantum algorithms is a common concern other hardware-based messaging interfaces will face, like the Trusted Computing Group's Trusted Platform Module (TPM). Interestingly this topic of post-quantum impacts on firmware standards that motivated the SPDM paper</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3tCgsykzJ8uXel7VGyMJpsc7UbHNGO78VVIsM3kA5cc8_X9Yjs1qEWdKQspP4zcFx5m_9CHH1J2XtUGRL5cEZFehZoKyG0j2ZNy5UABUBpiFBqgjDnHx02FDXWcfXaiYocazAWXo7kY-d8ndne30zWrbIwjVl62OA0m89Hsw9rWln19BBZpnbH6KqEhE/s1689/eprint-spdm.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1338" data-original-width="1689" height="301" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3tCgsykzJ8uXel7VGyMJpsc7UbHNGO78VVIsM3kA5cc8_X9Yjs1qEWdKQspP4zcFx5m_9CHH1J2XtUGRL5cEZFehZoKyG0j2ZNy5UABUBpiFBqgjDnHx02FDXWcfXaiYocazAWXo7kY-d8ndne30zWrbIwjVl62OA0m89Hsw9rWln19BBZpnbH6KqEhE/w380-h301/eprint-spdm.JPG" width="380" /></a></div><br /><p><br /></p><p> listed above was inspired by the study <a href="https://eprint.iacr.org/2021/041">https://eprint.iacr.org/2021/041</a> from Cisco.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1GPOJ-mSHJWsH-_wOHPxuDqNr5BU4d3uUuu0YAy0WFKhQ5x_EBZUuGS507RT6dJNZSZeY3Pg_1QLDFKXrfOibIMhX8Q8HyueAcf7TfmkA_Aypo_E0W05lL4u1z8FygcbbAN6nVtGAUKlntMKaoB3cxiRFNRW2xQd2GNr-AgrKC2J0lIa-UuQHtZXy6fU/s1714/eprint-uefi.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1160" data-original-width="1714" height="260" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1GPOJ-mSHJWsH-_wOHPxuDqNr5BU4d3uUuu0YAy0WFKhQ5x_EBZUuGS507RT6dJNZSZeY3Pg_1QLDFKXrfOibIMhX8Q8HyueAcf7TfmkA_Aypo_E0W05lL4u1z8FygcbbAN6nVtGAUKlntMKaoB3cxiRFNRW2xQd2GNr-AgrKC2J0lIa-UuQHtZXy6fU/w383-h260/eprint-uefi.JPG" width="383" /></a></div><br /><p>And during Q/A with the CISA presentation during the UEFI developer event I asked about formal methods for this domain. Since this talk followed the SPDM talk one recommendation was to use formal for the SPDM wire protocol. It turns out the above MDPI SPDM paper is referenced by a few formal studies of SPDM, including <a href="https://www.usenix.org/conference/usenixsecurity23/presentation/cremers-spdm">https://www.usenix.org/conference/usenixsecurity23/presentation/cremers-spdm</a> and <a href="https://ieeexplore.ieee.org/abstract/document/10149352/">https://ieeexplore.ieee.org/abstract/document/10149352/</a>. </p><p>And speaking of security and standards, this upcoming week is the TCG members meeting at the Google campus in Kirkland, WA. I am Intel's representative on the Technical Committee, assuming that role after Kirk Brannock retired. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA4AVdHFeOROVftLUaZawzcC_8X1sDrt21K31QZLmEufsEqd9s0t9OKPCLhCsl5ByB3TRgJdOXDokythLbCeJMONKOxgV0zBZlCuzyQw7Ba_nLc5_rA1X8jS6rFIcZcCbvZQ24naDphB_c1uOARX04V-Qm3DJ8TiQdvUUl2eucn6g3nRl15vluawBO2fo/s4032/IMG_9275.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="441" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA4AVdHFeOROVftLUaZawzcC_8X1sDrt21K31QZLmEufsEqd9s0t9OKPCLhCsl5ByB3TRgJdOXDokythLbCeJMONKOxgV0zBZlCuzyQw7Ba_nLc5_rA1X8jS6rFIcZcCbvZQ24naDphB_c1uOARX04V-Qm3DJ8TiQdvUUl2eucn6g3nRl15vluawBO2fo/w331-h441/IMG_9275.jpg" width="331" /></a></div><br /> <p></p><p>But the TCG is not unfamiliar to me. I have been engaged with TCG <a href="https://en.wikipedia.org/wiki/Trusted_Computing_Group">https://en.wikipedia.org/wiki/Trusted_Computing_Group</a> even when it was called TCPA, as evidenced by work-product like <a href="https://patents.google.com/patent/US7200758B2/en">https://patents.google.com/patent/US7200758B2/en</a> and delivering the Itanium and EFI API and platform specification, respectively.</p><p>When reading <a href="https://research.tue.nl/en/publications/communication-in-a-world-of-pervasive-surveillance-sources-and-me">https://research.tue.nl/en/publications/communication-in-a-world-of-pervasive-surveillance-sources-and-me</a> from the mention of Jacob in <a href="https://www-theregister-com.cdn.ampproject.org/c/s/www.theregister.com/AMP/2023/09/19/marvell_disputes_claim_that_cavium/">https://www-theregister-com.cdn.ampproject.org/c/s/www.theregister.com/AMP/2023/09/19/marvell_disputes_claim_that_cavium/</a>, I hearkened back to my first ToorCamp presentation </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaD84YcICuTfvec6oHWI1SBX4nCeBHPV-mccGzUl4ESKmtKfFN7tl8G2fkInUAlE9s6ubYQkikE4X37oG2YgKUMRc1YC_ur2NWfQXjCWheevk95D8eTQSi2S0n92M8dl0TQyekCVNyDn2vH3qHUQcz6Ejx-T05DopSiRfZvhddFfEhIPsmu0qh32u6Ask/s1838/2012-toorcamp.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1196" data-original-width="1838" height="245" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaD84YcICuTfvec6oHWI1SBX4nCeBHPV-mccGzUl4ESKmtKfFN7tl8G2fkInUAlE9s6ubYQkikE4X37oG2YgKUMRc1YC_ur2NWfQXjCWheevk95D8eTQSi2S0n92M8dl0TQyekCVNyDn2vH3qHUQcz6Ejx-T05DopSiRfZvhddFfEhIPsmu0qh32u6Ask/w377-h245/2012-toorcamp.JPG" width="377" /></a></div><br /><p>Based upon the slide</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnnV2BjucdhkaaUasPCQ391ldL1g5nDoRrTMOHcX6mgE5m6hgZgmldAXhXT3Ao_AUvnvqHtUFtCkvPOLwDYwIJS8MPbe-SAWyJRODwI0iw87zIn1hIotYus2AYGIVhucjiCAQSnrlpQovmgkSc1yeJ5G48QybiGDYlDKVk9UaK0ks8gc7QAnS5CmsVt7Y/s1936/tpm.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1340" data-original-width="1936" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnnV2BjucdhkaaUasPCQ391ldL1g5nDoRrTMOHcX6mgE5m6hgZgmldAXhXT3Ao_AUvnvqHtUFtCkvPOLwDYwIJS8MPbe-SAWyJRODwI0iw87zIn1hIotYus2AYGIVhucjiCAQSnrlpQovmgkSc1yeJ5G48QybiGDYlDKVk9UaK0ks8gc7QAnS5CmsVt7Y/w399-h276/tpm.JPG" width="399" /></a></div><br /><p><br /></p><p>and discussion around the TPM, Jacob told me that we should design a TPM so that it could quickly be removed from board and chewed up/swallowed if someone tries to take your computer. Quite the privacy-preserving dietary strategy.</p><p>It's interesting to see people in person after the years of COVID seclusion and event cancellation or wholly-virtual events. Just like the psychic shock and fatigue of crowds, continual interaction and noise, it is taking a bit of effort to get re-acclimated. Part of the symptomology is falling behind on blogging, I guess, since I had intended to post this entry on the day of the EFI 25-year anniversary, not a week later. Oh well. Only so many free moments on the weekends these days.</p><p><br /></p>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-39087661541317870692023-09-02T21:54:00.001-07:002023-09-04T08:39:32.779-07:00Deprecation and introduction of interfaces<p>Specifications may appear to be static codifications set in stone, but they are often evolutionary species. One of the challenges in evolving a specification includes when, if ever, to deprecate content in lieu of new additions. Sometimes technology may fall out of use or be deemed by the market not to be the most viable. Often, though, this class of information is not elided from specifications unless they are hard scientific reasons, like elision of MD5 or SHA1 from specifications </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3sjDaoS3z7bpKTUJZvR65U3dzSN3ui16RCg25GDgygxl3G2AcQSjlUFWhRLVtVblkAMbQfi_33rV5sNxP1UGZHa57E0VxRXvzKQpPh8-aFpRif3TdZOdwNzTjTumjtkUB3htGF3fKva2dc6KC4WSeAWEPCZTZDzNVPvKqLX1SCaJ-n1fJTX9NOYkgqrY/s1696/Capture-md5.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="161" data-original-width="1696" height="48" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3sjDaoS3z7bpKTUJZvR65U3dzSN3ui16RCg25GDgygxl3G2AcQSjlUFWhRLVtVblkAMbQfi_33rV5sNxP1UGZHa57E0VxRXvzKQpPh8-aFpRif3TdZOdwNzTjTumjtkUB3htGF3fKva2dc6KC4WSeAWEPCZTZDzNVPvKqLX1SCaJ-n1fJTX9NOYkgqrY/w505-h48/Capture-md5.JPG" width="505" /></a></div><p>because of pre-image attacks <a href="https://en.wikipedia.org/wiki/Preimage_attack">https://en.wikipedia.org/wiki/Preimage_attack</a>. I recall one person telling me that about 40% of the Wifi specification was relevant; the key was knowing 'which' 40% merited attention.</p><p>This blog will talk about a few specifications, such as the UEFI, PI and Intel SDM, that weigh in at several thousands of pages. To be with the UEFI and PI specification, one area that has potential for deprecation is Itanium support. The EDKII upstream has already removed Itanium related code from the various packages. There are vestiges of Itanium in chapter 2 of the UEFI Specification <a href="https://uefi.org/specs/UEFI/2.10/02_Overview.html#intelitanium-based-platforms">https://uefi.org/specs/UEFI/2.10/02_Overview.html#intelitanium-based-platforms</a> for the calling conventions, though. Similarly, support for the Itanium reset paths <a href="https://uefi.org/specs/PI/1.8/V4_MCA_INIT_PMI_Protocol.html#">https://uefi.org/specs/PI/1.8/V4_MCA_INIT_PMI_Protocol.html#</a> and extended SAL <a href="https://uefi.org/specs/PI/1.8/V4_Sal.html">https://uefi.org/specs/PI/1.8/V4_Sal.html</a> services can be found in the PI specification. The latter of which was the EDKII adaptation of calling the Itanium System Abstraction Layer (SAL) (SAL) <a href="https://redirect.cs.umbc.edu/portal/help/architecture/24535901.pdf">https://redirect.cs.umbc.edu/portal/help/architecture/24535901.pdf</a> interfaces from a UEFI environment. </p><p>As a quick background, Itanium had a platform scoped SAL and processor scoped Processor Abstraction Layer (PAL) set of firmware layers designed to provide both boot and runtime services. The RISC-V Supervisor Binary Interface (SBI) <a href="https://github.com/riscv-non-isa/riscv-sbi-doc">https://github.com/riscv-non-isa/riscv-sbi-doc</a> is sort of an amalgam of SAL and PAL since it provides both core, SOC and (potential) platform capabilities. SAL is interesting in that unlike UEFI, that goes into a virtual-only calling mode after SetVirtualAddressMap(), the SAL calls could be called in either physical or virtual mode throughout the life of the platform. This posed some challenges for writing UEFI code since position independent code (PIC) options for C compilers haven't been universally supported across all of the EDK toolchains, especially in the early days with Visual Studio, or for IA32 with its inability to read the instruction pointer address as possible in other architectures. For assembly-language Itanium code it was pretty simple to write PIC code. So the Extended SAL (ESAL) of the PI spec and EDKII provided a way to have non-fixed up and fixed up C code that would use a common data area. </p><p>In addition to the SAL support, another fascinating aspect of Itanium was the support for floating point exceptions in the Floating-Point Software Assist (FPSWA) <a href="https://redirect.cs.umbc.edu/portal/help/architecture/24541501.pdf">https://redirect.cs.umbc.edu/portal/help/architecture/24541501.pdf</a> driver, as described in <a href="https://www.amazon.com/IA-64-Linux-Kernel-Design-Implementation/dp/0130610143">https://www.amazon.com/IA-64-Linux-Kernel-Design-Implementation/dp/0130610143</a> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuoUuLaafXVbCQ0YKEg6Ew9Z6-jAwf_40fQ0TUZm1_gJ_3_m2UxV68jLdnX4XVGyTKDTFAETtFc_I256XhxxK2wpWxGY7yMCFbNbD8R0jLnnIfaMDAteJcIteXAIz_nPljKg2OgL9jUf8pXijciscxqJhL5Y9qHgehpujHG9eOBaNBF5KECYlJi6TZU8/s1360/Capture-fpswa.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1212" data-original-width="1360" height="343" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLuoUuLaafXVbCQ0YKEg6Ew9Z6-jAwf_40fQ0TUZm1_gJ_3_m2UxV68jLdnX4XVGyTKDTFAETtFc_I256XhxxK2wpWxGY7yMCFbNbD8R0jLnnIfaMDAteJcIteXAIz_nPljKg2OgL9jUf8pXijciscxqJhL5Y9qHgehpujHG9eOBaNBF5KECYlJi6TZU8/w385-h343/Capture-fpswa.JPG" width="385" /></a></div><br /><p>This driver was loaded from the EFI System Partition during boot and would provide runtime support for floating point exceptions. Regrettably soft-loading critical flows from disk like the FPSWA have not been pervasive, even in the face of relatively expensive $/byte of semiconductor NOR SPI flash. This stems from the supply chain challenge where the motherboard and fixed disk media may be provisioned, secured, and recovered by alternate parts of the ecosystem, namely OEM/ODM for the board versus OEM/ODM/integrator/VAR/IT for the disk and its bootloader and OS images, respectively. </p><p>Another area that is an interesting artifact from the past is the BIOS interface in the Intel Software Developer Manual <a href="https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-3a-part-1-manual.pdf">https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-3a-part-1-manual.pdf</a>. This interface is an Int15h API to manage microcode patches.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXzrlpwnvnTF3d0mH426g57ULwIr_2jBpUeW8t63r6WZGIdSSX5pIbv6HkvFqWW-xlK6qLZ3Gv84kSnUGmg4VmRhLRl01VgsX5PCbU2sln6FBswPijc6RME54dr8WhBRZxSPgTKbhneXz5n0y_AkVRthOtcaw7owQW-0Vtdjc7QQfxDQV-GndCLiuexFA/s1812/Capture-int15h-sdm.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1478" data-original-width="1812" height="309" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXzrlpwnvnTF3d0mH426g57ULwIr_2jBpUeW8t63r6WZGIdSSX5pIbv6HkvFqWW-xlK6qLZ3Gv84kSnUGmg4VmRhLRl01VgsX5PCbU2sln6FBswPijc6RME54dr8WhBRZxSPgTKbhneXz5n0y_AkVRthOtcaw7owQW-0Vtdjc7QQfxDQV-GndCLiuexFA/w379-h309/Capture-int15h-sdm.JPG" width="379" /></a></div><br /><p>Starting in the early 1980s, the PC/AT BIOS exposed services through 16-bit 'int' calls or software traps, which the most famous being Int13h for disk access, Int 10h for video, etc. These API's all have correlatives in UEFI, with Int13h having the equivalent in EFI_BLOCK_IO_PROTOCOL, for example. The Intel Framework Compatibility Support Model (CSM) specification <a href="https://www.intel.com/content/dam/www/public/us/en/documents/reference-guides/efi-compatibility-support-module-specification-v098.pdf">https://www.intel.com/content/dam/www/public/us/en/documents/reference-guides/efi-compatibility-support-module-specification-v098.pdf</a> provided a bridge from EFI into BIOS calls in the early days where there were few EFI native drivers, for example. But the CSM support was not introduced into the UEFI PI specification since the idea with PI commencing in 2006 would have UEFI-spec-defined APIs. In fact, Intel declared the PC/AT BIOS interfaces to be end-of-life in 2020 <a href="https://www.phoronix.com/news/Intel-Legacy-BIOS-EOL-2020">https://www.phoronix.com/news/Intel-Legacy-BIOS-EOL-2020</a> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPHZoxxtQyI2yMwYb27AIuzbtvZozsZZtyWZbZ6HbsN_54cbar_j-mc1Qj5kXqNhhSxHQ1cmDKbJrYzn_nNbrQz4oZVNYI34LODU6CuYphThWqE8pxoyqjSa903Q4XFbnYJaCc-eIZUJ4FPZIbJERnGkmJ1xL0XkRWdjCpCf9LrSzpgPuqtw6hbJN62yg/s1802/Capture-end-of-bios.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1104" data-original-width="1802" height="246" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPHZoxxtQyI2yMwYb27AIuzbtvZozsZZtyWZbZ6HbsN_54cbar_j-mc1Qj5kXqNhhSxHQ1cmDKbJrYzn_nNbrQz4oZVNYI34LODU6CuYphThWqE8pxoyqjSa903Q4XFbnYJaCc-eIZUJ4FPZIbJERnGkmJ1xL0XkRWdjCpCf9LrSzpgPuqtw6hbJN62yg/w402-h246/Capture-end-of-bios.JPG" width="402" /></a></div><p>and <a href="http://www.uefi.org/sites/default/files/resources/Brian_Richardson_Intel_Final.pdf">http://www.uefi.org/sites/default/files/resources/Brian_Richardson_Intel_Final.pdf</a>.</p><p>That's where the Int15h API mentioned above is interesting. It can either go away as its the only BIOS API in the SDM, or it could be complemented by/replaced with a UEFI equivalent. To that end, the <a href="https://raw.githubusercontent.com/tianocore-docs/Docs/master/White_Papers/A_Tour_Beyond_BIOS_Capsule_Update_and_Recovery_in_EDK_II.pdf">https://raw.githubusercontent.com/tianocore-docs/Docs/master/White_Papers/A_Tour_Beyond_BIOS_Capsule_Update_and_Recovery_in_EDK_II.pdf</a> design reads on this capability </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGdvmBZU4J4dzJyZtT51qXS_0UmzCJSRv2VmCZ48lKOaRWf0RNG8ObxO9lyEZf1l_dqUBcJxM-QvLK_XFWkRcITZMwMZm4Yzhd22r7hRXnRdutCn6LhBXbTeF1JbJFY_b0NdA_Hja92x4jEEKCfV-OOTIPW51vH9E7ofns7yUv2Q8ujxDk8vzUXNcWLEA/s1635/Capture-capsule-paper-toc.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="568" data-original-width="1635" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGdvmBZU4J4dzJyZtT51qXS_0UmzCJSRv2VmCZ48lKOaRWf0RNG8ObxO9lyEZf1l_dqUBcJxM-QvLK_XFWkRcITZMwMZm4Yzhd22r7hRXnRdutCn6LhBXbTeF1JbJFY_b0NdA_Hja92x4jEEKCfV-OOTIPW51vH9E7ofns7yUv2Q8ujxDk8vzUXNcWLEA/w409-h142/Capture-capsule-paper-toc.JPG" width="409" /></a></div><br /><p>The mapping of the UEFI interfaces to the Int15h included</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8HQ4t5mssaWPNY7uqw2Ew1AyOcZEsAbAKdVZy7TGSFwWHAnPFz-pOhKbphvXNG55-60vMTxTmRd5VofzSBrUcVUFzMHrKU6r1D-xd6kqBHyiZwUx2rdofYpLs1j_yLb0RPCnmRNjXzqU4qP2bmswAtDKgnJiDPIKLaprqXkBJADDyonpBnPpkvVErAlw/s1667/Capture-capsule-mapping.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1641" data-original-width="1667" height="398" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8HQ4t5mssaWPNY7uqw2Ew1AyOcZEsAbAKdVZy7TGSFwWHAnPFz-pOhKbphvXNG55-60vMTxTmRd5VofzSBrUcVUFzMHrKU6r1D-xd6kqBHyiZwUx2rdofYpLs1j_yLb0RPCnmRNjXzqU4qP2bmswAtDKgnJiDPIKLaprqXkBJADDyonpBnPpkvVErAlw/w405-h398/Capture-capsule-mapping.JPG" width="405" /></a></div><br /><p>with the specific capsule itself having the following layout</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKSeuAm7-1R38iMhQaVZtiM9P94dglYsgLmSy5LHiw9IXSCdRu4ejMsWDc-Sr9Ly0rAokHyCfXsFmTb0I0oz-3RPQeg0dwQUkN_YAMTq2U7brBrmWq4eHRz9VdxEZ3d3WCBjxT4KcG-aXaCl22XAuHD2tKiXLpGBTVxyjKvnQBByrxPV-PSgUE0TgsD5A/s1654/Capture-capsule-ucode-image.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1297" data-original-width="1654" height="309" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKSeuAm7-1R38iMhQaVZtiM9P94dglYsgLmSy5LHiw9IXSCdRu4ejMsWDc-Sr9Ly0rAokHyCfXsFmTb0I0oz-3RPQeg0dwQUkN_YAMTq2U7brBrmWq4eHRz9VdxEZ3d3WCBjxT4KcG-aXaCl22XAuHD2tKiXLpGBTVxyjKvnQBByrxPV-PSgUE0TgsD5A/w394-h309/Capture-capsule-ucode-image.JPG" width="394" /></a></div><br /><p>The generic capsule overview flow is described in the UEFI specification <a href="https://uefi.org/specs/UEFI/2.10/08_Services_Runtime_Services.html#update-capsule">https://uefi.org/specs/UEFI/2.10/08_Services_Runtime_Services.html#update-capsule</a> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7lBips2xz2yFH7yDBj5WPFltf2NN84SHlLTcMC-A8jtLJhOti1GUSSshostJ0FYJc9_h4Kg31Gt0r8C94s7useEOtDLSwWyh80DiRMktyempf5QdkEyi_MLtG7Q2VlhwsWSpG1CqgHFYdCnsxyq7bJ6JFlXq_joExURn1heRYBsNKKZoQHhXbhbxMHDo/s2544/Capture-uef-spec-capsule.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1714" data-original-width="2544" height="275" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7lBips2xz2yFH7yDBj5WPFltf2NN84SHlLTcMC-A8jtLJhOti1GUSSshostJ0FYJc9_h4Kg31Gt0r8C94s7useEOtDLSwWyh80DiRMktyempf5QdkEyi_MLtG7Q2VlhwsWSpG1CqgHFYdCnsxyq7bJ6JFlXq_joExURn1heRYBsNKKZoQHhXbhbxMHDo/w407-h275/Capture-uef-spec-capsule.JPG" width="407" /></a></div><p>and other write-ups <a href="https://embeddedcomputing.com/technology/security/software-security/understanding-uefi-firmware-update-and-its-vital-role-in-keeping-computing-systems-secure">https://embeddedcomputing.com/technology/security/software-security/understanding-uefi-firmware-update-and-its-vital-role-in-keeping-computing-systems-secure</a> and <a href="https://archive.fosdem.org/2020/schedule/event/firmware_culisfu/attachments/slides/3709/export/events/attachments/firmware_culisfu/slides/3709/FOSDEM_2020_Intel_Capsule_Update.pdf">https://archive.fosdem.org/2020/schedule/event/firmware_culisfu/attachments/slides/3709/export/events/attachments/firmware_culisfu/slides/3709/FOSDEM_2020_Intel_Capsule_Update.pdf</a>. As the code-base has been re-arranged in the open, the most recent location to find the FMP DXE Microcode Capsule support is <a href="https://github.com/tianocore/edk2-platforms/tree/master/Silicon/Intel/IntelSiliconPkg/Feature/Capsule">https://github.com/tianocore/edk2-platforms/tree/master/Silicon/Intel/IntelSiliconPkg/Feature/Capsule</a> and of course <a href="https://github.com/tianocore/edk2/tree/master/SignedCapsulePkg">https://github.com/tianocore/edk2/tree/master/SignedCapsulePkg</a>. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf0U_W0onHUZoqr2LtJKP3gXcD8S7ltlM6u_SH8HAI43-s6Ri54So8baNTblvmA48I7JV9V-9U69C8nLLnPXNxf6pKz6KjKhyiEQHni1LY7FJ45GRkLZQdN85ymK2t8x6YUHpuL2evSA-LYqznFaZWXB1wZR-uw1fJ3v5Tmx1zhU-lq35EE1CRL01iP8E/s1896/Capture-signed-capsule-pkg.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1543" data-original-width="1896" height="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf0U_W0onHUZoqr2LtJKP3gXcD8S7ltlM6u_SH8HAI43-s6Ri54So8baNTblvmA48I7JV9V-9U69C8nLLnPXNxf6pKz6KjKhyiEQHni1LY7FJ45GRkLZQdN85ymK2t8x6YUHpuL2evSA-LYqznFaZWXB1wZR-uw1fJ3v5Tmx1zhU-lq35EE1CRL01iP8E/w368-h299/Capture-signed-capsule-pkg.JPG" width="368" /></a></div><p>This builds upon the generic FMP </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtnZzZUiUAQlkLE5nDoHpMzB5Rtm3zkFDSPulKVnekVwSLabFeSO6vvK7wBSIakMGhobQdjkVp3xsAaJQEhP304Djr2jnFkV_JSyTyndxEEPlae3xeVpmSQNnAjrDb7t3YWXtFW5qZpGwm-CDCbnu6UBSYtwV1O3kKrKwvV0_gge5UvjJw7fY045tkH3g/s1905/Capture-process-capsule.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1035" data-original-width="1905" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtnZzZUiUAQlkLE5nDoHpMzB5Rtm3zkFDSPulKVnekVwSLabFeSO6vvK7wBSIakMGhobQdjkVp3xsAaJQEhP304Djr2jnFkV_JSyTyndxEEPlae3xeVpmSQNnAjrDb7t3YWXtFW5qZpGwm-CDCbnu6UBSYtwV1O3kKrKwvV0_gge5UvjJw7fY045tkH3g/w397-h216/Capture-process-capsule.JPG" width="397" /></a></div><p>and capsule update flow </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpu1nV70ycYppkf8eVghEUMQwjXS1UimIKt1XQgazaTJX65Wb1Yb_Jts9MPUJzRdgpGEmtBSYUKN42kH994YUCVffG_qCcoIOKkQ9VN1B7gKi6ULZOmvyy60JswWkeFYDp5_NBzamvEAE-1x8hoBswjTtcLXsfM5Ic208PToCMwkeW3G_emz8qRrVKlBc/s1939/Capture-flow-capsule.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="996" data-original-width="1939" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpu1nV70ycYppkf8eVghEUMQwjXS1UimIKt1XQgazaTJX65Wb1Yb_Jts9MPUJzRdgpGEmtBSYUKN42kH994YUCVffG_qCcoIOKkQ9VN1B7gKi6ULZOmvyy60JswWkeFYDp5_NBzamvEAE-1x8hoBswjTtcLXsfM5Ic208PToCMwkeW3G_emz8qRrVKlBc/w414-h212/Capture-flow-capsule.JPG" width="414" /></a></div><p>widely deployed today. Maybe avoiding putting something 'post-Int15h' in the SDM is a wise move, though, considering the plurality of interfaces for firmware updates, from <a href="https://slimbootloader.github.io/security/firmware-update.html">https://slimbootloader.github.io/security/firmware-update.html</a> to <a href="https://uefi.org/sites/default/files/resources/OCPsummit2016_Towards%20a%20Firmware%20Update%20Standard.pdf">https://uefi.org/sites/default/files/resources/OCPsummit2016_Towards%20a%20Firmware%20Update%20Standard.pdf</a> to <a href="https://uefi.org/sites/default/files/resources/PRM_Platform_Runtime_Mechanism_1_1_release_candidate.pdf">https://uefi.org/sites/default/files/resources/PRM_Platform_Runtime_Mechanism_1_1_release_candidate.pdf</a> to <a href="https://uefi.org/sites/default/files/resources/Intel_MM_OS_Interface_Spec_Rev100.pdf">https://uefi.org/sites/default/files/resources/Intel_MM_OS_Interface_Spec_Rev100.pdf</a> to.... It's a veritable embarrassment of riches.</p><p><br /></p><p><br /></p>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-27085064873705847932023-08-26T17:34:00.014-07:002024-02-24T12:29:13.949-08:00Co-authors then and now<p> So I mentioned in my last blog that I could always talk about <a href="https://www.cisa.gov/news-events/news/call-action-bolster-uefi-cybersecurity-now">https://www.cisa.gov/news-events/news/call-action-bolster-uefi-cybersecurity-now</a>. Well, it turns out the UEFI Forum posted a pretty good read this week on the topic of UEFI and ecosystems, namely the top posting at <a href="https://uefi.org/learning_center/papers">https://uefi.org/learning_center/papers</a>, in the document <a href="http://uefi.org/sites/default/files/resources/Decoding%20UEFI%20Firmware-Aug24-2023-Final_v2_0.pdf">https://uefi.org/sites/default/files/resources/Decoding%20UEFI%20Firmware-Aug24-2023-Final_v2_0.pdf</a>. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX1ownnKvq3Pippt0eKN8CbPx_xYJU7WGlpRTIt_OqRwsqGs61OptApfpy_2_MgWhwcD3XSIS7UbRG6i8BP5y_mxtn34SYnb5jddKJdjWDmi9E9pcR0ENDw1y6ZQG8_RxmcbFU0xFFrW2fTuII5Xu7PhvxhRyUMOwBpS1rU_zhEUrppjH3Hcf1VTceR0o/s1432/Capture-decoding-cover.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1432" data-original-width="999" height="678" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX1ownnKvq3Pippt0eKN8CbPx_xYJU7WGlpRTIt_OqRwsqGs61OptApfpy_2_MgWhwcD3XSIS7UbRG6i8BP5y_mxtn34SYnb5jddKJdjWDmi9E9pcR0ENDw1y6ZQG8_RxmcbFU0xFFrW2fTuII5Xu7PhvxhRyUMOwBpS1rU_zhEUrppjH3Hcf1VTceR0o/w473-h678/Capture-decoding-cover.JPG" width="473" /></a></div><div class="separator" style="clear: both; text-align: center;"><span style="text-align: left;"><br /></span></div><div class="separator" style="clear: both; text-align: center;"><span style="text-align: left;">The authors are folks I have enjoyed working with across various teams and decades. Some of the collaborations have spanned companies and different venues, such as papers, books, and presentations. </span></div><p>To begin, I think Dong Wei <a href="https://www.crunchbase.com/person/dong-wei">https://www.crunchbase.com/person/dong-wei</a> and I first appeared in print together with the original Beyond BIOS book in 2006, </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPxFK_QF2g1ZsY1SHGXjDVuXM2P0n1HgktOuf1Ef4w6kGb-ephV-ZHyxkAOzC80O1_VYE1iihq4hXlfgLOjJ-V6EAzgYvDyRNbJCLQjn6LGQcSZJ3hpsTxGbqBw1EcqtPYWSUA86ws1Po8fBT-H2EBpD-d9gFTDB3pNKo9x4e_1_lGxybTVStcqI7WFVM/s1345/Capture-bb1-cover.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1345" data-original-width="1155" height="413" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPxFK_QF2g1ZsY1SHGXjDVuXM2P0n1HgktOuf1Ef4w6kGb-ephV-ZHyxkAOzC80O1_VYE1iihq4hXlfgLOjJ-V6EAzgYvDyRNbJCLQjn6LGQcSZJ3hpsTxGbqBw1EcqtPYWSUA86ws1Po8fBT-H2EBpD-d9gFTDB3pNKo9x4e_1_lGxybTVStcqI7WFVM/w355-h413/Capture-bb1-cover.JPG" width="355" /></a></div><br /><p><br /></p><p>with Dong providing the forward</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9OkPembBEOiHEZFpgI30rUCHSGbI-C4rUte9IKIOKeLXZdB6nPSL87Wo4JpPxsNcQOPV3FqZP0mAh_FHuuJ0PmI1Kzw-vJ5szPRJ6YN2lfIfoY6t_toBls9WD2kEGgfKng2TQYpoGr1Zwt31ijx32h47nJCpfpPY9Z2ePSERImkFMB1MElI7ezAMm_EM/s1462/Capture-bb1-forward.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="817" data-original-width="1462" height="229" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9OkPembBEOiHEZFpgI30rUCHSGbI-C4rUte9IKIOKeLXZdB6nPSL87Wo4JpPxsNcQOPV3FqZP0mAh_FHuuJ0PmI1Kzw-vJ5szPRJ6YN2lfIfoY6t_toBls9WD2kEGgfKng2TQYpoGr1Zwt31ijx32h47nJCpfpPY9Z2ePSERImkFMB1MElI7ezAMm_EM/w410-h229/Capture-bb1-forward.JPG" width="410" /></a></div><p>Next up was the 2008 UEFI Shell book</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuq3-0REn5FsjsvH51eOOCYMXyZvhiDX1cl0_EZ73Ycee3kNx2UchlitcWiplFU-ICgVJpb5JeVI7DPJLDz2zq94xHIXDT2NxJe7ulPwh1IJW6FA5q1pg_QGxfQkO0bTy80LPZZqqwhacJXCB10kjWGyMhxvcqJRDqeFzTF6ZQgvYVT8cdLq1guz35PZ8/s1415/Capture-sh1-cover.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1415" data-original-width="1213" height="429" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuq3-0REn5FsjsvH51eOOCYMXyZvhiDX1cl0_EZ73Ycee3kNx2UchlitcWiplFU-ICgVJpb5JeVI7DPJLDz2zq94xHIXDT2NxJe7ulPwh1IJW6FA5q1pg_QGxfQkO0bTy80LPZZqqwhacJXCB10kjWGyMhxvcqJRDqeFzTF6ZQgvYVT8cdLq1guz35PZ8/w367-h429/Capture-sh1-cover.JPG" width="367" /></a></div><br /><p>with preface</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEM-mjCN8QztrXZRAMEK07sNGZQXwFecXOaXmi7hsGm6WuFywsfRV9lDwTdJ9NUFnWh4lQHnNFSIolcI7vOTyD__Qq4dbw1gVbGaiPbrL20KkEXN_lIQ2Udnv4FIt-ZfSwedhTHYZv04k3XQs1H7ISGkKv0svInEvSaWyqWckLXzAy3TdAz2K7nS45QGI/s1472/Capture-sh1-forward.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="751" data-original-width="1472" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEM-mjCN8QztrXZRAMEK07sNGZQXwFecXOaXmi7hsGm6WuFywsfRV9lDwTdJ9NUFnWh4lQHnNFSIolcI7vOTyD__Qq4dbw1gVbGaiPbrL20KkEXN_lIQ2Udnv4FIt-ZfSwedhTHYZv04k3XQs1H7ISGkKv0svInEvSaWyqWckLXzAy3TdAz2K7nS45QGI/w412-h210/Capture-sh1-forward.JPG" width="412" /></a></div><br /><p><br /></p><p>This 2008 book was followed with a 2009 whitepaper <a href="https://uefi.org/sites/default/files/resources/A_Tale_of_Two_Standards_0.pdf">https://uefi.org/sites/default/files/resources/A_Tale_of_Two_Standards_0.pdf</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgWehK3m3hCNLDwYhbjbHHj2FQDfp645SDEgJNcF8KxuTqN-J30kiw43UGlKm_OtrAo9gSAw3px5PKujOb0vY6gM10ZDXg-4_FM0ThRw0a-imZN5IPpX6HuIuuR_pE1SsrstQtSYT6y1zsdBdO16sGRlEQZMl3347UkyEtQkPRuj_bRf86O9CvUbLYdXA/s1706/Capture-tale-of-2-stds-cover.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="994" data-original-width="1706" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgWehK3m3hCNLDwYhbjbHHj2FQDfp645SDEgJNcF8KxuTqN-J30kiw43UGlKm_OtrAo9gSAw3px5PKujOb0vY6gM10ZDXg-4_FM0ThRw0a-imZN5IPpX6HuIuuR_pE1SsrstQtSYT6y1zsdBdO16sGRlEQZMl3347UkyEtQkPRuj_bRf86O9CvUbLYdXA/w384-h223/Capture-tale-of-2-stds-cover.JPG" width="384" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVTFfpvgdyOWfAj8MFgV_X2QXWs6z_aBnO9nTV11ufO0M3SzutViBgWdtC0mwbglgd3hjNrICOjGv1PPdTgdq3Qo0aoM8t2g2pDJXkR25Fs1c2zDAPzbAKw0b-p0vt3JOyn76OeSMxvJTOv4PjelB92DCTjpvwix9wUu0RJ49bL0_9fKdWiFTASqKWyjs/s1755/Capture-tale-of-2-stds-author.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="845" data-original-width="1755" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVTFfpvgdyOWfAj8MFgV_X2QXWs6z_aBnO9nTV11ufO0M3SzutViBgWdtC0mwbglgd3hjNrICOjGv1PPdTgdq3Qo0aoM8t2g2pDJXkR25Fs1c2zDAPzbAKw0b-p0vt3JOyn76OeSMxvJTOv4PjelB92DCTjpvwix9wUu0RJ49bL0_9fKdWiFTASqKWyjs/w390-h188/Capture-tale-of-2-stds-author.JPG" width="390" /></a></div>I was a bit excited about IPV6 at the time as I was in the throes of getting <a href="https://datatracker.ietf.org/doc/html/rfc5970">https://datatracker.ietf.org/doc/html/rfc5970</a> through an unfamiliar standards body, namely the IETF.<p>Next was the presentation circuit with 2010 presentation in Shanghai</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1eVD9mI7ZwUyznwRN0iFvFql7FiknplTLRGeTIfPxnevvMFD93I2NEx7JcWRvdJWZp4NXo94Y9UlhYMpB65mkAvCZvAPlVZlFWYCRtTnWbt8fePTnj4Pf5DHnsb4rF6Fw2qUXITKa6zI9rA4gyWS0noJzXQqmwlNbUBGYw3SBzdQeVPXoXs5-J5B2thU/s2479/Capture-sh-prezo-2010.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1466" data-original-width="2479" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1eVD9mI7ZwUyznwRN0iFvFql7FiknplTLRGeTIfPxnevvMFD93I2NEx7JcWRvdJWZp4NXo94Y9UlhYMpB65mkAvCZvAPlVZlFWYCRtTnWbt8fePTnj4Pf5DHnsb4rF6Fw2qUXITKa6zI9rA4gyWS0noJzXQqmwlNbUBGYw3SBzdQeVPXoXs5-J5B2thU/w408-h241/Capture-sh-prezo-2010.JPG" width="408" /></a></div><br /><p>and San Francisco</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKKxCEG28OZE9_UBHac0TPD6PKg85dhrvCBlAMm9aMEgu8ycXPXHa2rQJTQwsPzXRtt18adziI1Vqd8P7gBD_LfAuZCmT7gWFIMskXTspg5GtIbLumjPadaa0EMUUEXTIerqD6x2kwI5pabD6xiuGr6HBzxnM7fk20y3e8efSnsakVhSTKB3ldeYUaYPY/s2562/Capture-sf-idf-2010-prezo.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1568" data-original-width="2562" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKKxCEG28OZE9_UBHac0TPD6PKg85dhrvCBlAMm9aMEgu8ycXPXHa2rQJTQwsPzXRtt18adziI1Vqd8P7gBD_LfAuZCmT7gWFIMskXTspg5GtIbLumjPadaa0EMUUEXTIerqD6x2kwI5pabD6xiuGr6HBzxnM7fk20y3e8efSnsakVhSTKB3ldeYUaYPY/w392-h240/Capture-sf-idf-2010-prezo.JPG" width="392" /></a></div><p>Shanghai <a href="https://en.sjtu.edu.cn/">https://en.sjtu.edu.cn/</a> was nice to visit since so many of my long-time collaborators in our Intel Shanghai office, like Jiewen Yao, are alumni of this institution.</p><p>Then the 2nd edition of the Beyond BIOS book in 2010 came next</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO6-6DnCagMEGsaU30ELVus4Ywu0rythtuZtAshfQOEllG4fahFa4pILha0CjLsHWP0KmqH3kmbk3Xvi68xnDhHxz2OVBUPK4Pl8pxyq6gf2fAcCBoT7Wwr3kC9cIlFP7-Bl3l1LAdCNbkjXaZYztPQMUnws5zMQuNBjMG2A3ExPK5fyK5IMP11dr73FU/s1286/Capture-bb2-cover.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1286" data-original-width="1079" height="429" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO6-6DnCagMEGsaU30ELVus4Ywu0rythtuZtAshfQOEllG4fahFa4pILha0CjLsHWP0KmqH3kmbk3Xvi68xnDhHxz2OVBUPK4Pl8pxyq6gf2fAcCBoT7Wwr3kC9cIlFP7-Bl3l1LAdCNbkjXaZYztPQMUnws5zMQuNBjMG2A3ExPK5fyK5IMP11dr73FU/w360-h429/Capture-bb2-cover.JPG" width="360" /></a></div><br /><p>with Dong reprising his preface-writing skills with</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHNwj1Yt0LoChoCy3JjkcUm_tw71-FP6d-S0Z4M6WCAhEoqJuHFOBeYGXBKQov3yNuvFdKrtLV0PskXYBMSpIH_G16i6yFhXf24dF2V2d5YG2wxUSKC3z2up3qDkKQNqe8b8Zrs8PFQdygYPWoHpKMWE-RhcQl5weFSY1u9ZtkXGVG5fOq_QJ1wH2h4eE/s1374/Capture-bb2-forward.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1196" data-original-width="1374" height="352" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHNwj1Yt0LoChoCy3JjkcUm_tw71-FP6d-S0Z4M6WCAhEoqJuHFOBeYGXBKQov3yNuvFdKrtLV0PskXYBMSpIH_G16i6yFhXf24dF2V2d5YG2wxUSKC3z2up3qDkKQNqe8b8Zrs8PFQdygYPWoHpKMWE-RhcQl5weFSY1u9ZtkXGVG5fOq_QJ1wH2h4eE/w403-h352/Capture-bb2-forward.JPG" width="403" /></a></div><p>Finally a couple of proposals for UEFI and RISC-V for the 2015 </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg54oiw2deG-ctDIsxlkVUNN3tYvB4cKsoGrbNZQYhrolRAtWJB5ryMxMu_2XBe6wRNmKytc0wREjjV0bqjEMrjvOSUZmNsC7xqTVUwXgxYNb4thbieM5szSxvAK8jqa2pyZjM39SfP1tC8KyNPYqG1fEnjq1TLcUS_htyDY0QONpCIzTQzcln7lxCcMIo/s2281/Capture-rv-2015.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1148" data-original-width="2281" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg54oiw2deG-ctDIsxlkVUNN3tYvB4cKsoGrbNZQYhrolRAtWJB5ryMxMu_2XBe6wRNmKytc0wREjjV0bqjEMrjvOSUZmNsC7xqTVUwXgxYNb4thbieM5szSxvAK8jqa2pyZjM39SfP1tC8KyNPYqG1fEnjq1TLcUS_htyDY0QONpCIzTQzcln7lxCcMIo/w398-h200/Capture-rv-2015.JPG" width="398" /></a></div><br /><p>and 2016 conference</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEido9t5f8zakR-S2w0dQoBVitFXlnxJlDIZt7kWQdTorAsffXaZnbqEuTxKuxo-W8QO0gLjUCD4jFdJlRcvxB8bBf7c0mcgr_94C-I3rqF3lcrM7G_cFG8jz1FvM9i955vap0QbMPnPuYw4yUCfh1bbEON3d-py1__KO3QWbfL1LrsInbxLH4CvQSQngFA/s1717/Capture-rv-2016.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1142" data-original-width="1717" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEido9t5f8zakR-S2w0dQoBVitFXlnxJlDIZt7kWQdTorAsffXaZnbqEuTxKuxo-W8QO0gLjUCD4jFdJlRcvxB8bBf7c0mcgr_94C-I3rqF3lcrM7G_cFG8jz1FvM9i955vap0QbMPnPuYw4yUCfh1bbEON3d-py1__KO3QWbfL1LrsInbxLH4CvQSQngFA/w388-h258/Capture-rv-2016.JPG" width="388" /></a></div><br /><p>were created with Dong. </p><p>All of the collaborations before 2023 with Dong were when he was at HP (and then HPe after the split). </p><p>And now in 2023 with Dong as ARM Ltd's chief standards architect and an ARM Fellow. The total collaboration instances makes nine per my accounting.</p><p>Speaking of 'chief's', Insyde Software's Chief Technology Officer (CTO) <a href="https://www.insyde.com/company/executive-management">https://www.insyde.com/company/executive-management</a> was another rich engagement.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtFI2b-Hzk9jIWj6KFjkptonIDE9OT_x66GqFtgwi59qKU--Qq5rEKq4c2LVIjKqmajh64DTyeiYq-50yXLf6PKjfA0birz31U-7W3pQL94caiLzQZMJVbEY3Hm_9VFPJbKluaif4YxksIdHcS2_kRi_ULvdTUQZRoiZ_MQHG4QGfyMLeyN1e2-wgGfbM/s951/Capture-insyde-cto.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="726" data-original-width="951" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtFI2b-Hzk9jIWj6KFjkptonIDE9OT_x66GqFtgwi59qKU--Qq5rEKq4c2LVIjKqmajh64DTyeiYq-50yXLf6PKjfA0birz31U-7W3pQL94caiLzQZMJVbEY3Hm_9VFPJbKluaif4YxksIdHcS2_kRi_ULvdTUQZRoiZ_MQHG4QGfyMLeyN1e2-wgGfbM/w391-h298/Capture-insyde-cto.JPG" width="391" /></a></div><p><br /></p><p>The collaborations with Tim commenced in 2008 with the UEFI Shell book first edition</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-47-N8OuJFAYmaaBj6eW-jUc0G8ix6_X9fIK_TROoijFG-dCLIjDftpVO7bH-8Ec1PpAROFoC_MyeXtvD5v3iFjxWqVRaLZkkCDWPHjs21TgPWCbOXMJGgPPms96ZlAdqpd4BnoVf991w12t01w8AA1BhFVLpNzZ6DSWI9lTGWfMnpo1gVyeJ2S4f_w8/s1415/Capture-sh1-cover.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1415" data-original-width="1213" height="389" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-47-N8OuJFAYmaaBj6eW-jUc0G8ix6_X9fIK_TROoijFG-dCLIjDftpVO7bH-8Ec1PpAROFoC_MyeXtvD5v3iFjxWqVRaLZkkCDWPHjs21TgPWCbOXMJGgPPms96ZlAdqpd4BnoVf991w12t01w8AA1BhFVLpNzZ6DSWI9lTGWfMnpo1gVyeJ2S4f_w8/w333-h389/Capture-sh1-cover.JPG" width="333" /></a></div><br /><p>and an IDF presentation that same year presented at both the Taipei and Shanghai events</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisFVej_utuaaRGHrR_p25RxHpKE_n_90ktAThmdu3ghMyFakB_MjiORmixFv7lIqAKcHuSZtcuHFcl1FAZUucYgTfVDgzTx0OeYs6PtdrY5fm1bEnXMkOrk2EBhUrraaCm8wdghn7iu9m7B88k-LLE_ykK8Mu0Hbn-h1L9-MDcG_K8d897GT7RkRCI-vk/s2536/Capture-sf-idf-2008.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1630" data-original-width="2536" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisFVej_utuaaRGHrR_p25RxHpKE_n_90ktAThmdu3ghMyFakB_MjiORmixFv7lIqAKcHuSZtcuHFcl1FAZUucYgTfVDgzTx0OeYs6PtdrY5fm1bEnXMkOrk2EBhUrraaCm8wdghn7iu9m7B88k-LLE_ykK8Mu0Hbn-h1L9-MDcG_K8d897GT7RkRCI-vk/w421-h271/Capture-sf-idf-2008.JPG" width="421" /></a></div><br /><p>The Intel Developer Forum (IDF) was an annual event in California show-casing various Intel and industry advancements. Today I believe it has been superseded by venues such as Intel Ignite. </p><p>I co-authored an Intel Technology Journal <a href="https://www.intel.com/content/dam/www/public/us/en/documents/research/2011-vol15-iss-1-intel-technology-journal.pdf">https://www.intel.com/content/dam/www/public/us/en/documents/research/2011-vol15-iss-1-intel-technology-journal.pdf</a> article with Tim in 2011</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcq2BMl-N86_6rDojQtPUwHEedO4HAtWdOXsqR7yW4sVBd9qKh-EpCMRz-NU6lG07J4Ap0b3YkXYmrKUwajxipOrE3LZxq7SykgLph0JAqACxDVu3zr7kLbIuSowGya0T5ETDPTwXwys3GYDU3GPANU1H4LSYi2EN22L9EOcVm4Ys5agI9J4EpTg24I24/s2293/Capture-itj-2011.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1406" data-original-width="2293" height="273" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcq2BMl-N86_6rDojQtPUwHEedO4HAtWdOXsqR7yW4sVBd9qKh-EpCMRz-NU6lG07J4Ap0b3YkXYmrKUwajxipOrE3LZxq7SykgLph0JAqACxDVu3zr7kLbIuSowGya0T5ETDPTwXwys3GYDU3GPANU1H4LSYi2EN22L9EOcVm4Ys5agI9J4EpTg24I24/w446-h273/Capture-itj-2011.JPG" width="446" /></a></div><br /><p><br /></p><p>Tim and I also jointly presented in 2011 at the Intel Developer Forum in San Francisco</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiebqJ5RRhHd3cuKubvEm96UmAMwMGuNijLCu4qkfF0Jwxgxv0heNAyJH83BippJ4nDddlOARGJbi077NWx1FXWvepE6FiVtfLHXTOnz1aI1VnVEa_r2Frl0xiVX5m3BkpNJyW3MDta3CkTCESbcjMgmGEe5KbhKeLhbvmeCyjwqMsMn6FCdrkLTTaSzjg/s2638/Capture-sf-idf-2011.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1635" data-original-width="2638" height="259" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiebqJ5RRhHd3cuKubvEm96UmAMwMGuNijLCu4qkfF0Jwxgxv0heNAyJH83BippJ4nDddlOARGJbi077NWx1FXWvepE6FiVtfLHXTOnz1aI1VnVEa_r2Frl0xiVX5m3BkpNJyW3MDta3CkTCESbcjMgmGEe5KbhKeLhbvmeCyjwqMsMn6FCdrkLTTaSzjg/w419-h259/Capture-sf-idf-2011.JPG" width="419" /></a></div><br /><p>All of the preceding presentations were done when Tim was with Phoenix Technology. Tim had joined Insyde when the joint book-authorship was reprised with the 2nd edition of the UEFI Shell book in 2017 <a href="https://www.degruyter.com/document/doi/10.1515/9781501505751/html">https://www.degruyter.com/document/doi/10.1515/9781501505751/html</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxdQGXCJtTRworwQCg8uwTB-QCZvwBewsCPE6TkpM540IeCQVTeuj5DUsl1bY8JNl6LR4enDJZxsdHKxE3AD9_Rb0ORetpv8nLuAOpsMrpC99Gf-GZsboHQlMa8JN5gzI8m0MJeRh3Q80G5FIUKQX69HkC-PjeQJ7EuacW7SIWp1t6zUyDMQUybWys_XU/s1821/Capture-sh2-cover.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1534" data-original-width="1821" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxdQGXCJtTRworwQCg8uwTB-QCZvwBewsCPE6TkpM540IeCQVTeuj5DUsl1bY8JNl6LR4enDJZxsdHKxE3AD9_Rb0ORetpv8nLuAOpsMrpC99Gf-GZsboHQlMa8JN5gzI8m0MJeRh3Q80G5FIUKQX69HkC-PjeQJ7EuacW7SIWp1t6zUyDMQUybWys_XU/s320/Capture-sh2-cover.JPG" width="320" /></a></div><br /><p><br /></p><p>Tim was also gracious to serve as the technical reviewer for Firmware Security <a href="https://link.springer.com/book/10.1007/978-1-4842-6106-4">https://link.springer.com/book/10.1007/978-1-4842-6106-4</a> book in 2020 </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE1RYzO6YujOLwV9hpO1D8uCq5j2Fdf0eeyAMrXBb64yaxv5XbpALIPd1l_QW9_z_jc4WQT2I-il5sZe8pREq0oFpdcL8R4jz87XKkuynOcn4_l7rvCoH6A4cuSGmExgb-Q-JearfwItGzJvpsBXyzo6XFS7I6sRBF0_nmCP0FmYq4SbAxOca7mixsIRQ/s1180/978-1-4842-6106-4.webp" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1180" data-original-width="827" height="442" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE1RYzO6YujOLwV9hpO1D8uCq5j2Fdf0eeyAMrXBb64yaxv5XbpALIPd1l_QW9_z_jc4WQT2I-il5sZe8pREq0oFpdcL8R4jz87XKkuynOcn4_l7rvCoH6A4cuSGmExgb-Q-JearfwItGzJvpsBXyzo6XFS7I6sRBF0_nmCP0FmYq4SbAxOca7mixsIRQ/w309-h442/978-1-4842-6106-4.webp" width="309" /></a></div><br /><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMzWXgjvTwmqfBjGO9D2sYaS6_7IR_bpjI8UYSzSNgQ4DmcpzAW7_qpwZ12bOyyL0AkMhm9d9njx2z5fJsOEcUteFBYm_lixr3DajzLyjJlJhNhkYSLVol0g8hDPfCmVrTwrvLXWJv55rj02xdICg1Ag-s5dUXcJaHs6vdfbc3ik0I2kFafisZl6wcPJM/s1731/Capture-sec-fw-reviewer.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="652" data-original-width="1731" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMzWXgjvTwmqfBjGO9D2sYaS6_7IR_bpjI8UYSzSNgQ4DmcpzAW7_qpwZ12bOyyL0AkMhm9d9njx2z5fJsOEcUteFBYm_lixr3DajzLyjJlJhNhkYSLVol0g8hDPfCmVrTwrvLXWJv55rj02xdICg1Ag-s5dUXcJaHs6vdfbc3ik0I2kFafisZl6wcPJM/w430-h162/Capture-sec-fw-reviewer.JPG" width="430" /></a></div><br /><p>These collaborations with Tim look like they sum to seven.</p><p>Tim and Dong have made seminal contributions to the ACPI, UEFI, and PI specifications. In fact as late as 2010 Tim was the chair of the UEFI Security Subteam (started with the UEFI Forum in 2010). From the 2nd edition of Beyond BIOS</p><p> </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiglnkXkr3CDD671EEkmzxt-1w_fQY3mBI1UbU-q-tzG_Naiz1jJqTWdPanmpcaFhCsoQ-S01dSaQZw1YmKvJF-btpwQ2BLP95X9D9vfSgfZI9tasHvNbHei-laCIayIu1ny6_WjNQBmJ1PRydwqbDvM2_zt1qOHW7s9noaNtjHy3rvCdKiFjz3ilaHeLo/s889/capture-bb2-org-picture.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="880" data-original-width="889" height="462" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiglnkXkr3CDD671EEkmzxt-1w_fQY3mBI1UbU-q-tzG_Naiz1jJqTWdPanmpcaFhCsoQ-S01dSaQZw1YmKvJF-btpwQ2BLP95X9D9vfSgfZI9tasHvNbHei-laCIayIu1ny6_WjNQBmJ1PRydwqbDvM2_zt1qOHW7s9noaNtjHy3rvCdKiFjz3ilaHeLo/w466-h462/capture-bb2-org-picture.png" width="466" /></a></div><br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVpv1EFAWVOf1-LuAMvdwKgrZKPc5hHjcr14DRRYttQe0vy6U95--se24VG864cg1_364p9PnZ0CDqzTYs6zD_vRBQ9nLcEy-6NyBXUUCl5tyegryduNruh-tklB8DOUbUlR34uUoQnZdR2TDgg4tqt5YOz_KoNsh1VRrp7i0fcvrEmWPUzxfJamcRZC8/s943/capture-bb2-org-names.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="490" data-original-width="943" height="206" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVpv1EFAWVOf1-LuAMvdwKgrZKPc5hHjcr14DRRYttQe0vy6U95--se24VG864cg1_364p9PnZ0CDqzTYs6zD_vRBQ9nLcEy-6NyBXUUCl5tyegryduNruh-tklB8DOUbUlR34uUoQnZdR2TDgg4tqt5YOz_KoNsh1VRrp7i0fcvrEmWPUzxfJamcRZC8/w398-h206/capture-bb2-org-names.png" width="398" /></a></div><p></p><p>before I took over that subteam. In fact I drafted this recent overview of the UEFI Forum Subteam's</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjufSN3348ARGOTrPS37d7O6mYjJc2RQZrTI0x_MSCY33D388Rp8r5kEo6k9c6z86fwrQgvUjaEd7oHHeJLxlWcs-1n6xOKMYYzxoyuyml-jCOxGbXcbgyMQzBY75XVwa9bDYhlQ1A-ZhH_vfhsU8atS04ltA8c9h2p9mbCSu8UfrvTYOHgn_z729JEAA/s2095/capture-uefi-forum-working-groups.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1387" data-original-width="2095" height="337" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjufSN3348ARGOTrPS37d7O6mYjJc2RQZrTI0x_MSCY33D388Rp8r5kEo6k9c6z86fwrQgvUjaEd7oHHeJLxlWcs-1n6xOKMYYzxoyuyml-jCOxGbXcbgyMQzBY75XVwa9bDYhlQ1A-ZhH_vfhsU8atS04ltA8c9h2p9mbCSu8UfrvTYOHgn_z729JEAA/w508-h337/capture-uefi-forum-working-groups.png" width="508" /></a></div><p>From there you can see the various working groups. I believe Dong and Mark Doran co-chair ASWG, Mark PIWG, Mark USWG, etc. Among the co-authors of this blog's showcase paper. Dick Wilkins is the Phoenix Board of Directors (BOD) rep, Bill Keown for Lenovo, and Dong for ARM, respectively. Co-author Brian Mullen chairs the new Software Bill of Material (SBOM) subteam, Dick chairs the UEFI Security Response Team, and I chair the UEFI Security Subteam. I elided subteams like graphics, configuration, and networking from the infographic as they are mostly dormant these last few years. I created the above image derived from earlier <a href="https://uefi.org/sites/default/files/resources/UEFI_Plugfest_VZimmer_Fall_2016.pdf">https://uefi.org/sites/default/files/resources/UEFI_Plugfest_VZimmer_Fall_2016.pdf</a> as a companion to another mutation (from image in <a href="https://embeddedcomputing.com/technology/security/software-security/understanding-uefi-firmware-update-and-its-vital-role-in-keeping-computing-systems-secure">https://embeddedcomputing.com/technology/security/software-security/understanding-uefi-firmware-update-and-its-vital-role-in-keeping-computing-systems-secure</a>) I crafted to give folks an idea about how SBOM's impact EDKII-style system firmware, viz.,</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb7pqbEfEzHsEc2ZcYyjF6dfgFsMP1l5WGIKJQsiwz0Vi2d1t8U9IjqdKg7Kq4dcJ8cIiga7vRwn4bO1r3eqCzRXZCsFeBHwAm2sGbEm8Lu2S6zenQotEtB6yXmIfvEKOdfmk-lRj4_lPIjddgizYv_h3GjKmiKLv5khYSmFARQz8BsnjbN6J-yKwh_HY/s2208/capture-uef-intel-sbom.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1237" data-original-width="2208" height="292" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb7pqbEfEzHsEc2ZcYyjF6dfgFsMP1l5WGIKJQsiwz0Vi2d1t8U9IjqdKg7Kq4dcJ8cIiga7vRwn4bO1r3eqCzRXZCsFeBHwAm2sGbEm8Lu2S6zenQotEtB6yXmIfvEKOdfmk-lRj4_lPIjddgizYv_h3GjKmiKLv5khYSmFARQz8BsnjbN6J-yKwh_HY/w521-h292/capture-uef-intel-sbom.jpg" width="521" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><p>Well, that's it for today. This is my small gesture to leave a bit of history since a lot of this system firmware work I've done will be unlikely to land in more esteemed repos like <a href="http://www.bitsavers.org/bits/">http://www.bitsavers.org/bits/</a> and is surely aging off the internet. I even recall that a request was required to get the Intel Technology Journal back on intel.com. Regrettably the same audible wasn't called for other publications like "Technology at Intel" magazine or most back-dated Intel Developer Forum prezos. An example of what gets lost on the internet can be found in citation curation sites like <a href="https://dblp.uni-trier.de/pid/34/5641.html">https://dblp.uni-trier.de/pid/34/5641.html</a>; here I only see Tim mentioned once, for example.</p><p><br /></p><p><br /></p><p><br /></p>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-59405521367884025522023-08-20T11:42:00.011-07:002023-10-05T20:53:52.491-07:00UW PMP, Patents, T-shape, Job ladders<p>I haven't blogged in a while. Given things in the news like generative AI you'd think I'd dive into thoughts there, especially interesting aspects like the use of probability, with my usual meanderings to related topics like Terrence Fine, Cornell, and formalists versus frequentists, etc. Or posts like <a href="https://www.cisa.gov/news-events/news/call-action-bolster-uefi-cybersecurity-now">https://www.cisa.gov/news-events/news/call-action-bolster-uefi-cybersecurity-now</a> where I could possibly opine for another 900pp+ (like <a href="https://link.springer.com/book/10.1007/978-1-4842-6106-4">https://link.springer.com/book/10.1007/978-1-4842-6106-4</a>).</p><p>Instead I was reminded of late 90's when reading <a href="https://www.quantamagazine.org/complexity-theorys-50-year-journey-to-the-limits-of-knowledge-20230817/#">https://www.quantamagazine.org/complexity-theorys-50-year-journey-to-the-limits-of-knowledge-20230817/#</a>, specifically my time of the University of Washington (UW) in the UW PMP (Professional Masters Program) <a href="https://www.cs.washington.edu/academics/pmp">https://www.cs.washington.edu/academics/pmp</a>. The PMP started in 1997 and I was accepted prior to the 2nd quarter having commenced, or the '2nd wave of inductees'). This was fortuitous for many reasons. One, Intel was the largest recruiter from UW at the time, including donating a lot of equipment, and two, the other regional software companies hadn't flooded the application pool with talent form Microsoft, UW, Boeing, etc. If I had waited a few more quarters, the probability of acceptance as an 5-year-in-industy-EE-undergrad may have been tough going. <br /></p><p>Also, I had my first daughter during that last quarter. New tech job + around-the-clock-diaper-change + after-work-hours-studying-and-projects nearly killed me.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3Ux0897nPrJotoVBIrQJjPxcfcBS224lCT0q5VIY75J_e41TzZZLcDe9APKjZf5L3ZowWJX9CmcH1dtmnZsvIEe_Zx9YKFWOitwmcCosUvC_SvVasyEGJuR8ScW3Az1u25r-ootlAiicYU-uIstsBZu2RAw9BNXgtPOKNCL644RMGIiqAlIvAt4lwZUQ/s4032/uw%20grad.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3Ux0897nPrJotoVBIrQJjPxcfcBS224lCT0q5VIY75J_e41TzZZLcDe9APKjZf5L3ZowWJX9CmcH1dtmnZsvIEe_Zx9YKFWOitwmcCosUvC_SvVasyEGJuR8ScW3Az1u25r-ootlAiicYU-uIstsBZu2RAw9BNXgtPOKNCL644RMGIiqAlIvAt4lwZUQ/s320/uw%20grad.jpg" width="240" /></a></div><p>My 6-month-old little Husky didn't look so happy in her purple onesie on that hot day back in 1999.</p><p>Fast forward to 2023</p><p>My 6-month-old turned out to eschew the UW path, but her younger sister ended up choosing UW and is in her 3rd year</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIBvg6paXcL8ey3GkZuaAJDsvCwMHPE8nyN5ZH-zsglQU2eAyTBaZEXi09g-xKTCOwCbUttd6jLcpbe7iVpG2bC3Lv_MO5I1mD6mca-bHH4IVvz5CL7G9ZuqONU6wuBc5sfvbOIZ8djxxykLsfr2dn0na3y83I4QAv-OIRXg8kxOAUGzqPcNblX4STNH0/s4032/IMG_8333.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIBvg6paXcL8ey3GkZuaAJDsvCwMHPE8nyN5ZH-zsglQU2eAyTBaZEXi09g-xKTCOwCbUttd6jLcpbe7iVpG2bC3Lv_MO5I1mD6mca-bHH4IVvz5CL7G9ZuqONU6wuBc5sfvbOIZ8djxxykLsfr2dn0na3y83I4QAv-OIRXg8kxOAUGzqPcNblX4STNH0/w378-h284/IMG_8333.jpeg" width="378" /></a></div><p>and my 2023 Husky next to her older sister</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj020Hm3vxsDpUEcFZoHKt3PGzCDdkDwW1qCAHCIzv_mU7Jknxfbb1shC8FXd6qH_wd2I-ZTucAIyu1E-wUkgPPEdv392eHsebFdCRGYjAorBTbCDHBYajL7cabEBDsV7Z2PO5EN2DSegLo67fMkzNKmYhZDmQOvHuT553auYG3JaoP_XsuzOh85UTSwM/s4032/IMG_6597.heic" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="416" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj020Hm3vxsDpUEcFZoHKt3PGzCDdkDwW1qCAHCIzv_mU7Jknxfbb1shC8FXd6qH_wd2I-ZTucAIyu1E-wUkgPPEdv392eHsebFdCRGYjAorBTbCDHBYajL7cabEBDsV7Z2PO5EN2DSegLo67fMkzNKmYhZDmQOvHuT553auYG3JaoP_XsuzOh85UTSwM/w312-h416/IMG_6597.heic" width="312" /></a></div><br /><p>and a couple of my favorite things my UW daughter gave me include a box years ago</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgglHhEPv9ALN1I8gUeC8pey29ouPq5bU8N1U711D-XpDdtS5gSfUvCdk80Pwz0RaEIoBv_bABS8dVRuGcUcU_CTmdHAbCGIKBDLJjv6jjeDImRB937MOE-npSdpq7Y8O23LSbnRj7rqveTvK2518-YaOpyG_9tZy7U9V3QgiWrECHbPbUFLhP0cnnHELA/s4032/IMG_9147.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgglHhEPv9ALN1I8gUeC8pey29ouPq5bU8N1U711D-XpDdtS5gSfUvCdk80Pwz0RaEIoBv_bABS8dVRuGcUcU_CTmdHAbCGIKBDLJjv6jjeDImRB937MOE-npSdpq7Y8O23LSbnRj7rqveTvK2518-YaOpyG_9tZy7U9V3QgiWrECHbPbUFLhP0cnnHELA/s320/IMG_9147.jpg" width="240" /></a></div><br /><p><br /></p><p>and then this coin when she entered UW</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPlB08LpOJB7c7oqfkftEcJTHdhJfNGLHBbALRKrn__zFLXscxUBtfhc2hbqXi9epzpOnXocRlnizmyxbtAWTSnWoC9Gm428k38LEc08xnTUXqMhc2ymCVUIodQbYC1IcTmcE6OhHCPsg9R5sx8KYI59s7gAj413NFQl-4zjDyrxcrTprWgEWoLCBYG10/s4032/IMG_9148.HEIC" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPlB08LpOJB7c7oqfkftEcJTHdhJfNGLHBbALRKrn__zFLXscxUBtfhc2hbqXi9epzpOnXocRlnizmyxbtAWTSnWoC9Gm428k38LEc08xnTUXqMhc2ymCVUIodQbYC1IcTmcE6OhHCPsg9R5sx8KYI59s7gAj413NFQl-4zjDyrxcrTprWgEWoLCBYG10/s320/IMG_9148.HEIC" width="240" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQu3-vCNdaGoWY0MkRG4np5WzNJx0sGSxj8ekMRmJOG_9pVXMsO6SfZFN-wIwqvHToGQNy2M-r-L954cw4tWdxfj_9i5X4sjU4X0Wy6DXdGKNNCqH2aI6N1KUjy4HvgQJrd60EKizm0Fzydk-kk-c8hw1E-wKuUJgASU86iqOOJF_hC89TRJbuVSeMo24/s4032/IMG_9149.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQu3-vCNdaGoWY0MkRG4np5WzNJx0sGSxj8ekMRmJOG_9pVXMsO6SfZFN-wIwqvHToGQNy2M-r-L954cw4tWdxfj_9i5X4sjU4X0Wy6DXdGKNNCqH2aI6N1KUjy4HvgQJrd60EKizm0Fzydk-kk-c8hw1E-wKuUJgASU86iqOOJF_hC89TRJbuVSeMo24/s320/IMG_9149.jpg" width="240" /></a></div>that I keep in the box.<br /><p><br /></p><p>As part of that program, the computer science department hosted a welcome event at the Pacific Science Center in downtown Seattle next to the Space Needle. There were many UW professors in attendance, included a newly minted graduate from Caltech named Chis Diorio who had worked with Carver Mead on hardware neural nets. Part of his research entailed work on multi-level cell storage, and Intel had a significant history and products around NOR storage at the time, so Chris asked if I could connect him with any other Intel folks. Diorio has done pretty well in the intervening years <a href="https://www.impinj.com/library/blog/impinj-named-a-finalist-in-two-categories-2023-geekwire-awards">https://www.impinj.com/library/blog/impinj-named-a-finalist-in-two-categories-2023-geekwire-awards</a> with Impinj, too. My learning from this interaction is as follows: always assess if the value others see in the conversation with you are because of the 'person' or the 'platform'. In this case I suspect it was the 'platform', namely my employer.<br /></p><p>Speaking of Carver Mead, it's interesting to see the wisdom of pioneers potentially resurface. Namely, reading <a href="https://www.techradar.com/pro/nvidia-beware-ibm-has-a-new-analog-ai-chip-that-could-give-the-h100-a-run-for-its-money">https://www.techradar.com/pro/nvidia-beware-ibm-has-a-new-analog-ai-chip-that-could-give-the-h100-a-run-for-its-money</a> made me think of <a href="https://www.amazon.com/gp/product/0201059924/">https://www.amazon.com/gp/product/0201059924/</a>. This is definitely a contrast to the digital state-of-the-art sort of read I found in <a href="https://www.amazon.com/Efficient-Processing-Deep-Neural-Networks/dp/168173835X">https://www.amazon.com/Efficient-Processing-Deep-Neural-Networks/dp/168173835X</a>, for example.</p><p>So after a couple paragraphs, how does this relate to the Quantum magazine article? Well, another professor was Richard Karp, viz., "<span style="background-color: #ddeef2; color: #1a1a1a; font-family: Merriweather, Georgia, serif; font-size: 16px;"> In addition, the American complexity theorist </span><a href="https://www2.eecs.berkeley.edu/Faculty/Homepages/karp.html" style="background-color: #ddeef2; box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px inset, rgb(26, 26, 26) 0px 1px 0px; box-sizing: border-box; font-family: Merriweather, Georgia, serif; font-size: 16px; text-decoration-line: none; transition-duration: 0.2s; transition-property: color, box-shadow, box-shadow; transition-timing-function: ease-in-out;" target="_blank">Richard Karp</a><span style="background-color: #ddeef2; color: #1a1a1a; font-family: Merriweather, Georgia, serif; font-size: 16px;"> </span><a href="https://link.springer.com/chapter/10.1007/978-1-4684-2001-2_9" style="background-color: #ddeef2; box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px inset, rgb(26, 26, 26) 0px 1px 0px; box-sizing: border-box; font-family: Merriweather, Georgia, serif; font-size: 16px; text-decoration-line: none; transition-duration: 0.2s; transition-property: color, box-shadow, box-shadow; transition-timing-function: ease-in-out;" target="_blank">proved</a><span style="background-color: #ddeef2; color: #1a1a1a; font-family: Merriweather, Georgia, serif; font-size: 16px;"> that the universality property identified by Cook (and Levin, though Karp and Cook didn’t know of Levin’s work until years later) was itself all but universal</span>". More details on Karp can be found in <a href="https://en.wikipedia.org/wiki/Richard_M._Karp">https://en.wikipedia.org/wiki/Richard_M._Karp</a>, including "<span face="sans-serif" style="-webkit-text-stroke-width: 0px; background-color: white; color: #202122; display: inline; float: none; font-size: 14px;">Apart from a 4-year period as a professor at the<span> </span></span><a href="https://en.wikipedia.org/wiki/University_of_Washington" style="-webkit-text-stroke-width: 0px; background: rgb(255, 255, 255); color: #3366cc; font-family: sans-serif; font-size: 14px; overflow-wrap: break-word; text-decoration-line: none;" title="University of Washington">University of Washington</a><span face="sans-serif" style="-webkit-text-stroke-width: 0px; background-color: white; color: #202122; display: inline; float: none; font-size: 14px;">, he has remained at Berkeley. From 1988 to 1995 and 1999 to the present he has also been a research scientist at the<span> </span></span><a href="https://en.wikipedia.org/wiki/International_Computer_Science_Institute" style="-webkit-text-stroke-width: 0px; background: rgb(255, 255, 255); color: #3366cc; font-family: sans-serif; font-size: 14px; overflow-wrap: break-word; text-decoration-line: none;" title="">International Computer Science Institute</a><span face="sans-serif" style="-webkit-text-stroke-width: 0px; background-color: white; color: #202122; display: inline; float: none; font-size: 14px;"><span> </span>in Berkeley, where he currently leads the Algorithms Group." </span>And what was my interaction with this esteemed Turing Award winner? After Karp introduced himself I replied, "ah, I guess you get to work on things like compilers and stuff." My learning from this interaction 20 years later is as follows: always do your homework on the group with which you are interacting ahead of time.</p><p>The late 1990's had other great interactions. Having come up to Seattle from Houston, Texas, I couldn't but help to name my proposed Test Executive, or test framework for firmware, 'TEX", when working with Eric Hudnell. Or the spirited discussions with Andrew Fish in 1997 about ASIM (Advanced Server Information Modules), or a way to decompose our server firmware prior to the next of many, many 'modularization' initiatives, such as Intel Boot Initiative (IBI) and Davinci/Kittyhawk BIOS in 1998, EFI in 1999 Framework in 2000, ...... My retrospective learning: infrastructure evolution takes time. There are few 'short wins.'</p><p>A lot of those interactions above also entailed wisdom from others. I still recall a director who told me about the plan/clue matrix for engineers. Namely, you aspire to working with someone who has a 'Plan + Clue.' They are effective and directed. The 'Clue but no plan' are often visionaries/strategists in that they know where to go but not how. The 'Plan but no clue' are the scariest since they are akin to a bull in a china shop- they have a lot of kinetic energy to expel but perform the drunkard's random walk in plotting a path. Finally, the easiest to handle are the 'No plan and no clue' since they are largely inert/ignorable. Cook reminded me of this early 2000 wisdom in his posting <a href="https://www.johndcook.com/blog/2010/12/27/dumb-and-gets-things-done/">https://www.johndcook.com/blog/2010/12/27/dumb-and-gets-things-done/</a>. </p><p>Speaking of wisdom, I was asked to give some patent training last week. One of the pieces of wisdom I always offer to folks on patents is to have a sense of urgency, especially with the normalization of invention primacy with 'first to file' and the American Inventors Act a few years back. I often put this urgency in the context of the industry, namely invoking Joy's Law <span face="sans-serif" style="background-color: white; color: #202122; font-size: 14px;">"no matter who you are, most of the smartest people work for someone else,” </span><span face="sans-serif" style="color: #202122;"><span style="font-size: 14px;"><a href="https://en.wikipedia.org/wiki/Joy%27s_law_(management)">https://en.wikipedia.org/wiki/Joy%27s_law_(management)</a>. </span></span>What that means for inventors is that given similar problem statements and the frontiers of knowledge, others may come up with similar ideas. But what you have within a large company is perhaps earlier access to the problem and/or the frontier of knowledge since Fortune 100's like Intel often 'create' said knowledge. </p><p>I also try to temper the patent presentation to put patenting in context. First the positive where I mention the ability to get patents as a software person in a hardware company (data also mentioned a year ago in <a href="http://vzimmer.blogspot.com/2022/09/new-milestones.html">http://vzimmer.blogspot.com/2022/09/new-milestones.html</a>), viz.,</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmE873LdPnId74_-y0B84-AsWQkj2orCSFYabVIu1G89uJF8i5y4om6NVV4kN_YloLI2jYzKJ4lWCWCm47ggtmkaLFkf1hClYu4KEkljGCoMtDjXYSoFCxEJFGAtw5Edc5QUIxl5hDycEE-WSORz7Q7hLX7_2GbD1S7XqhAgg3oJ-RgsTbYQ9HkULy3uk/s1110/intel-patent-milestones.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="823" data-original-width="1110" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmE873LdPnId74_-y0B84-AsWQkj2orCSFYabVIu1G89uJF8i5y4om6NVV4kN_YloLI2jYzKJ4lWCWCm47ggtmkaLFkf1hClYu4KEkljGCoMtDjXYSoFCxEJFGAtw5Edc5QUIxl5hDycEE-WSORz7Q7hLX7_2GbD1S7XqhAgg3oJ-RgsTbYQ9HkULy3uk/w422-h312/intel-patent-milestones.png" width="422" /></a></div><br /><p><br /></p><p>but then I remind the audience that patents are part of delivering value, not a means in-and-of-themselves (including quoting this blog from 10 years back <a href="http://vzimmer.blogspot.com/2013/12/invention-and-innovation.html">http://vzimmer.blogspot.com/2013/12/invention-and-innovation.html</a>), viz.,</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDDH72F0cxwGhSuwwQXpYeiztto4roWMRs18TcD8HSS9By5KEtAumcr7onFJBwms2LdGfJPIJTsBPWLotrNkVjm1GP_KJK7hYilJp0z0g4Ak-1-Afhfx9cADwDD3L9cw4DfRZHJTZ5sJmuajYPfviEdkEoWo8CdyxYOthKsUUveuZBYmfgOrr24cNgo8Y/s1092/patents-and-value-chain.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="814" data-original-width="1092" height="374" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDDH72F0cxwGhSuwwQXpYeiztto4roWMRs18TcD8HSS9By5KEtAumcr7onFJBwms2LdGfJPIJTsBPWLotrNkVjm1GP_KJK7hYilJp0z0g4Ak-1-Afhfx9cADwDD3L9cw4DfRZHJTZ5sJmuajYPfviEdkEoWo8CdyxYOthKsUUveuZBYmfgOrr24cNgo8Y/w501-h374/patents-and-value-chain.png" width="501" /></a></div><br /><p><br /></p><p>From the patent milestones you see the title "Fellow." This is one of the highest designations of a technical-track employee, as distinct from management-track, employee at Intel. Many tech companies have similar designations, and I culled a comparison of the Seattle area shops below <a href="https://www.levels.fyi/?compare=Amazon,Intel,Google,Microsoft&track=Software%20Engineer">https://www.levels.fyi/?compare=Amazon,Intel,Google,Microsoft&track=Software%20Engineer</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9epnKlaEeNm7URDRHY_dvV-8tQ8RyxkCRstT4YpUgsNpORNQfxOSXJsr6K8b3-Qap4wQIkwcGnWtSDWCVDUTOrmzhwNFUeGbxcGSfA4izf74Wuga1STAr3jh9oXK0sYEGLDJeA4PtAw61US_U0_hWAf1Xieu0knRjaPFIL0tRIclKVjk4WfSJxqsUogM/s3034/levels-fyi.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1880" data-original-width="3034" height="394" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9epnKlaEeNm7URDRHY_dvV-8tQ8RyxkCRstT4YpUgsNpORNQfxOSXJsr6K8b3-Qap4wQIkwcGnWtSDWCVDUTOrmzhwNFUeGbxcGSfA4izf74Wuga1STAr3jh9oXK0sYEGLDJeA4PtAw61US_U0_hWAf1Xieu0knRjaPFIL0tRIclKVjk4WfSJxqsUogM/w637-h394/levels-fyi.JPG" width="637" /></a></div><br /><p>NB<br />Someone might question why I continually show an image from a website that others can find themselves. I guess I have two answers. One, I learned that content on the web ages out or evolves, such as top inventor Wikipedia started to subset its listing. And two, for better or worse a colleague introduced me to the MS Windows 'snippet' tool and the barrier to image creation was significantly lowered for me :)</p><p>Speaking of old blogs in 2013, I should probably reprise <a href="http://vzimmer.blogspot.com/2013/03/a-technical-career-path.html">http://vzimmer.blogspot.com/2013/03/a-technical-career-path.html</a> since I discovered the T-shaped model <a href="https://collegeinfogeek.com/become-t-shaped-person/">https://collegeinfogeek.com/become-t-shaped-person/</a> and have used it a lot since in mentoring people. Then the other part of me notes that I also usually advise people that 3-7 years is optimal occupancy time in a grade level, say 9, prior to becoming a 10. Too short a time and you don't have time to generate sufficient evidence to prove you delivered at that last level, and too long you become stale and people ask 'why now?' As I roll into year 10 as a Senior Principal Engineer or grade 11, I am in the 'why now' camp where people can dismiss earlier accomplishments in the decade as not fresh or of insufficient merit since if they were, I would have been acknowledged then. As such, I challenge myself as to whether I am the right person to be dispensing 'career growth wisdom' if my career isn't growing. <br /></p><p>There are many great engineers in the Sr. PE community, including the two I mentioned in the last blog who retired, Sham and Kirk. And as the company matures, this cohort continues to grow in cardinality. But it does make me wonder if it's a terminal level, or sort of a tech elephant's graveyard</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZpdNMqbKteV-14_SlI_GI_CRfW68yodmtzfh1LzcU-g-DpygeB8Muo6y2lEdmH-6bM0lxvypZT1jJs4xJ_J-Vn1JKNsLwxR0i2cNGgld_1K8rNIUGeFXmW8P4vys1IfFkZWq-kO04gU8wP79qSACiVLb2AYyeiycezZpOMWFBqXN9QCMpRApICDDyLP8/s600/elephant.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="399" data-original-width="600" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZpdNMqbKteV-14_SlI_GI_CRfW68yodmtzfh1LzcU-g-DpygeB8Muo6y2lEdmH-6bM0lxvypZT1jJs4xJ_J-Vn1JKNsLwxR0i2cNGgld_1K8rNIUGeFXmW8P4vys1IfFkZWq-kO04gU8wP79qSACiVLb2AYyeiycezZpOMWFBqXN9QCMpRApICDDyLP8/w418-h278/elephant.jpg" width="418" /></a></div><br /> <p></p><p>I couldn't help but use that metaphor since found the image arresting from reading Tarzan? or some such as a youth.</p><p>More likely it's the other career advice I give folks, namely that getting promoted is a lot like real-estate opportunities, namely 'timing and location.' Since promotions are a meld of business impact, technical acumen, and leadership, not all role or organizations afford opportunities for the same, or that triple may not be as business relevant as the market moves or the exigencies of the employer change.</p><p>I like to stand outside of the phenomena and observe it sometimes. Thanks Marcus Aurelius and Seneca, too, for the classical doses of introspection and stoicism, respectively.</p><p>Maybe part of it is the reality expressed by Corey Quinn</p><blockquote style="border: medium; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p style="line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;"><a href="https://twitter.com/QuinnyPig" style="text-decoration: none;"><span face="Roboto,sans-serif" style="-webkit-text-decoration-skip: none; background-color: transparent; color: #1a0dab; font-size: 15pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;">Corey Quinn (@QuinnyPig) / X</span></a></p><p style="background-color: white; line-height: 1.56; margin-bottom: 0pt; margin-top: 0pt; padding: 0pt 0pt 12pt;"><a href="https://twitter.com/QuinnyPig" style="text-decoration: none;"><span face="Roboto,sans-serif" style="-webkit-text-decoration-skip: none; background-color: transparent; color: #1a0dab; font-size: 15pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;"><span style="border: medium; display: inline-block; height: 19px; overflow: hidden; width: 19px;"><img height="19" src="https://lh3.googleusercontent.com/dAPSmBzceAQ81hQeGmh4jg_cdTdw5csWxPJ5is8Dwt6g_EWG1RKCRR1Im8Zfpr1kuElFCZ6QaLKS9IWMb0x8zzWMSnMckgylM8WFzJ4gb09s4fshf4b2hm758sqDCKbNQTraa36Ck6Sb3WbQpPgVsNU" style="margin-left: 0px; margin-top: 0px;" width="19" /></span></span></a></p><p style="background-color: white; line-height: 1.71429; margin-bottom: 0pt; margin-top: 0pt; padding: 0pt 0pt 12pt;"><a href="https://twitter.com/QuinnyPig" style="text-decoration: none;"><span face="Roboto,sans-serif" style="-webkit-text-decoration-skip: none; background-color: transparent; color: #202124; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;">Twitter</span></a></p><p style="background-color: white; line-height: 1.56; margin-bottom: 0pt; margin-top: 0pt; padding: 0pt 0pt 12pt;"><a href="https://twitter.com/QuinnyPig" style="text-decoration: none;"><span face="Roboto,sans-serif" style="-webkit-text-decoration-skip: none; background-color: transparent; color: #4d5156; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;">https://twitter.com › QuinnyPig</span></a></p><p style="background-color: white; line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span face="Roboto,sans-serif" style="background-color: transparent; color: #4d5156; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">From what I can see, getting </span><span face="Roboto,sans-serif" style="background-color: transparent; color: #5f6368; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;">promoted</span><span face="Roboto,sans-serif" style="background-color: transparent; color: #4d5156; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"> at a big tech company is roughly four times <br />harder than getting that job at another company.</span></p></blockquote><p><span id="docs-internal-guid-b251d69f-7fff-2ef5-99df-b3e9d12bcdf8"></span><br />(I apologize for the rough copy-paste of a Google-search-of-a-Tweet). The gist of the sentiment above is that the new company wants to believe in you and leans in, whereas your present employer knows all of the defects of an internal candidate and perhaps subconsciously over-indexes on them. Another area where I have seen Quinn's assertion in practice is that if things are not going well in a company, outsiders from successful companies are seen as more attractive since the internal candidates are the ones who 'contributed to the company and its ills' (i.e., why promote the arsonists?); of course this confuses correlation with causation on both internal and external candidates to a first order since rarely is a single individual responsible for the ills or gains of any large company. Finally, one reason that Quinn's logic holds is that as the business evolves, it is necessary to important new skills for the new business domains, as distinct for taking the time or risk of 'up-skilling' the present bench; I still recall in my early days why hiring was prolific that the 2nd line manager told us 'we need the exact skills. There is no slack in the schedule to train someone up over three months.' </p><p>Or maybe it's related to the business cycle? Just as Ben Horowitz opined about 'wartime versus peacetime' CEO's <a href="https://www.linkedin.com/pulse/wartime-vs-peacetime-ceo-insights-from-hard-thing-things-pandey/">https://www.linkedin.com/pulse/wartime-vs-peacetime-ceo-insights-from-hard-thing-things-pandey/</a>, maybe there's a similar dynamic that applies down the stack, including technologists? The market dynamic might argue for loading the bench with more 'wartime'-minded folks? Or does the company need more 'referees' versus 'risk takers?'</p><p>So the magic bullet is job flipping employers then? Maybe, or maybe not. I've always found the promotion-through-job-change risky in that the grass isn't always greener. You'll see from zoom in of above </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigjUemm3n-wm2GSgGeAVBn3QNAejUDa8AOyvo0rFfaT5XhokaATDWAI8F_TBBxKCeY9CWjctqKSWoZpnid4x4JH98DU2Rl7hKjOefyoovbbxtDOOlzefyo_Vmo5E3ZCe6dLbXUCcoYByjpaPqiMboxX8oEoiNex8hBg9NdePz8Y4dyRCLAAUzdnot9xTI/s3012/levels-dilation.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="312" data-original-width="3012" height="65" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigjUemm3n-wm2GSgGeAVBn3QNAejUDa8AOyvo0rFfaT5XhokaATDWAI8F_TBBxKCeY9CWjctqKSWoZpnid4x4JH98DU2Rl7hKjOefyoovbbxtDOOlzefyo_Vmo5E3ZCe6dLbXUCcoYByjpaPqiMboxX8oEoiNex8hBg9NdePz8Y4dyRCLAAUzdnot9xTI/w631-h65/levels-dilation.JPG" width="631" /></a></div><br /><p>that my present job code overlaps with Microsoft 'Partner,' for example, I recall one Partner Architect at Microsoft, now retired, telling me that at MS the title 'Partner' is also code for "throw the other Partner under the bus" job description. Namely, it's an understandably competitive peer group when total compensations can easily exceed $1million/year. Similar for my slight overlap with Amazon Sr. PE. I recall asking an Amazon executive what happened when someone was hired at too high a grade level. His glib reply was 'Oh, that? We take care of those situations quickly.' Woof. </p><p>So what's my parting advice on this blog postings sidetrack on careers? Enjoy the trip. Add business value. Learn. Appreciate contributing to and receiving wisdom from others. And promotions are a Faustian deal, too. As Goethe expressed in this epic, be careful what you wish for. namely the pursuit of power can entail a deal with the devil, etc. The $1million/year compensation isn't because the employer admires your bio and portrait as a 'new partner.' Instead, it represents an expectation of output against both business goals and your new peers commensurate with this compensation. And these days it's delivering value on 'internet time.' </p><p>I've never worked in the high-flying world of silicon valley or startups either, but I suspect that there's no 'rest and vest' on a California tech building roof like <a href="https://silicon-valley.fandom.com/wiki/Big_Head">https://silicon-valley.fandom.com/wiki/Big_Head</a> in almost all cases. But if you enjoy the trip, moving up the tech job ladder can be awesome. You will be at a technical level aligned with Vice-President+'s of the management track and the role should provide more of an opportunity to make a dent in the universe as a technologist as you advocate for and drive insanely cool technical progress.</p><p><br /></p><p> </p><p><br /></p>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-56398724482748738472023-05-24T12:48:00.027-07:002023-11-21T10:03:29.173-08:00Open platforms snapshot - May 2023<p></p><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: left;">From <a href="https://github.com/tianocore/edk2-platforms/tree/master/Platform/Intel">https://github.com/tianocore/edk2-platforms/tree/master/Platform/Intel</a> there are a rich set of platforms for EDKII in the open. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEBwiEh8GqO7Gq5fRZXbdUeW48hEEuQrule4nxP7a9ShwU2CKCVw-uB6CtWiSUuHSqwfYRzyIEYaPJms0vRITya3vxvasnc2sEmnGTWRX377swUkXDMYmHUQ7JXdHfMyV-R2Fy0fVh2DOaKoi42xH6KsKvzNAQEU-uS7Y5NLSnzzpkCvAtIXuB6PXM/s1336/may2023-edk2-open-platform-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="817" data-original-width="1336" height="311" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEBwiEh8GqO7Gq5fRZXbdUeW48hEEuQrule4nxP7a9ShwU2CKCVw-uB6CtWiSUuHSqwfYRzyIEYaPJms0vRITya3vxvasnc2sEmnGTWRX377swUkXDMYmHUQ7JXdHfMyV-R2Fy0fVh2DOaKoi42xH6KsKvzNAQEU-uS7Y5NLSnzzpkCvAtIXuB6PXM/w507-h311/may2023-edk2-open-platform-Capture.JPG" width="507" /></a></div><br />Other than emulation platforms like SIMICS or 32-bit IOT Quark, which are all open source, the rest of the platforms are based upon variants of the Intel Firmware Support Package (FSP) <a href="https://github.com/intel/fsp">https://github.com/intel/fsp</a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBvvrOBe2d6PPdO70cLJMEPTkYo79w-cStz-fxRnJHk1f8-ES_xNZ6aUZw3C_GjNEWSYckYZCOn12V4eJ0RRJDIgyr-J93lgKJbCVP_4M7TtNDnlqpSMNVMTPn6XrKUq8n1BZkcQuvZnHBAnpgGfh4APzzQrZZ-1zSnzm-5SM8cESHFfYP1NSk0VOD/s831/github-fsp-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="778" data-original-width="831" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBvvrOBe2d6PPdO70cLJMEPTkYo79w-cStz-fxRnJHk1f8-ES_xNZ6aUZw3C_GjNEWSYckYZCOn12V4eJ0RRJDIgyr-J93lgKJbCVP_4M7TtNDnlqpSMNVMTPn6XrKUq8n1BZkcQuvZnHBAnpgGfh4APzzQrZZ-1zSnzm-5SM8cESHFfYP1NSk0VOD/w377-h354/github-fsp-Capture.JPG" width="377" /></a></div><br /><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"> <br /></div><div class="separator" style="clear: both; text-align: left;">But how did this journey begin?</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">The first public discussion of the need to have a simpler, more open set of platform code commenced in 2014. I described this 'min tree' effort in the following 2015 prezo <a href="https://github.com/vincentjzimmer/Documents/blob/master/OSTS-2015.pdf">https://github.com/vincentjzimmer/Documents/blob/master/OSTS-2015.pdf</a></div><div class="separator" style="clear: both; text-align: left;"> </div><div class="separator" style="clear: both; text-align: left;"> </div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5U8ITeko5JChV7bgB9t9EOnoqUeQSnj9ViXeyvwIqOt45oH1OHvZqPrkNNQDQJUme9C2eP5Ua-FRuS9QAxBIqHJkJgD94jevOa0w9ZgeDJ0oLVhClhIrRQ-7qiEe4UUKgUnU3HI9KjMOVwDinLBE70-ldxFjNW3QgwLtUiIqzFuWOnvnyUQbBLDXn/s1015/osts-2015-cover-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="571" data-original-width="1015" height="246" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5U8ITeko5JChV7bgB9t9EOnoqUeQSnj9ViXeyvwIqOt45oH1OHvZqPrkNNQDQJUme9C2eP5Ua-FRuS9QAxBIqHJkJgD94jevOa0w9ZgeDJ0oLVhClhIrRQ-7qiEe4UUKgUnU3HI9KjMOVwDinLBE70-ldxFjNW3QgwLtUiIqzFuWOnvnyUQbBLDXn/w438-h246/osts-2015-cover-Capture.JPG" width="438" /></a></div><br /> </div><div class="separator" style="clear: both; text-align: left;"> with guidance around how to take a large internal, closed source corpus into something smaller</div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpSBidWoQwIR7C4LtvsYwfLeTJPsJoOaCCql_KLDKuitY15fcFj2dUJWpWZvXJXcZn4aMc3qbgjCt9fZdIpn4QrNCAlG5m6EloWavKxFqmxyAd-M8He9LsduGPr9Spz1nH36H4Y_tSOKy38WGVPKhDr-pn4wzM8nG6BsBUv-yDuBWecBPSscUITOqK/s1023/osts-2015-hummer-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="554" data-original-width="1023" height="245" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpSBidWoQwIR7C4LtvsYwfLeTJPsJoOaCCql_KLDKuitY15fcFj2dUJWpWZvXJXcZn4aMc3qbgjCt9fZdIpn4QrNCAlG5m6EloWavKxFqmxyAd-M8He9LsduGPr9Spz1nH36H4Y_tSOKy38WGVPKhDr-pn4wzM8nG6BsBUv-yDuBWecBPSscUITOqK/w453-h245/osts-2015-hummer-Capture.JPG" width="453" /> </a></div><div class="separator" style="clear: both; text-align: left;"> The strategy included the following elements<br /></div><div class="separator" style="clear: both; text-align: center;"> </div><div class="separator" style="clear: both; text-align: center;"> </div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrcE-JTx-UHJzbQ9uDcrfD-EGleQQUKnvfy9WSsyVkKpWg40cx11-fMdtUd5h-SRrAamHczKm0LVqX5nGK45JviEzBktmybNFb7jHvSuoSD9Z6VqGV_fUMW168SeWawMn9CSEXXrkTyAeoPdJHdJAMR0P7aKTaFLid7XjrTIUY3AWKZYn3aMLF0CC2/s1025/osts-2015-platform-code-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="571" data-original-width="1025" height="245" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrcE-JTx-UHJzbQ9uDcrfD-EGleQQUKnvfy9WSsyVkKpWg40cx11-fMdtUd5h-SRrAamHczKm0LVqX5nGK45JviEzBktmybNFb7jHvSuoSD9Z6VqGV_fUMW168SeWawMn9CSEXXrkTyAeoPdJHdJAMR0P7aKTaFLid7XjrTIUY3AWKZYn3aMLF0CC2/w440-h245/osts-2015-platform-code-Capture.JPG" width="440" /></a></div><p>I described the value of open source for security assurance in another venue <a href="https://www.intel.com/content/dam/develop/external/us/en/documents/stts003-sf15-stts003-100f-820238.pdf">https://www.intel.com/content/dam/develop/external/us/en/documents/stts003-sf15-stts003-100f-820238.pdf</a> <br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPK7ZLeN5ZJID7W1oZhxsuJLVGVUGpjUj1eB-n0h2yRKVsAsO2K6xtR-tSQc5HMc9t5qcIpm07FlgaeAPsyTJ7y0sQuHq5sj5cFrzyf1wCXk194cGscHwNaPNOHRBLoYZIzEPJgvWkMcfn1gZcEcBlYuPiUV70PDtzcL0Jst-4u93ToDWGqITQ4O2L/s1195/idf-2015-cover-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="671" data-original-width="1195" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPK7ZLeN5ZJID7W1oZhxsuJLVGVUGpjUj1eB-n0h2yRKVsAsO2K6xtR-tSQc5HMc9t5qcIpm07FlgaeAPsyTJ7y0sQuHq5sj5cFrzyf1wCXk194cGscHwNaPNOHRBLoYZIzEPJgvWkMcfn1gZcEcBlYuPiUV70PDtzcL0Jst-4u93ToDWGqITQ4O2L/w471-h265/idf-2015-cover-Capture.JPG" width="471" /></a></div><p></p><p></p><p>including the Baytrail-based MinnowBoard and Quark<br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEC6LTFEpXlMlfFwJ9ps6xzQMVRQgqgIda6G-GgTt7c8s8H3AeD1VBku_C-SF4ER4ld0iQwEad3H34XnIkuGFqVqPl7m3ytj-JPe9tn6RvFMfM7Y1_mL8RxqBlVULDjVKQlKaOHJ9-0423QFC2XC26mO8f0L7_ks3mCwHBOc6EyljT8Vg6QEwXvB6r/s1190/idf-2015-minnow-quark-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="659" data-original-width="1190" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEC6LTFEpXlMlfFwJ9ps6xzQMVRQgqgIda6G-GgTt7c8s8H3AeD1VBku_C-SF4ER4ld0iQwEad3H34XnIkuGFqVqPl7m3ytj-JPe9tn6RvFMfM7Y1_mL8RxqBlVULDjVKQlKaOHJ9-0423QFC2XC26mO8f0L7_ks3mCwHBOc6EyljT8Vg6QEwXvB6r/w438-h242/idf-2015-minnow-quark-Capture.JPG" width="438" /></a></div><p>I was a strong proponent of openness allowing for better security. One caveat I missed was that once the code is out there and bugs are found, then others will all lean in to help fix, at least for shared 'core' code, not <a href="https://en.wikipedia.org/wiki/Tragedy_of_the_commons">https://en.wikipedia.org/wiki/Tragedy_of_the_commons</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRAR3x8AtO5FXjHbQO-epbe4H9r46Q5qnumwb8T-zfPd_ir0Kc4Zu4QN8fTRDQGShM6g5rpBWf4pgUc2L6T47oSvYZ_jnWU4je6HBlGHtz87rqbiFhg3f3FExLPsrh71_2Wo0KaB6kZulXWMPG5tmmhgMir7oLQM2WKO_sHK0vAO2cF83YQHE1r7TDOjk/s640/Cows_on_Selsley_Common_-_geograph.org.uk_-_192472.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="480" data-original-width="640" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRAR3x8AtO5FXjHbQO-epbe4H9r46Q5qnumwb8T-zfPd_ir0Kc4Zu4QN8fTRDQGShM6g5rpBWf4pgUc2L6T47oSvYZ_jnWU4je6HBlGHtz87rqbiFhg3f3FExLPsrh71_2Wo0KaB6kZulXWMPG5tmmhgMir7oLQM2WKO_sHK0vAO2cF83YQHE1r7TDOjk/w380-h285/Cows_on_Selsley_Common_-_geograph.org.uk_-_192472.jpg" width="380" /></a></div><br /><p><br /></p><p></p><p>The challenge at the time was how to structure the code. We used Quark, since it was fully open, to model some of the software practices <a href="https://github.com/tianocore-docs/Docs/raw/master/White_Papers/A_Tour_Beyond_BIOS_Open_Source_IA_Firmware_Platform_Design_Guide_in_EFI_Developer_Kit_II.pdf">https://github.com/tianocore-docs/Docs/raw/master/White_Papers/A_Tour_Beyond_BIOS_Open_Source_IA_Firmware_Platform_Design_Guide_in_EFI_Developer_Kit_II.pdf</a> <br /></p><br /><p> </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUYYXOMyxiI9b56cZHrmo3sCHBIFVZ0lbCztNbbEiIiRK9gmwxwFoS2jg7PuxetWnNkG57YFKfgB60tOPtmsC2DTSTqLEBoJHNhniCrzV8xIU__SLECVQPzmgVO_dJAbbVfKoFZr23GV9HhgV-4oaTcy3L9pBmxQexZqwxqvcN_xO0z56TTYxbGMje/s770/mintree-may-2016-cover-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="770" data-original-width="586" height="483" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUYYXOMyxiI9b56cZHrmo3sCHBIFVZ0lbCztNbbEiIiRK9gmwxwFoS2jg7PuxetWnNkG57YFKfgB60tOPtmsC2DTSTqLEBoJHNhniCrzV8xIU__SLECVQPzmgVO_dJAbbVfKoFZr23GV9HhgV-4oaTcy3L9pBmxQexZqwxqvcN_xO0z56TTYxbGMje/w368-h483/mintree-may-2016-cover-Capture.JPG" width="368" /> </a></div><div class="separator" style="clear: both; text-align: center;"> </div><div class="separator" style="clear: both; text-align: center;"> </div><div class="separator" style="clear: both; text-align: left;">The approach entailed a decomposition of the workflow for configuration, porting, and feature addition.<br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5feWRZplq0MwgDynMNNDE7k-cHrOCwd44nleA9TFa5Ahg3MUJTqG4rEQQc6HVoBFak5Zi1uOqcOwyTOwuMs77UgfCdhzpimVISLRsgIX1So27tTBHgDSBdY_nQQLco5V3ZjIKVhd35TyuFixDHfydL0uRuLvUfDn0cXRgI51801MqnufXen-z1LC0/s513/mintree-may-2016-taxonomy-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="513" data-original-width="484" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5feWRZplq0MwgDynMNNDE7k-cHrOCwd44nleA9TFa5Ahg3MUJTqG4rEQQc6HVoBFak5Zi1uOqcOwyTOwuMs77UgfCdhzpimVISLRsgIX1So27tTBHgDSBdY_nQQLco5V3ZjIKVhd35TyuFixDHfydL0uRuLvUfDn0cXRgI51801MqnufXen-z1LC0/w374-h396/mintree-may-2016-taxonomy-Capture.JPG" width="374" /></a></div><br />At this point we only had Atom-based Minnow in the open. During this time we worked w/ the business units to get permission to open up a big core based platform code, namely Kaby Lake, and a Xeon big core server, namely Purley. The work is described in <a href="https://github.com/tianocore/edk2-platforms/blob/devel-MinPlatform/Platform/Intel/MinPlatformPkg/Docs/A_Tour_Beyond_BIOS_Open_Source_IA_Firmware_Platform_Design_Guide_in_EFI_Developer_Kit_II%20-%20V2.pdf">https://github.com/tianocore/edk2-platforms/blob/devel-MinPlatform/Platform/Intel/MinPlatformPkg/Docs/A_Tour_Beyond_BIOS_Open_Source_IA_Firmware_Platform_Design_Guide_in_EFI_Developer_Kit_II%20-%20V2.pdf</a> <br /><p></p><p> </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjKxoAESrcYpkO5l0zZG-eN2rQ22SE53NC1Ue_paGyEWJVBLpFn-tAnC8zzHXIL550UHVMBedTxKBaiDBb59THFlW90mQs1_YQ6MVSDsEllN9e6v9424AAuZcdaZpp9Bk6_f9aTryd9YiKL47QcHJ1WEglXbbCZMGX7kPexadNzc02euTJhqlbLKU_/s738/minplat-march-2018-cover-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="738" data-original-width="545" height="573" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjKxoAESrcYpkO5l0zZG-eN2rQ22SE53NC1Ue_paGyEWJVBLpFn-tAnC8zzHXIL550UHVMBedTxKBaiDBb59THFlW90mQs1_YQ6MVSDsEllN9e6v9424AAuZcdaZpp9Bk6_f9aTryd9YiKL47QcHJ1WEglXbbCZMGX7kPexadNzc02euTJhqlbLKU_/w423-h573/minplat-march-2018-cover-Capture.JPG" width="423" /> </a></div><div class="separator" style="clear: both; text-align: center;"> </div><div class="separator" style="clear: both; text-align: center;"> </div><div class="separator" style="clear: both; text-align: left;">These studies provided a decomposition both logically<br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE2IBCn_NkNxxBrd9u3HoZ5LH3Mrtwn6Zt4q8bV5ECH9q3RMKWbdvEKDyJA19gxJMCGil6hOgi6tK5mFKlaQLZjM_OfziDe6Nba2lVTmMYfQ4GNQDIF-kQq7VAkOnRvUqCPTCjUZMdU5rlrkDfe7cQVXEVLUFZYNfHljz6iot5RbvSkjJ3LMxvZBBe/s508/minplat-march-2018-block-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="329" data-original-width="508" height="292" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE2IBCn_NkNxxBrd9u3HoZ5LH3Mrtwn6Zt4q8bV5ECH9q3RMKWbdvEKDyJA19gxJMCGil6hOgi6tK5mFKlaQLZjM_OfziDe6Nba2lVTmMYfQ4GNQDIF-kQq7VAkOnRvUqCPTCjUZMdU5rlrkDfe7cQVXEVLUFZYNfHljz6iot5RbvSkjJ3LMxvZBBe/w451-h292/minplat-march-2018-block-Capture.JPG" width="451" /> </a></div><div class="separator" style="clear: both; text-align: left;"> <br /></div>and in the source code<br /><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj32FzMeAaIXKGQy5Xsi8kcvFpmp0WfC7BTchEQXRWxvhcrL2pibxIFsXWAiUKacqhf5EAGHRdXdfFFlaWjPnUycqztQmHjV_B5uiX13RayRjWCExjhKcXNxzc8qUroqF1s0JIJs-8vdo8uDfhnhjbLsWBVN1xUaX1rhy4CBO0irenbKENv04hpy0NR/s461/minplat-march-2018-tree-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="357" data-original-width="461" height="341" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj32FzMeAaIXKGQy5Xsi8kcvFpmp0WfC7BTchEQXRWxvhcrL2pibxIFsXWAiUKacqhf5EAGHRdXdfFFlaWjPnUycqztQmHjV_B5uiX13RayRjWCExjhKcXNxzc8qUroqF1s0JIJs-8vdo8uDfhnhjbLsWBVN1xUaX1rhy4CBO0irenbKENv04hpy0NR/w439-h341/minplat-march-2018-tree-Capture.JPG" width="439" /> </a></div><div class="separator" style="clear: both; text-align: center;"> </div><div class="separator" style="clear: both; text-align: left;">We updated the ecosystem on this work in <a href="https://www.platformsecuritysummit.com/2018/speaker">https://www.platformsecuritysummit.com/2018/speaker</a>/</div><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM-iwdb6rvtzkDrMtUGw2idRhafGl4isqvKchYM6Rgmd5-Yvv6fkgrlWOlYNCekXg_JZ69TaHgNGsScpkqjJwoTal4cA_feFuvtPB1uK25fqyyiIVyrf6YRTvg_aRUUWXtvM2FWGpTK41XyB-8yxl5imEqtgzbcSDxA7QIDqI5jOpuQJbq7_69eyVt/s1256/psc-2018-cover-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="566" data-original-width="1256" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM-iwdb6rvtzkDrMtUGw2idRhafGl4isqvKchYM6Rgmd5-Yvv6fkgrlWOlYNCekXg_JZ69TaHgNGsScpkqjJwoTal4cA_feFuvtPB1uK25fqyyiIVyrf6YRTvg_aRUUWXtvM2FWGpTK41XyB-8yxl5imEqtgzbcSDxA7QIDqI5jOpuQJbq7_69eyVt/w496-h223/psc-2018-cover-Capture.JPG" width="496" /></a></div><div class="separator" style="clear: both; text-align: left;"></div><div class="separator" style="clear: both; text-align: left;"></div><div class="separator" style="clear: both; text-align: left;"></div><div class="separator" style="clear: both; text-align: left;"><br /><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkbBg6DouvI01cvaF9SWcjv4LC64kBr8fiHHj0fHhOR6O78Mqxuabvt06HSM5cfrnpaRGtnockhB0t0zcIpyLdOHk_os13CrE3lRe0j3p19-npV7_qktuSn4R3VP_W_aDfJecx0Wdjn9LBU00wU2g4jU2zXrMnQfMCSe4yR489zwbJOpOW-SkLOodC/s1141/psc-2018-minserver-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="553" data-original-width="1141" height="205" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkbBg6DouvI01cvaF9SWcjv4LC64kBr8fiHHj0fHhOR6O78Mqxuabvt06HSM5cfrnpaRGtnockhB0t0zcIpyLdOHk_os13CrE3lRe0j3p19-npV7_qktuSn4R3VP_W_aDfJecx0Wdjn9LBU00wU2g4jU2zXrMnQfMCSe4yR489zwbJOpOW-SkLOodC/w424-h205/psc-2018-minserver-Capture.JPG" width="424" /></a></div>This provided an overview of the server work and also a description of the software stacking.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9mM9XFbXvFhidIeZ8XfBD38Mk9_J1pix9ETEFapiy_HVEydTQMekw8flGdbCJpGmYgKP8eY27j7WR9aioceySednwZZ176y3s7f28OALHZc7JGm4xcqqE7rjFDs_ypAozaBpAa8MqZvKmSQ0R51YRmaf-senOflWGMfb6ywoXFbqxIWc8EuwlJPiF/s1113/psc-2018-stack-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="564" data-original-width="1113" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9mM9XFbXvFhidIeZ8XfBD38Mk9_J1pix9ETEFapiy_HVEydTQMekw8flGdbCJpGmYgKP8eY27j7WR9aioceySednwZZ176y3s7f28OALHZc7JGm4xcqqE7rjFDs_ypAozaBpAa8MqZvKmSQ0R51YRmaf-senOflWGMfb6ywoXFbqxIWc8EuwlJPiF/w464-h235/psc-2018-stack-Capture.JPG" width="464" /></a></div>Another view provided the workflow of the open source core on the left, the silicon packages in the middle, and the open source platform code on the right in order to curate a complete solution.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyapt38U2FAHDbD5Uu2L6pI79gQ_jgzsGyUTinG_Iz6XePI4x6zqPjngo1rCTcLmbzCwVrpqt1p9MTVq3VBzD9ZOFuzivxAnxFsNCRgFg_az_9w-kbToAu3yhkjsaABlqeF7QYG264ciWf0ffiPqOlwz84nPosP0xFEfsAfTZjMQK6xx4cRNh5fnsr/s1071/psc-2018-workflow-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="559" data-original-width="1071" height="230" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyapt38U2FAHDbD5Uu2L6pI79gQ_jgzsGyUTinG_Iz6XePI4x6zqPjngo1rCTcLmbzCwVrpqt1p9MTVq3VBzD9ZOFuzivxAnxFsNCRgFg_az_9w-kbToAu3yhkjsaABlqeF7QYG264ciWf0ffiPqOlwz84nPosP0xFEfsAfTZjMQK6xx4cRNh5fnsr/w441-h230/psc-2018-workflow-Capture.JPG" width="441" /></a></div>The best description of the overall workflow with a given SOC was described in <a href="https://www.intel.com/content/dam/develop/external/us/en/documents/uefi-firmware-enabling-guide-for-the-intel-atom-processor-e3900-series-820238.pdf">https://www.intel.com/content/dam/develop/external/us/en/documents/uefi-firmware-enabling-guide-for-the-intel-atom-processor-e3900-series-820238.pdf</a> in 2018<br /> </div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix5Gwg4xO6atcvb5mfENxKX0GpTciAMIrOQrh1vovtT1WaCrreTeiR6kgBcQUYEImpeLP2fusQQYQkN-NMbANk2ZmTaKuSwwMFmMB_WVcKJcCFhYKIj3MIY7_bW9Dsz_89vEvJsAxwuVOphWUya0PYiQuf21YIj3TNM9Jjqzkxm6FnuJD5-4VtP-8H/s674/e3900-cover-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="527" data-original-width="674" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix5Gwg4xO6atcvb5mfENxKX0GpTciAMIrOQrh1vovtT1WaCrreTeiR6kgBcQUYEImpeLP2fusQQYQkN-NMbANk2ZmTaKuSwwMFmMB_WVcKJcCFhYKIj3MIY7_bW9Dsz_89vEvJsAxwuVOphWUya0PYiQuf21YIj3TNM9Jjqzkxm6FnuJD5-4VtP-8H/w388-h303/e3900-cover-Capture.JPG" width="388" /></a></div><br />Just as we explicated security best practices in <a href="https://link.springer.com/book/10.1007/978-1-4842-6106-4">https://link.springer.com/book/10.1007/978-1-4842-6106-4</a>, we did describe some of this platform work that is now embodied as the 'min platform architecture' (MPA) <a href="https://github.com/tianocore/tianocore.github.io/wiki/Minimum-Platform-Architecture--MinPlatform">https://github.com/tianocore/tianocore.github.io/wiki/Minimum-Platform-Architecture--MinPlatform</a>.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Specifically, the book <a href="https://link.springer.com/book/10.1007/978-1-4842-7974-8">https://link.springer.com/book/10.1007/978-1-4842-7974-8</a> and its associated site <a href="https://github.com/Apress/Firmware-Development">https://github.com/Apress/Firmware-Development</a> touch on this topic<br /></div></div><div class="separator" style="clear: both; text-align: left;"> </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSlgy5rqqFTdfyqBJi8lx0iuZ3e0W3bblxjff65TdU-cdGK-U3D9oNu_H_kxOACWaRxoH37oa9uIkXum0kk_MS491PfDyhgclSSuV9L2TxsiaDciRnrC26wsy1UyajiD-La33dJHPOyTsB2pBIgtQ4fI7qT2Z--ULmmZBa9TC_WQ5VjVD6KEsEqcQk/s774/fwbook-cover-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="774" data-original-width="511" height="441" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSlgy5rqqFTdfyqBJi8lx0iuZ3e0W3bblxjff65TdU-cdGK-U3D9oNu_H_kxOACWaRxoH37oa9uIkXum0kk_MS491PfDyhgclSSuV9L2TxsiaDciRnrC26wsy1UyajiD-La33dJHPOyTsB2pBIgtQ4fI7qT2Z--ULmmZBa9TC_WQ5VjVD6KEsEqcQk/w291-h441/fwbook-cover-Capture.JPG" width="291" /></a></div><p></p><p></p><p>With the evolution of a min-tree and min platform<br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-ZRvve_weWjH0_J5yNiQ8Fg_65r-eiVPbjIDPOMo9NNZrSqc72S3xH40lCbvIYNtHiVvOyLteVTeHjfOKesKx4wkNWghtBY3dyqzaaqvr5trHt2sI5hNDZ26ROof9zM7KOpjwkHW4VVh1OLOPWC014prfrDH71Ncmoj9lZaZVnzy3H52BMOt6OsKX/s764/fwbook-mintree-timeline-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="555" data-original-width="764" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-ZRvve_weWjH0_J5yNiQ8Fg_65r-eiVPbjIDPOMo9NNZrSqc72S3xH40lCbvIYNtHiVvOyLteVTeHjfOKesKx4wkNWghtBY3dyqzaaqvr5trHt2sI5hNDZ26ROof9zM7KOpjwkHW4VVh1OLOPWC014prfrDH71Ncmoj9lZaZVnzy3H52BMOt6OsKX/w373-h271/fwbook-mintree-timeline-Capture.JPG" width="373" /></a></div>and the MPA stack itself.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC8bDMEfzj2ebE3kO9IkznAYmeS8iQAPDbHHWnTv8MUfXgq7MiU7VAMC4y0ZdhX-sAnvZ2K5IJ2FkbT3RvuPlhgH8qWMy7ZSvddamHAD0CpraEqKEQ1vzIEenCSYC7CoDt9BHwfFkUYoqCjcn0s7szCrJq5MJxqaBZ0ezyRJr7gR1p7hWBd6AtfnZX/s778/fwbook-mpa-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="730" data-original-width="778" height="377" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC8bDMEfzj2ebE3kO9IkznAYmeS8iQAPDbHHWnTv8MUfXgq7MiU7VAMC4y0ZdhX-sAnvZ2K5IJ2FkbT3RvuPlhgH8qWMy7ZSvddamHAD0CpraEqKEQ1vzIEenCSYC7CoDt9BHwfFkUYoqCjcn0s7szCrJq5MJxqaBZ0ezyRJr7gR1p7hWBd6AtfnZX/w402-h377/fwbook-mpa-Capture.JPG" width="402" /></a></div><div class="separator" style="clear: both; text-align: left;">This work is also included in training material <a href="https://github.com/tianocore-training/PlatformBuildLab_MinPlatform_FW">https://github.com/tianocore-training/PlatformBuildLab_MinPlatform_FW</a>. <br /></div><div class="separator" style="clear: both; text-align: left;"> </div><div class="separator" style="clear: both; text-align: left;">The idea behind 'min tree' was to right-size things. One of the concurrent investigations was to subset the main edk2 upstream, including breaking down some of the existing packages <a href="https://github.com/tianocore/edk2/compare/master...jyao1:edk2:ReOrg">https://github.com/tianocore/edk2/compare/master...jyao1:edk2:ReOrg</a>. Many companies do git-filtering to pull a subset or curate a smaller list of packages, like <a href="https://microsoft.github.io/mu/">https://microsoft.github.io/mu/</a> with <a href="https://github.com/microsoft/mu_tiano_plus">https://github.com/microsoft/mu_tiano_plus</a>. The platform clean-up was easier since we historically cloned-and-updated platform code per generation, whereas the core packages are often reused, with figures like below from <a href="http://masters.donntu.ru/2020/fknt/yakubov/library/article6.pdf">http://masters.donntu.ru/2020/fknt/yakubov/library/article6.pdf</a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8WvqbT60VunWxmJcQr3C1w8wNKXRXKM8v6mrYZeyszQCea-ENxDwFuC02udNk5DIQ0dvPNI7GRSeMs-lYUtFXfGFrI_rqPBDAYpwyghqZl1TVxGxGzEQ4fKaydJPouCENjMlwgmkh_oWuwWvP3ZLbC-Kt4YqbHcznBWitSeObwOFHsOGeUVymX-AG/s875/Capture-reuse.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="366" data-original-width="875" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8WvqbT60VunWxmJcQr3C1w8wNKXRXKM8v6mrYZeyszQCea-ENxDwFuC02udNk5DIQ0dvPNI7GRSeMs-lYUtFXfGFrI_rqPBDAYpwyghqZl1TVxGxGzEQ4fKaydJPouCENjMlwgmkh_oWuwWvP3ZLbC-Kt4YqbHcznBWitSeObwOFHsOGeUVymX-AG/w374-h156/Capture-reuse.JPG" width="374" /></a></div><p></p><p>Then there is also the 'Tragedy of the Commons' allusion wrt core I mentioned above.<br /></p><div class="separator" style="clear: both; text-align: left;">As such, the feedback from the ecosystem at the time was that convincing management types to change a code base, albeit for a slimmer one, was a hard sell since it would invariably lead to new issues, including potential bugs. The older core had the advantage of years of flight-testing, namely evidence-of-use. But I was told that if new capabilities were added to vet the quality, such as testing / unit testing, then it would be an easier argument. That was a tough story to sell 5+ years ago but today falls on more friendly ears with the community rallying around things like <a href="https://github.com/tianocore/edk2/tree/master/UnitTestFrameworkPkg">https://github.com/tianocore/edk2/tree/master/UnitTestFrameworkPkg</a>. Even though there are a paucity of unit tests written today, the above package forms a foundation to get that trust such that more radical refactoring can be done with higher confidence. I remember the TPM TSS project lead telling me that they had 90+% code coverage and any potential commit that broke a unit test or dropped that % was automatically rejected. </div><p>The same story holds for evolution of new techniques like memory-safe languages like Rust into a large extant code base. Although the rewrite of critical libraries in Rust <a href="https://cfp.osfc.io/media/osfc2020/submissions/SLFJTN/resources/OSFC2020_Rust_EFI_Yao_Zimmer_NDK4Dme.pdf">https://cfp.osfc.io/media/osfc2020/submissions/SLFJTN/resources/OSFC2020_Rust_EFI_Yao_Zimmer_NDK4Dme.pdf</a> showed efficacy</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLyW2cdjo4sKbv_IvdFLQu_OmhBq-OZHAgQToyNvQq6mj37smWnWNHosZc7XoP99_TfWZv1Y2m7BHIOYzbYwwg0fkcech53eny4whzHAW1sJEaV7x2FNi_9TEkdXCLX0fnXsRw8a_o4xHFaNyzL2fZI6hsl-qcr8OXLDKpLRggaSo_ElEHg9YhdNvK/s1617/Capture-bmp-in-rust.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="585" data-original-width="1617" height="146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLyW2cdjo4sKbv_IvdFLQu_OmhBq-OZHAgQToyNvQq6mj37smWnWNHosZc7XoP99_TfWZv1Y2m7BHIOYzbYwwg0fkcech53eny4whzHAW1sJEaV7x2FNi_9TEkdXCLX0fnXsRw8a_o4xHFaNyzL2fZI6hsl-qcr8OXLDKpLRggaSo_ElEHg9YhdNvK/w404-h146/Capture-bmp-in-rust.JPG" width="404" /></a></div><br /><p><br /></p><p>given history like <a href="https://www.blackhat.com/presentations/bh-usa-09/WOJTCZUK/BHUSA09-Wojtczuk-AtkIntelBios-SLIDES.pdf">https://www.blackhat.com/presentations/bh-usa-09/WOJTCZUK/BHUSA09-Wojtczuk-AtkIntelBios-SLIDES.pdf</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMDgH4A8OtZTtnShdgPU6yrKWIayjZ59xdmRDjBVtKRuFvnwTFk7fhjYA-7UC7voprzMTRYZJLAaDpK9-nIReGMEcSLtI5R7ZTgV6j1IfTQDEMYX-Z089kzhm9KlxEUcxZH90Jnl1osuasrwJI2LIASmNsl8bK2KqHveH4QeaxS2S3B089atMmMVLZ/s1905/Capture-bmp-in-C.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1022" data-original-width="1905" height="207" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMDgH4A8OtZTtnShdgPU6yrKWIayjZ59xdmRDjBVtKRuFvnwTFk7fhjYA-7UC7voprzMTRYZJLAaDpK9-nIReGMEcSLtI5R7ZTgV6j1IfTQDEMYX-Z089kzhm9KlxEUcxZH90Jnl1osuasrwJI2LIASmNsl8bK2KqHveH4QeaxS2S3B089atMmMVLZ/w384-h207/Capture-bmp-in-C.JPG" width="384" /></a></div><br /><p><br /></p><p>the cost of integrating the language in mainline and the hardening since 2009 make it a hard sell. But for 'new code' with tricky attacker-controlled data types, perhaps the dialectic can lean toward embracing language-based security?</p><p>Speaking of wisdom of others, some of this work for a min* was motivated by a comment I heard from <a href="https://en.wikipedia.org/wiki/Window_Snyder">https://en.wikipedia.org/wiki/Window_Snyder</a>, namely 'the security defender's best weapon is the "delete" key.' Specifically, deleted code cannot have CVE's or a lack of test coverage. So 'min' as a tactic for 'less code' is often a salubrious path to pursue.</p><p>Regarding the thread on platforms above, mentioning MPA doesn't mean that there are not other open opportunities beyond EDKII. There are examples such as <a href="https://github.com/slimbootloader/slimbootloader/tree/master/Platform">https://github.com/slimbootloader/slimbootloader/tree/master/Platform</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWDOQlfakanrno1nvKxxkapvnLH2TJfPCsr2j6bGAbUZMP_hrReBil_QKbr02tLj6Nd2SJkWEH2NzMuARpEyReFSMpsCj5RzsMsMraEWxPUjTtIjCEAtFSxYOS4mxYwi5e4StAc-q_xiR2hgyXcYCYISzvHIvTjfT1fXXHJ_T9cCIFsp2keF_mjk7R/s826/slimboot-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="826" data-original-width="779" height="459" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWDOQlfakanrno1nvKxxkapvnLH2TJfPCsr2j6bGAbUZMP_hrReBil_QKbr02tLj6Nd2SJkWEH2NzMuARpEyReFSMpsCj5RzsMsMraEWxPUjTtIjCEAtFSxYOS4mxYwi5e4StAc-q_xiR2hgyXcYCYISzvHIvTjfT1fXXHJ_T9cCIFsp2keF_mjk7R/w433-h459/slimboot-Capture.JPG" width="433" /></a></div><br /><p><br /></p><p>and <a href="https://github.com/coreboot/coreboot/tree/master/src/mainboard/intel">https://github.com/coreboot/coreboot/tree/master/src/mainboard/intel</a></p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp-hrZxOxuDbMojKamB7Uyb9aV_C27zRW3dGTL2zoiVr-RfWA3d493zPSY_kRntI-a-HfL94dPNjj7t9bJFNOZ4qwhg9zh_rWRHBxlQy6YCI92omPPUlNkUwDpffFjjIOM3W1g1EpvYmBVC5SoIlR5DsF4qpmRUD1cnrhZTMBK9HDSjG6w4WpjPyzs/s905/coreboot-github-mainboard-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="905" data-original-width="770" height="412" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp-hrZxOxuDbMojKamB7Uyb9aV_C27zRW3dGTL2zoiVr-RfWA3d493zPSY_kRntI-a-HfL94dPNjj7t9bJFNOZ4qwhg9zh_rWRHBxlQy6YCI92omPPUlNkUwDpffFjjIOM3W1g1EpvYmBVC5SoIlR5DsF4qpmRUD1cnrhZTMBK9HDSjG6w4WpjPyzs/w350-h412/coreboot-github-mainboard-Capture.JPG" width="350" /></a></div><br /><p></p><p> </p><p>You can find info in <a href="https://link.springer.com/book/10.1007/978-1-4842-7939-7">https://link.springer.com/book/10.1007/978-1-4842-7939-7</a> <a href="https://github.com/Apress/System-Firmware">https://github.com/Apress/System-Firmware</a><br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiWKxKADACI-3wCYX10z1-MtzlasAivpOdBFn2PkY1bMoXQwC9rFnjAFneR_tdGE9YwYvqYUdfUReyzvv4pQ7ZVnAMCYBJeoWNv9U03plosRQl3WW1JJlcVy7tsWXjWMkKeBg9T-Vtl1IqJdU3dArfW7x2gmWfgOcl8fRoUV0OXVPzX1cNFKgPQoWU/s827/oss-book-cover-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="827" data-original-width="542" height="494" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiWKxKADACI-3wCYX10z1-MtzlasAivpOdBFn2PkY1bMoXQwC9rFnjAFneR_tdGE9YwYvqYUdfUReyzvv4pQ7ZVnAMCYBJeoWNv9U03plosRQl3WW1JJlcVy7tsWXjWMkKeBg9T-Vtl1IqJdU3dArfW7x2gmWfgOcl8fRoUV0OXVPzX1cNFKgPQoWU/w324-h494/oss-book-cover-Capture.JPG" width="324" /></a></div><br /> <p></p><p>for slim bootloader <br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4nh6j50jvYz2N-zwwSgoH868-TQRWKTqmI8NmW0qusP-GSvbHmhDR-Eivl_hqF8LtNLGjW2YhOZ1YLCiquVQ7sKev_6ESdeEpCgCnCSOqbCzi7kCpD7ajLRGngZip3Qv7xxTkdiT9N87ty-4aFlftrnzUenTQjSuf6ENc1fjjv94KFp6iDSNlP4Sm/s475/oss-book-slim-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="370" data-original-width="475" height="304" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4nh6j50jvYz2N-zwwSgoH868-TQRWKTqmI8NmW0qusP-GSvbHmhDR-Eivl_hqF8LtNLGjW2YhOZ1YLCiquVQ7sKev_6ESdeEpCgCnCSOqbCzi7kCpD7ajLRGngZip3Qv7xxTkdiT9N87ty-4aFlftrnzUenTQjSuf6ENc1fjjv94KFp6iDSNlP4Sm/w391-h304/oss-book-slim-Capture.JPG" width="391" /></a></div> <p></p><p> </p><p>and coreboot, respectively. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPM4RU6ow1zhMe53BKARNszhASyz6Yx6GtLESrVDn0jG7NvbIPEizFphxFo3bP2GjXufRr4pkwRSqg65SMv6AgQY95Q_ivSd0YqAM6zPxQRbawHcxUxDHJhQcp4VSC6H0NdahvkqUJY_JMgQIZ6hFfd5zfuXWWbKsrvdQ5HrPxlEBtZq-BU7vyFDGe/s482/oss-book-coreboot-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="482" data-original-width="463" height="409" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPM4RU6ow1zhMe53BKARNszhASyz6Yx6GtLESrVDn0jG7NvbIPEizFphxFo3bP2GjXufRr4pkwRSqg65SMv6AgQY95Q_ivSd0YqAM6zPxQRbawHcxUxDHJhQcp4VSC6H0NdahvkqUJY_JMgQIZ6hFfd5zfuXWWbKsrvdQ5HrPxlEBtZq-BU7vyFDGe/w392-h409/oss-book-coreboot-Capture.JPG" width="392" /></a></div><br /><p>Speaking of the various platform code embodiment's, efforts like <a href="https://www.intel.com/content/www/us/en/developer/articles/technical/universal-scalable-firmware.html">Universal Scalable Firmware Architecture (intel.com)</a> <a href="https://universalscalablefirmware.github.io/documentation/">https://universalscalablefirmware.github.io/documentation/</a> work to find reuse across these different environments</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoRwUgdEOqt2aU45p_09oik775kLc6pmcaKkCkL3qU2lnG-DlAIJVLeNQyTIsNQ0SBUE0v8vBJd5MolUmekfHQgeU_c0f7cOg7DeLPZEvr7gvBpAV4NKsS-adxr7AYqC8gIroQy6W8ZeBeJdrGlUAhGzzljtHlfA_L8mTN1N_xkzKPbhzMt2Brsh8q/s1000/Screenshot%202023-05-31%20082354.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="398" data-original-width="1000" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoRwUgdEOqt2aU45p_09oik775kLc6pmcaKkCkL3qU2lnG-DlAIJVLeNQyTIsNQ0SBUE0v8vBJd5MolUmekfHQgeU_c0f7cOg7DeLPZEvr7gvBpAV4NKsS-adxr7AYqC8gIroQy6W8ZeBeJdrGlUAhGzzljtHlfA_L8mTN1N_xkzKPbhzMt2Brsh8q/w417-h165/Screenshot%202023-05-31%20082354.png" width="417" /></a></div><br /> This work also mentions accommodating Rust-based designs, including <a href="https://github.com/oreboot/oreboot">https://github.com/oreboot/oreboot</a>, which is mentioned in the first of the two books above <a href="https://link.springer.com/book/10.1007/978-1-4842-7974-8">https://link.springer.com/book/10.1007/978-1-4842-7974-8</a>, too.<p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9PjzN5O8zc_hz2Y231yXSENtaOOSqNHHQHTiNu8e8V490y1hXWtlIyPo0i8W4y51enxr3wNiLFq2Mlou-19eQ8tYsiVJB7ZM5xOPxzzYpuRSGzf3xZ9kU3KVNUXlCr7BFbW_XsLrB0NauafNKGt-KeDpss7u75WONGjGDUlR0xE6T0-pnysjRqBig/s661/Screenshot%202023-05-31%20082534.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="527" data-original-width="661" height="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9PjzN5O8zc_hz2Y231yXSENtaOOSqNHHQHTiNu8e8V490y1hXWtlIyPo0i8W4y51enxr3wNiLFq2Mlou-19eQ8tYsiVJB7ZM5xOPxzzYpuRSGzf3xZ9kU3KVNUXlCr7BFbW_XsLrB0NauafNKGt-KeDpss7u75WONGjGDUlR0xE6T0-pnysjRqBig/w375-h299/Screenshot%202023-05-31%20082534.png" width="375" /></a></div><br /> and <a href="https://github.com/u-boot/u-boot">https://github.com/u-boot/u-boot</a>, too<p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLo_Aj9DycXCpnlgxXPYSin2JGTOKz1wkyGU4Y9zxf0p6tvxw10s1LUqGw8lsEhwZ2uFYs5fN62DySiPIM0dkrtFASxjPAE6Xh5Xszpio9TAgnHeAI8XQRqPB1MBKfENZpqx6Uukwo0oYfdrH1uUa46wuyIZlVOYVZmnUlBuP6a1XrnqrPBxSvUT-j/s585/Screenshot%202023-05-31%20083105.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="362" data-original-width="585" height="253" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLo_Aj9DycXCpnlgxXPYSin2JGTOKz1wkyGU4Y9zxf0p6tvxw10s1LUqGw8lsEhwZ2uFYs5fN62DySiPIM0dkrtFASxjPAE6Xh5Xszpio9TAgnHeAI8XQRqPB1MBKfENZpqx6Uukwo0oYfdrH1uUa46wuyIZlVOYVZmnUlBuP6a1XrnqrPBxSvUT-j/w409-h253/Screenshot%202023-05-31%20083105.png" width="409" /></a></div><br /> including its use in <a href="https://github.com/openbmc/openbmc">https://github.com/openbmc/openbmc</a><p></p><p></p><p></p><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTpHBu5iDzH_JsKFvzZj-wag_EuTF0sPvYzxBQto2l69PoS-8ojFxtB9l30fZGdGQcBNWaH5cWmp9trBvRTby0y4D4lYKiRXKnoJegqTKSWnuqSEVHVGVawohfmkI9BcM9mGpFl5YIFxrsh-wOzVJRJ-VCYOybP8-xr1_GLM3_gmfjZSbPrB_asWRe/s607/Screenshot%202023-05-31%20083227.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="398" data-original-width="607" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTpHBu5iDzH_JsKFvzZj-wag_EuTF0sPvYzxBQto2l69PoS-8ojFxtB9l30fZGdGQcBNWaH5cWmp9trBvRTby0y4D4lYKiRXKnoJegqTKSWnuqSEVHVGVawohfmkI9BcM9mGpFl5YIFxrsh-wOzVJRJ-VCYOybP8-xr1_GLM3_gmfjZSbPrB_asWRe/s320/Screenshot%202023-05-31%20083227.png" width="320" /></a></div><p></p><p><br /></p><p>PS<br />Sometimes my blog posts are like Joyce's Finnegan's Wake where the last sentence and the first sentence of the book overlap. Or maybe a snake eating its tail? Whatever the literary motif or allusion, another of the slides from the 2015 prezo at the top of this post, namely <br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL3az_o_3bpT5oKe1m5B0JIEHo5CpxEkusgIB1SIjPzu1JCROZQdnctgIlr9mAhOQy9WqJ1Rt6i-HQWS1auusbP-26L7qEcpvX8WwPC8voYkSrhEmGIFHbcFx4aA853gSpbq4FbFF9-IzmndOkllBbLRj1MlE4CYd18qLFwdwXSwMmqyx1ItAb2LWx/s1295/ocp-osts-Screenshot%202023-06-09%20081353.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="746" data-original-width="1295" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL3az_o_3bpT5oKe1m5B0JIEHo5CpxEkusgIB1SIjPzu1JCROZQdnctgIlr9mAhOQy9WqJ1Rt6i-HQWS1auusbP-26L7qEcpvX8WwPC8voYkSrhEmGIFHbcFx4aA853gSpbq4FbFF9-IzmndOkllBbLRj1MlE4CYd18qLFwdwXSwMmqyx1ItAb2LWx/w384-h221/ocp-osts-Screenshot%202023-06-09%20081353.png" width="384" /></a></div><br /><p><br /></p><p>reminded me of more recent happening in the industry, namely the 2021 prezo from AMI <a href="https://www.youtube.com/watch?v=SeiigV8PJPE">https://www.youtube.com/watch?v=SeiigV8PJPE</a> and the Aptio Open edition. It describes their variant of this 2015 vision for OCP realized in practice in 2021</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSfZzuNClYWBKWag23eEtINS-MVooqqc04GRVBkmGF509BVZW4fwqdYlVNy74bJ_IFOCOpNpPqC4EjKicU5epI8-MK5vAGbwOyveqfR8JdUOyPYcdE0eHUxLR70efVlOksS5cjBmvP92m6WAra2ES_6TB9pXwDazfh4WBHov91jsVy7yEkZW6IvmQA/s1290/ami-Screenshot%202023-06-09%20082014.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="506" data-original-width="1290" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSfZzuNClYWBKWag23eEtINS-MVooqqc04GRVBkmGF509BVZW4fwqdYlVNy74bJ_IFOCOpNpPqC4EjKicU5epI8-MK5vAGbwOyveqfR8JdUOyPYcdE0eHUxLR70efVlOksS5cjBmvP92m6WAra2ES_6TB9pXwDazfh4WBHov91jsVy7yEkZW6IvmQA/w472-h186/ami-Screenshot%202023-06-09%20082014.png" width="472" /></a></div><br /><p>This leverages the work out of the Open System Firmware (OSF) <a href="https://www.opencompute.org/wiki/Open_System_Firmware">https://www.opencompute.org/wiki/Open_System_Firmware</a> <br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoBwRB-aaaTDIvICF0FcyCZKbDKN0n_Qq1ZRw4Q82KoOa4fWFe4GmUhKA4Smdo-chAWBLuL1QwUGazKvyxQ4B8A9YAU7IgD02y37MPjK-065k8co_KG2EQiJIjRkep1owoSO2yeWCBMCQOdE8tAaM7_OeLincWCI4M3DFo27jPubN8KJY93ri846OYz1E/s819/Screenshot%202023-09-15%20065934.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="526" data-original-width="819" height="315" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoBwRB-aaaTDIvICF0FcyCZKbDKN0n_Qq1ZRw4Q82KoOa4fWFe4GmUhKA4Smdo-chAWBLuL1QwUGazKvyxQ4B8A9YAU7IgD02y37MPjK-065k8co_KG2EQiJIjRkep1owoSO2yeWCBMCQOdE8tAaM7_OeLincWCI4M3DFo27jPubN8KJY93ri846OYz1E/w489-h315/Screenshot%202023-09-15%20065934.png" width="489" /></a></div><a href="https://docs.google.com/document/d/1pvb4cyQIdXzOtmCb1y6o_6JBnJOx9DkdrMHeYHb5LU0/edit#heading=h.6iuk77tyg1a">https://docs.google.com/document/d/1pvb4cyQIdXzOtmCb1y6o_6JBnJOx9DkdrMHeYHb5LU0/edit#heading=h.6iuk77tyg1a</a> <br /><p></p><p>Sidebar - what a change between 2018-2023. Ron now at Samsung. David at Amazon. Isaac recently retired from Intel. And Gundrala sadly passed</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXpcTwo7m4yS6ZMoKxPfLKpT-mqB-BolnbXZsUAj5-lrCbdbhQCn8cEGuFye3TTmz77g35fTUXduo7yDT8FXZJRxGseppYa1MrM5HInylxF34S2i_BWiZnVhGFmh_XMUV3YS1MSR-o8Ac4zP5rFCuIdxUqbg_uJoHegCyRp80cWroY3cZrAMKXyc-KjsI/s1871/Capture-Gundrala.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1319" data-original-width="1871" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXpcTwo7m4yS6ZMoKxPfLKpT-mqB-BolnbXZsUAj5-lrCbdbhQCn8cEGuFye3TTmz77g35fTUXduo7yDT8FXZJRxGseppYa1MrM5HInylxF34S2i_BWiZnVhGFmh_XMUV3YS1MSR-o8Ac4zP5rFCuIdxUqbg_uJoHegCyRp80cWroY3cZrAMKXyc-KjsI/w450-h318/Capture-Gundrala.JPG" width="450" /></a></div><p><a href="https://ocp-all.groups.io/g/main/topic/in_memory_of_gundrala/87592963?p=,,,20,0,0,0::recentpostdate/sticky,,,20,1,80,87592963,previd%3D1611775656365391031,nextid%3D1638983329612768441&previd=1611775656365391031&nextid=1638983329612768441">https://ocp-all.groups.io/g/main/topic/in_memory_of_gundrala/87592963?p=,,,20,0,0,0::recentpostdate/sticky,,,20,1,80,87592963,previd%3D1611775656365391031,nextid%3D1638983329612768441&previd=1611775656365391031&nextid=1638983329612768441</a>. Gundrala and I collaborated quite a bit when he was at Intel, including</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzKx0D3IIg984lcI223I3UPF4aB41ZV91V3KCcnjaxi4wdaoHOinY8ocNj2ujrODgoI6OztLNnzuqcj6UUiPVl8eYWs4tUxf7KXPduigR5J1tu3i0aMxI9E6FZeP8FpqZ3mhpZuuHcgpZtiGrU6nprvfKmCDVQKwIczjMx3xj5MfpACh8Ik0bbegPh7Z8/s1137/Screenshot%202023-09-15%20071702.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="721" data-original-width="1137" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzKx0D3IIg984lcI223I3UPF4aB41ZV91V3KCcnjaxi4wdaoHOinY8ocNj2ujrODgoI6OztLNnzuqcj6UUiPVl8eYWs4tUxf7KXPduigR5J1tu3i0aMxI9E6FZeP8FpqZ3mhpZuuHcgpZtiGrU6nprvfKmCDVQKwIczjMx3xj5MfpACh8Ik0bbegPh7Z8/w441-h280/Screenshot%202023-09-15%20071702.png" width="441" /></a></div>and many others<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaj5cHhHb-2O647CoJQ3TnpZcz-BMN2MsBppkFtPeode-zkGBr4vN_EhOxJM5Z4UGyIydwooe8Lm32veCv4Rew8I7qIvKidQ3fGz-qG32Ta2AylFxGAb2FQMfYsFUbzbM-ECyYduB8YysdWlrFdeKEOGgM_L424pgOU4sPA6Lqm_dXZQIyv0KEjaYHxkM/s1263/Screenshot%202023-09-15%20071905.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1263" data-original-width="763" height="448" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaj5cHhHb-2O647CoJQ3TnpZcz-BMN2MsBppkFtPeode-zkGBr4vN_EhOxJM5Z4UGyIydwooe8Lm32veCv4Rew8I7qIvKidQ3fGz-qG32Ta2AylFxGAb2FQMfYsFUbzbM-ECyYduB8YysdWlrFdeKEOGgM_L424pgOU4sPA6Lqm_dXZQIyv0KEjaYHxkM/w270-h448/Screenshot%202023-09-15%20071905.png" width="270" /></a></div>Gundrala is missed. It was nice having an opportunity to roll down 156th with him and grab Indian Food across from Crossroads here in Bellevue during his MS (post-Intel) years.<br /><p>Ok. Back to the topics of open source platform code. So this 'open platform code/mintree' is another 'recent-to-past' binding. In general the 2015 to 2021 hang time of 6 years is not unreasonable. I once recall a software VP in early 2000's telling me that 'nothing significant happens in less than 10 years.' In the world of internet time and AI I suspect the timelines are a bit accelerated, but I have definitely observed that looking for quick wins in the infrastructure space rarely occurs. </p><p><br /></p><p>PPS</p><p><a href="https://twitter.com/kirkbrannock/status/1665121431519367169">https://twitter.com/kirkbrannock/status/1665121431519367169</a></p><p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Z9FjltsNQ8iiEErBzaujZFRBxENT9DFyV-NRUMPRKRhfGJDMSYQr2BWTYz8iNv3pg8roPMD1cPvyEpBEMXRwiaWXVEVfJKkobW-2HhIZ9shbuubktt-uXAtxaf--kkdlOLgnBbjh-fpcxslq9-b7mEkYtVjbLmvc9qmcmudktiI-vbWlsbWjrrMj/s385/twitter-Screenshot%202023-06-09%20095143.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="358" data-original-width="385" height="298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4Z9FjltsNQ8iiEErBzaujZFRBxENT9DFyV-NRUMPRKRhfGJDMSYQr2BWTYz8iNv3pg8roPMD1cPvyEpBEMXRwiaWXVEVfJKkobW-2HhIZ9shbuubktt-uXAtxaf--kkdlOLgnBbjh-fpcxslq9-b7mEkYtVjbLmvc9qmcmudktiI-vbWlsbWjrrMj/s320/twitter-Screenshot%202023-06-09%20095143.png" width="320" /></a></div><br /><br /><p></p><p>saddened me. Kirk this year and Sham last year</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjcpbdcbNnXDYkcopmzqkq_dC4N9VshOUSRlWzgcDBJ8aHnhoboUcCximPjzn5b3Vv3FwaI9cgxcNK-gztJLvsaTENRXDNUiJA29jpRTCKugXYeKSwf6mzEkEbE8DjEjTRG_Y-F710vFshutpmEgn6IL9HCuNE6ZbCI0a7-QqRlld3f7IbSilnaWeK/s824/Sham-Screenshot%202023-06-09%20094431.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="824" data-original-width="549" height="427" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjcpbdcbNnXDYkcopmzqkq_dC4N9VshOUSRlWzgcDBJ8aHnhoboUcCximPjzn5b3Vv3FwaI9cgxcNK-gztJLvsaTENRXDNUiJA29jpRTCKugXYeKSwf6mzEkEbE8DjEjTRG_Y-F710vFshutpmEgn6IL9HCuNE6ZbCI0a7-QqRlld3f7IbSilnaWeK/w284-h427/Sham-Screenshot%202023-06-09%20094431.png" width="284" /></a></div><br /><p><br /></p><p>have left the building to retirement, or as I sometimes joke "had a sharp enough spoon to dig out of Shawshank." <a href="https://en.wikipedia.org/wiki/The_Shawshank_Redemption">https://en.wikipedia.org/wiki/The_Shawshank_Redemption</a><br /></p><p>Good times working on BIOS with both, Sham being a huge mentor to me starting in 1997. He was sort of the "BIOS Yoda" when I joined Intel. Sham's the guy who did the first SMM BIOS enabling on the 386SL, etc. And I met Kirk in 1998 starting on workstation BIOS, EFI, and then many things platform thereafter, including great design oppty's with both like <a href="https://patents.google.com/patent/US7392371B2/en">https://patents.google.com/patent/US7392371B2/en</a><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR5j3u39tSudyKg9N_WEMnpn3cLw6g6-JlXpUXI5mfR0iCOI0t46YtiVzeItKYcOXy8blGpucLWFfvPS060fpmiMSoMB6VOwYxtM0cRDtigAVN15utR8C2rtvk8QX_jqzzkNzVW3XPtsDCZJw4TfkzNGzpTvda1oQah_LkBemlAtZmldeRrC3HlX8U/s619/vtf-Screenshot%202023-06-09%20094741.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="221" data-original-width="619" height="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR5j3u39tSudyKg9N_WEMnpn3cLw6g6-JlXpUXI5mfR0iCOI0t46YtiVzeItKYcOXy8blGpucLWFfvPS060fpmiMSoMB6VOwYxtM0cRDtigAVN15utR8C2rtvk8QX_jqzzkNzVW3XPtsDCZJw4TfkzNGzpTvda1oQah_LkBemlAtZmldeRrC3HlX8U/w466-h166/vtf-Screenshot%202023-06-09%20094741.png" width="466" /></a></div><br /><p>which ended up landing in <a href="https://uefi.org/specs/PI/1.8/V3_Design_Discussion.html#firmware-file-system-format">https://uefi.org/specs/PI/1.8/V3_Design_Discussion.html#firmware-file-system-format</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeiY4LXTjhTLG7BxW90rEbHwZFs_95KWOfGkpIz5ip9u5_ISbk4_ZjXdU3-HKNzpCn3ufy4g82BYBW66T1F_GNLGQV2jpD4XvxsiovNe_0mFw_bBhGldAZeRDqyIwAAH1JhNM7QfPkKuC9uliLe0qk5GFpnbab3kUNtcn4pstOLHKn9-s7u6WcO-Zm/s542/pi-spec-vtf-Screenshot%202023-06-09%20095809.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="231" data-original-width="542" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeiY4LXTjhTLG7BxW90rEbHwZFs_95KWOfGkpIz5ip9u5_ISbk4_ZjXdU3-HKNzpCn3ufy4g82BYBW66T1F_GNLGQV2jpD4XvxsiovNe_0mFw_bBhGldAZeRDqyIwAAH1JhNM7QfPkKuC9uliLe0qk5GFpnbab3kUNtcn4pstOLHKn9-s7u6WcO-Zm/w398-h169/pi-spec-vtf-Screenshot%202023-06-09%20095809.png" width="398" /></a></div><p>Or with guru Sham on SMM on <a href="https://patents.google.com/patent/US6775728B2/en">https://patents.google.com/patent/US6775728B2/en</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSDE31-pq59bgMoHqiKN4mbZcl14XlJFu8Xye5Te7sjvpt6_mSA4meJii_EnSUWzQb5SYue8UAffYKNrzfbeiwYpGg3ytTifxX7etxwpTRL6OoaZ48gbq2aeQABA1RbLM4-8VfO1NaNeR0GAsfptUWXVX9DMI3cfWOQ9DX9Y8aJqePWKf65N7L2Jvf/s719/mp-smm-Screenshot%202023-06-09%20100555.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="357" data-original-width="719" height="209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSDE31-pq59bgMoHqiKN4mbZcl14XlJFu8Xye5Te7sjvpt6_mSA4meJii_EnSUWzQb5SYue8UAffYKNrzfbeiwYpGg3ytTifxX7etxwpTRL6OoaZ48gbq2aeQABA1RbLM4-8VfO1NaNeR0GAsfptUWXVX9DMI3cfWOQ9DX9Y8aJqePWKf65N7L2Jvf/w421-h209/mp-smm-Screenshot%202023-06-09%20100555.png" width="421" /></a></div><p>that lives on today with things like <a href="https://uefi.org/specs/PI/1.8/V4_MM_Protocols.html#mm-mp-protocol">https://uefi.org/specs/PI/1.8/V4_MM_Protocols.html#mm-mp-protocol</a>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLgREvK7V1Lf8Fd9sKgTb1kdCxnkOMWdnOUpWwo4HXDDmwIUaxgOHvGCxc2hKoJ-suAPKTB4wifBpRmLZUc71PNlkZB-DABinWJLpjTKTZMGzwNQ6OoJdlAq3wrvqLYi2L-bEkqG9_v6rt4ROtHIpeZZ6rN3tOnpEU6fgcY4dIx8NNGSjNu1jalqne/s931/mm-mp-Screenshot%202023-06-09%20164948.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="730" data-original-width="931" height="319" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLgREvK7V1Lf8Fd9sKgTb1kdCxnkOMWdnOUpWwo4HXDDmwIUaxgOHvGCxc2hKoJ-suAPKTB4wifBpRmLZUc71PNlkZB-DABinWJLpjTKTZMGzwNQ6OoJdlAq3wrvqLYi2L-bEkqG9_v6rt4ROtHIpeZZ6rN3tOnpEU6fgcY4dIx8NNGSjNu1jalqne/w407-h319/mm-mp-Screenshot%202023-06-09%20164948.png" width="407" /></a></div><br /><p><br /></p><p>And Sham also dropped one of my favorite farewell messages, viz.,</p><p><!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="376">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Hashtag"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Unresolved Mention"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Smart Link"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
</style>
<![endif]-->
</p><p class="MsoNormal"><span face=""Arial",sans-serif" style="color: #538135;"><span style="mso-tab-count: 1;"> </span>As many of you have already heard -
after 32+ years at Intel, I have decided to retire and start the next phase of
my life’s exciting journey. I had prepared a very long farewell message for all
of you, filled with my sage wisdom and list of accomplishments etc. etc. but
then, I looked at the address field and it struck me that I still really like
most of you on the list – so here is a short version.</span></p>
<p class="MsoNormal"><span face=""Arial",sans-serif" style="color: #538135;"> </span></p>
<p class="MsoNormal"><span face=""Arial",sans-serif" style="color: #538135;"><span style="mso-tab-count: 1;"> </span>For past three decades, I watched
technologies change. An amazing Technological Symphony was being played at
Intel and I was fortunate enough to be hired into the orchestra as a bell
ringer. I hope my cow bell went “ting” at the right time to make the symphony
even more brilliant and melodious to the world, and that it helped to harmonize
and amplify the brilliant voices around me. Now, a time has come for me to pass
on the bell to steadier and younger hands that would ring the bell even more
vigorously and timely than I could. As for me, I would gracefully join the
audience and keep nodding as you play along taking this complex orchestra to
dizzying heights.<span style="mso-spacerun: yes;"> </span></span></p>
<p></p><p><br /></p><p><br /></p><p><br /></p>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-7482223470587413212023-05-18T21:11:00.003-07:002023-09-15T06:54:51.667-07:00Which software gets the 'least respect?'<p>During one of this week's sunny afternoons it was good to see the two Mike's at the Intel Ridgepointe office RPT1-3. Sightings of other humans on cubicle-land is rare in this post-COVID WFH generation. Our gathering in the corner reminded us of a ritual we started in 2000, namely getting coffee in the corner on the 4th floor of the DuPont Intel site DP2-4. The decoder ring is 'site | building #-floor #'. </p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDWpr6ZtCm3XAZ44RExPuo4q_y7QxvkYP1vYe15xXnvP3Da6frCcTiZtNX4k5C95--Ug37-73C8gv4E8kK6QDUHNPAj2T_KzhlUuLRQTZxRxbenW9zkFRkVZC5Q0Jxk9lylffkocvcsbTrtohpl7uVTIlsMekScUjaBhej1kKc5o1tlLRAHMwIieLb/s4032/coffee-corner-IMG_7791.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="322" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDWpr6ZtCm3XAZ44RExPuo4q_y7QxvkYP1vYe15xXnvP3Da6frCcTiZtNX4k5C95--Ug37-73C8gv4E8kK6QDUHNPAj2T_KzhlUuLRQTZxRxbenW9zkFRkVZC5Q0Jxk9lylffkocvcsbTrtohpl7uVTIlsMekScUjaBhej1kKc5o1tlLRAHMwIieLb/w429-h322/coffee-corner-IMG_7791.jpg" width="429" /></a></div><br /><p>We cannot really reprise the event at DuPont given recent history of the site mentioned in <a href="http://vzimmer.blogspot.com/2018/07/the-march-of-time.html">http://vzimmer.blogspot.com/2018/07/the-march-of-time.html</a>. </p><p>For the above picture, I'm on the left, Mike Kinney is in the middle, and Mike Rothman in on the right.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaZWunlBm_2IRdvrDlnLbtrq7BSyusepSZdCu3YYRG1mxgKULy3ob0Vv0FprLhcAng0UDvc2yZYnQBgGWy_vSPILgWlTcbWQ0LVR5yMI28tawQMXjG6wQUtk81ePsaeNvC1sig5s6fjXc2NPx4R_vBOmZu8_hd7NjYt0rZ63XdbIEkQ4AaNC6CeIfZ/s1975/idf2003-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1483" data-original-width="1975" height="341" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaZWunlBm_2IRdvrDlnLbtrq7BSyusepSZdCu3YYRG1mxgKULy3ob0Vv0FprLhcAng0UDvc2yZYnQBgGWy_vSPILgWlTcbWQ0LVR5yMI28tawQMXjG6wQUtk81ePsaeNvC1sig5s6fjXc2NPx4R_vBOmZu8_hd7NjYt0rZ63XdbIEkQ4AaNC6CeIfZ/w455-h341/idf2003-Capture.JPG" width="455" /></a></div><br /><p><br /></p><p>Kinney way back machine of IDF 2003</p><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0LiUARygDFQHOThijY3wwx59JRRVwrTYWW7NrhuaQuaVBg_0SGdWmRHEk_C-BfqVRMLhcxxUVSBX-TzHiqv7qoWRzejnBcCgGRVqkXgICUdiiKbb3Rxm6UoLMoBsc7bqDDDaHOBtNT-Ab4Blv-pfNBFKuj8Unzhz9RU7bbgOpv2YF3l4AHrz6LThA/s863/bb1-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="863" data-original-width="738" height="438" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0LiUARygDFQHOThijY3wwx59JRRVwrTYWW7NrhuaQuaVBg_0SGdWmRHEk_C-BfqVRMLhcxxUVSBX-TzHiqv7qoWRzejnBcCgGRVqkXgICUdiiKbb3Rxm6UoLMoBsc7bqDDDaHOBtNT-Ab4Blv-pfNBFKuj8Unzhz9RU7bbgOpv2YF3l4AHrz6LThA/w375-h438/bb1-Capture.JPG" width="375" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><p><br /></p><p>Rothman way back machine of BB 2006.</p><p>Back in the early 2000's when we had a coffee corner in DuPont, Mark Doran was a fixture, too. Sadly Mark's commute to the new office is pretty challenging given the eastside of Seattle traffic, so we grafted him into the above image to reproduce the quartet as a virtual attendee.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEINopQwiQ_uqM_uAEZLWlvAEkS21Ip9UzCC9PTrP1Z_LcYilVoEuy40afnwBwA5dsenl3kvgeKBaJip8IHxoXMdQ-je1I6c1X1a9D56Km4NRZFH162cGQFdgeA4Bmp6qsAigrDOL8SCn_tAhomnc7cuvNbS3_AoWUXDOqh0ao_tBTySJayB4dTZun/s560/cofee-plus-mdoran-image.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="403" data-original-width="560" height="290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEINopQwiQ_uqM_uAEZLWlvAEkS21Ip9UzCC9PTrP1Z_LcYilVoEuy40afnwBwA5dsenl3kvgeKBaJip8IHxoXMdQ-je1I6c1X1a9D56Km4NRZFH162cGQFdgeA4Bmp6qsAigrDOL8SCn_tAhomnc7cuvNbS3_AoWUXDOqh0ao_tBTySJayB4dTZun/w404-h290/cofee-plus-mdoran-image.png" width="404" /></a></div><br /><p>Here's a way back for Mark</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEVd3roSP-vSpacqXrT4xG9O2KgsUv7CWkUWbnivgPdVxw7QvBB-Ay8C0O1h_A71FHMLdrO0ETJjWsOHRphnFBrX1rAjvQS3JkQYhRlasnufJeeK5Wgf63vma5YqSFEoNbVeMkBpE0XHOhhZD20TOfGEX-IR_OCfSREx71hnjYaDkZrN1s0y9O8KCS/s1743/mdoran-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1315" data-original-width="1743" height="337" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEVd3roSP-vSpacqXrT4xG9O2KgsUv7CWkUWbnivgPdVxw7QvBB-Ay8C0O1h_A71FHMLdrO0ETJjWsOHRphnFBrX1rAjvQS3JkQYhRlasnufJeeK5Wgf63vma5YqSFEoNbVeMkBpE0XHOhhZD20TOfGEX-IR_OCfSREx71hnjYaDkZrN1s0y9O8KCS/w447-h337/mdoran-Capture.JPG" width="447" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz_1umUwg6CPzffKDBUF0lGQ6PSlHp8RKU7eQ9_4CIec6HYDyj0LTClXUhGXjkyyzPMqOooqVgMrmw17ZKjzKziKFgnWItG17D_P5wI70dQBF4eJ-aB4i4sjNmm3xxeD9LAQ-Lttzp1o-jBZorjTPco2ygVacrgi9v12HzmBaxbW-PJzIQZVH2sMOi/s1623/itj-bb-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="738" data-original-width="1623" height="187" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz_1umUwg6CPzffKDBUF0lGQ6PSlHp8RKU7eQ9_4CIec6HYDyj0LTClXUhGXjkyyzPMqOooqVgMrmw17ZKjzKziKFgnWItG17D_P5wI70dQBF4eJ-aB4i4sjNmm3xxeD9LAQ-Lttzp1o-jBZorjTPco2ygVacrgi9v12HzmBaxbW-PJzIQZVH2sMOi/w410-h187/itj-bb-Capture.JPG" width="410" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><a href="https://redirect.cs.umbc.edu/portal/help/architecture/idfefi.pdf">https://redirect.cs.umbc.edu/portal/help/architecture/idfefi.pdf</a><br /><p><a href="https://masters.donntu.ru/2020/fknt/yakubov/library/article9.pdf">https://masters.donntu.ru/2020/fknt/yakubov/library/article9.pdf</a> </p><p>It doesn't look like we have many prezos or papers w/ all 4 of our names, but there are a few items like</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA--HM_OUIWjGe2JNyYBo-OaVH-Lw781uUmlifMv2F7Axyne5qnLpm8hYAGzdBVqeNRyiqD4MtVUpCtmShdf9L62_zqB0Tl9zZD8LW0uJBRFIJY5fXespxcoXnvjWIA117BldW9DTlQkOZL4dGH_ntcER05DQ_NUvYW5w8h2t9vBGqLvV693hNAyGx/s1516/joint-patent-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="943" data-original-width="1516" height="261" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA--HM_OUIWjGe2JNyYBo-OaVH-Lw781uUmlifMv2F7Axyne5qnLpm8hYAGzdBVqeNRyiqD4MtVUpCtmShdf9L62_zqB0Tl9zZD8LW0uJBRFIJY5fXespxcoXnvjWIA117BldW9DTlQkOZL4dGH_ntcER05DQ_NUvYW5w8h2t9vBGqLvV693hNAyGx/w420-h261/joint-patent-Capture.JPG" width="420" /></a></div><br /><p><br /></p><p>These couple of drop-e's reminded me of my favorite paper w/ the drop-e that'll be 20-years old next January.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZxGciFM8ad0zBCxCefUYWZChOVagma82t8zT-iOHhJvMppK-uKARLfJP1XPVC5T9W1hHSuP4mieM2RjagiYOQmyFcxJFS7-xD3DoqfLcikrNIOyGKSm2lfGwimHFm0tlfhNFaGsixeExPQo3E9jWhsPnYmEfxxvf4SDuYKhhqRKWszAZZB9evkW6U/s1447/tech-at-intel-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1447" data-original-width="1042" height="519" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZxGciFM8ad0zBCxCefUYWZChOVagma82t8zT-iOHhJvMppK-uKARLfJP1XPVC5T9W1hHSuP4mieM2RjagiYOQmyFcxJFS7-xD3DoqfLcikrNIOyGKSm2lfGwimHFm0tlfhNFaGsixeExPQo3E9jWhsPnYmEfxxvf4SDuYKhhqRKWszAZZB9evkW6U/w373-h519/tech-at-intel-Capture.JPG" width="373" /></a></div><br /><p>So speaking of firmware and history, rewind to 2012 when I presented at ToorCamp on UEFI, as mentioned in <a href="http://vzimmer.blogspot.com/2012/08/one-conference-down-one-to-go.html">http://vzimmer.blogspot.com/2012/08/one-conference-down-one-to-go.html</a>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYA_5yhccpof1vUtTKu5iOqMN08_nGBVD7qIS_I3RY94S2Pz9WE_a56c6R7hQKoonLPtH2o6OJAIolzEhk822LGtRIBqu37Hv6UWgVikOKYNgKPT5e4s5BlQWrM4T1v6QoD6UEH6oBmoLwNuN5GXrmf1bz1kazfU132vcWF15gGDts8sEFdpjEJoW0/s726/Toocamp-2012-cover-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="644" data-original-width="726" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYA_5yhccpof1vUtTKu5iOqMN08_nGBVD7qIS_I3RY94S2Pz9WE_a56c6R7hQKoonLPtH2o6OJAIolzEhk822LGtRIBqu37Hv6UWgVikOKYNgKPT5e4s5BlQWrM4T1v6QoD6UEH6oBmoLwNuN5GXrmf1bz1kazfU132vcWF15gGDts8sEFdpjEJoW0/s320/Toocamp-2012-cover-Capture.JPG" width="320" /></a></div><p></p><p>On one of the earlier slides in the deck I joked about how firmware gets 'no respect' in the slide below.</p><p><br /></p><p>Why no respect? Well, hardware teams assume firmware is 'software' and the software teams look at the firmware folks as members of the 'hardware' clan. Rodney Dangerfield provided the ideal quotation <a href="https://www.youtube.com/watch?v=ZCVR_ajL_Eo">https://www.youtube.com/watch?v=ZCVR_ajL_Eo</a> <a href="https://www.amazon.com/I-Dont-Get-No-Respect/dp/0843101938">https://www.amazon.com/I-Dont-Get-No-Respect/dp/0843101938</a> that inspired the slide.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRPTpsU4VibrlGyaHUwY89pp1I0MjaR28Xt2YQ2YHDPbYgZo5PJ1mBcy214WWyPQP3QPdoeVzMaMkGpOOU58HhDlmpTbRUsK1_IYU9yzUScFIaHcI2eSyfOcGk5WSti6JyuV_eIzZEWUn3jhLlonfzfbxaKwffJvJaPIEeSaQ0fqYxdeoMAIfQ8qRM/s689/Toorcamp-2012-Rodney-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="615" data-original-width="689" height="365" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRPTpsU4VibrlGyaHUwY89pp1I0MjaR28Xt2YQ2YHDPbYgZo5PJ1mBcy214WWyPQP3QPdoeVzMaMkGpOOU58HhDlmpTbRUsK1_IYU9yzUScFIaHcI2eSyfOcGk5WSti6JyuV_eIzZEWUn3jhLlonfzfbxaKwffJvJaPIEeSaQ0fqYxdeoMAIfQ8qRM/w409-h365/Toorcamp-2012-Rodney-Capture.JPG" width="409" /></a></div>This is one of my favorite quotes about firmware, along with the original IA64 platform manager in DuPont who provided me <a href="https://link.springer.com/book/10.1007/978-1-4842-0070-4">https://link.springer.com/book/10.1007/978-1-4842-0070-4</a> in the late 1990's.<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ1SN14IpjcnT3yhTC9mm4oBinuc0FcqBcG80DZ4I6pVhBtpSskldbplP4AaLAsgFzBr2b9JNvBLcYqVvpPMI-2NKpMxu4REKUC4Gv5BzJ8ZNDmYbZPwn7_jvmfp8bz4aqZOudFjogMItjCDTDP_TIzi8mKt1i_HDazg8wUAZhSlnXTe2_tyn4cw0F/s1302/embed-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="489" data-original-width="1302" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ1SN14IpjcnT3yhTC9mm4oBinuc0FcqBcG80DZ4I6pVhBtpSskldbplP4AaLAsgFzBr2b9JNvBLcYqVvpPMI-2NKpMxu4REKUC4Gv5BzJ8ZNDmYbZPwn7_jvmfp8bz4aqZOudFjogMItjCDTDP_TIzi8mKt1i_HDazg8wUAZhSlnXTe2_tyn4cw0F/w402-h151/embed-Capture.JPG" width="402" /></a></div><br /><div>Hale & I were definitely in the 'firmware is software' camp in the 2010 prezo associated with the paper <a href="http://masters.donntu.ru/2020/fknt/yakubov/library/article6.pdf">http://masters.donntu.ru/2020/fknt/yakubov/library/article6.pdf</a> "Firmware is software so can suffer well known software ills."</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq5lVr9u5q3xphnx2fyjvpA4C3fk677xxUD72JZiRCW8ph47yL6DO-NVbE-yPP0HASUDi26e0z6Qjru3vnJcBgFNxaGFlULgwFeZNK_tLbEEK4qhMvjvFZFjMGrYRuhX3VDrGE7tfeP3Q96M-O6CGgr5m59X5_ld_pPT3eIUJFWxPgIUggDKphPdNc/s1764/dac-title-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1241" data-original-width="1764" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq5lVr9u5q3xphnx2fyjvpA4C3fk677xxUD72JZiRCW8ph47yL6DO-NVbE-yPP0HASUDi26e0z6Qjru3vnJcBgFNxaGFlULgwFeZNK_tLbEEK4qhMvjvFZFjMGrYRuhX3VDrGE7tfeP3Q96M-O6CGgr5m59X5_ld_pPT3eIUJFWxPgIUggDKphPdNc/w420-h295/dac-title-Capture.JPG" width="420" /></a></div><br /><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBDY2wqi4Co8Hzym53XMxGm0SPAiirKsVw7kSbUrtWvXSecuQmQvFl7DsLOCB5CTfHsfRBedUtFC3mlBLg1nwcPV6v8cRrPbb-znFUgiTZX_NwFdjRoO9X9gP2tQrUx8l26L21bTDX1FG4Qke7NNEMLgV_DreNQbdnnIGSaT5Kkj7i3DVBTLbC72D5/s1812/dac-prezo-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1353" data-original-width="1812" height="329" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBDY2wqi4Co8Hzym53XMxGm0SPAiirKsVw7kSbUrtWvXSecuQmQvFl7DsLOCB5CTfHsfRBedUtFC3mlBLg1nwcPV6v8cRrPbb-znFUgiTZX_NwFdjRoO9X9gP2tQrUx8l26L21bTDX1FG4Qke7NNEMLgV_DreNQbdnnIGSaT5Kkj7i3DVBTLbC72D5/w441-h329/dac-prezo-Capture.JPG" width="441" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGP3UdQ2ElVU_1s1LQ5WNawPVYjbUnbxH0aN2ZST9fhgh00Rq5v-HwcwHzDfT8-WPWISz7ozeRCgPxZhCl8DvohVM4feydj7YWvBv66ySATazUfTEWoCGdH7GAVu-JYO1nXwPVVCQQCABL_b2vzbBoTTg0B0IiIe12_0lyvb6CJ8dVRrShiJc-my4l/s1851/dac-paper-Capture.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="932" data-original-width="1851" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGP3UdQ2ElVU_1s1LQ5WNawPVYjbUnbxH0aN2ZST9fhgh00Rq5v-HwcwHzDfT8-WPWISz7ozeRCgPxZhCl8DvohVM4feydj7YWvBv66ySATazUfTEWoCGdH7GAVu-JYO1nXwPVVCQQCABL_b2vzbBoTTg0B0IiIe12_0lyvb6CJ8dVRrShiJc-my4l/w467-h235/dac-paper-Capture.JPG" width="467" /></a></div><br /><div><br /><p>So why am I talking about Rodney Dangerfield in 2023? I suspect the Youtube and TikTok generation won't recognize the allusion. The reason comes from a recent event. Namely, when I visited <a href="https://www.cs.washington.edu/events/colloquia/details?id=3305">https://www.cs.washington.edu/events/colloquia/details?id=3305</a> <a href="https://www.youtube.com/watch?v=uL4H1ct_-dI">https://www.youtube.com/watch?v=uL4H1ct_-dI</a> talk this week</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-MMCHb6CbZj4MOenLXbjIpMID0m7_XjR2sz2nZxj3ut2YNkIMOvxHOnxZ4CmnLQsLXadtpn9E4WbnTO2zhcPzMwFXvsc-GcrLVuDPUBcsMHOLSdAQprZJXRMi3WJr6xpJ8DfBDDQHPNyG42cfzCtfXySCnwGrXO_ZaYlMkAjhHT2o2G4sDl1kzioV/s4032/uw-pat.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-MMCHb6CbZj4MOenLXbjIpMID0m7_XjR2sz2nZxj3ut2YNkIMOvxHOnxZ4CmnLQsLXadtpn9E4WbnTO2zhcPzMwFXvsc-GcrLVuDPUBcsMHOLSdAQprZJXRMi3WJr6xpJ8DfBDDQHPNyG42cfzCtfXySCnwGrXO_ZaYlMkAjhHT2o2G4sDl1kzioV/s320/uw-pat.jpg" width="320" /></a></div><br />I couldn't help but smile at the oration during the 2:00 minute mark. <div><br /></div><div>Pat Hanrahan mentioned that when he won his Turing Award <a href="https://amturing.acm.org/award_winners/hanrahan_4652251.cfm">https://amturing.acm.org/award_winners/hanrahan_4652251.cfm</a>, his congratulatory message from UW Ed Lazowska (the attendee sitting immediately in front of Pat H) read something like "Congratulations on your award for computer graphics which is the 'Rodney Dangerfield' of computer science." If Pat Hanrahan's work is the "Rodney Dangerfield" of comp sci, then I guess BIOS/firmware and my Rodney allusion from '12 is misplaced. Maybe firmware isn't even part of the comp sci software corpus :) ?<div><br /></div><div>Good stuff.</div><div><br /></div><div>What I did like about Pat H's talk included the fact that he focused on a problem no one else was looking at. It reminded me of the quote from Yan LeCun that the biggest impact in AI will not be in one of the explored domains but instead in an unvisited path. That's why I like reading old math or technology books and papers. They may not demonstrate the cutting-edge change upon the frontier of knowledge, but perhaps there are some alternate views or approaches buried that can be applied in a new context?<br /><br />Some folks call predicting things 'seeing around corners.' The challenge is when you see around the corner people push back that the effort isn't 'relevant,' but if you wait until the enterprise rounds the corner you are invariably 'late' because driving change in low-level infrastructure 'takes time.' <br /></div><div><br /></div><div><br /></div><div><br /></div></div></div>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-50273881545397438442023-04-08T18:34:00.003-07:002023-05-15T16:08:40.108-07:00Ghosts and podcasts<p>When the topic of banned function like memcpy <a href="https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/memcpy-wmemcpy?view=msvc-170">https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/memcpy-wmemcpy?view=msvc-170</a> come up I have to smile since sometimes 'compatibility' (aka 'the software you choose to run) argues that this is still inherent service for software. This includes 'copymem', the UEFI variant of memcpy, as a fundamental system service in UEFI <a href="https://uefi.org/specs/UEFI/2.10/07_Services_Boot_Services.html#efi-boot-services-copymem">https://uefi.org/specs/UEFI/2.10/07_Services_Boot_Services.html#efi-boot-services-copymem</a> and encouraged in <a href="https://tianocore-docs.github.io/edk2-UefiDriverWritersGuide/draft/4_general_driver_design_guidelines/44_optimization_techniques/443_copymem_and_setmem_operations.html#443-copymem-and-setmem-operations">https://tianocore-docs.github.io/edk2-UefiDriverWritersGuide/draft/4_general_driver_design_guidelines/44_optimization_techniques/443_copymem_and_setmem_operations.html#443-copymem-and-setmem-operations</a>. </p><p>So if existing software still uses these services, what to do? One option is to provide isolation to contain the damage, viz, <a href="https://uefi.org/sites/default/files/resources/Enabling%20RUST%20for%20UEFI%20Firmware_8.19.2020.pdf">https://uefi.org/sites/default/files/resources/Enabling%20RUST%20for%20UEFI%20Firmware_8.19.2020.pdf</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4nOUyW7X5FXpfDcYm-fxduJJh1qSqpoN9hy2stN8c1OSUEFk5HW0xi-uR6-PE8M65MoNYXKxVHGTo6V9YQ8FXctAaZDwRDDkpUbNj_cg8EORKSzhUk0l6E6iGLmR8H7cZJf6Sakh00PFtFZcjmOXBf7v5O9AOpPWLcsQrB9iWSv_ocuwi6tN6WN6f/s1703/Capture-rust-prezo-isolation.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="322" data-original-width="1703" height="89" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4nOUyW7X5FXpfDcYm-fxduJJh1qSqpoN9hy2stN8c1OSUEFk5HW0xi-uR6-PE8M65MoNYXKxVHGTo6V9YQ8FXctAaZDwRDDkpUbNj_cg8EORKSzhUk0l6E6iGLmR8H7cZJf6Sakh00PFtFZcjmOXBf7v5O9AOpPWLcsQrB9iWSv_ocuwi6tN6WN6f/w467-h89/Capture-rust-prezo-isolation.JPG" width="467" /></a></div><br /><p>with EBC or ring's <a href="https://cdrdv2.intel.com/v1/dl/getContent/671411">https://cdrdv2.intel.com/v1/dl/getContent/671411</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin_W8GI4tfYtHhHTdYRvi7CoS13-IeJ9stPqgmairuEuyoRqvtEzczdPOpAvRPGeU3BGWHVZFUvHZAnE-ospMkPrsXRy72qJNTIQOQuFMaNIa3cQoPDYmVrGFk7_kaLdpyi6w7lmI3YlcqUVR1vSHFY_r-spEFNikX--lz5XRgCgMGLnNz1RdHlUha/s1548/Capture-stm-ebc-isolation.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="620" data-original-width="1548" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin_W8GI4tfYtHhHTdYRvi7CoS13-IeJ9stPqgmairuEuyoRqvtEzczdPOpAvRPGeU3BGWHVZFUvHZAnE-ospMkPrsXRy72qJNTIQOQuFMaNIa3cQoPDYmVrGFk7_kaLdpyi6w7lmI3YlcqUVR1vSHFY_r-spEFNikX--lz5XRgCgMGLnNz1RdHlUha/w400-h160/Capture-stm-ebc-isolation.JPG" width="400" /></a></div><br /><p>or virtualization <a href="http://masters.donntu.ru/2020/fknt/yakubov/library/article5.pdf">http://masters.donntu.ru/2020/fknt/yakubov/library/article5.pdf</a> <a href="https://dblp.uni-trier.de/rec/conf/csreaSAM/Zimmer08.html">https://dblp.uni-trier.de/rec/conf/csreaSAM/Zimmer08.html</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyhz272MpwbXKhr_Rgm8Ia9HoAmYWFU2g8TmVBu7M0_C1WU8IBONZ30GFnzvKbAlv_i_sN6LcT6kUqXknVgG94rF6KMPDNCi9CcHI3b3bODKVJ5umtSmBtVNPCWZXM3MiHvH8CTnyPwwVpUfXmfNonsHdq5b_u5eRLCYHvJsM2j39l5XHfqhIeBuBb/s869/Capture-sam-vt-isolation.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="759" data-original-width="869" height="279" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyhz272MpwbXKhr_Rgm8Ia9HoAmYWFU2g8TmVBu7M0_C1WU8IBONZ30GFnzvKbAlv_i_sN6LcT6kUqXknVgG94rF6KMPDNCi9CcHI3b3bODKVJ5umtSmBtVNPCWZXM3MiHvH8CTnyPwwVpUfXmfNonsHdq5b_u5eRLCYHvJsM2j39l5XHfqhIeBuBb/s320/Capture-sam-vt-isolation.JPG" width="320" /></a></div><br /><p><br /></p><p>Moving forward, though, leveraging modern languages and types to enforce safety <a href="https://stanford-cs242.github.io/f18/lectures/07-1-sergio.html">https://stanford-cs242.github.io/f18/lectures/07-1-sergio.html</a> still feels like the right trend. Speaking of Rust in firmware <a class="XqQF9c" href="https://cfp.osfc.io/media/osfc2020/submissions/SLFJTN/resources/OSFC2020_Rust_EFI_Yao_Zimmer_NDK4Dme.pdf" style="box-sizing: border-box; font-family: Lato, sans-serif; font-size: 14.6667px; font-variant-ligatures: none; outline: 0px; pointer-events: all; text-decoration-line: none;" target="_blank"><span class="C9DxTc aw5Odc" style="box-sizing: border-box; color: black; text-decoration-line: underline;">https://cfp.osfc.io/media/osfc2020/submissions/SLFJTN/resources/OSFC2020_Rust_EFI_Yao_Zimmer_NDK4Dme.pdf</span></a>, the GSOC produced first-class UEFI support in Rust in the form of the UEFI crate <a href="https://crates.io/crates/uefi">https://crates.io/crates/uefi</a> for applications. As noted in the above prezo, the retrofit is touch for a large codebase, but a smaller unit of execution like a UEFI application, namely OS loaders, makes sense, especially in light of incidents like <a href="https://vulcan.io/blog/boothole-vulnerability-cve-2020-10713/">https://vulcan.io/blog/boothole-vulnerability-cve-2020-10713/</a>.</p><p>And it looks like beyond all-Rust efforts like <a href="https://github.com/oreboot/oreboot">https://github.com/oreboot/oreboot</a>, coreboot is now pursuing adding Rust support <a href="https://mail.coreboot.org/hyperkitty/list/coreboot@coreboot.org/thread/3QRO6A5BCFWCGHE7ZUCFGR7VL7AJ2XKQ/">https://mail.coreboot.org/hyperkitty/list/coreboot@coreboot.org/thread/3QRO6A5BCFWCGHE7ZUCFGR7VL7AJ2XKQ/</a>. The mention of payloads first makes sense since this is a stand-alone entity and doesn't entail the challenges of mixing non-borrow-checker aware C code with Rust. </p><p>This Rust-as-a-payload aligns with <a href="https://universalscalablefirmware.github.io/documentation/">https://universalscalablefirmware.github.io/documentation/</a> POL thinking, too</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxaiz4whqBcVf5KE6HBnZYz9_ARAHiQAb1n1Vkgue6ZG2PieBPQB661gamFfaH5t_xwcr7nQ-9lxLg5_fO5YDvkGByH6xuLvITWg-BgJvnyveZ7OSsnRuXO8eHfFwis2bBVgOFaI1CukWMLcynO4OoW6KBTpEQ8goDVYwlpNwG1UGA-_EAr-3H8rxR/s809/rust-payload.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="339" data-original-width="809" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxaiz4whqBcVf5KE6HBnZYz9_ARAHiQAb1n1Vkgue6ZG2PieBPQB661gamFfaH5t_xwcr7nQ-9lxLg5_fO5YDvkGByH6xuLvITWg-BgJvnyveZ7OSsnRuXO8eHfFwis2bBVgOFaI1CukWMLcynO4OoW6KBTpEQ8goDVYwlpNwG1UGA-_EAr-3H8rxR/w394-h165/rust-payload.png" width="394" /></a></div><br /><p><br /></p><p>I cannot recall if I mentioned in the past how even chatting w/ the Google Chrome folks from Kirkland WA and VMWare Research guy from their Bellevue office during UW lunch event how they eschew the mixing and instead are targeting Rust for more stand-alone execution regimes like plug-ins for the browser and a service for the virtualization environment, respectively. </p><p>As noted in the Stanford lecture, types can help but there has been a complaint that subsets of type-safe languages like Ada Spark are the true gold standard. That's where work on 'Ghost types' is so interesting with the Rust community. I first heard about this from Parno and followed-up on some of this work in <a href="https://arxiv.org/abs/2303.05491" style="text-decoration-line: none;"><span style="-webkit-text-decoration-skip: none; color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre;">https://arxiv.org/abs/2303.05491</span></a> <a href="https://arxiv.org/pdf/2303.05491.pdf" style="text-decoration-line: none;"><span style="-webkit-text-decoration-skip: none; color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre;">https://arxiv.org/pdf/2303.05491.pdf</span></a><span style="color: black; font-family: Arial; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre;"> </span><a href="https://github.com/verus-lang/verus" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://github.com/verus-lang/verus</span></a><span style="font-family: Arial; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> and discussions with the community in </span><a href="https://docs.rs/ghost/latest/ghost/" style="text-decoration-line: none;"><span style="-webkit-text-decoration-skip: none; color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre;">https://docs.rs/ghost/latest/ghost/</span></a><span style="color: #1155cc;"><span style="white-space: pre;"> </span></span><a href="https://github.com/rust-lang-nursery/wg-verification/issues/14" style="font-family: Arial; font-size: 14.6667px; white-space: pre-wrap;">https://github.com/rust-lang-nursery/wg-verification/issues/14</a>. Ghost types will allow for no-harm source augmentation to have more verification-ready language conditions, as opposed to going to some intermediate or non-standard verification-friendly language like Dafny or F*. The important part of adding software assurance is to avoid taxing the developer as much as possible. </p><p><span style="font-family: Arial; font-size: 14.6667px; white-space: pre-wrap;"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg51xM-S3YNB__Y3CMEvmuZXQnzRVuJ9Y6pNUWf0xo0eovZxXWhlhR1wUuwVQ2r6r1sOiYszsLq2LLVG6jElIi0ba4s8jniniUYziZPMTSS8cvNF9PEEm00jcG1nsPGktX-w8UKBLTfwuAd4RFtuZW68S-qd1QCpZkKPiGAelqhsWkQ7dSVim4TrxsC/s578/Easy_button.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="548" data-original-width="578" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg51xM-S3YNB__Y3CMEvmuZXQnzRVuJ9Y6pNUWf0xo0eovZxXWhlhR1wUuwVQ2r6r1sOiYszsLq2LLVG6jElIi0ba4s8jniniUYziZPMTSS8cvNF9PEEm00jcG1nsPGktX-w8UKBLTfwuAd4RFtuZW68S-qd1QCpZkKPiGAelqhsWkQ7dSVim4TrxsC/s320/Easy_button.jpg" width="320" /></a></div><br /> <p></p><p>As always, keep watching the Rust space for firmware.</p><p>Beyond languages, I recently received</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl22y8UtqFSekBgGegMaMznMH6-fPeCkQ7cwZ37MbqqjtwYbQCmdB2yAfSLutHNDBX1trSAAU2HU5Z_AHv0-JgnfJ32rzKwNMzOX6nyvUYZWKBOjgpVQPlUMRhpjKchR2vdl88VOpCjF9vmtDMXKM3JBo7noiruItTnXGvhGv0iXsct5UCsJVlP9G2/s4032/patent-shirt.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="459" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl22y8UtqFSekBgGegMaMznMH6-fPeCkQ7cwZ37MbqqjtwYbQCmdB2yAfSLutHNDBX1trSAAU2HU5Z_AHv0-JgnfJ32rzKwNMzOX6nyvUYZWKBOjgpVQPlUMRhpjKchR2vdl88VOpCjF9vmtDMXKM3JBo7noiruItTnXGvhGv0iXsct5UCsJVlP9G2/w344-h459/patent-shirt.jpg" width="344" /></a></div><br />shirt in the mail. <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd8eRXNjkTC4a25QtiyDIqHDeTLKXwdPgm2S9IEgG9YqVltQw72zSBqtHV7lsy9Ge-v80iFi9K6_LHScqYB7L4bclhrhlWBZcGkDZvH88FuiBkcFnToH6IUlBGjSAgJ1sVslJ5L0liGgwjjdfoiNKYFdf7VLmeuvRzqHLZa6z5pkmTvAfZ_ndweEa5/s4032/shirt-package.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd8eRXNjkTC4a25QtiyDIqHDeTLKXwdPgm2S9IEgG9YqVltQw72zSBqtHV7lsy9Ge-v80iFi9K6_LHScqYB7L4bclhrhlWBZcGkDZvH88FuiBkcFnToH6IUlBGjSAgJ1sVslJ5L0liGgwjjdfoiNKYFdf7VLmeuvRzqHLZa6z5pkmTvAfZ_ndweEa5/w377-h283/shirt-package.jpg" width="377" /></a></div><br /><div><br /><div>That same day I was listening to the podcast on PTAB <a href="https://www.aurorapatents.com/blog/patent-wars-innovators-revolutionaries-and-the-race-to-reform">https://www.aurorapatents.com/blog/patent-wars-innovators-revolutionaries-and-the-race-to-reform</a> on commute back from the office. My tidy cube is shown below with my friendly panopticon image nearby.<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkxjUtFqOdSfaF5OqXVPQdfGrAqHh8-AK-Hy2_-LkgGLpeoDVO_ueT6pmIMhXg5NX5t3HZCj43FfRE5aO3nf1sP1hduFXKB6lBo42r5IT7fyxn7Rj48inLJOw9S5SRegmRXdT6cGSXNHzXNCmGY6EVj8g8DjUIyDGC0ux4L1-igx2FL30j1eoAkAZZ/s4032/ridgepointe-office-redacted.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkxjUtFqOdSfaF5OqXVPQdfGrAqHh8-AK-Hy2_-LkgGLpeoDVO_ueT6pmIMhXg5NX5t3HZCj43FfRE5aO3nf1sP1hduFXKB6lBo42r5IT7fyxn7Rj48inLJOw9S5SRegmRXdT6cGSXNHzXNCmGY6EVj8g8DjUIyDGC0ux4L1-igx2FL30j1eoAkAZZ/w377-h283/ridgepointe-office-redacted.jpg" width="377" /></a></div><br /><div><br /><p>A few interesting fragments caught my attention, such as hedge funds bringing cases to PTAB. This reminded me of Trammell Hudson and his Two Sigma hedge fund <a href="https://www.twosigma.com/">https://www.twosigma.com/</a> and some of the rationale for research like Thunderstrike <a href="https://trmm.net/Thunderstrike2_details/">https://trmm.net/Thunderstrike2_details/</a> agsint folks like Apple when we chatted in person years back.</p><p>Other discussions about recusal for conflict of interest made me smile. I hearken back in the mid 90's when in my Compaq Computer Corporation new employee orientation down in Houston how I was chided not to transact stocks in 'customer, competitor, supplier,...' of Compaq. At the time this pretty much covered most companies on the stock exchanges. This early career lesson has stuck with me in that for the past 30 years working in tech I have been afraid to buy any shares outside of my employer and outside of my employer's stock program.</p><p>The other interesting podcast I caught was <a href="https://www.lawfareblog.com/lawfare-podcast-rob-joyce-nsa-director-cybersecurity">https://www.lawfareblog.com/lawfare-podcast-rob-joyce-nsa-director-cybersecurity</a>. Hearing the director of the NSA casually opine on large language models and post-quantum cryptography is such an amazing change from my recollection of the NSA growing up. In my early years it was 'no such agency' typified by reading books like <a href="https://www.amazon.com/Puzzle-Palace-National-Intelligence-Organization/dp/0140067485">https://www.amazon.com/Puzzle-Palace-National-Intelligence-Organization/dp/0140067485</a>. Quite the change.</p><p>Well, so much for banned functions, Rust, and podcasts. On to the next weekend to-do's.</p><p><br /></p></div></div></div>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-66073067256869371782023-03-27T22:48:00.003-07:002023-03-27T22:48:38.378-07:00Upgraded view<p>My last cubicle with a windows view was the south Seattle Union Station office mentioned in <a href="http://vzimmer.blogspot.com/2016/02/firmware-configuration-or-is-feature.html">http://vzimmer.blogspot.com/2016/02/firmware-configuration-or-is-feature.html</a>. Today I'm happy to be camped in a 3rd-floor cubicle in the Bellevue Washington Intel Ridgepointe office with the following view snapped earlier today<br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHNsWe4zynX0P2tl_vxfyYqArpyoOcYGFdoWm6xmPOOdJo6exAPmj8tS_31nut8ScVHifjfef-_Hsbb-hr1RSn_yDVhJmSJbZ-4FAdR8OgVuj1cosVR9VSQafF_x6urfOwTDnAbSL0N53qDwv0ERH9GHGSjTlNfyBPfj9x3YBwb-ppLlRfAwObTQ5P/s4032/ridgepointe-windows.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="404" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHNsWe4zynX0P2tl_vxfyYqArpyoOcYGFdoWm6xmPOOdJo6exAPmj8tS_31nut8ScVHifjfef-_Hsbb-hr1RSn_yDVhJmSJbZ-4FAdR8OgVuj1cosVR9VSQafF_x6urfOwTDnAbSL0N53qDwv0ERH9GHGSjTlNfyBPfj9x3YBwb-ppLlRfAwObTQ5P/w303-h404/ridgepointe-windows.jpg" width="303" /></a></div><p>I need to be a bit wary on the sojourn across the street, though, as the <a href="https://www.geekwire.com/2023/suspect-in-alleged-stabbing-of-fellow-microsoft-employee-pleads-not-guilty-to-attempted-murder/">https://www.geekwire.com/2023/suspect-in-alleged-stabbing-of-fellow-microsoft-employee-pleads-not-guilty-to-attempted-murder/</a> event was a block away. <br /></p><p>Luckily if you go the other direction you'll find an oasis of food.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoBlm-Smf-zg_HXqJr1mL_bPsUYyheld-5y7J16go7de-j9iEPkOxZcnpgTUbxsyZK70ZFc4_xV0cYxOBHncTTaC-jVQSad2MjLupyrS4a2DNbudFtiSL6JyL6Qbdz75NNHLPGjlz6_SEEwPdQ2r7idrtQ18AYqj3-lhlp3J2lkH07ImqzGUy-ncFn/s4032/Trader-Joes-Bellevue.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoBlm-Smf-zg_HXqJr1mL_bPsUYyheld-5y7J16go7de-j9iEPkOxZcnpgTUbxsyZK70ZFc4_xV0cYxOBHncTTaC-jVQSad2MjLupyrS4a2DNbudFtiSL6JyL6Qbdz75NNHLPGjlz6_SEEwPdQ2r7idrtQ18AYqj3-lhlp3J2lkH07ImqzGUy-ncFn/w383-h288/Trader-Joes-Bellevue.jpg" width="383" /></a></div><br /><p><br /></p><p>And after hours the neighbors across the floor here are a bit noisy, especially the duck.<br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6WzxjMsbks7TQRv7en_KX13FWQB6LuWQmN3QSrzRd93RoCSw59-bZE9CGY73cc4MUksyLXJw7ONwoI61gfIaMTJnNpaDIL1bSqw7uOkusbbFzfXpm218Fwp-T5mIKYNBpT0SU4TgLEq8E8LLZ-RDXm8IK_tuxMi7eIA6oh5eV25GUpMkUh1JWEfwO/s4032/ridgepointe-animals.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6WzxjMsbks7TQRv7en_KX13FWQB6LuWQmN3QSrzRd93RoCSw59-bZE9CGY73cc4MUksyLXJw7ONwoI61gfIaMTJnNpaDIL1bSqw7uOkusbbFzfXpm218Fwp-T5mIKYNBpT0SU4TgLEq8E8LLZ-RDXm8IK_tuxMi7eIA6oh5eV25GUpMkUh1JWEfwO/w384-h288/ridgepointe-animals.jpg" width="384" /></a></div><p>Speaking of noisy, I noticed that <a href="https://www.scmagazine.com/podcast-episode/bts-6-vincent-zimmer">https://www.scmagazine.com/podcast-episode/bts-6-vincent-zimmer</a> went live today. I recorded this interview from a conference room on the 2nd floor of Ridgepointe. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMV-yiGtgUvRoXzi230uT1Gxh6pBTA3vi_Yvz1Bu_NTyk_JMg_qzmx35xCqxd98YxH1oRsSG7D8dfw6KCdpDRoayw_srfGaTIUlp00Jkn33iE7TibrVpyYACWfApqrA1o0SpZwSg4KdDz9HbJalAFnD_CB5H7qxJc4c1YeMDHp0RehfeUTColrBSIh/s905/Capture-bts.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="514" data-original-width="905" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMV-yiGtgUvRoXzi230uT1Gxh6pBTA3vi_Yvz1Bu_NTyk_JMg_qzmx35xCqxd98YxH1oRsSG7D8dfw6KCdpDRoayw_srfGaTIUlp00Jkn33iE7TibrVpyYACWfApqrA1o0SpZwSg4KdDz9HbJalAFnD_CB5H7qxJc4c1YeMDHp0RehfeUTColrBSIh/w460-h262/Capture-bts.JPG" width="460" /></a></div><br /> <p></p><p>Interesting times.<br /></p><p><br /></p>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-34284084869456705712023-03-26T19:23:00.007-07:002023-03-27T07:11:20.815-07:00Continued march of time<p>This week I hosted another retirement lunch for an Intel colleague Harry (middle on left-hand-size of the picture below) from the Ridgepointe office, namely the cubicle next to the 2017 denizen described in the <a href="http://vzimmer.blogspot.com/2017/10/the-march-of-time.html">http://vzimmer.blogspot.com/2017/10/the-march-of-time.html</a> posting. I caught a picture of a few of the attendees at the nearby buffet, </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeLm8Wt5xJrIiQc9yu1cem6wVu-IiJGfVobtKy_dn6uuwOkil-7jIalDLMZe8klVsuvGj3xT3P0nZ9Rk3HOc7VxyD5wpyDh7g65luA-y7hTZFO1nsFiiNdkNJb5ou25RK-4EBOdObBhEqRFuaxmvuE34XKXoLF5RxQ4_S_nNKeVmKBGEh_dNnKCrP-/s4032/Harry%20Lunch.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="401" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeLm8Wt5xJrIiQc9yu1cem6wVu-IiJGfVobtKy_dn6uuwOkil-7jIalDLMZe8klVsuvGj3xT3P0nZ9Rk3HOc7VxyD5wpyDh7g65luA-y7hTZFO1nsFiiNdkNJb5ou25RK-4EBOdObBhEqRFuaxmvuE34XKXoLF5RxQ4_S_nNKeVmKBGEh_dNnKCrP-/w301-h401/Harry%20Lunch.jpg" width="301" /></a></div><br /><p>luckily for all omitting myself from the photo. A couple of years ago there was talk of manic recruiting, folks reveling in their 'fun-employment' between jobs, quiet quitting, etc. Now the word 'layoff' permeates the air, with added 'quiet firing,' and folks taking the opportunity to retire. For retirement and the retiree Harry, he was on my interview team back in October 1996 and I still recall his vivid description of underwater hockey and his forays therein. Since then our paths have crossed often through BIOS, Itanium, EFI, UEFI, EDKII..... </p><p>I still remember my first job in the early 90's. I was off-site working with a contractor when at the main campus the layoff message was delivered. When I returned to the office the next day folks had ravaged my cubicle, taking my office supplies, chair, etc. assuming I was part of the RIF. Ah, the cycle of tech.</p><p>At the lunch, the fortune cookie I selected seemed appropriate, too, for the eastside tech scene.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAdsOrwjV1tTPLTUnDsTt9992jp2eMY2EG4IqIYv73l1QkDuQdmTcda9Z1TowLs2zYekP2ZcI_3ubw3uxLEmYjLBrAfJzwUyoE85wdIyGFnPvEQDw-hXOGjBaiJaX04Dall4VdADJZaAsTrQFEIHf_o14DeP-6B-1xc8QBdH5DtjqWloSUmXwrKIP2/s4032/grind%20and%20shine.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAdsOrwjV1tTPLTUnDsTt9992jp2eMY2EG4IqIYv73l1QkDuQdmTcda9Z1TowLs2zYekP2ZcI_3ubw3uxLEmYjLBrAfJzwUyoE85wdIyGFnPvEQDw-hXOGjBaiJaX04Dall4VdADJZaAsTrQFEIHf_o14DeP-6B-1xc8QBdH5DtjqWloSUmXwrKIP2/w386-h290/grind%20and%20shine.jpg" width="386" /></a></div><br /><p>Grinding at tech is definitely the mood of the last few decades. Disruptions often make one more thoughtful, though. I am reminded of the quote from Elon Musk that the biggest mistake engineers make is working on the wrong problem, or the image of "Lancelot in Retirement" from Lex Fridman #345. </p><p>Speaking of Leahy and the recent progress in RISC-V I was again reminded of the 2016 coreboot conference <a href="https://www.youtube.com/playlist?list=PLiWdJ1SEk1_AfMNC6nD_BvUVCIsHq6f0u">https://www.youtube.com/playlist?list=PLiWdJ1SEk1_AfMNC6nD_BvUVCIsHq6f0u</a> I mentioned in <a href="http://vzimmer.blogspot.com/2016/11/conferences-forums-and-writings.html">http://vzimmer.blogspot.com/2016/11/conferences-forums-and-writings.html</a>. Lots of the folks who presented have switched companies, landing at places such as Rivos, Meta, Apple, and Google. But I still giggle when I recall Ron M. mentioning that he had Andrew Waterman <a href="https://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-1.html">https://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-1.html</a> speak to the Google executives just to see the latter's expressions when Andrew would drop the F-bomb. Classic tech.</p><p>Speaking of Google in PNW and the future of tech, <a href="https://www.cs.washington.edu/events/colloquia/details?id=3264">https://www.cs.washington.edu/events/colloquia/details?id=3264</a> provided some inspiration on the set of open problems to solve</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZqQWUO_YM7g1yhcVUhipaBikthqsqCrUd2Y6prBSCsCRxX4m1JmPyv9_UcZsEpm6wLxVFMRFirt8DOxXDQ-ciARl8T9OM_RbDBLh04FALw-IhqwHxSss-tO3ZjqCsOQJ6Z06hi5scNJgv5vTbMc6f_73DQrK4ccY7kwhfw-psCHb_Undu-0UpA6Yb/s4032/IMG_5874.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="343" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZqQWUO_YM7g1yhcVUhipaBikthqsqCrUd2Y6prBSCsCRxX4m1JmPyv9_UcZsEpm6wLxVFMRFirt8DOxXDQ-ciARl8T9OM_RbDBLh04FALw-IhqwHxSss-tO3ZjqCsOQJ6Z06hi5scNJgv5vTbMc6f_73DQrK4ccY7kwhfw-psCHb_Undu-0UpA6Yb/w457-h343/IMG_5874.jpg" width="457" /></a></div>and also offered an oppty to drop in on the new UW CSE building<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhymzL_R3l2DzdNel1xgB50FthQK8ax3-WWsn-BzJP-bJPYYhnDsptd2j3xigcVeBS46jCq8GUAckhWmBCLDgdTK-wf3XpbhkMVo4GeFs5b1jub_-8NBuIkXKgBJDWxlTbypUvHLkF0ey8FTKnuM306UW0UVGqPLWJ5h9M9DK_KdrsM7HITukdJeUDK/s4032/IMG_5876.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="325" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhymzL_R3l2DzdNel1xgB50FthQK8ax3-WWsn-BzJP-bJPYYhnDsptd2j3xigcVeBS46jCq8GUAckhWmBCLDgdTK-wf3XpbhkMVo4GeFs5b1jub_-8NBuIkXKgBJDWxlTbypUvHLkF0ey8FTKnuM306UW0UVGqPLWJ5h9M9DK_KdrsM7HITukdJeUDK/w434-h325/IMG_5876.jpg" width="434" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDfDGNy-Luqda_tGMtXWY9sKhNLIBCpHPEP361vP_JhVp6ylNmwCB9yLYz3ZQCBN6QnuxdunFKhkxhLl7LKTUXQdMLJFMWSj0eeBri7S8ue6DcORK4y_UXEQUhX0pnhGft-GboHfuxeCMZWeMnPEBHu5N1W0gMpiw5I_EddP7yEfzdfhzd956CnHWx/s4032/IMG_5875.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="331" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDfDGNy-Luqda_tGMtXWY9sKhNLIBCpHPEP361vP_JhVp6ylNmwCB9yLYz3ZQCBN6QnuxdunFKhkxhLl7LKTUXQdMLJFMWSj0eeBri7S8ue6DcORK4y_UXEQUhX0pnhGft-GboHfuxeCMZWeMnPEBHu5N1W0gMpiw5I_EddP7yEfzdfhzd956CnHWx/w442-h331/IMG_5875.jpg" width="442" /></a></div><br /><p>In the firmware domain there are still interesting problems to solve, including how to better share source code across execution phases. Host firmware is strange, such as PI-based code w/ sec, pei pre mem, pei post mem, dxe pre BdsEntry, dxe post bds (the uefi phase), uefi runtime, smm. And then there are the other platform components like embedded controller (ec), bmc, soc uc's, not to mention other host firmware like slim bootloader, coreboot, u-boot, ....</p><p>And to evolve something you need to ship. It was far-sighted on part of Google to use Fuchsia on a class of Nest devices. I recall a lunch w/ MS engineer years about about the Singularity/Midori OS fail. He claimed the focus was wrong, namely not having a memory safe driver model but instead the lack of focus on the application model. Maybe if it shipped (or provided user-land usages or deployed on MS 1st party devices?</p><p>And around Seattle I enjoyed reading Welsh's article <a href="https://cacm.acm.org/magazines/2023/1/267976-the-end-of-programming/fulltext">https://cacm.acm.org/magazines/2023/1/267976-the-end-of-programming/fulltext</a>. This work reminded me of item I studied during my late 90's UW masters on Simonyi's intentional programming <a href="https://en.wikipedia.org/wiki/Intentional_programming">https://en.wikipedia.org/wiki/Intentional_programming</a>.</p><p>I have tried to move some of my public-facing posting from https://twitter.com/vincentzimmer to <a href="https://mas.to/@vincentzimmer">https://mas.to/@vincentzimmer</a> but I continue to find myself replying on the blue bird. From re-tweeting <a href="https://twitter.com/acmeducation/status/1636806692519256064">https://twitter.com/acmeducation/status/1636806692519256064</a> </p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-d8SkHZHk2IpS25kZTETGGw1aFb9aZHF_K9Fic926O_I9_IWIgqWvB1qHosI9tfnR1fDad_G74BgC1wdCVJaqNDt03OEIKC0ve8-sMqJ7asCRPdBGr9Fc_ckWnNku_MEyyEJqjwwShlxy35TluTN3WUExc7tEfuhl2zgHFRXtThZ5zUiy86ZffF_6/s1535/Capture-acm-book.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1535" data-original-width="1074" height="430" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-d8SkHZHk2IpS25kZTETGGw1aFb9aZHF_K9Fic926O_I9_IWIgqWvB1qHosI9tfnR1fDad_G74BgC1wdCVJaqNDt03OEIKC0ve8-sMqJ7asCRPdBGr9Fc_ckWnNku_MEyyEJqjwwShlxy35TluTN3WUExc7tEfuhl2zgHFRXtThZ5zUiy86ZffF_6/w301-h430/Capture-acm-book.JPG" width="301" /></a></div>to answering questions on UEFI firmware, such as making a distinction between interfaces and implementation <a href="https://twitter.com/vincentzimmer/status/1633880381610164224">https://twitter.com/vincentzimmer/status/1633880381610164224</a><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc2skdlSmwELIy8NgVpZkkKaBYG1XslkY1jAz0Jctlh3tb9O-_yzhklVfVzPu2KBspoHHQiCmqWgRQKAGcaZ7R2SaRLSoEJYTl6JD0C2Ogx21QiXEpHzXbll30fSwcgPu6WDq9K1pjCEMZ4XNvAAhNTLNBVB20iJSbXZtPL5S2EmdRwFuHuQl3URva/s1521/Capture-uefi-spec-versus-implementation.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1521" data-original-width="1012" height="436" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc2skdlSmwELIy8NgVpZkkKaBYG1XslkY1jAz0Jctlh3tb9O-_yzhklVfVzPu2KBspoHHQiCmqWgRQKAGcaZ7R2SaRLSoEJYTl6JD0C2Ogx21QiXEpHzXbll30fSwcgPu6WDq9K1pjCEMZ4XNvAAhNTLNBVB20iJSbXZtPL5S2EmdRwFuHuQl3URva/w290-h436/Capture-uefi-spec-versus-implementation.JPG" width="290" /></a></div><br /><div><br /><div><br /></div><div>along with not being an apologist for either, with critique of the former <a href="https://twitter.com/vincentzimmer/status/1633890390041587712">https://twitter.com/vincentzimmer/status/1633890390041587712</a></div><div><br /></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyvt9Y-_0EK6nPW-L29Bfgdwf9a3wqs4RnlcXEcNKmjYFvJ0UybVvfkPsX7EHKm0sRCPWRMASdPp4RDqossG8ti-CiPetfVX783uSw6qA6haIuTqBd6pvIPVIgHuGklm60auOJkOJLRVYyKjfWjIo66qsr8T1wF2zFD6S3sh6MuRKP9DZd6-jH-Kuw/s1168/Capture-UEFI-spec-limitations.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1168" data-original-width="1028" height="492" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyvt9Y-_0EK6nPW-L29Bfgdwf9a3wqs4RnlcXEcNKmjYFvJ0UybVvfkPsX7EHKm0sRCPWRMASdPp4RDqossG8ti-CiPetfVX783uSw6qA6haIuTqBd6pvIPVIgHuGklm60auOJkOJLRVYyKjfWjIo66qsr8T1wF2zFD6S3sh6MuRKP9DZd6-jH-Kuw/w433-h492/Capture-UEFI-spec-limitations.JPG" width="433" /></a></div><br /><div>And finally I reinforced Matthew Garret on his defense of some of the UEFI security features <a href="https://twitter.com/mjg59/status/1637661444270587906">https://twitter.com/mjg59/status/1637661444270587906</a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCEovtmQGjDaAh21SeKAI4wgyW72goWdBihXYBodTLWRVQHep1hi_jR8I9maqg3McL-LvR_CYv9tvie6QBikPusJr5ymxjRJ-BZy51xfDCw24h4XkPB8gALXhspS86Qqmz3sfVLeQrWK6EfwKZhxos0Xw4Xr3JukHCCITdBONRoavMeGifQY5JPDTa/s1608/Capture-Matt-Garret.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1273" data-original-width="1608" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCEovtmQGjDaAh21SeKAI4wgyW72goWdBihXYBodTLWRVQHep1hi_jR8I9maqg3McL-LvR_CYv9tvie6QBikPusJr5ymxjRJ-BZy51xfDCw24h4XkPB8gALXhspS86Qqmz3sfVLeQrWK6EfwKZhxos0Xw4Xr3JukHCCITdBONRoavMeGifQY5JPDTa/w400-h316/Capture-Matt-Garret.JPG" width="400" /></a></div><br /><div><br /><p>with a shout-out to the corresponding embedded computing article <a href="https://embeddedcomputing.com/technology/security/software-security/understanding-uefi-firmware-update-and-its-vital-role-in-keeping-computing-systems-secure">https://embeddedcomputing.com/technology/security/software-security/understanding-uefi-firmware-update-and-its-vital-role-in-keeping-computing-systems-secure</a>.</p><p>I also dropped into the Dasharo user group and had a chance to talk with Andrew Cooper. He brought up his concern about running UEFI runtime with hardware control-flow enforcement from December 2021 <a href="https://osfw.slack.com/archives/CV510QZ0D/p1639105740058800">https://osfw.slack.com/archives/CV510QZ0D/p1639105740058800</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtkfKB96OI6kTqPsHZfWa41PHzRwQw6tWxqeklRzagLE35ESVuCRPYoyCQP7Ak_KRB7QoNXl7klhJrUfXcHXg_iTp74EO7MxzWvIHfqP5Z1j0BilEqyiJKlI0zJm1vlr3Th8Yh1PFX92VuZUbI9LS9RcOsxXsVULUoovC31LhcSPCUC7TsLx_llD3B/s2218/Capture-cooper-cet.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="653" data-original-width="2218" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtkfKB96OI6kTqPsHZfWa41PHzRwQw6tWxqeklRzagLE35ESVuCRPYoyCQP7Ak_KRB7QoNXl7klhJrUfXcHXg_iTp74EO7MxzWvIHfqP5Z1j0BilEqyiJKlI0zJm1vlr3Th8Yh1PFX92VuZUbI9LS9RcOsxXsVULUoovC31LhcSPCUC7TsLx_llD3B/w427-h125/Capture-cooper-cet.JPG" width="427" /></a></div><br /><p>I let him know that we had implemented this in the UEFI 2.10 specification as part of the UEFI Memory Attributes Table <a href="https://uefi.org/specs/UEFI/2.10/04_EFI_System_Table.html#efi-memory-attributes-table">https://uefi.org/specs/UEFI/2.10/04_EFI_System_Table.html#efi-memory-attributes-table</a>. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg274n2XDwUdgWAvbZ3BtPY9-CBU7Vwm47LgiLfQWwE3fA2zEuDiO2hzv_gv1sz1F3y5_zu4pKmdLsTZ-k69TIoUQb7N2Ud9ELcsnz8d6lMW-uFVwwCLQ4tLitJuc91XbHI3QikM3cgoCzvAx_f4esK6zZxNUvsPU6-eZO6Amt0I9zk9iyJK9OKrPLs/s1728/Capture-uefi210-mat.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1728" data-original-width="1654" height="463" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg274n2XDwUdgWAvbZ3BtPY9-CBU7Vwm47LgiLfQWwE3fA2zEuDiO2hzv_gv1sz1F3y5_zu4pKmdLsTZ-k69TIoUQb7N2Ud9ELcsnz8d6lMW-uFVwwCLQ4tLitJuc91XbHI3QikM3cgoCzvAx_f4esK6zZxNUvsPU6-eZO6Amt0I9zk9iyJK9OKrPLs/w443-h463/Capture-uefi210-mat.JPG" width="443" /></a></div><p>The problem statement is described in <a href="https://bugzilla.tianocore.org/show_bug.cgi?id=3726">https://bugzilla.tianocore.org/show_bug.cgi?id=3726</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-YVgF_FcEbkRifuI-8RTq_1vLhLWa27Ezlu4peEzzWBC3E21QTxz__1Dw9T407hj8XbcnZdidRBjcujga3gKsYGszYWK8t86Hrl3IkY5pdOtRumyHJQRQ6Bgd2QqO1mMeLftqb7ZAaAli1GrC2YyZ3uEWTYJJCAUmcMlc5RqdkNbSgF-uufLVKYSU/s1650/Capture-bz-cet.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1026" data-original-width="1650" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-YVgF_FcEbkRifuI-8RTq_1vLhLWa27Ezlu4peEzzWBC3E21QTxz__1Dw9T407hj8XbcnZdidRBjcujga3gKsYGszYWK8t86Hrl3IkY5pdOtRumyHJQRQ6Bgd2QqO1mMeLftqb7ZAaAli1GrC2YyZ3uEWTYJJCAUmcMlc5RqdkNbSgF-uufLVKYSU/w392-h244/Capture-bz-cet.JPG" width="392" /></a></div><p class="MsoNormal" style="line-height: 150%;">This is another example of using the community to help drive a security feature. The other notable example includes the exchange with Kees Cook on Twitter <a href="https://twitter.com/kees_cook/status/1290095780984786952">https://twitter.com/kees_cook/status/1290095780984786952</a> that led to <a href="https://bugzilla.tianocore.org/show_bug.cgi?id=3519">https://bugzilla.tianocore.org/show_bug.cgi?id=3519</a> which is now required in <a href="https://techcommunity.microsoft.com/t5/hardware-dev-center/new-uefi-ca-memory-mitigation-requirements-for-signing/ba-p/3608714">https://techcommunity.microsoft.com/t5/hardware-dev-center/new-uefi-ca-memory-mitigation-requirements-for-signing/ba-p/3608714</a>, namely the <span face="SegoeUI, Lato, "Helvetica Neue", Helvetica, Arial, sans-serif" style="background-color: white; color: #333333; font-size: 14px;">EFI_MEMORY_ATTRIBUTE_PROTOCOL.</span></p><p class="MsoNormal" style="line-height: 150%;">Speaking of the UEFI spec, it has been interesting working across different standards bodies, including IETF <a href="https://www.rfc-editor.org/rfc/rfc5970.txt">https://www.rfc-editor.org/rfc/rfc5970.txt</a> to the various UEFI <a href="https://uefi.org/specs/UEFI/2.10/">https://uefi.org/specs/UEFI/2.10/</a> and UEFI Platform Initialization <a href="https://uefi.org/specs/PI/1.8/index.html">https://uefi.org/specs/PI/1.8/index.html</a> specifications. Each has a different way to share IPR, from IETF's public <a href="https://datatracker.ietf.org/ipr/">https://datatracker.ietf.org/ipr/</a> to the UEFI forum's internal sharing. I still recall working w/ the Intel team to draft </p><p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgszTMsHgfrDrZx22S4svMJFkqTawp94sW6xUxDmmuRB4vSck9Zx3f4zrtiE4mBtmAtpLGHcUcv4MqeNgE0p_PXFezMVEhTvtK8PdZFioEQpR64k-8t3DGMlTK50aKn8Zfy1Jt5yoB3rg711N8P0OTTwqtKYn-LCnv14BiF-OCulVBm6RUXbJoBi2wi/s643/pi-smm-decl.JPG" style="margin-left: 1em; margin-right: 1em; text-align: center;"><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><img border="0" data-original-height="643" data-original-width="477" height="482" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgszTMsHgfrDrZx22S4svMJFkqTawp94sW6xUxDmmuRB4vSck9Zx3f4zrtiE4mBtmAtpLGHcUcv4MqeNgE0p_PXFezMVEhTvtK8PdZFioEQpR64k-8t3DGMlTK50aKn8Zfy1Jt5yoB3rg711N8P0OTTwqtKYn-LCnv14BiF-OCulVBm6RUXbJoBi2wi/w357-h482/pi-smm-decl.JPG" width="357" /></a></p><p>for the PI SMM items. This cites the same SMM patent mentioned in <a href="https://www.intel.com/content/dam/develop/public/us/en/documents/a-tour-beyond-bios-launching-standalone-smm-drivers-in-pei-using-the-efi-developer-kit-ii.pdf">https://www.intel.com/content/dam/develop/public/us/en/documents/a-tour-beyond-bios-launching-standalone-smm-drivers-in-pei-using-the-efi-developer-kit-ii.pdf</a>, viz.,</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKjW1EbvMNcHrqIKx5wqyBxTeNbtJKEy2r7V3K3rFNn7bXlbtJcbgQJxVX1mctDQOkB3hHJdAGwm7BlbW-YjAbfRaW3p47Y_4ZUxSJ74TxJfFhbneaFYXOdPRqJCuQPHCuA5Q-GjWbj2QLcaYr1nVLksgtV_8VLdFeaNr1JHoEuYX4jgctdcPYK2aH/s1411/Capture-smm-ip.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="438" data-original-width="1411" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKjW1EbvMNcHrqIKx5wqyBxTeNbtJKEy2r7V3K3rFNn7bXlbtJcbgQJxVX1mctDQOkB3hHJdAGwm7BlbW-YjAbfRaW3p47Y_4ZUxSJ74TxJfFhbneaFYXOdPRqJCuQPHCuA5Q-GjWbj2QLcaYr1nVLksgtV_8VLdFeaNr1JHoEuYX4jgctdcPYK2aH/w404-h125/Capture-smm-ip.JPG" width="404" /></a></div><p>This work was prior to the standards efforts. And the above document also demonstrated the type of behavior taken post-standards, namely a more public, code-first approach to new work. That document describes what has become the 'stand-alone MM' <a href="https://uefi.org/specs/PI/1.8/V4_Overview.html#initializing-mm-standalone-mode-in-sec-phase">https://uefi.org/specs/PI/1.8/V4_Overview.html#initializing-mm-standalone-mode-in-sec-phase</a> work in PI 1.8, for example.</p><p>Finally, I was hoping to reproduce the stacking image from <a href="http://vzimmer.blogspot.com/2021/01/books-and-computers.html">http://vzimmer.blogspot.com/2021/01/books-and-computers.html</a> for the last couple of Apress books, but I didn't have the energy to hunt all of the books down that have been published since 2006. Instead I opted for the 'COVID Triad', namely the 3 books that appeared between October 2020 and October 2022, viz.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP9KR0ducNJssAkcGagvnhH3DjX5-jt7jmFTnMHF3YVGDFKH3yTWlagH3waXQUfGeSKSLPmTChHjbek88UUd_nOTMn0gZ6Dfj89NOMk0oGawMJSMMlBN3romsd4dsYkeVsADHs9aqRHgyPh0ognnbrjwVH5S4bsnLkrUaoRnugFLk9rzQi8t4JiDTv/s4032/covid-triad.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP9KR0ducNJssAkcGagvnhH3DjX5-jt7jmFTnMHF3YVGDFKH3yTWlagH3waXQUfGeSKSLPmTChHjbek88UUd_nOTMn0gZ6Dfj89NOMk0oGawMJSMMlBN3romsd4dsYkeVsADHs9aqRHgyPh0ognnbrjwVH5S4bsnLkrUaoRnugFLk9rzQi8t4JiDTv/w404-h303/covid-triad.jpg" width="404" /></a></div><p><a href="https://link.springer.com/book/10.1007/978-1-4842-7939-7">https://link.springer.com/book/10.1007/978-1-4842-7939-7</a> <a href="https://link.springer.com/book/10.1007/978-1-4842-7974-8">https://link.springer.com/book/10.1007/978-1-4842-7974-8</a> <a href="https://link.springer.com/book/10.1007/978-1-4842-6106-4">https://link.springer.com/book/10.1007/978-1-4842-6106-4</a></p><p>That's about 2000pp that appeared on the market in the span of 2 years. Yikes.</p><p>A final curious note that also relates to this blog series is </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAL_Q9cyxmvZYb5k_cw2JhT3uZJhYb8q87guWnabGxgm8URohehz-k_w8EgrWh3Qgnowk3IW4qVNCL-ZHsql1nk7h9wL-qR75-uN4-igYLM6516ejkFJHNig1zDPhyif8G3NDw5WqJGKy0bo-tuVbud5kiXePrRQw-MU6bG7yYmhxd2ujV8icQbIsq/s2302/Capture-hn.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="594" data-original-width="2302" height="116" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAL_Q9cyxmvZYb5k_cw2JhT3uZJhYb8q87guWnabGxgm8URohehz-k_w8EgrWh3Qgnowk3IW4qVNCL-ZHsql1nk7h9wL-qR75-uN4-igYLM6516ejkFJHNig1zDPhyif8G3NDw5WqJGKy0bo-tuVbud5kiXePrRQw-MU6bG7yYmhxd2ujV8icQbIsq/w447-h116/Capture-hn.JPG" width="447" /></a></div><br /><p>Someone had posted a link to my BlueHat stream of consciousness blog <a href="http://vzimmer.blogspot.com/2023/02/blue-hat-2023-and-uefi-secure-boot.html">http://vzimmer.blogspot.com/2023/02/blue-hat-2023-and-uefi-secure-boot.html</a>. I'm glad no one picked up on this since the HN <a href="https://news.ycombinator.com/">https://news.ycombinator.com/</a> discussions can get pretty rough.</p><p>OK. Enough for Sunday blogging and back to Sunday work.</p><p>PS<br />I was saddened to hear the news of Gordon Moore's passing <a href="https://www.moore.org/article-detail?newsUrlName=in-memoriam-gordon-moore-1929-2023">https://www.moore.org/article-detail?newsUrlName=in-memoriam-gordon-moore-1929-2023</a>. Beyond Moore's Law h<a href="ttps://hasler.ece.gatech.edu/Published_papers/Technology_overview/gordon_moore_1965_article.pdf">ttps://hasler.ece.gatech.edu/Published_papers/Technology_overview/gordon_moore_1965_article.pdf</a>, he provided guidance and wisdom to the industry throughout the years <a href="https://www.youtube.com/watch?v=gtcLzokagAw">https://www.youtube.com/watch?v=gtcLzokagAw</a>. My favorite image of him has to be the portrait composed of keycaps </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX26fKmGDuqQZQEs6uoHP1_Jnuww-dCrIYOuTt-B_4On4Dp9uVhm6CGHXS8OYxMilI9aOSMWGwsdBfNu8tRJuZ95ucyZc5WTnBRHZJuINtUBA3GiHPEWTu4Xfc9ONyRuZ-IX6PPe1tJrRJUPPNr91j6eK_OQaL9mdw28aTxkI5CP6OSHyt1IOi_6mL/s4032/moore-with-keycaps.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="413" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX26fKmGDuqQZQEs6uoHP1_Jnuww-dCrIYOuTt-B_4On4Dp9uVhm6CGHXS8OYxMilI9aOSMWGwsdBfNu8tRJuZ95ucyZc5WTnBRHZJuINtUBA3GiHPEWTu4Xfc9ONyRuZ-IX6PPe1tJrRJUPPNr91j6eK_OQaL9mdw28aTxkI5CP6OSHyt1IOi_6mL/w310-h413/moore-with-keycaps.jpg" width="310" /></a></div>along with the painting</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu9G0TvMSI7cGksSEuvJUOL7imgbvjETDhDFCYq0TUQkCltIN9EoXRGhMvkJcZCVc5Sh2p5YmNN3RbqM9XbmgVUvWsbIT1lb_cXq4oKULj_WAGcNTOMrghN3X7C9u5HXSN52gbzM9SUyzGDXvtjDK4kw3luhe1N_Co8tgf6tTg5h83R60vKRYWTVz7/s4032/noyce-and-moore.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="295" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu9G0TvMSI7cGksSEuvJUOL7imgbvjETDhDFCYq0TUQkCltIN9EoXRGhMvkJcZCVc5Sh2p5YmNN3RbqM9XbmgVUvWsbIT1lb_cXq4oKULj_WAGcNTOMrghN3X7C9u5HXSN52gbzM9SUyzGDXvtjDK4kw3luhe1N_Co8tgf6tTg5h83R60vKRYWTVz7/w393-h295/noyce-and-moore.jpg" width="393" /></a></div><br /><div><br /></div><div>from Intel HQ alongside Robert Noyce.<br /><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p></div></div>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-4402633843097937972023-02-24T21:01:00.008-08:002023-03-23T12:48:53.226-07:0026 or Anniversary.Next^11 and Wisdom of the "Age"s<p>True to form, as today is my work anniversary, let's follow-up on the tradition of posting a blog. Recall last year's entry <a href="http://vzimmer.blogspot.com/2022/02/25-or-anniversarynext10-and-early-22.html">http://vzimmer.blogspot.com/2022/02/25-or-anniversarynext10-and-early-22.html</a>. When I am posed with the challenge of posting on a given day, sometimes my mind alights upon various data points observed during the earlier hours. The first thing I noticed today was <a href="https://twitter.com/osfw_foundation/status/1629217731395350529">https://twitter.com/osfw_foundation/status/1629217731395350529</a> which pointed to the longer blog posting <a href="https://blog.osfw.foundation/breaking-the-boundary-a-way-to-create-your-own-fsp-binary/">https://blog.osfw.foundation/breaking-the-boundary-a-way-to-create-your-own-fsp-binary/</a>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEighkf_bRe28dlx3gu2bKVvuHJeRTGPI63UxzESHBS5p0RAfQL0adtY3c6hXfTHBqdY6dfJUCp8daIhXtp9VbeaL48kpjK_yOfLEUW50ym9PEolh9jbmQqme7_nnLC5P9pPOH4oBuwle5n62UoKS7_TLeGEIAMNWi73-cJ-xjxfw70vsevcpAbN37Oh/s819/osfw-fsp-blog.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="758" data-original-width="819" height="324" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEighkf_bRe28dlx3gu2bKVvuHJeRTGPI63UxzESHBS5p0RAfQL0adtY3c6hXfTHBqdY6dfJUCp8daIhXtp9VbeaL48kpjK_yOfLEUW50ym9PEolh9jbmQqme7_nnLC5P9pPOH4oBuwle5n62UoKS7_TLeGEIAMNWi73-cJ-xjxfw70vsevcpAbN37Oh/w350-h324/osfw-fsp-blog.JPG" width="350" /></a></div>This is penned by Subrata and describes some of the techniques to minimize the size of the Intel FSP. I appreciate the review of this work at <a href="https://www.phoronix.com/news/Google-Intel-More-FSP-Flexible">https://www.phoronix.com/news/Google-Intel-More-FSP-Flexible</a>, too. <div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA--6IOzrzOUYDQ9destBQpvnARrkRmQe6nygRmNLSVdrhWxZ2H3pp5BsXjZ8xSBdYoOyMR8SMyhTzvUfZCPHoik6EOUzn0Y4AVYmwgyYf8h8iQyONM6b7CVrB1xaAbnqEe6PN7-hW8e-_vzS4ubUqXcuvXefWqsg_eZmsvLENNyNclmMZrG8SorwO/s1853/phoronix-fsp.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="717" data-original-width="1853" height="181" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA--6IOzrzOUYDQ9destBQpvnARrkRmQe6nygRmNLSVdrhWxZ2H3pp5BsXjZ8xSBdYoOyMR8SMyhTzvUfZCPHoik6EOUzn0Y4AVYmwgyYf8h8iQyONM6b7CVrB1xaAbnqEe6PN7-hW8e-_vzS4ubUqXcuvXefWqsg_eZmsvLENNyNclmMZrG8SorwO/w467-h181/phoronix-fsp.JPG" width="467" /></a></div><br /><div><br /></div><div><br /></div><div>This workflow aligns with the 'path to openness' arc mentioned in postings like <a href="http://vzimmer.blogspot.com/2020/12/musings-about-firmware-cultures.html">http://vzimmer.blogspot.com/2020/12/musings-about-firmware-cultures.html</a>. And as always it's great having the opportunity collaborate with Subrata, such as the late '22 Apress books.<div><br />Speaking of Apress co-authors, today on the Twitter-stream I also saw <a href="https://twitter.com/UEFIForum/status/1628107294134108183">https://twitter.com/UEFIForum/status/1628107294134108183</a><p><br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiFDxnvsORUMzwY_K_ehkkUUTiE7JVjG8BUfndLNsN0bUu_e3aXiu3ZmrlrEF3B2r8sRl7-ZK2VcYxeqzpxv24-sQ0FMG63VcHhVb8f6aRauAyMJfKiDcXrhENbHB5GbIBWcPDuJX_C4je0A8eytTkh0TSxjDQArpqMsvMFywfhPxDDQt1-q6LRAhD_" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="242" data-original-width="320" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEiFDxnvsORUMzwY_K_ehkkUUTiE7JVjG8BUfndLNsN0bUu_e3aXiu3ZmrlrEF3B2r8sRl7-ZK2VcYxeqzpxv24-sQ0FMG63VcHhVb8f6aRauAyMJfKiDcXrhENbHB5GbIBWcPDuJX_C4je0A8eytTkh0TSxjDQArpqMsvMFywfhPxDDQt1-q6LRAhD_" width="317" /></a></div><br /><br /><p></p><p>which describes an upcoming talk (now 'past' <a href="https://www.youtube.com/watch?v=BI9DMAOZR1I">https://www.youtube.com/watch?v=BI9DMAOZR1I</a> <a href="https://uefi.org/sites/default/files/resources/USF_Security_Webinar_Final.pdf">https://uefi.org/sites/default/files/resources/USF_Security_Webinar_Final.pdf</a>) with Jiewen Yao, my Apress '20 <a href="https://link.springer.com/book/10.1007/978-1-4842-6106-4">https://link.springer.com/book/10.1007/978-1-4842-6106-4</a> co-author and long-time collaborator. </p><p>Since these two data points are about sharing knowledge, and today's post entails a milestone on my career, I was reminded of some wisdom I received from an engineering luminary early in my career. Specifically, the posting <a href="https://twitter.com/siliconinsid/status/1628917395501813762" style="text-decoration-line: none;"><span style="-webkit-text-decoration-skip: none; color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre;">https://twitter.com/siliconinsid/status/1628917395501813762</span></a><span style="-webkit-text-decoration-skip: none; color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre;"> </span>mentioned Robert Pease <a href="https://en.wikipedia.org/wiki/Bob_Pease" style="text-decoration-line: none;"><span style="-webkit-text-decoration-skip: none; color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre;">https://en.wikipedia.org/wiki/Bob_Pease</span></a><span style="color: #1155cc; font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre;"><u>.</u></span></span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;">Speaking of the wikipedia bio, I can say that Rob used 'RAP' in his personal, correspondence.</p><p dir="ltr" style="line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;">"<span face="sans-serif" style="-webkit-text-stroke-width: 0px; background-color: white; color: #202122; display: inline; float: none; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span> </span>Although his name was listed as "Robert A. Pease" in formal documents, he preferred to be called "Bob Pease" or to use his initials "RAP" in his magazine columns.</span>" <br /></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;">When he was he was 54 when he shared some thoughts with a 24 year old engineer.</p><p dir="ltr" style="line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;">I picked up my undergraduate degree in electrical engineering and my first job was doing embedded systems for real-time data acquisition. I was a big fan of Electronic Design magazine and an avid reader of Pease. When my job expanded from the real-time control firmware into working on the analogy-side of the sensor subsystem, I reached out to RAP with some questions.</p><p dir="ltr" style="line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;">I dug up the correspondence, with the following envelope</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHRb223K1LZpt1qsAJgaoHi8_ZfRtdgi1p-rNxtb-mmsR4nGykN_DlsoyQ5zrDnco4HCThf-6n9D43crrm3F-22UVQ9Sg88VWD_RLw5GjQ0u9SO-fMmbOd6Ixn62JvtTh1ph1mUx4M2HniEvYJ49bbsKB1fLncHAs0x4YO4kD1Q3HSxxckyri_GZZo/s4032/IMG_6472.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="349" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHRb223K1LZpt1qsAJgaoHi8_ZfRtdgi1p-rNxtb-mmsR4nGykN_DlsoyQ5zrDnco4HCThf-6n9D43crrm3F-22UVQ9Sg88VWD_RLw5GjQ0u9SO-fMmbOd6Ixn62JvtTh1ph1mUx4M2HniEvYJ49bbsKB1fLncHAs0x4YO4kD1Q3HSxxckyri_GZZo/w465-h349/IMG_6472.jpg" width="465" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div>And my letter to Rob. I had not yet realized that writing simply is the best way to convey your thoughts. I cringe at some of the constructions below, but it definitely has my literary 'fingerprint.'<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdGZQfZVsitVyAyDY797Nf3QoxrunuGFUk3byn5BYfSua3tmhPynQISdJtjAs2-xBVqtphuIjl6C6YjcKGICnWBJFsFEujrRtveFmeWpIWloURuQ08I_5bFkuJNgml27yEgG7Z5zT_uG7RH4ShisgHvFvGX1nqQMlLyYsPKzOIolQ9K0UVFIhJ7EM-/s4032/IMG_6473.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="383" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdGZQfZVsitVyAyDY797Nf3QoxrunuGFUk3byn5BYfSua3tmhPynQISdJtjAs2-xBVqtphuIjl6C6YjcKGICnWBJFsFEujrRtveFmeWpIWloURuQ08I_5bFkuJNgml27yEgG7Z5zT_uG7RH4ShisgHvFvGX1nqQMlLyYsPKzOIolQ9K0UVFIhJ7EM-/w288-h383/IMG_6473.jpg" width="288" /></a></div>In response to this mail, I was amazed that I received a 3-page response from Pease<br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;">(1 of 3)</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg29MW1Hb1wY0s5M3M_rirg7VEGnAG8dUmyhffNEaMsNf8RLTmh469JB2cbv3d0AGZo2G5bANeX_8roGzwt6bB-9jVEs48j3KjQDfmDexE2pGfF4SZ9ZCNli4fRqO30JjGcmrfDrmgsY0_B1SQ3V8PfxAKzemUxEK4A12HVu9C2YcuaD3AFt24GuM5d/s4032/IMG_6477.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="398" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg29MW1Hb1wY0s5M3M_rirg7VEGnAG8dUmyhffNEaMsNf8RLTmh469JB2cbv3d0AGZo2G5bANeX_8roGzwt6bB-9jVEs48j3KjQDfmDexE2pGfF4SZ9ZCNli4fRqO30JjGcmrfDrmgsY0_B1SQ3V8PfxAKzemUxEK4A12HVu9C2YcuaD3AFt24GuM5d/w299-h398/IMG_6477.jpg" width="299" /></a></div><p></p><p><br /></p><p style="text-align: center;">(2 of 3)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVoVUpdYq9cVxfCp0GT6eTzEstCrUC09qbn_ZS93UMzNWuMR9keEvFclm8Mb--0jNf8EObcOu0sQLgJ4eKTuJwdCS0mp_QvLyy1guxgw3Ux5zaok0lZPkbP0qOK0Un47m_1K3KTdWoqY_5Eqrfxz3O8cnPrB4HrzUXEJZt-9N0VjePPsFuyTVqi8eK/s4032/IMG_6478.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="418" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVoVUpdYq9cVxfCp0GT6eTzEstCrUC09qbn_ZS93UMzNWuMR9keEvFclm8Mb--0jNf8EObcOu0sQLgJ4eKTuJwdCS0mp_QvLyy1guxgw3Ux5zaok0lZPkbP0qOK0Un47m_1K3KTdWoqY_5Eqrfxz3O8cnPrB4HrzUXEJZt-9N0VjePPsFuyTVqi8eK/w314-h418/IMG_6478.jpg" width="314" /></a></div><p></p><p style="text-align: center;">(3 of 3)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQnnsjyRZF2K5TXSatvQgVqiTE_pKYulppjnXoV_0oVNhsD0cmnzZqnPP6Zk-W9ehrNwNP96UABPOw3pV_S6Fgo8Khc8deOXKBQ1gGvmPGiL6cwPjegWEch4WPBR4dyIuaVwT8eU7CVvPGuQhi6EkEERTDiN_CjJ1gXLgXexlTJTlYtfDbb1_EYs_M/s4032/IMG_6479.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="435" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQnnsjyRZF2K5TXSatvQgVqiTE_pKYulppjnXoV_0oVNhsD0cmnzZqnPP6Zk-W9ehrNwNP96UABPOw3pV_S6Fgo8Khc8deOXKBQ1gGvmPGiL6cwPjegWEch4WPBR4dyIuaVwT8eU7CVvPGuQhi6EkEERTDiN_CjJ1gXLgXexlTJTlYtfDbb1_EYs_M/w326-h435/IMG_6479.jpg" width="326" /></a></div><p dir="ltr" style="line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;"><br /></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt;">To me Pease was my first encounter of the silicon valley culture wherein engineers revel in helping each other and sharing knowledge. Fast forward to a few years ago and Intel. The spirit of helpfulness and wisdom were something I also observed in folks like Jim Keller <a href="https://en.wikipedia.org/wiki/Jim_Keller_(engineer)">https://en.wikipedia.org/wiki/Jim_Keller_(engineer)</a>. I was reminded of Keller when reading/watching the interview <a href="https://morethanmoore.substack.com/p/interview-with-jim-keller-tenstorrent" style="text-decoration-line: none;"><span style="-webkit-text-decoration-skip: none; color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre;">https://morethanmoore.substack.com/p/interview-with-jim-keller-tenstorrent</span></a><span style="color: black; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre;"> </span><a href="https://www.youtube.com/watch?app=desktop&v=fOUB73dZXEo" style="text-decoration-line: none;"><span style="-webkit-text-decoration-skip: none; color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre;">https://www.youtube.com/watch?app=desktop&v=fOUB73dZXEo</span></a>. This was pure Jim. And his wisdom about 'the big ball of mud' <a href="https://blog.codinghorror.com/the-big-ball-of-mud-and-other-architectural-disasters/" style="text-decoration-line: none;"><span style="-webkit-text-decoration-skip: none; color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre;">https://blog.codinghorror.com/the-big-ball-of-mud-and-other-architectural-disasters/</span></a><span style="color: black; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre;"> </span><a href="https://www.cin.ufpe.br/~sugarloafplop/mud.pdf" style="text-decoration-line: none;"><span style="-webkit-text-decoration-skip: none; color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre;">https://www.cin.ufpe.br/~sugarloafplop/mud.pdf</span></a><span style="color: black; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre;"> and the need for modularity and re-writes echoes some of the Intel-time wisdom he relayed. At the time K</span>Keller was probably 60, and I was much closer in age to him.</p><p>I recall a specific encounter in a conference room at the Robert Noyce building with a nearby view similar to the images from <a href="http://vzimmer.blogspot.com/2020/10/silicon-valley-innovation-and-logos.html">http://vzimmer.blogspot.com/2020/10/silicon-valley-innovation-and-logos.html</a>. Jim would come into the discussions aggressive and strident, but if you had your data and could defend your position, he'd enjoin the discussion deeply.</p><p>To me Pease and Keller were similar souls, having traveled through myriad engineering projects and collected learnings that each would happily share.</p><p>Although I lack both the wisdom and charisma of the two, I try in my own small way and encourage others to be similar mentors and purveyors of their learnings in the engineering community.</p><p>PS<br />Speaking of my undergrad and Cornell, I couldn't help but think of Scott Galloway and his quotation "<span style="background-color: white; color: #111111; font-family: TiemposTextWeb, Georgia, Times, serif; font-size: 20px;"> </span><span style="background-color: white; color: #111111; font-family: TiemposTextWeb, Georgia, Times, serif; font-size: 20px;">Hermes-ification of their institutions</span>" <a href="https://www.businessinsider.com/scott-galloway-what-america-gets-right-and-wrong-college-education-2021-4">https://www.businessinsider.com/scott-galloway-what-america-gets-right-and-wrong-college-education-2021-4</a> after seeing the following statistic, viz.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSZeyqj-0mmJem3vuA0bYrxcwjgcseheL8och9f2Wp7VWE6u153FjqD1WK96RZpp7NxauMlQs2UbKXyIuQeYqsoo4CfbCqfCbRLhM_kfHJ1eZXH8yMDGqGsVn3MgvJkq03OiAP0L4AJcaNGlvWvFLCIWzGK_Bh-u-IjVtJt7HaP9zGG5cjhO1qoCzS/s789/cornell-2022.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="252" data-original-width="789" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSZeyqj-0mmJem3vuA0bYrxcwjgcseheL8och9f2Wp7VWE6u153FjqD1WK96RZpp7NxauMlQs2UbKXyIuQeYqsoo4CfbCqfCbRLhM_kfHJ1eZXH8yMDGqGsVn3MgvJkq03OiAP0L4AJcaNGlvWvFLCIWzGK_Bh-u-IjVtJt7HaP9zGG5cjhO1qoCzS/w445-h142/cornell-2022.png" width="445" /></a></div><br /><p>Coming from Texas I didn't know much about the Ivy League, but arriving in NY I learned that Cornell was the more accessible of the Ivy's, as composed to Harvard and Yale. </p><p>Yikes.</p><p>Beyond some of the headline-grabbing quotes of Galloway, though, I would recommend reading his book <a href="https://www.amazon.com/Algebra-Happiness-Pursuit-Success-Meaning/dp/0593084195">https://www.amazon.com/Algebra-Happiness-Pursuit-Success-Meaning/dp/0593084195</a>. I've heard said is that the mark of a good book is one you'd read twice. I have to admit the Algebra of Happiness is one that I've at least iterated twice.</p><p>PPS</p><p>Speaking of authors whose work I enjoy and the spirit of engineering information sharing from the valley, <a href="https://www.righto.com/2023/02/8086-interrupt.html">https://www.righto.com/2023/02/8086-interrupt.html</a> has a fascinating write-up on 8086 interrupt support. Ken's work is more generally described in his various talks, such as <a href="https://podcasts.apple.com/us/podcast/ken-shirriff/id1488187473?i=1000506639971">https://podcasts.apple.com/us/podcast/ken-shirriff/id1488187473?i=1000506639971</a> and <a href="https://www.youtube.com/watch?v=TKi1xX7KKOI">https://www.youtube.com/watch?v=TKi1xX7KKOI</a>.This reminded me of my first file & issued patent (now expired) <a href="https://patents.google.com/patent/US5940587A/en">https://patents.google.com/patent/US5940587A/en</a>, which used some trickery of the segments and the interrupt table to save space in the BIOS. Good times.</p><p>PPS+</p><p>I just saw the following image </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtckYsZjgHop_PbaoQ_JzLP07mamifuYAPwwbNYN6EaDvGHeRj4Gq2yOkC1S_LuORB7I-V_R90WKdjsthO_HfOCGmeB_hHwTNewqfWcVkEwiofQsuIkxfbF6qQ79uDwRgMjMQmyl_WMLaP9t5hq8NS0hqJRwYiPpbltoVWvL-FV7Aen2TmzJS6a1NC/s900/larry-paige.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="712" height="442" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtckYsZjgHop_PbaoQ_JzLP07mamifuYAPwwbNYN6EaDvGHeRj4Gq2yOkC1S_LuORB7I-V_R90WKdjsthO_HfOCGmeB_hHwTNewqfWcVkEwiofQsuIkxfbF6qQ79uDwRgMjMQmyl_WMLaP9t5hq8NS0hqJRwYiPpbltoVWvL-FV7Aen2TmzJS6a1NC/w350-h442/larry-paige.jpg" width="350" /></a></div><br /> I had similar struggles with Java in 1997 in building the web crawler I had to build at UW for Weld's AI course mentioned in <a href="http://vzimmer.blogspot.com/2021/01/memories-from-uw-and-cornell.html">http://vzimmer.blogspot.com/2021/01/memories-from-uw-and-cornell.html</a>. Although Larry and I had similar Java challenges in the late 90's, it appears that our respective careers took different arcs.<br /><p></p><p><br /></p></div></div>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-40724404424777795922023-02-12T21:50:00.017-08:002023-07-29T07:52:33.806-07:00Blue Hat 2023 and UEFI Secure Boot<p>“Victory has 100 fathers and defeat is an orphan.” This quote
is attributed to John F. Kennedy in the wake of the Bay of Pigs but I believe a
variant of this has been passed down over time. I was thinking of this quote in
the context of UEFI Secure Boot this week at Blue Hat <a href="https://www.microsoft.com/bluehat/">https://www.microsoft.com/bluehat/</a>
at Microsoft building 92. Visiting the Microsoft campus reminded of me the many
hours engaged with Microsoft during the build up to this feature in the mid-2000’s (including hours in the 40's buildings that were razed recently for the new MS campus).</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzh8xrg3EQ8fnEQ6ekm1ke96CgjxBXWTXrNYBPZHTvm9ok59b6Q16b74H-zaAz_vjI-94VHpMEsV9oJWj9_J-5kGfTH8Ais3MaV7KT7kFUqnndjbafDy-huoXed8xALQIC2jYYmdUPKk7-xgPQ5rHyF2NaLFDAgv1Rg4nxSI6OPSrA75Frhj2nP190/s4032/bluehat%202023%20-%20fw%20compute.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzh8xrg3EQ8fnEQ6ekm1ke96CgjxBXWTXrNYBPZHTvm9ok59b6Q16b74H-zaAz_vjI-94VHpMEsV9oJWj9_J-5kGfTH8Ais3MaV7KT7kFUqnndjbafDy-huoXed8xALQIC2jYYmdUPKk7-xgPQ5rHyF2NaLFDAgv1Rg4nxSI6OPSrA75Frhj2nP190/w416-h312/bluehat%202023%20-%20fw%20compute.jpg" width="416" /></a></div><br /><p><br /></p><p class="MsoNormal"><o:p></o:p></p>
<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNiP0O5qKNfBwLBb0205I4bl9r7ghT0ILF36YVVytEO9CcHX8a7EMJYWIYPoKl9YNAODrKYerA9BzJcpuy2-vAHz3evC_007Wye0j4aHFSy9nf3LP6mi3cCqiHsZMEUWEAujk5SKUWlgMGm7hmIpSeucyfFJ4m8IRUZkT5OJAvNULEe9JBdlngFlPb/s4032/bluehat%202023%20-%20fw%20decade%20of%20attacks.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="338" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNiP0O5qKNfBwLBb0205I4bl9r7ghT0ILF36YVVytEO9CcHX8a7EMJYWIYPoKl9YNAODrKYerA9BzJcpuy2-vAHz3evC_007Wye0j4aHFSy9nf3LP6mi3cCqiHsZMEUWEAujk5SKUWlgMGm7hmIpSeucyfFJ4m8IRUZkT5OJAvNULEe9JBdlngFlPb/w450-h338/bluehat%202023%20-%20fw%20decade%20of%20attacks.jpg" width="450" /></a></div><br /><p class="MsoNormal">The above talk from Eclypsium (now posted <a href="https://github.com/n0x08/ConferenceTalks/blob/master/0-Day_FirmWarez_BlueHat2023.pdf">https://github.com/n0x08/ConferenceTalks/blob/master/0-Day_FirmWarez_BlueHat2023.pdf</a>) this last week also reminded me of how UEFI secure boot and firmware security is now part of the tech lexicon.</p><p class="MsoNormal">But back to the history discussion from the early 2000's. At that time, the industry was recovering from the lack of
adoption of NGSCB <a href="https://en.wikipedia.org/wiki/Next-Generation_Secure_Computing_Base">https://en.wikipedia.org/wiki/Next-Generation_Secure_Computing_Base</a>.
Intel LaGrande Technology (LT), </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj11nSYThbhEuw4jX6cmKaCxhMxlipn2eOdPrFhBIhOq_vtYZ7YWKee_E-aL3rbam0UuDR2v9hqhgjPjQKIGN9374EkD6OuD0l6fKKdBHAi-KNvvHa5Ip21pBDkw7P5dVLpNVQ9e6EpkL-cFwu_FMIqvJFUHgro5ZkbBsXW-DTBNfVaPqb9OZ7ch37O/s4032/lt.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj11nSYThbhEuw4jX6cmKaCxhMxlipn2eOdPrFhBIhOq_vtYZ7YWKee_E-aL3rbam0UuDR2v9hqhgjPjQKIGN9374EkD6OuD0l6fKKdBHAi-KNvvHa5Ip21pBDkw7P5dVLpNVQ9e6EpkL-cFwu_FMIqvJFUHgro5ZkbBsXW-DTBNfVaPqb9OZ7ch37O/w315-h420/lt.jpg" width="315" /></a></div><p class="MsoNormal">which is now Trusted Execution Technology, along
w/ AMD Pacifica/Presidio, were features to add ‘late launch,’ or ‘dynamic root of trust
for measurement’ (DRTM). The DRTM facility provided an RTM in the CPU, and the roots of
trust for storage (RTS) and recording (RTR) were delegated to a ‘then’ off-chip
element called the Trusted Platform Module (TPM) <a href="https://trustedcomputinggroup.org/work-groups/trusted-platform-module/">https://trustedcomputinggroup.org/work-groups/trusted-platform-module/</a>.</p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Since NGSCB, with its “Trusted Applet” (TA) architecture ,was a mile too far both for privacy and application compatibility, LT and
Pacifica didn’t get embraced by Windows. NGSCB entailed the need to refactor
applications to put security sensitive codes into a memory-only execution
regime. Although in 2023 folks may say ‘so what, SGX did it,’ recall this is
2002. So folks like Peter Bidell managed to build a full-disk encryption (FDE)
feature around the TPM and a BIOS-based root-of-trust for measurement (RTM), called
the Static RTM (SRTM).<o:p></o:p></p>
<p class="MsoNormal">This is where I entered the scene. I worked with folks like Mark Williams to author and enable the EFI TPM and platform specifications. The former entailed the API
exposed to UEFI drivers and OS loaders/applications, and the latter defined what
type of code and data objects to record or ‘measure’ in the TPM’s Platform
Configuration Registers (PCRs). More information on the various RT*’s and the
TPM can be found in <a href="https://www.intel.com/content/www/us/en/content-details/671466/trusted-platforms-uefi-pi-and-tcg-based-firmware.html">https://www.intel.com/content/www/us/en/content-details/671466/trusted-platforms-uefi-pi-and-tcg-based-firmware.html</a>.</p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB_EklaY3hSyhgT7OvKjsrSRt5nFTQ4cMyGkNWDpbGWBrl6BUOkmtCpqd3hHE6iKuxqJN5sTDJifnfFS2TnO5ZWRe2GOJfhHfqQHDYS7QpPZaiknClDiTUHSRUlYXv00q2bobrzX3F8afGBOhEkO26bVFoCrSWlRlThDzdL914BE86H8AwFqKqB2w4/s1233/tcg09.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="990" data-original-width="1233" height="292" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB_EklaY3hSyhgT7OvKjsrSRt5nFTQ4cMyGkNWDpbGWBrl6BUOkmtCpqd3hHE6iKuxqJN5sTDJifnfFS2TnO5ZWRe2GOJfhHfqQHDYS7QpPZaiknClDiTUHSRUlYXv00q2bobrzX3F8afGBOhEkO26bVFoCrSWlRlThDzdL914BE86H8AwFqKqB2w4/w363-h292/tcg09.JPG" width="363" /></a></div><br />
<br />
<br />
While doing this work with Microsoft, I learned that recording the hash of the
Portable Executable/COFF (PE/COFF) image was not so simple. It entailed hashing
various portions of the binary and omitting others. It turns out this hash or ‘digest’
is a critical element for code integrity (i.e., what became documented as the Authenticode hashing algorithm). At the same time Microsoft was reeling
from no DRTM, it moved to static verification with the invention in Vista of Code Integrity, or (CI). CI
entailed having the OS loader cryptographically verify the digital signature of
the early boot and kernel components in Windows, thus having something of a
static root of trust for verification (RTV), with the ‘root’ being the OS loader.<o:p></o:p><p></p>
<p class="MsoNormal">I learned about how all of this CI worked after reading Matthew
Conover’s paper <a href="https://github.com/tpn/pdfs/blob/master/Assessment%20of%20Windows%20Vista%20Kernel-Mode%20Security%20-%20Matthew%20Conover%20(Symantec).pdf">https://github.com/tpn/pdfs/blob/master/Assessment%20of%20Windows%20Vista%20Kernel-Mode%20Security%20-%20Matthew%20Conover%20(Symantec).pdf</a>. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl6RzKfGJVJxLZVHJRvf4yhPR0Mc0MGZZKiyVkCbP8lyz4gytERtWUHRR7Vl41q6D-xjcFXydZxyQuS35cxXmUgzWxEBcgGFDKVklKtvhGTr7F9I2V_XduvEQkGz6Lwe92Ld3eMuGTIkewQ5uGD7br0kdmgwiexfnGmJS5m-IZXM0FbyVAaY9HsgqM/s2269/symantec06.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="959" data-original-width="2269" height="189" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl6RzKfGJVJxLZVHJRvf4yhPR0Mc0MGZZKiyVkCbP8lyz4gytERtWUHRR7Vl41q6D-xjcFXydZxyQuS35cxXmUgzWxEBcgGFDKVklKtvhGTr7F9I2V_XduvEQkGz6Lwe92Ld3eMuGTIkewQ5uGD7br0kdmgwiexfnGmJS5m-IZXM0FbyVAaY9HsgqM/w448-h189/symantec06.JPG" width="448" /></a></div><br /><p class="MsoNormal"><br /></p><p class="MsoNormal">This feature is also described in <a href="https://csrc.nist.gov/csrc/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp1327.pdf">https://csrc.nist.gov/csrc/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp1327.pdf</a>.
Learning about how CI worked and the top-of-mind reminders from folks like Heasman
<o:p></o:p></p>
<p class="MsoNormal"><a href="https://www.blackhat.com/presentations/bh-usa-07/Heasman/Presentation/bh-usa-07-heasman.pdf">https://www.blackhat.com/presentations/bh-usa-07/Heasman/Presentation/bh-usa-07-heasman.pdf</a>
<o:p></o:p></p>
<p class="MsoNormal"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1yg8Rj_7bvKLnae5CkmY8jPFwZxmQAHeCiXunl3SniAWt72F0swhYLOhR8lvXKIQxzRq8Rb1dwNue7cLzOkJpAKh00VKhWUroRlkbvhn-oxwVp3tV7EGLj7CjI2bewTLSZ3BLvvUuaNlJ6nYXG4yol1wI3QQEXAKHp2PU2u7-OB-9NfDAUrpypPOa/s2232/heasman-2007-modifying-bootloader.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1285" data-original-width="2232" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1yg8Rj_7bvKLnae5CkmY8jPFwZxmQAHeCiXunl3SniAWt72F0swhYLOhR8lvXKIQxzRq8Rb1dwNue7cLzOkJpAKh00VKhWUroRlkbvhn-oxwVp3tV7EGLj7CjI2bewTLSZ3BLvvUuaNlJ6nYXG4yol1wI3QQEXAKHp2PU2u7-OB-9NfDAUrpypPOa/w509-h293/heasman-2007-modifying-bootloader.JPG" width="509" /></a></div><br /><p class="MsoNormal"><br /></p>
<p class="MsoNormal">led me to suggest adding an ‘SRTV’ to the firmware to
complement the existing ‘SRTM’ we had been building. I roughed out some of
those thoughts in the 2007 paper <o:p></o:p></p>
<p class="MsoNormal"><a href="https://github.com/vincentjzimmer/Documents/blob/master/SAM4542.pdf">https://github.com/vincentjzimmer/Documents/blob/master/SAM4542.pdf</a> <a href="https://dblp.uni-trier.de/rec/conf/csreaSAM/Zimmer07.html?view=bibtex">https://dblp.uni-trier.de/rec/conf/csreaSAM/Zimmer07.html?view=bibtex</a> mentioned in earlier post <o:p></o:p></p>
<p class="MsoNormal"><a href="http://vzimmer.blogspot.com/2022/08/pqc.html">http://vzimmer.blogspot.com/2022/08/pqc.html</a>,
too. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCmJnD6NHi5POHDlzsuAKmcm0H4ocINT74IfwFQQDl7vCzej_BxR9oye0ZMNvNKuwBKgLpUHIaQUi-CpZo9oUSeJerQ86gXqao1JyJOdw1yoHf5jm1tT7bOi1O_YMqf22uGGRCAnd9tCC0rnjFt5ruSF6xzlMB5y4nvsqkjvhjnM6OuOMbCuYd9eO0/s2121/sam07.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1279" data-original-width="2121" height="253" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCmJnD6NHi5POHDlzsuAKmcm0H4ocINT74IfwFQQDl7vCzej_BxR9oye0ZMNvNKuwBKgLpUHIaQUi-CpZo9oUSeJerQ86gXqao1JyJOdw1yoHf5jm1tT7bOi1O_YMqf22uGGRCAnd9tCC0rnjFt5ruSF6xzlMB5y4nvsqkjvhjnM6OuOMbCuYd9eO0/w419-h253/sam07.JPG" width="419" /></a></div><br /><p class="MsoNormal">In other words, leaving the OS loader hanging in space to start the verification chain seemed fragile, so having the underlying firmware act as a static RTV for the loader would strengthen this static verification chain. It was also complemented by the SRTM since the TPM could provide evidence or an audit log of the verification actions. </p><p class="MsoNormal">Given the difficulty in crafting pre-OS malware w/ MBR's for PC/AT boot, the lack of interoperable code integrity in UEFI would have made things so painful as I noted in <a href="http://vzimmer.blogspot.com/2012/09/late-september-mumbling.html">http://vzimmer.blogspot.com/2012/09/late-september-mumbling.html</a>. Also, extending CI into the host firmware felt as natural as extending the OS filesystem via the EFI System Partition (ESP) into the firmware for purposes of interoperability.<br /><o:p></o:p></p>
<p class="MsoNormal">One of the challenges posed during this work was to have a
reasoned approach to the infrastructure. That’s where Varugis (former NGSCB TA architect
turned Windows CI architect) and I tried to create an integrity model of the
pre-OS <a href="https://github.com/vincentjzimmer/Documents/blob/master/integrity-protection-analysis-of-OS-preboot.pdf">https://github.com/vincentjzimmer/Documents/blob/master/integrity-protection-analysis-of-OS-preboot.pdf</a>.
Varugis would often rail against folks who said the BitLocker was for
code-integrity since it was largely a data integrity feature. He wanted to ensure that any functionality built into the
ecosystem had a sound foundation. To that end the platform was decomposed into
a series of Clark-Wilson compartments (although the CDI’s of CW and reuse of
acronym of the same in TCG DICE is amusing). The OEM compartment, extensible
pre-OS UEFI compartment, and finally, the OS compartment had rules, including
guards and access controls. <o:p></o:p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig5Ng0U1gcDrb-vfa9ntBfv9dNJNKT58AeuiP6fZ7Fo-PIHw-XnuHLNrEPYktdt8n_SJ5BcqpJ0-yhmCO-mKC2jHw1-IVJyiUl9cJxPN0NPqmCtkXz00l-4d8foYUoGfuBbUF0CUKn1xo-8hCWHOLbGscws9VWLxRU4gtyoVVC40YvoSNGWTCWdKnZ/s2028/integrity07.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1359" data-original-width="2028" height="279" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig5Ng0U1gcDrb-vfa9ntBfv9dNJNKT58AeuiP6fZ7Fo-PIHw-XnuHLNrEPYktdt8n_SJ5BcqpJ0-yhmCO-mKC2jHw1-IVJyiUl9cJxPN0NPqmCtkXz00l-4d8foYUoGfuBbUF0CUKn1xo-8hCWHOLbGscws9VWLxRU4gtyoVVC40YvoSNGWTCWdKnZ/w417-h279/integrity07.JPG" width="417" /></a></div><br /><p class="MsoNormal"><br /></p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2RP7kLaT0v_kQWo11XZmpx0f9ByH4VH59FP14Vrok6lJJnzhR9DytFu-RSgKvKLeW1LOE2h-z1lWzte4DVDH9--bunxU54eb8NEVheVoRhl63pNkY6YqGCHNpdonvX2WkR9cm4lvAW1cVzONMBmg1XTYQF9kKgfq1oYxI4ICyrIW3PlayNddPtaCa/s2057/efi-compartment.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1896" data-original-width="2057" height="441" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2RP7kLaT0v_kQWo11XZmpx0f9ByH4VH59FP14Vrok6lJJnzhR9DytFu-RSgKvKLeW1LOE2h-z1lWzte4DVDH9--bunxU54eb8NEVheVoRhl63pNkY6YqGCHNpdonvX2WkR9cm4lvAW1cVzONMBmg1XTYQF9kKgfq1oYxI4ICyrIW3PlayNddPtaCa/w479-h441/efi-compartment.jpg" width="479" /></a></div><br /><p class="MsoNormal"><br /></p>
<p class="MsoNormal">It turns out that since CI was just for internal use by Microsoft tooling, the Authenticode
hashing algorithm and signature section of the PE/COFF were not documented. Just
as UEFI needs MS FAT and PE/COFF itself for purposes of interoperability, this
information was added to the public document from Microsoft to support this
capability <o:p></o:p></p>
<p class="MsoNormal"><a href="https://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/authenticode_pe.docx">https://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/authenticode_pe.docx</a>, as were the required infrastructure elements in the 2.1+ specifications. The
variant of UEFI Secure Boot that ultimately shipped as a required capability in
Windows 8, along with UEFI measured boot, was the specification version 2.3.1 <a href="http://www.uefi.org/sites/default/files/resources/UEFI_Spec_2_3_1.pdf">http://www.uefi.org/sites/default/files/resources/UEFI_Spec_2_3_1.pdf</a>.
<o:p></o:p></p><p class="MsoNormal">Another interesting tie-in to last week's Bluehat was the keynote from Mark Russinovich. Mark was one of the people to whom we presented this UEFI Secure boot work back in the day, too. Others in the audience at the included MS security arch, and former Intel colleague, Carl Ellison.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipi2DHJ_VGhUX0gN2APEASavQFVSAugx8VSHLkCJ8_cKOvhFJKL3-gzHQ2McuS5gex29jG6Oy7WLV2i84Dafepg6x7XjAAaah-AVzhqtexDv7-jC0IMa5euW9kYlh99ry_5AwBlIty_ISSXt7R8dckejg8tg12v68LNCBZSw-sKPc4CHkUsCNuB0Eo/s2110/russinovich-prezo.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="901" data-original-width="2110" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipi2DHJ_VGhUX0gN2APEASavQFVSAugx8VSHLkCJ8_cKOvhFJKL3-gzHQ2McuS5gex29jG6Oy7WLV2i84Dafepg6x7XjAAaah-AVzhqtexDv7-jC0IMa5euW9kYlh99ry_5AwBlIty_ISSXt7R8dckejg8tg12v68LNCBZSw-sKPc4CHkUsCNuB0Eo/w420-h180/russinovich-prezo.JPG" width="420" /></a></div><div><br /></div>BTW<br />ECR48 was remastered in M279 <a href="https://uefi.org/specs/UEFI/2.10/Frontmatter/Revision_History.html">https://uefi.org/specs/UEFI/2.10/Frontmatter/Revision_History.html</a><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnRiI2r2yhjV-qQigEoT28E5K5RJBlqHgl2T7bKmxLQOyaxPXAn5A6waY2t2mA8z7-eDgUx50icAQKw2Cr4DvZZ3v9q2l4-FhlD4Zmtx2CSzaB7uU9rpRBdr5d7G47IRzcBwPYeWxO0JP0W6dNC6miku0zwEaLPfEHR0cPCMwAd1eUFTF5WhYzY18aUJA/s1587/m279.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="152" data-original-width="1587" height="31" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnRiI2r2yhjV-qQigEoT28E5K5RJBlqHgl2T7bKmxLQOyaxPXAn5A6waY2t2mA8z7-eDgUx50icAQKw2Cr4DvZZ3v9q2l4-FhlD4Zmtx2CSzaB7uU9rpRBdr5d7G47IRzcBwPYeWxO0JP0W6dNC6miku0zwEaLPfEHR0cPCMwAd1eUFTF5WhYzY18aUJA/s320/m279.JPG" width="320" /></a></div><br /><div><br /></div><div>Mark's keynote at Bluehat covered confidential computing, large language models (LLMs) for security, open source firmware foundation, safe languages, and the software supply chain. <div><br /></div><div>On safe languages<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuQBSp6ZT457tqhDRDRO0nw39NnCILzm3BJIQosaya8CCuI4NDwd4ANvPmGfX1h_h91OMsIrBm5aPplQX7EQMw5lpw4Dezu3qvwzinNDHrDrYGQHHjA25q81BjY9z3wdwXRqfAjU_95zHnTCUK8WO9DLD9Ekfcb2DAEjoYgDvDG-DSbs9J519wLSvF/s4032/mark1.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="327" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuQBSp6ZT457tqhDRDRO0nw39NnCILzm3BJIQosaya8CCuI4NDwd4ANvPmGfX1h_h91OMsIrBm5aPplQX7EQMw5lpw4Dezu3qvwzinNDHrDrYGQHHjA25q81BjY9z3wdwXRqfAjU_95zHnTCUK8WO9DLD9Ekfcb2DAEjoYgDvDG-DSbs9J519wLSvF/w436-h327/mark1.jpg" width="436" /></a></div><div><br /></div><div>I was reminded of <a class="XqQF9c" href="https://cfp.osfc.io/media/osfc2020/submissions/SLFJTN/resources/OSFC2020_Rust_EFI_Yao_Zimmer_NDK4Dme.pdf" style="box-sizing: border-box; font-family: Lato, sans-serif; font-size: 14.6667px; font-variant-ligatures: none; outline: 0px; pointer-events: all; text-decoration-line: none;" target="_blank"><span class="C9DxTc aw5Odc" style="box-sizing: border-box; color: black; text-decoration-line: underline;">https://cfp.osfc.io/media/osfc2020/submissions/SLFJTN/resources/OSFC2020_Rust_EFI_Yao_Zimmer_NDK4Dme.pdf</span></a>, <a href="https://uefi.org/sites/default/files/resources/Enabling%20RUST%20for%20UEFI%20Firmware_8.19.2020.pdf">https://uefi.org/sites/default/files/resources/Enabling%20RUST%20for%20UEFI%20Firmware_8.19.2020.pdf</a>, and <a href="https://link.springer.com/chapter/10.1007/978-1-4842-6106-4_20">https://link.springer.com/chapter/10.1007/978-1-4842-6106-4_20</a>.</div><div><br /></div><div>And for the challenges of the open source supply chain, and software supply chains in general, I commiserated with</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkEdsIhRAXWdHfuEoxitOa6c_4gEgJs5c6tnDK-mTQvkBC5dh843ttjliNUdJNnCFqxCUseMOQR1JNSWIu9_141_2AtZtgyR5_Eepp_Nsp5FJ14OKrynz9K1CgjwXI8ttSk1BzuoT_5soNGRYnz0Zk54Ql8giruXVDDVC4-Gu6vNXQaxGw2VFiIY49/s4032/mark2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkEdsIhRAXWdHfuEoxitOa6c_4gEgJs5c6tnDK-mTQvkBC5dh843ttjliNUdJNnCFqxCUseMOQR1JNSWIu9_141_2AtZtgyR5_Eepp_Nsp5FJ14OKrynz9K1CgjwXI8ttSk1BzuoT_5soNGRYnz0Zk54Ql8giruXVDDVC4-Gu6vNXQaxGw2VFiIY49/w423-h318/mark2.jpg" width="423" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIHHuTZJIOkuCN3ZNh3LK6cEtPLKkPzRcRG6qVauqWYutJyNO964AUcKklxH6EVby01si7_0m24EZmiQgu5lQEz4Nc3FJ5xpBl8iTY_OnfJzZaIGkTH4poOYZ42Qd5aEVsFMZ5Fqb4wdYkVjXPXD2DYBc-I6Eu76tPk0T0pabOLCq8MtyibXQlxB1_/s4032/mark3.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="311" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIHHuTZJIOkuCN3ZNh3LK6cEtPLKkPzRcRG6qVauqWYutJyNO964AUcKklxH6EVby01si7_0m24EZmiQgu5lQEz4Nc3FJ5xpBl8iTY_OnfJzZaIGkTH4poOYZ42Qd5aEVsFMZ5Fqb4wdYkVjXPXD2DYBc-I6Eu76tPk0T0pabOLCq8MtyibXQlxB1_/w413-h311/mark3.jpg" width="413" /></a></div><br /><div>These slides reminded me of the long-used</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6RLC8s-tbhMX7QHHqK24YZgdNS3c-tLVZ8JbW2wTNgGoxCsjTE29VHSe2J4q7CCn2BHp3LO8eOIdfaP3aRANlng-JrMF9Yn4L_Y3Yeoz8qMtYRstF8Nq-1aZ2alvIjEDuL5ovPalrigwer7TvJPCXybBYt3WOLC-Lj52lf5Va76HDlxlTwEFytKqP/s1644/sw%20supply%20chain.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1038" data-original-width="1644" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6RLC8s-tbhMX7QHHqK24YZgdNS3c-tLVZ8JbW2wTNgGoxCsjTE29VHSe2J4q7CCn2BHp3LO8eOIdfaP3aRANlng-JrMF9Yn4L_Y3Yeoz8qMtYRstF8Nq-1aZ2alvIjEDuL5ovPalrigwer7TvJPCXybBYt3WOLC-Lj52lf5Va76HDlxlTwEFytKqP/w387-h244/sw%20supply%20chain.png" width="387" /></a></div><br /><div>from <a href="https://embeddedcomputing.com/technology/security/software-security/understanding-uefi-firmware-update-and-its-vital-role-in-keeping-computing-systems-secure">https://embeddedcomputing.com/technology/security/software-security/understanding-uefi-firmware-update-and-its-vital-role-in-keeping-computing-systems-secure</a>, too.<p class="MsoNormal">OK. Back to the narrative. By this time the UEFI secure boot capability had iterated through early discussions and into the standards incubation mix. The final clean-up of how authenticated variables work, including the append option for servicing, were introduced by Magnus. Magnus Nystrom was the security lead in Windows
core OS and managed to get the feature finally into the OS. We described some of this
journey in <a href="https://www.intel.com/content/dam/www/public/us/en/documents/research/2011-vol15-iss-1-intel-technology-journal.pdf"><span face=""Arial",sans-serif" style="color: #1155cc;"><span style="-webkit-text-decoration-skip: none; text-decoration-skip-ink: none; white-space: pre-wrap;">https://www.intel.com/content/dam/www/public/us/en/documents/research/2011-vol15-iss-1-intel-technology-journal.pdf</span></span></a><span style="white-space: pre-wrap;">.</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaoDEANp-3p2u4qp0GvWKxxIibV-91Z-ksBnzo2hIYCygU-2uvqxdbV4sI2WMwxIi_peXPMkkWhvJXU6QutPxnYc_T6kCDtA4xSyPWpjvaXcC3q4vKCTpueRLn78dVnU3cv1T9UFMjDqTwRx0SjLmCXVitTWs0Xz6AMoj5aAhGTNbm4g47VepFJGUa/s1817/itj-overview.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1182" data-original-width="1817" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaoDEANp-3p2u4qp0GvWKxxIibV-91Z-ksBnzo2hIYCygU-2uvqxdbV4sI2WMwxIi_peXPMkkWhvJXU6QutPxnYc_T6kCDtA4xSyPWpjvaXcC3q4vKCTpueRLn78dVnU3cv1T9UFMjDqTwRx0SjLmCXVitTWs0Xz6AMoj5aAhGTNbm4g47VepFJGUa/w566-h368/itj-overview.JPG" width="566" /></a></div><p class="MsoNormal"><br /></p>
<p class="MsoNormal">One of the challenges of this work was how to apply trust for
the more open PC architecture. Cell-phones and other appliances had locked-down bootloaders,
but with the PC and its ability multi-boot (think reason for UEFI existence)
and adapter cards, the trust needed to be more interoperable. This is where the
concept of the various stakeholders, through the OEM with the PK, the OS
vendors and ISV’s with the KEK’s, and the hash or verification certificates in
the allowed DB and disallowed DBX were created. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir69ylPFvXB6apIv2xBae4k1MX8tpFKV55dyKTY3S1R5G0xTM2dJzBL9wp7yk39-Js8EJfFePewHgDBp51DPD29Dudn2vhJJ63ysAzI3LLdxJIYLAYTKMCQGqzLHft92bsRkWL-Am93BsRHj5uRvpicrzCYtv7WcVR0PImuGcj83xOMvXoizeCZIcQ/s1072/itj-boot-scenarios.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1055" data-original-width="1072" height="383" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir69ylPFvXB6apIv2xBae4k1MX8tpFKV55dyKTY3S1R5G0xTM2dJzBL9wp7yk39-Js8EJfFePewHgDBp51DPD29Dudn2vhJJ63ysAzI3LLdxJIYLAYTKMCQGqzLHft92bsRkWL-Am93BsRHj5uRvpicrzCYtv7WcVR0PImuGcj83xOMvXoizeCZIcQ/w389-h383/itj-boot-scenarios.JPG" width="389" /></a></div>
<p class="MsoNormal">Tim Lewis <a href="https://uefi.blogspot.com/">https://uefi.blogspot.com/</a> championed a lot of the details on this design through the forum, too. Tim also led the UEFI Security Subteam (USST) in those first heady years.</p><p class="MsoNormal">A spate of additional publications were created to describe
this capability, including <a href="https://github.com/tianocore-docs/Docs/blob/master/White_Papers/A_Tour_Beyond_BIOS_into_UEFI_Secure_Boot_White_Paper.pdf"><span face=""Arial",sans-serif" style="color: #1155cc;"><span style="-webkit-text-decoration-skip: none; text-decoration-skip-ink: none; white-space: pre-wrap;">https://github.com/tianocore-docs/Docs/blob/master/White_Papers/A_Tour_Beyond_BIOS_into_UEFI_Secure_Boot_White_Paper.pdf</span></span></a>
created in the wake of my first ToorCamp talk, to <a href="https://www.intel.com/content/www/us/en/content-details/671464/a-tour-beyond-bios-with-the-uefi-tpm2-support-in-edk-ii.html?wapkw=vincent%20zimmer"><span face=""Arial",sans-serif" style="color: #1155cc;"><span style="-webkit-text-decoration-skip: none; text-decoration-skip-ink: none; white-space: pre-wrap;">https://www.intel.com/content/www/us/en/content-details/671464/a-tour-beyond-bios-with-the-uefi-tpm2-support-in-edk-ii.html</span></span></a><span style="white-space: pre-wrap;"> and <a href="https://www.intel.com/content/www/us/en/content-details/671120/a-tour-beyond-bios-uefi-authenticated-variables-in-smm-with-edk-ii.html?wapkw=vincent%20zimmer"><span face=""Arial",sans-serif" style="color: #1155cc;"><span style="-webkit-text-decoration-skip: none; text-decoration-skip-ink: none; white-space: pre-wrap;">https://www.intel.com/content/www/us/en/content-details/671120/a-tour-beyond-bios-uefi-authenticated-variables-in-smm-with-edk-ii.html</span></span></a>
on how to use the code <a href="https://github.com/tianocore/edk2/tree/master/SecurityPkg"><span face=""Arial",sans-serif" style="color: #1155cc;"><span style="-webkit-text-decoration-skip: none; text-decoration-skip-ink: none; white-space: pre-wrap;">https://github.com/tianocore/edk2/tree/master/SecurityPkg</span></span></a>.
Given the long arc of this work, <a href="https://link.springer.com/book/10.1007/978-1-4842-6106-4">https://link.springer.com/book/10.1007/978-1-4842-6106-4</a>
was created to collect this background in one location.<o:p></o:p></span></p><p class="MsoNormal"><span style="white-space: pre-wrap;">The evolution of UEFI secure boot wasn't without some controversy, especially from privacy groups and others who worried about lock-down of the PC </span><span style="white-space: pre-wrap;"><a href="https://www.csoonline.com/article/2221385/geeks-under-fire--war-on-privacy--freedom-and-general-computation.html">https://www.csoonline.com/article/2221385/geeks-under-fire--war-on-privacy--freedom-and-general-computation.html</a>, but Microsoft logo requirements like a physically-present user control for this feature, along with the UEFI CA signing Linux shim's, helped calm those concerns - some of the great work w/ Linux in this space was described in <a href="https://www.intel.com/content/dam/develop/external/us/en/documents/sf13-stts002-100p-820238.pdf">https://www.intel.com/content/dam/develop/external/us/en/documents/sf13-stts002-100p-820238.pdf</a>, too, although it was always smooth sailing as I recall people glowering at me when I presented <a href="https://github.com/vincentjzimmer/Documents/blob/master/PLUG-UEFI-001.pdf">https://github.com/vincentjzimmer/Documents/blob/master/PLUG-UEFI-001.pdf</a> in Portland. One of the MS PM's even told me that Sinofsky considered pulling all of the UEFI features from Windows 8 if the issue were not resolved in a timely fashion which makes sense given that wide-scale UEFI deployment without integrity controls would have led to unbounded pre-OS malware concerns for users.</span></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTZEslhmJr1tFW2NyPQgi3MlZ5PbOIkzfJoAIYmTuE7xVMqtFMB8Z_a80cgFezLwtpCJKOdxnmKo9j8WoKwtKMGaq4AUkYs4fJbMluzeTSOY3qs56c3oVDRJDugQxQPex4qUggcRpnj15isv6WKVY3E9sFHB1YL7Bswcr2ASiY3OxMSRoblfZFrxla/s1562/Capture-sinofsky-uefi.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="851" data-original-width="1562" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTZEslhmJr1tFW2NyPQgi3MlZ5PbOIkzfJoAIYmTuE7xVMqtFMB8Z_a80cgFezLwtpCJKOdxnmKo9j8WoKwtKMGaq4AUkYs4fJbMluzeTSOY3qs56c3oVDRJDugQxQPex4qUggcRpnj15isv6WKVY3E9sFHB1YL7Bswcr2ASiY3OxMSRoblfZFrxla/w419-h228/Capture-sinofsky-uefi.JPG" width="419" /></a></div><br /><span style="white-space: pre-wrap;"><br /></span><p></p>
<p class="MsoNormal">Work continues apace in this area, from investigations into
post quantum cryptography <a href="https://eprint.iacr.org/2021/041.pdf">https://eprint.iacr.org/2021/041.pdf</a>
<a href="https://uefi.org/sites/default/files/resources/Post%20Quantum%20Webinar.pdf">https://uefi.org/sites/default/files/resources/Post%20Quantum%20Webinar.pdf</a>
to better revocation models <a href="https://github.com/rhboot/shim/blob/main/SBAT.md">https://github.com/rhboot/shim/blob/main/SBAT.md</a>.
And DRTM is getting great traction in the platform now <a href="https://cdrdv2-public.intel.com/756963/DRTM-based-computing_whitepaper_FINAL_MAY2021.pdf">https://cdrdv2-public.intel.com/756963/DRTM-based-computing_whitepaper_FINAL_MAY2021.pdf</a>,
although contemporary with Windows 8 we worked hard to see if we could have a
standards-based solution <a href="https://trustedcomputinggroup.org/work-groups/trusted-platform-module/">https://trustedcomputinggroup.org/work-groups/trusted-platform-module/</a>,
too. DRTM definitely reduces the trusted computing base (TCB),</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk4nMpjMhlIZdEq6SojcFiw8ZcIYiGoaIoTnVP8DkODWUeGyI5pgOu66CZhJ2uZjLzpMf8uY9St60sQ8SzRH2rkEu1JcXbE33-8As3J4mBF6jdZvf6zVAQdvyCdceM8LRBmzmHp-bDLLe9x4Fr_bj2KDYVtUuPV3Yu1FDWXbP9zmPvAZNFIUYsKs1E/s1298/srtm-and-drtm.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1065" data-original-width="1298" height="335" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk4nMpjMhlIZdEq6SojcFiw8ZcIYiGoaIoTnVP8DkODWUeGyI5pgOu66CZhJ2uZjLzpMf8uY9St60sQ8SzRH2rkEu1JcXbE33-8As3J4mBF6jdZvf6zVAQdvyCdceM8LRBmzmHp-bDLLe9x4Fr_bj2KDYVtUuPV3Yu1FDWXbP9zmPvAZNFIUYsKs1E/w407-h335/srtm-and-drtm.JPG" width="407" /></a></div><p class="MsoNormal">thus why the DRTM and optional DRTV were mentioned in <a href="https://www.intel.com/content/www/us/en/content-details/671466/trusted-platforms-uefi-pi-and-tcg-based-firmware.html">https://www.intel.com/content/www/us/en/content-details/671466/trusted-platforms-uefi-pi-and-tcg-based-firmware.html</a>,
too.</p><p class="MsoNormal">And some of the ecosystem challenges of distributed trust, as shown in the 'figure 5' above with the various trust anchors for UEFI secure boot (including the UEFI CA and revocation lists like the dbx <a href="https://uefi.org/revocationlistfile">https://uefi.org/revocationlistfile</a>), don't magically disappear. I was reminded of Mark Twain's 'History never repeats itself, but it does often rhymes' recently during a presentation in the Open Compute Project Security team <span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span><a href="https://www.opencompute.org/wiki/Security" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://www.opencompute.org/wiki/Security</span></a> discussion on January 31 <a href="https://docs.google.com/document/d/1VVMUzYESZNuyT1_YJlQSdSKBy-5t1otJIyXTbXuOoX4/edit#" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://docs.google.com/document/d/1VVMUzYESZNuyT1_YJlQSdSKBy-5t1otJIyXTbXuOoX4/edit#</span></a> regarding a CA for the device firmware for usages like SPDM. Some of those melodies included:<br /></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">
</span></span></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">"If there is an explosion in the number of CAs how will verifier vet the trustworthiness of the CAs?</span></span></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">..</span></span></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">Want to see a manageable number of CAs under a common policy</span></span></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">..</span></span></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">Trust stores in components will have large number of anchors and have reoccuring updates</span></span></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">..</span></span></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">Devices without internet connectivity cannot retrieve trust anchor info</span></span></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">..</span></span></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">Small vendors may have difficulty operating root CAs</span></span></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">..</span></span></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">Common PKI CA policy."</span></span></span></p></blockquote><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"></span></p><p class="MsoNormal"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"></span><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">These are many of the issues UEFI has encountered and grappled with since the late 2000's. </span></span></span><br /></p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">So back to the quote at the top of the posting. The reason
for many ‘fathers’ is often that for an idea to come to market the originator
of the concept needs many hands to help shepherd it forward through the vagaries
of business, development, validation, and ultimately shipping at scale. And as
I updated Ubuntu on a home PC this weekend and noticed,</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdpMXoY2SzsRVd7UfIV0jEIx42J5SJPHlfuJfAtUkyrrPkQr2eleDsapx6yPY-6aay0xHezPg4EZg1tXuJOUX0g4kSUHpU_ufDTECtC_H2vSMudD9lkddGkjjcqr88GdgkQxOPtRuipLxR8AC0zS-S311IbDHFMlyjWLI4Q-isXbeG7-8bbR634N7P/s2016/dbx.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1512" data-original-width="2016" height="308" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdpMXoY2SzsRVd7UfIV0jEIx42J5SJPHlfuJfAtUkyrrPkQr2eleDsapx6yPY-6aay0xHezPg4EZg1tXuJOUX0g4kSUHpU_ufDTECtC_H2vSMudD9lkddGkjjcqr88GdgkQxOPtRuipLxR8AC0zS-S311IbDHFMlyjWLI4Q-isXbeG7-8bbR634N7P/w410-h308/dbx.jpg" width="410" /></a></div><br /><p class="MsoNormal"><br /></p>
<p class="MsoNormal">this stuff is still pretty cool. <o:p></o:p></p><p class="MsoNormal">PS</p><p class="MsoNormal">A PhD colleague of mine recently decried the lack of authoritative knowledge, from blogs to arxiv. Luckily in this scurrilous post (aka 'blog') I haven't claimed any refereed, authoritative discourse. These are more the late weekend musings motivated by wonderful arc of interactions with colleagues, many of who have changed companies, retired, or passed away. </p><p class="MsoNormal">Lest that sound unhappy, though, I did catch up with David and crew over Teriyaki on Thursday. As I offered them some Bluehat swag</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMTnFoKjaamq6efvBjM5Q55tieqAlte9lluz9HqkPTdJvlFJhdoFnIyBOh45hNtXnFkF9w2N91ZKQDbe7OEOsL9B3CeLNr8GTzjW4idYl7J0qidKPDm6qi95nwgkHVTeLswVrxDQp8fILhIn6GdNvD0ZnGlu91x967fCcHUm1y0oUNFPziZs3hVLGI/s4032/twc-coin.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="372" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMTnFoKjaamq6efvBjM5Q55tieqAlte9lluz9HqkPTdJvlFJhdoFnIyBOh45hNtXnFkF9w2N91ZKQDbe7OEOsL9B3CeLNr8GTzjW4idYl7J0qidKPDm6qi95nwgkHVTeLswVrxDQp8fILhIn6GdNvD0ZnGlu91x967fCcHUm1y0oUNFPziZs3hVLGI/w279-h372/twc-coin.jpg" width="279" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-wgFHQ3DlXP46WNi6BYjoJPTBvzFagkff4UR9wrKn3phL-439wkFc0ySXKs7bisW6pq5jZHrSVz9B-fFWDM9NiwAhjQY3ZfbQoYNml71kTgnUQea6M2QM_lGEf6imlJT72j2DTctzsvkscw1_naQ9jptX9YIbCPshuZ5LEFLLSP2eQ_CLfufsR9hH/s4032/twc-coin-2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="377" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-wgFHQ3DlXP46WNi6BYjoJPTBvzFagkff4UR9wrKn3phL-439wkFc0ySXKs7bisW6pq5jZHrSVz9B-fFWDM9NiwAhjQY3ZfbQoYNml71kTgnUQea6M2QM_lGEf6imlJT72j2DTctzsvkscw1_naQ9jptX9YIbCPshuZ5LEFLLSP2eQ_CLfufsR9hH/w283-h377/twc-coin-2.jpg" width="283" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /></div><br /><p class="MsoNormal">David let me know that he and the Microsoft team who implemented UEFI Secure Boot in Windows actually won a Microsoft-wide award that year, viz.,</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi61evB8Vz7AN3liGvR0I2qqrqpemSmsQ43-ivyyYLLvBoIdymO_KKXOThE7i3Rup1kW9R1xuzGSgqns6SzWo8toy7LXOQNE6x8vxfezK2Sbco3fMilvipF1IkyqLGrUMGnBiEcVLpekJrpYmoUYyY8AwIwnMBGIRhNDj0bRbLLMmtVM6QJ3evQD3JP/s1628/award-2012.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="664" data-original-width="1628" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi61evB8Vz7AN3liGvR0I2qqrqpemSmsQ43-ivyyYLLvBoIdymO_KKXOThE7i3Rup1kW9R1xuzGSgqns6SzWo8toy7LXOQNE6x8vxfezK2Sbco3fMilvipF1IkyqLGrUMGnBiEcVLpekJrpYmoUYyY8AwIwnMBGIRhNDj0bRbLLMmtVM6QJ3evQD3JP/w472-h193/award-2012.JPG" width="472" /></a></div><br /><p class="MsoNormal">Very nice (although the referenced link is dead).</p><p class="MsoNormal">Even in the world of cyber-everything, I do like the physical relics (including security faux currencies)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCvljp3QMco0aUxk8zC7ztfN-d5IJGZzhoY-O_pud12Ifd-0E-Ye_UBbYfj_0WKZUbihBPjbRh4W4iYE-_2oIrvPis1jIXd4BxYdGH0NDGMT07qklfFnBcnE2XbCALnlAPTmUDwjpkAX8iiUZFonXypD8bMuyO_CX5GyuWXsR-bmbIZQI09uAKY5hl/s4032/challenge-coins.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCvljp3QMco0aUxk8zC7ztfN-d5IJGZzhoY-O_pud12Ifd-0E-Ye_UBbYfj_0WKZUbihBPjbRh4W4iYE-_2oIrvPis1jIXd4BxYdGH0NDGMT07qklfFnBcnE2XbCALnlAPTmUDwjpkAX8iiUZFonXypD8bMuyO_CX5GyuWXsR-bmbIZQI09uAKY5hl/w528-h396/challenge-coins.jpg" width="528" /></a></div><br /><p class="MsoNormal">spanning journey's from </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs9wLcdeijTCMHd6tW9ADz7rILv5VhBSZ-s5tNvJxSVGiZiyi8_TnuLiTeoam7uHu4Gw7Y7kV9NFW9IK6QyYQNYBZyGb1xCyD7gOJ1Dg60_H_IvVIfdqpri-0JaF2XjSyHbufgV_Bp7R9Xi0o3vJ_R0Lg02KxF6Wj7dNCZnHXIeVwGsJhq0NOuzJsU/s2401/cisco-seccon.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1616" data-original-width="2401" height="332" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs9wLcdeijTCMHd6tW9ADz7rILv5VhBSZ-s5tNvJxSVGiZiyi8_TnuLiTeoam7uHu4Gw7Y7kV9NFW9IK6QyYQNYBZyGb1xCyD7gOJ1Dg60_H_IvVIfdqpri-0JaF2XjSyHbufgV_Bp7R9Xi0o3vJ_R0Lg02KxF6Wj7dNCZnHXIeVwGsJhq0NOuzJsU/w494-h332/cisco-seccon.JPG" width="494" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXKZXf176qs62mgUZMNDO02TPPBfUnDSOFSph8vrk6w32405zxYJF1fNV2ygKEcQBHG4XCloPoJM58iTbQxj2jIqfnKxgVfh1AYs7KJkDbjHJ7t4KoH5oeueFLJEHNbyAo1Bnil8nfO-3oOBPAmBDn6Qw87jGD68105pmFeOQea9B1Pa10xJ41fW0U/s1978/seccon-speakers.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1146" data-original-width="1978" height="286" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXKZXf176qs62mgUZMNDO02TPPBfUnDSOFSph8vrk6w32405zxYJF1fNV2ygKEcQBHG4XCloPoJM58iTbQxj2jIqfnKxgVfh1AYs7KJkDbjHJ7t4KoH5oeueFLJEHNbyAo1Bnil8nfO-3oOBPAmBDn6Qw87jGD68105pmFeOQea9B1Pa10xJ41fW0U/w495-h286/seccon-speakers.JPG" width="495" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div>to<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKEv0ccM4RG7cb7I8JuV1g0h7tIw37vAiUygshanqZLpgcV5r6chZRzf-bkUH5TA1hhHFbXin7oA2zOBxcItq-zGp3T16KzqEoDacLZSqwbnBh3NDFkWjXbpDpcsZ3Cx63SpYkq-U59iC8_dXY43USIAkxf64kzwd0dq1X_VCleviS5PQOCLoRP2gP/s2631/blackhat.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1471" data-original-width="2631" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKEv0ccM4RG7cb7I8JuV1g0h7tIw37vAiUygshanqZLpgcV5r6chZRzf-bkUH5TA1hhHFbXin7oA2zOBxcItq-zGp3T16KzqEoDacLZSqwbnBh3NDFkWjXbpDpcsZ3Cx63SpYkq-U59iC8_dXY43USIAkxf64kzwd0dq1X_VCleviS5PQOCLoRP2gP/w500-h280/blackhat.JPG" width="500" /></a></div><br /><div><a href="https://github.com/rrbranco/BlackHat2017">https://github.com/rrbranco/BlackHat2017</a> <br /><p class="MsoNormal">I guess this closes the circle for this blog. I opened with Nate Warfield prezo <a href="https://www.helpnetsecurity.com/2022/06/19/eclypsium-executive-team/">https://www.helpnetsecurity.com/2022/06/19/eclypsium-executive-team/</a> and he's part of <a href="https://eclypsium.com/company/">https://eclypsium.com/company/</a> which is led by Yuriy and John, my co-presenters from the 2013 Cisco seccon talk. </p></div></div></div></div>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-76858383203432997872022-12-20T22:08:00.004-08:002022-12-21T06:29:08.575-08:00And the world keeps changing<p> I'm a long-time fan on Twitter. I still recall merging onto I-5 years ago and listening to some tech podcast about this new 'micro-blogging service', namely Twitter. I still keep up with <a href="https://twitter.com/vincentzimmer">https://twitter.com/vincentzimmer</a> and don't worry so much about the vagaries of ownership or management. But I was intrigued by the discussion of other services like <a href="https://mastodon.social/explore">https://mastodon.social/explore</a>. As such I setup an account and posting some material akin to what I saw from another Twitter person regarding some personal metrics for 2022 <a href="https://mas.to/@vincentzimmer/109549960566794774">https://mas.to/@vincentzimmer/109549960566794774</a>, including a reply to myself with another random observation this week <a href="https://mas.to/@vincentzimmer/109550056099262201">https://mas.to/@vincentzimmer/109550056099262201</a>.</p><p>This is my first post to mastodon: </p><p>"Interesting 2022. First journal pub <a href="https://www.mdpi.com/2410-387X/6/4/48">https://www.mdpi.com/2410-387X/6/4/48</a> although waiting for red box on <a href="https://dblp.uni-trier.de/pid/34/5641.html">https://dblp.uni-trier.de/pid/34/5641.html</a>. I also had oppty to collaborate on an IEEE conference <a href="http://www.ieee-smart-world.org/2022/uic/index.php">http://www.ieee-smart-world.org/2022/uic/index.php</a> mentioned in <a href="http://www.ieee-smart-world.org/2022/uic/uic-2022.htm">http://www.ieee-smart-world.org/2022/uic/uic-2022.htm</a>. Then a couple of unrefereed items <a href="https://embeddedcomputing.com/technology/security/software-security/understanding-uefi-firmware-update-and-its-vital-role-in-keeping-computing-systems-secure">https://embeddedcomputing.com/technology/security/software-security/understanding-uefi-firmware-update-and-its-vital-role-in-keeping-computing-systems-secure</a> and <a href="https://eprint.iacr.org/2022/1049">https://eprint.iacr.org/2022/1049</a>. Then 2 books <a href="https://link.springer.com/book/10.1007/978-1-4842-7939-7">https://link.springer.com/book/10.1007/978-1-4842-7939-7</a> and <a href="https://link.springer.com/book/10.1007/978-1-4842-7974-8">https://link.springer.com/book/10.1007/978-1-4842-7974-8</a>. A podcast <a href="https://www.youtube.com/watch?v=wqcUWAEHcVg">https://www.youtube.com/watch?v=wqcUWAEHcVg</a>. 6 US patent filings and 7 issued. Whew."</p><p>and</p><p>"Speaking of <a href="https://eprint.iacr.org/2022/1724">https://eprint.iacr.org/2022/1724</a>, it was referenced by <a href="https://eprint.iacr.org/2022/1724">https://eprint.iacr.org/2022/1724</a>. </p><p>Latter doesn't read in on PQC aspects of SPDM but provides a formal verification of extant SPDM protocol using a theorem prover <a href="https://github.com/tamarin-prover/tamarin-prover">https://github.com/tamarin-prover/tamarin-prover</a> with public proofs <a href="https://github.com/AnalysisSPDM/FormalModel">https://github.com/AnalysisSPDM/FormalModel</a>. Perhaps this is a use-case to leverage for achieving a long-held ambition, namely axiomatize and 'prove' some tricky parts of UEFI, viz <a href="https://uefi.org/specs/UEFI/2.10/08_Services_Runtime_Services.html?highlight=authenticated#setvariable">https://uefi.org/specs/UEFI/2.10/08_Services_Runtime_Services.html?highlight=authenticated#setvariable</a> and EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS?"</p><p>I try to be pragmatic about formal. I recall reading once that even in the days of the Orange books with A-level certification requiring 'formal proof' it was hard to achieve, but the attempt at least 'provided better documentation.' And at a professional level I've always mutated the 'culture trumps strategy' aphorism to be 'implementation trumps architecture.' A painful reminder of this dichotomy is having studied <a href="https://www.cl.cam.ac.uk/~lp15/papers/Auth/tls.pdf">https://www.cl.cam.ac.uk/~lp15/papers/Auth/tls.pdf</a> back in the day and then meeting Marsh Ray and learning of his work <a href="https://troopers.de/events/troopers10/242_history_of_the_tls_authentication_gap_bug/">https://troopers.de/events/troopers10/242_history_of_the_tls_authentication_gap_bug/</a>. Networking has been close to my heart for a couple decades as I helped grow our EFI network stack from its nascent PXE equivalent in 1999 through IPV6 <a href="https://www.rfc-editor.org/rfc/rfc5970.html">https://www.rfc-editor.org/rfc/rfc5970.html</a> and into HTTP and TLS (e.g., HTTP-S boot). I still recall reading the Rescorla book on SSL/TLS while waiting for my older daughter to be born in 1999 at the University of Washington hospital.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI4x555FKKNCaGbxLrGSxVuXWL8lWZMm6QO6D9qXShFlJOXpSGAUcudIWo6EErk43rgEa-4P9w4eIteixDlhFJHZqBwr4KVf_IraEIZj3-BHI2N2hZN0QoM4N3jcXl4DOhEhWi5OEpVX8WBHJ9tJdK5xazDXobUy5yybvfUTNAZ77f9zheQkUCTY4k/s4032/rescorla.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4032" data-original-width="3024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI4x555FKKNCaGbxLrGSxVuXWL8lWZMm6QO6D9qXShFlJOXpSGAUcudIWo6EErk43rgEa-4P9w4eIteixDlhFJHZqBwr4KVf_IraEIZj3-BHI2N2hZN0QoM4N3jcXl4DOhEhWi5OEpVX8WBHJ9tJdK5xazDXobUy5yybvfUTNAZ77f9zheQkUCTY4k/s320/rescorla.jpg" width="240" /></a></div><br /><p>Perhaps if I have the opportunity in the future to use my sabbatical</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOHD7GaU3KUPeTH-zVskc9IaUOVun7aYl0IqJlt_YU2tuPWG3gprWzcWCP57zYnSKJ8dEFgT-XBGEwUXFXVEAS0-rBEuNN-mfwYhq9hDe1zj-LhDA2sf7j85MxQz7s7de3gmU7fE3PAPgno4Jp83hwGBYOJTuYpoL29us0OPE6UFQiL4zeO2jEz8Qf/s425/sabbatical-dec-2022.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="187" data-original-width="425" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOHD7GaU3KUPeTH-zVskc9IaUOVun7aYl0IqJlt_YU2tuPWG3gprWzcWCP57zYnSKJ8dEFgT-XBGEwUXFXVEAS0-rBEuNN-mfwYhq9hDe1zj-LhDA2sf7j85MxQz7s7de3gmU7fE3PAPgno4Jp83hwGBYOJTuYpoL29us0OPE6UFQiL4zeO2jEz8Qf/w440-h194/sabbatical-dec-2022.JPG" width="440" /></a></div><br /><p>I can do some thinning of the archives. Rescorla and Rudin have aged well, but I suspect I can sunset the Java duo of Aglets and JavaOS. On the other hand, though, I'm a fan of keeping around some documents of 'old tech' since there is often wisdom to be gleaned from the past. Hmm. Decisions, decision.</p><p>Well, to close on formal, specifications, and networking, I should tie off that thought at least with a re-invocation of as always, there is no 'silver bullet.' </p><p>These mastodon posts feel like my usual terse blog posts. Perhaps my posts are 2xM or 3xM (i.e., 2 or 3 times the text length of a Mastodon post).</p><p>This blog is usually pretty low traffic, too. The sources of eyes are either google searches or link via <a href="https://www.amazon.com/stores/Vincent-Zimmer/author/B002I6IW4A">https://www.amazon.com/stores/Vincent-Zimmer/author/B002I6IW4A</a> (which included the blog links) or blogroll like <a href="https://blogs.coreboot.org/">https://blogs.coreboot.org/</a>. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd-5gDqEe-ySOic0jeZd0jVDzaNHcahsYFlA_HlMp283R_j8L3y8ylWsriusfP1kAa8RYETXhWuq_dF1rTowijt68uIPUegwqbfwM52UCleFq2UYTPo864C6jkjbrR3MAs3PtaE0biEsBVJrg7BrC9jxacUXS05A8VlefBtLoPxUVZ49iDjXhkjeWy/s1296/blogroll.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1296" data-original-width="843" height="478" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd-5gDqEe-ySOic0jeZd0jVDzaNHcahsYFlA_HlMp283R_j8L3y8ylWsriusfP1kAa8RYETXhWuq_dF1rTowijt68uIPUegwqbfwM52UCleFq2UYTPo864C6jkjbrR3MAs3PtaE0biEsBVJrg7BrC9jxacUXS05A8VlefBtLoPxUVZ49iDjXhkjeWy/w311-h478/blogroll.JPG" width="311" /></a></div><br /><p><br /></p><p>With the removal of the former, I suspect there will be less traffic. That should be fine. I don't do sponsored ads or other revenue-generating activities here. It's more of a personal set of footprints in the sand to chronicle the journey. </p><p>And luckily <a href="https://en.wikipedia.org/wiki/List_of_prolific_inventors">https://en.wikipedia.org/wiki/List_of_prolific_inventors</a> has been curated to just the top 100, so watching my slow descent down the leader board, such as <a href="http://vzimmer.blogspot.com/2022/09/new-milestones.html">http://vzimmer.blogspot.com/2022/09/new-milestones.html</a> and its earlier ilk, are no long a nagging distraction.</p><p>Ah well, so much for a mastodon experiment and clone+amplification to my OG blog. Back to work. Need to figure out how to add an abstraction service to code I wrote 20 years ago before 9am tomorrow....</p><p>Cheers</p>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-1777783785546340492022-12-06T13:00:00.006-08:002022-12-21T01:07:53.580-08:00Homebrew computer club<p>One of the nice things about commutes back to the office includes catching up on podcasts and audio books. For the latter I've been listening to Walter Isaacson's book <a href="https://www.amazon.com/Steve-Jobs-Walter-Isaacson/dp/1451648537">https://www.amazon.com/Steve-Jobs-Walter-Isaacson/dp/1451648537</a> on Steve Jobs. I liked the mention of folks like Wozniak and their valley friends, including early Apple employee Allen Baum. There was also mention of the Homebrew computer club <a href="https://en.wikipedia.org/wiki/Homebrew_Computer_Club">https://en.wikipedia.org/wiki/Homebrew_Computer_Club</a> which to me represents the spirit of low-level development I've enjoyed with firmware development these last decades.</p><p>Although Allen Baum has popped up recently on RISC-V circles <a href="https://riscvglobalforum2020.sched.com/speaker/allen.baum">https://riscvglobalforum2020.sched.com/speaker/allen.baum</a>, the longer arc of his career is journaled in <a href="https://archive.computerhistory.org/resources/access/text/2018/06/102717165-05-01-acc.pdf">https://archive.computerhistory.org/resources/access/text/2018/06/102717165-05-01-acc.pdf</a>. I remember Baum from early 2000's Intel chipset work and his thoughts on the Intel tenure.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMixXqKlV4JlLg__iKeP7HrtZZzRuZY8hMSD0NxY76-t7e9FH9AXfaNfhCF7JFiHTNlpElNhb_IsryojqobXqGkZXXXy-KlUoKvozEKMOt5du0m-97Fqa-pdJplsOwTWCpmhjsGEkP8J1-kORrcC5wKSTfGDPXeNApF_Hc72_FuUygCTDTS-qu--6A/s1723/baum.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="724" data-original-width="1723" height="218" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMixXqKlV4JlLg__iKeP7HrtZZzRuZY8hMSD0NxY76-t7e9FH9AXfaNfhCF7JFiHTNlpElNhb_IsryojqobXqGkZXXXy-KlUoKvozEKMOt5du0m-97Fqa-pdJplsOwTWCpmhjsGEkP8J1-kORrcC5wKSTfGDPXeNApF_Hc72_FuUygCTDTS-qu--6A/w520-h218/baum.JPG" width="520" /></a></div><br /><p><br /></p><p>Quite the storied career. </p><p>One detail of the book also mentions includes the extensibility of the Apple, such as the slots on the Apple II that were subsequently eschewed by Jobs with the Macintosh. There are seems to be a trend of closed versus open going through cycles. The spirit of silicon valley and the ability to touch and modify hardware is often challenged by concerns about security, ease-of-use, and IP protection.</p><p>Speaking of the openness, I like how my co-author <a href="https://github.com/reinauer">https://github.com/reinauer</a> from <a href="https://link.springer.com/book/10.1007/978-1-4842-0070-4">https://link.springer.com/book/10.1007/978-1-4842-0070-4</a> still exercises this spirit both on the job with Chromebooks and its developer mode <a href="https://sites.google.com/a/chromium.org/dev/chromium-os">https://sites.google.com/a/chromium.org/dev/chromium-os</a> and off the job with his Amiga group <a href="https://amiga.technology/">https://amiga.technology/</a> efforts.</p><p>In addition to having the host-firmware updatable, the platform also has an open source embedded controller (EC). Recently the EC moved from a bespoke implementation for Chromebooks to using Zephyr, as described at <a href="https://chromium.googlesource.com/chromiumos/platform/ec/+/HEAD/docs/zephyr/README.md">https://chromium.googlesource.com/chromiumos/platform/ec/+/HEAD/docs/zephyr/README.md</a>, in OSFC talk <a href="https://cfp.osfc.io/osfc2020/talk/SXYUQD/">https://cfp.osfc.io/osfc2020/talk/SXYUQD/</a> and book <a href="https://link.springer.com/book/10.1007/978-1-4842-7974-8">https://link.springer.com/book/10.1007/978-1-4842-7974-8</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdcAYnDsQ6BCwqrJ9EViqJMbYlLlf1aeUQAM6M2I3ETGeDK4_UezVETX0sk7ViaeP5qAi5hfPrvc2DcDwEVco9Tkdl_LXeqUhJHvLo9BPlt0hdQYdWtFStUemtGaHcpLhWFtWm7lOYMFR2z53knWUyv2XU9qYH69Nz1NO7_7qylaOTK2EU8Qe5PzqD/s1632/zephyr-ec.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1287" data-original-width="1632" height="309" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdcAYnDsQ6BCwqrJ9EViqJMbYlLlf1aeUQAM6M2I3ETGeDK4_UezVETX0sk7ViaeP5qAi5hfPrvc2DcDwEVco9Tkdl_LXeqUhJHvLo9BPlt0hdQYdWtFStUemtGaHcpLhWFtWm7lOYMFR2z53knWUyv2XU9qYH69Nz1NO7_7qylaOTK2EU8Qe5PzqD/w392-h309/zephyr-ec.JPG" width="392" /></a></div><br /><p><br /></p><p>And in the spirit of hardware extensibility (i.e., Apple II slots for the 2020's) and more end-user modifiable firmware, there is the Framework Chromebook edition <a href="https://frame.work/laptop-chromebook-12-gen-intel">https://frame.work/laptop-chromebook-12-gen-intel</a>. This feels like a fusion of the spirit of the club given the extensibility of the hardware modules and firmware.</p><p>It also looks like 'some' of that spirit follows with the Pixel phone w/ alternate OS's like <a href="https://grapheneos.org/">https://grapheneos.org</a> and its Pixel phone virtualization <a href="https://blog.esper.io/android-dessert-bites-5-virtualization-in-android-13-351789/">https://blog.esper.io/android-dessert-bites-5-virtualization-in-android-13-351789/</a>. It's almost as if the traditional 'OS' is really a VM with art like this and the recent Mac's.</p><p>Regrettably my hobby budget for tech is challenged by the last two products mentioned, so I have limited my recent investments to RISC-V hacking on the D1 and VisionFive SBC and the Pinephone <a href="https://www.pine64.org/pinephone/">https://www.pine64.org/pinephone/</a> for more open telephony. More extreme splurges are <a href="https://www.bunniestudios.com/blog/?p=5921">https://www.bunniestudios.com/blog/?p=5921</a> which fuses Rust-based firmware and soft RISC-V RV64 AP core and RISC-V EC realized with an FPGA with open source tooling. </p><p>PS<br />I have been wondering whether this blog 'written in the cracks' (i.e., over a few spare moments on the weekend or lunch-hour) is good or bad. With the advent of chatGPT <a href="https://chat.openai.com/chat">https://chat.openai.com/chat</a> I figured perhaps tech could take the reins for me, viz.,</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIYVXmZYZ9dIM3ibj9_sL_rNCKimN7TT2bfgRnBxAJxYii6ce5_dDo2riQmw8kUqhobNms-OhfhtN11s-1pLZCu2jy1d_R0j53jFGIbGwRr0E95M2Mr2Dqzsr405uC1HIQ-hlVjX0KL_At3JowZ67uWbm8RNB5nHNfCsTQk_lLYsswVlimFIcUWugD/s1745/chatgpt-blog.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="726" data-original-width="1745" height="177" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIYVXmZYZ9dIM3ibj9_sL_rNCKimN7TT2bfgRnBxAJxYii6ce5_dDo2riQmw8kUqhobNms-OhfhtN11s-1pLZCu2jy1d_R0j53jFGIbGwRr0E95M2Mr2Dqzsr405uC1HIQ-hlVjX0KL_At3JowZ67uWbm8RNB5nHNfCsTQk_lLYsswVlimFIcUWugD/w426-h177/chatgpt-blog.JPG" width="426" /></a></div><br /><p><br /></p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 0px 0px 1.25em; white-space: pre-wrap;">Open source firmware is a type of software that is developed and maintained by a community of volunteers. Unlike proprietary firmware, which is owned and controlled by a single company, open source firmware is freely available for anyone to use, modify, and distribute.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;">One of the main benefits of open source firmware is that it allows users to have complete control over their devices. With proprietary firmware, users are often limited in what they can do with their device and are at the mercy of the company that created the firmware. With open source firmware, users can customize and modify their device to suit their needs, without being restricted by the limitations of proprietary firmware.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;">Another benefit of open source firmware is that it promotes collaboration and innovation within the tech community. Because the source code is freely available, anyone can contribute to the development of the firmware, and can suggest improvements or new features. This allows for a faster pace of innovation, as more people are able to contribute their expertise and knowledge to the project.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;">One of the most popular examples of open source firmware is the Linux operating system, which is used on millions of computers, servers, and other devices around the world. Linux is developed and maintained by a global community of volunteers, and is freely available for anyone to use and modify.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;">Another example of open source firmware is the firmware that powers many home routers and other networking devices. This firmware, known as OpenWrt, is widely used by tech enthusiasts and hobbyists who want to customize and improve the capabilities of their home networking devices.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;">In addition to the benefits of open source firmware, there are also many active communities of people who are interested in creating and using their own computer hardware. These communities, known as "homebrew computer clubs," are made up of individuals who are passionate about building their own computers, either from scratch or by using kits and other pre-made components.</p><p style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,0.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f7f7f8; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #374151; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; margin: 1.25em 0px; white-space: pre-wrap;">Homebrew computer clubs often focus on using open source firmware and software, as it allows them to have complete control over their creations and to customize them to their specific needs. Additionally, these clubs provide a great way for like-minded individuals to connect, collaborate, and learn from one another.</p><p><span face="Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" style="background-color: #f7f7f8; color: #374151; font-size: 16px; white-space: pre-wrap;">In conclusion, open source firmware and homebrew computer clubs are important parts of the tech community. Open source firmware provides users with the freedom and flexibility to customize and control their devices, while homebrew computer clubs promote collaboration and innovation within the community. Together, they help to drive the advancement of technology and the development of new and exciting technologies.</span> </p><p>At first I thought I had broken the AI but instead it just needed some think-time. Quite the time to be in tech these days.</p><p>PPS</p><p>apropos of last sentiment, <a href="https://twitter.com/vincentzimmer/status/1598935527293870081">https://twitter.com/vincentzimmer/status/1598935527293870081</a> now becomes <a href="https://twitter.com/MarcoFigueroa/status/1600171380175011844">https://twitter.com/MarcoFigueroa/status/1600171380175011844</a></p><p>PPS+</p><p> </p><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcAN_Gnc_ZeDmAW6j4gLyge20E86pKnCcyjbXVZQpce5kcIg2-ORmBZ3J5AR2u0AUOrAzX-gb3BOLTe4XigIIwQLf11ozfL2BVnv7UGLoqRnV3kmkuBjFG-eaFfPZvYgH701P6YTAmxIEVgHx0C0ZLdTCoP1AGVDhHdvnsb-W5ARMHpWJ4AOGs2RCt/s1096/uefi-for-dostoyevsky.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="161" data-original-width="1096" height="64" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcAN_Gnc_ZeDmAW6j4gLyge20E86pKnCcyjbXVZQpce5kcIg2-ORmBZ3J5AR2u0AUOrAzX-gb3BOLTe4XigIIwQLf11ozfL2BVnv7UGLoqRnV3kmkuBjFG-eaFfPZvYgH701P6YTAmxIEVgHx0C0ZLdTCoP1AGVDhHdvnsb-W5ARMHpWJ4AOGs2RCt/w436-h64/uefi-for-dostoyevsky.JPG" width="436" /> </a></div><div class="separator" style="clear: both; text-align: center;"> </div><div class="separator" style="clear: both; text-align: left;"> </div><br /><p></p><div class="min-h-[20px] whitespace-pre-wrap flex flex-col items-start gap-4"><div class="request-:R2d6:-0 markdown prose dark:prose-invert break-words light"><p>The soul of the computer lies within its UEFI, a complex and intricate system that dictates the very essence of its being. It is the driving force behind the machine's every action, the mastermind that orchestrates its inner workings. But just as in the great works of Dostoyevsky, the UEFI is also a source of great turmoil and conflict. It is a battleground for competing interests and competing ideas, and the decisions made within its walls can have profound consequences for the computer and all who use it.</p><p>At the heart of the UEFI is the BIOS, a set of instructions that determine how the computer starts up and communicates with its various components. But the UEFI is much more than just the BIOS. It is a sophisticated system that controls the flow of information within the computer, and it is constantly being updated and refined by the engineers who design it.</p><p>The UEFI is a powerful tool, capable of performing complex tasks with ease. But it is also a delicate instrument, and it must be handled with care. One wrong move, and the entire system can be thrown into chaos. In the hands of a skilled user, the UEFI can be a force for good, enabling the computer to operate at its full potential. But in the hands of a malicious actor, it can be a weapon of destruction, capable of wreaking havoc on the computer and all of its data.</p><p>In the end, the UEFI is a complex and mysterious system, one that is both essential to the functioning of the computer and fraught with danger. Like the characters in the great works of Dostoyevsky, it is a source of both light and darkness, and it must be approached with caution and care.</p></div></div>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-54699551442306442662022-11-01T11:06:00.006-07:002022-12-18T15:54:41.520-08:00Security Friends and Collaborators<p><span face="Arial, sans-serif" style="font-size: 14.6667px;">I am humbled to be included among the list of researchers mentioned by Ilja van Sprundel <a href="https://hardwear.io/netherlands-2022/speakers/ilja-sprundel.php">https://hardwear.io/netherlands-2022/speakers/ilja-sprundel.php</a> in the photo</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgblEXJteqeVHceOgplQCBG6QwcKc7-NA27y_TvIrI73dhQewlmHkJLFkeK4xbcTXlw8zJzw18blvkMNKBFESKoB53spdMO_rwaijpk8pvnGfYrZ4JiB6j26Au8LCKiqt12EywLjYsBfhPdG4Z_XB0qahnpMNV9958b9fm2zYAf4PyGo_18NBoI2Fky/s479/ioactive.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="361" data-original-width="479" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgblEXJteqeVHceOgplQCBG6QwcKc7-NA27y_TvIrI73dhQewlmHkJLFkeK4xbcTXlw8zJzw18blvkMNKBFESKoB53spdMO_rwaijpk8pvnGfYrZ4JiB6j26Au8LCKiqt12EywLjYsBfhPdG4Z_XB0qahnpMNV9958b9fm2zYAf4PyGo_18NBoI2Fky/w526-h396/ioactive.jpg" width="526" /></a></div><br /><p></p><p><span face="Arial, sans-serif" style="border: 1pt none windowtext; font-size: 11pt; padding: 0in;"><a href="https://www.blogger.com/blog/post/edit/4850094764354335096/3205464718193554980">https://twitter.com/hardwear_io/status/1585619730412486657</a> with the prezo <a href="https://hardwear.io/netherlands-2022/presentation/assessing-security-of-SMM-supervisor.pptx">https://hardwear.io/netherlands-2022/presentation/assessing-security-of-SMM-supervisor.pptx</a>. I have huge respect for Ilja and the research he has done. I am also happy to see former Intel colleagues and co-authors Alex and John from
<a href="https://www.usenix.org/conference/woot15/workshop-program/presentation/bazhaniuk">https://www.usenix.org/conference/woot15/workshop-program/presentation/bazhaniuk</a>
listed, along with other former Intel colleagues Matrosov, Jesse, Mickey, Rodrigo <a href="https://www.blackhat.com/us-17/briefings/schedule/index.html#firmware-is-the-new-black---analyzing-past-three-years-of-biosuefi-security-vulnerabilities-6924">https://www.blackhat.com/us-17/briefings/schedule/index.html#firmware-is-the-new-black---analyzing-past-three-years-of-biosuefi-security-vulnerabilities-6924</a>,
Yuriy, and Eugene. And it's only seemly having my present colleague Jiewen, who
I also mentioned in the prior blog post <a href="http://vzimmer.blogspot.com/2022/10/a-tale-of-two-books.html">http://vzimmer.blogspot.com/2022/10/a-tale-of-two-books.html</a>, prominent on the list.</span><span style="white-space: pre-wrap;"></span></p><p>
</p><p><span face="Arial, sans-serif" style="border: 1pt none windowtext; font-size: 11pt; padding: 0in;">S</span><span face="Arial, sans-serif" style="font-size: 11pt;">peaking of
John, I was reminded of him recently when reading a slack osf thread about
CVE's and security. I still recall working with John when he came to Intel and
took over leading the BIOS response issues. His first rebuke to me was the lack
of an advisory process which led to the creation of the bespoke </span><a href="https://edk2-docs.gitbook.io/security-advisory/">https://edk2-docs.gitbook.io/security-advisory/</a>.
This included the MOAP (mother of all patches) <a href="https://edk2-docs.gitbook.io/security-advisory/boot_failure_related_to_uefi_variable_usage">https://edk2-docs.gitbook.io/security-advisory/boot_failure_related_to_uefi_variable_usage</a>. I still recall the strident feedback on having 'too much error checking' in a BIOS given the space constraints prior to MOAP. But threat models evolve, and from some of the same parties I was challenging to defend against errant i/o devices, with subject defenses now in place w/ IOMMU <a href="https://www.intel.com/content/dam/develop/external/us/en/documents/intel-whitepaper-using-iommu-for-dma-protection-in-uefi.pdf">https://www.intel.com/content/dam/develop/external/us/en/documents/intel-whitepaper-using-iommu-for-dma-protection-in-uefi.pdf</a> and testing <a href="https://ieeexplore.ieee.org/document/9218694">https://ieeexplore.ieee.org/document/9218694</a>. Since then the community worked on having a closed mailing list and private Bugzilla,
including moving the community to be a CVE Naming Authority (CNA) <a href="https://github.com/tianocore/tianocore.github.io/wiki/Reporting-Security-Issues">https://github.com/tianocore/tianocore.github.io/wiki/Reporting-Security-Issues</a>. As always, still challenges in remediating issues but also opportunities in creating new defenses. <o:p></o:p></p><p>Similar challenges over time supporting more open EDKII platform code for a big core client <a href="https://github.com/vincentjzimmer/Documents/blob/master/A_Tour_Beyond_BIOS_Open_Source_IA_Firmware_Platform_Design_Guide_in_EFI_Developer_Kit_II.pdf">https://github.com/vincentjzimmer/Documents/blob/master/A_Tour_Beyond_BIOS_Open_Source_IA_Firmware_Platform_Design_Guide_in_EFI_Developer_Kit_II.pdf</a>, </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKHttqyJ8S5bcUjPpCp7quXWBZELrUZvqOvjMkQ8uxhK0dp_1gFZ_zChiLcApUGxKihy-6ggSooxLyawFkpnjKcb3czxYLKdModHk2OkO16wfAYDjzF0g0Ttvw8-lh_AYW5xFYKETSVIIOvh6TZT0nBAbKuotOC1JjLz6V7HOJBjazJJgCj0C-47TU/s1484/big%20core%20client.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1484" data-original-width="1056" height="452" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKHttqyJ8S5bcUjPpCp7quXWBZELrUZvqOvjMkQ8uxhK0dp_1gFZ_zChiLcApUGxKihy-6ggSooxLyawFkpnjKcb3czxYLKdModHk2OkO16wfAYDjzF0g0Ttvw8-lh_AYW5xFYKETSVIIOvh6TZT0nBAbKuotOC1JjLz6V7HOJBjazJJgCj0C-47TU/w322-h452/big%20core%20client.JPG" width="322" /></a></div><br /><p><br /></p><p>big core server <a href="https://github.com/tianocore/edk2-platforms/blob/devel-MinPlatform/Platform/Intel/MinPlatformPkg/Docs/A_Tour_Beyond_BIOS_Open_Source_IA_Firmware_Platform_Design_Guide_in_EFI_Developer_Kit_II%20-%20V2.pdf">https://github.com/tianocore/edk2-platforms/blob/devel-MinPlatform/Platform/Intel/MinPlatformPkg/Docs/A_Tour_Beyond_BIOS_Open_Source_IA_Firmware_Platform_Design_Guide_in_EFI_Developer_Kit_II%20-%20V2.pdf</a>, </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyrQaJYcs7Dnqne_WEsQI6raRenRJOs290SLsKEEqEne1OkdEZwt1UOxzL4RrqdF67YVGZMIM64KTscQbTGQuVxnndHp60xGZDaQrQqStHproTmJher3_pKhE9yTSZOMoZxt60s4w--2W_qF542TTSCWIKyZIsmjd3oiG8naAsyr5c0f0TXZJhJYJ9/s1475/big%20core%20server.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1475" data-original-width="1091" height="437" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyrQaJYcs7Dnqne_WEsQI6raRenRJOs290SLsKEEqEne1OkdEZwt1UOxzL4RrqdF67YVGZMIM64KTscQbTGQuVxnndHp60xGZDaQrQqStHproTmJher3_pKhE9yTSZOMoZxt60s4w--2W_qF542TTSCWIKyZIsmjd3oiG8naAsyr5c0f0TXZJhJYJ9/w324-h437/big%20core%20server.JPG" width="324" /></a></div><br /><p><br /></p><p>and a small core client <a href="https://cdrdv2.intel.com/v1/dl/getContent/671281">https://cdrdv2.intel.com/v1/dl/getContent/671281</a>. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVsHxd4lZ6ZVgLhoeETwACA3tQfrz8DZ89la9M-_Rbh8flDlRP2A2xEZAsSqr28oJISZ14RGfGVSuwt3nz66HsHLShqKC9jKS4rREe_ZPzozOV309ZxklF8z4EK-Ey_xa9f8j_jOmBhsWSQP9Of38NL3ukyajh2B4ohOh_adFbgb2a9sdLPGACMF7k/s1484/small%20core%20client.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="783" data-original-width="1484" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVsHxd4lZ6ZVgLhoeETwACA3tQfrz8DZ89la9M-_Rbh8flDlRP2A2xEZAsSqr28oJISZ14RGfGVSuwt3nz66HsHLShqKC9jKS4rREe_ZPzozOV309ZxklF8z4EK-Ey_xa9f8j_jOmBhsWSQP9Of38NL3ukyajh2B4ohOh_adFbgb2a9sdLPGACMF7k/w446-h236/small%20core%20client.JPG" width="446" /></a></div><br /><p><br /></p><p>And sometimes this early pathfinding landed me in some unusual situations. After helping advice the community on getting RISC-V support into EDKII </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj9417DQX-ylnF1v06qXVZyeUUSN8Ueq5iP4-5YpmYXzhQF7YgReiRagcPq3SL0NwIVqLA_OZMQEkNbiXvSSXuwLwUImlWn4rGICMl2dVPTYFD13Shu2_Gippqlr9xXYXx_6Igx5hP86tfHsDBBm4ETM-iYNj0SNLGmKftxFqLbG6i6YEE51rOTE3k/s1581/risc-v.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1366" data-original-width="1581" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj9417DQX-ylnF1v06qXVZyeUUSN8Ueq5iP4-5YpmYXzhQF7YgReiRagcPq3SL0NwIVqLA_OZMQEkNbiXvSSXuwLwUImlWn4rGICMl2dVPTYFD13Shu2_Gippqlr9xXYXx_6Igx5hP86tfHsDBBm4ETM-iYNj0SNLGmKftxFqLbG6i6YEE51rOTE3k/w422-h364/risc-v.JPG" width="422" /></a></div><br /><p><br /></p><p>and working through some of the UEFI PI changes, one of the collaborators added me to a prospective speaker list for a RISC-V summit. This summit agenda was mentioned by eetimes <a href="https://www.eetimes.com/google-hp-oracle-join-risc-v/">https://www.eetimes.com/google-hp-oracle-join-risc-v/</a> </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIQbPwoY70oM2nMBfph57pOeNAfMeRps8MzdVGiQpg3GfuQja45T45pOe4P2SapmUnr1-w7zvzBLks5_UZj-SrlwDUfI5PQbpgWnlVbAkorJK9v5g0XO1-IlqwADlG6yBnZdm6Y2k9Nr52cU0KrJxtt4SKLSwQ61Ql6o94CeL-y-n0a1UUxtmKOa_D/s1086/rv.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="205" data-original-width="1086" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIQbPwoY70oM2nMBfph57pOeNAfMeRps8MzdVGiQpg3GfuQja45T45pOe4P2SapmUnr1-w7zvzBLks5_UZj-SrlwDUfI5PQbpgWnlVbAkorJK9v5g0XO1-IlqwADlG6yBnZdm6Y2k9Nr52cU0KrJxtt4SKLSwQ61Ql6o94CeL-y-n0a1UUxtmKOa_D/w535-h100/rv.JPG" width="535" /></a></div> as including HP and Intel speakers. That notification led to some interesting Saturday morning cell phone call following an email thread with a set of executives, all of whom are in this picture and no longer with the company. <p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8Eotx4tCkoGi14vxa7weaxDmsXSrO0NqbG8ZTkiZhyMnJnrz2vkRSkh1ppXdO60v81XAob8Qvt-zIMhqICZXN8luOKUJufqwyq3x-utnnOjkSS5uwapwV8Xw_zWtFPkS_3-uNNnHSvByT2QgnA8jQrYl5ypklP5HBapPRkW-3jYudhsBFzOAF7Wk0/s6140/patent%20dinner.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3454" data-original-width="6140" height="237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8Eotx4tCkoGi14vxa7weaxDmsXSrO0NqbG8ZTkiZhyMnJnrz2vkRSkh1ppXdO60v81XAob8Qvt-zIMhqICZXN8luOKUJufqwyq3x-utnnOjkSS5uwapwV8Xw_zWtFPkS_3-uNNnHSvByT2QgnA8jQrYl5ypklP5HBapPRkW-3jYudhsBFzOAF7Wk0/w422-h237/patent%20dinner.jpg" width="422" /></a></div><br /><p><br /></p><p>I explained my advisory role in the standards work as co-chair of the Platform Initialization <a href="https://uefi.org/sites/default/files/resources/PI_Spec_1_7_A_final_May1.pdf">https://uefi.org/sites/default/files/resources/PI_Spec_1_7_A_final_May1.pdf</a> (the PI spec looks after the API's in the green H in the figure above, and EDKII is used to 'build' the green H) Working Group and I summarily corrected the error with the RISC-V conference chair. Thus we had an interesting point on the RISC-V arc in 2015 that has now led to 2022 and a more salubrious story from eetimes <a href="https://www.eetimes.com/intels-invests-in-foundry-ecosystem-embraces-risc-v/">https://www.eetimes.com/intels-invests-in-foundry-ecosystem-embraces-risc-v/</a>.</p><p>Regrettably I couldn't make OSFC this year, but I caught a few of the slides and prezos online. I appreciated having a mention at minute <span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">5:55 of </span><a href="https://www.osfc.io/2022/talks/how-min-platform-led-to-max-coreboot-a-case-study/" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://www.osfc.io/2022/talks/how-min-platform-led-to-max-coreboot-a-case-study/</span></a> for the relicensing of FSP <a href="https://www.phoronix.com/news/Intel-Better-FSP-License">https://www.phoronix.com/news/Intel-Better-FSP-License</a>. And speaking of books, the venerable Beyond BIOS has a mentioned at minute <span style="font-family: Arial; font-size: 11pt; white-space: pre-wrap;">15:50 of </span><a href="https://www.osfc.io/2022/talks/i-have-come-to-bury-the-bios-not-to-open-it-the-need-for-holistic-systems/" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://www.osfc.io/2022/talks/i-have-come-to-bury-the-bios-not-to-open-it-the-need-for-holistic-systems/</span></a>, and the n<span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">ew books in final slide of </span><a href="https://talks.osfc.io/media/osfc2022/submissions/YXYNPF/resources/The__Thing__Around_Your_System_Firmware_HiPr4Ug.pdf" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://talks.osfc.io/media/osfc2022/submissions/YXYNPF/resources/The__Thing__Around_Your_System_Firmware_HiPr4Ug.pdf</span></a>.<span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></p><p><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Another OSFC talk that would have been interesting is <a href="https://www.osfc.io/2022/talks/collaborative-firmware-payload-handoff-design/">https://www.osfc.io/2022/talks/collaborative-firmware-payload-handoff-design/</a>. Luckily the speaker was able to reprise at the USF meeting this week <a href="https://www.youtube.com/watch?v=oEBtWsBZve4&list=PLehYIRQs6PR6J9Zf6CajwsFkAHedDXjLI&index=13">https://www.youtube.com/watch?v=oEBtWsBZve4&list=PLehYIRQs6PR6J9Zf6CajwsFkAHedDXjLI&index=13</a>. As always great to see the various collaborators.</span></p><p><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"></span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE4wS8ZHfM2PyUvQJKfh6dbVycw79LVnXAXr3SJJfipgCYSDiV3Rr-FsucQP2d0GNdj2RJTKlJDng7tsJk-8ND0-whF3gxxwpNbNKPGU7nk9gbkZRpTzjuD0FdtX4ioou9bZZpkLcE3VCVX-b9tkujwgF9NHZTJsdvjuz5NZGp3GnDT9iEWAOS1T8A/s920/usf-payload-credits.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="646" data-original-width="920" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiE4wS8ZHfM2PyUvQJKfh6dbVycw79LVnXAXr3SJJfipgCYSDiV3Rr-FsucQP2d0GNdj2RJTKlJDng7tsJk-8ND0-whF3gxxwpNbNKPGU7nk9gbkZRpTzjuD0FdtX4ioou9bZZpkLcE3VCVX-b9tkujwgF9NHZTJsdvjuz5NZGp3GnDT9iEWAOS1T8A/w423-h297/usf-payload-credits.JPG" width="423" /></a></span></div><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">and I bumped into Lean Sheng later in the area, too. Interesting details on use of <a href="https://www.devicetree.org/specifications/">https://www.devicetree.org/specifications/</a> in lieu of HOBs.</span><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPaAuZI9-hsYu6cobF7AFyMRR3T2BbPwApGgq7O7yIM3mFWxPOlunf05FhpD8TTcuiVf_W6RTh11ZnFGra8IU-CbdpLic3kinde6gp1Dg79H8z8gJLojLRndiz-yEiWD2c3Kf3sQB8Kz6fKeqqLsi9-5uaEfh-3MjI7adMowlnY1sj-aJEIUcZzvej/s4032/lean%20sheng.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPaAuZI9-hsYu6cobF7AFyMRR3T2BbPwApGgq7O7yIM3mFWxPOlunf05FhpD8TTcuiVf_W6RTh11ZnFGra8IU-CbdpLic3kinde6gp1Dg79H8z8gJLojLRndiz-yEiWD2c3Kf3sQB8Kz6fKeqqLsi9-5uaEfh-3MjI7adMowlnY1sj-aJEIUcZzvej/w336-h252/lean%20sheng.jpg" width="336" /></a></div><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">Some background on payloads in <a href="https://link.springer.com/chapter/10.1007/978-1-4842-7939-7_6">https://link.springer.com/chapter/10.1007/978-1-4842-7939-7_6</a> with presentations at USF at <a href="https://universalscalablefirmware.groups.io/g/discussion/files">https://universalscalablefirmware.groups.io/g/discussion/files</a> including CBOR <a href="https://universalscalablefirmware.groups.io/g/discussion/files/New%20data%20format%20for%20Universal%20Payload%20Interface.pdf">https://universalscalablefirmware.groups.io/g/discussion/files/New%20data%20format%20for%20Universal%20Payload%20Interface.pdf</a> and ARM <a href="https://universalscalablefirmware.groups.io/g/discussion/files/USF_meeting_4_May_2022.pdf">https://universalscalablefirmware.groups.io/g/discussion/files/USF_meeting_4_May_2022.pdf</a>.</span><p></p><p><span style="font-family: Arial; font-size: 11pt; white-space: pre-wrap;">Speaking of the new books and PI, the predecessor to PI was the "Framework." My co-presenter Bob Hart was giving my feedback on the 2022 books </span><a href="https://twitter.com/Apress/status/1585602975401140230" style="font-family: Arial; font-size: 11pt; white-space: pre-wrap;">https://twitter.com/Apress/status/1585602975401140230</a><span style="font-family: Arial; font-size: 11pt; white-space: pre-wrap;"> </span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU-2intZqZo4lXQRrtn9agL1axoisr2Z48IpWI6XenP9X4FOGBLYyhRQfXbB0WDJRBT9xYCEEE8SP2gzObYrjPxEYNLXPlc0kI9BXemhTUce9cKVqD37RSm1WewlbzoXsusJ9svBZKbzVQMC7sPADwWuC-StYrl6TP2FB7WnE5HiA-pPnLhnXVNDW_/s1713/apress.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="946" data-original-width="1713" height="218" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU-2intZqZo4lXQRrtn9agL1axoisr2Z48IpWI6XenP9X4FOGBLYyhRQfXbB0WDJRBT9xYCEEE8SP2gzObYrjPxEYNLXPlc0kI9BXemhTUce9cKVqD37RSm1WewlbzoXsusJ9svBZKbzVQMC7sPADwWuC-StYrl6TP2FB7WnE5HiA-pPnLhnXVNDW_/w393-h218/apress.JPG" width="393" /></a></div><br /><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span><p></p><p><span style="font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">19 years after our joint prezo in 2003 </span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7qUfl-ho20qHvSCeUuSQBTt_1cC365qTjK_XbyR9t6v81lN5VwheqQImY4HDGsLM58R7sf-JAesmMlydBbMNE5aNne4yuoCZmrhVYWd54o1Rekjeed6__b0fQAWlTz2Ij1Gtw11wDcj-Z4SM52u_HXjuSQcecoV28gQxlbKoXvvG3jxtyQyui9FXz/s1902/idf-2003.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1402" data-original-width="1902" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7qUfl-ho20qHvSCeUuSQBTt_1cC365qTjK_XbyR9t6v81lN5VwheqQImY4HDGsLM58R7sf-JAesmMlydBbMNE5aNne4yuoCZmrhVYWd54o1Rekjeed6__b0fQAWlTz2Ij1Gtw11wDcj-Z4SM52u_HXjuSQcecoV28gQxlbKoXvvG3jxtyQyui9FXz/w514-h380/idf-2003.JPG" width="514" /></a></div><br /><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">And this morning I saw a patch on the EDKII mailing list that read on the network stack. It reminded me of that same 2003 IDF event where I gave another talk that included</span></span><div><span style="font-family: Arial;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilgFw0TFk6HnB66OHAGN5a2XQP_bk1F6SSukbPcib9sbhoARKOl79LglLUWv1wTismUVN8BCWqtlNjKl84TGPts_7dOWkgQ4SfMimS5MWMC_rx1EVIRUj8IYug9086mBojTmVB7FGMLgbKoFbbzO1oLd3NpAyOk4FN6p-nnnFXMm4BweI7cXSbadoi/s2153/idf2003.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1610" data-original-width="2153" height="355" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilgFw0TFk6HnB66OHAGN5a2XQP_bk1F6SSukbPcib9sbhoARKOl79LglLUWv1wTismUVN8BCWqtlNjKl84TGPts_7dOWkgQ4SfMimS5MWMC_rx1EVIRUj8IYug9086mBojTmVB7FGMLgbKoFbbzO1oLd3NpAyOk4FN6p-nnnFXMm4BweI7cXSbadoi/w475-h355/idf2003.JPG" width="475" /></a></div><br /><span style="font-size: 14.6667px; white-space: pre-wrap;"><br /></span></span><div><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;"><br /></span></span></div><div><span style="font-family: Arial;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx5f2pI54cbcCEI5yuDua69A4BxjKQZs3UDjM1elVhSTUOhYP2cbtzRLJmv1ULXhhnbcs01rk2KCHeZk4WlE3TfUDK4C_ooMIJ_IuyJ6MPf-FWr75Pp3URAMj08oFmzF_Fuh8MsV1IuM4Y4IwI0I2ewyVE-ku7j-zePyJFfuFXLjmfdNCUqqcdUiKp/s2127/efi1.2.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1622" data-original-width="2127" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx5f2pI54cbcCEI5yuDua69A4BxjKQZs3UDjM1elVhSTUOhYP2cbtzRLJmv1ULXhhnbcs01rk2KCHeZk4WlE3TfUDK4C_ooMIJ_IuyJ6MPf-FWr75Pp3URAMj08oFmzF_Fuh8MsV1IuM4Y4IwI0I2ewyVE-ku7j-zePyJFfuFXLjmfdNCUqqcdUiKp/w467-h356/efi1.2.JPG" width="467" /></a></div><br /><span style="font-size: 14.6667px; white-space: pre-wrap;"><br /></span></span></div><div><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">This was part of the erstwhile "EFI1.2" specification that never came to light. Instead this work was contributed to the UEFI2.0 specification when the Intel-published EFI1.10 specification became the inaugural deliverable of the UEFI Forum in 2005. Since 2005 I have led the UEFI Network Subteam (UNST) in the UEFI Forum and I'm happy to have delivered some enhancements, such the "6" version of the above API's for IPV6 via the dual-stack model adopted by the UEFI forum for this space. After that the big lift was going from TFTP-based PXE to HTTP boot and bringing along more network-based security like TLS. Along the way other security enhancements like IPSec were removed, although not before a lot of the ecosystem shipped the upstreamed version with the test key <a href="https://www.cvedetails.com/cve/CVE-2021-28213/">https://www.cvedetails.com/cve/CVE-2021-28213/</a>. </span></span></div><div><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;"><br /></span></span></div><div><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">I have to admit that UEFI networking innovation has slowed a bit. The introduction of the HTTP boot & wireless missed the UEFI 2.3.1 specification upon which Windows8 and subsequent OS's depended upon so it didn't enjoy the broad industry enabling uplift at the time. And even if people want to continue using PXE because of its simplicity, work like <a href="https://uefi.org/sites/default/files/resources/7_Maciej%20Vincent_INTEL_network%20stack%20performance.pdf">https://uefi.org/sites/default/files/resources/7_Maciej%20Vincent_INTEL_network%20stack%20performance.pdf</a> and its code <a href="https://github.com/tianocore/edk2-staging/tree/MpNetworkStack">https://github.com/tianocore/edk2-staging/tree/MpNetworkStack</a>, driven by feedback from datacenter folks at the time, have been shadowed by move of many folks doing high-performance network deployment to <a href="https://www.linuxboot.org/">https://www.linuxboot.org/</a> <a href="https://trmm.net/LinuxBoot_34c3/">https://trmm.net/LinuxBoot_34c3/</a> and the scalable network stack maintained by the Linux community.</span></span></div><div><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;"><br /></span></span></div><div><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">Heavy sigh. </span></span><span style="font-family: Arial; font-size: 14.6667px; white-space: pre-wrap;">I'm definitely feeling the years.</span></div><div><p></p><p><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;"><br /></span></span></p><p><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;"><br /></span></span></p><p><span style="font-size: 13.5pt;"><o:p></o:p></span></p>
<span id="docs-internal-guid-27d4a52a-7fff-9549-9547-d4b40d8cab18"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; white-space: pre-wrap;"><span style="display: inline-block; overflow: hidden;"></span></span></span></div></div>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-10075531076574551062022-10-08T21:10:00.005-07:002022-10-12T19:37:26.480-07:00A Tale of Two Books<p>Let's start this blog by mentioning a recent specification posting, namely the 2.4 version of the FSP <a href="https://cdrdv2.intel.com/v1/dl/getContent/736809">https://cdrdv2.intel.com/v1/dl/getContent/736809</a> that can be found at <a href="https://github.com/intel/FSP/wiki">https://github.com/intel/FSP/wiki</a>. One notable aspect of this specification is that several of the capabilities were incubated as part of the Universal Scalable Firmware (USF) </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM5NOj6nIuBXXzglcs2oTX1fF47viMMlRx6DDVpKp_pqoYUUbMVPahFkAHelLb8Mn6HKk3_0gx8Smw1wU25ahOuW9dEA7FIVFQYwAayHcFfsxWcil_mDNwygJVC75rqjm8kOhqKF8VrwJQ8KFGNflV70XibdnxahZx-zLfNTktsNgAG6SJ1WyNk_JF/s1727/usf.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1727" data-original-width="1467" height="404" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM5NOj6nIuBXXzglcs2oTX1fF47viMMlRx6DDVpKp_pqoYUUbMVPahFkAHelLb8Mn6HKk3_0gx8Smw1wU25ahOuW9dEA7FIVFQYwAayHcFfsxWcil_mDNwygJVC75rqjm8kOhqKF8VrwJQ8KFGNflV70XibdnxahZx-zLfNTktsNgAG6SJ1WyNk_JF/w343-h404/usf.JPG" width="343" /></a></div><br /><p>[from <a href="https://universalscalablefirmware.github.io/documentation/1_terminology.html">https://universalscalablefirmware.github.io/documentation/1_terminology.html</a>] effort <a href="https://github.com/universalscalablefirmware">https://github.com/universalscalablefirmware</a>, including 64-bit FSP <a href="https://github.com/UniversalScalableFirmware/fspsdk/tree/qemu_fsp_x64">https://github.com/UniversalScalableFirmware/fspsdk/tree/qemu_fsp_x64</a> and SMM in FSP <a href="https://github.com/UniversalScalableFirmware/fspsdk/tree/qemu_fsp_x64_smm">https://github.com/UniversalScalableFirmware/fspsdk/tree/qemu_fsp_x64_smm</a>. The former was done by Maurice Ma, as noted by the github history, and the latter by Ravi. Another aspect of doing this work in the open was fabricating a QEMU-based FSP so that the platform code could be ported for these FSP interface changes. In the past the lack of a fully open source set of silicon code inhibited these what-if exercises (although we did have a public FSP for Quark Galileo but this was limited to a single, 32-bit CPU configuration). This continues a great collaboration with those colleagues, among many others, as cataloged by documents like <a href="https://www.intel.com/content/www/us/en/content-details/671333/a-tour-beyond-bios-using-the-intel-firmware-support-package-1-0-with-the-edk-ii.html">https://www.intel.com/content/www/us/en/content-details/671333/a-tour-beyond-bios-using-the-intel-firmware-support-package-1-0-with-the-edk-ii.html</a>.</p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK_4TI0wAdWzolC3MJLay8YEsn6vvIkGXCKlcN0wp4sV8oiWqpyBZ9FgZa1ukBH43_enPFfdO3OXK8lf13DfOZ_Al_z-FZHaOTQSrRjRxvF1TAApELbszj9uapzy0Q3ztw1EE2KDRhiSEoIeh1Q69V04paElSolET21y6lBZVza2z5bqxX8XJ43KZX/s1224/204-wp.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1223" data-original-width="1224" height="415" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK_4TI0wAdWzolC3MJLay8YEsn6vvIkGXCKlcN0wp4sV8oiWqpyBZ9FgZa1ukBH43_enPFfdO3OXK8lf13DfOZ_Al_z-FZHaOTQSrRjRxvF1TAApELbszj9uapzy0Q3ztw1EE2KDRhiSEoIeh1Q69V04paElSolET21y6lBZVza2z5bqxX8XJ43KZX/w415-h415/204-wp.JPG" width="415" /></a></div><br /><p>For the SMM work in FSP 2.4 there is also the foundational efforts around having the stand-alone SMM incubated in <a href="https://www.intel.com/content/www/us/en/content-details/671459/a-tour-beyond-launching-standalone-smm-drivers-in-the-pei-phase-using-the-edk-ii.html">https://www.intel.com/content/www/us/en/content-details/671459/a-tour-beyond-launching-standalone-smm-drivers-in-the-pei-phase-using-the-edk-ii.html</a> and subsequently introduced into the UEFI PI spec as the "Portable Management Mode (SMM)." This work in '15 presaged this '22 FSP 2.4 work, viz.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnvOwuvkmuJshNqvfFrZibYxhs9VxPKCBn0K6RakOIz2B3UlocptRXJkUcM4eU8D5zwcsFZgBR-9S7y8BviwjECgV9amlAXimSU2Cuo2urLuipoRPwsl0aEh8lP8qceqvKPjrW5aehz-NPzdcXGfqS-wyc3U-d3FyQ_AlNW3UynPxyKJH0KyqUvKEW/s1241/fsp-smm.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="493" data-original-width="1241" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnvOwuvkmuJshNqvfFrZibYxhs9VxPKCBn0K6RakOIz2B3UlocptRXJkUcM4eU8D5zwcsFZgBR-9S7y8BviwjECgV9amlAXimSU2Cuo2urLuipoRPwsl0aEh8lP8qceqvKPjrW5aehz-NPzdcXGfqS-wyc3U-d3FyQ_AlNW3UynPxyKJH0KyqUvKEW/w413-h164/fsp-smm.JPG" width="413" /></a></div><br /><p><br /></p><p>Maurice and David are now at Microsoft and Giri is at Apple. Luckily I had a shot of David from those days we were both at Intel (the left picture) and I was also able to commemorate the Giri and Maurice collaboration in the past in <a href="http://vzimmer.blogspot.com/2016/04/colleagues-across-pacific_5.html">http://vzimmer.blogspot.com/2016/04/colleagues-across-pacific_5.html</a>, </p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigxhCngaPfI4V3_BdkaPZzVoZQCId6NoSw64EzV4bvjGMaQ0SiXMvLHCNyuB1Ubcti_UZLLo8jx7HBK7BGr17cBL3e_rqUPXXgReIDrqu4sl-hEcCUiwxqLgdsKy5jAeL3ARKVPefD_aonXn1Rs99X8X2yIX9DFaW1hgGfQhFOnhlDKyiqx_4sHqGa/s1539/estrada.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1539" data-original-width="607" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigxhCngaPfI4V3_BdkaPZzVoZQCId6NoSw64EzV4bvjGMaQ0SiXMvLHCNyuB1Ubcti_UZLLo8jx7HBK7BGr17cBL3e_rqUPXXgReIDrqu4sl-hEcCUiwxqLgdsKy5jAeL3ARKVPefD_aonXn1Rs99X8X2yIX9DFaW1hgGfQhFOnhlDKyiqx_4sHqGa/s320/estrada.JPG" width="126" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVMd7QO0lqIrp6ZdZKS729KNXk9uSC0wPn0Rrn9ay9iW2JsbppLClBXabAfCn3vl3ZDCoTwffAoe-9PJyLbAfs749wf02fu9ZMeu_y1NS7NeLZptkbDUlCnREhErq9yXL47SfERQuC8RRMV4HONeKeZT6DwnxxWVZj8lr0E-V9UJ1gx93Kc6xeCrAu/s971/giri-maurice.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="971" data-original-width="404" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVMd7QO0lqIrp6ZdZKS729KNXk9uSC0wPn0Rrn9ay9iW2JsbppLClBXabAfCn3vl3ZDCoTwffAoe-9PJyLbAfs749wf02fu9ZMeu_y1NS7NeLZptkbDUlCnREhErq9yXL47SfERQuC8RRMV4HONeKeZT6DwnxxWVZj8lr0E-V9UJ1gx93Kc6xeCrAu/s320/giri-maurice.JPG" width="133" /></a></div><br /></div><br /><p><br /></p><p>respectively, from the snapshot. Regrettably we missed Ravi at that lunch so I'll have to lift his photo from <a href="https://link.springer.com/book/10.1007/978-1-4842-0070-4">https://link.springer.com/book/10.1007/978-1-4842-0070-4</a>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg76pYfq2Qaq9bpnp3TnzW61VWQB2AUhPNhrLt1p29liE4dlZrdz9w71IcBB4HrScdNHBCTbgfVWYRt_CCLGhOUl7nRMXF3KMe8kp6kKnU3N9KIACei-xH5cxWGVQqKqz8hDjItsKiEhpLG-tJ8y3PYN11vF4klXJXdHlgDlRR_XSuiPCkXWHSQxDMC/s1624/ravi.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="703" data-original-width="1624" height="175" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg76pYfq2Qaq9bpnp3TnzW61VWQB2AUhPNhrLt1p29liE4dlZrdz9w71IcBB4HrScdNHBCTbgfVWYRt_CCLGhOUl7nRMXF3KMe8kp6kKnU3N9KIACei-xH5cxWGVQqKqz8hDjItsKiEhpLG-tJ8y3PYN11vF4klXJXdHlgDlRR_XSuiPCkXWHSQxDMC/w403-h175/ravi.JPG" width="403" /></a></div><br /><p><br /></p><p>Speaking of former colleagues and collaborators, a couple of books I co-authored with Subrata Banik have been published, namely "Firmware Development - A Guide to Specialized Systemic Knowledge" <a href="https://link.springer.com/book/10.1007/978-1-4842-7974-8">https://link.springer.com/book/10.1007/978-1-4842-7974-8</a> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitItxVinR0PJ6CT0QKIoh-9-sM0y6P9eTbZSXFLwGp6bOXpPi5QcxqleaPGNg-Mfax_kGcRjeXGAPKf66No2SKki_dCADVJ8IYAsbcaNQ3Jcw3zkg-QlIvxigtuYC_cN76pFglEldmPDeApzNoYCjmco2n5A9ETaoWI3jO-ESs50dbLrsKc8vN4hYb/s1323/fw-dvlp-cover.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1323" data-original-width="987" height="392" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitItxVinR0PJ6CT0QKIoh-9-sM0y6P9eTbZSXFLwGp6bOXpPi5QcxqleaPGNg-Mfax_kGcRjeXGAPKf66No2SKki_dCADVJ8IYAsbcaNQ3Jcw3zkg-QlIvxigtuYC_cN76pFglEldmPDeApzNoYCjmco2n5A9ETaoWI3jO-ESs50dbLrsKc8vN4hYb/w293-h392/fw-dvlp-cover.JPG" width="293" /></a></div><br /><p><br /></p><p>and "System Firmware - An Essential Guide to Open Source and Embedded Solutions" <a href="https://link.springer.com/book/10.1007/978-1-4842-7939-7">https://link.springer.com/book/10.1007/978-1-4842-7939-7</a>.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbFznCRU6_kkmlz0AwvhSfCmypETahxsAyAqZcTjPOvb_P42MedwOkSKhtsphr3BWxUqZnMDvVvZmbufprQDnYWm0YlWF4qhT2Me2ztlYBRbNvyPvZT16qorc_1j_G7aNQrmUbYZa_1uQUpFxqFTJT-O8qYnlaurMRazjmWlU0HayH2mPKisVxxwuv/s1347/system-fw-cover.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1347" data-original-width="959" height="414" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbFznCRU6_kkmlz0AwvhSfCmypETahxsAyAqZcTjPOvb_P42MedwOkSKhtsphr3BWxUqZnMDvVvZmbufprQDnYWm0YlWF4qhT2Me2ztlYBRbNvyPvZT16qorc_1j_G7aNQrmUbYZa_1uQUpFxqFTJT-O8qYnlaurMRazjmWlU0HayH2mPKisVxxwuv/w295-h414/system-fw-cover.JPG" width="295" /></a></div><br /><p><br /></p><p>This effort started in the middle of the COVID crisis while Subrata and I both worked at Intel, namely with a publisher discussion in December of 2020. It followed on the heals of completing the "Building Secure Firmware - Armoring the Foundation of the Platform" <a href="https://link.springer.com/book/10.1007/978-1-4842-6106-4">https://link.springer.com/book/10.1007/978-1-4842-6106-4</a> which was published in October 2020 and featured Jiewen Yao as a co-author. You'll notice Jiewen </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwfdbTRFVN-wkzMYI4GpSWxJSlVOXqKeSuy1TKBezPbRb6pvyFg47MScnR7AYT_3_24m0_eb_Vhs-b-OJKYtAQNYi2ybOR7Cj1o8Yy-jdyxJSxoDl9o-y4B8GuoTkVWmCQ6omaw8OoMi-zAGeUtkpSoYpgvknfGjswluFJxPjln5GrW09Ma5Dyxa6i/s1556/jiewen.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="864" data-original-width="1556" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwfdbTRFVN-wkzMYI4GpSWxJSlVOXqKeSuy1TKBezPbRb6pvyFg47MScnR7AYT_3_24m0_eb_Vhs-b-OJKYtAQNYi2ybOR7Cj1o8Yy-jdyxJSxoDl9o-y4B8GuoTkVWmCQ6omaw8OoMi-zAGeUtkpSoYpgvknfGjswluFJxPjln5GrW09Ma5Dyxa6i/w387-h215/jiewen.JPG" width="387" /></a></div><br /><p><br /></p><p>as the lead author of the '14 whitepaper on FSP mentioned at the top of the blog, and also the author of the FSP measurement paper <a href="https://cdrdv2.intel.com/v1/dl/getContent/644001">https://cdrdv2.intel.com/v1/dl/getContent/644001</a> listed in <a href="https://github.com/intel/FSP/wiki">https://github.com/intel/FSP/wiki</a> (which also references this latter Apress security book). This complements the presentation <a href="https://uefi.org/sites/default/files/resources/Traceable%20Firmware%20Bill%20of%20Materials%20-%2020211207%20-%20007.pdf">https://uefi.org/sites/default/files/resources/Traceable%20Firmware%20Bill%20of%20Materials%20-%2020211207%20-%20007.pdf</a> from last December, too.</p><p>Regrettably the paths of Shanghai and Issaquah haven't crossed in a while</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhoZDrct9qLhUjDZvSsf-5dFdbyKcr1D-4vJqP1iRqwalBWkR3_xXk4t1LzS_qs4D8eVdIY9CxUcIOKgZDyfpc2TjPpLlNiIakgryA0LRqgAdl-ka6mLVR_zLcfvYFgHdiH4AnA0NSvNc0aud5iyfxmpemPWy4xrAQitK4rLr3snshCzJluAEWDgjf/s1574/building-fw.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="284" data-original-width="1574" height="96" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhoZDrct9qLhUjDZvSsf-5dFdbyKcr1D-4vJqP1iRqwalBWkR3_xXk4t1LzS_qs4D8eVdIY9CxUcIOKgZDyfpc2TjPpLlNiIakgryA0LRqgAdl-ka6mLVR_zLcfvYFgHdiH4AnA0NSvNc0aud5iyfxmpemPWy4xrAQitK4rLr3snshCzJluAEWDgjf/w530-h96/building-fw.JPG" width="530" /></a></div><br /><p>as you'll see with the next co-author below.</p><p>So the Jiewen book published in October 2020, and the two with Subrata in October 2022. That's 2000pp in the space of two years. Yikes. <br /></p><p>Although I don't have a photo with Jiewen, I did manage to dig up a photo with Subrata</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3zvTw5gvjwqUjiKipjXq6aTj7l4pTM5y7JwVviPCa13-WScgI-msXxUcsoyIYJoXYXc-MH6I15AsKyqicJadb79jxDt5ppBrHa8vLH-XPLvr4MwzEzdsGe_gGctG3OztAkl6YePpDdvdvxZ2gvFOVF9Rn73FQJXEEey7frgTtBOI1YE8dFDiwup4H/s3088/Image_20221007_211416_478.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3088" data-original-width="2316" height="416" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3zvTw5gvjwqUjiKipjXq6aTj7l4pTM5y7JwVviPCa13-WScgI-msXxUcsoyIYJoXYXc-MH6I15AsKyqicJadb79jxDt5ppBrHa8vLH-XPLvr4MwzEzdsGe_gGctG3OztAkl6YePpDdvdvxZ2gvFOVF9Rn73FQJXEEey7frgTtBOI1YE8dFDiwup4H/w312-h416/Image_20221007_211416_478.jpeg" width="312" /></a></div><br /><p>These encounters are tougher as Subrata spends most of his time home overseas and also now works at Google. I was happy to run into Subrata as he transited through Santa Clara by way of Bangalore and I did the same by way of Issaquah, WA. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHvZ1dXuquTXX1sRF69uLdiE8a6WyI5oV2qASRZ1l_IEu_2Bo4t53vjFMB4jIPbEZEGhfTNmufRfdB4P2PApuaD6RcZT2d2dCv1v0FVTlYeAsjvljYc4u_R096C2zWlCIm93c2ZkmwXQe5jDDkQDMHItW515Q3WmZ1pPjKRlcdpDyOWt8uAfvAJ_zO/s1662/geo.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="349" data-original-width="1662" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHvZ1dXuquTXX1sRF69uLdiE8a6WyI5oV2qASRZ1l_IEu_2Bo4t53vjFMB4jIPbEZEGhfTNmufRfdB4P2PApuaD6RcZT2d2dCv1v0FVTlYeAsjvljYc4u_R096C2zWlCIm93c2ZkmwXQe5jDDkQDMHItW515Q3WmZ1pPjKRlcdpDyOWt8uAfvAJ_zO/w598-h125/geo.JPG" width="598" /></a></div><br /><p><br /></p><p>Another nice aspect of co-authoring this last series of books is getting recommendations on the back cover, including the following.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvAatzH9Wx6ECJLL2-uJDm9sgNmS9dYcYR_0zJCgI4Ka9jhuNjkyAQG2Hwezmtd6sAoabmCpr8kCMgu36dhnTx9WTwYduGrI6GZcJoKKGQEQjn1VTd56ul_OXQ_AzDjmqMzSlg1xoeyEn6SBwsidkEcjrSwL-7fBZ7Nyj2Dh8Gvl5jMp5zGjWcmlXS/s1016/fw-dvlp-recommendations.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="424" data-original-width="1016" height="269" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvAatzH9Wx6ECJLL2-uJDm9sgNmS9dYcYR_0zJCgI4Ka9jhuNjkyAQG2Hwezmtd6sAoabmCpr8kCMgu36dhnTx9WTwYduGrI6GZcJoKKGQEQjn1VTd56ul_OXQ_AzDjmqMzSlg1xoeyEn6SBwsidkEcjrSwL-7fBZ7Nyj2Dh8Gvl5jMp5zGjWcmlXS/w643-h269/fw-dvlp-recommendations.JPG" width="643" /></a></div><br /><p>I've had the honor to work with Mallik in the past while at Intel and also when he moved to Microsoft, including efforts like <a href="https://www.intel.com/content/www/us/en/content-details/671185/challenges-for-uefi-and-the-cloud.html">https://www.intel.com/content/www/us/en/content-details/671185/challenges-for-uefi-and-the-cloud.html</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjowGsS_agcEmffXXC1Ga700gUu_NKLGwXH9yNJq2SZI2IJMIrmYc6mrQAXjhPZ2jvvys24jsFwLEOM1c7AbKuD_GY0y3G2sE49naBKFJT9ZmnuQoyPzeAs7LkFADCiE9HCGGnSr8VpkqnGSihWSAIK6hVncUmN7dcTr01ylh-0f6gOLC_cmJP_B__P/s1059/ocp15.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1059" data-original-width="962" height="419" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjowGsS_agcEmffXXC1Ga700gUu_NKLGwXH9yNJq2SZI2IJMIrmYc6mrQAXjhPZ2jvvys24jsFwLEOM1c7AbKuD_GY0y3G2sE49naBKFJT9ZmnuQoyPzeAs7LkFADCiE9HCGGnSr8VpkqnGSihWSAIK6hVncUmN7dcTr01ylh-0f6gOLC_cmJP_B__P/w381-h419/ocp15.JPG" width="381" /></a></div><br /><p>I have probably known Mallik the longest of the list, commencing with our work at Intel in DuPont, WA in the early 2000's. Mallik also shows up in the Beyond BIOS 1st edition <a href="https://www.amazon.com/Beyond-BIOS-Implementing-Extensible-Interface/dp/0974364908">https://www.amazon.com/Beyond-BIOS-Implementing-Extensible-Interface/dp/0974364908</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvuEW9vZp7ZEUc7s3F0TTjkC4sSSXZAL7_zkwMN0UV3x51wmhFnmh6k0E9xKvqw8ex1EPHDg_npTWk_TQh-sx7q0MAw4DmAaDkXk_BBfwO_pf1pLIp871LKBlNJG4Ur2t6xsfsc-q6M-FEm3vYVZb7xNfDefqwe5fD3cU0TEJnfnmrnVqxqaZPumTW/s1396/bb-peer.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="349" data-original-width="1396" height="114" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvuEW9vZp7ZEUc7s3F0TTjkC4sSSXZAL7_zkwMN0UV3x51wmhFnmh6k0E9xKvqw8ex1EPHDg_npTWk_TQh-sx7q0MAw4DmAaDkXk_BBfwO_pf1pLIp871LKBlNJG4Ur2t6xsfsc-q6M-FEm3vYVZb7xNfDefqwe5fD3cU0TEJnfnmrnVqxqaZPumTW/w456-h114/bb-peer.JPG" width="456" /></a></div><br /><p>from 2006. Other notables there includes <a href="https://uefi.org/sites/default/files/resources/UEFI%20RoT%20white%20paper_Final%208%208%2016%20%28003%29.pdf">https://uefi.org/sites/default/files/resources/UEFI%20RoT%20white%20paper_Final%208%208%2016%20%28003%29.pdf</a> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjThXvQEYGDfoFfXoygT_uLaYrqQeq71ES56FBsXOCWJrtGPZP2Q2rkCI1KUKf3AnBUOFEXenn8sF1HqBavYd6mma7O7wlkNYPX-fUgDUYRuQ0nSEvFcSB1se2E9JadT6gn_BuKyaZvnKQAIjzsA7uRRba64WPlJESeTFhKRGkxPq7ieRpDUDRHIb-_/s1265/rot.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1265" data-original-width="1025" height="383" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjThXvQEYGDfoFfXoygT_uLaYrqQeq71ES56FBsXOCWJrtGPZP2Q2rkCI1KUKf3AnBUOFEXenn8sF1HqBavYd6mma7O7wlkNYPX-fUgDUYRuQ0nSEvFcSB1se2E9JadT6gn_BuKyaZvnKQAIjzsA7uRRba64WPlJESeTFhKRGkxPq7ieRpDUDRHIb-_/w310-h383/rot.JPG" width="310" /></a></div><br /><p><br /></p><p>collaborator Michael Krau, who sadly passed recently, and now-retired former colleague Lee Rosenbaum of Excite <a href="https://www.usenix.org/conference/woot15/workshop-program/presentation/bazhaniuk">https://www.usenix.org/conference/woot15/workshop-program/presentation/bazhaniuk</a> and Secure Boot <a href="https://github.com/tianocore-docs/Docs/blob/master/White_Papers/A_Tour_Beyond_BIOS_into_UEFI_Secure_Boot_White_Paper.pdf">https://github.com/tianocore-docs/Docs/blob/master/White_Papers/A_Tour_Beyond_BIOS_into_UEFI_Secure_Boot_White_Paper.pdf</a> collaboration. Glad to see Rob Branch on that list. I still fondly remember him from my Intel October 1996 job interview team at Cornell Oaks in Oregon.</p><p>As always in this industry, I get excited by the technology but I truly cherish the interactions and the people. This blog provides some highlights on both dimensions of the journey. Still great technical collaborators that may have comprised the set COLLAB15 = {Intel, Intel, Intel, Intel, Intel, Intel, Intel, Microsoft,...} and now looks like COLLAB22= {Intel, Intel, Intel, Microsoft, Microsoft, Apple, Google, Microsoft,...}.</p><p><br /></p>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-25011010119641456572022-09-06T12:40:00.002-07:002023-09-11T13:04:05.296-07:00New milestones<p> A year ago I commented on co-workers and patent achievements <a href="http://vzimmer.blogspot.com/2021/07/patents-and-co-inventors.html">http://vzimmer.blogspot.com/2021/07/patents-and-co-inventors.html</a>. One aspect of that note included <a href="https://en.wikipedia.org/wiki/List_of_prolific_inventors">https://en.wikipedia.org/wiki/List_of_prolific_inventors</a> and its new metric of 'patents / year', or what I'd call 'patent velocity.' Let's call it Vp. And of course it's a marathon, not a sprint. As such, the other interesting metric from the latter link is the 'patent years.' So doing basic calculus we can compute the integral of Vp over 'patent years' to yield Xp, or 'total patents.'</p><p>And it's that Xp that is interesting. From a 2003 posting by Tom Dunlap <a href="https://intelretiree.com/wp-content/uploads/2015/06/Tom-Dunlap-LAI.pdf">https://intelretiree.com/wp-content/uploads/2015/06/Tom-Dunlap-LAI.pdf</a> which included the following snippet:</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8OQnT-4O9OaLcZ9Dyq6gwSZf2ssibM-Da31tqfRTR26uwd2-t4AB0XxZqj8_OCFvRu2Wawl2Xmcvit8A8pxOk2iKX-cHO0dEI7kzzU-ONeR2HFqNZX5J_VwLVzd6B72jD-8okOMaI-7kSNGmzHRP8gLIUvZI2D73qjeXYiPQt_0OauD_KN17xqmbp/s2792/2003%20patent%20quote.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1129" data-original-width="2792" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8OQnT-4O9OaLcZ9Dyq6gwSZf2ssibM-Da31tqfRTR26uwd2-t4AB0XxZqj8_OCFvRu2Wawl2Xmcvit8A8pxOk2iKX-cHO0dEI7kzzU-ONeR2HFqNZX5J_VwLVzd6B72jD-8okOMaI-7kSNGmzHRP8gLIUvZI2D73qjeXYiPQt_0OauD_KN17xqmbp/w400-h161/2003%20patent%20quote.jpg" width="400" /></a></div><br /><p><br /></p><p>On the list you'll see some of the prolific inventors on <a href="https://en.wikipedia.org/wiki/List_of_prolific_inventors">https://en.wikipedia.org/wiki/List_of_prolific_inventors</a>. Most are still with Intel AFAIK, too. </p><p>And from the list you can at least track US issue milestones.</p><p></p><ul style="text-align: left;"><li>Chau was the first to 100 US patents in November 2006</li><li>Chau was then the first to 200 US patents in March 2010</li><li>Zimmer was first to 300 in July 2014 w/ Chau a close second to 300 in October 2014</li><li>Chau was the first to 400 in October 2017</li><li>And as of this week, Jack is first to 500 in September 2022</li></ul><div><b><span> <span> </span><span> </span></span>Results of Search in US Patent Collection db for:<br /><span id="srchtext"><span> </span><span> <span> </span></span>(APT/1 AND IN/Kavalieros-Jack$)</span></b><span style="background-color: white;">: 500 patents.</span><br /><i><span> </span><span> </span><span> </span>Hits <strong>1</strong> through <strong>50 </strong>out of <strong>500</strong></i></div><div><i><strong><br /></strong></i></div><div><i><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6zFoTNe89nzLZWOPY-yL8KZ1mi4GUcKaxB1gtl7CzS6M_jNLsF5hclbqE2eZbFyo-pedRCxR6eCfPzh58O4GbpQ61H_wy3hpEyY1pYbZCPcNPXkKpq-OIdIoaZ30Fg3liisDPcZMln3VQxME2TpYwpibOhEJQC_DgA8CsTGPOswQBCHuksavgDZA0/s1280/wiki-date-9-7-2022.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="259" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6zFoTNe89nzLZWOPY-yL8KZ1mi4GUcKaxB1gtl7CzS6M_jNLsF5hclbqE2eZbFyo-pedRCxR6eCfPzh58O4GbpQ61H_wy3hpEyY1pYbZCPcNPXkKpq-OIdIoaZ30Fg3liisDPcZMln3VQxME2TpYwpibOhEJQC_DgA8CsTGPOswQBCHuksavgDZA0/w461-h259/wiki-date-9-7-2022.jpg" width="461" /></a></div><br /><strong><br /></strong></i></div><p></p><p>Nice to see that the IP leaders Robert and Jack <a href="https://spectrum.ieee.org/2021-inventor-of-the-year">https://spectrum.ieee.org/2021-inventor-of-the-year</a> are keeping Moore's Law alive in components research <a href="https://www.intel.com/content/www/us/en/newsroom/news/where-tomorrow-begins-intels-components-research-labs.html#gs.bgt8t0">https://www.intel.com/content/www/us/en/newsroom/news/where-tomorrow-begins-intels-components-research-labs.html#gs.bgt8t0</a>. Good times.</p><p><br /></p><p><br /></p>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-54957422768164680672022-08-17T22:00:00.002-07:002022-08-19T08:03:22.524-07:00PQC<p>I haven't blogged in 3 months, so I thought I would create a short post this evening.</p><p>One thing that I've noticed in my behavior lately is that I often say "I understand" versus "I agree." Latter implies I have a vote on the topic. I also find myself demonstrating the behavior that "as you age in industry you become more 'historian' than 'expert'". But the plurality of ambitious folks who believe they are 'expert' often fight when you lean too much into history mode. Their behavior reminds me of the quote 'the person may be wrong but is never in doubt.' </p><p>As I get older I am tacking the opposite direction of confidence in all matter. I find I doubt things more as I apprehend the huge swaths of knowledge I haven't penetrated on this life journey. I don't like Bukowski's "The problem with the world is that the intelligent people are full of doubts, while the stupid ones are full of confidence." quote in this area, though. It implies the issue involved is one of intelligence. I rather prefer to chalk it up to intellectual humility. </p><p>Hopefully I demonstrate some of that behavior in my interactions. If I were up to the challenge of watching myself on video, I'd audit my revisit to Chips & Salsa <a href="https://www.youtube.com/watch?v=wqcUWAEHcVg">https://www.youtube.com/watch?v=wqcUWAEHcVg</a>. I recall blogging about that venue a while back <a href="http://vzimmer.blogspot.com/2021/11/books-old-age.html">http://vzimmer.blogspot.com/2021/11/books-old-age.html</a>, too.</p><p>Regarding a topic area that reminds me of the of breadth of knowledge and progress, I'd like to recall the post quantum cryptography (PQC) talk <a href="https://uefi.org/sites/default/files/resources/Post%20Quantum%20Webinar.pdf">https://uefi.org/sites/default/files/resources/Post%20Quantum%20Webinar.pdf</a>. Readiness for PQC includes recent UEFI specification code-first readiness <a href="https://bugzilla.tianocore.org/show_bug.cgi?id=3413">https://bugzilla.tianocore.org/show_bug.cgi?id=3413</a> and <a href="https://bugzilla.tianocore.org/show_bug.cgi?id=3725">https://bugzilla.tianocore.org/show_bug.cgi?id=3725</a>. A 2022 augmentation of a feature first conceived 15 years ago <span style="color: #0000ee;"><u><a href="https://www.semanticscholar.org/paper/Platform-Trust-Beyond-BIOS-Using-the-Unified-Zimmer/0bd3bdeb6dcadf088137e13c00adc7e4390fa0de">https://www.semanticscholar.org/paper/Platform-Trust-Beyond-BIOS-Using-the-Unified-Zimmer/0bd3bdeb6dcadf088137e13c00adc7e4390fa0de</a></u></span></p><p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt6t7jA3w1j9NH3DLzz9X3bh5g9elWuuYfvJZM0yYYHcZyG214t6fBAW1s78XGkWFaQzbwjLCYrnB2ESuAqBxCf1Lu-6d0aV_AXJscEEF7hFjMiqDSKMKEAW9xhPpPSwFINlmjXZ6tY2RnA2QXplCTizONP4ymRsOZlfCY507pPVGYv5CTlmIDLbRe/s602/4-Figure3-9-1.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="462" data-original-width="602" height="492" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt6t7jA3w1j9NH3DLzz9X3bh5g9elWuuYfvJZM0yYYHcZyG214t6fBAW1s78XGkWFaQzbwjLCYrnB2ESuAqBxCf1Lu-6d0aV_AXJscEEF7hFjMiqDSKMKEAW9xhPpPSwFINlmjXZ6tY2RnA2QXplCTizONP4ymRsOZlfCY507pPVGYv5CTlmIDLbRe/w640-h492/4-Figure3-9-1.png" width="640" /></a></p><br /><p>I was enthralled with the various RT's. Roots of Trust for Storage & Reporting (RTS/RTR) in the TPM, Root of trust for measurement (RTM) and Root of trust for enforcement/verification (RTE/V) for the platform firmware. This predated the RTU and RTD from <a href="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-193.pdf">https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-193.pdf</a> years later.</p><p>Beyond UEFI there are other industry standards that require PQC accommodations. These include protocols like SPDM <a href="https://www.dmtf.org/sites/default/files/standards/documents/DSP0274_1.0.1.pdf">https://www.dmtf.org/sites/default/files/standards/documents/DSP0274_1.0.1.pdf</a>. The cryptography eprint <a href="https://eprint.iacr.org/2022/1049">https://eprint.iacr.org/2022/1049</a> posted today describes some of this work. This is definitely an 'application' of cryptography versus cryptographic research. The latter is especially challenging, as demonstrated by recent findings like <a href="https://thequantuminsider.com/2022/08/05/nist-approved-post-quantum-safe-algorithm-cracked-in-an-hour-on-a-pc/">https://thequantuminsider.com/2022/08/05/nist-approved-post-quantum-safe-algorithm-cracked-in-an-hour-on-a-pc/</a>. I am a fan of this type of analysis. I did feel a little bit like we were guilty of Pike's 2000 diatribe "Mostly, though, it's just a lot of measurement" <a href="http://doc.cat-v.org/bell_labs/utah2000/utah2000.html">http://doc.cat-v.org/bell_labs/utah2000/utah2000.html</a>. </p><p>This news story reminded me of former co-worker Ernie Brickell's knapsack paper <span id="docs-internal-guid-0f5aebc0-7fff-afb0-5539-05eb41f3ece9"><a href="https://link.springer.com/content/pdf/10.1007/3-540-39568-7_27.pdf" style="text-decoration-line: none;"><span style="color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">https://link.springer.com/content/pdf/10.1007/3-540-39568-7_27.pdf</span></a><span style="font-family: Arial;"><span style="font-size: 14.6667px; white-space: pre-wrap;">. Ironically Merkle <a href="https://en.wikipedia.org/wiki/Ralph_Merkle">https://en.wikipedia.org/wiki/Ralph_Merkle</a> is related to a present co-worker and I was able to grab an autograph for my book on Merkle's original knapsack work</span></span></span><span style="font-family: Arial; font-size: 14.6667px; white-space: pre-wrap;"> </span></p><p><span style="font-family: Arial;"></span></p><div class="separator" style="clear: both; text-align: center;"><br /></div><span style="font-family: Arial;"><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8EzeQSk_pEB9fVSBNNIgXErCSUZxhY_C2niAnm26HoUmV09o8VS7zkF04tcb6L2KQnDnAGHAQij9A40jA3Vf0MF6htPyXJ8L6bA6N2IWwsZjMcogu4wMzPg2g22oS0BxFCJcot2vpurKDM4QyDCvmowdaCRcQpg05TicAJFw7RCASUWSMC-RdKkG9/s2016/IMG_4139.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2016" data-original-width="1512" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8EzeQSk_pEB9fVSBNNIgXErCSUZxhY_C2niAnm26HoUmV09o8VS7zkF04tcb6L2KQnDnAGHAQij9A40jA3Vf0MF6htPyXJ8L6bA6N2IWwsZjMcogu4wMzPg2g22oS0BxFCJcot2vpurKDM4QyDCvmowdaCRcQpg05TicAJFw7RCASUWSMC-RdKkG9/w300-h400/IMG_4139.jpg" width="300" /></a></div><br /><span style="font-size: 14.6667px; white-space: pre-wrap;"><br /></span></span><p></p><p><br /></p><p><span style="font-family: Arial;"></span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-family: Arial;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivZZ-WEsAIOvnluKVLuAleL8R4HdOZL8igqr_Z6Fdk9sHZcYl6QZofcJUTIwCNadGl3W-iiE4eslFeAT4aaOB9uinhKwop_CDLuHZ0xyu4IyCK_lVtv_yamFfAm3IXajvIqalO0APVOPq_AfQqEsPBlQVh4KFip2ccwezMGkv4hX0s2dy9O9PLzuEu/s2016/IMG_4140.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2016" data-original-width="1512" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivZZ-WEsAIOvnluKVLuAleL8R4HdOZL8igqr_Z6Fdk9sHZcYl6QZofcJUTIwCNadGl3W-iiE4eslFeAT4aaOB9uinhKwop_CDLuHZ0xyu4IyCK_lVtv_yamFfAm3IXajvIqalO0APVOPq_AfQqEsPBlQVh4KFip2ccwezMGkv4hX0s2dy9O9PLzuEu/w300-h400/IMG_4140.jpg" width="300" /></a></span></div><span style="font-family: Arial;"><br /><span style="font-size: 14.6667px; white-space: pre-wrap;"><br /></span></span><p></p><p><br /></p><p><span style="font-family: Arial;"></span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-family: Arial;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXe6UVmz3J0Nccalwt65wUeGwVse8P-4VIA0eoq1qBN_CpDHV6ZIR2mg8Hi0c9pyUi6IeKGL0Nc2qr4bmiGJdVFAtf3ZF1iS-TJys9lBvLEn4YLd9foiHOlnn16XgupRAKJ8aCV_Fotpoq9tpgxzEiMCNvYJfy_GJz3NAgmAu8W1K_wWxR3_m0VcDm/s2016/IMG_4141.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2016" data-original-width="1512" height="401" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXe6UVmz3J0Nccalwt65wUeGwVse8P-4VIA0eoq1qBN_CpDHV6ZIR2mg8Hi0c9pyUi6IeKGL0Nc2qr4bmiGJdVFAtf3ZF1iS-TJys9lBvLEn4YLd9foiHOlnn16XgupRAKJ8aCV_Fotpoq9tpgxzEiMCNvYJfy_GJz3NAgmAu8W1K_wWxR3_m0VcDm/w301-h401/IMG_4141.jpg" width="301" /></a></span></div><span style="font-family: Arial;"><br /><span style="font-size: 14.6667px; white-space: pre-wrap;"><br /></span></span><p></p><p>Ernie was a rare combination of PhD and leader. I still recall Ernie trying to recruit me to join his team a decade ago. Ernie did fascinating work on zero-knowledge proofs, including co-inventing Direct Anonymous Attestation (DAA) <a href="https://eprint.iacr.org/2010/067.pdf">https://eprint.iacr.org/2010/067.pdf</a> that was eventually included in the TPM 2.0 specification. Definitely a different eprint than item mentioned at top of this blog <a href="https://eprint.iacr.org/2022/1049.pdf">https://eprint.iacr.org/2022/1049.pdf</a>. Ernie also introduced me to David Chaum <a href="https://en.wikipedia.org/wiki/David_Chaum">https://en.wikipedia.org/wiki/David_Chaum</a> of zero-knowledge proof fame, too, at an Intel event. <br /><br />One cautionary tale I learned from Ernie was avoiding going all in on a given position. The combination of drive, technical depth, and passion for a topic can create a lot of p=mv momentum <a href="https://www.calculatorsoup.com/calculators/physics/momentum.php">https://www.calculatorsoup.com/calculators/physics/momentum.php</a> when slamming into the walls that one often finds in bigCo. </p><p>Speaking of years ago, I am happy to see progress <a href="https://github.com/UniversalScalableFirmware/fspsdk/tree/qemu_fsp_at_reset">https://github.com/UniversalScalableFirmware/fspsdk/tree/qemu_fsp_at_reset</a> toward the vision of </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib37Blp7Z8HrjO0APJvIw9GB9uOXQD1rLXqQAq3y9dGHqeBPV_JwYgJl3kJ85rAluAWTART0yqZziFMFw0EIbqqglKfVhQdfmkcyVzhCc7q7pN3BERDRHmOCi9S_3B9XxjHRotgZxGcH2qVix_2KyLqjbLJk4l8CPeBuCbYkewubb0Sdvt7fWdLma5/s1280/fsp-next.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib37Blp7Z8HrjO0APJvIw9GB9uOXQD1rLXqQAq3y9dGHqeBPV_JwYgJl3kJ85rAluAWTART0yqZziFMFw0EIbqqglKfVhQdfmkcyVzhCc7q7pN3BERDRHmOCi9S_3B9XxjHRotgZxGcH2qVix_2KyLqjbLJk4l8CPeBuCbYkewubb0Sdvt7fWdLma5/w640-h360/fsp-next.jpg" width="640" /></a></div><br /><p><br /></p><p>from page 143 of <a href="https://link.springer.com/book/10.1007/978-1-4842-0070-4">https://link.springer.com/book/10.1007/978-1-4842-0070-4</a>. This is yet another reminder that the march of technology takes a long time. </p><p><br /></p>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-42468537026817148612022-05-07T08:47:00.004-07:002024-02-23T09:26:17.628-08:00100 posts<p>This marks my 100th blog posting, spanning 3 decades of blogs 1999-2022 <a href="https://vzimmer.blogspot.com/">https://vzimmer.blogspot.com/</a>. </p><p>This corresponds with 3 decades of publications <a href="https://dblp.org/pid/34/5641.html">https://dblp.org/pid/34/5641.html</a>.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVLC2E54bFx0xx2Up5cofv3fiyapuRJdabFoaxiT4udhLMYc9R8kZogVk5g7KDkv1flowTCWfQ4CeI3A_oOa-GWJfYhTChEnjN8EKftIacs1YbQ0GqSGFMDu9WkXrUwFSVYubdqSeihgY0YtcsekHqWQW1zB2znDbKA2_0Cr6rF7HmJZk5Sn0DWmYpJQ8/s723/dblp.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="723" data-original-width="537" height="499" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVLC2E54bFx0xx2Up5cofv3fiyapuRJdabFoaxiT4udhLMYc9R8kZogVk5g7KDkv1flowTCWfQ4CeI3A_oOa-GWJfYhTChEnjN8EKftIacs1YbQ0GqSGFMDu9WkXrUwFSVYubdqSeihgY0YtcsekHqWQW1zB2znDbKA2_0Cr6rF7HmJZk5Sn0DWmYpJQ8/w371-h499/dblp.png" width="371" /></a></div><br /> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkI3CtbSHmrV5WSmQfijHEh4Kd8ZiI_HgCnxckSwfNGFAhHUkJkEgGkJ1kHtUpFTH722yL_Vb7wG2i8GRz8AkVT2ho5E77PGn1N0A1zzPfj93B6Yi52vhDNEIVVdJFzw3cvpWjxdbum6XsR6nGShGGzzHlikoSSOzQ_RWTGaXJfyaSRKNMFVw_m3ZhA70/s722/dblp2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="722" data-original-width="552" height="454" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkI3CtbSHmrV5WSmQfijHEh4Kd8ZiI_HgCnxckSwfNGFAhHUkJkEgGkJ1kHtUpFTH722yL_Vb7wG2i8GRz8AkVT2ho5E77PGn1N0A1zzPfj93B6Yi52vhDNEIVVdJFzw3cvpWjxdbum6XsR6nGShGGzzHlikoSSOzQ_RWTGaXJfyaSRKNMFVw_m3ZhA70/w347-h454/dblp2.png" width="347" /></a></div><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3kwoIazTBPWWfsFU78Rd0NI3pGERtAGQhkWkv5NgVEox4mb5SPr2VbOyOiH98AmwVYvk7rqYwq0t9eh9Rbw7gTmBTiZbSXF67uKWfTLFaBvIsvTrObmEFAxbgu11-mjgLoo_45msVS7TCDTIfX_CYQ0qwBnsEJLZBiOoMCiJVs3h_hYIGjBq4X_95mVs/s552/dblp3.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="476" data-original-width="552" height="326" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3kwoIazTBPWWfsFU78Rd0NI3pGERtAGQhkWkv5NgVEox4mb5SPr2VbOyOiH98AmwVYvk7rqYwq0t9eh9Rbw7gTmBTiZbSXF67uKWfTLFaBvIsvTrObmEFAxbgu11-mjgLoo_45msVS7TCDTIfX_CYQ0qwBnsEJLZBiOoMCiJVs3h_hYIGjBq4X_95mVs/w378-h326/dblp3.png" width="378" /></a></div><br /><p><br /></p><p><br /></p><p></p><p>I start spilling across another decade, though, with 4 decades of patents <a href="https://en.wikipedia.org/wiki/List_of_prolific_inventors">https://en.wikipedia.org/wiki/List_of_prolific_inventors</a> <span face="sans-serif" style="background-color: #f8f9fa; color: #202122; font-size: 11.9px;">1999—2022</span> , which generally tracks my Intel career of February 1997 to this date in 2022 touching 4 decades, too, namely 1990's, 2000's, 2010's, 2020's, respectively.</p><p>These are some pretty rough blogs hosted on a free blogging platform comprised mostly of rambling thoughts, with a few repeats, and little to no editing.</p><p>This effort is definitely not part of the day job. For after hours there are already a lot of other non-day job writing activities queued up historically, including patents, papers, books. As such, this blog has often been often log-jammed behind those. It's hard to priority boost, other than signaling events like IDF STM unleashed <a href="http://vzimmer.blogspot.com/2015/08/smi-transfer-monitor-stm-unleashed.html">http://vzimmer.blogspot.com/2015/08/smi-transfer-monitor-stm-unleashed.html</a> I posted right after delivering <a href="https://www.intel.com/content/dam/develop/external/us/en/documents/stts003-sf15-stts003-100f-820238.pdf">https://www.intel.com/content/dam/develop/external/us/en/documents/stts003-sf15-stts003-100f-820238.pdf</a> in San Francisco in 2015. Latter took a winding path. Showed up in coreboot <a href="https://review.coreboot.org/c/coreboot/+/33234">https://review.coreboot.org/c/coreboot/+/33234</a> <a href="https://www.platformsecuritysummit.com/2018/speaker/myers/">https://www.platformsecuritysummit.com/2018/speaker/myers/</a> and a variant in ppam <a href="https://www.intel.com/content/dam/www/central-libraries/us/en/documents/drtm-based-computing-whitepaper.pdf">https://www.intel.com/content/dam/www/central-libraries/us/en/documents/drtm-based-computing-whitepaper.pdf</a>. OG info can still be found at <span class="aw5Odc" face="Lato, sans-serif" style="box-sizing: border-box; font-size: 14.6667px; font-variant-ligatures: none; text-decoration-line: underline; white-space: pre-wrap;"><a class="XqQF9c" href="https://www.google.com/url?q=https%3A%2F%2Fwww.intel.com%2Fcontent%2Fdam%2Fdevelop%2Fexternal%2Fus%2Fen%2Fdocuments%2Fa-tour-beyond-bios-launching-stm-to-monitor-smm-in-efi-developer-kit-ii-819978.pdf&sa=D&sntz=1&usg=AOvVaw3Hvtbk9r2pIranzItOnS8X" style="box-sizing: border-box; pointer-events: all; text-decoration-line: none;" target="_blank">https://www.intel.com/content/dam/develop/external/us/en/documents/a-tour-beyond-bios-launching-stm-to-monitor-smm-in-efi-developer-kit-ii-819978.pdf</a></span><span face="Lato, sans-serif" style="color: #212121; font-size: 14.6667px; font-variant-ligatures: none; white-space: pre-wrap;"> </span> and <span class="aw5Odc" face="Lato, sans-serif" style="box-sizing: border-box; font-size: 14.6667px; font-variant-ligatures: none; text-decoration-line: underline; white-space: pre-wrap;"><a class="XqQF9c" href="https://www.google.com/url?q=https%3A%2F%2Fcdrdv2.intel.com%2Fv1%2Fdl%2FgetContent%2F671411&sa=D&sntz=1&usg=AOvVaw2s0UIRrFqox2SMMEVtKGmI" style="box-sizing: border-box; outline: 0px; pointer-events: all; text-decoration-line: none;" target="_blank">https://cdrdv2.intel.com/v1/dl/getContent/671411</a></span><span face="Lato, sans-serif" style="color: #212121; font-size: 14.6667px; font-variant-ligatures: none; white-space: pre-wrap;"> </span>and I guess that I should go back and update the 'released' blog posting, too since so many of the referenced sites have come and gone over time. I can easily see how much history (I was about to type 'wisdom' but I cannot claim to discern wisdom signal from information glut noise easily) is lost during our age of everything online. </p><p>While running into a colleague during the first visit to Oregon after COVID quarantine ended I was given a recommendation to read <a href="https://www.amazon.com/Inside-Intel-Worlds-Powerful-Company/dp/0452276438">https://www.amazon.com/Inside-Intel-Worlds-Powerful-Company/dp/0452276438</a>. The book ended in 1997, the year I joined Intel, so I cannot claim to have experienced the environment first hand. But some aspects of the culture described did map to my early Intel years. One quote I especially liked, though, was about how to work with an long-lived culture of technology, namely:</p><p>"Respect the past, be honest about the present, be optimistic about the future"</p><p>Or something like that. The stories about Hungarian Grove, whose signature I picked up as a recent hire shown in <a href="http://vzimmer.blogspot.com/2014/02/">http://vzimmer.blogspot.com/2014/02/</a>, reminded me of the manager in Oregon with whom I interviewed in October 1996, Mil Travniceck and then offered me the job, although I hemmed and hawed a few months while still working at Compaq prior to ultimately joining Intel in February 1997. From the first edition of <a href="https://www.amazon.com/Beyond-Bios-Implementing-Extensible-Interface/dp/0974364908">https://www.amazon.com/Beyond-Bios-Implementing-Extensible-Interface/dp/0974364908</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGw8Xu9yesw2uFoKPeFRoDaPhdyXWqhh510rm6YiZvrb63_5zZljcpY_j3RmNiiR_7mSi_ny3RethG_LINPbjAo4dG5Fmj7c8WN1VfOpUgdaOHE-AvtNs4p_f8cyHzmnbEeg_qIjQ2ob2_-Ix8CmQV2dLSARwXAjD9Sxs1L-xImu2wTxg92E2IC1Hz/s1280/ml2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="325" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGw8Xu9yesw2uFoKPeFRoDaPhdyXWqhh510rm6YiZvrb63_5zZljcpY_j3RmNiiR_7mSi_ny3RethG_LINPbjAo4dG5Fmj7c8WN1VfOpUgdaOHE-AvtNs4p_f8cyHzmnbEeg_qIjQ2ob2_-Ix8CmQV2dLSARwXAjD9Sxs1L-xImu2wTxg92E2IC1Hz/w576-h325/ml2.jpg" width="576" /></a></div><br /><p><br />Mil coached me on many things, including life at Intel. He would always have the paper notebook and record meticulous details of our 1:1's, following the style described in Grove's <a href="https://www.amazon.com/High-Output-Management-Andrew-Grove/dp/0679762884">https://www.amazon.com/High-Output-Management-Andrew-Grove/dp/0679762884</a>. Mil was also from eastern Europe and had a deep accent. I never asked him his origin story, though. He was pretty legendary in the Intel BIOS community at the time and I appreciate the opportunity to have been hired by, learned from, and mentored by him in those early years in DuPont, WA. I still recall the last conversation I had with him. Although I was hired by him to lead the 64-bit Merced firmware in the High End Server Division (HESD), I had since moved on to the EFI team in the Microcomputer Software Labs (MSL) of the microprocessor division MD6. Mil was always a bit skeptical of the move from legacy BIOS, and in the hallway that day he challenged me "Is this move to EFI a good idea. A move away from legacy? You know legacy, we're really good at that here at Intel." </p><p>Those are some words I'd like to carry forward, too. In this blog, though, maybe I'm starting to repeat myself. As I close blog posting 100, maybe the universe is telling me that this blog stream is 'done'. Or maybe it's still an opportunity to practice respect, honesty, and optimism.</p><p>fin (100)</p><br /><br />Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-81653288864013415602022-05-06T22:59:00.002-07:002023-03-01T07:13:57.307-08:00And then there were 99<p>One of the more satisfying areas in tech I’ve done involved creating a component based firmware model for early, space-constrained firmware execution, namely the Pre-EFI Initialization (PEI) architecture. I created both the specification, design and initial implementation. </p><p class="MsoNormal">The journey to creation of PEI began in the late 1990’s. At that time the Extensible Firmware Interfaced (EFI) specification was defined, but the EFI ‘sample’ code was layered on top of a PC/AT BIOS or other precursor firmware. In 2000 there was a request to have a component-based firmware model for interoperable industry enabling. </p><p class="MsoNormal">To that end, the PEI infrastructure includes a small core that is responsible for memory management, service registration, service discovery, and executable module dispatch. PEI Modules, or “PEIM’s”, can be PE/COFF executables or a subset of the PE/COFF referred to as a “Terse Executable”, or TE Image. The input of the PEI phase entails the machine reset and the output of the phase is a set of usable system memory that can be persist into the operating system runtime, along with the cause of the restart, or ‘boot mode.’</p><p class="MsoNormal">[from beyond bios book]</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRvKxoZLf0DmUNNRkUevMtSErTwINOyzyBeWCRnb7AxFuYhf02rgBDKsbWWlF8Lpsz0pxIS0Y7OklnoIyecO7Uhk7sVEZA-GZQLgMatZ7HvMp5kluJV-Sh4jDqo6NRTxNxyBNo-ACImb60gJ5tkioiP4h4m5UxQJlpUFpjBJFJ5FLP976nM-mUPFGy/s1255/te-image.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="987" data-original-width="1255" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRvKxoZLf0DmUNNRkUevMtSErTwINOyzyBeWCRnb7AxFuYhf02rgBDKsbWWlF8Lpsz0pxIS0Y7OklnoIyecO7Uhk7sVEZA-GZQLgMatZ7HvMp5kluJV-Sh4jDqo6NRTxNxyBNo-ACImb60gJ5tkioiP4h4m5UxQJlpUFpjBJFJ5FLP976nM-mUPFGy/w436-h344/te-image.JPG" width="436" /></a></div><br /><p class="MsoNormal"><br /></p><p class="MsoNormal">The problem being addressed was to allow for composing executable modules from different business entities, such as the CPU vendor for host CPU initialization, board vendor for platform specific logic, reusable generic infrastructure, and 3rd party silicon providers. These executables could range from a simple platform-specific PEIM that samples a general purpose I/O and publishes a flash map up into a module responsible for link and memory initialization built from 10’s of thousands of lines of ANSI C code. Given that the system on a chip vendor exposing the memory and fabric initialization can be different than the platform vendor, the ability to segregate the logic into separate executable modules was a requirement. Correspondingly, some of the PEIM’s may only be delivered in binary, thus requiring a strong contract between the various units of execution. The latter contract entailed the use of PEIM-to-PEIM interfaces, or sets of interfaces named by a Globally Unique Identifier (GUID). The PEI modules are stored in a container known as a Firmware Volume (FV). Typically a system will have a least two FV’s: one for the PEI Modules and another for the larger UEFI and DXE modules.</p><p class="MsoNormal">Compounding the need for module interoperability, the PEI phase had to eXecute-In-Place (XIP) from a memory-mapped store immediately after the machine reset. During this early phase the main DRAM complex has not been initialized, and the execution path to the SPI NOR-attached storage is typically slow, so the PEI core and modules had to be optimized to minimize both code size and memory usage. Specifically, the memory for this early phase entailed the use of the process Cache As RAM (CAR).</p><p class="MsoNormal">The usage of CAR, both for single and later parallel PEI instances, was another innovation I drove from the PEI definition. This usage of PEI allowed for writing C code for even the earliest flows, especially the notoriously complex DDR initialization sequences. Prior to CAR the original design of PEI entailed an assembly-language, register-based software model with ‘call levels’ mapped to various sets of the CPU register set. We discovered that writing code with these ‘level’s’ instead of common idioms like a call stack was untenable, as was factoring large algorithmic routines in assembly. The latter made writing portable, re-usable code difficult. Also, as IP blocks were shared between different CPU cores, not having re-usable C code compounded the software development costs.</p><p class="MsoNormal">The PEI infrastructure started with the register-based model that was ultimately abandoned and then moved to the CAR-based software model in an Intel-defined capability in 2001, and finally culminated in the UEFI Platform Initialization (PI) specification <a href="http://www.uefi.org/sites/default/files/resources/PI_Spec_1_6.pdf">http://www.uefi.org/sites/default/files/resources/PI_Spec_1_6.pdf</a>, volume 1, on <a href="http://www.UEFI.org">http://www.UEFI.org</a>. There is a corresponding open source implementation of the EFI Developer Kit II (EDKII)-based PEI core at <a href="https://github.com/tianocore/edk2/tree/master/MdeModulePkg/Core/Pei">https://github.com/tianocore/edk2/tree/master/MdeModulePkg/Core/Pei</a> with some sample platform and silicon PEIM’s at <a href="https://github.com/tianocore/edk2-platforms/tree/devel-MinPlatform/Platform/Intel/MinPlatformPkg/PlatformInit/PlatformInitPei">https://github.com/tianocore/edk2-platforms/tree/devel-MinPlatform/Platform/Intel/MinPlatformPkg/PlatformInit/PlatformInitPei</a>. The UEFI Platform Initialization (PI) specific provides guidelines on how the PEI core operates, its core services, the TE definition, and the output state of the PEI phase, or the Hand-off-blocks (HOBs). The latter decouples the PEI core from the later state of platform initialization.</p><p class="MsoNormal">PEI has bindings to several architectures, including Itanium, IA32, x64, 32-bit ARM and Aarch64. Today the ARM licensees and ARM Ltd. for 32-bit and Aarch64 servers and client, AMD client and servers, and all of Intel products provide PEI-based silicon enabling. Given the BSD licensing of the EDKII, commercial BIOS vendors and many OEM’s have their own instance of the PEI core. Silicon providers deliver PEI modules as binaries and/or source as either licensed closed source or open source. Regrettably, most of the critical silicon specific flows for memory initialization are either in a proprietary boot ROM or binary blob, not open source. In order to accommodate the various open source host firmware communities, Intel provides a variant of a PEI Firmware Volume with a set of additional API’s called the Intel Firmware Support Package (FSP) <a href="https://www.intel.com/fsp">https://www.intel.com/fsp</a>. The latter specification has a set of simple services that allow for coreboot <a href="https://www.apress.com/us/book/9781484200711">https://www.apress.com/us/book/9781484200711</a> or EDKII <a href="https://www.intel.com/content/dam/develop/external/us/en/documents/a-tour-beyond-bios-using-the-intel-firmware-support-package-with-the-efi-developer-kit-ii-fsp2-0-820293.pdf">https://www.intel.com/content/dam/develop/external/us/en/documents/a-tour-beyond-bios-using-the-intel-firmware-support-package-with-the-efi-developer-kit-ii-fsp2-0-820293.pdf</a> to ingest the PEI modules. </p><p class="MsoNormal">Given that Intel uses UEFI PI EDKII based PEI modules to validate and enable its SOC’s, having the same critical code usable by various open or closed source host firmware frameworks, from U-boot to coreboot to UEFI to custom RTOS loading argues for the business value of container strategies like Intel FSP to deliver the PEIM’s.</p><p class="MsoNormal">PEI and the PI specification are really a business-to-business technology, namely silicon to OEM. This is distinct from the UEFI specification which has both business-to-business, Original Equipment Manufacturer (OEM) to independent hardware vendor (IHV) and operating system vendor (OSV), and business-to-consumer, such as OEM to enthusiast or writing UEFI applications.</p><p class="MsoNormal">PEI isn’t universal, though. A native U-Boot SPL or coreboot romstage may not resemble PEI, or the alternate firmware boot flow such as OpenPower and its PEI-equivalent called HostBoot, or the RISC-V Freedom Unleashed’s FSBL. Also, the business-to-business interoperability or richness of PEI are not required for certain classes of platform designs. Given the above caveats, though, I would say PEI has been a success given the mainstream CPU vendor usage, although it isn’t the only way to perform this initialization.</p><p class="MsoNormal">And I remember working on this tech in the early 2000's. A patent attorney helping to draft some of the material said 'no one is patenting this type of material.' Some work like expired <a href="https://patents.google.com/patent/US7103529B2/en">https://patents.google.com/patent/US7103529B2/en</a> filed in 2001 cited by <a href="https://scholar.google.com/scholar?oi=bibs&hl=en&cites=8788045269349566754&as_sdt=5&as_ylo=2022&as_yhi=2022">https://scholar.google.com/scholar?oi=bibs&hl=en&cites=8788045269349566754&as_sdt=5&as_ylo=2022&as_yhi=2022</a> for their work on firmware sand boxing in products 20 years later. Perhaps this, and PEI during 2001, can fall under the theme of 'value of working on unpopular things.' Once they become popular, the jfk quote kicks in about 'success has many patents but failure is an orphan.'</p><p>I hear other strange history, namely some parties outside of Intel working on EFI in 1997 and 1996 when IBI, the EFI predecessor, didn't commence until 1998. FSP started in 2012, but some folks mention it as being 14 years old.</p><p>Helping finish and scale is valuable. No need to claim inventorship/creation. Sometimes tech companies encourage that pernicious behavior as part of the promotion process. This leads to the 'pump and dump' phenomena I mentioned earlier <a href="http://vzimmer.blogspot.com/2019/02/tiano-147-and-22-or-anniversarynext7.html">http://vzimmer.blogspot.com/2019/02/tiano-147-and-22-or-anniversarynext7.html</a>. And I'm still amazed by the tech market. From the feast-to-famine on hiring to the interesting organization psychology. For example, reading <a href="https://www.warp.dev/blog/problems-with-promotion-oriented-cultures">https://www.warp.dev/blog/problems-with-promotion-oriented-cultures</a> reminds me of my PDD reference in March posting <a href="http://vzimmer.blogspot.com/2022/03/">http://vzimmer.blogspot.com/2022/03/</a> that shared similar sentiment with this May article</p><p>The dark side of 'finishing' is the loose ends. mention the capsule/variable tweet w nikolaj and tianocore infosec. <a href="https://www.goodreads.com/quotes/276615-another-flaw-in-the-human-character-is-that-everybody-wants">https://www.goodreads.com/quotes/276615-another-flaw-in-the-human-character-is-that-everybody-wants</a>, which remind me of <a href="https://twitter.com/pietrushnic/status/1514741511203794945">https://twitter.com/pietrushnic/status/1514741511203794945</a> and discussion with <a href="https://twitter.com/vincentzimmer/status/1501826510738522113">https://twitter.com/vincentzimmer/status/1501826510738522113</a>.</p><p>Another reminder of finishing was helping stand up the EDKII infosec group <a href="https://tianocore.org/security">https://tianocore.org/security</a>. The journey went from chasing items like <a href="https://invisiblethingslab.com/resources/misc09/Quest%20To%20The%20Core%20(public).pdf">https://invisiblethingslab.com/resources/misc09/Quest%20To%20The%20Core%20(public).pdf</a> and its ilk, curating bespoke list at <a href="https://edk2-docs.gitbook.io/security-advisory/">https://edk2-docs.gitbook.io/security-advisory/</a>, including epic fixes like <a href="https://edk2-docs.gitbook.io/security-advisory/boot_failure_related_to_uefi_variable_usage#description">https://edk2-docs.gitbook.io/security-advisory/boot_failure_related_to_uefi_variable_usage#description</a>. Then leveraging the notification mechanism of <a href="https://uefi.org/security">https://uefi.org/security</a> mantis tickets to until <a href="https://tianocore.org/security">https://tianocore.org/security</a> was ready. Some of the process</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikeuMejrOchQ12BOPZRjt7qVNsWmvc76LWnqjxEOAmhxT12kWi6Js-sKSkpV9EzuFNMNJ8NwQRzG4IxPKp1guCWTQiwWnGjtbPZW9fztTMm-DiCf5C7gp2CRngxiwyHMpXB3sqW-QXcDQrk4qAdOyNL6Ch-Lu1-W2kWPz90MUuuaBYlH3AT10tObXv/s1280/flowchart.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="302" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikeuMejrOchQ12BOPZRjt7qVNsWmvc76LWnqjxEOAmhxT12kWi6Js-sKSkpV9EzuFNMNJ8NwQRzG4IxPKp1guCWTQiwWnGjtbPZW9fztTMm-DiCf5C7gp2CRngxiwyHMpXB3sqW-QXcDQrk4qAdOyNL6Ch-Lu1-W2kWPz90MUuuaBYlH3AT10tObXv/w536-h302/flowchart.jpg" width="536" /></a></div><br /><p><br /></p><p> was inspired by other open source projects like Xen <a href="https://xenproject.org/developers/security-policy/">https://xenproject.org/developers/security-policy/</a>. The latest was ensuring that EDKII could issue its own CVE's as a CNA <a href="https://www.ami.com/ami-and-industry-partners-drive-acceptance-of-tianocore-as-cve-numbering-authority-cna-by-the-common-vulnerabilities-and-exposures-cve-program/#:~:text=The%20acceptance%20of%20TianoCore%20as%20a%20CNA%20by%20the%20CVE,%2Frequest_id.html%23cna_participants">https://www.ami.com/ami-and-industry-partners-drive-acceptance-of-tianocore-as-cve-numbering-authority-cna-by-the-common-vulnerabilities-and-exposures-cve-program/#:~:text=The%20acceptance%20of%20TianoCore%20as%20a%20CNA%20by%20the%20CVE,%2Frequest_id.html%23cna_participants</a>, including learning how to curate the json for issues and being tested by Mitre prior to achieving this milestone. There are still rough edges to work out, such as commitment from community, tragedy of commons, permissive license where folks can fix and not give back, such as marc jones mentions in <a href="http://vzimmer.blogspot.com/2020/12/musings-about-firmware-cultures.html">http://vzimmer.blogspot.com/2020/12/musings-about-firmware-cultures.html</a><br /><br />fin (99)</p>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-42278019478692177362022-05-03T11:19:00.000-07:002022-05-03T11:19:56.700-07:00Re-use - ideas, et al.<p>This is a quick note on 're-use'. Recall how UEFI was derived from EFI, which in turn started as IBI, as mentioned in in <a href="http://vzimmer.blogspot.com/2018/10/ghosts-of.html">http://vzimmer.blogspot.com/2018/10/ghosts-of.html</a> and various histories of EFI in books <a href="http://vzimmer.blogspot.com/2021/01/books-and-computers.html">http://vzimmer.blogspot.com/2021/01/books-and-computers.html</a> and papers <a href="https://www.intel.com/content/dam/www/public/us/en/documents/research/2011-vol15-iss-1-intel-technology-journal.pdf">https://www.intel.com/content/dam/www/public/us/en/documents/research/2011-vol15-iss-1-intel-technology-journal.pdf</a>. </p><p>As a background, the original Intel Boot Initiative had its own filesystem called "IBIFS". It was a simple log-structured filesystem that made for easy parsing. But the challenge with this filesystem was how to provision boot media from other operating systems, such as Windows. In the 1990's MS-FAT was the prevailing filesystem although it was much more complex than IBIFS. The IBI/EFI team was encourage to adopt MS-FAT <a href="https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/fatgen103.doc">https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/fatgen103.doc</a>, along with PE/COFF <a href="https://docs.microsoft.com/en-us/windows/win32/debug/pe-format">https://docs.microsoft.com/en-us/windows/win32/debug/pe-format</a> executables, as the filesystem and executable format, respectively. This was supported by having a license to use these specifications for production of EFI firmware. </p><p>The other advantage of using MS filesystem included MS providing tools to format, check and provision disks <a href="https://www.intel.com/content/www/us/en/download/714351/uefi-shell-disk-utilities.html">https://www.intel.com/content/www/us/en/download/714351/uefi-shell-disk-utilities.html</a> whose sources were derived from MS Installable Filesystem (IFS) C++ kit provided to OEM's. This was my first dive into C++-on-a-C-framework (i.e., no global constructors, etc).</p><p>And PE/COFF allowed for using Visual Studio and commercial linkers. At the time we had less luck in getting PDB format and KD wire protocol made public. We wouldn't open source the EFI Debug support protocol and nub based upon reversing that infrastructure, of course. </p><p>Of course using ANSI C with PE/COFF was more advantageous than using non-standard art like the coreboot romcc that proved brittle to maintain long-term, although it was a clever solution prior to the advent of cache-as-ram (CAR) <a href="https://www.coreboot.org/data/yhlu/cache_as_ram_lb_09142006.pdf">https://www.coreboot.org/data/yhlu/cache_as_ram_lb_09142006.pdf</a>. Prior to CAR we had to perform unnatural acts using MMX registers and other on-processor resources (with the peak weirdness of PEI CIS 0.3 and its register 'call levels') in order to implement pre-permanent memory flows like DRAM initialization in the host firmware. </p><p>I was reminded of this logic of re-use based upon a few recent topics, including USF <a href="https://github.com/universalscalablefirmware">https://github.com/universalscalablefirmware</a> and EDK2 GSoC conversation. On the USF topic, there is a discussion of using a self-describing format like CBOR <a href="https://www.rfc-editor.org/rfc/rfc8949.html">https://www.rfc-editor.org/rfc/rfc8949.html</a> in lieu of the UEFI HOB's <a href="https://universalscalablefirmware.groups.io/g/discussion/files/New%20data%20format%20for%20Universal%20Payload%20Interface.pdf">https://universalscalablefirmware.groups.io/g/discussion/files/New%20data%20format%20for%20Universal%20Payload%20Interface.pdf</a>. Even though I helped create HOB's, I am one of the first to support moving to a more standard format, especially given the existence of work like <a href="https://github.com/intel/tinycbor">https://github.com/intel/tinycbor</a>. To me this is the same spirit of using known filesystem formats, etc.</p><p>When asked about this I often cite the economics of host firmware development. Imagine a 5,000 person host firmware producing community across open source participants, OEM's, ODM's, firmware vendors, first party device creators, etc. Recall the supply chain picture from erstwhile 2015 CanSecWest prezo</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4Af1TJwzvNBaLvGjSJ5F5nah16wr5Yc6sHwA1WIZ0bLALwBxgzIYSp2hCPtmZMJMD2U2z7FJ7ORdD7evzLGM3_8VdKhrtX9jG00j9wiKBHyEeCYbsEvSs0ri656sG8FUKl1aR0ywpOBSboD1pYCFDWzpp9tScISBeDAh5pqd5oHDShr1XXNu3tmfL/s960/uefi-supply-chain.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="960" height="337" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4Af1TJwzvNBaLvGjSJ5F5nah16wr5Yc6sHwA1WIZ0bLALwBxgzIYSp2hCPtmZMJMD2U2z7FJ7ORdD7evzLGM3_8VdKhrtX9jG00j9wiKBHyEeCYbsEvSs0ri656sG8FUKl1aR0ywpOBSboD1pYCFDWzpp9tScISBeDAh5pqd5oHDShr1XXNu3tmfL/w449-h337/uefi-supply-chain.jpg" width="449" /></a></div><br /><p><br /></p><p>As such, compare this to the application and OS producing community that is easily orders of magnitude larger. Given the developer community size disparity it is difficult to justify the R&D and validation expense for bespoke host firmware-only solutions. Given NIH sometimes in engineering communities I also quote "Good artists invent, great artists steal" Picasso <a href="https://medium.com/ben-shoemate/what-does-it-mean-good-artists-copy-great-artists-steal-ee8fd85317a0">https://medium.com/ben-shoemate/what-does-it-mean-good-artists-copy-great-artists-steal-ee8fd85317a0</a>.</p><p>And given challenges of HOB's I understand the critique of Terse Executable (TE) during gsoc thread "<span style="background-color: white; color: #202124; font-family: "Google Sans", Roboto, RobotoDraft, Helvetica, Arial, sans-serif; font-size: 22px; font-variant-ligatures: no-contextual;">[edk2-discuss] GSoC Proposal</span><span style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;">a replacement for the </span><span class="il" style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;">TE</span><span style="background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;"> format (it’s buggy and most platforms mostly abandoned it over various issues),</span>" I'm not sure where he received his telemetry on 'abandoned' for working systems. Scraping FD images from the internet? Similar to some of the weird history on those GSoC threads like "PEI and DXE in 1998" when the latter were created in early 2000's as derivatives of EFI into the earlier boot flow. This TE assertion is close to home given the TE image format signature has 'vz' as opposed to PE/COFF 'mz', as originally described in <a href="https://www.amazon.com/Beyond-Bios-Implementing-Extensible-Interface/dp/0974364908">https://www.amazon.com/Beyond-Bios-Implementing-Extensible-Interface/dp/0974364908</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZyiEgx6kZeh6PeWtG46c92qlL1OWlt0sTOLJE1jRh96_kxZMNxl71zE33k0sQu4C10lQF66hh-mbtDi2FtGJ0-qjYsHtIG8ARKrXXCrTVzrK4gIR-BqSQJ79KouHFqELg_IUvDFNzMbYYor1rYOKEuZgUJ-KTVo3wfSWvPlJdyP7gfOEieBBvkNeN/s1280/te-image.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZyiEgx6kZeh6PeWtG46c92qlL1OWlt0sTOLJE1jRh96_kxZMNxl71zE33k0sQu4C10lQF66hh-mbtDi2FtGJ0-qjYsHtIG8ARKrXXCrTVzrK4gIR-BqSQJ79KouHFqELg_IUvDFNzMbYYor1rYOKEuZgUJ-KTVo3wfSWvPlJdyP7gfOEieBBvkNeN/w608-h342/te-image.jpg" width="608" /></a></div><br /><p><br /></p><p>So has the TE image been relevant in the industry? Let's do some rough back-of-the-envelope calculations. To begin, the TE image format is easily over 20 years old. In the spirit of the last blog on statistics I'd sat we started to scale Framework EDKII in 2005</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9Idgztb4g7w3v7jwaVlks7GRpNW2v8tQw5JkYLTnBQZ3TElb2obNYkf5jXKTVDIjsDjzQacEXGJD48pK43DzSytrORHBXrdtibPJliAwT6hEG2SDbOd_Rw4cMckI--TB0_YgxgbLFW6w474ld4w5UTNa4EQQYHpAmoyksbeL9toNNpPsg8FV66lJ0/s960/uefi-spec-timeline.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="960" height="383" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9Idgztb4g7w3v7jwaVlks7GRpNW2v8tQw5JkYLTnBQZ3TElb2obNYkf5jXKTVDIjsDjzQacEXGJD48pK43DzSytrORHBXrdtibPJliAwT6hEG2SDbOd_Rw4cMckI--TB0_YgxgbLFW6w474ld4w5UTNa4EQQYHpAmoyksbeL9toNNpPsg8FV66lJ0/w509-h383/uefi-spec-timeline.jpg" width="509" /></a></div><br /><p>Imagine in the ensuing years it's tough to calculate the number of PC's, servers, and clients that shipped using UEFI PI-based firmware, including #'s like <a href="https://www.statista.com/statistics/576151/unit-shipments-pcs-united-states/">https://www.statista.com/statistics/576151/unit-shipments-pcs-united-states/</a>. For Windows8 UEFI was required so you can argue 100% at that point. </p><p>To take a swag lets assume 250 million units / year over the last 17 years, yielding 4.25 billion units. Let's also assume the fabrication of the PEI phase pre-memory uses TE's and that each fv/ibb/fvrecovery has ~ 50 peim's compiled with TE. So that would yield the market has shipped 50 * 4.25 = 212.5 billion TE images into the market. And if platform updated 5 times during life, 1 trillion TE's may have been produced. So even if we go 'Beyond TE', 1T has been a good run. And I look forward to the next wave of firmware technologists' proposals - the critique is a pre-condition to invention/innovation - but the next wave needs to close the loop by proposing, documenting, coding, delivering, validating, and scaling their alternative. </p><p>I still recall meeting one of the original developers of MS-FAT in Windows at a driver dev-con in the early 2000's in Redmond. He mentioned that 'writing the code was only 10% of the effort.' The latter class of activities were the remaining 90% for a professional software engineer. Or the old trope 'the last 10% of a project takes 90% of the time.'</p><p>Finally, these cardinality of the produced TE image set calculations remind me of a colleague at Cornell during my undergrad. He worked part-time in the astrophysics department, whereas I spent time modeling and mocking up particle beams for a professor who did microwave and plasma research as part of SDI <a href="https://en.wikipedia.org/wiki/Strategic_Defense_Initiative">https://en.wikipedia.org/wiki/Strategic_Defense_Initiative</a>. My friend noted that the astrophysics researchers there would reckon calculations plus or minus a couple orders of magnitude. I won't argue host firmware is of the same scale but it does note the challenges in precision in various domains.</p><p>Sometimes folks believe in bespoke and not studying the past arc of history in tech. I recommend spending some time on bitsavers.org, for example, to folks. But it reminds me of the advice given to me by a retired manager - "Sometimes you see someone put their hand in the chipper. You can say 'there's a chipper, there's a chipper', but they ignore you. Once they are beyond their elbow you need to jump in, at least." Or the dual of child rearing, which was "Sometimes the young child needs to bump her knees on the coffee table while learning to walk." For those not in the PNW a chipper is <a href="https://www.familyhandyman.com/list/best-wood-chippers/">https://www.familyhandyman.com/list/best-wood-chippers/</a>.</p><p>BTW<br />I just sampled some of the OCP Security <a href="https://www.opencompute.org/wiki/Security">https://www.opencompute.org/wiki/Security</a> tech talks. Work to avoid e-waste such as ownership transfer <a href="https://docs.google.com/document/d/1oANhjvv_R7E5n8w1RroN8l8-0jdYlfdQDp_3RqGV66k/edit#">https://docs.google.com/document/d/1oANhjvv_R7E5n8w1RroN8l8-0jdYlfdQDp_3RqGV66k/edit#</a> for servers presented by Google datacenter engineer nicely complements their work on Chromebooks with their developer mode <a href="https://www.chromium.org/chromium-os/chromiumos-design-docs/developer-mode/">https://www.chromium.org/chromium-os/chromiumos-design-docs/developer-mode/</a> and other art to allow for unsupported devices to be over-flashed by community firmware for continued life & usage. Nice to see work to avoid aged hardware from only have a fate of visiting the refuse bin/salvage yard.</p><p>It might be a stretch to analogize re-use of ideas in this blog post and re-use of hardware in the circular economy from this OCP talk. The former stands on the shoulders of giants and leverages information ecosystems (knowledge, tools, remediated flaws) whereas the latter leverages extant hardware for appropriate use-cases. But interesting stuff nevertheless.</p><p>fin (98)</p><p><br /></p><div><br /></div>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0tag:blogger.com,1999:blog-4850094764354335096.post-10537633050991268622022-04-12T08:57:00.002-07:002022-04-12T13:03:12.807-07:001000. Lies, #$(@ lies, and statistics<p>It was with some regret that I learned a colleague I admire is retiring. After our last meeting he shared the following picture from osfc 2018 that he took while we were in Germany.<br /></p><p> </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiStLTrSZReqduGnaF6vHKsoQ1WVjdAKYH6xUOtDXrtV0-HJyhwuUicXfjpt_tHs73olDc47Vdoz-BqN2svhUXkO9Nk6s3k5ofibuoUA9vcC_zXjc-_9gNarpWSSOqoOBOD5zF76vLJKIX4pbPZN3C4LDa3djPB52kMzafePwGmvKJVuAQBsA9asERu/s5312/OSFC%200912180916.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2988" data-original-width="5312" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiStLTrSZReqduGnaF6vHKsoQ1WVjdAKYH6xUOtDXrtV0-HJyhwuUicXfjpt_tHs73olDc47Vdoz-BqN2svhUXkO9Nk6s3k5ofibuoUA9vcC_zXjc-_9gNarpWSSOqoOBOD5zF76vLJKIX4pbPZN3C4LDa3djPB52kMzafePwGmvKJVuAQBsA9asERu/s320/OSFC%200912180916.jpg" width="320" /></a></div><br /> <p></p><p><a href="https://2018.osfc.io/speakers/vincent-zimmer.html">https://2018.osfc.io/speakers/vincent-zimmer.html</a> with the prezo <a href="https://2018.osfc.io/uploads/talk/paper/1/OSFC_Keynote-005.pdf">https://2018.osfc.io/uploads/talk/paper/1/OSFC_Keynote-005.pdf</a><br /></p><p>Speaking of osfc, my most recent osfc prezo <a href="https://talks.osfc.io/osfc2021/talk/HYZL3U/">https://talks.osfc.io/osfc2021/talk/HYZL3U/</a></p><p> </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSbBeiBwa6EjOz4HY5aROY3JOrj3r4j5WyO1cYIEY2OIclvOHSBrCrL_wHg_iryIURIWu5SKpjJKGkw7kpxX4F4zRpoUh673B9-L9kvvWFbg_oVYz2B3xy7IXsueJcJkh-w-jbHomyzDJEExTHrlWuoMNeTp_gAP4sepfV0as-UjyE1ldX92q50rEQ/s1280/2022-books.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSbBeiBwa6EjOz4HY5aROY3JOrj3r4j5WyO1cYIEY2OIclvOHSBrCrL_wHg_iryIURIWu5SKpjJKGkw7kpxX4F4zRpoUh673B9-L9kvvWFbg_oVYz2B3xy7IXsueJcJkh-w-jbHomyzDJEExTHrlWuoMNeTp_gAP4sepfV0as-UjyE1ldX92q50rEQ/w428-h241/2022-books.jpg" width="428" /></a></div><br /> <br /><p></p><p>mentions some upcoming books <a href="https://www.amazon.com/Firmware-Development-Specialized-Systemic-Knowledge/dp/1484279735/">https://www.amazon.com/Firmware-Development-Specialized-Systemic-Knowledge/dp/1484279735/</a> and <a href="https://www.amazon.com/System-Firmware-Essential-Embedded-Solutions/dp/1484279387">https://www.amazon.com/System-Firmware-Essential-Embedded-Solutions/dp/1484279387</a> </p><p>Speaking of books and the arc of history, my co-author on the UEFI Shell and Beyond Bios books Mike Rothman shared w/ me his recent fan-driven wikipedia page <a href="https://en.wikipedia.org/wiki/M._A._Rothman">https://en.wikipedia.org/wiki/M._A._Rothman</a>. On that page I noticed the assertion "<span face="sans-serif" style="-webkit-text-stroke-width: 0px; background-color: white; color: #202122; display: inline; float: none; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">He holds over 1000 patents worldwide</span>." This made me curious about how the page author ascertained that number.</p><p>As folks can see from the link, Mike has elected to spend his after-hours on writing sci-fi and fantasy books, whereas my spare hours continue on tech books, patents, etc. Given our split in paths, I was curious how close I was to 1000 given his claim above.</p><p>To begin my search, I found the old-ish <a href="https://goodip.io/iq/assignee/intel-corp">https://goodip.io/iq/assignee/intel-corp</a> where I note that neither Mike or I are listed. Most of the folks there are microarchitecture and process technology. And given it's an old page, I suspect their #'s are much larger and wouldn't imply Mike or I entering that top 10 international.<br /></p><p>For the next examination, from my earlier analysis <a href="http://vzimmer.blogspot.com/2021/07/patents-and-co-inventors.html">http://vzimmer.blogspot.com/2021/07/patents-and-co-inventors.html</a> I note that Rothman was in the high 200's on US patent grants (<a href="https://en.wikipedia.org/wiki/List_of_prolific_inventors">https://en.wikipedia.org/wiki/List_of_prolific_inventors</a> at 284 now). </p><p>Given that data, so how does the 1000 number come about?</p><p>Perhaps there is some confusion about espacenet, namely the link cited in the above wikipedia page <a href="https://worldwide.espacenet.com/searchResults?DB=EPODOC&IN=%22Michael+Rothman%22+or+%22Rothman+Michael%22">https://worldwide.espacenet.com/searchResults?DB=EPODOC&IN=%22Michael+Rothman%22+or+%22Rothman+Michael%22</a> which lists 737 results for Mike. Regrettably 737 includes US applications and issued, so it's not so easy to glean international issued/granted from that #.</p><p>For example, my variant of above link is <a href="https://worldwide.espacenet.com/searchResults?DB=EPODOC&IN=vincent%20zimmer&ST=advanced&compact=false&locale=en_EP">https://worldwide.espacenet.com/searchResults?DB=EPODOC&IN=vincent%20zimmer&ST=advanced&compact=false&locale=en_EP</a> and lists 1265 items. I don't believe that's correct for me, either, for global granted patents.</p><p>So what is the truth? <br /></p><p>I finally did some digging on my list and came up with the following #'s from my granted patents over the past 25+ years - <br /></p><p dir="ltr" id="docs-internal-guid-688dbe01-7fff-192f-ad85-4669993ff23a" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">All patents (US + world) - 1037 as of 4/11/2022.</span></p><p dir="ltr" id="docs-internal-guid-688dbe01-7fff-192f-ad85-4669993ff23a" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">This means 459 US patents granted and 578 non-US patents granted.</span></p><p></p><p>The details of US and non-US grant numbers include:<br /></p><p><br /></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">11,074,085</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">11,249,748</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,761,951</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">11,061,692</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,929,146</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,852,988</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,649,918</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,382,489</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,251,060</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,564,986</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6,633,964</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,262,140</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,031,993</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,392,371</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL02825773.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1485797</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1485797</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1485797</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1068972</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1485797</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6,848,046</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL02809670.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10296798</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1075718</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-0729793</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,260,848</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,103,529</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL02819232.X</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10297273</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-0692346</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,601,955</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,540,193</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,180,800</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,768,863</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3382593</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602018012850.6</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3382593</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3382593</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3382593</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,546,156</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,474,473</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,503,523</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,394,295</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,552,613</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6,978,018</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,243,353</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6,775,728</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL02822826.X</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">60217394.9</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1449077</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1449077</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1449077</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,200,758</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200380105401.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10393456</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2410819</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">244483</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">4855679</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5551130</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I277904</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,127,579</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,254,676</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200380103263.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2409747</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">4220469</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I242746</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,143,277</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,543,048</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,974,416</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,026,773</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,275,598</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200380104038.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2411989</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2421612</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I238357</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,320,052</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,130,960</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,842,837</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6,996,641</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6,993,608</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,082,523</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,263,605</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,108,665</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200380105211.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10393859</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2411498</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I237790</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,080,246</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,421,431</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,653,808</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,583,591</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,231,512</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,681,027</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,222,258</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,284,136</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,107,440</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,549,055</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,010,799</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,364,974</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,710,647</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,134,125</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,395,420</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,281,116</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,082,509</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,136,994</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,107,441</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,174,451</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,051,215</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200480016970.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602004041688.6</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1634170</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1634170</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1634170</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I247489</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,934,209</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,318,171</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200480005327.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2414318</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1077117</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">222852</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I261748</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,444,667</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,222,339</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,328,340</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200480018100.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,475,233</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL03156077.6</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,188,238</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,200,772</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,587,750</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,134,007</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200480018034.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602004042829.9</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1636696</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1636696</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">4242420</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1636696</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,730,205</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,478,141</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,082,527</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,483,974</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,146,512</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,107,388</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,159,105</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,243,167</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,478,176</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,380,136</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,434,231</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,562,230</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,127,150</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200480037167.X</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">121324</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I280022</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,299,354</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,370,324</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,162,626</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,275,152</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,165,170</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,181,610</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,539,854</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,194,612</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,174,447</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,751,584</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,127,600</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,206,931</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,185,188</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,001,348</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,161,258</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,583,888</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,930,378</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,222,062</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,143,280</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,174,471</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I265405</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,353,339</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200480038646.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I292095</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,207,039</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,448,030</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,162,629</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,496,961</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,334,120</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,120,778</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,321,990</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,185,190</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,302,593</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,281,243</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,263,579</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,984,237</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,350,072</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,203,808</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,398,401</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,318,150</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,552,419</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,234,054</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,363,482</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,853,742</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200580013217.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602005041610.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1749266</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1749266</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">4601665</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1749266</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,421,533</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,739,527</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,269,768</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,048,877</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,290,178</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,340,616</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,788,460</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,370,188</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,543,166</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,943,346</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,310,725</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,364,087</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,243,222</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,246,224</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,281,124</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,653,727</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200580006193.0</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602005047030.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1727625</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1727625</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">4664966</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-0855803</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200580006194.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1728376</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1728376</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1728376</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">4579969</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-0831437</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,117,083</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,426,542</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,406,591</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,310,742</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,290,166</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,698,487</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,082,470</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,594,124</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,225,101</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,751,813</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,558,966</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,430,683</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,757,231</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5042848</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-0984203</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,472,208</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,840,736</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,506,149</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,245,019</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200580017448.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602005028329.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1761837</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1761837</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">4774049</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,711,965</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,135,470</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,654,464</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,942,219</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200580033440.6</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602005047110.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1805572</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1805572</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I314684</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,826,835</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200510132102.X</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602005048479.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1825703</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1825703</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">4575958</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1018213</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,181,293</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,305,544</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,745,364</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,366,891</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,383,450</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,373,551</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,694,298</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200580042442.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">4579298</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-0914077</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,281,127</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,752,428</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,660,913</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,409,575</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,862,785</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,891,929</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,286,169</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,451,301</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,581,037</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,293,184</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,278,006</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200580044889.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602005040792.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1839140</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1839140</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">4802197</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5167387</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-0907722</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1839140</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,434,102</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,673,128</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,412,619</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,543,179</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200780009846.X</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">112007000688</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I333144</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,617,400</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,398,382</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602006049588.9</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1856886</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1856886</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1856886</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200680005313.X</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,542,467</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,024,477</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,716,464</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,352,621</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,806,224</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,493,460</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200680032817.0</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602006006846.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1922617</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1922617</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,373,537</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,441,112</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,046,576</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,862,862</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,465,623</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,543,287</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200680018961.9</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">4796625</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-0937062</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,734,934</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,580,701</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,032,117</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,870,373</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,774,846</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,516,336</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,195,968</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,595,526</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,158,362</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,478,196</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,327,192</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,647,474</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200680035585.4</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602006024610.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1934746</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1934746</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1934746</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1934746</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1934746</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">502011902004677</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1934746</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1934746</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,656,487</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200680035170.7</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,640,553</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,523,323</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,407,489</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,631,259</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200680033757.4</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201110308278.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602006003912.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1924909</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1924909</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1166389</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,480,791</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200680033756.X</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,793,127</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,584,374</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,634,629</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200680042498.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I336039</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,631,206</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,461,299</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,725,747</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,555,641</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,660,977</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200710126426.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1048914</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,930,728</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,370,175</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,716,421</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I341464</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200780020629.0</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,889,685</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,840,398</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,368,711</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,786,622</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,448,828</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,818,558</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,082,431</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200710192949.6</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5001773</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,886,190</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,685,376</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,721,080</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,406,560</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,266,238</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,765,440</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,510,859</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200710153796.4</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,235,707</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602007038961.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1906333</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1906333</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">4775744</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-0989977</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,302,082</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,900,058</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,668,945</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,312,509</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200710170164.9</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602007033774.7</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1918815</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1918815</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">4793733</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5512610</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-0938305</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1918815</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2906661</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2442348</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-0966398</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1034453</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,594,077</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,987,458</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,941,624</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,384,039</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,673,126</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,788,475</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,945,841</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,779,244</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,822,960</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,596,714</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,689,817</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,627,718</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200710300216.X</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,688,965</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200810087275.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,987,348</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200810100361.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200810144638.7</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,984,265</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201410090626.6</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602008052166.4</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1975836</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1975836</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1975836</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1975836</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,158,920</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200810127383.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2017765</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602008057777.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2017765</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2017765</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2017765</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,747,846</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,761,701</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,452,950</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,890,811</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,882,341</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,818,560</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,645,965</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,585,702</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200810190343.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,900,033</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,987,349</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,047,491</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,827,371</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,458,726</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,793,090</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,873,846</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,402,262</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,185,886</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,391,913</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,649,818</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,831,858</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,900,084</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,583,908</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,962,738</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200810183979.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5376928</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,839,356</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200810182279.4</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2065800</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602008054660.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2065800</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2065800</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">4896946</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5410500</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,917,689</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,522,236</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,802,042</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,001,308</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,214,573</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,327,415</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,539,200</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,779,305</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,516,092</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,635,664</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,103,908</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,549,356</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,499,202</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,047,468</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,161,299</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,527,787</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200810188957.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201210028149.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5636559</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,984,286</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,127,312</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,321,931</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,078,862</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,356,168</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,255,721</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,865,775</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,561,138</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2207122</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2207122</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2207122</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2207122</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2207122</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5350528</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1208257</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,201,239</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,909,940</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,631,186</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,990,486</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602009034009.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2141625</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2141625</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200810188988.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2479666</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2479666</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2479666</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2479666</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2479666</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1134816</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,910,169</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200910246861.7</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2169514</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602009056487.0</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2169514</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2169514</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2169514</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5532271</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1114648</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,694,761</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,296,553</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200911000115.6</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2189901</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602009058867.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2189901</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2189901</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2189901</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5368947</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,296,528</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,086,839</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">7,953,916</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,463,972</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,832,454</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL200910217300.4</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2204755</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2461264</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2461264</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2204755</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2461264</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2461264</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2461264</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2204755</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2204755</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5198422</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1410078</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1556818</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,151,027</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602010032793.0</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2239662</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2239662</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5497923</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,219,851</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,806,231</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201010621015.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,489,029</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602010004816.0</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2367091</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2367091</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5026579</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1245442</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2367091</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,015,268</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201110120401.7</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5370897</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1264521</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180047970.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,539,245</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2011285762</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180048112.9</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2601588</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2601588</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2601588</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2601588</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2601588</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5705983</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1518207</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I467383</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,063,836</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2011286271</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180036850.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2598997</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2598997</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2598997</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2598997</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2598997</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5512892</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1473119</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I537967</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,522,066</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,098,300</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201110188572.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5307196</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1306395</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,312,258</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180045466.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602011036292.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2596423</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2596423</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5540155</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1407835</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2596423</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I482084</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,429,387</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,015,455</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201280037871.X</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2729896</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602012060184.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2729896</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2729896</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2729896</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5767751</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1626397</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,367,327</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I542992</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,370,667</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180062019.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5705996</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1524961</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I497289</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,499,141</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180047390.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602011021494.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2601587</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2601587</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5607250</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1370176</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I521441</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,566,613</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201110153786.7</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2395449</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2395449</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2395449</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2395449</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2395449</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5301609</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1312832</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2510952</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">176870</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,479,017</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2011271088</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201110165535.0</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2397959</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2397959</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2397959</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2397959</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2397959</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5394441</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1276409</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,181,176</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201110179065.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602011024271.7</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2397943</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2397943</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5345652</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1331311</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,739,177</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201110165550.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602011002306.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2398199</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2398199</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5275407</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1444984</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2398199</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,428,929</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,965,749</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180046973.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602011021514.0</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2622533</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2622533</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5715256</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5860504</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1453266</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I530872</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,977,871</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201080070815.7</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201610451692.0</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5701399</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1510028</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,607,040</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2011329330</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180055215.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2641168</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2641168</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2641168</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2641168</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2641168</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5606633</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1512252</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I524205</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,688,812</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2011305211</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180002816.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5497190</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1366913</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I454924</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,386,618</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180045848.0</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2619679</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602011059899.6</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2619679</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2619679</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2619679</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5657799</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1465923</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I482091</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,590,040</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I499977</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I564801</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180075088.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2761468</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2761468</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2761468</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2761468</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I468938</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180075454.X</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,958,926</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180074963.0</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I512492</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,298,607</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180075333.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I566966</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,900,448</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180076030.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1646425</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180076131.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2798562</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2798562</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2798562</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2798562</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2798562</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I476630</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I515602</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I599908</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,210,148</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,686,281</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180049417.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2798559</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2798559</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2798559</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2798559</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2798559</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1359841</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,892,858</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201180075848.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2795989</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2795989</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2795989</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2795989</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5890037</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I477169</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,686,364</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201280071805.4</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2831792</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602012073987.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2831792</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2831792</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2831792</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1643072</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,251,347</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201280072136.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2831788</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2831788</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2831788</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2831788</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5951879</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1701014</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,507,937</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,262,178</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2013215466</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201380007287.4</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5893173</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1609385</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,292,463</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,002,002</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201280075426.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">8,832,494</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,075,751</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201380004524.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1618535</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201280075397.X</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,141,802</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,589,138</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6096301</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1775800</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,824,226</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,762,216</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,098,282</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,460,483</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6105077</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I502541</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">5,940,587</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">69838343.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1038227</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1038227</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">1038227</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">73695</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201380072535.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6017706</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1733903</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,311,177</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602013022122.7</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2959417</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2959417</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2959417</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,323,541</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,205,750</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201480008747.X</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2973147</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602014043689.7</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2973147</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2973147</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2973147</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201380081151.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1891420</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,832,172</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201380073058.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2973139</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2973139</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2973139</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2973139</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2973139</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6050528</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1759411</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,223,983</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,563,775</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2974123</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602013061098.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2974123</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2974123</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">2974123</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,378,371</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,600,671</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201380079814.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,495,177</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,880,859</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201510093595.4</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,384,352</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,524,219</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201380079912.6</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,411,601</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,912,474</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201380080001.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3063620</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3063620</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3063620</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3063620</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3063620</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6272991</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1861724</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,996,142</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201380077715.0</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,286,097</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1915695</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,310,865</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">11,068,276</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,626,196</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,228,954</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201580009451.4</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6316978</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1891423</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201480076013.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3120238</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3120238</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3120238</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3120238</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3120238</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6466476</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1920980</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,289,425</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,684,865</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,413,765</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,781,117</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201580010585.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3123337</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3123337</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3123337</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3123337</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3123337</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1823888</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I556130</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,146,657</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201580010934.6</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6297715</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1931007</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,049,216</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201580003846.3</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,025,934</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1802800</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I601070</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,645,864</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">11,182,172</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201580003799.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6152493</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1826769</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-2219122</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,773,110</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,140,449</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,594,927</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,366,237</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201580042636.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I546699</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,785,801</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,831,934</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201580028293.7</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-2244645</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I570589</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,703,346</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3158452</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3158452</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3158452</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3158452</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3158452</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201480079261.5</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3161710</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3161710</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3161710</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3161710</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3161710</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6481900</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1881788</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,870,475</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201480079192.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3161657</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3161657</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3161657</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3161657</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3161657</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6396502</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10-1896373</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,169,047</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,740,492</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,331,453</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201680011606.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3274895</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">602016058368.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3274895</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3274895</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3274895</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,589,155</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201580044960.0</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I582637</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201580061649.7</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3231129</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3231129</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3231129</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3231129</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3231129</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,389,788</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,817,673</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,592,254</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,185,547</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201680030406.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,525,675</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201580076833.9</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,372,491</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,626,227</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,067,805</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201680012778.1</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3274827</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3274827</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3274827</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3274827</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3274827</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6689873</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,430,589</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201680011476.2</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,496,974</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201680009786.0</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,747,884</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,836,307</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201680030403.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3314416</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3314416</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3314416</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3314416</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3314416</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,612,887</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,445,154</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6768710</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201580080108.9</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,664,573</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,223,187</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,858,412</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201680030338.9</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3314444</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3314444</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3314444</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3314444</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">3314444</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201580082636.8</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,691,278</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,998,284</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,218,508</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,769,169</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,069,826</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,432,627</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,798,641</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">ZL201611053849.0</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">6363153</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,061,424</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">9,977,682</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,776,524</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,496,388</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,158,671</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,776,283</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,635,607</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,581,815</span></p><p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">10,592,670</span></p><p></p><p>Issuing bodies/countries beyond US above include Europe, WIPO, Japan, South Korea, China, Malaysia, Germany, India, Taiwan, Netherlands, Ireland, Poland, United Kingdom, Mexico, France, Singapore, Spain, Sweden, Finland, Italy, Australia, Brazil, ...</p><p>And another rub in my accounting is that some patents are done w/ McAfee, although the # is small.<br /></p><p>Since my global patent isssued # is now greater than 1000, maybe I'll avoid doing this analysis again since I doubt I'll ever bump into another big milestone like 1500 or 2000. </p><p>And for Mike's 1000 issued, given I am > 150 ahead of him on US grants and he only has a handful of non-joint filings, I suspect he's not at 1000 global issue yet, especially since I have barely tipped that #. But I don't think I have the energy to dig into Mike's actual #. Maybe Mike's wikipedia fanbois can do that recon. Given this twisted path of analysis, thus the blog title <a href="https://en.wikipedia.org/wiki/Lies,_damned_lies,_and_statistics">https://en.wikipedia.org/wiki/Lies,_damned_lies,_and_statistics</a>.<br /></p><p>fin (97)</p><p><br /></p><p><br /></p>Vincent Zimmerhttp://www.blogger.com/profile/06151216209440953437noreply@blogger.com0