<?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>176130</bug_id>
          
          <creation_ts>2017-08-30 15:23:04 -0700</creation_ts>
          <short_desc>Factor RenderMultiColumnFlowThread construction and destruction into RenderTreeUpdater helper</short_desc>
          <delta_ts>2017-08-30 17:33:25 -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>Layout and Rendering</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1343738</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-08-30 15:23:04 -0700</bug_when>
    <thetext>Move mutation code out of the render tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343752</commentid>
    <comment_count>1</comment_count>
      <attachid>319415</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-08-30 15:42:14 -0700</bug_when>
    <thetext>Created attachment 319415
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343779</commentid>
    <comment_count>2</comment_count>
      <attachid>319419</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-08-30 16:13:42 -0700</bug_when>
    <thetext>Created attachment 319419
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343813</commentid>
    <comment_count>3</comment_count>
      <attachid>319419</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-30 17:31:25 -0700</bug_when>
    <thetext>Comment on attachment 319419
patch

Clearing flags on attachment: 319419

Committed r221409: &lt;http://trac.webkit.org/changeset/221409&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343814</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-30 17:31:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343815</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-30 17:33:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/34176862&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319415</attachid>
            <date>2017-08-30 15:42:14 -0700</date>
            <delta_ts>2017-08-30 16:13:42 -0700</delta_ts>
            <desc>patch</desc>
            <filename>rendertreeupdater-multicol.patch</filename>
            <type>text/plain</type>
            <size>14332</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMTQwMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE3LTA4LTMwICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBGYWN0b3IgUmVuZGVyTXVsdGlD
b2x1bW5GbG93VGhyZWFkIGNvbnN0cnVjdGlvbiBhbmQgZGVzdHJ1Y3Rpb24gaW50byBSZW5kZXJU
cmVlVXBkYXRlciBoZWxwZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NjEzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE1vdmUgbXV0YXRpb24gY29kZSBvdXQgb2YgdGhlIHJlbmRlciB0cmVlLgorCisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxv
Y2tGbG93OjpjcmVhdGVNdWx0aUNvbHVtbkZsb3dUaHJlYWQpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpkZXN0cm95TXVsdGlDb2x1bW5GbG93VGhyZWFkKTog
RGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93Lmg6CisgICAgICAg
ICogc3R5bGUvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VHJlZVVwZGF0ZXI6OmNvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlVXBkYXRl
cjo6dXBkYXRlQWZ0ZXJEZXNjZW5kYW50cyk6CisgICAgICAgIChXZWJDb3JlOjp1cGRhdGVNdWx0
aUNvbHVtbkZsb3dUaHJlYWQpOiBEZWxldGVkLgorICAgICAgICAqIHN0eWxlL1JlbmRlclRyZWVV
cGRhdGVyLmg6CisgICAgICAgICogc3R5bGUvUmVuZGVyVHJlZVVwZGF0ZXJNdWx0aUNvbHVtbi5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0ZXI6Ok11bHRpQ29s
dW1uOjp1cGRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0ZXI6Ok11bHRp
Q29sdW1uOjpjcmVhdGVGbG93VGhyZWFkKToKKyAgICAgICAgKiBzdHlsZS9SZW5kZXJUcmVlVXBk
YXRlck11bHRpQ29sdW1uLmg6IEFkZGVkLgorCiAyMDE3LTA4LTMwICBCcmFkeSBFaWRzb24gIDxi
ZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgIklkZW50aWZpZWQiIGJhc2UgY2xhc3Mg
dG8gcmVwbGFjZSBhIHdob2xlIGJ1bmNoIG9mIGN1c3RvbSBpZGVudGlmaWVyIGdlbmVyYXRvcnMu
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCShyZXZpc2lvbiAyMjEzODQpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTY3NjUsNiArNjc2NSw3IEBA
CiAJCUU0MDFFMEE0MUMzQzBCODMwMEYzNEQxMCAvKiBTdHlsZUNoYW5nZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQwMUUwQTMxQzNDMEI4MzAwRjM0
RDEwIC8qIFN0eWxlQ2hhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRTQwMUUwQTYxQzNDMENGNzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MDFFMEE1
MUMzQzBDRjcwMEYzNEQxMCAvKiBTdHlsZUNoYW5nZS5jcHAgKi87IH07CiAJCUU0MTkwNDFGMUND
NjQ4NkIwMEMzNUY1RCAvKiBGb250U2VsZWN0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MTkwNDFFMUNDNjQ4NkIwMEMzNUY1RCAvKiBG
b250U2VsZWN0b3JDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlFNDFGQTlCOTFGNTc1OEZGMDAzMzg1OEEgLyogUmVuZGVyVHJlZVVwZGF0
ZXJNdWx0aUNvbHVtbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFNDFGQTlCNzFGNTc1OEZEMDAzMzg1OEEgLyogUmVuZGVyVHJlZVVwZGF0ZXJNdWx0
aUNvbHVtbi5jcHAgKi87IH07CiAJCUU0MjRBMzlFMTMzMERGMDEwMENGNkRDOSAvKiBMZWdhY3lU
aWxlR3JpZFRpbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEU0MjRBMzlEMTMzMERGMDEwMENGNkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRpbGUuaCAqLzsg
fTsKIAkJRTQyNEEzQTAxMzMwREYxRTAwQ0Y2REM5IC8qIExlZ2FjeVRpbGVHcmlkVGlsZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MjRBMzlGMTMz
MERGMUUwMENGNkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRpbGUubW0gKi87IH07CiAJCUU0MjVBNDlB
MTgyOTJCODQwMDIwQ0ZDRiAvKiBDb2xsZWN0aW9uSW5kZXhDYWNoZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQyNUE0OTkxODI5MkI4NDAwMjBDRkNG
IC8qIENvbGxlY3Rpb25JbmRleENhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE1NDY5LDYgKzE1NDcwLDggQEAKIAkJRTQxOTA0MUUxQ0M2
NDg2QjAwQzM1RjVEIC8qIEZvbnRTZWxlY3RvckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBGb250U2VsZWN0b3JDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTQxRUEwMzgxMTk4MzZEQjAwNzEwQkM1IC8qIENTU1Byb3BlcnR5TmFtZXMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTUHJvcGVydHlOYW1lcy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MUVBMDM5MTE5ODM3NDkwMDcxMEJD
NSAvKiBDU1NWYWx1ZUtleXdvcmRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENTU1ZhbHVlS2V5d29yZHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlFNDFGQTlCNzFGNTc1OEZEMDAzMzg1OEEgLyogUmVuZGVyVHJlZVVwZGF0ZXJNdWx0aUNvbHVt
bi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJUcmVlVXBkYXRlck11bHRpQ29sdW1uLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTQxRkE5QkExRjU3NTkwQTAwMzM4NThB
IC8qIFJlbmRlclRyZWVVcGRhdGVyTXVsdGlDb2x1bW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVy
VHJlZVVwZGF0ZXJNdWx0aUNvbHVtbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
NDI0QTM5RDEzMzBERjAxMDBDRjZEQzkgLyogTGVnYWN5VGlsZUdyaWRUaWxlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExlZ2FjeVRpbGVHcmlkVGlsZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFNDI0QTM5RjEzMzBERjFFMDBDRjZEQzkgLyogTGVnYWN5VGls
ZUdyaWRUaWxlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTGVn
YWN5VGlsZUdyaWRUaWxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDI1QTQ5
OTE4MjkyQjg0MDAyMENGQ0YgLyogQ29sbGVjdGlvbkluZGV4Q2FjaGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ29sbGVjdGlvbkluZGV4Q2FjaGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTI1MTY2LDYgKzI1MTY5LDggQEAKIAkJCQlFNDhFMzMzMDFGNDc0
MzY3MDBCQUIwRUYgLyogUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmggKi8sCiAJ
CQkJRTQ4RTMzMkExRjQ2Qzk4MDAwQkFCMEVGIC8qIFJlbmRlclRyZWVVcGRhdGVyTGlzdEl0ZW0u
Y3BwICovLAogCQkJCUU0OEUzMzI4MUY0NkM5N0YwMEJBQjBFRiAvKiBSZW5kZXJUcmVlVXBkYXRl
ckxpc3RJdGVtLmggKi8sCisJCQkJRTQxRkE5QjcxRjU3NThGRDAwMzM4NThBIC8qIFJlbmRlclRy
ZWVVcGRhdGVyTXVsdGlDb2x1bW4uY3BwICovLAorCQkJCUU0MUZBOUJBMUY1NzU5MEEwMDMzODU4
QSAvKiBSZW5kZXJUcmVlVXBkYXRlck11bHRpQ29sdW1uLmggKi8sCiAJCQkJRTQwMUUwQTUxQzND
MENGNzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdlLmNwcCAqLywKIAkJCQlFNDAxRTBBMzFDM0MwQjgz
MDBGMzREMTAgLyogU3R5bGVDaGFuZ2UuaCAqLywKIAkJCQlFNEQ1OEVCNjE3QjRFRDg5MDBDQkRD
QTggLyogU3R5bGVGb250U2l6ZUZ1bmN0aW9ucy5jcHAgKi8sCkBAIC0zMTgxOCw2ICszMTgyMyw3
IEBACiAJCQkJQTg3MURFMjUwQTE1MkFDODAwQjEyQTY4IC8qIEhUTUxIZWFkRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlBOEVBN0NBRTBBMTkyQjlDMDBBOEVGNUYgLyogSFRNTEhlYWRp
bmdFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4RUE3Q0IzMEExOTJCOUMwMEE4RUY1
RiAvKiBIVE1MSFJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUU0MUZBOUI5MUY1NzU4
RkYwMDMzODU4QSAvKiBSZW5kZXJUcmVlVXBkYXRlck11bHRpQ29sdW1uLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE4NzFERTI2MEExNTJBQzgwMEIxMkE2OCAvKiBIVE1MSHRtbEVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTg3MURFMjQwQTE1MkFDODAwQjEyQTY4IC8qIEhUTUxJRnJh
bWVFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4RUE3RDMxMEExOTM4NTUwMEE4RUY1
RiAvKiBIVE1MSW1hZ2VFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAJKHJldmlzaW9uIDIyMTM4NCkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNDMsMjMgKzE0Myw2IEBAIFJlbmRlckJsb2NrRmxvdzo6flJlbmRlckJsb2Nr
RmxvdygpCiAgICAgLy8gRG8gbm90IGFkZCBhbnkgY29kZSBoZXJlLiBBZGQgaXQgdG8gd2lsbEJl
RGVzdHJveWVkKCkgaW5zdGVhZC4KIH0KIAotdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmNyZWF0ZU11
bHRpQ29sdW1uRmxvd1RocmVhZCgpCi17Ci0gICAgUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFk
KiBmbG93VGhyZWFkID0gbmV3IFJlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZChkb2N1bWVudCgp
LCBSZW5kZXJTdHlsZTo6Y3JlYXRlQW5vbnltb3VzU3R5bGVXaXRoRGlzcGxheShzdHlsZSgpLCBC
TE9DSykpOwotICAgIGZsb3dUaHJlYWQtPmluaXRpYWxpemVTdHlsZSgpOwotICAgIHNldENoaWxk
cmVuSW5saW5lKGZhbHNlKTsgLy8gRG8gdGhpcyB0byBhdm9pZCB3cmFwcGluZyBpbmxpbmUgY2hp
bGRyZW4gdGhhdCBhcmUganVzdCBnb2luZyB0byBtb3ZlIGludG8gdGhlIGZsb3cgdGhyZWFkLgot
ICAgIGRlbGV0ZUxpbmVzKCk7Ci0gICAgUmVuZGVyQmxvY2s6OmFkZENoaWxkKGZsb3dUaHJlYWQp
OwotICAgIGZsb3dUaHJlYWQtPnBvcHVsYXRlKCk7IC8vIENhbGxlZCBhZnRlciB0aGUgZmxvdyB0
aHJlYWQgaXMgaW5zZXJ0ZWQgc28gdGhhdCB3ZSBhcmUgcmVhY2hhYmxlIGJ5IHRoZSBmbG93IHRo
cmVhZC4KLSAgICBzZXRNdWx0aUNvbHVtbkZsb3dUaHJlYWQoZmxvd1RocmVhZCk7Ci19Ci0KLXZv
aWQgUmVuZGVyQmxvY2tGbG93OjpkZXN0cm95TXVsdGlDb2x1bW5GbG93VGhyZWFkKCkKLXsKLSAg
ICBtdWx0aUNvbHVtbkZsb3dUaHJlYWQoKS0+ZXZhY3VhdGVBbmREZXN0cm95KCk7Ci0gICAgQVNT
RVJUKCFtdWx0aUNvbHVtbkZsb3dUaHJlYWQoKSk7Ci19Ci0KIHZvaWQgUmVuZGVyQmxvY2tGbG93
OjppbnNlcnRlZEludG9UcmVlKCkKIHsKICAgICBSZW5kZXJCbG9jazo6aW5zZXJ0ZWRJbnRvVHJl
ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAko
cmV2aXNpb24gMjIxMzg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOTIsOSArMzkyLDYgQEAgcHVibGljOgogICAgIHZv
aWQgYWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBuZXdDaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVD
aGlsZCA9IDApIG92ZXJyaWRlOwogICAgIHZvaWQgcmVtb3ZlQ2hpbGQoUmVuZGVyT2JqZWN0Jikg
b3ZlcnJpZGU7CiAKLSAgICB2b2lkIGNyZWF0ZU11bHRpQ29sdW1uRmxvd1RocmVhZCgpOwotICAg
IHZvaWQgZGVzdHJveU11bHRpQ29sdW1uRmxvd1RocmVhZCgpOwotCiAgICAgdm9pZCB1cGRhdGVD
b2x1bW5Qcm9ncmVzc2lvbkZyb21TdHlsZShSZW5kZXJTdHlsZSYpOwogICAgIHZvaWQgdXBkYXRl
U3R5bGVzRm9yQ29sdW1uQ2hpbGRyZW4oKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvc3R5bGUv
UmVuZGVyVHJlZVVwZGF0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0eWxl
L1JlbmRlclRyZWVVcGRhdGVyLmNwcAkocmV2aXNpb24gMjIxMzg0KQorKysgU291cmNlL1dlYkNv
cmUvc3R5bGUvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0
NCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyVHJlZVVwZGF0ZXJGaXJzdExldHRlci5oIgogI2luY2x1
ZGUgIlJlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5oIgogI2luY2x1ZGUgIlJlbmRl
clRyZWVVcGRhdGVyTGlzdEl0ZW0uaCIKKyNpbmNsdWRlICJSZW5kZXJUcmVlVXBkYXRlck11bHRp
Q29sdW1uLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgogI2luY2x1ZGUgIlN0eWxlVHJl
ZVJlc29sdmVyLmgiCiAjaW5jbHVkZSA8d3RmL1N5c3RlbVRyYWNpbmcuaD4KQEAgLTExNywxOCAr
MTE4LDYgQEAgc3RhdGljIExpc3RIYXNoU2V0PENvbnRhaW5lck5vZGUqPiBmaW5kUgogICAgIHJl
dHVybiByZW5kZXJpbmdSb290czsKIH0KIAotc3RhdGljIHZvaWQgdXBkYXRlTXVsdGlDb2x1bW5G
bG93VGhyZWFkKFJlbmRlckJsb2NrRmxvdyYgZmxvdykKLXsKLSAgICBib29sIG5lZWRzRmxvd1Ro
cmVhZCA9IGZsb3cucmVxdWlyZXNDb2x1bW5zKGZsb3cuc3R5bGUoKS5jb2x1bW5Db3VudCgpKTsK
LSAgICBpZiAoIW5lZWRzRmxvd1RocmVhZCkgewotICAgICAgICBpZiAoZmxvdy5tdWx0aUNvbHVt
bkZsb3dUaHJlYWQoKSkKLSAgICAgICAgICAgIGZsb3cuZGVzdHJveU11bHRpQ29sdW1uRmxvd1Ro
cmVhZCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmICghZmxvdy5tdWx0aUNvbHVt
bkZsb3dUaHJlYWQoKSkKLSAgICAgICAgZmxvdy5jcmVhdGVNdWx0aUNvbHVtbkZsb3dUaHJlYWQo
KTsKLX0KLQogdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6Y29tbWl0KHN0ZDo6dW5pcXVlX3B0cjxj
b25zdCBTdHlsZTo6VXBkYXRlPiBzdHlsZVVwZGF0ZSkKIHsKICAgICBBU1NFUlQoJm1fZG9jdW1l
bnQgPT0gJnN0eWxlVXBkYXRlLT5kb2N1bWVudCgpKTsKQEAgLTE0Nyw3ICsxMzYsNyBAQCB2b2lk
IFJlbmRlclRyZWVVcGRhdGVyOjpjb21taXQoc3RkOjp1bmlxCiAKICAgICBnZW5lcmF0ZWRDb250
ZW50KCkudXBkYXRlUmVtYWluaW5nUXVvdGVzKCk7CiAKLSAgICB1cGRhdGVNdWx0aUNvbHVtbkZs
b3dUaHJlYWQocmVuZGVyVmlldygpKTsKKyAgICBNdWx0aUNvbHVtbjo6dXBkYXRlKHJlbmRlclZp
ZXcoKSk7CiAKICAgICBtX3N0eWxlVXBkYXRlID0gbnVsbHB0cjsKIH0KQEAgLTI3OCw3ICsyNjcs
NyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVBZnRlckRlc2NlCiAgICAgaWYgKGlz
PFJlbmRlckxpc3RJdGVtPigqcmVuZGVyZXIpKQogICAgICAgICBMaXN0SXRlbTo6dXBkYXRlTWFy
a2VyKGRvd25jYXN0PFJlbmRlckxpc3RJdGVtPigqcmVuZGVyZXIpKTsKICAgICBpZiAoaXM8UmVu
ZGVyQmxvY2tGbG93PigqcmVuZGVyZXIpKQotICAgICAgICB1cGRhdGVNdWx0aUNvbHVtbkZsb3dU
aHJlYWQoZG93bmNhc3Q8UmVuZGVyQmxvY2tGbG93PigqcmVuZGVyZXIpKTsKKyAgICAgICAgTXVs
dGlDb2x1bW46OnVwZGF0ZShkb3duY2FzdDxSZW5kZXJCbG9ja0Zsb3c+KCpyZW5kZXJlcikpOwog
CiAgICAgaWYgKGVsZW1lbnQuaGFzQ3VzdG9tU3R5bGVSZXNvbHZlQ2FsbGJhY2tzKCkgJiYgc3R5
bGVDaGFuZ2UgPT0gU3R5bGU6OkRldGFjaCkKICAgICAgICAgZWxlbWVudC5kaWRBdHRhY2hSZW5k
ZXJlcnMoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0eWxlL1JlbmRlclRyZWVVcGRhdGVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3R5bGUvUmVuZGVyVHJlZVVwZGF0ZXIuaAko
cmV2aXNpb24gMjIxMzg0KQorKysgU291cmNlL1dlYkNvcmUvc3R5bGUvUmVuZGVyVHJlZVVwZGF0
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6
CiAgICAgY2xhc3MgR2VuZXJhdGVkQ29udGVudDsKKyAgICBjbGFzcyBNdWx0aUNvbHVtbjsKIAog
ICAgIHZvaWQgdXBkYXRlUmVuZGVyVHJlZShDb250YWluZXJOb2RlJiByb290KTsKICAgICB2b2lk
IHVwZGF0ZVRleHRSZW5kZXJlcihUZXh0JiwgY29uc3QgU3R5bGU6OlRleHRVcGRhdGUqKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3N0eWxlL1JlbmRlclRyZWVVcGRhdGVyTXVsdGlDb2x1bW4uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1JlbmRlclRyZWVVcGRhdGVyTXVs
dGlDb2x1bW4uY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1JlbmRl
clRyZWVVcGRhdGVyTXVsdGlDb2x1bW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykK
KyAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykK
KyAqICAgICAgICAgICAoQykgMjAwNyBEYXZpZCBTbWl0aCAoY2F0ZmlzaC5tYW5AZ21haWwuY29t
KQorICogQ29weXJpZ2h0IChDKSAyMDAzLTIwMTUsIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAy
MDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
UmVuZGVyVHJlZVVwZGF0ZXJNdWx0aUNvbHVtbi5oIgorCisjaW5jbHVkZSAiUmVuZGVyQmxvY2tG
bG93LmgiCisjaW5jbHVkZSAiUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKwordm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6TXVsdGlDb2x1bW46OnVw
ZGF0ZShSZW5kZXJCbG9ja0Zsb3cmIGZsb3cpCit7CisgICAgYm9vbCBuZWVkc0Zsb3dUaHJlYWQg
PSBmbG93LnJlcXVpcmVzQ29sdW1ucyhmbG93LnN0eWxlKCkuY29sdW1uQ291bnQoKSk7CisgICAg
YXV0byogbXVsdGlDb2x1bW5GbG93VGhyZWFkID0gZmxvdy5tdWx0aUNvbHVtbkZsb3dUaHJlYWQo
KTsKKyAgICBpZiAoIW5lZWRzRmxvd1RocmVhZCkgeworICAgICAgICBpZiAobXVsdGlDb2x1bW5G
bG93VGhyZWFkKSB7CisgICAgICAgICAgICBtdWx0aUNvbHVtbkZsb3dUaHJlYWQtPmV2YWN1YXRl
QW5kRGVzdHJveSgpOworICAgICAgICAgICAgQVNTRVJUKCFmbG93Lm11bHRpQ29sdW1uRmxvd1Ro
cmVhZCgpKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICghbXVs
dGlDb2x1bW5GbG93VGhyZWFkKQorICAgICAgICBjcmVhdGVGbG93VGhyZWFkKGZsb3cpOworfQor
Cit2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpNdWx0aUNvbHVtbjo6Y3JlYXRlRmxvd1RocmVhZChS
ZW5kZXJCbG9ja0Zsb3cmIGZsb3cpCit7CisgICAgUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFk
KiBmbG93VGhyZWFkID0gbmV3IFJlbmRlck11bHRpQ29sdW1uRmxvd1RocmVhZChmbG93LmRvY3Vt
ZW50KCksIFJlbmRlclN0eWxlOjpjcmVhdGVBbm9ueW1vdXNTdHlsZVdpdGhEaXNwbGF5KGZsb3cu
c3R5bGUoKSwgQkxPQ0spKTsKKyAgICBmbG93VGhyZWFkLT5pbml0aWFsaXplU3R5bGUoKTsKKyAg
ICBmbG93LnNldENoaWxkcmVuSW5saW5lKGZhbHNlKTsgLy8gRG8gdGhpcyB0byBhdm9pZCB3cmFw
cGluZyBpbmxpbmUgY2hpbGRyZW4gdGhhdCBhcmUganVzdCBnb2luZyB0byBtb3ZlIGludG8gdGhl
IGZsb3cgdGhyZWFkLgorICAgIGZsb3cuZGVsZXRlTGluZXMoKTsKKyAgICBmbG93LlJlbmRlckJs
b2NrOjphZGRDaGlsZChmbG93VGhyZWFkKTsKKyAgICBmbG93VGhyZWFkLT5wb3B1bGF0ZSgpOyAv
LyBDYWxsZWQgYWZ0ZXIgdGhlIGZsb3cgdGhyZWFkIGlzIGluc2VydGVkIHNvIHRoYXQgd2UgYXJl
IHJlYWNoYWJsZSBieSB0aGUgZmxvdyB0aHJlYWQuCisgICAgZmxvdy5zZXRNdWx0aUNvbHVtbkZs
b3dUaHJlYWQoZmxvd1RocmVhZCk7Cit9CisKKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvc3R5
bGUvUmVuZGVyVHJlZVVwZGF0ZXJNdWx0aUNvbHVtbi5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3N0eWxlL1JlbmRlclRyZWVVcGRhdGVyTXVsdGlDb2x1bW4uaAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SZW5kZXJUcmVlVXBkYXRlck11bHRpQ29sdW1uLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaW5jbHVkZSAiUmVuZGVyVHJlZVVwZGF0ZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBSZW5kZXJCbG9ja0Zsb3c7CisKK2NsYXNzIFJlbmRlclRyZWVVcGRhdGVyOjpN
dWx0aUNvbHVtbiB7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgdXBkYXRlKFJlbmRlckJsb2Nr
RmxvdyYpOworCitwcml2YXRlOgorICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUZsb3dUaHJlYWQoUmVu
ZGVyQmxvY2tGbG93Jik7Cit9OworCit9Cg==
</data>
<flag name="review"
          id="339704"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319419</attachid>
            <date>2017-08-30 16:13:42 -0700</date>
            <delta_ts>2017-08-30 17:31:25 -0700</delta_ts>
            <desc>patch</desc>
            <filename>rendertreeupdater-multicol-2.patch</filename>
            <type>text/plain</type>
            <size>14853</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMTQwMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE3LTA4LTMwICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBGYWN0b3IgUmVuZGVyTXVsdGlD
b2x1bW5GbG93VGhyZWFkIGNvbnN0cnVjdGlvbiBhbmQgZGVzdHJ1Y3Rpb24gaW50byBSZW5kZXJU
cmVlVXBkYXRlciBoZWxwZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NjEzMAorCisgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4KKwor
ICAgICAgICBNb3ZlIG11dGF0aW9uIGNvZGUgb3V0IG9mIHRoZSByZW5kZXIgdHJlZS4KKworICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
Rmxvdzo6Y3JlYXRlTXVsdGlDb2x1bW5GbG93VGhyZWFkKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6ZGVzdHJveU11bHRpQ29sdW1uRmxvd1RocmVhZCk6IERl
bGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAq
IHN0eWxlL1JlbmRlclRyZWVVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRy
ZWVVcGRhdGVyOjpjb21taXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZVVwZGF0ZXI6
OnVwZGF0ZUFmdGVyRGVzY2VuZGFudHMpOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRlTXVsdGlD
b2x1bW5GbG93VGhyZWFkKTogRGVsZXRlZC4KKyAgICAgICAgKiBzdHlsZS9SZW5kZXJUcmVlVXBk
YXRlci5oOgorICAgICAgICAqIHN0eWxlL1JlbmRlclRyZWVVcGRhdGVyTXVsdGlDb2x1bW4uY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVyOjpNdWx0aUNvbHVt
bjo6dXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVVcGRhdGVyOjpNdWx0aUNv
bHVtbjo6Y3JlYXRlRmxvd1RocmVhZCk6CisgICAgICAgICogc3R5bGUvUmVuZGVyVHJlZVVwZGF0
ZXJNdWx0aUNvbHVtbi5oOiBBZGRlZC4KKwogMjAxNy0wOC0zMCAgQnJhZHkgRWlkc29uICA8YmVp
ZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkICJJZGVudGlmaWVkIiBiYXNlIGNsYXNzIHRv
IHJlcGxhY2UgYSB3aG9sZSBidW5jaCBvZiBjdXN0b20gaWRlbnRpZmllciBnZW5lcmF0b3JzLgpJ
bmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDIyMTM4NCkKKysrIFNvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yODIwLDYgKzI4MjAsNyBAQCBz
ZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgc3R5bGUvUmVuZGVyVHJlZVVwZGF0ZXJGaXJzdExldHRl
ci5jcHAKICAgICBzdHlsZS9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuY3BwCiAg
ICAgc3R5bGUvUmVuZGVyVHJlZVVwZGF0ZXJMaXN0SXRlbS5jcHAKKyAgICBzdHlsZS9SZW5kZXJU
cmVlVXBkYXRlck11bHRpQ29sdW1uLmNwcAogICAgIHN0eWxlL1N0eWxlQ2hhbmdlLmNwcAogICAg
IHN0eWxlL1N0eWxlRm9udFNpemVGdW5jdGlvbnMuY3BwCiAgICAgc3R5bGUvU3R5bGVJbnZhbGlk
YXRvci5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyMTM4NCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNjc2NSw2ICs2
NzY1LDcgQEAKIAkJRTQwMUUwQTQxQzNDMEI4MzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDAxRTBBMzFDM0Mw
QjgzMDBGMzREMTAgLyogU3R5bGVDaGFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDAxRTBBNjFDM0MwQ0Y3MDBGMzREMTAgLyogU3R5bGVD
aGFuZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTQwMUUwQTUxQzNDMENGNzAwRjM0RDEwIC8qIFN0eWxlQ2hhbmdlLmNwcCAqLzsgfTsKIAkJRTQx
OTA0MUYxQ0M2NDg2QjAwQzM1RjVEIC8qIEZvbnRTZWxlY3RvckNsaWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQxOTA0MUUxQ0M2NDg2QjAwQzM1
RjVEIC8qIEZvbnRTZWxlY3RvckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUU0MUZBOUI5MUY1NzU4RkYwMDMzODU4QSAvKiBSZW5kZXJU
cmVlVXBkYXRlck11bHRpQ29sdW1uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEU0MUZBOUI3MUY1NzU4RkQwMDMzODU4QSAvKiBSZW5kZXJUcmVlVXBk
YXRlck11bHRpQ29sdW1uLmNwcCAqLzsgfTsKIAkJRTQyNEEzOUUxMzMwREYwMTAwQ0Y2REM5IC8q
IExlZ2FjeVRpbGVHcmlkVGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTQyNEEzOUQxMzMwREYwMTAwQ0Y2REM5IC8qIExlZ2FjeVRpbGVHcmlkVGls
ZS5oICovOyB9OwogCQlFNDI0QTNBMDEzMzBERjFFMDBDRjZEQzkgLyogTGVnYWN5VGlsZUdyaWRU
aWxlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQy
NEEzOUYxMzMwREYxRTAwQ0Y2REM5IC8qIExlZ2FjeVRpbGVHcmlkVGlsZS5tbSAqLzsgfTsKIAkJ
RTQyNUE0OUExODI5MkI4NDAwMjBDRkNGIC8qIENvbGxlY3Rpb25JbmRleENhY2hlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDI1QTQ5OTE4MjkyQjg0
MDAyMENGQ0YgLyogQ29sbGVjdGlvbkluZGV4Q2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTU0NjksNiArMTU0NzAsOCBAQAogCQlFNDE5
MDQxRTFDQzY0ODZCMDBDMzVGNUQgLyogRm9udFNlbGVjdG9yQ2xpZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRTZWxlY3RvckNsaWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFNDFFQTAzODExOTgzNkRCMDA3MTBCQzUgLyogQ1NTUHJvcGVydHlO
YW1lcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NQcm9wZXJ0
eU5hbWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQxRUEwMzkxMTk4Mzc0
OTAwNzEwQkM1IC8qIENTU1ZhbHVlS2V5d29yZHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gQ1NTVmFsdWVLZXl3b3Jkcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUU0MUZBOUI3MUY1NzU4RkQwMDMzODU4QSAvKiBSZW5kZXJUcmVlVXBkYXRlck11
bHRpQ29sdW1uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclRyZWVVcGRhdGVyTXVsdGlD
b2x1bW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFNDFGQTlCQTFGNTc1OTBB
MDAzMzg1OEEgLyogUmVuZGVyVHJlZVVwZGF0ZXJNdWx0aUNvbHVtbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZW5kZXJUcmVlVXBkYXRlck11bHRpQ29sdW1uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUU0MjRBMzlEMTMzMERGMDEwMENGNkRDOSAvKiBMZWdhY3lUaWxlR3JpZFRpbGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGVnYWN5VGlsZUdyaWRUaWxlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0MjRBMzlGMTMzMERGMUUwMENGNkRDOSAvKiBM
ZWdhY3lUaWxlR3JpZFRpbGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBMZWdhY3lUaWxlR3JpZFRpbGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUU0MjVBNDk5MTgyOTJCODQwMDIwQ0ZDRiAvKiBDb2xsZWN0aW9uSW5kZXhDYWNoZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb2xsZWN0aW9uSW5kZXhDYWNoZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjUxNjYsNiArMjUxNjksOCBAQAogCQkJCUU0OEUz
MzMwMUY0NzQzNjcwMEJBQjBFRiAvKiBSZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQu
aCAqLywKIAkJCQlFNDhFMzMyQTFGNDZDOTgwMDBCQUIwRUYgLyogUmVuZGVyVHJlZVVwZGF0ZXJM
aXN0SXRlbS5jcHAgKi8sCiAJCQkJRTQ4RTMzMjgxRjQ2Qzk3RjAwQkFCMEVGIC8qIFJlbmRlclRy
ZWVVcGRhdGVyTGlzdEl0ZW0uaCAqLywKKwkJCQlFNDFGQTlCNzFGNTc1OEZEMDAzMzg1OEEgLyog
UmVuZGVyVHJlZVVwZGF0ZXJNdWx0aUNvbHVtbi5jcHAgKi8sCisJCQkJRTQxRkE5QkExRjU3NTkw
QTAwMzM4NThBIC8qIFJlbmRlclRyZWVVcGRhdGVyTXVsdGlDb2x1bW4uaCAqLywKIAkJCQlFNDAx
RTBBNTFDM0MwQ0Y3MDBGMzREMTAgLyogU3R5bGVDaGFuZ2UuY3BwICovLAogCQkJCUU0MDFFMEEz
MUMzQzBCODMwMEYzNEQxMCAvKiBTdHlsZUNoYW5nZS5oICovLAogCQkJCUU0RDU4RUI2MTdCNEVE
ODkwMENCRENBOCAvKiBTdHlsZUZvbnRTaXplRnVuY3Rpb25zLmNwcCAqLywKQEAgLTMxODE4LDYg
KzMxODIzLDcgQEAKIAkJCQlBODcxREUyNTBBMTUyQUM4MDBCMTJBNjggLyogSFRNTEhlYWRFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4RUE3Q0FFMEExOTJCOUMwMEE4RUY1RiAvKiBI
VE1MSGVhZGluZ0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThFQTdDQjMwQTE5MkI5
QzAwQThFRjVGIC8qIEhUTUxIUkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTQxRkE5
QjkxRjU3NThGRjAwMzM4NThBIC8qIFJlbmRlclRyZWVVcGRhdGVyTXVsdGlDb2x1bW4uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTg3MURFMjYwQTE1MkFDODAwQjEyQTY4IC8qIEhUTUxIdG1sRWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcxREUyNDBBMTUyQUM4MDBCMTJBNjggLyog
SFRNTElGcmFtZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThFQTdEMzEwQTE5Mzg1
NTAwQThFRjVGIC8qIEhUTUxJbWFnZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAkocmV2aXNpb24g
MjIxMzg0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE0MywyMyArMTQzLDYgQEAgUmVuZGVyQmxvY2tGbG93Ojp+UmVu
ZGVyQmxvY2tGbG93KCkKICAgICAvLyBEbyBub3QgYWRkIGFueSBjb2RlIGhlcmUuIEFkZCBpdCB0
byB3aWxsQmVEZXN0cm95ZWQoKSBpbnN0ZWFkLgogfQogCi12b2lkIFJlbmRlckJsb2NrRmxvdzo6
Y3JlYXRlTXVsdGlDb2x1bW5GbG93VGhyZWFkKCkKLXsKLSAgICBSZW5kZXJNdWx0aUNvbHVtbkZs
b3dUaHJlYWQqIGZsb3dUaHJlYWQgPSBuZXcgUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkKGRv
Y3VtZW50KCksIFJlbmRlclN0eWxlOjpjcmVhdGVBbm9ueW1vdXNTdHlsZVdpdGhEaXNwbGF5KHN0
eWxlKCksIEJMT0NLKSk7Ci0gICAgZmxvd1RocmVhZC0+aW5pdGlhbGl6ZVN0eWxlKCk7Ci0gICAg
c2V0Q2hpbGRyZW5JbmxpbmUoZmFsc2UpOyAvLyBEbyB0aGlzIHRvIGF2b2lkIHdyYXBwaW5nIGlu
bGluZSBjaGlsZHJlbiB0aGF0IGFyZSBqdXN0IGdvaW5nIHRvIG1vdmUgaW50byB0aGUgZmxvdyB0
aHJlYWQuCi0gICAgZGVsZXRlTGluZXMoKTsKLSAgICBSZW5kZXJCbG9jazo6YWRkQ2hpbGQoZmxv
d1RocmVhZCk7Ci0gICAgZmxvd1RocmVhZC0+cG9wdWxhdGUoKTsgLy8gQ2FsbGVkIGFmdGVyIHRo
ZSBmbG93IHRocmVhZCBpcyBpbnNlcnRlZCBzbyB0aGF0IHdlIGFyZSByZWFjaGFibGUgYnkgdGhl
IGZsb3cgdGhyZWFkLgotICAgIHNldE11bHRpQ29sdW1uRmxvd1RocmVhZChmbG93VGhyZWFkKTsK
LX0KLQotdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmRlc3Ryb3lNdWx0aUNvbHVtbkZsb3dUaHJlYWQo
KQotewotICAgIG11bHRpQ29sdW1uRmxvd1RocmVhZCgpLT5ldmFjdWF0ZUFuZERlc3Ryb3koKTsK
LSAgICBBU1NFUlQoIW11bHRpQ29sdW1uRmxvd1RocmVhZCgpKTsKLX0KLQogdm9pZCBSZW5kZXJC
bG9ja0Zsb3c6Omluc2VydGVkSW50b1RyZWUoKQogewogICAgIFJlbmRlckJsb2NrOjppbnNlcnRl
ZEludG9UcmVlKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tG
bG93LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5oCShyZXZpc2lvbiAyMjEzODQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tGbG93LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5Miw5ICszOTIsNiBAQCBwdWJsaWM6
CiAgICAgdm9pZCBhZGRDaGlsZChSZW5kZXJPYmplY3QqIG5ld0NoaWxkLCBSZW5kZXJPYmplY3Qq
IGJlZm9yZUNoaWxkID0gMCkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZW1vdmVDaGlsZChSZW5kZXJP
YmplY3QmKSBvdmVycmlkZTsKIAotICAgIHZvaWQgY3JlYXRlTXVsdGlDb2x1bW5GbG93VGhyZWFk
KCk7Ci0gICAgdm9pZCBkZXN0cm95TXVsdGlDb2x1bW5GbG93VGhyZWFkKCk7Ci0KICAgICB2b2lk
IHVwZGF0ZUNvbHVtblByb2dyZXNzaW9uRnJvbVN0eWxlKFJlbmRlclN0eWxlJik7CiAgICAgdm9p
ZCB1cGRhdGVTdHlsZXNGb3JDb2x1bW5DaGlsZHJlbigpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9zdHlsZS9SZW5kZXJUcmVlVXBkYXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvc3R5bGUvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCShyZXZpc2lvbiAyMjEzODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9SZW5kZXJUcmVlVXBkYXRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJSZW5kZXJUcmVlVXBkYXRlckZpcnN0TGV0dGVyLmgi
CiAjaW5jbHVkZSAiUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250ZW50LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyVHJlZVVwZGF0ZXJMaXN0SXRlbS5oIgorI2luY2x1ZGUgIlJlbmRlclRyZWVVcGRh
dGVyTXVsdGlDb2x1bW4uaCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCiAjaW5jbHVkZSAi
U3R5bGVUcmVlUmVzb2x2ZXIuaCIKICNpbmNsdWRlIDx3dGYvU3lzdGVtVHJhY2luZy5oPgpAQCAt
MTE3LDE4ICsxMTgsNiBAQCBzdGF0aWMgTGlzdEhhc2hTZXQ8Q29udGFpbmVyTm9kZSo+IGZpbmRS
CiAgICAgcmV0dXJuIHJlbmRlcmluZ1Jvb3RzOwogfQogCi1zdGF0aWMgdm9pZCB1cGRhdGVNdWx0
aUNvbHVtbkZsb3dUaHJlYWQoUmVuZGVyQmxvY2tGbG93JiBmbG93KQotewotICAgIGJvb2wgbmVl
ZHNGbG93VGhyZWFkID0gZmxvdy5yZXF1aXJlc0NvbHVtbnMoZmxvdy5zdHlsZSgpLmNvbHVtbkNv
dW50KCkpOwotICAgIGlmICghbmVlZHNGbG93VGhyZWFkKSB7Ci0gICAgICAgIGlmIChmbG93Lm11
bHRpQ29sdW1uRmxvd1RocmVhZCgpKQotICAgICAgICAgICAgZmxvdy5kZXN0cm95TXVsdGlDb2x1
bW5GbG93VGhyZWFkKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKCFmbG93Lm11
bHRpQ29sdW1uRmxvd1RocmVhZCgpKQotICAgICAgICBmbG93LmNyZWF0ZU11bHRpQ29sdW1uRmxv
d1RocmVhZCgpOwotfQotCiB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpjb21taXQoc3RkOjp1bmlx
dWVfcHRyPGNvbnN0IFN0eWxlOjpVcGRhdGU+IHN0eWxlVXBkYXRlKQogewogICAgIEFTU0VSVCgm
bV9kb2N1bWVudCA9PSAmc3R5bGVVcGRhdGUtPmRvY3VtZW50KCkpOwpAQCAtMTQ3LDcgKzEzNiw3
IEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OmNvbW1pdChzdGQ6OnVuaXEKIAogICAgIGdlbmVy
YXRlZENvbnRlbnQoKS51cGRhdGVSZW1haW5pbmdRdW90ZXMoKTsKIAotICAgIHVwZGF0ZU11bHRp
Q29sdW1uRmxvd1RocmVhZChyZW5kZXJWaWV3KCkpOworICAgIE11bHRpQ29sdW1uOjp1cGRhdGUo
cmVuZGVyVmlldygpKTsKIAogICAgIG1fc3R5bGVVcGRhdGUgPSBudWxscHRyOwogfQpAQCAtMjc4
LDcgKzI2Nyw3IEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnVwZGF0ZUFmdGVyRGVzY2UKICAg
ICBpZiAoaXM8UmVuZGVyTGlzdEl0ZW0+KCpyZW5kZXJlcikpCiAgICAgICAgIExpc3RJdGVtOjp1
cGRhdGVNYXJrZXIoZG93bmNhc3Q8UmVuZGVyTGlzdEl0ZW0+KCpyZW5kZXJlcikpOwogICAgIGlm
IChpczxSZW5kZXJCbG9ja0Zsb3c+KCpyZW5kZXJlcikpCi0gICAgICAgIHVwZGF0ZU11bHRpQ29s
dW1uRmxvd1RocmVhZChkb3duY2FzdDxSZW5kZXJCbG9ja0Zsb3c+KCpyZW5kZXJlcikpOworICAg
ICAgICBNdWx0aUNvbHVtbjo6dXBkYXRlKGRvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4oKnJlbmRl
cmVyKSk7CiAKICAgICBpZiAoZWxlbWVudC5oYXNDdXN0b21TdHlsZVJlc29sdmVDYWxsYmFja3Mo
KSAmJiBzdHlsZUNoYW5nZSA9PSBTdHlsZTo6RGV0YWNoKQogICAgICAgICBlbGVtZW50LmRpZEF0
dGFjaFJlbmRlcmVycygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3R5bGUvUmVuZGVyVHJlZVVw
ZGF0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SZW5kZXJUcmVlVXBk
YXRlci5oCShyZXZpc2lvbiAyMjEzODQpCisrKyBTb3VyY2UvV2ViQ29yZS9zdHlsZS9SZW5kZXJU
cmVlVXBkYXRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBAIHB1YmxpYzoKIAog
cHJpdmF0ZToKICAgICBjbGFzcyBHZW5lcmF0ZWRDb250ZW50OworICAgIGNsYXNzIE11bHRpQ29s
dW1uOwogCiAgICAgdm9pZCB1cGRhdGVSZW5kZXJUcmVlKENvbnRhaW5lck5vZGUmIHJvb3QpOwog
ICAgIHZvaWQgdXBkYXRlVGV4dFJlbmRlcmVyKFRleHQmLCBjb25zdCBTdHlsZTo6VGV4dFVwZGF0
ZSopOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3R5bGUvUmVuZGVyVHJlZVVwZGF0ZXJNdWx0aUNv
bHVtbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3R5bGUvUmVuZGVyVHJlZVVw
ZGF0ZXJNdWx0aUNvbHVtbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvc3R5
bGUvUmVuZGVyVHJlZVVwZGF0ZXJNdWx0aUNvbHVtbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBr
ZGUub3JnKQorICogICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0Br
ZGUub3JnKQorICogICAgICAgICAgIChDKSAyMDA3IERhdmlkIFNtaXRoIChjYXRmaXNoLm1hbkBn
bWFpbC5jb20pCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMtMjAxNSwgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBM
aW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
KiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJSZW5kZXJUcmVlVXBkYXRlck11bHRpQ29sdW1uLmgiCisKKyNpbmNsdWRlICJSZW5k
ZXJCbG9ja0Zsb3cuaCIKKyNpbmNsdWRlICJSZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjpNdWx0aUNv
bHVtbjo6dXBkYXRlKFJlbmRlckJsb2NrRmxvdyYgZmxvdykKK3sKKyAgICBib29sIG5lZWRzRmxv
d1RocmVhZCA9IGZsb3cucmVxdWlyZXNDb2x1bW5zKGZsb3cuc3R5bGUoKS5jb2x1bW5Db3VudCgp
KTsKKyAgICBhdXRvKiBtdWx0aUNvbHVtbkZsb3dUaHJlYWQgPSBmbG93Lm11bHRpQ29sdW1uRmxv
d1RocmVhZCgpOworICAgIGlmICghbmVlZHNGbG93VGhyZWFkKSB7CisgICAgICAgIGlmIChtdWx0
aUNvbHVtbkZsb3dUaHJlYWQpIHsKKyAgICAgICAgICAgIG11bHRpQ29sdW1uRmxvd1RocmVhZC0+
ZXZhY3VhdGVBbmREZXN0cm95KCk7CisgICAgICAgICAgICBBU1NFUlQoIWZsb3cubXVsdGlDb2x1
bW5GbG93VGhyZWFkKCkpOworICAgICAgICB9CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAg
aWYgKCFtdWx0aUNvbHVtbkZsb3dUaHJlYWQpCisgICAgICAgIGNyZWF0ZUZsb3dUaHJlYWQoZmxv
dyk7Cit9CisKK3ZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6Ok11bHRpQ29sdW1uOjpjcmVhdGVGbG93
VGhyZWFkKFJlbmRlckJsb2NrRmxvdyYgZmxvdykKK3sKKyAgICBSZW5kZXJNdWx0aUNvbHVtbkZs
b3dUaHJlYWQqIGZsb3dUaHJlYWQgPSBuZXcgUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkKGZs
b3cuZG9jdW1lbnQoKSwgUmVuZGVyU3R5bGU6OmNyZWF0ZUFub255bW91c1N0eWxlV2l0aERpc3Bs
YXkoZmxvdy5zdHlsZSgpLCBCTE9DSykpOworICAgIGZsb3dUaHJlYWQtPmluaXRpYWxpemVTdHls
ZSgpOworICAgIGZsb3cuc2V0Q2hpbGRyZW5JbmxpbmUoZmFsc2UpOyAvLyBEbyB0aGlzIHRvIGF2
b2lkIHdyYXBwaW5nIGlubGluZSBjaGlsZHJlbiB0aGF0IGFyZSBqdXN0IGdvaW5nIHRvIG1vdmUg
aW50byB0aGUgZmxvdyB0aHJlYWQuCisgICAgZmxvdy5kZWxldGVMaW5lcygpOworICAgIGZsb3cu
UmVuZGVyQmxvY2s6OmFkZENoaWxkKGZsb3dUaHJlYWQpOworICAgIGZsb3dUaHJlYWQtPnBvcHVs
YXRlKCk7IC8vIENhbGxlZCBhZnRlciB0aGUgZmxvdyB0aHJlYWQgaXMgaW5zZXJ0ZWQgc28gdGhh
dCB3ZSBhcmUgcmVhY2hhYmxlIGJ5IHRoZSBmbG93IHRocmVhZC4KKyAgICBmbG93LnNldE11bHRp
Q29sdW1uRmxvd1RocmVhZChmbG93VGhyZWFkKTsKK30KKworCit9CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9zdHlsZS9SZW5kZXJUcmVlVXBkYXRlck11bHRpQ29sdW1uLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvc3R5bGUvUmVuZGVyVHJlZVVwZGF0ZXJNdWx0aUNvbHVtbi5oCShub25l
eGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1JlbmRlclRyZWVVcGRhdGVyTXVsdGlD
b2x1bW4uaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlICJSZW5kZXJUcmVlVXBkYXRlci5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIFJlbmRlckJsb2NrRmxvdzsKKworY2xhc3MgUmVuZGVyVHJlZVVw
ZGF0ZXI6Ok11bHRpQ29sdW1uIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdm9pZCB1cGRhdGUoUmVu
ZGVyQmxvY2tGbG93Jik7CisKK3ByaXZhdGU6CisgICAgc3RhdGljIHZvaWQgY3JlYXRlRmxvd1Ro
cmVhZChSZW5kZXJCbG9ja0Zsb3cmKTsKK307CisKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>