<?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>156714</bug_id>
          
          <creation_ts>2016-04-18 13:34:35 -0700</creation_ts>
          <short_desc>Swipe view gesture should be reversed in right-to-left contexts</short_desc>
          <delta_ts>2016-04-18 16:00:19 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>mrobinson</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1184793</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-04-18 13:34:35 -0700</bug_when>
    <thetext>Swipe view gesture should be reversed in right-to-left contexts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184794</commentid>
    <comment_count>1</comment_count>
      <attachid>276662</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-04-18 13:34:55 -0700</bug_when>
    <thetext>Created attachment 276662
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184795</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-18 13:36:32 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184796</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-18 13:36:43 -0700</bug_when>
    <thetext>Attachment 276662 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/WebPageProxy.h:1107:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 1 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184816</commentid>
    <comment_count>4</comment_count>
      <attachid>276672</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-04-18 14:35:36 -0700</bug_when>
    <thetext>Created attachment 276672
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184818</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-18 14:38:25 -0700</bug_when>
    <thetext>Attachment 276672 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/UserInterfaceLayoutDirection.h:31:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 1 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184827</commentid>
    <comment_count>6</comment_count>
      <attachid>276673</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-04-18 14:58:20 -0700</bug_when>
    <thetext>Created attachment 276673
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184829</commentid>
    <comment_count>7</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-04-18 15:03:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/24249978&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184847</commentid>
    <comment_count>8</comment_count>
      <attachid>276673</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-18 16:00:14 -0700</bug_when>
    <thetext>Comment on attachment 276673
Patch

Clearing flags on attachment: 276673

Committed r199695: &lt;http://trac.webkit.org/changeset/199695&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184848</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-18 16:00:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276662</attachid>
            <date>2016-04-18 13:34:55 -0700</date>
            <delta_ts>2016-04-18 14:35:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156714-20160418133513.patch</filename>
            <type>text/plain</type>
            <size>16079</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDJmZGVjNzkxNDBhMzYy
ODBlNzcwN2VkMjYyMjAxYzI1Yzg3MGVkZS4uZTMzYmE0ZTQ4NDZjMzkzOTJjYjZkMGNlOTRiYmQ0
NmEyYTY4ZGU4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE2LTA0LTE4ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFN3aXBlIHZpZXcg
Z2VzdHVyZSBzaG91bGQgYmUgcmV2ZXJzZWQgaW4gcmlnaHQtdG8tbGVmdCBjb250ZXh0cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2NzE0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6dXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbik6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6dXNlckludGVyZmFjZUxh
eW91dERpcmVjdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW06CisgICAgICAgIChX
ZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjp1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKToKKyAg
ICAgICAgUGx1bWIgUlRMLW5lc3MgdGhyb3VnaCB0byBXZWJQYWdlUHJveHkuCisgICAgICAgIFdl
IGxvb2sgYXQgdGhlIFdLKFdlYilWaWV3J3MgVUkgbGF5b3V0IGRpcmVjdGlvbi4KKyAgICAgICAg
Rm9yIG90aGVyIHBsYXRmb3Jtcywgd2UganVzdCBhc3N1bWUgTFRSLgorCisgICAgICAgICogVUlQ
cm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
bWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6Vmlld0dl
c3R1cmVDb250cm9sbGVyOjpQZW5kaW5nU3dpcGVUcmFja2VyOjpzY3JvbGxFdmVudENhbkJlY29t
ZVN3aXBlKToKKyAgICAgICAgRGVjaWRlIHdoaWNoIHdheSB0byBzd2lwZSAoYW5kIHdoaWNoIHdh
eSB0byBsb29rIGZvciBiYWNrLWZvcndhcmQgaXRlbXMpCisgICAgICAgIGJhc2VkIG9uIHRoZSBX
ZWJQYWdlUHJveHkncyByZXBvcnRlZCBSVExuZXNzLgorCisgICAgICAgIChXZWJLaXQ6OlZpZXdH
ZXN0dXJlQ29udHJvbGxlcjo6aXNQaHlzaWNhbGx5U3dpcGluZ0xlZnQpOgorICAgICAgICAiQmFj
ayIgbWVhbnMgInN3aXBpbmcgbGVmdCIgaW4gTFRSIGFuZCAic3dpcGluZyByaWdodCIgaW4gUlRM
LgorCisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6dHJhY2tTd2lwZUdl
c3R1cmUpOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmRldGVybWlu
ZUxheWVyQWRqYWNlbnRUb1NuYXBzaG90Rm9yUGFyZW50KToKKyAgICAgICAgKFdlYktpdDo6Vmll
d0dlc3R1cmVDb250cm9sbGVyOjpiZWdpblN3aXBlR2VzdHVyZSk6CisgICAgICAgIChXZWJLaXQ6
OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6aGFuZGxlU3dpcGVHZXN0dXJlKToKKyAgICAgICAgTWFr
ZSB0aGluZ3MgdGhhdCB3ZXJlIGVxdWF0aW5nICJiYWNrIiB3aXRoICJsZWZ0IiBpbnN0ZWFkIGNo
ZWNrIGlzUGh5c2ljYWxseVN3aXBpbmdMZWZ0LgorCiAyMDE2LTA0LTE4ICBCcmlhbiBCdXJnICA8
YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBBdXRvbWF0aW9uOiBwcm92aWRlIGRldGFp
bGVkIGVycm9yIG1lc3NhZ2VzIHdoZW4gYW4gYXV0b21hdGlvbiBjb21tYW5kIGZhaWxzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAppbmRl
eCA3MDczMmJlM2Q1MDVlZTdmMmE4YWE4ZWRmODYwMGMxNjYwZDExZWJhLi43MzUyNWI0OGM2ZmU2
ZDU5MTgyNzMwN2EyZDk3ZmI5YTllNWQzYWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTE0Miw2ICsxNDIsOCBAQCBwcml2
YXRlOgogICAgIGJvb2wgZGVjaWRlUG9saWN5Rm9ySW5zdGFsbE1pc3NpbmdNZWRpYVBsdWdpbnNQ
ZXJtaXNzaW9uUmVxdWVzdChJbnN0YWxsTWlzc2luZ01lZGlhUGx1Z2luc1Blcm1pc3Npb25SZXF1
ZXN0Jikgb3ZlcnJpZGU7CiAjZW5kaWYKIAorICAgIFVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rp
b24gdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpIG92ZXJyaWRlIHsgcmV0dXJuIFVzZXJJ
bnRlcmZhY2VMYXlvdXREaXJlY3Rpb246OkxUUjsgfQorCiAgICAgLy8gTWVtYmVycyBvZiBQYWdl
Q2xpZW50SW1wbCBjbGFzcwogICAgIEd0a1dpZGdldCogbV92aWV3V2lkZ2V0OwogICAgIERlZmF1
bHRVbmRvQ29udHJvbGxlciBtX3VuZG9Db250cm9sbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmgKaW5kZXggOGIyMWQ3ZjE4MjAzMWQwMGZmNGU4OGViZWE4NDRiNWM4ZGJiYTFj
My4uYjYxYTMzNWUzZDFjNjFmMzUyMzNhNjRhYTk1ODM5NzNlMjNmNzZkOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0zNjMsNiArMzYzLDggQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKSA9IDA7CiAKICAgICB2aXJ0
dWFsIGJvb2wgd2luZG93SXNGcm9udFdpbmRvd1VuZGVyTW91c2UoY29uc3QgTmF0aXZlV2ViTW91
c2VFdmVudCYpIHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICB2aXJ0dWFsIFdlYlBhZ2VQcm94eTo6
VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9u
KCkgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDdhM2UzZWYzZWQwMDVkOWQ3MjZhYTZlMTc0MWQ1
MzYwZGY3M2QwZTMuLmRmNGYxNmRiOGZjMDYwMGMyMjFjYzVkOGJkZmE4YjYxNjVmOTllMjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC02Mjc1LDQgKzYy
NzUsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0UmVzb3VyY2VDYWNoaW5nRGlzYWJsZWQoYm9v
bCBkaXNhYmxlZCkKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldFJl
c291cmNlQ2FjaGluZ0Rpc2FibGVkKGRpc2FibGVkKSwgbV9wYWdlSUQpOwogfQogCitXZWJQYWdl
UHJveHk6OlVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gV2ViUGFnZVByb3h5Ojp1c2VySW50
ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCkKK3sKKyAgICByZXR1cm4gbV9wYWdlQ2xpZW50LnVzZXJJ
bnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYjFjMDg4NzViMjUwODQy
YWVmNWE4MjA2MTQ1YjMzODkzN2EwNzUyYS4uMjYyMjRjZDVmMTg4MGUzMWUwMDA3YTc3NTQ3NGUz
ZmViOTU4MzNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAt
MTEwNCw2ICsxMTA0LDkgQEAgcHVibGljOgogICAgIGJvb2wgaXNSZXNvdXJjZUNhY2hpbmdEaXNh
YmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXNvdXJjZUNhY2hpbmdEaXNhYmxlZDsgfQogICAg
IHZvaWQgc2V0UmVzb3VyY2VDYWNoaW5nRGlzYWJsZWQoYm9vbCk7CiAKKyAgICBlbnVtIGNsYXNz
IFVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24geyBMVFIsIFJUTCB9OworICAgIFVzZXJJbnRl
cmZhY2VMYXlvdXREaXJlY3Rpb24gdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpOworCiBw
cml2YXRlOgogICAgIFdlYlBhZ2VQcm94eShQYWdlQ2xpZW50JiwgV2ViUHJvY2Vzc1Byb3h5Jiwg
dWludDY0X3QgcGFnZUlELCBSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJik7CiAgICAgdm9p
ZCBwbGF0Zm9ybUluaXRpYWxpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCA5MDdiMTdkOGRiZTE5NTkzYWY0ODgzMTgyMTBj
MzczOGYxMmNjOGZiLi5iZGMyN2YyMzkxNzZjMzc1NjZkYzIzNTE0MDI4YzA0ZWNiYjFkNzE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5o
CkBAIC0xOTMsNiArMTkzLDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZGlkUmVzdG9yZVNjcm9s
bFBvc2l0aW9uKCkgb3ZlcnJpZGU7CiAKKyAgICBXZWJQYWdlUHJveHk6OlVzZXJJbnRlcmZhY2VM
YXlvdXREaXJlY3Rpb24gdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpIG92ZXJyaWRlOwor
CiAgICAgV0tDb250ZW50VmlldyAqbV9jb250ZW50VmlldzsKICAgICBXS1dlYlZpZXcgKm1fd2Vi
VmlldzsKICAgICBSZXRhaW5QdHI8V0tFZGl0b3JVbmRvVGFyZ2V0T2JqQz4gbV91bmRvVGFyZ2V0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
bW0KaW5kZXggNmNmN2YxMTMyMTdmMGUwMDExODMwOTU1MjJlYTg2NTU3ZDRmZDM4Mi4uYzRhMTQ4
NTIyODMyNzAzMDJiNDM5ODMyOTA0ZDcwZWY1NmRlNWMzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC03NDcsNiArNzQ3LDEz
IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigpCiB7CiB9
CiAKK1dlYlBhZ2VQcm94eTo6VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiBQYWdlQ2xpZW50
SW1wbDo6dXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpCit7CisgICAgaWYgKCFtX3dlYlZp
ZXcpCisgICAgICAgIHJldHVybiBXZWJQYWdlUHJveHk6OlVzZXJJbnRlcmZhY2VMYXlvdXREaXJl
Y3Rpb246OkxUUjsKKyAgICByZXR1cm4gKFtVSVZpZXcgdXNlckludGVyZmFjZUxheW91dERpcmVj
dGlvbkZvclNlbWFudGljQ29udGVudEF0dHJpYnV0ZTpbbV93ZWJWaWV3IHNlbWFudGljQ29udGVu
dEF0dHJpYnV0ZV1dID09IFVJVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbkxlZnRUb1JpZ2h0
KSA/IFdlYlBhZ2VQcm94eTo6VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbjo6TFRSIDogV2Vi
UGFnZVByb3h5OjpVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uOjpSVEw7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oCmluZGV4IDY0MDY4ZmUzMGYwNjcx
MTBkMWE5OTFjMjhlMDEyYjI2NGMzMWQzNjUuLjMxMTYyYThiOGNmMWRkMWU3ZTdjNzFjNmM1ODk3
NDcwMWMzN2E5ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsLmgKQEAgLTIyMCw2ICsyMjAsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc3RhcnRXaW5k
b3dEcmFnKCkgb3ZlcnJpZGU7CiAgICAgTlNXaW5kb3cgKnBsYXRmb3JtV2luZG93KCkgb3ZlcnJp
ZGU7CiAKKyAgICBXZWJQYWdlUHJveHk6OlVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gdXNl
ckludGVyZmFjZUxheW91dERpcmVjdGlvbigpIG92ZXJyaWRlOworCiAjaWYgV0tfQVBJX0VOQUJM
RUQKICAgICBOU1ZpZXcgKmluc3BlY3RvckF0dGFjaG1lbnRWaWV3KCkgb3ZlcnJpZGU7CiAgICAg
X1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkgKnJlbW90ZU9iamVjdFJlZ2lzdHJ5KCkgb3ZlcnJpZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBs
Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQppbmRl
eCBmZWE0Y2Y1ODM3YTE1YmQwODE3OTUwYjc3MmU0MDI1Y2UxMWNmNGI5Li40NjYzZDZiZDM5YTIz
NzcxNGVkNjQ0OTdiZjQ0NWFjNjQ3Yjg2ZGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTg0MCw2ICs4NDAsMTMgQEAgYm9vbCBQYWdl
Q2xpZW50SW1wbDo6d2luZG93SXNGcm9udFdpbmRvd1VuZGVyTW91c2UoY29uc3QgTmF0aXZlV2Vi
TW91c2VFdmVudCYgZXYKICAgICByZXR1cm4gbV9pbXBsLT53aW5kb3dJc0Zyb250V2luZG93VW5k
ZXJNb3VzZShldmVudC5uYXRpdmVFdmVudCgpKTsKIH0KIAorV2ViUGFnZVByb3h5OjpVc2VySW50
ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIFBhZ2VDbGllbnRJbXBsOjp1c2VySW50ZXJmYWNlTGF5b3V0
RGlyZWN0aW9uKCkKK3sKKyAgICBpZiAoIW1fdmlldykKKyAgICAgICAgcmV0dXJuIFdlYlBhZ2VQ
cm94eTo6VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbjo6TFRSOworICAgIHJldHVybiAobV92
aWV3LnVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gPT0gTlNVc2VySW50ZXJmYWNlTGF5b3V0
RGlyZWN0aW9uTGVmdFRvUmlnaHQpID8gV2ViUGFnZVByb3h5OjpVc2VySW50ZXJmYWNlTGF5b3V0
RGlyZWN0aW9uOjpMVFIgOiBXZWJQYWdlUHJveHk6OlVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rp
b246OlJUTDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9S
TShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0
dXJlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVy
ZUNvbnRyb2xsZXIuaAppbmRleCA0MTE2OGFhMzQ1ZDdmZDJlNzAyODYyN2EzZDRiOTFkZWIwY2Yx
YzRjLi5iNWIxMTU1ZTM4NjRkOTczZDIyNmY0MWUxYTA5NjE3Y2Q2NWI4ZTY0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyLmgK
QEAgLTEwOSw2ICsxMDksOCBAQCBwdWJsaWM6CiAKICAgICBib29sIHNob3VsZElnbm9yZVBpbm5l
ZFN0YXRlKCkgeyByZXR1cm4gbV9wZW5kaW5nU3dpcGVUcmFja2VyLnNob3VsZElnbm9yZVBpbm5l
ZFN0YXRlKCk7IH0KICAgICB2b2lkIHNldFNob3VsZElnbm9yZVBpbm5lZFN0YXRlKGJvb2wgaWdu
b3JlKSB7IG1fcGVuZGluZ1N3aXBlVHJhY2tlci5zZXRTaG91bGRJZ25vcmVQaW5uZWRTdGF0ZShp
Z25vcmUpOyB9CisKKyAgICBib29sIGlzUGh5c2ljYWxseVN3aXBpbmdMZWZ0KFN3aXBlRGlyZWN0
aW9uKSBjb25zdDsKICNlbHNlCiAgICAgdm9pZCBpbnN0YWxsU3dpcGVIYW5kbGVyKFVJVmlldyAq
Z2VzdHVyZVJlY29nbml6ZXJWaWV3LCBVSVZpZXcgKnN3aXBpbmdWaWV3KTsKICAgICB2b2lkIHNl
dEFsdGVybmF0ZUJhY2tGb3J3YXJkTGlzdFNvdXJjZVZpZXcoV0tXZWJWaWV3ICopOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJN
YWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxl
ck1hYy5tbQppbmRleCA1NTdjZmJkNGQwNGY2NWYyNWM1MjJlODBlNTE3NGZhMDhjOTNmZmU5Li5k
YzA5ZWYwM2ViZjYzYjkwZDM3MWNhYTY2ZmVhOWVlNDQzMGRmYWJjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5t
bQpAQCAtMjk3LDEyICsyOTcsMTkgQEAgYm9vbCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlBlbmRp
bmdTd2lwZVRyYWNrZXI6OnNjcm9sbEV2ZW50Q2FuQmVjb21lU3dpcGUoTlNFdmUKICAgICBib29s
IGlzUGlubmVkVG9MZWZ0ID0gbV9zaG91bGRJZ25vcmVQaW5uZWRTdGF0ZSB8fCBtX3dlYlBhZ2VQ
cm94eS5pc1Bpbm5lZFRvTGVmdFNpZGUoKTsKICAgICBib29sIGlzUGlubmVkVG9SaWdodCA9IG1f
c2hvdWxkSWdub3JlUGlubmVkU3RhdGUgfHwgbV93ZWJQYWdlUHJveHkuaXNQaW5uZWRUb1JpZ2h0
U2lkZSgpOwogCi0gICAgYm9vbCB3aWxsU3dpcGVMZWZ0ID0gZXZlbnQuc2Nyb2xsaW5nRGVsdGFY
ID4gMCAmJiBpc1Bpbm5lZFRvTGVmdCAmJiBtX3dlYlBhZ2VQcm94eS5iYWNrRm9yd2FyZExpc3Qo
KS5iYWNrSXRlbSgpOwotICAgIGJvb2wgd2lsbFN3aXBlUmlnaHQgPSBldmVudC5zY3JvbGxpbmdE
ZWx0YVggPCAwICYmIGlzUGlubmVkVG9SaWdodCAmJiBtX3dlYlBhZ2VQcm94eS5iYWNrRm9yd2Fy
ZExpc3QoKS5mb3J3YXJkSXRlbSgpOwotICAgIGlmICghd2lsbFN3aXBlTGVmdCAmJiAhd2lsbFN3
aXBlUmlnaHQpCisgICAgYm9vbCB3aWxsU3dpcGVCYWNrID0gZmFsc2U7CisgICAgYm9vbCB3aWxs
U3dpcGVGb3J3YXJkID0gZmFsc2U7CisgICAgaWYgKG1fd2ViUGFnZVByb3h5LnVzZXJJbnRlcmZh
Y2VMYXlvdXREaXJlY3Rpb24oKSA9PSBXZWJQYWdlUHJveHk6OlVzZXJJbnRlcmZhY2VMYXlvdXRE
aXJlY3Rpb246OkxUUikgeworICAgICAgICB3aWxsU3dpcGVCYWNrID0gZXZlbnQuc2Nyb2xsaW5n
RGVsdGFYID4gMCAmJiBpc1Bpbm5lZFRvTGVmdCAmJiBtX3dlYlBhZ2VQcm94eS5iYWNrRm9yd2Fy
ZExpc3QoKS5iYWNrSXRlbSgpOworICAgICAgICB3aWxsU3dpcGVGb3J3YXJkID0gZXZlbnQuc2Ny
b2xsaW5nRGVsdGFYIDwgMCAmJiBpc1Bpbm5lZFRvUmlnaHQgJiYgbV93ZWJQYWdlUHJveHkuYmFj
a0ZvcndhcmRMaXN0KCkuZm9yd2FyZEl0ZW0oKTsKKyAgICB9IGVsc2UgeworICAgICAgICB3aWxs
U3dpcGVCYWNrID0gZXZlbnQuc2Nyb2xsaW5nRGVsdGFYIDwgMCAmJiBpc1Bpbm5lZFRvUmlnaHQg
JiYgbV93ZWJQYWdlUHJveHkuYmFja0ZvcndhcmRMaXN0KCkuYmFja0l0ZW0oKTsKKyAgICAgICAg
d2lsbFN3aXBlRm9yd2FyZCA9IGV2ZW50LnNjcm9sbGluZ0RlbHRhWCA+IDAgJiYgaXNQaW5uZWRU
b0xlZnQgJiYgbV93ZWJQYWdlUHJveHkuYmFja0ZvcndhcmRMaXN0KCkuZm9yd2FyZEl0ZW0oKTsK
KyAgICB9CisgICAgaWYgKCF3aWxsU3dpcGVCYWNrICYmICF3aWxsU3dpcGVGb3J3YXJkKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBwb3RlbnRpYWxTd2lwZURpcmVjdGlvbiA9IHdpbGxT
d2lwZUxlZnQgPyBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlN3aXBlRGlyZWN0aW9uOjpCYWNrIDog
Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTd2lwZURpcmVjdGlvbjo6Rm9yd2FyZDsKKyAgICBwb3Rl
bnRpYWxTd2lwZURpcmVjdGlvbiA9IHdpbGxTd2lwZUJhY2sgPyBWaWV3R2VzdHVyZUNvbnRyb2xs
ZXI6OlN3aXBlRGlyZWN0aW9uOjpCYWNrIDogVmlld0dlc3R1cmVDb250cm9sbGVyOjpTd2lwZURp
cmVjdGlvbjo6Rm9yd2FyZDsKIAogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMzk0LDggKzQwMSw5
IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjp0cmFja1N3aXBlR2VzdHVyZShOU0V2ZW50
ICpldmVudCwgU3dpcGVEaXJlY3Rpb24gZGlyCiAKICAgICBtX3dlYlBhZ2VQcm94eS5yZWNvcmRO
YXZpZ2F0aW9uU25hcHNob3QoKTsKIAotICAgIENHRmxvYXQgbWF4UHJvZ3Jlc3MgPSAoZGlyZWN0
aW9uID09IFN3aXBlRGlyZWN0aW9uOjpCYWNrKSA/IDEgOiAwOwotICAgIENHRmxvYXQgbWluUHJv
Z3Jlc3MgPSAoZGlyZWN0aW9uID09IFN3aXBlRGlyZWN0aW9uOjpGb3J3YXJkKSA/IC0xIDogMDsK
KyAgICBCT09MIHN3aXBpbmdMZWZ0ID0gaXNQaHlzaWNhbGx5U3dpcGluZ0xlZnQoZGlyZWN0aW9u
KTsKKyAgICBDR0Zsb2F0IG1heFByb2dyZXNzID0gc3dpcGluZ0xlZnQgPyAxIDogMDsKKyAgICBD
R0Zsb2F0IG1pblByb2dyZXNzID0gIXN3aXBpbmdMZWZ0ID8gLTEgOiAwOwogICAgIFJlZlB0cjxX
ZWJCYWNrRm9yd2FyZExpc3RJdGVtPiB0YXJnZXRJdGVtID0gKGRpcmVjdGlvbiA9PSBTd2lwZURp
cmVjdGlvbjo6QmFjaykgPyBtX3dlYlBhZ2VQcm94eS5iYWNrRm9yd2FyZExpc3QoKS5iYWNrSXRl
bSgpIDogbV93ZWJQYWdlUHJveHkuYmFja0ZvcndhcmRMaXN0KCkuZm9yd2FyZEl0ZW0oKTsKICAg
ICBpZiAoIXRhcmdldEl0ZW0pCiAgICAgICAgIHJldHVybjsKQEAgLTQ3Niw3ICs0ODQsNyBAQCBD
QUxheWVyICpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmRldGVybWluZVNuYXBzaG90TGF5ZXJQYXJl
bnQoKSBjb25zdAogQ0FMYXllciAqVmlld0dlc3R1cmVDb250cm9sbGVyOjpkZXRlcm1pbmVMYXll
ckFkamFjZW50VG9TbmFwc2hvdEZvclBhcmVudChTd2lwZURpcmVjdGlvbiBkaXJlY3Rpb24sIENB
TGF5ZXIgKnNuYXBzaG90TGF5ZXJQYXJlbnQpIGNvbnN0CiB7CiAgICAgLy8gSWYgd2UgaGF2ZSBj
dXN0b20gc3dpcGluZyB2aWV3cywgd2UgYXNzdW1lIHRoYXQgdGhlIHZpZXdzIHdlcmUgcGFzc2Vk
IHRvIHVzIGluIGJhY2stdG8tZnJvbnQgei1vcmRlci4KLSAgICBDQUxheWVyICpsYXllckFkamFj
ZW50VG9TbmFwc2hvdCA9IGRpcmVjdGlvbiA9PSBTd2lwZURpcmVjdGlvbjo6QmFjayA/IG1fY3Vy
cmVudFN3aXBlTGl2ZUxheWVycy5maXJzdCgpLmdldCgpIDogbV9jdXJyZW50U3dpcGVMaXZlTGF5
ZXJzLmxhc3QoKS5nZXQoKTsKKyAgICBDQUxheWVyICpsYXllckFkamFjZW50VG9TbmFwc2hvdCA9
IGlzUGh5c2ljYWxseVN3aXBpbmdMZWZ0KGRpcmVjdGlvbikgPyBtX2N1cnJlbnRTd2lwZUxpdmVM
YXllcnMuZmlyc3QoKS5nZXQoKSA6IG1fY3VycmVudFN3aXBlTGl2ZUxheWVycy5sYXN0KCkuZ2V0
KCk7CiAKICAgICBpZiAobV9jdXJyZW50U3dpcGVMaXZlTGF5ZXJzLnNpemUoKSA9PSAxKQogICAg
ICAgICByZXR1cm4gbGF5ZXJBZGphY2VudFRvU25hcHNob3Q7CkBAIC01OTMsNyArNjAxLDggQEAg
dm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmJlZ2luU3dpcGVHZXN0dXJlKFdlYkJhY2tGb3J3
YXJkTGlzdEl0ZW0qIHRhcmdldEl0ZW0KICAgICAgICAgYXBwbHlEZWJ1Z2dpbmdQcm9wZXJ0aWVz
VG9Td2lwZVZpZXdzKCk7CiAKICAgICBDQUxheWVyICpsYXllckFkamFjZW50VG9TbmFwc2hvdCA9
IGRldGVybWluZUxheWVyQWRqYWNlbnRUb1NuYXBzaG90Rm9yUGFyZW50KGRpcmVjdGlvbiwgc25h
cHNob3RMYXllclBhcmVudCk7Ci0gICAgaWYgKGRpcmVjdGlvbiA9PSBTd2lwZURpcmVjdGlvbjo6
QmFjaykKKyAgICBCT09MIHN3aXBpbmdMZWZ0ID0gaXNQaHlzaWNhbGx5U3dpcGluZ0xlZnQoZGly
ZWN0aW9uKTsKKyAgICBpZiAoc3dpcGluZ0xlZnQpCiAgICAgICAgIFtzbmFwc2hvdExheWVyUGFy
ZW50IGluc2VydFN1YmxheWVyOm1fc3dpcGVMYXllci5nZXQoKSBiZWxvdzpsYXllckFkamFjZW50
VG9TbmFwc2hvdF07CiAgICAgZWxzZQogICAgICAgICBbc25hcHNob3RMYXllclBhcmVudCBpbnNl
cnRTdWJsYXllcjptX3N3aXBlTGF5ZXIuZ2V0KCkgYWJvdmU6bGF5ZXJBZGphY2VudFRvU25hcHNo
b3RdOwpAQCAtNjU3LDcgKzY2Niw3IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpiZWdp
blN3aXBlR2VzdHVyZShXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiB0YXJnZXRJdGVtCiAgICAgICAg
IFttX3N3aXBlU2hhZG93TGF5ZXIgc2V0R2VvbWV0cnlGbGlwcGVkOmdlb21ldHJ5SXNGbGlwcGVk
VG9Sb290XTsKICAgICAgICAgW21fc3dpcGVTaGFkb3dMYXllciBzZXREZWxlZ2F0ZTpbV2ViQWN0
aW9uRGlzYWJsaW5nQ0FMYXllckRlbGVnYXRlIHNoYXJlZF1dOwogCi0gICAgICAgIGlmIChkaXJl
Y3Rpb24gPT0gU3dpcGVEaXJlY3Rpb246OkJhY2spCisgICAgICAgIGlmIChzd2lwaW5nTGVmdCkK
ICAgICAgICAgICAgIFtzbmFwc2hvdExheWVyUGFyZW50IGluc2VydFN1YmxheWVyOm1fc3dpcGVE
aW1taW5nTGF5ZXIuZ2V0KCkgYWJvdmU6bV9zd2lwZUxheWVyLmdldCgpXTsKICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgW3NuYXBzaG90TGF5ZXJQYXJlbnQgaW5zZXJ0U3VibGF5ZXI6bV9zd2lw
ZURpbW1pbmdMYXllci5nZXQoKSBiZWxvdzptX3N3aXBlTGF5ZXIuZ2V0KCldOwpAQCAtNjY2LDEw
ICs2NzUsMTkgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmJlZ2luU3dpcGVHZXN0dXJl
KFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIHRhcmdldEl0ZW0KICAgICB9CiB9CiAKK2Jvb2wgVmll
d0dlc3R1cmVDb250cm9sbGVyOjppc1BoeXNpY2FsbHlTd2lwaW5nTGVmdChTd2lwZURpcmVjdGlv
biBkaXJlY3Rpb24pIGNvbnN0Cit7CisgICAgYm9vbCBpc0xUUiA9IG1fd2ViUGFnZVByb3h5LnVz
ZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oKSA9PSBXZWJQYWdlUHJveHk6OlVzZXJJbnRlcmZh
Y2VMYXlvdXREaXJlY3Rpb246OkxUUjsKKyAgICBib29sIGlzU3dpcGluZ0ZvcndhcmQgPSBkaXJl
Y3Rpb24gPT0gU3dpcGVEaXJlY3Rpb246OkZvcndhcmQ7CisgICAgcmV0dXJuIGlzTFRSICE9IGlz
U3dpcGluZ0ZvcndhcmQ7Cit9CisKIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpoYW5kbGVT
d2lwZUdlc3R1cmUoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSogdGFyZ2V0SXRlbSwgZG91YmxlIHBy
b2dyZXNzLCBTd2lwZURpcmVjdGlvbiBkaXJlY3Rpb24pCiB7CiAgICAgQVNTRVJUKG1fYWN0aXZl
R2VzdHVyZVR5cGUgPT0gVmlld0dlc3R1cmVUeXBlOjpTd2lwZSk7CiAKKyAgICBib29sIHN3aXBp
bmdMZWZ0ID0gaXNQaHlzaWNhbGx5U3dpcGluZ0xlZnQoZGlyZWN0aW9uKTsKKwogICAgIGlmICgh
bV93ZWJQYWdlUHJveHkuZHJhd2luZ0FyZWEoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC02ODEs
NyArNjk5LDcgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmhhbmRsZVN3aXBlR2VzdHVy
ZShXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiB0YXJnZXRJdGUKIAogICAgIGRvdWJsZSBzd2lwaW5n
TGF5ZXJPZmZzZXQgPSBmbG9vcih3aWR0aCAqIHByb2dyZXNzKTsKIAotICAgIGRvdWJsZSBkaW1t
aW5nUHJvZ3Jlc3MgPSAoZGlyZWN0aW9uID09IFN3aXBlRGlyZWN0aW9uOjpCYWNrKSA/IDEgLSBw
cm9ncmVzcyA6IC1wcm9ncmVzczsKKyAgICBkb3VibGUgZGltbWluZ1Byb2dyZXNzID0gc3dpcGlu
Z0xlZnQgPyAxIC0gcHJvZ3Jlc3MgOiAtcHJvZ3Jlc3M7CiAgICAgZGltbWluZ1Byb2dyZXNzID0g
c3RkOjptaW4oMS4sIHN0ZDo6bWF4KGRpbW1pbmdQcm9ncmVzcywgMC4pKTsKICAgICBbbV9zd2lw
ZURpbW1pbmdMYXllciBzZXRPcGFjaXR5OmRpbW1pbmdQcm9ncmVzcyAqIHN3aXBlT3ZlcmxheURp
bW1pbmdPcGFjaXR5XTsKIApAQCAtNjk0LDE5ICs3MTIsMTkgQEAgdm9pZCBWaWV3R2VzdHVyZUNv
bnRyb2xsZXI6OmhhbmRsZVN3aXBlR2VzdHVyZShXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiB0YXJn
ZXRJdGUKICAgICAgICAgW21fc3dpcGVTaGFkb3dMYXllciBzZXRPcGFjaXR5OnN3aXBlT3Zlcmxh
eVNoYWRvd09wYWNpdHldOwogCiAgICAgaWYgKG1fc3dpcGVUcmFuc2l0aW9uU3R5bGUgPT0gU3dp
cGVUcmFuc2l0aW9uU3R5bGU6Ok92ZXJsYXApCi0gICAgICAgIFttX3N3aXBlU2hhZG93TGF5ZXIg
c2V0VHJhbnNmb3JtOkNBVHJhbnNmb3JtM0RNYWtlVHJhbnNsYXRpb24oKGRpcmVjdGlvbiA9PSBT
d2lwZURpcmVjdGlvbjo6QmFjayA/IDAgOiB3aWR0aCkgKyBzd2lwaW5nTGF5ZXJPZmZzZXQsIDAs
IDApXTsKKyAgICAgICAgW21fc3dpcGVTaGFkb3dMYXllciBzZXRUcmFuc2Zvcm06Q0FUcmFuc2Zv
cm0zRE1ha2VUcmFuc2xhdGlvbigoc3dpcGluZ0xlZnQgPyAwIDogd2lkdGgpICsgc3dpcGluZ0xh
eWVyT2Zmc2V0LCAwLCAwKV07CiAKICAgICBpZiAobV9zd2lwZVRyYW5zaXRpb25TdHlsZSA9PSBT
d2lwZVRyYW5zaXRpb25TdHlsZTo6T3ZlcmxhcCkgewotICAgICAgICBpZiAoZGlyZWN0aW9uID09
IFN3aXBlRGlyZWN0aW9uOjpGb3J3YXJkKSB7CisgICAgICAgIGlmICghc3dpcGluZ0xlZnQpIHsK
ICAgICAgICAgICAgIFttX3N3aXBlTGF5ZXIgc2V0VHJhbnNmb3JtOkNBVHJhbnNmb3JtM0RNYWtl
VHJhbnNsYXRpb24od2lkdGggKyBzd2lwaW5nTGF5ZXJPZmZzZXQsIDAsIDApXTsKICAgICAgICAg
ICAgIGRpZE1vdmVTd2lwZVNuYXBzaG90TGF5ZXIoKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBp
ZiAobV9zd2lwZVRyYW5zaXRpb25TdHlsZSA9PSBTd2lwZVRyYW5zaXRpb25TdHlsZTo6UHVzaCkK
LSAgICAgICAgW21fc3dpcGVMYXllciBzZXRUcmFuc2Zvcm06Q0FUcmFuc2Zvcm0zRE1ha2VUcmFu
c2xhdGlvbigoZGlyZWN0aW9uID09IFN3aXBlRGlyZWN0aW9uOjpCYWNrID8gLXdpZHRoIDogd2lk
dGgpICsgc3dpcGluZ0xheWVyT2Zmc2V0LCAwLCAwKV07CisgICAgICAgIFttX3N3aXBlTGF5ZXIg
c2V0VHJhbnNmb3JtOkNBVHJhbnNmb3JtM0RNYWtlVHJhbnNsYXRpb24oKHN3aXBpbmdMZWZ0ID8g
LXdpZHRoIDogd2lkdGgpICsgc3dpcGluZ0xheWVyT2Zmc2V0LCAwLCAwKV07CiAKICAgICBmb3Ig
KGNvbnN0IGF1dG8mIGxheWVyIDogbV9jdXJyZW50U3dpcGVMaXZlTGF5ZXJzKSB7CiAgICAgICAg
IGlmIChtX3N3aXBlVHJhbnNpdGlvblN0eWxlID09IFN3aXBlVHJhbnNpdGlvblN0eWxlOjpPdmVy
bGFwKSB7Ci0gICAgICAgICAgICBpZiAoZGlyZWN0aW9uID09IFN3aXBlRGlyZWN0aW9uOjpCYWNr
KQorICAgICAgICAgICAgaWYgKHN3aXBpbmdMZWZ0KQogICAgICAgICAgICAgICAgIFtsYXllciBz
ZXRUcmFuc2Zvcm06Q0FUcmFuc2Zvcm0zRE1ha2VUcmFuc2xhdGlvbihzd2lwaW5nTGF5ZXJPZmZz
ZXQsIDAsIDApXTsKICAgICAgICAgfSBlbHNlIGlmIChtX3N3aXBlVHJhbnNpdGlvblN0eWxlID09
IFN3aXBlVHJhbnNpdGlvblN0eWxlOjpQdXNoKQogICAgICAgICAgICAgW2xheWVyIHNldFRyYW5z
Zm9ybTpDQVRyYW5zZm9ybTNETWFrZVRyYW5zbGF0aW9uKHN3aXBpbmdMYXllck9mZnNldCwgMCwg
MCldOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276672</attachid>
            <date>2016-04-18 14:35:36 -0700</date>
            <delta_ts>2016-04-18 14:58:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156714-20160418143554.patch</filename>
            <type>text/plain</type>
            <size>18562</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDJmZGVjNzkxNDBhMzYy
ODBlNzcwN2VkMjYyMjAxYzI1Yzg3MGVkZS4uOTZiMjIwOGJkZGQyZDE4NDVjODE4ZDAzMjAwYzdi
MWFmZjNmZjQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE2LTA0LTE4ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFN3aXBlIHZpZXcg
Z2VzdHVyZSBzaG91bGQgYmUgcmV2ZXJzZWQgaW4gcmlnaHQtdG8tbGVmdCBjb250ZXh0cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2NzE0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24uaDog
QWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6dXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbik6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6dXNlckludGVyZmFj
ZUxheW91dERpcmVjdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW06CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjp1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKToK
KyAgICAgICAgUGx1bWIgUlRMLW5lc3MgdGhyb3VnaCB0byBXZWJQYWdlUHJveHkuCisgICAgICAg
IFdlIGxvb2sgYXQgdGhlIFdLKFdlYilWaWV3J3MgVUkgbGF5b3V0IGRpcmVjdGlvbi4KKyAgICAg
ICAgRm9yIG90aGVyIHBsYXRmb3Jtcywgd2UganVzdCBhc3N1bWUgTFRSLgorCisgICAgICAgICog
VUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6Vmll
d0dlc3R1cmVDb250cm9sbGVyOjpQZW5kaW5nU3dpcGVUcmFja2VyOjpzY3JvbGxFdmVudENhbkJl
Y29tZVN3aXBlKToKKyAgICAgICAgRGVjaWRlIHdoaWNoIHdheSB0byBzd2lwZSAoYW5kIHdoaWNo
IHdheSB0byBsb29rIGZvciBiYWNrLWZvcndhcmQgaXRlbXMpCisgICAgICAgIGJhc2VkIG9uIHRo
ZSBXZWJQYWdlUHJveHkncyByZXBvcnRlZCBSVExuZXNzLgorCisgICAgICAgIChXZWJLaXQ6OlZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6aXNQaHlzaWNhbGx5U3dpcGluZ0xlZnQpOgorICAgICAgICAi
QmFjayIgbWVhbnMgInN3aXBpbmcgbGVmdCIgaW4gTFRSIGFuZCAic3dpcGluZyByaWdodCIgaW4g
UlRMLgorCisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6dHJhY2tTd2lw
ZUdlc3R1cmUpOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmRldGVy
bWluZUxheWVyQWRqYWNlbnRUb1NuYXBzaG90Rm9yUGFyZW50KToKKyAgICAgICAgKFdlYktpdDo6
Vmlld0dlc3R1cmVDb250cm9sbGVyOjpiZWdpblN3aXBlR2VzdHVyZSk6CisgICAgICAgIChXZWJL
aXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6aGFuZGxlU3dpcGVHZXN0dXJlKToKKyAgICAgICAg
TWFrZSB0aGluZ3MgdGhhdCB3ZXJlIGVxdWF0aW5nICJiYWNrIiB3aXRoICJsZWZ0IiBpbnN0ZWFk
IGNoZWNrIGlzUGh5c2ljYWxseVN3aXBpbmdMZWZ0LgorCiAyMDE2LTA0LTE4ICBCcmlhbiBCdXJn
ICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBBdXRvbWF0aW9uOiBwcm92aWRlIGRl
dGFpbGVkIGVycm9yIG1lc3NhZ2VzIHdoZW4gYW4gYXV0b21hdGlvbiBjb21tYW5kIGZhaWxzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1w
bC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaApp
bmRleCA3MDczMmJlM2Q1MDVlZTdmMmE4YWE4ZWRmODYwMGMxNjYwZDExZWJhLi43MzUyNWI0OGM2
ZmU2ZDU5MTgyNzMwN2EyZDk3ZmI5YTllNWQzYWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTE0Miw2ICsxNDIsOCBAQCBw
cml2YXRlOgogICAgIGJvb2wgZGVjaWRlUG9saWN5Rm9ySW5zdGFsbE1pc3NpbmdNZWRpYVBsdWdp
bnNQZXJtaXNzaW9uUmVxdWVzdChJbnN0YWxsTWlzc2luZ01lZGlhUGx1Z2luc1Blcm1pc3Npb25S
ZXF1ZXN0Jikgb3ZlcnJpZGU7CiAjZW5kaWYKIAorICAgIFVzZXJJbnRlcmZhY2VMYXlvdXREaXJl
Y3Rpb24gdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpIG92ZXJyaWRlIHsgcmV0dXJuIFVz
ZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb246OkxUUjsgfQorCiAgICAgLy8gTWVtYmVycyBvZiBQ
YWdlQ2xpZW50SW1wbCBjbGFzcwogICAgIEd0a1dpZGdldCogbV92aWV3V2lkZ2V0OwogICAgIERl
ZmF1bHRVbmRvQ29udHJvbGxlciBtX3VuZG9Db250cm9sbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QYWdlQ2xpZW50LmgKaW5kZXggOGIyMWQ3ZjE4MjAzMWQwMGZmNGU4OGViZWE4NDRiNWM4ZGJi
YTFjMy4uZjI1OTAwMjcwNDNiMzBmOTBhZjE5YzRmYTk3MDFiYTI5NjlmMmY1NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0yNyw2ICsyNyw3IEBACiAjZGVmaW5lIFBh
Z2VDbGllbnRfaAogCiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCisjaW5jbHVkZSAiVXNl
ckludGVyZmFjZUxheW91dERpcmVjdGlvbi5oIgogI2luY2x1ZGUgIldlYkNvbG9yUGlja2VyLmgi
CiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51UHJveHku
aCIKQEAgLTM2Myw2ICszNjQsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlc3Rv
cmVTY3JvbGxQb3NpdGlvbigpID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCB3aW5kb3dJc0Zyb250
V2luZG93VW5kZXJNb3VzZShjb25zdCBOYXRpdmVXZWJNb3VzZUV2ZW50JikgeyByZXR1cm4gZmFs
c2U7IH0KKworICAgIHZpcnR1YWwgVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiB1c2VySW50
ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCkgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlckludGVyZmFjZUxheW91
dERpcmVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJJbnRlcmZhY2VMYXlv
dXREaXJlY3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMmVlZTBmNTRjZGJiOWRhZjIzM2Y2NjIwMzM5OTE4
MThiZmY5OTdkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Vz
ZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24uaApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uX2gKKyNkZWZpbmUgVXNlcklu
dGVyZmFjZUxheW91dERpcmVjdGlvbl9oCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIGNs
YXNzIFVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24geyBMVFIsIFJUTCB9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25f
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA3YTNlM2Vm
M2VkMDA1ZDlkNzI2YWE2ZTE3NDFkNTM2MGRmNzNkMGUzLi43NTg5ZmEyNDZlNTg4NGQxMjNjMGZk
OGUwN2ZkYmNlYmY0ZmU0NGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcApAQCAtNjI3NSw0ICs2Mjc1LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNldFJlc291
cmNlQ2FjaGluZ0Rpc2FibGVkKGJvb2wgZGlzYWJsZWQpCiAgICAgbV9wcm9jZXNzLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlOjpTZXRSZXNvdXJjZUNhY2hpbmdEaXNhYmxlZChkaXNhYmxlZCksIG1f
cGFnZUlEKTsKIH0KIAorVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiBXZWJQYWdlUHJveHk6
OnVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oKQoreworICAgIHJldHVybiBtX3BhZ2VDbGll
bnQudXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBiMWMwODg3
NWIyNTA4NDJhZWY1YTgyMDYxNDViMzM4OTM3YTA3NTJhLi5kN2I4MmNhMmRlZGU0YzI0YzQ2ZGY3
YmEyNWRiMmIzNzViMjliOTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSAiUHJvY2Vzc1Rocm90dGxlci5oIgogI2lu
Y2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJTaGFyZWFibGVCaXRtYXAuaCIK
KyNpbmNsdWRlICJVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uLmgiCiAjaW5jbHVkZSAiVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCIKICNpbmNsdWRlICJWaXNpYmxl
Q29udGVudFJlY3RVcGRhdGVJbmZvLmgiCiAjaW5jbHVkZSAiV0tCYXNlLmgiCkBAIC0xMTA0LDYg
KzExMDUsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Jlc291cmNlQ2FjaGluZ0Rpc2FibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9pc1Jlc291cmNlQ2FjaGluZ0Rpc2FibGVkOyB9CiAgICAgdm9pZCBz
ZXRSZXNvdXJjZUNhY2hpbmdEaXNhYmxlZChib29sKTsKIAorICAgIFVzZXJJbnRlcmZhY2VMYXlv
dXREaXJlY3Rpb24gdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpOworCiBwcml2YXRlOgog
ICAgIFdlYlBhZ2VQcm94eShQYWdlQ2xpZW50JiwgV2ViUHJvY2Vzc1Byb3h5JiwgdWludDY0X3Qg
cGFnZUlELCBSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJik7CiAgICAgdm9pZCBwbGF0Zm9y
bUluaXRpYWxpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MuaAppbmRleCA5MDdiMTdkOGRiZTE5NTkzYWY0ODgzMTgyMTBjMzczOGYxMmNj
OGZiLi42MzcwZDNkNzBjY2ExZmMyYzJlMGEyOGNkZWYyNmIzZDI4NGU0OTZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0xOTMs
NiArMTkzLDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9u
KCkgb3ZlcnJpZGU7CiAKKyAgICBVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIHVzZXJJbnRl
cmZhY2VMYXlvdXREaXJlY3Rpb24oKSBvdmVycmlkZTsKKwogICAgIFdLQ29udGVudFZpZXcgKm1f
Y29udGVudFZpZXc7CiAgICAgV0tXZWJWaWV3ICptX3dlYlZpZXc7CiAgICAgUmV0YWluUHRyPFdL
RWRpdG9yVW5kb1RhcmdldE9iakM+IG1fdW5kb1RhcmdldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IDZjZjdmMTEzMjE3ZjBl
MDAxMTgzMDk1NTIyZWE4NjU1N2Q0ZmQzODIuLmQyMjI3MTI2M2RiZTY1NmQwZTMxODkzZWIyOGUz
ZGU2OGU4MGFmMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5tbQpAQCAtNzQ3LDYgKzc0NywxMyBAQCB2b2lkIFBhZ2VDbGllbnRJbXBs
OjpkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKQogewogfQogCitVc2VySW50ZXJmYWNlTGF5b3V0
RGlyZWN0aW9uIFBhZ2VDbGllbnRJbXBsOjp1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCkK
K3sKKyAgICBpZiAoIW1fd2ViVmlldykKKyAgICAgICAgcmV0dXJuIFVzZXJJbnRlcmZhY2VMYXlv
dXREaXJlY3Rpb246OkxUUjsKKyAgICByZXR1cm4gKFtVSVZpZXcgdXNlckludGVyZmFjZUxheW91
dERpcmVjdGlvbkZvclNlbWFudGljQ29udGVudEF0dHJpYnV0ZTpbbV93ZWJWaWV3IHNlbWFudGlj
Q29udGVudEF0dHJpYnV0ZV1dID09IFVJVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbkxlZnRU
b1JpZ2h0KSA/IFVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb246OkxUUiA6IFVzZXJJbnRlcmZh
Y2VMYXlvdXREaXJlY3Rpb246OlJUTDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNl
bmRpZiAvLyBQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsLmgKaW5kZXggNjQwNjhmZTMwZjA2NzExMGQxYTk5MWMyOGUwMTJiMjY0YzMx
ZDM2NS4uNTEyNmU3YjZkOGRmOGM5Mzg5NDM3MmFhYWI4NzA5MTgxM2JkNDI3MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaApAQCAtMjIwLDYgKzIy
MCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdGFydFdpbmRvd0RyYWcoKSBvdmVycmlkZTsKICAg
ICBOU1dpbmRvdyAqcGxhdGZvcm1XaW5kb3coKSBvdmVycmlkZTsKIAorICAgIFVzZXJJbnRlcmZh
Y2VMYXlvdXREaXJlY3Rpb24gdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpIG92ZXJyaWRl
OworCiAjaWYgV0tfQVBJX0VOQUJMRUQKICAgICBOU1ZpZXcgKmluc3BlY3RvckF0dGFjaG1lbnRW
aWV3KCkgb3ZlcnJpZGU7CiAgICAgX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkgKnJlbW90ZU9iamVj
dFJlZ2lzdHJ5KCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9Q
YWdlQ2xpZW50SW1wbC5tbQppbmRleCBmZWE0Y2Y1ODM3YTE1YmQwODE3OTUwYjc3MmU0MDI1Y2Ux
MWNmNGI5Li41ZDkzMDljMDEwNmVjOWE1ODBmMGU3MTUxMDNkY2RiZDlmOGIyNGQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTg0MCw2
ICs4NDAsMTMgQEAgYm9vbCBQYWdlQ2xpZW50SW1wbDo6d2luZG93SXNGcm9udFdpbmRvd1VuZGVy
TW91c2UoY29uc3QgTmF0aXZlV2ViTW91c2VFdmVudCYgZXYKICAgICByZXR1cm4gbV9pbXBsLT53
aW5kb3dJc0Zyb250V2luZG93VW5kZXJNb3VzZShldmVudC5uYXRpdmVFdmVudCgpKTsKIH0KIAor
VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiBQYWdlQ2xpZW50SW1wbDo6dXNlckludGVyZmFj
ZUxheW91dERpcmVjdGlvbigpCit7CisgICAgaWYgKCFtX3ZpZXcpCisgICAgICAgIHJldHVybiBV
c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uOjpMVFI7CisgICAgcmV0dXJuIChtX3ZpZXcudXNl
ckludGVyZmFjZUxheW91dERpcmVjdGlvbiA9PSBOU1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rp
b25MZWZ0VG9SaWdodCkgPyBVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uOjpMVFIgOiBVc2Vy
SW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uOjpSVEw7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKaW5kZXggNDExNjhhYTM0NWQ3ZmQy
ZTcwMjg2MjdhM2Q0YjkxZGViMGNmMWM0Yy4uYjViMTE1NWUzODY0ZDk3M2QyMjZmNDFlMWEwOTYx
N2NkNjViOGU2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3
R2VzdHVyZUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1Zp
ZXdHZXN0dXJlQ29udHJvbGxlci5oCkBAIC0xMDksNiArMTA5LDggQEAgcHVibGljOgogCiAgICAg
Ym9vbCBzaG91bGRJZ25vcmVQaW5uZWRTdGF0ZSgpIHsgcmV0dXJuIG1fcGVuZGluZ1N3aXBlVHJh
Y2tlci5zaG91bGRJZ25vcmVQaW5uZWRTdGF0ZSgpOyB9CiAgICAgdm9pZCBzZXRTaG91bGRJZ25v
cmVQaW5uZWRTdGF0ZShib29sIGlnbm9yZSkgeyBtX3BlbmRpbmdTd2lwZVRyYWNrZXIuc2V0U2hv
dWxkSWdub3JlUGlubmVkU3RhdGUoaWdub3JlKTsgfQorCisgICAgYm9vbCBpc1BoeXNpY2FsbHlT
d2lwaW5nTGVmdChTd2lwZURpcmVjdGlvbikgY29uc3Q7CiAjZWxzZQogICAgIHZvaWQgaW5zdGFs
bFN3aXBlSGFuZGxlcihVSVZpZXcgKmdlc3R1cmVSZWNvZ25pemVyVmlldywgVUlWaWV3ICpzd2lw
aW5nVmlldyk7CiAgICAgdm9pZCBzZXRBbHRlcm5hdGVCYWNrRm9yd2FyZExpc3RTb3VyY2VWaWV3
KFdLV2ViVmlldyAqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
Vmlld0dlc3R1cmVDb250cm9sbGVyTWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMubW0KaW5kZXggNTU3Y2ZiZDRkMDRmNjVmMjVjNTIy
ZTgwZTUxNzRmYTA4YzkzZmZlOS4uZDlmNDNhZmE0Zjc3ZTg4MmVlZjYwYTZmZDgyYWYwZmVlNDE5
MDRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVy
ZUNvbnRyb2xsZXJNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3
R2VzdHVyZUNvbnRyb2xsZXJNYWMubW0KQEAgLTMxLDYgKzMxLDcgQEAKICNpbXBvcnQgIkZyYW1l
TG9hZFN0YXRlLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJOYXRpdmVXZWJXaGVl
bEV2ZW50LmgiCisjaW1wb3J0ICJVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uLmgiCiAjaW1w
b3J0ICJWaWV3R2VzdHVyZUNvbnRyb2xsZXJNZXNzYWdlcy5oIgogI2ltcG9ydCAiVmlld0dlc3R1
cmVHZW9tZXRyeUNvbGxlY3Rvck1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJWaWV3U25hcHNob3RTdG9y
ZS5oIgpAQCAtMjk3LDEyICsyOTgsMTkgQEAgYm9vbCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlBl
bmRpbmdTd2lwZVRyYWNrZXI6OnNjcm9sbEV2ZW50Q2FuQmVjb21lU3dpcGUoTlNFdmUKICAgICBi
b29sIGlzUGlubmVkVG9MZWZ0ID0gbV9zaG91bGRJZ25vcmVQaW5uZWRTdGF0ZSB8fCBtX3dlYlBh
Z2VQcm94eS5pc1Bpbm5lZFRvTGVmdFNpZGUoKTsKICAgICBib29sIGlzUGlubmVkVG9SaWdodCA9
IG1fc2hvdWxkSWdub3JlUGlubmVkU3RhdGUgfHwgbV93ZWJQYWdlUHJveHkuaXNQaW5uZWRUb1Jp
Z2h0U2lkZSgpOwogCi0gICAgYm9vbCB3aWxsU3dpcGVMZWZ0ID0gZXZlbnQuc2Nyb2xsaW5nRGVs
dGFYID4gMCAmJiBpc1Bpbm5lZFRvTGVmdCAmJiBtX3dlYlBhZ2VQcm94eS5iYWNrRm9yd2FyZExp
c3QoKS5iYWNrSXRlbSgpOwotICAgIGJvb2wgd2lsbFN3aXBlUmlnaHQgPSBldmVudC5zY3JvbGxp
bmdEZWx0YVggPCAwICYmIGlzUGlubmVkVG9SaWdodCAmJiBtX3dlYlBhZ2VQcm94eS5iYWNrRm9y
d2FyZExpc3QoKS5mb3J3YXJkSXRlbSgpOwotICAgIGlmICghd2lsbFN3aXBlTGVmdCAmJiAhd2ls
bFN3aXBlUmlnaHQpCisgICAgYm9vbCB3aWxsU3dpcGVCYWNrID0gZmFsc2U7CisgICAgYm9vbCB3
aWxsU3dpcGVGb3J3YXJkID0gZmFsc2U7CisgICAgaWYgKG1fd2ViUGFnZVByb3h5LnVzZXJJbnRl
cmZhY2VMYXlvdXREaXJlY3Rpb24oKSA9PSBVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uOjpM
VFIpIHsKKyAgICAgICAgd2lsbFN3aXBlQmFjayA9IGV2ZW50LnNjcm9sbGluZ0RlbHRhWCA+IDAg
JiYgaXNQaW5uZWRUb0xlZnQgJiYgbV93ZWJQYWdlUHJveHkuYmFja0ZvcndhcmRMaXN0KCkuYmFj
a0l0ZW0oKTsKKyAgICAgICAgd2lsbFN3aXBlRm9yd2FyZCA9IGV2ZW50LnNjcm9sbGluZ0RlbHRh
WCA8IDAgJiYgaXNQaW5uZWRUb1JpZ2h0ICYmIG1fd2ViUGFnZVByb3h5LmJhY2tGb3J3YXJkTGlz
dCgpLmZvcndhcmRJdGVtKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgd2lsbFN3aXBlQmFjayA9
IGV2ZW50LnNjcm9sbGluZ0RlbHRhWCA8IDAgJiYgaXNQaW5uZWRUb1JpZ2h0ICYmIG1fd2ViUGFn
ZVByb3h5LmJhY2tGb3J3YXJkTGlzdCgpLmJhY2tJdGVtKCk7CisgICAgICAgIHdpbGxTd2lwZUZv
cndhcmQgPSBldmVudC5zY3JvbGxpbmdEZWx0YVggPiAwICYmIGlzUGlubmVkVG9MZWZ0ICYmIG1f
d2ViUGFnZVByb3h5LmJhY2tGb3J3YXJkTGlzdCgpLmZvcndhcmRJdGVtKCk7CisgICAgfQorICAg
IGlmICghd2lsbFN3aXBlQmFjayAmJiAhd2lsbFN3aXBlRm9yd2FyZCkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0gICAgcG90ZW50aWFsU3dpcGVEaXJlY3Rpb24gPSB3aWxsU3dpcGVMZWZ0ID8g
Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTd2lwZURpcmVjdGlvbjo6QmFjayA6IFZpZXdHZXN0dXJl
Q29udHJvbGxlcjo6U3dpcGVEaXJlY3Rpb246OkZvcndhcmQ7CisgICAgcG90ZW50aWFsU3dpcGVE
aXJlY3Rpb24gPSB3aWxsU3dpcGVCYWNrID8gVmlld0dlc3R1cmVDb250cm9sbGVyOjpTd2lwZURp
cmVjdGlvbjo6QmFjayA6IFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U3dpcGVEaXJlY3Rpb246OkZv
cndhcmQ7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTM5NCw4ICs0MDIsOSBAQCB2b2lkIFZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6dHJhY2tTd2lwZUdlc3R1cmUoTlNFdmVudCAqZXZlbnQsIFN3
aXBlRGlyZWN0aW9uIGRpcgogCiAgICAgbV93ZWJQYWdlUHJveHkucmVjb3JkTmF2aWdhdGlvblNu
YXBzaG90KCk7CiAKLSAgICBDR0Zsb2F0IG1heFByb2dyZXNzID0gKGRpcmVjdGlvbiA9PSBTd2lw
ZURpcmVjdGlvbjo6QmFjaykgPyAxIDogMDsKLSAgICBDR0Zsb2F0IG1pblByb2dyZXNzID0gKGRp
cmVjdGlvbiA9PSBTd2lwZURpcmVjdGlvbjo6Rm9yd2FyZCkgPyAtMSA6IDA7CisgICAgQk9PTCBz
d2lwaW5nTGVmdCA9IGlzUGh5c2ljYWxseVN3aXBpbmdMZWZ0KGRpcmVjdGlvbik7CisgICAgQ0dG
bG9hdCBtYXhQcm9ncmVzcyA9IHN3aXBpbmdMZWZ0ID8gMSA6IDA7CisgICAgQ0dGbG9hdCBtaW5Q
cm9ncmVzcyA9ICFzd2lwaW5nTGVmdCA/IC0xIDogMDsKICAgICBSZWZQdHI8V2ViQmFja0Zvcndh
cmRMaXN0SXRlbT4gdGFyZ2V0SXRlbSA9IChkaXJlY3Rpb24gPT0gU3dpcGVEaXJlY3Rpb246OkJh
Y2spID8gbV93ZWJQYWdlUHJveHkuYmFja0ZvcndhcmRMaXN0KCkuYmFja0l0ZW0oKSA6IG1fd2Vi
UGFnZVByb3h5LmJhY2tGb3J3YXJkTGlzdCgpLmZvcndhcmRJdGVtKCk7CiAgICAgaWYgKCF0YXJn
ZXRJdGVtKQogICAgICAgICByZXR1cm47CkBAIC00NzYsNyArNDg1LDcgQEAgQ0FMYXllciAqVmll
d0dlc3R1cmVDb250cm9sbGVyOjpkZXRlcm1pbmVTbmFwc2hvdExheWVyUGFyZW50KCkgY29uc3QK
IENBTGF5ZXIgKlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6ZGV0ZXJtaW5lTGF5ZXJBZGphY2VudFRv
U25hcHNob3RGb3JQYXJlbnQoU3dpcGVEaXJlY3Rpb24gZGlyZWN0aW9uLCBDQUxheWVyICpzbmFw
c2hvdExheWVyUGFyZW50KSBjb25zdAogewogICAgIC8vIElmIHdlIGhhdmUgY3VzdG9tIHN3aXBp
bmcgdmlld3MsIHdlIGFzc3VtZSB0aGF0IHRoZSB2aWV3cyB3ZXJlIHBhc3NlZCB0byB1cyBpbiBi
YWNrLXRvLWZyb250IHotb3JkZXIuCi0gICAgQ0FMYXllciAqbGF5ZXJBZGphY2VudFRvU25hcHNo
b3QgPSBkaXJlY3Rpb24gPT0gU3dpcGVEaXJlY3Rpb246OkJhY2sgPyBtX2N1cnJlbnRTd2lwZUxp
dmVMYXllcnMuZmlyc3QoKS5nZXQoKSA6IG1fY3VycmVudFN3aXBlTGl2ZUxheWVycy5sYXN0KCku
Z2V0KCk7CisgICAgQ0FMYXllciAqbGF5ZXJBZGphY2VudFRvU25hcHNob3QgPSBpc1BoeXNpY2Fs
bHlTd2lwaW5nTGVmdChkaXJlY3Rpb24pID8gbV9jdXJyZW50U3dpcGVMaXZlTGF5ZXJzLmZpcnN0
KCkuZ2V0KCkgOiBtX2N1cnJlbnRTd2lwZUxpdmVMYXllcnMubGFzdCgpLmdldCgpOwogCiAgICAg
aWYgKG1fY3VycmVudFN3aXBlTGl2ZUxheWVycy5zaXplKCkgPT0gMSkKICAgICAgICAgcmV0dXJu
IGxheWVyQWRqYWNlbnRUb1NuYXBzaG90OwpAQCAtNTkzLDcgKzYwMiw4IEBAIHZvaWQgVmlld0dl
c3R1cmVDb250cm9sbGVyOjpiZWdpblN3aXBlR2VzdHVyZShXZWJCYWNrRm9yd2FyZExpc3RJdGVt
KiB0YXJnZXRJdGVtCiAgICAgICAgIGFwcGx5RGVidWdnaW5nUHJvcGVydGllc1RvU3dpcGVWaWV3
cygpOwogCiAgICAgQ0FMYXllciAqbGF5ZXJBZGphY2VudFRvU25hcHNob3QgPSBkZXRlcm1pbmVM
YXllckFkamFjZW50VG9TbmFwc2hvdEZvclBhcmVudChkaXJlY3Rpb24sIHNuYXBzaG90TGF5ZXJQ
YXJlbnQpOwotICAgIGlmIChkaXJlY3Rpb24gPT0gU3dpcGVEaXJlY3Rpb246OkJhY2spCisgICAg
Qk9PTCBzd2lwaW5nTGVmdCA9IGlzUGh5c2ljYWxseVN3aXBpbmdMZWZ0KGRpcmVjdGlvbik7Cisg
ICAgaWYgKHN3aXBpbmdMZWZ0KQogICAgICAgICBbc25hcHNob3RMYXllclBhcmVudCBpbnNlcnRT
dWJsYXllcjptX3N3aXBlTGF5ZXIuZ2V0KCkgYmVsb3c6bGF5ZXJBZGphY2VudFRvU25hcHNob3Rd
OwogICAgIGVsc2UKICAgICAgICAgW3NuYXBzaG90TGF5ZXJQYXJlbnQgaW5zZXJ0U3VibGF5ZXI6
bV9zd2lwZUxheWVyLmdldCgpIGFib3ZlOmxheWVyQWRqYWNlbnRUb1NuYXBzaG90XTsKQEAgLTY1
Nyw3ICs2NjcsNyBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6YmVnaW5Td2lwZUdlc3R1
cmUoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSogdGFyZ2V0SXRlbQogICAgICAgICBbbV9zd2lwZVNo
YWRvd0xheWVyIHNldEdlb21ldHJ5RmxpcHBlZDpnZW9tZXRyeUlzRmxpcHBlZFRvUm9vdF07CiAg
ICAgICAgIFttX3N3aXBlU2hhZG93TGF5ZXIgc2V0RGVsZWdhdGU6W1dlYkFjdGlvbkRpc2FibGlu
Z0NBTGF5ZXJEZWxlZ2F0ZSBzaGFyZWRdXTsKIAotICAgICAgICBpZiAoZGlyZWN0aW9uID09IFN3
aXBlRGlyZWN0aW9uOjpCYWNrKQorICAgICAgICBpZiAoc3dpcGluZ0xlZnQpCiAgICAgICAgICAg
ICBbc25hcHNob3RMYXllclBhcmVudCBpbnNlcnRTdWJsYXllcjptX3N3aXBlRGltbWluZ0xheWVy
LmdldCgpIGFib3ZlOm1fc3dpcGVMYXllci5nZXQoKV07CiAgICAgICAgIGVsc2UKICAgICAgICAg
ICAgIFtzbmFwc2hvdExheWVyUGFyZW50IGluc2VydFN1YmxheWVyOm1fc3dpcGVEaW1taW5nTGF5
ZXIuZ2V0KCkgYmVsb3c6bV9zd2lwZUxheWVyLmdldCgpXTsKQEAgLTY2NiwxMCArNjc2LDE5IEBA
IHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpiZWdpblN3aXBlR2VzdHVyZShXZWJCYWNrRm9y
d2FyZExpc3RJdGVtKiB0YXJnZXRJdGVtCiAgICAgfQogfQogCitib29sIFZpZXdHZXN0dXJlQ29u
dHJvbGxlcjo6aXNQaHlzaWNhbGx5U3dpcGluZ0xlZnQoU3dpcGVEaXJlY3Rpb24gZGlyZWN0aW9u
KSBjb25zdAoreworICAgIGJvb2wgaXNMVFIgPSBtX3dlYlBhZ2VQcm94eS51c2VySW50ZXJmYWNl
TGF5b3V0RGlyZWN0aW9uKCkgPT0gVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbjo6TFRSOwor
ICAgIGJvb2wgaXNTd2lwaW5nRm9yd2FyZCA9IGRpcmVjdGlvbiA9PSBTd2lwZURpcmVjdGlvbjo6
Rm9yd2FyZDsKKyAgICByZXR1cm4gaXNMVFIgIT0gaXNTd2lwaW5nRm9yd2FyZDsKK30KKwogdm9p
ZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmhhbmRsZVN3aXBlR2VzdHVyZShXZWJCYWNrRm9yd2Fy
ZExpc3RJdGVtKiB0YXJnZXRJdGVtLCBkb3VibGUgcHJvZ3Jlc3MsIFN3aXBlRGlyZWN0aW9uIGRp
cmVjdGlvbikKIHsKICAgICBBU1NFUlQobV9hY3RpdmVHZXN0dXJlVHlwZSA9PSBWaWV3R2VzdHVy
ZVR5cGU6OlN3aXBlKTsKIAorICAgIGJvb2wgc3dpcGluZ0xlZnQgPSBpc1BoeXNpY2FsbHlTd2lw
aW5nTGVmdChkaXJlY3Rpb24pOworCiAgICAgaWYgKCFtX3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJl
YSgpKQogICAgICAgICByZXR1cm47CiAKQEAgLTY4MSw3ICs3MDAsNyBAQCB2b2lkIFZpZXdHZXN0
dXJlQ29udHJvbGxlcjo6aGFuZGxlU3dpcGVHZXN0dXJlKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0q
IHRhcmdldEl0ZQogCiAgICAgZG91YmxlIHN3aXBpbmdMYXllck9mZnNldCA9IGZsb29yKHdpZHRo
ICogcHJvZ3Jlc3MpOwogCi0gICAgZG91YmxlIGRpbW1pbmdQcm9ncmVzcyA9IChkaXJlY3Rpb24g
PT0gU3dpcGVEaXJlY3Rpb246OkJhY2spID8gMSAtIHByb2dyZXNzIDogLXByb2dyZXNzOworICAg
IGRvdWJsZSBkaW1taW5nUHJvZ3Jlc3MgPSBzd2lwaW5nTGVmdCA/IDEgLSBwcm9ncmVzcyA6IC1w
cm9ncmVzczsKICAgICBkaW1taW5nUHJvZ3Jlc3MgPSBzdGQ6Om1pbigxLiwgc3RkOjptYXgoZGlt
bWluZ1Byb2dyZXNzLCAwLikpOwogICAgIFttX3N3aXBlRGltbWluZ0xheWVyIHNldE9wYWNpdHk6
ZGltbWluZ1Byb2dyZXNzICogc3dpcGVPdmVybGF5RGltbWluZ09wYWNpdHldOwogCkBAIC02OTQs
MTkgKzcxMywxOSBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6aGFuZGxlU3dpcGVHZXN0
dXJlKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIHRhcmdldEl0ZQogICAgICAgICBbbV9zd2lwZVNo
YWRvd0xheWVyIHNldE9wYWNpdHk6c3dpcGVPdmVybGF5U2hhZG93T3BhY2l0eV07CiAKICAgICBp
ZiAobV9zd2lwZVRyYW5zaXRpb25TdHlsZSA9PSBTd2lwZVRyYW5zaXRpb25TdHlsZTo6T3Zlcmxh
cCkKLSAgICAgICAgW21fc3dpcGVTaGFkb3dMYXllciBzZXRUcmFuc2Zvcm06Q0FUcmFuc2Zvcm0z
RE1ha2VUcmFuc2xhdGlvbigoZGlyZWN0aW9uID09IFN3aXBlRGlyZWN0aW9uOjpCYWNrID8gMCA6
IHdpZHRoKSArIHN3aXBpbmdMYXllck9mZnNldCwgMCwgMCldOworICAgICAgICBbbV9zd2lwZVNo
YWRvd0xheWVyIHNldFRyYW5zZm9ybTpDQVRyYW5zZm9ybTNETWFrZVRyYW5zbGF0aW9uKChzd2lw
aW5nTGVmdCA/IDAgOiB3aWR0aCkgKyBzd2lwaW5nTGF5ZXJPZmZzZXQsIDAsIDApXTsKIAogICAg
IGlmIChtX3N3aXBlVHJhbnNpdGlvblN0eWxlID09IFN3aXBlVHJhbnNpdGlvblN0eWxlOjpPdmVy
bGFwKSB7Ci0gICAgICAgIGlmIChkaXJlY3Rpb24gPT0gU3dpcGVEaXJlY3Rpb246OkZvcndhcmQp
IHsKKyAgICAgICAgaWYgKCFzd2lwaW5nTGVmdCkgewogICAgICAgICAgICAgW21fc3dpcGVMYXll
ciBzZXRUcmFuc2Zvcm06Q0FUcmFuc2Zvcm0zRE1ha2VUcmFuc2xhdGlvbih3aWR0aCArIHN3aXBp
bmdMYXllck9mZnNldCwgMCwgMCldOwogICAgICAgICAgICAgZGlkTW92ZVN3aXBlU25hcHNob3RM
YXllcigpOwogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChtX3N3aXBlVHJhbnNpdGlvblN0eWxl
ID09IFN3aXBlVHJhbnNpdGlvblN0eWxlOjpQdXNoKQotICAgICAgICBbbV9zd2lwZUxheWVyIHNl
dFRyYW5zZm9ybTpDQVRyYW5zZm9ybTNETWFrZVRyYW5zbGF0aW9uKChkaXJlY3Rpb24gPT0gU3dp
cGVEaXJlY3Rpb246OkJhY2sgPyAtd2lkdGggOiB3aWR0aCkgKyBzd2lwaW5nTGF5ZXJPZmZzZXQs
IDAsIDApXTsKKyAgICAgICAgW21fc3dpcGVMYXllciBzZXRUcmFuc2Zvcm06Q0FUcmFuc2Zvcm0z
RE1ha2VUcmFuc2xhdGlvbigoc3dpcGluZ0xlZnQgPyAtd2lkdGggOiB3aWR0aCkgKyBzd2lwaW5n
TGF5ZXJPZmZzZXQsIDAsIDApXTsKIAogICAgIGZvciAoY29uc3QgYXV0byYgbGF5ZXIgOiBtX2N1
cnJlbnRTd2lwZUxpdmVMYXllcnMpIHsKICAgICAgICAgaWYgKG1fc3dpcGVUcmFuc2l0aW9uU3R5
bGUgPT0gU3dpcGVUcmFuc2l0aW9uU3R5bGU6Ok92ZXJsYXApIHsKLSAgICAgICAgICAgIGlmIChk
aXJlY3Rpb24gPT0gU3dpcGVEaXJlY3Rpb246OkJhY2spCisgICAgICAgICAgICBpZiAoc3dpcGlu
Z0xlZnQpCiAgICAgICAgICAgICAgICAgW2xheWVyIHNldFRyYW5zZm9ybTpDQVRyYW5zZm9ybTNE
TWFrZVRyYW5zbGF0aW9uKHN3aXBpbmdMYXllck9mZnNldCwgMCwgMCldOwogICAgICAgICB9IGVs
c2UgaWYgKG1fc3dpcGVUcmFuc2l0aW9uU3R5bGUgPT0gU3dpcGVUcmFuc2l0aW9uU3R5bGU6OlB1
c2gpCiAgICAgICAgICAgICBbbGF5ZXIgc2V0VHJhbnNmb3JtOkNBVHJhbnNmb3JtM0RNYWtlVHJh
bnNsYXRpb24oc3dpcGluZ0xheWVyT2Zmc2V0LCAwLCAwKV07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276673</attachid>
            <date>2016-04-18 14:58:20 -0700</date>
            <delta_ts>2016-04-18 16:00:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156714-20160418145838.patch</filename>
            <type>text/plain</type>
            <size>19152</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5NjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDJmZGVjNzkxNDBhMzYy
ODBlNzcwN2VkMjYyMjAxYzI1Yzg3MGVkZS4uNWRmZDNiYTliODdjZDNmZDg0MDgxYzk4OGM4ZTNk
MDA1M2U1YjYxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE2LTA0LTE4ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFN3aXBlIHZpZXcg
Z2VzdHVyZSBzaG91bGQgYmUgcmV2ZXJzZWQgaW4gcmlnaHQtdG8tbGVmdCBjb250ZXh0cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2NzE0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVu
dC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uLmg6
IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OnVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50
SW1wbElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnVzZXJJbnRlcmZh
Y2VMYXlvdXREaXJlY3Rpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudElt
cGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tOgorICAgICAg
ICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6dXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbik6
CisgICAgICAgIFBsdW1iIFJUTC1uZXNzIHRocm91Z2ggdG8gV2ViUGFnZVByb3h5LgorICAgICAg
ICBXZSBsb29rIGF0IHRoZSBXSyhXZWIpVmlldydzIFVJIGxheW91dCBkaXJlY3Rpb24uCisgICAg
ICAgIEZvciBvdGhlciBwbGF0Zm9ybXMsIHdlIGp1c3QgYXNzdW1lIExUUi4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6UGVuZGluZ1N3aXBlVHJhY2tlcjo6c2Nyb2xsRXZlbnRDYW5C
ZWNvbWVTd2lwZSk6CisgICAgICAgIERlY2lkZSB3aGljaCB3YXkgdG8gc3dpcGUgKGFuZCB3aGlj
aCB3YXkgdG8gbG9vayBmb3IgYmFjay1mb3J3YXJkIGl0ZW1zKQorICAgICAgICBiYXNlZCBvbiB0
aGUgV2ViUGFnZVByb3h5J3MgcmVwb3J0ZWQgUlRMbmVzcy4KKworICAgICAgICAoV2ViS2l0OjpW
aWV3R2VzdHVyZUNvbnRyb2xsZXI6OmlzUGh5c2ljYWxseVN3aXBpbmdMZWZ0KToKKyAgICAgICAg
IkJhY2siIG1lYW5zICJzd2lwaW5nIGxlZnQiIGluIExUUiBhbmQgInN3aXBpbmcgcmlnaHQiIGlu
IFJUTC4KKworICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnRyYWNrU3dp
cGVHZXN0dXJlKToKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjpkZXRl
cm1pbmVMYXllckFkamFjZW50VG9TbmFwc2hvdEZvclBhcmVudCk6CisgICAgICAgIChXZWJLaXQ6
OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6YmVnaW5Td2lwZUdlc3R1cmUpOgorICAgICAgICAoV2Vi
S2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmhhbmRsZVN3aXBlR2VzdHVyZSk6CisgICAgICAg
IE1ha2UgdGhpbmdzIHRoYXQgd2VyZSBlcXVhdGluZyAiYmFjayIgd2l0aCAibGVmdCIgaW5zdGVh
ZCBjaGVjayBpc1BoeXNpY2FsbHlTd2lwaW5nTGVmdC4KKwogMjAxNi0wNC0xOCAgQnJpYW4gQnVy
ZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgQXV0b21hdGlvbjogcHJvdmlkZSBk
ZXRhaWxlZCBlcnJvciBtZXNzYWdlcyB3aGVuIGFuIGF1dG9tYXRpb24gY29tbWFuZCBmYWlscwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudElt
cGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgK
aW5kZXggNzA3MzJiZTNkNTA1ZWU3ZjJhOGFhOGVkZjg2MDBjMTY2MGQxMWViYS4uNzM1MjViNDhj
NmZlNmQ1OTE4MjczMDdhMmQ5N2ZiOWE5ZTVkM2FiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCkBAIC0xNDIsNiArMTQyLDggQEAg
cHJpdmF0ZToKICAgICBib29sIGRlY2lkZVBvbGljeUZvckluc3RhbGxNaXNzaW5nTWVkaWFQbHVn
aW5zUGVybWlzc2lvblJlcXVlc3QoSW5zdGFsbE1pc3NpbmdNZWRpYVBsdWdpbnNQZXJtaXNzaW9u
UmVxdWVzdCYpIG92ZXJyaWRlOwogI2VuZGlmCiAKKyAgICBVc2VySW50ZXJmYWNlTGF5b3V0RGly
ZWN0aW9uIHVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oKSBvdmVycmlkZSB7IHJldHVybiBV
c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uOjpMVFI7IH0KKwogICAgIC8vIE1lbWJlcnMgb2Yg
UGFnZUNsaWVudEltcGwgY2xhc3MKICAgICBHdGtXaWRnZXQqIG1fdmlld1dpZGdldDsKICAgICBE
ZWZhdWx0VW5kb0NvbnRyb2xsZXIgbV91bmRvQ29udHJvbGxlcjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGFnZUNsaWVudC5oCmluZGV4IDhiMjFkN2YxODIwMzFkMDBmZjRlODhlYmVhODQ0YjVjOGRi
YmExYzMuLmYyNTkwMDI3MDQzYjMwZjkwYWYxOWM0ZmE5NzAxYmEyOTY5ZjJmNTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBQ
YWdlQ2xpZW50X2gKIAogI2luY2x1ZGUgIlNoYXJlYWJsZUJpdG1hcC5oIgorI2luY2x1ZGUgIlVz
ZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24uaCIKICNpbmNsdWRlICJXZWJDb2xvclBpY2tlci5o
IgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlBvcHVwTWVudVByb3h5
LmgiCkBAIC0zNjMsNiArMzY0LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZXN0
b3JlU2Nyb2xsUG9zaXRpb24oKSA9IDA7CiAKICAgICB2aXJ0dWFsIGJvb2wgd2luZG93SXNGcm9u
dFdpbmRvd1VuZGVyTW91c2UoY29uc3QgTmF0aXZlV2ViTW91c2VFdmVudCYpIHsgcmV0dXJuIGZh
bHNlOyB9CisKKyAgICB2aXJ0dWFsIFVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gdXNlcklu
dGVyZmFjZUxheW91dERpcmVjdGlvbigpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJJbnRlcmZhY2VMYXlv
dXREaXJlY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VySW50ZXJmYWNlTGF5
b3V0RGlyZWN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJlZWUwZjU0Y2RiYjlkYWYyMzNmNjYyMDMzOTkx
ODE4YmZmOTk3ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9V
c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uLmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbl9oCisjZGVmaW5lIFVzZXJJ
bnRlcmZhY2VMYXlvdXREaXJlY3Rpb25faAorCituYW1lc3BhY2UgV2ViS2l0IHsKKworZW51bSBj
bGFzcyBVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIHsgTFRSLCBSVEwgfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9u
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggN2EzZTNl
ZjNlZDAwNWQ5ZDcyNmFhNmUxNzQxZDUzNjBkZjczZDBlMy4uNzU4OWZhMjQ2ZTU4ODRkMTIzYzBm
ZDhlMDdmZGJjZWJmNGZlNDRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKQEAgLTYyNzUsNCArNjI3NSw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRSZXNv
dXJjZUNhY2hpbmdEaXNhYmxlZChib29sIGRpc2FibGVkKQogICAgIG1fcHJvY2Vzcy0+c2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6U2V0UmVzb3VyY2VDYWNoaW5nRGlzYWJsZWQoZGlzYWJsZWQpLCBt
X3BhZ2VJRCk7CiB9CiAKK1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gV2ViUGFnZVByb3h5
Ojp1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCkKK3sKKyAgICByZXR1cm4gbV9wYWdlQ2xp
ZW50LnVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYjFjMDg4
NzViMjUwODQyYWVmNWE4MjA2MTQ1YjMzODkzN2EwNzUyYS4uZDdiODJjYTJkZWRlNGMyNGM0NmRm
N2JhMjVkYjJiMzc1YjI5YjkyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIlByb2Nlc3NUaHJvdHRsZXIuaCIKICNp
bmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgi
CisjaW5jbHVkZSAiVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbi5oIgogI2luY2x1ZGUgIlVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmgiCiAjaW5jbHVkZSAiVmlzaWJs
ZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5oIgogI2luY2x1ZGUgIldLQmFzZS5oIgpAQCAtMTEwNCw2
ICsxMTA1LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNSZXNvdXJjZUNhY2hpbmdEaXNhYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNSZXNvdXJjZUNhY2hpbmdEaXNhYmxlZDsgfQogICAgIHZvaWQg
c2V0UmVzb3VyY2VDYWNoaW5nRGlzYWJsZWQoYm9vbCk7CiAKKyAgICBVc2VySW50ZXJmYWNlTGF5
b3V0RGlyZWN0aW9uIHVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oKTsKKwogcHJpdmF0ZToK
ICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYsIFdlYlByb2Nlc3NQcm94eSYsIHVpbnQ2NF90
IHBhZ2VJRCwgUmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpOwogICAgIHZvaWQgcGxhdGZv
cm1Jbml0aWFsaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZs
L1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5oCmluZGV4
IGI2NDAxNDBhMDkwMTNiY2VlNmY5ZjhmN2RiMDdhZWIxODA3MWRiNTcuLjkzODhmZTllYjg4NTMz
NTkxOWM4YTQwNTdiNTk3ODQ0ZWExOTk0YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvV2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwv
V2ViVmlldy5oCkBAIC0yNjEsNiArMjYxLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGJlZ2FuRXhp
dEZ1bGxTY3JlZW4oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKSBvdmVycmlkZSB7IH0KICNlbmRpZgogCisgICAgVXNlckludGVyZmFjZUxheW91dERpcmVj
dGlvbiB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCkgb3ZlcnJpZGUgeyByZXR1cm4gVXNl
ckludGVyZmFjZUxheW91dERpcmVjdGlvbjo6TFRSOyB9CisKICAgICBFd2tWaWV3KiBtX2V3a1Zp
ZXc7CiAKICAgICBXZWJWaWV3Q2xpZW50IG1fY2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IDkwN2IxN2Q4ZGJlMTk1OTNh
ZjQ4ODMxODIxMGMzNzM4ZjEyY2M4ZmIuLjYzNzBkM2Q3MGNjYTFmYzJjMmUwYTI4Y2RlZjI2YjNk
Mjg0ZTQ5NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLmgKQEAgLTE5Myw2ICsxOTMsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBkaWRS
ZXN0b3JlU2Nyb2xsUG9zaXRpb24oKSBvdmVycmlkZTsKIAorICAgIFVzZXJJbnRlcmZhY2VMYXlv
dXREaXJlY3Rpb24gdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpIG92ZXJyaWRlOworCiAg
ICAgV0tDb250ZW50VmlldyAqbV9jb250ZW50VmlldzsKICAgICBXS1dlYlZpZXcgKm1fd2ViVmll
dzsKICAgICBSZXRhaW5QdHI8V0tFZGl0b3JVbmRvVGFyZ2V0T2JqQz4gbV91bmRvVGFyZ2V0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0K
aW5kZXggNmNmN2YxMTMyMTdmMGUwMDExODMwOTU1MjJlYTg2NTU3ZDRmZDM4Mi4uZDIyMjcxMjYz
ZGJlNjU2ZDBlMzE4OTNlYjI4ZTNkZTY4ZTgwYWYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC03NDcsNiArNzQ3LDEzIEBA
IHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigpCiB7CiB9CiAK
K1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gUGFnZUNsaWVudEltcGw6OnVzZXJJbnRlcmZh
Y2VMYXlvdXREaXJlY3Rpb24oKQoreworICAgIGlmICghbV93ZWJWaWV3KQorICAgICAgICByZXR1
cm4gVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbjo6TFRSOworICAgIHJldHVybiAoW1VJVmll
dyB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uRm9yU2VtYW50aWNDb250ZW50QXR0cmlidXRl
OlttX3dlYlZpZXcgc2VtYW50aWNDb250ZW50QXR0cmlidXRlXV0gPT0gVUlVc2VySW50ZXJmYWNl
TGF5b3V0RGlyZWN0aW9uTGVmdFRvUmlnaHQpID8gVXNlckludGVyZmFjZUxheW91dERpcmVjdGlv
bjo6TFRSIDogVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbjo6UlRMOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaAppbmRleCA2NDA2OGZlMzBmMDY3MTEw
ZDFhOTkxYzI4ZTAxMmIyNjRjMzFkMzY1Li41MTI2ZTdiNmQ4ZGY4YzkzODk0MzcyYWFhYjg3MDkx
ODEzYmQ0MjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VD
bGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50
SW1wbC5oCkBAIC0yMjAsNiArMjIwLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0V2luZG93
RHJhZygpIG92ZXJyaWRlOwogICAgIE5TV2luZG93ICpwbGF0Zm9ybVdpbmRvdygpIG92ZXJyaWRl
OwogCisgICAgVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiB1c2VySW50ZXJmYWNlTGF5b3V0
RGlyZWN0aW9uKCkgb3ZlcnJpZGU7CisKICNpZiBXS19BUElfRU5BQkxFRAogICAgIE5TVmlldyAq
aW5zcGVjdG9yQXR0YWNobWVudFZpZXcoKSBvdmVycmlkZTsKICAgICBfV0tSZW1vdGVPYmplY3RS
ZWdpc3RyeSAqcmVtb3RlT2JqZWN0UmVnaXN0cnkoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCmluZGV4IGZlYTRjZjU4MzdhMTVi
ZDA4MTc5NTBiNzcyZTQwMjVjZTExY2Y0YjkuLjVkOTMwOWMwMTA2ZWM5YTU4MGYwZTcxNTEwM2Rj
ZGJkOWY4YjI0ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGwubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbC5tbQpAQCAtODQwLDYgKzg0MCwxMyBAQCBib29sIFBhZ2VDbGllbnRJbXBsOjp3aW5k
b3dJc0Zyb250V2luZG93VW5kZXJNb3VzZShjb25zdCBOYXRpdmVXZWJNb3VzZUV2ZW50JiBldgog
ICAgIHJldHVybiBtX2ltcGwtPndpbmRvd0lzRnJvbnRXaW5kb3dVbmRlck1vdXNlKGV2ZW50Lm5h
dGl2ZUV2ZW50KCkpOwogfQogCitVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIFBhZ2VDbGll
bnRJbXBsOjp1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCkKK3sKKyAgICBpZiAoIW1fdmll
dykKKyAgICAgICAgcmV0dXJuIFVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb246OkxUUjsKKyAg
ICByZXR1cm4gKG1fdmlldy51c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uID09IE5TVXNlcklu
dGVyZmFjZUxheW91dERpcmVjdGlvbkxlZnRUb1JpZ2h0KSA/IFVzZXJJbnRlcmZhY2VMYXlvdXRE
aXJlY3Rpb246OkxUUiA6IFVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb246OlJUTDsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaApp
bmRleCA0MTE2OGFhMzQ1ZDdmZDJlNzAyODYyN2EzZDRiOTFkZWIwY2YxYzRjLi5iNWIxMTU1ZTM4
NjRkOTczZDIyNmY0MWUxYTA5NjE3Y2Q2NWI4ZTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKQEAgLTEwOSw2ICsxMDks
OCBAQCBwdWJsaWM6CiAKICAgICBib29sIHNob3VsZElnbm9yZVBpbm5lZFN0YXRlKCkgeyByZXR1
cm4gbV9wZW5kaW5nU3dpcGVUcmFja2VyLnNob3VsZElnbm9yZVBpbm5lZFN0YXRlKCk7IH0KICAg
ICB2b2lkIHNldFNob3VsZElnbm9yZVBpbm5lZFN0YXRlKGJvb2wgaWdub3JlKSB7IG1fcGVuZGlu
Z1N3aXBlVHJhY2tlci5zZXRTaG91bGRJZ25vcmVQaW5uZWRTdGF0ZShpZ25vcmUpOyB9CisKKyAg
ICBib29sIGlzUGh5c2ljYWxseVN3aXBpbmdMZWZ0KFN3aXBlRGlyZWN0aW9uKSBjb25zdDsKICNl
bHNlCiAgICAgdm9pZCBpbnN0YWxsU3dpcGVIYW5kbGVyKFVJVmlldyAqZ2VzdHVyZVJlY29nbml6
ZXJWaWV3LCBVSVZpZXcgKnN3aXBpbmdWaWV3KTsKICAgICB2b2lkIHNldEFsdGVybmF0ZUJhY2tG
b3J3YXJkTGlzdFNvdXJjZVZpZXcoV0tXZWJWaWV3ICopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQppbmRleCA1
NTdjZmJkNGQwNGY2NWYyNWM1MjJlODBlNTE3NGZhMDhjOTNmZmU5Li5kOWY0M2FmYTRmNzdlODgy
ZWVmNjBhNmZkODJhZjBmZWU0MTkwNGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQpAQCAtMzEsNiArMzEs
NyBAQAogI2ltcG9ydCAiRnJhbWVMb2FkU3RhdGUuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNp
bXBvcnQgIk5hdGl2ZVdlYldoZWVsRXZlbnQuaCIKKyNpbXBvcnQgIlVzZXJJbnRlcmZhY2VMYXlv
dXREaXJlY3Rpb24uaCIKICNpbXBvcnQgIlZpZXdHZXN0dXJlQ29udHJvbGxlck1lc3NhZ2VzLmgi
CiAjaW1wb3J0ICJWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yTWVzc2FnZXMuaCIKICNpbXBv
cnQgIlZpZXdTbmFwc2hvdFN0b3JlLmgiCkBAIC0yOTcsMTIgKzI5OCwxOSBAQCBib29sIFZpZXdH
ZXN0dXJlQ29udHJvbGxlcjo6UGVuZGluZ1N3aXBlVHJhY2tlcjo6c2Nyb2xsRXZlbnRDYW5CZWNv
bWVTd2lwZShOU0V2ZQogICAgIGJvb2wgaXNQaW5uZWRUb0xlZnQgPSBtX3Nob3VsZElnbm9yZVBp
bm5lZFN0YXRlIHx8IG1fd2ViUGFnZVByb3h5LmlzUGlubmVkVG9MZWZ0U2lkZSgpOwogICAgIGJv
b2wgaXNQaW5uZWRUb1JpZ2h0ID0gbV9zaG91bGRJZ25vcmVQaW5uZWRTdGF0ZSB8fCBtX3dlYlBh
Z2VQcm94eS5pc1Bpbm5lZFRvUmlnaHRTaWRlKCk7CiAKLSAgICBib29sIHdpbGxTd2lwZUxlZnQg
PSBldmVudC5zY3JvbGxpbmdEZWx0YVggPiAwICYmIGlzUGlubmVkVG9MZWZ0ICYmIG1fd2ViUGFn
ZVByb3h5LmJhY2tGb3J3YXJkTGlzdCgpLmJhY2tJdGVtKCk7Ci0gICAgYm9vbCB3aWxsU3dpcGVS
aWdodCA9IGV2ZW50LnNjcm9sbGluZ0RlbHRhWCA8IDAgJiYgaXNQaW5uZWRUb1JpZ2h0ICYmIG1f
d2ViUGFnZVByb3h5LmJhY2tGb3J3YXJkTGlzdCgpLmZvcndhcmRJdGVtKCk7Ci0gICAgaWYgKCF3
aWxsU3dpcGVMZWZ0ICYmICF3aWxsU3dpcGVSaWdodCkKKyAgICBib29sIHdpbGxTd2lwZUJhY2sg
PSBmYWxzZTsKKyAgICBib29sIHdpbGxTd2lwZUZvcndhcmQgPSBmYWxzZTsKKyAgICBpZiAobV93
ZWJQYWdlUHJveHkudXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpID09IFVzZXJJbnRlcmZh
Y2VMYXlvdXREaXJlY3Rpb246OkxUUikgeworICAgICAgICB3aWxsU3dpcGVCYWNrID0gZXZlbnQu
c2Nyb2xsaW5nRGVsdGFYID4gMCAmJiBpc1Bpbm5lZFRvTGVmdCAmJiBtX3dlYlBhZ2VQcm94eS5i
YWNrRm9yd2FyZExpc3QoKS5iYWNrSXRlbSgpOworICAgICAgICB3aWxsU3dpcGVGb3J3YXJkID0g
ZXZlbnQuc2Nyb2xsaW5nRGVsdGFYIDwgMCAmJiBpc1Bpbm5lZFRvUmlnaHQgJiYgbV93ZWJQYWdl
UHJveHkuYmFja0ZvcndhcmRMaXN0KCkuZm9yd2FyZEl0ZW0oKTsKKyAgICB9IGVsc2UgeworICAg
ICAgICB3aWxsU3dpcGVCYWNrID0gZXZlbnQuc2Nyb2xsaW5nRGVsdGFYIDwgMCAmJiBpc1Bpbm5l
ZFRvUmlnaHQgJiYgbV93ZWJQYWdlUHJveHkuYmFja0ZvcndhcmRMaXN0KCkuYmFja0l0ZW0oKTsK
KyAgICAgICAgd2lsbFN3aXBlRm9yd2FyZCA9IGV2ZW50LnNjcm9sbGluZ0RlbHRhWCA+IDAgJiYg
aXNQaW5uZWRUb0xlZnQgJiYgbV93ZWJQYWdlUHJveHkuYmFja0ZvcndhcmRMaXN0KCkuZm9yd2Fy
ZEl0ZW0oKTsKKyAgICB9CisgICAgaWYgKCF3aWxsU3dpcGVCYWNrICYmICF3aWxsU3dpcGVGb3J3
YXJkKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBwb3RlbnRpYWxTd2lwZURpcmVjdGlv
biA9IHdpbGxTd2lwZUxlZnQgPyBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlN3aXBlRGlyZWN0aW9u
OjpCYWNrIDogVmlld0dlc3R1cmVDb250cm9sbGVyOjpTd2lwZURpcmVjdGlvbjo6Rm9yd2FyZDsK
KyAgICBwb3RlbnRpYWxTd2lwZURpcmVjdGlvbiA9IHdpbGxTd2lwZUJhY2sgPyBWaWV3R2VzdHVy
ZUNvbnRyb2xsZXI6OlN3aXBlRGlyZWN0aW9uOjpCYWNrIDogVmlld0dlc3R1cmVDb250cm9sbGVy
OjpTd2lwZURpcmVjdGlvbjo6Rm9yd2FyZDsKIAogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMzk0
LDggKzQwMiw5IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjp0cmFja1N3aXBlR2VzdHVy
ZShOU0V2ZW50ICpldmVudCwgU3dpcGVEaXJlY3Rpb24gZGlyCiAKICAgICBtX3dlYlBhZ2VQcm94
eS5yZWNvcmROYXZpZ2F0aW9uU25hcHNob3QoKTsKIAotICAgIENHRmxvYXQgbWF4UHJvZ3Jlc3Mg
PSAoZGlyZWN0aW9uID09IFN3aXBlRGlyZWN0aW9uOjpCYWNrKSA/IDEgOiAwOwotICAgIENHRmxv
YXQgbWluUHJvZ3Jlc3MgPSAoZGlyZWN0aW9uID09IFN3aXBlRGlyZWN0aW9uOjpGb3J3YXJkKSA/
IC0xIDogMDsKKyAgICBCT09MIHN3aXBpbmdMZWZ0ID0gaXNQaHlzaWNhbGx5U3dpcGluZ0xlZnQo
ZGlyZWN0aW9uKTsKKyAgICBDR0Zsb2F0IG1heFByb2dyZXNzID0gc3dpcGluZ0xlZnQgPyAxIDog
MDsKKyAgICBDR0Zsb2F0IG1pblByb2dyZXNzID0gIXN3aXBpbmdMZWZ0ID8gLTEgOiAwOwogICAg
IFJlZlB0cjxXZWJCYWNrRm9yd2FyZExpc3RJdGVtPiB0YXJnZXRJdGVtID0gKGRpcmVjdGlvbiA9
PSBTd2lwZURpcmVjdGlvbjo6QmFjaykgPyBtX3dlYlBhZ2VQcm94eS5iYWNrRm9yd2FyZExpc3Qo
KS5iYWNrSXRlbSgpIDogbV93ZWJQYWdlUHJveHkuYmFja0ZvcndhcmRMaXN0KCkuZm9yd2FyZEl0
ZW0oKTsKICAgICBpZiAoIXRhcmdldEl0ZW0pCiAgICAgICAgIHJldHVybjsKQEAgLTQ3Niw3ICs0
ODUsNyBAQCBDQUxheWVyICpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmRldGVybWluZVNuYXBzaG90
TGF5ZXJQYXJlbnQoKSBjb25zdAogQ0FMYXllciAqVmlld0dlc3R1cmVDb250cm9sbGVyOjpkZXRl
cm1pbmVMYXllckFkamFjZW50VG9TbmFwc2hvdEZvclBhcmVudChTd2lwZURpcmVjdGlvbiBkaXJl
Y3Rpb24sIENBTGF5ZXIgKnNuYXBzaG90TGF5ZXJQYXJlbnQpIGNvbnN0CiB7CiAgICAgLy8gSWYg
d2UgaGF2ZSBjdXN0b20gc3dpcGluZyB2aWV3cywgd2UgYXNzdW1lIHRoYXQgdGhlIHZpZXdzIHdl
cmUgcGFzc2VkIHRvIHVzIGluIGJhY2stdG8tZnJvbnQgei1vcmRlci4KLSAgICBDQUxheWVyICps
YXllckFkamFjZW50VG9TbmFwc2hvdCA9IGRpcmVjdGlvbiA9PSBTd2lwZURpcmVjdGlvbjo6QmFj
ayA/IG1fY3VycmVudFN3aXBlTGl2ZUxheWVycy5maXJzdCgpLmdldCgpIDogbV9jdXJyZW50U3dp
cGVMaXZlTGF5ZXJzLmxhc3QoKS5nZXQoKTsKKyAgICBDQUxheWVyICpsYXllckFkamFjZW50VG9T
bmFwc2hvdCA9IGlzUGh5c2ljYWxseVN3aXBpbmdMZWZ0KGRpcmVjdGlvbikgPyBtX2N1cnJlbnRT
d2lwZUxpdmVMYXllcnMuZmlyc3QoKS5nZXQoKSA6IG1fY3VycmVudFN3aXBlTGl2ZUxheWVycy5s
YXN0KCkuZ2V0KCk7CiAKICAgICBpZiAobV9jdXJyZW50U3dpcGVMaXZlTGF5ZXJzLnNpemUoKSA9
PSAxKQogICAgICAgICByZXR1cm4gbGF5ZXJBZGphY2VudFRvU25hcHNob3Q7CkBAIC01OTMsNyAr
NjAyLDggQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmJlZ2luU3dpcGVHZXN0dXJlKFdl
YkJhY2tGb3J3YXJkTGlzdEl0ZW0qIHRhcmdldEl0ZW0KICAgICAgICAgYXBwbHlEZWJ1Z2dpbmdQ
cm9wZXJ0aWVzVG9Td2lwZVZpZXdzKCk7CiAKICAgICBDQUxheWVyICpsYXllckFkamFjZW50VG9T
bmFwc2hvdCA9IGRldGVybWluZUxheWVyQWRqYWNlbnRUb1NuYXBzaG90Rm9yUGFyZW50KGRpcmVj
dGlvbiwgc25hcHNob3RMYXllclBhcmVudCk7Ci0gICAgaWYgKGRpcmVjdGlvbiA9PSBTd2lwZURp
cmVjdGlvbjo6QmFjaykKKyAgICBCT09MIHN3aXBpbmdMZWZ0ID0gaXNQaHlzaWNhbGx5U3dpcGlu
Z0xlZnQoZGlyZWN0aW9uKTsKKyAgICBpZiAoc3dpcGluZ0xlZnQpCiAgICAgICAgIFtzbmFwc2hv
dExheWVyUGFyZW50IGluc2VydFN1YmxheWVyOm1fc3dpcGVMYXllci5nZXQoKSBiZWxvdzpsYXll
ckFkamFjZW50VG9TbmFwc2hvdF07CiAgICAgZWxzZQogICAgICAgICBbc25hcHNob3RMYXllclBh
cmVudCBpbnNlcnRTdWJsYXllcjptX3N3aXBlTGF5ZXIuZ2V0KCkgYWJvdmU6bGF5ZXJBZGphY2Vu
dFRvU25hcHNob3RdOwpAQCAtNjU3LDcgKzY2Nyw3IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9s
bGVyOjpiZWdpblN3aXBlR2VzdHVyZShXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiB0YXJnZXRJdGVt
CiAgICAgICAgIFttX3N3aXBlU2hhZG93TGF5ZXIgc2V0R2VvbWV0cnlGbGlwcGVkOmdlb21ldHJ5
SXNGbGlwcGVkVG9Sb290XTsKICAgICAgICAgW21fc3dpcGVTaGFkb3dMYXllciBzZXREZWxlZ2F0
ZTpbV2ViQWN0aW9uRGlzYWJsaW5nQ0FMYXllckRlbGVnYXRlIHNoYXJlZF1dOwogCi0gICAgICAg
IGlmIChkaXJlY3Rpb24gPT0gU3dpcGVEaXJlY3Rpb246OkJhY2spCisgICAgICAgIGlmIChzd2lw
aW5nTGVmdCkKICAgICAgICAgICAgIFtzbmFwc2hvdExheWVyUGFyZW50IGluc2VydFN1YmxheWVy
Om1fc3dpcGVEaW1taW5nTGF5ZXIuZ2V0KCkgYWJvdmU6bV9zd2lwZUxheWVyLmdldCgpXTsKICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgW3NuYXBzaG90TGF5ZXJQYXJlbnQgaW5zZXJ0U3VibGF5
ZXI6bV9zd2lwZURpbW1pbmdMYXllci5nZXQoKSBiZWxvdzptX3N3aXBlTGF5ZXIuZ2V0KCldOwpA
QCAtNjY2LDEwICs2NzYsMTkgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmJlZ2luU3dp
cGVHZXN0dXJlKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIHRhcmdldEl0ZW0KICAgICB9CiB9CiAK
K2Jvb2wgVmlld0dlc3R1cmVDb250cm9sbGVyOjppc1BoeXNpY2FsbHlTd2lwaW5nTGVmdChTd2lw
ZURpcmVjdGlvbiBkaXJlY3Rpb24pIGNvbnN0Cit7CisgICAgYm9vbCBpc0xUUiA9IG1fd2ViUGFn
ZVByb3h5LnVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oKSA9PSBVc2VySW50ZXJmYWNlTGF5
b3V0RGlyZWN0aW9uOjpMVFI7CisgICAgYm9vbCBpc1N3aXBpbmdGb3J3YXJkID0gZGlyZWN0aW9u
ID09IFN3aXBlRGlyZWN0aW9uOjpGb3J3YXJkOworICAgIHJldHVybiBpc0xUUiAhPSBpc1N3aXBp
bmdGb3J3YXJkOworfQorCiB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6aGFuZGxlU3dpcGVH
ZXN0dXJlKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIHRhcmdldEl0ZW0sIGRvdWJsZSBwcm9ncmVz
cywgU3dpcGVEaXJlY3Rpb24gZGlyZWN0aW9uKQogewogICAgIEFTU0VSVChtX2FjdGl2ZUdlc3R1
cmVUeXBlID09IFZpZXdHZXN0dXJlVHlwZTo6U3dpcGUpOwogCisgICAgYm9vbCBzd2lwaW5nTGVm
dCA9IGlzUGh5c2ljYWxseVN3aXBpbmdMZWZ0KGRpcmVjdGlvbik7CisKICAgICBpZiAoIW1fd2Vi
UGFnZVByb3h5LmRyYXdpbmdBcmVhKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtNjgxLDcgKzcw
MCw3IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpoYW5kbGVTd2lwZUdlc3R1cmUoV2Vi
QmFja0ZvcndhcmRMaXN0SXRlbSogdGFyZ2V0SXRlCiAKICAgICBkb3VibGUgc3dpcGluZ0xheWVy
T2Zmc2V0ID0gZmxvb3Iod2lkdGggKiBwcm9ncmVzcyk7CiAKLSAgICBkb3VibGUgZGltbWluZ1By
b2dyZXNzID0gKGRpcmVjdGlvbiA9PSBTd2lwZURpcmVjdGlvbjo6QmFjaykgPyAxIC0gcHJvZ3Jl
c3MgOiAtcHJvZ3Jlc3M7CisgICAgZG91YmxlIGRpbW1pbmdQcm9ncmVzcyA9IHN3aXBpbmdMZWZ0
ID8gMSAtIHByb2dyZXNzIDogLXByb2dyZXNzOwogICAgIGRpbW1pbmdQcm9ncmVzcyA9IHN0ZDo6
bWluKDEuLCBzdGQ6Om1heChkaW1taW5nUHJvZ3Jlc3MsIDAuKSk7CiAgICAgW21fc3dpcGVEaW1t
aW5nTGF5ZXIgc2V0T3BhY2l0eTpkaW1taW5nUHJvZ3Jlc3MgKiBzd2lwZU92ZXJsYXlEaW1taW5n
T3BhY2l0eV07CiAKQEAgLTY5NCwxOSArNzEzLDE5IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9s
bGVyOjpoYW5kbGVTd2lwZUdlc3R1cmUoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSogdGFyZ2V0SXRl
CiAgICAgICAgIFttX3N3aXBlU2hhZG93TGF5ZXIgc2V0T3BhY2l0eTpzd2lwZU92ZXJsYXlTaGFk
b3dPcGFjaXR5XTsKIAogICAgIGlmIChtX3N3aXBlVHJhbnNpdGlvblN0eWxlID09IFN3aXBlVHJh
bnNpdGlvblN0eWxlOjpPdmVybGFwKQotICAgICAgICBbbV9zd2lwZVNoYWRvd0xheWVyIHNldFRy
YW5zZm9ybTpDQVRyYW5zZm9ybTNETWFrZVRyYW5zbGF0aW9uKChkaXJlY3Rpb24gPT0gU3dpcGVE
aXJlY3Rpb246OkJhY2sgPyAwIDogd2lkdGgpICsgc3dpcGluZ0xheWVyT2Zmc2V0LCAwLCAwKV07
CisgICAgICAgIFttX3N3aXBlU2hhZG93TGF5ZXIgc2V0VHJhbnNmb3JtOkNBVHJhbnNmb3JtM0RN
YWtlVHJhbnNsYXRpb24oKHN3aXBpbmdMZWZ0ID8gMCA6IHdpZHRoKSArIHN3aXBpbmdMYXllck9m
ZnNldCwgMCwgMCldOwogCiAgICAgaWYgKG1fc3dpcGVUcmFuc2l0aW9uU3R5bGUgPT0gU3dpcGVU
cmFuc2l0aW9uU3R5bGU6Ok92ZXJsYXApIHsKLSAgICAgICAgaWYgKGRpcmVjdGlvbiA9PSBTd2lw
ZURpcmVjdGlvbjo6Rm9yd2FyZCkgeworICAgICAgICBpZiAoIXN3aXBpbmdMZWZ0KSB7CiAgICAg
ICAgICAgICBbbV9zd2lwZUxheWVyIHNldFRyYW5zZm9ybTpDQVRyYW5zZm9ybTNETWFrZVRyYW5z
bGF0aW9uKHdpZHRoICsgc3dpcGluZ0xheWVyT2Zmc2V0LCAwLCAwKV07CiAgICAgICAgICAgICBk
aWRNb3ZlU3dpcGVTbmFwc2hvdExheWVyKCk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKG1f
c3dpcGVUcmFuc2l0aW9uU3R5bGUgPT0gU3dpcGVUcmFuc2l0aW9uU3R5bGU6OlB1c2gpCi0gICAg
ICAgIFttX3N3aXBlTGF5ZXIgc2V0VHJhbnNmb3JtOkNBVHJhbnNmb3JtM0RNYWtlVHJhbnNsYXRp
b24oKGRpcmVjdGlvbiA9PSBTd2lwZURpcmVjdGlvbjo6QmFjayA/IC13aWR0aCA6IHdpZHRoKSAr
IHN3aXBpbmdMYXllck9mZnNldCwgMCwgMCldOworICAgICAgICBbbV9zd2lwZUxheWVyIHNldFRy
YW5zZm9ybTpDQVRyYW5zZm9ybTNETWFrZVRyYW5zbGF0aW9uKChzd2lwaW5nTGVmdCA/IC13aWR0
aCA6IHdpZHRoKSArIHN3aXBpbmdMYXllck9mZnNldCwgMCwgMCldOwogCiAgICAgZm9yIChjb25z
dCBhdXRvJiBsYXllciA6IG1fY3VycmVudFN3aXBlTGl2ZUxheWVycykgewogICAgICAgICBpZiAo
bV9zd2lwZVRyYW5zaXRpb25TdHlsZSA9PSBTd2lwZVRyYW5zaXRpb25TdHlsZTo6T3ZlcmxhcCkg
ewotICAgICAgICAgICAgaWYgKGRpcmVjdGlvbiA9PSBTd2lwZURpcmVjdGlvbjo6QmFjaykKKyAg
ICAgICAgICAgIGlmIChzd2lwaW5nTGVmdCkKICAgICAgICAgICAgICAgICBbbGF5ZXIgc2V0VHJh
bnNmb3JtOkNBVHJhbnNmb3JtM0RNYWtlVHJhbnNsYXRpb24oc3dpcGluZ0xheWVyT2Zmc2V0LCAw
LCAwKV07CiAgICAgICAgIH0gZWxzZSBpZiAobV9zd2lwZVRyYW5zaXRpb25TdHlsZSA9PSBTd2lw
ZVRyYW5zaXRpb25TdHlsZTo6UHVzaCkKICAgICAgICAgICAgIFtsYXllciBzZXRUcmFuc2Zvcm06
Q0FUcmFuc2Zvcm0zRE1ha2VUcmFuc2xhdGlvbihzd2lwaW5nTGF5ZXJPZmZzZXQsIDAsIDApXTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>