<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ludovic Rousseau's blog (Posts about ATR)</title><link>https://blog.apdu.fr/</link><description></description><atom:link href="https://blog.apdu.fr/categories/atr.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2026 &lt;a href="mailto:ludovic.rousseau+blog@free.fr"&gt;Ludovic Rousseau&lt;/a&gt; - License &lt;a href="/posts/2010/08/my-blog-messages-license/"&gt;CC BY-NC-SA 4.0 Deed&lt;/a&gt; for the text &amp;amp; &lt;a href="/posts/2019/01/my-blog-source-code-license/"&gt;GNU GPLv3&lt;/a&gt; for the code</copyright><lastBuildDate>Fri, 02 Jan 2026 16:23:54 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>ATR parsing in JSON</title><link>https://blog.apdu.fr/posts/2022/05/atr-parsing-in-json/</link><dc:creator>Ludovic Rousseau</dc:creator><description>&lt;p&gt;
  I updated my ATR parsing web site at
  &lt;a href="https://smartcard-atr.apdu.fr/"&gt;https://smartcard-atr.apdu.fr/&lt;/a&gt; to
  add the option to get the result not in an HTML page but as a JSON document.
&lt;/p&gt;
&lt;p&gt;
  If you do not yet know this service you can read "&lt;a href="https://blog.apdu.fr/posts/2019/09/parsing-atr-new-web-site-url/"&gt;Parsing an ATR: new web site URL&lt;/a&gt;" to get some history. 
&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;h2 style="text-align: left;"&gt;JSON &lt;br&gt;&lt;/h2&gt;
&lt;p&gt;
  The URL for the JSON service is
  &lt;a href="https://smartcard-atr.apdu.fr/V1/parse2json?ATR=3BFF9700008131FE4380318065B0846160FB120FFD8290000D"&gt;https://smartcard-atr.apdu.fr/V1/parse2json?ATR=3BFF9700008131FE4380318065B0846160FB120FFD8290000D&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
  It is the same as for the HTML output
  &lt;a href="https://smartcard-atr.apdu.fr/parse?ATR=3BFF9700008131FE4380318065B0846160FB120FFD8290000D"&gt;https://smartcard-atr.apdu.fr/parse?ATR=3BFF9700008131FE4380318065B0846160FB120FFD8290000D&lt;/a&gt;
  except you replace "parse" by "V1/parse2json" in the URL.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
  Of course you update the ATR parameter value to use the ATR value you want to
  parse.
&lt;/p&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
  &lt;a href="https://blog.apdu.fr/images/2022/05/parse%20json.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="https://blog.apdu.fr/images/2022/05/parse%20json.thumb.png" width="552"&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 style="text-align: left;"&gt;Examples&lt;/h2&gt;
&lt;p&gt;
  You can use it to get the description of a particular field by piping the
  result in the &lt;a href="https://stedolan.github.io/jq/"&gt;jq&lt;/a&gt; command.
&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;jq is a lightweight and flexible command-line JSON processor.&lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
  For example to get the meaning of the
  &lt;a href="https://blog.apdu.fr/posts/2016/04/atr-statistics-ta1-global-encodes-fi/"&gt;TA&lt;sub&gt;1&lt;/sub&gt;&lt;/a&gt;
  byte you can use:
&lt;/p&gt;
&lt;pre&gt;$ curl -s https://smartcard-atr.apdu.fr/V1/parse2json?ATR=3B12953606 | jq '.TA."1"'
&lt;span style="color: #2b00fe;"&gt;{
  "description":&lt;/span&gt; &lt;span style="color: #6aa84f;"&gt;"Fi=512, Di=16, 32 cycles/ETU (125000 bits/s at 4.00 MHz, 156250 bits/s for fMax=5 MHz)"&lt;/span&gt;,
  &lt;span style="color: #2b00fe;"&gt;"value":&lt;/span&gt; 149
&lt;span style="color: #2b00fe;"&gt;}&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Or for just the TA&lt;sub&gt;1&lt;/sub&gt; description: &lt;br&gt;&lt;/p&gt;
&lt;pre&gt;$ curl -s https://smartcard-atr.apdu.fr/V1/parse2json?ATR=3B90160187 | jq '.TA."1".description'
&lt;span style="color: #6aa84f;"&gt;"Fi=372, Di=32, 11.625 cycles/ETU (344086 bits/s at 4.00 MHz, 430107 bits/s for fMax=5 MHz)"&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;
&lt;h2 style="text-align: left;"&gt;Card matching&lt;/h2&gt;
&lt;p&gt;I also added the possibility to get the cards matching a given ATR.&lt;/p&gt;
&lt;p&gt;
  For example:
  &lt;a href="https://smartcard-atr.apdu.fr/V1/match?ATR=3B8F800180318065B0850300EF120FFE82900072"&gt;https://smartcard-atr.apdu.fr/V1/match?ATR=3B8F800180318065B0850300EF120FFE82900072&lt;/a&gt;
&lt;/p&gt;
&lt;pre&gt;$ curl -s https://smartcard-atr.apdu.fr/V1/match?ATR=3B8F800180318065B0850300EF120FFE82900072 | jq
&lt;span style="color: #2b00fe;"&gt;{
  "3B 8F 80 01 80 31 80 65 B0 .. .. .. .. 12 0F FE 82 90 00 ..": [&lt;/span&gt;
&lt;span style="color: #6aa84f;"&gt;    "IDPrime MD 3810 T=Contactless (Prox DU)"&lt;/span&gt;
  &lt;span style="color: #2b00fe;"&gt;],
  "3B 8F 80 01 80 31 80 65 B0 85 03 00 EF 12 0F FE 82 90 00 72": [&lt;/span&gt;
&lt;span style="color: #6aa84f;"&gt;    "Gemalto IDPrime MD 3840",
    "http://www.gemalto.com/dwnld/6891_IDPrimeMD3840_Product_Datasheet_May14.pdf"
&lt;/span&gt;  &lt;span style="color: #2b00fe;"&gt;]
}&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
  Because of the joker mechanism using the character '.' it is possible that one ATR matches
  more than one "card".&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;h2 style="text-align: left;"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;If you have ideas how to improve the service just tell me.&lt;br&gt;&lt;/p&gt;</description><category>ATR</category><guid>https://blog.apdu.fr/posts/2022/05/atr-parsing-in-json/</guid><pubDate>Fri, 20 May 2022 19:55:00 GMT</pubDate></item><item><title>ATR statistics: ATR list growth (part 2)</title><link>https://blog.apdu.fr/posts/2020/03/atr-statistics-atr-list-growth-part-2/</link><dc:creator>Ludovic Rousseau</dc:creator><description>&lt;p&gt;In January 2016 I started a study of each byte contained in a smart card ATR. See "&lt;a href="https://blog.apdu.fr/posts/2016/01/atr-list-study/"&gt;ATR list study&lt;/a&gt;".&lt;br&gt;
&lt;br&gt;
My goal was to publish one new article every week. So with 19 bytes that was a job for 5 months. But it took me more than 4 years! I imagine it is because of some lack of time and/or motivation.&lt;br&gt;
&lt;br&gt;
My first article was about the &lt;a href="https://blog.apdu.fr/posts/2016/01/atr-statictics-atr-list-growth/"&gt;ATR list growth&lt;/a&gt;. In January 2016 I had 2098 ATRs in the list. Now I have 3316 ATRs in the list and the number is still growing.&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;&lt;h2&gt;
Graph&lt;/h2&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blog.apdu.fr/images/2020/03/graph.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="513" src="https://blog.apdu.fr/images/2020/03/graph.thumb.png" width="640"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
The red line indicates the position in January 2016.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;
New ATRs only&lt;/h2&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blog.apdu.fr/images/2020/03/graph2.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="526" src="https://blog.apdu.fr/images/2020/03/graph2.thumb.png" width="640"&gt;&lt;/a&gt;&lt;/div&gt;
In 2016 the linear regression for the graph was y = 6.308x10&lt;sup&gt;-6&lt;/sup&gt; x - 940.4.&lt;br&gt;
For the last 4 years it is y = 9.381x10&lt;sup&gt;-6&lt;/sup&gt; x - 2409.7&lt;br&gt;
&lt;br&gt;
The growth is now 48% faster than before. Woah!&lt;br&gt;
&lt;br&gt;
I guess that is because it is very simple to submit a new ATR using the web interface at &lt;a href="https://smartcard-atr.apdu.fr/"&gt;https://smartcard-atr.apdu.fr/&lt;/a&gt;. Before I create this service, in 2010, you had to send me a new ATR by email. Now you just (mostly) click on a button.&lt;br&gt;
&lt;br&gt;
No, I will not re-compute all the statistics with the new, more complete, ATR list.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;
Thank you&lt;/h2&gt;
to all of you who submit new ATRs.</description><category>ATR</category><guid>https://blog.apdu.fr/posts/2020/03/atr-statistics-atr-list-growth-part-2/</guid><pubDate>Sun, 22 Mar 2020 15:42:00 GMT</pubDate></item><item><title>ATR statistics: TCK - Check byte TCK (conditional)</title><link>https://blog.apdu.fr/posts/2020/03/atr-statistics-tck-check-byte-tck/</link><dc:creator>Ludovic Rousseau</dc:creator><description>&lt;p&gt;Article from the series "&lt;a href="https://blog.apdu.fr/posts/2016/01/atr-list-study/"&gt;ATR statistics&lt;/a&gt;".&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;&lt;h2&gt;
TCK - Check byte TCK (conditional)&lt;/h2&gt;
The ISO 7816-3 specification is not public. So I can't copy/paste part of the text. I will use Wikipedia instead.&lt;br&gt;
&lt;blockquote class="tr_bq"&gt;
The ChecK byte (if present) allows a check of the integrity of the data in the ATR. If present, TCK is the &lt;a class="mw-redirect" href="https://en.wikipedia.org/wiki/Exclusive_OR" title=""&gt;Exclusive OR&lt;/a&gt; of the bytes in the ATR from T0 (included) to TCK (excluded). &lt;br&gt;
TCK shall be present if and only if any of the TD&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; present in the ATR encodes a value of T other than 0.&lt;/blockquote&gt;
&lt;br&gt;
&lt;table class="mytable"&gt;&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;TCK&lt;/th&gt;&lt;th&gt;#&lt;/th&gt;&lt;th&gt;%&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt; &lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;1103&lt;/td&gt;&lt;td&gt;53.23 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x00&lt;/td&gt;&lt;td&gt;123&lt;/td&gt;&lt;td&gt;5.94 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x12&lt;/td&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;0.43 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x28&lt;/td&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;0.43 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x05&lt;/td&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;0.39 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x89&lt;/td&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;0.39 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x99&lt;/td&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;0.39 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xC1&lt;/td&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;0.39 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x03&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;0.34 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x09&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;0.34 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x0E&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;0.34 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x16&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;0.34 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x1C&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;0.34 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x38&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;0.34 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x43&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;0.34 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x65&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;0.34 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x88&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;0.34 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x8C&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;0.34 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xA5&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;0.34 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xB7&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;0.34 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x06&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x0D&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x15&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x1B&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x4A&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x52&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x59&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x5A&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x62&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x6A&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x6D&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x76&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x77&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x7A&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x7F&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x83&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x90&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x9C&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xA1&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xA9&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xF3&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xFF&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x-1&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x0A&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x0F&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x14&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x18&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x1E&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x31&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x3A&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x3C&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x45&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x58&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x6B&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x75&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x7E&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x80&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x84&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x8F&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x98&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xB6&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xBD&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xC4&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xCC&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xD2&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xDA&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xFE&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;0.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x07&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x17&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x19&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x1A&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x1D&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x21&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x24&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x32&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x39&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x3F&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x49&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x4C&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x5C&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x5E&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x60&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x63&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x68&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x6C&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x70&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x71&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x74&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x79&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x86&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x8A&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x91&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x95&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x9B&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x9D&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x9F&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xA0&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xA2&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xA6&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xB0&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xB4&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xBE&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xC9&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xD0&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xD6&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xE0&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xE1&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xE9&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xEC&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xF8&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;0.19 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x01&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x02&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x08&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x0C&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x1F&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x2A&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x30&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x33&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x3D&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x47&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x4D&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x4E&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x4F&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x53&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x55&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x57&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x5B&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x6F&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x72&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x78&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x7B&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x7D&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x82&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x92&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x94&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x97&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x9A&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x9E&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xA8&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xAA&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xAB&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xAD&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xB1&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xB9&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xBC&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xC2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xC5&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xCF&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xD3&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xD4&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xD7&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xDF&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xEF&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xF2&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xF4&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xF7&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xFA&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x10&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x11&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x13&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x22&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x25&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x26&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x27&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x29&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x2B&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x2D&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x2E&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x35&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x36&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x3B&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x40&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x41&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x48&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x50&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x51&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x54&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x5D&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x5F&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x64&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x66&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x67&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x69&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x73&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x7C&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x85&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x87&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x8B&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x8D&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x8E&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xAC&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xAF&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xBA&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xBB&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xC3&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xC7&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xC8&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xD5&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xD8&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xDC&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xDD&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xDE&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xE4&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xE5&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xE8&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xEA&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xEB&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xF0&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xF6&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xFB&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xFC&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xFD&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x04&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x0B&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x23&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x2C&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x2F&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x3E&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x42&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x46&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x56&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x61&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x81&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x93&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x96&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xA3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xA7&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xAE&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xB2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xB3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xB5&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xC6&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xCA&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xCB&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xCE&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xD1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xD9&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xDB&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xE2&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xE3&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xEE&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xF1&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xF5&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xF9&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blog.apdu.fr/images/2020/03/TCK.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blog.apdu.fr/images/2020/03/TCK.png"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
A large part (53%) or ATR do not have a TCK. These cards are T=0 only.&lt;br&gt;
&lt;br&gt;
Some ATR have a TCK of 0 but this value is invalid. For example with &lt;a href="https://smartcard-atr.apdu.fr/parse?ATR=3B888001000000007783950000"&gt;3B 88 80 01 00 00 00 00 77 83 95 00 00&lt;/a&gt;.&lt;br&gt;In most cases the TCK has a value of 0 but that is because a pattern is used in the ATR matching. For example with &lt;a href="https://smartcard-atr.apdu.fr/parse?ATR=3B8C80010443FD00000000000000000000"&gt;3B 8C 80 01 04 43 FD 00 00 00 00 00 00 00 00 00 00&lt;/a&gt;. The pattern used to match the ATR is "3B 8C 80 01 04 43 FD .. .. .. .. .. .. .. .. .. .." to accept any value for the "." but my program replaced any "." by a "0".&lt;br&gt;
&lt;br&gt;
Some ATR should have an ATR but do NOT contain it. For example with 3&lt;a href="https://smartcard-atr.apdu.fr/parse?ATR=3B9E96801FC78031E073FE211B66D00177970D00"&gt;B 9E 96 80 1F C7 80 31 E0 73 FE 21 1B 66 D0 01 77 97 0D 00&lt;/a&gt;. My parsing program indicates TCK = 0x-1 in this case but that is only a way to indicate a missing TCK. Only 4 ATRs are in this category.&lt;br&gt;
&lt;br&gt;
Since the TCK is a checksum no special value is expected. So it is not surprising that the values from 1 to 255 have a mostly equal distribution.</description><category>ATR</category><guid>https://blog.apdu.fr/posts/2020/03/atr-statistics-tck-check-byte-tck/</guid><pubDate>Sun, 22 Mar 2020 15:02:00 GMT</pubDate></item><item><title>ATR statistics: Historical bytes - Historical bytes Ti (optional)</title><link>https://blog.apdu.fr/posts/2020/03/atr-statistics-historical-bytes/</link><dc:creator>Ludovic Rousseau</dc:creator><description>&lt;p&gt;Article from the series "&lt;a href="https://blog.apdu.fr/posts/2016/01/atr-list-study/"&gt;ATR statistics&lt;/a&gt;"&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;&lt;h2&gt;
Historical bytes Ti (optional)&lt;/h2&gt;
The ISO 7816-3 specification is not public. So I can't copy/paste part of the text. I will use Wikipedia instead.&lt;br&gt;
&lt;br&gt;
From Wikipedia &lt;a href="https://en.wikipedia.org/wiki/Answer_to_reset#Historical_bytes_Ti"&gt;https://en.wikipedia.org/wiki/Answer_to_reset#Historical_bytes_Ti&lt;/a&gt;:&lt;br&gt;
&lt;blockquote class="tr_bq"&gt;
Historical Characters T&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; for &lt;i&gt;i&lt;/i&gt;≥1, if present  (as defined by K coded in T0), typically hold Information about the Card  Builder, Type of Card (Size etc.), Version number and the State of the  Card.&lt;/blockquote&gt;
&lt;br&gt;
You can read the previous article about the T0 byte at &lt;a href="https://blog.apdu.fr/posts/2016/03/atr-statistics-t0-format-byte/"&gt;ATR statistics: T0 - Format byte&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
Regarding the T0 high nibble values we have:&lt;br&gt;
&lt;br&gt;
&lt;table class="mytable"&gt;&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;hbn&lt;/th&gt;&lt;th&gt;#&lt;/th&gt;&lt;th&gt;%&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt; &lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;0x0F&lt;/td&gt;&lt;td&gt;743&lt;/td&gt;&lt;td&gt;35.86 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x0E&lt;/td&gt;&lt;td&gt;212&lt;/td&gt;&lt;td&gt;10.23 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x0D&lt;/td&gt;&lt;td&gt;150&lt;/td&gt;&lt;td&gt;7.24 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x07&lt;/td&gt;&lt;td&gt;136&lt;/td&gt;&lt;td&gt;6.56 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x05&lt;/td&gt;&lt;td&gt;128&lt;/td&gt;&lt;td&gt;6.18 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x08&lt;/td&gt;&lt;td&gt;116&lt;/td&gt;&lt;td&gt;5.60 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x0B&lt;/td&gt;&lt;td&gt;115&lt;/td&gt;&lt;td&gt;5.55 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x0A&lt;/td&gt;&lt;td&gt;107&lt;/td&gt;&lt;td&gt;5.16 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x09&lt;/td&gt;&lt;td&gt;90&lt;/td&gt;&lt;td&gt;4.34 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x06&lt;/td&gt;&lt;td&gt;86&lt;/td&gt;&lt;td&gt;4.15 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x0C&lt;/td&gt;&lt;td&gt;72&lt;/td&gt;&lt;td&gt;3.47 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x04&lt;/td&gt;&lt;td&gt;46&lt;/td&gt;&lt;td&gt;2.22 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x02&lt;/td&gt;&lt;td&gt;40&lt;/td&gt;&lt;td&gt;1.93 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x03&lt;/td&gt;&lt;td&gt;15&lt;/td&gt;&lt;td&gt;0.72 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x00&lt;/td&gt;&lt;td&gt;13&lt;/td&gt;&lt;td&gt;0.63 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x01&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;0.14 %&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blog.apdu.fr/images/2020/03/HB.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blog.apdu.fr/images/2020/03/HB.png"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blog.apdu.fr/images/2020/03/hb_hist.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blog.apdu.fr/images/2020/03/hb_hist.png"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
A large part (38%) of the ATR have 15 (0x0F) historical bytes, &lt;i&gt;i.e.&lt;/i&gt; the maximum size.&lt;br&gt;
&lt;br&gt;
The bytes can contain application information like for &lt;a href="https://smartcard-atr.apdu.fr/parse?ATR=3B6F00FF00567275546F6B6E73302000009000"&gt;3B 6F 00 FF 00 56 72 75 54 6F 6B 6E 73 30 20 00 00 90 00&lt;/a&gt;&lt;br&gt;
&lt;table class="mytable"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;Historical bytes&lt;/th&gt;&lt;th&gt;00 56 72 75 54 6F 6B 6E 73 30 20 00 00 90 00&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;Category indicator byte: 0x00&lt;/th&gt;&lt;th&gt;&lt;span class="format"&gt; (compact TLV data object)&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;Tag: 5, Len: 6 (&lt;span class="data"&gt;card issuer's data&lt;/span&gt;)&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;Card issuer data: &lt;span class="data"&gt;72 75 54 6F 6B 6E&lt;/span&gt; "&lt;span class="data"&gt;ruTokn&lt;/span&gt;"&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;Tag: 7, Len: 3 (&lt;span class="data"&gt;card capabilities&lt;/span&gt;)&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;Selection methods: &lt;span class="data"&gt;48&lt;/span&gt;&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="data"&gt;- DF selection by file identifier&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;- DF selection by path&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;/span&gt;Data coding byte: &lt;span class="data"&gt;32&lt;/span&gt;&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="data"&gt;- Behaviour of write functions: proprietary&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;- Value 'FF' for the first byte of BER-TLV tag fields: valid&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;- Data unit in quartets: 0&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;/span&gt;Command chaining, length fields and logical channels: &lt;span class="data"&gt;0&lt;/span&gt;&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="data"&gt;- Logical channel number assignment: No logical channel&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;- Maximum number of logical channels: 1&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;/span&gt;Mandatory status indicator (3 last bytes)&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;LCS (life card cycle): &lt;span class="data"&gt;0&lt;/span&gt; (&lt;span class="data"&gt;No information given&lt;/span&gt;)&lt;br&gt;
&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;&lt;span class="marge"&gt;&lt;/span&gt;SW: &lt;span class="data"&gt;90 00&lt;/span&gt; (&lt;span class="data"&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
or contain only the card name like for &lt;a href="https://smartcard-atr.apdu.fr/parse?ATR=3B6F00FF525341536563757249442852293130"&gt;3B 6F 00 FF 52 53 41 53 65 63 75 72 49 44 28 52 29 31 30&lt;/a&gt;&lt;br&gt;
&lt;table class="mytable"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;Historical bytes&lt;/th&gt;&lt;th&gt;&lt;span class="format"&gt;52 53 41 53 65 63 75 72 49 44 28 52 29 31 30&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt;Category indicator byte: 0x52&lt;/th&gt;&lt;th&gt;(proprietary format) "SASecurID(R)10"&lt;/th&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br&gt;
I do not think it is important to detail all the possible information contained in the historical bytes.&lt;br&gt;
&lt;br&gt;
For those who are interested you can read the ISO 7816-4 (note: not the 7816-3) chapter "8.1.1 Historical bytes".</description><category>ATR</category><guid>https://blog.apdu.fr/posts/2020/03/atr-statistics-historical-bytes/</guid><pubDate>Sun, 22 Mar 2020 14:12:00 GMT</pubDate></item><item><title>ATR statistics: TC4</title><link>https://blog.apdu.fr/posts/2020/03/atr-statistics-tc4/</link><dc:creator>Ludovic Rousseau</dc:creator><description>&lt;p&gt;Article from the series "&lt;a href="https://blog.apdu.fr/posts/2016/01/atr-list-study/"&gt;ATR statistics&lt;/a&gt;".&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;&lt;h2&gt;TC4&lt;/h2&gt;TC4 should have the same meaning as &lt;a href="https://blog.apdu.fr/posts/2019/03/atr-statistics-tc3/"&gt;TC3&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&lt;blockquote&gt;For T = 1: type of error detection code used&lt;/blockquote&gt;&lt;br&gt;
Bit 1 of the first TC for T=1 indicates the error detection code to be used:&lt;br&gt;
&lt;ul&gt;&lt;li&gt;CRC if bit 1 is set to 1;&lt;/li&gt;
&lt;li&gt;LRC (default value) if bit 1 is set to 0.&lt;/li&gt;
&lt;/ul&gt;Bits 8 to 2 of the first TC for T=1 are reserved for future use and shall be set to 0.&lt;br&gt;
&lt;br&gt;
&lt;table class="mytable"&gt;&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;TC4&lt;/th&gt;&lt;th&gt;#&lt;/th&gt;&lt;th&gt;%&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt; &lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;2072&lt;/td&gt;&lt;td&gt;100.00 %&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;
In my list of ATR none of them defines an TC&lt;sub&gt;4&lt;/sub&gt;.</description><category>ATR</category><guid>https://blog.apdu.fr/posts/2020/03/atr-statistics-tc4/</guid><pubDate>Sat, 21 Mar 2020 21:23:00 GMT</pubDate></item><item><title>User eXperience fixes for "Smart card ATR parsing"</title><link>https://blog.apdu.fr/posts/2020/02/user-experience-fixes-for-smart-card/</link><dc:creator>Ludovic Rousseau</dc:creator><description>&lt;h2&gt;
Smart card ATR parsing&lt;/h2&gt;
My web site/service "&lt;a href="https://smartcard-atr.apdu.fr/"&gt;Smart card ATR parsing&lt;/a&gt;" is used to parse smart card ATR. You can read the previous article "&lt;a href="https://blog.apdu.fr/posts/2019/09/parsing-atr-new-web-site-url/"&gt;Parsing an ATR: new web site URL&lt;/a&gt;" to get some background history.&lt;br&gt;
&lt;br&gt;
If you have an ATR I do not already have in my database you can submit it with a description of the corresponding smart card.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;
Problem&lt;/h2&gt;
I sometimes receive strange ATR to be added the list. For example I just received these 2 ATRs:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://smartcard-atr.apdu.fr/parse?ATR=3B+6F+00+00+80+66+B0+07+01+01+07+07+53+02+31+24+82+90+00+3B+02+14+50"&gt;3B 6F 00 00 80 66 B0 07 01 01 07 07 53 02 31 24 82 90 00 3B 02 14 50&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://smartcard-atr.apdu.fr/parse?ATR=3B+6E+00+00+80+31+80+66+B0+84+0C+01+6E+01+83+00+90+00+3B+02+14+50"&gt;3B 6E 00 00 80 31 80 66 B0 84 0C 01 6E 01 83 00 90 00 3B 02 14 50&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
What is strange with these 2 ATRs is that:&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;I already have a shorter version in my list&lt;/li&gt;
&lt;/ol&gt;&lt;ul&gt;
&lt;li&gt; &lt;a href="https://smartcard-atr.apdu.fr/parse?ATR=3B+6F+00+00+80+66+B0+07+01+01+07+07+53+02+31+24+82+90+00"&gt;3B 6F 00 00 80 66 B0 07 01 01 07 07 53 02 31 24 82 90 00&lt;/a&gt;&lt;/li&gt;
&lt;li&gt; &lt;a href="https://smartcard-atr.apdu.fr/parse?ATR=3B+6E+00+00+80+31+80+66+B0+84+0C+01+6E+01+83+00+90+00"&gt;3B 6E 00 00 80 31 80 66 B0 84 0C 01 6E 01 83 00 90 00&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;they have 4 extra bytes at the end&lt;/li&gt;
&lt;li&gt;these 4 extra bytes "3B 02 14 50" look like another ATR&lt;/li&gt;

At first I thought of a corrupted ATR or a bogus reader or driver that mixes 2 ATRs.&lt;br&gt;
But then I realised that the value "3B 02 14 50" is the default value I use for the ATR input field. So if you copy &amp;amp; paste a new ATR value without removing the default value then the default value is &lt;i&gt;appended&lt;/i&gt; to your ATR.&lt;br&gt;
&lt;br&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blog.apdu.fr/images/2020/02/parse.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="https://blog.apdu.fr/images/2020/02/parse.thumb.png" width="531"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;h2&gt;
Solution&lt;/h2&gt;
The solution is now obvious. The problem is with my web site.&lt;br&gt;
The value "3B 02 14 50" is now a &lt;a href="https://www.w3schools.com/tags/att_input_placeholder.asp"&gt;placeholder=&lt;/a&gt; and not a &lt;a href="https://www.w3schools.com/tags/att_input_value.asp"&gt;value=&lt;/a&gt;. You can copy &amp;amp; paste a new ATR in the input field and the "3B 02 14 50" will disappear.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;
Conclusion&lt;/h2&gt;
I was aware of this problem. I used to first select the default value "3B 02 14 50" to replace it with the real ATR. I thought every body would do the same as me. I was wrong and the User eXperience was bad.&lt;br&gt;
&lt;br&gt;
The web site should now be more useful to my users and also easier to use.&lt;br&gt;
Do not hesitate to complain if you find a bug or want to suggest a UX improvement.</description><category>ATR</category><guid>https://blog.apdu.fr/posts/2020/02/user-experience-fixes-for-smart-card/</guid><pubDate>Sun, 02 Feb 2020 17:33:00 GMT</pubDate></item><item><title>Parsing an ATR: old site decommisionned</title><link>https://blog.apdu.fr/posts/2019/10/parsing-atr-old-site-decommisionned/</link><dc:creator>Ludovic Rousseau</dc:creator><description>&lt;p&gt;I modified the web site at &lt;a href="https://smartcard-atr.appspot.com/"&gt;https://smartcard-atr.appspot.com/&lt;/a&gt; to automatically redirect to &lt;a href="https://smartcard-atr.apdu.fr/"&gt;https://smartcard-atr.apdu.fr/&lt;/a&gt; (after 10 seconds so you have some time to read the message).&lt;br&gt;
&lt;br&gt;
The idea is to tell people that the service has moved. You should use only the new site now. See also "&lt;a href="https://blog.apdu.fr/posts/2019/09/parsing-atr-new-web-site-url/"&gt;Parsing an ATR: new web site URL&lt;/a&gt;".&lt;br&gt;
&lt;br&gt;
I do not want to use Google App Engine (GAE) any more and do not plan to maintain the old web site (hosted at GAE). So instead of giving access to an unmaintained code I redirect to the new and maintained web site.&lt;br&gt;
&lt;br&gt;
Please update your bookmarks.&lt;/p&gt;</description><category>ATR</category><guid>https://blog.apdu.fr/posts/2019/10/parsing-atr-old-site-decommisionned/</guid><pubDate>Wed, 09 Oct 2019 17:11:00 GMT</pubDate></item><item><title>Parsing an ATR: new web site URL</title><link>https://blog.apdu.fr/posts/2019/09/parsing-atr-new-web-site-url/</link><dc:creator>Ludovic Rousseau</dc:creator><description>&lt;h2&gt;
History&lt;/h2&gt;
Since the beginning (in 2009) the &lt;a href="https://smartcard-atr.appspot.com/"&gt;Smart card ATR parsing service&lt;/a&gt; was hosted on Google App Engine. This is because the Google service is/was free of charge and was a new technology to discover.&lt;br&gt;
&lt;br&gt;
You can see the GUI evolution of the ATR parsing service in time from my previous blog articles:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.apdu.fr/posts/2010/04/if-you-have-atr-and-would-like-to/"&gt;Parsing an ATR&lt;/a&gt; (2010)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.apdu.fr/posts/2010/08/atr-not-yet-in-my-database/"&gt;ATR not (yet) in my database&lt;/a&gt; (2010)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.apdu.fr/posts/2012/10/parsing-atr-now-in-color/"&gt;Parsing an ATR: now in color&lt;/a&gt; (2012)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.apdu.fr/posts/2012/11/new-ui-design-for-online-atr-parser/"&gt;New UI design for the online ATR parser&lt;/a&gt; (2012)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.apdu.fr/posts/2013/12/parsing-atr-now-more-web-20-friendly/"&gt;Parsing an ATR: now more web 2.0 friendly&lt;/a&gt; (2013)&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
Then I received an email from Google:&lt;br&gt;
&lt;blockquote class="tr_bq"&gt;
We’re writing to you to let you know that the legacy standalone App Engine SDK (appcfg) will be deprecated as of July 30, 2019, in favor of the Generally Available Google Cloud SDK (Cloud SDK).&lt;br&gt;
&lt;br&gt;
You will need to migrate your projects off the legacy standalone SDK (appcfg) before the shutdown date of July 30, 2020. Projects included in this email will be whitelisted to use the legacy standalone SDK (appcfg) until July 30, 2020, but any new projects will not be able to use the legacy standalone SDK (appcfg) from July 30, 2019.&lt;/blockquote&gt;
&lt;br&gt;
&lt;h2&gt;
Migration&lt;/h2&gt;
In the migration to the Google Cloud SDK I wanted to also migrate from &lt;a href="https://www.python.org/"&gt;Python&lt;/a&gt; 2 to Python 3, and from &lt;a href="https://getbootstrap.com/"&gt;Bootstrap&lt;/a&gt; 3 to Bootstrap 4.  But then I discovered that I would have to migrate from webapp to &lt;a href="https://palletsprojects.com/p/flask/"&gt;Flask&lt;/a&gt; (not a bad idea) and that some Google API I used were not available for Python 3:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;user identification&lt;/li&gt;
&lt;li&gt;sending email &lt;/li&gt;
&lt;/ul&gt;
I also discovered that it is not possible to deploy an application using the new SDK without creating a billing account. I had to give my credit card number to Google. Google offers US $300 for 1 year but I do not plan to play extra money for this free service.&lt;br&gt;
&lt;br&gt;
Note: if you want to help me see "&lt;a href="https://blog.apdu.fr/posts/2014/11/how-to-help-my-projects-send-me-bitcoins/"&gt;How to help my projects? Send me bitcoins!&lt;/a&gt;" or contact me directly.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;
Problem&lt;/h2&gt;
The problem is that I use mail service to send me an email when a new ATR is submitted, and I use the user identification service to get the user login so I can contact him/her in case the card description is incorrect.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;
Backup plan&lt;/h2&gt;
I tried to use the &lt;a href="https://docs.python.org/3/library/smtplib.html"&gt;smtplib&lt;/a&gt; Python module to send emails. The code works fine in local/debug mode but not when deployed in Google cloud. I have no idea why it failed.&lt;br&gt;
Problem: I deployed the non-working solution over the normal service (yes, bad idea). So the service was broken and I needed a solution (very) quickly.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;
Self hosting&lt;/h2&gt;
Since no Google services I used was available any more, the new solution was using only free software dependencies. And the &lt;a href="https://docs.python.org/3/library/smtplib.html"&gt;smtplib&lt;/a&gt; solution was not working on Google cloud.&lt;br&gt;
&lt;br&gt;
The solution was to host the ATR parsing service myself.&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;
New service&lt;/h2&gt;
The service is now available at &lt;a href="https://smartcard-atr.apdu.fr/"&gt;https://smartcard-atr.apdu.fr/&lt;/a&gt;.&lt;br&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blog.apdu.fr/images/2019/09/atr%2Bparsing.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="https://blog.apdu.fr/images/2019/09/atr%2Bparsing.thumb.png" width="554"&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
The old URL &lt;a href="https://smartcard-atr.appspot.com/"&gt;https://smartcard-atr.appspot.com/&lt;/a&gt; is still available for now. I plan to change the main page with a redirection to the new URL at some point.&lt;br&gt;
&lt;br&gt;
Contact me if you find a problem or want to discuss an evolution of the service. &lt;br&gt;
&lt;br&gt;
&lt;h2&gt;
Conclusion&lt;/h2&gt;
Google forced me to migrate.&lt;br&gt;
I don't think it was in their plans to force me to migrate &lt;i&gt;outside&lt;/i&gt; of their cloud services 😉.</description><category>ATR</category><category>ISO</category><guid>https://blog.apdu.fr/posts/2019/09/parsing-atr-new-web-site-url/</guid><pubDate>Thu, 05 Sep 2019 23:11:00 GMT</pubDate></item><item><title>Surprising request from a law firm</title><link>https://blog.apdu.fr/posts/2019/05/surprising-request-from-law-firm/</link><dc:creator>Ludovic Rousseau</dc:creator><description>&lt;p&gt;A few weeks ago I received this email:&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;&lt;blockquote&gt;
From: legal@axur.com&lt;br&gt;
To: Ludovic.Rousseau@gmail.com&lt;br&gt;
Subject: [high priority] [19444663] Content Removal - SENSITIVE DATA&lt;br&gt;
&lt;br&gt;
Dear Sir/Madam,&lt;br&gt;
&lt;br&gt;
Our company, AXUR, represents C.......R  in issues involving the violation of intellectual property and fraud on the Internet.&lt;br&gt;
&lt;br&gt;
C.......R  is the only company authorized to use the trademark  and owns or licenses numerous trademark registrations worldwide, including, but not limited to the following registration number 825503736.&lt;br&gt;
&lt;br&gt;
The trademarks, logos, words and phrases registered by C.......R  shall be exclusively used by C.......R  and any other use by a third party constitutes a trademark infringement.&lt;br&gt;
&lt;br&gt;
It has come to our attention that the reported content provides related content (see attached) to the trademark  without having obtained prior written authorization from C.......R . More specifically, this content disclosures SENSITIVE DATA from our client or its customer, creating a Likelihood of Confusion between the trademark  and the reported content.&lt;br&gt;
&lt;br&gt;
Furthermore, by misusing the trademark  on your website, you are also diluting its use, because it weakens the ability of brand identification as a single source of research and may lead consumers to believe that there is some association between C.......R  and your website.&lt;br&gt;
&lt;br&gt;
Official Website: &lt;a href="https://www.carrefoursolucoes.com.br/"&gt;https://www.c.......rsolucoes.com.br/&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
Considering the violation of intellectual property rights of C.......R  on your website, we kindly request that you remove all content available on the attached URL(s) which use the above mentioned trademark without having obtained prior authorization.&lt;br&gt;
&lt;br&gt;
In order to avoid a lawsuit from a federal court, please, send confirmation that this email was received along with your guarantee to comply with the requests reported above.&lt;br&gt;
&lt;br&gt;
Under penalty of perjury, we affirm that AXUR is authorized to act on behalf of the C.......R  and this notification is in accordance with International Regulations of Internet and Intellectual Property Offices.&lt;br&gt;
&lt;br&gt;
Should you require further information or should you prefer to discuss this issue, please do not hesitate to contact us through the e-mail address listed on the signature of this message.&lt;br&gt;
&lt;br&gt;
Sincerely,&lt;br&gt;
&lt;br&gt;
AXUR&lt;br&gt;
Legal Team&lt;br&gt;
legal@axur.com&lt;br&gt;
&lt;br&gt;
ATTACHMENT:&lt;br&gt;
&lt;a href="https://raw.githubusercontent.com/LudovicRousseau/pcsc-tools/master/smartcard_list.txt"&gt;https://raw.githubusercontent.com/LudovicRousseau/pcsc-tools/master/smartcard_list.txt&lt;/a&gt;&lt;/blockquote&gt;
&lt;br&gt;
I replaced the real trademark by "C.......R" to avoid receiving a new email asking to remove this blog article :-)&lt;br&gt;
&lt;br&gt;
I also received the same email but with a different subject "[high priority] [19444667] Content Removal" for the same list but with a different URL: &lt;a href="https://github.com/LudovicRousseau/pcsc-tools/blob/master/smartcard_list.txt"&gt;https://github.com/LudovicRousseau/pcsc-tools/blob/master/smartcard_list.txt&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;h2&gt;
Actions&lt;/h2&gt;
I updated the list of ATR to remove any mention of "C.......R".&lt;br&gt;
&lt;br&gt;
I asked confirmation from legal@axur.com that the ATR list was OK now. I got no answer.&lt;br&gt;
&lt;br&gt;
I also wrote them I would blog about it and got no answer as well.</description><category>ATR</category><guid>https://blog.apdu.fr/posts/2019/05/surprising-request-from-law-firm/</guid><pubDate>Thu, 30 May 2019 21:46:00 GMT</pubDate></item><item><title>ATR statistics: TA4</title><link>https://blog.apdu.fr/posts/2019/03/atr-statistics-ta4/</link><dc:creator>Ludovic Rousseau</dc:creator><description>&lt;p&gt;Article from the series "&lt;a href="https://blog.apdu.fr/posts/2016/01/atr-list-study/"&gt;ATR statistics&lt;/a&gt;"&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;&lt;h2&gt;
TA4&lt;/h2&gt;
The first TA for T=15 encodes the clock stop indicator (X) and the class indicator (Y). The default values are X = "clock stop not supported" and Y = "only class A supported".&lt;br&gt;
&lt;br&gt;
bits 8 and 7 indicate whether the card supports clock stop (≠ 00) or not (= 00) and, when supported, which state is preferred on the electrical circuit CLK when the clock is stopped.&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;00b: Clock stop not supported&lt;/li&gt;
&lt;li&gt;01b: State L&lt;/li&gt;
&lt;li&gt;10b: State H&lt;/li&gt;
&lt;li&gt;11b: No preference&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
bits 6 to 1 indicate the classes of operating conditions accepted by the card. Each bit represents a class: bit 1 for class A, bit 2 for class B and bit 3 for class C.&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;00 0001b: A only&lt;/li&gt;
&lt;li&gt;00 0010b: B only&lt;/li&gt;
&lt;li&gt;00 0100b: C only&lt;/li&gt;
&lt;li&gt;00 0011b: A and B&lt;/li&gt;
&lt;li&gt;00 0110b: B and C&lt;/li&gt;
&lt;li&gt;00 0111b: A, B and C&lt;/li&gt;
&lt;li&gt;Any other value: RFU&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;table class="mytable"&gt;&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;TA4&lt;/th&gt;&lt;th&gt;#&lt;/th&gt;&lt;th&gt;%&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt; &lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;2009&lt;/td&gt;&lt;td&gt;96.96 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x03&lt;/td&gt;&lt;td&gt;27&lt;/td&gt;&lt;td&gt;1.30 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x83&lt;/td&gt;&lt;td&gt;15&lt;/td&gt;&lt;td&gt;0.72 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xC3&lt;/td&gt;&lt;td&gt;12&lt;/td&gt;&lt;td&gt;0.58 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x07&lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;0.29 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0x43&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;0.10 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0xC7&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;0.05 %&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br&gt;
&lt;a href="https://blog.apdu.fr/images/2019/03/TA4.png"&gt;&lt;img border="0" src="https://blog.apdu.fr/images/2019/03/TA4.png"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;table class="mytable"&gt;&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Clock stop&lt;/th&gt;&lt;th&gt;#&lt;/th&gt;&lt;th&gt;%&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt; &lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;not supported&lt;/td&gt;&lt;td&gt;33&lt;/td&gt;&lt;td&gt;52.38 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;state L&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;3.17 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;state H&lt;/td&gt;&lt;td&gt;15&lt;/td&gt;&lt;td&gt;23.81 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;no preference&lt;/td&gt;&lt;td&gt;13&lt;/td&gt;&lt;td&gt;20.63 %&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br&gt;
The class defines the current voltage the card can use:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;class A: 5 V&lt;/li&gt;
&lt;li&gt;class B: 3 V&lt;/li&gt;
&lt;li&gt;class C: 1.8 V&lt;/li&gt;
&lt;/ul&gt;
Some readers can't provide a tension of 5V. For example the &lt;a href="https://ccid.apdu.fr/ccid/shouldwork.html#0x08E60x3440"&gt;Gemalto CT1100 reader&lt;/a&gt; does only provide 3 V. The default value for TA&lt;sub&gt;4&lt;/sub&gt;  is "only class A supported". Some (old) cards require a voltage of 5 V  to work and will not work with a CT1100. That can be surprising.&lt;br&gt;
&lt;br&gt;
&lt;table class="mytable"&gt;&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Class&lt;/th&gt;&lt;th&gt;#&lt;/th&gt;&lt;th&gt;%&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt; &lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;A &amp;amp; B&lt;/td&gt;&lt;td&gt;56&lt;/td&gt;&lt;td&gt;88.89 %&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;A &amp;amp; B &amp;amp; C&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;11.11 %&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br&gt;</description><category>ATR</category><guid>https://blog.apdu.fr/posts/2019/03/atr-statistics-ta4/</guid><pubDate>Sun, 17 Mar 2019 18:49:00 GMT</pubDate></item></channel></rss>