<?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>67409</bug_id>
          
          <creation_ts>2011-09-01 08:25:00 -0700</creation_ts>
          <short_desc>Consider Conditional attribute in CodeGenerator for methods</short_desc>
          <delta_ts>2011-09-01 15:41:32 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>67397</blocked>
    
    <blocked>67403</blocked>
    
    <blocked>67406</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>460479</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-09-01 08:25:00 -0700</bug_when>
    <thetext>Consider Conditional attribute in CodeGeneratorJS for PrototypeFunction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460481</commentid>
    <comment_count>1</comment_count>
      <attachid>105970</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-09-01 08:29:57 -0700</bug_when>
    <thetext>Created attachment 105970
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460543</commentid>
    <comment_count>2</comment_count>
      <attachid>105970</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-01 10:02:42 -0700</bug_when>
    <thetext>Comment on attachment 105970
Patch

You should add a binding test when you change how bindings work.

You can run the bindings tests like this:

    run-bindings-tests

You can generate new test results after changing the test input like this:

    run-bindings-tests --reset-results

Your patch should include both changes to the test IDL files and the changes to the expected result files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460574</commentid>
    <comment_count>3</comment_count>
      <attachid>105988</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-09-01 10:26:12 -0700</bug_when>
    <thetext>Created attachment 105988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460856</commentid>
    <comment_count>4</comment_count>
      <attachid>105988</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-01 15:41:28 -0700</bug_when>
    <thetext>Comment on attachment 105988
Patch

Clearing flags on attachment: 105988

Committed r94354: &lt;http://trac.webkit.org/changeset/94354&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460857</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-01 15:41:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105970</attachid>
            <date>2011-09-01 08:29:57 -0700</date>
            <delta_ts>2011-09-01 10:26:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67409.patch</filename>
            <type>text/plain</type>
            <size>3319</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzODk4MTM1Li44MmQ5ZjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTgg
QEAKIDIwMTEtMDktMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAK
KyAgICAgICAgQ29uc2lkZXIgQ29uZGl0aW9uYWwgYXR0cmlidXRlIGluIENvZGVHZW5lcmF0b3JK
UyBmb3IgUHJvdG90eXBlRnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY3NDA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYWRkcyBhcHByb3ByaWF0ZSAjaWYgRU5BQkxFKCkg
bGluZXMgZm9yIHRoZSBwcmVwcm9jZXNzb3IgYXJvdW5kIHRoZQorICAgICAgICBnZW5lcmF0ZWQg
UHJvdG90eXBlRnVuY3Rpb24gZGVwZW5kaW5nIG9uIHRoZSBDb25kaXRpb25hbCBhdHRyaWJ1dGUg
aW4gdGhlIElETCBmaWxlLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKworMjAxMS0wOS0w
MSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKwogICAgICAgICBSZXBs
YWNlIEVOQUJMRV9GVUxMU0NSRUVOX0FQSSBwcmVwcm9jZXNzb3Igc3RhdGVtZW50cyBpbiBJREwg
ZmlsZXMgd2l0aCBDb25kaXRpb25hbCBhdHRyaWJ1dGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDAzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggMGMwMWZjNy4uZjA3NWEw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0KQEAgLTEzNzUsNiArMTM3NSw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9u
CiAgICAgbXkgQGhhc2hWYWx1ZTEgPSAoKTsKICAgICBteSBAaGFzaFZhbHVlMiA9ICgpOwogICAg
IG15IEBoYXNoU3BlY2lhbHMgPSAoKTsKKyAgICBteSAlY29uZGl0aW9uYWxzID0gKCk7CiAKICAg
ICAjIEZJWE1FOiB3ZSBzaG91bGQgbm90IG5lZWQgYSBmdW5jdGlvbiBmb3IgZXZlcnkgY29uc3Rh
bnQuCiAgICAgZm9yZWFjaCBteSAkY29uc3RhbnQgKEB7JGRhdGFOb2RlLT5jb25zdGFudHN9KSB7
CkBAIC0xNDAyLDExICsxNDAzLDE3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAg
ICAgIHB1c2goQHNwZWNpYWxzLCAiRnVuY3Rpb24iKTsKICAgICAgICAgbXkgJHNwZWNpYWwgPSAo
QHNwZWNpYWxzID4gMCkgPyBqb2luKCIgfCAiLCBAc3BlY2lhbHMpIDogIjAiOwogICAgICAgICBw
dXNoKEBoYXNoU3BlY2lhbHMsICRzcGVjaWFsKTsKKworICAgICAgICBteSAkY29uZGl0aW9uYWwg
PSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbmRpdGlvbmFs
In07CisgICAgICAgIGlmICgkY29uZGl0aW9uYWwpIHsKKyAgICAgICAgICAgICRjb25kaXRpb25h
bHN7JG5hbWV9ID0gJGNvbmRpdGlvbmFsOworICAgICAgICB9CiAgICAgfQogCiAgICAgJG9iamVj
dC0+R2VuZXJhdGVIYXNoVGFibGUoJGhhc2hOYW1lLCAkaGFzaFNpemUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXEBoYXNoS2V5cywgXEBoYXNoU3BlY2lhbHMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXEBoYXNoVmFsdWUxLCBcQGhhc2hWYWx1ZTIpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFxAaGFzaFZhbHVlMSwgXEBoYXNoVmFsdWUyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwlY29uZGl0aW9uYWxzKTsKIAogICAgIGlmICgk
ZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJOb1N0YXRpY1RhYmxlcyJ9KSB7CiAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAic3RhdGljIGNvbnN0IEhhc2hUYWJsZSogZ2V0JHtjbGFz
c05hbWV9UHJvdG90eXBlVGFibGUoRXhlY1N0YXRlKiBleGVjKVxuIik7CkBAIC0xOTQ1LDYgKzE5
NTIsMTIgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgIAogICAgICAg
ICAgICAgbXkgJGZ1bmN0aW9uSW1wbGVtZW50YXRpb25OYW1lID0gJGZ1bmN0aW9uLT5zaWduYXR1
cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJJbXBsZW1lbnRhdGlvbkZ1bmN0aW9uIn0gfHwgJGNv
ZGVHZW5lcmF0b3ItPldLX2xjZmlyc3QoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPm5hbWUpOwogCisg
ICAgICAgICAgICBteSAkY29uZGl0aW9uYWwgPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IkNvbmRpdGlvbmFsIn07CisgICAgICAgICAgICBpZiAoJGNvbmRpdGlv
bmFsKSB7CisgICAgICAgICAgICAgICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gR2VuZXJhdGVD
b25kaXRpb25hbFN0cmluZ0Zyb21BdHRyaWJ1dGVWYWx1ZSgkY29uZGl0aW9uYWwpOworICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiI2lmICR7Y29uZGl0aW9uYWxTdHJpbmd9XG4i
KTsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMICR7ZnVuY3Rpb25OYW1lfShFeGVjU3RhdGUqIGV4ZWMp
XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAKQEAgLTIxODEs
NiArMjE5NCwxMCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAg
ICMgR2VuZXJhdGUgYSBmdW5jdGlvbiBkaXNwYXRjaGluZyBjYWxsIHRvIHRoZSByZXN0IG9mIHRo
ZSBvdmVybG9hZHMuCiAgICAgICAgICAgICAgICAgR2VuZXJhdGVPdmVybG9hZGVkUHJvdG90eXBl
RnVuY3Rpb24oJGZ1bmN0aW9uLCAkZGF0YU5vZGUsICRpbXBsQ2xhc3NOYW1lKTsKICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgaWYgKCRjb25kaXRpb25hbCkgeworICAgICAgICAgICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAiI2VuZGlmXG5cbiIpOworICAgICAgICAgICAgfQogICAgICAg
ICB9CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105988</attachid>
            <date>2011-09-01 10:26:12 -0700</date>
            <delta_ts>2011-09-01 15:41:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67409-20110901192610.patch</filename>
            <type>text/plain</type>
            <size>23032</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQyOTgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiZmJmYzU0MzVkNTgwZDZh
ZjA1NmY5NmE0MDU4OTgyMjJmMjJkMDJiLi5iYjE4NzcxODZhNjVhMTZjN2QyZTNlNGQwZGIyNWFl
ZTMyODc5MzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTEtMDktMDEgIFBhdHJp
Y2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ29uc2lkZXIgQ29u
ZGl0aW9uYWwgYXR0cmlidXRlIGluIENvZGVHZW5lcmF0b3IgZm9yIG1ldGhvZHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDA5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYWRkcyBh
cHByb3ByaWF0ZSAjaWYgRU5BQkxFKCkgbGluZXMgZm9yIHRoZSBwcmVwcm9jZXNzb3IgYXJvdW5k
IHRoZQorICAgICAgICBnZW5lcmF0ZWQgZnVuY3Rpb25zIGRlcGVuZGluZyBvbiB0aGUgQ29uZGl0
aW9uYWwgYXR0cmlidXRlIGluIHRoZSBJREwgZmlsZS4KKworICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckNQUC5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRp
b24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAg
ICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yT2JqQy5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24p
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAgICAg
ICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0NQUC9XZWJET01UZXN0T2JqLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvQ1BQL1dlYkRPTVRlc3RPYmouaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmg6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE9iai5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpD
L0RPTVRlc3RPYmouaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01U
ZXN0T2JqLm1tOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbDoK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcDoKKwogMjAx
MS0wOS0wMSAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBEZWNvZGUgcXVlcnkvZm9ybSBwYXJhbWV0ZXJzIG5hbWVzIGFzIHdl
bGwgYXMgdmFsdWVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yQ1BQLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9yQ1BQLnBtCmluZGV4IDdkM2Q2MTMwN2U2NzUzMDg1MThiMmJlYjhhM2QzZTll
NGE2YzcyZTguLjM1NzI3MTIxMmViNzQ5ZmZkZTE1Y2I3M2EwNjk5NjAyMDRhY2QwNzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckNQUC5w
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JDUFAu
cG0KQEAgLTg2OSwxMiArODY5LDE3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCisgICAgICAgICAgICBteSAkY29uZGl0aW9u
YWxTdHJpbmcgPSBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nKCRmdW5jdGlvbi0+c2lnbmF0dXJl
KTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4jaWYgJHtjb25kaXRpb25hbFN0
cmluZ31cbiIpIGlmICRjb25kaXRpb25hbFN0cmluZzsKKwogICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICIkZnVuY3Rpb25TaWdcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICJ7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCBBZGRFYXJseVJldHVy
blN0YXRlbWVudCgkcmV0dXJuVHlwZSkpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
IEBmdW5jdGlvbkNvbnRlbnQpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5c
biIpOwogCisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiNlbmRpZlxuXG4iKSBpZiAk
Y29uZGl0aW9uYWxTdHJpbmc7CisKICAgICAgICAgICAgICMgQ2xlYXIgdGhlIGhhc2gKICAgICAg
ICAgICAgICVuZWVkc0N1c3RvbSA9ICgpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDBjMDFmYzdmMjIw
MTZlNDAyY2Y1OTliYzJkYmYxMjYxMWNjMzVkNGIuLmYwNzVhMGU5NjJlYjI3ZTlhM2IwOGZkNThm
Nzk2MWY0ZDJlMDkzNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xMzc1LDYgKzEzNzUsNyBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogICAgIG15IEBoYXNoVmFsdWUxID0gKCk7CiAgICAgbXkgQGhhc2hWYWx1
ZTIgPSAoKTsKICAgICBteSBAaGFzaFNwZWNpYWxzID0gKCk7CisgICAgbXkgJWNvbmRpdGlvbmFs
cyA9ICgpOwogCiAgICAgIyBGSVhNRTogd2Ugc2hvdWxkIG5vdCBuZWVkIGEgZnVuY3Rpb24gZm9y
IGV2ZXJ5IGNvbnN0YW50LgogICAgIGZvcmVhY2ggbXkgJGNvbnN0YW50IChAeyRkYXRhTm9kZS0+
Y29uc3RhbnRzfSkgewpAQCAtMTQwMiwxMSArMTQwMywxNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1l
bnRhdGlvbgogICAgICAgICBwdXNoKEBzcGVjaWFscywgIkZ1bmN0aW9uIik7CiAgICAgICAgIG15
ICRzcGVjaWFsID0gKEBzcGVjaWFscyA+IDApID8gam9pbigiIHwgIiwgQHNwZWNpYWxzKSA6ICIw
IjsKICAgICAgICAgcHVzaChAaGFzaFNwZWNpYWxzLCAkc3BlY2lhbCk7CisKKyAgICAgICAgbXkg
JGNvbmRpdGlvbmFsID0gJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJDb25kaXRpb25hbCJ9OworICAgICAgICBpZiAoJGNvbmRpdGlvbmFsKSB7CisgICAgICAgICAg
ICAkY29uZGl0aW9uYWxzeyRuYW1lfSA9ICRjb25kaXRpb25hbDsKKyAgICAgICAgfQogICAgIH0K
IAogICAgICRvYmplY3QtPkdlbmVyYXRlSGFzaFRhYmxlKCRoYXNoTmFtZSwgJGhhc2hTaXplLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxAaGFzaEtleXMsIFxAaGFzaFNwZWNpYWxz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxAaGFzaFZhbHVlMSwgXEBoYXNoVmFs
dWUyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcQGhhc2hWYWx1ZTEsIFxAaGFz
aFZhbHVlMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcJWNvbmRpdGlvbmFscyk7
CiAKICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTm9TdGF0aWNUYWJs
ZXMifSkgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInN0YXRpYyBjb25zdCBIYXNoVGFi
bGUqIGdldCR7Y2xhc3NOYW1lfVByb3RvdHlwZVRhYmxlKEV4ZWNTdGF0ZSogZXhlYylcbiIpOwpA
QCAtMTk0NSw2ICsxOTUyLDEyIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAg
ICAgICAKICAgICAgICAgICAgIG15ICRmdW5jdGlvbkltcGxlbWVudGF0aW9uTmFtZSA9ICRmdW5j
dGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSW1wbGVtZW50YXRpb25GdW5j
dGlvbiJ9IHx8ICRjb2RlR2VuZXJhdG9yLT5XS19sY2ZpcnN0KCRmdW5jdGlvbi0+c2lnbmF0dXJl
LT5uYW1lKTsKIAorICAgICAgICAgICAgbXkgJGNvbmRpdGlvbmFsID0gJGZ1bmN0aW9uLT5zaWdu
YXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25kaXRpb25hbCJ9OworICAgICAgICAgICAg
aWYgKCRjb25kaXRpb25hbCkgeworICAgICAgICAgICAgICAgIG15ICRjb25kaXRpb25hbFN0cmlu
ZyA9IEdlbmVyYXRlQ29uZGl0aW9uYWxTdHJpbmdGcm9tQXR0cmlidXRlVmFsdWUoJGNvbmRpdGlv
bmFsKTsKKyAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiNpZiAke2NvbmRpdGlv
bmFsU3RyaW5nfVxuIik7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCAiRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAke2Z1bmN0aW9uTmFtZX0oRXhl
Y1N0YXRlKiBleGVjKVxuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIp
OwogCkBAIC0yMTgxLDYgKzIxOTQsMTAgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAg
ICAgICAgICAgICAgICAjIEdlbmVyYXRlIGEgZnVuY3Rpb24gZGlzcGF0Y2hpbmcgY2FsbCB0byB0
aGUgcmVzdCBvZiB0aGUgb3ZlcmxvYWRzLgogICAgICAgICAgICAgICAgIEdlbmVyYXRlT3Zlcmxv
YWRlZFByb3RvdHlwZUZ1bmN0aW9uKCRmdW5jdGlvbiwgJGRhdGFOb2RlLCAkaW1wbENsYXNzTmFt
ZSk7CiAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICgkY29uZGl0aW9uYWwpIHsKKyAg
ICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiNlbmRpZlxuXG4iKTsKKyAgICAgICAg
ICAgIH0KICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KaW5kZXggNjZiMDNjN2ZjOTg1M2NhNzZk
MzU0YWY5YWZkMmZlNjhkNjIwNjgyNi4uMzI2NjM2ZjQ2YWY1OTE0YWZkY2NjN2VmYzA1ODM3ZTA2
YTBjYjU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yT2JqQy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JPYmpDLnBtCkBAIC0xNjUwLDEyICsxNjUwLDE3IEBAIHN1YiBHZW5lcmF0ZUlt
cGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCisgICAgICAg
ICAgICBteSAkY29uZGl0aW9uYWxTdHJpbmcgPSBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nKCRm
dW5jdGlvbi0+c2lnbmF0dXJlKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG4j
aWYgJHtjb25kaXRpb25hbFN0cmluZ31cbiIpIGlmICRjb25kaXRpb25hbFN0cmluZzsKKwogICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIkZnVuY3Rpb25TaWdcbiIpOwogICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiICAgICRqc0NvbnRleHRTZXR0ZXJcbiIpOwogICAgICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsIEBmdW5jdGlvbkNvbnRlbnQpOwogICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICJ9XG5cbiIpOwogCisgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiNlbmRpZlxuXG4i
KSBpZiAkY29uZGl0aW9uYWxTdHJpbmc7CisKICAgICAgICAgICAgICMgZ2VuZXJhdGUgdGhlIG9s
ZCBzdHlsZSBtZXRob2QgbmFtZXMgd2l0aCB1bi1uYW1lZCBwYXJhbWV0ZXJzLCB0aGVzZSBtZXRo
b2RzIGFyZSBkZXByZWNhdGVkCiAgICAgICAgICAgICBpZiAoQHskZnVuY3Rpb24tPnBhcmFtZXRl
cnN9ID4gMSBhbmQgJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJP
bGRTdHlsZU9iakMifSkgewogICAgICAgICAgICAgICAgIG15ICRkZXByZWNhdGVkRnVuY3Rpb25T
aWcgPSAkZnVuY3Rpb25TaWc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDNmY2I3MmQ4NGIzN2Q1MjkwNjIzMmRiOWZkOGZm
NThjMGZmM2YyOGQuLmVkNzlhYWNkNjNhYTJhM2Y0NjY4YmUxZjdhNmZjZDZhOTBhNzlkNzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4
LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4
LnBtCkBAIC0yMDU0LDkgKzIwNTQsMTIgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAg
ICAgICAgfQogICAgICAgICBteSAkbmFtZSA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5uYW1lOwog
ICAgICAgICBteSAkY2FsbGJhY2sgPSBHZXRGdW5jdGlvblRlbXBsYXRlQ2FsbGJhY2tOYW1lKCRm
dW5jdGlvbiwgJGludGVyZmFjZU5hbWUpOworICAgICAgICBteSAkY29uZGl0aW9uYWxTdHJpbmcg
PSBHZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nKCRmdW5jdGlvbi0+c2lnbmF0dXJlKTsKKyAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIjaWYgJHtjb25kaXRpb25hbFN0cmluZ31cbiIpIGlmICRj
b25kaXRpb25hbFN0cmluZzsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKICAg
ICB7IiRuYW1lIiwgJGNhbGxiYWNrfSwKIEVORAorICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
IiNlbmRpZlxuIikgaWYgJGNvbmRpdGlvbmFsU3RyaW5nOwogICAgICAgICAkbnVtX2NhbGxiYWNr
cysrOwogICAgIH0KICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn07XG5cbiIpICBpZiAkaGFzX2Nh
bGxiYWNrczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9DUFAvV2ViRE9NVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouY3BwCmluZGV4IDY1ZTViZjNlNjAyY2E0Mzk4NTc2NDMz
MDM2MDhiNDBlMzJmZGVkNDcuLmE2YjJiOTNhNmQxZDc4ZTlkOGFhMjI1OWFmMjMwNzEzOWY3YzBh
NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAv
V2ViRE9NVGVzdE9iai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0NQUC9XZWJET01UZXN0T2JqLmNwcApAQCAtODA3LDYgKzgwNyw0MiBAQCB2b2lkIFdlYkRP
TVRlc3RPYmo6Om1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZFR3b09wdGlvbmFsQXJncyhpbnQg
bm9uT3B0LCBpbnQgbwogICAgIGltcGwoKS0+bWV0aG9kV2l0aE5vbk9wdGlvbmFsQXJnQW5kVHdv
T3B0aW9uYWxBcmdzKG5vbk9wdCwgb3B0MSwgb3B0Mik7CiB9CiAKKworI2lmIEVOQUJMRShDb25k
aXRpb24xKQorV2ViRE9NU3RyaW5nIFdlYkRPTVRlc3RPYmo6OmNvbmRpdGlvbmFsTWV0aG9kMSgp
Cit7CisgICAgaWYgKCFpbXBsKCkpCisgICAgICAgIHJldHVybiBXZWJET01TdHJpbmcoKTsKKwor
ICAgIHJldHVybiBpbXBsKCktPmNvbmRpdGlvbmFsTWV0aG9kMSgpOworfQorCisjZW5kaWYKKwor
CisjaWYgRU5BQkxFKENvbmRpdGlvbjEpICYmIEVOQUJMRShDb25kaXRpb24yKQordm9pZCBXZWJE
T01UZXN0T2JqOjpjb25kaXRpb25hbE1ldGhvZDIoKQoreworICAgIGlmICghaW1wbCgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpbXBsKCktPmNvbmRpdGlvbmFsTWV0aG9kMigpOworfQorCisj
ZW5kaWYKKworCisjaWYgRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKQor
dm9pZCBXZWJET01UZXN0T2JqOjpjb25kaXRpb25hbE1ldGhvZDMoKQoreworICAgIGlmICghaW1w
bCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpbXBsKCktPmNvbmRpdGlvbmFsTWV0aG9kMygp
OworfQorCisjZW5kaWYKKwogdm9pZCBXZWJET01UZXN0T2JqOjpjbGFzc01ldGhvZCgpCiB7CiAg
ICAgaWYgKCFpbXBsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oCmluZGV4IGFiYmJmMmYwNzY5MWNjYzYxOTRi
MTQ2NTc1ODhmNWM3YjQzNzY5YzIuLjUyZWE1MTNkYmM2ZjAzOTk4ZTYwMzgzNGI1ODNlNzNkNzhi
ZjZkMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9D
UFAvV2ViRE9NVGVzdE9iai5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9DUFAvV2ViRE9NVGVzdE9iai5oCkBAIC0xNTgsNiArMTU4LDkgQEAgcHVibGljOgogICAg
IHZvaWQgbWV0aG9kV2l0aE9wdGlvbmFsQXJnKGludCBvcHQpOwogICAgIHZvaWQgbWV0aG9kV2l0
aE5vbk9wdGlvbmFsQXJnQW5kT3B0aW9uYWxBcmcoaW50IG5vbk9wdCwgaW50IG9wdCk7CiAgICAg
dm9pZCBtZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdBbmRUd29PcHRpb25hbEFyZ3MoaW50IG5vbk9w
dCwgaW50IG9wdDEsIGludCBvcHQyKTsKKyAgICBXZWJET01TdHJpbmcgY29uZGl0aW9uYWxNZXRo
b2QxKCk7CisgICAgdm9pZCBjb25kaXRpb25hbE1ldGhvZDIoKTsKKyAgICB2b2lkIGNvbmRpdGlv
bmFsTWV0aG9kMygpOwogICAgIHZvaWQgY2xhc3NNZXRob2QoKTsKICAgICBpbnQgY2xhc3NNZXRo
b2RXaXRoT3B0aW9uYWwoaW50IGFyZyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5j
cHAKaW5kZXggMWY4MWM1ZDVhNWZmOThlZjc4MDEwYWE2OGQxYmRhMjFiYTRmOGU2OC4uM2RmYzRi
YzBmYjQ0YTdlOWE3ZDBlY2IxYmNhYjQ2ODRiYTFlNGY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdE9iai5jcHAKQEAgLTM4Myw2ICszODMsNDIgQEAgd2Via2l0X2RvbV90ZXN0X29ial9t
ZXRob2Rfd2l0aF9ub25fb3B0aW9uYWxfYXJnX2FuZF90d29fb3B0aW9uYWxfYXJncyhXZWJLaXRE
T00KICAgICBpdGVtLT5tZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdBbmRUd29PcHRpb25hbEFyZ3Mo
bm9uX29wdCwgb3B0MSwgb3B0Mik7CiB9CiAKK2djaGFyKgord2Via2l0X2RvbV90ZXN0X29ial9j
b25kaXRpb25hbF9tZXRob2QxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCit7CisjaWYgRU5BQkxF
KENvbmRpdGlvbjEpCisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc2VsZiwgMCk7CisgICAgV2Vi
Q29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIFdlYkNvcmU6OlRlc3RPYmog
KiBpdGVtID0gV2ViS2l0Ojpjb3JlKHNlbGYpOworICAgIGdjaGFyKiByZXMgPSBjb252ZXJ0VG9V
VEY4U3RyaW5nKGl0ZW0tPmNvbmRpdGlvbmFsTWV0aG9kMSgpKTsKKyAgICByZXR1cm4gcmVzOwor
I2Vsc2UKKyAgICByZXR1cm4gTlVMTDsKKyNlbmRpZiAvKiBFTkFCTEUoQ29uZGl0aW9uMSkgKi8K
K30KKwordm9pZAord2Via2l0X2RvbV90ZXN0X29ial9jb25kaXRpb25hbF9tZXRob2QyKFdlYktp
dERPTVRlc3RPYmoqIHNlbGYpCit7CisjaWYgRU5BQkxFKENvbmRpdGlvbjEpICYmIEVOQUJMRShD
b25kaXRpb24yKQorICAgIGdfcmV0dXJuX2lmX2ZhaWwoc2VsZik7CisgICAgV2ViQ29yZTo6SlNN
YWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0g
V2ViS2l0Ojpjb3JlKHNlbGYpOworICAgIGl0ZW0tPmNvbmRpdGlvbmFsTWV0aG9kMigpOworI2Vu
ZGlmIC8qIEVOQUJMRShDb25kaXRpb24xKSAmJiBFTkFCTEUoQ29uZGl0aW9uMikgKi8KK30KKwor
dm9pZAord2Via2l0X2RvbV90ZXN0X29ial9jb25kaXRpb25hbF9tZXRob2QzKFdlYktpdERPTVRl
c3RPYmoqIHNlbGYpCit7CisjaWYgRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRp
b24yKQorICAgIGdfcmV0dXJuX2lmX2ZhaWwoc2VsZik7CisgICAgV2ViQ29yZTo6SlNNYWluVGhy
ZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIFdlYkNvcmU6OlRlc3RPYmogKiBpdGVtID0gV2ViS2l0
Ojpjb3JlKHNlbGYpOworICAgIGl0ZW0tPmNvbmRpdGlvbmFsTWV0aG9kMygpOworI2VuZGlmIC8q
IEVOQUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUoQ29uZGl0aW9uMikgKi8KK30KKwogdm9pZAog
d2Via2l0X2RvbV90ZXN0X29ial9jbGFzc19tZXRob2QoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2Jq
ZWN0L1dlYktpdERPTVRlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaAppbmRleCBhNzNiMWMxNjliMDc4YzE0N2U1
ZjA0NjdiZTA4ODM3YWMxNWEzYzU0Li5mOGYyZDAzODZiYTQ2MmZkMDQ3NDk0ZWRkNDU5NGMwOTg2
NTlhMmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oCkBAIC0zMzAsNiArMzMwLDM2
IEBAIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0aF9ub25f
b3B0aW9uYWxfYXJnX2FuZF90d29fb3B0aW9uYWxfYXJncyhXZWJLaXRET01UZXN0T2JqKiBzZWxm
LCBnbG9uZyBub25fb3B0LCBnbG9uZyBvcHQxLCBnbG9uZyBvcHQyKTsKIAogLyoqCisgKiB3ZWJr
aXRfZG9tX3Rlc3Rfb2JqX2NvbmRpdGlvbmFsX21ldGhvZDE6CisgKiBAc2VsZjogQSAjV2ViS2l0
RE9NVGVzdE9iagorICoKKyAqIFJldHVybnM6CisgKgorKiovCitXRUJLSVRfQVBJIGdjaGFyKgor
d2Via2l0X2RvbV90ZXN0X29ial9jb25kaXRpb25hbF9tZXRob2QxKFdlYktpdERPTVRlc3RPYmoq
IHNlbGYpOworCisvKioKKyAqIHdlYmtpdF9kb21fdGVzdF9vYmpfY29uZGl0aW9uYWxfbWV0aG9k
MjoKKyAqIEBzZWxmOiBBICNXZWJLaXRET01UZXN0T2JqCisgKgorICogUmV0dXJuczoKKyAqCisq
Ki8KK1dFQktJVF9BUEkgdm9pZAord2Via2l0X2RvbV90ZXN0X29ial9jb25kaXRpb25hbF9tZXRo
b2QyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpOworCisvKioKKyAqIHdlYmtpdF9kb21fdGVzdF9v
YmpfY29uZGl0aW9uYWxfbWV0aG9kMzoKKyAqIEBzZWxmOiBBICNXZWJLaXRET01UZXN0T2JqCisg
KgorICogUmV0dXJuczoKKyAqCisqKi8KK1dFQktJVF9BUEkgdm9pZAord2Via2l0X2RvbV90ZXN0
X29ial9jb25kaXRpb25hbF9tZXRob2QzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpOworCisvKioK
ICAqIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xhc3NfbWV0aG9kOgogICogQHNlbGY6IEEgI1dlYktp
dERPTVRlc3RPYmoKICAqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IGZmZDIzYTg5YWQ0MzA4YWJhMDIxMDM4NWEz
OGM1YjFiYTZiNzQ5ZmUuLjZkMmY0ZjE5MmVlNTMxZmJiMzEyZWM4NTM3OWU1N2VlZDg1OTE2MzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RPYmouY3BwCkBAIC0yMzYsNiArMjM2LDE1IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVW
YWx1ZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0KICAgICB7ICJtZXRob2RXaXRo
Q2FsbGJhY2tBcmciLCBEb250RGVsZXRlIHwgRnVuY3Rpb24sIChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoQ2Fs
bGJhY2tBcmcpLCAoaW50cHRyX3QpMSBUSFVOS19HRU5FUkFUT1IoMCkgfSwKICAgICB7ICJtZXRo
b2RXaXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyIsIERvbnREZWxldGUgfCBGdW5jdGlv
biwgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvbk1ldGhvZFdpdGhOb25DYWxsYmFja0FyZ0FuZENhbGxiYWNrQXJnKSwgKGludHB0
cl90KTIgVEhVTktfR0VORVJBVE9SKDApIH0sCiAgICAgeyAibWV0aG9kV2l0aENhbGxiYWNrQW5k
T3B0aW9uYWxBcmciLCBEb250RGVsZXRlIHwgRnVuY3Rpb24sIChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRoQ2Fs
bGJhY2tBbmRPcHRpb25hbEFyZyksIChpbnRwdHJfdCkxIFRIVU5LX0dFTkVSQVRPUigwKSB9LAor
I2lmIEVOQUJMRShDb25kaXRpb24xKQorICAgIHsgImNvbmRpdGlvbmFsTWV0aG9kMSIsIERvbnRE
ZWxldGUgfCBGdW5jdGlvbiwgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbmRpdGlvbmFsTWV0aG9kMSksIChpbnRwdHJfdCkw
IFRIVU5LX0dFTkVSQVRPUigwKSB9LAorI2VuZGlmCisjaWYgRU5BQkxFKENvbmRpdGlvbjEpICYm
IEVOQUJMRShDb25kaXRpb24yKQorICAgIHsgImNvbmRpdGlvbmFsTWV0aG9kMiIsIERvbnREZWxl
dGUgfCBGdW5jdGlvbiwgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rl
c3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbmRpdGlvbmFsTWV0aG9kMiksIChpbnRwdHJfdCkwIFRI
VU5LX0dFTkVSQVRPUigwKSB9LAorI2VuZGlmCisjaWYgRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVO
QUJMRShDb25kaXRpb24yKQorICAgIHsgImNvbmRpdGlvbmFsTWV0aG9kMyIsIERvbnREZWxldGUg
fCBGdW5jdGlvbiwgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RP
YmpQcm90b3R5cGVGdW5jdGlvbkNvbmRpdGlvbmFsTWV0aG9kMyksIChpbnRwdHJfdCkwIFRIVU5L
X0dFTkVSQVRPUigwKSB9LAorI2VuZGlmCiAgICAgeyAib3ZlcmxvYWRlZE1ldGhvZCIsIERvbnRE
ZWxldGUgfCBGdW5jdGlvbiwgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkZWRNZXRob2QpLCAoaW50cHRyX3QpMiBU
SFVOS19HRU5FUkFUT1IoMCkgfSwKICAgICB7ICJjbGFzc01ldGhvZCIsIERvbnREZWxldGUgfCBG
dW5jdGlvbiwgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQ
cm90b3R5cGVGdW5jdGlvbkNsYXNzTWV0aG9kKSwgKGludHB0cl90KTAgVEhVTktfR0VORVJBVE9S
KDApIH0sCiAgICAgeyAiY2xhc3NNZXRob2RXaXRoT3B0aW9uYWwiLCBEb250RGVsZXRlIHwgRnVu
Y3Rpb24sIChpbnRwdHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJv
dG90eXBlRnVuY3Rpb25DbGFzc01ldGhvZFdpdGhPcHRpb25hbCksIChpbnRwdHJfdCkxIFRIVU5L
X0dFTkVSQVRPUigwKSB9LApAQCAtMjQzLDcgKzI1Miw3IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFi
bGVWYWx1ZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0KIH07CiAKICN1bmRlZiBU
SFVOS19HRU5FUkFUT1IKLXN0YXRpYyBKU0NfQ09OU1RfSEFTSFRBQkxFIEhhc2hUYWJsZSBKU1Rl
c3RPYmpQcm90b3R5cGVUYWJsZSA9IHsgMTM2LCAxMjcsIEpTVGVzdE9ialByb3RvdHlwZVRhYmxl
VmFsdWVzLCAwIH07CitzdGF0aWMgSlNDX0NPTlNUX0hBU0hUQUJMRSBIYXNoVGFibGUgSlNUZXN0
T2JqUHJvdG90eXBlVGFibGUgPSB7IDEzNywgMTI3LCBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZVZh
bHVlcywgMCB9OwogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE9ialByb3RvdHlwZTo6c19pbmZvID0g
eyAiVGVzdE9ialByb3RvdHlwZSIsICZKU0M6OkpTT2JqZWN0V2l0aEdsb2JhbE9iamVjdDo6c19p
bmZvLCAmSlNUZXN0T2JqUHJvdG90eXBlVGFibGUsIDAgfTsKIAogSlNPYmplY3QqIEpTVGVzdE9i
alByb3RvdHlwZTo6c2VsZihFeGVjU3RhdGUqIGV4ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCkBAIC0xNTMwLDYgKzE1MzksNTUgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhDYWxsYmFja0FuZE9wdGkKICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQogCisjaWYgRU5BQkxF
KENvbmRpdGlvbjEpCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uQ29uZGl0aW9uYWxNZXRob2QxKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBK
U1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKKyAgICBpZiAoIXRoaXNW
YWx1ZS5pbmhlcml0cygmSlNUZXN0T2JqOjpzX2luZm8pKQorICAgICAgICByZXR1cm4gdGhyb3dW
TVR5cGVFcnJvcihleGVjKTsKKyAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBzdGF0aWNfY2Fz
dDxKU1Rlc3RPYmoqPihhc09iamVjdCh0aGlzVmFsdWUpKTsKKyAgICBBU1NFUlRfR0NfT0JKRUNU
X0lOSEVSSVRTKGNhc3RlZFRoaXMsICZKU1Rlc3RPYmo6OnNfaW5mbyk7CisgICAgVGVzdE9iaiog
aW1wID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmltcGwoKSk7CisKKworICAg
IEpTQzo6SlNWYWx1ZSByZXN1bHQgPSBqc1N0cmluZyhleGVjLCBpbXAtPmNvbmRpdGlvbmFsTWV0
aG9kMSgpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7Cit9CisKKyNlbmRp
ZgorCisjaWYgRU5BQkxFKENvbmRpdGlvbjEpICYmIEVOQUJMRShDb25kaXRpb24yKQorRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbmRpdGlv
bmFsTWV0aG9kMihFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBl
eGVjLT5ob3N0VGhpc1ZhbHVlKCk7CisgICAgaWYgKCF0aGlzVmFsdWUuaW5oZXJpdHMoJkpTVGVz
dE9iajo6c19pbmZvKSkKKyAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7Cisg
ICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0gc3RhdGljX2Nhc3Q8SlNUZXN0T2JqKj4oYXNPYmpl
Y3QodGhpc1ZhbHVlKSk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyhjYXN0ZWRUaGlz
LCAmSlNUZXN0T2JqOjpzX2luZm8pOworICAgIFRlc3RPYmoqIGltcCA9IHN0YXRpY19jYXN0PFRl
c3RPYmoqPihjYXN0ZWRUaGlzLT5pbXBsKCkpOworCisgICAgaW1wLT5jb25kaXRpb25hbE1ldGhv
ZDIoKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworfQorCisj
ZW5kaWYKKworI2lmIEVOQUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUoQ29uZGl0aW9uMikKK0Vu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db25k
aXRpb25hbE1ldGhvZDMoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTVmFsdWUgdGhpc1ZhbHVl
ID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOworICAgIGlmICghdGhpc1ZhbHVlLmluaGVyaXRzKCZK
U1Rlc3RPYmo6OnNfaW5mbykpCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMp
OworICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IHN0YXRpY19jYXN0PEpTVGVzdE9iaio+KGFz
T2JqZWN0KHRoaXNWYWx1ZSkpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVk
VGhpcywgJkpTVGVzdE9iajo6c19pbmZvKTsKKyAgICBUZXN0T2JqKiBpbXAgPSBzdGF0aWNfY2Fz
dDxUZXN0T2JqKj4oY2FzdGVkVGhpcy0+aW1wbCgpKTsKKworICAgIGltcC0+Y29uZGl0aW9uYWxN
ZXRob2QzKCk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKK30K
KworI2VuZGlmCisKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9i
alByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZDEoRXhlY1N0YXRlKiBleGVjKQogewog
ICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5oCmluZGV4
IGExMDQ0NDliMTViYWY5MDE0MGY3MzBjM2U5ZGIyMDRjZWJhZGZkMjYuLjBjNTEwNzgzMGUxMDU1
ZTA3NjA5MDY4NzQ5OWViZjU5ZmQ0YzYxYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmgKQEAgLTEyNyw2ICsxMjcsOSBAQCBK
U0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rp
b25NZXRob2RXaXRoTm9uT3B0aW9uYQogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aENhbGxiYWNrQXJnKEpTQzo6RXhl
Y1N0YXRlKik7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJv
dG90eXBlRnVuY3Rpb25NZXRob2RXaXRoTm9uQ2FsbGJhY2tBcmdBbmRDYWxsYmFja0FyZyhKU0M6
OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9i
alByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aENhbGxiYWNrQW5kT3B0aW9uYWxBcmcoSlNDOjpF
eGVjU3RhdGUqKTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQ
cm90b3R5cGVGdW5jdGlvbkNvbmRpdGlvbmFsTWV0aG9kMShKU0M6OkV4ZWNTdGF0ZSopOworSlND
OjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9u
Q29uZGl0aW9uYWxNZXRob2QyKEpTQzo6RXhlY1N0YXRlKik7CitKU0M6OkVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db25kaXRpb25hbE1ldGhv
ZDMoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkZWRNZXRob2QoSlNDOjpFeGVjU3RhdGUq
KTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVG
dW5jdGlvbkNsYXNzTWV0aG9kKEpTQzo6RXhlY1N0YXRlKik7CiBKU0M6OkVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25DbGFzc01ldGhvZFdpdGhP
cHRpb25hbChKU0M6OkV4ZWNTdGF0ZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5oCmluZGV4IGM2YWIzNjg1ZjY0ZjY0
NDI3ZTE2ZmRlMmU5NDFjOTA3Njg3NzZmYjMuLmRjYTE0ZmZmNTA2YWZiNmZmNzQyZDg3ZDY5MTY5
ZDVkZDliZmI3NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9PYmpDL0RPTVRlc3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLmgKQEAgLTE1MCw2ICsxNTAsOSBAQCBlbnVtIHsKIC0g
KHZvaWQpbWV0aG9kV2l0aE9wdGlvbmFsQXJnOihpbnQpb3B0OwogLSAodm9pZCltZXRob2RXaXRo
Tm9uT3B0aW9uYWxBcmdBbmRPcHRpb25hbEFyZzooaW50KW5vbk9wdCBvcHQ6KGludClvcHQ7CiAt
ICh2b2lkKW1ldGhvZFdpdGhOb25PcHRpb25hbEFyZ0FuZFR3b09wdGlvbmFsQXJnczooaW50KW5v
bk9wdCBvcHQxOihpbnQpb3B0MSBvcHQyOihpbnQpb3B0MjsKKy0gKE5TU3RyaW5nICopY29uZGl0
aW9uYWxNZXRob2QxOworLSAodm9pZCljb25kaXRpb25hbE1ldGhvZDI7CistICh2b2lkKWNvbmRp
dGlvbmFsTWV0aG9kMzsKIC0gKHZvaWQpY2xhc3NNZXRob2Q7CiAtIChpbnQpY2xhc3NNZXRob2RX
aXRoT3B0aW9uYWw6KGludClhcmc7CiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdE9iai5tbQppbmRleCBmNDNmNThhMWM3
Yjc4NGY2Mjg0OTFlODQyNjM0NjRiMjYxOWNhNWM1Li5lZDk0ZmNkYzJkNmE2MTcyM2Q4MjNiMjA4
Y2Y5OWNhZmFiYTExNTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvT2JqQy9ET01UZXN0T2JqLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RPYmoubW0KQEAgLTY3OCw2ICs2NzgsMzYgQEAKICAg
ICBJTVBMLT5tZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdBbmRUd29PcHRpb25hbEFyZ3Mobm9uT3B0
LCBvcHQxLCBvcHQyKTsKIH0KIAorCisjaWYgRU5BQkxFKENvbmRpdGlvbjEpCistIChOU1N0cmlu
ZyAqKWNvbmRpdGlvbmFsTWV0aG9kMQoreworICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxT
dGF0ZSBzdGF0ZTsKKyAgICByZXR1cm4gSU1QTC0+Y29uZGl0aW9uYWxNZXRob2QxKCk7Cit9CisK
KyNlbmRpZgorCisKKyNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgJiYgRU5BQkxFKENvbmRpdGlvbjIp
CistICh2b2lkKWNvbmRpdGlvbmFsTWV0aG9kMgoreworICAgIFdlYkNvcmU6OkpTTWFpblRocmVh
ZE51bGxTdGF0ZSBzdGF0ZTsKKyAgICBJTVBMLT5jb25kaXRpb25hbE1ldGhvZDIoKTsKK30KKwor
I2VuZGlmCisKKworI2lmIEVOQUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUoQ29uZGl0aW9uMikK
Ky0gKHZvaWQpY29uZGl0aW9uYWxNZXRob2QzCit7CisgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFk
TnVsbFN0YXRlIHN0YXRlOworICAgIElNUEwtPmNvbmRpdGlvbmFsTWV0aG9kMygpOworfQorCisj
ZW5kaWYKKwogLSAodm9pZCljbGFzc01ldGhvZAogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVh
ZE51bGxTdGF0ZSBzdGF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9UZXN0T2JqLmlkbAppbmRleCBmYTBkODA4MmY3NDgyYzg3YWEzZWYyMDkwOWRhMjAzZGEz
ZWEzOWE1Li45ZjFkNDM0OGY5NjYxNWQxMzI5OWY3Yzc5MGU0YzNjMzIwNmNiYjIyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCkBAIC0x
MzYsNiArMTM2LDExIEBAIG1vZHVsZSB0ZXN0IHsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRp
b25hbD1Db25kaXRpb24xJkNvbmRpdGlvbjJdIGxvbmcgY29uZGl0aW9uYWxBdHRyMjsKICAgICAg
ICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1Db25kaXRpb24xfENvbmRpdGlvbjJdIGxvbmcgY29u
ZGl0aW9uYWxBdHRyMzsKIAorICAgICAgICAvLyAnQ29uZGl0aW9uYWwnIGV4dGVuZGVkIG1ldGhv
ZAorICAgICAgICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9uMV0gRE9NU3RyaW5nIGNvbmRpdGlvbmFs
TWV0aG9kMSgpOworICAgICAgICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9uMSZDb25kaXRpb24yXSB2
b2lkIGNvbmRpdGlvbmFsTWV0aG9kMigpOworICAgICAgICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9u
MXxDb25kaXRpb24yXSB2b2lkIGNvbmRpdGlvbmFsTWV0aG9kMygpOworCiAjaWYgZGVmaW5lZChU
RVNUSU5HX1Y4KSB8fCBkZWZpbmVkKFRFU1RJTkdfSlMpCiAgICAgICAgIC8vIE92ZXJsb2Fkcwog
ICAgICAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoaW4gVGVzdE9iaiBvYmpBcmcsIGluIERP
TVN0cmluZyBzdHJBcmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAppbmRleCAzM2QxYTQwMjhhZDI3ZGQxNzU5MjcwMzFl
MGNiYTRlNjc2YWRmMjRiLi5jYTI2ZDY3ZTdmMmJlNzUzNTNmODMyZDJiOTc3ZTAzMjUwNWExMGZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0T2JqLmNwcApAQCAtMTA0NCw2ICsxMDQ0LDI5IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gbWV0aG9kV2l0aENhbGxiYWNrQW5kT3B0aW9uYWxBcmdDYWxsYmFjayhjb25zdCB2
ODo6CiAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwogfQogCitzdGF0aWMgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IGNvbmRpdGlvbmFsTWV0aG9kMUNhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5jb25kaXRpb25h
bE1ldGhvZDEiKTsKKyAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3Mu
SG9sZGVyKCkpOworICAgIHJldHVybiB2OFN0cmluZyhpbXAtPmNvbmRpdGlvbmFsTWV0aG9kMSgp
KTsKK30KKworc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjb25kaXRpb25hbE1ldGhvZDJD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9N
LlRlc3RPYmouY29uZGl0aW9uYWxNZXRob2QyIik7CisgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0
T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBpbXAtPmNvbmRpdGlvbmFsTWV0aG9k
MigpOworICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKK30KKworc3RhdGljIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBjb25kaXRpb25hbE1ldGhvZDNDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmouY29uZGl0aW9u
YWxNZXRob2QzIik7CisgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdz
LkhvbGRlcigpKTsKKyAgICBpbXAtPmNvbmRpdGlvbmFsTWV0aG9kMygpOworICAgIHJldHVybiB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKK30KKwogc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBvdmVybG9hZGVkTWV0aG9kMUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7
CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5vdmVybG9hZGVkTWV0aG9kMSIpOwpAQCAtMTI1
OCw2ICsxMjgxLDE1IEBAIHN0YXRpYyBjb25zdCBCYXRjaGVkQ2FsbGJhY2sgVGVzdE9iakNhbGxi
YWNrc1tdID0gewogICAgIHsibWV0aG9kV2l0aENhbGxiYWNrQXJnIiwgVGVzdE9iakludGVybmFs
OjptZXRob2RXaXRoQ2FsbGJhY2tBcmdDYWxsYmFja30sCiAgICAgeyJtZXRob2RXaXRoTm9uQ2Fs
bGJhY2tBcmdBbmRDYWxsYmFja0FyZyIsIFRlc3RPYmpJbnRlcm5hbDo6bWV0aG9kV2l0aE5vbkNh
bGxiYWNrQXJnQW5kQ2FsbGJhY2tBcmdDYWxsYmFja30sCiAgICAgeyJtZXRob2RXaXRoQ2FsbGJh
Y2tBbmRPcHRpb25hbEFyZyIsIFRlc3RPYmpJbnRlcm5hbDo6bWV0aG9kV2l0aENhbGxiYWNrQW5k
T3B0aW9uYWxBcmdDYWxsYmFja30sCisjaWYgRU5BQkxFKENvbmRpdGlvbjEpCisgICAgeyJjb25k
aXRpb25hbE1ldGhvZDEiLCBUZXN0T2JqSW50ZXJuYWw6OmNvbmRpdGlvbmFsTWV0aG9kMUNhbGxi
YWNrfSwKKyNlbmRpZgorI2lmIEVOQUJMRShDb25kaXRpb24xKSAmJiBFTkFCTEUoQ29uZGl0aW9u
MikKKyAgICB7ImNvbmRpdGlvbmFsTWV0aG9kMiIsIFRlc3RPYmpJbnRlcm5hbDo6Y29uZGl0aW9u
YWxNZXRob2QyQ2FsbGJhY2t9LAorI2VuZGlmCisjaWYgRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVO
QUJMRShDb25kaXRpb24yKQorICAgIHsiY29uZGl0aW9uYWxNZXRob2QzIiwgVGVzdE9iakludGVy
bmFsOjpjb25kaXRpb25hbE1ldGhvZDNDYWxsYmFja30sCisjZW5kaWYKICAgICB7Im92ZXJsb2Fk
ZWRNZXRob2QiLCBUZXN0T2JqSW50ZXJuYWw6Om92ZXJsb2FkZWRNZXRob2RDYWxsYmFja30sCiB9
OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>