<?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>196469</bug_id>
          
          <creation_ts>2019-04-01 15:29:50 -0700</creation_ts>
          <short_desc>[WebCore] Put more things into IsoHeap</short_desc>
          <delta_ts>2019-04-11 11:19:22 -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>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1523097</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-01 15:29:50 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1523121</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-01 16:19:29 -0700</bug_when>
    <thetext>I&apos;ve hacked lldb_webkit to dump all the classes which are,

1. Derived class of ScriptWrappable
2. Not in IsoHeap

The results are following.

WebCore::CanvasRenderingContext
WebCore::WebGLRenderingContextBase
WebCore::OffscreenCanvas
WebCore::ImageBitmap
WebCore::GPUBasedCanvasRenderingContext
WebCore::TypedOMCSSImageValue
WebCore::File
WebCore::EventTarget
WebCore::MessagePort
WebCore::DOMWindow
WebCore::DOMImplementation
WebCore::NodeIterator
WebCore::LiveNodeList
WebCore::HTMLCollection
WebCore::Event
WebCore::Worklet
WebCore::PaintWorkletGlobalScope
WebCore::CSSStyleDeclaration
WebCore::Location
WebCore::SecurityPolicyViolationEvent
WebCore::ServiceWorker
WebCore::ServiceWorkerContainer
WebCore::NamedNodeMap
WebCore::KeyboardEvent
WebCore::DatasetDOMStringMap
WebCore::PropertySetCSSStyleDeclaration
WebCore::TextTrack
WebCore::EventTargetWithInlineData
WebCore::TextTrackCue
WebCore::MediaSource
WebCore::TextTrackList
WebCore::AudioTrackList
WebCore::VideoTrackList
WebCore::MediaElementAudioSourceNode
WebCore::MediaController
WebCore::Blob
WebCore::MediaStream
WebCore::SourceBuffer
WebCore::TrackListBase
WebCore::RTCPeerConnection
WebCore::DataCue
WebCore::MouseEvent
WebCore::UIEvent
WebCore::MouseRelatedEvent
WebCore::UIEventWithKeyState
WebCore::AbstractDOMWindow
WebCore::GamepadEvent
WebCore::Navigator
WebCore::History
WebCore::BarProp
WebCore::Screen
WebCore::VisualViewport
WebCore::Storage
WebCore::DOMApplicationCache
WebCore::Performance
WebCore::FileList
WebCore::BeforeTextInsertedEvent
WebCore::InbandDataTextTrack
WebCore::InbandTextTrack
WebCore::VTTCue
WebCore::TextTrackCueGeneric
WebCore::InbandGenericTextTrack
WebCore::InbandWebVTTTextTrack
WebCore::RTCDataChannel
WebCore::RTCDataChannelEvent
WebCore::MediaStreamTrack
WebCore::RTCSessionDescription
WebCore::RTCRtpReceiver
WebCore::RTCRtpTransceiver
WebCore::RTCRtpSender
WebCore::RTCIceTransport
WebCore::RTCIceCandidate
WebCore::RTCTrackEvent
WebCore::LoadableTextTrack
WebCore::MediaEncryptedEvent
WebCore::MediaKeyMessageEvent
WebCore::MediaKeySession
WebCore::DOMMimeTypeArray
WebCore::DOMPluginArray
WebCore::WebGLRenderingContext
WebCore::TrackEvent
WebCore::AbortController
WebCore::AbortSignal
WebCore::ProgressValueElement
WebCore::SourceBufferList
WebCore::AccessibleSetValueEvent
WebCore::AnimationEvent
WebCore::AnimationPlaybackEvent
WebCore::ApplePayPaymentAuthorizedEvent
WebCore::ApplePayPaymentMethodSelectedEvent
WebCore::ApplePayShippingContactSelectedEvent
WebCore::ApplePayShippingMethodSelectedEvent
WebCore::ApplePayValidateMerchantEvent
WebCore::AudioProcessingEvent
WebCore::BeforeLoadEvent
WebCore::BeforeUnloadEvent
WebCore::BlobEvent
WebCore::ClipboardEvent
WebCore::CloseEvent
WebCore::CompositionEvent
WebCore::CustomEvent
WebCore::ErrorEvent
WebCore::ExtendableEvent
WebCore::WorkerGlobalScope
WebCore::ServiceWorkerGlobalScope
WebCore::ExtendableMessageEvent
WebCore::FetchEvent
WebCore::FocusEvent
WebCore::GestureEvent
WebCore::HashChangeEvent
WebCore::IDBVersionChangeEvent
WebCore::InputEvent
WebCore::MediaRecorderErrorEvent
WebCore::MediaStreamTrackEvent
WebCore::MerchantValidationEvent
WebCore::MessageEvent
WebCore::MutationEvent
WebCore::OfflineAudioCompletionEvent
WebCore::OverconstrainedErrorEvent
WebCore::OverflowEvent
WebCore::PageTransitionEvent
WebCore::PaymentRequestUpdateEvent
WebCore::PaymentMethodChangeEvent
WebCore::PointerEvent
WebCore::PopStateEvent
WebCore::ProgressEvent
WebCore::PromiseRejectionEvent
WebCore::RTCPeerConnectionIceEvent
WebCore::SVGZoomEvent
WebCore::SpeechSynthesisEvent
WebCore::StorageEvent
WebCore::TextEvent
WebCore::TransitionEvent
WebCore::VRDisplay
WebCore::VRDisplayEvent
WebCore::WebGLContextEvent
WebCore::WebKitAnimationEvent
WebCore::WebKitMediaKeyMessageEvent
WebCore::WebKitMediaKeyNeededEvent
WebCore::WebKitPlaybackTargetAvailabilityEvent
WebCore::WebKitTransitionEvent
WebCore::WheelEvent
WebCore::XMLHttpRequestProgressEvent
WebCore::GPUCanvasContext
WebCore::ImageBitmapRenderingContext
WebCore::CanvasRenderingContext2D
WebCore::FontFaceSet
WebCore::IDBCursor
WebCore::IDBDatabase
WebCore::IDBOpenDBRequest
WebCore::IDBRequest
WebCore::IDBKeyRange
WebCore::IDBTransaction
WebCore::ServiceWorkerRegistration
WebCore::NodeList
WebCore::AnalyserNode
WebCore::AudioBasicInspectorNode
WebCore::AudioContext
WebCore::AudioNode
WebCore::WebAnimation
WebCore::PannerNode
WebCore::AudioBufferSourceNode
WebCore::AudioScheduledSourceNode
WebCore::ConvolverNode
WebCore::DynamicsCompressorNode
WebCore::ScriptProcessorNode
WebCore::ChannelSplitterNode
WebCore::ChannelMergerNode
WebCore::OscillatorNode
WebCore::MediaStreamAudioSourceNode
WebCore::MediaStreamAudioDestinationNode
WebCore::GainNode
WebCore::BiquadFilterNode
WebCore::AudioBasicProcessorNode
WebCore::WaveShaperNode
WebCore::DelayNode
WebCore::AudioDestinationNode
WebCore::DataTransferItemList
WebCore::CSSAnimation
WebCore::StyleRuleCSSStyleDeclaration
WebCore::DeclarativeAnimation
WebCore::CanvasRenderingContext2DBase
WebCore::PaintRenderingContext2D
WebCore::CSSTransition
WebCore::CanvasCaptureMediaStreamTrack
WebCore::DOMMatrixReadOnly
WebCore::DOMMatrix
WebCore::TypedOMCSSStyleValue
WebCore::DOMPoint
WebCore::DOMPointReadOnly
WebCore::DOMFileSystem
WebCore::FileSystemEntry
WebCore::FileSystemDirectoryEntry
WebCore::FileSystemFileEntry
WebCore::DOMPlugin
WebCore::DOMRectReadOnly
WebCore::DOMQuad
WebCore::DOMRect
WebCore::HTMLOptionsCollection
WebCore::HTMLFormControlsCollection
WebCore::CachedLiveNodeList&lt;WebCore::RadioNodeList&gt;
WebCore::CachedHTMLCollection&lt;WebCore::HTMLOptionsCollection, WebCore::CollectionTraversalType::Descendants&gt;
WebCore::SpeechSynthesisUtterance
WebCore::CachedHTMLCollection&lt;WebCore::HTMLFormControlsCollection, WebCore::CollectionTraversalType::CustomForwardOnly&gt;
WebCore::TreeWalker
WebCore::RadioNodeList
WebCore::DedicatedWorkerGlobalScope
WebCore::WebGL2RenderingContext
WebCore::EventSource
WebCore::FileSystemDirectoryReader
WebCore::FileReader
WebCore::HTMLAllCollection
WebCore::CachedHTMLCollection&lt;WebCore::AllDescendantsCollection, WebCore::CollectionTraversalType::Descendants&gt;
WebCore::Geolocation
WebCore::AllDescendantsCollection
WebCore::IDBCursorWithValue
WebCore::MediaDeviceInfo
WebCore::MediaDevices
WebCore::MediaRecorder
WebCore::OfflineAudioContext
WebCore::OffscreenCanvasRenderingContext2D
WebCore::WorkletGlobalScope
WebCore::PaymentResponse
WebCore::PaymentRequest
WebCore::RemoteDOMWindow
WebCore::SVGFEFuncAElement
WebCore::SVGFEFuncBElement
WebCore::SVGFEFuncGElement
WebCore::SVGFEFuncRElement
WebCore::SVGFEPointLightElement
WebCore::SVGFESpotLightElement
WebCore::SVGFEDistantLightElement
WebCore::TypedOMCSSNumericValue
WebCore::TypedOMCSSUnparsedValue
WebCore::TypedOMCSSUnitValue
WebCore::WebKitCSSMatrix
WebCore::WebSocket
WebCore::WebKitMediaKeySession
WebCore::Worker
WebCore::AbstractWorker
WebCore::XMLHttpRequest
WebCore::XMLHttpRequestEventTarget
WebCore::XMLHttpRequestUpload
WebCore::ApplePaySession
WebCore::IDBRequestCompletionEvent
WebCore::OfflineAudioDestinationNode
WebCore::DefaultAudioDestinationNode
WebCore::ChildNodeList
WebCore::EmptyNodeList
WebCore::CSSComputedStyleDeclaration
WebCore::InlineCSSStyleDeclaration
WebCore::TagCollectionNS
WebCore::CachedHTMLCollection&lt;WebCore::TagCollectionNS, WebCore::CollectionTraversalType::Descendants&gt;
WebCore::StaticNodeList
WebCore::CachedHTMLCollection&lt;WebCore::ClassCollection, WebCore::CollectionTraversalType::Descendants&gt;
WebCore::ClassCollection
WebCore::GenericCachedHTMLCollection&lt;WebCore::CollectionTraversalType::ChildrenOnly&gt;
WebCore::CachedHTMLCollection&lt;WebCore::GenericCachedHTMLCollection&lt;WebCore::CollectionTraversalType::ChildrenOnly&gt;, WebCore::CollectionTraversalType::ChildrenOnly&gt;
WebCore::CachedLiveNodeList&lt;WebCore::NameNodeList&gt;
WebCore::TagCollection
WebCore::NameNodeList
WebCore::HTMLTagCollection
WebCore::CachedHTMLCollection&lt;WebCore::HTMLTagCollection, WebCore::CollectionTraversalType::Descendants&gt;
WebCore::CachedHTMLCollection&lt;WebCore::TagCollection, WebCore::CollectionTraversalType::Descendants&gt;
WebCore::DeviceMotionEvent
WebCore::CachedHTMLCollection&lt;WebCore::DocumentNameCollection, WebCore::CollectionTraversalType::Descendants&gt;
WebCore::DocumentNameCollection
WebCore::HTMLNameCollection&lt;WebCore::DocumentNameCollection, WebCore::CollectionTraversalType::Descendants&gt;
WebCore::HTMLAllNamedSubCollection
WebCore::CachedHTMLCollection&lt;WebCore::HTMLAllNamedSubCollection, WebCore::CollectionTraversalType::Descendants&gt;
WebCore::GenericCachedHTMLCollection&lt;WebCore::CollectionTraversalType::Descendants&gt;
WebCore::CachedHTMLCollection&lt;WebCore::GenericCachedHTMLCollection&lt;WebCore::CollectionTraversalType::Descendants&gt;, WebCore::CollectionTraversalType::Descendants&gt;
WebCore::DeviceOrientationEvent
WebCore::WindowNameCollection
WebCore::HTMLNameCollection&lt;WebCore::WindowNameCollection, WebCore::CollectionTraversalType::Descendants&gt;
WebCore::CachedHTMLCollection&lt;WebCore::WindowNameCollection, WebCore::CollectionTraversalType::Descendants&gt;
WebCore::StaticElementList
WebCore::SimulatedMouseEvent
WebCore::ProgressInnerElement
WebCore::ProgressBarElement
WebCore::CachedHTMLCollection&lt;WebCore::HTMLTableRowsCollection, WebCore::CollectionTraversalType::CustomForwardOnly&gt;
WebCore::HTMLTableRowsCollection
WebCore::CachedLiveNodeList&lt;WebCore::LabelsNodeList&gt;
WebCore::LabelsNodeList
WebCore::PlaceholderRenderingContext</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526411</commentid>
    <comment_count>2</comment_count>
      <attachid>367229</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-11 11:18:00 -0700</bug_when>
    <thetext>Created attachment 367229
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526412</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-04-11 11:19:22 -0700</bug_when>
    <thetext>Attachment 367229 did not pass style-queue:


ERROR: Tools/lldb/lldb_dump_class_layout.py:456:  multiple statements on one line (semicolon)  [pep8/E702] [5]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367229</attachid>
            <date>2019-04-11 11:18:00 -0700</date>
            <delta_ts>2019-04-11 11:18:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196469-20190411111759.patch</filename>
            <type>text/plain</type>
            <size>7330</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MTM1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjQ2MTRkN2NhYzljYzhmM2I2ZjgyNjUzZjA4NGQ2MjMw
NWZhYzVhNS4uY2NjM2VkZjc2YWFiOWQxZjdmODY1Yzk3ZmQ4MTEyYWM3YTYxMTM3YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDE5LTA0LTExICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAg
ICAgICAgW1dlYkNvcmVdIFB1dCBtb3JlIHRoaW5ncyBpbnRvIElzb0hlYXAKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjQ2OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9kdW1wLWNsYXNz
LWxheW91dDoKKyAgICAgICAgKG1haW4pOgorICAgICAgICAobWFpbi5uYW1lKToKKyAgICAgICAg
KiBsbGRiL2xsZGJfZHVtcF9jbGFzc19sYXlvdXQucHk6CisgICAgICAgIChDbGFzc0xheW91dC5f
X2luaXRfXyk6CisgICAgICAgIChDbGFzc0xheW91dC5fY29tcHV0ZV9wYWRkaW5nX3JlY3Vyc2l2
ZSk6CisgICAgICAgIChMTERCRGVidWdnZXJJbnN0YW5jZS5pc19pbl9pc29oZWFwKToKKyAgICAg
ICAgKExMREJEZWJ1Z2dlckluc3RhbmNlKToKKyAgICAgICAgKExMREJEZWJ1Z2dlckluc3RhbmNl
LmlzX2Rlcml2ZWRfY2xhc3NfZnJvbV9zY3JpcHRfd3JhcHBhYmxlKToKKyAgICAgICAgKExMREJE
ZWJ1Z2dlckluc3RhbmNlLmR1bXBfbGF5b3V0X2Zvcl9jbGFzc25hbWUpOgorICAgICAgICAoTExE
QkRlYnVnZ2VySW5zdGFuY2UuZHVtcF9hbGxfd2FzdGVmdWxfbGF5b3V0cyk6CisgICAgICAgIChM
TERCRGVidWdnZXJJbnN0YW5jZS5sYXlvdXRfZm9yX2NsYXNzbmFtZSk6IERlbGV0ZWQuCisKIDIw
MTktMDQtMTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAg
ICAgQWRkIGEgd2F5IHRvIG9wdCBpbnRvIG1vZGVybiBjb21wYXRpYmlsaXR5IG1vZGUgaW4gbGF5
b3V0IHRlc3RzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2R1bXAtY2xhc3MtbGF5b3V0IGIv
VG9vbHMvU2NyaXB0cy9kdW1wLWNsYXNzLWxheW91dAppbmRleCBhNTQ3ZTIwNWQ2M2QwODkxOTM4
M2IyZGJiZDM3MDU4YzI1ZjVjZGMyLi5kZjk0M2NjYzI4OTU5YjAwYjUxMjFiZTc3ZWEwNTAxZWZh
YWIwMTZhIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2R1bXAtY2xhc3MtbGF5b3V0CisrKyBi
L1Rvb2xzL1NjcmlwdHMvZHVtcC1jbGFzcy1sYXlvdXQKQEAgLTUxLDcgKzUxLDcgQEAgZGVmIG1h
aW4oKToKICAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcihkZXNjcmlwdGlvbj0n
RHVtcHMgdGhlIGluLW1lbW9yeSBsYXlvdXQgb2YgdGhlIGdpdmVuIGNsYXNzIG9yIGNsYXNzZXMs
IHNob3dpbmcgcGFkZGluZyBob2xlcy4nKQogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJ2ZyYW1l
d29yaycsIG1ldGF2YXI9J2ZyYW1ld29yaycsCiAgICAgICAgIGhlbHA9J25hbWUgb2YgdGhlIGZy
YW1ld29yayBjb250YWluaW5nIHRoZSBjbGFzcyAoZS5nLiAiV2ViQ29yZSIpJykKLSAgICBwYXJz
ZXIuYWRkX2FyZ3VtZW50KCdjbGFzc25hbWUnLCBtZXRhdmFyPSdjbGFzc25hbWUnLAorICAgIHBh
cnNlci5hZGRfYXJndW1lbnQoJ2NsYXNzbmFtZScsIG1ldGF2YXI9J2NsYXNzbmFtZScsIG5hcmdz
PSc/JywKICAgICAgICAgaGVscD0nbmFtZSBvZiB0aGUgY2xhc3Mgb3Igc3RydWN0IHRvIGR1bXAn
KQogCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLWInLCAnLS1idWlsZC1kaXJlY3RvcnknLCBk
ZXN0PSdidWlsZF9kaXJlY3RvcnknLCBhY3Rpb249J3N0b3JlJywKQEAgLTY2LDYgKzY2LDkgQEAg
ZGVmIG1haW4oKToKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctdCcsICctLXRhcmdldC1wYXRo
JywgZGVzdD0ndGFyZ2V0X3BhdGgnLCBhY3Rpb249J3N0b3JlJywKICAgICAgICAgaGVscD0nUGF0
aCB0byB0aGUgdGFyZ2V0JykKIAorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy13JywgJy0tYWxs
LXdhc3RlZnVsJywgZGVzdD0nYWxsX3dhc3RlZnVsJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAg
ICAgICAgaGVscD0nRXhjbHVzaXZlIHdpdGggY2xhc3NuYW1lLCBkdW1wcyB0aGUgbGF5b3V0IG9m
IGFsbCBjbGFzc2VzIHdpdGggYXQgbGVhc3QgOCBieXRlcyBvZiBwYWRkaW5nIGF0IHRoZSB0b3At
bGV2ZWwnKQorCiAgICAgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKICAgICBidWlsZF9kaXIg
PSB3ZWJraXRfYnVpbGRfZGlyKCkKIApAQCAtODEsOSArODQsMTQgQEAgZGVmIG1haW4oKToKICAg
ICAgICAgdGFyZ2V0X3BhdGggPSBvcy5wYXRoLmpvaW4oYnVpbGRfZGlyLCBhcmdzLmNvbmZpZywg
YXJncy5mcmFtZXdvcmsgKyAiLmZyYW1ld29yayIsIGFyZ3MuZnJhbWV3b3JrKTsKICAgICAKICAg
ICBsbGRiX2luc3RhbmNlID0gTExEQkRlYnVnZ2VySW5zdGFuY2UodGFyZ2V0X3BhdGgsIGFyZ3Mu
YXJjaCkKLSAgICBjbGFzc19sYXlvdXQgPSBsbGRiX2luc3RhbmNlLmxheW91dF9mb3JfY2xhc3Nu
YW1lKGFyZ3MuY2xhc3NuYW1lKQotICAgIGNsYXNzX2xheW91dC5kdW1wKCkKLQorICAgIGlmIGFy
Z3MuYWxsX3dhc3RlZnVsIGFuZCAoYXJncy5jbGFzc25hbWUgaXMgbm90IE5vbmUpOgorICAgICAg
ICBwcmludCAiVGhlIC13Ly0tYWxsLXdhc3RlZnVsIG9wdGlvbiBpcyBpbmNvbXBhdGlibGUgd2l0
aCBwcm92aWRpbmcgYSBjbGFzcyBuYW1lIgorICAgIGVsaWYgYXJncy5hbGxfd2FzdGVmdWw6Cisg
ICAgICAgIGxsZGJfaW5zdGFuY2UuZHVtcF9hbGxfd2FzdGVmdWxfbGF5b3V0cygpCisgICAgZWxp
ZiBhcmdzLmNsYXNzbmFtZSBpcyBub3QgTm9uZToKKyAgICAgICAgbGxkYl9pbnN0YW5jZS5kdW1w
X2xheW91dF9mb3JfY2xhc3NuYW1lKGFyZ3MuY2xhc3NuYW1lKQorICAgIGVsc2U6CisgICAgICAg
IHByaW50ICJZb3UgbXVzdCBlaXRoZXIgcHJvdmlkZSBhIGNsYXNzIG5hbWUgb3IgdGhlIC13Ly0t
YWxsLXdhc3RlZnVsIG9wdGlvbiIKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICBt
YWluKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL2xsZGIvbGxkYl9kdW1wX2NsYXNzX2xheW91dC5weSBi
L1Rvb2xzL2xsZGIvbGxkYl9kdW1wX2NsYXNzX2xheW91dC5weQppbmRleCAzYmViZjhmZWQ0Mzlj
OTZhNTA0YzNkZDE4ZmJiYmQxZjkzNzc5MWEwLi45Y2YwNTE0YTk4N2QwZmZlOTBmZTIwZDU1OWM1
ODFkMjE3MGQxZjAxIDEwMDc1NQotLS0gYS9Ub29scy9sbGRiL2xsZGJfZHVtcF9jbGFzc19sYXlv
dXQucHkKKysrIGIvVG9vbHMvbGxkYi9sbGRiX2R1bXBfY2xhc3NfbGF5b3V0LnB5CkBAIC0xNDUs
NiArMTQ1LDcgQEAgZGVmIF9faW5pdF9fKHNlbGYsIHRhcmdldCwgdHlwZSwgY29udGFpbmVyQ2xh
c3M9Tm9uZSwgZGVyaXZlZENsYXNzPU5vbmUpOgogICAgICAgICBzZWxmLnRvdGFsX2J5dGVfc2l6
ZSA9IHNlbGYudHlwZS5HZXRCeXRlU2l6ZSgpCiAgICAgICAgIHNlbGYucG9pbnRlcl9zaXplID0g
c2VsZi50YXJnZXQuR2V0QWRkcmVzc0J5dGVTaXplKCkKICAgICAgICAgc2VsZi50b3RhbF9wYWRf
Ynl0ZXMgPSAwCisgICAgICAgIHNlbGYudG9wX2xldmVsX3BhZF9ieXRlcyA9IDAKICAgICAgICAg
c2VsZi5kYXRhX21lbWJlcnMgPSBbXQogICAgICAgICBzZWxmLnZpcnR1YWxfYmFzZV9jbGFzc2Vz
ID0gc2VsZi5fdmlydHVhbF9iYXNlX2NsYXNzZXNfZGljdGlvbmFyeSgpCiAgICAgICAgIHNlbGYu
X3BhcnNlKGNvbnRhaW5lckNsYXNzLCBkZXJpdmVkQ2xhc3MpCkBAIC0zMTksNiArMzIwLDggQEAg
ZGVmIF9jb21wdXRlX3BhZGRpbmdfcmVjdXJzaXZlKHNlbGYsIHRvdGFsX29mZnNldD0wLCBkZXB0
aD0wLCBjb250YWluZXJDbGFzcz1Ob24KIAogICAgICAgICAgICAgICAgICAgICBzZWxmLmRhdGFf
bWVtYmVycy5pbnNlcnQoaSwgcGFkZGluZ19tZW1iZXIpCiAgICAgICAgICAgICAgICAgICAgIHBh
ZGRpbmdfYnl0ZXMgKz0gcGFkZGluZ19zaXplCisgICAgICAgICAgICAgICAgICAgIGlmIGRlcHRo
ID09IDAgYW5kIHBhZGRpbmdfc2l6ZSA8IDg6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxm
LnRvcF9sZXZlbF9wYWRfYnl0ZXMgKz0gcGFkZGluZ19zaXplCiAgICAgICAgICAgICAgICAgICAg
IGkgKz0gMQogCiAgICAgICAgICAgICAgICAgaWYgc2VsZi5NRU1CRVJfSVNfQklURklFTEQgaW4g
ZGF0YV9tZW1iZXI6CkBAIC0zNjQsNiArMzY3LDcgQEAgZGVmIF9jb21wdXRlX3BhZGRpbmdfcmVj
dXJzaXZlKHNlbGYsIHRvdGFsX29mZnNldD0wLCBkZXB0aD0wLCBjb250YWluZXJDbGFzcz1Ob24K
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgc2VsZi5kYXRhX21lbWJlcnMuYXBw
ZW5kKHBhZGRpbmdfbWVtYmVyKQogICAgICAgICAgICAgICAgIHBhZGRpbmdfYnl0ZXMgKz0gcGFk
ZGluZ19zaXplCisgICAgICAgICAgICAgICAgc2VsZi50b3BfbGV2ZWxfcGFkX2J5dGVzICs9IHBh
ZGRpbmdfc2l6ZQogCiAgICAgICAgIHJldHVybiBbcGFkZGluZ19ieXRlcywgY3VycmVudF9vZmZz
ZXRdCiAKQEAgLTQxMSwxMSArNDE1LDU0IEBAIGRlZiBfZ2V0X2ZpcnN0X2ZpbGVfYXJjaGl0ZWN0
dXJlKHNlbGYpOgogCiAgICAgICAgIHJldHVybiBsbGRiLkxMREJfQVJDSF9ERUZBVUxUCiAKLSAg
ICBkZWYgbGF5b3V0X2Zvcl9jbGFzc25hbWUoc2VsZiwgY2xhc3NuYW1lKToKLSAgICAgICAgdHlw
ZXMgPSBzZWxmLm1vZHVsZS5GaW5kVHlwZXMoY2xhc3NuYW1lKQotICAgICAgICBpZiB0eXBlcy5H
ZXRTaXplKCk6Ci0gICAgICAgICAgICAjIFRoZXJlIGNhbiBiZSBtb3JlIHRoYXQgb25lIHR5cGUg
d2l0aCBhIGdpdmVuIG5hbWUsIGJ1dCBmb3Igbm93IGp1c3QgcmV0dXJuIHRoZSBmaXJzdCBvbmUu
Ci0gICAgICAgICAgICByZXR1cm4gQ2xhc3NMYXlvdXQoc2VsZi50YXJnZXQsIHR5cGVzLkdldFR5
cGVBdEluZGV4KDApKQorICAgIGRlZiBpc19pbl9pc29oZWFwKHNlbGYsIHR5cGUpOgorICAgICAg
ICByZXR1cm4gc2VsZi5tb2R1bGUuRmluZFR5cGVzKCI6OmJtYWxsb2M6OmFwaTo6SXNvSGVhcDwl
cz4iICUgKHR5cGUuR2V0Q2Fub25pY2FsVHlwZSgpLkdldE5hbWUoKSkpLkdldFNpemUoKQorCisg
ICAgZGVmIGlzX2Rlcml2ZWRfY2xhc3NfZnJvbV9zY3JpcHRfd3JhcHBhYmxlKHNlbGYsIHR5cGUp
OgorICAgICAgICBzY3JpcHRXcmFwcGFibGVUeXBlID0gc2VsZi5tb2R1bGUuRmluZEZpcnN0VHlw
ZSgiV2ViQ29yZTo6U2NyaXB0V3JhcHBhYmxlIikuR2V0Q2Fub25pY2FsVHlwZSgpCisgICAgICAg
IG51bV9iYXNlX2NsYXNzZXMgPSAwCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG51bV9iYXNl
X2NsYXNzZXMgPSB0eXBlLkdldE51bWJlck9mRGlyZWN0QmFzZUNsYXNzZXMoKQorICAgICAgICBl
eGNlcHQ6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAotICAgICAgICBwcmludCAnZXJyb3I6
IG5vIHR5cGUgbWF0Y2hlcyAiJXMiIGluICIlcyInICUgKGNsYXNzbmFtZSwgc2VsZi5tb2R1bGUu
ZmlsZSkKLSAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UobnVtX2Jh
c2VfY2xhc3Nlcyk6CisgICAgICAgICAgICBiYXNlX2NsYXNzID0gdHlwZS5HZXREaXJlY3RCYXNl
Q2xhc3NBdEluZGV4KGkpLkdldFR5cGUoKS5HZXRDYW5vbmljYWxUeXBlKCkKKyAgICAgICAgICAg
IGlmIGJhc2VfY2xhc3MgPT0gc2NyaXB0V3JhcHBhYmxlVHlwZToKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gVHJ1ZQorICAgICAgICAgICAgaWYgc2VsZi5pc19kZXJpdmVkX2NsYXNzX2Zyb21fc2Ny
aXB0X3dyYXBwYWJsZShiYXNlX2NsYXNzKToKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQor
ICAgICAgICByZXR1cm4gRmFsc2UKKworICAgIGRlZiBkdW1wX2xheW91dF9mb3JfY2xhc3NuYW1l
KHNlbGYsIGNsYXNzbmFtZSk6CisgICAgICAgIHR5cGVzID0gc2VsZi5tb2R1bGUuRmluZFR5cGVz
KGNsYXNzbmFtZSkKKyAgICAgICAgaWYgbm90IHR5cGVzLkdldFNpemUoKToKKyAgICAgICAgICAg
IHByaW50ICdlcnJvcjogbm8gdHlwZSBtYXRjaGVzICIlcyIgaW4gIiVzIicgJSAoY2xhc3NuYW1l
LCBzZWxmLm1vZHVsZS5maWxlKQorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgZm9y
IHQgaW4gdHlwZXM6CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5pc19pbl9pc29oZWFwKHQpOgor
ICAgICAgICAgICAgICAgIHByaW50ICJOb3QgaW4gSXNvSGVhcCIKKyAgICAgICAgICAgIGlmIG5v
dCBzZWxmLmlzX2Rlcml2ZWRfY2xhc3NfZnJvbV9zY3JpcHRfd3JhcHBhYmxlKHQpOgorICAgICAg
ICAgICAgICAgIHByaW50ICJOb3QgdW5kZXIgU2NyaXB0V3JhcHBhYmxlIgorICAgICAgICAgICAg
Q2xhc3NMYXlvdXQoc2VsZi50YXJnZXQsIHQpLmR1bXAoKQorCisgICAgICAgIHR5cGVzID0gc2Vs
Zi5tb2R1bGUuR2V0VHlwZXMobGxkYi5lVHlwZUNsYXNzQ2xhc3MgfCBsbGRiLmVUeXBlQ2xhc3NT
dHJ1Y3QpCisgICAgICAgIHNlZW5UeXBlcyA9IHNldCgpCisgICAgICAgIGZvciB0IGluIHR5cGVz
OgorICAgICAgICAgICAgaWYgdC5HZXROYW1lKCkgaW4gc2VlblR5cGVzOgorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCisgICAgICAgICAgICBzZWVuVHlwZXMuYWRkKHQuR2V0TmFtZSgpKQorICAg
ICAgICAgICAgaWYgbm90IHNlbGYuaXNfaW5faXNvaGVhcCh0KSBhbmQgc2VsZi5pc19kZXJpdmVk
X2NsYXNzX2Zyb21fc2NyaXB0X3dyYXBwYWJsZSh0KToKKyAgICAgICAgICAgICAgICBwcmludCB0
LkdldENhbm9uaWNhbFR5cGUoKS5HZXROYW1lKCk7CisKKyAgICBkZWYgZHVtcF9hbGxfd2FzdGVm
dWxfbGF5b3V0cyhzZWxmKToKKyAgICAgICAgdHlwZXMgPSBzZWxmLm1vZHVsZS5HZXRUeXBlcyhs
bGRiLmVUeXBlQ2xhc3NDbGFzcyB8IGxsZGIuZVR5cGVDbGFzc1N0cnVjdCkKKyAgICAgICAgc2Vl
blR5cGVzID0gc2V0KCkKKyAgICAgICAgZm9yIHQgaW4gdHlwZXM6CisgICAgICAgICAgICBpZiB0
LkdldE5hbWUoKSBpbiBzZWVuVHlwZXM6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAg
ICAgICAgIHNlZW5UeXBlcy5hZGQodC5HZXROYW1lKCkpCisgICAgICAgICAgICBjbGFzc0xheW91
dCA9IENsYXNzTGF5b3V0KHNlbGYudGFyZ2V0LCB0KQorICAgICAgICAgICAgaWYgY2xhc3NMYXlv
dXQudG9wX2xldmVsX3BhZF9ieXRlcyA+PSA4OgorICAgICAgICAgICAgICAgIGNsYXNzTGF5b3V0
LmR1bXAoKQorICAgICAgICAgICAgICAgIHByaW50ICIiCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>