<?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>181361</bug_id>
          
          <creation_ts>2018-01-05 19:57:41 -0800</creation_ts>
          <short_desc>[Cocoa] Web Inspector: Provide a way for clients to check if an NSWindow is a Web Inspector window</short_desc>
          <delta_ts>2018-01-19 07:09:38 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>aestes</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>mitz</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1386448</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-01-05 19:57:41 -0800</bug_when>
    <thetext>Provide a way for clients to check if an NSWindow is a Web Inspector window

Currently these are just NSWindows without any reliable way to identify that they are Web Inspector windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386449</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-01-05 20:03:10 -0800</bug_when>
    <thetext>&lt;rdar://problem/36332865&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386450</commentid>
    <comment_count>2</comment_count>
      <attachid>330630</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-01-05 20:06:24 -0800</bug_when>
    <thetext>Created attachment 330630
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386451</commentid>
    <comment_count>3</comment_count>
      <attachid>330631</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-01-05 20:09:41 -0800</bug_when>
    <thetext>Created attachment 330631
[PATCH] Proposed Fix

Sorted the Xcode project.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386452</commentid>
    <comment_count>4</comment_count>
      <attachid>330631</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-01-05 20:10:10 -0800</bug_when>
    <thetext>Comment on attachment 330631
[PATCH] Proposed Fix

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

&gt; Source/WebKit/ChangeLog:15
&gt; +        (-[NSWindow _web_isWebInspectorWindow]):
&gt; +        Method to determing if a window is being used for Web Inspector content.

I used a category for its convenience, but there could be some arguments against this:

  - This doesn&apos;t take into account WebKitLegacy NSWindows.
  - This can just be a isWebInspectorWindow(NSWindow*) utility function exported somewhere instead of a category on NSWindow.

Reviewers, let me know if you think another approach would be preferred.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386457</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-05 20:36:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/36333041&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386603</commentid>
    <comment_count>6</comment_count>
      <attachid>330631</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-01-07 22:43:03 -0800</bug_when>
    <thetext>Comment on attachment 330631
[PATCH] Proposed Fix

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

&gt; Source/WebKit/Shared/API/Cocoa/_WKNSWindowExtras.h:34
&gt; +- (BOOL)_web_isWebInspectorWindow;

&quot;web&quot; was our prefix in Legacy WebKit.

For Modern WebKit, our prefix is &quot;WK&quot;. So maybe this should be _WK_isWebInspectorWindow?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386890</commentid>
    <comment_count>7</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-01-08 13:38:10 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Comment on attachment 330631 [details]
&gt; [PATCH] Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=330631&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/Shared/API/Cocoa/_WKNSWindowExtras.h:34
&gt; &gt; +- (BOOL)_web_isWebInspectorWindow;
&gt; 
&gt; &quot;web&quot; was our prefix in Legacy WebKit.
&gt; 
&gt; For Modern WebKit, our prefix is &quot;WK&quot;. So maybe this should be
&gt; _WK_isWebInspectorWindow?

We seem to continue to use the &quot;_web_&quot; prefix in the Modern WebKit API. For all NS* categories we use &quot;_web_&quot;. While there are instances of &quot;_wk_&quot; they appear to only be on our own WK* classes.

I closed matched these:

Shared/Cocoa/WKNSURLExtras.h
&gt; @interface NSURL (WKExtras)
&gt; + (instancetype)_web_URLWithWTFString:(const String&amp;)string;
&gt; + (instancetype)_web_URLWithWTFString:(const String&amp;)string relativeToURL:(NSURL *)baseURL;
&gt; - (String)_web_originalDataAsWTFString;
&gt; @end

Shared/API/Cocoa/_WKNSFileManagerExtras.h
&gt; @interface NSFileManager (WKExtras)
&gt; + (NSString *)_web_createTemporaryFileForQuickLook:(NSString *)fileName;
&gt; @end</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386904</commentid>
    <comment_count>8</comment_count>
      <attachid>330631</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-08 14:01:16 -0800</bug_when>
    <thetext>Comment on attachment 330631
[PATCH] Proposed Fix

Clearing flags on attachment: 330631

Committed r226536: &lt;https://trac.webkit.org/changeset/226536&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386905</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-08 14:01:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1390903</commentid>
    <comment_count>10</comment_count>
      <attachid>330631</attachid>
    <who name="">mitz</who>
    <bug_when>2018-01-19 07:09:38 -0800</bug_when>
    <thetext>Comment on attachment 330631
[PATCH] Proposed Fix

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

&gt;&gt;&gt; Source/WebKit/Shared/API/Cocoa/_WKNSWindowExtras.h:34
&gt;&gt;&gt; +- (BOOL)_web_isWebInspectorWindow;
&gt;&gt; 
&gt;&gt; &quot;web&quot; was our prefix in Legacy WebKit.
&gt;&gt; 
&gt;&gt; For Modern WebKit, our prefix is &quot;WK&quot;. So maybe this should be _WK_isWebInspectorWindow?
&gt; 
&gt; We seem to continue to use the &quot;_web_&quot; prefix in the Modern WebKit API. For all NS* categories we use &quot;_web_&quot;. While there are instances of &quot;_wk_&quot; they appear to only be on our own WK* classes.
&gt; 
&gt; I closed matched these:
&gt; 
&gt; Shared/Cocoa/WKNSURLExtras.h

This declaration is missing an availability annotation.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330630</attachid>
            <date>2018-01-05 20:06:24 -0800</date>
            <delta_ts>2018-01-05 20:09:41 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>window-1.patch</filename>
            <type>text/plain</type>
            <size>17246</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggY2IxMTNlNjk4YjIuLmVkYTcyZWVmNDNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSw1ICsx
LDI5IEBACiAyMDE4LTAxLTA1ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+
CiAKKyAgICAgICAgW0NvY29hXSBXZWIgSW5zcGVjdG9yOiBQcm92aWRlIGEgd2F5IGZvciBjbGll
bnRzIHRvIGNoZWNrIGlmIGFuIE5TV2luZG93IGlzIGEgV2ViIEluc3BlY3RvciB3aW5kb3cKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTM2MQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzYzMzI4NjU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgTmV3IGZpbGVzLgorCisgICAgICAgICogU2hhcmVkL0FQSS9Db2NvYS9fV0tO
U1dpbmRvd0V4dHJhcy5oOiBBZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvQVBJL0NvY29hL19XS05T
V2luZG93RXh0cmFzLm1tOiBBZGRlZC4KKyAgICAgICAgKC1bTlNXaW5kb3cgX3dlYl9pc1dlYklu
c3BlY3RvcldpbmRvd10pOgorICAgICAgICBNZXRob2QgdG8gZGV0ZXJtaW5nIGlmIGEgd2luZG93
IGlzIGJlaW5nIHVzZWQgZm9yIFdlYiBJbnNwZWN0b3IgY29udGVudC4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXaW5kb3cuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL21hYy9XS0luc3BlY3RvcldpbmRvdy5tbTogQWRkZWQuCisgICAgICAgIE5hbWVkIHN1YmNs
YXNzIHNvIHdlIGNhbiB1c2UgaXNLaW5kT2ZDbGFzcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3Rv
clByb3h5OjpjcmVhdGVGcm9udGVuZFdpbmRvdyk6CisgICAgICAgIFVzZSB0aGUgbmFtZWQgc3Vi
Y2xhc3MuCisKKzIwMTgtMDEtMDUgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNv
bT4KKwogICAgICAgICBTZXJ2aWNlV29ya2VyczogRW5hYmxlIFVzZXJUaW1pbmcgLyBSZXNvdXJj
ZVRpbWluZwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgxMjk3CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjMwNzMwNj4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9fV0tOU1dpbmRvd0V4dHJhcy5oIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL19XS05TV2luZG93RXh0cmFzLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjc4YzMyNWRjMDkxCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL19XS05TV2luZG93RXh0cmFzLmgKQEAg
LTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24u
aD4KKworI2lmIFdLX0FQSV9FTkFCTEVECisKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQorCitAaW50
ZXJmYWNlIE5TV2luZG93IChXS0V4dHJhcykKKworLSAoQk9PTClfd2ViX2lzV2ViSW5zcGVjdG9y
V2luZG93OworCitAZW5kCisKKyNlbmRpZiAvLyAhVEFSR0VUX09TX0lQSE9ORQorCisjZW5kaWYg
Ly8gV0tfQVBJX0VOQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9D
b2NvYS9fV0tOU1dpbmRvd0V4dHJhcy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2Nv
YS9fV0tOU1dpbmRvd0V4dHJhcy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMC4uZDNkOTM5ZGYzYWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BUEkvQ29jb2EvX1dLTlNXaW5kb3dFeHRyYXMubW0KQEAgLTAsMCArMSw0NiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiX1dLTlNXaW5kb3dFeHRyYXMuaCIK
KworI2lmIFdLX0FQSV9FTkFCTEVECisKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQorCisjaW1wb3J0
ICJXS0luc3BlY3RvcldpbmRvdy5oIgorCitAaW1wbGVtZW50YXRpb24gTlNXaW5kb3cgKFdLRXh0
cmFzKQorCistIChCT09MKV93ZWJfaXNXZWJJbnNwZWN0b3JXaW5kb3cKK3sKKyAgICByZXR1cm4g
W3NlbGYgaXNLaW5kT2ZDbGFzczpbV0tJbnNwZWN0b3JXaW5kb3cgY2xhc3NdXTsKK30KKworQGVu
ZAorCisjZW5kaWYgLy8gIVRBUkdFVF9PU19JUEhPTkUKKworI2VuZGlmIC8vIFdLX0FQSV9FTkFC
TEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JX
aW5kb3cuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldpbmRvdy5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi40OTIzZTkwYzc5MQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3Rvcldp
bmRvdy5oCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQvV0tG
b3VuZGF0aW9uLmg+CisKKyNpZiBQTEFURk9STShNQUMpICYmIFdLX0FQSV9FTkFCTEVECisKK0Bp
bnRlcmZhY2UgV0tJbnNwZWN0b3JXaW5kb3cgOiBOU1dpbmRvdworQGVuZAorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldpbmRvdy5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldpbmRvdy5tbQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYjA0ZTFjN2Y5YmUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXaW5kb3cu
bW0KQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2lt
cG9ydCAiV0tJbnNwZWN0b3JXaW5kb3cuaCIKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgV0tfQVBJ
X0VOQUJMRUQKKworQGltcGxlbWVudGF0aW9uIFdLSW5zcGVjdG9yV2luZG93CitAZW5kCisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3Rv
clByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclBy
b3h5TWFjLm1tCmluZGV4IGU0NmE3ODdlMTdlLi44MjBkYWY2NThmNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQpAQCAtMzAs
NiArMzAsNyBAQAogCiAjaW1wb3J0ICJXS0luc3BlY3RvclByaXZhdGVNYWMuaCIKICNpbXBvcnQg
IldLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIuaCIKKyNpbXBvcnQgIldLSW5zcGVjdG9yV2luZG93
LmgiCiAjaW1wb3J0ICJXS1ZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJu
YWwuaCIKICNpbXBvcnQgIldlYkluc3BlY3RvclVJTWVzc2FnZXMuaCIKQEAgLTE5MCw3ICsxOTEs
NyBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5Ojp1cGRhdGVJbnNwZWN0b3JXaW5kb3dUaXRsZSgp
IGNvbnN0CiBSZXRhaW5QdHI8TlNXaW5kb3c+IFdlYkluc3BlY3RvclByb3h5OjpjcmVhdGVGcm9u
dGVuZFdpbmRvdyhOU1JlY3Qgc2F2ZWRXaW5kb3dGcmFtZSkKIHsKICAgICBOU1JlY3Qgd2luZG93
RnJhbWUgPSAhTlNJc0VtcHR5UmVjdChzYXZlZFdpbmRvd0ZyYW1lKSA/IHNhdmVkV2luZG93RnJh
bWUgOiBOU01ha2VSZWN0KDAsIDAsIGluaXRpYWxXaW5kb3dXaWR0aCwgaW5pdGlhbFdpbmRvd0hl
aWdodCk7Ci0gICAgYXV0byB3aW5kb3cgPSBhZG9wdE5TKFtbTlNXaW5kb3cgYWxsb2NdIGluaXRX
aXRoQ29udGVudFJlY3Q6d2luZG93RnJhbWUgc3R5bGVNYXNrOndpbmRvd1N0eWxlTWFzayBiYWNr
aW5nOk5TQmFja2luZ1N0b3JlQnVmZmVyZWQgZGVmZXI6Tk9dKTsKKyAgICBhdXRvIHdpbmRvdyA9
IGFkb3B0TlMoW1tXS0luc3BlY3RvcldpbmRvdyBhbGxvY10gaW5pdFdpdGhDb250ZW50UmVjdDp3
aW5kb3dGcmFtZSBzdHlsZU1hc2s6d2luZG93U3R5bGVNYXNrIGJhY2tpbmc6TlNCYWNraW5nU3Rv
cmVCdWZmZXJlZCBkZWZlcjpOT10pOwogICAgIFt3aW5kb3cgc2V0TWluU2l6ZTpOU01ha2VTaXpl
KG1pbmltdW1XaW5kb3dXaWR0aCwgbWluaW11bVdpbmRvd0hlaWdodCldOwogICAgIFt3aW5kb3cg
c2V0UmVsZWFzZWRXaGVuQ2xvc2VkOk5PXTsKICAgICBbd2luZG93IHNldENvbGxlY3Rpb25CZWhh
dmlvcjooW3dpbmRvdyBjb2xsZWN0aW9uQmVoYXZpb3JdIHwgTlNXaW5kb3dDb2xsZWN0aW9uQmVo
YXZpb3JGdWxsU2NyZWVuUHJpbWFyeSldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggY2NjNWU0OTExYzMuLjk0NDFjOGZmNzgxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE1
NjEsNiArMTU2MSwxMCBAQAogCQlBNTVCQTgzNjFCQTNFNzBEMDA3Q0QzM0QgLyogV2ViSW5zcGVj
dG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1NUJBODMyMUJBM0U2RkEwMDdDRDMzRCAvKiBXZWJJbnNwZWN0
b3JGcm9udGVuZEFQSURpc3BhdGNoZXIuY3BwICovOyB9OwogCQlBNThCNkYwODE4RkNBNzMzMDA4
Q0JBNTMgLyogV0tGaWxlVXBsb2FkUGFuZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1OEI2RjA2MThGQ0E3MzMwMDhDQkE1MyAvKiBXS0ZpbGVVcGxv
YWRQYW5lbC5oICovOyB9OwogCQlBNThCNkYwOTE4RkNBNzMzMDA4Q0JBNTMgLyogV0tGaWxlVXBs
b2FkUGFuZWwubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNThCNkYwNzE4RkNBNzMzMDA4Q0JBNTMgLyogV0tGaWxlVXBsb2FkUGFuZWwubW0gKi87IH07
CisJCUE1QzBGMEE3MjAwMDY1NEQwMDUzNjUzNiAvKiBfV0tOU1dpbmRvd0V4dHJhcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDMEYwQTYyMDAwNjU0
NDAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0cmFzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVDMEYwQTgyMDAwNjU1MTAwNTM2NTM2IC8qIF9X
S05TV2luZG93RXh0cmFzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVDMEYwQTUyMDAwNjU0NDAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0cmFzLm1t
ICovOyB9OworCQlBNUMwRjBBQjIwMDA2NTgyMDA1MzY1MzYgLyogV0tJbnNwZWN0b3JXaW5kb3cu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QzBGMEFB
MjAwMDY1NkUwMDUzNjUzNiAvKiBXS0luc3BlY3RvcldpbmRvdy5oICovOyB9OworCQlBNUMwRjBB
QzIwMDA2NTg1MDA1MzY1MzYgLyogV0tJbnNwZWN0b3JXaW5kb3cubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUMwRjBBOTIwMDA2NTZFMDA1MzY1MzYg
LyogV0tJbnNwZWN0b3JXaW5kb3cubW0gKi87IH07CiAJCUE1RDM1MDRFMUQ3OEY1QjMwMDUxMjRB
OSAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RDM1MDREMUQ3OEYwRDIwMDUxMjRBOSAvKiBSZW1v
dGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbSAqLzsgfTsKIAkJQTVFRkQzOEMxNkIwRTg4QzAwQjJG
MEU4IC8qIFdLUGFnZVZpc2liaWxpdHlUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTVFRkQzOEIxNkIwRTg4QzAwQjJGMEU4IC8qIFdLUGFnZVZp
c2liaWxpdHlUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUE3OENDRERBMTkzQUM5RjQwMDVFQ0MyNSAvKiBjb20uYXBwbGUuV2ViS2l0LkRh
dGFiYXNlcy5zYiBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTc4Q0NERDcxOTNBQzlFMzAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2Vz
LnNiICovOyB9OwpAQCAtMzk4Nyw2ICszOTkxLDEwIEBACiAJCUE1NUJBODMzMUJBM0U2RkEwMDdD
RDMzRCAvKiBXZWJJbnNwZWN0b3JGcm9udGVuZEFQSURpc3BhdGNoZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1OEI2RjA2MThGQ0E3MzMwMDhDQkE1MyAv
KiBXS0ZpbGVVcGxvYWRQYW5lbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBX
S0ZpbGVVcGxvYWRQYW5lbC5oOyBwYXRoID0gaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1OEI2RjA3MThGQ0E3MzMwMDhDQkE1MyAv
KiBXS0ZpbGVVcGxvYWRQYW5lbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
bmFtZSA9IFdLRmlsZVVwbG9hZFBhbmVsLm1tOyBwYXRoID0gaW9zL2Zvcm1zL1dLRmlsZVVwbG9h
ZFBhbmVsLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUMwRjBBNTIwMDA2NTQ0
MDA1MzY1MzYgLyogX1dLTlNXaW5kb3dFeHRyYXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBfV0tOU1dpbmRvd0V4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTVDMEYwQTYyMDAwNjU0NDAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0cmFz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS05TV2luZG93RXh0cmFzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QzBGMEE5MjAwMDY1NkUwMDUzNjUzNiAv
KiBXS0luc3BlY3RvcldpbmRvdy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFdLSW5zcGVjdG9yV2luZG93Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNUMwRjBBQTIwMDA2NTZFMDA1MzY1MzYgLyogV0tJbnNwZWN0b3JXaW5kb3cuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tJbnNwZWN0b3JXaW5kb3cuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTVEMzUwNEQxRDc4RjBEMjAwNTEyNEE5IC8qIFJlbW90ZVdl
Ykluc3BlY3RvclByb3h5TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUE1RUZEMzhCMTZCMEU4OEMwMEIyRjBFOCAvKiBXS1BhZ2VWaXNpYmlsaXR5VHlw
ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tQYWdlVmlzaWJpbGl0eVR5
cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MkQ1RDdGMTIzNkNCQTgwMEE4
OEIxNSAvKiBBUElTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC02MDYyLDYgKzYwNzAsOCBAQAogCQkJCTkzQTg4QjNBMUJDNzEwRDkwMEFC
QTVDMiAvKiBfV0tIaXRUZXN0UmVzdWx0SW50ZXJuYWwuaCAqLywKIAkJCQlBMTE4QTlGMTE5MDhC
OEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5oICovLAogCQkJCUExMThBOUYw
MTkwOEI4RUEwMEY3QzkyQiAvKiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLm1tICovLAorCQkJCUE1
QzBGMEE2MjAwMDY1NDQwMDUzNjUzNiAvKiBfV0tOU1dpbmRvd0V4dHJhcy5oICovLAorCQkJCUE1
QzBGMEE1MjAwMDY1NDQwMDUzNjUzNiAvKiBfV0tOU1dpbmRvd0V4dHJhcy5tbSAqLywKIAkJCQkx
QTlFMzI4QjE4MjE2NUE5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLmggKi8s
CiAJCQkJMUE5RTMyOEMxODIxNjVBOTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdEludGVyZmFj
ZS5tbSAqLywKIAkJCQkxQUFCRkUzOTE4MjlDMUVEMDA1QjA3MEUgLyogX1dLUmVtb3RlT2JqZWN0
SW50ZXJmYWNlSW50ZXJuYWwuaCAqLywKQEAgLTc5MzAsNiArNzk0MCw4IEBACiAJCQkJOTk0QkFE
RjIxRjdENzdFQjAwQjU3MUU3IC8qIFdLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0gKi8sCiAJ
CQkJQTUxOEI1RDAxRkUxRDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9yV0tXZWJWaWV3LmggKi8s
CiAJCQkJQTUxOEI1RDExRkUxRDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVjdG9yV0tXZWJWaWV3Lm1t
ICovLAorCQkJCUE1QzBGMEFBMjAwMDY1NkUwMDUzNjUzNiAvKiBXS0luc3BlY3RvcldpbmRvdy5o
ICovLAorCQkJCUE1QzBGMEE5MjAwMDY1NkUwMDUzNjUzNiAvKiBXS0luc3BlY3RvcldpbmRvdy5t
bSAqLywKIAkJCQkwRkNCNEU1QzE4QkJFM0Q5MDAwRkNGQzkgLyogV0tQcmludGluZ1ZpZXcuaCAq
LywKIAkJCQkwRkNCNEU1RDE4QkJFM0Q5MDAwRkNGQzkgLyogV0tQcmludGluZ1ZpZXcubW0gKi8s
CiAJCQkJNTEzRTQ2MkIxQUQ4Mzc1NjAwMTYyMzRBIC8qIFdLU2hhcmluZ1NlcnZpY2VQaWNrZXJE
ZWxlZ2F0ZS5oICovLApAQCAtOTA3Myw2ICs5MDg1LDcgQEAKIAkJCQk5M0E4OEIzMzFCQzZFOUNE
MDBBQkE1QzIgLyogV2ViSGl0VGVzdFJlc3VsdERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUY0
NERGRUIyMUU5RTc1MkYwMDM4RDE5NiAvKiBXZWJJY29uVXRpbGl0aWVzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MTA1MjM3MDFDNzM5RDQyMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUMwRjBBNzIwMDA2NTREMDA1MzY1MzYgLyogX1dL
TlNXaW5kb3dFeHRyYXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDUyMzdBMUM3M0RBNzcwMDc5
OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTE0MTI5OTQxQzY0MjhCQjAwNTlFNzE0IC8qIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIzNzQxQzczRDM4QjAwNzk5M0NCIC8qIFdlYklE
QkNvbm5lY3Rpb25Ub1NlcnZlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTkzMTEsNiAr
OTMyNCw3IEBACiAJCQkJQkM0MDc4M0QxMjUwRkFERDAwNjhGMjBBIC8qIFdLRXZlbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE1OEI2RjA4MThGQ0E3MzMwMDhDQkE1MyAvKiBXS0ZpbGVVcGxvYWRQ
YW5lbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzdGNjIzQjgxMkE1N0I2MjAwRTNGREY2IC8qIFdL
RmluZE9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1QzBGMEFCMjAwMDY1ODIwMDUzNjUz
NiAvKiBXS0luc3BlY3RvcldpbmRvdy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzU0MjU2QjUxOEJF
QzE4QzAwREU0MTc5IC8qIFdLRm9ybUlucHV0Q29udHJvbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QzU0MjU2QjcxOEJFQzE4QzAwREU0MTc5IC8qIFdLRm9ybVBlcmlwaGVyYWwuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUM1NDI1NkI4MThCRUMxOEMwMERFNDE3OSAvKiBXS0Zvcm1Qb3BvdmVyLmggaW4g
SGVhZGVycyAqLywKQEAgLTEwMzY1LDYgKzEwMzc5LDcgQEAKIAkJCQkxQUE1ODg5MzExRUU3MDQw
MDA2MUI4ODIgLyogTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RTE3OThDNzkxNkU2ODE4ODAwMjQwMTM5IC8qIE5ldHdvcmtCbG9iUmVnaXN0cnkuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRTQ0MzZFQ0ExQTBEMDNGQTAwRUFEMjA0IC8qIE5ldHdvcmtDYWNoZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBNUMwRjBBODIwMDA2NTUxMDA1MzY1MzYgLyogX1dLTlNX
aW5kb3dFeHRyYXMubW0gaW4gU291cmNlcyAqLywKIAkJCQlFNDlENDBEOTFBRDNGQjIxMDA2NkI3
QjkgLyogTmV0d29ya0NhY2hlQmxvYlN0b3JhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ4
OUQyOEIxQTBBMkRCODAwNzhDMDZBIC8qIE5ldHdvcmtDYWNoZUNvZGVycy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk3Q0FCOTM3QTFENDU5RTUxMDA3MEY1NDAgLyogTmV0d29ya0NhY2hlQ29kZXJz
Q29jb2EuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMDYxOSw2ICsxMDYzNCw3IEBACiAJCQkJMjY4
NDA1NEMxOEI4NkMzNTAwMjJDMzhCIC8qIFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUEwRjI5RTMxMjBCNDQ0MjAwNTNEMUI5IC8qIFZpc2l0ZWRM
aW5rU3RvcmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2MDIyNEMxOEMxNkI5RjAwQzNFOEM5
IC8qIFZpc2l0ZWRMaW5rU3RvcmVNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQTVDMEYwQUMyMDAwNjU4NTAwNTM2NTM2IC8qIFdLSW5zcGVjdG9yV2luZG93Lm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJMUFGNENFRUYxOEJDNDgxODAwQkMyRDM0IC8qIFZpc2l0ZWRMaW5rVGFi
bGVDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBOEU3RDNDMThDMTUxNDkwMDVB
NzAyQSAvKiBWaXNpdGVkTGlua1RhYmxlQ29udHJvbGxlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlDRURBMTJFMjE1MkNEMUFFMDBEOUUwOEQgLyogV2ViQWx0ZXJuYXRp
dmVUZXh0Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330631</attachid>
            <date>2018-01-05 20:09:41 -0800</date>
            <delta_ts>2018-01-08 14:01:16 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>window-2.patch</filename>
            <type>text/plain</type>
            <size>17303</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggY2IxMTNlNjk4YjIuLmVkYTcyZWVmNDNhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSw1ICsx
LDI5IEBACiAyMDE4LTAxLTA1ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+
CiAKKyAgICAgICAgW0NvY29hXSBXZWIgSW5zcGVjdG9yOiBQcm92aWRlIGEgd2F5IGZvciBjbGll
bnRzIHRvIGNoZWNrIGlmIGFuIE5TV2luZG93IGlzIGEgV2ViIEluc3BlY3RvciB3aW5kb3cKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTM2MQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzYzMzI4NjU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgTmV3IGZpbGVzLgorCisgICAgICAgICogU2hhcmVkL0FQSS9Db2NvYS9fV0tO
U1dpbmRvd0V4dHJhcy5oOiBBZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvQVBJL0NvY29hL19XS05T
V2luZG93RXh0cmFzLm1tOiBBZGRlZC4KKyAgICAgICAgKC1bTlNXaW5kb3cgX3dlYl9pc1dlYklu
c3BlY3RvcldpbmRvd10pOgorICAgICAgICBNZXRob2QgdG8gZGV0ZXJtaW5nIGlmIGEgd2luZG93
IGlzIGJlaW5nIHVzZWQgZm9yIFdlYiBJbnNwZWN0b3IgY29udGVudC4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXaW5kb3cuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL21hYy9XS0luc3BlY3RvcldpbmRvdy5tbTogQWRkZWQuCisgICAgICAgIE5hbWVkIHN1YmNs
YXNzIHNvIHdlIGNhbiB1c2UgaXNLaW5kT2ZDbGFzcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3Rv
clByb3h5OjpjcmVhdGVGcm9udGVuZFdpbmRvdyk6CisgICAgICAgIFVzZSB0aGUgbmFtZWQgc3Vi
Y2xhc3MuCisKKzIwMTgtMDEtMDUgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNv
bT4KKwogICAgICAgICBTZXJ2aWNlV29ya2VyczogRW5hYmxlIFVzZXJUaW1pbmcgLyBSZXNvdXJj
ZVRpbWluZwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgxMjk3CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjMwNzMwNj4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9fV0tOU1dpbmRvd0V4dHJhcy5oIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL19XS05TV2luZG93RXh0cmFzLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjc4YzMyNWRjMDkxCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL19XS05TV2luZG93RXh0cmFzLmgKQEAg
LTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24u
aD4KKworI2lmIFdLX0FQSV9FTkFCTEVECisKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQorCitAaW50
ZXJmYWNlIE5TV2luZG93IChXS0V4dHJhcykKKworLSAoQk9PTClfd2ViX2lzV2ViSW5zcGVjdG9y
V2luZG93OworCitAZW5kCisKKyNlbmRpZiAvLyAhVEFSR0VUX09TX0lQSE9ORQorCisjZW5kaWYg
Ly8gV0tfQVBJX0VOQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9D
b2NvYS9fV0tOU1dpbmRvd0V4dHJhcy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2Nv
YS9fV0tOU1dpbmRvd0V4dHJhcy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMC4uZDNkOTM5ZGYzYWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BUEkvQ29jb2EvX1dLTlNXaW5kb3dFeHRyYXMubW0KQEAgLTAsMCArMSw0NiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiX1dLTlNXaW5kb3dFeHRyYXMuaCIK
KworI2lmIFdLX0FQSV9FTkFCTEVECisKKyNpZiAhVEFSR0VUX09TX0lQSE9ORQorCisjaW1wb3J0
ICJXS0luc3BlY3RvcldpbmRvdy5oIgorCitAaW1wbGVtZW50YXRpb24gTlNXaW5kb3cgKFdLRXh0
cmFzKQorCistIChCT09MKV93ZWJfaXNXZWJJbnNwZWN0b3JXaW5kb3cKK3sKKyAgICByZXR1cm4g
W3NlbGYgaXNLaW5kT2ZDbGFzczpbV0tJbnNwZWN0b3JXaW5kb3cgY2xhc3NdXTsKK30KKworQGVu
ZAorCisjZW5kaWYgLy8gIVRBUkdFVF9PU19JUEhPTkUKKworI2VuZGlmIC8vIFdLX0FQSV9FTkFC
TEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JX
aW5kb3cuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldpbmRvdy5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi40OTIzZTkwYzc5MQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3Rvcldp
bmRvdy5oCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQvV0tG
b3VuZGF0aW9uLmg+CisKKyNpZiBQTEFURk9STShNQUMpICYmIFdLX0FQSV9FTkFCTEVECisKK0Bp
bnRlcmZhY2UgV0tJbnNwZWN0b3JXaW5kb3cgOiBOU1dpbmRvdworQGVuZAorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldpbmRvdy5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldpbmRvdy5tbQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYjA0ZTFjN2Y5YmUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXaW5kb3cu
bW0KQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2lt
cG9ydCAiV0tJbnNwZWN0b3JXaW5kb3cuaCIKKworI2lmIFBMQVRGT1JNKE1BQykgJiYgV0tfQVBJ
X0VOQUJMRUQKKworQGltcGxlbWVudGF0aW9uIFdLSW5zcGVjdG9yV2luZG93CitAZW5kCisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3Rv
clByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclBy
b3h5TWFjLm1tCmluZGV4IGU0NmE3ODdlMTdlLi44MjBkYWY2NThmNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQpAQCAtMzAs
NiArMzAsNyBAQAogCiAjaW1wb3J0ICJXS0luc3BlY3RvclByaXZhdGVNYWMuaCIKICNpbXBvcnQg
IldLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIuaCIKKyNpbXBvcnQgIldLSW5zcGVjdG9yV2luZG93
LmgiCiAjaW1wb3J0ICJXS1ZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJu
YWwuaCIKICNpbXBvcnQgIldlYkluc3BlY3RvclVJTWVzc2FnZXMuaCIKQEAgLTE5MCw3ICsxOTEs
NyBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5Ojp1cGRhdGVJbnNwZWN0b3JXaW5kb3dUaXRsZSgp
IGNvbnN0CiBSZXRhaW5QdHI8TlNXaW5kb3c+IFdlYkluc3BlY3RvclByb3h5OjpjcmVhdGVGcm9u
dGVuZFdpbmRvdyhOU1JlY3Qgc2F2ZWRXaW5kb3dGcmFtZSkKIHsKICAgICBOU1JlY3Qgd2luZG93
RnJhbWUgPSAhTlNJc0VtcHR5UmVjdChzYXZlZFdpbmRvd0ZyYW1lKSA/IHNhdmVkV2luZG93RnJh
bWUgOiBOU01ha2VSZWN0KDAsIDAsIGluaXRpYWxXaW5kb3dXaWR0aCwgaW5pdGlhbFdpbmRvd0hl
aWdodCk7Ci0gICAgYXV0byB3aW5kb3cgPSBhZG9wdE5TKFtbTlNXaW5kb3cgYWxsb2NdIGluaXRX
aXRoQ29udGVudFJlY3Q6d2luZG93RnJhbWUgc3R5bGVNYXNrOndpbmRvd1N0eWxlTWFzayBiYWNr
aW5nOk5TQmFja2luZ1N0b3JlQnVmZmVyZWQgZGVmZXI6Tk9dKTsKKyAgICBhdXRvIHdpbmRvdyA9
IGFkb3B0TlMoW1tXS0luc3BlY3RvcldpbmRvdyBhbGxvY10gaW5pdFdpdGhDb250ZW50UmVjdDp3
aW5kb3dGcmFtZSBzdHlsZU1hc2s6d2luZG93U3R5bGVNYXNrIGJhY2tpbmc6TlNCYWNraW5nU3Rv
cmVCdWZmZXJlZCBkZWZlcjpOT10pOwogICAgIFt3aW5kb3cgc2V0TWluU2l6ZTpOU01ha2VTaXpl
KG1pbmltdW1XaW5kb3dXaWR0aCwgbWluaW11bVdpbmRvd0hlaWdodCldOwogICAgIFt3aW5kb3cg
c2V0UmVsZWFzZWRXaGVuQ2xvc2VkOk5PXTsKICAgICBbd2luZG93IHNldENvbGxlY3Rpb25CZWhh
dmlvcjooW3dpbmRvdyBjb2xsZWN0aW9uQmVoYXZpb3JdIHwgTlNXaW5kb3dDb2xsZWN0aW9uQmVo
YXZpb3JGdWxsU2NyZWVuUHJpbWFyeSldOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggY2NjNWU0OTExYzMuLjViMjNjZjA0NDE1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE1
NjEsNiArMTU2MSwxMCBAQAogCQlBNTVCQTgzNjFCQTNFNzBEMDA3Q0QzM0QgLyogV2ViSW5zcGVj
dG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1NUJBODMyMUJBM0U2RkEwMDdDRDMzRCAvKiBXZWJJbnNwZWN0
b3JGcm9udGVuZEFQSURpc3BhdGNoZXIuY3BwICovOyB9OwogCQlBNThCNkYwODE4RkNBNzMzMDA4
Q0JBNTMgLyogV0tGaWxlVXBsb2FkUGFuZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE1OEI2RjA2MThGQ0E3MzMwMDhDQkE1MyAvKiBXS0ZpbGVVcGxv
YWRQYW5lbC5oICovOyB9OwogCQlBNThCNkYwOTE4RkNBNzMzMDA4Q0JBNTMgLyogV0tGaWxlVXBs
b2FkUGFuZWwubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBNThCNkYwNzE4RkNBNzMzMDA4Q0JBNTMgLyogV0tGaWxlVXBsb2FkUGFuZWwubW0gKi87IH07
CisJCUE1QzBGMEE3MjAwMDY1NEQwMDUzNjUzNiAvKiBfV0tOU1dpbmRvd0V4dHJhcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDMEYwQTYyMDAwNjU0
NDAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0cmFzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTVDMEYwQTgyMDAwNjU1MTAwNTM2NTM2IC8qIF9X
S05TV2luZG93RXh0cmFzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTVDMEYwQTUyMDAwNjU0NDAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0cmFzLm1t
ICovOyB9OworCQlBNUMwRjBBQjIwMDA2NTgyMDA1MzY1MzYgLyogV0tJbnNwZWN0b3JXaW5kb3cu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QzBGMEFB
MjAwMDY1NkUwMDUzNjUzNiAvKiBXS0luc3BlY3RvcldpbmRvdy5oICovOyB9OworCQlBNUMwRjBB
QzIwMDA2NTg1MDA1MzY1MzYgLyogV0tJbnNwZWN0b3JXaW5kb3cubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUMwRjBBOTIwMDA2NTZFMDA1MzY1MzYg
LyogV0tJbnNwZWN0b3JXaW5kb3cubW0gKi87IH07CiAJCUE1RDM1MDRFMUQ3OEY1QjMwMDUxMjRB
OSAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RDM1MDREMUQ3OEYwRDIwMDUxMjRBOSAvKiBSZW1v
dGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbSAqLzsgfTsKIAkJQTVFRkQzOEMxNkIwRTg4QzAwQjJG
MEU4IC8qIFdLUGFnZVZpc2liaWxpdHlUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTVFRkQzOEIxNkIwRTg4QzAwQjJGMEU4IC8qIFdLUGFnZVZp
c2liaWxpdHlUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUE3OENDRERBMTkzQUM5RjQwMDVFQ0MyNSAvKiBjb20uYXBwbGUuV2ViS2l0LkRh
dGFiYXNlcy5zYiBpbiBDb3B5RmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTc4Q0NERDcxOTNBQzlFMzAwNUVDQzI1IC8qIGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2Vz
LnNiICovOyB9OwpAQCAtMzk4Nyw2ICszOTkxLDEwIEBACiAJCUE1NUJBODMzMUJBM0U2RkEwMDdD
RDMzRCAvKiBXZWJJbnNwZWN0b3JGcm9udGVuZEFQSURpc3BhdGNoZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1OEI2RjA2MThGQ0E3MzMwMDhDQkE1MyAv
KiBXS0ZpbGVVcGxvYWRQYW5lbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBX
S0ZpbGVVcGxvYWRQYW5lbC5oOyBwYXRoID0gaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1OEI2RjA3MThGQ0E3MzMwMDhDQkE1MyAv
KiBXS0ZpbGVVcGxvYWRQYW5lbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
bmFtZSA9IFdLRmlsZVVwbG9hZFBhbmVsLm1tOyBwYXRoID0gaW9zL2Zvcm1zL1dLRmlsZVVwbG9h
ZFBhbmVsLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNUMwRjBBNTIwMDA2NTQ0
MDA1MzY1MzYgLyogX1dLTlNXaW5kb3dFeHRyYXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBfV0tOU1dpbmRvd0V4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTVDMEYwQTYyMDAwNjU0NDAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0cmFz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS05TV2luZG93RXh0cmFzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QzBGMEE5MjAwMDY1NkUwMDUzNjUzNiAv
KiBXS0luc3BlY3RvcldpbmRvdy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFdLSW5zcGVjdG9yV2luZG93Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNUMwRjBBQTIwMDA2NTZFMDA1MzY1MzYgLyogV0tJbnNwZWN0b3JXaW5kb3cuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tJbnNwZWN0b3JXaW5kb3cuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTVEMzUwNEQxRDc4RjBEMjAwNTEyNEE5IC8qIFJlbW90ZVdl
Ykluc3BlY3RvclByb3h5TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUE1RUZEMzhCMTZCMEU4OEMwMEIyRjBFOCAvKiBXS1BhZ2VWaXNpYmlsaXR5VHlw
ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tQYWdlVmlzaWJpbGl0eVR5
cGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MkQ1RDdGMTIzNkNCQTgwMEE4
OEIxNSAvKiBBUElTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC02MDYyLDYgKzYwNzAsOCBAQAogCQkJCTkzQTg4QjNBMUJDNzEwRDkwMEFC
QTVDMiAvKiBfV0tIaXRUZXN0UmVzdWx0SW50ZXJuYWwuaCAqLywKIAkJCQlBMTE4QTlGMTE5MDhC
OEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5oICovLAogCQkJCUExMThBOUYw
MTkwOEI4RUEwMEY3QzkyQiAvKiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLm1tICovLAorCQkJCUE1
QzBGMEE2MjAwMDY1NDQwMDUzNjUzNiAvKiBfV0tOU1dpbmRvd0V4dHJhcy5oICovLAorCQkJCUE1
QzBGMEE1MjAwMDY1NDQwMDUzNjUzNiAvKiBfV0tOU1dpbmRvd0V4dHJhcy5tbSAqLywKIAkJCQkx
QTlFMzI4QjE4MjE2NUE5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLmggKi8s
CiAJCQkJMUE5RTMyOEMxODIxNjVBOTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdEludGVyZmFj
ZS5tbSAqLywKIAkJCQkxQUFCRkUzOTE4MjlDMUVEMDA1QjA3MEUgLyogX1dLUmVtb3RlT2JqZWN0
SW50ZXJmYWNlSW50ZXJuYWwuaCAqLywKQEAgLTc5MjgsNiArNzkzOCw4IEBACiAJCQkJOTMyMUQ1
ODcxQTM4RUU3NDAwODA1MkJFIC8qIFdLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5tbSAqLywK
IAkJCQk5OTRCQURGMTFGN0Q3N0VBMDBCNTcxRTcgLyogV0tJbnNwZWN0b3JWaWV3Q29udHJvbGxl
ci5oICovLAogCQkJCTk5NEJBREYyMUY3RDc3RUIwMEI1NzFFNyAvKiBXS0luc3BlY3RvclZpZXdD
b250cm9sbGVyLm1tICovLAorCQkJCUE1QzBGMEFBMjAwMDY1NkUwMDUzNjUzNiAvKiBXS0luc3Bl
Y3RvcldpbmRvdy5oICovLAorCQkJCUE1QzBGMEE5MjAwMDY1NkUwMDUzNjUzNiAvKiBXS0luc3Bl
Y3RvcldpbmRvdy5tbSAqLywKIAkJCQlBNTE4QjVEMDFGRTFENTVCMDBGOUZBMjggLyogV0tJbnNw
ZWN0b3JXS1dlYlZpZXcuaCAqLywKIAkJCQlBNTE4QjVEMTFGRTFENTVCMDBGOUZBMjggLyogV0tJ
bnNwZWN0b3JXS1dlYlZpZXcubW0gKi8sCiAJCQkJMEZDQjRFNUMxOEJCRTNEOTAwMEZDRkM5IC8q
IFdLUHJpbnRpbmdWaWV3LmggKi8sCkBAIC04NTIwLDYgKzg1MzIsNyBAQAogCQkJCTJENzkwQTlE
MUFENzA1MEQwMEFCOTBCMyAvKiBfV0tMYXlvdXRNb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTBGNTkxMTFEREUyOTcwMDA0MTJGRjUgLyogX1dLTGlua0ljb25QYXJhbWV0ZXJzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBMTE4QTlGMzE5MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdl
ckV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTVDMEYwQTcyMDAwNjU0RDAwNTM2NTM2IC8q
IF9XS05TV2luZG93RXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzIzNjExRTFCMDE1REE4
MDBGQTkyMzIgLyogX1dLT3ZlcmxheVNjcm9sbGJhclN0eWxlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQTQzRTgyQTE4OEYzQ0RDMDA5RTREMzAgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3Qzg5RDJENzFBNkM2QkU2MDAzQTVGREUgLyogX1dLUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLApAQCAtOTM1MCw2
ICs5MzYzLDcgQEAKIAkJCQlBNTQyOTNBNDE5NUE0M0RBMDAyNzgyQzcgLyogV0tJbnNwZWN0b3JO
b2RlU2VhcmNoR2VzdHVyZVJlY29nbml6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTZFRTg0OUM4
MTM2OEQ5MzkwMDM4RDQ4MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk5NEJBREY0MUY3RDc4MTQwMEI1NzFFNyAvKiBXS0luc3BlY3RvclZpZXdDb250cm9s
bGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNUMwRjBBQjIwMDA2NTgyMDA1MzY1MzYgLyogV0tJ
bnNwZWN0b3JXaW5kb3cuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1MThCNUQyMUZFMUQ1NUIwMEY5
RkEyOCAvKiBXS0luc3BlY3RvcldLV2ViVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFBOUUx
MEIxMzE1Q0QxODAwOUU3MDMxIC8qIFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMkQ3OTBBOUYxQUQ3MTY0OTAwQUI5MEIzIC8qIFdLTGF5b3V0TW9kZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0xMDE1MCw2ICsxMDE2NCw3IEBACiAJCQkJOTNBODhCMzkxQkM3MEYz
RjAwQUJBNUMyIC8qIF9XS0hpdFRlc3RSZXN1bHQubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTBG
NTkxMjFEREUyOTc3MDA0MTJGRjUgLyogX1dLTGlua0ljb25QYXJhbWV0ZXJzLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQTExOEE5RjIxOTA4QjhFQTAwRjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJF
eHRyYXMubW0gaW4gU291cmNlcyAqLywKKwkJCQlBNUMwRjBBODIwMDA2NTUxMDA1MzY1MzYgLyog
X1dLTlNXaW5kb3dFeHRyYXMubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTQzRTgyOTE4OEYzQ0RD
MDA5RTREMzAgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUE5RTMyOEUxODIxNjVBOTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdEludGVyZmFj
ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBOUUzMjhBMTgyMTYzNjkwMEY1RDA0QyAvKiBfV0tS
ZW1vdGVPYmplY3RSZWdpc3RyeS5tbSBpbiBTb3VyY2VzICovLApAQCAtMTA5NzIsNiArMTA5ODcs
NyBAQAogCQkJCTBGM0M3MjVDMTk2RjYwNTIwMEFFREQwQyAvKiBXS0luc3BlY3RvckhpZ2hsaWdo
dFZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQlBNTQyOTNBNTE5NUE0M0REMDAyNzgyQzcgLyog
V0tJbnNwZWN0b3JOb2RlU2VhcmNoR2VzdHVyZVJlY29nbml6ZXIubW0gaW4gU291cmNlcyAqLywK
IAkJCQk5OTRCQURGMzFGN0Q3ODExMDBCNTcxRTcgLyogV0tJbnNwZWN0b3JWaWV3Q29udHJvbGxl
ci5tbSBpbiBTb3VyY2VzICovLAorCQkJCUE1QzBGMEFDMjAwMDY1ODUwMDUzNjUzNiAvKiBXS0lu
c3BlY3RvcldpbmRvdy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE1MThCNUQzMUZFMUQ1NUIwMEY5
RkEyOCAvKiBXS0luc3BlY3RvcldLV2ViVmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxQTlF
MTBBMTMxNUNEMTgwMDlFNzAzMSAvKiBXS0tleVZhbHVlU3RvcmFnZU1hbmFnZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQzk4QzQ4QTkxQjZGRDVCNTAwMTQ1MTAzIC8qIFdLTWVkaWFTZXNzaW9u
Rm9jdXNNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>