<?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>81883</bug_id>
          
          <creation_ts>2012-03-22 02:03:30 -0700</creation_ts>
          <short_desc>[WK2] Add style support for WebPopUpItem</short_desc>
          <delta_ts>2014-02-05 10:52:31 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>UNCONFIRMED</bug_status>
          <resolution></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>
          
          <blocked>81882</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Antaryami Pandia (apandia)">antaryami.pandia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aestes</cc>
    
    <cc>andersca</cc>
    
    <cc>darin</cc>
    
    <cc>menard</cc>
    
    <cc>mitz</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>585073</commentid>
    <comment_count>0</comment_count>
    <who name="Antaryami Pandia (apandia)">antaryami.pandia</who>
    <bug_when>2012-03-22 02:03:30 -0700</bug_when>
    <thetext>While working on issue &quot;https://bugs.webkit.org/show_bug.cgi?id=81882&quot; found that the style is not yet implemented for WebPopUpItem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585076</commentid>
    <comment_count>1</comment_count>
      <attachid>133208</attachid>
    <who name="Antaryami Pandia (apandia)">antaryami.pandia</who>
    <bug_when>2012-03-22 02:07:52 -0700</bug_when>
    <thetext>Created attachment 133208
WIP

Attaching the WIP patch to get some feedback.The approach I am taking is:-
Adding a new struct &quot;WebPopupItemStyle&quot; to hold the style information and then passing it to WebPopupItem.

Wanted the below feedback before proceeding further:-
Is the WIP approach is Ok or should I add all style info to the WebPopupItem itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587609</commentid>
    <comment_count>2</comment_count>
    <who name="Antaryami Pandia (apandia)">antaryami.pandia</who>
    <bug_when>2012-03-26 04:22:21 -0700</bug_when>
    <thetext>Hi Darin,
Please provide some feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588702</commentid>
    <comment_count>3</comment_count>
      <attachid>134011</attachid>
    <who name="Antaryami Pandia (apandia)">antaryami.pandia</who>
    <bug_when>2012-03-27 03:01:52 -0700</bug_when>
    <thetext>Created attachment 134011
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588751</commentid>
    <comment_count>4</comment_count>
      <attachid>134011</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-27 04:34:35 -0700</bug_when>
    <thetext>Comment on attachment 134011
Patch.

Attachment 134011 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12141487</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588770</commentid>
    <comment_count>5</comment_count>
      <attachid>134011</attachid>
    <who name="Antaryami Pandia (apandia)">antaryami.pandia</who>
    <bug_when>2012-03-27 04:53:42 -0700</bug_when>
    <thetext>Comment on attachment 134011
Patch.

Mac throws below compilation error:-

WebPopupMenuProxyMac.mm:73: error: &apos;const struct WebKit::WebPopupItem&apos; has no member named &apos;m_textDirection&apos;
WebPopupMenuProxyMac.mm:80: error: &apos;const struct WebKit::WebPopupItem&apos; has no member named &apos;m_hasTextDirectionOverride&apos;

I will resolve these errors in a new patch along with review comments provided by you.

Marking the &quot;r?&quot;, to get review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589199</commentid>
    <comment_count>6</comment_count>
      <attachid>134011</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-03-27 13:15:22 -0700</bug_when>
    <thetext>Comment on attachment 134011
Patch.

View in context: https://bugs.webkit.org/attachment.cgi?id=134011&amp;action=review

r- to me.

&gt; Source/WebKit2/GNUmakefile.am:441
&gt; +        Source/WebKit2/Shared/WebPopupItemStyle.cpp \

Indentation issue.

&gt; Source/WebKit2/Shared/WebPopupItem.cpp:-33
&gt; -using namespace WebCore;

You need to keep that.

&gt; Source/WebKit2/Shared/WebPopupItemStyle.h:45
&gt; +    WebPopupItemStyle(bool visible, bool isDisplayNone, WebCore::TextDirection, bool hasTextDirectionOverride);

The names of the parameters are not adding anything in the .h file, remove them

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebPopupMenu.cpp:92
&gt; +            WebPopupItemStyle style = WebPopupItemStyle(itemStyle.isVisible(), itemStyle.isDisplayNone(), itemStyle.textDirection(), itemStyle.hasTextDirectionOverride());

Lot of copies no? The affection and then in WebPopupItem constructor it will copy. Could you save one at least? WebPopupItemStyle style(....).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589707</commentid>
    <comment_count>7</comment_count>
      <attachid>134228</attachid>
    <who name="Antaryami Pandia (apandia)">antaryami.pandia</who>
    <bug_when>2012-03-28 00:25:13 -0700</bug_when>
    <thetext>Created attachment 134228
Modified patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594327</commentid>
    <comment_count>8</comment_count>
    <who name="Antaryami Pandia (apandia)">antaryami.pandia</who>
    <bug_when>2012-04-03 02:56:08 -0700</bug_when>
    <thetext>@anders,sam
request you to review the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673196</commentid>
    <comment_count>9</comment_count>
    <who name="Antaryami Pandia (apandia)">antaryami.pandia</who>
    <bug_when>2012-07-18 23:16:49 -0700</bug_when>
    <thetext>The patch is pending since long. It&apos;s not a big change.
Request some reviewer to review the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976833</commentid>
    <comment_count>10</comment_count>
      <attachid>134228</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-02-05 10:52:31 -0800</bug_when>
    <thetext>Comment on attachment 134228
Modified patch.

Clearing review flag on patches from before 2014. If this patch is still relevant, please reset the r? flag.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133208</attachid>
            <date>2012-03-22 02:07:52 -0700</date>
            <delta_ts>2012-03-22 02:16:05 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>WIP.txt</filename>
            <type>text/plain</type>
            <size>11219</size>
            <attacher name="Antaryami Pandia (apandia)">antaryami.pandia</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMTE1MTUpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTUzLDYgKzE1Myw3IEBAIFNF
VChXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvV2ViUGFnZUdyb3VwRGF0YS5jcHAKICAgICBT
aGFyZWQvV2ViUGxhdGZvcm1Ub3VjaFBvaW50LmNwcAogICAgIFNoYXJlZC9XZWJQb3B1cEl0ZW0u
Y3BwCisgICAgU2hhcmVkL1dlYlBvcHVwSXRlbVN0eWxlLmNwcAogICAgIFNoYXJlZC9XZWJQcmVm
ZXJlbmNlc1N0b3JlLmNwcAogICAgIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmNwcAogICAgIFNoYXJlZC9XZWJSZW5kZXJMYXllci5jcHAKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxl
LmFtCShyZXZpc2lvbiAxMTE1MTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQko
d29ya2luZyBjb3B5KQpAQCAtNDM4LDYgKzQzOCw4IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBsYXRmb3JtVG91Y2hQb2ludC5jcHAgXAogCVNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViUG9wdXBJdGVtLmggXAorICAgICAgICBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9w
dXBJdGVtU3R5bGUuY3BwIFwKKyAgICAgICAgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVw
SXRlbVN0eWxlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3Jl
LmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaCBcCiAJ
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIFwK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVGFyZ2V0LnByaQkocmV2aXNpb24gMTExNTE1KQorKysgU291cmNlL1dlYktpdDIvVGFy
Z2V0LnByaQkod29ya2luZyBjb3B5KQpAQCAtMTEyLDYgKzExMiw3IEBAIEhFQURFUlMgKz0gXAog
ICAgIFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmggXAogICAgIFNoYXJlZC9XZWJQ
YWdlR3JvdXBEYXRhLmggXAogICAgIFNoYXJlZC9XZWJQb3B1cEl0ZW0uaCBcCisgICAgU2hhcmVk
L1dlYlBvcHVwSXRlbVN0eWxlLmggXAogICAgIFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgg
XAogICAgIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggXAogICAgIFNoYXJl
ZC9XZWJSZW5kZXJMYXllci5oIFwKQEAgLTQ2MCw2ICs0NjEsNyBAQCBTT1VSQ0VTICs9IFwKICAg
ICBTaGFyZWQvV2ViUGFnZUdyb3VwRGF0YS5jcHAgXAogICAgIFNoYXJlZC9XZWJQbGF0Zm9ybVRv
dWNoUG9pbnQuY3BwIFwKICAgICBTaGFyZWQvV2ViUG9wdXBJdGVtLmNwcCBcCisgICAgU2hhcmVk
L1dlYlBvcHVwSXRlbVN0eWxlLmNwcCBcCiAgICAgU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUu
Y3BwIFwKICAgICBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgXAogICAg
IFNoYXJlZC9XZWJSZW5kZXJMYXllci5jcHAgXApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYlBvcHVwSXRlbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YlBvcHVwSXRlbS5jcHAJKHJldmlzaW9uIDExMTUxNSkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJQb3B1cEl0ZW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwzMCArMzYsMjUgQEAgbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIFdlYlBvcHVwSXRlbTo6V2ViUG9wdXBJdGVtKCkKICAgICA6IG1f
dHlwZShJdGVtKQotICAgICwgbV90ZXh0RGlyZWN0aW9uKExUUikKLSAgICAsIG1faGFzVGV4dERp
cmVjdGlvbk92ZXJyaWRlKGZhbHNlKQogICAgICwgbV9pc0VuYWJsZWQodHJ1ZSkKIHsKIH0KIAog
V2ViUG9wdXBJdGVtOjpXZWJQb3B1cEl0ZW0oVHlwZSB0eXBlKQogICAgIDogbV90eXBlKHR5cGUp
Ci0gICAgLCBtX3RleHREaXJlY3Rpb24oTFRSKQotICAgICwgbV9oYXNUZXh0RGlyZWN0aW9uT3Zl
cnJpZGUoZmFsc2UpCiAgICAgLCBtX2lzRW5hYmxlZCh0cnVlKQogICAgICwgbV9pc0xhYmVsKGZh
bHNlKQogewogfQogCi1XZWJQb3B1cEl0ZW06OldlYlBvcHVwSXRlbShUeXBlIHR5cGUsIGNvbnN0
IFN0cmluZyYgdGV4dCwgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uLCBib29sIGhhc1RleHRE
aXJlY3Rpb25PdmVycmlkZSwgY29uc3QgU3RyaW5nJiB0b29sVGlwLCBjb25zdCBTdHJpbmcmIGFj
Y2Vzc2liaWxpdHlUZXh0LCBib29sIGlzRW5hYmxlZCwgYm9vbCBpc0xhYmVsKQorV2ViUG9wdXBJ
dGVtOjpXZWJQb3B1cEl0ZW0oVHlwZSB0eXBlLCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0
cmluZyYgdG9vbFRpcCwgY29uc3QgU3RyaW5nJiBhY2Nlc3NpYmlsaXR5VGV4dCwgYm9vbCBpc0Vu
YWJsZWQsIGJvb2wgaXNMYWJlbCwgY29uc3QgV2ViUG9wdXBJdGVtU3R5bGUmIHN0eWxlKQogICAg
IDogbV90eXBlKHR5cGUpCiAgICAgLCBtX3RleHQodGV4dCkKLSAgICAsIG1fdGV4dERpcmVjdGlv
bih0ZXh0RGlyZWN0aW9uKQotICAgICwgbV9oYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUoaGFzVGV4
dERpcmVjdGlvbk92ZXJyaWRlKQogICAgICwgbV90b29sVGlwKHRvb2xUaXApCiAgICAgLCBtX2Fj
Y2Vzc2liaWxpdHlUZXh0KGFjY2Vzc2liaWxpdHlUZXh0KQogICAgICwgbV9pc0VuYWJsZWQoaXNF
bmFibGVkKQogICAgICwgbV9pc0xhYmVsKGlzTGFiZWwpCisgICAgLCBtX2l0ZW1TdHlsZShzdHls
ZSkKIHsKIH0KIApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uaAkocmV2aXNp
b24gMTExNTE1KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFdlYlBvcHVwSXRlbV9oCiAjZGVm
aW5lIFdlYlBvcHVwSXRlbV9oCiAKLSNpbmNsdWRlIDxXZWJDb3JlL1RleHREaXJlY3Rpb24uaD4K
KyNpbmNsdWRlICJXZWJQb3B1cEl0ZW1TdHlsZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CkBAIC00NCwxOSArNDQsMTkgQEAgc3RydWN0
IFdlYlBvcHVwSXRlbSB7CiAKICAgICBXZWJQb3B1cEl0ZW0oKTsKICAgICBXZWJQb3B1cEl0ZW0o
VHlwZSk7Ci0gICAgV2ViUG9wdXBJdGVtKFR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dCwgV2ViQ29y
ZTo6VGV4dERpcmVjdGlvbiwgYm9vbCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUsIGNvbnN0IFN0
cmluZyYgdG9vbFRpcCwgY29uc3QgU3RyaW5nJiBhY2Nlc3NpYmlsaXR5VGV4dCwgYm9vbCBpc0Vu
YWJsZWQsIGJvb2wgaXNMYWJlbCk7CisgICAgV2ViUG9wdXBJdGVtKFR5cGUsIGNvbnN0IFN0cmlu
ZyYgdGV4dCwgY29uc3QgU3RyaW5nJiB0b29sVGlwLCBjb25zdCBTdHJpbmcmIGFjY2Vzc2liaWxp
dHlUZXh0LCBib29sIGlzRW5hYmxlZCwgYm9vbCBpc0xhYmVsLCBjb25zdCBXZWJQb3B1cEl0ZW1T
dHlsZSYgc3R5bGUpOwogCiAgICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVy
KikgY29uc3Q7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rl
ciosIFdlYlBvcHVwSXRlbSYpOwogCiAgICAgVHlwZSBtX3R5cGU7CiAgICAgU3RyaW5nIG1fdGV4
dDsKLSAgICBXZWJDb3JlOjpUZXh0RGlyZWN0aW9uIG1fdGV4dERpcmVjdGlvbjsKLSAgICBib29s
IG1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlOwogICAgIFN0cmluZyBtX3Rvb2xUaXA7CiAgICAg
U3RyaW5nIG1fYWNjZXNzaWJpbGl0eVRleHQ7CiAgICAgYm9vbCBtX2lzRW5hYmxlZDsKICAgICBi
b29sIG1faXNMYWJlbDsKKworICAgIFdlYlBvcHVwSXRlbVN0eWxlIG1faXRlbVN0eWxlOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
UG9wdXBJdGVtU3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJQb3B1cEl0ZW1TdHlsZS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViUG9wdXBJdGVtU3R5bGUuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMiBNb3Rvcm9sYSBNb2JpbGl0eSwg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorCisjaW5jbHVkZSAiV2ViUG9wdXBJdGVtU3R5bGUuaCIKKworI2luY2x1ZGUgIkFyZ3VtZW50
Q29kZXJzLmgiCisjaW5jbHVkZSAiQXJndW1lbnRzLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViUG9wdXBJdGVtU3R5bGU6OldlYlBvcHVw
SXRlbVN0eWxlKGNvbnN0IENvbG9yJiBmb3JlZ3JvdW5kLCBjb25zdCBDb2xvciYgYmFja2dyb3Vu
ZCwgY29uc3QgRm9udCYgZm9udCwgYm9vbCBpc1Zpc2libGUsIGJvb2wgaXNEaXNwbGF5Tm9uZSwg
VGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uLCBib29sIGhhc1RleHREaXJlY3Rpb25PdmVycmlk
ZSkKKyAgICA6IG1fZm9yZWdyb3VuZChmb3JlZ3JvdW5kKQorICAgICwgbV9iYWNrZ3JvdW5kKGJh
Y2tncm91bmQpCisgICAgLCBtX2ZvbnQoZm9udCkKKyAgICAsIG1faXNWaXNpYmxlKGlzVmlzaWJs
ZSkKKyAgICAsIG1faXNEaXNwbGF5Tm9uZShpc0Rpc3BsYXlOb25lKQorICAgICwgbV90ZXh0RGly
ZWN0aW9uKHRleHREaXJlY3Rpb24pCisgICAgLCBtX2hhc1RleHREaXJlY3Rpb25PdmVycmlkZSho
YXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUpCit7Cit9CisKK3ZvaWQgV2ViUG9wdXBJdGVtU3R5bGU6
OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNvbnN0Cit7CisgICAg
Ly8gVEJECit9CisKK2Jvb2wgV2ViUG9wdXBJdGVtU3R5bGU6OmRlY29kZShDb3JlSVBDOjpBcmd1
bWVudERlY29kZXIqIGRlY29kZXIsIFdlYlBvcHVwSXRlbVN0eWxlJiBpdGVtU3R5bGUpCit7Cisg
ICAgLy8gVEJECisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAor
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtU3R5bGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtU3R5bGUuaAkocmV2aXNp
b24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW1TdHlsZS5oCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAx
MiBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBXZWJQb3B1cEl0ZW1TdHlsZV9oCisjZGVmaW5lIFdlYlBvcHVwSXRlbVN0eWxl
X2gKKworI2luY2x1ZGUgPFdlYkNvcmUvQ29sb3IuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0ZvbnQu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL1RleHREaXJlY3Rpb24uaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIENvcmVJUEMgeworICAgIGNsYXNzIEFyZ3VtZW50
RGVjb2RlcjsKKyAgICBjbGFzcyBBcmd1bWVudEVuY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitzdHJ1Y3QgV2ViUG9wdXBJdGVtU3R5bGUgeworCisgICAgV2ViUG9wdXBJdGVtU3R5
bGUoY29uc3QgV2ViQ29yZTo6Q29sb3ImIGZvcmVncm91bmQsIGNvbnN0IFdlYkNvcmU6OkNvbG9y
JiBiYWNrZ3JvdW5kLCBjb25zdCBXZWJDb3JlOjpGb250JiBmb250LCBib29sIHZpc2libGUsIGJv
b2wgaXNEaXNwbGF5Tm9uZSwgV2ViQ29yZTo6VGV4dERpcmVjdGlvbiwgYm9vbCBoYXNUZXh0RGly
ZWN0aW9uT3ZlcnJpZGUgKTsKKworICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5j
b2RlciopIGNvbnN0OworICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERl
Y29kZXIqLCBXZWJQb3B1cEl0ZW1TdHlsZSYpOworCisgICAgV2ViQ29yZTo6Q29sb3IgbV9mb3Jl
Z3JvdW5kOworICAgIFdlYkNvcmU6OkNvbG9yIG1fYmFja2dyb3VuZDsKKyAgICBXZWJDb3JlOjpG
b250IG1fZm9udDsKKyAgICBib29sIG1faXNWaXNpYmxlOworICAgIGJvb2wgbV9pc0Rpc3BsYXlO
b25lOworICAgIFdlYkNvcmU6OlRleHREaXJlY3Rpb24gbV90ZXh0RGlyZWN0aW9uOworICAgIGJv
b2wgbV9oYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmIC8vIFdlYlBvcHVwSXRlbVN0eWxlX2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5j
cHAJKHJldmlzaW9uIDExMTUxNSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsOCArODYsMTIg
QEAgVmVjdG9yPFdlYlBvcHVwSXRlbT4gV2ViUG9wdXBNZW51Ojpwb3B1bAogICAgICAgICAgICAg
Ly8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBzdHlsaW5nIHRoZSBmb250LgogICAgICAgICAgICAg
Ly8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBzdHlsaW5nIHRoZSBmb3JlZ3JvdW5kIGFuZCBiYWNr
Z3JvdW5kIGNvbG9ycy4KICAgICAgICAgICAgIC8vIEZJWE1FOiBGaW5kIGEgd2F5IHRvIGN1c3Rv
bWl6ZSB0ZXh0IGNvbG9yIHdoZW4gYW4gaXRlbSBpcyBoaWdobGlnaHRlZC4KKwogICAgICAgICAg
ICAgUG9wdXBNZW51U3R5bGUgaXRlbVN0eWxlID0gbV9wb3B1cENsaWVudC0+aXRlbVN0eWxlKGkp
OwotICAgICAgICAgICAgaXRlbXMuYXBwZW5kKFdlYlBvcHVwSXRlbShXZWJQb3B1cEl0ZW06Okl0
ZW0sIG1fcG9wdXBDbGllbnQtPml0ZW1UZXh0KGkpLCBpdGVtU3R5bGUudGV4dERpcmVjdGlvbigp
LCBpdGVtU3R5bGUuaGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKCksIG1fcG9wdXBDbGllbnQtPml0
ZW1Ub29sVGlwKGkpLCBtX3BvcHVwQ2xpZW50LT5pdGVtQWNjZXNzaWJpbGl0eVRleHQoaSksIG1f
cG9wdXBDbGllbnQtPml0ZW1Jc0VuYWJsZWQoaSksIG1fcG9wdXBDbGllbnQtPml0ZW1Jc0xhYmVs
KGkpKSk7CisgICAgICAgICAgICAvLyBDcmVhdGUgdGhlIHN0eWxlIGZvciB0aGUgZWxlbWVudAor
ICAgICAgICAgICAgV2ViUG9wdXBJdGVtU3R5bGUgc3R5bGUgPSBXZWJQb3B1cEl0ZW1TdHlsZShp
dGVtU3R5bGUuZm9yZWdyb3VuZENvbG9yKCksIGl0ZW1TdHlsZS5iYWNrZ3JvdW5kQ29sb3IoKSAs
IGl0ZW1TdHlsZS5mb250KCksIGl0ZW1TdHlsZS5pc1Zpc2libGUoKSwgaXRlbVN0eWxlLmlzRGlz
cGxheU5vbmUoKSwgaXRlbVN0eWxlLnRleHREaXJlY3Rpb24oKSwgaXRlbVN0eWxlLmhhc1RleHRE
aXJlY3Rpb25PdmVycmlkZSgpKTsKKworICAgICAgICAgICAgaXRlbXMuYXBwZW5kKFdlYlBvcHVw
SXRlbShXZWJQb3B1cEl0ZW06Okl0ZW0sIG1fcG9wdXBDbGllbnQtPml0ZW1UZXh0KGkpLCBtX3Bv
cHVwQ2xpZW50LT5pdGVtVG9vbFRpcChpKSwgbV9wb3B1cENsaWVudC0+aXRlbUFjY2Vzc2liaWxp
dHlUZXh0KGkpLCBtX3BvcHVwQ2xpZW50LT5pdGVtSXNFbmFibGVkKGkpLCBtX3BvcHVwQ2xpZW50
LT5pdGVtSXNMYWJlbChpKSwgc3R5bGUpKTsKICAgICAgICAgfQogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134011</attachid>
            <date>2012-03-27 03:01:52 -0700</date>
            <delta_ts>2012-03-28 00:25:13 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>81883.diff</filename>
            <type>text/plain</type>
            <size>19565</size>
            <attacher name="Antaryami Pandia (apandia)">antaryami.pandia</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMjIzNCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDEyLTAzLTI3ICBBbnRhcnlh
bWkgUGFuZGlhICA8YW50YXJ5YW1pLnBhbmRpYUBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgW1dL
Ml0gQWRkIHN0eWxlIHN1cHBvcnQgZm9yIFdlYlBvcFVwSXRlbS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxODgzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGRpc3BsYXkgYW5kIHZpc2liaWxpdHkg
c3R5bGUgc3RhdGUgdG8gV2ViUG9wdXBJdGVtLgorICAgICAgICBHcm91cGVkIGFsbCB0aGUgc3R5
bGUgYXR0cmlidXRlIGluIGEgc2luZ2xlIHN0cnVjdHVyZSBXZWJQb3B1cEl0ZW1TdHlsZS4KKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRlZCBXZWJQb3B1cEl0ZW1TdHlsZS5jcHAuCisg
ICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZGVkIFdlYlBvcHVwSXRlbVN0eWxlLmNwcC9oLgor
ICAgICAgICAqIFNoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwOiBSZW1vdmVkIHRoZSBzdHlsZSBpdGVt
IGFuZCBncm91cGVkIHRoZW0gYWxvbmcgd2l0aAorICAgICAgICBvdGhlciBzdHlsZSBhdHRyaWJ1
dGVzLgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cEl0ZW06OldlYlBvcHVwSXRlbSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBvcHVwSXRlbTo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UG9wdXBJdGVtOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQb3B1cEl0ZW0uaDoKKyAg
ICAgICAgKiBTaGFyZWQvV2ViUG9wdXBJdGVtU3R5bGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwSXRlbVN0eWxlOjpXZWJQb3B1cEl0ZW1T
dHlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwSXRlbVN0eWxlOjplbmNvZGUpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQb3B1cEl0ZW1TdHlsZTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUG9wdXBJdGVtU3R5bGUuaDogQWRkZWQuIEl0IGhvbGRzIGFsbCB0aGUgc3R5bGUgYXR0
cmlidXRlcy4KKyAgICAgICAgKENvcmVJUEMpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAg
KFdlYlBvcHVwSXRlbVN0eWxlKToKKyAgICAgICAgKiBUYXJnZXQucHJpOiBBZGRlZCBXZWJQb3B1
cEl0ZW1TdHlsZS5jcHAvaC4KKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6IEFkZGVkIFdlYlBvcHVwSXRlbVN0eWxlLmNwcC9oLgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UG9wdXBNZW51Ojpwb3B1bGF0ZUl0ZW1zKToKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi52Y3Byb2o6
IEFkZGVkIFdlYlBvcHVwSXRlbVN0eWxlLmNwcC9oLgorCiAyMDEyLTAzLTI3ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbU09VUF0gSW1wbGVt
ZW50IG1pc3NpbmcgbWV0aG9kcyBpbiBDb29raWVKYXJTb3VwCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3Rz
LnR4dAkocmV2aXNpb24gMTExNTE1KQorKysgU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTE1Myw2ICsxNTMsNyBAQCBTRVQoV2ViS2l0Ml9TT1VSQ0VTCiAg
ICAgU2hhcmVkL1dlYlBhZ2VHcm91cERhdGEuY3BwCiAgICAgU2hhcmVkL1dlYlBsYXRmb3JtVG91
Y2hQb2ludC5jcHAKICAgICBTaGFyZWQvV2ViUG9wdXBJdGVtLmNwcAorICAgIFNoYXJlZC9XZWJQ
b3B1cEl0ZW1TdHlsZS5jcHAKICAgICBTaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAKICAg
ICBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKICAgICBTaGFyZWQvV2Vi
UmVuZGVyTGF5ZXIuY3BwCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gMTExNTE1
KQorKysgU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTQz
OCw2ICs0MzgsOCBAQCB3ZWJraXQyX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJQbGF0Zm9ybVRvdWNoUG9pbnQuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
UG9wdXBJdGVtLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5oIFwK
KyAgICAgICAgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbVN0eWxlLmNwcCBcCisg
ICAgICAgIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW1TdHlsZS5oIFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAgXAogCVNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBcCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9UYXJnZXQucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkJKHJl
dmlzaW9uIDExMTUxNSkKKysrIFNvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkJKHdvcmtpbmcgY29w
eSkKQEAgLTExMiw2ICsxMTIsNyBAQCBIRUFERVJTICs9IFwKICAgICBTaGFyZWQvV2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVycy5oIFwKICAgICBTaGFyZWQvV2ViUGFnZUdyb3VwRGF0YS5oIFwKICAg
ICBTaGFyZWQvV2ViUG9wdXBJdGVtLmggXAorICAgIFNoYXJlZC9XZWJQb3B1cEl0ZW1TdHlsZS5o
IFwKICAgICBTaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oIFwKICAgICBTaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIFwKICAgICBTaGFyZWQvV2ViUmVuZGVyTGF5ZXIuaCBc
CkBAIC00NjAsNiArNDYxLDcgQEAgU09VUkNFUyArPSBcCiAgICAgU2hhcmVkL1dlYlBhZ2VHcm91
cERhdGEuY3BwIFwKICAgICBTaGFyZWQvV2ViUGxhdGZvcm1Ub3VjaFBvaW50LmNwcCBcCiAgICAg
U2hhcmVkL1dlYlBvcHVwSXRlbS5jcHAgXAorICAgIFNoYXJlZC9XZWJQb3B1cEl0ZW1TdHlsZS5j
cHAgXAogICAgIFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcCBcCiAgICAgU2hhcmVkL1dl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIFwKICAgICBTaGFyZWQvV2ViUmVuZGVyTGF5
ZXIuY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwCShyZXZp
c2lvbiAxMTE1MTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzAsNTggKzMwLDUyIEBACiAjaW5jbHVkZSAiQXJndW1lbnRDb2Rl
cnMuaCIKICNpbmNsdWRlICJBcmd1bWVudHMuaCIKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBXZWJQb3B1cEl0ZW06OldlYlBvcHVwSXRlbSgpCiAg
ICAgOiBtX3R5cGUoSXRlbSkKLSAgICAsIG1fdGV4dERpcmVjdGlvbihMVFIpCi0gICAgLCBtX2hh
c1RleHREaXJlY3Rpb25PdmVycmlkZShmYWxzZSkKICAgICAsIG1faXNFbmFibGVkKHRydWUpCiB7
CiB9CiAKIFdlYlBvcHVwSXRlbTo6V2ViUG9wdXBJdGVtKFR5cGUgdHlwZSkKICAgICA6IG1fdHlw
ZSh0eXBlKQotICAgICwgbV90ZXh0RGlyZWN0aW9uKExUUikKLSAgICAsIG1faGFzVGV4dERpcmVj
dGlvbk92ZXJyaWRlKGZhbHNlKQogICAgICwgbV9pc0VuYWJsZWQodHJ1ZSkKICAgICAsIG1faXNM
YWJlbChmYWxzZSkKIHsKIH0KIAotV2ViUG9wdXBJdGVtOjpXZWJQb3B1cEl0ZW0oVHlwZSB0eXBl
LCBjb25zdCBTdHJpbmcmIHRleHQsIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbiwgYm9vbCBo
YXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUsIGNvbnN0IFN0cmluZyYgdG9vbFRpcCwgY29uc3QgU3Ry
aW5nJiBhY2Nlc3NpYmlsaXR5VGV4dCwgYm9vbCBpc0VuYWJsZWQsIGJvb2wgaXNMYWJlbCkKK1dl
YlBvcHVwSXRlbTo6V2ViUG9wdXBJdGVtKFR5cGUgdHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBj
b25zdCBTdHJpbmcmIHRvb2xUaXAsIGNvbnN0IFN0cmluZyYgYWNjZXNzaWJpbGl0eVRleHQsIGJv
b2wgaXNFbmFibGVkLCBib29sIGlzTGFiZWwsIGNvbnN0IFdlYlBvcHVwSXRlbVN0eWxlJiBzdHls
ZSkKICAgICA6IG1fdHlwZSh0eXBlKQogICAgICwgbV90ZXh0KHRleHQpCi0gICAgLCBtX3RleHRE
aXJlY3Rpb24odGV4dERpcmVjdGlvbikKLSAgICAsIG1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRl
KGhhc1RleHREaXJlY3Rpb25PdmVycmlkZSkKICAgICAsIG1fdG9vbFRpcCh0b29sVGlwKQogICAg
ICwgbV9hY2Nlc3NpYmlsaXR5VGV4dChhY2Nlc3NpYmlsaXR5VGV4dCkKICAgICAsIG1faXNFbmFi
bGVkKGlzRW5hYmxlZCkKICAgICAsIG1faXNMYWJlbChpc0xhYmVsKQorICAgICwgbV9zdHlsZShz
dHlsZSkKIHsKIH0KIAogdm9pZCBXZWJQb3B1cEl0ZW06OmVuY29kZShDb3JlSVBDOjpBcmd1bWVu
dEVuY29kZXIqIGVuY29kZXIpIGNvbnN0CiB7Ci0gICAgZW5jb2Rlci0+ZW5jb2RlKENvcmVJUEM6
OkluKHN0YXRpY19jYXN0PHVpbnQzMl90PihtX3R5cGUpLCBtX3RleHQsIHN0YXRpY19jYXN0PHVp
bnQ2NF90PihtX3RleHREaXJlY3Rpb24pLCBtX2hhc1RleHREaXJlY3Rpb25PdmVycmlkZSwgbV90
b29sVGlwLCBtX2FjY2Vzc2liaWxpdHlUZXh0LCBtX2lzRW5hYmxlZCwgbV9pc0xhYmVsKSk7Cisg
ICAgZW5jb2Rlci0+ZW5jb2RlKENvcmVJUEM6OkluKHN0YXRpY19jYXN0PHVpbnQzMl90PihtX3R5
cGUpLCBtX3RleHQsIG1fdG9vbFRpcCwgbV9hY2Nlc3NpYmlsaXR5VGV4dCwgbV9pc0VuYWJsZWQs
IG1faXNMYWJlbCwgbV9zdHlsZSkpOwogfQogCiBib29sIFdlYlBvcHVwSXRlbTo6ZGVjb2RlKENv
cmVJUEM6OkFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgV2ViUG9wdXBJdGVtJiBpdGVtKQogewog
ICAgIHVpbnQzMl90IHR5cGU7CiAgICAgU3RyaW5nIHRleHQ7Ci0gICAgdWludDY0X3QgdGV4dERp
cmVjdGlvbjsKLSAgICBib29sIGhhc1RleHREaXJlY3Rpb25PdmVycmlkZTsKICAgICBTdHJpbmcg
dG9vbFRpcDsKICAgICBTdHJpbmcgYWNjZXNzaWJpbGl0eVRleHQ7CiAgICAgYm9vbCBpc0VuYWJs
ZWQ7CiAgICAgYm9vbCBpc0xhYmVsOwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKENvcmVJUEM6
Ok91dCh0eXBlLCB0ZXh0LCB0ZXh0RGlyZWN0aW9uLCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUs
IHRvb2xUaXAsIGFjY2Vzc2liaWxpdHlUZXh0LCBpc0VuYWJsZWQsIGlzTGFiZWwpKSkKKyAgICBX
ZWJQb3B1cEl0ZW1TdHlsZSBzdHlsZTsKKworCisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoQ29y
ZUlQQzo6T3V0KHR5cGUsIHRleHQsIHRvb2xUaXAsIGFjY2Vzc2liaWxpdHlUZXh0LCBpc0VuYWJs
ZWQsIGlzTGFiZWwsIHN0eWxlKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGl0ZW0g
PSBXZWJQb3B1cEl0ZW0oc3RhdGljX2Nhc3Q8VHlwZT4odHlwZSksIHRleHQsIHN0YXRpY19jYXN0
PFRleHREaXJlY3Rpb24+KHRleHREaXJlY3Rpb24pLCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUs
IHRvb2xUaXAsIGFjY2Vzc2liaWxpdHlUZXh0LCBpc0VuYWJsZWQsIGlzTGFiZWwpOworICAgIGl0
ZW0gPSBXZWJQb3B1cEl0ZW0oc3RhdGljX2Nhc3Q8VHlwZT4odHlwZSksIHRleHQsIHRvb2xUaXAs
IGFjY2Vzc2liaWxpdHlUZXh0LCBpc0VuYWJsZWQsIGlzTGFiZWwsIHN0eWxlKTsKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uaAkocmV2
aXNpb24gMTExNTE1KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFdlYlBvcHVwSXRlbV9oCiAj
ZGVmaW5lIFdlYlBvcHVwSXRlbV9oCiAKLSNpbmNsdWRlIDxXZWJDb3JlL1RleHREaXJlY3Rpb24u
aD4KKyNpbmNsdWRlICJXZWJQb3B1cEl0ZW1TdHlsZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CkBAIC00NCwxOSArNDQsMTggQEAgc3Ry
dWN0IFdlYlBvcHVwSXRlbSB7CiAKICAgICBXZWJQb3B1cEl0ZW0oKTsKICAgICBXZWJQb3B1cEl0
ZW0oVHlwZSk7Ci0gICAgV2ViUG9wdXBJdGVtKFR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dCwgV2Vi
Q29yZTo6VGV4dERpcmVjdGlvbiwgYm9vbCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUsIGNvbnN0
IFN0cmluZyYgdG9vbFRpcCwgY29uc3QgU3RyaW5nJiBhY2Nlc3NpYmlsaXR5VGV4dCwgYm9vbCBp
c0VuYWJsZWQsIGJvb2wgaXNMYWJlbCk7CisgICAgV2ViUG9wdXBJdGVtKFR5cGUsIGNvbnN0IFN0
cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiB0b29sVGlwLCBjb25zdCBTdHJpbmcmIGFjY2Vzc2li
aWxpdHlUZXh0LCBib29sIGlzRW5hYmxlZCwgYm9vbCBpc0xhYmVsLCBjb25zdCBXZWJQb3B1cEl0
ZW1TdHlsZSYpOwogCiAgICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKikg
Y29uc3Q7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rlcios
IFdlYlBvcHVwSXRlbSYpOwogCiAgICAgVHlwZSBtX3R5cGU7CiAgICAgU3RyaW5nIG1fdGV4dDsK
LSAgICBXZWJDb3JlOjpUZXh0RGlyZWN0aW9uIG1fdGV4dERpcmVjdGlvbjsKLSAgICBib29sIG1f
aGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlOwogICAgIFN0cmluZyBtX3Rvb2xUaXA7CiAgICAgU3Ry
aW5nIG1fYWNjZXNzaWJpbGl0eVRleHQ7CiAgICAgYm9vbCBtX2lzRW5hYmxlZDsKICAgICBib29s
IG1faXNMYWJlbDsKKyAgICBXZWJQb3B1cEl0ZW1TdHlsZSBtX3N0eWxlOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVt
U3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0
ZW1TdHlsZS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9w
dXBJdGVtU3R5bGUuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwLCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMiBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5j
bHVkZSAiV2ViUG9wdXBJdGVtU3R5bGUuaCIKKworI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzLmgi
CisjaW5jbHVkZSAiQXJndW1lbnRzLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworV2ViUG9wdXBJdGVtU3R5bGU6OldlYlBvcHVwSXRlbVN0eWxl
KCkKKyAgICA6IG1faXNWaXNpYmxlKGZhbHNlKQorICAgICwgbV9pc0Rpc3BsYXlOb25lKGZhbHNl
KQorICAgICwgbV90ZXh0RGlyZWN0aW9uKExUUikKKyAgICAsIG1faGFzVGV4dERpcmVjdGlvbk92
ZXJyaWRlKGZhbHNlKQoreworfQorCitXZWJQb3B1cEl0ZW1TdHlsZTo6V2ViUG9wdXBJdGVtU3R5
bGUoYm9vbCBpc1Zpc2libGUsIGJvb2wgaXNEaXNwbGF5Tm9uZSwgVGV4dERpcmVjdGlvbiB0ZXh0
RGlyZWN0aW9uLCBib29sIGhhc1RleHREaXJlY3Rpb25PdmVycmlkZSkKKyAgICA6IG1faXNWaXNp
YmxlKGlzVmlzaWJsZSkKKyAgICAsIG1faXNEaXNwbGF5Tm9uZShpc0Rpc3BsYXlOb25lKQorICAg
ICwgbV90ZXh0RGlyZWN0aW9uKHRleHREaXJlY3Rpb24pCisgICAgLCBtX2hhc1RleHREaXJlY3Rp
b25PdmVycmlkZShoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUpCit7Cit9CisKK3ZvaWQgV2ViUG9w
dXBJdGVtU3R5bGU6OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNv
bnN0Cit7CisgICAgZW5jb2Rlci0+ZW5jb2RlKENvcmVJUEM6OkluKG1faXNWaXNpYmxlLCBtX2lz
RGlzcGxheU5vbmUsIHN0YXRpY19jYXN0PHVpbnQ2NF90PihtX3RleHREaXJlY3Rpb24pLCBtX2hh
c1RleHREaXJlY3Rpb25PdmVycmlkZSkpOworfQorCitib29sIFdlYlBvcHVwSXRlbVN0eWxlOjpk
ZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBXZWJQb3B1cEl0ZW1TdHls
ZSYgaXRlbVN0eWxlKQoreworICAgIGJvb2wgaXNWaXNpYmxlOworICAgIGJvb2wgaXNEaXNwbGF5
Tm9uZTsKKyAgICB1aW50NjRfdCB0ZXh0RGlyZWN0aW9uOworICAgIGJvb2wgaGFzVGV4dERpcmVj
dGlvbk92ZXJyaWRlOworCisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoQ29yZUlQQzo6T3V0KGlz
VmlzaWJsZSwgaXNEaXNwbGF5Tm9uZSwgdGV4dERpcmVjdGlvbiwgaGFzVGV4dERpcmVjdGlvbk92
ZXJyaWRlKSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGl0ZW1TdHlsZSA9IFdlYlBv
cHVwSXRlbVN0eWxlKGlzVmlzaWJsZSwgaXNEaXNwbGF5Tm9uZSwgc3RhdGljX2Nhc3Q8VGV4dERp
cmVjdGlvbj4odGV4dERpcmVjdGlvbiksIGhhc1RleHREaXJlY3Rpb25PdmVycmlkZSk7CisgICAg
cmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtU3R5bGUuaAkocmV2aXNpb24gMCkKKysrIFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW1TdHlsZS5oCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMiBNb3Rvcm9sYSBNb2Jp
bGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJQ
b3B1cEl0ZW1TdHlsZV9oCisjZGVmaW5lIFdlYlBvcHVwSXRlbVN0eWxlX2gKKworI2luY2x1ZGUg
PFdlYkNvcmUvQ29sb3IuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0ZvbnQuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL1RleHREaXJlY3Rpb24uaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
KworbmFtZXNwYWNlIENvcmVJUEMgeworY2xhc3MgQXJndW1lbnREZWNvZGVyOworY2xhc3MgQXJn
dW1lbnRFbmNvZGVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RydWN0IFdlYlBvcHVw
SXRlbVN0eWxlIHsKKworICAgIFdlYlBvcHVwSXRlbVN0eWxlKCk7CisgICAgV2ViUG9wdXBJdGVt
U3R5bGUoYm9vbCB2aXNpYmxlLCBib29sIGlzRGlzcGxheU5vbmUsIFdlYkNvcmU6OlRleHREaXJl
Y3Rpb24sIGJvb2wgaGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKTsKKworICAgIHZvaWQgZW5jb2Rl
KENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciopIGNvbnN0OworICAgIHN0YXRpYyBib29sIGRlY29k
ZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBXZWJQb3B1cEl0ZW1TdHlsZSYpOworCisgICAg
Ym9vbCBtX2lzVmlzaWJsZTsKKyAgICBib29sIG1faXNEaXNwbGF5Tm9uZTsKKyAgICBXZWJDb3Jl
OjpUZXh0RGlyZWN0aW9uIG1fdGV4dERpcmVjdGlvbjsKKyAgICBib29sIG1faGFzVGV4dERpcmVj
dGlvbk92ZXJyaWRlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBX
ZWJQb3B1cEl0ZW1TdHlsZV9oCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxMTE1MTUpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTM3LDYgKzM3LDggQEAKIAkJMEYxNzRBQTMxNDJBNENCNzAwMzkyNTBGIC8qIFdlYkdlb21ldHJ5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjE3NEFB
MjE0MkE0Q0I2MDAzOTI1MEYgLyogV2ViR2VvbWV0cnkuaCAqLzsgfTsKIAkJMEYxNzRBQTcxNDJB
QUM2MTAwMzkyNTBGIC8qIFdLR2VvbWV0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEYxNzRBQTYxNDJBQUM2MTAwMzkyNTBGIC8qIFdLR2VvbWV0
cnkuY3BwICovOyB9OwogCQkwRkI2NTkyMzEyMDhCNERCMDA0NDgxNkMgLyogRHJhd2luZ0FyZWFJ
bmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkI2
NTkyMjEyMDhCNERCMDA0NDgxNkMgLyogRHJhd2luZ0FyZWFJbmZvLmggKi87IH07CisJCTEwNjFG
M0IxMTUyMUJFNjkwMEExQjcxMCAvKiBXZWJQb3B1cEl0ZW1TdHlsZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxMDYxRjNCMDE1MjFCRTY5MDBBMUI3
MTAgLyogV2ViUG9wdXBJdGVtU3R5bGUuY3BwICovOyB9OworCQkxMDYxRjNCMzE1MjFCRTdGMDBB
MUI3MTAgLyogV2ViUG9wdXBJdGVtU3R5bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDEwNjFGM0IyMTUyMUJFN0YwMEExQjcxMCAvKiBXZWJQb3B1cEl0
ZW1TdHlsZS5oICovOyB9OwogCQkxQTA0Mzk3NjEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2luUHJv
Y2Vzcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEw
NDM5NzQxMjREMDM0ODAwRkZCRkI1IC8qIFBsdWdpblByb2Nlc3MuaCAqLzsgfTsKIAkJMUEwNDM5
NzcxMjREMDM0ODAwRkZCRkI1IC8qIFBsdWdpblByb2Nlc3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEwNDM5NzUxMjREMDM0ODAwRkZCRkI1IC8q
IFBsdWdpblByb2Nlc3MuY3BwICovOyB9OwogCQkxQTA0M0EwOTEyNEQxMUE5MDBGRkJGQjUgLyog
V2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBMDQzQTA3MTI0RDExQTkwMEZGQkZCNSAvKiBXZWJQcm9jZXNzQ29ubmVj
dGlvbi5oICovOyB9OwpAQCAtMTAyNSw2ICsxMDI3LDggQEAKIAkJMEYxNzRBQTYxNDJBQUM2MTAw
MzkyNTBGIC8qIFdLR2VvbWV0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV0tHZW9tZXRyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQjY1
OTIyMTIwOEI0REIwMDQ0ODE2QyAvKiBEcmF3aW5nQXJlYUluZm8uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRHJhd2luZ0FyZWFJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTEwNThDN0IxRkVBNTU4NUUxMUNBMkNCQiAvKiBDb2NvYS5mcmFtZXdvcmsgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZy
YW1ld29yazsgbmFtZSA9IENvY29hLmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0NvY29hLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsK
KwkJMTA2MUYzQjAxNTIxQkU2OTAwQTFCNzEwIC8qIFdlYlBvcHVwSXRlbVN0eWxlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBvcHVwSXRlbVN0eWxlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTA2MUYzQjIxNTIxQkU3RjAwQTFCNzEwIC8q
IFdlYlBvcHVwSXRlbVN0eWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YlBvcHVwSXRlbVN0eWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMDQzOTc0
MTI0RDAzNDgwMEZGQkZCNSAvKiBQbHVnaW5Qcm9jZXNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBsdWdpblByb2Nlc3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMUEwNDM5NzUxMjREMDM0ODAwRkZCRkI1IC8qIFBsdWdpblByb2Nlc3MuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGx1Z2luUHJvY2Vzcy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMDQzQTA3MTI0RDExQTkwMEZGQkZCNSAvKiBXZWJQcm9j
ZXNzQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQcm9j
ZXNzQ29ubmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjQyNiw2ICsy
NDMwLDggQEAKIAkJCQlDMDMzN0REQzEyN0E1MjFDMDA4RkY0RjQgLyogV2ViUGxhdGZvcm1Ub3Vj
aFBvaW50LmNwcCAqLywKIAkJCQlCQzU3NDRFRDEyNjM4RkIzMDA2RjBGMTIgLyogV2ViUG9wdXBJ
dGVtLmNwcCAqLywKIAkJCQlCQzU3NDRFRTEyNjM4RkIzMDA2RjBGMTIgLyogV2ViUG9wdXBJdGVt
LmggKi8sCisJCQkJMTA2MUYzQjAxNTIxQkU2OTAwQTFCNzEwIC8qIFdlYlBvcHVwSXRlbVN0eWxl
LmNwcCAqLywKKwkJCQkxMDYxRjNCMjE1MjFCRTdGMDBBMUI3MTAgLyogV2ViUG9wdXBJdGVtU3R5
bGUuaCAqLywKIAkJCQlCQ0Q1OThBQjExMkI3RkRGMDBFQzhDMjMgLyogV2ViUHJlZmVyZW5jZXNT
dG9yZS5jcHAgKi8sCiAJCQkJQkNENTk4QUExMTJCN0ZERjAwRUM4QzIzIC8qIFdlYlByZWZlcmVu
Y2VzU3RvcmUuaCAqLywKIAkJCQlCQzMwNjgyMzEyNUE2Qjk0MDBFNzEyNzggLyogV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgKi8sCkBAIC00MTc4LDYgKzQxODQsNyBAQAogCQkJCTM3
NjA4ODIzMTUwNDE0RjcwMEZDODJDNyAvKiBXS1JlbmRlck9iamVjdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMzc5NDg0MDQxNTBDMzUwNjAwRTUyQ0U5IC8qIFdlYlJlbmRlckxheWVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzNzk0ODQwOTE1MEM0Qjk3MDBFNTJDRTkgLyogV0tSZW5kZXJMYXllci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMTA2MUYzQjMxNTIxQkU3RjAwQTFCNzEwIC8qIFdlYlBvcHVw
SXRlbVN0eWxlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTQ5MjEsNiArNDkyOCw3IEBACiAJCQkJMzc2
MDg4MjIxNTA0MTRGNzAwRkM4MkM3IC8qIFdLUmVuZGVyT2JqZWN0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTM3OTQ4NDAzMTUwQzM1MDYwMEU1MkNFOSAvKiBXZWJSZW5kZXJMYXllci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkzNzk0ODQwODE1MEM0Qjk3MDBFNTJDRTkgLyogV0tSZW5kZXJMYXll
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxMDYxRjNCMTE1MjFCRTY5MDBBMUI3MTAgLyogV2Vi
UG9wdXBJdGVtU3R5bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3Bw
CShyZXZpc2lvbiAxMTE1MTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBvcHVwTWVudS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg2LDggKzg2LDEyIEBA
IFZlY3RvcjxXZWJQb3B1cEl0ZW0+IFdlYlBvcHVwTWVudTo6cG9wdWwKICAgICAgICAgICAgIC8v
IEZJWE1FOiBBZGQgc3VwcG9ydCBmb3Igc3R5bGluZyB0aGUgZm9udC4KICAgICAgICAgICAgIC8v
IEZJWE1FOiBBZGQgc3VwcG9ydCBmb3Igc3R5bGluZyB0aGUgZm9yZWdyb3VuZCBhbmQgYmFja2dy
b3VuZCBjb2xvcnMuCiAgICAgICAgICAgICAvLyBGSVhNRTogRmluZCBhIHdheSB0byBjdXN0b21p
emUgdGV4dCBjb2xvciB3aGVuIGFuIGl0ZW0gaXMgaGlnaGxpZ2h0ZWQuCisKICAgICAgICAgICAg
IFBvcHVwTWVudVN0eWxlIGl0ZW1TdHlsZSA9IG1fcG9wdXBDbGllbnQtPml0ZW1TdHlsZShpKTsK
LSAgICAgICAgICAgIGl0ZW1zLmFwcGVuZChXZWJQb3B1cEl0ZW0oV2ViUG9wdXBJdGVtOjpJdGVt
LCBtX3BvcHVwQ2xpZW50LT5pdGVtVGV4dChpKSwgaXRlbVN0eWxlLnRleHREaXJlY3Rpb24oKSwg
aXRlbVN0eWxlLmhhc1RleHREaXJlY3Rpb25PdmVycmlkZSgpLCBtX3BvcHVwQ2xpZW50LT5pdGVt
VG9vbFRpcChpKSwgbV9wb3B1cENsaWVudC0+aXRlbUFjY2Vzc2liaWxpdHlUZXh0KGkpLCBtX3Bv
cHVwQ2xpZW50LT5pdGVtSXNFbmFibGVkKGkpLCBtX3BvcHVwQ2xpZW50LT5pdGVtSXNMYWJlbChp
KSkpOworICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBzdHlsZSBmb3IgdGhlIGVsZW1lbnQKKyAg
ICAgICAgICAgIFdlYlBvcHVwSXRlbVN0eWxlIHN0eWxlID0gV2ViUG9wdXBJdGVtU3R5bGUoaXRl
bVN0eWxlLmlzVmlzaWJsZSgpLCBpdGVtU3R5bGUuaXNEaXNwbGF5Tm9uZSgpLCBpdGVtU3R5bGUu
dGV4dERpcmVjdGlvbigpLCBpdGVtU3R5bGUuaGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKCkpOwor
CisgICAgICAgICAgICBpdGVtcy5hcHBlbmQoV2ViUG9wdXBJdGVtKFdlYlBvcHVwSXRlbTo6SXRl
bSwgbV9wb3B1cENsaWVudC0+aXRlbVRleHQoaSksIG1fcG9wdXBDbGllbnQtPml0ZW1Ub29sVGlw
KGkpLCBtX3BvcHVwQ2xpZW50LT5pdGVtQWNjZXNzaWJpbGl0eVRleHQoaSksIG1fcG9wdXBDbGll
bnQtPml0ZW1Jc0VuYWJsZWQoaSksIG1fcG9wdXBDbGllbnQtPml0ZW1Jc0xhYmVsKGkpLCBzdHls
ZSkpOwogICAgICAgICB9CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNwcm9q
CShyZXZpc2lvbiAxMTE1MTUpCisrKyBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTc3MCw2ICs3NzAsMTQgQEAKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFNoYXJlZFxXZWJQb3B1cEl0ZW0uaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CisgICAgICAgICAgICAg
ICAgICAgICAgICA8RmlsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxhdGl2
ZVBhdGg9Ii4uXFNoYXJlZFxXZWJQb3B1cEl0ZW1TdHlsZS5jcHAiCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgID4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvRmlsZT4KKyAgICAg
ICAgICAgICAgICAgICAgICAgIDxGaWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXFdlYlBvcHVwSXRlbVN0eWxlLmgiCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgID4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvRmlsZT4K
IAkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcV2ViUHJlZmVyZW5jZXNTdG9y
ZS5jcHAiCiAJCQkJPgo=
</data>
<flag name="commit-queue"
          id="138177"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134228</attachid>
            <date>2012-03-28 00:25:13 -0700</date>
            <delta_ts>2014-02-05 10:52:31 -0800</delta_ts>
            <desc>Modified patch.</desc>
            <filename>81883-m.diff</filename>
            <type>text/plain</type>
            <size>21339</size>
            <attacher name="Antaryami Pandia (apandia)">antaryami.pandia</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMjM2OCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDEyLTAzLTI4ICBBbnRhcnlh
bWkgUGFuZGlhICA8YW50YXJ5YW1pLnBhbmRpYUBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgW1dL
Ml0gQWRkIHN0eWxlIHN1cHBvcnQgZm9yIFdlYlBvcFVwSXRlbS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxODgzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGRpc3BsYXkgYW5kIHZpc2liaWxpdHkg
c3R5bGUgc3RhdGUgdG8gV2ViUG9wdXBJdGVtLgorICAgICAgICBHcm91cGVkIGFsbCB0aGUgc3R5
bGUgYXR0cmlidXRlIGluIGEgc2luZ2xlIHN0cnVjdHVyZSBXZWJQb3B1cEl0ZW1TdHlsZS4KKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRlZCBXZWJQb3B1cEl0ZW1TdHlsZS5jcHAuCisg
ICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZGVkIFdlYlBvcHVwSXRlbVN0eWxlLmNwcC9oLgor
ICAgICAgICAqIFNoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwOiBSZW1vdmVkIHRoZSBzdHlsZSBpdGVt
IGFuZCBncm91cGVkIHRoZW0gYWxvbmcgd2l0aAorICAgICAgICBvdGhlciBzdHlsZSBhdHRyaWJ1
dGVzLgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cEl0ZW06OldlYlBvcHVwSXRlbSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBvcHVwSXRlbTo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UG9wdXBJdGVtOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQb3B1cEl0ZW0uaDoKKyAg
ICAgICAgKiBTaGFyZWQvV2ViUG9wdXBJdGVtU3R5bGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwSXRlbVN0eWxlOjpXZWJQb3B1cEl0ZW1T
dHlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwSXRlbVN0eWxlOjplbmNvZGUpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQb3B1cEl0ZW1TdHlsZTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUG9wdXBJdGVtU3R5bGUuaDogQWRkZWQuIEl0IGhvbGRzIGFsbCB0aGUgc3R5bGUgYXR0
cmlidXRlcy4KKyAgICAgICAgKENvcmVJUEMpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAg
KFdlYlBvcHVwSXRlbVN0eWxlKToKKyAgICAgICAgKiBUYXJnZXQucHJpOiBBZGRlZCBXZWJQb3B1
cEl0ZW1TdHlsZS5jcHAvaC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVBy
b3h5TWFjLm1tOiBtX3RleHREaXJlY3Rpb24gYW5kIG1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRl
CisgICAgICAgIGFyZSBub3cgbWVtYmVyIG9mIFdlYlBvcHVwSXRlbVN0eWxlLgorICAgICAgICAo
V2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eU1hYzo6cG9wdWxhdGUpOgorICAgICAgICAqIFdlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQgV2ViUG9wdXBJdGVtU3R5bGUuY3Bw
L2guCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnU6OnBvcHVsYXRlSXRlbXMpOgorICAgICAg
ICAqIHdpbi9XZWJLaXQyLnZjcHJvajogQWRkZWQgV2ViUG9wdXBJdGVtU3R5bGUuY3BwL2guCisK
IDIwMTItMDMtMjcgIFlvdW5nVGFlY2sgU29uZyAgPHlvdW5ndGFlY2suc29uZ0BzYW1zdW5nLmNv
bT4KIAogICAgICAgICBbRUZMXVtXSzJdIEFkZCBSdW5Mb29wRWZsIGFuZCBXb3JrUXVldWVFZmwK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMTE1MTUpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTUzLDYgKzE1Myw3IEBAIFNF
VChXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvV2ViUGFnZUdyb3VwRGF0YS5jcHAKICAgICBT
aGFyZWQvV2ViUGxhdGZvcm1Ub3VjaFBvaW50LmNwcAogICAgIFNoYXJlZC9XZWJQb3B1cEl0ZW0u
Y3BwCisgICAgU2hhcmVkL1dlYlBvcHVwSXRlbVN0eWxlLmNwcAogICAgIFNoYXJlZC9XZWJQcmVm
ZXJlbmNlc1N0b3JlLmNwcAogICAgIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmNwcAogICAgIFNoYXJlZC9XZWJSZW5kZXJMYXllci5jcHAKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxl
LmFtCShyZXZpc2lvbiAxMTE1MTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQko
d29ya2luZyBjb3B5KQpAQCAtNDM4LDYgKzQzOCw4IEBAIHdlYmtpdDJfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBsYXRmb3JtVG91Y2hQb2ludC5jcHAgXAogCVNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViUG9wdXBJdGVtLmggXAorCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW1T
dHlsZS5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW1TdHlsZS5oIFwK
IAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAgXAogCVNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmggXAogCVNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBcCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9UYXJnZXQucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1RhcmdldC5w
cmkJKHJldmlzaW9uIDExMTUxNSkKKysrIFNvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkJKHdvcmtp
bmcgY29weSkKQEAgLTExMiw2ICsxMTIsNyBAQCBIRUFERVJTICs9IFwKICAgICBTaGFyZWQvV2Vi
UGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oIFwKICAgICBTaGFyZWQvV2ViUGFnZUdyb3VwRGF0YS5o
IFwKICAgICBTaGFyZWQvV2ViUG9wdXBJdGVtLmggXAorICAgIFNoYXJlZC9XZWJQb3B1cEl0ZW1T
dHlsZS5oIFwKICAgICBTaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oIFwKICAgICBTaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIFwKICAgICBTaGFyZWQvV2ViUmVuZGVyTGF5
ZXIuaCBcCkBAIC00NjAsNiArNDYxLDcgQEAgU09VUkNFUyArPSBcCiAgICAgU2hhcmVkL1dlYlBh
Z2VHcm91cERhdGEuY3BwIFwKICAgICBTaGFyZWQvV2ViUGxhdGZvcm1Ub3VjaFBvaW50LmNwcCBc
CiAgICAgU2hhcmVkL1dlYlBvcHVwSXRlbS5jcHAgXAorICAgIFNoYXJlZC9XZWJQb3B1cEl0ZW1T
dHlsZS5jcHAgXAogICAgIFNoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcCBcCiAgICAgU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIFwKICAgICBTaGFyZWQvV2ViUmVu
ZGVyTGF5ZXIuY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3Bw
CShyZXZpc2lvbiAxMTE1MTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVt
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNTIgKzM2LDQ4IEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBXZWJQb3B1cEl0ZW06OldlYlBvcHVwSXRlbSgpCiAgICAgOiBtX3R5cGUoSXRlbSkKLSAg
ICAsIG1fdGV4dERpcmVjdGlvbihMVFIpCi0gICAgLCBtX2hhc1RleHREaXJlY3Rpb25PdmVycmlk
ZShmYWxzZSkKICAgICAsIG1faXNFbmFibGVkKHRydWUpCiB7CiB9CiAKIFdlYlBvcHVwSXRlbTo6
V2ViUG9wdXBJdGVtKFR5cGUgdHlwZSkKICAgICA6IG1fdHlwZSh0eXBlKQotICAgICwgbV90ZXh0
RGlyZWN0aW9uKExUUikKLSAgICAsIG1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKGZhbHNlKQog
ICAgICwgbV9pc0VuYWJsZWQodHJ1ZSkKICAgICAsIG1faXNMYWJlbChmYWxzZSkKIHsKIH0KIAot
V2ViUG9wdXBJdGVtOjpXZWJQb3B1cEl0ZW0oVHlwZSB0eXBlLCBjb25zdCBTdHJpbmcmIHRleHQs
IFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbiwgYm9vbCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJp
ZGUsIGNvbnN0IFN0cmluZyYgdG9vbFRpcCwgY29uc3QgU3RyaW5nJiBhY2Nlc3NpYmlsaXR5VGV4
dCwgYm9vbCBpc0VuYWJsZWQsIGJvb2wgaXNMYWJlbCkKK1dlYlBvcHVwSXRlbTo6V2ViUG9wdXBJ
dGVtKFR5cGUgdHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBTdHJpbmcmIHRvb2xUaXAs
IGNvbnN0IFN0cmluZyYgYWNjZXNzaWJpbGl0eVRleHQsIGJvb2wgaXNFbmFibGVkLCBib29sIGlz
TGFiZWwsIGNvbnN0IFdlYlBvcHVwSXRlbVN0eWxlJiBzdHlsZSkKICAgICA6IG1fdHlwZSh0eXBl
KQogICAgICwgbV90ZXh0KHRleHQpCi0gICAgLCBtX3RleHREaXJlY3Rpb24odGV4dERpcmVjdGlv
bikKLSAgICAsIG1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKGhhc1RleHREaXJlY3Rpb25PdmVy
cmlkZSkKICAgICAsIG1fdG9vbFRpcCh0b29sVGlwKQogICAgICwgbV9hY2Nlc3NpYmlsaXR5VGV4
dChhY2Nlc3NpYmlsaXR5VGV4dCkKICAgICAsIG1faXNFbmFibGVkKGlzRW5hYmxlZCkKICAgICAs
IG1faXNMYWJlbChpc0xhYmVsKQorICAgICwgbV9zdHlsZShzdHlsZSkKIHsKIH0KIAogdm9pZCBX
ZWJQb3B1cEl0ZW06OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNv
bnN0CiB7Ci0gICAgZW5jb2Rlci0+ZW5jb2RlKENvcmVJUEM6OkluKHN0YXRpY19jYXN0PHVpbnQz
Ml90PihtX3R5cGUpLCBtX3RleHQsIHN0YXRpY19jYXN0PHVpbnQ2NF90PihtX3RleHREaXJlY3Rp
b24pLCBtX2hhc1RleHREaXJlY3Rpb25PdmVycmlkZSwgbV90b29sVGlwLCBtX2FjY2Vzc2liaWxp
dHlUZXh0LCBtX2lzRW5hYmxlZCwgbV9pc0xhYmVsKSk7CisgICAgZW5jb2Rlci0+ZW5jb2RlKENv
cmVJUEM6OkluKHN0YXRpY19jYXN0PHVpbnQzMl90PihtX3R5cGUpLCBtX3RleHQsIG1fdG9vbFRp
cCwgbV9hY2Nlc3NpYmlsaXR5VGV4dCwgbV9pc0VuYWJsZWQsIG1faXNMYWJlbCwgbV9zdHlsZSkp
OwogfQogCiBib29sIFdlYlBvcHVwSXRlbTo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rl
ciogZGVjb2RlciwgV2ViUG9wdXBJdGVtJiBpdGVtKQogewogICAgIHVpbnQzMl90IHR5cGU7CiAg
ICAgU3RyaW5nIHRleHQ7Ci0gICAgdWludDY0X3QgdGV4dERpcmVjdGlvbjsKLSAgICBib29sIGhh
c1RleHREaXJlY3Rpb25PdmVycmlkZTsKICAgICBTdHJpbmcgdG9vbFRpcDsKICAgICBTdHJpbmcg
YWNjZXNzaWJpbGl0eVRleHQ7CiAgICAgYm9vbCBpc0VuYWJsZWQ7CiAgICAgYm9vbCBpc0xhYmVs
OwotICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKENvcmVJUEM6Ok91dCh0eXBlLCB0ZXh0LCB0ZXh0
RGlyZWN0aW9uLCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUsIHRvb2xUaXAsIGFjY2Vzc2liaWxp
dHlUZXh0LCBpc0VuYWJsZWQsIGlzTGFiZWwpKSkKKyAgICBXZWJQb3B1cEl0ZW1TdHlsZSBzdHls
ZTsKKworCisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUoQ29yZUlQQzo6T3V0KHR5cGUsIHRleHQs
IHRvb2xUaXAsIGFjY2Vzc2liaWxpdHlUZXh0LCBpc0VuYWJsZWQsIGlzTGFiZWwsIHN0eWxlKSkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGl0ZW0gPSBXZWJQb3B1cEl0ZW0oc3RhdGlj
X2Nhc3Q8VHlwZT4odHlwZSksIHRleHQsIHN0YXRpY19jYXN0PFRleHREaXJlY3Rpb24+KHRleHRE
aXJlY3Rpb24pLCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUsIHRvb2xUaXAsIGFjY2Vzc2liaWxp
dHlUZXh0LCBpc0VuYWJsZWQsIGlzTGFiZWwpOworICAgIGl0ZW0gPSBXZWJQb3B1cEl0ZW0oc3Rh
dGljX2Nhc3Q8VHlwZT4odHlwZSksIHRleHQsIHRvb2xUaXAsIGFjY2Vzc2liaWxpdHlUZXh0LCBp
c0VuYWJsZWQsIGlzTGFiZWwsIHN0eWxlKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApJbmRleDog
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uaAkocmV2aXNpb24gMTExNTE1KQorKysgU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3
ICsyNiw3IEBACiAjaWZuZGVmIFdlYlBvcHVwSXRlbV9oCiAjZGVmaW5lIFdlYlBvcHVwSXRlbV9o
CiAKLSNpbmNsdWRlIDxXZWJDb3JlL1RleHREaXJlY3Rpb24uaD4KKyNpbmNsdWRlICJXZWJQb3B1
cEl0ZW1TdHlsZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3Bh
Y2UgQ29yZUlQQyB7CkBAIC00NCwxOSArNDQsMTggQEAgc3RydWN0IFdlYlBvcHVwSXRlbSB7CiAK
ICAgICBXZWJQb3B1cEl0ZW0oKTsKICAgICBXZWJQb3B1cEl0ZW0oVHlwZSk7Ci0gICAgV2ViUG9w
dXBJdGVtKFR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dCwgV2ViQ29yZTo6VGV4dERpcmVjdGlvbiwg
Ym9vbCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUsIGNvbnN0IFN0cmluZyYgdG9vbFRpcCwgY29u
c3QgU3RyaW5nJiBhY2Nlc3NpYmlsaXR5VGV4dCwgYm9vbCBpc0VuYWJsZWQsIGJvb2wgaXNMYWJl
bCk7CisgICAgV2ViUG9wdXBJdGVtKFR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3Ry
aW5nJiB0b29sVGlwLCBjb25zdCBTdHJpbmcmIGFjY2Vzc2liaWxpdHlUZXh0LCBib29sIGlzRW5h
YmxlZCwgYm9vbCBpc0xhYmVsLCBjb25zdCBXZWJQb3B1cEl0ZW1TdHlsZSYpOwogCiAgICAgdm9p
ZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKikgY29uc3Q7CiAgICAgc3RhdGljIGJv
b2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciosIFdlYlBvcHVwSXRlbSYpOwogCiAg
ICAgVHlwZSBtX3R5cGU7CiAgICAgU3RyaW5nIG1fdGV4dDsKLSAgICBXZWJDb3JlOjpUZXh0RGly
ZWN0aW9uIG1fdGV4dERpcmVjdGlvbjsKLSAgICBib29sIG1faGFzVGV4dERpcmVjdGlvbk92ZXJy
aWRlOwogICAgIFN0cmluZyBtX3Rvb2xUaXA7CiAgICAgU3RyaW5nIG1fYWNjZXNzaWJpbGl0eVRl
eHQ7CiAgICAgYm9vbCBtX2lzRW5hYmxlZDsKICAgICBib29sIG1faXNMYWJlbDsKKyAgICBXZWJQ
b3B1cEl0ZW1TdHlsZSBtX3N0eWxlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtU3R5bGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW1TdHlsZS5jcHAJKHJldmlzaW9u
IDApCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtU3R5bGUuY3BwCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAo
YykgMjAxMiBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiV2ViUG9wdXBJdGVtU3R5
bGUuaCIKKworI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzLmgiCisjaW5jbHVkZSAiQXJndW1lbnRz
LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
V2ViUG9wdXBJdGVtU3R5bGU6OldlYlBvcHVwSXRlbVN0eWxlKCkKKyAgICA6IG1faXNWaXNpYmxl
KGZhbHNlKQorICAgICwgbV9pc0Rpc3BsYXlOb25lKGZhbHNlKQorICAgICwgbV90ZXh0RGlyZWN0
aW9uKExUUikKKyAgICAsIG1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKGZhbHNlKQoreworfQor
CitXZWJQb3B1cEl0ZW1TdHlsZTo6V2ViUG9wdXBJdGVtU3R5bGUoYm9vbCBpc1Zpc2libGUsIGJv
b2wgaXNEaXNwbGF5Tm9uZSwgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uLCBib29sIGhhc1Rl
eHREaXJlY3Rpb25PdmVycmlkZSkKKyAgICA6IG1faXNWaXNpYmxlKGlzVmlzaWJsZSkKKyAgICAs
IG1faXNEaXNwbGF5Tm9uZShpc0Rpc3BsYXlOb25lKQorICAgICwgbV90ZXh0RGlyZWN0aW9uKHRl
eHREaXJlY3Rpb24pCisgICAgLCBtX2hhc1RleHREaXJlY3Rpb25PdmVycmlkZShoYXNUZXh0RGly
ZWN0aW9uT3ZlcnJpZGUpCit7Cit9CisKK3ZvaWQgV2ViUG9wdXBJdGVtU3R5bGU6OmVuY29kZShD
b3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2Rlci0+
ZW5jb2RlKENvcmVJUEM6OkluKG1faXNWaXNpYmxlLCBtX2lzRGlzcGxheU5vbmUsIHN0YXRpY19j
YXN0PHVpbnQ2NF90PihtX3RleHREaXJlY3Rpb24pLCBtX2hhc1RleHREaXJlY3Rpb25PdmVycmlk
ZSkpOworfQorCitib29sIFdlYlBvcHVwSXRlbVN0eWxlOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1l
bnREZWNvZGVyKiBkZWNvZGVyLCBXZWJQb3B1cEl0ZW1TdHlsZSYgaXRlbVN0eWxlKQoreworICAg
IGJvb2wgaXNWaXNpYmxlOworICAgIGJvb2wgaXNEaXNwbGF5Tm9uZTsKKyAgICB1aW50NjRfdCB0
ZXh0RGlyZWN0aW9uOworICAgIGJvb2wgaGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlOworCisgICAg
aWYgKCFkZWNvZGVyLT5kZWNvZGUoQ29yZUlQQzo6T3V0KGlzVmlzaWJsZSwgaXNEaXNwbGF5Tm9u
ZSwgdGV4dERpcmVjdGlvbiwgaGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKSkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGl0ZW1TdHlsZSA9IFdlYlBvcHVwSXRlbVN0eWxlKGlzVmlzaWJs
ZSwgaXNEaXNwbGF5Tm9uZSwgc3RhdGljX2Nhc3Q8VGV4dERpcmVjdGlvbj4odGV4dERpcmVjdGlv
biksIGhhc1RleHREaXJlY3Rpb25PdmVycmlkZSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdAorCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9w
dXBJdGVtU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9w
dXBJdGVtU3R5bGUuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQ
b3B1cEl0ZW1TdHlsZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRp
b25zIENvcHlyaWdodCAoYykgMjAxMiBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJQb3B1cEl0ZW1TdHlsZV9oCisjZGVm
aW5lIFdlYlBvcHVwSXRlbVN0eWxlX2gKKworI2luY2x1ZGUgPFdlYkNvcmUvQ29sb3IuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL0ZvbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1RleHREaXJlY3Rpb24u
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIENvcmVJUEMg
eworY2xhc3MgQXJndW1lbnREZWNvZGVyOworY2xhc3MgQXJndW1lbnRFbmNvZGVyOworfQorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworc3RydWN0IFdlYlBvcHVwSXRlbVN0eWxlIHsKKworICAgIFdl
YlBvcHVwSXRlbVN0eWxlKCk7CisgICAgV2ViUG9wdXBJdGVtU3R5bGUoYm9vbCwgYm9vbCwgV2Vi
Q29yZTo6VGV4dERpcmVjdGlvbiwgYm9vbCk7CisKKyAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpB
cmd1bWVudEVuY29kZXIqKSBjb25zdDsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6
QXJndW1lbnREZWNvZGVyKiwgV2ViUG9wdXBJdGVtU3R5bGUmKTsKKworICAgIGJvb2wgbV9pc1Zp
c2libGU7CisgICAgYm9vbCBtX2lzRGlzcGxheU5vbmU7CisgICAgV2ViQ29yZTo6VGV4dERpcmVj
dGlvbiBtX3RleHREaXJlY3Rpb247CisgICAgYm9vbCBtX2hhc1RleHREaXJlY3Rpb25PdmVycmlk
ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViUG9wdXBJdGVt
U3R5bGVfaApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQ
cm94eU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dl
YlBvcHVwTWVudVByb3h5TWFjLm1tCShyZXZpc2lvbiAxMTE1MTUpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1dlYlBvcHVwTWVudVByb3h5TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC03MCwxNCArNzAsMTQgQEAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eU1hYzo6cG9wdWxhdGUoY29u
cwogICAgICAgICAgICAgTlNNZW51SXRlbSAqbWVudUl0ZW0gPSBbbV9wb3B1cC5nZXQoKSBsYXN0
SXRlbV07CiAKICAgICAgICAgICAgIFJldGFpblB0cjxOU011dGFibGVQYXJhZ3JhcGhTdHlsZT4g
cGFyYWdyYXBoU3R5bGUoQWRvcHROUywgW1tOU1BhcmFncmFwaFN0eWxlIGRlZmF1bHRQYXJhZ3Jh
cGhTdHlsZV0gbXV0YWJsZUNvcHldKTsKLSAgICAgICAgICAgIE5TV3JpdGluZ0RpcmVjdGlvbiB3
cml0aW5nRGlyZWN0aW9uID0gaXRlbXNbaV0ubV90ZXh0RGlyZWN0aW9uID09IExUUiA/IE5TV3Jp
dGluZ0RpcmVjdGlvbkxlZnRUb1JpZ2h0IDogTlNXcml0aW5nRGlyZWN0aW9uUmlnaHRUb0xlZnQ7
CisgICAgICAgICAgICBOU1dyaXRpbmdEaXJlY3Rpb24gd3JpdGluZ0RpcmVjdGlvbiA9IGl0ZW1z
W2ldLm1fc3R5bGUubV90ZXh0RGlyZWN0aW9uID09IExUUiA/IE5TV3JpdGluZ0RpcmVjdGlvbkxl
ZnRUb1JpZ2h0IDogTlNXcml0aW5nRGlyZWN0aW9uUmlnaHRUb0xlZnQ7CiAgICAgICAgICAgICBb
cGFyYWdyYXBoU3R5bGUuZ2V0KCkgc2V0QmFzZVdyaXRpbmdEaXJlY3Rpb246d3JpdGluZ0RpcmVj
dGlvbl07CiAgICAgICAgICAgICBbcGFyYWdyYXBoU3R5bGUuZ2V0KCkgc2V0QWxpZ25tZW50Om1l
bnVUZXh0RGlyZWN0aW9uID09IExUUiA/IE5TTGVmdFRleHRBbGlnbm1lbnQgOiBOU1JpZ2h0VGV4
dEFsaWdubWVudF07CiAgICAgICAgICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlRGljdGlvbmFyeT4g
YXR0cmlidXRlcyhBZG9wdE5TLCBbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRXaXRo
T2JqZWN0c0FuZEtleXM6CiAgICAgICAgICAgICAgICAgcGFyYWdyYXBoU3R5bGUuZ2V0KCksIE5T
UGFyYWdyYXBoU3R5bGVBdHRyaWJ1dGVOYW1lLAogICAgICAgICAgICAgICAgIGZvbnQsIE5TRm9u
dEF0dHJpYnV0ZU5hbWUsCiAgICAgICAgICAgICBuaWxdKTsKLSAgICAgICAgICAgIGlmIChpdGVt
c1tpXS5tX2hhc1RleHREaXJlY3Rpb25PdmVycmlkZSkgeworICAgICAgICAgICAgaWYgKGl0ZW1z
W2ldLm1fc3R5bGUubV9oYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUpIHsKICAgICAgICAgICAgICAg
ICBSZXRhaW5QdHI8TlNOdW1iZXI+IHdyaXRpbmdEaXJlY3Rpb25WYWx1ZShBZG9wdE5TLCBbW05T
TnVtYmVyIGFsbG9jXSBpbml0V2l0aEludGVnZXI6d3JpdGluZ0RpcmVjdGlvbiArIE5TVGV4dFdy
aXRpbmdEaXJlY3Rpb25PdmVycmlkZV0pOwogICAgICAgICAgICAgICAgIFJldGFpblB0cjxOU0Fy
cmF5PiB3cml0aW5nRGlyZWN0aW9uQXJyYXkoQWRvcHROUywgW1tOU0FycmF5IGFsbG9jXSBpbml0
V2l0aE9iamVjdHM6d3JpdGluZ0RpcmVjdGlvblZhbHVlLmdldCgpLCBuaWxdKTsKICAgICAgICAg
ICAgICAgICBbYXR0cmlidXRlcy5nZXQoKSBzZXRPYmplY3Q6d3JpdGluZ0RpcmVjdGlvbkFycmF5
LmdldCgpIGZvcktleTpOU1dyaXRpbmdEaXJlY3Rpb25BdHRyaWJ1dGVOYW1lXTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJl
dmlzaW9uIDExMTUxNSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsOCBAQAogCQkwRjE3NEFBMzE0
MkE0Q0I3MDAzOTI1MEYgLyogV2ViR2VvbWV0cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMTc0QUEyMTQyQTRDQjYwMDM5MjUwRiAvKiBXZWJHZW9t
ZXRyeS5oICovOyB9OwogCQkwRjE3NEFBNzE0MkFBQzYxMDAzOTI1MEYgLyogV0tHZW9tZXRyeS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjE3NEFB
NjE0MkFBQzYxMDAzOTI1MEYgLyogV0tHZW9tZXRyeS5jcHAgKi87IH07CiAJCTBGQjY1OTIzMTIw
OEI0REIwMDQ0ODE2QyAvKiBEcmF3aW5nQXJlYUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjY1OTIyMTIwOEI0REIwMDQ0ODE2QyAvKiBEcmF3
aW5nQXJlYUluZm8uaCAqLzsgfTsKKwkJMTA2MUYzQjExNTIxQkU2OTAwQTFCNzEwIC8qIFdlYlBv
cHVwSXRlbVN0eWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDEwNjFGM0IwMTUyMUJFNjkwMEExQjcxMCAvKiBXZWJQb3B1cEl0ZW1TdHlsZS5jcHAg
Ki87IH07CisJCTEwNjFGM0IzMTUyMUJFN0YwMEExQjcxMCAvKiBXZWJQb3B1cEl0ZW1TdHlsZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTA2MUYzQjIx
NTIxQkU3RjAwQTFCNzEwIC8qIFdlYlBvcHVwSXRlbVN0eWxlLmggKi87IH07CiAJCTFBMDQzOTc2
MTI0RDAzNDgwMEZGQkZCNSAvKiBQbHVnaW5Qcm9jZXNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTA0Mzk3NDEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1
Z2luUHJvY2Vzcy5oICovOyB9OwogCQkxQTA0Mzk3NzEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2lu
UHJvY2Vzcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTA0Mzk3NTEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2luUHJvY2Vzcy5jcHAgKi87IH07CiAJ
CTFBMDQzQTA5MTI0RDExQTkwMEZGQkZCNSAvKiBXZWJQcm9jZXNzQ29ubmVjdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEwNDNBMDcxMjREMTFB
OTAwRkZCRkI1IC8qIFdlYlByb2Nlc3NDb25uZWN0aW9uLmggKi87IH07CkBAIC0xMDI1LDYgKzEw
MjcsOCBAQAogCQkwRjE3NEFBNjE0MkFBQzYxMDAzOTI1MEYgLyogV0tHZW9tZXRyeS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS0dlb21ldHJ5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZCNjU5MjIxMjA4QjREQjAwNDQ4MTZDIC8qIERyYXdp
bmdBcmVhSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEcmF3aW5nQXJl
YUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTA1OEM3QjFGRUE1NTg1RTEx
Q0EyQ0JCIC8qIENvY29hLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29jb2EuZnJhbWV3
b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29jb2EuZnJhbWV3b3JrOyBz
b3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQkxMDYxRjNCMDE1MjFCRTY5MDBBMUI3MTAg
LyogV2ViUG9wdXBJdGVtU3R5bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV2ViUG9wdXBJdGVtU3R5bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkxMDYxRjNCMjE1MjFCRTdGMDBBMUI3MTAgLyogV2ViUG9wdXBJdGVtU3R5bGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUG9wdXBJdGVtU3R5bGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEwNDM5NzQxMjREMDM0ODAwRkZCRkI1IC8qIFBsdWdpblBy
b2Nlc3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z2luUHJvY2Vzcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTA0Mzk3NTEyNEQwMzQ4MDBGRkJGQjUg
LyogUGx1Z2luUHJvY2Vzcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBQbHVnaW5Qcm9jZXNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEwNDNB
MDcxMjREMTFBOTAwRkZCRkI1IC8qIFdlYlByb2Nlc3NDb25uZWN0aW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlByb2Nlc3NDb25uZWN0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yNDI2LDYgKzI0MzAsOCBAQAogCQkJCUMwMzM3RERDMTI3QTUy
MUMwMDhGRjRGNCAvKiBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQuY3BwICovLAogCQkJCUJDNTc0NEVE
MTI2MzhGQjMwMDZGMEYxMiAvKiBXZWJQb3B1cEl0ZW0uY3BwICovLAogCQkJCUJDNTc0NEVFMTI2
MzhGQjMwMDZGMEYxMiAvKiBXZWJQb3B1cEl0ZW0uaCAqLywKKwkJCQkxMDYxRjNCMDE1MjFCRTY5
MDBBMUI3MTAgLyogV2ViUG9wdXBJdGVtU3R5bGUuY3BwICovLAorCQkJCTEwNjFGM0IyMTUyMUJF
N0YwMEExQjcxMCAvKiBXZWJQb3B1cEl0ZW1TdHlsZS5oICovLAogCQkJCUJDRDU5OEFCMTEyQjdG
REYwMEVDOEMyMyAvKiBXZWJQcmVmZXJlbmNlc1N0b3JlLmNwcCAqLywKIAkJCQlCQ0Q1OThBQTEx
MkI3RkRGMDBFQzhDMjMgLyogV2ViUHJlZmVyZW5jZXNTdG9yZS5oICovLAogCQkJCUJDMzA2ODIz
MTI1QTZCOTQwMEU3MTI3OCAvKiBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCAqLywK
QEAgLTQxNzgsNiArNDE4NCw3IEBACiAJCQkJMzc2MDg4MjMxNTA0MTRGNzAwRkM4MkM3IC8qIFdL
UmVuZGVyT2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzk0ODQwNDE1MEMzNTA2MDBFNTJD
RTkgLyogV2ViUmVuZGVyTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3OTQ4NDA5MTUwQzRC
OTcwMEU1MkNFOSAvKiBXS1JlbmRlckxheWVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkxMDYxRjNC
MzE1MjFCRTdGMDBBMUI3MTAgLyogV2ViUG9wdXBJdGVtU3R5bGUuaCBpbiBIZWFkZXJzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpA
QCAtNDkyMSw2ICs0OTI4LDcgQEAKIAkJCQkzNzYwODgyMjE1MDQxNEY3MDBGQzgyQzcgLyogV0tS
ZW5kZXJPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzc5NDg0MDMxNTBDMzUwNjAwRTUy
Q0U5IC8qIFdlYlJlbmRlckxheWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3OTQ4NDA4MTUw
QzRCOTcwMEU1MkNFOSAvKiBXS1JlbmRlckxheWVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTEw
NjFGM0IxMTUyMUJFNjkwMEExQjcxMCAvKiBXZWJQb3B1cEl0ZW1TdHlsZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsK
IAkJfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
UG9wdXBNZW51LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5jcHAJKHJldmlzaW9uIDExMTUxNSkKKysrIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtODcsNyArODcsMTAgQEAgVmVjdG9yPFdlYlBvcHVwSXRlbT4gV2ViUG9w
dXBNZW51Ojpwb3B1bAogICAgICAgICAgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBzdHls
aW5nIHRoZSBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9ycy4KICAgICAgICAgICAgIC8v
IEZJWE1FOiBGaW5kIGEgd2F5IHRvIGN1c3RvbWl6ZSB0ZXh0IGNvbG9yIHdoZW4gYW4gaXRlbSBp
cyBoaWdobGlnaHRlZC4KICAgICAgICAgICAgIFBvcHVwTWVudVN0eWxlIGl0ZW1TdHlsZSA9IG1f
cG9wdXBDbGllbnQtPml0ZW1TdHlsZShpKTsKLSAgICAgICAgICAgIGl0ZW1zLmFwcGVuZChXZWJQ
b3B1cEl0ZW0oV2ViUG9wdXBJdGVtOjpJdGVtLCBtX3BvcHVwQ2xpZW50LT5pdGVtVGV4dChpKSwg
aXRlbVN0eWxlLnRleHREaXJlY3Rpb24oKSwgaXRlbVN0eWxlLmhhc1RleHREaXJlY3Rpb25PdmVy
cmlkZSgpLCBtX3BvcHVwQ2xpZW50LT5pdGVtVG9vbFRpcChpKSwgbV9wb3B1cENsaWVudC0+aXRl
bUFjY2Vzc2liaWxpdHlUZXh0KGkpLCBtX3BvcHVwQ2xpZW50LT5pdGVtSXNFbmFibGVkKGkpLCBt
X3BvcHVwQ2xpZW50LT5pdGVtSXNMYWJlbChpKSkpOworCisgICAgICAgICAgICAvLyBDcmVhdGUg
dGhlIHN0eWxlIGZvciB0aGUgZWxlbWVudAorICAgICAgICAgICAgV2ViUG9wdXBJdGVtU3R5bGUg
c3R5bGUoaXRlbVN0eWxlLmlzVmlzaWJsZSgpLCBpdGVtU3R5bGUuaXNEaXNwbGF5Tm9uZSgpLCBp
dGVtU3R5bGUudGV4dERpcmVjdGlvbigpLCBpdGVtU3R5bGUuaGFzVGV4dERpcmVjdGlvbk92ZXJy
aWRlKCkpOworICAgICAgICAgICAgaXRlbXMuYXBwZW5kKFdlYlBvcHVwSXRlbShXZWJQb3B1cEl0
ZW06Okl0ZW0sIG1fcG9wdXBDbGllbnQtPml0ZW1UZXh0KGkpLCBtX3BvcHVwQ2xpZW50LT5pdGVt
VG9vbFRpcChpKSwgbV9wb3B1cENsaWVudC0+aXRlbUFjY2Vzc2liaWxpdHlUZXh0KGkpLCBtX3Bv
cHVwQ2xpZW50LT5pdGVtSXNFbmFibGVkKGkpLCBtX3BvcHVwQ2xpZW50LT5pdGVtSXNMYWJlbChp
KSwgc3R5bGUpKTsKICAgICAgICAgfQogICAgIH0KIApJbmRleDogU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDIudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQy
LnZjcHJvagkocmV2aXNpb24gMTExNTE1KQorKysgU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIu
dmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC03NzAsNiArNzcwLDE0IEBACiAJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxTaGFyZWRcV2ViUG9wdXBJdGVtLmgiCiAJCQkJPgogCQkJPC9GaWxlPgorICAgICAg
ICAgICAgICAgICAgICAgICAgPEZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
UmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcV2ViUG9wdXBJdGVtU3R5bGUuY3BwIgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA+CisgICAgICAgICAgICAgICAgICAgICAgICA8L0ZpbGU+
CisgICAgICAgICAgICAgICAgICAgICAgICA8RmlsZQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFxXZWJQb3B1cEl0ZW1TdHlsZS5oIgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CisgICAgICAgICAgICAgICAgICAgICAgICA8
L0ZpbGU+CiAJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXFdlYlByZWZlcmVu
Y2VzU3RvcmUuY3BwIgogCQkJCT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>