<?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>90110</bug_id>
          
          <creation_ts>2012-06-27 16:42:05 -0700</creation_ts>
          <short_desc>Add stub implementation for MediaStreamAudioSourceNode</short_desc>
          <delta_ts>2012-07-31 15:07:34 -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>Web Audio</component>
          <version>528+ (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="Chris Rogers">crogers</reporter>
          <assigned_to name="Chris Rogers">crogers</assigned_to>
          <cc>abarth</cc>
    
    <cc>crogers</cc>
    
    <cc>ericbidelman</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>henrika</cc>
    
    <cc>jer.noble</cc>
    
    <cc>levin+threading</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>scherkus</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xingnan.wang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>658963</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-06-27 16:42:05 -0700</bug_when>
    <thetext>Add stub implementation for MediaStreamAudioSourceNode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658978</commentid>
    <comment_count>1</comment_count>
      <attachid>149823</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-06-27 16:53:59 -0700</bug_when>
    <thetext>Created attachment 149823
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662496</commentid>
    <comment_count>2</comment_count>
      <attachid>150672</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-07-03 15:03:34 -0700</bug_when>
    <thetext>Created attachment 150672
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662497</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-07-03 15:04:18 -0700</bug_when>
    <thetext>Added layout test with latest patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683462</commentid>
    <comment_count>4</comment_count>
      <attachid>150672</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-07-31 14:14:23 -0700</bug_when>
    <thetext>Comment on attachment 150672
Patch

Looks good. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683517</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-07-31 15:07:34 -0700</bug_when>
    <thetext>Committed r124255: &lt;http://trac.webkit.org/changeset/124255&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149823</attachid>
            <date>2012-06-27 16:53:59 -0700</date>
            <delta_ts>2012-07-03 15:03:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90110-20120627165359.patch</filename>
            <type>text/plain</type>
            <size>29585</size>
            <attacher name="Chris Rogers">crogers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjYwZDExOGVhOWM2NmRj
M2EyZWFhNmQxM2UwY2MxZDE2Y2YyNTdlZS4uNGEzZDMwMjA3ZDlmYmFlM2MwNjlhODc0MGEwMjg3
MjkxZWM1NjI4NyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTA2LTI3ICBDaHJp
cyBSb2dlcnMgIDxjcm9nZXJzQGdvb2dsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWIgaW1wbGVt
ZW50YXRpb24gZm9yIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDExMAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gIEl0J3MgZGlmZmlj
dWx0IHRvIGRldGVybWluZSBob3cgdG8gY3JlYXRlIGEgTWVkaWFTdHJlYW0gb2JqZWN0IHRvIHBy
b3Blcmx5IHRlc3QgdGhpcy4gICAgICAgIAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIEFkZCBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9k
ZSBmaWxlcyB0byBtYWtlIGZpbGVzLgorCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRp
b0NvbnRleHQuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6
CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsOgorICAgICAgICAo
V2ViQ29yZTo6QXVkaW9Db250ZXh0OjpjcmVhdGVNZWRpYVN0cmVhbVNvdXJjZSk6CisgICAgICAg
IEFkZCBuZXcgY3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2UoKSBtZXRob2QuCisgICAgICAgIAorICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmg6CisgICAgICAgIEFkZCBOb2RlVHlw
ZU1lZGlhU3RyZWFtQXVkaW9Tb3VyY2UuCisgICAgICAgIAorICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZTo6TWVkaWFTdHJlYW1BdWRp
b1NvdXJjZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5v
ZGU6On5NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVN0cmVhbUF1ZGlvU291cmNlTm9kZTo6c2V0Rm9ybWF0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOjpwcm9jZXNzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVN0cmVhbUF1ZGlvU291cmNlTm9kZTo6bWVkaWFTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OmF1ZGlvU291cmNlUHJvdmlkZXIpOgorICAgICAg
ICBCYXNpYyBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZSBpbXBsZW1lbnRhdGlvbi4KKworICAg
ICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaWRsOiBB
ZGRlZC4KKwogMjAxMi0wNi0yNyAgSWFuIFZvbGxpY2sgIDx2b2xsaWNrQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbY2hyb21pdW1dIEFsbG93IHNjcmVlbiBzcGFjZSByZWN0cyBhbmQgb2NjbHVk
aW5nIHJlY3RzIHRvIGJlIHZpc3VhbGl6ZWQgZm9yIGRlYnVnZ2luZy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggNmQzZGE3ZjhjMjRiNDYyN2M1ZjEyMzM5OThkZjM3MGU1MTM0NDNmNy4uOWNhNGFm
NGQ5ZGI3NjNiMGRlNjU5ZTJmNDU4NTUzYzNlNDE1NGUzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTE0OCw2ICsxNDgsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBNb2R1bGVzL3dl
YmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaWRsCiAgICAgTW9kdWxlcy93ZWJhdWRpby9K
YXZhU2NyaXB0QXVkaW9Ob2RlLmlkbAogICAgIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50
QXVkaW9Tb3VyY2VOb2RlLmlkbAorICAgIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRp
b1NvdXJjZU5vZGUuaWRsCiAgICAgTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db21wbGV0
aW9uRXZlbnQuaWRsCiAgICAgTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yLmlkbAogICAgIE1v
ZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlck5vZGUuaWRsCkBAIC0yNTU1LDYgKzI1NTYs
NyBAQCBJRiAoRU5BQkxFX1dFQl9BVURJTykKICAgICAgICAgTW9kdWxlcy93ZWJhdWRpby9EeW5h
bWljc0NvbXByZXNzb3JOb2RlLmNwcAogICAgICAgICBNb2R1bGVzL3dlYmF1ZGlvL0phdmFTY3Jp
cHRBdWRpb05vZGUuY3BwCiAgICAgICAgIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVk
aW9Tb3VyY2VOb2RlLmNwcAorICAgICAgICBNb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVk
aW9Tb3VyY2VOb2RlLmNwcAogICAgICAgICBNb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Nv
bXBsZXRpb25FdmVudC5jcHAKICAgICAgICAgTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9E
ZXN0aW5hdGlvbk5vZGUuY3BwCiAgICAgICAgIE1vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvci5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDAzZjQwMDRmYThiZjFhNWUxZjMy
YzRjZTk4ZDZmYWUwNDA5YzRhNjcuLmQ1MzAyZDExZDAyYzc2N2MwODhiYzNjNGMxNDAwYWNjNWIz
YTY2MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTMyLDYgKzEzMiw3IEBA
IEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vRHluYW1p
Y3NDb21wcmVzc29yTm9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9K
YXZhU2NyaXB0QXVkaW9Ob2RlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlv
L01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyTm9kZS5pZGwgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMzVlYzJlYzE1NTZmNDRmMjZmMTlkMTlkZjE3M2Jj
NzdlNDNmMmM4ZS4uY2I5NjFmZmViMjI5NzA0YWE4MzY0MmI2ODRiYThiNzU4Mzg3MWUyNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01Njg0LDYgKzU2ODQsOCBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vSmF2YVNjcmlw
dEF1ZGlvTm9kZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxl
bWVudEF1ZGlvU291cmNlTm9kZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwIFwKKwlTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmggXAogCVNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2Rl
LmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVzdGlu
YXRpb25Ob2RlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5l
QXVkaW9Db21wbGV0aW9uRXZlbnQuaCBcCkBAIC01ODIzLDYgKzU4MjUsOCBAQCB3ZWJjb3JlX2J1
aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPZmZsaW5lQXVkaW9D
b21wbGV0aW9uRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhRWxlbWVu
dEF1ZGlvU291cmNlTm9kZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUVs
ZW1lbnRBdWRpb1NvdXJjZU5vZGUuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlh
U3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01l
ZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNS
ZWFsdGltZUFuYWx5c2VyTm9kZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZWFs
dGltZUFuYWx5c2VyTm9kZS5oCiAKQEAgLTU4NDUsNiArNTg0OSw3IEBAIGRvbV9iaW5kaW5nX2lk
bHMgKz0gXAogCSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUuaWRsIFwKIAkk
KFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vSmF2YVNjcmlwdEF1ZGlvTm9kZS5pZGwgXAogCSQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaWRs
IFwKKwkkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5v
ZGUuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29tcGxl
dGlvbkV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0
b3IuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlck5v
ZGUuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250
ZXh0LmNwcAppbmRleCA5YWNlOTUxYTdjZDY3ODQwMDg2ZGE2M2QyMDdhYzA4ZDYxOTg4MTRkLi5h
YjhlMTcyMjg1MmUxMDVjNWIyMDUyZTUwMmY2OTk4NTY4M2Q5ZDhkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCkBAIC01OSw2ICs1OSwx
MSBAQAogI2luY2x1ZGUgIldhdmVTaGFwZXJOb2RlLmgiCiAjaW5jbHVkZSAiV2F2ZVRhYmxlLmgi
CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorI2luY2x1ZGUgIk1lZGlhU3RyZWFtLmgiCisj
aW5jbHVkZSAiTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaCIKKyNlbmRpZgorCiAjaWYgRU5B
QkxFKFZJREVPKQogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJNZWRp
YUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaCIKQEAgLTM4NCw2ICszODksMjYgQEAgUGFzc1JlZlB0
cjxNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU+IEF1ZGlvQ29udGV4dDo6Y3JlYXRlTWVkaWFF
bGVtZW50U291cmNlKEgKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK1Bh
c3NSZWZQdHI8TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU+IEF1ZGlvQ29udGV4dDo6Y3JlYXRl
TWVkaWFTdHJlYW1Tb3VyY2UoTWVkaWFTdHJlYW0qIG1lZGlhU3RyZWFtLCBFeGNlcHRpb25Db2Rl
JiBlYykKK3sKKyAgICBBU1NFUlQobWVkaWFTdHJlYW0pOworICAgIGlmICghbWVkaWFTdHJlYW0p
IHsKKyAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7Cisg
ICAgfQorCisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBsYXp5SW5pdGlhbGl6ZSgp
OworCisgICAgLy8gRklYTUU6IEZvciBub3cgd2UgZG9uJ3QgZ2l2ZSBpdCBhbiBBdWRpb1NvdXJj
ZVByb3ZpZGVyLCBzbyBpdCB3aWxsIG91dHB1dCBzaWxlbmNlLgorICAgIFJlZlB0cjxNZWRpYVN0
cmVhbUF1ZGlvU291cmNlTm9kZT4gbm9kZSA9IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOjpj
cmVhdGUodGhpcywgbWVkaWFTdHJlYW0sIDApOworCisgICAgcmVmTm9kZShub2RlLmdldCgpKTsg
Ly8gY29udGV4dCBrZWVwcyByZWZlcmVuY2UgdW50aWwgbm9kZSBpcyBkaXNjb25uZWN0ZWQKKyAg
ICByZXR1cm4gbm9kZTsKK30KKyNlbmRpZgorCiBQYXNzUmVmUHRyPEphdmFTY3JpcHRBdWRpb05v
ZGU+IEF1ZGlvQ29udGV4dDo6Y3JlYXRlSmF2YVNjcmlwdE5vZGUoc2l6ZV90IGJ1ZmZlclNpemUs
IEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIC8vIFNldCBudW1iZXIgb2YgaW5wdXQvb3V0cHV0
IGNoYW5uZWxzIHRvIHN0ZXJlbyBieSBkZWZhdWx0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKaW5kZXggNjY4MDZhNjJiZjBhZmI1NmZjYzlkNDA5
OTk4YzkxZDk4ZDJkMGE4Zi4uZjcyMjkzOTBhMzBmZjZmMjUzM2E0YjNiNjM0ZTBhYjI3ZWIwYzkw
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRl
eHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5o
CkBAIC00OSw2ICs0OSw3IEBAIGNsYXNzIEF1ZGlvQnVmZmVyOwogY2xhc3MgQXVkaW9CdWZmZXJD
YWxsYmFjazsKIGNsYXNzIEF1ZGlvQnVmZmVyU291cmNlTm9kZTsKIGNsYXNzIE1lZGlhRWxlbWVu
dEF1ZGlvU291cmNlTm9kZTsKK2NsYXNzIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOwogY2xh
c3MgSFRNTE1lZGlhRWxlbWVudDsKIGNsYXNzIEF1ZGlvQ2hhbm5lbE1lcmdlcjsKIGNsYXNzIEF1
ZGlvQ2hhbm5lbFNwbGl0dGVyOwpAQCAtMTE1LDYgKzExNiw5IEBAIHB1YmxpYzoKICNpZiBFTkFC
TEUoVklERU8pCiAgICAgUGFzc1JlZlB0cjxNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU+IGNy
ZWF0ZU1lZGlhRWxlbWVudFNvdXJjZShIVE1MTWVkaWFFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYp
OwogI2VuZGlmCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBQYXNzUmVmUHRyPE1lZGlh
U3RyZWFtQXVkaW9Tb3VyY2VOb2RlPiBjcmVhdGVNZWRpYVN0cmVhbVNvdXJjZShNZWRpYVN0cmVh
bSosIEV4Y2VwdGlvbkNvZGUmKTsKKyNlbmRpZgogICAgIFBhc3NSZWZQdHI8QXVkaW9HYWluTm9k
ZT4gY3JlYXRlR2Fpbk5vZGUoKTsKICAgICBQYXNzUmVmUHRyPEJpcXVhZEZpbHRlck5vZGU+IGNy
ZWF0ZUJpcXVhZEZpbHRlcigpOwogICAgIFBhc3NSZWZQdHI8V2F2ZVNoYXBlck5vZGU+IGNyZWF0
ZVdhdmVTaGFwZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9Db250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Db250ZXh0LmlkbAppbmRleCAxZDAyMjg4NDhiZGNiNjQ4ZjAzZWMyMTNmYjg2ZDU1MjcwNmRk
Yjk4Li44NDE1NWM1MjFlZDJkYzU3MjM2OGI3OTA4NjhhMGRkYTZkNTg1YzcyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCkBAIC01OCwx
MCArNTgsMTcgQEAgbW9kdWxlIHdlYmF1ZGlvIHsKIAogICAgICAgICAvLyBTb3VyY2VzCiAgICAg
ICAgIEF1ZGlvQnVmZmVyU291cmNlTm9kZSBjcmVhdGVCdWZmZXJTb3VyY2UoKTsKKwogI2lmIGRl
ZmluZWQoRU5BQkxFX1ZJREVPKSAmJiBFTkFCTEVfVklERU8KICAgICAgICAgTWVkaWFFbGVtZW50
QXVkaW9Tb3VyY2VOb2RlIGNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZShpbiBIVE1MTWVkaWFFbGVt
ZW50IG1lZGlhRWxlbWVudCkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogI2Vu
ZGlmCisKKyNpZiBkZWZpbmVkKEVOQUJMRV9NRURJQV9TVFJFQU0pICYmIEVOQUJMRV9NRURJQV9T
VFJFQU0KKyAgICAgICAgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUgY3JlYXRlTWVkaWFTdHJl
YW1Tb3VyY2UoaW4gTWVkaWFTdHJlYW0gbWVkaWFTdHJlYW0pCisgICAgICAgICAgICByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKKyNlbmRpZgorCiAgICAgICAgIC8vIFByb2Nlc3Npbmcgbm9kZXMKICAg
ICAgICAgQXVkaW9HYWluTm9kZSBjcmVhdGVHYWluTm9kZSgpOwogICAgICAgICBEZWxheU5vZGUg
Y3JlYXRlRGVsYXlOb2RlKGluIFtPcHRpb25hbF0gZG91YmxlIG1heERlbGF5VGltZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUuaAppbmRleCBiZWU3OGY3ZTgz
NjBmYTVmYmNlNjdjZDI5ZTQ1YjM1OTlkOTYzZTY2Li40ZWYzZTY1NjBiN2ZmZThkOWMwN2QwYzcy
NGZkZTljNGIzY2RjMDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Ob2RlLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHVibGljOgogICAgICAgICBOb2RlVHlwZU9zY2ls
bGF0b3IsCiAgICAgICAgIE5vZGVUeXBlQXVkaW9CdWZmZXJTb3VyY2UsCiAgICAgICAgIE5vZGVU
eXBlTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2UsCisgICAgICAgIE5vZGVUeXBlTWVkaWFTdHJlYW1B
dWRpb1NvdXJjZSwKICAgICAgICAgTm9kZVR5cGVKYXZhU2NyaXB0LAogICAgICAgICBOb2RlVHlw
ZUJpcXVhZEZpbHRlciwKICAgICAgICAgTm9kZVR5cGVQYW5uZXIsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJj
ZU5vZGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhODBmMDRlNzgzZDc2M2FmMTk0ZTliMjk5YzI5NDkyZGJl
YTc0MDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcApAQCAtMCwwICsxLDEyMCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShXRUJfQVVESU8pICYmIEVO
QUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9k
ZS5oIgorCisjaW5jbHVkZSAiQXVkaW9Db250ZXh0LmgiCisjaW5jbHVkZSAiQXVkaW9Ob2RlT3V0
cHV0LmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VO
b2RlPiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZTo6Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29u
dGV4dCwgTWVkaWFTdHJlYW0qIG1lZGlhU3RyZWFtLCBBdWRpb1NvdXJjZVByb3ZpZGVyKiBhdWRp
b1NvdXJjZVByb3ZpZGVyKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFTdHJlYW1B
dWRpb1NvdXJjZU5vZGUoY29udGV4dCwgbWVkaWFTdHJlYW0sIGF1ZGlvU291cmNlUHJvdmlkZXIp
KTsKK30KKworTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6Ok1lZGlhU3RyZWFtQXVkaW9Tb3Vy
Y2VOb2RlKEF1ZGlvQ29udGV4dCogY29udGV4dCwgTWVkaWFTdHJlYW0qIG1lZGlhU3RyZWFtLCBB
dWRpb1NvdXJjZVByb3ZpZGVyKiBhdWRpb1NvdXJjZVByb3ZpZGVyKQorICAgIDogQXVkaW9Tb3Vy
Y2VOb2RlKGNvbnRleHQsIGNvbnRleHQtPnNhbXBsZVJhdGUoKSkKKyAgICAsIG1fbWVkaWFTdHJl
YW0obWVkaWFTdHJlYW0pCisgICAgLCBtX2F1ZGlvU291cmNlUHJvdmlkZXIoYXVkaW9Tb3VyY2VQ
cm92aWRlcikKKyAgICAsIG1fc291cmNlTnVtYmVyT2ZDaGFubmVscygwKQoreworICAgIC8vIERl
ZmF1bHQgdG8gc3RlcmVvLiBUaGlzIGNvdWxkIGNoYW5nZSBkZXBlbmRpbmcgb24gdGhlIGZvcm1h
dCBvZiB0aGUgTWVkaWFTdHJlYW0ncyBhdWRpbyB0cmFjay4KKyAgICBhZGRPdXRwdXQoYWRvcHRQ
dHIobmV3IEF1ZGlvTm9kZU91dHB1dCh0aGlzLCAyKSkpOworCisgICAgc2V0Tm9kZVR5cGUoTm9k
ZVR5cGVNZWRpYVN0cmVhbUF1ZGlvU291cmNlKTsKKworICAgIGluaXRpYWxpemUoKTsKK30KKwor
TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6On5NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZSgp
Cit7CisgICAgdW5pbml0aWFsaXplKCk7Cit9CisKK3ZvaWQgTWVkaWFTdHJlYW1BdWRpb1NvdXJj
ZU5vZGU6OnNldEZvcm1hdChzaXplX3QgbnVtYmVyT2ZDaGFubmVscywgZmxvYXQgc291cmNlU2Ft
cGxlUmF0ZSkKK3sKKyAgICBpZiAobnVtYmVyT2ZDaGFubmVscyAhPSBtX3NvdXJjZU51bWJlck9m
Q2hhbm5lbHMgfHwgc291cmNlU2FtcGxlUmF0ZSAhPSBzYW1wbGVSYXRlKCkpIHsKKyAgICAgICAg
Ly8gVGhlIHNhbXBsZS1yYXRlIG11c3QgYmUgZXF1YWwgdG8gdGhlIGNvbnRleHQncyBzYW1wbGUt
cmF0ZS4KKyAgICAgICAgaWYgKCFudW1iZXJPZkNoYW5uZWxzIHx8IG51bWJlck9mQ2hhbm5lbHMg
PiBBdWRpb0NvbnRleHQ6Om1heE51bWJlck9mQ2hhbm5lbHMoKSB8fCBzb3VyY2VTYW1wbGVSYXRl
ICE9IHNhbXBsZVJhdGUoKSkgeworICAgICAgICAgICAgLy8gcHJvY2VzcygpIHdpbGwgZ2VuZXJh
dGUgc2lsZW5jZSBmb3IgdGhlc2UgdW5pbml0aWFsaXplZCB2YWx1ZXMuCisgICAgICAgICAgICBM
T0coTWVkaWEsICJNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZTo6c2V0Rm9ybWF0KCV1LCAlZikg
LSB1bmhhbmRsZWQgZm9ybWF0IGNoYW5nZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihudW1iZXJP
ZkNoYW5uZWxzKSwgc291cmNlU2FtcGxlUmF0ZSk7CisgICAgICAgICAgICBtX3NvdXJjZU51bWJl
ck9mQ2hhbm5lbHMgPSAwOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAg
ICAgLy8gU3luY2hyb25pemUgd2l0aCBwcm9jZXNzKCkuCisgICAgICAgIE11dGV4TG9ja2VyIGxv
Y2tlcihtX3Byb2Nlc3NMb2NrKTsKKworICAgICAgICBtX3NvdXJjZU51bWJlck9mQ2hhbm5lbHMg
PSBudW1iZXJPZkNoYW5uZWxzOworCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIFRoZSBjb250
ZXh0IG11c3QgYmUgbG9ja2VkIHdoZW4gY2hhbmdpbmcgdGhlIG51bWJlciBvZiBvdXRwdXQgY2hh
bm5lbHMuCisgICAgICAgICAgICBBdWRpb0NvbnRleHQ6OkF1dG9Mb2NrZXIgY29udGV4dExvY2tl
cihjb250ZXh0KCkpOworCisgICAgICAgICAgICAvLyBEbyBhbnkgbmVjZXNzc2FyeSByZS1jb25m
aWd1cmF0aW9uIHRvIHRoZSBvdXRwdXQncyBudW1iZXIgb2YgY2hhbm5lbHMuCisgICAgICAgICAg
ICBvdXRwdXQoMCktPnNldE51bWJlck9mQ2hhbm5lbHMobnVtYmVyT2ZDaGFubmVscyk7CisgICAg
ICAgIH0KKyAgICB9Cit9CisKK3ZvaWQgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OnByb2Nl
c3Moc2l6ZV90IG51bWJlck9mRnJhbWVzKQoreworICAgIEF1ZGlvQnVzKiBvdXRwdXRCdXMgPSBv
dXRwdXQoMCktPmJ1cygpOworCisgICAgaWYgKCFhdWRpb1NvdXJjZVByb3ZpZGVyKCkpIHsKKyAg
ICAgICAgb3V0cHV0QnVzLT56ZXJvKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBp
ZiAoIW1lZGlhU3RyZWFtKCkgfHwgbV9zb3VyY2VOdW1iZXJPZkNoYW5uZWxzICE9IG91dHB1dEJ1
cy0+bnVtYmVyT2ZDaGFubmVscygpKSB7CisgICAgICAgIG91dHB1dEJ1cy0+emVybygpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gVXNlIGEgdHJ5TG9jaygpIHRvIGF2b2lkIGNv
bnRlbnRpb24gaW4gdGhlIHJlYWwtdGltZSBhdWRpbyB0aHJlYWQuCisgICAgLy8gSWYgd2UgZmFp
bCB0byBhY3F1aXJlIHRoZSBsb2NrIHRoZW4gdGhlIE1lZGlhU3RyZWFtIG11c3QgYmUgaW4gdGhl
IG1pZGRsZSBvZgorICAgIC8vIGEgZm9ybWF0IGNoYW5nZSwgc28gd2Ugb3V0cHV0IHNpbGVuY2Ug
aW4gdGhpcyBjYXNlLgorICAgIE11dGV4VHJ5TG9ja2VyIHRyeUxvY2tlcihtX3Byb2Nlc3NMb2Nr
KTsKKyAgICBpZiAodHJ5TG9ja2VyLmxvY2tlZCgpKQorICAgICAgICBhdWRpb1NvdXJjZVByb3Zp
ZGVyKCktPnByb3ZpZGVJbnB1dChvdXRwdXRCdXMsIG51bWJlck9mRnJhbWVzKTsKKyAgICBlbHNl
IHsKKyAgICAgICAgLy8gV2UgZmFpbGVkIHRvIGFjcXVpcmUgdGhlIGxvY2suCisgICAgICAgIG91
dHB1dEJ1cy0+emVybygpOworICAgIH0KK30KKwordm9pZCBNZWRpYVN0cmVhbUF1ZGlvU291cmNl
Tm9kZTo6cmVzZXQoKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoV0VCX0FVRElPKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9k
ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291
cmNlTm9kZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiZGYyODc4NzQ1YjJiZjAxZjQ2NjVhMzdkNTc4YzYxOWJi
OGU2MzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmgKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
CisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGVfaAorI2RlZmluZSBNZWRpYVN0
cmVhbUF1ZGlvU291cmNlTm9kZV9oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5j
bHVkZSAiQXVkaW9Tb3VyY2VOb2RlLmgiCisjaW5jbHVkZSAiQXVkaW9Tb3VyY2VQcm92aWRlci5o
IgorI2luY2x1ZGUgIkF1ZGlvU291cmNlUHJvdmlkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJNZWRp
YVN0cmVhbS5oIgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBBdWRpb0NvbnRleHQ7CisKK2NsYXNzIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VO
b2RlIDogcHVibGljIEF1ZGlvU291cmNlTm9kZSwgcHVibGljIEF1ZGlvU291cmNlUHJvdmlkZXJD
bGllbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQXVkaW9T
b3VyY2VOb2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiwgTWVkaWFTdHJlYW0qLCBBdWRpb1NvdXJj
ZVByb3ZpZGVyKik7CisKKyAgICB2aXJ0dWFsIH5NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZSgp
OworCisgICAgTWVkaWFTdHJlYW0qIG1lZGlhU3RyZWFtKCkgeyByZXR1cm4gbV9tZWRpYVN0cmVh
bS5nZXQoKTsgfQorCisgICAgLy8gQXVkaW9Ob2RlCisgICAgdmlydHVhbCB2b2lkIHByb2Nlc3Mo
c2l6ZV90IGZyYW1lc1RvUHJvY2Vzcyk7CisgICAgdmlydHVhbCB2b2lkIHJlc2V0KCk7CisKKyAg
ICAvLyBBdWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50CisgICAgdmlydHVhbCB2b2lkIHNldEZvcm1h
dChzaXplX3QgbnVtYmVyT2ZDaGFubmVscywgZmxvYXQgc2FtcGxlUmF0ZSk7CisKKyAgICBBdWRp
b1NvdXJjZVByb3ZpZGVyKiBhdWRpb1NvdXJjZVByb3ZpZGVyKCkgY29uc3QgeyByZXR1cm4gbV9h
dWRpb1NvdXJjZVByb3ZpZGVyOyB9CisKK3ByaXZhdGU6CisgICAgTWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZU5vZGUoQXVkaW9Db250ZXh0KiwgTWVkaWFTdHJlYW0qLCBBdWRpb1NvdXJjZVByb3ZpZGVy
Kik7CisKKyAgICAvLyBBcyBhbiBhdWRpbyBzb3VyY2UsIHdlIHdpbGwgbmV2ZXIgcHJvcGFnYXRl
IHNpbGVuY2UuCisgICAgdmlydHVhbCBib29sIHByb3BhZ2F0ZXNTaWxlbmNlKCkgY29uc3QgT1ZF
UlJJREUgeyByZXR1cm4gZmFsc2U7IH0KKworICAgIFJlZlB0cjxNZWRpYVN0cmVhbT4gbV9tZWRp
YVN0cmVhbTsKKyAgICBBdWRpb1NvdXJjZVByb3ZpZGVyKiBtX2F1ZGlvU291cmNlUHJvdmlkZXI7
CisKKyAgICBNdXRleCBtX3Byb2Nlc3NMb2NrOworCisgICAgdW5zaWduZWQgbV9zb3VyY2VOdW1i
ZXJPZkNoYW5uZWxzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VO
b2RlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFT
dHJlYW1BdWRpb1NvdXJjZU5vZGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTRiOTFhMmM2NjBl
ZGRjNjk0Y2FhZmUzZmIyYTAwNDViMzlhMGQzYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaWRsCkBA
IC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
KyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgYXVkaW8geworICAgIGludGVyZmFj
ZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKKyAgICAgICAgSlNHZW5lcmF0
ZVRvSlNPYmplY3QKKyAgICBdIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlIDogQXVkaW9Tb3Vy
Y2VOb2RlIHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhU3RyZWFtIG1lZGlhU3Ry
ZWFtOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMTA1NGUwNzI1NWNhNzZhYjhiZGU1
ZTRjMDI5YTk2NWU5ZDMwMjgwNS4uNDA3MDQwZGFhYmUwYTRkNTdkNWQ1OTBmMTNjNDI3YjkxYzE3
NzdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtODc1LDYgKzg3NSw3IEBACiAgICAgICAgICAgICAn
TW9kdWxlcy93ZWJhdWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmlkbCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy93ZWJhdWRpby9KYXZhU2NyaXB0QXVkaW9Ob2RlLmlkbCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaWRsJywKKyAg
ICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmlk
bCcsCiAgICAgICAgICAgICAnTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db21wbGV0aW9u
RXZlbnQuaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3IuaWRs
JywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXJOb2RlLmlk
bCcsCkBAIC0xNjU1LDYgKzE2NTYsOCBAQAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8v
SmF2YVNjcmlwdEF1ZGlvTm9kZS5oJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL01l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2Vi
YXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmgnLAorICAgICAgICAgICAgJ01vZHVs
ZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwJywKKyAgICAgICAgICAg
ICdNb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmgnLAogICAgICAg
ICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50LmNwcCcs
CiAgICAgICAgICAgICAnTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZl
bnQuaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5h
dGlvbk5vZGUuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCAyZGQzNThjNjgyMmI3Yzk4ZGRkZjM2N2IxMDE2NWM4MThkMjhk
NmY3Li5hZTU2ODgzZGQwOGUwZDllYTkxZGViY2VlMWYwZWQ3MWFjZjIwYjFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02Mzcz
LDYgKzYzNzMsOCBAQAogCQlGRDYyOUVBMzE1NEI0NzE2MDAwNkQwMjYgLyogQXVkaW9CYXNpY0lu
c3BlY3Rvck5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEZENjI5RUExMTU0QjQ3MTYwMDA2RDAyNiAvKiBBdWRpb0Jhc2ljSW5zcGVjdG9yTm9kZS5o
ICovOyB9OwogCQlGRDYyOUVBNDE1NEI0NzE2MDAwNkQwMjYgLyogQXVkaW9CYXNpY0luc3BlY3Rv
ck5vZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RkQ2MjlFQTIxNTRCNDcxNjAwMDZEMDI2IC8qIEF1ZGlvQmFzaWNJbnNwZWN0b3JOb2RlLmNwcCAq
LzsgfTsKIAkJRkQ2MkY1MkUxNDU4OThEODAwOTRCMEVEIC8qIEF1ZGlvU291cmNlUHJvdmlkZXJD
bGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZE
NjJGNTJEMTQ1ODk4RDgwMDk0QjBFRCAvKiBBdWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50LmggKi87
IH07CisJCUZENjcxQTc3MTU5QkIwNzAwMDE5NzU1OSAvKiBNZWRpYVN0cmVhbUF1ZGlvU291cmNl
Tm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
RDY3MUE3NDE1OUJCMDcwMDAxOTc1NTkgLyogTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3Bw
ICovOyB9OworCQlGRDY3MUE3ODE1OUJCMDcwMDAxOTc1NTkgLyogTWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZU5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZENjcxQTc1MTU5QkIwNzAwMDE5NzU1OSAvKiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5o
ICovOyB9OwogCQlGRDZFRDJDMzEzNkI4RTQyMDAzQ0YwNzIgLyogRHluYW1pY3NDb21wcmVzc29y
Tm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
RDZFRDJDMTEzNkI4RTQyMDAzQ0YwNzIgLyogRHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHAgKi87
IH07CiAJCUZENkVEMkM0MTM2QjhFNDIwMDNDRjA3MiAvKiBEeW5hbWljc0NvbXByZXNzb3JOb2Rl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRDZFRDJD
MjEzNkI4RTQyMDAzQ0YwNzIgLyogRHluYW1pY3NDb21wcmVzc29yTm9kZS5oICovOyB9OwogCQlG
RDZFRDJDNzEzNkI4RTY2MDAzQ0YwNzIgLyogRHluYW1pY3NDb21wcmVzc29yLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZENkVEMkM1MTM2QjhFNjYw
MDNDRjA3MiAvKiBEeW5hbWljc0NvbXByZXNzb3IuY3BwICovOyB9OwpAQCAtNjQzOCw2ICs2NDQw
LDggQEAKIAkJRkRCMDUyRTAxNTYxQTQyQzAwQjUwMEQ2IC8qIEF1ZGlvU3VtbWluZ0p1bmN0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREIwNTJE
RTE1NjFBNDJDMDBCNTAwRDYgLyogQXVkaW9TdW1taW5nSnVuY3Rpb24uaCAqLzsgfTsKIAkJRkRC
MTcwMDUxNEEyQkFCMjAwQTJCNUQ5IC8qIE11bHRpQ2hhbm5lbFJlc2FtcGxlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREIxNzAwMzE0QTJCQUIy
MDBBMkI1RDkgLyogTXVsdGlDaGFubmVsUmVzYW1wbGVyLmNwcCAqLzsgfTsKIAkJRkRCMTcwMDYx
NEEyQkFCMjAwQTJCNUQ5IC8qIE11bHRpQ2hhbm5lbFJlc2FtcGxlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkRCMTcwMDQxNEEyQkFCMjAwQTJCNUQ5
IC8qIE11bHRpQ2hhbm5lbFJlc2FtcGxlci5oICovOyB9OworCQlGREJENDgwQzE1OUJDNjg3MDA5
M0VCNEYgLyogSlNNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREJENDgwQTE1OUJDNjg3MDA5M0VCNEYg
LyogSlNNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5jcHAgKi87IH07CisJCUZEQkQ0ODBEMTU5
QkM2ODcwMDkzRUI0RiAvKiBKU01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREJENDgwQjE1OUJDNjg3MDA5
M0VCNEYgLyogSlNNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oICovOyB9OwogCQlGREM1NEYw
NDEzOTlCMERBMDA4RDkxMTcgLyogQmlxdWFkRmlsdGVyTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREM1NEYwMTEzOTlCMERBMDA4RDkxMTcg
LyogQmlxdWFkRmlsdGVyTm9kZS5jcHAgKi87IH07CiAJCUZEQzU0RjA1MTM5OUIwREEwMDhEOTEx
NyAvKiBCaXF1YWRGaWx0ZXJOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGREM1NEYwMjEzOTlCMERBMDA4RDkxMTcgLyogQmlxdWFkRmlsdGVyTm9k
ZS5oICovOyB9OwogCQlGREVBNjI0MjE1MjEwMkUyMDA0NzlERjAgLyogSlNPc2NpbGxhdG9yLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZERUE2MjQw
MTUyMTAyRTIwMDQ3OURGMCAvKiBKU09zY2lsbGF0b3IuY3BwICovOyB9OwpAQCAtMTM2ODgsNiAr
MTM2OTIsOSBAQAogCQlGRDYyOUVBMTE1NEI0NzE2MDAwNkQwMjYgLyogQXVkaW9CYXNpY0luc3Bl
Y3Rvck5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXVkaW9CYXNpY0lu
c3BlY3Rvck5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkQ2MjlFQTIxNTRC
NDcxNjAwMDZEMDI2IC8qIEF1ZGlvQmFzaWNJbnNwZWN0b3JOb2RlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1ZGlvQmFzaWNJbnNwZWN0b3JOb2RlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkQ2MkY1MkQxNDU4OThEODAwOTRCMEVEIC8qIEF1
ZGlvU291cmNlUHJvdmlkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlGRDY3MUE3NDE1OUJCMDcwMDAxOTc1NTkgLyogTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5v
ZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTdHJlYW1B
dWRpb1NvdXJjZU5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRDY3MUE3
NTE1OUJCMDcwMDAxOTc1NTkgLyogTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkQ2NzFBNzYxNTlCQjA3MDAwMTk3NTU5IC8q
IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBN
ZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUZENkVEMkMxMTM2QjhFNDIwMDNDRjA3MiAvKiBEeW5hbWljc0NvbXByZXNzb3JOb2RlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IER5bmFtaWNzQ29tcHJlc3Nv
ck5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRDZFRDJDMjEzNkI4RTQy
MDAzQ0YwNzIgLyogRHluYW1pY3NDb21wcmVzc29yTm9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBEeW5hbWljc0NvbXByZXNzb3JOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUZENkVEMkM1MTM2QjhFNjYwMDNDRjA3MiAvKiBEeW5hbWljc0NvbXByZXNz
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRHluYW1pY3NDb21w
cmVzc29yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNzU3LDYgKzEzNzY0
LDggQEAKIAkJRkRCMDUyREUxNTYxQTQyQzAwQjUwMEQ2IC8qIEF1ZGlvU3VtbWluZ0p1bmN0aW9u
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvU3VtbWluZ0p1bmN0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZEQjE3MDAzMTRBMkJBQjIwMEEyQjVE
OSAvKiBNdWx0aUNoYW5uZWxSZXNhbXBsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTXVsdGlDaGFubmVsUmVzYW1wbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRkRCMTcwMDQxNEEyQkFCMjAwQTJCNUQ5IC8qIE11bHRpQ2hhbm5lbFJlc2Ft
cGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNdWx0aUNoYW5uZWxSZXNh
bXBsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkRCRDQ4MEExNTlCQzY4NzAw
OTNFQjRGIC8qIEpTTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZEQkQ0ODBCMTU5QkM2ODcwMDkzRUI0RiAv
KiBKU01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRkRDNTRGMDExMzk5QjBEQTAwOEQ5MTE3IC8qIEJpcXVhZEZpbHRlck5v
ZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmlxdWFkRmlsdGVy
Tm9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZEQzU0RjAyMTM5OUIwREEw
MDhEOTExNyAvKiBCaXF1YWRGaWx0ZXJOb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEJpcXVhZEZpbHRlck5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RkRDNTRGMDMxMzk5QjBEQTAwOEQ5MTE3IC8qIEJpcXVhZEZpbHRlck5vZGUuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEJpcXVhZEZpbHRlck5vZGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjE3MjMsNiArMjE3MzIsOSBAQAogCQkJCUZENkYyNTI5MTNGNUVGMEUwMDY1
MTY1RiAvKiBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwICovLAogCQkJCUZENkYyNTJB
MTNGNUVGMEUwMDY1MTY1RiAvKiBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaCAqLywKIAkJ
CQlGRDZGMjUyQjEzRjVFRjBFMDA2NTE2NUYgLyogTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2Rl
LmlkbCAqLywKKwkJCQlGRDY3MUE3NDE1OUJCMDcwMDAxOTc1NTkgLyogTWVkaWFTdHJlYW1BdWRp
b1NvdXJjZU5vZGUuY3BwICovLAorCQkJCUZENjcxQTc1MTU5QkIwNzAwMDE5NzU1OSAvKiBNZWRp
YVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oICovLAorCQkJCUZENjcxQTc2MTU5QkIwNzAwMDE5NzU1
OSAvKiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5pZGwgKi8sCiAJCQkJRkRBM0U5NTUxMzRB
NDlFRjAwOEQ0QjVBIC8qIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5jcHAgKi8sCiAJCQkJ
RkRBM0U5NTYxMzRBNDlFRjAwOEQ0QjVBIC8qIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5o
ICovLAogCQkJCUZEQTNFOTVEMTM0QTQ5RkYwMDhENEI1QSAvKiBPZmZsaW5lQXVkaW9Db21wbGV0
aW9uRXZlbnQuaWRsICovLApAQCAtMjE4ODQsNiArMjE4OTYsOCBAQAogCQkJCUZEQTE1RUNDMTJC
MDNGNjEwMDNBNTgzQSAvKiBKU0phdmFTY3JpcHRBdWRpb05vZGUuaCAqLywKIAkJCQlGRDIzQTEy
MzEzRjVGQTU5MDBGNjcwMDEgLyogSlNNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwICov
LAogCQkJCUZEMjNBMTI0MTNGNUZBNTkwMEY2NzAwMSAvKiBKU01lZGlhRWxlbWVudEF1ZGlvU291
cmNlTm9kZS5oICovLAorCQkJCUZEQkQ0ODBBMTU5QkM2ODcwMDkzRUI0RiAvKiBKU01lZGlhU3Ry
ZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcCAqLywKKwkJCQlGREJENDgwQjE1OUJDNjg3MDA5M0VCNEYg
LyogSlNNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oICovLAogCQkJCUZERjZCQUY2MTM0QTRD
OTgwMDgyMjkyMCAvKiBKU09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5jcHAgKi8sCiAJCQkJ
RkRGNkJBRjcxMzRBNEM5ODAwODIyOTIwIC8qIEpTT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50
LmggKi8sCiAJCQkJRkRFQTYyNDAxNTIxMDJFMjAwNDc5REYwIC8qIEpTT3NjaWxsYXRvci5jcHAg
Ki8sCkBAIC0yNTE1NSw2ICsyNTE2OSw4IEBACiAJCQkJNTA5ODdDMjcxNTdENjc2RDAwQkRBODM1
IC8qIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTRGMzJC
QjFCMTRGQTg1RTgwMEY2QzFBMyAvKiBNZW1vcnlJbnN0cnVtZW50YXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4ODJEQTIzMTU5Mzg0OEQwMDAxMTVFRCAvKiBDU1NUb1N0eWxlTWFwLmggaW4g
SGVhZGVycyAqLywKKwkJCQlGRDY3MUE3ODE1OUJCMDcwMDAxOTc1NTkgLyogTWVkaWFTdHJlYW1B
dWRpb1NvdXJjZU5vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUZEQkQ0ODBEMTU5QkM2ODcwMDkz
RUI0RiAvKiBKU01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAg
LTI4MjA4LDYgKzI4MjI0LDggQEAKIAkJCQlDRTdCMkRCNjE1ODZBQkFEMDA5OEIzRkEgLyogVGV4
dEFsdGVybmF0aXZlV2l0aFJhbmdlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTA5ODdDMjYxNTdE
Njc2RDAwQkRBODM1IC8qIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTg4MkRBMjAxNTkzODQ2QTAwMDExNUVEIC8qIENTU1RvU3R5bGVNYXAuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJRkQ2NzFBNzcxNTlCQjA3MDAwMTk3NTU5IC8qIE1lZGlhU3RyZWFt
QXVkaW9Tb3VyY2VOb2RlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZEQkQ0ODBDMTU5QkM2ODcw
MDkzRUI0RiAvKiBKU01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150672</attachid>
            <date>2012-07-03 15:03:34 -0700</date>
            <delta_ts>2012-07-31 14:14:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90110-20120703150333.patch</filename>
            <type>text/plain</type>
            <size>34309</size>
            <attacher name="Chris Rogers">crogers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjYwZDExOGVhOWM2NmRj
M2EyZWFhNmQxM2UwY2MxZDE2Y2YyNTdlZS4uOTAyNTc4N2MzY2QxODM4NTI4NWM0ZDNiZDk0ZTg3
MjNkZjkyMmNjNyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTA3LTAzICBDaHJp
cyBSb2dlcnMgIDxjcm9nZXJzQGdvb2dsZS5jb20+CisKKyAgICAgICAgQWRkIHN0dWIgaW1wbGVt
ZW50YXRpb24gZm9yIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDExMAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5ldyBsYXlvdXQgdGVzdDogd2ViYXVkaW8v
bWVkaWFzdHJlYW1hdWRpb3NvdXJjZW5vZGUuaHRtbCAgICAKKworICAgICAgICAqIENNYWtlTGlz
dHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgTWVkaWFTdHJlYW1BdWRp
b1NvdXJjZU5vZGUgZmlsZXMgdG8gbWFrZSBmaWxlcy4KKworICAgICAgICAqIE1vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
Q29udGV4dC5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbDoK
KyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29udGV4dDo6Y3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2Up
OgorICAgICAgICBBZGQgbmV3IGNyZWF0ZU1lZGlhU3RyZWFtU291cmNlKCkgbWV0aG9kLgorCisg
ICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUuaDoKKyAgICAgICAgQWRkIE5vZGVU
eXBlTWVkaWFTdHJlYW1BdWRpb1NvdXJjZS4KKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8v
TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVz
L3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZTo6TWVkaWFTdHJlYW1BdWRpb1NvdXJj
ZU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6On5N
ZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVh
bUF1ZGlvU291cmNlTm9kZTo6c2V0Rm9ybWF0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtQXVkaW9Tb3VyY2VOb2RlOjpwcm9jZXNzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtQXVkaW9Tb3VyY2VOb2RlOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVh
bUF1ZGlvU291cmNlTm9kZTo6bWVkaWFTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFT
dHJlYW1BdWRpb1NvdXJjZU5vZGU6OmF1ZGlvU291cmNlUHJvdmlkZXIpOgorICAgICAgICBCYXNp
YyBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZSBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAq
IE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaWRsOiBBZGRlZC4K
KwogMjAxMi0wNi0yNyAgSWFuIFZvbGxpY2sgIDx2b2xsaWNrQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbY2hyb21pdW1dIEFsbG93IHNjcmVlbiBzcGFjZSByZWN0cyBhbmQgb2NjbHVkaW5nIHJl
Y3RzIHRvIGJlIHZpc3VhbGl6ZWQgZm9yIGRlYnVnZ2luZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5k
ZXggNmQzZGE3ZjhjMjRiNDYyN2M1ZjEyMzM5OThkZjM3MGU1MTM0NDNmNy4uOWNhNGFmNGQ5ZGI3
NjNiMGRlNjU5ZTJmNDU4NTUzYzNlNDE1NGUzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE0
OCw2ICsxNDgsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBNb2R1bGVzL3dlYmF1ZGlv
L0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaWRsCiAgICAgTW9kdWxlcy93ZWJhdWRpby9KYXZhU2Ny
aXB0QXVkaW9Ob2RlLmlkbAogICAgIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9T
b3VyY2VOb2RlLmlkbAorICAgIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJj
ZU5vZGUuaWRsCiAgICAgTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZl
bnQuaWRsCiAgICAgTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yLmlkbAogICAgIE1vZHVsZXMv
d2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlck5vZGUuaWRsCkBAIC0yNTU1LDYgKzI1NTYsNyBAQCBJ
RiAoRU5BQkxFX1dFQl9BVURJTykKICAgICAgICAgTW9kdWxlcy93ZWJhdWRpby9EeW5hbWljc0Nv
bXByZXNzb3JOb2RlLmNwcAogICAgICAgICBNb2R1bGVzL3dlYmF1ZGlvL0phdmFTY3JpcHRBdWRp
b05vZGUuY3BwCiAgICAgICAgIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3Vy
Y2VOb2RlLmNwcAorICAgICAgICBNb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3Vy
Y2VOb2RlLmNwcAogICAgICAgICBNb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRp
b25FdmVudC5jcHAKICAgICAgICAgTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5h
dGlvbk5vZGUuY3BwCiAgICAgICAgIE1vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvci5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDAzZjQwMDRmYThiZjFhNWUxZjMyYzRjZTk4
ZDZmYWUwNDA5YzRhNjcuLmQ1MzAyZDExZDAyYzc2N2MwODhiYzNjNGMxNDAwYWNjNWIzYTY2Mjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTMyLDYgKzEzMiw3IEBAIEJJTkRJ
TkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21w
cmVzc29yTm9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9KYXZhU2Ny
aXB0QXVkaW9Ob2RlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlh
RWxlbWVudEF1ZGlvU291cmNlTm9kZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJh
dWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dl
YmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyTm9kZS5pZGwgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KaW5kZXggMzVlYzJlYzE1NTZmNDRmMjZmMTlkMTlkZjE3M2JjNzdlNDNm
MmM4ZS4uY2I5NjFmZmViMjI5NzA0YWE4MzY0MmI2ODRiYThiNzU4Mzg3MWUyNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01Njg0LDYgKzU2ODQsOCBAQCB3ZWJjb3JlX3NvdXJj
ZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vSmF2YVNjcmlwdEF1ZGlv
Tm9kZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1
ZGlvU291cmNlTm9kZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVk
aWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmggXAogCVNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlLmggXAog
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvRGVzdGluYXRpb25O
b2RlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9D
b21wbGV0aW9uRXZlbnQuaCBcCkBAIC01ODIzLDYgKzU4MjUsOCBAQCB3ZWJjb3JlX2J1aWx0X3Nv
dXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNPZmZsaW5lQXVkaW9Db21wbGV0
aW9uRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhRWxlbWVudEF1ZGlv
U291cmNlTm9kZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUVsZW1lbnRB
dWRpb1NvdXJjZU5vZGUuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU3RyZWFt
QXVkaW9Tb3VyY2VOb2RlLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhU3Ry
ZWFtQXVkaW9Tb3VyY2VOb2RlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZWFsdGlt
ZUFuYWx5c2VyTm9kZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSZWFsdGltZUFu
YWx5c2VyTm9kZS5oCiAKQEAgLTU4NDUsNiArNTg0OSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0g
XAogCSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUuaWRsIFwKIAkkKFdlYkNv
cmUpL01vZHVsZXMvd2ViYXVkaW8vSmF2YVNjcmlwdEF1ZGlvTm9kZS5pZGwgXAogCSQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaWRsIFwKKwkk
KFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaWRs
IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2
ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3IuaWRs
IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlck5vZGUuaWRs
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNw
cAppbmRleCA5YWNlOTUxYTdjZDY3ODQwMDg2ZGE2M2QyMDdhYzA4ZDYxOTg4MTRkLi5hYjhlMTcy
Mjg1MmUxMDVjNWIyMDUyZTUwMmY2OTk4NTY4M2Q5ZDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCkBAIC01OSw2ICs1OSwxMSBAQAog
I2luY2x1ZGUgIldhdmVTaGFwZXJOb2RlLmgiCiAjaW5jbHVkZSAiV2F2ZVRhYmxlLmgiCiAKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorI2luY2x1ZGUgIk1lZGlhU3RyZWFtLmgiCisjaW5jbHVk
ZSAiTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaCIKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFZJ
REVPKQogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJNZWRpYUVsZW1l
bnRBdWRpb1NvdXJjZU5vZGUuaCIKQEAgLTM4NCw2ICszODksMjYgQEAgUGFzc1JlZlB0cjxNZWRp
YUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU+IEF1ZGlvQ29udGV4dDo6Y3JlYXRlTWVkaWFFbGVtZW50
U291cmNlKEgKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK1Bhc3NSZWZQ
dHI8TWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU+IEF1ZGlvQ29udGV4dDo6Y3JlYXRlTWVkaWFT
dHJlYW1Tb3VyY2UoTWVkaWFTdHJlYW0qIG1lZGlhU3RyZWFtLCBFeGNlcHRpb25Db2RlJiBlYykK
K3sKKyAgICBBU1NFUlQobWVkaWFTdHJlYW0pOworICAgIGlmICghbWVkaWFTdHJlYW0pIHsKKyAg
ICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQor
CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBsYXp5SW5pdGlhbGl6ZSgpOworCisg
ICAgLy8gRklYTUU6IEZvciBub3cgd2UgZG9uJ3QgZ2l2ZSBpdCBhbiBBdWRpb1NvdXJjZVByb3Zp
ZGVyLCBzbyBpdCB3aWxsIG91dHB1dCBzaWxlbmNlLgorICAgIFJlZlB0cjxNZWRpYVN0cmVhbUF1
ZGlvU291cmNlTm9kZT4gbm9kZSA9IE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOjpjcmVhdGUo
dGhpcywgbWVkaWFTdHJlYW0sIDApOworCisgICAgcmVmTm9kZShub2RlLmdldCgpKTsgLy8gY29u
dGV4dCBrZWVwcyByZWZlcmVuY2UgdW50aWwgbm9kZSBpcyBkaXNjb25uZWN0ZWQKKyAgICByZXR1
cm4gbm9kZTsKK30KKyNlbmRpZgorCiBQYXNzUmVmUHRyPEphdmFTY3JpcHRBdWRpb05vZGU+IEF1
ZGlvQ29udGV4dDo6Y3JlYXRlSmF2YVNjcmlwdE5vZGUoc2l6ZV90IGJ1ZmZlclNpemUsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQogewogICAgIC8vIFNldCBudW1iZXIgb2YgaW5wdXQvb3V0cHV0IGNoYW5u
ZWxzIHRvIHN0ZXJlbyBieSBkZWZhdWx0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmgKaW5kZXggNjY4MDZhNjJiZjBhZmI1NmZjYzlkNDA5OTk4Yzkx
ZDk4ZDJkMGE4Zi4uZjcyMjkzOTBhMzBmZjZmMjUzM2E0YjNiNjM0ZTBhYjI3ZWIwYzkwNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCkBAIC00
OSw2ICs0OSw3IEBAIGNsYXNzIEF1ZGlvQnVmZmVyOwogY2xhc3MgQXVkaW9CdWZmZXJDYWxsYmFj
azsKIGNsYXNzIEF1ZGlvQnVmZmVyU291cmNlTm9kZTsKIGNsYXNzIE1lZGlhRWxlbWVudEF1ZGlv
U291cmNlTm9kZTsKK2NsYXNzIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlOwogY2xhc3MgSFRN
TE1lZGlhRWxlbWVudDsKIGNsYXNzIEF1ZGlvQ2hhbm5lbE1lcmdlcjsKIGNsYXNzIEF1ZGlvQ2hh
bm5lbFNwbGl0dGVyOwpAQCAtMTE1LDYgKzExNiw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoVklE
RU8pCiAgICAgUGFzc1JlZlB0cjxNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGU+IGNyZWF0ZU1l
ZGlhRWxlbWVudFNvdXJjZShIVE1MTWVkaWFFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogI2Vu
ZGlmCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBQYXNzUmVmUHRyPE1lZGlhU3RyZWFt
QXVkaW9Tb3VyY2VOb2RlPiBjcmVhdGVNZWRpYVN0cmVhbVNvdXJjZShNZWRpYVN0cmVhbSosIEV4
Y2VwdGlvbkNvZGUmKTsKKyNlbmRpZgogICAgIFBhc3NSZWZQdHI8QXVkaW9HYWluTm9kZT4gY3Jl
YXRlR2Fpbk5vZGUoKTsKICAgICBQYXNzUmVmUHRyPEJpcXVhZEZpbHRlck5vZGU+IGNyZWF0ZUJp
cXVhZEZpbHRlcigpOwogICAgIFBhc3NSZWZQdHI8V2F2ZVNoYXBlck5vZGU+IGNyZWF0ZVdhdmVT
aGFwZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9Db250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250
ZXh0LmlkbAppbmRleCAxZDAyMjg4NDhiZGNiNjQ4ZjAzZWMyMTNmYjg2ZDU1MjcwNmRkYjk4Li44
NDE1NWM1MjFlZDJkYzU3MjM2OGI3OTA4NjhhMGRkYTZkNTg1YzcyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCkBAIC01OCwxMCArNTgs
MTcgQEAgbW9kdWxlIHdlYmF1ZGlvIHsKIAogICAgICAgICAvLyBTb3VyY2VzCiAgICAgICAgIEF1
ZGlvQnVmZmVyU291cmNlTm9kZSBjcmVhdGVCdWZmZXJTb3VyY2UoKTsKKwogI2lmIGRlZmluZWQo
RU5BQkxFX1ZJREVPKSAmJiBFTkFCTEVfVklERU8KICAgICAgICAgTWVkaWFFbGVtZW50QXVkaW9T
b3VyY2VOb2RlIGNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZShpbiBIVE1MTWVkaWFFbGVtZW50IG1l
ZGlhRWxlbWVudCkKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogI2VuZGlmCisK
KyNpZiBkZWZpbmVkKEVOQUJMRV9NRURJQV9TVFJFQU0pICYmIEVOQUJMRV9NRURJQV9TVFJFQU0K
KyAgICAgICAgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUgY3JlYXRlTWVkaWFTdHJlYW1Tb3Vy
Y2UoaW4gTWVkaWFTdHJlYW0gbWVkaWFTdHJlYW0pCisgICAgICAgICAgICByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKKyNlbmRpZgorCiAgICAgICAgIC8vIFByb2Nlc3Npbmcgbm9kZXMKICAgICAgICAg
QXVkaW9HYWluTm9kZSBjcmVhdGVHYWluTm9kZSgpOwogICAgICAgICBEZWxheU5vZGUgY3JlYXRl
RGVsYXlOb2RlKGluIFtPcHRpb25hbF0gZG91YmxlIG1heERlbGF5VGltZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUuaAppbmRleCBiZWU3OGY3ZTgzNjBmYTVm
YmNlNjdjZDI5ZTQ1YjM1OTlkOTYzZTY2Li40ZWYzZTY1NjBiN2ZmZThkOWMwN2QwYzcyNGZkZTlj
NGIzY2RjMDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2Rl
LmgKQEAgLTYzLDYgKzYzLDcgQEAgcHVibGljOgogICAgICAgICBOb2RlVHlwZU9zY2lsbGF0b3Is
CiAgICAgICAgIE5vZGVUeXBlQXVkaW9CdWZmZXJTb3VyY2UsCiAgICAgICAgIE5vZGVUeXBlTWVk
aWFFbGVtZW50QXVkaW9Tb3VyY2UsCisgICAgICAgIE5vZGVUeXBlTWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZSwKICAgICAgICAgTm9kZVR5cGVKYXZhU2NyaXB0LAogICAgICAgICBOb2RlVHlwZUJpcXVh
ZEZpbHRlciwKICAgICAgICAgTm9kZVR5cGVQYW5uZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZhODBmMDRlNzgzZDc2M2FmMTk0ZTliMjk5YzI5NDkyZGJlYTc0MDAK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlh
U3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcApAQCAtMCwwICsxLDEyMCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisg
KiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShXRUJfQVVESU8pICYmIEVOQUJMRShN
RURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oIgor
CisjaW5jbHVkZSAiQXVkaW9Db250ZXh0LmgiCisjaW5jbHVkZSAiQXVkaW9Ob2RlT3V0cHV0Lmgi
CisjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlPiBN
ZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZTo6Y3JlYXRlKEF1ZGlvQ29udGV4dCogY29udGV4dCwg
TWVkaWFTdHJlYW0qIG1lZGlhU3RyZWFtLCBBdWRpb1NvdXJjZVByb3ZpZGVyKiBhdWRpb1NvdXJj
ZVByb3ZpZGVyKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZU5vZGUoY29udGV4dCwgbWVkaWFTdHJlYW0sIGF1ZGlvU291cmNlUHJvdmlkZXIpKTsKK30K
KworTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6Ok1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2Rl
KEF1ZGlvQ29udGV4dCogY29udGV4dCwgTWVkaWFTdHJlYW0qIG1lZGlhU3RyZWFtLCBBdWRpb1Nv
dXJjZVByb3ZpZGVyKiBhdWRpb1NvdXJjZVByb3ZpZGVyKQorICAgIDogQXVkaW9Tb3VyY2VOb2Rl
KGNvbnRleHQsIGNvbnRleHQtPnNhbXBsZVJhdGUoKSkKKyAgICAsIG1fbWVkaWFTdHJlYW0obWVk
aWFTdHJlYW0pCisgICAgLCBtX2F1ZGlvU291cmNlUHJvdmlkZXIoYXVkaW9Tb3VyY2VQcm92aWRl
cikKKyAgICAsIG1fc291cmNlTnVtYmVyT2ZDaGFubmVscygwKQoreworICAgIC8vIERlZmF1bHQg
dG8gc3RlcmVvLiBUaGlzIGNvdWxkIGNoYW5nZSBkZXBlbmRpbmcgb24gdGhlIGZvcm1hdCBvZiB0
aGUgTWVkaWFTdHJlYW0ncyBhdWRpbyB0cmFjay4KKyAgICBhZGRPdXRwdXQoYWRvcHRQdHIobmV3
IEF1ZGlvTm9kZU91dHB1dCh0aGlzLCAyKSkpOworCisgICAgc2V0Tm9kZVR5cGUoTm9kZVR5cGVN
ZWRpYVN0cmVhbUF1ZGlvU291cmNlKTsKKworICAgIGluaXRpYWxpemUoKTsKK30KKworTWVkaWFT
dHJlYW1BdWRpb1NvdXJjZU5vZGU6On5NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZSgpCit7Cisg
ICAgdW5pbml0aWFsaXplKCk7Cit9CisKK3ZvaWQgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6
OnNldEZvcm1hdChzaXplX3QgbnVtYmVyT2ZDaGFubmVscywgZmxvYXQgc291cmNlU2FtcGxlUmF0
ZSkKK3sKKyAgICBpZiAobnVtYmVyT2ZDaGFubmVscyAhPSBtX3NvdXJjZU51bWJlck9mQ2hhbm5l
bHMgfHwgc291cmNlU2FtcGxlUmF0ZSAhPSBzYW1wbGVSYXRlKCkpIHsKKyAgICAgICAgLy8gVGhl
IHNhbXBsZS1yYXRlIG11c3QgYmUgZXF1YWwgdG8gdGhlIGNvbnRleHQncyBzYW1wbGUtcmF0ZS4K
KyAgICAgICAgaWYgKCFudW1iZXJPZkNoYW5uZWxzIHx8IG51bWJlck9mQ2hhbm5lbHMgPiBBdWRp
b0NvbnRleHQ6Om1heE51bWJlck9mQ2hhbm5lbHMoKSB8fCBzb3VyY2VTYW1wbGVSYXRlICE9IHNh
bXBsZVJhdGUoKSkgeworICAgICAgICAgICAgLy8gcHJvY2VzcygpIHdpbGwgZ2VuZXJhdGUgc2ls
ZW5jZSBmb3IgdGhlc2UgdW5pbml0aWFsaXplZCB2YWx1ZXMuCisgICAgICAgICAgICBMT0coTWVk
aWEsICJNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZTo6c2V0Rm9ybWF0KCV1LCAlZikgLSB1bmhh
bmRsZWQgZm9ybWF0IGNoYW5nZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihudW1iZXJPZkNoYW5u
ZWxzKSwgc291cmNlU2FtcGxlUmF0ZSk7CisgICAgICAgICAgICBtX3NvdXJjZU51bWJlck9mQ2hh
bm5lbHMgPSAwOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgLy8g
U3luY2hyb25pemUgd2l0aCBwcm9jZXNzKCkuCisgICAgICAgIE11dGV4TG9ja2VyIGxvY2tlciht
X3Byb2Nlc3NMb2NrKTsKKworICAgICAgICBtX3NvdXJjZU51bWJlck9mQ2hhbm5lbHMgPSBudW1i
ZXJPZkNoYW5uZWxzOworCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIFRoZSBjb250ZXh0IG11
c3QgYmUgbG9ja2VkIHdoZW4gY2hhbmdpbmcgdGhlIG51bWJlciBvZiBvdXRwdXQgY2hhbm5lbHMu
CisgICAgICAgICAgICBBdWRpb0NvbnRleHQ6OkF1dG9Mb2NrZXIgY29udGV4dExvY2tlcihjb250
ZXh0KCkpOworCisgICAgICAgICAgICAvLyBEbyBhbnkgbmVjZXNzc2FyeSByZS1jb25maWd1cmF0
aW9uIHRvIHRoZSBvdXRwdXQncyBudW1iZXIgb2YgY2hhbm5lbHMuCisgICAgICAgICAgICBvdXRw
dXQoMCktPnNldE51bWJlck9mQ2hhbm5lbHMobnVtYmVyT2ZDaGFubmVscyk7CisgICAgICAgIH0K
KyAgICB9Cit9CisKK3ZvaWQgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGU6OnByb2Nlc3Moc2l6
ZV90IG51bWJlck9mRnJhbWVzKQoreworICAgIEF1ZGlvQnVzKiBvdXRwdXRCdXMgPSBvdXRwdXQo
MCktPmJ1cygpOworCisgICAgaWYgKCFhdWRpb1NvdXJjZVByb3ZpZGVyKCkpIHsKKyAgICAgICAg
b3V0cHV0QnVzLT56ZXJvKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIW1l
ZGlhU3RyZWFtKCkgfHwgbV9zb3VyY2VOdW1iZXJPZkNoYW5uZWxzICE9IG91dHB1dEJ1cy0+bnVt
YmVyT2ZDaGFubmVscygpKSB7CisgICAgICAgIG91dHB1dEJ1cy0+emVybygpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgLy8gVXNlIGEgdHJ5TG9jaygpIHRvIGF2b2lkIGNvbnRlbnRp
b24gaW4gdGhlIHJlYWwtdGltZSBhdWRpbyB0aHJlYWQuCisgICAgLy8gSWYgd2UgZmFpbCB0byBh
Y3F1aXJlIHRoZSBsb2NrIHRoZW4gdGhlIE1lZGlhU3RyZWFtIG11c3QgYmUgaW4gdGhlIG1pZGRs
ZSBvZgorICAgIC8vIGEgZm9ybWF0IGNoYW5nZSwgc28gd2Ugb3V0cHV0IHNpbGVuY2UgaW4gdGhp
cyBjYXNlLgorICAgIE11dGV4VHJ5TG9ja2VyIHRyeUxvY2tlcihtX3Byb2Nlc3NMb2NrKTsKKyAg
ICBpZiAodHJ5TG9ja2VyLmxvY2tlZCgpKQorICAgICAgICBhdWRpb1NvdXJjZVByb3ZpZGVyKCkt
PnByb3ZpZGVJbnB1dChvdXRwdXRCdXMsIG51bWJlck9mRnJhbWVzKTsKKyAgICBlbHNlIHsKKyAg
ICAgICAgLy8gV2UgZmFpbGVkIHRvIGFjcXVpcmUgdGhlIGxvY2suCisgICAgICAgIG91dHB1dEJ1
cy0+emVybygpOworICAgIH0KK30KKwordm9pZCBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZTo6
cmVzZXQoKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoV0VCX0FVRElPKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9k
ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjhiZGYyODc4NzQ1YjJiZjAxZjQ2NjVhMzdkNTc4YzYxOWJiOGU2MzYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlh
U3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmgKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGVfaAorI2RlZmluZSBNZWRpYVN0cmVhbUF1
ZGlvU291cmNlTm9kZV9oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAi
QXVkaW9Tb3VyY2VOb2RlLmgiCisjaW5jbHVkZSAiQXVkaW9Tb3VyY2VQcm92aWRlci5oIgorI2lu
Y2x1ZGUgIkF1ZGlvU291cmNlUHJvdmlkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVh
bS5oIgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBBdWRpb0NvbnRleHQ7CisKK2NsYXNzIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlIDog
cHVibGljIEF1ZGlvU291cmNlTm9kZSwgcHVibGljIEF1ZGlvU291cmNlUHJvdmlkZXJDbGllbnQg
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VO
b2RlPiBjcmVhdGUoQXVkaW9Db250ZXh0KiwgTWVkaWFTdHJlYW0qLCBBdWRpb1NvdXJjZVByb3Zp
ZGVyKik7CisKKyAgICB2aXJ0dWFsIH5NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZSgpOworCisg
ICAgTWVkaWFTdHJlYW0qIG1lZGlhU3RyZWFtKCkgeyByZXR1cm4gbV9tZWRpYVN0cmVhbS5nZXQo
KTsgfQorCisgICAgLy8gQXVkaW9Ob2RlCisgICAgdmlydHVhbCB2b2lkIHByb2Nlc3Moc2l6ZV90
IGZyYW1lc1RvUHJvY2Vzcyk7CisgICAgdmlydHVhbCB2b2lkIHJlc2V0KCk7CisKKyAgICAvLyBB
dWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50CisgICAgdmlydHVhbCB2b2lkIHNldEZvcm1hdChzaXpl
X3QgbnVtYmVyT2ZDaGFubmVscywgZmxvYXQgc2FtcGxlUmF0ZSk7CisKKyAgICBBdWRpb1NvdXJj
ZVByb3ZpZGVyKiBhdWRpb1NvdXJjZVByb3ZpZGVyKCkgY29uc3QgeyByZXR1cm4gbV9hdWRpb1Nv
dXJjZVByb3ZpZGVyOyB9CisKK3ByaXZhdGU6CisgICAgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5v
ZGUoQXVkaW9Db250ZXh0KiwgTWVkaWFTdHJlYW0qLCBBdWRpb1NvdXJjZVByb3ZpZGVyKik7CisK
KyAgICAvLyBBcyBhbiBhdWRpbyBzb3VyY2UsIHdlIHdpbGwgbmV2ZXIgcHJvcGFnYXRlIHNpbGVu
Y2UuCisgICAgdmlydHVhbCBib29sIHByb3BhZ2F0ZXNTaWxlbmNlKCkgY29uc3QgT1ZFUlJJREUg
eyByZXR1cm4gZmFsc2U7IH0KKworICAgIFJlZlB0cjxNZWRpYVN0cmVhbT4gbV9tZWRpYVN0cmVh
bTsKKyAgICBBdWRpb1NvdXJjZVByb3ZpZGVyKiBtX2F1ZGlvU291cmNlUHJvdmlkZXI7CisKKyAg
ICBNdXRleCBtX3Byb2Nlc3NMb2NrOworCisgICAgdW5zaWduZWQgbV9zb3VyY2VOdW1iZXJPZkNo
YW5uZWxzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1B
dWRpb1NvdXJjZU5vZGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRp
YVN0cmVhbUF1ZGlvU291cmNlTm9kZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTRiOTFhMmM2NjBlZGRjNjk0
Y2FhZmUzZmIyYTAwNDViMzlhMGQzYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaWRsCkBAIC0wLDAg
KzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgYXVkaW8geworICAgIGludGVyZmFjZSBbCisg
ICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKKyAgICAgICAgSlNHZW5lcmF0ZVRvSlNP
YmplY3QKKyAgICBdIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlIDogQXVkaW9Tb3VyY2VOb2Rl
IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhU3RyZWFtIG1lZGlhU3RyZWFtOwor
ICAgIH07Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMTA1NGUwNzI1NWNhNzZhYjhiZGU1ZTRjMDI5
YTk2NWU5ZDMwMjgwNS4uNDA3MDQwZGFhYmUwYTRkNTdkNWQ1OTBmMTNjNDI3YjkxYzE3NzdkMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQpAQCAtODc1LDYgKzg3NSw3IEBACiAgICAgICAgICAgICAnTW9kdWxl
cy93ZWJhdWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmlkbCcsCiAgICAgICAgICAgICAnTW9k
dWxlcy93ZWJhdWRpby9KYXZhU2NyaXB0QXVkaW9Ob2RlLmlkbCcsCiAgICAgICAgICAgICAnTW9k
dWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaWRsJywKKyAgICAgICAg
ICAgICdNb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmlkbCcsCiAg
ICAgICAgICAgICAnTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQu
aWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL09zY2lsbGF0b3IuaWRsJywKICAg
ICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXJOb2RlLmlkbCcsCkBA
IC0xNjU1LDYgKzE2NTYsOCBAQAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8vSmF2YVNj
cmlwdEF1ZGlvTm9kZS5oJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxl
bWVudEF1ZGlvU291cmNlTm9kZS5jcHAnLAogICAgICAgICAgICAgJ01vZHVsZXMvd2ViYXVkaW8v
TWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvd2Vi
YXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwJywKKyAgICAgICAgICAgICdNb2R1
bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmgnLAogICAgICAgICAgICAg
J01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50LmNwcCcsCiAgICAg
ICAgICAgICAnTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQuaCcs
CiAgICAgICAgICAgICAnTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5v
ZGUuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCAyZGQzNThjNjgyMmI3Yzk4ZGRkZjM2N2IxMDE2NWM4MThkMjhkNmY3Li5h
ZTU2ODgzZGQwOGUwZDllYTkxZGViY2VlMWYwZWQ3MWFjZjIwYjFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MzczLDYgKzYz
NzMsOCBAQAogCQlGRDYyOUVBMzE1NEI0NzE2MDAwNkQwMjYgLyogQXVkaW9CYXNpY0luc3BlY3Rv
ck5vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZE
NjI5RUExMTU0QjQ3MTYwMDA2RDAyNiAvKiBBdWRpb0Jhc2ljSW5zcGVjdG9yTm9kZS5oICovOyB9
OwogCQlGRDYyOUVBNDE1NEI0NzE2MDAwNkQwMjYgLyogQXVkaW9CYXNpY0luc3BlY3Rvck5vZGUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkQ2MjlF
QTIxNTRCNDcxNjAwMDZEMDI2IC8qIEF1ZGlvQmFzaWNJbnNwZWN0b3JOb2RlLmNwcCAqLzsgfTsK
IAkJRkQ2MkY1MkUxNDU4OThEODAwOTRCMEVEIC8qIEF1ZGlvU291cmNlUHJvdmlkZXJDbGllbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZENjJGNTJE
MTQ1ODk4RDgwMDk0QjBFRCAvKiBBdWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50LmggKi87IH07CisJ
CUZENjcxQTc3MTU5QkIwNzAwMDE5NzU1OSAvKiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRDY3MUE3
NDE1OUJCMDcwMDAxOTc1NTkgLyogTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwICovOyB9
OworCQlGRDY3MUE3ODE1OUJCMDcwMDAxOTc1NTkgLyogTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5v
ZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZENjcx
QTc1MTU5QkIwNzAwMDE5NzU1OSAvKiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oICovOyB9
OwogCQlGRDZFRDJDMzEzNkI4RTQyMDAzQ0YwNzIgLyogRHluYW1pY3NDb21wcmVzc29yTm9kZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRDZFRDJD
MTEzNkI4RTQyMDAzQ0YwNzIgLyogRHluYW1pY3NDb21wcmVzc29yTm9kZS5jcHAgKi87IH07CiAJ
CUZENkVEMkM0MTM2QjhFNDIwMDNDRjA3MiAvKiBEeW5hbWljc0NvbXByZXNzb3JOb2RlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRDZFRDJDMjEzNkI4
RTQyMDAzQ0YwNzIgLyogRHluYW1pY3NDb21wcmVzc29yTm9kZS5oICovOyB9OwogCQlGRDZFRDJD
NzEzNkI4RTY2MDAzQ0YwNzIgLyogRHluYW1pY3NDb21wcmVzc29yLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZENkVEMkM1MTM2QjhFNjYwMDNDRjA3
MiAvKiBEeW5hbWljc0NvbXByZXNzb3IuY3BwICovOyB9OwpAQCAtNjQzOCw2ICs2NDQwLDggQEAK
IAkJRkRCMDUyRTAxNTYxQTQyQzAwQjUwMEQ2IC8qIEF1ZGlvU3VtbWluZ0p1bmN0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREIwNTJERTE1NjFB
NDJDMDBCNTAwRDYgLyogQXVkaW9TdW1taW5nSnVuY3Rpb24uaCAqLzsgfTsKIAkJRkRCMTcwMDUx
NEEyQkFCMjAwQTJCNUQ5IC8qIE11bHRpQ2hhbm5lbFJlc2FtcGxlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREIxNzAwMzE0QTJCQUIyMDBBMkI1
RDkgLyogTXVsdGlDaGFubmVsUmVzYW1wbGVyLmNwcCAqLzsgfTsKIAkJRkRCMTcwMDYxNEEyQkFC
MjAwQTJCNUQ5IC8qIE11bHRpQ2hhbm5lbFJlc2FtcGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkRCMTcwMDQxNEEyQkFCMjAwQTJCNUQ5IC8qIE11
bHRpQ2hhbm5lbFJlc2FtcGxlci5oICovOyB9OworCQlGREJENDgwQzE1OUJDNjg3MDA5M0VCNEYg
LyogSlNNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREJENDgwQTE1OUJDNjg3MDA5M0VCNEYgLyogSlNN
ZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5jcHAgKi87IH07CisJCUZEQkQ0ODBEMTU5QkM2ODcw
MDkzRUI0RiAvKiBKU01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREJENDgwQjE1OUJDNjg3MDA5M0VCNEYg
LyogSlNNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oICovOyB9OwogCQlGREM1NEYwNDEzOTlC
MERBMDA4RDkxMTcgLyogQmlxdWFkRmlsdGVyTm9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGREM1NEYwMTEzOTlCMERBMDA4RDkxMTcgLyogQmlx
dWFkRmlsdGVyTm9kZS5jcHAgKi87IH07CiAJCUZEQzU0RjA1MTM5OUIwREEwMDhEOTExNyAvKiBC
aXF1YWRGaWx0ZXJOb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGREM1NEYwMjEzOTlCMERBMDA4RDkxMTcgLyogQmlxdWFkRmlsdGVyTm9kZS5oICov
OyB9OwogCQlGREVBNjI0MjE1MjEwMkUyMDA0NzlERjAgLyogSlNPc2NpbGxhdG9yLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZERUE2MjQwMTUyMTAy
RTIwMDQ3OURGMCAvKiBKU09zY2lsbGF0b3IuY3BwICovOyB9OwpAQCAtMTM2ODgsNiArMTM2OTIs
OSBAQAogCQlGRDYyOUVBMTE1NEI0NzE2MDAwNkQwMjYgLyogQXVkaW9CYXNpY0luc3BlY3Rvck5v
ZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXVkaW9CYXNpY0luc3BlY3Rv
ck5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkQ2MjlFQTIxNTRCNDcxNjAw
MDZEMDI2IC8qIEF1ZGlvQmFzaWNJbnNwZWN0b3JOb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEF1ZGlvQmFzaWNJbnNwZWN0b3JOb2RlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkQ2MkY1MkQxNDU4OThEODAwOTRCMEVEIC8qIEF1ZGlvU291
cmNlUHJvdmlkZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXVk
aW9Tb3VyY2VQcm92aWRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlG
RDY3MUE3NDE1OUJCMDcwMDAxOTc1NTkgLyogTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZU5vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRDY3MUE3NTE1OUJC
MDcwMDAxOTc1NTkgLyogTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkQ2NzFBNzYxNTlCQjA3MDAwMTk3NTU5IC8qIE1lZGlh
U3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYVN0
cmVhbUF1ZGlvU291cmNlTm9kZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZE
NkVEMkMxMTM2QjhFNDIwMDNDRjA3MiAvKiBEeW5hbWljc0NvbXByZXNzb3JOb2RlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IER5bmFtaWNzQ29tcHJlc3Nvck5vZGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRDZFRDJDMjEzNkI4RTQyMDAzQ0Yw
NzIgLyogRHluYW1pY3NDb21wcmVzc29yTm9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEeW5hbWljc0NvbXByZXNzb3JOb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUZENkVEMkM1MTM2QjhFNjYwMDNDRjA3MiAvKiBEeW5hbWljc0NvbXByZXNzb3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRHluYW1pY3NDb21wcmVzc29y
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNzU3LDYgKzEzNzY0LDggQEAK
IAkJRkRCMDUyREUxNTYxQTQyQzAwQjUwMEQ2IC8qIEF1ZGlvU3VtbWluZ0p1bmN0aW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvU3VtbWluZ0p1bmN0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZEQjE3MDAzMTRBMkJBQjIwMEEyQjVEOSAvKiBN
dWx0aUNoYW5uZWxSZXNhbXBsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTXVsdGlDaGFubmVsUmVzYW1wbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRkRCMTcwMDQxNEEyQkFCMjAwQTJCNUQ5IC8qIE11bHRpQ2hhbm5lbFJlc2FtcGxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNdWx0aUNoYW5uZWxSZXNhbXBsZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkRCRDQ4MEExNTlCQzY4NzAwOTNFQjRG
IC8qIEpTTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZEQkQ0ODBCMTU5QkM2ODcwMDkzRUI0RiAvKiBKU01l
ZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRkRDNTRGMDExMzk5QjBEQTAwOEQ5MTE3IC8qIEJpcXVhZEZpbHRlck5vZGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmlxdWFkRmlsdGVyTm9kZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZEQzU0RjAyMTM5OUIwREEwMDhEOTEx
NyAvKiBCaXF1YWRGaWx0ZXJOb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEJpcXVhZEZpbHRlck5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkRDNTRG
MDMxMzk5QjBEQTAwOEQ5MTE3IC8qIEJpcXVhZEZpbHRlck5vZGUuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IEJpcXVhZEZpbHRlck5vZGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjE3MjMsNiArMjE3MzIsOSBAQAogCQkJCUZENkYyNTI5MTNGNUVGMEUwMDY1MTY1RiAv
KiBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwICovLAogCQkJCUZENkYyNTJBMTNGNUVG
MEUwMDY1MTY1RiAvKiBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaCAqLywKIAkJCQlGRDZG
MjUyQjEzRjVFRjBFMDA2NTE2NUYgLyogTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmlkbCAq
LywKKwkJCQlGRDY3MUE3NDE1OUJCMDcwMDAxOTc1NTkgLyogTWVkaWFTdHJlYW1BdWRpb1NvdXJj
ZU5vZGUuY3BwICovLAorCQkJCUZENjcxQTc1MTU5QkIwNzAwMDE5NzU1OSAvKiBNZWRpYVN0cmVh
bUF1ZGlvU291cmNlTm9kZS5oICovLAorCQkJCUZENjcxQTc2MTU5QkIwNzAwMDE5NzU1OSAvKiBN
ZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5pZGwgKi8sCiAJCQkJRkRBM0U5NTUxMzRBNDlFRjAw
OEQ0QjVBIC8qIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5jcHAgKi8sCiAJCQkJRkRBM0U5
NTYxMzRBNDlFRjAwOEQ0QjVBIC8qIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5oICovLAog
CQkJCUZEQTNFOTVEMTM0QTQ5RkYwMDhENEI1QSAvKiBPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZl
bnQuaWRsICovLApAQCAtMjE4ODQsNiArMjE4OTYsOCBAQAogCQkJCUZEQTE1RUNDMTJCMDNGNjEw
MDNBNTgzQSAvKiBKU0phdmFTY3JpcHRBdWRpb05vZGUuaCAqLywKIAkJCQlGRDIzQTEyMzEzRjVG
QTU5MDBGNjcwMDEgLyogSlNNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwICovLAogCQkJ
CUZEMjNBMTI0MTNGNUZBNTkwMEY2NzAwMSAvKiBKU01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9k
ZS5oICovLAorCQkJCUZEQkQ0ODBBMTU5QkM2ODcwMDkzRUI0RiAvKiBKU01lZGlhU3RyZWFtQXVk
aW9Tb3VyY2VOb2RlLmNwcCAqLywKKwkJCQlGREJENDgwQjE1OUJDNjg3MDA5M0VCNEYgLyogSlNN
ZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5oICovLAogCQkJCUZERjZCQUY2MTM0QTRDOTgwMDgy
MjkyMCAvKiBKU09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5jcHAgKi8sCiAJCQkJRkRGNkJB
RjcxMzRBNEM5ODAwODIyOTIwIC8qIEpTT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50LmggKi8s
CiAJCQkJRkRFQTYyNDAxNTIxMDJFMjAwNDc5REYwIC8qIEpTT3NjaWxsYXRvci5jcHAgKi8sCkBA
IC0yNTE1NSw2ICsyNTE2OSw4IEBACiAJCQkJNTA5ODdDMjcxNTdENjc2RDAwQkRBODM1IC8qIEN1
c3RvbUZpbHRlckdsb2JhbENvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTRGMzJCQjFCMTRG
QTg1RTgwMEY2QzFBMyAvKiBNZW1vcnlJbnN0cnVtZW50YXRpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4ODJEQTIzMTU5Mzg0OEQwMDAxMTVFRCAvKiBDU1NUb1N0eWxlTWFwLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlGRDY3MUE3ODE1OUJCMDcwMDAxOTc1NTkgLyogTWVkaWFTdHJlYW1BdWRpb1Nv
dXJjZU5vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUZEQkQ0ODBEMTU5QkM2ODcwMDkzRUI0RiAv
KiBKU01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI4MjA4
LDYgKzI4MjI0LDggQEAKIAkJCQlDRTdCMkRCNjE1ODZBQkFEMDA5OEIzRkEgLyogVGV4dEFsdGVy
bmF0aXZlV2l0aFJhbmdlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTA5ODdDMjYxNTdENjc2RDAw
QkRBODM1IC8qIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTg4MkRBMjAxNTkzODQ2QTAwMDExNUVEIC8qIENTU1RvU3R5bGVNYXAuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJRkQ2NzFBNzcxNTlCQjA3MDAwMTk3NTU5IC8qIE1lZGlhU3RyZWFtQXVkaW9T
b3VyY2VOb2RlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZEQkQ0ODBDMTU5QkM2ODcwMDkzRUI0
RiAvKiBKU01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGFjMTJjZDdmNTkzNzViMDQ1NTZhNThmNzFhM2YxNmNhOTdiMTMzOWQuLjk5Yzk1ZWZjNWZk
ZGE3OTg3OWQxOGYzZWU4YWVlN2M1MGJmZDM2ZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAx
Mi0wNy0wMyAgQ2hyaXMgUm9nZXJzICA8Y3JvZ2Vyc0Bnb29nbGUuY29tPgorCisgICAgICAgIEFk
ZCBzdHViIGltcGxlbWVudGF0aW9uIGZvciBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAxMTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYmF1ZGlvL21l
ZGlhc3RyZWFtYXVkaW9zb3VyY2Vub2RlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViYXVkaW8vbWVkaWFzdHJlYW1hdWRpb3NvdXJjZW5vZGUuaHRtbDogQWRkZWQuCisKIDIwMTIt
MDYtMjcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVT
U0lPTiAoU2FmYXJpIDU/KTogUGFzdGluZyBhIGxpbmUgaW50byB0ZXh0YXJlYSBpbnNlcnRzIHR3
byBuZXdsaW5lcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vbWVkaWFzdHJlYW1h
dWRpb3NvdXJjZW5vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vbWVkaWFz
dHJlYW1hdWRpb3NvdXJjZW5vZGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5Mjc3MjQ3Njg3
ZmRlMzEyMDE2NzRjOTc5NTIxY2Q3ODQ5ZTVjN2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJhdWRpby9tZWRpYXN0cmVhbWF1ZGlvc291cmNlbm9kZS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNyBAQAorQmFzaWMgdGVzdHMgZm9yIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2Rl
IEFQSS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIHthdWRpbzp0cnVlfSBn
ZW5lcmF0ZWQgc3RyZWFtCitQQVNTIHMuYXVkaW9UcmFja3MubGVuZ3RoIGlzIDEKK1BBU1Mgcy52
aWRlb1RyYWNrcy5sZW5ndGggaXMgMAorUEFTUyBTb3VyY2UgQXVkaW9Ob2RlIGhhcyBubyBpbnB1
dHMuCitQQVNTIFNvdXJjZSBBdWRpb05vZGUgaGFzIG9uZSBvdXRwdXQuCitQQVNTIGNvbm5lY3Qo
KSBleGNlcHRpb24gdGhyb3duIGZvciBpbGxlZ2FsIGRlc3RpbmF0aW9uIEF1ZGlvTm9kZS4KK1BB
U1MgY29ubmVjdCgpIGV4Y2VwdGlvbiB0aHJvd24gZm9yIGlsbGVnYWwgb3V0cHV0IGluZGV4Lgor
UEFTUyBjb25uZWN0KCkgZXhjZXB0aW9uIHRocm93biBmb3IgaWxsZWdhbCBpbnB1dCBpbmRleC4K
K1BBU1MgbWVkaWFTdHJlYW1Tb3VyY2UuY29ubmVjdChjb250ZXh0LmRlc3RpbmF0aW9uKSBzdWNj
ZWVkZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vbWVkaWFzdHJlYW1hdWRpb3NvdXJj
ZW5vZGUuaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL21lZGlhc3RyZWFtYXVkaW9zb3VyY2Vu
b2RlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMGE3YTU1MjZlZGMzMjk5YTFkYTA5OTJlZTFiMjFiN2I3MGRm
MWI4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL21lZGlhc3RyZWFt
YXVkaW9zb3VyY2Vub2RlLmh0bWwKQEAgLTAsMCArMSw5NiBAQAorPCFET0NUWVBFIGh0bWw+CisK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9hdWRpby10ZXN0aW5n
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+
PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJCYXNpYyB0ZXN0cyBmb3IgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUgQVBJLiIpOworCit2
YXIgY29udGV4dCA9IDA7CisKK2Z1bmN0aW9uIGVycm9yKCkgeworICAgIHRlc3RGYWlsZWQoJ1N0
cmVhbSBnZW5lcmF0aW9uIGZhaWxlZC4nKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZnVu
Y3Rpb24gZ2V0VXNlck1lZGlhKGRpY3Rpb25hcnksIGNhbGxiYWNrKSB7CisgICAgdHJ5IHsKKyAg
ICAgICAgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYShkaWN0aW9uYXJ5LCBjYWxsYmFjaywg
ZXJyb3IpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgnd2Via2l0R2V0
VXNlck1lZGlhIHRocmV3IGV4Y2VwdGlvbiA6JyArIGUpOworICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGdvdFN0cmVhbShzdHJlYW0pIHsKKyAgICBzID0gc3Ry
ZWFtOworICAgIHRlc3RQYXNzZWQoJ3thdWRpbzp0cnVlfSBnZW5lcmF0ZWQgc3RyZWFtJyk7Cisg
ICAgc2hvdWxkQmUoJ3MuYXVkaW9UcmFja3MubGVuZ3RoJywgJzEnKTsKKyAgICBzaG91bGRCZSgn
cy52aWRlb1RyYWNrcy5sZW5ndGgnLCAnMCcpOworCisgICAgY29udGV4dCA9IG5ldyB3ZWJraXRB
dWRpb0NvbnRleHQoKTsKKworICAgIC8vIENyZWF0ZSBhbiBBdWRpb05vZGUgZnJvbSB0aGUgc3Ry
ZWFtLgorICAgIHZhciBtZWRpYVN0cmVhbVNvdXJjZSA9IGNvbnRleHQuY3JlYXRlTWVkaWFTdHJl
YW1Tb3VyY2Uoc3RyZWFtKTsKKworICAgIC8vIENoZWNrIG51bWJlciBvZiBpbnB1dHMgYW5kIG91
dHB1dHMuCisgICAgaWYgKG1lZGlhU3RyZWFtU291cmNlLm51bWJlck9mSW5wdXRzID09IDApCisg
ICAgICAgIHRlc3RQYXNzZWQoIlNvdXJjZSBBdWRpb05vZGUgaGFzIG5vIGlucHV0cy4iKTsKKyAg
ICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoIlNvdXJjZSBBdWRpb05vZGUgc2hvdWxkIG5vdCBo
YXZlIGlucHV0cy4iKTsKKworICAgIGlmIChtZWRpYVN0cmVhbVNvdXJjZS5udW1iZXJPZk91dHB1
dHMgPT0gMSkKKyAgICAgICAgdGVzdFBhc3NlZCgiU291cmNlIEF1ZGlvTm9kZSBoYXMgb25lIG91
dHB1dC4iKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoIlNvdXJjZSBBdWRpb05vZGUg
c2hvdWxkIGhhdmUgb25lIG91dHB1dC4iKTsKKworICAgIC8vIFRyeSBjYWxsaW5nIGNvbm5lY3Qo
KSBtZXRob2Qgd2l0aCBpbGxlZ2FsIHZhbHVlcy4KKworICAgIHRyeSB7CisgICAgICAgIG1lZGlh
U3RyZWFtU291cmNlLmNvbm5lY3QoMCwgMCwgMCk7CisgICAgICAgIHRlc3RGYWlsZWQoImNvbm5l
Y3QoKSBleGNlcHRpb24gc2hvdWxkIGJlIHRocm93biBmb3IgaWxsZWdhbCBkZXN0aW5hdGlvbiBB
dWRpb05vZGUuIik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIHRlc3RQYXNzZWQoImNvbm5l
Y3QoKSBleGNlcHRpb24gdGhyb3duIGZvciBpbGxlZ2FsIGRlc3RpbmF0aW9uIEF1ZGlvTm9kZS4i
KTsKKyAgICB9CisKKyAgICB0cnkgeworICAgICAgICBtZWRpYVN0cmVhbVNvdXJjZS5jb25uZWN0
KGNvbnRleHQuZGVzdGluYXRpb24sIDUsIDApOworICAgICAgICB0ZXN0RmFpbGVkKCJjb25uZWN0
KCkgZXhjZXB0aW9uIHNob3VsZCBiZSB0aHJvd24gZm9yIGlsbGVnYWwgb3V0cHV0IGluZGV4LiIp
OworICAgIH0gY2F0Y2goZSkgeworICAgICAgICB0ZXN0UGFzc2VkKCJjb25uZWN0KCkgZXhjZXB0
aW9uIHRocm93biBmb3IgaWxsZWdhbCBvdXRwdXQgaW5kZXguIik7CisgICAgfQorCisgICAgdHJ5
IHsKKyAgICAgICAgbWVkaWFTdHJlYW1Tb3VyY2UuY29ubmVjdChjb250ZXh0LmRlc3RpbmF0aW9u
LCAwLCA1KTsKKyAgICAgICAgdGVzdEZhaWxlZCgiY29ubmVjdCgpIGV4Y2VwdGlvbiBzaG91bGQg
YmUgdGhyb3duIGZvciBpbGxlZ2FsIGlucHV0IGluZGV4LiIpOworICAgIH0gY2F0Y2goZSkgewor
ICAgICAgICB0ZXN0UGFzc2VkKCJjb25uZWN0KCkgZXhjZXB0aW9uIHRocm93biBmb3IgaWxsZWdh
bCBpbnB1dCBpbmRleC4iKTsKKyAgICB9CisKKyAgICAvLyBUcnkgY2FsbGluZyBjb25uZWN0KCkg
d2l0aCBwcm9wZXIgdmFsdWVzLgorICAgIHRyeSB7CisgICAgICAgIG1lZGlhU3RyZWFtU291cmNl
LmNvbm5lY3QoY29udGV4dC5kZXN0aW5hdGlvbiwgMCwgMCk7CisgICAgICAgIHRlc3RQYXNzZWQo
Im1lZGlhU3RyZWFtU291cmNlLmNvbm5lY3QoY29udGV4dC5kZXN0aW5hdGlvbikgc3VjY2VlZGVk
LiIpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICB0ZXN0RmFpbGVkKCJtZWRpYVN0cmVhbVNv
dXJjZS5jb25uZWN0KGNvbnRleHQuZGVzdGluYXRpb24pIGZhaWxlZC4iKTsKKyAgICB9CisKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZ2V0VXNlck1lZGlhKHthdWRpbzp0cnVlfSwgZ290U3Ry
ZWFtKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="158956"
          type_id="1"
          status="+"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>