<?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>144414</bug_id>
          
          <creation_ts>2015-04-29 15:40:16 -0700</creation_ts>
          <short_desc>Make GenericTaskQueue even more generic (and usable inside platform/)</short_desc>
          <delta_ts>2015-12-02 13:26:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1090182</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-04-29 15:40:16 -0700</bug_when>
    <thetext>Make GenericTaskQueue even more generic (and usable inside platform/)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090192</commentid>
    <comment_count>1</comment_count>
      <attachid>251999</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-04-29 15:51:12 -0700</bug_when>
    <thetext>Created attachment 251999
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090228</commentid>
    <comment_count>2</comment_count>
      <attachid>252009</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-04-29 16:45:22 -0700</bug_when>
    <thetext>Created attachment 252009
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090345</commentid>
    <comment_count>3</comment_count>
      <attachid>252035</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-04-29 21:09:18 -0700</bug_when>
    <thetext>Created attachment 252035
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090356</commentid>
    <comment_count>4</comment_count>
      <attachid>252038</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2015-04-29 22:02:06 -0700</bug_when>
    <thetext>Created attachment 252038
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090370</commentid>
    <comment_count>5</comment_count>
      <attachid>252038</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-29 23:30:52 -0700</bug_when>
    <thetext>Comment on attachment 252038
Patch for landing

Clearing flags on attachment: 252038

Committed r183618: &lt;http://trac.webkit.org/changeset/183618&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251999</attachid>
            <date>2015-04-29 15:51:12 -0700</date>
            <delta_ts>2015-04-29 16:45:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144414-20150429155002.patch</filename>
            <type>text/plain</type>
            <size>14933</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjkzZTFiNmJlMGFkYWUz
ODg2NTBlZTNlYmQ4NDVlOGJjZmQwODI2ZS4uNTQ3OTAyOTk4M2I2NTM2YzgxYjY5ZmI1NTQ5YjAz
YjdlNjY1OGU3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI5IEBACiAyMDE1LTA0LTI5ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIE1ha2UgR2VuZXJpY1Rhc2tR
dWV1ZSBldmVuIG1vcmUgZ2VuZXJpYyAoYW5kIHVzYWJsZSBpbnNpZGUgcGxhdGZvcm0vKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0NDE0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVtcGxhdGl6ZSBH
ZW5lcmljVGFza1F1ZXVlIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgZnJvbSB3aXRoaW4gcGxhdGZv
cm0vLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGRvbS9HZW5lcmljVGFza1F1ZXVlLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1s
L0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVl
Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY1Rhc2tRdWV1ZS5oLgor
ICAgICAgICAoV2ViQ29yZTo6VGFza0Rpc3BhdGNoZXI6OlRhc2tEaXNwYXRjaGVyKTogQWRkZWQg
ZGVmYXVsdCB0ZW1wbGF0aXplZCBjbGFzcyB3aGljaCBqdXN0IGNhbGxzIHRoZSBwYXJhbWV0ZXIn
cyBwb3N0VGFzaygpLgorICAgICAgICAoV2ViQ29yZTo6VGFza0Rpc3BhdGNoZXI6OnBvc3RUYXNr
KTogQ2FsbCBjb250ZXh0J3MgcG9zdFRhc2soKS4KKyAgICAgICAgKFdlYkNvcmU6OlRhc2tEaXNw
YXRjaGVyPFRpbWVyPjo6VGFza0Rpc3BhdGNoZXIpOiBBZGQgYSB0aW1lciB2ZXJzaW9uIHdoaWNo
IGRvZXMgbm90IHJlcXVpcmUgYSBjb250ZXh0LgorICAgICAgICAoV2ViQ29yZTo6VGFza0Rpc3Bh
dGNoZXI8VGltZXI+Ojpwb3N0VGFzayk6IFNldCB0aGUgdGltZXIuCisgICAgICAgIChXZWJDb3Jl
OjpUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnRpbWVyRmlyZWQpOiBDYWxsIHRoZSB0YXNrLgorICAg
ICAgICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2tRdWV1ZTo6R2VuZXJpY1Rhc2tRdWV1ZSk6IE1vdmVk
IGZyb20gLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OkdlbmVyaWNUYXNrUXVldWU6OmVucXVldWVU
YXNrKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpHZW5lcmljVGFza1F1ZXVlOjpjbG9zZSk6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2tRdWV1ZTo6Y2FuY2VsQWxsVGFz
a3MpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkdlbmVyaWNUYXNrUXVldWU6Omhhc1BlbmRp
bmdUYXNrcyk6IERpdHRvLgorCisyMDE1LTA0LTI5ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgorCiAgICAgICAgIFVucmV2aWV3ZWQgaU9TIGJ1aWxkIGZpeCBhZnRlciByMTgzNTUz
OiBmaXggZGVjbGFyYXRpb24gb2YgUUxQcmV2aWV3U2NoZW1lCiAKICAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvUXVpY2tMb29rU29mdExpbmsubW06CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTQ4NmU3YzE4MGM4ZWM1MzBmNWVhNjEx
NDY0YjgyODljZjI1ZjY0Zi4uZTExOWFlMDQ3ZmJkZmVkOGI0OTkyN2I3ZTU0MDJiNjkwZjM4MDk2
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtNTczNyw3ICs1NzM3LDYgQEAKIAkJQ0Q2MEMwQzcxOTNFODdDNzAwM0M2NTZCIC8q
IE1lZGlhVGltZVFUS2l0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRDYwQzBDNTE5M0U4N0M3MDAzQzY1NkIgLyogTWVkaWFUaW1lUVRLaXQuaCAqLzsg
fTsKIAkJQ0Q2MUZFNjcxNzk0QUFEQjAwNDEwMUVCIC8qIE1lZGlhU291cmNlUmVnaXN0cnkuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFBOTQyRTEx
NUI1Q0UyMjAwRDUyNUQxIC8qIE1lZGlhU291cmNlUmVnaXN0cnkuY3BwICovOyB9OwogCQlDRDYx
RkU2ODE3OTRBQURCMDA0MTAxRUIgLyogTWVkaWFTb3VyY2VSZWdpc3RyeS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFBOTQyRTIxNUI1Q0UyMjAwRDUy
NUQxIC8qIE1lZGlhU291cmNlUmVnaXN0cnkuaCAqLzsgfTsKLQkJQ0Q2MkZCOTUxQUYwMThFNzAw
MTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2MkZCOTMxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNU
YXNrUXVldWUuY3BwICovOyB9OwogCQlDRDYyRkI5NjFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJp
Y1Rhc2tRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDY0MUVCMzE4MThG
NUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVk
aWFTb3VyY2VQcml2YXRlLmggKi87IH07CiAJCUNENjQxRUI0MTgxOEY1RUQwMEVFNEM0MSAvKiBT
b3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRDY0MUVCMjE4MThGNUVEMDBFRTRDNDEgLyogU291cmNlQnVmZmVyUHJpdmF0
ZS5oICovOyB9OwpAQCAtMTMyODksNyArMTMyODgsNiBAQAogCQlDRDVFNUI2MDFBMTVGMTU2MDAw
QzYwOUUgLyogUGFnZUNvbmZpZ3VyYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUGFnZUNvbmZpZ3VyYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDRDYwQzBDNDE5M0U4N0M3MDAzQzY1NkIgLyogTWVkaWFUaW1lUVRLaXQubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBNZWRpYVRpbWVRVEtpdC5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q2MEMwQzUxOTNFODdDNzAwM0M2NTZCIC8q
IE1lZGlhVGltZVFUS2l0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlh
VGltZVFUS2l0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNENjJGQjkzMUFGMDE4
RTcwMDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEdlbmVyaWNUYXNrUXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDRDYyRkI5NDFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW5lcmljVGFza1F1ZXVlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENjQxRUIxMTgxOEY1RUQwMEVFNEM0MSAvKiBN
ZWRpYVNvdXJjZVByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVk
aWFTb3VyY2VQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENjQxRUIy
MTgxOEY1RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNvdXJjZUJ1ZmZlclByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTIxNzIyLDYgKzIxNzIwLDcgQEAKIAkJCQlDNTdGRURFMDEyMTJFRTlD
MDA5N0JFNjUgLyogRmlsZVN5c3RlbS5jcHAgKi8sCiAJCQkJNTE0QjNGNzIwQzcyMjA0NzAwMDUz
MERGIC8qIEZpbGVTeXN0ZW0uaCAqLywKIAkJCQlCQzA3M0JBOTBDMzk5QjFGMDAwRjU5NzkgLyog
RmxvYXRDb252ZXJzaW9uLmggKi8sCisJCQkJQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8qIEdl
bmVyaWNUYXNrUXVldWUuaCAqLywKIAkJCQk1MTc5Q0UyNTE5NUM4MjFEMDAxOUMxOTggLyogR2Ft
ZXBhZFByb3ZpZGVyLmNwcCAqLywKIAkJCQk1MTc5Q0UyMzE5NUM4MTQyMDAxOUMxOTggLyogR2Ft
ZXBhZFByb3ZpZGVyLmggKi8sCiAJCQkJNTE3OUNFMjkxOTVDOTE4NjAwMTlDMTk4IC8qIEdhbWVw
YWRQcm92aWRlckNsaWVudC5oICovLApAQCAtMjMwNzEsOCArMjMwNzAsNiBAQAogCQkJCUE4NTMx
MjNDMTFEMDQ3MUIwMEQ0RDA3NyAvKiBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCAqLywK
IAkJCQkwNzIwQjA5RTE0RDMzMjM1MDA2NDI5NTUgLyogR2VuZXJpY0V2ZW50UXVldWUuY3BwICov
LAogCQkJCTA3MjBCMDlGMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRRdWV1ZS5oICov
LAotCQkJCUNENjJGQjkzMUFGMDE4RTcwMDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmNwcCAq
LywKLQkJCQlDRDYyRkI5NDFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5oICov
LAogCQkJCTI0NDJCQkY4MTE5NEM5RDMwMEQ0OTQ2OSAvKiBIYXNoQ2hhbmdlRXZlbnQuaCAqLywK
IAkJCQk4NDgyQjc0NDExOThDMzJFMDBCRkIwMDUgLyogSGFzaENoYW5nZUV2ZW50LmlkbCAqLywK
IAkJCQk0NUJBQzJBRjEzNjBCQkFCMDA1REEyNTggLyogSWNvblVSTC5oICovLApAQCAtMzA0NDks
NyArMzA0NDYsNiBAQAogCQkJCUE4MzNDN0NDMEEyQ0YwNzQwMEQ1NzY2NCAvKiBYTGlua05hbWVz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTAwQjkzMTg3MTNCQThEQjMwMDM1QTk0OCAvKiBYTUxE
b2N1bWVudFBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwMEI5MzE4OTEzQkE4REJDMDAz
NUE5NDggLyogWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CUNENjJGQjk1MUFGMDE4RTcwMDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTI2QTUxN0ZEMUFCOTIyMzgwMDYzMzVERiAvKiBERkFNaW5pbWl6ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMDBCOTMxOEIxM0JBOERDOTAwMzVBOTQ4IC8qIFhNTERvY3Vt
ZW50UGFyc2VyU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTlDMjgwNDUxMzhEQzI0MTAw
NzlCN0UyIC8qIFhNTEVycm9ycy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9HZW5lcmljVGFza1F1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9H
ZW5lcmljVGFza1F1ZXVlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjNmNzhh
YzMzNDRlZjU2NzgyMjY1MTRlN2EwNWEyNTE5MGY3OTQzNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY1Rhc2tR
dWV1ZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJHZW5lcmljVGFza1F1ZXVlLmgiCi0KLSNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotR2VuZXJpY1Rhc2tRdWV1ZTo6R2VuZXJp
Y1Rhc2tRdWV1ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQotICAgIDogbV9jb250
ZXh0KGNvbnRleHQpCi0gICAgLCBtX3dlYWtQdHJGYWN0b3J5KHRoaXMpCi17Ci19Ci0KLXZvaWQg
R2VuZXJpY1Rhc2tRdWV1ZTo6ZW5xdWV1ZVRhc2soc3RkOjpmdW5jdGlvbjx2b2lkKCk+IHRhc2sp
Ci17Ci0gICAgQVNTRVJUKCFtX2lzQ2xvc2VkKTsKLSAgICArK21fcGVuZGluZ1Rhc2tzOwotICAg
IGF1dG8gd2Vha1RoaXMgPSBtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKTsKLSAgICBt
X2NvbnRleHQucG9zdFRhc2soW3dlYWtUaGlzLCB0YXNrXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYpIHsKLSAgICAgICAgaWYgKCF3ZWFrVGhpcykKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgLS13ZWFrVGhpcy0+bV9wZW5kaW5nVGFza3M7Ci0gICAgICAgIHRhc2soKTsKLSAgICB9KTsK
LX0KLQotdm9pZCBHZW5lcmljVGFza1F1ZXVlOjpjbG9zZSgpCi17Ci0gICAgY2FuY2VsQWxsVGFz
a3MoKTsKLSAgICBtX2lzQ2xvc2VkID0gdHJ1ZTsKLX0KLQotdm9pZCBHZW5lcmljVGFza1F1ZXVl
OjpjYW5jZWxBbGxUYXNrcygpCi17Ci0gICAgbV93ZWFrUHRyRmFjdG9yeS5yZXZva2VBbGwoKTsK
LSAgICBtX3BlbmRpbmdUYXNrcyA9IDA7Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9HZW5lcmljVGFza1F1ZXVlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY1Rh
c2tRdWV1ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYzM5ZWYzNjg0OGU3NjA0
ZTZjZDk4OGE0MmMzMDY5ZGI5YWQzMTdlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljVGFza1F1ZXVlLmgKKysr
IC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAotICovCi0KLSNpZm5kZWYgR2VuZXJpY1Rhc2tRdWV1ZV9oCi0jZGVmaW5lIEdl
bmVyaWNUYXNrUXVldWVfaAotCi0jaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3Rm
L1dlYWtQdHIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OwotCi1jbGFzcyBHZW5lcmljVGFza1F1ZXVlIHsKLXB1YmxpYzoKLSAgICBHZW5l
cmljVGFza1F1ZXVlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKLQotICAgIHZvaWQgZW5xdWV1
ZVRhc2soc3RkOjpmdW5jdGlvbjx2b2lkKCk+KTsKLSAgICB2b2lkIGNsb3NlKCk7Ci0KLSAgICB2
b2lkIGNhbmNlbEFsbFRhc2tzKCk7Ci0gICAgYm9vbCBoYXNQZW5kaW5nVGFza3MoKSBjb25zdCB7
IHJldHVybiBtX3BlbmRpbmdUYXNrczsgfQotCi1wcml2YXRlOgotICAgIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIG1fY29udGV4dDsKLSAgICBXZWFrUHRyRmFjdG9yeTxHZW5lcmljVGFza1F1ZXVl
PiBtX3dlYWtQdHJGYWN0b3J5OwotICAgIHVuc2lnbmVkIG1fcGVuZGluZ1Rhc2tzIHsgMCB9Owot
ICAgIGJvb2wgbV9pc0Nsb3NlZCB7IGZhbHNlIH07Ci19OwotCi19Ci0KLSNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCBmZGYzNWRjZmY3NTA5MzU2Y2Q0NDQ2
ZjZjOWYyMmI1NTI0NGY0NWNlLi5hYmFhNDIxYTdkMjFjYzE5NWUyNWQyOTg4YjI1Yzc0YjYzMTFl
YzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtNzQxLDcgKzc0
MSw3IEBAIHByaXZhdGU6CiAgICAgVGltZXIgbV9wcm9ncmVzc0V2ZW50VGltZXI7CiAgICAgVGlt
ZXIgbV9wbGF5YmFja1Byb2dyZXNzVGltZXI7CiAgICAgVGltZXIgbV9zY2FuVGltZXI7Ci0gICAg
R2VuZXJpY1Rhc2tRdWV1ZSBtX3NlZWtUYXNrUXVldWU7CisgICAgR2VuZXJpY1Rhc2tRdWV1ZTxT
Y3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3NlZWtUYXNrUXVldWU7CiAgICAgUmVmUHRyPFRpbWVS
YW5nZXM+IG1fcGxheWVkVGltZVJhbmdlczsKICAgICBHZW5lcmljRXZlbnRRdWV1ZSBtX2FzeW5j
RXZlbnRRdWV1ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJp
Y1Rhc2tRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFmZDc3ZDA5OGIyZDYyODU2ZDIxMzg0N2MwMGEyYmZmZmRmY2U0NjYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVl
LmgKQEAgLTAsMCArMSwxMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisgKi8KKworI2lmbmRlZiBHZW5lcmljVGFza1F1ZXVlX2gKKyNkZWZpbmUgR2VuZXJpY1Rh
c2tRdWV1ZV9oCisKKyNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgor
I2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordGVtcGxh
dGUgPHR5cGVuYW1lIFQ+CitjbGFzcyBUYXNrRGlzcGF0Y2hlciB7CitwdWJsaWM6CisgICAgVGFz
a0Rpc3BhdGNoZXIoVCYgY29udGV4dCkKKyAgICAgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAg
ICB7CisgICAgfQorCisgICAgdm9pZCBwb3N0VGFzayhzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZikK
KyAgICB7CisgICAgICAgIG1fY29udGV4dC5wb3N0VGFzayhmKTsKKyAgICB9CisKK3ByaXZhdGU6
CisgICAgVCYgbV9jb250ZXh0OworfTsKKwordGVtcGxhdGU8PgorY2xhc3MgVGFza0Rpc3BhdGNo
ZXI8VGltZXI+IHsKK3B1YmxpYzoKKyAgICBUYXNrRGlzcGF0Y2hlcigpCisgICAgICAgIDogbV90
aW1lcigqdGhpcywgJlRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6dGltZXJGaXJlZCkKKyAgICB7Cisg
ICAgfQorCisgICAgdm9pZCBwb3N0VGFzayhzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZnVuY3Rpb24p
CisgICAgeworICAgICAgICBtX3F1ZXVlLmFwcGVuZChmdW5jdGlvbik7CisgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIH0KKworICAgIHZvaWQgdGltZXJGaXJlZCgpCisgICAg
eworICAgICAgICBEZXF1ZTxzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4+IHF1ZXVlOworICAgICAgICBx
dWV1ZS5zd2FwKG1fcXVldWUpOworICAgICAgICBmb3IgKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiYg
ZnVuY3Rpb24gOiBxdWV1ZSkKKyAgICAgICAgICAgIGZ1bmN0aW9uKCk7CisgICAgfQorCisgICAg
VGltZXIgbV90aW1lcjsKKyAgICBEZXF1ZTxzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4+IG1fcXVldWU7
Cit9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK2NsYXNzIEdlbmVyaWNUYXNrUXVldWUgewor
cHVibGljOgorICAgIEdlbmVyaWNUYXNrUXVldWUoKQorICAgICAgICA6IG1fd2Vha1B0ckZhY3Rv
cnkodGhpcykKKyAgICAgICAgLCBtX2Rpc3BhdGNoZXIoKQorICAgIHsKKyAgICB9CisKKyAgICBH
ZW5lcmljVGFza1F1ZXVlKFQmIHQpCisgICAgICAgIDogbV93ZWFrUHRyRmFjdG9yeSh0aGlzKQor
ICAgICAgICAsIG1fZGlzcGF0Y2hlcih0KQorICAgIHsKKyAgICB9CisKKyAgICB0eXBlZGVmIHN0
ZDo6ZnVuY3Rpb248dm9pZCgpPiBUYXNrRnVuY3Rpb247CisKKyAgICB2b2lkIGVucXVldWVUYXNr
KFRhc2tGdW5jdGlvbiB0YXNrKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX2lzQ2xvc2VkKTsK
KyAgICAgICAgKyttX3BlbmRpbmdUYXNrczsKKyAgICAgICAgYXV0byB3ZWFrVGhpcyA9IG1fd2Vh
a1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigpOworICAgICAgICBtX2Rpc3BhdGNoZXIucG9zdFRh
c2soW3dlYWtUaGlzLCB0YXNrXSB7CisgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHRhc2soKTsKKyAgICAgICAgfSk7CisgICAg
fQorCisgICAgdm9pZCBjbG9zZSgpCisgICAgeworICAgICAgICBjYW5jZWxBbGxUYXNrcygpOwor
ICAgICAgICBtX2lzQ2xvc2VkID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIGNhbmNlbEFsbFRh
c2tzKCkKKyAgICB7CisgICAgICAgIG1fd2Vha1B0ckZhY3RvcnkucmV2b2tlQWxsKCk7CisgICAg
ICAgIG1fcGVuZGluZ1Rhc2tzID0gMDsKKyAgICB9CisgICAgYm9vbCBoYXNQZW5kaW5nVGFza3Mo
KSBjb25zdCB7IHJldHVybiBtX3BlbmRpbmdUYXNrczsgfQorCitwcml2YXRlOgorICAgIFdlYWtQ
dHJGYWN0b3J5PEdlbmVyaWNUYXNrUXVldWU+IG1fd2Vha1B0ckZhY3Rvcnk7CisgICAgVGFza0Rp
c3BhdGNoZXI8VD4gbV9kaXNwYXRjaGVyOworICAgIHVuc2lnbmVkIG1fcGVuZGluZ1Rhc2tzIHsg
MCB9OworICAgIGJvb2wgbV9pc0Nsb3NlZCB7IGZhbHNlIH07Cit9OworCit9CisKKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252009</attachid>
            <date>2015-04-29 16:45:22 -0700</date>
            <delta_ts>2015-04-29 17:48:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144414-20150429164412.patch</filename>
            <type>text/plain</type>
            <size>19703</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjkzZTFiNmJlMGFkYWUz
ODg2NTBlZTNlYmQ4NDVlOGJjZmQwODI2ZS4uZDY0MThmMDYzNTM1ZDhhZmYyNTc0ZTZmZDVjNTYw
OWI1ODBiOThmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMyIEBACiAyMDE1LTA0LTI5ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIE1ha2UgR2VuZXJpY1Rhc2tR
dWV1ZSBldmVuIG1vcmUgZ2VuZXJpYyAoYW5kIHVzYWJsZSBpbnNpZGUgcGxhdGZvcm0vKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0NDE0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVtcGxhdGl6ZSBH
ZW5lcmljVGFza1F1ZXVlIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgZnJvbSB3aXRoaW4gcGxhdGZv
cm0vLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIGRvbS9HZW5lcmljVGFza1F1ZXVlLmNwcDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9HZW5lcmlj
VGFza1F1ZXVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY1Rhc2tR
dWV1ZS5oLgorICAgICAgICAoV2ViQ29yZTo6VGFza0Rpc3BhdGNoZXI6OlRhc2tEaXNwYXRjaGVy
KTogQWRkZWQgZGVmYXVsdCB0ZW1wbGF0aXplZCBjbGFzcyB3aGljaCBqdXN0IGNhbGxzIHRoZSBw
YXJhbWV0ZXIncyBwb3N0VGFzaygpLgorICAgICAgICAoV2ViQ29yZTo6VGFza0Rpc3BhdGNoZXI6
OnBvc3RUYXNrKTogQ2FsbCBjb250ZXh0J3MgcG9zdFRhc2soKS4KKyAgICAgICAgKFdlYkNvcmU6
OlRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6VGFza0Rpc3BhdGNoZXIpOiBBZGQgYSB0aW1lciB2ZXJz
aW9uIHdoaWNoIGRvZXMgbm90IHJlcXVpcmUgYSBjb250ZXh0LgorICAgICAgICAoV2ViQ29yZTo6
VGFza0Rpc3BhdGNoZXI8VGltZXI+Ojpwb3N0VGFzayk6IFNldCB0aGUgdGltZXIuCisgICAgICAg
IChXZWJDb3JlOjpUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnRpbWVyRmlyZWQpOiBDYWxsIHRoZSB0
YXNrLgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2tRdWV1ZTo6R2VuZXJpY1Rhc2tRdWV1
ZSk6IE1vdmVkIGZyb20gLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OkdlbmVyaWNUYXNrUXVldWU6
OmVucXVldWVUYXNrKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpHZW5lcmljVGFza1F1ZXVl
OjpjbG9zZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2tRdWV1ZTo6Y2Fu
Y2VsQWxsVGFza3MpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkdlbmVyaWNUYXNrUXVldWU6
Omhhc1BlbmRpbmdUYXNrcyk6IERpdHRvLgorCisyMDE1LTA0LTI5ICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgorCiAgICAgICAgIFVucmV2aWV3ZWQgaU9TIGJ1aWxkIGZpeCBhZnRl
ciByMTgzNTUzOiBmaXggZGVjbGFyYXRpb24gb2YgUUxQcmV2aWV3U2NoZW1lCiAKICAgICAgICAg
KiBwbGF0Zm9ybS9pb3MvUXVpY2tMb29rU29mdExpbmsubW06CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IDFmNTNlNTNhZDA1NjJiMzZiNDU1MzZiNzI1NWVhOTkzY2MzMTlhYjUuLmRjYTdiMTM1Y2E4
ZWM0NTllZTVlYzVmZjJiNjg0YThjNWQ1ZjUxMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0x
Mzk4LDcgKzEzOTgsNiBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL0V4Y2VwdGlvbkNv
ZGVQbGFjZWhvbGRlci5jcHAKICAgICBkb20vRm9jdXNFdmVudC5jcHAKICAgICBkb20vR2VuZXJp
Y0V2ZW50UXVldWUuY3BwCi0gICAgZG9tL0dlbmVyaWNUYXNrUXVldWUuY3BwCiAgICAgZG9tL0lk
VGFyZ2V0T2JzZXJ2ZXIuY3BwCiAgICAgZG9tL0lkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeS5jcHAK
ICAgICBkb20vSW5saW5lU3R5bGVTaGVldE93bmVyLmNwcApAQCAtMjAzMiw2ICsyMDMxLDcgQEAg
c2V0KFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL0ZpbGVDaG9vc2VyLmNwcAogICAgIHBs
YXRmb3JtL0ZpbGVTdHJlYW0uY3BwCiAgICAgcGxhdGZvcm0vRmlsZVN5c3RlbS5jcHAKKyAgICBw
bGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcAogICAgIHBsYXRmb3JtL1VSTC5jcHAKICAgICBw
bGF0Zm9ybS9LaWxsUmluZ05vbmUuY3BwCiAgICAgcGxhdGZvcm0vTGFuZ3VhZ2UuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCA5NmZh
YjkyOGUyODBiYWZjNDU1ZDhlODY0NWUwODYzYmU5NzEyMzljLi5mZWJkYWI0NzA5ZjJjZDJjZTcy
ODhiM2VjYTVhYWZmNmFkODFiZGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTczOTEsNiArNzM5MSw3IEBACiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxGaWxlQ2hvb3Nlci5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxGaWxlU3RyZWFtLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXEZpbGVTeXN0ZW0uY3BwIiAvPgorICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cR2VuZXJpY1Rhc2tRdWV1ZS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xhdmZvdW5kYXRpb25cY2ZcQ0RNU2Vz
c2lvbkFWRm91bmRhdGlvbkNGLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBs
YXRmb3JtXGdyYXBoaWNzXGF2Zm91bmRhdGlvblxjZlxXZWJDb3JlQVZDRlJlc291cmNlTG9hZGVy
LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXElT
T1ZUVEN1ZS5jcHAiIC8+CkBAIC0xMzM5OSw3ICsxMzQwMCw2IEBACiAgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9k
dWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZG9tXEdlbmVyaWNFdmVudFF1ZXVlLmNwcCIgLz4K
LSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRvbVxHZW5lcmljVGFza1F1ZXVlLmNwcCIgLz4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRvbVxJZFRhcmdldE9ic2VydmVyLmNwcCI+CiAg
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0xOTc4OSw2ICsx
OTc4OSw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxGaWxlU3RyZWFt
Q2xpZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxGaWxlU3lz
dGVtLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxGbG9hdENvbnZl
cnNpb24uaCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXEdlbmVyaWNU
YXNrUXVldWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGF1ZGlv
XEF1ZGlvU2Vzc2lvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
YXVkaW9cTWVkaWFTZXNzaW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxhdWRpb1xNZWRpYVNlc3Npb25NYW5hZ2VyLmgiIC8+CkBAIC0yMDk3OSw3ICsyMDk4MCw2
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkb21cRXhjZXB0aW9uQ29kZS5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZG9tXEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZG9tXEdlbmVyaWNFdmVudFF1ZXVlLmgi
IC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkb21cR2VuZXJpY1Rhc2tRdWV1ZS5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZG9tXEhhc2hDaGFuZ2VFdmVudC5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZG9tXEljb25VUkwuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGRvbVxJZFRhcmdldE9ic2VydmVyLmgiIC8+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5k
ZXggMTVkYjFiMTFmNDc2NTQ3N2Q5NjJhNjQxMjZiZmRjNGE0YWJkOTRiNC4uZjZlY2JjM2FkYjRl
YmYxNDViMTBkOTIzNjI3NjhiZjc2ZTE1NzY5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtMTEwMSw2ICsx
MTAxLDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXEZpbGVTeXN0ZW0u
Y3BwIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZvcm08L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4K
KyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXEdlbmVyaWNUYXNrUXVldWUuY3Bw
Ij4KKyAgICAgIDxGaWx0ZXI+cGxhdGZvcm08L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXEtpbGxSaW5nTm9uZS5jcHAiPgogICAg
ICAgPEZpbHRlcj5wbGF0Zm9ybTwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMzE4MCw5
ICszMTgzLDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRvbVxHZW5lcmljRXZlbnRR
dWV1ZS5jcHAiPgogICAgICAgPEZpbHRlcj5kb208L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4K
LSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRvbVxHZW5lcmljVGFza1F1ZXVlLmNwcCI+Ci0g
ICAgICA8RmlsdGVyPmRvbTwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cZG9tXElkVGFyZ2V0T2JzZXJ2ZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+
ZG9tPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC04MTgxLDYgKzgxODEsOSBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cRmxvYXRDb252ZXJzaW9uLmgiPgogICAg
ICAgPEZpbHRlcj5wbGF0Zm9ybTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cR2VuZXJpY1Rhc2tRdWV1ZS5oIj4KKyAgICAgIDxG
aWx0ZXI+cGxhdGZvcm08L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXEhvc3RXaW5kb3cuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRm
b3JtPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0xMDI5MCw5ICsxMDI5Myw2IEBACiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkb21cR2VuZXJpY0V2ZW50UXVldWUuaCI+CiAgICAg
ICA8RmlsdGVyPmRvbTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cZG9tXEdlbmVyaWNUYXNrUXVldWUuaCI+Ci0gICAgICA8RmlsdGVyPmRvbTwv
RmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZG9t
XEhhc2hDaGFuZ2VFdmVudC5oIj4KICAgICAgIDxGaWx0ZXI+ZG9tPC9GaWx0ZXI+CiAgICAgPC9D
bEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggOTQ4NmU3YzE4MGM4ZWM1MzBmNWVhNjExNDY0YjgyODljZjI1ZjY0Zi4u
ZTExOWFlMDQ3ZmJkZmVkOGI0OTkyN2I3ZTU0MDJiNjkwZjM4MDk2ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTczNyw3ICs1
NzM3LDYgQEAKIAkJQ0Q2MEMwQzcxOTNFODdDNzAwM0M2NTZCIC8qIE1lZGlhVGltZVFUS2l0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDYwQzBDNTE5
M0U4N0M3MDAzQzY1NkIgLyogTWVkaWFUaW1lUVRLaXQuaCAqLzsgfTsKIAkJQ0Q2MUZFNjcxNzk0
QUFEQjAwNDEwMUVCIC8qIE1lZGlhU291cmNlUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFBOTQyRTExNUI1Q0UyMjAwRDUyNUQxIC8q
IE1lZGlhU291cmNlUmVnaXN0cnkuY3BwICovOyB9OwogCQlDRDYxRkU2ODE3OTRBQURCMDA0MTAx
RUIgLyogTWVkaWFTb3VyY2VSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjFBOTQyRTIxNUI1Q0UyMjAwRDUyNUQxIC8qIE1lZGlhU291cmNl
UmVnaXN0cnkuaCAqLzsgfTsKLQkJQ0Q2MkZCOTUxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNU
YXNrUXVldWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0Q2MkZCOTMxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuY3BwICovOyB9
OwogCQlDRDYyRkI5NjFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2MkZCOTQxQUYwMThF
NzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyogTWVk
aWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRDY0MUVCMTE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmgg
Ki87IH07CiAJCUNENjQxRUI0MTgxOEY1RUQwMEVFNEM0MSAvKiBTb3VyY2VCdWZmZXJQcml2YXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDY0MUVC
MjE4MThGNUVEMDBFRTRDNDEgLyogU291cmNlQnVmZmVyUHJpdmF0ZS5oICovOyB9OwpAQCAtMTMy
ODksNyArMTMyODgsNiBAQAogCQlDRDVFNUI2MDFBMTVGMTU2MDAwQzYwOUUgLyogUGFnZUNvbmZp
Z3VyYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFnZUNv
bmZpZ3VyYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDYwQzBDNDE5
M0U4N0M3MDAzQzY1NkIgLyogTWVkaWFUaW1lUVRLaXQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBNZWRpYVRpbWVRVEtpdC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0Q2MEMwQzUxOTNFODdDNzAwM0M2NTZCIC8qIE1lZGlhVGltZVFUS2l0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhVGltZVFUS2l0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUNENjJGQjkzMUFGMDE4RTcwMDEyRUQ3RCAvKiBHZW5l
cmljVGFza1F1ZXVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdl
bmVyaWNUYXNrUXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDYyRkI5
NDFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBHZW5lcmljVGFza1F1ZXVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNENjQxRUIxMTgxOEY1RUQwMEVFNEM0MSAvKiBNZWRpYVNvdXJjZVByaXZhdGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTb3VyY2VQcml2YXRlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENjQxRUIyMTgxOEY1RUQwMEVFNEM0MSAv
KiBTb3VyY2VCdWZmZXJQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNvdXJjZUJ1ZmZlclByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIx
NzIyLDYgKzIxNzIwLDcgQEAKIAkJCQlDNTdGRURFMDEyMTJFRTlDMDA5N0JFNjUgLyogRmlsZVN5
c3RlbS5jcHAgKi8sCiAJCQkJNTE0QjNGNzIwQzcyMjA0NzAwMDUzMERGIC8qIEZpbGVTeXN0ZW0u
aCAqLywKIAkJCQlCQzA3M0JBOTBDMzk5QjFGMDAwRjU5NzkgLyogRmxvYXRDb252ZXJzaW9uLmgg
Ki8sCisJCQkJQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuaCAq
LywKIAkJCQk1MTc5Q0UyNTE5NUM4MjFEMDAxOUMxOTggLyogR2FtZXBhZFByb3ZpZGVyLmNwcCAq
LywKIAkJCQk1MTc5Q0UyMzE5NUM4MTQyMDAxOUMxOTggLyogR2FtZXBhZFByb3ZpZGVyLmggKi8s
CiAJCQkJNTE3OUNFMjkxOTVDOTE4NjAwMTlDMTk4IC8qIEdhbWVwYWRQcm92aWRlckNsaWVudC5o
ICovLApAQCAtMjMwNzEsOCArMjMwNzAsNiBAQAogCQkJCUE4NTMxMjNDMTFEMDQ3MUIwMEQ0RDA3
NyAvKiBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCAqLywKIAkJCQkwNzIwQjA5RTE0RDMz
MjM1MDA2NDI5NTUgLyogR2VuZXJpY0V2ZW50UXVldWUuY3BwICovLAogCQkJCTA3MjBCMDlGMTRE
MzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRRdWV1ZS5oICovLAotCQkJCUNENjJGQjkzMUFG
MDE4RTcwMDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmNwcCAqLywKLQkJCQlDRDYyRkI5NDFB
RjAxOEU3MDAxMkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5oICovLAogCQkJCTI0NDJCQkY4MTE5
NEM5RDMwMEQ0OTQ2OSAvKiBIYXNoQ2hhbmdlRXZlbnQuaCAqLywKIAkJCQk4NDgyQjc0NDExOThD
MzJFMDBCRkIwMDUgLyogSGFzaENoYW5nZUV2ZW50LmlkbCAqLywKIAkJCQk0NUJBQzJBRjEzNjBC
QkFCMDA1REEyNTggLyogSWNvblVSTC5oICovLApAQCAtMzA0NDksNyArMzA0NDYsNiBAQAogCQkJ
CUE4MzNDN0NDMEEyQ0YwNzQwMEQ1NzY2NCAvKiBYTGlua05hbWVzLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTAwQjkzMTg3MTNCQThEQjMwMDM1QTk0OCAvKiBYTUxEb2N1bWVudFBhcnNlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwMEI5MzE4OTEzQkE4REJDMDAzNUE5NDggLyogWE1MRG9jdW1l
bnRQYXJzZXJMaWJ4bWwyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUNENjJGQjk1MUFGMDE4RTcw
MDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI2QTUx
N0ZEMUFCOTIyMzgwMDYzMzVERiAvKiBERkFNaW5pbWl6ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMDBCOTMxOEIxM0JBOERDOTAwMzVBOTQ4IC8qIFhNTERvY3VtZW50UGFyc2VyU2NvcGUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNTlDMjgwNDUxMzhEQzI0MTAwNzlCN0UyIC8qIFhNTEVycm9y
cy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5l
cmljVGFza1F1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljVGFza1F1ZXVlLmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjNmNzhhYzMzNDRlZjU2NzgyMjY1MTRl
N2EwNWEyNTE5MGY3OTQzNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSw2NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJHZW5lcmljVGFza1F1
ZXVlLmgiCi0KLSNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCi0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotR2VuZXJpY1Rhc2tRdWV1ZTo6R2VuZXJpY1Rhc2tRdWV1ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQotICAgIDogbV9jb250ZXh0KGNvbnRleHQpCi0gICAg
LCBtX3dlYWtQdHJGYWN0b3J5KHRoaXMpCi17Ci19Ci0KLXZvaWQgR2VuZXJpY1Rhc2tRdWV1ZTo6
ZW5xdWV1ZVRhc2soc3RkOjpmdW5jdGlvbjx2b2lkKCk+IHRhc2spCi17Ci0gICAgQVNTRVJUKCFt
X2lzQ2xvc2VkKTsKLSAgICArK21fcGVuZGluZ1Rhc2tzOwotICAgIGF1dG8gd2Vha1RoaXMgPSBt
X3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKTsKLSAgICBtX2NvbnRleHQucG9zdFRhc2so
W3dlYWtUaGlzLCB0YXNrXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIHsKLSAgICAgICAgaWYg
KCF3ZWFrVGhpcykKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgLS13ZWFrVGhpcy0+bV9w
ZW5kaW5nVGFza3M7Ci0gICAgICAgIHRhc2soKTsKLSAgICB9KTsKLX0KLQotdm9pZCBHZW5lcmlj
VGFza1F1ZXVlOjpjbG9zZSgpCi17Ci0gICAgY2FuY2VsQWxsVGFza3MoKTsKLSAgICBtX2lzQ2xv
c2VkID0gdHJ1ZTsKLX0KLQotdm9pZCBHZW5lcmljVGFza1F1ZXVlOjpjYW5jZWxBbGxUYXNrcygp
Ci17Ci0gICAgbV93ZWFrUHRyRmFjdG9yeS5yZXZva2VBbGwoKTsKLSAgICBtX3BlbmRpbmdUYXNr
cyA9IDA7Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljVGFz
a1F1ZXVlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY1Rhc2tRdWV1ZS5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYzM5ZWYzNjg0OGU3NjA0ZTZjZDk4OGE0MmMzMDY5ZGI5
YWQzMTdlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljVGFza1F1ZXVlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1
NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0K
LSNpZm5kZWYgR2VuZXJpY1Rhc2tRdWV1ZV9oCi0jZGVmaW5lIEdlbmVyaWNUYXNrUXVldWVfaAot
Ci0jaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwotCi1jbGFz
cyBHZW5lcmljVGFza1F1ZXVlIHsKLXB1YmxpYzoKLSAgICBHZW5lcmljVGFza1F1ZXVlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmKTsKLQotICAgIHZvaWQgZW5xdWV1ZVRhc2soc3RkOjpmdW5jdGlv
bjx2b2lkKCk+KTsKLSAgICB2b2lkIGNsb3NlKCk7Ci0KLSAgICB2b2lkIGNhbmNlbEFsbFRhc2tz
KCk7Ci0gICAgYm9vbCBoYXNQZW5kaW5nVGFza3MoKSBjb25zdCB7IHJldHVybiBtX3BlbmRpbmdU
YXNrczsgfQotCi1wcml2YXRlOgotICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIG1fY29udGV4
dDsKLSAgICBXZWFrUHRyRmFjdG9yeTxHZW5lcmljVGFza1F1ZXVlPiBtX3dlYWtQdHJGYWN0b3J5
OwotICAgIHVuc2lnbmVkIG1fcGVuZGluZ1Rhc2tzIHsgMCB9OwotICAgIGJvb2wgbV9pc0Nsb3Nl
ZCB7IGZhbHNlIH07Ci19OwotCi19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaAppbmRleCBmZGYzNWRjZmY3NTA5MzU2Y2Q0NDQ2ZjZjOWYyMmI1NTI0NGY0NWNl
Li5hYmFhNDIxYTdkMjFjYzE5NWUyNWQyOTg4YjI1Yzc0YjYzMTFlYzA0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtNzQxLDcgKzc0MSw3IEBAIHByaXZhdGU6CiAg
ICAgVGltZXIgbV9wcm9ncmVzc0V2ZW50VGltZXI7CiAgICAgVGltZXIgbV9wbGF5YmFja1Byb2dy
ZXNzVGltZXI7CiAgICAgVGltZXIgbV9zY2FuVGltZXI7Ci0gICAgR2VuZXJpY1Rhc2tRdWV1ZSBt
X3NlZWtUYXNrUXVldWU7CisgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVjdXRpb25Db250
ZXh0PiBtX3NlZWtUYXNrUXVldWU7CiAgICAgUmVmUHRyPFRpbWVSYW5nZXM+IG1fcGxheWVkVGlt
ZVJhbmdlczsKICAgICBHZW5lcmljRXZlbnRRdWV1ZSBtX2FzeW5jRXZlbnRRdWV1ZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmZDc3
ZDA5OGIyZDYyODU2ZDIxMzg0N2MwMGEyYmZmZmRmY2U0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmgKQEAgLTAsMCArMSwxMjkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRl
ZiBHZW5lcmljVGFza1F1ZXVlX2gKKyNkZWZpbmUgR2VuZXJpY1Rhc2tRdWV1ZV9oCisKKyNpbmNs
dWRlICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgorI2luY2x1ZGUgPHd0Zi9XZWFr
UHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Citj
bGFzcyBUYXNrRGlzcGF0Y2hlciB7CitwdWJsaWM6CisgICAgVGFza0Rpc3BhdGNoZXIoVCYgY29u
dGV4dCkKKyAgICAgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAgICB7CisgICAgfQorCisgICAg
dm9pZCBwb3N0VGFzayhzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZikKKyAgICB7CisgICAgICAgIG1f
Y29udGV4dC5wb3N0VGFzayhmKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgVCYgbV9jb250ZXh0
OworfTsKKwordGVtcGxhdGU8PgorY2xhc3MgVGFza0Rpc3BhdGNoZXI8VGltZXI+IHsKK3B1Ymxp
YzoKKyAgICBUYXNrRGlzcGF0Y2hlcigpCisgICAgICAgIDogbV90aW1lcigqdGhpcywgJlRhc2tE
aXNwYXRjaGVyPFRpbWVyPjo6dGltZXJGaXJlZCkKKyAgICB7CisgICAgfQorCisgICAgdm9pZCBw
b3N0VGFzayhzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZnVuY3Rpb24pCisgICAgeworICAgICAgICBt
X3F1ZXVlLmFwcGVuZChmdW5jdGlvbik7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIH0KKworICAgIHZvaWQgdGltZXJGaXJlZCgpCisgICAgeworICAgICAgICBEZXF1ZTxz
dGQ6OmZ1bmN0aW9uPHZvaWQoKT4+IHF1ZXVlOworICAgICAgICBxdWV1ZS5zd2FwKG1fcXVldWUp
OworICAgICAgICBmb3IgKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiYgZnVuY3Rpb24gOiBxdWV1ZSkK
KyAgICAgICAgICAgIGZ1bmN0aW9uKCk7CisgICAgfQorCisgICAgVGltZXIgbV90aW1lcjsKKyAg
ICBEZXF1ZTxzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4+IG1fcXVldWU7Cit9OworCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4KK2NsYXNzIEdlbmVyaWNUYXNrUXVldWUgeworcHVibGljOgorICAgIEdlbmVy
aWNUYXNrUXVldWUoKQorICAgICAgICA6IG1fd2Vha1B0ckZhY3RvcnkodGhpcykKKyAgICAgICAg
LCBtX2Rpc3BhdGNoZXIoKQorICAgIHsKKyAgICB9CisKKyAgICBHZW5lcmljVGFza1F1ZXVlKFQm
IHQpCisgICAgICAgIDogbV93ZWFrUHRyRmFjdG9yeSh0aGlzKQorICAgICAgICAsIG1fZGlzcGF0
Y2hlcih0KQorICAgIHsKKyAgICB9CisKKyAgICB0eXBlZGVmIHN0ZDo6ZnVuY3Rpb248dm9pZCgp
PiBUYXNrRnVuY3Rpb247CisKKyAgICB2b2lkIGVucXVldWVUYXNrKFRhc2tGdW5jdGlvbiB0YXNr
KQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX2lzQ2xvc2VkKTsKKyAgICAgICAgKyttX3BlbmRp
bmdUYXNrczsKKyAgICAgICAgYXV0byB3ZWFrVGhpcyA9IG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRl
V2Vha1B0cigpOworICAgICAgICBtX2Rpc3BhdGNoZXIucG9zdFRhc2soW3dlYWtUaGlzLCB0YXNr
XSB7CisgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIHRhc2soKTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAgdm9pZCBjbG9z
ZSgpCisgICAgeworICAgICAgICBjYW5jZWxBbGxUYXNrcygpOworICAgICAgICBtX2lzQ2xvc2Vk
ID0gdHJ1ZTsKKyAgICB9CisKKyAgICB2b2lkIGNhbmNlbEFsbFRhc2tzKCkKKyAgICB7CisgICAg
ICAgIG1fd2Vha1B0ckZhY3RvcnkucmV2b2tlQWxsKCk7CisgICAgICAgIG1fcGVuZGluZ1Rhc2tz
ID0gMDsKKyAgICB9CisgICAgYm9vbCBoYXNQZW5kaW5nVGFza3MoKSBjb25zdCB7IHJldHVybiBt
X3BlbmRpbmdUYXNrczsgfQorCitwcml2YXRlOgorICAgIFdlYWtQdHJGYWN0b3J5PEdlbmVyaWNU
YXNrUXVldWU+IG1fd2Vha1B0ckZhY3Rvcnk7CisgICAgVGFza0Rpc3BhdGNoZXI8VD4gbV9kaXNw
YXRjaGVyOworICAgIHVuc2lnbmVkIG1fcGVuZGluZ1Rhc2tzIHsgMCB9OworICAgIGJvb2wgbV9p
c0Nsb3NlZCB7IGZhbHNlIH07Cit9OworCit9CisKKyNlbmRpZgo=
</data>
<flag name="review"
          id="276836"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252035</attachid>
            <date>2015-04-29 21:09:18 -0700</date>
            <delta_ts>2015-04-29 22:02:17 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-144414-20150429210808.patch</filename>
            <type>text/plain</type>
            <size>18603</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjkzZTFiNmJlMGFkYWUz
ODg2NTBlZTNlYmQ4NDVlOGJjZmQwODI2ZS4uMGMzMTIzZjhjZmZkYjQ3ZmU5YjU4YzA5ODU4YWRj
OTU0YWI4YzFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMyIEBACiAyMDE1LTA0LTI5ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIE1ha2UgR2VuZXJpY1Rhc2tR
dWV1ZSBldmVuIG1vcmUgZ2VuZXJpYyAoYW5kIHVzYWJsZSBpbnNpZGUgcGxhdGZvcm0vKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0NDE0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFRlbXBsYXRpemUgR2Vu
ZXJpY1Rhc2tRdWV1ZSBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGZyb20gd2l0aGluIHBsYXRmb3Jt
Ly4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFdlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBkb20vR2VuZXJpY1Rhc2tRdWV1ZS5jcHA6IFJlbW92ZWQuCisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNUYXNrUXVl
dWUuaC4KKyAgICAgICAgKFdlYkNvcmU6OlRhc2tEaXNwYXRjaGVyOjpUYXNrRGlzcGF0Y2hlcik6
IEFkZGVkIGRlZmF1bHQgdGVtcGxhdGl6ZWQgY2xhc3Mgd2hpY2gganVzdCBjYWxscyB0aGUgcGFy
YW1ldGVyJ3MgcG9zdFRhc2soKS4KKyAgICAgICAgKFdlYkNvcmU6OlRhc2tEaXNwYXRjaGVyOjpw
b3N0VGFzayk6IENhbGwgY29udGV4dCdzIHBvc3RUYXNrKCkuCisgICAgICAgIChXZWJDb3JlOjpU
YXNrRGlzcGF0Y2hlcjxUaW1lcj46OlRhc2tEaXNwYXRjaGVyKTogQWRkIGEgdGltZXIgdmVyc2lv
biB3aGljaCBkb2VzIG5vdCByZXF1aXJlIGEgY29udGV4dC4KKyAgICAgICAgKFdlYkNvcmU6OlRh
c2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2spOiBTZXQgdGhlIHRpbWVyLgorICAgICAgICAo
V2ViQ29yZTo6VGFza0Rpc3BhdGNoZXI8VGltZXI+Ojp0aW1lckZpcmVkKTogQ2FsbCB0aGUgdGFz
ay4KKyAgICAgICAgKFdlYkNvcmU6OkdlbmVyaWNUYXNrUXVldWU6OkdlbmVyaWNUYXNrUXVldWUp
OiBNb3ZlZCBmcm9tIC5jcHAuCisgICAgICAgIChXZWJDb3JlOjpHZW5lcmljVGFza1F1ZXVlOjpl
bnF1ZXVlVGFzayk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2tRdWV1ZTo6
Y2xvc2UpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkdlbmVyaWNUYXNrUXVldWU6OmNhbmNl
bEFsbFRhc2tzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpHZW5lcmljVGFza1F1ZXVlOjpo
YXNQZW5kaW5nVGFza3MpOiBEaXR0by4KKworMjAxNS0wNC0yOSAgSmVyIE5vYmxlICA8amVyLm5v
YmxlQGFwcGxlLmNvbT4KKwogICAgICAgICBVbnJldmlld2VkIGlPUyBidWlsZCBmaXggYWZ0ZXIg
cjE4MzU1MzogZml4IGRlY2xhcmF0aW9uIG9mIFFMUHJldmlld1NjaGVtZQogCiAgICAgICAgICog
cGxhdGZvcm0vaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCAxZjUzZTUzYWQwNTYyYjM2YjQ1NTM2YjcyNTVlYTk5M2NjMzE5YWI1Li4zOTUyNjc0YjdhMTM3
ZmIxYjYxMmIyNzY1OWI2YmRmNzI5MzUyYTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTM5
OCw3ICsxMzk4LDYgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9FeGNlcHRpb25Db2Rl
UGxhY2Vob2xkZXIuY3BwCiAgICAgZG9tL0ZvY3VzRXZlbnQuY3BwCiAgICAgZG9tL0dlbmVyaWNF
dmVudFF1ZXVlLmNwcAotICAgIGRvbS9HZW5lcmljVGFza1F1ZXVlLmNwcAogICAgIGRvbS9JZFRh
cmdldE9ic2VydmVyLmNwcAogICAgIGRvbS9JZFRhcmdldE9ic2VydmVyUmVnaXN0cnkuY3BwCiAg
ICAgZG9tL0lubGluZVN0eWxlU2hlZXRPd25lci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDk2ZmFiOTI4ZTI4MGJhZmM0NTVkOGU4
NjQ1ZTA4NjNiZTk3MTIzOWMuLjA5NGNiYjBlMzNhNjgyMjIxOTNkNzNmYmVlYWIyM2ZlZjc2Nzg4
ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
agpAQCAtMTMzOTksNyArMTMzOTksNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXGRvbVxHZW5lcmljRXZlbnRRdWV1ZS5jcHAiIC8+Ci0gICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxkb21cR2VuZXJpY1Rhc2tRdWV1ZS5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxkb21cSWRUYXJnZXRPYnNlcnZlci5jcHAiPgogICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTk3ODksNiArMTk3ODgsNyBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cRmlsZVN0cmVhbUNsaWVudC5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cRmlsZVN5c3RlbS5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cRmxvYXRDb252ZXJzaW9uLmgiIC8+Cisg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxHZW5lcmljVGFza1F1ZXVlLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxhdWRpb1xBdWRpb1Nlc3Npb24u
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGF1ZGlvXE1lZGlhU2Vz
c2lvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cYXVkaW9cTWVk
aWFTZXNzaW9uTWFuYWdlci5oIiAvPgpAQCAtMjA5NzksNyArMjA5NzksNiBAQAogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cZG9tXEV4Y2VwdGlvbkNvZGUuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGRvbVxFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxHZW5lcmljRXZlbnRRdWV1ZS5oIiAvPgotICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cZG9tXEdlbmVyaWNUYXNrUXVldWUuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGRvbVxIYXNoQ2hhbmdlRXZlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGRvbVxJY29uVVJMLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
Llxkb21cSWRUYXJnZXRPYnNlcnZlci5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDE1ZGIxYjExZjQ3
NjU0NzdkOTYyYTY0MTI2YmZkYzRhNGFiZDk0YjQuLjU4MGQ1Y2NkMzRkZmNjZDQxZWYwZTE0NWRh
NzMxZTI5NTI4NmE1MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTMxODAsOSArMzE4MCw2IEBACiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkb21cR2VuZXJpY0V2ZW50UXVldWUuY3BwIj4KICAgICAg
IDxGaWx0ZXI+ZG9tPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxkb21cR2VuZXJpY1Rhc2tRdWV1ZS5jcHAiPgotICAgICAgPEZpbHRlcj5kb208
L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRv
bVxJZFRhcmdldE9ic2VydmVyLmNwcCI+CiAgICAgICA8RmlsdGVyPmRvbTwvRmlsdGVyPgogICAg
IDwvQ2xDb21waWxlPgpAQCAtODE4MSw2ICs4MTc4LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHBsYXRmb3JtXEZsb2F0Q29udmVyc2lvbi5oIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZv
cm08L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXEdlbmVyaWNUYXNrUXVldWUuaCI+CisgICAgICA8RmlsdGVyPnBsYXRmb3JtPC9G
aWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxIb3N0V2luZG93LmgiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybTwvRmlsdGVyPgogICAg
IDwvQ2xJbmNsdWRlPgpAQCAtMTAyOTAsOSArMTAyOTAsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cZG9tXEdlbmVyaWNFdmVudFF1ZXVlLmgiPgogICAgICAgPEZpbHRlcj5kb208L0Zp
bHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxH
ZW5lcmljVGFza1F1ZXVlLmgiPgotICAgICAgPEZpbHRlcj5kb208L0ZpbHRlcj4KLSAgICA8L0Ns
SW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxIYXNoQ2hhbmdlRXZlbnQu
aCI+CiAgICAgICA8RmlsdGVyPmRvbTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDk0
ODZlN2MxODBjOGVjNTMwZjVlYTYxMTQ2NGI4Mjg5Y2YyNWY2NGYuLmUxMTlhZTA0N2ZiZGZlZDhi
NDk5MjdiN2U1NDAyYjY5MGYzODA5NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU3MzcsNyArNTczNyw2IEBACiAJCUNENjBD
MEM3MTkzRTg3QzcwMDNDNjU2QiAvKiBNZWRpYVRpbWVRVEtpdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2MEMwQzUxOTNFODdDNzAwM0M2NTZCIC8q
IE1lZGlhVGltZVFUS2l0LmggKi87IH07CiAJCUNENjFGRTY3MTc5NEFBREIwMDQxMDFFQiAvKiBN
ZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIxQTk0MkUxMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZVJlZ2lz
dHJ5LmNwcCAqLzsgfTsKIAkJQ0Q2MUZFNjgxNzk0QUFEQjAwNDEwMUVCIC8qIE1lZGlhU291cmNl
UmVnaXN0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEIxQTk0MkUyMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZVJlZ2lzdHJ5LmggKi87IH07
Ci0JCUNENjJGQjk1MUFGMDE4RTcwMDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjJGQjkzMUFGMDE4
RTcwMDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmNwcCAqLzsgfTsKIAkJQ0Q2MkZCOTYxQUYw
MThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjJGQjk0MUFGMDE4RTcwMDEyRUQ3RCAvKiBHZW5l
cmljVGFza1F1ZXVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQ0Q2NDFFQjMxODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2NDFFQjEx
ODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oICovOyB9OwogCQlDRDY0MUVC
NDE4MThGNUVEMDBFRTRDNDEgLyogU291cmNlQnVmZmVyUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2NDFFQjIxODE4RjVFRDAwRUU0QzQx
IC8qIFNvdXJjZUJ1ZmZlclByaXZhdGUuaCAqLzsgfTsKQEAgLTEzMjg5LDcgKzEzMjg4LDYgQEAK
IAkJQ0Q1RTVCNjAxQTE1RjE1NjAwMEM2MDlFIC8qIFBhZ2VDb25maWd1cmF0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VDb25maWd1cmF0aW9uLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q2MEMwQzQxOTNFODdDNzAwM0M2NTZCIC8q
IE1lZGlhVGltZVFUS2l0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gTWVkaWFUaW1lUVRLaXQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENjBD
MEM1MTkzRTg3QzcwMDNDNjU2QiAvKiBNZWRpYVRpbWVRVEtpdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBNZWRpYVRpbWVRVEtpdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlDRDYyRkI5MzFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZW5lcmljVGFza1F1ZXVlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdE
IC8qIEdlbmVyaWNUYXNrUXVldWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
R2VuZXJpY1Rhc2tRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDY0MUVC
MTE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU291cmNlUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDRDY0MUVCMjE4MThGNUVEMDBFRTRDNDEgLyogU291cmNlQnVmZmVyUHJp
dmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VCdWZmZXJQcml2
YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTcyMiw2ICsyMTcyMCw3IEBA
CiAJCQkJQzU3RkVERTAxMjEyRUU5QzAwOTdCRTY1IC8qIEZpbGVTeXN0ZW0uY3BwICovLAogCQkJ
CTUxNEIzRjcyMEM3MjIwNDcwMDA1MzBERiAvKiBGaWxlU3lzdGVtLmggKi8sCiAJCQkJQkMwNzNC
QTkwQzM5OUIxRjAwMEY1OTc5IC8qIEZsb2F0Q29udmVyc2lvbi5oICovLAorCQkJCUNENjJGQjk0
MUFGMDE4RTcwMDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmggKi8sCiAJCQkJNTE3OUNFMjUx
OTVDODIxRDAwMTlDMTk4IC8qIEdhbWVwYWRQcm92aWRlci5jcHAgKi8sCiAJCQkJNTE3OUNFMjMx
OTVDODE0MjAwMTlDMTk4IC8qIEdhbWVwYWRQcm92aWRlci5oICovLAogCQkJCTUxNzlDRTI5MTk1
QzkxODYwMDE5QzE5OCAvKiBHYW1lcGFkUHJvdmlkZXJDbGllbnQuaCAqLywKQEAgLTIzMDcxLDgg
KzIzMDcwLDYgQEAKIAkJCQlBODUzMTIzQzExRDA0NzFCMDBENEQwNzcgLyogRnJhZ21lbnRTY3Jp
cHRpbmdQZXJtaXNzaW9uLmggKi8sCiAJCQkJMDcyMEIwOUUxNEQzMzIzNTAwNjQyOTU1IC8qIEdl
bmVyaWNFdmVudFF1ZXVlLmNwcCAqLywKIAkJCQkwNzIwQjA5RjE0RDMzMjM1MDA2NDI5NTUgLyog
R2VuZXJpY0V2ZW50UXVldWUuaCAqLywKLQkJCQlDRDYyRkI5MzFBRjAxOEU3MDAxMkVEN0QgLyog
R2VuZXJpY1Rhc2tRdWV1ZS5jcHAgKi8sCi0JCQkJQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8q
IEdlbmVyaWNUYXNrUXVldWUuaCAqLywKIAkJCQkyNDQyQkJGODExOTRDOUQzMDBENDk0NjkgLyog
SGFzaENoYW5nZUV2ZW50LmggKi8sCiAJCQkJODQ4MkI3NDQxMTk4QzMyRTAwQkZCMDA1IC8qIEhh
c2hDaGFuZ2VFdmVudC5pZGwgKi8sCiAJCQkJNDVCQUMyQUYxMzYwQkJBQjAwNURBMjU4IC8qIElj
b25VUkwuaCAqLywKQEAgLTMwNDQ5LDcgKzMwNDQ2LDYgQEAKIAkJCQlBODMzQzdDQzBBMkNGMDc0
MDBENTc2NjQgLyogWExpbmtOYW1lcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwMEI5MzE4NzEz
QkE4REIzMDAzNUE5NDggLyogWE1MRG9jdW1lbnRQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMDBCOTMxODkxM0JBOERCQzAwMzVBOTQ4IC8qIFhNTERvY3VtZW50UGFyc2VyTGlieG1sMi5j
cHAgaW4gU291cmNlcyAqLywKLQkJCQlDRDYyRkI5NTFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJp
Y1Rhc2tRdWV1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyNkE1MTdGRDFBQjkyMjM4MDA2MzM1
REYgLyogREZBTWluaW1pemVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTAwQjkzMThCMTNCQThE
QzkwMDM1QTk0OCAvKiBYTUxEb2N1bWVudFBhcnNlclNjb3BlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTU5QzI4MDQ1MTM4REMyNDEwMDc5QjdFMiAvKiBYTUxFcnJvcnMuY3BwIGluIFNvdXJjZXMg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGIzZjc4YWMzMzQ0ZWY1Njc4MjI2NTE0ZTdhMDVhMjUxOTBmNzk0MzQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0dlbmVyaWNUYXNrUXVldWUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW5j
bHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiR2VuZXJpY1Rhc2tRdWV1ZS5oIgotCi0jaW5jbHVk
ZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUdl
bmVyaWNUYXNrUXVldWU6OkdlbmVyaWNUYXNrUXVldWUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCkKLSAgICA6IG1fY29udGV4dChjb250ZXh0KQotICAgICwgbV93ZWFrUHRyRmFjdG9y
eSh0aGlzKQotewotfQotCi12b2lkIEdlbmVyaWNUYXNrUXVldWU6OmVucXVldWVUYXNrKHN0ZDo6
ZnVuY3Rpb248dm9pZCgpPiB0YXNrKQotewotICAgIEFTU0VSVCghbV9pc0Nsb3NlZCk7Ci0gICAg
KyttX3BlbmRpbmdUYXNrczsKLSAgICBhdXRvIHdlYWtUaGlzID0gbV93ZWFrUHRyRmFjdG9yeS5j
cmVhdGVXZWFrUHRyKCk7Ci0gICAgbV9jb250ZXh0LnBvc3RUYXNrKFt3ZWFrVGhpcywgdGFza10g
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSB7Ci0gICAgICAgIGlmICghd2Vha1RoaXMpCi0gICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgIC0td2Vha1RoaXMtPm1fcGVuZGluZ1Rhc2tzOwotICAg
ICAgICB0YXNrKCk7Ci0gICAgfSk7Ci19Ci0KLXZvaWQgR2VuZXJpY1Rhc2tRdWV1ZTo6Y2xvc2Uo
KQotewotICAgIGNhbmNlbEFsbFRhc2tzKCk7Ci0gICAgbV9pc0Nsb3NlZCA9IHRydWU7Ci19Ci0K
LXZvaWQgR2VuZXJpY1Rhc2tRdWV1ZTo6Y2FuY2VsQWxsVGFza3MoKQotewotICAgIG1fd2Vha1B0
ckZhY3RvcnkucmV2b2tlQWxsKCk7Ci0gICAgbV9wZW5kaW5nVGFza3MgPSAwOwotfQotCi19CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY1Rhc2tRdWV1ZS5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0dlbmVyaWNUYXNrUXVldWUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYmMzOWVmMzY4NDhlNzYwNGU2Y2Q5ODhhNDJjMzA2OWRiOWFkMzE3ZS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
R2VuZXJpY1Rhc2tRdWV1ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaWZuZGVmIEdlbmVyaWNU
YXNrUXVldWVfaAotI2RlZmluZSBHZW5lcmljVGFza1F1ZXVlX2gKLQotI2luY2x1ZGUgPHd0Zi9E
ZXF1ZS5oPgotI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKLQotY2xhc3MgR2VuZXJpY1Rhc2tRdWV1
ZSB7Ci1wdWJsaWM6Ci0gICAgR2VuZXJpY1Rhc2tRdWV1ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
Jik7Ci0KLSAgICB2b2lkIGVucXVldWVUYXNrKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPik7Ci0gICAg
dm9pZCBjbG9zZSgpOwotCi0gICAgdm9pZCBjYW5jZWxBbGxUYXNrcygpOwotICAgIGJvb2wgaGFz
UGVuZGluZ1Rhc2tzKCkgY29uc3QgeyByZXR1cm4gbV9wZW5kaW5nVGFza3M7IH0KLQotcHJpdmF0
ZToKLSAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBtX2NvbnRleHQ7Ci0gICAgV2Vha1B0ckZh
Y3Rvcnk8R2VuZXJpY1Rhc2tRdWV1ZT4gbV93ZWFrUHRyRmFjdG9yeTsKLSAgICB1bnNpZ25lZCBt
X3BlbmRpbmdUYXNrcyB7IDAgfTsKLSAgICBib29sIG1faXNDbG9zZWQgeyBmYWxzZSB9OwotfTsK
LQotfQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXgg
ZmRmMzVkY2ZmNzUwOTM1NmNkNDQ0NmY2YzlmMjJiNTUyNDRmNDVjZS4uYWJhYTQyMWE3ZDIxY2Mx
OTVlMjVkMjk4OGIyNWM3NGI2MzExZWMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgKQEAgLTc0MSw3ICs3NDEsNyBAQCBwcml2YXRlOgogICAgIFRpbWVyIG1fcHJvZ3Jl
c3NFdmVudFRpbWVyOwogICAgIFRpbWVyIG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFRp
bWVyIG1fc2NhblRpbWVyOwotICAgIEdlbmVyaWNUYXNrUXVldWUgbV9zZWVrVGFza1F1ZXVlOwor
ICAgIEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9zZWVrVGFza1F1
ZXVlOwogICAgIFJlZlB0cjxUaW1lUmFuZ2VzPiBtX3BsYXllZFRpbWVSYW5nZXM7CiAgICAgR2Vu
ZXJpY0V2ZW50UXVldWUgbV9hc3luY0V2ZW50UXVldWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0dlbmVyaWNUYXNrUXVldWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZmQ3N2QwOThiMmQ2Mjg1NmQyMTM4
NDdjMDBhMmJmZmZkZmNlNDY2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5oCkBAIC0wLDAgKzEsMTI5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgR2VuZXJpY1Rhc2tRdWV1
ZV9oCisjZGVmaW5lIEdlbmVyaWNUYXNrUXVldWVfaAorCisjaW5jbHVkZSAiVGltZXIuaCIKKyNp
bmNsdWRlIDx3dGYvRGVxdWUuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorY2xhc3MgVGFza0Rpc3BhdGNo
ZXIgeworcHVibGljOgorICAgIFRhc2tEaXNwYXRjaGVyKFQmIGNvbnRleHQpCisgICAgICAgIDog
bV9jb250ZXh0KGNvbnRleHQpCisgICAgeworICAgIH0KKworICAgIHZvaWQgcG9zdFRhc2soc3Rk
OjpmdW5jdGlvbjx2b2lkKCk+IGYpCisgICAgeworICAgICAgICBtX2NvbnRleHQucG9zdFRhc2so
Zik7CisgICAgfQorCitwcml2YXRlOgorICAgIFQmIG1fY29udGV4dDsKK307CisKK3RlbXBsYXRl
PD4KK2NsYXNzIFRhc2tEaXNwYXRjaGVyPFRpbWVyPiB7CitwdWJsaWM6CisgICAgVGFza0Rpc3Bh
dGNoZXIoKQorICAgICAgICA6IG1fdGltZXIoKnRoaXMsICZUYXNrRGlzcGF0Y2hlcjxUaW1lcj46
OnRpbWVyRmlyZWQpCisgICAgeworICAgIH0KKworICAgIHZvaWQgcG9zdFRhc2soc3RkOjpmdW5j
dGlvbjx2b2lkKCk+IGZ1bmN0aW9uKQorICAgIHsKKyAgICAgICAgbV9xdWV1ZS5hcHBlbmQoZnVu
Y3Rpb24pOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICB9CisKKyAgICB2
b2lkIHRpbWVyRmlyZWQoKQorICAgIHsKKyAgICAgICAgRGVxdWU8c3RkOjpmdW5jdGlvbjx2b2lk
KCk+PiBxdWV1ZTsKKyAgICAgICAgcXVldWUuc3dhcChtX3F1ZXVlKTsKKyAgICAgICAgZm9yIChz
dGQ6OmZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9uIDogcXVldWUpCisgICAgICAgICAgICBmdW5j
dGlvbigpOworICAgIH0KKworICAgIFRpbWVyIG1fdGltZXI7CisgICAgRGVxdWU8c3RkOjpmdW5j
dGlvbjx2b2lkKCk+PiBtX3F1ZXVlOworfTsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitjbGFz
cyBHZW5lcmljVGFza1F1ZXVlIHsKK3B1YmxpYzoKKyAgICBHZW5lcmljVGFza1F1ZXVlKCkKKyAg
ICAgICAgOiBtX3dlYWtQdHJGYWN0b3J5KHRoaXMpCisgICAgICAgICwgbV9kaXNwYXRjaGVyKCkK
KyAgICB7CisgICAgfQorCisgICAgR2VuZXJpY1Rhc2tRdWV1ZShUJiB0KQorICAgICAgICA6IG1f
d2Vha1B0ckZhY3RvcnkodGhpcykKKyAgICAgICAgLCBtX2Rpc3BhdGNoZXIodCkKKyAgICB7Cisg
ICAgfQorCisgICAgdHlwZWRlZiBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gVGFza0Z1bmN0aW9uOwor
CisgICAgdm9pZCBlbnF1ZXVlVGFzayhUYXNrRnVuY3Rpb24gdGFzaykKKyAgICB7CisgICAgICAg
IEFTU0VSVCghbV9pc0Nsb3NlZCk7CisgICAgICAgICsrbV9wZW5kaW5nVGFza3M7CisgICAgICAg
IGF1dG8gd2Vha1RoaXMgPSBtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKTsKKyAgICAg
ICAgbV9kaXNwYXRjaGVyLnBvc3RUYXNrKFt3ZWFrVGhpcywgdGFza10geworICAgICAgICAgICAg
aWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB0YXNr
KCk7CisgICAgICAgIH0pOworICAgIH0KKworICAgIHZvaWQgY2xvc2UoKQorICAgIHsKKyAgICAg
ICAgY2FuY2VsQWxsVGFza3MoKTsKKyAgICAgICAgbV9pc0Nsb3NlZCA9IHRydWU7CisgICAgfQor
CisgICAgdm9pZCBjYW5jZWxBbGxUYXNrcygpCisgICAgeworICAgICAgICBtX3dlYWtQdHJGYWN0
b3J5LnJldm9rZUFsbCgpOworICAgICAgICBtX3BlbmRpbmdUYXNrcyA9IDA7CisgICAgfQorICAg
IGJvb2wgaGFzUGVuZGluZ1Rhc2tzKCkgY29uc3QgeyByZXR1cm4gbV9wZW5kaW5nVGFza3M7IH0K
KworcHJpdmF0ZToKKyAgICBXZWFrUHRyRmFjdG9yeTxHZW5lcmljVGFza1F1ZXVlPiBtX3dlYWtQ
dHJGYWN0b3J5OworICAgIFRhc2tEaXNwYXRjaGVyPFQ+IG1fZGlzcGF0Y2hlcjsKKyAgICB1bnNp
Z25lZCBtX3BlbmRpbmdUYXNrcyB7IDAgfTsKKyAgICBib29sIG1faXNDbG9zZWQgeyBmYWxzZSB9
OworfTsKKworfQorCisjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252038</attachid>
            <date>2015-04-29 22:02:06 -0700</date>
            <delta_ts>2015-04-29 23:30:52 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-144414-20150429220056.patch</filename>
            <type>text/plain</type>
            <size>18603</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjkzZTFiNmJlMGFkYWUz
ODg2NTBlZTNlYmQ4NDVlOGJjZmQwODI2ZS4uMGMzMTIzZjhjZmZkYjQ3ZmU5YjU4YzA5ODU4YWRj
OTU0YWI4YzFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMyIEBACiAyMDE1LTA0LTI5ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIE1ha2UgR2VuZXJpY1Rhc2tR
dWV1ZSBldmVuIG1vcmUgZ2VuZXJpYyAoYW5kIHVzYWJsZSBpbnNpZGUgcGxhdGZvcm0vKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0NDE0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFRlbXBsYXRpemUgR2Vu
ZXJpY1Rhc2tRdWV1ZSBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGZyb20gd2l0aGluIHBsYXRmb3Jt
Ly4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFdlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBkb20vR2VuZXJpY1Rhc2tRdWV1ZS5jcHA6IFJlbW92ZWQuCisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNUYXNrUXVl
dWUuaC4KKyAgICAgICAgKFdlYkNvcmU6OlRhc2tEaXNwYXRjaGVyOjpUYXNrRGlzcGF0Y2hlcik6
IEFkZGVkIGRlZmF1bHQgdGVtcGxhdGl6ZWQgY2xhc3Mgd2hpY2gganVzdCBjYWxscyB0aGUgcGFy
YW1ldGVyJ3MgcG9zdFRhc2soKS4KKyAgICAgICAgKFdlYkNvcmU6OlRhc2tEaXNwYXRjaGVyOjpw
b3N0VGFzayk6IENhbGwgY29udGV4dCdzIHBvc3RUYXNrKCkuCisgICAgICAgIChXZWJDb3JlOjpU
YXNrRGlzcGF0Y2hlcjxUaW1lcj46OlRhc2tEaXNwYXRjaGVyKTogQWRkIGEgdGltZXIgdmVyc2lv
biB3aGljaCBkb2VzIG5vdCByZXF1aXJlIGEgY29udGV4dC4KKyAgICAgICAgKFdlYkNvcmU6OlRh
c2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2spOiBTZXQgdGhlIHRpbWVyLgorICAgICAgICAo
V2ViQ29yZTo6VGFza0Rpc3BhdGNoZXI8VGltZXI+Ojp0aW1lckZpcmVkKTogQ2FsbCB0aGUgdGFz
ay4KKyAgICAgICAgKFdlYkNvcmU6OkdlbmVyaWNUYXNrUXVldWU6OkdlbmVyaWNUYXNrUXVldWUp
OiBNb3ZlZCBmcm9tIC5jcHAuCisgICAgICAgIChXZWJDb3JlOjpHZW5lcmljVGFza1F1ZXVlOjpl
bnF1ZXVlVGFzayk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY1Rhc2tRdWV1ZTo6
Y2xvc2UpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkdlbmVyaWNUYXNrUXVldWU6OmNhbmNl
bEFsbFRhc2tzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpHZW5lcmljVGFza1F1ZXVlOjpo
YXNQZW5kaW5nVGFza3MpOiBEaXR0by4KKworMjAxNS0wNC0yOSAgSmVyIE5vYmxlICA8amVyLm5v
YmxlQGFwcGxlLmNvbT4KKwogICAgICAgICBVbnJldmlld2VkIGlPUyBidWlsZCBmaXggYWZ0ZXIg
cjE4MzU1MzogZml4IGRlY2xhcmF0aW9uIG9mIFFMUHJldmlld1NjaGVtZQogCiAgICAgICAgICog
cGxhdGZvcm0vaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCAxZjUzZTUzYWQwNTYyYjM2YjQ1NTM2YjcyNTVlYTk5M2NjMzE5YWI1Li4zOTUyNjc0YjdhMTM3
ZmIxYjYxMmIyNzY1OWI2YmRmNzI5MzUyYTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTM5
OCw3ICsxMzk4LDYgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9FeGNlcHRpb25Db2Rl
UGxhY2Vob2xkZXIuY3BwCiAgICAgZG9tL0ZvY3VzRXZlbnQuY3BwCiAgICAgZG9tL0dlbmVyaWNF
dmVudFF1ZXVlLmNwcAotICAgIGRvbS9HZW5lcmljVGFza1F1ZXVlLmNwcAogICAgIGRvbS9JZFRh
cmdldE9ic2VydmVyLmNwcAogICAgIGRvbS9JZFRhcmdldE9ic2VydmVyUmVnaXN0cnkuY3BwCiAg
ICAgZG9tL0lubGluZVN0eWxlU2hlZXRPd25lci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDk2ZmFiOTI4ZTI4MGJhZmM0NTVkOGU4
NjQ1ZTA4NjNiZTk3MTIzOWMuLjIzNTEzNDhiY2UxNjE3NjU1ZTczMmE2YWYyMjBlYzFlMDFhOWJl
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
agpAQCAtMTMzOTksNyArMTMzOTksNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXGRvbVxHZW5lcmljRXZlbnRRdWV1ZS5jcHAiIC8+Ci0gICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxkb21cR2VuZXJpY1Rhc2tRdWV1ZS5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxkb21cSWRUYXJnZXRPYnNlcnZlci5jcHAiPgogICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMTk3ODksNiArMTk3ODgsNyBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cRmlsZVN0cmVhbUNsaWVudC5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cRmlsZVN5c3RlbS5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cRmxvYXRDb252ZXJzaW9uLmgiIC8+Cisg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxHZW5lcmljVGFza1F1ZXVlLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxhdWRpb1xBdWRpb1Nlc3Npb24u
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGF1ZGlvXE1lZGlhU2Vz
c2lvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cYXVkaW9cTWVk
aWFTZXNzaW9uTWFuYWdlci5oIiAvPgpAQCAtMjA5NzksNyArMjA5NzksNiBAQAogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cZG9tXEV4Y2VwdGlvbkNvZGUuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGRvbVxFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxHZW5lcmljRXZlbnRRdWV1ZS5oIiAvPgotICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cZG9tXEdlbmVyaWNUYXNrUXVldWUuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGRvbVxIYXNoQ2hhbmdlRXZlbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGRvbVxJY29uVVJMLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
Llxkb21cSWRUYXJnZXRPYnNlcnZlci5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDE1ZGIxYjExZjQ3
NjU0NzdkOTYyYTY0MTI2YmZkYzRhNGFiZDk0YjQuLjU4MGQ1Y2NkMzRkZmNjZDQxZWYwZTE0NWRh
NzMxZTI5NTI4NmE1MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTMxODAsOSArMzE4MCw2IEBACiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkb21cR2VuZXJpY0V2ZW50UXVldWUuY3BwIj4KICAgICAg
IDxGaWx0ZXI+ZG9tPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxkb21cR2VuZXJpY1Rhc2tRdWV1ZS5jcHAiPgotICAgICAgPEZpbHRlcj5kb208
L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRv
bVxJZFRhcmdldE9ic2VydmVyLmNwcCI+CiAgICAgICA8RmlsdGVyPmRvbTwvRmlsdGVyPgogICAg
IDwvQ2xDb21waWxlPgpAQCAtODE4MSw2ICs4MTc4LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHBsYXRmb3JtXEZsb2F0Q29udmVyc2lvbi5oIj4KICAgICAgIDxGaWx0ZXI+cGxhdGZv
cm08L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXEdlbmVyaWNUYXNrUXVldWUuaCI+CisgICAgICA8RmlsdGVyPnBsYXRmb3JtPC9G
aWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxIb3N0V2luZG93LmgiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybTwvRmlsdGVyPgogICAg
IDwvQ2xJbmNsdWRlPgpAQCAtMTAyOTAsOSArMTAyOTAsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cZG9tXEdlbmVyaWNFdmVudFF1ZXVlLmgiPgogICAgICAgPEZpbHRlcj5kb208L0Zp
bHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxH
ZW5lcmljVGFza1F1ZXVlLmgiPgotICAgICAgPEZpbHRlcj5kb208L0ZpbHRlcj4KLSAgICA8L0Ns
SW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxIYXNoQ2hhbmdlRXZlbnQu
aCI+CiAgICAgICA8RmlsdGVyPmRvbTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDk0
ODZlN2MxODBjOGVjNTMwZjVlYTYxMTQ2NGI4Mjg5Y2YyNWY2NGYuLmUxMTlhZTA0N2ZiZGZlZDhi
NDk5MjdiN2U1NDAyYjY5MGYzODA5NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU3MzcsNyArNTczNyw2IEBACiAJCUNENjBD
MEM3MTkzRTg3QzcwMDNDNjU2QiAvKiBNZWRpYVRpbWVRVEtpdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2MEMwQzUxOTNFODdDNzAwM0M2NTZCIC8q
IE1lZGlhVGltZVFUS2l0LmggKi87IH07CiAJCUNENjFGRTY3MTc5NEFBREIwMDQxMDFFQiAvKiBN
ZWRpYVNvdXJjZVJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIxQTk0MkUxMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZVJlZ2lz
dHJ5LmNwcCAqLzsgfTsKIAkJQ0Q2MUZFNjgxNzk0QUFEQjAwNDEwMUVCIC8qIE1lZGlhU291cmNl
UmVnaXN0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEIxQTk0MkUyMTVCNUNFMjIwMEQ1MjVEMSAvKiBNZWRpYVNvdXJjZVJlZ2lzdHJ5LmggKi87IH07
Ci0JCUNENjJGQjk1MUFGMDE4RTcwMDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjJGQjkzMUFGMDE4
RTcwMDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmNwcCAqLzsgfTsKIAkJQ0Q2MkZCOTYxQUYw
MThFNzAwMTJFRDdEIC8qIEdlbmVyaWNUYXNrUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENjJGQjk0MUFGMDE4RTcwMDEyRUQ3RCAvKiBHZW5l
cmljVGFza1F1ZXVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQ0Q2NDFFQjMxODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2NDFFQjEx
ODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oICovOyB9OwogCQlDRDY0MUVC
NDE4MThGNUVEMDBFRTRDNDEgLyogU291cmNlQnVmZmVyUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q2NDFFQjIxODE4RjVFRDAwRUU0QzQx
IC8qIFNvdXJjZUJ1ZmZlclByaXZhdGUuaCAqLzsgfTsKQEAgLTEzMjg5LDcgKzEzMjg4LDYgQEAK
IAkJQ0Q1RTVCNjAxQTE1RjE1NjAwMEM2MDlFIC8qIFBhZ2VDb25maWd1cmF0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VDb25maWd1cmF0aW9uLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q2MEMwQzQxOTNFODdDNzAwM0M2NTZCIC8q
IE1lZGlhVGltZVFUS2l0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gTWVkaWFUaW1lUVRLaXQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENjBD
MEM1MTkzRTg3QzcwMDNDNjU2QiAvKiBNZWRpYVRpbWVRVEtpdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBNZWRpYVRpbWVRVEtpdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlDRDYyRkI5MzFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJpY1Rhc2tRdWV1ZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZW5lcmljVGFza1F1ZXVlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdE
IC8qIEdlbmVyaWNUYXNrUXVldWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
R2VuZXJpY1Rhc2tRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDY0MUVC
MTE4MThGNUVEMDBFRTRDNDEgLyogTWVkaWFTb3VyY2VQcml2YXRlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU291cmNlUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDRDY0MUVCMjE4MThGNUVEMDBFRTRDNDEgLyogU291cmNlQnVmZmVyUHJp
dmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VCdWZmZXJQcml2
YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTcyMiw2ICsyMTcyMCw3IEBA
CiAJCQkJQzU3RkVERTAxMjEyRUU5QzAwOTdCRTY1IC8qIEZpbGVTeXN0ZW0uY3BwICovLAogCQkJ
CTUxNEIzRjcyMEM3MjIwNDcwMDA1MzBERiAvKiBGaWxlU3lzdGVtLmggKi8sCiAJCQkJQkMwNzNC
QTkwQzM5OUIxRjAwMEY1OTc5IC8qIEZsb2F0Q29udmVyc2lvbi5oICovLAorCQkJCUNENjJGQjk0
MUFGMDE4RTcwMDEyRUQ3RCAvKiBHZW5lcmljVGFza1F1ZXVlLmggKi8sCiAJCQkJNTE3OUNFMjUx
OTVDODIxRDAwMTlDMTk4IC8qIEdhbWVwYWRQcm92aWRlci5jcHAgKi8sCiAJCQkJNTE3OUNFMjMx
OTVDODE0MjAwMTlDMTk4IC8qIEdhbWVwYWRQcm92aWRlci5oICovLAogCQkJCTUxNzlDRTI5MTk1
QzkxODYwMDE5QzE5OCAvKiBHYW1lcGFkUHJvdmlkZXJDbGllbnQuaCAqLywKQEAgLTIzMDcxLDgg
KzIzMDcwLDYgQEAKIAkJCQlBODUzMTIzQzExRDA0NzFCMDBENEQwNzcgLyogRnJhZ21lbnRTY3Jp
cHRpbmdQZXJtaXNzaW9uLmggKi8sCiAJCQkJMDcyMEIwOUUxNEQzMzIzNTAwNjQyOTU1IC8qIEdl
bmVyaWNFdmVudFF1ZXVlLmNwcCAqLywKIAkJCQkwNzIwQjA5RjE0RDMzMjM1MDA2NDI5NTUgLyog
R2VuZXJpY0V2ZW50UXVldWUuaCAqLywKLQkJCQlDRDYyRkI5MzFBRjAxOEU3MDAxMkVEN0QgLyog
R2VuZXJpY1Rhc2tRdWV1ZS5jcHAgKi8sCi0JCQkJQ0Q2MkZCOTQxQUYwMThFNzAwMTJFRDdEIC8q
IEdlbmVyaWNUYXNrUXVldWUuaCAqLywKIAkJCQkyNDQyQkJGODExOTRDOUQzMDBENDk0NjkgLyog
SGFzaENoYW5nZUV2ZW50LmggKi8sCiAJCQkJODQ4MkI3NDQxMTk4QzMyRTAwQkZCMDA1IC8qIEhh
c2hDaGFuZ2VFdmVudC5pZGwgKi8sCiAJCQkJNDVCQUMyQUYxMzYwQkJBQjAwNURBMjU4IC8qIElj
b25VUkwuaCAqLywKQEAgLTMwNDQ5LDcgKzMwNDQ2LDYgQEAKIAkJCQlBODMzQzdDQzBBMkNGMDc0
MDBENTc2NjQgLyogWExpbmtOYW1lcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwMEI5MzE4NzEz
QkE4REIzMDAzNUE5NDggLyogWE1MRG9jdW1lbnRQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMDBCOTMxODkxM0JBOERCQzAwMzVBOTQ4IC8qIFhNTERvY3VtZW50UGFyc2VyTGlieG1sMi5j
cHAgaW4gU291cmNlcyAqLywKLQkJCQlDRDYyRkI5NTFBRjAxOEU3MDAxMkVEN0QgLyogR2VuZXJp
Y1Rhc2tRdWV1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyNkE1MTdGRDFBQjkyMjM4MDA2MzM1
REYgLyogREZBTWluaW1pemVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTAwQjkzMThCMTNCQThE
QzkwMDM1QTk0OCAvKiBYTUxEb2N1bWVudFBhcnNlclNjb3BlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTU5QzI4MDQ1MTM4REMyNDEwMDc5QjdFMiAvKiBYTUxFcnJvcnMuY3BwIGluIFNvdXJjZXMg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGIzZjc4YWMzMzQ0ZWY1Njc4MjI2NTE0ZTdhMDVhMjUxOTBmNzk0MzQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0dlbmVyaWNUYXNrUXVldWUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW5j
bHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiR2VuZXJpY1Rhc2tRdWV1ZS5oIgotCi0jaW5jbHVk
ZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUdl
bmVyaWNUYXNrUXVldWU6OkdlbmVyaWNUYXNrUXVldWUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCkKLSAgICA6IG1fY29udGV4dChjb250ZXh0KQotICAgICwgbV93ZWFrUHRyRmFjdG9y
eSh0aGlzKQotewotfQotCi12b2lkIEdlbmVyaWNUYXNrUXVldWU6OmVucXVldWVUYXNrKHN0ZDo6
ZnVuY3Rpb248dm9pZCgpPiB0YXNrKQotewotICAgIEFTU0VSVCghbV9pc0Nsb3NlZCk7Ci0gICAg
KyttX3BlbmRpbmdUYXNrczsKLSAgICBhdXRvIHdlYWtUaGlzID0gbV93ZWFrUHRyRmFjdG9yeS5j
cmVhdGVXZWFrUHRyKCk7Ci0gICAgbV9jb250ZXh0LnBvc3RUYXNrKFt3ZWFrVGhpcywgdGFza10g
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSB7Ci0gICAgICAgIGlmICghd2Vha1RoaXMpCi0gICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgIC0td2Vha1RoaXMtPm1fcGVuZGluZ1Rhc2tzOwotICAg
ICAgICB0YXNrKCk7Ci0gICAgfSk7Ci19Ci0KLXZvaWQgR2VuZXJpY1Rhc2tRdWV1ZTo6Y2xvc2Uo
KQotewotICAgIGNhbmNlbEFsbFRhc2tzKCk7Ci0gICAgbV9pc0Nsb3NlZCA9IHRydWU7Ci19Ci0K
LXZvaWQgR2VuZXJpY1Rhc2tRdWV1ZTo6Y2FuY2VsQWxsVGFza3MoKQotewotICAgIG1fd2Vha1B0
ckZhY3RvcnkucmV2b2tlQWxsKCk7Ci0gICAgbV9wZW5kaW5nVGFza3MgPSAwOwotfQotCi19CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY1Rhc2tRdWV1ZS5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0dlbmVyaWNUYXNrUXVldWUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYmMzOWVmMzY4NDhlNzYwNGU2Y2Q5ODhhNDJjMzA2OWRiOWFkMzE3ZS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
R2VuZXJpY1Rhc2tRdWV1ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaWZuZGVmIEdlbmVyaWNU
YXNrUXVldWVfaAotI2RlZmluZSBHZW5lcmljVGFza1F1ZXVlX2gKLQotI2luY2x1ZGUgPHd0Zi9E
ZXF1ZS5oPgotI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKLQotY2xhc3MgR2VuZXJpY1Rhc2tRdWV1
ZSB7Ci1wdWJsaWM6Ci0gICAgR2VuZXJpY1Rhc2tRdWV1ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
Jik7Ci0KLSAgICB2b2lkIGVucXVldWVUYXNrKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPik7Ci0gICAg
dm9pZCBjbG9zZSgpOwotCi0gICAgdm9pZCBjYW5jZWxBbGxUYXNrcygpOwotICAgIGJvb2wgaGFz
UGVuZGluZ1Rhc2tzKCkgY29uc3QgeyByZXR1cm4gbV9wZW5kaW5nVGFza3M7IH0KLQotcHJpdmF0
ZToKLSAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBtX2NvbnRleHQ7Ci0gICAgV2Vha1B0ckZh
Y3Rvcnk8R2VuZXJpY1Rhc2tRdWV1ZT4gbV93ZWFrUHRyRmFjdG9yeTsKLSAgICB1bnNpZ25lZCBt
X3BlbmRpbmdUYXNrcyB7IDAgfTsKLSAgICBib29sIG1faXNDbG9zZWQgeyBmYWxzZSB9OwotfTsK
LQotfQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXgg
ZmRmMzVkY2ZmNzUwOTM1NmNkNDQ0NmY2YzlmMjJiNTUyNDRmNDVjZS4uYWJhYTQyMWE3ZDIxY2Mx
OTVlMjVkMjk4OGIyNWM3NGI2MzExZWMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgKQEAgLTc0MSw3ICs3NDEsNyBAQCBwcml2YXRlOgogICAgIFRpbWVyIG1fcHJvZ3Jl
c3NFdmVudFRpbWVyOwogICAgIFRpbWVyIG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwogICAgIFRp
bWVyIG1fc2NhblRpbWVyOwotICAgIEdlbmVyaWNUYXNrUXVldWUgbV9zZWVrVGFza1F1ZXVlOwor
ICAgIEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9zZWVrVGFza1F1
ZXVlOwogICAgIFJlZlB0cjxUaW1lUmFuZ2VzPiBtX3BsYXllZFRpbWVSYW5nZXM7CiAgICAgR2Vu
ZXJpY0V2ZW50UXVldWUgbV9hc3luY0V2ZW50UXVldWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0dlbmVyaWNUYXNrUXVldWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZmQ3N2QwOThiMmQ2Mjg1NmQyMTM4
NDdjMDBhMmJmZmZkZmNlNDY2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5oCkBAIC0wLDAgKzEsMTI5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgR2VuZXJpY1Rhc2tRdWV1
ZV9oCisjZGVmaW5lIEdlbmVyaWNUYXNrUXVldWVfaAorCisjaW5jbHVkZSAiVGltZXIuaCIKKyNp
bmNsdWRlIDx3dGYvRGVxdWUuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorY2xhc3MgVGFza0Rpc3BhdGNo
ZXIgeworcHVibGljOgorICAgIFRhc2tEaXNwYXRjaGVyKFQmIGNvbnRleHQpCisgICAgICAgIDog
bV9jb250ZXh0KGNvbnRleHQpCisgICAgeworICAgIH0KKworICAgIHZvaWQgcG9zdFRhc2soc3Rk
OjpmdW5jdGlvbjx2b2lkKCk+IGYpCisgICAgeworICAgICAgICBtX2NvbnRleHQucG9zdFRhc2so
Zik7CisgICAgfQorCitwcml2YXRlOgorICAgIFQmIG1fY29udGV4dDsKK307CisKK3RlbXBsYXRl
PD4KK2NsYXNzIFRhc2tEaXNwYXRjaGVyPFRpbWVyPiB7CitwdWJsaWM6CisgICAgVGFza0Rpc3Bh
dGNoZXIoKQorICAgICAgICA6IG1fdGltZXIoKnRoaXMsICZUYXNrRGlzcGF0Y2hlcjxUaW1lcj46
OnRpbWVyRmlyZWQpCisgICAgeworICAgIH0KKworICAgIHZvaWQgcG9zdFRhc2soc3RkOjpmdW5j
dGlvbjx2b2lkKCk+IGZ1bmN0aW9uKQorICAgIHsKKyAgICAgICAgbV9xdWV1ZS5hcHBlbmQoZnVu
Y3Rpb24pOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICB9CisKKyAgICB2
b2lkIHRpbWVyRmlyZWQoKQorICAgIHsKKyAgICAgICAgRGVxdWU8c3RkOjpmdW5jdGlvbjx2b2lk
KCk+PiBxdWV1ZTsKKyAgICAgICAgcXVldWUuc3dhcChtX3F1ZXVlKTsKKyAgICAgICAgZm9yIChz
dGQ6OmZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9uIDogcXVldWUpCisgICAgICAgICAgICBmdW5j
dGlvbigpOworICAgIH0KKworICAgIFRpbWVyIG1fdGltZXI7CisgICAgRGVxdWU8c3RkOjpmdW5j
dGlvbjx2b2lkKCk+PiBtX3F1ZXVlOworfTsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitjbGFz
cyBHZW5lcmljVGFza1F1ZXVlIHsKK3B1YmxpYzoKKyAgICBHZW5lcmljVGFza1F1ZXVlKCkKKyAg
ICAgICAgOiBtX3dlYWtQdHJGYWN0b3J5KHRoaXMpCisgICAgICAgICwgbV9kaXNwYXRjaGVyKCkK
KyAgICB7CisgICAgfQorCisgICAgR2VuZXJpY1Rhc2tRdWV1ZShUJiB0KQorICAgICAgICA6IG1f
d2Vha1B0ckZhY3RvcnkodGhpcykKKyAgICAgICAgLCBtX2Rpc3BhdGNoZXIodCkKKyAgICB7Cisg
ICAgfQorCisgICAgdHlwZWRlZiBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gVGFza0Z1bmN0aW9uOwor
CisgICAgdm9pZCBlbnF1ZXVlVGFzayhUYXNrRnVuY3Rpb24gdGFzaykKKyAgICB7CisgICAgICAg
IEFTU0VSVCghbV9pc0Nsb3NlZCk7CisgICAgICAgICsrbV9wZW5kaW5nVGFza3M7CisgICAgICAg
IGF1dG8gd2Vha1RoaXMgPSBtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKTsKKyAgICAg
ICAgbV9kaXNwYXRjaGVyLnBvc3RUYXNrKFt3ZWFrVGhpcywgdGFza10geworICAgICAgICAgICAg
aWYgKCF3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB0YXNr
KCk7CisgICAgICAgIH0pOworICAgIH0KKworICAgIHZvaWQgY2xvc2UoKQorICAgIHsKKyAgICAg
ICAgY2FuY2VsQWxsVGFza3MoKTsKKyAgICAgICAgbV9pc0Nsb3NlZCA9IHRydWU7CisgICAgfQor
CisgICAgdm9pZCBjYW5jZWxBbGxUYXNrcygpCisgICAgeworICAgICAgICBtX3dlYWtQdHJGYWN0
b3J5LnJldm9rZUFsbCgpOworICAgICAgICBtX3BlbmRpbmdUYXNrcyA9IDA7CisgICAgfQorICAg
IGJvb2wgaGFzUGVuZGluZ1Rhc2tzKCkgY29uc3QgeyByZXR1cm4gbV9wZW5kaW5nVGFza3M7IH0K
KworcHJpdmF0ZToKKyAgICBXZWFrUHRyRmFjdG9yeTxHZW5lcmljVGFza1F1ZXVlPiBtX3dlYWtQ
dHJGYWN0b3J5OworICAgIFRhc2tEaXNwYXRjaGVyPFQ+IG1fZGlzcGF0Y2hlcjsKKyAgICB1bnNp
Z25lZCBtX3BlbmRpbmdUYXNrcyB7IDAgfTsKKyAgICBib29sIG1faXNDbG9zZWQgeyBmYWxzZSB9
OworfTsKKworfQorCisjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>