<?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>117595</bug_id>
          
          <creation_ts>2013-06-13 08:51:13 -0700</creation_ts>
          <short_desc>Refactor ObjCCallbackFunction to inherit directly from InternalFunction</short_desc>
          <delta_ts>2013-06-19 13:09:58 -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>JavaScriptCore</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>117594</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>900050</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-06-13 08:51:13 -0700</bug_when>
    <thetext>As part of bug 117594, we need to get ObjCCallbackFunction to inherit from InternalFunction rather than JSCallbackFunction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900076</commentid>
    <comment_count>1</comment_count>
      <attachid>204600</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-06-13 09:03:42 -0700</bug_when>
    <thetext>Created attachment 204600
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900185</commentid>
    <comment_count>2</comment_count>
      <attachid>204600</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-06-13 10:30:32 -0700</bug_when>
    <thetext>Comment on attachment 204600
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900186</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-06-13 10:31:06 -0700</bug_when>
    <thetext>At some point, we&apos;ll probably want to split the API folder in c and objc sub-folders. &quot;API&quot; is a slightly ambiguous prefix now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900263</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-06-13 12:17:07 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; At some point, we&apos;ll probably want to split the API folder in c and objc sub-folders. &quot;API&quot; is a slightly ambiguous prefix now.

That sounds like a good thing to do as part of my refactoring rampage. I picked APIFunctionCallback to indicate that it&apos;s a general struct used in both the C and Obj-C APIs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>901901</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-06-19 13:09:58 -0700</bug_when>
    <thetext>Committed r151749: &lt;http://trac.webkit.org/changeset/151749&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204600</attachid>
            <date>2013-06-13 09:03:42 -0700</date>
            <delta_ts>2013-06-13 10:30:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117595-20130613090201.patch</filename>
            <type>text/plain</type>
            <size>16027</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxNTQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBA
CisyMDEzLTA2LTEzICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgUmVmYWN0b3IgT2JqQ0NhbGxiYWNrRnVuY3Rpb24gdG8gaW5oZXJpdCBkaXJlY3Rs
eSBmcm9tIEludGVybmFsRnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExNzU5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogQVBJL0FQSUNhbGxiYWNrRnVuY3Rpb24uaDogQWRkZWQuIE5ldyBz
dHJ1Y3QgdGhhdCBhbGxvd3MgSlNDYWxsYmFja0Z1bmN0aW9uIGFuZCAKKyAgICAgICAgT2JqQ0Nh
bGxiYWNrRnVuY3Rpb24gdG8gc2hhcmUgdGhlaXIgaG9zdCBjYWxsKCkgaW1wbGVtZW50YXRpb24g
dGhyb3VnaCB0aGUgbWFnaWMgb2YgCisgICAgICAgIHRlbXBsYXRlcy4KKyAgICAgICAgKEpTQzo6
QVBJQ2FsbGJhY2tGdW5jdGlvbjo6Y2FsbCk6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tGdW5j
dGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpTQ2FsbGJhY2tGdW5jdGlvbjo6Z2V0Q2FsbERhdGEp
OiBDaGFuZ2VkIHRvIGdldCB0aGUgdGVtcGxhdGUtaXplZCB2ZXJzaW9uIG9mIAorICAgICAgICB0
aGUgaG9zdCBmdW5jdGlvbi4KKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmg6Cisg
ICAgICAgICogQVBJL09iakNDYWxsYmFja0Z1bmN0aW9uLmg6IE5vdyBpbmhlcml0cyBkaXJlY3Rs
eSBmcm9tIEludGVybmFsRnVuY3Rpb24uCisgICAgICAgICogQVBJL09iakNDYWxsYmFja0Z1bmN0
aW9uLm1tOgorICAgICAgICAoSlNDOjpPYmpDQ2FsbGJhY2tGdW5jdGlvbjo6T2JqQ0NhbGxiYWNr
RnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpPYmpDQ2FsbGJhY2tGdW5jdGlvbjo6Z2V0Q2FsbERh
dGEpOiBEaXR0by4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBCdWlsZCBmaWxlcyEK
KyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6
CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
LmZpbHRlcnM6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKwogMjAxMy0wNi0xMiAgQ29ucmFkIFNodWx0eiAgPGNvbnJhZF9zaHVsdHpAYXBwbGUu
Y29tPgogCiAgICAgICAgIEpTRXhwb3J0IGhlYWRlciBkb2N1bWVudGF0aW9uIHN1YnN0aXR1dGVz
ICJzZW1pY29sb24iIGZvciAiY29sb24iCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24gMTUxNTI0KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAg
amF2YXNjcmlwdGNvcmVfYnVpbHRfbm9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9KYXZh
U2NyaXB0Q29yZS9MTEludEFzc2VtYmx5LmgKIAogamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBc
CisgICAgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9BUElDYWxsYmFja0Z1bmN0aW9uLmggXAog
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvQVBJQ2FzdC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0FQSVNoaW1zLmggXAogICAgIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNB
UElXcmFwcGVyT2JqZWN0LmggXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9BUElD
YWxsYmFja0Z1bmN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9BUElDYWxsYmFja0Z1bmN0aW9uLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0FQSUNhbGxiYWNrRnVuY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDczIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
Zm5kZWYgQVBJQ2FsbGJhY2tGdW5jdGlvbl9oCisjZGVmaW5lIEFQSUNhbGxiYWNrRnVuY3Rpb25f
aAorCisjaW5jbHVkZSAiQVBJQ2FzdC5oIgorI2luY2x1ZGUgIkFQSVNoaW1zLmgiCisjaW5jbHVk
ZSAiRXJyb3IuaCIKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBKU0Mgewor
CitzdHJ1Y3QgQVBJQ2FsbGJhY2tGdW5jdGlvbiB7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjYWxsKEV4ZWNTdGF0ZSopOworCit9
OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK0VuY29kZWRKU1ZhbHVlIEFQSUNhbGxiYWNrRnVu
Y3Rpb246OmNhbGwoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTQ29udGV4dFJlZiBleGVjUmVm
ID0gdG9SZWYoZXhlYyk7CisgICAgSlNPYmplY3RSZWYgZnVuY3Rpb25SZWYgPSB0b1JlZihleGVj
LT5jYWxsZWUoKSk7CisgICAgSlNPYmplY3RSZWYgdGhpc09ialJlZiA9IHRvUmVmKGV4ZWMtPmhv
c3RUaGlzVmFsdWUoKS50b1RoaXNPYmplY3QoZXhlYykpOworCisgICAgc2l6ZV90IGFyZ3VtZW50
Q291bnQgPSBleGVjLT5hcmd1bWVudENvdW50KCk7CisgICAgVmVjdG9yPEpTVmFsdWVSZWYsIDE2
PiBhcmd1bWVudHM7CisgICAgYXJndW1lbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoYXJndW1l
bnRDb3VudCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcmd1bWVudENvdW50OyArK2kp
CisgICAgICAgIGFyZ3VtZW50cy51bmNoZWNrZWRBcHBlbmQodG9SZWYoZXhlYywgZXhlYy0+YXJn
dW1lbnQoaSkpKTsKKworICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9uID0gMDsKKyAgICBKU1ZhbHVl
UmVmIHJlc3VsdDsKKyAgICB7CisgICAgICAgIEFQSUNhbGxiYWNrU2hpbSBjYWxsYmFja1NoaW0o
ZXhlYyk7CisgICAgICAgIHJlc3VsdCA9IGpzQ2FzdDxUKj4odG9KUyhmdW5jdGlvblJlZikpLT5t
X2NhbGxiYWNrKGV4ZWNSZWYsIGZ1bmN0aW9uUmVmLCB0aGlzT2JqUmVmLCBhcmd1bWVudENvdW50
LCBhcmd1bWVudHMuZGF0YSgpLCAmZXhjZXB0aW9uKTsKKyAgICB9CisgICAgaWYgKGV4Y2VwdGlv
bikKKyAgICAgICAgdGhyb3dFcnJvcihleGVjLCB0b0pTKGV4ZWMsIGV4Y2VwdGlvbikpOworCisg
ICAgLy8gcmVzdWx0IG11c3QgYmUgYSB2YWxpZCBKU1ZhbHVlLgorICAgIGlmICghcmVzdWx0KQor
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworCisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTKGV4ZWMsIHJlc3VsdCkpOworfQorCit9IC8vIG5hbWVz
cGFjZSBKU0MKKworI2VuZGlmIC8vIEFQSUNhbGxiYWNrRnVuY3Rpb25faApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1bmN0aW9uLmNwcAkocmV2aXNp
b24gMTUxNTI0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rp
b24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw4ICsyNiw5IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0Z1bmN0aW9uLmgiCiAKLSNpbmNsdWRlICJBUElTaGlt
cy5oIgorI2luY2x1ZGUgIkFQSUNhbGxiYWNrRnVuY3Rpb24uaCIKICNpbmNsdWRlICJBUElDYXN0
LmgiCisjaW5jbHVkZSAiQVBJU2hpbXMuaCIKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNs
dWRlICJFcnJvci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKQEAgLTYzLDM3ICs2
NCw5IEBAIEpTQ2FsbGJhY2tGdW5jdGlvbiogSlNDYWxsYmFja0Z1bmN0aW9uOjoKICAgICByZXR1
cm4gZnVuY3Rpb247CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpTQ2FsbGJhY2tGdW5jdGlvbjo6Y2Fs
bChFeGVjU3RhdGUqIGV4ZWMpCi17Ci0gICAgSlNDb250ZXh0UmVmIGV4ZWNSZWYgPSB0b1JlZihl
eGVjKTsKLSAgICBKU09iamVjdFJlZiBmdW5jdGlvblJlZiA9IHRvUmVmKGV4ZWMtPmNhbGxlZSgp
KTsKLSAgICBKU09iamVjdFJlZiB0aGlzT2JqUmVmID0gdG9SZWYoZXhlYy0+aG9zdFRoaXNWYWx1
ZSgpLnRvVGhpc09iamVjdChleGVjKSk7Ci0KLSAgICBzaXplX3QgYXJndW1lbnRDb3VudCA9IGV4
ZWMtPmFyZ3VtZW50Q291bnQoKTsKLSAgICBWZWN0b3I8SlNWYWx1ZVJlZiwgMTY+IGFyZ3VtZW50
czsKLSAgICBhcmd1bWVudHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShhcmd1bWVudENvdW50KTsK
LSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFyZ3VtZW50Q291bnQ7ICsraSkKLSAgICAgICAg
YXJndW1lbnRzLnVuY2hlY2tlZEFwcGVuZCh0b1JlZihleGVjLCBleGVjLT5hcmd1bWVudChpKSkp
OwotCi0gICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwotICAgIEpTVmFsdWVSZWYgcmVzdWx0
OwotICAgIHsKLSAgICAgICAgQVBJQ2FsbGJhY2tTaGltIGNhbGxiYWNrU2hpbShleGVjKTsKLSAg
ICAgICAgcmVzdWx0ID0ganNDYXN0PEpTQ2FsbGJhY2tGdW5jdGlvbio+KHRvSlMoZnVuY3Rpb25S
ZWYpKS0+bV9jYWxsYmFjayhleGVjUmVmLCBmdW5jdGlvblJlZiwgdGhpc09ialJlZiwgYXJndW1l
bnRDb3VudCwgYXJndW1lbnRzLmRhdGEoKSwgJmV4Y2VwdGlvbik7Ci0gICAgfQotICAgIGlmIChl
eGNlcHRpb24pCi0gICAgICAgIHRocm93RXJyb3IoZXhlYywgdG9KUyhleGVjLCBleGNlcHRpb24p
KTsKLQotICAgIC8vIHJlc3VsdCBtdXN0IGJlIGEgdmFsaWQgSlNWYWx1ZS4KLSAgICBpZiAoIXJl
c3VsdCkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLQot
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KUyhleGVjLCByZXN1bHQpKTsKLX0KLQogQ2Fs
bFR5cGUgSlNDYWxsYmFja0Z1bmN0aW9uOjpnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYg
Y2FsbERhdGEpCiB7Ci0gICAgY2FsbERhdGEubmF0aXZlLmZ1bmN0aW9uID0gY2FsbDsKKyAgICBj
YWxsRGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBBUElDYWxsYmFja0Z1bmN0aW9uOjpjYWxsPEpTQ2Fs
bGJhY2tGdW5jdGlvbj47CiAgICAgcmV0dXJuIENhbGxUeXBlSG9zdDsKIH0KIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlvbi5oCShyZXZpc2lv
biAxNTE1MjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5jdGlv
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxMCArMzIsNyBAQAogbmFtZXNwYWNlIEpTQyB7CiAK
IGNsYXNzIEpTQ2FsbGJhY2tGdW5jdGlvbiA6IHB1YmxpYyBJbnRlcm5hbEZ1bmN0aW9uIHsKLXBy
b3RlY3RlZDoKLSAgICBKU0NhbGxiYWNrRnVuY3Rpb24oSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmUqLCBKU09iamVjdENhbGxBc0Z1bmN0aW9uQ2FsbGJhY2spOwotICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mLCBjb25zdCBTdHJpbmcmIG5hbWUpOwotCisgICAgZnJpZW5kIHN0cnVjdCBBUElD
YWxsYmFja0Z1bmN0aW9uOwogcHVibGljOgogICAgIHR5cGVkZWYgSW50ZXJuYWxGdW5jdGlvbiBC
YXNlOwogCkBAIC01MCwxMSArNDcsMTEgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gU3RydWN0
dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG8sIFR5cGVJbmZvKE9iamVjdFR5cGUs
IFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbyk7IAogICAgIH0KIAotcHJvdGVjdGVkOgotICAgIHN0
YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwotCiBwcml2YXRl
OgotICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGwoRXhlY1N0YXRl
Kik7CisgICAgSlNDYWxsYmFja0Z1bmN0aW9uKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwg
SlNPYmplY3RDYWxsQXNGdW5jdGlvbkNhbGxiYWNrKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiwgY29uc3QgU3RyaW5nJiBuYW1lKTsKKworICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxs
RGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogCiAgICAgSlNPYmplY3RDYWxsQXNGdW5jdGlvbkNh
bGxiYWNrIG1fY2FsbGJhY2s7CiB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9P
YmpDQ2FsbGJhY2tGdW5jdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvT2JqQ0NhbGxiYWNrRnVuY3Rpb24uaAkocmV2aXNpb24gMTUxNTI0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9PYmpDQ2FsbGJhY2tGdW5jdGlvbi5oCSh3b3JraW5nIGNvcHkp
CkBAIC00Miw5ICs0MiwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgT2JqQ0NhbGxiYWNr
RnVuY3Rpb25JbXBsOwogCi1jbGFzcyBPYmpDQ2FsbGJhY2tGdW5jdGlvbiA6IHB1YmxpYyBKU0Nh
bGxiYWNrRnVuY3Rpb24geworY2xhc3MgT2JqQ0NhbGxiYWNrRnVuY3Rpb24gOiBwdWJsaWMgSW50
ZXJuYWxGdW5jdGlvbiB7CisgICAgZnJpZW5kIHN0cnVjdCBBUElDYWxsYmFja0Z1bmN0aW9uOwog
cHVibGljOgotICAgIHR5cGVkZWYgSlNDYWxsYmFja0Z1bmN0aW9uIEJhc2U7CisgICAgdHlwZWRl
ZiBJbnRlcm5hbEZ1bmN0aW9uIEJhc2U7CiAKICAgICBzdGF0aWMgT2JqQ0NhbGxiYWNrRnVuY3Rp
b24qIGNyZWF0ZShFeGVjU3RhdGUqLCBKU0dsb2JhbE9iamVjdCosIGNvbnN0IFN0cmluZyYgbmFt
ZSwgUGFzc093blB0cjxPYmpDQ2FsbGJhY2tGdW5jdGlvbkltcGw+KTsKICAgICBzdGF0aWMgdm9p
ZCBkZXN0cm95KEpTQ2VsbCopOwpAQCAtNjMsNiArNjQsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgT2Jq
Q0NhbGxiYWNrRnVuY3Rpb24oSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdENhbGxBc0Z1bmN0aW9u
Q2FsbGJhY2ssIFBhc3NPd25QdHI8T2JqQ0NhbGxiYWNrRnVuY3Rpb25JbXBsPik7CiAKIHByaXZh
dGU6CisgICAgc3RhdGljIENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7
CisKKyAgICBKU09iamVjdENhbGxBc0Z1bmN0aW9uQ2FsbGJhY2sgbV9jYWxsYmFjazsKICAgICBP
d25QdHI8T2JqQ0NhbGxiYWNrRnVuY3Rpb25JbXBsPiBtX2ltcGw7CiB9OwogCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL09iakNDYWxsYmFja0Z1bmN0aW9uLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvT2JqQ0NhbGxiYWNrRnVuY3Rpb24ubW0JKHJl
dmlzaW9uIDE1MTUyNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvT2JqQ0NhbGxiYWNr
RnVuY3Rpb24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEpTQ19P
QkpDX0FQSV9FTkFCTEVECiAKKyNpbXBvcnQgIkFQSUNhbGxiYWNrRnVuY3Rpb24uaCIKICNpbXBv
cnQgIkFQSUNhc3QuaCIKICNpbXBvcnQgIkFQSVNoaW1zLmgiCiAjaW1wb3J0ICJFcnJvci5oIgpA
QCAtNDY5LDcgKzQ3MCw4IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIG9iakNDYWxsYmFja0Z1bmN0aW9u
Q2EKIGNvbnN0IEpTQzo6Q2xhc3NJbmZvIE9iakNDYWxsYmFja0Z1bmN0aW9uOjpzX2luZm8gPSB7
ICJDYWxsYmFja0Z1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9U
QUJMRShPYmpDQ2FsbGJhY2tGdW5jdGlvbikgfTsKIAogT2JqQ0NhbGxiYWNrRnVuY3Rpb246Ok9i
akNDYWxsYmFja0Z1bmN0aW9uKEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNP
YmplY3RDYWxsQXNGdW5jdGlvbkNhbGxiYWNrIGNhbGxiYWNrLCBQYXNzT3duUHRyPE9iakNDYWxs
YmFja0Z1bmN0aW9uSW1wbD4gaW1wbCkKLSAgICA6IEJhc2UoZ2xvYmFsT2JqZWN0LCBnbG9iYWxP
YmplY3QtPm9iamNDYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlKCksIGNhbGxiYWNrKQorICAgIDog
QmFzZShnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+b2JqY0NhbGxiYWNrRnVuY3Rpb25TdHJ1
Y3R1cmUoKSkKKyAgICAsIG1fY2FsbGJhY2soY2FsbGJhY2spCiAgICAgLCBtX2ltcGwoaW1wbCkK
IHsKIH0KQEAgLTQ4Niw2ICs0ODgsMTIgQEAgdm9pZCBPYmpDQ2FsbGJhY2tGdW5jdGlvbjo6ZGVz
dHJveShKU0NlbAogICAgIHN0YXRpY19jYXN0PE9iakNDYWxsYmFja0Z1bmN0aW9uKj4oY2VsbCkt
Pk9iakNDYWxsYmFja0Z1bmN0aW9uOjp+T2JqQ0NhbGxiYWNrRnVuY3Rpb24oKTsKIH0KIAorQ2Fs
bFR5cGUgT2JqQ0NhbGxiYWNrRnVuY3Rpb246OmdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRh
JiBjYWxsRGF0YSkKK3sKKyAgICBjYWxsRGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBBUElDYWxsYmFj
a0Z1bmN0aW9uOjpjYWxsPE9iakNDYWxsYmFja0Z1bmN0aW9uPjsKKyAgICByZXR1cm4gQ2FsbFR5
cGVIb3N0OworfQorCiBKU1ZhbHVlUmVmIE9iakNDYWxsYmFja0Z1bmN0aW9uSW1wbDo6Y2FsbChK
U0NvbnRleHQgKmNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVu
dENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRp
b24pCiB7CiAgICAgSlNHbG9iYWxDb250ZXh0UmVmIGNvbnRleHRSZWYgPSBbY29udGV4dCBKU0ds
b2JhbENvbnRleHRSZWZdOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvago9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qCShyZXZpc2lvbiAxNTE1MjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00
MDAsNiArNDAwLDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmozMlwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xTdHJpbmdDb25zdHJ1
Y3Rvci5sdXQuaCIgLz4NCiAgIDwvSXRlbUdyb3VwPg0KICAgPEl0ZW1Hcm91cD4NCisgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxBUElcQVBJQ2FsbGJhY2tGdW5jdGlvbi5oIiAvPg0KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEFQSVxBUElDYXN0LmgiIC8+DQogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cQVBJXEphdmFTY3JpcHQuaCIgLz4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxBUElcSmF2YVNjcmlwdENvcmUuaCIgLz4NCkBAIC03ODcsNCArNzg4LDQgQEAKICAgPElt
cG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4N
CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+DQogICA8L0ltcG9ydEdy
b3VwPg0KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+
DQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2
YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmls
dGVycwkocmV2aXNpb24gMTUxNTI0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCSh3b3JraW5nIGNv
cHkpCkBAIC03NjEsNiArNzYxLDkgQEAKICAgICA8L0NsQ29tcGlsZT4NCiAgIDwvSXRlbUdyb3Vw
Pg0KICAgPEl0ZW1Hcm91cD4NCisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxBUElcQVBJQ2Fs
bGJhY2tGdW5jdGlvbi5oIj4NCisgICAgICA8RmlsdGVyPkFQSTwvRmlsdGVyPg0KKyAgICA8L0Ns
SW5jbHVkZT4NCiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxBUElcQVBJQ2FzdC5oIj4NCiAg
ICAgICA8RmlsdGVyPkFQSTwvRmlsdGVyPg0KICAgICA8L0NsSW5jbHVkZT4NCkBAIC0xOTMyLDQg
KzE5MzUsNCBAQAogICAgIDxOb25lIEluY2x1ZGU9IkphdmFTY3JpcHRDb3JlUG9zdEJ1aWxkLmNt
ZCIgLz4NCiAgICAgPE5vbmUgSW5jbHVkZT0iSmF2YVNjcmlwdENvcmVQcmVCdWlsZC5jbWQiIC8+
DQogICA8L0l0ZW1Hcm91cD4NCi08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQorPC9Qcm9qZWN0Pg0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biAxNTE1MjQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtODIzLDYgKzgyMyw3IEBACiAJ
CUMyMTEyMkUxMTVERDlBQjMwMDc5MEUzQSAvKiBHQ1RocmVhZFNoYXJlZERhdGEuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIxMTIyREUxNUREOUFC
MzAwNzkwRTNBIC8qIEdDVGhyZWFkU2hhcmVkRGF0YS5jcHAgKi87IH07CiAJCUMyMTEyMkUyMTVE
RDlBQjMwMDc5MEUzQSAvKiBHQ1RocmVhZFNoYXJlZERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMTEyMkRGMTVERDlBQjMwMDc5MEUzQSAvKiBH
Q1RocmVhZFNoYXJlZERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlDMjExMjJFMzE1REQ5QUIzMDA3OTBFM0EgLyogTWFya1N0YWNrSW5saW5l
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIxMTIy
RTAxNUREOUFCMzAwNzkwRTNBIC8qIE1hcmtTdGFja0lubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDMjExQjU3NTE3NkEyMjREMDAwRTJB
MjMgLyogQVBJQ2FsbGJhY2tGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzIxMUI1NzQxNzZBMjI0RDAwMEUyQTIzIC8qIEFQSUNhbGxiYWNr
RnVuY3Rpb24uaCAqLzsgfTsKIAkJQzIxNjBGRTcxNUY3RTk1RTAwOTQyREZDIC8qIFNsb3RWaXNp
dG9ySW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEZDQjQwODUxNUMwQTNDMzAwNDg5MzJCIC8qIFNsb3RWaXNpdG9ySW5saW5lcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyMThEMTQwMTY1
NUNGRDUwMDYyQkI4MSAvKiBDb3B5V29ya0xpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMThEMTNGMTY1NUNGRDUwMDYyQkI4MSAvKiBDb3B5V29y
a0xpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlDMjIzOUQxNzE2MjYyQkREMDA1QUM1RkQgLyogQ29weVZpc2l0b3IuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzIyMzlEMTIxNjI2MkJERDAwNUFD
NUZEIC8qIENvcHlWaXNpdG9yLmNwcCAqLzsgfTsKQEAgLTE3MzYsNiArMTczNyw3IEBACiAJCUMy
MTEyMkRFMTVERDlBQjMwMDc5MEUzQSAvKiBHQ1RocmVhZFNoYXJlZERhdGEuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR0NUaHJlYWRTaGFyZWREYXRhLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzIxMTIyREYxNUREOUFCMzAwNzkwRTNBIC8qIEdD
VGhyZWFkU2hhcmVkRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHQ1Ro
cmVhZFNoYXJlZERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzIxMTIyRTAx
NUREOUFCMzAwNzkwRTNBIC8qIE1hcmtTdGFja0lubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTWFya1N0YWNrSW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDMjExQjU3NDE3NkEyMjREMDAwRTJBMjMgLyogQVBJQ2FsbGJhY2tGdW5jdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElDYWxsYmFja0Z1bmN0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMThEMTNGMTY1NUNGRDUwMDYyQkI4MSAv
KiBDb3B5V29ya0xpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29weVdv
cmtMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMjM5RDEyMTYyNjJCREQw
MDVBQzVGRCAvKiBDb3B5VmlzaXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBDb3B5VmlzaXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMy
MjM5RDEzMTYyNjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDb3B5VmlzaXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjE5MSw2ICsyMTkzLDcgQEAKIAkJMTQzMkVCRDcwQTM0Q0FENDAwNzE3QjlGIC8qIEFQ
SSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQzIxMUI1
NzQxNzZBMjI0RDAwMEUyQTIzIC8qIEFQSUNhbGxiYWNrRnVuY3Rpb24uaCAqLywKIAkJCQkxNDgy
Qjc4QTBBNDMwNUFCMDA1MTdDRkMgLyogQVBJQ2FzdC5oICovLAogCQkJCTg2NUY0MDg3MTBFN0Q1
NjMwMDk0NzM2MSAvKiBBUElTaGltcy5oICovLAogCQkJCTFDQUE4QjRBMEQzMkMzOUEwMDQxQkNG
RiAvKiBKYXZhU2NyaXB0LmggKi8sCkBAIC0zMjc3LDYgKzMyODAsNyBAQAogCQkJCTg2QUU2NEE5
MTM1RTVFMUMwMDk2MzAxMiAvKiBNYWNyb0Fzc2VtYmxlclNINC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODYwMTYxRTQwRjNBODNDMTAwRjg0NzEwIC8qIE1hY3JvQXNzZW1ibGVyWDg2LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk4NjAxNjFFNTBGM0E4M0MxMDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJY
ODZfNjQuaCBpbiBIZWFkZXJzICovLAorCQkJCUMyMTFCNTc1MTc2QTIyNEQwMDBFMkEyMyAvKiBB
UElDYWxsYmFja0Z1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NjAxNjFFNjBGM0E4M0Mx
MDBGODQ3MTAgLyogTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUMyQjkxNkMyMTREQTAxNEUwMENCQUM4NiAvKiBNYXJrZWRBbGxvY2F0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTE0MkQ2RjA5MTM1MzlBMjgwMEIwMkU4NiAvKiBNYXJrZWRCbG9jay5oIGluIEhl
YWRlcnMgKi8sCg==
</data>
<flag name="review"
          id="225999"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>