<?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>112916</bug_id>
          
          <creation_ts>2013-03-21 08:01:00 -0700</creation_ts>
          <short_desc>Clean up the speech recognintion API</short_desc>
          <delta_ts>2013-03-22 06:45:38 -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>WebCore Misc.</component>
          <version>528+ (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>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>80261</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tommy Widenflycht">tommyw</reporter>
          <assigned_to name="Tommy Widenflycht">tommyw</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>860342</commentid>
    <comment_count>0</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2013-03-21 08:01:00 -0700</bug_when>
    <thetext>Clean up the speach recognintion API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860350</commentid>
    <comment_count>1</comment_count>
      <attachid>194263</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2013-03-21 08:10:04 -0700</bug_when>
    <thetext>Created attachment 194263
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860351</commentid>
    <comment_count>2</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2013-03-21 08:11:45 -0700</bug_when>
    <thetext>This patch cleans away deprecated parts, fixes so that stop() can be called more than once and adds the missing emma attribute on SpeechRecognitionEvent (which is always null).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860352</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-21 08:11:47 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860400</commentid>
    <comment_count>4</comment_count>
      <attachid>194276</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2013-03-21 09:04:33 -0700</bug_when>
    <thetext>Created attachment 194276
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860619</commentid>
    <comment_count>5</comment_count>
      <attachid>194276</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-21 13:23:41 -0700</bug_when>
    <thetext>Comment on attachment 194276
Patch

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

&gt; Source/WebCore/Modules/speech/SpeechRecognitionEvent.idl:33
&gt; +    readonly attribute Document emma;

Why add this attribute if it&apos;s always null?  Perhaps we should wait to add it until it&apos;s non-null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861221</commentid>
    <comment_count>6</comment_count>
      <attachid>194276</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2013-03-22 01:27:47 -0700</bug_when>
    <thetext>Comment on attachment 194276
Patch

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

&gt;&gt; Source/WebCore/Modules/speech/SpeechRecognitionEvent.idl:33
&gt;&gt; +    readonly attribute Document emma;
&gt; 
&gt; Why add this attribute if it&apos;s always null?  Perhaps we should wait to add it until it&apos;s non-null.

The standard stipulates that if the emma functionality isn&apos;t supported this accessor should return null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861409</commentid>
    <comment_count>7</comment_count>
      <attachid>194276</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-22 06:45:34 -0700</bug_when>
    <thetext>Comment on attachment 194276
Patch

Clearing flags on attachment: 194276

Committed r146601: &lt;http://trac.webkit.org/changeset/146601&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861410</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-22 06:45:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194263</attachid>
            <date>2013-03-21 08:10:04 -0700</date>
            <delta_ts>2013-03-21 09:04:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112916-20130321160552.patch</filename>
            <type>text/plain</type>
            <size>16671</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NDYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTlkMTIwZTFjMmI1NTNh
MDcxYTY4NzBkODRmMmQ3NjUxYWQyMjcwYy4uY2U0YjY5OTE2Y2Q2YTI5N2ZjYWI2NWVjNGM3Y2Uw
YzM2NThiZDQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTAzLTIxICBUb21t
eSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIHRo
ZSBzcGVlY2ggcmVjb2duaW50aW9uIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTEyOTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjbGVhbnMgYXdheSBkZXByZWNhdGVkIHBhcnRz
LCBmaXhlcyBzbyB0aGF0IHN0b3AoKSBjYW4gYmUgY2FsbGVkIG1vcmUgdGhhbiBvbmNlIGFuZCBh
ZGRzCisgICAgICAgIHRoZSBtaXNzaW5nIGVtbWEgYXR0cmlidXRlIG9uIFNwZWVjaFJlY29nbml0
aW9uRXZlbnQgKHdoaWNoIGlzIGFsd2F5cyBudWxsKS4KKworICAgICAgICBQYXRjaCBjb3ZlcmVk
IGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVj
b2duaXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb246OnN0b3BG
dW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvbjo6YWJvcnQpOgor
ICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb246OmRpZEVuZCk6CisgICAgICAgIChX
ZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvbjo6U3BlZWNoUmVjb2duaXRpb24pOgorICAgICAgICAq
IE1vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uLmg6CisgICAgICAgIChTcGVlY2hSZWNv
Z25pdGlvbik6CisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FdmVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvbkV2ZW50OjpjcmVhdGVS
ZXN1bHQpOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb25FdmVudDo6Y3JlYXRl
Tm9NYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvbkV2ZW50OjpTcGVl
Y2hSZWNvZ25pdGlvbkV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNv
Z25pdGlvbkV2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFNwZWVjaFJlY29n
bml0aW9uRXZlbnRJbml0KToKKyAgICAgICAgKFNwZWVjaFJlY29nbml0aW9uRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb25FdmVudDo6ZW1tYSk6CisgICAgICAgICog
TW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FdmVudC5pZGw6CisKIDIwMTMtMDMtMjEg
IEtvbmRhcGFsbHkgS2FseWFuICA8a2FseWFuLmtvbmRhcGFsbHlAaW50ZWwuY29tPgogCiAgICAg
ICAgIFtFRkxdW1dlYkdMXSBJbXBsZW1lbnQgYSBjb21tb24gR3JhcGhpY3NTdXJmYWNlIEltcGxl
bWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA2ZTc4YjI3NTY2ZDgyYTA3
MGMzMGMzMjJmZWM1ZTc1OWQ1NjY3YjFmLi5kNDI5Y2MwOWY2YWJiNjU2MjVkZDVmZGNmZGY5MTBi
YTIxM2E2OTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDEzLTAzLTIxICBUb21teSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAg
ICAgIENsZWFuIHVwIHRoZSBzcGVhY2ggcmVjb2duaW50aW9uIEFQSQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyOTE2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViU3BlZWNoUmVjb2du
aXplckNsaWVudC5oOgorICAgICAgICAqIHNyYy9TcGVlY2hSZWNvZ25pdGlvbkNsaWVudFByb3h5
LmNwcDoKKyAgICAgICAgKiBzcmMvU3BlZWNoUmVjb2duaXRpb25DbGllbnRQcm94eS5oOgorICAg
ICAgICAoU3BlZWNoUmVjb2duaXRpb25DbGllbnRQcm94eSk6CisKIDIwMTMtMDMtMjAgIFNoZXJp
ZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQuICBSb2xsZWQgQ2hyb21pdW0gREVQUyB0byByMTg5NDk3LiAgUmVxdWVzdGVkIGJ5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbi5jcHAK
aW5kZXggMjEyYjIwMWQ4NGNmYzg4N2JkMzkyMWZhZjY0NmI3YzFiZWMzYzVjZi4uNjNjMDY5ZDY2
NWFjN2Y3Y2ViMjE1ODdmYzcyMzBmOTRlZjU3NmY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uLmNwcApAQCAtNjIsMTMgKzYyLDE5
IEBAIHZvaWQgU3BlZWNoUmVjb2duaXRpb246OnN0YXJ0KEV4Y2VwdGlvbkNvZGUmIGVjKQogdm9p
ZCBTcGVlY2hSZWNvZ25pdGlvbjo6c3RvcEZ1bmN0aW9uKCkKIHsKICAgICBBU1NFUlQobV9jb250
cm9sbGVyKTsKLSAgICBtX2NvbnRyb2xsZXItPnN0b3AodGhpcyk7CisgICAgaWYgKG1fc3RhcnRl
ZCAmJiAhbV9zdG9wcGluZykgeworICAgICAgICBtX3N0b3BwaW5nID0gdHJ1ZTsKKyAgICAgICAg
bV9jb250cm9sbGVyLT5zdG9wKHRoaXMpOworICAgIH0KIH0KIAogdm9pZCBTcGVlY2hSZWNvZ25p
dGlvbjo6YWJvcnQoKQogewogICAgIEFTU0VSVChtX2NvbnRyb2xsZXIpOwotICAgIG1fY29udHJv
bGxlci0+YWJvcnQodGhpcyk7CisgICAgaWYgKG1fc3RhcnRlZCAmJiAhbV9zdG9wcGluZykgewor
ICAgICAgICBtX3N0b3BwaW5nID0gdHJ1ZTsKKyAgICAgICAgbV9jb250cm9sbGVyLT5hYm9ydCh0
aGlzKTsKKyAgICB9CiB9CiAKIHZvaWQgU3BlZWNoUmVjb2duaXRpb246OmRpZFN0YXJ0QXVkaW8o
KQpAQCAtMTAxLDExICsxMDcsNiBAQCB2b2lkIFNwZWVjaFJlY29nbml0aW9uOjpkaWRFbmRBdWRp
bygpCiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5hdWRpb2Vu
ZEV2ZW50LCAvKmNhbkJ1YmJsZT0qL2ZhbHNlLCAvKmNhbmNlbGFibGU9Ki9mYWxzZSkpOwogfQog
Ci12b2lkIFNwZWVjaFJlY29nbml0aW9uOjpkaWRSZWNlaXZlUmVzdWx0KFBhc3NSZWZQdHI8U3Bl
ZWNoUmVjb2duaXRpb25SZXN1bHQ+IHJlc3VsdCwgdW5zaWduZWQgbG9uZyByZXN1bHRJbmRleCwg
UGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q+IHJlc3VsdEhpc3RvcnkpCi17
Ci0gICAgZGlzcGF0Y2hFdmVudChTcGVlY2hSZWNvZ25pdGlvbkV2ZW50OjpjcmVhdGVSZXN1bHQo
cmVzdWx0LCByZXN1bHRJbmRleCwgcmVzdWx0SGlzdG9yeSkpOwotfQotCiB2b2lkIFNwZWVjaFJl
Y29nbml0aW9uOjpkaWRSZWNlaXZlUmVzdWx0cyhjb25zdCBWZWN0b3I8UmVmUHRyPFNwZWVjaFJl
Y29nbml0aW9uUmVzdWx0PiA+JiBuZXdGaW5hbFJlc3VsdHMsIGNvbnN0IFZlY3RvcjxSZWZQdHI8
U3BlZWNoUmVjb2duaXRpb25SZXN1bHQ+ID4mIGN1cnJlbnRJbnRlcmltUmVzdWx0cykKIHsKICAg
ICB1bnNpZ25lZCBsb25nIHJlc3VsdEluZGV4ID0gbV9maW5hbFJlc3VsdHMuc2l6ZSgpOwpAQCAt
MTM5LDYgKzE0MCw3IEBAIHZvaWQgU3BlZWNoUmVjb2duaXRpb246OmRpZFN0YXJ0KCkKIHZvaWQg
U3BlZWNoUmVjb2duaXRpb246OmRpZEVuZCgpCiB7CiAgICAgbV9zdGFydGVkID0gZmFsc2U7Cisg
ICAgbV9zdG9wcGluZyA9IGZhbHNlOwogICAgIGlmICghbV9zdG9wcGVkQnlBY3RpdmVET01PYmpl
Y3QpCiAgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZW5k
RXZlbnQsIC8qY2FuQnViYmxlPSovZmFsc2UsIC8qY2FuY2VsYWJsZT0qL2ZhbHNlKSk7CiAgICAg
dW5zZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CkBAIC0xNzAsNiArMTcyLDcgQEAgU3BlZWNoUmVj
b2duaXRpb246OlNwZWVjaFJlY29nbml0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQpCiAgICAgLCBtX2NvbnRyb2xsZXIoMCkKICAgICAsIG1fc3RvcHBlZEJ5QWN0aXZlRE9NT2Jq
ZWN0KGZhbHNlKQogICAgICwgbV9zdGFydGVkKGZhbHNlKQorICAgICwgbV9zdG9wcGluZyhmYWxz
ZSkKIHsKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSB0b0RvY3VtZW50KHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNo
L1NwZWVjaFJlY29nbml0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVl
Y2hSZWNvZ25pdGlvbi5oCmluZGV4IDY0M2RkYThiODMxOThiMTg5ODMyYTVlNTcxZDI0ZTFiYWZh
YTkyNjEuLjUwNTNiY2ZhN2E0YmQ0MjZkNzhlOWEzYWEyZWNmNzhmNTAyM2RjODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb24uaApAQCAt
NzQsOCArNzQsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRFbmRTb3VuZCgpOwogICAgIHZvaWQg
ZGlkRW5kQXVkaW8oKTsKICAgICB2b2lkIGRpZFJlY2VpdmVSZXN1bHRzKGNvbnN0IFZlY3RvcjxS
ZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHQ+ID4mIG5ld0ZpbmFsUmVzdWx0cywgY29uc3Qg
VmVjdG9yPFJlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4gPiYgY3VycmVudEludGVyaW1S
ZXN1bHRzKTsKLSAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSB3ZSBzdGFydCB1c2luZyBk
aWRSZWNlaXZlUmVzdWx0cy4KLSAgICB2b2lkIGRpZFJlY2VpdmVSZXN1bHQoUGFzc1JlZlB0cjxT
cGVlY2hSZWNvZ25pdGlvblJlc3VsdD4sIHVuc2lnbmVkIGxvbmcgcmVzdWx0SW5kZXgsIFBhc3NS
ZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0PiByZXN1bHRIaXN0b3J5KTsKICAgICB2
b2lkIGRpZFJlY2VpdmVOb01hdGNoKFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHQ+
KTsKICAgICB2b2lkIGRpZFJlY2VpdmVFcnJvcihQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9u
RXJyb3I+KTsKICAgICB2b2lkIGRpZFN0YXJ0KCk7CkBAIC0xMjYsNiArMTI0LDcgQEAgcHJpdmF0
ZToKICAgICBTcGVlY2hSZWNvZ25pdGlvbkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKICAgICBi
b29sIG1fc3RvcHBlZEJ5QWN0aXZlRE9NT2JqZWN0OwogICAgIGJvb2wgbV9zdGFydGVkOworICAg
IGJvb2wgbV9zdG9wcGluZzsKICAgICBWZWN0b3I8UmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVz
dWx0PiA+IG1fZmluYWxSZXN1bHRzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmNwcAppbmRleCAyYjQxYTU5
MzQ3ZTNmZDg4NDQ1ZTU4YTBhYjE1NzQ3YjQ0NTFmMjhlLi5kMmQ2YmU2ZThhZmJkMjg0ZmYyYzNj
NDU5YmU5YzJhMGQzZTIzMTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Nw
ZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmNwcApAQCAtNDYsMTkgKzQ2LDIwIEBA
IFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25FdmVudD4gU3BlZWNoUmVjb2duaXRpb25FdmVu
dDo6Y3JlYXRlKGNvbnN0IEF0b21pY1N0CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTcGVlY2hS
ZWNvZ25pdGlvbkV2ZW50KGV2ZW50TmFtZSwgaW5pdGlhbGl6ZXIpKTsKIH0KIAotUGFzc1JlZlB0
cjxTcGVlY2hSZWNvZ25pdGlvbkV2ZW50PiBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50OjpjcmVhdGVS
ZXN1bHQoUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4gcmVzdWx0LCBzaG9ydCBy
ZXN1bHRJbmRleCwgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q+IHJlc3Vs
dEhpc3RvcnkpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTcGVlY2hSZWNvZ25pdGlvbkV2
ZW50KGV2ZW50TmFtZXMoKS5yZXN1bHRFdmVudCwgcmVzdWx0LCByZXN1bHRJbmRleCwgcmVzdWx0
SGlzdG9yeSkpOwotfQotCiBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uRXZlbnQ+IFNwZWVj
aFJlY29nbml0aW9uRXZlbnQ6OmNyZWF0ZVJlc3VsdCh1bnNpZ25lZCBsb25nIHJlc3VsdEluZGV4
LCBjb25zdCBWZWN0b3I8UmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiA+JiByZXN1bHRz
KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3BlZWNoUmVjb2duaXRpb25FdmVudChldmVu
dE5hbWVzKCkucmVzdWx0RXZlbnQsIHJlc3VsdEluZGV4LCByZXN1bHRzKSk7CisgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KGV2ZW50TmFtZXMoKS5yZXN1bHRF
dmVudCwgcmVzdWx0SW5kZXgsIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdDo6Y3JlYXRlKHJl
c3VsdHMpKSk7CiB9CiAKIFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25FdmVudD4gU3BlZWNo
UmVjb2duaXRpb25FdmVudDo6Y3JlYXRlTm9NYXRjaChQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0
aW9uUmVzdWx0PiByZXN1bHQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTcGVlY2hSZWNv
Z25pdGlvbkV2ZW50KGV2ZW50TmFtZXMoKS5ub21hdGNoRXZlbnQsIHJlc3VsdCwgMCwgMCkpOwor
ICAgIGlmIChyZXN1bHQpIHsKKyAgICAgICAgVmVjdG9yPFJlZlB0cjxTcGVlY2hSZWNvZ25pdGlv
blJlc3VsdD4gPiByZXN1bHRzOworICAgICAgICByZXN1bHRzLmFwcGVuZChyZXN1bHQpOworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNwZWVjaFJlY29nbml0aW9uRXZlbnQoZXZlbnROYW1l
cygpLm5vbWF0Y2hFdmVudCwgMCwgU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0OjpjcmVhdGUo
cmVzdWx0cykpKTsKKyAgICB9CisKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNwZWVjaFJlY29n
bml0aW9uRXZlbnQoZXZlbnROYW1lcygpLm5vbWF0Y2hFdmVudCwgMCwgMCkpOwogfQogCiBjb25z
dCBBdG9taWNTdHJpbmcmIFNwZWVjaFJlY29nbml0aW9uRXZlbnQ6OmludGVyZmFjZU5hbWUoKSBj
b25zdApAQCAtNzQsMjMgKzc1LDE0IEBAIFNwZWVjaFJlY29nbml0aW9uRXZlbnQ6OlNwZWVjaFJl
Y29nbml0aW9uRXZlbnQoKQogU3BlZWNoUmVjb2duaXRpb25FdmVudDo6U3BlZWNoUmVjb2duaXRp
b25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50TmFtZSwgY29uc3QgU3BlZWNoUmVjb2du
aXRpb25FdmVudEluaXQmIGluaXRpYWxpemVyKQogICAgIDogRXZlbnQoZXZlbnROYW1lLCBpbml0
aWFsaXplcikKICAgICAsIG1fcmVzdWx0SW5kZXgoaW5pdGlhbGl6ZXIucmVzdWx0SW5kZXgpCi0g
ICAgLCBtX3Jlc3VsdChpbml0aWFsaXplci5yZXN1bHQpCi0gICAgLCBtX3Jlc3VsdEhpc3Rvcnko
aW5pdGlhbGl6ZXIucmVzdWx0SGlzdG9yeSkKLXsKLX0KLQotU3BlZWNoUmVjb2duaXRpb25FdmVu
dDo6U3BlZWNoUmVjb2duaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50TmFtZSwg
UGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4gcmVzdWx0LCBzaG9ydCByZXN1bHRJ
bmRleCwgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q+IHJlc3VsdEhpc3Rv
cnkpCi0gICAgOiBFdmVudChldmVudE5hbWUsIC8qY2FuQnViYmxlPSovZmFsc2UsIC8qY2FuY2Vs
YWJsZT0qL2ZhbHNlKQotICAgICwgbV9yZXN1bHRJbmRleChyZXN1bHRJbmRleCkKLSAgICAsIG1f
cmVzdWx0KHJlc3VsdCkKLSAgICAsIG1fcmVzdWx0SGlzdG9yeShyZXN1bHRIaXN0b3J5KQorICAg
ICwgbV9yZXN1bHRzKGluaXRpYWxpemVyLnJlc3VsdHMpCiB7CiB9CiAKLVNwZWVjaFJlY29nbml0
aW9uRXZlbnQ6OlNwZWVjaFJlY29nbml0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVu
dE5hbWUsIHVuc2lnbmVkIGxvbmcgcmVzdWx0SW5kZXgsIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3Bl
ZWNoUmVjb2duaXRpb25SZXN1bHQ+ID4mIHJlc3VsdHMpCitTcGVlY2hSZWNvZ25pdGlvbkV2ZW50
OjpTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lLCB1
bnNpZ25lZCBsb25nIHJlc3VsdEluZGV4LCBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVz
dWx0TGlzdD4gcmVzdWx0cykKICAgICA6IEV2ZW50KGV2ZW50TmFtZSwgLypjYW5CdWJibGU9Ki9m
YWxzZSwgLypjYW5jZWxhYmxlPSovZmFsc2UpCiAgICAgLCBtX3Jlc3VsdEluZGV4KHJlc3VsdElu
ZGV4KQotICAgICwgbV9yZXN1bHRzKFNwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdDo6Y3JlYXRl
KHJlc3VsdHMpKQorICAgICwgbV9yZXN1bHRzKHJlc3VsdHMpCiB7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuaApp
bmRleCAyMmYwZTljZDg2NTk3ZWQwNzYxMDAwYWZlMGNmNTAxYWM5MjkzODhhLi42NTBhYTZlY2U5
ZDkwNjM4YmUzN2MxM2YxNTA0NTM1NjgxM2E0MWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FdmVudC5oCkBAIC0yOSwyNCAr
MjksMTcgQEAKICNpZiBFTkFCTEUoU0NSSVBURURfU1BFRUNIKQogCiAjaW5jbHVkZSAiRXZlbnQu
aCIKLSNpbmNsdWRlICJTcGVlY2hSZWNvZ25pdGlvbkVycm9yLmgiCiAjaW5jbHVkZSAiU3BlZWNo
UmVjb2duaXRpb25SZXN1bHQuaCIKICNpbmNsdWRlICJTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExp
c3QuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgU3BlZWNoUmVjb2duaXRpb25FcnJvcjsKLWNsYXNzIFNwZWVjaFJlY29nbml0aW9uUmVz
dWx0OwotY2xhc3MgU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0OworY2xhc3MgRG9jdW1lbnQ7
CiAKIHN0cnVjdCBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50SW5pdCA6IHB1YmxpYyBFdmVudEluaXQg
ewogICAgIFNwZWVjaFJlY29nbml0aW9uRXZlbnRJbml0KCk7CiAKLSAgICAvLyBERVBSRUNBVEVE
Ci0gICAgUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiByZXN1bHQ7Ci0gICAgUmVmUHRy
PFNwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdD4gcmVzdWx0SGlzdG9yeTsKLQogICAgIHVuc2ln
bmVkIGxvbmcgcmVzdWx0SW5kZXg7CiAgICAgUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0
TGlzdD4gcmVzdWx0czsKIH07CkBAIC01NywxOCArNTAsMTIgQEAgcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNT
dHJpbmcmLCBjb25zdCBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50SW5pdCYpOwogICAgIHZpcnR1YWwg
flNwZWVjaFJlY29nbml0aW9uRXZlbnQoKTsKIAotICAgIC8vIERFUFJFQ0FURUQKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvbkV2ZW50PiBjcmVhdGVSZXN1bHQoUGFzc1Jl
ZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4sIHNob3J0IHJlc3VsdEluZGV4LCBQYXNzUmVm
UHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdD4gcmVzdWx0SGlzdG9yeSk7Ci0KICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvbkV2ZW50PiBjcmVhdGVSZXN1bHQodW5z
aWduZWQgbG9uZyByZXN1bHRJbmRleCwgY29uc3QgVmVjdG9yPFJlZlB0cjxTcGVlY2hSZWNvZ25p
dGlvblJlc3VsdD4gPiYgcmVzdWx0cyk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3BlZWNoUmVj
b2duaXRpb25FdmVudD4gY3JlYXRlTm9NYXRjaChQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9u
UmVzdWx0Pik7CiAKICAgICB1bnNpZ25lZCBsb25nIHJlc3VsdEluZGV4KCkgY29uc3QgeyByZXR1
cm4gbV9yZXN1bHRJbmRleDsgfQogICAgIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdCogcmVz
dWx0cygpIGNvbnN0IHsgcmV0dXJuIG1fcmVzdWx0cy5nZXQoKTsgfQotCi0gICAgLy8gREVQUkVD
QVRFRAotICAgIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0KiByZXN1bHQoKSBjb25zdCB7IHJldHVy
biBtX3Jlc3VsdC5nZXQoKTsgfQotICAgIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdCogcmVz
dWx0SGlzdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzdWx0SGlzdG9yeS5nZXQoKTsgfQorICAg
IERvY3VtZW50KiBlbW1hKCkgeyByZXR1cm4gMDsgfQogCiAgICAgLy8gRXZlbnQKICAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0IE9WRVJSSURFOwpA
QCAtNzYsMTYgKzYzLDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU3BlZWNoUmVjb2duaXRp
b25FdmVudCgpOwogICAgIFNwZWVjaFJlY29nbml0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5n
JiwgY29uc3QgU3BlZWNoUmVjb2duaXRpb25FdmVudEluaXQmKTsKLSAgICBTcGVlY2hSZWNvZ25p
dGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lLCBQYXNzUmVmUHRyPFNwZWVj
aFJlY29nbml0aW9uUmVzdWx0Piwgc2hvcnQgcmVzdWx0SW5kZXgsIFBhc3NSZWZQdHI8U3BlZWNo
UmVjb2duaXRpb25SZXN1bHRMaXN0PiByZXN1bHRIaXN0b3J5KTsgLy8gRklYTUU6IFJlbW92ZS4K
LSAgICBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1l
LCB1bnNpZ25lZCBsb25nIHJlc3VsdEluZGV4LCBjb25zdCBWZWN0b3I8UmVmUHRyPFNwZWVjaFJl
Y29nbml0aW9uUmVzdWx0PiA+JiByZXN1bHRzKTsKLSAgICBleHBsaWNpdCBTcGVlY2hSZWNvZ25p
dGlvbkV2ZW50KFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25FcnJvcj4pOworICAgIFNwZWVj
aFJlY29nbml0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudE5hbWUsIHVuc2lnbmVk
IGxvbmcgcmVzdWx0SW5kZXgsIFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0
PiByZXN1bHRzKTsKIAogICAgIHVuc2lnbmVkIGxvbmcgbV9yZXN1bHRJbmRleDsKICAgICBSZWZQ
dHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0PiBtX3Jlc3VsdHM7Ci0KLSAgICAvLyBERVBS
RUNBVEVECi0gICAgUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiBtX3Jlc3VsdDsKLSAg
ICBSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0PiBtX3Jlc3VsdEhpc3Rvcnk7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuaWRsCmluZGV4IDE4NGMyZTk4
ZDM4OGM1YTAyNzk2OGZiOTkyMDRlZTc4YjAzOGIxMzkuLjYxNmQ3NTBkMmE0ZDIxYjZiMjY1NDY2
Y2JjMDNlNjc3MzAwMDEzYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Bl
ZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuaWRsCkBAIC0yNywxMSArMjcsOCBAQAog
ICAgIENvbmRpdGlvbmFsPVNDUklQVEVEX1NQRUVDSCwKICAgICBDb25zdHJ1Y3RvclRlbXBsYXRl
PUV2ZW50LAogXSBpbnRlcmZhY2UgU3BlZWNoUmVjb2duaXRpb25FdmVudCA6IEV2ZW50IHsKLSAg
ICAvLyBERVBSRUNBVEVECi0gICAgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSByZWFk
b25seSBhdHRyaWJ1dGUgU3BlZWNoUmVjb2duaXRpb25SZXN1bHQgcmVzdWx0OwotICAgIFtJbml0
aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gcmVhZG9ubHkgYXR0cmlidXRlIFNwZWVjaFJlY29n
bml0aW9uUmVzdWx0TGlzdCByZXN1bHRIaXN0b3J5OwotCiAgICAgW0luaXRpYWxpemVkQnlFdmVu
dENvbnN0cnVjdG9yXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyByZXN1bHRJbmRl
eDsKICAgICBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QgcmVzdWx0czsKLSAgICAvLyBGSVhNRTogQWRk
IHRoZSBlbW1hIGF0dHJpYnV0ZS4KKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBEb2N1bWVudCBl
bW1hOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNw
ZWVjaFJlY29nbml6ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YlNwZWVjaFJlY29nbml6ZXJDbGllbnQuaAppbmRleCA3ZGI2MGM5ZGViYTdkYmJiODE1NDY0Njc3
MjhiMDBlYzgwZDk2OTk3Li4xOTU3NjZlZjAyNDk1NzA2NTI0MzNjYTkzNjkwNmEzNDY4MzllMjE4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTcGVlY2hSZWNv
Z25pemVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU3Bl
ZWNoUmVjb2duaXplckNsaWVudC5oCkBAIC02NywxMCArNjcsNiBAQCBwdWJsaWM6CiAgICAgLy8g
VGhpcyBpcyBleHBlY3RlZCB0byBiZSBjYWxsZWQgYWZ0ZXIgZGlkRW5kU291bmQuCiAgICAgdmly
dHVhbCB2b2lkIGRpZEVuZEF1ZGlvKGNvbnN0IFdlYlNwZWVjaFJlY29nbml0aW9uSGFuZGxlJikg
PSAwOwogCi0gICAgLy8gVG8gYmUgY2FsbGVkIHdoZW4gdGhlIHNwZWVjaCByZWNvZ25pemVyIHJl
dHVybnMgYSByZXN1bHQuCi0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIHdoZW4gd2UgaGF2ZSBt
b3ZlZCBvdmVyIHRvIG9ubHkgdXNlIHRoZSBmdW5jdGlvbiBiZWxvdy4KLSAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVjZWl2ZVJlc3VsdChjb25zdCBXZWJTcGVlY2hSZWNvZ25pdGlvbkhhbmRsZSYsIGNv
bnN0IFdlYlNwZWVjaFJlY29nbml0aW9uUmVzdWx0JiwgdW5zaWduZWQgbG9uZyByZXN1bHRJbmRl
eCwgY29uc3QgV2ViVmVjdG9yPFdlYlNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiYgcmVzdWx0SGlz
dG9yeSkgPSAwOwotCiAgICAgLy8gVG8gYmUgY2FsbGVkIHdoZW4gdGhlIHNwZWVjaCByZWNvZ25p
emVyIHByb3ZpZGVzIG5ldyByZXN1bHRzLgogICAgIC8vIC0gbmV3RmluYWxSZXN1bHRzIGNvbnRh
aW5zIHplcm8gb3IgbW9yZSBmaW5hbCByZXN1bHRzIHRoYXQgYXJlIG5ldyBzaW5jZQogICAgIC8v
IHRoZSBsYXN0IHRpbWUgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TcGVlY2hSZWNvZ25pdGlvbkNsaWVudFByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NwZWVjaFJlY29nbml0aW9uQ2xpZW50UHJveHku
Y3BwCmluZGV4IDQzZTI4NjBjYzUzOGUyNmJiZDllMWJjMjA3YmE4NGU3ZmNiMWUwYmQuLjIyNjJm
NDYxNWEyNmYyNTk1NDliNDA1NzkyOWU0NDIyYzE2YTg5NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1NwZWVjaFJlY29nbml0aW9uQ2xpZW50UHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NwZWVjaFJlY29nbml0aW9uQ2xpZW50UHJveHku
Y3BwCkBAIC0xMDEsMTggKzEwMSw2IEBAIHZvaWQgU3BlZWNoUmVjb2duaXRpb25DbGllbnRQcm94
eTo6ZGlkRW5kQXVkaW8oY29uc3QgV2ViU3BlZWNoUmVjb2duaXRpb25IYW5kbGUmCiAgICAgcmVj
b2duaXRpb24tPmRpZEVuZEF1ZGlvKCk7CiB9CiAKLXZvaWQgU3BlZWNoUmVjb2duaXRpb25DbGll
bnRQcm94eTo6ZGlkUmVjZWl2ZVJlc3VsdChjb25zdCBXZWJTcGVlY2hSZWNvZ25pdGlvbkhhbmRs
ZSYgaGFuZGxlLCBjb25zdCBXZWJTcGVlY2hSZWNvZ25pdGlvblJlc3VsdCYgcmVzdWx0LCB1bnNp
Z25lZCBsb25nIHJlc3VsdEluZGV4LCBjb25zdCBXZWJWZWN0b3I8V2ViU3BlZWNoUmVjb2duaXRp
b25SZXN1bHQ+JiByZXN1bHRIaXN0b3J5KQotewotICAgIFJlZlB0cjxTcGVlY2hSZWNvZ25pdGlv
bj4gcmVjb2duaXRpb24gPSBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uPihoYW5kbGUpOwot
Ci0gICAgVmVjdG9yPFJlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4gPiByZXN1bHRIaXN0
b3J5VmVjdG9yKHJlc3VsdEhpc3Rvcnkuc2l6ZSgpKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IHJlc3VsdEhpc3Rvcnkuc2l6ZSgpOyArK2kpCi0gICAgICAgIHJlc3VsdEhpc3RvcnlWZWN0
b3JbaV0gPSBzdGF0aWNfY2FzdDxQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiA+
KHJlc3VsdEhpc3RvcnlbaV0pOwotCi0gICAgcmVjb2duaXRpb24tPmRpZFJlY2VpdmVSZXN1bHQo
cmVzdWx0LCByZXN1bHRJbmRleCwgU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0OjpjcmVhdGUo
cmVzdWx0SGlzdG9yeVZlY3RvcikpOwotCi19Ci0KIHZvaWQgU3BlZWNoUmVjb2duaXRpb25DbGll
bnRQcm94eTo6ZGlkUmVjZWl2ZVJlc3VsdHMoY29uc3QgV2ViU3BlZWNoUmVjb2duaXRpb25IYW5k
bGUmIGhhbmRsZSwgY29uc3QgV2ViVmVjdG9yPFdlYlNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiYg
bmV3RmluYWxSZXN1bHRzLCBjb25zdCBXZWJWZWN0b3I8V2ViU3BlZWNoUmVjb2duaXRpb25SZXN1
bHQ+JiBjdXJyZW50SW50ZXJpbVJlc3VsdHMpCiB7CiAgICAgUmVmUHRyPFNwZWVjaFJlY29nbml0
aW9uPiByZWNvZ25pdGlvbiA9IFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb24+KGhhbmRsZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TcGVlY2hSZWNvZ25pdGlv
bkNsaWVudFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TcGVlY2hSZWNvZ25p
dGlvbkNsaWVudFByb3h5LmgKaW5kZXggMTU5NThkNGZiZDc2MTY2NmE4YmUzNjZjZmVlZmZlOGQ3
YTVlYWFkNS4uZGRmNzU3YzdlNTE5YTI3YzViMjNmZTk3NTZhZTcwMTEzMTA5YjdhMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU3BlZWNoUmVjb2duaXRpb25DbGllbnRQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NwZWVjaFJlY29nbml0aW9u
Q2xpZW50UHJveHkuaApAQCAtNTUsNyArNTUsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGRpZFN0YXJ0U291bmQoY29uc3QgV2ViU3BlZWNoUmVjb2duaXRpb25IYW5kbGUmKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kU291bmQoY29uc3QgV2ViU3BlZWNoUmVjb2duaXRp
b25IYW5kbGUmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kQXVkaW8oY29uc3Qg
V2ViU3BlZWNoUmVjb2duaXRpb25IYW5kbGUmKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZVJlc3VsdChjb25zdCBXZWJTcGVlY2hSZWNvZ25pdGlvbkhhbmRsZSYsIGNvbnN0
IFdlYlNwZWVjaFJlY29nbml0aW9uUmVzdWx0JiwgdW5zaWduZWQgbG9uZyByZXN1bHRJbmRleCwg
Y29uc3QgV2ViVmVjdG9yPFdlYlNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiYgcmVzdWx0SGlzdG9y
eSkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXN1bHRzKGNvbnN0IFdl
YlNwZWVjaFJlY29nbml0aW9uSGFuZGxlJiwgY29uc3QgV2ViVmVjdG9yPFdlYlNwZWVjaFJlY29n
bml0aW9uUmVzdWx0PiYgbmV3RmluYWxSZXN1bHRzLCBjb25zdCBXZWJWZWN0b3I8V2ViU3BlZWNo
UmVjb2duaXRpb25SZXN1bHQ+JiBjdXJyZW50SW50ZXJpbVJlc3VsdHMpIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTm9NYXRjaChjb25zdCBXZWJTcGVlY2hSZWNvZ25pdGlv
bkhhbmRsZSYsIGNvbnN0IFdlYlNwZWVjaFJlY29nbml0aW9uUmVzdWx0JikgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVFcnJvcihjb25zdCBXZWJTcGVlY2hSZWNvZ25pdGlv
bkhhbmRsZSYsIGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSwgV2ViU3BlZWNoUmVjb2duaXplckNs
aWVudDo6RXJyb3JDb2RlKSBPVkVSUklERTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194276</attachid>
            <date>2013-03-21 09:04:33 -0700</date>
            <delta_ts>2013-03-22 06:45:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112916-20130321170021.patch</filename>
            <type>text/plain</type>
            <size>19885</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NDYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTlkMTIwZTFjMmI1NTNh
MDcxYTY4NzBkODRmMmQ3NjUxYWQyMjcwYy4uY2U0YjY5OTE2Y2Q2YTI5N2ZjYWI2NWVjNGM3Y2Uw
YzM2NThiZDQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTAzLTIxICBUb21t
eSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIHRo
ZSBzcGVlY2ggcmVjb2duaW50aW9uIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTEyOTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjbGVhbnMgYXdheSBkZXByZWNhdGVkIHBhcnRz
LCBmaXhlcyBzbyB0aGF0IHN0b3AoKSBjYW4gYmUgY2FsbGVkIG1vcmUgdGhhbiBvbmNlIGFuZCBh
ZGRzCisgICAgICAgIHRoZSBtaXNzaW5nIGVtbWEgYXR0cmlidXRlIG9uIFNwZWVjaFJlY29nbml0
aW9uRXZlbnQgKHdoaWNoIGlzIGFsd2F5cyBudWxsKS4KKworICAgICAgICBQYXRjaCBjb3ZlcmVk
IGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVj
b2duaXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb246OnN0b3BG
dW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvbjo6YWJvcnQpOgor
ICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb246OmRpZEVuZCk6CisgICAgICAgIChX
ZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvbjo6U3BlZWNoUmVjb2duaXRpb24pOgorICAgICAgICAq
IE1vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uLmg6CisgICAgICAgIChTcGVlY2hSZWNv
Z25pdGlvbik6CisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FdmVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvbkV2ZW50OjpjcmVhdGVS
ZXN1bHQpOgorICAgICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb25FdmVudDo6Y3JlYXRl
Tm9NYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpTcGVlY2hSZWNvZ25pdGlvbkV2ZW50OjpTcGVl
Y2hSZWNvZ25pdGlvbkV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNv
Z25pdGlvbkV2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFNwZWVjaFJlY29n
bml0aW9uRXZlbnRJbml0KToKKyAgICAgICAgKFNwZWVjaFJlY29nbml0aW9uRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6U3BlZWNoUmVjb2duaXRpb25FdmVudDo6ZW1tYSk6CisgICAgICAgICog
TW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FdmVudC5pZGw6CisKIDIwMTMtMDMtMjEg
IEtvbmRhcGFsbHkgS2FseWFuICA8a2FseWFuLmtvbmRhcGFsbHlAaW50ZWwuY29tPgogCiAgICAg
ICAgIFtFRkxdW1dlYkdMXSBJbXBsZW1lbnQgYSBjb21tb24gR3JhcGhpY3NTdXJmYWNlIEltcGxl
bWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA2ZTc4YjI3NTY2ZDgyYTA3
MGMzMGMzMjJmZWM1ZTc1OWQ1NjY3YjFmLi5kNDI5Y2MwOWY2YWJiNjU2MjVkZDVmZGNmZGY5MTBi
YTIxM2E2OTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDEzLTAzLTIxICBUb21teSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAg
ICAgIENsZWFuIHVwIHRoZSBzcGVhY2ggcmVjb2duaW50aW9uIEFQSQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyOTE2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViU3BlZWNoUmVjb2du
aXplckNsaWVudC5oOgorICAgICAgICAqIHNyYy9TcGVlY2hSZWNvZ25pdGlvbkNsaWVudFByb3h5
LmNwcDoKKyAgICAgICAgKiBzcmMvU3BlZWNoUmVjb2duaXRpb25DbGllbnRQcm94eS5oOgorICAg
ICAgICAoU3BlZWNoUmVjb2duaXRpb25DbGllbnRQcm94eSk6CisKIDIwMTMtMDMtMjAgIFNoZXJp
ZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQuICBSb2xsZWQgQ2hyb21pdW0gREVQUyB0byByMTg5NDk3LiAgUmVxdWVzdGVkIGJ5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbi5jcHAK
aW5kZXggMjEyYjIwMWQ4NGNmYzg4N2JkMzkyMWZhZjY0NmI3YzFiZWMzYzVjZi4uNjNjMDY5ZDY2
NWFjN2Y3Y2ViMjE1ODdmYzcyMzBmOTRlZjU3NmY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uLmNwcApAQCAtNjIsMTMgKzYyLDE5
IEBAIHZvaWQgU3BlZWNoUmVjb2duaXRpb246OnN0YXJ0KEV4Y2VwdGlvbkNvZGUmIGVjKQogdm9p
ZCBTcGVlY2hSZWNvZ25pdGlvbjo6c3RvcEZ1bmN0aW9uKCkKIHsKICAgICBBU1NFUlQobV9jb250
cm9sbGVyKTsKLSAgICBtX2NvbnRyb2xsZXItPnN0b3AodGhpcyk7CisgICAgaWYgKG1fc3RhcnRl
ZCAmJiAhbV9zdG9wcGluZykgeworICAgICAgICBtX3N0b3BwaW5nID0gdHJ1ZTsKKyAgICAgICAg
bV9jb250cm9sbGVyLT5zdG9wKHRoaXMpOworICAgIH0KIH0KIAogdm9pZCBTcGVlY2hSZWNvZ25p
dGlvbjo6YWJvcnQoKQogewogICAgIEFTU0VSVChtX2NvbnRyb2xsZXIpOwotICAgIG1fY29udHJv
bGxlci0+YWJvcnQodGhpcyk7CisgICAgaWYgKG1fc3RhcnRlZCAmJiAhbV9zdG9wcGluZykgewor
ICAgICAgICBtX3N0b3BwaW5nID0gdHJ1ZTsKKyAgICAgICAgbV9jb250cm9sbGVyLT5hYm9ydCh0
aGlzKTsKKyAgICB9CiB9CiAKIHZvaWQgU3BlZWNoUmVjb2duaXRpb246OmRpZFN0YXJ0QXVkaW8o
KQpAQCAtMTAxLDExICsxMDcsNiBAQCB2b2lkIFNwZWVjaFJlY29nbml0aW9uOjpkaWRFbmRBdWRp
bygpCiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5hdWRpb2Vu
ZEV2ZW50LCAvKmNhbkJ1YmJsZT0qL2ZhbHNlLCAvKmNhbmNlbGFibGU9Ki9mYWxzZSkpOwogfQog
Ci12b2lkIFNwZWVjaFJlY29nbml0aW9uOjpkaWRSZWNlaXZlUmVzdWx0KFBhc3NSZWZQdHI8U3Bl
ZWNoUmVjb2duaXRpb25SZXN1bHQ+IHJlc3VsdCwgdW5zaWduZWQgbG9uZyByZXN1bHRJbmRleCwg
UGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q+IHJlc3VsdEhpc3RvcnkpCi17
Ci0gICAgZGlzcGF0Y2hFdmVudChTcGVlY2hSZWNvZ25pdGlvbkV2ZW50OjpjcmVhdGVSZXN1bHQo
cmVzdWx0LCByZXN1bHRJbmRleCwgcmVzdWx0SGlzdG9yeSkpOwotfQotCiB2b2lkIFNwZWVjaFJl
Y29nbml0aW9uOjpkaWRSZWNlaXZlUmVzdWx0cyhjb25zdCBWZWN0b3I8UmVmUHRyPFNwZWVjaFJl
Y29nbml0aW9uUmVzdWx0PiA+JiBuZXdGaW5hbFJlc3VsdHMsIGNvbnN0IFZlY3RvcjxSZWZQdHI8
U3BlZWNoUmVjb2duaXRpb25SZXN1bHQ+ID4mIGN1cnJlbnRJbnRlcmltUmVzdWx0cykKIHsKICAg
ICB1bnNpZ25lZCBsb25nIHJlc3VsdEluZGV4ID0gbV9maW5hbFJlc3VsdHMuc2l6ZSgpOwpAQCAt
MTM5LDYgKzE0MCw3IEBAIHZvaWQgU3BlZWNoUmVjb2duaXRpb246OmRpZFN0YXJ0KCkKIHZvaWQg
U3BlZWNoUmVjb2duaXRpb246OmRpZEVuZCgpCiB7CiAgICAgbV9zdGFydGVkID0gZmFsc2U7Cisg
ICAgbV9zdG9wcGluZyA9IGZhbHNlOwogICAgIGlmICghbV9zdG9wcGVkQnlBY3RpdmVET01PYmpl
Y3QpCiAgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZW5k
RXZlbnQsIC8qY2FuQnViYmxlPSovZmFsc2UsIC8qY2FuY2VsYWJsZT0qL2ZhbHNlKSk7CiAgICAg
dW5zZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CkBAIC0xNzAsNiArMTcyLDcgQEAgU3BlZWNoUmVj
b2duaXRpb246OlNwZWVjaFJlY29nbml0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQpCiAgICAgLCBtX2NvbnRyb2xsZXIoMCkKICAgICAsIG1fc3RvcHBlZEJ5QWN0aXZlRE9NT2Jq
ZWN0KGZhbHNlKQogICAgICwgbV9zdGFydGVkKGZhbHNlKQorICAgICwgbV9zdG9wcGluZyhmYWxz
ZSkKIHsKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSB0b0RvY3VtZW50KHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNo
L1NwZWVjaFJlY29nbml0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVl
Y2hSZWNvZ25pdGlvbi5oCmluZGV4IDY0M2RkYThiODMxOThiMTg5ODMyYTVlNTcxZDI0ZTFiYWZh
YTkyNjEuLjUwNTNiY2ZhN2E0YmQ0MjZkNzhlOWEzYWEyZWNmNzhmNTAyM2RjODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb24uaApAQCAt
NzQsOCArNzQsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRFbmRTb3VuZCgpOwogICAgIHZvaWQg
ZGlkRW5kQXVkaW8oKTsKICAgICB2b2lkIGRpZFJlY2VpdmVSZXN1bHRzKGNvbnN0IFZlY3RvcjxS
ZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHQ+ID4mIG5ld0ZpbmFsUmVzdWx0cywgY29uc3Qg
VmVjdG9yPFJlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4gPiYgY3VycmVudEludGVyaW1S
ZXN1bHRzKTsKLSAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSB3ZSBzdGFydCB1c2luZyBk
aWRSZWNlaXZlUmVzdWx0cy4KLSAgICB2b2lkIGRpZFJlY2VpdmVSZXN1bHQoUGFzc1JlZlB0cjxT
cGVlY2hSZWNvZ25pdGlvblJlc3VsdD4sIHVuc2lnbmVkIGxvbmcgcmVzdWx0SW5kZXgsIFBhc3NS
ZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0PiByZXN1bHRIaXN0b3J5KTsKICAgICB2
b2lkIGRpZFJlY2VpdmVOb01hdGNoKFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHQ+
KTsKICAgICB2b2lkIGRpZFJlY2VpdmVFcnJvcihQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9u
RXJyb3I+KTsKICAgICB2b2lkIGRpZFN0YXJ0KCk7CkBAIC0xMjYsNiArMTI0LDcgQEAgcHJpdmF0
ZToKICAgICBTcGVlY2hSZWNvZ25pdGlvbkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKICAgICBi
b29sIG1fc3RvcHBlZEJ5QWN0aXZlRE9NT2JqZWN0OwogICAgIGJvb2wgbV9zdGFydGVkOworICAg
IGJvb2wgbV9zdG9wcGluZzsKICAgICBWZWN0b3I8UmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVz
dWx0PiA+IG1fZmluYWxSZXN1bHRzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmNwcAppbmRleCAyYjQxYTU5
MzQ3ZTNmZDg4NDQ1ZTU4YTBhYjE1NzQ3YjQ0NTFmMjhlLi5kMmQ2YmU2ZThhZmJkMjg0ZmYyYzNj
NDU5YmU5YzJhMGQzZTIzMTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Nw
ZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmNwcApAQCAtNDYsMTkgKzQ2LDIwIEBA
IFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25FdmVudD4gU3BlZWNoUmVjb2duaXRpb25FdmVu
dDo6Y3JlYXRlKGNvbnN0IEF0b21pY1N0CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTcGVlY2hS
ZWNvZ25pdGlvbkV2ZW50KGV2ZW50TmFtZSwgaW5pdGlhbGl6ZXIpKTsKIH0KIAotUGFzc1JlZlB0
cjxTcGVlY2hSZWNvZ25pdGlvbkV2ZW50PiBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50OjpjcmVhdGVS
ZXN1bHQoUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4gcmVzdWx0LCBzaG9ydCBy
ZXN1bHRJbmRleCwgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q+IHJlc3Vs
dEhpc3RvcnkpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTcGVlY2hSZWNvZ25pdGlvbkV2
ZW50KGV2ZW50TmFtZXMoKS5yZXN1bHRFdmVudCwgcmVzdWx0LCByZXN1bHRJbmRleCwgcmVzdWx0
SGlzdG9yeSkpOwotfQotCiBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uRXZlbnQ+IFNwZWVj
aFJlY29nbml0aW9uRXZlbnQ6OmNyZWF0ZVJlc3VsdCh1bnNpZ25lZCBsb25nIHJlc3VsdEluZGV4
LCBjb25zdCBWZWN0b3I8UmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiA+JiByZXN1bHRz
KQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3BlZWNoUmVjb2duaXRpb25FdmVudChldmVu
dE5hbWVzKCkucmVzdWx0RXZlbnQsIHJlc3VsdEluZGV4LCByZXN1bHRzKSk7CisgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KGV2ZW50TmFtZXMoKS5yZXN1bHRF
dmVudCwgcmVzdWx0SW5kZXgsIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdDo6Y3JlYXRlKHJl
c3VsdHMpKSk7CiB9CiAKIFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25FdmVudD4gU3BlZWNo
UmVjb2duaXRpb25FdmVudDo6Y3JlYXRlTm9NYXRjaChQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0
aW9uUmVzdWx0PiByZXN1bHQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTcGVlY2hSZWNv
Z25pdGlvbkV2ZW50KGV2ZW50TmFtZXMoKS5ub21hdGNoRXZlbnQsIHJlc3VsdCwgMCwgMCkpOwor
ICAgIGlmIChyZXN1bHQpIHsKKyAgICAgICAgVmVjdG9yPFJlZlB0cjxTcGVlY2hSZWNvZ25pdGlv
blJlc3VsdD4gPiByZXN1bHRzOworICAgICAgICByZXN1bHRzLmFwcGVuZChyZXN1bHQpOworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNwZWVjaFJlY29nbml0aW9uRXZlbnQoZXZlbnROYW1l
cygpLm5vbWF0Y2hFdmVudCwgMCwgU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0OjpjcmVhdGUo
cmVzdWx0cykpKTsKKyAgICB9CisKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNwZWVjaFJlY29n
bml0aW9uRXZlbnQoZXZlbnROYW1lcygpLm5vbWF0Y2hFdmVudCwgMCwgMCkpOwogfQogCiBjb25z
dCBBdG9taWNTdHJpbmcmIFNwZWVjaFJlY29nbml0aW9uRXZlbnQ6OmludGVyZmFjZU5hbWUoKSBj
b25zdApAQCAtNzQsMjMgKzc1LDE0IEBAIFNwZWVjaFJlY29nbml0aW9uRXZlbnQ6OlNwZWVjaFJl
Y29nbml0aW9uRXZlbnQoKQogU3BlZWNoUmVjb2duaXRpb25FdmVudDo6U3BlZWNoUmVjb2duaXRp
b25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50TmFtZSwgY29uc3QgU3BlZWNoUmVjb2du
aXRpb25FdmVudEluaXQmIGluaXRpYWxpemVyKQogICAgIDogRXZlbnQoZXZlbnROYW1lLCBpbml0
aWFsaXplcikKICAgICAsIG1fcmVzdWx0SW5kZXgoaW5pdGlhbGl6ZXIucmVzdWx0SW5kZXgpCi0g
ICAgLCBtX3Jlc3VsdChpbml0aWFsaXplci5yZXN1bHQpCi0gICAgLCBtX3Jlc3VsdEhpc3Rvcnko
aW5pdGlhbGl6ZXIucmVzdWx0SGlzdG9yeSkKLXsKLX0KLQotU3BlZWNoUmVjb2duaXRpb25FdmVu
dDo6U3BlZWNoUmVjb2duaXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50TmFtZSwg
UGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4gcmVzdWx0LCBzaG9ydCByZXN1bHRJ
bmRleCwgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3Q+IHJlc3VsdEhpc3Rv
cnkpCi0gICAgOiBFdmVudChldmVudE5hbWUsIC8qY2FuQnViYmxlPSovZmFsc2UsIC8qY2FuY2Vs
YWJsZT0qL2ZhbHNlKQotICAgICwgbV9yZXN1bHRJbmRleChyZXN1bHRJbmRleCkKLSAgICAsIG1f
cmVzdWx0KHJlc3VsdCkKLSAgICAsIG1fcmVzdWx0SGlzdG9yeShyZXN1bHRIaXN0b3J5KQorICAg
ICwgbV9yZXN1bHRzKGluaXRpYWxpemVyLnJlc3VsdHMpCiB7CiB9CiAKLVNwZWVjaFJlY29nbml0
aW9uRXZlbnQ6OlNwZWVjaFJlY29nbml0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVu
dE5hbWUsIHVuc2lnbmVkIGxvbmcgcmVzdWx0SW5kZXgsIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3Bl
ZWNoUmVjb2duaXRpb25SZXN1bHQ+ID4mIHJlc3VsdHMpCitTcGVlY2hSZWNvZ25pdGlvbkV2ZW50
OjpTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lLCB1
bnNpZ25lZCBsb25nIHJlc3VsdEluZGV4LCBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVz
dWx0TGlzdD4gcmVzdWx0cykKICAgICA6IEV2ZW50KGV2ZW50TmFtZSwgLypjYW5CdWJibGU9Ki9m
YWxzZSwgLypjYW5jZWxhYmxlPSovZmFsc2UpCiAgICAgLCBtX3Jlc3VsdEluZGV4KHJlc3VsdElu
ZGV4KQotICAgICwgbV9yZXN1bHRzKFNwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdDo6Y3JlYXRl
KHJlc3VsdHMpKQorICAgICwgbV9yZXN1bHRzKHJlc3VsdHMpCiB7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuaApp
bmRleCAyMmYwZTljZDg2NTk3ZWQwNzYxMDAwYWZlMGNmNTAxYWM5MjkzODhhLi42NTBhYTZlY2U5
ZDkwNjM4YmUzN2MxM2YxNTA0NTM1NjgxM2E0MWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25FdmVudC5oCkBAIC0yOSwyNCAr
MjksMTcgQEAKICNpZiBFTkFCTEUoU0NSSVBURURfU1BFRUNIKQogCiAjaW5jbHVkZSAiRXZlbnQu
aCIKLSNpbmNsdWRlICJTcGVlY2hSZWNvZ25pdGlvbkVycm9yLmgiCiAjaW5jbHVkZSAiU3BlZWNo
UmVjb2duaXRpb25SZXN1bHQuaCIKICNpbmNsdWRlICJTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExp
c3QuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgU3BlZWNoUmVjb2duaXRpb25FcnJvcjsKLWNsYXNzIFNwZWVjaFJlY29nbml0aW9uUmVz
dWx0OwotY2xhc3MgU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0OworY2xhc3MgRG9jdW1lbnQ7
CiAKIHN0cnVjdCBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50SW5pdCA6IHB1YmxpYyBFdmVudEluaXQg
ewogICAgIFNwZWVjaFJlY29nbml0aW9uRXZlbnRJbml0KCk7CiAKLSAgICAvLyBERVBSRUNBVEVE
Ci0gICAgUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiByZXN1bHQ7Ci0gICAgUmVmUHRy
PFNwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdD4gcmVzdWx0SGlzdG9yeTsKLQogICAgIHVuc2ln
bmVkIGxvbmcgcmVzdWx0SW5kZXg7CiAgICAgUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0
TGlzdD4gcmVzdWx0czsKIH07CkBAIC01NywxOCArNTAsMTIgQEAgcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNT
dHJpbmcmLCBjb25zdCBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50SW5pdCYpOwogICAgIHZpcnR1YWwg
flNwZWVjaFJlY29nbml0aW9uRXZlbnQoKTsKIAotICAgIC8vIERFUFJFQ0FURUQKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvbkV2ZW50PiBjcmVhdGVSZXN1bHQoUGFzc1Jl
ZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4sIHNob3J0IHJlc3VsdEluZGV4LCBQYXNzUmVm
UHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdD4gcmVzdWx0SGlzdG9yeSk7Ci0KICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTcGVlY2hSZWNvZ25pdGlvbkV2ZW50PiBjcmVhdGVSZXN1bHQodW5z
aWduZWQgbG9uZyByZXN1bHRJbmRleCwgY29uc3QgVmVjdG9yPFJlZlB0cjxTcGVlY2hSZWNvZ25p
dGlvblJlc3VsdD4gPiYgcmVzdWx0cyk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3BlZWNoUmVj
b2duaXRpb25FdmVudD4gY3JlYXRlTm9NYXRjaChQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9u
UmVzdWx0Pik7CiAKICAgICB1bnNpZ25lZCBsb25nIHJlc3VsdEluZGV4KCkgY29uc3QgeyByZXR1
cm4gbV9yZXN1bHRJbmRleDsgfQogICAgIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdCogcmVz
dWx0cygpIGNvbnN0IHsgcmV0dXJuIG1fcmVzdWx0cy5nZXQoKTsgfQotCi0gICAgLy8gREVQUkVD
QVRFRAotICAgIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0KiByZXN1bHQoKSBjb25zdCB7IHJldHVy
biBtX3Jlc3VsdC5nZXQoKTsgfQotICAgIFNwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdCogcmVz
dWx0SGlzdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzdWx0SGlzdG9yeS5nZXQoKTsgfQorICAg
IERvY3VtZW50KiBlbW1hKCkgeyByZXR1cm4gMDsgfQogCiAgICAgLy8gRXZlbnQKICAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0IE9WRVJSSURFOwpA
QCAtNzYsMTYgKzYzLDEwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU3BlZWNoUmVjb2duaXRp
b25FdmVudCgpOwogICAgIFNwZWVjaFJlY29nbml0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5n
JiwgY29uc3QgU3BlZWNoUmVjb2duaXRpb25FdmVudEluaXQmKTsKLSAgICBTcGVlY2hSZWNvZ25p
dGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lLCBQYXNzUmVmUHRyPFNwZWVj
aFJlY29nbml0aW9uUmVzdWx0Piwgc2hvcnQgcmVzdWx0SW5kZXgsIFBhc3NSZWZQdHI8U3BlZWNo
UmVjb2duaXRpb25SZXN1bHRMaXN0PiByZXN1bHRIaXN0b3J5KTsgLy8gRklYTUU6IFJlbW92ZS4K
LSAgICBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1l
LCB1bnNpZ25lZCBsb25nIHJlc3VsdEluZGV4LCBjb25zdCBWZWN0b3I8UmVmUHRyPFNwZWVjaFJl
Y29nbml0aW9uUmVzdWx0PiA+JiByZXN1bHRzKTsKLSAgICBleHBsaWNpdCBTcGVlY2hSZWNvZ25p
dGlvbkV2ZW50KFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25FcnJvcj4pOworICAgIFNwZWVj
aFJlY29nbml0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudE5hbWUsIHVuc2lnbmVk
IGxvbmcgcmVzdWx0SW5kZXgsIFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0
PiByZXN1bHRzKTsKIAogICAgIHVuc2lnbmVkIGxvbmcgbV9yZXN1bHRJbmRleDsKICAgICBSZWZQ
dHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0PiBtX3Jlc3VsdHM7Ci0KLSAgICAvLyBERVBS
RUNBVEVECi0gICAgUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiBtX3Jlc3VsdDsKLSAg
ICBSZWZQdHI8U3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0PiBtX3Jlc3VsdEhpc3Rvcnk7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbkV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuaWRsCmluZGV4IDE4NGMyZTk4
ZDM4OGM1YTAyNzk2OGZiOTkyMDRlZTc4YjAzOGIxMzkuLjYxNmQ3NTBkMmE0ZDIxYjZiMjY1NDY2
Y2JjMDNlNjc3MzAwMDEzYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Bl
ZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuaWRsCkBAIC0yNywxMSArMjcsOCBAQAog
ICAgIENvbmRpdGlvbmFsPVNDUklQVEVEX1NQRUVDSCwKICAgICBDb25zdHJ1Y3RvclRlbXBsYXRl
PUV2ZW50LAogXSBpbnRlcmZhY2UgU3BlZWNoUmVjb2duaXRpb25FdmVudCA6IEV2ZW50IHsKLSAg
ICAvLyBERVBSRUNBVEVECi0gICAgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSByZWFk
b25seSBhdHRyaWJ1dGUgU3BlZWNoUmVjb2duaXRpb25SZXN1bHQgcmVzdWx0OwotICAgIFtJbml0
aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gcmVhZG9ubHkgYXR0cmlidXRlIFNwZWVjaFJlY29n
bml0aW9uUmVzdWx0TGlzdCByZXN1bHRIaXN0b3J5OwotCiAgICAgW0luaXRpYWxpemVkQnlFdmVu
dENvbnN0cnVjdG9yXSByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyByZXN1bHRJbmRl
eDsKICAgICBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBTcGVlY2hSZWNvZ25pdGlvblJlc3VsdExpc3QgcmVzdWx0czsKLSAgICAvLyBGSVhNRTogQWRk
IHRoZSBlbW1hIGF0dHJpYnV0ZS4KKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBEb2N1bWVudCBl
bW1hOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNw
ZWVjaFJlY29nbml6ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YlNwZWVjaFJlY29nbml6ZXJDbGllbnQuaAppbmRleCA3ZGI2MGM5ZGViYTdkYmJiODE1NDY0Njc3
MjhiMDBlYzgwZDk2OTk3Li4xOTU3NjZlZjAyNDk1NzA2NTI0MzNjYTkzNjkwNmEzNDY4MzllMjE4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTcGVlY2hSZWNv
Z25pemVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU3Bl
ZWNoUmVjb2duaXplckNsaWVudC5oCkBAIC02NywxMCArNjcsNiBAQCBwdWJsaWM6CiAgICAgLy8g
VGhpcyBpcyBleHBlY3RlZCB0byBiZSBjYWxsZWQgYWZ0ZXIgZGlkRW5kU291bmQuCiAgICAgdmly
dHVhbCB2b2lkIGRpZEVuZEF1ZGlvKGNvbnN0IFdlYlNwZWVjaFJlY29nbml0aW9uSGFuZGxlJikg
PSAwOwogCi0gICAgLy8gVG8gYmUgY2FsbGVkIHdoZW4gdGhlIHNwZWVjaCByZWNvZ25pemVyIHJl
dHVybnMgYSByZXN1bHQuCi0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIHdoZW4gd2UgaGF2ZSBt
b3ZlZCBvdmVyIHRvIG9ubHkgdXNlIHRoZSBmdW5jdGlvbiBiZWxvdy4KLSAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVjZWl2ZVJlc3VsdChjb25zdCBXZWJTcGVlY2hSZWNvZ25pdGlvbkhhbmRsZSYsIGNv
bnN0IFdlYlNwZWVjaFJlY29nbml0aW9uUmVzdWx0JiwgdW5zaWduZWQgbG9uZyByZXN1bHRJbmRl
eCwgY29uc3QgV2ViVmVjdG9yPFdlYlNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiYgcmVzdWx0SGlz
dG9yeSkgPSAwOwotCiAgICAgLy8gVG8gYmUgY2FsbGVkIHdoZW4gdGhlIHNwZWVjaCByZWNvZ25p
emVyIHByb3ZpZGVzIG5ldyByZXN1bHRzLgogICAgIC8vIC0gbmV3RmluYWxSZXN1bHRzIGNvbnRh
aW5zIHplcm8gb3IgbW9yZSBmaW5hbCByZXN1bHRzIHRoYXQgYXJlIG5ldyBzaW5jZQogICAgIC8v
IHRoZSBsYXN0IHRpbWUgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TcGVlY2hSZWNvZ25pdGlvbkNsaWVudFByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NwZWVjaFJlY29nbml0aW9uQ2xpZW50UHJveHku
Y3BwCmluZGV4IDQzZTI4NjBjYzUzOGUyNmJiZDllMWJjMjA3YmE4NGU3ZmNiMWUwYmQuLjIyNjJm
NDYxNWEyNmYyNTk1NDliNDA1NzkyOWU0NDIyYzE2YTg5NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1NwZWVjaFJlY29nbml0aW9uQ2xpZW50UHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NwZWVjaFJlY29nbml0aW9uQ2xpZW50UHJveHku
Y3BwCkBAIC0xMDEsMTggKzEwMSw2IEBAIHZvaWQgU3BlZWNoUmVjb2duaXRpb25DbGllbnRQcm94
eTo6ZGlkRW5kQXVkaW8oY29uc3QgV2ViU3BlZWNoUmVjb2duaXRpb25IYW5kbGUmCiAgICAgcmVj
b2duaXRpb24tPmRpZEVuZEF1ZGlvKCk7CiB9CiAKLXZvaWQgU3BlZWNoUmVjb2duaXRpb25DbGll
bnRQcm94eTo6ZGlkUmVjZWl2ZVJlc3VsdChjb25zdCBXZWJTcGVlY2hSZWNvZ25pdGlvbkhhbmRs
ZSYgaGFuZGxlLCBjb25zdCBXZWJTcGVlY2hSZWNvZ25pdGlvblJlc3VsdCYgcmVzdWx0LCB1bnNp
Z25lZCBsb25nIHJlc3VsdEluZGV4LCBjb25zdCBXZWJWZWN0b3I8V2ViU3BlZWNoUmVjb2duaXRp
b25SZXN1bHQ+JiByZXN1bHRIaXN0b3J5KQotewotICAgIFJlZlB0cjxTcGVlY2hSZWNvZ25pdGlv
bj4gcmVjb2duaXRpb24gPSBQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uPihoYW5kbGUpOwot
Ci0gICAgVmVjdG9yPFJlZlB0cjxTcGVlY2hSZWNvZ25pdGlvblJlc3VsdD4gPiByZXN1bHRIaXN0
b3J5VmVjdG9yKHJlc3VsdEhpc3Rvcnkuc2l6ZSgpKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IHJlc3VsdEhpc3Rvcnkuc2l6ZSgpOyArK2kpCi0gICAgICAgIHJlc3VsdEhpc3RvcnlWZWN0
b3JbaV0gPSBzdGF0aWNfY2FzdDxQYXNzUmVmUHRyPFNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiA+
KHJlc3VsdEhpc3RvcnlbaV0pOwotCi0gICAgcmVjb2duaXRpb24tPmRpZFJlY2VpdmVSZXN1bHQo
cmVzdWx0LCByZXN1bHRJbmRleCwgU3BlZWNoUmVjb2duaXRpb25SZXN1bHRMaXN0OjpjcmVhdGUo
cmVzdWx0SGlzdG9yeVZlY3RvcikpOwotCi19Ci0KIHZvaWQgU3BlZWNoUmVjb2duaXRpb25DbGll
bnRQcm94eTo6ZGlkUmVjZWl2ZVJlc3VsdHMoY29uc3QgV2ViU3BlZWNoUmVjb2duaXRpb25IYW5k
bGUmIGhhbmRsZSwgY29uc3QgV2ViVmVjdG9yPFdlYlNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiYg
bmV3RmluYWxSZXN1bHRzLCBjb25zdCBXZWJWZWN0b3I8V2ViU3BlZWNoUmVjb2duaXRpb25SZXN1
bHQ+JiBjdXJyZW50SW50ZXJpbVJlc3VsdHMpCiB7CiAgICAgUmVmUHRyPFNwZWVjaFJlY29nbml0
aW9uPiByZWNvZ25pdGlvbiA9IFBhc3NSZWZQdHI8U3BlZWNoUmVjb2duaXRpb24+KGhhbmRsZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TcGVlY2hSZWNvZ25pdGlv
bkNsaWVudFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TcGVlY2hSZWNvZ25p
dGlvbkNsaWVudFByb3h5LmgKaW5kZXggMTU5NThkNGZiZDc2MTY2NmE4YmUzNjZjZmVlZmZlOGQ3
YTVlYWFkNS4uZGRmNzU3YzdlNTE5YTI3YzViMjNmZTk3NTZhZTcwMTEzMTA5YjdhMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU3BlZWNoUmVjb2duaXRpb25DbGllbnRQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NwZWVjaFJlY29nbml0aW9u
Q2xpZW50UHJveHkuaApAQCAtNTUsNyArNTUsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGRpZFN0YXJ0U291bmQoY29uc3QgV2ViU3BlZWNoUmVjb2duaXRpb25IYW5kbGUmKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kU291bmQoY29uc3QgV2ViU3BlZWNoUmVjb2duaXRp
b25IYW5kbGUmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRW5kQXVkaW8oY29uc3Qg
V2ViU3BlZWNoUmVjb2duaXRpb25IYW5kbGUmKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZVJlc3VsdChjb25zdCBXZWJTcGVlY2hSZWNvZ25pdGlvbkhhbmRsZSYsIGNvbnN0
IFdlYlNwZWVjaFJlY29nbml0aW9uUmVzdWx0JiwgdW5zaWduZWQgbG9uZyByZXN1bHRJbmRleCwg
Y29uc3QgV2ViVmVjdG9yPFdlYlNwZWVjaFJlY29nbml0aW9uUmVzdWx0PiYgcmVzdWx0SGlzdG9y
eSkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXN1bHRzKGNvbnN0IFdl
YlNwZWVjaFJlY29nbml0aW9uSGFuZGxlJiwgY29uc3QgV2ViVmVjdG9yPFdlYlNwZWVjaFJlY29n
bml0aW9uUmVzdWx0PiYgbmV3RmluYWxSZXN1bHRzLCBjb25zdCBXZWJWZWN0b3I8V2ViU3BlZWNo
UmVjb2duaXRpb25SZXN1bHQ+JiBjdXJyZW50SW50ZXJpbVJlc3VsdHMpIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTm9NYXRjaChjb25zdCBXZWJTcGVlY2hSZWNvZ25pdGlv
bkhhbmRsZSYsIGNvbnN0IFdlYlNwZWVjaFJlY29nbml0aW9uUmVzdWx0JikgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVFcnJvcihjb25zdCBXZWJTcGVlY2hSZWNvZ25pdGlv
bkhhbmRsZSYsIGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSwgV2ViU3BlZWNoUmVjb2duaXplckNs
aWVudDo6RXJyb3JDb2RlKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3ZTk3MDUxOGE4M2Q3YWI3MGU1NGIx
NWU4NjVlNzhhODQ0MzVkNjZkLi4wZWQyMDM4YjRiNTFjNDViMmJiMzE2NTI5NmZmNDZlYTg5NzNj
N2JmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDMtMjEgIFRvbW15IFdpZGVuZmx5Y2h0
ICA8dG9tbXl3QGdvb2dsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgdGhlIHNwZWVjaCByZWNv
Z25pbnRpb24gQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTI5MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9zcGVlY2gtcmVjb2duaXRpb24tZXZlbnQt
Y29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL2NvbnN0cnVj
dG9ycy9zcGVlY2gtcmVjb2duaXRpb24tZXZlbnQtY29uc3RydWN0b3IuaHRtbDoKKwogMjAxMy0w
My0yMSAgSmlud29vIFNvbmcgIDxqaW53b283LnNvbmdAc2Ftc3VuZy5jb20+CiAKICAgICAgICAg
W0VGTF0gUmViYXNlbGluZSBtb3N0ICJuZWVkcyByZWJhc2VsaW5lIiBzZWN0aW9ucyBvZiBFRkwg
dGVzdCBleHBlY3RhdGlvbnMsIGFuZCB1cGRhdGUgdGVzdCBleHBlY3RhdGlvbnMuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvc3BlZWNoLXJlY29nbml0
aW9uLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL2NvbnN0cnVjdG9ycy9zcGVlY2gtcmVjb2duaXRpb24tZXZlbnQtY29uc3RydWN0b3ItZXhw
ZWN0ZWQudHh0CmluZGV4IGIwNWZkZjZmNWU1ODViYmE1N2E4OWNkYjliZmNjN2ZmNTY0ZTg5MzAu
LjQ3YzIyZmZkYWUxY2VlN2JmOGMwZDMzMWJmZTg0ZmYxZjE1NjNlZDEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9zcGVlY2gtcmVjb2duaXRpb24tZXZl
bnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2NvbnN0cnVjdG9ycy9zcGVlY2gtcmVjb2duaXRpb24tZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0
ZWQudHh0CkBAIC01LDkgKzUsOCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBQQVNTIG5l
dyB3ZWJraXRTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KCdldmVudFR5cGUnKS5idWJibGVzIGlzIGZh
bHNlCiBQQVNTIG5ldyB3ZWJraXRTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KCdldmVudFR5cGUnKS5j
YW5jZWxhYmxlIGlzIGZhbHNlCi1QQVNTIG5ldyB3ZWJraXRTcGVlY2hSZWNvZ25pdGlvbkV2ZW50
KCdldmVudFR5cGUnKS5yZXN1bHQgaXMgbnVsbAorUEFTUyBuZXcgd2Via2l0U3BlZWNoUmVjb2du
aXRpb25FdmVudCgnZXZlbnRUeXBlJykucmVzdWx0cyBpcyBudWxsCiBQQVNTIG5ldyB3ZWJraXRT
cGVlY2hSZWNvZ25pdGlvbkV2ZW50KCdldmVudFR5cGUnKS5yZXN1bHRJbmRleCBpcyAwCi1QQVNT
IG5ldyB3ZWJraXRTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KCdldmVudFR5cGUnKS5yZXN1bHRIaXN0
b3J5IGlzIG51bGwKIFBBU1MgbmV3IHdlYmtpdFNwZWVjaFJlY29nbml0aW9uRXZlbnQoJ2V2ZW50
VHlwZScsIHsgYnViYmxlczogZmFsc2UgfSkuYnViYmxlcyBpcyBmYWxzZQogUEFTUyBuZXcgd2Vi
a2l0U3BlZWNoUmVjb2duaXRpb25FdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0cnVlIH0p
LmJ1YmJsZXMgaXMgdHJ1ZQogUEFTUyBuZXcgd2Via2l0U3BlZWNoUmVjb2duaXRpb25FdmVudCgn
ZXZlbnRUeXBlJywgeyBjYW5jZWxhYmxlOiBmYWxzZSB9KS5jYW5jZWxhYmxlIGlzIGZhbHNlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvc3BlZWNoLXJl
Y29nbml0aW9uLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9jb25zdHJ1Y3RvcnMvc3BlZWNoLXJlY29nbml0aW9uLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwK
aW5kZXggZGIzYjczMGQ5ZWEwZDU2OTE5M2U2ZWY0OWJhYWJmMzhmM2U2ZjFiYy4uYWUxMWMxZDg0
ZDdjODAyZjRiMmEzNjExOTQxYTNhZGY3Y2JlZjllYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3NwZWVjaC1yZWNvZ25pdGlvbi1ldmVudC1jb25zdHJ1
Y3Rvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9zcGVl
Y2gtcmVjb2duaXRpb24tZXZlbnQtY29uc3RydWN0b3IuaHRtbApAQCAtMTMsOSArMTMsOCBAQCBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBTcGVlY2hSZWNv
Z25pdGlvbkV2ZW50IERPTSBjbGFzcwogLy8gVGVzdCBjb25zdHJ1Y3RvciB3aXRob3V0IGluaXRp
YWxpemVyLgogc2hvdWxkQmUoIm5ldyB3ZWJraXRTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KCdldmVu
dFR5cGUnKS5idWJibGVzIiwgImZhbHNlIik7CiBzaG91bGRCZSgibmV3IHdlYmtpdFNwZWVjaFJl
Y29nbml0aW9uRXZlbnQoJ2V2ZW50VHlwZScpLmNhbmNlbGFibGUiLCAiZmFsc2UiKTsKLXNob3Vs
ZEJlKCJuZXcgd2Via2l0U3BlZWNoUmVjb2duaXRpb25FdmVudCgnZXZlbnRUeXBlJykucmVzdWx0
IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJuZXcgd2Via2l0U3BlZWNoUmVjb2duaXRpb25FdmVudCgn
ZXZlbnRUeXBlJykucmVzdWx0cyIsICJudWxsIik7CiBzaG91bGRCZSgibmV3IHdlYmtpdFNwZWVj
aFJlY29nbml0aW9uRXZlbnQoJ2V2ZW50VHlwZScpLnJlc3VsdEluZGV4IiwgIjAiKTsKLXNob3Vs
ZEJlKCJuZXcgd2Via2l0U3BlZWNoUmVjb2duaXRpb25FdmVudCgnZXZlbnRUeXBlJykucmVzdWx0
SGlzdG9yeSIsICJudWxsIik7CiAKIC8vIFRlc3QgcGFzc2luZyBidWJibGVzIGluIHRoZSBpbml0
aWFsaXplci4KIHNob3VsZEJlKCJuZXcgd2Via2l0U3BlZWNoUmVjb2duaXRpb25FdmVudCgnZXZl
bnRUeXBlJywgeyBidWJibGVzOiBmYWxzZSB9KS5idWJibGVzIiwgImZhbHNlIik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>