<?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>169348</bug_id>
          
          <creation_ts>2017-03-08 01:38:48 -0800</creation_ts>
          <short_desc>[WK2] Move AcceleratedSurface files under WebProcess/WebPage/CoordinatedGraphics</short_desc>
          <delta_ts>2017-03-13 07:42:54 -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>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1284814</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-03-08 01:38:48 -0800</bug_when>
    <thetext>[WK2][CoordGraphics] Move AcceleratedSurface files under WebProcess/WebPage/CoordinatedGraphics</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284815</commentid>
    <comment_count>1</comment_count>
      <attachid>303798</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-03-08 01:40:18 -0800</bug_when>
    <thetext>Created attachment 303798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284819</commentid>
    <comment_count>2</comment_count>
      <attachid>303798</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-03-08 02:05:07 -0800</bug_when>
    <thetext>Comment on attachment 303798
Patch

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

&gt; Source/WebKit2/ChangeLog:10
&gt; +        Move the AcceleratedSurface header and implementation files under the
&gt; +        WebProcess/WebPage/CoordinatedGraphics directory since that class is
&gt; +        used in the platform-independent ThreadedCoordinatedLayerTreeHost.

But it&apos;s not specific to coordinated graphics either, it was used by LayerTreeHostGtk before we removed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284828</commentid>
    <comment_count>3</comment_count>
      <attachid>303798</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-03-08 02:42:14 -0800</bug_when>
    <thetext>Comment on attachment 303798
Patch

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

&gt;&gt; Source/WebKit2/ChangeLog:10
&gt;&gt; +        used in the platform-independent ThreadedCoordinatedLayerTreeHost.
&gt; 
&gt; But it&apos;s not specific to coordinated graphics either, it was used by LayerTreeHostGtk before we removed it.

Who else could be using it? Nobody else is using it upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285828</commentid>
    <comment_count>4</comment_count>
      <attachid>304048</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-03-10 09:33:44 -0800</bug_when>
    <thetext>Created attachment 304048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287163</commentid>
    <comment_count>5</comment_count>
      <attachid>304048</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-03-13 07:42:44 -0700</bug_when>
    <thetext>Comment on attachment 304048
Patch

Clearing flags on attachment: 304048

Committed r213844: &lt;http://trac.webkit.org/changeset/213844&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287164</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-03-13 07:42:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303798</attachid>
            <date>2017-03-08 01:40:18 -0800</date>
            <delta_ts>2017-03-10 09:33:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169348-20170308104017.patch</filename>
            <type>text/plain</type>
            <size>12939</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzNTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmRjOTRlMTg4YzUyOGUz
ZmY1NTQzYjk0MzZlMGJjNzY0ZTRiZGY1OC4uYWIyZjMzNjYyMmE5M2RlYzY4MGJiNDE5YTFhYTY0
YmMyODQzMzg4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTAzLTA4ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbV0syXVtDb29yZEdy
YXBoaWNzXSBNb3ZlIEFjY2VsZXJhdGVkU3VyZmFjZSBmaWxlcyB1bmRlciBXZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY5MzQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTW92ZSB0aGUgQWNjZWxlcmF0ZWRTdXJmYWNlIGhlYWRlciBhbmQg
aW1wbGVtZW50YXRpb24gZmlsZXMgdW5kZXIgdGhlCisgICAgICAgIFdlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzIGRpcmVjdG9yeSBzaW5jZSB0aGF0IGNsYXNzIGlzCisgICAg
ICAgIHVzZWQgaW4gdGhlIHBsYXRmb3JtLWluZGVwZW5kZW50IFRocmVhZGVkQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0LgorCisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQWNjZWxlcmF0ZWRTdXJmYWNl
LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsv
QWNjZWxlcmF0ZWRTdXJmYWNlLmNwcC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9BY2NlbGVyYXRlZFN1cmZhY2UuaDogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvQWNjZWxlcmF0ZWRTdXJmYWNlLmguCisK
IDIwMTctMDMtMDcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgSGF2ZSBmaXhlZFBvc2l0aW9uQ3JlYXRlc1N0YWNraW5nQ29udGV4dCBiZSBvbiBieSBk
ZWZhdWx0IGV2ZXJ5d2hlcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RL
LmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggNWY2OGIwZTE2
NTA0MTE1MTk4YjQwMTBjZGI3OTk4NjUxYTZhYzc0MC4uYzJmZDExMzU0MzBjMDYyMjQ0ODBjMDNl
YjUzZThiZDI2MTU2NzExZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsu
Y21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTQ4MCw2ICs0
ODAsNyBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKIAogICAgIFdlYlByb2Nlc3MvV2Vi
UGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcAogCisgICAgV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQWNjZWxlcmF0ZWRTdXJmYWNlLmNwcAogICAgIFdlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0FyZWFBbGxvY2F0b3IuY3BwCiAgICAgV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRv
ci5jcHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwCkBAIC00OTIsNyArNDkzLDYgQEAgbGlzdChBUFBFTkQgV2Vi
S2l0Ml9TT1VSQ0VTCiAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3N0cmVhbWVyL1dlYlBhZ2VH
U3RyZWFtZXIuY3BwCiAKLSAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0FjY2VsZXJhdGVkU3Vy
ZmFjZS5jcHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0FjY2VsZXJhdGVkU3VyZmFjZVdh
eWxhbmQuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9BY2NlbGVyYXRlZFN1cmZhY2VY
MTEuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9QcmludGVyTGlzdEd0ay5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0FjY2VsZXJhdGVkU3VyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9BY2NlbGVyYXRlZFN1cmZhY2UuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjZiMjBjZDg1ZDkyMjY3YjU2YWI0NGNmMTE0NDliOTU5NGNmZDFlZWQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9BY2NlbGVyYXRlZFN1cmZhY2UuY3BwCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFjY2VsZXJh
dGVkU3VyZmFjZS5oIgorCisjaW5jbHVkZSAiV2ViUGFnZS5oIgorI2luY2x1ZGUgPFdlYkNvcmUv
UGxhdGZvcm1EaXNwbGF5Lmg+CisKKyNpZiBQTEFURk9STShXQVlMQU5EKQorI2luY2x1ZGUgIkFj
Y2VsZXJhdGVkU3VyZmFjZVdheWxhbmQuaCIKKyNlbmRpZgorCisjaWYgVVNFKFJFRElSRUNURURf
WENPTVBPU0lURV9XSU5ET1cpCisjaW5jbHVkZSAiQWNjZWxlcmF0ZWRTdXJmYWNlWDExLmgiCisj
ZW5kaWYKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitzdGQ6OnVuaXF1ZV9wdHI8QWNjZWxlcmF0ZWRTdXJmYWNlPiBBY2NlbGVyYXRlZFN1cmZhY2U6
OmNyZWF0ZShXZWJQYWdlJiB3ZWJQYWdlKQoreworI2lmIFBMQVRGT1JNKFdBWUxBTkQpCisgICAg
aWYgKFBsYXRmb3JtRGlzcGxheTo6c2hhcmVkRGlzcGxheSgpLnR5cGUoKSA9PSBQbGF0Zm9ybURp
c3BsYXk6OlR5cGU6OldheWxhbmQpCisgICAgICAgIHJldHVybiBBY2NlbGVyYXRlZFN1cmZhY2VX
YXlsYW5kOjpjcmVhdGUod2ViUGFnZSk7CisjZW5kaWYKKyNpZiBVU0UoUkVESVJFQ1RFRF9YQ09N
UE9TSVRFX1dJTkRPVykKKyAgICBpZiAoUGxhdGZvcm1EaXNwbGF5OjpzaGFyZWREaXNwbGF5KCku
dHlwZSgpID09IFBsYXRmb3JtRGlzcGxheTo6VHlwZTo6WDExKQorICAgICAgICByZXR1cm4gQWNj
ZWxlcmF0ZWRTdXJmYWNlWDExOjpjcmVhdGUod2ViUGFnZSk7CisjZW5kaWYKKyAgICByZXR1cm4g
bnVsbHB0cjsKK30KKworQWNjZWxlcmF0ZWRTdXJmYWNlOjpBY2NlbGVyYXRlZFN1cmZhY2UoV2Vi
UGFnZSYgd2ViUGFnZSkKKyAgICA6IG1fd2ViUGFnZSh3ZWJQYWdlKQorICAgICwgbV9zaXplKHdl
YlBhZ2Uuc2l6ZSgpKQoreworICAgIG1fc2l6ZS5zY2FsZShtX3dlYlBhZ2UuZGV2aWNlU2NhbGVG
YWN0b3IoKSk7Cit9CisKK2Jvb2wgQWNjZWxlcmF0ZWRTdXJmYWNlOjpyZXNpemUoY29uc3QgSW50
U2l6ZSYgc2l6ZSkKK3sKKyAgICBJbnRTaXplIHNjYWxlZFNpemUoc2l6ZSk7CisgICAgc2NhbGVk
U2l6ZS5zY2FsZShtX3dlYlBhZ2UuZGV2aWNlU2NhbGVGYWN0b3IoKSk7CisgICAgaWYgKHNjYWxl
ZFNpemUgPT0gbV9zaXplKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX3NpemUgPSBz
Y2FsZWRTaXplOworICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0FjY2VsZXJhdGVkU3VyZmFjZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQWNjZWxlcmF0ZWRTdXJmYWNlLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjZiNGM4YTUzMDA3OGJmMDdjMjA2ZTA2NTQyZDBmMDAzNjhhZWU5NwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0FjY2VsZXJhdGVkU3VyZmFjZS5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL0ludFNpemUu
aD4KKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K2NsYXNzIFdlYlBhZ2U7CisKK2NsYXNzIEFjY2VsZXJhdGVkU3VyZmFjZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQWNjZWxlcmF0ZWRTdXJmYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2NlbGVyYXRlZFN1cmZh
Y2U+IGNyZWF0ZShXZWJQYWdlJik7CisgICAgdmlydHVhbCB+QWNjZWxlcmF0ZWRTdXJmYWNlKCkg
PSBkZWZhdWx0OworCisgICAgdmlydHVhbCB1aW50NjRfdCB3aW5kb3coKSBjb25zdCB7IEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgdWludDY0X3Qgc3VyZmFj
ZUlEKCkgY29uc3QgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIDA7IH07CisgICAgdmly
dHVhbCBib29sIHJlc2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CisgICAgdmlydHVhbCBi
b29sIHNob3VsZFBhaW50TWlycm9yZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCitwcm90
ZWN0ZWQ6CisgICAgQWNjZWxlcmF0ZWRTdXJmYWNlKFdlYlBhZ2UmKTsKKworICAgIFdlYlBhZ2Um
IG1fd2ViUGFnZTsKKyAgICBXZWJDb3JlOjpJbnRTaXplIG1fc2l6ZTsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2d0ay9BY2NlbGVyYXRlZFN1cmZhY2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL2d0ay9BY2NlbGVyYXRlZFN1cmZhY2UuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA2YjIwY2Q4NWQ5MjI2N2I1NmFiNDRjZjExNDQ5Yjk1OTRjZmQxZWVkLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvQWNjZWxlcmF0ZWRTdXJmYWNlLmNwcAorKysgL2Rldi9u
dWxsCkBAIC0xLDc1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMu
TC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQot
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUg
ImNvbmZpZy5oIgotI2luY2x1ZGUgIkFjY2VsZXJhdGVkU3VyZmFjZS5oIgotCi0jaW5jbHVkZSAi
V2ViUGFnZS5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1EaXNwbGF5Lmg+Ci0KLSNpZiBQ
TEFURk9STShXQVlMQU5EKQotI2luY2x1ZGUgIkFjY2VsZXJhdGVkU3VyZmFjZVdheWxhbmQuaCIK
LSNlbmRpZgotCi0jaWYgVVNFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cpCi0jaW5jbHVk
ZSAiQWNjZWxlcmF0ZWRTdXJmYWNlWDExLmgiCi0jZW5kaWYKLQotdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1zdGQ6OnVuaXF1ZV9wdHI8QWNjZWxlcmF0
ZWRTdXJmYWNlPiBBY2NlbGVyYXRlZFN1cmZhY2U6OmNyZWF0ZShXZWJQYWdlJiB3ZWJQYWdlKQot
ewotI2lmIFBMQVRGT1JNKFdBWUxBTkQpCi0gICAgaWYgKFBsYXRmb3JtRGlzcGxheTo6c2hhcmVk
RGlzcGxheSgpLnR5cGUoKSA9PSBQbGF0Zm9ybURpc3BsYXk6OlR5cGU6OldheWxhbmQpCi0gICAg
ICAgIHJldHVybiBBY2NlbGVyYXRlZFN1cmZhY2VXYXlsYW5kOjpjcmVhdGUod2ViUGFnZSk7Ci0j
ZW5kaWYKLSNpZiBVU0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKLSAgICBpZiAoUGxh
dGZvcm1EaXNwbGF5OjpzaGFyZWREaXNwbGF5KCkudHlwZSgpID09IFBsYXRmb3JtRGlzcGxheTo6
VHlwZTo6WDExKQotICAgICAgICByZXR1cm4gQWNjZWxlcmF0ZWRTdXJmYWNlWDExOjpjcmVhdGUo
d2ViUGFnZSk7Ci0jZW5kaWYKLSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQotQWNjZWxlcmF0ZWRT
dXJmYWNlOjpBY2NlbGVyYXRlZFN1cmZhY2UoV2ViUGFnZSYgd2ViUGFnZSkKLSAgICA6IG1fd2Vi
UGFnZSh3ZWJQYWdlKQotICAgICwgbV9zaXplKHdlYlBhZ2Uuc2l6ZSgpKQotewotICAgIG1fc2l6
ZS5zY2FsZShtX3dlYlBhZ2UuZGV2aWNlU2NhbGVGYWN0b3IoKSk7Ci19Ci0KLWJvb2wgQWNjZWxl
cmF0ZWRTdXJmYWNlOjpyZXNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkKLXsKLSAgICBJbnRTaXpl
IHNjYWxlZFNpemUoc2l6ZSk7Ci0gICAgc2NhbGVkU2l6ZS5zY2FsZShtX3dlYlBhZ2UuZGV2aWNl
U2NhbGVGYWN0b3IoKSk7Ci0gICAgaWYgKHNjYWxlZFNpemUgPT0gbV9zaXplKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICBtX3NpemUgPSBzY2FsZWRTaXplOwotICAgIHJldHVybiB0cnVl
OwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvQWNjZWxlcmF0ZWRTdXJmYWNlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0FjY2VsZXJhdGVkU3VyZmFjZS5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNmI0YzhhNTMwMDc4YmYwN2MyMDZlMDY1NDJkMGYwMDM2
OGFlZTk3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvQWNjZWxlcmF0ZWRTdXJmYWNlLmgK
KysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2
IElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBXZWJQYWdl
OwotCi1jbGFzcyBBY2NlbGVyYXRlZFN1cmZhY2UgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEFjY2VsZXJhdGVkU3VyZmFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgot
ICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZWxlcmF0ZWRTdXJmYWNlPiBjcmVhdGUoV2Vi
UGFnZSYpOwotICAgIHZpcnR1YWwgfkFjY2VsZXJhdGVkU3VyZmFjZSgpID0gZGVmYXVsdDsKLQot
ICAgIHZpcnR1YWwgdWludDY0X3Qgd2luZG93KCkgY29uc3QgeyBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsgcmV0dXJuIDA7IH0KLSAgICB2aXJ0dWFsIHVpbnQ2NF90IHN1cmZhY2VJRCgpIGNvbnN0IHsg
QVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiAwOyB9OwotICAgIHZpcnR1YWwgYm9vbCByZXNp
emUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwotICAgIHZpcnR1YWwgYm9vbCBzaG91bGRQYWlu
dE1pcnJvcmVkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLQotcHJvdGVjdGVkOgotICAgIEFj
Y2VsZXJhdGVkU3VyZmFjZShXZWJQYWdlJik7Ci0KLSAgICBXZWJQYWdlJiBtX3dlYlBhZ2U7Ci0g
ICAgV2ViQ29yZTo6SW50U2l6ZSBtX3NpemU7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304048</attachid>
            <date>2017-03-10 09:33:44 -0800</date>
            <delta_ts>2017-03-13 07:42:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169348-20170310183343.patch</filename>
            <type>text/plain</type>
            <size>13048</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzNzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmNkNDVkODZhZTNlYjlh
YmUzNTNkMzI5YzZkODcwMTU0NTM1YWIwOS4uMTI4MzVjMmQ4M2JjYzM0OWExZTIxYzgxZTcyNGM0
YWY3YzFiNzRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDE3LTAzLTEwICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBbV0syXSBNb3ZlIEFj
Y2VsZXJhdGVkU3VyZmFjZSBmaWxlcyB1bmRlciBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY5MzQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTW92ZSB0aGUgQWNjZWxlcmF0ZWRTdXJmYWNlIGhlYWRlciBhbmQgaW1wbGVtZW50YXRpb24g
ZmlsZXMgdW5kZXIgdGhlCisgICAgICAgIFdlYlByb2Nlc3MvV2ViUGFnZSBkaXJlY3Rvcnkgc2lu
Y2UgdGhhdCBjbGFzcyBpcyBub3Qgc3BlY2lmaWMgdG8gdGhlCisgICAgICAgIEdUSysgcG9ydC4K
KworICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9BY2NlbGVyYXRlZFN1cmZhY2UuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9BY2NlbGVyYXRlZFN1cmZhY2UuY3BwLgorICAgICAgICAo
V2ViS2l0OjpBY2NlbGVyYXRlZFN1cmZhY2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkFj
Y2VsZXJhdGVkU3VyZmFjZTo6QWNjZWxlcmF0ZWRTdXJmYWNlKToKKyAgICAgICAgKFdlYktpdDo6
QWNjZWxlcmF0ZWRTdXJmYWNlOjpyZXNpemUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9BY2NlbGVyYXRlZFN1cmZhY2UuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9ndGsvQWNjZWxlcmF0ZWRTdXJmYWNlLmguCisgICAgICAgIChXZWJLaXQ6
OkFjY2VsZXJhdGVkU3VyZmFjZTo6d2luZG93KToKKyAgICAgICAgKFdlYktpdDo6QWNjZWxlcmF0
ZWRTdXJmYWNlOjpzdXJmYWNlSUQpOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRlZFN1cmZh
Y2U6OnNob3VsZFBhaW50TWlycm9yZWQpOgorCisyMDE3LTAzLTEwICBaYW4gRG9iZXJzZWsgIDx6
ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKwogICAgICAgICBbV0syXSBHdWFyZCBHTGliLXNwZWNpZmlj
IHR5cGVkZWZzIGluIEluamVjdGVkQnVuZGxlLmggd2l0aCBVU0UoR0xJQikKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTQ2NAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtR1RLLmNtYWtlCmluZGV4IDVmNjhiMGUxNjUwNDExNTE5OGI0MDEwY2RiNzk5ODY1MWE2YWM3
NDAuLmQwOWIxOTRiMmFiYTc5YzM5OTE5MmEyZDlhYjdiY2RmN2M5ZjhmMGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtR1RLLmNtYWtlCkBAIC00NzksNiArNDc5LDcgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9T
T1VSQ0VTCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9zb3VwL1dlYkZyYW1lTmV0d29y
a2luZ0NvbnRleHQuY3BwCiAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3
aW5nQXJlYS5jcHAKKyAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWRTdXJmYWNlLmNw
cAogCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQXJlYUFsbG9j
YXRvci5jcHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21w
b3NpdGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtNDkyLDcgKzQ5Myw2IEBAIGxpc3QoQVBQRU5EIFdl
YktpdDJfU09VUkNFUwogCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL2dzdHJlYW1lci9XZWJQYWdl
R1N0cmVhbWVyLmNwcAogCi0gICAgV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9BY2NlbGVyYXRlZFN1
cmZhY2UuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9BY2NlbGVyYXRlZFN1cmZhY2VX
YXlsYW5kLmNwcAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9ndGsvQWNjZWxlcmF0ZWRTdXJmYWNl
WDExLmNwcAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9ndGsvUHJpbnRlckxpc3RHdGsuY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWRT
dXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRl
ZFN1cmZhY2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiMjBjZDg1ZDkyMjY3YjU2YWI0NGNmMTE0NDliOTU5
NGNmZDFlZWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQWNjZWxlcmF0ZWRTdXJmYWNlLmNwcApAQCAtMCwwICsxLDc1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBY2NlbGVyYXRl
ZFN1cmZhY2UuaCIKKworI2luY2x1ZGUgIldlYlBhZ2UuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1Bs
YXRmb3JtRGlzcGxheS5oPgorCisjaWYgUExBVEZPUk0oV0FZTEFORCkKKyNpbmNsdWRlICJBY2Nl
bGVyYXRlZFN1cmZhY2VXYXlsYW5kLmgiCisjZW5kaWYKKworI2lmIFVTRShSRURJUkVDVEVEX1hD
T01QT1NJVEVfV0lORE9XKQorI2luY2x1ZGUgIkFjY2VsZXJhdGVkU3VyZmFjZVgxMS5oIgorI2Vu
ZGlmCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
c3RkOjp1bmlxdWVfcHRyPEFjY2VsZXJhdGVkU3VyZmFjZT4gQWNjZWxlcmF0ZWRTdXJmYWNlOjpj
cmVhdGUoV2ViUGFnZSYgd2ViUGFnZSkKK3sKKyNpZiBQTEFURk9STShXQVlMQU5EKQorICAgIGlm
IChQbGF0Zm9ybURpc3BsYXk6OnNoYXJlZERpc3BsYXkoKS50eXBlKCkgPT0gUGxhdGZvcm1EaXNw
bGF5OjpUeXBlOjpXYXlsYW5kKQorICAgICAgICByZXR1cm4gQWNjZWxlcmF0ZWRTdXJmYWNlV2F5
bGFuZDo6Y3JlYXRlKHdlYlBhZ2UpOworI2VuZGlmCisjaWYgVVNFKFJFRElSRUNURURfWENPTVBP
U0lURV9XSU5ET1cpCisgICAgaWYgKFBsYXRmb3JtRGlzcGxheTo6c2hhcmVkRGlzcGxheSgpLnR5
cGUoKSA9PSBQbGF0Zm9ybURpc3BsYXk6OlR5cGU6OlgxMSkKKyAgICAgICAgcmV0dXJuIEFjY2Vs
ZXJhdGVkU3VyZmFjZVgxMTo6Y3JlYXRlKHdlYlBhZ2UpOworI2VuZGlmCisgICAgcmV0dXJuIG51
bGxwdHI7Cit9CisKK0FjY2VsZXJhdGVkU3VyZmFjZTo6QWNjZWxlcmF0ZWRTdXJmYWNlKFdlYlBh
Z2UmIHdlYlBhZ2UpCisgICAgOiBtX3dlYlBhZ2Uod2ViUGFnZSkKKyAgICAsIG1fc2l6ZSh3ZWJQ
YWdlLnNpemUoKSkKK3sKKyAgICBtX3NpemUuc2NhbGUobV93ZWJQYWdlLmRldmljZVNjYWxlRmFj
dG9yKCkpOworfQorCitib29sIEFjY2VsZXJhdGVkU3VyZmFjZTo6cmVzaXplKGNvbnN0IEludFNp
emUmIHNpemUpCit7CisgICAgSW50U2l6ZSBzY2FsZWRTaXplKHNpemUpOworICAgIHNjYWxlZFNp
emUuc2NhbGUobV93ZWJQYWdlLmRldmljZVNjYWxlRmFjdG9yKCkpOworICAgIGlmIChzY2FsZWRT
aXplID09IG1fc2l6ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgbV9zaXplID0gc2Nh
bGVkU2l6ZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWRT
dXJmYWNlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWRT
dXJmYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjZiNGM4YTUzMDA3OGJmMDdjMjA2ZTA2NTQyZDBmMDAzNjhh
ZWU5NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9BY2NlbGVyYXRlZFN1cmZhY2UuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplLmg+Cisj
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFz
cyBXZWJQYWdlOworCitjbGFzcyBBY2NlbGVyYXRlZFN1cmZhY2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEFjY2VsZXJhdGVkU3VyZmFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
cHVibGljOgorICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZWxlcmF0ZWRTdXJmYWNlPiBj
cmVhdGUoV2ViUGFnZSYpOworICAgIHZpcnR1YWwgfkFjY2VsZXJhdGVkU3VyZmFjZSgpID0gZGVm
YXVsdDsKKworICAgIHZpcnR1YWwgdWludDY0X3Qgd2luZG93KCkgY29uc3QgeyBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIHVpbnQ2NF90IHN1cmZhY2VJRCgp
IGNvbnN0IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiAwOyB9OworICAgIHZpcnR1YWwg
Ym9vbCByZXNpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOworICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRQYWludE1pcnJvcmVkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKworcHJvdGVjdGVk
OgorICAgIEFjY2VsZXJhdGVkU3VyZmFjZShXZWJQYWdlJik7CisKKyAgICBXZWJQYWdlJiBtX3dl
YlBhZ2U7CisgICAgV2ViQ29yZTo6SW50U2l6ZSBtX3NpemU7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9n
dGsvQWNjZWxlcmF0ZWRTdXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9ndGsvQWNjZWxlcmF0ZWRTdXJmYWNlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNmIyMGNkODVkOTIyNjdiNTZhYjQ0Y2YxMTQ0OWI5NTk0Y2ZkMWVlZC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvZ3RrL0FjY2VsZXJhdGVkU3VyZmFjZS5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSw3NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJBY2NlbGVyYXRlZFN1cmZhY2UuaCIKLQotI2luY2x1ZGUgIldlYlBh
Z2UuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtRGlzcGxheS5oPgotCi0jaWYgUExBVEZP
Uk0oV0FZTEFORCkKLSNpbmNsdWRlICJBY2NlbGVyYXRlZFN1cmZhY2VXYXlsYW5kLmgiCi0jZW5k
aWYKLQotI2lmIFVTRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQotI2luY2x1ZGUgIkFj
Y2VsZXJhdGVkU3VyZmFjZVgxMS5oIgotI2VuZGlmCi0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotc3RkOjp1bmlxdWVfcHRyPEFjY2VsZXJhdGVkU3Vy
ZmFjZT4gQWNjZWxlcmF0ZWRTdXJmYWNlOjpjcmVhdGUoV2ViUGFnZSYgd2ViUGFnZSkKLXsKLSNp
ZiBQTEFURk9STShXQVlMQU5EKQotICAgIGlmIChQbGF0Zm9ybURpc3BsYXk6OnNoYXJlZERpc3Bs
YXkoKS50eXBlKCkgPT0gUGxhdGZvcm1EaXNwbGF5OjpUeXBlOjpXYXlsYW5kKQotICAgICAgICBy
ZXR1cm4gQWNjZWxlcmF0ZWRTdXJmYWNlV2F5bGFuZDo6Y3JlYXRlKHdlYlBhZ2UpOwotI2VuZGlm
Ci0jaWYgVVNFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cpCi0gICAgaWYgKFBsYXRmb3Jt
RGlzcGxheTo6c2hhcmVkRGlzcGxheSgpLnR5cGUoKSA9PSBQbGF0Zm9ybURpc3BsYXk6OlR5cGU6
OlgxMSkKLSAgICAgICAgcmV0dXJuIEFjY2VsZXJhdGVkU3VyZmFjZVgxMTo6Y3JlYXRlKHdlYlBh
Z2UpOwotI2VuZGlmCi0gICAgcmV0dXJuIG51bGxwdHI7Ci19Ci0KLUFjY2VsZXJhdGVkU3VyZmFj
ZTo6QWNjZWxlcmF0ZWRTdXJmYWNlKFdlYlBhZ2UmIHdlYlBhZ2UpCi0gICAgOiBtX3dlYlBhZ2Uo
d2ViUGFnZSkKLSAgICAsIG1fc2l6ZSh3ZWJQYWdlLnNpemUoKSkKLXsKLSAgICBtX3NpemUuc2Nh
bGUobV93ZWJQYWdlLmRldmljZVNjYWxlRmFjdG9yKCkpOwotfQotCi1ib29sIEFjY2VsZXJhdGVk
U3VyZmFjZTo6cmVzaXplKGNvbnN0IEludFNpemUmIHNpemUpCi17Ci0gICAgSW50U2l6ZSBzY2Fs
ZWRTaXplKHNpemUpOwotICAgIHNjYWxlZFNpemUuc2NhbGUobV93ZWJQYWdlLmRldmljZVNjYWxl
RmFjdG9yKCkpOwotICAgIGlmIChzY2FsZWRTaXplID09IG1fc2l6ZSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgbV9zaXplID0gc2NhbGVkU2l6ZTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0K
LQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvZ3RrL0FjY2VsZXJhdGVkU3VyZmFjZS5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9BY2NlbGVyYXRlZFN1cmZhY2UuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMjZiNGM4YTUzMDA3OGJmMDdjMjA2ZTA2NTQyZDBmMDAzNjhhZWU5
Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0FjY2VsZXJhdGVkU3VyZmFjZS5oCisrKyAv
ZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2Fs
aWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJh
Z21hIG9uY2UKLQotI2luY2x1ZGUgPFdlYkNvcmUvSW50U2l6ZS5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgV2ViUGFnZTsKLQot
Y2xhc3MgQWNjZWxlcmF0ZWRTdXJmYWNlIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBY2Nl
bGVyYXRlZFN1cmZhY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAgICBz
dGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2VsZXJhdGVkU3VyZmFjZT4gY3JlYXRlKFdlYlBhZ2Um
KTsKLSAgICB2aXJ0dWFsIH5BY2NlbGVyYXRlZFN1cmZhY2UoKSA9IGRlZmF1bHQ7Ci0KLSAgICB2
aXJ0dWFsIHVpbnQ2NF90IHdpbmRvdygpIGNvbnN0IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJl
dHVybiAwOyB9Ci0gICAgdmlydHVhbCB1aW50NjRfdCBzdXJmYWNlSUQoKSBjb25zdCB7IEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gMDsgfTsKLSAgICB2aXJ0dWFsIGJvb2wgcmVzaXplKGNv
bnN0IFdlYkNvcmU6OkludFNpemUmKTsKLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUGFpbnRNaXJy
b3JlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0KLXByb3RlY3RlZDoKLSAgICBBY2NlbGVy
YXRlZFN1cmZhY2UoV2ViUGFnZSYpOwotCi0gICAgV2ViUGFnZSYgbV93ZWJQYWdlOwotICAgIFdl
YkNvcmU6OkludFNpemUgbV9zaXplOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>