<?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>196971</bug_id>
          
          <creation_ts>2019-04-16 10:51:54 -0700</creation_ts>
          <short_desc>Show prompt for device orientation access if the client does not implement the corresponding API delegate</short_desc>
          <delta_ts>2019-04-16 15:44:01 -0700</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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1527770</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-16 10:51:54 -0700</bug_when>
    <thetext>Show prompt for device orientation access if the client does not implement the corresponding API delegate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527772</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-16 10:53:04 -0700</bug_when>
    <thetext>&lt;rdar://problem/49945840&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527774</commentid>
    <comment_count>2</comment_count>
      <attachid>367545</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-16 10:55:39 -0700</bug_when>
    <thetext>Created attachment 367545
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527786</commentid>
    <comment_count>3</comment_count>
      <attachid>367545</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-16 11:18:47 -0700</bug_when>
    <thetext>Comment on attachment 367545
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WKOrientationAccessAlert.h:31
&gt; +#import &lt;wtf/CompletionHandler.h&gt;
&gt; +#import &lt;wtf/text/WTFString.h&gt;

wtf/Forward.h should have everything necessary for this.

&gt; Source/WebKit/UIProcess/Cocoa/WKOrientationAccessAlert.mm:35
&gt; +    String alertText = makeString(&apos;&quot;&apos;, host, &quot;\&quot; Would Like to Access Motion and Orientation&quot;);

These strings need to be localized.

&gt; Source/WebKit/UIProcess/Cocoa/WKOrientationAccessAlert.mm:40
&gt; +    auto completionBlock = makeBlockPtr([completionHandler = WTFMove(completionHandler)](bool shouldAllow) mutable {

I think this code would look better if we made a BlockPtr twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527798</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-16 11:38:39 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #3)
&gt; Comment on attachment 367545 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=367545&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/WKOrientationAccessAlert.h:31
&gt; &gt; +#import &lt;wtf/CompletionHandler.h&gt;
&gt; &gt; +#import &lt;wtf/text/WTFString.h&gt;
&gt; 
&gt; wtf/Forward.h should have everything necessary for this.

Ok.

&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/WKOrientationAccessAlert.mm:35
&gt; &gt; +    String alertText = makeString(&apos;&quot;&apos;, host, &quot;\&quot; Would Like to Access Motion and Orientation&quot;);
&gt; 
&gt; These strings need to be localized.

Oops.

&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/WKOrientationAccessAlert.mm:40
&gt; &gt; +    auto completionBlock = makeBlockPtr([completionHandler = WTFMove(completionHandler)](bool shouldAllow) mutable {
&gt; 
&gt; I think this code would look better if we made a BlockPtr twice.

How do I make a BlockPtr twice with a single CompletionHandler?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527800</commentid>
    <comment_count>5</comment_count>
      <attachid>367550</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-16 11:44:08 -0700</bug_when>
    <thetext>Created attachment 367550
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527801</commentid>
    <comment_count>6</comment_count>
      <attachid>367550</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-16 11:46:05 -0700</bug_when>
    <thetext>Comment on attachment 367550
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WKOrientationAccessAlert.mm:40
&gt; +    auto completionBlock = makeBlockPtr([completionHandler = WTFMove(completionHandler)](bool shouldAllow) mutable {

Yep, we definitely need something like this.

&gt; Source/WebKit/UIProcess/Cocoa/WKOrientationAccessAlert.mm:44
&gt; +    UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:@&quot;Cancel&quot; style:UIAlertActionStyleCancel handler:[completionBlock](UIAlertAction *action) {

Cancel and Allow also should be localized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527805</commentid>
    <comment_count>7</comment_count>
      <attachid>367551</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-16 11:53:58 -0700</bug_when>
    <thetext>Created attachment 367551
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527839</commentid>
    <comment_count>8</comment_count>
      <attachid>367558</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-16 13:27:40 -0700</bug_when>
    <thetext>Created attachment 367558
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527903</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-16 15:31:43 -0700</bug_when>
    <thetext>Alex, ping review? Does it look good to you now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527907</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-16 15:44:01 -0700</bug_when>
    <thetext>Committed r244360: &lt;https://trac.webkit.org/changeset/244360&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367545</attachid>
            <date>2019-04-16 10:55:39 -0700</date>
            <delta_ts>2019-04-16 11:44:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196971-20190416105538.patch</filename>
            <type>text/plain</type>
            <size>13402</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYzZjk2Mzg1NmMyZDVmYjdk
YjI3OWQxZjU1NjcyMDc1YWVkOTQ4ZmYuLmQ2ZmM3OGMzNmFhNzM0N2U2OTJiNWY2ZTA4MWI1OWQy
YTdkZTg2NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMDQtMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTaG93IHByb21wdCBmb3IgZGV2aWNl
IG9yaWVudGF0aW9uIGFjY2VzcyBpZiB0aGUgY2xpZW50IGRvZXMgbm90IGltcGxlbWVudCB0aGUg
Y29ycmVzcG9uZGluZyBBUEkgZGVsZWdhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5Njk3MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDk5NDU4
NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hv
dyBwcm9tcHQgZm9yIGRldmljZSBvcmllbnRhdGlvbiBhY2Nlc3MgaWYgdGhlIGNsaWVudCBkb2Vz
IG5vdCBpbXBsZW1lbnQgdGhlIGNvcnJlc3BvbmRpbmcKKyAgICAgICAgQVBJIGRlbGVnYXRlLCBp
bnN0ZWFkIG9mIHJlamVjdGluZyBhY2Nlc3MgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpV
SUNsaWVudDo6c2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzcyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oOiBBZGRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1t
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6cHJlc2VudE9yaWVudGF0aW9uQWNjZXNzQWxlcnQp
OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5LTA0
LTE1ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1RLXVtXUEVdIEFkZCBlbmFibGUtbWVkaWEgd2Vic2V0dGluZwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KaW5kZXggYTRhZDg3NzJjYTM3ZGMwODg4ZjY2ZTU5
MDk4OWRiMzBmZTU4Y2IwMi4uNWVhYTI3MTc1ZjBmMWVhNDU1NTEyYjlmNDdjNDg5MDgyOTY3Mjhk
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCkBAIC0z
OSw2ICszOSw3IEBACiAjaW1wb3J0ICJXS05TRGljdGlvbmFyeS5oIgogI2ltcG9ydCAiV0tOYXZp
Z2F0aW9uQWN0aW9uSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLT3BlblBhbmVsUGFyYW1ldGVyc0lu
dGVybmFsLmgiCisjaW1wb3J0ICJXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCIKICNpbXBvcnQg
IldLU2VjdXJpdHlPcmlnaW5JbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tTdG9yYWdlQWNjZXNzQWxl
cnQuaCIKICNpbXBvcnQgIldLVUlEZWxlZ2F0ZVByaXZhdGUuaCIKQEAgLTg0OSwxMyArODUwLDE1
IEBAIGJvb2wgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnJ1bk9wZW5QYW5lbChXZWJQYWdlUHJveHkq
LCBXZWJGcmFtZVByb3h5KiB3ZWJGcmFtZVByCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElP
TikKIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnNob3VsZEFsbG93RGV2aWNlT3JpZW50YXRp
b25BbmRNb3Rpb25BY2Nlc3MoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJGcmFtZVByb3h5JiB3
ZWJGcmFtZVByb3h5LCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHNlY3VyaXR5
T3JpZ2luRGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKLSAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3
U2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc1JlcXVlc3RlZEJ5RnJh
bWVEZWNpc2lvbkhhbmRsZXIpCi0gICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxz
ZSk7Ci0KICAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0KCk7
CiAgICAgaWYgKCFkZWxlZ2F0ZSkKICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZh
bHNlKTsKIAorICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdT
aG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVzdGVkQnlGcmFt
ZURlY2lzaW9uSGFuZGxlcikgeworICAgICAgICBwcmVzZW50T3JpZW50YXRpb25BY2Nlc3NBbGVy
dChtX3VpRGVsZWdhdGUubV93ZWJWaWV3LCBzZWN1cml0eU9yaWdpbkRhdGEuaG9zdCwgV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgYXV0
byBjaGVja2VyID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y3JlYXRlKGRlbGVnYXRl
LmdldCgpLCBAc2VsZWN0b3IoX3dlYlZpZXc6c2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFu
ZE1vdGlvbkFjY2Vzc1JlcXVlc3RlZEJ5RnJhbWU6ZGVjaXNpb25IYW5kbGVyOikpOwogICAgIFso
aWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5t
X3dlYlZpZXcgc2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc1JlcXVl
c3RlZEJ5RnJhbWU6d3JhcHBlcihBUEk6OkZyYW1lSW5mbzo6Y3JlYXRlKHdlYkZyYW1lUHJveHks
IHNlY3VyaXR5T3JpZ2luRGF0YS5zZWN1cml0eU9yaWdpbigpKSkgZGVjaXNpb25IYW5kbGVyOm1h
a2VCbG9ja1B0cihbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSwgY2hlY2tlciA9IFdURk1vdmUoY2hlY2tlcildIChCT09MIGdyYW50ZWQpIG11dGFibGUgewog
ICAgICAgICBpZiAoY2hlY2tlci0+Y29tcGxldGlvbkhhbmRsZXJIYXNCZWVuQ2FsbGVkKCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS09yaWVudGF0aW9uQWNj
ZXNzQWxlcnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25B
Y2Nlc3NBbGVydC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhMDllNDUwOWIyYmU0NmVlMTk4MjVlZGMzODI2MzRi
OGJhOGRiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorCisjaW1w
b3J0IDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgorCitAY2xhc3MgV0tXZWJWaWV3OworCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBw
cmVzZW50T3JpZW50YXRpb25BY2Nlc3NBbGVydChXS1dlYlZpZXcgKiwgY29uc3QgU3RyaW5nJiBo
b3N0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKKworfQorCisjZW5kaWYgLy8g
RU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
ODgxNmViYjI2NDY4NGYxOGMxZjY3MTE3ODBkNzViZTNmYzNhMTk2Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0
Lm1tCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNp
bXBvcnQgIldLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oIgorCisjaW1wb3J0ICJXS1dlYlZpZXdJ
bnRlcm5hbC5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBwcmVzZW50T3JpZW50YXRp
b25BY2Nlc3NBbGVydChXS1dlYlZpZXcgKnZpZXcsIGNvbnN0IFN0cmluZyYgaG9zdCwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBTdHJp
bmcgYWxlcnRUZXh0ID0gbWFrZVN0cmluZygnIicsIGhvc3QsICJcIiBXb3VsZCBMaWtlIHRvIEFj
Y2VzcyBNb3Rpb24gYW5kIE9yaWVudGF0aW9uIik7CisgICAgVUlBbGVydENvbnRyb2xsZXIqIGFs
ZXJ0ID0gW1VJQWxlcnRDb250cm9sbGVyIGFsZXJ0Q29udHJvbGxlcldpdGhUaXRsZTphbGVydFRl
eHQKKyAgICAgICAgbWVzc2FnZTpuaWwKKyAgICAgICAgcHJlZmVycmVkU3R5bGU6VUlBbGVydENv
bnRyb2xsZXJTdHlsZUFsZXJ0XTsKKworICAgIGF1dG8gY29tcGxldGlvbkJsb2NrID0gbWFrZUJs
b2NrUHRyKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShi
b29sIHNob3VsZEFsbG93KSBtdXRhYmxlIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoc2hv
dWxkQWxsb3cpOworICAgIH0pOworCisgICAgVUlBbGVydEFjdGlvbiogY2FuY2VsQWN0aW9uID0g
W1VJQWxlcnRBY3Rpb24gYWN0aW9uV2l0aFRpdGxlOkAiQ2FuY2VsIiBzdHlsZTpVSUFsZXJ0QWN0
aW9uU3R5bGVDYW5jZWwgaGFuZGxlcjpbY29tcGxldGlvbkJsb2NrXShVSUFsZXJ0QWN0aW9uICph
Y3Rpb24pIHsKKyAgICAgICAgY29tcGxldGlvbkJsb2NrKGZhbHNlKTsKKyAgICB9XTsKKyAgICBV
SUFsZXJ0QWN0aW9uKiBhbGxvd0FjdGlvbiA9IFtVSUFsZXJ0QWN0aW9uIGFjdGlvbldpdGhUaXRs
ZTpAIkFsbG93IiBzdHlsZTpVSUFsZXJ0QWN0aW9uU3R5bGVEZWZhdWx0IGhhbmRsZXI6W2NvbXBs
ZXRpb25CbG9ja10oVUlBbGVydEFjdGlvbiAqYWN0aW9uKSB7CisgICAgICAgIGNvbXBsZXRpb25C
bG9jayh0cnVlKTsKKyAgICB9XTsKKyAgICBbYWxlcnQgYWRkQWN0aW9uOmNhbmNlbEFjdGlvbl07
CisgICAgW2FsZXJ0IGFkZEFjdGlvbjphbGxvd0FjdGlvbl07CisKKyAgICBbW1VJVmlld0NvbnRy
b2xsZXIgX3ZpZXdDb250cm9sbGVyRm9yRnVsbFNjcmVlblByZXNlbnRhdGlvbkZyb21WaWV3OnZp
ZXddIHByZXNlbnRWaWV3Q29udHJvbGxlcjphbGVydCBhbmltYXRlZDpZRVMgY29tcGxldGlvbjpu
aWxdOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDRjOTQ2ODk5NDRhNzcxOWMxNzIzZThj
OWRiMzA1ZTNkMWI1YTJhZmQuLjNjZDQ1ODFkOWQ0NTYyZmFiY2QyZGVhNDYwZGYyMTY1NDVhNzQy
ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtOTAxLDYgKzkwMSw4IEBACiAJCTQ2MEY0ODkwMUY5OTZGNzEwMENGNEI4NyAvKiBXZWJT
V0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbk1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjBGNDg4RTFGOTk2RjZDMDBDRjRCODcgLyogV2Vi
U1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb25NZXNzYWdlcy5oICovOyB9OwogCQk0NjNGRDQ4MDFF
Qjk0NTk2MDBBMjk4MkMgLyogV0tQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2M0ZENDdGMUVCOTQ1ODQwMEEy
OTgyQyAvKiBXS1Byb2Nlc3NUZXJtaW5hdGlvblJlYXNvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2M0ZENDgyMUVCOTRFQzAwMEEyOTgyQyAv
KiBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ2M0ZENDgxMUVCOTRFQUQwMEEyOTgyQyAvKiBQcm9jZXNzVGVy
bWluYXRpb25SZWFzb24uaCAqLzsgfTsKKwkJNDY1N0Q4ODkyMjY2NEEyRDAwNURFODIzIC8qIFdL
T3JpZW50YXRpb25BY2Nlc3NBbGVydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDY1N0Q4ODcyMjY2NEExOTAwNURFODIzIC8qIFdLT3JpZW50YXRpb25B
Y2Nlc3NBbGVydC5oICovOyB9OworCQk0NjU3RDg4QTIyNjY0QTJGMDA1REU4MjMgLyogV0tPcmll
bnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDY1N0Q4ODgyMjY2NEExQTAwNURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nl
c3NBbGVydC5tbSAqLzsgfTsKIAkJNDY2QkMwM0MxRkEyNjZEQTAwMkZBOUMxIC8qIFdlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NjZCQzAzOTFGQTI2NkM5MDAyRkE5QzEgLyogV2ViU1dDb250ZXh0TWFu
YWdlckNvbm5lY3Rpb24uaCAqLzsgfTsKIAkJNDY3RTQzRTgyMjQzRkY3RDAwQjEzOTI0IC8qIFdl
YlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NjdFNDNFNzIyNDNGRjZEMDBCMTM5MjQgLyogV2ViUHJvY2Vz
c0RhdGFTdG9yZVBhcmFtZXRlcnMuaCAqLzsgfTsKIAkJNDZBMkI2MDkxRTU2NzZBNjAwQzNERURB
IC8qIEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZBMkI2MDcxRTU2NzVBMjAwQzNERURB
IC8qIEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5oICovOyB9OwpAQCAtMzEy
OCw2ICszMTMwLDggQEAKIAkJNDYzRkQ0ODExRUI5NEVBRDAwQTI5ODJDIC8qIFByb2Nlc3NUZXJt
aW5hdGlvblJlYXNvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm9jZXNz
VGVybWluYXRpb25SZWFzb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY1MUVD
RTYyMjE3OEE4NTAwNjdFQjk1IC8qIFdlYlByb2Nlc3NDYWNoZUNvY29hLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUHJvY2Vzc0NhY2hlQ29jb2EubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NTI1MEU1MUVDRjUyQ0QwMDIwMjVDQiAvKiBX
ZWJLaXQySW5pdGlhbGl6ZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gV2ViS2l0MkluaXRpYWxpemVDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNDY1N0Q4ODcyMjY2NEExOTAwNURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NB
bGVydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS09yaWVudGF0aW9uQWNj
ZXNzQWxlcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDY1N0Q4ODgyMjY2NEEx
QTAwNURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2QkMwMzgxRkEyNjZDOTAwMkZBOUMxIC8qIFdl
YlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2QkMwMzkxRkEyNjZDOTAwMkZBOUMxIC8qIFdlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ2NkJDMDNBMUZBMjY2QzkwMDJGQTlDMSAvKiBXZWJTV0NvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbi5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJTV0NvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTU0MzcsNiArNTQ0MSw4IEBACiAJCQkJMkVDRjY2Q0QyMUQ2Qjc3RTAwOUU1QzNGIC8qIFdL
RWRpdENvbW1hbmQubW0gKi8sCiAJCQkJRTFBRUEyMkQxNDY4N0JEQjAwODA0NTY5IC8qIFdLRnVs
bEtleWJvYXJkQWNjZXNzV2F0Y2hlci5oICovLAogCQkJCUUxQUVBMjJFMTQ2ODdCREIwMDgwNDU2
OSAvKiBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIubW0gKi8sCisJCQkJNDY1N0Q4ODcyMjY2
NEExOTAwNURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oICovLAorCQkJCTQ2NTdE
ODg4MjI2NjRBMUEwMDVERTgyMyAvKiBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW0gKi8sCiAJ
CQkJMUFEMDFCQ0IxOTA1RDU0OTAwQzlDNDVGIC8qIFdLUmVsb2FkRnJhbWVFcnJvclJlY292ZXJ5
QXR0ZW1wdGVyLmggKi8sCiAJCQkJMUFEMDFCQ0ExOTA1RDU0OTAwQzlDNDVGIC8qIFdLUmVsb2Fk
RnJhbWVFcnJvclJlY292ZXJ5QXR0ZW1wdGVyLm1tICovLAogCQkJCTVDQTI2RDgwMjE3QUJCQjYw
MEY5N0EzNSAvKiBXS1NhZmVCcm93c2luZ1dhcm5pbmcuaCAqLywKQEAgLTk5NzMsNiArOTk3OSw3
IEBACiAJCQkJNUMyNjk1ODUyMDA0MzIxMjAwNUM0MzlCIC8qIFdLT3BlblBhbmVsUGFyYW1ldGVy
c1ByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODU3RkU2MTJCODQzRDgwMEVERUIyRSAv
KiBXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMURGRThG
MTJCMzFDQTgwMDVERjczMCAvKiBXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk0NjU3RDg4OTIyNjY0QTJEMDA1REU4MjMgLyogV0tPcmllbnRhdGlvbkFjY2Vz
c0FsZXJ0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Q1OTdENzExMkI1NkRDMDBFQzhDMjMgLyog
V0tQYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Qzg5RDI5QzFBNjc4MzdCMDAzQTVGREUgLyog
V0tQYWdlQ29uZmlndXJhdGlvblJlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCOEExRjgxODQw
MEJCODAwRTlBRTY5IC8qIFdLUGFnZUNvbnRleHRNZW51Q2xpZW50LmggaW4gSGVhZGVycyAqLywK
QEAgLTExMjYzLDYgKzExMjcwLDcgQEAKIAkJCQkyRDkzMTE2OTIxMkY2MUIyMDAwNDRCRkUgLyog
V0tDb250ZW50Vmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEOTMxMTZBMjEyRjYxQjUwMDA0
NEJGRSAvKiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQk2
MzcyODFBMzIxQURDNzQ0MDA5RTBERTYgLyogV0tEb3dubG9hZFByb2dyZXNzLm1tIGluIFNvdXJj
ZXMgKi8sCisJCQkJNDY1N0Q4OEEyMjY2NEEyRjAwNURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nl
c3NBbGVydC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTVDQTI2RDgzMjE3QUQxQjgwMEY5N0EzNSAv
KiBXS1NhZmVCcm93c2luZ1dhcm5pbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQkxREIwMTk0NDIx
MUNGMDA1MDA5RkIzRTggLyogV0tTaGFyZVNoZWV0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0E3
OEZGMzMyMjQxOTE5QjAwOTY0ODNFIC8qIFdLU3RvcmFnZUFjY2Vzc0FsZXJ0Lm1tIGluIFNvdXJj
ZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367550</attachid>
            <date>2019-04-16 11:44:08 -0700</date>
            <delta_ts>2019-04-16 11:53:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196971-20190416114408.patch</filename>
            <type>text/plain</type>
            <size>14224</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYzZjk2Mzg1NmMyZDVmYjdk
YjI3OWQxZjU1NjcyMDc1YWVkOTQ4ZmYuLmQ2ZmM3OGMzNmFhNzM0N2U2OTJiNWY2ZTA4MWI1OWQy
YTdkZTg2NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMDQtMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTaG93IHByb21wdCBmb3IgZGV2aWNl
IG9yaWVudGF0aW9uIGFjY2VzcyBpZiB0aGUgY2xpZW50IGRvZXMgbm90IGltcGxlbWVudCB0aGUg
Y29ycmVzcG9uZGluZyBBUEkgZGVsZWdhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5Njk3MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDk5NDU4
NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hv
dyBwcm9tcHQgZm9yIGRldmljZSBvcmllbnRhdGlvbiBhY2Nlc3MgaWYgdGhlIGNsaWVudCBkb2Vz
IG5vdCBpbXBsZW1lbnQgdGhlIGNvcnJlc3BvbmRpbmcKKyAgICAgICAgQVBJIGRlbGVnYXRlLCBp
bnN0ZWFkIG9mIHJlamVjdGluZyBhY2Nlc3MgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpV
SUNsaWVudDo6c2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzcyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oOiBBZGRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1t
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6cHJlc2VudE9yaWVudGF0aW9uQWNjZXNzQWxlcnQp
OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5LTA0
LTE1ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1RLXVtXUEVdIEFkZCBlbmFibGUtbWVkaWEgd2Vic2V0dGluZwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncyBiL1NvdXJjZS9XZWJDb3JlL2Vu
Lmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MKaW5kZXggZTFkZGM0YjFjNzJmOTk5ODMzOGI1OGVk
ZWY2MzFmNTY5ZTc5MDdkOS4uOWNhNmVjMDFlYjdhYTIzZmI5MjQxMzU2MDM5NDQ5NDQwYWZlNWMy
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5n
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCkBAIC05
NjcsNiArOTY3LDkgQEAKIC8qIG1lc3NhZ2UgaW4gYXV0aGVudGljYXRpb24gcGFuZWwgKi8KICJZ
b3VyIHBhc3N3b3JkIHdpbGwgYmUgc2VudCB1bmVuY3J5cHRlZC4iID0gIllvdXIgcGFzc3dvcmQg
d2lsbCBiZSBzZW50IHVuZW5jcnlwdGVkLiI7CiAKKy8qIE1lc3NhZ2UgZm9yIHJlcXVlc3Rpbmcg
YWNjZXNzIHRvIHRoZSBkZXZpY2UgbW90aW9uIGFuZCBvcmllbnRhdGlvbiAqLworIlwiJUBcIiBX
b3VsZCBMaWtlIHRvIEFjY2VzcyBNb3Rpb24gYW5kIE9yaWVudGF0aW9uIiA9ICJcIiVAXCIgV291
bGQgTGlrZSB0byBBY2Nlc3MgTW90aW9uIGFuZCBPcmllbnRhdGlvbiI7CisKIC8qIEhUVFAgcmVz
dWx0IGNvZGUgc3RyaW5nICovCiAiYWNjZXB0ZWQiID0gImFjY2VwdGVkIjsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KaW5kZXggYTRhZDg3NzJjYTM3ZGMw
ODg4ZjY2ZTU5MDk4OWRiMzBmZTU4Y2IwMi4uNWVhYTI3MTc1ZjBmMWVhNDU1NTEyYjlmNDdjNDg5
MDgyOTY3MjhkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlE
ZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
Lm1tCkBAIC0zOSw2ICszOSw3IEBACiAjaW1wb3J0ICJXS05TRGljdGlvbmFyeS5oIgogI2ltcG9y
dCAiV0tOYXZpZ2F0aW9uQWN0aW9uSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLT3BlblBhbmVsUGFy
YW1ldGVyc0ludGVybmFsLmgiCisjaW1wb3J0ICJXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCIK
ICNpbXBvcnQgIldLU2VjdXJpdHlPcmlnaW5JbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tTdG9yYWdl
QWNjZXNzQWxlcnQuaCIKICNpbXBvcnQgIldLVUlEZWxlZ2F0ZVByaXZhdGUuaCIKQEAgLTg0OSwx
MyArODUwLDE1IEBAIGJvb2wgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnJ1bk9wZW5QYW5lbChXZWJQ
YWdlUHJveHkqLCBXZWJGcmFtZVByb3h5KiB3ZWJGcmFtZVByCiAjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnNob3VsZEFsbG93RGV2aWNl
T3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3MoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJGcmFt
ZVByb3h5JiB3ZWJGcmFtZVByb3h5LCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEm
IHNlY3VyaXR5T3JpZ2luRGF0YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKIHsKLSAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9k
cy53ZWJWaWV3U2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc1JlcXVl
c3RlZEJ5RnJhbWVEZWNpc2lvbkhhbmRsZXIpCi0gICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFu
ZGxlcihmYWxzZSk7Ci0KICAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdh
dGUuZ2V0KCk7CiAgICAgaWYgKCFkZWxlZ2F0ZSkKICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25I
YW5kbGVyKGZhbHNlKTsKIAorICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2Rz
LndlYlZpZXdTaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzUmVxdWVz
dGVkQnlGcmFtZURlY2lzaW9uSGFuZGxlcikgeworICAgICAgICBwcmVzZW50T3JpZW50YXRpb25B
Y2Nlc3NBbGVydChtX3VpRGVsZWdhdGUubV93ZWJWaWV3LCBzZWN1cml0eU9yaWdpbkRhdGEuaG9z
dCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgICAgICByZXR1cm47CisgICAgfQor
CiAgICAgYXV0byBjaGVja2VyID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y3JlYXRl
KGRlbGVnYXRlLmdldCgpLCBAc2VsZWN0b3IoX3dlYlZpZXc6c2hvdWxkQWxsb3dEZXZpY2VPcmll
bnRhdGlvbkFuZE1vdGlvbkFjY2Vzc1JlcXVlc3RlZEJ5RnJhbWU6ZGVjaXNpb25IYW5kbGVyOikp
OwogICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlE
ZWxlZ2F0ZS5tX3dlYlZpZXcgc2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFj
Y2Vzc1JlcXVlc3RlZEJ5RnJhbWU6d3JhcHBlcihBUEk6OkZyYW1lSW5mbzo6Y3JlYXRlKHdlYkZy
YW1lUHJveHksIHNlY3VyaXR5T3JpZ2luRGF0YS5zZWN1cml0eU9yaWdpbigpKSkgZGVjaXNpb25I
YW5kbGVyOm1ha2VCbG9ja1B0cihbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSwgY2hlY2tlciA9IFdURk1vdmUoY2hlY2tlcildIChCT09MIGdyYW50ZWQpIG11
dGFibGUgewogICAgICAgICBpZiAoY2hlY2tlci0+Y29tcGxldGlvbkhhbmRsZXJIYXNCZWVuQ2Fs
bGVkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS09yaWVu
dGF0aW9uQWNjZXNzQWxlcnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLT3Jp
ZW50YXRpb25BY2Nlc3NBbGVydC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0MjJjNmJmNzFmNzI3YjMxNWVhYWZm
ZTNmY2U2MmE2NmMxNWM1NTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaApAQCAtMCwwICsxLDQwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9O
KQorCisjaW1wb3J0IDx3dGYvRm9yd2FyZC5oPgorCitAY2xhc3MgV0tXZWJWaWV3OworCituYW1l
c3BhY2UgV2ViS2l0IHsKKwordm9pZCBwcmVzZW50T3JpZW50YXRpb25BY2Nlc3NBbGVydChXS1dl
YlZpZXcgKiwgY29uc3QgU3RyaW5nJiBob3N0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wp
PiYmKTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NB
bGVydC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nl
c3NBbGVydC5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNWQ2NTc5MjdlMDkxYTFkMmJjNzhhMDRjZTY5ZWJmMDNk
ZTlmZjRmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIldLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5o
IgorCisjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgorI2ltcG9ydCA8V2ViQ29yZS9Mb2Nh
bGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK3ZvaWQgcHJlc2VudE9yaWVudGF0aW9uQWNjZXNzQWxlcnQoV0tXZWJW
aWV3ICp2aWV3LCBjb25zdCBTdHJpbmcmIGhvc3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgTlNTdHJpbmcgKmFsZXJ0VGV4dCA9IFtO
U1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OldFQl9VSV9OU1NUUklORyhAIlwiJUBcIiBXb3VsZCBM
aWtlIHRvIEFjY2VzcyBNb3Rpb24gYW5kIE9yaWVudGF0aW9uIiwgQCJNZXNzYWdlIGZvciByZXF1
ZXN0aW5nIGFjY2VzcyB0byB0aGUgZGV2aWNlIG1vdGlvbiBhbmQgb3JpZW50YXRpb24iKSwgKE5T
U3RyaW5nICopaG9zdF07CisgICAgVUlBbGVydENvbnRyb2xsZXIqIGFsZXJ0ID0gW1VJQWxlcnRD
b250cm9sbGVyIGFsZXJ0Q29udHJvbGxlcldpdGhUaXRsZTphbGVydFRleHQgbWVzc2FnZTpuaWwg
cHJlZmVycmVkU3R5bGU6VUlBbGVydENvbnRyb2xsZXJTdHlsZUFsZXJ0XTsKKworICAgIGF1dG8g
Y29tcGxldGlvbkJsb2NrID0gbWFrZUJsb2NrUHRyKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpXShib29sIHNob3VsZEFsbG93KSBtdXRhYmxlIHsKKyAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoc2hvdWxkQWxsb3cpOworICAgIH0pOworCisgICAgVUlBbGVy
dEFjdGlvbiogY2FuY2VsQWN0aW9uID0gW1VJQWxlcnRBY3Rpb24gYWN0aW9uV2l0aFRpdGxlOkAi
Q2FuY2VsIiBzdHlsZTpVSUFsZXJ0QWN0aW9uU3R5bGVDYW5jZWwgaGFuZGxlcjpbY29tcGxldGlv
bkJsb2NrXShVSUFsZXJ0QWN0aW9uICphY3Rpb24pIHsKKyAgICAgICAgY29tcGxldGlvbkJsb2Nr
KGZhbHNlKTsKKyAgICB9XTsKKyAgICBVSUFsZXJ0QWN0aW9uKiBhbGxvd0FjdGlvbiA9IFtVSUFs
ZXJ0QWN0aW9uIGFjdGlvbldpdGhUaXRsZTpAIkFsbG93IiBzdHlsZTpVSUFsZXJ0QWN0aW9uU3R5
bGVEZWZhdWx0IGhhbmRsZXI6W2NvbXBsZXRpb25CbG9ja10oVUlBbGVydEFjdGlvbiAqYWN0aW9u
KSB7CisgICAgICAgIGNvbXBsZXRpb25CbG9jayh0cnVlKTsKKyAgICB9XTsKKyAgICBbYWxlcnQg
YWRkQWN0aW9uOmNhbmNlbEFjdGlvbl07CisgICAgW2FsZXJ0IGFkZEFjdGlvbjphbGxvd0FjdGlv
bl07CisKKyAgICBbW1VJVmlld0NvbnRyb2xsZXIgX3ZpZXdDb250cm9sbGVyRm9yRnVsbFNjcmVl
blByZXNlbnRhdGlvbkZyb21WaWV3OnZpZXddIHByZXNlbnRWaWV3Q29udHJvbGxlcjphbGVydCBh
bmltYXRlZDpZRVMgY29tcGxldGlvbjpuaWxdOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDRjOTQ2ODk5NDRhNzcxOWMxNzIzZThjOWRiMzA1ZTNkMWI1YTJhZmQuLjNjZDQ1ODFkOWQ0NTYy
ZmFiY2QyZGVhNDYwZGYyMTY1NDVhNzQyZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTAxLDYgKzkwMSw4IEBACiAJCTQ2MEY0ODkw
MUY5OTZGNzEwMENGNEI4NyAvKiBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbk1lc3NhZ2Vz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjBGNDg4
RTFGOTk2RjZDMDBDRjRCODcgLyogV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb25NZXNzYWdl
cy5oICovOyB9OwogCQk0NjNGRDQ4MDFFQjk0NTk2MDBBMjk4MkMgLyogV0tQcm9jZXNzVGVybWlu
YXRpb25SZWFzb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ2M0ZENDdGMUVCOTQ1ODQwMEEyOTgyQyAvKiBXS1Byb2Nlc3NUZXJtaW5hdGlvblJlYXNv
bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2
M0ZENDgyMUVCOTRFQzAwMEEyOTgyQyAvKiBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2M0ZENDgxMUVCOTRF
QUQwMEEyOTgyQyAvKiBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCAqLzsgfTsKKwkJNDY1N0Q4
ODkyMjY2NEEyRDAwNURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY1N0Q4ODcyMjY2NEExOTAw
NURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oICovOyB9OworCQk0NjU3RDg4QTIy
NjY0QTJGMDA1REU4MjMgLyogV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY1N0Q4ODgyMjY2NEExQTAwNURF
ODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbSAqLzsgfTsKIAkJNDY2QkMwM0MxRkEy
NjZEQTAwMkZBOUMxIC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjZCQzAzOTFGQTI2NkM5MDAy
RkE5QzEgLyogV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaCAqLzsgfTsKIAkJNDY3RTQz
RTgyMjQzRkY3RDAwQjEzOTI0IC8qIFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjdFNDNFNzIyNDNG
RjZEMDBCMTM5MjQgLyogV2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMuaCAqLzsgfTsKIAkJ
NDZBMkI2MDkxRTU2NzZBNjAwQzNERURBIC8qIEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5l
c3NUaW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDZBMkI2MDcxRTU2NzVBMjAwQzNERURBIC8qIEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5l
c3NUaW1lci5oICovOyB9OwpAQCAtMzEyOCw2ICszMTMwLDggQEAKIAkJNDYzRkQ0ODExRUI5NEVB
RDAwQTI5ODJDIC8qIFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDY1MUVDRTYyMjE3OEE4NTAwNjdFQjk1IC8qIFdlYlByb2Nlc3ND
YWNoZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2Vi
UHJvY2Vzc0NhY2hlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NTI1
MEU1MUVDRjUyQ0QwMDIwMjVDQiAvKiBXZWJLaXQySW5pdGlhbGl6ZUNvY29hLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViS2l0MkluaXRpYWxpemVDb2NvYS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDY1N0Q4ODcyMjY2NEExOTAwNURFODIz
IC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNDY1N0Q4ODgyMjY2NEExQTAwNURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NB
bGVydC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLT3JpZW50
YXRpb25BY2Nlc3NBbGVydC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2QkMw
MzgxRkEyNjZDOTAwMkZBOUMxIC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlNXQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2QkMwMzkxRkEy
NjZDOTAwMkZBOUMxIC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NkJDMDNBMUZBMjY2QzkwMDJGQTlDMSAv
KiBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU0MzcsNiArNTQ0MSw4IEBACiAJCQkJMkVDRjY2
Q0QyMUQ2Qjc3RTAwOUU1QzNGIC8qIFdLRWRpdENvbW1hbmQubW0gKi8sCiAJCQkJRTFBRUEyMkQx
NDY4N0JEQjAwODA0NTY5IC8qIFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hlci5oICovLAogCQkJ
CUUxQUVBMjJFMTQ2ODdCREIwMDgwNDU2OSAvKiBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIu
bW0gKi8sCisJCQkJNDY1N0Q4ODcyMjY2NEExOTAwNURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nl
c3NBbGVydC5oICovLAorCQkJCTQ2NTdEODg4MjI2NjRBMUEwMDVERTgyMyAvKiBXS09yaWVudGF0
aW9uQWNjZXNzQWxlcnQubW0gKi8sCiAJCQkJMUFEMDFCQ0IxOTA1RDU0OTAwQzlDNDVGIC8qIFdL
UmVsb2FkRnJhbWVFcnJvclJlY292ZXJ5QXR0ZW1wdGVyLmggKi8sCiAJCQkJMUFEMDFCQ0ExOTA1
RDU0OTAwQzlDNDVGIC8qIFdLUmVsb2FkRnJhbWVFcnJvclJlY292ZXJ5QXR0ZW1wdGVyLm1tICov
LAogCQkJCTVDQTI2RDgwMjE3QUJCQjYwMEY5N0EzNSAvKiBXS1NhZmVCcm93c2luZ1dhcm5pbmcu
aCAqLywKQEAgLTk5NzMsNiArOTk3OSw3IEBACiAJCQkJNUMyNjk1ODUyMDA0MzIxMjAwNUM0MzlC
IC8qIFdLT3BlblBhbmVsUGFyYW1ldGVyc1ByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
ODU3RkU2MTJCODQzRDgwMEVERUIyRSAvKiBXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDMURGRThGMTJCMzFDQTgwMDVERjczMCAvKiBXS09wZW5QYW5lbFJl
c3VsdExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0NjU3RDg4OTIyNjY0QTJEMDA1REU4
MjMgLyogV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Q1
OTdENzExMkI1NkRDMDBFQzhDMjMgLyogV0tQYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Qzg5
RDI5QzFBNjc4MzdCMDAzQTVGREUgLyogV0tQYWdlQ29uZmlndXJhdGlvblJlZi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFCOEExRjgxODQwMEJCODAwRTlBRTY5IC8qIFdLUGFnZUNvbnRleHRNZW51
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTExMjYzLDYgKzExMjcwLDcgQEAKIAkJCQkyRDkz
MTE2OTIxMkY2MUIyMDAwNDRCRkUgLyogV0tDb250ZW50Vmlldy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTJEOTMxMTZBMjEyRjYxQjUwMDA0NEJGRSAvKiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
bW0gaW4gU291cmNlcyAqLywKIAkJCQk2MzcyODFBMzIxQURDNzQ0MDA5RTBERTYgLyogV0tEb3du
bG9hZFByb2dyZXNzLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDY1N0Q4OEEyMjY2NEEyRjAwNURF
ODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTVD
QTI2RDgzMjE3QUQxQjgwMEY5N0EzNSAvKiBXS1NhZmVCcm93c2luZ1dhcm5pbmcubW0gaW4gU291
cmNlcyAqLywKIAkJCQkxREIwMTk0NDIxMUNGMDA1MDA5RkIzRTggLyogV0tTaGFyZVNoZWV0Lm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0E3OEZGMzMyMjQxOTE5QjAwOTY0ODNFIC8qIFdLU3RvcmFn
ZUFjY2Vzc0FsZXJ0Lm1tIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367551</attachid>
            <date>2019-04-16 11:53:58 -0700</date>
            <delta_ts>2019-04-16 13:27:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196971-20190416115357.patch</filename>
            <type>text/plain</type>
            <size>15359</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYzZjk2Mzg1NmMyZDVmYjdk
YjI3OWQxZjU1NjcyMDc1YWVkOTQ4ZmYuLmQ2ZmM3OGMzNmFhNzM0N2U2OTJiNWY2ZTA4MWI1OWQy
YTdkZTg2NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMDQtMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTaG93IHByb21wdCBmb3IgZGV2aWNl
IG9yaWVudGF0aW9uIGFjY2VzcyBpZiB0aGUgY2xpZW50IGRvZXMgbm90IGltcGxlbWVudCB0aGUg
Y29ycmVzcG9uZGluZyBBUEkgZGVsZWdhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5Njk3MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDk5NDU4
NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hv
dyBwcm9tcHQgZm9yIGRldmljZSBvcmllbnRhdGlvbiBhY2Nlc3MgaWYgdGhlIGNsaWVudCBkb2Vz
IG5vdCBpbXBsZW1lbnQgdGhlIGNvcnJlc3BvbmRpbmcKKyAgICAgICAgQVBJIGRlbGVnYXRlLCBp
bnN0ZWFkIG9mIHJlamVjdGluZyBhY2Nlc3MgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpV
SUNsaWVudDo6c2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzcyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oOiBBZGRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1t
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6cHJlc2VudE9yaWVudGF0aW9uQWNjZXNzQWxlcnQp
OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5LTA0
LTE1ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1RLXVtXUEVdIEFkZCBlbmFibGUtbWVkaWEgd2Vic2V0dGluZwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncyBiL1NvdXJjZS9XZWJDb3JlL2Vu
Lmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MKaW5kZXggZTFkZGM0YjFjNzJmOTk5ODMzOGI1OGVk
ZWY2MzFmNTY5ZTc5MDdkOS4uZWYzNzk1OTc2OWIwMWJiYTljODI2NWM5NWRlNjQ3YTFlMjlmNDMw
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5n
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCkBAIC0x
MDksNiArMTA5LDkgQEAKIC8qIEJ1dHRvbiB0aXRsZSBpbiBTdG9yYWdlIEFjY2VzcyBBUEkgcHJv
bXB0ICovCiAiQWxsb3cgKGNyb3NzLXNpdGUgY29va2llIGFuZCB3ZWJzaXRlIGRhdGEgYWNjZXNz
KSIgPSAiQWxsb3ciOwogCisvKiBCdXR0b24gdGl0bGUgaW4gRGV2aWNlIE9yaWVudGF0aW9uIFBl
cm1pc3Npb24gQVBJIHByb21wdCAqLworIkFsbG93IChkZXZpY2UgbW90aW9uIGFuZCBvcmllbnRh
dGlvbiBhY2Nlc3MpIiA9ICJBbGxvdyI7CisKIC8qIE1lc3NhZ2UgZm9yIHJlcXVlc3RpbmcgY3Jv
c3Mtc2l0ZSBjb29raWUgYW5kIHdlYnNpdGUgZGF0YSBhY2Nlc3MuICovCiAiQWxsb3cgXCIlQFwi
IHRvIHVzZSBjb29raWVzIGFuZCB3ZWJzaXRlIGRhdGEgd2hpbGUgYnJvd3NpbmcgXCIlQFwiPyIg
PSAiQWxsb3cgXCIlQFwiIHRvIHVzZSBjb29raWVzIGFuZCB3ZWJzaXRlIGRhdGEgd2hpbGUgYnJv
d3NpbmcgXCIlQFwiPyI7CiAKQEAgLTE1NCw2ICsxNTcsOSBAQAogLyogQ2FuY2VsICovCiAiQ2Fu
Y2VsIiA9ICJDYW5jZWwiOwogCisvKiBCdXR0b24gdGl0bGUgaW4gRGV2aWNlIE9yaWVudGF0aW9u
IFBlcm1pc3Npb24gQVBJIHByb21wdCAqLworIkNhbmNlbCAoZGV2aWNlIG1vdGlvbiBhbmQgb3Jp
ZW50YXRpb24gYWNjZXNzKSIgPSAiQ2FuY2VsIjsKKwogLyogVGl0bGUgZm9yIENhbmNlbCBidXR0
b24gbGFiZWwgaW4gYnV0dG9uIGJhciAqLwogIkNhbmNlbCBidXR0b24gbGFiZWwgaW4gYnV0dG9u
IGJhciIgPSAiQ2FuY2VsIjsKIApAQCAtOTY3LDYgKzk3Myw5IEBACiAvKiBtZXNzYWdlIGluIGF1
dGhlbnRpY2F0aW9uIHBhbmVsICovCiAiWW91ciBwYXNzd29yZCB3aWxsIGJlIHNlbnQgdW5lbmNy
eXB0ZWQuIiA9ICJZb3VyIHBhc3N3b3JkIHdpbGwgYmUgc2VudCB1bmVuY3J5cHRlZC4iOwogCisv
KiBNZXNzYWdlIGZvciByZXF1ZXN0aW5nIGFjY2VzcyB0byB0aGUgZGV2aWNlIG1vdGlvbiBhbmQg
b3JpZW50YXRpb24gKi8KKyJcIiVAXCIgV291bGQgTGlrZSB0byBBY2Nlc3MgTW90aW9uIGFuZCBP
cmllbnRhdGlvbiIgPSAiXCIlQFwiIFdvdWxkIExpa2UgdG8gQWNjZXNzIE1vdGlvbiBhbmQgT3Jp
ZW50YXRpb24iOworCiAvKiBIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyAqLwogImFjY2VwdGVkIiA9
ICJhY2NlcHRlZCI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
Lm1tCmluZGV4IGE0YWQ4NzcyY2EzN2RjMDg4OGY2NmU1OTA5ODlkYjMwZmU1OGNiMDIuLjVlYWEy
NzE3NWYwZjFlYTQ1NTUxMmI5ZjQ3YzQ4OTA4Mjk2NzI4ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpAQCAtMzksNiArMzksNyBAQAogI2ltcG9ydCAi
V0tOU0RpY3Rpb25hcnkuaCIKICNpbXBvcnQgIldLTmF2aWdhdGlvbkFjdGlvbkludGVybmFsLmgi
CiAjaW1wb3J0ICJXS09wZW5QYW5lbFBhcmFtZXRlcnNJbnRlcm5hbC5oIgorI2ltcG9ydCAiV0tP
cmllbnRhdGlvbkFjY2Vzc0FsZXJ0LmgiCiAjaW1wb3J0ICJXS1NlY3VyaXR5T3JpZ2luSW50ZXJu
YWwuaCIKICNpbXBvcnQgIldLU3RvcmFnZUFjY2Vzc0FsZXJ0LmgiCiAjaW1wb3J0ICJXS1VJRGVs
ZWdhdGVQcml2YXRlLmgiCkBAIC04NDksMTMgKzg1MCwxNSBAQCBib29sIFVJRGVsZWdhdGU6OlVJ
Q2xpZW50OjpydW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSogd2ViRnJh
bWVQcgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiB2b2lkIFVJRGVsZWdhdGU6OlVJ
Q2xpZW50OjpzaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKFdlYktp
dDo6V2ViUGFnZVByb3h5JiwgV2ViRnJhbWVQcm94eSYgd2ViRnJhbWVQcm94eSwgY29uc3QgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBzZWN1cml0eU9yaWdpbkRhdGEsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgaWYgKCFtX3Vp
RGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1Nob3VsZEFsbG93RGV2aWNlT3JpZW50
YXRpb25BbmRNb3Rpb25BY2Nlc3NSZXF1ZXN0ZWRCeUZyYW1lRGVjaXNpb25IYW5kbGVyKQotICAg
ICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwotCiAgICAgYXV0byBkZWxlZ2F0
ZSA9IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgpOwogICAgIGlmICghZGVsZWdhdGUpCiAg
ICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAKKyAgICBpZiAoIW1fdWlE
ZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3U2hvdWxkQWxsb3dEZXZpY2VPcmllbnRh
dGlvbkFuZE1vdGlvbkFjY2Vzc1JlcXVlc3RlZEJ5RnJhbWVEZWNpc2lvbkhhbmRsZXIpIHsKKyAg
ICAgICAgcHJlc2VudE9yaWVudGF0aW9uQWNjZXNzQWxlcnQobV91aURlbGVnYXRlLm1fd2ViVmll
dywgc2VjdXJpdHlPcmlnaW5EYXRhLmhvc3QsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGF1dG8gY2hlY2tlciA9IENvbXBsZXRpb25I
YW5kbGVyQ2FsbENoZWNrZXI6OmNyZWF0ZShkZWxlZ2F0ZS5nZXQoKSwgQHNlbGVjdG9yKF93ZWJW
aWV3OnNob3VsZEFsbG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NSZXF1ZXN0ZWRC
eUZyYW1lOmRlY2lzaW9uSGFuZGxlcjopKTsKICAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRl
PilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3IHNob3VsZEFsbG93RGV2
aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NSZXF1ZXN0ZWRCeUZyYW1lOndyYXBwZXIoQVBJ
OjpGcmFtZUluZm86OmNyZWF0ZSh3ZWJGcmFtZVByb3h5LCBzZWN1cml0eU9yaWdpbkRhdGEuc2Vj
dXJpdHlPcmlnaW4oKSkpIGRlY2lzaW9uSGFuZGxlcjptYWtlQmxvY2tQdHIoW2NvbXBsZXRpb25I
YW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGNoZWNrZXIgPSBXVEZNb3ZlKGNo
ZWNrZXIpXSAoQk9PTCBncmFudGVkKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKGNoZWNrZXItPmNv
bXBsZXRpb25IYW5kbGVySGFzQmVlbkNhbGxlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0LmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lNDIyYzZiZjcxZjcyN2IzMTVlYWFmZmUzZmNlNjJhNjZjMTVjNTU0Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0Fs
ZXJ0LmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYg
RU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKworI2ltcG9ydCA8d3RmL0ZvcndhcmQuaD4KKwor
QGNsYXNzIFdLV2ViVmlldzsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgcHJlc2VudE9y
aWVudGF0aW9uQWNjZXNzQWxlcnQoV0tXZWJWaWV3ICosIGNvbnN0IFN0cmluZyYgaG9zdCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XS09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XS09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQwMWY2NDEw
MWYxN2UyY2QzYzExYzZmNDRlOTI3ZDRhZmE1NGY1ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbQpAQCAt
MCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJX
S09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCIKKworI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJuYWwu
aCIKKyNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgorI2ltcG9ydCA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIHByZXNlbnRPcmll
bnRhdGlvbkFjY2Vzc0FsZXJ0KFdLV2ViVmlldyAqdmlldywgY29uc3QgU3RyaW5nJiBob3N0LCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAg
IE5TU3RyaW5nICphbGVydFRleHQgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpXRUJfVUlf
TlNTVFJJTkcoQCJcIiVAXCIgV291bGQgTGlrZSB0byBBY2Nlc3MgTW90aW9uIGFuZCBPcmllbnRh
dGlvbiIsIEAiTWVzc2FnZSBmb3IgcmVxdWVzdGluZyBhY2Nlc3MgdG8gdGhlIGRldmljZSBtb3Rp
b24gYW5kIG9yaWVudGF0aW9uIiksIChOU1N0cmluZyAqKWhvc3RdOworICAgIFVJQWxlcnRDb250
cm9sbGVyKiBhbGVydCA9IFtVSUFsZXJ0Q29udHJvbGxlciBhbGVydENvbnRyb2xsZXJXaXRoVGl0
bGU6YWxlcnRUZXh0IG1lc3NhZ2U6bmlsIHByZWZlcnJlZFN0eWxlOlVJQWxlcnRDb250cm9sbGVy
U3R5bGVBbGVydF07CisKKyAgICBhdXRvIGNvbXBsZXRpb25CbG9jayA9IG1ha2VCbG9ja1B0cihb
Y29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oYm9vbCBzaG91
bGRBbGxvdykgbXV0YWJsZSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHNob3VsZEFsbG93
KTsKKyAgICB9KTsKKworICAgIE5TU3RyaW5nICpjYW5jZWxCdXR0b25TdHJpbmcgPSBXRUJfVUlf
U1RSSU5HX0tFWShAIkNhbmNlbCIsICJDYW5jZWwgKGRldmljZSBtb3Rpb24gYW5kIG9yaWVudGF0
aW9uIGFjY2VzcykiLCBAIkJ1dHRvbiB0aXRsZSBpbiBEZXZpY2UgT3JpZW50YXRpb24gUGVybWlz
c2lvbiBBUEkgcHJvbXB0Iik7CisgICAgVUlBbGVydEFjdGlvbiogY2FuY2VsQWN0aW9uID0gW1VJ
QWxlcnRBY3Rpb24gYWN0aW9uV2l0aFRpdGxlOmNhbmNlbEJ1dHRvblN0cmluZyBzdHlsZTpVSUFs
ZXJ0QWN0aW9uU3R5bGVDYW5jZWwgaGFuZGxlcjpbY29tcGxldGlvbkJsb2NrXShVSUFsZXJ0QWN0
aW9uICphY3Rpb24pIHsKKyAgICAgICAgY29tcGxldGlvbkJsb2NrKGZhbHNlKTsKKyAgICB9XTsK
KworICAgIE5TU3RyaW5nICphbGxvd0J1dHRvblN0cmluZyA9IFdFQl9VSV9TVFJJTkdfS0VZKEAi
QWxsb3ciLCAiQWxsb3cgKGRldmljZSBtb3Rpb24gYW5kIG9yaWVudGF0aW9uIGFjY2VzcykiLCBA
IkJ1dHRvbiB0aXRsZSBpbiBEZXZpY2UgT3JpZW50YXRpb24gUGVybWlzc2lvbiBBUEkgcHJvbXB0
Iik7CisgICAgVUlBbGVydEFjdGlvbiogYWxsb3dBY3Rpb24gPSBbVUlBbGVydEFjdGlvbiBhY3Rp
b25XaXRoVGl0bGU6YWxsb3dCdXR0b25TdHJpbmcgc3R5bGU6VUlBbGVydEFjdGlvblN0eWxlRGVm
YXVsdCBoYW5kbGVyOltjb21wbGV0aW9uQmxvY2tdKFVJQWxlcnRBY3Rpb24gKmFjdGlvbikgewor
ICAgICAgICBjb21wbGV0aW9uQmxvY2sodHJ1ZSk7CisgICAgfV07CisgICAgW2FsZXJ0IGFkZEFj
dGlvbjpjYW5jZWxBY3Rpb25dOworICAgIFthbGVydCBhZGRBY3Rpb246YWxsb3dBY3Rpb25dOwor
CisgICAgW1tVSVZpZXdDb250cm9sbGVyIF92aWV3Q29udHJvbGxlckZvckZ1bGxTY3JlZW5QcmVz
ZW50YXRpb25Gcm9tVmlldzp2aWV3XSBwcmVzZW50Vmlld0NvbnRyb2xsZXI6YWxlcnQgYW5pbWF0
ZWQ6WUVTIGNvbXBsZXRpb246bmlsXTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0Yzk0
Njg5OTQ0YTc3MTljMTcyM2U4YzlkYjMwNWUzZDFiNWEyYWZkLi4zY2Q0NTgxZDlkNDU2MmZhYmNk
MmRlYTQ2MGRmMjE2NTQ1YTc0MmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTkwMSw2ICs5MDEsOCBAQAogCQk0NjBGNDg5MDFGOTk2
RjcxMDBDRjRCODcgLyogV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb25NZXNzYWdlcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYwRjQ4OEUxRjk5
NkY2QzAwQ0Y0Qjg3IC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uTWVzc2FnZXMuaCAq
LzsgfTsKIAkJNDYzRkQ0ODAxRUI5NDU5NjAwQTI5ODJDIC8qIFdLUHJvY2Vzc1Rlcm1pbmF0aW9u
UmVhc29uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NjNGRDQ3RjFFQjk0NTg0MDBBMjk4MkMgLyogV0tQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjNGRDQ4
MjFFQjk0RUMwMDBBMjk4MkMgLyogUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjNGRDQ4MTFFQjk0RUFEMDBB
Mjk4MkMgLyogUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uLmggKi87IH07CisJCTQ2NTdEODg5MjI2
NjRBMkQwMDVERTgyMyAvKiBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2NTdEODg3MjI2NjRBMTkwMDVERTgy
MyAvKiBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCAqLzsgfTsKKwkJNDY1N0Q4OEEyMjY2NEEy
RjAwNURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2NTdEODg4MjI2NjRBMUEwMDVERTgyMyAv
KiBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW0gKi87IH07CiAJCTQ2NkJDMDNDMUZBMjY2REEw
MDJGQTlDMSAvKiBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY2QkMwMzkxRkEyNjZDOTAwMkZBOUMx
IC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmggKi87IH07CiAJCTQ2N0U0M0U4MjI0
M0ZGN0QwMEIxMzkyNCAvKiBXZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVycy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY3RTQzRTcyMjQzRkY2RDAw
QjEzOTI0IC8qIFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzLmggKi87IH07CiAJCTQ2QTJC
NjA5MUU1Njc2QTYwMEMzREVEQSAvKiBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QTJC
NjA3MUU1Njc1QTIwMEMzREVEQSAvKiBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuaCAqLzsgfTsKQEAgLTMxMjgsNiArMzEzMCw4IEBACiAJCTQ2M0ZENDgxMUVCOTRFQUQwMEEy
OTgyQyAvKiBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQ2NTFFQ0U2MjIxNzhBODUwMDY3RUI5NSAvKiBXZWJQcm9jZXNzQ2FjaGVD
b2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlByb2Nl
c3NDYWNoZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjUyNTBFNTFF
Q0Y1MkNEMDAyMDI1Q0IgLyogV2ViS2l0MkluaXRpYWxpemVDb2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYktpdDJJbml0aWFsaXplQ29jb2EubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2NTdEODg3MjI2NjRBMTkwMDVERTgyMyAvKiBX
S09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQ2NTdEODg4MjI2NjRBMUEwMDVERTgyMyAvKiBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS09yaWVudGF0aW9u
QWNjZXNzQWxlcnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NkJDMDM4MUZB
MjY2QzkwMDJGQTlDMSAvKiBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NkJDMDM5MUZBMjY2Qzkw
MDJGQTlDMSAvKiBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjZCQzAzQTFGQTI2NkM5MDAyRkE5QzEgLyogV2Vi
U1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW47IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NDM3LDYgKzU0NDEsOCBAQAogCQkJCTJFQ0Y2NkNEMjFE
NkI3N0UwMDlFNUMzRiAvKiBXS0VkaXRDb21tYW5kLm1tICovLAogCQkJCUUxQUVBMjJEMTQ2ODdC
REIwMDgwNDU2OSAvKiBXS0Z1bGxLZXlib2FyZEFjY2Vzc1dhdGNoZXIuaCAqLywKIAkJCQlFMUFF
QTIyRTE0Njg3QkRCMDA4MDQ1NjkgLyogV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLm1tICov
LAorCQkJCTQ2NTdEODg3MjI2NjRBMTkwMDVERTgyMyAvKiBXS09yaWVudGF0aW9uQWNjZXNzQWxl
cnQuaCAqLywKKwkJCQk0NjU3RDg4ODIyNjY0QTFBMDA1REU4MjMgLyogV0tPcmllbnRhdGlvbkFj
Y2Vzc0FsZXJ0Lm1tICovLAogCQkJCTFBRDAxQkNCMTkwNUQ1NDkwMEM5QzQ1RiAvKiBXS1JlbG9h
ZEZyYW1lRXJyb3JSZWNvdmVyeUF0dGVtcHRlci5oICovLAogCQkJCTFBRDAxQkNBMTkwNUQ1NDkw
MEM5QzQ1RiAvKiBXS1JlbG9hZEZyYW1lRXJyb3JSZWNvdmVyeUF0dGVtcHRlci5tbSAqLywKIAkJ
CQk1Q0EyNkQ4MDIxN0FCQkI2MDBGOTdBMzUgLyogV0tTYWZlQnJvd3NpbmdXYXJuaW5nLmggKi8s
CkBAIC05OTczLDYgKzk5NzksNyBAQAogCQkJCTVDMjY5NTg1MjAwNDMyMTIwMDVDNDM5QiAvKiBX
S09wZW5QYW5lbFBhcmFtZXRlcnNQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzg1N0ZF
NjEyQjg0M0Q4MDBFREVCMkUgLyogV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzFERkU4RjEyQjMxQ0E4MDA1REY3MzAgLyogV0tPcGVuUGFuZWxSZXN1bHRM
aXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDY1N0Q4ODkyMjY2NEEyRDAwNURFODIzIC8q
IFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNENTk3RDcx
MTJCNTZEQzAwRUM4QzIzIC8qIFdLUGFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M4OUQyOUMx
QTY3ODM3QjAwM0E1RkRFIC8qIFdLUGFnZUNvbmZpZ3VyYXRpb25SZWYuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBQjhBMUY4MTg0MDBCQjgwMEU5QUU2OSAvKiBXS1BhZ2VDb250ZXh0TWVudUNsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMTI2Myw2ICsxMTI3MCw3IEBACiAJCQkJMkQ5MzExNjky
MTJGNjFCMjAwMDQ0QkZFIC8qIFdLQ29udGVudFZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQky
RDkzMTE2QTIxMkY2MUI1MDAwNDRCRkUgLyogV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNjM3MjgxQTMyMUFEQzc0NDAwOUUwREU2IC8qIFdLRG93bmxvYWRQ
cm9ncmVzcy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTQ2NTdEODhBMjI2NjRBMkYwMDVERTgyMyAv
KiBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW0gaW4gU291cmNlcyAqLywKIAkJCQk1Q0EyNkQ4
MzIxN0FEMUI4MDBGOTdBMzUgLyogV0tTYWZlQnJvd3NpbmdXYXJuaW5nLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMURCMDE5NDQyMTFDRjAwNTAwOUZCM0U4IC8qIFdLU2hhcmVTaGVldC5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTdBNzhGRjMzMjI0MTkxOUIwMDk2NDgzRSAvKiBXS1N0b3JhZ2VBY2Nl
c3NBbGVydC5tbSBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367558</attachid>
            <date>2019-04-16 13:27:40 -0700</date>
            <delta_ts>2019-04-16 15:35:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196971-20190416132739.patch</filename>
            <type>text/plain</type>
            <size>15433</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYzZjk2Mzg1NmMyZDVmYjdk
YjI3OWQxZjU1NjcyMDc1YWVkOTQ4ZmYuLmQ2ZmM3OGMzNmFhNzM0N2U2OTJiNWY2ZTA4MWI1OWQy
YTdkZTg2NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMDQtMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTaG93IHByb21wdCBmb3IgZGV2aWNl
IG9yaWVudGF0aW9uIGFjY2VzcyBpZiB0aGUgY2xpZW50IGRvZXMgbm90IGltcGxlbWVudCB0aGUg
Y29ycmVzcG9uZGluZyBBUEkgZGVsZWdhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5Njk3MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDk5NDU4
NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2hv
dyBwcm9tcHQgZm9yIGRldmljZSBvcmllbnRhdGlvbiBhY2Nlc3MgaWYgdGhlIGNsaWVudCBkb2Vz
IG5vdCBpbXBsZW1lbnQgdGhlIGNvcnJlc3BvbmRpbmcKKyAgICAgICAgQVBJIGRlbGVnYXRlLCBp
bnN0ZWFkIG9mIHJlamVjdGluZyBhY2Nlc3MgYnkgZGVmYXVsdC4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpV
SUNsaWVudDo6c2hvdWxkQWxsb3dEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzcyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oOiBBZGRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1t
OiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6cHJlc2VudE9yaWVudGF0aW9uQWNjZXNzQWxlcnQp
OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5LTA0
LTE1ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1RLXVtXUEVdIEFkZCBlbmFibGUtbWVkaWEgd2Vic2V0dGluZwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncyBiL1NvdXJjZS9XZWJDb3JlL2Vu
Lmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MKaW5kZXggZTFkZGM0YjFjNzJmOTk5ODMzOGI1OGVk
ZWY2MzFmNTY5ZTc5MDdkOS4uZWYzNzk1OTc2OWIwMWJiYTljODI2NWM5NWRlNjQ3YTFlMjlmNDMw
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5n
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCkBAIC0x
MDksNiArMTA5LDkgQEAKIC8qIEJ1dHRvbiB0aXRsZSBpbiBTdG9yYWdlIEFjY2VzcyBBUEkgcHJv
bXB0ICovCiAiQWxsb3cgKGNyb3NzLXNpdGUgY29va2llIGFuZCB3ZWJzaXRlIGRhdGEgYWNjZXNz
KSIgPSAiQWxsb3ciOwogCisvKiBCdXR0b24gdGl0bGUgaW4gRGV2aWNlIE9yaWVudGF0aW9uIFBl
cm1pc3Npb24gQVBJIHByb21wdCAqLworIkFsbG93IChkZXZpY2UgbW90aW9uIGFuZCBvcmllbnRh
dGlvbiBhY2Nlc3MpIiA9ICJBbGxvdyI7CisKIC8qIE1lc3NhZ2UgZm9yIHJlcXVlc3RpbmcgY3Jv
c3Mtc2l0ZSBjb29raWUgYW5kIHdlYnNpdGUgZGF0YSBhY2Nlc3MuICovCiAiQWxsb3cgXCIlQFwi
IHRvIHVzZSBjb29raWVzIGFuZCB3ZWJzaXRlIGRhdGEgd2hpbGUgYnJvd3NpbmcgXCIlQFwiPyIg
PSAiQWxsb3cgXCIlQFwiIHRvIHVzZSBjb29raWVzIGFuZCB3ZWJzaXRlIGRhdGEgd2hpbGUgYnJv
d3NpbmcgXCIlQFwiPyI7CiAKQEAgLTE1NCw2ICsxNTcsOSBAQAogLyogQ2FuY2VsICovCiAiQ2Fu
Y2VsIiA9ICJDYW5jZWwiOwogCisvKiBCdXR0b24gdGl0bGUgaW4gRGV2aWNlIE9yaWVudGF0aW9u
IFBlcm1pc3Npb24gQVBJIHByb21wdCAqLworIkNhbmNlbCAoZGV2aWNlIG1vdGlvbiBhbmQgb3Jp
ZW50YXRpb24gYWNjZXNzKSIgPSAiQ2FuY2VsIjsKKwogLyogVGl0bGUgZm9yIENhbmNlbCBidXR0
b24gbGFiZWwgaW4gYnV0dG9uIGJhciAqLwogIkNhbmNlbCBidXR0b24gbGFiZWwgaW4gYnV0dG9u
IGJhciIgPSAiQ2FuY2VsIjsKIApAQCAtOTY3LDYgKzk3Myw5IEBACiAvKiBtZXNzYWdlIGluIGF1
dGhlbnRpY2F0aW9uIHBhbmVsICovCiAiWW91ciBwYXNzd29yZCB3aWxsIGJlIHNlbnQgdW5lbmNy
eXB0ZWQuIiA9ICJZb3VyIHBhc3N3b3JkIHdpbGwgYmUgc2VudCB1bmVuY3J5cHRlZC4iOwogCisv
KiBNZXNzYWdlIGZvciByZXF1ZXN0aW5nIGFjY2VzcyB0byB0aGUgZGV2aWNlIG1vdGlvbiBhbmQg
b3JpZW50YXRpb24gKi8KKyJcIiVAXCIgV291bGQgTGlrZSB0byBBY2Nlc3MgTW90aW9uIGFuZCBP
cmllbnRhdGlvbiIgPSAiXCIlQFwiIFdvdWxkIExpa2UgdG8gQWNjZXNzIE1vdGlvbiBhbmQgT3Jp
ZW50YXRpb24iOworCiAvKiBIVFRQIHJlc3VsdCBjb2RlIHN0cmluZyAqLwogImFjY2VwdGVkIiA9
ICJhY2NlcHRlZCI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
Lm1tCmluZGV4IGE0YWQ4NzcyY2EzN2RjMDg4OGY2NmU1OTA5ODlkYjMwZmU1OGNiMDIuLjVlYWEy
NzE3NWYwZjFlYTQ1NTUxMmI5ZjQ3YzQ4OTA4Mjk2NzI4ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpAQCAtMzksNiArMzksNyBAQAogI2ltcG9ydCAi
V0tOU0RpY3Rpb25hcnkuaCIKICNpbXBvcnQgIldLTmF2aWdhdGlvbkFjdGlvbkludGVybmFsLmgi
CiAjaW1wb3J0ICJXS09wZW5QYW5lbFBhcmFtZXRlcnNJbnRlcm5hbC5oIgorI2ltcG9ydCAiV0tP
cmllbnRhdGlvbkFjY2Vzc0FsZXJ0LmgiCiAjaW1wb3J0ICJXS1NlY3VyaXR5T3JpZ2luSW50ZXJu
YWwuaCIKICNpbXBvcnQgIldLU3RvcmFnZUFjY2Vzc0FsZXJ0LmgiCiAjaW1wb3J0ICJXS1VJRGVs
ZWdhdGVQcml2YXRlLmgiCkBAIC04NDksMTMgKzg1MCwxNSBAQCBib29sIFVJRGVsZWdhdGU6OlVJ
Q2xpZW50OjpydW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSogd2ViRnJh
bWVQcgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiB2b2lkIFVJRGVsZWdhdGU6OlVJ
Q2xpZW50OjpzaG91bGRBbGxvd0RldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzKFdlYktp
dDo6V2ViUGFnZVByb3h5JiwgV2ViRnJhbWVQcm94eSYgd2ViRnJhbWVQcm94eSwgY29uc3QgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBzZWN1cml0eU9yaWdpbkRhdGEsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgaWYgKCFtX3Vp
RGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1Nob3VsZEFsbG93RGV2aWNlT3JpZW50
YXRpb25BbmRNb3Rpb25BY2Nlc3NSZXF1ZXN0ZWRCeUZyYW1lRGVjaXNpb25IYW5kbGVyKQotICAg
ICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwotCiAgICAgYXV0byBkZWxlZ2F0
ZSA9IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgpOwogICAgIGlmICghZGVsZWdhdGUpCiAg
ICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAKKyAgICBpZiAoIW1fdWlE
ZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3U2hvdWxkQWxsb3dEZXZpY2VPcmllbnRh
dGlvbkFuZE1vdGlvbkFjY2Vzc1JlcXVlc3RlZEJ5RnJhbWVEZWNpc2lvbkhhbmRsZXIpIHsKKyAg
ICAgICAgcHJlc2VudE9yaWVudGF0aW9uQWNjZXNzQWxlcnQobV91aURlbGVnYXRlLm1fd2ViVmll
dywgc2VjdXJpdHlPcmlnaW5EYXRhLmhvc3QsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGF1dG8gY2hlY2tlciA9IENvbXBsZXRpb25I
YW5kbGVyQ2FsbENoZWNrZXI6OmNyZWF0ZShkZWxlZ2F0ZS5nZXQoKSwgQHNlbGVjdG9yKF93ZWJW
aWV3OnNob3VsZEFsbG93RGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NSZXF1ZXN0ZWRC
eUZyYW1lOmRlY2lzaW9uSGFuZGxlcjopKTsKICAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRl
PilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3IHNob3VsZEFsbG93RGV2
aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NSZXF1ZXN0ZWRCeUZyYW1lOndyYXBwZXIoQVBJ
OjpGcmFtZUluZm86OmNyZWF0ZSh3ZWJGcmFtZVByb3h5LCBzZWN1cml0eU9yaWdpbkRhdGEuc2Vj
dXJpdHlPcmlnaW4oKSkpIGRlY2lzaW9uSGFuZGxlcjptYWtlQmxvY2tQdHIoW2NvbXBsZXRpb25I
YW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGNoZWNrZXIgPSBXVEZNb3ZlKGNo
ZWNrZXIpXSAoQk9PTCBncmFudGVkKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKGNoZWNrZXItPmNv
bXBsZXRpb25IYW5kbGVySGFzQmVlbkNhbGxlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0LmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lNDIyYzZiZjcxZjcyN2IzMTVlYWFmZmUzZmNlNjJhNjZjMTVjNTU0Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tPcmllbnRhdGlvbkFjY2Vzc0Fs
ZXJ0LmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYg
RU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKworI2ltcG9ydCA8d3RmL0ZvcndhcmQuaD4KKwor
QGNsYXNzIFdLV2ViVmlldzsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgcHJlc2VudE9y
aWVudGF0aW9uQWNjZXNzQWxlcnQoV0tXZWJWaWV3ICosIGNvbnN0IFN0cmluZyYgaG9zdCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XS09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XS09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWE0MGExNGRk
YjUxMGZjODQ4NzI5MWExYzQxMjBlODYxZjQ2NDkzNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbQpAQCAt
MCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJX
S09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaCIKKworI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJ
T04pCisKKyNpbXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgiCisjaW1wb3J0IDxXZWJDb3JlL0xv
Y2FsaXplZFN0cmluZ3MuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1l
c3BhY2UgV2ViS2l0IHsKKwordm9pZCBwcmVzZW50T3JpZW50YXRpb25BY2Nlc3NBbGVydChXS1dl
YlZpZXcgKnZpZXcsIGNvbnN0IFN0cmluZyYgaG9zdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChi
b29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBOU1N0cmluZyAqYWxlcnRUZXh0ID0g
W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6V0VCX1VJX05TU1RSSU5HKEAiXCIlQFwiIFdvdWxk
IExpa2UgdG8gQWNjZXNzIE1vdGlvbiBhbmQgT3JpZW50YXRpb24iLCBAIk1lc3NhZ2UgZm9yIHJl
cXVlc3RpbmcgYWNjZXNzIHRvIHRoZSBkZXZpY2UgbW90aW9uIGFuZCBvcmllbnRhdGlvbiIpLCAo
TlNTdHJpbmcgKilob3N0XTsKKyAgICBVSUFsZXJ0Q29udHJvbGxlciogYWxlcnQgPSBbVUlBbGVy
dENvbnRyb2xsZXIgYWxlcnRDb250cm9sbGVyV2l0aFRpdGxlOmFsZXJ0VGV4dCBtZXNzYWdlOm5p
bCBwcmVmZXJyZWRTdHlsZTpVSUFsZXJ0Q29udHJvbGxlclN0eWxlQWxlcnRdOworCisgICAgYXV0
byBjb21wbGV0aW9uQmxvY2sgPSBtYWtlQmxvY2tQdHIoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcildKGJvb2wgc2hvdWxkQWxsb3cpIG11dGFibGUgeworICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcihzaG91bGRBbGxvdyk7CisgICAgfSk7CisKKyAgICBOU1N0
cmluZyAqY2FuY2VsQnV0dG9uU3RyaW5nID0gV0VCX1VJX1NUUklOR19LRVkoQCJDYW5jZWwiLCAi
Q2FuY2VsIChkZXZpY2UgbW90aW9uIGFuZCBvcmllbnRhdGlvbiBhY2Nlc3MpIiwgQCJCdXR0b24g
dGl0bGUgaW4gRGV2aWNlIE9yaWVudGF0aW9uIFBlcm1pc3Npb24gQVBJIHByb21wdCIpOworICAg
IFVJQWxlcnRBY3Rpb24qIGNhbmNlbEFjdGlvbiA9IFtVSUFsZXJ0QWN0aW9uIGFjdGlvbldpdGhU
aXRsZTpjYW5jZWxCdXR0b25TdHJpbmcgc3R5bGU6VUlBbGVydEFjdGlvblN0eWxlQ2FuY2VsIGhh
bmRsZXI6W2NvbXBsZXRpb25CbG9ja10oVUlBbGVydEFjdGlvbiAqYWN0aW9uKSB7CisgICAgICAg
IGNvbXBsZXRpb25CbG9jayhmYWxzZSk7CisgICAgfV07CisKKyAgICBOU1N0cmluZyAqYWxsb3dC
dXR0b25TdHJpbmcgPSBXRUJfVUlfU1RSSU5HX0tFWShAIkFsbG93IiwgIkFsbG93IChkZXZpY2Ug
bW90aW9uIGFuZCBvcmllbnRhdGlvbiBhY2Nlc3MpIiwgQCJCdXR0b24gdGl0bGUgaW4gRGV2aWNl
IE9yaWVudGF0aW9uIFBlcm1pc3Npb24gQVBJIHByb21wdCIpOworICAgIFVJQWxlcnRBY3Rpb24q
IGFsbG93QWN0aW9uID0gW1VJQWxlcnRBY3Rpb24gYWN0aW9uV2l0aFRpdGxlOmFsbG93QnV0dG9u
U3RyaW5nIHN0eWxlOlVJQWxlcnRBY3Rpb25TdHlsZURlZmF1bHQgaGFuZGxlcjpbY29tcGxldGlv
bkJsb2NrXShVSUFsZXJ0QWN0aW9uICphY3Rpb24pIHsKKyAgICAgICAgY29tcGxldGlvbkJsb2Nr
KHRydWUpOworICAgIH1dOworICAgIFthbGVydCBhZGRBY3Rpb246Y2FuY2VsQWN0aW9uXTsKKyAg
ICBbYWxlcnQgYWRkQWN0aW9uOmFsbG93QWN0aW9uXTsKKworICAgIFtbVUlWaWV3Q29udHJvbGxl
ciBfdmlld0NvbnRyb2xsZXJGb3JGdWxsU2NyZWVuUHJlc2VudGF0aW9uRnJvbVZpZXc6dmlld10g
cHJlc2VudFZpZXdDb250cm9sbGVyOmFsZXJ0IGFuaW1hdGVkOllFUyBjb21wbGV0aW9uOm5pbF07
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDRjOTQ2ODk5NDRhNzcxOWMxNzIzZThjOWRiMzA1ZTNkMWI1YTJhZmQuLjNj
ZDQ1ODFkOWQ0NTYyZmFiY2QyZGVhNDYwZGYyMTY1NDVhNzQyZjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTAxLDYgKzkwMSw4IEBA
CiAJCTQ2MEY0ODkwMUY5OTZGNzEwMENGNEI4NyAvKiBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbk1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NjBGNDg4RTFGOTk2RjZDMDBDRjRCODcgLyogV2ViU1dDb250ZXh0TWFuYWdlckNvbm5l
Y3Rpb25NZXNzYWdlcy5oICovOyB9OwogCQk0NjNGRDQ4MDFFQjk0NTk2MDBBMjk4MkMgLyogV0tQ
cm9jZXNzVGVybWluYXRpb25SZWFzb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ2M0ZENDdGMUVCOTQ1ODQwMEEyOTgyQyAvKiBXS1Byb2Nlc3NUZXJt
aW5hdGlvblJlYXNvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTQ2M0ZENDgyMUVCOTRFQzAwMEEyOTgyQyAvKiBQcm9jZXNzVGVybWluYXRpb25S
ZWFzb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2
M0ZENDgxMUVCOTRFQUQwMEEyOTgyQyAvKiBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaCAqLzsg
fTsKKwkJNDY1N0Q4ODkyMjY2NEEyRDAwNURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVy
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY1N0Q4
ODcyMjY2NEExOTAwNURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oICovOyB9Owor
CQk0NjU3RDg4QTIyNjY0QTJGMDA1REU4MjMgLyogV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0Lm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY1N0Q4ODgy
MjY2NEExQTAwNURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbSAqLzsgfTsKIAkJ
NDY2QkMwM0MxRkEyNjZEQTAwMkZBOUMxIC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjZCQzAz
OTFGQTI2NkM5MDAyRkE5QzEgLyogV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaCAqLzsg
fTsKIAkJNDY3RTQzRTgyMjQzRkY3RDAwQjEzOTI0IC8qIFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJh
bWV0ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NjdFNDNFNzIyNDNGRjZEMDBCMTM5MjQgLyogV2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMu
aCAqLzsgfTsKIAkJNDZBMkI2MDkxRTU2NzZBNjAwQzNERURBIC8qIEJhY2tncm91bmRQcm9jZXNz
UmVzcG9uc2l2ZW5lc3NUaW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDZBMkI2MDcxRTU2NzVBMjAwQzNERURBIC8qIEJhY2tncm91bmRQcm9jZXNz
UmVzcG9uc2l2ZW5lc3NUaW1lci5oICovOyB9OwpAQCAtMzEyOCw2ICszMTMwLDggQEAKIAkJNDYz
RkQ0ODExRUI5NEVBRDAwQTI5ODJDIC8qIFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm9jZXNzVGVybWluYXRpb25SZWFzb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY1MUVDRTYyMjE3OEE4NTAwNjdFQjk1IC8q
IFdlYlByb2Nlc3NDYWNoZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gV2ViUHJvY2Vzc0NhY2hlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ2NTI1MEU1MUVDRjUyQ0QwMDIwMjVDQiAvKiBXZWJLaXQySW5pdGlhbGl6ZUNvY29h
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViS2l0MkluaXRp
YWxpemVDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDY1N0Q4ODcyMjY2
NEExOTAwNURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDY1N0Q4ODgyMjY2NEExQTAwNURFODIzIC8qIFdLT3JpZW50
YXRpb25BY2Nlc3NBbGVydC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDY2QkMwMzgxRkEyNjZDOTAwMkZBOUMxIC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDY2QkMwMzkxRkEyNjZDOTAwMkZBOUMxIC8qIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlNXQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NkJDMDNBMUZBMjY2
QzkwMDJGQTlDMSAvKiBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNz
YWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU0MzcsNiArNTQ0MSw4IEBA
CiAJCQkJMkVDRjY2Q0QyMUQ2Qjc3RTAwOUU1QzNGIC8qIFdLRWRpdENvbW1hbmQubW0gKi8sCiAJ
CQkJRTFBRUEyMkQxNDY4N0JEQjAwODA0NTY5IC8qIFdLRnVsbEtleWJvYXJkQWNjZXNzV2F0Y2hl
ci5oICovLAogCQkJCUUxQUVBMjJFMTQ2ODdCREIwMDgwNDU2OSAvKiBXS0Z1bGxLZXlib2FyZEFj
Y2Vzc1dhdGNoZXIubW0gKi8sCisJCQkJNDY1N0Q4ODcyMjY2NEExOTAwNURFODIzIC8qIFdLT3Jp
ZW50YXRpb25BY2Nlc3NBbGVydC5oICovLAorCQkJCTQ2NTdEODg4MjI2NjRBMUEwMDVERTgyMyAv
KiBXS09yaWVudGF0aW9uQWNjZXNzQWxlcnQubW0gKi8sCiAJCQkJMUFEMDFCQ0IxOTA1RDU0OTAw
QzlDNDVGIC8qIFdLUmVsb2FkRnJhbWVFcnJvclJlY292ZXJ5QXR0ZW1wdGVyLmggKi8sCiAJCQkJ
MUFEMDFCQ0ExOTA1RDU0OTAwQzlDNDVGIC8qIFdLUmVsb2FkRnJhbWVFcnJvclJlY292ZXJ5QXR0
ZW1wdGVyLm1tICovLAogCQkJCTVDQTI2RDgwMjE3QUJCQjYwMEY5N0EzNSAvKiBXS1NhZmVCcm93
c2luZ1dhcm5pbmcuaCAqLywKQEAgLTk5NzMsNiArOTk3OSw3IEBACiAJCQkJNUMyNjk1ODUyMDA0
MzIxMjAwNUM0MzlCIC8qIFdLT3BlblBhbmVsUGFyYW1ldGVyc1ByaXZhdGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDODU3RkU2MTJCODQzRDgwMEVERUIyRSAvKiBXS09wZW5QYW5lbFBhcmFtZXRl
cnNSZWYuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMURGRThGMTJCMzFDQTgwMDVERjczMCAvKiBX
S09wZW5QYW5lbFJlc3VsdExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0NjU3RDg4OTIy
NjY0QTJEMDA1REU4MjMgLyogV0tPcmllbnRhdGlvbkFjY2Vzc0FsZXJ0LmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQ0Q1OTdENzExMkI1NkRDMDBFQzhDMjMgLyogV0tQYWdlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3Qzg5RDI5QzFBNjc4MzdCMDAzQTVGREUgLyogV0tQYWdlQ29uZmlndXJhdGlvblJl
Zi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCOEExRjgxODQwMEJCODAwRTlBRTY5IC8qIFdLUGFn
ZUNvbnRleHRNZW51Q2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTExMjYzLDYgKzExMjcwLDcg
QEAKIAkJCQkyRDkzMTE2OTIxMkY2MUIyMDAwNDRCRkUgLyogV0tDb250ZW50Vmlldy5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTJEOTMxMTZBMjEyRjYxQjUwMDA0NEJGRSAvKiBXS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQk2MzcyODFBMzIxQURDNzQ0MDA5RTBE
RTYgLyogV0tEb3dubG9hZFByb2dyZXNzLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDY1N0Q4OEEy
MjY2NEEyRjAwNURFODIzIC8qIFdLT3JpZW50YXRpb25BY2Nlc3NBbGVydC5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTVDQTI2RDgzMjE3QUQxQjgwMEY5N0EzNSAvKiBXS1NhZmVCcm93c2luZ1dhcm5p
bmcubW0gaW4gU291cmNlcyAqLywKIAkJCQkxREIwMTk0NDIxMUNGMDA1MDA5RkIzRTggLyogV0tT
aGFyZVNoZWV0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0E3OEZGMzMyMjQxOTE5QjAwOTY0ODNF
IC8qIFdLU3RvcmFnZUFjY2Vzc0FsZXJ0Lm1tIGluIFNvdXJjZXMgKi8sCg==
</data>
<flag name="review"
          id="383913"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>