<?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>228495</bug_id>
          
          <creation_ts>2021-07-27 16:05:50 -0700</creation_ts>
          <short_desc>[GPU Process] Code cleanup after r280356</short_desc>
          <delta_ts>2021-07-27 16:51:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>228224</dependson>
          <blocked>228216</blocked>
    
    <blocked>228225</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1779868</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-07-27 16:05:50 -0700</bug_when>
    <thetext>[GPU Process] Code cleanup after r280356</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779871</commentid>
    <comment_count>1</comment_count>
      <attachid>434378</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-07-27 16:08:30 -0700</bug_when>
    <thetext>Created attachment 434378
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779894</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-07-27 16:49:03 -0700</bug_when>
    <thetext>Committed r280361 (240008@main): &lt;https://commits.webkit.org/240008@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779896</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-27 16:51:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/81189375&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434378</attachid>
            <date>2021-07-27 16:08:30 -0700</date>
            <delta_ts>2021-07-27 16:42:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228495-20210727160829.patch</filename>
            <type>text/plain</type>
            <size>18620</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWFjNmIzMGUwMWVhNjVj
MDk0NjJhMmI2NmQxMjRmMmE5NmEwZjEwNy4uNzkzYzI5YjRjYTEyYTYyY2JmZDE5YmRjZGQ2MmQ4
MTc2ZDg4ZGQxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTA3LTI3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9j
ZXNzXSBDb2RlIGNsZWFudXAgYWZ0ZXIgcjI4MDM1NgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4NDk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgMyB0aGluZ3M6CisgICAgICAgIDEuIFJlbmFtZSBjYWNo
ZU5hdGl2ZUltYWdlKCkvY2FjaGVGb250KCkgdG8gcmVjb3JkTmF0aXZlSW1hZ2VVc2UoKS9yZWNv
cmRGb250VXNlKCkgc2luY2UgaXQgZG9lcyBtb3JlCisgICAgICAgICAgICAgICB0aGFuIGNhY2hp
bmcgbm93CisgICAgICAgIDIuIE1hcmsgb3ZlcnJpZGRlbiBmdW5jdGlvbnMgYXMgZmluYWwgaW4g
UmVtb3RlSW1hZ2VCdWZmZXJQcm94eSBiZWNhdXNlIG5vIGNsYXNzIGluaGVyaXRzIGZyb20gaXQK
KyAgICAgICAgMy4gUmVtb3ZlIHVubmVjZXNzYXJ5IFdlYkNvcmU6OiB3aGVyZSBpdCBpc24ndCBu
ZWNlc3NhcnkKKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBpcyBubyBiZWhh
dmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMv
RGlzcGxheUxpc3RSZWNvcmRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6
UmVjb3JkZXI6OnB1dFBpeGVsQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0
OjpSZWNvcmRlcjo6cmVjb3JkTmF0aXZlSW1hZ2VVc2UpOgorICAgICAgICAoV2ViQ29yZTo6RGlz
cGxheUxpc3Q6OlJlY29yZGVyOjphcHBlbmRTdGF0ZUNoYW5nZUl0ZW0pOgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjphcHBlbmREcmF3R2x5cGhzSXRlbVdpdGhDYWNo
ZWRGb250KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZHJhd0lt
YWdlQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZHJh
d05hdGl2ZUltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6
ZHJhd1BhdHRlcm4pOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpj
YWNoZU5hdGl2ZUltYWdlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9k
aXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5oOgorICAgICAgICAoV2ViQ29yZTo6RGlz
cGxheUxpc3Q6OlJlY29yZGVyOjpEZWxlZ2F0ZTo6cmVjb3JkTmF0aXZlSW1hZ2VVc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlY29yZGVyOjpEZWxlZ2F0ZTo6cmVjb3JkRm9u
dFVzZSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OkRlbGVnYXRl
OjpjYWNoZU5hdGl2ZUltYWdlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlM
aXN0OjpSZWNvcmRlcjo6RGVsZWdhdGU6OmNhY2hlRm9udCk6IERlbGV0ZWQuCisKIDIwMjEtMDct
MjcgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBb
R1BVIFByb2Nlc3NdIFN0YXJ0IHRyYWNraW5nIHJlc291cmNlIHVzZXMgZm9yIE5hdGl2ZUltYWdl
cyBhbmQgRm9udHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYmM5NDQ2OGFiMjY3Y2QwN2IwZDA2NjZjYTBlOTc1ZjUz
MTdiMThhYi4uMjhjYzk1OTIwNzVlOTA5NGE3YjYzY2Q1NmFjMmMzY2I2OTRkYmJkOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMS0wNy0yNyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10gQ29kZSBjbGVhbnVwIGFm
dGVyIHIyODAzNTYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyODQ5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVJbWFnZUJ1ZmZlclByb3h5OjpwdXRQaXhlbEJ1ZmZlcik6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZVBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5OjpyZWNv
cmROYXRpdmVJbWFnZVVzZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlc291cmNlQ2FjaGVQ
cm94eTo6cmVjb3JkRm9udFVzZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlc291cmNlQ2Fj
aGVQcm94eTo6Y2FjaGVOYXRpdmVJbWFnZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZVJlc291cmNlQ2FjaGVQcm94eTo6Y2FjaGVGb250KTogRGVsZXRlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuaDoKKwogMjAy
MS0wNy0yNyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtHUFUgUHJvY2Vzc10gU3RhcnQgdHJhY2tpbmcgcmVzb3VyY2UgdXNlcyBmb3IgTmF0aXZl
SW1hZ2VzIGFuZCBGb250cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3Bw
CmluZGV4IGI4YTJkYjljZTBkZjFjOTkyYjVlYzQ3ZWEwNzA3YzhmYjVmODU4YmEuLmZkZDIxODY0
NTdkODI3NzNhNzM0YTJlNTc4MjljNDkzOTQ4MzdkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3RSZWNvcmRlci5jcHAKQEAgLTcxLDcgKzcxLDcgQEAgdm9pZCBSZWNvcmRlcjo6Z2V0
UGl4ZWxCdWZmZXIoY29uc3QgUGl4ZWxCdWZmZXJGb3JtYXQmIG91dHB1dEZvcm1hdCwgY29uc3Qg
SW50UmUKICAgICBhcHBlbmQ8R2V0UGl4ZWxCdWZmZXI+KG91dHB1dEZvcm1hdCwgc291cmNlUmVj
dCk7CiB9CiAKLXZvaWQgUmVjb3JkZXI6OnB1dFBpeGVsQnVmZmVyKGNvbnN0IFdlYkNvcmU6OlBp
eGVsQnVmZmVyJiBwaXhlbEJ1ZmZlciwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc3JjUmVjdCwg
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGRlc3RQb2ludCwgV2ViQ29yZTo6QWxwaGFQcmVtdWx0
aXBsaWNhdGlvbiBkZXN0Rm9ybWF0KQordm9pZCBSZWNvcmRlcjo6cHV0UGl4ZWxCdWZmZXIoY29u
c3QgUGl4ZWxCdWZmZXImIHBpeGVsQnVmZmVyLCBjb25zdCBJbnRSZWN0JiBzcmNSZWN0LCBjb25z
dCBJbnRQb2ludCYgZGVzdFBvaW50LCBBbHBoYVByZW11bHRpcGxpY2F0aW9uIGRlc3RGb3JtYXQp
CiB7CiAgICAgYXBwZW5kPFB1dFBpeGVsQnVmZmVyPihwaXhlbEJ1ZmZlciwgc3JjUmVjdCwgZGVz
dFBvaW50LCBkZXN0Rm9ybWF0KTsKIH0KQEAgLTEwMSwxMCArMTAxLDEwIEBAIHN0YXRpYyBib29s
IGNvbnRhaW5zT25seUlubGluZVN0YXRlQ2hhbmdlcyhjb25zdCBHcmFwaGljc0NvbnRleHRTdGF0
ZUNoYW5nZSYgY2hhCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgUmVjb3JkZXI6OmNhY2hl
TmF0aXZlSW1hZ2UoTmF0aXZlSW1hZ2UmIGltYWdlKQordm9pZCBSZWNvcmRlcjo6cmVjb3JkTmF0
aXZlSW1hZ2VVc2UoTmF0aXZlSW1hZ2UmIGltYWdlKQogewogICAgIGlmIChtX2RlbGVnYXRlKQot
ICAgICAgICBtX2RlbGVnYXRlLT5jYWNoZU5hdGl2ZUltYWdlKGltYWdlKTsKKyAgICAgICAgbV9k
ZWxlZ2F0ZS0+cmVjb3JkTmF0aXZlSW1hZ2VVc2UoaW1hZ2UpOwogICAgIG1fZGlzcGxheUxpc3Qu
Y2FjaGVOYXRpdmVJbWFnZShpbWFnZSk7CiB9CiAKQEAgLTExMiw5ICsxMTIsOSBAQCB2b2lkIFJl
Y29yZGVyOjphcHBlbmRTdGF0ZUNoYW5nZUl0ZW0oY29uc3QgR3JhcGhpY3NDb250ZXh0U3RhdGVD
aGFuZ2UmIGNoYW5nZXMsCiB7CiAgICAgaWYgKCFjb250YWluc09ubHlJbmxpbmVTdGF0ZUNoYW5n
ZXMoY2hhbmdlcywgY2hhbmdlRmxhZ3MpKSB7CiAgICAgICAgIGlmIChhdXRvIHBhdHRlcm4gPSBj
aGFuZ2VzLm1fc3RhdGUuc3Ryb2tlUGF0dGVybikKLSAgICAgICAgICAgIGNhY2hlTmF0aXZlSW1h
Z2UocGF0dGVybi0+dGlsZUltYWdlKCkpOworICAgICAgICAgICAgcmVjb3JkTmF0aXZlSW1hZ2VV
c2UocGF0dGVybi0+dGlsZUltYWdlKCkpOwogICAgICAgICBpZiAoYXV0byBwYXR0ZXJuID0gY2hh
bmdlcy5tX3N0YXRlLmZpbGxQYXR0ZXJuKQotICAgICAgICAgICAgY2FjaGVOYXRpdmVJbWFnZShw
YXR0ZXJuLT50aWxlSW1hZ2UoKSk7CisgICAgICAgICAgICByZWNvcmROYXRpdmVJbWFnZVVzZShw
YXR0ZXJuLT50aWxlSW1hZ2UoKSk7CiAgICAgICAgIGFwcGVuZDxTZXRTdGF0ZT4oY2hhbmdlcy5t
X3N0YXRlLCBjaGFuZ2VGbGFncyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xOTMsMTIg
KzE5MywxMiBAQCB2b2lkIFJlY29yZGVyOjpkcmF3R2x5cGhzKGNvbnN0IEZvbnQmIGZvbnQsIGNv
bnN0IEdseXBoQnVmZmVyR2x5cGgqIGdseXBocywgY29ucwogdm9pZCBSZWNvcmRlcjo6YXBwZW5k
RHJhd0dseXBoc0l0ZW1XaXRoQ2FjaGVkRm9udChjb25zdCBGb250JiBmb250LCBjb25zdCBHbHlw
aEJ1ZmZlckdseXBoKiBnbHlwaHMsIGNvbnN0IEdseXBoQnVmZmVyQWR2YW5jZSogYWR2YW5jZXMs
IHVuc2lnbmVkIGNvdW50LCBjb25zdCBGbG9hdFBvaW50JiBsb2NhbEFuY2hvciwgRm9udFNtb290
aGluZ01vZGUgc21vb3RoaW5nTW9kZSkKIHsKICAgICBpZiAobV9kZWxlZ2F0ZSkKLSAgICAgICAg
bV9kZWxlZ2F0ZS0+Y2FjaGVGb250KGNvbnN0X2Nhc3Q8Rm9udCY+KGZvbnQpKTsKKyAgICAgICAg
bV9kZWxlZ2F0ZS0+cmVjb3JkRm9udFVzZShjb25zdF9jYXN0PEZvbnQmPihmb250KSk7CiAgICAg
bV9kaXNwbGF5TGlzdC5jYWNoZUZvbnQoY29uc3RfY2FzdDxGb250Jj4oZm9udCkpOwogICAgIGFw
cGVuZDxEcmF3R2x5cGhzPihmb250LCBnbHlwaHMsIGFkdmFuY2VzLCBjb3VudCwgbG9jYWxBbmNo
b3IsIHNtb290aGluZ01vZGUpOwogfQogCi12b2lkIFJlY29yZGVyOjpkcmF3SW1hZ2VCdWZmZXIo
V2ViQ29yZTo6SW1hZ2VCdWZmZXImIGltYWdlQnVmZmVyLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RS
ZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRpb25z
JiBvcHRpb25zKQordm9pZCBSZWNvcmRlcjo6ZHJhd0ltYWdlQnVmZmVyKEltYWdlQnVmZmVyJiBp
bWFnZUJ1ZmZlciwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBz
cmNSZWN0LCBjb25zdCBJbWFnZVBhaW50aW5nT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBpZiAo
IWNhbkRyYXdJbWFnZUJ1ZmZlcihpbWFnZUJ1ZmZlcikpIHsKICAgICAgICAgR3JhcGhpY3NDb250
ZXh0OjpkcmF3SW1hZ2VCdWZmZXIoaW1hZ2VCdWZmZXIsIGRlc3RSZWN0LCBzcmNSZWN0LCBvcHRp
b25zKTsKQEAgLTIxMCwxMyArMjEwLDEzIEBAIHZvaWQgUmVjb3JkZXI6OmRyYXdJbWFnZUJ1ZmZl
cihXZWJDb3JlOjpJbWFnZUJ1ZmZlciYgaW1hZ2VCdWZmZXIsIGNvbnN0IEZsb2F0UmVjCiAKIHZv
aWQgUmVjb3JkZXI6OmRyYXdOYXRpdmVJbWFnZShOYXRpdmVJbWFnZSYgaW1hZ2UsIGNvbnN0IEZs
b2F0U2l6ZSYgaW1hZ2VTaXplLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBGbG9h
dFJlY3QmIHNyY1JlY3QsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRpb25zJiBvcHRpb25zKQogewot
ICAgIGNhY2hlTmF0aXZlSW1hZ2UoaW1hZ2UpOworICAgIHJlY29yZE5hdGl2ZUltYWdlVXNlKGlt
YWdlKTsKICAgICBhcHBlbmQ8RHJhd05hdGl2ZUltYWdlPihpbWFnZS5yZW5kZXJpbmdSZXNvdXJj
ZUlkZW50aWZpZXIoKSwgaW1hZ2VTaXplLCBkZXN0UmVjdCwgc3JjUmVjdCwgb3B0aW9ucyk7CiB9
CiAKIHZvaWQgUmVjb3JkZXI6OmRyYXdQYXR0ZXJuKE5hdGl2ZUltYWdlJiBpbWFnZSwgY29uc3Qg
RmxvYXRTaXplJiBpbWFnZVNpemUsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZs
b2F0UmVjdCYgdGlsZVJlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVyblRyYW5zZm9y
bSwgY29uc3QgRmxvYXRQb2ludCYgcGhhc2UsIGNvbnN0IEZsb2F0U2l6ZSYgc3BhY2luZywgY29u
c3QgSW1hZ2VQYWludGluZ09wdGlvbnMmIG9wdGlvbnMpCiB7Ci0gICAgY2FjaGVOYXRpdmVJbWFn
ZShpbWFnZSk7CisgICAgcmVjb3JkTmF0aXZlSW1hZ2VVc2UoaW1hZ2UpOwogICAgIGFwcGVuZDxE
cmF3UGF0dGVybj4oaW1hZ2UucmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKCksIGltYWdlU2l6
ZSwgZGVzdFJlY3QsIHRpbGVSZWN0LCBwYXR0ZXJuVHJhbnNmb3JtLCBwaGFzZSwgc3BhY2luZywg
b3B0aW9ucyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5oCmluZGV4
IDYxYmY3OWQ0ODA4ZGE2MGNiYTk1YTQzMDEzNjAwNWRmNmFhNGYwYzMuLmZlNGUzZjQ5NzczOGU0
MTMyZDY0NGMwMjAxZmZmNmJlNjg5YTU1OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0
UmVjb3JkZXIuaApAQCAtNjcsOSArNjcsOSBAQCBwdWJsaWM6CiAgICAgcHVibGljOgogICAgICAg
ICB2aXJ0dWFsIH5EZWxlZ2F0ZSgpIHsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgY2FuQXBwZW5k
SXRlbU9mVHlwZShJdGVtVHlwZSkgeyByZXR1cm4gZmFsc2U7IH0KLSAgICAgICAgdmlydHVhbCB2
b2lkIGNhY2hlTmF0aXZlSW1hZ2UoTmF0aXZlSW1hZ2UmKSB7IH0KKyAgICAgICAgdmlydHVhbCB2
b2lkIHJlY29yZE5hdGl2ZUltYWdlVXNlKE5hdGl2ZUltYWdlJikgeyB9CiAgICAgICAgIHZpcnR1
YWwgYm9vbCBpc0NhY2hlZEltYWdlQnVmZmVyKGNvbnN0IEltYWdlQnVmZmVyJikgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KLSAgICAgICAgdmlydHVhbCB2b2lkIGNhY2hlRm9udChGb250JikgeyB9
CisgICAgICAgIHZpcnR1YWwgdm9pZCByZWNvcmRGb250VXNlKEZvbnQmKSB7IH0KICAgICAgICAg
dmlydHVhbCBSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUoKSBjb25zdCB7IHJldHVybiBSZW5k
ZXJpbmdNb2RlOjpVbmFjY2VsZXJhdGVkOyB9CiAgICAgfTsKIApAQCAtMjAyLDcgKzIwMiw3IEBA
IHByaXZhdGU6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBzdGF0aWMgY29uc3RleHBy
IGJvb2wgaXRlbU5lZWRzU3RhdGUoKTsKIAotICAgIHZvaWQgY2FjaGVOYXRpdmVJbWFnZShOYXRp
dmVJbWFnZSYpOworICAgIHZvaWQgcmVjb3JkTmF0aXZlSW1hZ2VVc2UoTmF0aXZlSW1hZ2UmKTsK
IAogICAgIHZvaWQgYXBwZW5kU3RhdGVDaGFuZ2VJdGVtSWZOZWNlc3NhcnkoKTsKICAgICB2b2lk
IGFwcGVuZFN0YXRlQ2hhbmdlSXRlbShjb25zdCBHcmFwaGljc0NvbnRleHRTdGF0ZUNoYW5nZSYs
IEdyYXBoaWNzQ29udGV4dFN0YXRlOjpTdGF0ZUNoYW5nZUZsYWdzKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94
eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1
ZmZlclByb3h5LmgKaW5kZXggZDRjYmMyYzBjOTAzNDMwNTk2OGYyNzdiNTUzNjFiYjI3NDgyZmVh
OC4uMzMyMGYyNWY4YTYzNzI0OTEzODg2ZjBlMDE4NDFlOWNlMzdkYTYxMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJ
bWFnZUJ1ZmZlclByb3h5LmgKQEAgLTExMCw3ICsxMTAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAg
IG1fZHJhd2luZ0NvbnRleHQuZGlzcGxheUxpc3QoKS5zZXRUcmFja3NEcmF3aW5nSXRlbUV4dGVu
dHMoZmFsc2UpOwogICAgIH0KIAotICAgIFdlYkNvcmU6OlJlbmRlcmluZ01vZGUgcmVuZGVyaW5n
TW9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEJhc2VEaXNwbGF5TGlzdEltYWdlQnVmZmVy
OjpyZW5kZXJpbmdNb2RlKCk7IH0KKyAgICBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlIHJlbmRlcmlu
Z01vZGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBCYXNlRGlzcGxheUxpc3RJbWFnZUJ1ZmZlcjo6
cmVuZGVyaW5nTW9kZSgpOyB9CiAKICAgICAvLyBJdCBpcyBzYWZlIHRvIGFjY2VzcyBtX3JlY2Vp
dmVkRmx1c2hJZGVudGlmaWVyIGZyb20gdGhlIG1haW4gdGhyZWFkIHdpdGhvdXQgbG9ja2luZyBz
aW5jZSBpdAogICAgIC8vIG9ubHkgZ2V0cyBtb2RpZmllZCBvbiB0aGUgbWFpbiB0aHJlYWQuCkBA
IC0xMjAsNyArMTIwLDcgQEAgcHJvdGVjdGVkOgogICAgICAgICByZXR1cm4gbV9zZW50Rmx1c2hJ
ZGVudGlmaWVyICE9IG1fcmVjZWl2ZWRGbHVzaElkZW50aWZpZXI7CiAgICAgfQogCi0gICAgdm9p
ZCBkaWRGbHVzaChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6Rmx1c2hJZGVudGlmaWVyIGZsdXNoSWRl
bnRpZmllcikgb3ZlcnJpZGUKKyAgICB2b2lkIGRpZEZsdXNoKFdlYkNvcmU6OkRpc3BsYXlMaXN0
OjpGbHVzaElkZW50aWZpZXIgZmx1c2hJZGVudGlmaWVyKSBmaW5hbAogICAgIHsKICAgICAgICAg
QVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7CiAgICAgICAgIExvY2tlciBsb2NrZXIgeyBtX3JlY2Vp
dmVkRmx1c2hJZGVudGlmaWVyTG9jayB9OwpAQCAtMTUwLDcgKzE1MCw3IEBAIHByb3RlY3RlZDoK
ICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0ZBVUxUKFNoYXJlZERpc3BsYXlMaXN0cywgIkV4Y2Vl
ZGVkIHRpbWVvdXQgd2hpbGUgd2FpdGluZyBmb3IgZmx1c2ggaW4gcmVtb3RlIHJlbmRlcmluZyBi
YWNrZW5kOiAlIiBQUkl1NjQgIi4iLCBtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS0+cmVu
ZGVyaW5nQmFja2VuZElkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKICAgICB9CiAKLSAgICBXZWJD
b3JlOjpJbWFnZUJ1ZmZlckJhY2tlbmQqIGVuc3VyZUJhY2tlbmRDcmVhdGVkKCkgY29uc3Qgb3Zl
cnJpZGUKKyAgICBXZWJDb3JlOjpJbWFnZUJ1ZmZlckJhY2tlbmQqIGVuc3VyZUJhY2tlbmRDcmVh
dGVkKCkgY29uc3QgZmluYWwKICAgICB7CiAgICAgICAgIGlmICghbV9yZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHkpCiAgICAgICAgICAgICByZXR1cm4gbV9iYWNrZW5kLmdldCgpOwpAQCAtMTY0
LDcgKzE2NCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgcmV0dXJuIG1fYmFja2VuZC5nZXQoKTsK
ICAgICB9CiAKLSAgICBTdHJpbmcgdG9EYXRhVVJMKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHN0
ZDo6b3B0aW9uYWw8ZG91YmxlPiBxdWFsaXR5LCBXZWJDb3JlOjpQcmVzZXJ2ZVJlc29sdXRpb24g
cHJlc2VydmVSZXNvbHV0aW9uKSBjb25zdCBvdmVycmlkZQorICAgIFN0cmluZyB0b0RhdGFVUkwo
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgc3RkOjpvcHRpb25hbDxkb3VibGU+IHF1YWxpdHksIFdl
YkNvcmU6OlByZXNlcnZlUmVzb2x1dGlvbiBwcmVzZXJ2ZVJlc29sdXRpb24pIGNvbnN0IGZpbmFs
CiAgICAgewogICAgICAgICBpZiAoVU5MSUtFTFkoIW1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZFBy
b3h5KSkKICAgICAgICAgICAgIHJldHVybiB7IH07CkBAIC0xNzMsNyArMTczLDcgQEAgcHJvdGVj
dGVkOgogICAgICAgICByZXR1cm4gbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHktPmdldERh
dGFVUkxGb3JJbWFnZUJ1ZmZlcihtaW1lVHlwZSwgcXVhbGl0eSwgcHJlc2VydmVSZXNvbHV0aW9u
LCBtX3JlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcik7CiAgICAgfQogCi0gICAgVmVjdG9yPHVp
bnQ4X3Q+IHRvRGF0YShjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBzdGQ6Om9wdGlvbmFsPGRvdWJs
ZT4gcXVhbGl0eSA9IHN0ZDo6bnVsbG9wdCkgY29uc3Qgb3ZlcnJpZGUKKyAgICBWZWN0b3I8dWlu
dDhfdD4gdG9EYXRhKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHN0ZDo6b3B0aW9uYWw8ZG91Ymxl
PiBxdWFsaXR5ID0gc3RkOjpudWxsb3B0KSBjb25zdCBmaW5hbAogICAgIHsKICAgICAgICAgaWYg
KFVOTElLRUxZKCFtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSkpCiAgICAgICAgICAgICBy
ZXR1cm4geyB9OwpAQCAtMTgyLDcgKzE4Miw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgcmV0dXJu
IG1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LT5nZXREYXRhRm9ySW1hZ2VCdWZmZXIobWlt
ZVR5cGUsIHF1YWxpdHksIG1fcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKTsKICAgICB9CiAK
LSAgICBSZWZQdHI8V2ViQ29yZTo6TmF0aXZlSW1hZ2U+IGNvcHlOYXRpdmVJbWFnZShXZWJDb3Jl
OjpCYWNraW5nU3RvcmVDb3B5ID0gV2ViQ29yZTo6QmFja2luZ1N0b3JlQ29weTo6Q29weUJhY2tp
bmdTdG9yZSkgY29uc3Qgb3ZlcnJpZGUKKyAgICBSZWZQdHI8V2ViQ29yZTo6TmF0aXZlSW1hZ2U+
IGNvcHlOYXRpdmVJbWFnZShXZWJDb3JlOjpCYWNraW5nU3RvcmVDb3B5ID0gV2ViQ29yZTo6QmFj
a2luZ1N0b3JlQ29weTo6Q29weUJhY2tpbmdTdG9yZSkgY29uc3QgZmluYWwKICAgICB7CiAgICAg
ICAgIGlmIChVTkxJS0VMWSghbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkpKQogICAgICAg
ICAgICAgcmV0dXJuIHsgfTsKQEAgLTE5Myw3ICsxOTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAg
IHJldHVybiBXZWJDb3JlOjpOYXRpdmVJbWFnZTo6Y3JlYXRlKGJpdG1hcC0+Y3JlYXRlUGxhdGZv
cm1JbWFnZSgpKTsKICAgICB9CiAKLSAgICBSZWZQdHI8V2ViQ29yZTo6SW1hZ2U+IGNvcHlJbWFn
ZShXZWJDb3JlOjpCYWNraW5nU3RvcmVDb3B5ID0gV2ViQ29yZTo6QmFja2luZ1N0b3JlQ29weTo6
Q29weUJhY2tpbmdTdG9yZSwgV2ViQ29yZTo6UHJlc2VydmVSZXNvbHV0aW9uIHByZXNlcnZlUmVz
b2x1dGlvbiA9IFdlYkNvcmU6OlByZXNlcnZlUmVzb2x1dGlvbjo6Tm8pIGNvbnN0IG92ZXJyaWRl
CisgICAgUmVmUHRyPFdlYkNvcmU6OkltYWdlPiBjb3B5SW1hZ2UoV2ViQ29yZTo6QmFja2luZ1N0
b3JlQ29weSA9IFdlYkNvcmU6OkJhY2tpbmdTdG9yZUNvcHk6OkNvcHlCYWNraW5nU3RvcmUsIFdl
YkNvcmU6OlByZXNlcnZlUmVzb2x1dGlvbiBwcmVzZXJ2ZVJlc29sdXRpb24gPSBXZWJDb3JlOjpQ
cmVzZXJ2ZVJlc29sdXRpb246Ok5vKSBjb25zdCBmaW5hbAogICAgIHsKICAgICAgICAgaWYgKFVO
TElLRUxZKCFtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSkpCiAgICAgICAgICAgICByZXR1
cm4geyB9OwpAQCAtMjA0LDcgKzIwNCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgcmV0dXJuIGJp
dG1hcC0+Y3JlYXRlSW1hZ2UoKTsKICAgICB9CiAKLSAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OlBpeGVsQnVmZmVyPiBnZXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJDb3JlOjpQaXhlbEJ1ZmZlckZv
cm1hdCYgZGVzdGluYXRpb25Gb3JtYXQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNyY1JlY3Qp
IGNvbnN0IG92ZXJyaWRlCisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQaXhlbEJ1ZmZlcj4g
Z2V0UGl4ZWxCdWZmZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZmZXJGb3JtYXQmIGRlc3RpbmF0
aW9uRm9ybWF0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzcmNSZWN0KSBjb25zdCBmaW5hbAog
ICAgIHsKICAgICAgICAgaWYgKFVOTElLRUxZKCFtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94
eSkpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpAQCAtMjMwLDcgKzIzMCw3IEBA
IHByb3RlY3RlZDoKICAgICAgICAgcmV0dXJuIHBpeGVsQnVmZmVyOwogICAgIH0KIAotICAgIHZv
aWQgcHV0UGl4ZWxCdWZmZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZmZXImIHBpeGVsQnVmZmVy
LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzcmNSZWN0LCBjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYgZGVzdFBvaW50ID0geyB9LCBXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIGRlc3RG
b3JtYXQgPSBXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uOjpQcmVtdWx0aXBsaWVkKSBv
dmVycmlkZQorICAgIHZvaWQgcHV0UGl4ZWxCdWZmZXIoY29uc3QgV2ViQ29yZTo6UGl4ZWxCdWZm
ZXImIHBpeGVsQnVmZmVyLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzcmNSZWN0LCBjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYgZGVzdFBvaW50ID0geyB9LCBXZWJDb3JlOjpBbHBoYVByZW11bHRp
cGxpY2F0aW9uIGRlc3RGb3JtYXQgPSBXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uOjpQ
cmVtdWx0aXBsaWVkKSBmaW5hbAogICAgIHsKICAgICAgICAgLy8gVGhlIG1hdGggaW5zaWRlIFBp
eGVsQnVmZmVyOjpjcmVhdGUoKSBkb2Vzbid0IGFncmVlIHdpdGggdGhlIG1hdGggaW5zaWRlIElt
YWdlQnVmZmVyQmFja2VuZDo6cHV0UGl4ZWxCdWZmZXIoKSBhYm91dCBob3cgbV9yZXNvbHV0aW9u
U2NhbGUgaW50ZXJhY3RzIHdpdGggdGhlIGRhdGEgaW4gdGhlIEltYWdlQnVmZmVyLgogICAgICAg
ICAvLyBUaGlzIG1lYW5zIHRoYXQgcHV0UGl4ZWxCdWZmZXIoKSBpcyBvbmx5IGNhbGxlZCB3aGVu
IHJlc29sdXRpb25TY2FsZSgpID09IDEuCkBAIC0yMzgsMTUgKzIzOCwxNSBAQCBwcm90ZWN0ZWQ6
CiAgICAgICAgIG1fZHJhd2luZ0NvbnRleHQucmVjb3JkZXIoKS5wdXRQaXhlbEJ1ZmZlcihwaXhl
bEJ1ZmZlciwgc3JjUmVjdCwgZGVzdFBvaW50LCBkZXN0Rm9ybWF0KTsKICAgICB9CiAKLSAgICBi
b29sIHByZWZlcnNQcmVwYXJhdGlvbkZvckRpc3BsYXkoKSBvdmVycmlkZSB7IHJldHVybiB0cnVl
OyB9CisgICAgYm9vbCBwcmVmZXJzUHJlcGFyYXRpb25Gb3JEaXNwbGF5KCkgZmluYWwgeyByZXR1
cm4gdHJ1ZTsgfQogCi0gICAgdm9pZCBmbHVzaENvbnRleHQoKSBvdmVycmlkZQorICAgIHZvaWQg
Zmx1c2hDb250ZXh0KCkgZmluYWwKICAgICB7CiAgICAgICAgIGZsdXNoRHJhd2luZ0NvbnRleHQo
KTsKICAgICAgICAgbV9iYWNrZW5kLT5mbHVzaENvbnRleHQoKTsKICAgICB9CiAKLSAgICB2b2lk
IGZsdXNoRHJhd2luZ0NvbnRleHQoKSBvdmVycmlkZQorICAgIHZvaWQgZmx1c2hEcmF3aW5nQ29u
dGV4dCgpIGZpbmFsCiAgICAgewogICAgICAgICBpZiAoVU5MSUtFTFkoIW1fcmVtb3RlUmVuZGVy
aW5nQmFja2VuZFByb3h5KSkKICAgICAgICAgICAgIHJldHVybjsKQEAgLTI1Niw3ICsyNTYsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgICAgIHdhaXRGb3JEaWRGbHVzaFdpdGhUaW1lb3V0KCk7CiAgICAg
fQogCi0gICAgdm9pZCBmbHVzaERyYXdpbmdDb250ZXh0QXN5bmMoKSBvdmVycmlkZQorICAgIHZv
aWQgZmx1c2hEcmF3aW5nQ29udGV4dEFzeW5jKCkgZmluYWwKICAgICB7CiAgICAgICAgIGlmIChV
TkxJS0VMWSghbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkpKQogICAgICAgICAgICAgcmV0
dXJuOwpAQCAtMjcwLDEzICsyNzAsMTMgQEAgcHJvdGVjdGVkOgogICAgICAgICBjbGVhckRpc3Bs
YXlMaXN0KCk7CiAgICAgfQogCi0gICAgdm9pZCBjYWNoZU5hdGl2ZUltYWdlKFdlYkNvcmU6Ok5h
dGl2ZUltYWdlJiBpbWFnZSkgb3ZlcnJpZGUKKyAgICB2b2lkIHJlY29yZE5hdGl2ZUltYWdlVXNl
KFdlYkNvcmU6Ok5hdGl2ZUltYWdlJiBpbWFnZSkgZmluYWwKICAgICB7CiAgICAgICAgIGlmICht
X3JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSkKLSAgICAgICAgICAgIG1fcmVtb3RlUmVuZGVy
aW5nQmFja2VuZFByb3h5LT5yZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkoKS5jYWNoZU5hdGl2ZUlt
YWdlKGltYWdlKTsKKyAgICAgICAgICAgIG1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LT5y
ZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkoKS5yZWNvcmROYXRpdmVJbWFnZVVzZShpbWFnZSk7CiAg
ICAgfQogCi0gICAgYm9vbCBpc0NhY2hlZEltYWdlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkltYWdl
QnVmZmVyJiBpbWFnZUJ1ZmZlcikgY29uc3Qgb3ZlcnJpZGUKKyAgICBib29sIGlzQ2FjaGVkSW1h
Z2VCdWZmZXIoY29uc3QgV2ViQ29yZTo6SW1hZ2VCdWZmZXImIGltYWdlQnVmZmVyKSBjb25zdCBm
aW5hbAogICAgIHsKICAgICAgICAgaWYgKCFtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTMwMyw3ICszMDMsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgICAgIG1fZHJhd2luZ0NvbnRleHQuZGlzcGxheUxpc3QoKS5jbGVhcigpOwogICAgIH0K
IAotICAgIGJvb2wgY2FuQXBwZW5kSXRlbU9mVHlwZShXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRl
bVR5cGUpIG92ZXJyaWRlCisgICAgYm9vbCBjYW5BcHBlbmRJdGVtT2ZUeXBlKFdlYkNvcmU6OkRp
c3BsYXlMaXN0OjpJdGVtVHlwZSkgZmluYWwKICAgICB7CiAgICAgICAgIGlmIChVTkxJS0VMWSgh
bV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwpAQCAtMzExLDE2ICszMTEsMTYgQEAgcHJvdGVjdGVkOgogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9CiAKLSAgICB2b2lkIGRpZEFwcGVuZERhdGEoY29uc3QgV2ViQ29yZTo6RGlzcGxheUxp
c3Q6Okl0ZW1CdWZmZXJIYW5kbGUmIGhhbmRsZSwgc2l6ZV90IG51bWJlck9mQnl0ZXMsIFdlYkNv
cmU6OkRpc3BsYXlMaXN0OjpEaWRDaGFuZ2VJdGVtQnVmZmVyIGRpZENoYW5nZUl0ZW1CdWZmZXIp
IG92ZXJyaWRlCisgICAgdm9pZCBkaWRBcHBlbmREYXRhKGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlM
aXN0OjpJdGVtQnVmZmVySGFuZGxlJiBoYW5kbGUsIHNpemVfdCBudW1iZXJPZkJ5dGVzLCBXZWJD
b3JlOjpEaXNwbGF5TGlzdDo6RGlkQ2hhbmdlSXRlbUJ1ZmZlciBkaWRDaGFuZ2VJdGVtQnVmZmVy
KSBmaW5hbAogICAgIHsKICAgICAgICAgaWYgKExJS0VMWShtX3JlbW90ZVJlbmRlcmluZ0JhY2tl
bmRQcm94eSkpCiAgICAgICAgICAgICBtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS0+ZGlk
QXBwZW5kRGF0YShoYW5kbGUsIG51bWJlck9mQnl0ZXMsIGRpZENoYW5nZUl0ZW1CdWZmZXIsIG1f
cmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKTsKICAgICB9CiAKLSAgICB2b2lkIGNhY2hlRm9u
dChXZWJDb3JlOjpGb250JiBmb250KSBvdmVycmlkZQorICAgIHZvaWQgcmVjb3JkRm9udFVzZShX
ZWJDb3JlOjpGb250JiBmb250KSBmaW5hbAogICAgIHsKICAgICAgICAgaWYgKG1fcmVtb3RlUmVu
ZGVyaW5nQmFja2VuZFByb3h5KQotICAgICAgICAgICAgbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5k
UHJveHktPnJlbW90ZVJlc291cmNlQ2FjaGVQcm94eSgpLmNhY2hlRm9udChmb250KTsKKyAgICAg
ICAgICAgIG1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LT5yZW1vdGVSZXNvdXJjZUNhY2hl
UHJveHkoKS5yZWNvcmRGb250VXNlKGZvbnQpOwogICAgIH0KIAogICAgIFdlYkNvcmU6OkRpc3Bs
YXlMaXN0OjpJdGVtQnVmZmVySGFuZGxlIGNyZWF0ZUl0ZW1CdWZmZXIoc2l6ZV90IGNhcGFjaXR5
KSBmaW5hbApAQCAtMzQzLDcgKzM0Myw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgfSwgaXRlbSk7
CiAgICAgfQogCi0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlRocmVhZFNhZmVJbWFnZUJ1
ZmZlckZsdXNoZXI+IGNyZWF0ZUZsdXNoZXIoKSBvdmVycmlkZQorICAgIHN0ZDo6dW5pcXVlX3B0
cjxXZWJDb3JlOjpUaHJlYWRTYWZlSW1hZ2VCdWZmZXJGbHVzaGVyPiBjcmVhdGVGbHVzaGVyKCkg
ZmluYWwKICAgICB7CiAgICAgICAgIHJldHVybiBXVEY6Om1ha2VVbmlxdWU8VGhyZWFkU2FmZVJl
bW90ZUltYWdlQnVmZmVyRmx1c2hlcjxCYWNrZW5kVHlwZT4+KCp0aGlzKTsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlc291
cmNlQ2FjaGVQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNz
L1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5jcHAKaW5kZXggMDAwMGJkZmRiMTFlMzBjZmZmNTE1
NWIwNGEzOThkNTU4NWFlNDk2Ny4uYWFlMjM2OTFhYWRjYjBmMDJkNzYwNjU5ODY1ZmZiODFlNDEy
ZTFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9S
ZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5LmNwcApAQCAtNzgsNyArNzgs
NyBAQCBpbmxpbmUgc3RhdGljIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGNyZWF0ZVNoYXJlYWJs
ZUJpdG1hcEZyb21OYXRpdmVJbWFnZShOYXRpdgogICAgIHJldHVybiBiaXRtYXA7CiB9CiAKLXZv
aWQgUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5OjpjYWNoZU5hdGl2ZUltYWdlKE5hdGl2ZUltYWdl
JiBpbWFnZSkKK3ZvaWQgUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5OjpyZWNvcmROYXRpdmVJbWFn
ZVVzZShOYXRpdmVJbWFnZSYgaW1hZ2UpCiB7CiAgICAgYXV0byBpdGVyYXRvciA9IG1fbmF0aXZl
SW1hZ2VzLmZpbmQoaW1hZ2UucmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKCkpOwogICAgIGlm
IChpdGVyYXRvciAhPSBtX25hdGl2ZUltYWdlcy5lbmQoKSkgewpAQCAtMTA1LDcgKzEwNSw3IEBA
IHZvaWQgUmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5OjpjYWNoZU5hdGl2ZUltYWdlKE5hdGl2ZUlt
YWdlJiBpbWFnZSkKICAgICBtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS5jYWNoZU5hdGl2
ZUltYWdlKGhhbmRsZSwgaW1hZ2UucmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKCkpOwogfQog
Ci12b2lkIFJlbW90ZVJlc291cmNlQ2FjaGVQcm94eTo6Y2FjaGVGb250KEZvbnQmIGZvbnQpCit2
b2lkIFJlbW90ZVJlc291cmNlQ2FjaGVQcm94eTo6cmVjb3JkRm9udFVzZShGb250JiBmb250KQog
ewogICAgIGF1dG8gcmVzdWx0ID0gbV9mb250cy5lbnN1cmUoZm9udC5yZW5kZXJpbmdSZXNvdXJj
ZUlkZW50aWZpZXIoKSwgWyZdIHsKICAgICAgICAgcmV0dXJuIEZvbnRTdGF0ZSB7IG1fcmVtb3Rl
UmVuZGVyaW5nQmFja2VuZFByb3h5LnJlbmRlcmluZ1VwZGF0ZUlEKCksIDEgfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VD
YWNoZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90
ZVJlc291cmNlQ2FjaGVQcm94eS5oCmluZGV4IDRhNmUzYTBmN2I3MTY0MTVkMmFhNWExZTZlY2E1
ZDliNWRmYjEwOGYuLmI2MjdjYzgxMmQ5MTk4ZmMxYjEyMzRmMzk0NTMwZTgzMjU4MWI0MGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVz
b3VyY2VDYWNoZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFw
aGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuaApAQCAtNTAsOCArNTAsOCBAQCBwdWJsaWM6
CiAgICAgV2ViQ29yZTo6SW1hZ2VCdWZmZXIqIGNhY2hlZEltYWdlQnVmZmVyKFdlYkNvcmU6OlJl
bmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcik7CiAgICAgdm9pZCByZWxlYXNlSW1hZ2VCdWZmZXIo
V2ViQ29yZTo6UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKTsKIAotICAgIHZvaWQgY2FjaGVO
YXRpdmVJbWFnZShXZWJDb3JlOjpOYXRpdmVJbWFnZSYpOwotICAgIHZvaWQgY2FjaGVGb250KFdl
YkNvcmU6OkZvbnQmKTsKKyAgICB2b2lkIHJlY29yZE5hdGl2ZUltYWdlVXNlKFdlYkNvcmU6Ok5h
dGl2ZUltYWdlJik7CisgICAgdm9pZCByZWNvcmRGb250VXNlKFdlYkNvcmU6OkZvbnQmKTsKIAog
ICAgIHZvaWQgZmluYWxpemVSZW5kZXJpbmdVcGRhdGUoKTsKIAo=
</data>
<flag name="review"
          id="456860"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
      

    </bug>

</bugzilla>