<?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>89224</bug_id>
          
          <creation_ts>2012-06-15 09:30:11 -0700</creation_ts>
          <short_desc>[WK2][GTK] Complete implementation of AccessibilityController in WKTR for GTK</short_desc>
          <delta_ts>2012-07-19 02:04:23 -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>Accessibility</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>89223</dependson>
          <blocked>72588</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mario Sanchez Prada">mario</reporter>
          <assigned_to name="Mario Sanchez Prada">mario</assigned_to>
          <cc>cfleizach</cc>
    
    <cc>cgarcia</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>650250</commentid>
    <comment_count>0</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-06-15 09:30:11 -0700</bug_when>
    <thetext>In order to be able to unskip accessibility tests in WK2 like the following ones:

  platform/gtk/accessibility/aria-slider-required-attributes.html
  platform/gtk/accessibility/combo-box-collapsed-selection-changed.html

...we need to implement the following functions in WKTR&apos;s AccessibilityController for GTK:

  void AccessibilityController::logAccessibilityEvents()
  void AccessibilityController::resetToConsistentState()

This bug is for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650284</commentid>
    <comment_count>1</comment_count>
      <attachid>147844</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-06-15 10:05:51 -0700</bug_when>
    <thetext>Created attachment 147844
Patch proposal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664154</commentid>
    <comment_count>2</comment_count>
      <attachid>147844</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-07-06 09:49:16 -0700</bug_when>
    <thetext>Comment on attachment 147844
Patch proposal

try to get patch to build again, i&apos;ll review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669766</commentid>
    <comment_count>3</comment_count>
      <attachid>147844</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-07-14 01:11:43 -0700</bug_when>
    <thetext>Comment on attachment 147844
Patch proposal

need to get building on the bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672194</commentid>
    <comment_count>4</comment_count>
      <attachid>152977</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-07-18 03:29:26 -0700</bug_when>
    <thetext>Created attachment 152977
Patch proposal

New patch now that patch for bug 89223 has been pushed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672433</commentid>
    <comment_count>5</comment_count>
      <attachid>152977</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2012-07-18 09:28:51 -0700</bug_when>
    <thetext>Comment on attachment 152977
Patch proposal

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

looks ok

&gt; Tools/WebKitTestRunner/InjectedBundle/gtk/AccessibilityControllerGtk.cpp:14
&gt; + *     * Neither the name of Google Inc. nor the names of its

you probably don&apos;t need to include the Google copyright info</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673318</commentid>
    <comment_count>6</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-07-19 02:04:23 -0700</bug_when>
    <thetext>Committed r123083: &lt;http://trac.webkit.org/changeset/123083&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147844</attachid>
            <date>2012-06-15 10:05:51 -0700</date>
            <delta_ts>2012-07-18 03:29:16 -0700</delta_ts>
            <desc>Patch proposal</desc>
            <filename>0003-2012-06-15-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>17016</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSAxYTRkOTU1MjBmMmYxNmViNzQ1YzA4MTFmMzhkNTU5ZTdkMzUwMDkwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBGcmksIDE1IEp1biAyMDEyIDE2OjA0OjU2ICswMjAwClN1YmplY3Q6IFtQQVRD
SCAzLzNdIDIwMTItMDYtMTUgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgoKICAgICAgICBbV0syXVtHVEtdIENvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIEFjY2Vz
c2liaWxpdHlDb250cm9sbGVyIGluIFdLVFIgZm9yIEdUSwogICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTIyNAoKICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KCiAgICAgICAgSW1wbGVtZW50IGxvZ0FjY2Vzc2liaWxpdHlFdmVudHMoKSBh
bmQgcmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpLAogICAgICAgIHNvIHdlIGNhbiBhc2sgV0tUUiBm
cm9tIHRoZSBsYXlvdXQgdGVzdHMgZm9yIGxvZ2dpbmcgYWxsIHRoZQogICAgICAgIGFjY2Vzc2li
aWxpdHkgcmVsYXRlZCBldmVudHMgaW50byB0aGUgcmVzdWx0LgoKICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvR05VbWFrZWZpbGUuYW06CiAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcDoKICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5Q29udHJvbGxlcjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpOgogICAgICAgIChX
VFIpOgogICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpsb2dBY2Nlc3NpYmls
aXR5RXZlbnRzKToKICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVzZXRU
b0NvbnNpc3RlbnRTdGF0ZSk6CiAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmg6CiAgICAgICAgKEFjY2Vzc2liaWxpdHlDb250
cm9sbGVyKToKICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0Fj
Y2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcDogQWRkZWQuCiAgICAgICAgKFdUUik6CiAgICAg
ICAgKFdUUjo6cHJpbnRBY2Nlc3NpYmlsaXR5RXZlbnQpOgogICAgICAgIChXVFI6OmF4T2JqZWN0
RXZlbnRMaXN0ZW5lcik6CiAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6Omxv
Z0FjY2Vzc2liaWxpdHlFdmVudHMpOgogICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKCiAgICAgICAgRW5zdXJlIHdlIHJlc2V0IHRo
ZSBhY2Nlc3NpYmlsaXR5IGNvbnRyb2xsZXIgdG8gYSBjb25zaXN0ZW50CiAgICAgICAgd2hlbmV2
ZXIgYSB0ZXN0IGhhcyBmaW5pc2hlZCBydW5uaW5nLgoKICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgogICAgICAgIChXVFI6OkluamVj
dGVkQnVuZGxlOjpkb25lKToKCjIwMTItMDYtMTUgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2Fu
Y2hlekBpZ2FsaWEuY29tPgoKICAgICAgICBbV0syXVtHVEtdIENvbXBsZXRlIGltcGxlbWVudGF0
aW9uIG9mIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyIGluIFdLVFIgZm9yIEdUSwogICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTIyNAoKICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgVW5za2lwIHRlc3RzIG5vdyBwYXNzaW5n
LgoKICAgICAgICAqIHBsYXRmb3JtL2d0ay13azIvU2tpcHBlZDoKLS0tCiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKysKIExheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay13azIvU2tpcHBlZCAgICAgICAgICAgICAgIHwgICAgMiAtCiBUb29s
cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzIgKysr
KwogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9HTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAgfCAg
ICAxICsKIC4uLi9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAgICAg
IHwgICAxOCArKy0KIC4uLi9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5o
ICAgICAgIHwgICAxNSArLQogLi4uL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCAg
ICAgICAgICAgICAgfCAgICAyICsKIC4uLi9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsu
Y3BwICAgICAgICAgICAgIHwgIDE1MyArKysrKysrKysrKysrKysrKysrKwogOCBmaWxlcyBjaGFu
Z2VkLCAyMjcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9BY2Nlc3NpYmlsaXR5
Q29udHJvbGxlckd0ay5jcHAKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjEzNWExYS4uZWZiMDhmNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDE2IEBACiAyMDEyLTA2LTE1ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdh
bGlhLmNvbT4KIAorICAgICAgICBbV0syXVtHVEtdIENvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9m
IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyIGluIFdLVFIgZm9yIEdUSworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkyMjQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXAgdGVzdHMgbm93IHBhc3Npbmcu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGstd2syL1NraXBwZWQ6CisKKzIwMTItMDYtMTUgIE1h
cmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgorCiAgICAgICAgIFtXSzJd
W0dUS10gSW1wbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgaW4gV0tUUiBmb3IgR1RLCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTIyMwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGstd2syL1NraXBwZWQKaW5kZXggYzk3NzY2Yi4uZDlmODc5ZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9Ta2lwcGVkCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay13azIvU2tpcHBlZApAQCAtMzAzLDkgKzMwMyw3IEBAIGZhc3Qv
ZXZlbnRzL3BvcHVwLWJsb2NraW5nLWNsaWNrLWluLWlmcmFtZS5odG1sCiAjIGFjY2Vzc2liaWxp
dHkgdGVzdHMgZmFpbGluZyBkdWUgdG8gbWlzc2luZyBXS1RSIGZlYXR1cmVzCiBhY2Nlc3NpYmls
aXR5L2FyaWEtZGVzY3JpYmVkYnktb24taW5wdXQuaHRtbAogYWNjZXNzaWJpbGl0eS9hcmlhLWhl
bHAuaHRtbAotcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1zbGlkZXItcmVxdWlyZWQt
YXR0cmlidXRlcy5odG1sCiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9jYXJldC1icm93c2lu
Zy10ZXh0LWZvY3VzLmh0bWwKLXBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2NvbWJvLWJveC1j
b2xsYXBzZWQtc2VsZWN0aW9uLWNoYW5nZWQuaHRtbAogCiAjIEltcGxlbWVudCB0ZXh0SW5wdXRD
b250cm9sbGVyLmZpcnN0UmVjdEZvckNoYXJhY3RlclJhbmdlIGludGVyZmFjZQogZmFzdC9mb3Jt
cy9jdXJzb3ItYXQtZWRpdGFibGUtY29udGVudC1ib3VuZGFyeS5odG1sCmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTBhZTkxNy4uNDYyODA0MiAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDM3IEBACiAyMDEyLTA2LTE1ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdh
bGlhLmNvbT4KIAorICAgICAgICBbV0syXVtHVEtdIENvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9m
IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyIGluIFdLVFIgZm9yIEdUSworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkyMjQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgbG9nQWNjZXNzaWJpbGl0
eUV2ZW50cygpIGFuZCByZXNldFRvQ29uc2lzdGVudFN0YXRlKCksCisgICAgICAgIHNvIHdlIGNh
biBhc2sgV0tUUiBmcm9tIHRoZSBsYXlvdXQgdGVzdHMgZm9yIGxvZ2dpbmcgYWxsIHRoZQorICAg
ICAgICBhY2Nlc3NpYmlsaXR5IHJlbGF0ZWQgZXZlbnRzIGludG8gdGhlIHJlc3VsdC4KKworICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpBY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcik6CisgICAgICAgIChXVFIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcjo6bG9nQWNjZXNzaWJpbGl0eUV2ZW50cyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlDb250cm9sbGVyOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmg6CisgICAg
ICAgIChBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdUUik6CisgICAgICAgIChXVFI6OnByaW50QWNjZXNzaWJpbGl0eUV2ZW50
KToKKyAgICAgICAgKFdUUjo6YXhPYmplY3RFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmxvZ0FjY2Vzc2liaWxpdHlFdmVudHMpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSk6
CisKKyAgICAgICAgRW5zdXJlIHdlIHJlc2V0IHRoZSBhY2Nlc3NpYmlsaXR5IGNvbnRyb2xsZXIg
dG8gYSBjb25zaXN0ZW50CisgICAgICAgIHdoZW5ldmVyIGEgdGVzdCBoYXMgZmluaXNoZWQgcnVu
bmluZy4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6ZG9uZSk6CisKKzIw
MTItMDYtMTUgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgorCiAg
ICAgICAgIFtXSzJdW0dUS10gSW1wbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgaW4gV0tU
UiBmb3IgR1RLCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04OTIyMwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0dOVW1ha2VmaWxl
LmFtIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9HTlVtYWtlZmlsZS5hbQppbmRleCBhMjU1ZjY3
Li43MjNjZTc3IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0dOVW1ha2VmaWxl
LmFtCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvR05VbWFrZWZpbGUuYW0KQEAgLTk0LDYg
Kzk0LDcgQEAgTGlicmFyaWVzX2xpYlRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZV9sYV9TT1VSQ0VT
ID0gXAogCVRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5oIFwKIAlUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0dD
Q29udHJvbGxlci5jcHAgXAogCVRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
R0NDb250cm9sbGVyLmggXAorCVRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
Z3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcCBcCiAJVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAgXAog
CVRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNH
dGsuY3BwIFwKIAlUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9Jbmpl
Y3RlZEJ1bmRsZUd0ay5jcHAgXApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcAppbmRl
eCA0NDBmOTUyLi4yY2QzMDQ5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcApA
QCAtNDQsNiArNDQsMTQgQEAgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcj4gQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmNyZWF0ZSgpCiB9CiAKIEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigpCisjaWYgUExBVEZPUk0oR1RLKQorICAgIDog
bV9zdGF0ZUNoYW5nZUxpc3RlbmVySWQoMCkKKyAgICAsIG1fZm9jdXNFdmVudExpc3RlbmVySWQo
MCkKKyAgICAsIG1fYWN0aXZlRGVzY2VuZGFudENoYW5nZWRMaXN0ZW5lcklkKDApCisgICAgLCBt
X2NoaWxkcmVuQ2hhbmdlZExpc3RlbmVySWQoMCkKKyAgICAsIG1fcHJvcGVydHlDaGFuZ2VkTGlz
dGVuZXJJZCgwKQorICAgICwgbV92aXNpYmxlRGF0YUNoYW5nZWRMaXN0ZW5lcklkKDApCisjZW5k
aWYKIHsKIH0KIApAQCAtOTMsMTEgKzEwMSwxNyBAQCBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjplbGVtZW50QXRQb2ludChpbnQgeAog
ICAgIHJldHVybiB1aUVsZW1lbnQtPmVsZW1lbnRBdFBvaW50KHgsIHkpOwogfQogCi0vLyBVbnN1
cHBvcnRlZCBtZXRob2RzIG9uIHZhcmlvdXMgcGxhdGZvcm1zLiBBcyB0aGV5J3JlIGltcGxlbWVu
dGVkIG9uIG90aGVyIHBsYXRmb3JtcyB0aGlzIGxpc3Qgc2hvdWxkIGJlIG1vZGlmaWVkLgorLy8g
VW5zdXBwb3J0ZWQgbWV0aG9kcyBvbiB2YXJpb3VzIHBsYXRmb3Jtcy4KKy8vIEFzIHRoZXkncmUg
aW1wbGVtZW50ZWQgb24gb3RoZXIgcGxhdGZvcm1zIHRoaXMgbGlzdCBzaG91bGQgYmUgbW9kaWZp
ZWQuCiAjaWYgIVBMQVRGT1JNKE1BQykKIGJvb2wgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFk
ZE5vdGlmaWNhdGlvbkxpc3RlbmVyKEpTVmFsdWVSZWYpIHsgcmV0dXJuIGZhbHNlOyB9CiBib29s
IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpIHsg
cmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKLSAgICAKKworI2lmICFQTEFURk9STShHVEspCit2b2lk
IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpsb2dBY2Nlc3NpYmlsaXR5RXZlbnRzKCkgeyB9Cit2
b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKCkgeyB9
CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV1RSCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuaAppbmRleCAwOGI5MGUyLi4zYzg3Y2FjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5oCkBAIC01Niw5ICs1Niw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGxvZ0ZvY3VzRXZlbnRzKCkg
eyB9CiAgICAgdm9pZCBsb2dWYWx1ZUNoYW5nZUV2ZW50cygpIHsgfQogICAgIHZvaWQgbG9nU2Ny
b2xsaW5nU3RhcnRFdmVudHMoKSB7IH0KLSAgICB2b2lkIGxvZ0FjY2Vzc2liaWxpdHlFdmVudHMo
KSB7IH0KLSAgICAKLSAgICB2b2lkIHJlc2V0VG9Db25zaXN0ZW50U3RhdGUoKSB7IH0KKyAgICB2
b2lkIGxvZ0FjY2Vzc2liaWxpdHlFdmVudHMoKTsKKworICAgIHZvaWQgcmVzZXRUb0NvbnNpc3Rl
bnRTdGF0ZSgpOwogCiBwcml2YXRlOgogICAgIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyKCk7CkBA
IC02Niw2ICs2NiwxNSBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICBSZXRhaW5Q
dHI8Tm90aWZpY2F0aW9uSGFuZGxlcj4gbV9nbG9iYWxOb3RpZmljYXRpb25IYW5kbGVyOwogI2Vu
ZGlmCisKKyNpZiBQTEFURk9STShHVEspCisgICAgdW5zaWduZWQgbV9zdGF0ZUNoYW5nZUxpc3Rl
bmVySWQ7CisgICAgdW5zaWduZWQgbV9mb2N1c0V2ZW50TGlzdGVuZXJJZDsKKyAgICB1bnNpZ25l
ZCBtX2FjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkTGlzdGVuZXJJZDsKKyAgICB1bnNpZ25lZCBtX2No
aWxkcmVuQ2hhbmdlZExpc3RlbmVySWQ7CisgICAgdW5zaWduZWQgbV9wcm9wZXJ0eUNoYW5nZWRM
aXN0ZW5lcklkOworICAgIHVuc2lnbmVkIG1fdmlzaWJsZURhdGFDaGFuZ2VkTGlzdGVuZXJJZDsK
KyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4IGM5
YzNmZWMuLjJhOTQwY2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCkBAIC0yNDQsNiArMjQ0LDggQEAgdm9p
ZCBJbmplY3RlZEJ1bmRsZTo6ZG9uZSgpCiAgICAgcGFnZSgpLT5zdG9wTG9hZGluZygpOwogICAg
IHNldFRvcExvYWRpbmdGcmFtZSgwKTsKIAorICAgIG1fYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIt
PnJlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKwogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVm
PiBkb25lTWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
IkRvbmUiKSk7CiAgICAgV0tSZXRhaW5QdHI8V0tNdXRhYmxlRGljdGlvbmFyeVJlZj4gZG9uZU1l
c3NhZ2VCb2R5KEFkb3B0V0ssIFdLTXV0YWJsZURpY3Rpb25hcnlDcmVhdGUoKSk7CiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVyR3RrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5kZTk5ZTE2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJH
dGsuY3BwCkBAIC0wLDAgKzEsMTUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxp
YSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmgiCisKKyNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgorI2luY2x1ZGUgPGF0ay9hdGsuaD4K
KyNpbmNsdWRlIDxjc3RkaW8+CisjaW5jbHVkZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdUUiB7CisKK3N0
YXRpYyB2b2lkIHByaW50QWNjZXNzaWJpbGl0eUV2ZW50KEF0a09iamVjdCogYWNjZXNzaWJsZSwg
Y29uc3QgZ2NoYXIqIHNpZ25hbE5hbWUsIGNvbnN0IGdjaGFyKiBzaWduYWxWYWx1ZSkKK3sKKyAg
ICAvLyBEbyBub3QgaGFuZGxlIHN0YXRlLWNoYW5nZTpkZWZ1bmN0IHNpZ25hbHMsIGFzIHRoZSBB
dGtPYmplY3QKKyAgICAvLyBhc3NvY2lhdGVkIHRvIHRoZW0gd2lsbCBub3QgYmUgdmFsaWQgYXQg
dGhpcyBwb2ludCBhbHJlYWR5LgorICAgIGlmICghc2lnbmFsTmFtZSB8fCAhZ19zdHJjbXAwKHNp
Z25hbE5hbWUsICJzdGF0ZS1jaGFuZ2U6ZGVmdW5jdCIpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBpZiAoIWFjY2Vzc2libGUgfHwgIUFUS19JU19PQkpFQ1QoYWNjZXNzaWJsZSkpCisgICAgICAg
IHJldHVybjsKKworICAgIGNvbnN0IGdjaGFyKiBvYmplY3ROYW1lID0gYXRrX29iamVjdF9nZXRf
bmFtZShhY2Nlc3NpYmxlKTsKKyAgICBBdGtSb2xlIG9iamVjdFJvbGUgPSBhdGtfb2JqZWN0X2dl
dF9yb2xlKGFjY2Vzc2libGUpOworCisgICAgLy8gVHJ5IHRvIGFsd2F5cyBwcm92aWRlIGEgbmFt
ZSB0byBiZSBsb2dnZWQgZm9yIHRoZSBvYmplY3QuCisgICAgaWYgKCFvYmplY3ROYW1lIHx8ICpv
YmplY3ROYW1lID09ICdcMCcpCisgICAgICAgIG9iamVjdE5hbWUgPSAiKE5vIG5hbWUpIjsKKwor
ICAgIEdPd25QdHI8Z2NoYXI+IHNpZ25hbE5hbWVBbmRWYWx1ZShzaWduYWxWYWx1ZSA/IGdfc3Ry
ZHVwX3ByaW50ZigiJXMgPSAlcyIsIHNpZ25hbE5hbWUsIHNpZ25hbFZhbHVlKSA6IGdfc3RyZHVw
KHNpZ25hbE5hbWUpKTsKKyAgICBHT3duUHRyPGdjaGFyPiBhY2Nlc3NpYmlsaXR5RXZlbnRTdHJp
bmcoZ19zdHJkdXBfcHJpbnRmKCJBY2Nlc3NpYmlsaXR5IG9iamVjdCBlbWl0dGVkIFwiJXNcIiAv
IE5hbWU6IFwiJXNcIiAvIFJvbGU6ICVkXG4iLCBzaWduYWxOYW1lQW5kVmFsdWUuZ2V0KCksIG9i
amVjdE5hbWUsIG9iamVjdFJvbGUpKTsKKyAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuc3Ry
aW5nQnVpbGRlcigpLT5hcHBlbmQoYWNjZXNzaWJpbGl0eUV2ZW50U3RyaW5nLmdldCgpKTsKK30K
Kworc3RhdGljIGdib29sZWFuIGF4T2JqZWN0RXZlbnRMaXN0ZW5lcihHU2lnbmFsSW52b2NhdGlv
bkhpbnQgKnNpZ25hbEhpbnQsIGd1aW50IG51bVBhcmFtVmFsdWVzLCBjb25zdCBHVmFsdWUgKnBh
cmFtVmFsdWVzLCBncG9pbnRlciBkYXRhKQoreworICAgIC8vIEF0IGxlYXN0IHdlIHNob3VsZCBy
ZWNlaXZlIHRoZSBpbnN0YW5jZSBlbWl0dGluZyB0aGUgc2lnbmFsLgorICAgIGlmIChudW1QYXJh
bVZhbHVlcyA8IDEpCisgICAgICAgIHJldHVybiBUUlVFOworCisgICAgQXRrT2JqZWN0KiBhY2Nl
c3NpYmxlID0gQVRLX09CSkVDVChnX3ZhbHVlX2dldF9vYmplY3QoJnBhcmFtVmFsdWVzWzBdKSk7
CisgICAgaWYgKCFhY2Nlc3NpYmxlIHx8ICFBVEtfSVNfT0JKRUNUKGFjY2Vzc2libGUpKQorICAg
ICAgICByZXR1cm4gVFJVRTsKKworICAgIEdTaWduYWxRdWVyeSBzaWduYWxfcXVlcnk7CisgICAg
R093blB0cjxnY2hhcj4gc2lnbmFsTmFtZTsKKyAgICBHT3duUHRyPGdjaGFyPiBzaWduYWxWYWx1
ZTsKKworICAgIGdfc2lnbmFsX3F1ZXJ5KHNpZ25hbEhpbnQtPnNpZ25hbF9pZCwgJnNpZ25hbF9x
dWVyeSk7CisKKyAgICBpZiAoIWdfc3RyY21wMChzaWduYWxfcXVlcnkuc2lnbmFsX25hbWUsICJz
dGF0ZS1jaGFuZ2UiKSkgeworICAgICAgICBzaWduYWxOYW1lLnNldChnX3N0cmR1cF9wcmludGYo
InN0YXRlLWNoYW5nZTolcyIsIGdfdmFsdWVfZ2V0X3N0cmluZygmcGFyYW1WYWx1ZXNbMV0pKSk7
CisgICAgICAgIHNpZ25hbFZhbHVlLnNldChnX3N0cmR1cF9wcmludGYoIiVkIiwgZ192YWx1ZV9n
ZXRfYm9vbGVhbigmcGFyYW1WYWx1ZXNbMl0pKSk7CisgICAgfSBlbHNlIGlmICghZ19zdHJjbXAw
KHNpZ25hbF9xdWVyeS5zaWduYWxfbmFtZSwgImZvY3VzLWV2ZW50IikpIHsKKyAgICAgICAgc2ln
bmFsTmFtZS5zZXQoZ19zdHJkdXAoImZvY3VzLWV2ZW50IikpOworICAgICAgICBzaWduYWxWYWx1
ZS5zZXQoZ19zdHJkdXBfcHJpbnRmKCIlZCIsIGdfdmFsdWVfZ2V0X2Jvb2xlYW4oJnBhcmFtVmFs
dWVzWzFdKSkpOworICAgIH0gZWxzZSBpZiAoIWdfc3RyY21wMChzaWduYWxfcXVlcnkuc2lnbmFs
X25hbWUsICJjaGlsZHJlbi1jaGFuZ2VkIikpIHsKKyAgICAgICAgc2lnbmFsTmFtZS5zZXQoZ19z
dHJkdXAoImNoaWxkcmVuLWNoYW5nZWQiKSk7CisgICAgICAgIHNpZ25hbFZhbHVlLnNldChnX3N0
cmR1cF9wcmludGYoIiVkIiwgZ192YWx1ZV9nZXRfdWludCgmcGFyYW1WYWx1ZXNbMV0pKSk7Cisg
ICAgfSBlbHNlIGlmICghZ19zdHJjbXAwKHNpZ25hbF9xdWVyeS5zaWduYWxfbmFtZSwgInByb3Bl
cnR5LWNoYW5nZSIpKQorICAgICAgICBzaWduYWxOYW1lLnNldChnX3N0cmR1cF9wcmludGYoInBy
b3BlcnR5LWNoYW5nZTolcyIsIGdfcXVhcmtfdG9fc3RyaW5nKHNpZ25hbEhpbnQtPmRldGFpbCkp
KTsKKyAgICBlbHNlCisgICAgICAgIHNpZ25hbE5hbWUuc2V0KGdfc3RyZHVwKHNpZ25hbF9xdWVy
eS5zaWduYWxfbmFtZSkpOworCisgICAgcHJpbnRBY2Nlc3NpYmlsaXR5RXZlbnQoYWNjZXNzaWJs
ZSwgc2lnbmFsTmFtZS5nZXQoKSwgc2lnbmFsVmFsdWUuZ2V0KCkpOworCisgICAgcmV0dXJuIFRS
VUU7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmxvZ0FjY2Vzc2liaWxpdHlF
dmVudHMoKQoreworICAgIC8vIEVuc3VyZSBubyBjYWxsYmFja3MgYXJlIGNvbm5lY3RlZCBiZWZv
cmUuCisgICAgcmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOworCisgICAgLy8gRW5zdXJlIHRoYXQg
YWNjZXNzaWJpbGl0eSBpcyBpbml0aWFsaXplZCBmb3IgdGhlIFdlYlZpZXcgYnkgcXVlcnlpbmcg
Zm9yCisgICAgLy8gdGhlIHJvb3QgYWNjZXNzaWJsZSBvYmplY3QsIHdoaWNoIHdpbGwgY3JlYXRl
IHRoZSBmdWxsIGhpZXJhcmNoeS4KKyAgICByb290RWxlbWVudCgpOworCisgICAgLy8gQWRkIGds
b2JhbCBsaXN0ZW5lcnMgZm9yIEF0a09iamVjdCdzIHNpZ25hbHMuCisgICAgbV9zdGF0ZUNoYW5n
ZUxpc3RlbmVySWQgPSBhdGtfYWRkX2dsb2JhbF9ldmVudF9saXN0ZW5lcihheE9iamVjdEV2ZW50
TGlzdGVuZXIsICJHdGs6QXRrT2JqZWN0OnN0YXRlLWNoYW5nZSIpOworICAgIG1fZm9jdXNFdmVu
dExpc3RlbmVySWQgPSBhdGtfYWRkX2dsb2JhbF9ldmVudF9saXN0ZW5lcihheE9iamVjdEV2ZW50
TGlzdGVuZXIsICJHdGs6QXRrT2JqZWN0OmZvY3VzLWV2ZW50Iik7CisgICAgbV9hY3RpdmVEZXNj
ZW5kYW50Q2hhbmdlZExpc3RlbmVySWQgPSBhdGtfYWRkX2dsb2JhbF9ldmVudF9saXN0ZW5lcihh
eE9iamVjdEV2ZW50TGlzdGVuZXIsICJHdGs6QXRrT2JqZWN0OmFjdGl2ZS1kZXNjZW5kYW50LWNo
YW5nZWQiKTsKKyAgICBtX2NoaWxkcmVuQ2hhbmdlZExpc3RlbmVySWQgPSBhdGtfYWRkX2dsb2Jh
bF9ldmVudF9saXN0ZW5lcihheE9iamVjdEV2ZW50TGlzdGVuZXIsICJHdGs6QXRrT2JqZWN0OmNo
aWxkcmVuLWNoYW5nZWQiKTsKKyAgICBtX3Byb3BlcnR5Q2hhbmdlZExpc3RlbmVySWQgPSBhdGtf
YWRkX2dsb2JhbF9ldmVudF9saXN0ZW5lcihheE9iamVjdEV2ZW50TGlzdGVuZXIsICJHdGs6QXRr
T2JqZWN0OnByb3BlcnR5LWNoYW5nZSIpOworICAgIG1fdmlzaWJsZURhdGFDaGFuZ2VkTGlzdGVu
ZXJJZCA9IGF0a19hZGRfZ2xvYmFsX2V2ZW50X2xpc3RlbmVyKGF4T2JqZWN0RXZlbnRMaXN0ZW5l
ciwgIkd0azpBdGtPYmplY3Q6dmlzaWJsZS1kYXRhLWNoYW5nZWQiKTsKKworICAgIC8vIEVuc3Vy
ZSB0aGUgQXRrIGludGVyZmFjZSB0eXBlcyBhcmUgcmVnaXN0ZXJlZCwgb3RoZXJ3aXNlCisgICAg
Ly8gdGhlIEF0a0RvY3VtZW50IHNpZ25hbCBoYW5kbGVycyBiZWxvdyB3b24ndCBnZXQgcmVnaXN0
ZXJlZC4KKyAgICBHT2JqZWN0KiBkdW1teUF4T2JqZWN0ID0gR19PQkpFQ1QoZ19vYmplY3RfbmV3
KEFUS19UWVBFX09CSkVDVCwgMCkpOworICAgIEF0a09iamVjdCogZHVtbXlOb09wQXhPYmplY3Qg
PSBhdGtfbm9fb3Bfb2JqZWN0X25ldyhkdW1teUF4T2JqZWN0KTsKKyAgICBnX29iamVjdF91bnJl
ZihHX09CSkVDVChkdW1teU5vT3BBeE9iamVjdCkpOworICAgIGdfb2JqZWN0X3VucmVmKGR1bW15
QXhPYmplY3QpOworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZXNldFRvQ29u
c2lzdGVudFN0YXRlKCkKK3sKKyAgICAvLyBBdGtPYmplY3Qgc2lnbmFscy4KKyAgICBpZiAobV9z
dGF0ZUNoYW5nZUxpc3RlbmVySWQpIHsKKyAgICAgICAgYXRrX3JlbW92ZV9nbG9iYWxfZXZlbnRf
bGlzdGVuZXIobV9zdGF0ZUNoYW5nZUxpc3RlbmVySWQpOworICAgICAgICBtX3N0YXRlQ2hhbmdl
TGlzdGVuZXJJZCA9IDA7CisgICAgfQorICAgIGlmIChtX2ZvY3VzRXZlbnRMaXN0ZW5lcklkKSB7
CisgICAgICAgIGF0a19yZW1vdmVfZ2xvYmFsX2V2ZW50X2xpc3RlbmVyKG1fZm9jdXNFdmVudExp
c3RlbmVySWQpOworICAgICAgICBtX2ZvY3VzRXZlbnRMaXN0ZW5lcklkID0gMDsKKyAgICB9Cisg
ICAgaWYgKG1fYWN0aXZlRGVzY2VuZGFudENoYW5nZWRMaXN0ZW5lcklkKSB7CisgICAgICAgIGF0
a19yZW1vdmVfZ2xvYmFsX2V2ZW50X2xpc3RlbmVyKG1fYWN0aXZlRGVzY2VuZGFudENoYW5nZWRM
aXN0ZW5lcklkKTsKKyAgICAgICAgbV9hY3RpdmVEZXNjZW5kYW50Q2hhbmdlZExpc3RlbmVySWQg
PSAwOworICAgIH0KKyAgICBpZiAobV9jaGlsZHJlbkNoYW5nZWRMaXN0ZW5lcklkKSB7CisgICAg
ICAgIGF0a19yZW1vdmVfZ2xvYmFsX2V2ZW50X2xpc3RlbmVyKG1fY2hpbGRyZW5DaGFuZ2VkTGlz
dGVuZXJJZCk7CisgICAgICAgIG1fY2hpbGRyZW5DaGFuZ2VkTGlzdGVuZXJJZCA9IDA7CisgICAg
fQorICAgIGlmIChtX3Byb3BlcnR5Q2hhbmdlZExpc3RlbmVySWQpIHsKKyAgICAgICAgYXRrX3Jl
bW92ZV9nbG9iYWxfZXZlbnRfbGlzdGVuZXIobV9wcm9wZXJ0eUNoYW5nZWRMaXN0ZW5lcklkKTsK
KyAgICAgICAgbV9wcm9wZXJ0eUNoYW5nZWRMaXN0ZW5lcklkID0gMDsKKyAgICB9CisgICAgaWYg
KG1fdmlzaWJsZURhdGFDaGFuZ2VkTGlzdGVuZXJJZCkgeworICAgICAgICBhdGtfcmVtb3ZlX2ds
b2JhbF9ldmVudF9saXN0ZW5lcihtX3Zpc2libGVEYXRhQ2hhbmdlZExpc3RlbmVySWQpOworICAg
ICAgICBtX3Zpc2libGVEYXRhQ2hhbmdlZExpc3RlbmVySWQgPSAwOworICAgIH0KK30KKworfSAv
LyBuYW1lc3BhY2UgV1RSCi0tIAoxLjcuMTAuMgoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152977</attachid>
            <date>2012-07-18 03:29:26 -0700</date>
            <delta_ts>2012-07-18 09:28:50 -0700</delta_ts>
            <desc>Patch proposal</desc>
            <filename>bug-89224-20120718122925.patch</filename>
            <type>text/plain</type>
            <size>15031</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyOTM5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGU3MGI3Y2RkOTY1MjU0ZGM5YWU1NzFkZDc5YzQ4YTlm
ZmFmYTNhYy4uY2FmMzM0YWQ1YWNhMjZmNDM2NzkyYTA1NTEwZmNmODJkMzU3ZDUwMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM3
IEBACiAyMDEyLTA3LTE4ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNv
bT4KIAorICAgICAgICBbV0syXVtHVEtdIENvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIEFjY2Vz
c2liaWxpdHlDb250cm9sbGVyIGluIFdLVFIgZm9yIEdUSworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkyMjQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgbG9nQWNjZXNzaWJpbGl0eUV2ZW50
cygpIGFuZCByZXNldFRvQ29uc2lzdGVudFN0YXRlKCksCisgICAgICAgIHNvIHdlIGNhbiBhc2sg
V0tUUiBmcm9tIHRoZSBsYXlvdXQgdGVzdHMgZm9yIGxvZ2dpbmcgYWxsIHRoZQorICAgICAgICBh
Y2Nlc3NpYmlsaXR5IHJlbGF0ZWQgZXZlbnRzIGludG8gdGhlIHJlc3VsdC4KKworICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHA6CisgICAgICAg
IChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcik6
CisgICAgICAgIChXVFIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6
bG9nQWNjZXNzaWJpbGl0eUV2ZW50cyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250
cm9sbGVyOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmg6CisgICAgICAgIChB
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdUUik6CisgICAgICAgIChXVFI6OnByaW50QWNjZXNzaWJpbGl0eUV2ZW50KToKKyAg
ICAgICAgKFdUUjo6YXhPYmplY3RFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXI6OmxvZ0FjY2Vzc2liaWxpdHlFdmVudHMpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSk6CisKKyAg
ICAgICAgRW5zdXJlIHdlIHJlc2V0IHRoZSBhY2Nlc3NpYmlsaXR5IGNvbnRyb2xsZXIgdG8gYSBj
b25zaXN0ZW50CisgICAgICAgIHdoZW5ldmVyIGEgdGVzdCBoYXMgZmluaXNoZWQgcnVubmluZy4K
KworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuY3BwOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6ZG9uZSk6CisKKzIwMTItMDct
MTggIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgorCiAgICAgICAg
IFtXSzJdW0dUS10gSW1wbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgaW4gV0tUUiBmb3Ig
R1RLCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTIy
MwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0dOVW1ha2VmaWxlLmFtIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9HTlVtYWtlZmlsZS5hbQppbmRleCBhMjU1ZjY3ZTM3YWE2
YzE2NDIyN2UwZWYxYmVjN2Y4YmJjZDUxYjc0Li43MjNjZTc3ZWVhNzExMTNhN2Q2ZTZlNmM2N2E4
MDdkNjFhNjZiZGY3IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvR05VbWFrZWZpbGUuYW0KQEAgLTk0
LDYgKzk0LDcgQEAgTGlicmFyaWVzX2xpYlRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZV9sYV9TT1VS
Q0VTID0gXAogCVRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5oIFwKIAlUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0dDQ29udHJvbGxlci5jcHAgXAogCVRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvR0NDb250cm9sbGVyLmggXAorCVRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcCBcCiAJVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAg
XAogCVRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9u
dHNHdGsuY3BwIFwKIAlUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9J
bmplY3RlZEJ1bmRsZUd0ay5jcHAgXApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcApp
bmRleCA0NDBmOTUyYjJiMzAwZTFhNDFhOTFlMjNkZWUyMWU1NGNkNjExNWJlLi4yY2QzMDQ5ZmUx
NTc5NTc3NmFiZDEzMjIwYjJlMmFhMGVkY2ZmNzVkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmNwcApAQCAtNDQsNiArNDQsMTQgQEAgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcj4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmNyZWF0ZSgpCiB9CiAKIEFjY2Vzc2li
aWxpdHlDb250cm9sbGVyOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigpCisjaWYgUExBVEZPUk0o
R1RLKQorICAgIDogbV9zdGF0ZUNoYW5nZUxpc3RlbmVySWQoMCkKKyAgICAsIG1fZm9jdXNFdmVu
dExpc3RlbmVySWQoMCkKKyAgICAsIG1fYWN0aXZlRGVzY2VuZGFudENoYW5nZWRMaXN0ZW5lcklk
KDApCisgICAgLCBtX2NoaWxkcmVuQ2hhbmdlZExpc3RlbmVySWQoMCkKKyAgICAsIG1fcHJvcGVy
dHlDaGFuZ2VkTGlzdGVuZXJJZCgwKQorICAgICwgbV92aXNpYmxlRGF0YUNoYW5nZWRMaXN0ZW5l
cklkKDApCisjZW5kaWYKIHsKIH0KIApAQCAtOTMsMTEgKzEwMSwxNyBAQCBQYXNzUmVmUHRyPEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjplbGVtZW50QXRQ
b2ludChpbnQgeAogICAgIHJldHVybiB1aUVsZW1lbnQtPmVsZW1lbnRBdFBvaW50KHgsIHkpOwog
fQogCi0vLyBVbnN1cHBvcnRlZCBtZXRob2RzIG9uIHZhcmlvdXMgcGxhdGZvcm1zLiBBcyB0aGV5
J3JlIGltcGxlbWVudGVkIG9uIG90aGVyIHBsYXRmb3JtcyB0aGlzIGxpc3Qgc2hvdWxkIGJlIG1v
ZGlmaWVkLgorLy8gVW5zdXBwb3J0ZWQgbWV0aG9kcyBvbiB2YXJpb3VzIHBsYXRmb3Jtcy4KKy8v
IEFzIHRoZXkncmUgaW1wbGVtZW50ZWQgb24gb3RoZXIgcGxhdGZvcm1zIHRoaXMgbGlzdCBzaG91
bGQgYmUgbW9kaWZpZWQuCiAjaWYgIVBMQVRGT1JNKE1BQykKIGJvb2wgQWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXI6OmFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKEpTVmFsdWVSZWYpIHsgcmV0dXJuIGZh
bHNlOyB9CiBib29sIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZW1vdmVOb3RpZmljYXRpb25M
aXN0ZW5lcigpIHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKLSAgICAKKworI2lmICFQTEFURk9S
TShHVEspCit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpsb2dBY2Nlc3NpYmlsaXR5RXZl
bnRzKCkgeyB9Cit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZXNldFRvQ29uc2lzdGVu
dFN0YXRlKCkgeyB9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV1RSCiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuaAppbmRleCAwOGI5MGUyZjBkNDc5ZWY4OTIxNmU5OWJhN2VkYTM1YzVi
MDMyMmQ5Li4zYzg3Y2FjNWQ1YzZhOWM0MDYyMDdiMzdiNmFlMzczYWU0ZDNiNzc5IDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9B
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oCkBAIC01Niw5ICs1Niw5IEBAIHB1YmxpYzoKICAgICB2
b2lkIGxvZ0ZvY3VzRXZlbnRzKCkgeyB9CiAgICAgdm9pZCBsb2dWYWx1ZUNoYW5nZUV2ZW50cygp
IHsgfQogICAgIHZvaWQgbG9nU2Nyb2xsaW5nU3RhcnRFdmVudHMoKSB7IH0KLSAgICB2b2lkIGxv
Z0FjY2Vzc2liaWxpdHlFdmVudHMoKSB7IH0KLSAgICAKLSAgICB2b2lkIHJlc2V0VG9Db25zaXN0
ZW50U3RhdGUoKSB7IH0KKyAgICB2b2lkIGxvZ0FjY2Vzc2liaWxpdHlFdmVudHMoKTsKKworICAg
IHZvaWQgcmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwogCiBwcml2YXRlOgogICAgIEFjY2Vzc2li
aWxpdHlDb250cm9sbGVyKCk7CkBAIC02Niw2ICs2NiwxNSBAQCBwcml2YXRlOgogI2lmIFBMQVRG
T1JNKE1BQykKICAgICBSZXRhaW5QdHI8Tm90aWZpY2F0aW9uSGFuZGxlcj4gbV9nbG9iYWxOb3Rp
ZmljYXRpb25IYW5kbGVyOwogI2VuZGlmCisKKyNpZiBQTEFURk9STShHVEspCisgICAgdW5zaWdu
ZWQgbV9zdGF0ZUNoYW5nZUxpc3RlbmVySWQ7CisgICAgdW5zaWduZWQgbV9mb2N1c0V2ZW50TGlz
dGVuZXJJZDsKKyAgICB1bnNpZ25lZCBtX2FjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkTGlzdGVuZXJJ
ZDsKKyAgICB1bnNpZ25lZCBtX2NoaWxkcmVuQ2hhbmdlZExpc3RlbmVySWQ7CisgICAgdW5zaWdu
ZWQgbV9wcm9wZXJ0eUNoYW5nZWRMaXN0ZW5lcklkOworICAgIHVuc2lnbmVkIG1fdmlzaWJsZURh
dGFDaGFuZ2VkTGlzdGVuZXJJZDsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RSCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuY3BwCmluZGV4IGM5YzNmZWMzZGQ3ZDY1ZWY3YzQ0Y2VjN2U4ZTI1ODVmMjUzNmY1
YTguLjJhOTQwY2FhNjJjNWY2YTcyYTJjYmY5ZjlmOGFiNWM1YmY1M2IwOTkgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3Bw
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuY3BwCkBAIC0yNDQsNiArMjQ0LDggQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZG9uZSgpCiAg
ICAgcGFnZSgpLT5zdG9wTG9hZGluZygpOwogICAgIHNldFRvcExvYWRpbmdGcmFtZSgwKTsKIAor
ICAgIG1fYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXItPnJlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsK
KwogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBkb25lTWVzc2FnZU5hbWUoQWRvcHRXSywg
V0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkRvbmUiKSk7CiAgICAgV0tSZXRhaW5QdHI8
V0tNdXRhYmxlRGljdGlvbmFyeVJlZj4gZG9uZU1lc3NhZ2VCb2R5KEFkb3B0V0ssIFdLTXV0YWJs
ZURpY3Rpb25hcnlDcmVhdGUoKSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyR3RrLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZTk5ZTE2MGM5MmY4MzNlOThmZGU2YWQzZTA5OWUw
M2Y5ZDE2Y2NhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsuY3BwCkBAIC0wLDAgKzEs
MTUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIElnYWxpYSBTLkwuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgiCisKKyNpbmNsdWRlICJJ
bmplY3RlZEJ1bmRsZS5oIgorI2luY2x1ZGUgPGF0ay9hdGsuaD4KKyNpbmNsdWRlIDxjc3RkaW8+
CisjaW5jbHVkZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdUUiB7CisKK3N0YXRpYyB2b2lkIHByaW50QWNj
ZXNzaWJpbGl0eUV2ZW50KEF0a09iamVjdCogYWNjZXNzaWJsZSwgY29uc3QgZ2NoYXIqIHNpZ25h
bE5hbWUsIGNvbnN0IGdjaGFyKiBzaWduYWxWYWx1ZSkKK3sKKyAgICAvLyBEbyBub3QgaGFuZGxl
IHN0YXRlLWNoYW5nZTpkZWZ1bmN0IHNpZ25hbHMsIGFzIHRoZSBBdGtPYmplY3QKKyAgICAvLyBh
c3NvY2lhdGVkIHRvIHRoZW0gd2lsbCBub3QgYmUgdmFsaWQgYXQgdGhpcyBwb2ludCBhbHJlYWR5
LgorICAgIGlmICghc2lnbmFsTmFtZSB8fCAhZ19zdHJjbXAwKHNpZ25hbE5hbWUsICJzdGF0ZS1j
aGFuZ2U6ZGVmdW5jdCIpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIWFjY2Vzc2libGUg
fHwgIUFUS19JU19PQkpFQ1QoYWNjZXNzaWJsZSkpCisgICAgICAgIHJldHVybjsKKworICAgIGNv
bnN0IGdjaGFyKiBvYmplY3ROYW1lID0gYXRrX29iamVjdF9nZXRfbmFtZShhY2Nlc3NpYmxlKTsK
KyAgICBBdGtSb2xlIG9iamVjdFJvbGUgPSBhdGtfb2JqZWN0X2dldF9yb2xlKGFjY2Vzc2libGUp
OworCisgICAgLy8gVHJ5IHRvIGFsd2F5cyBwcm92aWRlIGEgbmFtZSB0byBiZSBsb2dnZWQgZm9y
IHRoZSBvYmplY3QuCisgICAgaWYgKCFvYmplY3ROYW1lIHx8ICpvYmplY3ROYW1lID09ICdcMCcp
CisgICAgICAgIG9iamVjdE5hbWUgPSAiKE5vIG5hbWUpIjsKKworICAgIEdPd25QdHI8Z2NoYXI+
IHNpZ25hbE5hbWVBbmRWYWx1ZShzaWduYWxWYWx1ZSA/IGdfc3RyZHVwX3ByaW50ZigiJXMgPSAl
cyIsIHNpZ25hbE5hbWUsIHNpZ25hbFZhbHVlKSA6IGdfc3RyZHVwKHNpZ25hbE5hbWUpKTsKKyAg
ICBHT3duUHRyPGdjaGFyPiBhY2Nlc3NpYmlsaXR5RXZlbnRTdHJpbmcoZ19zdHJkdXBfcHJpbnRm
KCJBY2Nlc3NpYmlsaXR5IG9iamVjdCBlbWl0dGVkIFwiJXNcIiAvIE5hbWU6IFwiJXNcIiAvIFJv
bGU6ICVkXG4iLCBzaWduYWxOYW1lQW5kVmFsdWUuZ2V0KCksIG9iamVjdE5hbWUsIG9iamVjdFJv
bGUpKTsKKyAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuc3RyaW5nQnVpbGRlcigpLT5hcHBl
bmQoYWNjZXNzaWJpbGl0eUV2ZW50U3RyaW5nLmdldCgpKTsKK30KKworc3RhdGljIGdib29sZWFu
IGF4T2JqZWN0RXZlbnRMaXN0ZW5lcihHU2lnbmFsSW52b2NhdGlvbkhpbnQgKnNpZ25hbEhpbnQs
IGd1aW50IG51bVBhcmFtVmFsdWVzLCBjb25zdCBHVmFsdWUgKnBhcmFtVmFsdWVzLCBncG9pbnRl
ciBkYXRhKQoreworICAgIC8vIEF0IGxlYXN0IHdlIHNob3VsZCByZWNlaXZlIHRoZSBpbnN0YW5j
ZSBlbWl0dGluZyB0aGUgc2lnbmFsLgorICAgIGlmIChudW1QYXJhbVZhbHVlcyA8IDEpCisgICAg
ICAgIHJldHVybiBUUlVFOworCisgICAgQXRrT2JqZWN0KiBhY2Nlc3NpYmxlID0gQVRLX09CSkVD
VChnX3ZhbHVlX2dldF9vYmplY3QoJnBhcmFtVmFsdWVzWzBdKSk7CisgICAgaWYgKCFhY2Nlc3Np
YmxlIHx8ICFBVEtfSVNfT0JKRUNUKGFjY2Vzc2libGUpKQorICAgICAgICByZXR1cm4gVFJVRTsK
KworICAgIEdTaWduYWxRdWVyeSBzaWduYWxfcXVlcnk7CisgICAgR093blB0cjxnY2hhcj4gc2ln
bmFsTmFtZTsKKyAgICBHT3duUHRyPGdjaGFyPiBzaWduYWxWYWx1ZTsKKworICAgIGdfc2lnbmFs
X3F1ZXJ5KHNpZ25hbEhpbnQtPnNpZ25hbF9pZCwgJnNpZ25hbF9xdWVyeSk7CisKKyAgICBpZiAo
IWdfc3RyY21wMChzaWduYWxfcXVlcnkuc2lnbmFsX25hbWUsICJzdGF0ZS1jaGFuZ2UiKSkgewor
ICAgICAgICBzaWduYWxOYW1lLnNldChnX3N0cmR1cF9wcmludGYoInN0YXRlLWNoYW5nZTolcyIs
IGdfdmFsdWVfZ2V0X3N0cmluZygmcGFyYW1WYWx1ZXNbMV0pKSk7CisgICAgICAgIHNpZ25hbFZh
bHVlLnNldChnX3N0cmR1cF9wcmludGYoIiVkIiwgZ192YWx1ZV9nZXRfYm9vbGVhbigmcGFyYW1W
YWx1ZXNbMl0pKSk7CisgICAgfSBlbHNlIGlmICghZ19zdHJjbXAwKHNpZ25hbF9xdWVyeS5zaWdu
YWxfbmFtZSwgImZvY3VzLWV2ZW50IikpIHsKKyAgICAgICAgc2lnbmFsTmFtZS5zZXQoZ19zdHJk
dXAoImZvY3VzLWV2ZW50IikpOworICAgICAgICBzaWduYWxWYWx1ZS5zZXQoZ19zdHJkdXBfcHJp
bnRmKCIlZCIsIGdfdmFsdWVfZ2V0X2Jvb2xlYW4oJnBhcmFtVmFsdWVzWzFdKSkpOworICAgIH0g
ZWxzZSBpZiAoIWdfc3RyY21wMChzaWduYWxfcXVlcnkuc2lnbmFsX25hbWUsICJjaGlsZHJlbi1j
aGFuZ2VkIikpIHsKKyAgICAgICAgc2lnbmFsTmFtZS5zZXQoZ19zdHJkdXAoImNoaWxkcmVuLWNo
YW5nZWQiKSk7CisgICAgICAgIHNpZ25hbFZhbHVlLnNldChnX3N0cmR1cF9wcmludGYoIiVkIiwg
Z192YWx1ZV9nZXRfdWludCgmcGFyYW1WYWx1ZXNbMV0pKSk7CisgICAgfSBlbHNlIGlmICghZ19z
dHJjbXAwKHNpZ25hbF9xdWVyeS5zaWduYWxfbmFtZSwgInByb3BlcnR5LWNoYW5nZSIpKQorICAg
ICAgICBzaWduYWxOYW1lLnNldChnX3N0cmR1cF9wcmludGYoInByb3BlcnR5LWNoYW5nZTolcyIs
IGdfcXVhcmtfdG9fc3RyaW5nKHNpZ25hbEhpbnQtPmRldGFpbCkpKTsKKyAgICBlbHNlCisgICAg
ICAgIHNpZ25hbE5hbWUuc2V0KGdfc3RyZHVwKHNpZ25hbF9xdWVyeS5zaWduYWxfbmFtZSkpOwor
CisgICAgcHJpbnRBY2Nlc3NpYmlsaXR5RXZlbnQoYWNjZXNzaWJsZSwgc2lnbmFsTmFtZS5nZXQo
KSwgc2lnbmFsVmFsdWUuZ2V0KCkpOworCisgICAgcmV0dXJuIFRSVUU7Cit9CisKK3ZvaWQgQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmxvZ0FjY2Vzc2liaWxpdHlFdmVudHMoKQoreworICAgIC8v
IEVuc3VyZSBubyBjYWxsYmFja3MgYXJlIGNvbm5lY3RlZCBiZWZvcmUuCisgICAgcmVzZXRUb0Nv
bnNpc3RlbnRTdGF0ZSgpOworCisgICAgLy8gRW5zdXJlIHRoYXQgYWNjZXNzaWJpbGl0eSBpcyBp
bml0aWFsaXplZCBmb3IgdGhlIFdlYlZpZXcgYnkgcXVlcnlpbmcgZm9yCisgICAgLy8gdGhlIHJv
b3QgYWNjZXNzaWJsZSBvYmplY3QsIHdoaWNoIHdpbGwgY3JlYXRlIHRoZSBmdWxsIGhpZXJhcmNo
eS4KKyAgICByb290RWxlbWVudCgpOworCisgICAgLy8gQWRkIGdsb2JhbCBsaXN0ZW5lcnMgZm9y
IEF0a09iamVjdCdzIHNpZ25hbHMuCisgICAgbV9zdGF0ZUNoYW5nZUxpc3RlbmVySWQgPSBhdGtf
YWRkX2dsb2JhbF9ldmVudF9saXN0ZW5lcihheE9iamVjdEV2ZW50TGlzdGVuZXIsICJHdGs6QXRr
T2JqZWN0OnN0YXRlLWNoYW5nZSIpOworICAgIG1fZm9jdXNFdmVudExpc3RlbmVySWQgPSBhdGtf
YWRkX2dsb2JhbF9ldmVudF9saXN0ZW5lcihheE9iamVjdEV2ZW50TGlzdGVuZXIsICJHdGs6QXRr
T2JqZWN0OmZvY3VzLWV2ZW50Iik7CisgICAgbV9hY3RpdmVEZXNjZW5kYW50Q2hhbmdlZExpc3Rl
bmVySWQgPSBhdGtfYWRkX2dsb2JhbF9ldmVudF9saXN0ZW5lcihheE9iamVjdEV2ZW50TGlzdGVu
ZXIsICJHdGs6QXRrT2JqZWN0OmFjdGl2ZS1kZXNjZW5kYW50LWNoYW5nZWQiKTsKKyAgICBtX2No
aWxkcmVuQ2hhbmdlZExpc3RlbmVySWQgPSBhdGtfYWRkX2dsb2JhbF9ldmVudF9saXN0ZW5lcihh
eE9iamVjdEV2ZW50TGlzdGVuZXIsICJHdGs6QXRrT2JqZWN0OmNoaWxkcmVuLWNoYW5nZWQiKTsK
KyAgICBtX3Byb3BlcnR5Q2hhbmdlZExpc3RlbmVySWQgPSBhdGtfYWRkX2dsb2JhbF9ldmVudF9s
aXN0ZW5lcihheE9iamVjdEV2ZW50TGlzdGVuZXIsICJHdGs6QXRrT2JqZWN0OnByb3BlcnR5LWNo
YW5nZSIpOworICAgIG1fdmlzaWJsZURhdGFDaGFuZ2VkTGlzdGVuZXJJZCA9IGF0a19hZGRfZ2xv
YmFsX2V2ZW50X2xpc3RlbmVyKGF4T2JqZWN0RXZlbnRMaXN0ZW5lciwgIkd0azpBdGtPYmplY3Q6
dmlzaWJsZS1kYXRhLWNoYW5nZWQiKTsKKworICAgIC8vIEVuc3VyZSB0aGUgQXRrIGludGVyZmFj
ZSB0eXBlcyBhcmUgcmVnaXN0ZXJlZCwgb3RoZXJ3aXNlCisgICAgLy8gdGhlIEF0a0RvY3VtZW50
IHNpZ25hbCBoYW5kbGVycyBiZWxvdyB3b24ndCBnZXQgcmVnaXN0ZXJlZC4KKyAgICBHT2JqZWN0
KiBkdW1teUF4T2JqZWN0ID0gR19PQkpFQ1QoZ19vYmplY3RfbmV3KEFUS19UWVBFX09CSkVDVCwg
MCkpOworICAgIEF0a09iamVjdCogZHVtbXlOb09wQXhPYmplY3QgPSBhdGtfbm9fb3Bfb2JqZWN0
X25ldyhkdW1teUF4T2JqZWN0KTsKKyAgICBnX29iamVjdF91bnJlZihHX09CSkVDVChkdW1teU5v
T3BBeE9iamVjdCkpOworICAgIGdfb2JqZWN0X3VucmVmKGR1bW15QXhPYmplY3QpOworfQorCit2
b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKCkKK3sK
KyAgICAvLyBBdGtPYmplY3Qgc2lnbmFscy4KKyAgICBpZiAobV9zdGF0ZUNoYW5nZUxpc3RlbmVy
SWQpIHsKKyAgICAgICAgYXRrX3JlbW92ZV9nbG9iYWxfZXZlbnRfbGlzdGVuZXIobV9zdGF0ZUNo
YW5nZUxpc3RlbmVySWQpOworICAgICAgICBtX3N0YXRlQ2hhbmdlTGlzdGVuZXJJZCA9IDA7Cisg
ICAgfQorICAgIGlmIChtX2ZvY3VzRXZlbnRMaXN0ZW5lcklkKSB7CisgICAgICAgIGF0a19yZW1v
dmVfZ2xvYmFsX2V2ZW50X2xpc3RlbmVyKG1fZm9jdXNFdmVudExpc3RlbmVySWQpOworICAgICAg
ICBtX2ZvY3VzRXZlbnRMaXN0ZW5lcklkID0gMDsKKyAgICB9CisgICAgaWYgKG1fYWN0aXZlRGVz
Y2VuZGFudENoYW5nZWRMaXN0ZW5lcklkKSB7CisgICAgICAgIGF0a19yZW1vdmVfZ2xvYmFsX2V2
ZW50X2xpc3RlbmVyKG1fYWN0aXZlRGVzY2VuZGFudENoYW5nZWRMaXN0ZW5lcklkKTsKKyAgICAg
ICAgbV9hY3RpdmVEZXNjZW5kYW50Q2hhbmdlZExpc3RlbmVySWQgPSAwOworICAgIH0KKyAgICBp
ZiAobV9jaGlsZHJlbkNoYW5nZWRMaXN0ZW5lcklkKSB7CisgICAgICAgIGF0a19yZW1vdmVfZ2xv
YmFsX2V2ZW50X2xpc3RlbmVyKG1fY2hpbGRyZW5DaGFuZ2VkTGlzdGVuZXJJZCk7CisgICAgICAg
IG1fY2hpbGRyZW5DaGFuZ2VkTGlzdGVuZXJJZCA9IDA7CisgICAgfQorICAgIGlmIChtX3Byb3Bl
cnR5Q2hhbmdlZExpc3RlbmVySWQpIHsKKyAgICAgICAgYXRrX3JlbW92ZV9nbG9iYWxfZXZlbnRf
bGlzdGVuZXIobV9wcm9wZXJ0eUNoYW5nZWRMaXN0ZW5lcklkKTsKKyAgICAgICAgbV9wcm9wZXJ0
eUNoYW5nZWRMaXN0ZW5lcklkID0gMDsKKyAgICB9CisgICAgaWYgKG1fdmlzaWJsZURhdGFDaGFu
Z2VkTGlzdGVuZXJJZCkgeworICAgICAgICBhdGtfcmVtb3ZlX2dsb2JhbF9ldmVudF9saXN0ZW5l
cihtX3Zpc2libGVEYXRhQ2hhbmdlZExpc3RlbmVySWQpOworICAgICAgICBtX3Zpc2libGVEYXRh
Q2hhbmdlZExpc3RlbmVySWQgPSAwOworICAgIH0KK30KKworfSAvLyBuYW1lc3BhY2UgV1RSCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggMjI3OGY1OGYwNzI2NDA2ODBlMzE3YmU5MTUzNmQ1MmE3Yjg5YmZmNi4uY2NiMzkxNjhj
Y2RjOTU1OGU2NDYyMDRkZmEyN2VlMTBhN2ExMmViMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBACiAy
MDEyLTA3LTE4ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KIAor
ICAgICAgICBbV0syXVtHVEtdIENvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIEFjY2Vzc2liaWxp
dHlDb250cm9sbGVyIGluIFdLVFIgZm9yIEdUSworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkyMjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBVbnNraXAgdGVzdHMgbm93IHBhc3NpbmcuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGstd2syL1NraXBwZWQ6CisKKzIwMTItMDctMTggIE1hcmlvIFNhbmNoZXog
UHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgorCiAgICAgICAgIFtXSzJdW0dUS10gSW1wbGVt
ZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgaW4gV0tUUiBmb3IgR1RLCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTIyMwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGstd2syL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGstd2syL1NraXBwZWQKaW5kZXggNTZjYjFiOWQ3NGQ3YTE1YWE3OTQzNjI5NzkxNWJiNzBk
ODFmNDEzNy4uMGJjMjliMmQ2MmY4NjQ2OGQwZTA1M2UxM2YwMzJhZGVlZGI0NTYzZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrLXdrMi9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay13azIvU2tpcHBlZApAQCAtMzA3LDkgKzMwNyw3IEBAIGZhc3QvZXZl
bnRzL3BvcHVwLWJsb2NraW5nLWNsaWNrLWluLWlmcmFtZS5odG1sCiAjIGFjY2Vzc2liaWxpdHkg
dGVzdHMgZmFpbGluZyBkdWUgdG8gbWlzc2luZyBXS1RSIGZlYXR1cmVzCiBhY2Nlc3NpYmlsaXR5
L2FyaWEtZGVzY3JpYmVkYnktb24taW5wdXQuaHRtbAogYWNjZXNzaWJpbGl0eS9hcmlhLWhlbHAu
aHRtbAotcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvYXJpYS1zbGlkZXItcmVxdWlyZWQtYXR0
cmlidXRlcy5odG1sCiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9jYXJldC1icm93c2luZy10
ZXh0LWZvY3VzLmh0bWwKLXBsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2NvbWJvLWJveC1jb2xs
YXBzZWQtc2VsZWN0aW9uLWNoYW5nZWQuaHRtbAogCiAjIEltcGxlbWVudCB0ZXh0SW5wdXRDb250
cm9sbGVyLmZpcnN0UmVjdEZvckNoYXJhY3RlclJhbmdlIGludGVyZmFjZQogZmFzdC9mb3Jtcy9j
dXJzb3ItYXQtZWRpdGFibGUtY29udGVudC1ib3VuZGFyeS5odG1sCg==
</data>
<flag name="review"
          id="161797"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
          </attachment>
      

    </bug>

</bugzilla>