<?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>50915</bug_id>
          
          <creation_ts>2010-12-13 04:39:55 -0800</creation_ts>
          <short_desc>[GTK] Do not use GET_PRIVATE macros</short_desc>
          <delta_ts>2010-12-13 06:17:40 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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>0</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>321046</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2010-12-13 04:39:55 -0800</bug_when>
    <thetext>GET_PRIVATE macros are slow and should only be used in the object init() method. We are currently using a pointer to the private structure in the instance structure so we don&apos;t need to call GET_PRIVATE. There are only a few places where GET_PRIVATE macros are used, but since they are confusing and useless (it&apos;s macro for something that it&apos;s going to be used only once), I think we can just remove them all to make sure they are not used anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321048</commentid>
    <comment_count>1</comment_count>
      <attachid>76370</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2010-12-13 04:42:39 -0800</bug_when>
    <thetext>Created attachment 76370
Patch to remove GET_PRIVATE macros</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321057</commentid>
    <comment_count>2</comment_count>
      <attachid>76370</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-13 05:27:37 -0800</bug_when>
    <thetext>Comment on attachment 76370
Patch to remove GET_PRIVATE macros

Clearing flags on attachment: 76370

Committed r73906: &lt;http://trac.webkit.org/changeset/73906&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321058</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-13 05:27:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321084</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-13 06:17:40 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/73906 might have broken GTK Linux 64-bit Debug
The following tests are not passing:
editing/selection/extend-by-character-002.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76370</attachid>
            <date>2010-12-13 04:42:39 -0800</date>
            <delta_ts>2010-12-13 05:27:37 -0800</delta_ts>
            <desc>Patch to remove GET_PRIVATE macros</desc>
            <filename>private.diff</filename>
            <type>text/plain</type>
            <size>30162</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggNjdjY2M5Zi4uZTAzNDg0YyAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MiBAQAorMjAxMC0xMi0xMyAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gRG8gbm90IHVzZSBHRVRf
UFJJVkFURSBtYWNyb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTUwOTE1CisKKyAgICAgICAgR0VUX1BSSVZBVEUgbWFjcm9zIGFyZSBzbG93IGFuZCBz
aG91bGQgb25seSBiZSB1c2VkIGluIHRoZSBvYmplY3QKKyAgICAgICAgaW5pdCgpIG1ldGhvZC4K
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0NvbnRleHRNZW51Q2xpZW50R3RrLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6aW5wdXRNZXRob2RzTWVudUl0ZW0pOgorICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RnJhbWVM
b2FkZXJDbGllbnQ6OnBvc3RQcm9ncmVzc0ZpbmlzaGVkTm90aWZpY2F0aW9uKToKKyAgICAgICAg
KFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnQ6OnNldFRpdGxlKToKKyAgICAgICAgKFdlYktpdDo6
RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoQ3JlYXRlUGFnZSk6CisgICAgICAgIChXZWJLaXQ6
OnBvc3RDb21taXRGcmFtZVZpZXdTZXR1cCk6CisgICAgICAgICogd2Via2l0L3dlYmtpdGRvd25s
b2FkLmNwcDoKKyAgICAgICAgKHdlYmtpdF9kb3dubG9hZF9pbml0KToKKyAgICAgICAgKiB3ZWJr
aXQvd2Via2l0Z2VvbG9jYXRpb25wb2xpY3lkZWNpc2lvbi5jcHA6CisgICAgICAgICh3ZWJraXRf
Z2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX2luaXQpOgorICAgICAgICAqIHdlYmtpdC93ZWJr
aXRoaXR0ZXN0cmVzdWx0LmNwcDoKKyAgICAgICAgKHdlYmtpdF9oaXRfdGVzdF9yZXN1bHRfaW5p
dCk6CisgICAgICAgICogd2Via2l0L3dlYmtpdG5ldHdvcmtyZXF1ZXN0LmNwcDoKKyAgICAgICAg
KHdlYmtpdF9uZXR3b3JrX3JlcXVlc3RfaW5pdCk6CisgICAgICAgICogd2Via2l0L3dlYmtpdHNl
Y3VyaXR5b3JpZ2luLmNwcDoKKyAgICAgICAgKHdlYmtpdF9zZWN1cml0eV9vcmlnaW5faW5pdCk6
CisgICAgICAgICogd2Via2l0L3dlYmtpdHNlY3VyaXR5b3JpZ2lucHJpdmF0ZS5oOgorICAgICAg
ICAqIHdlYmtpdC93ZWJraXR2aWV3cG9ydGF0dHJpYnV0ZXMuY3BwOgorICAgICAgICAod2Via2l0
X3ZpZXdwb3J0X2F0dHJpYnV0ZXNfaW5pdCk6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYmJh
Y2tmb3J3YXJkbGlzdC5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0
X2luaXQpOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJkYXRhYmFzZS5jcHA6CisgICAgICAg
ICh3ZWJraXRfd2ViX2RhdGFiYXNlX2luaXQpOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJk
YXRhc291cmNlLmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfZGF0YV9zb3VyY2VfaW5pdCk6Cisg
ICAgICAgICogd2Via2l0L3dlYmtpdHdlYmZyYW1lLmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJf
ZnJhbWVfaW5pdCk6CisgICAgICAgICh3ZWJraXRfd2ViX2ZyYW1lX25ldyk6CisgICAgICAgICog
d2Via2l0L3dlYmtpdHdlYmZyYW1lcHJpdmF0ZS5oOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3
ZWJoaXN0b3J5aXRlbS5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9pbml0
KToKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2ViaW5zcGVjdG9yLmNwcDoKKyAgICAgICAgKHdl
YmtpdF93ZWJfaW5zcGVjdG9yX2luaXQpOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJuYXZp
Z2F0aW9uYWN0aW9uLmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfbmF2aWdhdGlvbl9hY3Rpb25f
aW5pdCk6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnBsdWdpbi5jcHA6CisgICAgICAgICh3
ZWJraXRfd2ViX3BsdWdpbl9pbml0KToKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2VicGx1Z2lu
ZGF0YWJhc2UuY3BwOgorICAgICAgICAod2Via2l0X3dlYl9wbHVnaW5fZGF0YWJhc2VfaW5pdCk6
CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnBsdWdpbmRhdGFiYXNlcHJpdmF0ZS5oOgorICAg
ICAgICAqIHdlYmtpdC93ZWJraXR3ZWJwbHVnaW5wcml2YXRlLmg6CisgICAgICAgICogd2Via2l0
L3dlYmtpdHdlYnBvbGljeWRlY2lzaW9uLmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfcG9saWN5
X2RlY2lzaW9uX2luaXQpOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJyZXNvdXJjZS5jcHA6
CisgICAgICAgICh3ZWJraXRfd2ViX3Jlc291cmNlX2luaXQpOgorICAgICAgICAqIHdlYmtpdC93
ZWJraXR3ZWJyZXNvdXJjZXByaXZhdGUuaDoKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vic2V0
dGluZ3MuY3BwOgorICAgICAgICAod2Via2l0X3dlYl9zZXR0aW5nc19pbml0KToKKyAgICAgICAg
KiB3ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6CisgICAgICAgIChQb3B1cE1lbnVQb3NpdGlvbkZ1
bmMpOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2ZvcndhcmRfY29udGV4dF9tZW51X2V2ZW50
KToKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19kcmFnX2VuZCk6CisgICAgICAgICh3ZWJraXRf
d2ViX3ZpZXdfZHJhZ19kYXRhX2dldCk6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfcXVlcnlf
dG9vbHRpcCk6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfaW5pdCk6CisgICAgICAgICogd2Vi
a2l0L3dlYmtpdHdlYndpbmRvd2ZlYXR1cmVzLmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfd2lu
ZG93X2ZlYXR1cmVzX2luaXQpOgorCiAyMDEwLTEwLTI4ICBNT1JJVEEgSGFqaW1lICA8bW9ycml0
YUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCmRpZmYgLS1n
aXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0NvbnRleHRNZW51Q2xpZW50R3RrLmNwcCBi
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ29udGV4dE1lbnVDbGllbnRHdGsuY3BwCmluZGV4
IDEyMzc4MDkuLjEzN2Y5YWIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
Q29udGV4dE1lbnVDbGllbnRHdGsuY3BwCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
Q29udGV4dE1lbnVDbGllbnRHdGsuY3BwCkBAIC02Miw3ICs2Miw3IEBAIHN0YXRpYyBHdGtXaWRn
ZXQqIGlucHV0TWV0aG9kc01lbnVJdGVtIChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogICAgIEd0
a1dpZGdldCogbWVudWl0ZW0gPSBndGtfaW1hZ2VfbWVudV9pdGVtX25ld193aXRoX21uZW1vbmlj
KAogICAgICAgICBfKCJJbnB1dCBfTWV0aG9kcyIpKTsKIAotICAgIFdlYktpdFdlYlZpZXdQcml2
YXRlKiBwcml2ID0gV0VCS0lUX1dFQl9WSUVXX0dFVF9QUklWQVRFKHdlYlZpZXcpOworICAgIFdl
YktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmlldy0+cHJpdjsKICAgICBHdGtXaWRnZXQq
IGltQ29udGV4dE1lbnUgPSBndGtfbWVudV9uZXcoKTsKICAgICBndGtfaW1fbXVsdGljb250ZXh0
X2FwcGVuZF9tZW51aXRlbXMoR1RLX0lNX01VTFRJQ09OVEVYVChwcml2LT5pbUNvbnRleHQuZ2V0
KCkpLCBHVEtfTUVOVV9TSEVMTChpbUNvbnRleHRNZW51KSk7CiAKZGlmZiAtLWdpdCBhL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwIGIvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKaW5kZXggNGVjNWZiYi4u
OWJhYzJkMCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudEd0ay5jcHAKQEAgLTM3OCw3ICszNzgsNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50
Ojpwb3N0UHJvZ3Jlc3NFc3RpbWF0ZUNoYW5nZWROb3RpZmljYXRpb24oKQogdm9pZCBGcmFtZUxv
YWRlckNsaWVudDo6cG9zdFByb2dyZXNzRmluaXNoZWROb3RpZmljYXRpb24oKQogewogICAgIFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcgPSBnZXRWaWV3RnJvbUZyYW1lKG1fZnJhbWUpOwotICAgIFdl
YktpdFdlYlZpZXdQcml2YXRlKiBwcml2YXRlRGF0YSA9IFdFQktJVF9XRUJfVklFV19HRVRfUFJJ
VkFURSh3ZWJWaWV3KTsKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdmF0ZURhdGEgPSB3
ZWJWaWV3LT5wcml2OwogCiAgICAgLy8gV2UgY2FuIGdldCBhIHN0b3BMb2FkKCkgZnJvbSBkaXNw
b3NlIHdoZW4gdGhlIG9iamVjdCBpcyBiZWluZwogICAgIC8vIGRlc3Ryb3llZCwgZG9uJ3QgZW1p
dCB0aGUgc2lnbmFsIGluIHRoYXQgY2FzZS4KQEAgLTEwNTEsNyArMTA1MSw3IEBAIHZvaWQgRnJh
bWVMb2FkZXJDbGllbnQ6OnByZXBhcmVGb3JEYXRhU291cmNlUmVwbGFjZW1lbnQoKQogCiB2b2lk
IEZyYW1lTG9hZGVyQ2xpZW50OjpzZXRUaXRsZShjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBL
VVJMJiB1cmwpCiB7Ci0gICAgV2ViS2l0V2ViRnJhbWVQcml2YXRlKiBmcmFtZURhdGEgPSBXRUJL
SVRfV0VCX0ZSQU1FX0dFVF9QUklWQVRFKG1fZnJhbWUpOworICAgIFdlYktpdFdlYkZyYW1lUHJp
dmF0ZSogZnJhbWVEYXRhID0gbV9mcmFtZS0+cHJpdjsKICAgICBnX2ZyZWUoZnJhbWVEYXRhLT50
aXRsZSk7CiAgICAgZnJhbWVEYXRhLT50aXRsZSA9IGdfc3RyZHVwKHRpdGxlLnV0ZjgoKS5kYXRh
KCkpOwogfQpAQCAtMTIzNiw3ICsxMjM2LDcgQEAgRnJhbWUqIEZyYW1lTG9hZGVyQ2xpZW50Ojpk
aXNwYXRjaENyZWF0ZVBhZ2UoY29uc3QgTmF2aWdhdGlvbkFjdGlvbiYpCiAgICAgaWYgKCFuZXdX
ZWJWaWV3KQogICAgICAgICByZXR1cm4gMDsKIAotICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiBw
cml2YXRlRGF0YSA9IFdFQktJVF9XRUJfVklFV19HRVRfUFJJVkFURShuZXdXZWJWaWV3KTsKKyAg
ICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcHJpdmF0ZURhdGEgPSBuZXdXZWJWaWV3LT5wcml2Owog
ICAgIHJldHVybiBjb3JlKHByaXZhdGVEYXRhLT5tYWluRnJhbWUpOwogfQogCkBAIC0xMjg3LDcg
KzEyODcsNyBAQCBzdGF0aWMgdm9pZCBwb3N0Q29tbWl0RnJhbWVWaWV3U2V0dXAoV2ViS2l0V2Vi
RnJhbWUgKmZyYW1lLCBGcmFtZVZpZXcgKnZpZXcsIGJvbwogICAgIFdlYktpdFdlYlZpZXcqIGNv
bnRhaW5pbmdXaW5kb3cgPSBnZXRWaWV3RnJvbUZyYW1lKGZyYW1lKTsKICAgICB3ZWJraXRfd2Vi
X3ZpZXdfY2xlYXJfcmVzb3VyY2VzKGNvbnRhaW5pbmdXaW5kb3cpOwogCi0gICAgV2ViS2l0V2Vi
Vmlld1ByaXZhdGUqIHByaXYgPSBXRUJLSVRfV0VCX1ZJRVdfR0VUX1BSSVZBVEUoY29udGFpbmlu
Z1dpbmRvdyk7CisgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHByaXYgPSBjb250YWluaW5nV2lu
ZG93LT5wcml2OwogICAgIHZpZXctPnNldEd0a0FkanVzdG1lbnRzKHByaXYtPmhvcml6b250YWxB
ZGp1c3RtZW50LmdldCgpLCBwcml2LT52ZXJ0aWNhbEFkanVzdG1lbnQuZ2V0KCksIHJlc2V0VmFs
dWVzKTsKIAogICAgIC8vIEludmFsaWRhdGUgdGhlIHZpZXdwb3J0IGF0dHJpYnV0ZXMgLSB0aGV5
IHdpbGwgb25seSBiZSB2YWxpZApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
ZG93bmxvYWQuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCmluZGV4
IDVlNTkwZTEuLjZiZTU5MWMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRv
d25sb2FkLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKQEAg
LTcyLDggKzcyLDYgQEAgY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUs
IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CiAgICAgICAgIFdlYktpdERvd25sb2FkKiBt
X2Rvd25sb2FkOwogfTsKIAotI2RlZmluZSBXRUJLSVRfRE9XTkxPQURfR0VUX1BSSVZBVEUob2Jq
KSAgICAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBXRUJLSVRfVFlQRV9ET1dO
TE9BRCwgV2ViS2l0RG93bmxvYWRQcml2YXRlKSkKLQogc3RydWN0IF9XZWJLaXREb3dubG9hZFBy
aXZhdGUgewogICAgIGdjaGFyKiBkZXN0aW5hdGlvblVSSTsKICAgICBnY2hhciogc3VnZ2VzdGVk
RmlsZW5hbWU7CkBAIC0zOTAsNyArMzg4LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X2Rvd25sb2Fk
X2NsYXNzX2luaXQoV2ViS2l0RG93bmxvYWRDbGFzcyogZG93bmxvYWRDbGFzcykKIAogc3RhdGlj
IHZvaWQgd2Via2l0X2Rvd25sb2FkX2luaXQoV2ViS2l0RG93bmxvYWQqIGRvd25sb2FkKQogewot
ICAgIFdlYktpdERvd25sb2FkUHJpdmF0ZSogcHJpdiA9IFdFQktJVF9ET1dOTE9BRF9HRVRfUFJJ
VkFURShkb3dubG9hZCk7CisgICAgV2ViS2l0RG93bmxvYWRQcml2YXRlKiBwcml2ID0gR19UWVBF
X0lOU1RBTkNFX0dFVF9QUklWQVRFKGRvd25sb2FkLCBXRUJLSVRfVFlQRV9ET1dOTE9BRCwgV2Vi
S2l0RG93bmxvYWRQcml2YXRlKTsKICAgICBkb3dubG9hZC0+cHJpdiA9IHByaXY7CiAKICAgICBw
cml2LT5kb3dubG9hZENsaWVudCA9IG5ldyBEb3dubG9hZENsaWVudChkb3dubG9hZCk7CmRpZmYg
LS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnZW9sb2NhdGlvbnBvbGljeWRlY2lzaW9u
LmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24u
Y3BwCmluZGV4IDdhZmQ4ZmEuLmNiMDIzZDYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uY3BwCisrKyBiL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdGdlb2xvY2F0aW9ucG9saWN5ZGVjaXNpb24uY3BwCkBAIC00Myw4ICs0Myw2IEBA
IHN0cnVjdCBfV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUgewogICAgIEdl
b2xvY2F0aW9uKiBnZW9sb2NhdGlvbjsKIH07CiAKLSNkZWZpbmUgV0VCS0lUX0dFT0xPQ0FUSU9O
X1BPTElDWV9ERUNJU0lPTl9HRVRfUFJJVkFURShvYmopICAgIChHX1RZUEVfSU5TVEFOQ0VfR0VU
X1BSSVZBVEUoKG9iaiksIFdFQktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTiwg
V2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUpKQotCiBzdGF0aWMgdm9pZCB3
ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2RlY2lzaW9uX2NsYXNzX2luaXQoV2ViS2l0R2VvbG9j
YXRpb25Qb2xpY3lEZWNpc2lvbkNsYXNzKiBkZWNpc2lvbkNsYXNzKQogewogICAgIGdfdHlwZV9j
bGFzc19hZGRfcHJpdmF0ZShkZWNpc2lvbkNsYXNzLCBzaXplb2YoV2ViS2l0R2VvbG9jYXRpb25Q
b2xpY3lEZWNpc2lvblByaXZhdGUpKTsKQEAgLTUyLDcgKzUwLDcgQEAgc3RhdGljIHZvaWQgd2Vi
a2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lvbl9jbGFzc19pbml0KFdlYktpdEdlb2xvY2F0
aW9uUG9saWMKIAogc3RhdGljIHZvaWQgd2Via2l0X2dlb2xvY2F0aW9uX3BvbGljeV9kZWNpc2lv
bl9pbml0KFdlYktpdEdlb2xvY2F0aW9uUG9saWN5RGVjaXNpb24qIGRlY2lzaW9uKQogewotICAg
IGRlY2lzaW9uLT5wcml2ID0gV0VCS0lUX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJU0lPTl9HRVRf
UFJJVkFURShkZWNpc2lvbik7CisgICAgZGVjaXNpb24tPnByaXYgPSBHX1RZUEVfSU5TVEFOQ0Vf
R0VUX1BSSVZBVEUoZGVjaXNpb24sIFdFQktJVF9UWVBFX0dFT0xPQ0FUSU9OX1BPTElDWV9ERUNJ
U0lPTiwgV2ViS2l0R2VvbG9jYXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUpOwogfQogCiBXZWJL
aXRHZW9sb2NhdGlvblBvbGljeURlY2lzaW9uKiB3ZWJraXRfZ2VvbG9jYXRpb25fcG9saWN5X2Rl
Y2lzaW9uX25ldyhXZWJLaXRXZWJGcmFtZSogZnJhbWUsIEdlb2xvY2F0aW9uKiBnZW9sb2NhdGlv
bikKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGhpdHRlc3RyZXN1bHQuY3Bw
IGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0aGl0dGVzdHJlc3VsdC5jcHAKaW5kZXggMTkzNzQ0
OS4uZmEwYjQwYiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0aGl0dGVzdHJl
c3VsdC5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0aGl0dGVzdHJlc3VsdC5jcHAK
QEAgLTQ5LDggKzQ5LDYgQEAgc3RydWN0IF9XZWJLaXRIaXRUZXN0UmVzdWx0UHJpdmF0ZSB7CiAg
ICAgV2ViS2l0RE9NTm9kZSogaW5uZXJOb2RlOwogfTsKIAotI2RlZmluZSBXRUJLSVRfSElUX1RF
U1RfUkVTVUxUX0dFVF9QUklWQVRFKG9iaikgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgo
b2JqKSwgV0VCS0lUX1RZUEVfSElUX1RFU1RfUkVTVUxULCBXZWJLaXRIaXRUZXN0UmVzdWx0UHJp
dmF0ZSkpCi0KIGVudW0gewogICAgIFBST1BfMCwKIApAQCAtMjMwLDcgKzIyOCw3IEBAIHN0YXRp
YyB2b2lkIHdlYmtpdF9oaXRfdGVzdF9yZXN1bHRfY2xhc3NfaW5pdChXZWJLaXRIaXRUZXN0UmVz
dWx0Q2xhc3MqIHdlYkhpdFRlCiAKIHN0YXRpYyB2b2lkIHdlYmtpdF9oaXRfdGVzdF9yZXN1bHRf
aW5pdChXZWJLaXRIaXRUZXN0UmVzdWx0KiB3ZWJfaGl0X3Rlc3RfcmVzdWx0KQogewotICAgIHdl
Yl9oaXRfdGVzdF9yZXN1bHQtPnByaXYgPSBXRUJLSVRfSElUX1RFU1RfUkVTVUxUX0dFVF9QUklW
QVRFKHdlYl9oaXRfdGVzdF9yZXN1bHQpOworICAgIHdlYl9oaXRfdGVzdF9yZXN1bHQtPnByaXYg
PSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUod2ViX2hpdF90ZXN0X3Jlc3VsdCwgV0VCS0lU
X1RZUEVfSElUX1RFU1RfUkVTVUxULCBXZWJLaXRIaXRUZXN0UmVzdWx0UHJpdmF0ZSk7CiB9CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
bmV0d29ya3JlcXVlc3QuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0bmV0d29ya3JlcXVl
c3QuY3BwCmluZGV4IDcxOTY2MzEuLjIzZjIyYTMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdG5ldHdvcmtyZXF1ZXN0LmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRuZXR3b3JrcmVxdWVzdC5jcHAKQEAgLTQ4LDggKzQ4LDYgQEAgc3RydWN0IF9XZWJLaXROZXR3
b3JrUmVxdWVzdFByaXZhdGUgewogICAgIFNvdXBNZXNzYWdlKiBtZXNzYWdlOwogfTsKIAotI2Rl
ZmluZSBXRUJLSVRfTkVUV09SS19SRVFVRVNUX0dFVF9QUklWQVRFKG9iaikgKEdfVFlQRV9JTlNU
QU5DRV9HRVRfUFJJVkFURSgob2JqKSwgV0VCS0lUX1RZUEVfTkVUV09SS19SRVFVRVNULCBXZWJL
aXROZXR3b3JrUmVxdWVzdFByaXZhdGUpKQotCiBlbnVtIHsKICAgICBQUk9QXzAsCiAKQEAgLTE1
Nyw3ICsxNTUsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfbmV0d29ya19yZXF1ZXN0X2NsYXNzX2lu
aXQoV2ViS2l0TmV0d29ya1JlcXVlc3RDbGFzcyogcmVxdWVzdAogCiBzdGF0aWMgdm9pZCB3ZWJr
aXRfbmV0d29ya19yZXF1ZXN0X2luaXQoV2ViS2l0TmV0d29ya1JlcXVlc3QqIHJlcXVlc3QpCiB7
Ci0gICAgV2ViS2l0TmV0d29ya1JlcXVlc3RQcml2YXRlKiBwcml2ID0gV0VCS0lUX05FVFdPUktf
UkVRVUVTVF9HRVRfUFJJVkFURShyZXF1ZXN0KTsKKyAgICBXZWJLaXROZXR3b3JrUmVxdWVzdFBy
aXZhdGUqIHByaXYgPSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUocmVxdWVzdCwgV0VCS0lU
X1RZUEVfTkVUV09SS19SRVFVRVNULCBXZWJLaXROZXR3b3JrUmVxdWVzdFByaXZhdGUpOwogICAg
IHJlcXVlc3QtPnByaXYgPSBwcml2OwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXRzZWN1cml0eW9yaWdpbi5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRzZWN1
cml0eW9yaWdpbi5jcHAKaW5kZXggNTE1MmVkNy4uOTI3Yjc2ZCAxMDA2NDQKLS0tIGEvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0c2VjdXJpdHlvcmlnaW4uY3BwCisrKyBiL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHNlY3VyaXR5b3JpZ2luLmNwcApAQCAtMjEyLDcgKzIxMiw3IEBAIHN0YXRpYyB2
b2lkIHdlYmtpdF9zZWN1cml0eV9vcmlnaW5fY2xhc3NfaW5pdChXZWJLaXRTZWN1cml0eU9yaWdp
bkNsYXNzKiBrbGFzcykKIAogc3RhdGljIHZvaWQgd2Via2l0X3NlY3VyaXR5X29yaWdpbl9pbml0
KFdlYktpdFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbikKIHsKLSAgICBXZWJLaXRTZWN1
cml0eU9yaWdpblByaXZhdGUqIHByaXYgPSBXRUJLSVRfU0VDVVJJVFlfT1JJR0lOX0dFVF9QUklW
QVRFKHNlY3VyaXR5T3JpZ2luKTsKKyAgICBXZWJLaXRTZWN1cml0eU9yaWdpblByaXZhdGUqIHBy
aXYgPSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUoc2VjdXJpdHlPcmlnaW4sIFdFQktJVF9U
WVBFX1NFQ1VSSVRZX09SSUdJTiwgV2ViS2l0U2VjdXJpdHlPcmlnaW5Qcml2YXRlKTsKICAgICBw
cml2LT53ZWJEYXRhYmFzZXMgPSBnX2hhc2hfdGFibGVfbmV3X2Z1bGwoZ19zdHJfaGFzaCwgZ19z
dHJfZXF1YWwsIGdfZnJlZSwgZ19vYmplY3RfdW5yZWYpOwogICAgIHNlY3VyaXR5T3JpZ2luLT5w
cml2ID0gcHJpdjsKIH0KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHNlY3Vy
aXR5b3JpZ2lucHJpdmF0ZS5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0c2VjdXJpdHlvcmln
aW5wcml2YXRlLmgKaW5kZXggY2VkMjYyZi4uNWE0YTg3YiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0c2VjdXJpdHlvcmlnaW5wcml2YXRlLmgKKysrIGIvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0c2VjdXJpdHlvcmlnaW5wcml2YXRlLmgKQEAgLTM1LDcgKzM1LDYgQEAgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW4qIGNvcmUoV2ViS2l0U2VjdXJpdHlPcmlnaW4qKTsKIAogZXh0
ZXJuICJDIiB7CiAKLSNkZWZpbmUgV0VCS0lUX1NFQ1VSSVRZX09SSUdJTl9HRVRfUFJJVkFURShv
YmopIChHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUoKG9iaiksIFdFQktJVF9UWVBFX1NFQ1VS
SVRZX09SSUdJTiwgV2ViS2l0U2VjdXJpdHlPcmlnaW5Qcml2YXRlKSkKIHN0cnVjdCBfV2ViS2l0
U2VjdXJpdHlPcmlnaW5Qcml2YXRlIHsKICAgICBSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmln
aW4+IGNvcmVPcmlnaW47CiAgICAgZ2NoYXIqIHByb3RvY29sOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0dmlld3BvcnRhdHRyaWJ1dGVzLmNwcCBiL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHZpZXdwb3J0YXR0cmlidXRlcy5jcHAKaW5kZXggOTg0MDFkNS4uYzJkZTVjMSAx
MDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0dmlld3BvcnRhdHRyaWJ1dGVzLmNw
cAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR2aWV3cG9ydGF0dHJpYnV0ZXMuY3BwCkBA
IC0xMTAsOCArMTEwLDYgQEAgZW51bSB7CiAKIEdfREVGSU5FX1RZUEUoV2ViS2l0Vmlld3BvcnRB
dHRyaWJ1dGVzLCB3ZWJraXRfdmlld3BvcnRfYXR0cmlidXRlcywgR19UWVBFX09CSkVDVCk7CiAK
LSNkZWZpbmUgV0VCS0lUX1ZJRVdQT1JUX0FUVFJJQlVURVNfR0VUX1BSSVZBVEUob2JqKSAgICAo
R19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBXRUJLSVRfVFlQRV9WSUVXUE9SVF9B
VFRSSUJVVEVTLCBXZWJLaXRWaWV3cG9ydEF0dHJpYnV0ZXNQcml2YXRlKSkKLQogc3RhdGljIHZv
aWQgd2Via2l0X3ZpZXdwb3J0X2F0dHJpYnV0ZXNfZ2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVj
dCwgZ3VpbnQgcHJvcGVydHlJRCwgR1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3BlYyogcGFyYW1TcGVj
KTsKIHN0YXRpYyB2b2lkIHdlYmtpdF92aWV3cG9ydF9hdHRyaWJ1dGVzX3NldF9wcm9wZXJ0eShH
T2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BlcnR5SUQsIGNvbnN0IEdWYWx1ZSogdmFsdWUsIEdQ
YXJhbVNwZWMqIHBhcmFtU3BlYyk7CiAKQEAgLTQxNCw3ICs0MTIsNyBAQCBzdGF0aWMgdm9pZCB3
ZWJraXRfdmlld3BvcnRfYXR0cmlidXRlc19jbGFzc19pbml0KFdlYktpdFZpZXdwb3J0QXR0cmli
dXRlc0NsYXNzKgogCiBzdGF0aWMgdm9pZCB3ZWJraXRfdmlld3BvcnRfYXR0cmlidXRlc19pbml0
KFdlYktpdFZpZXdwb3J0QXR0cmlidXRlcyogdmlld3BvcnQpCiB7Ci0gICAgdmlld3BvcnQtPnBy
aXYgPSBXRUJLSVRfVklFV1BPUlRfQVRUUklCVVRFU19HRVRfUFJJVkFURSh2aWV3cG9ydCk7Cisg
ICAgdmlld3BvcnQtPnByaXYgPSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUodmlld3BvcnQs
IFdFQktJVF9UWVBFX1ZJRVdQT1JUX0FUVFJJQlVURVMsIFdlYktpdFZpZXdwb3J0QXR0cmlidXRl
c1ByaXZhdGUpOwogCiAgICAgdmlld3BvcnQtPnByaXYtPmRldmljZVdpZHRoID0gMDsKICAgICB2
aWV3cG9ydC0+cHJpdi0+ZGV2aWNlSGVpZ2h0ID0gMDsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHdlYmJhY2tmb3J3YXJkbGlzdC5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJiYWNrZm9yd2FyZGxpc3QuY3BwCmluZGV4IGNhZWRjYTMuLmM5MDZiYTMgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmJhY2tmb3J3YXJkbGlzdC5jcHAKKysr
IGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViYmFja2ZvcndhcmRsaXN0LmNwcApAQCAtNTgs
OCArNTgsNiBAQCBzdHJ1Y3QgX1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdFByaXZhdGUgewogICAg
IGdib29sZWFuIGRpc3Bvc2VkOwogfTsKIAotI2RlZmluZSBXRUJLSVRfV0VCX0JBQ0tfRk9SV0FS
RF9MSVNUX0dFVF9QUklWQVRFKG9iaikgICAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgo
b2JqKSwgV0VCS0lUX1RZUEVfV0VCX0JBQ0tfRk9SV0FSRF9MSVNULCBXZWJLaXRXZWJCYWNrRm9y
d2FyZExpc3RQcml2YXRlKSkKLQogR19ERUZJTkVfVFlQRShXZWJLaXRXZWJCYWNrRm9yd2FyZExp
c3QsIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3QsIEdfVFlQRV9PQkpFQ1QpOwogCiBzdGF0
aWMgdm9pZCB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2Rpc3Bvc2UoR09iamVjdCogb2Jq
ZWN0KQpAQCAtOTMsNyArOTEsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX2JhY2tfZm9yd2Fy
ZF9saXN0X2NsYXNzX2luaXQoV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0Q2xhcwogCiBzdGF0aWMg
dm9pZCB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2luaXQoV2ViS2l0V2ViQmFja0Zvcndh
cmRMaXN0KiB3ZWJCYWNrRm9yd2FyZExpc3QpCiB7Ci0gICAgd2ViQmFja0ZvcndhcmRMaXN0LT5w
cml2ID0gV0VCS0lUX1dFQl9CQUNLX0ZPUldBUkRfTElTVF9HRVRfUFJJVkFURSh3ZWJCYWNrRm9y
d2FyZExpc3QpOworICAgIHdlYkJhY2tGb3J3YXJkTGlzdC0+cHJpdiA9IEdfVFlQRV9JTlNUQU5D
RV9HRVRfUFJJVkFURSh3ZWJCYWNrRm9yd2FyZExpc3QsIFdFQktJVF9UWVBFX1dFQl9CQUNLX0ZP
UldBUkRfTElTVCwgV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0UHJpdmF0ZSk7CiB9CiAKIC8qKgpk
aWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZGF0YWJhc2UuY3BwIGIvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZGF0YWJhc2UuY3BwCmluZGV4IDZkZTc4ZmMuLmRiNzJj
ZGUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmRhdGFiYXNlLmNwcAor
KysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJkYXRhYmFzZS5jcHAKQEAgLTc3LDggKzc3
LDYgQEAgc3RydWN0IF9XZWJLaXRXZWJEYXRhYmFzZVByaXZhdGUgewogc3RhdGljIGdjaGFyKiB3
ZWJraXRfZGF0YWJhc2VfZGlyZWN0b3J5X3BhdGggPSBOVUxMOwogc3RhdGljIGd1aW50NjQgd2Vi
a2l0X2RlZmF1bHRfZGF0YWJhc2VfcXVvdGEgPSA1ICogMTAyNCAqIDEwMjQ7CiAKLSNkZWZpbmUg
V0VCS0lUX1dFQl9EQVRBQkFTRV9HRVRfUFJJVkFURShvYmopIChHX1RZUEVfSU5TVEFOQ0VfR0VU
X1BSSVZBVEUoKG9iaiksIFdFQktJVF9UWVBFX1dFQl9EQVRBQkFTRSwgV2ViS2l0V2ViRGF0YWJh
c2VQcml2YXRlKSkKLQogc3RhdGljIHZvaWQgd2Via2l0X3dlYl9kYXRhYmFzZV9zZXRfc2VjdXJp
dHlfb3JpZ2luKFdlYktpdFdlYkRhdGFiYXNlKiB3ZWJEYXRhYmFzZSwgV2ViS2l0U2VjdXJpdHlP
cmlnaW4qIHNlY3VyaXR5X29yaWdpbik7CiAKIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfZGF0YWJh
c2Vfc2V0X25hbWUoV2ViS2l0V2ViRGF0YWJhc2UqIHdlYkRhdGFiYXNlLCBjb25zdCBnY2hhciog
bmFtZSk7CkBAIC0yNTAsNyArMjQ4LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9kYXRhYmFz
ZV9jbGFzc19pbml0KFdlYktpdFdlYkRhdGFiYXNlQ2xhc3MqIGtsYXNzKQogCiBzdGF0aWMgdm9p
ZCB3ZWJraXRfd2ViX2RhdGFiYXNlX2luaXQoV2ViS2l0V2ViRGF0YWJhc2UqIHdlYkRhdGFiYXNl
KQogewotICAgIHdlYkRhdGFiYXNlLT5wcml2ID0gV0VCS0lUX1dFQl9EQVRBQkFTRV9HRVRfUFJJ
VkFURSh3ZWJEYXRhYmFzZSk7CisgICAgd2ViRGF0YWJhc2UtPnByaXYgPSBHX1RZUEVfSU5TVEFO
Q0VfR0VUX1BSSVZBVEUod2ViRGF0YWJhc2UsIFdFQktJVF9UWVBFX1dFQl9EQVRBQkFTRSwgV2Vi
S2l0V2ViRGF0YWJhc2VQcml2YXRlKTsKIH0KIAogLy8gSW50ZXJuYWwgdXNlIG9ubHkKZGlmZiAt
LWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmRhdGFzb3VyY2UuY3BwIGIvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0d2ViZGF0YXNvdXJjZS5jcHAKaW5kZXggNzI5ODFmMC4uN2Q5Njdm
NyAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZGF0YXNvdXJjZS5jcHAK
KysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZGF0YXNvdXJjZS5jcHAKQEAgLTc0LDgg
Kzc0LDYgQEAgc3RydWN0IF9XZWJLaXRXZWJEYXRhU291cmNlUHJpdmF0ZSB7CiAgICAgZ2NoYXIq
IHVucmVhY2hhYmxlVVJMOwogfTsKIAotI2RlZmluZSBXRUJLSVRfV0VCX0RBVEFfU09VUkNFX0dF
VF9QUklWQVRFKG9iaikgICAgICAgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUoKG9iaiks
IFdFQktJVF9UWVBFX1dFQl9EQVRBX1NPVVJDRSwgV2ViS2l0V2ViRGF0YVNvdXJjZVByaXZhdGUp
KQotCiBHX0RFRklORV9UWVBFKFdlYktpdFdlYkRhdGFTb3VyY2UsIHdlYmtpdF93ZWJfZGF0YV9z
b3VyY2UsIEdfVFlQRV9PQkpFQ1QpOwogCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX2RhdGFfc291
cmNlX2Rpc3Bvc2UoR09iamVjdCogb2JqZWN0KQpAQCAtMTM1LDcgKzEzMyw3IEBAIHN0YXRpYyB2
b2lkIHdlYmtpdF93ZWJfZGF0YV9zb3VyY2VfY2xhc3NfaW5pdChXZWJLaXRXZWJEYXRhU291cmNl
Q2xhc3MqIGtsYXNzKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX2RhdGFfc291cmNlX2luaXQo
V2ViS2l0V2ViRGF0YVNvdXJjZSogd2ViRGF0YVNvdXJjZSkKIHsKLSAgICB3ZWJEYXRhU291cmNl
LT5wcml2ID0gV0VCS0lUX1dFQl9EQVRBX1NPVVJDRV9HRVRfUFJJVkFURSh3ZWJEYXRhU291cmNl
KTsKKyAgICB3ZWJEYXRhU291cmNlLT5wcml2ID0gR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRF
KHdlYkRhdGFTb3VyY2UsIFdFQktJVF9UWVBFX1dFQl9EQVRBX1NPVVJDRSwgV2ViS2l0V2ViRGF0
YVNvdXJjZVByaXZhdGUpOwogfQogCiBXZWJLaXRXZWJEYXRhU291cmNlKiB3ZWJraXRfd2ViX2Rh
dGFfc291cmNlX25ld193aXRoX2xvYWRlcihQYXNzUmVmUHRyPFdlYktpdDo6RG9jdW1lbnRMb2Fk
ZXI+IGxvYWRlcikKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1l
LmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmNwcAppbmRleCA5MTUyNzQ2
Li5jYTJiNjgxIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5j
cHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZnJhbWUuY3BwCkBAIC0zODEsNyAr
MzgxLDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9mcmFtZV9jbGFzc19pbml0KFdlYktpdFdl
YkZyYW1lQ2xhc3MqIGZyYW1lQ2xhc3MpCiAKIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfZnJhbWVf
aW5pdChXZWJLaXRXZWJGcmFtZSogZnJhbWUpCiB7Ci0gICAgV2ViS2l0V2ViRnJhbWVQcml2YXRl
KiBwcml2ID0gV0VCS0lUX1dFQl9GUkFNRV9HRVRfUFJJVkFURShmcmFtZSk7CisgICAgV2ViS2l0
V2ViRnJhbWVQcml2YXRlKiBwcml2ID0gR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKGZyYW1l
LCBXRUJLSVRfVFlQRV9XRUJfRlJBTUUsIFdlYktpdFdlYkZyYW1lUHJpdmF0ZSk7CiAKICAgICAv
LyBUT0RPOiBNb3ZlIGNvbnN0cnVjdG9yIGNvZGUgaGVyZS4KICAgICBmcmFtZS0+cHJpdiA9IHBy
aXY7CkBAIC00MDQsNyArNDA0LDcgQEAgV2ViS2l0V2ViRnJhbWUqIHdlYmtpdF93ZWJfZnJhbWVf
bmV3KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAKICAgICBXZWJLaXRXZWJGcmFtZSogZnJhbWUg
PSBXRUJLSVRfV0VCX0ZSQU1FKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9XRUJfRlJBTUUsIE5V
TEwpKTsKICAgICBXZWJLaXRXZWJGcmFtZVByaXZhdGUqIHByaXYgPSBmcmFtZS0+cHJpdjsKLSAg
ICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogdmlld1ByaXYgPSBXRUJLSVRfV0VCX1ZJRVdfR0VUX1BS
SVZBVEUod2ViVmlldyk7CisgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHZpZXdQcml2ID0gd2Vi
Vmlldy0+cHJpdjsKIAogICAgIHByaXYtPndlYlZpZXcgPSB3ZWJWaWV3OwogICAgIFdlYktpdDo6
RnJhbWVMb2FkZXJDbGllbnQqIGNsaWVudCA9IG5ldyBXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50
KGZyYW1lKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lcHJp
dmF0ZS5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZnJhbWVwcml2YXRlLmgKaW5kZXgg
ZDI5Mzk3Yi4uMjNmMWU0MCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vi
ZnJhbWVwcml2YXRlLmgKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZnJhbWVwcml2
YXRlLmgKQEAgLTM0LDcgKzM0LDYgQEAgV2ViS2l0V2ViRnJhbWUqIGtpdChXZWJDb3JlOjpGcmFt
ZSopOwogCiBleHRlcm4gIkMiIHsKIAotI2RlZmluZSBXRUJLSVRfV0VCX0ZSQU1FX0dFVF9QUklW
QVRFKG9iaikgICAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgob2JqKSwgV0VCS0lUX1RZ
UEVfV0VCX0ZSQU1FLCBXZWJLaXRXZWJGcmFtZVByaXZhdGUpKQogdHlwZWRlZiBzdHJ1Y3QgX1dl
YktpdFdlYkZyYW1lUHJpdmF0ZSBXZWJLaXRXZWJGcmFtZVByaXZhdGU7CiBzdHJ1Y3QgX1dlYktp
dFdlYkZyYW1lUHJpdmF0ZSB7CiAgICAgV2ViQ29yZTo6RnJhbWUqIGNvcmVGcmFtZTsKZGlmZiAt
LWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVtLmNwcCBiL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVtLmNwcAppbmRleCBhNmQ3MTJiLi5hYzhl
NTdmIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJoaXN0b3J5aXRlbS5j
cHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0ZW0uY3BwCkBAIC02
Miw4ICs2Miw2IEBAIHN0cnVjdCBfV2ViS2l0V2ViSGlzdG9yeUl0ZW1Qcml2YXRlIHsKICAgICBn
Ym9vbGVhbiBkaXNwb3NlZDsKIH07CiAKLSNkZWZpbmUgV0VCS0lUX1dFQl9ISVNUT1JZX0lURU1f
R0VUX1BSSVZBVEUob2JqKSAgICAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBX
RUJLSVRfVFlQRV9XRUJfSElTVE9SWV9JVEVNLCBXZWJLaXRXZWJIaXN0b3J5SXRlbVByaXZhdGUp
KQotCiBlbnVtIHsKICAgICBQUk9QXzAsCiAKQEAgLTIxNyw3ICsyMTUsNyBAQCBzdGF0aWMgdm9p
ZCB3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9jbGFzc19pbml0KFdlYktpdFdlYkhpc3RvcnlJdGVt
Q2xhc3MqIGtsYXNzKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9pbml0
KFdlYktpdFdlYkhpc3RvcnlJdGVtKiB3ZWJIaXN0b3J5SXRlbSkKIHsKLSAgICB3ZWJIaXN0b3J5
SXRlbS0+cHJpdiA9IFdFQktJVF9XRUJfSElTVE9SWV9JVEVNX0dFVF9QUklWQVRFKHdlYkhpc3Rv
cnlJdGVtKTsKKyAgICB3ZWJIaXN0b3J5SXRlbS0+cHJpdiA9IEdfVFlQRV9JTlNUQU5DRV9HRVRf
UFJJVkFURSh3ZWJIaXN0b3J5SXRlbSwgV0VCS0lUX1RZUEVfV0VCX0hJU1RPUllfSVRFTSwgV2Vi
S2l0V2ViSGlzdG9yeUl0ZW1Qcml2YXRlKTsKIH0KIAogc3RhdGljIHZvaWQgd2Via2l0X3dlYl9o
aXN0b3J5X2l0ZW1fc2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwg
Y29uc3QgR1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3BlYyogcHNwZWMpCmRpZmYgLS1naXQgYS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJpbnNwZWN0b3IuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0d2ViaW5zcGVjdG9yLmNwcAppbmRleCBlN2E4MjlmLi5hZDQ1NWJiIDEwMDY0NAotLS0g
YS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJpbnNwZWN0b3IuY3BwCisrKyBiL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdHdlYmluc3BlY3Rvci5jcHAKQEAgLTk4LDggKzk4LDYgQEAgc3RydWN0
IF9XZWJLaXRXZWJJbnNwZWN0b3JQcml2YXRlIHsKICAgICBnY2hhciogaW5zcGVjdGVkX3VyaTsK
IH07CiAKLSNkZWZpbmUgV0VCS0lUX1dFQl9JTlNQRUNUT1JfR0VUX1BSSVZBVEUob2JqKSAoR19U
WVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBXRUJLSVRfVFlQRV9XRUJfSU5TUEVDVE9S
LCBXZWJLaXRXZWJJbnNwZWN0b3JQcml2YXRlKSkKLQogc3RhdGljIHZvaWQgd2Via2l0X3dlYl9p
bnNwZWN0b3JfZmluYWxpemUoR09iamVjdCogb2JqZWN0KTsKIAogc3RhdGljIHZvaWQgd2Via2l0
X3dlYl9pbnNwZWN0b3Jfc2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9p
ZCwgY29uc3QgR1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3BlYyogcHNwZWMpOwpAQCAtMzI2LDcgKzMy
NCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfaW5zcGVjdG9yX2NsYXNzX2luaXQoV2ViS2l0
V2ViSW5zcGVjdG9yQ2xhc3MqIGtsYXNzKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX2luc3Bl
Y3Rvcl9pbml0KFdlYktpdFdlYkluc3BlY3Rvciogd2ViX2luc3BlY3RvcikKIHsKLSAgICB3ZWJf
aW5zcGVjdG9yLT5wcml2ID0gV0VCS0lUX1dFQl9JTlNQRUNUT1JfR0VUX1BSSVZBVEUod2ViX2lu
c3BlY3Rvcik7CisgICAgd2ViX2luc3BlY3Rvci0+cHJpdiA9IEdfVFlQRV9JTlNUQU5DRV9HRVRf
UFJJVkFURSh3ZWJfaW5zcGVjdG9yLCBXRUJLSVRfVFlQRV9XRUJfSU5TUEVDVE9SLCBXZWJLaXRX
ZWJJbnNwZWN0b3JQcml2YXRlKTsKIH0KIAogc3RhdGljIHZvaWQgd2Via2l0X3dlYl9pbnNwZWN0
b3JfZmluYWxpemUoR09iamVjdCogb2JqZWN0KQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2VibmF2aWdhdGlvbmFjdGlvbi5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJuYXZpZ2F0aW9uYWN0aW9uLmNwcAppbmRleCBhMmNhNzNhLi5iMTIyNzllIDEwMDY0NAot
LS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJuYXZpZ2F0aW9uYWN0aW9uLmNwcAorKysg
Yi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJuYXZpZ2F0aW9uYWN0aW9uLmNwcApAQCAtNDgs
OCArNDgsNiBAQCBzdHJ1Y3QgX1dlYktpdFdlYk5hdmlnYXRpb25BY3Rpb25Qcml2YXRlIHsKICAg
ICBnY2hhciogdGFyZ2V0RnJhbWU7CiB9OwogCi0jZGVmaW5lIFdFQktJVF9XRUJfTkFWSUdBVElP
Tl9BQ1RJT05fR0VUX1BSSVZBVEUob2JqKShHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUoKG9i
aiksIFdFQktJVF9UWVBFX1dFQl9OQVZJR0FUSU9OX0FDVElPTiwgV2ViS2l0V2ViTmF2aWdhdGlv
bkFjdGlvblByaXZhdGUpKQotCiBlbnVtICB7CiAgICAgUFJPUF8wLAogCkBAIC0xMTgsNyArMTE2
LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9uYXZpZ2F0aW9uX2FjdGlvbl9zZXRfcHJvcGVy
dHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm8KIAogc3RhdGljIHZvaWQgd2Via2l0X3dlYl9u
YXZpZ2F0aW9uX2FjdGlvbl9pbml0KFdlYktpdFdlYk5hdmlnYXRpb25BY3Rpb24qIG5hdmlnYXRp
b25BY3Rpb24pCiB7Ci0gICAgbmF2aWdhdGlvbkFjdGlvbi0+cHJpdiA9IFdFQktJVF9XRUJfTkFW
SUdBVElPTl9BQ1RJT05fR0VUX1BSSVZBVEUobmF2aWdhdGlvbkFjdGlvbik7CisgICAgbmF2aWdh
dGlvbkFjdGlvbi0+cHJpdiA9IEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURShuYXZpZ2F0aW9u
QWN0aW9uLCBXRUJLSVRfVFlQRV9XRUJfTkFWSUdBVElPTl9BQ1RJT04sIFdlYktpdFdlYk5hdmln
YXRpb25BY3Rpb25Qcml2YXRlKTsKIH0KIAogc3RhdGljIHZvaWQgd2Via2l0X3dlYl9uYXZpZ2F0
aW9uX2FjdGlvbl9maW5hbGl6ZShHT2JqZWN0KiBvYmopCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXR3ZWJwbHVnaW4uY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vi
cGx1Z2luLmNwcAppbmRleCA4NmY3NDM4Li40OTBiYjZmIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXR3ZWJwbHVnaW4uY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYnBsdWdpbi5jcHAKQEAgLTcwLDcgKzcwLDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9w
bHVnaW5fY2xhc3NfaW5pdChXZWJLaXRXZWJQbHVnaW5DbGFzcyoga2xhc3MpCiAKIHN0YXRpYyB2
b2lkIHdlYmtpdF93ZWJfcGx1Z2luX2luaXQoV2ViS2l0V2ViUGx1Z2luICpwbHVnaW4pCiB7Ci0g
ICAgV2ViS2l0V2ViUGx1Z2luUHJpdmF0ZSogcHJpdiA9IFdFQktJVF9XRUJfUExVR0lOX0dFVF9Q
UklWQVRFKHBsdWdpbik7CisgICAgV2ViS2l0V2ViUGx1Z2luUHJpdmF0ZSogcHJpdiA9IEdfVFlQ
RV9JTlNUQU5DRV9HRVRfUFJJVkFURShwbHVnaW4sIFdFQktJVF9UWVBFX1dFQl9QTFVHSU4sIFdl
YktpdFdlYlBsdWdpblByaXZhdGUpOwogICAgIHBsdWdpbi0+cHJpdiA9IHByaXYgPSBuZXcgV2Vi
S2l0V2ViUGx1Z2luUHJpdmF0ZSgpOwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJwbHVnaW5kYXRhYmFzZS5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3
ZWJwbHVnaW5kYXRhYmFzZS5jcHAKaW5kZXggNTg0YWQ5Ny4uYTQ0ZmVkYyAxMDA2NDQKLS0tIGEv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VicGx1Z2luZGF0YWJhc2UuY3BwCisrKyBiL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYnBsdWdpbmRhdGFiYXNlLmNwcApAQCAtNDcsNyArNDcsNyBA
QCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3BsdWdpbl9kYXRhYmFzZV9jbGFzc19pbml0KFdlYktp
dFdlYlBsdWdpbkRhdGFiYXNlQ2xhc3MqCiAKIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfcGx1Z2lu
X2RhdGFiYXNlX2luaXQoV2ViS2l0V2ViUGx1Z2luRGF0YWJhc2UqIGRhdGFiYXNlKQogewotICAg
IFdlYktpdFdlYlBsdWdpbkRhdGFiYXNlUHJpdmF0ZSogcHJpdiA9IFdFQktJVF9XRUJfUExVR0lO
X0RBVEFCQVNFX0dFVF9QUklWQVRFKGRhdGFiYXNlKTsKKyAgICBXZWJLaXRXZWJQbHVnaW5EYXRh
YmFzZVByaXZhdGUqIHByaXYgPSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUoZGF0YWJhc2Us
IFdFQktJVF9UWVBFX1dFQl9QTFVHSU5fREFUQUJBU0UsIFdlYktpdFdlYlBsdWdpbkRhdGFiYXNl
UHJpdmF0ZSk7CiAgICAgZGF0YWJhc2UtPnByaXYgPSBwcml2OwogCiAgICAgcHJpdi0+Y29yZURh
dGFiYXNlID0gUGx1Z2luRGF0YWJhc2U6Omluc3RhbGxlZFBsdWdpbnMoKTsKZGlmZiAtLWdpdCBh
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnBsdWdpbmRhdGFiYXNlcHJpdmF0ZS5oIGIvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2VicGx1Z2luZGF0YWJhc2Vwcml2YXRlLmgKaW5kZXggYWE5
OTU3MC4uMTk5YWVkZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VicGx1
Z2luZGF0YWJhc2Vwcml2YXRlLmgKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VicGx1
Z2luZGF0YWJhc2Vwcml2YXRlLmgKQEAgLTI4LDcgKzI4LDYgQEAgY2xhc3MgUGx1Z2luRGF0YWJh
c2U7CiAKIGV4dGVybiAiQyIgewogCi0jZGVmaW5lIFdFQktJVF9XRUJfUExVR0lOX0RBVEFCQVNF
X0dFVF9QUklWQVRFKG9iaikgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgob2JqKSwgV0VC
S0lUX1RZUEVfV0VCX1BMVUdJTl9EQVRBQkFTRSwgV2ViS2l0V2ViUGx1Z2luRGF0YWJhc2VQcml2
YXRlKSkKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRXZWJQbHVnaW5EYXRhYmFzZVByaXZhdGUgV2Vi
S2l0V2ViUGx1Z2luRGF0YWJhc2VQcml2YXRlOwogc3RydWN0IF9XZWJLaXRXZWJQbHVnaW5EYXRh
YmFzZVByaXZhdGUgewogICAgIFdlYkNvcmU6OlBsdWdpbkRhdGFiYXNlKiBjb3JlRGF0YWJhc2U7
CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJwbHVnaW5wcml2YXRlLmgg
Yi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJwbHVnaW5wcml2YXRlLmgKaW5kZXggNmJlYjQ2
OC4uODg1MzEzZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VicGx1Z2lu
cHJpdmF0ZS5oCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnBsdWdpbnByaXZhdGUu
aApAQCAtMzIsNyArMzIsNiBAQCBXZWJLaXRXZWJQbHVnaW4qIGtpdE5ldyhXZWJDb3JlOjpQbHVn
aW5QYWNrYWdlKiBwYWNrYWdlKTsKIAogZXh0ZXJuICJDIiB7CiAKLSNkZWZpbmUgV0VCS0lUX1dF
Ql9QTFVHSU5fR0VUX1BSSVZBVEUob2JqKSAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChv
YmopLCBXRUJLSVRfVFlQRV9XRUJfUExVR0lOLCBXZWJLaXRXZWJQbHVnaW5Qcml2YXRlKSkKIHR5
cGVkZWYgc3RydWN0IF9XZWJLaXRXZWJQbHVnaW5Qcml2YXRlIFdlYktpdFdlYlBsdWdpblByaXZh
dGU7CiBzdHJ1Y3QgX1dlYktpdFdlYlBsdWdpblByaXZhdGUgewogICAgIFJlZlB0cjxXZWJDb3Jl
OjpQbHVnaW5QYWNrYWdlPiBjb3JlUGx1Z2luOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2VicG9saWN5ZGVjaXNpb24uY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2VicG9saWN5ZGVjaXNpb24uY3BwCmluZGV4IGYwOTNiMzkuLjA2YzFmY2IgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnBvbGljeWRlY2lzaW9uLmNwcAorKysgYi9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJwb2xpY3lkZWNpc2lvbi5jcHAKQEAgLTQ2LDggKzQ2LDYg
QEAgc3RydWN0IF9XZWJLaXRXZWJQb2xpY3lEZWNpc2lvblByaXZhdGUgewogICAgIGdib29sZWFu
IGlzQ2FuY2VsbGVkOwogfTsKIAotI2RlZmluZSBXRUJLSVRfV0VCX1BPTElDWV9ERUNJU0lPTl9H
RVRfUFJJVkFURShvYmopICAgIChHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUoKG9iaiksIFdF
QktJVF9UWVBFX1dFQl9QT0xJQ1lfREVDSVNJT04sIFdlYktpdFdlYlBvbGljeURlY2lzaW9uUHJp
dmF0ZSkpCi0KIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfcG9saWN5X2RlY2lzaW9uX2NsYXNzX2lu
aXQoV2ViS2l0V2ViUG9saWN5RGVjaXNpb25DbGFzcyogZGVjaXNpb25DbGFzcykKIHsKICAgICBn
X3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUoZGVjaXNpb25DbGFzcywgc2l6ZW9mKFdlYktpdFdlYlBv
bGljeURlY2lzaW9uUHJpdmF0ZSkpOwpAQCAtNTUsNyArNTMsNyBAQCBzdGF0aWMgdm9pZCB3ZWJr
aXRfd2ViX3BvbGljeV9kZWNpc2lvbl9jbGFzc19pbml0KFdlYktpdFdlYlBvbGljeURlY2lzaW9u
Q2xhc3MqCiAKIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfcG9saWN5X2RlY2lzaW9uX2luaXQoV2Vi
S2l0V2ViUG9saWN5RGVjaXNpb24qIGRlY2lzaW9uKQogewotICAgIGRlY2lzaW9uLT5wcml2ID0g
V0VCS0lUX1dFQl9QT0xJQ1lfREVDSVNJT05fR0VUX1BSSVZBVEUoZGVjaXNpb24pOworICAgIGRl
Y2lzaW9uLT5wcml2ID0gR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKGRlY2lzaW9uLCBXRUJL
SVRfVFlQRV9XRUJfUE9MSUNZX0RFQ0lTSU9OLCBXZWJLaXRXZWJQb2xpY3lEZWNpc2lvblByaXZh
dGUpOwogfQogCiBXZWJLaXRXZWJQb2xpY3lEZWNpc2lvbiogd2Via2l0X3dlYl9wb2xpY3lfZGVj
aXNpb25fbmV3KFdlYktpdFdlYkZyYW1lKiBmcmFtZSwgV2ViQ29yZTo6RnJhbWVQb2xpY3lGdW5j
dGlvbiBmdW5jdGlvbikKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnJl
c291cmNlLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnJlc291cmNlLmNwcAppbmRl
eCA5ZTk3YWI5Li5jMmYzYTE1IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3
ZWJyZXNvdXJjZS5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2VicmVzb3VyY2Uu
Y3BwCkBAIC0yMTcsNyArMjE3LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9yZXNvdXJjZV9z
ZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wX2lkLCBjb24KIAogc3RhdGlj
IHZvaWQgd2Via2l0X3dlYl9yZXNvdXJjZV9pbml0KFdlYktpdFdlYlJlc291cmNlKiB3ZWJSZXNv
dXJjZSkKIHsKLSAgICB3ZWJSZXNvdXJjZS0+cHJpdiA9IFdFQktJVF9XRUJfUkVTT1VSQ0VfR0VU
X1BSSVZBVEUod2ViUmVzb3VyY2UpOworICAgIHdlYlJlc291cmNlLT5wcml2ID0gR19UWVBFX0lO
U1RBTkNFX0dFVF9QUklWQVRFKHdlYlJlc291cmNlLCBXRUJLSVRfVFlQRV9XRUJfUkVTT1VSQ0Us
IFdlYktpdFdlYlJlc291cmNlUHJpdmF0ZSk7CiB9CiAKIC8vIGludGVybmFsIHVzZSBvbmx5CmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJyZXNvdXJjZXByaXZhdGUuaCBi
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnJlc291cmNlcHJpdmF0ZS5oCmluZGV4IDI1ZDUx
YjYuLjJhZTNkMDUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnJlc291
cmNlcHJpdmF0ZS5oCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnJlc291cmNlcHJp
dmF0ZS5oCkBAIC0yOCw3ICsyOCw2IEBACiAKIGV4dGVybiAiQyIgewogCi0jZGVmaW5lIFdFQktJ
VF9XRUJfUkVTT1VSQ0VfR0VUX1BSSVZBVEUob2JqKSAgICAgICAgKEdfVFlQRV9JTlNUQU5DRV9H
RVRfUFJJVkFURSgob2JqKSwgV0VCS0lUX1RZUEVfV0VCX1JFU09VUkNFLCBXZWJLaXRXZWJSZXNv
dXJjZVByaXZhdGUpKQogc3RydWN0IF9XZWJLaXRXZWJSZXNvdXJjZVByaXZhdGUgewogICAgIFdl
YkNvcmU6OkFyY2hpdmVSZXNvdXJjZSogcmVzb3VyY2U7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYnNldHRpbmdzLmNwcAppbmRleCA2NmViYjAxLi45MjM3MGQ3IDEwMDY0NAotLS0gYS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCkBAIC05MTcsNyArOTE3LDcgQEAgc3RhdGljIHZvaWQg
d2Via2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KFdlYktpdFdlYlNldHRpbmdzQ2xhc3MqIGts
YXNzKQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2luaXQoV2ViS2l0V2ViU2V0
dGluZ3MqIHdlYl9zZXR0aW5ncykKIHsKLSAgICB3ZWJfc2V0dGluZ3MtPnByaXYgPSBXRUJLSVRf
V0VCX1NFVFRJTkdTX0dFVF9QUklWQVRFKHdlYl9zZXR0aW5ncyk7CisgICAgd2ViX3NldHRpbmdz
LT5wcml2ID0gR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKHdlYl9zZXR0aW5ncywgV0VCS0lU
X1RZUEVfV0VCX1NFVFRJTkdTLCBXZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUpOwogfQogCiBzdGF0
aWMgRW5jaGFudEJyb2tlciogZ2V0X2VuY2hhbnRfYnJva2VyKCkKZGlmZiAtLWdpdCBhL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2Vidmlldy5jcHAKaW5kZXggYjA2NzAwNy4uZmJmMTRjZCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2Vidmlldy5jcHAKQEAgLTI1MSw3ICsyNTEsNyBAQCBzdGF0aWMgR3RrSU1Db250ZXh0KiB3ZWJr
aXRfd2ViX3ZpZXdfZ2V0X2ltX2NvbnRleHQoV2ViS2l0V2ViVmlldyopOwogc3RhdGljIHZvaWQg
UG9wdXBNZW51UG9zaXRpb25GdW5jKEd0a01lbnUqIG1lbnUsIGdpbnQgKngsIGdpbnQgKnksIGdi
b29sZWFuICpwdXNoSW4sIGdwb2ludGVyIHVzZXJEYXRhKQogewogICAgIFdlYktpdFdlYlZpZXcq
IHZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcodXNlckRhdGEpOwotICAgIFdlYktpdFdlYlZpZXdQcml2
YXRlKiBwcml2ID0gV0VCS0lUX1dFQl9WSUVXX0dFVF9QUklWQVRFKHZpZXcpOworICAgIFdlYktp
dFdlYlZpZXdQcml2YXRlKiBwcml2ID0gdmlldy0+cHJpdjsKICAgICBHZGtTY3JlZW4qIHNjcmVl
biA9IGd0a193aWRnZXRfZ2V0X3NjcmVlbihHVEtfV0lER0VUKHZpZXcpKTsKICAgICBHdGtSZXF1
aXNpdGlvbiBtZW51U2l6ZTsKIApAQCAtMzYzLDcgKzM2Myw3IEBAIHN0YXRpYyBnYm9vbGVhbiB3
ZWJraXRfd2ViX3ZpZXdfZm9yd2FyZF9jb250ZXh0X21lbnVfZXZlbnQoV2ViS2l0V2ViVmlldyog
d2ViVmllCiAgICAgaWYgKCFpdGVtcykKICAgICAgICAgcmV0dXJuIEZBTFNFOwogCi0gICAgV2Vi
S2l0V2ViVmlld1ByaXZhdGUqIHByaXYgPSBXRUJLSVRfV0VCX1ZJRVdfR0VUX1BSSVZBVEUod2Vi
Vmlldyk7CisgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHByaXYgPSB3ZWJWaWV3LT5wcml2Owog
ICAgIHByaXYtPmN1cnJlbnRNZW51ID0gbWVudTsKICAgICBwcml2LT5sYXN0UG9wdXBYUG9zaXRp
b24gPSBldmVudC5nbG9iYWxYKCk7CiAgICAgcHJpdi0+bGFzdFBvcHVwWVBvc2l0aW9uID0gZXZl
bnQuZ2xvYmFsWSgpOwpAQCAtMTUxMSw3ICsxNTExLDcgQEAgc3RhdGljIEludFBvaW50IGdsb2Jh
bFBvaW50Rm9yQ2xpZW50UG9pbnQoR2RrV2luZG93KiB3aW5kb3csIGNvbnN0IEludFBvaW50JiBj
bGkKIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19kcmFnX2VuZChHdGtXaWRnZXQqIHdpZGdl
dCwgR2RrRHJhZ0NvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgV2ViS2l0V2ViVmlldyogd2ViVmll
dyA9IFdFQktJVF9XRUJfVklFVyh3aWRnZXQpOwotICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiBw
cml2ID0gV0VCS0lUX1dFQl9WSUVXX0dFVF9QUklWQVRFKHdlYlZpZXcpOworICAgIFdlYktpdFdl
YlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmlldy0+cHJpdjsKIAogICAgIC8vIFRoaXMgbWlnaHQg
aGFwcGVuIGlmIGEgZHJhZyBpcyBzdGlsbCBpbiBwcm9ncmVzcyBhZnRlciBhIFdlYktpdFdlYlZp
ZXcKICAgICAvLyBpcyBkaXNwb3NlZCBhbmQgYmVmb3JlIGl0IGlzIGZpbmFsaXplZC4KQEAgLTE1
NDksNyArMTU0OSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19kcmFnX2VuZChHdGtX
aWRnZXQqIHdpZGdldCwgR2RrRHJhZ0NvbnRleHQqIGNvbnRleHQpCiAKIHN0YXRpYyB2b2lkIHdl
YmtpdF93ZWJfdmlld19kcmFnX2RhdGFfZ2V0KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtEcmFnQ29u
dGV4dCogY29udGV4dCwgR3RrU2VsZWN0aW9uRGF0YSogc2VsZWN0aW9uRGF0YSwgZ3VpbnQgaW5m
bywgZ3VpbnQpCiB7Ci0gICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHByaXYgPSBXRUJLSVRfV0VC
X1ZJRVdfR0VUX1BSSVZBVEUoV0VCS0lUX1dFQl9WSUVXKHdpZGdldCkpOworICAgIFdlYktpdFdl
YlZpZXdQcml2YXRlKiBwcml2ID0gV0VCS0lUX1dFQl9WSUVXKHdpZGdldCktPnByaXY7CiAKICAg
ICAvLyBUaGlzIG1pZ2h0IGhhcHBlbiBpZiBhIGRyYWcgaXMgc3RpbGwgaW4gcHJvZ3Jlc3MgYWZ0
ZXIgYSBXZWJLaXRXZWJWaWV3CiAgICAgLy8gaXMgZGlwb3NlZCBhbmQgYmVmb3JlIGl0IGlzIGZp
bmFsaXplZC4KQEAgLTE2ODYsNyArMTY4Niw3IEBAIHN0YXRpYyBnYm9vbGVhbiB3ZWJraXRfd2Vi
X3ZpZXdfZHJhZ19kcm9wKEd0a1dpZGdldCogd2lkZ2V0LCBHZGtEcmFnQ29udGV4dCogY29uCiAj
aWYgR1RLX0NIRUNLX1ZFUlNJT04oMiwgMTIsIDApCiBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0X3dl
Yl92aWV3X3F1ZXJ5X3Rvb2x0aXAoR3RrV2lkZ2V0ICp3aWRnZXQsIGdpbnQgeCwgZ2ludCB5LCBn
Ym9vbGVhbiBrZXlib2FyZF9tb2RlLCBHdGtUb29sdGlwICp0b29sdGlwKQogewotICAgIFdlYktp
dFdlYlZpZXdQcml2YXRlKiBwcml2ID0gV0VCS0lUX1dFQl9WSUVXX0dFVF9QUklWQVRFKHdpZGdl
dCk7CisgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHByaXYgPSBXRUJLSVRfV0VCX1ZJRVcod2lk
Z2V0KS0+cHJpdjsKIAogICAgIGlmIChrZXlib2FyZF9tb2RlKSB7CiAgICAgICAgIFdlYktpdFdl
YlZpZXcqIHdlYlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVcod2lkZ2V0KTsKQEAgLTM0NTcsNyArMzQ1
Nyw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19zZXR0aW5nc19ub3RpZnkoV2ViS2l0
V2ViU2V0dGluZ3MqIHdlYlNldHRpbmdzLCBHUGFyCiAKIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJf
dmlld19pbml0KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiB7Ci0gICAgV2ViS2l0V2ViVmlld1By
aXZhdGUqIHByaXYgPSBXRUJLSVRfV0VCX1ZJRVdfR0VUX1BSSVZBVEUod2ViVmlldyk7CisgICAg
V2ViS2l0V2ViVmlld1ByaXZhdGUqIHByaXYgPSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUo
d2ViVmlldywgV0VCS0lUX1RZUEVfV0VCX1ZJRVcsIFdlYktpdFdlYlZpZXdQcml2YXRlKTsKICAg
ICB3ZWJWaWV3LT5wcml2ID0gcHJpdjsKICAgICAvLyBUaGlzIGlzIHRoZSBwbGFjZW1lbnQgbmV3
IHN5bnRheDogaHR0cDovL3d3dy5wYXJhc2hpZnQuY29tL2MrKy1mYXEtbGl0ZS9kdG9ycy5odG1s
I2ZhcS0xMS4xMAogICAgIC8vIEl0IGFsbG93cyB1cyB0byBjYWxsIGEgY29uc3RydWN0b3Igb24g
bWFudWFsbHkgYWxsb2NhdGVkIGxvY2F0aW9ucyBpbiBtZW1vcnkuIFdlIG11c3QgdXNlIGl0CmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ3aW5kb3dmZWF0dXJlcy5jcHAg
Yi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ3aW5kb3dmZWF0dXJlcy5jcHAKaW5kZXggZTVk
NjViZC4uZGRjNjU3ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vid2lu
ZG93ZmVhdHVyZXMuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYndpbmRvd2Zl
YXR1cmVzLmNwcApAQCAtMjc2LDcgKzI3Niw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfd2lu
ZG93X2ZlYXR1cmVzX2NsYXNzX2luaXQoV2ViS2l0V2ViV2luZG93RmVhdHVyZXNDbGFzcyoKIAog
c3RhdGljIHZvaWQgd2Via2l0X3dlYl93aW5kb3dfZmVhdHVyZXNfaW5pdChXZWJLaXRXZWJXaW5k
b3dGZWF0dXJlcyogd2ViX3dpbmRvd19mZWF0dXJlcykKIHsKLSAgICB3ZWJfd2luZG93X2ZlYXR1
cmVzLT5wcml2ID0gV0VCS0lUX1dFQl9XSU5ET1dfRkVBVFVSRVNfR0VUX1BSSVZBVEUod2ViX3dp
bmRvd19mZWF0dXJlcyk7CisgICAgd2ViX3dpbmRvd19mZWF0dXJlcy0+cHJpdiA9IEdfVFlQRV9J
TlNUQU5DRV9HRVRfUFJJVkFURSh3ZWJfd2luZG93X2ZlYXR1cmVzLCBXRUJLSVRfVFlQRV9XRUJf
V0lORE9XX0ZFQVRVUkVTLCBXZWJLaXRXZWJXaW5kb3dGZWF0dXJlc1ByaXZhdGUpOwogfQogCiBz
dGF0aWMgdm9pZCB3ZWJraXRfd2ViX3dpbmRvd19mZWF0dXJlc19zZXRfcHJvcGVydHkoR09iamVj
dCogb2JqZWN0LCBndWludCBwcm9wX2lkLCBjb25zdCBHVmFsdWUqIHZhbHVlLCBHUGFyYW1TcGVj
KiBwc3BlYykK
</data>

          </attachment>
      

    </bug>

</bugzilla>