<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>147833</bug_id>
          
          <creation_ts>2015-08-10 11:41:41 -0700</creation_ts>
          <short_desc>Implement MediaDeviceIdentifierStorageDirectory</short_desc>
          <delta_ts>2016-03-10 11:34:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>147852</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matthew Daiter">mdaiter</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>mdaiter</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1116264</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-08-10 11:41:41 -0700</bug_when>
    <thetext>Needed to create a legacy storage directory for placing MediaDeviceIdentifierKeys</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116273</commentid>
    <comment_count>1</comment_count>
      <attachid>258631</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-08-10 12:05:03 -0700</bug_when>
    <thetext>Created attachment 258631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116314</commentid>
    <comment_count>2</comment_count>
      <attachid>258648</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-08-10 13:34:47 -0700</bug_when>
    <thetext>Created attachment 258648
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116367</commentid>
    <comment_count>3</comment_count>
      <attachid>258660</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-08-10 15:46:57 -0700</bug_when>
    <thetext>Created attachment 258660
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140390</commentid>
    <comment_count>4</comment_count>
      <attachid>265063</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-11-09 09:37:14 -0800</bug_when>
    <thetext>Created attachment 265063
Rebased patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140395</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-11-09 09:43:50 -0800</bug_when>
    <thetext>&lt;rdar://problem/23463882&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140397</commentid>
    <comment_count>6</comment_count>
      <attachid>265063</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-11-09 09:45:40 -0800</bug_when>
    <thetext>Comment on attachment 265063
Rebased patch

View in context: https://bugs.webkit.org/attachment.cgi?id=265063&amp;action=review

&gt; Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.cpp:57
&gt; -
&gt; +    

Please don’t make this whitespace change.

&gt; Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h:89
&gt; +    const WTF::String&amp; mediaDeviceIdentifierStorageDirectory() const { return m_mediaDeviceIdentifierStorageDirectory; }
&gt; +    void setMediaDeviceIdentifierStorageDirectory(const WTF::String&amp; mediaDeviceIdentifierStorageDirectory) { m_mediaDeviceIdentifierStorageDirectory = mediaDeviceIdentifierStorageDirectory; }

Not sure why this file calls it WTF::String instead of String.

&gt; Source/WebKit2/UIProcess/API/APIWebsiteDataStore.cpp:116
&gt; +    // FIXME: Implement

Normally it’s a period at the end of each of these.

I don’t understand the status of these functions. Do these really need to be implemented? Or should this be oure virtual instead. Seems a little bit mysterious what the plan is for non-Cocoa, non-GTK platforms. I don’t think our platform independence strategy here is very good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140418</commentid>
    <comment_count>7</comment_count>
      <attachid>265063</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-11-09 10:36:08 -0800</bug_when>
    <thetext>Comment on attachment 265063
Rebased patch

View in context: https://bugs.webkit.org/attachment.cgi?id=265063&amp;action=review

&gt;&gt; Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.cpp:57
&gt;&gt; +    
&gt; 
&gt; Please don’t make this whitespace change.

Fixed.

&gt;&gt; Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h:89
&gt;&gt; +    void setMediaDeviceIdentifierStorageDirectory(const WTF::String&amp; mediaDeviceIdentifierStorageDirectory) { m_mediaDeviceIdentifierStorageDirectory = mediaDeviceIdentifierStorageDirectory; }
&gt; 
&gt; Not sure why this file calls it WTF::String instead of String.

A &quot;String&quot; in this file is an &quot;API::String&quot;, which can&apos;t be automatically converted to WTF::String. All of the existing methods that return a directory path return &quot;const WTF::String&amp;&quot;.

&gt;&gt; Source/WebKit2/UIProcess/API/APIWebsiteDataStore.cpp:116
&gt;&gt; +    // FIXME: Implement
&gt; 
&gt; Normally it’s a period at the end of each of these.
&gt; 
&gt; I don’t understand the status of these functions. Do these really need to be implemented? Or should this be oure virtual instead. Seems a little bit mysterious what the plan is for non-Cocoa, non-GTK platforms. I don’t think our platform independence strategy here is very good.

All of the methods in this class that return Strings (directories) are static (defaultApplicationCacheDirectory, defaultNetworkCacheDirectory, etc). I don&apos;t know why it is done this way, but I will talk to Anders.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140435</commentid>
    <comment_count>8</comment_count>
      <attachid>265075</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-11-09 11:11:48 -0800</bug_when>
    <thetext>Created attachment 265075
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140473</commentid>
    <comment_count>9</comment_count>
      <attachid>265083</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-11-09 12:53:29 -0800</bug_when>
    <thetext>Created attachment 265083
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173137</commentid>
    <comment_count>10</comment_count>
      <attachid>265083</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-03-10 10:16:05 -0800</bug_when>
    <thetext>Comment on attachment 265083
Updated patch

View in context: https://bugs.webkit.org/attachment.cgi?id=265083&amp;action=review

r=me

&gt; Source/WebKit2/UIProcess/API/APIWebsiteDataStore.cpp:116
&gt; +    // FIXME: Implement

notImplemented()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173189</commentid>
    <comment_count>11</comment_count>
      <attachid>265083</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-03-10 11:34:25 -0800</bug_when>
    <thetext>Comment on attachment 265083
Updated patch

This is no longer needed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258631</attachid>
            <date>2015-08-10 12:05:03 -0700</date>
            <delta_ts>2015-08-10 13:34:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147833-20150810120449.patch</filename>
            <type>text/plain</type>
            <size>11244</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTIwZTY4ZDMzZWEwMGJm
ZGJkMWMwYzM3YmJhNTdhNTUzNjkxMmRjNC4uYzU2MWY4YWU4ZWIzYTM1NzRiMjNiNzM4YThkMDE2
NDI1ODdlNTNhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA4LTEwICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIExlZ2FjeStEZWZhdWx0
IHBsYXRmb3JtIE1lZGlhRGV2aWNlSWRlbnRpZmllcktleXNTdG9yYWdlRGlyZWN0b3J5IGNyZWF0
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Nzgz
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoQVBJ
OjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OmNyZWF0ZVdpdGhMZWdhY3lPcHRpb25zKToKKyAg
ICAgICAgKEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpQcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24pOgorICAgICAgICAoQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OmNvcHkpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW06CisgICAgICAg
IChBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYURldmljZUluZm9ybWF0aW9uS2V5
c1N0b3JhZ2VEaXJlY3RvcnkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxh
dGZvcm1EZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyS2V5c1N0b3JhZ2VEaXJlY3RvcnkpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OmxlZ2FjeVdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5oOgorCiAyMDE1LTA4LTEwICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbQ29vcmRpbmF0ZWRHcmFwaGljc10gRml4IGZvcndhcmQg
ZGVjbGFyYXRpb25zIG9mIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllclN0YXRlLCBWaWV3cG9ydEF0
dHJpYnV0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
QVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcAppbmRleCA0ODI5MTJmNzM2ZGMwNjc0NzNh
N2JjZmE5MWE4MDM3NDc0ZDhiZTUyLi43YWY2MGJiNGU1MDNlMDhjOTBkNzVmZDkyZjI3M2I3YmQw
YjI4OTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nl
c3NQb29sQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uY3BwCkBAIC01MCw4ICs1MCwxMiBAQCBSZWY8
UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uPiBQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OmNyZWF0
ZVdpdGhMZWdhY3lPcHRpb25zKAogICAgIGNvbmZpZ3VyYXRpb24tPm1faW5kZXhlZERCRGF0YWJh
c2VEaXJlY3RvcnkgPSBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1
bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpOwogICAgIGNvbmZpZ3VyYXRpb24tPm1fbG9j
YWxTdG9yYWdlRGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZv
cm1EZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCk7CiAgICAgY29uZmlndXJhdGlvbi0+bV9t
ZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5
UGxhdGZvcm1EZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpOworI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCisgICAgY29uZmlndXJhdGlvbi0+bV9tZWRpYURldmljZUluZm9ybWF0aW9u
S2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0
Zm9ybURlZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJLZXlzU3RvcmFnZURpcmVjdG9yeSgpOwor
I2VuZGlmCiAgICAgY29uZmlndXJhdGlvbi0+bV93ZWJTUUxEYXRhYmFzZURpcmVjdG9yeSA9IFdl
YktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdFdlYlNRTERhdGFiYXNl
RGlyZWN0b3J5KCk7Ci0KKyAgICAKKyAgICAKICAgICByZXR1cm4gY29uZmlndXJhdGlvbjsKIH0K
IApAQCAtNjIsNiArNjYsOSBAQCBQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OlByb2Nlc3NQb29s
Q29uZmlndXJhdGlvbigpCiAgICAgLCBtX2xvY2FsU3RvcmFnZURpcmVjdG9yeShXZWJzaXRlRGF0
YVN0b3JlOjpkZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCkpCiAgICAgLCBtX3dlYlNRTERh
dGFiYXNlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRXZWJTUUxEYXRhYmFzZURp
cmVjdG9yeSgpKQogICAgICwgbV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KFdlYnNpdGVEYXRh
U3RvcmU6OmRlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkpCisjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKKyAgICAsIG1fbWVkaWFEZXZpY2VJbmZvcm1hdGlvbktleXNTdG9yYWdlRGly
ZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYURldmljZUluZm9ybWF0aW9uS2V5
c1N0b3JhZ2VEaXJlY3RvcnkoKSkKKyNlbmRpZgogewogfQogCkBAIC04NSw2ICs5Miw5IEBAIFJl
ZjxQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24+IFByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6Y29w
eSgpCiAgICAgY29weS0+bV9pbmplY3RlZEJ1bmRsZVBhdGggPSB0aGlzLT5tX2luamVjdGVkQnVu
ZGxlUGF0aDsKICAgICBjb3B5LT5tX2xvY2FsU3RvcmFnZURpcmVjdG9yeSA9IHRoaXMtPm1fbG9j
YWxTdG9yYWdlRGlyZWN0b3J5OwogICAgIGNvcHktPm1fbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9y
eSA9IHRoaXMtPm1fbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeTsKKyNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQorICAgIGNvcHktPm1fbWVkaWFEZXZpY2VJbmZvcm1hdGlvbktleXNTdG9yYWdlRGly
ZWN0b3J5ID0gdGhpcy0+bV9tZWRpYURldmljZUluZm9ybWF0aW9uS2V5c1N0b3JhZ2VEaXJlY3Rv
cnk7CisjZW5kaWYKICAgICBjb3B5LT5tX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5ID0gdGhpcy0+
bV93ZWJTUUxEYXRhYmFzZURpcmVjdG9yeTsKICAgICBjb3B5LT5tX2NhY2hlUGFydGl0aW9uZWRV
UkxTY2hlbWVzID0gdGhpcy0+bV9jYWNoZVBhcnRpdGlvbmVkVVJMU2NoZW1lczsKICAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29s
Q29uZmlndXJhdGlvbi5oCmluZGV4IDUwZTFmOGY1NDliM2E2ZDBhMmZjODNkNjY5OTFmYzdkNjJj
ZWNhZWQuLmUxOWZiNjA3YTU2NzUzZDJlYzcwMzBkOGY5ZjVlODUyYzM3ZGRjZjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0
aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENv
bmZpZ3VyYXRpb24uaApAQCAtODQsNiArODQsMTEgQEAgcHVibGljOgogICAgIGNvbnN0IFdURjo6
U3RyaW5nJiBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9tZWRp
YUtleXNTdG9yYWdlRGlyZWN0b3J5OyB9CiAgICAgdm9pZCBzZXRNZWRpYUtleXNTdG9yYWdlRGly
ZWN0b3J5KGNvbnN0IFdURjo6U3RyaW5nJiBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KSB7IG1f
bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSA9IG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7IH0K
IAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgY29uc3QgV1RGOjpTdHJpbmcmIG1lZGlh
RGV2aWNlSW5mb3JtYXRpb25LZXlzU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1f
bWVkaWFEZXZpY2VJbmZvcm1hdGlvbktleXNTdG9yYWdlRGlyZWN0b3J5OyB9CisgICAgdm9pZCBz
ZXRNZWRpYURldmljZUluZm9ybWF0aW9uS2V5c1N0b3JhZ2VEaXJlY3RvcnkoY29uc3QgV1RGOjpT
dHJpbmcmIG1lZGlhRGV2aWNlSW5mb3JtYXRpb25LZXlzU3RvcmFnZURpcmVjdG9yeSkgeyBtX21l
ZGlhRGV2aWNlSW5mb3JtYXRpb25LZXlzU3RvcmFnZURpcmVjdG9yeSA9IG1lZGlhRGV2aWNlSW5m
b3JtYXRpb25LZXlzU3RvcmFnZURpcmVjdG9yeTsgfQorI2VuZGlmCisgICAgCiAgICAgY29uc3Qg
VmVjdG9yPFdURjo6U3RyaW5nPiYgY2FjaGVQYXJ0aXRpb25lZFVSTFNjaGVtZXMoKSB7IHJldHVy
biBtX2NhY2hlUGFydGl0aW9uZWRVUkxTY2hlbWVzOyB9CiAgICAgdm9pZCBzZXRDYWNoZVBhcnRp
dGlvbmVkVVJMU2NoZW1lcyhWZWN0b3I8V1RGOjpTdHJpbmc+JiYgY2FjaGVQYXJ0aXRpb25lZFVS
TFNjaGVtZXMpIHsgbV9jYWNoZVBhcnRpdGlvbmVkVVJMU2NoZW1lcyA9IFdURjo6bW92ZShjYWNo
ZVBhcnRpdGlvbmVkVVJMU2NoZW1lcyk7IH0KIApAQCAtMTAzLDYgKzEwOCw3IEBAIHByaXZhdGU6
CiAgICAgV1RGOjpTdHJpbmcgbV9sb2NhbFN0b3JhZ2VEaXJlY3Rvcnk7CiAgICAgV1RGOjpTdHJp
bmcgbV93ZWJTUUxEYXRhYmFzZURpcmVjdG9yeTsKICAgICBXVEY6OlN0cmluZyBtX21lZGlhS2V5
c1N0b3JhZ2VEaXJlY3Rvcnk7CisgICAgV1RGOjpTdHJpbmcgbV9tZWRpYURldmljZUluZm9ybWF0
aW9uS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7CiAgICAgVmVjdG9yPFdURjo6U3RyaW5nPiBtX2NhY2hl
UGFydGl0aW9uZWRVUkxTY2hlbWVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuaAppbmRleCA1NTliNGE5OWIwMWRjOGZkNzg3
OWIwMGQxMGM2YWQ4YWU0MGQxMjYxLi4zYWE1Mzk2MmRjNWM1MzQ5ZGVlZWQwMDA1NTMzZDk2MTQz
MzE1YzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdlYnNp
dGVEYXRhU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdlYnNp
dGVEYXRhU3RvcmUuaApAQCAtNTAsNiArNTAsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cmlu
ZyBkZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgU3RyaW5n
IGRlZmF1bHRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1
bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCk7CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
KyAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRNZWRpYURldmljZUluZm9ybWF0aW9uS2V5c1N0b3Jh
Z2VEaXJlY3RvcnkoKTsKKyNlbmRpZgogICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdFdlYlNRTERh
dGFiYXNlRGlyZWN0b3J5KCk7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1t
CmluZGV4IDMxMjg5MWUyMGFhN2ZiOWIxZTMzNTczYjU4YzIzZmE0NmYzM2ZkYzguLmI3MDU1YmRh
NTk4YjlmNGUxMjFiMjQzMjdjOGUwNTEwMjIxNDE2YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vic2l0ZURhdGFTdG9yZUNv
Y29hLm1tCkBAIC03MSw2ICs3MSwxMiBAQCBTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVs
dE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKQogewogICAgIHJldHVybiB3ZWJzaXRlRGF0YURp
cmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbigiTWVkaWFLZXlzIik7CiB9CisgICAgCitT
dHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhRGV2aWNlSW5mb3JtYXRpb25LZXlz
U3RvcmFnZURpcmVjdG9yeSgpCit7CisgICAgcmV0dXJuIHdlYnNpdGVEYXRhRGlyZWN0b3J5Rmls
ZVN5c3RlbVJlcHJlc2VudGF0aW9uKCJNZWRpYURldmljZUluZm9ybWF0aW9uS2V5cyIpOworfQor
CiAKIFN0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3Rv
cnkoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Bvb2xDb2NvYS5tbQppbmRleCA1OTA2Y2M4ZjQ0MDA4N2UxNTRjYzYxM2I5ODNiOWQ2MDY1
NDgyY2E1Li40YTg0MWU1OTE1YmM0NzM2YmY0Yjc1NDhjOWRkN2U4NGExNmU0MjAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2Nv
YS5tbQpAQCAtNjgsNiArNjgsMTAgQEAgTlNTdHJpbmcgKldlYktpdEpTQ0pJVEVuYWJsZWREZWZh
dWx0c0tleSA9IEAiV2ViS2l0SlNDSklURW5hYmxlZERlZmF1bHRzS2V5IjsKIE5TU3RyaW5nICpX
ZWJLaXRKU0NGVExKSVRFbmFibGVkRGVmYXVsdHNLZXkgPSBAIldlYktpdEpTQ0ZUTEpJVEVuYWJs
ZWREZWZhdWx0c0tleSI7CiBOU1N0cmluZyAqV2ViS2l0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9y
eURlZmF1bHRzS2V5ID0gQCJXZWJLaXRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5IjsKIAorI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCitOU1N0cmluZyAqV2ViS2l0TWVkaWFEZXZpY2VJZGVudGlm
aWVyS2V5c1N0b3JhZ2VEaXJlY3RvcnlEZWZhdWx0c0tleSA9IEAiV2ViS2l0TWVkaWFEZXZpY2VJ
ZGVudGlmaWVyS2V5c1N0b3JhZ2VEaXJlY3RvcnkiOworI2VuZGlmCisKICNpZiAhUExBVEZPUk0o
SU9TKQogc3RhdGljIE5TU3RyaW5nICpXZWJLaXRBcHBsaWNhdGlvbkRpZENoYW5nZUFjY2Vzc2li
aWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb24gPSBAIk5TQXBwbGljYXRpb25E
aWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlTm90aWZpY2F0aW9uIjsK
ICNlbmRpZgpAQCAtMzU4LDYgKzM2MiwxOCBAQCBTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2Fj
eVBsYXRmb3JtRGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKQogICAgIHJldHVybiBz
dHJpbmdCeVJlc29sdmluZ1N5bWxpbmtzSW5QYXRoKFttZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5
IHN0cmluZ0J5U3RhbmRhcmRpemluZ1BhdGhdKTsKIH0KIAorI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCitTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhRGV2
aWNlSWRlbnRpZmllcktleXNTdG9yYWdlRGlyZWN0b3J5KCkKK3sKKyAgICByZWdpc3RlclVzZXJE
ZWZhdWx0c0lmTmVlZGVkKCk7CisKKyAgICBOU1N0cmluZyAqbWVkaWFLZXlzU3RvcmFnZURpcmVj
dG9yeSA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIG9iamVjdEZvcktl
eTpXZWJLaXRNZWRpYURldmljZUlkZW50aWZpZXJLZXlzU3RvcmFnZURpcmVjdG9yeURlZmF1bHRz
S2V5XTsKKyAgICBpZiAoIW1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgfHwgIVttZWRpYUtleXNT
dG9yYWdlRGlyZWN0b3J5IGlzS2luZE9mQ2xhc3M6W05TU3RyaW5nIGNsYXNzXV0pCisgICAgICAg
IG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBAIn4vTGlicmFyeS9XZWJLaXQvTWVkaWFEZXZp
Y2VJZGVudGlmaWVyS2V5cyI7CisgICAgcmV0dXJuIHN0cmluZ0J5UmVzb2x2aW5nU3ltbGlua3NJ
blBhdGgoW21lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnkgc3RyaW5nQnlTdGFuZGFyZGl6aW5nUGF0
aF0pOworfQorI2VuZGlmCisKIFN0cmluZyBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1E
ZWZhdWx0QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpCiB7CiAgICAgTlNTdHJpbmcgKmFwcE5h
bWUgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggZTNlYTQ3NmU0YzQ2MmM5
ZjZjMDk2NTQ0NDc2MjNhMzhmZDc0YWE3My4uNjJmMDJlZGFkNGY1ZTkzMTgzNjQzZjE2OGFjOTlm
NjA4MDQ5NTlmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
Y3BwCkBAIC0xMzMsNiArMTMzLDcgQEAgc3RhdGljIFdlYnNpdGVEYXRhU3RvcmU6OkNvbmZpZ3Vy
YXRpb24gbGVnYWN5V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24oQVBJOjoKICAgICBjb25m
aWd1cmF0aW9uLndlYlNRTERhdGFiYXNlRGlyZWN0b3J5ID0gcHJvY2Vzc1Bvb2xDb25maWd1cmF0
aW9uLndlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCk7CiAgICAgY29uZmlndXJhdGlvbi5hcHBsaWNh
dGlvbkNhY2hlRGlyZWN0b3J5ID0gV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVs
dEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKTsKICAgICBjb25maWd1cmF0aW9uLm1lZGlhS2V5
c1N0b3JhZ2VEaXJlY3RvcnkgPSBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0
TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpOworICAgIGNvbmZpZ3VyYXRpb24ubWVkaWFEZXZp
Y2VJZGVudGlmaWVyS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5
UGxhdGZvcm1EZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyS2V5c1N0b3JhZ2VEaXJlY3Rvcnko
KTsKICAgICBjb25maWd1cmF0aW9uLm5ldHdvcmtDYWNoZURpcmVjdG9yeSA9IFdlYlByb2Nlc3NQ
b29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHROZXR3b3JrQ2FjaGVEaXJlY3RvcnkoKTsKIAogICAg
IHJldHVybiBjb25maWd1cmF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaAppbmRleCBkOGI4ODc5MGE2OGE3ZjlmMTljNzc2NzhjNTY0NWJjMjZhODAyZjAwLi45
Yjg5ODZmNzE5N2ZjNDg1M2M5NDE3OTVkNWVhYjYyODRmMjRhMWQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtMzYzLDYgKzM2Myw5IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgU3RyaW5nIGxlZ2FjeVBsYXRmb3JtRGVmYXVsdEluZGV4ZWREQkRhdGFiYXNl
RGlyZWN0b3J5KCk7CiAgICAgc3RhdGljIFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHRXZWJT
UUxEYXRhYmFzZURpcmVjdG9yeSgpOwogICAgIHN0YXRpYyBTdHJpbmcgbGVnYWN5UGxhdGZvcm1E
ZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpOworI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCisgICAgc3RhdGljIFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYURldmljZUlk
ZW50aWZpZXJLZXlzU3RvcmFnZURpcmVjdG9yeSgpOworI2VuZGlmCiAgICAgc3RhdGljIFN0cmlu
ZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCk7CiAgICAg
c3RhdGljIFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHROZXR3b3JrQ2FjaGVEaXJlY3Rvcnko
KTsKICAgICBzdGF0aWMgYm9vbCBpc05ldHdvcmtDYWNoZUVuYWJsZWQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5o
CmluZGV4IDM2YjYwYzdkNDQyZTk0ZjgzYWUyMTk0Yzc3OTMzZTFhNzViMjAyOTcuLjg3NmEwYWYy
NjFiMTllZWE1Y2U4YmFhMjNkMGY0YzFhMjRkOGY0MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaApAQCAtNjEs
NiArNjEsOSBAQCBwdWJsaWM6CiAgICAgICAgIFN0cmluZyB3ZWJTUUxEYXRhYmFzZURpcmVjdG9y
eTsKICAgICAgICAgU3RyaW5nIGxvY2FsU3RvcmFnZURpcmVjdG9yeTsKICAgICAgICAgU3RyaW5n
IG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAg
ICAgICAgU3RyaW5nIG1lZGlhRGV2aWNlSWRlbnRpZmllcktleXNTdG9yYWdlRGlyZWN0b3J5Owor
I2VuZGlmCiAgICAgfTsKICAgICBzdGF0aWMgUmVmPFdlYnNpdGVEYXRhU3RvcmU+IGNyZWF0ZU5v
blBlcnNpc3RlbnQoKTsKICAgICBzdGF0aWMgUmVmPFdlYnNpdGVEYXRhU3RvcmU+IGNyZWF0ZShD
b25maWd1cmF0aW9uKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258648</attachid>
            <date>2015-08-10 13:34:47 -0700</date>
            <delta_ts>2015-08-10 15:46:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147833-20150810133433.patch</filename>
            <type>text/plain</type>
            <size>14444</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTIwZTY4ZDMzZWEwMGJm
ZGJkMWMwYzM3YmJhNTdhNTUzNjkxMmRjNC4uZTA5Nzg2YTMwYTBiYzY1MmViZWQ0OWQ5MzZiNjMy
MzYyMTBiZTdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE1LTA4LTEwICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIExlZ2FjeStEZWZhdWx0
IHBsYXRmb3JtIE1lZGlhRGV2aWNlSWRlbnRpZmllcktleXNTdG9yYWdlRGlyZWN0b3J5IGNyZWF0
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Nzgz
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoQVBJ
OjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OmNyZWF0ZVdpdGhMZWdhY3lPcHRpb25zKToKKyAg
ICAgICAgKEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpQcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24pOgorICAgICAgICAoQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OmNvcHkpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW06CisgICAgICAg
IChBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYURldmljZUluZm9ybWF0aW9uS2V5
c1N0b3JhZ2VEaXJlY3RvcnkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL0FQSVdlYnNp
dGVEYXRhU3RvcmVHdGsuY3BwOgorICAgICAgICAoQVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZh
dWx0TWVkaWFEZXZpY2VJbmZvcm1hdGlvbktleXNTdG9yYWdlRGlyZWN0b3J5KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRp
ZmllcktleXNTdG9yYWdlRGlyZWN0b3J5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpsZWdhY3lXZWJzaXRlRGF0YVN0b3JlQ29uZmln
dXJhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvZWZsL1dlYlByb2Nlc3NQb29sRWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rv
cnkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc1Bvb2xHdGsuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFE
ZXZpY2VJbmZvcm1hdGlvbktleXNTdG9yYWdlRGlyZWN0b3J5KToKKwogMjAxNS0wOC0xMCAgWmFu
IERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0Nvb3JkaW5hdGVk
R3JhcGhpY3NdIEZpeCBmb3J3YXJkIGRlY2xhcmF0aW9ucyBvZiBDb29yZGluYXRlZEdyYXBoaWNz
TGF5ZXJTdGF0ZSwgVmlld3BvcnRBdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHAKaW5k
ZXggNDgyOTEyZjczNmRjMDY3NDczYTdiY2ZhOTFhODAzNzQ3NGQ4YmU1Mi4uN2FmNjBiYjRlNTAz
ZTA4YzkwZDc1ZmQ5MmYyNzNiN2JkMGIyODk1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcApA
QCAtNTAsOCArNTAsMTIgQEAgUmVmPFByb2Nlc3NQb29sQ29uZmlndXJhdGlvbj4gUHJvY2Vzc1Bv
b2xDb25maWd1cmF0aW9uOjpjcmVhdGVXaXRoTGVnYWN5T3B0aW9ucygKICAgICBjb25maWd1cmF0
aW9uLT5tX2luZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKTsKICAg
ICBjb25maWd1cmF0aW9uLT5tX2xvY2FsU3RvcmFnZURpcmVjdG9yeSA9IFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgpOwog
ICAgIGNvbmZpZ3VyYXRpb24tPm1fbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSA9IFdlYktpdDo6
V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJl
Y3RvcnkoKTsKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIGNvbmZpZ3VyYXRpb24tPm1f
bWVkaWFEZXZpY2VJbmZvcm1hdGlvbktleXNTdG9yYWdlRGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyS2V5
c1N0b3JhZ2VEaXJlY3RvcnkoKTsKKyNlbmRpZgogICAgIGNvbmZpZ3VyYXRpb24tPm1fd2ViU1FM
RGF0YWJhc2VEaXJlY3RvcnkgPSBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9y
bURlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeSgpOwotCisgICAgCisgICAgCiAgICAgcmV0
dXJuIGNvbmZpZ3VyYXRpb247CiB9CiAKQEAgLTYyLDYgKzY2LDkgQEAgUHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24oKQogICAgICwgbV9sb2NhbFN0b3Jh
Z2VEaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9y
eSgpKQogICAgICwgbV93ZWJTUUxEYXRhYmFzZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpk
ZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKSkKICAgICAsIG1fbWVkaWFLZXlzU3RvcmFn
ZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVj
dG9yeSgpKQorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgLCBtX21lZGlhRGV2aWNlSW5m
b3JtYXRpb25LZXlzU3RvcmFnZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVk
aWFEZXZpY2VJbmZvcm1hdGlvbktleXNTdG9yYWdlRGlyZWN0b3J5KCkpCisjZW5kaWYKIHsKIH0K
IApAQCAtODUsNiArOTIsOSBAQCBSZWY8UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uPiBQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb246OmNvcHkoKQogICAgIGNvcHktPm1faW5qZWN0ZWRCdW5kbGVQYXRo
ID0gdGhpcy0+bV9pbmplY3RlZEJ1bmRsZVBhdGg7CiAgICAgY29weS0+bV9sb2NhbFN0b3JhZ2VE
aXJlY3RvcnkgPSB0aGlzLT5tX2xvY2FsU3RvcmFnZURpcmVjdG9yeTsKICAgICBjb3B5LT5tX21l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSB0aGlzLT5tX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rv
cnk7CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBjb3B5LT5tX21lZGlhRGV2aWNlSW5m
b3JtYXRpb25LZXlzU3RvcmFnZURpcmVjdG9yeSA9IHRoaXMtPm1fbWVkaWFEZXZpY2VJbmZvcm1h
dGlvbktleXNTdG9yYWdlRGlyZWN0b3J5OworI2VuZGlmCiAgICAgY29weS0+bV93ZWJTUUxEYXRh
YmFzZURpcmVjdG9yeSA9IHRoaXMtPm1fd2ViU1FMRGF0YWJhc2VEaXJlY3Rvcnk7CiAgICAgY29w
eS0+bV9jYWNoZVBhcnRpdGlvbmVkVVJMU2NoZW1lcyA9IHRoaXMtPm1fY2FjaGVQYXJ0aXRpb25l
ZFVSTFNjaGVtZXM7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaAppbmRleCA1MGUxZjhmNTQ5YjNh
NmQwYTJmYzgzZDY2OTkxZmM3ZDYyY2VjYWVkLi4zMDkwYTAzMWU1YmVkMjQ1ZWI5Y2EwNGM1M2Vi
Yjg5OTY0ZGJhMDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQ
SVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgKQEAgLTg0LDYgKzg0LDExIEBAIHB1
YmxpYzoKICAgICBjb25zdCBXVEY6OlN0cmluZyYgbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgp
IGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeTsgfQogICAgIHZvaWQg
c2V0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeShjb25zdCBXVEY6OlN0cmluZyYgbWVkaWFLZXlz
U3RvcmFnZURpcmVjdG9yeSkgeyBtX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBtZWRpYUtl
eXNTdG9yYWdlRGlyZWN0b3J5OyB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIGNv
bnN0IFdURjo6U3RyaW5nJiBtZWRpYURldmljZUluZm9ybWF0aW9uS2V5c1N0b3JhZ2VEaXJlY3Rv
cnkoKSBjb25zdCB7IHJldHVybiBtX21lZGlhRGV2aWNlSW5mb3JtYXRpb25LZXlzU3RvcmFnZURp
cmVjdG9yeTsgfQorICAgIHZvaWQgc2V0TWVkaWFEZXZpY2VJbmZvcm1hdGlvbktleXNTdG9yYWdl
RGlyZWN0b3J5KGNvbnN0IFdURjo6U3RyaW5nJiBtZWRpYURldmljZUluZm9ybWF0aW9uS2V5c1N0
b3JhZ2VEaXJlY3RvcnkpIHsgbV9tZWRpYURldmljZUluZm9ybWF0aW9uS2V5c1N0b3JhZ2VEaXJl
Y3RvcnkgPSBtZWRpYURldmljZUluZm9ybWF0aW9uS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7IH0KKyNl
bmRpZgorICAgIAogICAgIGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mIGNhY2hlUGFydGl0aW9u
ZWRVUkxTY2hlbWVzKCkgeyByZXR1cm4gbV9jYWNoZVBhcnRpdGlvbmVkVVJMU2NoZW1lczsgfQog
ICAgIHZvaWQgc2V0Q2FjaGVQYXJ0aXRpb25lZFVSTFNjaGVtZXMoVmVjdG9yPFdURjo6U3RyaW5n
PiYmIGNhY2hlUGFydGl0aW9uZWRVUkxTY2hlbWVzKSB7IG1fY2FjaGVQYXJ0aXRpb25lZFVSTFNj
aGVtZXMgPSBXVEY6Om1vdmUoY2FjaGVQYXJ0aXRpb25lZFVSTFNjaGVtZXMpOyB9CiAKQEAgLTEw
Myw2ICsxMDgsOSBAQCBwcml2YXRlOgogICAgIFdURjo6U3RyaW5nIG1fbG9jYWxTdG9yYWdlRGly
ZWN0b3J5OwogICAgIFdURjo6U3RyaW5nIG1fd2ViU1FMRGF0YWJhc2VEaXJlY3Rvcnk7CiAgICAg
V1RGOjpTdHJpbmcgbV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OworI2lmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCisgICAgV1RGOjpTdHJpbmcgbV9tZWRpYURldmljZUluZm9ybWF0aW9uS2V5c1N0
b3JhZ2VEaXJlY3Rvcnk7CisjZW5kaWYKICAgICBWZWN0b3I8V1RGOjpTdHJpbmc+IG1fY2FjaGVQ
YXJ0aXRpb25lZFVSTFNjaGVtZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5oCmluZGV4IDU1OWI0YTk5YjAxZGM4ZmQ3ODc5
YjAwZDEwYzZhZDhhZTQwZDEyNjEuLjNhYTUzOTYyZGM1YzUzNDlkZWVlZDAwMDU1MzNkOTYxNDMz
MTVjMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0
ZURhdGFTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0
ZURhdGFTdG9yZS5oCkBAIC01MCw2ICs1MCw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3RyaW5n
IGRlZmF1bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpOwogICAgIHN0YXRpYyBTdHJpbmcg
ZGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgpOwogICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVs
dE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQor
ICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1lZGlhRGV2aWNlSW5mb3JtYXRpb25LZXlzU3RvcmFn
ZURpcmVjdG9yeSgpOworI2VuZGlmCiAgICAgc3RhdGljIFN0cmluZyBkZWZhdWx0V2ViU1FMRGF0
YWJhc2VEaXJlY3RvcnkoKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0K
aW5kZXggMzEyODkxZTIwYWE3ZmI5YjFlMzM1NzNiNThjMjNmYTQ2ZjMzZmRjOC4uMDJmY2JjNzkx
MTcyOWM4ODkwOThhYWJiM2Q4MTkwOTQ0MDQzNjNlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29j
b2EubW0KQEAgLTcyLDYgKzcyLDEzIEBAIFN0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0
TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpCiAgICAgcmV0dXJuIHdlYnNpdGVEYXRhRGlyZWN0
b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKCJNZWRpYUtleXMiKTsKIH0KIAorI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCitTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhRGV2
aWNlSW5mb3JtYXRpb25LZXlzU3RvcmFnZURpcmVjdG9yeSgpCit7CisgICAgcmV0dXJuIHdlYnNp
dGVEYXRhRGlyZWN0b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKCJNZWRpYURldmljZUluZm9y
bWF0aW9uS2V5cyIpOworfQorI2VuZGlmCisKIFN0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZh
dWx0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKQogewogICAgIHJldHVybiB3ZWJzaXRlRGF0YURp
cmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbigiV2ViU1FMIik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9BUElXZWJzaXRlRGF0YVN0b3JlR3RrLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL0FQSVdlYnNpdGVEYXRhU3RvcmVH
dGsuY3BwCmluZGV4IGM2YjA3ODdjMWFhYjFhNzBmNDVhZTRlNWQ4MTUwYmU3ZjlhODRiYWUuLjdl
YTc4N2JhNzU1MTY2YmZkMWFjYzE3NzQ3YzRlNzZiNGFiZmU2NzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL0FQSVdlYnNpdGVEYXRhU3RvcmVHdGsuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL0FQSVdlYnNpdGVEYXRhU3RvcmVH
dGsuY3BwCkBAIC02MCw2ICs2MCwxMyBAQCBTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVs
dE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKQogICAgIHJldHVybiB3ZWJzaXRlRGF0YURpcmVj
dG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbigid2Via2l0Z3RrIiBHX0RJUl9TRVBBUkFUT1Jf
UyAibWVkaWFrZXlzIik7CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorU3RyaW5nIFdl
YnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYURldmljZUluZm9ybWF0aW9uS2V5c1N0b3JhZ2VE
aXJlY3RvcnkoKQoreworICAgIHJldHVybiB3ZWJzaXRlRGF0YURpcmVjdG9yeUZpbGVTeXN0ZW1S
ZXByZXNlbnRhdGlvbigid2Via2l0Z3RrIiBHX0RJUl9TRVBBUkFUT1JfUyAibWVkaWFkZXZpY2Vp
bmZvcm1hdGlvbmtleXMiKTsKK30KKyNlbmRpZgorCiBTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6
ZGVmYXVsdFdlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCkKIHsKICAgICByZXR1cm4gd2Vic2l0ZURh
dGFEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oIndlYmtpdGd0ayIgR19ESVJfU0VQ
QVJBVE9SX1MgImRhdGFiYXNlcyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCA1OTA2Y2M4ZjQ0MDA4N2UxNTRj
YzYxM2I5ODNiOWQ2MDY1NDgyY2E1Li40YTg0MWU1OTE1YmM0NzM2YmY0Yjc1NDhjOWRkN2U4NGEx
NmU0MjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtNjgsNiArNjgsMTAgQEAgTlNTdHJpbmcgKldlYktpdEpT
Q0pJVEVuYWJsZWREZWZhdWx0c0tleSA9IEAiV2ViS2l0SlNDSklURW5hYmxlZERlZmF1bHRzS2V5
IjsKIE5TU3RyaW5nICpXZWJLaXRKU0NGVExKSVRFbmFibGVkRGVmYXVsdHNLZXkgPSBAIldlYktp
dEpTQ0ZUTEpJVEVuYWJsZWREZWZhdWx0c0tleSI7CiBOU1N0cmluZyAqV2ViS2l0TWVkaWFLZXlz
U3RvcmFnZURpcmVjdG9yeURlZmF1bHRzS2V5ID0gQCJXZWJLaXRNZWRpYUtleXNTdG9yYWdlRGly
ZWN0b3J5IjsKIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCitOU1N0cmluZyAqV2ViS2l0TWVk
aWFEZXZpY2VJZGVudGlmaWVyS2V5c1N0b3JhZ2VEaXJlY3RvcnlEZWZhdWx0c0tleSA9IEAiV2Vi
S2l0TWVkaWFEZXZpY2VJZGVudGlmaWVyS2V5c1N0b3JhZ2VEaXJlY3RvcnkiOworI2VuZGlmCisK
ICNpZiAhUExBVEZPUk0oSU9TKQogc3RhdGljIE5TU3RyaW5nICpXZWJLaXRBcHBsaWNhdGlvbkRp
ZENoYW5nZUFjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb24gPSBA
Ik5TQXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNl
Tm90aWZpY2F0aW9uIjsKICNlbmRpZgpAQCAtMzU4LDYgKzM2MiwxOCBAQCBTdHJpbmcgV2ViUHJv
Y2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnko
KQogICAgIHJldHVybiBzdHJpbmdCeVJlc29sdmluZ1N5bWxpbmtzSW5QYXRoKFttZWRpYUtleXNT
dG9yYWdlRGlyZWN0b3J5IHN0cmluZ0J5U3RhbmRhcmRpemluZ1BhdGhdKTsKIH0KIAorI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCitTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3Jt
RGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRpZmllcktleXNTdG9yYWdlRGlyZWN0b3J5KCkKK3sKKyAg
ICByZWdpc3RlclVzZXJEZWZhdWx0c0lmTmVlZGVkKCk7CisKKyAgICBOU1N0cmluZyAqbWVkaWFL
ZXlzU3RvcmFnZURpcmVjdG9yeSA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVs
dHNdIG9iamVjdEZvcktleTpXZWJLaXRNZWRpYURldmljZUlkZW50aWZpZXJLZXlzU3RvcmFnZURp
cmVjdG9yeURlZmF1bHRzS2V5XTsKKyAgICBpZiAoIW1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnkg
fHwgIVttZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5IGlzS2luZE9mQ2xhc3M6W05TU3RyaW5nIGNs
YXNzXV0pCisgICAgICAgIG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBAIn4vTGlicmFyeS9X
ZWJLaXQvTWVkaWFEZXZpY2VJZGVudGlmaWVyS2V5cyI7CisgICAgcmV0dXJuIHN0cmluZ0J5UmVz
b2x2aW5nU3ltbGlua3NJblBhdGgoW21lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnkgc3RyaW5nQnlT
dGFuZGFyZGl6aW5nUGF0aF0pOworfQorI2VuZGlmCisKIFN0cmluZyBXZWJQcm9jZXNzUG9vbDo6
bGVnYWN5UGxhdGZvcm1EZWZhdWx0QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpCiB7CiAgICAg
TlNTdHJpbmcgKmFwcE5hbWUgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZp
ZXJdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXgg
ZTNlYTQ3NmU0YzQ2MmM5ZjZjMDk2NTQ0NDc2MjNhMzhmZDc0YWE3My4uNjIwMDkwMzYzYTJkNmY5
NmMzOTcwZTU2MTM2ZDI4NDhiYTQxODYxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0xMzMsNiArMTMzLDkgQEAgc3RhdGljIFdlYnNpdGVEYXRh
U3RvcmU6OkNvbmZpZ3VyYXRpb24gbGVnYWN5V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24o
QVBJOjoKICAgICBjb25maWd1cmF0aW9uLndlYlNRTERhdGFiYXNlRGlyZWN0b3J5ID0gcHJvY2Vz
c1Bvb2xDb25maWd1cmF0aW9uLndlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCk7CiAgICAgY29uZmln
dXJhdGlvbi5hcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5ID0gV2ViUHJvY2Vzc1Bvb2w6OmxlZ2Fj
eVBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKTsKICAgICBjb25maWd1
cmF0aW9uLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5
UGxhdGZvcm1EZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpOworI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCisgICAgY29uZmlndXJhdGlvbi5tZWRpYURldmljZUlkZW50aWZpZXJLZXlz
U3RvcmFnZURpcmVjdG9yeSA9IFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRN
ZWRpYURldmljZUlkZW50aWZpZXJLZXlzU3RvcmFnZURpcmVjdG9yeSgpOworI2VuZGlmCiAgICAg
Y29uZmlndXJhdGlvbi5uZXR3b3JrQ2FjaGVEaXJlY3RvcnkgPSBXZWJQcm9jZXNzUG9vbDo6bGVn
YWN5UGxhdGZvcm1EZWZhdWx0TmV0d29ya0NhY2hlRGlyZWN0b3J5KCk7CiAKICAgICByZXR1cm4g
Y29uZmlndXJhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgK
aW5kZXggZDhiODg3OTBhNjhhN2Y5ZjE5Yzc3Njc4YzU2NDViYzI2YTgwMmYwMC4uOWI4OTg2Zjcx
OTdmYzQ4NTNjOTQxNzk1ZDVlYWI2Mjg0ZjI0YTFkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAgLTM2Myw2ICszNjMsOSBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9y
eSgpOwogICAgIHN0YXRpYyBTdHJpbmcgbGVnYWN5UGxhdGZvcm1EZWZhdWx0V2ViU1FMRGF0YWJh
c2VEaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAg
IHN0YXRpYyBTdHJpbmcgbGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVy
S2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsKKyNlbmRpZgogICAgIHN0YXRpYyBTdHJpbmcgbGVnYWN5
UGxhdGZvcm1EZWZhdWx0QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpOwogICAgIHN0YXRpYyBT
dHJpbmcgbGVnYWN5UGxhdGZvcm1EZWZhdWx0TmV0d29ya0NhY2hlRGlyZWN0b3J5KCk7CiAgICAg
c3RhdGljIGJvb2wgaXNOZXR3b3JrQ2FjaGVFbmFibGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAppbmRleCAz
NmI2MGM3ZDQ0MmU5NGY4M2FlMjE5NGM3NzkzM2UxYTc1YjIwMjk3Li44NzZhMGFmMjYxYjE5ZWVh
NWNlOGJhYTIzZDBmNGMxYTI0ZDhmNDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKQEAgLTYxLDYgKzYxLDkg
QEAgcHVibGljOgogICAgICAgICBTdHJpbmcgd2ViU1FMRGF0YWJhc2VEaXJlY3Rvcnk7CiAgICAg
ICAgIFN0cmluZyBsb2NhbFN0b3JhZ2VEaXJlY3Rvcnk7CiAgICAgICAgIFN0cmluZyBtZWRpYUtl
eXNTdG9yYWdlRGlyZWN0b3J5OworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgICAgIFN0
cmluZyBtZWRpYURldmljZUlkZW50aWZpZXJLZXlzU3RvcmFnZURpcmVjdG9yeTsKKyNlbmRpZgog
ICAgIH07CiAgICAgc3RhdGljIFJlZjxXZWJzaXRlRGF0YVN0b3JlPiBjcmVhdGVOb25QZXJzaXN0
ZW50KCk7CiAgICAgc3RhdGljIFJlZjxXZWJzaXRlRGF0YVN0b3JlPiBjcmVhdGUoQ29uZmlndXJh
dGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlByb2Nl
c3NQb29sRWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc1Bv
b2xFZmwuY3BwCmluZGV4IDFmODQxNDI3NGFmNjY2MmQ4YjVjYjRiN2VjZjY4ZmM0M2NiZmNiNTQu
LmU3OWNlNmQ2YThiNzllNjM3NGI1YWEwYTBiZDQwNThiNjJmODFkOTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc1Bvb2xFZmwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc1Bvb2xFZmwuY3BwCkBAIC0xMjcs
NiArMTI3LDEzIEBAIFN0cmluZyBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0
TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpCiAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgo
ZWZyZWV0X2RhdGFfaG9tZV9nZXQoKSkgKyAiL1dlYktpdEVmbC9NZWRpYUtleXMiOwogfQogCisj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK1N0cmluZyBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxh
dGZvcm1EZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpCit7CisgICAgcmV0dXJuIFN0
cmluZzo6ZnJvbVVURjgoZWZyZWV0X2RhdGFfaG9tZV9nZXQoKSkgKyAiL1dlYktpdEVmbC9NZWRp
YURldmljZUluZm9ybWF0aW9uS2V5cyI7Cit9CisjZW5kaWYKKwogU3RyaW5nIFdlYlByb2Nlc3NQ
b29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHROZXR3b3JrQ2FjaGVEaXJlY3RvcnkoKQogewogI2lm
IEVOQUJMRShORVRXT1JLX0NBQ0hFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2d0ay9XZWJQcm9jZXNzUG9vbEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Z3RrL1dlYlByb2Nlc3NQb29sR3RrLmNwcAppbmRleCAxNGE4YzczNzRkYzEwNzIzZTNhNWEyODk4
ZmU5ZTI0YTgyNzc3MTdmLi40YTRmNTUxMDE2MmNmMjU4OWFjZGZiNTIwNGQ3YmU1N2U0MTQwNDVh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NQb29s
R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NQb29s
R3RrLmNwcApAQCAtMTQxLDYgKzE0MSwxMyBAQCBTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2Fj
eVBsYXRmb3JtRGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKQogICAgIHJldHVybiBB
UEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCk7
CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorU3RyaW5nIFdlYlByb2Nlc3NQb29sOjps
ZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYURldmljZUluZm9ybWF0aW9uS2V5c1N0b3JhZ2VEaXJl
Y3RvcnkoKQoreworICAgIHJldHVybiBBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRp
YURldmljZUluZm9ybWF0aW9uS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsKK30KKyNlbmRpZgorCiBT
dHJpbmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE5ldHdvcmtDYWNoZURp
cmVjdG9yeSgpCiB7CiAgICAgcmV0dXJuIEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE5l
dHdvcmtDYWNoZURpcmVjdG9yeSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258660</attachid>
            <date>2015-08-10 15:46:57 -0700</date>
            <delta_ts>2015-11-09 09:37:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147833-20150810154643.patch</filename>
            <type>text/plain</type>
            <size>15091</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTIwZTY4ZDMzZWEwMGJm
ZGJkMWMwYzM3YmJhNTdhNTUzNjkxMmRjNC4uYWMzMzgyM2JmMmNlYWIxMjkzMzYwMDVlMDEwNTll
NjBhNTE1MzFmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE1LTA4LTEwICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIExlZ2FjeStEZWZhdWx0
IHBsYXRmb3JtIE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkgY3JlYXRlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3ODMzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChBUEk6OlBy
b2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6Y3JlYXRlV2l0aExlZ2FjeU9wdGlvbnMpOgorICAgICAg
ICAoQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OlByb2Nlc3NQb29sQ29uZmlndXJhdGlv
bik6CisgICAgICAgIChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6Y29weSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoQVBJ
OjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURp
cmVjdG9yeSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29jb2Eu
bW06CisgICAgICAgIChBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYURldmljZUlk
ZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9B
UElXZWJzaXRlRGF0YVN0b3JlR3RrLmNwcDoKKyAgICAgICAgKEFQSTo6V2Vic2l0ZURhdGFTdG9y
ZTo6ZGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFEZXZpY2VJZGVu
dGlmaWVyU3RvcmFnZURpcmVjdG9yeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bGVnYWN5V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3Vy
YXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL2VmbC9XZWJQcm9jZXNzUG9vbEVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJTdG9y
YWdlRGlyZWN0b3J5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NQb29sR3Rr
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVm
YXVsdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkpOgorCiAyMDE1LTA4LTEw
ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ29vcmRp
bmF0ZWRHcmFwaGljc10gRml4IGZvcndhcmQgZGVjbGFyYXRpb25zIG9mIENvb3JkaW5hdGVkR3Jh
cGhpY3NMYXllclN0YXRlLCBWaWV3cG9ydEF0dHJpYnV0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNw
cAppbmRleCA0ODI5MTJmNzM2ZGMwNjc0NzNhN2JjZmE5MWE4MDM3NDc0ZDhiZTUyLi41M2YyZGY2
ZmNkZDdhYWFlZTNhOTk5OWM5ZjVjZjhmMmRhMWU3MDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24u
Y3BwCkBAIC01MCw4ICs1MCwxMSBAQCBSZWY8UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uPiBQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb246OmNyZWF0ZVdpdGhMZWdhY3lPcHRpb25zKAogICAgIGNvbmZp
Z3VyYXRpb24tPm1faW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkgPSBXZWJLaXQ6OldlYlByb2Nl
c3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgp
OwogICAgIGNvbmZpZ3VyYXRpb24tPm1fbG9jYWxTdG9yYWdlRGlyZWN0b3J5ID0gV2ViS2l0OjpX
ZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5
KCk7CiAgICAgY29uZmlndXJhdGlvbi0+bV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5ID0gV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFLZXlzU3RvcmFn
ZURpcmVjdG9yeSgpOworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgY29uZmlndXJhdGlv
bi0+bV9tZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3Rv
cmFnZURpcmVjdG9yeSgpOworI2VuZGlmCiAgICAgY29uZmlndXJhdGlvbi0+bV93ZWJTUUxEYXRh
YmFzZURpcmVjdG9yeSA9IFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVm
YXVsdFdlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCk7Ci0KKyAgICAKICAgICByZXR1cm4gY29uZmln
dXJhdGlvbjsKIH0KIApAQCAtNjIsNiArNjUsOSBAQCBQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246
OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbigpCiAgICAgLCBtX2xvY2FsU3RvcmFnZURpcmVjdG9y
eShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCkpCiAgICAg
LCBtX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRXZWJT
UUxEYXRhYmFzZURpcmVjdG9yeSgpKQogICAgICwgbV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5
KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkpCisj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICAsIG1fbWVkaWFEZXZpY2VJZGVudGlmaWVyU3Rv
cmFnZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlm
aWVyU3RvcmFnZURpcmVjdG9yeSgpKQorI2VuZGlmCiB7CiB9CiAKQEAgLTg1LDYgKzkxLDkgQEAg
UmVmPFByb2Nlc3NQb29sQ29uZmlndXJhdGlvbj4gUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpj
b3B5KCkKICAgICBjb3B5LT5tX2luamVjdGVkQnVuZGxlUGF0aCA9IHRoaXMtPm1faW5qZWN0ZWRC
dW5kbGVQYXRoOwogICAgIGNvcHktPm1fbG9jYWxTdG9yYWdlRGlyZWN0b3J5ID0gdGhpcy0+bV9s
b2NhbFN0b3JhZ2VEaXJlY3Rvcnk7CiAgICAgY29weS0+bV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0
b3J5ID0gdGhpcy0+bV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OworI2lmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCisgICAgY29weS0+bV9tZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0
b3J5ID0gdGhpcy0+bV9tZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5OworI2Vu
ZGlmCiAgICAgY29weS0+bV93ZWJTUUxEYXRhYmFzZURpcmVjdG9yeSA9IHRoaXMtPm1fd2ViU1FM
RGF0YWJhc2VEaXJlY3Rvcnk7CiAgICAgY29weS0+bV9jYWNoZVBhcnRpdGlvbmVkVVJMU2NoZW1l
cyA9IHRoaXMtPm1fY2FjaGVQYXJ0aXRpb25lZFVSTFNjaGVtZXM7CiAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlv
bi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24uaAppbmRleCA1MGUxZjhmNTQ5YjNhNmQwYTJmYzgzZDY2OTkxZmM3ZDYyY2VjYWVkLi4x
OGE1NmU2MjNhOTZmYWYxMjVmMjc3NTg4ZmVlMjY4N2Q1MzViNmNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0
aW9uLmgKQEAgLTg0LDYgKzg0LDExIEBAIHB1YmxpYzoKICAgICBjb25zdCBXVEY6OlN0cmluZyYg
bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFLZXlzU3Rv
cmFnZURpcmVjdG9yeTsgfQogICAgIHZvaWQgc2V0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeShj
b25zdCBXVEY6OlN0cmluZyYgbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSkgeyBtX21lZGlhS2V5
c1N0b3JhZ2VEaXJlY3RvcnkgPSBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OyB9CiAKKyNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQorICAgIGNvbnN0IFdURjo6U3RyaW5nJiBtZWRpYURldmljZUlk
ZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYURldmljZUlk
ZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5OyB9CisgICAgdm9pZCBzZXRNZWRpYURldmljZUlkZW50
aWZpZXJTdG9yYWdlRGlyZWN0b3J5KGNvbnN0IFdURjo6U3RyaW5nJiBtZWRpYURldmljZUlkZW50
aWZpZXJTdG9yYWdlRGlyZWN0b3J5KSB7IG1fbWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURp
cmVjdG9yeSA9IG1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3Rvcnk7IH0KKyNlbmRp
ZgorICAgIAogICAgIGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mIGNhY2hlUGFydGl0aW9uZWRV
UkxTY2hlbWVzKCkgeyByZXR1cm4gbV9jYWNoZVBhcnRpdGlvbmVkVVJMU2NoZW1lczsgfQogICAg
IHZvaWQgc2V0Q2FjaGVQYXJ0aXRpb25lZFVSTFNjaGVtZXMoVmVjdG9yPFdURjo6U3RyaW5nPiYm
IGNhY2hlUGFydGl0aW9uZWRVUkxTY2hlbWVzKSB7IG1fY2FjaGVQYXJ0aXRpb25lZFVSTFNjaGVt
ZXMgPSBXVEY6Om1vdmUoY2FjaGVQYXJ0aXRpb25lZFVSTFNjaGVtZXMpOyB9CiAKQEAgLTEwMyw2
ICsxMDgsOSBAQCBwcml2YXRlOgogICAgIFdURjo6U3RyaW5nIG1fbG9jYWxTdG9yYWdlRGlyZWN0
b3J5OwogICAgIFdURjo6U3RyaW5nIG1fd2ViU1FMRGF0YWJhc2VEaXJlY3Rvcnk7CiAgICAgV1RG
OjpTdHJpbmcgbV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OworI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCisgICAgV1RGOjpTdHJpbmcgbV9tZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGly
ZWN0b3J5OworI2VuZGlmCiAgICAgVmVjdG9yPFdURjo6U3RyaW5nPiBtX2NhY2hlUGFydGl0aW9u
ZWRVUkxTY2hlbWVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggYjRkNTJkZmI0MWM3MWFjNjVlMmNlM2Zm
MjAyMTVjZDY2MmViZTJlNC4uZTdhYjQwYmI0ZWFlZDU2M2MyMDhjNTU1YjQ5ZTdhMzMwZmViN2Yz
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0
YVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVE
YXRhU3RvcmUuY3BwCkBAIC0xMTEsNiArMTExLDEyIEBAIFN0cmluZyBXZWJzaXRlRGF0YVN0b3Jl
OjpkZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpCiAgICAgcmV0dXJuIFN0cmluZygp
OwogfQogCitTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRp
ZmllclN0b3JhZ2VEaXJlY3RvcnkoKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQKKyAgICBy
ZXR1cm4gU3RyaW5nKCk7Cit9CisKIFN0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0SW5k
ZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKQogewogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3Rv
cmUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5o
CmluZGV4IDU1OWI0YTk5YjAxZGM4ZmQ3ODc5YjAwZDEwYzZhZDhhZTQwZDEyNjEuLjYzOTRkYTU2
MGNiODkwNTcxNzM4NzAzY2ViMDIyNjIxYmRkYmRjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5oCkBAIC01MCw2ICs1MCw5IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRJbmRleGVkREJEYXRhYmFzZURpcmVj
dG9yeSgpOwogICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgp
OwogICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsK
KyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1lZGlh
RGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkoKTsKKyNlbmRpZgogICAgIHN0YXRpYyBT
dHJpbmcgZGVmYXVsdFdlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCk7CiAKIHByaXZhdGU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVdlYnNpdGVEYXRh
U3RvcmVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vi
c2l0ZURhdGFTdG9yZUNvY29hLm1tCmluZGV4IDMxMjg5MWUyMGFhN2ZiOWIxZTMzNTczYjU4YzIz
ZmE0NmYzM2ZkYzguLjBhMjZlODc0NzY0NDUzYTNiMzI4OGEyMjY3M2UwOWU1MWNmYzI4NzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vic2l0ZURh
dGFTdG9yZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
QVBJV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCkBAIC03Miw2ICs3MiwxMyBAQCBTdHJpbmcgV2Vi
c2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKQogICAgIHJl
dHVybiB3ZWJzaXRlRGF0YURpcmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbigiTWVkaWFL
ZXlzIik7CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorU3RyaW5nIFdlYnNpdGVEYXRh
U3RvcmU6OmRlZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5KCkKK3sK
KyAgICByZXR1cm4gd2Vic2l0ZURhdGFEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24o
Ik1lZGlhRGV2aWNlSWRlbnRpZmllciIpOworfQorI2VuZGlmCisKIFN0cmluZyBXZWJzaXRlRGF0
YVN0b3JlOjpkZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKQogewogICAgIHJldHVybiB3
ZWJzaXRlRGF0YURpcmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbigiV2ViU1FMIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9BUElXZWJzaXRlRGF0
YVN0b3JlR3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL0FQSVdlYnNp
dGVEYXRhU3RvcmVHdGsuY3BwCmluZGV4IGM2YjA3ODdjMWFhYjFhNzBmNDVhZTRlNWQ4MTUwYmU3
ZjlhODRiYWUuLjg3MmNlYzI4ZTZmYzI4YTk0OWUwNmRhYWE4ZWJjZWZjNDNiMTcyYTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL0FQSVdlYnNpdGVEYXRhU3Rv
cmVHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL0FQSVdlYnNp
dGVEYXRhU3RvcmVHdGsuY3BwCkBAIC02MCw2ICs2MCwxMyBAQCBTdHJpbmcgV2Vic2l0ZURhdGFT
dG9yZTo6ZGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKQogICAgIHJldHVybiB3ZWJz
aXRlRGF0YURpcmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbigid2Via2l0Z3RrIiBHX0RJ
Ul9TRVBBUkFUT1JfUyAibWVkaWFrZXlzIik7CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQorU3RyaW5nIFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJT
dG9yYWdlRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gd2Vic2l0ZURhdGFEaXJlY3RvcnlGaWxl
U3lzdGVtUmVwcmVzZW50YXRpb24oIndlYmtpdGd0ayIgR19ESVJfU0VQQVJBVE9SX1MgIm1lZGlh
ZGV2aWNlaWRlbnRpZmllciIpOworfQorI2VuZGlmCisKIFN0cmluZyBXZWJzaXRlRGF0YVN0b3Jl
OjpkZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKQogewogICAgIHJldHVybiB3ZWJzaXRl
RGF0YURpcmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbigid2Via2l0Z3RrIiBHX0RJUl9T
RVBBUkFUT1JfUyAiZGF0YWJhc2VzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDU5MDZjYzhmNDQwMDg3ZTE1
NGNjNjEzYjk4M2I5ZDYwNjU0ODJjYTUuLmFkNGJkMDdjYzYzYmI2NTA5OTRmOGUzNjQ1MjI1YTU0
OWNhYzU5ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC02OCw2ICs2OCwxMCBAQCBOU1N0cmluZyAqV2ViS2l0
SlNDSklURW5hYmxlZERlZmF1bHRzS2V5ID0gQCJXZWJLaXRKU0NKSVRFbmFibGVkRGVmYXVsdHNL
ZXkiOwogTlNTdHJpbmcgKldlYktpdEpTQ0ZUTEpJVEVuYWJsZWREZWZhdWx0c0tleSA9IEAiV2Vi
S2l0SlNDRlRMSklURW5hYmxlZERlZmF1bHRzS2V5IjsKIE5TU3RyaW5nICpXZWJLaXRNZWRpYUtl
eXNTdG9yYWdlRGlyZWN0b3J5RGVmYXVsdHNLZXkgPSBAIldlYktpdE1lZGlhS2V5c1N0b3JhZ2VE
aXJlY3RvcnkiOwogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK05TU3RyaW5nICpXZWJLaXRN
ZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5RGVmYXVsdHNLZXkgPSBAIldlYktp
dE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkiOworI2VuZGlmCisKICNpZiAh
UExBVEZPUk0oSU9TKQogc3RhdGljIE5TU3RyaW5nICpXZWJLaXRBcHBsaWNhdGlvbkRpZENoYW5n
ZUFjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb24gPSBAIk5TQXBw
bGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlTm90aWZp
Y2F0aW9uIjsKICNlbmRpZgpAQCAtMzU4LDYgKzM2MiwxOCBAQCBTdHJpbmcgV2ViUHJvY2Vzc1Bv
b2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKQogICAg
IHJldHVybiBzdHJpbmdCeVJlc29sdmluZ1N5bWxpbmtzSW5QYXRoKFttZWRpYUtleXNTdG9yYWdl
RGlyZWN0b3J5IHN0cmluZ0J5U3RhbmRhcmRpemluZ1BhdGhdKTsKIH0KIAorI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCitTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVs
dE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkoKQoreworICAgIHJlZ2lzdGVy
VXNlckRlZmF1bHRzSWZOZWVkZWQoKTsKKworICAgIE5TU3RyaW5nICptZWRpYUtleXNTdG9yYWdl
RGlyZWN0b3J5ID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gb2JqZWN0
Rm9yS2V5OldlYktpdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnlEZWZhdWx0
c0tleV07CisgICAgaWYgKCFtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5IHx8ICFbbWVkaWFLZXlz
U3RvcmFnZURpcmVjdG9yeSBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBjbGFzc11dKQorICAgICAg
ICBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5ID0gQCJ+L0xpYnJhcnkvV2ViS2l0L01lZGlhRGV2
aWNlSWRlbnRpZmllciI7CisgICAgcmV0dXJuIHN0cmluZ0J5UmVzb2x2aW5nU3ltbGlua3NJblBh
dGgoW21lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnkgc3RyaW5nQnlTdGFuZGFyZGl6aW5nUGF0aF0p
OworfQorI2VuZGlmCisKIFN0cmluZyBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZh
dWx0QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpCiB7CiAgICAgTlNTdHJpbmcgKmFwcE5hbWUg
PSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggZTNlYTQ3NmU0YzQ2MmM5ZjZj
MDk2NTQ0NDc2MjNhMzhmZDc0YWE3My4uNzA0ZjMwOGY0YzhiNGEwMjI5MTYzMGJlNjIyYjAxZjgw
NjYyZGU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
CkBAIC0xMzMsNiArMTMzLDkgQEAgc3RhdGljIFdlYnNpdGVEYXRhU3RvcmU6OkNvbmZpZ3VyYXRp
b24gbGVnYWN5V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24oQVBJOjoKICAgICBjb25maWd1
cmF0aW9uLndlYlNRTERhdGFiYXNlRGlyZWN0b3J5ID0gcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9u
LndlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCk7CiAgICAgY29uZmlndXJhdGlvbi5hcHBsaWNhdGlv
bkNhY2hlRGlyZWN0b3J5ID0gV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdEFw
cGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKTsKICAgICBjb25maWd1cmF0aW9uLm1lZGlhS2V5c1N0
b3JhZ2VEaXJlY3RvcnkgPSBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVk
aWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpOworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAg
Y29uZmlndXJhdGlvbi5tZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5ID0gV2Vi
UHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0
b3JhZ2VEaXJlY3RvcnkoKTsKKyNlbmRpZgogICAgIGNvbmZpZ3VyYXRpb24ubmV0d29ya0NhY2hl
RGlyZWN0b3J5ID0gV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE5ldHdvcmtD
YWNoZURpcmVjdG9yeSgpOwogCiAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IGQ4Yjg4NzkwYTY4YTdmOWYxOWM3
NzY3OGM1NjQ1YmMyNmE4MDJmMDAuLmI5MjIzYzU1NThhNmNhMWRhNDc1Y2E3MjgyZDYzMWFjNzI4
YjIxMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC0z
NjMsNiArMzYzLDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHJpbmcgbGVnYWN5UGxhdGZvcm1E
ZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGxl
Z2FjeVBsYXRmb3JtRGVmYXVsdFdlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCk7CiAgICAgc3RhdGlj
IFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCk7
CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBzdGF0aWMgU3RyaW5nIGxlZ2FjeVBsYXRm
b3JtRGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkoKTsKKyNlbmRp
ZgogICAgIHN0YXRpYyBTdHJpbmcgbGVnYWN5UGxhdGZvcm1EZWZhdWx0QXBwbGljYXRpb25DYWNo
ZURpcmVjdG9yeSgpOwogICAgIHN0YXRpYyBTdHJpbmcgbGVnYWN5UGxhdGZvcm1EZWZhdWx0TmV0
d29ya0NhY2hlRGlyZWN0b3J5KCk7CiAgICAgc3RhdGljIGJvb2wgaXNOZXR3b3JrQ2FjaGVFbmFi
bGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRh
L1dlYnNpdGVEYXRhU3RvcmUuaAppbmRleCAzNmI2MGM3ZDQ0MmU5NGY4M2FlMjE5NGM3NzkzM2Ux
YTc1YjIwMjk3Li4zNTAxYmIyODA3MmQ1ZDQ2NzJjZTYwMmFlYzE2MGZmZTBlMGRhY2RlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmgKQEAgLTYxLDYgKzYxLDkgQEAgcHVibGljOgogICAgICAgICBTdHJpbmcgd2Vi
U1FMRGF0YWJhc2VEaXJlY3Rvcnk7CiAgICAgICAgIFN0cmluZyBsb2NhbFN0b3JhZ2VEaXJlY3Rv
cnk7CiAgICAgICAgIFN0cmluZyBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OworI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCisgICAgICAgIFN0cmluZyBtZWRpYURldmljZUlkZW50aWZpZXJTdG9y
YWdlRGlyZWN0b3J5OworI2VuZGlmCiAgICAgfTsKICAgICBzdGF0aWMgUmVmPFdlYnNpdGVEYXRh
U3RvcmU+IGNyZWF0ZU5vblBlcnNpc3RlbnQoKTsKICAgICBzdGF0aWMgUmVmPFdlYnNpdGVEYXRh
U3RvcmU+IGNyZWF0ZShDb25maWd1cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc1Bvb2xFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9XZWJQcm9jZXNzUG9vbEVmbC5jcHAKaW5kZXggMWY4NDE0Mjc0YWY2NjYyZDhi
NWNiNGI3ZWNmNjhmYzQzY2JmY2I1NC4uNjAzMzlhZWVhYzQyN2U0ZmJjOTg0ZTAxNmYyZTA5N2Q1
YTU1MjExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJQcm9j
ZXNzUG9vbEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJQcm9j
ZXNzUG9vbEVmbC5jcHAKQEAgLTEyNyw2ICsxMjcsMTMgQEAgU3RyaW5nIFdlYlByb2Nlc3NQb29s
OjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkKICAgICBy
ZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChlZnJlZXRfZGF0YV9ob21lX2dldCgpKSArICIvV2ViS2l0
RWZsL01lZGlhS2V5cyI7CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorU3RyaW5nIFdl
YlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJT
dG9yYWdlRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChlZnJlZXRf
ZGF0YV9ob21lX2dldCgpKSArICIvV2ViS2l0RWZsL01lZGlhRGV2aWNlSWRlbnRpZmllciI7Cit9
CisjZW5kaWYKKwogU3RyaW5nIFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRO
ZXR3b3JrQ2FjaGVEaXJlY3RvcnkoKQogewogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQcm9jZXNzUG9vbEd0ay5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NQb29sR3RrLmNwcApp
bmRleCAxNGE4YzczNzRkYzEwNzIzZTNhNWEyODk4ZmU5ZTI0YTgyNzc3MTdmLi45ZDJjYTY3ZmM5
MGQzODVkOWM5ZjI3MzY1YmFmOGExYjc5NzA0YzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NQb29sR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NQb29sR3RrLmNwcApAQCAtMTQxLDYgKzE0MSwxMyBA
QCBTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhS2V5c1N0
b3JhZ2VEaXJlY3RvcnkoKQogICAgIHJldHVybiBBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1
bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCk7CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQorU3RyaW5nIFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYURl
dmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gQVBJOjpXZWJz
aXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9y
eSgpOworfQorI2VuZGlmCisKIFN0cmluZyBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1E
ZWZhdWx0TmV0d29ya0NhY2hlRGlyZWN0b3J5KCkKIHsKICAgICByZXR1cm4gQVBJOjpXZWJzaXRl
RGF0YVN0b3JlOjpkZWZhdWx0TmV0d29ya0NhY2hlRGlyZWN0b3J5KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265063</attachid>
            <date>2015-11-09 09:37:14 -0800</date>
            <delta_ts>2015-11-09 09:43:36 -0800</delta_ts>
            <desc>Rebased patch</desc>
            <filename>storage_directory_patch_1.txt</filename>
            <type>text/plain</type>
            <size>14144</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MjE1NSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDE1LTExLTA5ICBNYXR0aGV3
IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIExlZ2FjeStEZWZhdWx0IHBs
YXRmb3JtIE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkgY3JlYXRlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3ODMzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChBUEk6OlByb2Nl
c3NQb29sQ29uZmlndXJhdGlvbjo6Y3JlYXRlV2l0aExlZ2FjeU9wdGlvbnMpOgorICAgICAgICAo
QVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbik6
CisgICAgICAgIChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6Y29weSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoQVBJOjpX
ZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVj
dG9yeSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW06
CisgICAgICAgIChBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYURldmljZUlkZW50
aWZpZXJTdG9yYWdlRGlyZWN0b3J5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9BUElX
ZWJzaXRlRGF0YVN0b3JlR3RrLmNwcDoKKyAgICAgICAgKEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6
ZGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlm
aWVyU3RvcmFnZURpcmVjdG9yeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6bGVnYWN5V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRp
b24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL2VmbC9XZWJQcm9jZXNzUG9vbEVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdl
RGlyZWN0b3J5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NQb29sR3RrLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVs
dE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkpOgorCiAyMDE1LTExLTA5ICBD
c2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCBDTWFrZSBidWlsZGZpeCBhZnRlciByMTkyMTEzLgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lvbiAxOTIxNTUpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzQsNiArMTM0LDkgQEAgc3RhdGljIFdlYnNpdGVEYXRhU3RvcmU6OkNvbmZpZ3VyYXRpb24gbAog
ICAgIGNvbmZpZ3VyYXRpb24ud2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkgPSBwcm9jZXNzUG9vbENv
bmZpZ3VyYXRpb24ud2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKTsKICAgICBjb25maWd1cmF0aW9u
LmFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkgPSBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZv
cm1EZWZhdWx0QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpOwogICAgIGNvbmZpZ3VyYXRpb24u
bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSA9IFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9y
bURlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCk7CisjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKKyAgICBjb25maWd1cmF0aW9uLm1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJl
Y3RvcnkgPSBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFEZXZpY2VJ
ZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeSgpOworI2VuZGlmCiAgICAgY29uZmlndXJhdGlvbi5u
ZXR3b3JrQ2FjaGVEaXJlY3RvcnkgPSBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZh
dWx0TmV0d29ya0NhY2hlRGlyZWN0b3J5KCk7CiAKICAgICByZXR1cm4gY29uZmlndXJhdGlvbjsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCShyZXZpc2lv
biAxOTIxNTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAko
d29ya2luZyBjb3B5KQpAQCAtMzYzLDYgKzM2Myw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3Ry
aW5nIGxlZ2FjeVBsYXRmb3JtRGVmYXVsdEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCk7CiAg
ICAgc3RhdGljIFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVj
dG9yeSgpOwogICAgIHN0YXRpYyBTdHJpbmcgbGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFLZXlz
U3RvcmFnZURpcmVjdG9yeSgpOworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgc3RhdGlj
IFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdl
RGlyZWN0b3J5KCk7CisjZW5kaWYKICAgICBzdGF0aWMgU3RyaW5nIGxlZ2FjeVBsYXRmb3JtRGVm
YXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGxlZ2Fj
eVBsYXRmb3JtRGVmYXVsdE5ldHdvcmtDYWNoZURpcmVjdG9yeSgpOwogICAgIHN0YXRpYyBib29s
IGlzTmV0d29ya0NhY2hlRW5hYmxlZCgpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcAko
cmV2aXNpb24gMTkyMTU1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw4ICs1MCwxMSBA
QCBSZWY8UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uPiBQcm9jZXNzUG9vCiAgICAgY29uZmlndXJh
dGlvbi0+bV9pbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSA9IFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCk7CiAg
ICAgY29uZmlndXJhdGlvbi0+bV9sb2NhbFN0b3JhZ2VEaXJlY3RvcnkgPSBXZWJLaXQ6OldlYlBy
b2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoKTsK
ICAgICBjb25maWd1cmF0aW9uLT5tX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGly
ZWN0b3J5KCk7CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBjb25maWd1cmF0aW9uLT5t
X21lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkgPSBXZWJLaXQ6OldlYlByb2Nl
c3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdl
RGlyZWN0b3J5KCk7CisjZW5kaWYKICAgICBjb25maWd1cmF0aW9uLT5tX3dlYlNRTERhdGFiYXNl
RGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0
V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKTsKLQorICAgIAogICAgIHJldHVybiBjb25maWd1cmF0
aW9uOwogfQogCkBAIC02Miw2ICs2NSw5IEBAIFByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6UHJv
Y2Vzc1Bvb2xDb24KICAgICAsIG1fbG9jYWxTdG9yYWdlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3Rv
cmU6OmRlZmF1bHRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoKSkKICAgICAsIG1fd2ViU1FMRGF0YWJh
c2VEaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdFdlYlNRTERhdGFiYXNlRGlyZWN0
b3J5KCkpCiAgICAgLCBtX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9y
ZTo6ZGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSkKKyNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQorICAgICwgbV9tZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5KFdl
YnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0
b3J5KCkpCisjZW5kaWYKIHsKIH0KIApAQCAtODUsNiArOTEsOSBAQCBSZWY8UHJvY2Vzc1Bvb2xD
b25maWd1cmF0aW9uPiBQcm9jZXNzUG9vCiAgICAgY29weS0+bV9pbmplY3RlZEJ1bmRsZVBhdGgg
PSB0aGlzLT5tX2luamVjdGVkQnVuZGxlUGF0aDsKICAgICBjb3B5LT5tX2xvY2FsU3RvcmFnZURp
cmVjdG9yeSA9IHRoaXMtPm1fbG9jYWxTdG9yYWdlRGlyZWN0b3J5OwogICAgIGNvcHktPm1fbWVk
aWFLZXlzU3RvcmFnZURpcmVjdG9yeSA9IHRoaXMtPm1fbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9y
eTsKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIGNvcHktPm1fbWVkaWFEZXZpY2VJZGVu
dGlmaWVyU3RvcmFnZURpcmVjdG9yeSA9IHRoaXMtPm1fbWVkaWFEZXZpY2VJZGVudGlmaWVyU3Rv
cmFnZURpcmVjdG9yeTsKKyNlbmRpZgogICAgIGNvcHktPm1fd2ViU1FMRGF0YWJhc2VEaXJlY3Rv
cnkgPSB0aGlzLT5tX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5OwogICAgIGNvcHktPm1fY2FjaGVQ
YXJ0aXRpb25lZFVSTFNjaGVtZXMgPSB0aGlzLT5tX2NhY2hlUGFydGl0aW9uZWRVUkxTY2hlbWVz
OwogICAgIGNvcHktPm1fZnVsbHlTeW5jaHJvbm91c01vZGVJc0FsbG93ZWRGb3JUZXN0aW5nID0g
dGhpcy0+bV9mdWxseVN5bmNocm9ub3VzTW9kZUlzQWxsb3dlZEZvclRlc3Rpbmc7CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bv
b2xDb25maWd1cmF0aW9uLmgJKHJldmlzaW9uIDE5MjE1NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgJKHdvcmtpbmcgY29weSkK
QEAgLTg0LDYgKzg0LDExIEBAIHB1YmxpYzoKICAgICBjb25zdCBXVEY6OlN0cmluZyYgbWVkaWFL
ZXlzU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFLZXlzU3RvcmFnZURp
cmVjdG9yeTsgfQogICAgIHZvaWQgc2V0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeShjb25zdCBX
VEY6OlN0cmluZyYgbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSkgeyBtX21lZGlhS2V5c1N0b3Jh
Z2VEaXJlY3RvcnkgPSBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OyB9CiAKKyNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQorICAgIGNvbnN0IFdURjo6U3RyaW5nJiBtZWRpYURldmljZUlkZW50aWZp
ZXJTdG9yYWdlRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYURldmljZUlkZW50aWZp
ZXJTdG9yYWdlRGlyZWN0b3J5OyB9CisgICAgdm9pZCBzZXRNZWRpYURldmljZUlkZW50aWZpZXJT
dG9yYWdlRGlyZWN0b3J5KGNvbnN0IFdURjo6U3RyaW5nJiBtZWRpYURldmljZUlkZW50aWZpZXJT
dG9yYWdlRGlyZWN0b3J5KSB7IG1fbWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9y
eSA9IG1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3Rvcnk7IH0KKyNlbmRpZgorICAg
IAogICAgIGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mIGNhY2hlUGFydGl0aW9uZWRVUkxTY2hl
bWVzKCkgeyByZXR1cm4gbV9jYWNoZVBhcnRpdGlvbmVkVVJMU2NoZW1lczsgfQogICAgIHZvaWQg
c2V0Q2FjaGVQYXJ0aXRpb25lZFVSTFNjaGVtZXMoVmVjdG9yPFdURjo6U3RyaW5nPiYmIGNhY2hl
UGFydGl0aW9uZWRVUkxTY2hlbWVzKSB7IG1fY2FjaGVQYXJ0aXRpb25lZFVSTFNjaGVtZXMgPSBX
VEY6Om1vdmUoY2FjaGVQYXJ0aXRpb25lZFVSTFNjaGVtZXMpOyB9CiAKQEAgLTEwOSw2ICsxMTQs
OSBAQCBwcml2YXRlOgogICAgIFdURjo6U3RyaW5nIG1fbG9jYWxTdG9yYWdlRGlyZWN0b3J5Owog
ICAgIFdURjo6U3RyaW5nIG1fd2ViU1FMRGF0YWJhc2VEaXJlY3Rvcnk7CiAgICAgV1RGOjpTdHJp
bmcgbV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CisgICAgV1RGOjpTdHJpbmcgbV9tZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5
OworI2VuZGlmCiAgICAgVmVjdG9yPFdURjo6U3RyaW5nPiBtX2NhY2hlUGFydGl0aW9uZWRVUkxT
Y2hlbWVzOwogICAgIGJvb2wgbV9mdWxseVN5bmNocm9ub3VzTW9kZUlzQWxsb3dlZEZvclRlc3Rp
bmcgeyBmYWxzZSB9OwogICAgIFZlY3RvcjxXVEY6OlN0cmluZz4gbV9vdmVycmlkZUxhbmd1YWdl
czsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9y
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElXZWJz
aXRlRGF0YVN0b3JlLmNwcAkocmV2aXNpb24gMTkyMTU1KQorKysgU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEx
LDYgKzExMSwxMiBAQCBTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhS2V5CiAg
ICAgcmV0dXJuIFN0cmluZygpOwogfQogCitTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVs
dE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkoKQoreworICAgIC8vIEZJWE1F
OiBJbXBsZW1lbnQKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKIFN0cmluZyBXZWJzaXRlRGF0
YVN0b3JlOjpkZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKQogewogICAgIC8vIEZJ
WE1FOiBJbXBsZW1lbnQuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdl
YnNpdGVEYXRhU3RvcmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuaAkocmV2aXNpb24gMTkyMTU1KQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTUwLDYgKzUwLDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdEluZGV4
ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCk7CiAgICAgc3RhdGljIFN0cmluZyBkZWZhdWx0TG9jYWxT
dG9yYWdlRGlyZWN0b3J5KCk7CiAgICAgc3RhdGljIFN0cmluZyBkZWZhdWx0TWVkaWFLZXlzU3Rv
cmFnZURpcmVjdG9yeSgpOworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgc3RhdGljIFN0
cmluZyBkZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeSgpOworI2Vu
ZGlmCiAgICAgc3RhdGljIFN0cmluZyBkZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKTsK
IAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJ
V2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCShyZXZpc2lvbiAx
OTIxNTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVdlYnNpdGVE
YXRhU3RvcmVDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNzIsNiArNzIsMTMgQEAgU3RyaW5n
IFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYUtleQogICAgIHJldHVybiB3ZWJzaXRlRGF0
YURpcmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbigiTWVkaWFLZXlzIik7CiB9CiAKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorU3RyaW5nIFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRN
ZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gd2Vi
c2l0ZURhdGFEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oIk1lZGlhRGV2aWNlSWRl
bnRpZmllciIpOworfQorI2VuZGlmCisKIFN0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0
V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKQogewogICAgIHJldHVybiB3ZWJzaXRlRGF0YURpcmVj
dG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbigiV2ViU1FMIik7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9BUElXZWJzaXRlRGF0YVN0b3JlR3RrLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9BUElXZWJzaXRlRGF0YVN0
b3JlR3RrLmNwcAkocmV2aXNpb24gMTkyMTU1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvQVBJV2Vic2l0ZURhdGFTdG9yZUd0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYw
LDYgKzYwLDEzIEBAIFN0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFLZXkKICAg
ICByZXR1cm4gd2Vic2l0ZURhdGFEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oIndl
YmtpdGd0ayIgR19ESVJfU0VQQVJBVE9SX1MgIm1lZGlha2V5cyIpOwogfQogCisjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKK1N0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFEZXZp
Y2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeSgpCit7CisgICAgcmV0dXJuIHdlYnNpdGVEYXRh
RGlyZWN0b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKCJ3ZWJraXRndGsiIEdfRElSX1NFUEFS
QVRPUl9TICJtZWRpYWRldmljZWlkZW50aWZpZXIiKTsKK30KKyNlbmRpZgorCiBTdHJpbmcgV2Vi
c2l0ZURhdGFTdG9yZTo6ZGVmYXVsdFdlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCkKIHsKICAgICBy
ZXR1cm4gd2Vic2l0ZURhdGFEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oIndlYmtp
dGd0ayIgR19ESVJfU0VQQVJBVE9SX1MgImRhdGFiYXNlcyIpOwpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHJl
dmlzaW9uIDE5MjE1NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSwxMCBAQCBOU1N0cmlu
ZyAqV2ViS2l0SlNDSklURW5hYmxlZERlZmF1bHRzS2V5CiBOU1N0cmluZyAqV2ViS2l0SlNDRlRM
SklURW5hYmxlZERlZmF1bHRzS2V5ID0gQCJXZWJLaXRKU0NGVExKSVRFbmFibGVkRGVmYXVsdHNL
ZXkiOwogTlNTdHJpbmcgKldlYktpdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnlEZWZhdWx0c0tl
eSA9IEAiV2ViS2l0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSI7CiAKKyNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQorTlNTdHJpbmcgKldlYktpdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VE
aXJlY3RvcnlEZWZhdWx0c0tleSA9IEAiV2ViS2l0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFn
ZURpcmVjdG9yeSI7CisjZW5kaWYKKwogI2lmICFQTEFURk9STShJT1MpCiBzdGF0aWMgTlNTdHJp
bmcgKldlYktpdEFwcGxpY2F0aW9uRGlkQ2hhbmdlQWNjZXNzaWJpbGl0eUVuaGFuY2VkVXNlcklu
dGVyZmFjZU5vdGlmaWNhdGlvbiA9IEAiTlNBcHBsaWNhdGlvbkRpZENoYW5nZUFjY2Vzc2liaWxp
dHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb24iOwogI2VuZGlmCkBAIC0zNjgsNiAr
MzcyLDE4IEBAIFN0cmluZyBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWYKICAgICBy
ZXR1cm4gc3RyaW5nQnlSZXNvbHZpbmdTeW1saW5rc0luUGF0aChbbWVkaWFLZXlzU3RvcmFnZURp
cmVjdG9yeSBzdHJpbmdCeVN0YW5kYXJkaXppbmdQYXRoXSk7CiB9CiAKKyNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQorU3RyaW5nIFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRN
ZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5KCkKK3sKKyAgICByZWdpc3RlclVz
ZXJEZWZhdWx0c0lmTmVlZGVkKCk7CisKKyAgICBOU1N0cmluZyAqbWVkaWFLZXlzU3RvcmFnZURp
cmVjdG9yeSA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIG9iamVjdEZv
cktleTpXZWJLaXRNZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5RGVmYXVsdHNL
ZXldOworICAgIGlmICghbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSB8fCAhW21lZGlhS2V5c1N0
b3JhZ2VEaXJlY3RvcnkgaXNLaW5kT2ZDbGFzczpbTlNTdHJpbmcgY2xhc3NdXSkKKyAgICAgICAg
bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSA9IEAifi9MaWJyYXJ5L1dlYktpdC9NZWRpYURldmlj
ZUlkZW50aWZpZXIiOworICAgIHJldHVybiBzdHJpbmdCeVJlc29sdmluZ1N5bWxpbmtzSW5QYXRo
KFttZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5IHN0cmluZ0J5U3RhbmRhcmRpemluZ1BhdGhdKTsK
K30KKyNlbmRpZgorCiBTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVs
dEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKQogewogICAgIE5TU3RyaW5nICphcHBOYW1lID0g
W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3Rv
cmUuaAkocmV2aXNpb24gMTkyMTU1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsOSBA
QCBwdWJsaWM6CiAgICAgICAgIFN0cmluZyB3ZWJTUUxEYXRhYmFzZURpcmVjdG9yeTsKICAgICAg
ICAgU3RyaW5nIGxvY2FsU3RvcmFnZURpcmVjdG9yeTsKICAgICAgICAgU3RyaW5nIG1lZGlhS2V5
c1N0b3JhZ2VEaXJlY3Rvcnk7CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICAgICAgU3Ry
aW5nIG1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3Rvcnk7CisjZW5kaWYKICAgICB9
OwogICAgIHN0YXRpYyBSZWY8V2Vic2l0ZURhdGFTdG9yZT4gY3JlYXRlTm9uUGVyc2lzdGVudCgp
OwogICAgIHN0YXRpYyBSZWY8V2Vic2l0ZURhdGFTdG9yZT4gY3JlYXRlKENvbmZpZ3VyYXRpb24p
OwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJQcm9jZXNzUG9vbEVmbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJQcm9jZXNz
UG9vbEVmbC5jcHAJKHJldmlzaW9uIDE5MjE1NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvV2ViUHJvY2Vzc1Bvb2xFZmwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsNiArMTI3
LDEzIEBAIFN0cmluZyBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWYKICAgICByZXR1
cm4gU3RyaW5nOjpmcm9tVVRGOChlZnJlZXRfZGF0YV9ob21lX2dldCgpKSArICIvV2ViS2l0RWZs
L01lZGlhS2V5cyI7CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorU3RyaW5nIFdlYlBy
b2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJTdG9y
YWdlRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChlZnJlZXRfZGF0
YV9ob21lX2dldCgpKSArICIvV2ViS2l0RWZsL01lZGlhRGV2aWNlSWRlbnRpZmllciI7Cit9Cisj
ZW5kaWYKKwogU3RyaW5nIFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHROZXR3
b3JrQ2FjaGVEaXJlY3RvcnkoKQogewogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFKQpJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQcm9jZXNzUG9vbEd0ay5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQcm9jZXNzUG9vbEd0ay5j
cHAJKHJldmlzaW9uIDE5MjE1NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2Vi
UHJvY2Vzc1Bvb2xHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDEsNiArMTQxLDEzIEBAIFN0
cmluZyBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWYKICAgICByZXR1cm4gQVBJOjpX
ZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpOwogfQog
CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK1N0cmluZyBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5
UGxhdGZvcm1EZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeSgpCit7
CisgICAgcmV0dXJuIEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhRGV2aWNlSWRl
bnRpZmllclN0b3JhZ2VEaXJlY3RvcnkoKTsKK30KKyNlbmRpZgorCiBTdHJpbmcgV2ViUHJvY2Vz
c1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE5ldHdvcmtDYWNoZURpcmVjdG9yeSgpCiB7CiAg
ICAgcmV0dXJuIEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE5ldHdvcmtDYWNoZURpcmVj
dG9yeSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265075</attachid>
            <date>2015-11-09 11:11:48 -0800</date>
            <delta_ts>2015-11-09 12:53:29 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>storage_directory_wk2_patch_2.txt</filename>
            <type>text/plain</type>
            <size>15349</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MjE1NSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE1LTExLTA5ICBNYXR0aGV3
IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIExlZ2FjeStEZWZhdWx0IHBs
YXRmb3JtIE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkgY3JlYXRlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3ODMzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChBUEk6OlByb2Nl
c3NQb29sQ29uZmlndXJhdGlvbjo6Y3JlYXRlV2l0aExlZ2FjeU9wdGlvbnMpOgorICAgICAgICAo
QVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbik6
CisgICAgICAgIChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6Y29weSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJzaXRlRGF0YVN0b3JlOjpXZWJzaXRlRGF0YVN0b3JlKToKKyAgICAgICAgKEFQSTo6V2Vi
c2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3Rv
cnkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tOgor
ICAgICAgICAoQVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlm
aWVyU3RvcmFnZURpcmVjdG9yeSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvQVBJV2Vi
c2l0ZURhdGFTdG9yZUd0ay5jcHA6CisgICAgICAgIChBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRl
ZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5KToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRpZmll
clN0b3JhZ2VEaXJlY3RvcnkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OmxlZ2FjeVdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9u
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9lZmwvV2ViUHJvY2Vzc1Bvb2xFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURp
cmVjdG9yeSk6CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJQcm9jZXNzUG9vbEd0ay5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRN
ZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5KToKKwogMjAxNS0xMS0wOSAgQ3Nh
YmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
Q01ha2UgYnVpbGRmaXggYWZ0ZXIgcjE5MjExMy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkocmV2aXNpb24gMTkyMTU1KQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM0
LDYgKzEzNCw5IEBAIHN0YXRpYyBXZWJzaXRlRGF0YVN0b3JlOjpDb25maWd1cmF0aW9uIGwKICAg
ICBjb25maWd1cmF0aW9uLndlYlNRTERhdGFiYXNlRGlyZWN0b3J5ID0gcHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uLndlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCk7CiAgICAgY29uZmlndXJhdGlvbi5h
cHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5ID0gV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3Jt
RGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKTsKICAgICBjb25maWd1cmF0aW9uLm1l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1E
ZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpOworI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCisgICAgY29uZmlndXJhdGlvbi5tZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0
b3J5ID0gV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhRGV2aWNlSWRl
bnRpZmllclN0b3JhZ2VEaXJlY3RvcnkoKTsKKyNlbmRpZgogICAgIGNvbmZpZ3VyYXRpb24ubmV0
d29ya0NhY2hlRGlyZWN0b3J5ID0gV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVs
dE5ldHdvcmtDYWNoZURpcmVjdG9yeSgpOwogCiAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkocmV2aXNpb24g
MTkyMTU1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgJKHdv
cmtpbmcgY29weSkKQEAgLTM2Myw2ICszNjMsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cmlu
ZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpOwogICAg
IHN0YXRpYyBTdHJpbmcgbGVnYWN5UGxhdGZvcm1EZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3Rv
cnkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhS2V5c1N0
b3JhZ2VEaXJlY3RvcnkoKTsKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIHN0YXRpYyBT
dHJpbmcgbGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURp
cmVjdG9yeSgpOworI2VuZGlmCiAgICAgc3RhdGljIFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1
bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCk7CiAgICAgc3RhdGljIFN0cmluZyBsZWdhY3lQ
bGF0Zm9ybURlZmF1bHROZXR3b3JrQ2FjaGVEaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgYm9vbCBp
c05ldHdvcmtDYWNoZUVuYWJsZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHAJKHJl
dmlzaW9uIDE5MjE1NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vz
c1Bvb2xDb25maWd1cmF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsOSBAQCBS
ZWY8UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uPiBQcm9jZXNzUG9vCiAgICAgY29uZmlndXJhdGlv
bi0+bV9pbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSA9IFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6
OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCk7CiAgICAg
Y29uZmlndXJhdGlvbi0+bV9sb2NhbFN0b3JhZ2VEaXJlY3RvcnkgPSBXZWJLaXQ6OldlYlByb2Nl
c3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoKTsKICAg
ICBjb25maWd1cmF0aW9uLT5tX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBXZWJLaXQ6Oldl
YlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0
b3J5KCk7CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBjb25maWd1cmF0aW9uLT5tX21l
ZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkgPSBXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGly
ZWN0b3J5KCk7CisjZW5kaWYKICAgICBjb25maWd1cmF0aW9uLT5tX3dlYlNRTERhdGFiYXNlRGly
ZWN0b3J5ID0gV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0V2Vi
U1FMRGF0YWJhc2VEaXJlY3RvcnkoKTsKIAogICAgIHJldHVybiBjb25maWd1cmF0aW9uOwpAQCAt
NjIsNiArNjUsOSBAQCBQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OlByb2Nlc3NQb29sQ29uCiAg
ICAgLCBtX2xvY2FsU3RvcmFnZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TG9j
YWxTdG9yYWdlRGlyZWN0b3J5KCkpCiAgICAgLCBtX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5KFdl
YnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeSgpKQogICAgICwg
bV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRp
YUtleXNTdG9yYWdlRGlyZWN0b3J5KCkpCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICAs
IG1fbWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3Jl
OjpkZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeSgpKQorI2VuZGlm
CiB7CiB9CiAKQEAgLTg1LDYgKzkxLDkgQEAgUmVmPFByb2Nlc3NQb29sQ29uZmlndXJhdGlvbj4g
UHJvY2Vzc1BvbwogICAgIGNvcHktPm1faW5qZWN0ZWRCdW5kbGVQYXRoID0gdGhpcy0+bV9pbmpl
Y3RlZEJ1bmRsZVBhdGg7CiAgICAgY29weS0+bV9sb2NhbFN0b3JhZ2VEaXJlY3RvcnkgPSB0aGlz
LT5tX2xvY2FsU3RvcmFnZURpcmVjdG9yeTsKICAgICBjb3B5LT5tX21lZGlhS2V5c1N0b3JhZ2VE
aXJlY3RvcnkgPSB0aGlzLT5tX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7CisjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKKyAgICBjb3B5LT5tX21lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VE
aXJlY3RvcnkgPSB0aGlzLT5tX21lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3Rvcnk7
CisjZW5kaWYKICAgICBjb3B5LT5tX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5ID0gdGhpcy0+bV93
ZWJTUUxEYXRhYmFzZURpcmVjdG9yeTsKICAgICBjb3B5LT5tX2NhY2hlUGFydGl0aW9uZWRVUkxT
Y2hlbWVzID0gdGhpcy0+bV9jYWNoZVBhcnRpdGlvbmVkVVJMU2NoZW1lczsKICAgICBjb3B5LT5t
X2Z1bGx5U3luY2hyb25vdXNNb2RlSXNBbGxvd2VkRm9yVGVzdGluZyA9IHRoaXMtPm1fZnVsbHlT
eW5jaHJvbm91c01vZGVJc0FsbG93ZWRGb3JUZXN0aW5nOwpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlv
bi5oCShyZXZpc2lvbiAxOTIxNTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQ
SVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC04NCw2ICs4NCwx
MSBAQCBwdWJsaWM6CiAgICAgY29uc3QgV1RGOjpTdHJpbmcmIG1lZGlhS2V5c1N0b3JhZ2VEaXJl
Y3RvcnkoKSBjb25zdCB7IHJldHVybiBtX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7IH0KICAg
ICB2b2lkIHNldE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoY29uc3QgV1RGOjpTdHJpbmcmIG1l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkpIHsgbV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5ID0g
bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeTsgfQogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
KyAgICBjb25zdCBXVEY6OlN0cmluZyYgbWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVj
dG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVj
dG9yeTsgfQorICAgIHZvaWQgc2V0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9y
eShjb25zdCBXVEY6OlN0cmluZyYgbWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9y
eSkgeyBtX21lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkgPSBtZWRpYURldmlj
ZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5OyB9CisjZW5kaWYKKyAgICAKICAgICBjb25zdCBW
ZWN0b3I8V1RGOjpTdHJpbmc+JiBjYWNoZVBhcnRpdGlvbmVkVVJMU2NoZW1lcygpIHsgcmV0dXJu
IG1fY2FjaGVQYXJ0aXRpb25lZFVSTFNjaGVtZXM7IH0KICAgICB2b2lkIHNldENhY2hlUGFydGl0
aW9uZWRVUkxTY2hlbWVzKFZlY3RvcjxXVEY6OlN0cmluZz4mJiBjYWNoZVBhcnRpdGlvbmVkVVJM
U2NoZW1lcykgeyBtX2NhY2hlUGFydGl0aW9uZWRVUkxTY2hlbWVzID0gV1RGOjptb3ZlKGNhY2hl
UGFydGl0aW9uZWRVUkxTY2hlbWVzKTsgfQogCkBAIC0xMDksNiArMTE0LDkgQEAgcHJpdmF0ZToK
ICAgICBXVEY6OlN0cmluZyBtX2xvY2FsU3RvcmFnZURpcmVjdG9yeTsKICAgICBXVEY6OlN0cmlu
ZyBtX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5OwogICAgIFdURjo6U3RyaW5nIG1fbWVkaWFLZXlz
U3RvcmFnZURpcmVjdG9yeTsKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIFdURjo6U3Ry
aW5nIG1fbWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeTsKKyNlbmRpZgogICAg
IFZlY3RvcjxXVEY6OlN0cmluZz4gbV9jYWNoZVBhcnRpdGlvbmVkVVJMU2NoZW1lczsKICAgICBi
b29sIG1fZnVsbHlTeW5jaHJvbm91c01vZGVJc0FsbG93ZWRGb3JUZXN0aW5nIHsgZmFsc2UgfTsK
ICAgICBWZWN0b3I8V1RGOjpTdHJpbmc+IG1fb3ZlcnJpZGVMYW5ndWFnZXM7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5j
cHAJKHJldmlzaW9uIDE5MjE1NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJ
V2Vic2l0ZURhdGFTdG9yZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEsMTIgQEAg
U3RyaW5nIFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYUtleQogICAgIHJldHVybiBTdHJp
bmcoKTsKIH0KIAorU3RyaW5nIFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYURldmljZUlk
ZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5KCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50Cisg
ICAgcmV0dXJuIFN0cmluZygpOworfQorCiBTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVs
dEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCkKIHsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50
LgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3Jl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRl
RGF0YVN0b3JlLmgJKHJldmlzaW9uIDE5MjE1NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw5
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRJbmRleGVkREJEYXRhYmFzZURp
cmVjdG9yeSgpOwogICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9y
eSgpOwogICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnko
KTsKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1l
ZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkoKTsKKyNlbmRpZgogICAgIHN0YXRp
YyBTdHJpbmcgZGVmYXVsdFdlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCk7CiAKIHByaXZhdGU6Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVdlYnNpdGVEYXRhU3Rv
cmVDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL0FQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQkocmV2aXNpb24gMTkyMTU1KQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29jb2Eu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTcyLDYgKzcyLDEzIEBAIFN0cmluZyBXZWJzaXRlRGF0YVN0
b3JlOjpkZWZhdWx0TWVkaWFLZXkKICAgICByZXR1cm4gd2Vic2l0ZURhdGFEaXJlY3RvcnlGaWxl
U3lzdGVtUmVwcmVzZW50YXRpb24oIk1lZGlhS2V5cyIpOwogfQogCisjaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKK1N0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFEZXZpY2VJZGVu
dGlmaWVyU3RvcmFnZURpcmVjdG9yeSgpCit7CisgICAgcmV0dXJuIHdlYnNpdGVEYXRhRGlyZWN0
b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKCJNZWRpYURldmljZUlkZW50aWZpZXIiKTsKK30K
KyNlbmRpZgorCiBTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdFdlYlNRTERhdGFiYXNl
RGlyZWN0b3J5KCkKIHsKICAgICByZXR1cm4gd2Vic2l0ZURhdGFEaXJlY3RvcnlGaWxlU3lzdGVt
UmVwcmVzZW50YXRpb24oIldlYlNRTCIpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvQVBJV2Vic2l0ZURhdGFTdG9yZUd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvQVBJV2Vic2l0ZURhdGFTdG9yZUd0ay5jcHAJKHJl
dmlzaW9uIDE5MjE1NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL0FQSVdl
YnNpdGVEYXRhU3RvcmVHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2MCwxMyBAQCBT
dHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhS2V5CiAgICAgcmV0dXJuIHdlYnNp
dGVEYXRhRGlyZWN0b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKCJ3ZWJraXRndGsiIEdfRElS
X1NFUEFSQVRPUl9TICJtZWRpYWtleXMiKTsKIH0KIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CitTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0
b3JhZ2VEaXJlY3RvcnkoKQoreworICAgIHJldHVybiB3ZWJzaXRlRGF0YURpcmVjdG9yeUZpbGVT
eXN0ZW1SZXByZXNlbnRhdGlvbigid2Via2l0Z3RrIiBHX0RJUl9TRVBBUkFUT1JfUyAibWVkaWFk
ZXZpY2VpZGVudGlmaWVyIik7Cit9CisjZW5kaWYKKwogU3RyaW5nIFdlYnNpdGVEYXRhU3RvcmU6
OmRlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeSgpCiB7CiAgICAgcmV0dXJuIHdlYnNpdGVE
YXRhRGlyZWN0b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKCJ3ZWJraXRndGsiIEdfRElSX1NF
UEFSQVRPUl9TICJkYXRhYmFzZXMiKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAxOTIxNTUp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bQkod29ya2luZyBjb3B5KQpAQCAtNjksNiArNjksMTAgQEAgTlNTdHJpbmcgKldlYktpdEpTQ0pJ
VEVuYWJsZWREZWZhdWx0c0tleQogTlNTdHJpbmcgKldlYktpdEpTQ0ZUTEpJVEVuYWJsZWREZWZh
dWx0c0tleSA9IEAiV2ViS2l0SlNDRlRMSklURW5hYmxlZERlZmF1bHRzS2V5IjsKIE5TU3RyaW5n
ICpXZWJLaXRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5RGVmYXVsdHNLZXkgPSBAIldlYktpdE1l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkiOwogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK05T
U3RyaW5nICpXZWJLaXRNZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5RGVmYXVs
dHNLZXkgPSBAIldlYktpdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkiOwor
I2VuZGlmCisKICNpZiAhUExBVEZPUk0oSU9TKQogc3RhdGljIE5TU3RyaW5nICpXZWJLaXRBcHBs
aWNhdGlvbkRpZENoYW5nZUFjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VOb3RpZmlj
YXRpb24gPSBAIk5TQXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2Vy
SW50ZXJmYWNlTm90aWZpY2F0aW9uIjsKICNlbmRpZgpAQCAtMzY4LDYgKzM3MiwxOCBAQCBTdHJp
bmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmCiAgICAgcmV0dXJuIHN0cmluZ0J5
UmVzb2x2aW5nU3ltbGlua3NJblBhdGgoW21lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnkgc3RyaW5n
QnlTdGFuZGFyZGl6aW5nUGF0aF0pOwogfQogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK1N0
cmluZyBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFEZXZpY2VJZGVu
dGlmaWVyU3RvcmFnZURpcmVjdG9yeSgpCit7CisgICAgcmVnaXN0ZXJVc2VyRGVmYXVsdHNJZk5l
ZWRlZCgpOworCisgICAgTlNTdHJpbmcgKm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBbW05T
VXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBvYmplY3RGb3JLZXk6V2ViS2l0TWVk
aWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeURlZmF1bHRzS2V5XTsKKyAgICBpZiAo
IW1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgfHwgIVttZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5
IGlzS2luZE9mQ2xhc3M6W05TU3RyaW5nIGNsYXNzXV0pCisgICAgICAgIG1lZGlhS2V5c1N0b3Jh
Z2VEaXJlY3RvcnkgPSBAIn4vTGlicmFyeS9XZWJLaXQvTWVkaWFEZXZpY2VJZGVudGlmaWVyIjsK
KyAgICByZXR1cm4gc3RyaW5nQnlSZXNvbHZpbmdTeW1saW5rc0luUGF0aChbbWVkaWFLZXlzU3Rv
cmFnZURpcmVjdG9yeSBzdHJpbmdCeVN0YW5kYXJkaXppbmdQYXRoXSk7Cit9CisjZW5kaWYKKwog
U3RyaW5nIFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNh
Y2hlRGlyZWN0b3J5KCkKIHsKICAgICBOU1N0cmluZyAqYXBwTmFtZSA9IFtbTlNCdW5kbGUgbWFp
bkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl07CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCShyZXZp
c2lvbiAxOTIxNTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDkgQEAgV2Vic2l0
ZURhdGFTdG9yZTo6V2Vic2l0ZURhdGFTdG9yZShDb25maQogICAgICwgbV93ZWJTUUxEYXRhYmFz
ZURpcmVjdG9yeShXVEY6Om1vdmUoY29uZmlndXJhdGlvbi53ZWJTUUxEYXRhYmFzZURpcmVjdG9y
eSkpCiAgICAgLCBtX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoV1RGOjptb3ZlKGNvbmZpZ3Vy
YXRpb24ubWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSkpCiAgICAgLCBtX3N0b3JhZ2VNYW5hZ2Vy
KFN0b3JhZ2VNYW5hZ2VyOjpjcmVhdGUoV1RGOjptb3ZlKGNvbmZpZ3VyYXRpb24ubG9jYWxTdG9y
YWdlRGlyZWN0b3J5KSkpCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICAsIG1fbWVkaWFE
ZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeShXVEY6Om1vdmUoY29uZmlndXJhdGlvbi5t
ZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5KSkKKyNlbmRpZgogICAgICwgbV9x
dWV1ZShXb3JrUXVldWU6OmNyZWF0ZSgiY29tLmFwcGxlLldlYktpdC5XZWJzaXRlRGF0YVN0b3Jl
IikpCiB7CiAgICAgcGxhdGZvcm1Jbml0aWFsaXplKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgJKHJl
dmlzaW9uIDE5MjE1NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9X
ZWJzaXRlRGF0YVN0b3JlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDkgQEAgcHVibGlj
OgogICAgICAgICBTdHJpbmcgd2ViU1FMRGF0YWJhc2VEaXJlY3Rvcnk7CiAgICAgICAgIFN0cmlu
ZyBsb2NhbFN0b3JhZ2VEaXJlY3Rvcnk7CiAgICAgICAgIFN0cmluZyBtZWRpYUtleXNTdG9yYWdl
RGlyZWN0b3J5OworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgICAgIFN0cmluZyBtZWRp
YURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5OworI2VuZGlmCiAgICAgfTsKICAgICBz
dGF0aWMgUmVmPFdlYnNpdGVEYXRhU3RvcmU+IGNyZWF0ZU5vblBlcnNpc3RlbnQoKTsKICAgICBz
dGF0aWMgUmVmPFdlYnNpdGVEYXRhU3RvcmU+IGNyZWF0ZShDb25maWd1cmF0aW9uKTsKQEAgLTEx
NCw2ICsxMTcsOSBAQCBwcml2YXRlOgogICAgIGNvbnN0IFN0cmluZyBtX3dlYlNRTERhdGFiYXNl
RGlyZWN0b3J5OwogICAgIGNvbnN0IFN0cmluZyBtX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7
CiAgICAgY29uc3QgUmVmUHRyPFN0b3JhZ2VNYW5hZ2VyPiBtX3N0b3JhZ2VNYW5hZ2VyOworI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgY29uc3QgU3RyaW5nIG1fbWVkaWFEZXZpY2VJZGVu
dGlmaWVyU3RvcmFnZURpcmVjdG9yeTsKKyNlbmRpZgogCiAgICAgUmVmPFdvcmtRdWV1ZT4gbV9x
dWV1ZTsKIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlByb2Nlc3NQ
b29sRWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dl
YlByb2Nlc3NQb29sRWZsLmNwcAkocmV2aXNpb24gMTkyMTU1KQorKysgU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9XZWJQcm9jZXNzUG9vbEVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEy
Nyw2ICsxMjcsMTMgQEAgU3RyaW5nIFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZgog
ICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KGVmcmVldF9kYXRhX2hvbWVfZ2V0KCkpICsgIi9X
ZWJLaXRFZmwvTWVkaWFLZXlzIjsKIH0KIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCitTdHJp
bmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRp
ZmllclN0b3JhZ2VEaXJlY3RvcnkoKQoreworICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KGVm
cmVldF9kYXRhX2hvbWVfZ2V0KCkpICsgIi9XZWJLaXRFZmwvTWVkaWFEZXZpY2VJZGVudGlmaWVy
IjsKK30KKyNlbmRpZgorCiBTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVm
YXVsdE5ldHdvcmtDYWNoZURpcmVjdG9yeSgpCiB7CiAjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEUp
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NQb29sR3RrLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NQ
b29sR3RrLmNwcAkocmV2aXNpb24gMTkyMTU1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2d0ay9XZWJQcm9jZXNzUG9vbEd0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MSw2ICsxNDEs
MTMgQEAgU3RyaW5nIFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZgogICAgIHJldHVy
biBBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5
KCk7CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorU3RyaW5nIFdlYlByb2Nlc3NQb29s
OjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0
b3J5KCkKK3sKKyAgICByZXR1cm4gQVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFE
ZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeSgpOworfQorI2VuZGlmCisKIFN0cmluZyBX
ZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TmV0d29ya0NhY2hlRGlyZWN0b3J5
KCkKIHsKICAgICByZXR1cm4gQVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TmV0d29ya0Nh
Y2hlRGlyZWN0b3J5KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265083</attachid>
            <date>2015-11-09 12:53:29 -0800</date>
            <delta_ts>2016-03-10 11:34:25 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>storage_directory_wk2_patch_3.txt</filename>
            <type>text/plain</type>
            <size>15385</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MjE1NSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDE1LTExLTA5ICBNYXR0aGV3
IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhRGV2aWNlSWRlbnRp
ZmllclN0b3JhZ2VEaXJlY3RvcnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0NzgzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24u
Y3BwOgorICAgICAgICAoQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OmNyZWF0ZVdpdGhM
ZWdhY3lPcHRpb25zKToKKyAgICAgICAgKEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpQ
cm9jZXNzUG9vbENvbmZpZ3VyYXRpb24pOgorICAgICAgICAoQVBJOjpQcm9jZXNzUG9vbENvbmZp
Z3VyYXRpb246OmNvcHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xD
b25maWd1cmF0aW9uLmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRh
U3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpXZWJzaXRlRGF0
YVN0b3JlKToKKyAgICAgICAgKEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhRGV2
aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
QVBJV2Vic2l0ZURhdGFTdG9yZS5oOgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLT3Jp
Z2luRGF0YU1hbmFnZXIuaDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vi
c2l0ZURhdGFTdG9yZUNvY29hLm1tOgorICAgICAgICAoQVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpk
ZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeSk6CisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2d0ay9BUElXZWJzaXRlRGF0YVN0b3JlR3RrLmNwcDoKKyAgICAgICAg
KEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3Jh
Z2VEaXJlY3RvcnkpOgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9y
bURlZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5KToKKworICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmxlZ2Fj
eVdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Bvb2wuaDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlByb2Nlc3NQb29sRWZs
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVm
YXVsdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkpOgorCisgICAgICAgICog
VUlQcm9jZXNzL2d0ay9XZWJQcm9jZXNzUG9vbEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJT
dG9yYWdlRGlyZWN0b3J5KToKKwogMjAxNS0xMS0wOSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3Nz
eUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgQ01ha2UgYnVpbGRmaXggYWZ0ZXIg
cjE5MjExMy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmNwcAkocmV2aXNpb24gMTkyMTU1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM0LDYgKzEzNCw5IEBAIHN0YXRpYyBX
ZWJzaXRlRGF0YVN0b3JlOjpDb25maWd1cmF0aW9uIGwKICAgICBjb25maWd1cmF0aW9uLndlYlNR
TERhdGFiYXNlRGlyZWN0b3J5ID0gcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLndlYlNRTERhdGFi
YXNlRGlyZWN0b3J5KCk7CiAgICAgY29uZmlndXJhdGlvbi5hcHBsaWNhdGlvbkNhY2hlRGlyZWN0
b3J5ID0gV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2Fj
aGVEaXJlY3RvcnkoKTsKICAgICBjb25maWd1cmF0aW9uLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rv
cnkgPSBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFLZXlzU3RvcmFn
ZURpcmVjdG9yeSgpOworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgY29uZmlndXJhdGlv
bi5tZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5ID0gV2ViUHJvY2Vzc1Bvb2w6
OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3Rv
cnkoKTsKKyNlbmRpZgogICAgIGNvbmZpZ3VyYXRpb24ubmV0d29ya0NhY2hlRGlyZWN0b3J5ID0g
V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE5ldHdvcmtDYWNoZURpcmVjdG9y
eSgpOwogCiAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkocmV2aXNpb24gMTkyMTU1KQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2Myw2
ICszNjMsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1
bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpOwogICAgIHN0YXRpYyBTdHJpbmcgbGVnYWN5
UGxhdGZvcm1EZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgU3Ry
aW5nIGxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIHN0YXRpYyBTdHJpbmcgbGVnYWN5UGxhdGZvcm1E
ZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeSgpOworI2VuZGlmCiAg
ICAgc3RhdGljIFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGly
ZWN0b3J5KCk7CiAgICAgc3RhdGljIFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHROZXR3b3Jr
Q2FjaGVEaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgYm9vbCBpc05ldHdvcmtDYWNoZUVuYWJsZWQo
KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHAJKHJldmlzaW9uIDE5MjE1NSkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsOSBAQCBSZWY8UHJvY2Vzc1Bvb2xDb25maWd1
cmF0aW9uPiBQcm9jZXNzUG9vCiAgICAgY29uZmlndXJhdGlvbi0+bV9pbmRleGVkREJEYXRhYmFz
ZURpcmVjdG9yeSA9IFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVs
dEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCk7CiAgICAgY29uZmlndXJhdGlvbi0+bV9sb2Nh
bFN0b3JhZ2VEaXJlY3RvcnkgPSBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9y
bURlZmF1bHRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoKTsKICAgICBjb25maWd1cmF0aW9uLT5tX21l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQ
bGF0Zm9ybURlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCk7CisjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKKyAgICBjb25maWd1cmF0aW9uLT5tX21lZGlhRGV2aWNlSWRlbnRpZmllclN0
b3JhZ2VEaXJlY3RvcnkgPSBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURl
ZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5KCk7CisjZW5kaWYKICAg
ICBjb25maWd1cmF0aW9uLT5tX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3Rvcnko
KTsKIAogICAgIHJldHVybiBjb25maWd1cmF0aW9uOwpAQCAtNjIsNiArNjUsOSBAQCBQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb246OlByb2Nlc3NQb29sQ29uCiAgICAgLCBtX2xvY2FsU3RvcmFnZURp
cmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCkp
CiAgICAgLCBtX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1
bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeSgpKQogICAgICwgbV9tZWRpYUtleXNTdG9yYWdlRGly
ZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5
KCkpCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICAsIG1fbWVkaWFEZXZpY2VJZGVudGlm
aWVyU3RvcmFnZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFEZXZpY2VJ
ZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeSgpKQorI2VuZGlmCiB7CiB9CiAKQEAgLTg1LDYgKzkx
LDkgQEAgUmVmPFByb2Nlc3NQb29sQ29uZmlndXJhdGlvbj4gUHJvY2Vzc1BvbwogICAgIGNvcHkt
Pm1faW5qZWN0ZWRCdW5kbGVQYXRoID0gdGhpcy0+bV9pbmplY3RlZEJ1bmRsZVBhdGg7CiAgICAg
Y29weS0+bV9sb2NhbFN0b3JhZ2VEaXJlY3RvcnkgPSB0aGlzLT5tX2xvY2FsU3RvcmFnZURpcmVj
dG9yeTsKICAgICBjb3B5LT5tX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSB0aGlzLT5tX21l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBj
b3B5LT5tX21lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkgPSB0aGlzLT5tX21l
ZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3Rvcnk7CisjZW5kaWYKICAgICBjb3B5LT5t
X3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5ID0gdGhpcy0+bV93ZWJTUUxEYXRhYmFzZURpcmVjdG9y
eTsKICAgICBjb3B5LT5tX2NhY2hlUGFydGl0aW9uZWRVUkxTY2hlbWVzID0gdGhpcy0+bV9jYWNo
ZVBhcnRpdGlvbmVkVVJMU2NoZW1lczsKICAgICBjb3B5LT5tX2Z1bGx5U3luY2hyb25vdXNNb2Rl
SXNBbGxvd2VkRm9yVGVzdGluZyA9IHRoaXMtPm1fZnVsbHlTeW5jaHJvbm91c01vZGVJc0FsbG93
ZWRGb3JUZXN0aW5nOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oCShyZXZpc2lvbiAxOTIxNTUp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJh
dGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC04NCw2ICs4NCwxMSBAQCBwdWJsaWM6CiAgICAgY29u
c3QgV1RGOjpTdHJpbmcmIG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVy
biBtX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7IH0KICAgICB2b2lkIHNldE1lZGlhS2V5c1N0
b3JhZ2VEaXJlY3RvcnkoY29uc3QgV1RGOjpTdHJpbmcmIG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rv
cnkpIHsgbV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5ID0gbWVkaWFLZXlzU3RvcmFnZURpcmVj
dG9yeTsgfQogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBjb25zdCBXVEY6OlN0cmlu
ZyYgbWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJu
IG1fbWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeTsgfQorICAgIHZvaWQgc2V0
TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeShjb25zdCBXVEY6OlN0cmluZyYg
bWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9yeSkgeyBtX21lZGlhRGV2aWNlSWRl
bnRpZmllclN0b3JhZ2VEaXJlY3RvcnkgPSBtZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGly
ZWN0b3J5OyB9CisjZW5kaWYKKyAgICAKICAgICBjb25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiBj
YWNoZVBhcnRpdGlvbmVkVVJMU2NoZW1lcygpIHsgcmV0dXJuIG1fY2FjaGVQYXJ0aXRpb25lZFVS
TFNjaGVtZXM7IH0KICAgICB2b2lkIHNldENhY2hlUGFydGl0aW9uZWRVUkxTY2hlbWVzKFZlY3Rv
cjxXVEY6OlN0cmluZz4mJiBjYWNoZVBhcnRpdGlvbmVkVVJMU2NoZW1lcykgeyBtX2NhY2hlUGFy
dGl0aW9uZWRVUkxTY2hlbWVzID0gV1RGOjptb3ZlKGNhY2hlUGFydGl0aW9uZWRVUkxTY2hlbWVz
KTsgfQogCkBAIC0xMDksNiArMTE0LDkgQEAgcHJpdmF0ZToKICAgICBXVEY6OlN0cmluZyBtX2xv
Y2FsU3RvcmFnZURpcmVjdG9yeTsKICAgICBXVEY6OlN0cmluZyBtX3dlYlNRTERhdGFiYXNlRGly
ZWN0b3J5OwogICAgIFdURjo6U3RyaW5nIG1fbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeTsKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIFdURjo6U3RyaW5nIG1fbWVkaWFEZXZpY2VJZGVu
dGlmaWVyU3RvcmFnZURpcmVjdG9yeTsKKyNlbmRpZgogICAgIFZlY3RvcjxXVEY6OlN0cmluZz4g
bV9jYWNoZVBhcnRpdGlvbmVkVVJMU2NoZW1lczsKICAgICBib29sIG1fZnVsbHlTeW5jaHJvbm91
c01vZGVJc0FsbG93ZWRGb3JUZXN0aW5nIHsgZmFsc2UgfTsKICAgICBWZWN0b3I8V1RGOjpTdHJp
bmc+IG1fb3ZlcnJpZGVMYW5ndWFnZXM7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5jcHAJKHJldmlzaW9uIDE5MjE1NSkK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEsMTIgQEAgU3RyaW5nIFdlYnNpdGVEYXRhU3Rv
cmU6OmRlZmF1bHRNZWRpYUtleQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAorU3RyaW5nIFdl
YnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0
b3J5KCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50CisgICAgcmV0dXJuIFN0cmluZygpOwor
fQorCiBTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdEluZGV4ZWREQkRhdGFiYXNlRGly
ZWN0b3J5KCkKIHsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50LgpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmgJKHJldmlzaW9u
IDE5MjE1NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFT
dG9yZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw5IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgU3RyaW5nIGRlZmF1bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpOwogICAgIHN0YXRp
YyBTdHJpbmcgZGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgpOwogICAgIHN0YXRpYyBTdHJp
bmcgZGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsKKyNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQorICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0
b3JhZ2VEaXJlY3RvcnkoKTsKKyNlbmRpZgogICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdFdlYlNR
TERhdGFiYXNlRGlyZWN0b3J5KCk7CiAKIHByaXZhdGU6CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL0FQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVdlYnNpdGVEYXRhU3Rv
cmVDb2NvYS5tbQkocmV2aXNpb24gMTkyMTU1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAg
LTcyLDYgKzcyLDEzIEBAIFN0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFLZXkK
ICAgICByZXR1cm4gd2Vic2l0ZURhdGFEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24o
Ik1lZGlhS2V5cyIpOwogfQogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK1N0cmluZyBXZWJz
aXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9y
eSgpCit7CisgICAgcmV0dXJuIHdlYnNpdGVEYXRhRGlyZWN0b3J5RmlsZVN5c3RlbVJlcHJlc2Vu
dGF0aW9uKCJNZWRpYURldmljZUlkZW50aWZpZXIiKTsKK30KKyNlbmRpZgorCiBTdHJpbmcgV2Vi
c2l0ZURhdGFTdG9yZTo6ZGVmYXVsdFdlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCkKIHsKICAgICBy
ZXR1cm4gd2Vic2l0ZURhdGFEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oIldlYlNR
TCIpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvQVBJV2Vic2l0ZURh
dGFTdG9yZUd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvQVBJV2Vic2l0ZURhdGFTdG9yZUd0ay5jcHAJKHJldmlzaW9uIDE5MjE1NSkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL0FQSVdlYnNpdGVEYXRhU3RvcmVHdGsuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2MCwxMyBAQCBTdHJpbmcgV2Vic2l0ZURhdGFTdG9y
ZTo6ZGVmYXVsdE1lZGlhS2V5CiAgICAgcmV0dXJuIHdlYnNpdGVEYXRhRGlyZWN0b3J5RmlsZVN5
c3RlbVJlcHJlc2VudGF0aW9uKCJ3ZWJraXRndGsiIEdfRElSX1NFUEFSQVRPUl9TICJtZWRpYWtl
eXMiKTsKIH0KIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCitTdHJpbmcgV2Vic2l0ZURhdGFT
dG9yZTo6ZGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkoKQorewor
ICAgIHJldHVybiB3ZWJzaXRlRGF0YURpcmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbigi
d2Via2l0Z3RrIiBHX0RJUl9TRVBBUkFUT1JfUyAibWVkaWFkZXZpY2VpZGVudGlmaWVyIik7Cit9
CisjZW5kaWYKKwogU3RyaW5nIFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRXZWJTUUxEYXRhYmFz
ZURpcmVjdG9yeSgpCiB7CiAgICAgcmV0dXJuIHdlYnNpdGVEYXRhRGlyZWN0b3J5RmlsZVN5c3Rl
bVJlcHJlc2VudGF0aW9uKCJ3ZWJraXRndGsiIEdfRElSX1NFUEFSQVRPUl9TICJkYXRhYmFzZXMi
KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENv
Y29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAxOTIxNTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAt
NjksNiArNjksMTAgQEAgTlNTdHJpbmcgKldlYktpdEpTQ0pJVEVuYWJsZWREZWZhdWx0c0tleQog
TlNTdHJpbmcgKldlYktpdEpTQ0ZUTEpJVEVuYWJsZWREZWZhdWx0c0tleSA9IEAiV2ViS2l0SlND
RlRMSklURW5hYmxlZERlZmF1bHRzS2V5IjsKIE5TU3RyaW5nICpXZWJLaXRNZWRpYUtleXNTdG9y
YWdlRGlyZWN0b3J5RGVmYXVsdHNLZXkgPSBAIldlYktpdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rv
cnkiOwogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK05TU3RyaW5nICpXZWJLaXRNZWRpYURl
dmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5RGVmYXVsdHNLZXkgPSBAIldlYktpdE1lZGlh
RGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3RvcnkiOworI2VuZGlmCisKICNpZiAhUExBVEZP
Uk0oSU9TKQogc3RhdGljIE5TU3RyaW5nICpXZWJLaXRBcHBsaWNhdGlvbkRpZENoYW5nZUFjY2Vz
c2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb24gPSBAIk5TQXBwbGljYXRp
b25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlTm90aWZpY2F0aW9u
IjsKICNlbmRpZgpAQCAtMzY4LDYgKzM3MiwxOCBAQCBTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6Omxl
Z2FjeVBsYXRmb3JtRGVmCiAgICAgcmV0dXJuIHN0cmluZ0J5UmVzb2x2aW5nU3ltbGlua3NJblBh
dGgoW21lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnkgc3RyaW5nQnlTdGFuZGFyZGl6aW5nUGF0aF0p
OwogfQogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK1N0cmluZyBXZWJQcm9jZXNzUG9vbDo6
bGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9y
eSgpCit7CisgICAgcmVnaXN0ZXJVc2VyRGVmYXVsdHNJZk5lZWRlZCgpOworCisgICAgTlNTdHJp
bmcgKm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJk
VXNlckRlZmF1bHRzXSBvYmplY3RGb3JLZXk6V2ViS2l0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3Rv
cmFnZURpcmVjdG9yeURlZmF1bHRzS2V5XTsKKyAgICBpZiAoIW1lZGlhS2V5c1N0b3JhZ2VEaXJl
Y3RvcnkgfHwgIVttZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5IGlzS2luZE9mQ2xhc3M6W05TU3Ry
aW5nIGNsYXNzXV0pCisgICAgICAgIG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBAIn4vTGli
cmFyeS9XZWJLaXQvTWVkaWFEZXZpY2VJZGVudGlmaWVyIjsKKyAgICByZXR1cm4gc3RyaW5nQnlS
ZXNvbHZpbmdTeW1saW5rc0luUGF0aChbbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSBzdHJpbmdC
eVN0YW5kYXJkaXppbmdQYXRoXSk7Cit9CisjZW5kaWYKKwogU3RyaW5nIFdlYlByb2Nlc3NQb29s
OjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkKIHsKICAg
ICBOU1N0cmluZyAqYXBwTmFtZSA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRp
Zmllcl07CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0
ZURhdGFTdG9yZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCShyZXZpc2lvbiAxOTIxNTUpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDkgQEAgV2Vic2l0ZURhdGFTdG9yZTo6V2Vic2l0ZURh
dGFTdG9yZShDb25maQogICAgICwgbV93ZWJTUUxEYXRhYmFzZURpcmVjdG9yeShXVEY6Om1vdmUo
Y29uZmlndXJhdGlvbi53ZWJTUUxEYXRhYmFzZURpcmVjdG9yeSkpCiAgICAgLCBtX21lZGlhS2V5
c1N0b3JhZ2VEaXJlY3RvcnkoV1RGOjptb3ZlKGNvbmZpZ3VyYXRpb24ubWVkaWFLZXlzU3RvcmFn
ZURpcmVjdG9yeSkpCiAgICAgLCBtX3N0b3JhZ2VNYW5hZ2VyKFN0b3JhZ2VNYW5hZ2VyOjpjcmVh
dGUoV1RGOjptb3ZlKGNvbmZpZ3VyYXRpb24ubG9jYWxTdG9yYWdlRGlyZWN0b3J5KSkpCisjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICAsIG1fbWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFn
ZURpcmVjdG9yeShXVEY6Om1vdmUoY29uZmlndXJhdGlvbi5tZWRpYURldmljZUlkZW50aWZpZXJT
dG9yYWdlRGlyZWN0b3J5KSkKKyNlbmRpZgogICAgICwgbV9xdWV1ZShXb3JrUXVldWU6OmNyZWF0
ZSgiY29tLmFwcGxlLldlYktpdC5XZWJzaXRlRGF0YVN0b3JlIikpCiB7CiAgICAgcGxhdGZvcm1J
bml0aWFsaXplKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgJKHJldmlzaW9uIDE5MjE1NSkKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDkgQEAgcHVibGljOgogICAgICAgICBTdHJpbmcgd2Vi
U1FMRGF0YWJhc2VEaXJlY3Rvcnk7CiAgICAgICAgIFN0cmluZyBsb2NhbFN0b3JhZ2VEaXJlY3Rv
cnk7CiAgICAgICAgIFN0cmluZyBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OworI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCisgICAgICAgIFN0cmluZyBtZWRpYURldmljZUlkZW50aWZpZXJTdG9y
YWdlRGlyZWN0b3J5OworI2VuZGlmCiAgICAgfTsKICAgICBzdGF0aWMgUmVmPFdlYnNpdGVEYXRh
U3RvcmU+IGNyZWF0ZU5vblBlcnNpc3RlbnQoKTsKICAgICBzdGF0aWMgUmVmPFdlYnNpdGVEYXRh
U3RvcmU+IGNyZWF0ZShDb25maWd1cmF0aW9uKTsKQEAgLTExNCw2ICsxMTcsOSBAQCBwcml2YXRl
OgogICAgIGNvbnN0IFN0cmluZyBtX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5OwogICAgIGNvbnN0
IFN0cmluZyBtX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7CiAgICAgY29uc3QgUmVmUHRyPFN0
b3JhZ2VNYW5hZ2VyPiBtX3N0b3JhZ2VNYW5hZ2VyOworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CisgICAgY29uc3QgU3RyaW5nIG1fbWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFnZURpcmVjdG9y
eTsKKyNlbmRpZgogCiAgICAgUmVmPFdvcmtRdWV1ZT4gbV9xdWV1ZTsKIH07CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlByb2Nlc3NQb29sRWZsLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlByb2Nlc3NQb29sRWZsLmNwcAko
cmV2aXNpb24gMTkyMTU1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJQcm9j
ZXNzUG9vbEVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNyw2ICsxMjcsMTMgQEAgU3RyaW5n
IFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZgogICAgIHJldHVybiBTdHJpbmc6OmZy
b21VVEY4KGVmcmVldF9kYXRhX2hvbWVfZ2V0KCkpICsgIi9XZWJLaXRFZmwvTWVkaWFLZXlzIjsK
IH0KIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCitTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6Omxl
Z2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3Rvcnko
KQoreworICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KGVmcmVldF9kYXRhX2hvbWVfZ2V0KCkp
ICsgIi9XZWJLaXRFZmwvTWVkaWFEZXZpY2VJZGVudGlmaWVyIjsKK30KKyNlbmRpZgorCiBTdHJp
bmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE5ldHdvcmtDYWNoZURpcmVj
dG9yeSgpCiB7CiAjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEUpCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NQb29sR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NQb29sR3RrLmNwcAkocmV2aXNpb24g
MTkyMTU1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQcm9jZXNzUG9vbEd0
ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MSw2ICsxNDEsMTMgQEAgU3RyaW5nIFdlYlByb2Nl
c3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZgogICAgIHJldHVybiBBUEk6OldlYnNpdGVEYXRhU3Rv
cmU6OmRlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCk7CiB9CiAKKyNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQorU3RyaW5nIFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1
bHRNZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4g
QVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TWVkaWFEZXZpY2VJZGVudGlmaWVyU3RvcmFn
ZURpcmVjdG9yeSgpOworfQorI2VuZGlmCisKIFN0cmluZyBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5
UGxhdGZvcm1EZWZhdWx0TmV0d29ya0NhY2hlRGlyZWN0b3J5KCkKIHsKICAgICByZXR1cm4gQVBJ
OjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TmV0d29ya0NhY2hlRGlyZWN0b3J5KCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>