diff --git a/dist/changes-5.9.1 b/dist/changes-5.9.1
new file mode 100644
index 0000000000000000000000000000000000000000..d8ae779d423e3bcdefab2d0ec0d4d5ecfe2b47b2
--- /dev/null
+++ b/dist/changes-5.9.1
@@ -0,0 +1,67 @@
+Qt 5.9.1 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.9.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+http://doc.qt.io/qt-5/index.html
+
+The Qt version 5.9 series is binary compatible with the 5.8.x series.
+Applications compiled for 5.8 will continue to run with 5.9.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+*                          Library                                         *
+****************************************************************************
+
+QtBluetooth
+-----------
+
+ - Fixed several compiler warnings through the code base adopting new compilers
+   such as GCC 7.
+ - Added better documentation of GPL license usage via sdpscanner on BLueZ.
+   The GPL license usage is limited to separate process and does not taint
+   QtBluetooth users.
+ - Added limitation to do classic device discovery only inside
+   QBLuetoothServiceDiscoveryAgent. Prior to this change
+   QBLuetoothServiceDiscoveryAgent always performed a search for Low Energy
+   devices too. This is not necessary and reduces the time for SDP
+   discoveries.
+
+****************************************************************************
+*                      Platform Specific Changes                           *
+****************************************************************************
+
+Android
+-------
+
+ - [QTBUG-61392] Added workaround for swapped uuids obtained when doing SDP
+   discovery on Android 6.0.1 or later systems.
+ - Removed workaround for QBluetoothSocket that uses the private
+   BluetoothDevice.getServiceChannel() API from Android 6.0+ platforms.
+   The private API was removed in Android 6.0.
+ - [QTBUG-61321] Added code handler to catch BluetoothGatt.GATT_FAILURE.
+ - Fixed an issue where a QBLuetoothServiceDiscoveryAgent run would fail
+   to find any service because the last device for which the service discovery
+   was done failed.
+
+Linux/Bluez
+-----------
+
+ - [QTBUG-58941] Fixed failure to re-advertise peripheral after
+   QLowEnergyController disconnect and restart.
+ - [QTBUG-55150] Fixed handling of concurrent BTLE connections via QtBluetooth
+   and for example BlueZ tools like bluetoothctl. There can only be one connection
+   at a given time. Under the new behavior the current process closes every
+   BTLE connection not managed by itself.
+ - Fixed buffer overrun when handling GATT Blob read requests.
+ - [QTBUG-46776] Added code to detect whether a found Bluetooth address is random
+   or public. The standard BlueZ DBus interface does not expose this flag.
+   This requires CAP_NET_ADMIN permissions though.
diff --git a/examples/bluetooth/btchat/btchat.pro b/examples/bluetooth/btchat/btchat.pro
index 08fdd4a7d6398ff18bcb1ac156ca66beebe3dadb..6ecae4c77a726e71a550452816942a7921e9c91a 100644
--- a/examples/bluetooth/btchat/btchat.pro
+++ b/examples/bluetooth/btchat/btchat.pro
@@ -2,6 +2,7 @@ TEMPLATE = app
 TARGET = btchat
 
 QT = core bluetooth widgets
+android: QT += androidextras
 
 SOURCES = \
     main.cpp \
diff --git a/examples/bluetooth/btchat/chat.cpp b/examples/bluetooth/btchat/chat.cpp
index 51a2d4ed65e87225c853f7349cbbbb29e16f4a1d..929a42e469494a8d154e5c507acfc2b5b39e9539 100644
--- a/examples/bluetooth/btchat/chat.cpp
+++ b/examples/bluetooth/btchat/chat.cpp
@@ -49,11 +49,18 @@
 #include <qbluetoothdeviceinfo.h>
 #include <qbluetoothlocaldevice.h>
 
+#ifdef Q_OS_ANDROID
+#include <QtAndroidExtras/QtAndroid>
+#endif
+
 #include <QTimer>
 
 #include <QDebug>
 
 static const QLatin1String serviceUuid("e8e10f95-1a70-4b27-9ccf-02010264e9c8");
+#ifdef Q_OS_ANDROID
+static const QLatin1String reverseUuid("c8e96402-0102-cf9c-274b-701a950fe1e8");
+#endif
 
 Chat::Chat(QWidget *parent)
     : QDialog(parent),  currentAdapterIndex(0), ui(new Ui_Chat)
@@ -170,7 +177,14 @@ void Chat::connectClicked()
                                            localAdapters.at(currentAdapterIndex).address();
 
     RemoteSelector remoteSelector(adapter);
+#ifdef Q_OS_ANDROID
+    if (QtAndroid::androidSdkVersion() >= 23)
+        remoteSelector.startDiscovery(QBluetoothUuid(reverseUuid));
+    else
+        remoteSelector.startDiscovery(QBluetoothUuid(serviceUuid));
+#else
     remoteSelector.startDiscovery(QBluetoothUuid(serviceUuid));
+#endif
     if (remoteSelector.exec() == QDialog::Accepted) {
         QBluetoothServiceInfo service = remoteSelector.service();
 
diff --git a/examples/bluetooth/btchat/main.cpp b/examples/bluetooth/btchat/main.cpp
index bb8627987c2281b79d693f6f4330aea69ac24333..50e682e745e936e856a744ec3f8bf15055514f13 100644
--- a/examples/bluetooth/btchat/main.cpp
+++ b/examples/bluetooth/btchat/main.cpp
@@ -51,7 +51,11 @@ int main(int argc, char *argv[])
     Chat d;
     QObject::connect(&d, SIGNAL(accepted()), &app, SLOT(quit()));
 
+#ifdef Q_OS_ANDROID
+    d.showMaximized();
+#else
     d.show();
+#endif
 
     app.exec();
 
diff --git a/examples/bluetooth/chat/Search.qml b/examples/bluetooth/chat/Search.qml
index f1f8f6ac11e9f16af2abb6909e8caf527cfeb256..ea5424628e934180aa4477c2f3873e08482fa256 100644
--- a/examples/bluetooth/chat/Search.qml
+++ b/examples/bluetooth/chat/Search.qml
@@ -46,6 +46,9 @@ Rectangle {
     function appendText(newText) {
         searchText.text += newText
     }
+    function setText(newText) {
+        searchText.text = newText
+    }
 
     width: searchText.width + 40;
     height: searchText.height + bluetoothImage.height + 40;
diff --git a/examples/bluetooth/chat/chat.pro b/examples/bluetooth/chat/chat.pro
index 7bc5c8bd23ec52e099c0eb4827fb4f455676e8f9..36d815f97b336826df4e032b648c4c9eaa7eabfc 100644
--- a/examples/bluetooth/chat/chat.pro
+++ b/examples/bluetooth/chat/chat.pro
@@ -1,4 +1,5 @@
 QT = core bluetooth quick
+android: QT += androidextras #see QTBUG-61392
 SOURCES += qmlchat.cpp
 
 TARGET = qml_chat
diff --git a/examples/bluetooth/chat/chat.qml b/examples/bluetooth/chat/chat.qml
index ecac39fceb89fc3940515ddae6c22fb9c93dfd2f..eee2978933c050d16e21bbfe79bd0a1640cd9797 100644
--- a/examples/bluetooth/chat/chat.qml
+++ b/examples/bluetooth/chat/chat.qml
@@ -53,7 +53,7 @@ Item {
     BluetoothDiscoveryModel {
         id: btModel
         running: true
-        discoveryMode: BluetoothDiscoveryModel.MinimalServiceDiscovery
+        discoveryMode: BluetoothDiscoveryModel.FullServiceDiscovery
     //! [BtDiscoveryModel-1]
         onRunningChanged : {
             if (!btModel.running && top.state == "begin" && !serviceFound) {
@@ -81,7 +81,7 @@ Item {
         }
     //! [BtDiscoveryModel-2]
     //! [BtDiscoveryModel-3]
-        uuidFilter: "e8e10f95-1a70-4b27-9ccf-02010264e9c8"
+        uuidFilter: targetUuid //e8e10f95-1a70-4b27-9ccf-02010264e9c8
     }
     //! [BtDiscoveryModel-3]
 
@@ -91,8 +91,24 @@ Item {
         connected: true
 
         onSocketStateChanged: {
-            console.log("Connected to server")
-            top.state = "chatActive"
+            switch (socketState) {
+                case BluetoothSocket.Unconnected:
+                case BluetoothSocket.NoServiceSet:
+                    searchBox.animationRunning = false;
+                    searchBox.setText("\nNo connection. \n\nPlease restart app.");
+                    top.state = "begin";
+                    break;
+                case BluetoothSocket.Connected:
+                    console.log("Connected to server ");
+                    top.state = "chatActive"; // move to chat UI
+                    break;
+                case BluetoothSocket.Connecting:
+                case BluetoothSocket.ServiceLookup:
+                case BluetoothSocket.Closing:
+                case BluetoothSocket.Listening:
+                case BluetoothSocket.Bound:
+                    break;
+            }
         }
     //! [BluetoothSocket-1]
     //! [BluetoothSocket-3]
@@ -107,6 +123,7 @@ Item {
         }
     //! [BluetoothSocket-4]
     //! [BluetoothSocket-2]
+        //...
     }
     //! [BluetoothSocket-2]
 
diff --git a/examples/bluetooth/chat/doc/src/chat.qdoc b/examples/bluetooth/chat/doc/src/chat.qdoc
index 4b5e8778367f5829b80870ee2b449be0cbf01583..e32a7a32322c6977c69707cdbf6bd5aa8ff262ac 100644
--- a/examples/bluetooth/chat/doc/src/chat.qdoc
+++ b/examples/bluetooth/chat/doc/src/chat.qdoc
@@ -69,7 +69,7 @@
     of the Bluetooth device offering the chat server. It is passed to the \l BluetoothSocket
     to establish the connection.
 
-    Once the connection is established the chat information is:
+    Once the connection is established the socket's state is managed as follows:
     \snippet chat/chat.qml BluetoothSocket-1
     \snippet chat/chat.qml BluetoothSocket-2
 
diff --git a/examples/bluetooth/chat/qmlchat.cpp b/examples/bluetooth/chat/qmlchat.cpp
index 8cd90bda2ab4610cbded6d61f1f9b01692cbaa2a..c6ff63413217ffe5fdc5f3715e313ac4e0792ce7 100644
--- a/examples/bluetooth/chat/qmlchat.cpp
+++ b/examples/bluetooth/chat/qmlchat.cpp
@@ -44,9 +44,14 @@
 #include <QtQml/QQmlContext>
 #include <QDebug>
 #include <QBluetoothLocalDevice>
+#include <QtCore/QLoggingCategory>
+#ifdef Q_OS_ANDROID
+#include <QtAndroidExtras/QtAndroid>
+#endif
 
 int main(int argc, char *argv[])
 {
+    //QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true"));
     QGuiApplication application(argc, argv);
 
     QList<QBluetoothHostInfo> infos = QBluetoothLocalDevice::allDevices();
@@ -56,6 +61,19 @@ int main(int argc, char *argv[])
 
     const QString mainQmlApp = QLatin1String("qrc:/chat.qml");
     QQuickView view;
+
+#ifdef Q_OS_ANDROID
+    //workaround for Android's SDP discovery bug (see QTBUG-61392)
+    QString uuid;
+    if (QtAndroid::androidSdkVersion() >= 23)
+        uuid = QStringLiteral("c8e96402-0102-cf9c-274b-701a950fe1e8");
+    else
+        uuid = QStringLiteral("e8e10f95-1a70-4b27-9ccf-02010264e9c8");
+#else
+    const QString uuid(QStringLiteral("e8e10f95-1a70-4b27-9ccf-02010264e9c8"));
+#endif
+
+    view.engine()->rootContext()->setContextProperty(QStringLiteral("targetUuid"), uuid);
     view.setSource(QUrl(mainQmlApp));
     view.setResizeMode(QQuickView::SizeRootObjectToView);
     // Qt.quit() called in embedded .qml by default only emits
diff --git a/examples/bluetooth/lowenergyscanner/device.cpp b/examples/bluetooth/lowenergyscanner/device.cpp
index 28a051f5b87489bf6f921b21d1f1d1b0d4de98ae..0275c43520c001df589e7e3cf246b705a77a0ec8 100644
--- a/examples/bluetooth/lowenergyscanner/device.cpp
+++ b/examples/bluetooth/lowenergyscanner/device.cpp
@@ -55,11 +55,11 @@ Device::Device():
     //! [les-devicediscovery-1]
     discoveryAgent = new QBluetoothDeviceDiscoveryAgent();
     discoveryAgent->setLowEnergyDiscoveryTimeout(5000);
-    connect(discoveryAgent, SIGNAL(deviceDiscovered(const QBluetoothDeviceInfo&)),
-            this, SLOT(addDevice(const QBluetoothDeviceInfo&)));
-    connect(discoveryAgent, SIGNAL(error(QBluetoothDeviceDiscoveryAgent::Error)),
-            this, SLOT(deviceScanError(QBluetoothDeviceDiscoveryAgent::Error)));
-    connect(discoveryAgent, SIGNAL(finished()), this, SLOT(deviceScanFinished()));
+    connect(discoveryAgent, &QBluetoothDeviceDiscoveryAgent::deviceDiscovered,
+            this, &Device::addDevice);
+    connect(discoveryAgent, QOverload<QBluetoothDeviceDiscoveryAgent::Error>::of(&QBluetoothDeviceDiscoveryAgent::error),
+            this, &Device::deviceScanError);
+    connect(discoveryAgent, &QBluetoothDeviceDiscoveryAgent::finished, this, &Device::deviceScanFinished);
     //! [les-devicediscovery-1]
 
     setUpdate("Search");
@@ -169,16 +169,16 @@ void Device::scanServices(const QString &address)
     if (!controller) {
         // Connecting signals and slots for connecting to LE services.
         controller = new QLowEnergyController(currentDevice.getDevice());
-        connect(controller, SIGNAL(connected()),
-                this, SLOT(deviceConnected()));
-        connect(controller, SIGNAL(error(QLowEnergyController::Error)),
-                this, SLOT(errorReceived(QLowEnergyController::Error)));
-        connect(controller, SIGNAL(disconnected()),
-                this, SLOT(deviceDisconnected()));
-        connect(controller, SIGNAL(serviceDiscovered(QBluetoothUuid)),
-                this, SLOT(addLowEnergyService(QBluetoothUuid)));
-        connect(controller, SIGNAL(discoveryFinished()),
-                this, SLOT(serviceScanDone()));
+        connect(controller, &QLowEnergyController::connected,
+                this, &Device::deviceConnected);
+        connect(controller, QOverload<QLowEnergyController::Error>::of(&QLowEnergyController::error),
+                this, &Device::errorReceived);
+        connect(controller, &QLowEnergyController::disconnected,
+                this, &Device::deviceDisconnected);
+        connect(controller, &QLowEnergyController::serviceDiscovered,
+                this, &Device::addLowEnergyService);
+        connect(controller, &QLowEnergyController::discoveryFinished,
+                this, &Device::serviceScanDone);
     }
 
     if (isRandomAddress())
@@ -235,8 +235,8 @@ void Device::connectToService(const QString &uuid)
 
     if (service->state() == QLowEnergyService::DiscoveryRequired) {
         //! [les-service-3]
-        connect(service, SIGNAL(stateChanged(QLowEnergyService::ServiceState)),
-                this, SLOT(serviceDetailsDiscovered(QLowEnergyService::ServiceState)));
+        connect(service, &QLowEnergyService::stateChanged,
+                this, &Device::serviceDetailsDiscovered);
         service->discoverDetails();
         setUpdate("Back\n(Discovering details...)");
         //! [les-service-3]
@@ -250,7 +250,7 @@ void Device::connectToService(const QString &uuid)
         m_characteristics.append(cInfo);
     }
 
-    QTimer::singleShot(0, this, SIGNAL(characteristicsUpdated()));
+    QTimer::singleShot(0, this, &Device::characteristicsUpdated);
 }
 
 void Device::deviceConnected()
diff --git a/examples/bluetooth/pingpong/assets/Dialog.qml b/examples/bluetooth/pingpong/assets/Dialog.qml
index 2a33271597884c4d20b7881aff1db27721a01f2a..53be3eaab0146e865a7fc97841e19a458dc10498 100644
--- a/examples/bluetooth/pingpong/assets/Dialog.qml
+++ b/examples/bluetooth/pingpong/assets/Dialog.qml
@@ -42,7 +42,7 @@ import QtQuick 2.0
 
 Rectangle {
     width: parent.width/2
-    height: 100
+    height: message.implicitHeight*2
     z: 50
     border.width: 2
     border.color: "#363636"
diff --git a/examples/bluetooth/pingpong/assets/Menu.qml b/examples/bluetooth/pingpong/assets/Menu.qml
index b7516262f10f0b0cb5742dc64db6d64453eecd17..09eabb364d327150b97ae88974ebd4618141cec4 100644
--- a/examples/bluetooth/pingpong/assets/Menu.qml
+++ b/examples/bluetooth/pingpong/assets/Menu.qml
@@ -47,17 +47,18 @@ Rectangle {
 
     Rectangle {
         width: parent.width
-        height: 70
+        height: headerText.implicitHeight *1.2
         border.width: 1
         border.color: "#363636"
         radius: 5
 
         Text {
+            id: headerText
             horizontalAlignment: Text.AlignHCenter
             verticalAlignment: Text.AlignVCenter
             anchors.fill: parent
             text: "Welcome to PingPong Game \n Please select an option"
-            font.pixelSize: 20
+            font.pointSize: 20
             elide: Text.ElideMiddle
             color: "#363636"
         }
@@ -67,10 +68,11 @@ Rectangle {
         id: startServer
         anchors.centerIn: parent
         width: parent.width/2
-        height: parent.height/5
+        height: startServerText.implicitHeight*5
         color: "#363636"
 
         Text {
+            id: startServerText
             horizontalAlignment: Text.AlignHCenter
             verticalAlignment: Text.AlignVCenter
             anchors.fill: parent
@@ -95,10 +97,11 @@ Rectangle {
         anchors.top: startServer.bottom
         anchors.topMargin: 10
         width: parent.width/2
-        height: parent.height/5
+        height: startClientText.implicitHeight*5
         color: "#363636"
 
         Text {
+            id: startClientText
             horizontalAlignment: Text.AlignHCenter
             verticalAlignment: Text.AlignVCenter
             anchors.fill: parent
diff --git a/examples/bluetooth/pingpong/main.cpp b/examples/bluetooth/pingpong/main.cpp
index d2a84440b82a2b7eab8b8001a7252714628967af..b6430248e9faf219d6ffb61f5ede637f62f7d87a 100644
--- a/examples/bluetooth/pingpong/main.cpp
+++ b/examples/bluetooth/pingpong/main.cpp
@@ -41,10 +41,13 @@
 #include <QQmlContext>
 #include <QGuiApplication>
 #include <QQmlApplicationEngine>
+#include <QLoggingCategory>
 #include "pingpong.h"
 
+
 int main(int argc, char *argv[])
 {
+    //QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true"));
     QGuiApplication app(argc, argv);
     PingPong pingPong;
     QQmlApplicationEngine engine;
diff --git a/examples/bluetooth/pingpong/pingpong.cpp b/examples/bluetooth/pingpong/pingpong.cpp
index ab6ba8c724dab387fac26a849be6a55276c9715d..d893f64c569dd0a06c16380d654fc13deabd22c5 100644
--- a/examples/bluetooth/pingpong/pingpong.cpp
+++ b/examples/bluetooth/pingpong/pingpong.cpp
@@ -40,13 +40,16 @@
 
 #include "pingpong.h"
 #include <QDebug>
+#ifdef Q_OS_ANDROID
+#include <QtAndroid>
+#endif
 
 PingPong::PingPong():
     m_serverInfo(0), socket(0), discoveryAgent(0), interval(5), m_resultLeft(0), m_resultRight(0),
     m_showDialog(false), m_role(0), m_proportionX(0), m_proportionY(0), m_serviceFound(false)
 {
     m_timer = new QTimer(this);
-    connect(m_timer, SIGNAL(timeout()), this, SLOT(update()));
+    connect(m_timer, &QTimer::timeout, this, &PingPong::update);
 }
 
 PingPong::~PingPong()
@@ -230,9 +233,10 @@ void PingPong::startServer()
     setMessage(QStringLiteral("Starting the server"));
     //! [Starting the server]
     m_serverInfo = new QBluetoothServer(QBluetoothServiceInfo::RfcommProtocol, this);
-    connect(m_serverInfo, SIGNAL(newConnection()), this, SLOT(clientConnected()));
-    connect(m_serverInfo, SIGNAL(error(QBluetoothServer::Error)),
-            this, SLOT(serverError(QBluetoothServer::Error)));
+    connect(m_serverInfo, &QBluetoothServer::newConnection,
+            this, &PingPong::clientConnected);
+    connect(m_serverInfo, QOverload<QBluetoothServer::Error>::of(&QBluetoothServer::error),
+            this, &PingPong::serverError);
     const QBluetoothUuid uuid(serviceUuid);
 
     m_serverInfo->listen(uuid, QStringLiteral("PingPong server"));
@@ -248,13 +252,22 @@ void PingPong::startClient()
     //! [Searching for the service]
     discoveryAgent = new QBluetoothServiceDiscoveryAgent(QBluetoothAddress());
 
-    connect(discoveryAgent, SIGNAL(serviceDiscovered(QBluetoothServiceInfo)),
-            this, SLOT(addService(QBluetoothServiceInfo)));
-    connect(discoveryAgent, SIGNAL(finished()), this, SLOT(done()));
-    connect(discoveryAgent, SIGNAL(error(QBluetoothServiceDiscoveryAgent::Error)),
-            this, SLOT(serviceScanError(QBluetoothServiceDiscoveryAgent::Error)));
+    connect(discoveryAgent, &QBluetoothServiceDiscoveryAgent::serviceDiscovered,
+            this, &PingPong::addService);
+    connect(discoveryAgent, &QBluetoothServiceDiscoveryAgent::finished,
+            this, &PingPong::done);
+    connect(discoveryAgent, QOverload<QBluetoothServiceDiscoveryAgent::Error>::of(&QBluetoothServiceDiscoveryAgent::error),
+            this, &PingPong::serviceScanError);
+#ifdef Q_OS_ANDROID //see QTBUG-61392
+    if (QtAndroid::androidSdkVersion() >= 23)
+        discoveryAgent->setUuidFilter(QBluetoothUuid(androidUuid));
+    else
+        discoveryAgent->setUuidFilter(QBluetoothUuid(serviceUuid));
+#else
     discoveryAgent->setUuidFilter(QBluetoothUuid(serviceUuid));
+#endif
     discoveryAgent->start(QBluetoothServiceDiscoveryAgent::FullDiscovery);
+
     //! [Searching for the service]
     setMessage(QStringLiteral("Starting server discovery. You are the right player"));
     // m_role is set to 2 if it is a client
@@ -273,10 +286,13 @@ void PingPong::clientConnected()
     if (!socket)
         return;
     socket->setParent(this);
-    connect(socket, SIGNAL(readyRead()), this, SLOT(readSocket()));
-    connect(socket, SIGNAL(disconnected()), this, SLOT(clientDisconnected()));
-    connect(socket, SIGNAL(error(QBluetoothSocket::SocketError)),
-            this, SLOT(socketError(QBluetoothSocket::SocketError)));
+    connect(socket, &QBluetoothSocket::readyRead,
+            this, &PingPong::readSocket);
+    connect(socket, &QBluetoothSocket::disconnected,
+            this, &PingPong::clientDisconnected);
+    connect(socket, QOverload<QBluetoothSocket::SocketError>::of(&QBluetoothSocket::error),
+            this, &PingPong::socketError);
+
     //! [Initiating server socket]
     setMessage(QStringLiteral("Client connected."));
 
@@ -323,9 +339,9 @@ void PingPong::addService(const QBluetoothServiceInfo &service)
     socket = new QBluetoothSocket(QBluetoothServiceInfo::RfcommProtocol);
     socket->connectToService(service);
 
-    connect(socket, SIGNAL(readyRead()), this, SLOT(readSocket()));
-    connect(socket, SIGNAL(connected()), this, SLOT(serverConnected()));
-    connect(socket, SIGNAL(disconnected()), this, SLOT(serverDisconnected()));
+    connect(socket, &QBluetoothSocket::readyRead, this, &PingPong::readSocket);
+    connect(socket, &QBluetoothSocket::connected, this, &PingPong::serverConnected);
+    connect(socket, &QBluetoothSocket::disconnected, this, &PingPong::serverDisconnected);
     //! [Connecting the socket]
     m_serviceFound = true;
 }
diff --git a/examples/bluetooth/pingpong/pingpong.h b/examples/bluetooth/pingpong/pingpong.h
index 650cd597ffc48f11304d30834287d1f5d97b971f..21c9ef1c8a021390c9be2574b3d0c6102e5a66a2 100644
--- a/examples/bluetooth/pingpong/pingpong.h
+++ b/examples/bluetooth/pingpong/pingpong.h
@@ -48,7 +48,8 @@
 #include <qbluetoothlocaldevice.h>
 #include <qbluetoothservicediscoveryagent.h>
 
-static const QString serviceUuid(QStringLiteral("e8e10f95-1a70-4b27-9ccf-02010264e9c9"));
+static QString serviceUuid(QStringLiteral("e8e10f95-1a70-4b27-9ccf-02010264e9c9"));
+static QString androidUuid(QStringLiteral("c9e96402-0102-cf9c-274b-701a950fe1e8"));
 
 class PingPong: public QObject
 {
diff --git a/examples/bluetooth/pingpong/pingpong.pro b/examples/bluetooth/pingpong/pingpong.pro
index 07675f274a15718283b1598d963518dd1c0842b5..aa79212e4b7f3169d4c35aa81a020f1d318c7421 100644
--- a/examples/bluetooth/pingpong/pingpong.pro
+++ b/examples/bluetooth/pingpong/pingpong.pro
@@ -2,6 +2,7 @@ TEMPLATE = app
 TARGET = pingpong
 
 QT += quick bluetooth
+android: QT += androidextras
 
 # Input
 SOURCES += main.cpp \
diff --git a/src/android/bluetooth/src/org/qtproject/qt5/android/bluetooth/QtBluetoothLE.java b/src/android/bluetooth/src/org/qtproject/qt5/android/bluetooth/QtBluetoothLE.java
index 35680c82a9aef0f868d592f459cdd22867d43f56..305359aac3e39c152c99bb7e37dca12216f657e0 100644
--- a/src/android/bluetooth/src/org/qtproject/qt5/android/bluetooth/QtBluetoothLE.java
+++ b/src/android/bluetooth/src/org/qtproject/qt5/android/bluetooth/QtBluetoothLE.java
@@ -187,6 +187,8 @@ public class QtBluetoothLE {
             switch (status) {
                 case BluetoothGatt.GATT_SUCCESS:
                     errorCode = 0; break; //QLowEnergyController::NoError
+                case BluetoothGatt.GATT_FAILURE: // Android's equivalent of "do not know what error it is"
+                    errorCode = 1; break; //QLowEnergyController::UnknownError
                 case 8:  // BLE_HCI_CONNECTION_TIMEOUT
                 case 22: // BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION
                     Log.w(TAG, "Connection Error: Try to delay connect() call after previous activity");
diff --git a/src/bluetooth/android/devicediscoverybroadcastreceiver.cpp b/src/bluetooth/android/devicediscoverybroadcastreceiver.cpp
index 9c9c04093c9f6c1a482145c888b9511b4ed78f3a..5acf761d43cbddeb2eb632b5a6fb0a46ae4dfe46 100644
--- a/src/bluetooth/android/devicediscoverybroadcastreceiver.cpp
+++ b/src/bluetooth/android/devicediscoverybroadcastreceiver.cpp
@@ -237,7 +237,7 @@ static const MinorClassJavaToQtMapping minorMappings[] = {
     { Q_NULLPTR, 0 }, // index 64 & separator
 };
 
-/*! Advertising Data Type (AD type) for LE scan records, as defined in Bluetooth CSS v6. */
+/* Advertising Data Type (AD type) for LE scan records, as defined in Bluetooth CSS v6. */
 enum ADType {
     ADType16BitUuidIncomplete = 0x02,
     ADType16BitUuidComplete = 0x03,
diff --git a/src/bluetooth/android/inputstreamthread.cpp b/src/bluetooth/android/inputstreamthread.cpp
index ecd9218ea439a2893286a99200ec580e76248429..982c477b97cb79262b32a22bdcd9fb8cbc75c528 100644
--- a/src/bluetooth/android/inputstreamthread.cpp
+++ b/src/bluetooth/android/inputstreamthread.cpp
@@ -77,6 +77,12 @@ qint64 InputStreamThread::bytesAvailable() const
     return m_socket_p->buffer.size();
 }
 
+bool InputStreamThread::canReadLine() const
+{
+    QMutexLocker locker(&m_mutex);
+    return m_socket_p->buffer.canReadLine();
+}
+
 qint64 InputStreamThread::readData(char *data, qint64 maxSize)
 {
     QMutexLocker locker(&m_mutex);
diff --git a/src/bluetooth/android/inputstreamthread_p.h b/src/bluetooth/android/inputstreamthread_p.h
index 741333ac54f3f58d7a7eb9de1830eeba17db5058..a6ee06554d07a871df3dab0dffa12ef9c813a4c2 100644
--- a/src/bluetooth/android/inputstreamthread_p.h
+++ b/src/bluetooth/android/inputstreamthread_p.h
@@ -68,6 +68,7 @@ public:
     explicit InputStreamThread(QBluetoothSocketPrivate *socket_p);
 
     qint64 bytesAvailable() const;
+    bool canReadLine() const;
     bool run();
 
     qint64 readData(char *data, qint64 maxSize);
diff --git a/src/bluetooth/bluez/bluetoothmanagement.cpp b/src/bluetooth/bluez/bluetoothmanagement.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..9df74b343533cb60b74fd428a1b849057106720e
--- /dev/null
+++ b/src/bluetooth/bluez/bluetoothmanagement.cpp
@@ -0,0 +1,314 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtBluetooth module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/qloggingcategory.h>
+#include <QtCore/qsocketnotifier.h>
+#include <QtCore/qtimer.h>
+
+#include "bluetoothmanagement_p.h"
+#include "bluez_data_p.h"
+#include "../qbluetoothsocket_p.h"
+
+#include <unistd.h>
+#include <sys/prctl.h>
+#include <sys/syscall.h>
+#include <sys/types.h>
+#include <linux/capability.h>
+
+
+QT_BEGIN_NAMESPACE
+
+// Packet data structures for Mgmt API bluez.git/doc/mgmt-api.txt
+
+enum class EventCode {
+    DeviceFound =       0x0012,
+};
+
+struct MgmtHdr {
+    quint16 cmdCode;
+    quint16 controllerIndex;
+    quint16 length;
+} __attribute__((packed));
+
+struct MgmtEventDeviceFound {
+    bdaddr_t bdaddr;
+    quint8 type;
+    quint8 rssi;
+    quint32 flags;
+    quint16 eirLength;
+    quint8 eirData[0];
+}  __attribute__((packed));
+
+
+/*
+ * This class encapsulates access to the Bluetooth Management API as introduced by
+ * Linux kernel 3.4. Some Bluetooth information is not exposed via the usual DBus
+ * API (e.g. the random/public address type info). In those cases we have to fall back
+ * to this mgmt API.
+ *
+ * Note that opening such a Bluetooth mgmt socket requires CAP_NET_ADMIN (root) capability.
+ *
+ * Documentation can be found in bluez-git/doc/mgmt-api.txt
+ */
+
+Q_DECLARE_LOGGING_CATEGORY(QT_BT_BLUEZ)
+
+// These structs and defines come straight from linux/capability.h.
+// To avoid missing definitions we re-define them if not existing.
+// In addition, we don't want to pull in a libcap2 dependency
+struct capHdr {
+    quint32 version;
+    int pid;
+};
+
+struct capData {
+    quint32 effective;
+    quint32 permitted;
+    quint32 inheritable;
+};
+
+#ifndef _LINUX_CAPABILITY_VERSION_3
+#define _LINUX_CAPABILITY_VERSION_3 0x20080522
+#endif
+
+#ifndef _LINUX_CAPABILITY_U32S_3
+#define _LINUX_CAPABILITY_U32S_3 2
+#endif
+
+#ifndef CAP_NET_ADMIN
+#define CAP_NET_ADMIN 12
+#endif
+
+#ifndef CAP_TO_INDEX
+#define CAP_TO_INDEX(x)     ((x) >> 5)        /* 1 << 5 == bits in __u32 */
+#endif
+
+#ifndef CAP_TO_MASK
+#define CAP_TO_MASK(x)      (1 << ((x) & 31)) /* mask for indexed __u32 */
+#endif
+
+const int msecInADay = 1000*60*60*24;
+
+inline uint qHash(const QBluetoothAddress& address)
+{
+    return qHash(address.toUInt64());
+}
+
+static int sysCallCapGet(capHdr *header, capData *data)
+{
+    return syscall(__NR_capget, header, data);
+}
+
+/*!
+ * Checks that the current process has the effective CAP_NET_ADMIN permission.
+ */
+static bool hasBtMgmtPermission()
+{
+    // We only care for cap version 3 introduced by kernel 2.6.26
+    // because the new BlueZ management API only exists since kernel 3.4.
+
+    struct capHdr header = {};
+    struct capData data[_LINUX_CAPABILITY_U32S_3] = {{}};
+    header.version = _LINUX_CAPABILITY_VERSION_3;
+    header.pid = getpid();
+
+    if (sysCallCapGet(&header, data) < 0) {
+        qCWarning(QT_BT_BLUEZ, "BluetoothManangement: getCap failed with %s",
+                               qPrintable(qt_error_string(errno)));
+        return false;
+    }
+
+    return (data[CAP_TO_INDEX(CAP_NET_ADMIN)].effective & CAP_TO_MASK(CAP_NET_ADMIN));
+}
+
+BluetoothManagement::BluetoothManagement(QObject *parent) : QObject(parent)
+{
+    bool hasPermission = hasBtMgmtPermission();
+    if (!hasPermission) {
+        qCInfo(QT_BT_BLUEZ, "Missing CAP_NET_ADMIN permission. Cannot determine whether "
+                             "a found address is of random or public type.");
+        return;
+    }
+
+    sockaddr_hci hciAddr;
+
+    fd = ::socket(AF_BLUETOOTH, SOCK_RAW | SOCK_CLOEXEC | SOCK_NONBLOCK, BTPROTO_HCI);
+    if (fd < 0) {
+        qCWarning(QT_BT_BLUEZ, "Cannot open Bluetooth Management socket: %s",
+                               qPrintable(qt_error_string(errno)));
+        return;
+    }
+
+    memset(&hciAddr, 0, sizeof(hciAddr));
+    hciAddr.hci_dev = HCI_DEV_NONE;
+    hciAddr.hci_channel = HCI_CHANNEL_CONTROL;
+    hciAddr.hci_family = AF_BLUETOOTH;
+
+    if (::bind(fd, (struct sockaddr *)(&hciAddr), sizeof(hciAddr)) < 0) {
+        qCWarning(QT_BT_BLUEZ, "Cannot bind Bluetooth Management socket: %s",
+                               qPrintable(qt_error_string(errno)));
+        ::close(fd);
+        fd = -1;
+        return;
+    }
+
+    notifier = new QSocketNotifier(fd, QSocketNotifier::Read, this);
+    connect(notifier, &QSocketNotifier::activated, this, &BluetoothManagement::_q_readNotifier);
+
+    // ensure cache is regularly cleaned (once every 24h)
+    QTimer* timer = new QTimer(this);
+    timer->setInterval(msecInADay);
+    timer->setTimerType(Qt::VeryCoarseTimer);
+    connect(timer, &QTimer::timeout, this, &BluetoothManagement::cleanupOldAddressFlags);
+    timer->start();
+}
+
+Q_GLOBAL_STATIC(BluetoothManagement, bluetoothKernelManager)
+
+BluetoothManagement *BluetoothManagement::instance()
+{
+    return bluetoothKernelManager();
+}
+
+void BluetoothManagement::_q_readNotifier()
+{
+    char *dst = buffer.reserve(QPRIVATELINEARBUFFER_BUFFERSIZE);
+    int readCount = ::read(fd, dst, QPRIVATELINEARBUFFER_BUFFERSIZE);
+    buffer.chop(QPRIVATELINEARBUFFER_BUFFERSIZE - (readCount < 0 ? 0 : readCount));
+    if (readCount < 0) {
+        qCWarning(QT_BT_BLUEZ, "Management Control read error %s", qPrintable(qt_error_string(errno)));
+        return;
+    }
+
+    // do we have at least one complete mgmt header?
+    if ((uint)buffer.size() < sizeof(MgmtHdr))
+        return;
+
+    QByteArray data = buffer.readAll();
+
+    while (true) {
+        if ((uint)data.size() < sizeof(MgmtHdr))
+            break;
+
+        const MgmtHdr *hdr = reinterpret_cast<const MgmtHdr*>(data.constData());
+        const int nextPackageSize = qFromLittleEndian(hdr->length) + sizeof(MgmtHdr);
+        const int remainingPackageSize = data.length() - nextPackageSize;
+
+        if (data.length() < nextPackageSize)
+            break; // not a complete event header -> wait for next notifier
+
+        switch (static_cast<EventCode>(qFromLittleEndian(hdr->cmdCode))) {
+        case EventCode::DeviceFound:
+        {
+            const MgmtEventDeviceFound *event = reinterpret_cast<const MgmtEventDeviceFound*>
+                                                   (data.constData() + sizeof(MgmtHdr));
+
+            if (event->type == BDADDR_LE_RANDOM) {
+                const bdaddr_t address = event->bdaddr;
+                quint64 bdaddr;
+
+                convertAddress(address.b, &bdaddr);
+                const QBluetoothAddress qtAddress(bdaddr);
+                qCDebug(QT_BT_BLUEZ) << "BluetoothManagement: found random device"
+                                     << qtAddress;
+                processRandomAddressFlagInformation(qtAddress);
+            }
+
+            break;
+        }
+        default:
+            qCDebug(QT_BT_BLUEZ) << "BluetoothManagement: Ignored event:"
+                                 << hex << qFromLittleEndian(hdr->cmdCode);
+            break;
+        }
+
+        if (data.length() > nextPackageSize)
+            data = data.right(remainingPackageSize);
+        else
+            data.clear();
+
+        if (data.isEmpty())
+            break;
+    }
+
+    if (!data.isEmpty())
+        buffer.ungetBlock(data.constData(), data.size());
+}
+
+void BluetoothManagement::processRandomAddressFlagInformation(const QBluetoothAddress &address)
+{
+    // insert or update
+    QMutexLocker locker(&accessLock);
+    privateFlagAddresses[address] = QDateTime::currentDateTimeUtc();
+}
+
+/*
+ * Ensure that private address cache is not older than 24h.
+ */
+void BluetoothManagement::cleanupOldAddressFlags()
+{
+    const auto cutOffTime = QDateTime::currentDateTimeUtc().addDays(-1);
+
+    QMutexLocker locker(&accessLock);
+
+    auto i = privateFlagAddresses.begin();
+    while (i != privateFlagAddresses.end()) {
+        if (i.value() < cutOffTime)
+            i = privateFlagAddresses.erase(i);
+        else
+            i++;
+    }
+}
+
+bool BluetoothManagement::isAddressRandom(const QBluetoothAddress &address) const
+{
+    if (fd == -1 || address.isNull())
+        return false;
+
+    QMutexLocker locker(&accessLock);
+    return privateFlagAddresses.contains(address);
+}
+
+bool BluetoothManagement::isMonitoringEnabled() const
+{
+    return (fd == -1) ? false : true;
+}
+
+
+QT_END_NAMESPACE
diff --git a/src/bluetooth/bluez/bluetoothmanagement_p.h b/src/bluetooth/bluez/bluetoothmanagement_p.h
new file mode 100644
index 0000000000000000000000000000000000000000..954f6e039c530c6658828de4a0a63b0eba54c7f4
--- /dev/null
+++ b/src/bluetooth/bluez/bluetoothmanagement_p.h
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtBluetooth module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef BLUETOOTHMANAGEMENT_P_H
+#define BLUETOOTHMANAGEMENT_P_H
+
+//
+//  W A R N I N G
+//  -------------
+//
+// This file is not part of the Qt API.  It exists purely as an
+// implementation detail.  This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/qdatetime.h>
+#include <QtCore/qmutex.h>
+#include <QtCore/qobject.h>
+
+#include <QtBluetooth/qbluetoothaddress.h>
+
+#ifndef QPRIVATELINEARBUFFER_BUFFERSIZE
+#define QPRIVATELINEARBUFFER_BUFFERSIZE Q_INT64_C(16384)
+#endif
+#include "../qprivatelinearbuffer_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QSocketNotifier;
+
+class BluetoothManagement : public QObject
+{
+    Q_OBJECT
+
+public:
+    explicit BluetoothManagement(QObject *parent = nullptr);
+    static BluetoothManagement *instance();
+
+    bool isAddressRandom(const QBluetoothAddress &address) const;
+    bool isMonitoringEnabled() const;
+
+private slots:
+    void _q_readNotifier();
+    void processRandomAddressFlagInformation(const QBluetoothAddress &address);
+    void cleanupOldAddressFlags();
+
+private:
+    void readyRead();
+
+    int fd = -1;
+    QSocketNotifier* notifier;
+    QPrivateLinearBuffer buffer;
+    QHash<QBluetoothAddress, QDateTime> privateFlagAddresses;
+    mutable QMutex accessLock;
+};
+
+
+QT_END_NAMESPACE
+
+#endif // BLUETOOTHMANAGEMENT_P_H
diff --git a/src/bluetooth/bluez/bluez.pri b/src/bluetooth/bluez/bluez.pri
index 3ff2e9d884dd8f1d83af80636498cfa2ef7c911c..b99f2712da14781387ddb8f1ac6a4256099059a0 100644
--- a/src/bluetooth/bluez/bluez.pri
+++ b/src/bluetooth/bluez/bluez.pri
@@ -19,7 +19,8 @@ HEADERS += bluez/manager_p.h \
            bluez/obex_transfer1_bluez5_p.h \
            bluez/bluez_data_p.h \
            bluez/hcimanager_p.h \
-           bluez/remotedevicemanager_p.h
+           bluez/remotedevicemanager_p.h \
+           bluez/bluetoothmanagement_p.h
 
 SOURCES += bluez/manager.cpp \
            bluez/adapter.cpp \
@@ -41,4 +42,5 @@ SOURCES += bluez/manager.cpp \
            bluez/obex_objectpush1_bluez5.cpp \
            bluez/obex_transfer1_bluez5.cpp \
            bluez/hcimanager.cpp \
-           bluez/remotedevicemanager.cpp
+           bluez/remotedevicemanager.cpp \
+           bluez/bluetoothmanagement.cpp
diff --git a/src/bluetooth/bluez/bluez_data_p.h b/src/bluetooth/bluez/bluez_data_p.h
index 25edc66175174207bb1bbe076747e558beb81152..684cd5b81f19e1bd21614dbcd5ac063104e8b755 100644
--- a/src/bluetooth/bluez/bluez_data_p.h
+++ b/src/bluetooth/bluez/bluez_data_p.h
@@ -1,6 +1,6 @@
 /****************************************************************************
 **
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
 ** Contact: https://www.qt.io/licensing/
 **
 ** This file is part of the QtBluetooth module of the Qt Toolkit.
@@ -204,7 +204,10 @@ template<> inline void putBtData(quint128 src, void *dst)
 
 // HCI related
 
-#define HCI_MAX_DEV 16
+#define HCI_MAX_DEV     16
+#define HCI_DEV_NONE    0xffff
+
+#define HCI_CHANNEL_CONTROL     0x3
 
 #define HCI_MAX_EVENT_SIZE 260
 
diff --git a/src/bluetooth/qbluetoothdevicediscoveryagent.cpp b/src/bluetooth/qbluetoothdevicediscoveryagent.cpp
index b033ae3c7c31d96efaa03ef4ebfbff01f53f402c..02ea30d1db78e5690afcfc67f3b4da8959972438 100644
--- a/src/bluetooth/qbluetoothdevicediscoveryagent.cpp
+++ b/src/bluetooth/qbluetoothdevicediscoveryagent.cpp
@@ -143,7 +143,15 @@ Q_DECLARE_LOGGING_CATEGORY(QT_BT)
     information via \l discoveredDevices() once the discovery has finished. This
     will yield the most recent RSSI information.
 
-    \sa QBluetoothDeviceInfo::rssi()
+    If \l lowEnergyDiscoveryTimeout() is larger than 0 the signal is only ever
+    emitted when at least one attribute of \a info changes. This reflects the desire to
+    receive updates as more precise information becomes available. The exception to this
+    behavior is the case when \l lowEnergyDiscoveryTimeout is set to \c 0. A timeout of \c 0
+    expresses the desire to monitor the appearance and disappearance of Low Energy devices
+    over time. Under this condition the \l deviceDiscovered() signal is emitted even if
+    \a info has not changed since the last signal emission.
+
+    \sa QBluetoothDeviceInfo::rssi(), lowEnergyDiscoveryTimeout()
 */
 
 /*!
diff --git a/src/bluetooth/qbluetoothdevicediscoveryagent_android.cpp b/src/bluetooth/qbluetoothdevicediscoveryagent_android.cpp
index 3d34b4779db547c9efbb32fa79a12ea47fea7792..0d6c86f9c0379bc5f8f238c934186ddb1bfd57c2 100644
--- a/src/bluetooth/qbluetoothdevicediscoveryagent_android.cpp
+++ b/src/bluetooth/qbluetoothdevicediscoveryagent_android.cpp
@@ -304,7 +304,7 @@ void QBluetoothDeviceDiscoveryAgentPrivate::processDiscoveredDevices(
 
     for (int i = 0; i < discoveredDevices.size(); i++) {
         if (discoveredDevices[i].address() == info.address()) {
-            if (discoveredDevices[i] == info) {
+            if (discoveredDevices[i] == info && lowEnergySearchTimeout > 0) {
                 qCDebug(QT_BT_ANDROID) << "Duplicate: " << info.address()
                                        << "isLeScanResult:" << isLeResult;
                 return;
diff --git a/src/bluetooth/qbluetoothdevicediscoveryagent_bluez.cpp b/src/bluetooth/qbluetoothdevicediscoveryagent_bluez.cpp
index cda1bd17dfdef3b4942590478a4b19ecaeb568b0..f2ca4233cb8bbab667026995ae434f48731f22f4 100644
--- a/src/bluetooth/qbluetoothdevicediscoveryagent_bluez.cpp
+++ b/src/bluetooth/qbluetoothdevicediscoveryagent_bluez.cpp
@@ -51,6 +51,7 @@
 #include "bluez/adapter1_bluez5_p.h"
 #include "bluez/device1_bluez5_p.h"
 #include "bluez/properties_p.h"
+#include "bluez/bluetoothmanagement_p.h"
 
 QT_BEGIN_NAMESPACE
 
@@ -82,6 +83,8 @@ QBluetoothDeviceDiscoveryAgentPrivate::QBluetoothDeviceDiscoveryAgentPrivate(
                          SIGNAL(InterfacesAdded(QDBusObjectPath,InterfaceList)),
                          q, SLOT(_q_InterfacesAdded(QDBusObjectPath,InterfaceList)));
 
+        // start private address monitoring
+        BluetoothManagement::instance();
     } else {
         manager = new OrgBluezManagerInterface(QStringLiteral("org.bluez"), QStringLiteral("/"),
                                            QDBusConnection::systemBus(), parent);
@@ -430,7 +433,7 @@ void QBluetoothDeviceDiscoveryAgentPrivate::deviceFoundBluez5(const QString& dev
 
     for (int i = 0; i < discoveredDevices.size(); i++) {
         if (discoveredDevices[i].address() == deviceInfo.address()) {
-            if (discoveredDevices[i] == deviceInfo) {
+            if (discoveredDevices[i] == deviceInfo && lowEnergySearchTimeout > 0) {
                 qCDebug(QT_BT_BLUEZ) << "Duplicate: " << btAddress.toString();
                 return;
             }
diff --git a/src/bluetooth/qbluetoothdevicediscoveryagent_osx.mm b/src/bluetooth/qbluetoothdevicediscoveryagent_osx.mm
index b308f7cc94512252b1183c42e84ba21ea874d720..9e3f6a577714ed9540b73d1c66ac28f3fbfa2b0e 100644
--- a/src/bluetooth/qbluetoothdevicediscoveryagent_osx.mm
+++ b/src/bluetooth/qbluetoothdevicediscoveryagent_osx.mm
@@ -525,7 +525,7 @@ void QBluetoothDeviceDiscoveryAgentPrivate::deviceFound(const QBluetoothDeviceIn
     for (int i = 0, e = discoveredDevices.size(); i < e; ++i) {
         if (isLE ? discoveredDevices[i].deviceUuid() == newDeviceInfo.deviceUuid():
                    discoveredDevices[i].address() == newDeviceInfo.address()) {
-            if (discoveredDevices[i] == newDeviceInfo)
+            if (discoveredDevices[i] == newDeviceInfo && (!isLE || lowEnergySearchTimeout > 0))
                 return;
 
             discoveredDevices.replace(i, newDeviceInfo);
diff --git a/src/bluetooth/qbluetoothdevicediscoveryagent_p.h b/src/bluetooth/qbluetoothdevicediscoveryagent_p.h
index 45764c1ae200b59852ba6d78e9f2461ae5c068f8..7b57abb2feb53408e35126fc5cc8b4b75142a6b3 100644
--- a/src/bluetooth/qbluetoothdevicediscoveryagent_p.h
+++ b/src/bluetooth/qbluetoothdevicediscoveryagent_p.h
@@ -163,7 +163,6 @@ private:
 private slots:
     void registerDevice(const QBluetoothDeviceInfo &info);
     void onScanFinished();
-    void onScanCanceled();
 
 private:
     void disconnectAndClearWorker();
diff --git a/src/bluetooth/qbluetoothdevicediscoveryagent_winrt.cpp b/src/bluetooth/qbluetoothdevicediscoveryagent_winrt.cpp
index d8d68d4ba094b1c932d1473c8d999871d0de6682..1aaaf0a4427d417b04fd6e925cf6b19b8080f259 100644
--- a/src/bluetooth/qbluetoothdevicediscoveryagent_winrt.cpp
+++ b/src/bluetooth/qbluetoothdevicediscoveryagent_winrt.cpp
@@ -109,7 +109,6 @@ public slots:
 Q_SIGNALS:
     void deviceFound(const QBluetoothDeviceInfo &info);
     void scanFinished();
-    void scanCanceled();
 
 public:
     quint8 requestedModes;
@@ -250,10 +249,7 @@ void QWinRTBluetoothDeviceDiscoveryWorker::setupLEDeviceWatcher()
 
 void QWinRTBluetoothDeviceDiscoveryWorker::handleLeTimeout()
 {
-    if (m_pendingPairedDevices == 0)
-        emit scanFinished();
-    else
-        emit scanCanceled();
+    emit scanFinished();
     deleteLater();
 }
 
@@ -552,8 +548,6 @@ void QBluetoothDeviceDiscoveryAgentPrivate::start(QBluetoothDeviceDiscoveryAgent
             this, &QBluetoothDeviceDiscoveryAgentPrivate::registerDevice);
     connect(worker, &QWinRTBluetoothDeviceDiscoveryWorker::scanFinished,
             this, &QBluetoothDeviceDiscoveryAgentPrivate::onScanFinished);
-    connect(worker, &QWinRTBluetoothDeviceDiscoveryWorker::scanCanceled,
-            this, &QBluetoothDeviceDiscoveryAgentPrivate::onScanCanceled);
     worker->start();
 
     if (lowEnergySearchTimeout > 0 && methods & QBluetoothDeviceDiscoveryAgent::LowEnergyMethod) { // otherwise no timeout and stop() required
@@ -613,21 +607,12 @@ void QBluetoothDeviceDiscoveryAgentPrivate::onScanFinished()
     emit q->finished();
 }
 
-void QBluetoothDeviceDiscoveryAgentPrivate::onScanCanceled()
-{
-    Q_Q(QBluetoothDeviceDiscoveryAgent);
-    disconnectAndClearWorker();
-    emit q->canceled();
-}
-
 void QBluetoothDeviceDiscoveryAgentPrivate::disconnectAndClearWorker()
 {
     Q_Q(QBluetoothDeviceDiscoveryAgent);
     if (!worker)
         return;
 
-    disconnect(worker, &QWinRTBluetoothDeviceDiscoveryWorker::scanCanceled,
-        this, &QBluetoothDeviceDiscoveryAgentPrivate::onScanCanceled);
     disconnect(worker, &QWinRTBluetoothDeviceDiscoveryWorker::scanFinished,
         this, &QBluetoothDeviceDiscoveryAgentPrivate::onScanFinished);
     disconnect(worker, &QWinRTBluetoothDeviceDiscoveryWorker::deviceFound,
diff --git a/src/bluetooth/qbluetoothservicediscoveryagent.cpp b/src/bluetooth/qbluetoothservicediscoveryagent.cpp
index 8998d608f40a4aafaf1f80b1a9725175cffa3e34..7daab4b79a0d5a07738fc83ac938761ac3a3a5e7 100644
--- a/src/bluetooth/qbluetoothservicediscoveryagent.cpp
+++ b/src/bluetooth/qbluetoothservicediscoveryagent.cpp
@@ -442,7 +442,7 @@ void QBluetoothServiceDiscoveryAgentPrivate::startDeviceDiscovery()
 
     setDiscoveryState(DeviceDiscovery);
 
-    deviceDiscoveryAgent->start();
+    deviceDiscoveryAgent->start(QBluetoothDeviceDiscoveryAgent::ClassicMethod);
 }
 
 /*!
diff --git a/src/bluetooth/qbluetoothservicediscoveryagent_android.cpp b/src/bluetooth/qbluetoothservicediscoveryagent_android.cpp
index ba5bcb0a7cc69e2f1a4bc7000752001a18909aff..51db091e60605ba4b85b68c61ff0971126e6d29b 100644
--- a/src/bluetooth/qbluetoothservicediscoveryagent_android.cpp
+++ b/src/bluetooth/qbluetoothservicediscoveryagent_android.cpp
@@ -244,6 +244,10 @@ void QBluetoothServiceDiscoveryAgentPrivate::_q_processFetchedUuids(
 
     //could not find any service for the current address/device -> go to next one
     if (address.isNull() || uuids.isEmpty()) {
+        if (discoveredDevices.count() == 1) {
+            Q_Q(QBluetoothServiceDiscoveryAgent);
+            QTimer::singleShot(4000, q, SLOT(_q_fetchUuidsTimeout()));
+        }
         _q_serviceDiscoveryFinished();
         return;
     }
diff --git a/src/bluetooth/qbluetoothservicediscoveryagent_osx.mm b/src/bluetooth/qbluetoothservicediscoveryagent_osx.mm
index 4a52b37984e7a2063c3b79dc8cbfaa67d4a95345..25bb24473855b7da581bc63ed48939d9dd9c5304 100644
--- a/src/bluetooth/qbluetoothservicediscoveryagent_osx.mm
+++ b/src/bluetooth/qbluetoothservicediscoveryagent_osx.mm
@@ -141,7 +141,7 @@ void QBluetoothServiceDiscoveryAgentPrivate::startDeviceDiscovery()
     state = DeviceDiscovery;
 
     setupDeviceDiscoveryAgent();
-    deviceDiscoveryAgent->start();
+    deviceDiscoveryAgent->start(QBluetoothDeviceDiscoveryAgent::ClassicMethod);
 }
 
 void QBluetoothServiceDiscoveryAgentPrivate::stopDeviceDiscovery()
diff --git a/src/bluetooth/qbluetoothsocket.cpp b/src/bluetooth/qbluetoothsocket.cpp
index 3e961142c052188d0e2d25c365c32a87daa6ac87..2f38ed0444c5c5b9f4cc8ac892d1707494d4c0cd 100644
--- a/src/bluetooth/qbluetoothsocket.cpp
+++ b/src/bluetooth/qbluetoothsocket.cpp
@@ -300,7 +300,7 @@ qint64 QBluetoothSocket::bytesAvailable() const
 qint64 QBluetoothSocket::bytesToWrite() const
 {
     Q_D(const QBluetoothSocket);
-    return d->txBuffer.size();
+    return d->bytesToWrite();
 }
 
 /*!
@@ -624,7 +624,7 @@ void QBluetoothSocket::setSocketState(QBluetoothSocket::SocketState state)
 bool QBluetoothSocket::canReadLine() const
 {
     Q_D(const QBluetoothSocket);
-    return d->buffer.canReadLine() || QIODevice::canReadLine();
+    return d->canReadLine();
 }
 
 /*!
diff --git a/src/bluetooth/qbluetoothsocket_android.cpp b/src/bluetooth/qbluetoothsocket_android.cpp
index 56d4f77b8a09f2c9b651090acfaa95516f29e623..d0b901ae03642ea805991577e54a6e7851dd8df1 100644
--- a/src/bluetooth/qbluetoothsocket_android.cpp
+++ b/src/bluetooth/qbluetoothsocket_android.cpp
@@ -46,6 +46,7 @@
 #include <QtCore/QTime>
 #include <QtCore/private/qjni_p.h>
 #include <QtAndroidExtras/QAndroidJniEnvironment>
+#include <QtAndroid>
 
 QT_BEGIN_NAMESPACE
 
@@ -56,6 +57,7 @@ Q_DECLARE_LOGGING_CATEGORY(QT_BT_ANDROID)
 
 Q_DECLARE_METATYPE(QAndroidJniObject)
 
+Q_BLUETOOTH_EXPORT bool useReverseUuidWorkAroundConnect = true;
 
 /* BluetoothSocket.connect() can block up to 10s. Therefore it must be
  * in a separate thread. Unfortunately if BluetoothSocket.close() is
@@ -78,10 +80,12 @@ class SocketConnectWorker : public QObject
     Q_OBJECT
 public:
     SocketConnectWorker(const QAndroidJniObject& socket,
-                        const QAndroidJniObject& targetUuid)
+                        const QAndroidJniObject& targetUuid,
+                        const QBluetoothUuid& qtTargetUuid)
         : QObject(),
           mSocketObject(socket),
-          mTargetUuid(targetUuid)
+          mTargetUuid(targetUuid),
+          mQtTargetUuid(qtTargetUuid)
     {
         static int t = qRegisterMetaType<QAndroidJniObject>();
         Q_UNUSED(t);
@@ -90,7 +94,8 @@ public:
 signals:
     void socketConnectDone(const QAndroidJniObject &socket);
     void socketConnectFailed(const QAndroidJniObject &socket,
-                             const QAndroidJniObject &targetUuid);
+                             const QAndroidJniObject &targetUuid,
+                             const QBluetoothUuid &qtUuid);
 public slots:
     void connectSocket()
     {
@@ -102,7 +107,7 @@ public slots:
             env->ExceptionDescribe();
             env->ExceptionClear();
 
-            emit socketConnectFailed(mSocketObject, mTargetUuid);
+            emit socketConnectFailed(mSocketObject, mTargetUuid, mQtTargetUuid);
             QThread::currentThread()->quit();
             return;
         }
@@ -130,6 +135,8 @@ public slots:
 private:
     QAndroidJniObject mSocketObject;
     QAndroidJniObject mTargetUuid;
+    // same as mTargetUuid above - just the Qt C++ version rather than jni uuid
+    QBluetoothUuid mQtTargetUuid;
 };
 
 class WorkerThread: public QThread
@@ -143,10 +150,11 @@ public:
 
     // Runs in same thread as QBluetoothSocketPrivate
     void setupWorker(QBluetoothSocketPrivate* d_ptr, const QAndroidJniObject& socketObject,
-                     const QAndroidJniObject& uuidObject, bool useFallback)
+                     const QAndroidJniObject& uuidObject, bool useFallback,
+                     const QBluetoothUuid& qtUuid = QBluetoothUuid())
     {
         SocketConnectWorker* worker = new SocketConnectWorker(
-                                            socketObject, uuidObject);
+                                            socketObject, uuidObject, qtUuid);
         worker->moveToThread(this);
 
         connect(this, &QThread::finished, worker, &QObject::deleteLater);
@@ -172,6 +180,30 @@ private:
     QPointer<SocketConnectWorker> workerPointer;
 };
 
+/*
+ * This function is part of a workaround for QTBUG-61392
+ *
+ * Returns null uuid if the given \a serviceUuid is not a uuid
+ * derived from the Bluetooth base uuid.
+ */
+static QBluetoothUuid reverseUuid(const QBluetoothUuid &serviceUuid)
+{
+    if (serviceUuid.isNull())
+        return QBluetoothUuid();
+
+    bool isBaseUuid = false;
+    serviceUuid.toUInt32(&isBaseUuid);
+    if (isBaseUuid)
+        return QBluetoothUuid();
+
+    const quint128 original = serviceUuid.toUInt128();
+    quint128 reversed;
+    for (int i = 0; i < 16; i++)
+        reversed.data[15-i] = original.data[i];
+
+    return QBluetoothUuid(reversed);
+}
+
 QBluetoothSocketPrivate::QBluetoothSocketPrivate()
   : socket(-1),
     socketType(QBluetoothServiceInfo::UnknownProtocol),
@@ -206,7 +238,7 @@ bool QBluetoothSocketPrivate::ensureNativeSocket(QBluetoothServiceInfo::Protocol
 
 bool QBluetoothSocketPrivate::fallBackConnect(QAndroidJniObject uuid, int channel)
 {
-    qCWarning(QT_BT_ANDROID) << "Falling back to workaround.";
+    qCWarning(QT_BT_ANDROID) << "Falling back to getServiceChannel() workaround.";
 
     QAndroidJniEnvironment env;
 
@@ -320,6 +352,60 @@ bool QBluetoothSocketPrivate::fallBackConnect(QAndroidJniObject uuid, int channe
     return true;
 }
 
+/*
+ * Workaround for QTBUG-61392
+ */
+bool QBluetoothSocketPrivate::fallBackReversedConnect(const QBluetoothUuid &uuid)
+{
+    Q_Q(QBluetoothSocket);
+
+    qCWarning(QT_BT_ANDROID) << "Falling back to reverse uuid workaround.";
+    const QBluetoothUuid reverse = reverseUuid(uuid);
+    if (reverse.isNull())
+        return false;
+
+    //cut leading { and trailing } {xxx-xxx}
+    QString tempUuid = reverse.toString();
+    tempUuid.chop(1); //remove trailing '}'
+    tempUuid.remove(0, 1); //remove first '{'
+
+    QAndroidJniEnvironment env;
+    const QAndroidJniObject inputString = QAndroidJniObject::fromString(tempUuid);
+    const QAndroidJniObject uuidObject = QAndroidJniObject::callStaticObjectMethod("java/util/UUID", "fromString",
+                                                                       "(Ljava/lang/String;)Ljava/util/UUID;",
+                                                                       inputString.object<jstring>());
+
+    if (secFlags == QBluetooth::NoSecurity) {
+        qCDebug(QT_BT_ANDROID) << "Connnecting via insecure rfcomm";
+        socketObject = remoteDevice.callObjectMethod("createInsecureRfcommSocketToServiceRecord",
+                                                 "(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;",
+                                                 uuidObject.object<jobject>());
+    } else {
+        qCDebug(QT_BT_ANDROID) << "Connnecting via secure rfcomm";
+        socketObject = remoteDevice.callObjectMethod("createRfcommSocketToServiceRecord",
+                                                 "(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;",
+                                                 uuidObject.object<jobject>());
+    }
+
+    if (env->ExceptionCheck()) {
+        env->ExceptionDescribe();
+        env->ExceptionClear();
+
+        socketObject = remoteDevice = QAndroidJniObject();
+        errorString = QBluetoothSocket::tr("Cannot connect to %1",
+                                           "%1 = uuid").arg(reverse.toString());
+        q->setSocketError(QBluetoothSocket::ServiceNotFoundError);
+        q->setSocketState(QBluetoothSocket::UnconnectedState);
+        return false;
+    }
+
+    WorkerThread *workerThread = new WorkerThread();
+    workerThread->setupWorker(this, socketObject, uuidObject, USE_FALLBACK);
+    workerThread->start();
+    emit connectJavaSocket();
+
+    return true;
+}
 
 /*
  * The call order during a connectToService() is as follows:
@@ -329,11 +415,14 @@ bool QBluetoothSocketPrivate::fallBackConnect(QAndroidJniObject uuid, int channe
  * 3. if threaded connect succeeds call socketConnectSuccess() via signals
  *      -> done
  * 4. if threaded connect fails call defaultSocketConnectFailed() via signals
- * 5. call fallBackConnect()
- * 6. if threaded connect on fallback channel succeeds call socketConnectSuccess()
+ * 5. call fallBackConnect() if Android version 22 or below
+ *     -> Android 23+ complete failure of entire connectToService()
+ * 6. call fallBackReversedConnect() if Android version 23 or above
+ *     -> if failure entire connectToService() fails
+ * 7. if threaded connect on one of above fallbacks succeeds call socketConnectSuccess()
  *    via signals
  *      -> done
- * 7. if threaded connect on fallback channel fails call fallbackSocketConnectFailed()
+ * 8. if threaded connect on fallback channel fails call fallbackSocketConnectFailed()
  *      -> complete failure of entire connectToService()
  * */
 void QBluetoothSocketPrivate::connectToService(const QBluetoothAddress &address,
@@ -414,7 +503,7 @@ void QBluetoothSocketPrivate::connectToService(const QBluetoothAddress &address,
     }
 
     WorkerThread *workerThread = new WorkerThread();
-    workerThread->setupWorker(this, socketObject, uuidObject, !USE_FALLBACK);
+    workerThread->setupWorker(this, socketObject, uuidObject, !USE_FALLBACK, uuid);
     workerThread->start();
     emit connectJavaSocket();
 }
@@ -480,7 +569,8 @@ void QBluetoothSocketPrivate::socketConnectSuccess(const QAndroidJniObject &sock
 }
 
 void QBluetoothSocketPrivate::defaultSocketConnectFailed(
-        const QAndroidJniObject &socket, const QAndroidJniObject &targetUuid)
+        const QAndroidJniObject &socket, const QAndroidJniObject &targetUuid,
+        const QBluetoothUuid &qtTargetUuid)
 {
     Q_Q(QBluetoothSocket);
 
@@ -489,7 +579,12 @@ void QBluetoothSocketPrivate::defaultSocketConnectFailed(
     if (socket != socketObject)
         return;
 
-    bool success = fallBackConnect(targetUuid, FALLBACK_CHANNEL);
+    bool success = false;
+    if (QtAndroid::androidSdkVersion() <= 22)
+        success = fallBackConnect(targetUuid, FALLBACK_CHANNEL);
+    else if (useReverseUuidWorkAroundConnect) // version 23+ has Android bug (see QTBUG-61392)
+        success = fallBackReversedConnect(qtTargetUuid);
+
     if (!success) {
         errorString = QBluetoothSocket::tr("Connection to service failed");
         socketObject = remoteDevice = QAndroidJniObject();
@@ -627,7 +722,6 @@ qint64 QBluetoothSocketPrivate::writeData(const char *data, qint64 maxSize)
     env->SetByteArrayRegion(nativeData, 0, (qint32)maxSize, reinterpret_cast<const jbyte*>(data));
     outputStream.callMethod<void>("write", "([BII)V", nativeData, 0, (qint32)maxSize);
     env->DeleteLocalRef(nativeData);
-    emit q->bytesWritten(maxSize);
 
     if (env->ExceptionCheck()) {
         qCWarning(QT_BT_ANDROID) << "Error while writing";
@@ -638,6 +732,7 @@ qint64 QBluetoothSocketPrivate::writeData(const char *data, qint64 maxSize)
         return -1;
     }
 
+    emit q->bytesWritten(maxSize);
     return maxSize;
 }
 
@@ -784,6 +879,20 @@ qint64 QBluetoothSocketPrivate::bytesAvailable() const
     return 0;
 }
 
+qint64 QBluetoothSocketPrivate::bytesToWrite() const
+{
+    return 0; // nothing because always unbuffered
+}
+
+bool QBluetoothSocketPrivate::canReadLine() const
+{
+    // We cannot access buffer directly as it is part of different thread
+    if (inputThread)
+        return inputThread->canReadLine();
+
+    return false;
+}
+
 QT_END_NAMESPACE
 
 #include <qbluetoothsocket_android.moc>
diff --git a/src/bluetooth/qbluetoothsocket_bluez.cpp b/src/bluetooth/qbluetoothsocket_bluez.cpp
index 42c5503b178847f5d3c556ac9f29be7295cfcb53..6aef811a4d2a6ef16645566cb412db8868b5dcd2 100644
--- a/src/bluetooth/qbluetoothsocket_bluez.cpp
+++ b/src/bluetooth/qbluetoothsocket_bluez.cpp
@@ -592,4 +592,14 @@ qint64 QBluetoothSocketPrivate::bytesAvailable() const
     return buffer.size();
 }
 
+qint64 QBluetoothSocketPrivate::bytesToWrite() const
+{
+    return txBuffer.size();
+}
+
+bool QBluetoothSocketPrivate::canReadLine() const
+{
+    return buffer.canReadLine();
+}
+
 QT_END_NAMESPACE
diff --git a/src/bluetooth/qbluetoothsocket_p.cpp b/src/bluetooth/qbluetoothsocket_p.cpp
index 6007b924447911d0ad2c3b444715b4b35ec39bfd..39d483d67f41db7bef6dc0895d0689e7e41d7663 100644
--- a/src/bluetooth/qbluetoothsocket_p.cpp
+++ b/src/bluetooth/qbluetoothsocket_p.cpp
@@ -158,4 +158,14 @@ qint64 QBluetoothSocketPrivate::bytesAvailable() const
     return 0;
 }
 
+bool QBluetoothSocketPrivate::canReadLine() const
+{
+    return false;
+}
+
+qint64 QBluetoothSocketPrivate::bytesToWrite() const
+{
+    return 0;
+}
+
 QT_END_NAMESPACE
diff --git a/src/bluetooth/qbluetoothsocket_p.h b/src/bluetooth/qbluetoothsocket_p.h
index 956f8f02084cdd745454aa8c53570ed5a7c31080..9aabf6600efc887eed1da10bf54d87c398cbbb87 100644
--- a/src/bluetooth/qbluetoothsocket_p.h
+++ b/src/bluetooth/qbluetoothsocket_p.h
@@ -127,6 +127,7 @@ public:
 #endif
 #ifdef QT_ANDROID_BLUETOOTH
     bool fallBackConnect(QAndroidJniObject uuid, int channel);
+    bool fallBackReversedConnect(const QBluetoothUuid &uuid);
 #endif
 
 
@@ -165,6 +166,8 @@ public:
                              QBluetoothSocket::OpenMode openMode = QBluetoothSocket::ReadWrite);
 
     qint64 bytesAvailable() const;
+    bool canReadLine() const;
+    qint64 bytesToWrite() const;
 
 public:
     QPrivateLinearBuffer buffer;
@@ -197,7 +200,8 @@ public:
 public slots:
     void socketConnectSuccess(const QAndroidJniObject &socket);
     void defaultSocketConnectFailed(const QAndroidJniObject & socket,
-                                    const QAndroidJniObject &targetUuid);
+                                    const QAndroidJniObject &targetUuid,
+                                    const QBluetoothUuid &qtTargetUuid);
     void fallbackSocketConnectFailed(const QAndroidJniObject &socket,
                                      const QAndroidJniObject &targetUuid);
     void inputThreadError(int errorCode);
@@ -263,7 +267,7 @@ public slots:
 
 #endif // QT_OSX_BLUETOOTH
 
-static inline void convertAddress(quint64 from, quint8 (&to)[6])
+static inline void convertAddress(const quint64 from, quint8 (&to)[6])
 {
     to[0] = (from >> 0) & 0xff;
     to[1] = (from >> 8) & 0xff;
@@ -273,7 +277,7 @@ static inline void convertAddress(quint64 from, quint8 (&to)[6])
     to[5] = (from >> 40) & 0xff;
 }
 
-static inline quint64 convertAddress(quint8 (&from)[6], quint64 *to = 0)
+static inline quint64 convertAddress(const quint8 (&from)[6], quint64 *to = 0)
 {
     const quint64 result = (quint64(from[0]) << 0) |
          (quint64(from[1]) << 8) |
@@ -286,6 +290,15 @@ static inline quint64 convertAddress(quint8 (&from)[6], quint64 *to = 0)
     return result;
 }
 
+#ifdef Q_OS_ANDROID
+// QTBUG-61392 related
+// Private API to disable the silent behavior to reverse a remote service's
+// UUID. In rare cases the workaround behavior might not be desirable as
+// it may lead to connects to incorrect services.
+extern bool useReverseUuidWorkAroundConnect;
+
+#endif
+
 QT_END_NAMESPACE
 
 
diff --git a/src/bluetooth/qbluetoothsocket_winrt.cpp b/src/bluetooth/qbluetoothsocket_winrt.cpp
index 1f4e623338eb399b130f40f4f313a713b4b2060f..4a9d1b935f73bf43cad84d94d1e1116e3dd53bc3 100644
--- a/src/bluetooth/qbluetoothsocket_winrt.cpp
+++ b/src/bluetooth/qbluetoothsocket_winrt.cpp
@@ -569,6 +569,16 @@ qint64 QBluetoothSocketPrivate::bytesAvailable() const
     return buffer.size();
 }
 
+qint64 QBluetoothSocketPrivate::bytesToWrite() const
+{
+    return 0; // nothing because always unbuffered
+}
+
+bool QBluetoothSocketPrivate::canReadLine() const
+{
+    return buffer.canReadLine();
+}
+
 void QBluetoothSocketPrivate::handleNewData(const QVector<QByteArray> &data)
 {
     // Defer putting the data into the list until the next event loop iteration
diff --git a/src/bluetooth/qlowenergycontroller.cpp b/src/bluetooth/qlowenergycontroller.cpp
index a3aad282c717ea653979391b21884cfffa2dd116..053ca9802b2252605aa1242aa3ba17a0c5e1bf88 100644
--- a/src/bluetooth/qlowenergycontroller.cpp
+++ b/src/bluetooth/qlowenergycontroller.cpp
@@ -1,6 +1,6 @@
 /****************************************************************************
 **
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
 ** Contact: https://www.qt.io/licensing/
 **
 ** This file is part of the QtBluetooth module of the Qt Toolkit.
@@ -691,6 +691,19 @@ QLowEnergyController::RemoteAddressType QLowEnergyController::remoteAddressType(
 /*!
     Sets the remote address \a type. The type is required to connect
     to the remote Bluetooth Low Energy device.
+
+    This attribute is only required to be set on Linux/BlueZ systems with older
+    Linux kernels (v3.3 or lower), or if CAP_NET_ADMIN is not set for the executable.
+    The default value of the attribute is \l RandomAddress.
+
+    \note All other platforms handle this flag transparently and therefore applications
+    can ignore it entirely. On Linux, the address type flag is not directly exposed
+    by BlueZ although some use cases do require this information. The only way to detect
+    the flag is via the Linux kernel's Bluetooth Management API (kernel
+    version 3.4+ required). This API requires CAP_NET_ADMIN capabilities though. If the
+    local QtBluetooth process has this capability set QtBluetooth will use the API. This
+    assumes that \l QBluetoothDeviceDiscoveryAgent was used prior to calling
+    \l QLowEnergyController::connectToDevice().
  */
 void QLowEnergyController::setRemoteAddressType(
                     QLowEnergyController::RemoteAddressType type)
@@ -918,13 +931,24 @@ QLowEnergyService *QLowEnergyController::addService(const QLowEnergyServiceData
         return nullptr;
     }
 
+    Q_D(QLowEnergyController);
+    QLowEnergyService *newService = d->addServiceHelper(service);
+    if (newService)
+        newService->setParent(parent);
+
+    return newService;
+}
+
+QLowEnergyService *QLowEnergyControllerPrivate::addServiceHelper(
+                            const QLowEnergyServiceData &service)
+{
     // Spec says services "should" be grouped by uuid length (16-bit first, then 128-bit).
     // Since this is not mandatory, we ignore it here and let the caller take responsibility
     // for it.
 
     const auto servicePrivate = QSharedPointer<QLowEnergyServicePrivate>::create();
     servicePrivate->state = QLowEnergyService::LocalService;
-    servicePrivate->setController(d_ptr);
+    servicePrivate->setController(this);
     servicePrivate->uuid = service.uuid();
     servicePrivate->type = service.type() == QLowEnergyServiceData::ServiceTypePrimary
             ? QLowEnergyService::PrimaryService : QLowEnergyService::IncludedService;
@@ -934,13 +958,13 @@ QLowEnergyService *QLowEnergyController::addService(const QLowEnergyServiceData
     }
 
     // Spec v4.2, Vol 3, Part G, Section 3.
-    const QLowEnergyHandle oldLastHandle = d_ptr->lastLocalHandle;
-    servicePrivate->startHandle = ++d_ptr->lastLocalHandle; // Service declaration.
-    d_ptr->lastLocalHandle += servicePrivate->includedServices.count(); // Include declarations.
+    const QLowEnergyHandle oldLastHandle = this->lastLocalHandle;
+    servicePrivate->startHandle = ++this->lastLocalHandle; // Service declaration.
+    this->lastLocalHandle += servicePrivate->includedServices.count(); // Include declarations.
     foreach (const QLowEnergyCharacteristicData &cd, service.characteristics()) {
-        const QLowEnergyHandle declHandle = ++d_ptr->lastLocalHandle;
+        const QLowEnergyHandle declHandle = ++this->lastLocalHandle;
         QLowEnergyServicePrivate::CharData charData;
-        charData.valueHandle = ++d_ptr->lastLocalHandle;
+        charData.valueHandle = ++this->lastLocalHandle;
         charData.uuid = cd.uuid();
         charData.properties = cd.properties();
         charData.value = cd.value();
@@ -948,21 +972,21 @@ QLowEnergyService *QLowEnergyController::addService(const QLowEnergyServiceData
             QLowEnergyServicePrivate::DescData descData;
             descData.uuid = dd.uuid();
             descData.value = dd.value();
-            charData.descriptorList.insert(++d_ptr->lastLocalHandle, descData);
+            charData.descriptorList.insert(++this->lastLocalHandle, descData);
         }
         servicePrivate->characteristicList.insert(declHandle, charData);
     }
-    servicePrivate->endHandle = d_ptr->lastLocalHandle;
-    const bool handleOverflow = d_ptr->lastLocalHandle <= oldLastHandle;
+    servicePrivate->endHandle = this->lastLocalHandle;
+    const bool handleOverflow = this->lastLocalHandle <= oldLastHandle;
     if (handleOverflow) {
         qCWarning(QT_BT) << "Not enough attribute handles left to create this service";
-        d_ptr->lastLocalHandle = oldLastHandle;
+        this->lastLocalHandle = oldLastHandle;
         return nullptr;
     }
 
-    d_ptr->localServices.insert(servicePrivate->uuid, servicePrivate);
-    d_ptr->addToGenericAttributeList(service, servicePrivate->startHandle);
-    return new QLowEnergyService(servicePrivate, parent);
+    this->localServices.insert(servicePrivate->uuid, servicePrivate);
+    this->addToGenericAttributeList(service, servicePrivate->startHandle);
+    return new QLowEnergyService(servicePrivate);
 }
 
 /*!
diff --git a/src/bluetooth/qlowenergycontroller_bluez.cpp b/src/bluetooth/qlowenergycontroller_bluez.cpp
index 1649fe8cf7287d58e9c430e717ed2f193ffd20aa..0744bcc43cf7a613fe76a705e5f3c12801a0d77d 100644
--- a/src/bluetooth/qlowenergycontroller_bluez.cpp
+++ b/src/bluetooth/qlowenergycontroller_bluez.cpp
@@ -46,6 +46,7 @@
 #include "bluez/hcimanager_p.h"
 #include "bluez/remotedevicemanager_p.h"
 #include "bluez/bluez5_helper_p.h"
+#include "bluez/bluetoothmanagement_p.h"
 
 #include <QtCore/QFileInfo>
 #include <QtCore/QLoggingCategory>
@@ -529,6 +530,8 @@ void QLowEnergyControllerPrivate::connectToDevice()
     if (l2cpSocket)
         delete l2cpSocket;
 
+    createServicesForCentralIfRequired();
+
     // check for active running connections
     // BlueZ 5.37+ (maybe even earlier versions) can have pending BTLE connections
     // Only one active L2CP socket to CID 0x4 possible at a time
@@ -598,10 +601,20 @@ void QLowEnergyControllerPrivate::establishL2cpClientSocket()
             this, SLOT(l2cpErrorChanged(QBluetoothSocket::SocketError)));
     connect(l2cpSocket, SIGNAL(readyRead()), this, SLOT(l2cpReadyRead()));
 
-    if (addressType == QLowEnergyController::PublicAddress)
-        l2cpSocket->d_ptr->lowEnergySocketType = BDADDR_LE_PUBLIC;
-    else if (addressType == QLowEnergyController::RandomAddress)
-        l2cpSocket->d_ptr->lowEnergySocketType = BDADDR_LE_RANDOM;
+    quint32 addressTypeToUse = (addressType == QLowEnergyController::PublicAddress)
+                                    ? BDADDR_LE_PUBLIC : BDADDR_LE_RANDOM;
+    if (BluetoothManagement::instance()->isMonitoringEnabled()) {
+        // if monitoring is possible and it's private then we force it to the relevant option
+        if (BluetoothManagement::instance()->isAddressRandom(remoteDevice)) {
+            addressTypeToUse = BDADDR_LE_RANDOM;
+        }
+    }
+
+    qCDebug(QT_BT_BLUEZ) << "addresstypeToUse:"
+                         << (addressTypeToUse == BDADDR_LE_RANDOM
+                                 ? QStringLiteral("Random") : QStringLiteral("Public"));
+
+    l2cpSocket->d_ptr->lowEnergySocketType = addressTypeToUse;
 
     int sockfd = l2cpSocket->socketDescriptor();
     if (sockfd < 0) {
@@ -633,6 +646,72 @@ void QLowEnergyControllerPrivate::establishL2cpClientSocket()
     loadSigningDataIfNecessary(LocalSigningKey);
 }
 
+void QLowEnergyControllerPrivate::createServicesForCentralIfRequired()
+{
+    //only enable when requested
+    //for now we use env variable to activate the feature
+    if (Q_LIKELY(!qEnvironmentVariableIsSet("QT_DEFAULT_CENTRAL_SERVICES")))
+        return; //nothing to do
+
+    //do not add the services each time we start a connection
+    if (localServices.contains(QBluetoothUuid(QBluetoothUuid::GenericAccess)))
+        return;
+
+    qCDebug(QT_BT_BLUEZ) << "Creating default GAP/GATT services";
+
+    //populate Generic Access service
+    //for now the values are static
+    QLowEnergyServiceData gapServiceData;
+    gapServiceData.setType(QLowEnergyServiceData::ServiceTypePrimary);
+    gapServiceData.setUuid(QBluetoothUuid::GenericAccess);
+
+    QLowEnergyCharacteristicData gapDeviceName;
+    gapDeviceName.setUuid(QBluetoothUuid::DeviceName);
+    gapDeviceName.setProperties(QLowEnergyCharacteristic::Read);
+
+    QBluetoothLocalDevice mainAdapter;
+    gapDeviceName.setValue(mainAdapter.name().toLatin1()); //static name
+
+    QLowEnergyCharacteristicData gapAppearance;
+    gapAppearance.setUuid(QBluetoothUuid::Appearance);
+    gapAppearance.setProperties(QLowEnergyCharacteristic::Read);
+    gapAppearance.setValue(QByteArray::fromHex("80")); // Generic Computer (0x80)
+
+    QLowEnergyCharacteristicData gapPrivacyFlag;
+    gapPrivacyFlag.setUuid(QBluetoothUuid::PeripheralPrivacyFlag);
+    gapPrivacyFlag.setProperties(QLowEnergyCharacteristic::Read);
+    gapPrivacyFlag.setValue(QByteArray::fromHex("00")); // disable privacy
+
+    gapServiceData.addCharacteristic(gapDeviceName);
+    gapServiceData.addCharacteristic(gapAppearance);
+    gapServiceData.addCharacteristic(gapPrivacyFlag);
+
+    Q_Q(QLowEnergyController);
+    QLowEnergyService *service = addServiceHelper(gapServiceData);
+    if (service)
+        service->setParent(q);
+
+    QLowEnergyServiceData gattServiceData;
+    gattServiceData.setType(QLowEnergyServiceData::ServiceTypePrimary);
+    gattServiceData.setUuid(QBluetoothUuid::GenericAttribute);
+
+    QLowEnergyCharacteristicData serviceChangedChar;
+    serviceChangedChar.setUuid(QBluetoothUuid::ServiceChanged);
+    serviceChangedChar.setProperties(QLowEnergyCharacteristic::Indicate);
+    //arbitrary range of 2 bit handle range (1-4
+    serviceChangedChar.setValue(QByteArray::fromHex("0104"));
+
+    const QLowEnergyDescriptorData clientConfig(
+                        QBluetoothUuid::ClientCharacteristicConfiguration,
+                        QByteArray(2, 0));
+    serviceChangedChar.addDescriptor(clientConfig);
+    gattServiceData.addCharacteristic(serviceChangedChar);
+
+    service = addServiceHelper(gattServiceData);
+    if (service)
+        service->setParent(q);
+}
+
 void QLowEnergyControllerPrivate::l2cpConnected()
 {
     Q_Q(QLowEnergyController);
@@ -1665,9 +1744,9 @@ void QLowEnergyControllerPrivate::readServiceValuesByOffset(
 {
     const QLowEnergyHandle charHandle = (handleData & 0xffff);
     const QLowEnergyHandle descriptorHandle = ((handleData >> 16) & 0xffff);
-    quint8 packet[READ_REQUEST_HEADER_SIZE];
 
-    packet[0] = ATT_OP_READ_BLOB_REQUEST;
+    QByteArray data(READ_BLOB_REQUEST_HEADER_SIZE, Qt::Uninitialized);
+    data[0] = ATT_OP_READ_BLOB_REQUEST;
 
     QLowEnergyHandle handleToRead = charHandle;
     if (descriptorHandle) {
@@ -1688,11 +1767,8 @@ void QLowEnergyControllerPrivate::readServiceValuesByOffset(
         }
     }
 
-    putBtData(handleToRead, &packet[1]);
-    putBtData(offset, &packet[3]);
-
-    QByteArray data(READ_BLOB_REQUEST_HEADER_SIZE, Qt::Uninitialized);
-    memcpy(data.data(), packet, READ_BLOB_REQUEST_HEADER_SIZE);
+    putBtData(handleToRead, data.data() + 1);
+    putBtData(offset, data.data() + 3);
 
     Request request;
     request.payload = data;
diff --git a/src/bluetooth/qlowenergycontroller_p.h b/src/bluetooth/qlowenergycontroller_p.h
index 4b0c05cc266c048322600a122c54cd16a3d820ae..3f220fe6cefccb71f955f0f94a17f86313efafc3 100644
--- a/src/bluetooth/qlowenergycontroller_p.h
+++ b/src/bluetooth/qlowenergycontroller_p.h
@@ -147,6 +147,8 @@ public:
             QLowEnergyHandle handle);
     QLowEnergyDescriptor descriptorForHandle(
             QLowEnergyHandle handle);
+    QLowEnergyService *addServiceHelper(const QLowEnergyServiceData &service);
+
 
     quint16 updateValueOfCharacteristic(QLowEnergyHandle charHandle,
                                      const QByteArray &value,
@@ -416,6 +418,7 @@ private:
 
     void restartRequestTimer();
     void establishL2cpClientSocket();
+    void createServicesForCentralIfRequired();
 
 private slots:
     void l2cpConnected();
diff --git a/src/imports/bluetooth/qdeclarativebluetoothsocket.cpp b/src/imports/bluetooth/qdeclarativebluetoothsocket.cpp
index a8b4a80f5319c7407f54016f8e6a4712ed355321..7dbb15562708ecbef0a0a5c23a4c0469d57adb9c 100644
--- a/src/imports/bluetooth/qdeclarativebluetoothsocket.cpp
+++ b/src/imports/bluetooth/qdeclarativebluetoothsocket.cpp
@@ -297,7 +297,9 @@ void QDeclarativeBluetoothSocket::socket_state(QBluetoothSocket::SocketState sta
         \li \c{Bound}
     \endlist
 
-    The states are derived from \l QBluetoothSocket::SocketState. This property is read-only.
+    The states (except \c{NoServiceSet}) are derived from \l QBluetoothSocket::SocketState. This property is read-only.
+    \c{NoServiceSet} indicates that the socket state is not yet available due to the \l service not being
+    set yet.
 */
 QDeclarativeBluetoothSocket::SocketState QDeclarativeBluetoothSocket::state() const
 {
diff --git a/src/nfc/qndefnfcsmartposterrecord.cpp b/src/nfc/qndefnfcsmartposterrecord.cpp
index bc36998036214d793dc51f30d1cd3c0a5f6a96d9..5f2de2cc15e3fb4ee7c51fc3eafe569d1d2ab997 100644
--- a/src/nfc/qndefnfcsmartposterrecord.cpp
+++ b/src/nfc/qndefnfcsmartposterrecord.cpp
@@ -720,7 +720,7 @@ QNdefNfcSmartPosterRecord::Action QNdefNfcActRecord::action() const
             QNdefNfcSmartPosterRecord::UnspecifiedAction;
 
     if (!p.isEmpty())
-        value = QNdefNfcSmartPosterRecord::Action(p[0]);
+        value = QNdefNfcSmartPosterRecord::Action(static_cast<signed char>(p[0]));
 
     return value;
 }
diff --git a/src/tools/sdpscanner/qt_attribution.json b/src/tools/sdpscanner/qt_attribution.json
index 9f2ada92a045ddd9e77bd086f1abb340f6981184..cf0e513683019250a581e77da56449be99d2d1a4 100644
--- a/src/tools/sdpscanner/qt_attribution.json
+++ b/src/tools/sdpscanner/qt_attribution.json
@@ -2,11 +2,15 @@
     "Id": "bluez",
     "Name": "BlueZ",
     "QDocModule": "qtbluetooth",
-    "QtUsage": "On Linux, Qt Bluetooth uses a separate executable, sdpscanner, to integrate with the official Linux bluetooth protocol stack BlueZ. The Qt Bluetooth library does not link against BlueZ directly.",
-
-    "Description": "BlueZ",
+    "QtUsage": "On Linux, Qt Bluetooth uses a separate executable, sdpscanner,
+to integrate with the official Linux Bluetooth protocol stack (BlueZ). The usage is limited
+to service discovery via SDP. The Qt Bluetooth library itself does NOT link against BlueZ.
+Communication between sdpscanner and QtBluetooth happens via stdin/stdout. Therefore
+QtBluetooth and user code linking to it is not considered a derivative work, and does not
+have to be released under GPL too.",
+    "Description": "SDP Search via BlueZ",
     "Homepage": "http://www.bluez.org/",
     "LicenseId": "GPL-2.0",
-    "License": "GNU General Public License v2.0 only",
+    "License": "GNU General Public License v2.0 only (This does not force user code to be GPL'ed. For more info see details.)",
     "Copyright": "Copyright (C) 2000-2016 BlueZ Project."
 }
diff --git a/tests/auto/bic/data/QtBluetooth.5.9.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtBluetooth.5.9.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a5d85e0d0ca1e036bea56b55adba5f9fe4111116
--- /dev/null
+++ b/tests/auto/bic/data/QtBluetooth.5.9.0.linux-gcc-amd64.txt
@@ -0,0 +1,4667 @@
+Class std::__failure_type
+   size=1 align=1
+   base size=0 base align=1
+std::__failure_type (0x0x7f663d2f2d20) 0 empty
+
+Class std::__do_is_destructible_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f663d3824e0) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f663d382720) 0 empty
+
+Class std::__do_is_default_constructible_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f663d382960) 0 empty
+
+Class std::__do_is_static_castable_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f663d382ba0) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f663d382d20) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f663afb9120) 0 empty
+
+Class std::__do_common_type_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__do_common_type_impl (0x0x7f663b03b8a0) 0 empty
+
+Class std::__do_member_type_wrapper
+   size=1 align=1
+   base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f663b03b960) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f663b03bcc0) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f663b03bd80) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f663b03be40) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f663b03bf00) 0 empty
+
+Class std::__result_of_other_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__result_of_other_impl (0x0x7f663b0721e0) 0 empty
+
+Class std::piecewise_construct_t
+   size=1 align=1
+   base size=0 base align=1
+std::piecewise_construct_t (0x0x7f663b0723c0) 0 empty
+
+Class std::__true_type
+   size=1 align=1
+   base size=0 base align=1
+std::__true_type (0x0x7f663b072840) 0 empty
+
+Class std::__false_type
+   size=1 align=1
+   base size=0 base align=1
+std::__false_type (0x0x7f663b0728a0) 0 empty
+
+Class std::input_iterator_tag
+   size=1 align=1
+   base size=0 base align=1
+std::input_iterator_tag (0x0x7f663b11e540) 0 empty
+
+Class std::output_iterator_tag
+   size=1 align=1
+   base size=0 base align=1
+std::output_iterator_tag (0x0x7f663b11e5a0) 0 empty
+
+Class std::forward_iterator_tag
+   size=1 align=1
+   base size=1 base align=1
+std::forward_iterator_tag (0x0x7f663b065548) 0 empty
+  std::input_iterator_tag (0x0x7f663b11e600) 0 empty
+
+Class std::bidirectional_iterator_tag
+   size=1 align=1
+   base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f663b0655b0) 0 empty
+  std::forward_iterator_tag (0x0x7f663b065618) 0 empty
+    std::input_iterator_tag (0x0x7f663b11e660) 0 empty
+
+Class std::random_access_iterator_tag
+   size=1 align=1
+   base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f663b065680) 0 empty
+  std::bidirectional_iterator_tag (0x0x7f663b0656e8) 0 empty
+    std::forward_iterator_tag (0x0x7f663b065750) 0 empty
+      std::input_iterator_tag (0x0x7f663b11e6c0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+   size=1 align=1
+   base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f663b161360) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+   size=1 align=1
+   base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f663b1613c0) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+   size=1 align=1
+   base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f663b161420) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+   size=1 align=1
+   base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f663b161480) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+   size=1 align=1
+   base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f663b1614e0) 0 empty
+
+Class wait
+   size=4 align=4
+   base size=4 base align=4
+wait (0x0x7f663ae89000) 0
+
+Class __locale_struct
+   size=232 align=8
+   base size=232 base align=8
+__locale_struct (0x0x7f663ae89240) 0
+
+Class timespec
+   size=16 align=8
+   base size=16 base align=8
+timespec (0x0x7f663ae89300) 0
+
+Class timeval
+   size=16 align=8
+   base size=16 base align=8
+timeval (0x0x7f663ae89360) 0
+
+Class pthread_attr_t
+   size=56 align=8
+   base size=56 base align=8
+pthread_attr_t (0x0x7f663ae89420) 0
+
+Class __pthread_internal_list
+   size=16 align=8
+   base size=16 base align=8
+__pthread_internal_list (0x0x7f663ae89480) 0
+
+Class random_data
+   size=48 align=8
+   base size=48 base align=8
+random_data (0x0x7f663ae89900) 0
+
+Class drand48_data
+   size=24 align=8
+   base size=24 base align=8
+drand48_data (0x0x7f663ae89960) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt9exception)
+16    (int (*)(...))std::exception::~exception
+24    (int (*)(...))std::exception::~exception
+32    (int (*)(...))std::exception::what
+
+Class std::exception
+   size=8 align=8
+   base size=8 base align=8
+std::exception (0x0x7f663ae899c0) 0 nearly-empty
+    vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt13bad_exception)
+16    (int (*)(...))std::bad_exception::~bad_exception
+24    (int (*)(...))std::bad_exception::~bad_exception
+32    (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+   size=8 align=8
+   base size=8 base align=8
+std::bad_exception (0x0x7f663b065c98) 0 nearly-empty
+    vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+  std::exception (0x0x7f663ae89a20) 0 nearly-empty
+      primary-for std::bad_exception (0x0x7f663b065c98)
+
+Class std::__exception_ptr::exception_ptr
+   size=8 align=8
+   base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f663ae89a80) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt16nested_exception)
+16    (int (*)(...))std::nested_exception::~nested_exception
+24    (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+   size=16 align=8
+   base size=16 base align=8
+std::nested_exception (0x0x7f663ae89ae0) 0
+    vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16u)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt9bad_alloc)
+16    (int (*)(...))std::bad_alloc::~bad_alloc
+24    (int (*)(...))std::bad_alloc::~bad_alloc
+32    (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+   size=8 align=8
+   base size=8 base align=8
+std::bad_alloc (0x0x7f663b065ea0) 0 nearly-empty
+    vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+  std::exception (0x0x7f663ae89f00) 0 nearly-empty
+      primary-for std::bad_alloc (0x0x7f663b065ea0)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt20bad_array_new_length)
+16    (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24    (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32    (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+   size=8 align=8
+   base size=8 base align=8
+std::bad_array_new_length (0x0x7f663b065f08) 0 nearly-empty
+    vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16u)
+  std::bad_alloc (0x0x7f663b065f70) 0 nearly-empty
+      primary-for std::bad_array_new_length (0x0x7f663b065f08)
+    std::exception (0x0x7f663ae89f60) 0 nearly-empty
+        primary-for std::bad_alloc (0x0x7f663b065f70)
+
+Class std::nothrow_t
+   size=1 align=1
+   base size=0 base align=1
+std::nothrow_t (0x0x7f663afa7000) 0 empty
+
+Class __exception
+   size=40 align=8
+   base size=40 base align=8
+__exception (0x0x7f663afa7c00) 0
+
+Class lconv
+   size=96 align=8
+   base size=96 base align=8
+lconv (0x0x7f663ada4900) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16    0u
+24    0u
+32    (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+   size=8 align=8
+   base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f663ada4960) 0 nearly-empty
+    vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class sched_param
+   size=4 align=4
+   base size=4 base align=4
+sched_param (0x0x7f663aa99840) 0
+
+Class __sched_param
+   size=4 align=4
+   base size=4 base align=4
+__sched_param (0x0x7f663aa998a0) 0
+
+Class timex
+   size=208 align=8
+   base size=208 base align=8
+timex (0x0x7f663aa99960) 0
+
+Class tm
+   size=56 align=8
+   base size=56 base align=8
+tm (0x0x7f663aa999c0) 0
+
+Class itimerspec
+   size=32 align=8
+   base size=32 base align=8
+itimerspec (0x0x7f663aa99a20) 0
+
+Class _pthread_cleanup_buffer
+   size=32 align=8
+   base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f663aa99a80) 0
+
+Class __pthread_cleanup_frame
+   size=24 align=8
+   base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f663aa99ba0) 0
+
+Class __pthread_cleanup_class
+   size=24 align=8
+   base size=24 base align=8
+__pthread_cleanup_class (0x0x7f663aa99c00) 0
+
+Class _IO_marker
+   size=24 align=8
+   base size=24 base align=8
+_IO_marker (0x0x7f663a84d060) 0
+
+Class _IO_FILE
+   size=216 align=8
+   base size=216 base align=8
+_IO_FILE (0x0x7f663a84d0c0) 0
+
+Class std::_Hash_impl
+   size=1 align=1
+   base size=0 base align=1
+std::_Hash_impl (0x0x7f663a5ed8a0) 0 empty
+
+Class std::_Fnv_hash_impl
+   size=1 align=1
+   base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f663a5ed900) 0 empty
+
+Class std::__numeric_limits_base
+   size=1 align=1
+   base size=0 base align=1
+std::__numeric_limits_base (0x0x7f663a6238a0) 0 empty
+
+Class std::_Bit_reference
+   size=16 align=8
+   base size=16 base align=8
+std::_Bit_reference (0x0x7f663a41b6c0) 0
+
+Class std::_Bit_iterator_base
+   size=16 align=8
+   base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f663a609d00) 0
+  std::iterator<std::random_access_iterator_tag, bool> (0x0x7f663a41b780) 0 empty
+
+Class std::_Bit_iterator
+   size=16 align=8
+   base size=12 base align=8
+std::_Bit_iterator (0x0x7f663a609d68) 0
+  std::_Bit_iterator_base (0x0x7f663a609dd0) 0
+    std::iterator<std::random_access_iterator_tag, bool> (0x0x7f663a41b7e0) 0 empty
+
+Class std::_Bit_const_iterator
+   size=16 align=8
+   base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f663a609e38) 0
+  std::_Bit_iterator_base (0x0x7f663a609ea0) 0
+    std::iterator<std::random_access_iterator_tag, bool> (0x0x7f663a41b840) 0 empty
+
+Class std::random_device
+   size=5000 align=8
+   base size=5000 base align=8
+std::random_device (0x0x7f663a249660) 0
+
+Class std::bernoulli_distribution::param_type
+   size=8 align=8
+   base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f663a347420) 0
+
+Class std::bernoulli_distribution
+   size=8 align=8
+   base size=8 base align=8
+std::bernoulli_distribution (0x0x7f663a3473c0) 0
+
+Class std::seed_seq
+   size=24 align=8
+   base size=24 base align=8
+std::seed_seq (0x0x7f663a0e33c0) 0
+
+Class qIsNull(double)::U
+   size=8 align=8
+   base size=8 base align=8
+qIsNull(double)::U (0x0x7f6638ea9e40) 0
+
+Class qIsNull(float)::U
+   size=4 align=4
+   base size=4 base align=4
+qIsNull(float)::U (0x0x7f6638ea9ea0) 0
+
+Class QSysInfo
+   size=1 align=1
+   base size=0 base align=1
+QSysInfo (0x0x7f6638cdc9c0) 0 empty
+
+Class QMessageLogContext
+   size=32 align=8
+   base size=32 base align=8
+QMessageLogContext (0x0x7f6638cdca20) 0
+
+Class QMessageLogger
+   size=32 align=8
+   base size=32 base align=8
+QMessageLogger (0x0x7f6638cdca80) 0
+
+Class QFlag
+   size=4 align=4
+   base size=4 base align=4
+QFlag (0x0x7f6638cdcae0) 0
+
+Class QIncompatibleFlag
+   size=4 align=4
+   base size=4 base align=4
+QIncompatibleFlag (0x0x7f6638cdcd80) 0
+
+Class std::__atomic_flag_base
+   size=1 align=1
+   base size=1 base align=1
+std::__atomic_flag_base (0x0x7f6638d48300) 0
+
+Class std::atomic_flag
+   size=1 align=1
+   base size=1 base align=1
+std::atomic_flag (0x0x7f6638cdbb60) 0
+  std::__atomic_flag_base (0x0x7f6638d48360) 0
+
+Class QAtomicInt
+   size=4 align=4
+   base size=4 base align=4
+QAtomicInt (0x0x7f66387e92d8) 0
+  QAtomicInteger<int> (0x0x7f66387e9340) 0
+    QBasicAtomicInteger<int> (0x0x7f6638b8ea80) 0
+
+Class QInternal
+   size=1 align=1
+   base size=0 base align=1
+QInternal (0x0x7f6638705f60) 0 empty
+
+Class QGenericArgument
+   size=16 align=8
+   base size=16 base align=8
+QGenericArgument (0x0x7f66385a2000) 0
+
+Class QGenericReturnArgument
+   size=16 align=8
+   base size=16 base align=8
+QGenericReturnArgument (0x0x7f66386debc8) 0
+  QGenericArgument (0x0x7f66385a2060) 0
+
+Class QMetaObject
+   size=48 align=8
+   base size=48 base align=8
+QMetaObject (0x0x7f66385a21e0) 0
+
+Class QMetaObject::Connection
+   size=8 align=8
+   base size=8 base align=8
+QMetaObject::Connection (0x0x7f66385a22a0) 0
+
+Class QLatin1Char
+   size=1 align=1
+   base size=1 base align=1
+QLatin1Char (0x0x7f6638258300) 0
+
+Class QChar
+   size=2 align=2
+   base size=2 base align=2
+QChar (0x0x7f6638258360) 0
+
+Class QtPrivate::RefCount
+   size=4 align=4
+   base size=4 base align=4
+QtPrivate::RefCount (0x0x7f6638258600) 0
+
+Class QArrayData
+   size=24 align=8
+   base size=24 base align=8
+QArrayData (0x0x7f66382586c0) 0
+
+Class QtPrivate::QContainerImplHelper
+   size=1 align=1
+   base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f6638258b40) 0 empty
+
+Class std::locale
+   size=8 align=8
+   base size=8 base align=8
+std::locale (0x0x7f6638258ba0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTINSt6locale5facetE)
+16    (int (*)(...))std::locale::facet::~facet
+24    (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+   size=16 align=8
+   base size=12 base align=8
+std::locale::facet (0x0x7f6638258c00) 0
+    vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+   size=8 align=8
+   base size=8 base align=8
+std::locale::id (0x0x7f6638258c60) 0
+
+Class std::locale::_Impl
+   size=40 align=8
+   base size=40 base align=8
+std::locale::_Impl (0x0x7f6638258cc0) 0
+
+Class std::__cow_string
+   size=8 align=8
+   base size=8 base align=8
+std::__cow_string (0x0x7f6637fe80c0) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt11logic_error)
+16    (int (*)(...))std::logic_error::~logic_error
+24    (int (*)(...))std::logic_error::~logic_error
+32    (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+   size=16 align=8
+   base size=16 base align=8
+std::logic_error (0x0x7f6637fe7138) 0
+    vptr=((& std::logic_error::_ZTVSt11logic_error) + 16u)
+  std::exception (0x0x7f6637fe8180) 0 nearly-empty
+      primary-for std::logic_error (0x0x7f6637fe7138)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt12domain_error)
+16    (int (*)(...))std::domain_error::~domain_error
+24    (int (*)(...))std::domain_error::~domain_error
+32    (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+   size=16 align=8
+   base size=16 base align=8
+std::domain_error (0x0x7f6637fe71a0) 0
+    vptr=((& std::domain_error::_ZTVSt12domain_error) + 16u)
+  std::logic_error (0x0x7f6637fe7208) 0
+      primary-for std::domain_error (0x0x7f6637fe71a0)
+    std::exception (0x0x7f6637fe81e0) 0 nearly-empty
+        primary-for std::logic_error (0x0x7f6637fe7208)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt16invalid_argument)
+16    (int (*)(...))std::invalid_argument::~invalid_argument
+24    (int (*)(...))std::invalid_argument::~invalid_argument
+32    (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+   size=16 align=8
+   base size=16 base align=8
+std::invalid_argument (0x0x7f6637fe7270) 0
+    vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16u)
+  std::logic_error (0x0x7f6637fe72d8) 0
+      primary-for std::invalid_argument (0x0x7f6637fe7270)
+    std::exception (0x0x7f6637fe8240) 0 nearly-empty
+        primary-for std::logic_error (0x0x7f6637fe72d8)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt12length_error)
+16    (int (*)(...))std::length_error::~length_error
+24    (int (*)(...))std::length_error::~length_error
+32    (int (*)(...))std::logic_error::what
+
+Class std::length_error
+   size=16 align=8
+   base size=16 base align=8
+std::length_error (0x0x7f6637fe7340) 0
+    vptr=((& std::length_error::_ZTVSt12length_error) + 16u)
+  std::logic_error (0x0x7f6637fe73a8) 0
+      primary-for std::length_error (0x0x7f6637fe7340)
+    std::exception (0x0x7f6637fe82a0) 0 nearly-empty
+        primary-for std::logic_error (0x0x7f6637fe73a8)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt12out_of_range)
+16    (int (*)(...))std::out_of_range::~out_of_range
+24    (int (*)(...))std::out_of_range::~out_of_range
+32    (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+   size=16 align=8
+   base size=16 base align=8
+std::out_of_range (0x0x7f6637fe7410) 0
+    vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16u)
+  std::logic_error (0x0x7f6637fe7478) 0
+      primary-for std::out_of_range (0x0x7f6637fe7410)
+    std::exception (0x0x7f6637fe8300) 0 nearly-empty
+        primary-for std::logic_error (0x0x7f6637fe7478)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt13runtime_error)
+16    (int (*)(...))std::runtime_error::~runtime_error
+24    (int (*)(...))std::runtime_error::~runtime_error
+32    (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+   size=16 align=8
+   base size=16 base align=8
+std::runtime_error (0x0x7f6637fe74e0) 0
+    vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16u)
+  std::exception (0x0x7f6637fe8360) 0 nearly-empty
+      primary-for std::runtime_error (0x0x7f6637fe74e0)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt11range_error)
+16    (int (*)(...))std::range_error::~range_error
+24    (int (*)(...))std::range_error::~range_error
+32    (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+   size=16 align=8
+   base size=16 base align=8
+std::range_error (0x0x7f6637fe7548) 0
+    vptr=((& std::range_error::_ZTVSt11range_error) + 16u)
+  std::runtime_error (0x0x7f6637fe75b0) 0
+      primary-for std::range_error (0x0x7f6637fe7548)
+    std::exception (0x0x7f6637fe83c0) 0 nearly-empty
+        primary-for std::runtime_error (0x0x7f6637fe75b0)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt14overflow_error)
+16    (int (*)(...))std::overflow_error::~overflow_error
+24    (int (*)(...))std::overflow_error::~overflow_error
+32    (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+   size=16 align=8
+   base size=16 base align=8
+std::overflow_error (0x0x7f6637fe7618) 0
+    vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16u)
+  std::runtime_error (0x0x7f6637fe7680) 0
+      primary-for std::overflow_error (0x0x7f6637fe7618)
+    std::exception (0x0x7f6637fe8420) 0 nearly-empty
+        primary-for std::runtime_error (0x0x7f6637fe7680)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt15underflow_error)
+16    (int (*)(...))std::underflow_error::~underflow_error
+24    (int (*)(...))std::underflow_error::~underflow_error
+32    (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+   size=16 align=8
+   base size=16 base align=8
+std::underflow_error (0x0x7f6637fe76e8) 0
+    vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16u)
+  std::runtime_error (0x0x7f6637fe7750) 0
+      primary-for std::underflow_error (0x0x7f6637fe76e8)
+    std::exception (0x0x7f6637fe8480) 0 nearly-empty
+        primary-for std::runtime_error (0x0x7f6637fe7750)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16    0u
+24    0u
+32    (int (*)(...))__cxa_pure_virtual
+40    (int (*)(...))std::_V2::error_category::_M_message
+48    (int (*)(...))__cxa_pure_virtual
+56    (int (*)(...))std::_V2::error_category::default_error_condition
+64    (int (*)(...))std::_V2::error_category::equivalent
+72    (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+   size=8 align=8
+   base size=8 base align=8
+std::_V2::error_category (0x0x7f6637fe8600) 0 nearly-empty
+    vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16u)
+
+Class std::error_code
+   size=16 align=8
+   base size=16 base align=8
+std::error_code (0x0x7f6637fe8840) 0
+
+Class std::error_condition
+   size=16 align=8
+   base size=16 base align=8
+std::error_condition (0x0x7f6637fe89c0) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt12system_error)
+16    (int (*)(...))std::system_error::~system_error
+24    (int (*)(...))std::system_error::~system_error
+32    (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+   size=32 align=8
+   base size=32 base align=8
+std::system_error (0x0x7f6637fe7c30) 0
+    vptr=((& std::system_error::_ZTVSt12system_error) + 16u)
+  std::runtime_error (0x0x7f6637fe7c98) 0
+      primary-for std::system_error (0x0x7f6637fe7c30)
+    std::exception (0x0x7f6637fe8c00) 0 nearly-empty
+        primary-for std::runtime_error (0x0x7f6637fe7c98)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16    (int (*)(...))std::ios_base::failure::~failure
+24    (int (*)(...))std::ios_base::failure::~failure
+32    (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+   size=32 align=8
+   base size=32 base align=8
+std::ios_base::failure (0x0x7f6638082888) 0
+    vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16u)
+  std::system_error (0x0x7f66380828f0) 0
+      primary-for std::ios_base::failure (0x0x7f6638082888)
+    std::runtime_error (0x0x7f6638082958) 0
+        primary-for std::system_error (0x0x7f66380828f0)
+      std::exception (0x0x7f6637fe8f00) 0 nearly-empty
+          primary-for std::runtime_error (0x0x7f6638082958)
+
+Class std::ios_base::_Callback_list
+   size=24 align=8
+   base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f6637fe8f60) 0
+
+Class std::ios_base::_Words
+   size=16 align=8
+   base size=16 base align=8
+std::ios_base::_Words (0x0x7f66380c5000) 0
+
+Class std::ios_base::Init
+   size=1 align=1
+   base size=0 base align=1
+std::ios_base::Init (0x0x7f66380c5060) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt8ios_base)
+16    (int (*)(...))std::ios_base::~ios_base
+24    (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+   size=216 align=8
+   base size=216 base align=8
+std::ios_base (0x0x7f6637fe8ea0) 0
+    vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+   size=1 align=1
+   base size=0 base align=1
+std::ctype_base (0x0x7f66380c57e0) 0 empty
+
+Class std::__num_base
+   size=1 align=1
+   base size=0 base align=1
+std::__num_base (0x0x7f66380c5ea0) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2u entries
+0     ((& std::basic_ostream<char>::_ZTVSo) + 24u)
+8     ((& std::basic_ostream<char>::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0     ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8     ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2u entries
+0     ((& std::basic_istream<char>::_ZTVSi) + 24u)
+8     ((& std::basic_istream<char>::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0     ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8     ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char> (0x0x7f6637d48208 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10u entries
+0     24u
+8     (int (*)(...))0
+16    (int (*)(...))(& _ZTISi)
+24    0u
+32    0u
+40    18446744073709551592u
+48    (int (*)(...))-24
+56    (int (*)(...))(& _ZTISi)
+64    0u
+72    0u
+
+Construction vtable for std::basic_ostream<char> (0x0x7f6637d482d8 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10u entries
+0     8u
+8     (int (*)(...))0
+16    (int (*)(...))(& _ZTISo)
+24    0u
+32    0u
+40    18446744073709551608u
+48    (int (*)(...))-8
+56    (int (*)(...))(& _ZTISo)
+64    0u
+72    0u
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7u entries
+0     ((& std::basic_iostream<char>::_ZTVSd) + 24u)
+8     ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24u)
+16    ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64u)
+24    ((& std::basic_iostream<char>::_ZTCSd16_So) + 24u)
+32    ((& std::basic_iostream<char>::_ZTCSd16_So) + 64u)
+40    ((& std::basic_iostream<char>::_ZTVSd) + 104u)
+48    ((& std::basic_iostream<char>::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f6637d48680 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0     24u
+8     (int (*)(...))0
+16    (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24    0u
+32    0u
+40    18446744073709551592u
+48    (int (*)(...))-24
+56    (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64    0u
+72    0u
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f6637d48750 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0     8u
+8     (int (*)(...))0
+16    (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24    0u
+32    0u
+40    18446744073709551608u
+48    (int (*)(...))-8
+56    (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64    0u
+72    0u
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0     ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8     ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16    ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24    ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32    ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40    ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48    ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QByteArrayDataPtr
+   size=8 align=8
+   base size=8 base align=8
+QByteArrayDataPtr (0x0x7f6637c76780) 0
+
+Class QByteArray
+   size=8 align=8
+   base size=8 base align=8
+QByteArray (0x0x7f6637c767e0) 0
+
+Class QByteRef
+   size=16 align=8
+   base size=12 base align=8
+QByteRef (0x0x7f6637a87c60) 0
+
+Class QLatin1String
+   size=16 align=8
+   base size=16 base align=8
+QLatin1String (0x0x7f6637a87f60) 0
+
+Class QStringDataPtr
+   size=8 align=8
+   base size=8 base align=8
+QStringDataPtr (0x0x7f6637b81300) 0
+
+Class QString::Null
+   size=1 align=1
+   base size=0 base align=1
+QString::Null (0x0x7f6637b813c0) 0 empty
+
+Class QString
+   size=8 align=8
+   base size=8 base align=8
+QString (0x0x7f6637b81360) 0
+
+Class QCharRef
+   size=16 align=8
+   base size=12 base align=8
+QCharRef (0x0x7f66379433c0) 0
+
+Class QStringRef
+   size=16 align=8
+   base size=16 base align=8
+QStringRef (0x0x7f66376a4180) 0
+
+Class QtPrivate::QHashCombine
+   size=1 align=1
+   base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f66376a46c0) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+   size=1 align=1
+   base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f66376a4720) 0 empty
+
+Class std::__detail::_List_node_base
+   size=16 align=8
+   base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f66376a4780) 0
+
+Class QListData::NotArrayCompatibleLayout
+   size=1 align=1
+   base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f66376a4b40) 0 empty
+
+Class QListData::NotIndirectLayout
+   size=1 align=1
+   base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f66376a4ba0) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+   size=1 align=1
+   base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f6637670e38) 0 empty
+  QListData::NotIndirectLayout (0x0x7f66376a4c00) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+   size=1 align=1
+   base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f66374d1d90) 0 empty
+  QListData::NotArrayCompatibleLayout (0x0x7f66376a4c60) 0 empty
+  QListData::NotIndirectLayout (0x0x7f66376a4cc0) 0 empty
+
+Class QListData::IndirectLayout
+   size=1 align=1
+   base size=1 base align=1
+QListData::IndirectLayout (0x0x7f6637670ea0) 0 empty
+  QListData::NotArrayCompatibleLayout (0x0x7f66376a4d20) 0 empty
+
+Class QListData::Data
+   size=24 align=8
+   base size=24 base align=8
+QListData::Data (0x0x7f66376a4d80) 0
+
+Class QListData
+   size=8 align=8
+   base size=8 base align=8
+QListData (0x0x7f66376a4ae0) 0
+
+Class QRegExp
+   size=8 align=8
+   base size=8 base align=8
+QRegExp (0x0x7f6637505960) 0
+
+Class QStringMatcher::Data
+   size=272 align=8
+   base size=272 base align=8
+QStringMatcher::Data (0x0x7f6637271ba0) 0
+
+Class QStringMatcher
+   size=1048 align=8
+   base size=1048 base align=8
+QStringMatcher (0x0x7f6637271b40) 0
+
+Class QStringList
+   size=8 align=8
+   base size=8 base align=8
+QStringList (0x0x7f6637278888) 0
+  QList<QString> (0x0x7f66372788f0) 0
+    QListSpecialMethods<QString> (0x0x7f6637271d80) 0 empty
+
+Class QScopedPointerPodDeleter
+   size=1 align=1
+   base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f66372ec1e0) 0 empty
+
+Class std::_Rb_tree_node_base
+   size=32 align=8
+   base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f66372ec600) 0
+
+Class std::allocator_arg_t
+   size=1 align=1
+   base size=0 base align=1
+std::allocator_arg_t (0x0x7f66372ecc60) 0 empty
+
+Class std::__uses_alloc_base
+   size=1 align=1
+   base size=0 base align=1
+std::__uses_alloc_base (0x0x7f66372ecde0) 0 empty
+
+Class std::__uses_alloc0::_Sink
+   size=1 align=1
+   base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f66372ecea0) 0 empty
+
+Class std::__uses_alloc0
+   size=1 align=1
+   base size=1 base align=1
+std::__uses_alloc0 (0x0x7f663735ea28) 0
+  std::__uses_alloc_base (0x0x7f66372ece40) 0 empty
+
+Class std::_Swallow_assign
+   size=1 align=1
+   base size=0 base align=1
+std::_Swallow_assign (0x0x7f6637127f00) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+   size=16 align=8
+   base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f6636e2c180) 0
+
+Class QtPrivate::AbstractComparatorFunction
+   size=24 align=8
+   base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f6636e2c240) 0
+
+Class QtPrivate::AbstractConverterFunction
+   size=8 align=8
+   base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f6636e2c360) 0
+
+Class QMetaType
+   size=80 align=8
+   base size=80 base align=8
+QMetaType (0x0x7f6636e2c4e0) 0
+
+Class QtMetaTypePrivate::VariantData
+   size=24 align=8
+   base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f6636e2c900) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+   size=1 align=1
+   base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f6636e2ca20) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+   size=104 align=8
+   base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f6636bde3c0) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+   size=112 align=8
+   base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f6636bde8a0) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+   size=40 align=8
+   base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f6636bdec00) 0
+
+Class QtPrivate::QSlotObjectBase
+   size=16 align=8
+   base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f66369a6ae0) 0
+
+Class std::chrono::_V2::system_clock
+   size=1 align=1
+   base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f6636acb000) 0 empty
+
+Class std::chrono::_V2::steady_clock
+   size=1 align=1
+   base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f6636787e40) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QObjectData)
+16    (int (*)(...))__cxa_pure_virtual
+24    (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+   size=48 align=8
+   base size=48 base align=8
+QObjectData (0x0x7f6636787ea0) 0
+    vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Class QObject::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f66367cf0c0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI7QObject)
+16    (int (*)(...))QObject::metaObject
+24    (int (*)(...))QObject::qt_metacast
+32    (int (*)(...))QObject::qt_metacall
+40    (int (*)(...))QObject::~QObject
+48    (int (*)(...))QObject::~QObject
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+   size=16 align=8
+   base size=16 base align=8
+QObject (0x0x7f66367cf060) 0
+    vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI15QObjectUserData)
+16    (int (*)(...))QObjectUserData::~QObjectUserData
+24    (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+   size=8 align=8
+   base size=8 base align=8
+QObjectUserData (0x0x7f66367cf7e0) 0 nearly-empty
+    vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Class QSignalBlocker
+   size=16 align=8
+   base size=10 base align=8
+QSignalBlocker (0x0x7f66367cf840) 0
+
+Class QAbstractAnimation::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f66367cf900) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI18QAbstractAnimation)
+16    (int (*)(...))QAbstractAnimation::metaObject
+24    (int (*)(...))QAbstractAnimation::qt_metacast
+32    (int (*)(...))QAbstractAnimation::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QAbstractAnimation::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+128   (int (*)(...))QAbstractAnimation::updateState
+136   (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+   size=16 align=8
+   base size=16 base align=8
+QAbstractAnimation (0x0x7f66368621a0) 0
+    vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+  QObject (0x0x7f66367cf8a0) 0
+      primary-for QAbstractAnimation (0x0x7f66368621a0)
+
+Class QAnimationDriver::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f66367cf9c0) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI16QAnimationDriver)
+16    (int (*)(...))QAnimationDriver::metaObject
+24    (int (*)(...))QAnimationDriver::qt_metacast
+32    (int (*)(...))QAnimationDriver::qt_metacall
+40    (int (*)(...))QAnimationDriver::~QAnimationDriver
+48    (int (*)(...))QAnimationDriver::~QAnimationDriver
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QAnimationDriver::advance
+120   (int (*)(...))QAnimationDriver::elapsed
+128   (int (*)(...))QAnimationDriver::start
+136   (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+   size=16 align=8
+   base size=16 base align=8
+QAnimationDriver (0x0x7f6636862208) 0
+    vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16u)
+  QObject (0x0x7f66367cf960) 0
+      primary-for QAnimationDriver (0x0x7f6636862208)
+
+Class QEventLoop::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f66367cfa80) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI10QEventLoop)
+16    (int (*)(...))QEventLoop::metaObject
+24    (int (*)(...))QEventLoop::qt_metacast
+32    (int (*)(...))QEventLoop::qt_metacall
+40    (int (*)(...))QEventLoop::~QEventLoop
+48    (int (*)(...))QEventLoop::~QEventLoop
+56    (int (*)(...))QEventLoop::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+   size=16 align=8
+   base size=16 base align=8
+QEventLoop (0x0x7f6636862270) 0
+    vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+  QObject (0x0x7f66367cfa20) 0
+      primary-for QEventLoop (0x0x7f6636862270)
+
+Class QEventLoopLocker
+   size=8 align=8
+   base size=8 base align=8
+QEventLoopLocker (0x0x7f66367cfc60) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f66367cfd20) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+   size=12 align=4
+   base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f66367cfd80) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16    (int (*)(...))QAbstractEventDispatcher::metaObject
+24    (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32    (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+128   (int (*)(...))__cxa_pure_virtual
+136   (int (*)(...))__cxa_pure_virtual
+144   (int (*)(...))__cxa_pure_virtual
+152   (int (*)(...))__cxa_pure_virtual
+160   (int (*)(...))__cxa_pure_virtual
+168   (int (*)(...))__cxa_pure_virtual
+176   (int (*)(...))__cxa_pure_virtual
+184   (int (*)(...))__cxa_pure_virtual
+192   (int (*)(...))__cxa_pure_virtual
+200   (int (*)(...))__cxa_pure_virtual
+208   (int (*)(...))QAbstractEventDispatcher::startingUp
+216   (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+   size=16 align=8
+   base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f66368623a8) 0
+    vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+  QObject (0x0x7f66367cfcc0) 0
+      primary-for QAbstractEventDispatcher (0x0x7f66368623a8)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt9type_info)
+16    (int (*)(...))std::type_info::~type_info
+24    (int (*)(...))std::type_info::~type_info
+32    (int (*)(...))std::type_info::__is_pointer_p
+40    (int (*)(...))std::type_info::__is_function_p
+48    (int (*)(...))std::type_info::__do_catch
+56    (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+   size=16 align=8
+   base size=16 base align=8
+std::type_info (0x0x7f66367cfde0) 0
+    vptr=((& std::type_info::_ZTVSt9type_info) + 16u)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt8bad_cast)
+16    (int (*)(...))std::bad_cast::~bad_cast
+24    (int (*)(...))std::bad_cast::~bad_cast
+32    (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+   size=8 align=8
+   base size=8 base align=8
+std::bad_cast (0x0x7f6636862410) 0 nearly-empty
+    vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16u)
+  std::exception (0x0x7f66367cfe40) 0 nearly-empty
+      primary-for std::bad_cast (0x0x7f6636862410)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt10bad_typeid)
+16    (int (*)(...))std::bad_typeid::~bad_typeid
+24    (int (*)(...))std::bad_typeid::~bad_typeid
+32    (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+   size=8 align=8
+   base size=8 base align=8
+std::bad_typeid (0x0x7f6636862478) 0 nearly-empty
+    vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16u)
+  std::exception (0x0x7f66367cfea0) 0 nearly-empty
+      primary-for std::bad_typeid (0x0x7f6636862478)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt17bad_function_call)
+16    (int (*)(...))std::bad_function_call::~bad_function_call
+24    (int (*)(...))std::bad_function_call::~bad_function_call
+32    (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+   size=8 align=8
+   base size=8 base align=8
+std::bad_function_call (0x0x7f663662a6e8) 0 nearly-empty
+    vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16u)
+  std::exception (0x0x7f6636605f60) 0 nearly-empty
+      primary-for std::bad_function_call (0x0x7f663662a6e8)
+
+Class std::_Nocopy_types
+   size=16 align=8
+   base size=16 base align=8
+std::_Nocopy_types (0x0x7f66366bc060) 0
+
+Class std::_Any_data
+   size=16 align=8
+   base size=16 base align=8
+std::_Any_data (0x0x7f66366bc0c0) 0
+
+Class std::_Function_base
+   size=24 align=8
+   base size=24 base align=8
+std::_Function_base (0x0x7f66366bc1e0) 0
+
+Class QMapNodeBase
+   size=24 align=8
+   base size=24 base align=8
+QMapNodeBase (0x0x7f66366bc6c0) 0
+
+Class QMapDataBase
+   size=40 align=8
+   base size=40 base align=8
+QMapDataBase (0x0x7f66366bc780) 0
+
+Class QHashData::Node
+   size=16 align=8
+   base size=16 base align=8
+QHashData::Node (0x0x7f66366bcb40) 0
+
+Class QHashData
+   size=48 align=8
+   base size=44 base align=8
+QHashData (0x0x7f66366bcae0) 0
+
+Class QHashDummyValue
+   size=1 align=1
+   base size=0 base align=1
+QHashDummyValue (0x0x7f66366bcba0) 0 empty
+
+Class QVariant::PrivateShared
+   size=16 align=8
+   base size=12 base align=8
+QVariant::PrivateShared (0x0x7f663645f720) 0
+
+Class QVariant::Private::Data
+   size=8 align=8
+   base size=8 base align=8
+QVariant::Private::Data (0x0x7f663645f7e0) 0
+
+Class QVariant::Private
+   size=16 align=8
+   base size=12 base align=8
+QVariant::Private (0x0x7f663645f780) 0
+
+Class QVariant::Handler
+   size=72 align=8
+   base size=72 base align=8
+QVariant::Handler (0x0x7f663645f840) 0
+
+Class QVariant
+   size=16 align=8
+   base size=16 base align=8
+QVariant (0x0x7f663645f6c0) 0
+
+Class QVariantComparisonHelper
+   size=8 align=8
+   base size=8 base align=8
+QVariantComparisonHelper (0x0x7f66361f6b40) 0
+
+Class QSequentialIterable::const_iterator
+   size=112 align=8
+   base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f66361f6e40) 0
+
+Class QSequentialIterable
+   size=104 align=8
+   base size=104 base align=8
+QSequentialIterable (0x0x7f66361f6de0) 0
+
+Class QAssociativeIterable::const_iterator
+   size=120 align=8
+   base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f66361f6f00) 0
+
+Class QAssociativeIterable
+   size=112 align=8
+   base size=112 base align=8
+QAssociativeIterable (0x0x7f66361f6ea0) 0
+
+Class QModelIndex
+   size=24 align=8
+   base size=24 base align=8
+QModelIndex (0x0x7f663601f960) 0
+
+Class QPersistentModelIndex
+   size=8 align=8
+   base size=8 base align=8
+QPersistentModelIndex (0x0x7f663601fc00) 0
+
+Class QAbstractItemModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f6636104c00) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI18QAbstractItemModel)
+16    (int (*)(...))QAbstractItemModel::metaObject
+24    (int (*)(...))QAbstractItemModel::qt_metacast
+32    (int (*)(...))QAbstractItemModel::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+128   (int (*)(...))QAbstractItemModel::sibling
+136   (int (*)(...))__cxa_pure_virtual
+144   (int (*)(...))__cxa_pure_virtual
+152   (int (*)(...))QAbstractItemModel::hasChildren
+160   (int (*)(...))__cxa_pure_virtual
+168   (int (*)(...))QAbstractItemModel::setData
+176   (int (*)(...))QAbstractItemModel::headerData
+184   (int (*)(...))QAbstractItemModel::setHeaderData
+192   (int (*)(...))QAbstractItemModel::itemData
+200   (int (*)(...))QAbstractItemModel::setItemData
+208   (int (*)(...))QAbstractItemModel::mimeTypes
+216   (int (*)(...))QAbstractItemModel::mimeData
+224   (int (*)(...))QAbstractItemModel::canDropMimeData
+232   (int (*)(...))QAbstractItemModel::dropMimeData
+240   (int (*)(...))QAbstractItemModel::supportedDropActions
+248   (int (*)(...))QAbstractItemModel::supportedDragActions
+256   (int (*)(...))QAbstractItemModel::insertRows
+264   (int (*)(...))QAbstractItemModel::insertColumns
+272   (int (*)(...))QAbstractItemModel::removeRows
+280   (int (*)(...))QAbstractItemModel::removeColumns
+288   (int (*)(...))QAbstractItemModel::moveRows
+296   (int (*)(...))QAbstractItemModel::moveColumns
+304   (int (*)(...))QAbstractItemModel::fetchMore
+312   (int (*)(...))QAbstractItemModel::canFetchMore
+320   (int (*)(...))QAbstractItemModel::flags
+328   (int (*)(...))QAbstractItemModel::sort
+336   (int (*)(...))QAbstractItemModel::buddy
+344   (int (*)(...))QAbstractItemModel::match
+352   (int (*)(...))QAbstractItemModel::span
+360   (int (*)(...))QAbstractItemModel::roleNames
+368   (int (*)(...))QAbstractItemModel::submit
+376   (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+   size=16 align=8
+   base size=16 base align=8
+QAbstractItemModel (0x0x7f6636117888) 0
+    vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+  QObject (0x0x7f6636104ba0) 0
+      primary-for QAbstractItemModel (0x0x7f6636117888)
+
+Class QAbstractTableModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f6636104f60) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI19QAbstractTableModel)
+16    (int (*)(...))QAbstractTableModel::metaObject
+24    (int (*)(...))QAbstractTableModel::qt_metacast
+32    (int (*)(...))QAbstractTableModel::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QAbstractTableModel::index
+120   (int (*)(...))QAbstractTableModel::parent
+128   (int (*)(...))QAbstractTableModel::sibling
+136   (int (*)(...))__cxa_pure_virtual
+144   (int (*)(...))__cxa_pure_virtual
+152   (int (*)(...))QAbstractTableModel::hasChildren
+160   (int (*)(...))__cxa_pure_virtual
+168   (int (*)(...))QAbstractItemModel::setData
+176   (int (*)(...))QAbstractItemModel::headerData
+184   (int (*)(...))QAbstractItemModel::setHeaderData
+192   (int (*)(...))QAbstractItemModel::itemData
+200   (int (*)(...))QAbstractItemModel::setItemData
+208   (int (*)(...))QAbstractItemModel::mimeTypes
+216   (int (*)(...))QAbstractItemModel::mimeData
+224   (int (*)(...))QAbstractItemModel::canDropMimeData
+232   (int (*)(...))QAbstractTableModel::dropMimeData
+240   (int (*)(...))QAbstractItemModel::supportedDropActions
+248   (int (*)(...))QAbstractItemModel::supportedDragActions
+256   (int (*)(...))QAbstractItemModel::insertRows
+264   (int (*)(...))QAbstractItemModel::insertColumns
+272   (int (*)(...))QAbstractItemModel::removeRows
+280   (int (*)(...))QAbstractItemModel::removeColumns
+288   (int (*)(...))QAbstractItemModel::moveRows
+296   (int (*)(...))QAbstractItemModel::moveColumns
+304   (int (*)(...))QAbstractItemModel::fetchMore
+312   (int (*)(...))QAbstractItemModel::canFetchMore
+320   (int (*)(...))QAbstractTableModel::flags
+328   (int (*)(...))QAbstractItemModel::sort
+336   (int (*)(...))QAbstractItemModel::buddy
+344   (int (*)(...))QAbstractItemModel::match
+352   (int (*)(...))QAbstractItemModel::span
+360   (int (*)(...))QAbstractItemModel::roleNames
+368   (int (*)(...))QAbstractItemModel::submit
+376   (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+   size=16 align=8
+   base size=16 base align=8
+QAbstractTableModel (0x0x7f6636117a90) 0
+    vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+  QAbstractItemModel (0x0x7f6636117af8) 0
+      primary-for QAbstractTableModel (0x0x7f6636117a90)
+    QObject (0x0x7f6636104f00) 0
+        primary-for QAbstractItemModel (0x0x7f6636117af8)
+
+Class QAbstractListModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f6635dd6060) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI18QAbstractListModel)
+16    (int (*)(...))QAbstractListModel::metaObject
+24    (int (*)(...))QAbstractListModel::qt_metacast
+32    (int (*)(...))QAbstractListModel::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QAbstractListModel::index
+120   (int (*)(...))QAbstractListModel::parent
+128   (int (*)(...))QAbstractListModel::sibling
+136   (int (*)(...))__cxa_pure_virtual
+144   (int (*)(...))QAbstractListModel::columnCount
+152   (int (*)(...))QAbstractListModel::hasChildren
+160   (int (*)(...))__cxa_pure_virtual
+168   (int (*)(...))QAbstractItemModel::setData
+176   (int (*)(...))QAbstractItemModel::headerData
+184   (int (*)(...))QAbstractItemModel::setHeaderData
+192   (int (*)(...))QAbstractItemModel::itemData
+200   (int (*)(...))QAbstractItemModel::setItemData
+208   (int (*)(...))QAbstractItemModel::mimeTypes
+216   (int (*)(...))QAbstractItemModel::mimeData
+224   (int (*)(...))QAbstractItemModel::canDropMimeData
+232   (int (*)(...))QAbstractListModel::dropMimeData
+240   (int (*)(...))QAbstractItemModel::supportedDropActions
+248   (int (*)(...))QAbstractItemModel::supportedDragActions
+256   (int (*)(...))QAbstractItemModel::insertRows
+264   (int (*)(...))QAbstractItemModel::insertColumns
+272   (int (*)(...))QAbstractItemModel::removeRows
+280   (int (*)(...))QAbstractItemModel::removeColumns
+288   (int (*)(...))QAbstractItemModel::moveRows
+296   (int (*)(...))QAbstractItemModel::moveColumns
+304   (int (*)(...))QAbstractItemModel::fetchMore
+312   (int (*)(...))QAbstractItemModel::canFetchMore
+320   (int (*)(...))QAbstractListModel::flags
+328   (int (*)(...))QAbstractItemModel::sort
+336   (int (*)(...))QAbstractItemModel::buddy
+344   (int (*)(...))QAbstractItemModel::match
+352   (int (*)(...))QAbstractItemModel::span
+360   (int (*)(...))QAbstractItemModel::roleNames
+368   (int (*)(...))QAbstractItemModel::submit
+376   (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+   size=16 align=8
+   base size=16 base align=8
+QAbstractListModel (0x0x7f6636117b60) 0
+    vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+  QAbstractItemModel (0x0x7f6636117bc8) 0
+      primary-for QAbstractListModel (0x0x7f6636117b60)
+    QObject (0x0x7f6635dd6000) 0
+        primary-for QAbstractItemModel (0x0x7f6636117bc8)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16    0u
+24    0u
+32    (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+   size=16 align=8
+   base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f6635dd6300) 0
+    vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16u)
+
+Class QAbstractProxyModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f6635dd63c0) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16    (int (*)(...))QAbstractProxyModel::metaObject
+24    (int (*)(...))QAbstractProxyModel::qt_metacast
+32    (int (*)(...))QAbstractProxyModel::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+128   (int (*)(...))QAbstractProxyModel::sibling
+136   (int (*)(...))__cxa_pure_virtual
+144   (int (*)(...))__cxa_pure_virtual
+152   (int (*)(...))QAbstractProxyModel::hasChildren
+160   (int (*)(...))QAbstractProxyModel::data
+168   (int (*)(...))QAbstractProxyModel::setData
+176   (int (*)(...))QAbstractProxyModel::headerData
+184   (int (*)(...))QAbstractProxyModel::setHeaderData
+192   (int (*)(...))QAbstractProxyModel::itemData
+200   (int (*)(...))QAbstractProxyModel::setItemData
+208   (int (*)(...))QAbstractProxyModel::mimeTypes
+216   (int (*)(...))QAbstractProxyModel::mimeData
+224   (int (*)(...))QAbstractProxyModel::canDropMimeData
+232   (int (*)(...))QAbstractProxyModel::dropMimeData
+240   (int (*)(...))QAbstractProxyModel::supportedDropActions
+248   (int (*)(...))QAbstractProxyModel::supportedDragActions
+256   (int (*)(...))QAbstractItemModel::insertRows
+264   (int (*)(...))QAbstractItemModel::insertColumns
+272   (int (*)(...))QAbstractItemModel::removeRows
+280   (int (*)(...))QAbstractItemModel::removeColumns
+288   (int (*)(...))QAbstractItemModel::moveRows
+296   (int (*)(...))QAbstractItemModel::moveColumns
+304   (int (*)(...))QAbstractProxyModel::fetchMore
+312   (int (*)(...))QAbstractProxyModel::canFetchMore
+320   (int (*)(...))QAbstractProxyModel::flags
+328   (int (*)(...))QAbstractProxyModel::sort
+336   (int (*)(...))QAbstractProxyModel::buddy
+344   (int (*)(...))QAbstractItemModel::match
+352   (int (*)(...))QAbstractProxyModel::span
+360   (int (*)(...))QAbstractItemModel::roleNames
+368   (int (*)(...))QAbstractProxyModel::submit
+376   (int (*)(...))QAbstractProxyModel::revert
+384   (int (*)(...))QAbstractProxyModel::setSourceModel
+392   (int (*)(...))__cxa_pure_virtual
+400   (int (*)(...))__cxa_pure_virtual
+408   (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416   (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+   size=16 align=8
+   base size=16 base align=8
+QAbstractProxyModel (0x0x7f6636117d00) 0
+    vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+  QAbstractItemModel (0x0x7f6636117d68) 0
+      primary-for QAbstractProxyModel (0x0x7f6636117d00)
+    QObject (0x0x7f6635dd6360) 0
+        primary-for QAbstractItemModel (0x0x7f6636117d68)
+
+Class QAbstractState::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f6635dd6480) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI14QAbstractState)
+16    (int (*)(...))QAbstractState::metaObject
+24    (int (*)(...))QAbstractState::qt_metacast
+32    (int (*)(...))QAbstractState::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QAbstractState::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+   size=16 align=8
+   base size=16 base align=8
+QAbstractState (0x0x7f6636117dd0) 0
+    vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+  QObject (0x0x7f6635dd6420) 0
+      primary-for QAbstractState (0x0x7f6636117dd0)
+
+Class QAbstractTransition::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f6635dd6540) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI19QAbstractTransition)
+16    (int (*)(...))QAbstractTransition::metaObject
+24    (int (*)(...))QAbstractTransition::qt_metacast
+32    (int (*)(...))QAbstractTransition::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QAbstractTransition::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+   size=16 align=8
+   base size=16 base align=8
+QAbstractTransition (0x0x7f6636117e38) 0
+    vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+  QObject (0x0x7f6635dd64e0) 0
+      primary-for QAbstractTransition (0x0x7f6636117e38)
+
+Class QAnimationGroup::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f6635dd6600) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI15QAnimationGroup)
+16    (int (*)(...))QAnimationGroup::metaObject
+24    (int (*)(...))QAnimationGroup::qt_metacast
+32    (int (*)(...))QAnimationGroup::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QAnimationGroup::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+128   (int (*)(...))QAbstractAnimation::updateState
+136   (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+   size=16 align=8
+   base size=16 base align=8
+QAnimationGroup (0x0x7f6636117ea0) 0
+    vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+  QAbstractAnimation (0x0x7f6636117f08) 0
+      primary-for QAnimationGroup (0x0x7f6636117ea0)
+    QObject (0x0x7f6635dd65a0) 0
+        primary-for QAbstractAnimation (0x0x7f6636117f08)
+
+Class QBasicTimer
+   size=4 align=4
+   base size=4 base align=4
+QBasicTimer (0x0x7f6635dd6ae0) 0
+
+Class QBitArray
+   size=8 align=8
+   base size=8 base align=8
+QBitArray (0x0x7f6635dd6d80) 0
+
+Class QBitRef
+   size=16 align=8
+   base size=12 base align=8
+QBitRef (0x0x7f6635f1d000) 0
+
+Class QIODevice::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f6635f1d360) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI9QIODevice)
+16    (int (*)(...))QIODevice::metaObject
+24    (int (*)(...))QIODevice::qt_metacast
+32    (int (*)(...))QIODevice::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QIODevice::isSequential
+120   (int (*)(...))QIODevice::open
+128   (int (*)(...))QIODevice::close
+136   (int (*)(...))QIODevice::pos
+144   (int (*)(...))QIODevice::size
+152   (int (*)(...))QIODevice::seek
+160   (int (*)(...))QIODevice::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QIODevice::bytesAvailable
+184   (int (*)(...))QIODevice::bytesToWrite
+192   (int (*)(...))QIODevice::canReadLine
+200   (int (*)(...))QIODevice::waitForReadyRead
+208   (int (*)(...))QIODevice::waitForBytesWritten
+216   (int (*)(...))__cxa_pure_virtual
+224   (int (*)(...))QIODevice::readLineData
+232   (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+   size=16 align=8
+   base size=16 base align=8
+QIODevice (0x0x7f6635f33000) 0
+    vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+  QObject (0x0x7f6635f1d300) 0
+      primary-for QIODevice (0x0x7f6635f33000)
+
+Class QBuffer::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f6635f1d5a0) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI7QBuffer)
+16    (int (*)(...))QBuffer::metaObject
+24    (int (*)(...))QBuffer::qt_metacast
+32    (int (*)(...))QBuffer::qt_metacall
+40    (int (*)(...))QBuffer::~QBuffer
+48    (int (*)(...))QBuffer::~QBuffer
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QBuffer::connectNotify
+104   (int (*)(...))QBuffer::disconnectNotify
+112   (int (*)(...))QIODevice::isSequential
+120   (int (*)(...))QBuffer::open
+128   (int (*)(...))QBuffer::close
+136   (int (*)(...))QBuffer::pos
+144   (int (*)(...))QBuffer::size
+152   (int (*)(...))QBuffer::seek
+160   (int (*)(...))QBuffer::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QIODevice::bytesAvailable
+184   (int (*)(...))QIODevice::bytesToWrite
+192   (int (*)(...))QBuffer::canReadLine
+200   (int (*)(...))QIODevice::waitForReadyRead
+208   (int (*)(...))QIODevice::waitForBytesWritten
+216   (int (*)(...))QBuffer::readData
+224   (int (*)(...))QIODevice::readLineData
+232   (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+   size=16 align=8
+   base size=16 base align=8
+QBuffer (0x0x7f6635f33138) 0
+    vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+  QIODevice (0x0x7f6635f331a0) 0
+      primary-for QBuffer (0x0x7f6635f33138)
+    QObject (0x0x7f6635f1d540) 0
+        primary-for QIODevice (0x0x7f6635f331a0)
+
+Class QByteArrayMatcher::Data
+   size=272 align=8
+   base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f6635f1d660) 0
+
+Class QByteArrayMatcher
+   size=1040 align=8
+   base size=1040 base align=8
+QByteArrayMatcher (0x0x7f6635f1d600) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+   size=256 align=1
+   base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f6635f1d780) 0
+
+Class QStaticByteArrayMatcherBase
+   size=256 align=16
+   base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f6635f1d720) 0
+
+Class QSharedData
+   size=4 align=4
+   base size=4 base align=4
+QSharedData (0x0x7f6635f1d960) 0
+
+Class QLocale
+   size=8 align=8
+   base size=8 base align=8
+QLocale (0x0x7f6635f1db40) 0
+
+Class QCollatorSortKey
+   size=8 align=8
+   base size=8 base align=8
+QCollatorSortKey (0x0x7f6635cd1000) 0
+
+Class QCollator
+   size=8 align=8
+   base size=8 base align=8
+QCollator (0x0x7f6635cd10c0) 0
+
+Class QCommandLineOption
+   size=8 align=8
+   base size=8 base align=8
+QCommandLineOption (0x0x7f6635d6d0c0) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI6QEvent)
+16    (int (*)(...))QEvent::~QEvent
+24    (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+   size=24 align=8
+   base size=20 base align=8
+QEvent (0x0x7f6635d6d540) 0
+    vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QTimerEvent)
+16    (int (*)(...))QTimerEvent::~QTimerEvent
+24    (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+   size=24 align=8
+   base size=24 base align=8
+QTimerEvent (0x0x7f6635d68548) 0
+    vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+  QEvent (0x0x7f6635d6d5a0) 0
+      primary-for QTimerEvent (0x0x7f6635d68548)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QChildEvent)
+16    (int (*)(...))QChildEvent::~QChildEvent
+24    (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+   size=32 align=8
+   base size=32 base align=8
+QChildEvent (0x0x7f6635d685b0) 0
+    vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+  QEvent (0x0x7f6635d6d600) 0
+      primary-for QChildEvent (0x0x7f6635d685b0)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16    (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24    (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+   size=32 align=8
+   base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f6635d68618) 0
+    vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+  QEvent (0x0x7f6635d6d660) 0
+      primary-for QDynamicPropertyChangeEvent (0x0x7f6635d68618)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16    (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24    (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+   size=24 align=8
+   base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f6635d68680) 0
+    vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16u)
+  QEvent (0x0x7f6635d6d6c0) 0
+      primary-for QDeferredDeleteEvent (0x0x7f6635d68680)
+
+Class QCoreApplication::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f6635d6d780) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI16QCoreApplication)
+16    (int (*)(...))QCoreApplication::metaObject
+24    (int (*)(...))QCoreApplication::qt_metacast
+32    (int (*)(...))QCoreApplication::qt_metacall
+40    (int (*)(...))QCoreApplication::~QCoreApplication
+48    (int (*)(...))QCoreApplication::~QCoreApplication
+56    (int (*)(...))QCoreApplication::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QCoreApplication::notify
+120   (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+   size=16 align=8
+   base size=16 base align=8
+QCoreApplication (0x0x7f6635d686e8) 0
+    vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+  QObject (0x0x7f6635d6d720) 0
+      primary-for QCoreApplication (0x0x7f6635d686e8)
+
+Class QCommandLineParser
+   size=8 align=8
+   base size=8 base align=8
+QCommandLineParser (0x0x7f6635d6d7e0) 0
+
+Class QContiguousCacheData
+   size=24 align=4
+   base size=24 base align=4
+QContiguousCacheData (0x0x7f6635d6d840) 0
+
+Class QCryptographicHash
+   size=8 align=8
+   base size=8 base align=8
+QCryptographicHash (0x0x7f6635d6dae0) 0
+
+Class QDataStream
+   size=32 align=8
+   base size=32 base align=8
+QDataStream (0x0x7f6635d6db40) 0
+
+Class QtPrivate::StreamStateSaver
+   size=16 align=8
+   base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f6635d6dc00) 0
+
+Class QDate
+   size=8 align=8
+   base size=8 base align=8
+QDate (0x0x7f6635d6dc60) 0
+
+Class QTime
+   size=4 align=4
+   base size=4 base align=4
+QTime (0x0x7f6635d6df00) 0
+
+Class QDateTime::ShortData
+   size=8 align=8
+   base size=8 base align=8
+QDateTime::ShortData (0x0x7f6635ada240) 0
+
+Class QDateTime::Data
+   size=8 align=8
+   base size=8 base align=8
+QDateTime::Data (0x0x7f6635ada2a0) 0
+
+Class QDateTime
+   size=8 align=8
+   base size=8 base align=8
+QDateTime (0x0x7f6635ada1e0) 0
+
+Class QElapsedTimer
+   size=16 align=8
+   base size=16 base align=8
+QElapsedTimer (0x0x7f663577d060) 0
+
+Class QDeadlineTimer
+   size=16 align=8
+   base size=16 base align=8
+QDeadlineTimer (0x0x7f663577d0c0) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QTextStream)
+16    (int (*)(...))QTextStream::~QTextStream
+24    (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+   size=16 align=8
+   base size=16 base align=8
+QTextStream (0x0x7f6635875cc0) 0
+    vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+   size=40 align=8
+   base size=38 base align=8
+QTextStreamManipulator (0x0x7f6635875f60) 0
+
+Class QtSharedPointer::NormalDeleter
+   size=1 align=1
+   base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f66359311e0) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+   size=16 align=8
+   base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f6635931360) 0
+
+Class QDebug::Stream
+   size=80 align=8
+   base size=76 base align=8
+QDebug::Stream (0x0x7f66359317e0) 0
+
+Class QDebug
+   size=8 align=8
+   base size=8 base align=8
+QDebug (0x0x7f6635931780) 0
+
+Class QDebugStateSaver
+   size=8 align=8
+   base size=8 base align=8
+QDebugStateSaver (0x0x7f66357109c0) 0
+
+Class QNoDebug
+   size=1 align=1
+   base size=0 base align=1
+QNoDebug (0x0x7f6635710a80) 0 empty
+
+Class QFileDevice::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f6635710b40) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QFileDevice)
+16    (int (*)(...))QFileDevice::metaObject
+24    (int (*)(...))QFileDevice::qt_metacast
+32    (int (*)(...))QFileDevice::qt_metacall
+40    (int (*)(...))QFileDevice::~QFileDevice
+48    (int (*)(...))QFileDevice::~QFileDevice
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QFileDevice::isSequential
+120   (int (*)(...))QIODevice::open
+128   (int (*)(...))QFileDevice::close
+136   (int (*)(...))QFileDevice::pos
+144   (int (*)(...))QFileDevice::size
+152   (int (*)(...))QFileDevice::seek
+160   (int (*)(...))QFileDevice::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QIODevice::bytesAvailable
+184   (int (*)(...))QIODevice::bytesToWrite
+192   (int (*)(...))QIODevice::canReadLine
+200   (int (*)(...))QIODevice::waitForReadyRead
+208   (int (*)(...))QIODevice::waitForBytesWritten
+216   (int (*)(...))QFileDevice::readData
+224   (int (*)(...))QFileDevice::readLineData
+232   (int (*)(...))QFileDevice::writeData
+240   (int (*)(...))QFileDevice::fileName
+248   (int (*)(...))QFileDevice::resize
+256   (int (*)(...))QFileDevice::permissions
+264   (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+   size=16 align=8
+   base size=16 base align=8
+QFileDevice (0x0x7f663571b680) 0
+    vptr=((& QFileDevice::_ZTV11QFileDevice) + 16u)
+  QIODevice (0x0x7f663571b6e8) 0
+      primary-for QFileDevice (0x0x7f663571b680)
+    QObject (0x0x7f6635710ae0) 0
+        primary-for QIODevice (0x0x7f663571b6e8)
+
+Class QFile::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f6635710d80) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI5QFile)
+16    (int (*)(...))QFile::metaObject
+24    (int (*)(...))QFile::qt_metacast
+32    (int (*)(...))QFile::qt_metacall
+40    (int (*)(...))QFile::~QFile
+48    (int (*)(...))QFile::~QFile
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QFileDevice::isSequential
+120   (int (*)(...))QFile::open
+128   (int (*)(...))QFileDevice::close
+136   (int (*)(...))QFileDevice::pos
+144   (int (*)(...))QFile::size
+152   (int (*)(...))QFileDevice::seek
+160   (int (*)(...))QFileDevice::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QIODevice::bytesAvailable
+184   (int (*)(...))QIODevice::bytesToWrite
+192   (int (*)(...))QIODevice::canReadLine
+200   (int (*)(...))QIODevice::waitForReadyRead
+208   (int (*)(...))QIODevice::waitForBytesWritten
+216   (int (*)(...))QFileDevice::readData
+224   (int (*)(...))QFileDevice::readLineData
+232   (int (*)(...))QFileDevice::writeData
+240   (int (*)(...))QFile::fileName
+248   (int (*)(...))QFile::resize
+256   (int (*)(...))QFile::permissions
+264   (int (*)(...))QFile::setPermissions
+
+Class QFile
+   size=16 align=8
+   base size=16 base align=8
+QFile (0x0x7f663571b820) 0
+    vptr=((& QFile::_ZTV5QFile) + 16u)
+  QFileDevice (0x0x7f663571b888) 0
+      primary-for QFile (0x0x7f663571b820)
+    QIODevice (0x0x7f663571b8f0) 0
+        primary-for QFileDevice (0x0x7f663571b888)
+      QObject (0x0x7f6635710d20) 0
+          primary-for QIODevice (0x0x7f663571b8f0)
+
+Class QFileInfo
+   size=8 align=8
+   base size=8 base align=8
+QFileInfo (0x0x7f6635710f60) 0
+
+Class QDir
+   size=8 align=8
+   base size=8 base align=8
+QDir (0x0x7f66354293c0) 0
+
+Class QDirIterator
+   size=8 align=8
+   base size=8 base align=8
+QDirIterator (0x0x7f6635429d80) 0
+
+Class QEasingCurve
+   size=8 align=8
+   base size=8 base align=8
+QEasingCurve (0x0x7f663551c000) 0
+
+Class QEventTransition::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f66351ad240) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI16QEventTransition)
+16    (int (*)(...))QEventTransition::metaObject
+24    (int (*)(...))QEventTransition::qt_metacast
+32    (int (*)(...))QEventTransition::qt_metacall
+40    (int (*)(...))QEventTransition::~QEventTransition
+48    (int (*)(...))QEventTransition::~QEventTransition
+56    (int (*)(...))QEventTransition::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QEventTransition::eventTest
+120   (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+   size=16 align=8
+   base size=16 base align=8
+QEventTransition (0x0x7f663519cbc8) 0
+    vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+  QAbstractTransition (0x0x7f663519cc30) 0
+      primary-for QEventTransition (0x0x7f663519cbc8)
+    QObject (0x0x7f66351ad1e0) 0
+        primary-for QAbstractTransition (0x0x7f663519cc30)
+
+Vtable for QException
+QException::_ZTV10QException: 7u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI10QException)
+16    (int (*)(...))QException::~QException
+24    (int (*)(...))QException::~QException
+32    (int (*)(...))std::exception::what
+40    (int (*)(...))QException::raise
+48    (int (*)(...))QException::clone
+
+Class QException
+   size=8 align=8
+   base size=8 base align=8
+QException (0x0x7f663519cc98) 0 nearly-empty
+    vptr=((& QException::_ZTV10QException) + 16u)
+  std::exception (0x0x7f66351ad2a0) 0 nearly-empty
+      primary-for QException (0x0x7f663519cc98)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI19QUnhandledException)
+16    (int (*)(...))QUnhandledException::~QUnhandledException
+24    (int (*)(...))QUnhandledException::~QUnhandledException
+32    (int (*)(...))std::exception::what
+40    (int (*)(...))QUnhandledException::raise
+48    (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+   size=8 align=8
+   base size=8 base align=8
+QUnhandledException (0x0x7f663519cd00) 0 nearly-empty
+    vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16u)
+  QException (0x0x7f663519cd68) 0 nearly-empty
+      primary-for QUnhandledException (0x0x7f663519cd00)
+    std::exception (0x0x7f66351ad300) 0 nearly-empty
+        primary-for QException (0x0x7f663519cd68)
+
+Class QtPrivate::ExceptionHolder
+   size=8 align=8
+   base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f66351ad360) 0
+
+Class QtPrivate::ExceptionStore
+   size=8 align=8
+   base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f66351ad420) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI17QFactoryInterface)
+16    0u
+24    0u
+32    (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+   size=8 align=8
+   base size=8 base align=8
+QFactoryInterface (0x0x7f66351ad480) 0 nearly-empty
+    vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Class QFileSelector::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f66351ad5a0) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI13QFileSelector)
+16    (int (*)(...))QFileSelector::metaObject
+24    (int (*)(...))QFileSelector::qt_metacast
+32    (int (*)(...))QFileSelector::qt_metacall
+40    (int (*)(...))QFileSelector::~QFileSelector
+48    (int (*)(...))QFileSelector::~QFileSelector
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+   size=16 align=8
+   base size=16 base align=8
+QFileSelector (0x0x7f663519cdd0) 0
+    vptr=((& QFileSelector::_ZTV13QFileSelector) + 16u)
+  QObject (0x0x7f66351ad540) 0
+      primary-for QFileSelector (0x0x7f663519cdd0)
+
+Class QFileSystemWatcher::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f66351ad660) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16    (int (*)(...))QFileSystemWatcher::metaObject
+24    (int (*)(...))QFileSystemWatcher::qt_metacast
+32    (int (*)(...))QFileSystemWatcher::qt_metacall
+40    (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48    (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+   size=16 align=8
+   base size=16 base align=8
+QFileSystemWatcher (0x0x7f663519ce38) 0
+    vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+  QObject (0x0x7f66351ad600) 0
+      primary-for QFileSystemWatcher (0x0x7f663519ce38)
+
+Class QFinalState::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f66351ad720) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QFinalState)
+16    (int (*)(...))QFinalState::metaObject
+24    (int (*)(...))QFinalState::qt_metacast
+32    (int (*)(...))QFinalState::qt_metacall
+40    (int (*)(...))QFinalState::~QFinalState
+48    (int (*)(...))QFinalState::~QFinalState
+56    (int (*)(...))QFinalState::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QFinalState::onEntry
+120   (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+   size=16 align=8
+   base size=16 base align=8
+QFinalState (0x0x7f663519cea0) 0
+    vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+  QAbstractState (0x0x7f663519cf08) 0
+      primary-for QFinalState (0x0x7f663519cea0)
+    QObject (0x0x7f66351ad6c0) 0
+        primary-for QAbstractState (0x0x7f663519cf08)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI9QRunnable)
+16    (int (*)(...))__cxa_pure_virtual
+24    0u
+32    0u
+
+Class QRunnable
+   size=16 align=8
+   base size=12 base align=8
+QRunnable (0x0x7f66351ad780) 0
+    vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QBasicMutex
+   size=8 align=8
+   base size=8 base align=8
+QBasicMutex (0x0x7f66351ad7e0) 0
+
+Class QMutex
+   size=8 align=8
+   base size=8 base align=8
+QMutex (0x0x7f6635274068) 0
+  QBasicMutex (0x0x7f66351ada20) 0
+
+Class QMutexLocker
+   size=8 align=8
+   base size=8 base align=8
+QMutexLocker (0x0x7f66351adae0) 0
+
+Class QtPrivate::ResultItem
+   size=16 align=8
+   base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f66351adba0) 0
+
+Class QtPrivate::ResultIteratorBase
+   size=16 align=8
+   base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f66351adc00) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16    (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24    (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+   size=48 align=8
+   base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f66351add20) 0
+    vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16    (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24    (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+   size=16 align=8
+   base size=16 base align=8
+QFutureInterfaceBase (0x0x7f66351add80) 0
+    vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Class QFutureWatcherBase::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f6634f79120) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16    (int (*)(...))QFutureWatcherBase::metaObject
+24    (int (*)(...))QFutureWatcherBase::qt_metacast
+32    (int (*)(...))QFutureWatcherBase::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QFutureWatcherBase::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QFutureWatcherBase::connectNotify
+104   (int (*)(...))QFutureWatcherBase::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+   size=16 align=8
+   base size=16 base align=8
+QFutureWatcherBase (0x0x7f6635274478) 0
+    vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+  QObject (0x0x7f6634f790c0) 0
+      primary-for QFutureWatcherBase (0x0x7f6635274478)
+
+Class QHistoryState::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f6634f792a0) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI13QHistoryState)
+16    (int (*)(...))QHistoryState::metaObject
+24    (int (*)(...))QHistoryState::qt_metacast
+32    (int (*)(...))QHistoryState::qt_metacall
+40    (int (*)(...))QHistoryState::~QHistoryState
+48    (int (*)(...))QHistoryState::~QHistoryState
+56    (int (*)(...))QHistoryState::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QHistoryState::onEntry
+120   (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+   size=16 align=8
+   base size=16 base align=8
+QHistoryState (0x0x7f6635274888) 0
+    vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+  QAbstractState (0x0x7f66352748f0) 0
+      primary-for QHistoryState (0x0x7f6635274888)
+    QObject (0x0x7f6634f79240) 0
+        primary-for QAbstractState (0x0x7f66352748f0)
+
+Class QIdentityProxyModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f6634f79360) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16    (int (*)(...))QIdentityProxyModel::metaObject
+24    (int (*)(...))QIdentityProxyModel::qt_metacast
+32    (int (*)(...))QIdentityProxyModel::qt_metacall
+40    (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48    (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QIdentityProxyModel::index
+120   (int (*)(...))QIdentityProxyModel::parent
+128   (int (*)(...))QIdentityProxyModel::sibling
+136   (int (*)(...))QIdentityProxyModel::rowCount
+144   (int (*)(...))QIdentityProxyModel::columnCount
+152   (int (*)(...))QAbstractProxyModel::hasChildren
+160   (int (*)(...))QAbstractProxyModel::data
+168   (int (*)(...))QAbstractProxyModel::setData
+176   (int (*)(...))QIdentityProxyModel::headerData
+184   (int (*)(...))QAbstractProxyModel::setHeaderData
+192   (int (*)(...))QAbstractProxyModel::itemData
+200   (int (*)(...))QAbstractProxyModel::setItemData
+208   (int (*)(...))QAbstractProxyModel::mimeTypes
+216   (int (*)(...))QAbstractProxyModel::mimeData
+224   (int (*)(...))QAbstractProxyModel::canDropMimeData
+232   (int (*)(...))QIdentityProxyModel::dropMimeData
+240   (int (*)(...))QAbstractProxyModel::supportedDropActions
+248   (int (*)(...))QAbstractProxyModel::supportedDragActions
+256   (int (*)(...))QIdentityProxyModel::insertRows
+264   (int (*)(...))QIdentityProxyModel::insertColumns
+272   (int (*)(...))QIdentityProxyModel::removeRows
+280   (int (*)(...))QIdentityProxyModel::removeColumns
+288   (int (*)(...))QAbstractItemModel::moveRows
+296   (int (*)(...))QAbstractItemModel::moveColumns
+304   (int (*)(...))QAbstractProxyModel::fetchMore
+312   (int (*)(...))QAbstractProxyModel::canFetchMore
+320   (int (*)(...))QAbstractProxyModel::flags
+328   (int (*)(...))QAbstractProxyModel::sort
+336   (int (*)(...))QAbstractProxyModel::buddy
+344   (int (*)(...))QIdentityProxyModel::match
+352   (int (*)(...))QAbstractProxyModel::span
+360   (int (*)(...))QAbstractItemModel::roleNames
+368   (int (*)(...))QAbstractProxyModel::submit
+376   (int (*)(...))QAbstractProxyModel::revert
+384   (int (*)(...))QIdentityProxyModel::setSourceModel
+392   (int (*)(...))QIdentityProxyModel::mapToSource
+400   (int (*)(...))QIdentityProxyModel::mapFromSource
+408   (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416   (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+   size=16 align=8
+   base size=16 base align=8
+QIdentityProxyModel (0x0x7f6635274958) 0
+    vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16u)
+  QAbstractProxyModel (0x0x7f66352749c0) 0
+      primary-for QIdentityProxyModel (0x0x7f6635274958)
+    QAbstractItemModel (0x0x7f6635274a28) 0
+        primary-for QAbstractProxyModel (0x0x7f66352749c0)
+      QObject (0x0x7f6634f79300) 0
+          primary-for QAbstractItemModel (0x0x7f6635274a28)
+
+Class QItemSelectionRange
+   size=16 align=8
+   base size=16 base align=8
+QItemSelectionRange (0x0x7f6634f793c0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f6634f79720) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI19QItemSelectionModel)
+16    (int (*)(...))QItemSelectionModel::metaObject
+24    (int (*)(...))QItemSelectionModel::qt_metacast
+32    (int (*)(...))QItemSelectionModel::qt_metacall
+40    (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48    (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QItemSelectionModel::setCurrentIndex
+120   (int (*)(...))QItemSelectionModel::select
+128   (int (*)(...))QItemSelectionModel::select
+136   (int (*)(...))QItemSelectionModel::clear
+144   (int (*)(...))QItemSelectionModel::reset
+152   (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+   size=16 align=8
+   base size=16 base align=8
+QItemSelectionModel (0x0x7f6635274dd0) 0
+    vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+  QObject (0x0x7f6634f796c0) 0
+      primary-for QItemSelectionModel (0x0x7f6635274dd0)
+
+Class QItemSelection
+   size=8 align=8
+   base size=8 base align=8
+QItemSelection (0x0x7f66352740d0) 0
+  QList<QItemSelectionRange> (0x0x7f66350ae000) 0
+    QListSpecialMethods<QItemSelectionRange> (0x0x7f6634f79a20) 0 empty
+
+Class QJsonValue
+   size=24 align=8
+   base size=20 base align=8
+QJsonValue (0x0x7f6634f79f00) 0
+
+Class QJsonValueRef
+   size=16 align=8
+   base size=12 base align=8
+QJsonValueRef (0x0x7f66350f6000) 0
+
+Class QJsonValuePtr
+   size=24 align=8
+   base size=24 base align=8
+QJsonValuePtr (0x0x7f66350f60c0) 0
+
+Class QJsonValueRefPtr
+   size=16 align=8
+   base size=16 base align=8
+QJsonValueRefPtr (0x0x7f66350f6120) 0
+
+Class QJsonArray::iterator
+   size=16 align=8
+   base size=12 base align=8
+QJsonArray::iterator (0x0x7f66350f61e0) 0
+
+Class QJsonArray::const_iterator
+   size=16 align=8
+   base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f66350f6240) 0
+
+Class QJsonArray
+   size=16 align=8
+   base size=16 base align=8
+QJsonArray (0x0x7f66350f6180) 0
+
+Class QJsonParseError
+   size=8 align=4
+   base size=8 base align=4
+QJsonParseError (0x0x7f66350f6300) 0
+
+Class QJsonDocument
+   size=8 align=8
+   base size=8 base align=8
+QJsonDocument (0x0x7f66350f6360) 0
+
+Class QJsonObject::iterator
+   size=16 align=8
+   base size=12 base align=8
+QJsonObject::iterator (0x0x7f66350f6420) 0
+
+Class QJsonObject::const_iterator
+   size=16 align=8
+   base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f66350f6480) 0
+
+Class QJsonObject
+   size=16 align=8
+   base size=16 base align=8
+QJsonObject (0x0x7f66350f63c0) 0
+
+Class QLibrary::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f66350f6660) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI8QLibrary)
+16    (int (*)(...))QLibrary::metaObject
+24    (int (*)(...))QLibrary::qt_metacast
+32    (int (*)(...))QLibrary::qt_metacall
+40    (int (*)(...))QLibrary::~QLibrary
+48    (int (*)(...))QLibrary::~QLibrary
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+   size=32 align=8
+   base size=25 base align=8
+QLibrary (0x0x7f66350ae3a8) 0
+    vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+  QObject (0x0x7f66350f6600) 0
+      primary-for QLibrary (0x0x7f66350ae3a8)
+
+Class QVersionNumber::SegmentStorage
+   size=8 align=8
+   base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f66350f68a0) 0
+
+Class QVersionNumber
+   size=8 align=8
+   base size=8 base align=8
+QVersionNumber (0x0x7f66350f6840) 0
+
+Class QLibraryInfo
+   size=1 align=1
+   base size=0 base align=1
+QLibraryInfo (0x0x7f6634eee600) 0 empty
+
+Class QPoint
+   size=8 align=4
+   base size=8 base align=4
+QPoint (0x0x7f6634eee660) 0
+
+Class QPointF
+   size=16 align=8
+   base size=16 base align=8
+QPointF (0x0x7f6634eee900) 0
+
+Class QLine
+   size=16 align=4
+   base size=16 base align=4
+QLine (0x0x7f6634eeeba0) 0
+
+Class QLineF
+   size=32 align=8
+   base size=32 base align=8
+QLineF (0x0x7f6634eeee40) 0
+
+Class QLinkedListData
+   size=32 align=8
+   base size=25 base align=8
+QLinkedListData (0x0x7f6634bf4120) 0
+
+Class QLockFile
+   size=8 align=8
+   base size=8 base align=8
+QLockFile (0x0x7f6634bf48a0) 0
+
+Class QLoggingCategory::AtomicBools
+   size=4 align=1
+   base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f6634bf4a20) 0
+
+Class QLoggingCategory
+   size=24 align=8
+   base size=24 base align=8
+QLoggingCategory (0x0x7f6634bf49c0) 0
+
+Class QMargins
+   size=16 align=4
+   base size=16 base align=4
+QMargins (0x0x7f6634bf4ba0) 0
+
+Class QMarginsF
+   size=32 align=8
+   base size=32 base align=8
+QMarginsF (0x0x7f6634bf4e40) 0
+
+Class QMessageAuthenticationCode
+   size=8 align=8
+   base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f663496e180) 0
+
+Class QMetaMethod
+   size=16 align=8
+   base size=12 base align=8
+QMetaMethod (0x0x7f663496e1e0) 0
+
+Class QMetaEnum
+   size=16 align=8
+   base size=12 base align=8
+QMetaEnum (0x0x7f663496e480) 0
+
+Class QMetaProperty
+   size=32 align=8
+   base size=32 base align=8
+QMetaProperty (0x0x7f663496e780) 0
+
+Class QMetaClassInfo
+   size=16 align=8
+   base size=12 base align=8
+QMetaClassInfo (0x0x7f663496e7e0) 0
+
+Class QMimeData::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f663496eae0) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI9QMimeData)
+16    (int (*)(...))QMimeData::metaObject
+24    (int (*)(...))QMimeData::qt_metacast
+32    (int (*)(...))QMimeData::qt_metacall
+40    (int (*)(...))QMimeData::~QMimeData
+48    (int (*)(...))QMimeData::~QMimeData
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QMimeData::hasFormat
+120   (int (*)(...))QMimeData::formats
+128   (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+   size=16 align=8
+   base size=16 base align=8
+QMimeData (0x0x7f66349f04e0) 0
+    vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+  QObject (0x0x7f663496ea80) 0
+      primary-for QMimeData (0x0x7f66349f04e0)
+
+Class QMimeType
+   size=8 align=8
+   base size=8 base align=8
+QMimeType (0x0x7f663496eb40) 0
+
+Class QMimeDatabase
+   size=8 align=8
+   base size=8 base align=8
+QMimeDatabase (0x0x7f663496ee40) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f663496ef00) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16    (int (*)(...))QObjectCleanupHandler::metaObject
+24    (int (*)(...))QObjectCleanupHandler::qt_metacast
+32    (int (*)(...))QObjectCleanupHandler::qt_metacall
+40    (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48    (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+   size=24 align=8
+   base size=24 base align=8
+QObjectCleanupHandler (0x0x7f66349f06e8) 0
+    vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+  QObject (0x0x7f663496eea0) 0
+      primary-for QObjectCleanupHandler (0x0x7f66349f06e8)
+
+Class QOperatingSystemVersion
+   size=16 align=4
+   base size=16 base align=4
+QOperatingSystemVersion (0x0x7f663496ef60) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f6634a7c060) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16    (int (*)(...))QParallelAnimationGroup::metaObject
+24    (int (*)(...))QParallelAnimationGroup::qt_metacast
+32    (int (*)(...))QParallelAnimationGroup::qt_metacall
+40    (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48    (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56    (int (*)(...))QParallelAnimationGroup::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QParallelAnimationGroup::duration
+120   (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128   (int (*)(...))QParallelAnimationGroup::updateState
+136   (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+   size=16 align=8
+   base size=16 base align=8
+QParallelAnimationGroup (0x0x7f66349f07b8) 0
+    vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+  QAnimationGroup (0x0x7f66349f0820) 0
+      primary-for QParallelAnimationGroup (0x0x7f66349f07b8)
+    QAbstractAnimation (0x0x7f66349f0888) 0
+        primary-for QAnimationGroup (0x0x7f66349f0820)
+      QObject (0x0x7f6634a7c000) 0
+          primary-for QAbstractAnimation (0x0x7f66349f0888)
+
+Class QPauseAnimation::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f6634a7c120) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI15QPauseAnimation)
+16    (int (*)(...))QPauseAnimation::metaObject
+24    (int (*)(...))QPauseAnimation::qt_metacast
+32    (int (*)(...))QPauseAnimation::qt_metacall
+40    (int (*)(...))QPauseAnimation::~QPauseAnimation
+48    (int (*)(...))QPauseAnimation::~QPauseAnimation
+56    (int (*)(...))QPauseAnimation::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QPauseAnimation::duration
+120   (int (*)(...))QPauseAnimation::updateCurrentTime
+128   (int (*)(...))QAbstractAnimation::updateState
+136   (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+   size=16 align=8
+   base size=16 base align=8
+QPauseAnimation (0x0x7f66349f08f0) 0
+    vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+  QAbstractAnimation (0x0x7f66349f0958) 0
+      primary-for QPauseAnimation (0x0x7f66349f08f0)
+    QObject (0x0x7f6634a7c0c0) 0
+        primary-for QAbstractAnimation (0x0x7f66349f0958)
+
+Class QStaticPlugin
+   size=16 align=8
+   base size=16 base align=8
+QStaticPlugin (0x0x7f6634a7c300) 0
+
+Class QPluginLoader::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f6634a7c600) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI13QPluginLoader)
+16    (int (*)(...))QPluginLoader::metaObject
+24    (int (*)(...))QPluginLoader::qt_metacast
+32    (int (*)(...))QPluginLoader::qt_metacall
+40    (int (*)(...))QPluginLoader::~QPluginLoader
+48    (int (*)(...))QPluginLoader::~QPluginLoader
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+   size=32 align=8
+   base size=25 base align=8
+QPluginLoader (0x0x7f66349f0b60) 0
+    vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+  QObject (0x0x7f6634a7c5a0) 0
+      primary-for QPluginLoader (0x0x7f66349f0b60)
+
+Class QProcessEnvironment
+   size=8 align=8
+   base size=8 base align=8
+QProcessEnvironment (0x0x7f6634a7c660) 0
+
+Class QProcess::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f6634a7c9c0) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI8QProcess)
+16    (int (*)(...))QProcess::metaObject
+24    (int (*)(...))QProcess::qt_metacast
+32    (int (*)(...))QProcess::qt_metacall
+40    (int (*)(...))QProcess::~QProcess
+48    (int (*)(...))QProcess::~QProcess
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QProcess::isSequential
+120   (int (*)(...))QProcess::open
+128   (int (*)(...))QProcess::close
+136   (int (*)(...))QIODevice::pos
+144   (int (*)(...))QIODevice::size
+152   (int (*)(...))QIODevice::seek
+160   (int (*)(...))QProcess::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QProcess::bytesAvailable
+184   (int (*)(...))QProcess::bytesToWrite
+192   (int (*)(...))QProcess::canReadLine
+200   (int (*)(...))QProcess::waitForReadyRead
+208   (int (*)(...))QProcess::waitForBytesWritten
+216   (int (*)(...))QProcess::readData
+224   (int (*)(...))QIODevice::readLineData
+232   (int (*)(...))QProcess::writeData
+240   (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+   size=16 align=8
+   base size=16 base align=8
+QProcess (0x0x7f66349f0d68) 0
+    vptr=((& QProcess::_ZTV8QProcess) + 16u)
+  QIODevice (0x0x7f66349f0dd0) 0
+      primary-for QProcess (0x0x7f66349f0d68)
+    QObject (0x0x7f6634a7c960) 0
+        primary-for QIODevice (0x0x7f66349f0dd0)
+
+Class QVariantAnimation::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f6634a7ca80) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI17QVariantAnimation)
+16    (int (*)(...))QVariantAnimation::metaObject
+24    (int (*)(...))QVariantAnimation::qt_metacast
+32    (int (*)(...))QVariantAnimation::qt_metacall
+40    (int (*)(...))QVariantAnimation::~QVariantAnimation
+48    (int (*)(...))QVariantAnimation::~QVariantAnimation
+56    (int (*)(...))QVariantAnimation::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QVariantAnimation::duration
+120   (int (*)(...))QVariantAnimation::updateCurrentTime
+128   (int (*)(...))QVariantAnimation::updateState
+136   (int (*)(...))QAbstractAnimation::updateDirection
+144   (int (*)(...))QVariantAnimation::updateCurrentValue
+152   (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+   size=16 align=8
+   base size=16 base align=8
+QVariantAnimation (0x0x7f66349f0e38) 0
+    vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+  QAbstractAnimation (0x0x7f66349f0ea0) 0
+      primary-for QVariantAnimation (0x0x7f66349f0e38)
+    QObject (0x0x7f6634a7ca20) 0
+        primary-for QAbstractAnimation (0x0x7f66349f0ea0)
+
+Class QPropertyAnimation::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f6634a7cb40) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI18QPropertyAnimation)
+16    (int (*)(...))QPropertyAnimation::metaObject
+24    (int (*)(...))QPropertyAnimation::qt_metacast
+32    (int (*)(...))QPropertyAnimation::qt_metacall
+40    (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48    (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56    (int (*)(...))QPropertyAnimation::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QVariantAnimation::duration
+120   (int (*)(...))QVariantAnimation::updateCurrentTime
+128   (int (*)(...))QPropertyAnimation::updateState
+136   (int (*)(...))QAbstractAnimation::updateDirection
+144   (int (*)(...))QPropertyAnimation::updateCurrentValue
+152   (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+   size=16 align=8
+   base size=16 base align=8
+QPropertyAnimation (0x0x7f66349f0f70) 0
+    vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+  QVariantAnimation (0x0x7f66349f0750) 0
+      primary-for QPropertyAnimation (0x0x7f66349f0f70)
+    QAbstractAnimation (0x0x7f6634b33000) 0
+        primary-for QVariantAnimation (0x0x7f66349f0750)
+      QObject (0x0x7f6634a7cae0) 0
+          primary-for QAbstractAnimation (0x0x7f6634b33000)
+
+Class QReadWriteLock
+   size=8 align=8
+   base size=8 base align=8
+QReadWriteLock (0x0x7f6634a7cc00) 0
+
+Class QReadLocker
+   size=8 align=8
+   base size=8 base align=8
+QReadLocker (0x0x7f6634a7cea0) 0
+
+Class QWriteLocker
+   size=8 align=8
+   base size=8 base align=8
+QWriteLocker (0x0x7f6634a7cf00) 0
+
+Class QSize
+   size=8 align=4
+   base size=8 base align=4
+QSize (0x0x7f6634a7cf60) 0
+
+Class QSizeF
+   size=16 align=8
+   base size=16 base align=8
+QSizeF (0x0x7f66347dd300) 0
+
+Class QRect
+   size=16 align=4
+   base size=16 base align=4
+QRect (0x0x7f66347dd660) 0
+
+Class QRectF
+   size=32 align=8
+   base size=32 base align=8
+QRectF (0x0x7f66347dd900) 0
+
+Class QRegularExpression
+   size=8 align=8
+   base size=8 base align=8
+QRegularExpression (0x0x7f66347ddba0) 0
+
+Class QRegularExpressionMatch
+   size=8 align=8
+   base size=8 base align=8
+QRegularExpressionMatch (0x0x7f66345b91e0) 0
+
+Class QRegularExpressionMatchIterator
+   size=8 align=8
+   base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f66345b94e0) 0
+
+Class QResource
+   size=8 align=8
+   base size=8 base align=8
+QResource (0x0x7f66345b97e0) 0
+
+Class QSaveFile::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f66345b9960) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI9QSaveFile)
+16    (int (*)(...))QSaveFile::metaObject
+24    (int (*)(...))QSaveFile::qt_metacast
+32    (int (*)(...))QSaveFile::qt_metacall
+40    (int (*)(...))QSaveFile::~QSaveFile
+48    (int (*)(...))QSaveFile::~QSaveFile
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QFileDevice::isSequential
+120   (int (*)(...))QSaveFile::open
+128   (int (*)(...))QSaveFile::close
+136   (int (*)(...))QFileDevice::pos
+144   (int (*)(...))QFileDevice::size
+152   (int (*)(...))QFileDevice::seek
+160   (int (*)(...))QFileDevice::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QIODevice::bytesAvailable
+184   (int (*)(...))QIODevice::bytesToWrite
+192   (int (*)(...))QIODevice::canReadLine
+200   (int (*)(...))QIODevice::waitForReadyRead
+208   (int (*)(...))QIODevice::waitForBytesWritten
+216   (int (*)(...))QFileDevice::readData
+224   (int (*)(...))QFileDevice::readLineData
+232   (int (*)(...))QSaveFile::writeData
+240   (int (*)(...))QSaveFile::fileName
+248   (int (*)(...))QFileDevice::resize
+256   (int (*)(...))QFileDevice::permissions
+264   (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+   size=16 align=8
+   base size=16 base align=8
+QSaveFile (0x0x7f66346022d8) 0
+    vptr=((& QSaveFile::_ZTV9QSaveFile) + 16u)
+  QFileDevice (0x0x7f6634602340) 0
+      primary-for QSaveFile (0x0x7f66346022d8)
+    QIODevice (0x0x7f66346023a8) 0
+        primary-for QFileDevice (0x0x7f6634602340)
+      QObject (0x0x7f66345b9900) 0
+          primary-for QIODevice (0x0x7f66346023a8)
+
+Class QSemaphore
+   size=8 align=8
+   base size=8 base align=8
+QSemaphore (0x0x7f66345b9a20) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f66345b9ae0) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16    (int (*)(...))QSequentialAnimationGroup::metaObject
+24    (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32    (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40    (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48    (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56    (int (*)(...))QSequentialAnimationGroup::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QSequentialAnimationGroup::duration
+120   (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128   (int (*)(...))QSequentialAnimationGroup::updateState
+136   (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+   size=16 align=8
+   base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f6634602410) 0
+    vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+  QAnimationGroup (0x0x7f6634602478) 0
+      primary-for QSequentialAnimationGroup (0x0x7f6634602410)
+    QAbstractAnimation (0x0x7f66346024e0) 0
+        primary-for QAnimationGroup (0x0x7f6634602478)
+      QObject (0x0x7f66345b9a80) 0
+          primary-for QAbstractAnimation (0x0x7f66346024e0)
+
+Class QSettings::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f66345b9ba0) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI9QSettings)
+16    (int (*)(...))QSettings::metaObject
+24    (int (*)(...))QSettings::qt_metacast
+32    (int (*)(...))QSettings::qt_metacall
+40    (int (*)(...))QSettings::~QSettings
+48    (int (*)(...))QSettings::~QSettings
+56    (int (*)(...))QSettings::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+   size=16 align=8
+   base size=16 base align=8
+QSettings (0x0x7f6634602548) 0
+    vptr=((& QSettings::_ZTV9QSettings) + 16u)
+  QObject (0x0x7f66345b9b40) 0
+      primary-for QSettings (0x0x7f6634602548)
+
+Class QSharedMemory::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f66345b9c60) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI13QSharedMemory)
+16    (int (*)(...))QSharedMemory::metaObject
+24    (int (*)(...))QSharedMemory::qt_metacast
+32    (int (*)(...))QSharedMemory::qt_metacall
+40    (int (*)(...))QSharedMemory::~QSharedMemory
+48    (int (*)(...))QSharedMemory::~QSharedMemory
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+   size=16 align=8
+   base size=16 base align=8
+QSharedMemory (0x0x7f66346025b0) 0
+    vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+  QObject (0x0x7f66345b9c00) 0
+      primary-for QSharedMemory (0x0x7f66346025b0)
+
+Class QSignalMapper::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f66345b9d20) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI13QSignalMapper)
+16    (int (*)(...))QSignalMapper::metaObject
+24    (int (*)(...))QSignalMapper::qt_metacast
+32    (int (*)(...))QSignalMapper::qt_metacall
+40    (int (*)(...))QSignalMapper::~QSignalMapper
+48    (int (*)(...))QSignalMapper::~QSignalMapper
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+   size=16 align=8
+   base size=16 base align=8
+QSignalMapper (0x0x7f6634602618) 0
+    vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+  QObject (0x0x7f66345b9cc0) 0
+      primary-for QSignalMapper (0x0x7f6634602618)
+
+Class QSignalTransition::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f66345b9de0) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI17QSignalTransition)
+16    (int (*)(...))QSignalTransition::metaObject
+24    (int (*)(...))QSignalTransition::qt_metacast
+32    (int (*)(...))QSignalTransition::qt_metacall
+40    (int (*)(...))QSignalTransition::~QSignalTransition
+48    (int (*)(...))QSignalTransition::~QSignalTransition
+56    (int (*)(...))QSignalTransition::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QSignalTransition::eventTest
+120   (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+   size=16 align=8
+   base size=16 base align=8
+QSignalTransition (0x0x7f6634602680) 0
+    vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+  QAbstractTransition (0x0x7f66346026e8) 0
+      primary-for QSignalTransition (0x0x7f6634602680)
+    QObject (0x0x7f66345b9d80) 0
+        primary-for QAbstractTransition (0x0x7f66346026e8)
+
+Class QSocketNotifier::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f66345b9ea0) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI15QSocketNotifier)
+16    (int (*)(...))QSocketNotifier::metaObject
+24    (int (*)(...))QSocketNotifier::qt_metacast
+32    (int (*)(...))QSocketNotifier::qt_metacall
+40    (int (*)(...))QSocketNotifier::~QSocketNotifier
+48    (int (*)(...))QSocketNotifier::~QSocketNotifier
+56    (int (*)(...))QSocketNotifier::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+   size=16 align=8
+   base size=16 base align=8
+QSocketNotifier (0x0x7f6634602750) 0
+    vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+  QObject (0x0x7f66345b9e40) 0
+      primary-for QSocketNotifier (0x0x7f6634602750)
+
+Class QSortFilterProxyModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f66345b9f60) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16    (int (*)(...))QSortFilterProxyModel::metaObject
+24    (int (*)(...))QSortFilterProxyModel::qt_metacast
+32    (int (*)(...))QSortFilterProxyModel::qt_metacall
+40    (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48    (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QSortFilterProxyModel::index
+120   (int (*)(...))QSortFilterProxyModel::parent
+128   (int (*)(...))QSortFilterProxyModel::sibling
+136   (int (*)(...))QSortFilterProxyModel::rowCount
+144   (int (*)(...))QSortFilterProxyModel::columnCount
+152   (int (*)(...))QSortFilterProxyModel::hasChildren
+160   (int (*)(...))QSortFilterProxyModel::data
+168   (int (*)(...))QSortFilterProxyModel::setData
+176   (int (*)(...))QSortFilterProxyModel::headerData
+184   (int (*)(...))QSortFilterProxyModel::setHeaderData
+192   (int (*)(...))QAbstractProxyModel::itemData
+200   (int (*)(...))QAbstractProxyModel::setItemData
+208   (int (*)(...))QSortFilterProxyModel::mimeTypes
+216   (int (*)(...))QSortFilterProxyModel::mimeData
+224   (int (*)(...))QAbstractProxyModel::canDropMimeData
+232   (int (*)(...))QSortFilterProxyModel::dropMimeData
+240   (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248   (int (*)(...))QAbstractProxyModel::supportedDragActions
+256   (int (*)(...))QSortFilterProxyModel::insertRows
+264   (int (*)(...))QSortFilterProxyModel::insertColumns
+272   (int (*)(...))QSortFilterProxyModel::removeRows
+280   (int (*)(...))QSortFilterProxyModel::removeColumns
+288   (int (*)(...))QAbstractItemModel::moveRows
+296   (int (*)(...))QAbstractItemModel::moveColumns
+304   (int (*)(...))QSortFilterProxyModel::fetchMore
+312   (int (*)(...))QSortFilterProxyModel::canFetchMore
+320   (int (*)(...))QSortFilterProxyModel::flags
+328   (int (*)(...))QSortFilterProxyModel::sort
+336   (int (*)(...))QSortFilterProxyModel::buddy
+344   (int (*)(...))QSortFilterProxyModel::match
+352   (int (*)(...))QSortFilterProxyModel::span
+360   (int (*)(...))QAbstractItemModel::roleNames
+368   (int (*)(...))QAbstractProxyModel::submit
+376   (int (*)(...))QAbstractProxyModel::revert
+384   (int (*)(...))QSortFilterProxyModel::setSourceModel
+392   (int (*)(...))QSortFilterProxyModel::mapToSource
+400   (int (*)(...))QSortFilterProxyModel::mapFromSource
+408   (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416   (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424   (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432   (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440   (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+   size=16 align=8
+   base size=16 base align=8
+QSortFilterProxyModel (0x0x7f66346027b8) 0
+    vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+  QAbstractProxyModel (0x0x7f6634602820) 0
+      primary-for QSortFilterProxyModel (0x0x7f66346027b8)
+    QAbstractItemModel (0x0x7f6634602888) 0
+        primary-for QAbstractProxyModel (0x0x7f6634602820)
+      QObject (0x0x7f66345b9f00) 0
+          primary-for QAbstractItemModel (0x0x7f6634602888)
+
+Class QStandardPaths
+   size=1 align=1
+   base size=0 base align=1
+QStandardPaths (0x0x7f66346f1180) 0 empty
+
+Class QState::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QState::QPrivateSignal (0x0x7f66346f13c0) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI6QState)
+16    (int (*)(...))QState::metaObject
+24    (int (*)(...))QState::qt_metacast
+32    (int (*)(...))QState::qt_metacall
+40    (int (*)(...))QState::~QState
+48    (int (*)(...))QState::~QState
+56    (int (*)(...))QState::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QState::onEntry
+120   (int (*)(...))QState::onExit
+
+Class QState
+   size=16 align=8
+   base size=16 base align=8
+QState (0x0x7f6634602a28) 0
+    vptr=((& QState::_ZTV6QState) + 16u)
+  QAbstractState (0x0x7f6634602a90) 0
+      primary-for QState (0x0x7f6634602a28)
+    QObject (0x0x7f66346f1360) 0
+        primary-for QAbstractState (0x0x7f6634602a90)
+
+Class QStateMachine::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f66346f14e0) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16    (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24    (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+   size=48 align=8
+   base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f6634602c30) 0
+    vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+  QEvent (0x0x7f66346f1540) 0
+      primary-for QStateMachine::SignalEvent (0x0x7f6634602c30)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16    (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24    (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+   size=40 align=8
+   base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f6634602c98) 0
+    vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+  QEvent (0x0x7f66346f15a0) 0
+      primary-for QStateMachine::WrappedEvent (0x0x7f6634602c98)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI13QStateMachine)
+16    (int (*)(...))QStateMachine::metaObject
+24    (int (*)(...))QStateMachine::qt_metacast
+32    (int (*)(...))QStateMachine::qt_metacall
+40    (int (*)(...))QStateMachine::~QStateMachine
+48    (int (*)(...))QStateMachine::~QStateMachine
+56    (int (*)(...))QStateMachine::event
+64    (int (*)(...))QStateMachine::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QStateMachine::onEntry
+120   (int (*)(...))QStateMachine::onExit
+128   (int (*)(...))QStateMachine::beginSelectTransitions
+136   (int (*)(...))QStateMachine::endSelectTransitions
+144   (int (*)(...))QStateMachine::beginMicrostep
+152   (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+   size=16 align=8
+   base size=16 base align=8
+QStateMachine (0x0x7f6634602af8) 0
+    vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+  QState (0x0x7f6634602b60) 0
+      primary-for QStateMachine (0x0x7f6634602af8)
+    QAbstractState (0x0x7f6634602bc8) 0
+        primary-for QState (0x0x7f6634602b60)
+      QObject (0x0x7f66346f1480) 0
+          primary-for QAbstractState (0x0x7f6634602bc8)
+
+Class QStorageInfo
+   size=8 align=8
+   base size=8 base align=8
+QStorageInfo (0x0x7f66346f1600) 0
+
+Class QAbstractConcatenable
+   size=1 align=1
+   base size=0 base align=1
+QAbstractConcatenable (0x0x7f66346f1a20) 0 empty
+
+Class QStringListModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f66343f54e0) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI16QStringListModel)
+16    (int (*)(...))QStringListModel::metaObject
+24    (int (*)(...))QStringListModel::qt_metacast
+32    (int (*)(...))QStringListModel::qt_metacall
+40    (int (*)(...))QStringListModel::~QStringListModel
+48    (int (*)(...))QStringListModel::~QStringListModel
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QAbstractListModel::index
+120   (int (*)(...))QAbstractListModel::parent
+128   (int (*)(...))QStringListModel::sibling
+136   (int (*)(...))QStringListModel::rowCount
+144   (int (*)(...))QAbstractListModel::columnCount
+152   (int (*)(...))QAbstractListModel::hasChildren
+160   (int (*)(...))QStringListModel::data
+168   (int (*)(...))QStringListModel::setData
+176   (int (*)(...))QAbstractItemModel::headerData
+184   (int (*)(...))QAbstractItemModel::setHeaderData
+192   (int (*)(...))QAbstractItemModel::itemData
+200   (int (*)(...))QAbstractItemModel::setItemData
+208   (int (*)(...))QAbstractItemModel::mimeTypes
+216   (int (*)(...))QAbstractItemModel::mimeData
+224   (int (*)(...))QAbstractItemModel::canDropMimeData
+232   (int (*)(...))QAbstractListModel::dropMimeData
+240   (int (*)(...))QStringListModel::supportedDropActions
+248   (int (*)(...))QAbstractItemModel::supportedDragActions
+256   (int (*)(...))QStringListModel::insertRows
+264   (int (*)(...))QAbstractItemModel::insertColumns
+272   (int (*)(...))QStringListModel::removeRows
+280   (int (*)(...))QAbstractItemModel::removeColumns
+288   (int (*)(...))QAbstractItemModel::moveRows
+296   (int (*)(...))QAbstractItemModel::moveColumns
+304   (int (*)(...))QAbstractItemModel::fetchMore
+312   (int (*)(...))QAbstractItemModel::canFetchMore
+320   (int (*)(...))QStringListModel::flags
+328   (int (*)(...))QStringListModel::sort
+336   (int (*)(...))QAbstractItemModel::buddy
+344   (int (*)(...))QAbstractItemModel::match
+352   (int (*)(...))QAbstractItemModel::span
+360   (int (*)(...))QAbstractItemModel::roleNames
+368   (int (*)(...))QAbstractItemModel::submit
+376   (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+   size=24 align=8
+   base size=24 base align=8
+QStringListModel (0x0x7f66343c4750) 0
+    vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+  QAbstractListModel (0x0x7f66343c47b8) 0
+      primary-for QStringListModel (0x0x7f66343c4750)
+    QAbstractItemModel (0x0x7f66343c4820) 0
+        primary-for QAbstractListModel (0x0x7f66343c47b8)
+      QObject (0x0x7f66343f5480) 0
+          primary-for QAbstractItemModel (0x0x7f66343c4820)
+
+Class QSystemSemaphore
+   size=8 align=8
+   base size=8 base align=8
+QSystemSemaphore (0x0x7f66343f5540) 0
+
+Class QTemporaryDir
+   size=8 align=8
+   base size=8 base align=8
+QTemporaryDir (0x0x7f66343f5600) 0
+
+Class QTemporaryFile::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f66343f5720) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI14QTemporaryFile)
+16    (int (*)(...))QTemporaryFile::metaObject
+24    (int (*)(...))QTemporaryFile::qt_metacast
+32    (int (*)(...))QTemporaryFile::qt_metacall
+40    (int (*)(...))QTemporaryFile::~QTemporaryFile
+48    (int (*)(...))QTemporaryFile::~QTemporaryFile
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QFileDevice::isSequential
+120   (int (*)(...))QTemporaryFile::open
+128   (int (*)(...))QFileDevice::close
+136   (int (*)(...))QFileDevice::pos
+144   (int (*)(...))QFile::size
+152   (int (*)(...))QFileDevice::seek
+160   (int (*)(...))QFileDevice::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QIODevice::bytesAvailable
+184   (int (*)(...))QIODevice::bytesToWrite
+192   (int (*)(...))QIODevice::canReadLine
+200   (int (*)(...))QIODevice::waitForReadyRead
+208   (int (*)(...))QIODevice::waitForBytesWritten
+216   (int (*)(...))QFileDevice::readData
+224   (int (*)(...))QFileDevice::readLineData
+232   (int (*)(...))QFileDevice::writeData
+240   (int (*)(...))QTemporaryFile::fileName
+248   (int (*)(...))QFile::resize
+256   (int (*)(...))QFile::permissions
+264   (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+   size=16 align=8
+   base size=16 base align=8
+QTemporaryFile (0x0x7f66343c4888) 0
+    vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+  QFile (0x0x7f66343c48f0) 0
+      primary-for QTemporaryFile (0x0x7f66343c4888)
+    QFileDevice (0x0x7f66343c4958) 0
+        primary-for QFile (0x0x7f66343c48f0)
+      QIODevice (0x0x7f66343c49c0) 0
+          primary-for QFileDevice (0x0x7f66343c4958)
+        QObject (0x0x7f66343f56c0) 0
+            primary-for QIODevice (0x0x7f66343c49c0)
+
+Class QTextBoundaryFinder
+   size=48 align=8
+   base size=48 base align=8
+QTextBoundaryFinder (0x0x7f66343f5780) 0
+
+Class QTextCodec::ConverterState
+   size=32 align=8
+   base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f66343f59c0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI10QTextCodec)
+16    (int (*)(...))__cxa_pure_virtual
+24    (int (*)(...))QTextCodec::aliases
+32    (int (*)(...))__cxa_pure_virtual
+40    (int (*)(...))__cxa_pure_virtual
+48    (int (*)(...))__cxa_pure_virtual
+56    0u
+64    0u
+
+Class QTextCodec
+   size=8 align=8
+   base size=8 base align=8
+QTextCodec (0x0x7f66343f5960) 0 nearly-empty
+    vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+   size=40 align=8
+   base size=40 base align=8
+QTextEncoder (0x0x7f66343f5ba0) 0
+
+Class QTextDecoder
+   size=40 align=8
+   base size=40 base align=8
+QTextDecoder (0x0x7f66343f5c00) 0
+
+Class QThread::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f66343f5cc0) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI7QThread)
+16    (int (*)(...))QThread::metaObject
+24    (int (*)(...))QThread::qt_metacast
+32    (int (*)(...))QThread::qt_metacall
+40    (int (*)(...))QThread::~QThread
+48    (int (*)(...))QThread::~QThread
+56    (int (*)(...))QThread::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QThread::run
+
+Class QThread
+   size=16 align=8
+   base size=16 base align=8
+QThread (0x0x7f66343c4bc8) 0
+    vptr=((& QThread::_ZTV7QThread) + 16u)
+  QObject (0x0x7f66343f5c60) 0
+      primary-for QThread (0x0x7f66343c4bc8)
+
+Class QThreadPool::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f66343f5d80) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QThreadPool)
+16    (int (*)(...))QThreadPool::metaObject
+24    (int (*)(...))QThreadPool::qt_metacast
+32    (int (*)(...))QThreadPool::qt_metacall
+40    (int (*)(...))QThreadPool::~QThreadPool
+48    (int (*)(...))QThreadPool::~QThreadPool
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+   size=16 align=8
+   base size=16 base align=8
+QThreadPool (0x0x7f66343c4c30) 0
+    vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+  QObject (0x0x7f66343f5d20) 0
+      primary-for QThreadPool (0x0x7f66343c4c30)
+
+Class QThreadStorageData
+   size=4 align=4
+   base size=4 base align=4
+QThreadStorageData (0x0x7f66343f5de0) 0
+
+Class QTimeLine::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f66343f5f00) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI9QTimeLine)
+16    (int (*)(...))QTimeLine::metaObject
+24    (int (*)(...))QTimeLine::qt_metacast
+32    (int (*)(...))QTimeLine::qt_metacall
+40    (int (*)(...))QTimeLine::~QTimeLine
+48    (int (*)(...))QTimeLine::~QTimeLine
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QTimeLine::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+   size=16 align=8
+   base size=16 base align=8
+QTimeLine (0x0x7f66343c4c98) 0
+    vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+  QObject (0x0x7f66343f5ea0) 0
+      primary-for QTimeLine (0x0x7f66343c4c98)
+
+Class QTimer::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f6634144000) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI6QTimer)
+16    (int (*)(...))QTimer::metaObject
+24    (int (*)(...))QTimer::qt_metacast
+32    (int (*)(...))QTimer::qt_metacall
+40    (int (*)(...))QTimer::~QTimer
+48    (int (*)(...))QTimer::~QTimer
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QTimer::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+   size=32 align=8
+   base size=29 base align=8
+QTimer (0x0x7f66343c4d00) 0
+    vptr=((& QTimer::_ZTV6QTimer) + 16u)
+  QObject (0x0x7f66343f5f60) 0
+      primary-for QTimer (0x0x7f66343c4d00)
+
+Class QTimeZone::OffsetData
+   size=32 align=8
+   base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f6634144de0) 0
+
+Class QTimeZone
+   size=8 align=8
+   base size=8 base align=8
+QTimeZone (0x0x7f6634144d80) 0
+
+Class QTranslator::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f66341b63c0) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QTranslator)
+16    (int (*)(...))QTranslator::metaObject
+24    (int (*)(...))QTranslator::qt_metacast
+32    (int (*)(...))QTranslator::qt_metacall
+40    (int (*)(...))QTranslator::~QTranslator
+48    (int (*)(...))QTranslator::~QTranslator
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QTranslator::translate
+120   (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+   size=16 align=8
+   base size=16 base align=8
+QTranslator (0x0x7f6634171f70) 0
+    vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+  QObject (0x0x7f66341b6360) 0
+      primary-for QTranslator (0x0x7f6634171f70)
+
+Class QUrl
+   size=8 align=8
+   base size=8 base align=8
+QUrl (0x0x7f66341b64e0) 0
+
+Class QUrlQuery
+   size=8 align=8
+   base size=8 base align=8
+QUrlQuery (0x0x7f66342ceba0) 0
+
+Class QUuid
+   size=16 align=4
+   base size=16 base align=4
+QUuid (0x0x7f66342ceea0) 0
+
+Class QWaitCondition
+   size=8 align=8
+   base size=8 base align=8
+QWaitCondition (0x0x7f6633f8b180) 0
+
+Class QXmlStreamStringRef
+   size=16 align=8
+   base size=16 base align=8
+QXmlStreamStringRef (0x0x7f6633f8b1e0) 0
+
+Class QXmlStreamAttribute
+   size=80 align=8
+   base size=73 base align=8
+QXmlStreamAttribute (0x0x7f663400c600) 0
+
+Class QXmlStreamAttributes
+   size=8 align=8
+   base size=8 base align=8
+QXmlStreamAttributes (0x0x7f663400e958) 0
+  QVector<QXmlStreamAttribute> (0x0x7f663400c9c0) 0
+
+Class QXmlStreamNamespaceDeclaration
+   size=40 align=8
+   base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f663400ca20) 0
+
+Class QXmlStreamNotationDeclaration
+   size=56 align=8
+   base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f663400ccc0) 0
+
+Class QXmlStreamEntityDeclaration
+   size=88 align=8
+   base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f663400cf60) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16    (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24    (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32    (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40    (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+   size=8 align=8
+   base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f66340cf240) 0 nearly-empty
+    vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+   size=8 align=8
+   base size=8 base align=8
+QXmlStreamReader (0x0x7f66340cf2a0) 0
+
+Class QXmlStreamWriter
+   size=8 align=8
+   base size=8 base align=8
+QXmlStreamWriter (0x0x7f66340cf3c0) 0
+
+Class QBluetoothAddress
+   size=8 align=8
+   base size=8 base align=8
+QBluetoothAddress (0x0x7f66340cf7e0) 0
+
+Class QBluetoothDeviceInfo
+   size=8 align=8
+   base size=8 base align=8
+QBluetoothDeviceInfo (0x0x7f66340cf960) 0
+
+Class QBluetoothDeviceDiscoveryAgent::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QBluetoothDeviceDiscoveryAgent::QPrivateSignal (0x0x7f66340cfe40) 0 empty
+
+Vtable for QBluetoothDeviceDiscoveryAgent
+QBluetoothDeviceDiscoveryAgent::_ZTV30QBluetoothDeviceDiscoveryAgent: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI30QBluetoothDeviceDiscoveryAgent)
+16    (int (*)(...))QBluetoothDeviceDiscoveryAgent::metaObject
+24    (int (*)(...))QBluetoothDeviceDiscoveryAgent::qt_metacast
+32    (int (*)(...))QBluetoothDeviceDiscoveryAgent::qt_metacall
+40    (int (*)(...))QBluetoothDeviceDiscoveryAgent::~QBluetoothDeviceDiscoveryAgent
+48    (int (*)(...))QBluetoothDeviceDiscoveryAgent::~QBluetoothDeviceDiscoveryAgent
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QBluetoothDeviceDiscoveryAgent
+   size=24 align=8
+   base size=24 base align=8
+QBluetoothDeviceDiscoveryAgent (0x0x7f66340d63a8) 0
+    vptr=((& QBluetoothDeviceDiscoveryAgent::_ZTV30QBluetoothDeviceDiscoveryAgent) + 16u)
+  QObject (0x0x7f66340cfde0) 0
+      primary-for QBluetoothDeviceDiscoveryAgent (0x0x7f66340d63a8)
+
+Class QBluetoothHostInfo
+   size=8 align=8
+   base size=8 base align=8
+QBluetoothHostInfo (0x0x7f6633e3b060) 0
+
+Class QBluetoothLocalDevice::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QBluetoothLocalDevice::QPrivateSignal (0x0x7f6633e3b240) 0 empty
+
+Vtable for QBluetoothLocalDevice
+QBluetoothLocalDevice::_ZTV21QBluetoothLocalDevice: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI21QBluetoothLocalDevice)
+16    (int (*)(...))QBluetoothLocalDevice::metaObject
+24    (int (*)(...))QBluetoothLocalDevice::qt_metacast
+32    (int (*)(...))QBluetoothLocalDevice::qt_metacall
+40    (int (*)(...))QBluetoothLocalDevice::~QBluetoothLocalDevice
+48    (int (*)(...))QBluetoothLocalDevice::~QBluetoothLocalDevice
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QBluetoothLocalDevice
+   size=24 align=8
+   base size=24 base align=8
+QBluetoothLocalDevice (0x0x7f66340d64e0) 0
+    vptr=((& QBluetoothLocalDevice::_ZTV21QBluetoothLocalDevice) + 16u)
+  QObject (0x0x7f6633e3b1e0) 0
+      primary-for QBluetoothLocalDevice (0x0x7f66340d64e0)
+
+Class quint128
+   size=16 align=1
+   base size=16 base align=1
+quint128 (0x0x7f6633e3b600) 0
+
+Class QBluetoothUuid
+   size=16 align=4
+   base size=16 base align=4
+QBluetoothUuid (0x0x7f66340d6548) 0
+  QUuid (0x0x7f6633e3b660) 0
+
+Class QBluetoothServiceInfo::Sequence
+   size=8 align=8
+   base size=8 base align=8
+QBluetoothServiceInfo::Sequence (0x0x7f66340d65b0) 0
+  QList<QVariant> (0x0x7f66340d6618) 0
+    QListSpecialMethods<QVariant> (0x0x7f6633e3b900) 0 empty
+
+Class QBluetoothServiceInfo::Alternative
+   size=8 align=8
+   base size=8 base align=8
+QBluetoothServiceInfo::Alternative (0x0x7f66340d6680) 0
+  QList<QVariant> (0x0x7f66340d66e8) 0
+    QListSpecialMethods<QVariant> (0x0x7f6633e3b960) 0 empty
+
+Class QBluetoothServiceInfo
+   size=16 align=8
+   base size=16 base align=8
+QBluetoothServiceInfo (0x0x7f6633e3b8a0) 0
+
+Class QAbstractSocket::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractSocket::QPrivateSignal (0x0x7f6633e3bde0) 0 empty
+
+Vtable for QAbstractSocket
+QAbstractSocket::_ZTV15QAbstractSocket: 41u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI15QAbstractSocket)
+16    (int (*)(...))QAbstractSocket::metaObject
+24    (int (*)(...))QAbstractSocket::qt_metacast
+32    (int (*)(...))QAbstractSocket::qt_metacall
+40    (int (*)(...))QAbstractSocket::~QAbstractSocket
+48    (int (*)(...))QAbstractSocket::~QAbstractSocket
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QAbstractSocket::isSequential
+120   (int (*)(...))QIODevice::open
+128   (int (*)(...))QAbstractSocket::close
+136   (int (*)(...))QIODevice::pos
+144   (int (*)(...))QIODevice::size
+152   (int (*)(...))QIODevice::seek
+160   (int (*)(...))QAbstractSocket::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QAbstractSocket::bytesAvailable
+184   (int (*)(...))QAbstractSocket::bytesToWrite
+192   (int (*)(...))QAbstractSocket::canReadLine
+200   (int (*)(...))QAbstractSocket::waitForReadyRead
+208   (int (*)(...))QAbstractSocket::waitForBytesWritten
+216   (int (*)(...))QAbstractSocket::readData
+224   (int (*)(...))QAbstractSocket::readLineData
+232   (int (*)(...))QAbstractSocket::writeData
+240   (int (*)(...))QAbstractSocket::resume
+248   (int (*)(...))QAbstractSocket::connectToHost
+256   (int (*)(...))QAbstractSocket::connectToHost
+264   (int (*)(...))QAbstractSocket::disconnectFromHost
+272   (int (*)(...))QAbstractSocket::setReadBufferSize
+280   (int (*)(...))QAbstractSocket::socketDescriptor
+288   (int (*)(...))QAbstractSocket::setSocketDescriptor
+296   (int (*)(...))QAbstractSocket::setSocketOption
+304   (int (*)(...))QAbstractSocket::socketOption
+312   (int (*)(...))QAbstractSocket::waitForConnected
+320   (int (*)(...))QAbstractSocket::waitForDisconnected
+
+Class QAbstractSocket
+   size=16 align=8
+   base size=16 base align=8
+QAbstractSocket (0x0x7f66340d6958) 0
+    vptr=((& QAbstractSocket::_ZTV15QAbstractSocket) + 16u)
+  QIODevice (0x0x7f66340d69c0) 0
+      primary-for QAbstractSocket (0x0x7f66340d6958)
+    QObject (0x0x7f6633e3bd80) 0
+        primary-for QIODevice (0x0x7f66340d69c0)
+
+Class QBluetoothSocket::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QBluetoothSocket::QPrivateSignal (0x0x7f6633baa420) 0 empty
+
+Vtable for QBluetoothSocket
+QBluetoothSocket::_ZTV16QBluetoothSocket: 30u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI16QBluetoothSocket)
+16    (int (*)(...))QBluetoothSocket::metaObject
+24    (int (*)(...))QBluetoothSocket::qt_metacast
+32    (int (*)(...))QBluetoothSocket::qt_metacall
+40    (int (*)(...))QBluetoothSocket::~QBluetoothSocket
+48    (int (*)(...))QBluetoothSocket::~QBluetoothSocket
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QBluetoothSocket::isSequential
+120   (int (*)(...))QIODevice::open
+128   (int (*)(...))QBluetoothSocket::close
+136   (int (*)(...))QIODevice::pos
+144   (int (*)(...))QIODevice::size
+152   (int (*)(...))QIODevice::seek
+160   (int (*)(...))QIODevice::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QBluetoothSocket::bytesAvailable
+184   (int (*)(...))QBluetoothSocket::bytesToWrite
+192   (int (*)(...))QBluetoothSocket::canReadLine
+200   (int (*)(...))QIODevice::waitForReadyRead
+208   (int (*)(...))QIODevice::waitForBytesWritten
+216   (int (*)(...))QBluetoothSocket::readData
+224   (int (*)(...))QIODevice::readLineData
+232   (int (*)(...))QBluetoothSocket::writeData
+
+Class QBluetoothSocket
+   size=24 align=8
+   base size=24 base align=8
+QBluetoothSocket (0x0x7f66340d6bc8) 0
+    vptr=((& QBluetoothSocket::_ZTV16QBluetoothSocket) + 16u)
+  QIODevice (0x0x7f66340d6c30) 0
+      primary-for QBluetoothSocket (0x0x7f66340d6bc8)
+    QObject (0x0x7f6633baa3c0) 0
+        primary-for QIODevice (0x0x7f66340d6c30)
+
+Class QBluetoothServer::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QBluetoothServer::QPrivateSignal (0x0x7f6633baa4e0) 0 empty
+
+Vtable for QBluetoothServer
+QBluetoothServer::_ZTV16QBluetoothServer: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI16QBluetoothServer)
+16    (int (*)(...))QBluetoothServer::metaObject
+24    (int (*)(...))QBluetoothServer::qt_metacast
+32    (int (*)(...))QBluetoothServer::qt_metacall
+40    (int (*)(...))QBluetoothServer::~QBluetoothServer
+48    (int (*)(...))QBluetoothServer::~QBluetoothServer
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QBluetoothServer
+   size=24 align=8
+   base size=24 base align=8
+QBluetoothServer (0x0x7f66340d6c98) 0
+    vptr=((& QBluetoothServer::_ZTV16QBluetoothServer) + 16u)
+  QObject (0x0x7f6633baa480) 0
+      primary-for QBluetoothServer (0x0x7f66340d6c98)
+
+Class QBluetoothServiceDiscoveryAgent::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QBluetoothServiceDiscoveryAgent::QPrivateSignal (0x0x7f6633baa5a0) 0 empty
+
+Vtable for QBluetoothServiceDiscoveryAgent
+QBluetoothServiceDiscoveryAgent::_ZTV31QBluetoothServiceDiscoveryAgent: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI31QBluetoothServiceDiscoveryAgent)
+16    (int (*)(...))QBluetoothServiceDiscoveryAgent::metaObject
+24    (int (*)(...))QBluetoothServiceDiscoveryAgent::qt_metacast
+32    (int (*)(...))QBluetoothServiceDiscoveryAgent::qt_metacall
+40    (int (*)(...))QBluetoothServiceDiscoveryAgent::~QBluetoothServiceDiscoveryAgent
+48    (int (*)(...))QBluetoothServiceDiscoveryAgent::~QBluetoothServiceDiscoveryAgent
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QBluetoothServiceDiscoveryAgent
+   size=24 align=8
+   base size=24 base align=8
+QBluetoothServiceDiscoveryAgent (0x0x7f66340d6d00) 0
+    vptr=((& QBluetoothServiceDiscoveryAgent::_ZTV31QBluetoothServiceDiscoveryAgent) + 16u)
+  QObject (0x0x7f6633baa540) 0
+      primary-for QBluetoothServiceDiscoveryAgent (0x0x7f66340d6d00)
+
+Class QBluetoothTransferManager::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QBluetoothTransferManager::QPrivateSignal (0x0x7f6633baa660) 0 empty
+
+Vtable for QBluetoothTransferManager
+QBluetoothTransferManager::_ZTV25QBluetoothTransferManager: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI25QBluetoothTransferManager)
+16    (int (*)(...))QBluetoothTransferManager::metaObject
+24    (int (*)(...))QBluetoothTransferManager::qt_metacast
+32    (int (*)(...))QBluetoothTransferManager::qt_metacall
+40    (int (*)(...))QBluetoothTransferManager::~QBluetoothTransferManager
+48    (int (*)(...))QBluetoothTransferManager::~QBluetoothTransferManager
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QBluetoothTransferManager
+   size=16 align=8
+   base size=16 base align=8
+QBluetoothTransferManager (0x0x7f66340d6d68) 0
+    vptr=((& QBluetoothTransferManager::_ZTV25QBluetoothTransferManager) + 16u)
+  QObject (0x0x7f6633baa600) 0
+      primary-for QBluetoothTransferManager (0x0x7f66340d6d68)
+
+Class QBluetoothTransferRequest
+   size=8 align=8
+   base size=8 base align=8
+QBluetoothTransferRequest (0x0x7f6633baa6c0) 0
+
+Class QBluetoothTransferReply::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QBluetoothTransferReply::QPrivateSignal (0x0x7f6633baa780) 0 empty
+
+Vtable for QBluetoothTransferReply
+QBluetoothTransferReply::_ZTV23QBluetoothTransferReply: 18u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI23QBluetoothTransferReply)
+16    (int (*)(...))QBluetoothTransferReply::metaObject
+24    (int (*)(...))QBluetoothTransferReply::qt_metacast
+32    (int (*)(...))QBluetoothTransferReply::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+128   (int (*)(...))__cxa_pure_virtual
+136   (int (*)(...))__cxa_pure_virtual
+
+Class QBluetoothTransferReply
+   size=24 align=8
+   base size=24 base align=8
+QBluetoothTransferReply (0x0x7f66340d6dd0) 0
+    vptr=((& QBluetoothTransferReply::_ZTV23QBluetoothTransferReply) + 16u)
+  QObject (0x0x7f6633baa720) 0
+      primary-for QBluetoothTransferReply (0x0x7f66340d6dd0)
+
+Class QLowEnergyAdvertisingData
+   size=8 align=8
+   base size=8 base align=8
+QLowEnergyAdvertisingData (0x0x7f6633baa900) 0
+
+Class QLowEnergyDescriptor
+   size=24 align=8
+   base size=24 base align=8
+QLowEnergyDescriptor (0x0x7f6633baac00) 0
+
+Class QLowEnergyCharacteristic
+   size=24 align=8
+   base size=24 base align=8
+QLowEnergyCharacteristic (0x0x7f6633baacc0) 0
+
+Class QLowEnergyService::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QLowEnergyService::QPrivateSignal (0x0x7f6633baaf00) 0 empty
+
+Vtable for QLowEnergyService
+QLowEnergyService::_ZTV17QLowEnergyService: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI17QLowEnergyService)
+16    (int (*)(...))QLowEnergyService::metaObject
+24    (int (*)(...))QLowEnergyService::qt_metacast
+32    (int (*)(...))QLowEnergyService::qt_metacall
+40    (int (*)(...))QLowEnergyService::~QLowEnergyService
+48    (int (*)(...))QLowEnergyService::~QLowEnergyService
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QLowEnergyService
+   size=32 align=8
+   base size=32 base align=8
+QLowEnergyService (0x0x7f6633cba0d0) 0
+    vptr=((& QLowEnergyService::_ZTV17QLowEnergyService) + 16u)
+  QObject (0x0x7f6633baaea0) 0
+      primary-for QLowEnergyService (0x0x7f6633cba0d0)
+
+Class QLowEnergyController::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QLowEnergyController::QPrivateSignal (0x0x7f6633d08600) 0 empty
+
+Vtable for QLowEnergyController
+QLowEnergyController::_ZTV20QLowEnergyController: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI20QLowEnergyController)
+16    (int (*)(...))QLowEnergyController::metaObject
+24    (int (*)(...))QLowEnergyController::qt_metacast
+32    (int (*)(...))QLowEnergyController::qt_metacall
+40    (int (*)(...))QLowEnergyController::~QLowEnergyController
+48    (int (*)(...))QLowEnergyController::~QLowEnergyController
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QLowEnergyController
+   size=24 align=8
+   base size=24 base align=8
+QLowEnergyController (0x0x7f6633cba208) 0
+    vptr=((& QLowEnergyController::_ZTV20QLowEnergyController) + 16u)
+  QObject (0x0x7f6633d085a0) 0
+      primary-for QLowEnergyController (0x0x7f6633cba208)
+
+Class QLowEnergyAdvertisingParameters::AddressInfo
+   size=16 align=8
+   base size=12 base align=8
+QLowEnergyAdvertisingParameters::AddressInfo (0x0x7f6633d08b40) 0
+
+Class QLowEnergyAdvertisingParameters
+   size=8 align=8
+   base size=8 base align=8
+QLowEnergyAdvertisingParameters (0x0x7f6633d08ae0) 0
+
+Class QLowEnergyCharacteristicData
+   size=8 align=8
+   base size=8 base align=8
+QLowEnergyCharacteristicData (0x0x7f6633d08e40) 0
+
+Class QLowEnergyConnectionParameters
+   size=8 align=8
+   base size=8 base align=8
+QLowEnergyConnectionParameters (0x0x7f66339c8180) 0
+
+Class QLowEnergyDescriptorData
+   size=8 align=8
+   base size=8 base align=8
+QLowEnergyDescriptorData (0x0x7f66339c85a0) 0
+
+Class QLowEnergyServiceData
+   size=8 align=8
+   base size=8 base align=8
+QLowEnergyServiceData (0x0x7f66339c88a0) 0
+
diff --git a/tests/auto/bic/data/QtNfc.5.9.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtNfc.5.9.0.linux-gcc-amd64.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7cb08976b7833fcb7d84de15f55e62e6207ffd7f
--- /dev/null
+++ b/tests/auto/bic/data/QtNfc.5.9.0.linux-gcc-amd64.txt
@@ -0,0 +1,4433 @@
+Class std::__failure_type
+   size=1 align=1
+   base size=0 base align=1
+std::__failure_type (0x0x7f916c5aa660) 0 empty
+
+Class std::__do_is_destructible_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f916c5fcde0) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f916c626060) 0 empty
+
+Class std::__do_is_default_constructible_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f916c6262a0) 0 empty
+
+Class std::__do_is_static_castable_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f916c6264e0) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f916c626660) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f916c626a20) 0 empty
+
+Class std::__do_common_type_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__do_common_type_impl (0x0x7f916a2e11e0) 0 empty
+
+Class std::__do_member_type_wrapper
+   size=1 align=1
+   base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f916a2e12a0) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f916a2e1600) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f916a2e16c0) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f916a2e1780) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f916a2e1840) 0 empty
+
+Class std::__result_of_other_impl
+   size=1 align=1
+   base size=0 base align=1
+std::__result_of_other_impl (0x0x7f916a2e1ae0) 0 empty
+
+Class std::piecewise_construct_t
+   size=1 align=1
+   base size=0 base align=1
+std::piecewise_construct_t (0x0x7f916a2e1cc0) 0 empty
+
+Class std::__true_type
+   size=1 align=1
+   base size=0 base align=1
+std::__true_type (0x0x7f916a35d180) 0 empty
+
+Class std::__false_type
+   size=1 align=1
+   base size=0 base align=1
+std::__false_type (0x0x7f916a35d1e0) 0 empty
+
+Class std::input_iterator_tag
+   size=1 align=1
+   base size=0 base align=1
+std::input_iterator_tag (0x0x7f916a398e40) 0 empty
+
+Class std::output_iterator_tag
+   size=1 align=1
+   base size=0 base align=1
+std::output_iterator_tag (0x0x7f916a398ea0) 0 empty
+
+Class std::forward_iterator_tag
+   size=1 align=1
+   base size=1 base align=1
+std::forward_iterator_tag (0x0x7f916a3122d8) 0 empty
+  std::input_iterator_tag (0x0x7f916a398f00) 0 empty
+
+Class std::bidirectional_iterator_tag
+   size=1 align=1
+   base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f916a312340) 0 empty
+  std::forward_iterator_tag (0x0x7f916a3123a8) 0 empty
+    std::input_iterator_tag (0x0x7f916a398f60) 0 empty
+
+Class std::random_access_iterator_tag
+   size=1 align=1
+   base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f916a312410) 0 empty
+  std::bidirectional_iterator_tag (0x0x7f916a312478) 0 empty
+    std::forward_iterator_tag (0x0x7f916a3124e0) 0 empty
+      std::input_iterator_tag (0x0x7f916a3c5000) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+   size=1 align=1
+   base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f916a3c5c60) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+   size=1 align=1
+   base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f916a3c5cc0) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+   size=1 align=1
+   base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f916a3c5d20) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+   size=1 align=1
+   base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f916a3c5d80) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+   size=1 align=1
+   base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f916a3c5de0) 0 empty
+
+Class wait
+   size=4 align=4
+   base size=4 base align=4
+wait (0x0x7f916a096900) 0
+
+Class __locale_struct
+   size=232 align=8
+   base size=232 base align=8
+__locale_struct (0x0x7f916a096b40) 0
+
+Class timespec
+   size=16 align=8
+   base size=16 base align=8
+timespec (0x0x7f916a096c00) 0
+
+Class timeval
+   size=16 align=8
+   base size=16 base align=8
+timeval (0x0x7f916a096c60) 0
+
+Class pthread_attr_t
+   size=56 align=8
+   base size=56 base align=8
+pthread_attr_t (0x0x7f916a096d20) 0
+
+Class __pthread_internal_list
+   size=16 align=8
+   base size=16 base align=8
+__pthread_internal_list (0x0x7f916a096d80) 0
+
+Class random_data
+   size=48 align=8
+   base size=48 base align=8
+random_data (0x0x7f916a136240) 0
+
+Class drand48_data
+   size=24 align=8
+   base size=24 base align=8
+drand48_data (0x0x7f916a1362a0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt9exception)
+16    (int (*)(...))std::exception::~exception
+24    (int (*)(...))std::exception::~exception
+32    (int (*)(...))std::exception::what
+
+Class std::exception
+   size=8 align=8
+   base size=8 base align=8
+std::exception (0x0x7f916a136300) 0 nearly-empty
+    vptr=((& std::exception::_ZTVSt9exception) + 16u)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt13bad_exception)
+16    (int (*)(...))std::bad_exception::~bad_exception
+24    (int (*)(...))std::bad_exception::~bad_exception
+32    (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+   size=8 align=8
+   base size=8 base align=8
+std::bad_exception (0x0x7f916a312a28) 0 nearly-empty
+    vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16u)
+  std::exception (0x0x7f916a136360) 0 nearly-empty
+      primary-for std::bad_exception (0x0x7f916a312a28)
+
+Class std::__exception_ptr::exception_ptr
+   size=8 align=8
+   base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f916a1363c0) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt16nested_exception)
+16    (int (*)(...))std::nested_exception::~nested_exception
+24    (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+   size=16 align=8
+   base size=16 base align=8
+std::nested_exception (0x0x7f916a136420) 0
+    vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16u)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt9bad_alloc)
+16    (int (*)(...))std::bad_alloc::~bad_alloc
+24    (int (*)(...))std::bad_alloc::~bad_alloc
+32    (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+   size=8 align=8
+   base size=8 base align=8
+std::bad_alloc (0x0x7f916a312c30) 0 nearly-empty
+    vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16u)
+  std::exception (0x0x7f916a136840) 0 nearly-empty
+      primary-for std::bad_alloc (0x0x7f916a312c30)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt20bad_array_new_length)
+16    (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24    (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32    (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+   size=8 align=8
+   base size=8 base align=8
+std::bad_array_new_length (0x0x7f916a312c98) 0 nearly-empty
+    vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16u)
+  std::bad_alloc (0x0x7f916a312d00) 0 nearly-empty
+      primary-for std::bad_array_new_length (0x0x7f916a312c98)
+    std::exception (0x0x7f916a1368a0) 0 nearly-empty
+        primary-for std::bad_alloc (0x0x7f916a312d00)
+
+Class std::nothrow_t
+   size=1 align=1
+   base size=0 base align=1
+std::nothrow_t (0x0x7f916a136900) 0 empty
+
+Class __exception
+   size=40 align=8
+   base size=40 base align=8
+__exception (0x0x7f9169eaf540) 0
+
+Class lconv
+   size=96 align=8
+   base size=96 base align=8
+lconv (0x0x7f9169cc5240) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16    0u
+24    0u
+32    (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+   size=8 align=8
+   base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f9169cc52a0) 0 nearly-empty
+    vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16u)
+
+Class sched_param
+   size=4 align=4
+   base size=4 base align=4
+sched_param (0x0x7f9169d68180) 0
+
+Class __sched_param
+   size=4 align=4
+   base size=4 base align=4
+__sched_param (0x0x7f9169d681e0) 0
+
+Class timex
+   size=208 align=8
+   base size=208 base align=8
+timex (0x0x7f9169d682a0) 0
+
+Class tm
+   size=56 align=8
+   base size=56 base align=8
+tm (0x0x7f9169d68300) 0
+
+Class itimerspec
+   size=32 align=8
+   base size=32 base align=8
+itimerspec (0x0x7f9169d68360) 0
+
+Class _pthread_cleanup_buffer
+   size=32 align=8
+   base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f9169d683c0) 0
+
+Class __pthread_cleanup_frame
+   size=24 align=8
+   base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f9169d684e0) 0
+
+Class __pthread_cleanup_class
+   size=24 align=8
+   base size=24 base align=8
+__pthread_cleanup_class (0x0x7f9169d68540) 0
+
+Class _IO_marker
+   size=24 align=8
+   base size=24 base align=8
+_IO_marker (0x0x7f9169d68960) 0
+
+Class _IO_FILE
+   size=216 align=8
+   base size=216 base align=8
+_IO_FILE (0x0x7f9169d689c0) 0
+
+Class std::_Hash_impl
+   size=1 align=1
+   base size=0 base align=1
+std::_Hash_impl (0x0x7f91698941e0) 0 empty
+
+Class std::_Fnv_hash_impl
+   size=1 align=1
+   base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f9169894240) 0 empty
+
+Class std::__numeric_limits_base
+   size=1 align=1
+   base size=0 base align=1
+std::__numeric_limits_base (0x0x7f916996c1e0) 0 empty
+
+Class std::_Bit_reference
+   size=16 align=8
+   base size=16 base align=8
+std::_Bit_reference (0x0x7f916977c000) 0
+
+Class std::_Bit_iterator_base
+   size=16 align=8
+   base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f91698aba90) 0
+  std::iterator<std::random_access_iterator_tag, bool> (0x0x7f916977c0c0) 0 empty
+
+Class std::_Bit_iterator
+   size=16 align=8
+   base size=12 base align=8
+std::_Bit_iterator (0x0x7f91698abaf8) 0
+  std::_Bit_iterator_base (0x0x7f91698abb60) 0
+    std::iterator<std::random_access_iterator_tag, bool> (0x0x7f916977c120) 0 empty
+
+Class std::_Bit_const_iterator
+   size=16 align=8
+   base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f91698abbc8) 0
+  std::_Bit_iterator_base (0x0x7f91698abc30) 0
+    std::iterator<std::random_access_iterator_tag, bool> (0x0x7f916977c180) 0 empty
+
+Class std::random_device
+   size=5000 align=8
+   base size=5000 base align=8
+std::random_device (0x0x7f916977cf60) 0
+
+Class std::bernoulli_distribution::param_type
+   size=8 align=8
+   base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f9169558d20) 0
+
+Class std::bernoulli_distribution
+   size=8 align=8
+   base size=8 base align=8
+std::bernoulli_distribution (0x0x7f9169558cc0) 0
+
+Class std::seed_seq
+   size=24 align=8
+   base size=24 base align=8
+std::seed_seq (0x0x7f9169288cc0) 0
+
+Class qIsNull(double)::U
+   size=8 align=8
+   base size=8 base align=8
+qIsNull(double)::U (0x0x7f9167e9f780) 0
+
+Class qIsNull(float)::U
+   size=4 align=4
+   base size=4 base align=4
+qIsNull(float)::U (0x0x7f9167e9f7e0) 0
+
+Class QSysInfo
+   size=1 align=1
+   base size=0 base align=1
+QSysInfo (0x0x7f9167f84300) 0 empty
+
+Class QMessageLogContext
+   size=32 align=8
+   base size=32 base align=8
+QMessageLogContext (0x0x7f9167f84360) 0
+
+Class QMessageLogger
+   size=32 align=8
+   base size=32 base align=8
+QMessageLogger (0x0x7f9167f843c0) 0
+
+Class QFlag
+   size=4 align=4
+   base size=4 base align=4
+QFlag (0x0x7f9167f84420) 0
+
+Class QIncompatibleFlag
+   size=4 align=4
+   base size=4 base align=4
+QIncompatibleFlag (0x0x7f9167f846c0) 0
+
+Class std::__atomic_flag_base
+   size=1 align=1
+   base size=1 base align=1
+std::__atomic_flag_base (0x0x7f9167f84c00) 0
+
+Class std::atomic_flag
+   size=1 align=1
+   base size=1 base align=1
+std::atomic_flag (0x0x7f9167f768f0) 0
+  std::__atomic_flag_base (0x0x7f9167f84c60) 0
+
+Class QAtomicInt
+   size=4 align=4
+   base size=4 base align=4
+QAtomicInt (0x0x7f9167bf1068) 0
+  QAtomicInteger<int> (0x0x7f9167bf10d0) 0
+    QBasicAtomicInteger<int> (0x0x7f9167b2f3c0) 0
+
+Class QInternal
+   size=1 align=1
+   base size=0 base align=1
+QInternal (0x0x7f91679fa8a0) 0 empty
+
+Class QGenericArgument
+   size=16 align=8
+   base size=16 base align=8
+QGenericArgument (0x0x7f91677fe900) 0
+
+Class QGenericReturnArgument
+   size=16 align=8
+   base size=16 base align=8
+QGenericReturnArgument (0x0x7f91679b1958) 0
+  QGenericArgument (0x0x7f91677fe960) 0
+
+Class QMetaObject
+   size=48 align=8
+   base size=48 base align=8
+QMetaObject (0x0x7f91677feae0) 0
+
+Class QMetaObject::Connection
+   size=8 align=8
+   base size=8 base align=8
+QMetaObject::Connection (0x0x7f91677feba0) 0
+
+Class QLatin1Char
+   size=1 align=1
+   base size=1 base align=1
+QLatin1Char (0x0x7f91674cfc00) 0
+
+Class QChar
+   size=2 align=2
+   base size=2 base align=2
+QChar (0x0x7f91674cfc60) 0
+
+Class QtPrivate::RefCount
+   size=4 align=4
+   base size=4 base align=4
+QtPrivate::RefCount (0x0x7f91674cff00) 0
+
+Class QArrayData
+   size=24 align=8
+   base size=24 base align=8
+QArrayData (0x0x7f91675b2000) 0
+
+Class QtPrivate::QContainerImplHelper
+   size=1 align=1
+   base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f91675b2480) 0 empty
+
+Class std::locale
+   size=8 align=8
+   base size=8 base align=8
+std::locale (0x0x7f91675b24e0) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTINSt6locale5facetE)
+16    (int (*)(...))std::locale::facet::~facet
+24    (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+   size=16 align=8
+   base size=12 base align=8
+std::locale::facet (0x0x7f91675b2540) 0
+    vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16u)
+
+Class std::locale::id
+   size=8 align=8
+   base size=8 base align=8
+std::locale::id (0x0x7f91675b25a0) 0
+
+Class std::locale::_Impl
+   size=40 align=8
+   base size=40 base align=8
+std::locale::_Impl (0x0x7f91675b2600) 0
+
+Class std::__cow_string
+   size=8 align=8
+   base size=8 base align=8
+std::__cow_string (0x0x7f91675b29c0) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt11logic_error)
+16    (int (*)(...))std::logic_error::~logic_error
+24    (int (*)(...))std::logic_error::~logic_error
+32    (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+   size=16 align=8
+   base size=16 base align=8
+std::logic_error (0x0x7f91674e9f70) 0
+    vptr=((& std::logic_error::_ZTVSt11logic_error) + 16u)
+  std::exception (0x0x7f91675b2a80) 0 nearly-empty
+      primary-for std::logic_error (0x0x7f91674e9f70)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt12domain_error)
+16    (int (*)(...))std::domain_error::~domain_error
+24    (int (*)(...))std::domain_error::~domain_error
+32    (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+   size=16 align=8
+   base size=16 base align=8
+std::domain_error (0x0x7f91674e9c98) 0
+    vptr=((& std::domain_error::_ZTVSt12domain_error) + 16u)
+  std::logic_error (0x0x7f91674e9d68) 0
+      primary-for std::domain_error (0x0x7f91674e9c98)
+    std::exception (0x0x7f91675b2ae0) 0 nearly-empty
+        primary-for std::logic_error (0x0x7f91674e9d68)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt16invalid_argument)
+16    (int (*)(...))std::invalid_argument::~invalid_argument
+24    (int (*)(...))std::invalid_argument::~invalid_argument
+32    (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+   size=16 align=8
+   base size=16 base align=8
+std::invalid_argument (0x0x7f9167298000) 0
+    vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16u)
+  std::logic_error (0x0x7f9167298068) 0
+      primary-for std::invalid_argument (0x0x7f9167298000)
+    std::exception (0x0x7f91675b2b40) 0 nearly-empty
+        primary-for std::logic_error (0x0x7f9167298068)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt12length_error)
+16    (int (*)(...))std::length_error::~length_error
+24    (int (*)(...))std::length_error::~length_error
+32    (int (*)(...))std::logic_error::what
+
+Class std::length_error
+   size=16 align=8
+   base size=16 base align=8
+std::length_error (0x0x7f91672980d0) 0
+    vptr=((& std::length_error::_ZTVSt12length_error) + 16u)
+  std::logic_error (0x0x7f9167298138) 0
+      primary-for std::length_error (0x0x7f91672980d0)
+    std::exception (0x0x7f91675b2ba0) 0 nearly-empty
+        primary-for std::logic_error (0x0x7f9167298138)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt12out_of_range)
+16    (int (*)(...))std::out_of_range::~out_of_range
+24    (int (*)(...))std::out_of_range::~out_of_range
+32    (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+   size=16 align=8
+   base size=16 base align=8
+std::out_of_range (0x0x7f91672981a0) 0
+    vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16u)
+  std::logic_error (0x0x7f9167298208) 0
+      primary-for std::out_of_range (0x0x7f91672981a0)
+    std::exception (0x0x7f91675b2c00) 0 nearly-empty
+        primary-for std::logic_error (0x0x7f9167298208)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt13runtime_error)
+16    (int (*)(...))std::runtime_error::~runtime_error
+24    (int (*)(...))std::runtime_error::~runtime_error
+32    (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+   size=16 align=8
+   base size=16 base align=8
+std::runtime_error (0x0x7f9167298270) 0
+    vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16u)
+  std::exception (0x0x7f91675b2c60) 0 nearly-empty
+      primary-for std::runtime_error (0x0x7f9167298270)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt11range_error)
+16    (int (*)(...))std::range_error::~range_error
+24    (int (*)(...))std::range_error::~range_error
+32    (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+   size=16 align=8
+   base size=16 base align=8
+std::range_error (0x0x7f91672982d8) 0
+    vptr=((& std::range_error::_ZTVSt11range_error) + 16u)
+  std::runtime_error (0x0x7f9167298340) 0
+      primary-for std::range_error (0x0x7f91672982d8)
+    std::exception (0x0x7f91675b2cc0) 0 nearly-empty
+        primary-for std::runtime_error (0x0x7f9167298340)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt14overflow_error)
+16    (int (*)(...))std::overflow_error::~overflow_error
+24    (int (*)(...))std::overflow_error::~overflow_error
+32    (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+   size=16 align=8
+   base size=16 base align=8
+std::overflow_error (0x0x7f91672983a8) 0
+    vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16u)
+  std::runtime_error (0x0x7f9167298410) 0
+      primary-for std::overflow_error (0x0x7f91672983a8)
+    std::exception (0x0x7f91675b2d20) 0 nearly-empty
+        primary-for std::runtime_error (0x0x7f9167298410)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt15underflow_error)
+16    (int (*)(...))std::underflow_error::~underflow_error
+24    (int (*)(...))std::underflow_error::~underflow_error
+32    (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+   size=16 align=8
+   base size=16 base align=8
+std::underflow_error (0x0x7f9167298478) 0
+    vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16u)
+  std::runtime_error (0x0x7f91672984e0) 0
+      primary-for std::underflow_error (0x0x7f9167298478)
+    std::exception (0x0x7f91675b2d80) 0 nearly-empty
+        primary-for std::runtime_error (0x0x7f91672984e0)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16    0u
+24    0u
+32    (int (*)(...))__cxa_pure_virtual
+40    (int (*)(...))std::_V2::error_category::_M_message
+48    (int (*)(...))__cxa_pure_virtual
+56    (int (*)(...))std::_V2::error_category::default_error_condition
+64    (int (*)(...))std::_V2::error_category::equivalent
+72    (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+   size=8 align=8
+   base size=8 base align=8
+std::_V2::error_category (0x0x7f91675b2f00) 0 nearly-empty
+    vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16u)
+
+Class std::error_code
+   size=16 align=8
+   base size=16 base align=8
+std::error_code (0x0x7f91672c0180) 0
+
+Class std::error_condition
+   size=16 align=8
+   base size=16 base align=8
+std::error_condition (0x0x7f91672c0300) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt12system_error)
+16    (int (*)(...))std::system_error::~system_error
+24    (int (*)(...))std::system_error::~system_error
+32    (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+   size=32 align=8
+   base size=32 base align=8
+std::system_error (0x0x7f91672989c0) 0
+    vptr=((& std::system_error::_ZTVSt12system_error) + 16u)
+  std::runtime_error (0x0x7f9167298a28) 0
+      primary-for std::system_error (0x0x7f91672989c0)
+    std::exception (0x0x7f91672c0540) 0 nearly-empty
+        primary-for std::runtime_error (0x0x7f9167298a28)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16    (int (*)(...))std::ios_base::failure::~failure
+24    (int (*)(...))std::ios_base::failure::~failure
+32    (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+   size=32 align=8
+   base size=32 base align=8
+std::ios_base::failure (0x0x7f9167316618) 0
+    vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16u)
+  std::system_error (0x0x7f9167316680) 0
+      primary-for std::ios_base::failure (0x0x7f9167316618)
+    std::runtime_error (0x0x7f91673166e8) 0
+        primary-for std::system_error (0x0x7f9167316680)
+      std::exception (0x0x7f91672c0840) 0 nearly-empty
+          primary-for std::runtime_error (0x0x7f91673166e8)
+
+Class std::ios_base::_Callback_list
+   size=24 align=8
+   base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f91672c08a0) 0
+
+Class std::ios_base::_Words
+   size=16 align=8
+   base size=16 base align=8
+std::ios_base::_Words (0x0x7f91672c0900) 0
+
+Class std::ios_base::Init
+   size=1 align=1
+   base size=0 base align=1
+std::ios_base::Init (0x0x7f91672c0960) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt8ios_base)
+16    (int (*)(...))std::ios_base::~ios_base
+24    (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+   size=216 align=8
+   base size=216 base align=8
+std::ios_base (0x0x7f91672c07e0) 0
+    vptr=((& std::ios_base::_ZTVSt8ios_base) + 16u)
+
+Class std::ctype_base
+   size=1 align=1
+   base size=0 base align=1
+std::ctype_base (0x0x7f9167410120) 0 empty
+
+Class std::__num_base
+   size=1 align=1
+   base size=0 base align=1
+std::__num_base (0x0x7f91674107e0) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2u entries
+0     ((& std::basic_ostream<char>::_ZTVSo) + 24u)
+8     ((& std::basic_ostream<char>::_ZTVSo) + 64u)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2u entries
+0     ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24u)
+8     ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64u)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2u entries
+0     ((& std::basic_istream<char>::_ZTVSi) + 24u)
+8     ((& std::basic_istream<char>::_ZTVSi) + 64u)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2u entries
+0     ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24u)
+8     ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64u)
+
+Construction vtable for std::basic_istream<char> (0x0x7f9166f3cf08 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10u entries
+0     24u
+8     (int (*)(...))0
+16    (int (*)(...))(& _ZTISi)
+24    0u
+32    0u
+40    18446744073709551592u
+48    (int (*)(...))-24
+56    (int (*)(...))(& _ZTISi)
+64    0u
+72    0u
+
+Construction vtable for std::basic_ostream<char> (0x0x7f9167005068 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10u entries
+0     8u
+8     (int (*)(...))0
+16    (int (*)(...))(& _ZTISo)
+24    0u
+32    0u
+40    18446744073709551608u
+48    (int (*)(...))-8
+56    (int (*)(...))(& _ZTISo)
+64    0u
+72    0u
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7u entries
+0     ((& std::basic_iostream<char>::_ZTVSd) + 24u)
+8     ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24u)
+16    ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64u)
+24    ((& std::basic_iostream<char>::_ZTCSd16_So) + 24u)
+32    ((& std::basic_iostream<char>::_ZTCSd16_So) + 64u)
+40    ((& std::basic_iostream<char>::_ZTVSd) + 104u)
+48    ((& std::basic_iostream<char>::_ZTVSd) + 64u)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f9167005410 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10u entries
+0     24u
+8     (int (*)(...))0
+16    (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24    0u
+32    0u
+40    18446744073709551592u
+48    (int (*)(...))-24
+56    (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64    0u
+72    0u
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f91670054e0 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10u entries
+0     8u
+8     (int (*)(...))0
+16    (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24    0u
+32    0u
+40    18446744073709551608u
+48    (int (*)(...))-8
+56    (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64    0u
+72    0u
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7u entries
+0     ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24u)
+8     ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24u)
+16    ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64u)
+24    ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24u)
+32    ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64u)
+40    ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104u)
+48    ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64u)
+
+Class QByteArrayDataPtr
+   size=8 align=8
+   base size=8 base align=8
+QByteArrayDataPtr (0x0x7f916704f0c0) 0
+
+Class QByteArray
+   size=8 align=8
+   base size=8 base align=8
+QByteArray (0x0x7f916704f120) 0
+
+Class QByteRef
+   size=16 align=8
+   base size=12 base align=8
+QByteRef (0x0x7f9166d305a0) 0
+
+Class QLatin1String
+   size=16 align=8
+   base size=16 base align=8
+QLatin1String (0x0x7f9166d308a0) 0
+
+Class QStringDataPtr
+   size=8 align=8
+   base size=8 base align=8
+QStringDataPtr (0x0x7f9166d30c00) 0
+
+Class QString::Null
+   size=1 align=1
+   base size=0 base align=1
+QString::Null (0x0x7f9166d30cc0) 0 empty
+
+Class QString
+   size=8 align=8
+   base size=8 base align=8
+QString (0x0x7f9166d30c60) 0
+
+Class QCharRef
+   size=16 align=8
+   base size=12 base align=8
+QCharRef (0x0x7f9166b72cc0) 0
+
+Class QStringRef
+   size=16 align=8
+   base size=16 base align=8
+QStringRef (0x0x7f91668fca80) 0
+
+Class QtPrivate::QHashCombine
+   size=1 align=1
+   base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f91666a6000) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+   size=1 align=1
+   base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f91666a6060) 0 empty
+
+Class std::__detail::_List_node_base
+   size=16 align=8
+   base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f91666a60c0) 0
+
+Class QListData::NotArrayCompatibleLayout
+   size=1 align=1
+   base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f91666a6480) 0 empty
+
+Class QListData::NotIndirectLayout
+   size=1 align=1
+   base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f91666a64e0) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+   size=1 align=1
+   base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f9166906bc8) 0 empty
+  QListData::NotIndirectLayout (0x0x7f91666a6540) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+   size=1 align=1
+   base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f9166765af0) 0 empty
+  QListData::NotArrayCompatibleLayout (0x0x7f91666a65a0) 0 empty
+  QListData::NotIndirectLayout (0x0x7f91666a6600) 0 empty
+
+Class QListData::IndirectLayout
+   size=1 align=1
+   base size=1 base align=1
+QListData::IndirectLayout (0x0x7f9166906c30) 0 empty
+  QListData::NotArrayCompatibleLayout (0x0x7f91666a6660) 0 empty
+
+Class QListData::Data
+   size=24 align=8
+   base size=24 base align=8
+QListData::Data (0x0x7f91666a66c0) 0
+
+Class QListData
+   size=8 align=8
+   base size=8 base align=8
+QListData (0x0x7f91666a6420) 0
+
+Class QRegExp
+   size=8 align=8
+   base size=8 base align=8
+QRegExp (0x0x7f916684a2a0) 0
+
+Class QStringMatcher::Data
+   size=272 align=8
+   base size=272 base align=8
+QStringMatcher::Data (0x0x7f916650d4e0) 0
+
+Class QStringMatcher
+   size=1048 align=8
+   base size=1048 base align=8
+QStringMatcher (0x0x7f916650d480) 0
+
+Class QStringList
+   size=8 align=8
+   base size=8 base align=8
+QStringList (0x0x7f916650f618) 0
+  QList<QString> (0x0x7f916650f680) 0
+    QListSpecialMethods<QString> (0x0x7f916650d6c0) 0 empty
+
+Class QScopedPointerPodDeleter
+   size=1 align=1
+   base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f916650dae0) 0 empty
+
+Class std::_Rb_tree_node_base
+   size=32 align=8
+   base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f916650df00) 0
+
+Class std::allocator_arg_t
+   size=1 align=1
+   base size=0 base align=1
+std::allocator_arg_t (0x0x7f91666495a0) 0 empty
+
+Class std::__uses_alloc_base
+   size=1 align=1
+   base size=0 base align=1
+std::__uses_alloc_base (0x0x7f9166649720) 0 empty
+
+Class std::__uses_alloc0::_Sink
+   size=1 align=1
+   base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f91666497e0) 0 empty
+
+Class std::__uses_alloc0
+   size=1 align=1
+   base size=1 base align=1
+std::__uses_alloc0 (0x0x7f916661b680) 0
+  std::__uses_alloc_base (0x0x7f9166649780) 0 empty
+
+Class std::_Swallow_assign
+   size=1 align=1
+   base size=0 base align=1
+std::_Swallow_assign (0x0x7f9166073840) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+   size=16 align=8
+   base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f9166073a80) 0
+
+Class QtPrivate::AbstractComparatorFunction
+   size=24 align=8
+   base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f9166073b40) 0
+
+Class QtPrivate::AbstractConverterFunction
+   size=8 align=8
+   base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f9166073c60) 0
+
+Class QMetaType
+   size=80 align=8
+   base size=80 base align=8
+QMetaType (0x0x7f9166073de0) 0
+
+Class QtMetaTypePrivate::VariantData
+   size=24 align=8
+   base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f91661ab240) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+   size=1 align=1
+   base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f91661ab360) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+   size=104 align=8
+   base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f91661abcc0) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+   size=112 align=8
+   base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f9165e961e0) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+   size=40 align=8
+   base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f9165e96540) 0
+
+Class QtPrivate::QSlotObjectBase
+   size=16 align=8
+   base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f9165c61420) 0
+
+Class std::chrono::_V2::system_clock
+   size=1 align=1
+   base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f9165cdc900) 0 empty
+
+Class std::chrono::_V2::steady_clock
+   size=1 align=1
+   base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f9165e3d780) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QObjectData)
+16    (int (*)(...))__cxa_pure_virtual
+24    (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+   size=48 align=8
+   base size=48 base align=8
+QObjectData (0x0x7f9165e3d7e0) 0
+    vptr=((& QObjectData::_ZTV11QObjectData) + 16u)
+
+Class QObject::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f9165e3d9c0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI7QObject)
+16    (int (*)(...))QObject::metaObject
+24    (int (*)(...))QObject::qt_metacast
+32    (int (*)(...))QObject::qt_metacall
+40    (int (*)(...))QObject::~QObject
+48    (int (*)(...))QObject::~QObject
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+   size=16 align=8
+   base size=16 base align=8
+QObject (0x0x7f9165e3d960) 0
+    vptr=((& QObject::_ZTV7QObject) + 16u)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI15QObjectUserData)
+16    (int (*)(...))QObjectUserData::~QObjectUserData
+24    (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+   size=8 align=8
+   base size=8 base align=8
+QObjectUserData (0x0x7f9165b05120) 0 nearly-empty
+    vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16u)
+
+Class QSignalBlocker
+   size=16 align=8
+   base size=10 base align=8
+QSignalBlocker (0x0x7f9165b05180) 0
+
+Class QAbstractAnimation::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f9165b05240) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI18QAbstractAnimation)
+16    (int (*)(...))QAbstractAnimation::metaObject
+24    (int (*)(...))QAbstractAnimation::qt_metacast
+32    (int (*)(...))QAbstractAnimation::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QAbstractAnimation::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+128   (int (*)(...))QAbstractAnimation::updateState
+136   (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+   size=16 align=8
+   base size=16 base align=8
+QAbstractAnimation (0x0x7f9165e3cf70) 0
+    vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16u)
+  QObject (0x0x7f9165b051e0) 0
+      primary-for QAbstractAnimation (0x0x7f9165e3cf70)
+
+Class QAnimationDriver::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f9165b05300) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI16QAnimationDriver)
+16    (int (*)(...))QAnimationDriver::metaObject
+24    (int (*)(...))QAnimationDriver::qt_metacast
+32    (int (*)(...))QAnimationDriver::qt_metacall
+40    (int (*)(...))QAnimationDriver::~QAnimationDriver
+48    (int (*)(...))QAnimationDriver::~QAnimationDriver
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QAnimationDriver::advance
+120   (int (*)(...))QAnimationDriver::elapsed
+128   (int (*)(...))QAnimationDriver::start
+136   (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+   size=16 align=8
+   base size=16 base align=8
+QAnimationDriver (0x0x7f9165e3c6e8) 0
+    vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16u)
+  QObject (0x0x7f9165b052a0) 0
+      primary-for QAnimationDriver (0x0x7f9165e3c6e8)
+
+Class QEventLoop::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f9165b053c0) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI10QEventLoop)
+16    (int (*)(...))QEventLoop::metaObject
+24    (int (*)(...))QEventLoop::qt_metacast
+32    (int (*)(...))QEventLoop::qt_metacall
+40    (int (*)(...))QEventLoop::~QEventLoop
+48    (int (*)(...))QEventLoop::~QEventLoop
+56    (int (*)(...))QEventLoop::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+   size=16 align=8
+   base size=16 base align=8
+QEventLoop (0x0x7f9165b58000) 0
+    vptr=((& QEventLoop::_ZTV10QEventLoop) + 16u)
+  QObject (0x0x7f9165b05360) 0
+      primary-for QEventLoop (0x0x7f9165b58000)
+
+Class QEventLoopLocker
+   size=8 align=8
+   base size=8 base align=8
+QEventLoopLocker (0x0x7f9165b055a0) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f9165b05660) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+   size=12 align=4
+   base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f9165b056c0) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16    (int (*)(...))QAbstractEventDispatcher::metaObject
+24    (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32    (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+128   (int (*)(...))__cxa_pure_virtual
+136   (int (*)(...))__cxa_pure_virtual
+144   (int (*)(...))__cxa_pure_virtual
+152   (int (*)(...))__cxa_pure_virtual
+160   (int (*)(...))__cxa_pure_virtual
+168   (int (*)(...))__cxa_pure_virtual
+176   (int (*)(...))__cxa_pure_virtual
+184   (int (*)(...))__cxa_pure_virtual
+192   (int (*)(...))__cxa_pure_virtual
+200   (int (*)(...))__cxa_pure_virtual
+208   (int (*)(...))QAbstractEventDispatcher::startingUp
+216   (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+   size=16 align=8
+   base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f9165b58138) 0
+    vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16u)
+  QObject (0x0x7f9165b05600) 0
+      primary-for QAbstractEventDispatcher (0x0x7f9165b58138)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt9type_info)
+16    (int (*)(...))std::type_info::~type_info
+24    (int (*)(...))std::type_info::~type_info
+32    (int (*)(...))std::type_info::__is_pointer_p
+40    (int (*)(...))std::type_info::__is_function_p
+48    (int (*)(...))std::type_info::__do_catch
+56    (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+   size=16 align=8
+   base size=16 base align=8
+std::type_info (0x0x7f9165b05720) 0
+    vptr=((& std::type_info::_ZTVSt9type_info) + 16u)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt8bad_cast)
+16    (int (*)(...))std::bad_cast::~bad_cast
+24    (int (*)(...))std::bad_cast::~bad_cast
+32    (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+   size=8 align=8
+   base size=8 base align=8
+std::bad_cast (0x0x7f9165b581a0) 0 nearly-empty
+    vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16u)
+  std::exception (0x0x7f9165b05780) 0 nearly-empty
+      primary-for std::bad_cast (0x0x7f9165b581a0)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt10bad_typeid)
+16    (int (*)(...))std::bad_typeid::~bad_typeid
+24    (int (*)(...))std::bad_typeid::~bad_typeid
+32    (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+   size=8 align=8
+   base size=8 base align=8
+std::bad_typeid (0x0x7f9165b58208) 0 nearly-empty
+    vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16u)
+  std::exception (0x0x7f9165b057e0) 0 nearly-empty
+      primary-for std::bad_typeid (0x0x7f9165b58208)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTISt17bad_function_call)
+16    (int (*)(...))std::bad_function_call::~bad_function_call
+24    (int (*)(...))std::bad_function_call::~bad_function_call
+32    (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+   size=8 align=8
+   base size=8 base align=8
+std::bad_function_call (0x0x7f916591e478) 0 nearly-empty
+    vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16u)
+  std::exception (0x0x7f91658d38a0) 0 nearly-empty
+      primary-for std::bad_function_call (0x0x7f916591e478)
+
+Class std::_Nocopy_types
+   size=16 align=8
+   base size=16 base align=8
+std::_Nocopy_types (0x0x7f91658d3960) 0
+
+Class std::_Any_data
+   size=16 align=8
+   base size=16 base align=8
+std::_Any_data (0x0x7f91658d39c0) 0
+
+Class std::_Function_base
+   size=24 align=8
+   base size=24 base align=8
+std::_Function_base (0x0x7f91658d3ae0) 0
+
+Class QMapNodeBase
+   size=24 align=8
+   base size=24 base align=8
+QMapNodeBase (0x0x7f91659c6000) 0
+
+Class QMapDataBase
+   size=40 align=8
+   base size=40 base align=8
+QMapDataBase (0x0x7f91659c60c0) 0
+
+Class QHashData::Node
+   size=16 align=8
+   base size=16 base align=8
+QHashData::Node (0x0x7f91659c6480) 0
+
+Class QHashData
+   size=48 align=8
+   base size=44 base align=8
+QHashData (0x0x7f91659c6420) 0
+
+Class QHashDummyValue
+   size=1 align=1
+   base size=0 base align=1
+QHashDummyValue (0x0x7f91659c64e0) 0 empty
+
+Class QVariant::PrivateShared
+   size=16 align=8
+   base size=12 base align=8
+QVariant::PrivateShared (0x0x7f91657c8060) 0
+
+Class QVariant::Private::Data
+   size=8 align=8
+   base size=8 base align=8
+QVariant::Private::Data (0x0x7f91657c8120) 0
+
+Class QVariant::Private
+   size=16 align=8
+   base size=12 base align=8
+QVariant::Private (0x0x7f91657c80c0) 0
+
+Class QVariant::Handler
+   size=72 align=8
+   base size=72 base align=8
+QVariant::Handler (0x0x7f91657c8180) 0
+
+Class QVariant
+   size=16 align=8
+   base size=16 base align=8
+QVariant (0x0x7f91657c8000) 0
+
+Class QVariantComparisonHelper
+   size=8 align=8
+   base size=8 base align=8
+QVariantComparisonHelper (0x0x7f916549c480) 0
+
+Class QSequentialIterable::const_iterator
+   size=112 align=8
+   base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f916549c780) 0
+
+Class QSequentialIterable
+   size=104 align=8
+   base size=104 base align=8
+QSequentialIterable (0x0x7f916549c720) 0
+
+Class QAssociativeIterable::const_iterator
+   size=120 align=8
+   base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f916549c840) 0
+
+Class QAssociativeIterable
+   size=112 align=8
+   base size=112 base align=8
+QAssociativeIterable (0x0x7f916549c7e0) 0
+
+Class QModelIndex
+   size=24 align=8
+   base size=24 base align=8
+QModelIndex (0x0x7f91652ce2a0) 0
+
+Class QPersistentModelIndex
+   size=8 align=8
+   base size=8 base align=8
+QPersistentModelIndex (0x0x7f91652ce540) 0
+
+Class QAbstractItemModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f91653a9540) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI18QAbstractItemModel)
+16    (int (*)(...))QAbstractItemModel::metaObject
+24    (int (*)(...))QAbstractItemModel::qt_metacast
+32    (int (*)(...))QAbstractItemModel::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+128   (int (*)(...))QAbstractItemModel::sibling
+136   (int (*)(...))__cxa_pure_virtual
+144   (int (*)(...))__cxa_pure_virtual
+152   (int (*)(...))QAbstractItemModel::hasChildren
+160   (int (*)(...))__cxa_pure_virtual
+168   (int (*)(...))QAbstractItemModel::setData
+176   (int (*)(...))QAbstractItemModel::headerData
+184   (int (*)(...))QAbstractItemModel::setHeaderData
+192   (int (*)(...))QAbstractItemModel::itemData
+200   (int (*)(...))QAbstractItemModel::setItemData
+208   (int (*)(...))QAbstractItemModel::mimeTypes
+216   (int (*)(...))QAbstractItemModel::mimeData
+224   (int (*)(...))QAbstractItemModel::canDropMimeData
+232   (int (*)(...))QAbstractItemModel::dropMimeData
+240   (int (*)(...))QAbstractItemModel::supportedDropActions
+248   (int (*)(...))QAbstractItemModel::supportedDragActions
+256   (int (*)(...))QAbstractItemModel::insertRows
+264   (int (*)(...))QAbstractItemModel::insertColumns
+272   (int (*)(...))QAbstractItemModel::removeRows
+280   (int (*)(...))QAbstractItemModel::removeColumns
+288   (int (*)(...))QAbstractItemModel::moveRows
+296   (int (*)(...))QAbstractItemModel::moveColumns
+304   (int (*)(...))QAbstractItemModel::fetchMore
+312   (int (*)(...))QAbstractItemModel::canFetchMore
+320   (int (*)(...))QAbstractItemModel::flags
+328   (int (*)(...))QAbstractItemModel::sort
+336   (int (*)(...))QAbstractItemModel::buddy
+344   (int (*)(...))QAbstractItemModel::match
+352   (int (*)(...))QAbstractItemModel::span
+360   (int (*)(...))QAbstractItemModel::roleNames
+368   (int (*)(...))QAbstractItemModel::submit
+376   (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+   size=16 align=8
+   base size=16 base align=8
+QAbstractItemModel (0x0x7f91653ac618) 0
+    vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16u)
+  QObject (0x0x7f91653a94e0) 0
+      primary-for QAbstractItemModel (0x0x7f91653ac618)
+
+Class QAbstractTableModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f91653a98a0) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI19QAbstractTableModel)
+16    (int (*)(...))QAbstractTableModel::metaObject
+24    (int (*)(...))QAbstractTableModel::qt_metacast
+32    (int (*)(...))QAbstractTableModel::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QAbstractTableModel::index
+120   (int (*)(...))QAbstractTableModel::parent
+128   (int (*)(...))QAbstractTableModel::sibling
+136   (int (*)(...))__cxa_pure_virtual
+144   (int (*)(...))__cxa_pure_virtual
+152   (int (*)(...))QAbstractTableModel::hasChildren
+160   (int (*)(...))__cxa_pure_virtual
+168   (int (*)(...))QAbstractItemModel::setData
+176   (int (*)(...))QAbstractItemModel::headerData
+184   (int (*)(...))QAbstractItemModel::setHeaderData
+192   (int (*)(...))QAbstractItemModel::itemData
+200   (int (*)(...))QAbstractItemModel::setItemData
+208   (int (*)(...))QAbstractItemModel::mimeTypes
+216   (int (*)(...))QAbstractItemModel::mimeData
+224   (int (*)(...))QAbstractItemModel::canDropMimeData
+232   (int (*)(...))QAbstractTableModel::dropMimeData
+240   (int (*)(...))QAbstractItemModel::supportedDropActions
+248   (int (*)(...))QAbstractItemModel::supportedDragActions
+256   (int (*)(...))QAbstractItemModel::insertRows
+264   (int (*)(...))QAbstractItemModel::insertColumns
+272   (int (*)(...))QAbstractItemModel::removeRows
+280   (int (*)(...))QAbstractItemModel::removeColumns
+288   (int (*)(...))QAbstractItemModel::moveRows
+296   (int (*)(...))QAbstractItemModel::moveColumns
+304   (int (*)(...))QAbstractItemModel::fetchMore
+312   (int (*)(...))QAbstractItemModel::canFetchMore
+320   (int (*)(...))QAbstractTableModel::flags
+328   (int (*)(...))QAbstractItemModel::sort
+336   (int (*)(...))QAbstractItemModel::buddy
+344   (int (*)(...))QAbstractItemModel::match
+352   (int (*)(...))QAbstractItemModel::span
+360   (int (*)(...))QAbstractItemModel::roleNames
+368   (int (*)(...))QAbstractItemModel::submit
+376   (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+   size=16 align=8
+   base size=16 base align=8
+QAbstractTableModel (0x0x7f91653ac820) 0
+    vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16u)
+  QAbstractItemModel (0x0x7f91653ac888) 0
+      primary-for QAbstractTableModel (0x0x7f91653ac820)
+    QObject (0x0x7f91653a9840) 0
+        primary-for QAbstractItemModel (0x0x7f91653ac888)
+
+Class QAbstractListModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f91653a9960) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI18QAbstractListModel)
+16    (int (*)(...))QAbstractListModel::metaObject
+24    (int (*)(...))QAbstractListModel::qt_metacast
+32    (int (*)(...))QAbstractListModel::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QAbstractListModel::index
+120   (int (*)(...))QAbstractListModel::parent
+128   (int (*)(...))QAbstractListModel::sibling
+136   (int (*)(...))__cxa_pure_virtual
+144   (int (*)(...))QAbstractListModel::columnCount
+152   (int (*)(...))QAbstractListModel::hasChildren
+160   (int (*)(...))__cxa_pure_virtual
+168   (int (*)(...))QAbstractItemModel::setData
+176   (int (*)(...))QAbstractItemModel::headerData
+184   (int (*)(...))QAbstractItemModel::setHeaderData
+192   (int (*)(...))QAbstractItemModel::itemData
+200   (int (*)(...))QAbstractItemModel::setItemData
+208   (int (*)(...))QAbstractItemModel::mimeTypes
+216   (int (*)(...))QAbstractItemModel::mimeData
+224   (int (*)(...))QAbstractItemModel::canDropMimeData
+232   (int (*)(...))QAbstractListModel::dropMimeData
+240   (int (*)(...))QAbstractItemModel::supportedDropActions
+248   (int (*)(...))QAbstractItemModel::supportedDragActions
+256   (int (*)(...))QAbstractItemModel::insertRows
+264   (int (*)(...))QAbstractItemModel::insertColumns
+272   (int (*)(...))QAbstractItemModel::removeRows
+280   (int (*)(...))QAbstractItemModel::removeColumns
+288   (int (*)(...))QAbstractItemModel::moveRows
+296   (int (*)(...))QAbstractItemModel::moveColumns
+304   (int (*)(...))QAbstractItemModel::fetchMore
+312   (int (*)(...))QAbstractItemModel::canFetchMore
+320   (int (*)(...))QAbstractListModel::flags
+328   (int (*)(...))QAbstractItemModel::sort
+336   (int (*)(...))QAbstractItemModel::buddy
+344   (int (*)(...))QAbstractItemModel::match
+352   (int (*)(...))QAbstractItemModel::span
+360   (int (*)(...))QAbstractItemModel::roleNames
+368   (int (*)(...))QAbstractItemModel::submit
+376   (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+   size=16 align=8
+   base size=16 base align=8
+QAbstractListModel (0x0x7f91653ac8f0) 0
+    vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16u)
+  QAbstractItemModel (0x0x7f91653ac958) 0
+      primary-for QAbstractListModel (0x0x7f91653ac8f0)
+    QObject (0x0x7f91653a9900) 0
+        primary-for QAbstractItemModel (0x0x7f91653ac958)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16    0u
+24    0u
+32    (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+   size=16 align=8
+   base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f91653a9c00) 0
+    vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16u)
+
+Class QAbstractProxyModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f91653a9cc0) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16    (int (*)(...))QAbstractProxyModel::metaObject
+24    (int (*)(...))QAbstractProxyModel::qt_metacast
+32    (int (*)(...))QAbstractProxyModel::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+128   (int (*)(...))QAbstractProxyModel::sibling
+136   (int (*)(...))__cxa_pure_virtual
+144   (int (*)(...))__cxa_pure_virtual
+152   (int (*)(...))QAbstractProxyModel::hasChildren
+160   (int (*)(...))QAbstractProxyModel::data
+168   (int (*)(...))QAbstractProxyModel::setData
+176   (int (*)(...))QAbstractProxyModel::headerData
+184   (int (*)(...))QAbstractProxyModel::setHeaderData
+192   (int (*)(...))QAbstractProxyModel::itemData
+200   (int (*)(...))QAbstractProxyModel::setItemData
+208   (int (*)(...))QAbstractProxyModel::mimeTypes
+216   (int (*)(...))QAbstractProxyModel::mimeData
+224   (int (*)(...))QAbstractProxyModel::canDropMimeData
+232   (int (*)(...))QAbstractProxyModel::dropMimeData
+240   (int (*)(...))QAbstractProxyModel::supportedDropActions
+248   (int (*)(...))QAbstractProxyModel::supportedDragActions
+256   (int (*)(...))QAbstractItemModel::insertRows
+264   (int (*)(...))QAbstractItemModel::insertColumns
+272   (int (*)(...))QAbstractItemModel::removeRows
+280   (int (*)(...))QAbstractItemModel::removeColumns
+288   (int (*)(...))QAbstractItemModel::moveRows
+296   (int (*)(...))QAbstractItemModel::moveColumns
+304   (int (*)(...))QAbstractProxyModel::fetchMore
+312   (int (*)(...))QAbstractProxyModel::canFetchMore
+320   (int (*)(...))QAbstractProxyModel::flags
+328   (int (*)(...))QAbstractProxyModel::sort
+336   (int (*)(...))QAbstractProxyModel::buddy
+344   (int (*)(...))QAbstractItemModel::match
+352   (int (*)(...))QAbstractProxyModel::span
+360   (int (*)(...))QAbstractItemModel::roleNames
+368   (int (*)(...))QAbstractProxyModel::submit
+376   (int (*)(...))QAbstractProxyModel::revert
+384   (int (*)(...))QAbstractProxyModel::setSourceModel
+392   (int (*)(...))__cxa_pure_virtual
+400   (int (*)(...))__cxa_pure_virtual
+408   (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416   (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+   size=16 align=8
+   base size=16 base align=8
+QAbstractProxyModel (0x0x7f91653aca90) 0
+    vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16u)
+  QAbstractItemModel (0x0x7f91653acaf8) 0
+      primary-for QAbstractProxyModel (0x0x7f91653aca90)
+    QObject (0x0x7f91653a9c60) 0
+        primary-for QAbstractItemModel (0x0x7f91653acaf8)
+
+Class QAbstractState::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f91653a9d80) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI14QAbstractState)
+16    (int (*)(...))QAbstractState::metaObject
+24    (int (*)(...))QAbstractState::qt_metacast
+32    (int (*)(...))QAbstractState::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QAbstractState::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+   size=16 align=8
+   base size=16 base align=8
+QAbstractState (0x0x7f91653acb60) 0
+    vptr=((& QAbstractState::_ZTV14QAbstractState) + 16u)
+  QObject (0x0x7f91653a9d20) 0
+      primary-for QAbstractState (0x0x7f91653acb60)
+
+Class QAbstractTransition::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f91653a9e40) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI19QAbstractTransition)
+16    (int (*)(...))QAbstractTransition::metaObject
+24    (int (*)(...))QAbstractTransition::qt_metacast
+32    (int (*)(...))QAbstractTransition::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QAbstractTransition::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+   size=16 align=8
+   base size=16 base align=8
+QAbstractTransition (0x0x7f91653acbc8) 0
+    vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16u)
+  QObject (0x0x7f91653a9de0) 0
+      primary-for QAbstractTransition (0x0x7f91653acbc8)
+
+Class QAnimationGroup::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f91653a9f00) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI15QAnimationGroup)
+16    (int (*)(...))QAnimationGroup::metaObject
+24    (int (*)(...))QAnimationGroup::qt_metacast
+32    (int (*)(...))QAnimationGroup::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QAnimationGroup::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+128   (int (*)(...))QAbstractAnimation::updateState
+136   (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+   size=16 align=8
+   base size=16 base align=8
+QAnimationGroup (0x0x7f91653acc30) 0
+    vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16u)
+  QAbstractAnimation (0x0x7f91653acc98) 0
+      primary-for QAnimationGroup (0x0x7f91653acc30)
+    QObject (0x0x7f91653a9ea0) 0
+        primary-for QAbstractAnimation (0x0x7f91653acc98)
+
+Class QBasicTimer
+   size=4 align=4
+   base size=4 base align=4
+QBasicTimer (0x0x7f916511b420) 0
+
+Class QBitArray
+   size=8 align=8
+   base size=8 base align=8
+QBitArray (0x0x7f916511b6c0) 0
+
+Class QBitRef
+   size=16 align=8
+   base size=12 base align=8
+QBitRef (0x0x7f916511b900) 0
+
+Class QIODevice::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f916511bc60) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI9QIODevice)
+16    (int (*)(...))QIODevice::metaObject
+24    (int (*)(...))QIODevice::qt_metacast
+32    (int (*)(...))QIODevice::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QIODevice::isSequential
+120   (int (*)(...))QIODevice::open
+128   (int (*)(...))QIODevice::close
+136   (int (*)(...))QIODevice::pos
+144   (int (*)(...))QIODevice::size
+152   (int (*)(...))QIODevice::seek
+160   (int (*)(...))QIODevice::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QIODevice::bytesAvailable
+184   (int (*)(...))QIODevice::bytesToWrite
+192   (int (*)(...))QIODevice::canReadLine
+200   (int (*)(...))QIODevice::waitForReadyRead
+208   (int (*)(...))QIODevice::waitForBytesWritten
+216   (int (*)(...))__cxa_pure_virtual
+224   (int (*)(...))QIODevice::readLineData
+232   (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+   size=16 align=8
+   base size=16 base align=8
+QIODevice (0x0x7f916512dd68) 0
+    vptr=((& QIODevice::_ZTV9QIODevice) + 16u)
+  QObject (0x0x7f916511bc00) 0
+      primary-for QIODevice (0x0x7f916512dd68)
+
+Class QBuffer::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f916511bea0) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI7QBuffer)
+16    (int (*)(...))QBuffer::metaObject
+24    (int (*)(...))QBuffer::qt_metacast
+32    (int (*)(...))QBuffer::qt_metacall
+40    (int (*)(...))QBuffer::~QBuffer
+48    (int (*)(...))QBuffer::~QBuffer
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QBuffer::connectNotify
+104   (int (*)(...))QBuffer::disconnectNotify
+112   (int (*)(...))QIODevice::isSequential
+120   (int (*)(...))QBuffer::open
+128   (int (*)(...))QBuffer::close
+136   (int (*)(...))QBuffer::pos
+144   (int (*)(...))QBuffer::size
+152   (int (*)(...))QBuffer::seek
+160   (int (*)(...))QBuffer::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QIODevice::bytesAvailable
+184   (int (*)(...))QIODevice::bytesToWrite
+192   (int (*)(...))QBuffer::canReadLine
+200   (int (*)(...))QIODevice::waitForReadyRead
+208   (int (*)(...))QIODevice::waitForBytesWritten
+216   (int (*)(...))QBuffer::readData
+224   (int (*)(...))QIODevice::readLineData
+232   (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+   size=16 align=8
+   base size=16 base align=8
+QBuffer (0x0x7f916512dea0) 0
+    vptr=((& QBuffer::_ZTV7QBuffer) + 16u)
+  QIODevice (0x0x7f916512df08) 0
+      primary-for QBuffer (0x0x7f916512dea0)
+    QObject (0x0x7f916511be40) 0
+        primary-for QIODevice (0x0x7f916512df08)
+
+Class QByteArrayMatcher::Data
+   size=272 align=8
+   base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f916511bf60) 0
+
+Class QByteArrayMatcher
+   size=1040 align=8
+   base size=1040 base align=8
+QByteArrayMatcher (0x0x7f916511bf00) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+   size=256 align=1
+   base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f91652220c0) 0
+
+Class QStaticByteArrayMatcherBase
+   size=256 align=16
+   base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f9165222060) 0
+
+Class QSharedData
+   size=4 align=4
+   base size=4 base align=4
+QSharedData (0x0x7f91652222a0) 0
+
+Class QLocale
+   size=8 align=8
+   base size=8 base align=8
+QLocale (0x0x7f9165222480) 0
+
+Class QCollatorSortKey
+   size=8 align=8
+   base size=8 base align=8
+QCollatorSortKey (0x0x7f9165222900) 0
+
+Class QCollator
+   size=8 align=8
+   base size=8 base align=8
+QCollator (0x0x7f91652229c0) 0
+
+Class QCommandLineOption
+   size=8 align=8
+   base size=8 base align=8
+QCommandLineOption (0x0x7f9164fe99c0) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI6QEvent)
+16    (int (*)(...))QEvent::~QEvent
+24    (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+   size=24 align=8
+   base size=20 base align=8
+QEvent (0x0x7f9164fe9e40) 0
+    vptr=((& QEvent::_ZTV6QEvent) + 16u)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QTimerEvent)
+16    (int (*)(...))QTimerEvent::~QTimerEvent
+24    (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+   size=24 align=8
+   base size=24 base align=8
+QTimerEvent (0x0x7f91650002d8) 0
+    vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16u)
+  QEvent (0x0x7f9164fe9ea0) 0
+      primary-for QTimerEvent (0x0x7f91650002d8)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QChildEvent)
+16    (int (*)(...))QChildEvent::~QChildEvent
+24    (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+   size=32 align=8
+   base size=32 base align=8
+QChildEvent (0x0x7f9165000340) 0
+    vptr=((& QChildEvent::_ZTV11QChildEvent) + 16u)
+  QEvent (0x0x7f9164fe9f00) 0
+      primary-for QChildEvent (0x0x7f9165000340)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16    (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24    (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+   size=32 align=8
+   base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f91650003a8) 0
+    vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16u)
+  QEvent (0x0x7f9164fe9f60) 0
+      primary-for QDynamicPropertyChangeEvent (0x0x7f91650003a8)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16    (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24    (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+   size=24 align=8
+   base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f9165000410) 0
+    vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16u)
+  QEvent (0x0x7f9164c3c000) 0
+      primary-for QDeferredDeleteEvent (0x0x7f9165000410)
+
+Class QCoreApplication::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f9164c3c0c0) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI16QCoreApplication)
+16    (int (*)(...))QCoreApplication::metaObject
+24    (int (*)(...))QCoreApplication::qt_metacast
+32    (int (*)(...))QCoreApplication::qt_metacall
+40    (int (*)(...))QCoreApplication::~QCoreApplication
+48    (int (*)(...))QCoreApplication::~QCoreApplication
+56    (int (*)(...))QCoreApplication::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QCoreApplication::notify
+120   (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+   size=16 align=8
+   base size=16 base align=8
+QCoreApplication (0x0x7f9165000478) 0
+    vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16u)
+  QObject (0x0x7f9164c3c060) 0
+      primary-for QCoreApplication (0x0x7f9165000478)
+
+Class QCommandLineParser
+   size=8 align=8
+   base size=8 base align=8
+QCommandLineParser (0x0x7f9164c3c120) 0
+
+Class QContiguousCacheData
+   size=24 align=4
+   base size=24 base align=4
+QContiguousCacheData (0x0x7f9164c3c180) 0
+
+Class QCryptographicHash
+   size=8 align=8
+   base size=8 base align=8
+QCryptographicHash (0x0x7f9164c3c420) 0
+
+Class QDataStream
+   size=32 align=8
+   base size=32 base align=8
+QDataStream (0x0x7f9164c3c480) 0
+
+Class QtPrivate::StreamStateSaver
+   size=16 align=8
+   base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f9164c3c540) 0
+
+Class QDate
+   size=8 align=8
+   base size=8 base align=8
+QDate (0x0x7f9164c3c5a0) 0
+
+Class QTime
+   size=4 align=4
+   base size=4 base align=4
+QTime (0x0x7f9164c3c840) 0
+
+Class QDateTime::ShortData
+   size=8 align=8
+   base size=8 base align=8
+QDateTime::ShortData (0x0x7f9164c3cb40) 0
+
+Class QDateTime::Data
+   size=8 align=8
+   base size=8 base align=8
+QDateTime::Data (0x0x7f9164c3cba0) 0
+
+Class QDateTime
+   size=8 align=8
+   base size=8 base align=8
+QDateTime (0x0x7f9164c3cae0) 0
+
+Class QElapsedTimer
+   size=16 align=8
+   base size=16 base align=8
+QElapsedTimer (0x0x7f9164dfb960) 0
+
+Class QDeadlineTimer
+   size=16 align=8
+   base size=16 base align=8
+QDeadlineTimer (0x0x7f9164dfb9c0) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QTextStream)
+16    (int (*)(...))QTextStream::~QTextStream
+24    (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+   size=16 align=8
+   base size=16 base align=8
+QTextStream (0x0x7f9164b2e600) 0
+    vptr=((& QTextStream::_ZTV11QTextStream) + 16u)
+
+Class QTextStreamManipulator
+   size=40 align=8
+   base size=38 base align=8
+QTextStreamManipulator (0x0x7f9164b2e8a0) 0
+
+Class QtSharedPointer::NormalDeleter
+   size=1 align=1
+   base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f9164b2eae0) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+   size=16 align=8
+   base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f9164b2ec60) 0
+
+Class QDebug::Stream
+   size=80 align=8
+   base size=76 base align=8
+QDebug::Stream (0x0x7f91648f8120) 0
+
+Class QDebug
+   size=8 align=8
+   base size=8 base align=8
+QDebug (0x0x7f91648f80c0) 0
+
+Class QDebugStateSaver
+   size=8 align=8
+   base size=8 base align=8
+QDebugStateSaver (0x0x7f91649ac300) 0
+
+Class QNoDebug
+   size=1 align=1
+   base size=0 base align=1
+QNoDebug (0x0x7f91649ac3c0) 0 empty
+
+Class QFileDevice::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f91649ac480) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QFileDevice)
+16    (int (*)(...))QFileDevice::metaObject
+24    (int (*)(...))QFileDevice::qt_metacast
+32    (int (*)(...))QFileDevice::qt_metacall
+40    (int (*)(...))QFileDevice::~QFileDevice
+48    (int (*)(...))QFileDevice::~QFileDevice
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QFileDevice::isSequential
+120   (int (*)(...))QIODevice::open
+128   (int (*)(...))QFileDevice::close
+136   (int (*)(...))QFileDevice::pos
+144   (int (*)(...))QFileDevice::size
+152   (int (*)(...))QFileDevice::seek
+160   (int (*)(...))QFileDevice::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QIODevice::bytesAvailable
+184   (int (*)(...))QIODevice::bytesToWrite
+192   (int (*)(...))QIODevice::canReadLine
+200   (int (*)(...))QIODevice::waitForReadyRead
+208   (int (*)(...))QIODevice::waitForBytesWritten
+216   (int (*)(...))QFileDevice::readData
+224   (int (*)(...))QFileDevice::readLineData
+232   (int (*)(...))QFileDevice::writeData
+240   (int (*)(...))QFileDevice::fileName
+248   (int (*)(...))QFileDevice::resize
+256   (int (*)(...))QFileDevice::permissions
+264   (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+   size=16 align=8
+   base size=16 base align=8
+QFileDevice (0x0x7f91649ab410) 0
+    vptr=((& QFileDevice::_ZTV11QFileDevice) + 16u)
+  QIODevice (0x0x7f91649ab478) 0
+      primary-for QFileDevice (0x0x7f91649ab410)
+    QObject (0x0x7f91649ac420) 0
+        primary-for QIODevice (0x0x7f91649ab478)
+
+Class QFile::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f91649ac6c0) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI5QFile)
+16    (int (*)(...))QFile::metaObject
+24    (int (*)(...))QFile::qt_metacast
+32    (int (*)(...))QFile::qt_metacall
+40    (int (*)(...))QFile::~QFile
+48    (int (*)(...))QFile::~QFile
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QFileDevice::isSequential
+120   (int (*)(...))QFile::open
+128   (int (*)(...))QFileDevice::close
+136   (int (*)(...))QFileDevice::pos
+144   (int (*)(...))QFile::size
+152   (int (*)(...))QFileDevice::seek
+160   (int (*)(...))QFileDevice::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QIODevice::bytesAvailable
+184   (int (*)(...))QIODevice::bytesToWrite
+192   (int (*)(...))QIODevice::canReadLine
+200   (int (*)(...))QIODevice::waitForReadyRead
+208   (int (*)(...))QIODevice::waitForBytesWritten
+216   (int (*)(...))QFileDevice::readData
+224   (int (*)(...))QFileDevice::readLineData
+232   (int (*)(...))QFileDevice::writeData
+240   (int (*)(...))QFile::fileName
+248   (int (*)(...))QFile::resize
+256   (int (*)(...))QFile::permissions
+264   (int (*)(...))QFile::setPermissions
+
+Class QFile
+   size=16 align=8
+   base size=16 base align=8
+QFile (0x0x7f91649ab5b0) 0
+    vptr=((& QFile::_ZTV5QFile) + 16u)
+  QFileDevice (0x0x7f91649ab618) 0
+      primary-for QFile (0x0x7f91649ab5b0)
+    QIODevice (0x0x7f91649ab680) 0
+        primary-for QFileDevice (0x0x7f91649ab618)
+      QObject (0x0x7f91649ac660) 0
+          primary-for QIODevice (0x0x7f91649ab680)
+
+Class QFileInfo
+   size=8 align=8
+   base size=8 base align=8
+QFileInfo (0x0x7f91649ac8a0) 0
+
+Class QDir
+   size=8 align=8
+   base size=8 base align=8
+QDir (0x0x7f91649accc0) 0
+
+Class QDirIterator
+   size=8 align=8
+   base size=8 base align=8
+QDirIterator (0x0x7f91647076c0) 0
+
+Class QEasingCurve
+   size=8 align=8
+   base size=8 base align=8
+QEasingCurve (0x0x7f9164707900) 0
+
+Class QEventTransition::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f916442cb40) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI16QEventTransition)
+16    (int (*)(...))QEventTransition::metaObject
+24    (int (*)(...))QEventTransition::qt_metacast
+32    (int (*)(...))QEventTransition::qt_metacall
+40    (int (*)(...))QEventTransition::~QEventTransition
+48    (int (*)(...))QEventTransition::~QEventTransition
+56    (int (*)(...))QEventTransition::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QEventTransition::eventTest
+120   (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+   size=16 align=8
+   base size=16 base align=8
+QEventTransition (0x0x7f916442f958) 0
+    vptr=((& QEventTransition::_ZTV16QEventTransition) + 16u)
+  QAbstractTransition (0x0x7f916442f9c0) 0
+      primary-for QEventTransition (0x0x7f916442f958)
+    QObject (0x0x7f916442cae0) 0
+        primary-for QAbstractTransition (0x0x7f916442f9c0)
+
+Vtable for QException
+QException::_ZTV10QException: 7u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI10QException)
+16    (int (*)(...))QException::~QException
+24    (int (*)(...))QException::~QException
+32    (int (*)(...))std::exception::what
+40    (int (*)(...))QException::raise
+48    (int (*)(...))QException::clone
+
+Class QException
+   size=8 align=8
+   base size=8 base align=8
+QException (0x0x7f916442fa28) 0 nearly-empty
+    vptr=((& QException::_ZTV10QException) + 16u)
+  std::exception (0x0x7f916442cba0) 0 nearly-empty
+      primary-for QException (0x0x7f916442fa28)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI19QUnhandledException)
+16    (int (*)(...))QUnhandledException::~QUnhandledException
+24    (int (*)(...))QUnhandledException::~QUnhandledException
+32    (int (*)(...))std::exception::what
+40    (int (*)(...))QUnhandledException::raise
+48    (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+   size=8 align=8
+   base size=8 base align=8
+QUnhandledException (0x0x7f916442fa90) 0 nearly-empty
+    vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16u)
+  QException (0x0x7f916442faf8) 0 nearly-empty
+      primary-for QUnhandledException (0x0x7f916442fa90)
+    std::exception (0x0x7f916442cc00) 0 nearly-empty
+        primary-for QException (0x0x7f916442faf8)
+
+Class QtPrivate::ExceptionHolder
+   size=8 align=8
+   base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f916442cc60) 0
+
+Class QtPrivate::ExceptionStore
+   size=8 align=8
+   base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f916442cd20) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI17QFactoryInterface)
+16    0u
+24    0u
+32    (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+   size=8 align=8
+   base size=8 base align=8
+QFactoryInterface (0x0x7f916442cd80) 0 nearly-empty
+    vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16u)
+
+Class QFileSelector::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f916442cea0) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI13QFileSelector)
+16    (int (*)(...))QFileSelector::metaObject
+24    (int (*)(...))QFileSelector::qt_metacast
+32    (int (*)(...))QFileSelector::qt_metacall
+40    (int (*)(...))QFileSelector::~QFileSelector
+48    (int (*)(...))QFileSelector::~QFileSelector
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+   size=16 align=8
+   base size=16 base align=8
+QFileSelector (0x0x7f916442fb60) 0
+    vptr=((& QFileSelector::_ZTV13QFileSelector) + 16u)
+  QObject (0x0x7f916442ce40) 0
+      primary-for QFileSelector (0x0x7f916442fb60)
+
+Class QFileSystemWatcher::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f916442cf60) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16    (int (*)(...))QFileSystemWatcher::metaObject
+24    (int (*)(...))QFileSystemWatcher::qt_metacast
+32    (int (*)(...))QFileSystemWatcher::qt_metacall
+40    (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48    (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+   size=16 align=8
+   base size=16 base align=8
+QFileSystemWatcher (0x0x7f916442fbc8) 0
+    vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16u)
+  QObject (0x0x7f916442cf00) 0
+      primary-for QFileSystemWatcher (0x0x7f916442fbc8)
+
+Class QFinalState::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f91644b7060) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QFinalState)
+16    (int (*)(...))QFinalState::metaObject
+24    (int (*)(...))QFinalState::qt_metacast
+32    (int (*)(...))QFinalState::qt_metacall
+40    (int (*)(...))QFinalState::~QFinalState
+48    (int (*)(...))QFinalState::~QFinalState
+56    (int (*)(...))QFinalState::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QFinalState::onEntry
+120   (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+   size=16 align=8
+   base size=16 base align=8
+QFinalState (0x0x7f916442fc30) 0
+    vptr=((& QFinalState::_ZTV11QFinalState) + 16u)
+  QAbstractState (0x0x7f916442fc98) 0
+      primary-for QFinalState (0x0x7f916442fc30)
+    QObject (0x0x7f91644b7000) 0
+        primary-for QAbstractState (0x0x7f916442fc98)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI9QRunnable)
+16    (int (*)(...))__cxa_pure_virtual
+24    0u
+32    0u
+
+Class QRunnable
+   size=16 align=8
+   base size=12 base align=8
+QRunnable (0x0x7f91644b70c0) 0
+    vptr=((& QRunnable::_ZTV9QRunnable) + 16u)
+
+Class QBasicMutex
+   size=8 align=8
+   base size=8 base align=8
+QBasicMutex (0x0x7f91644b7120) 0
+
+Class QMutex
+   size=8 align=8
+   base size=8 base align=8
+QMutex (0x0x7f916442fdd0) 0
+  QBasicMutex (0x0x7f91644b7360) 0
+
+Class QMutexLocker
+   size=8 align=8
+   base size=8 base align=8
+QMutexLocker (0x0x7f91644b7420) 0
+
+Class QtPrivate::ResultItem
+   size=16 align=8
+   base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f91644b74e0) 0
+
+Class QtPrivate::ResultIteratorBase
+   size=16 align=8
+   base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f91644b7540) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16    (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24    (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+   size=48 align=8
+   base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f91644b7660) 0
+    vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16u)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16    (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24    (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+   size=16 align=8
+   base size=16 base align=8
+QFutureInterfaceBase (0x0x7f91644b76c0) 0
+    vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16u)
+
+Class QFutureWatcherBase::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f91644b7a20) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16    (int (*)(...))QFutureWatcherBase::metaObject
+24    (int (*)(...))QFutureWatcherBase::qt_metacast
+32    (int (*)(...))QFutureWatcherBase::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QFutureWatcherBase::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QFutureWatcherBase::connectNotify
+104   (int (*)(...))QFutureWatcherBase::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+   size=16 align=8
+   base size=16 base align=8
+QFutureWatcherBase (0x0x7f91645bd1a0) 0
+    vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16u)
+  QObject (0x0x7f91644b79c0) 0
+      primary-for QFutureWatcherBase (0x0x7f91645bd1a0)
+
+Class QHistoryState::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f91644b7ba0) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI13QHistoryState)
+16    (int (*)(...))QHistoryState::metaObject
+24    (int (*)(...))QHistoryState::qt_metacast
+32    (int (*)(...))QHistoryState::qt_metacall
+40    (int (*)(...))QHistoryState::~QHistoryState
+48    (int (*)(...))QHistoryState::~QHistoryState
+56    (int (*)(...))QHistoryState::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QHistoryState::onEntry
+120   (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+   size=16 align=8
+   base size=16 base align=8
+QHistoryState (0x0x7f91645bd5b0) 0
+    vptr=((& QHistoryState::_ZTV13QHistoryState) + 16u)
+  QAbstractState (0x0x7f91645bd618) 0
+      primary-for QHistoryState (0x0x7f91645bd5b0)
+    QObject (0x0x7f91644b7b40) 0
+        primary-for QAbstractState (0x0x7f91645bd618)
+
+Class QIdentityProxyModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f91644b7c60) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16    (int (*)(...))QIdentityProxyModel::metaObject
+24    (int (*)(...))QIdentityProxyModel::qt_metacast
+32    (int (*)(...))QIdentityProxyModel::qt_metacall
+40    (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48    (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QIdentityProxyModel::index
+120   (int (*)(...))QIdentityProxyModel::parent
+128   (int (*)(...))QIdentityProxyModel::sibling
+136   (int (*)(...))QIdentityProxyModel::rowCount
+144   (int (*)(...))QIdentityProxyModel::columnCount
+152   (int (*)(...))QAbstractProxyModel::hasChildren
+160   (int (*)(...))QAbstractProxyModel::data
+168   (int (*)(...))QAbstractProxyModel::setData
+176   (int (*)(...))QIdentityProxyModel::headerData
+184   (int (*)(...))QAbstractProxyModel::setHeaderData
+192   (int (*)(...))QAbstractProxyModel::itemData
+200   (int (*)(...))QAbstractProxyModel::setItemData
+208   (int (*)(...))QAbstractProxyModel::mimeTypes
+216   (int (*)(...))QAbstractProxyModel::mimeData
+224   (int (*)(...))QAbstractProxyModel::canDropMimeData
+232   (int (*)(...))QIdentityProxyModel::dropMimeData
+240   (int (*)(...))QAbstractProxyModel::supportedDropActions
+248   (int (*)(...))QAbstractProxyModel::supportedDragActions
+256   (int (*)(...))QIdentityProxyModel::insertRows
+264   (int (*)(...))QIdentityProxyModel::insertColumns
+272   (int (*)(...))QIdentityProxyModel::removeRows
+280   (int (*)(...))QIdentityProxyModel::removeColumns
+288   (int (*)(...))QAbstractItemModel::moveRows
+296   (int (*)(...))QAbstractItemModel::moveColumns
+304   (int (*)(...))QAbstractProxyModel::fetchMore
+312   (int (*)(...))QAbstractProxyModel::canFetchMore
+320   (int (*)(...))QAbstractProxyModel::flags
+328   (int (*)(...))QAbstractProxyModel::sort
+336   (int (*)(...))QAbstractProxyModel::buddy
+344   (int (*)(...))QIdentityProxyModel::match
+352   (int (*)(...))QAbstractProxyModel::span
+360   (int (*)(...))QAbstractItemModel::roleNames
+368   (int (*)(...))QAbstractProxyModel::submit
+376   (int (*)(...))QAbstractProxyModel::revert
+384   (int (*)(...))QIdentityProxyModel::setSourceModel
+392   (int (*)(...))QIdentityProxyModel::mapToSource
+400   (int (*)(...))QIdentityProxyModel::mapFromSource
+408   (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416   (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+   size=16 align=8
+   base size=16 base align=8
+QIdentityProxyModel (0x0x7f91645bd680) 0
+    vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16u)
+  QAbstractProxyModel (0x0x7f91645bd6e8) 0
+      primary-for QIdentityProxyModel (0x0x7f91645bd680)
+    QAbstractItemModel (0x0x7f91645bd750) 0
+        primary-for QAbstractProxyModel (0x0x7f91645bd6e8)
+      QObject (0x0x7f91644b7c00) 0
+          primary-for QAbstractItemModel (0x0x7f91645bd750)
+
+Class QItemSelectionRange
+   size=16 align=8
+   base size=16 base align=8
+QItemSelectionRange (0x0x7f91644b7cc0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f91642d4060) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI19QItemSelectionModel)
+16    (int (*)(...))QItemSelectionModel::metaObject
+24    (int (*)(...))QItemSelectionModel::qt_metacast
+32    (int (*)(...))QItemSelectionModel::qt_metacall
+40    (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48    (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QItemSelectionModel::setCurrentIndex
+120   (int (*)(...))QItemSelectionModel::select
+128   (int (*)(...))QItemSelectionModel::select
+136   (int (*)(...))QItemSelectionModel::clear
+144   (int (*)(...))QItemSelectionModel::reset
+152   (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+   size=16 align=8
+   base size=16 base align=8
+QItemSelectionModel (0x0x7f91645bdaf8) 0
+    vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16u)
+  QObject (0x0x7f91642d4000) 0
+      primary-for QItemSelectionModel (0x0x7f91645bdaf8)
+
+Class QItemSelection
+   size=8 align=8
+   base size=8 base align=8
+QItemSelection (0x0x7f91645bdd00) 0
+  QList<QItemSelectionRange> (0x0x7f91645bdd68) 0
+    QListSpecialMethods<QItemSelectionRange> (0x0x7f91642d4360) 0 empty
+
+Class QJsonValue
+   size=24 align=8
+   base size=20 base align=8
+QJsonValue (0x0x7f91642d4840) 0
+
+Class QJsonValueRef
+   size=16 align=8
+   base size=12 base align=8
+QJsonValueRef (0x0x7f91642d4900) 0
+
+Class QJsonValuePtr
+   size=24 align=8
+   base size=24 base align=8
+QJsonValuePtr (0x0x7f91642d49c0) 0
+
+Class QJsonValueRefPtr
+   size=16 align=8
+   base size=16 base align=8
+QJsonValueRefPtr (0x0x7f91642d4a20) 0
+
+Class QJsonArray::iterator
+   size=16 align=8
+   base size=12 base align=8
+QJsonArray::iterator (0x0x7f91642d4ae0) 0
+
+Class QJsonArray::const_iterator
+   size=16 align=8
+   base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f91642d4b40) 0
+
+Class QJsonArray
+   size=16 align=8
+   base size=16 base align=8
+QJsonArray (0x0x7f91642d4a80) 0
+
+Class QJsonParseError
+   size=8 align=4
+   base size=8 base align=4
+QJsonParseError (0x0x7f91642d4c00) 0
+
+Class QJsonDocument
+   size=8 align=8
+   base size=8 base align=8
+QJsonDocument (0x0x7f91642d4c60) 0
+
+Class QJsonObject::iterator
+   size=16 align=8
+   base size=12 base align=8
+QJsonObject::iterator (0x0x7f91642d4d20) 0
+
+Class QJsonObject::const_iterator
+   size=16 align=8
+   base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f91642d4d80) 0
+
+Class QJsonObject
+   size=16 align=8
+   base size=16 base align=8
+QJsonObject (0x0x7f91642d4cc0) 0
+
+Class QLibrary::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f91642d4f60) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI8QLibrary)
+16    (int (*)(...))QLibrary::metaObject
+24    (int (*)(...))QLibrary::qt_metacast
+32    (int (*)(...))QLibrary::qt_metacall
+40    (int (*)(...))QLibrary::~QLibrary
+48    (int (*)(...))QLibrary::~QLibrary
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+   size=32 align=8
+   base size=25 base align=8
+QLibrary (0x0x7f91643e4138) 0
+    vptr=((& QLibrary::_ZTV8QLibrary) + 16u)
+  QObject (0x0x7f91642d4f00) 0
+      primary-for QLibrary (0x0x7f91643e4138)
+
+Class QVersionNumber::SegmentStorage
+   size=8 align=8
+   base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f91640c21e0) 0
+
+Class QVersionNumber
+   size=8 align=8
+   base size=8 base align=8
+QVersionNumber (0x0x7f91640c2180) 0
+
+Class QLibraryInfo
+   size=1 align=1
+   base size=0 base align=1
+QLibraryInfo (0x0x7f9164164f00) 0 empty
+
+Class QPoint
+   size=8 align=4
+   base size=8 base align=4
+QPoint (0x0x7f9164164f60) 0
+
+Class QPointF
+   size=16 align=8
+   base size=16 base align=8
+QPointF (0x0x7f91641d8240) 0
+
+Class QLine
+   size=16 align=4
+   base size=16 base align=4
+QLine (0x0x7f91641d84e0) 0
+
+Class QLineF
+   size=32 align=8
+   base size=32 base align=8
+QLineF (0x0x7f91641d8780) 0
+
+Class QLinkedListData
+   size=32 align=8
+   base size=25 base align=8
+QLinkedListData (0x0x7f91641d8a20) 0
+
+Class QLockFile
+   size=8 align=8
+   base size=8 base align=8
+QLockFile (0x0x7f9163f1a1e0) 0
+
+Class QLoggingCategory::AtomicBools
+   size=4 align=1
+   base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f9163f1a360) 0
+
+Class QLoggingCategory
+   size=24 align=8
+   base size=24 base align=8
+QLoggingCategory (0x0x7f9163f1a300) 0
+
+Class QMargins
+   size=16 align=4
+   base size=16 base align=4
+QMargins (0x0x7f9163f1a4e0) 0
+
+Class QMarginsF
+   size=32 align=8
+   base size=32 base align=8
+QMarginsF (0x0x7f9163f1a780) 0
+
+Class QMessageAuthenticationCode
+   size=8 align=8
+   base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f9163f1aa80) 0
+
+Class QMetaMethod
+   size=16 align=8
+   base size=12 base align=8
+QMetaMethod (0x0x7f9163f1aae0) 0
+
+Class QMetaEnum
+   size=16 align=8
+   base size=12 base align=8
+QMetaEnum (0x0x7f9163f1ad80) 0
+
+Class QMetaProperty
+   size=32 align=8
+   base size=32 base align=8
+QMetaProperty (0x0x7f9163c930c0) 0
+
+Class QMetaClassInfo
+   size=16 align=8
+   base size=12 base align=8
+QMetaClassInfo (0x0x7f9163c93120) 0
+
+Class QMimeData::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f9163c93420) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI9QMimeData)
+16    (int (*)(...))QMimeData::metaObject
+24    (int (*)(...))QMimeData::qt_metacast
+32    (int (*)(...))QMimeData::qt_metacall
+40    (int (*)(...))QMimeData::~QMimeData
+48    (int (*)(...))QMimeData::~QMimeData
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QMimeData::hasFormat
+120   (int (*)(...))QMimeData::formats
+128   (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+   size=16 align=8
+   base size=16 base align=8
+QMimeData (0x0x7f9163c94270) 0
+    vptr=((& QMimeData::_ZTV9QMimeData) + 16u)
+  QObject (0x0x7f9163c933c0) 0
+      primary-for QMimeData (0x0x7f9163c94270)
+
+Class QMimeType
+   size=8 align=8
+   base size=8 base align=8
+QMimeType (0x0x7f9163c93480) 0
+
+Class QMimeDatabase
+   size=8 align=8
+   base size=8 base align=8
+QMimeDatabase (0x0x7f9163c93780) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f9163c93840) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16    (int (*)(...))QObjectCleanupHandler::metaObject
+24    (int (*)(...))QObjectCleanupHandler::qt_metacast
+32    (int (*)(...))QObjectCleanupHandler::qt_metacall
+40    (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48    (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+   size=24 align=8
+   base size=24 base align=8
+QObjectCleanupHandler (0x0x7f9163c94478) 0
+    vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16u)
+  QObject (0x0x7f9163c937e0) 0
+      primary-for QObjectCleanupHandler (0x0x7f9163c94478)
+
+Class QOperatingSystemVersion
+   size=16 align=4
+   base size=16 base align=4
+QOperatingSystemVersion (0x0x7f9163c938a0) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f9163c93960) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16    (int (*)(...))QParallelAnimationGroup::metaObject
+24    (int (*)(...))QParallelAnimationGroup::qt_metacast
+32    (int (*)(...))QParallelAnimationGroup::qt_metacall
+40    (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48    (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56    (int (*)(...))QParallelAnimationGroup::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QParallelAnimationGroup::duration
+120   (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128   (int (*)(...))QParallelAnimationGroup::updateState
+136   (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+   size=16 align=8
+   base size=16 base align=8
+QParallelAnimationGroup (0x0x7f9163c94548) 0
+    vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16u)
+  QAnimationGroup (0x0x7f9163c945b0) 0
+      primary-for QParallelAnimationGroup (0x0x7f9163c94548)
+    QAbstractAnimation (0x0x7f9163c94618) 0
+        primary-for QAnimationGroup (0x0x7f9163c945b0)
+      QObject (0x0x7f9163c93900) 0
+          primary-for QAbstractAnimation (0x0x7f9163c94618)
+
+Class QPauseAnimation::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f9163c93a20) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI15QPauseAnimation)
+16    (int (*)(...))QPauseAnimation::metaObject
+24    (int (*)(...))QPauseAnimation::qt_metacast
+32    (int (*)(...))QPauseAnimation::qt_metacall
+40    (int (*)(...))QPauseAnimation::~QPauseAnimation
+48    (int (*)(...))QPauseAnimation::~QPauseAnimation
+56    (int (*)(...))QPauseAnimation::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QPauseAnimation::duration
+120   (int (*)(...))QPauseAnimation::updateCurrentTime
+128   (int (*)(...))QAbstractAnimation::updateState
+136   (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+   size=16 align=8
+   base size=16 base align=8
+QPauseAnimation (0x0x7f9163c94680) 0
+    vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16u)
+  QAbstractAnimation (0x0x7f9163c946e8) 0
+      primary-for QPauseAnimation (0x0x7f9163c94680)
+    QObject (0x0x7f9163c939c0) 0
+        primary-for QAbstractAnimation (0x0x7f9163c946e8)
+
+Class QStaticPlugin
+   size=16 align=8
+   base size=16 base align=8
+QStaticPlugin (0x0x7f9163c93c00) 0
+
+Class QPluginLoader::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f9163c93f00) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI13QPluginLoader)
+16    (int (*)(...))QPluginLoader::metaObject
+24    (int (*)(...))QPluginLoader::qt_metacast
+32    (int (*)(...))QPluginLoader::qt_metacall
+40    (int (*)(...))QPluginLoader::~QPluginLoader
+48    (int (*)(...))QPluginLoader::~QPluginLoader
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+   size=32 align=8
+   base size=25 base align=8
+QPluginLoader (0x0x7f9163c948f0) 0
+    vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16u)
+  QObject (0x0x7f9163c93ea0) 0
+      primary-for QPluginLoader (0x0x7f9163c948f0)
+
+Class QProcessEnvironment
+   size=8 align=8
+   base size=8 base align=8
+QProcessEnvironment (0x0x7f9163c93f60) 0
+
+Class QProcess::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f9163d5e300) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI8QProcess)
+16    (int (*)(...))QProcess::metaObject
+24    (int (*)(...))QProcess::qt_metacast
+32    (int (*)(...))QProcess::qt_metacall
+40    (int (*)(...))QProcess::~QProcess
+48    (int (*)(...))QProcess::~QProcess
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QProcess::isSequential
+120   (int (*)(...))QProcess::open
+128   (int (*)(...))QProcess::close
+136   (int (*)(...))QIODevice::pos
+144   (int (*)(...))QIODevice::size
+152   (int (*)(...))QIODevice::seek
+160   (int (*)(...))QProcess::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QProcess::bytesAvailable
+184   (int (*)(...))QProcess::bytesToWrite
+192   (int (*)(...))QProcess::canReadLine
+200   (int (*)(...))QProcess::waitForReadyRead
+208   (int (*)(...))QProcess::waitForBytesWritten
+216   (int (*)(...))QProcess::readData
+224   (int (*)(...))QIODevice::readLineData
+232   (int (*)(...))QProcess::writeData
+240   (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+   size=16 align=8
+   base size=16 base align=8
+QProcess (0x0x7f9163c94af8) 0
+    vptr=((& QProcess::_ZTV8QProcess) + 16u)
+  QIODevice (0x0x7f9163c94b60) 0
+      primary-for QProcess (0x0x7f9163c94af8)
+    QObject (0x0x7f9163d5e2a0) 0
+        primary-for QIODevice (0x0x7f9163c94b60)
+
+Class QVariantAnimation::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f9163d5e3c0) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI17QVariantAnimation)
+16    (int (*)(...))QVariantAnimation::metaObject
+24    (int (*)(...))QVariantAnimation::qt_metacast
+32    (int (*)(...))QVariantAnimation::qt_metacall
+40    (int (*)(...))QVariantAnimation::~QVariantAnimation
+48    (int (*)(...))QVariantAnimation::~QVariantAnimation
+56    (int (*)(...))QVariantAnimation::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QVariantAnimation::duration
+120   (int (*)(...))QVariantAnimation::updateCurrentTime
+128   (int (*)(...))QVariantAnimation::updateState
+136   (int (*)(...))QAbstractAnimation::updateDirection
+144   (int (*)(...))QVariantAnimation::updateCurrentValue
+152   (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+   size=16 align=8
+   base size=16 base align=8
+QVariantAnimation (0x0x7f9163c94bc8) 0
+    vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16u)
+  QAbstractAnimation (0x0x7f9163c94c30) 0
+      primary-for QVariantAnimation (0x0x7f9163c94bc8)
+    QObject (0x0x7f9163d5e360) 0
+        primary-for QAbstractAnimation (0x0x7f9163c94c30)
+
+Class QPropertyAnimation::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f9163d5e480) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI18QPropertyAnimation)
+16    (int (*)(...))QPropertyAnimation::metaObject
+24    (int (*)(...))QPropertyAnimation::qt_metacast
+32    (int (*)(...))QPropertyAnimation::qt_metacall
+40    (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48    (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56    (int (*)(...))QPropertyAnimation::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QVariantAnimation::duration
+120   (int (*)(...))QVariantAnimation::updateCurrentTime
+128   (int (*)(...))QPropertyAnimation::updateState
+136   (int (*)(...))QAbstractAnimation::updateDirection
+144   (int (*)(...))QPropertyAnimation::updateCurrentValue
+152   (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+   size=16 align=8
+   base size=16 base align=8
+QPropertyAnimation (0x0x7f9163c94d00) 0
+    vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16u)
+  QVariantAnimation (0x0x7f9163c94d68) 0
+      primary-for QPropertyAnimation (0x0x7f9163c94d00)
+    QAbstractAnimation (0x0x7f9163c94dd0) 0
+        primary-for QVariantAnimation (0x0x7f9163c94d68)
+      QObject (0x0x7f9163d5e420) 0
+          primary-for QAbstractAnimation (0x0x7f9163c94dd0)
+
+Class QReadWriteLock
+   size=8 align=8
+   base size=8 base align=8
+QReadWriteLock (0x0x7f9163d5e540) 0
+
+Class QReadLocker
+   size=8 align=8
+   base size=8 base align=8
+QReadLocker (0x0x7f9163d5e7e0) 0
+
+Class QWriteLocker
+   size=8 align=8
+   base size=8 base align=8
+QWriteLocker (0x0x7f9163d5e840) 0
+
+Class QSize
+   size=8 align=4
+   base size=8 base align=4
+QSize (0x0x7f9163d5e8a0) 0
+
+Class QSizeF
+   size=16 align=8
+   base size=16 base align=8
+QSizeF (0x0x7f9163d5ec00) 0
+
+Class QRect
+   size=16 align=4
+   base size=16 base align=4
+QRect (0x0x7f9163d5ef60) 0
+
+Class QRectF
+   size=32 align=8
+   base size=32 base align=8
+QRectF (0x0x7f9163afe240) 0
+
+Class QRegularExpression
+   size=8 align=8
+   base size=8 base align=8
+QRegularExpression (0x0x7f9163afe4e0) 0
+
+Class QRegularExpressionMatch
+   size=8 align=8
+   base size=8 base align=8
+QRegularExpressionMatch (0x0x7f9163afeae0) 0
+
+Class QRegularExpressionMatchIterator
+   size=8 align=8
+   base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f9163afede0) 0
+
+Class QResource
+   size=8 align=8
+   base size=8 base align=8
+QResource (0x0x7f91638ad120) 0
+
+Class QSaveFile::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f91638ad2a0) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI9QSaveFile)
+16    (int (*)(...))QSaveFile::metaObject
+24    (int (*)(...))QSaveFile::qt_metacast
+32    (int (*)(...))QSaveFile::qt_metacall
+40    (int (*)(...))QSaveFile::~QSaveFile
+48    (int (*)(...))QSaveFile::~QSaveFile
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QFileDevice::isSequential
+120   (int (*)(...))QSaveFile::open
+128   (int (*)(...))QSaveFile::close
+136   (int (*)(...))QFileDevice::pos
+144   (int (*)(...))QFileDevice::size
+152   (int (*)(...))QFileDevice::seek
+160   (int (*)(...))QFileDevice::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QIODevice::bytesAvailable
+184   (int (*)(...))QIODevice::bytesToWrite
+192   (int (*)(...))QIODevice::canReadLine
+200   (int (*)(...))QIODevice::waitForReadyRead
+208   (int (*)(...))QIODevice::waitForBytesWritten
+216   (int (*)(...))QFileDevice::readData
+224   (int (*)(...))QFileDevice::readLineData
+232   (int (*)(...))QSaveFile::writeData
+240   (int (*)(...))QSaveFile::fileName
+248   (int (*)(...))QFileDevice::resize
+256   (int (*)(...))QFileDevice::permissions
+264   (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+   size=16 align=8
+   base size=16 base align=8
+QSaveFile (0x0x7f91638af068) 0
+    vptr=((& QSaveFile::_ZTV9QSaveFile) + 16u)
+  QFileDevice (0x0x7f91638af0d0) 0
+      primary-for QSaveFile (0x0x7f91638af068)
+    QIODevice (0x0x7f91638af138) 0
+        primary-for QFileDevice (0x0x7f91638af0d0)
+      QObject (0x0x7f91638ad240) 0
+          primary-for QIODevice (0x0x7f91638af138)
+
+Class QSemaphore
+   size=8 align=8
+   base size=8 base align=8
+QSemaphore (0x0x7f91638ad360) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f91638ad420) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16    (int (*)(...))QSequentialAnimationGroup::metaObject
+24    (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32    (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40    (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48    (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56    (int (*)(...))QSequentialAnimationGroup::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QSequentialAnimationGroup::duration
+120   (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128   (int (*)(...))QSequentialAnimationGroup::updateState
+136   (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+   size=16 align=8
+   base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f91638af1a0) 0
+    vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16u)
+  QAnimationGroup (0x0x7f91638af208) 0
+      primary-for QSequentialAnimationGroup (0x0x7f91638af1a0)
+    QAbstractAnimation (0x0x7f91638af270) 0
+        primary-for QAnimationGroup (0x0x7f91638af208)
+      QObject (0x0x7f91638ad3c0) 0
+          primary-for QAbstractAnimation (0x0x7f91638af270)
+
+Class QSettings::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f91638ad4e0) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI9QSettings)
+16    (int (*)(...))QSettings::metaObject
+24    (int (*)(...))QSettings::qt_metacast
+32    (int (*)(...))QSettings::qt_metacall
+40    (int (*)(...))QSettings::~QSettings
+48    (int (*)(...))QSettings::~QSettings
+56    (int (*)(...))QSettings::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+   size=16 align=8
+   base size=16 base align=8
+QSettings (0x0x7f91638af2d8) 0
+    vptr=((& QSettings::_ZTV9QSettings) + 16u)
+  QObject (0x0x7f91638ad480) 0
+      primary-for QSettings (0x0x7f91638af2d8)
+
+Class QSharedMemory::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f91638ad5a0) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI13QSharedMemory)
+16    (int (*)(...))QSharedMemory::metaObject
+24    (int (*)(...))QSharedMemory::qt_metacast
+32    (int (*)(...))QSharedMemory::qt_metacall
+40    (int (*)(...))QSharedMemory::~QSharedMemory
+48    (int (*)(...))QSharedMemory::~QSharedMemory
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+   size=16 align=8
+   base size=16 base align=8
+QSharedMemory (0x0x7f91638af340) 0
+    vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16u)
+  QObject (0x0x7f91638ad540) 0
+      primary-for QSharedMemory (0x0x7f91638af340)
+
+Class QSignalMapper::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f91638ad660) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI13QSignalMapper)
+16    (int (*)(...))QSignalMapper::metaObject
+24    (int (*)(...))QSignalMapper::qt_metacast
+32    (int (*)(...))QSignalMapper::qt_metacall
+40    (int (*)(...))QSignalMapper::~QSignalMapper
+48    (int (*)(...))QSignalMapper::~QSignalMapper
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+   size=16 align=8
+   base size=16 base align=8
+QSignalMapper (0x0x7f91638af3a8) 0
+    vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16u)
+  QObject (0x0x7f91638ad600) 0
+      primary-for QSignalMapper (0x0x7f91638af3a8)
+
+Class QSignalTransition::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f91638ad720) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI17QSignalTransition)
+16    (int (*)(...))QSignalTransition::metaObject
+24    (int (*)(...))QSignalTransition::qt_metacast
+32    (int (*)(...))QSignalTransition::qt_metacall
+40    (int (*)(...))QSignalTransition::~QSignalTransition
+48    (int (*)(...))QSignalTransition::~QSignalTransition
+56    (int (*)(...))QSignalTransition::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QSignalTransition::eventTest
+120   (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+   size=16 align=8
+   base size=16 base align=8
+QSignalTransition (0x0x7f91638af410) 0
+    vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16u)
+  QAbstractTransition (0x0x7f91638af478) 0
+      primary-for QSignalTransition (0x0x7f91638af410)
+    QObject (0x0x7f91638ad6c0) 0
+        primary-for QAbstractTransition (0x0x7f91638af478)
+
+Class QSocketNotifier::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f91638ad7e0) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI15QSocketNotifier)
+16    (int (*)(...))QSocketNotifier::metaObject
+24    (int (*)(...))QSocketNotifier::qt_metacast
+32    (int (*)(...))QSocketNotifier::qt_metacall
+40    (int (*)(...))QSocketNotifier::~QSocketNotifier
+48    (int (*)(...))QSocketNotifier::~QSocketNotifier
+56    (int (*)(...))QSocketNotifier::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+   size=16 align=8
+   base size=16 base align=8
+QSocketNotifier (0x0x7f91638af4e0) 0
+    vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16u)
+  QObject (0x0x7f91638ad780) 0
+      primary-for QSocketNotifier (0x0x7f91638af4e0)
+
+Class QSortFilterProxyModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f91638ad8a0) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16    (int (*)(...))QSortFilterProxyModel::metaObject
+24    (int (*)(...))QSortFilterProxyModel::qt_metacast
+32    (int (*)(...))QSortFilterProxyModel::qt_metacall
+40    (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48    (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QSortFilterProxyModel::index
+120   (int (*)(...))QSortFilterProxyModel::parent
+128   (int (*)(...))QSortFilterProxyModel::sibling
+136   (int (*)(...))QSortFilterProxyModel::rowCount
+144   (int (*)(...))QSortFilterProxyModel::columnCount
+152   (int (*)(...))QSortFilterProxyModel::hasChildren
+160   (int (*)(...))QSortFilterProxyModel::data
+168   (int (*)(...))QSortFilterProxyModel::setData
+176   (int (*)(...))QSortFilterProxyModel::headerData
+184   (int (*)(...))QSortFilterProxyModel::setHeaderData
+192   (int (*)(...))QAbstractProxyModel::itemData
+200   (int (*)(...))QAbstractProxyModel::setItemData
+208   (int (*)(...))QSortFilterProxyModel::mimeTypes
+216   (int (*)(...))QSortFilterProxyModel::mimeData
+224   (int (*)(...))QAbstractProxyModel::canDropMimeData
+232   (int (*)(...))QSortFilterProxyModel::dropMimeData
+240   (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248   (int (*)(...))QAbstractProxyModel::supportedDragActions
+256   (int (*)(...))QSortFilterProxyModel::insertRows
+264   (int (*)(...))QSortFilterProxyModel::insertColumns
+272   (int (*)(...))QSortFilterProxyModel::removeRows
+280   (int (*)(...))QSortFilterProxyModel::removeColumns
+288   (int (*)(...))QAbstractItemModel::moveRows
+296   (int (*)(...))QAbstractItemModel::moveColumns
+304   (int (*)(...))QSortFilterProxyModel::fetchMore
+312   (int (*)(...))QSortFilterProxyModel::canFetchMore
+320   (int (*)(...))QSortFilterProxyModel::flags
+328   (int (*)(...))QSortFilterProxyModel::sort
+336   (int (*)(...))QSortFilterProxyModel::buddy
+344   (int (*)(...))QSortFilterProxyModel::match
+352   (int (*)(...))QSortFilterProxyModel::span
+360   (int (*)(...))QAbstractItemModel::roleNames
+368   (int (*)(...))QAbstractProxyModel::submit
+376   (int (*)(...))QAbstractProxyModel::revert
+384   (int (*)(...))QSortFilterProxyModel::setSourceModel
+392   (int (*)(...))QSortFilterProxyModel::mapToSource
+400   (int (*)(...))QSortFilterProxyModel::mapFromSource
+408   (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416   (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424   (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432   (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440   (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+   size=16 align=8
+   base size=16 base align=8
+QSortFilterProxyModel (0x0x7f91638af548) 0
+    vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16u)
+  QAbstractProxyModel (0x0x7f91638af5b0) 0
+      primary-for QSortFilterProxyModel (0x0x7f91638af548)
+    QAbstractItemModel (0x0x7f91638af618) 0
+        primary-for QAbstractProxyModel (0x0x7f91638af5b0)
+      QObject (0x0x7f91638ad840) 0
+          primary-for QAbstractItemModel (0x0x7f91638af618)
+
+Class QStandardPaths
+   size=1 align=1
+   base size=0 base align=1
+QStandardPaths (0x0x7f91638ada80) 0 empty
+
+Class QState::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QState::QPrivateSignal (0x0x7f91638adcc0) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI6QState)
+16    (int (*)(...))QState::metaObject
+24    (int (*)(...))QState::qt_metacast
+32    (int (*)(...))QState::qt_metacall
+40    (int (*)(...))QState::~QState
+48    (int (*)(...))QState::~QState
+56    (int (*)(...))QState::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QState::onEntry
+120   (int (*)(...))QState::onExit
+
+Class QState
+   size=16 align=8
+   base size=16 base align=8
+QState (0x0x7f91638af7b8) 0
+    vptr=((& QState::_ZTV6QState) + 16u)
+  QAbstractState (0x0x7f91638af820) 0
+      primary-for QState (0x0x7f91638af7b8)
+    QObject (0x0x7f91638adc60) 0
+        primary-for QAbstractState (0x0x7f91638af820)
+
+Class QStateMachine::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f91638adde0) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16    (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24    (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+   size=48 align=8
+   base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f91638af9c0) 0
+    vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16u)
+  QEvent (0x0x7f91638ade40) 0
+      primary-for QStateMachine::SignalEvent (0x0x7f91638af9c0)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16    (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24    (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+   size=40 align=8
+   base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f91638afa28) 0
+    vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16u)
+  QEvent (0x0x7f91638adea0) 0
+      primary-for QStateMachine::WrappedEvent (0x0x7f91638afa28)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI13QStateMachine)
+16    (int (*)(...))QStateMachine::metaObject
+24    (int (*)(...))QStateMachine::qt_metacast
+32    (int (*)(...))QStateMachine::qt_metacall
+40    (int (*)(...))QStateMachine::~QStateMachine
+48    (int (*)(...))QStateMachine::~QStateMachine
+56    (int (*)(...))QStateMachine::event
+64    (int (*)(...))QStateMachine::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QStateMachine::onEntry
+120   (int (*)(...))QStateMachine::onExit
+128   (int (*)(...))QStateMachine::beginSelectTransitions
+136   (int (*)(...))QStateMachine::endSelectTransitions
+144   (int (*)(...))QStateMachine::beginMicrostep
+152   (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+   size=16 align=8
+   base size=16 base align=8
+QStateMachine (0x0x7f91638af888) 0
+    vptr=((& QStateMachine::_ZTV13QStateMachine) + 16u)
+  QState (0x0x7f91638af8f0) 0
+      primary-for QStateMachine (0x0x7f91638af888)
+    QAbstractState (0x0x7f91638af958) 0
+        primary-for QState (0x0x7f91638af8f0)
+      QObject (0x0x7f91638add80) 0
+          primary-for QAbstractState (0x0x7f91638af958)
+
+Class QStorageInfo
+   size=8 align=8
+   base size=8 base align=8
+QStorageInfo (0x0x7f91638adf00) 0
+
+Class QAbstractConcatenable
+   size=1 align=1
+   base size=0 base align=1
+QAbstractConcatenable (0x0x7f9163630360) 0 empty
+
+Class QStringListModel::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f9163630de0) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI16QStringListModel)
+16    (int (*)(...))QStringListModel::metaObject
+24    (int (*)(...))QStringListModel::qt_metacast
+32    (int (*)(...))QStringListModel::qt_metacall
+40    (int (*)(...))QStringListModel::~QStringListModel
+48    (int (*)(...))QStringListModel::~QStringListModel
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QAbstractListModel::index
+120   (int (*)(...))QAbstractListModel::parent
+128   (int (*)(...))QStringListModel::sibling
+136   (int (*)(...))QStringListModel::rowCount
+144   (int (*)(...))QAbstractListModel::columnCount
+152   (int (*)(...))QAbstractListModel::hasChildren
+160   (int (*)(...))QStringListModel::data
+168   (int (*)(...))QStringListModel::setData
+176   (int (*)(...))QAbstractItemModel::headerData
+184   (int (*)(...))QAbstractItemModel::setHeaderData
+192   (int (*)(...))QAbstractItemModel::itemData
+200   (int (*)(...))QAbstractItemModel::setItemData
+208   (int (*)(...))QAbstractItemModel::mimeTypes
+216   (int (*)(...))QAbstractItemModel::mimeData
+224   (int (*)(...))QAbstractItemModel::canDropMimeData
+232   (int (*)(...))QAbstractListModel::dropMimeData
+240   (int (*)(...))QStringListModel::supportedDropActions
+248   (int (*)(...))QAbstractItemModel::supportedDragActions
+256   (int (*)(...))QStringListModel::insertRows
+264   (int (*)(...))QAbstractItemModel::insertColumns
+272   (int (*)(...))QStringListModel::removeRows
+280   (int (*)(...))QAbstractItemModel::removeColumns
+288   (int (*)(...))QAbstractItemModel::moveRows
+296   (int (*)(...))QAbstractItemModel::moveColumns
+304   (int (*)(...))QAbstractItemModel::fetchMore
+312   (int (*)(...))QAbstractItemModel::canFetchMore
+320   (int (*)(...))QStringListModel::flags
+328   (int (*)(...))QStringListModel::sort
+336   (int (*)(...))QAbstractItemModel::buddy
+344   (int (*)(...))QAbstractItemModel::match
+352   (int (*)(...))QAbstractItemModel::span
+360   (int (*)(...))QAbstractItemModel::roleNames
+368   (int (*)(...))QAbstractItemModel::submit
+376   (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+   size=24 align=8
+   base size=24 base align=8
+QStringListModel (0x0x7f916367b4e0) 0
+    vptr=((& QStringListModel::_ZTV16QStringListModel) + 16u)
+  QAbstractListModel (0x0x7f916367b548) 0
+      primary-for QStringListModel (0x0x7f916367b4e0)
+    QAbstractItemModel (0x0x7f916367b5b0) 0
+        primary-for QAbstractListModel (0x0x7f916367b548)
+      QObject (0x0x7f9163630d80) 0
+          primary-for QAbstractItemModel (0x0x7f916367b5b0)
+
+Class QSystemSemaphore
+   size=8 align=8
+   base size=8 base align=8
+QSystemSemaphore (0x0x7f9163630e40) 0
+
+Class QTemporaryDir
+   size=8 align=8
+   base size=8 base align=8
+QTemporaryDir (0x0x7f9163630f00) 0
+
+Class QTemporaryFile::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f91636e4060) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI14QTemporaryFile)
+16    (int (*)(...))QTemporaryFile::metaObject
+24    (int (*)(...))QTemporaryFile::qt_metacast
+32    (int (*)(...))QTemporaryFile::qt_metacall
+40    (int (*)(...))QTemporaryFile::~QTemporaryFile
+48    (int (*)(...))QTemporaryFile::~QTemporaryFile
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QFileDevice::isSequential
+120   (int (*)(...))QTemporaryFile::open
+128   (int (*)(...))QFileDevice::close
+136   (int (*)(...))QFileDevice::pos
+144   (int (*)(...))QFile::size
+152   (int (*)(...))QFileDevice::seek
+160   (int (*)(...))QFileDevice::atEnd
+168   (int (*)(...))QIODevice::reset
+176   (int (*)(...))QIODevice::bytesAvailable
+184   (int (*)(...))QIODevice::bytesToWrite
+192   (int (*)(...))QIODevice::canReadLine
+200   (int (*)(...))QIODevice::waitForReadyRead
+208   (int (*)(...))QIODevice::waitForBytesWritten
+216   (int (*)(...))QFileDevice::readData
+224   (int (*)(...))QFileDevice::readLineData
+232   (int (*)(...))QFileDevice::writeData
+240   (int (*)(...))QTemporaryFile::fileName
+248   (int (*)(...))QFile::resize
+256   (int (*)(...))QFile::permissions
+264   (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+   size=16 align=8
+   base size=16 base align=8
+QTemporaryFile (0x0x7f916367b618) 0
+    vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16u)
+  QFile (0x0x7f916367b680) 0
+      primary-for QTemporaryFile (0x0x7f916367b618)
+    QFileDevice (0x0x7f916367b6e8) 0
+        primary-for QFile (0x0x7f916367b680)
+      QIODevice (0x0x7f916367b750) 0
+          primary-for QFileDevice (0x0x7f916367b6e8)
+        QObject (0x0x7f91636e4000) 0
+            primary-for QIODevice (0x0x7f916367b750)
+
+Class QTextBoundaryFinder
+   size=48 align=8
+   base size=48 base align=8
+QTextBoundaryFinder (0x0x7f91636e40c0) 0
+
+Class QTextCodec::ConverterState
+   size=32 align=8
+   base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f91636e4300) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI10QTextCodec)
+16    (int (*)(...))__cxa_pure_virtual
+24    (int (*)(...))QTextCodec::aliases
+32    (int (*)(...))__cxa_pure_virtual
+40    (int (*)(...))__cxa_pure_virtual
+48    (int (*)(...))__cxa_pure_virtual
+56    0u
+64    0u
+
+Class QTextCodec
+   size=8 align=8
+   base size=8 base align=8
+QTextCodec (0x0x7f91636e42a0) 0 nearly-empty
+    vptr=((& QTextCodec::_ZTV10QTextCodec) + 16u)
+
+Class QTextEncoder
+   size=40 align=8
+   base size=40 base align=8
+QTextEncoder (0x0x7f91636e44e0) 0
+
+Class QTextDecoder
+   size=40 align=8
+   base size=40 base align=8
+QTextDecoder (0x0x7f91636e4540) 0
+
+Class QThread::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f91636e4600) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI7QThread)
+16    (int (*)(...))QThread::metaObject
+24    (int (*)(...))QThread::qt_metacast
+32    (int (*)(...))QThread::qt_metacall
+40    (int (*)(...))QThread::~QThread
+48    (int (*)(...))QThread::~QThread
+56    (int (*)(...))QThread::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QThread::run
+
+Class QThread
+   size=16 align=8
+   base size=16 base align=8
+QThread (0x0x7f916367b958) 0
+    vptr=((& QThread::_ZTV7QThread) + 16u)
+  QObject (0x0x7f91636e45a0) 0
+      primary-for QThread (0x0x7f916367b958)
+
+Class QThreadPool::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f91636e46c0) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QThreadPool)
+16    (int (*)(...))QThreadPool::metaObject
+24    (int (*)(...))QThreadPool::qt_metacast
+32    (int (*)(...))QThreadPool::qt_metacall
+40    (int (*)(...))QThreadPool::~QThreadPool
+48    (int (*)(...))QThreadPool::~QThreadPool
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+   size=16 align=8
+   base size=16 base align=8
+QThreadPool (0x0x7f916367b9c0) 0
+    vptr=((& QThreadPool::_ZTV11QThreadPool) + 16u)
+  QObject (0x0x7f91636e4660) 0
+      primary-for QThreadPool (0x0x7f916367b9c0)
+
+Class QThreadStorageData
+   size=4 align=4
+   base size=4 base align=4
+QThreadStorageData (0x0x7f91636e4720) 0
+
+Class QTimeLine::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f91636e4840) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI9QTimeLine)
+16    (int (*)(...))QTimeLine::metaObject
+24    (int (*)(...))QTimeLine::qt_metacast
+32    (int (*)(...))QTimeLine::qt_metacall
+40    (int (*)(...))QTimeLine::~QTimeLine
+48    (int (*)(...))QTimeLine::~QTimeLine
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QTimeLine::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+   size=16 align=8
+   base size=16 base align=8
+QTimeLine (0x0x7f916367ba28) 0
+    vptr=((& QTimeLine::_ZTV9QTimeLine) + 16u)
+  QObject (0x0x7f91636e47e0) 0
+      primary-for QTimeLine (0x0x7f916367ba28)
+
+Class QTimer::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f91636e4900) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI6QTimer)
+16    (int (*)(...))QTimer::metaObject
+24    (int (*)(...))QTimer::qt_metacast
+32    (int (*)(...))QTimer::qt_metacall
+40    (int (*)(...))QTimer::~QTimer
+48    (int (*)(...))QTimer::~QTimer
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QTimer::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+   size=32 align=8
+   base size=29 base align=8
+QTimer (0x0x7f916367ba90) 0
+    vptr=((& QTimer::_ZTV6QTimer) + 16u)
+  QObject (0x0x7f91636e48a0) 0
+      primary-for QTimer (0x0x7f916367ba90)
+
+Class QTimeZone::OffsetData
+   size=32 align=8
+   base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f9163408720) 0
+
+Class QTimeZone
+   size=8 align=8
+   base size=8 base align=8
+QTimeZone (0x0x7f91634086c0) 0
+
+Class QTranslator::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f9163408cc0) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI11QTranslator)
+16    (int (*)(...))QTranslator::metaObject
+24    (int (*)(...))QTranslator::qt_metacast
+32    (int (*)(...))QTranslator::qt_metacall
+40    (int (*)(...))QTranslator::~QTranslator
+48    (int (*)(...))QTranslator::~QTranslator
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))QTranslator::translate
+120   (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+   size=16 align=8
+   base size=16 base align=8
+QTranslator (0x0x7f9163402d00) 0
+    vptr=((& QTranslator::_ZTV11QTranslator) + 16u)
+  QObject (0x0x7f9163408c60) 0
+      primary-for QTranslator (0x0x7f9163402d00)
+
+Class QUrl
+   size=8 align=8
+   base size=8 base align=8
+QUrl (0x0x7f9163408de0) 0
+
+Class QUrlQuery
+   size=8 align=8
+   base size=8 base align=8
+QUrlQuery (0x0x7f91635694e0) 0
+
+Class QUuid
+   size=16 align=4
+   base size=16 base align=4
+QUuid (0x0x7f91635697e0) 0
+
+Class QWaitCondition
+   size=8 align=8
+   base size=8 base align=8
+QWaitCondition (0x0x7f9163569a80) 0
+
+Class QXmlStreamStringRef
+   size=16 align=8
+   base size=16 base align=8
+QXmlStreamStringRef (0x0x7f9163569ae0) 0
+
+Class QXmlStreamAttribute
+   size=80 align=8
+   base size=73 base align=8
+QXmlStreamAttribute (0x0x7f9163280f00) 0
+
+Class QXmlStreamAttributes
+   size=8 align=8
+   base size=8 base align=8
+QXmlStreamAttributes (0x0x7f916329e6e8) 0
+  QVector<QXmlStreamAttribute> (0x0x7f91632d0300) 0
+
+Class QXmlStreamNamespaceDeclaration
+   size=40 align=8
+   base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f91632d0360) 0
+
+Class QXmlStreamNotationDeclaration
+   size=56 align=8
+   base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f91632d0600) 0
+
+Class QXmlStreamEntityDeclaration
+   size=88 align=8
+   base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f91632d08a0) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16    (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24    (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32    (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40    (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+   size=8 align=8
+   base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f91632d0b40) 0 nearly-empty
+    vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16u)
+
+Class QXmlStreamReader
+   size=8 align=8
+   base size=8 base align=8
+QXmlStreamReader (0x0x7f91632d0ba0) 0
+
+Class QXmlStreamWriter
+   size=8 align=8
+   base size=8 base align=8
+QXmlStreamWriter (0x0x7f91632d0cc0) 0
+
+Class QNdefRecord
+   size=8 align=8
+   base size=8 base align=8
+QNdefRecord (0x0x7f91632d0de0) 0
+
+Class QNdefFilter::Record
+   size=24 align=8
+   base size=24 base align=8
+QNdefFilter::Record (0x0x7f91632d0f00) 0
+
+Class QNdefFilter
+   size=8 align=8
+   base size=8 base align=8
+QNdefFilter (0x0x7f91632d0ea0) 0
+
+Class QNdefMessage
+   size=8 align=8
+   base size=8 base align=8
+QNdefMessage (0x0x7f916329ea90) 0
+  QList<QNdefRecord> (0x0x7f916329ed00) 0
+    QListSpecialMethods<QNdefRecord> (0x0x7f91633df120) 0 empty
+
+Class QNdefNfcTextRecord
+   size=8 align=8
+   base size=8 base align=8
+QNdefNfcTextRecord (0x0x7f916329edd0) 0
+  QNdefRecord (0x0x7f91633df300) 0
+
+Class QNdefNfcUriRecord
+   size=8 align=8
+   base size=8 base align=8
+QNdefNfcUriRecord (0x0x7f9163035000) 0
+  QNdefRecord (0x0x7f91633df360) 0
+
+Class QNdefNfcIconRecord
+   size=8 align=8
+   base size=8 base align=8
+QNdefNfcIconRecord (0x0x7f9163035068) 0
+  QNdefRecord (0x0x7f91633df3c0) 0
+
+Class QNdefNfcSmartPosterRecord
+   size=16 align=8
+   base size=16 base align=8
+QNdefNfcSmartPosterRecord (0x0x7f91630350d0) 0
+  QNdefRecord (0x0x7f91633df420) 0
+
+Class QNearFieldTarget::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QNearFieldTarget::QPrivateSignal (0x0x7f91633df540) 0 empty
+
+Class QNearFieldTarget::RequestId
+   size=8 align=8
+   base size=8 base align=8
+QNearFieldTarget::RequestId (0x0x7f91633df5a0) 0
+
+Vtable for QNearFieldTarget
+QNearFieldTarget::_ZTV16QNearFieldTarget: 25u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI16QNearFieldTarget)
+16    (int (*)(...))QNearFieldTarget::metaObject
+24    (int (*)(...))QNearFieldTarget::qt_metacast
+32    (int (*)(...))QNearFieldTarget::qt_metacall
+40    0u
+48    0u
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+112   (int (*)(...))__cxa_pure_virtual
+120   (int (*)(...))QNearFieldTarget::url
+128   (int (*)(...))__cxa_pure_virtual
+136   (int (*)(...))__cxa_pure_virtual
+144   (int (*)(...))QNearFieldTarget::hasNdefMessage
+152   (int (*)(...))QNearFieldTarget::readNdefMessages
+160   (int (*)(...))QNearFieldTarget::writeNdefMessages
+168   (int (*)(...))QNearFieldTarget::sendCommand
+176   (int (*)(...))QNearFieldTarget::sendCommands
+184   (int (*)(...))QNearFieldTarget::waitForRequestCompleted
+192   (int (*)(...))QNearFieldTarget::handleResponse
+
+Class QNearFieldTarget
+   size=24 align=8
+   base size=24 base align=8
+QNearFieldTarget (0x0x7f9163035138) 0
+    vptr=((& QNearFieldTarget::_ZTV16QNearFieldTarget) + 16u)
+  QObject (0x0x7f91633df4e0) 0
+      primary-for QNearFieldTarget (0x0x7f9163035138)
+
+Class QNearFieldManager::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QNearFieldManager::QPrivateSignal (0x0x7f91633df960) 0 empty
+
+Vtable for QNearFieldManager
+QNearFieldManager::_ZTV17QNearFieldManager: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI17QNearFieldManager)
+16    (int (*)(...))QNearFieldManager::metaObject
+24    (int (*)(...))QNearFieldManager::qt_metacast
+32    (int (*)(...))QNearFieldManager::qt_metacall
+40    (int (*)(...))QNearFieldManager::~QNearFieldManager
+48    (int (*)(...))QNearFieldManager::~QNearFieldManager
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QNearFieldManager
+   size=24 align=8
+   base size=24 base align=8
+QNearFieldManager (0x0x7f9163035270) 0
+    vptr=((& QNearFieldManager::_ZTV17QNearFieldManager) + 16u)
+  QObject (0x0x7f91633df900) 0
+      primary-for QNearFieldManager (0x0x7f9163035270)
+
+Class QNearFieldShareManager::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QNearFieldShareManager::QPrivateSignal (0x0x7f91633dfba0) 0 empty
+
+Vtable for QNearFieldShareManager
+QNearFieldShareManager::_ZTV22QNearFieldShareManager: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI22QNearFieldShareManager)
+16    (int (*)(...))QNearFieldShareManager::metaObject
+24    (int (*)(...))QNearFieldShareManager::qt_metacast
+32    (int (*)(...))QNearFieldShareManager::qt_metacall
+40    (int (*)(...))QNearFieldShareManager::~QNearFieldShareManager
+48    (int (*)(...))QNearFieldShareManager::~QNearFieldShareManager
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QNearFieldShareManager
+   size=24 align=8
+   base size=24 base align=8
+QNearFieldShareManager (0x0x7f9163035410) 0
+    vptr=((& QNearFieldShareManager::_ZTV22QNearFieldShareManager) + 16u)
+  QObject (0x0x7f91633dfb40) 0
+      primary-for QNearFieldShareManager (0x0x7f9163035410)
+
+Class QNearFieldShareTarget::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QNearFieldShareTarget::QPrivateSignal (0x0x7f91633dfea0) 0 empty
+
+Vtable for QNearFieldShareTarget
+QNearFieldShareTarget::_ZTV21QNearFieldShareTarget: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI21QNearFieldShareTarget)
+16    (int (*)(...))QNearFieldShareTarget::metaObject
+24    (int (*)(...))QNearFieldShareTarget::qt_metacast
+32    (int (*)(...))QNearFieldShareTarget::qt_metacall
+40    (int (*)(...))QNearFieldShareTarget::~QNearFieldShareTarget
+48    (int (*)(...))QNearFieldShareTarget::~QNearFieldShareTarget
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QNearFieldShareTarget
+   size=24 align=8
+   base size=24 base align=8
+QNearFieldShareTarget (0x0x7f9163035548) 0
+    vptr=((& QNearFieldShareTarget::_ZTV21QNearFieldShareTarget) + 16u)
+  QObject (0x0x7f91633dfe40) 0
+      primary-for QNearFieldShareTarget (0x0x7f9163035548)
+
+Class QQmlNdefRecord::QPrivateSignal
+   size=1 align=1
+   base size=0 base align=1
+QQmlNdefRecord::QPrivateSignal (0x0x7f91633dff60) 0 empty
+
+Vtable for QQmlNdefRecord
+QQmlNdefRecord::_ZTV14QQmlNdefRecord: 14u entries
+0     (int (*)(...))0
+8     (int (*)(...))(& _ZTI14QQmlNdefRecord)
+16    (int (*)(...))QQmlNdefRecord::metaObject
+24    (int (*)(...))QQmlNdefRecord::qt_metacast
+32    (int (*)(...))QQmlNdefRecord::qt_metacall
+40    (int (*)(...))QQmlNdefRecord::~QQmlNdefRecord
+48    (int (*)(...))QQmlNdefRecord::~QQmlNdefRecord
+56    (int (*)(...))QObject::event
+64    (int (*)(...))QObject::eventFilter
+72    (int (*)(...))QObject::timerEvent
+80    (int (*)(...))QObject::childEvent
+88    (int (*)(...))QObject::customEvent
+96    (int (*)(...))QObject::connectNotify
+104   (int (*)(...))QObject::disconnectNotify
+
+Class QQmlNdefRecord
+   size=24 align=8
+   base size=24 base align=8
+QQmlNdefRecord (0x0x7f91630355b0) 0
+    vptr=((& QQmlNdefRecord::_ZTV14QQmlNdefRecord) + 16u)
+  QObject (0x0x7f91633dff00) 0
+      primary-for QQmlNdefRecord (0x0x7f91630355b0)
+
diff --git a/tests/auto/qndefnfcsmartposterrecord/BLACKLIST b/tests/auto/qndefnfcsmartposterrecord/BLACKLIST
deleted file mode 100644
index 055362207ef1802722b56771ede08ce2d632af15..0000000000000000000000000000000000000000
--- a/tests/auto/qndefnfcsmartposterrecord/BLACKLIST
+++ /dev/null
@@ -1,3 +0,0 @@
-[tst_action]
-# QTBUG-20268
-b2qt
diff --git a/tests/bttestui/btlocaldevice.cpp b/tests/bttestui/btlocaldevice.cpp
index 5b84794cda312973b197c68e35f049a8db4fce39..77696853f730ec5a64a672a123eff06158d1a03a 100644
--- a/tests/bttestui/btlocaldevice.cpp
+++ b/tests/bttestui/btlocaldevice.cpp
@@ -29,12 +29,18 @@
 #include "btlocaldevice.h"
 #include <QDebug>
 #include <QTimer>
+#ifdef Q_OS_ANDROID
+#include <QtAndroidExtras/QtAndroid>
+#endif
 #include <QtBluetooth/QBluetoothServiceInfo>
 
 #define BTCHAT_DEVICE_ADDR "00:15:83:38:17:C3"
 
 //same uuid as examples/bluetooth/btchat
+//the reverse UUID is only used on Android to counter
+//https://issuetracker.google.com/issues/37076498 (tracked via QTBUG-61392)
 #define TEST_SERVICE_UUID "e8e10f95-1a70-4b27-9ccf-02010264e9c8"
+#define TEST_REVERSE_SERVICE_UUID "c8e96402-0102-cf9c-274b-701a950fe1e8"
 
 #define SOCKET_PROTOCOL QBluetoothServiceInfo::RfcommProtocol
 //#define SOCKET_PROTOCOL QBluetoothServiceInfo::L2capProtocol
@@ -270,7 +276,7 @@ void BtLocalDevice::startDiscovery()
 {
     if (deviceAgent) {
         qDebug() << "###### Starting device discovery process";
-        deviceAgent->start();
+        deviceAgent->start(QBluetoothDeviceDiscoveryAgent::ClassicMethod);
     }
 }
 
@@ -328,7 +334,15 @@ void BtLocalDevice::serviceDiscovered(const QBluetoothServiceInfo &info)
     qDebug() << "$$ Found new service" << info.device().address().toString()
              << info.serviceUuid() << info.serviceName() << info.serviceDescription() << classIds;
 
-    if (info.serviceUuid() == QBluetoothUuid(QString(TEST_SERVICE_UUID))
+    bool matchingService =
+            (info.serviceUuid() == QBluetoothUuid(QString(TEST_SERVICE_UUID)));
+#ifdef Q_OS_ANDROID
+    if (QtAndroid::androidSdkVersion() >= 23) //bug introduced by Android 6.0.1
+        matchingService = matchingService
+            || (info.serviceUuid() == QBluetoothUuid(QString(TEST_REVERSE_SERVICE_UUID)));
+#endif
+
+    if (matchingService
             || info.serviceClassUuids().contains(QBluetoothUuid(QString(TEST_SERVICE_UUID))))
     {
         //This is here to detect the test server for SPP testing later on
diff --git a/tests/bttestui/bttestui.pro b/tests/bttestui/bttestui.pro
index 062486915708e48ce6122f6f25e3dcd28dc12284..ce582e66769fe5c8ab364e794a47fab071b0721f 100644
--- a/tests/bttestui/bttestui.pro
+++ b/tests/bttestui/bttestui.pro
@@ -6,6 +6,8 @@ SOURCES += main.cpp \
 
 QT += quick bluetooth
 
+android: QT += androidextras
+
 OTHER_FILES += main.qml \
     Button.qml